[{"data":1,"prerenderedAt":105837},["ShallowReactive",2],{"docs-routename-\u002Fdocs\u002Fcore-tech\u002Flelantus-mw":3,"docs-\u002Fdocs\u002Fcore-tech\u002Flelantus-mw":4,"docs-surround-\u002Fdocs\u002Fcore-tech\u002Flelantus-mw":782,"docs-category-\u002Fdocs\u002Fcore-tech":791,"docs-index-\u002Fdocs\u002Fcore-tech":105580},"\u002Fdocs\u002Fcore-tech\u002Flelantus-mw",{"id":5,"title":6,"body":7,"description":13,"extension":775,"image":776,"meta":777,"navTitle":776,"navigation":778,"path":3,"seo":779,"stem":780,"__hash__":781},"docs\u002Fdocs\u002Fcore-tech\u002FLelantus-MW.md","Lelantus MW",{"type":8,"value":9,"toc":759},"minimark",[10,14,25,30,39,42,47,50,68,71,82,85,88,115,118,121,128,131,135,141,153,171,175,178,185,196,199,202,231,234,261,264,267,283,287,290,301,304,353,357,360,369,372,376,379,386,393,396,413,423,433,449,452,491,495,501,504,517,524,542,545,564,576,579,605,608,611,658,661,715,720,723,727,749,753,756],[11,12,13],"p",{},"Linkability is the Achilles' heel of MW.",[11,15,16,17,24],{},"Beam has several ",[18,19,23],"a",{"href":20,"rel":21},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FTransaction-graph-obfuscation",[22],"nofollow","improvements"," to the original MW to obfuscate the transaction graph. Now we're building a hybrid, of MW and Lelantus, which should be a huge step forward in this direction.",[26,27,29],"h2",{"id":28},"disclaimer","Disclaimer",[11,31,32,33,38],{},"The ",[18,34,37],{"href":35,"rel":36},"https:\u002F\u002Flelantus.io\u002F",[22],"Lelantus protocol"," is the work of Zcoin's cryptographer Aram Jivanyan as part of its research to improve its privacy protocol.",[11,40,41],{},"Our design and implementation are based on the publicly-available Lelantus scientific paper. All our code was developed from scratch based on this paper alone.",[43,44,46],"h1",{"id":45},"our-design","Our design",[11,48,49],{},"To fit our needs and utilize the full power of MW we made several modifications to the original protocol.",[51,52,53,62,65],"ol",{},[54,55,56,57,61],"li",{},"Instead of focusing on transaction types described in the paper (Mint, Spend, Joint-Split) we implement this in terms of ",[58,59,60],"em",{},"primitives",", which can be combined and used in various transaction types.",[54,63,64],{},"Minted\u002Fspent values are never revealed.",[54,66,67],{},"We use other technique to prove the transaction balance. We removed the balance proof from the original Lelantus protocol, hence it's now closer to the original Sigma protocol by Jens Groth.",[11,69,70],{},"MW blockchain consists of the following objects (primitives):",[51,72,73,76,79],{},[54,74,75],{},"Inputs - references to existing UTXOs, that are being spent",[54,77,78],{},"Outputs",[54,80,81],{},"Transaction kernels",[11,83,84],{},"Our design, which we call Lelantus-MW, keeps this structure, and the Balance-to-zero principle also holds.\nAll those 3 object types, however, are modified to support Lelantus.",[11,86,87],{},"We use the following notation in the code:",[89,90,91,98,104],"ul",{},[54,92,93,97],{},[94,95,96],"strong",{},"G"," - generator (nothing-up-my-sleeve EC point) multiplied by UTXO blinding factor",[54,99,100,103],{},[94,101,102],{},"H"," - generator multiplied by UTXO Value",[54,105,106,109,110,114],{},[94,107,108],{},"J"," - generator multiplied by UTXO 2",[111,112,113],"sup",{},"nd"," blinding factor (i.e. double-blinded commitment).",[26,116,78],{"id":117},"outputs",[11,119,120],{},"Normal MW output consists of a Pedersen commitment (EC point) and the Bulletproof signature. After validation it's added to the UTXO set, and later can be referenced as inputs in consequent blocks\u002Ftransactions.",[11,122,123,124,127],{},"The modified output, used in Lelantus, is called ",[58,125,126],{},"Shielded"," output. Unlike normal output, shielded output is double-blinded, hence its bulletproof is (slightly) extended.",[11,129,130],{},"After validation it's added to the Shielded pool (rather than UTXO set).",[26,132,134],{"id":133},"kernels","Kernels",[11,136,137,138,140],{},"As we said, shielded outputs are double-blinded. Hence, in order to keep the balance-to-zero principle, transaction kernels can optionally contain the 2",[111,139,113],{}," blinding factor excess as well. So that transactions are allowed to have excess of both blinding factors, but not the value (obviously).",[11,142,143,144,148,149],{},"Such kernels are signed by ",[145,146,147],"u",{},"generalized Schnorr's signature"," (rather than normal Schnorr's signature), to prove that their revealed commitment is indeed of the form ",[150,151,152],"code",{},"k*G + s*J",[11,154,155,159,160,163,164,167,168,170],{},[156,157,158],"b",{},"Note:"," the generalized Schnorr's signature does not reveal which part of the kernel commitment is due to each of the blinding factors. I.e. the attacker can't split it into ",[150,161,162],{},"k*G"," and ",[150,165,166],{},"s*J",". This is important, as the 2",[111,169,113],{}," blinding factor (a.k.a. serial number) eventually gets revealed, there is still no way to identify its corresponding transaction kernel.",[26,172,174],{"id":173},"inputs","Inputs",[11,176,177],{},"Normal inputs are just commitments (EC points) that correspond to previous outputs that must be in the current UTXO set.",[11,179,180,181,184],{},"Shielded inputs, in addition to the commitment, have the ",[145,182,183],{},"Spend Proof",", which proves that:",[89,186,187,190,193],{},[54,188,189],{},"A valid shielded element is being-spent",[54,191,192],{},"No double-spend",[54,194,195],{},"The specified input commitment encodes the value equal to the one being spent (with different blinding factor though).",[43,197,183],{"id":198},"spend-proof",[11,200,201],{},"In the original Lelantus paper the proof idea is the following:",[89,203,204,210,216,223],{},[54,205,206,207],{},"Convert the revealed public Spend Key into serial number ",[150,208,209],{},"s",[54,211,212,213,215],{},"Subtract (methodically) ",[150,214,166],{}," from each commitment in the referenced anonymity set (a.k.a. cmList)",[54,217,218,219,222],{},"Prove the knowledge of the opening of one of the elements in the form of ",[150,220,221],{},"k*G + v*H",", i.e. without the serial number",[54,224,225,226],{},"Additionally prove that the revealed being-extracted value corresponds to the value of that element\n",[89,227,228],{},[54,229,230],{},"For this the original Sigma protocol was modified",[11,232,233],{},"We modified it into the following:",[89,235,236,240,250,256],{},[54,237,206,238],{},[150,239,209],{},[54,241,242,243,246,247,249],{},"Prove that the revealed commitment ",[150,244,245],{},"C"," is of the form ",[150,248,221],{},", i.e. does not conceal additional serial number",[54,251,212,252,255],{},[150,253,254],{},"s*J + C"," from each commitment in the referenced anonymity set",[54,257,218,258,260],{},[150,259,162],{}," only, i.e. without the serial number or additional value",[11,262,263],{},"In such a scheme there is no need to provide additional balance proof, since the value of extracted commitment should be the same as of the element being-spent. Because of this there is also no need to prove the value is non-negative (by bulletproof), as it was already proven when the element was added to the shielded pool.",[11,265,266],{},"So, the whole Spend proof, in addition to the commitment being-extracted, contains the following:",[89,268,269,274,277],{},[54,270,271,272],{},"Generalized Schnorr's proof that this commitment is of the form ",[150,273,221],{},[54,275,276],{},"Public spend key, and the whole spend proof is signed by the appropriate private key",[54,278,279,280,282],{},"Standard 1-out-of-N Sigma protocol in terms of a single ",[150,281,96],{},"-generator only.",[26,284,286],{"id":285},"compared-to-original-lelantus-paper","Compared to original Lelantus paper",[11,288,289],{},"What is similar:",[89,291,292,295,298],{},[54,293,294],{},"Shielded outputs are double-blinded, with the appropriate (extended) bulletproof signature",[54,296,297],{},"To spend a shielded element the public Spend Key must be revealed, and the Spend Proof must be signed by the appropriate private key",[54,299,300],{},"Spend proof is also based on the 1-out-of-N Sigma protocol (by Jens Groth)",[11,302,303],{},"What is different:",[89,305,306,328,331,334],{},[54,307,308,309],{},"Rather than specifying transactions, Lelantus-MW is formulated in terms of inputs and outputs (i.e. MW-style). Hence:\n",[89,310,311,314,317],{},[54,312,313],{},"Just a single type of shielded input and output primitive is enough",[54,315,316],{},"Transactions are easily merged (as usual)",[54,318,319,320],{},"Despite better size and verification time, we don't implement multi-input spend proofs.\n",[89,321,322,325],{},[54,323,324],{},"Limiting all the inputs to the same anonymity set seems to be practically restricting",[54,326,327],{},"This also potentially reveals their linkability",[54,329,330],{},"Added\u002Fspent values are never revealed",[54,332,333],{},"Separate balance proof is not required: it's an inherent part of each MW block\u002Ftransaction.",[54,335,336,337],{},"Spend proof is improved\n",[89,338,339,342,345],{},[54,340,341],{},"Implemented in terms of classical (unmodified) Sigma protocol",[54,343,344],{},"Significantly smaller size",[54,346,347,348],{},"Better verification time\n",[89,349,350],{},[54,351,352],{},"Significant in batch mode, when all the proofs refer to the same anonymity set",[43,354,356],{"id":355},"direct-anonymous-payments","Direct anonymous payments",[11,358,359],{},"In classical MW payments are interactive, and this is unavoidable: payment means creating an UTXO for someone else, however in order to create such an UTXO and its bulletproof the creator needs its blinding factor, hence it owns it, means it must be the payee.",[11,361,362,363,368],{},"We ",[18,364,367],{"href":365,"rel":366},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FOne-side-payments",[22],"designed"," a mechanism to allow one-side payments after initial setup (currently fully supported in Node, but not in the wallet), however it's less anonymous, and the functionality is limited.",[11,370,371],{},"Lelantus doesn't have this limitation. It's possible to create a shielded output, such that the creator itself can't spend (thanks to the idea with Spend pubkey). What's remaining is the \"coloring\" scheme of the shielded output, i.e. how to make it distinguishable to the payee only, but not to others, including those that pay to the same payee.",[26,373,375],{"id":374},"standard-bulletproof-coloring-scheme","Standard bulletproof coloring scheme",[11,377,378],{},"(based on the coloring scheme used by secp256k1 library)",[11,380,381,382,385],{},"Our standard UTXO coloring scheme allows to embed an arbitrary 255-bits long description. In practice we use 24-byte description, which we call ",[58,383,384],{},"Coin ID",".",[11,387,388,389,392],{},"During bulletproof construction various nonces are generated. Those nonces are generated in a deterministic way from the public (visible) UTXO commitment, and a secret ",[58,390,391],{},"coloring seed"," (not necessarily the one used to generate the blinding factor).",[11,394,395],{},"In particular the following is performed",[89,397,398,401,404,407],{},[54,399,400],{},"α - generated nonce",[54,402,403],{},"ρ - generated nonce",[54,405,406],{},"x - challenge",[54,408,409,410],{},"Revealed: ",[150,411,412],{},"μ = α + ρ*x",[11,414,415,416,419,420,385],{},"In order to embed meta-data into UTXO, the creator converts it into a scalar ",[150,417,418],{},"β"," (possible for every 255-bit data), and adds it to the originally-generated nonce ",[150,421,422],{},"α",[11,424,425,426,429,430,385],{},"So, the revealed ",[150,427,428],{},"μ"," is calculated as: ",[150,431,432],{},"μ = α + β + ρ*x",[11,434,435,436,438,439,441,442,445,446,448],{},"In order to recognize such an UTXO one needs the same secret ",[58,437,391],{},". It generates the same ",[150,440,422],{},", ",[150,443,444],{},"ρ",", and then recovers ",[150,447,418],{}," and the embedded parameters:",[11,450,451],{},"The recognition process goes as following:",[89,453,454,464,471,477,483,488],{},[54,455,456,457,441,459,461,462],{},"Generate ",[150,458,422],{},[150,460,444],{}," from the UTXO commitment and the ",[58,463,391],{},[54,465,466,467,470],{},"Calculate the challenge ",[150,468,469],{},"x"," (from the revealed bulletproof transcript)",[54,472,473,474],{},"Calculate ",[150,475,476],{},"β = μ - α - ρ*x",[54,478,479,480,482],{},"Decode the ",[58,481,384],{},", see if this makes sense (in particular it may have only 24 trailing non-zero bytes)",[54,484,485,486],{},"Recreate the UTXO commitment from the master secret and the extracted ",[58,487,384],{},[54,489,490],{},"Check if the obtained commitment is correct",[26,492,494],{"id":493},"advanced-coloring","Advanced coloring",[11,496,497,498,500],{},"So far the above scheme is suitable for coloring the shielded double-blind UTXO, but it's not anonymous: anyone with the same ",[58,499,391],{}," can identify such an UTXO",[11,502,503],{},"To overcome this limitation we use an additional step. We'll encode the embedded meta-data using the Diffie-Hellman encoding scheme.",[11,505,506,507,510,511,514,515,385],{},"The payee creates a private\u002Fpublic key pair, which we call ",[58,508,509],{},"encoding key",". The ",[58,512,513],{},"encoding pubkey"," is given to the payer, along with the ",[58,516,391],{},[11,518,519,520,523],{},"During the bulletproof construction, among other things, the creator reveals the ",[150,521,522],{},"T1"," commitment, which is used to hide the blinding factors. In case of double-blinded bulletproof it's calculated as:",[89,525,526,531],{},[54,527,528],{},[150,529,530],{},"T1 = n1 * G + n2 * J",[54,532,533,441,536,539,540],{},[150,534,535],{},"n1",[150,537,538],{},"n2"," - nonces, generated deterministically from the UTXO commitment and the ",[58,541,391],{},[11,543,544],{},"Now we'll add another nonce to this:",[89,546,547,552],{},[54,548,549],{},[150,550,551],{},"T1 = (n1 + n3) * G + n2 + J",[54,553,554,557,558,561,562],{},[150,555,556],{},"n3"," - ",[94,559,560],{},"random"," nonce, i.e. can't be recovered from the ",[58,563,391],{},[11,565,566,567,569,570,572,573,385],{},"So, using the ",[58,568,391],{}," it's not possible to recover ",[150,571,556],{},", but it's possible to obtain ",[150,574,575],{},"n3 * G",[11,577,578],{},"Finally, both payer and payee calculate the same secret:",[89,580,581,593],{},[54,582,583,584],{},"Payer:\n",[89,585,586],{},[54,587,588,590,591],{},[150,589,556],{}," * ",[58,592,513],{},[54,594,595,596],{},"Payee:\n",[89,597,598],{},[54,599,600,590,602],{},[150,601,575],{},[58,603,604],{},"encoding private key",[11,606,607],{},"Finally the scheme goes as following:",[11,609,610],{},"Payer:",[89,612,613,618,624,639,647,655],{},[54,614,615,616],{},"Generate random nonce ",[150,617,556],{},[54,619,620,621],{},"Calculate shared secret point ",[150,622,623],{},"S = n3 * encoding pubkey",[54,625,626,627,630,631,634],{},"Convert X-coordinate of ",[150,628,629],{},"S"," to a scalar ",[150,632,633],{},"γ",[89,635,636],{},[54,637,638],{},"If it's too large and can't be converted (highly unlikely) - retry with different nonce",[54,640,641,642,644,645],{},"Add ",[150,643,633],{}," to the encoded meta-data ",[150,646,418],{},[54,648,641,649,651,652,654],{},[150,650,556],{}," to ",[150,653,535],{}," for the rest of the protocol",[54,656,657],{},"The rest is straight-forward",[11,659,660],{},"Payee:",[89,662,663,670,675,683,688,699,705,713],{},[54,664,665,666,441,668],{},"Generate the nonces ",[150,667,535],{},[150,669,538],{},[54,671,672,673],{},"Calculate the \"unmodified\" ",[150,674,522],{},[54,676,677,678,680,681],{},"Subtract it from the revealed ",[150,679,522],{}," to obtain ",[150,682,575],{},[54,684,620,685],{},[150,686,687],{},"n3 * G * encoding private key",[54,689,626,690,630,692,694],{},[150,691,629],{},[150,693,633],{},[89,695,696],{},[54,697,698],{},"If it's too large - skip the rest",[54,700,701,702,704],{},"Recover encoded meta-data ",[150,703,418],{}," (as usual)",[54,706,707,708,710,711],{},"Subtract ",[150,709,633],{}," from ",[150,712,418],{},[54,714,657],{},[716,717,719],"h3",{"id":718},"what-about-shielded-inputs","What about shielded inputs?",[11,721,722],{},"They are identified by the revealed Spend pubkey. The payee should track all the Spend pubkeys for shielded outputs it detected, and realize the spending once it sees the shielded input from the same Spend pubkey.",[716,724,726],{"id":725},"payee-address","Payee address",[11,728,729,730,732,733,735,736,738,739,741,742,744,745,748],{},"So far the payer needs the ",[58,731,391],{}," and the ",[58,734,513],{},". But they don't have to be different: a payee can provide the ",[58,737,513],{},", and the ",[58,740,391],{}," may be generated from it in a deterministic way.\nMoreover, since the ",[58,743,513],{}," is fully controlled by the payee - it can always make sure its ",[150,746,747],{},"Y","-coordinate is odd\u002Feven (by just negating the private key), hence providing only X-coordinate (32 bytes) is enough.",[716,750,752],{"id":751},"multiple-address","Multiple address?",[11,754,755],{},"Although in the above scheme a payer can not identify payments of others to the same payee, it may still be necessary to have multiple addresses. For instance, if payers share information, it may be necessary to conceal the fact that they pay to the same payee.",[11,757,758],{},"The above scheme is possible to extend to multiple addresses, they payee can generate arbitrary number of addresses. However there is no unified way for the payee to identify the payments: it needs to scan all the shielded outputs by all its generated addresses.",{"title":760,"searchDepth":761,"depth":761,"links":762},"",2,[763,764,765,766,767,768,769],{"id":28,"depth":761,"text":29},{"id":117,"depth":761,"text":78},{"id":133,"depth":761,"text":134},{"id":173,"depth":761,"text":174},{"id":285,"depth":761,"text":286},{"id":374,"depth":761,"text":375},{"id":493,"depth":761,"text":494,"children":770},[771,773,774],{"id":718,"depth":772,"text":719},3,{"id":725,"depth":772,"text":726},{"id":751,"depth":772,"text":752},"md",null,{},true,{"description":13},"docs\u002Fcore-tech\u002FLelantus-MW","TN9a6qqdytv7FBhrpa9g74mjR3KWWvJYSsVj9hDm6JY",[783,787],{"title":784,"path":785,"stem":786,"description":760,"children":-1},"Lelantus CLI (historical, Below V60)","\u002Fdocs\u002Fcore-tech\u002Flelantus-cli-(historical-below-v6.0)","docs\u002Fcore-tech\u002FLelantus-CLI-(historical,-below-v6.0)",{"title":788,"path":789,"stem":790,"description":760,"children":-1},"Lightning Network","\u002Fdocs\u002Fcore-tech\u002Flightning-network","docs\u002Fcore-tech\u002FLightning-Network",[792,826,2699,3467,3651,4389,4482,4912,5420,5592,5665,5721,6344,8062,8175,8261,8316,8745,10090,10640,10839,11242,12079,19459,29263,29283,41229,52938,65653,78292,80966,81207,81546,81804,82610,82854,82977,83436,83768,83863,84406,84792,85091,85680,86249,86345,86962,87479,87598,87820,88715,89219,89385,89648,89810,90329,90929,91774,92094,92376,92683,92751,94318,94561,94606,94797,94861,94934,95255,95318,95528,95616,95936,96109,96456,96543,96918,97049,97070,97271,97325,97577,97817,98480,98680,98932,98968,99545,99660,99827,99894,99995,102869,104844,105364,105463],{"id":793,"title":794,"body":795,"description":799,"extension":775,"image":776,"meta":821,"navTitle":776,"navigation":778,"path":822,"seo":823,"stem":824,"__hash__":825},"docs\u002Fdocs\u002Fcore-tech\u002FAVX.md","AVX",{"type":8,"value":796,"toc":819},[797,800,803,811],[11,798,799],{},"Advanced Vector Extensions (AVX, also known as Sandy Bridge New Extensions) are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge processor shipping in Q1 2011 and later on by AMD with the Bulldozer processor shipping in Q3 2011. AVX provides new features, new instructions and a new coding scheme.",[11,801,802],{},"For now we separate our builds in two categories:",[89,804,805,808],{},[54,806,807],{},"with AVX instructions set",[54,809,810],{},"without AVX instructions set",[11,812,813,814],{},"If you are not sure is the AVX support at your PC please check description of your processor.\n",[18,815,818],{"href":816,"rel":817},"https:\u002F\u002Fprntscr.com\u002Fllj7mj",[22],"Example",{"title":760,"searchDepth":761,"depth":761,"links":820},[],{},"\u002Fdocs\u002Fcore-tech\u002Favx",{"description":799},"docs\u002Fcore-tech\u002FAVX","2e4ARLnD9TSTzmIyRStYwfUiopciZB__ubsNITEH_gk",{"id":827,"title":828,"body":829,"description":760,"extension":775,"image":776,"meta":2694,"navTitle":776,"navigation":778,"path":2695,"seo":2696,"stem":2697,"__hash__":2698},"docs\u002Fdocs\u002Fcore-tech\u002FAdding-support-for-Beam-Confidential-Asset.md","Adding support for Beam Confidential Asset",{"type":8,"value":830,"toc":2688},[831,834,838,924,928,937,941,2684],[43,832,828],{"id":833},"adding-support-for-beam-confidential-asset",[26,835,837],{"id":836},"tldr","TLDR;",[51,839,840,843,850,858,874,894],{},[54,841,842],{},"In version 6.0 Beam supports Confidential Assets",[54,844,845,846,849],{},"Each asset has an ",[150,847,848],{},"asset_id",", 0 is for Beam and 1,2,3... for new Assets.",[54,851,852,853],{},"A complete list of existing assets is ",[18,854,857],{"href":855,"rel":856},"https:\u002F\u002Fexplorer.beam.mw\u002Fassets",[22],"here",[54,859,860,861,864,865],{},"To enable assets add the following line to the ",[150,862,863],{},"wallet-api"," config file",[866,867,872],"pre",{"className":868,"code":870,"language":871},[869],"language-text","enable_assets=true\n","text",[150,873,870],{"__ignoreMap":760},[54,875,876,877],{},"The following API calls have been updated to support assets:",[89,878,879,884,889],{},[54,880,881],{},[150,882,883],{},"wallet_status",[54,885,886],{},[150,887,888],{},"tx_send",[54,890,891],{},[150,892,893],{},"tx_split",[54,895,896,897],{},"New API methods have been added",[89,898,899,904,909,914,919],{},[54,900,901],{},[150,902,903],{},"tx_asset_issue",[54,905,906],{},[150,907,908],{},"tx_asset_consume",[54,910,911],{},[150,912,913],{},"tx_asset_info",[54,915,916],{},[150,917,918],{},"get_asset_info",[54,920,921],{},[150,922,923],{},"calc_change",[26,925,927],{"id":926},"confidential-assets","Confidential Assets",[11,929,930,931,936],{},"Confidential Assets (CA) are tokens mint on the Beam blockchain. Beam supports Confidential Assets since hard fork 2, but this feature had limited ability to be used in real life applications. Starting from the version 6.0 Beam Wallet adds ability to create smart contracts which make CA more usable and very important feature in Beam infrastructure. We already have ",[18,932,935],{"href":933,"rel":934},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#assets-support",[22],"API"," to work with CA, but it was disabled by default. If you wish to accept and create transactions with CA you should enable this feature in the wallet API and update your codebase to handle CA correctly.",[716,938,940],{"id":939},"enable-ca-support","Enable CA support",[89,942,943,965,1465,1612,1750,2038,2216,2388],{},[54,944,945,946,949,950,956,959,960],{},"run new binary with ",[150,947,948],{},"--enable_assets",". With this flag your wallet starts to accept transactions with Confidential Assets",[866,951,954],{"className":952,"code":953,"language":871},[869],".\u002Fwallet-api --enable_assets -n \u003Cnode address>\n",[150,955,953],{"__ignoreMap":760},[957,958],"br",{},"or specify it in config file",[866,961,963],{"className":962,"code":870,"language":871},[869],[150,964,870],{"__ignoreMap":760},[54,966,967,968,970,971,973,976,1039,1041,1044],{},"to retrieve info about assets use ",[150,969,883],{}," method, it will return an array of the info about assets in the wallet, including BEAM",[957,972],{},[150,974,975],{},"-->",[866,977,981],{"className":978,"code":979,"language":980,"meta":760,"style":760},"language-json shiki shiki-themes github-dark","{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"wallet_status\"\n}\n","json",[150,982,983,992,1008,1022,1033],{"__ignoreMap":760},[984,985,988],"span",{"class":986,"line":987},"line",1,[984,989,991],{"class":990},"s95oV","{\n",[984,993,994,998,1001,1005],{"class":986,"line":761},[984,995,997],{"class":996},"sDLfK","    \"jsonrpc\"",[984,999,1000],{"class":990},":",[984,1002,1004],{"class":1003},"sU2Wk","\"2.0\"",[984,1006,1007],{"class":990},", \n",[984,1009,1010,1013,1016,1019],{"class":986,"line":772},[984,1011,1012],{"class":996},"    \"id\"",[984,1014,1015],{"class":990},": ",[984,1017,1018],{"class":996},"6",[984,1020,1021],{"class":990},",\n",[984,1023,1025,1028,1030],{"class":986,"line":1024},4,[984,1026,1027],{"class":996},"    \"method\"",[984,1029,1000],{"class":990},[984,1031,1032],{"class":1003},"\"wallet_status\"\n",[984,1034,1036],{"class":986,"line":1035},5,[984,1037,1038],{"class":990},"}\n",[957,1040],{},[150,1042,1043],{},"\u003C--",[866,1045,1047],{"className":978,"code":1046,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 112,\n    \"current_state_hash\": \"b9e8b868de60f28e553a1499a569f481991e4cff9fe2191d09d71a03c7708296\",\n    \"difficulty\": 378.36236572265625,\n    \"prev_state_hash\": \"3f84da0b0390deaca908603b6061867def987575a1af9311248ffb01503a0f02\",\n    \"available\": 303000000000,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 8000000000,\n    \"locked\": 30,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 303000000000,\n        \"available_str\": \"303000000000\",\n        \"maturing\": 8000000000,\n        \"maturing_str\": \"8000000000\",\n        \"receiving\": 123,\n        \"receiving_str\": \"123\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,                    \u002F\u002F \u003C--------------- this could be used to send\u002Fsplit CA or to retrieve extended info\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[150,1048,1049,1053,1065,1076,1084,1096,1109,1122,1135,1148,1161,1174,1187,1200,1209,1215,1227,1239,1252,1264,1277,1289,1302,1314,1325,1331,1336,1353,1365,1377,1388,1400,1411,1422,1433,1442,1448,1454,1460],{"__ignoreMap":760},[984,1050,1051],{"class":986,"line":987},[984,1052,991],{"class":990},[984,1054,1055,1058,1060,1063],{"class":986,"line":761},[984,1056,1057],{"class":996},"  \"id\"",[984,1059,1015],{"class":990},[984,1061,1062],{"class":996},"1236",[984,1064,1021],{"class":990},[984,1066,1067,1070,1072,1074],{"class":986,"line":772},[984,1068,1069],{"class":996},"  \"jsonrpc\"",[984,1071,1015],{"class":990},[984,1073,1004],{"class":1003},[984,1075,1021],{"class":990},[984,1077,1078,1081],{"class":986,"line":1024},[984,1079,1080],{"class":996},"  \"result\"",[984,1082,1083],{"class":990},": {\n",[984,1085,1086,1089,1091,1094],{"class":986,"line":1035},[984,1087,1088],{"class":996},"    \"current_height\"",[984,1090,1015],{"class":990},[984,1092,1093],{"class":996},"112",[984,1095,1021],{"class":990},[984,1097,1099,1102,1104,1107],{"class":986,"line":1098},6,[984,1100,1101],{"class":996},"    \"current_state_hash\"",[984,1103,1015],{"class":990},[984,1105,1106],{"class":1003},"\"b9e8b868de60f28e553a1499a569f481991e4cff9fe2191d09d71a03c7708296\"",[984,1108,1021],{"class":990},[984,1110,1112,1115,1117,1120],{"class":986,"line":1111},7,[984,1113,1114],{"class":996},"    \"difficulty\"",[984,1116,1015],{"class":990},[984,1118,1119],{"class":996},"378.36236572265625",[984,1121,1021],{"class":990},[984,1123,1125,1128,1130,1133],{"class":986,"line":1124},8,[984,1126,1127],{"class":996},"    \"prev_state_hash\"",[984,1129,1015],{"class":990},[984,1131,1132],{"class":1003},"\"3f84da0b0390deaca908603b6061867def987575a1af9311248ffb01503a0f02\"",[984,1134,1021],{"class":990},[984,1136,1138,1141,1143,1146],{"class":986,"line":1137},9,[984,1139,1140],{"class":996},"    \"available\"",[984,1142,1015],{"class":990},[984,1144,1145],{"class":996},"303000000000",[984,1147,1021],{"class":990},[984,1149,1151,1154,1156,1159],{"class":986,"line":1150},10,[984,1152,1153],{"class":996},"    \"receiving\"",[984,1155,1015],{"class":990},[984,1157,1158],{"class":996},"123",[984,1160,1021],{"class":990},[984,1162,1164,1167,1169,1172],{"class":986,"line":1163},11,[984,1165,1166],{"class":996},"    \"sending\"",[984,1168,1015],{"class":990},[984,1170,1171],{"class":996},"0",[984,1173,1021],{"class":990},[984,1175,1177,1180,1182,1185],{"class":986,"line":1176},12,[984,1178,1179],{"class":996},"    \"maturing\"",[984,1181,1015],{"class":990},[984,1183,1184],{"class":996},"8000000000",[984,1186,1021],{"class":990},[984,1188,1190,1193,1195,1198],{"class":986,"line":1189},13,[984,1191,1192],{"class":996},"    \"locked\"",[984,1194,1015],{"class":990},[984,1196,1197],{"class":996},"30",[984,1199,1021],{"class":990},[984,1201,1203,1206],{"class":986,"line":1202},14,[984,1204,1205],{"class":996},"    \"totals\"",[984,1207,1208],{"class":990},": [\n",[984,1210,1212],{"class":986,"line":1211},15,[984,1213,1214],{"class":990},"      {\n",[984,1216,1218,1221,1223,1225],{"class":986,"line":1217},16,[984,1219,1220],{"class":996},"        \"asset_id\"",[984,1222,1015],{"class":990},[984,1224,1171],{"class":996},[984,1226,1021],{"class":990},[984,1228,1230,1233,1235,1237],{"class":986,"line":1229},17,[984,1231,1232],{"class":996},"        \"available\"",[984,1234,1015],{"class":990},[984,1236,1145],{"class":996},[984,1238,1021],{"class":990},[984,1240,1242,1245,1247,1250],{"class":986,"line":1241},18,[984,1243,1244],{"class":996},"        \"available_str\"",[984,1246,1015],{"class":990},[984,1248,1249],{"class":1003},"\"303000000000\"",[984,1251,1021],{"class":990},[984,1253,1255,1258,1260,1262],{"class":986,"line":1254},19,[984,1256,1257],{"class":996},"        \"maturing\"",[984,1259,1015],{"class":990},[984,1261,1184],{"class":996},[984,1263,1021],{"class":990},[984,1265,1267,1270,1272,1275],{"class":986,"line":1266},20,[984,1268,1269],{"class":996},"        \"maturing_str\"",[984,1271,1015],{"class":990},[984,1273,1274],{"class":1003},"\"8000000000\"",[984,1276,1021],{"class":990},[984,1278,1280,1283,1285,1287],{"class":986,"line":1279},21,[984,1281,1282],{"class":996},"        \"receiving\"",[984,1284,1015],{"class":990},[984,1286,1158],{"class":996},[984,1288,1021],{"class":990},[984,1290,1292,1295,1297,1300],{"class":986,"line":1291},22,[984,1293,1294],{"class":996},"        \"receiving_str\"",[984,1296,1015],{"class":990},[984,1298,1299],{"class":1003},"\"123\"",[984,1301,1021],{"class":990},[984,1303,1305,1308,1310,1312],{"class":986,"line":1304},23,[984,1306,1307],{"class":996},"        \"sending\"",[984,1309,1015],{"class":990},[984,1311,1171],{"class":996},[984,1313,1021],{"class":990},[984,1315,1317,1320,1322],{"class":986,"line":1316},24,[984,1318,1319],{"class":996},"        \"sending_str\"",[984,1321,1015],{"class":990},[984,1323,1324],{"class":1003},"\"0\"\n",[984,1326,1328],{"class":986,"line":1327},25,[984,1329,1330],{"class":990},"      },\n",[984,1332,1334],{"class":986,"line":1333},26,[984,1335,1214],{"class":990},[984,1337,1339,1341,1343,1346,1349],{"class":986,"line":1338},27,[984,1340,1220],{"class":996},[984,1342,1015],{"class":990},[984,1344,1345],{"class":996},"1",[984,1347,1348],{"class":990},",                    ",[984,1350,1352],{"class":1351},"sAwPA","\u002F\u002F \u003C--------------- this could be used to send\u002Fsplit CA or to retrieve extended info\n",[984,1354,1356,1358,1360,1363],{"class":986,"line":1355},28,[984,1357,1232],{"class":996},[984,1359,1015],{"class":990},[984,1361,1362],{"class":996},"2000000000",[984,1364,1021],{"class":990},[984,1366,1368,1370,1372,1375],{"class":986,"line":1367},29,[984,1369,1244],{"class":996},[984,1371,1015],{"class":990},[984,1373,1374],{"class":1003},"\"2000000000\"",[984,1376,1021],{"class":990},[984,1378,1380,1382,1384,1386],{"class":986,"line":1379},30,[984,1381,1257],{"class":996},[984,1383,1015],{"class":990},[984,1385,1171],{"class":996},[984,1387,1021],{"class":990},[984,1389,1391,1393,1395,1398],{"class":986,"line":1390},31,[984,1392,1269],{"class":996},[984,1394,1015],{"class":990},[984,1396,1397],{"class":1003},"\"0\"",[984,1399,1021],{"class":990},[984,1401,1403,1405,1407,1409],{"class":986,"line":1402},32,[984,1404,1282],{"class":996},[984,1406,1015],{"class":990},[984,1408,1171],{"class":996},[984,1410,1021],{"class":990},[984,1412,1414,1416,1418,1420],{"class":986,"line":1413},33,[984,1415,1294],{"class":996},[984,1417,1015],{"class":990},[984,1419,1397],{"class":1003},[984,1421,1021],{"class":990},[984,1423,1425,1427,1429,1431],{"class":986,"line":1424},34,[984,1426,1307],{"class":996},[984,1428,1015],{"class":990},[984,1430,1171],{"class":996},[984,1432,1021],{"class":990},[984,1434,1436,1438,1440],{"class":986,"line":1435},35,[984,1437,1319],{"class":996},[984,1439,1015],{"class":990},[984,1441,1324],{"class":1003},[984,1443,1445],{"class":986,"line":1444},36,[984,1446,1447],{"class":990},"      }\n",[984,1449,1451],{"class":986,"line":1450},37,[984,1452,1453],{"class":990},"    ]\n",[984,1455,1457],{"class":986,"line":1456},38,[984,1458,1459],{"class":990},"  }\n",[984,1461,1463],{"class":986,"line":1462},39,[984,1464,1038],{"class":990},[54,1466,1467,1468,1471,1472,1474,1476],{},"if you want to send or split CA you should specify ",[150,1469,1470],{},"\"asset_id\""," in parameters",[957,1473],{},[150,1475,975],{},[866,1477,1479],{"className":978,"code":1478,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_send\", \n    \"params\":\n    {\n        \"value\": 12342342,\n        \"fee\": 2,\n        \"from\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"address\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"comment\": \"thank you!\",\n        \"asset_id\": 1                   \u003C------------------ NEW\n    }\n}\n",[150,1480,1481,1485,1495,1506,1517,1525,1530,1542,1553,1565,1576,1588,1603,1608],{"__ignoreMap":760},[984,1482,1483],{"class":986,"line":987},[984,1484,991],{"class":990},[984,1486,1487,1489,1491,1493],{"class":986,"line":761},[984,1488,997],{"class":996},[984,1490,1000],{"class":990},[984,1492,1004],{"class":1003},[984,1494,1007],{"class":990},[984,1496,1497,1499,1501,1504],{"class":986,"line":772},[984,1498,1012],{"class":996},[984,1500,1015],{"class":990},[984,1502,1503],{"class":996},"2",[984,1505,1021],{"class":990},[984,1507,1508,1510,1512,1515],{"class":986,"line":1024},[984,1509,1027],{"class":996},[984,1511,1000],{"class":990},[984,1513,1514],{"class":1003},"\"tx_send\"",[984,1516,1007],{"class":990},[984,1518,1519,1522],{"class":986,"line":1035},[984,1520,1521],{"class":996},"    \"params\"",[984,1523,1524],{"class":990},":\n",[984,1526,1527],{"class":986,"line":1098},[984,1528,1529],{"class":990},"    {\n",[984,1531,1532,1535,1537,1540],{"class":986,"line":1111},[984,1533,1534],{"class":996},"        \"value\"",[984,1536,1015],{"class":990},[984,1538,1539],{"class":996},"12342342",[984,1541,1021],{"class":990},[984,1543,1544,1547,1549,1551],{"class":986,"line":1124},[984,1545,1546],{"class":996},"        \"fee\"",[984,1548,1015],{"class":990},[984,1550,1503],{"class":996},[984,1552,1021],{"class":990},[984,1554,1555,1558,1560,1563],{"class":986,"line":1137},[984,1556,1557],{"class":996},"        \"from\"",[984,1559,1015],{"class":990},[984,1561,1562],{"class":1003},"\"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"",[984,1564,1021],{"class":990},[984,1566,1567,1570,1572,1574],{"class":986,"line":1150},[984,1568,1569],{"class":996},"        \"address\"",[984,1571,1015],{"class":990},[984,1573,1562],{"class":1003},[984,1575,1021],{"class":990},[984,1577,1578,1581,1583,1586],{"class":986,"line":1163},[984,1579,1580],{"class":996},"        \"comment\"",[984,1582,1015],{"class":990},[984,1584,1585],{"class":1003},"\"thank you!\"",[984,1587,1021],{"class":990},[984,1589,1590,1592,1594,1596,1600],{"class":986,"line":1176},[984,1591,1220],{"class":996},[984,1593,1015],{"class":990},[984,1595,1345],{"class":996},[984,1597,1599],{"class":1598},"s6RL2","                   \u003C------------------",[984,1601,1602],{"class":1598}," NEW\n",[984,1604,1605],{"class":986,"line":1189},[984,1606,1607],{"class":990},"    }\n",[984,1609,1610],{"class":986,"line":1202},[984,1611,1038],{"class":990},[54,1613,1614,1615,1617,1619,1687,1689,1691],{},"if you want to get info about CA use",[957,1616],{},[150,1618,975],{},[866,1620,1622],{"className":978,"code":1621,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\": \"tx_asset_info\",\n    \"params\": \n    {\n        \"asset_id\": 1\n    }\n}\n",[150,1623,1624,1628,1638,1648,1659,1666,1670,1679,1683],{"__ignoreMap":760},[984,1625,1626],{"class":986,"line":987},[984,1627,991],{"class":990},[984,1629,1630,1632,1634,1636],{"class":986,"line":761},[984,1631,997],{"class":996},[984,1633,1000],{"class":990},[984,1635,1004],{"class":1003},[984,1637,1007],{"class":990},[984,1639,1640,1642,1644,1646],{"class":986,"line":772},[984,1641,1012],{"class":996},[984,1643,1015],{"class":990},[984,1645,1503],{"class":996},[984,1647,1021],{"class":990},[984,1649,1650,1652,1654,1657],{"class":986,"line":1024},[984,1651,1027],{"class":996},[984,1653,1015],{"class":990},[984,1655,1656],{"class":1003},"\"tx_asset_info\"",[984,1658,1021],{"class":990},[984,1660,1661,1663],{"class":986,"line":1035},[984,1662,1521],{"class":996},[984,1664,1665],{"class":990},": \n",[984,1667,1668],{"class":986,"line":1098},[984,1669,1529],{"class":990},[984,1671,1672,1674,1676],{"class":986,"line":1111},[984,1673,1220],{"class":996},[984,1675,1015],{"class":990},[984,1677,1678],{"class":996},"1\n",[984,1680,1681],{"class":986,"line":1124},[984,1682,1607],{"class":990},[984,1684,1685],{"class":986,"line":1137},[984,1686,1038],{"class":990},[957,1688],{},[150,1690,1043],{},[866,1692,1694],{"className":978,"code":1693,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"result\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\"\n    }\n}\n",[150,1695,1696,1700,1710,1720,1727,1731,1742,1746],{"__ignoreMap":760},[984,1697,1698],{"class":986,"line":987},[984,1699,991],{"class":990},[984,1701,1702,1704,1706,1708],{"class":986,"line":761},[984,1703,997],{"class":996},[984,1705,1000],{"class":990},[984,1707,1004],{"class":1003},[984,1709,1007],{"class":990},[984,1711,1712,1714,1716,1718],{"class":986,"line":772},[984,1713,1012],{"class":996},[984,1715,1015],{"class":990},[984,1717,1503],{"class":996},[984,1719,1021],{"class":990},[984,1721,1722,1725],{"class":986,"line":1024},[984,1723,1724],{"class":996},"    \"result\"",[984,1726,1524],{"class":990},[984,1728,1729],{"class":986,"line":1035},[984,1730,1529],{"class":990},[984,1732,1733,1736,1739],{"class":986,"line":1098},[984,1734,1735],{"class":996},"        \"txId\"",[984,1737,1738],{"class":990}," : ",[984,1740,1741],{"class":1003},"\"10c4b760c842433cb58339a0fafef3db\"\n",[984,1743,1744],{"class":986,"line":1111},[984,1745,1607],{"class":990},[984,1747,1748],{"class":986,"line":1124},[984,1749,1038],{"class":990},[54,1751,1752,1753,1755,1757,1824,1831,1833,1835,1971,1973,1974,385,1978],{},"after this transaction become completed, you can read CA info from the local database",[957,1754],{},[150,1756,975],{},[866,1758,1760],{"className":978,"code":1759,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\": \"get_asset_info\",\n    \"params\" :\n    {\n        \"asset_id\": 1\n    }\n}\n",[150,1761,1762,1766,1776,1786,1797,1804,1808,1816,1820],{"__ignoreMap":760},[984,1763,1764],{"class":986,"line":987},[984,1765,991],{"class":990},[984,1767,1768,1770,1772,1774],{"class":986,"line":761},[984,1769,997],{"class":996},[984,1771,1000],{"class":990},[984,1773,1004],{"class":1003},[984,1775,1007],{"class":990},[984,1777,1778,1780,1782,1784],{"class":986,"line":772},[984,1779,1012],{"class":996},[984,1781,1015],{"class":990},[984,1783,1018],{"class":996},[984,1785,1021],{"class":990},[984,1787,1788,1790,1792,1795],{"class":986,"line":1024},[984,1789,1027],{"class":996},[984,1791,1015],{"class":990},[984,1793,1794],{"class":1003},"\"get_asset_info\"",[984,1796,1021],{"class":990},[984,1798,1799,1801],{"class":986,"line":1035},[984,1800,1521],{"class":996},[984,1802,1803],{"class":990}," :\n",[984,1805,1806],{"class":986,"line":1098},[984,1807,1529],{"class":990},[984,1809,1810,1812,1814],{"class":986,"line":1111},[984,1811,1220],{"class":996},[984,1813,1015],{"class":990},[984,1815,1678],{"class":996},[984,1817,1818],{"class":986,"line":1124},[984,1819,1607],{"class":990},[984,1821,1822],{"class":986,"line":1137},[984,1823,1038],{"class":990},[89,1825,1826],{},[54,1827,1828,1830],{},[150,1829,848],{}," asset id to retrieve info about. Can be used for any asset even if you don't own it.",[957,1832],{},[150,1834,1043],{},[866,1836,1838],{"className":978,"code":1837,"language":980,"meta":760,"style":760},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": \n    {\n        \"asset_id\": 1,\n        \"emission\": 2000000000,\n        \"emission_str\": \"2000000000\",\n        \"isOwned\": 1,\n        \"lockHeight\": 39,\n        \"metadata\": \"STD:N=NAME;SN=SNM;UN=UNIT;NTHUN=NTHUNIT\",\n        \"ownerId\": \"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\",\n        \"refreshHeight\": 927\n    }\n}\n",[150,1839,1840,1844,1854,1864,1870,1874,1884,1895,1906,1917,1929,1941,1953,1963,1967],{"__ignoreMap":760},[984,1841,1842],{"class":986,"line":987},[984,1843,991],{"class":990},[984,1845,1846,1848,1850,1852],{"class":986,"line":761},[984,1847,1012],{"class":996},[984,1849,1015],{"class":990},[984,1851,1062],{"class":996},[984,1853,1021],{"class":990},[984,1855,1856,1858,1860,1862],{"class":986,"line":772},[984,1857,997],{"class":996},[984,1859,1015],{"class":990},[984,1861,1004],{"class":1003},[984,1863,1021],{"class":990},[984,1865,1866,1868],{"class":986,"line":1024},[984,1867,1724],{"class":996},[984,1869,1665],{"class":990},[984,1871,1872],{"class":986,"line":1035},[984,1873,1529],{"class":990},[984,1875,1876,1878,1880,1882],{"class":986,"line":1098},[984,1877,1220],{"class":996},[984,1879,1015],{"class":990},[984,1881,1345],{"class":996},[984,1883,1021],{"class":990},[984,1885,1886,1889,1891,1893],{"class":986,"line":1111},[984,1887,1888],{"class":996},"        \"emission\"",[984,1890,1015],{"class":990},[984,1892,1362],{"class":996},[984,1894,1021],{"class":990},[984,1896,1897,1900,1902,1904],{"class":986,"line":1124},[984,1898,1899],{"class":996},"        \"emission_str\"",[984,1901,1015],{"class":990},[984,1903,1374],{"class":1003},[984,1905,1021],{"class":990},[984,1907,1908,1911,1913,1915],{"class":986,"line":1137},[984,1909,1910],{"class":996},"        \"isOwned\"",[984,1912,1015],{"class":990},[984,1914,1345],{"class":996},[984,1916,1021],{"class":990},[984,1918,1919,1922,1924,1927],{"class":986,"line":1150},[984,1920,1921],{"class":996},"        \"lockHeight\"",[984,1923,1015],{"class":990},[984,1925,1926],{"class":996},"39",[984,1928,1021],{"class":990},[984,1930,1931,1934,1936,1939],{"class":986,"line":1163},[984,1932,1933],{"class":996},"        \"metadata\"",[984,1935,1015],{"class":990},[984,1937,1938],{"class":1003},"\"STD:N=NAME;SN=SNM;UN=UNIT;NTHUN=NTHUNIT\"",[984,1940,1021],{"class":990},[984,1942,1943,1946,1948,1951],{"class":986,"line":1176},[984,1944,1945],{"class":996},"        \"ownerId\"",[984,1947,1015],{"class":990},[984,1949,1950],{"class":1003},"\"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\"",[984,1952,1021],{"class":990},[984,1954,1955,1958,1960],{"class":986,"line":1189},[984,1956,1957],{"class":996},"        \"refreshHeight\"",[984,1959,1015],{"class":990},[984,1961,1962],{"class":996},"927\n",[984,1964,1965],{"class":986,"line":1202},[984,1966,1607],{"class":990},[984,1968,1969],{"class":986,"line":1211},[984,1970,1038],{"class":990},[957,1972],{},"Returns full asset info or ",[18,1975,1977],{"href":1976},"#Errors","error code",[89,1979,1980,1985,1991,2016,2022,2028],{},[54,1981,1982,1984],{},[150,1983,848],{}," asset id",[54,1986,1987,1990],{},[150,1988,1989],{},"metadata"," asset metadata",[54,1992,1993,1996,1997,2000,2001,2004,2005,2008,2009,2012,2013,2015],{},[150,1994,1995],{},"emission"," & ",[150,1998,1999],{},"emission_str"," total asset emission. Maximum asset emission is 2",[111,2002,2003],{},"128","-1. To ensure compatibility with JavaScript raw number returned only if it is less than or equal to ",[150,2006,2007],{},"Number.MAX_SAFE_INTEGER"," (2",[111,2010,2011],{},"53","-1). If asset emission is greater than ",[150,2014,2007],{}," only corresponding string representation is returned.",[54,2017,2018,2021],{},[150,2019,2020],{},"isOwned"," is 1 if you own this asset",[54,2023,2024,2027],{},[150,2025,2026],{},"lockHeight"," last block when asset emission turned to\u002Ffrom 0.",[54,2029,2030,2033,2034,2037],{},[150,2031,2032],{},"refreshHeight"," block at which asset information has been received. Please note, that all returned fields are valid only for this and previous blocks. In next blocks emission might change, asset become unregistered &c. Use ",[18,2035,913],{"href":2036},"#tx_asset_info"," to retrieve the most recent info.",[54,2039,2040,2041,2043,2044,2046,2047,2049,2051,2127,2152,2154,2156,2211,2213,2214,385],{},"For minting new asset coins use ",[150,2042,903],{},". You must own the asset and info about the asset should be in a local database. ",[150,2045,913],{}," to retrieve the latest asset info if necessary. Asset minting is free. You need to pay only regular transaction fee.",[957,2048],{},[150,2050,975],{},[866,2052,2054],{"className":978,"code":2053,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"tx_asset_issue\", \n    \"params\":\n    {\n        \"value\": 6,\n        \"asset_id\": 1\n    }\n}\n",[150,2055,2056,2060,2070,2080,2091,2097,2101,2111,2119,2123],{"__ignoreMap":760},[984,2057,2058],{"class":986,"line":987},[984,2059,991],{"class":990},[984,2061,2062,2064,2066,2068],{"class":986,"line":761},[984,2063,997],{"class":996},[984,2065,1015],{"class":990},[984,2067,1004],{"class":1003},[984,2069,1007],{"class":990},[984,2071,2072,2074,2076,2078],{"class":986,"line":772},[984,2073,1012],{"class":996},[984,2075,1015],{"class":990},[984,2077,1503],{"class":996},[984,2079,1021],{"class":990},[984,2081,2082,2084,2086,2089],{"class":986,"line":1024},[984,2083,1027],{"class":996},[984,2085,1015],{"class":990},[984,2087,2088],{"class":1003},"\"tx_asset_issue\"",[984,2090,1007],{"class":990},[984,2092,2093,2095],{"class":986,"line":1035},[984,2094,1521],{"class":996},[984,2096,1524],{"class":990},[984,2098,2099],{"class":986,"line":1098},[984,2100,1529],{"class":990},[984,2102,2103,2105,2107,2109],{"class":986,"line":1111},[984,2104,1534],{"class":996},[984,2106,1015],{"class":990},[984,2108,1018],{"class":996},[984,2110,1021],{"class":990},[984,2112,2113,2115,2117],{"class":986,"line":1124},[984,2114,1220],{"class":996},[984,2116,1015],{"class":990},[984,2118,1678],{"class":996},[984,2120,2121],{"class":986,"line":1137},[984,2122,1607],{"class":990},[984,2124,2125],{"class":986,"line":1150},[984,2126,1038],{"class":990},[89,2128,2129,2135,2141,2146],{},[54,2130,2131,2134],{},[150,2132,2133],{},"value"," how much asset to mint, in asset groth.",[54,2136,2137,2140],{},[150,2138,2139],{},"fee"," transaction fee in BEAM groth. Omit to use default fee.",[54,2142,2143,2145],{},[150,2144,848],{}," asset id of the asset to mint.",[54,2147,2148,2151],{},[150,2149,2150],{},"txId"," optional,  provide your own transaction ID.",[957,2153],{},[150,2155,1043],{},[866,2157,2159],{"className":978,"code":2158,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"result\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\"\n    }\n}\n",[150,2160,2161,2165,2175,2185,2191,2195,2203,2207],{"__ignoreMap":760},[984,2162,2163],{"class":986,"line":987},[984,2164,991],{"class":990},[984,2166,2167,2169,2171,2173],{"class":986,"line":761},[984,2168,997],{"class":996},[984,2170,1015],{"class":990},[984,2172,1004],{"class":1003},[984,2174,1007],{"class":990},[984,2176,2177,2179,2181,2183],{"class":986,"line":772},[984,2178,1012],{"class":996},[984,2180,1015],{"class":990},[984,2182,1503],{"class":996},[984,2184,1021],{"class":990},[984,2186,2187,2189],{"class":986,"line":1024},[984,2188,1724],{"class":996},[984,2190,1524],{"class":990},[984,2192,2193],{"class":986,"line":1035},[984,2194,1529],{"class":990},[984,2196,2197,2199,2201],{"class":986,"line":1098},[984,2198,1735],{"class":996},[984,2200,1738],{"class":990},[984,2202,1741],{"class":1003},[984,2204,2205],{"class":986,"line":1111},[984,2206,1607],{"class":990},[984,2208,2209],{"class":986,"line":1124},[984,2210,1038],{"class":990},[957,2212],{},"Returns transaction id or ",[18,2215,1977],{"href":1976},[54,2217,2218,2219,2221,2222,2224,2226,2302,2324,2326,2328,2382],{},"to burn existing asset coins use ",[150,2220,908],{},". You must own the asset itself as well as asset coins to burn them. You cannot burn asset coins that belong to another wallet. Info about the asset should be in a local database.",[957,2223],{},[150,2225,975],{},[866,2227,2229],{"className":978,"code":2228,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_asset_consume\", \n    \"params\":\n    {\n        \"value\": 6,\n        \"asset_id\": 1\n    }\n}\n",[150,2230,2231,2235,2245,2255,2266,2272,2276,2286,2294,2298],{"__ignoreMap":760},[984,2232,2233],{"class":986,"line":987},[984,2234,991],{"class":990},[984,2236,2237,2239,2241,2243],{"class":986,"line":761},[984,2238,997],{"class":996},[984,2240,1000],{"class":990},[984,2242,1004],{"class":1003},[984,2244,1007],{"class":990},[984,2246,2247,2249,2251,2253],{"class":986,"line":772},[984,2248,1012],{"class":996},[984,2250,1015],{"class":990},[984,2252,1503],{"class":996},[984,2254,1021],{"class":990},[984,2256,2257,2259,2261,2264],{"class":986,"line":1024},[984,2258,1027],{"class":996},[984,2260,1000],{"class":990},[984,2262,2263],{"class":1003},"\"tx_asset_consume\"",[984,2265,1007],{"class":990},[984,2267,2268,2270],{"class":986,"line":1035},[984,2269,1521],{"class":996},[984,2271,1524],{"class":990},[984,2273,2274],{"class":986,"line":1098},[984,2275,1529],{"class":990},[984,2277,2278,2280,2282,2284],{"class":986,"line":1111},[984,2279,1534],{"class":996},[984,2281,1015],{"class":990},[984,2283,1018],{"class":996},[984,2285,1021],{"class":990},[984,2287,2288,2290,2292],{"class":986,"line":1124},[984,2289,1220],{"class":996},[984,2291,1015],{"class":990},[984,2293,1678],{"class":996},[984,2295,2296],{"class":986,"line":1137},[984,2297,1607],{"class":990},[984,2299,2300],{"class":986,"line":1150},[984,2301,1038],{"class":990},[89,2303,2304,2309,2314,2319],{},[54,2305,2306,2308],{},[150,2307,2133],{}," how much asset to burn, in asset groth.",[54,2310,2311,2313],{},[150,2312,2139],{}," transaction fee in BEAM groth, omit for a default fee.",[54,2315,2316,2318],{},[150,2317,848],{}," id of the asset to consume.",[54,2320,2321,2323],{},[150,2322,2150],{}," optional, provide your own transaction ID",[957,2325],{},[150,2327,1043],{},[866,2329,2330],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,2331,2332,2336,2346,2356,2362,2366,2374,2378],{"__ignoreMap":760},[984,2333,2334],{"class":986,"line":987},[984,2335,991],{"class":990},[984,2337,2338,2340,2342,2344],{"class":986,"line":761},[984,2339,997],{"class":996},[984,2341,1000],{"class":990},[984,2343,1004],{"class":1003},[984,2345,1007],{"class":990},[984,2347,2348,2350,2352,2354],{"class":986,"line":772},[984,2349,1012],{"class":996},[984,2351,1015],{"class":990},[984,2353,1503],{"class":996},[984,2355,1021],{"class":990},[984,2357,2358,2360],{"class":986,"line":1024},[984,2359,1724],{"class":996},[984,2361,1524],{"class":990},[984,2363,2364],{"class":986,"line":1035},[984,2365,1529],{"class":990},[984,2367,2368,2370,2372],{"class":986,"line":1098},[984,2369,1735],{"class":996},[984,2371,1738],{"class":990},[984,2373,1741],{"class":1003},[984,2375,2376],{"class":986,"line":1111},[984,2377,1607],{"class":990},[984,2379,2380],{"class":986,"line":1124},[984,2381,1038],{"class":990},[866,2383,2386],{"className":2384,"code":2385,"language":871},[869],"  Returns transaction id or [error code](#Errors). \n",[150,2387,2385],{"__ignoreMap":760},[54,2389,2390,2391,2393,2394,2397,2398,2400,2402,2404,2506,2508,2510,2625,2627,2628],{},"if yoiu want to calculate the change amount for transaction use ",[150,2392,923],{},", it calculates the change value for given ",[150,2395,2396],{},"amount"," in for given ",[150,2399,848],{},[957,2401],{},[150,2403,975],{},[866,2405,2407],{"className":978,"code":2406,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"calc_change\", \n    \"params\":\n    {\n        \"amount\" : 1234,\n        \"asset_id\": 2,\n        \"fee\": 10000,\n        \"is_push_transaction\": true\n    }\n}\n",[150,2408,2409,2413,2423,2434,2445,2451,2455,2467,2477,2488,2498,2502],{"__ignoreMap":760},[984,2410,2411],{"class":986,"line":987},[984,2412,991],{"class":990},[984,2414,2415,2417,2419,2421],{"class":986,"line":761},[984,2416,997],{"class":996},[984,2418,1000],{"class":990},[984,2420,1004],{"class":1003},[984,2422,1007],{"class":990},[984,2424,2425,2427,2429,2432],{"class":986,"line":772},[984,2426,1012],{"class":996},[984,2428,1015],{"class":990},[984,2430,2431],{"class":996},"4",[984,2433,1021],{"class":990},[984,2435,2436,2438,2440,2443],{"class":986,"line":1024},[984,2437,1027],{"class":996},[984,2439,1000],{"class":990},[984,2441,2442],{"class":1003},"\"calc_change\"",[984,2444,1007],{"class":990},[984,2446,2447,2449],{"class":986,"line":1035},[984,2448,1521],{"class":996},[984,2450,1524],{"class":990},[984,2452,2453],{"class":986,"line":1098},[984,2454,1529],{"class":990},[984,2456,2457,2460,2462,2465],{"class":986,"line":1111},[984,2458,2459],{"class":996},"        \"amount\"",[984,2461,1738],{"class":990},[984,2463,2464],{"class":996},"1234",[984,2466,1021],{"class":990},[984,2468,2469,2471,2473,2475],{"class":986,"line":1124},[984,2470,1220],{"class":996},[984,2472,1015],{"class":990},[984,2474,1503],{"class":996},[984,2476,1021],{"class":990},[984,2478,2479,2481,2483,2486],{"class":986,"line":1137},[984,2480,1546],{"class":996},[984,2482,1015],{"class":990},[984,2484,2485],{"class":996},"10000",[984,2487,1021],{"class":990},[984,2489,2490,2493,2495],{"class":986,"line":1150},[984,2491,2492],{"class":996},"        \"is_push_transaction\"",[984,2494,1015],{"class":990},[984,2496,2497],{"class":996},"true\n",[984,2499,2500],{"class":986,"line":1163},[984,2501,1607],{"class":990},[984,2503,2504],{"class":986,"line":1176},[984,2505,1038],{"class":990},[957,2507],{},[150,2509,1043],{},[866,2511,2513],{"className":978,"code":2512,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\":\n    {\n        \"asset_change\": 12,\n        \"asset_change_str\": \"12\",\n        \"change\": 12,\n        \"change_str\": \"12\",\n        \"explicit_fee\": 1100000,\n        \"explicit_fee_str\": \"1100000\"\n    }\n}\n",[150,2514,2515,2519,2529,2539,2545,2549,2561,2573,2584,2595,2607,2617,2621],{"__ignoreMap":760},[984,2516,2517],{"class":986,"line":987},[984,2518,991],{"class":990},[984,2520,2521,2523,2525,2527],{"class":986,"line":761},[984,2522,997],{"class":996},[984,2524,1000],{"class":990},[984,2526,1004],{"class":1003},[984,2528,1007],{"class":990},[984,2530,2531,2533,2535,2537],{"class":986,"line":772},[984,2532,1012],{"class":996},[984,2534,1015],{"class":990},[984,2536,2431],{"class":996},[984,2538,1021],{"class":990},[984,2540,2541,2543],{"class":986,"line":1024},[984,2542,1724],{"class":996},[984,2544,1524],{"class":990},[984,2546,2547],{"class":986,"line":1035},[984,2548,1529],{"class":990},[984,2550,2551,2554,2556,2559],{"class":986,"line":1098},[984,2552,2553],{"class":996},"        \"asset_change\"",[984,2555,1015],{"class":990},[984,2557,2558],{"class":996},"12",[984,2560,1021],{"class":990},[984,2562,2563,2566,2568,2571],{"class":986,"line":1111},[984,2564,2565],{"class":996},"        \"asset_change_str\"",[984,2567,1015],{"class":990},[984,2569,2570],{"class":1003},"\"12\"",[984,2572,1021],{"class":990},[984,2574,2575,2578,2580,2582],{"class":986,"line":1124},[984,2576,2577],{"class":996},"        \"change\"",[984,2579,1015],{"class":990},[984,2581,2558],{"class":996},[984,2583,1021],{"class":990},[984,2585,2586,2589,2591,2593],{"class":986,"line":1137},[984,2587,2588],{"class":996},"        \"change_str\"",[984,2590,1015],{"class":990},[984,2592,2570],{"class":1003},[984,2594,1021],{"class":990},[984,2596,2597,2600,2602,2605],{"class":986,"line":1150},[984,2598,2599],{"class":996},"        \"explicit_fee\"",[984,2601,1015],{"class":990},[984,2603,2604],{"class":996},"1100000",[984,2606,1021],{"class":990},[984,2608,2609,2612,2614],{"class":986,"line":1163},[984,2610,2611],{"class":996},"        \"explicit_fee_str\"",[984,2613,1015],{"class":990},[984,2615,2616],{"class":1003},"\"1100000\"\n",[984,2618,2619],{"class":986,"line":1176},[984,2620,1607],{"class":990},[984,2622,2623],{"class":986,"line":1189},[984,2624,1038],{"class":990},[957,2626],{},"where",[89,2629,2630,2635,2640,2645,2653,2668,2674],{},[54,2631,2632,2634],{},[150,2633,2396],{}," is a requested amount we are going to send",[54,2636,2637,2639],{},[150,2638,848],{}," asset id of the requested amount",[54,2641,2642,2644],{},[150,2643,2139],{}," explicit fee in GROTHs chosen by the user",[54,2646,2647,2650,2651],{},[150,2648,2649],{},"asset_change"," change amount for requested ",[150,2652,848],{},[54,2654,2655,2658,2659,163,2661,2663,2664,2667],{},[150,2656,2657],{},"change"," change in for BEAM. ",[150,2660,2649],{},[150,2662,2657],{}," are equal if ",[150,2665,2666],{},"asset_id == 0",", i.e. BEAM",[54,2669,2670,2673],{},[150,2671,2672],{},"explicit_fee"," the fee which should be used",[54,2675,2676,2679,2680,2683],{},[150,2677,2678],{},"is_push_transaction"," ",[150,2681,2682],{},"true"," if we are going to push transaction output into the shielded pool.",[2685,2686,2687],"style",{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s6RL2, html code.shiki .s6RL2{--shiki-default:#FDAEB7;--shiki-default-font-style:italic}",{"title":760,"searchDepth":761,"depth":761,"links":2689},[2690,2691],{"id":836,"depth":761,"text":837},{"id":926,"depth":761,"text":927,"children":2692},[2693],{"id":939,"depth":772,"text":940},{},"\u002Fdocs\u002Fcore-tech\u002Fadding-support-for-beam-confidential-asset",{"title":828,"description":760},"docs\u002Fcore-tech\u002FAdding-support-for-Beam-Confidential-Asset","ksg2lWG6YL-C9Pu9il3gpSelrsjZmw8tAQLjE8zKS6I",{"id":2700,"title":2701,"body":2702,"description":760,"extension":775,"image":776,"meta":3462,"navTitle":776,"navigation":778,"path":3463,"seo":3464,"stem":3465,"__hash__":3466},"docs\u002Fdocs\u002Fcore-tech\u002FAddresses-in-Beam.md","Addresses In Beam",{"type":8,"value":2703,"toc":3445},[2704,2711,2714,2728,2731,2764,2767,2771,2774,2778,2781,2784,2792,2795,2798,2802,2813,2816,2836,2840,2843,2846,2853,2856,2886,2890,2897,2900,2903,2906,2909,2912,2919,2924,2941,2950,2954,2963,2969,2975,2978,2981,2984,2992,2996,3009,3012,3018,3022,3025,3028,3040,3048,3055,3058,3072,3075,3083,3086,3090,3102,3105,3108,3118,3126,3130,3137,3165,3171,3174,3177,3180,3186,3188,3192,3195,3198,3201,3203,3207,3209,3212,3222,3239,3243,3246,3249,3254,3264,3268,3271,3277,3280,3289,3293,3296,3299,3357,3361,3364,3370,3376,3380,3385,3394,3402,3406,3409,3412],[11,2705,2706],{},[2707,2708],"img",{"alt":2709,"src":2710},"image","https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F110d645f-944f-43ea-a9e5-d51f7159da09",[11,2712,2713],{},"There're (too) many different kinds of addresses in Beam:",[89,2715,2716,2719,2722,2725],{},[54,2717,2718],{},"Regular (a.k.a. new-style)",[54,2720,2721],{},"Legacy (BBS-only, a.k.a. old-style)",[54,2723,2724],{},"Offline",[54,2726,2727],{},"Max-privacy",[11,2729,2730],{},"In addition to those kinds of addresses, there's more terminology:",[89,2732,2733,2740,2745,2759],{},[54,2734,2735,2736,2739],{},"Payment ",[58,2737,2738],{},"Tokens",", that consist of an address with the requested payment amount",[54,2741,2742],{},[58,2743,2744],{},"Vouchers",[54,2746,2747,2750,2751,2754,2755,2758],{},[58,2748,2749],{},"Endpoints"," (alternatively called as ",[58,2752,2753],{},"Signature",", or ",[58,2756,2757],{},"Identity",")",[54,2760,2761],{},[58,2762,2763],{},"Payment proof",[11,2765,2766],{},"Some of the above things are permanent, some expire, and some are intended for single usage.\nIn addition to that, when the wallet is restored, the addresses are not preserved (new wallet instance generates new addresses).\nAll this is very confusing. Here we'll explain in details how things work, why historically so many kinds of addresses were implemented, and what is relevant today.",[43,2768,2770],{"id":2769},"what-are-beam-addresses","What are Beam addresses?",[11,2772,2773],{},"First and foremost:",[716,2775,2777],{"id":2776},"there-are-no-addresses-on-the-beam-blockchain-per-se","there are no addresses on the Beam blockchain per se.",[2779,2780],"hr",{},[11,2782,2783],{},"Beam is based on UTXO model (set of coins, in simple words). There're 2 types of UTXOs:",[89,2785,2786,2789],{},[54,2787,2788],{},"MW (MimbleWimble) UTXOs.",[54,2790,2791],{},"Shielded TXOs. Those are created and spent using in Lelantus-MW txs.",[11,2793,2794],{},"Both kinds of UTXOs are opaque, and look like random data. No addresses that expose who owns them, and the value is concealed.",[11,2796,2797],{},"Each UTXO has its secret key, which is needed to build a valid tx that spends it. Means whoever knows that secret key - actually owns the coin.",[26,2799,2801],{"id":2800},"how-the-wallet-manages-its-coins","How the wallet manages its coins",[11,2803,2804,2805,2808,2809,2812],{},"Each wallet has the ",[58,2806,2807],{},"Master Key"," (initialized from the secret seed phrase). It is used to derive all the coin keys. When the coins are generated by the wallet, they're encoded such that they can re recognized by the corresponding ",[58,2810,2811],{},"Owner Key"," (also derived from the Master Key).",[11,2814,2815],{},"This means the following:",[89,2817,2818,2826,2833],{},[54,2819,2820,2821,2823,2824,385],{},"All the coins belong to the wallet that generated it. They can be recognized by its ",[58,2822,2811],{},", and then spent in the future txs using its ",[58,2825,2807],{},[54,2827,2828,2829,2832],{},"Coins do ",[94,2830,2831],{},"NOT"," belong to addresses.",[54,2834,2835],{},"Addresses are only used between the wallets to communicate and build txs (more about this later). After the tx is included in a block - addresses don't matter.",[43,2837,2839],{"id":2838},"mw-txs-and-old-style-addresses","MW txs and old-style addresses",[11,2841,2842],{},"Beam is based on MW, where transactions are built interactively. Means users must communicate to build a transaction.",[11,2844,2845],{},"For this we developed an SBBS system, that allows wallets to exchange encrypted messages anonymously. Wallets can generate public\u002Fprivate key pairs, where the public key is used to encrypt messages, and private key can decrypt them.",[11,2847,2848,2849,2852],{},"That's how ",[94,2850,2851],{},"addresses"," were born on Beam. Address in fact meant SBBS address, a public key to encode messages, that can only be decoded by the appropriate private key.",[11,2854,2855],{},"Here're some notes regarding the SBBS encryption:",[89,2857,2858,2861,2864,2872,2875,2878],{},[54,2859,2860],{},"All encrypted messages are opaque (look like random data), the sender\u002Freceiver of the message is also opaque, and the message is protected against tampering (using HMAC scheme).",[54,2862,2863],{},"Using the SBBS address one can only encrypt messages, not decrypt.",[54,2865,2866,2867],{},"There's no feasible way to realize that a specific SBBS message was encoded by a given SBBS address.\n",[89,2868,2869],{},[54,2870,2871],{},"Means you can share your SBBS address to different users, they won't be able to see when you communicate with others.",[54,2873,2874],{},"Users can generate as many SBBS addresses as they want.",[54,2876,2877],{},"In order to receive the SBBS message, one tries to decrypt all the incoming SBBS traffic. Only the intended messages would be successfully decrypted and pass HMAC verification.",[54,2879,2880,2881],{},"If you listen to several active SBBS addresses - the wallet will try to decrypt each message by each address private key.\n",[89,2882,2883],{},[54,2884,2885],{},"The more active SBBS addresses - the harder the wallet works to receive the messages.",[26,2887,2889],{"id":2888},"address-generation-and-expiration","Address generation and expiration",[11,2891,2892,2893,2896],{},"As we said, a wallet may generate multiple SBBS addreses. It may also ",[58,2894,2895],{},"deactivate"," a specific address, which means it'd stop trying to decrypt incoming SBBS messages by its private key.",[11,2898,2899],{},"Theoretically there was no good reason to have more than 1 SBBS address. User could just live fine with only a single SBBS address, and share it freely. As we've said, all the messages are completely opaque, and the communication is anonymous.",[11,2901,2902],{},"There's only limited scenarios where a user may need more than 1 address. If the user wishes to provide several addresses that look like of different users (for example, have several accounts at an exchange, with different SBBS addresses for funds withdrawal).",[11,2904,2905],{},"However, due to user habits and some misconceptions, users insisted on changing addresses regularly. That's why we implemented automatic SBBS address generation and expiration",[43,2907,2763],{"id":2908},"payment-proof",[11,2910,2911],{},"Unlike other blockchain designs, in Beam there're no addresses on the blockchain per se.\nAs a result, if Alice sends funds to Bob, there's no way to prove it later from the blockchain data (Bob has plausible deniability).",[11,2913,2914,2915,2918],{},"To address this, we implemented a ",[58,2916,2917],{},"Payment Proof",". It's a signature, signed by the recipient of the funds, that it indeed accepts the specific amount from the specific sender. It is signed by the receiver and verified by the sender during the transaction negotiation stage (all this happens off-chain).",[11,2920,32,2921,2923],{},[58,2922,2917],{}," signature signed the following:",[89,2925,2926,2929,2932,2935],{},[54,2927,2928],{},"Identity (pubkey) of the sender",[54,2930,2931],{},"Identity (pubkey) of the receiver (the signature is signed by the corresponding private key).",[54,2933,2934],{},"Amount and asset type being-received",[54,2936,2937,2938,2940],{},"Transaction Kernel ID. If the tx was negotiated but not broadcasted and accepted in a block - the ",[58,2939,2917],{}," is considered invalid (i.e. there was an intention of the tx, but it didn't take place actually).",[11,2942,2943,2946,2947,385],{},[58,2944,2945],{},"Identities"," of both sender\u002Freceiver were in fact their SBBS addresses. That is, ",[94,2948,2949],{},"the same key was used both for SBBS messages encryption, and to identify the owner of the funds",[43,2951,2953],{"id":2952},"hardware-wallet-and-new-style-addresses-aka-regular-addresses","Hardware Wallet, and new-style addresses (a.k.a. Regular addresses)",[11,2955,2956,2957,2959,2960,2962],{},"With the hardware wallet the things work differently. The ",[58,2958,2807],{}," and all the coin keys are managed entirely in the HW wallet. The software wallet gets the ",[58,2961,2811],{}," that can recognize coins (but not spend them), and handles all the communication and blockchain state change logic.",[11,2964,2965,2966,2968],{},"The SBBS address must be managed by the software wallet, it's too complex for the HW wallet to decrypt all the SBBS traffic. On the other hand, when the ",[58,2967,2917],{}," is signed\u002Fverified - it must be done with the key that is managed by the HW wallet.",[11,2970,2971,2972,2974],{},"This is where we decided to split the SBBS address and the user identity. The SBBS address is the address you're communicating with, and the ",[58,2973,2757],{}," is the public key of the final receiver\u002Fsender of the funds. For standard wallets both are managed by the wallet, but with the HW wallet they're managed in different places.",[11,2976,2977],{},"To support this, we defined a new-style address (now called a Regular address).",[11,2979,2980],{},"First, the address format was changed. The older SBBS address was just a hex-encoded pubkey. We decided to change it into an encoded collection of arbitrary number of parameters (to support possible future parameters for various address\u002Ftoken types).",[11,2982,2983],{},"The Regular address consists of the following fields:",[89,2985,2986,2989],{},[54,2987,2988],{},"SBBS address",[54,2990,2991],{},"User Identity",[26,2993,2995],{"id":2994},"endpoint","Endpoint",[11,2997,2998,2999,441,3001,441,3004,3006,3007,385],{},"Historically we had several names for the above user identity: ",[58,3000,2757],{},[58,3002,3003],{},"HW Identity",[58,3005,2753],{},", and etc. All that lead to confuses, so we decided to give a distinctive name to this: the ",[58,3008,2995],{},[11,3010,3011],{},"The rationale behind this name is the following. Suppose Alice sends funds to Bob, both use HW wallet. Conceptually you may treat this situation as this: Alice's HW wallet is the ultimate sender of the funds, Bob's HW wallet is the ultimate receiver. And they negotiate the transaction with each other.\nThe software wallets of Alice and Bob are just intermediate entities, they're not part of the transaction negotiation.",[11,3013,3014,3015,3017],{},"In other words, the ",[58,3016,2995],{}," is the final source\u002Fdestination of the funds.",[43,3019,3021],{"id":3020},"lelantus-mw","Lelantus-MW",[11,3023,3024],{},"To address the inherent MW linkability problem, we extended Beam with the Lelantus-MW protocol. It's our proprietary modification of the Lelantus protocol, adjusted to fit and complement the MW.",[11,3026,3027],{},"With it we added 2 new transaction elements:",[89,3029,3030,3033],{},[54,3031,3032],{},"Shielded Output - add an opaque coin into the shielded pool",[54,3034,3035,3036,3039],{},"Shielded Input - spend ",[58,3037,3038],{},"some"," coin from the shielded pool.",[11,3041,3042,3043,3045,3046,385],{},"In MW transactions are interactive, when Bob receives funds from Alice, he creates his UTXO to accept the funds in advance (during negotiation stage) . And since Bob himself created his UTXO, he can recognize it using his ",[58,3044,2811],{},", and spend using his ",[58,3047,2807],{},[11,3049,3050,3051,3054],{},"In contrast to MW txs, Lelantus-MW txs are non-interactive. Means Alice creates the ",[58,3052,3053],{},"Shielded Output"," tx element, without Bob being-involved. Yet she creates it in such a way that Bob will be able to recognize and spend it later.",[11,3056,3057],{},"This means that Bob should give Alice an additional data, to allow her to send funds to Bob using Lelantus-MW.",[11,3059,3060,3061,3063,3064,3067,3068,3071],{},"Technically each ",[58,3062,3053],{}," comes with a ",[58,3065,3066],{},"Ticket",". It's an opaque data object, but encoded such that it can be recognized by the funds recipient (Bob). Moreover, ",[58,3069,3070],{},"Tickets"," must be unique, it's impossible to use the same ticket twice (this is related to double-spend prevention).",[11,3073,3074],{},"So, basically there're 2 options here:",[51,3076,3077,3080],{},[54,3078,3079],{},"Bob gives Alice a source data, using which Alice may generate arbitrary number of Bob's tickets.",[54,3081,3082],{},"Bob generates arbitrary number of tickets, and gives them to Alice.",[11,3084,3085],{},"Both methods have their pros and cons. And both are supported in terms of different address types.",[26,3087,3089],{"id":3088},"offline-address","Offline address",[11,3091,3092,3093,3095,3096,3098,3099,3101],{},"This corresponds to the 1st method. The ",[58,3094,3089],{}," in essence is a ticket generator. It also comes with the Bob's ",[58,3097,2995],{},", and is also signed by ",[58,3100,2995],{},"'s signature (if Alice needs to prove that she sent funds to Bob - she can show that the corresponding ticket was generated by the generator signed by Bob).",[11,3103,3104],{},"Once Alice has it, she can send arbitrary number of Lelantus-MW txs to Bob, which is a good thing.",[11,3106,3107],{},"There's however a drawback. Alice knows the internal parameters of the ticket (since she actually generated it). One of them later will be used by Bob, when he'll spend this shielded coin.",[11,3109,3110,3111,3114,3115,3117],{},"Means that the ",[94,3112,3113],{},"sender will notice when the receiver will spend the shielded coin",". For the 3rd-party observers the shielded transactions are anonymous, but this specific kind is not anonymous w.r.t. the sender. Hence we call it ",[58,3116,2724],{},", but not truly private.",[11,3119,3120,3122,3123,3125],{},[94,3121,158],{}," despite the above drawback, the above is perfectly fine if you receive shielded funds from a trusted sender. For instance, you may have several wallets (with different seed phrases). You may use ",[58,3124,2724],{}," address to transfer funds in a private way. As we've said, 3rd-party observers will see no link between the Shielded Output and the corresponding Shielded Input.",[26,3127,3129],{"id":3128},"max-privacy-address","Max Privacy address",[11,3131,3132,3133,3136],{},"This corresponds to the 2nd option. The ",[58,3134,3135],{},"Max Privacy"," address consists of the following:",[89,3138,3139,3144,3162],{},[54,3140,3141,3142],{},"Receiver ",[58,3143,2995],{},[54,3145,3146,3147,3149,3150],{},"Arbitrary number of ",[58,3148,2744],{},".\n",[89,3151,3152],{},[54,3153,3154,3155,3158,3159,3161],{},"Each ",[58,3156,3157],{},"Voucher"," is actually a ticket, signed by Bob ",[58,3160,2995],{}," signature (to prove later that Bob is the receiver of the funds).",[54,3163,3164],{},"Optional SBBS address to ask for more vouchers.",[11,3166,3167,3168,3170],{},"This method doesn't have the drawback of the ",[58,3169,2724],{}," address. Alice may send funds to Bob, Bob later may spend those funds anonymously w.r.t. Alice.",[11,3172,3173],{},"The obvious drawback is that there's a limited number of Vouchers\u002FTickets. Once they're all consumed - there's no way to send more txs.\nThis is where the SBBS address can be used. Once Alice runs out of Bob's vouchers (or getting low on them) - her wallet may request for more Bob's vouchers via SBBS. If\u002Fwhen Bob will be online - his wallet will respond, and provide Alice with more vouchers automatically.",[43,3175,2738],{"id":3176},"tokens",[11,3178,3179],{},"As we've said, all the address types, except the \"old-style\", are represented as a collection of parameters. In addition to the address itself (whatever kind it is), it's possible to include more fields.",[11,3181,3182,3183,3185],{},"Using this we've introduced a so-called payment ",[58,3184,2738],{},", which are a way to request a specific payment. They consist of the address (any kind), and the requested Amount and asset type.",[2779,3187],{},[43,3189,3191],{"id":3190},"ideas-for-improvements","Ideas for improvements",[11,3193,3194],{},"So we've described what Beam addresses are, why it's not a big deal to loose them (i.e. coins don't belong to addresses, you don't loose coins).\nWe also explained why there're different kinds of addresses, and why they are necessary. The old-style address is actually obsolete, and even incompatible with the HW wallet (i.e. you can't even generate it with the HW wallet). But, unfortunately, we can't get rid of it completely, because some existing exchanges won't accept different addresses (they do a sort of a regular-expression check on the address). So they're still here.",[11,3196,3197],{},"However, many things can and should be improved, mostly regarding user experience and the UX.",[11,3199,3200],{},"The most important change can be expressed as this:",[2779,3202],{},[716,3204,3206],{"id":3205},"its-all-about-endpoints","It's all about Endpoints",[2779,3208],{},[11,3210,3211],{},"In simple words, each address consists of two things:",[89,3213,3214,3219],{},[54,3215,3216,3217,385],{},"Who does it belong to, i.e. who is the supposed receiver of the funds. This is the ",[58,3218,2995],{},[54,3220,3221],{},"What kind of tx would that be, and how to negotiate and build it.",[11,3223,3224,3226,3227,3230,3231,3234,3235,3238],{},[58,3225,2995],{},", i.e. the identity of the sender\u002Freceiver - is the most important thing. It should be visible wherever applicable, and play a crucial role in the address book.\n",[58,3228,3229],{},"Who"," am I paying, and ",[58,3232,3233],{},"who"," payed me. This is arguably more important than ",[58,3236,3237],{},"how"," is the payment done.",[26,3240,3242],{"id":3241},"address-format","Address format",[11,3244,3245],{},"Currently all address types (except legacy) are displayed as a Base58-encoded strings of a \u003Ckey, value> pairs, where key is an 1-byte identifier of the parameter.\nAs a result, the user has no way to see either the embedded arguments, or even the address type. A better option would be encoding the arguments in a human-readable way.",[11,3247,3248],{},"For example, a Regular (online) address could be displayed as:",[11,3250,3251],{},[150,3252,3253],{},"beam_Bk1azc8VtaYU1f6t7jiRGkxJDiAVui6Y5WvohjoU1yFA_bbs274b78587e1c9643e7472e221be1634b8efe06f747175d3d8c98ce1ef665b056d4a",[11,3255,3256,3257,3260,3261,3263],{},"It begins with ",[150,3258,3259],{},"beam"," (a common practice in some networks), then followed by a human-readable ",[58,3262,2995],{},", and then followed by the bbs address.",[716,3265,3267],{"id":3266},"what-if-users-tampermodify-address-manually","What if users tamper\u002Fmodify address manually?",[11,3269,3270],{},"The good news is that Beam addresses are generally resistant to tampering. If one modifies the address (either intentionally or not) - there is no risk of loss of funds.",[11,3272,3273,3274,3276],{},"If one modifies the SBBS address, the communication with the receiver will fail. And if the ",[58,3275,2995],{}," is modified, the negotiation with the receiver will fail.",[11,3278,3279],{},"Same applies to Max Privacy and Offline addresses. They contain pre-signed receiver signatures (that would be a part of the future payment proof). If one modifies some address fields - the address would become invalid.",[11,3281,3282,3283,3285,3286,3288],{},"And, again, this all boils down to the ",[58,3284,2995],{}," of the address, i.e. ",[94,3287,3233],{}," is the supposed recipient of the funds. If the sender verifies it and is confident that it's the intended one - there's no risk of funds loss, or the payment going into wrong hands.",[26,3290,3292],{"id":3291},"address-book-refactor","Address book refactor",[11,3294,3295],{},"Address book consists of several tabs. (My active addresses, My expired addresses, Contacts).\nFor the \"Contacts\" tab there is a list of all known addresses of other users.",[11,3297,3298],{},"A more sane address book should look like this",[89,3300,3301,3307,3329],{},[54,3302,3303,3304,3306],{},"There should be a list of known ",[58,3305,2749],{},", not addresses\u002Ftokens. Those are actually different contacts. Each can be annotated by a name.",[54,3308,3309,3310,3312,3313],{},"For each ",[58,3311,2995],{}," we can show the following information:",[89,3314,3315,3318,3321],{},[54,3316,3317],{},"Its SBBS address (if known)",[54,3319,3320],{},"Do we have its Offline address (yes\u002Fno)?",[54,3322,3323,3324],{},"How many vouchers are left for Max Privacy txs?\n",[89,3325,3326],{},[54,3327,3328],{},"Optionally - a button to request more vouchers manually",[54,3330,3331,3332,3334,3335],{},"For owned (my) ",[58,3333,2749],{}," the following information should be presented",[89,3336,3337,3343,3351],{},[54,3338,3339,3340,3342],{},"Internal number. That is, all the keys are generated using ",[58,3341,2807],{},", from the provided key number. Normally they're picked at random, and not shown to the user. But we can show them. By such users will be able to re-generate the same addresses after the wallet is restored.",[54,3344,3345,3346,385],{},"Option to generate an address\u002Ftoken of any kind ",[145,3347,3348,3349],{},"for this specific ",[58,3350,2995],{},[54,3352,3353,3354,3356],{},"HW wallets: option to verify the ",[58,3355,2995],{}," on the HW wallet",[26,3358,3360],{"id":3359},"send-screen-to","Send screen - To",[11,3362,3363],{},"Currently in the \"To\" field the user puts an address. The wallet parses the address, recognizes its type, and acts accordingly. For some addresses the wallet gives an option to modify the transaction type (Online, Offline, Max Privacy) if that token has enough information.",[11,3365,3366,3367,3369],{},"Instead the wallet should recognize the ",[58,3368,2995],{}," from the given address, check if it's already in the address book, and realize all the possible ways of sending from what it already knows about it. Not only from the parameters of the provided address.",[11,3371,3372,3373,3375],{},"Moreover, it should be possible to specify \"To\" the ",[58,3374,2995],{}," only. Or just the name that the user annotated to it in the address book.\nThe wallet should automatically find it in the address book, and allow tx types according to what is known about it.",[26,3377,3379],{"id":3378},"send-screen-from","Send screen - From",[11,3381,3382,3383,385],{},"Currently this doesn't exist at all. When funds are sent - the sending wallet always identifies itself as a random user with an ephemeral ",[58,3384,2995],{},[11,3386,3387,3388,2679,3391,3393],{},"There should be an option to specify an ",[94,3389,3390],{},"existing",[58,3392,2995],{},". By such the sender may make the receiver know who sent the funds.",[11,3395,3396,3397,3399,3400,385],{},"In the \"From\" field there should be a choice of the currently existing ",[58,3398,2749],{}," (i.e. active addresses), as well as previously used (perhaps no more active), or an \"Anonymous\", which means what it is today - a random ",[58,3401,2995],{},[26,3403,3405],{"id":3404},"transaction-details","Transaction details",[11,3407,3408],{},"The transaction details are loaded with lots of technical parameters (SBBS address of sender\u002Freceiver, signatures, etc.). They are mostly meaningless to the user.",[11,3410,3411],{},"There should be the following parameters:",[89,3413,3414,3432],{},[54,3415,3416,3417],{},"For funds transfer transactions:\n",[89,3418,3419,3424,3427,3430],{},[54,3420,3421,3423],{},[58,3422,2995],{}," of the sender\u002Freceiver. If they exist in the address book - this should be mentioned.",[54,3425,3426],{},"Type of tx (Online, Offline, Max Privacy)",[54,3428,3429],{},"Amount transferred and asset type",[54,3431,2763],{},[54,3433,3434,3435],{},"For other txs (coinswap, contract calls)\n",[89,3436,3437,3442],{},[54,3438,3439,3441],{},[58,3440,2749],{}," and Payment proof are irrelevant. Don't show them.",[54,3443,3444],{},"List of sent\u002Freceived asset types and amounts",{"title":760,"searchDepth":761,"depth":761,"links":3446},[3447,3448,3449,3450,3451,3452,3455,3458,3459,3460,3461],{"id":2776,"depth":772,"text":2777},{"id":2800,"depth":761,"text":2801},{"id":2888,"depth":761,"text":2889},{"id":2994,"depth":761,"text":2995},{"id":3088,"depth":761,"text":3089},{"id":3128,"depth":761,"text":3129,"children":3453},[3454],{"id":3205,"depth":772,"text":3206},{"id":3241,"depth":761,"text":3242,"children":3456},[3457],{"id":3266,"depth":772,"text":3267},{"id":3291,"depth":761,"text":3292},{"id":3359,"depth":761,"text":3360},{"id":3378,"depth":761,"text":3379},{"id":3404,"depth":761,"text":3405},{},"\u002Fdocs\u002Fcore-tech\u002Faddresses-in-beam",{"description":760},"docs\u002Fcore-tech\u002FAddresses-in-Beam","ppUlVi9zEOCqmCY18tKujLGcDJBmY4o1L5LwVpD5CsU",{"id":3468,"title":3469,"body":3470,"description":3645,"extension":775,"image":776,"meta":3646,"navTitle":776,"navigation":778,"path":3647,"seo":3648,"stem":3649,"__hash__":3650},"docs\u002Fdocs\u002Fcore-tech\u002FAsset-Descriptor-v1.0.md","Abstract",{"type":8,"value":3471,"toc":3641},[3472,3475,3482,3485,3489,3492,3522,3526,3534,3540,3544,3578,3582,3594,3597],[43,3473,3469],{"id":3474},"abstract",[11,3476,3477,3478],{},"The assets are described ",[18,3479,857],{"href":3480,"rel":3481},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FConfidential-assets",[22],[11,3483,3484],{},"This document's purpose is to specify the asset metadata, to enable 3rd party tools to consume and display the subset of asset-related information in a simple and well-standardized manner.",[26,3486,3488],{"id":3487},"general-notes","General notes",[11,3490,3491],{},"Asset meta is a byte buffer associated with the asset and stored on chain.",[89,3493,3494,3497,3503,3516,3519],{},[54,3495,3496],{},"Asset metadata should be an UTF-8 string",[54,3498,3499,3500],{},"Asset metadata should be serialized as a simple name=value set of pairs, delimited with ",[150,3501,3502],{},";",[54,3504,32,3505,3508,3509,3512,3513,3515],{},[150,3506,3507],{},"keyN=valueN;"," sequence must be preceded with ",[150,3510,3511],{},"STD:"," prefix, there is no need for ",[150,3514,3502],{}," at the sequence end",[54,3517,3518],{},"The total size of the metadata cannot exceed 16 Kbytes (16,384 bytes)",[54,3520,3521],{},"Every description should be in English",[26,3523,3525],{"id":3524},"asset-metadata-has-2-groups-of-properties","Asset metadata has 2 groups of properties:",[89,3527,3528,3531],{},[54,3529,3530],{},"Standard properties",[54,3532,3533],{},"Optional properties",[11,3535,3536,3539],{},[58,3537,3538],{},"WARNING:"," Both types of properties are immutable and can't be changed after the asset is created. Therefore it is strongly recommended to double-check the values before starting the asset registration.",[43,3541,3543],{"id":3542},"standard-properties-mandatory","Standard properties, mandatory",[89,3545,3546,3554,3560,3566,3572],{},[54,3547,3548,3551,3552],{},[150,3549,3550],{},"SCH_VER="," metadata schema version, currently must be ",[150,3553,1345],{},[54,3555,3556,3559],{},[150,3557,3558],{},"N="," human-readable asset name, for example Beam Coin",[54,3561,3562,3565],{},[150,3563,3564],{},"SN="," human-readable short name\u002Fasset code, for example BEAM. Length should not exceed 6 characters.",[54,3567,3568,3571],{},[150,3569,3570],{},"UN="," human-readable asset unit name, for example Beam",[54,3573,3574,3577],{},[150,3575,3576],{},"NTHUN="," human-readable smallest asset unit name (nth-unit name), for example Groth",[43,3579,3581],{"id":3580},"standard-properties-non-mandatory","Standard properties, non-mandatory",[89,3583,3584],{},[54,3585,3586,3589,3590,3593],{},[150,3587,3588],{},"NTH_RATIO="," integer that represents the ratio of the smallest asset unit to regular unit. If omitted default value of ",[150,3591,3592],{},"100000000"," is used",[43,3595,3533],{"id":3596},"optional-properties",[89,3598,3599,3605,3611,3617,3623,3629,3635],{},[54,3600,3601,3604],{},[150,3602,3603],{},"OPT_SHORT_DESC="," an one-liner, should not exceed 128 characters",[54,3606,3607,3610],{},[150,3608,3609],{},"OPT_LONG_DESC="," a paragraph, should not exceed 1024 characters",[54,3612,3613,3616],{},[150,3614,3615],{},"OPT_SITE_URL="," URL of the asset website",[54,3618,3619,3622],{},[150,3620,3621],{},"OPT_PDF_URL="," URL for the description paper",[54,3624,3625,3628],{},[150,3626,3627],{},"OPT_FAVICON_URL="," URL of the favicon",[54,3630,3631,3634],{},[150,3632,3633],{},"OPT_LOGO_URL="," URL of the logo in SVG vector format",[54,3636,3637,3640],{},[150,3638,3639],{},"OPT_COLOR="," color in the hex format (#FF00FF for example) to be used by the UI to display this asset. If not specified default color would be generated. Currently default colors are based on the asset id",{"title":760,"searchDepth":761,"depth":761,"links":3642},[3643,3644],{"id":3487,"depth":761,"text":3488},{"id":3524,"depth":761,"text":3525},"The assets are described here",{},"\u002Fdocs\u002Fcore-tech\u002Fasset-descriptor-v1.0",{"title":3469,"description":3645},"docs\u002Fcore-tech\u002FAsset-Descriptor-v1.0","IGjO9UMtXySYPzhfzp76Impn4ilgtv6nOGNUgo1BUU0",{"id":3652,"title":3653,"body":3654,"description":3658,"extension":775,"image":776,"meta":4384,"navTitle":776,"navigation":778,"path":4385,"seo":4386,"stem":4387,"__hash__":4388},"docs\u002Fdocs\u002Fcore-tech\u002FAtomic-swap.md","Atomic Swap",{"type":8,"value":3655,"toc":4376},[3656,3659,3662,3666,3669,3683,3686,3737,3753,3757,3763,3769,3775,3778,3781,3789,3793,3798,3813,3817,3829,3876,3880,3899,3956,3961,3980,3984,3988,4192,4196,4366,4370],[11,3657,3658],{},"Atomic swap is performed between Beam and other cryptocurrency. Denote it BTC, but actually it can denote other network that supports the needed functionality.",[11,3660,3661],{},"The swap is performed in a single transaction, which effectively transfers the ownership of the Beam UTXO in exchange for some secret, which is needed to claim the being-exchanged coin on the BTC network.",[43,3663,3665],{"id":3664},"high-level-design","High-level design",[11,3667,3668],{},"There are two parties:",[89,3670,3671,3677],{},[54,3672,3673,3676],{},[94,3674,3675],{},"A","lice. Owns the Beam, interested to trade it for the BTC",[54,3678,3679,3682],{},[94,3680,3681],{},"B","ob. Owns the BTC, interested to trade it for the Beam.",[11,3684,3685],{},"There are 3 major phases of the atomic swap",[51,3687,3688,3699,3726],{},[54,3689,3690,3691],{},"Prerequesites\n",[89,3692,3693,3696],{},[54,3694,3695],{},"The being-exchanged UTXOs are locked on both networks for a specific time period (in terms of blocks).",[54,3697,3698],{},"Parties monitor both networks to ensure the source UTXOs are indeed locked.",[54,3700,3701,3702],{},"Exchange\n",[89,3703,3704,3710,3715,3721],{},[54,3705,3706,3707,3709],{},"Parties collaborate to create a transaction that transfers the locked Beam to ",[94,3708,3681],{}," in exchange for the secret.",[54,3711,3712,3714],{},[94,3713,3681],{}," substitutes the secret to the transaction and finally broadcasts it to the network.",[54,3716,3717,3718,3720],{},"Once transaction is visible - ",[94,3719,3675],{}," learns the secret.",[54,3722,3723,3725],{},[94,3724,3675],{}," creates a BTC transaction to claim the BTC UTXO, and broadcasts it to the BTC network.",[54,3727,3728,3729],{},"Rollback. In case the swap didn't take place (for whatever reason)\n",[89,3730,3731,3734],{},[54,3732,3733],{},"Locked UTXOs on both network should remain intact until their lock timeout expires.",[54,3735,3736],{},"After the timeout expiration parties broadcast transactions that transfers the locked UTXOs back to them.",[11,3738,3739,3740,3742,3743,3746,3747,3749,3750,3752],{},"Note that ",[94,3741,3675],{}," actually claims the BTC UTXO ",[145,3744,3745],{},"after"," sending the Beam UTXO. This means that the lock timeout of the BTC UTXO must be significantly bigger than that of the Beam UTXO, because ",[94,3748,3681],{}," may broadcast the Beam transaction just before the timeout expires, the ",[94,3751,3675],{}," should still have enough time to build and broadcast the BTC transaction.",[43,3754,3756],{"id":3755},"technical-design","Technical design",[11,3758,32,3759,3762],{},[58,3760,3761],{},"unlock secret"," is the SHA-256 hash preimage (i.e. a 256-bit value which, after hashing, should be equal to a known 256-bit value). Supported on Beam, BTC, and, probably, many other networks.",[11,3764,3765,3768],{},[94,3766,3767],{},"Note",": The drawback of this scheme is a considerable privacy compromise. As we'll see, it's possible for the attacker to detect such an atomic swap, by looking for the matching hash preimages in both networks.",[11,3770,3771,3772,3774],{},"There is a better option, where the ",[58,3773,3761],{}," is an EC scalar, i.e. private key. It's based on the so-called aggregate signatures. It's less generic, since it assumes both networks use the same EC equation and the Generator.",[11,3776,3777],{},"So we'll review the scheme with the Hash-lock, but keep in mind that it can easily be modified to the one with the aggregate signature, and the rest of the argument, and the general flow are exactly the same.",[11,3779,3780],{},"There are no scripts in Beam blockchain. However the following is supported in the transaction kernel:",[89,3782,3783,3786],{},[54,3784,3785],{},"Timelock - minimum blockchain height for the kernel to be valid",[54,3787,3788],{},"HashPreimage",[26,3790,3792],{"id":3791},"utxo-lock-on-btc-network","UTXO lock on BTC network",[11,3794,3795,3797],{},[94,3796,3681],{}," broadcasts a BTC transaction, which creates an UTXO which can be spent under the following conditions:",[51,3799,3800,3805],{},[54,3801,3802,3803],{},"Timeout + secret key chosen by ",[94,3804,3681],{},[54,3806,3807,3808,3810,3811],{},"Hash preimage chosen by ",[94,3809,3681],{}," + secret key chosen by ",[94,3812,3675],{},[26,3814,3816],{"id":3815},"utxo-lock-on-beam-network","UTXO lock on Beam network",[11,3818,3819,3820,163,3822,3824,3825,3828],{},"This part is somewhat more complex, since there are no scripts in Beam. ",[94,3821,3675],{},[94,3823,3681],{}," collaborate to create a ",[58,3826,3827],{},"shared"," UTXO, whose blinding factor is shared between them.",[51,3830,3831,3838,3858,3873],{},[54,3832,3833,163,3835,3837],{},[94,3834,3675],{},[94,3836,3681],{}," randomly choose their parts of the blinding factor for the shared UTXO",[54,3839,3840,163,3842,3844,3845,3847,3848],{},[94,3841,3675],{},[94,3843,3681],{}," first create the \"rollback\" transaction, which would transfer the shared UTXO back to ",[94,3846,3675],{}," if the exchange didn't take place.\n",[89,3849,3850,3853],{},[54,3851,3852],{},"This transaction kernel is Time-locked, i.e. transaction can only be broadcasted starting from specific blockchain height.",[54,3854,3855,3857],{},[94,3856,3675],{}," saves this transaction, but doesn't broadcast yet.",[54,3859,3860,163,3862,3864,3865,3867,3868],{},[94,3861,3675],{},[94,3863,3681],{}," create the transaction that spends ",[94,3866,3675],{},"'s UTXO and creates the shared one.\n",[89,3869,3870],{},[54,3871,3872],{},"The tricky part is creating the Bulletproof for the shared UTXO. Takes 3 iterations.",[54,3874,3875],{},"They broadcast this transaction to the Beam network, to create the shared UTXO.",[26,3877,3879],{"id":3878},"exchange-transaction","Exchange transaction",[11,3881,3882,3883,3885,3886,3889,3890,3892,3893,3896,3897,385],{},"At this point both Beam and BTC UTXOs are locked, both parties get confirmations for this. In addition ",[94,3884,3675],{}," knows the ",[58,3887,3888],{},"Image"," of the locked BTC UTXO. Now they collaborate to build a Beam transaction that transfers the shared (locked) Beam UTXO to ",[94,3891,3681],{}," in exchange for revealing the ",[58,3894,3895],{},"Hash Preimage",", which, after hashing, equals to the known ",[58,3898,3888],{},[89,3900,3901,3906,3916,3923,3928,3936,3951],{},[54,3902,3903,3905],{},[94,3904,3681],{}," randomly chooses the blinding factor for the new UTXO",[54,3907,3908,3910,3911,3913,3914,385],{},[94,3909,3675],{}," creates the Transaction Kernel, which is supposed to contain the ",[58,3912,3895],{}," (but doesn't contain yet), which corresponds to the knwo ",[58,3915,3888],{},[54,3917,3918,3920,3921,385],{},[94,3919,3675],{}," puts her part of the kernel multisig, which assumes the correct ",[58,3922,3888],{},[54,3924,3925,3926,385],{},"Incomplete transaction is passed to ",[94,3927,3681],{},[54,3929,3930,3932,3933,3935],{},[94,3931,3681],{}," puts his part of the kernel multisig, which assumes the correct ",[58,3934,3888],{}," (same as Alice).",[54,3937,3938,3946],{},[145,3939,3940,3942,3943,3945],{},[94,3941,3681],{}," substitutes the correct ",[58,3944,3895],{}," to make the transaction kernel valid.",[89,3947,3948],{},[54,3949,3950],{},"This is where the atomic swap actually occurs!",[54,3952,3953,3955],{},[94,3954,3681],{}," broadcasts the transaction to the Beam network.",[11,3957,3958,3960],{},[94,3959,3675],{}," monitors the Beam network. Once the exchange transaction kernel is visible:",[89,3962,3963,3968,3975],{},[54,3964,3965,3967],{},[94,3966,3675],{}," realized that the exchange occurred.",[54,3969,3970,3972,3973,385],{},[94,3971,3675],{}," learns the ",[58,3974,3895],{},[54,3976,3977,3979],{},[94,3978,3675],{}," creates and broadcasts the BTC transaction to claim her BTC UTXO.",[43,3981,3983],{"id":3982},"in-depth-flow-diagram","In-depth flow diagram",[26,3985,3987],{"id":3986},"bob","Bob",[89,3989,3990,4051,4110,4115,4179],{},[54,3991,3992,3993],{},"Collaborate to lock the BTC UTXO\n",[89,3994,3995,4007,4016,4024,4045],{},[54,3996,3997,3998,710,4001,4003,4004,385],{},"Get ",[150,3999,4000],{},"Pka",[94,4002,3675],{}," - her generated pubkey for some secret key ",[150,4005,4006],{},"ska",[54,4008,4009,4010,4013,4014,385],{},"Generate the ",[150,4011,4012],{},"hpi"," - the ",[58,4015,3895],{},[54,4017,4018,4013,4021,385],{},[150,4019,4020],{},"hi = Hash(hpi)",[58,4022,4023],{},"Hash Image",[54,4025,4026,4027],{},"Generate and broadcast the transaction that creates a locked BTC UTXO.\n",[89,4028,4029,4037],{},[54,4030,4031,4032,163,4034,4036],{},"The created UTXO can be spent iff both ",[150,4033,4012],{},[150,4035,4006],{}," are known.",[54,4038,4039,163,4042,4044],{},[150,4040,4041],{},"hi",[150,4043,4000],{}," are revealed.",[54,4046,4047,4048,4050],{},"Send ",[94,4049,3675],{}," this transaction (so she'll be able to identify it in the BTC network).",[54,4052,4053,4054],{},"Collaborate to lock the Beam UTXO\n",[89,4055,4056,4062,4070,4089,4099],{},[54,4057,456,4058,4061],{},[150,4059,4060],{},"sfb"," - the part of the blinding factor of the shared UTXO.",[54,4063,3997,4064,557,4067,4069],{},[150,4065,4066],{},"Pfa",[94,4068,3675],{},"'s part of the public blinding factor (of the shared UTXO).",[54,4071,4072,4073,4075],{},"Collaborate to sign the kernel for the transaction that transfers the shared (non-existing yet) UTXO back to ",[94,4074,3675],{},[89,4076,4077,4082],{},[54,4078,4079],{},[145,4080,4081],{},"The kernel must be time-locked",[54,4083,4084,4086,4087,385],{},[94,4085,3681],{},"'s part of the signature accounts for the ",[150,4088,4060],{},[54,4090,4091,4092],{},"Collaborate to create the Bulletproof of the shared UTXO.\n",[89,4093,4094],{},[54,4095,4096,4097],{},"requires 3 iteration cycles with ",[94,4098,3675],{},[54,4100,4101,4102],{},"Collaborate to sign the kernel for the transaction that creates the shared UTXO\n",[89,4103,4104],{},[54,4105,4106,4086,4108,385],{},[94,4107,3681],{},[150,4109,4060],{},[54,4111,4112],{},[145,4113,4114],{},"Wait until the mutual UTXO becomes visible",[54,4116,4117,4118],{},"Collaborate to build the exchange transaction\n",[89,4119,4120,4137,4140,4146,4152,4160,4176],{},[54,4121,4122,4123,3149,4125],{},"Transaction kernel is supposed to (but doesn't yet) contain the ",[150,4124,4012],{},[89,4126,4127],{},[54,4128,4129,4130,4133,4134,4136],{},"Means - its signature signs the kernel contents, including ",[150,4131,4132],{},"Hash(hpi) == hi",", whereas ",[150,4135,4041],{}," is known to both parties.",[54,4138,4139],{},"Generate the new UTXO",[54,4141,4142,4143,4145],{},"Pass it to ",[94,4144,3675],{}," so that she creates such a kernel, and substitutes her part of the signature.",[54,4147,4148,4149,4151],{},"Get the half-signed kernel from ",[94,4150,3675],{},", and verify it.",[54,4153,4154],{},[145,4155,4156,4159],{},[94,4157,4158],{},"Important:"," Ensure there is enough time left until the timelock of the shared UTXO expires!",[54,4161,4162,4163],{},"Finish the kernel signature.\n",[89,4164,4165,4173],{},[54,4166,4167,4168,4170,4171,385],{},"Substitute the ",[150,4169,4012],{}," as the ",[58,4172,3895],{},[54,4174,4175],{},"Complete the signature.",[54,4177,4178],{},"Broadcast the transaction to the Beam network.",[54,4180,4181,4184],{},[145,4182,4183],{},"Wait until the exchange transaction becomes visible, or until the BTC UTXO timelock expires.",[89,4185,4186,4189],{},[54,4187,4188],{},"If the transaction is visible (and enough new blocks are generated above) - Congratulations! It's done.",[54,4190,4191],{},"If the BTC UTXO timelock expired and it's still unspent - take it back (create and broadcast another BTC transaction).",[26,4193,4195],{"id":4194},"alice","Alice",[89,4197,4198,4238,4286,4291,4296,4331],{},[54,4199,3992,4200],{},[89,4201,4202,4207,4214],{},[54,4203,456,4204,4206],{},[150,4205,4006],{}," - private key on the BTC network.",[54,4208,4047,4209,651,4212,385],{},[150,4210,4211],{},"Pka = G * ska",[94,4213,3681],{},[54,4215,4216,4217,4219,4220],{},"Receive the BTC transaction details from ",[94,4218,3681],{},", and verify it\n",[89,4221,4222,4225],{},[54,4223,4224],{},"Correct amount is locked.",[54,4226,4227,4228,4230,4231,4234,4235,4237],{},"Can be spent using ",[150,4229,4006],{},", and a ",[58,4232,4233],{},"Preimage"," of ",[150,4236,4041],{}," (the preimage is not known yet).",[54,4239,4053,4240],{},[89,4241,4242,4245,4250,4257,4283],{},[54,4243,4244],{},"Select input(s) to build the transaction that creates the shared UTXO",[54,4246,456,4247,4061],{},[150,4248,4249],{},"sfa",[54,4251,3997,4252,557,4255,4069],{},[150,4253,4254],{},"Pfb",[94,4256,3681],{},[54,4258,4259,4260,4262,4263],{},"Collaborate with ",[94,4261,3681],{}," to build:\n",[89,4264,4265,4277,4280],{},[54,4266,4267,4268,3149,4270],{},"A time-locked rollback transaction that transfers the shared (non-existing yet) UTXO back to ",[94,4269,3675],{},[89,4271,4272],{},[54,4273,4274],{},[145,4275,4276],{},"It must be created before the shared UTXO is actually created.",[54,4278,4279],{},"Bulletproof for the shared UTXO",[54,4281,4282],{},"Transaction that spends the selected inputs and creates the shared UTXO",[54,4284,4285],{},"Send the transaction to create the shared UTXO to the network",[54,4287,4288],{},[145,4289,4290],{},"Wait until the locked BTC UTXO becomes visible in the BTC network",[54,4292,4293],{},[145,4294,4295],{},"Ensure the BTC timelock is significantly bigger than the Beam timelock",[54,4297,4117,4298],{},[89,4299,4300,4304,4326],{},[54,4301,4122,4302,385],{},[150,4303,4012],{},[54,4305,4306,4308,4309],{},[94,4307,3675],{}," creates such a kernel, puts her part of the signature, which\n",[89,4310,4311,4317],{},[54,4312,4313,4314,4316],{},"Corresponds to her part of the shared UTXO (compensates for ",[150,4315,4006],{},").",[54,4318,4319,4320,4322,4323,4325],{},"Would become valid only when the correct ",[58,4321,3895],{}," (",[150,4324,4012],{},") will be substituted.",[54,4327,4328,4329],{},"Half-signed transaction is passed to ",[94,4330,3681],{},[54,4332,4333,4336],{},[145,4334,4335],{},"Wait until the exchange transaction becomes visible, or until the Beam UTXO timelock expires.",[89,4337,4338,4355,4363],{},[54,4339,4340,4341],{},"Once the transaction is visible:\n",[89,4342,4343,4350],{},[54,4344,4345,3972,4347,4349],{},[94,4346,3675],{},[150,4348,4012],{}," from the visible transaction kernel",[54,4351,4352,4354],{},[94,4353,3675],{}," Creates and broadcasts the BTC transaction to claim the BTC UTXO",[54,4356,4357,4358],{},"If the Beam UTXO timelock expired and it's still unspent\n",[89,4359,4360],{},[54,4361,4362],{},"Broadcast the rollback transaction to the network",[54,4364,4365],{},"Wait until the transaction (either post-exchange or the rollback) becomes visible.",[26,4367,4369],{"id":4368},"swap-diagram","Swap diagram",[11,4371,4372],{},[2707,4373],{"alt":4374,"src":4375},"Atomic Swap Diagram","https:\u002F\u002Fuser-images.githubusercontent.com\u002F2501619\u002F60335463-abf39900-99a6-11e9-83ae-9494ea9e3577.png",{"title":760,"searchDepth":761,"depth":761,"links":4377},[4378,4379,4380,4381,4382,4383],{"id":3791,"depth":761,"text":3792},{"id":3815,"depth":761,"text":3816},{"id":3878,"depth":761,"text":3879},{"id":3986,"depth":761,"text":3987},{"id":4194,"depth":761,"text":4195},{"id":4368,"depth":761,"text":4369},{},"\u002Fdocs\u002Fcore-tech\u002Fatomic-swap",{"description":3658},"docs\u002Fcore-tech\u002FAtomic-swap","BWZXO4MBfJS3u_Ih-McwqLbURCV2QG5WTJg4y-0jeqg",{"id":4390,"title":4391,"body":4392,"description":760,"extension":775,"image":776,"meta":4477,"navTitle":776,"navigation":778,"path":4478,"seo":4479,"stem":4480,"__hash__":4481},"docs\u002Fdocs\u002Fcore-tech\u002FAtomic-swap-token.md","Atomic swap token",{"type":8,"value":4393,"toc":4469},[4394,4397,4401,4404,4408,4411,4416,4421,4426,4429,4432,4436,4439,4444,4447,4452,4456],[43,4395,4391],{"id":4396},"atomic-swap-token",[26,4398,4400],{"id":4399},"overview","Overview",[11,4402,4403],{},"Swap token is intended to allow users to exchange info about transactions(swap) via any side channels.\nIn general, token is serialized list of transaction parameters, presented as a base58 encoded byte buffer.",[26,4405,4407],{"id":4406},"description","Description",[11,4409,4410],{},"Token has the following fields:",[11,4412,4413],{},[150,4414,4415],{},"- flags              \u002F\u002F 1 byte",[11,4417,4418],{},[150,4419,4420],{},"- optional TxID      \u002F\u002F 1 or 17 bytes",[11,4422,4423],{},[150,4424,4425],{},"- list of parameters \u002F\u002F not less than 34 byte since transaction should have at least one address parameter",[716,4427,4428],{"id":4428},"flags",[11,4430,4431],{},"Flags is a 1-byte field where only the highest bit is defined the others are reserved.\n0x80 means that this is a token.",[716,4433,4435],{"id":4434},"tx-id","tx ID",[11,4437,4438],{},"This is an optional transaction ID. All swap transaction should have this value. It is optional for the cases if we will use the token structure for other types of transaction.\nThere are two possible values:",[11,4440,4441],{},[150,4442,4443],{},"|0x01| 16 byte UUID|",[11,4445,4446],{},"or",[11,4448,4449],{},[150,4450,4451],{},"|0x00| ",[716,4453,4455],{"id":4454},"transaction-parameters","Transaction parameters",[11,4457,4458,4459,4462,4463,4468],{},"Transaction parameter is a pair of the parameter key and value.\nThe key is 1 byte value and its meaning is defined by ",[150,4460,4461],{},"TxParameterID ","enum from ",[18,4464,4467],{"href":4465,"rel":4466},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fwallet\u002Fcommon.h",[22],"wallet\u002Fcommon.h","\nThe values are arrays of bytes and contain serialized values.\nThe value type and size is defined by the key meaning. All integer types are big-endian.",{"title":760,"searchDepth":761,"depth":761,"links":4470},[4471,4472],{"id":4399,"depth":761,"text":4400},{"id":4406,"depth":761,"text":4407,"children":4473},[4474,4475,4476],{"id":4428,"depth":772,"text":4428},{"id":4434,"depth":772,"text":4435},{"id":4454,"depth":772,"text":4455},{},"\u002Fdocs\u002Fcore-tech\u002Fatomic-swap-token",{"title":4391,"description":760},"docs\u002Fcore-tech\u002FAtomic-swap-token","zXTwdQ81NRpALueOEdl4jSYTum-9v0fEeRwSCy2FwvQ",{"id":4483,"title":4484,"body":4485,"description":4906,"extension":775,"image":776,"meta":4907,"navTitle":776,"navigation":778,"path":4908,"seo":4909,"stem":4910,"__hash__":4911},"docs\u002Fdocs\u002Fcore-tech\u002FAuthorization-control-and-signatures-in-contracts.md","Authorization Control And Signatures In Contracts",{"type":8,"value":4486,"toc":4899},[4487,4501,4504,4515,4518,4521,4538,4548,4551,4558,4561,4584,4588,4591,4594,4601,4604,4637,4640,4644,4650,4653,4660,4670,4673,4676,4683,4700,4703,4707,4716,4719,4762,4765,4768,4771,4815,4818,4839,4843,4850,4889,4893,4896],[11,4488,4489,4490,4493,4494,4497,4498,385],{},"In the most common cases the contract method calls ",[150,4491,4492],{},"Env::AddSig()"," for each needed public key, and the app shader includes the key material for each key within the ",[150,4495,4496],{},"SigRequest"," structure, when it calls ",[150,4499,4500],{},"Env::GenerateKernel()",[11,4502,4503],{},"This is a preferred method to design a contract and its application, as it has the following advantages:",[89,4505,4506,4509,4512],{},[54,4507,4508],{},"Performance: native signature is both compact and fast.",[54,4510,4511],{},"Security: apps have no access to secret keys, they can only derive public keys.",[54,4513,4514],{},"Simplicity.",[11,4516,4517],{},"However there are more complex situations, where either several users are required to authorize a method call, or a custom signature scheme is required (such as m-out-of-n signature).",[11,4519,4520],{},"Those may include:",[51,4522,4523,4529,4532,4535],{},[54,4524,4525,4526,4528],{},"Explicit multisignatures. Several keys are verified (mutliple calls to ",[150,4527,4492],{},"), belonging to different users.",[54,4530,4531],{},"Seemless multisignatures. There is a single key, but it is a sum (or any linear combination) of several keys, belonging to different users.",[54,4533,4534],{},"Non-standard signature is needed (ring signatures and etc.).",[54,4536,4537],{},"Any combination of the above",[11,4539,4540,4541,4543,4544,4547],{},"On the contract side those are supported. In addition to ",[150,4542,4492],{}," (which can be invoked arbitrary number of times) the contract has access to ",[94,4545,4546],{},"Secp"," primitives, using which it can implement custom cryptographic scheme verification.",[11,4549,4550],{},"For apps, however, the default functionality is not enough. Creating a multisigned transaction that is supposed to invoke such a contract assumes that different wallets should cooperate and communicate on behalf of the apps.",[11,4552,4553,4554,4557],{},"So we extended the BVM functionality to support all the variety of possible signature schemes. Though apps still don't get direct access to secret keys with the added functions, the risk is somewhat greater (more about this later), hence to use those extra functions the app needs an ",[145,4555,4556],{},"elevated privilege level"," (OFF by default).",[11,4559,4560],{},"Technically those functions are:",[89,4562,4563,4566,4572,4575,4578],{},[54,4564,4565],{},"Nonce Slots management functions",[54,4567,4568,4569,4571],{},"getting an image of a key or a slot, with either standard (",[94,4570,96],{},") or any custom generator",[54,4573,4574],{},"getting a blinded key",[54,4576,4577],{},"Communication support (via SBBS system)",[54,4579,4580,4583],{},[150,4581,4582],{},"Env::GenerateKernelAdvanced()"," - with more specific signature control",[26,4585,4587],{"id":4586},"nonce-slots-and-blinded-keys","Nonce slots and blinded keys",[11,4589,4590],{},"(the idea of nonce slots is the same as in our HW wallet design)",[11,4592,4593],{},"Generally our supported signatures follow this ritual: first a unique nonce is generated and its image is exposed (in some manner). Then, during the signing, a pseudo-random challenge is derived, and the prover should reveal a linear combination of the secret key and the nonce, a.k.a. blinded key.",[11,4595,4596,4597,4600],{},"This scheme is applicable to Schnorr's signature, Ring signature, Groth's 1-out-of-many, and probably many others.\nIt's ",[94,4598,4599],{},"critically"," important to make sure the nonce is unique, i.e. not reused for the same secret key in different signatures.",[11,4602,4603],{},"So we decided to add appropriate support functions for the apps: generate unique nonces, get their images, and get blinded keys:",[89,4605,4606,4617,4620],{},[54,4607,4608,4609],{},"Generate unique nonce.\n",[89,4610,4611,4614],{},[54,4612,4613],{},"BVM generates a nonce using system random and state mutation.",[54,4615,4616],{},"optionally app can specify extra seed data to strengthen the nonce (i.e. less dependency on system random).",[54,4618,4619],{},"Get nonce image (arbitrary number of times, with arbitrary generators).",[54,4621,4622,4623],{},"Get blinded key.\n",[89,4624,4625,4634],{},[54,4626,4627,4628,441,4631,4633],{},"The app supplies the needed key material (a.k.a. ",[150,4629,4630],{},"KeyID",[150,4632,4496],{},"), arbitrary challenge (scalar) and the nonce slot number.",[54,4635,4636],{},"Once the nonce is used - it's immediately wiped.",[11,4638,4639],{},"By such apps are given opportunity to build complex signature schemes, without either direct access to the secret keys, or the feasible opportunity to extract them.",[43,4641,4643],{"id":4642},"building-a-custom-signature-scheme","Building a custom signature scheme",[11,4645,4646,4647,4649],{},"As we mentioned, an app can create a custom signature (such as Ring signature), include it in the contract method invocation arguments, then the contract shader may verify it by implementing the needed verification scheme (in terms of ",[94,4648,4546],{}," primitives).",[11,4651,4652],{},"Apps can generate such signatures by the provided functionality: obtaining nonce images, and getting blinded keys for the needed challenges.",[716,4654,4656,4657],{"id":4655},"risk-of-signature-hijacking","Risk of signature ",[58,4658,4659],{},"hijacking",[11,4661,4662,4663,4665,4666,4669],{},"When using native signature (",[150,4664,4496],{},"\u002F",[150,4667,4668],{},"AddSig()","), it's included in the kernel multi-signature, which also includes its blinding factor. Other users can't take it as-is and use in their transactions (it's not feasible to build a transaction with unknown blinding factor).",[11,4671,4672],{},"In contrast, the custom signature is not automatically bound to the kernel blinding factor. Hence any other user that monitors transactions can build its own transaction that invokes the same method with exactly the same arguments.",[11,4674,4675],{},"To mitigate this threat we recommend the following scheme:",[11,4677,4678,4679,4682],{},"Normally challenges for signatures are derived using ",[58,4680,4681],{},"Random Oracle Model",", which is initialized with the message being-signed, this binds the signature for this specific message.",[11,4684,4685,4686,4689,4690,4693,4694,4697,4698,4316],{},"So we recommend deriving an arbitrary ephemeral (unique) key. Its image (pubKey) should be included in the method arguments, and initialize the ",[58,4687,4688],{},"Oracle"," (challenges derivation), ",[94,4691,4692],{},"AND"," it also should be included in the ",[145,4695,4696],{},"native"," kernel signature (i.e. ",[150,4699,4492],{},[11,4701,4702],{},"So we recommend using a hybrid of a custom and native signatures. Instead of binding the signature to a message, we recommend binding it to an ephemeral key, whose signature in turn is bound to the kernel blidning factor. By such it's no more feasible to hijack the signature.",[43,4704,4706],{"id":4705},"building-a-mutli-signed-transaction-using-native-signature","Building a mutli-signed transaction using native signature",[11,4708,4709,4710,4712,4713,4715],{},"In simple scenario the app calls ",[150,4711,4500],{},", and supplies the info about how it should be signed (gives array of ",[150,4714,4496],{},"), the signing itself is deferred until a later stage. Hence some kernel parameters may still vary: min\u002Fmax height, fee.",[11,4717,4718],{},"For multi-signed transactions this is different. All the kernel parameters must be decided in advance, so that all the challenges can be derived.\nThose include:",[89,4720,4721,4728,4731,4734,4737,4748],{},[54,4722,4723,4724,4727],{},"Standard parameters: ",[94,4725,4726],{},"contractID",", method number, args",[54,4729,4730],{},"min\u002Fmax heights",[54,4732,4733],{},"kernel fee",[54,4735,4736],{},"Funds balance",[54,4738,4739,4740],{},"Kernel blinding factor image\n",[89,4741,4742],{},[54,4743,4744,4745],{},"together with Funds balance is used to derive kernel ",[150,4746,4747],{},"Commitment",[54,4749,4750,4751],{},"Total nonce image, which includes\n",[89,4752,4753,4756,4759],{},[54,4754,4755],{},"internal BVM nonce for the kernel blinding factor",[54,4757,4758],{},"all the nonces the app uses for the keys used in the signature",[54,4760,4761],{},"all the nonces the apps running in different wallets use for their keys",[11,4763,4764],{},"From all this the challenges are derived.",[11,4766,4767],{},"Then it's the apps's task to calculate the signature: the sum of all the needed blinded keys (its own, as well as of other users).",[11,4769,4770],{},"Technically the flow goes like this:",[89,4772,4773,4776,4779,4782,4790,4793,4796,4799,4809,4812],{},[54,4774,4775],{},"Decide auxiliary kernel parameters (heights, fee)",[54,4777,4778],{},"get nonce images",[54,4780,4781],{},"get the image of additional nonce, which would be used by the BVM to blind the kernel blinding factor",[54,4783,4784,4785],{},"for all the co-signers:\n",[89,4786,4787],{},[54,4788,4789],{},"co-signers send their (cumulative) nonces for their keys",[54,4791,4792],{},"sum all the nonces",[54,4794,4795],{},"Call Env::GenerateKernelAdvanced() for the 1st time to derive the challenges",[54,4797,4798],{},"Extract the blinded keys, using the appropriate nonces and derived challenges",[54,4800,4784,4801],{},[89,4802,4803,4806],{},[54,4804,4805],{},"Signer sends them the total nonce and the kernel blidning factor, so that they cal also derive the challenges",[54,4807,4808],{},"co-Signers reply with the sum of their blinded keys",[54,4810,4811],{},"sum those blinded keys to get a multi-signature",[54,4813,4814],{},"Invoke Env::GenerateKernelAdvanced() for the 2nd time, to finally build the transaction.",[11,4816,4817],{},"Some examples of this flow:",[89,4819,4820,4830,4836],{},[54,4821,4822,4825,4826,4829],{},[94,4823,4824],{},"vault"," app: example of a seamless multisignature, where a vault ",[150,4827,4828],{},"PubKey"," is actually a sum of the keys of 2 users. The contract code is unmodified (i.e. doesn't care if this is a multi-owned account).",[54,4831,4832,4835],{},[94,4833,4834],{},"upgradable2"," contract and app: example of an explicit multisignature, where the contract demands authorization by multiple keys.",[54,4837,4838],{},"more examples to come, to demonstrate custom signature schemes",[43,4840,4842],{"id":4841},"security-considerations","Security considerations",[11,4844,4845,4846,4849],{},"When app is invoked in the wallet, it's possible to define its ",[58,4847,4848],{},"privilege level",", which may restrict its access to potentially dangerous functionality.",[89,4851,4852,4855,4866,4881],{},[54,4853,4854],{},"Level 0: apps have no access to any user-specific info, and no permission to create transactions. They can only interpret and display the blockchain status information. This is considered safe (though of course the info that app displays may be misleading).",[54,4856,4857,4858],{},"Level 1 (default): Apps have an access to user's public keys (only those related to contracts), and can ask to create transactions. For the transactions the user sees the resulting balance (funds in\u002Fout), and they need user approval. There are 2 risks to consider:",[89,4859,4860,4863],{},[54,4861,4862],{},"There is no reliable way to know it the funds are spent as supposed. A malicious app can steal those funds by sending them such that they won't be accessible by the user in the future.",[54,4864,4865],{},"App may try to deanonymize the user. It may derive multiple public keys, which are normally intended for different contracts, and expose them in some transaction in a seamless way (a disguised parameter to some contract, recognized by the attacker).",[54,4867,4868,4869],{},"Level 2: Apps have access to blinded keys.",[89,4870,4871,4878],{},[54,4872,4873,4874,4877],{},"A malicious app can sign ",[94,4875,4876],{},"arbitrary"," transaction to steal the user funds.",[54,4879,4880],{},"Although such a risk already exists at privilege level 1, here it's somewhat greater, because the leaked signature may be used later, not necessarily during the app invocation.",[54,4882,4883,4884],{},"Level 3: Apps have access to inter-wallet communication.",[89,4885,4886],{},[54,4887,4888],{},"This somewhat increases the risk of disguised signature leakage: Rather than hiding the leaked signature for the attacker on-chain in the explicit tx, a malicious app can now communicate it directly to the attacker.",[26,4890,4892],{"id":4891},"conclusion","Conclusion",[11,4894,4895],{},"At any privilege level above 0 there is a risk of deanonymization and funds theft. So we strongly suggest using only trusted apps: either reviewed and built by the user, or signed by trusted 3rd-party developers.",[11,4897,4898],{},"Anyway the deanonymization and theft risks are bounded by the contracts. Apps have no access to other wallet keys (UTXOs, shielded outputs, onwer key, and etc.",{"title":760,"searchDepth":761,"depth":761,"links":4900},[4901,4905],{"id":4586,"depth":761,"text":4587,"children":4902},[4903],{"id":4655,"depth":772,"text":4904},"Risk of signature hijacking",{"id":4891,"depth":761,"text":4892},"In the most common cases the contract method calls Env::AddSig() for each needed public key, and the app shader includes the key material for each key within the SigRequest structure, when it calls Env::GenerateKernel().",{},"\u002Fdocs\u002Fcore-tech\u002Fauthorization-control-and-signatures-in-contracts",{"description":4906},"docs\u002Fcore-tech\u002FAuthorization-control-and-signatures-in-contracts","C-OnMjHP9ioQ-Iv7oOk74ckIsD9GWGGoidVOXAywBMU",{"id":4913,"title":4914,"body":4915,"description":4921,"extension":775,"image":776,"meta":5415,"navTitle":776,"navigation":778,"path":5416,"seo":5417,"stem":5418,"__hash__":5419},"docs\u002Fdocs\u002Fcore-tech\u002FBEAM-IPFS-Support.md","BEAM IPFS Support",{"type":8,"value":4916,"toc":5406},[4917,4922,4931,4946,4950,4969,5201,5215,5219,5222,5236,5256,5260,5264,5275,5327,5342,5347,5363,5368,5384,5388,5391,5397,5403],[11,4918,4919],{},[94,4920,4921],{},"THIS DOCUMENT DESCRIBES UPCOMING AND NOT YET RELEASED v6.3 IPFS SUPPORT. Subject to change without prior notice.",[11,4923,4924,4925,4930],{},"As of v6.3 BEAM adds IPFS support and IPFS can be accessed via API. Refer ",[18,4926,4929],{"href":4927,"rel":4928},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.3",[22],"version 6.3 API"," docs for details on supported IPFS calls.",[89,4932,4933,4936,4943],{},[54,4934,4935],{},"in Desktop UI client IPFS is enabled by default. IPFS node is started when user launches any DApp granting full IPFS support to DApps. After IPFS node is started it continues to run until desktop client is closed.",[54,4937,4938,4939,4942],{},"in wallet-api IPFS support is disabled by default, ",[150,4940,4941],{},"--enable_ipfs=true"," option should be specified to start IPFS node granting full IPFS support",[54,4944,4945],{},"in Mobile clients & WASM client limited IPFS support is enabled. No local IPFS node is started, write-only methods like ipfs_add\u002Fipfs_pin would fail. Read-only methods like ipfs_get are enabled via HTTP calls to BEAM managed IPFS nodes.",[26,4947,4949],{"id":4948},"beam-ipfs-config","BEAM IPFS Config",[11,4951,4952,4953,4956,4957,4960,4961,4964,4965,4968],{},"BEAM IPFS repository is located in the ",[150,4954,4955],{},"[wallet data folder]\u002Fipfs-repo"," until ",[150,4958,4959],{},"--ipfs_repo=[path]"," option is specified for API CLI or ",[150,4962,4963],{},"[ipfsnode] ipfs_repo=[path]"," in Desktop ",[150,4966,4967],{},"settings.ini"," file. When there is no initialized IPFS repository in the given path it would be automatically initialized with the default 'server' IPFS profile for API CLI and with the default (client) profile for Desktop Client except the following custom BEAM settings:",[89,4970,4971,4989,5004,5017,5033,5046,5059,5072,5084,5096,5102,5115,5126,5138,5155,5170,5180,5189,5192,5195,5198],{},[54,4972,4973,4976,4977,4980,4981,4984,4985,4988],{},[150,4974,4975],{},"Swarm.ConnMgr.LowWater"," - is set to ",[150,4978,4979],{},"100",". Can be changed using ",[150,4982,4983],{},"--ipfs_low_water"," option in API CLI and using ",[150,4986,4987],{},"[ipfsnode] ipfs_low_water="," in Desktop client 'settings.ini' file.",[54,4990,4991,557,4994,4997,4998,441,5001],{},[150,4992,4993],{},"Swarm.ConnMgr.HighWater",[150,4995,4996],{},"200"," \u002F ",[150,4999,5000],{},"--ipfs_high_water",[150,5002,5003],{},"settings.ini -> [ipfsnode] ipfs_high_water=",[54,5005,5006,5007,4997,5010,441,5013,5016],{},"Swarm.ConnMgr.GracePeriod - ",[150,5008,5009],{},"20s",[150,5011,5012],{},"--ipfs_grace_period",[150,5014,5015],{},"settings.ini -> [ipfsnode] ipfs_grace_period="," as uint32 seconds",[54,5018,5019,5020,5023,5024,5029,5030],{},"Bootstrap - default BEAM bootstrap node(s) \u002F ",[150,5021,5022],{},"--ipfs_bootstrap"," (space separated ",[18,5025,5028],{"href":5026,"rel":5027},"https:\u002F\u002Fgithub.com\u002Fmultiformats\u002Fmultiaddr",[22],"multiaddr"," list), ",[150,5031,5032],{},"settings.ini -> [ipfsnode] ipfs_bootstrap=",[54,5034,5035,5036,5039,5040,441,5043],{},"Addresses.Swarm - custom ",[150,5037,5038],{},"10100"," listening port \u002F ",[150,5041,5042],{},"--ipfs_swarm_port",[150,5044,5045],{},"settings.ini -> [ipfsnode] ipfs_swarm_port=",[54,5047,5048,5049,5052,5053,441,5056],{},"Addresses.API - custom ",[150,5050,5051],{},"\u002Fip4\u002F127.0.0.1\u002Ftcp\u002F6100"," listening address for API \u002F empty (API disabled) on Desktop \u002F ",[150,5054,5055],{},"--ipfs_api_addr",[150,5057,5058],{},"settings.ini -> [ipfsnode] ipfs_api_addr=",[54,5060,5061,5062,5065,5066,441,5069],{},"Addresses.Gateway - custom ",[150,5063,5064],{},"\u002Fip4\u002F127.0.0.1\u002Ftcp\u002F6200"," listening address in API \u002F empty (Gateway disabled) on Desktop \u002F ",[150,5067,5068],{},"--ipfs_gateway_addr",[150,5070,5071],{},"settings.ini -> [ipfsnode] ipfs_gateway_addr=",[54,5073,5074,5075,5077,5078,441,5081],{},"Swarm.EnableAutoRelay - false in API \u002F ",[150,5076,2682],{}," on Desktop \u002F ",[150,5079,5080],{},"--ipfs_auto_relay",[150,5082,5083],{},"settings.ini -> [ipfsnode] ipfs_auto_relay=",[54,5085,5086,5087,4997,5090,441,5093],{},"Swarm.EnableRelayHop - ",[150,5088,5089],{},"false",[150,5091,5092],{},"--ipfs_relay_hop",[150,5094,5095],{},"settings.ini -> [ipfsnode] ipfs_relay_hop=",[54,5097,5098,5099,5101],{},"Swarm.Transports.Network.Relay - forced to ",[150,5100,2682],{}," everywhere. Not adjustable at the moment.",[54,5103,5104,5105,4997,5108,441,5111,5114],{},"AutoNAT.ServiceMode - ",[150,5106,5107],{},"enabled",[150,5109,5110],{},"--ipfs_autonat",[150,5112,5113],{},"settings.ini -> [ipfsnode] ipfs_autonat="," as bool",[54,5116,5117,5118,4997,5120,441,5123],{},"AutoNAT.Throttle.GlobalLimit - ",[150,5119,1197],{},[150,5121,5122],{},"--ipfs_autonat_limit",[150,5124,5125],{},"settings.ini -> [ipfsnode] ipfs_autonat_limit=",[54,5127,5128,5129,4997,5132,441,5135],{},"AutoNAT.Throttle.PeerLimit - ",[150,5130,5131],{},"3",[150,5133,5134],{},"--ipfs_autonat_peer_limit",[150,5136,5137],{},"settings.ini -> [ipfsnode] ipfs_autonat_peer_limit=",[54,5139,5140,5141,5144,5145,5148,5149,441,5152],{},"Datastore.StorageMax - ",[150,5142,5143],{},"20GB"," in API CLI \u002F ",[150,5146,5147],{},"2GB"," in Desktop client \u002F ",[150,5150,5151],{},"--ipfs_storage_max",[150,5153,5154],{},"settings.ini -> [ipfsnode] ipfs_storage_max=",[54,5156,5157,5158,5144,5161,5148,5164,441,5167],{},"Routing.Type - ",[150,5159,5160],{},"dhtserver",[150,5162,5163],{},"dht",[150,5165,5166],{},"--ipfs_routing_type",[150,5168,5169],{},"settings.ini -> [ipfsnode] ipfs_routing_type=",[54,5171,5172,5173,441,5176,5179],{},"swarm.key file is created to ensure connection to the BEAM private IPFS network \u002F ",[150,5174,5175],{},"--ipfs_swarm_key",[150,5177,5178],{},"settings.ini -> [ipfsnode] ipfs_swarm_key="," as string",[54,5181,5182,5183,441,5186,5114],{},"IPFS periodic GC is disabled in API CLI \u002F launched in Desktop Client \u002F ",[150,5184,5185],{},"--ipfs_run_gc",[150,5187,5188],{},"settings.ini -> [ipfsnode] ipfs_run_gc=",[54,5190,5191],{},"sockets-based activation for \"io.ipfs.api\" and \"io.ipfs.gateway\" is disabled at the moment and is not planned in the future. Contact us if you need this feature.",[54,5193,5194],{},"WebUI is not supported and disabled, will be supported in the future",[54,5196,5197],{},"fuse mounts for \"\u002Fipfs\" and \"\u002Fipfs\" are not supported and disabled, will be supported in the future",[54,5199,5200],{},"remote pinning for MFS roots is not supported and disabled, will be supported in the future",[11,5202,5203,5204,5207,5208,4665,5211,5214],{},"There are no changes in default IPFS repo layout, all default config and data files are and you are able to manage the IPFS repo via default IPFS cli tool paired with the ",[150,5205,5206],{},"IPFS_PATH"," environment variable. Ensure that BEAM client that uses the repo is not launched when accessing it using IPFS cli. In case of Desktop client's IPFS repo ",[150,5209,5210],{},"ipfs_node_api_port",[150,5212,5213],{},"Addresses.API"," setting should be specified  before running daemon or it would crash. go-ipfs is unable to launch without API support.",[716,5216,5218],{"id":5217},"ipfs-repoconfiglock-file","ipfs-repo\u002Fconfig.lock file",[11,5220,5221],{},"This section describes BEAM extension to IPFS repo & config handling.",[11,5223,5224,5225,5228,5229,5231,5232,5235],{},"On every start BEAM would force and overwrite the aforementioned BEAM custom settings in the ",[150,5226,5227],{},"ipfs-repo\u002Fconfig"," file. If you want to cancel this behavior, edit the ",[150,5230,5227],{}," file manually or via cli and preserve your custom changes ",[150,5233,5234],{},"ipfs-repo\u002Fconfig.lock"," file should be created.",[11,5237,5238,5239,5241,5242,5244,5245,5248,5249,5252,5253,5255],{},"If ",[150,5240,5234],{}," is present BEAM would not make any changes to the ",[150,5243,5227],{}," file. All BEAM ways to change IPFS settings are immediately blocked and ignored including ",[150,5246,5247],{},"--ipfs-xxx"," CLI options, any IPFS options set in ",[150,5250,5251],{},"wallet_api.cfg"," file, any IPFS options set via desktop UI and any IPFS options set in desktop UI ",[150,5254,4967],{}," file.",[26,5257,5259],{"id":5258},"useful-stuff","Useful stuff",[716,5261,5263],{"id":5262},"access-beam-ipfs-node-using-standard-ipfs-cli-tool","Access BEAM IPFS node using standard IPFS cli tool",[51,5265,5266,5269,5272],{},[54,5267,5268],{},"Start wallet api",[54,5270,5271],{},"Install go-ipfs",[54,5273,5274],{},"Create beam-ipfs bash script (do not forget to change your paths)",[866,5276,5280],{"className":5277,"code":5278,"language":5279,"meta":760,"style":760},"language-bash shiki shiki-themes github-dark","#\u002Fbin\u002Fbash\nexport IPFS_PATH=\u002Fhome\u002Fubuntu\u002Fbeam-api\u002Fipfs-repo\u002F\n# uncomment the following line if you're using private IPFS network\n# export LIBP2P_FORCE_PNET=1\n\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Fipfs \"$@\"\n","bash",[150,5281,5282,5287,5302,5307,5312],{"__ignoreMap":760},[984,5283,5284],{"class":986,"line":987},[984,5285,5286],{"class":1351},"#\u002Fbin\u002Fbash\n",[984,5288,5289,5293,5296,5299],{"class":986,"line":761},[984,5290,5292],{"class":5291},"snl16","export",[984,5294,5295],{"class":990}," IPFS_PATH",[984,5297,5298],{"class":5291},"=",[984,5300,5301],{"class":990},"\u002Fhome\u002Fubuntu\u002Fbeam-api\u002Fipfs-repo\u002F\n",[984,5303,5304],{"class":986,"line":772},[984,5305,5306],{"class":1351},"# uncomment the following line if you're using private IPFS network\n",[984,5308,5309],{"class":986,"line":1024},[984,5310,5311],{"class":1351},"# export LIBP2P_FORCE_PNET=1\n",[984,5313,5314,5318,5321,5324],{"class":986,"line":1035},[984,5315,5317],{"class":5316},"svObZ","\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Fipfs",[984,5319,5320],{"class":1003}," \"",[984,5322,5323],{"class":996},"$@",[984,5325,5326],{"class":1003},"\"\n",[11,5328,5329,5330,5332,5333,5335,5336,5338,5339,5341],{},"In desktop client IPFS node API is disabled by default. ",[150,5331,5210],{}," should be set in ",[150,5334,4967],{}," or ",[150,5337,5213],{}," in ",[150,5340,5227],{}," to access IPFS node API.",[51,5343,5344],{"start":1024},[54,5345,5346],{},"Make it executable",[866,5348,5350],{"className":5277,"code":5349,"language":5279,"meta":760,"style":760},"chmod  +x .\u002Fbeam_ipfs\n",[150,5351,5352],{"__ignoreMap":760},[984,5353,5354,5357,5360],{"class":986,"line":987},[984,5355,5356],{"class":5316},"chmod",[984,5358,5359],{"class":1003},"  +x",[984,5361,5362],{"class":1003}," .\u002Fbeam_ipfs\n",[51,5364,5365],{"start":1035},[54,5366,5367],{},"Execute usual ipfs commands via the script",[866,5369,5371],{"className":5277,"code":5370,"language":5279,"meta":760,"style":760},".\u002Fbeam-ipfs swarm peers\n",[150,5372,5373],{"__ignoreMap":760},[984,5374,5375,5378,5381],{"class":986,"line":987},[984,5376,5377],{"class":5316},".\u002Fbeam-ipfs",[984,5379,5380],{"class":1003}," swarm",[984,5382,5383],{"class":1003}," peers\n",[716,5385,5387],{"id":5386},"systemd-ipfs-unit-file","SystemD IPFS unit file",[11,5389,5390],{},"Example below if given for a standard go-ipfs binary. You can also use the same settings for running wallet API",[866,5392,5395],{"className":5393,"code":5394,"language":871},[869],"\u002Fetc\u002Fsystemd\u002Fsystem\u002Fipfs.service\n",[150,5396,5394],{"__ignoreMap":760},[866,5398,5401],{"className":5399,"code":5400,"language":871},[869],"[Unit]\nDescription=GO IPFS Node\nAfter=network.target\n\n[Service]\nType=exec\nRestart=on-failure\nEnvironment=\"IPFS_PATH=\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Frepo\"\n# uncomment if private IPFS network\n# Environment=\"LIBP2P_FORCE_PNET=1\"\nWorkingDirectory=\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\nExecStart=\u002Fhome\u002Fubuntu\u002Fgo-ipfs-node\u002Fipfs daemon\n\n[Install]\nWantedBy=multi-user.target\n",[150,5402,5400],{"__ignoreMap":760},[2685,5404,5405],{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":760,"searchDepth":761,"depth":761,"links":5407},[5408,5411],{"id":4948,"depth":761,"text":4949,"children":5409},[5410],{"id":5217,"depth":772,"text":5218},{"id":5258,"depth":761,"text":5259,"children":5412},[5413,5414],{"id":5262,"depth":772,"text":5263},{"id":5386,"depth":772,"text":5387},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-ipfs-support",{"description":4921},"docs\u002Fcore-tech\u002FBEAM-IPFS-Support","kuMWwdDKkHaaO3oP7MCk0Fy1pm8__F73lmVdOKuY0_E",{"id":5421,"title":5422,"body":5423,"description":5427,"extension":775,"image":776,"meta":5587,"navTitle":776,"navigation":778,"path":5588,"seo":5589,"stem":5590,"__hash__":5591},"docs\u002Fdocs\u002Fcore-tech\u002FBEAM-Mining.md","BEAM Mining",{"type":8,"value":5424,"toc":5579},[5425,5428,5434,5437,5440,5443,5447,5456,5466,5474,5481,5485,5488,5492,5496,5499,5503,5506,5509,5512,5515,5526,5530,5533,5537,5541,5546,5560,5564],[11,5426,5427],{},"This page contains general information. For Step By Step guides on how to start Mining Beam please refer to:",[11,5429,5430],{},[18,5431,5432],{"href":5432,"rel":5433},"https:\u002F\u002Fbeam-docs.readthedocs.io\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_mining_beam.html",[22],[11,5435,5436],{},"Alike most cryptocurrencies, Beam relies on miners to add transactions to the blockchain. While all nodes in the Beam network confirm the validity of transactions, Beam counts on miners to take on the massive heavy lifting to guard the network.",[11,5438,5439],{},"Beam is a Mimblewimble implementation. We use classic Proof-of-Work (PoW) consensus.",[11,5441,5442],{},"We welcome everyone to join our mining community to support the network and earn Beam coins.",[43,5444,5446],{"id":5445},"mining-algorithm","Mining Algorithm",[11,5448,5449,5450,5455],{},"To secure the network, Beam uses the ",[18,5451,5454],{"href":5452,"rel":5453},"https:\u002F\u002Fwww.cryptolux.org\u002Findex.php\u002FEquihash",[22],"Equihash"," proof-of-work mining algorithm). Miners compete against each other using their computing power produce a new block on the chain. The first miner that gets to complete the precise computation for each block is granted with a network standard block reward and any fees for transactions added to that block.",[11,5457,5458,5459,441,5462,5465],{},"At Mainnet launch, we will use the following Equihash parameters: ",[94,5460,5461],{},"n=150",[94,5463,5464],{},"k=5",". In addition, we will introduce a small change to the datapath to further reduce the chance of zero-day ASICs.",[11,5467,5468,5469,441,5472],{},"Note: in Testnet 3 we are still using ",[94,5470,5471],{},"n=144",[94,5473,5464],{},[11,5475,5476,5477,385],{},"The minimal memory requirement for the GPU will be 4 GB. The most up-to-date list of supported GPUs will be available ",[18,5478,857],{"href":5479,"rel":5480},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FSupported-GPU-cards-for-mining-(NVIDIA)",[22],[43,5482,5484],{"id":5483},"block-size-and-time","Block Size and Time",[11,5486,5487],{},"A Beam block will be generated approximately every minute and contain about 1000 transactions. Block size will be roughly 1MB.",[43,5489,5491],{"id":5490},"miner-rewards","Miner Rewards",[26,5493,5495],{"id":5494},"block-rewards","Block Rewards",[11,5497,5498],{},"During the first year of Beam existence, miner reward will be 80 coins per block. In years 2-5 the reward will be 40 coins per block. In year 6 the reward will be to 25 coins, and then halving will occur every 4 years until year 129. After year 133, Beam emission will stop.",[26,5500,5502],{"id":5501},"treasury","Treasury",[11,5504,5505],{},"In the first five years of existence, additional coins will be issued to Beam Treasury with each newly mined Beam block.",[11,5507,5508],{},"In the first year, the Treasury will receive additional 20 Beams per  block, and in the years 2-5 the Treasury will receive 10 coins per block.",[11,5510,5511],{},"The Treasury will be used to repay Beam investors, Incentivize the Core Team and to support the Beam Foundation (largest single beneficiary of the Treasury).",[11,5513,5514],{},"The distribution of the Treasury Coins is performed on a quarterly basis in the following proportion:",[89,5516,5517,5520,5523],{},[54,5518,5519],{},"Investors: 35%",[54,5521,5522],{},"Core Team and Advisors: 40%",[54,5524,5525],{},"Beam Foundation: 20% (Biggest single beneficiary)",[26,5527,5529],{"id":5528},"asic-resistance","ASIC Resistance",[11,5531,5532],{},"To ensure better decentralization, Beam plans to stay ASIC resistance in the first 12-18 months. To achieve this, we plan to perform one or two hard forks – first after approximately 6 months of existence and another one after approximately 12 months. Each hard fork will change the mining algorithm. The exact modifications will be revealed several weeks before the actual hard fork.",[26,5534,5536],{"id":5535},"how-to-mine-beam","How to Mine Beam",[716,5538,5540],{"id":5539},"mining-with-standalone-node","Mining with Standalone Node",[5542,5543,5545],"h4",{"id":5544},"using-external-miner","Using External Miner",[11,5547,5548,5549,5553,5554,385],{},"For more complex configurations, one or more external miners can be connected to a Beam Node instance.\nThe external miner software is available for download ",[18,5550,857],{"href":5551,"rel":5552},"https:\u002F\u002Fwww.beam.mw\u002Fdownloads",[22],", and the detailed instructions for running it are (here)",[984,5555,5556],{},[18,5557,5558],{"href":5558,"rel":5559},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FInstructions-for-Command-Line-GPU-Miner",[22],[43,5561,5563],{"id":5562},"how-can-you-help","How can you help?",[89,5565,5566,5574],{},[54,5567,5568,5569,5573],{},"Want to help developing Beam mining infrastructure? Have GPU development skills or experience with mining pools? Write to us at ",[18,5570,5572],{"href":5571},"mailto:mining@beam.mw","mining@beam.mw",". Fair compensation will be offered to qualified developers.",[54,5575,5576,5577,385],{},"Own a mining farm and want to mine Beam at launch? Join Beam Mining community on Telegram or contact us at ",[18,5578,5572],{"href":5571},{"title":760,"searchDepth":761,"depth":761,"links":5580},[5581,5582,5583,5584],{"id":5494,"depth":761,"text":5495},{"id":5501,"depth":761,"text":5502},{"id":5528,"depth":761,"text":5529},{"id":5535,"depth":761,"text":5536,"children":5585},[5586],{"id":5539,"depth":772,"text":5540},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-mining",{"description":5427},"docs\u002Fcore-tech\u002FBEAM-Mining","CLi9y14gmmF4Rxjo3u0a09PYD9GJhnuNWZaLv5q71So",{"id":5593,"title":5594,"body":5595,"description":5602,"extension":775,"image":776,"meta":5660,"navTitle":776,"navigation":778,"path":5661,"seo":5662,"stem":5663,"__hash__":5664},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Eager-Electron-5.0-Upgrade-Guide-for-pools-and-exchanges.md","Beam Eager Electron 5.0 Upgrade Guide for pools and exchanges",{"type":8,"value":5596,"toc":5656},[5597,5600,5603,5607,5610,5615,5618,5622],[43,5598,5594],{"id":5599},"beam-eager-electron-50-upgrade-guide-for-pools-and-exchanges",[11,5601,5602],{},"Beam Eager Electron 5.0 includes breaking Hard Fork that will be activated on height 777,777 (around 28th of June 2020). It is important to complete all upgrade before that date.",[26,5604,5606],{"id":5605},"mining-algorithm-update","Mining algorithm update",[11,5608,5609],{},"Eager Electron 5.0 includes change in the mining algorithm. Please make sure your miners are updated to support Beam Hash III algorithm and auto switch at the hard fork block height.",[11,5611,5612],{},[94,5613,5614],{},"IMPORTANT",[11,5616,5617],{},"Before starting the upgrade procedure it is highly recommended to stop the wallets and back up the wallet.db files.",[26,5619,5621],{"id":5620},"upgrading-the-node-and-the-wallet","Upgrading the node and the wallet",[51,5623,5624,5637,5640,5649],{},[54,5625,5626,5627,5631,5632],{},"Download the new binaries from ",[18,5628,5630],{"href":5629},"\u002Fdownloads","Beam Website"," or build from ",[18,5633,5636],{"href":5634,"rel":5635},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmainnet",[22],"source",[54,5638,5639],{},"When you first run the new wallet and node binaries on the old databases, the database structure will be upgraded to a new version. This can take a lot of time and it is normal.",[54,5641,5642,5643,5645,5646,5648],{},"In order to guarantee network connectivity, we recommend to use the following parameters in your node configuration:",[957,5644],{},"peers_persistent=1",[957,5647],{},"peer=ap-nodes.mainnet.beam.mw:8100, eu-nodes.mainnet.beam.mw:8100, us-nodes.mainnet.beam.mw:8100, ap-hk-nodes.mainnet.beam.mw:8100",[54,5650,5651,5652,5655],{},"Eager Electron 5.0 introduces support for Confidential Assets. This means that there could be additional coins and tokens traded on the Beam network. By default the wallet support for these assets is ",[94,5653,5654],{},"DISABLED",". The pools should keep this option disabled. If you are an exchange and wish to enable support for Confidential Assets in the 5.0 please contact Beam Team directly for guidance.",{"title":760,"searchDepth":761,"depth":761,"links":5657},[5658,5659],{"id":5605,"depth":761,"text":5606},{"id":5620,"depth":761,"text":5621},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-eager-electron-5.0-upgrade-guide-for-pools-and-exchanges",{"title":5594,"description":5602},"docs\u002Fcore-tech\u002FBeam-Eager-Electron-5.0-Upgrade-Guide-for-pools-and-exchanges","Rf11laZRR-lffx1loFQabFs-IPIfbwJUv6hQJ3AJkiw",{"id":5666,"title":5667,"body":5668,"description":760,"extension":775,"image":776,"meta":5716,"navTitle":776,"navigation":778,"path":5717,"seo":5718,"stem":5719,"__hash__":5720},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Equihash-specification.md","Beam Equihash specification",{"type":8,"value":5669,"toc":5711},[5670,5673,5677,5685,5689,5700,5704],[43,5671,5667],{"id":5672},"beam-equihash-specification",[26,5674,5676],{"id":5675},"chosen-parameters","Chosen parameters",[11,5678,5679,5682],{},[150,5680,5681],{},"N = 150",[150,5683,5684],{},"K = 5",[26,5686,5688],{"id":5687},"hash-generation-convention","Hash generation convention",[11,5690,5691,5692,5695,5696,5699],{},"Since 150 in not a multiple of 8 we pick 19 full bytes and clear lower 2 bits of 18th byte.\nWe can get only 3 hashes from 512-bit ",[94,5693,5694],{},"blake2"," output.\nExpected blake2 hash output size is ",[150,5697,5698],{},"3 * 19 = 57"," bytes",[26,5701,5703],{"id":5702},"implementation-for-cpu","Implementation for CPU",[11,5705,5706,5707],{},"Beam’s Equihash implementation for CPU is based on zcash’s version.\n",[18,5708,5709],{"href":5709,"rel":5710},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002F3rdparty\u002Fcrypto\u002Fequihash_impl.cpp",[22],{"title":760,"searchDepth":761,"depth":761,"links":5712},[5713,5714,5715],{"id":5675,"depth":761,"text":5676},{"id":5687,"depth":761,"text":5688},{"id":5702,"depth":761,"text":5703},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-equihash-specification",{"title":5667,"description":760},"docs\u002Fcore-tech\u002FBeam-Equihash-specification","0VM99xAuOpNE7WVrNt05MGLGtck8xjg3d5u9XpqNOT0",{"id":5722,"title":5723,"body":5724,"description":5731,"extension":775,"image":776,"meta":6339,"navTitle":776,"navigation":778,"path":6340,"seo":6341,"stem":6342,"__hash__":6343},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Fierce-Fermion-6.0-Upgrade-Guide-for-pools-and-exchanges.md","Beam Fierce Fermion 6.0 Upgrade Guide for pools and exchanges",{"type":8,"value":5725,"toc":6335},[5726,5729,5732,5736,5816,5818,5823,5833,6332],[43,5727,5723],{"id":5728},"beam-fierce-fermion-60-upgrade-guide-for-pools-and-exchanges",[11,5730,5731],{},"Beam Fierce Fermion 6.0 includes breaking Hard Fork that will be activated on height 1,280,000 (around 15:30 UTC, 13th of June 2021). It is important to complete all upgrade before that date.",[26,5733,5735],{"id":5734},"what-new-in-version-60","What new in version 6.0",[51,5737,5738,5741,5748,5766,5785,5794],{},[54,5739,5740],{},"Smart contracts.",[54,5742,5743,5744],{},"Confidential Assets support in wallet API. Read more ",[18,5745,857],{"href":5746,"rel":5747},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FAdding-support-for-Beam-Confidential-Asset",[22],[54,5749,5750,5751,5759,5761,5762,5765],{},"New types of transaction are available in the wallet API:",[89,5752,5753,5756],{},[54,5754,5755],{},"Maximum privacy transaction",[54,5757,5758],{},"Offline transaction",[957,5760],{},"In order to receive these transactions, there are no need to make any changes in code, but your wallet should be connected to the node with ",[150,5763,5764],{},"owner_key",". If you want to send them you have to explicitly enable them in the wallet, and distinguish new address types.",[54,5767,5768,5769],{},"New address types in wallet API. We highly recommend to use these new addresses, this should bring better user experience both for sending and receiving. For backward compatibility, we preserved old address type.\nThe difference between new addresses and old are the following",[89,5770,5771,5782],{},[54,5772,5773,5774,5777,5778,5781],{},"new addresses are ",[150,5775,5776],{},"base58"," encoded and have relatively long, old addresses are ",[150,5779,5780],{},"hex"," encoded and have length 64-67 characters",[54,5783,5784],{},"new addresses can hold additional data for transaction, this allows us to make new type of transactions mentioned before and add more when it will be needed",[54,5786,5787,5788],{},"Starting from 6.0 Beam address should be validated using the following regular expression:",[866,5789,5792],{"className":5790,"code":5791,"language":871},[869],"\u002F[0-9a-zA-Z]{64,500}\u002F\n",[150,5793,5791],{"__ignoreMap":760},[54,5795,5796,5797],{},"Minimal fee has changed",[89,5798,5799,5806],{},[54,5800,5801,5802,5805],{},"For the ",[58,5803,5804],{},"regular"," transaction has been increased up to 100,000 Groth",[54,5807,5808,5809,163,5812,5815],{},"For ",[58,5810,5811],{},"offline",[58,5813,5814],{},"max privacy"," transaction it became 1,100,000 Groth (+1,000,000 Groth for each shielded output)",[26,5817,5621],{"id":5620},[5819,5820,5821],"blockquote",{},[11,5822,5614],{},[11,5824,5825,5826,163,5829,5832],{},"Before starting the upgrade procedure it is highly recommended to stop the wallets and back up the ",[58,5827,5828],{},"wallet.db",[58,5830,5831],{},"node.db"," files.",[51,5834,5835,5842,5849,6176,6187,6307],{},[54,5836,5626,5837,5631,5839],{},[18,5838,5630],{"href":5629},[18,5840,5636],{"href":5634,"rel":5841},[22],[54,5843,5844,5848],{},[18,5845,5847],{"href":5746,"rel":5846},[22],"Enable"," CA support if needed",[54,5850,5851,5852,5855,5856,5858,5860,5958,6025,6027,6028,6030,6031,6033,6034,6036,6037,6039,6040,6043],{},"Update address verification. Now, ",[150,5853,5854],{},"validate_address"," method returns additional info about address:",[957,5857],{},[150,5859,1043],{},[866,5861,5863],{"className":978,"code":5862,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"is_valid\" : true,\n        \"is_mine\" : false,\n        \"type\": \"offline\",  \u002F\u002F \u003C---------- NEW\n        \"payments\": 3       \u002F\u002F \u003C---------- NEW\n    }\n}\n",[150,5864,5865,5869,5879,5889,5896,5900,5911,5922,5938,5950,5954],{"__ignoreMap":760},[984,5866,5867],{"class":986,"line":987},[984,5868,991],{"class":990},[984,5870,5871,5873,5875,5877],{"class":986,"line":761},[984,5872,997],{"class":996},[984,5874,1000],{"class":990},[984,5876,1004],{"class":1003},[984,5878,1007],{"class":990},[984,5880,5881,5883,5885,5887],{"class":986,"line":772},[984,5882,1012],{"class":996},[984,5884,1015],{"class":990},[984,5886,1345],{"class":996},[984,5888,1021],{"class":990},[984,5890,5891,5893],{"class":986,"line":1024},[984,5892,1724],{"class":996},[984,5894,5895],{"class":990}," : \n",[984,5897,5898],{"class":986,"line":1035},[984,5899,1529],{"class":990},[984,5901,5902,5905,5907,5909],{"class":986,"line":1098},[984,5903,5904],{"class":996},"        \"is_valid\"",[984,5906,1738],{"class":990},[984,5908,2682],{"class":996},[984,5910,1021],{"class":990},[984,5912,5913,5916,5918,5920],{"class":986,"line":1111},[984,5914,5915],{"class":996},"        \"is_mine\"",[984,5917,1738],{"class":990},[984,5919,5089],{"class":996},[984,5921,1021],{"class":990},[984,5923,5924,5927,5929,5932,5935],{"class":986,"line":1124},[984,5925,5926],{"class":996},"        \"type\"",[984,5928,1015],{"class":990},[984,5930,5931],{"class":1003},"\"offline\"",[984,5933,5934],{"class":990},",  ",[984,5936,5937],{"class":1351},"\u002F\u002F \u003C---------- NEW\n",[984,5939,5940,5943,5945,5947],{"class":986,"line":1137},[984,5941,5942],{"class":996},"        \"payments\"",[984,5944,1015],{"class":990},[984,5946,5131],{"class":996},[984,5948,5949],{"class":1351},"       \u002F\u002F \u003C---------- NEW\n",[984,5951,5952],{"class":986,"line":1150},[984,5953,1607],{"class":990},[984,5955,5956],{"class":986,"line":1163},[984,5957,1038],{"class":990},[89,5959,5960,6016],{},[54,5961,5962,5965,5966],{},[150,5963,5964],{},"type"," the type of address, possible values are",[89,5967,5968,5976,5987,5998,6008],{},[54,5969,5970,5972,5973,5975],{},[150,5971,5804],{}," - regular old-style ",[150,5974,5780],{}," encoded address, default",[54,5977,5978,5980,5981,5983,5984,5986],{},[150,5979,5811],{}," - new-style ",[150,5982,5776],{}," encoded address for ",[58,5985,5811],{}," transaction, could be used several times, it has no strong guaranties for privacy",[54,5988,5989,5980,5992,5983,5994,5997],{},[150,5990,5991],{},"max_privacy",[150,5993,5776],{},[58,5995,5996],{},"maximum privacy"," transaction, could be used once",[54,5999,6000,5980,6003,5983,6005,6007],{},[150,6001,6002],{},"public_offline",[150,6004,5776],{},[58,6006,5811],{}," transaction, it's constant, it provided less privacy, you could publish it, designed for donations",[54,6009,6010,5980,6013,6015],{},[150,6011,6012],{},"regular_new",[150,6014,5776],{}," encoded address for regular mimblewimble transaction",[54,6017,6018,6021,6022,6024],{},[150,6019,6020],{},"payments"," - the number of payments left in case of ",[150,6023,5811],{}," address",[957,6026],{},"If you don't want to support newer type of transactions you could simply allow ",[150,6029,5804],{}," addresses.",[957,6032],{},"NOTE: ",[150,6035,5811],{}," address has all the data to make ",[58,6038,5804],{}," online transaction using MimbleWimble protocol. You can make both type of transaction using this type of address. If you want to send regular online transaction you should pass ",[150,6041,6042],{},"offline: false",[866,6044,6046],{"className":978,"code":6045,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_send\", \n    \"params\":\n    {\n        \"value\": 12342342,\n        \"fee\": 2,\n        \"from\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"address\": \"2DWjfstQoaLMYYgvc4NBTTGqRdyM3nvWxP9bDHN....\",  \u002F\u002F \u003C-- offline address \n        \"comment\": \"thank you!\",\n        \"asset_id\": 1,\n        \"offline\": false   \u002F\u002F \u003C-- make regular online payment\n    }\n}\n\n",[150,6047,6048,6052,6062,6072,6082,6088,6092,6102,6112,6122,6136,6146,6156,6168,6172],{"__ignoreMap":760},[984,6049,6050],{"class":986,"line":987},[984,6051,991],{"class":990},[984,6053,6054,6056,6058,6060],{"class":986,"line":761},[984,6055,997],{"class":996},[984,6057,1000],{"class":990},[984,6059,1004],{"class":1003},[984,6061,1007],{"class":990},[984,6063,6064,6066,6068,6070],{"class":986,"line":772},[984,6065,1012],{"class":996},[984,6067,1015],{"class":990},[984,6069,1503],{"class":996},[984,6071,1021],{"class":990},[984,6073,6074,6076,6078,6080],{"class":986,"line":1024},[984,6075,1027],{"class":996},[984,6077,1000],{"class":990},[984,6079,1514],{"class":1003},[984,6081,1007],{"class":990},[984,6083,6084,6086],{"class":986,"line":1035},[984,6085,1521],{"class":996},[984,6087,1524],{"class":990},[984,6089,6090],{"class":986,"line":1098},[984,6091,1529],{"class":990},[984,6093,6094,6096,6098,6100],{"class":986,"line":1111},[984,6095,1534],{"class":996},[984,6097,1015],{"class":990},[984,6099,1539],{"class":996},[984,6101,1021],{"class":990},[984,6103,6104,6106,6108,6110],{"class":986,"line":1124},[984,6105,1546],{"class":996},[984,6107,1015],{"class":990},[984,6109,1503],{"class":996},[984,6111,1021],{"class":990},[984,6113,6114,6116,6118,6120],{"class":986,"line":1137},[984,6115,1557],{"class":996},[984,6117,1015],{"class":990},[984,6119,1562],{"class":1003},[984,6121,1021],{"class":990},[984,6123,6124,6126,6128,6131,6133],{"class":986,"line":1150},[984,6125,1569],{"class":996},[984,6127,1015],{"class":990},[984,6129,6130],{"class":1003},"\"2DWjfstQoaLMYYgvc4NBTTGqRdyM3nvWxP9bDHN....\"",[984,6132,5934],{"class":990},[984,6134,6135],{"class":1351},"\u002F\u002F \u003C-- offline address \n",[984,6137,6138,6140,6142,6144],{"class":986,"line":1163},[984,6139,1580],{"class":996},[984,6141,1015],{"class":990},[984,6143,1585],{"class":1003},[984,6145,1021],{"class":990},[984,6147,6148,6150,6152,6154],{"class":986,"line":1176},[984,6149,1220],{"class":996},[984,6151,1015],{"class":990},[984,6153,1345],{"class":996},[984,6155,1021],{"class":990},[984,6157,6158,6161,6163,6165],{"class":986,"line":1189},[984,6159,6160],{"class":996},"        \"offline\"",[984,6162,1015],{"class":990},[984,6164,5089],{"class":996},[984,6166,6167],{"class":1351},"   \u002F\u002F \u003C-- make regular online payment\n",[984,6169,6170],{"class":986,"line":1202},[984,6171,1607],{"class":990},[984,6173,6174],{"class":986,"line":1211},[984,6175,1038],{"class":990},[54,6177,6178,6179,6184,6186],{},"regex for the newer address is:",[866,6180,6182],{"className":6181,"code":5791,"language":871},[869],[150,6183,5791],{"__ignoreMap":760},[957,6185],{},"it allows both old-style and new-style addresses.",[54,6188,6189,6190,6193,6194,6197,6198,6200,6202,6295,6297,6298,6300,6301,2679,6303,6306],{},"in order to generate new-style address pass ",[150,6191,6192],{},"\"type\""," parameter to ",[150,6195,6196],{},"create_address"," method",[957,6199],{},[150,6201,975],{},[866,6203,6205],{"className":978,"code":6204,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\" : \"2.0\", \n    \"id\" : 1,\n    \"method\" : \"create_address\", \n    \"params\" :\n    {\n        \"type\": \"max_privacy\",  \u002F\u002F \u003C----- NEW\n        \"expiration\" : \"auto\",\n        \"comment\" : \"John Smith\"\n    }\n}\n",[150,6206,6207,6211,6221,6231,6242,6248,6252,6266,6278,6287,6291],{"__ignoreMap":760},[984,6208,6209],{"class":986,"line":987},[984,6210,991],{"class":990},[984,6212,6213,6215,6217,6219],{"class":986,"line":761},[984,6214,997],{"class":996},[984,6216,1738],{"class":990},[984,6218,1004],{"class":1003},[984,6220,1007],{"class":990},[984,6222,6223,6225,6227,6229],{"class":986,"line":772},[984,6224,1012],{"class":996},[984,6226,1738],{"class":990},[984,6228,1345],{"class":996},[984,6230,1021],{"class":990},[984,6232,6233,6235,6237,6240],{"class":986,"line":1024},[984,6234,1027],{"class":996},[984,6236,1738],{"class":990},[984,6238,6239],{"class":1003},"\"create_address\"",[984,6241,1007],{"class":990},[984,6243,6244,6246],{"class":986,"line":1035},[984,6245,1521],{"class":996},[984,6247,1803],{"class":990},[984,6249,6250],{"class":986,"line":1098},[984,6251,1529],{"class":990},[984,6253,6254,6256,6258,6261,6263],{"class":986,"line":1111},[984,6255,5926],{"class":996},[984,6257,1015],{"class":990},[984,6259,6260],{"class":1003},"\"max_privacy\"",[984,6262,5934],{"class":990},[984,6264,6265],{"class":1351},"\u002F\u002F \u003C----- NEW\n",[984,6267,6268,6271,6273,6276],{"class":986,"line":1124},[984,6269,6270],{"class":996},"        \"expiration\"",[984,6272,1738],{"class":990},[984,6274,6275],{"class":1003},"\"auto\"",[984,6277,1021],{"class":990},[984,6279,6280,6282,6284],{"class":986,"line":1137},[984,6281,1580],{"class":996},[984,6283,1738],{"class":990},[984,6285,6286],{"class":1003},"\"John Smith\"\n",[984,6288,6289],{"class":986,"line":1150},[984,6290,1607],{"class":990},[984,6292,6293],{"class":986,"line":1163},[984,6294,1038],{"class":990},[957,6296],{},"The values for ",[150,6299,6192],{}," parameter are the same as described earlier. If you don't specify ",[150,6302,6192],{},[150,6304,6305],{},"\"regular\""," is used by default to keep backward compatibility.",[54,6308,6309,6310,163,6312,6314,6315,385,6318,6324,959,6326],{},"If you want to send to ",[58,6311,5811],{},[58,6313,5814],{}," addresses run API with ",[150,6316,6317],{},"--enable_lelantus",[866,6319,6322],{"className":6320,"code":6321,"language":871},[869],".\u002Fwallet-api --enable_lelantus -n \u003Cnode address>\n",[150,6323,6321],{"__ignoreMap":760},[957,6325],{},[866,6327,6330],{"className":6328,"code":6329,"language":871},[869],"enable_lelantus=true\n",[150,6331,6329],{"__ignoreMap":760},[2685,6333,6334],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":760,"searchDepth":761,"depth":761,"links":6336},[6337,6338],{"id":5734,"depth":761,"text":5735},{"id":5620,"depth":761,"text":5621},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-fierce-fermion-6.0-upgrade-guide-for-pools-and-exchanges",{"title":5723,"description":5731},"docs\u002Fcore-tech\u002FBeam-Fierce-Fermion-6.0-Upgrade-Guide-for-pools-and-exchanges","GZubr9f0QKXlPuPG0ugeM4rxgaINIWvEyWCNGUnLpEk",{"id":6345,"title":6346,"body":6347,"description":6354,"extension":775,"image":776,"meta":8057,"navTitle":776,"navigation":778,"path":8058,"seo":8059,"stem":8060,"__hash__":8061},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Node-Explorer-API.md","Beam Node Explorer API",{"type":8,"value":6348,"toc":8047},[6349,6352,6355,6359,6370,6376,6385,6388,6391,6396,6401,6406,6513,6515,6518,6538,6552,6556,6829,6831,6834,6839,6848,6852,7676,7678,7682,7687,7692,7696,7799,7801,7805,7810,7815,7819,8042,8044],[43,6350,6346],{"id":6351},"beam-node-explorer-api",[11,6353,6354],{},"The Node Explorer provides information about current chain state and blocks.",[26,6356,6358],{"id":6357},"how-to-use","How to use",[11,6360,6361,6362,6365,6366,6369],{},"Find ",[150,6363,6364],{},"explorer-node"," binary in the ",[150,6367,6368],{},"explorer"," subdirectory and run with the following arguments:",[866,6371,6374],{"className":6372,"code":6373,"language":871},[869],"Node explorer options:\n  -h [ --help ]                      list of all options\n  --peer arg (=172.104.249.212:8101) peer address\n  --port arg (=10000)                port to start the local node on\n  --api_port arg (=8888)             port to start the local api server on\n",[150,6375,6373],{"__ignoreMap":760},[11,6377,6378,6381,6382,6384],{},[150,6379,6380],{},".\u002Fexplorer-node.exe --peer eu-node01.mainnet.beam.mw:8100 --api_port=8080"," for example.",[957,6383],{},"\nIt may take some time (a few hours) on the first start to load all the info from chain.",[26,6386,935],{"id":6387},"api",[716,6389,6390],{"id":6390},"status",[11,6392,6393],{},[150,6394,6395],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fstatus",[11,6397,6398,6400],{},[58,6399,4407],{},": Gets current blockchain status.",[11,6402,6403,1000],{},[58,6404,6405],{},"Response",[866,6407,6409],{"className":978,"code":6408,"language":980,"meta":760,"style":760},"{\n  \"chainwork\": \"0x38594101d0a0\",\n  \"hash\": \"7353b5e4ad29a2ffa5f7952749d1eb04acedd82215b1f4f01d75107165f4622b\",\n  \"height\": 20531,\n  \"low_horizon\": 19090,\n  \"timestamp\": 1550158283,\n  \"shielded_outputs_per_24h\": 14,\n  \"shielded_outputs_total\": 16919,\n  \"shielded_possible_ready_in_hours\": 120\n}\n",[150,6410,6411,6415,6427,6439,6451,6463,6475,6487,6499,6509],{"__ignoreMap":760},[984,6412,6413],{"class":986,"line":987},[984,6414,991],{"class":990},[984,6416,6417,6420,6422,6425],{"class":986,"line":761},[984,6418,6419],{"class":996},"  \"chainwork\"",[984,6421,1015],{"class":990},[984,6423,6424],{"class":1003},"\"0x38594101d0a0\"",[984,6426,1021],{"class":990},[984,6428,6429,6432,6434,6437],{"class":986,"line":772},[984,6430,6431],{"class":996},"  \"hash\"",[984,6433,1015],{"class":990},[984,6435,6436],{"class":1003},"\"7353b5e4ad29a2ffa5f7952749d1eb04acedd82215b1f4f01d75107165f4622b\"",[984,6438,1021],{"class":990},[984,6440,6441,6444,6446,6449],{"class":986,"line":1024},[984,6442,6443],{"class":996},"  \"height\"",[984,6445,1015],{"class":990},[984,6447,6448],{"class":996},"20531",[984,6450,1021],{"class":990},[984,6452,6453,6456,6458,6461],{"class":986,"line":1035},[984,6454,6455],{"class":996},"  \"low_horizon\"",[984,6457,1015],{"class":990},[984,6459,6460],{"class":996},"19090",[984,6462,1021],{"class":990},[984,6464,6465,6468,6470,6473],{"class":986,"line":1098},[984,6466,6467],{"class":996},"  \"timestamp\"",[984,6469,1015],{"class":990},[984,6471,6472],{"class":996},"1550158283",[984,6474,1021],{"class":990},[984,6476,6477,6480,6482,6485],{"class":986,"line":1111},[984,6478,6479],{"class":996},"  \"shielded_outputs_per_24h\"",[984,6481,1015],{"class":990},[984,6483,6484],{"class":996},"14",[984,6486,1021],{"class":990},[984,6488,6489,6492,6494,6497],{"class":986,"line":1124},[984,6490,6491],{"class":996},"  \"shielded_outputs_total\"",[984,6493,1015],{"class":990},[984,6495,6496],{"class":996},"16919",[984,6498,1021],{"class":990},[984,6500,6501,6504,6506],{"class":986,"line":1137},[984,6502,6503],{"class":996},"  \"shielded_possible_ready_in_hours\"",[984,6505,1015],{"class":990},[984,6507,6508],{"class":996},"120\n",[984,6510,6511],{"class":986,"line":1150},[984,6512,1038],{"class":990},[2779,6514],{},[716,6516,6517],{"id":6517},"block",[11,6519,6520,6523,6525,6526,6528,6531,6525,6533,6535],{},[150,6521,6522],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblock?height={height}",[957,6524],{},"\nor",[957,6527],{},[150,6529,6530],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblock?hash={hash}",[957,6532],{},[957,6534],{},[150,6536,6537],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblock?kernel={kernel}",[11,6539,6540,6542,6543,441,6546,5335,6549,385],{},[58,6541,4407],{},": Gets block info for specified ",[150,6544,6545],{},"height",[150,6547,6548],{},"hash",[150,6550,6551],{},"kernel",[11,6553,6554,1000],{},[58,6555,6405],{},[866,6557,6559],{"className":978,"code":6558,"language":980,"meta":760,"style":760},"{\n  \"chainwork\": \"0x384fdc718a20\",\n  \"difficulty\": 157.9972152709961,\n  \"found\": true,\n  \"hash\": \"c2a7315b63b1de6106a185c1c79219001ef5e3a07c217db227b079bbb9dd9b64\",\n  \"height\": 20516,\n  \"inputs\": [],\n  \"kernels\": [\n    {\n      \"excess\": \"0x60413b5a09858312403190721938463ca22d7d87981a024873ddfa204a399eec\",\n      \"fee\": 0,\n      \"id\": \"d72684dba6255b2fe8631be9df764ee3c984cb0c9f386a8cf71f566acebd197d\",\n      \"maxHeight\": 18446744073709552000,\n      \"minHeight\": 20516\n    }\n  ],\n  \"outputs\": [\n    {\n      \"coinbase\": true,\n      \"commitment\": \"0x75329071d041e7828a57cbf2f63fb8db21543f35c1c2291d5c26c20d9b11465a\",\n      \"incubation\": 0,\n      \"maturity\": 20756\n    }\n  ],\n  \"prev\": \"4b9e35b467b416e0d307dd94bd2fdce6e720b6b3a029dca822ccab3ac57c6d22\",\n  \"subsidy\": 8000000000,\n  \"rate_btc\": \"0.00001551\",\n  \"rate_usd\": \"0.231282\",\n  \"timestamp\": 1550157362\n}\n",[150,6560,6561,6565,6576,6588,6599,6610,6621,6629,6636,6640,6652,6663,6675,6687,6697,6701,6706,6713,6717,6728,6740,6751,6761,6765,6769,6781,6792,6804,6816,6825],{"__ignoreMap":760},[984,6562,6563],{"class":986,"line":987},[984,6564,991],{"class":990},[984,6566,6567,6569,6571,6574],{"class":986,"line":761},[984,6568,6419],{"class":996},[984,6570,1015],{"class":990},[984,6572,6573],{"class":1003},"\"0x384fdc718a20\"",[984,6575,1021],{"class":990},[984,6577,6578,6581,6583,6586],{"class":986,"line":772},[984,6579,6580],{"class":996},"  \"difficulty\"",[984,6582,1015],{"class":990},[984,6584,6585],{"class":996},"157.9972152709961",[984,6587,1021],{"class":990},[984,6589,6590,6593,6595,6597],{"class":986,"line":1024},[984,6591,6592],{"class":996},"  \"found\"",[984,6594,1015],{"class":990},[984,6596,2682],{"class":996},[984,6598,1021],{"class":990},[984,6600,6601,6603,6605,6608],{"class":986,"line":1035},[984,6602,6431],{"class":996},[984,6604,1015],{"class":990},[984,6606,6607],{"class":1003},"\"c2a7315b63b1de6106a185c1c79219001ef5e3a07c217db227b079bbb9dd9b64\"",[984,6609,1021],{"class":990},[984,6611,6612,6614,6616,6619],{"class":986,"line":1098},[984,6613,6443],{"class":996},[984,6615,1015],{"class":990},[984,6617,6618],{"class":996},"20516",[984,6620,1021],{"class":990},[984,6622,6623,6626],{"class":986,"line":1111},[984,6624,6625],{"class":996},"  \"inputs\"",[984,6627,6628],{"class":990},": [],\n",[984,6630,6631,6634],{"class":986,"line":1124},[984,6632,6633],{"class":996},"  \"kernels\"",[984,6635,1208],{"class":990},[984,6637,6638],{"class":986,"line":1137},[984,6639,1529],{"class":990},[984,6641,6642,6645,6647,6650],{"class":986,"line":1150},[984,6643,6644],{"class":996},"      \"excess\"",[984,6646,1015],{"class":990},[984,6648,6649],{"class":1003},"\"0x60413b5a09858312403190721938463ca22d7d87981a024873ddfa204a399eec\"",[984,6651,1021],{"class":990},[984,6653,6654,6657,6659,6661],{"class":986,"line":1163},[984,6655,6656],{"class":996},"      \"fee\"",[984,6658,1015],{"class":990},[984,6660,1171],{"class":996},[984,6662,1021],{"class":990},[984,6664,6665,6668,6670,6673],{"class":986,"line":1176},[984,6666,6667],{"class":996},"      \"id\"",[984,6669,1015],{"class":990},[984,6671,6672],{"class":1003},"\"d72684dba6255b2fe8631be9df764ee3c984cb0c9f386a8cf71f566acebd197d\"",[984,6674,1021],{"class":990},[984,6676,6677,6680,6682,6685],{"class":986,"line":1189},[984,6678,6679],{"class":996},"      \"maxHeight\"",[984,6681,1015],{"class":990},[984,6683,6684],{"class":996},"18446744073709552000",[984,6686,1021],{"class":990},[984,6688,6689,6692,6694],{"class":986,"line":1202},[984,6690,6691],{"class":996},"      \"minHeight\"",[984,6693,1015],{"class":990},[984,6695,6696],{"class":996},"20516\n",[984,6698,6699],{"class":986,"line":1211},[984,6700,1607],{"class":990},[984,6702,6703],{"class":986,"line":1217},[984,6704,6705],{"class":990},"  ],\n",[984,6707,6708,6711],{"class":986,"line":1229},[984,6709,6710],{"class":996},"  \"outputs\"",[984,6712,1208],{"class":990},[984,6714,6715],{"class":986,"line":1241},[984,6716,1529],{"class":990},[984,6718,6719,6722,6724,6726],{"class":986,"line":1254},[984,6720,6721],{"class":996},"      \"coinbase\"",[984,6723,1015],{"class":990},[984,6725,2682],{"class":996},[984,6727,1021],{"class":990},[984,6729,6730,6733,6735,6738],{"class":986,"line":1266},[984,6731,6732],{"class":996},"      \"commitment\"",[984,6734,1015],{"class":990},[984,6736,6737],{"class":1003},"\"0x75329071d041e7828a57cbf2f63fb8db21543f35c1c2291d5c26c20d9b11465a\"",[984,6739,1021],{"class":990},[984,6741,6742,6745,6747,6749],{"class":986,"line":1279},[984,6743,6744],{"class":996},"      \"incubation\"",[984,6746,1015],{"class":990},[984,6748,1171],{"class":996},[984,6750,1021],{"class":990},[984,6752,6753,6756,6758],{"class":986,"line":1291},[984,6754,6755],{"class":996},"      \"maturity\"",[984,6757,1015],{"class":990},[984,6759,6760],{"class":996},"20756\n",[984,6762,6763],{"class":986,"line":1304},[984,6764,1607],{"class":990},[984,6766,6767],{"class":986,"line":1316},[984,6768,6705],{"class":990},[984,6770,6771,6774,6776,6779],{"class":986,"line":1327},[984,6772,6773],{"class":996},"  \"prev\"",[984,6775,1015],{"class":990},[984,6777,6778],{"class":1003},"\"4b9e35b467b416e0d307dd94bd2fdce6e720b6b3a029dca822ccab3ac57c6d22\"",[984,6780,1021],{"class":990},[984,6782,6783,6786,6788,6790],{"class":986,"line":1333},[984,6784,6785],{"class":996},"  \"subsidy\"",[984,6787,1015],{"class":990},[984,6789,1184],{"class":996},[984,6791,1021],{"class":990},[984,6793,6794,6797,6799,6802],{"class":986,"line":1338},[984,6795,6796],{"class":996},"  \"rate_btc\"",[984,6798,1015],{"class":990},[984,6800,6801],{"class":1003},"\"0.00001551\"",[984,6803,1021],{"class":990},[984,6805,6806,6809,6811,6814],{"class":986,"line":1355},[984,6807,6808],{"class":996},"  \"rate_usd\"",[984,6810,1015],{"class":990},[984,6812,6813],{"class":1003},"\"0.231282\"",[984,6815,1021],{"class":990},[984,6817,6818,6820,6822],{"class":986,"line":1367},[984,6819,6467],{"class":996},[984,6821,1015],{"class":990},[984,6823,6824],{"class":996},"1550157362\n",[984,6826,6827],{"class":986,"line":1379},[984,6828,1038],{"class":990},[2779,6830],{},[716,6832,6833],{"id":6833},"blocks",[11,6835,6836],{},[150,6837,6838],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fblocks?height={start}&n={count}",[11,6840,6841,6843,6844,6847],{},[58,6842,4407],{},": Gets blocks info for specified range, where ",[150,6845,6846],{},"count"," should be \u003C= 1500.",[11,6849,6850,1000],{},[58,6851,6405],{},[866,6853,6855],{"className":978,"code":6854,"language":980,"meta":760,"style":760},"[\n  {\n    \"chainwork\": \"0x380b69b2d420\",\n    \"difficulty\": 161.94402313232422,\n    \"found\": true,\n    \"hash\": \"2107b173f174972c8ec7543ab731bf1905d24d101f45b42d5f0cd64853e4c38e\",\n    \"height\": 20402,\n    \"inputs\": [],\n    \"kernels\": [\n      {\n        \"excess\": \"0x3829270cf74d473af83015501a83747b5b8c75c0d13303569a352bfe53b4ef4b\",\n        \"fee\": 0,\n        \"id\": \"3d0bed1e452c911f830351c671696f51e4a6a9086aeb7a059fc027a0db9c84a0\",\n        \"maxHeight\": 18446744073709552000,\n        \"minHeight\": 20402\n      }\n    ],\n    \"outputs\": [\n      {\n        \"coinbase\": true,\n        \"commitment\": \"0xb4261a4a7fabe181f6dd7e766410cf1aba8892fd2f41d3a7ff9378a4811521ff\",\n        \"incubation\": 0,\n        \"maturity\": 20642\n      }\n    ],\n    \"prev\": \"09cf95acda1e9c3e8b1a45873fd9ef1d744d6645d16bd6b8c5e9ae8dfe2d0b1a\",\n    \"subsidy\": 8000000000,\n    \"rate_btc\": \"0.00001551\",\n    \"rate_usd\": \"0.231282\",\n    \"timestamp\": 1550150788\n  },\n  {\n    \"chainwork\": \"0x380ac7c128a0\",\n    \"difficulty\": 162.0944366455078,\n    \"found\": true,\n    \"hash\": \"09cf95acda1e9c3e8b1a45873fd9ef1d744d6645d16bd6b8c5e9ae8dfe2d0b1a\",\n    \"height\": 20401,\n    \"inputs\": [],\n    \"kernels\": [\n      {\n        \"excess\": \"0x554a6ef457d33abddcb98169fcd7fe68a7aa94bc2145a40f39d07ace7b43c0de\",\n        \"fee\": 0,\n        \"id\": \"c68cddd64a07974a1d5ea73eb4333a9b732a5b9ac705546217fa66d2ba5e8dd8\",\n        \"maxHeight\": 18446744073709552000,\n        \"minHeight\": 20401\n      }\n    ],\n    \"outputs\": [\n      {\n        \"coinbase\": true,\n        \"commitment\": \"0x6fd9e1124f91a744c7043f2873716094e1a6cc3a8ae9ca5278a1a421a7622301\",\n        \"incubation\": 0,\n        \"maturity\": 20641\n      }\n    ],\n    \"prev\": \"9a8053f05ed7b6575770e002100025fa58452e307cf73d3594cbcd861fa5035a\",\n    \"subsidy\": 8000000000,\n    \"rate_btc\": \"0.00001551\",\n    \"rate_usd\": \"0.231282\",\n    \"timestamp\": 1550150719\n  },\n  {\n    \"chainwork\": \"0x380a25a8fba0\",\n    \"difficulty\": 161.4037857055664,\n    \"found\": true,\n    \"hash\": \"9a8053f05ed7b6575770e002100025fa58452e307cf73d3594cbcd861fa5035a\",\n    \"height\": 20400,\n    \"inputs\": [],\n    \"kernels\": [\n      {\n        \"excess\": \"0x7eef6fa3449e87dde801fec11cd6cec8b448a87f7bd1231cff668904ee6045d5\",\n        \"fee\": 0,\n        \"id\": \"bee59b34ea59a95e9fb415d34de3cc34416debcc1e14fd993f749b2aaee9b14d\",\n        \"maxHeight\": 18446744073709552000,\n        \"minHeight\": 20400\n      }\n    ],\n    \"outputs\": [\n      {\n        \"coinbase\": true,\n        \"commitment\": \"0x3b8a5d665b08119b8b8ee98c831089e0f7b3219ee92b3cf9d749777349ffd285\",\n        \"incubation\": 0,\n        \"maturity\": 20640\n      }\n    ],\n    \"prev\": \"34ce853ef5d9b6878bb694b5eec0620217d2b5f68f36cfdfc9c3bd4f1ae67107\",\n    \"subsidy\": 8000000000,\n    \"rate_btc\": \"0.00001551\",\n    \"rate_usd\": \"0.231282\",\n    \"timestamp\": 1550150667\n  }\n]\n",[150,6856,6857,6862,6867,6879,6890,6901,6913,6925,6932,6939,6943,6955,6965,6977,6988,6998,7002,7007,7014,7018,7029,7041,7052,7062,7066,7070,7082,7093,7104,7115,7125,7130,7134,7145,7156,7166,7176,7187,7193,7199,7204,7216,7227,7239,7250,7260,7265,7270,7277,7282,7293,7305,7316,7326,7331,7336,7348,7359,7370,7381,7391,7396,7401,7413,7425,7436,7447,7459,7466,7473,7478,7490,7501,7513,7524,7534,7539,7544,7551,7556,7567,7579,7590,7600,7605,7610,7622,7633,7644,7655,7665,7670],{"__ignoreMap":760},[984,6858,6859],{"class":986,"line":987},[984,6860,6861],{"class":990},"[\n",[984,6863,6864],{"class":986,"line":761},[984,6865,6866],{"class":990},"  {\n",[984,6868,6869,6872,6874,6877],{"class":986,"line":772},[984,6870,6871],{"class":996},"    \"chainwork\"",[984,6873,1015],{"class":990},[984,6875,6876],{"class":1003},"\"0x380b69b2d420\"",[984,6878,1021],{"class":990},[984,6880,6881,6883,6885,6888],{"class":986,"line":1024},[984,6882,1114],{"class":996},[984,6884,1015],{"class":990},[984,6886,6887],{"class":996},"161.94402313232422",[984,6889,1021],{"class":990},[984,6891,6892,6895,6897,6899],{"class":986,"line":1035},[984,6893,6894],{"class":996},"    \"found\"",[984,6896,1015],{"class":990},[984,6898,2682],{"class":996},[984,6900,1021],{"class":990},[984,6902,6903,6906,6908,6911],{"class":986,"line":1098},[984,6904,6905],{"class":996},"    \"hash\"",[984,6907,1015],{"class":990},[984,6909,6910],{"class":1003},"\"2107b173f174972c8ec7543ab731bf1905d24d101f45b42d5f0cd64853e4c38e\"",[984,6912,1021],{"class":990},[984,6914,6915,6918,6920,6923],{"class":986,"line":1111},[984,6916,6917],{"class":996},"    \"height\"",[984,6919,1015],{"class":990},[984,6921,6922],{"class":996},"20402",[984,6924,1021],{"class":990},[984,6926,6927,6930],{"class":986,"line":1124},[984,6928,6929],{"class":996},"    \"inputs\"",[984,6931,6628],{"class":990},[984,6933,6934,6937],{"class":986,"line":1137},[984,6935,6936],{"class":996},"    \"kernels\"",[984,6938,1208],{"class":990},[984,6940,6941],{"class":986,"line":1150},[984,6942,1214],{"class":990},[984,6944,6945,6948,6950,6953],{"class":986,"line":1163},[984,6946,6947],{"class":996},"        \"excess\"",[984,6949,1015],{"class":990},[984,6951,6952],{"class":1003},"\"0x3829270cf74d473af83015501a83747b5b8c75c0d13303569a352bfe53b4ef4b\"",[984,6954,1021],{"class":990},[984,6956,6957,6959,6961,6963],{"class":986,"line":1176},[984,6958,1546],{"class":996},[984,6960,1015],{"class":990},[984,6962,1171],{"class":996},[984,6964,1021],{"class":990},[984,6966,6967,6970,6972,6975],{"class":986,"line":1189},[984,6968,6969],{"class":996},"        \"id\"",[984,6971,1015],{"class":990},[984,6973,6974],{"class":1003},"\"3d0bed1e452c911f830351c671696f51e4a6a9086aeb7a059fc027a0db9c84a0\"",[984,6976,1021],{"class":990},[984,6978,6979,6982,6984,6986],{"class":986,"line":1202},[984,6980,6981],{"class":996},"        \"maxHeight\"",[984,6983,1015],{"class":990},[984,6985,6684],{"class":996},[984,6987,1021],{"class":990},[984,6989,6990,6993,6995],{"class":986,"line":1211},[984,6991,6992],{"class":996},"        \"minHeight\"",[984,6994,1015],{"class":990},[984,6996,6997],{"class":996},"20402\n",[984,6999,7000],{"class":986,"line":1217},[984,7001,1447],{"class":990},[984,7003,7004],{"class":986,"line":1229},[984,7005,7006],{"class":990},"    ],\n",[984,7008,7009,7012],{"class":986,"line":1241},[984,7010,7011],{"class":996},"    \"outputs\"",[984,7013,1208],{"class":990},[984,7015,7016],{"class":986,"line":1254},[984,7017,1214],{"class":990},[984,7019,7020,7023,7025,7027],{"class":986,"line":1266},[984,7021,7022],{"class":996},"        \"coinbase\"",[984,7024,1015],{"class":990},[984,7026,2682],{"class":996},[984,7028,1021],{"class":990},[984,7030,7031,7034,7036,7039],{"class":986,"line":1279},[984,7032,7033],{"class":996},"        \"commitment\"",[984,7035,1015],{"class":990},[984,7037,7038],{"class":1003},"\"0xb4261a4a7fabe181f6dd7e766410cf1aba8892fd2f41d3a7ff9378a4811521ff\"",[984,7040,1021],{"class":990},[984,7042,7043,7046,7048,7050],{"class":986,"line":1291},[984,7044,7045],{"class":996},"        \"incubation\"",[984,7047,1015],{"class":990},[984,7049,1171],{"class":996},[984,7051,1021],{"class":990},[984,7053,7054,7057,7059],{"class":986,"line":1304},[984,7055,7056],{"class":996},"        \"maturity\"",[984,7058,1015],{"class":990},[984,7060,7061],{"class":996},"20642\n",[984,7063,7064],{"class":986,"line":1316},[984,7065,1447],{"class":990},[984,7067,7068],{"class":986,"line":1327},[984,7069,7006],{"class":990},[984,7071,7072,7075,7077,7080],{"class":986,"line":1333},[984,7073,7074],{"class":996},"    \"prev\"",[984,7076,1015],{"class":990},[984,7078,7079],{"class":1003},"\"09cf95acda1e9c3e8b1a45873fd9ef1d744d6645d16bd6b8c5e9ae8dfe2d0b1a\"",[984,7081,1021],{"class":990},[984,7083,7084,7087,7089,7091],{"class":986,"line":1338},[984,7085,7086],{"class":996},"    \"subsidy\"",[984,7088,1015],{"class":990},[984,7090,1184],{"class":996},[984,7092,1021],{"class":990},[984,7094,7095,7098,7100,7102],{"class":986,"line":1355},[984,7096,7097],{"class":996},"    \"rate_btc\"",[984,7099,1015],{"class":990},[984,7101,6801],{"class":1003},[984,7103,1021],{"class":990},[984,7105,7106,7109,7111,7113],{"class":986,"line":1367},[984,7107,7108],{"class":996},"    \"rate_usd\"",[984,7110,1015],{"class":990},[984,7112,6813],{"class":1003},[984,7114,1021],{"class":990},[984,7116,7117,7120,7122],{"class":986,"line":1379},[984,7118,7119],{"class":996},"    \"timestamp\"",[984,7121,1015],{"class":990},[984,7123,7124],{"class":996},"1550150788\n",[984,7126,7127],{"class":986,"line":1390},[984,7128,7129],{"class":990},"  },\n",[984,7131,7132],{"class":986,"line":1402},[984,7133,6866],{"class":990},[984,7135,7136,7138,7140,7143],{"class":986,"line":1413},[984,7137,6871],{"class":996},[984,7139,1015],{"class":990},[984,7141,7142],{"class":1003},"\"0x380ac7c128a0\"",[984,7144,1021],{"class":990},[984,7146,7147,7149,7151,7154],{"class":986,"line":1424},[984,7148,1114],{"class":996},[984,7150,1015],{"class":990},[984,7152,7153],{"class":996},"162.0944366455078",[984,7155,1021],{"class":990},[984,7157,7158,7160,7162,7164],{"class":986,"line":1435},[984,7159,6894],{"class":996},[984,7161,1015],{"class":990},[984,7163,2682],{"class":996},[984,7165,1021],{"class":990},[984,7167,7168,7170,7172,7174],{"class":986,"line":1444},[984,7169,6905],{"class":996},[984,7171,1015],{"class":990},[984,7173,7079],{"class":1003},[984,7175,1021],{"class":990},[984,7177,7178,7180,7182,7185],{"class":986,"line":1450},[984,7179,6917],{"class":996},[984,7181,1015],{"class":990},[984,7183,7184],{"class":996},"20401",[984,7186,1021],{"class":990},[984,7188,7189,7191],{"class":986,"line":1456},[984,7190,6929],{"class":996},[984,7192,6628],{"class":990},[984,7194,7195,7197],{"class":986,"line":1462},[984,7196,6936],{"class":996},[984,7198,1208],{"class":990},[984,7200,7202],{"class":986,"line":7201},40,[984,7203,1214],{"class":990},[984,7205,7207,7209,7211,7214],{"class":986,"line":7206},41,[984,7208,6947],{"class":996},[984,7210,1015],{"class":990},[984,7212,7213],{"class":1003},"\"0x554a6ef457d33abddcb98169fcd7fe68a7aa94bc2145a40f39d07ace7b43c0de\"",[984,7215,1021],{"class":990},[984,7217,7219,7221,7223,7225],{"class":986,"line":7218},42,[984,7220,1546],{"class":996},[984,7222,1015],{"class":990},[984,7224,1171],{"class":996},[984,7226,1021],{"class":990},[984,7228,7230,7232,7234,7237],{"class":986,"line":7229},43,[984,7231,6969],{"class":996},[984,7233,1015],{"class":990},[984,7235,7236],{"class":1003},"\"c68cddd64a07974a1d5ea73eb4333a9b732a5b9ac705546217fa66d2ba5e8dd8\"",[984,7238,1021],{"class":990},[984,7240,7242,7244,7246,7248],{"class":986,"line":7241},44,[984,7243,6981],{"class":996},[984,7245,1015],{"class":990},[984,7247,6684],{"class":996},[984,7249,1021],{"class":990},[984,7251,7253,7255,7257],{"class":986,"line":7252},45,[984,7254,6992],{"class":996},[984,7256,1015],{"class":990},[984,7258,7259],{"class":996},"20401\n",[984,7261,7263],{"class":986,"line":7262},46,[984,7264,1447],{"class":990},[984,7266,7268],{"class":986,"line":7267},47,[984,7269,7006],{"class":990},[984,7271,7273,7275],{"class":986,"line":7272},48,[984,7274,7011],{"class":996},[984,7276,1208],{"class":990},[984,7278,7280],{"class":986,"line":7279},49,[984,7281,1214],{"class":990},[984,7283,7285,7287,7289,7291],{"class":986,"line":7284},50,[984,7286,7022],{"class":996},[984,7288,1015],{"class":990},[984,7290,2682],{"class":996},[984,7292,1021],{"class":990},[984,7294,7296,7298,7300,7303],{"class":986,"line":7295},51,[984,7297,7033],{"class":996},[984,7299,1015],{"class":990},[984,7301,7302],{"class":1003},"\"0x6fd9e1124f91a744c7043f2873716094e1a6cc3a8ae9ca5278a1a421a7622301\"",[984,7304,1021],{"class":990},[984,7306,7308,7310,7312,7314],{"class":986,"line":7307},52,[984,7309,7045],{"class":996},[984,7311,1015],{"class":990},[984,7313,1171],{"class":996},[984,7315,1021],{"class":990},[984,7317,7319,7321,7323],{"class":986,"line":7318},53,[984,7320,7056],{"class":996},[984,7322,1015],{"class":990},[984,7324,7325],{"class":996},"20641\n",[984,7327,7329],{"class":986,"line":7328},54,[984,7330,1447],{"class":990},[984,7332,7334],{"class":986,"line":7333},55,[984,7335,7006],{"class":990},[984,7337,7339,7341,7343,7346],{"class":986,"line":7338},56,[984,7340,7074],{"class":996},[984,7342,1015],{"class":990},[984,7344,7345],{"class":1003},"\"9a8053f05ed7b6575770e002100025fa58452e307cf73d3594cbcd861fa5035a\"",[984,7347,1021],{"class":990},[984,7349,7351,7353,7355,7357],{"class":986,"line":7350},57,[984,7352,7086],{"class":996},[984,7354,1015],{"class":990},[984,7356,1184],{"class":996},[984,7358,1021],{"class":990},[984,7360,7362,7364,7366,7368],{"class":986,"line":7361},58,[984,7363,7097],{"class":996},[984,7365,1015],{"class":990},[984,7367,6801],{"class":1003},[984,7369,1021],{"class":990},[984,7371,7373,7375,7377,7379],{"class":986,"line":7372},59,[984,7374,7108],{"class":996},[984,7376,1015],{"class":990},[984,7378,6813],{"class":1003},[984,7380,1021],{"class":990},[984,7382,7384,7386,7388],{"class":986,"line":7383},60,[984,7385,7119],{"class":996},[984,7387,1015],{"class":990},[984,7389,7390],{"class":996},"1550150719\n",[984,7392,7394],{"class":986,"line":7393},61,[984,7395,7129],{"class":990},[984,7397,7399],{"class":986,"line":7398},62,[984,7400,6866],{"class":990},[984,7402,7404,7406,7408,7411],{"class":986,"line":7403},63,[984,7405,6871],{"class":996},[984,7407,1015],{"class":990},[984,7409,7410],{"class":1003},"\"0x380a25a8fba0\"",[984,7412,1021],{"class":990},[984,7414,7416,7418,7420,7423],{"class":986,"line":7415},64,[984,7417,1114],{"class":996},[984,7419,1015],{"class":990},[984,7421,7422],{"class":996},"161.4037857055664",[984,7424,1021],{"class":990},[984,7426,7428,7430,7432,7434],{"class":986,"line":7427},65,[984,7429,6894],{"class":996},[984,7431,1015],{"class":990},[984,7433,2682],{"class":996},[984,7435,1021],{"class":990},[984,7437,7439,7441,7443,7445],{"class":986,"line":7438},66,[984,7440,6905],{"class":996},[984,7442,1015],{"class":990},[984,7444,7345],{"class":1003},[984,7446,1021],{"class":990},[984,7448,7450,7452,7454,7457],{"class":986,"line":7449},67,[984,7451,6917],{"class":996},[984,7453,1015],{"class":990},[984,7455,7456],{"class":996},"20400",[984,7458,1021],{"class":990},[984,7460,7462,7464],{"class":986,"line":7461},68,[984,7463,6929],{"class":996},[984,7465,6628],{"class":990},[984,7467,7469,7471],{"class":986,"line":7468},69,[984,7470,6936],{"class":996},[984,7472,1208],{"class":990},[984,7474,7476],{"class":986,"line":7475},70,[984,7477,1214],{"class":990},[984,7479,7481,7483,7485,7488],{"class":986,"line":7480},71,[984,7482,6947],{"class":996},[984,7484,1015],{"class":990},[984,7486,7487],{"class":1003},"\"0x7eef6fa3449e87dde801fec11cd6cec8b448a87f7bd1231cff668904ee6045d5\"",[984,7489,1021],{"class":990},[984,7491,7493,7495,7497,7499],{"class":986,"line":7492},72,[984,7494,1546],{"class":996},[984,7496,1015],{"class":990},[984,7498,1171],{"class":996},[984,7500,1021],{"class":990},[984,7502,7504,7506,7508,7511],{"class":986,"line":7503},73,[984,7505,6969],{"class":996},[984,7507,1015],{"class":990},[984,7509,7510],{"class":1003},"\"bee59b34ea59a95e9fb415d34de3cc34416debcc1e14fd993f749b2aaee9b14d\"",[984,7512,1021],{"class":990},[984,7514,7516,7518,7520,7522],{"class":986,"line":7515},74,[984,7517,6981],{"class":996},[984,7519,1015],{"class":990},[984,7521,6684],{"class":996},[984,7523,1021],{"class":990},[984,7525,7527,7529,7531],{"class":986,"line":7526},75,[984,7528,6992],{"class":996},[984,7530,1015],{"class":990},[984,7532,7533],{"class":996},"20400\n",[984,7535,7537],{"class":986,"line":7536},76,[984,7538,1447],{"class":990},[984,7540,7542],{"class":986,"line":7541},77,[984,7543,7006],{"class":990},[984,7545,7547,7549],{"class":986,"line":7546},78,[984,7548,7011],{"class":996},[984,7550,1208],{"class":990},[984,7552,7554],{"class":986,"line":7553},79,[984,7555,1214],{"class":990},[984,7557,7559,7561,7563,7565],{"class":986,"line":7558},80,[984,7560,7022],{"class":996},[984,7562,1015],{"class":990},[984,7564,2682],{"class":996},[984,7566,1021],{"class":990},[984,7568,7570,7572,7574,7577],{"class":986,"line":7569},81,[984,7571,7033],{"class":996},[984,7573,1015],{"class":990},[984,7575,7576],{"class":1003},"\"0x3b8a5d665b08119b8b8ee98c831089e0f7b3219ee92b3cf9d749777349ffd285\"",[984,7578,1021],{"class":990},[984,7580,7582,7584,7586,7588],{"class":986,"line":7581},82,[984,7583,7045],{"class":996},[984,7585,1015],{"class":990},[984,7587,1171],{"class":996},[984,7589,1021],{"class":990},[984,7591,7593,7595,7597],{"class":986,"line":7592},83,[984,7594,7056],{"class":996},[984,7596,1015],{"class":990},[984,7598,7599],{"class":996},"20640\n",[984,7601,7603],{"class":986,"line":7602},84,[984,7604,1447],{"class":990},[984,7606,7608],{"class":986,"line":7607},85,[984,7609,7006],{"class":990},[984,7611,7613,7615,7617,7620],{"class":986,"line":7612},86,[984,7614,7074],{"class":996},[984,7616,1015],{"class":990},[984,7618,7619],{"class":1003},"\"34ce853ef5d9b6878bb694b5eec0620217d2b5f68f36cfdfc9c3bd4f1ae67107\"",[984,7621,1021],{"class":990},[984,7623,7625,7627,7629,7631],{"class":986,"line":7624},87,[984,7626,7086],{"class":996},[984,7628,1015],{"class":990},[984,7630,1184],{"class":996},[984,7632,1021],{"class":990},[984,7634,7636,7638,7640,7642],{"class":986,"line":7635},88,[984,7637,7097],{"class":996},[984,7639,1015],{"class":990},[984,7641,6801],{"class":1003},[984,7643,1021],{"class":990},[984,7645,7647,7649,7651,7653],{"class":986,"line":7646},89,[984,7648,7108],{"class":996},[984,7650,1015],{"class":990},[984,7652,6813],{"class":1003},[984,7654,1021],{"class":990},[984,7656,7658,7660,7662],{"class":986,"line":7657},90,[984,7659,7119],{"class":996},[984,7661,1015],{"class":990},[984,7663,7664],{"class":996},"1550150667\n",[984,7666,7668],{"class":986,"line":7667},91,[984,7669,1459],{"class":990},[984,7671,7673],{"class":986,"line":7672},92,[984,7674,7675],{"class":990},"]\n",[2779,7677],{},[716,7679,7681],{"id":7680},"swap-totals","swap totals",[11,7683,7684],{},[150,7685,7686],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fswap_totals",[11,7688,7689,7691],{},[58,7690,4407],{},": Return total amounts for all swap offers.",[11,7693,7694,1000],{},[58,7695,6405],{},[866,7697,7699],{"className":978,"code":7698,"language":980,"meta":760,"style":760},"{\n  \"beams_offered\": \"15\",\n  \"bicoin_cash_offered\": \"3\",\n  \"bitcoin_offered\": \"0\",\n  \"dash_offered\": \"0\",\n  \"dogecoin_offered\": \"0\",\n  \"litecoin_offered\": \"10\",\n  \"qtum_offered\": \"0\",\n  \"total_swaps_count\": 2\n}\n",[150,7700,7701,7705,7717,7729,7740,7751,7762,7774,7785,7795],{"__ignoreMap":760},[984,7702,7703],{"class":986,"line":987},[984,7704,991],{"class":990},[984,7706,7707,7710,7712,7715],{"class":986,"line":761},[984,7708,7709],{"class":996},"  \"beams_offered\"",[984,7711,1015],{"class":990},[984,7713,7714],{"class":1003},"\"15\"",[984,7716,1021],{"class":990},[984,7718,7719,7722,7724,7727],{"class":986,"line":772},[984,7720,7721],{"class":996},"  \"bicoin_cash_offered\"",[984,7723,1015],{"class":990},[984,7725,7726],{"class":1003},"\"3\"",[984,7728,1021],{"class":990},[984,7730,7731,7734,7736,7738],{"class":986,"line":1024},[984,7732,7733],{"class":996},"  \"bitcoin_offered\"",[984,7735,1015],{"class":990},[984,7737,1397],{"class":1003},[984,7739,1021],{"class":990},[984,7741,7742,7745,7747,7749],{"class":986,"line":1035},[984,7743,7744],{"class":996},"  \"dash_offered\"",[984,7746,1015],{"class":990},[984,7748,1397],{"class":1003},[984,7750,1021],{"class":990},[984,7752,7753,7756,7758,7760],{"class":986,"line":1098},[984,7754,7755],{"class":996},"  \"dogecoin_offered\"",[984,7757,1015],{"class":990},[984,7759,1397],{"class":1003},[984,7761,1021],{"class":990},[984,7763,7764,7767,7769,7772],{"class":986,"line":1111},[984,7765,7766],{"class":996},"  \"litecoin_offered\"",[984,7768,1015],{"class":990},[984,7770,7771],{"class":1003},"\"10\"",[984,7773,1021],{"class":990},[984,7775,7776,7779,7781,7783],{"class":986,"line":1124},[984,7777,7778],{"class":996},"  \"qtum_offered\"",[984,7780,1015],{"class":990},[984,7782,1397],{"class":1003},[984,7784,1021],{"class":990},[984,7786,7787,7790,7792],{"class":986,"line":1137},[984,7788,7789],{"class":996},"  \"total_swaps_count\"",[984,7791,1015],{"class":990},[984,7793,7794],{"class":996},"2\n",[984,7796,7797],{"class":986,"line":1150},[984,7798,1038],{"class":990},[2779,7800],{},[716,7802,7804],{"id":7803},"swap-offers","swap offers",[11,7806,7807],{},[150,7808,7809],{},"GET http:\u002F\u002Fx.x.x.x:port\u002Fswap_offers",[11,7811,7812,7814],{},[58,7813,4407],{},": Return swap offers from offer board.",[11,7816,7817,1000],{},[58,7818,6405],{},[866,7820,7822],{"className":978,"code":7821,"language":980,"meta":760,"style":760},"[\n  {\n    \"beam_amount\": \"3\",\n    \"height_expired\": 253126,\n    \"min_height\": 252406,\n    \"status\": 0,\n    \"status_string\": \"pending\",\n    \"swap_amount\": \"3\",\n    \"swap_currency\": \"BCH\",\n    \"time_created\": \"2020.11.06 18:31:54\",\n    \"txId\": \"1b726d0adffe45c993b801c8bb46184e\"\n  },\n  {\n    \"beam_amount\": \"12\",\n    \"height_expired\": 253126,\n    \"min_height\": 252406,\n    \"status\": 0,\n    \"status_string\": \"pending\",\n    \"swap_amount\": \"10\",\n    \"swap_currency\": \"LTC\",\n    \"time_created\": \"2020.11.06 18:31:39\",\n    \"txId\": \"1b837edae2904b658f95a7b5e84c7731\"\n  }\n]\n",[150,7823,7824,7828,7832,7843,7855,7867,7878,7890,7901,7913,7925,7935,7939,7943,7953,7963,7973,7983,7993,8003,8014,8025,8034,8038],{"__ignoreMap":760},[984,7825,7826],{"class":986,"line":987},[984,7827,6861],{"class":990},[984,7829,7830],{"class":986,"line":761},[984,7831,6866],{"class":990},[984,7833,7834,7837,7839,7841],{"class":986,"line":772},[984,7835,7836],{"class":996},"    \"beam_amount\"",[984,7838,1015],{"class":990},[984,7840,7726],{"class":1003},[984,7842,1021],{"class":990},[984,7844,7845,7848,7850,7853],{"class":986,"line":1024},[984,7846,7847],{"class":996},"    \"height_expired\"",[984,7849,1015],{"class":990},[984,7851,7852],{"class":996},"253126",[984,7854,1021],{"class":990},[984,7856,7857,7860,7862,7865],{"class":986,"line":1035},[984,7858,7859],{"class":996},"    \"min_height\"",[984,7861,1015],{"class":990},[984,7863,7864],{"class":996},"252406",[984,7866,1021],{"class":990},[984,7868,7869,7872,7874,7876],{"class":986,"line":1098},[984,7870,7871],{"class":996},"    \"status\"",[984,7873,1015],{"class":990},[984,7875,1171],{"class":996},[984,7877,1021],{"class":990},[984,7879,7880,7883,7885,7888],{"class":986,"line":1111},[984,7881,7882],{"class":996},"    \"status_string\"",[984,7884,1015],{"class":990},[984,7886,7887],{"class":1003},"\"pending\"",[984,7889,1021],{"class":990},[984,7891,7892,7895,7897,7899],{"class":986,"line":1124},[984,7893,7894],{"class":996},"    \"swap_amount\"",[984,7896,1015],{"class":990},[984,7898,7726],{"class":1003},[984,7900,1021],{"class":990},[984,7902,7903,7906,7908,7911],{"class":986,"line":1137},[984,7904,7905],{"class":996},"    \"swap_currency\"",[984,7907,1015],{"class":990},[984,7909,7910],{"class":1003},"\"BCH\"",[984,7912,1021],{"class":990},[984,7914,7915,7918,7920,7923],{"class":986,"line":1150},[984,7916,7917],{"class":996},"    \"time_created\"",[984,7919,1015],{"class":990},[984,7921,7922],{"class":1003},"\"2020.11.06 18:31:54\"",[984,7924,1021],{"class":990},[984,7926,7927,7930,7932],{"class":986,"line":1163},[984,7928,7929],{"class":996},"    \"txId\"",[984,7931,1015],{"class":990},[984,7933,7934],{"class":1003},"\"1b726d0adffe45c993b801c8bb46184e\"\n",[984,7936,7937],{"class":986,"line":1176},[984,7938,7129],{"class":990},[984,7940,7941],{"class":986,"line":1189},[984,7942,6866],{"class":990},[984,7944,7945,7947,7949,7951],{"class":986,"line":1202},[984,7946,7836],{"class":996},[984,7948,1015],{"class":990},[984,7950,2570],{"class":1003},[984,7952,1021],{"class":990},[984,7954,7955,7957,7959,7961],{"class":986,"line":1211},[984,7956,7847],{"class":996},[984,7958,1015],{"class":990},[984,7960,7852],{"class":996},[984,7962,1021],{"class":990},[984,7964,7965,7967,7969,7971],{"class":986,"line":1217},[984,7966,7859],{"class":996},[984,7968,1015],{"class":990},[984,7970,7864],{"class":996},[984,7972,1021],{"class":990},[984,7974,7975,7977,7979,7981],{"class":986,"line":1229},[984,7976,7871],{"class":996},[984,7978,1015],{"class":990},[984,7980,1171],{"class":996},[984,7982,1021],{"class":990},[984,7984,7985,7987,7989,7991],{"class":986,"line":1241},[984,7986,7882],{"class":996},[984,7988,1015],{"class":990},[984,7990,7887],{"class":1003},[984,7992,1021],{"class":990},[984,7994,7995,7997,7999,8001],{"class":986,"line":1254},[984,7996,7894],{"class":996},[984,7998,1015],{"class":990},[984,8000,7771],{"class":1003},[984,8002,1021],{"class":990},[984,8004,8005,8007,8009,8012],{"class":986,"line":1266},[984,8006,7905],{"class":996},[984,8008,1015],{"class":990},[984,8010,8011],{"class":1003},"\"LTC\"",[984,8013,1021],{"class":990},[984,8015,8016,8018,8020,8023],{"class":986,"line":1279},[984,8017,7917],{"class":996},[984,8019,1015],{"class":990},[984,8021,8022],{"class":1003},"\"2020.11.06 18:31:39\"",[984,8024,1021],{"class":990},[984,8026,8027,8029,8031],{"class":986,"line":1291},[984,8028,7929],{"class":996},[984,8030,1015],{"class":990},[984,8032,8033],{"class":1003},"\"1b837edae2904b658f95a7b5e84c7731\"\n",[984,8035,8036],{"class":986,"line":1304},[984,8037,1459],{"class":990},[984,8039,8040],{"class":986,"line":1316},[984,8041,7675],{"class":990},[2779,8043],{},[2685,8045,8046],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":760,"searchDepth":761,"depth":761,"links":8048},[8049,8050],{"id":6357,"depth":761,"text":6358},{"id":6387,"depth":761,"text":935,"children":8051},[8052,8053,8054,8055,8056],{"id":6390,"depth":772,"text":6390},{"id":6517,"depth":772,"text":6517},{"id":6833,"depth":772,"text":6833},{"id":7680,"depth":772,"text":7681},{"id":7803,"depth":772,"text":7804},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-node-explorer-api",{"title":6346,"description":6354},"docs\u002Fcore-tech\u002FBeam-Node-Explorer-API","r9Y-OcMY7wPnu3XxKYMMATp6w36i1ckPQG2I3Vp2oME",{"id":8063,"title":8064,"body":8065,"description":8069,"extension":775,"image":776,"meta":8170,"navTitle":776,"navigation":778,"path":8171,"seo":8172,"stem":8173,"__hash__":8174},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Position-Paper.md","Beam Position Paper",{"type":8,"value":8066,"toc":8168},[8067,8070,8073,8079,8082,8088,8109,8112,8118,8121,8128],[11,8068,8069],{},"June 16, 2018 ( rev 0.2)\nBEAM\nThe Scalable Confidential Cryptocurrency",[11,8071,8072],{},"What is BEAM?\nBEAM is a next generation confidential cryptocurrency based on an elegant and innovative Mimblewimble protocol.\nThings\nthat make BEAM special include:\n● Users have complete control over privacy - a user decides which information will be available and to which parties, having complete control over his personal data in accordance to his will and applicable laws.\n● Confidentiality without penalty - in BEAM confidential transactions do not cause bloating of the blockchain, avoiding excessive computational overhead or penalty on performance or scalability while completely concealing the transaction value.\n● No trusted setup required\n● Blocks are mined using Equihash Proof-of-Work algorithm\n● Limited emission using periodic halving with total amount of coins ~250 million1\n● No addresses are stored in the blockchain - no information whatsoever about either the\nsender or the receiver of a transaction is stored in the blockchain.\n● Superior scalability through compact blockchain size - using the “cut-through” feature of\nMimblewimble makes the BEAM blockchain orders of magnitude smaller than any other\nblockchain implementation.2\n● BEAM supports many transaction types such as escrow transactions, time locked\ntransactions, atomic swaps and more.\n● No premine. No ICO. Backed by a treasury, emitted from every block during the first five\nyears.\n● Implemented from scratch in C++ by a team of professional developers.\n1 Exact coin schedule is not finalized yet and will be published at a later date\n2 See more detailed explanation on Mimblewimble below to understand how this can be achieved without compromising blockchain security.",[11,8074,8075,8076,8078],{},"Introduction\nSince Bitcoin, which was the first implementation of the idea of a peer to peer electronic cash system proposed by Satoshi Nakamoto back in 2008 ",[984,8077,1345],{},", the field of crypto currencies and blockchain based systems has exploded producing thousands of different projects, technologies and research papers. Today one can find such projects ranging from distributed computing to Enterprise solutions and applied to all fields from medicine to automotive industries.",[11,8080,8081],{},"However, the basic need for people to store their money and transact in a secure way without relying on a centralized authority is still the main use case and the most important, which is one of the reasons why Bitcoin is still the top cryptocurrency and is as influential today as it was almost ten years ago.\nIn Bitcoin, as in most crypto currencies since, your balance is represented by a series of transactions which can be traced back to the very beginning of a blockchain. In order to trust the system we need to make sure that each transaction in a chain is valid, and to do so without relying on a centralized entity, which is the main purpose of Bitcoin nodes and miners. All participants in the system must agree, or using more professional terms \"reach consensus\", on an official version of the transaction history and be able to do so without trusting each other or anyone else. The ability of the system to do so is the true strength of the Bitcoin idea.",[11,8083,8084,8085,8087],{},"Failure of Anonymity and The Need for Confidentiality\nInitially, transactions in the Bitcoin network were believed to be anonymous. By generating random private and public key pairs, and using the public part to form an address that could be used to receive and control transactions, many Bitcoin users assumed that nothing in that process could link to their real identity.\nThey turned out to be wrong. Using blockchain analysis, research has shown that there are always data leaks ",[984,8086,1503],{},". These can come from exchanges, merchants, OTC deals or even by collecting and clustering the blockchain data. It is then possible to deanonymize users, and since all data, including transaction amounts, is open and permanently stored in a public ledger, once users identity is known all their transactions past and future as well as their balance, become directly linked to them as a person.\nThis situation is far from ideal. Both individuals and organizations would prefer that their transactions and balance remain confidential and could only be seen only by parties specifically authorized by them to do so. This would require limiting the visibility of transaction details, including transferred amounts and identities of the participants and keeping as little information as possible about the transactions in the public record to prevent future analysis and a potential disclosure.",[11,8089,8090,8091,8093,8094,8096,8097,8100,8101,8104,8105],{},"Introducing Mimblewimble\nIn August 2016 a new protocol was published by an anonymous author, suggesting an elegant approach to the topic of efficient confidential blockchain. It is called Mimblewimble3, a reference to a spell from Harry Potter books, and it builds upon two concepts originally proposed by Greg Maxwell, namely Confidential Transactions ",[984,8092,5131],{}," and Transaction Cut - Through ",[984,8095,2431],{},". The following is a high level explanation of the key principles of Mimblewimble. For more detailed explanation please read the original whitepaper ",[984,8098,8099],{},"5",".\nConfidential transactions are implemented by using cryptographic commitment scheme which has two basic properties: hiding and binding. It is similar to giving someone a closed safe box with some message inside that only you know the combination for. When the time comes you can reveal the key and the person can make sure that your commitment is valid (binding) while he can not know what is was before the key is received (hiding)\nMimblewimble utilizes a well known commitment scheme called Pedersen Commitment that achieves this using Elliptic Curve Cryptography and is of the form\nC=r",[58,8102,8103],{},"G+v","H\nWhere ​r​ is a blinding factor, a secret key hiding the real value ​v a​ nd G and H are generator point on a specific elliptic curve.\n3 Read full whitepaper here: ",[18,8106,8107],{"href":8107,"rel":8108},"https:\u002F\u002Fdownload.wpsoftware.net\u002Fbitcoin\u002Fwizardry\u002Fmimblewimble.txt",[22],[11,8110,8111],{},"Each input and output of a transaction is thus a linear combination of two factors: an actual value of the transaction and a blinding factor. In order to transfer ownership of a UTXO (Unspent Transaction Output) a sender needs to reveal its value and blinding factor to the receiver, which in turn needs to create a new output commitment using a different blinding factor, known only to him. Due to the linearity property of Pedersen Commitments, if we have two identical transactions: from A to B, and then from B to C, we can cut through the intermediate transaction, resulting in a merged transaction from A to C, which is a valid transaction in the system.\nSince block is just a list of transactions, each with its list of inputs and outputs, a block can be seen as one large transaction as well, allowing us to “cut through” i.e merge all intermediate outputs both within a single block as well as across multiple blocks in the blockchain. Extending this approach to the entire chain, we get a system that only needs to store the current UTXO state, instead of entire transaction history. Validity of the history that brought us to this state can be confirmed by storing only the headers of the previous blocks which hold the proof of validity of previous states (using a structure called a Merkle tree) and Proof of Work that allows to reach consensus on which of the header chains should be considered the correct one (in case of blockchain branching).\nSince all that is needed to prove ownership of the UTXO is the value and the unique blinding factor, there is no need to store any addresses in the blockchain. After creating the transaction between two wallets, either online or using any other secure mechanism, only the commitment",[11,8113,8114,8115,8117],{},"is recorded in the blockchain. This means that no matter the resources of the attacker, no personal information can be extracted from the blockchain.\nIn addition to Inputs, Outputs, Proofs and fees, each Mimblewimble transaction includes, the transaction kernel, which in its most basic form contains the difference between blinding factors of sender and receiver. Each transaction should also contain a non interactive zero knowledge range proof to ensure that transaction value is positive without revealing the actual value. It is important since allowing the user to create transactions with negative value would result in ability to arbitrarily create new coins which should be prohibited by the system. For this purpose we use Bulletproofs ",[984,8116,1018],{},", a compact and highly computation efficient implementation of zero knowledge range proofs that are attached to every transaction and checked by the system during transaction validation.",[11,8119,8120],{},"Q&A:\nQuestion​: Why is BEAM using Equihash mining?\nAnswer​: Equihash PoW mining algorithm is well adopted by miners globally. Equihash is based on solving a Generalized Birthday Problem. It is IO bound, meaning that it requires quite a large amount of memory as opposed to Bitcoin's SHA256 that requires a lot of processing power. Equihash is built in a way that does not allow easy tradeoff between processing power and memory thus making it difficult to use with ASIC miners that existed at the time of its creation. Today there are dedicated ASIC miners that can mine Equihash ten times more efficiently than average CPU.\nQuestion​: How does compact blockchain work? Is data actually deleted from the blockchain? Answer​: No data is ever deleted from the blockchain, since a blockchain is append only by definition. What a compact blockchain means is that information needed to validate the entire blockchain is much smaller than the complete list of transactions. The user wallet, a new node connected to the system, or an existing one that does not want to store all the information can only download block headers and current state to verify the entire blockchain.\nQuestion​: What is the performance of BEAM in terms of number of transactions per second? Answer​: We do not have exact numbers yet. However it is safe to say that it will be slightly better than bitcoin and existing privacy coins. Having said that it is important to emphasize that the performance will not be high enough for BEAM to be used as “means of exchange”. Which is why we believe that BEAM will be primarily used as “store of value”. In the future it might be",[11,8122,8123,8124],{},"possible to improve performance using second layer out of chain solutions such as Lightning network or Thunderella.\nQuestion​: Does BEAM have a UI Wallet?\nAnswer​: Yes, at launch BEAM will release a desktop wallet application for Mac, Windows and Linux.\nPlease submit additional questions to our Community group on Telegram: @BeamPrivacy | ​",[18,8125,8126],{"href":8126,"rel":8127},"https:\u002F\u002Ft.me\u002FBeamPrivacy",[22],[11,8129,8130,8131,8133,8134,8138,8140,8141,8145,8140,8147,8151,8140,8153,8157,8140,8159,2679,8162,8140,8164],{},"References:\n",[984,8132,1345],{},"​ ​",[18,8135,8136],{"href":8136,"rel":8137},"https:\u002F\u002Fbitcoin.org\u002Fbitcoin.pdf",[22],[984,8139,1503],{}," ​",[18,8142,8143],{"href":8143,"rel":8144},"https:\u002F\u002Farxiv.org\u002Fabs\u002F1708.04748",[22],[984,8146,5131],{},[18,8148,8149],{"href":8149,"rel":8150},"https:\u002F\u002Fpeople.xiph.org\u002F~greg\u002Fconfidential_values.txt",[22],[984,8152,2431],{},[18,8154,8155],{"href":8155,"rel":8156},"https:\u002F\u002Fbitcointalk.org\u002Findex.php?topic=281848.0",[22],[984,8158,8099],{},[18,8160,8107],{"href":8107,"rel":8161},[22],[984,8163,1018],{},[18,8165,8166],{"href":8166,"rel":8167},"https:\u002F\u002Feprint.iacr.org\u002F2017\u002F1066.pdf",[22],{"title":760,"searchDepth":761,"depth":761,"links":8169},[],{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-position-paper",{"description":8069},"docs\u002Fcore-tech\u002FBeam-Position-Paper","jzaHQGnw9B25xHR4n2ZoeoK-vv0EiJ1C79gzL9dw3vs",{"id":8176,"title":8177,"body":8178,"description":8182,"extension":775,"image":776,"meta":8256,"navTitle":776,"navigation":778,"path":8257,"seo":8258,"stem":8259,"__hash__":8260},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Technical-Specifications.md","Beam Technical Specifications",{"type":8,"value":8179,"toc":8254},[8180,8183],[11,8181,8182],{},"BEAM implements the MW protocol (with some extensions), which is based on elliptic curve cryptography (ECC).",[89,8184,8185,8192,8208,8215,8222,8229,8241,8248],{},[54,8186,8187],{},[18,8188,8191],{"href":8189,"rel":8190},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FCryptographic-primitives",[22],"Cryptographic primitives",[54,8193,8194,8199],{},[18,8195,8198],{"href":8196,"rel":8197},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FMerkle-trees",[22],"Merkle trees",[89,8200,8201],{},[54,8202,8203],{},[18,8204,8207],{"href":8205,"rel":8206},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FDMMR-internal-layout",[22],"DMMR layout",[54,8209,8210],{},[18,8211,8214],{"href":8212,"rel":8213},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FCore-transaction-elements",[22],"Core transaction elements",[54,8216,8217],{},[18,8218,8221],{"href":8219,"rel":8220},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FSystem-state,-header,-block",[22],"Blocks, headers, System States: concept, relevant structures and values",[54,8223,8224],{},[18,8225,8228],{"href":8226,"rel":8227},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FSystem-state-in-depth",[22],"System State in-depth",[54,8230,8231,8232],{},"Node\n",[89,8233,8234],{},[54,8235,8236],{},[18,8237,8240],{"href":8238,"rel":8239},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FNode-initial-synchronization",[22],"Initial synchronization",[54,8242,8243],{},[18,8244,8247],{"href":8245,"rel":8246},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FSecure-bulletin-board-system-(SBBS)",[22],"Secure bulletin board system (SBBS)",[54,8249,8250],{},[18,8251,5667],{"href":8252,"rel":8253},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Equihash-specification",[22],{"title":760,"searchDepth":761,"depth":761,"links":8255},[],{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-technical-specifications",{"description":8182},"docs\u002Fcore-tech\u002FBeam-Technical-Specifications","_oqKO0PVVKHiswT8hdFzyWoo-a5FzCsxnCvbrrOvz8w",{"id":8262,"title":8263,"body":8264,"description":760,"extension":775,"image":776,"meta":8311,"navTitle":776,"navigation":778,"path":8312,"seo":8313,"stem":8314,"__hash__":8315},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-URI-scheme.md","Beam URI scheme",{"type":8,"value":8265,"toc":8307},[8266,8269,8273,8278,8283,8288,8293,8298,8302],[43,8267,8263],{"id":8268},"beam-uri-scheme",[26,8270,8272],{"id":8271},"ebnf-syntax","EBNF syntax",[11,8274,8275],{},[150,8276,8277],{}," beam_urn     = \"beam:\" hex_address [\"?\" params]",[11,8279,8280],{},[150,8281,8282],{},"hex_address  = base16+",[11,8284,8285],{},[150,8286,8287],{},"params       = param [\"&\" params]",[11,8289,8290],{},[150,8291,8292],{},"param        = amount_param",[11,8294,8295],{},[150,8296,8297],{},"amount_param = \"amount=\" digit+ [ \".\" digit* ]",[26,8299,8301],{"id":8300},"simplified-syntax","Simplified syntax",[11,8303,8304],{},[150,8305,8306],{},"beam: \u003Caddress> [?amount=\u003Camount>]",{"title":760,"searchDepth":761,"depth":761,"links":8308},[8309,8310],{"id":8271,"depth":761,"text":8272},{"id":8300,"depth":761,"text":8301},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-uri-scheme",{"title":8263,"description":760},"docs\u002Fcore-tech\u002FBeam-URI-scheme","NSbdOUbwhKQTZYwEqooCf4cOFhd8aozm6L1k6GjXLBY",{"id":8317,"title":8318,"body":8319,"description":8323,"extension":775,"image":776,"meta":8740,"navTitle":776,"navigation":778,"path":8741,"seo":8742,"stem":8743,"__hash__":8744},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Wallet-Database.md","Beam Wallet Database",{"type":8,"value":8320,"toc":8736},[8321,8324,8327,8341,8350,8353,8356,8365,8598,8602,8613,8718,8722,8733],[11,8322,8323],{},"Since in Mimblewimble only UTXO related information is available on chain, most of the Wallet state should be maintained locally and store in the Wallet Database, which is described in this chapter.",[11,8325,8326],{},"Beam Wallet stores and tracks information about four key entities:",[51,8328,8329,8332,8335,8338],{},[54,8330,8331],{},"Coins",[54,8333,8334],{},"Addresses",[54,8336,8337],{},"Transactions",[54,8339,8340],{},"Blockchain State",[11,8342,8343,8344,8349],{},"The interface for the database is specified in the ",[18,8345,8348],{"href":8346,"rel":8347},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002F56e9cdd7be211649a576fa15d3f0a97922ae2acd\u002Fwallet\u002Fwallet_db.h#L164",[22],"wallet_db.h"," file",[11,8351,8352],{},"Beam currently uses sqlite relational database in the implementation",[43,8354,8331],{"id":8355},"coins",[11,8357,8358,8359,8364],{},"We will start with the ",[18,8360,8363],{"href":8361,"rel":8362},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002F56e9cdd7be211649a576fa15d3f0a97922ae2acd\u002Fwallet\u002Fwallet_db.h#L41",[22],"definition"," of a Coin structure, which represents a UTXO as it is seen by the wallet.",[866,8366,8370],{"className":8367,"code":8368,"language":8369,"meta":760,"style":760},"language-c++ shiki shiki-themes github-dark","\n    \u002F\u002F Describes a UTXO in the context of the Wallet\n    struct Coin\n    {\n        \u002F\u002F Status is not stored in the database but can be\n        \u002F\u002F deduced from the current blockchain state\n        enum Status\n        {\n            Unavailable, \u002F\u002F initial status of a new UTXO\n            Available,   \u002F\u002F UTXO is currently present in the chain and can be spent\n            Maturing,    \u002F\u002F UTXO is present in the chain has maturity higher than current height (i.e coinbase or treasury)\n            Outgoing,    \u002F\u002F Available and participates in outgoing transaction\n            Incoming,    \u002F\u002F Outputs of incoming transaction, currently unavailable\n            ChangeV0,    \u002F\u002F deprecated.\n            Spent,       \u002F\u002F UTXO that was spent. Stored in wallet database until reset or restore\n\n            count\n        };\n\n        Coin(Amount amount = 0, Key::Type keyType = Key::Type::Regular);\n        bool operator==(const Coin&) const;\n        bool operator!=(const Coin&) const;\n        bool isReward() const;\n        std::string toStringID() const;\n        Amount getAmount() const;\n\n        typedef Key::IDV ID; \u002F\u002F unique identifier for the coin (including value), can be used to create blinding factor \n        ID m_ID;\n\n        Status m_status;        \u002F\u002F current status of the coin\n        Height m_maturity;      \u002F\u002F coin can be spent only when chain is >= this value. Valid for confirmed coins (Available, Outgoing, Incoming, Change, Spent, Maturing).\n\n                                \u002F\u002F The following fields are used to derive the status of the transaction\n        Height m_confirmHeight; \u002F\u002F height at which the coin was confirmed (appeared in the chain)\n        Height m_spentHeight;   \u002F\u002F height at which the coin was spent\n\n        boost::optional\u003CTxID> m_createTxId;  \u002F\u002F id of the transaction which created the UTXO\n        boost::optional\u003CTxID> m_spentTxId;   \u002F\u002F id of the transaction which spernt the UTXO\n        \n        uint64_t m_sessionId;   \u002F\u002F Used in the API to lock coins for specific session (see https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#tx_split)\n\n        bool IsMaturityValid() const; \u002F\u002F is\u002Fwas the UTXO confirmed?\n        Height get_Maturity() const; \u002F\u002F would return MaxHeight unless the UTXO was confirmed\n        \n        std::string getStatusString() const;\n        static boost::optional\u003CCoin::ID> FromString(const std::string& str);\n    };\n","c++",[150,8371,8372,8377,8382,8387,8391,8396,8401,8406,8411,8416,8421,8426,8431,8436,8441,8446,8450,8455,8460,8464,8469,8474,8479,8484,8489,8494,8498,8503,8508,8512,8517,8522,8526,8531,8536,8541,8545,8550,8555,8560,8565,8569,8574,8579,8583,8588,8593],{"__ignoreMap":760},[984,8373,8374],{"class":986,"line":987},[984,8375,8376],{"emptyLinePlaceholder":778},"\n",[984,8378,8379],{"class":986,"line":761},[984,8380,8381],{},"    \u002F\u002F Describes a UTXO in the context of the Wallet\n",[984,8383,8384],{"class":986,"line":772},[984,8385,8386],{},"    struct Coin\n",[984,8388,8389],{"class":986,"line":1024},[984,8390,1529],{},[984,8392,8393],{"class":986,"line":1035},[984,8394,8395],{},"        \u002F\u002F Status is not stored in the database but can be\n",[984,8397,8398],{"class":986,"line":1098},[984,8399,8400],{},"        \u002F\u002F deduced from the current blockchain state\n",[984,8402,8403],{"class":986,"line":1111},[984,8404,8405],{},"        enum Status\n",[984,8407,8408],{"class":986,"line":1124},[984,8409,8410],{},"        {\n",[984,8412,8413],{"class":986,"line":1137},[984,8414,8415],{},"            Unavailable, \u002F\u002F initial status of a new UTXO\n",[984,8417,8418],{"class":986,"line":1150},[984,8419,8420],{},"            Available,   \u002F\u002F UTXO is currently present in the chain and can be spent\n",[984,8422,8423],{"class":986,"line":1163},[984,8424,8425],{},"            Maturing,    \u002F\u002F UTXO is present in the chain has maturity higher than current height (i.e coinbase or treasury)\n",[984,8427,8428],{"class":986,"line":1176},[984,8429,8430],{},"            Outgoing,    \u002F\u002F Available and participates in outgoing transaction\n",[984,8432,8433],{"class":986,"line":1189},[984,8434,8435],{},"            Incoming,    \u002F\u002F Outputs of incoming transaction, currently unavailable\n",[984,8437,8438],{"class":986,"line":1202},[984,8439,8440],{},"            ChangeV0,    \u002F\u002F deprecated.\n",[984,8442,8443],{"class":986,"line":1211},[984,8444,8445],{},"            Spent,       \u002F\u002F UTXO that was spent. Stored in wallet database until reset or restore\n",[984,8447,8448],{"class":986,"line":1217},[984,8449,8376],{"emptyLinePlaceholder":778},[984,8451,8452],{"class":986,"line":1229},[984,8453,8454],{},"            count\n",[984,8456,8457],{"class":986,"line":1241},[984,8458,8459],{},"        };\n",[984,8461,8462],{"class":986,"line":1254},[984,8463,8376],{"emptyLinePlaceholder":778},[984,8465,8466],{"class":986,"line":1266},[984,8467,8468],{},"        Coin(Amount amount = 0, Key::Type keyType = Key::Type::Regular);\n",[984,8470,8471],{"class":986,"line":1279},[984,8472,8473],{},"        bool operator==(const Coin&) const;\n",[984,8475,8476],{"class":986,"line":1291},[984,8477,8478],{},"        bool operator!=(const Coin&) const;\n",[984,8480,8481],{"class":986,"line":1304},[984,8482,8483],{},"        bool isReward() const;\n",[984,8485,8486],{"class":986,"line":1316},[984,8487,8488],{},"        std::string toStringID() const;\n",[984,8490,8491],{"class":986,"line":1327},[984,8492,8493],{},"        Amount getAmount() const;\n",[984,8495,8496],{"class":986,"line":1333},[984,8497,8376],{"emptyLinePlaceholder":778},[984,8499,8500],{"class":986,"line":1338},[984,8501,8502],{},"        typedef Key::IDV ID; \u002F\u002F unique identifier for the coin (including value), can be used to create blinding factor \n",[984,8504,8505],{"class":986,"line":1355},[984,8506,8507],{},"        ID m_ID;\n",[984,8509,8510],{"class":986,"line":1367},[984,8511,8376],{"emptyLinePlaceholder":778},[984,8513,8514],{"class":986,"line":1379},[984,8515,8516],{},"        Status m_status;        \u002F\u002F current status of the coin\n",[984,8518,8519],{"class":986,"line":1390},[984,8520,8521],{},"        Height m_maturity;      \u002F\u002F coin can be spent only when chain is >= this value. Valid for confirmed coins (Available, Outgoing, Incoming, Change, Spent, Maturing).\n",[984,8523,8524],{"class":986,"line":1402},[984,8525,8376],{"emptyLinePlaceholder":778},[984,8527,8528],{"class":986,"line":1413},[984,8529,8530],{},"                                \u002F\u002F The following fields are used to derive the status of the transaction\n",[984,8532,8533],{"class":986,"line":1424},[984,8534,8535],{},"        Height m_confirmHeight; \u002F\u002F height at which the coin was confirmed (appeared in the chain)\n",[984,8537,8538],{"class":986,"line":1435},[984,8539,8540],{},"        Height m_spentHeight;   \u002F\u002F height at which the coin was spent\n",[984,8542,8543],{"class":986,"line":1444},[984,8544,8376],{"emptyLinePlaceholder":778},[984,8546,8547],{"class":986,"line":1450},[984,8548,8549],{},"        boost::optional\u003CTxID> m_createTxId;  \u002F\u002F id of the transaction which created the UTXO\n",[984,8551,8552],{"class":986,"line":1456},[984,8553,8554],{},"        boost::optional\u003CTxID> m_spentTxId;   \u002F\u002F id of the transaction which spernt the UTXO\n",[984,8556,8557],{"class":986,"line":1462},[984,8558,8559],{},"        \n",[984,8561,8562],{"class":986,"line":7201},[984,8563,8564],{},"        uint64_t m_sessionId;   \u002F\u002F Used in the API to lock coins for specific session (see https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#tx_split)\n",[984,8566,8567],{"class":986,"line":7206},[984,8568,8376],{"emptyLinePlaceholder":778},[984,8570,8571],{"class":986,"line":7218},[984,8572,8573],{},"        bool IsMaturityValid() const; \u002F\u002F is\u002Fwas the UTXO confirmed?\n",[984,8575,8576],{"class":986,"line":7229},[984,8577,8578],{},"        Height get_Maturity() const; \u002F\u002F would return MaxHeight unless the UTXO was confirmed\n",[984,8580,8581],{"class":986,"line":7241},[984,8582,8559],{},[984,8584,8585],{"class":986,"line":7252},[984,8586,8587],{},"        std::string getStatusString() const;\n",[984,8589,8590],{"class":986,"line":7262},[984,8591,8592],{},"        static boost::optional\u003CCoin::ID> FromString(const std::string& str);\n",[984,8594,8595],{"class":986,"line":7267},[984,8596,8597],{},"    };\n",[26,8599,8601],{"id":8600},"deducing-coin-status","Deducing Coin Status",[11,8603,8604,8605,8608,8609,8612],{},"By monitoring the state of the blockchain, the wallet can always deduce the current status of each coin by tracking the m_confirmHeight height and m_spentHeight. This is done in the ",[150,8606,8607],{},"void DeduceStatus(const IWalletDB&, Coin&, Height hTop);"," method which calls the ",[150,8610,8611],{},"Coin::Status GetCoinStatus(const IWalletDB&, const Coin&, Height hTop);"," method that in turn returns the current status of the coin.",[866,8614,8616],{"className":8367,"code":8615,"language":8369,"meta":760,"style":760},"\nCoin::Status GetCoinStatus(const IWalletDB& walletDB, const Coin& c, Height hTop)\n{\n    if (c.m_spentHeight != MaxHeight)\n        return Coin::Status::Spent;\n\n    if (c.m_confirmHeight != MaxHeight)\n    {\n        if (c.m_maturity > hTop)\n            return Coin::Status::Maturing;\n\n        if (IsOngoingTx(walletDB, c.m_spentTxId))\n            return Coin::Status::Outgoing;\n\n        return Coin::Status::Available;\n    }\n\n    if (IsOngoingTx(walletDB, c.m_createTxId))\n        return Coin::Status::Incoming;\n\n    return Coin::Status::Unavailable;\n}\n",[150,8617,8618,8622,8627,8631,8636,8641,8645,8650,8654,8659,8664,8668,8673,8678,8682,8687,8691,8695,8700,8705,8709,8714],{"__ignoreMap":760},[984,8619,8620],{"class":986,"line":987},[984,8621,8376],{"emptyLinePlaceholder":778},[984,8623,8624],{"class":986,"line":761},[984,8625,8626],{},"Coin::Status GetCoinStatus(const IWalletDB& walletDB, const Coin& c, Height hTop)\n",[984,8628,8629],{"class":986,"line":772},[984,8630,991],{},[984,8632,8633],{"class":986,"line":1024},[984,8634,8635],{},"    if (c.m_spentHeight != MaxHeight)\n",[984,8637,8638],{"class":986,"line":1035},[984,8639,8640],{},"        return Coin::Status::Spent;\n",[984,8642,8643],{"class":986,"line":1098},[984,8644,8376],{"emptyLinePlaceholder":778},[984,8646,8647],{"class":986,"line":1111},[984,8648,8649],{},"    if (c.m_confirmHeight != MaxHeight)\n",[984,8651,8652],{"class":986,"line":1124},[984,8653,1529],{},[984,8655,8656],{"class":986,"line":1137},[984,8657,8658],{},"        if (c.m_maturity > hTop)\n",[984,8660,8661],{"class":986,"line":1150},[984,8662,8663],{},"            return Coin::Status::Maturing;\n",[984,8665,8666],{"class":986,"line":1163},[984,8667,8376],{"emptyLinePlaceholder":778},[984,8669,8670],{"class":986,"line":1176},[984,8671,8672],{},"        if (IsOngoingTx(walletDB, c.m_spentTxId))\n",[984,8674,8675],{"class":986,"line":1189},[984,8676,8677],{},"            return Coin::Status::Outgoing;\n",[984,8679,8680],{"class":986,"line":1202},[984,8681,8376],{"emptyLinePlaceholder":778},[984,8683,8684],{"class":986,"line":1211},[984,8685,8686],{},"        return Coin::Status::Available;\n",[984,8688,8689],{"class":986,"line":1217},[984,8690,1607],{},[984,8692,8693],{"class":986,"line":1229},[984,8694,8376],{"emptyLinePlaceholder":778},[984,8696,8697],{"class":986,"line":1241},[984,8698,8699],{},"    if (IsOngoingTx(walletDB, c.m_createTxId))\n",[984,8701,8702],{"class":986,"line":1254},[984,8703,8704],{},"        return Coin::Status::Incoming;\n",[984,8706,8707],{"class":986,"line":1266},[984,8708,8376],{"emptyLinePlaceholder":778},[984,8710,8711],{"class":986,"line":1279},[984,8712,8713],{},"    return Coin::Status::Unavailable;\n",[984,8715,8716],{"class":986,"line":1291},[984,8717,1038],{},[26,8719,8721],{"id":8720},"selecting-coins-for-a-specified-amount","Selecting coins for a specified amount",[11,8723,8724,8725,8728,8729,8732],{},"Implemented in the ",[150,8726,8727],{},"std::vector\u003CCoin> selectCoins(Amount amount) override;"," method. The purpose of the function is to select Coins matching a specific amount (for example in sending scenario). Selection method should minimize number of Coins and the change outputs and hence use greedy strategy with some additional heuristics. Specific strategies for coin selection are implemented in the ",[150,8730,8731],{},"struct CoinSelector3"," in honor of three attempts to write an effective selector for large amount of coins.",[2685,8734,8735],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":760,"searchDepth":761,"depth":761,"links":8737},[8738,8739],{"id":8600,"depth":761,"text":8601},{"id":8720,"depth":761,"text":8721},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-database",{"description":8323},"docs\u002Fcore-tech\u002FBeam-Wallet-Database","NlujWYZpS2jqu09pGsVuBuy1TLnSEHHRseTedqin3DY",{"id":8746,"title":8747,"body":8748,"description":8759,"extension":775,"image":776,"meta":10085,"navTitle":776,"navigation":778,"path":10086,"seo":10087,"stem":10088,"__hash__":10089},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-Web-Wallet-Starter-Kit.md","Beam Web Wallet Starter Kit working draft",{"type":8,"value":8749,"toc":10076},[8750,8757,8760,8764,8767,8770,8774,8782,8794,8798,8804,8922,8929,8933,8939,9102,9105,9109,9354,9358,9372,9460,9463,9979,9988,9992,9995,10073],[43,8751,8753,8754],{"id":8752},"beam-web-wallet-starter-kit-working-draft","Beam Web Wallet Starter Kit ",[984,8755,8756],{},"working draft",[11,8758,8759],{},"Web wallet starter allows you easily integrate Beam with your service, create a bunch of wallets and manage them... (TODO)",[26,8761,8763],{"id":8762},"web-wallet-scheme","Web wallet scheme",[11,8765,8766],{},"Browser + Key Keeper \u003C==> Web Service\n(TODO: here will be detailed scheme).",[11,8768,8769],{},"Let's do a simple integration step by step with the examples.",[26,8771,8773],{"id":8772},"obtain-binaries","Obtain binaries",[11,8775,8776,8777,8781],{},"You can download prebuild binaries from our server with nightly builds ",[18,8778,8779],{"href":8779,"rel":8780},"https:\u002F\u002Fbuilds.beam-mw.com\u002Fmaster\u002F",[22]," or you can build all the parts yourself, here are build instructions (TODO)",[11,8783,8784,8785,441,8788,163,8791],{},"At the end, you need ",[150,8786,8787],{},"wallet-service-masternet",[150,8789,8790],{},"wasm-key-keeper.js",[150,8792,8793],{},"wasm-key-keeper.wasm",[26,8795,8797],{"id":8796},"load-key-keeper-to-the-client","Load Key Keeper to the client",[11,8799,8800,8801,8803],{},"Put the code near ",[150,8802,8790],{}," and start any static server.",[866,8805,8809],{"className":8806,"code":8807,"language":8808,"meta":760,"style":760},"language-html shiki shiki-themes github-dark","\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(() => console.log(`Key Keeper module successfully loaded.`))\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n","html",[150,8810,8811,8826,8835,8857,8873,8905,8914],{"__ignoreMap":760},[984,8812,8813,8816,8820,8823],{"class":986,"line":987},[984,8814,8815],{"class":990},"\u003C!",[984,8817,8819],{"class":8818},"s4JwU","DOCTYPE",[984,8821,8822],{"class":5316}," html",[984,8824,8825],{"class":990},">\n",[984,8827,8828,8831,8833],{"class":986,"line":761},[984,8829,8830],{"class":990},"\u003C",[984,8832,8808],{"class":8818},[984,8834,8825],{"class":990},[984,8836,8837,8839,8842,8845,8847,8850,8853,8855],{"class":986,"line":772},[984,8838,8830],{"class":990},[984,8840,8841],{"class":8818},"script",[984,8843,8844],{"class":5316}," src",[984,8846,5298],{"class":990},[984,8848,8849],{"class":1003},"'wasm-key-keeper.js'",[984,8851,8852],{"class":990},">\u003C\u002F",[984,8854,8841],{"class":8818},[984,8856,8825],{"class":990},[984,8858,8859,8861,8863,8866,8868,8871],{"class":986,"line":1024},[984,8860,8830],{"class":990},[984,8862,8841],{"class":8818},[984,8864,8865],{"class":5316}," type",[984,8867,5298],{"class":990},[984,8869,8870],{"class":1003},"\"text\u002Fjavascript\"",[984,8872,8825],{"class":990},[984,8874,8875,8878,8881,8884,8887,8890,8893,8896,8899,8902],{"class":986,"line":1035},[984,8876,8877],{"class":5316},"    Module",[984,8879,8880],{"class":990},"().",[984,8882,8883],{"class":5316},"then",[984,8885,8886],{"class":990},"(() ",[984,8888,8889],{"class":5291},"=>",[984,8891,8892],{"class":990}," console.",[984,8894,8895],{"class":5316},"log",[984,8897,8898],{"class":990},"(",[984,8900,8901],{"class":1003},"`Key Keeper module successfully loaded.`",[984,8903,8904],{"class":990},"))\n",[984,8906,8907,8910,8912],{"class":986,"line":1098},[984,8908,8909],{"class":990},"\u003C\u002F",[984,8911,8841],{"class":8818},[984,8913,8825],{"class":990},[984,8915,8916,8918,8920],{"class":986,"line":1111},[984,8917,8909],{"class":990},[984,8919,8808],{"class":8818},[984,8921,8825],{"class":990},[11,8923,8924,8925,8928],{},"If all is OK you will see ",[150,8926,8927],{},"Key Keeper module successfully loaded."," message in the browser console.",[26,8930,8932],{"id":8931},"connect-to-the-wallet-service","Connect to the Wallet Service",[11,8934,8935,8936,385],{},"Run the service with the following parameters ",[150,8937,8938],{},"wallet-service-masternet -n eu-node04.masternet.beam.mw:8100 --port 8080",[866,8940,8942],{"className":8806,"code":8941,"language":8808,"meta":760,"style":760},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(() => \n    {\n        console.log(`Key Keeper module successfully loaded.`)\n        \n        let connection = new WebSocket('ws:\u002F\u002F127.0.0.1:8080')\n        connection.onopen = () => console.log(`Connected to the Wallet Servce.`)\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[150,8943,8944,8954,8962,8980,8994,9009,9013,9027,9031,9054,9081,9086,9094],{"__ignoreMap":760},[984,8945,8946,8948,8950,8952],{"class":986,"line":987},[984,8947,8815],{"class":990},[984,8949,8819],{"class":8818},[984,8951,8822],{"class":5316},[984,8953,8825],{"class":990},[984,8955,8956,8958,8960],{"class":986,"line":761},[984,8957,8830],{"class":990},[984,8959,8808],{"class":8818},[984,8961,8825],{"class":990},[984,8963,8964,8966,8968,8970,8972,8974,8976,8978],{"class":986,"line":772},[984,8965,8830],{"class":990},[984,8967,8841],{"class":8818},[984,8969,8844],{"class":5316},[984,8971,5298],{"class":990},[984,8973,8849],{"class":1003},[984,8975,8852],{"class":990},[984,8977,8841],{"class":8818},[984,8979,8825],{"class":990},[984,8981,8982,8984,8986,8988,8990,8992],{"class":986,"line":1024},[984,8983,8830],{"class":990},[984,8985,8841],{"class":8818},[984,8987,8865],{"class":5316},[984,8989,5298],{"class":990},[984,8991,8870],{"class":1003},[984,8993,8825],{"class":990},[984,8995,8996,8998,9000,9002,9004,9006],{"class":986,"line":1035},[984,8997,8877],{"class":5316},[984,8999,8880],{"class":990},[984,9001,8883],{"class":5316},[984,9003,8886],{"class":990},[984,9005,8889],{"class":5291},[984,9007,9008],{"class":990}," \n",[984,9010,9011],{"class":986,"line":1098},[984,9012,1529],{"class":990},[984,9014,9015,9018,9020,9022,9024],{"class":986,"line":1111},[984,9016,9017],{"class":990},"        console.",[984,9019,8895],{"class":5316},[984,9021,8898],{"class":990},[984,9023,8901],{"class":1003},[984,9025,9026],{"class":990},")\n",[984,9028,9029],{"class":986,"line":1124},[984,9030,8559],{"class":990},[984,9032,9033,9036,9039,9041,9044,9047,9049,9052],{"class":986,"line":1137},[984,9034,9035],{"class":5291},"        let",[984,9037,9038],{"class":990}," connection ",[984,9040,5298],{"class":5291},[984,9042,9043],{"class":5291}," new",[984,9045,9046],{"class":5316}," WebSocket",[984,9048,8898],{"class":990},[984,9050,9051],{"class":1003},"'ws:\u002F\u002F127.0.0.1:8080'",[984,9053,9026],{"class":990},[984,9055,9056,9059,9062,9065,9068,9070,9072,9074,9076,9079],{"class":986,"line":1150},[984,9057,9058],{"class":990},"        connection.",[984,9060,9061],{"class":5316},"onopen",[984,9063,9064],{"class":5291}," =",[984,9066,9067],{"class":990}," () ",[984,9069,8889],{"class":5291},[984,9071,8892],{"class":990},[984,9073,8895],{"class":5316},[984,9075,8898],{"class":990},[984,9077,9078],{"class":1003},"`Connected to the Wallet Servce.`",[984,9080,9026],{"class":990},[984,9082,9083],{"class":986,"line":1163},[984,9084,9085],{"class":990},"    })\n",[984,9087,9088,9090,9092],{"class":986,"line":1176},[984,9089,8909],{"class":990},[984,9091,8841],{"class":8818},[984,9093,8825],{"class":990},[984,9095,9096,9098,9100],{"class":986,"line":1189},[984,9097,8909],{"class":990},[984,9099,8808],{"class":8818},[984,9101,8825],{"class":990},[11,9103,9104],{},"We are using WebSockets here, because we need two-way communication with the service and service can request any keykeeper method, to sign transaction for example.",[26,9106,9108],{"id":9107},"init-key-keeper-with-a-seed-phase","Init Key Keeper with a seed phase",[866,9110,9112],{"className":8806,"code":9111,"language":8808,"meta":760,"style":760},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(Module => \n    {\n        console.log(`Key Keeper module successfully loaded.`)\n        \n        let connection = new WebSocket('ws:\u002F\u002F127.0.0.1:8080')\n        connection.onopen = () => \n        {\n            console.log(`Connected to the Wallet Service.`)\n\n            \u002F\u002F generate seed phrase\n            let seed = Module.KeyKeeper.GeneratePhrase()\n            console.log(`New Seed: ${seed}`)\n\n            \u002F\u002F init Key Keeper with the seed phrase\n            let keykeeper = new Module.KeyKeeper(seed)\n        }\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[150,9113,9114,9124,9132,9150,9164,9183,9187,9199,9203,9221,9235,9239,9253,9257,9262,9281,9300,9304,9309,9329,9334,9338,9346],{"__ignoreMap":760},[984,9115,9116,9118,9120,9122],{"class":986,"line":987},[984,9117,8815],{"class":990},[984,9119,8819],{"class":8818},[984,9121,8822],{"class":5316},[984,9123,8825],{"class":990},[984,9125,9126,9128,9130],{"class":986,"line":761},[984,9127,8830],{"class":990},[984,9129,8808],{"class":8818},[984,9131,8825],{"class":990},[984,9133,9134,9136,9138,9140,9142,9144,9146,9148],{"class":986,"line":772},[984,9135,8830],{"class":990},[984,9137,8841],{"class":8818},[984,9139,8844],{"class":5316},[984,9141,5298],{"class":990},[984,9143,8849],{"class":1003},[984,9145,8852],{"class":990},[984,9147,8841],{"class":8818},[984,9149,8825],{"class":990},[984,9151,9152,9154,9156,9158,9160,9162],{"class":986,"line":1024},[984,9153,8830],{"class":990},[984,9155,8841],{"class":8818},[984,9157,8865],{"class":5316},[984,9159,5298],{"class":990},[984,9161,8870],{"class":1003},[984,9163,8825],{"class":990},[984,9165,9166,9168,9170,9172,9174,9178,9181],{"class":986,"line":1035},[984,9167,8877],{"class":5316},[984,9169,8880],{"class":990},[984,9171,8883],{"class":5316},[984,9173,8898],{"class":990},[984,9175,9177],{"class":9176},"s9osk","Module",[984,9179,9180],{"class":5291}," =>",[984,9182,9008],{"class":990},[984,9184,9185],{"class":986,"line":1098},[984,9186,1529],{"class":990},[984,9188,9189,9191,9193,9195,9197],{"class":986,"line":1111},[984,9190,9017],{"class":990},[984,9192,8895],{"class":5316},[984,9194,8898],{"class":990},[984,9196,8901],{"class":1003},[984,9198,9026],{"class":990},[984,9200,9201],{"class":986,"line":1124},[984,9202,8559],{"class":990},[984,9204,9205,9207,9209,9211,9213,9215,9217,9219],{"class":986,"line":1137},[984,9206,9035],{"class":5291},[984,9208,9038],{"class":990},[984,9210,5298],{"class":5291},[984,9212,9043],{"class":5291},[984,9214,9046],{"class":5316},[984,9216,8898],{"class":990},[984,9218,9051],{"class":1003},[984,9220,9026],{"class":990},[984,9222,9223,9225,9227,9229,9231,9233],{"class":986,"line":1150},[984,9224,9058],{"class":990},[984,9226,9061],{"class":5316},[984,9228,9064],{"class":5291},[984,9230,9067],{"class":990},[984,9232,8889],{"class":5291},[984,9234,9008],{"class":990},[984,9236,9237],{"class":986,"line":1163},[984,9238,8410],{"class":990},[984,9240,9241,9244,9246,9248,9251],{"class":986,"line":1176},[984,9242,9243],{"class":990},"            console.",[984,9245,8895],{"class":5316},[984,9247,8898],{"class":990},[984,9249,9250],{"class":1003},"`Connected to the Wallet Service.`",[984,9252,9026],{"class":990},[984,9254,9255],{"class":986,"line":1189},[984,9256,8376],{"emptyLinePlaceholder":778},[984,9258,9259],{"class":986,"line":1202},[984,9260,9261],{"class":1351},"            \u002F\u002F generate seed phrase\n",[984,9263,9264,9267,9270,9272,9275,9278],{"class":986,"line":1211},[984,9265,9266],{"class":5291},"            let",[984,9268,9269],{"class":990}," seed ",[984,9271,5298],{"class":5291},[984,9273,9274],{"class":990}," Module.KeyKeeper.",[984,9276,9277],{"class":5316},"GeneratePhrase",[984,9279,9280],{"class":990},"()\n",[984,9282,9283,9285,9287,9289,9292,9295,9298],{"class":986,"line":1217},[984,9284,9243],{"class":990},[984,9286,8895],{"class":5316},[984,9288,8898],{"class":990},[984,9290,9291],{"class":1003},"`New Seed: ${",[984,9293,9294],{"class":990},"seed",[984,9296,9297],{"class":1003},"}`",[984,9299,9026],{"class":990},[984,9301,9302],{"class":986,"line":1229},[984,9303,8376],{"emptyLinePlaceholder":778},[984,9305,9306],{"class":986,"line":1241},[984,9307,9308],{"class":1351},"            \u002F\u002F init Key Keeper with the seed phrase\n",[984,9310,9311,9313,9316,9318,9320,9323,9326],{"class":986,"line":1254},[984,9312,9266],{"class":5291},[984,9314,9315],{"class":990}," keykeeper ",[984,9317,5298],{"class":5291},[984,9319,9043],{"class":5291},[984,9321,9322],{"class":990}," Module.",[984,9324,9325],{"class":5316},"KeyKeeper",[984,9327,9328],{"class":990},"(seed)\n",[984,9330,9331],{"class":986,"line":1266},[984,9332,9333],{"class":990},"        }\n",[984,9335,9336],{"class":986,"line":1279},[984,9337,9085],{"class":990},[984,9339,9340,9342,9344],{"class":986,"line":1291},[984,9341,8909],{"class":990},[984,9343,8841],{"class":8818},[984,9345,8825],{"class":990},[984,9347,9348,9350,9352],{"class":986,"line":1304},[984,9349,8909],{"class":990},[984,9351,8808],{"class":8818},[984,9353,8825],{"class":990},[26,9355,9357],{"id":9356},"create-wallet","Create wallet",[11,9359,9360,9361,9364,9365,163,9368,9371],{},"To create wallet you have to call ",[150,9362,9363],{},"create_wallet"," jsonrpc api method with ",[150,9366,9367],{},"pass",[150,9369,9370],{},"ownerkey"," parameters.",[866,9373,9377],{"className":9374,"code":9375,"language":9376,"meta":760,"style":760},"language-js shiki shiki-themes github-dark","{\n    jsonrpc:'2.0',\n    id:'\u003Crequest ID>',\n    method:'create_wallet',\n    params:\n    {\n        pass:'\u003Cwallet password>'\n        ownerkey:'\u003Cowner key>',\n    }\n}\n","js",[150,9378,9379,9383,9395,9407,9419,9426,9430,9440,9452,9456],{"__ignoreMap":760},[984,9380,9381],{"class":986,"line":987},[984,9382,991],{"class":990},[984,9384,9385,9388,9390,9393],{"class":986,"line":761},[984,9386,9387],{"class":5316},"    jsonrpc",[984,9389,1000],{"class":990},[984,9391,9392],{"class":1003},"'2.0'",[984,9394,1021],{"class":990},[984,9396,9397,9400,9402,9405],{"class":986,"line":772},[984,9398,9399],{"class":5316},"    id",[984,9401,1000],{"class":990},[984,9403,9404],{"class":1003},"'\u003Crequest ID>'",[984,9406,1021],{"class":990},[984,9408,9409,9412,9414,9417],{"class":986,"line":1024},[984,9410,9411],{"class":5316},"    method",[984,9413,1000],{"class":990},[984,9415,9416],{"class":1003},"'create_wallet'",[984,9418,1021],{"class":990},[984,9420,9421,9424],{"class":986,"line":1035},[984,9422,9423],{"class":5316},"    params",[984,9425,1524],{"class":990},[984,9427,9428],{"class":986,"line":1098},[984,9429,1529],{"class":990},[984,9431,9432,9435,9437],{"class":986,"line":1111},[984,9433,9434],{"class":5316},"        pass",[984,9436,1000],{"class":990},[984,9438,9439],{"class":1003},"'\u003Cwallet password>'\n",[984,9441,9442,9445,9447,9450],{"class":986,"line":1124},[984,9443,9444],{"class":5316},"        ownerkey",[984,9446,1000],{"class":990},[984,9448,9449],{"class":1003},"'\u003Cowner key>'",[984,9451,1021],{"class":990},[984,9453,9454],{"class":986,"line":1137},[984,9455,1607],{"class":990},[984,9457,9458],{"class":986,"line":1150},[984,9459,1038],{"class":990},[11,9461,9462],{},"Here is an example:",[866,9464,9466],{"className":8806,"code":9465,"language":8808,"meta":760,"style":760},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then(Module => \n    {\n        console.log(`Key Keeper module successfully loaded.`)\n        \n        let connection = new WebSocket('ws:\u002F\u002F127.0.0.1:8080')\n        connection.onopen = () => \n        {\n            console.log(`Connected to the Wallet Service.`)\n\n            \u002F\u002F generate seed phrase\n            let seed = Module.KeyKeeper.GeneratePhrase()\n            console.log(`New Seed: ${seed}`)\n\n            \u002F\u002F init Key Keeper with the seed phrase\n            let keykeeper = new Module.KeyKeeper(seed)\n\n            connection.onmessage = e => \n            {\n\n                let data = JSON.parse(e.data)\n\n                if(data.result)     console.log(`Wallet is successfully created, your ID: ${data.result}`)\n                else if(data.error) console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if(data.method) connection.send(keykeeper.invokeServiceMethod(e.data))\n            }\n\n            let walletPassword = '12345678'\n            let ownerKey = keykeeper.getOwnerKey(walletPassword)\n            console.log(`Owner Key: ${ownerKey}`)\n\n            \u002F\u002F create a wallet request\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'create_wallet',\n                params:\n                {\n                    pass: walletPassword,\n                    ownerkey: ownerKey\n                }\n            }))\n        }\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[150,9467,9468,9478,9486,9504,9518,9534,9538,9550,9554,9572,9586,9590,9602,9606,9610,9624,9640,9644,9648,9664,9668,9685,9690,9694,9715,9719,9746,9792,9813,9818,9822,9834,9852,9870,9874,9879,9898,9907,9916,9925,9930,9935,9940,9945,9950,9955,9959,9963,9971],{"__ignoreMap":760},[984,9469,9470,9472,9474,9476],{"class":986,"line":987},[984,9471,8815],{"class":990},[984,9473,8819],{"class":8818},[984,9475,8822],{"class":5316},[984,9477,8825],{"class":990},[984,9479,9480,9482,9484],{"class":986,"line":761},[984,9481,8830],{"class":990},[984,9483,8808],{"class":8818},[984,9485,8825],{"class":990},[984,9487,9488,9490,9492,9494,9496,9498,9500,9502],{"class":986,"line":772},[984,9489,8830],{"class":990},[984,9491,8841],{"class":8818},[984,9493,8844],{"class":5316},[984,9495,5298],{"class":990},[984,9497,8849],{"class":1003},[984,9499,8852],{"class":990},[984,9501,8841],{"class":8818},[984,9503,8825],{"class":990},[984,9505,9506,9508,9510,9512,9514,9516],{"class":986,"line":1024},[984,9507,8830],{"class":990},[984,9509,8841],{"class":8818},[984,9511,8865],{"class":5316},[984,9513,5298],{"class":990},[984,9515,8870],{"class":1003},[984,9517,8825],{"class":990},[984,9519,9520,9522,9524,9526,9528,9530,9532],{"class":986,"line":1035},[984,9521,8877],{"class":5316},[984,9523,8880],{"class":990},[984,9525,8883],{"class":5316},[984,9527,8898],{"class":990},[984,9529,9177],{"class":9176},[984,9531,9180],{"class":5291},[984,9533,9008],{"class":990},[984,9535,9536],{"class":986,"line":1098},[984,9537,1529],{"class":990},[984,9539,9540,9542,9544,9546,9548],{"class":986,"line":1111},[984,9541,9017],{"class":990},[984,9543,8895],{"class":5316},[984,9545,8898],{"class":990},[984,9547,8901],{"class":1003},[984,9549,9026],{"class":990},[984,9551,9552],{"class":986,"line":1124},[984,9553,8559],{"class":990},[984,9555,9556,9558,9560,9562,9564,9566,9568,9570],{"class":986,"line":1137},[984,9557,9035],{"class":5291},[984,9559,9038],{"class":990},[984,9561,5298],{"class":5291},[984,9563,9043],{"class":5291},[984,9565,9046],{"class":5316},[984,9567,8898],{"class":990},[984,9569,9051],{"class":1003},[984,9571,9026],{"class":990},[984,9573,9574,9576,9578,9580,9582,9584],{"class":986,"line":1150},[984,9575,9058],{"class":990},[984,9577,9061],{"class":5316},[984,9579,9064],{"class":5291},[984,9581,9067],{"class":990},[984,9583,8889],{"class":5291},[984,9585,9008],{"class":990},[984,9587,9588],{"class":986,"line":1163},[984,9589,8410],{"class":990},[984,9591,9592,9594,9596,9598,9600],{"class":986,"line":1176},[984,9593,9243],{"class":990},[984,9595,8895],{"class":5316},[984,9597,8898],{"class":990},[984,9599,9250],{"class":1003},[984,9601,9026],{"class":990},[984,9603,9604],{"class":986,"line":1189},[984,9605,8376],{"emptyLinePlaceholder":778},[984,9607,9608],{"class":986,"line":1202},[984,9609,9261],{"class":1351},[984,9611,9612,9614,9616,9618,9620,9622],{"class":986,"line":1211},[984,9613,9266],{"class":5291},[984,9615,9269],{"class":990},[984,9617,5298],{"class":5291},[984,9619,9274],{"class":990},[984,9621,9277],{"class":5316},[984,9623,9280],{"class":990},[984,9625,9626,9628,9630,9632,9634,9636,9638],{"class":986,"line":1217},[984,9627,9243],{"class":990},[984,9629,8895],{"class":5316},[984,9631,8898],{"class":990},[984,9633,9291],{"class":1003},[984,9635,9294],{"class":990},[984,9637,9297],{"class":1003},[984,9639,9026],{"class":990},[984,9641,9642],{"class":986,"line":1229},[984,9643,8376],{"emptyLinePlaceholder":778},[984,9645,9646],{"class":986,"line":1241},[984,9647,9308],{"class":1351},[984,9649,9650,9652,9654,9656,9658,9660,9662],{"class":986,"line":1254},[984,9651,9266],{"class":5291},[984,9653,9315],{"class":990},[984,9655,5298],{"class":5291},[984,9657,9043],{"class":5291},[984,9659,9322],{"class":990},[984,9661,9325],{"class":5316},[984,9663,9328],{"class":990},[984,9665,9666],{"class":986,"line":1266},[984,9667,8376],{"emptyLinePlaceholder":778},[984,9669,9670,9673,9676,9678,9681,9683],{"class":986,"line":1279},[984,9671,9672],{"class":990},"            connection.",[984,9674,9675],{"class":5316},"onmessage",[984,9677,9064],{"class":5291},[984,9679,9680],{"class":9176}," e",[984,9682,9180],{"class":5291},[984,9684,9008],{"class":990},[984,9686,9687],{"class":986,"line":1291},[984,9688,9689],{"class":990},"            {\n",[984,9691,9692],{"class":986,"line":1304},[984,9693,8376],{"emptyLinePlaceholder":778},[984,9695,9696,9699,9702,9704,9707,9709,9712],{"class":986,"line":1316},[984,9697,9698],{"class":5291},"                let",[984,9700,9701],{"class":990}," data ",[984,9703,5298],{"class":5291},[984,9705,9706],{"class":996}," JSON",[984,9708,385],{"class":990},[984,9710,9711],{"class":5316},"parse",[984,9713,9714],{"class":990},"(e.data)\n",[984,9716,9717],{"class":986,"line":1327},[984,9718,8376],{"emptyLinePlaceholder":778},[984,9720,9721,9724,9727,9729,9731,9734,9737,9739,9742,9744],{"class":986,"line":1333},[984,9722,9723],{"class":5291},"                if",[984,9725,9726],{"class":990},"(data.result)     console.",[984,9728,8895],{"class":5316},[984,9730,8898],{"class":990},[984,9732,9733],{"class":1003},"`Wallet is successfully created, your ID: ${",[984,9735,9736],{"class":990},"data",[984,9738,385],{"class":1003},[984,9740,9741],{"class":990},"result",[984,9743,9297],{"class":1003},[984,9745,9026],{"class":990},[984,9747,9748,9751,9754,9757,9759,9761,9764,9766,9768,9771,9773,9775,9778,9780,9782,9784,9786,9788,9790],{"class":986,"line":1338},[984,9749,9750],{"class":5291},"                else",[984,9752,9753],{"class":5291}," if",[984,9755,9756],{"class":990},"(data.error) console.",[984,9758,8895],{"class":5316},[984,9760,8898],{"class":990},[984,9762,9763],{"class":1003},"`error occured, code:${",[984,9765,9736],{"class":990},[984,9767,385],{"class":1003},[984,9769,9770],{"class":990},"error",[984,9772,385],{"class":1003},[984,9774,150],{"class":990},[984,9776,9777],{"class":1003},"} text:${",[984,9779,9736],{"class":990},[984,9781,385],{"class":1003},[984,9783,9770],{"class":990},[984,9785,385],{"class":1003},[984,9787,9736],{"class":990},[984,9789,9297],{"class":1003},[984,9791,9026],{"class":990},[984,9793,9794,9796,9798,9801,9804,9807,9810],{"class":986,"line":1355},[984,9795,9750],{"class":5291},[984,9797,9753],{"class":5291},[984,9799,9800],{"class":990},"(data.method) connection.",[984,9802,9803],{"class":5316},"send",[984,9805,9806],{"class":990},"(keykeeper.",[984,9808,9809],{"class":5316},"invokeServiceMethod",[984,9811,9812],{"class":990},"(e.data))\n",[984,9814,9815],{"class":986,"line":1367},[984,9816,9817],{"class":990},"            }\n",[984,9819,9820],{"class":986,"line":1379},[984,9821,8376],{"emptyLinePlaceholder":778},[984,9823,9824,9826,9829,9831],{"class":986,"line":1390},[984,9825,9266],{"class":5291},[984,9827,9828],{"class":990}," walletPassword ",[984,9830,5298],{"class":5291},[984,9832,9833],{"class":1003}," '12345678'\n",[984,9835,9836,9838,9841,9843,9846,9849],{"class":986,"line":1402},[984,9837,9266],{"class":5291},[984,9839,9840],{"class":990}," ownerKey ",[984,9842,5298],{"class":5291},[984,9844,9845],{"class":990}," keykeeper.",[984,9847,9848],{"class":5316},"getOwnerKey",[984,9850,9851],{"class":990},"(walletPassword)\n",[984,9853,9854,9856,9858,9860,9863,9866,9868],{"class":986,"line":1413},[984,9855,9243],{"class":990},[984,9857,8895],{"class":5316},[984,9859,8898],{"class":990},[984,9861,9862],{"class":1003},"`Owner Key: ${",[984,9864,9865],{"class":990},"ownerKey",[984,9867,9297],{"class":1003},[984,9869,9026],{"class":990},[984,9871,9872],{"class":986,"line":1424},[984,9873,8376],{"emptyLinePlaceholder":778},[984,9875,9876],{"class":986,"line":1435},[984,9877,9878],{"class":1351},"            \u002F\u002F create a wallet request\n",[984,9880,9881,9883,9885,9887,9890,9892,9895],{"class":986,"line":1444},[984,9882,9672],{"class":990},[984,9884,9803],{"class":5316},[984,9886,8898],{"class":990},[984,9888,9889],{"class":996},"JSON",[984,9891,385],{"class":990},[984,9893,9894],{"class":5316},"stringify",[984,9896,9897],{"class":990},"({\n",[984,9899,9900,9903,9905],{"class":986,"line":1450},[984,9901,9902],{"class":990},"                jsonrpc: ",[984,9904,9392],{"class":1003},[984,9906,1021],{"class":990},[984,9908,9909,9912,9914],{"class":986,"line":1456},[984,9910,9911],{"class":990},"                id: ",[984,9913,1171],{"class":996},[984,9915,1021],{"class":990},[984,9917,9918,9921,9923],{"class":986,"line":1462},[984,9919,9920],{"class":990},"                method: ",[984,9922,9416],{"class":1003},[984,9924,1021],{"class":990},[984,9926,9927],{"class":986,"line":7201},[984,9928,9929],{"class":990},"                params:\n",[984,9931,9932],{"class":986,"line":7206},[984,9933,9934],{"class":990},"                {\n",[984,9936,9937],{"class":986,"line":7218},[984,9938,9939],{"class":990},"                    pass: walletPassword,\n",[984,9941,9942],{"class":986,"line":7229},[984,9943,9944],{"class":990},"                    ownerkey: ownerKey\n",[984,9946,9947],{"class":986,"line":7241},[984,9948,9949],{"class":990},"                }\n",[984,9951,9952],{"class":986,"line":7252},[984,9953,9954],{"class":990},"            }))\n",[984,9956,9957],{"class":986,"line":7262},[984,9958,9333],{"class":990},[984,9960,9961],{"class":986,"line":7267},[984,9962,9085],{"class":990},[984,9964,9965,9967,9969],{"class":986,"line":7272},[984,9966,8909],{"class":990},[984,9968,8841],{"class":8818},[984,9970,8825],{"class":990},[984,9972,9973,9975,9977],{"class":986,"line":7279},[984,9974,8909],{"class":990},[984,9976,8808],{"class":8818},[984,9978,8825],{"class":990},[11,9980,9981,9982,9987],{},"Now, when you got your wallet ID, you can call any ",[18,9983,9986],{"href":9984,"rel":9985},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#api",[22],"Wallet API"," method, like check status, create an address or do a transaction.",[26,9989,9991],{"id":9990},"open-wallet","Open wallet",[11,9993,9994],{},"Open wallet with given ID and password.",[866,9996,9998],{"className":9374,"code":9997,"language":9376,"meta":760,"style":760},"{\n    jsonrpc:'2.0',\n    id:'\u003Crequest ID>',\n    method:'open_wallet',\n    params:\n    {\n        id:'\u003Cwallet ID>',\n        pass:'\u003Cwallet password>'\n    }\n}\n",[150,9999,10000,10004,10014,10024,10035,10041,10045,10057,10065,10069],{"__ignoreMap":760},[984,10001,10002],{"class":986,"line":987},[984,10003,991],{"class":990},[984,10005,10006,10008,10010,10012],{"class":986,"line":761},[984,10007,9387],{"class":5316},[984,10009,1000],{"class":990},[984,10011,9392],{"class":1003},[984,10013,1021],{"class":990},[984,10015,10016,10018,10020,10022],{"class":986,"line":772},[984,10017,9399],{"class":5316},[984,10019,1000],{"class":990},[984,10021,9404],{"class":1003},[984,10023,1021],{"class":990},[984,10025,10026,10028,10030,10033],{"class":986,"line":1024},[984,10027,9411],{"class":5316},[984,10029,1000],{"class":990},[984,10031,10032],{"class":1003},"'open_wallet'",[984,10034,1021],{"class":990},[984,10036,10037,10039],{"class":986,"line":1035},[984,10038,9423],{"class":5316},[984,10040,1524],{"class":990},[984,10042,10043],{"class":986,"line":1098},[984,10044,1529],{"class":990},[984,10046,10047,10050,10052,10055],{"class":986,"line":1111},[984,10048,10049],{"class":5316},"        id",[984,10051,1000],{"class":990},[984,10053,10054],{"class":1003},"'\u003Cwallet ID>'",[984,10056,1021],{"class":990},[984,10058,10059,10061,10063],{"class":986,"line":1124},[984,10060,9434],{"class":5316},[984,10062,1000],{"class":990},[984,10064,9439],{"class":1003},[984,10066,10067],{"class":986,"line":1137},[984,10068,1607],{"class":990},[984,10070,10071],{"class":986,"line":1150},[984,10072,1038],{"class":990},[2685,10074,10075],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .s4JwU, html code.shiki .s4JwU{--shiki-default:#85E89D}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}",{"title":760,"searchDepth":761,"depth":761,"links":10077},[10078,10079,10080,10081,10082,10083,10084],{"id":8762,"depth":761,"text":8763},{"id":8772,"depth":761,"text":8773},{"id":8796,"depth":761,"text":8797},{"id":8931,"depth":761,"text":8932},{"id":9107,"depth":761,"text":9108},{"id":9356,"depth":761,"text":9357},{"id":9990,"depth":761,"text":9991},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-web-wallet-starter-kit",{"title":8747,"description":8759},"docs\u002Fcore-tech\u002FBeam-Web-Wallet-Starter-Kit","_aAZvc4_sMzpDrVhl8lEBD0HDbw6le-Yf5BsIfXb7xI",{"id":10091,"title":10092,"body":10093,"description":10634,"extension":775,"image":776,"meta":10635,"navTitle":776,"navigation":778,"path":10636,"seo":10637,"stem":10638,"__hash__":10639},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-mining-protocol-API-(Stratum).md","Beam mining protocol API (draft)",{"type":8,"value":10094,"toc":10623},[10095,10098,10112,10116,10119,10127,10130,10133,10139,10145,10149,10153,10156,10162,10218,10222,10225,10231,10240,10310,10314,10318,10321,10327,10339,10344,10411,10415,10418,10422,10464,10467,10475,10478,10544,10547,10609,10612,10618,10621],[43,10096,10092],{"id":10097},"beam-mining-protocol-api-draft",[11,10099,10100,10101,10104,10105,163,10108,10111],{},"The protocol is based on JSON RPC and uses ",[58,10102,10103],{},"Long Polling"," to have a conversation between ",[58,10106,10107],{},"Miner",[58,10109,10110],{},"Node",". It describes only mining behavior without payouts at the moment.",[43,10113,10115],{"id":10114},"regulating-miner-jobs-generation","Regulating miner jobs generation",[11,10117,10118],{},"The Node would generate a new miner job when a block is received (i.e. blockchain state changes), and in addition each time a new transaction appears in the transaction pool (in fluff phase). Generating miner jobs too often has negative impact on the miner (mostly due to increased traffic). To mitigate this impact, we have the following Node configuration parameter:",[89,10120,10121],{},[54,10122,10123,10126],{},[150,10124,10125],{},"miner_job_latency"," - the minimum latency (in milliseconds) for miner job regeneration. Default is 1000 (1 second).",[11,10128,10129],{},"This parameter regulates max frequency for miner job regeneration due to incoming transactions. The bigger the latency is - the less often would the Node generate miner jobs. It has no effect on a situation when a block is received, in this case the new job is created immediately.",[11,10131,10132],{},"In the past we observed a situation where mining pools diluted the miner jobs artificially, by just ignoring some of the jobs generated by the Node. It was probably done to save network traffic, considering the fees collected from the new transactions are negligible.",[11,10134,10135,10136,10138],{},"We encourage miners to stop doing this. To regulate the miner jobs generation frequency it's better to use the ",[150,10137,10125],{}," parameter. This way more packed blocks are mined, giving miners an edge in fees, and less confirmation time for the users.\nIn addition this is essential for the new High-Frequency transaction infrastructure, which gives significant fees for the miners, as well as ultimate user experience.",[11,10140,10141,10142,10144],{},"Note also that switching miner jobs often has no effect on hashpower (i.e. it's not wasted). The switch is performed when it has no cost on the mining.\nSo, the only reason to reduce the miner job frequency is the traffic consideration, and the best way to tune it is via ",[150,10143,10125],{}," parameter. Either way, the job generated by the Node should not be discarded.",[26,10146,10148],{"id":10147},"miner-to-node","Miner to Node",[716,10150,10152],{"id":10151},"login","Login",[11,10154,10155],{},"Miner subscribes to the node to receive jobs.",[11,10157,10158,10161],{},[150,10159,10160],{},"api_key"," - miner registration key.",[866,10163,10165],{"className":978,"code":10164,"language":980,"meta":760,"style":760},"{\n    \"method\" : \"login\", \n    \"api_key\": \"skjdb7343636gucgjdjgd\",\n    \"id\":\"login\",\n    \"jsonrpc\":\"2.0\" \n}\n",[150,10166,10167,10171,10182,10194,10204,10214],{"__ignoreMap":760},[984,10168,10169],{"class":986,"line":987},[984,10170,991],{"class":990},[984,10172,10173,10175,10177,10180],{"class":986,"line":761},[984,10174,1027],{"class":996},[984,10176,1738],{"class":990},[984,10178,10179],{"class":1003},"\"login\"",[984,10181,1007],{"class":990},[984,10183,10184,10187,10189,10192],{"class":986,"line":772},[984,10185,10186],{"class":996},"    \"api_key\"",[984,10188,1015],{"class":990},[984,10190,10191],{"class":1003},"\"skjdb7343636gucgjdjgd\"",[984,10193,1021],{"class":990},[984,10195,10196,10198,10200,10202],{"class":986,"line":1024},[984,10197,1012],{"class":996},[984,10199,1000],{"class":990},[984,10201,10179],{"class":1003},[984,10203,1021],{"class":990},[984,10205,10206,10208,10210,10212],{"class":986,"line":1035},[984,10207,997],{"class":996},[984,10209,1000],{"class":990},[984,10211,1004],{"class":1003},[984,10213,9008],{"class":990},[984,10215,10216],{"class":986,"line":1098},[984,10217,1038],{"class":990},[716,10219,10221],{"id":10220},"solution","Solution",[11,10223,10224],{},"Miner sends a solution to the node.",[11,10226,10227,10230],{},[150,10228,10229],{},"nonce"," - matched nonce for given solution.",[11,10232,10233,557,10236,10239],{},[150,10234,10235],{},"output",[58,10237,10238],{},"Equhash"," solition for current difficulty.",[866,10241,10243],{"className":978,"code":10242,"language":980,"meta":760,"style":760},"{\n\"id\":\"212\",\n\"jsonrpc\":\"2.0\",\n\"method\":\"solution\",\n\"nonce\":\"0bb11009afc29dbe\",\n\"output\":\"a32a1e04ca447f895cfdd8fd1f96fe2ebdd8cd8f77e9c3010ca7231d5da5d0b0cee7ee857981389070eec196bfb4bd15439ef27dd370c4c763bdbad66d066f7cb2f06318e1a0c68c9f5aa8fe8112c479d9a227759d0f864136f265e9ffd3b276b9ba2243\"\n}\n",[150,10244,10245,10249,10261,10272,10284,10296,10306],{"__ignoreMap":760},[984,10246,10247],{"class":986,"line":987},[984,10248,991],{"class":990},[984,10250,10251,10254,10256,10259],{"class":986,"line":761},[984,10252,10253],{"class":996},"\"id\"",[984,10255,1000],{"class":990},[984,10257,10258],{"class":1003},"\"212\"",[984,10260,1021],{"class":990},[984,10262,10263,10266,10268,10270],{"class":986,"line":772},[984,10264,10265],{"class":996},"\"jsonrpc\"",[984,10267,1000],{"class":990},[984,10269,1004],{"class":1003},[984,10271,1021],{"class":990},[984,10273,10274,10277,10279,10282],{"class":986,"line":1024},[984,10275,10276],{"class":996},"\"method\"",[984,10278,1000],{"class":990},[984,10280,10281],{"class":1003},"\"solution\"",[984,10283,1021],{"class":990},[984,10285,10286,10289,10291,10294],{"class":986,"line":1035},[984,10287,10288],{"class":996},"\"nonce\"",[984,10290,1000],{"class":990},[984,10292,10293],{"class":1003},"\"0bb11009afc29dbe\"",[984,10295,1021],{"class":990},[984,10297,10298,10301,10303],{"class":986,"line":1098},[984,10299,10300],{"class":996},"\"output\"",[984,10302,1000],{"class":990},[984,10304,10305],{"class":1003},"\"a32a1e04ca447f895cfdd8fd1f96fe2ebdd8cd8f77e9c3010ca7231d5da5d0b0cee7ee857981389070eec196bfb4bd15439ef27dd370c4c763bdbad66d066f7cb2f06318e1a0c68c9f5aa8fe8112c479d9a227759d0f864136f265e9ffd3b276b9ba2243\"\n",[984,10307,10308],{"class":986,"line":1111},[984,10309,1038],{"class":990},[26,10311,10313],{"id":10312},"node-to-miner","Node to Miner",[716,10315,10317],{"id":10316},"job","Job",[11,10319,10320],{},"Miner will send new job automatically to connected miners.",[11,10322,10323,10326],{},[150,10324,10325],{},"id"," - is a job index",[11,10328,10329,10332,10333,10336,10337,385],{},[150,10330,10331],{},"input"," - block header data hash (with current ",[58,10334,10335],{},"difficulty",") as an input parameter for ",[58,10338,5454],{},[11,10340,10341,10343],{},[150,10342,10335],{}," - current chain difficulty.",[866,10345,10347],{"className":978,"code":10346,"language":980,"meta":760,"style":760},"{ \n\"difficulty\":3441671469,\n\"id\":\"212\",\n\"input\":\"636b90cc38bc7a347f074d9ca97c3a2158330f6844f8f52075a38a15ab483223\",\n\"jsonrpc\":\"2.0\",\n\"method\":\"job\"\n}\n",[150,10348,10349,10354,10366,10376,10388,10398,10407],{"__ignoreMap":760},[984,10350,10351],{"class":986,"line":987},[984,10352,10353],{"class":990},"{ \n",[984,10355,10356,10359,10361,10364],{"class":986,"line":761},[984,10357,10358],{"class":996},"\"difficulty\"",[984,10360,1000],{"class":990},[984,10362,10363],{"class":996},"3441671469",[984,10365,1021],{"class":990},[984,10367,10368,10370,10372,10374],{"class":986,"line":772},[984,10369,10253],{"class":996},[984,10371,1000],{"class":990},[984,10373,10258],{"class":1003},[984,10375,1021],{"class":990},[984,10377,10378,10381,10383,10386],{"class":986,"line":1024},[984,10379,10380],{"class":996},"\"input\"",[984,10382,1000],{"class":990},[984,10384,10385],{"class":1003},"\"636b90cc38bc7a347f074d9ca97c3a2158330f6844f8f52075a38a15ab483223\"",[984,10387,1021],{"class":990},[984,10389,10390,10392,10394,10396],{"class":986,"line":1035},[984,10391,10265],{"class":996},[984,10393,1000],{"class":990},[984,10395,1004],{"class":1003},[984,10397,1021],{"class":990},[984,10399,10400,10402,10404],{"class":986,"line":1098},[984,10401,10276],{"class":996},[984,10403,1000],{"class":990},[984,10405,10406],{"class":1003},"\"job\"\n",[984,10408,10409],{"class":986,"line":1111},[984,10410,1038],{"class":990},[716,10412,10414],{"id":10413},"cancel","Cancel",[11,10416,10417],{},"Miner will send a notification to cancel job with a given id",[11,10419,10420,10326],{},[150,10421,10325],{},[866,10423,10425],{"className":978,"code":10424,"language":980,"meta":760,"style":760},"{ \n\"id\":\"212\",\n\"jsonrpc\":\"2.0\",\n\"method\":\"cancel\"\n}\n",[150,10426,10427,10431,10441,10451,10460],{"__ignoreMap":760},[984,10428,10429],{"class":986,"line":987},[984,10430,10353],{"class":990},[984,10432,10433,10435,10437,10439],{"class":986,"line":761},[984,10434,10253],{"class":996},[984,10436,1000],{"class":990},[984,10438,10258],{"class":1003},[984,10440,1021],{"class":990},[984,10442,10443,10445,10447,10449],{"class":986,"line":772},[984,10444,10265],{"class":996},[984,10446,1000],{"class":990},[984,10448,1004],{"class":1003},[984,10450,1021],{"class":990},[984,10452,10453,10455,10457],{"class":986,"line":1024},[984,10454,10276],{"class":996},[984,10456,1000],{"class":990},[984,10458,10459],{"class":1003},"\"cancel\"\n",[984,10461,10462],{"class":986,"line":1035},[984,10463,1038],{"class":990},[716,10465,10466],{"id":9741},"Result",[11,10468,10469,10470,5335,10472,10474],{},"This is what server will return to ",[150,10471,10151],{},[150,10473,10220],{}," requests, identified by id string of message has been sent from the miner to the node.",[11,10476,10477],{},"Example 1 (login failed):",[866,10479,10481],{"className":978,"code":10480,"language":980,"meta":760,"style":760},"{\n    \"code\":-32003,\n    \"description\":\"Login failed\",\n    \"id\":\"login\",\n    \"jsonrpc\":\"2.0\",\n    \"method\":\"result\"\n}\n",[150,10482,10483,10487,10499,10511,10521,10531,10540],{"__ignoreMap":760},[984,10484,10485],{"class":986,"line":987},[984,10486,991],{"class":990},[984,10488,10489,10492,10494,10497],{"class":986,"line":761},[984,10490,10491],{"class":996},"    \"code\"",[984,10493,1000],{"class":990},[984,10495,10496],{"class":996},"-32003",[984,10498,1021],{"class":990},[984,10500,10501,10504,10506,10509],{"class":986,"line":772},[984,10502,10503],{"class":996},"    \"description\"",[984,10505,1000],{"class":990},[984,10507,10508],{"class":1003},"\"Login failed\"",[984,10510,1021],{"class":990},[984,10512,10513,10515,10517,10519],{"class":986,"line":1024},[984,10514,1012],{"class":996},[984,10516,1000],{"class":990},[984,10518,10179],{"class":1003},[984,10520,1021],{"class":990},[984,10522,10523,10525,10527,10529],{"class":986,"line":1035},[984,10524,997],{"class":996},[984,10526,1000],{"class":990},[984,10528,1004],{"class":1003},[984,10530,1021],{"class":990},[984,10532,10533,10535,10537],{"class":986,"line":1098},[984,10534,1027],{"class":996},[984,10536,1000],{"class":990},[984,10538,10539],{"class":1003},"\"result\"\n",[984,10541,10542],{"class":986,"line":1111},[984,10543,1038],{"class":990},[11,10545,10546],{},"Example 2 (solution accepted):",[866,10548,10550],{"className":978,"code":10549,"language":980,"meta":760,"style":760},"{\n    \"code\":1,\n    \"description\":\"accepted\",\n    \"id\":\"212\",\n    \"jsonrpc\":\"2.0\",\n    \"method\":\"result\"\n}\n",[150,10551,10552,10556,10566,10577,10587,10597,10605],{"__ignoreMap":760},[984,10553,10554],{"class":986,"line":987},[984,10555,991],{"class":990},[984,10557,10558,10560,10562,10564],{"class":986,"line":761},[984,10559,10491],{"class":996},[984,10561,1000],{"class":990},[984,10563,1345],{"class":996},[984,10565,1021],{"class":990},[984,10567,10568,10570,10572,10575],{"class":986,"line":772},[984,10569,10503],{"class":996},[984,10571,1000],{"class":990},[984,10573,10574],{"class":1003},"\"accepted\"",[984,10576,1021],{"class":990},[984,10578,10579,10581,10583,10585],{"class":986,"line":1024},[984,10580,1012],{"class":996},[984,10582,1000],{"class":990},[984,10584,10258],{"class":1003},[984,10586,1021],{"class":990},[984,10588,10589,10591,10593,10595],{"class":986,"line":1035},[984,10590,997],{"class":996},[984,10592,1000],{"class":990},[984,10594,1004],{"class":1003},[984,10596,1021],{"class":990},[984,10598,10599,10601,10603],{"class":986,"line":1098},[984,10600,1027],{"class":996},[984,10602,1000],{"class":990},[984,10604,10539],{"class":1003},[984,10606,10607],{"class":986,"line":1111},[984,10608,1038],{"class":990},[11,10610,10611],{},"Example 3: (reply with nonce prefix)",[866,10613,10616],{"className":10614,"code":10615,"language":871},[869],"{\n    \"code\":0,\n    \"description\":\"Login successful\",\n    \"id\":\"login\",\n    \"jsonrpc\":\"2.0\",\n    \"nonceprefix\":\"ab4e3a\",\n    \"method\":\"result\"\n}\n",[150,10617,10615],{"__ignoreMap":760},[11,10619,10620],{},"Note: \"nonceprefix\" is an optional component.\nIf \"nonceprefix\" is given the first bytes of the used nonce must match the given pattern. Allowed is a prefix from 0 to 6 bytes. If \"nonceprefix\" is not given the miner may use the full nonce range.",[2685,10622,8046],{},{"title":760,"searchDepth":761,"depth":761,"links":10624},[10625,10629],{"id":10147,"depth":761,"text":10148,"children":10626},[10627,10628],{"id":10151,"depth":772,"text":10152},{"id":10220,"depth":772,"text":10221},{"id":10312,"depth":761,"text":10313,"children":10630},[10631,10632,10633],{"id":10316,"depth":772,"text":10317},{"id":10413,"depth":772,"text":10414},{"id":9741,"depth":772,"text":10466},"The protocol is based on JSON RPC and uses Long Polling to have a conversation between Miner and Node. It describes only mining behavior without payouts at the moment.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-mining-protocol-api-(stratum)",{"title":10092,"description":10634},"docs\u002Fcore-tech\u002FBeam-mining-protocol-API-(Stratum)","aIXKjURfa3TXSZzJO-YFzjV0_Pz75qGMOEZ3ZGe1CF0",{"id":10641,"title":10642,"body":10643,"description":10647,"extension":775,"image":776,"meta":10834,"navTitle":776,"navigation":778,"path":10835,"seo":10836,"stem":10837,"__hash__":10838},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-news-channels.md","Beam News Channels",{"type":8,"value":10644,"toc":10826},[10645,10648,10652,10655,10659,10665,10671,10677,10686,10690,10693,10697,10703,10709,10721,10729,10732,10736,10739,10744,10749,10758,10764,10772,10777,10782,10788,10794,10800,10809,10818],[11,10646,10647],{},"Beam able to provide actual news and exchange rates to wallet users.\nThis implemented using signed messages of different types transmitted over the Bulletin Board System (BBS).\nSuch messages make possible for instance to notify wallet user with popup on new wallet application version release.\nEach message is broadcasted over the network to wallet applications.\nBroadcasted messages has to be signed with apropriate key to verify publisher. Wallet applications have publisher key to check if messages are valid.",[26,10649,10651],{"id":10650},"broadcaster-utility","Broadcaster utility",[11,10653,10654],{},"The utility is used for news message dispatching.\nAlso utility has ability to generate new random publisher key pair. Private key should be keept in secret and used to sign broadcasted messages. Public key has to be embedded to the wallet application and can be shared to anyone who want to listen broadcast messages.",[26,10656,10658],{"id":10657},"commands","Commands",[11,10660,10661,10664],{},[150,10662,10663],{},"--command"," - option used to specify command:",[11,10666,10667,10670],{},[150,10668,10669],{},"generate_keys"," - used to generate new random publisher key pair",[11,10672,10673,10676],{},[150,10674,10675],{},"transmit"," - used to send broadcast message",[11,10678,10679,10680,10682,10683,10685],{},"Option ",[150,10681,10663],{}," can be omitted. In such case ",[150,10684,10675],{}," is considered as default action.",[26,10687,10689],{"id":10688},"transmit-command","Transmit command",[11,10691,10692],{},"The utility needs the address of a node (to serve as an entry point for the message) and the publisher private key specified in hex-format (to sign the message) always to be specified.",[716,10694,10696],{"id":10695},"mandatory-options","Mandatory options",[11,10698,10699,10702],{},[150,10700,10701],{},"-n"," - address of node",[11,10704,10705,10708],{},[150,10706,10707],{},"--key"," - 64 characters long private key in HEX format",[11,10710,10711,10714,10715,441,10718,2758],{},[150,10712,10713],{},"--msg_type"," - message type (",[150,10716,10717],{},"'update'",[150,10719,10720],{},"'exchange'",[11,10722,10723,2679,10726],{},[58,10724,10725],{},"Example:",[150,10727,10728],{},"-n \"eu-node02.masternet.beam.mw:8100\" --key \"f70c36f2d8342b66e3081ea4d87543566d6ad242c6e61dbf926d57ff42de0c59\" --msg_type 'exchange'",[11,10730,10731],{},"Only messages signed with valid publisher keys are processed by wallet applications.",[716,10733,10735],{"id":10734},"options-for-specific-message-types","Options for specific message types",[11,10737,10738],{},"Specific options have to be passed for each message type.",[11,10740,10741],{},[94,10742,10743],{},"In case of the message notifying about new wallet application release:",[11,10745,10746],{},[150,10747,10748],{},"--msg_type 'update'",[11,10750,10751,10754,10755],{},[150,10752,10753],{},"--upd_ver"," - new application version in format ",[984,10756,10757],{},"x.y.z",[11,10759,10760,10763],{},[150,10761,10762],{},"--upd_type"," - released application type ('desktop', 'android' or 'ios')",[11,10765,10766,2679,10768,10771],{},[58,10767,10725],{},[150,10769,10770],{},"--msg_type 'update' --upd_ver '1.8.9' --upd_type 'desktop'"," will say new desktop wallet release v1.8.9 is available",[11,10773,10774],{},[94,10775,10776],{},"In case of message distributing some currency exchange rate:",[11,10778,10779],{},[150,10780,10781],{},"--msg_type 'exchange'",[11,10783,10784,10787],{},[150,10785,10786],{},"--exch_curr"," - currency name ('beam', 'btc', 'ltc', 'qtum')",[11,10789,10790,10793],{},[150,10791,10792],{},"--exch_rate"," - exchange rate value in fixed point format (100,000,000 = 1 unit)",[11,10795,10796,10799],{},[150,10797,10798],{},"--exch_unit"," - second currency name which states unit of exchange rate value ('btc', 'usd' - default)",[11,10801,10802,2679,10805,10808],{},[58,10803,10804],{},"Example 1:",[150,10806,10807],{},"--msg_type 'exchange' --exch_curr 'beam' --exch_rate '789654123'"," will say 1 Beam = 7.89654123 USD",[11,10810,10811,2679,10814,10817],{},[58,10812,10813],{},"Example 2:",[150,10815,10816],{},"--msg_type 'exchange' --exch_curr 'beam' --exch_rate '123456789' --exch_unit 'btc'"," will say 1 Beam = 1.23456789 BTC",[11,10819,10820,10823],{},[58,10821,10822],{},"Common example:",[150,10824,10825],{},".\u002Fbroadcaster.exe -n \"eu-node02.masternet.beam.mw:8100\" --key \"f70c36f2d8342b66e3081ea4d87543566d6ad242c6e61dbf926d57ff42de0c59\" --msg_type 'update' --upd_ver '1.8.9' --upd_type 'desktop'",{"title":760,"searchDepth":761,"depth":761,"links":10827},[10828,10829,10830],{"id":10650,"depth":761,"text":10651},{"id":10657,"depth":761,"text":10658},{"id":10688,"depth":761,"text":10689,"children":10831},[10832,10833],{"id":10695,"depth":772,"text":10696},{"id":10734,"depth":772,"text":10735},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-news-channels",{"description":10647},"docs\u002Fcore-tech\u002FBeam-news-channels","owgwxCshd9M2gi5iu6Ufyn8oFgTjkAzN-IOa5bB12Pk",{"id":10840,"title":10841,"body":10842,"description":760,"extension":775,"image":776,"meta":11237,"navTitle":776,"navigation":778,"path":11238,"seo":11239,"stem":11240,"__hash__":11241},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-signature-schemes.md","Beam Signature Schemes",{"type":8,"value":10843,"toc":11224},[10844,10848,10851,10857,10861,10871,10874,10892,10895,10899,10906,10909,10917,10920,10937,10941,10944,10948,10959,10973,10979,10999,11003,11006,11009,11012,11016,11019,11021,11050,11053,11086,11090,11132,11136,11154,11168,11174,11177],[26,10845,10847],{"id":10846},"oracles","Oracles",[11,10849,10850],{},"Oracles are objects used to generate challenges needed to construct\u002Fverify non-interactive proofs. They interpret exposed transcript data in a standard way, and produce the challenges in a deterministic way.",[866,10852,10855],{"className":10853,"code":10854,"language":871},[869],"oracle \u003C-- exposed_data_1\noracle --> challenge_1\noracle --> challenge_2\noracle \u003C-- exposed_data_2\noracle --> challenge_3\noracle --> challenge_4\n\u002F\u002F ...\n",[150,10856,10854],{"__ignoreMap":760},[26,10858,10860],{"id":10859},"schnorrs-signature","Schnorr's signature",[11,10862,10863,10864,4133,10867,10870],{},"We use Schnorr's signatures throughout the code. We prefer the form ",[150,10865,10866],{},"[N, k]",[150,10868,10869],{},"N"," is the \"public nonce\", because it's batch-verifications compatible.",[11,10872,10873],{},"In addition to the standard Schnorr's signature we use the following variations:",[51,10875,10876,10879,10882],{},[54,10877,10878],{},"Signatures within a specific context (transcript). Instead of signing a specific message the signature operates on the given Oracle, which means it signs a specific transcript.",[54,10880,10881],{},"Generalized Schnorr's signatures, i.e. argument of knowledge of the commitment opening in terms of several generators.",[54,10883,10884,10885,10888,10889,10891],{},"Schnorr's multi-signatures. For a number of signatures in terms of the same set of generators we use a scheme of the form ",[150,10886,10887],{},"[N, k1, k2, ..., kn]",". That is, only a single ",[150,10890,10869],{},". For the verification n challenges are derived. The soundness of such a signature can be shown by the same \"extractor\" technique used for standard Schnorr's signature for each secret key in reverse order.",[11,10893,10894],{},"Worth to note: we also use the (3) in the context of a more complex transcript, where a complex proof proves, among other things, knowledge of various secret keys (such as Lelantus spend proof).",[43,10896,10898],{"id":10897},"biased-sigma-protocol","Biased Sigma protocol.",[11,10900,10901,10902,10905],{},"prove the knowledge of opening of 1-out-of-N, after a ",[58,10903,10904],{},"Bias"," is subtracted (methodically) from all the elements.",[11,10907,10908],{},"Inputs:",[89,10910,10911,10914],{},[54,10912,10913],{},"Bias (EC point)",[54,10915,10916],{},"Set of N elements (EC points).",[11,10918,10919],{},"The proof is similar to the standard Sigma protocol, as described by Jens Groth. The differences are the following:",[51,10921,10922,10925,10934],{},[54,10923,10924],{},"It operates on Oracle. Means - it's a part of a specific transcript, and it's not possible to separate it or tamper with it.",[54,10926,10927,10928,10930,10931,10933],{},"For performance reasons the ",[58,10929,10904],{}," is not technically subtracted from the set. Instead its cumulative coefficient (multiplier) is calculated, so that the ",[58,10932,10904],{}," is added later to the equation.",[54,10935,10936],{},"Since because of (2) the set is not actually modified - the whole proof is very batch-friendly. So in a similar way the coefficients of the elements in the set are updated after each individual proof, but their multi-exponentiation is deferred.",[716,10938,10940],{"id":10939},"padding","Padding",[11,10942,10943],{},"If there are not enough elements in the set we use zeroes (points at infinity). For original Sigma protocol that'd be insecure (opening of point at infinity is trivial), however for all our use-cases it's fine because of the Bias, since all our proofs are about validation\tof the Bias, showing that it's a legit commitment of G (blinding factor) and something else. Using the Bias that consists of blinding factor only makes no sense for the attacker.",[26,10945,10947],{"id":10946},"asset-proof","Asset proof",[11,10949,10950,10951,10955,10956,10958],{},"Proves that a given blinded generator H' satisfies H' = k•G + H",[10952,10953,10954],"sub",{},"i",", whereas H",[10952,10957,10954],{}," is a legit generator defined as:",[89,10960,10961,10967],{},[54,10962,10963,10964,10966],{},"i > 0: H",[10952,10965,10954],{}," = CreateGenerator(\"B.Asset.Gen.V1 | i);",[54,10968,10969,10970,10972],{},"i = 0: H",[10952,10971,10954],{}," = H (standard H-generator used for Beams)",[11,10974,10975,10976,10978],{},"The proof is based on the biased Sigma proof described above. The prover chooses the window containing its generator by specifying the window first element. The window size is fixed in the consensus rules. Padding is not applicable, since H",[10952,10977,10954],{}," is assumed to be infinite series.",[89,10980,10981,10987,10990],{},[54,10982,10983,10984,10986],{},"The Sigma protocol's proof is in terms of ",[150,10985,96],{},"-generator only",[54,10988,10989],{},"Bias := H'",[54,10991,10992,10993,441,10995,10998],{},"Witness data: ",[150,10994,10954],{},[150,10996,10997],{},"k"," (the blinding factor of the generator)",[716,11000,11002],{"id":11001},"question","Question",[11,11004,11005],{},"the H' currently is NOT exposed to the Oracle used in Biased Sigma protocol. Means - an attacker can theoretically craft a false Sigma proof, and then substitute an appropriate H' that would fit the needed equation and make the proof valid.",[11,11007,11008],{},"However I can't see how the attacker can use such an H' generator. Since it comes-out as a random EC point, it has no direct relation to any other generator, and can't be used to conceal negative values, serial number or etc.",[11,11010,11011],{},"Should we expose H' to the oracle? Is it \"nice-to-have\", or essential?",[26,11013,11015],{"id":11014},"lelantus-spend-proof","Lelantus spend proof",[11,11017,11018],{},"Proves that a legit element is withdrawn from the shielded pool.",[11,11020,10908],{},[89,11022,11023,11032,11042,11047],{},[54,11024,11025,11028,11029,11031],{},[150,11026,11027],{},"SpendPk"," - spend public key, from which the serial number ",[150,11030,209],{}," is derived in a deterministic way.",[54,11033,11034,11035,163,11038,11041],{},"Optional: blinded Asset generator ",[150,11036,11037],{},"H'",[58,11039,11040],{},"Asset Proof",", which proves its validity.",[54,11043,11044,11046],{},[150,11045,4747],{}," - commitment to the element being-withdrawn.",[54,11048,11049],{},"Shielded pool window - the list of commitments (EC points).",[11,11051,11052],{},"Proves the following:",[89,11054,11055,11060,11069,11078],{},[54,11056,11057,11058,385],{},"The spend is signed by the secret key, the pre-image of ",[150,11059,11027],{},[54,11061,11062,11064,11065,11068],{},[150,11063,4747],{}," is a commitment of the form k•G + H'•v. The validity of ",[150,11066,11067],{},"v"," (i.e. rangeproof) is not necessary.",[54,11070,11071,11072,11074,11075,11077],{},"Serial number ",[150,11073,209],{}," (derived from ",[150,11076,11027],{},") corresponds to an element in the specified window.",[54,11079,11080,11082,11083,11085],{},[150,11081,4747],{}," commits to the same value and asset type (H",[10952,11084,10954],{},", v).",[716,11087,11089],{"id":11088},"methodically","Methodically",[89,11091,11092,11100,11106,11113],{},[54,11093,11094,11096,11097,11099],{},[58,11095,11040],{}," is verified if specified. Otherwise the asset generator is assumed ",[150,11098,102],{}," (used for Beams).",[54,11101,11102,11103,11105],{},"Generalized Schnorr's signature proves ",[150,11104,4747],{}," is indeed of the form k•G + H'•v.",[54,11107,11071,11108,11110,11111],{},[150,11109,209],{}," is derived from ",[150,11112,11027],{},[54,11114,11115,11116],{},"Biased Sigma protocol is used for the rest:\n",[89,11117,11118,11124,11129],{},[54,11119,11120,11121],{},"The Bias is: ",[150,11122,11123],{},"Commitment + s•J",[54,11125,11126,11127,282],{},"The proof is in terms of ",[150,11128,96],{},[54,11130,11131],{},"Witness data is the blinding factor difference.",[716,11133,11135],{"id":11134},"technically","Technically",[11,11137,11138,11139,11141,11142,11144,11145,163,11147,11149,11150,163,11152,385],{},"Technically there are 2 Schnorr's proofs here: validity of ",[150,11140,4747],{},", and knowledge of pre-image of ",[150,11143,11027],{},". They are compressed into a single generalized multi-signature, i.e. the prover knows the opening of both ",[150,11146,4747],{},[150,11148,11027],{}," in terms of ",[150,11151,96],{},[150,11153,11037],{},[11,11155,11156,11158,11159,11161,11162,11164,11165,11167],{},[145,11157,158],{}," Normally the ",[150,11160,11027],{}," must be of the form k•G, and in our scheme we weaken this by allowing additional generator ",[150,11163,11037],{},". But there seems to be no problem here if someone decides to used ",[150,11166,11027],{}," that contains also the asset generator used for this element.",[11,11169,11170,11171,11173],{},"In addition the ",[150,11172,4747],{}," is used twice in the protocol: in the generalized Schnorr's signature, and as a part of the Bias for the Sigma protocol. So instead of using it twice we aggregate its coefficient, and is it once in the equation.",[11,11175,11176],{},"Finally the transcript is the following:",[89,11178,11179,11189,11192,11195,11198,11203,11206,11215,11218,11221],{},[54,11180,11181,11182,11185,11186,2758],{},"oracle \u003C-- Sigma parameters (",[150,11183,11184],{},"n",",",[150,11187,11188],{},"M",[54,11190,11191],{},"oracle \u003C-- `Commitment'",[54,11193,11194],{},"oracle \u003C-- `SpendPk'",[54,11196,11197],{},"oracle \u003C-- `N' (public nonce of the Schnorr's multi-signature)",[54,11199,11200,11201],{},"oracle --> Challenge for ",[150,11202,4747],{},[54,11204,11205],{},"oracle --> Challenge for `SpendPk",[54,11207,11208,11209,441,11212],{},"\u003C-- Schnorr's multi-signature: ",[150,11210,11211],{},"kG",[150,11213,11214],{},"kH",[54,11216,11217],{},"oracle \u003C-- Sigma protocol part 1 (A, B, C, D, G-vector)",[54,11219,11220],{},"oracle --> Challenge for Sigma protocol",[54,11222,11223],{},"\u003C-- Sigma protocol part 2 (a, c, r, f-vector)",{"title":760,"searchDepth":761,"depth":761,"links":11225},[11226,11227,11230,11233],{"id":10846,"depth":761,"text":10847},{"id":10859,"depth":761,"text":10860,"children":11228},[11229],{"id":10939,"depth":772,"text":10940},{"id":10946,"depth":761,"text":10947,"children":11231},[11232],{"id":11001,"depth":772,"text":11002},{"id":11014,"depth":761,"text":11015,"children":11234},[11235,11236],{"id":11088,"depth":772,"text":11089},{"id":11134,"depth":772,"text":11135},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-signature-schemes",{"description":760},"docs\u002Fcore-tech\u002FBeam-signature-schemes","ju7Bu4lPfAGYTlQfrun5z1g0h5VqsIfGY2b8vQ0uclo",{"id":11243,"title":11244,"body":11245,"description":12073,"extension":775,"image":776,"meta":12074,"navTitle":776,"navigation":778,"path":12075,"seo":12076,"stem":12077,"__hash__":12078},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API.md","Beam Wallet Protocol API",{"type":8,"value":11246,"toc":12056},[11247,11254,11305,11308,11312,11323,11327,11366,11370,11376,11380,11394,11400,11404,11407,11412,11416,11419,11791,11795,11798,11803,11806,11810,11816,11822,11826,11839,11847,11861,11865,11871,11875,11886,11892,11899,11905,11912,11966,11970,11973,11979,11981,11999,12002,12006,12009,12017,12026,12032,12036,12039,12053],[11,11248,11249,11250,11253],{},"Starting with v6.0 BEAM wallet supports API versioning using the ",[150,11251,11252],{},"--api_version"," option. Please choose the corresponding API version in the list below to get the description of the available methods.",[89,11255,11256,11263,11270,11277,11284,11291,11298],{},[54,11257,11258],{},[18,11259,11262],{"href":11260,"rel":11261},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.0",[22],"version 6.0",[54,11264,11265],{},[18,11266,11269],{"href":11267,"rel":11268},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1",[22],"version 6.1",[54,11271,11272],{},[18,11273,11276],{"href":11274,"rel":11275},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.2",[22],"version 6.2",[54,11278,11279],{},[18,11280,11283],{"href":11281,"rel":11282},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.0",[22],"version 7.0",[54,11285,11286],{},[18,11287,11290],{"href":11288,"rel":11289},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.1",[22],"version 7.1",[54,11292,11293],{},[18,11294,11297],{"href":11295,"rel":11296},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.2",[22],"version 7.2",[54,11299,11300],{},[18,11301,11304],{"href":11302,"rel":11303},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v7.3",[22],"version 7.3",[11,11306,11307],{},"The sections below apply to the API versions starting with 6.0 if the other is not explicitly stated.",[26,11309,11311],{"id":11310},"general","General",[11,11313,11314,11315,11318,11319,11322],{},"Wallet API has the same structure as Node Stratum API protocol (JSON RPC 2.0 over TCP connection) and should have an online connection to the node. However, it can work over HTTP using the ",[150,11316,11317],{},"--use_http=1"," option. Send POST requests to ",[150,11320,11321],{},"http:\u002F\u002Fx.x.x.x:port\u002Fapi\u002Fwallet"," in this case.",[26,11324,11326],{"id":11325},"running-wallet-api","Running Wallet API",[11,11328,11329,11330,11332,11333,11336,11337,11339,11340,11343,11344,11346,11347,11350,11351,11354,11355,11357,11358,11361,11362,11365],{},"Place ",[150,11331,863],{}," binary located in the ",[150,11334,11335],{},"wallet"," folder near your ",[150,11338,5828],{}," and run it. You can specify options in CLI or using ",[150,11341,11342],{},"wallet-api.cfg"," file. Minimal options required are your ",[150,11345,5828],{}," password (",[150,11348,11349],{},"--pass",") and node (",[150,11352,11353],{},"-n=",") to connect to. Please notice that ",[150,11356,5831],{}," by default is expected to be located in the current working directory (",[150,11359,11360],{},"$PWD","). You can change this using the ",[150,11363,11364],{},"--wallet_path="," option.",[716,11367,11369],{"id":11368},"wallet-api-general-options","Wallet API general options",[866,11371,11374],{"className":11372,"code":11373,"language":871},[869],"  -h [ --help ]                         list of all options\n  -p [ --port ] arg (=10000)            port to start server on\n  -n [ --node_addr ] arg                address of node\n  --wallet_path arg (=wallet.db)        path to the wallet file\n  --pass arg                            password for the wallet\n  --use_http arg (=0)                   use JSON RPC over HTTP\n  --ip_whitelist arg                    IP whitelist\n  --log_cleanup_days arg (=5)           old logfiles cleanup period(days)\n  --node_poll_period arg (=0)           Node poll period in milliseconds. Set\n                                        to 0 to keep a connection. Anyway poll\n                                        period would be no less than the\n                                        expected rate of blocks if it is less\n                                        then it will be rounded up to block\n                                        rate value.\n  --enable_assets                       enable confidential assets transactions\n  --enable_lelantus                     enable Lelantus MW transactions\n  --api_version                         specify API version. Available since v6.0. Acceptable values: current, 6.0, 6.1 &c.\n\nUser authorization options:\n  --use_acl arg (=0)                use Access Control List (ACL)\n  --acl_path arg (=wallet_api.acl)  path to ACL file\n\nTLS protocol options:\n  --use_tls arg (=0)                use TLS protocol\n  --tls_cert arg (=wallet_api.crt)  path to TLS certificate\n  --tls_key arg (=wallet_api.key)   path to TLS private key\n  --tls_request_cert (=false)       request client's certificate for verification for client authentication\n  --tls_reject_unauthorized (=true) server will reject any connection which is not authorized with the list of supplied CAs\n",[150,11375,11373],{"__ignoreMap":760},[716,11377,11379],{"id":11378},"wallet-apicfg-file","wallet-api.cfg file",[11,11381,32,11382,11384,11385,11387,11388,11390,11391,11393],{},[150,11383,11342],{}," file is another way to supply options for the API server. All the options listed above are supported. The ",[150,11386,11342],{}," file is expected to be located in the current working directory (",[150,11389,11360],{},"). Here is an example of the ",[150,11392,11342],{}," file:",[866,11395,11398],{"className":11396,"code":11397,"language":871},[869],"# password for the wallet\npass=1\n\n# address of node\nnode_addr=127.0.0.1:8888\n\n# port to start server on\nport=10000\n\n# path to wallet file\nwallet_path=\u002Fhome\u002Fuser\u002Fwallet.db\n\n# use JSON RPC over HTTP\nuse_http=1\n",[150,11399,11397],{"__ignoreMap":760},[26,11401,11403],{"id":11402},"running-api-server-in-tcp-mode","Running API Server in TCP mode",[11,11405,11406],{},"By default API launches in TCP mode. For example:",[11,11408,11409],{},[150,11410,11411],{},".\u002Fwallet-api --node_addr=172.104.249.212:8101 --pass=123",[26,11413,11415],{"id":11414},"accessing-api-server-via-tcp","Accessing API Server via TCP",[11,11417,11418],{},"Here is an example NodeJS code to get all UTXOs from the Wallet API server that is running in TCP mode",[866,11420,11422],{"className":9374,"code":11421,"language":9376,"meta":760,"style":760},"var net = require('net');\n\nvar client = new net.Socket();\nclient.connect(10000, '127.0.0.1', function() {\n    console.log('Connected');\n    client.write(JSON.stringify(\n        {\n            jsonrpc: '2.0',\n            id: 123,\n            method: 'get_utxo',\n            params: {}\n        }) + '\\n');\n});\n\nvar acc = '';\n\nclient.on('data', function(data) {\n    acc += data;\n\n    \u002F\u002F searching for \\n symbol to find end of response\n    if(data.indexOf('\\n') != -1)\n    {\n        var res = JSON.parse(acc);\n\n        console.log('Received:', res);\n\n        client.destroy(); \u002F\u002F kill client after server's response\n    }\n});\n\nclient.on('close', function() {\n    console.log('Connection closed');\n});\n",[150,11423,11424,11445,11449,11469,11494,11508,11527,11531,11540,11549,11559,11564,11583,11588,11592,11607,11611,11634,11645,11649,11654,11686,11690,11709,11713,11727,11731,11745,11749,11753,11757,11774,11787],{"__ignoreMap":760},[984,11425,11426,11429,11432,11434,11437,11439,11442],{"class":986,"line":987},[984,11427,11428],{"class":5291},"var",[984,11430,11431],{"class":990}," net ",[984,11433,5298],{"class":5291},[984,11435,11436],{"class":5316}," require",[984,11438,8898],{"class":990},[984,11440,11441],{"class":1003},"'net'",[984,11443,11444],{"class":990},");\n",[984,11446,11447],{"class":986,"line":761},[984,11448,8376],{"emptyLinePlaceholder":778},[984,11450,11451,11453,11456,11458,11460,11463,11466],{"class":986,"line":772},[984,11452,11428],{"class":5291},[984,11454,11455],{"class":990}," client ",[984,11457,5298],{"class":5291},[984,11459,9043],{"class":5291},[984,11461,11462],{"class":990}," net.",[984,11464,11465],{"class":5316},"Socket",[984,11467,11468],{"class":990},"();\n",[984,11470,11471,11474,11477,11479,11481,11483,11486,11488,11491],{"class":986,"line":1024},[984,11472,11473],{"class":990},"client.",[984,11475,11476],{"class":5316},"connect",[984,11478,8898],{"class":990},[984,11480,2485],{"class":996},[984,11482,441],{"class":990},[984,11484,11485],{"class":1003},"'127.0.0.1'",[984,11487,441],{"class":990},[984,11489,11490],{"class":5291},"function",[984,11492,11493],{"class":990},"() {\n",[984,11495,11496,11499,11501,11503,11506],{"class":986,"line":1035},[984,11497,11498],{"class":990},"    console.",[984,11500,8895],{"class":5316},[984,11502,8898],{"class":990},[984,11504,11505],{"class":1003},"'Connected'",[984,11507,11444],{"class":990},[984,11509,11510,11513,11516,11518,11520,11522,11524],{"class":986,"line":1098},[984,11511,11512],{"class":990},"    client.",[984,11514,11515],{"class":5316},"write",[984,11517,8898],{"class":990},[984,11519,9889],{"class":996},[984,11521,385],{"class":990},[984,11523,9894],{"class":5316},[984,11525,11526],{"class":990},"(\n",[984,11528,11529],{"class":986,"line":1111},[984,11530,8410],{"class":990},[984,11532,11533,11536,11538],{"class":986,"line":1124},[984,11534,11535],{"class":990},"            jsonrpc: ",[984,11537,9392],{"class":1003},[984,11539,1021],{"class":990},[984,11541,11542,11545,11547],{"class":986,"line":1137},[984,11543,11544],{"class":990},"            id: ",[984,11546,1158],{"class":996},[984,11548,1021],{"class":990},[984,11550,11551,11554,11557],{"class":986,"line":1150},[984,11552,11553],{"class":990},"            method: ",[984,11555,11556],{"class":1003},"'get_utxo'",[984,11558,1021],{"class":990},[984,11560,11561],{"class":986,"line":1163},[984,11562,11563],{"class":990},"            params: {}\n",[984,11565,11566,11569,11572,11575,11578,11581],{"class":986,"line":1176},[984,11567,11568],{"class":990},"        }) ",[984,11570,11571],{"class":5291},"+",[984,11573,11574],{"class":1003}," '",[984,11576,11577],{"class":996},"\\n",[984,11579,11580],{"class":1003},"'",[984,11582,11444],{"class":990},[984,11584,11585],{"class":986,"line":1189},[984,11586,11587],{"class":990},"});\n",[984,11589,11590],{"class":986,"line":1202},[984,11591,8376],{"emptyLinePlaceholder":778},[984,11593,11594,11596,11599,11601,11604],{"class":986,"line":1211},[984,11595,11428],{"class":5291},[984,11597,11598],{"class":990}," acc ",[984,11600,5298],{"class":5291},[984,11602,11603],{"class":1003}," ''",[984,11605,11606],{"class":990},";\n",[984,11608,11609],{"class":986,"line":1217},[984,11610,8376],{"emptyLinePlaceholder":778},[984,11612,11613,11615,11618,11620,11623,11625,11627,11629,11631],{"class":986,"line":1229},[984,11614,11473],{"class":990},[984,11616,11617],{"class":5316},"on",[984,11619,8898],{"class":990},[984,11621,11622],{"class":1003},"'data'",[984,11624,441],{"class":990},[984,11626,11490],{"class":5291},[984,11628,8898],{"class":990},[984,11630,9736],{"class":9176},[984,11632,11633],{"class":990},") {\n",[984,11635,11636,11639,11642],{"class":986,"line":1241},[984,11637,11638],{"class":990},"    acc ",[984,11640,11641],{"class":5291},"+=",[984,11643,11644],{"class":990}," data;\n",[984,11646,11647],{"class":986,"line":1254},[984,11648,8376],{"emptyLinePlaceholder":778},[984,11650,11651],{"class":986,"line":1266},[984,11652,11653],{"class":1351},"    \u002F\u002F searching for \\n symbol to find end of response\n",[984,11655,11656,11659,11662,11665,11667,11669,11671,11673,11676,11679,11682,11684],{"class":986,"line":1279},[984,11657,11658],{"class":5291},"    if",[984,11660,11661],{"class":990},"(data.",[984,11663,11664],{"class":5316},"indexOf",[984,11666,8898],{"class":990},[984,11668,11580],{"class":1003},[984,11670,11577],{"class":996},[984,11672,11580],{"class":1003},[984,11674,11675],{"class":990},") ",[984,11677,11678],{"class":5291},"!=",[984,11680,11681],{"class":5291}," -",[984,11683,1345],{"class":996},[984,11685,9026],{"class":990},[984,11687,11688],{"class":986,"line":1291},[984,11689,1529],{"class":990},[984,11691,11692,11695,11698,11700,11702,11704,11706],{"class":986,"line":1304},[984,11693,11694],{"class":5291},"        var",[984,11696,11697],{"class":990}," res ",[984,11699,5298],{"class":5291},[984,11701,9706],{"class":996},[984,11703,385],{"class":990},[984,11705,9711],{"class":5316},[984,11707,11708],{"class":990},"(acc);\n",[984,11710,11711],{"class":986,"line":1316},[984,11712,8376],{"emptyLinePlaceholder":778},[984,11714,11715,11717,11719,11721,11724],{"class":986,"line":1327},[984,11716,9017],{"class":990},[984,11718,8895],{"class":5316},[984,11720,8898],{"class":990},[984,11722,11723],{"class":1003},"'Received:'",[984,11725,11726],{"class":990},", res);\n",[984,11728,11729],{"class":986,"line":1333},[984,11730,8376],{"emptyLinePlaceholder":778},[984,11732,11733,11736,11739,11742],{"class":986,"line":1338},[984,11734,11735],{"class":990},"        client.",[984,11737,11738],{"class":5316},"destroy",[984,11740,11741],{"class":990},"(); ",[984,11743,11744],{"class":1351},"\u002F\u002F kill client after server's response\n",[984,11746,11747],{"class":986,"line":1355},[984,11748,1607],{"class":990},[984,11750,11751],{"class":986,"line":1367},[984,11752,11587],{"class":990},[984,11754,11755],{"class":986,"line":1379},[984,11756,8376],{"emptyLinePlaceholder":778},[984,11758,11759,11761,11763,11765,11768,11770,11772],{"class":986,"line":1390},[984,11760,11473],{"class":990},[984,11762,11617],{"class":5316},[984,11764,8898],{"class":990},[984,11766,11767],{"class":1003},"'close'",[984,11769,441],{"class":990},[984,11771,11490],{"class":5291},[984,11773,11493],{"class":990},[984,11775,11776,11778,11780,11782,11785],{"class":986,"line":1402},[984,11777,11498],{"class":990},[984,11779,8895],{"class":5316},[984,11781,8898],{"class":990},[984,11783,11784],{"class":1003},"'Connection closed'",[984,11786,11444],{"class":990},[984,11788,11789],{"class":986,"line":1413},[984,11790,11587],{"class":990},[26,11792,11794],{"id":11793},"running-api-server-in-http-mode","Running API Server in HTTP mode",[11,11796,11797],{},"Run via cli with '--use_http=1':",[11,11799,11800],{},[150,11801,11802],{},".\u002Fwallet-api --node_addr=172.104.249.212:8101 --pass=123 --use_http=1",[11,11804,11805],{},"Or add 'use_http=1' to the wallet-api.cfg to enable HTTP mode.",[26,11807,11809],{"id":11808},"accessing-api-server-via-http","Accessing API Server via HTTP",[11,11811,11812,11813,385],{},"You can perform POST requests using CURL. Here is an example to get the current ",[58,11814,11815],{},"wallet status",[866,11817,11820],{"className":11818,"code":11819,"language":871},[869],"curl -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"wallet_status\"}' \n     -H \"Content-Type: application\u002Fjson\" \n     -X POST http:\u002F\u002Fx.x.x.x:port\u002Fapi\u002Fwallet\n",[150,11821,11819],{"__ignoreMap":760},[26,11823,11825],{"id":11824},"tls-encryption","TLS encryption",[11,11827,641,11828,11831,11832,163,11835,11838],{},[150,11829,11830],{},"--use_tls=1"," to enable TLS encryption. You have supply the valid 3rd-party certificate or create a self signed certificate. Pass them to the API server using ",[150,11833,11834],{},"--tls_cert",[150,11836,11837],{},"--tls_key"," options.",[11,11840,11841,11842,11846],{},"For testing you can download the sample certificate and key files from ",[18,11843,857],{"href":11844,"rel":11845},"https:\u002F\u002Fbeamx.gitbook.io\u002Fbeam-node-user-guide\u002Fmining-mode\u002Fmining-using-external-miner#certificate-and-keys",[22],"  or clicking the links below:",[11,11848,11849,11854,11856],{},[18,11850,11853],{"href":11851,"rel":11852},"https:\u002F\u002Ffirebasestorage.googleapis.com\u002Fv0\u002Fb\u002Fgitbook-28427.appspot.com\u002Fo\u002Fassets%2F-MahNa0IaGxTr8GkB5rz%2F-Mb6iKWRWPQD7ljMB61A%2F-Mb6q79H8fH8zbfxJrei%2Fstratum.crt?alt=media&token=29cad8ec-2911-446e-b1d4-991401e19d0d",[22],"Certificate  File",[957,11855],{},[18,11857,11860],{"href":11858,"rel":11859},"https:\u002F\u002Ffirebasestorage.googleapis.com\u002Fv0\u002Fb\u002Fgitbook-28427.appspot.com\u002Fo\u002Fassets%2F-MahNa0IaGxTr8GkB5rz%2F-Mb6iKWRWPQD7ljMB61A%2F-Mb6qjg8lMk1JOdjnnpG%2Fstratum.key?alt=media&token=4c1d1228-fa6d-4f50-a7d0-020966529204",[22],"Certificate  Private Key  File",[26,11862,11864],{"id":11863},"ip-whitelisting","IP whitelisting",[11,11866,641,11867,11870],{},[150,11868,11869],{},"--ip_whitelist=192.168.0.1,192.168.0.2"," parameter to restrict access to the API server to certain IP addresses. Connections from other IP address would be rejected.",[26,11872,11874],{"id":11873},"users-authorization","Users authorization",[11,11876,11877,11878,11881,11882,11885],{},"API methods can have access rights control if you enable ",[58,11879,11880],{},"Access Control List"," (ACL) using ",[150,11883,11884],{},"--use_acl=1"," option. Below is the list of all API methods with the access rights required to call the respective method:",[866,11887,11890],{"className":11888,"code":11889,"language":871},[869],"create_address       - write access\nvalidate_address     - read access\naddr_list            - read access\ndelete_address       - write access\nedit_address         - write access\ntx_send              - write access\ntx_status            - read access\ntx_split             - write access\ntx_asset_issue       - write access\ntx_asset_consume     - write access\ntx_asset_info        - write access\ntx_cancel            - write access\nget_utxo             - read access\ntx_list              - read access\nwallet_status        - read access\nget_asset_info       - read access\ngenerate_tx_id       - read access\nexport_payment_proof - read access\nverify_payment_proof - read access\ncalc_change          - read access\ninvoke_contract      - write access\nprocess_invoke_data  - write access\nblock_details        - read access\n",[150,11891,11889],{"__ignoreMap":760},[11,11893,11894,11895,11898],{},"ACL file should look like a list with the access keys and ",[150,11896,11897],{},"read\u002Fwrite"," rights:",[866,11900,11903],{"className":11901,"code":11902,"language":871},[869],"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67 : write\nbd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2 : read\nf287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2 : read\n",[150,11904,11902],{"__ignoreMap":760},[11,11906,11907,11908,11911],{},"Don't forget to send user ",[150,11909,11910],{},"key"," in every JSONRPC request to the API if access control is enabled:",[866,11913,11915],{"className":978,"code":11914,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1,\n    \"method\": \"wallet_status\",\n    \"key\": \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\"\n}\n",[150,11916,11917,11921,11931,11941,11952,11962],{"__ignoreMap":760},[984,11918,11919],{"class":986,"line":987},[984,11920,991],{"class":990},[984,11922,11923,11925,11927,11929],{"class":986,"line":761},[984,11924,997],{"class":996},[984,11926,1015],{"class":990},[984,11928,1004],{"class":1003},[984,11930,1021],{"class":990},[984,11932,11933,11935,11937,11939],{"class":986,"line":772},[984,11934,1012],{"class":996},[984,11936,1015],{"class":990},[984,11938,1345],{"class":996},[984,11940,1021],{"class":990},[984,11942,11943,11945,11947,11950],{"class":986,"line":1024},[984,11944,1027],{"class":996},[984,11946,1015],{"class":990},[984,11948,11949],{"class":1003},"\"wallet_status\"",[984,11951,1021],{"class":990},[984,11953,11954,11957,11959],{"class":986,"line":1035},[984,11955,11956],{"class":996},"    \"key\"",[984,11958,1015],{"class":990},[984,11960,11961],{"class":1003},"\"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\"\n",[984,11963,11964],{"class":986,"line":1098},[984,11965,1038],{"class":990},[26,11967,11969],{"id":11968},"api-errors-handling","API Errors Handling",[11,11971,11972],{},"Errors are returned as:",[866,11974,11977],{"className":11975,"code":11976,"language":871},[869],"  error: {\n    code: -32003,\n    data: \"It's not your own address.\",\n    message: 'Invalid address.'\n  }\n",[150,11978,11976],{"__ignoreMap":760},[11,11980,2627],{},[89,11982,11983,11988,11994],{},[54,11984,11985,11987],{},[150,11986,150],{}," is a unique identifier of the error",[54,11989,11990,11993],{},[150,11991,11992],{},"message"," textual description of the error",[54,11995,11996,11998],{},[150,11997,9736],{}," is the contextual data for the error, usually a more detailed description for general error codes",[11,12000,12001],{},"To get the list of the possible error codes check the respective API version.",[26,12003,12005],{"id":12004},"assets-support","Assets Support",[11,12007,12008],{},"v6.0+ API implements confidential assets support. To ensure backward compatibility by default API does not return asset entities (coins, balances, txs &c). Asset operations (send, receive, issue, consume &c.) are disabled as well and if requested for an asset would fail. Also, all incoming transactions that involve assets would be rejected by the Wallet API as well. If you do not enable assets support your old code should be able to use the new API without any changes.",[11,12010,12011],{},[94,12012,12013,12014,12016],{},"To enable assets start your API server with the ",[150,12015,948],{}," option or set this flag to true in the config file.",[11,12018,12019,12020,5335,12022,12025],{},"Methods that can return asset entities (for example ",[150,12021,883],{},[150,12023,12024],{},"get_utxo",") might have different return formats if assets are enabled. Please check the respective methods' documentation for details.",[11,12027,12028,12029,12031],{},"In most method responses an additional ",[150,12030,848],{}," field is returned by default even if assets support is not enabled. It is always 0 for BEAM and can be safely ignored.",[26,12033,12035],{"id":12034},"ipfs-support","IPFS Support",[11,12037,12038],{},"String with v6.3 BEAM comes with built-in IPFS support. Please refer to the following pages for more details",[89,12040,12041,12047],{},[54,12042,12043],{},[18,12044,4914],{"href":12045,"rel":12046},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBEAM-IPFS-Support",[22],[54,12048,12049],{},[18,12050,12052],{"href":4927,"rel":12051},[22],"v6.3 API",[2685,12054,12055],{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":760,"searchDepth":761,"depth":761,"links":12057},[12058,12059,12063,12064,12065,12066,12067,12068,12069,12070,12071,12072],{"id":11310,"depth":761,"text":11311},{"id":11325,"depth":761,"text":11326,"children":12060},[12061,12062],{"id":11368,"depth":772,"text":11369},{"id":11378,"depth":772,"text":11379},{"id":11402,"depth":761,"text":11403},{"id":11414,"depth":761,"text":11415},{"id":11793,"depth":761,"text":11794},{"id":11808,"depth":761,"text":11809},{"id":11824,"depth":761,"text":11825},{"id":11863,"depth":761,"text":11864},{"id":11873,"depth":761,"text":11874},{"id":11968,"depth":761,"text":11969},{"id":12004,"depth":761,"text":12005},{"id":12034,"depth":761,"text":12035},"Starting with v6.0 BEAM wallet supports API versioning using the --api_version option. Please choose the corresponding API version in the list below to get the description of the available methods.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api",{"description":12073},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API","gM-wsykk8iK2gZGsbKfu_lpp5-tLCo8Ap8YfKSW93Bg",{"id":12080,"title":12081,"body":12082,"description":760,"extension":775,"image":776,"meta":19454,"navTitle":776,"navigation":778,"path":19455,"seo":19456,"stem":19457,"__hash__":19458},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.0.md","Beam Wallet Protocol API V60",{"type":8,"value":12083,"toc":19411},[12084,12088,12091,12132,12149,12174,12227,12231,12234,12428,12432,12447,12449,12452,12456,12553,12674,12704,12708,12750,12752,12759,12763,12829,12833,12919,12936,12938,12941,12945,13013,13027,13031,13214,13268,13270,13283,13285,13288,13292,13358,13362,13404,13406,13418,13422,13509,13513,13553,13555,13558,13562,13688,13751,13761,13765,13819,13824,13826,13829,13836,13840,13944,13948,14003,14029,14031,14036,14041,14045,14119,14143,14151,14155,14209,14213,14215,14219,14225,14229,14303,14326,14334,14338,14392,14396,14398,14402,14408,14412,14476,14490,14493,14497,14551,14555,14557,14560,14564,14631,14638,14642,14683,14692,14694,14697,14701,14767,14774,14778,14818,14825,14827,14833,14837,14906,14910,15157,15159,15162,15166,15284,15309,15314,15325,15329,15893,15964,15968,15972,16049,16053,16082,16088,16090,16093,16097,16137,16141,16287,16316,16321,16325,16365,16369,16696,16710,16717,16733,16737,16745,16747,16750,16754,16866,16892,16896,17037,17051,17055,17138,17142,17292,17348,17350,17356,17360,17424,17434,17438,17562,17566,17604,17606,17609,17613,17655,17659,17700,17702,17707,17711,17777,17781,17838,17849,17854,17856,17861,17865,17931,17935,18045,18080,18085,18087,18090,18093,18097,18185,18188,18192,18269,18307,18314,18318,18467,18487,18491,18494,18498,18501,18505,18516,18520,18593,18597,18666,18668,18671,18675,18748,18758,18762,18815,18822,18824,18829,18833,18927,18931,19035,19037,19078,19080,19083,19087,19154,19161,19165,19339,19403,19406,19409],[26,12085,12087],{"id":12086},"api-error-codes","API Error codes",[11,12089,12090],{},"List of the possible error codes (with messages):",[89,12092,12093,12096,12099,12102,12105,12108,12111,12114],{},[54,12094,12095],{},"-32600 InvalidJsonRpc (\"Invalid JSON-RPC.\")",[54,12097,12098],{},"-32601 NotFoundJsonRpc (\"Procedure not found.\")",[54,12100,12101],{},"-32602 InvalidParamsJsonRpc (\"Invalid parameters.\")",[54,12103,12104],{},"-32603 InternalErrorJsonRpc (\"Internal JSON-RPC error.\")",[54,12106,12107],{},"-32001 InvalidTxStatus (\"Invalid TX status.\")",[54,12109,12110],{},"-32002 UnknownApiKey (\"Unknown API key.\")",[54,12112,12113],{},"-32003 InvalidAddress (\"Invalid address.\")",[54,12115,12116,12117,12120,12121],{},"-32004 InvalidTxId (\"Invalid transaction ID.\")* ",[150,12118,12119],{},"totals"," is an array of totals per asset. Assets that are included in this array by default:\n",[89,12122,12123,12126,12129],{},[54,12124,12125],{},"BEAM (asset id 0)",[54,12127,12128],{},"All assets which have UTXOs.",[54,12130,12131],{},"All owned assets, even if there is no UTXOs for the given asset.",[11,12133,12134,12135,12137,12138,12140,12141,12144,12145,12148],{},"Asset is included in the ",[150,12136,12119],{}," array even if all UTXOs are spent or if there are no UTXOs but asset is owned (issued by the wallet). In case when all the UTXOs are spent totals' fields except ",[150,12139,848],{}," would be 0 (zero balance). To avoid getting assets with zero balance specify ",[150,12142,12143],{},"\"params\": {\"nz_totals\": true}",". BEAM is always included, even if balance is 0 and ",[150,12146,12147],{},"nz_totals"," is true.",[11,12150,12151,12152,12154,12155,441,12158,12161,12162,2008,12164,12166,12167,12169,12170,12173],{},"Maximum asset emission is 2",[111,12153,2003],{},"-1. To ensure compatibility with JavaScript raw number (",[150,12156,12157],{},"available",[150,12159,12160],{},"maturing"," &c.) returned only if it is less than or equal to ",[150,12163,2007],{},[111,12165,2011],{},"-1). If total's value is greater than ",[150,12168,2007],{}," only corresponding string representation (",[150,12171,12172],{},"xxxx_str",") is returned.",[89,12175,12176,12179,12182,12185,12188,12191,12194,12197,12200,12203,12206,12209,12212,12215,12218,12221,12224],{},[54,12177,12178],{},"-32005 NotSupported (\"Feature is not supported\")",[54,12180,12181],{},"-32006 InvalidPaymentProof (\"Invalid payment proof provided\")",[54,12183,12184],{},"-32007 PaymentProofExportError (\"Cannot export payment proof\")",[54,12186,12187],{},"-32008 SwapFailToParseToken (\"Invalid swap token.\")",[54,12189,12190],{},"-32009 SwapFailToAcceptOwn (\"Can't accept own swap offer.\")",[54,12192,12193],{},"-32010 SwapNotEnoughtBeams (\"Not enought beams.\")",[54,12195,12196],{},"-32011 SwapFailToConnect (\"Doesn't have active connection.\")",[54,12198,12199],{},"-32012 DatabaseError (\"Database error\")",[54,12201,12202],{},"-32013 DatabaseNotFound (\"Database not found\")",[54,12204,12205],{},"-32014 ThrottleError (\"Requests limit exceeded\")",[54,12207,12208],{},"-32015 NotOpenedError (\"Wallet not opened\")",[54,12210,12211],{},"-32016 NoSwapsError (\"Swaps are not enabled\")",[54,12213,12214],{},"-32017 UnexpectedError (\"Unexpected call\")",[54,12216,12217],{},"-32018 ContractCompileError (\"Failed to compile contract\")",[54,12219,12220],{},"-32019 ContractError (\"Contract call failed\")",[54,12222,12223],{},"-32020 NotAllowedError (\"Call is not allowed\")",[54,12225,12226],{},"-32021 UserRejected (\"Call is rejected by user\")",[26,12228,12230],{"id":12229},"api-methods","API Methods",[11,12232,12233],{},"API has the following methods:",[89,12235,12236,12244,12252,12260,12268,12275,12282,12287,12292,12298,12306,12311,12319,12327,12332,12340,12345,12353,12361,12369,12376,12382,12390,12401,12411,12421],{},[54,12237,12238,2679,12241],{},[18,12239,6196],{"href":12240},"#create_address",[2707,12242],{"alt":760,"src":12243},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-DAPPs%20allowed-green",[54,12245,12246,2679,12250],{},[18,12247,12249],{"href":12248},"#delete_address","delete_address",[2707,12251],{"alt":760,"src":12243},[54,12253,12254,2679,12258],{},[18,12255,12257],{"href":12256},"#edit_address","edit_address",[2707,12259],{"alt":760,"src":12243},[54,12261,12262,2679,12266],{},[18,12263,12265],{"href":12264},"#addr_list","addr_list",[2707,12267],{"alt":760,"src":12243},[54,12269,12270,2679,12273],{},[18,12271,5854],{"href":12272},"#validate_address",[2707,12274],{"alt":760,"src":12243},[54,12276,12277,2679,12280],{},[18,12278,888],{"href":12279},"#tx_send",[2707,12281],{"alt":760,"src":12243},[54,12283,12284],{},[18,12285,903],{"href":12286},"#tx_asset_issue",[54,12288,12289],{},[18,12290,908],{"href":12291},"#tx_asset_consume",[54,12293,12294,2679,12296],{},[18,12295,913],{"href":2036},[2707,12297],{"alt":760,"src":12243},[54,12299,12300,2679,12304],{},[18,12301,12303],{"href":12302},"#tx_status","tx_status",[2707,12305],{"alt":760,"src":12243},[54,12307,12308],{},[18,12309,893],{"href":12310},"#tx_split",[54,12312,12313,2679,12317],{},[18,12314,12316],{"href":12315},"#tx_cancel","tx_cancel",[2707,12318],{"alt":760,"src":12243},[54,12320,12321,2679,12325],{},[18,12322,12324],{"href":12323},"#tx_delete","tx_delete",[2707,12326],{"alt":760,"src":12243},[54,12328,12329],{},[18,12330,12024],{"href":12331},"#get_utxo",[54,12333,12334,2679,12338],{},[18,12335,12337],{"href":12336},"#tx_list","tx_list",[2707,12339],{"alt":760,"src":12243},[54,12341,12342],{},[18,12343,883],{"href":12344},"#wallet_status",[54,12346,12347,2679,12351],{},[18,12348,12350],{"href":12349},"#generate_tx_id","generate_tx_id",[2707,12352],{"alt":760,"src":12243},[54,12354,12355,2679,12359],{},[18,12356,12358],{"href":12357},"#export_payment_proof","export_payment_proof",[2707,12360],{"alt":760,"src":12243},[54,12362,12363,2679,12367],{},[18,12364,12366],{"href":12365},"#verify_payment_proof","verify_payment_proof",[2707,12368],{"alt":760,"src":12243},[54,12370,12371,2679,12374],{},[18,12372,918],{"href":12373},"#get_asset_info",[2707,12375],{"alt":760,"src":12243},[54,12377,12378],{},[18,12379,12381],{"href":12380},"#set_confirmations_count","set_confirmations_count",[54,12383,12384,2679,12388],{},[18,12385,12387],{"href":12386},"#get_confirmations_count","get_confirmations_count",[2707,12389],{"alt":760,"src":12243},[54,12391,12392,2679,12396,12398],{},[18,12393,12395],{"href":12394},"#invoke_contract","invoke_contract",[2707,12397],{"alt":760,"src":12243},[2707,12399],{"alt":760,"src":12400},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-aysnc-orange",[54,12402,12403,2679,12407,12409],{},[18,12404,12406],{"href":12405},"#process_invoke_data","process_invoke_data",[2707,12408],{"alt":760,"src":12243},[2707,12410],{"alt":760,"src":12400},[54,12412,12413,2679,12417,12419],{},[18,12414,12416],{"href":12415},"#block_details","block_details",[2707,12418],{"alt":760,"src":12243},[2707,12420],{"alt":760,"src":12400},[54,12422,12423,2679,12426],{},[18,12424,923],{"href":12425},"#calc_change",[2707,12427],{"alt":760,"src":12243},[26,12429,12431],{"id":12430},"swap-api-methods","SWAP API Methods",[11,12433,12434,12435,12437,12438,12441,12442,385],{},"If you build ",[150,12436,863],{}," with ",[150,12439,12440],{},"BEAM_ATOMIC_SWAP_SUPPORT"," then you can use additional ",[18,12443,12446],{"href":12444,"rel":12445},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-SWAP-API-(BETA)",[22],"SWAP API methods",[26,12448,6196],{"id":6196},[11,12450,12451],{},"Creates new receiver address.",[11,12453,12454],{},[150,12455,975],{},[866,12457,12459],{"className":978,"code":12458,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 1,\n    \"method\": \"create_address\", \n    \"params\":\n    {\n        \"type\": \"regular\",\n        \"expiration\": \"auto\",\n        \"comment\": \"John Smith\",\n        \"new_style_regular\" : true\n    }\n}\n",[150,12460,12461,12465,12475,12485,12495,12501,12505,12515,12525,12536,12545,12549],{"__ignoreMap":760},[984,12462,12463],{"class":986,"line":987},[984,12464,991],{"class":990},[984,12466,12467,12469,12471,12473],{"class":986,"line":761},[984,12468,997],{"class":996},[984,12470,1015],{"class":990},[984,12472,1004],{"class":1003},[984,12474,1007],{"class":990},[984,12476,12477,12479,12481,12483],{"class":986,"line":772},[984,12478,1012],{"class":996},[984,12480,1015],{"class":990},[984,12482,1345],{"class":996},[984,12484,1021],{"class":990},[984,12486,12487,12489,12491,12493],{"class":986,"line":1024},[984,12488,1027],{"class":996},[984,12490,1015],{"class":990},[984,12492,6239],{"class":1003},[984,12494,1007],{"class":990},[984,12496,12497,12499],{"class":986,"line":1035},[984,12498,1521],{"class":996},[984,12500,1524],{"class":990},[984,12502,12503],{"class":986,"line":1098},[984,12504,1529],{"class":990},[984,12506,12507,12509,12511,12513],{"class":986,"line":1111},[984,12508,5926],{"class":996},[984,12510,1015],{"class":990},[984,12512,6305],{"class":1003},[984,12514,1021],{"class":990},[984,12516,12517,12519,12521,12523],{"class":986,"line":1124},[984,12518,6270],{"class":996},[984,12520,1015],{"class":990},[984,12522,6275],{"class":1003},[984,12524,1021],{"class":990},[984,12526,12527,12529,12531,12534],{"class":986,"line":1137},[984,12528,1580],{"class":996},[984,12530,1015],{"class":990},[984,12532,12533],{"class":1003},"\"John Smith\"",[984,12535,1021],{"class":990},[984,12537,12538,12541,12543],{"class":986,"line":1150},[984,12539,12540],{"class":996},"        \"new_style_regular\"",[984,12542,1738],{"class":990},[984,12544,2497],{"class":996},[984,12546,12547],{"class":986,"line":1163},[984,12548,1607],{"class":990},[984,12550,12551],{"class":986,"line":1176},[984,12552,1038],{"class":990},[89,12554,12555,12601,12630,12636,12659],{},[54,12556,12557,5965,12559,12586,12588,12589,12594,12595,12597,12598],{},[150,12558,5964],{},[89,12560,12561,12566,12571,12576,12581],{},[54,12562,12563,12565],{},[150,12564,5804],{}," - regular old-style address, default",[54,12567,12568,12570],{},[150,12569,5811],{}," - address offline transaction using Lelantus MW shielded pool, could be used more than once, there are no guaranties for extended privacy",[54,12572,12573,12575],{},[150,12574,5991],{}," - address for guarantied maximum privacy transaction. Could be used only once.",[54,12577,12578,12580],{},[150,12579,6002],{}," - address for donation, could be used as many times as you wish",[54,12582,12583,12585],{},[150,12584,6012],{}," - since v6.0, regular new-style address (base58), this address has SBBS internally",[957,12587],{},"Details of some address types are described ",[18,12590,12593],{"href":12591,"rel":12592},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLelantus-CLI",[22],"in this document",". Since v6.0, UI gives the sender an opportunity to choose between regular and offline send operation and the default address type provided via the \"receive\" UI dialog is an ",[150,12596,5811],{}," address with ",[150,12599,12600],{},"offline_payments=1",[54,12602,12603,12606,12620,12622,12623,12626,12627,12629],{},[150,12604,12605],{},"expiration",[89,12607,12608,12614],{},[54,12609,12610,12611,385],{},"before v6.0 can be ",[150,12612,12613],{},"expired\u002Fnever\u002F24h",[54,12615,12616,12617,385],{},"since  v6.0 can be ",[150,12618,12619],{},"expired\u002Fnever\u002F24h\u002Fauto",[957,12621],{},"Optional, by default address expires in 24 hours. ",[150,12624,12625],{},"auto"," expiration means that address expires in 61 days (roughly 2 months). ",[150,12628,12625],{}," addresses are renewed for another 2 months when any transaction is received with this address.",[54,12631,12632,12635],{},[150,12633,12634],{},"comment"," - any string, optional.",[54,12637,12638,12641,12642,12644,12645,12647,12648,12651,12652,12655,12656,385],{},[150,12639,12640],{},"new_style_regular"," - if this flag is ",[150,12643,2682],{}," new style base58 address will be returned otherwise hexadecimal string will be returned, this option is ignored for the types different ",[150,12646,5804],{},". ",[150,12649,12650],{},"type=regular"," + ",[150,12653,12654],{},"new_style_regular=true"," = ",[150,12657,12658],{},"type=regular_new",[54,12660,12661,12664,12665,12667,12668,12670,12671,385],{},[150,12662,12663],{},"offline_payments"," - number of offline payments embedded into an ",[150,12666,5811],{}," address, default value is ",[150,12669,1345],{},". Valid only for the ",[150,12672,12673],{},"type=offline",[11,12675,12676,12677,12680,12681,12683,12684,12686,12687,12689,12690,441,12692,163,12694,12696,12697,4665,12699,4665,12701,12703],{},"All these address types could be passed as ",[150,12678,12679],{},"address"," parameter of the ",[18,12682,9803],{"href":12279}," method and\u002For used with the cli\u002FUI. ",[150,12685,6317],{}," should be used in the command line of the ",[150,12688,863],{}," to enable sending\u002Freceiving using ",[150,12691,5811],{},[150,12693,5991],{},[150,12695,6002],{}," transactions. To generate ",[150,12698,5811],{},[150,12700,5991],{},[150,12702,6002],{}," addresses API must be connected to the own node (node with the wallet's viewer key).",[11,12705,12706],{},[150,12707,1043],{},[866,12709,12711],{"className":978,"code":12710,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\" : \"2.0\", \n    \"id\" : 1,\n    \"result\" : \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"\n}\n",[150,12712,12713,12717,12727,12737,12746],{"__ignoreMap":760},[984,12714,12715],{"class":986,"line":987},[984,12716,991],{"class":990},[984,12718,12719,12721,12723,12725],{"class":986,"line":761},[984,12720,997],{"class":996},[984,12722,1738],{"class":990},[984,12724,1004],{"class":1003},[984,12726,1007],{"class":990},[984,12728,12729,12731,12733,12735],{"class":986,"line":772},[984,12730,1012],{"class":996},[984,12732,1738],{"class":990},[984,12734,1345],{"class":996},[984,12736,1021],{"class":990},[984,12738,12739,12741,12743],{"class":986,"line":1024},[984,12740,1724],{"class":996},[984,12742,1738],{"class":990},[984,12744,12745],{"class":1003},"\"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"\n",[984,12747,12748],{"class":986,"line":1035},[984,12749,1038],{"class":990},[26,12751,5854],{"id":5854},[11,12753,12754,12755,12758],{},"Just a simple validations, checks if the address isn't garbage and belongs to our elliptic curve. Also returns ",[150,12756,12757],{},"is_mine == true"," if address is found in the local wallet DB.",[11,12760,12761],{},[150,12762,975],{},[866,12764,12766],{"className":978,"code":12765,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"validate_address\", \n    \"params\":\n    {\n        \"address\" : \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\"\n    }\n}\n",[150,12767,12768,12772,12782,12792,12803,12809,12813,12821,12825],{"__ignoreMap":760},[984,12769,12770],{"class":986,"line":987},[984,12771,991],{"class":990},[984,12773,12774,12776,12778,12780],{"class":986,"line":761},[984,12775,997],{"class":996},[984,12777,1000],{"class":990},[984,12779,1004],{"class":1003},[984,12781,1007],{"class":990},[984,12783,12784,12786,12788,12790],{"class":986,"line":772},[984,12785,1012],{"class":996},[984,12787,1015],{"class":990},[984,12789,1345],{"class":996},[984,12791,1021],{"class":990},[984,12793,12794,12796,12798,12801],{"class":986,"line":1024},[984,12795,1027],{"class":996},[984,12797,1015],{"class":990},[984,12799,12800],{"class":1003},"\"validate_address\"",[984,12802,1007],{"class":990},[984,12804,12805,12807],{"class":986,"line":1035},[984,12806,1521],{"class":996},[984,12808,1524],{"class":990},[984,12810,12811],{"class":986,"line":1098},[984,12812,1529],{"class":990},[984,12814,12815,12817,12819],{"class":986,"line":1111},[984,12816,1569],{"class":996},[984,12818,1738],{"class":990},[984,12820,12745],{"class":1003},[984,12822,12823],{"class":986,"line":1124},[984,12824,1607],{"class":990},[984,12826,12827],{"class":986,"line":1137},[984,12828,1038],{"class":990},[11,12830,12831],{},[150,12832,1043],{},[866,12834,12836],{"className":978,"code":12835,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"is_valid\" : true,\n        \"is_mine\" : false,\n        \"type\": \"offline\", \n        \"payments\": 3\n    }\n}\n",[150,12837,12838,12842,12852,12862,12868,12872,12882,12892,12902,12911,12915],{"__ignoreMap":760},[984,12839,12840],{"class":986,"line":987},[984,12841,991],{"class":990},[984,12843,12844,12846,12848,12850],{"class":986,"line":761},[984,12845,997],{"class":996},[984,12847,1000],{"class":990},[984,12849,1004],{"class":1003},[984,12851,1007],{"class":990},[984,12853,12854,12856,12858,12860],{"class":986,"line":772},[984,12855,1012],{"class":996},[984,12857,1015],{"class":990},[984,12859,1345],{"class":996},[984,12861,1021],{"class":990},[984,12863,12864,12866],{"class":986,"line":1024},[984,12865,1724],{"class":996},[984,12867,5895],{"class":990},[984,12869,12870],{"class":986,"line":1035},[984,12871,1529],{"class":990},[984,12873,12874,12876,12878,12880],{"class":986,"line":1098},[984,12875,5904],{"class":996},[984,12877,1738],{"class":990},[984,12879,2682],{"class":996},[984,12881,1021],{"class":990},[984,12883,12884,12886,12888,12890],{"class":986,"line":1111},[984,12885,5915],{"class":996},[984,12887,1738],{"class":990},[984,12889,5089],{"class":996},[984,12891,1021],{"class":990},[984,12893,12894,12896,12898,12900],{"class":986,"line":1124},[984,12895,5926],{"class":996},[984,12897,1015],{"class":990},[984,12899,5931],{"class":1003},[984,12901,1007],{"class":990},[984,12903,12904,12906,12908],{"class":986,"line":1137},[984,12905,5942],{"class":996},[984,12907,1015],{"class":990},[984,12909,12910],{"class":996},"3\n",[984,12912,12913],{"class":986,"line":1150},[984,12914,1607],{"class":990},[984,12916,12917],{"class":986,"line":1163},[984,12918,1038],{"class":990},[89,12920,12921,12929],{},[54,12922,12923,12925,12926,12928],{},[150,12924,5964],{}," type of address. Check ",[18,12927,6196],{"href":12240}," for details",[54,12930,12931,12933,12934,6024],{},[150,12932,6020],{}," number of offline payments left for the ",[150,12935,5811],{},[26,12937,12265],{"id":12265},[11,12939,12940],{},"Get addresses stored in the wallet database.",[11,12942,12943],{},[150,12944,975],{},[866,12946,12948],{"className":978,"code":12947,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"addr_list\",\n    \"params\":\n    {\n        \"own\" : true\n    }\n}\n",[150,12949,12950,12954,12964,12975,12986,12992,12996,13005,13009],{"__ignoreMap":760},[984,12951,12952],{"class":986,"line":987},[984,12953,991],{"class":990},[984,12955,12956,12958,12960,12962],{"class":986,"line":761},[984,12957,997],{"class":996},[984,12959,1000],{"class":990},[984,12961,1004],{"class":1003},[984,12963,1007],{"class":990},[984,12965,12966,12968,12970,12973],{"class":986,"line":772},[984,12967,1012],{"class":996},[984,12969,1015],{"class":990},[984,12971,12972],{"class":996},"8",[984,12974,1021],{"class":990},[984,12976,12977,12979,12981,12984],{"class":986,"line":1024},[984,12978,1027],{"class":996},[984,12980,1000],{"class":990},[984,12982,12983],{"class":1003},"\"addr_list\"",[984,12985,1021],{"class":990},[984,12987,12988,12990],{"class":986,"line":1035},[984,12989,1521],{"class":996},[984,12991,1524],{"class":990},[984,12993,12994],{"class":986,"line":1098},[984,12995,1529],{"class":990},[984,12997,12998,13001,13003],{"class":986,"line":1111},[984,12999,13000],{"class":996},"        \"own\"",[984,13002,1738],{"class":990},[984,13004,2497],{"class":996},[984,13006,13007],{"class":986,"line":1124},[984,13008,1607],{"class":990},[984,13010,13011],{"class":986,"line":1137},[984,13012,1038],{"class":990},[89,13014,13015],{},[54,13016,13017,13020,13021,13023,13024,13026],{},[150,13018,13019],{},"own",", optional bool. If ",[150,13022,2682],{}," returns only own addresses, if ",[150,13025,5089],{}," returns only peer addresses. By default is false.",[11,13028,13029],{},[150,13030,1043],{},[866,13032,13034],{"className":978,"code":13033,"language":980,"meta":760,"style":760},"{\n    \"id\": 8,\n    \"jsonrpc\": \"2.0\",\n    \"result\":\n    [{\n        \"address\": \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\",\n        \"category\": \"\",\n        \"create_time\": 1553174321,\n        \"duration\": 1520,\n        \"expired\": true,\n        \"comment\": \"\",\n        \"own\": true,\n        \"own_id\": 16730903,\n        \"own_id_str\": \"16730903\",\n        \"identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n        \"type\": \"regular\",\n        \"wallet_id\": \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"\n    }] \n}\n",[150,13035,13036,13040,13050,13060,13066,13071,13082,13094,13106,13118,13129,13139,13149,13161,13173,13185,13195,13205,13210],{"__ignoreMap":760},[984,13037,13038],{"class":986,"line":987},[984,13039,991],{"class":990},[984,13041,13042,13044,13046,13048],{"class":986,"line":761},[984,13043,1012],{"class":996},[984,13045,1015],{"class":990},[984,13047,12972],{"class":996},[984,13049,1021],{"class":990},[984,13051,13052,13054,13056,13058],{"class":986,"line":772},[984,13053,997],{"class":996},[984,13055,1015],{"class":990},[984,13057,1004],{"class":1003},[984,13059,1021],{"class":990},[984,13061,13062,13064],{"class":986,"line":1024},[984,13063,1724],{"class":996},[984,13065,1524],{"class":990},[984,13067,13068],{"class":986,"line":1035},[984,13069,13070],{"class":990},"    [{\n",[984,13072,13073,13075,13077,13080],{"class":986,"line":1098},[984,13074,1569],{"class":996},[984,13076,1015],{"class":990},[984,13078,13079],{"class":1003},"\"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"",[984,13081,1021],{"class":990},[984,13083,13084,13087,13089,13092],{"class":986,"line":1111},[984,13085,13086],{"class":996},"        \"category\"",[984,13088,1015],{"class":990},[984,13090,13091],{"class":1003},"\"\"",[984,13093,1021],{"class":990},[984,13095,13096,13099,13101,13104],{"class":986,"line":1124},[984,13097,13098],{"class":996},"        \"create_time\"",[984,13100,1015],{"class":990},[984,13102,13103],{"class":996},"1553174321",[984,13105,1021],{"class":990},[984,13107,13108,13111,13113,13116],{"class":986,"line":1137},[984,13109,13110],{"class":996},"        \"duration\"",[984,13112,1015],{"class":990},[984,13114,13115],{"class":996},"1520",[984,13117,1021],{"class":990},[984,13119,13120,13123,13125,13127],{"class":986,"line":1150},[984,13121,13122],{"class":996},"        \"expired\"",[984,13124,1015],{"class":990},[984,13126,2682],{"class":996},[984,13128,1021],{"class":990},[984,13130,13131,13133,13135,13137],{"class":986,"line":1163},[984,13132,1580],{"class":996},[984,13134,1015],{"class":990},[984,13136,13091],{"class":1003},[984,13138,1021],{"class":990},[984,13140,13141,13143,13145,13147],{"class":986,"line":1176},[984,13142,13000],{"class":996},[984,13144,1015],{"class":990},[984,13146,2682],{"class":996},[984,13148,1021],{"class":990},[984,13150,13151,13154,13156,13159],{"class":986,"line":1189},[984,13152,13153],{"class":996},"        \"own_id\"",[984,13155,1015],{"class":990},[984,13157,13158],{"class":996},"16730903",[984,13160,1021],{"class":990},[984,13162,13163,13166,13168,13171],{"class":986,"line":1202},[984,13164,13165],{"class":996},"        \"own_id_str\"",[984,13167,1015],{"class":990},[984,13169,13170],{"class":1003},"\"16730903\"",[984,13172,1021],{"class":990},[984,13174,13175,13178,13180,13183],{"class":986,"line":1211},[984,13176,13177],{"class":996},"        \"identity\"",[984,13179,1015],{"class":990},[984,13181,13182],{"class":1003},"\"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\"",[984,13184,1021],{"class":990},[984,13186,13187,13189,13191,13193],{"class":986,"line":1217},[984,13188,5926],{"class":996},[984,13190,1015],{"class":990},[984,13192,6305],{"class":1003},[984,13194,1021],{"class":990},[984,13196,13197,13200,13202],{"class":986,"line":1229},[984,13198,13199],{"class":996},"        \"wallet_id\"",[984,13201,1015],{"class":990},[984,13203,13204],{"class":1003},"\"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"\n",[984,13206,13207],{"class":986,"line":1241},[984,13208,13209],{"class":990},"    }] \n",[984,13211,13212],{"class":986,"line":1254},[984,13213,1038],{"class":990},[89,13215,13216,13221,13227,13233,13239,13247],{},[54,13217,13218,13220],{},[150,13219,12679],{}," address that should be distributed among users and used to send funds to",[54,13222,13223,13226],{},[150,13224,13225],{},"own_id"," unsigned 64 bit index used to generate given address",[54,13228,13229,13232],{},[150,13230,13231],{},"own_id_str"," string representation of index used to generate given address (for JavaScript)",[54,13234,13235,13238],{},[150,13236,13237],{},"identity"," identity linked to the given address.",[54,13240,13241,13243,13244,13246],{},[150,13242,5964],{}," address type. Consult ",[18,13245,6196],{"href":12240}," method for detailed description",[54,13248,13249,13252,13253,13255,13256,13258,13259,13261,13262,441,13264,163,13266,6030],{},[150,13250,13251],{},"wallet_id"," - Wallet ID (SBBS address) associated with the given address. This is the same as an SBBS address in CLI\u002FUI. Note that not all address types have an associated SBBS address. For example non-own ",[150,13254,5991],{}," addresses do not have ",[150,13257,13251],{},". While own ",[150,13260,5991],{}," ones do it is recommended not to publish it. SBBS address can be safely published for ",[150,13263,5804],{},[150,13265,6012],{},[150,13267,5811],{},[716,13269,2757],{"id":13237},[11,13271,13272,13273,13275,13276,13278,13279,13282],{},"Starting from version 4.2 we introduce an additional entity in order to make transfer more reliable. It is called ",[150,13274,13237],{},". The main goal of ",[150,13277,13237],{}," is to proof and ensure that transaction performs between claimed participants also it could be done using untrusted 3rd parties. The main scenario is ",[58,13280,13281],{},"hardware wallet"," when host machine could be compromised, since it has ability to generate SBBS addresses, it can sign payment proof or accept transaction without need to ask hardware wallet about any secret, but if we give our identity to the other side (in addition to SBBS address), and this identity can be generated using hardware wallet only, then only hardware wallet can sign or approve transaction.",[26,13284,12249],{"id":12249},[11,13286,13287],{},"Delete specific address from the wallet.",[11,13289,13290],{},[150,13291,975],{},[866,13293,13295],{"className":978,"code":13294,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"delete_address\",\n    \"params\":\n    {\n        \"address\" : \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\"\n    }\n}\n",[150,13296,13297,13301,13311,13321,13332,13338,13342,13350,13354],{"__ignoreMap":760},[984,13298,13299],{"class":986,"line":987},[984,13300,991],{"class":990},[984,13302,13303,13305,13307,13309],{"class":986,"line":761},[984,13304,997],{"class":996},[984,13306,1000],{"class":990},[984,13308,1004],{"class":1003},[984,13310,1007],{"class":990},[984,13312,13313,13315,13317,13319],{"class":986,"line":772},[984,13314,1012],{"class":996},[984,13316,1015],{"class":990},[984,13318,12972],{"class":996},[984,13320,1021],{"class":990},[984,13322,13323,13325,13327,13330],{"class":986,"line":1024},[984,13324,1027],{"class":996},[984,13326,1000],{"class":990},[984,13328,13329],{"class":1003},"\"delete_address\"",[984,13331,1021],{"class":990},[984,13333,13334,13336],{"class":986,"line":1035},[984,13335,1521],{"class":996},[984,13337,1524],{"class":990},[984,13339,13340],{"class":986,"line":1098},[984,13341,1529],{"class":990},[984,13343,13344,13346,13348],{"class":986,"line":1111},[984,13345,1569],{"class":996},[984,13347,1738],{"class":990},[984,13349,13204],{"class":1003},[984,13351,13352],{"class":986,"line":1124},[984,13353,1607],{"class":990},[984,13355,13356],{"class":986,"line":1137},[984,13357,1038],{"class":990},[11,13359,13360],{},[150,13361,1043],{},[866,13363,13365],{"className":978,"code":13364,"language":980,"meta":760,"style":760},"{\n    \"id\": 8,\n    \"jsonrpc\": \"2.0\",\n    \"result\": \"done\"\n}\n",[150,13366,13367,13371,13381,13391,13400],{"__ignoreMap":760},[984,13368,13369],{"class":986,"line":987},[984,13370,991],{"class":990},[984,13372,13373,13375,13377,13379],{"class":986,"line":761},[984,13374,1012],{"class":996},[984,13376,1015],{"class":990},[984,13378,12972],{"class":996},[984,13380,1021],{"class":990},[984,13382,13383,13385,13387,13389],{"class":986,"line":772},[984,13384,997],{"class":996},[984,13386,1015],{"class":990},[984,13388,1004],{"class":1003},[984,13390,1021],{"class":990},[984,13392,13393,13395,13397],{"class":986,"line":1024},[984,13394,1724],{"class":996},[984,13396,1015],{"class":990},[984,13398,13399],{"class":1003},"\"done\"\n",[984,13401,13402],{"class":986,"line":1035},[984,13403,1038],{"class":990},[26,13405,12257],{"id":12257},[11,13407,13408,13409,13411,13412,13414,13415,13417],{},"Edit specific address. You can change the ",[150,13410,12634],{}," and\u002For ",[150,13413,12605],{},". Consult ",[18,13416,6196],{"href":12240}," for more details on acceptable values.",[11,13419,13420],{},[150,13421,975],{},[866,13423,13425],{"className":978,"code":13424,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"edit_address\",\n    \"params\":\n    {\n        \"address\" : \"29510b33fac0cb20695fd3b836d835451e600c4224d8fb335dc1a68271deb9b6b5b\",\n        \"comment\" : \"John Smith\",\n        \"expiration\" : \"expired\"\n    }\n}\n",[150,13426,13427,13431,13441,13451,13462,13468,13472,13482,13492,13501,13505],{"__ignoreMap":760},[984,13428,13429],{"class":986,"line":987},[984,13430,991],{"class":990},[984,13432,13433,13435,13437,13439],{"class":986,"line":761},[984,13434,997],{"class":996},[984,13436,1000],{"class":990},[984,13438,1004],{"class":1003},[984,13440,1007],{"class":990},[984,13442,13443,13445,13447,13449],{"class":986,"line":772},[984,13444,1012],{"class":996},[984,13446,1015],{"class":990},[984,13448,12972],{"class":996},[984,13450,1021],{"class":990},[984,13452,13453,13455,13457,13460],{"class":986,"line":1024},[984,13454,1027],{"class":996},[984,13456,1000],{"class":990},[984,13458,13459],{"class":1003},"\"edit_address\"",[984,13461,1021],{"class":990},[984,13463,13464,13466],{"class":986,"line":1035},[984,13465,1521],{"class":996},[984,13467,1524],{"class":990},[984,13469,13470],{"class":986,"line":1098},[984,13471,1529],{"class":990},[984,13473,13474,13476,13478,13480],{"class":986,"line":1111},[984,13475,1569],{"class":996},[984,13477,1738],{"class":990},[984,13479,13079],{"class":1003},[984,13481,1021],{"class":990},[984,13483,13484,13486,13488,13490],{"class":986,"line":1124},[984,13485,1580],{"class":996},[984,13487,1738],{"class":990},[984,13489,12533],{"class":1003},[984,13491,1021],{"class":990},[984,13493,13494,13496,13498],{"class":986,"line":1137},[984,13495,6270],{"class":996},[984,13497,1738],{"class":990},[984,13499,13500],{"class":1003},"\"expired\"\n",[984,13502,13503],{"class":986,"line":1150},[984,13504,1607],{"class":990},[984,13506,13507],{"class":986,"line":1163},[984,13508,1038],{"class":990},[11,13510,13511],{},[150,13512,1043],{},[866,13514,13515],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,13516,13517,13521,13531,13541,13549],{"__ignoreMap":760},[984,13518,13519],{"class":986,"line":987},[984,13520,991],{"class":990},[984,13522,13523,13525,13527,13529],{"class":986,"line":761},[984,13524,1012],{"class":996},[984,13526,1015],{"class":990},[984,13528,12972],{"class":996},[984,13530,1021],{"class":990},[984,13532,13533,13535,13537,13539],{"class":986,"line":772},[984,13534,997],{"class":996},[984,13536,1015],{"class":990},[984,13538,1004],{"class":1003},[984,13540,1021],{"class":990},[984,13542,13543,13545,13547],{"class":986,"line":1024},[984,13544,1724],{"class":996},[984,13546,1015],{"class":990},[984,13548,13399],{"class":1003},[984,13550,13551],{"class":986,"line":1035},[984,13552,1038],{"class":990},[26,13554,888],{"id":888},[11,13556,13557],{},"Send BEAM or asset to a given address.",[11,13559,13560],{},[150,13561,975],{},[866,13563,13565],{"className":978,"code":13564,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"tx_send\", \n    \"params\":\n    {\n        \"value\": 12342342,\n        \"fee\": 2,\n        \"from\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"address\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"comment\": \"thank you!\",\n        \"asset_id\": 1,\n        \"offline\": false\n    }\n}\n",[150,13566,13567,13571,13581,13591,13601,13607,13611,13621,13631,13641,13651,13661,13671,13680,13684],{"__ignoreMap":760},[984,13568,13569],{"class":986,"line":987},[984,13570,991],{"class":990},[984,13572,13573,13575,13577,13579],{"class":986,"line":761},[984,13574,997],{"class":996},[984,13576,1000],{"class":990},[984,13578,1004],{"class":1003},[984,13580,1007],{"class":990},[984,13582,13583,13585,13587,13589],{"class":986,"line":772},[984,13584,1012],{"class":996},[984,13586,1015],{"class":990},[984,13588,1503],{"class":996},[984,13590,1021],{"class":990},[984,13592,13593,13595,13597,13599],{"class":986,"line":1024},[984,13594,1027],{"class":996},[984,13596,1000],{"class":990},[984,13598,1514],{"class":1003},[984,13600,1007],{"class":990},[984,13602,13603,13605],{"class":986,"line":1035},[984,13604,1521],{"class":996},[984,13606,1524],{"class":990},[984,13608,13609],{"class":986,"line":1098},[984,13610,1529],{"class":990},[984,13612,13613,13615,13617,13619],{"class":986,"line":1111},[984,13614,1534],{"class":996},[984,13616,1015],{"class":990},[984,13618,1539],{"class":996},[984,13620,1021],{"class":990},[984,13622,13623,13625,13627,13629],{"class":986,"line":1124},[984,13624,1546],{"class":996},[984,13626,1015],{"class":990},[984,13628,1503],{"class":996},[984,13630,1021],{"class":990},[984,13632,13633,13635,13637,13639],{"class":986,"line":1137},[984,13634,1557],{"class":996},[984,13636,1015],{"class":990},[984,13638,1562],{"class":1003},[984,13640,1021],{"class":990},[984,13642,13643,13645,13647,13649],{"class":986,"line":1150},[984,13644,1569],{"class":996},[984,13646,1015],{"class":990},[984,13648,1562],{"class":1003},[984,13650,1021],{"class":990},[984,13652,13653,13655,13657,13659],{"class":986,"line":1163},[984,13654,1580],{"class":996},[984,13656,1015],{"class":990},[984,13658,1585],{"class":1003},[984,13660,1021],{"class":990},[984,13662,13663,13665,13667,13669],{"class":986,"line":1176},[984,13664,1220],{"class":996},[984,13666,1015],{"class":990},[984,13668,1345],{"class":996},[984,13670,1021],{"class":990},[984,13672,13673,13675,13677],{"class":986,"line":1189},[984,13674,6160],{"class":996},[984,13676,1015],{"class":990},[984,13678,13679],{"class":996},"false\n",[984,13681,13682],{"class":986,"line":1202},[984,13683,1607],{"class":990},[984,13685,13686],{"class":986,"line":1211},[984,13687,1038],{"class":990},[89,13689,13690,13695,13700,13706,13718,13723,13728,13739],{},[54,13691,13692,13694],{},[150,13693,2133],{}," how much BEAM or asset to send in groth or asset groth.",[54,13696,13697,13699],{},[150,13698,2139],{}," always in BEAM groth, optional. Omit for default fee.",[54,13701,13702,13705],{},[150,13703,13704],{},"from"," own address, optional. If omitted new own address is generated and registered.",[54,13707,13708,13710,13711,13713,13714,163,13716,385],{},[150,13709,12679],{}," receiver's SBBS address or token. Token is an extension of SBBS address. It is a ",[58,13712,5776],{}," encoded byte buffer which contains serialized parameters of a transaction. At least it contains SBBS ",[150,13715,12679],{},[150,13717,13237],{},[54,13719,13720,13722],{},[150,13721,12634],{}," transaction comment, optional.",[54,13724,13725,13727],{},[150,13726,2150],{}," optional, you can provide your own transaction ID.",[54,13729,13730,13732,13733,13735,13736,13738],{},[150,13731,848],{}," asset id to send, optional. Present starting from v5.0 and can be used only after Fork 2. Omit or set to 0 for BEAM transaction. If ",[150,13734,848],{}," is non-zero assets must be enabled (",[150,13737,948],{},") or method would fail.",[54,13740,13741,13743,13744,13747,13748,13750],{},[150,13742,5811],{}," - since v6.0 offline addresses by default start the regular online transaction. Specify ",[150,13745,13746],{},"\"offline\":true\""," to start an offline transaction. Applied only for ",[150,13749,5811],{}," addresses and ignored for all other address types.",[11,13752,13753,13754,13756,13757,13760],{},"You can preselect specific UTXOs for a transaction and fee via optional ",[150,13755,8355],{}," array parameter like ",[150,13758,13759],{},"\"coins\" : [\"00057e8eca5673476e6f726d000000000000015d3ef79800\", \"00057e8eca1233476e6f726d000000000000015d3ef79800\"]",". In case of asset transaction you can specify both asset coins (to send) and non-asset coins (to pay fee).",[11,13762,13763],{},[150,13764,1043],{},[866,13766,13767],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,13768,13769,13773,13783,13793,13799,13803,13811,13815],{"__ignoreMap":760},[984,13770,13771],{"class":986,"line":987},[984,13772,991],{"class":990},[984,13774,13775,13777,13779,13781],{"class":986,"line":761},[984,13776,997],{"class":996},[984,13778,1000],{"class":990},[984,13780,1004],{"class":1003},[984,13782,1007],{"class":990},[984,13784,13785,13787,13789,13791],{"class":986,"line":772},[984,13786,1012],{"class":996},[984,13788,1015],{"class":990},[984,13790,1503],{"class":996},[984,13792,1021],{"class":990},[984,13794,13795,13797],{"class":986,"line":1024},[984,13796,1724],{"class":996},[984,13798,1524],{"class":990},[984,13800,13801],{"class":986,"line":1035},[984,13802,1529],{"class":990},[984,13804,13805,13807,13809],{"class":986,"line":1098},[984,13806,1735],{"class":996},[984,13808,1738],{"class":990},[984,13810,1741],{"class":1003},[984,13812,13813],{"class":986,"line":1111},[984,13814,1607],{"class":990},[984,13816,13817],{"class":986,"line":1124},[984,13818,1038],{"class":990},[11,13820,2213,13821,385],{},[18,13822,1977],{"href":13823},"#api-error-codes",[26,13825,893],{"id":893},[11,13827,13828],{},"Creates a specific set of outputs with given values.",[11,13830,13831,13832,13835],{},"NOTE: The ",[150,13833,13834],{},"session"," parameter is not IMPLEMENTED and was removed!",[11,13837,13838],{},[150,13839,975],{},[866,13841,13843],{"className":978,"code":13842,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 5,\n    \"method\":\"tx_split\", \n    \"params\":\n    {\n        \"coins\" : [11, 12, 13, 50000000],\n        \"fee\" : 100,\n        \"asset_id\": 1\n    }\n}\n",[150,13844,13845,13849,13859,13869,13880,13886,13890,13918,13928,13936,13940],{"__ignoreMap":760},[984,13846,13847],{"class":986,"line":987},[984,13848,991],{"class":990},[984,13850,13851,13853,13855,13857],{"class":986,"line":761},[984,13852,997],{"class":996},[984,13854,1000],{"class":990},[984,13856,1004],{"class":1003},[984,13858,1007],{"class":990},[984,13860,13861,13863,13865,13867],{"class":986,"line":772},[984,13862,1012],{"class":996},[984,13864,1015],{"class":990},[984,13866,8099],{"class":996},[984,13868,1021],{"class":990},[984,13870,13871,13873,13875,13878],{"class":986,"line":1024},[984,13872,1027],{"class":996},[984,13874,1000],{"class":990},[984,13876,13877],{"class":1003},"\"tx_split\"",[984,13879,1007],{"class":990},[984,13881,13882,13884],{"class":986,"line":1035},[984,13883,1521],{"class":996},[984,13885,1524],{"class":990},[984,13887,13888],{"class":986,"line":1098},[984,13889,1529],{"class":990},[984,13891,13892,13895,13898,13901,13903,13905,13907,13910,13912,13915],{"class":986,"line":1111},[984,13893,13894],{"class":996},"        \"coins\"",[984,13896,13897],{"class":990}," : [",[984,13899,13900],{"class":996},"11",[984,13902,441],{"class":990},[984,13904,2558],{"class":996},[984,13906,441],{"class":990},[984,13908,13909],{"class":996},"13",[984,13911,441],{"class":990},[984,13913,13914],{"class":996},"50000000",[984,13916,13917],{"class":990},"],\n",[984,13919,13920,13922,13924,13926],{"class":986,"line":1124},[984,13921,1546],{"class":996},[984,13923,1738],{"class":990},[984,13925,4979],{"class":996},[984,13927,1021],{"class":990},[984,13929,13930,13932,13934],{"class":986,"line":1137},[984,13931,1220],{"class":996},[984,13933,1015],{"class":990},[984,13935,1678],{"class":996},[984,13937,13938],{"class":986,"line":1150},[984,13939,1607],{"class":990},[984,13941,13942],{"class":986,"line":1163},[984,13943,1038],{"class":990},[11,13945,13946],{},[150,13947,1043],{},[866,13949,13951],{"className":978,"code":13950,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 5,\n    \"result\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\"\n    }\n}\n",[150,13952,13953,13957,13967,13977,13983,13987,13995,13999],{"__ignoreMap":760},[984,13954,13955],{"class":986,"line":987},[984,13956,991],{"class":990},[984,13958,13959,13961,13963,13965],{"class":986,"line":761},[984,13960,997],{"class":996},[984,13962,1000],{"class":990},[984,13964,1004],{"class":1003},[984,13966,1007],{"class":990},[984,13968,13969,13971,13973,13975],{"class":986,"line":772},[984,13970,1012],{"class":996},[984,13972,1015],{"class":990},[984,13974,8099],{"class":996},[984,13976,1021],{"class":990},[984,13978,13979,13981],{"class":986,"line":1024},[984,13980,1724],{"class":996},[984,13982,1524],{"class":990},[984,13984,13985],{"class":986,"line":1035},[984,13986,1529],{"class":990},[984,13988,13989,13991,13993],{"class":986,"line":1098},[984,13990,1735],{"class":996},[984,13992,1738],{"class":990},[984,13994,1741],{"class":1003},[984,13996,13997],{"class":986,"line":1111},[984,13998,1607],{"class":990},[984,14000,14001],{"class":986,"line":1124},[984,14002,1038],{"class":990},[89,14004,14005,14010,14015,14020],{},[54,14006,14007,14009],{},[150,14008,2139],{}," is always in BEAM groth. Omit for default fee.",[54,14011,14012,14014],{},[150,14013,8355],{}," amounts of coins your want to have after split.",[54,14016,14017,14019],{},[150,14018,2150],{}," optional, provide your own transaction ID.",[54,14021,14022,14024,14025,13735,14027,13738],{},[150,14023,848],{}," asset id to split, optional. Omit or set to 0 to split BEAM coins. Present starting from v5.0 and can be used only after Fork 2. If ",[150,14026,848],{},[150,14028,948],{},[26,14030,903],{"id":903},[11,14032,14033,14034,13738],{},"Available from v5.0, can be used after Fork2. Assets must be enabled (",[150,14035,948],{},[11,14037,14038,14039,2046],{},"Mints new asset coins. You must own the asset and info about the asset should be in a local database. Use ",[18,14040,913],{"href":2036},[11,14042,14043],{},[150,14044,975],{},[866,14046,14047],{"className":978,"code":2053,"language":980,"meta":760,"style":760},[150,14048,14049,14053,14063,14073,14083,14089,14093,14103,14111,14115],{"__ignoreMap":760},[984,14050,14051],{"class":986,"line":987},[984,14052,991],{"class":990},[984,14054,14055,14057,14059,14061],{"class":986,"line":761},[984,14056,997],{"class":996},[984,14058,1015],{"class":990},[984,14060,1004],{"class":1003},[984,14062,1007],{"class":990},[984,14064,14065,14067,14069,14071],{"class":986,"line":772},[984,14066,1012],{"class":996},[984,14068,1015],{"class":990},[984,14070,1503],{"class":996},[984,14072,1021],{"class":990},[984,14074,14075,14077,14079,14081],{"class":986,"line":1024},[984,14076,1027],{"class":996},[984,14078,1015],{"class":990},[984,14080,2088],{"class":1003},[984,14082,1007],{"class":990},[984,14084,14085,14087],{"class":986,"line":1035},[984,14086,1521],{"class":996},[984,14088,1524],{"class":990},[984,14090,14091],{"class":986,"line":1098},[984,14092,1529],{"class":990},[984,14094,14095,14097,14099,14101],{"class":986,"line":1111},[984,14096,1534],{"class":996},[984,14098,1015],{"class":990},[984,14100,1018],{"class":996},[984,14102,1021],{"class":990},[984,14104,14105,14107,14109],{"class":986,"line":1124},[984,14106,1220],{"class":996},[984,14108,1015],{"class":990},[984,14110,1678],{"class":996},[984,14112,14113],{"class":986,"line":1137},[984,14114,1607],{"class":990},[984,14116,14117],{"class":986,"line":1150},[984,14118,1038],{"class":990},[89,14120,14121,14125,14129,14133,14137],{},[54,14122,14123,2134],{},[150,14124,2133],{},[54,14126,14127,2140],{},[150,14128,2139],{},[54,14130,14131,2145],{},[150,14132,848],{},[54,14134,14135,2151],{},[150,14136,2150],{},[54,14138,14139,14142],{},[150,14140,14141],{},"asset_meta"," obsolete and removed in v6.0.",[11,14144,14145,14146,14148,14149],{},"You can preselect specific BEAM UTXOs for a transaction fee by adding ",[150,14147,8355],{}," array parameter, like ",[150,14150,13759],{},[11,14152,14153],{},[150,14154,1043],{},[866,14156,14157],{"className":978,"code":2158,"language":980,"meta":760,"style":760},[150,14158,14159,14163,14173,14183,14189,14193,14201,14205],{"__ignoreMap":760},[984,14160,14161],{"class":986,"line":987},[984,14162,991],{"class":990},[984,14164,14165,14167,14169,14171],{"class":986,"line":761},[984,14166,997],{"class":996},[984,14168,1015],{"class":990},[984,14170,1004],{"class":1003},[984,14172,1007],{"class":990},[984,14174,14175,14177,14179,14181],{"class":986,"line":772},[984,14176,1012],{"class":996},[984,14178,1015],{"class":990},[984,14180,1503],{"class":996},[984,14182,1021],{"class":990},[984,14184,14185,14187],{"class":986,"line":1024},[984,14186,1724],{"class":996},[984,14188,1524],{"class":990},[984,14190,14191],{"class":986,"line":1035},[984,14192,1529],{"class":990},[984,14194,14195,14197,14199],{"class":986,"line":1098},[984,14196,1735],{"class":996},[984,14198,1738],{"class":990},[984,14200,1741],{"class":1003},[984,14202,14203],{"class":986,"line":1111},[984,14204,1607],{"class":990},[984,14206,14207],{"class":986,"line":1124},[984,14208,1038],{"class":990},[11,14210,2213,14211,385],{},[18,14212,1977],{"href":13823},[26,14214,908],{"id":908},[11,14216,14033,14217,13738],{},[150,14218,948],{},[11,14220,14221,14222,14224],{},"Burns existing asset coins. You must own the asset itself as well as asset coins to burn them. You cannot burn asset coins that belong to another wallet. Info about the asset should be in a local database. Use ",[18,14223,913],{"href":2036}," to retrieve the latest asset info if necessary. Asset coins burning is absolutely free. You need to pay only regular transaction fee.",[11,14226,14227],{},[150,14228,975],{},[866,14230,14231],{"className":978,"code":2228,"language":980,"meta":760,"style":760},[150,14232,14233,14237,14247,14257,14267,14273,14277,14287,14295,14299],{"__ignoreMap":760},[984,14234,14235],{"class":986,"line":987},[984,14236,991],{"class":990},[984,14238,14239,14241,14243,14245],{"class":986,"line":761},[984,14240,997],{"class":996},[984,14242,1000],{"class":990},[984,14244,1004],{"class":1003},[984,14246,1007],{"class":990},[984,14248,14249,14251,14253,14255],{"class":986,"line":772},[984,14250,1012],{"class":996},[984,14252,1015],{"class":990},[984,14254,1503],{"class":996},[984,14256,1021],{"class":990},[984,14258,14259,14261,14263,14265],{"class":986,"line":1024},[984,14260,1027],{"class":996},[984,14262,1000],{"class":990},[984,14264,2263],{"class":1003},[984,14266,1007],{"class":990},[984,14268,14269,14271],{"class":986,"line":1035},[984,14270,1521],{"class":996},[984,14272,1524],{"class":990},[984,14274,14275],{"class":986,"line":1098},[984,14276,1529],{"class":990},[984,14278,14279,14281,14283,14285],{"class":986,"line":1111},[984,14280,1534],{"class":996},[984,14282,1015],{"class":990},[984,14284,1018],{"class":996},[984,14286,1021],{"class":990},[984,14288,14289,14291,14293],{"class":986,"line":1124},[984,14290,1220],{"class":996},[984,14292,1015],{"class":990},[984,14294,1678],{"class":996},[984,14296,14297],{"class":986,"line":1137},[984,14298,1607],{"class":990},[984,14300,14301],{"class":986,"line":1150},[984,14302,1038],{"class":990},[89,14304,14305,14309,14313,14317,14321],{},[54,14306,14307,2308],{},[150,14308,2133],{},[54,14310,14311,2313],{},[150,14312,2139],{},[54,14314,14315,2318],{},[150,14316,848],{},[54,14318,14319,2323],{},[150,14320,2150],{},[54,14322,14323,14325],{},[150,14324,14141],{}," obsolete and removed since v6.0",[11,14327,14328,14329,14148,14331,14333],{},"You can preselect specific UTXOs to burn and to pay fee by adding ",[150,14330,8355],{},[150,14332,13759],{},". Both asset coins (to burn) and BEAM coins (to pay fee) can be in this array.",[11,14335,14336],{},[150,14337,1043],{},[866,14339,14340],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,14341,14342,14346,14356,14366,14372,14376,14384,14388],{"__ignoreMap":760},[984,14343,14344],{"class":986,"line":987},[984,14345,991],{"class":990},[984,14347,14348,14350,14352,14354],{"class":986,"line":761},[984,14349,997],{"class":996},[984,14351,1000],{"class":990},[984,14353,1004],{"class":1003},[984,14355,1007],{"class":990},[984,14357,14358,14360,14362,14364],{"class":986,"line":772},[984,14359,1012],{"class":996},[984,14361,1015],{"class":990},[984,14363,1503],{"class":996},[984,14365,1021],{"class":990},[984,14367,14368,14370],{"class":986,"line":1024},[984,14369,1724],{"class":996},[984,14371,1524],{"class":990},[984,14373,14374],{"class":986,"line":1035},[984,14375,1529],{"class":990},[984,14377,14378,14380,14382],{"class":986,"line":1098},[984,14379,1735],{"class":996},[984,14381,1738],{"class":990},[984,14383,1741],{"class":1003},[984,14385,14386],{"class":986,"line":1111},[984,14387,1607],{"class":990},[984,14389,14390],{"class":986,"line":1124},[984,14391,1038],{"class":990},[11,14393,2213,14394,385],{},[18,14395,1977],{"href":13823},[26,14397,913],{"id":913},[11,14399,14033,14400,13738],{},[150,14401,948],{},[11,14403,14404,14405,14407],{},"Retrieve full info about any registered asset and save in a local database. If asset has been unregistered or has been never registered transaction would fail. After transaction is completed you can use ",[18,14406,918],{"href":12373}," to read\u002Fget asset info from the local database.",[11,14409,14410],{},[150,14411,975],{},[866,14413,14414],{"className":978,"code":1621,"language":980,"meta":760,"style":760},[150,14415,14416,14420,14430,14440,14450,14456,14460,14468,14472],{"__ignoreMap":760},[984,14417,14418],{"class":986,"line":987},[984,14419,991],{"class":990},[984,14421,14422,14424,14426,14428],{"class":986,"line":761},[984,14423,997],{"class":996},[984,14425,1000],{"class":990},[984,14427,1004],{"class":1003},[984,14429,1007],{"class":990},[984,14431,14432,14434,14436,14438],{"class":986,"line":772},[984,14433,1012],{"class":996},[984,14435,1015],{"class":990},[984,14437,1503],{"class":996},[984,14439,1021],{"class":990},[984,14441,14442,14444,14446,14448],{"class":986,"line":1024},[984,14443,1027],{"class":996},[984,14445,1015],{"class":990},[984,14447,1656],{"class":1003},[984,14449,1021],{"class":990},[984,14451,14452,14454],{"class":986,"line":1035},[984,14453,1521],{"class":996},[984,14455,1665],{"class":990},[984,14457,14458],{"class":986,"line":1098},[984,14459,1529],{"class":990},[984,14461,14462,14464,14466],{"class":986,"line":1111},[984,14463,1220],{"class":996},[984,14465,1015],{"class":990},[984,14467,1678],{"class":996},[984,14469,14470],{"class":986,"line":1124},[984,14471,1607],{"class":990},[984,14473,14474],{"class":986,"line":1137},[984,14475,1038],{"class":990},[89,14477,14478,14482,14486],{},[54,14479,14480,1830],{},[150,14481,848],{},[54,14483,14484,2323],{},[150,14485,2150],{},[54,14487,14488,14325],{},[150,14489,14141],{},[11,14491,14492],{},"Asset info transaction is free, i.e. doesn't incur any fees.",[11,14494,14495],{},[150,14496,1043],{},[866,14498,14499],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,14500,14501,14505,14515,14525,14531,14535,14543,14547],{"__ignoreMap":760},[984,14502,14503],{"class":986,"line":987},[984,14504,991],{"class":990},[984,14506,14507,14509,14511,14513],{"class":986,"line":761},[984,14508,997],{"class":996},[984,14510,1000],{"class":990},[984,14512,1004],{"class":1003},[984,14514,1007],{"class":990},[984,14516,14517,14519,14521,14523],{"class":986,"line":772},[984,14518,1012],{"class":996},[984,14520,1015],{"class":990},[984,14522,1503],{"class":996},[984,14524,1021],{"class":990},[984,14526,14527,14529],{"class":986,"line":1024},[984,14528,1724],{"class":996},[984,14530,1524],{"class":990},[984,14532,14533],{"class":986,"line":1035},[984,14534,1529],{"class":990},[984,14536,14537,14539,14541],{"class":986,"line":1098},[984,14538,1735],{"class":996},[984,14540,1738],{"class":990},[984,14542,1741],{"class":1003},[984,14544,14545],{"class":986,"line":1111},[984,14546,1607],{"class":990},[984,14548,14549],{"class":986,"line":1124},[984,14550,1038],{"class":990},[11,14552,2213,14553,385],{},[18,14554,1977],{"href":13823},[26,14556,12316],{"id":12316},[11,14558,14559],{},"Cancels running transaction",[11,14561,14562],{},[150,14563,975],{},[866,14565,14567],{"className":978,"code":14566,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_cancel\", \n    \"params\":\n    {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[150,14568,14569,14573,14583,14593,14604,14610,14614,14623,14627],{"__ignoreMap":760},[984,14570,14571],{"class":986,"line":987},[984,14572,991],{"class":990},[984,14574,14575,14577,14579,14581],{"class":986,"line":761},[984,14576,997],{"class":996},[984,14578,1000],{"class":990},[984,14580,1004],{"class":1003},[984,14582,1007],{"class":990},[984,14584,14585,14587,14589,14591],{"class":986,"line":772},[984,14586,1012],{"class":996},[984,14588,1015],{"class":990},[984,14590,2431],{"class":996},[984,14592,1021],{"class":990},[984,14594,14595,14597,14599,14602],{"class":986,"line":1024},[984,14596,1027],{"class":996},[984,14598,1000],{"class":990},[984,14600,14601],{"class":1003},"\"tx_cancel\"",[984,14603,1007],{"class":990},[984,14605,14606,14608],{"class":986,"line":1035},[984,14607,1521],{"class":996},[984,14609,1524],{"class":990},[984,14611,14612],{"class":986,"line":1098},[984,14613,1529],{"class":990},[984,14615,14616,14618,14620],{"class":986,"line":1111},[984,14617,1735],{"class":996},[984,14619,1738],{"class":990},[984,14621,14622],{"class":1003},"\"a13525181c0d45b0a4c5c1a697c8a7b8\"\n",[984,14624,14625],{"class":986,"line":1124},[984,14626,1607],{"class":990},[984,14628,14629],{"class":986,"line":1137},[984,14630,1038],{"class":990},[89,14632,14633],{},[54,14634,14635,14637],{},[150,14636,2150],{}," transaction id to cancel.",[11,14639,14640],{},[150,14641,1043],{},[866,14643,14645],{"className":978,"code":14644,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\": true\n}\n",[150,14646,14647,14651,14661,14671,14679],{"__ignoreMap":760},[984,14648,14649],{"class":986,"line":987},[984,14650,991],{"class":990},[984,14652,14653,14655,14657,14659],{"class":986,"line":761},[984,14654,997],{"class":996},[984,14656,1000],{"class":990},[984,14658,1004],{"class":1003},[984,14660,1007],{"class":990},[984,14662,14663,14665,14667,14669],{"class":986,"line":772},[984,14664,1012],{"class":996},[984,14666,1015],{"class":990},[984,14668,2431],{"class":996},[984,14670,1021],{"class":990},[984,14672,14673,14675,14677],{"class":986,"line":1024},[984,14674,1724],{"class":996},[984,14676,1015],{"class":990},[984,14678,2497],{"class":996},[984,14680,14681],{"class":986,"line":1035},[984,14682,1038],{"class":990},[11,14684,14685,14686,14688,14689,14691],{},"Returns ",[150,14687,2682],{}," if successfully canceled or ",[18,14690,1977],{"href":13823}," with the reason.",[26,14693,12324],{"id":12324},[11,14695,14696],{},"Removes transaction from the local history. Cannot remove running transaction",[11,14698,14699],{},[150,14700,975],{},[866,14702,14704],{"className":978,"code":14703,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_delete\", \n    \"params\":\n    {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[150,14705,14706,14710,14720,14730,14741,14747,14751,14759,14763],{"__ignoreMap":760},[984,14707,14708],{"class":986,"line":987},[984,14709,991],{"class":990},[984,14711,14712,14714,14716,14718],{"class":986,"line":761},[984,14713,997],{"class":996},[984,14715,1000],{"class":990},[984,14717,1004],{"class":1003},[984,14719,1007],{"class":990},[984,14721,14722,14724,14726,14728],{"class":986,"line":772},[984,14723,1012],{"class":996},[984,14725,1015],{"class":990},[984,14727,2431],{"class":996},[984,14729,1021],{"class":990},[984,14731,14732,14734,14736,14739],{"class":986,"line":1024},[984,14733,1027],{"class":996},[984,14735,1000],{"class":990},[984,14737,14738],{"class":1003},"\"tx_delete\"",[984,14740,1007],{"class":990},[984,14742,14743,14745],{"class":986,"line":1035},[984,14744,1521],{"class":996},[984,14746,1524],{"class":990},[984,14748,14749],{"class":986,"line":1098},[984,14750,1529],{"class":990},[984,14752,14753,14755,14757],{"class":986,"line":1111},[984,14754,1735],{"class":996},[984,14756,1738],{"class":990},[984,14758,14622],{"class":1003},[984,14760,14761],{"class":986,"line":1124},[984,14762,1607],{"class":990},[984,14764,14765],{"class":986,"line":1137},[984,14766,1038],{"class":990},[89,14768,14769],{},[54,14770,14771,14773],{},[150,14772,2150],{}," transaction id to be deleted.",[11,14775,14776],{},[150,14777,1043],{},[866,14779,14780],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,14781,14782,14786,14796,14806,14814],{"__ignoreMap":760},[984,14783,14784],{"class":986,"line":987},[984,14785,991],{"class":990},[984,14787,14788,14790,14792,14794],{"class":986,"line":761},[984,14789,997],{"class":996},[984,14791,1000],{"class":990},[984,14793,1004],{"class":1003},[984,14795,1007],{"class":990},[984,14797,14798,14800,14802,14804],{"class":986,"line":772},[984,14799,1012],{"class":996},[984,14801,1015],{"class":990},[984,14803,2431],{"class":996},[984,14805,1021],{"class":990},[984,14807,14808,14810,14812],{"class":986,"line":1024},[984,14809,1724],{"class":996},[984,14811,1015],{"class":990},[984,14813,2497],{"class":996},[984,14815,14816],{"class":986,"line":1035},[984,14817,1038],{"class":990},[11,14819,14685,14820,14822,14823,14691],{},[150,14821,2682],{}," if the transaction was successfully deleted or ",[18,14824,1977],{"href":13823},[26,14826,12303],{"id":12303},[11,14828,14829,14830,14832],{},"Get status & extended information about a single transaction by its transaction id. The example below is given for a simple transaction. Different transaction types have different status records. Consult ",[18,14831,12337],{"href":12336}," method description for details. This method can be called for previously started asset-involving transactions even if assets are not enabled in the current session.",[11,14834,14835],{},[150,14836,975],{},[866,14838,14840],{"className":978,"code":14839,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_status\", \n    \"params\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\" \n    }\n}\n",[150,14841,14842,14846,14856,14866,14877,14883,14887,14898,14902],{"__ignoreMap":760},[984,14843,14844],{"class":986,"line":987},[984,14845,991],{"class":990},[984,14847,14848,14850,14852,14854],{"class":986,"line":761},[984,14849,997],{"class":996},[984,14851,1000],{"class":990},[984,14853,1004],{"class":1003},[984,14855,1007],{"class":990},[984,14857,14858,14860,14862,14864],{"class":986,"line":772},[984,14859,1012],{"class":996},[984,14861,1015],{"class":990},[984,14863,2431],{"class":996},[984,14865,1021],{"class":990},[984,14867,14868,14870,14872,14875],{"class":986,"line":1024},[984,14869,1027],{"class":996},[984,14871,1000],{"class":990},[984,14873,14874],{"class":1003},"\"tx_status\"",[984,14876,1007],{"class":990},[984,14878,14879,14881],{"class":986,"line":1035},[984,14880,1521],{"class":996},[984,14882,1524],{"class":990},[984,14884,14885],{"class":986,"line":1098},[984,14886,1529],{"class":990},[984,14888,14889,14891,14893,14896],{"class":986,"line":1111},[984,14890,1735],{"class":996},[984,14892,1738],{"class":990},[984,14894,14895],{"class":1003},"\"10c4b760c842433cb58339a0fafef3db\"",[984,14897,9008],{"class":990},[984,14899,14900],{"class":986,"line":1124},[984,14901,1607],{"class":990},[984,14903,14904],{"class":986,"line":1137},[984,14905,1038],{"class":990},[11,14907,14908],{},[150,14909,1043],{},[866,14911,14913],{"className":978,"code":14912,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\":\n    { \n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"asset_id\": 0,\n        \"comment\": \"\",\n        \"fee\": 100,\n        \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n        \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"status\": 4,\n        \"status_string\" : \"Failed\",\n        \"tx_type\": 0,\n        \"tx_type_string\": \"simple\",\n        \"failure_reason\" : \"No inputs\",\n        \"value\": 12342342,\n        \"create_time\" : 1551100217,\n        \"income\" : false,\n        \"sender_identity\": \"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\",\n        \"receiver_identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n        \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n    } \n}\n",[150,14914,14915,14919,14929,14939,14945,14950,14960,14970,14980,14990,15002,15013,15025,15036,15048,15059,15071,15083,15093,15104,15115,15127,15138,15148,15153],{"__ignoreMap":760},[984,14916,14917],{"class":986,"line":987},[984,14918,991],{"class":990},[984,14920,14921,14923,14925,14927],{"class":986,"line":761},[984,14922,997],{"class":996},[984,14924,1000],{"class":990},[984,14926,1004],{"class":1003},[984,14928,1007],{"class":990},[984,14930,14931,14933,14935,14937],{"class":986,"line":772},[984,14932,1012],{"class":996},[984,14934,1015],{"class":990},[984,14936,2431],{"class":996},[984,14938,1021],{"class":990},[984,14940,14941,14943],{"class":986,"line":1024},[984,14942,1724],{"class":996},[984,14944,1524],{"class":990},[984,14946,14947],{"class":986,"line":1035},[984,14948,14949],{"class":990},"    { \n",[984,14951,14952,14954,14956,14958],{"class":986,"line":1098},[984,14953,1735],{"class":996},[984,14955,1738],{"class":990},[984,14957,14895],{"class":1003},[984,14959,1021],{"class":990},[984,14961,14962,14964,14966,14968],{"class":986,"line":1111},[984,14963,1220],{"class":996},[984,14965,1015],{"class":990},[984,14967,1171],{"class":996},[984,14969,1021],{"class":990},[984,14971,14972,14974,14976,14978],{"class":986,"line":1124},[984,14973,1580],{"class":996},[984,14975,1015],{"class":990},[984,14977,13091],{"class":1003},[984,14979,1021],{"class":990},[984,14981,14982,14984,14986,14988],{"class":986,"line":1137},[984,14983,1546],{"class":996},[984,14985,1015],{"class":990},[984,14987,4979],{"class":996},[984,14989,1021],{"class":990},[984,14991,14992,14995,14997,15000],{"class":986,"line":1150},[984,14993,14994],{"class":996},"        \"kernel\"",[984,14996,1015],{"class":990},[984,14998,14999],{"class":1003},"\"0000000000000000000000000000000000000000000000000000000000000000\"",[984,15001,1021],{"class":990},[984,15003,15004,15007,15009,15011],{"class":986,"line":1163},[984,15005,15006],{"class":996},"        \"receiver\"",[984,15008,1015],{"class":990},[984,15010,1562],{"class":1003},[984,15012,1021],{"class":990},[984,15014,15015,15018,15020,15023],{"class":986,"line":1176},[984,15016,15017],{"class":996},"        \"sender\"",[984,15019,1015],{"class":990},[984,15021,15022],{"class":1003},"\"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\"",[984,15024,1021],{"class":990},[984,15026,15027,15030,15032,15034],{"class":986,"line":1189},[984,15028,15029],{"class":996},"        \"status\"",[984,15031,1015],{"class":990},[984,15033,2431],{"class":996},[984,15035,1021],{"class":990},[984,15037,15038,15041,15043,15046],{"class":986,"line":1202},[984,15039,15040],{"class":996},"        \"status_string\"",[984,15042,1738],{"class":990},[984,15044,15045],{"class":1003},"\"Failed\"",[984,15047,1021],{"class":990},[984,15049,15050,15053,15055,15057],{"class":986,"line":1211},[984,15051,15052],{"class":996},"        \"tx_type\"",[984,15054,1015],{"class":990},[984,15056,1171],{"class":996},[984,15058,1021],{"class":990},[984,15060,15061,15064,15066,15069],{"class":986,"line":1217},[984,15062,15063],{"class":996},"        \"tx_type_string\"",[984,15065,1015],{"class":990},[984,15067,15068],{"class":1003},"\"simple\"",[984,15070,1021],{"class":990},[984,15072,15073,15076,15078,15081],{"class":986,"line":1229},[984,15074,15075],{"class":996},"        \"failure_reason\"",[984,15077,1738],{"class":990},[984,15079,15080],{"class":1003},"\"No inputs\"",[984,15082,1021],{"class":990},[984,15084,15085,15087,15089,15091],{"class":986,"line":1241},[984,15086,1534],{"class":996},[984,15088,1015],{"class":990},[984,15090,1539],{"class":996},[984,15092,1021],{"class":990},[984,15094,15095,15097,15099,15102],{"class":986,"line":1254},[984,15096,13098],{"class":996},[984,15098,1738],{"class":990},[984,15100,15101],{"class":996},"1551100217",[984,15103,1021],{"class":990},[984,15105,15106,15109,15111,15113],{"class":986,"line":1266},[984,15107,15108],{"class":996},"        \"income\"",[984,15110,1738],{"class":990},[984,15112,5089],{"class":996},[984,15114,1021],{"class":990},[984,15116,15117,15120,15122,15125],{"class":986,"line":1279},[984,15118,15119],{"class":996},"        \"sender_identity\"",[984,15121,1015],{"class":990},[984,15123,15124],{"class":1003},"\"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\"",[984,15126,1021],{"class":990},[984,15128,15129,15132,15134,15136],{"class":986,"line":1291},[984,15130,15131],{"class":996},"        \"receiver_identity\"",[984,15133,1015],{"class":990},[984,15135,13182],{"class":1003},[984,15137,1021],{"class":990},[984,15139,15140,15143,15145],{"class":986,"line":1304},[984,15141,15142],{"class":996},"        \"token\"",[984,15144,1015],{"class":990},[984,15146,15147],{"class":1003},"\"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n",[984,15149,15150],{"class":986,"line":1316},[984,15151,15152],{"class":990},"    } \n",[984,15154,15155],{"class":986,"line":1327},[984,15156,1038],{"class":990},[26,15158,12337],{"id":12337},[11,15160,15161],{},"Get the transactions list.",[11,15163,15164],{},[150,15165,975],{},[866,15167,15169],{"className":978,"code":15168,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"tx_list\",\n    \"params\":\n    {\n        \"filter\" : \n        {\n            \"status\":4,\n            \"height\":1055,\n        },\n        \"skip\" : 0,\n        \"count\" : 10\n    }\n}\n",[150,15170,15171,15175,15185,15195,15206,15212,15216,15223,15227,15238,15250,15255,15266,15276,15280],{"__ignoreMap":760},[984,15172,15173],{"class":986,"line":987},[984,15174,991],{"class":990},[984,15176,15177,15179,15181,15183],{"class":986,"line":761},[984,15178,997],{"class":996},[984,15180,1000],{"class":990},[984,15182,1004],{"class":1003},[984,15184,1007],{"class":990},[984,15186,15187,15189,15191,15193],{"class":986,"line":772},[984,15188,1012],{"class":996},[984,15190,1015],{"class":990},[984,15192,12972],{"class":996},[984,15194,1021],{"class":990},[984,15196,15197,15199,15201,15204],{"class":986,"line":1024},[984,15198,1027],{"class":996},[984,15200,1000],{"class":990},[984,15202,15203],{"class":1003},"\"tx_list\"",[984,15205,1021],{"class":990},[984,15207,15208,15210],{"class":986,"line":1035},[984,15209,1521],{"class":996},[984,15211,1524],{"class":990},[984,15213,15214],{"class":986,"line":1098},[984,15215,1529],{"class":990},[984,15217,15218,15221],{"class":986,"line":1111},[984,15219,15220],{"class":996},"        \"filter\"",[984,15222,5895],{"class":990},[984,15224,15225],{"class":986,"line":1124},[984,15226,8410],{"class":990},[984,15228,15229,15232,15234,15236],{"class":986,"line":1137},[984,15230,15231],{"class":996},"            \"status\"",[984,15233,1000],{"class":990},[984,15235,2431],{"class":996},[984,15237,1021],{"class":990},[984,15239,15240,15243,15245,15248],{"class":986,"line":1150},[984,15241,15242],{"class":996},"            \"height\"",[984,15244,1000],{"class":990},[984,15246,15247],{"class":996},"1055",[984,15249,1021],{"class":990},[984,15251,15252],{"class":986,"line":1163},[984,15253,15254],{"class":990},"        },\n",[984,15256,15257,15260,15262,15264],{"class":986,"line":1176},[984,15258,15259],{"class":996},"        \"skip\"",[984,15261,1738],{"class":990},[984,15263,1171],{"class":996},[984,15265,1021],{"class":990},[984,15267,15268,15271,15273],{"class":986,"line":1189},[984,15269,15270],{"class":996},"        \"count\"",[984,15272,1738],{"class":990},[984,15274,15275],{"class":996},"10\n",[984,15277,15278],{"class":986,"line":1202},[984,15279,1607],{"class":990},[984,15281,15282],{"class":986,"line":1211},[984,15283,1038],{"class":990},[89,15285,15286,15292,15298,15303],{},[54,15287,15288,15291],{},[150,15289,15290],{},"filter.status"," optional, filter transactions by status",[54,15293,15294,15297],{},[150,15295,15296],{},"filter.height"," optional, filter transactions by height. For simple, asset issue and asset consume transactions denotes height when the transaction was registered in the chain. For asset info transaction means height at which asset confirmation was received. Works only for transactions with status Completed(3).",[54,15299,15300,15302],{},[150,15301,6846],{}," optional, number of transactions to get. By default, all transactions are returned.",[54,15304,15305,15308],{},[150,15306,15307],{},"skip"," number of transactions to skip, 0 by default.",[11,15310,15311,15312,4316],{},"If assets are not enabled, the method returns only BEAM transactions. To get asset transactions you should enable assets (",[150,15313,948],{},[89,15315,15316],{},[54,15317,15318,15321,15322,15324],{},[150,15319,15320],{},"filter.asset_id"," return only asset transactions with given asset id. Present starting from v5.0. If assets are not enabled and ",[150,15323,15320],{}," is non-zero nothing would be returned.",[11,15326,15327],{},[150,15328,1043],{},[866,15330,15332],{"className":978,"code":15331,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"result\":\n    [{ \n        \"asset_id\": 0,\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"comment\": \"\",\n        \"fee\": 0,\n        \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n        \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"status\": 4,\n        \"status_string\" : \"Failed\",\n        \"failure_reason\" : \"No inputs\",\n        \"value\": 12342342,\n        \"create_time\" : 1551100217,\n        \"income\" : false,\n        \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n    },\n    {\n      \"asset_id\": 1,\n      \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n      \"comment\": \"\",\n      \"confirmations\": 102,\n      \"create_time\": 1586995332,\n      \"fee\": 0,\n      \"height\": 1908,\n      \"income\": false,\n      \"receiver\": \"0\",\n      \"sender\": \"0\",\n      \"status\": 3,\n      \"status_string\": \"asset confirmed\",\n      \"txId\": \"d9f94306127a4ef894733f984b5512cf\",\n      \"tx_type\": 6,\n      \"tx_type_string\": \"asset info\",\n      \"value\": 0\n    },\n    {\n        \"asset_id\": 1,\n        \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n        \"comment\": \"\",\n        \"confirmations\": 1985,\n        \"height\": 25,\n        \"create_time\": 1586966478,\n        \"fee\": 100,\n        \"income\": false,\n        \"kernel\": \"1c9e4a9a61df1dda00db10ab4477f88355e13d4ed06c0db36c39b22a2a66f642\",\n        \"receiver\": \"0\",\n        \"sender\": \"0\",\n        \"status\": 3,\n        \"status_string\": \"asset issued\",\n        \"txId\": \"77008a76aa4b4da697587040b2d21f1e\",\n        \"tx_type\": 2,\n        \"tx_type_string\": \"asset issue\",\n        \"value\": 500000000\n    }]\n}\n",[150,15333,15334,15338,15348,15358,15364,15369,15379,15389,15399,15409,15419,15429,15439,15449,15459,15469,15479,15489,15499,15507,15512,15516,15527,15539,15550,15562,15574,15584,15596,15607,15618,15629,15640,15652,15664,15675,15687,15697,15701,15705,15715,15726,15736,15748,15760,15771,15781,15791,15802,15812,15822,15832,15843,15854,15864,15875,15884,15889],{"__ignoreMap":760},[984,15335,15336],{"class":986,"line":987},[984,15337,991],{"class":990},[984,15339,15340,15342,15344,15346],{"class":986,"line":761},[984,15341,997],{"class":996},[984,15343,1000],{"class":990},[984,15345,1004],{"class":1003},[984,15347,1007],{"class":990},[984,15349,15350,15352,15354,15356],{"class":986,"line":772},[984,15351,1012],{"class":996},[984,15353,1015],{"class":990},[984,15355,12972],{"class":996},[984,15357,1021],{"class":990},[984,15359,15360,15362],{"class":986,"line":1024},[984,15361,1724],{"class":996},[984,15363,1524],{"class":990},[984,15365,15366],{"class":986,"line":1035},[984,15367,15368],{"class":990},"    [{ \n",[984,15370,15371,15373,15375,15377],{"class":986,"line":1098},[984,15372,1220],{"class":996},[984,15374,1015],{"class":990},[984,15376,1171],{"class":996},[984,15378,1021],{"class":990},[984,15380,15381,15383,15385,15387],{"class":986,"line":1111},[984,15382,1735],{"class":996},[984,15384,1738],{"class":990},[984,15386,14895],{"class":1003},[984,15388,1021],{"class":990},[984,15390,15391,15393,15395,15397],{"class":986,"line":1124},[984,15392,1580],{"class":996},[984,15394,1015],{"class":990},[984,15396,13091],{"class":1003},[984,15398,1021],{"class":990},[984,15400,15401,15403,15405,15407],{"class":986,"line":1137},[984,15402,1546],{"class":996},[984,15404,1015],{"class":990},[984,15406,1171],{"class":996},[984,15408,1021],{"class":990},[984,15410,15411,15413,15415,15417],{"class":986,"line":1150},[984,15412,14994],{"class":996},[984,15414,1015],{"class":990},[984,15416,14999],{"class":1003},[984,15418,1021],{"class":990},[984,15420,15421,15423,15425,15427],{"class":986,"line":1163},[984,15422,15006],{"class":996},[984,15424,1015],{"class":990},[984,15426,1562],{"class":1003},[984,15428,1021],{"class":990},[984,15430,15431,15433,15435,15437],{"class":986,"line":1176},[984,15432,15017],{"class":996},[984,15434,1015],{"class":990},[984,15436,15022],{"class":1003},[984,15438,1021],{"class":990},[984,15440,15441,15443,15445,15447],{"class":986,"line":1189},[984,15442,15029],{"class":996},[984,15444,1015],{"class":990},[984,15446,2431],{"class":996},[984,15448,1021],{"class":990},[984,15450,15451,15453,15455,15457],{"class":986,"line":1202},[984,15452,15040],{"class":996},[984,15454,1738],{"class":990},[984,15456,15045],{"class":1003},[984,15458,1021],{"class":990},[984,15460,15461,15463,15465,15467],{"class":986,"line":1211},[984,15462,15075],{"class":996},[984,15464,1738],{"class":990},[984,15466,15080],{"class":1003},[984,15468,1021],{"class":990},[984,15470,15471,15473,15475,15477],{"class":986,"line":1217},[984,15472,1534],{"class":996},[984,15474,1015],{"class":990},[984,15476,1539],{"class":996},[984,15478,1021],{"class":990},[984,15480,15481,15483,15485,15487],{"class":986,"line":1229},[984,15482,13098],{"class":996},[984,15484,1738],{"class":990},[984,15486,15101],{"class":996},[984,15488,1021],{"class":990},[984,15490,15491,15493,15495,15497],{"class":986,"line":1241},[984,15492,15108],{"class":996},[984,15494,1738],{"class":990},[984,15496,5089],{"class":996},[984,15498,1021],{"class":990},[984,15500,15501,15503,15505],{"class":986,"line":1254},[984,15502,15142],{"class":996},[984,15504,1015],{"class":990},[984,15506,15147],{"class":1003},[984,15508,15509],{"class":986,"line":1266},[984,15510,15511],{"class":990},"    },\n",[984,15513,15514],{"class":986,"line":1279},[984,15515,1529],{"class":990},[984,15517,15518,15521,15523,15525],{"class":986,"line":1291},[984,15519,15520],{"class":996},"      \"asset_id\"",[984,15522,1015],{"class":990},[984,15524,1345],{"class":996},[984,15526,1021],{"class":990},[984,15528,15529,15532,15534,15537],{"class":986,"line":1304},[984,15530,15531],{"class":996},"      \"asset_meta\"",[984,15533,1015],{"class":990},[984,15535,15536],{"class":1003},"\"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\"",[984,15538,1021],{"class":990},[984,15540,15541,15544,15546,15548],{"class":986,"line":1316},[984,15542,15543],{"class":996},"      \"comment\"",[984,15545,1015],{"class":990},[984,15547,13091],{"class":1003},[984,15549,1021],{"class":990},[984,15551,15552,15555,15557,15560],{"class":986,"line":1327},[984,15553,15554],{"class":996},"      \"confirmations\"",[984,15556,1015],{"class":990},[984,15558,15559],{"class":996},"102",[984,15561,1021],{"class":990},[984,15563,15564,15567,15569,15572],{"class":986,"line":1333},[984,15565,15566],{"class":996},"      \"create_time\"",[984,15568,1015],{"class":990},[984,15570,15571],{"class":996},"1586995332",[984,15573,1021],{"class":990},[984,15575,15576,15578,15580,15582],{"class":986,"line":1338},[984,15577,6656],{"class":996},[984,15579,1015],{"class":990},[984,15581,1171],{"class":996},[984,15583,1021],{"class":990},[984,15585,15586,15589,15591,15594],{"class":986,"line":1355},[984,15587,15588],{"class":996},"      \"height\"",[984,15590,1015],{"class":990},[984,15592,15593],{"class":996},"1908",[984,15595,1021],{"class":990},[984,15597,15598,15601,15603,15605],{"class":986,"line":1367},[984,15599,15600],{"class":996},"      \"income\"",[984,15602,1015],{"class":990},[984,15604,5089],{"class":996},[984,15606,1021],{"class":990},[984,15608,15609,15612,15614,15616],{"class":986,"line":1379},[984,15610,15611],{"class":996},"      \"receiver\"",[984,15613,1015],{"class":990},[984,15615,1397],{"class":1003},[984,15617,1021],{"class":990},[984,15619,15620,15623,15625,15627],{"class":986,"line":1390},[984,15621,15622],{"class":996},"      \"sender\"",[984,15624,1015],{"class":990},[984,15626,1397],{"class":1003},[984,15628,1021],{"class":990},[984,15630,15631,15634,15636,15638],{"class":986,"line":1402},[984,15632,15633],{"class":996},"      \"status\"",[984,15635,1015],{"class":990},[984,15637,5131],{"class":996},[984,15639,1021],{"class":990},[984,15641,15642,15645,15647,15650],{"class":986,"line":1413},[984,15643,15644],{"class":996},"      \"status_string\"",[984,15646,1015],{"class":990},[984,15648,15649],{"class":1003},"\"asset confirmed\"",[984,15651,1021],{"class":990},[984,15653,15654,15657,15659,15662],{"class":986,"line":1424},[984,15655,15656],{"class":996},"      \"txId\"",[984,15658,1015],{"class":990},[984,15660,15661],{"class":1003},"\"d9f94306127a4ef894733f984b5512cf\"",[984,15663,1021],{"class":990},[984,15665,15666,15669,15671,15673],{"class":986,"line":1435},[984,15667,15668],{"class":996},"      \"tx_type\"",[984,15670,1015],{"class":990},[984,15672,1018],{"class":996},[984,15674,1021],{"class":990},[984,15676,15677,15680,15682,15685],{"class":986,"line":1444},[984,15678,15679],{"class":996},"      \"tx_type_string\"",[984,15681,1015],{"class":990},[984,15683,15684],{"class":1003},"\"asset info\"",[984,15686,1021],{"class":990},[984,15688,15689,15692,15694],{"class":986,"line":1450},[984,15690,15691],{"class":996},"      \"value\"",[984,15693,1015],{"class":990},[984,15695,15696],{"class":996},"0\n",[984,15698,15699],{"class":986,"line":1456},[984,15700,15511],{"class":990},[984,15702,15703],{"class":986,"line":1462},[984,15704,1529],{"class":990},[984,15706,15707,15709,15711,15713],{"class":986,"line":7201},[984,15708,1220],{"class":996},[984,15710,1015],{"class":990},[984,15712,1345],{"class":996},[984,15714,1021],{"class":990},[984,15716,15717,15720,15722,15724],{"class":986,"line":7206},[984,15718,15719],{"class":996},"        \"asset_meta\"",[984,15721,1015],{"class":990},[984,15723,15536],{"class":1003},[984,15725,1021],{"class":990},[984,15727,15728,15730,15732,15734],{"class":986,"line":7218},[984,15729,1580],{"class":996},[984,15731,1015],{"class":990},[984,15733,13091],{"class":1003},[984,15735,1021],{"class":990},[984,15737,15738,15741,15743,15746],{"class":986,"line":7229},[984,15739,15740],{"class":996},"        \"confirmations\"",[984,15742,1015],{"class":990},[984,15744,15745],{"class":996},"1985",[984,15747,1021],{"class":990},[984,15749,15750,15753,15755,15758],{"class":986,"line":7241},[984,15751,15752],{"class":996},"        \"height\"",[984,15754,1015],{"class":990},[984,15756,15757],{"class":996},"25",[984,15759,1021],{"class":990},[984,15761,15762,15764,15766,15769],{"class":986,"line":7252},[984,15763,13098],{"class":996},[984,15765,1015],{"class":990},[984,15767,15768],{"class":996},"1586966478",[984,15770,1021],{"class":990},[984,15772,15773,15775,15777,15779],{"class":986,"line":7262},[984,15774,1546],{"class":996},[984,15776,1015],{"class":990},[984,15778,4979],{"class":996},[984,15780,1021],{"class":990},[984,15782,15783,15785,15787,15789],{"class":986,"line":7267},[984,15784,15108],{"class":996},[984,15786,1015],{"class":990},[984,15788,5089],{"class":996},[984,15790,1021],{"class":990},[984,15792,15793,15795,15797,15800],{"class":986,"line":7272},[984,15794,14994],{"class":996},[984,15796,1015],{"class":990},[984,15798,15799],{"class":1003},"\"1c9e4a9a61df1dda00db10ab4477f88355e13d4ed06c0db36c39b22a2a66f642\"",[984,15801,1021],{"class":990},[984,15803,15804,15806,15808,15810],{"class":986,"line":7279},[984,15805,15006],{"class":996},[984,15807,1015],{"class":990},[984,15809,1397],{"class":1003},[984,15811,1021],{"class":990},[984,15813,15814,15816,15818,15820],{"class":986,"line":7284},[984,15815,15017],{"class":996},[984,15817,1015],{"class":990},[984,15819,1397],{"class":1003},[984,15821,1021],{"class":990},[984,15823,15824,15826,15828,15830],{"class":986,"line":7295},[984,15825,15029],{"class":996},[984,15827,1015],{"class":990},[984,15829,5131],{"class":996},[984,15831,1021],{"class":990},[984,15833,15834,15836,15838,15841],{"class":986,"line":7307},[984,15835,15040],{"class":996},[984,15837,1015],{"class":990},[984,15839,15840],{"class":1003},"\"asset issued\"",[984,15842,1021],{"class":990},[984,15844,15845,15847,15849,15852],{"class":986,"line":7318},[984,15846,1735],{"class":996},[984,15848,1015],{"class":990},[984,15850,15851],{"class":1003},"\"77008a76aa4b4da697587040b2d21f1e\"",[984,15853,1021],{"class":990},[984,15855,15856,15858,15860,15862],{"class":986,"line":7328},[984,15857,15052],{"class":996},[984,15859,1015],{"class":990},[984,15861,1503],{"class":996},[984,15863,1021],{"class":990},[984,15865,15866,15868,15870,15873],{"class":986,"line":7333},[984,15867,15063],{"class":996},[984,15869,1015],{"class":990},[984,15871,15872],{"class":1003},"\"asset issue\"",[984,15874,1021],{"class":990},[984,15876,15877,15879,15881],{"class":986,"line":7338},[984,15878,1534],{"class":996},[984,15880,1015],{"class":990},[984,15882,15883],{"class":996},"500000000\n",[984,15885,15886],{"class":986,"line":7350},[984,15887,15888],{"class":990},"    }]\n",[984,15890,15891],{"class":986,"line":7361},[984,15892,1038],{"class":990},[89,15894,15895,15901,15909,15914,15923,15932,15937,15943,15949,15954,15959],{},[54,15896,15897,15900],{},[150,15898,15899],{},"token"," retuned only in case if the transaction was started with a token.",[54,15902,15903,163,15905,15908],{},[150,15904,6545],{},[150,15906,15907],{},"confirmations"," will be absent if the transaction isn't in the chain for simple, asset issue & asset consume transactions, or if asset confirmation is not received for asset info transaction.",[54,15910,15911,15913],{},[150,15912,15907],{}," the number of blocks which confirm the presence of the transaction.",[54,15915,15916,163,15919,15922],{},[150,15917,15918],{},"sender_identity",[150,15920,15921],{},"receiver_identity"," are present if both participants provided these.",[54,15924,15925,15928,15929,15931],{},[150,15926,15927],{},"status_string"," is a string representation of ",[150,15930,6390],{}," parameter.",[54,15933,15934,15936],{},[150,15935,14141],{}," is an asset metadata string. Present from v5.0.",[54,15938,15939,15942],{},[150,15940,15941],{},"tx_type"," is present starting from v5.0.",[54,15944,15945,15948],{},[150,15946,15947],{},"tx_type_string"," is a string representation of tx_type parameter. Present starting from v5.0.",[54,15950,15951,15953],{},[150,15952,848],{}," is returned starting from v5.0. For BEAM transactions it is always 0, for transactions that involve assets (including send\u002Freceive) it is an asset id. Can be 0 for asset info transaction if the transaction was started with asset_meta and the asset has been not found.",[54,15955,15956,15958],{},[150,15957,14141],{}," is an asset metadata string. Returned starting from v5.0. Always present for asset issue &  consume transactions. Can be empty for asset info transaction if it was started with asset_id and the asset has been not found.",[54,15960,15961,15963],{},[150,15962,6551],{}," is not returned for asset info transactions. These transactions do not have any kernel and only query node for information.",[716,15965,15967],{"id":15966},"important-the-recommended-number-of-confirmations-for-beam-transfers-is-80-blocks","IMPORTANT: The recommended number of confirmations for Beam transfers is 80 blocks.",[716,15969,15971],{"id":15970},"tx-statuses","TX statuses",[89,15973,15974,15981,15997,16004,16025,16035],{},[54,15975,15976,15977,15980],{},"pending (0)     - ",[150,15978,15979],{},"pending"," initial state, the transaction is created, but not sent yet",[54,15982,15983,15984,4665,15987,4665,15990,4665,15993,15996],{},"in progress (1) - ",[150,15985,15986],{},"self sending",[150,15988,15989],{},"waiting for sender",[150,15991,15992],{},"waiting for receiver",[150,15994,15995],{},"in progress",". For simple transactions indicates that the sender or receiver should come online to initiate the transaction. For asset issue\u002Fconsume\u002Finfo transactions indicates that transaction is being assembled. For asset info transaction means waiting for node response.",[54,15998,15999,16000,16003],{},"canceled (2)    - ",[150,16001,16002],{},"cancelled"," by sender or due to rollback",[54,16005,16006,16007,4665,16010,4665,16013,4665,16016,4665,16019,4665,16022],{},"completed (3)   - transaction is ",[150,16008,16009],{},"completed",[150,16011,16012],{},"received",[150,16014,16015],{},"sent",[150,16017,16018],{},"asset issued",[150,16020,16021],{},"asset consumed",[150,16023,16024],{},"asset confirmed",[54,16026,16027,16028,16031,16032],{},"failed (4)      - ",[150,16029,16030],{},"failed"," for some reason or ",[150,16033,16034],{},"expired",[54,16036,16037,16038,4665,16040,4665,16043,4665,16046,16048],{},"registering (5) - ",[150,16039,15986],{},[150,16041,16042],{},"receiving",[150,16044,16045],{},"sending",[150,16047,15995],{}," transaction is taken care by the blockchain, miners needs to PoW and to add it to a block, then block should be added to the blockchain.",[716,16050,16052],{"id":16051},"tx-types","TX types",[89,16054,16055,16058,16061,16064,16067,16070,16073,16076,16079],{},[54,16056,16057],{},"simple (0) - simple transaction, send\u002Freceive BEAM or asset",[54,16059,16060],{},"reserved (1) - currently not returned",[54,16062,16063],{},"asset issue (2) - issue new asset units",[54,16065,16066],{},"asset consume (3) - consume asset units",[54,16068,16069],{},"reserved (4) - currently not returned",[54,16071,16072],{},"reserved (5) - currently not returned",[54,16074,16075],{},"asset info (6) - asset info transaction, receive full asset information from blockchain",[54,16077,16078],{},"push transaction (7) - lelantus push transaction, is used for offline\u002Fmax privacy payments",[54,16080,16081],{},"contract (12) - starting with v6.0, transaction created by contract request, or to fund or execute node-base contract invocation",[11,16083,16084,16087],{},[94,16085,16086],{},"N.B."," tx_list does not return swap, asset register & asset unregister transactions. Transactions are sorted by height in a descending order.",[26,16089,883],{"id":883},[11,16091,16092],{},"Get current wallet status.",[11,16094,16095],{},[150,16096,975],{},[866,16098,16099],{"className":978,"code":979,"language":980,"meta":760,"style":760},[150,16100,16101,16105,16115,16125,16133],{"__ignoreMap":760},[984,16102,16103],{"class":986,"line":987},[984,16104,991],{"class":990},[984,16106,16107,16109,16111,16113],{"class":986,"line":761},[984,16108,997],{"class":996},[984,16110,1000],{"class":990},[984,16112,1004],{"class":1003},[984,16114,1007],{"class":990},[984,16116,16117,16119,16121,16123],{"class":986,"line":772},[984,16118,1012],{"class":996},[984,16120,1015],{"class":990},[984,16122,1018],{"class":996},[984,16124,1021],{"class":990},[984,16126,16127,16129,16131],{"class":986,"line":1024},[984,16128,1027],{"class":996},[984,16130,1000],{"class":990},[984,16132,1032],{"class":1003},[984,16134,16135],{"class":986,"line":1035},[984,16136,1038],{"class":990},[11,16138,16139],{},[150,16140,1043],{},[866,16142,16144],{"className":978,"code":16143,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"result\":\n    {\n        \"current_height\" : 1055,\n        \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n        \"available\": 100500,\n        \"receiving\": 123,\n        \"sending\": 0,\n        \"maturing\": 50,\n        \"locked\": 30,\n        \"difficulty\": 2.93914,\n    }\n}\n",[150,16145,16146,16150,16160,16170,16176,16180,16191,16202,16214,16225,16235,16245,16256,16267,16279,16283],{"__ignoreMap":760},[984,16147,16148],{"class":986,"line":987},[984,16149,991],{"class":990},[984,16151,16152,16154,16156,16158],{"class":986,"line":761},[984,16153,997],{"class":996},[984,16155,1000],{"class":990},[984,16157,1004],{"class":1003},[984,16159,1007],{"class":990},[984,16161,16162,16164,16166,16168],{"class":986,"line":772},[984,16163,1012],{"class":996},[984,16165,1015],{"class":990},[984,16167,1018],{"class":996},[984,16169,1021],{"class":990},[984,16171,16172,16174],{"class":986,"line":1024},[984,16173,1724],{"class":996},[984,16175,1524],{"class":990},[984,16177,16178],{"class":986,"line":1035},[984,16179,1529],{"class":990},[984,16181,16182,16185,16187,16189],{"class":986,"line":1098},[984,16183,16184],{"class":996},"        \"current_height\"",[984,16186,1738],{"class":990},[984,16188,15247],{"class":996},[984,16190,1021],{"class":990},[984,16192,16193,16196,16198,16200],{"class":986,"line":1111},[984,16194,16195],{"class":996},"        \"current_state_hash\"",[984,16197,1738],{"class":990},[984,16199,15022],{"class":1003},[984,16201,1021],{"class":990},[984,16203,16204,16207,16209,16212],{"class":986,"line":1124},[984,16205,16206],{"class":996},"        \"prev_state_hash\"",[984,16208,1738],{"class":990},[984,16210,16211],{"class":1003},"\"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\"",[984,16213,1021],{"class":990},[984,16215,16216,16218,16220,16223],{"class":986,"line":1137},[984,16217,1232],{"class":996},[984,16219,1015],{"class":990},[984,16221,16222],{"class":996},"100500",[984,16224,1021],{"class":990},[984,16226,16227,16229,16231,16233],{"class":986,"line":1150},[984,16228,1282],{"class":996},[984,16230,1015],{"class":990},[984,16232,1158],{"class":996},[984,16234,1021],{"class":990},[984,16236,16237,16239,16241,16243],{"class":986,"line":1163},[984,16238,1307],{"class":996},[984,16240,1015],{"class":990},[984,16242,1171],{"class":996},[984,16244,1021],{"class":990},[984,16246,16247,16249,16251,16254],{"class":986,"line":1176},[984,16248,1257],{"class":996},[984,16250,1015],{"class":990},[984,16252,16253],{"class":996},"50",[984,16255,1021],{"class":990},[984,16257,16258,16261,16263,16265],{"class":986,"line":1189},[984,16259,16260],{"class":996},"        \"locked\"",[984,16262,1015],{"class":990},[984,16264,1197],{"class":996},[984,16266,1021],{"class":990},[984,16268,16269,16272,16274,16277],{"class":986,"line":1202},[984,16270,16271],{"class":996},"        \"difficulty\"",[984,16273,1015],{"class":990},[984,16275,16276],{"class":996},"2.93914",[984,16278,1021],{"class":990},[984,16280,16281],{"class":986,"line":1211},[984,16282,1607],{"class":990},[984,16284,16285],{"class":986,"line":1217},[984,16286,1038],{"class":990},[89,16288,16289,16294,16300,16305,16311],{},[54,16290,16291,16293],{},[150,16292,12157],{}," sum of available UTXOs you can spend",[54,16295,16296,16299],{},[150,16297,16298],{},"sending\u002Freceiving"," sum of UTXOs currently sending\u002Freceiving",[54,16301,16302,16304],{},[150,16303,12160],{}," sum of UTXOs currently maturing",[54,16306,16307,16310],{},[150,16308,16309],{},"locked"," not used at the moment, ignore",[54,16312,16313,16315],{},[150,16314,10335],{}," the latest blockchain PoW difficulty",[11,16317,16318,16319,4316],{},"Starting from v5.0 assets support has been added. This slightly changes API response: totals array is added which provides amounts for each assets including BEAM (asset id 0). To get the totals array assets should be enabled (",[150,16320,948],{},[11,16322,16323],{},[150,16324,975],{},[866,16326,16327],{"className":978,"code":979,"language":980,"meta":760,"style":760},[150,16328,16329,16333,16343,16353,16361],{"__ignoreMap":760},[984,16330,16331],{"class":986,"line":987},[984,16332,991],{"class":990},[984,16334,16335,16337,16339,16341],{"class":986,"line":761},[984,16336,997],{"class":996},[984,16338,1000],{"class":990},[984,16340,1004],{"class":1003},[984,16342,1007],{"class":990},[984,16344,16345,16347,16349,16351],{"class":986,"line":772},[984,16346,1012],{"class":996},[984,16348,1015],{"class":990},[984,16350,1018],{"class":996},[984,16352,1021],{"class":990},[984,16354,16355,16357,16359],{"class":986,"line":1024},[984,16356,1027],{"class":996},[984,16358,1000],{"class":990},[984,16360,1032],{"class":1003},[984,16362,16363],{"class":986,"line":1035},[984,16364,1038],{"class":990},[11,16366,16367],{},[150,16368,1043],{},[866,16370,16372],{"className":978,"code":16371,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\" : 1055,\n    \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n    \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n    \"available\": 100500,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 50,\n    \"difficulty\": 2.93914,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 100500,\n        \"available_str\": \"100500\",\n        \"maturing\": 50,\n        \"maturing_str\": \"50\",\n        \"receiving\": 123,\n        \"receiving_str\": \"123\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[150,16373,16374,16378,16388,16398,16404,16414,16424,16434,16444,16454,16464,16474,16484,16490,16494,16504,16514,16525,16535,16546,16556,16566,16576,16584,16588,16592,16602,16612,16622,16632,16642,16652,16662,16672,16680,16684,16688,16692],{"__ignoreMap":760},[984,16375,16376],{"class":986,"line":987},[984,16377,991],{"class":990},[984,16379,16380,16382,16384,16386],{"class":986,"line":761},[984,16381,1057],{"class":996},[984,16383,1015],{"class":990},[984,16385,1062],{"class":996},[984,16387,1021],{"class":990},[984,16389,16390,16392,16394,16396],{"class":986,"line":772},[984,16391,1069],{"class":996},[984,16393,1015],{"class":990},[984,16395,1004],{"class":1003},[984,16397,1021],{"class":990},[984,16399,16400,16402],{"class":986,"line":1024},[984,16401,1080],{"class":996},[984,16403,1083],{"class":990},[984,16405,16406,16408,16410,16412],{"class":986,"line":1035},[984,16407,1088],{"class":996},[984,16409,1738],{"class":990},[984,16411,15247],{"class":996},[984,16413,1021],{"class":990},[984,16415,16416,16418,16420,16422],{"class":986,"line":1098},[984,16417,1101],{"class":996},[984,16419,1738],{"class":990},[984,16421,15022],{"class":1003},[984,16423,1021],{"class":990},[984,16425,16426,16428,16430,16432],{"class":986,"line":1111},[984,16427,1127],{"class":996},[984,16429,1738],{"class":990},[984,16431,16211],{"class":1003},[984,16433,1021],{"class":990},[984,16435,16436,16438,16440,16442],{"class":986,"line":1124},[984,16437,1140],{"class":996},[984,16439,1015],{"class":990},[984,16441,16222],{"class":996},[984,16443,1021],{"class":990},[984,16445,16446,16448,16450,16452],{"class":986,"line":1137},[984,16447,1153],{"class":996},[984,16449,1015],{"class":990},[984,16451,1158],{"class":996},[984,16453,1021],{"class":990},[984,16455,16456,16458,16460,16462],{"class":986,"line":1150},[984,16457,1166],{"class":996},[984,16459,1015],{"class":990},[984,16461,1171],{"class":996},[984,16463,1021],{"class":990},[984,16465,16466,16468,16470,16472],{"class":986,"line":1163},[984,16467,1179],{"class":996},[984,16469,1015],{"class":990},[984,16471,16253],{"class":996},[984,16473,1021],{"class":990},[984,16475,16476,16478,16480,16482],{"class":986,"line":1176},[984,16477,1114],{"class":996},[984,16479,1015],{"class":990},[984,16481,16276],{"class":996},[984,16483,1021],{"class":990},[984,16485,16486,16488],{"class":986,"line":1189},[984,16487,1205],{"class":996},[984,16489,1208],{"class":990},[984,16491,16492],{"class":986,"line":1202},[984,16493,1214],{"class":990},[984,16495,16496,16498,16500,16502],{"class":986,"line":1211},[984,16497,1220],{"class":996},[984,16499,1015],{"class":990},[984,16501,1171],{"class":996},[984,16503,1021],{"class":990},[984,16505,16506,16508,16510,16512],{"class":986,"line":1217},[984,16507,1232],{"class":996},[984,16509,1015],{"class":990},[984,16511,16222],{"class":996},[984,16513,1021],{"class":990},[984,16515,16516,16518,16520,16523],{"class":986,"line":1229},[984,16517,1244],{"class":996},[984,16519,1015],{"class":990},[984,16521,16522],{"class":1003},"\"100500\"",[984,16524,1021],{"class":990},[984,16526,16527,16529,16531,16533],{"class":986,"line":1241},[984,16528,1257],{"class":996},[984,16530,1015],{"class":990},[984,16532,16253],{"class":996},[984,16534,1021],{"class":990},[984,16536,16537,16539,16541,16544],{"class":986,"line":1254},[984,16538,1269],{"class":996},[984,16540,1015],{"class":990},[984,16542,16543],{"class":1003},"\"50\"",[984,16545,1021],{"class":990},[984,16547,16548,16550,16552,16554],{"class":986,"line":1266},[984,16549,1282],{"class":996},[984,16551,1015],{"class":990},[984,16553,1158],{"class":996},[984,16555,1021],{"class":990},[984,16557,16558,16560,16562,16564],{"class":986,"line":1279},[984,16559,1294],{"class":996},[984,16561,1015],{"class":990},[984,16563,1299],{"class":1003},[984,16565,1021],{"class":990},[984,16567,16568,16570,16572,16574],{"class":986,"line":1291},[984,16569,1307],{"class":996},[984,16571,1015],{"class":990},[984,16573,1171],{"class":996},[984,16575,1021],{"class":990},[984,16577,16578,16580,16582],{"class":986,"line":1304},[984,16579,1319],{"class":996},[984,16581,1015],{"class":990},[984,16583,1324],{"class":1003},[984,16585,16586],{"class":986,"line":1316},[984,16587,1330],{"class":990},[984,16589,16590],{"class":986,"line":1327},[984,16591,1214],{"class":990},[984,16593,16594,16596,16598,16600],{"class":986,"line":1333},[984,16595,1220],{"class":996},[984,16597,1015],{"class":990},[984,16599,1345],{"class":996},[984,16601,1021],{"class":990},[984,16603,16604,16606,16608,16610],{"class":986,"line":1338},[984,16605,1232],{"class":996},[984,16607,1015],{"class":990},[984,16609,1362],{"class":996},[984,16611,1021],{"class":990},[984,16613,16614,16616,16618,16620],{"class":986,"line":1355},[984,16615,1244],{"class":996},[984,16617,1015],{"class":990},[984,16619,1374],{"class":1003},[984,16621,1021],{"class":990},[984,16623,16624,16626,16628,16630],{"class":986,"line":1367},[984,16625,1257],{"class":996},[984,16627,1015],{"class":990},[984,16629,1171],{"class":996},[984,16631,1021],{"class":990},[984,16633,16634,16636,16638,16640],{"class":986,"line":1379},[984,16635,1269],{"class":996},[984,16637,1015],{"class":990},[984,16639,1397],{"class":1003},[984,16641,1021],{"class":990},[984,16643,16644,16646,16648,16650],{"class":986,"line":1390},[984,16645,1282],{"class":996},[984,16647,1015],{"class":990},[984,16649,1171],{"class":996},[984,16651,1021],{"class":990},[984,16653,16654,16656,16658,16660],{"class":986,"line":1402},[984,16655,1294],{"class":996},[984,16657,1015],{"class":990},[984,16659,1397],{"class":1003},[984,16661,1021],{"class":990},[984,16663,16664,16666,16668,16670],{"class":986,"line":1413},[984,16665,1307],{"class":996},[984,16667,1015],{"class":990},[984,16669,1171],{"class":996},[984,16671,1021],{"class":990},[984,16673,16674,16676,16678],{"class":986,"line":1424},[984,16675,1319],{"class":996},[984,16677,1015],{"class":990},[984,16679,1324],{"class":1003},[984,16681,16682],{"class":986,"line":1435},[984,16683,1447],{"class":990},[984,16685,16686],{"class":986,"line":1444},[984,16687,1453],{"class":990},[984,16689,16690],{"class":986,"line":1450},[984,16691,1459],{"class":990},[984,16693,16694],{"class":986,"line":1456},[984,16695,1038],{"class":990},[89,16697,16698],{},[54,16699,16700,12120,16702],{},[150,16701,12119],{},[89,16703,16704,16706,16708],{},[54,16705,12125],{},[54,16707,12128],{},[54,16709,12131],{},[11,16711,12134,16712,12137,16714,16716],{},[150,16713,12119],{},[150,16715,848],{}," would be 0 (zero balance).",[11,16718,12151,16719,12154,16721,441,16723,12161,16725,2008,16727,12166,16729,12169,16731,12173],{},[111,16720,2003],{},[150,16722,12157],{},[150,16724,12160],{},[150,16726,2007],{},[111,16728,2011],{},[150,16730,2007],{},[150,16732,12172],{},[716,16734,16736],{"id":16735},"wallet_status-dapps","wallet_status & DApps",[11,16738,16739,16740,441,16742,16744],{},"If method is called from DApp balances (",[150,16741,12119],{},[150,16743,12157],{}," &c) are not returned due to privacy reason. DApps are not allowed to get user's balances.",[26,16746,12024],{"id":12024},[11,16748,16749],{},"Get list of all unlocked UTXOs.",[11,16751,16752],{},[150,16753,975],{},[866,16755,16757],{"className":978,"code":16756,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"get_utxo\",\n    \"params\" :\n    {\n        \"count\": 10,\n        \"skip\": 0,\n        \"sort\": {\n            \"field\": \"amount\",\n            \"direction\": \"asc\"\n        }\n    }\n}\n",[150,16758,16759,16763,16773,16783,16794,16800,16804,16815,16825,16832,16844,16854,16858,16862],{"__ignoreMap":760},[984,16760,16761],{"class":986,"line":987},[984,16762,991],{"class":990},[984,16764,16765,16767,16769,16771],{"class":986,"line":761},[984,16766,997],{"class":996},[984,16768,1000],{"class":990},[984,16770,1004],{"class":1003},[984,16772,1007],{"class":990},[984,16774,16775,16777,16779,16781],{"class":986,"line":772},[984,16776,1012],{"class":996},[984,16778,1015],{"class":990},[984,16780,1018],{"class":996},[984,16782,1021],{"class":990},[984,16784,16785,16787,16789,16792],{"class":986,"line":1024},[984,16786,1027],{"class":996},[984,16788,1000],{"class":990},[984,16790,16791],{"class":1003},"\"get_utxo\"",[984,16793,1021],{"class":990},[984,16795,16796,16798],{"class":986,"line":1035},[984,16797,1521],{"class":996},[984,16799,1803],{"class":990},[984,16801,16802],{"class":986,"line":1098},[984,16803,1529],{"class":990},[984,16805,16806,16808,16810,16813],{"class":986,"line":1111},[984,16807,15270],{"class":996},[984,16809,1015],{"class":990},[984,16811,16812],{"class":996},"10",[984,16814,1021],{"class":990},[984,16816,16817,16819,16821,16823],{"class":986,"line":1124},[984,16818,15259],{"class":996},[984,16820,1015],{"class":990},[984,16822,1171],{"class":996},[984,16824,1021],{"class":990},[984,16826,16827,16830],{"class":986,"line":1137},[984,16828,16829],{"class":996},"        \"sort\"",[984,16831,1083],{"class":990},[984,16833,16834,16837,16839,16842],{"class":986,"line":1150},[984,16835,16836],{"class":996},"            \"field\"",[984,16838,1015],{"class":990},[984,16840,16841],{"class":1003},"\"amount\"",[984,16843,1021],{"class":990},[984,16845,16846,16849,16851],{"class":986,"line":1163},[984,16847,16848],{"class":996},"            \"direction\"",[984,16850,1015],{"class":990},[984,16852,16853],{"class":1003},"\"asc\"\n",[984,16855,16856],{"class":986,"line":1176},[984,16857,9333],{"class":990},[984,16859,16860],{"class":986,"line":1189},[984,16861,1607],{"class":990},[984,16863,16864],{"class":986,"line":1202},[984,16865,1038],{"class":990},[89,16867,16868,16873,16880,16886],{},[54,16869,16870,16872],{},[150,16871,6846],{}," number of UTXO to get, by default all the UTXOs are returned.",[54,16874,16875,16877,16878,385],{},[150,16876,15307],{}," number of UTXO to skip, default is ",[150,16879,1171],{},[54,16881,16882,16885],{},[150,16883,16884],{},"sort.field"," name of field to sort. Available values are \"id|asset_id|amount|type|maturity|createTxId|spentTxId|status|status_string\"",[54,16887,16888,16891],{},[150,16889,16890],{},"sort.direction"," sorting directions \"asc\" or \"desc\"",[11,16893,16894],{},[150,16895,1043],{},[866,16897,16899],{"className":978,"code":16898,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 6,\n    \"result\":\n    [{\n        \"id\": 123,\n        \"asset_id\": 0,\n        \"amount\": 12345,\n        \"maturity\": 60,\n        \"type\": \"mine\",\n        \"createTxId\": \"10c4b760c842433cb58339a0fafef3db\",\n        \"spentTxId\": \"\",\n        \"status\": 2,\n        \"status_string\": \"maturing\"\n    }]\n}\n",[150,16900,16901,16905,16915,16925,16931,16935,16945,16955,16966,16977,16988,16999,17010,17020,17029,17033],{"__ignoreMap":760},[984,16902,16903],{"class":986,"line":987},[984,16904,991],{"class":990},[984,16906,16907,16909,16911,16913],{"class":986,"line":761},[984,16908,997],{"class":996},[984,16910,1015],{"class":990},[984,16912,1004],{"class":1003},[984,16914,1007],{"class":990},[984,16916,16917,16919,16921,16923],{"class":986,"line":772},[984,16918,1012],{"class":996},[984,16920,1015],{"class":990},[984,16922,1018],{"class":996},[984,16924,1021],{"class":990},[984,16926,16927,16929],{"class":986,"line":1024},[984,16928,1724],{"class":996},[984,16930,1524],{"class":990},[984,16932,16933],{"class":986,"line":1035},[984,16934,13070],{"class":990},[984,16936,16937,16939,16941,16943],{"class":986,"line":1098},[984,16938,6969],{"class":996},[984,16940,1015],{"class":990},[984,16942,1158],{"class":996},[984,16944,1021],{"class":990},[984,16946,16947,16949,16951,16953],{"class":986,"line":1111},[984,16948,1220],{"class":996},[984,16950,1015],{"class":990},[984,16952,1171],{"class":996},[984,16954,1021],{"class":990},[984,16956,16957,16959,16961,16964],{"class":986,"line":1124},[984,16958,2459],{"class":996},[984,16960,1015],{"class":990},[984,16962,16963],{"class":996},"12345",[984,16965,1021],{"class":990},[984,16967,16968,16970,16972,16975],{"class":986,"line":1137},[984,16969,7056],{"class":996},[984,16971,1015],{"class":990},[984,16973,16974],{"class":996},"60",[984,16976,1021],{"class":990},[984,16978,16979,16981,16983,16986],{"class":986,"line":1150},[984,16980,5926],{"class":996},[984,16982,1015],{"class":990},[984,16984,16985],{"class":1003},"\"mine\"",[984,16987,1021],{"class":990},[984,16989,16990,16993,16995,16997],{"class":986,"line":1163},[984,16991,16992],{"class":996},"        \"createTxId\"",[984,16994,1015],{"class":990},[984,16996,14895],{"class":1003},[984,16998,1021],{"class":990},[984,17000,17001,17004,17006,17008],{"class":986,"line":1176},[984,17002,17003],{"class":996},"        \"spentTxId\"",[984,17005,1015],{"class":990},[984,17007,13091],{"class":1003},[984,17009,1021],{"class":990},[984,17011,17012,17014,17016,17018],{"class":986,"line":1189},[984,17013,15029],{"class":996},[984,17015,1015],{"class":990},[984,17017,1503],{"class":996},[984,17019,1021],{"class":990},[984,17021,17022,17024,17026],{"class":986,"line":1202},[984,17023,15040],{"class":996},[984,17025,1015],{"class":990},[984,17027,17028],{"class":1003},"\"maturing\"\n",[984,17030,17031],{"class":986,"line":1211},[984,17032,15888],{"class":990},[984,17034,17035],{"class":986,"line":1217},[984,17036,1038],{"class":990},[89,17038,17039,17046],{},[54,17040,17041,17043,17044,2758],{},[150,17042,848],{}," asset id if coin belongs to an asset and 0 for BEAM coins. By default method returns only BEAM coins. To get asset coins assets should be enabled (",[150,17045,948],{},[54,17047,17048,17050],{},[150,17049,15320],{}," return only asset coins with given asset id, 0 for BEAM coins. Present starting from v5.0. Assets should be enabled.",[11,17052,17053],{},[150,17054,975],{},[866,17056,17058],{"className":978,"code":17057,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"get_utxo\",\n    \"params\": {\n        \"assets\": true,\n        \"filter\": {\n            \"asset_id\": 1\n        }\n    }\n}\n",[150,17059,17060,17064,17074,17084,17094,17100,17111,17117,17126,17130,17134],{"__ignoreMap":760},[984,17061,17062],{"class":986,"line":987},[984,17063,991],{"class":990},[984,17065,17066,17068,17070,17072],{"class":986,"line":761},[984,17067,997],{"class":996},[984,17069,1015],{"class":990},[984,17071,1004],{"class":1003},[984,17073,1021],{"class":990},[984,17075,17076,17078,17080,17082],{"class":986,"line":772},[984,17077,1012],{"class":996},[984,17079,1015],{"class":990},[984,17081,1062],{"class":996},[984,17083,1021],{"class":990},[984,17085,17086,17088,17090,17092],{"class":986,"line":1024},[984,17087,1027],{"class":996},[984,17089,1015],{"class":990},[984,17091,16791],{"class":1003},[984,17093,1021],{"class":990},[984,17095,17096,17098],{"class":986,"line":1035},[984,17097,1521],{"class":996},[984,17099,1083],{"class":990},[984,17101,17102,17105,17107,17109],{"class":986,"line":1098},[984,17103,17104],{"class":996},"        \"assets\"",[984,17106,1015],{"class":990},[984,17108,2682],{"class":996},[984,17110,1021],{"class":990},[984,17112,17113,17115],{"class":986,"line":1111},[984,17114,15220],{"class":996},[984,17116,1083],{"class":990},[984,17118,17119,17122,17124],{"class":986,"line":1124},[984,17120,17121],{"class":996},"            \"asset_id\"",[984,17123,1015],{"class":990},[984,17125,1678],{"class":996},[984,17127,17128],{"class":986,"line":1137},[984,17129,9333],{"class":990},[984,17131,17132],{"class":986,"line":1150},[984,17133,1607],{"class":990},[984,17135,17136],{"class":986,"line":1163},[984,17137,1038],{"class":990},[11,17139,17140],{},[150,17141,1043],{},[866,17143,17145],{"className":978,"code":17144,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": [\n    {\n      \"amount\": 500000000,\n      \"asset_id\": 1,\n      \"createTxId\": \"fd705ce6f8c345309c865dc93de9fec5\",\n      \"id\": \"0000000183ed2de4d94e6bd56e6f726d01000000000000001dcd6500\",\n      \"maturity\": 19,\n      \"spentTxId\": \"\",\n      \"status\": 1,\n      \"status_string\": \"available\",\n      \"type\": \"norm\"\n    }\n  ]\n}\n",[150,17146,17147,17151,17161,17171,17177,17181,17193,17203,17215,17226,17237,17248,17258,17269,17279,17283,17288],{"__ignoreMap":760},[984,17148,17149],{"class":986,"line":987},[984,17150,991],{"class":990},[984,17152,17153,17155,17157,17159],{"class":986,"line":761},[984,17154,1057],{"class":996},[984,17156,1015],{"class":990},[984,17158,1062],{"class":996},[984,17160,1021],{"class":990},[984,17162,17163,17165,17167,17169],{"class":986,"line":772},[984,17164,1069],{"class":996},[984,17166,1015],{"class":990},[984,17168,1004],{"class":1003},[984,17170,1021],{"class":990},[984,17172,17173,17175],{"class":986,"line":1024},[984,17174,1080],{"class":996},[984,17176,1208],{"class":990},[984,17178,17179],{"class":986,"line":1035},[984,17180,1529],{"class":990},[984,17182,17183,17186,17188,17191],{"class":986,"line":1098},[984,17184,17185],{"class":996},"      \"amount\"",[984,17187,1015],{"class":990},[984,17189,17190],{"class":996},"500000000",[984,17192,1021],{"class":990},[984,17194,17195,17197,17199,17201],{"class":986,"line":1111},[984,17196,15520],{"class":996},[984,17198,1015],{"class":990},[984,17200,1345],{"class":996},[984,17202,1021],{"class":990},[984,17204,17205,17208,17210,17213],{"class":986,"line":1124},[984,17206,17207],{"class":996},"      \"createTxId\"",[984,17209,1015],{"class":990},[984,17211,17212],{"class":1003},"\"fd705ce6f8c345309c865dc93de9fec5\"",[984,17214,1021],{"class":990},[984,17216,17217,17219,17221,17224],{"class":986,"line":1137},[984,17218,6667],{"class":996},[984,17220,1015],{"class":990},[984,17222,17223],{"class":1003},"\"0000000183ed2de4d94e6bd56e6f726d01000000000000001dcd6500\"",[984,17225,1021],{"class":990},[984,17227,17228,17230,17232,17235],{"class":986,"line":1150},[984,17229,6755],{"class":996},[984,17231,1015],{"class":990},[984,17233,17234],{"class":996},"19",[984,17236,1021],{"class":990},[984,17238,17239,17242,17244,17246],{"class":986,"line":1163},[984,17240,17241],{"class":996},"      \"spentTxId\"",[984,17243,1015],{"class":990},[984,17245,13091],{"class":1003},[984,17247,1021],{"class":990},[984,17249,17250,17252,17254,17256],{"class":986,"line":1176},[984,17251,15633],{"class":996},[984,17253,1015],{"class":990},[984,17255,1345],{"class":996},[984,17257,1021],{"class":990},[984,17259,17260,17262,17264,17267],{"class":986,"line":1189},[984,17261,15644],{"class":996},[984,17263,1015],{"class":990},[984,17265,17266],{"class":1003},"\"available\"",[984,17268,1021],{"class":990},[984,17270,17271,17274,17276],{"class":986,"line":1202},[984,17272,17273],{"class":996},"      \"type\"",[984,17275,1015],{"class":990},[984,17277,17278],{"class":1003},"\"norm\"\n",[984,17280,17281],{"class":986,"line":1211},[984,17282,1607],{"class":990},[984,17284,17285],{"class":986,"line":1217},[984,17286,17287],{"class":990},"  ]\n",[984,17289,17290],{"class":986,"line":1229},[984,17291,1038],{"class":990},[89,17293,17294,17319],{},[54,17295,17296,17298,17299,17302,17303,17306,17307,17310,17311,17314,17315,17318],{},[150,17297,5964],{}," can be ",[150,17300,17301],{},"fees"," (comission), ",[150,17304,17305],{},"mine"," (coinbase), ",[150,17308,17309],{},"norm"," (usual coin, for example received via transaction), ",[150,17312,17313],{},"chng"," (change), ",[150,17316,17317],{},"shld"," (shielded)",[54,17320,17321,17298,17323,441,17326,441,17329,441,17332,441,17335,441,17338,441,17341,12647,17344,17347],{},[150,17322,6390],{},[150,17324,17325],{},"unavailable (0)",[150,17327,17328],{},"available (1)",[150,17330,17331],{},"maturing (2)",[150,17333,17334],{},"outgoing (3)",[150,17336,17337],{},"incoming (4)",[150,17339,17340],{},"spent (6)",[150,17342,17343],{},"consumed (7)",[150,17345,17346],{},"consumed"," status is returned only for asset coins starting from v5.0. It means that the coin has been burned (consumed).",[26,17349,918],{"id":918},[11,17351,17352,17353,17355],{},"Read asset info from local database. Asset info can be refreshed using ",[18,17354,913],{"href":2036},". It is also automatically refreshed during asset transactions (but not always) to ensure that asset operations are safe. This method can be called even if assets are not enabled.",[11,17357,17358],{},[150,17359,975],{},[866,17361,17362],{"className":978,"code":1759,"language":980,"meta":760,"style":760},[150,17363,17364,17368,17378,17388,17398,17404,17408,17416,17420],{"__ignoreMap":760},[984,17365,17366],{"class":986,"line":987},[984,17367,991],{"class":990},[984,17369,17370,17372,17374,17376],{"class":986,"line":761},[984,17371,997],{"class":996},[984,17373,1000],{"class":990},[984,17375,1004],{"class":1003},[984,17377,1007],{"class":990},[984,17379,17380,17382,17384,17386],{"class":986,"line":772},[984,17381,1012],{"class":996},[984,17383,1015],{"class":990},[984,17385,1018],{"class":996},[984,17387,1021],{"class":990},[984,17389,17390,17392,17394,17396],{"class":986,"line":1024},[984,17391,1027],{"class":996},[984,17393,1015],{"class":990},[984,17395,1794],{"class":1003},[984,17397,1021],{"class":990},[984,17399,17400,17402],{"class":986,"line":1035},[984,17401,1521],{"class":996},[984,17403,1803],{"class":990},[984,17405,17406],{"class":986,"line":1098},[984,17407,1529],{"class":990},[984,17409,17410,17412,17414],{"class":986,"line":1111},[984,17411,1220],{"class":996},[984,17413,1015],{"class":990},[984,17415,1678],{"class":996},[984,17417,17418],{"class":986,"line":1124},[984,17419,1607],{"class":990},[984,17421,17422],{"class":986,"line":1137},[984,17423,1038],{"class":990},[89,17425,17426,17430],{},[54,17427,17428,1830],{},[150,17429,848],{},[54,17431,17432,14325],{},[150,17433,14141],{},[11,17435,17436],{},[150,17437,1043],{},[866,17439,17440],{"className":978,"code":1837,"language":980,"meta":760,"style":760},[150,17441,17442,17446,17456,17466,17472,17476,17486,17496,17506,17516,17526,17536,17546,17554,17558],{"__ignoreMap":760},[984,17443,17444],{"class":986,"line":987},[984,17445,991],{"class":990},[984,17447,17448,17450,17452,17454],{"class":986,"line":761},[984,17449,1012],{"class":996},[984,17451,1015],{"class":990},[984,17453,1062],{"class":996},[984,17455,1021],{"class":990},[984,17457,17458,17460,17462,17464],{"class":986,"line":772},[984,17459,997],{"class":996},[984,17461,1015],{"class":990},[984,17463,1004],{"class":1003},[984,17465,1021],{"class":990},[984,17467,17468,17470],{"class":986,"line":1024},[984,17469,1724],{"class":996},[984,17471,1665],{"class":990},[984,17473,17474],{"class":986,"line":1035},[984,17475,1529],{"class":990},[984,17477,17478,17480,17482,17484],{"class":986,"line":1098},[984,17479,1220],{"class":996},[984,17481,1015],{"class":990},[984,17483,1345],{"class":996},[984,17485,1021],{"class":990},[984,17487,17488,17490,17492,17494],{"class":986,"line":1111},[984,17489,1888],{"class":996},[984,17491,1015],{"class":990},[984,17493,1362],{"class":996},[984,17495,1021],{"class":990},[984,17497,17498,17500,17502,17504],{"class":986,"line":1124},[984,17499,1899],{"class":996},[984,17501,1015],{"class":990},[984,17503,1374],{"class":1003},[984,17505,1021],{"class":990},[984,17507,17508,17510,17512,17514],{"class":986,"line":1137},[984,17509,1910],{"class":996},[984,17511,1015],{"class":990},[984,17513,1345],{"class":996},[984,17515,1021],{"class":990},[984,17517,17518,17520,17522,17524],{"class":986,"line":1150},[984,17519,1921],{"class":996},[984,17521,1015],{"class":990},[984,17523,1926],{"class":996},[984,17525,1021],{"class":990},[984,17527,17528,17530,17532,17534],{"class":986,"line":1163},[984,17529,1933],{"class":996},[984,17531,1015],{"class":990},[984,17533,1938],{"class":1003},[984,17535,1021],{"class":990},[984,17537,17538,17540,17542,17544],{"class":986,"line":1176},[984,17539,1945],{"class":996},[984,17541,1015],{"class":990},[984,17543,1950],{"class":1003},[984,17545,1021],{"class":990},[984,17547,17548,17550,17552],{"class":986,"line":1189},[984,17549,1957],{"class":996},[984,17551,1015],{"class":990},[984,17553,1962],{"class":996},[984,17555,17556],{"class":986,"line":1202},[984,17557,1607],{"class":990},[984,17559,17560],{"class":986,"line":1211},[984,17561,1038],{"class":990},[11,17563,1973,17564,385],{},[18,17565,1977],{"href":13823},[89,17567,17568,17572,17576,17590,17594,17598],{},[54,17569,17570,1984],{},[150,17571,848],{},[54,17573,17574,1990],{},[150,17575,1989],{},[54,17577,17578,1996,17580,2000,17582,2004,17584,2008,17586,2012,17588,2015],{},[150,17579,1995],{},[150,17581,1999],{},[111,17583,2003],{},[150,17585,2007],{},[111,17587,2011],{},[150,17589,2007],{},[54,17591,17592,2021],{},[150,17593,2020],{},[54,17595,17596,2027],{},[150,17597,2026],{},[54,17599,17600,2033,17602,2037],{},[150,17601,2032],{},[18,17603,913],{"href":2036},[26,17605,12350],{"id":12350},[11,17607,17608],{},"Generates ID for a transaction.",[11,17610,17611],{},[150,17612,975],{},[866,17614,17616],{"className":978,"code":17615,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"method\":\"generate_tx_id\"\n}\n",[150,17617,17618,17622,17632,17642,17651],{"__ignoreMap":760},[984,17619,17620],{"class":986,"line":987},[984,17621,991],{"class":990},[984,17623,17624,17626,17628,17630],{"class":986,"line":761},[984,17625,997],{"class":996},[984,17627,1000],{"class":990},[984,17629,1004],{"class":1003},[984,17631,1007],{"class":990},[984,17633,17634,17636,17638,17640],{"class":986,"line":772},[984,17635,1012],{"class":996},[984,17637,1015],{"class":990},[984,17639,1503],{"class":996},[984,17641,1021],{"class":990},[984,17643,17644,17646,17648],{"class":986,"line":1024},[984,17645,1027],{"class":996},[984,17647,1000],{"class":990},[984,17649,17650],{"class":1003},"\"generate_tx_id\"\n",[984,17652,17653],{"class":986,"line":1035},[984,17654,1038],{"class":990},[11,17656,17657],{},[150,17658,1043],{},[866,17660,17662],{"className":978,"code":17661,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 2,\n    \"result\":\"10c4b760c842433cb58339a0fafef3db\"\n}\n",[150,17663,17664,17668,17678,17688,17696],{"__ignoreMap":760},[984,17665,17666],{"class":986,"line":987},[984,17667,991],{"class":990},[984,17669,17670,17672,17674,17676],{"class":986,"line":761},[984,17671,997],{"class":996},[984,17673,1000],{"class":990},[984,17675,1004],{"class":1003},[984,17677,1007],{"class":990},[984,17679,17680,17682,17684,17686],{"class":986,"line":772},[984,17681,1012],{"class":996},[984,17683,1015],{"class":990},[984,17685,1503],{"class":996},[984,17687,1021],{"class":990},[984,17689,17690,17692,17694],{"class":986,"line":1024},[984,17691,1724],{"class":996},[984,17693,1000],{"class":990},[984,17695,1741],{"class":1003},[984,17697,17698],{"class":986,"line":1035},[984,17699,1038],{"class":990},[26,17701,12358],{"id":12358},[11,17703,17704,17705,385],{},"Exports payment proof for given ",[150,17706,2150],{},[11,17708,17709],{},[150,17710,975],{},[866,17712,17714],{"className":978,"code":17713,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\": \"export_payment_proof\", \n    \"params\":\n    {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[150,17715,17716,17720,17730,17740,17751,17757,17761,17769,17773],{"__ignoreMap":760},[984,17717,17718],{"class":986,"line":987},[984,17719,991],{"class":990},[984,17721,17722,17724,17726,17728],{"class":986,"line":761},[984,17723,997],{"class":996},[984,17725,1000],{"class":990},[984,17727,1004],{"class":1003},[984,17729,1007],{"class":990},[984,17731,17732,17734,17736,17738],{"class":986,"line":772},[984,17733,1012],{"class":996},[984,17735,1015],{"class":990},[984,17737,2431],{"class":996},[984,17739,1021],{"class":990},[984,17741,17742,17744,17746,17749],{"class":986,"line":1024},[984,17743,1027],{"class":996},[984,17745,1015],{"class":990},[984,17747,17748],{"class":1003},"\"export_payment_proof\"",[984,17750,1007],{"class":990},[984,17752,17753,17755],{"class":986,"line":1035},[984,17754,1521],{"class":996},[984,17756,1524],{"class":990},[984,17758,17759],{"class":986,"line":1098},[984,17760,1529],{"class":990},[984,17762,17763,17765,17767],{"class":986,"line":1111},[984,17764,1735],{"class":996},[984,17766,1738],{"class":990},[984,17768,14622],{"class":1003},[984,17770,17771],{"class":986,"line":1124},[984,17772,1607],{"class":990},[984,17774,17775],{"class":986,"line":1137},[984,17776,1038],{"class":990},[11,17778,17779],{},[150,17780,1043],{},[866,17782,17784],{"className":978,"code":17783,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\": \n    {\n        \"payment_proof\": \"8009f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e80ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e50400371789ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78d925a362982182a971e654857b8e407e7ad2e9cb72b2b8228812f8ec50435351000c94e2c85996e9527d9b0c90a1843205a7ec8f99fa534083e5f1d055d9f53894\"\n    }\n}\n",[150,17785,17786,17790,17800,17810,17816,17820,17830,17834],{"__ignoreMap":760},[984,17787,17788],{"class":986,"line":987},[984,17789,991],{"class":990},[984,17791,17792,17794,17796,17798],{"class":986,"line":761},[984,17793,997],{"class":996},[984,17795,1000],{"class":990},[984,17797,1004],{"class":1003},[984,17799,1007],{"class":990},[984,17801,17802,17804,17806,17808],{"class":986,"line":772},[984,17803,1012],{"class":996},[984,17805,1015],{"class":990},[984,17807,2431],{"class":996},[984,17809,1021],{"class":990},[984,17811,17812,17814],{"class":986,"line":1024},[984,17813,1724],{"class":996},[984,17815,1665],{"class":990},[984,17817,17818],{"class":986,"line":1035},[984,17819,1529],{"class":990},[984,17821,17822,17825,17827],{"class":986,"line":1098},[984,17823,17824],{"class":996},"        \"payment_proof\"",[984,17826,1015],{"class":990},[984,17828,17829],{"class":1003},"\"8009f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e80ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e50400371789ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78d925a362982182a971e654857b8e407e7ad2e9cb72b2b8228812f8ec50435351000c94e2c85996e9527d9b0c90a1843205a7ec8f99fa534083e5f1d055d9f53894\"\n",[984,17831,17832],{"class":986,"line":1111},[984,17833,1607],{"class":990},[984,17835,17836],{"class":986,"line":1124},[984,17837,1038],{"class":990},[89,17839,17840],{},[54,17841,17842,17845,17846,17848],{},[150,17843,17844],{},"payment_proof"," is a hex-encoded byte buffer which contains information about sender, receiver, amount and kernel, signed with receiver's private key. This info could be unpacked and verified using ",[18,17847,12366],{"href":12365}," method by the third party. Receiver creates a payment proof in order give receiver an ability to proof that actual payment was made. Sender does not sign transaction if receiver does not provide him this evidence.",[11,17850,17851,17853],{},[94,17852,16086],{}," Payment proofs for asset transaction are supported starting from v5.0. These proofs cannot be verified by earlier clients\u002FAPIs versions. Regular BEAM payment proofs generated by the latest clients\u002FAPIs still would be accepted by earlier versions of clients\u002FAPIs.",[26,17855,12366],{"id":12366},[11,17857,17858,17859,385],{},"Verifies ",[150,17860,17844],{},[11,17862,17863],{},[150,17864,975],{},[866,17866,17868],{"className":978,"code":17867,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"verify_payment_proof\", \n    \"params\":\n    {\n        \"payment_proof\" : \"8009f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e80ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e50400371789ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78d925a362982182a971e654857b8e407e7ad2e9cb72b2b8228812f8ec50435351000c94e2c85996e9527d9b0c90a1843205a7ec8f99fa534083e5f1d055d9f53894\"\n    }\n}\n",[150,17869,17870,17874,17884,17894,17905,17911,17915,17923,17927],{"__ignoreMap":760},[984,17871,17872],{"class":986,"line":987},[984,17873,991],{"class":990},[984,17875,17876,17878,17880,17882],{"class":986,"line":761},[984,17877,997],{"class":996},[984,17879,1000],{"class":990},[984,17881,1004],{"class":1003},[984,17883,1007],{"class":990},[984,17885,17886,17888,17890,17892],{"class":986,"line":772},[984,17887,1012],{"class":996},[984,17889,1015],{"class":990},[984,17891,2431],{"class":996},[984,17893,1021],{"class":990},[984,17895,17896,17898,17900,17903],{"class":986,"line":1024},[984,17897,1027],{"class":996},[984,17899,1000],{"class":990},[984,17901,17902],{"class":1003},"\"verify_payment_proof\"",[984,17904,1007],{"class":990},[984,17906,17907,17909],{"class":986,"line":1035},[984,17908,1521],{"class":996},[984,17910,1524],{"class":990},[984,17912,17913],{"class":986,"line":1098},[984,17914,1529],{"class":990},[984,17916,17917,17919,17921],{"class":986,"line":1111},[984,17918,17824],{"class":996},[984,17920,1738],{"class":990},[984,17922,17829],{"class":1003},[984,17924,17925],{"class":986,"line":1124},[984,17926,1607],{"class":990},[984,17928,17929],{"class":986,"line":1137},[984,17930,1038],{"class":990},[11,17932,17933],{},[150,17934,1043],{},[866,17936,17938],{"className":978,"code":17937,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\": \n    {\n        \"is_valid\": true,\n        \"asset_id\": 0,\n        \"sender\":   \"9f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e\",\n        \"receiver\": \"ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e5\",\n        \"amount\":   2300000000,\n        \"kernel\":   \"ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78\"\n    }\n}\n",[150,17939,17940,17944,17954,17964,17970,17974,17984,17994,18006,18017,18028,18037,18041],{"__ignoreMap":760},[984,17941,17942],{"class":986,"line":987},[984,17943,991],{"class":990},[984,17945,17946,17948,17950,17952],{"class":986,"line":761},[984,17947,997],{"class":996},[984,17949,1000],{"class":990},[984,17951,1004],{"class":1003},[984,17953,1007],{"class":990},[984,17955,17956,17958,17960,17962],{"class":986,"line":772},[984,17957,1012],{"class":996},[984,17959,1015],{"class":990},[984,17961,2431],{"class":996},[984,17963,1021],{"class":990},[984,17965,17966,17968],{"class":986,"line":1024},[984,17967,1724],{"class":996},[984,17969,1665],{"class":990},[984,17971,17972],{"class":986,"line":1035},[984,17973,1529],{"class":990},[984,17975,17976,17978,17980,17982],{"class":986,"line":1098},[984,17977,5904],{"class":996},[984,17979,1015],{"class":990},[984,17981,2682],{"class":996},[984,17983,1021],{"class":990},[984,17985,17986,17988,17990,17992],{"class":986,"line":1111},[984,17987,1220],{"class":996},[984,17989,1015],{"class":990},[984,17991,1171],{"class":996},[984,17993,1021],{"class":990},[984,17995,17996,17998,18001,18004],{"class":986,"line":1124},[984,17997,15017],{"class":996},[984,17999,18000],{"class":990},":   ",[984,18002,18003],{"class":1003},"\"9f28991ef543253c8b6a2caf15cf99e23fb9c2b4ca30dc463c8ceb354d7979e\"",[984,18005,1021],{"class":990},[984,18007,18008,18010,18012,18015],{"class":986,"line":1137},[984,18009,15006],{"class":996},[984,18011,1015],{"class":990},[984,18013,18014],{"class":1003},"\"ef7d4255dd5e885200648abe5826d8e0ba0157d3e8cf9c42dcc8258b036986e5\"",[984,18016,1021],{"class":990},[984,18018,18019,18021,18023,18026],{"class":986,"line":1150},[984,18020,2459],{"class":996},[984,18022,18000],{"class":990},[984,18024,18025],{"class":996},"2300000000",[984,18027,1021],{"class":990},[984,18029,18030,18032,18034],{"class":986,"line":1163},[984,18031,14994],{"class":996},[984,18033,18000],{"class":990},[984,18035,18036],{"class":1003},"\"ee82afc25ee29c9c57bcb1018b725a3a94c0ceb1fa7984ea13de4982553e0d78\"\n",[984,18038,18039],{"class":986,"line":1176},[984,18040,1607],{"class":990},[984,18042,18043],{"class":986,"line":1189},[984,18044,1038],{"class":990},[89,18046,18047,18053,18059,18065,18070,18075],{},[54,18048,18049,18052],{},[150,18050,18051],{},"is_valid"," true if signature is valid,",[54,18054,18055,18058],{},[150,18056,18057],{},"sender"," sender's SBBS address",[54,18060,18061,18064],{},[150,18062,18063],{},"receiver"," is a receiver's SBBS address, is it is used to verify the signature",[54,18066,18067,18069],{},[150,18068,2396],{}," amount sent by the transaction in groth",[54,18071,18072,18074],{},[150,18073,848],{}," asset id of the transaction, 0 for BEAM. Returned starting from v5.0",[54,18076,18077,18079],{},[150,18078,6551],{}," id of the kernel of this transaction",[11,18081,18082,18084],{},[94,18083,16086],{}," v5.0+ APIs accept proofs generated by older versions.",[26,18086,12395],{"id":12395},[11,18088,18089],{},"Available from v6.0, can be used after Fork3.",[11,18091,18092],{},"Invokes application shader. Only application\u002Fwallet side shaders are accepted. Use CLI to call a contract shader.",[11,18094,18095],{},[150,18096,975],{},[866,18098,18100],{"className":978,"code":18099,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"invoke_contract\", \n    \"params\":\n    {\n        \"contract\": [123, 123, 123],\n        \"args\": \"role=manager,action=view\"\n    }\n}\n",[150,18101,18102,18106,18116,18126,18137,18143,18147,18167,18177,18181],{"__ignoreMap":760},[984,18103,18104],{"class":986,"line":987},[984,18105,991],{"class":990},[984,18107,18108,18110,18112,18114],{"class":986,"line":761},[984,18109,997],{"class":996},[984,18111,1015],{"class":990},[984,18113,1004],{"class":1003},[984,18115,1007],{"class":990},[984,18117,18118,18120,18122,18124],{"class":986,"line":772},[984,18119,1012],{"class":996},[984,18121,1015],{"class":990},[984,18123,1503],{"class":996},[984,18125,1021],{"class":990},[984,18127,18128,18130,18132,18135],{"class":986,"line":1024},[984,18129,1027],{"class":996},[984,18131,1015],{"class":990},[984,18133,18134],{"class":1003},"\"invoke_contract\"",[984,18136,1007],{"class":990},[984,18138,18139,18141],{"class":986,"line":1035},[984,18140,1521],{"class":996},[984,18142,1524],{"class":990},[984,18144,18145],{"class":986,"line":1098},[984,18146,1529],{"class":990},[984,18148,18149,18152,18155,18157,18159,18161,18163,18165],{"class":986,"line":1111},[984,18150,18151],{"class":996},"        \"contract\"",[984,18153,18154],{"class":990},": [",[984,18156,1158],{"class":996},[984,18158,441],{"class":990},[984,18160,1158],{"class":996},[984,18162,441],{"class":990},[984,18164,1158],{"class":996},[984,18166,13917],{"class":990},[984,18168,18169,18172,18174],{"class":986,"line":1124},[984,18170,18171],{"class":996},"        \"args\"",[984,18173,1015],{"class":990},[984,18175,18176],{"class":1003},"\"role=manager,action=view\"\n",[984,18178,18179],{"class":986,"line":1137},[984,18180,1607],{"class":990},[984,18182,18183],{"class":986,"line":1150},[984,18184,1038],{"class":990},[11,18186,18187],{},"OR",[11,18189,18190],{},[150,18191,975],{},[866,18193,18195],{"className":978,"code":18194,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"invoke_contract\", \n    \"params\":\n    {\n        \"contract_file\": \"....\",\n        \"args\": \"role=manager,action=view\"\n    }\n}\n",[150,18196,18197,18201,18211,18221,18231,18237,18241,18253,18261,18265],{"__ignoreMap":760},[984,18198,18199],{"class":986,"line":987},[984,18200,991],{"class":990},[984,18202,18203,18205,18207,18209],{"class":986,"line":761},[984,18204,997],{"class":996},[984,18206,1015],{"class":990},[984,18208,1004],{"class":1003},[984,18210,1007],{"class":990},[984,18212,18213,18215,18217,18219],{"class":986,"line":772},[984,18214,1012],{"class":996},[984,18216,1015],{"class":990},[984,18218,1503],{"class":996},[984,18220,1021],{"class":990},[984,18222,18223,18225,18227,18229],{"class":986,"line":1024},[984,18224,1027],{"class":996},[984,18226,1015],{"class":990},[984,18228,18134],{"class":1003},[984,18230,1007],{"class":990},[984,18232,18233,18235],{"class":986,"line":1035},[984,18234,1521],{"class":996},[984,18236,1524],{"class":990},[984,18238,18239],{"class":986,"line":1098},[984,18240,1529],{"class":990},[984,18242,18243,18246,18248,18251],{"class":986,"line":1111},[984,18244,18245],{"class":996},"        \"contract_file\"",[984,18247,1015],{"class":990},[984,18249,18250],{"class":1003},"\"....\"",[984,18252,1021],{"class":990},[984,18254,18255,18257,18259],{"class":986,"line":1124},[984,18256,18171],{"class":996},[984,18258,1015],{"class":990},[984,18260,18176],{"class":1003},[984,18262,18263],{"class":986,"line":1137},[984,18264,1607],{"class":990},[984,18266,18267],{"class":986,"line":1150},[984,18268,1038],{"class":990},[89,18270,18271,18277,18283,18289],{},[54,18272,18273,18276],{},[150,18274,18275],{},"contract"," contract code as raw bytes array, optional.",[54,18278,18279,18282],{},[150,18280,18281],{},"contract_file"," file name to read contract code from, optional. Absolute or relative to the executable CWD.",[54,18284,18285,18288],{},[150,18286,18287],{},"args"," contract arguments, optional. Depends on the called shader. Consult shader-specific docs for details.",[54,18290,18291,18294,18295,18297,18298,18301,18302,18304,18305,385],{},[150,18292,18293],{},"create_tx"," bool, pass ",[150,18296,2682],{}," create transaction automatically if contract wants it and return ",[150,18299,18300],{},"txid",". Pass false to avoid transaction creation, get raw tx data that can be passed to ",[18,18303,12406],{"href":12405}," later. By default is ",[150,18306,2682],{},[11,18308,18309,18311,18312,385],{},[150,18310,18275],{}," parameter always takes precedence over the ",[150,18313,18281],{},[11,18315,18316],{},[150,18317,1043],{},[866,18319,18321],{"className":978,"code":18320,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"output\": \"{\\\"contracts\\\": [{\\\"cid\\\": \\\"2b105519ee7e170d92abffbc1eb5426d4e20910af2f54bcee43eb84c74dcfa4b\\\",\\\"Height\\\": 27004},{\\\"cid\\\": \n               \\\"55df189ac5c1f9b982fa34fb8050f005c331203023816ddbb2d641a96a3fcb2a\\\",\\\"Height\\\": 27001},{\\\"cid\\\": \n               \\\"6add645863c29d9dc43ab9987af870cb91fd0dfb4e26ae09ca97ac8ff5372f6e\\\",\\\"Height\\\": 532}]}\"\n  }\n}\n",[150,18322,18323,18327,18337,18347,18353,18410,18439,18459,18463],{"__ignoreMap":760},[984,18324,18325],{"class":986,"line":987},[984,18326,991],{"class":990},[984,18328,18329,18331,18333,18335],{"class":986,"line":761},[984,18330,1057],{"class":996},[984,18332,1015],{"class":990},[984,18334,1062],{"class":996},[984,18336,1021],{"class":990},[984,18338,18339,18341,18343,18345],{"class":986,"line":772},[984,18340,1069],{"class":996},[984,18342,1015],{"class":990},[984,18344,1004],{"class":1003},[984,18346,1021],{"class":990},[984,18348,18349,18351],{"class":986,"line":1024},[984,18350,1080],{"class":996},[984,18352,1083],{"class":990},[984,18354,18355,18358,18360,18363,18366,18369,18371,18374,18376,18379,18381,18383,18385,18388,18390,18392,18394,18397,18399,18402,18404,18406,18408],{"class":986,"line":1035},[984,18356,18357],{"class":996},"    \"output\"",[984,18359,1015],{"class":990},[984,18361,18362],{"class":1003},"\"{",[984,18364,18365],{"class":996},"\\\"",[984,18367,18368],{"class":1003},"contracts",[984,18370,18365],{"class":996},[984,18372,18373],{"class":1003},": [{",[984,18375,18365],{"class":996},[984,18377,18378],{"class":1003},"cid",[984,18380,18365],{"class":996},[984,18382,1015],{"class":1003},[984,18384,18365],{"class":996},[984,18386,18387],{"class":1003},"2b105519ee7e170d92abffbc1eb5426d4e20910af2f54bcee43eb84c74dcfa4b",[984,18389,18365],{"class":996},[984,18391,11185],{"class":1003},[984,18393,18365],{"class":996},[984,18395,18396],{"class":1003},"Height",[984,18398,18365],{"class":996},[984,18400,18401],{"class":1003},": 27004},{",[984,18403,18365],{"class":996},[984,18405,18378],{"class":1003},[984,18407,18365],{"class":996},[984,18409,1665],{"class":1003},[984,18411,18412,18415,18418,18420,18422,18424,18426,18428,18431,18433,18435,18437],{"class":986,"line":1098},[984,18413,18414],{"class":996},"               \\\"",[984,18416,18417],{"class":1003},"55df189ac5c1f9b982fa34fb8050f005c331203023816ddbb2d641a96a3fcb2a",[984,18419,18365],{"class":996},[984,18421,11185],{"class":1003},[984,18423,18365],{"class":996},[984,18425,18396],{"class":1003},[984,18427,18365],{"class":996},[984,18429,18430],{"class":1003},": 27001},{",[984,18432,18365],{"class":996},[984,18434,18378],{"class":1003},[984,18436,18365],{"class":996},[984,18438,1665],{"class":1003},[984,18440,18441,18443,18446,18448,18450,18452,18454,18456],{"class":986,"line":1111},[984,18442,18414],{"class":996},[984,18444,18445],{"class":1003},"6add645863c29d9dc43ab9987af870cb91fd0dfb4e26ae09ca97ac8ff5372f6e",[984,18447,18365],{"class":996},[984,18449,11185],{"class":1003},[984,18451,18365],{"class":996},[984,18453,18396],{"class":1003},[984,18455,18365],{"class":996},[984,18457,18458],{"class":1003},": 532}]}\"\n",[984,18460,18461],{"class":986,"line":1124},[984,18462,1459],{"class":990},[984,18464,18465],{"class":986,"line":1137},[984,18466,1038],{"class":990},[89,18468,18469,18474,18479],{},[54,18470,18471,18473],{},[150,18472,10235],{}," contract output. Depends on the called shader. Can be empty",[54,18475,18476,18478],{},[150,18477,18300],{}," transaction created by contract (if any)",[54,18480,18481,18484,18485],{},[150,18482,18483],{},"raw_data"," raw data returned by the contract based on which transaction can be created using ",[18,18486,12406],{"href":12405},[716,18488,18490],{"id":18489},"async-notice","Async Notice",[11,18492,18493],{},"invoke_contract method is asynchronous in nature and can take up to several blocks to execute (depends on shader). Please setup your API connection correspondingly (keep alive HTTP or use socket).",[716,18495,18497],{"id":18496},"shader-errors","Shader Errors",[11,18499,18500],{},"Please notice that API returns errors only if there is an API error (no shader code, parse error &c.). If there was an error inside the shader itself API call would be successful and shader output should be checked. For example:",[716,18502,18504],{"id":18503},"code-caching","Code caching",[11,18506,18507,18508,18510,18511,4665,18513,18515],{},"If there was an ",[150,18509,12395],{}," call before ",[150,18512,18275],{},[150,18514,18281],{}," params can be omitted. In this case contract code from previous call would be used. In case of wallet_api code caching works on per-connection level. In case of applications caching works on per-application level.",[11,18517,18518],{},[150,18519,975],{},[866,18521,18523],{"className":978,"code":18522,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"invoke_contract\",\n    \"params\": {\n        \"contract_file\": \".\u002FfaucetManager.wasm\",\n        \"args\": \"role=manager\"\n    }\n}\n",[150,18524,18525,18529,18539,18549,18559,18565,18576,18585,18589],{"__ignoreMap":760},[984,18526,18527],{"class":986,"line":987},[984,18528,991],{"class":990},[984,18530,18531,18533,18535,18537],{"class":986,"line":761},[984,18532,997],{"class":996},[984,18534,1015],{"class":990},[984,18536,1004],{"class":1003},[984,18538,1021],{"class":990},[984,18540,18541,18543,18545,18547],{"class":986,"line":772},[984,18542,1012],{"class":996},[984,18544,1015],{"class":990},[984,18546,1062],{"class":996},[984,18548,1021],{"class":990},[984,18550,18551,18553,18555,18557],{"class":986,"line":1024},[984,18552,1027],{"class":996},[984,18554,1015],{"class":990},[984,18556,18134],{"class":1003},[984,18558,1021],{"class":990},[984,18560,18561,18563],{"class":986,"line":1035},[984,18562,1521],{"class":996},[984,18564,1083],{"class":990},[984,18566,18567,18569,18571,18574],{"class":986,"line":1098},[984,18568,18245],{"class":996},[984,18570,1015],{"class":990},[984,18572,18573],{"class":1003},"\".\u002FfaucetManager.wasm\"",[984,18575,1021],{"class":990},[984,18577,18578,18580,18582],{"class":986,"line":1111},[984,18579,18171],{"class":996},[984,18581,1015],{"class":990},[984,18583,18584],{"class":1003},"\"role=manager\"\n",[984,18586,18587],{"class":986,"line":1124},[984,18588,1607],{"class":990},[984,18590,18591],{"class":986,"line":1137},[984,18592,1038],{"class":990},[11,18594,18595],{},[150,18596,1043],{},[866,18598,18600],{"className":978,"code":18599,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"output\": \"{\\\"error\\\": \\\"Action not specified\\\"}\"\n  }\n}\n",[150,18601,18602,18606,18616,18626,18632,18658,18662],{"__ignoreMap":760},[984,18603,18604],{"class":986,"line":987},[984,18605,991],{"class":990},[984,18607,18608,18610,18612,18614],{"class":986,"line":761},[984,18609,1057],{"class":996},[984,18611,1015],{"class":990},[984,18613,1062],{"class":996},[984,18615,1021],{"class":990},[984,18617,18618,18620,18622,18624],{"class":986,"line":772},[984,18619,1069],{"class":996},[984,18621,1015],{"class":990},[984,18623,1004],{"class":1003},[984,18625,1021],{"class":990},[984,18627,18628,18630],{"class":986,"line":1024},[984,18629,1080],{"class":996},[984,18631,1083],{"class":990},[984,18633,18634,18636,18638,18640,18642,18644,18646,18648,18650,18653,18655],{"class":986,"line":1035},[984,18635,18357],{"class":996},[984,18637,1015],{"class":990},[984,18639,18362],{"class":1003},[984,18641,18365],{"class":996},[984,18643,9770],{"class":1003},[984,18645,18365],{"class":996},[984,18647,1015],{"class":1003},[984,18649,18365],{"class":996},[984,18651,18652],{"class":1003},"Action not specified",[984,18654,18365],{"class":996},[984,18656,18657],{"class":1003},"}\"\n",[984,18659,18660],{"class":986,"line":1098},[984,18661,1459],{"class":990},[984,18663,18664],{"class":986,"line":1111},[984,18665,1038],{"class":990},[26,18667,12406],{"id":12406},[11,18669,18670],{},"Creates transaction requested by a contract",[11,18672,18673],{},[150,18674,975],{},[866,18676,18678],{"className":978,"code":18677,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"process_invoke_data\",\n    \"params\": {\n        \"data\": [123, 123, 123]\n    }\n}\n",[150,18679,18680,18684,18694,18704,18715,18721,18740,18744],{"__ignoreMap":760},[984,18681,18682],{"class":986,"line":987},[984,18683,991],{"class":990},[984,18685,18686,18688,18690,18692],{"class":986,"line":761},[984,18687,997],{"class":996},[984,18689,1015],{"class":990},[984,18691,1004],{"class":1003},[984,18693,1021],{"class":990},[984,18695,18696,18698,18700,18702],{"class":986,"line":772},[984,18697,1012],{"class":996},[984,18699,1015],{"class":990},[984,18701,1062],{"class":996},[984,18703,1021],{"class":990},[984,18705,18706,18708,18710,18713],{"class":986,"line":1024},[984,18707,1027],{"class":996},[984,18709,1015],{"class":990},[984,18711,18712],{"class":1003},"\"process_invoke_data\"",[984,18714,1021],{"class":990},[984,18716,18717,18719],{"class":986,"line":1035},[984,18718,1521],{"class":996},[984,18720,1083],{"class":990},[984,18722,18723,18726,18728,18730,18732,18734,18736,18738],{"class":986,"line":1098},[984,18724,18725],{"class":996},"        \"data\"",[984,18727,18154],{"class":990},[984,18729,1158],{"class":996},[984,18731,441],{"class":990},[984,18733,1158],{"class":996},[984,18735,441],{"class":990},[984,18737,1158],{"class":996},[984,18739,7675],{"class":990},[984,18741,18742],{"class":986,"line":1111},[984,18743,1607],{"class":990},[984,18745,18746],{"class":986,"line":1124},[984,18747,1038],{"class":990},[89,18749,18750],{},[54,18751,18752,18754,18755,18757],{},[150,18753,9736],{}," raw invoke data bytes array returned by ",[18,18756,12395],{"href":12394},", mandatory",[11,18759,18760],{},[150,18761,1043],{},[866,18763,18765],{"className":978,"code":18764,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"txid\": \"...\"\n  }\n}\n",[150,18766,18767,18771,18781,18791,18797,18807,18811],{"__ignoreMap":760},[984,18768,18769],{"class":986,"line":987},[984,18770,991],{"class":990},[984,18772,18773,18775,18777,18779],{"class":986,"line":761},[984,18774,1057],{"class":996},[984,18776,1015],{"class":990},[984,18778,1062],{"class":996},[984,18780,1021],{"class":990},[984,18782,18783,18785,18787,18789],{"class":986,"line":772},[984,18784,1069],{"class":996},[984,18786,1015],{"class":990},[984,18788,1004],{"class":1003},[984,18790,1021],{"class":990},[984,18792,18793,18795],{"class":986,"line":1024},[984,18794,1080],{"class":996},[984,18796,1083],{"class":990},[984,18798,18799,18802,18804],{"class":986,"line":1035},[984,18800,18801],{"class":996},"    \"txid\"",[984,18803,1015],{"class":990},[984,18805,18806],{"class":1003},"\"...\"\n",[984,18808,18809],{"class":986,"line":1098},[984,18810,1459],{"class":990},[984,18812,18813],{"class":986,"line":1111},[984,18814,1038],{"class":990},[89,18816,18817],{},[54,18818,18819,18821],{},[150,18820,18300],{}," contract transaction id created as a result of the call",[26,18823,923],{"id":923},[11,18825,18826,18827],{},"Calculates change for given ",[150,18828,2396],{},[11,18830,18831],{},[150,18832,975],{},[866,18834,18835],{"className":978,"code":2406,"language":980,"meta":760,"style":760},[150,18836,18837,18841,18851,18861,18871,18877,18881,18891,18901,18911,18919,18923],{"__ignoreMap":760},[984,18838,18839],{"class":986,"line":987},[984,18840,991],{"class":990},[984,18842,18843,18845,18847,18849],{"class":986,"line":761},[984,18844,997],{"class":996},[984,18846,1000],{"class":990},[984,18848,1004],{"class":1003},[984,18850,1007],{"class":990},[984,18852,18853,18855,18857,18859],{"class":986,"line":772},[984,18854,1012],{"class":996},[984,18856,1015],{"class":990},[984,18858,2431],{"class":996},[984,18860,1021],{"class":990},[984,18862,18863,18865,18867,18869],{"class":986,"line":1024},[984,18864,1027],{"class":996},[984,18866,1000],{"class":990},[984,18868,2442],{"class":1003},[984,18870,1007],{"class":990},[984,18872,18873,18875],{"class":986,"line":1035},[984,18874,1521],{"class":996},[984,18876,1524],{"class":990},[984,18878,18879],{"class":986,"line":1098},[984,18880,1529],{"class":990},[984,18882,18883,18885,18887,18889],{"class":986,"line":1111},[984,18884,2459],{"class":996},[984,18886,1738],{"class":990},[984,18888,2464],{"class":996},[984,18890,1021],{"class":990},[984,18892,18893,18895,18897,18899],{"class":986,"line":1124},[984,18894,1220],{"class":996},[984,18896,1015],{"class":990},[984,18898,1503],{"class":996},[984,18900,1021],{"class":990},[984,18902,18903,18905,18907,18909],{"class":986,"line":1137},[984,18904,1546],{"class":996},[984,18906,1015],{"class":990},[984,18908,2485],{"class":996},[984,18910,1021],{"class":990},[984,18912,18913,18915,18917],{"class":986,"line":1150},[984,18914,2492],{"class":996},[984,18916,1015],{"class":990},[984,18918,2497],{"class":996},[984,18920,18921],{"class":986,"line":1163},[984,18922,1607],{"class":990},[984,18924,18925],{"class":986,"line":1176},[984,18926,1038],{"class":990},[11,18928,18929],{},[150,18930,1043],{},[866,18932,18933],{"className":978,"code":2512,"language":980,"meta":760,"style":760},[150,18934,18935,18939,18949,18959,18965,18969,18979,18989,18999,19009,19019,19027,19031],{"__ignoreMap":760},[984,18936,18937],{"class":986,"line":987},[984,18938,991],{"class":990},[984,18940,18941,18943,18945,18947],{"class":986,"line":761},[984,18942,997],{"class":996},[984,18944,1000],{"class":990},[984,18946,1004],{"class":1003},[984,18948,1007],{"class":990},[984,18950,18951,18953,18955,18957],{"class":986,"line":772},[984,18952,1012],{"class":996},[984,18954,1015],{"class":990},[984,18956,2431],{"class":996},[984,18958,1021],{"class":990},[984,18960,18961,18963],{"class":986,"line":1024},[984,18962,1724],{"class":996},[984,18964,1524],{"class":990},[984,18966,18967],{"class":986,"line":1035},[984,18968,1529],{"class":990},[984,18970,18971,18973,18975,18977],{"class":986,"line":1098},[984,18972,2553],{"class":996},[984,18974,1015],{"class":990},[984,18976,2558],{"class":996},[984,18978,1021],{"class":990},[984,18980,18981,18983,18985,18987],{"class":986,"line":1111},[984,18982,2565],{"class":996},[984,18984,1015],{"class":990},[984,18986,2570],{"class":1003},[984,18988,1021],{"class":990},[984,18990,18991,18993,18995,18997],{"class":986,"line":1124},[984,18992,2577],{"class":996},[984,18994,1015],{"class":990},[984,18996,2558],{"class":996},[984,18998,1021],{"class":990},[984,19000,19001,19003,19005,19007],{"class":986,"line":1137},[984,19002,2588],{"class":996},[984,19004,1015],{"class":990},[984,19006,2570],{"class":1003},[984,19008,1021],{"class":990},[984,19010,19011,19013,19015,19017],{"class":986,"line":1150},[984,19012,2599],{"class":996},[984,19014,1015],{"class":990},[984,19016,2604],{"class":996},[984,19018,1021],{"class":990},[984,19020,19021,19023,19025],{"class":986,"line":1163},[984,19022,2611],{"class":996},[984,19024,1015],{"class":990},[984,19026,2616],{"class":1003},[984,19028,19029],{"class":986,"line":1176},[984,19030,1607],{"class":990},[984,19032,19033],{"class":986,"line":1189},[984,19034,1038],{"class":990},[11,19036,2627],{},[89,19038,19039,19043,19048,19052,19058,19068,19072],{},[54,19040,19041,2634],{},[150,19042,2396],{},[54,19044,19045,19047],{},[150,19046,848],{}," optional asset id of the requested amount. Default is 0 (BEAM). This method can be used for non-BEAM coins even if assets are not enabled.",[54,19049,19050,2644],{},[150,19051,2139],{},[54,19053,19054,2650,19056],{},[150,19055,2649],{},[150,19057,848],{},[54,19059,19060,2658,19062,163,19064,2663,19066,2667],{},[150,19061,2657],{},[150,19063,2649],{},[150,19065,2657],{},[150,19067,2666],{},[54,19069,19070,2673],{},[150,19071,2672],{},[54,19073,19074,2679,19076,2683],{},[150,19075,2678],{},[150,19077,2682],{},[26,19079,12416],{"id":12416},[11,19081,19082],{},"Returns block header from blockchain",[11,19084,19085],{},[150,19086,975],{},[866,19088,19090],{"className":978,"code":19089,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 2,\n    \"method\": \"block_details\", \n    \"params\":\n    {\n        \"height\": 200\n    }\n}\n",[150,19091,19092,19096,19106,19116,19127,19133,19137,19146,19150],{"__ignoreMap":760},[984,19093,19094],{"class":986,"line":987},[984,19095,991],{"class":990},[984,19097,19098,19100,19102,19104],{"class":986,"line":761},[984,19099,997],{"class":996},[984,19101,1015],{"class":990},[984,19103,1004],{"class":1003},[984,19105,1007],{"class":990},[984,19107,19108,19110,19112,19114],{"class":986,"line":772},[984,19109,1012],{"class":996},[984,19111,1015],{"class":990},[984,19113,1503],{"class":996},[984,19115,1021],{"class":990},[984,19117,19118,19120,19122,19125],{"class":986,"line":1024},[984,19119,1027],{"class":996},[984,19121,1015],{"class":990},[984,19123,19124],{"class":1003},"\"block_details\"",[984,19126,1007],{"class":990},[984,19128,19129,19131],{"class":986,"line":1035},[984,19130,1521],{"class":996},[984,19132,1524],{"class":990},[984,19134,19135],{"class":986,"line":1098},[984,19136,1529],{"class":990},[984,19138,19139,19141,19143],{"class":986,"line":1111},[984,19140,15752],{"class":996},[984,19142,1015],{"class":990},[984,19144,19145],{"class":996},"200\n",[984,19147,19148],{"class":986,"line":1124},[984,19149,1607],{"class":990},[984,19151,19152],{"class":986,"line":1137},[984,19153,1038],{"class":990},[89,19155,19156],{},[54,19157,19158,19160],{},[150,19159,6545],{}," height of block.",[11,19162,19163],{},[150,19164,1043],{},[866,19166,19168],{"className":978,"code":19167,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"result\":\n    {\n        \"block_hash\": \"7aec20e5b56706d57a4dca1df4a4d3104dbdbf8d6005499845558b7a32694d02\",\n        \"chainwork\": \"000000000000000000000000000000000000000000000000000000c503b09ac0\",\n        \"definition\": \"0d3f4e63743760c6397d76086e1cc0ebe749c121206c8150738dc84edcd30092\",\n        \"difficulty\": 118.4594497680664,\n        \"height\": 200,\n        \"kernels\": \"705cdfa154eec35e4b4b0e2163ff9c81f8f035641ee4b0b95c3f3c5b0f170ffe\",\n        \"packed_difficulty\": 114939514,\n        \"pow\": \"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004f04638c1f4cee1b7ad6d906\",\n        \"previous_block\": \"d195cc69fbd2b402cc33ecb303f5391f0010f34ee059f30b908ed10f0fe5a255\",\n        \"rules_hash\": \"340bbeabc390f481df1f84aedf0b679c1c7ed1f0e28d4340c9c49b4c41611f85\",\n        \"timestamp\": 1619598150\n    }\n}\n",[150,19169,19170,19174,19184,19194,19200,19204,19216,19228,19240,19251,19261,19273,19285,19297,19309,19321,19331,19335],{"__ignoreMap":760},[984,19171,19172],{"class":986,"line":987},[984,19173,991],{"class":990},[984,19175,19176,19178,19180,19182],{"class":986,"line":761},[984,19177,997],{"class":996},[984,19179,1000],{"class":990},[984,19181,1004],{"class":1003},[984,19183,1007],{"class":990},[984,19185,19186,19188,19190,19192],{"class":986,"line":772},[984,19187,1012],{"class":996},[984,19189,1015],{"class":990},[984,19191,2431],{"class":996},[984,19193,1021],{"class":990},[984,19195,19196,19198],{"class":986,"line":1024},[984,19197,1724],{"class":996},[984,19199,1524],{"class":990},[984,19201,19202],{"class":986,"line":1035},[984,19203,1529],{"class":990},[984,19205,19206,19209,19211,19214],{"class":986,"line":1098},[984,19207,19208],{"class":996},"        \"block_hash\"",[984,19210,1015],{"class":990},[984,19212,19213],{"class":1003},"\"7aec20e5b56706d57a4dca1df4a4d3104dbdbf8d6005499845558b7a32694d02\"",[984,19215,1021],{"class":990},[984,19217,19218,19221,19223,19226],{"class":986,"line":1111},[984,19219,19220],{"class":996},"        \"chainwork\"",[984,19222,1015],{"class":990},[984,19224,19225],{"class":1003},"\"000000000000000000000000000000000000000000000000000000c503b09ac0\"",[984,19227,1021],{"class":990},[984,19229,19230,19233,19235,19238],{"class":986,"line":1124},[984,19231,19232],{"class":996},"        \"definition\"",[984,19234,1015],{"class":990},[984,19236,19237],{"class":1003},"\"0d3f4e63743760c6397d76086e1cc0ebe749c121206c8150738dc84edcd30092\"",[984,19239,1021],{"class":990},[984,19241,19242,19244,19246,19249],{"class":986,"line":1137},[984,19243,16271],{"class":996},[984,19245,1015],{"class":990},[984,19247,19248],{"class":996},"118.4594497680664",[984,19250,1021],{"class":990},[984,19252,19253,19255,19257,19259],{"class":986,"line":1150},[984,19254,15752],{"class":996},[984,19256,1015],{"class":990},[984,19258,4996],{"class":996},[984,19260,1021],{"class":990},[984,19262,19263,19266,19268,19271],{"class":986,"line":1163},[984,19264,19265],{"class":996},"        \"kernels\"",[984,19267,1015],{"class":990},[984,19269,19270],{"class":1003},"\"705cdfa154eec35e4b4b0e2163ff9c81f8f035641ee4b0b95c3f3c5b0f170ffe\"",[984,19272,1021],{"class":990},[984,19274,19275,19278,19280,19283],{"class":986,"line":1176},[984,19276,19277],{"class":996},"        \"packed_difficulty\"",[984,19279,1015],{"class":990},[984,19281,19282],{"class":996},"114939514",[984,19284,1021],{"class":990},[984,19286,19287,19290,19292,19295],{"class":986,"line":1189},[984,19288,19289],{"class":996},"        \"pow\"",[984,19291,1015],{"class":990},[984,19293,19294],{"class":1003},"\"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004f04638c1f4cee1b7ad6d906\"",[984,19296,1021],{"class":990},[984,19298,19299,19302,19304,19307],{"class":986,"line":1202},[984,19300,19301],{"class":996},"        \"previous_block\"",[984,19303,1015],{"class":990},[984,19305,19306],{"class":1003},"\"d195cc69fbd2b402cc33ecb303f5391f0010f34ee059f30b908ed10f0fe5a255\"",[984,19308,1021],{"class":990},[984,19310,19311,19314,19316,19319],{"class":986,"line":1211},[984,19312,19313],{"class":996},"        \"rules_hash\"",[984,19315,1015],{"class":990},[984,19317,19318],{"class":1003},"\"340bbeabc390f481df1f84aedf0b679c1c7ed1f0e28d4340c9c49b4c41611f85\"",[984,19320,1021],{"class":990},[984,19322,19323,19326,19328],{"class":986,"line":1217},[984,19324,19325],{"class":996},"        \"timestamp\"",[984,19327,1015],{"class":990},[984,19329,19330],{"class":996},"1619598150\n",[984,19332,19333],{"class":986,"line":1229},[984,19334,1607],{"class":990},[984,19336,19337],{"class":986,"line":1241},[984,19338,1038],{"class":990},[89,19340,19341,19347,19353,19358,19363,19368,19373,19379,19385,19391,19397],{},[54,19342,19343,19346],{},[150,19344,19345],{},"block_hash"," is a block hash",[54,19348,19349,19352],{},[150,19350,19351],{},"chainwork"," is a chainwork",[54,19354,19355,19357],{},[150,19356,8363],{}," is a definition",[54,19359,19360,19362],{},[150,19361,10335],{}," is a difficulty",[54,19364,19365,19367],{},[150,19366,6545],{}," is a block height",[54,19369,19370,19372],{},[150,19371,133],{}," is a kernels",[54,19374,19375,19378],{},[150,19376,19377],{},"packed_difficulty"," is a packed difficulty",[54,19380,19381,19384],{},[150,19382,19383],{},"pow"," is a pow",[54,19386,19387,19390],{},[150,19388,19389],{},"previous_block"," is hash of previous block",[54,19392,19393,19396],{},[150,19394,19395],{},"rules_hash"," is a rules hash",[54,19398,19399,19402],{},[150,19400,19401],{},"timestamp"," is a timestamp",[716,19404,18490],{"id":19405},"async-notice-1",[11,19407,19408],{},"block_details method is asynchronous in nature. Please setup your API connection correspondingly (keep alive HTTP or use socket).",[2685,19410,8046],{},{"title":760,"searchDepth":761,"depth":761,"links":19412},[19413,19414,19415,19416,19417,19418,19421,19422,19423,19424,19425,19426,19427,19428,19429,19430,19431,19436,19439,19440,19441,19442,19443,19444,19449,19450,19451],{"id":12086,"depth":761,"text":12087},{"id":12229,"depth":761,"text":12230},{"id":12430,"depth":761,"text":12431},{"id":6196,"depth":761,"text":6196},{"id":5854,"depth":761,"text":5854},{"id":12265,"depth":761,"text":12265,"children":19419},[19420],{"id":13237,"depth":772,"text":2757},{"id":12249,"depth":761,"text":12249},{"id":12257,"depth":761,"text":12257},{"id":888,"depth":761,"text":888},{"id":893,"depth":761,"text":893},{"id":903,"depth":761,"text":903},{"id":908,"depth":761,"text":908},{"id":913,"depth":761,"text":913},{"id":12316,"depth":761,"text":12316},{"id":12324,"depth":761,"text":12324},{"id":12303,"depth":761,"text":12303},{"id":12337,"depth":761,"text":12337,"children":19432},[19433,19434,19435],{"id":15966,"depth":772,"text":15967},{"id":15970,"depth":772,"text":15971},{"id":16051,"depth":772,"text":16052},{"id":883,"depth":761,"text":883,"children":19437},[19438],{"id":16735,"depth":772,"text":16736},{"id":12024,"depth":761,"text":12024},{"id":918,"depth":761,"text":918},{"id":12350,"depth":761,"text":12350},{"id":12358,"depth":761,"text":12358},{"id":12366,"depth":761,"text":12366},{"id":12395,"depth":761,"text":12395,"children":19445},[19446,19447,19448],{"id":18489,"depth":772,"text":18490},{"id":18496,"depth":772,"text":18497},{"id":18503,"depth":772,"text":18504},{"id":12406,"depth":761,"text":12406},{"id":923,"depth":761,"text":923},{"id":12416,"depth":761,"text":12416,"children":19452},[19453],{"id":19405,"depth":772,"text":18490},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v6.0",{"description":760},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.0","ld5GAdIu5iYrYHWumi4nGXPLkr1Cv655LwplQA3Q35c",{"id":19460,"title":19461,"body":19462,"description":760,"extension":775,"image":776,"meta":29258,"navTitle":776,"navigation":778,"path":29259,"seo":29260,"stem":29261,"__hash__":29262},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.1.md","Beam Wallet Protocol API V61",{"type":8,"value":19463,"toc":29201},[19464,19468,19473,19477,19495,19499,19552,19556,19602,19604,19606,19659,19661,19663,19830,19832,19841,19843,19845,19849,19943,20028,20050,20054,20094,20096,20100,20104,20168,20172,20256,20270,20272,20274,20278,20342,20352,20356,20520,20561,20563,20572,20574,20576,20580,20644,20648,20688,20690,20698,20702,20786,20790,20830,20832,20834,20838,20962,21010,21016,21020,21074,21078,21080,21082,21086,21090,21186,21190,21244,21266,21268,21272,21276,21280,21354,21376,21382,21386,21440,21444,21446,21450,21454,21458,21532,21554,21560,21564,21618,21622,21624,21628,21632,21636,21700,21714,21716,21720,21774,21778,21780,21782,21786,21850,21856,21860,21900,21906,21908,21910,21914,21978,21984,21988,22028,22034,22036,22040,22044,22110,22114,22338,22340,22342,22346,22454,22472,22476,22484,22488,23014,23067,23069,23071,23121,23123,23143,23147,23149,23151,23155,23195,23199,23359,23391,23396,23400,23463,23470,23474,23821,23835,23845,23861,23863,23865,23869,23973,23993,23997,24131,24143,24147,24227,24231,24369,24405,24407,24411,24415,24479,24489,24493,24721,24725,24791,24793,24795,24799,24839,24843,24883,24885,24889,24893,24957,24961,25015,25023,25027,25029,25033,25037,25101,25105,25209,25235,25239,25241,25243,25245,25249,25331,25333,25337,25411,25437,25443,25447,25581,25597,25599,25601,25603,25605,25607,25615,25619,25689,25693,25759,25763,25773,25791,25793,25795,25799,25869,25877,25881,25931,25937,25939,25943,25947,26041,26045,26149,26151,26191,26193,26195,26199,26263,26269,26273,26427,26473,26475,26477,26479,26482,26486,26528,26532,26677,26695,26697,26700,26704,26822,26826,26867,26878,26882,26885,26911,26915,26922,26975,26977,26980,26988,26991,26996,27161,27187,27192,27343,27353,27358,27708,27728,27730,27733,27737,27874,27876,27879,27883,28234,28253,28255,28261,28264,28269,28375,28394,28397,28401,28668,28686,28688,28693,28697,28879,28896,28898,28901,28905,29181,29199],[26,19465,19467],{"id":19466},"whats-new-in-v61","What's new in v6.1",[89,19469,19470],{},[54,19471,19472],{},"Wallet is now able to send change events such as state changed, transaction changed &c.",[716,19474,19476],{"id":19475},"new-methods","New methods",[89,19478,19479,19487],{},[54,19480,19481,2679,19485],{},[18,19482,19484],{"href":19483},"#get_version","get_version",[2707,19486],{"alt":760,"src":12243},[54,19488,19489,2679,19493],{},[18,19490,19492],{"href":19491},"#ev_subunsub","ev_subunsub",[2707,19494],{"alt":760,"src":12243},[716,19496,19498],{"id":19497},"changed-methods","Changed methods",[89,19500,19501,19516,19540],{},[54,19502,19503,19505,19506,19508,19509,1996,19512,19515],{},[18,19504,883],{"href":12344}," added ",[150,19507,12147],{}," param, returns additional ",[150,19510,19511],{},"is_in_sync",[150,19513,19514],{},"current_state_timestamp"," fields. Method now is\nallowed to be called from apps but does not return balances",[54,19517,19518,19520,19521,441,19524,441,19527,441,19530,441,19533,1996,19536,19539],{},[18,19519,918],{"href":12373}," returns additional ",[150,19522,19523],{},"metadata_kv",[150,19525,19526],{},"metadata_std_min",[150,19528,19529],{},"metadata_v50",[150,19531,19532],{},"metadata_v60",[150,19534,19535],{},"metadata_std",[150,19537,19538],{},"metadata_pairs"," fields",[54,19541,19542,19544,19545,1996,19548,19551],{},[18,19543,12395],{"href":12394}," priority queue of request added together with ",[150,19546,19547],{},"priority",[150,19549,19550],{},"unique"," parameters",[716,19553,19555],{"id":19554},"new-events","New events",[89,19557,19558,19566,19574,19582,19588,19594],{},[54,19559,19560,2679,19564],{},[18,19561,19563],{"href":19562},"#ev_sync_progress","ev_sync_progress",[2707,19565],{"alt":760,"src":12243},[54,19567,19568,2679,19572],{},[18,19569,19571],{"href":19570},"#ev_system_state","ev_system_state",[2707,19573],{"alt":760,"src":12243},[54,19575,19576,2679,19580],{},[18,19577,19579],{"href":19578},"#ev_addrs_changed","ev_addrs_changed",[2707,19581],{"alt":760,"src":12243},[54,19583,19584],{},[18,19585,19587],{"href":19586},"#ev_assets_changed","ev_assets_changed",[54,19589,19590],{},[18,19591,19593],{"href":19592},"#ev_utxos_changed","ev_utxos_changed",[54,19595,19596,2679,19600],{},[18,19597,19599],{"href":19598},"#ev_txs_changed","ev_txs_changed",[2707,19601],{"alt":760,"src":12243},[26,19603,12087],{"id":12086},[11,19605,12090],{},[89,19607,19608,19610,19612,19614,19616,19618,19620,19622,19625,19627,19629,19631,19633,19635,19637,19639,19641,19643,19645,19647,19649,19651,19653,19655,19657],{},[54,19609,12095],{},[54,19611,12098],{},[54,19613,12101],{},[54,19615,12104],{},[54,19617,12107],{},[54,19619,12110],{},[54,19621,12113],{},[54,19623,19624],{},"-32004 InvalidTxId (\"Invalid transaction ID.\")",[54,19626,12178],{},[54,19628,12181],{},[54,19630,12184],{},[54,19632,12187],{},[54,19634,12190],{},[54,19636,12193],{},[54,19638,12196],{},[54,19640,12199],{},[54,19642,12202],{},[54,19644,12205],{},[54,19646,12208],{},[54,19648,12211],{},[54,19650,12214],{},[54,19652,12217],{},[54,19654,12220],{},[54,19656,12223],{},[54,19658,12226],{},[26,19660,12230],{"id":12229},[11,19662,12233],{},[89,19664,19665,19671,19677,19683,19689,19695,19701,19705,19709,19715,19721,19725,19731,19737,19741,19747,19753,19759,19765,19771,19777,19781,19787,19796,19804,19812,19818,19824],{},[54,19666,19667,2679,19669],{},[18,19668,6196],{"href":12240},[2707,19670],{"alt":760,"src":12243},[54,19672,19673,2679,19675],{},[18,19674,12249],{"href":12248},[2707,19676],{"alt":760,"src":12243},[54,19678,19679,2679,19681],{},[18,19680,12257],{"href":12256},[2707,19682],{"alt":760,"src":12243},[54,19684,19685,2679,19687],{},[18,19686,12265],{"href":12264},[2707,19688],{"alt":760,"src":12243},[54,19690,19691,2679,19693],{},[18,19692,5854],{"href":12272},[2707,19694],{"alt":760,"src":12243},[54,19696,19697,2679,19699],{},[18,19698,888],{"href":12279},[2707,19700],{"alt":760,"src":12243},[54,19702,19703],{},[18,19704,903],{"href":12286},[54,19706,19707],{},[18,19708,908],{"href":12291},[54,19710,19711,2679,19713],{},[18,19712,913],{"href":2036},[2707,19714],{"alt":760,"src":12243},[54,19716,19717,2679,19719],{},[18,19718,12303],{"href":12302},[2707,19720],{"alt":760,"src":12243},[54,19722,19723],{},[18,19724,893],{"href":12310},[54,19726,19727,2679,19729],{},[18,19728,12316],{"href":12315},[2707,19730],{"alt":760,"src":12243},[54,19732,19733,2679,19735],{},[18,19734,12324],{"href":12323},[2707,19736],{"alt":760,"src":12243},[54,19738,19739],{},[18,19740,12024],{"href":12331},[54,19742,19743,2679,19745],{},[18,19744,12337],{"href":12336},[2707,19746],{"alt":760,"src":12243},[54,19748,19749,2679,19751],{},[18,19750,883],{"href":12344},[2707,19752],{"alt":760,"src":12243},[54,19754,19755,2679,19757],{},[18,19756,12350],{"href":12349},[2707,19758],{"alt":760,"src":12243},[54,19760,19761,2679,19763],{},[18,19762,12358],{"href":12357},[2707,19764],{"alt":760,"src":12243},[54,19766,19767,2679,19769],{},[18,19768,12366],{"href":12365},[2707,19770],{"alt":760,"src":12243},[54,19772,19773,2679,19775],{},[18,19774,918],{"href":12373},[2707,19776],{"alt":760,"src":12243},[54,19778,19779],{},[18,19780,12381],{"href":12380},[54,19782,19783,2679,19785],{},[18,19784,12387],{"href":12386},[2707,19786],{"alt":760,"src":12243},[54,19788,19789,2679,19791,19793],{},[18,19790,12395],{"href":12394},[2707,19792],{"alt":760,"src":12243},[2707,19794],{"alt":760,"src":19795},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-async-orange",[54,19797,19798,2679,19800,19802],{},[18,19799,12406],{"href":12405},[2707,19801],{"alt":760,"src":12243},[2707,19803],{"alt":760,"src":19795},[54,19805,19806,2679,19808,19810],{},[18,19807,12416],{"href":12415},[2707,19809],{"alt":760,"src":12243},[2707,19811],{"alt":760,"src":19795},[54,19813,19814,2679,19816],{},[18,19815,923],{"href":12425},[2707,19817],{"alt":760,"src":12243},[54,19819,19820,2679,19822],{},[18,19821,19484],{"href":19483},[2707,19823],{"alt":760,"src":12243},[54,19825,19826,2679,19828],{},[18,19827,19492],{"href":19491},[2707,19829],{"alt":760,"src":12243},[26,19831,12431],{"id":12430},[11,19833,12434,19834,12437,19836,12441,19838,385],{},[150,19835,863],{},[150,19837,12440],{},[18,19839,12446],{"href":12444,"rel":19840},[22],[26,19842,6196],{"id":6196},[11,19844,12451],{},[11,19846,19847],{},[150,19848,975],{},[866,19850,19851],{"className":978,"code":12458,"language":980,"meta":760,"style":760},[150,19852,19853,19857,19867,19877,19887,19893,19897,19907,19917,19927,19935,19939],{"__ignoreMap":760},[984,19854,19855],{"class":986,"line":987},[984,19856,991],{"class":990},[984,19858,19859,19861,19863,19865],{"class":986,"line":761},[984,19860,997],{"class":996},[984,19862,1015],{"class":990},[984,19864,1004],{"class":1003},[984,19866,1007],{"class":990},[984,19868,19869,19871,19873,19875],{"class":986,"line":772},[984,19870,1012],{"class":996},[984,19872,1015],{"class":990},[984,19874,1345],{"class":996},[984,19876,1021],{"class":990},[984,19878,19879,19881,19883,19885],{"class":986,"line":1024},[984,19880,1027],{"class":996},[984,19882,1015],{"class":990},[984,19884,6239],{"class":1003},[984,19886,1007],{"class":990},[984,19888,19889,19891],{"class":986,"line":1035},[984,19890,1521],{"class":996},[984,19892,1524],{"class":990},[984,19894,19895],{"class":986,"line":1098},[984,19896,1529],{"class":990},[984,19898,19899,19901,19903,19905],{"class":986,"line":1111},[984,19900,5926],{"class":996},[984,19902,1015],{"class":990},[984,19904,6305],{"class":1003},[984,19906,1021],{"class":990},[984,19908,19909,19911,19913,19915],{"class":986,"line":1124},[984,19910,6270],{"class":996},[984,19912,1015],{"class":990},[984,19914,6275],{"class":1003},[984,19916,1021],{"class":990},[984,19918,19919,19921,19923,19925],{"class":986,"line":1137},[984,19920,1580],{"class":996},[984,19922,1015],{"class":990},[984,19924,12533],{"class":1003},[984,19926,1021],{"class":990},[984,19928,19929,19931,19933],{"class":986,"line":1150},[984,19930,12540],{"class":996},[984,19932,1738],{"class":990},[984,19934,2497],{"class":996},[984,19936,19937],{"class":986,"line":1163},[984,19938,1607],{"class":990},[984,19940,19941],{"class":986,"line":1176},[984,19942,1038],{"class":990},[89,19944,19945,19980,20000,20004,20018],{},[54,19946,19947,5965,19949,19971,12588,19973,12594,19976,12597,19978],{},[150,19948,5964],{},[89,19950,19951,19955,19959,19963,19967],{},[54,19952,19953,12565],{},[150,19954,5804],{},[54,19956,19957,12570],{},[150,19958,5811],{},[54,19960,19961,12575],{},[150,19962,5991],{},[54,19964,19965,12580],{},[150,19966,6002],{},[54,19968,19969,12585],{},[150,19970,6012],{},[957,19972],{},[18,19974,12593],{"href":12591,"rel":19975},[22],[150,19977,5811],{},[150,19979,12600],{},[54,19981,19982,19984,19994,12622,19996,12626,19998,12629],{},[150,19983,12605],{},[89,19985,19986,19990],{},[54,19987,12610,19988,385],{},[150,19989,12613],{},[54,19991,12616,19992,385],{},[150,19993,12619],{},[957,19995],{},[150,19997,12625],{},[150,19999,12625],{},[54,20001,20002,12635],{},[150,20003,12634],{},[54,20005,20006,12641,20008,12644,20010,12647,20012,12651,20014,12655,20016,385],{},[150,20007,12640],{},[150,20009,2682],{},[150,20011,5804],{},[150,20013,12650],{},[150,20015,12654],{},[150,20017,12658],{},[54,20019,20020,12664,20022,12667,20024,12670,20026,385],{},[150,20021,12663],{},[150,20023,5811],{},[150,20025,1345],{},[150,20027,12673],{},[11,20029,12676,20030,12680,20032,12683,20034,12686,20036,12689,20038,441,20040,163,20042,12696,20044,4665,20046,4665,20048,12703],{},[150,20031,12679],{},[18,20033,9803],{"href":12279},[150,20035,6317],{},[150,20037,863],{},[150,20039,5811],{},[150,20041,5991],{},[150,20043,6002],{},[150,20045,5811],{},[150,20047,5991],{},[150,20049,6002],{},[11,20051,20052],{},[150,20053,1043],{},[866,20055,20056],{"className":978,"code":12710,"language":980,"meta":760,"style":760},[150,20057,20058,20062,20072,20082,20090],{"__ignoreMap":760},[984,20059,20060],{"class":986,"line":987},[984,20061,991],{"class":990},[984,20063,20064,20066,20068,20070],{"class":986,"line":761},[984,20065,997],{"class":996},[984,20067,1738],{"class":990},[984,20069,1004],{"class":1003},[984,20071,1007],{"class":990},[984,20073,20074,20076,20078,20080],{"class":986,"line":772},[984,20075,1012],{"class":996},[984,20077,1738],{"class":990},[984,20079,1345],{"class":996},[984,20081,1021],{"class":990},[984,20083,20084,20086,20088],{"class":986,"line":1024},[984,20085,1724],{"class":996},[984,20087,1738],{"class":990},[984,20089,12745],{"class":1003},[984,20091,20092],{"class":986,"line":1035},[984,20093,1038],{"class":990},[26,20095,5854],{"id":5854},[11,20097,12754,20098,12758],{},[150,20099,12757],{},[11,20101,20102],{},[150,20103,975],{},[866,20105,20106],{"className":978,"code":12765,"language":980,"meta":760,"style":760},[150,20107,20108,20112,20122,20132,20142,20148,20152,20160,20164],{"__ignoreMap":760},[984,20109,20110],{"class":986,"line":987},[984,20111,991],{"class":990},[984,20113,20114,20116,20118,20120],{"class":986,"line":761},[984,20115,997],{"class":996},[984,20117,1000],{"class":990},[984,20119,1004],{"class":1003},[984,20121,1007],{"class":990},[984,20123,20124,20126,20128,20130],{"class":986,"line":772},[984,20125,1012],{"class":996},[984,20127,1015],{"class":990},[984,20129,1345],{"class":996},[984,20131,1021],{"class":990},[984,20133,20134,20136,20138,20140],{"class":986,"line":1024},[984,20135,1027],{"class":996},[984,20137,1015],{"class":990},[984,20139,12800],{"class":1003},[984,20141,1007],{"class":990},[984,20143,20144,20146],{"class":986,"line":1035},[984,20145,1521],{"class":996},[984,20147,1524],{"class":990},[984,20149,20150],{"class":986,"line":1098},[984,20151,1529],{"class":990},[984,20153,20154,20156,20158],{"class":986,"line":1111},[984,20155,1569],{"class":996},[984,20157,1738],{"class":990},[984,20159,12745],{"class":1003},[984,20161,20162],{"class":986,"line":1124},[984,20163,1607],{"class":990},[984,20165,20166],{"class":986,"line":1137},[984,20167,1038],{"class":990},[11,20169,20170],{},[150,20171,1043],{},[866,20173,20174],{"className":978,"code":12835,"language":980,"meta":760,"style":760},[150,20175,20176,20180,20190,20200,20206,20210,20220,20230,20240,20248,20252],{"__ignoreMap":760},[984,20177,20178],{"class":986,"line":987},[984,20179,991],{"class":990},[984,20181,20182,20184,20186,20188],{"class":986,"line":761},[984,20183,997],{"class":996},[984,20185,1000],{"class":990},[984,20187,1004],{"class":1003},[984,20189,1007],{"class":990},[984,20191,20192,20194,20196,20198],{"class":986,"line":772},[984,20193,1012],{"class":996},[984,20195,1015],{"class":990},[984,20197,1345],{"class":996},[984,20199,1021],{"class":990},[984,20201,20202,20204],{"class":986,"line":1024},[984,20203,1724],{"class":996},[984,20205,5895],{"class":990},[984,20207,20208],{"class":986,"line":1035},[984,20209,1529],{"class":990},[984,20211,20212,20214,20216,20218],{"class":986,"line":1098},[984,20213,5904],{"class":996},[984,20215,1738],{"class":990},[984,20217,2682],{"class":996},[984,20219,1021],{"class":990},[984,20221,20222,20224,20226,20228],{"class":986,"line":1111},[984,20223,5915],{"class":996},[984,20225,1738],{"class":990},[984,20227,5089],{"class":996},[984,20229,1021],{"class":990},[984,20231,20232,20234,20236,20238],{"class":986,"line":1124},[984,20233,5926],{"class":996},[984,20235,1015],{"class":990},[984,20237,5931],{"class":1003},[984,20239,1007],{"class":990},[984,20241,20242,20244,20246],{"class":986,"line":1137},[984,20243,5942],{"class":996},[984,20245,1015],{"class":990},[984,20247,12910],{"class":996},[984,20249,20250],{"class":986,"line":1150},[984,20251,1607],{"class":990},[984,20253,20254],{"class":986,"line":1163},[984,20255,1038],{"class":990},[89,20257,20258,20264],{},[54,20259,20260,12925,20262,12928],{},[150,20261,5964],{},[18,20263,6196],{"href":12240},[54,20265,20266,12933,20268,6024],{},[150,20267,6020],{},[150,20269,5811],{},[26,20271,12265],{"id":12265},[11,20273,12940],{},[11,20275,20276],{},[150,20277,975],{},[866,20279,20280],{"className":978,"code":12947,"language":980,"meta":760,"style":760},[150,20281,20282,20286,20296,20306,20316,20322,20326,20334,20338],{"__ignoreMap":760},[984,20283,20284],{"class":986,"line":987},[984,20285,991],{"class":990},[984,20287,20288,20290,20292,20294],{"class":986,"line":761},[984,20289,997],{"class":996},[984,20291,1000],{"class":990},[984,20293,1004],{"class":1003},[984,20295,1007],{"class":990},[984,20297,20298,20300,20302,20304],{"class":986,"line":772},[984,20299,1012],{"class":996},[984,20301,1015],{"class":990},[984,20303,12972],{"class":996},[984,20305,1021],{"class":990},[984,20307,20308,20310,20312,20314],{"class":986,"line":1024},[984,20309,1027],{"class":996},[984,20311,1000],{"class":990},[984,20313,12983],{"class":1003},[984,20315,1021],{"class":990},[984,20317,20318,20320],{"class":986,"line":1035},[984,20319,1521],{"class":996},[984,20321,1524],{"class":990},[984,20323,20324],{"class":986,"line":1098},[984,20325,1529],{"class":990},[984,20327,20328,20330,20332],{"class":986,"line":1111},[984,20329,13000],{"class":996},[984,20331,1738],{"class":990},[984,20333,2497],{"class":996},[984,20335,20336],{"class":986,"line":1124},[984,20337,1607],{"class":990},[984,20339,20340],{"class":986,"line":1137},[984,20341,1038],{"class":990},[89,20343,20344],{},[54,20345,20346,13020,20348,13023,20350,13026],{},[150,20347,13019],{},[150,20349,2682],{},[150,20351,5089],{},[11,20353,20354],{},[150,20355,1043],{},[866,20357,20358],{"className":978,"code":13033,"language":980,"meta":760,"style":760},[150,20359,20360,20364,20374,20384,20390,20394,20404,20414,20424,20434,20444,20454,20464,20474,20484,20494,20504,20512,20516],{"__ignoreMap":760},[984,20361,20362],{"class":986,"line":987},[984,20363,991],{"class":990},[984,20365,20366,20368,20370,20372],{"class":986,"line":761},[984,20367,1012],{"class":996},[984,20369,1015],{"class":990},[984,20371,12972],{"class":996},[984,20373,1021],{"class":990},[984,20375,20376,20378,20380,20382],{"class":986,"line":772},[984,20377,997],{"class":996},[984,20379,1015],{"class":990},[984,20381,1004],{"class":1003},[984,20383,1021],{"class":990},[984,20385,20386,20388],{"class":986,"line":1024},[984,20387,1724],{"class":996},[984,20389,1524],{"class":990},[984,20391,20392],{"class":986,"line":1035},[984,20393,13070],{"class":990},[984,20395,20396,20398,20400,20402],{"class":986,"line":1098},[984,20397,1569],{"class":996},[984,20399,1015],{"class":990},[984,20401,13079],{"class":1003},[984,20403,1021],{"class":990},[984,20405,20406,20408,20410,20412],{"class":986,"line":1111},[984,20407,13086],{"class":996},[984,20409,1015],{"class":990},[984,20411,13091],{"class":1003},[984,20413,1021],{"class":990},[984,20415,20416,20418,20420,20422],{"class":986,"line":1124},[984,20417,13098],{"class":996},[984,20419,1015],{"class":990},[984,20421,13103],{"class":996},[984,20423,1021],{"class":990},[984,20425,20426,20428,20430,20432],{"class":986,"line":1137},[984,20427,13110],{"class":996},[984,20429,1015],{"class":990},[984,20431,13115],{"class":996},[984,20433,1021],{"class":990},[984,20435,20436,20438,20440,20442],{"class":986,"line":1150},[984,20437,13122],{"class":996},[984,20439,1015],{"class":990},[984,20441,2682],{"class":996},[984,20443,1021],{"class":990},[984,20445,20446,20448,20450,20452],{"class":986,"line":1163},[984,20447,1580],{"class":996},[984,20449,1015],{"class":990},[984,20451,13091],{"class":1003},[984,20453,1021],{"class":990},[984,20455,20456,20458,20460,20462],{"class":986,"line":1176},[984,20457,13000],{"class":996},[984,20459,1015],{"class":990},[984,20461,2682],{"class":996},[984,20463,1021],{"class":990},[984,20465,20466,20468,20470,20472],{"class":986,"line":1189},[984,20467,13153],{"class":996},[984,20469,1015],{"class":990},[984,20471,13158],{"class":996},[984,20473,1021],{"class":990},[984,20475,20476,20478,20480,20482],{"class":986,"line":1202},[984,20477,13165],{"class":996},[984,20479,1015],{"class":990},[984,20481,13170],{"class":1003},[984,20483,1021],{"class":990},[984,20485,20486,20488,20490,20492],{"class":986,"line":1211},[984,20487,13177],{"class":996},[984,20489,1015],{"class":990},[984,20491,13182],{"class":1003},[984,20493,1021],{"class":990},[984,20495,20496,20498,20500,20502],{"class":986,"line":1217},[984,20497,5926],{"class":996},[984,20499,1015],{"class":990},[984,20501,6305],{"class":1003},[984,20503,1021],{"class":990},[984,20505,20506,20508,20510],{"class":986,"line":1229},[984,20507,13199],{"class":996},[984,20509,1015],{"class":990},[984,20511,13204],{"class":1003},[984,20513,20514],{"class":986,"line":1241},[984,20515,13209],{"class":990},[984,20517,20518],{"class":986,"line":1254},[984,20519,1038],{"class":990},[89,20521,20522,20526,20530,20534,20539,20545],{},[54,20523,20524,13220],{},[150,20525,12679],{},[54,20527,20528,13226],{},[150,20529,13225],{},[54,20531,20532,13232],{},[150,20533,13231],{},[54,20535,20536,20538],{},[150,20537,13237],{}," identity linked to the given address. In UI and CLI called as \"wallet's signature\".",[54,20540,20541,13243,20543,13246],{},[150,20542,5964],{},[18,20544,6196],{"href":12240},[54,20546,20547,13252,20549,13255,20551,13258,20553,13261,20555,441,20557,163,20559,6030],{},[150,20548,13251],{},[150,20550,5991],{},[150,20552,13251],{},[150,20554,5991],{},[150,20556,5804],{},[150,20558,6012],{},[150,20560,5811],{},[716,20562,2757],{"id":13237},[11,20564,13272,20565,20567,20568,13278,20570,13282],{},[150,20566,13237],{},". From version 6.1 in UI and CLI it  called as \"wallet's signature\". The main goal of ",[150,20569,13237],{},[58,20571,13281],{},[26,20573,12249],{"id":12249},[11,20575,13287],{},[11,20577,20578],{},[150,20579,975],{},[866,20581,20582],{"className":978,"code":13294,"language":980,"meta":760,"style":760},[150,20583,20584,20588,20598,20608,20618,20624,20628,20636,20640],{"__ignoreMap":760},[984,20585,20586],{"class":986,"line":987},[984,20587,991],{"class":990},[984,20589,20590,20592,20594,20596],{"class":986,"line":761},[984,20591,997],{"class":996},[984,20593,1000],{"class":990},[984,20595,1004],{"class":1003},[984,20597,1007],{"class":990},[984,20599,20600,20602,20604,20606],{"class":986,"line":772},[984,20601,1012],{"class":996},[984,20603,1015],{"class":990},[984,20605,12972],{"class":996},[984,20607,1021],{"class":990},[984,20609,20610,20612,20614,20616],{"class":986,"line":1024},[984,20611,1027],{"class":996},[984,20613,1000],{"class":990},[984,20615,13329],{"class":1003},[984,20617,1021],{"class":990},[984,20619,20620,20622],{"class":986,"line":1035},[984,20621,1521],{"class":996},[984,20623,1524],{"class":990},[984,20625,20626],{"class":986,"line":1098},[984,20627,1529],{"class":990},[984,20629,20630,20632,20634],{"class":986,"line":1111},[984,20631,1569],{"class":996},[984,20633,1738],{"class":990},[984,20635,13204],{"class":1003},[984,20637,20638],{"class":986,"line":1124},[984,20639,1607],{"class":990},[984,20641,20642],{"class":986,"line":1137},[984,20643,1038],{"class":990},[11,20645,20646],{},[150,20647,1043],{},[866,20649,20650],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,20651,20652,20656,20666,20676,20684],{"__ignoreMap":760},[984,20653,20654],{"class":986,"line":987},[984,20655,991],{"class":990},[984,20657,20658,20660,20662,20664],{"class":986,"line":761},[984,20659,1012],{"class":996},[984,20661,1015],{"class":990},[984,20663,12972],{"class":996},[984,20665,1021],{"class":990},[984,20667,20668,20670,20672,20674],{"class":986,"line":772},[984,20669,997],{"class":996},[984,20671,1015],{"class":990},[984,20673,1004],{"class":1003},[984,20675,1021],{"class":990},[984,20677,20678,20680,20682],{"class":986,"line":1024},[984,20679,1724],{"class":996},[984,20681,1015],{"class":990},[984,20683,13399],{"class":1003},[984,20685,20686],{"class":986,"line":1035},[984,20687,1038],{"class":990},[26,20689,12257],{"id":12257},[11,20691,13408,20692,13411,20694,13414,20696,13417],{},[150,20693,12634],{},[150,20695,12605],{},[18,20697,6196],{"href":12240},[11,20699,20700],{},[150,20701,975],{},[866,20703,20704],{"className":978,"code":13424,"language":980,"meta":760,"style":760},[150,20705,20706,20710,20720,20730,20740,20746,20750,20760,20770,20778,20782],{"__ignoreMap":760},[984,20707,20708],{"class":986,"line":987},[984,20709,991],{"class":990},[984,20711,20712,20714,20716,20718],{"class":986,"line":761},[984,20713,997],{"class":996},[984,20715,1000],{"class":990},[984,20717,1004],{"class":1003},[984,20719,1007],{"class":990},[984,20721,20722,20724,20726,20728],{"class":986,"line":772},[984,20723,1012],{"class":996},[984,20725,1015],{"class":990},[984,20727,12972],{"class":996},[984,20729,1021],{"class":990},[984,20731,20732,20734,20736,20738],{"class":986,"line":1024},[984,20733,1027],{"class":996},[984,20735,1000],{"class":990},[984,20737,13459],{"class":1003},[984,20739,1021],{"class":990},[984,20741,20742,20744],{"class":986,"line":1035},[984,20743,1521],{"class":996},[984,20745,1524],{"class":990},[984,20747,20748],{"class":986,"line":1098},[984,20749,1529],{"class":990},[984,20751,20752,20754,20756,20758],{"class":986,"line":1111},[984,20753,1569],{"class":996},[984,20755,1738],{"class":990},[984,20757,13079],{"class":1003},[984,20759,1021],{"class":990},[984,20761,20762,20764,20766,20768],{"class":986,"line":1124},[984,20763,1580],{"class":996},[984,20765,1738],{"class":990},[984,20767,12533],{"class":1003},[984,20769,1021],{"class":990},[984,20771,20772,20774,20776],{"class":986,"line":1137},[984,20773,6270],{"class":996},[984,20775,1738],{"class":990},[984,20777,13500],{"class":1003},[984,20779,20780],{"class":986,"line":1150},[984,20781,1607],{"class":990},[984,20783,20784],{"class":986,"line":1163},[984,20785,1038],{"class":990},[11,20787,20788],{},[150,20789,1043],{},[866,20791,20792],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,20793,20794,20798,20808,20818,20826],{"__ignoreMap":760},[984,20795,20796],{"class":986,"line":987},[984,20797,991],{"class":990},[984,20799,20800,20802,20804,20806],{"class":986,"line":761},[984,20801,1012],{"class":996},[984,20803,1015],{"class":990},[984,20805,12972],{"class":996},[984,20807,1021],{"class":990},[984,20809,20810,20812,20814,20816],{"class":986,"line":772},[984,20811,997],{"class":996},[984,20813,1015],{"class":990},[984,20815,1004],{"class":1003},[984,20817,1021],{"class":990},[984,20819,20820,20822,20824],{"class":986,"line":1024},[984,20821,1724],{"class":996},[984,20823,1015],{"class":990},[984,20825,13399],{"class":1003},[984,20827,20828],{"class":986,"line":1035},[984,20829,1038],{"class":990},[26,20831,888],{"id":888},[11,20833,13557],{},[11,20835,20836],{},[150,20837,975],{},[866,20839,20840],{"className":978,"code":13564,"language":980,"meta":760,"style":760},[150,20841,20842,20846,20856,20866,20876,20882,20886,20896,20906,20916,20926,20936,20946,20954,20958],{"__ignoreMap":760},[984,20843,20844],{"class":986,"line":987},[984,20845,991],{"class":990},[984,20847,20848,20850,20852,20854],{"class":986,"line":761},[984,20849,997],{"class":996},[984,20851,1000],{"class":990},[984,20853,1004],{"class":1003},[984,20855,1007],{"class":990},[984,20857,20858,20860,20862,20864],{"class":986,"line":772},[984,20859,1012],{"class":996},[984,20861,1015],{"class":990},[984,20863,1503],{"class":996},[984,20865,1021],{"class":990},[984,20867,20868,20870,20872,20874],{"class":986,"line":1024},[984,20869,1027],{"class":996},[984,20871,1000],{"class":990},[984,20873,1514],{"class":1003},[984,20875,1007],{"class":990},[984,20877,20878,20880],{"class":986,"line":1035},[984,20879,1521],{"class":996},[984,20881,1524],{"class":990},[984,20883,20884],{"class":986,"line":1098},[984,20885,1529],{"class":990},[984,20887,20888,20890,20892,20894],{"class":986,"line":1111},[984,20889,1534],{"class":996},[984,20891,1015],{"class":990},[984,20893,1539],{"class":996},[984,20895,1021],{"class":990},[984,20897,20898,20900,20902,20904],{"class":986,"line":1124},[984,20899,1546],{"class":996},[984,20901,1015],{"class":990},[984,20903,1503],{"class":996},[984,20905,1021],{"class":990},[984,20907,20908,20910,20912,20914],{"class":986,"line":1137},[984,20909,1557],{"class":996},[984,20911,1015],{"class":990},[984,20913,1562],{"class":1003},[984,20915,1021],{"class":990},[984,20917,20918,20920,20922,20924],{"class":986,"line":1150},[984,20919,1569],{"class":996},[984,20921,1015],{"class":990},[984,20923,1562],{"class":1003},[984,20925,1021],{"class":990},[984,20927,20928,20930,20932,20934],{"class":986,"line":1163},[984,20929,1580],{"class":996},[984,20931,1015],{"class":990},[984,20933,1585],{"class":1003},[984,20935,1021],{"class":990},[984,20937,20938,20940,20942,20944],{"class":986,"line":1176},[984,20939,1220],{"class":996},[984,20941,1015],{"class":990},[984,20943,1345],{"class":996},[984,20945,1021],{"class":990},[984,20947,20948,20950,20952],{"class":986,"line":1189},[984,20949,6160],{"class":996},[984,20951,1015],{"class":990},[984,20953,13679],{"class":996},[984,20955,20956],{"class":986,"line":1202},[984,20957,1607],{"class":990},[984,20959,20960],{"class":986,"line":1211},[984,20961,1038],{"class":990},[89,20963,20964,20968,20972,20976,20986,20990,20994,21002],{},[54,20965,20966,13694],{},[150,20967,2133],{},[54,20969,20970,13699],{},[150,20971,2139],{},[54,20973,20974,13705],{},[150,20975,13704],{},[54,20977,20978,13710,20980,13713,20982,163,20984,385],{},[150,20979,12679],{},[58,20981,5776],{},[150,20983,12679],{},[150,20985,13237],{},[54,20987,20988,13722],{},[150,20989,12634],{},[54,20991,20992,13727],{},[150,20993,2150],{},[54,20995,20996,13732,20998,13735,21000,13738],{},[150,20997,848],{},[150,20999,848],{},[150,21001,948],{},[54,21003,21004,13743,21006,13747,21008,13750],{},[150,21005,5811],{},[150,21007,13746],{},[150,21009,5811],{},[11,21011,13753,21012,13756,21014,13760],{},[150,21013,8355],{},[150,21015,13759],{},[11,21017,21018],{},[150,21019,1043],{},[866,21021,21022],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,21023,21024,21028,21038,21048,21054,21058,21066,21070],{"__ignoreMap":760},[984,21025,21026],{"class":986,"line":987},[984,21027,991],{"class":990},[984,21029,21030,21032,21034,21036],{"class":986,"line":761},[984,21031,997],{"class":996},[984,21033,1000],{"class":990},[984,21035,1004],{"class":1003},[984,21037,1007],{"class":990},[984,21039,21040,21042,21044,21046],{"class":986,"line":772},[984,21041,1012],{"class":996},[984,21043,1015],{"class":990},[984,21045,1503],{"class":996},[984,21047,1021],{"class":990},[984,21049,21050,21052],{"class":986,"line":1024},[984,21051,1724],{"class":996},[984,21053,1524],{"class":990},[984,21055,21056],{"class":986,"line":1035},[984,21057,1529],{"class":990},[984,21059,21060,21062,21064],{"class":986,"line":1098},[984,21061,1735],{"class":996},[984,21063,1738],{"class":990},[984,21065,1741],{"class":1003},[984,21067,21068],{"class":986,"line":1111},[984,21069,1607],{"class":990},[984,21071,21072],{"class":986,"line":1124},[984,21073,1038],{"class":990},[11,21075,2213,21076,385],{},[18,21077,1977],{"href":13823},[26,21079,893],{"id":893},[11,21081,13828],{},[11,21083,13831,21084,13835],{},[150,21085,13834],{},[11,21087,21088],{},[150,21089,975],{},[866,21091,21092],{"className":978,"code":13842,"language":980,"meta":760,"style":760},[150,21093,21094,21098,21108,21118,21128,21134,21138,21160,21170,21178,21182],{"__ignoreMap":760},[984,21095,21096],{"class":986,"line":987},[984,21097,991],{"class":990},[984,21099,21100,21102,21104,21106],{"class":986,"line":761},[984,21101,997],{"class":996},[984,21103,1000],{"class":990},[984,21105,1004],{"class":1003},[984,21107,1007],{"class":990},[984,21109,21110,21112,21114,21116],{"class":986,"line":772},[984,21111,1012],{"class":996},[984,21113,1015],{"class":990},[984,21115,8099],{"class":996},[984,21117,1021],{"class":990},[984,21119,21120,21122,21124,21126],{"class":986,"line":1024},[984,21121,1027],{"class":996},[984,21123,1000],{"class":990},[984,21125,13877],{"class":1003},[984,21127,1007],{"class":990},[984,21129,21130,21132],{"class":986,"line":1035},[984,21131,1521],{"class":996},[984,21133,1524],{"class":990},[984,21135,21136],{"class":986,"line":1098},[984,21137,1529],{"class":990},[984,21139,21140,21142,21144,21146,21148,21150,21152,21154,21156,21158],{"class":986,"line":1111},[984,21141,13894],{"class":996},[984,21143,13897],{"class":990},[984,21145,13900],{"class":996},[984,21147,441],{"class":990},[984,21149,2558],{"class":996},[984,21151,441],{"class":990},[984,21153,13909],{"class":996},[984,21155,441],{"class":990},[984,21157,13914],{"class":996},[984,21159,13917],{"class":990},[984,21161,21162,21164,21166,21168],{"class":986,"line":1124},[984,21163,1546],{"class":996},[984,21165,1738],{"class":990},[984,21167,4979],{"class":996},[984,21169,1021],{"class":990},[984,21171,21172,21174,21176],{"class":986,"line":1137},[984,21173,1220],{"class":996},[984,21175,1015],{"class":990},[984,21177,1678],{"class":996},[984,21179,21180],{"class":986,"line":1150},[984,21181,1607],{"class":990},[984,21183,21184],{"class":986,"line":1163},[984,21185,1038],{"class":990},[11,21187,21188],{},[150,21189,1043],{},[866,21191,21192],{"className":978,"code":13950,"language":980,"meta":760,"style":760},[150,21193,21194,21198,21208,21218,21224,21228,21236,21240],{"__ignoreMap":760},[984,21195,21196],{"class":986,"line":987},[984,21197,991],{"class":990},[984,21199,21200,21202,21204,21206],{"class":986,"line":761},[984,21201,997],{"class":996},[984,21203,1000],{"class":990},[984,21205,1004],{"class":1003},[984,21207,1007],{"class":990},[984,21209,21210,21212,21214,21216],{"class":986,"line":772},[984,21211,1012],{"class":996},[984,21213,1015],{"class":990},[984,21215,8099],{"class":996},[984,21217,1021],{"class":990},[984,21219,21220,21222],{"class":986,"line":1024},[984,21221,1724],{"class":996},[984,21223,1524],{"class":990},[984,21225,21226],{"class":986,"line":1035},[984,21227,1529],{"class":990},[984,21229,21230,21232,21234],{"class":986,"line":1098},[984,21231,1735],{"class":996},[984,21233,1738],{"class":990},[984,21235,1741],{"class":1003},[984,21237,21238],{"class":986,"line":1111},[984,21239,1607],{"class":990},[984,21241,21242],{"class":986,"line":1124},[984,21243,1038],{"class":990},[89,21245,21246,21250,21254,21258],{},[54,21247,21248,14009],{},[150,21249,2139],{},[54,21251,21252,14014],{},[150,21253,8355],{},[54,21255,21256,14019],{},[150,21257,2150],{},[54,21259,21260,14024,21262,13735,21264,13738],{},[150,21261,848],{},[150,21263,848],{},[150,21265,948],{},[26,21267,903],{"id":903},[11,21269,14033,21270,13738],{},[150,21271,948],{},[11,21273,14038,21274,2046],{},[18,21275,913],{"href":2036},[11,21277,21278],{},[150,21279,975],{},[866,21281,21282],{"className":978,"code":2053,"language":980,"meta":760,"style":760},[150,21283,21284,21288,21298,21308,21318,21324,21328,21338,21346,21350],{"__ignoreMap":760},[984,21285,21286],{"class":986,"line":987},[984,21287,991],{"class":990},[984,21289,21290,21292,21294,21296],{"class":986,"line":761},[984,21291,997],{"class":996},[984,21293,1015],{"class":990},[984,21295,1004],{"class":1003},[984,21297,1007],{"class":990},[984,21299,21300,21302,21304,21306],{"class":986,"line":772},[984,21301,1012],{"class":996},[984,21303,1015],{"class":990},[984,21305,1503],{"class":996},[984,21307,1021],{"class":990},[984,21309,21310,21312,21314,21316],{"class":986,"line":1024},[984,21311,1027],{"class":996},[984,21313,1015],{"class":990},[984,21315,2088],{"class":1003},[984,21317,1007],{"class":990},[984,21319,21320,21322],{"class":986,"line":1035},[984,21321,1521],{"class":996},[984,21323,1524],{"class":990},[984,21325,21326],{"class":986,"line":1098},[984,21327,1529],{"class":990},[984,21329,21330,21332,21334,21336],{"class":986,"line":1111},[984,21331,1534],{"class":996},[984,21333,1015],{"class":990},[984,21335,1018],{"class":996},[984,21337,1021],{"class":990},[984,21339,21340,21342,21344],{"class":986,"line":1124},[984,21341,1220],{"class":996},[984,21343,1015],{"class":990},[984,21345,1678],{"class":996},[984,21347,21348],{"class":986,"line":1137},[984,21349,1607],{"class":990},[984,21351,21352],{"class":986,"line":1150},[984,21353,1038],{"class":990},[89,21355,21356,21360,21364,21368,21372],{},[54,21357,21358,2134],{},[150,21359,2133],{},[54,21361,21362,2140],{},[150,21363,2139],{},[54,21365,21366,2145],{},[150,21367,848],{},[54,21369,21370,2151],{},[150,21371,2150],{},[54,21373,21374,14142],{},[150,21375,14141],{},[11,21377,14145,21378,14148,21380],{},[150,21379,8355],{},[150,21381,13759],{},[11,21383,21384],{},[150,21385,1043],{},[866,21387,21388],{"className":978,"code":2158,"language":980,"meta":760,"style":760},[150,21389,21390,21394,21404,21414,21420,21424,21432,21436],{"__ignoreMap":760},[984,21391,21392],{"class":986,"line":987},[984,21393,991],{"class":990},[984,21395,21396,21398,21400,21402],{"class":986,"line":761},[984,21397,997],{"class":996},[984,21399,1015],{"class":990},[984,21401,1004],{"class":1003},[984,21403,1007],{"class":990},[984,21405,21406,21408,21410,21412],{"class":986,"line":772},[984,21407,1012],{"class":996},[984,21409,1015],{"class":990},[984,21411,1503],{"class":996},[984,21413,1021],{"class":990},[984,21415,21416,21418],{"class":986,"line":1024},[984,21417,1724],{"class":996},[984,21419,1524],{"class":990},[984,21421,21422],{"class":986,"line":1035},[984,21423,1529],{"class":990},[984,21425,21426,21428,21430],{"class":986,"line":1098},[984,21427,1735],{"class":996},[984,21429,1738],{"class":990},[984,21431,1741],{"class":1003},[984,21433,21434],{"class":986,"line":1111},[984,21435,1607],{"class":990},[984,21437,21438],{"class":986,"line":1124},[984,21439,1038],{"class":990},[11,21441,2213,21442,385],{},[18,21443,1977],{"href":13823},[26,21445,908],{"id":908},[11,21447,14033,21448,13738],{},[150,21449,948],{},[11,21451,14221,21452,14224],{},[18,21453,913],{"href":2036},[11,21455,21456],{},[150,21457,975],{},[866,21459,21460],{"className":978,"code":2228,"language":980,"meta":760,"style":760},[150,21461,21462,21466,21476,21486,21496,21502,21506,21516,21524,21528],{"__ignoreMap":760},[984,21463,21464],{"class":986,"line":987},[984,21465,991],{"class":990},[984,21467,21468,21470,21472,21474],{"class":986,"line":761},[984,21469,997],{"class":996},[984,21471,1000],{"class":990},[984,21473,1004],{"class":1003},[984,21475,1007],{"class":990},[984,21477,21478,21480,21482,21484],{"class":986,"line":772},[984,21479,1012],{"class":996},[984,21481,1015],{"class":990},[984,21483,1503],{"class":996},[984,21485,1021],{"class":990},[984,21487,21488,21490,21492,21494],{"class":986,"line":1024},[984,21489,1027],{"class":996},[984,21491,1000],{"class":990},[984,21493,2263],{"class":1003},[984,21495,1007],{"class":990},[984,21497,21498,21500],{"class":986,"line":1035},[984,21499,1521],{"class":996},[984,21501,1524],{"class":990},[984,21503,21504],{"class":986,"line":1098},[984,21505,1529],{"class":990},[984,21507,21508,21510,21512,21514],{"class":986,"line":1111},[984,21509,1534],{"class":996},[984,21511,1015],{"class":990},[984,21513,1018],{"class":996},[984,21515,1021],{"class":990},[984,21517,21518,21520,21522],{"class":986,"line":1124},[984,21519,1220],{"class":996},[984,21521,1015],{"class":990},[984,21523,1678],{"class":996},[984,21525,21526],{"class":986,"line":1137},[984,21527,1607],{"class":990},[984,21529,21530],{"class":986,"line":1150},[984,21531,1038],{"class":990},[89,21533,21534,21538,21542,21546,21550],{},[54,21535,21536,2308],{},[150,21537,2133],{},[54,21539,21540,2313],{},[150,21541,2139],{},[54,21543,21544,2318],{},[150,21545,848],{},[54,21547,21548,2323],{},[150,21549,2150],{},[54,21551,21552,14325],{},[150,21553,14141],{},[11,21555,14328,21556,14148,21558,14333],{},[150,21557,8355],{},[150,21559,13759],{},[11,21561,21562],{},[150,21563,1043],{},[866,21565,21566],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,21567,21568,21572,21582,21592,21598,21602,21610,21614],{"__ignoreMap":760},[984,21569,21570],{"class":986,"line":987},[984,21571,991],{"class":990},[984,21573,21574,21576,21578,21580],{"class":986,"line":761},[984,21575,997],{"class":996},[984,21577,1000],{"class":990},[984,21579,1004],{"class":1003},[984,21581,1007],{"class":990},[984,21583,21584,21586,21588,21590],{"class":986,"line":772},[984,21585,1012],{"class":996},[984,21587,1015],{"class":990},[984,21589,1503],{"class":996},[984,21591,1021],{"class":990},[984,21593,21594,21596],{"class":986,"line":1024},[984,21595,1724],{"class":996},[984,21597,1524],{"class":990},[984,21599,21600],{"class":986,"line":1035},[984,21601,1529],{"class":990},[984,21603,21604,21606,21608],{"class":986,"line":1098},[984,21605,1735],{"class":996},[984,21607,1738],{"class":990},[984,21609,1741],{"class":1003},[984,21611,21612],{"class":986,"line":1111},[984,21613,1607],{"class":990},[984,21615,21616],{"class":986,"line":1124},[984,21617,1038],{"class":990},[11,21619,2213,21620,385],{},[18,21621,1977],{"href":13823},[26,21623,913],{"id":913},[11,21625,14033,21626,13738],{},[150,21627,948],{},[11,21629,14404,21630,14407],{},[18,21631,918],{"href":12373},[11,21633,21634],{},[150,21635,975],{},[866,21637,21638],{"className":978,"code":1621,"language":980,"meta":760,"style":760},[150,21639,21640,21644,21654,21664,21674,21680,21684,21692,21696],{"__ignoreMap":760},[984,21641,21642],{"class":986,"line":987},[984,21643,991],{"class":990},[984,21645,21646,21648,21650,21652],{"class":986,"line":761},[984,21647,997],{"class":996},[984,21649,1000],{"class":990},[984,21651,1004],{"class":1003},[984,21653,1007],{"class":990},[984,21655,21656,21658,21660,21662],{"class":986,"line":772},[984,21657,1012],{"class":996},[984,21659,1015],{"class":990},[984,21661,1503],{"class":996},[984,21663,1021],{"class":990},[984,21665,21666,21668,21670,21672],{"class":986,"line":1024},[984,21667,1027],{"class":996},[984,21669,1015],{"class":990},[984,21671,1656],{"class":1003},[984,21673,1021],{"class":990},[984,21675,21676,21678],{"class":986,"line":1035},[984,21677,1521],{"class":996},[984,21679,1665],{"class":990},[984,21681,21682],{"class":986,"line":1098},[984,21683,1529],{"class":990},[984,21685,21686,21688,21690],{"class":986,"line":1111},[984,21687,1220],{"class":996},[984,21689,1015],{"class":990},[984,21691,1678],{"class":996},[984,21693,21694],{"class":986,"line":1124},[984,21695,1607],{"class":990},[984,21697,21698],{"class":986,"line":1137},[984,21699,1038],{"class":990},[89,21701,21702,21706,21710],{},[54,21703,21704,1830],{},[150,21705,848],{},[54,21707,21708,2323],{},[150,21709,2150],{},[54,21711,21712,14325],{},[150,21713,14141],{},[11,21715,14492],{},[11,21717,21718],{},[150,21719,1043],{},[866,21721,21722],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,21723,21724,21728,21738,21748,21754,21758,21766,21770],{"__ignoreMap":760},[984,21725,21726],{"class":986,"line":987},[984,21727,991],{"class":990},[984,21729,21730,21732,21734,21736],{"class":986,"line":761},[984,21731,997],{"class":996},[984,21733,1000],{"class":990},[984,21735,1004],{"class":1003},[984,21737,1007],{"class":990},[984,21739,21740,21742,21744,21746],{"class":986,"line":772},[984,21741,1012],{"class":996},[984,21743,1015],{"class":990},[984,21745,1503],{"class":996},[984,21747,1021],{"class":990},[984,21749,21750,21752],{"class":986,"line":1024},[984,21751,1724],{"class":996},[984,21753,1524],{"class":990},[984,21755,21756],{"class":986,"line":1035},[984,21757,1529],{"class":990},[984,21759,21760,21762,21764],{"class":986,"line":1098},[984,21761,1735],{"class":996},[984,21763,1738],{"class":990},[984,21765,1741],{"class":1003},[984,21767,21768],{"class":986,"line":1111},[984,21769,1607],{"class":990},[984,21771,21772],{"class":986,"line":1124},[984,21773,1038],{"class":990},[11,21775,2213,21776,385],{},[18,21777,1977],{"href":13823},[26,21779,12316],{"id":12316},[11,21781,14559],{},[11,21783,21784],{},[150,21785,975],{},[866,21787,21788],{"className":978,"code":14566,"language":980,"meta":760,"style":760},[150,21789,21790,21794,21804,21814,21824,21830,21834,21842,21846],{"__ignoreMap":760},[984,21791,21792],{"class":986,"line":987},[984,21793,991],{"class":990},[984,21795,21796,21798,21800,21802],{"class":986,"line":761},[984,21797,997],{"class":996},[984,21799,1000],{"class":990},[984,21801,1004],{"class":1003},[984,21803,1007],{"class":990},[984,21805,21806,21808,21810,21812],{"class":986,"line":772},[984,21807,1012],{"class":996},[984,21809,1015],{"class":990},[984,21811,2431],{"class":996},[984,21813,1021],{"class":990},[984,21815,21816,21818,21820,21822],{"class":986,"line":1024},[984,21817,1027],{"class":996},[984,21819,1000],{"class":990},[984,21821,14601],{"class":1003},[984,21823,1007],{"class":990},[984,21825,21826,21828],{"class":986,"line":1035},[984,21827,1521],{"class":996},[984,21829,1524],{"class":990},[984,21831,21832],{"class":986,"line":1098},[984,21833,1529],{"class":990},[984,21835,21836,21838,21840],{"class":986,"line":1111},[984,21837,1735],{"class":996},[984,21839,1738],{"class":990},[984,21841,14622],{"class":1003},[984,21843,21844],{"class":986,"line":1124},[984,21845,1607],{"class":990},[984,21847,21848],{"class":986,"line":1137},[984,21849,1038],{"class":990},[89,21851,21852],{},[54,21853,21854,14637],{},[150,21855,2150],{},[11,21857,21858],{},[150,21859,1043],{},[866,21861,21862],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,21863,21864,21868,21878,21888,21896],{"__ignoreMap":760},[984,21865,21866],{"class":986,"line":987},[984,21867,991],{"class":990},[984,21869,21870,21872,21874,21876],{"class":986,"line":761},[984,21871,997],{"class":996},[984,21873,1000],{"class":990},[984,21875,1004],{"class":1003},[984,21877,1007],{"class":990},[984,21879,21880,21882,21884,21886],{"class":986,"line":772},[984,21881,1012],{"class":996},[984,21883,1015],{"class":990},[984,21885,2431],{"class":996},[984,21887,1021],{"class":990},[984,21889,21890,21892,21894],{"class":986,"line":1024},[984,21891,1724],{"class":996},[984,21893,1015],{"class":990},[984,21895,2497],{"class":996},[984,21897,21898],{"class":986,"line":1035},[984,21899,1038],{"class":990},[11,21901,14685,21902,14688,21904,14691],{},[150,21903,2682],{},[18,21905,1977],{"href":13823},[26,21907,12324],{"id":12324},[11,21909,14696],{},[11,21911,21912],{},[150,21913,975],{},[866,21915,21916],{"className":978,"code":14703,"language":980,"meta":760,"style":760},[150,21917,21918,21922,21932,21942,21952,21958,21962,21970,21974],{"__ignoreMap":760},[984,21919,21920],{"class":986,"line":987},[984,21921,991],{"class":990},[984,21923,21924,21926,21928,21930],{"class":986,"line":761},[984,21925,997],{"class":996},[984,21927,1000],{"class":990},[984,21929,1004],{"class":1003},[984,21931,1007],{"class":990},[984,21933,21934,21936,21938,21940],{"class":986,"line":772},[984,21935,1012],{"class":996},[984,21937,1015],{"class":990},[984,21939,2431],{"class":996},[984,21941,1021],{"class":990},[984,21943,21944,21946,21948,21950],{"class":986,"line":1024},[984,21945,1027],{"class":996},[984,21947,1000],{"class":990},[984,21949,14738],{"class":1003},[984,21951,1007],{"class":990},[984,21953,21954,21956],{"class":986,"line":1035},[984,21955,1521],{"class":996},[984,21957,1524],{"class":990},[984,21959,21960],{"class":986,"line":1098},[984,21961,1529],{"class":990},[984,21963,21964,21966,21968],{"class":986,"line":1111},[984,21965,1735],{"class":996},[984,21967,1738],{"class":990},[984,21969,14622],{"class":1003},[984,21971,21972],{"class":986,"line":1124},[984,21973,1607],{"class":990},[984,21975,21976],{"class":986,"line":1137},[984,21977,1038],{"class":990},[89,21979,21980],{},[54,21981,21982,14773],{},[150,21983,2150],{},[11,21985,21986],{},[150,21987,1043],{},[866,21989,21990],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,21991,21992,21996,22006,22016,22024],{"__ignoreMap":760},[984,21993,21994],{"class":986,"line":987},[984,21995,991],{"class":990},[984,21997,21998,22000,22002,22004],{"class":986,"line":761},[984,21999,997],{"class":996},[984,22001,1000],{"class":990},[984,22003,1004],{"class":1003},[984,22005,1007],{"class":990},[984,22007,22008,22010,22012,22014],{"class":986,"line":772},[984,22009,1012],{"class":996},[984,22011,1015],{"class":990},[984,22013,2431],{"class":996},[984,22015,1021],{"class":990},[984,22017,22018,22020,22022],{"class":986,"line":1024},[984,22019,1724],{"class":996},[984,22021,1015],{"class":990},[984,22023,2497],{"class":996},[984,22025,22026],{"class":986,"line":1035},[984,22027,1038],{"class":990},[11,22029,14685,22030,14822,22032,14691],{},[150,22031,2682],{},[18,22033,1977],{"href":13823},[26,22035,12303],{"id":12303},[11,22037,14829,22038,14832],{},[18,22039,12337],{"href":12336},[11,22041,22042],{},[150,22043,975],{},[866,22045,22046],{"className":978,"code":14839,"language":980,"meta":760,"style":760},[150,22047,22048,22052,22062,22072,22082,22088,22092,22102,22106],{"__ignoreMap":760},[984,22049,22050],{"class":986,"line":987},[984,22051,991],{"class":990},[984,22053,22054,22056,22058,22060],{"class":986,"line":761},[984,22055,997],{"class":996},[984,22057,1000],{"class":990},[984,22059,1004],{"class":1003},[984,22061,1007],{"class":990},[984,22063,22064,22066,22068,22070],{"class":986,"line":772},[984,22065,1012],{"class":996},[984,22067,1015],{"class":990},[984,22069,2431],{"class":996},[984,22071,1021],{"class":990},[984,22073,22074,22076,22078,22080],{"class":986,"line":1024},[984,22075,1027],{"class":996},[984,22077,1000],{"class":990},[984,22079,14874],{"class":1003},[984,22081,1007],{"class":990},[984,22083,22084,22086],{"class":986,"line":1035},[984,22085,1521],{"class":996},[984,22087,1524],{"class":990},[984,22089,22090],{"class":986,"line":1098},[984,22091,1529],{"class":990},[984,22093,22094,22096,22098,22100],{"class":986,"line":1111},[984,22095,1735],{"class":996},[984,22097,1738],{"class":990},[984,22099,14895],{"class":1003},[984,22101,9008],{"class":990},[984,22103,22104],{"class":986,"line":1124},[984,22105,1607],{"class":990},[984,22107,22108],{"class":986,"line":1137},[984,22109,1038],{"class":990},[11,22111,22112],{},[150,22113,1043],{},[866,22115,22116],{"className":978,"code":14912,"language":980,"meta":760,"style":760},[150,22117,22118,22122,22132,22142,22148,22152,22162,22172,22182,22192,22202,22212,22222,22232,22242,22252,22262,22272,22282,22292,22302,22312,22322,22330,22334],{"__ignoreMap":760},[984,22119,22120],{"class":986,"line":987},[984,22121,991],{"class":990},[984,22123,22124,22126,22128,22130],{"class":986,"line":761},[984,22125,997],{"class":996},[984,22127,1000],{"class":990},[984,22129,1004],{"class":1003},[984,22131,1007],{"class":990},[984,22133,22134,22136,22138,22140],{"class":986,"line":772},[984,22135,1012],{"class":996},[984,22137,1015],{"class":990},[984,22139,2431],{"class":996},[984,22141,1021],{"class":990},[984,22143,22144,22146],{"class":986,"line":1024},[984,22145,1724],{"class":996},[984,22147,1524],{"class":990},[984,22149,22150],{"class":986,"line":1035},[984,22151,14949],{"class":990},[984,22153,22154,22156,22158,22160],{"class":986,"line":1098},[984,22155,1735],{"class":996},[984,22157,1738],{"class":990},[984,22159,14895],{"class":1003},[984,22161,1021],{"class":990},[984,22163,22164,22166,22168,22170],{"class":986,"line":1111},[984,22165,1220],{"class":996},[984,22167,1015],{"class":990},[984,22169,1171],{"class":996},[984,22171,1021],{"class":990},[984,22173,22174,22176,22178,22180],{"class":986,"line":1124},[984,22175,1580],{"class":996},[984,22177,1015],{"class":990},[984,22179,13091],{"class":1003},[984,22181,1021],{"class":990},[984,22183,22184,22186,22188,22190],{"class":986,"line":1137},[984,22185,1546],{"class":996},[984,22187,1015],{"class":990},[984,22189,4979],{"class":996},[984,22191,1021],{"class":990},[984,22193,22194,22196,22198,22200],{"class":986,"line":1150},[984,22195,14994],{"class":996},[984,22197,1015],{"class":990},[984,22199,14999],{"class":1003},[984,22201,1021],{"class":990},[984,22203,22204,22206,22208,22210],{"class":986,"line":1163},[984,22205,15006],{"class":996},[984,22207,1015],{"class":990},[984,22209,1562],{"class":1003},[984,22211,1021],{"class":990},[984,22213,22214,22216,22218,22220],{"class":986,"line":1176},[984,22215,15017],{"class":996},[984,22217,1015],{"class":990},[984,22219,15022],{"class":1003},[984,22221,1021],{"class":990},[984,22223,22224,22226,22228,22230],{"class":986,"line":1189},[984,22225,15029],{"class":996},[984,22227,1015],{"class":990},[984,22229,2431],{"class":996},[984,22231,1021],{"class":990},[984,22233,22234,22236,22238,22240],{"class":986,"line":1202},[984,22235,15040],{"class":996},[984,22237,1738],{"class":990},[984,22239,15045],{"class":1003},[984,22241,1021],{"class":990},[984,22243,22244,22246,22248,22250],{"class":986,"line":1211},[984,22245,15052],{"class":996},[984,22247,1015],{"class":990},[984,22249,1171],{"class":996},[984,22251,1021],{"class":990},[984,22253,22254,22256,22258,22260],{"class":986,"line":1217},[984,22255,15063],{"class":996},[984,22257,1015],{"class":990},[984,22259,15068],{"class":1003},[984,22261,1021],{"class":990},[984,22263,22264,22266,22268,22270],{"class":986,"line":1229},[984,22265,15075],{"class":996},[984,22267,1738],{"class":990},[984,22269,15080],{"class":1003},[984,22271,1021],{"class":990},[984,22273,22274,22276,22278,22280],{"class":986,"line":1241},[984,22275,1534],{"class":996},[984,22277,1015],{"class":990},[984,22279,1539],{"class":996},[984,22281,1021],{"class":990},[984,22283,22284,22286,22288,22290],{"class":986,"line":1254},[984,22285,13098],{"class":996},[984,22287,1738],{"class":990},[984,22289,15101],{"class":996},[984,22291,1021],{"class":990},[984,22293,22294,22296,22298,22300],{"class":986,"line":1266},[984,22295,15108],{"class":996},[984,22297,1738],{"class":990},[984,22299,5089],{"class":996},[984,22301,1021],{"class":990},[984,22303,22304,22306,22308,22310],{"class":986,"line":1279},[984,22305,15119],{"class":996},[984,22307,1015],{"class":990},[984,22309,15124],{"class":1003},[984,22311,1021],{"class":990},[984,22313,22314,22316,22318,22320],{"class":986,"line":1291},[984,22315,15131],{"class":996},[984,22317,1015],{"class":990},[984,22319,13182],{"class":1003},[984,22321,1021],{"class":990},[984,22323,22324,22326,22328],{"class":986,"line":1304},[984,22325,15142],{"class":996},[984,22327,1015],{"class":990},[984,22329,15147],{"class":1003},[984,22331,22332],{"class":986,"line":1316},[984,22333,15152],{"class":990},[984,22335,22336],{"class":986,"line":1327},[984,22337,1038],{"class":990},[26,22339,12337],{"id":12337},[11,22341,15161],{},[11,22343,22344],{},[150,22345,975],{},[866,22347,22348],{"className":978,"code":15168,"language":980,"meta":760,"style":760},[150,22349,22350,22354,22364,22374,22384,22390,22394,22400,22404,22414,22424,22428,22438,22446,22450],{"__ignoreMap":760},[984,22351,22352],{"class":986,"line":987},[984,22353,991],{"class":990},[984,22355,22356,22358,22360,22362],{"class":986,"line":761},[984,22357,997],{"class":996},[984,22359,1000],{"class":990},[984,22361,1004],{"class":1003},[984,22363,1007],{"class":990},[984,22365,22366,22368,22370,22372],{"class":986,"line":772},[984,22367,1012],{"class":996},[984,22369,1015],{"class":990},[984,22371,12972],{"class":996},[984,22373,1021],{"class":990},[984,22375,22376,22378,22380,22382],{"class":986,"line":1024},[984,22377,1027],{"class":996},[984,22379,1000],{"class":990},[984,22381,15203],{"class":1003},[984,22383,1021],{"class":990},[984,22385,22386,22388],{"class":986,"line":1035},[984,22387,1521],{"class":996},[984,22389,1524],{"class":990},[984,22391,22392],{"class":986,"line":1098},[984,22393,1529],{"class":990},[984,22395,22396,22398],{"class":986,"line":1111},[984,22397,15220],{"class":996},[984,22399,5895],{"class":990},[984,22401,22402],{"class":986,"line":1124},[984,22403,8410],{"class":990},[984,22405,22406,22408,22410,22412],{"class":986,"line":1137},[984,22407,15231],{"class":996},[984,22409,1000],{"class":990},[984,22411,2431],{"class":996},[984,22413,1021],{"class":990},[984,22415,22416,22418,22420,22422],{"class":986,"line":1150},[984,22417,15242],{"class":996},[984,22419,1000],{"class":990},[984,22421,15247],{"class":996},[984,22423,1021],{"class":990},[984,22425,22426],{"class":986,"line":1163},[984,22427,15254],{"class":990},[984,22429,22430,22432,22434,22436],{"class":986,"line":1176},[984,22431,15259],{"class":996},[984,22433,1738],{"class":990},[984,22435,1171],{"class":996},[984,22437,1021],{"class":990},[984,22439,22440,22442,22444],{"class":986,"line":1189},[984,22441,15270],{"class":996},[984,22443,1738],{"class":990},[984,22445,15275],{"class":996},[984,22447,22448],{"class":986,"line":1202},[984,22449,1607],{"class":990},[984,22451,22452],{"class":986,"line":1211},[984,22453,1038],{"class":990},[89,22455,22456,22460,22464,22468],{},[54,22457,22458,15291],{},[150,22459,15290],{},[54,22461,22462,15297],{},[150,22463,15296],{},[54,22465,22466,15302],{},[150,22467,6846],{},[54,22469,22470,15308],{},[150,22471,15307],{},[11,22473,15311,22474,4316],{},[150,22475,948],{},[89,22477,22478],{},[54,22479,22480,15321,22482,15324],{},[150,22481,15320],{},[150,22483,15320],{},[11,22485,22486],{},[150,22487,1043],{},[866,22489,22490],{"className":978,"code":15331,"language":980,"meta":760,"style":760},[150,22491,22492,22496,22506,22516,22522,22526,22536,22546,22556,22566,22576,22586,22596,22606,22616,22626,22636,22646,22656,22664,22668,22672,22682,22692,22702,22712,22722,22732,22742,22752,22762,22772,22782,22792,22802,22812,22822,22830,22834,22838,22848,22858,22868,22878,22888,22898,22908,22918,22928,22938,22948,22958,22968,22978,22988,22998,23006,23010],{"__ignoreMap":760},[984,22493,22494],{"class":986,"line":987},[984,22495,991],{"class":990},[984,22497,22498,22500,22502,22504],{"class":986,"line":761},[984,22499,997],{"class":996},[984,22501,1000],{"class":990},[984,22503,1004],{"class":1003},[984,22505,1007],{"class":990},[984,22507,22508,22510,22512,22514],{"class":986,"line":772},[984,22509,1012],{"class":996},[984,22511,1015],{"class":990},[984,22513,12972],{"class":996},[984,22515,1021],{"class":990},[984,22517,22518,22520],{"class":986,"line":1024},[984,22519,1724],{"class":996},[984,22521,1524],{"class":990},[984,22523,22524],{"class":986,"line":1035},[984,22525,15368],{"class":990},[984,22527,22528,22530,22532,22534],{"class":986,"line":1098},[984,22529,1220],{"class":996},[984,22531,1015],{"class":990},[984,22533,1171],{"class":996},[984,22535,1021],{"class":990},[984,22537,22538,22540,22542,22544],{"class":986,"line":1111},[984,22539,1735],{"class":996},[984,22541,1738],{"class":990},[984,22543,14895],{"class":1003},[984,22545,1021],{"class":990},[984,22547,22548,22550,22552,22554],{"class":986,"line":1124},[984,22549,1580],{"class":996},[984,22551,1015],{"class":990},[984,22553,13091],{"class":1003},[984,22555,1021],{"class":990},[984,22557,22558,22560,22562,22564],{"class":986,"line":1137},[984,22559,1546],{"class":996},[984,22561,1015],{"class":990},[984,22563,1171],{"class":996},[984,22565,1021],{"class":990},[984,22567,22568,22570,22572,22574],{"class":986,"line":1150},[984,22569,14994],{"class":996},[984,22571,1015],{"class":990},[984,22573,14999],{"class":1003},[984,22575,1021],{"class":990},[984,22577,22578,22580,22582,22584],{"class":986,"line":1163},[984,22579,15006],{"class":996},[984,22581,1015],{"class":990},[984,22583,1562],{"class":1003},[984,22585,1021],{"class":990},[984,22587,22588,22590,22592,22594],{"class":986,"line":1176},[984,22589,15017],{"class":996},[984,22591,1015],{"class":990},[984,22593,15022],{"class":1003},[984,22595,1021],{"class":990},[984,22597,22598,22600,22602,22604],{"class":986,"line":1189},[984,22599,15029],{"class":996},[984,22601,1015],{"class":990},[984,22603,2431],{"class":996},[984,22605,1021],{"class":990},[984,22607,22608,22610,22612,22614],{"class":986,"line":1202},[984,22609,15040],{"class":996},[984,22611,1738],{"class":990},[984,22613,15045],{"class":1003},[984,22615,1021],{"class":990},[984,22617,22618,22620,22622,22624],{"class":986,"line":1211},[984,22619,15075],{"class":996},[984,22621,1738],{"class":990},[984,22623,15080],{"class":1003},[984,22625,1021],{"class":990},[984,22627,22628,22630,22632,22634],{"class":986,"line":1217},[984,22629,1534],{"class":996},[984,22631,1015],{"class":990},[984,22633,1539],{"class":996},[984,22635,1021],{"class":990},[984,22637,22638,22640,22642,22644],{"class":986,"line":1229},[984,22639,13098],{"class":996},[984,22641,1738],{"class":990},[984,22643,15101],{"class":996},[984,22645,1021],{"class":990},[984,22647,22648,22650,22652,22654],{"class":986,"line":1241},[984,22649,15108],{"class":996},[984,22651,1738],{"class":990},[984,22653,5089],{"class":996},[984,22655,1021],{"class":990},[984,22657,22658,22660,22662],{"class":986,"line":1254},[984,22659,15142],{"class":996},[984,22661,1015],{"class":990},[984,22663,15147],{"class":1003},[984,22665,22666],{"class":986,"line":1266},[984,22667,15511],{"class":990},[984,22669,22670],{"class":986,"line":1279},[984,22671,1529],{"class":990},[984,22673,22674,22676,22678,22680],{"class":986,"line":1291},[984,22675,15520],{"class":996},[984,22677,1015],{"class":990},[984,22679,1345],{"class":996},[984,22681,1021],{"class":990},[984,22683,22684,22686,22688,22690],{"class":986,"line":1304},[984,22685,15531],{"class":996},[984,22687,1015],{"class":990},[984,22689,15536],{"class":1003},[984,22691,1021],{"class":990},[984,22693,22694,22696,22698,22700],{"class":986,"line":1316},[984,22695,15543],{"class":996},[984,22697,1015],{"class":990},[984,22699,13091],{"class":1003},[984,22701,1021],{"class":990},[984,22703,22704,22706,22708,22710],{"class":986,"line":1327},[984,22705,15554],{"class":996},[984,22707,1015],{"class":990},[984,22709,15559],{"class":996},[984,22711,1021],{"class":990},[984,22713,22714,22716,22718,22720],{"class":986,"line":1333},[984,22715,15566],{"class":996},[984,22717,1015],{"class":990},[984,22719,15571],{"class":996},[984,22721,1021],{"class":990},[984,22723,22724,22726,22728,22730],{"class":986,"line":1338},[984,22725,6656],{"class":996},[984,22727,1015],{"class":990},[984,22729,1171],{"class":996},[984,22731,1021],{"class":990},[984,22733,22734,22736,22738,22740],{"class":986,"line":1355},[984,22735,15588],{"class":996},[984,22737,1015],{"class":990},[984,22739,15593],{"class":996},[984,22741,1021],{"class":990},[984,22743,22744,22746,22748,22750],{"class":986,"line":1367},[984,22745,15600],{"class":996},[984,22747,1015],{"class":990},[984,22749,5089],{"class":996},[984,22751,1021],{"class":990},[984,22753,22754,22756,22758,22760],{"class":986,"line":1379},[984,22755,15611],{"class":996},[984,22757,1015],{"class":990},[984,22759,1397],{"class":1003},[984,22761,1021],{"class":990},[984,22763,22764,22766,22768,22770],{"class":986,"line":1390},[984,22765,15622],{"class":996},[984,22767,1015],{"class":990},[984,22769,1397],{"class":1003},[984,22771,1021],{"class":990},[984,22773,22774,22776,22778,22780],{"class":986,"line":1402},[984,22775,15633],{"class":996},[984,22777,1015],{"class":990},[984,22779,5131],{"class":996},[984,22781,1021],{"class":990},[984,22783,22784,22786,22788,22790],{"class":986,"line":1413},[984,22785,15644],{"class":996},[984,22787,1015],{"class":990},[984,22789,15649],{"class":1003},[984,22791,1021],{"class":990},[984,22793,22794,22796,22798,22800],{"class":986,"line":1424},[984,22795,15656],{"class":996},[984,22797,1015],{"class":990},[984,22799,15661],{"class":1003},[984,22801,1021],{"class":990},[984,22803,22804,22806,22808,22810],{"class":986,"line":1435},[984,22805,15668],{"class":996},[984,22807,1015],{"class":990},[984,22809,1018],{"class":996},[984,22811,1021],{"class":990},[984,22813,22814,22816,22818,22820],{"class":986,"line":1444},[984,22815,15679],{"class":996},[984,22817,1015],{"class":990},[984,22819,15684],{"class":1003},[984,22821,1021],{"class":990},[984,22823,22824,22826,22828],{"class":986,"line":1450},[984,22825,15691],{"class":996},[984,22827,1015],{"class":990},[984,22829,15696],{"class":996},[984,22831,22832],{"class":986,"line":1456},[984,22833,15511],{"class":990},[984,22835,22836],{"class":986,"line":1462},[984,22837,1529],{"class":990},[984,22839,22840,22842,22844,22846],{"class":986,"line":7201},[984,22841,1220],{"class":996},[984,22843,1015],{"class":990},[984,22845,1345],{"class":996},[984,22847,1021],{"class":990},[984,22849,22850,22852,22854,22856],{"class":986,"line":7206},[984,22851,15719],{"class":996},[984,22853,1015],{"class":990},[984,22855,15536],{"class":1003},[984,22857,1021],{"class":990},[984,22859,22860,22862,22864,22866],{"class":986,"line":7218},[984,22861,1580],{"class":996},[984,22863,1015],{"class":990},[984,22865,13091],{"class":1003},[984,22867,1021],{"class":990},[984,22869,22870,22872,22874,22876],{"class":986,"line":7229},[984,22871,15740],{"class":996},[984,22873,1015],{"class":990},[984,22875,15745],{"class":996},[984,22877,1021],{"class":990},[984,22879,22880,22882,22884,22886],{"class":986,"line":7241},[984,22881,15752],{"class":996},[984,22883,1015],{"class":990},[984,22885,15757],{"class":996},[984,22887,1021],{"class":990},[984,22889,22890,22892,22894,22896],{"class":986,"line":7252},[984,22891,13098],{"class":996},[984,22893,1015],{"class":990},[984,22895,15768],{"class":996},[984,22897,1021],{"class":990},[984,22899,22900,22902,22904,22906],{"class":986,"line":7262},[984,22901,1546],{"class":996},[984,22903,1015],{"class":990},[984,22905,4979],{"class":996},[984,22907,1021],{"class":990},[984,22909,22910,22912,22914,22916],{"class":986,"line":7267},[984,22911,15108],{"class":996},[984,22913,1015],{"class":990},[984,22915,5089],{"class":996},[984,22917,1021],{"class":990},[984,22919,22920,22922,22924,22926],{"class":986,"line":7272},[984,22921,14994],{"class":996},[984,22923,1015],{"class":990},[984,22925,15799],{"class":1003},[984,22927,1021],{"class":990},[984,22929,22930,22932,22934,22936],{"class":986,"line":7279},[984,22931,15006],{"class":996},[984,22933,1015],{"class":990},[984,22935,1397],{"class":1003},[984,22937,1021],{"class":990},[984,22939,22940,22942,22944,22946],{"class":986,"line":7284},[984,22941,15017],{"class":996},[984,22943,1015],{"class":990},[984,22945,1397],{"class":1003},[984,22947,1021],{"class":990},[984,22949,22950,22952,22954,22956],{"class":986,"line":7295},[984,22951,15029],{"class":996},[984,22953,1015],{"class":990},[984,22955,5131],{"class":996},[984,22957,1021],{"class":990},[984,22959,22960,22962,22964,22966],{"class":986,"line":7307},[984,22961,15040],{"class":996},[984,22963,1015],{"class":990},[984,22965,15840],{"class":1003},[984,22967,1021],{"class":990},[984,22969,22970,22972,22974,22976],{"class":986,"line":7318},[984,22971,1735],{"class":996},[984,22973,1015],{"class":990},[984,22975,15851],{"class":1003},[984,22977,1021],{"class":990},[984,22979,22980,22982,22984,22986],{"class":986,"line":7328},[984,22981,15052],{"class":996},[984,22983,1015],{"class":990},[984,22985,1503],{"class":996},[984,22987,1021],{"class":990},[984,22989,22990,22992,22994,22996],{"class":986,"line":7333},[984,22991,15063],{"class":996},[984,22993,1015],{"class":990},[984,22995,15872],{"class":1003},[984,22997,1021],{"class":990},[984,22999,23000,23002,23004],{"class":986,"line":7338},[984,23001,1534],{"class":996},[984,23003,1015],{"class":990},[984,23005,15883],{"class":996},[984,23007,23008],{"class":986,"line":7350},[984,23009,15888],{"class":990},[984,23011,23012],{"class":986,"line":7361},[984,23013,1038],{"class":990},[89,23015,23016,23020,23026,23030,23037,23043,23047,23051,23055,23059,23063],{},[54,23017,23018,15900],{},[150,23019,15899],{},[54,23021,23022,163,23024,15908],{},[150,23023,6545],{},[150,23025,15907],{},[54,23027,23028,15913],{},[150,23029,15907],{},[54,23031,23032,163,23034,23036],{},[150,23033,15918],{},[150,23035,15921],{}," are present if both participants provided these. In UI and CLI called as \"sender wallet's signature\" and \"receiver wallet's signature\".",[54,23038,23039,15928,23041,15931],{},[150,23040,15927],{},[150,23042,6390],{},[54,23044,23045,15936],{},[150,23046,14141],{},[54,23048,23049,15942],{},[150,23050,15941],{},[54,23052,23053,15948],{},[150,23054,15947],{},[54,23056,23057,15953],{},[150,23058,848],{},[54,23060,23061,15958],{},[150,23062,14141],{},[54,23064,23065,15963],{},[150,23066,6551],{},[716,23068,15967],{"id":15966},[716,23070,15971],{"id":15970},[89,23072,23073,23077,23087,23091,23105,23111],{},[54,23074,15976,23075,15980],{},[150,23076,15979],{},[54,23078,15983,23079,4665,23081,4665,23083,4665,23085,15996],{},[150,23080,15986],{},[150,23082,15989],{},[150,23084,15992],{},[150,23086,15995],{},[54,23088,15999,23089,16003],{},[150,23090,16002],{},[54,23092,16006,23093,4665,23095,4665,23097,4665,23099,4665,23101,4665,23103],{},[150,23094,16009],{},[150,23096,16012],{},[150,23098,16015],{},[150,23100,16018],{},[150,23102,16021],{},[150,23104,16024],{},[54,23106,16027,23107,16031,23109],{},[150,23108,16030],{},[150,23110,16034],{},[54,23112,16037,23113,4665,23115,4665,23117,4665,23119,16048],{},[150,23114,15986],{},[150,23116,16042],{},[150,23118,16045],{},[150,23120,15995],{},[716,23122,16052],{"id":16051},[89,23124,23125,23127,23129,23131,23133,23135,23137,23139,23141],{},[54,23126,16057],{},[54,23128,16060],{},[54,23130,16063],{},[54,23132,16066],{},[54,23134,16069],{},[54,23136,16072],{},[54,23138,16075],{},[54,23140,16078],{},[54,23142,16081],{},[11,23144,23145,16087],{},[94,23146,16086],{},[26,23148,883],{"id":883},[11,23150,16092],{},[11,23152,23153],{},[150,23154,975],{},[866,23156,23157],{"className":978,"code":979,"language":980,"meta":760,"style":760},[150,23158,23159,23163,23173,23183,23191],{"__ignoreMap":760},[984,23160,23161],{"class":986,"line":987},[984,23162,991],{"class":990},[984,23164,23165,23167,23169,23171],{"class":986,"line":761},[984,23166,997],{"class":996},[984,23168,1000],{"class":990},[984,23170,1004],{"class":1003},[984,23172,1007],{"class":990},[984,23174,23175,23177,23179,23181],{"class":986,"line":772},[984,23176,1012],{"class":996},[984,23178,1015],{"class":990},[984,23180,1018],{"class":996},[984,23182,1021],{"class":990},[984,23184,23185,23187,23189],{"class":986,"line":1024},[984,23186,1027],{"class":996},[984,23188,1000],{"class":990},[984,23190,1032],{"class":1003},[984,23192,23193],{"class":986,"line":1035},[984,23194,1038],{"class":990},[11,23196,23197],{},[150,23198,1043],{},[866,23200,23202],{"className":978,"code":23201,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"result\":\n    {\n        \"current_height\" : 1055,\n        \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n            \"current_state_timestamp\": 1625060769,\n        \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n            \"is_in_sync\": true,\n        \"available\": 100500,\n        \"receiving\": 123,\n        \"sending\": 0,\n        \"maturing\": 50,\n        \"locked\": 30,\n        \"difficulty\": 2.93914,\n    }\n}\n",[150,23203,23204,23208,23218,23228,23234,23238,23248,23258,23270,23280,23291,23301,23311,23321,23331,23341,23351,23355],{"__ignoreMap":760},[984,23205,23206],{"class":986,"line":987},[984,23207,991],{"class":990},[984,23209,23210,23212,23214,23216],{"class":986,"line":761},[984,23211,997],{"class":996},[984,23213,1000],{"class":990},[984,23215,1004],{"class":1003},[984,23217,1007],{"class":990},[984,23219,23220,23222,23224,23226],{"class":986,"line":772},[984,23221,1012],{"class":996},[984,23223,1015],{"class":990},[984,23225,1018],{"class":996},[984,23227,1021],{"class":990},[984,23229,23230,23232],{"class":986,"line":1024},[984,23231,1724],{"class":996},[984,23233,1524],{"class":990},[984,23235,23236],{"class":986,"line":1035},[984,23237,1529],{"class":990},[984,23239,23240,23242,23244,23246],{"class":986,"line":1098},[984,23241,16184],{"class":996},[984,23243,1738],{"class":990},[984,23245,15247],{"class":996},[984,23247,1021],{"class":990},[984,23249,23250,23252,23254,23256],{"class":986,"line":1111},[984,23251,16195],{"class":996},[984,23253,1738],{"class":990},[984,23255,15022],{"class":1003},[984,23257,1021],{"class":990},[984,23259,23260,23263,23265,23268],{"class":986,"line":1124},[984,23261,23262],{"class":996},"            \"current_state_timestamp\"",[984,23264,1015],{"class":990},[984,23266,23267],{"class":996},"1625060769",[984,23269,1021],{"class":990},[984,23271,23272,23274,23276,23278],{"class":986,"line":1137},[984,23273,16206],{"class":996},[984,23275,1738],{"class":990},[984,23277,16211],{"class":1003},[984,23279,1021],{"class":990},[984,23281,23282,23285,23287,23289],{"class":986,"line":1150},[984,23283,23284],{"class":996},"            \"is_in_sync\"",[984,23286,1015],{"class":990},[984,23288,2682],{"class":996},[984,23290,1021],{"class":990},[984,23292,23293,23295,23297,23299],{"class":986,"line":1163},[984,23294,1232],{"class":996},[984,23296,1015],{"class":990},[984,23298,16222],{"class":996},[984,23300,1021],{"class":990},[984,23302,23303,23305,23307,23309],{"class":986,"line":1176},[984,23304,1282],{"class":996},[984,23306,1015],{"class":990},[984,23308,1158],{"class":996},[984,23310,1021],{"class":990},[984,23312,23313,23315,23317,23319],{"class":986,"line":1189},[984,23314,1307],{"class":996},[984,23316,1015],{"class":990},[984,23318,1171],{"class":996},[984,23320,1021],{"class":990},[984,23322,23323,23325,23327,23329],{"class":986,"line":1202},[984,23324,1257],{"class":996},[984,23326,1015],{"class":990},[984,23328,16253],{"class":996},[984,23330,1021],{"class":990},[984,23332,23333,23335,23337,23339],{"class":986,"line":1211},[984,23334,16260],{"class":996},[984,23336,1015],{"class":990},[984,23338,1197],{"class":996},[984,23340,1021],{"class":990},[984,23342,23343,23345,23347,23349],{"class":986,"line":1217},[984,23344,16271],{"class":996},[984,23346,1015],{"class":990},[984,23348,16276],{"class":996},[984,23350,1021],{"class":990},[984,23352,23353],{"class":986,"line":1229},[984,23354,1607],{"class":990},[984,23356,23357],{"class":986,"line":1241},[984,23358,1038],{"class":990},[89,23360,23361,23365,23369,23373,23377,23381,23386],{},[54,23362,23363,16293],{},[150,23364,12157],{},[54,23366,23367,16299],{},[150,23368,16298],{},[54,23370,23371,16304],{},[150,23372,12160],{},[54,23374,23375,16310],{},[150,23376,16309],{},[54,23378,23379,16315],{},[150,23380,10335],{},[54,23382,23383,23385],{},[150,23384,19514],{}," is a UNIX timestamp in seconds",[54,23387,23388,23390],{},[150,23389,19511],{}," true is wallet is in sync with blockchain",[11,23392,23393,23394,4316],{},"Starting from v5.0 assets support has been added. This slightly changes API response: totals array is added which provides amounts for each asset int the wallet. To get the totals array assets should be enabled (",[150,23395,948],{},[11,23397,23398],{},[150,23399,975],{},[866,23401,23403],{"className":978,"code":23402,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"wallet_status\",\n        \"params\": {\n            \"nz_totals\": false\n        }\n}\n",[150,23404,23405,23409,23419,23429,23439,23446,23455,23459],{"__ignoreMap":760},[984,23406,23407],{"class":986,"line":987},[984,23408,991],{"class":990},[984,23410,23411,23413,23415,23417],{"class":986,"line":761},[984,23412,997],{"class":996},[984,23414,1000],{"class":990},[984,23416,1004],{"class":1003},[984,23418,1007],{"class":990},[984,23420,23421,23423,23425,23427],{"class":986,"line":772},[984,23422,1012],{"class":996},[984,23424,1015],{"class":990},[984,23426,1018],{"class":996},[984,23428,1021],{"class":990},[984,23430,23431,23433,23435,23437],{"class":986,"line":1024},[984,23432,1027],{"class":996},[984,23434,1000],{"class":990},[984,23436,11949],{"class":1003},[984,23438,1021],{"class":990},[984,23440,23441,23444],{"class":986,"line":1035},[984,23442,23443],{"class":996},"        \"params\"",[984,23445,1083],{"class":990},[984,23447,23448,23451,23453],{"class":986,"line":1098},[984,23449,23450],{"class":996},"            \"nz_totals\"",[984,23452,1015],{"class":990},[984,23454,13679],{"class":996},[984,23456,23457],{"class":986,"line":1111},[984,23458,9333],{"class":990},[984,23460,23461],{"class":986,"line":1124},[984,23462,1038],{"class":990},[89,23464,23465],{},[54,23466,23467,23469],{},[150,23468,12147],{},"optional bool. If true do not return totals for assets with zero balance. By default is false.",[11,23471,23472],{},[150,23473,1043],{},[866,23475,23477],{"className":978,"code":23476,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\" : 1055,\n    \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n    \"current_state_timestamp\": 1625060769,\n    \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n    \"is_in_sync\": true,\n    \"available\": 100500,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 50,\n    \"difficulty\": 2.93914,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 100500,\n        \"available_str\": \"100500\",\n        \"maturing\": 50,\n        \"maturing_str\": \"50\",\n        \"receiving\": 123,\n        \"receiving_str\": \"123\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[150,23478,23479,23483,23493,23503,23509,23519,23529,23540,23550,23561,23571,23581,23591,23601,23611,23617,23621,23631,23641,23651,23661,23671,23681,23691,23701,23709,23713,23717,23727,23737,23747,23757,23767,23777,23787,23797,23805,23809,23813,23817],{"__ignoreMap":760},[984,23480,23481],{"class":986,"line":987},[984,23482,991],{"class":990},[984,23484,23485,23487,23489,23491],{"class":986,"line":761},[984,23486,1057],{"class":996},[984,23488,1015],{"class":990},[984,23490,1062],{"class":996},[984,23492,1021],{"class":990},[984,23494,23495,23497,23499,23501],{"class":986,"line":772},[984,23496,1069],{"class":996},[984,23498,1015],{"class":990},[984,23500,1004],{"class":1003},[984,23502,1021],{"class":990},[984,23504,23505,23507],{"class":986,"line":1024},[984,23506,1080],{"class":996},[984,23508,1083],{"class":990},[984,23510,23511,23513,23515,23517],{"class":986,"line":1035},[984,23512,1088],{"class":996},[984,23514,1738],{"class":990},[984,23516,15247],{"class":996},[984,23518,1021],{"class":990},[984,23520,23521,23523,23525,23527],{"class":986,"line":1098},[984,23522,1101],{"class":996},[984,23524,1738],{"class":990},[984,23526,15022],{"class":1003},[984,23528,1021],{"class":990},[984,23530,23531,23534,23536,23538],{"class":986,"line":1111},[984,23532,23533],{"class":996},"    \"current_state_timestamp\"",[984,23535,1015],{"class":990},[984,23537,23267],{"class":996},[984,23539,1021],{"class":990},[984,23541,23542,23544,23546,23548],{"class":986,"line":1124},[984,23543,1127],{"class":996},[984,23545,1738],{"class":990},[984,23547,16211],{"class":1003},[984,23549,1021],{"class":990},[984,23551,23552,23555,23557,23559],{"class":986,"line":1137},[984,23553,23554],{"class":996},"    \"is_in_sync\"",[984,23556,1015],{"class":990},[984,23558,2682],{"class":996},[984,23560,1021],{"class":990},[984,23562,23563,23565,23567,23569],{"class":986,"line":1150},[984,23564,1140],{"class":996},[984,23566,1015],{"class":990},[984,23568,16222],{"class":996},[984,23570,1021],{"class":990},[984,23572,23573,23575,23577,23579],{"class":986,"line":1163},[984,23574,1153],{"class":996},[984,23576,1015],{"class":990},[984,23578,1158],{"class":996},[984,23580,1021],{"class":990},[984,23582,23583,23585,23587,23589],{"class":986,"line":1176},[984,23584,1166],{"class":996},[984,23586,1015],{"class":990},[984,23588,1171],{"class":996},[984,23590,1021],{"class":990},[984,23592,23593,23595,23597,23599],{"class":986,"line":1189},[984,23594,1179],{"class":996},[984,23596,1015],{"class":990},[984,23598,16253],{"class":996},[984,23600,1021],{"class":990},[984,23602,23603,23605,23607,23609],{"class":986,"line":1202},[984,23604,1114],{"class":996},[984,23606,1015],{"class":990},[984,23608,16276],{"class":996},[984,23610,1021],{"class":990},[984,23612,23613,23615],{"class":986,"line":1211},[984,23614,1205],{"class":996},[984,23616,1208],{"class":990},[984,23618,23619],{"class":986,"line":1217},[984,23620,1214],{"class":990},[984,23622,23623,23625,23627,23629],{"class":986,"line":1229},[984,23624,1220],{"class":996},[984,23626,1015],{"class":990},[984,23628,1171],{"class":996},[984,23630,1021],{"class":990},[984,23632,23633,23635,23637,23639],{"class":986,"line":1241},[984,23634,1232],{"class":996},[984,23636,1015],{"class":990},[984,23638,16222],{"class":996},[984,23640,1021],{"class":990},[984,23642,23643,23645,23647,23649],{"class":986,"line":1254},[984,23644,1244],{"class":996},[984,23646,1015],{"class":990},[984,23648,16522],{"class":1003},[984,23650,1021],{"class":990},[984,23652,23653,23655,23657,23659],{"class":986,"line":1266},[984,23654,1257],{"class":996},[984,23656,1015],{"class":990},[984,23658,16253],{"class":996},[984,23660,1021],{"class":990},[984,23662,23663,23665,23667,23669],{"class":986,"line":1279},[984,23664,1269],{"class":996},[984,23666,1015],{"class":990},[984,23668,16543],{"class":1003},[984,23670,1021],{"class":990},[984,23672,23673,23675,23677,23679],{"class":986,"line":1291},[984,23674,1282],{"class":996},[984,23676,1015],{"class":990},[984,23678,1158],{"class":996},[984,23680,1021],{"class":990},[984,23682,23683,23685,23687,23689],{"class":986,"line":1304},[984,23684,1294],{"class":996},[984,23686,1015],{"class":990},[984,23688,1299],{"class":1003},[984,23690,1021],{"class":990},[984,23692,23693,23695,23697,23699],{"class":986,"line":1316},[984,23694,1307],{"class":996},[984,23696,1015],{"class":990},[984,23698,1171],{"class":996},[984,23700,1021],{"class":990},[984,23702,23703,23705,23707],{"class":986,"line":1327},[984,23704,1319],{"class":996},[984,23706,1015],{"class":990},[984,23708,1324],{"class":1003},[984,23710,23711],{"class":986,"line":1333},[984,23712,1330],{"class":990},[984,23714,23715],{"class":986,"line":1338},[984,23716,1214],{"class":990},[984,23718,23719,23721,23723,23725],{"class":986,"line":1355},[984,23720,1220],{"class":996},[984,23722,1015],{"class":990},[984,23724,1345],{"class":996},[984,23726,1021],{"class":990},[984,23728,23729,23731,23733,23735],{"class":986,"line":1367},[984,23730,1232],{"class":996},[984,23732,1015],{"class":990},[984,23734,1362],{"class":996},[984,23736,1021],{"class":990},[984,23738,23739,23741,23743,23745],{"class":986,"line":1379},[984,23740,1244],{"class":996},[984,23742,1015],{"class":990},[984,23744,1374],{"class":1003},[984,23746,1021],{"class":990},[984,23748,23749,23751,23753,23755],{"class":986,"line":1390},[984,23750,1257],{"class":996},[984,23752,1015],{"class":990},[984,23754,1171],{"class":996},[984,23756,1021],{"class":990},[984,23758,23759,23761,23763,23765],{"class":986,"line":1402},[984,23760,1269],{"class":996},[984,23762,1015],{"class":990},[984,23764,1397],{"class":1003},[984,23766,1021],{"class":990},[984,23768,23769,23771,23773,23775],{"class":986,"line":1413},[984,23770,1282],{"class":996},[984,23772,1015],{"class":990},[984,23774,1171],{"class":996},[984,23776,1021],{"class":990},[984,23778,23779,23781,23783,23785],{"class":986,"line":1424},[984,23780,1294],{"class":996},[984,23782,1015],{"class":990},[984,23784,1397],{"class":1003},[984,23786,1021],{"class":990},[984,23788,23789,23791,23793,23795],{"class":986,"line":1435},[984,23790,1307],{"class":996},[984,23792,1015],{"class":990},[984,23794,1171],{"class":996},[984,23796,1021],{"class":990},[984,23798,23799,23801,23803],{"class":986,"line":1444},[984,23800,1319],{"class":996},[984,23802,1015],{"class":990},[984,23804,1324],{"class":1003},[984,23806,23807],{"class":986,"line":1450},[984,23808,1447],{"class":990},[984,23810,23811],{"class":986,"line":1456},[984,23812,1453],{"class":990},[984,23814,23815],{"class":986,"line":1462},[984,23816,1459],{"class":990},[984,23818,23819],{"class":986,"line":7201},[984,23820,1038],{"class":990},[89,23822,23823],{},[54,23824,23825,12120,23827],{},[150,23826,12119],{},[89,23828,23829,23831,23833],{},[54,23830,12125],{},[54,23832,12128],{},[54,23834,12131],{},[11,23836,12134,23837,12137,23839,12140,23841,12144,23843,12148],{},[150,23838,12119],{},[150,23840,848],{},[150,23842,12143],{},[150,23844,12147],{},[11,23846,12151,23847,12154,23849,441,23851,12161,23853,2008,23855,12166,23857,12169,23859,12173],{},[111,23848,2003],{},[150,23850,12157],{},[150,23852,12160],{},[150,23854,2007],{},[111,23856,2011],{},[150,23858,2007],{},[150,23860,12172],{},[26,23862,12024],{"id":12024},[11,23864,16749],{},[11,23866,23867],{},[150,23868,975],{},[866,23870,23871],{"className":978,"code":16756,"language":980,"meta":760,"style":760},[150,23872,23873,23877,23887,23897,23907,23913,23917,23927,23937,23943,23953,23961,23965,23969],{"__ignoreMap":760},[984,23874,23875],{"class":986,"line":987},[984,23876,991],{"class":990},[984,23878,23879,23881,23883,23885],{"class":986,"line":761},[984,23880,997],{"class":996},[984,23882,1000],{"class":990},[984,23884,1004],{"class":1003},[984,23886,1007],{"class":990},[984,23888,23889,23891,23893,23895],{"class":986,"line":772},[984,23890,1012],{"class":996},[984,23892,1015],{"class":990},[984,23894,1018],{"class":996},[984,23896,1021],{"class":990},[984,23898,23899,23901,23903,23905],{"class":986,"line":1024},[984,23900,1027],{"class":996},[984,23902,1000],{"class":990},[984,23904,16791],{"class":1003},[984,23906,1021],{"class":990},[984,23908,23909,23911],{"class":986,"line":1035},[984,23910,1521],{"class":996},[984,23912,1803],{"class":990},[984,23914,23915],{"class":986,"line":1098},[984,23916,1529],{"class":990},[984,23918,23919,23921,23923,23925],{"class":986,"line":1111},[984,23920,15270],{"class":996},[984,23922,1015],{"class":990},[984,23924,16812],{"class":996},[984,23926,1021],{"class":990},[984,23928,23929,23931,23933,23935],{"class":986,"line":1124},[984,23930,15259],{"class":996},[984,23932,1015],{"class":990},[984,23934,1171],{"class":996},[984,23936,1021],{"class":990},[984,23938,23939,23941],{"class":986,"line":1137},[984,23940,16829],{"class":996},[984,23942,1083],{"class":990},[984,23944,23945,23947,23949,23951],{"class":986,"line":1150},[984,23946,16836],{"class":996},[984,23948,1015],{"class":990},[984,23950,16841],{"class":1003},[984,23952,1021],{"class":990},[984,23954,23955,23957,23959],{"class":986,"line":1163},[984,23956,16848],{"class":996},[984,23958,1015],{"class":990},[984,23960,16853],{"class":1003},[984,23962,23963],{"class":986,"line":1176},[984,23964,9333],{"class":990},[984,23966,23967],{"class":986,"line":1189},[984,23968,1607],{"class":990},[984,23970,23971],{"class":986,"line":1202},[984,23972,1038],{"class":990},[89,23974,23975,23979,23985,23989],{},[54,23976,23977,16872],{},[150,23978,6846],{},[54,23980,23981,16877,23983,385],{},[150,23982,15307],{},[150,23984,1171],{},[54,23986,23987,16885],{},[150,23988,16884],{},[54,23990,23991,16891],{},[150,23992,16890],{},[11,23994,23995],{},[150,23996,1043],{},[866,23998,23999],{"className":978,"code":16898,"language":980,"meta":760,"style":760},[150,24000,24001,24005,24015,24025,24031,24035,24045,24055,24065,24075,24085,24095,24105,24115,24123,24127],{"__ignoreMap":760},[984,24002,24003],{"class":986,"line":987},[984,24004,991],{"class":990},[984,24006,24007,24009,24011,24013],{"class":986,"line":761},[984,24008,997],{"class":996},[984,24010,1015],{"class":990},[984,24012,1004],{"class":1003},[984,24014,1007],{"class":990},[984,24016,24017,24019,24021,24023],{"class":986,"line":772},[984,24018,1012],{"class":996},[984,24020,1015],{"class":990},[984,24022,1018],{"class":996},[984,24024,1021],{"class":990},[984,24026,24027,24029],{"class":986,"line":1024},[984,24028,1724],{"class":996},[984,24030,1524],{"class":990},[984,24032,24033],{"class":986,"line":1035},[984,24034,13070],{"class":990},[984,24036,24037,24039,24041,24043],{"class":986,"line":1098},[984,24038,6969],{"class":996},[984,24040,1015],{"class":990},[984,24042,1158],{"class":996},[984,24044,1021],{"class":990},[984,24046,24047,24049,24051,24053],{"class":986,"line":1111},[984,24048,1220],{"class":996},[984,24050,1015],{"class":990},[984,24052,1171],{"class":996},[984,24054,1021],{"class":990},[984,24056,24057,24059,24061,24063],{"class":986,"line":1124},[984,24058,2459],{"class":996},[984,24060,1015],{"class":990},[984,24062,16963],{"class":996},[984,24064,1021],{"class":990},[984,24066,24067,24069,24071,24073],{"class":986,"line":1137},[984,24068,7056],{"class":996},[984,24070,1015],{"class":990},[984,24072,16974],{"class":996},[984,24074,1021],{"class":990},[984,24076,24077,24079,24081,24083],{"class":986,"line":1150},[984,24078,5926],{"class":996},[984,24080,1015],{"class":990},[984,24082,16985],{"class":1003},[984,24084,1021],{"class":990},[984,24086,24087,24089,24091,24093],{"class":986,"line":1163},[984,24088,16992],{"class":996},[984,24090,1015],{"class":990},[984,24092,14895],{"class":1003},[984,24094,1021],{"class":990},[984,24096,24097,24099,24101,24103],{"class":986,"line":1176},[984,24098,17003],{"class":996},[984,24100,1015],{"class":990},[984,24102,13091],{"class":1003},[984,24104,1021],{"class":990},[984,24106,24107,24109,24111,24113],{"class":986,"line":1189},[984,24108,15029],{"class":996},[984,24110,1015],{"class":990},[984,24112,1503],{"class":996},[984,24114,1021],{"class":990},[984,24116,24117,24119,24121],{"class":986,"line":1202},[984,24118,15040],{"class":996},[984,24120,1015],{"class":990},[984,24122,17028],{"class":1003},[984,24124,24125],{"class":986,"line":1211},[984,24126,15888],{"class":990},[984,24128,24129],{"class":986,"line":1217},[984,24130,1038],{"class":990},[89,24132,24133,24139],{},[54,24134,24135,17043,24137,2758],{},[150,24136,848],{},[150,24138,948],{},[54,24140,24141,17050],{},[150,24142,15320],{},[11,24144,24145],{},[150,24146,975],{},[866,24148,24149],{"className":978,"code":17057,"language":980,"meta":760,"style":760},[150,24150,24151,24155,24165,24175,24185,24191,24201,24207,24215,24219,24223],{"__ignoreMap":760},[984,24152,24153],{"class":986,"line":987},[984,24154,991],{"class":990},[984,24156,24157,24159,24161,24163],{"class":986,"line":761},[984,24158,997],{"class":996},[984,24160,1015],{"class":990},[984,24162,1004],{"class":1003},[984,24164,1021],{"class":990},[984,24166,24167,24169,24171,24173],{"class":986,"line":772},[984,24168,1012],{"class":996},[984,24170,1015],{"class":990},[984,24172,1062],{"class":996},[984,24174,1021],{"class":990},[984,24176,24177,24179,24181,24183],{"class":986,"line":1024},[984,24178,1027],{"class":996},[984,24180,1015],{"class":990},[984,24182,16791],{"class":1003},[984,24184,1021],{"class":990},[984,24186,24187,24189],{"class":986,"line":1035},[984,24188,1521],{"class":996},[984,24190,1083],{"class":990},[984,24192,24193,24195,24197,24199],{"class":986,"line":1098},[984,24194,17104],{"class":996},[984,24196,1015],{"class":990},[984,24198,2682],{"class":996},[984,24200,1021],{"class":990},[984,24202,24203,24205],{"class":986,"line":1111},[984,24204,15220],{"class":996},[984,24206,1083],{"class":990},[984,24208,24209,24211,24213],{"class":986,"line":1124},[984,24210,17121],{"class":996},[984,24212,1015],{"class":990},[984,24214,1678],{"class":996},[984,24216,24217],{"class":986,"line":1137},[984,24218,9333],{"class":990},[984,24220,24221],{"class":986,"line":1150},[984,24222,1607],{"class":990},[984,24224,24225],{"class":986,"line":1163},[984,24226,1038],{"class":990},[11,24228,24229],{},[150,24230,1043],{},[866,24232,24233],{"className":978,"code":17144,"language":980,"meta":760,"style":760},[150,24234,24235,24239,24249,24259,24265,24269,24279,24289,24299,24309,24319,24329,24339,24349,24357,24361,24365],{"__ignoreMap":760},[984,24236,24237],{"class":986,"line":987},[984,24238,991],{"class":990},[984,24240,24241,24243,24245,24247],{"class":986,"line":761},[984,24242,1057],{"class":996},[984,24244,1015],{"class":990},[984,24246,1062],{"class":996},[984,24248,1021],{"class":990},[984,24250,24251,24253,24255,24257],{"class":986,"line":772},[984,24252,1069],{"class":996},[984,24254,1015],{"class":990},[984,24256,1004],{"class":1003},[984,24258,1021],{"class":990},[984,24260,24261,24263],{"class":986,"line":1024},[984,24262,1080],{"class":996},[984,24264,1208],{"class":990},[984,24266,24267],{"class":986,"line":1035},[984,24268,1529],{"class":990},[984,24270,24271,24273,24275,24277],{"class":986,"line":1098},[984,24272,17185],{"class":996},[984,24274,1015],{"class":990},[984,24276,17190],{"class":996},[984,24278,1021],{"class":990},[984,24280,24281,24283,24285,24287],{"class":986,"line":1111},[984,24282,15520],{"class":996},[984,24284,1015],{"class":990},[984,24286,1345],{"class":996},[984,24288,1021],{"class":990},[984,24290,24291,24293,24295,24297],{"class":986,"line":1124},[984,24292,17207],{"class":996},[984,24294,1015],{"class":990},[984,24296,17212],{"class":1003},[984,24298,1021],{"class":990},[984,24300,24301,24303,24305,24307],{"class":986,"line":1137},[984,24302,6667],{"class":996},[984,24304,1015],{"class":990},[984,24306,17223],{"class":1003},[984,24308,1021],{"class":990},[984,24310,24311,24313,24315,24317],{"class":986,"line":1150},[984,24312,6755],{"class":996},[984,24314,1015],{"class":990},[984,24316,17234],{"class":996},[984,24318,1021],{"class":990},[984,24320,24321,24323,24325,24327],{"class":986,"line":1163},[984,24322,17241],{"class":996},[984,24324,1015],{"class":990},[984,24326,13091],{"class":1003},[984,24328,1021],{"class":990},[984,24330,24331,24333,24335,24337],{"class":986,"line":1176},[984,24332,15633],{"class":996},[984,24334,1015],{"class":990},[984,24336,1345],{"class":996},[984,24338,1021],{"class":990},[984,24340,24341,24343,24345,24347],{"class":986,"line":1189},[984,24342,15644],{"class":996},[984,24344,1015],{"class":990},[984,24346,17266],{"class":1003},[984,24348,1021],{"class":990},[984,24350,24351,24353,24355],{"class":986,"line":1202},[984,24352,17273],{"class":996},[984,24354,1015],{"class":990},[984,24356,17278],{"class":1003},[984,24358,24359],{"class":986,"line":1211},[984,24360,1607],{"class":990},[984,24362,24363],{"class":986,"line":1217},[984,24364,17287],{"class":990},[984,24366,24367],{"class":986,"line":1229},[984,24368,1038],{"class":990},[89,24370,24371,24385],{},[54,24372,24373,17298,24375,17302,24377,17306,24379,17310,24381,17314,24383,17318],{},[150,24374,5964],{},[150,24376,17301],{},[150,24378,17305],{},[150,24380,17309],{},[150,24382,17313],{},[150,24384,17317],{},[54,24386,24387,17298,24389,441,24391,441,24393,441,24395,441,24397,441,24399,441,24401,12647,24403,17347],{},[150,24388,6390],{},[150,24390,17325],{},[150,24392,17328],{},[150,24394,17331],{},[150,24396,17334],{},[150,24398,17337],{},[150,24400,17340],{},[150,24402,17343],{},[150,24404,17346],{},[26,24406,918],{"id":918},[11,24408,17352,24409,17355],{},[18,24410,913],{"href":2036},[11,24412,24413],{},[150,24414,975],{},[866,24416,24417],{"className":978,"code":1759,"language":980,"meta":760,"style":760},[150,24418,24419,24423,24433,24443,24453,24459,24463,24471,24475],{"__ignoreMap":760},[984,24420,24421],{"class":986,"line":987},[984,24422,991],{"class":990},[984,24424,24425,24427,24429,24431],{"class":986,"line":761},[984,24426,997],{"class":996},[984,24428,1000],{"class":990},[984,24430,1004],{"class":1003},[984,24432,1007],{"class":990},[984,24434,24435,24437,24439,24441],{"class":986,"line":772},[984,24436,1012],{"class":996},[984,24438,1015],{"class":990},[984,24440,1018],{"class":996},[984,24442,1021],{"class":990},[984,24444,24445,24447,24449,24451],{"class":986,"line":1024},[984,24446,1027],{"class":996},[984,24448,1015],{"class":990},[984,24450,1794],{"class":1003},[984,24452,1021],{"class":990},[984,24454,24455,24457],{"class":986,"line":1035},[984,24456,1521],{"class":996},[984,24458,1803],{"class":990},[984,24460,24461],{"class":986,"line":1098},[984,24462,1529],{"class":990},[984,24464,24465,24467,24469],{"class":986,"line":1111},[984,24466,1220],{"class":996},[984,24468,1015],{"class":990},[984,24470,1678],{"class":996},[984,24472,24473],{"class":986,"line":1124},[984,24474,1607],{"class":990},[984,24476,24477],{"class":986,"line":1137},[984,24478,1038],{"class":990},[89,24480,24481,24485],{},[54,24482,24483,1830],{},[150,24484,848],{},[54,24486,24487,14325],{},[150,24488,14141],{},[11,24490,24491],{},[150,24492,1043],{},[866,24494,24496],{"className":978,"code":24495,"language":980,"meta":760,"style":760},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": \n    {\n        \"asset_id\": 1,\n        \"emission\": 2000000000,\n        \"emission_str\": \"2000000000\",\n        \"isOwned\": 1,\n        \"lockHeight\": 39,\n        \"metadata\": \"STD:SCH_VER=1;N=YAN Coin;SN=YAN;UN=Yan;NTHUN=Yanik\",\n        \"metadata_kv\": true,\n        \"metadata_pairs\": {\n            \"N\": \"YAN Coin\",\n            \"NTHUN\": \"Yanik\",\n            \"SCH_VER\": \"1\",\n            \"SN\": \"YAN\",\n            \"UN\": \"Yan\"\n        },\n        \"metadata_std_min\": true,\n        \"metadata_std\": true,\n        \"ownerId\": \"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\",\n        \"refreshHeight\": 927\n    }\n}\n",[150,24497,24498,24502,24512,24522,24528,24532,24542,24552,24562,24572,24582,24593,24604,24611,24623,24635,24647,24659,24669,24673,24684,24695,24705,24713,24717],{"__ignoreMap":760},[984,24499,24500],{"class":986,"line":987},[984,24501,991],{"class":990},[984,24503,24504,24506,24508,24510],{"class":986,"line":761},[984,24505,1012],{"class":996},[984,24507,1015],{"class":990},[984,24509,1062],{"class":996},[984,24511,1021],{"class":990},[984,24513,24514,24516,24518,24520],{"class":986,"line":772},[984,24515,997],{"class":996},[984,24517,1015],{"class":990},[984,24519,1004],{"class":1003},[984,24521,1021],{"class":990},[984,24523,24524,24526],{"class":986,"line":1024},[984,24525,1724],{"class":996},[984,24527,1665],{"class":990},[984,24529,24530],{"class":986,"line":1035},[984,24531,1529],{"class":990},[984,24533,24534,24536,24538,24540],{"class":986,"line":1098},[984,24535,1220],{"class":996},[984,24537,1015],{"class":990},[984,24539,1345],{"class":996},[984,24541,1021],{"class":990},[984,24543,24544,24546,24548,24550],{"class":986,"line":1111},[984,24545,1888],{"class":996},[984,24547,1015],{"class":990},[984,24549,1362],{"class":996},[984,24551,1021],{"class":990},[984,24553,24554,24556,24558,24560],{"class":986,"line":1124},[984,24555,1899],{"class":996},[984,24557,1015],{"class":990},[984,24559,1374],{"class":1003},[984,24561,1021],{"class":990},[984,24563,24564,24566,24568,24570],{"class":986,"line":1137},[984,24565,1910],{"class":996},[984,24567,1015],{"class":990},[984,24569,1345],{"class":996},[984,24571,1021],{"class":990},[984,24573,24574,24576,24578,24580],{"class":986,"line":1150},[984,24575,1921],{"class":996},[984,24577,1015],{"class":990},[984,24579,1926],{"class":996},[984,24581,1021],{"class":990},[984,24583,24584,24586,24588,24591],{"class":986,"line":1163},[984,24585,1933],{"class":996},[984,24587,1015],{"class":990},[984,24589,24590],{"class":1003},"\"STD:SCH_VER=1;N=YAN Coin;SN=YAN;UN=Yan;NTHUN=Yanik\"",[984,24592,1021],{"class":990},[984,24594,24595,24598,24600,24602],{"class":986,"line":1176},[984,24596,24597],{"class":996},"        \"metadata_kv\"",[984,24599,1015],{"class":990},[984,24601,2682],{"class":996},[984,24603,1021],{"class":990},[984,24605,24606,24609],{"class":986,"line":1189},[984,24607,24608],{"class":996},"        \"metadata_pairs\"",[984,24610,1083],{"class":990},[984,24612,24613,24616,24618,24621],{"class":986,"line":1202},[984,24614,24615],{"class":996},"            \"N\"",[984,24617,1015],{"class":990},[984,24619,24620],{"class":1003},"\"YAN Coin\"",[984,24622,1021],{"class":990},[984,24624,24625,24628,24630,24633],{"class":986,"line":1211},[984,24626,24627],{"class":996},"            \"NTHUN\"",[984,24629,1015],{"class":990},[984,24631,24632],{"class":1003},"\"Yanik\"",[984,24634,1021],{"class":990},[984,24636,24637,24640,24642,24645],{"class":986,"line":1217},[984,24638,24639],{"class":996},"            \"SCH_VER\"",[984,24641,1015],{"class":990},[984,24643,24644],{"class":1003},"\"1\"",[984,24646,1021],{"class":990},[984,24648,24649,24652,24654,24657],{"class":986,"line":1229},[984,24650,24651],{"class":996},"            \"SN\"",[984,24653,1015],{"class":990},[984,24655,24656],{"class":1003},"\"YAN\"",[984,24658,1021],{"class":990},[984,24660,24661,24664,24666],{"class":986,"line":1241},[984,24662,24663],{"class":996},"            \"UN\"",[984,24665,1015],{"class":990},[984,24667,24668],{"class":1003},"\"Yan\"\n",[984,24670,24671],{"class":986,"line":1254},[984,24672,15254],{"class":990},[984,24674,24675,24678,24680,24682],{"class":986,"line":1266},[984,24676,24677],{"class":996},"        \"metadata_std_min\"",[984,24679,1015],{"class":990},[984,24681,2682],{"class":996},[984,24683,1021],{"class":990},[984,24685,24686,24689,24691,24693],{"class":986,"line":1279},[984,24687,24688],{"class":996},"        \"metadata_std\"",[984,24690,1015],{"class":990},[984,24692,2682],{"class":996},[984,24694,1021],{"class":990},[984,24696,24697,24699,24701,24703],{"class":986,"line":1291},[984,24698,1945],{"class":996},[984,24700,1015],{"class":990},[984,24702,1950],{"class":1003},[984,24704,1021],{"class":990},[984,24706,24707,24709,24711],{"class":986,"line":1304},[984,24708,1957],{"class":996},[984,24710,1015],{"class":990},[984,24712,1962],{"class":996},[984,24714,24715],{"class":986,"line":1316},[984,24716,1607],{"class":990},[984,24718,24719],{"class":986,"line":1327},[984,24720,1038],{"class":990},[11,24722,1973,24723,385],{},[18,24724,1977],{"href":13823},[89,24726,24727,24731,24735,24749,24753,24757,24763,24768,24776,24781],{},[54,24728,24729,1984],{},[150,24730,848],{},[54,24732,24733,1990],{},[150,24734,1989],{},[54,24736,24737,1996,24739,2000,24741,2004,24743,2008,24745,2012,24747,2015],{},[150,24738,1995],{},[150,24740,1999],{},[111,24742,2003],{},[150,24744,2007],{},[111,24746,2011],{},[150,24748,2007],{},[54,24750,24751,2021],{},[150,24752,2020],{},[54,24754,24755,2027],{},[150,24756,2026],{},[54,24758,24759,2033,24761,2037],{},[150,24760,2032],{},[18,24762,913],{"href":2036},[54,24764,24765,24767],{},[150,24766,19523],{}," true if metadata was parsed successfully as key=value pairs",[54,24769,24770,24772,24773,24775],{},[150,24771,19538],{}," present only if ",[150,24774,19523],{}," is true, provides actual parsed key=value pairs",[54,24777,24778,24780],{},[150,24779,19526],{}," true if metadata is k=v pairs and minimal necessary pairs are present, i.e. N(Name), UN(Unit Name), SN(Short Name), NTHUN (Smallest Unit Name)",[54,24782,24783,24785,24786],{},[150,24784,19535],{}," true if metadata is k=v pairs and fully adheres to the ",[18,24787,24790],{"href":24788,"rel":24789},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FAsset-Descriptor-v1.0",[22],"Asset Descriptor Specification",[26,24792,12350],{"id":12350},[11,24794,17608],{},[11,24796,24797],{},[150,24798,975],{},[866,24800,24801],{"className":978,"code":17615,"language":980,"meta":760,"style":760},[150,24802,24803,24807,24817,24827,24835],{"__ignoreMap":760},[984,24804,24805],{"class":986,"line":987},[984,24806,991],{"class":990},[984,24808,24809,24811,24813,24815],{"class":986,"line":761},[984,24810,997],{"class":996},[984,24812,1000],{"class":990},[984,24814,1004],{"class":1003},[984,24816,1007],{"class":990},[984,24818,24819,24821,24823,24825],{"class":986,"line":772},[984,24820,1012],{"class":996},[984,24822,1015],{"class":990},[984,24824,1503],{"class":996},[984,24826,1021],{"class":990},[984,24828,24829,24831,24833],{"class":986,"line":1024},[984,24830,1027],{"class":996},[984,24832,1000],{"class":990},[984,24834,17650],{"class":1003},[984,24836,24837],{"class":986,"line":1035},[984,24838,1038],{"class":990},[11,24840,24841],{},[150,24842,1043],{},[866,24844,24845],{"className":978,"code":17661,"language":980,"meta":760,"style":760},[150,24846,24847,24851,24861,24871,24879],{"__ignoreMap":760},[984,24848,24849],{"class":986,"line":987},[984,24850,991],{"class":990},[984,24852,24853,24855,24857,24859],{"class":986,"line":761},[984,24854,997],{"class":996},[984,24856,1000],{"class":990},[984,24858,1004],{"class":1003},[984,24860,1007],{"class":990},[984,24862,24863,24865,24867,24869],{"class":986,"line":772},[984,24864,1012],{"class":996},[984,24866,1015],{"class":990},[984,24868,1503],{"class":996},[984,24870,1021],{"class":990},[984,24872,24873,24875,24877],{"class":986,"line":1024},[984,24874,1724],{"class":996},[984,24876,1000],{"class":990},[984,24878,1741],{"class":1003},[984,24880,24881],{"class":986,"line":1035},[984,24882,1038],{"class":990},[26,24884,12358],{"id":12358},[11,24886,17704,24887,385],{},[150,24888,2150],{},[11,24890,24891],{},[150,24892,975],{},[866,24894,24895],{"className":978,"code":17713,"language":980,"meta":760,"style":760},[150,24896,24897,24901,24911,24921,24931,24937,24941,24949,24953],{"__ignoreMap":760},[984,24898,24899],{"class":986,"line":987},[984,24900,991],{"class":990},[984,24902,24903,24905,24907,24909],{"class":986,"line":761},[984,24904,997],{"class":996},[984,24906,1000],{"class":990},[984,24908,1004],{"class":1003},[984,24910,1007],{"class":990},[984,24912,24913,24915,24917,24919],{"class":986,"line":772},[984,24914,1012],{"class":996},[984,24916,1015],{"class":990},[984,24918,2431],{"class":996},[984,24920,1021],{"class":990},[984,24922,24923,24925,24927,24929],{"class":986,"line":1024},[984,24924,1027],{"class":996},[984,24926,1015],{"class":990},[984,24928,17748],{"class":1003},[984,24930,1007],{"class":990},[984,24932,24933,24935],{"class":986,"line":1035},[984,24934,1521],{"class":996},[984,24936,1524],{"class":990},[984,24938,24939],{"class":986,"line":1098},[984,24940,1529],{"class":990},[984,24942,24943,24945,24947],{"class":986,"line":1111},[984,24944,1735],{"class":996},[984,24946,1738],{"class":990},[984,24948,14622],{"class":1003},[984,24950,24951],{"class":986,"line":1124},[984,24952,1607],{"class":990},[984,24954,24955],{"class":986,"line":1137},[984,24956,1038],{"class":990},[11,24958,24959],{},[150,24960,1043],{},[866,24962,24963],{"className":978,"code":17783,"language":980,"meta":760,"style":760},[150,24964,24965,24969,24979,24989,24995,24999,25007,25011],{"__ignoreMap":760},[984,24966,24967],{"class":986,"line":987},[984,24968,991],{"class":990},[984,24970,24971,24973,24975,24977],{"class":986,"line":761},[984,24972,997],{"class":996},[984,24974,1000],{"class":990},[984,24976,1004],{"class":1003},[984,24978,1007],{"class":990},[984,24980,24981,24983,24985,24987],{"class":986,"line":772},[984,24982,1012],{"class":996},[984,24984,1015],{"class":990},[984,24986,2431],{"class":996},[984,24988,1021],{"class":990},[984,24990,24991,24993],{"class":986,"line":1024},[984,24992,1724],{"class":996},[984,24994,1665],{"class":990},[984,24996,24997],{"class":986,"line":1035},[984,24998,1529],{"class":990},[984,25000,25001,25003,25005],{"class":986,"line":1098},[984,25002,17824],{"class":996},[984,25004,1015],{"class":990},[984,25006,17829],{"class":1003},[984,25008,25009],{"class":986,"line":1111},[984,25010,1607],{"class":990},[984,25012,25013],{"class":986,"line":1124},[984,25014,1038],{"class":990},[89,25016,25017],{},[54,25018,25019,17845,25021,17848],{},[150,25020,17844],{},[18,25022,12366],{"href":12365},[11,25024,25025,17853],{},[94,25026,16086],{},[26,25028,12366],{"id":12366},[11,25030,17858,25031,385],{},[150,25032,17844],{},[11,25034,25035],{},[150,25036,975],{},[866,25038,25039],{"className":978,"code":17867,"language":980,"meta":760,"style":760},[150,25040,25041,25045,25055,25065,25075,25081,25085,25093,25097],{"__ignoreMap":760},[984,25042,25043],{"class":986,"line":987},[984,25044,991],{"class":990},[984,25046,25047,25049,25051,25053],{"class":986,"line":761},[984,25048,997],{"class":996},[984,25050,1000],{"class":990},[984,25052,1004],{"class":1003},[984,25054,1007],{"class":990},[984,25056,25057,25059,25061,25063],{"class":986,"line":772},[984,25058,1012],{"class":996},[984,25060,1015],{"class":990},[984,25062,2431],{"class":996},[984,25064,1021],{"class":990},[984,25066,25067,25069,25071,25073],{"class":986,"line":1024},[984,25068,1027],{"class":996},[984,25070,1000],{"class":990},[984,25072,17902],{"class":1003},[984,25074,1007],{"class":990},[984,25076,25077,25079],{"class":986,"line":1035},[984,25078,1521],{"class":996},[984,25080,1524],{"class":990},[984,25082,25083],{"class":986,"line":1098},[984,25084,1529],{"class":990},[984,25086,25087,25089,25091],{"class":986,"line":1111},[984,25088,17824],{"class":996},[984,25090,1738],{"class":990},[984,25092,17829],{"class":1003},[984,25094,25095],{"class":986,"line":1124},[984,25096,1607],{"class":990},[984,25098,25099],{"class":986,"line":1137},[984,25100,1038],{"class":990},[11,25102,25103],{},[150,25104,1043],{},[866,25106,25107],{"className":978,"code":17937,"language":980,"meta":760,"style":760},[150,25108,25109,25113,25123,25133,25139,25143,25153,25163,25173,25183,25193,25201,25205],{"__ignoreMap":760},[984,25110,25111],{"class":986,"line":987},[984,25112,991],{"class":990},[984,25114,25115,25117,25119,25121],{"class":986,"line":761},[984,25116,997],{"class":996},[984,25118,1000],{"class":990},[984,25120,1004],{"class":1003},[984,25122,1007],{"class":990},[984,25124,25125,25127,25129,25131],{"class":986,"line":772},[984,25126,1012],{"class":996},[984,25128,1015],{"class":990},[984,25130,2431],{"class":996},[984,25132,1021],{"class":990},[984,25134,25135,25137],{"class":986,"line":1024},[984,25136,1724],{"class":996},[984,25138,1665],{"class":990},[984,25140,25141],{"class":986,"line":1035},[984,25142,1529],{"class":990},[984,25144,25145,25147,25149,25151],{"class":986,"line":1098},[984,25146,5904],{"class":996},[984,25148,1015],{"class":990},[984,25150,2682],{"class":996},[984,25152,1021],{"class":990},[984,25154,25155,25157,25159,25161],{"class":986,"line":1111},[984,25156,1220],{"class":996},[984,25158,1015],{"class":990},[984,25160,1171],{"class":996},[984,25162,1021],{"class":990},[984,25164,25165,25167,25169,25171],{"class":986,"line":1124},[984,25166,15017],{"class":996},[984,25168,18000],{"class":990},[984,25170,18003],{"class":1003},[984,25172,1021],{"class":990},[984,25174,25175,25177,25179,25181],{"class":986,"line":1137},[984,25176,15006],{"class":996},[984,25178,1015],{"class":990},[984,25180,18014],{"class":1003},[984,25182,1021],{"class":990},[984,25184,25185,25187,25189,25191],{"class":986,"line":1150},[984,25186,2459],{"class":996},[984,25188,18000],{"class":990},[984,25190,18025],{"class":996},[984,25192,1021],{"class":990},[984,25194,25195,25197,25199],{"class":986,"line":1163},[984,25196,14994],{"class":996},[984,25198,18000],{"class":990},[984,25200,18036],{"class":1003},[984,25202,25203],{"class":986,"line":1176},[984,25204,1607],{"class":990},[984,25206,25207],{"class":986,"line":1189},[984,25208,1038],{"class":990},[89,25210,25211,25215,25219,25223,25227,25231],{},[54,25212,25213,18052],{},[150,25214,18051],{},[54,25216,25217,18058],{},[150,25218,18057],{},[54,25220,25221,18064],{},[150,25222,18063],{},[54,25224,25225,18069],{},[150,25226,2396],{},[54,25228,25229,18074],{},[150,25230,848],{},[54,25232,25233,18079],{},[150,25234,6551],{},[11,25236,25237,18084],{},[94,25238,16086],{},[26,25240,12395],{"id":12395},[11,25242,18089],{},[11,25244,18092],{},[11,25246,25247],{},[150,25248,975],{},[866,25250,25251],{"className":978,"code":18099,"language":980,"meta":760,"style":760},[150,25252,25253,25257,25267,25277,25287,25293,25297,25315,25323,25327],{"__ignoreMap":760},[984,25254,25255],{"class":986,"line":987},[984,25256,991],{"class":990},[984,25258,25259,25261,25263,25265],{"class":986,"line":761},[984,25260,997],{"class":996},[984,25262,1015],{"class":990},[984,25264,1004],{"class":1003},[984,25266,1007],{"class":990},[984,25268,25269,25271,25273,25275],{"class":986,"line":772},[984,25270,1012],{"class":996},[984,25272,1015],{"class":990},[984,25274,1503],{"class":996},[984,25276,1021],{"class":990},[984,25278,25279,25281,25283,25285],{"class":986,"line":1024},[984,25280,1027],{"class":996},[984,25282,1015],{"class":990},[984,25284,18134],{"class":1003},[984,25286,1007],{"class":990},[984,25288,25289,25291],{"class":986,"line":1035},[984,25290,1521],{"class":996},[984,25292,1524],{"class":990},[984,25294,25295],{"class":986,"line":1098},[984,25296,1529],{"class":990},[984,25298,25299,25301,25303,25305,25307,25309,25311,25313],{"class":986,"line":1111},[984,25300,18151],{"class":996},[984,25302,18154],{"class":990},[984,25304,1158],{"class":996},[984,25306,441],{"class":990},[984,25308,1158],{"class":996},[984,25310,441],{"class":990},[984,25312,1158],{"class":996},[984,25314,13917],{"class":990},[984,25316,25317,25319,25321],{"class":986,"line":1124},[984,25318,18171],{"class":996},[984,25320,1015],{"class":990},[984,25322,18176],{"class":1003},[984,25324,25325],{"class":986,"line":1137},[984,25326,1607],{"class":990},[984,25328,25329],{"class":986,"line":1150},[984,25330,1038],{"class":990},[11,25332,18187],{},[11,25334,25335],{},[150,25336,975],{},[866,25338,25339],{"className":978,"code":18194,"language":980,"meta":760,"style":760},[150,25340,25341,25345,25355,25365,25375,25381,25385,25395,25403,25407],{"__ignoreMap":760},[984,25342,25343],{"class":986,"line":987},[984,25344,991],{"class":990},[984,25346,25347,25349,25351,25353],{"class":986,"line":761},[984,25348,997],{"class":996},[984,25350,1015],{"class":990},[984,25352,1004],{"class":1003},[984,25354,1007],{"class":990},[984,25356,25357,25359,25361,25363],{"class":986,"line":772},[984,25358,1012],{"class":996},[984,25360,1015],{"class":990},[984,25362,1503],{"class":996},[984,25364,1021],{"class":990},[984,25366,25367,25369,25371,25373],{"class":986,"line":1024},[984,25368,1027],{"class":996},[984,25370,1015],{"class":990},[984,25372,18134],{"class":1003},[984,25374,1007],{"class":990},[984,25376,25377,25379],{"class":986,"line":1035},[984,25378,1521],{"class":996},[984,25380,1524],{"class":990},[984,25382,25383],{"class":986,"line":1098},[984,25384,1529],{"class":990},[984,25386,25387,25389,25391,25393],{"class":986,"line":1111},[984,25388,18245],{"class":996},[984,25390,1015],{"class":990},[984,25392,18250],{"class":1003},[984,25394,1021],{"class":990},[984,25396,25397,25399,25401],{"class":986,"line":1124},[984,25398,18171],{"class":996},[984,25400,1015],{"class":990},[984,25402,18176],{"class":1003},[984,25404,25405],{"class":986,"line":1137},[984,25406,1607],{"class":990},[984,25408,25409],{"class":986,"line":1150},[984,25410,1038],{"class":990},[89,25412,25413,25417,25421,25425],{},[54,25414,25415,18276],{},[150,25416,18275],{},[54,25418,25419,18282],{},[150,25420,18281],{},[54,25422,25423,18288],{},[150,25424,18287],{},[54,25426,25427,18294,25429,18297,25431,18301,25433,18304,25435,385],{},[150,25428,18293],{},[150,25430,2682],{},[150,25432,18300],{},[18,25434,12406],{"href":12405},[150,25436,2682],{},[11,25438,25439,18311,25441,385],{},[150,25440,18275],{},[150,25442,18281],{},[11,25444,25445],{},[150,25446,1043],{},[866,25448,25449],{"className":978,"code":18320,"language":980,"meta":760,"style":760},[150,25450,25451,25455,25465,25475,25481,25529,25555,25573,25577],{"__ignoreMap":760},[984,25452,25453],{"class":986,"line":987},[984,25454,991],{"class":990},[984,25456,25457,25459,25461,25463],{"class":986,"line":761},[984,25458,1057],{"class":996},[984,25460,1015],{"class":990},[984,25462,1062],{"class":996},[984,25464,1021],{"class":990},[984,25466,25467,25469,25471,25473],{"class":986,"line":772},[984,25468,1069],{"class":996},[984,25470,1015],{"class":990},[984,25472,1004],{"class":1003},[984,25474,1021],{"class":990},[984,25476,25477,25479],{"class":986,"line":1024},[984,25478,1080],{"class":996},[984,25480,1083],{"class":990},[984,25482,25483,25485,25487,25489,25491,25493,25495,25497,25499,25501,25503,25505,25507,25509,25511,25513,25515,25517,25519,25521,25523,25525,25527],{"class":986,"line":1035},[984,25484,18357],{"class":996},[984,25486,1015],{"class":990},[984,25488,18362],{"class":1003},[984,25490,18365],{"class":996},[984,25492,18368],{"class":1003},[984,25494,18365],{"class":996},[984,25496,18373],{"class":1003},[984,25498,18365],{"class":996},[984,25500,18378],{"class":1003},[984,25502,18365],{"class":996},[984,25504,1015],{"class":1003},[984,25506,18365],{"class":996},[984,25508,18387],{"class":1003},[984,25510,18365],{"class":996},[984,25512,11185],{"class":1003},[984,25514,18365],{"class":996},[984,25516,18396],{"class":1003},[984,25518,18365],{"class":996},[984,25520,18401],{"class":1003},[984,25522,18365],{"class":996},[984,25524,18378],{"class":1003},[984,25526,18365],{"class":996},[984,25528,1665],{"class":1003},[984,25530,25531,25533,25535,25537,25539,25541,25543,25545,25547,25549,25551,25553],{"class":986,"line":1098},[984,25532,18414],{"class":996},[984,25534,18417],{"class":1003},[984,25536,18365],{"class":996},[984,25538,11185],{"class":1003},[984,25540,18365],{"class":996},[984,25542,18396],{"class":1003},[984,25544,18365],{"class":996},[984,25546,18430],{"class":1003},[984,25548,18365],{"class":996},[984,25550,18378],{"class":1003},[984,25552,18365],{"class":996},[984,25554,1665],{"class":1003},[984,25556,25557,25559,25561,25563,25565,25567,25569,25571],{"class":986,"line":1111},[984,25558,18414],{"class":996},[984,25560,18445],{"class":1003},[984,25562,18365],{"class":996},[984,25564,11185],{"class":1003},[984,25566,18365],{"class":996},[984,25568,18396],{"class":1003},[984,25570,18365],{"class":996},[984,25572,18458],{"class":1003},[984,25574,25575],{"class":986,"line":1124},[984,25576,1459],{"class":990},[984,25578,25579],{"class":986,"line":1137},[984,25580,1038],{"class":990},[89,25582,25583,25587,25591],{},[54,25584,25585,18473],{},[150,25586,10235],{},[54,25588,25589,18478],{},[150,25590,18300],{},[54,25592,25593,18484,25595],{},[150,25594,18483],{},[18,25596,12406],{"href":12405},[716,25598,18490],{"id":18489},[11,25600,18493],{},[716,25602,18497],{"id":18496},[11,25604,18500],{},[716,25606,18504],{"id":18503},[11,25608,25609,25610,4665,25612,25614],{},"If there was an invoke_shader before ",[150,25611,18275],{},[150,25613,18281],{}," can be omitted. In this case contract code from previous call would be used. In case of wallet_api code caching works on per-connection level. In case of applications caching works on per-application level.",[11,25616,25617],{},[150,25618,975],{},[866,25620,25621],{"className":978,"code":18522,"language":980,"meta":760,"style":760},[150,25622,25623,25627,25637,25647,25657,25663,25673,25681,25685],{"__ignoreMap":760},[984,25624,25625],{"class":986,"line":987},[984,25626,991],{"class":990},[984,25628,25629,25631,25633,25635],{"class":986,"line":761},[984,25630,997],{"class":996},[984,25632,1015],{"class":990},[984,25634,1004],{"class":1003},[984,25636,1021],{"class":990},[984,25638,25639,25641,25643,25645],{"class":986,"line":772},[984,25640,1012],{"class":996},[984,25642,1015],{"class":990},[984,25644,1062],{"class":996},[984,25646,1021],{"class":990},[984,25648,25649,25651,25653,25655],{"class":986,"line":1024},[984,25650,1027],{"class":996},[984,25652,1015],{"class":990},[984,25654,18134],{"class":1003},[984,25656,1021],{"class":990},[984,25658,25659,25661],{"class":986,"line":1035},[984,25660,1521],{"class":996},[984,25662,1083],{"class":990},[984,25664,25665,25667,25669,25671],{"class":986,"line":1098},[984,25666,18245],{"class":996},[984,25668,1015],{"class":990},[984,25670,18573],{"class":1003},[984,25672,1021],{"class":990},[984,25674,25675,25677,25679],{"class":986,"line":1111},[984,25676,18171],{"class":996},[984,25678,1015],{"class":990},[984,25680,18584],{"class":1003},[984,25682,25683],{"class":986,"line":1124},[984,25684,1607],{"class":990},[984,25686,25687],{"class":986,"line":1137},[984,25688,1038],{"class":990},[11,25690,25691],{},[150,25692,1043],{},[866,25694,25695],{"className":978,"code":18599,"language":980,"meta":760,"style":760},[150,25696,25697,25701,25711,25721,25727,25751,25755],{"__ignoreMap":760},[984,25698,25699],{"class":986,"line":987},[984,25700,991],{"class":990},[984,25702,25703,25705,25707,25709],{"class":986,"line":761},[984,25704,1057],{"class":996},[984,25706,1015],{"class":990},[984,25708,1062],{"class":996},[984,25710,1021],{"class":990},[984,25712,25713,25715,25717,25719],{"class":986,"line":772},[984,25714,1069],{"class":996},[984,25716,1015],{"class":990},[984,25718,1004],{"class":1003},[984,25720,1021],{"class":990},[984,25722,25723,25725],{"class":986,"line":1024},[984,25724,1080],{"class":996},[984,25726,1083],{"class":990},[984,25728,25729,25731,25733,25735,25737,25739,25741,25743,25745,25747,25749],{"class":986,"line":1035},[984,25730,18357],{"class":996},[984,25732,1015],{"class":990},[984,25734,18362],{"class":1003},[984,25736,18365],{"class":996},[984,25738,9770],{"class":1003},[984,25740,18365],{"class":996},[984,25742,1015],{"class":1003},[984,25744,18365],{"class":996},[984,25746,18652],{"class":1003},[984,25748,18365],{"class":996},[984,25750,18657],{"class":1003},[984,25752,25753],{"class":986,"line":1098},[984,25754,1459],{"class":990},[984,25756,25757],{"class":986,"line":1111},[984,25758,1038],{"class":990},[716,25760,25762],{"id":25761},"requests-queue","Requests queue",[11,25764,25765,25766,25768,25769,25772],{},"Before v6.1 it was not allowed to make the next contract call before the previous one is completed. As per v6.1 priority queue is added for ",[150,25767,12395],{}," requests. If previous call is not completed new ",[150,25770,25771],{},"invoke_shader"," call would be added to the queue and executed later. New parameters were added to control the queue:",[89,25774,25775,25780],{},[54,25776,25777,25779],{},[150,25778,19547],{}," - integer, 0 by default. Calls with higher priority would be placed on top of the queue",[54,25781,25782,25784,25785,25787,25788,25790],{},[150,25783,19550],{}," - integer, 0 by default. If there is already an ",[150,25786,12395],{}," call with the same ",[150,25789,19550],{}," queued or being executed the new call will not be added to the queue. This might be necessary to avoid queue congestion with multiple status while previous requests are still pending. Value of 0 is ignored and doesn't trigger call omission.",[26,25792,12406],{"id":12406},[11,25794,18670],{},[11,25796,25797],{},[150,25798,975],{},[866,25800,25801],{"className":978,"code":18677,"language":980,"meta":760,"style":760},[150,25802,25803,25807,25817,25827,25837,25843,25861,25865],{"__ignoreMap":760},[984,25804,25805],{"class":986,"line":987},[984,25806,991],{"class":990},[984,25808,25809,25811,25813,25815],{"class":986,"line":761},[984,25810,997],{"class":996},[984,25812,1015],{"class":990},[984,25814,1004],{"class":1003},[984,25816,1021],{"class":990},[984,25818,25819,25821,25823,25825],{"class":986,"line":772},[984,25820,1012],{"class":996},[984,25822,1015],{"class":990},[984,25824,1062],{"class":996},[984,25826,1021],{"class":990},[984,25828,25829,25831,25833,25835],{"class":986,"line":1024},[984,25830,1027],{"class":996},[984,25832,1015],{"class":990},[984,25834,18712],{"class":1003},[984,25836,1021],{"class":990},[984,25838,25839,25841],{"class":986,"line":1035},[984,25840,1521],{"class":996},[984,25842,1083],{"class":990},[984,25844,25845,25847,25849,25851,25853,25855,25857,25859],{"class":986,"line":1098},[984,25846,18725],{"class":996},[984,25848,18154],{"class":990},[984,25850,1158],{"class":996},[984,25852,441],{"class":990},[984,25854,1158],{"class":996},[984,25856,441],{"class":990},[984,25858,1158],{"class":996},[984,25860,7675],{"class":990},[984,25862,25863],{"class":986,"line":1111},[984,25864,1607],{"class":990},[984,25866,25867],{"class":986,"line":1124},[984,25868,1038],{"class":990},[89,25870,25871],{},[54,25872,25873,18754,25875,18757],{},[150,25874,9736],{},[18,25876,12395],{"href":12394},[11,25878,25879],{},[150,25880,1043],{},[866,25882,25883],{"className":978,"code":18764,"language":980,"meta":760,"style":760},[150,25884,25885,25889,25899,25909,25915,25923,25927],{"__ignoreMap":760},[984,25886,25887],{"class":986,"line":987},[984,25888,991],{"class":990},[984,25890,25891,25893,25895,25897],{"class":986,"line":761},[984,25892,1057],{"class":996},[984,25894,1015],{"class":990},[984,25896,1062],{"class":996},[984,25898,1021],{"class":990},[984,25900,25901,25903,25905,25907],{"class":986,"line":772},[984,25902,1069],{"class":996},[984,25904,1015],{"class":990},[984,25906,1004],{"class":1003},[984,25908,1021],{"class":990},[984,25910,25911,25913],{"class":986,"line":1024},[984,25912,1080],{"class":996},[984,25914,1083],{"class":990},[984,25916,25917,25919,25921],{"class":986,"line":1035},[984,25918,18801],{"class":996},[984,25920,1015],{"class":990},[984,25922,18806],{"class":1003},[984,25924,25925],{"class":986,"line":1098},[984,25926,1459],{"class":990},[984,25928,25929],{"class":986,"line":1111},[984,25930,1038],{"class":990},[89,25932,25933],{},[54,25934,25935,18821],{},[150,25936,18300],{},[26,25938,923],{"id":923},[11,25940,18826,25941],{},[150,25942,2396],{},[11,25944,25945],{},[150,25946,975],{},[866,25948,25949],{"className":978,"code":2406,"language":980,"meta":760,"style":760},[150,25950,25951,25955,25965,25975,25985,25991,25995,26005,26015,26025,26033,26037],{"__ignoreMap":760},[984,25952,25953],{"class":986,"line":987},[984,25954,991],{"class":990},[984,25956,25957,25959,25961,25963],{"class":986,"line":761},[984,25958,997],{"class":996},[984,25960,1000],{"class":990},[984,25962,1004],{"class":1003},[984,25964,1007],{"class":990},[984,25966,25967,25969,25971,25973],{"class":986,"line":772},[984,25968,1012],{"class":996},[984,25970,1015],{"class":990},[984,25972,2431],{"class":996},[984,25974,1021],{"class":990},[984,25976,25977,25979,25981,25983],{"class":986,"line":1024},[984,25978,1027],{"class":996},[984,25980,1000],{"class":990},[984,25982,2442],{"class":1003},[984,25984,1007],{"class":990},[984,25986,25987,25989],{"class":986,"line":1035},[984,25988,1521],{"class":996},[984,25990,1524],{"class":990},[984,25992,25993],{"class":986,"line":1098},[984,25994,1529],{"class":990},[984,25996,25997,25999,26001,26003],{"class":986,"line":1111},[984,25998,2459],{"class":996},[984,26000,1738],{"class":990},[984,26002,2464],{"class":996},[984,26004,1021],{"class":990},[984,26006,26007,26009,26011,26013],{"class":986,"line":1124},[984,26008,1220],{"class":996},[984,26010,1015],{"class":990},[984,26012,1503],{"class":996},[984,26014,1021],{"class":990},[984,26016,26017,26019,26021,26023],{"class":986,"line":1137},[984,26018,1546],{"class":996},[984,26020,1015],{"class":990},[984,26022,2485],{"class":996},[984,26024,1021],{"class":990},[984,26026,26027,26029,26031],{"class":986,"line":1150},[984,26028,2492],{"class":996},[984,26030,1015],{"class":990},[984,26032,2497],{"class":996},[984,26034,26035],{"class":986,"line":1163},[984,26036,1607],{"class":990},[984,26038,26039],{"class":986,"line":1176},[984,26040,1038],{"class":990},[11,26042,26043],{},[150,26044,1043],{},[866,26046,26047],{"className":978,"code":2512,"language":980,"meta":760,"style":760},[150,26048,26049,26053,26063,26073,26079,26083,26093,26103,26113,26123,26133,26141,26145],{"__ignoreMap":760},[984,26050,26051],{"class":986,"line":987},[984,26052,991],{"class":990},[984,26054,26055,26057,26059,26061],{"class":986,"line":761},[984,26056,997],{"class":996},[984,26058,1000],{"class":990},[984,26060,1004],{"class":1003},[984,26062,1007],{"class":990},[984,26064,26065,26067,26069,26071],{"class":986,"line":772},[984,26066,1012],{"class":996},[984,26068,1015],{"class":990},[984,26070,2431],{"class":996},[984,26072,1021],{"class":990},[984,26074,26075,26077],{"class":986,"line":1024},[984,26076,1724],{"class":996},[984,26078,1524],{"class":990},[984,26080,26081],{"class":986,"line":1035},[984,26082,1529],{"class":990},[984,26084,26085,26087,26089,26091],{"class":986,"line":1098},[984,26086,2553],{"class":996},[984,26088,1015],{"class":990},[984,26090,2558],{"class":996},[984,26092,1021],{"class":990},[984,26094,26095,26097,26099,26101],{"class":986,"line":1111},[984,26096,2565],{"class":996},[984,26098,1015],{"class":990},[984,26100,2570],{"class":1003},[984,26102,1021],{"class":990},[984,26104,26105,26107,26109,26111],{"class":986,"line":1124},[984,26106,2577],{"class":996},[984,26108,1015],{"class":990},[984,26110,2558],{"class":996},[984,26112,1021],{"class":990},[984,26114,26115,26117,26119,26121],{"class":986,"line":1137},[984,26116,2588],{"class":996},[984,26118,1015],{"class":990},[984,26120,2570],{"class":1003},[984,26122,1021],{"class":990},[984,26124,26125,26127,26129,26131],{"class":986,"line":1150},[984,26126,2599],{"class":996},[984,26128,1015],{"class":990},[984,26130,2604],{"class":996},[984,26132,1021],{"class":990},[984,26134,26135,26137,26139],{"class":986,"line":1163},[984,26136,2611],{"class":996},[984,26138,1015],{"class":990},[984,26140,2616],{"class":1003},[984,26142,26143],{"class":986,"line":1176},[984,26144,1607],{"class":990},[984,26146,26147],{"class":986,"line":1189},[984,26148,1038],{"class":990},[11,26150,2627],{},[89,26152,26153,26157,26161,26165,26171,26181,26185],{},[54,26154,26155,2634],{},[150,26156,2396],{},[54,26158,26159,19047],{},[150,26160,848],{},[54,26162,26163,2644],{},[150,26164,2139],{},[54,26166,26167,2650,26169],{},[150,26168,2649],{},[150,26170,848],{},[54,26172,26173,2658,26175,163,26177,2663,26179,2667],{},[150,26174,2657],{},[150,26176,2649],{},[150,26178,2657],{},[150,26180,2666],{},[54,26182,26183,2673],{},[150,26184,2672],{},[54,26186,26187,2679,26189,2683],{},[150,26188,2678],{},[150,26190,2682],{},[26,26192,12416],{"id":12416},[11,26194,19082],{},[11,26196,26197],{},[150,26198,975],{},[866,26200,26201],{"className":978,"code":19089,"language":980,"meta":760,"style":760},[150,26202,26203,26207,26217,26227,26237,26243,26247,26255,26259],{"__ignoreMap":760},[984,26204,26205],{"class":986,"line":987},[984,26206,991],{"class":990},[984,26208,26209,26211,26213,26215],{"class":986,"line":761},[984,26210,997],{"class":996},[984,26212,1015],{"class":990},[984,26214,1004],{"class":1003},[984,26216,1007],{"class":990},[984,26218,26219,26221,26223,26225],{"class":986,"line":772},[984,26220,1012],{"class":996},[984,26222,1015],{"class":990},[984,26224,1503],{"class":996},[984,26226,1021],{"class":990},[984,26228,26229,26231,26233,26235],{"class":986,"line":1024},[984,26230,1027],{"class":996},[984,26232,1015],{"class":990},[984,26234,19124],{"class":1003},[984,26236,1007],{"class":990},[984,26238,26239,26241],{"class":986,"line":1035},[984,26240,1521],{"class":996},[984,26242,1524],{"class":990},[984,26244,26245],{"class":986,"line":1098},[984,26246,1529],{"class":990},[984,26248,26249,26251,26253],{"class":986,"line":1111},[984,26250,15752],{"class":996},[984,26252,1015],{"class":990},[984,26254,19145],{"class":996},[984,26256,26257],{"class":986,"line":1124},[984,26258,1607],{"class":990},[984,26260,26261],{"class":986,"line":1137},[984,26262,1038],{"class":990},[89,26264,26265],{},[54,26266,26267,19160],{},[150,26268,6545],{},[11,26270,26271],{},[150,26272,1043],{},[866,26274,26275],{"className":978,"code":19167,"language":980,"meta":760,"style":760},[150,26276,26277,26281,26291,26301,26307,26311,26321,26331,26341,26351,26361,26371,26381,26391,26401,26411,26419,26423],{"__ignoreMap":760},[984,26278,26279],{"class":986,"line":987},[984,26280,991],{"class":990},[984,26282,26283,26285,26287,26289],{"class":986,"line":761},[984,26284,997],{"class":996},[984,26286,1000],{"class":990},[984,26288,1004],{"class":1003},[984,26290,1007],{"class":990},[984,26292,26293,26295,26297,26299],{"class":986,"line":772},[984,26294,1012],{"class":996},[984,26296,1015],{"class":990},[984,26298,2431],{"class":996},[984,26300,1021],{"class":990},[984,26302,26303,26305],{"class":986,"line":1024},[984,26304,1724],{"class":996},[984,26306,1524],{"class":990},[984,26308,26309],{"class":986,"line":1035},[984,26310,1529],{"class":990},[984,26312,26313,26315,26317,26319],{"class":986,"line":1098},[984,26314,19208],{"class":996},[984,26316,1015],{"class":990},[984,26318,19213],{"class":1003},[984,26320,1021],{"class":990},[984,26322,26323,26325,26327,26329],{"class":986,"line":1111},[984,26324,19220],{"class":996},[984,26326,1015],{"class":990},[984,26328,19225],{"class":1003},[984,26330,1021],{"class":990},[984,26332,26333,26335,26337,26339],{"class":986,"line":1124},[984,26334,19232],{"class":996},[984,26336,1015],{"class":990},[984,26338,19237],{"class":1003},[984,26340,1021],{"class":990},[984,26342,26343,26345,26347,26349],{"class":986,"line":1137},[984,26344,16271],{"class":996},[984,26346,1015],{"class":990},[984,26348,19248],{"class":996},[984,26350,1021],{"class":990},[984,26352,26353,26355,26357,26359],{"class":986,"line":1150},[984,26354,15752],{"class":996},[984,26356,1015],{"class":990},[984,26358,4996],{"class":996},[984,26360,1021],{"class":990},[984,26362,26363,26365,26367,26369],{"class":986,"line":1163},[984,26364,19265],{"class":996},[984,26366,1015],{"class":990},[984,26368,19270],{"class":1003},[984,26370,1021],{"class":990},[984,26372,26373,26375,26377,26379],{"class":986,"line":1176},[984,26374,19277],{"class":996},[984,26376,1015],{"class":990},[984,26378,19282],{"class":996},[984,26380,1021],{"class":990},[984,26382,26383,26385,26387,26389],{"class":986,"line":1189},[984,26384,19289],{"class":996},[984,26386,1015],{"class":990},[984,26388,19294],{"class":1003},[984,26390,1021],{"class":990},[984,26392,26393,26395,26397,26399],{"class":986,"line":1202},[984,26394,19301],{"class":996},[984,26396,1015],{"class":990},[984,26398,19306],{"class":1003},[984,26400,1021],{"class":990},[984,26402,26403,26405,26407,26409],{"class":986,"line":1211},[984,26404,19313],{"class":996},[984,26406,1015],{"class":990},[984,26408,19318],{"class":1003},[984,26410,1021],{"class":990},[984,26412,26413,26415,26417],{"class":986,"line":1217},[984,26414,19325],{"class":996},[984,26416,1015],{"class":990},[984,26418,19330],{"class":996},[984,26420,26421],{"class":986,"line":1229},[984,26422,1607],{"class":990},[984,26424,26425],{"class":986,"line":1241},[984,26426,1038],{"class":990},[89,26428,26429,26433,26437,26441,26445,26449,26453,26457,26461,26465,26469],{},[54,26430,26431,19346],{},[150,26432,19345],{},[54,26434,26435,19352],{},[150,26436,19351],{},[54,26438,26439,19357],{},[150,26440,8363],{},[54,26442,26443,19362],{},[150,26444,10335],{},[54,26446,26447,19367],{},[150,26448,6545],{},[54,26450,26451,19372],{},[150,26452,133],{},[54,26454,26455,19378],{},[150,26456,19377],{},[54,26458,26459,19384],{},[150,26460,19383],{},[54,26462,26463,19390],{},[150,26464,19389],{},[54,26466,26467,19396],{},[150,26468,19395],{},[54,26470,26471,19402],{},[150,26472,19401],{},[716,26474,18490],{"id":19405},[11,26476,19408],{},[26,26478,19484],{"id":19484},[11,26480,26481],{},"Returns version info",[11,26483,26484],{},[150,26485,975],{},[866,26487,26489],{"className":978,"code":26488,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 1,\n    \"method\": \"get_version\"\n}\n",[150,26490,26491,26495,26505,26515,26524],{"__ignoreMap":760},[984,26492,26493],{"class":986,"line":987},[984,26494,991],{"class":990},[984,26496,26497,26499,26501,26503],{"class":986,"line":761},[984,26498,997],{"class":996},[984,26500,1015],{"class":990},[984,26502,1004],{"class":1003},[984,26504,1007],{"class":990},[984,26506,26507,26509,26511,26513],{"class":986,"line":772},[984,26508,1012],{"class":996},[984,26510,1015],{"class":990},[984,26512,1345],{"class":996},[984,26514,1021],{"class":990},[984,26516,26517,26519,26521],{"class":986,"line":1024},[984,26518,1027],{"class":996},[984,26520,1015],{"class":990},[984,26522,26523],{"class":1003},"\"get_version\"\n",[984,26525,26526],{"class":986,"line":1035},[984,26527,1038],{"class":990},[11,26529,26530],{},[150,26531,1043],{},[866,26533,26535],{"className":978,"code":26534,"language":980,"meta":760,"style":760},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"api_version\": \"6.1\",\n    \"api_version_major\": 6,\n    \"api_version_minor\": 1,\n    \"beam_branch_name\": \"master\",\n    \"beam_commit_hash\": \"f7dcfab5341e84a58918f2fde0fc2be9c09264eb\",\n    \"beam_version\": \"6.1.11462\",\n    \"beam_version_major\": 6,\n    \"beam_version_minor\": 1,\n    \"beam_version_rev\": 11462\n  }\n}\n",[150,26536,26537,26541,26551,26561,26567,26579,26590,26601,26613,26625,26637,26648,26659,26669,26673],{"__ignoreMap":760},[984,26538,26539],{"class":986,"line":987},[984,26540,991],{"class":990},[984,26542,26543,26545,26547,26549],{"class":986,"line":761},[984,26544,1057],{"class":996},[984,26546,1015],{"class":990},[984,26548,1345],{"class":996},[984,26550,1021],{"class":990},[984,26552,26553,26555,26557,26559],{"class":986,"line":772},[984,26554,1069],{"class":996},[984,26556,1015],{"class":990},[984,26558,1004],{"class":1003},[984,26560,1021],{"class":990},[984,26562,26563,26565],{"class":986,"line":1024},[984,26564,1080],{"class":996},[984,26566,1083],{"class":990},[984,26568,26569,26572,26574,26577],{"class":986,"line":1035},[984,26570,26571],{"class":996},"    \"api_version\"",[984,26573,1015],{"class":990},[984,26575,26576],{"class":1003},"\"6.1\"",[984,26578,1021],{"class":990},[984,26580,26581,26584,26586,26588],{"class":986,"line":1098},[984,26582,26583],{"class":996},"    \"api_version_major\"",[984,26585,1015],{"class":990},[984,26587,1018],{"class":996},[984,26589,1021],{"class":990},[984,26591,26592,26595,26597,26599],{"class":986,"line":1111},[984,26593,26594],{"class":996},"    \"api_version_minor\"",[984,26596,1015],{"class":990},[984,26598,1345],{"class":996},[984,26600,1021],{"class":990},[984,26602,26603,26606,26608,26611],{"class":986,"line":1124},[984,26604,26605],{"class":996},"    \"beam_branch_name\"",[984,26607,1015],{"class":990},[984,26609,26610],{"class":1003},"\"master\"",[984,26612,1021],{"class":990},[984,26614,26615,26618,26620,26623],{"class":986,"line":1137},[984,26616,26617],{"class":996},"    \"beam_commit_hash\"",[984,26619,1015],{"class":990},[984,26621,26622],{"class":1003},"\"f7dcfab5341e84a58918f2fde0fc2be9c09264eb\"",[984,26624,1021],{"class":990},[984,26626,26627,26630,26632,26635],{"class":986,"line":1150},[984,26628,26629],{"class":996},"    \"beam_version\"",[984,26631,1015],{"class":990},[984,26633,26634],{"class":1003},"\"6.1.11462\"",[984,26636,1021],{"class":990},[984,26638,26639,26642,26644,26646],{"class":986,"line":1163},[984,26640,26641],{"class":996},"    \"beam_version_major\"",[984,26643,1015],{"class":990},[984,26645,1018],{"class":996},[984,26647,1021],{"class":990},[984,26649,26650,26653,26655,26657],{"class":986,"line":1176},[984,26651,26652],{"class":996},"    \"beam_version_minor\"",[984,26654,1015],{"class":990},[984,26656,1345],{"class":996},[984,26658,1021],{"class":990},[984,26660,26661,26664,26666],{"class":986,"line":1189},[984,26662,26663],{"class":996},"    \"beam_version_rev\"",[984,26665,1015],{"class":990},[984,26667,26668],{"class":996},"11462\n",[984,26670,26671],{"class":986,"line":1202},[984,26672,1459],{"class":990},[984,26674,26675],{"class":986,"line":1211},[984,26676,1038],{"class":990},[89,26678,26679,26685],{},[54,26680,26681,26684],{},[150,26682,26683],{},"api_xxx"," API version info",[54,26686,26687,26690,26691,2758],{},[150,26688,26689],{},"beam_xxx"," BEAM version info on top of which API is built (",[18,26692,26693],{"href":26693,"rel":26694},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam",[22],[26,26696,19492],{"id":19492},[11,26698,26699],{},"Subscribe\u002Funsubscribe to API events.",[11,26701,26702],{},[150,26703,975],{},[866,26705,26707],{"className":978,"code":26706,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\", \n    \"id\": 1,\n    \"method\": \"ev_subunsub\",\n    \"params\": {\n        \"ev_sync_progress\": true,\n        \"ev_system_state\": true,\n        \"ev_assets_changed\": true,\n        \"ev_addrs_changed\": true,\n        \"ev_utxos_changed\": true,\n        \"ev_txs_changed\": true\n    }\n}\n",[150,26708,26709,26713,26723,26733,26744,26750,26761,26772,26783,26794,26805,26814,26818],{"__ignoreMap":760},[984,26710,26711],{"class":986,"line":987},[984,26712,991],{"class":990},[984,26714,26715,26717,26719,26721],{"class":986,"line":761},[984,26716,997],{"class":996},[984,26718,1015],{"class":990},[984,26720,1004],{"class":1003},[984,26722,1007],{"class":990},[984,26724,26725,26727,26729,26731],{"class":986,"line":772},[984,26726,1012],{"class":996},[984,26728,1015],{"class":990},[984,26730,1345],{"class":996},[984,26732,1021],{"class":990},[984,26734,26735,26737,26739,26742],{"class":986,"line":1024},[984,26736,1027],{"class":996},[984,26738,1015],{"class":990},[984,26740,26741],{"class":1003},"\"ev_subunsub\"",[984,26743,1021],{"class":990},[984,26745,26746,26748],{"class":986,"line":1035},[984,26747,1521],{"class":996},[984,26749,1083],{"class":990},[984,26751,26752,26755,26757,26759],{"class":986,"line":1098},[984,26753,26754],{"class":996},"        \"ev_sync_progress\"",[984,26756,1015],{"class":990},[984,26758,2682],{"class":996},[984,26760,1021],{"class":990},[984,26762,26763,26766,26768,26770],{"class":986,"line":1111},[984,26764,26765],{"class":996},"        \"ev_system_state\"",[984,26767,1015],{"class":990},[984,26769,2682],{"class":996},[984,26771,1021],{"class":990},[984,26773,26774,26777,26779,26781],{"class":986,"line":1124},[984,26775,26776],{"class":996},"        \"ev_assets_changed\"",[984,26778,1015],{"class":990},[984,26780,2682],{"class":996},[984,26782,1021],{"class":990},[984,26784,26785,26788,26790,26792],{"class":986,"line":1137},[984,26786,26787],{"class":996},"        \"ev_addrs_changed\"",[984,26789,1015],{"class":990},[984,26791,2682],{"class":996},[984,26793,1021],{"class":990},[984,26795,26796,26799,26801,26803],{"class":986,"line":1150},[984,26797,26798],{"class":996},"        \"ev_utxos_changed\"",[984,26800,1015],{"class":990},[984,26802,2682],{"class":996},[984,26804,1021],{"class":990},[984,26806,26807,26810,26812],{"class":986,"line":1163},[984,26808,26809],{"class":996},"        \"ev_txs_changed\"",[984,26811,1015],{"class":990},[984,26813,2497],{"class":996},[984,26815,26816],{"class":986,"line":1176},[984,26817,1607],{"class":990},[984,26819,26820],{"class":986,"line":1189},[984,26821,1038],{"class":990},[11,26823,26824],{},[150,26825,1043],{},[866,26827,26829],{"className":978,"code":26828,"language":980,"meta":760,"style":760},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"result\": true\n}\n",[150,26830,26831,26835,26845,26855,26863],{"__ignoreMap":760},[984,26832,26833],{"class":986,"line":987},[984,26834,991],{"class":990},[984,26836,26837,26839,26841,26843],{"class":986,"line":761},[984,26838,1057],{"class":996},[984,26840,1015],{"class":990},[984,26842,1345],{"class":996},[984,26844,1021],{"class":990},[984,26846,26847,26849,26851,26853],{"class":986,"line":772},[984,26848,1069],{"class":996},[984,26850,1015],{"class":990},[984,26852,1004],{"class":1003},[984,26854,1021],{"class":990},[984,26856,26857,26859,26861],{"class":986,"line":1024},[984,26858,1080],{"class":996},[984,26860,1015],{"class":990},[984,26862,2497],{"class":996},[984,26864,26865],{"class":986,"line":1035},[984,26866,1038],{"class":990},[89,26868,26869],{},[54,26870,26871,26874,26875,26877],{},[150,26872,26873],{},"ev_xxxx"," corresponding event name, optional, bool. True subscribes to the event, false unsubscribes. All ",[150,26876,26873],{}," paramaters are optional. If event is not specified its subscription state remains unchanged. Immediately after subscription corresponding event is generated providing the latest state.",[26,26879,26881],{"id":26880},"api-events","API Events",[11,26883,26884],{},"API generates the following events:",[89,26886,26887,26891,26895,26899,26903,26907],{},[54,26888,26889],{},[18,26890,19563],{"href":19562},[54,26892,26893],{},[18,26894,19571],{"href":19570},[54,26896,26897],{},[18,26898,19579],{"href":19578},[54,26900,26901],{},[18,26902,19587],{"href":19586},[54,26904,26905],{},[18,26906,19593],{"href":19592},[54,26908,26909],{},[18,26910,19599],{"href":19598},[26,26912,26914],{"id":26913},"ev_xxx_changed-events","ev_XXX_changed Events",[11,26916,26917,26918,26921],{},"These events are generated when some entity\u002Fset of entities is changed. Every ",[150,26919,26920],{},"changed"," event includes the following mandatory fields",[89,26923,26924,26963,26972],{},[54,26925,26926,26928,26929],{},[150,26927,2657],{}," - numerical change type, possible values are\n",[89,26930,26931,26939,26947,26955],{},[54,26932,26933,441,26935,26938],{},[150,26934,1171],{},[150,26936,26937],{},"added"," - newly added entities are in the array",[54,26940,26941,441,26943,26946],{},[150,26942,1345],{},[150,26944,26945],{},"removed"," - removed entities are in the array",[54,26948,26949,441,26951,26954],{},[150,26950,1503],{},[150,26952,26953],{},"updated"," - updated entities are in the array",[54,26956,26957,441,26959,26962],{},[150,26958,5131],{},[150,26960,26961],{},"reset"," - discard all the previously stored entities, new ones are in the array",[54,26964,26965,26968,26969,26971],{},[150,26966,26967],{},"change_str"," - string representation of the ",[150,26970,2657],{}," field, values are listed above",[54,26973,26974],{},"array of changed entities (name differs based on the entity type)",[26,26976,19563],{"id":19563},[11,26978,26979],{},"Event is generated while wallet is being synced with the blockchain. Let's consider the following situation:",[89,26981,26982,26985],{},[54,26983,26984],{},"current wallet height is 105",[54,26986,26987],{},"block 106 has been just mined",[11,26989,26990],{},"In this case the following sequence of events would be generated:",[11,26992,26993],{},[150,26994,26995],{},"1. \u003C--",[866,26997,26999],{"className":978,"code":26998,"language":980,"meta":760,"style":760},"{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 105,\n    \"current_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 0,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n",[150,27000,27001,27005,27016,27026,27032,27043,27054,27065,27076,27087,27097,27108,27120,27131,27143,27153,27157],{"__ignoreMap":760},[984,27002,27003],{"class":986,"line":987},[984,27004,991],{"class":990},[984,27006,27007,27009,27011,27014],{"class":986,"line":761},[984,27008,1057],{"class":996},[984,27010,1015],{"class":990},[984,27012,27013],{"class":1003},"\"ev_sync_progress\"",[984,27015,1021],{"class":990},[984,27017,27018,27020,27022,27024],{"class":986,"line":772},[984,27019,1069],{"class":996},[984,27021,1015],{"class":990},[984,27023,1004],{"class":1003},[984,27025,1021],{"class":990},[984,27027,27028,27030],{"class":986,"line":1024},[984,27029,1080],{"class":996},[984,27031,1083],{"class":990},[984,27033,27034,27036,27038,27041],{"class":986,"line":1035},[984,27035,1088],{"class":996},[984,27037,1015],{"class":990},[984,27039,27040],{"class":996},"105",[984,27042,1021],{"class":990},[984,27044,27045,27047,27049,27052],{"class":986,"line":1098},[984,27046,1101],{"class":996},[984,27048,1015],{"class":990},[984,27050,27051],{"class":1003},"\"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\"",[984,27053,1021],{"class":990},[984,27055,27056,27058,27060,27063],{"class":986,"line":1111},[984,27057,23533],{"class":996},[984,27059,1015],{"class":990},[984,27061,27062],{"class":996},"1625146903",[984,27064,1021],{"class":990},[984,27066,27067,27070,27072,27074],{"class":986,"line":1124},[984,27068,27069],{"class":996},"    \"sync_requests_done\"",[984,27071,1015],{"class":990},[984,27073,1171],{"class":996},[984,27075,1021],{"class":990},[984,27077,27078,27081,27083,27085],{"class":986,"line":1137},[984,27079,27080],{"class":996},"    \"sync_requests_total\"",[984,27082,1015],{"class":990},[984,27084,1503],{"class":996},[984,27086,1021],{"class":990},[984,27088,27089,27091,27093,27095],{"class":986,"line":1150},[984,27090,23554],{"class":996},[984,27092,1015],{"class":990},[984,27094,2682],{"class":996},[984,27096,1021],{"class":990},[984,27098,27099,27101,27103,27106],{"class":986,"line":1163},[984,27100,1127],{"class":996},[984,27102,1015],{"class":990},[984,27104,27105],{"class":1003},"\"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\"",[984,27107,1021],{"class":990},[984,27109,27110,27113,27115,27118],{"class":986,"line":1176},[984,27111,27112],{"class":996},"    \"tip_height\"",[984,27114,1015],{"class":990},[984,27116,27117],{"class":996},"106",[984,27119,1021],{"class":990},[984,27121,27122,27125,27127,27129],{"class":986,"line":1189},[984,27123,27124],{"class":996},"    \"tip_prev_state_hash\"",[984,27126,1015],{"class":990},[984,27128,27051],{"class":1003},[984,27130,1021],{"class":990},[984,27132,27133,27136,27138,27141],{"class":986,"line":1202},[984,27134,27135],{"class":996},"    \"tip_state_hash\"",[984,27137,1015],{"class":990},[984,27139,27140],{"class":1003},"\"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\"",[984,27142,1021],{"class":990},[984,27144,27145,27148,27150],{"class":986,"line":1211},[984,27146,27147],{"class":996},"    \"tip_state_timestamp\"",[984,27149,1015],{"class":990},[984,27151,27152],{"class":996},"1625146951\n",[984,27154,27155],{"class":986,"line":1217},[984,27156,1459],{"class":990},[984,27158,27159],{"class":986,"line":1229},[984,27160,1038],{"class":990},[11,27162,27163,27164,557,27167,27170,27171,27174,27175,27177,27178,27180,27181,27183,27184,27186],{},"In event 1 API tells that there is 1 new block to sync (",[150,27165,27166],{},"tip_height",[150,27168,27169],{},"current_height"," is 1) and nothing has been yet done (",[150,27172,27173],{},"sync_requests_done"," is 0). Current height is 105 (",[150,27176,27169],{},"), target height is 106 (",[150,27179,27166],{},") and our wallet is still in a 'synce tolerance range' (",[150,27182,19511],{}," is true). If ",[150,27185,19511],{}," is false all the requested\u002Fpending transaction would be delayed until the wallet is synced.",[11,27188,27189],{},[150,27190,27191],{},"2. \u003C--",[866,27193,27195],{"className":978,"code":27194,"language":980,"meta":760,"style":760},"{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 105,\n    \"current_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 1,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n",[150,27196,27197,27201,27211,27221,27227,27237,27247,27257,27267,27277,27287,27297,27307,27317,27327,27335,27339],{"__ignoreMap":760},[984,27198,27199],{"class":986,"line":987},[984,27200,991],{"class":990},[984,27202,27203,27205,27207,27209],{"class":986,"line":761},[984,27204,1057],{"class":996},[984,27206,1015],{"class":990},[984,27208,27013],{"class":1003},[984,27210,1021],{"class":990},[984,27212,27213,27215,27217,27219],{"class":986,"line":772},[984,27214,1069],{"class":996},[984,27216,1015],{"class":990},[984,27218,1004],{"class":1003},[984,27220,1021],{"class":990},[984,27222,27223,27225],{"class":986,"line":1024},[984,27224,1080],{"class":996},[984,27226,1083],{"class":990},[984,27228,27229,27231,27233,27235],{"class":986,"line":1035},[984,27230,1088],{"class":996},[984,27232,1015],{"class":990},[984,27234,27040],{"class":996},[984,27236,1021],{"class":990},[984,27238,27239,27241,27243,27245],{"class":986,"line":1098},[984,27240,1101],{"class":996},[984,27242,1015],{"class":990},[984,27244,27051],{"class":1003},[984,27246,1021],{"class":990},[984,27248,27249,27251,27253,27255],{"class":986,"line":1111},[984,27250,23533],{"class":996},[984,27252,1015],{"class":990},[984,27254,27062],{"class":996},[984,27256,1021],{"class":990},[984,27258,27259,27261,27263,27265],{"class":986,"line":1124},[984,27260,27069],{"class":996},[984,27262,1015],{"class":990},[984,27264,1345],{"class":996},[984,27266,1021],{"class":990},[984,27268,27269,27271,27273,27275],{"class":986,"line":1137},[984,27270,27080],{"class":996},[984,27272,1015],{"class":990},[984,27274,1503],{"class":996},[984,27276,1021],{"class":990},[984,27278,27279,27281,27283,27285],{"class":986,"line":1150},[984,27280,23554],{"class":996},[984,27282,1015],{"class":990},[984,27284,2682],{"class":996},[984,27286,1021],{"class":990},[984,27288,27289,27291,27293,27295],{"class":986,"line":1163},[984,27290,1127],{"class":996},[984,27292,1015],{"class":990},[984,27294,27105],{"class":1003},[984,27296,1021],{"class":990},[984,27298,27299,27301,27303,27305],{"class":986,"line":1176},[984,27300,27112],{"class":996},[984,27302,1015],{"class":990},[984,27304,27117],{"class":996},[984,27306,1021],{"class":990},[984,27308,27309,27311,27313,27315],{"class":986,"line":1189},[984,27310,27124],{"class":996},[984,27312,1015],{"class":990},[984,27314,27051],{"class":1003},[984,27316,1021],{"class":990},[984,27318,27319,27321,27323,27325],{"class":986,"line":1202},[984,27320,27135],{"class":996},[984,27322,1015],{"class":990},[984,27324,27140],{"class":1003},[984,27326,1021],{"class":990},[984,27328,27329,27331,27333],{"class":986,"line":1211},[984,27330,27147],{"class":996},[984,27332,1015],{"class":990},[984,27334,27152],{"class":996},[984,27336,27337],{"class":986,"line":1217},[984,27338,1459],{"class":990},[984,27340,27341],{"class":986,"line":1229},[984,27342,1038],{"class":990},[11,27344,27345,27346,27348,27349,27352],{},"In event 2 API tells that 1 sync request has been processed (",[150,27347,27173],{}," is 1). It can be block body downloaded, utxo received &c. Since ",[150,27350,27351],{},"sync_requests_total"," is 2 not everything is received, some requests are still pending.",[11,27354,27355],{},[150,27356,27357],{},"3. \u003C--",[866,27359,27361],{"className":978,"code":27360,"language":980,"meta":760,"style":760},"{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 105,\n    \"current_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 2,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"3a2a3bd55615d3de86b86c920f715ad47973be7dbc2fde2d4c39b937e96177e1\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n\nIn event 3 API tells that 2 sync events have been receive (`sync_requests_done` is 2) and since `sync_requests_total` is 2 too we can conclude that everything is downloaded now though not yet processed and wallet state has not yet moved to the next block (current_height is still not changed and is 105).\n\n`4. \u003C--`\n```json\n{\n  \"id\": \"ev_sync_progress\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 106,\n    \"current_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"current_state_timestamp\": 1625146903,\n    \"sync_requests_done\": 2,\n    \"sync_requests_total\": 2,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_height\": 106,\n    \"tip_prev_state_hash\": \"76de9b9bcbc1b1a4775d54f2b98c3edc222f5a86698209200e459043fe218a29\",\n    \"tip_state_hash\": \"7bb40b96ee4606c3e8f085aa633b66c14f041178142eb1077521621cde47e3b1\",\n    \"tip_state_timestamp\": 1625146951\n  }\n}\n",[150,27362,27363,27367,27377,27387,27393,27403,27413,27423,27433,27443,27453,27463,27473,27483,27493,27501,27505,27509,27513,27543,27547,27557,27562,27566,27576,27586,27592,27602,27612,27622,27632,27642,27652,27662,27672,27682,27692,27700,27704],{"__ignoreMap":760},[984,27364,27365],{"class":986,"line":987},[984,27366,991],{"class":990},[984,27368,27369,27371,27373,27375],{"class":986,"line":761},[984,27370,1057],{"class":996},[984,27372,1015],{"class":990},[984,27374,27013],{"class":1003},[984,27376,1021],{"class":990},[984,27378,27379,27381,27383,27385],{"class":986,"line":772},[984,27380,1069],{"class":996},[984,27382,1015],{"class":990},[984,27384,1004],{"class":1003},[984,27386,1021],{"class":990},[984,27388,27389,27391],{"class":986,"line":1024},[984,27390,1080],{"class":996},[984,27392,1083],{"class":990},[984,27394,27395,27397,27399,27401],{"class":986,"line":1035},[984,27396,1088],{"class":996},[984,27398,1015],{"class":990},[984,27400,27040],{"class":996},[984,27402,1021],{"class":990},[984,27404,27405,27407,27409,27411],{"class":986,"line":1098},[984,27406,1101],{"class":996},[984,27408,1015],{"class":990},[984,27410,27051],{"class":1003},[984,27412,1021],{"class":990},[984,27414,27415,27417,27419,27421],{"class":986,"line":1111},[984,27416,23533],{"class":996},[984,27418,1015],{"class":990},[984,27420,27062],{"class":996},[984,27422,1021],{"class":990},[984,27424,27425,27427,27429,27431],{"class":986,"line":1124},[984,27426,27069],{"class":996},[984,27428,1015],{"class":990},[984,27430,1503],{"class":996},[984,27432,1021],{"class":990},[984,27434,27435,27437,27439,27441],{"class":986,"line":1137},[984,27436,27080],{"class":996},[984,27438,1015],{"class":990},[984,27440,1503],{"class":996},[984,27442,1021],{"class":990},[984,27444,27445,27447,27449,27451],{"class":986,"line":1150},[984,27446,23554],{"class":996},[984,27448,1015],{"class":990},[984,27450,2682],{"class":996},[984,27452,1021],{"class":990},[984,27454,27455,27457,27459,27461],{"class":986,"line":1163},[984,27456,1127],{"class":996},[984,27458,1015],{"class":990},[984,27460,27105],{"class":1003},[984,27462,1021],{"class":990},[984,27464,27465,27467,27469,27471],{"class":986,"line":1176},[984,27466,27112],{"class":996},[984,27468,1015],{"class":990},[984,27470,27117],{"class":996},[984,27472,1021],{"class":990},[984,27474,27475,27477,27479,27481],{"class":986,"line":1189},[984,27476,27124],{"class":996},[984,27478,1015],{"class":990},[984,27480,27051],{"class":1003},[984,27482,1021],{"class":990},[984,27484,27485,27487,27489,27491],{"class":986,"line":1202},[984,27486,27135],{"class":996},[984,27488,1015],{"class":990},[984,27490,27140],{"class":1003},[984,27492,1021],{"class":990},[984,27494,27495,27497,27499],{"class":986,"line":1211},[984,27496,27147],{"class":996},[984,27498,1015],{"class":990},[984,27500,27152],{"class":996},[984,27502,27503],{"class":986,"line":1217},[984,27504,1459],{"class":990},[984,27506,27507],{"class":986,"line":1229},[984,27508,1038],{"class":990},[984,27510,27511],{"class":986,"line":1241},[984,27512,8376],{"emptyLinePlaceholder":778},[984,27514,27515,27518,27520,27523,27525,27528,27530,27533,27535,27538,27540],{"class":986,"line":1254},[984,27516,27517],{"class":990},"In event ",[984,27519,5131],{"class":996},[984,27521,27522],{"class":990}," API tells that ",[984,27524,1503],{"class":996},[984,27526,27527],{"class":990}," sync events have been receive (`sync_requests_done` is ",[984,27529,1503],{"class":996},[984,27531,27532],{"class":990},") and since `sync_requests_total` is ",[984,27534,1503],{"class":996},[984,27536,27537],{"class":990}," too we can conclude that everything is downloaded now though not yet processed and wallet state has not yet moved to the next block (current_height is still not changed and is ",[984,27539,27040],{"class":996},[984,27541,27542],{"class":990},").\n",[984,27544,27545],{"class":986,"line":1266},[984,27546,8376],{"emptyLinePlaceholder":778},[984,27548,27549,27552,27554],{"class":986,"line":1279},[984,27550,27551],{"class":990},"`",[984,27553,2431],{"class":996},[984,27555,27556],{"class":990},". \u003C--`\n",[984,27558,27559],{"class":986,"line":1291},[984,27560,27561],{"class":990},"```json\n",[984,27563,27564],{"class":986,"line":1304},[984,27565,991],{"class":990},[984,27567,27568,27570,27572,27574],{"class":986,"line":1316},[984,27569,1057],{"class":996},[984,27571,1015],{"class":990},[984,27573,27013],{"class":1003},[984,27575,1021],{"class":990},[984,27577,27578,27580,27582,27584],{"class":986,"line":1327},[984,27579,1069],{"class":996},[984,27581,1015],{"class":990},[984,27583,1004],{"class":1003},[984,27585,1021],{"class":990},[984,27587,27588,27590],{"class":986,"line":1333},[984,27589,1080],{"class":996},[984,27591,1083],{"class":990},[984,27593,27594,27596,27598,27600],{"class":986,"line":1338},[984,27595,1088],{"class":996},[984,27597,1015],{"class":990},[984,27599,27117],{"class":996},[984,27601,1021],{"class":990},[984,27603,27604,27606,27608,27610],{"class":986,"line":1355},[984,27605,1101],{"class":996},[984,27607,1015],{"class":990},[984,27609,27140],{"class":1003},[984,27611,1021],{"class":990},[984,27613,27614,27616,27618,27620],{"class":986,"line":1367},[984,27615,23533],{"class":996},[984,27617,1015],{"class":990},[984,27619,27062],{"class":996},[984,27621,1021],{"class":990},[984,27623,27624,27626,27628,27630],{"class":986,"line":1379},[984,27625,27069],{"class":996},[984,27627,1015],{"class":990},[984,27629,1503],{"class":996},[984,27631,1021],{"class":990},[984,27633,27634,27636,27638,27640],{"class":986,"line":1390},[984,27635,27080],{"class":996},[984,27637,1015],{"class":990},[984,27639,1503],{"class":996},[984,27641,1021],{"class":990},[984,27643,27644,27646,27648,27650],{"class":986,"line":1402},[984,27645,23554],{"class":996},[984,27647,1015],{"class":990},[984,27649,2682],{"class":996},[984,27651,1021],{"class":990},[984,27653,27654,27656,27658,27660],{"class":986,"line":1413},[984,27655,1127],{"class":996},[984,27657,1015],{"class":990},[984,27659,27051],{"class":1003},[984,27661,1021],{"class":990},[984,27663,27664,27666,27668,27670],{"class":986,"line":1424},[984,27665,27112],{"class":996},[984,27667,1015],{"class":990},[984,27669,27117],{"class":996},[984,27671,1021],{"class":990},[984,27673,27674,27676,27678,27680],{"class":986,"line":1435},[984,27675,27124],{"class":996},[984,27677,1015],{"class":990},[984,27679,27051],{"class":1003},[984,27681,1021],{"class":990},[984,27683,27684,27686,27688,27690],{"class":986,"line":1444},[984,27685,27135],{"class":996},[984,27687,1015],{"class":990},[984,27689,27140],{"class":1003},[984,27691,1021],{"class":990},[984,27693,27694,27696,27698],{"class":986,"line":1450},[984,27695,27147],{"class":996},[984,27697,1015],{"class":990},[984,27699,27152],{"class":996},[984,27701,27702],{"class":986,"line":1456},[984,27703,1459],{"class":990},[984,27705,27706],{"class":986,"line":1462},[984,27707,1038],{"class":990},[11,27709,27710,27711,27713,27714,27716,27717,27713,27720,27723,27724,27713,27726,4316],{},"In event 4 API tells that the wallet state is moved to the last tip (",[150,27712,27351],{}," == ",[150,27715,27173],{}," == 0 AND ",[150,27718,27719],{},"tip_state_hash",[150,27721,27722],{},"current_state_hash"," AND ",[150,27725,27166],{},[150,27727,27169],{},[26,27729,19571],{"id":19571},[11,27731,27732],{},"Generated when wallet moves to the next state, for example when new block is mined and wallet has acknowledged and processed this fact or when new block is delivered during the sync.",[11,27734,27735],{},[150,27736,1043],{},[866,27738,27740],{"className":978,"code":27739,"language":980,"meta":760,"style":760},"{\n  \"id\": \"ev_system_state\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 113738,\n    \"current_state_hash\": \"4bbf9eb9cc409ce17c49cc7952edfed7583e8636e3e5d84b2034779034cb439c\",\n    \"current_state_timestamp\": 1625663362,\n    \"is_in_sync\": true,\n    \"prev_state_hash\": \"4995999f065eb5f04687fe9a43b93d7e344e99d17f2e2703260904f70aabfbd0\",\n    \"tip_height\": 113738,\n    \"tip_prev_state_hash\": \"4995999f065eb5f04687fe9a43b93d7e344e99d17f2e2703260904f70aabfbd0\",\n    \"tip_state_hash\": \"4bbf9eb9cc409ce17c49cc7952edfed7583e8636e3e5d84b2034779034cb439c\",\n    \"tip_state_timestamp\": 1625663362\n  }\n}\n",[150,27741,27742,27746,27757,27767,27773,27784,27795,27806,27816,27827,27837,27847,27857,27866,27870],{"__ignoreMap":760},[984,27743,27744],{"class":986,"line":987},[984,27745,991],{"class":990},[984,27747,27748,27750,27752,27755],{"class":986,"line":761},[984,27749,1057],{"class":996},[984,27751,1015],{"class":990},[984,27753,27754],{"class":1003},"\"ev_system_state\"",[984,27756,1021],{"class":990},[984,27758,27759,27761,27763,27765],{"class":986,"line":772},[984,27760,1069],{"class":996},[984,27762,1015],{"class":990},[984,27764,1004],{"class":1003},[984,27766,1021],{"class":990},[984,27768,27769,27771],{"class":986,"line":1024},[984,27770,1080],{"class":996},[984,27772,1083],{"class":990},[984,27774,27775,27777,27779,27782],{"class":986,"line":1035},[984,27776,1088],{"class":996},[984,27778,1015],{"class":990},[984,27780,27781],{"class":996},"113738",[984,27783,1021],{"class":990},[984,27785,27786,27788,27790,27793],{"class":986,"line":1098},[984,27787,1101],{"class":996},[984,27789,1015],{"class":990},[984,27791,27792],{"class":1003},"\"4bbf9eb9cc409ce17c49cc7952edfed7583e8636e3e5d84b2034779034cb439c\"",[984,27794,1021],{"class":990},[984,27796,27797,27799,27801,27804],{"class":986,"line":1111},[984,27798,23533],{"class":996},[984,27800,1015],{"class":990},[984,27802,27803],{"class":996},"1625663362",[984,27805,1021],{"class":990},[984,27807,27808,27810,27812,27814],{"class":986,"line":1124},[984,27809,23554],{"class":996},[984,27811,1015],{"class":990},[984,27813,2682],{"class":996},[984,27815,1021],{"class":990},[984,27817,27818,27820,27822,27825],{"class":986,"line":1137},[984,27819,1127],{"class":996},[984,27821,1015],{"class":990},[984,27823,27824],{"class":1003},"\"4995999f065eb5f04687fe9a43b93d7e344e99d17f2e2703260904f70aabfbd0\"",[984,27826,1021],{"class":990},[984,27828,27829,27831,27833,27835],{"class":986,"line":1150},[984,27830,27112],{"class":996},[984,27832,1015],{"class":990},[984,27834,27781],{"class":996},[984,27836,1021],{"class":990},[984,27838,27839,27841,27843,27845],{"class":986,"line":1163},[984,27840,27124],{"class":996},[984,27842,1015],{"class":990},[984,27844,27824],{"class":1003},[984,27846,1021],{"class":990},[984,27848,27849,27851,27853,27855],{"class":986,"line":1176},[984,27850,27135],{"class":996},[984,27852,1015],{"class":990},[984,27854,27792],{"class":1003},[984,27856,1021],{"class":990},[984,27858,27859,27861,27863],{"class":986,"line":1189},[984,27860,27147],{"class":996},[984,27862,1015],{"class":990},[984,27864,27865],{"class":996},"1625663362\n",[984,27867,27868],{"class":986,"line":1202},[984,27869,1459],{"class":990},[984,27871,27872],{"class":986,"line":1211},[984,27873,1038],{"class":990},[26,27875,19579],{"id":19579},[11,27877,27878],{},"Event is generated when any address is changed\u002Fremoved\u002Fupdated &c.",[11,27880,27881],{},[150,27882,1043],{},[866,27884,27886],{"className":978,"code":27885,"language":980,"meta":760,"style":760},"{\n  \"id\": \"ev_addrs_changed\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n      \"change\": 3,\n      \"change_str\": \"reset\",\n      \"addrs\": [\n          {\n              \"address\": \"8xQnvWwS78RsbXmvV1wm2Spkye76z5FfiZH2zB3Jdw2BgWqUf4MC2StLVYrM4LvrWsMdY24b5hok4XvEoTBmHoaWBcEvr8nWTY259M4DnRJnRBgdNJEqRxenxRZox8DKnSoGiScV31dXLcxoRH2vFPcrxDsMGDAsyekVGz2NBPCwKFwCwTQwJpbhszCzxM843UMWQMxxoHADsTXnQnVW1Uc3quXgJdEr6tQ5dbgGWwYhNHU3f6mLFxNyxvrM7RfFY6LatPxJaC5M9o7Gg6TnpVc82GzVrKGNQoERJ9pFc7f6VM8w9dcn9CaC8yQvGevAnZqNTDEVpxAK81mJ3VFPUjbePWYQBdPQPm8AprTU1p4xhGHpbVaaTH967CJ86jAUXQEUrVq1wn4uPGLivhdnoWCdGujiZfwrfdPeQ698vm7Mh2HpooextAt4nzmSbEbPNtM5aCbeRyVv8BiEZ394WJCQaDRwHx2R3tfsHNCvTctCUy6NsonhmnSwvucY5KN71AtBGmxq8i\",\n              \"category\": \"\",\n              \"comment\": \"\",\n              \"create_time\": 1553174321,\n              \"duration\": 1520,\n              \"expired\": true,\n              \"own\": true,\n              \"own_id\": 16730903,\n              \"own_id_str\": \"16730903\",\n              \"identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n              \"type\": \"offline\",\n              \"wallet_id\": \"22813f28ae198b1aa28aed3d0dc69a7c75f0a3c8b72c5950c997d0a569e74f90b61\"\n          },\n          {\n              \"address\": \"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\",\n              \"category\": \"\",\n              \"create_time\": 1553174321,\n              \"duration\": 1520,\n              \"expired\": true,\n              \"comment\": \"\",\n              \"own\": true,\n              \"own_id\": 16730903,\n              \"own_id_str\": \"16730903\",\n              \"identity\": \"9d99a7e3d1a6a73fbfa01efe63020135654f7b1561d65c74266fe9db6e80b096\",\n              \"type\": \"regular\",\n              \"wallet_id\": \"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\"\n          }\n      ]\n  }\n}\n",[150,27887,27888,27892,27903,27913,27919,27930,27942,27949,27954,27966,27977,27988,27999,28010,28021,28032,28043,28054,28065,28076,28086,28091,28095,28106,28116,28126,28136,28146,28156,28166,28176,28186,28197,28207,28216,28221,28226,28230],{"__ignoreMap":760},[984,27889,27890],{"class":986,"line":987},[984,27891,991],{"class":990},[984,27893,27894,27896,27898,27901],{"class":986,"line":761},[984,27895,1057],{"class":996},[984,27897,1015],{"class":990},[984,27899,27900],{"class":1003},"\"ev_addrs_changed\"",[984,27902,1021],{"class":990},[984,27904,27905,27907,27909,27911],{"class":986,"line":772},[984,27906,1069],{"class":996},[984,27908,1015],{"class":990},[984,27910,1004],{"class":1003},[984,27912,1021],{"class":990},[984,27914,27915,27917],{"class":986,"line":1024},[984,27916,1080],{"class":996},[984,27918,1083],{"class":990},[984,27920,27921,27924,27926,27928],{"class":986,"line":1035},[984,27922,27923],{"class":996},"      \"change\"",[984,27925,1015],{"class":990},[984,27927,5131],{"class":996},[984,27929,1021],{"class":990},[984,27931,27932,27935,27937,27940],{"class":986,"line":1098},[984,27933,27934],{"class":996},"      \"change_str\"",[984,27936,1015],{"class":990},[984,27938,27939],{"class":1003},"\"reset\"",[984,27941,1021],{"class":990},[984,27943,27944,27947],{"class":986,"line":1111},[984,27945,27946],{"class":996},"      \"addrs\"",[984,27948,1208],{"class":990},[984,27950,27951],{"class":986,"line":1124},[984,27952,27953],{"class":990},"          {\n",[984,27955,27956,27959,27961,27964],{"class":986,"line":1137},[984,27957,27958],{"class":996},"              \"address\"",[984,27960,1015],{"class":990},[984,27962,27963],{"class":1003},"\"8xQnvWwS78RsbXmvV1wm2Spkye76z5FfiZH2zB3Jdw2BgWqUf4MC2StLVYrM4LvrWsMdY24b5hok4XvEoTBmHoaWBcEvr8nWTY259M4DnRJnRBgdNJEqRxenxRZox8DKnSoGiScV31dXLcxoRH2vFPcrxDsMGDAsyekVGz2NBPCwKFwCwTQwJpbhszCzxM843UMWQMxxoHADsTXnQnVW1Uc3quXgJdEr6tQ5dbgGWwYhNHU3f6mLFxNyxvrM7RfFY6LatPxJaC5M9o7Gg6TnpVc82GzVrKGNQoERJ9pFc7f6VM8w9dcn9CaC8yQvGevAnZqNTDEVpxAK81mJ3VFPUjbePWYQBdPQPm8AprTU1p4xhGHpbVaaTH967CJ86jAUXQEUrVq1wn4uPGLivhdnoWCdGujiZfwrfdPeQ698vm7Mh2HpooextAt4nzmSbEbPNtM5aCbeRyVv8BiEZ394WJCQaDRwHx2R3tfsHNCvTctCUy6NsonhmnSwvucY5KN71AtBGmxq8i\"",[984,27965,1021],{"class":990},[984,27967,27968,27971,27973,27975],{"class":986,"line":1150},[984,27969,27970],{"class":996},"              \"category\"",[984,27972,1015],{"class":990},[984,27974,13091],{"class":1003},[984,27976,1021],{"class":990},[984,27978,27979,27982,27984,27986],{"class":986,"line":1163},[984,27980,27981],{"class":996},"              \"comment\"",[984,27983,1015],{"class":990},[984,27985,13091],{"class":1003},[984,27987,1021],{"class":990},[984,27989,27990,27993,27995,27997],{"class":986,"line":1176},[984,27991,27992],{"class":996},"              \"create_time\"",[984,27994,1015],{"class":990},[984,27996,13103],{"class":996},[984,27998,1021],{"class":990},[984,28000,28001,28004,28006,28008],{"class":986,"line":1189},[984,28002,28003],{"class":996},"              \"duration\"",[984,28005,1015],{"class":990},[984,28007,13115],{"class":996},[984,28009,1021],{"class":990},[984,28011,28012,28015,28017,28019],{"class":986,"line":1202},[984,28013,28014],{"class":996},"              \"expired\"",[984,28016,1015],{"class":990},[984,28018,2682],{"class":996},[984,28020,1021],{"class":990},[984,28022,28023,28026,28028,28030],{"class":986,"line":1211},[984,28024,28025],{"class":996},"              \"own\"",[984,28027,1015],{"class":990},[984,28029,2682],{"class":996},[984,28031,1021],{"class":990},[984,28033,28034,28037,28039,28041],{"class":986,"line":1217},[984,28035,28036],{"class":996},"              \"own_id\"",[984,28038,1015],{"class":990},[984,28040,13158],{"class":996},[984,28042,1021],{"class":990},[984,28044,28045,28048,28050,28052],{"class":986,"line":1229},[984,28046,28047],{"class":996},"              \"own_id_str\"",[984,28049,1015],{"class":990},[984,28051,13170],{"class":1003},[984,28053,1021],{"class":990},[984,28055,28056,28059,28061,28063],{"class":986,"line":1241},[984,28057,28058],{"class":996},"              \"identity\"",[984,28060,1015],{"class":990},[984,28062,13182],{"class":1003},[984,28064,1021],{"class":990},[984,28066,28067,28070,28072,28074],{"class":986,"line":1254},[984,28068,28069],{"class":996},"              \"type\"",[984,28071,1015],{"class":990},[984,28073,5931],{"class":1003},[984,28075,1021],{"class":990},[984,28077,28078,28081,28083],{"class":986,"line":1266},[984,28079,28080],{"class":996},"              \"wallet_id\"",[984,28082,1015],{"class":990},[984,28084,28085],{"class":1003},"\"22813f28ae198b1aa28aed3d0dc69a7c75f0a3c8b72c5950c997d0a569e74f90b61\"\n",[984,28087,28088],{"class":986,"line":1279},[984,28089,28090],{"class":990},"          },\n",[984,28092,28093],{"class":986,"line":1291},[984,28094,27953],{"class":990},[984,28096,28097,28099,28101,28104],{"class":986,"line":1304},[984,28098,27958],{"class":996},[984,28100,1015],{"class":990},[984,28102,28103],{"class":1003},"\"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\"",[984,28105,1021],{"class":990},[984,28107,28108,28110,28112,28114],{"class":986,"line":1316},[984,28109,27970],{"class":996},[984,28111,1015],{"class":990},[984,28113,13091],{"class":1003},[984,28115,1021],{"class":990},[984,28117,28118,28120,28122,28124],{"class":986,"line":1327},[984,28119,27992],{"class":996},[984,28121,1015],{"class":990},[984,28123,13103],{"class":996},[984,28125,1021],{"class":990},[984,28127,28128,28130,28132,28134],{"class":986,"line":1333},[984,28129,28003],{"class":996},[984,28131,1015],{"class":990},[984,28133,13115],{"class":996},[984,28135,1021],{"class":990},[984,28137,28138,28140,28142,28144],{"class":986,"line":1338},[984,28139,28014],{"class":996},[984,28141,1015],{"class":990},[984,28143,2682],{"class":996},[984,28145,1021],{"class":990},[984,28147,28148,28150,28152,28154],{"class":986,"line":1355},[984,28149,27981],{"class":996},[984,28151,1015],{"class":990},[984,28153,13091],{"class":1003},[984,28155,1021],{"class":990},[984,28157,28158,28160,28162,28164],{"class":986,"line":1367},[984,28159,28025],{"class":996},[984,28161,1015],{"class":990},[984,28163,2682],{"class":996},[984,28165,1021],{"class":990},[984,28167,28168,28170,28172,28174],{"class":986,"line":1379},[984,28169,28036],{"class":996},[984,28171,1015],{"class":990},[984,28173,13158],{"class":996},[984,28175,1021],{"class":990},[984,28177,28178,28180,28182,28184],{"class":986,"line":1390},[984,28179,28047],{"class":996},[984,28181,1015],{"class":990},[984,28183,13170],{"class":1003},[984,28185,1021],{"class":990},[984,28187,28188,28190,28192,28195],{"class":986,"line":1402},[984,28189,28058],{"class":996},[984,28191,1015],{"class":990},[984,28193,28194],{"class":1003},"\"9d99a7e3d1a6a73fbfa01efe63020135654f7b1561d65c74266fe9db6e80b096\"",[984,28196,1021],{"class":990},[984,28198,28199,28201,28203,28205],{"class":986,"line":1413},[984,28200,28069],{"class":996},[984,28202,1015],{"class":990},[984,28204,6305],{"class":1003},[984,28206,1021],{"class":990},[984,28208,28209,28211,28213],{"class":986,"line":1424},[984,28210,28080],{"class":996},[984,28212,1015],{"class":990},[984,28214,28215],{"class":1003},"\"19e6ce53a137a1aa59ef19538c181acc5cd06cbfc7b985901345328786f8ae300a7\"\n",[984,28217,28218],{"class":986,"line":1435},[984,28219,28220],{"class":990},"          }\n",[984,28222,28223],{"class":986,"line":1444},[984,28224,28225],{"class":990},"      ]\n",[984,28227,28228],{"class":986,"line":1450},[984,28229,1459],{"class":990},[984,28231,28232],{"class":986,"line":1456},[984,28233,1038],{"class":990},[89,28235,28236,28247],{},[54,28237,28238,441,28240,28242,28243,28246],{},[150,28239,2657],{},[150,28241,26967],{}," - check ",[18,28244,26914],{"href":28245},"#ev_xxx_changed-events"," section for details",[54,28248,28249,28252],{},[150,28250,28251],{},"addrs"," - array of changed addresses",[26,28254,19587],{"id":19587},[11,28256,28257,28258,28260],{},"Event is generated when an asset is changed, i.e. metadata refreshed or metadata dropped due to the asset delisting or internal metadata processing error. Note that metadata can be dropped while an asset is still on chain but local metadata becomes invalid, for example in certain situations during rollback. If you have any asset coins in wallet but no valid metadata for a given asset id refresh it using ",[18,28259,913],{"href":2036},". Metadata is also automatically refreshed during the send\u002Freceive\u002Fissue\u002Fconsume operations if necessary.",[11,28262,28263],{},"Metadata dropped:",[11,28265,28266],{},[150,28267,28268],{},"\u003C-",[866,28270,28272],{"className":978,"code":28271,"language":980,"meta":760,"style":760},"{\n  \"id\": \"ev_assets_changed\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": { \n      \"change\": 1,\n      \"change_str\": \"removed\",\n      \"assets\": [\n         {\"asset_id\": 121}, \n         {\"asset_id\": 122} \n      ]\n  }\n}\n",[150,28273,28274,28278,28289,28299,28306,28316,28327,28334,28349,28363,28367,28371],{"__ignoreMap":760},[984,28275,28276],{"class":986,"line":987},[984,28277,991],{"class":990},[984,28279,28280,28282,28284,28287],{"class":986,"line":761},[984,28281,1057],{"class":996},[984,28283,1015],{"class":990},[984,28285,28286],{"class":1003},"\"ev_assets_changed\"",[984,28288,1021],{"class":990},[984,28290,28291,28293,28295,28297],{"class":986,"line":772},[984,28292,1069],{"class":996},[984,28294,1015],{"class":990},[984,28296,1004],{"class":1003},[984,28298,1021],{"class":990},[984,28300,28301,28303],{"class":986,"line":1024},[984,28302,1080],{"class":996},[984,28304,28305],{"class":990},": { \n",[984,28307,28308,28310,28312,28314],{"class":986,"line":1035},[984,28309,27923],{"class":996},[984,28311,1015],{"class":990},[984,28313,1345],{"class":996},[984,28315,1021],{"class":990},[984,28317,28318,28320,28322,28325],{"class":986,"line":1098},[984,28319,27934],{"class":996},[984,28321,1015],{"class":990},[984,28323,28324],{"class":1003},"\"removed\"",[984,28326,1021],{"class":990},[984,28328,28329,28332],{"class":986,"line":1111},[984,28330,28331],{"class":996},"      \"assets\"",[984,28333,1208],{"class":990},[984,28335,28336,28339,28341,28343,28346],{"class":986,"line":1124},[984,28337,28338],{"class":990},"         {",[984,28340,1470],{"class":996},[984,28342,1015],{"class":990},[984,28344,28345],{"class":996},"121",[984,28347,28348],{"class":990},"}, \n",[984,28350,28351,28353,28355,28357,28360],{"class":986,"line":1137},[984,28352,28338],{"class":990},[984,28354,1470],{"class":996},[984,28356,1015],{"class":990},[984,28358,28359],{"class":996},"122",[984,28361,28362],{"class":990},"} \n",[984,28364,28365],{"class":986,"line":1150},[984,28366,28225],{"class":990},[984,28368,28369],{"class":986,"line":1163},[984,28370,1459],{"class":990},[984,28372,28373],{"class":986,"line":1176},[984,28374,1038],{"class":990},[89,28376,28377,28385],{},[54,28378,28379,441,28381,28242,28383,28246],{},[150,28380,2657],{},[150,28382,26967],{},[18,28384,26914],{"href":28245},[54,28386,28387,28390,28391,28393],{},[150,28388,28389],{},"assets"," - array of changed assets. In case of the ",[150,28392,26945],{}," event only asset ids are provided",[11,28395,28396],{},"Metadata updated:",[11,28398,28399],{},[150,28400,28268],{},[866,28402,28404],{"className":978,"code":28403,"language":980,"meta":760,"style":760},"{\n    \"id\": \"ev_assets_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"assets\": [\n           {\n              \"asset_id\": 1,\n              \"emission\": 2000000000,\n              \"emission_str\": \"2000000000\",\n              \"isOwned\": 1,\n              \"lockHeight\": 39,\n              \"metadata\": \"STD:SCH_VER=1;N=YAN Coin;SN=YAN;UN=Yan;NTHUN=Yanik\",\n              \"metadata_kv\": true,\n              \"metadata_pairs\": {\n                 \"N\": \"YAN Coin\",\n                 \"NTHUN\": \"Yanik\",\n                 \"SCH_VER\": \"1\",\n                 \"SN\": \"YAN\",\n                 \"UN\": \"Yan\"\n              },\n              \"metadata_std_min\": true,\n              \"metadata_std\": true,\n              \"ownerId\": \"0ae08a49e018e98177774294107dc033790b87538e54a20e99c6b98f1dbd39ce\",\n              \"refreshHeight\": 927\n          }\n       ]\n    }\n}\n",[150,28405,28406,28410,28420,28430,28436,28446,28456,28462,28467,28478,28489,28500,28511,28522,28533,28544,28551,28562,28573,28584,28595,28604,28609,28620,28631,28642,28651,28655,28660,28664],{"__ignoreMap":760},[984,28407,28408],{"class":986,"line":987},[984,28409,991],{"class":990},[984,28411,28412,28414,28416,28418],{"class":986,"line":761},[984,28413,1012],{"class":996},[984,28415,1015],{"class":990},[984,28417,28286],{"class":1003},[984,28419,1021],{"class":990},[984,28421,28422,28424,28426,28428],{"class":986,"line":772},[984,28423,997],{"class":996},[984,28425,1015],{"class":990},[984,28427,1004],{"class":1003},[984,28429,1021],{"class":990},[984,28431,28432,28434],{"class":986,"line":1024},[984,28433,1724],{"class":996},[984,28435,1083],{"class":990},[984,28437,28438,28440,28442,28444],{"class":986,"line":1035},[984,28439,2577],{"class":996},[984,28441,1015],{"class":990},[984,28443,5131],{"class":996},[984,28445,1021],{"class":990},[984,28447,28448,28450,28452,28454],{"class":986,"line":1098},[984,28449,2588],{"class":996},[984,28451,1015],{"class":990},[984,28453,27939],{"class":1003},[984,28455,1021],{"class":990},[984,28457,28458,28460],{"class":986,"line":1111},[984,28459,17104],{"class":996},[984,28461,1208],{"class":990},[984,28463,28464],{"class":986,"line":1124},[984,28465,28466],{"class":990},"           {\n",[984,28468,28469,28472,28474,28476],{"class":986,"line":1137},[984,28470,28471],{"class":996},"              \"asset_id\"",[984,28473,1015],{"class":990},[984,28475,1345],{"class":996},[984,28477,1021],{"class":990},[984,28479,28480,28483,28485,28487],{"class":986,"line":1150},[984,28481,28482],{"class":996},"              \"emission\"",[984,28484,1015],{"class":990},[984,28486,1362],{"class":996},[984,28488,1021],{"class":990},[984,28490,28491,28494,28496,28498],{"class":986,"line":1163},[984,28492,28493],{"class":996},"              \"emission_str\"",[984,28495,1015],{"class":990},[984,28497,1374],{"class":1003},[984,28499,1021],{"class":990},[984,28501,28502,28505,28507,28509],{"class":986,"line":1176},[984,28503,28504],{"class":996},"              \"isOwned\"",[984,28506,1015],{"class":990},[984,28508,1345],{"class":996},[984,28510,1021],{"class":990},[984,28512,28513,28516,28518,28520],{"class":986,"line":1189},[984,28514,28515],{"class":996},"              \"lockHeight\"",[984,28517,1015],{"class":990},[984,28519,1926],{"class":996},[984,28521,1021],{"class":990},[984,28523,28524,28527,28529,28531],{"class":986,"line":1202},[984,28525,28526],{"class":996},"              \"metadata\"",[984,28528,1015],{"class":990},[984,28530,24590],{"class":1003},[984,28532,1021],{"class":990},[984,28534,28535,28538,28540,28542],{"class":986,"line":1211},[984,28536,28537],{"class":996},"              \"metadata_kv\"",[984,28539,1015],{"class":990},[984,28541,2682],{"class":996},[984,28543,1021],{"class":990},[984,28545,28546,28549],{"class":986,"line":1217},[984,28547,28548],{"class":996},"              \"metadata_pairs\"",[984,28550,1083],{"class":990},[984,28552,28553,28556,28558,28560],{"class":986,"line":1229},[984,28554,28555],{"class":996},"                 \"N\"",[984,28557,1015],{"class":990},[984,28559,24620],{"class":1003},[984,28561,1021],{"class":990},[984,28563,28564,28567,28569,28571],{"class":986,"line":1241},[984,28565,28566],{"class":996},"                 \"NTHUN\"",[984,28568,1015],{"class":990},[984,28570,24632],{"class":1003},[984,28572,1021],{"class":990},[984,28574,28575,28578,28580,28582],{"class":986,"line":1254},[984,28576,28577],{"class":996},"                 \"SCH_VER\"",[984,28579,1015],{"class":990},[984,28581,24644],{"class":1003},[984,28583,1021],{"class":990},[984,28585,28586,28589,28591,28593],{"class":986,"line":1266},[984,28587,28588],{"class":996},"                 \"SN\"",[984,28590,1015],{"class":990},[984,28592,24656],{"class":1003},[984,28594,1021],{"class":990},[984,28596,28597,28600,28602],{"class":986,"line":1279},[984,28598,28599],{"class":996},"                 \"UN\"",[984,28601,1015],{"class":990},[984,28603,24668],{"class":1003},[984,28605,28606],{"class":986,"line":1291},[984,28607,28608],{"class":990},"              },\n",[984,28610,28611,28614,28616,28618],{"class":986,"line":1304},[984,28612,28613],{"class":996},"              \"metadata_std_min\"",[984,28615,1015],{"class":990},[984,28617,2682],{"class":996},[984,28619,1021],{"class":990},[984,28621,28622,28625,28627,28629],{"class":986,"line":1316},[984,28623,28624],{"class":996},"              \"metadata_std\"",[984,28626,1015],{"class":990},[984,28628,2682],{"class":996},[984,28630,1021],{"class":990},[984,28632,28633,28636,28638,28640],{"class":986,"line":1327},[984,28634,28635],{"class":996},"              \"ownerId\"",[984,28637,1015],{"class":990},[984,28639,1950],{"class":1003},[984,28641,1021],{"class":990},[984,28643,28644,28647,28649],{"class":986,"line":1333},[984,28645,28646],{"class":996},"              \"refreshHeight\"",[984,28648,1015],{"class":990},[984,28650,1962],{"class":996},[984,28652,28653],{"class":986,"line":1338},[984,28654,28220],{"class":990},[984,28656,28657],{"class":986,"line":1355},[984,28658,28659],{"class":990},"       ]\n",[984,28661,28662],{"class":986,"line":1367},[984,28663,1607],{"class":990},[984,28665,28666],{"class":986,"line":1379},[984,28667,1038],{"class":990},[89,28669,28670,28678],{},[54,28671,28672,441,28674,28242,28676,28246],{},[150,28673,2657],{},[150,28675,26967],{},[18,28677,26914],{"href":28245},[54,28679,28680,28682,28683,28685],{},[150,28681,28389],{}," array of changed assets, most up to date meta. Check ",[18,28684,918],{"href":12373}," for more details",[26,28687,19593],{"id":19593},[11,28689,28690,28691,4316],{},"Event is generated when UTXOs\u002FCoins are changed. If assets are not enabled event is generated only for BEAM UTXOs. To get asset UTXOs notifications assets should be enabled (",[150,28692,948],{},[11,28694,28695],{},[150,28696,28268],{},[866,28698,28700],{"className":978,"code":28699,"language":980,"meta":760,"style":760},"{\n    \"id\": \"ev_utxos_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"utxos\": [\n            {\n                \"id\": 123,\n                \"asset_id\": 0,\n                \"amount\": 12345,\n                \"maturity\": 60,\n                \"type\": \"mine\",\n                \"createTxId\": \"10c4b760c842433cb58339a0fafef3db\",\n                \"spentTxId\": \"\",\n                \"status\": 2,\n                \"status_string\": \"maturing\"\n            } \n        ]\n    }\n}\n",[150,28701,28702,28706,28717,28727,28733,28743,28753,28760,28764,28775,28786,28797,28808,28819,28830,28841,28852,28861,28866,28871,28875],{"__ignoreMap":760},[984,28703,28704],{"class":986,"line":987},[984,28705,991],{"class":990},[984,28707,28708,28710,28712,28715],{"class":986,"line":761},[984,28709,1012],{"class":996},[984,28711,1015],{"class":990},[984,28713,28714],{"class":1003},"\"ev_utxos_changed\"",[984,28716,1021],{"class":990},[984,28718,28719,28721,28723,28725],{"class":986,"line":772},[984,28720,997],{"class":996},[984,28722,1015],{"class":990},[984,28724,1004],{"class":1003},[984,28726,1021],{"class":990},[984,28728,28729,28731],{"class":986,"line":1024},[984,28730,1724],{"class":996},[984,28732,1083],{"class":990},[984,28734,28735,28737,28739,28741],{"class":986,"line":1035},[984,28736,2577],{"class":996},[984,28738,1015],{"class":990},[984,28740,5131],{"class":996},[984,28742,1021],{"class":990},[984,28744,28745,28747,28749,28751],{"class":986,"line":1098},[984,28746,2588],{"class":996},[984,28748,1015],{"class":990},[984,28750,27939],{"class":1003},[984,28752,1021],{"class":990},[984,28754,28755,28758],{"class":986,"line":1111},[984,28756,28757],{"class":996},"        \"utxos\"",[984,28759,1208],{"class":990},[984,28761,28762],{"class":986,"line":1124},[984,28763,9689],{"class":990},[984,28765,28766,28769,28771,28773],{"class":986,"line":1137},[984,28767,28768],{"class":996},"                \"id\"",[984,28770,1015],{"class":990},[984,28772,1158],{"class":996},[984,28774,1021],{"class":990},[984,28776,28777,28780,28782,28784],{"class":986,"line":1150},[984,28778,28779],{"class":996},"                \"asset_id\"",[984,28781,1015],{"class":990},[984,28783,1171],{"class":996},[984,28785,1021],{"class":990},[984,28787,28788,28791,28793,28795],{"class":986,"line":1163},[984,28789,28790],{"class":996},"                \"amount\"",[984,28792,1015],{"class":990},[984,28794,16963],{"class":996},[984,28796,1021],{"class":990},[984,28798,28799,28802,28804,28806],{"class":986,"line":1176},[984,28800,28801],{"class":996},"                \"maturity\"",[984,28803,1015],{"class":990},[984,28805,16974],{"class":996},[984,28807,1021],{"class":990},[984,28809,28810,28813,28815,28817],{"class":986,"line":1189},[984,28811,28812],{"class":996},"                \"type\"",[984,28814,1015],{"class":990},[984,28816,16985],{"class":1003},[984,28818,1021],{"class":990},[984,28820,28821,28824,28826,28828],{"class":986,"line":1202},[984,28822,28823],{"class":996},"                \"createTxId\"",[984,28825,1015],{"class":990},[984,28827,14895],{"class":1003},[984,28829,1021],{"class":990},[984,28831,28832,28835,28837,28839],{"class":986,"line":1211},[984,28833,28834],{"class":996},"                \"spentTxId\"",[984,28836,1015],{"class":990},[984,28838,13091],{"class":1003},[984,28840,1021],{"class":990},[984,28842,28843,28846,28848,28850],{"class":986,"line":1217},[984,28844,28845],{"class":996},"                \"status\"",[984,28847,1015],{"class":990},[984,28849,1503],{"class":996},[984,28851,1021],{"class":990},[984,28853,28854,28857,28859],{"class":986,"line":1229},[984,28855,28856],{"class":996},"                \"status_string\"",[984,28858,1015],{"class":990},[984,28860,17028],{"class":1003},[984,28862,28863],{"class":986,"line":1241},[984,28864,28865],{"class":990},"            } \n",[984,28867,28868],{"class":986,"line":1254},[984,28869,28870],{"class":990},"        ]\n",[984,28872,28873],{"class":986,"line":1266},[984,28874,1607],{"class":990},[984,28876,28877],{"class":986,"line":1279},[984,28878,1038],{"class":990},[89,28880,28881,28889],{},[54,28882,28883,441,28885,28242,28887,28246],{},[150,28884,2657],{},[150,28886,26967],{},[18,28888,26914],{"href":28245},[54,28890,28891,28893,28894,28685],{},[150,28892,8355],{}," array of changed utxos, most up to date meta. Check ",[18,28895,12024],{"href":12331},[26,28897,19599],{"id":19599},[11,28899,28900],{},"Event is generated when transactions are changed.",[11,28902,28903],{},[150,28904,28268],{},[866,28906,28908],{"className":978,"code":28907,"language":980,"meta":760,"style":760},"{\n    \"id\": \"ev_txs_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"txs\": [\n            {\n                \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n                \"asset_id\": 0,\n                \"comment\": \"\",\n                \"fee\": 100,\n                \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n                \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n                \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n                \"status\": 4,\n                \"status_string\" : \"Failed\",\n                \"tx_type\": 0,\n                \"tx_type_string\": \"simple\",\n                \"failure_reason\" : \"No inputs\",\n                \"value\": 12342342,\n                \"create_time\" : 1551100217,\n                \"income\" : false,\n                \"sender_identity\": \"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\",\n                \"receiver_identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n                \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n            } \n        ]\n    }\n}\n",[150,28909,28910,28914,28925,28935,28941,28951,28961,28968,28972,28983,28993,29004,29015,29026,29037,29048,29058,29068,29079,29090,29101,29112,29123,29134,29145,29156,29165,29169,29173,29177],{"__ignoreMap":760},[984,28911,28912],{"class":986,"line":987},[984,28913,991],{"class":990},[984,28915,28916,28918,28920,28923],{"class":986,"line":761},[984,28917,1012],{"class":996},[984,28919,1015],{"class":990},[984,28921,28922],{"class":1003},"\"ev_txs_changed\"",[984,28924,1021],{"class":990},[984,28926,28927,28929,28931,28933],{"class":986,"line":772},[984,28928,997],{"class":996},[984,28930,1015],{"class":990},[984,28932,1004],{"class":1003},[984,28934,1021],{"class":990},[984,28936,28937,28939],{"class":986,"line":1024},[984,28938,1724],{"class":996},[984,28940,1083],{"class":990},[984,28942,28943,28945,28947,28949],{"class":986,"line":1035},[984,28944,2577],{"class":996},[984,28946,1015],{"class":990},[984,28948,5131],{"class":996},[984,28950,1021],{"class":990},[984,28952,28953,28955,28957,28959],{"class":986,"line":1098},[984,28954,2588],{"class":996},[984,28956,1015],{"class":990},[984,28958,27939],{"class":1003},[984,28960,1021],{"class":990},[984,28962,28963,28966],{"class":986,"line":1111},[984,28964,28965],{"class":996},"        \"txs\"",[984,28967,1208],{"class":990},[984,28969,28970],{"class":986,"line":1124},[984,28971,9689],{"class":990},[984,28973,28974,28977,28979,28981],{"class":986,"line":1137},[984,28975,28976],{"class":996},"                \"txId\"",[984,28978,1738],{"class":990},[984,28980,14895],{"class":1003},[984,28982,1021],{"class":990},[984,28984,28985,28987,28989,28991],{"class":986,"line":1150},[984,28986,28779],{"class":996},[984,28988,1015],{"class":990},[984,28990,1171],{"class":996},[984,28992,1021],{"class":990},[984,28994,28995,28998,29000,29002],{"class":986,"line":1163},[984,28996,28997],{"class":996},"                \"comment\"",[984,28999,1015],{"class":990},[984,29001,13091],{"class":1003},[984,29003,1021],{"class":990},[984,29005,29006,29009,29011,29013],{"class":986,"line":1176},[984,29007,29008],{"class":996},"                \"fee\"",[984,29010,1015],{"class":990},[984,29012,4979],{"class":996},[984,29014,1021],{"class":990},[984,29016,29017,29020,29022,29024],{"class":986,"line":1189},[984,29018,29019],{"class":996},"                \"kernel\"",[984,29021,1015],{"class":990},[984,29023,14999],{"class":1003},[984,29025,1021],{"class":990},[984,29027,29028,29031,29033,29035],{"class":986,"line":1202},[984,29029,29030],{"class":996},"                \"receiver\"",[984,29032,1015],{"class":990},[984,29034,1562],{"class":1003},[984,29036,1021],{"class":990},[984,29038,29039,29042,29044,29046],{"class":986,"line":1211},[984,29040,29041],{"class":996},"                \"sender\"",[984,29043,1015],{"class":990},[984,29045,15022],{"class":1003},[984,29047,1021],{"class":990},[984,29049,29050,29052,29054,29056],{"class":986,"line":1217},[984,29051,28845],{"class":996},[984,29053,1015],{"class":990},[984,29055,2431],{"class":996},[984,29057,1021],{"class":990},[984,29059,29060,29062,29064,29066],{"class":986,"line":1229},[984,29061,28856],{"class":996},[984,29063,1738],{"class":990},[984,29065,15045],{"class":1003},[984,29067,1021],{"class":990},[984,29069,29070,29073,29075,29077],{"class":986,"line":1241},[984,29071,29072],{"class":996},"                \"tx_type\"",[984,29074,1015],{"class":990},[984,29076,1171],{"class":996},[984,29078,1021],{"class":990},[984,29080,29081,29084,29086,29088],{"class":986,"line":1254},[984,29082,29083],{"class":996},"                \"tx_type_string\"",[984,29085,1015],{"class":990},[984,29087,15068],{"class":1003},[984,29089,1021],{"class":990},[984,29091,29092,29095,29097,29099],{"class":986,"line":1266},[984,29093,29094],{"class":996},"                \"failure_reason\"",[984,29096,1738],{"class":990},[984,29098,15080],{"class":1003},[984,29100,1021],{"class":990},[984,29102,29103,29106,29108,29110],{"class":986,"line":1279},[984,29104,29105],{"class":996},"                \"value\"",[984,29107,1015],{"class":990},[984,29109,1539],{"class":996},[984,29111,1021],{"class":990},[984,29113,29114,29117,29119,29121],{"class":986,"line":1291},[984,29115,29116],{"class":996},"                \"create_time\"",[984,29118,1738],{"class":990},[984,29120,15101],{"class":996},[984,29122,1021],{"class":990},[984,29124,29125,29128,29130,29132],{"class":986,"line":1304},[984,29126,29127],{"class":996},"                \"income\"",[984,29129,1738],{"class":990},[984,29131,5089],{"class":996},[984,29133,1021],{"class":990},[984,29135,29136,29139,29141,29143],{"class":986,"line":1316},[984,29137,29138],{"class":996},"                \"sender_identity\"",[984,29140,1015],{"class":990},[984,29142,15124],{"class":1003},[984,29144,1021],{"class":990},[984,29146,29147,29150,29152,29154],{"class":986,"line":1327},[984,29148,29149],{"class":996},"                \"receiver_identity\"",[984,29151,1015],{"class":990},[984,29153,13182],{"class":1003},[984,29155,1021],{"class":990},[984,29157,29158,29161,29163],{"class":986,"line":1333},[984,29159,29160],{"class":996},"                \"token\"",[984,29162,1015],{"class":990},[984,29164,15147],{"class":1003},[984,29166,29167],{"class":986,"line":1338},[984,29168,28865],{"class":990},[984,29170,29171],{"class":986,"line":1355},[984,29172,28870],{"class":990},[984,29174,29175],{"class":986,"line":1367},[984,29176,1607],{"class":990},[984,29178,29179],{"class":986,"line":1379},[984,29180,1038],{"class":990},[89,29182,29183,29191],{},[54,29184,29185,441,29187,28242,29189,28246],{},[150,29186,2657],{},[150,29188,26967],{},[18,29190,26914],{"href":28245},[54,29192,29193,29196,29197,28685],{},[150,29194,29195],{},"txs"," array of changed transactions. Check ",[18,29198,12303],{"href":12302},[2685,29200,8046],{},{"title":760,"searchDepth":761,"depth":761,"links":29202},[29203,29208,29209,29210,29211,29212,29213,29216,29217,29218,29219,29220,29221,29222,29223,29224,29225,29226,29231,29232,29233,29234,29235,29236,29237,29243,29244,29245,29248,29249,29250,29251,29252,29253,29254,29255,29256,29257],{"id":19466,"depth":761,"text":19467,"children":29204},[29205,29206,29207],{"id":19475,"depth":772,"text":19476},{"id":19497,"depth":772,"text":19498},{"id":19554,"depth":772,"text":19555},{"id":12086,"depth":761,"text":12087},{"id":12229,"depth":761,"text":12230},{"id":12430,"depth":761,"text":12431},{"id":6196,"depth":761,"text":6196},{"id":5854,"depth":761,"text":5854},{"id":12265,"depth":761,"text":12265,"children":29214},[29215],{"id":13237,"depth":772,"text":2757},{"id":12249,"depth":761,"text":12249},{"id":12257,"depth":761,"text":12257},{"id":888,"depth":761,"text":888},{"id":893,"depth":761,"text":893},{"id":903,"depth":761,"text":903},{"id":908,"depth":761,"text":908},{"id":913,"depth":761,"text":913},{"id":12316,"depth":761,"text":12316},{"id":12324,"depth":761,"text":12324},{"id":12303,"depth":761,"text":12303},{"id":12337,"depth":761,"text":12337,"children":29227},[29228,29229,29230],{"id":15966,"depth":772,"text":15967},{"id":15970,"depth":772,"text":15971},{"id":16051,"depth":772,"text":16052},{"id":883,"depth":761,"text":883},{"id":12024,"depth":761,"text":12024},{"id":918,"depth":761,"text":918},{"id":12350,"depth":761,"text":12350},{"id":12358,"depth":761,"text":12358},{"id":12366,"depth":761,"text":12366},{"id":12395,"depth":761,"text":12395,"children":29238},[29239,29240,29241,29242],{"id":18489,"depth":772,"text":18490},{"id":18496,"depth":772,"text":18497},{"id":18503,"depth":772,"text":18504},{"id":25761,"depth":772,"text":25762},{"id":12406,"depth":761,"text":12406},{"id":923,"depth":761,"text":923},{"id":12416,"depth":761,"text":12416,"children":29246},[29247],{"id":19405,"depth":772,"text":18490},{"id":19484,"depth":761,"text":19484},{"id":19492,"depth":761,"text":19492},{"id":26880,"depth":761,"text":26881},{"id":26913,"depth":761,"text":26914},{"id":19563,"depth":761,"text":19563},{"id":19571,"depth":761,"text":19571},{"id":19579,"depth":761,"text":19579},{"id":19587,"depth":761,"text":19587},{"id":19593,"depth":761,"text":19593},{"id":19599,"depth":761,"text":19599},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v6.1",{"description":760},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.1","t5t-Y-O6XbfA5nR5CS-visml0cDiefUuhd2GefzJ1Xo",{"id":29264,"title":29265,"body":29266,"description":29277,"extension":775,"image":776,"meta":29278,"navTitle":776,"navigation":778,"path":29279,"seo":29280,"stem":29281,"__hash__":29282},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.2.md","Beam Wallet Protocol API V62",{"type":8,"value":29267,"toc":29275},[29268],[11,29269,29270,29271,29274],{},"There were no API changes in version 6.2\nPlease refer ",[18,29272,11269],{"href":11267,"rel":29273},[22]," docs.",{"title":760,"searchDepth":761,"depth":761,"links":29276},[],"There were no API changes in version 6.2\nPlease refer version 6.1 docs.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v6.2",{"description":29277},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v6.2","03r7zfcsaOzGW8tr1JGuQW1zNBCkbzV4ftERzX57wjE",{"id":29284,"title":29285,"body":29286,"description":760,"extension":775,"image":776,"meta":41224,"navTitle":776,"navigation":778,"path":41225,"seo":41226,"stem":41227,"__hash__":41228},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.0.md","Beam Wallet Protocol API V70",{"type":8,"value":29287,"toc":41158},[29288,29292,29294,29403,29405,29412,29490,29492,29498,29502,29512,29514,29516,29568,29570,29574,29752,29756,29806,29810,29819,29822,29830,29871,29925,29927,29930,29932,29934,29938,30032,30117,30139,30143,30183,30185,30189,30193,30257,30261,30345,30359,30361,30363,30367,30431,30441,30445,30609,30649,30651,30659,30661,30663,30667,30731,30735,30775,30777,30785,30789,30873,30877,30917,30919,30921,30925,31049,31097,31103,31107,31161,31165,31167,31169,31173,31177,31273,31277,31331,31353,31355,31359,31363,31367,31441,31463,31469,31473,31527,31531,31533,31537,31541,31545,31619,31641,31647,31651,31705,31709,31711,31715,31719,31723,31787,31801,31803,31807,31861,31865,31867,31869,31873,31937,31943,31947,31987,31993,31995,31997,32001,32065,32071,32075,32115,32121,32123,32127,32131,32207,32224,32228,32452,32454,32456,32460,32579,32606,32610,32618,32622,33282,33407,33409,33411,33461,33463,33483,33487,33489,33491,33495,33535,33539,33686,33716,33720,33724,33784,33790,33794,34562,34666,34676,34692,34694,34696,34700,34804,34824,34828,34962,34974,34978,35058,35062,35200,35236,35238,35242,35246,35310,35320,35324,35536,35540,35599,35601,35603,35607,35647,35651,35691,35693,35697,35701,35765,35769,35823,35831,35835,35837,35841,35845,35909,35913,36017,36043,36047,36049,36051,36053,36057,36139,36141,36145,36219,36245,36251,36255,36389,36405,36407,36409,36411,36417,36421,36491,36495,36561,36563,36569,36583,36585,36587,36591,36661,36669,36673,36723,36729,36731,36735,36739,36833,36837,36941,36943,36983,36985,36987,36991,37055,37061,37065,37219,37265,37267,37269,37273,37313,37317,37447,37460,37462,37465,37469,37567,37591,37595,37663,37676,37678,37681,37685,37769,37780,37784,37840,37847,37849,37852,37856,37932,37943,37947,38022,38033,38035,38041,38045,38121,38132,38136,38190,38197,38199,38205,38209,38275,38282,38286,38340,38347,38349,38352,38356,38423,38429,38433,38489,38496,38498,38500,38504,38614,38618,38658,38666,38668,38670,38676,38678,38682,38832,38848,38852,39002,39008,39012,39352,39366,39368,39370,39374,39504,39506,39508,39512,39836,39850,39852,39856,39858,39862,39958,39974,39976,39980,40226,40242,40244,40248,40252,40420,40436,40438,40440,40444,40710,40726,40728,40731,40735,40801,40826,40828,40831,40835,40915,40928,40932,40989,40997,40999,41002,41006,41094,41111,41115,41156],[26,29289,29291],{"id":29290},"whats-new-in-v70","What's new in v7.0",[716,29293,19498],{"id":19497},[89,29295,29296,29310,29321,29330,29392],{},[54,29297,29298,163,29300,29302,29303,163,29306,29309],{},[18,29299,12303],{"href":12302},[18,29301,12337],{"href":12336}," return ",[150,29304,29305],{},"appid",[150,29307,29308],{},"appname"," for transactions initated by dapps.",[54,29311,29312,163,29314,29316,29317,29320],{},[18,29313,12303],{"href":12302},[18,29315,12337],{"href":12336}," return currency ",[150,29318,29319],{},"rates"," at the moment of transaction",[54,29322,29323,29327,29328,6197],{},[18,29324,29326],{"href":29325},"#ev_connection_changed","ev_connection_changed"," event added to ",[18,29329,19492],{"href":19491},[54,29331,29332,441,29335,441,29338,441,29341,441,29344,441,29347,441,29350,441,29353,441,29356,441,29359,441,29362,441,29365,441,29368,441,29371,441,29374,441,29377,441,29380,441,29382,441,29384,441,29386,29389,29390,6197],{},[150,29333,29334],{},"available_regular",[150,29336,29337],{},"available_regular_str",[150,29339,29340],{},"available_mp",[150,29342,29343],{},"available_mp_str",[150,29345,29346],{},"receiving_regular",[150,29348,29349],{},"receiving_regular_str",[150,29351,29352],{},"receiving_mp",[150,29354,29355],{},"receiving_mp_str",[150,29357,29358],{},"sending_regular",[150,29360,29361],{},"sending_regular_str",[150,29363,29364],{},"sending_mp",[150,29366,29367],{},"sending_mp_str",[150,29369,29370],{},"maturing_regular",[150,29372,29373],{},"maturing_regular_str",[150,29375,29376],{},"maturing_mp",[150,29378,29379],{},"maturing_mp_str",[150,29381,2657],{},[150,29383,26967],{},[150,29385,16309],{},[150,29387,29388],{},"locked_str"," fields added for each asset in ",[18,29391,883],{"href":12344},[54,29393,29394,163,29396,29398,29399,29402],{},[18,29395,12303],{"href":12302},[18,29397,12337],{"href":12336}," added field ",[150,29400,29401],{},"address_type"," for push transactions",[716,29404,19476],{"id":19475},[11,29406,29407,29408,29411],{},"v7.0 API adds IPFS support. Refer ",[18,29409,4914],{"href":12045,"rel":29410},[22]," for details.",[89,29413,29414,29424,29434,29444,29454,29464,29474,29482],{},[54,29415,29416,2679,29420,29422],{},[18,29417,29419],{"href":29418},"#ipfs_add","ipfs_add",[2707,29421],{"alt":760,"src":12243},[2707,29423],{"alt":760,"src":19795},[54,29425,29426,2679,29430,29432],{},[18,29427,29429],{"href":29428},"#ipfs_hash","ipfs_hash",[2707,29431],{"alt":760,"src":12243},[2707,29433],{"alt":760,"src":19795},[54,29435,29436,2679,29440,29442],{},[18,29437,29439],{"href":29438},"#ipfs_get","ipfs_get",[2707,29441],{"alt":760,"src":12243},[2707,29443],{"alt":760,"src":19795},[54,29445,29446,2679,29450,29452],{},[18,29447,29449],{"href":29448},"#ipfs_pin","ipfs_pin",[2707,29451],{"alt":760,"src":12243},[2707,29453],{"alt":760,"src":19795},[54,29455,29456,2679,29460,29462],{},[18,29457,29459],{"href":29458},"#ipfs_unpin","ipfs_unpin",[2707,29461],{"alt":760,"src":12243},[2707,29463],{"alt":760,"src":19795},[54,29465,29466,2679,29470,29472],{},[18,29467,29469],{"href":29468},"#ipfs_gc","ipfs_gc",[2707,29471],{"alt":760,"src":12243},[2707,29473],{"alt":760,"src":19795},[54,29475,29476,2679,29480],{},[18,29477,29479],{"href":29478},"#sign_message","sign_message",[2707,29481],{"alt":760,"src":12243},[54,29483,29484,2679,29488],{},[18,29485,29487],{"href":29486},"#verify_signature","verify_signature",[2707,29489],{"alt":760,"src":12243},[716,29491,19555],{"id":19554},[89,29493,29494],{},[54,29495,29496],{},[18,29497,29326],{"href":29325},[716,29499,29501],{"id":29500},"changed-events","Changed events",[89,29503,29504],{},[54,29505,29506,29508,29509,29511],{},[18,29507,19599],{"href":19598}," returns ",[150,29510,29319],{}," array by default for all transactions",[26,29513,12087],{"id":12086},[11,29515,12090],{},[89,29517,29518,29520,29522,29524,29526,29528,29530,29532,29534,29536,29538,29540,29542,29544,29546,29548,29550,29552,29554,29556,29558,29560,29562,29564,29566],{},[54,29519,12095],{},[54,29521,12098],{},[54,29523,12101],{},[54,29525,12104],{},[54,29527,12107],{},[54,29529,12110],{},[54,29531,12113],{},[54,29533,19624],{},[54,29535,12178],{},[54,29537,12181],{},[54,29539,12184],{},[54,29541,12187],{},[54,29543,12190],{},[54,29545,12193],{},[54,29547,12196],{},[54,29549,12199],{},[54,29551,12202],{},[54,29553,12205],{},[54,29555,12208],{},[54,29557,12211],{},[54,29559,12214],{},[54,29561,12217],{},[54,29563,12220],{},[54,29565,12223],{},[54,29567,12226],{},[26,29569,12230],{"id":12229},[716,29571,29573],{"id":29572},"general-methods","General methods",[89,29575,29576,29582,29588,29594,29600,29606,29612,29616,29620,29626,29632,29636,29642,29648,29652,29658,29664,29670,29676,29682,29688,29692,29698,29706,29714,29722,29728,29734,29740,29746],{},[54,29577,29578,2679,29580],{},[18,29579,6196],{"href":12240},[2707,29581],{"alt":760,"src":12243},[54,29583,29584,2679,29586],{},[18,29585,12249],{"href":12248},[2707,29587],{"alt":760,"src":12243},[54,29589,29590,2679,29592],{},[18,29591,12257],{"href":12256},[2707,29593],{"alt":760,"src":12243},[54,29595,29596,2679,29598],{},[18,29597,12265],{"href":12264},[2707,29599],{"alt":760,"src":12243},[54,29601,29602,2679,29604],{},[18,29603,5854],{"href":12272},[2707,29605],{"alt":760,"src":12243},[54,29607,29608,2679,29610],{},[18,29609,888],{"href":12279},[2707,29611],{"alt":760,"src":12243},[54,29613,29614],{},[18,29615,903],{"href":12286},[54,29617,29618],{},[18,29619,908],{"href":12291},[54,29621,29622,2679,29624],{},[18,29623,913],{"href":2036},[2707,29625],{"alt":760,"src":12243},[54,29627,29628,2679,29630],{},[18,29629,12303],{"href":12302},[2707,29631],{"alt":760,"src":12243},[54,29633,29634],{},[18,29635,893],{"href":12310},[54,29637,29638,2679,29640],{},[18,29639,12316],{"href":12315},[2707,29641],{"alt":760,"src":12243},[54,29643,29644,2679,29646],{},[18,29645,12324],{"href":12323},[2707,29647],{"alt":760,"src":12243},[54,29649,29650],{},[18,29651,12024],{"href":12331},[54,29653,29654,2679,29656],{},[18,29655,12337],{"href":12336},[2707,29657],{"alt":760,"src":12243},[54,29659,29660,2679,29662],{},[18,29661,883],{"href":12344},[2707,29663],{"alt":760,"src":12243},[54,29665,29666,2679,29668],{},[18,29667,12350],{"href":12349},[2707,29669],{"alt":760,"src":12243},[54,29671,29672,2679,29674],{},[18,29673,12358],{"href":12357},[2707,29675],{"alt":760,"src":12243},[54,29677,29678,2679,29680],{},[18,29679,12366],{"href":12365},[2707,29681],{"alt":760,"src":12243},[54,29683,29684,2679,29686],{},[18,29685,918],{"href":12373},[2707,29687],{"alt":760,"src":12243},[54,29689,29690],{},[18,29691,12381],{"href":12380},[54,29693,29694,2679,29696],{},[18,29695,12387],{"href":12386},[2707,29697],{"alt":760,"src":12243},[54,29699,29700,2679,29702,29704],{},[18,29701,12395],{"href":12394},[2707,29703],{"alt":760,"src":12243},[2707,29705],{"alt":760,"src":19795},[54,29707,29708,2679,29710,29712],{},[18,29709,12406],{"href":12405},[2707,29711],{"alt":760,"src":12243},[2707,29713],{"alt":760,"src":19795},[54,29715,29716,2679,29718,29720],{},[18,29717,12416],{"href":12415},[2707,29719],{"alt":760,"src":12243},[2707,29721],{"alt":760,"src":19795},[54,29723,29724,2679,29726],{},[18,29725,923],{"href":12425},[2707,29727],{"alt":760,"src":12243},[54,29729,29730,2679,29732],{},[18,29731,19484],{"href":19483},[2707,29733],{"alt":760,"src":12243},[54,29735,29736,2679,29738],{},[18,29737,19492],{"href":19491},[2707,29739],{"alt":760,"src":12243},[54,29741,29742,2679,29744],{},[18,29743,29479],{"href":29478},[2707,29745],{"alt":760,"src":12243},[54,29747,29748,2679,29750],{},[18,29749,29487],{"href":29486},[2707,29751],{"alt":760,"src":12243},[716,29753,29755],{"id":29754},"ipfs-methods","IPFS methods",[89,29757,29758,29766,29774,29782,29790,29798],{},[54,29759,29760,2679,29762,29764],{},[18,29761,29419],{"href":29418},[2707,29763],{"alt":760,"src":12243},[2707,29765],{"alt":760,"src":19795},[54,29767,29768,2679,29770,29772],{},[18,29769,29429],{"href":29428},[2707,29771],{"alt":760,"src":12243},[2707,29773],{"alt":760,"src":19795},[54,29775,29776,2679,29778,29780],{},[18,29777,29439],{"href":29438},[2707,29779],{"alt":760,"src":12243},[2707,29781],{"alt":760,"src":19795},[54,29783,29784,2679,29786,29788],{},[18,29785,29449],{"href":29448},[2707,29787],{"alt":760,"src":12243},[2707,29789],{"alt":760,"src":19795},[54,29791,29792,2679,29794,29796],{},[18,29793,29459],{"href":29458},[2707,29795],{"alt":760,"src":12243},[2707,29797],{"alt":760,"src":19795},[54,29799,29800,2679,29802,29804],{},[18,29801,29469],{"href":29468},[2707,29803],{"alt":760,"src":12243},[2707,29805],{"alt":760,"src":19795},[716,29807,29809],{"id":29808},"swap-methods","SWAP methods",[11,29811,12434,29812,12437,29814,12441,29816,385],{},[150,29813,863],{},[150,29815,12440],{},[18,29817,12446],{"href":12444,"rel":29818},[22],[26,29820,29821],{"id":26880},"API events",[11,29823,29824,29825,29827,29828,26921],{},"Client should subscribe to events via ",[18,29826,19492],{"href":19491}," method. Events are generated by API when some entity\u002Fset of entities is changed. Every ",[150,29829,26920],{},[89,29831,29832,29862,29869],{},[54,29833,29834,26928,29836],{},[150,29835,2657],{},[89,29837,29838,29844,29850,29856],{},[54,29839,29840,441,29842,26938],{},[150,29841,1171],{},[150,29843,26937],{},[54,29845,29846,441,29848,26946],{},[150,29847,1345],{},[150,29849,26945],{},[54,29851,29852,441,29854,26954],{},[150,29853,1503],{},[150,29855,26953],{},[54,29857,29858,441,29860,26962],{},[150,29859,5131],{},[150,29861,26961],{},[54,29863,29864,26968,29867,26971],{},[150,29865,29866],{},"changestr",[150,29868,2657],{},[54,29870,26974],{},[89,29872,29873,29881,29889,29897,29903,29909,29917],{},[54,29874,29875,2679,29877,29879],{},[18,29876,19563],{"href":19562},[2707,29878],{"alt":760,"src":12243},[2707,29880],{"alt":760,"src":19795},[54,29882,29883,2679,29885,29887],{},[18,29884,19571],{"href":19570},[2707,29886],{"alt":760,"src":12243},[2707,29888],{"alt":760,"src":19795},[54,29890,29891,2679,29893,29895],{},[18,29892,19579],{"href":19578},[2707,29894],{"alt":760,"src":12243},[2707,29896],{"alt":760,"src":19795},[54,29898,29899,2679,29901],{},[18,29900,19587],{"href":19586},[2707,29902],{"alt":760,"src":19795},[54,29904,29905,2679,29907],{},[18,29906,19593],{"href":19592},[2707,29908],{"alt":760,"src":19795},[54,29910,29911,2679,29913,29915],{},[18,29912,19599],{"href":19598},[2707,29914],{"alt":760,"src":12243},[2707,29916],{"alt":760,"src":19795},[54,29918,29919,2679,29921,29923],{},[18,29920,29326],{"href":29325},[2707,29922],{"alt":760,"src":12243},[2707,29924],{"alt":760,"src":19795},[26,29926,18490],{"id":18489},[11,29928,29929],{},"Async method are asynchronous in nature. Please setup your API connection correspondingly (use keep alive HTTP or raw sockets).",[26,29931,6196],{"id":6196},[11,29933,12451],{},[11,29935,29936],{},[150,29937,975],{},[866,29939,29940],{"className":978,"code":12458,"language":980,"meta":760,"style":760},[150,29941,29942,29946,29956,29966,29976,29982,29986,29996,30006,30016,30024,30028],{"__ignoreMap":760},[984,29943,29944],{"class":986,"line":987},[984,29945,991],{"class":990},[984,29947,29948,29950,29952,29954],{"class":986,"line":761},[984,29949,997],{"class":996},[984,29951,1015],{"class":990},[984,29953,1004],{"class":1003},[984,29955,1007],{"class":990},[984,29957,29958,29960,29962,29964],{"class":986,"line":772},[984,29959,1012],{"class":996},[984,29961,1015],{"class":990},[984,29963,1345],{"class":996},[984,29965,1021],{"class":990},[984,29967,29968,29970,29972,29974],{"class":986,"line":1024},[984,29969,1027],{"class":996},[984,29971,1015],{"class":990},[984,29973,6239],{"class":1003},[984,29975,1007],{"class":990},[984,29977,29978,29980],{"class":986,"line":1035},[984,29979,1521],{"class":996},[984,29981,1524],{"class":990},[984,29983,29984],{"class":986,"line":1098},[984,29985,1529],{"class":990},[984,29987,29988,29990,29992,29994],{"class":986,"line":1111},[984,29989,5926],{"class":996},[984,29991,1015],{"class":990},[984,29993,6305],{"class":1003},[984,29995,1021],{"class":990},[984,29997,29998,30000,30002,30004],{"class":986,"line":1124},[984,29999,6270],{"class":996},[984,30001,1015],{"class":990},[984,30003,6275],{"class":1003},[984,30005,1021],{"class":990},[984,30007,30008,30010,30012,30014],{"class":986,"line":1137},[984,30009,1580],{"class":996},[984,30011,1015],{"class":990},[984,30013,12533],{"class":1003},[984,30015,1021],{"class":990},[984,30017,30018,30020,30022],{"class":986,"line":1150},[984,30019,12540],{"class":996},[984,30021,1738],{"class":990},[984,30023,2497],{"class":996},[984,30025,30026],{"class":986,"line":1163},[984,30027,1607],{"class":990},[984,30029,30030],{"class":986,"line":1176},[984,30031,1038],{"class":990},[89,30033,30034,30069,30089,30093,30107],{},[54,30035,30036,5965,30038,30060,12588,30062,12594,30065,12597,30067],{},[150,30037,5964],{},[89,30039,30040,30044,30048,30052,30056],{},[54,30041,30042,12565],{},[150,30043,5804],{},[54,30045,30046,12570],{},[150,30047,5811],{},[54,30049,30050,12575],{},[150,30051,5991],{},[54,30053,30054,12580],{},[150,30055,6002],{},[54,30057,30058,12585],{},[150,30059,6012],{},[957,30061],{},[18,30063,12593],{"href":12591,"rel":30064},[22],[150,30066,5811],{},[150,30068,12600],{},[54,30070,30071,30073,30083,12622,30085,12626,30087,12629],{},[150,30072,12605],{},[89,30074,30075,30079],{},[54,30076,12610,30077,385],{},[150,30078,12613],{},[54,30080,12616,30081,385],{},[150,30082,12619],{},[957,30084],{},[150,30086,12625],{},[150,30088,12625],{},[54,30090,30091,12635],{},[150,30092,12634],{},[54,30094,30095,12641,30097,12644,30099,12647,30101,12651,30103,12655,30105,385],{},[150,30096,12640],{},[150,30098,2682],{},[150,30100,5804],{},[150,30102,12650],{},[150,30104,12654],{},[150,30106,12658],{},[54,30108,30109,12664,30111,12667,30113,12670,30115,385],{},[150,30110,12663],{},[150,30112,5811],{},[150,30114,1345],{},[150,30116,12673],{},[11,30118,12676,30119,12680,30121,12683,30123,12686,30125,12689,30127,441,30129,163,30131,12696,30133,4665,30135,4665,30137,12703],{},[150,30120,12679],{},[18,30122,9803],{"href":12279},[150,30124,6317],{},[150,30126,863],{},[150,30128,5811],{},[150,30130,5991],{},[150,30132,6002],{},[150,30134,5811],{},[150,30136,5991],{},[150,30138,6002],{},[11,30140,30141],{},[150,30142,1043],{},[866,30144,30145],{"className":978,"code":12710,"language":980,"meta":760,"style":760},[150,30146,30147,30151,30161,30171,30179],{"__ignoreMap":760},[984,30148,30149],{"class":986,"line":987},[984,30150,991],{"class":990},[984,30152,30153,30155,30157,30159],{"class":986,"line":761},[984,30154,997],{"class":996},[984,30156,1738],{"class":990},[984,30158,1004],{"class":1003},[984,30160,1007],{"class":990},[984,30162,30163,30165,30167,30169],{"class":986,"line":772},[984,30164,1012],{"class":996},[984,30166,1738],{"class":990},[984,30168,1345],{"class":996},[984,30170,1021],{"class":990},[984,30172,30173,30175,30177],{"class":986,"line":1024},[984,30174,1724],{"class":996},[984,30176,1738],{"class":990},[984,30178,12745],{"class":1003},[984,30180,30181],{"class":986,"line":1035},[984,30182,1038],{"class":990},[26,30184,5854],{"id":5854},[11,30186,12754,30187,12758],{},[150,30188,12757],{},[11,30190,30191],{},[150,30192,975],{},[866,30194,30195],{"className":978,"code":12765,"language":980,"meta":760,"style":760},[150,30196,30197,30201,30211,30221,30231,30237,30241,30249,30253],{"__ignoreMap":760},[984,30198,30199],{"class":986,"line":987},[984,30200,991],{"class":990},[984,30202,30203,30205,30207,30209],{"class":986,"line":761},[984,30204,997],{"class":996},[984,30206,1000],{"class":990},[984,30208,1004],{"class":1003},[984,30210,1007],{"class":990},[984,30212,30213,30215,30217,30219],{"class":986,"line":772},[984,30214,1012],{"class":996},[984,30216,1015],{"class":990},[984,30218,1345],{"class":996},[984,30220,1021],{"class":990},[984,30222,30223,30225,30227,30229],{"class":986,"line":1024},[984,30224,1027],{"class":996},[984,30226,1015],{"class":990},[984,30228,12800],{"class":1003},[984,30230,1007],{"class":990},[984,30232,30233,30235],{"class":986,"line":1035},[984,30234,1521],{"class":996},[984,30236,1524],{"class":990},[984,30238,30239],{"class":986,"line":1098},[984,30240,1529],{"class":990},[984,30242,30243,30245,30247],{"class":986,"line":1111},[984,30244,1569],{"class":996},[984,30246,1738],{"class":990},[984,30248,12745],{"class":1003},[984,30250,30251],{"class":986,"line":1124},[984,30252,1607],{"class":990},[984,30254,30255],{"class":986,"line":1137},[984,30256,1038],{"class":990},[11,30258,30259],{},[150,30260,1043],{},[866,30262,30263],{"className":978,"code":12835,"language":980,"meta":760,"style":760},[150,30264,30265,30269,30279,30289,30295,30299,30309,30319,30329,30337,30341],{"__ignoreMap":760},[984,30266,30267],{"class":986,"line":987},[984,30268,991],{"class":990},[984,30270,30271,30273,30275,30277],{"class":986,"line":761},[984,30272,997],{"class":996},[984,30274,1000],{"class":990},[984,30276,1004],{"class":1003},[984,30278,1007],{"class":990},[984,30280,30281,30283,30285,30287],{"class":986,"line":772},[984,30282,1012],{"class":996},[984,30284,1015],{"class":990},[984,30286,1345],{"class":996},[984,30288,1021],{"class":990},[984,30290,30291,30293],{"class":986,"line":1024},[984,30292,1724],{"class":996},[984,30294,5895],{"class":990},[984,30296,30297],{"class":986,"line":1035},[984,30298,1529],{"class":990},[984,30300,30301,30303,30305,30307],{"class":986,"line":1098},[984,30302,5904],{"class":996},[984,30304,1738],{"class":990},[984,30306,2682],{"class":996},[984,30308,1021],{"class":990},[984,30310,30311,30313,30315,30317],{"class":986,"line":1111},[984,30312,5915],{"class":996},[984,30314,1738],{"class":990},[984,30316,5089],{"class":996},[984,30318,1021],{"class":990},[984,30320,30321,30323,30325,30327],{"class":986,"line":1124},[984,30322,5926],{"class":996},[984,30324,1015],{"class":990},[984,30326,5931],{"class":1003},[984,30328,1007],{"class":990},[984,30330,30331,30333,30335],{"class":986,"line":1137},[984,30332,5942],{"class":996},[984,30334,1015],{"class":990},[984,30336,12910],{"class":996},[984,30338,30339],{"class":986,"line":1150},[984,30340,1607],{"class":990},[984,30342,30343],{"class":986,"line":1163},[984,30344,1038],{"class":990},[89,30346,30347,30353],{},[54,30348,30349,12925,30351,12928],{},[150,30350,5964],{},[18,30352,6196],{"href":12240},[54,30354,30355,12933,30357,6024],{},[150,30356,6020],{},[150,30358,5811],{},[26,30360,12265],{"id":12265},[11,30362,12940],{},[11,30364,30365],{},[150,30366,975],{},[866,30368,30369],{"className":978,"code":12947,"language":980,"meta":760,"style":760},[150,30370,30371,30375,30385,30395,30405,30411,30415,30423,30427],{"__ignoreMap":760},[984,30372,30373],{"class":986,"line":987},[984,30374,991],{"class":990},[984,30376,30377,30379,30381,30383],{"class":986,"line":761},[984,30378,997],{"class":996},[984,30380,1000],{"class":990},[984,30382,1004],{"class":1003},[984,30384,1007],{"class":990},[984,30386,30387,30389,30391,30393],{"class":986,"line":772},[984,30388,1012],{"class":996},[984,30390,1015],{"class":990},[984,30392,12972],{"class":996},[984,30394,1021],{"class":990},[984,30396,30397,30399,30401,30403],{"class":986,"line":1024},[984,30398,1027],{"class":996},[984,30400,1000],{"class":990},[984,30402,12983],{"class":1003},[984,30404,1021],{"class":990},[984,30406,30407,30409],{"class":986,"line":1035},[984,30408,1521],{"class":996},[984,30410,1524],{"class":990},[984,30412,30413],{"class":986,"line":1098},[984,30414,1529],{"class":990},[984,30416,30417,30419,30421],{"class":986,"line":1111},[984,30418,13000],{"class":996},[984,30420,1738],{"class":990},[984,30422,2497],{"class":996},[984,30424,30425],{"class":986,"line":1124},[984,30426,1607],{"class":990},[984,30428,30429],{"class":986,"line":1137},[984,30430,1038],{"class":990},[89,30432,30433],{},[54,30434,30435,13020,30437,13023,30439,13026],{},[150,30436,13019],{},[150,30438,2682],{},[150,30440,5089],{},[11,30442,30443],{},[150,30444,1043],{},[866,30446,30447],{"className":978,"code":13033,"language":980,"meta":760,"style":760},[150,30448,30449,30453,30463,30473,30479,30483,30493,30503,30513,30523,30533,30543,30553,30563,30573,30583,30593,30601,30605],{"__ignoreMap":760},[984,30450,30451],{"class":986,"line":987},[984,30452,991],{"class":990},[984,30454,30455,30457,30459,30461],{"class":986,"line":761},[984,30456,1012],{"class":996},[984,30458,1015],{"class":990},[984,30460,12972],{"class":996},[984,30462,1021],{"class":990},[984,30464,30465,30467,30469,30471],{"class":986,"line":772},[984,30466,997],{"class":996},[984,30468,1015],{"class":990},[984,30470,1004],{"class":1003},[984,30472,1021],{"class":990},[984,30474,30475,30477],{"class":986,"line":1024},[984,30476,1724],{"class":996},[984,30478,1524],{"class":990},[984,30480,30481],{"class":986,"line":1035},[984,30482,13070],{"class":990},[984,30484,30485,30487,30489,30491],{"class":986,"line":1098},[984,30486,1569],{"class":996},[984,30488,1015],{"class":990},[984,30490,13079],{"class":1003},[984,30492,1021],{"class":990},[984,30494,30495,30497,30499,30501],{"class":986,"line":1111},[984,30496,13086],{"class":996},[984,30498,1015],{"class":990},[984,30500,13091],{"class":1003},[984,30502,1021],{"class":990},[984,30504,30505,30507,30509,30511],{"class":986,"line":1124},[984,30506,13098],{"class":996},[984,30508,1015],{"class":990},[984,30510,13103],{"class":996},[984,30512,1021],{"class":990},[984,30514,30515,30517,30519,30521],{"class":986,"line":1137},[984,30516,13110],{"class":996},[984,30518,1015],{"class":990},[984,30520,13115],{"class":996},[984,30522,1021],{"class":990},[984,30524,30525,30527,30529,30531],{"class":986,"line":1150},[984,30526,13122],{"class":996},[984,30528,1015],{"class":990},[984,30530,2682],{"class":996},[984,30532,1021],{"class":990},[984,30534,30535,30537,30539,30541],{"class":986,"line":1163},[984,30536,1580],{"class":996},[984,30538,1015],{"class":990},[984,30540,13091],{"class":1003},[984,30542,1021],{"class":990},[984,30544,30545,30547,30549,30551],{"class":986,"line":1176},[984,30546,13000],{"class":996},[984,30548,1015],{"class":990},[984,30550,2682],{"class":996},[984,30552,1021],{"class":990},[984,30554,30555,30557,30559,30561],{"class":986,"line":1189},[984,30556,13153],{"class":996},[984,30558,1015],{"class":990},[984,30560,13158],{"class":996},[984,30562,1021],{"class":990},[984,30564,30565,30567,30569,30571],{"class":986,"line":1202},[984,30566,13165],{"class":996},[984,30568,1015],{"class":990},[984,30570,13170],{"class":1003},[984,30572,1021],{"class":990},[984,30574,30575,30577,30579,30581],{"class":986,"line":1211},[984,30576,13177],{"class":996},[984,30578,1015],{"class":990},[984,30580,13182],{"class":1003},[984,30582,1021],{"class":990},[984,30584,30585,30587,30589,30591],{"class":986,"line":1217},[984,30586,5926],{"class":996},[984,30588,1015],{"class":990},[984,30590,6305],{"class":1003},[984,30592,1021],{"class":990},[984,30594,30595,30597,30599],{"class":986,"line":1229},[984,30596,13199],{"class":996},[984,30598,1015],{"class":990},[984,30600,13204],{"class":1003},[984,30602,30603],{"class":986,"line":1241},[984,30604,13209],{"class":990},[984,30606,30607],{"class":986,"line":1254},[984,30608,1038],{"class":990},[89,30610,30611,30615,30619,30623,30627,30633],{},[54,30612,30613,13220],{},[150,30614,12679],{},[54,30616,30617,13226],{},[150,30618,13225],{},[54,30620,30621,13232],{},[150,30622,13231],{},[54,30624,30625,20538],{},[150,30626,13237],{},[54,30628,30629,13243,30631,13246],{},[150,30630,5964],{},[18,30632,6196],{"href":12240},[54,30634,30635,13252,30637,13255,30639,13258,30641,13261,30643,441,30645,163,30647,6030],{},[150,30636,13251],{},[150,30638,5991],{},[150,30640,13251],{},[150,30642,5991],{},[150,30644,5804],{},[150,30646,6012],{},[150,30648,5811],{},[716,30650,2757],{"id":13237},[11,30652,13272,30653,20567,30655,13278,30657,13282],{},[150,30654,13237],{},[150,30656,13237],{},[58,30658,13281],{},[26,30660,12249],{"id":12249},[11,30662,13287],{},[11,30664,30665],{},[150,30666,975],{},[866,30668,30669],{"className":978,"code":13294,"language":980,"meta":760,"style":760},[150,30670,30671,30675,30685,30695,30705,30711,30715,30723,30727],{"__ignoreMap":760},[984,30672,30673],{"class":986,"line":987},[984,30674,991],{"class":990},[984,30676,30677,30679,30681,30683],{"class":986,"line":761},[984,30678,997],{"class":996},[984,30680,1000],{"class":990},[984,30682,1004],{"class":1003},[984,30684,1007],{"class":990},[984,30686,30687,30689,30691,30693],{"class":986,"line":772},[984,30688,1012],{"class":996},[984,30690,1015],{"class":990},[984,30692,12972],{"class":996},[984,30694,1021],{"class":990},[984,30696,30697,30699,30701,30703],{"class":986,"line":1024},[984,30698,1027],{"class":996},[984,30700,1000],{"class":990},[984,30702,13329],{"class":1003},[984,30704,1021],{"class":990},[984,30706,30707,30709],{"class":986,"line":1035},[984,30708,1521],{"class":996},[984,30710,1524],{"class":990},[984,30712,30713],{"class":986,"line":1098},[984,30714,1529],{"class":990},[984,30716,30717,30719,30721],{"class":986,"line":1111},[984,30718,1569],{"class":996},[984,30720,1738],{"class":990},[984,30722,13204],{"class":1003},[984,30724,30725],{"class":986,"line":1124},[984,30726,1607],{"class":990},[984,30728,30729],{"class":986,"line":1137},[984,30730,1038],{"class":990},[11,30732,30733],{},[150,30734,1043],{},[866,30736,30737],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,30738,30739,30743,30753,30763,30771],{"__ignoreMap":760},[984,30740,30741],{"class":986,"line":987},[984,30742,991],{"class":990},[984,30744,30745,30747,30749,30751],{"class":986,"line":761},[984,30746,1012],{"class":996},[984,30748,1015],{"class":990},[984,30750,12972],{"class":996},[984,30752,1021],{"class":990},[984,30754,30755,30757,30759,30761],{"class":986,"line":772},[984,30756,997],{"class":996},[984,30758,1015],{"class":990},[984,30760,1004],{"class":1003},[984,30762,1021],{"class":990},[984,30764,30765,30767,30769],{"class":986,"line":1024},[984,30766,1724],{"class":996},[984,30768,1015],{"class":990},[984,30770,13399],{"class":1003},[984,30772,30773],{"class":986,"line":1035},[984,30774,1038],{"class":990},[26,30776,12257],{"id":12257},[11,30778,13408,30779,13411,30781,13414,30783,13417],{},[150,30780,12634],{},[150,30782,12605],{},[18,30784,6196],{"href":12240},[11,30786,30787],{},[150,30788,975],{},[866,30790,30791],{"className":978,"code":13424,"language":980,"meta":760,"style":760},[150,30792,30793,30797,30807,30817,30827,30833,30837,30847,30857,30865,30869],{"__ignoreMap":760},[984,30794,30795],{"class":986,"line":987},[984,30796,991],{"class":990},[984,30798,30799,30801,30803,30805],{"class":986,"line":761},[984,30800,997],{"class":996},[984,30802,1000],{"class":990},[984,30804,1004],{"class":1003},[984,30806,1007],{"class":990},[984,30808,30809,30811,30813,30815],{"class":986,"line":772},[984,30810,1012],{"class":996},[984,30812,1015],{"class":990},[984,30814,12972],{"class":996},[984,30816,1021],{"class":990},[984,30818,30819,30821,30823,30825],{"class":986,"line":1024},[984,30820,1027],{"class":996},[984,30822,1000],{"class":990},[984,30824,13459],{"class":1003},[984,30826,1021],{"class":990},[984,30828,30829,30831],{"class":986,"line":1035},[984,30830,1521],{"class":996},[984,30832,1524],{"class":990},[984,30834,30835],{"class":986,"line":1098},[984,30836,1529],{"class":990},[984,30838,30839,30841,30843,30845],{"class":986,"line":1111},[984,30840,1569],{"class":996},[984,30842,1738],{"class":990},[984,30844,13079],{"class":1003},[984,30846,1021],{"class":990},[984,30848,30849,30851,30853,30855],{"class":986,"line":1124},[984,30850,1580],{"class":996},[984,30852,1738],{"class":990},[984,30854,12533],{"class":1003},[984,30856,1021],{"class":990},[984,30858,30859,30861,30863],{"class":986,"line":1137},[984,30860,6270],{"class":996},[984,30862,1738],{"class":990},[984,30864,13500],{"class":1003},[984,30866,30867],{"class":986,"line":1150},[984,30868,1607],{"class":990},[984,30870,30871],{"class":986,"line":1163},[984,30872,1038],{"class":990},[11,30874,30875],{},[150,30876,1043],{},[866,30878,30879],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,30880,30881,30885,30895,30905,30913],{"__ignoreMap":760},[984,30882,30883],{"class":986,"line":987},[984,30884,991],{"class":990},[984,30886,30887,30889,30891,30893],{"class":986,"line":761},[984,30888,1012],{"class":996},[984,30890,1015],{"class":990},[984,30892,12972],{"class":996},[984,30894,1021],{"class":990},[984,30896,30897,30899,30901,30903],{"class":986,"line":772},[984,30898,997],{"class":996},[984,30900,1015],{"class":990},[984,30902,1004],{"class":1003},[984,30904,1021],{"class":990},[984,30906,30907,30909,30911],{"class":986,"line":1024},[984,30908,1724],{"class":996},[984,30910,1015],{"class":990},[984,30912,13399],{"class":1003},[984,30914,30915],{"class":986,"line":1035},[984,30916,1038],{"class":990},[26,30918,888],{"id":888},[11,30920,13557],{},[11,30922,30923],{},[150,30924,975],{},[866,30926,30927],{"className":978,"code":13564,"language":980,"meta":760,"style":760},[150,30928,30929,30933,30943,30953,30963,30969,30973,30983,30993,31003,31013,31023,31033,31041,31045],{"__ignoreMap":760},[984,30930,30931],{"class":986,"line":987},[984,30932,991],{"class":990},[984,30934,30935,30937,30939,30941],{"class":986,"line":761},[984,30936,997],{"class":996},[984,30938,1000],{"class":990},[984,30940,1004],{"class":1003},[984,30942,1007],{"class":990},[984,30944,30945,30947,30949,30951],{"class":986,"line":772},[984,30946,1012],{"class":996},[984,30948,1015],{"class":990},[984,30950,1503],{"class":996},[984,30952,1021],{"class":990},[984,30954,30955,30957,30959,30961],{"class":986,"line":1024},[984,30956,1027],{"class":996},[984,30958,1000],{"class":990},[984,30960,1514],{"class":1003},[984,30962,1007],{"class":990},[984,30964,30965,30967],{"class":986,"line":1035},[984,30966,1521],{"class":996},[984,30968,1524],{"class":990},[984,30970,30971],{"class":986,"line":1098},[984,30972,1529],{"class":990},[984,30974,30975,30977,30979,30981],{"class":986,"line":1111},[984,30976,1534],{"class":996},[984,30978,1015],{"class":990},[984,30980,1539],{"class":996},[984,30982,1021],{"class":990},[984,30984,30985,30987,30989,30991],{"class":986,"line":1124},[984,30986,1546],{"class":996},[984,30988,1015],{"class":990},[984,30990,1503],{"class":996},[984,30992,1021],{"class":990},[984,30994,30995,30997,30999,31001],{"class":986,"line":1137},[984,30996,1557],{"class":996},[984,30998,1015],{"class":990},[984,31000,1562],{"class":1003},[984,31002,1021],{"class":990},[984,31004,31005,31007,31009,31011],{"class":986,"line":1150},[984,31006,1569],{"class":996},[984,31008,1015],{"class":990},[984,31010,1562],{"class":1003},[984,31012,1021],{"class":990},[984,31014,31015,31017,31019,31021],{"class":986,"line":1163},[984,31016,1580],{"class":996},[984,31018,1015],{"class":990},[984,31020,1585],{"class":1003},[984,31022,1021],{"class":990},[984,31024,31025,31027,31029,31031],{"class":986,"line":1176},[984,31026,1220],{"class":996},[984,31028,1015],{"class":990},[984,31030,1345],{"class":996},[984,31032,1021],{"class":990},[984,31034,31035,31037,31039],{"class":986,"line":1189},[984,31036,6160],{"class":996},[984,31038,1015],{"class":990},[984,31040,13679],{"class":996},[984,31042,31043],{"class":986,"line":1202},[984,31044,1607],{"class":990},[984,31046,31047],{"class":986,"line":1211},[984,31048,1038],{"class":990},[89,31050,31051,31055,31059,31063,31073,31077,31081,31089],{},[54,31052,31053,13694],{},[150,31054,2133],{},[54,31056,31057,13699],{},[150,31058,2139],{},[54,31060,31061,13705],{},[150,31062,13704],{},[54,31064,31065,13710,31067,13713,31069,163,31071,385],{},[150,31066,12679],{},[58,31068,5776],{},[150,31070,12679],{},[150,31072,13237],{},[54,31074,31075,13722],{},[150,31076,12634],{},[54,31078,31079,13727],{},[150,31080,2150],{},[54,31082,31083,13732,31085,13735,31087,13738],{},[150,31084,848],{},[150,31086,848],{},[150,31088,948],{},[54,31090,31091,13743,31093,13747,31095,13750],{},[150,31092,5811],{},[150,31094,13746],{},[150,31096,5811],{},[11,31098,13753,31099,13756,31101,13760],{},[150,31100,8355],{},[150,31102,13759],{},[11,31104,31105],{},[150,31106,1043],{},[866,31108,31109],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,31110,31111,31115,31125,31135,31141,31145,31153,31157],{"__ignoreMap":760},[984,31112,31113],{"class":986,"line":987},[984,31114,991],{"class":990},[984,31116,31117,31119,31121,31123],{"class":986,"line":761},[984,31118,997],{"class":996},[984,31120,1000],{"class":990},[984,31122,1004],{"class":1003},[984,31124,1007],{"class":990},[984,31126,31127,31129,31131,31133],{"class":986,"line":772},[984,31128,1012],{"class":996},[984,31130,1015],{"class":990},[984,31132,1503],{"class":996},[984,31134,1021],{"class":990},[984,31136,31137,31139],{"class":986,"line":1024},[984,31138,1724],{"class":996},[984,31140,1524],{"class":990},[984,31142,31143],{"class":986,"line":1035},[984,31144,1529],{"class":990},[984,31146,31147,31149,31151],{"class":986,"line":1098},[984,31148,1735],{"class":996},[984,31150,1738],{"class":990},[984,31152,1741],{"class":1003},[984,31154,31155],{"class":986,"line":1111},[984,31156,1607],{"class":990},[984,31158,31159],{"class":986,"line":1124},[984,31160,1038],{"class":990},[11,31162,2213,31163,385],{},[18,31164,1977],{"href":13823},[26,31166,893],{"id":893},[11,31168,13828],{},[11,31170,13831,31171,13835],{},[150,31172,13834],{},[11,31174,31175],{},[150,31176,975],{},[866,31178,31179],{"className":978,"code":13842,"language":980,"meta":760,"style":760},[150,31180,31181,31185,31195,31205,31215,31221,31225,31247,31257,31265,31269],{"__ignoreMap":760},[984,31182,31183],{"class":986,"line":987},[984,31184,991],{"class":990},[984,31186,31187,31189,31191,31193],{"class":986,"line":761},[984,31188,997],{"class":996},[984,31190,1000],{"class":990},[984,31192,1004],{"class":1003},[984,31194,1007],{"class":990},[984,31196,31197,31199,31201,31203],{"class":986,"line":772},[984,31198,1012],{"class":996},[984,31200,1015],{"class":990},[984,31202,8099],{"class":996},[984,31204,1021],{"class":990},[984,31206,31207,31209,31211,31213],{"class":986,"line":1024},[984,31208,1027],{"class":996},[984,31210,1000],{"class":990},[984,31212,13877],{"class":1003},[984,31214,1007],{"class":990},[984,31216,31217,31219],{"class":986,"line":1035},[984,31218,1521],{"class":996},[984,31220,1524],{"class":990},[984,31222,31223],{"class":986,"line":1098},[984,31224,1529],{"class":990},[984,31226,31227,31229,31231,31233,31235,31237,31239,31241,31243,31245],{"class":986,"line":1111},[984,31228,13894],{"class":996},[984,31230,13897],{"class":990},[984,31232,13900],{"class":996},[984,31234,441],{"class":990},[984,31236,2558],{"class":996},[984,31238,441],{"class":990},[984,31240,13909],{"class":996},[984,31242,441],{"class":990},[984,31244,13914],{"class":996},[984,31246,13917],{"class":990},[984,31248,31249,31251,31253,31255],{"class":986,"line":1124},[984,31250,1546],{"class":996},[984,31252,1738],{"class":990},[984,31254,4979],{"class":996},[984,31256,1021],{"class":990},[984,31258,31259,31261,31263],{"class":986,"line":1137},[984,31260,1220],{"class":996},[984,31262,1015],{"class":990},[984,31264,1678],{"class":996},[984,31266,31267],{"class":986,"line":1150},[984,31268,1607],{"class":990},[984,31270,31271],{"class":986,"line":1163},[984,31272,1038],{"class":990},[11,31274,31275],{},[150,31276,1043],{},[866,31278,31279],{"className":978,"code":13950,"language":980,"meta":760,"style":760},[150,31280,31281,31285,31295,31305,31311,31315,31323,31327],{"__ignoreMap":760},[984,31282,31283],{"class":986,"line":987},[984,31284,991],{"class":990},[984,31286,31287,31289,31291,31293],{"class":986,"line":761},[984,31288,997],{"class":996},[984,31290,1000],{"class":990},[984,31292,1004],{"class":1003},[984,31294,1007],{"class":990},[984,31296,31297,31299,31301,31303],{"class":986,"line":772},[984,31298,1012],{"class":996},[984,31300,1015],{"class":990},[984,31302,8099],{"class":996},[984,31304,1021],{"class":990},[984,31306,31307,31309],{"class":986,"line":1024},[984,31308,1724],{"class":996},[984,31310,1524],{"class":990},[984,31312,31313],{"class":986,"line":1035},[984,31314,1529],{"class":990},[984,31316,31317,31319,31321],{"class":986,"line":1098},[984,31318,1735],{"class":996},[984,31320,1738],{"class":990},[984,31322,1741],{"class":1003},[984,31324,31325],{"class":986,"line":1111},[984,31326,1607],{"class":990},[984,31328,31329],{"class":986,"line":1124},[984,31330,1038],{"class":990},[89,31332,31333,31337,31341,31345],{},[54,31334,31335,14009],{},[150,31336,2139],{},[54,31338,31339,14014],{},[150,31340,8355],{},[54,31342,31343,14019],{},[150,31344,2150],{},[54,31346,31347,14024,31349,13735,31351,13738],{},[150,31348,848],{},[150,31350,848],{},[150,31352,948],{},[26,31354,903],{"id":903},[11,31356,14033,31357,13738],{},[150,31358,948],{},[11,31360,14038,31361,2046],{},[18,31362,913],{"href":2036},[11,31364,31365],{},[150,31366,975],{},[866,31368,31369],{"className":978,"code":2053,"language":980,"meta":760,"style":760},[150,31370,31371,31375,31385,31395,31405,31411,31415,31425,31433,31437],{"__ignoreMap":760},[984,31372,31373],{"class":986,"line":987},[984,31374,991],{"class":990},[984,31376,31377,31379,31381,31383],{"class":986,"line":761},[984,31378,997],{"class":996},[984,31380,1015],{"class":990},[984,31382,1004],{"class":1003},[984,31384,1007],{"class":990},[984,31386,31387,31389,31391,31393],{"class":986,"line":772},[984,31388,1012],{"class":996},[984,31390,1015],{"class":990},[984,31392,1503],{"class":996},[984,31394,1021],{"class":990},[984,31396,31397,31399,31401,31403],{"class":986,"line":1024},[984,31398,1027],{"class":996},[984,31400,1015],{"class":990},[984,31402,2088],{"class":1003},[984,31404,1007],{"class":990},[984,31406,31407,31409],{"class":986,"line":1035},[984,31408,1521],{"class":996},[984,31410,1524],{"class":990},[984,31412,31413],{"class":986,"line":1098},[984,31414,1529],{"class":990},[984,31416,31417,31419,31421,31423],{"class":986,"line":1111},[984,31418,1534],{"class":996},[984,31420,1015],{"class":990},[984,31422,1018],{"class":996},[984,31424,1021],{"class":990},[984,31426,31427,31429,31431],{"class":986,"line":1124},[984,31428,1220],{"class":996},[984,31430,1015],{"class":990},[984,31432,1678],{"class":996},[984,31434,31435],{"class":986,"line":1137},[984,31436,1607],{"class":990},[984,31438,31439],{"class":986,"line":1150},[984,31440,1038],{"class":990},[89,31442,31443,31447,31451,31455,31459],{},[54,31444,31445,2134],{},[150,31446,2133],{},[54,31448,31449,2140],{},[150,31450,2139],{},[54,31452,31453,2145],{},[150,31454,848],{},[54,31456,31457,2151],{},[150,31458,2150],{},[54,31460,31461,14142],{},[150,31462,14141],{},[11,31464,14145,31465,14148,31467],{},[150,31466,8355],{},[150,31468,13759],{},[11,31470,31471],{},[150,31472,1043],{},[866,31474,31475],{"className":978,"code":2158,"language":980,"meta":760,"style":760},[150,31476,31477,31481,31491,31501,31507,31511,31519,31523],{"__ignoreMap":760},[984,31478,31479],{"class":986,"line":987},[984,31480,991],{"class":990},[984,31482,31483,31485,31487,31489],{"class":986,"line":761},[984,31484,997],{"class":996},[984,31486,1015],{"class":990},[984,31488,1004],{"class":1003},[984,31490,1007],{"class":990},[984,31492,31493,31495,31497,31499],{"class":986,"line":772},[984,31494,1012],{"class":996},[984,31496,1015],{"class":990},[984,31498,1503],{"class":996},[984,31500,1021],{"class":990},[984,31502,31503,31505],{"class":986,"line":1024},[984,31504,1724],{"class":996},[984,31506,1524],{"class":990},[984,31508,31509],{"class":986,"line":1035},[984,31510,1529],{"class":990},[984,31512,31513,31515,31517],{"class":986,"line":1098},[984,31514,1735],{"class":996},[984,31516,1738],{"class":990},[984,31518,1741],{"class":1003},[984,31520,31521],{"class":986,"line":1111},[984,31522,1607],{"class":990},[984,31524,31525],{"class":986,"line":1124},[984,31526,1038],{"class":990},[11,31528,2213,31529,385],{},[18,31530,1977],{"href":13823},[26,31532,908],{"id":908},[11,31534,14033,31535,13738],{},[150,31536,948],{},[11,31538,14221,31539,14224],{},[18,31540,913],{"href":2036},[11,31542,31543],{},[150,31544,975],{},[866,31546,31547],{"className":978,"code":2228,"language":980,"meta":760,"style":760},[150,31548,31549,31553,31563,31573,31583,31589,31593,31603,31611,31615],{"__ignoreMap":760},[984,31550,31551],{"class":986,"line":987},[984,31552,991],{"class":990},[984,31554,31555,31557,31559,31561],{"class":986,"line":761},[984,31556,997],{"class":996},[984,31558,1000],{"class":990},[984,31560,1004],{"class":1003},[984,31562,1007],{"class":990},[984,31564,31565,31567,31569,31571],{"class":986,"line":772},[984,31566,1012],{"class":996},[984,31568,1015],{"class":990},[984,31570,1503],{"class":996},[984,31572,1021],{"class":990},[984,31574,31575,31577,31579,31581],{"class":986,"line":1024},[984,31576,1027],{"class":996},[984,31578,1000],{"class":990},[984,31580,2263],{"class":1003},[984,31582,1007],{"class":990},[984,31584,31585,31587],{"class":986,"line":1035},[984,31586,1521],{"class":996},[984,31588,1524],{"class":990},[984,31590,31591],{"class":986,"line":1098},[984,31592,1529],{"class":990},[984,31594,31595,31597,31599,31601],{"class":986,"line":1111},[984,31596,1534],{"class":996},[984,31598,1015],{"class":990},[984,31600,1018],{"class":996},[984,31602,1021],{"class":990},[984,31604,31605,31607,31609],{"class":986,"line":1124},[984,31606,1220],{"class":996},[984,31608,1015],{"class":990},[984,31610,1678],{"class":996},[984,31612,31613],{"class":986,"line":1137},[984,31614,1607],{"class":990},[984,31616,31617],{"class":986,"line":1150},[984,31618,1038],{"class":990},[89,31620,31621,31625,31629,31633,31637],{},[54,31622,31623,2308],{},[150,31624,2133],{},[54,31626,31627,2313],{},[150,31628,2139],{},[54,31630,31631,2318],{},[150,31632,848],{},[54,31634,31635,2323],{},[150,31636,2150],{},[54,31638,31639,14325],{},[150,31640,14141],{},[11,31642,14328,31643,14148,31645,14333],{},[150,31644,8355],{},[150,31646,13759],{},[11,31648,31649],{},[150,31650,1043],{},[866,31652,31653],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,31654,31655,31659,31669,31679,31685,31689,31697,31701],{"__ignoreMap":760},[984,31656,31657],{"class":986,"line":987},[984,31658,991],{"class":990},[984,31660,31661,31663,31665,31667],{"class":986,"line":761},[984,31662,997],{"class":996},[984,31664,1000],{"class":990},[984,31666,1004],{"class":1003},[984,31668,1007],{"class":990},[984,31670,31671,31673,31675,31677],{"class":986,"line":772},[984,31672,1012],{"class":996},[984,31674,1015],{"class":990},[984,31676,1503],{"class":996},[984,31678,1021],{"class":990},[984,31680,31681,31683],{"class":986,"line":1024},[984,31682,1724],{"class":996},[984,31684,1524],{"class":990},[984,31686,31687],{"class":986,"line":1035},[984,31688,1529],{"class":990},[984,31690,31691,31693,31695],{"class":986,"line":1098},[984,31692,1735],{"class":996},[984,31694,1738],{"class":990},[984,31696,1741],{"class":1003},[984,31698,31699],{"class":986,"line":1111},[984,31700,1607],{"class":990},[984,31702,31703],{"class":986,"line":1124},[984,31704,1038],{"class":990},[11,31706,2213,31707,385],{},[18,31708,1977],{"href":13823},[26,31710,913],{"id":913},[11,31712,14033,31713,13738],{},[150,31714,948],{},[11,31716,14404,31717,14407],{},[18,31718,918],{"href":12373},[11,31720,31721],{},[150,31722,975],{},[866,31724,31725],{"className":978,"code":1621,"language":980,"meta":760,"style":760},[150,31726,31727,31731,31741,31751,31761,31767,31771,31779,31783],{"__ignoreMap":760},[984,31728,31729],{"class":986,"line":987},[984,31730,991],{"class":990},[984,31732,31733,31735,31737,31739],{"class":986,"line":761},[984,31734,997],{"class":996},[984,31736,1000],{"class":990},[984,31738,1004],{"class":1003},[984,31740,1007],{"class":990},[984,31742,31743,31745,31747,31749],{"class":986,"line":772},[984,31744,1012],{"class":996},[984,31746,1015],{"class":990},[984,31748,1503],{"class":996},[984,31750,1021],{"class":990},[984,31752,31753,31755,31757,31759],{"class":986,"line":1024},[984,31754,1027],{"class":996},[984,31756,1015],{"class":990},[984,31758,1656],{"class":1003},[984,31760,1021],{"class":990},[984,31762,31763,31765],{"class":986,"line":1035},[984,31764,1521],{"class":996},[984,31766,1665],{"class":990},[984,31768,31769],{"class":986,"line":1098},[984,31770,1529],{"class":990},[984,31772,31773,31775,31777],{"class":986,"line":1111},[984,31774,1220],{"class":996},[984,31776,1015],{"class":990},[984,31778,1678],{"class":996},[984,31780,31781],{"class":986,"line":1124},[984,31782,1607],{"class":990},[984,31784,31785],{"class":986,"line":1137},[984,31786,1038],{"class":990},[89,31788,31789,31793,31797],{},[54,31790,31791,1830],{},[150,31792,848],{},[54,31794,31795,2323],{},[150,31796,2150],{},[54,31798,31799,14325],{},[150,31800,14141],{},[11,31802,14492],{},[11,31804,31805],{},[150,31806,1043],{},[866,31808,31809],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,31810,31811,31815,31825,31835,31841,31845,31853,31857],{"__ignoreMap":760},[984,31812,31813],{"class":986,"line":987},[984,31814,991],{"class":990},[984,31816,31817,31819,31821,31823],{"class":986,"line":761},[984,31818,997],{"class":996},[984,31820,1000],{"class":990},[984,31822,1004],{"class":1003},[984,31824,1007],{"class":990},[984,31826,31827,31829,31831,31833],{"class":986,"line":772},[984,31828,1012],{"class":996},[984,31830,1015],{"class":990},[984,31832,1503],{"class":996},[984,31834,1021],{"class":990},[984,31836,31837,31839],{"class":986,"line":1024},[984,31838,1724],{"class":996},[984,31840,1524],{"class":990},[984,31842,31843],{"class":986,"line":1035},[984,31844,1529],{"class":990},[984,31846,31847,31849,31851],{"class":986,"line":1098},[984,31848,1735],{"class":996},[984,31850,1738],{"class":990},[984,31852,1741],{"class":1003},[984,31854,31855],{"class":986,"line":1111},[984,31856,1607],{"class":990},[984,31858,31859],{"class":986,"line":1124},[984,31860,1038],{"class":990},[11,31862,2213,31863,385],{},[18,31864,1977],{"href":13823},[26,31866,12316],{"id":12316},[11,31868,14559],{},[11,31870,31871],{},[150,31872,975],{},[866,31874,31875],{"className":978,"code":14566,"language":980,"meta":760,"style":760},[150,31876,31877,31881,31891,31901,31911,31917,31921,31929,31933],{"__ignoreMap":760},[984,31878,31879],{"class":986,"line":987},[984,31880,991],{"class":990},[984,31882,31883,31885,31887,31889],{"class":986,"line":761},[984,31884,997],{"class":996},[984,31886,1000],{"class":990},[984,31888,1004],{"class":1003},[984,31890,1007],{"class":990},[984,31892,31893,31895,31897,31899],{"class":986,"line":772},[984,31894,1012],{"class":996},[984,31896,1015],{"class":990},[984,31898,2431],{"class":996},[984,31900,1021],{"class":990},[984,31902,31903,31905,31907,31909],{"class":986,"line":1024},[984,31904,1027],{"class":996},[984,31906,1000],{"class":990},[984,31908,14601],{"class":1003},[984,31910,1007],{"class":990},[984,31912,31913,31915],{"class":986,"line":1035},[984,31914,1521],{"class":996},[984,31916,1524],{"class":990},[984,31918,31919],{"class":986,"line":1098},[984,31920,1529],{"class":990},[984,31922,31923,31925,31927],{"class":986,"line":1111},[984,31924,1735],{"class":996},[984,31926,1738],{"class":990},[984,31928,14622],{"class":1003},[984,31930,31931],{"class":986,"line":1124},[984,31932,1607],{"class":990},[984,31934,31935],{"class":986,"line":1137},[984,31936,1038],{"class":990},[89,31938,31939],{},[54,31940,31941,14637],{},[150,31942,2150],{},[11,31944,31945],{},[150,31946,1043],{},[866,31948,31949],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,31950,31951,31955,31965,31975,31983],{"__ignoreMap":760},[984,31952,31953],{"class":986,"line":987},[984,31954,991],{"class":990},[984,31956,31957,31959,31961,31963],{"class":986,"line":761},[984,31958,997],{"class":996},[984,31960,1000],{"class":990},[984,31962,1004],{"class":1003},[984,31964,1007],{"class":990},[984,31966,31967,31969,31971,31973],{"class":986,"line":772},[984,31968,1012],{"class":996},[984,31970,1015],{"class":990},[984,31972,2431],{"class":996},[984,31974,1021],{"class":990},[984,31976,31977,31979,31981],{"class":986,"line":1024},[984,31978,1724],{"class":996},[984,31980,1015],{"class":990},[984,31982,2497],{"class":996},[984,31984,31985],{"class":986,"line":1035},[984,31986,1038],{"class":990},[11,31988,14685,31989,14688,31991,14691],{},[150,31990,2682],{},[18,31992,1977],{"href":13823},[26,31994,12324],{"id":12324},[11,31996,14696],{},[11,31998,31999],{},[150,32000,975],{},[866,32002,32003],{"className":978,"code":14703,"language":980,"meta":760,"style":760},[150,32004,32005,32009,32019,32029,32039,32045,32049,32057,32061],{"__ignoreMap":760},[984,32006,32007],{"class":986,"line":987},[984,32008,991],{"class":990},[984,32010,32011,32013,32015,32017],{"class":986,"line":761},[984,32012,997],{"class":996},[984,32014,1000],{"class":990},[984,32016,1004],{"class":1003},[984,32018,1007],{"class":990},[984,32020,32021,32023,32025,32027],{"class":986,"line":772},[984,32022,1012],{"class":996},[984,32024,1015],{"class":990},[984,32026,2431],{"class":996},[984,32028,1021],{"class":990},[984,32030,32031,32033,32035,32037],{"class":986,"line":1024},[984,32032,1027],{"class":996},[984,32034,1000],{"class":990},[984,32036,14738],{"class":1003},[984,32038,1007],{"class":990},[984,32040,32041,32043],{"class":986,"line":1035},[984,32042,1521],{"class":996},[984,32044,1524],{"class":990},[984,32046,32047],{"class":986,"line":1098},[984,32048,1529],{"class":990},[984,32050,32051,32053,32055],{"class":986,"line":1111},[984,32052,1735],{"class":996},[984,32054,1738],{"class":990},[984,32056,14622],{"class":1003},[984,32058,32059],{"class":986,"line":1124},[984,32060,1607],{"class":990},[984,32062,32063],{"class":986,"line":1137},[984,32064,1038],{"class":990},[89,32066,32067],{},[54,32068,32069,14773],{},[150,32070,2150],{},[11,32072,32073],{},[150,32074,1043],{},[866,32076,32077],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,32078,32079,32083,32093,32103,32111],{"__ignoreMap":760},[984,32080,32081],{"class":986,"line":987},[984,32082,991],{"class":990},[984,32084,32085,32087,32089,32091],{"class":986,"line":761},[984,32086,997],{"class":996},[984,32088,1000],{"class":990},[984,32090,1004],{"class":1003},[984,32092,1007],{"class":990},[984,32094,32095,32097,32099,32101],{"class":986,"line":772},[984,32096,1012],{"class":996},[984,32098,1015],{"class":990},[984,32100,2431],{"class":996},[984,32102,1021],{"class":990},[984,32104,32105,32107,32109],{"class":986,"line":1024},[984,32106,1724],{"class":996},[984,32108,1015],{"class":990},[984,32110,2497],{"class":996},[984,32112,32113],{"class":986,"line":1035},[984,32114,1038],{"class":990},[11,32116,14685,32117,14822,32119,14691],{},[150,32118,2682],{},[18,32120,1977],{"href":13823},[26,32122,12303],{"id":12303},[11,32124,14829,32125,14832],{},[18,32126,12337],{"href":12336},[11,32128,32129],{},[150,32130,975],{},[866,32132,32134],{"className":978,"code":32133,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 4,\n    \"method\":\"tx_status\", \n    \"params\":\n    {\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"rates\": false\n    }\n}\n",[150,32135,32136,32140,32150,32160,32170,32176,32180,32190,32199,32203],{"__ignoreMap":760},[984,32137,32138],{"class":986,"line":987},[984,32139,991],{"class":990},[984,32141,32142,32144,32146,32148],{"class":986,"line":761},[984,32143,997],{"class":996},[984,32145,1000],{"class":990},[984,32147,1004],{"class":1003},[984,32149,1007],{"class":990},[984,32151,32152,32154,32156,32158],{"class":986,"line":772},[984,32153,1012],{"class":996},[984,32155,1015],{"class":990},[984,32157,2431],{"class":996},[984,32159,1021],{"class":990},[984,32161,32162,32164,32166,32168],{"class":986,"line":1024},[984,32163,1027],{"class":996},[984,32165,1000],{"class":990},[984,32167,14874],{"class":1003},[984,32169,1007],{"class":990},[984,32171,32172,32174],{"class":986,"line":1035},[984,32173,1521],{"class":996},[984,32175,1524],{"class":990},[984,32177,32178],{"class":986,"line":1098},[984,32179,1529],{"class":990},[984,32181,32182,32184,32186,32188],{"class":986,"line":1111},[984,32183,1735],{"class":996},[984,32185,1738],{"class":990},[984,32187,14895],{"class":1003},[984,32189,1021],{"class":990},[984,32191,32192,32195,32197],{"class":986,"line":1124},[984,32193,32194],{"class":996},"        \"rates\"",[984,32196,1015],{"class":990},[984,32198,13679],{"class":996},[984,32200,32201],{"class":986,"line":1137},[984,32202,1607],{"class":990},[984,32204,32205],{"class":986,"line":1150},[984,32206,1038],{"class":990},[89,32208,32209,32214],{},[54,32210,32211,32213],{},[150,32212,2150],{}," - transaction id to return status for",[54,32215,32216,32218,32219,32221,32222,385],{},[150,32217,29319],{}," - returns currency rates array at the moment of transaction if set to ",[150,32220,2682],{},". By default is ",[150,32223,5089],{},[11,32225,32226],{},[150,32227,1043],{},[866,32229,32230],{"className":978,"code":14912,"language":980,"meta":760,"style":760},[150,32231,32232,32236,32246,32256,32262,32266,32276,32286,32296,32306,32316,32326,32336,32346,32356,32366,32376,32386,32396,32406,32416,32426,32436,32444,32448],{"__ignoreMap":760},[984,32233,32234],{"class":986,"line":987},[984,32235,991],{"class":990},[984,32237,32238,32240,32242,32244],{"class":986,"line":761},[984,32239,997],{"class":996},[984,32241,1000],{"class":990},[984,32243,1004],{"class":1003},[984,32245,1007],{"class":990},[984,32247,32248,32250,32252,32254],{"class":986,"line":772},[984,32249,1012],{"class":996},[984,32251,1015],{"class":990},[984,32253,2431],{"class":996},[984,32255,1021],{"class":990},[984,32257,32258,32260],{"class":986,"line":1024},[984,32259,1724],{"class":996},[984,32261,1524],{"class":990},[984,32263,32264],{"class":986,"line":1035},[984,32265,14949],{"class":990},[984,32267,32268,32270,32272,32274],{"class":986,"line":1098},[984,32269,1735],{"class":996},[984,32271,1738],{"class":990},[984,32273,14895],{"class":1003},[984,32275,1021],{"class":990},[984,32277,32278,32280,32282,32284],{"class":986,"line":1111},[984,32279,1220],{"class":996},[984,32281,1015],{"class":990},[984,32283,1171],{"class":996},[984,32285,1021],{"class":990},[984,32287,32288,32290,32292,32294],{"class":986,"line":1124},[984,32289,1580],{"class":996},[984,32291,1015],{"class":990},[984,32293,13091],{"class":1003},[984,32295,1021],{"class":990},[984,32297,32298,32300,32302,32304],{"class":986,"line":1137},[984,32299,1546],{"class":996},[984,32301,1015],{"class":990},[984,32303,4979],{"class":996},[984,32305,1021],{"class":990},[984,32307,32308,32310,32312,32314],{"class":986,"line":1150},[984,32309,14994],{"class":996},[984,32311,1015],{"class":990},[984,32313,14999],{"class":1003},[984,32315,1021],{"class":990},[984,32317,32318,32320,32322,32324],{"class":986,"line":1163},[984,32319,15006],{"class":996},[984,32321,1015],{"class":990},[984,32323,1562],{"class":1003},[984,32325,1021],{"class":990},[984,32327,32328,32330,32332,32334],{"class":986,"line":1176},[984,32329,15017],{"class":996},[984,32331,1015],{"class":990},[984,32333,15022],{"class":1003},[984,32335,1021],{"class":990},[984,32337,32338,32340,32342,32344],{"class":986,"line":1189},[984,32339,15029],{"class":996},[984,32341,1015],{"class":990},[984,32343,2431],{"class":996},[984,32345,1021],{"class":990},[984,32347,32348,32350,32352,32354],{"class":986,"line":1202},[984,32349,15040],{"class":996},[984,32351,1738],{"class":990},[984,32353,15045],{"class":1003},[984,32355,1021],{"class":990},[984,32357,32358,32360,32362,32364],{"class":986,"line":1211},[984,32359,15052],{"class":996},[984,32361,1015],{"class":990},[984,32363,1171],{"class":996},[984,32365,1021],{"class":990},[984,32367,32368,32370,32372,32374],{"class":986,"line":1217},[984,32369,15063],{"class":996},[984,32371,1015],{"class":990},[984,32373,15068],{"class":1003},[984,32375,1021],{"class":990},[984,32377,32378,32380,32382,32384],{"class":986,"line":1229},[984,32379,15075],{"class":996},[984,32381,1738],{"class":990},[984,32383,15080],{"class":1003},[984,32385,1021],{"class":990},[984,32387,32388,32390,32392,32394],{"class":986,"line":1241},[984,32389,1534],{"class":996},[984,32391,1015],{"class":990},[984,32393,1539],{"class":996},[984,32395,1021],{"class":990},[984,32397,32398,32400,32402,32404],{"class":986,"line":1254},[984,32399,13098],{"class":996},[984,32401,1738],{"class":990},[984,32403,15101],{"class":996},[984,32405,1021],{"class":990},[984,32407,32408,32410,32412,32414],{"class":986,"line":1266},[984,32409,15108],{"class":996},[984,32411,1738],{"class":990},[984,32413,5089],{"class":996},[984,32415,1021],{"class":990},[984,32417,32418,32420,32422,32424],{"class":986,"line":1279},[984,32419,15119],{"class":996},[984,32421,1015],{"class":990},[984,32423,15124],{"class":1003},[984,32425,1021],{"class":990},[984,32427,32428,32430,32432,32434],{"class":986,"line":1291},[984,32429,15131],{"class":996},[984,32431,1015],{"class":990},[984,32433,13182],{"class":1003},[984,32435,1021],{"class":990},[984,32437,32438,32440,32442],{"class":986,"line":1304},[984,32439,15142],{"class":996},[984,32441,1015],{"class":990},[984,32443,15147],{"class":1003},[984,32445,32446],{"class":986,"line":1316},[984,32447,15152],{"class":990},[984,32449,32450],{"class":986,"line":1327},[984,32451,1038],{"class":990},[26,32453,12337],{"id":12337},[11,32455,15161],{},[11,32457,32458],{},[150,32459,975],{},[866,32461,32463],{"className":978,"code":32462,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"tx_list\",\n    \"params\":\n    {\n        \"filter\" : \n        {\n            \"status\":4,\n            \"height\":1055,\n        },\n        \"rates\": true,\n        \"skip\" : 0,\n        \"count\" : 10\n    }\n}\n",[150,32464,32465,32469,32479,32489,32499,32505,32509,32515,32519,32529,32539,32543,32553,32563,32571,32575],{"__ignoreMap":760},[984,32466,32467],{"class":986,"line":987},[984,32468,991],{"class":990},[984,32470,32471,32473,32475,32477],{"class":986,"line":761},[984,32472,997],{"class":996},[984,32474,1000],{"class":990},[984,32476,1004],{"class":1003},[984,32478,1007],{"class":990},[984,32480,32481,32483,32485,32487],{"class":986,"line":772},[984,32482,1012],{"class":996},[984,32484,1015],{"class":990},[984,32486,12972],{"class":996},[984,32488,1021],{"class":990},[984,32490,32491,32493,32495,32497],{"class":986,"line":1024},[984,32492,1027],{"class":996},[984,32494,1000],{"class":990},[984,32496,15203],{"class":1003},[984,32498,1021],{"class":990},[984,32500,32501,32503],{"class":986,"line":1035},[984,32502,1521],{"class":996},[984,32504,1524],{"class":990},[984,32506,32507],{"class":986,"line":1098},[984,32508,1529],{"class":990},[984,32510,32511,32513],{"class":986,"line":1111},[984,32512,15220],{"class":996},[984,32514,5895],{"class":990},[984,32516,32517],{"class":986,"line":1124},[984,32518,8410],{"class":990},[984,32520,32521,32523,32525,32527],{"class":986,"line":1137},[984,32522,15231],{"class":996},[984,32524,1000],{"class":990},[984,32526,2431],{"class":996},[984,32528,1021],{"class":990},[984,32530,32531,32533,32535,32537],{"class":986,"line":1150},[984,32532,15242],{"class":996},[984,32534,1000],{"class":990},[984,32536,15247],{"class":996},[984,32538,1021],{"class":990},[984,32540,32541],{"class":986,"line":1163},[984,32542,15254],{"class":990},[984,32544,32545,32547,32549,32551],{"class":986,"line":1176},[984,32546,32194],{"class":996},[984,32548,1015],{"class":990},[984,32550,2682],{"class":996},[984,32552,1021],{"class":990},[984,32554,32555,32557,32559,32561],{"class":986,"line":1189},[984,32556,15259],{"class":996},[984,32558,1738],{"class":990},[984,32560,1171],{"class":996},[984,32562,1021],{"class":990},[984,32564,32565,32567,32569],{"class":986,"line":1202},[984,32566,15270],{"class":996},[984,32568,1738],{"class":990},[984,32570,15275],{"class":996},[984,32572,32573],{"class":986,"line":1211},[984,32574,1607],{"class":990},[984,32576,32577],{"class":986,"line":1217},[984,32578,1038],{"class":990},[89,32580,32581,32585,32589,32593,32597],{},[54,32582,32583,15291],{},[150,32584,15290],{},[54,32586,32587,15297],{},[150,32588,15296],{},[54,32590,32591,15302],{},[150,32592,6846],{},[54,32594,32595,15308],{},[150,32596,15307],{},[54,32598,32599,32601,32602,32221,32604,385],{},[150,32600,29319],{}," return currency rates at the moment of transaction if ",[150,32603,2682],{},[150,32605,5089],{},[11,32607,15311,32608,4316],{},[150,32609,948],{},[89,32611,32612],{},[54,32613,32614,15321,32616,15324],{},[150,32615,15320],{},[150,32617,15320],{},[11,32619,32620],{},[150,32621,1043],{},[866,32623,32625],{"className":978,"code":32624,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"result\":\n    [{ \n        \"asset_id\": 0,\n        \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n        \"comment\": \"\",\n        \"fee\": 0,\n        \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n        \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n        \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n        \"status\": 4,\n        \"status_string\" : \"Failed\",\n        \"failure_reason\" : \"No inputs\",\n        \"value\": 12342342,\n        \"create_time\" : 1551100217,\n        \"income\" : false,\n        \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\",\n        \"rates\": [\n            {\n                \"from\": 3,\n                \"rate\": 200000000,\n                \"rate_str\": \"200000000\",\n                \"to\": \"btc\"\n            },\n            {\n                \"from\": 0,\n                \"rate\": 50000000,\n                \"rate_str\": \"50000000\",\n                \"to\": \"usd\"\n            }\n        ]\n    },\n    {\n      \"asset_id\": 1,\n      \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n      \"comment\": \"\",\n      \"confirmations\": 102,\n      \"create_time\": 1586995332,\n      \"fee\": 0,\n      \"height\": 1908,\n      \"income\": false,\n      \"receiver\": \"0\",\n      \"sender\": \"0\",\n      \"status\": 3,\n      \"status_string\": \"asset confirmed\",\n      \"txId\": \"d9f94306127a4ef894733f984b5512cf\",\n      \"tx_type\": 6,\n      \"tx_type_string\": \"asset info\",\n      \"value\": 0,\n      \"rates\": []\n    },\n    {\n        \"asset_id\": 1,\n        \"asset_meta\": \"STD:N=Coin;SN=CN;UN=Cgro;NTHUN=Cgroth\",\n        \"comment\": \"\",\n        \"confirmations\": 1985,\n        \"height\": 25,\n        \"create_time\": 1586966478,\n        \"fee\": 100,\n        \"income\": false,\n        \"kernel\": \"1c9e4a9a61df1dda00db10ab4477f88355e13d4ed06c0db36c39b22a2a66f642\",\n        \"receiver\": \"0\",\n        \"sender\": \"0\",\n        \"status\": 3,\n        \"status_string\": \"asset issued\",\n        \"txId\": \"77008a76aa4b4da697587040b2d21f1e\",\n        \"tx_type\": 2,\n        \"tx_type_string\": \"asset issue\",\n        \"value\": 500000000,\n        \"rates\": []\n    }]\n}\n",[150,32626,32627,32631,32641,32651,32657,32661,32671,32681,32691,32701,32711,32721,32731,32741,32751,32761,32771,32781,32791,32802,32808,32812,32823,32835,32847,32857,32862,32866,32876,32886,32897,32906,32910,32914,32918,32922,32932,32942,32952,32962,32972,32982,32992,33002,33012,33022,33032,33042,33052,33062,33072,33082,33090,33094,33098,33108,33118,33128,33138,33148,33158,33168,33178,33188,33198,33208,33218,33228,33238,33248,33258,33268,33274,33278],{"__ignoreMap":760},[984,32628,32629],{"class":986,"line":987},[984,32630,991],{"class":990},[984,32632,32633,32635,32637,32639],{"class":986,"line":761},[984,32634,997],{"class":996},[984,32636,1000],{"class":990},[984,32638,1004],{"class":1003},[984,32640,1007],{"class":990},[984,32642,32643,32645,32647,32649],{"class":986,"line":772},[984,32644,1012],{"class":996},[984,32646,1015],{"class":990},[984,32648,12972],{"class":996},[984,32650,1021],{"class":990},[984,32652,32653,32655],{"class":986,"line":1024},[984,32654,1724],{"class":996},[984,32656,1524],{"class":990},[984,32658,32659],{"class":986,"line":1035},[984,32660,15368],{"class":990},[984,32662,32663,32665,32667,32669],{"class":986,"line":1098},[984,32664,1220],{"class":996},[984,32666,1015],{"class":990},[984,32668,1171],{"class":996},[984,32670,1021],{"class":990},[984,32672,32673,32675,32677,32679],{"class":986,"line":1111},[984,32674,1735],{"class":996},[984,32676,1738],{"class":990},[984,32678,14895],{"class":1003},[984,32680,1021],{"class":990},[984,32682,32683,32685,32687,32689],{"class":986,"line":1124},[984,32684,1580],{"class":996},[984,32686,1015],{"class":990},[984,32688,13091],{"class":1003},[984,32690,1021],{"class":990},[984,32692,32693,32695,32697,32699],{"class":986,"line":1137},[984,32694,1546],{"class":996},[984,32696,1015],{"class":990},[984,32698,1171],{"class":996},[984,32700,1021],{"class":990},[984,32702,32703,32705,32707,32709],{"class":986,"line":1150},[984,32704,14994],{"class":996},[984,32706,1015],{"class":990},[984,32708,14999],{"class":1003},[984,32710,1021],{"class":990},[984,32712,32713,32715,32717,32719],{"class":986,"line":1163},[984,32714,15006],{"class":996},[984,32716,1015],{"class":990},[984,32718,1562],{"class":1003},[984,32720,1021],{"class":990},[984,32722,32723,32725,32727,32729],{"class":986,"line":1176},[984,32724,15017],{"class":996},[984,32726,1015],{"class":990},[984,32728,15022],{"class":1003},[984,32730,1021],{"class":990},[984,32732,32733,32735,32737,32739],{"class":986,"line":1189},[984,32734,15029],{"class":996},[984,32736,1015],{"class":990},[984,32738,2431],{"class":996},[984,32740,1021],{"class":990},[984,32742,32743,32745,32747,32749],{"class":986,"line":1202},[984,32744,15040],{"class":996},[984,32746,1738],{"class":990},[984,32748,15045],{"class":1003},[984,32750,1021],{"class":990},[984,32752,32753,32755,32757,32759],{"class":986,"line":1211},[984,32754,15075],{"class":996},[984,32756,1738],{"class":990},[984,32758,15080],{"class":1003},[984,32760,1021],{"class":990},[984,32762,32763,32765,32767,32769],{"class":986,"line":1217},[984,32764,1534],{"class":996},[984,32766,1015],{"class":990},[984,32768,1539],{"class":996},[984,32770,1021],{"class":990},[984,32772,32773,32775,32777,32779],{"class":986,"line":1229},[984,32774,13098],{"class":996},[984,32776,1738],{"class":990},[984,32778,15101],{"class":996},[984,32780,1021],{"class":990},[984,32782,32783,32785,32787,32789],{"class":986,"line":1241},[984,32784,15108],{"class":996},[984,32786,1738],{"class":990},[984,32788,5089],{"class":996},[984,32790,1021],{"class":990},[984,32792,32793,32795,32797,32800],{"class":986,"line":1254},[984,32794,15142],{"class":996},[984,32796,1015],{"class":990},[984,32798,32799],{"class":1003},"\"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"",[984,32801,1021],{"class":990},[984,32803,32804,32806],{"class":986,"line":1266},[984,32805,32194],{"class":996},[984,32807,1208],{"class":990},[984,32809,32810],{"class":986,"line":1279},[984,32811,9689],{"class":990},[984,32813,32814,32817,32819,32821],{"class":986,"line":1291},[984,32815,32816],{"class":996},"                \"from\"",[984,32818,1015],{"class":990},[984,32820,5131],{"class":996},[984,32822,1021],{"class":990},[984,32824,32825,32828,32830,32833],{"class":986,"line":1304},[984,32826,32827],{"class":996},"                \"rate\"",[984,32829,1015],{"class":990},[984,32831,32832],{"class":996},"200000000",[984,32834,1021],{"class":990},[984,32836,32837,32840,32842,32845],{"class":986,"line":1316},[984,32838,32839],{"class":996},"                \"rate_str\"",[984,32841,1015],{"class":990},[984,32843,32844],{"class":1003},"\"200000000\"",[984,32846,1021],{"class":990},[984,32848,32849,32852,32854],{"class":986,"line":1327},[984,32850,32851],{"class":996},"                \"to\"",[984,32853,1015],{"class":990},[984,32855,32856],{"class":1003},"\"btc\"\n",[984,32858,32859],{"class":986,"line":1333},[984,32860,32861],{"class":990},"            },\n",[984,32863,32864],{"class":986,"line":1338},[984,32865,9689],{"class":990},[984,32867,32868,32870,32872,32874],{"class":986,"line":1355},[984,32869,32816],{"class":996},[984,32871,1015],{"class":990},[984,32873,1171],{"class":996},[984,32875,1021],{"class":990},[984,32877,32878,32880,32882,32884],{"class":986,"line":1367},[984,32879,32827],{"class":996},[984,32881,1015],{"class":990},[984,32883,13914],{"class":996},[984,32885,1021],{"class":990},[984,32887,32888,32890,32892,32895],{"class":986,"line":1379},[984,32889,32839],{"class":996},[984,32891,1015],{"class":990},[984,32893,32894],{"class":1003},"\"50000000\"",[984,32896,1021],{"class":990},[984,32898,32899,32901,32903],{"class":986,"line":1390},[984,32900,32851],{"class":996},[984,32902,1015],{"class":990},[984,32904,32905],{"class":1003},"\"usd\"\n",[984,32907,32908],{"class":986,"line":1402},[984,32909,9817],{"class":990},[984,32911,32912],{"class":986,"line":1413},[984,32913,28870],{"class":990},[984,32915,32916],{"class":986,"line":1424},[984,32917,15511],{"class":990},[984,32919,32920],{"class":986,"line":1435},[984,32921,1529],{"class":990},[984,32923,32924,32926,32928,32930],{"class":986,"line":1444},[984,32925,15520],{"class":996},[984,32927,1015],{"class":990},[984,32929,1345],{"class":996},[984,32931,1021],{"class":990},[984,32933,32934,32936,32938,32940],{"class":986,"line":1450},[984,32935,15531],{"class":996},[984,32937,1015],{"class":990},[984,32939,15536],{"class":1003},[984,32941,1021],{"class":990},[984,32943,32944,32946,32948,32950],{"class":986,"line":1456},[984,32945,15543],{"class":996},[984,32947,1015],{"class":990},[984,32949,13091],{"class":1003},[984,32951,1021],{"class":990},[984,32953,32954,32956,32958,32960],{"class":986,"line":1462},[984,32955,15554],{"class":996},[984,32957,1015],{"class":990},[984,32959,15559],{"class":996},[984,32961,1021],{"class":990},[984,32963,32964,32966,32968,32970],{"class":986,"line":7201},[984,32965,15566],{"class":996},[984,32967,1015],{"class":990},[984,32969,15571],{"class":996},[984,32971,1021],{"class":990},[984,32973,32974,32976,32978,32980],{"class":986,"line":7206},[984,32975,6656],{"class":996},[984,32977,1015],{"class":990},[984,32979,1171],{"class":996},[984,32981,1021],{"class":990},[984,32983,32984,32986,32988,32990],{"class":986,"line":7218},[984,32985,15588],{"class":996},[984,32987,1015],{"class":990},[984,32989,15593],{"class":996},[984,32991,1021],{"class":990},[984,32993,32994,32996,32998,33000],{"class":986,"line":7229},[984,32995,15600],{"class":996},[984,32997,1015],{"class":990},[984,32999,5089],{"class":996},[984,33001,1021],{"class":990},[984,33003,33004,33006,33008,33010],{"class":986,"line":7241},[984,33005,15611],{"class":996},[984,33007,1015],{"class":990},[984,33009,1397],{"class":1003},[984,33011,1021],{"class":990},[984,33013,33014,33016,33018,33020],{"class":986,"line":7252},[984,33015,15622],{"class":996},[984,33017,1015],{"class":990},[984,33019,1397],{"class":1003},[984,33021,1021],{"class":990},[984,33023,33024,33026,33028,33030],{"class":986,"line":7262},[984,33025,15633],{"class":996},[984,33027,1015],{"class":990},[984,33029,5131],{"class":996},[984,33031,1021],{"class":990},[984,33033,33034,33036,33038,33040],{"class":986,"line":7267},[984,33035,15644],{"class":996},[984,33037,1015],{"class":990},[984,33039,15649],{"class":1003},[984,33041,1021],{"class":990},[984,33043,33044,33046,33048,33050],{"class":986,"line":7272},[984,33045,15656],{"class":996},[984,33047,1015],{"class":990},[984,33049,15661],{"class":1003},[984,33051,1021],{"class":990},[984,33053,33054,33056,33058,33060],{"class":986,"line":7279},[984,33055,15668],{"class":996},[984,33057,1015],{"class":990},[984,33059,1018],{"class":996},[984,33061,1021],{"class":990},[984,33063,33064,33066,33068,33070],{"class":986,"line":7284},[984,33065,15679],{"class":996},[984,33067,1015],{"class":990},[984,33069,15684],{"class":1003},[984,33071,1021],{"class":990},[984,33073,33074,33076,33078,33080],{"class":986,"line":7295},[984,33075,15691],{"class":996},[984,33077,1015],{"class":990},[984,33079,1171],{"class":996},[984,33081,1021],{"class":990},[984,33083,33084,33087],{"class":986,"line":7307},[984,33085,33086],{"class":996},"      \"rates\"",[984,33088,33089],{"class":990},": []\n",[984,33091,33092],{"class":986,"line":7318},[984,33093,15511],{"class":990},[984,33095,33096],{"class":986,"line":7328},[984,33097,1529],{"class":990},[984,33099,33100,33102,33104,33106],{"class":986,"line":7333},[984,33101,1220],{"class":996},[984,33103,1015],{"class":990},[984,33105,1345],{"class":996},[984,33107,1021],{"class":990},[984,33109,33110,33112,33114,33116],{"class":986,"line":7338},[984,33111,15719],{"class":996},[984,33113,1015],{"class":990},[984,33115,15536],{"class":1003},[984,33117,1021],{"class":990},[984,33119,33120,33122,33124,33126],{"class":986,"line":7350},[984,33121,1580],{"class":996},[984,33123,1015],{"class":990},[984,33125,13091],{"class":1003},[984,33127,1021],{"class":990},[984,33129,33130,33132,33134,33136],{"class":986,"line":7361},[984,33131,15740],{"class":996},[984,33133,1015],{"class":990},[984,33135,15745],{"class":996},[984,33137,1021],{"class":990},[984,33139,33140,33142,33144,33146],{"class":986,"line":7372},[984,33141,15752],{"class":996},[984,33143,1015],{"class":990},[984,33145,15757],{"class":996},[984,33147,1021],{"class":990},[984,33149,33150,33152,33154,33156],{"class":986,"line":7383},[984,33151,13098],{"class":996},[984,33153,1015],{"class":990},[984,33155,15768],{"class":996},[984,33157,1021],{"class":990},[984,33159,33160,33162,33164,33166],{"class":986,"line":7393},[984,33161,1546],{"class":996},[984,33163,1015],{"class":990},[984,33165,4979],{"class":996},[984,33167,1021],{"class":990},[984,33169,33170,33172,33174,33176],{"class":986,"line":7398},[984,33171,15108],{"class":996},[984,33173,1015],{"class":990},[984,33175,5089],{"class":996},[984,33177,1021],{"class":990},[984,33179,33180,33182,33184,33186],{"class":986,"line":7403},[984,33181,14994],{"class":996},[984,33183,1015],{"class":990},[984,33185,15799],{"class":1003},[984,33187,1021],{"class":990},[984,33189,33190,33192,33194,33196],{"class":986,"line":7415},[984,33191,15006],{"class":996},[984,33193,1015],{"class":990},[984,33195,1397],{"class":1003},[984,33197,1021],{"class":990},[984,33199,33200,33202,33204,33206],{"class":986,"line":7427},[984,33201,15017],{"class":996},[984,33203,1015],{"class":990},[984,33205,1397],{"class":1003},[984,33207,1021],{"class":990},[984,33209,33210,33212,33214,33216],{"class":986,"line":7438},[984,33211,15029],{"class":996},[984,33213,1015],{"class":990},[984,33215,5131],{"class":996},[984,33217,1021],{"class":990},[984,33219,33220,33222,33224,33226],{"class":986,"line":7449},[984,33221,15040],{"class":996},[984,33223,1015],{"class":990},[984,33225,15840],{"class":1003},[984,33227,1021],{"class":990},[984,33229,33230,33232,33234,33236],{"class":986,"line":7461},[984,33231,1735],{"class":996},[984,33233,1015],{"class":990},[984,33235,15851],{"class":1003},[984,33237,1021],{"class":990},[984,33239,33240,33242,33244,33246],{"class":986,"line":7468},[984,33241,15052],{"class":996},[984,33243,1015],{"class":990},[984,33245,1503],{"class":996},[984,33247,1021],{"class":990},[984,33249,33250,33252,33254,33256],{"class":986,"line":7475},[984,33251,15063],{"class":996},[984,33253,1015],{"class":990},[984,33255,15872],{"class":1003},[984,33257,1021],{"class":990},[984,33259,33260,33262,33264,33266],{"class":986,"line":7480},[984,33261,1534],{"class":996},[984,33263,1015],{"class":990},[984,33265,17190],{"class":996},[984,33267,1021],{"class":990},[984,33269,33270,33272],{"class":986,"line":7492},[984,33271,32194],{"class":996},[984,33273,33089],{"class":990},[984,33275,33276],{"class":986,"line":7503},[984,33277,15888],{"class":990},[984,33279,33280],{"class":986,"line":7515},[984,33281,1038],{"class":990},[89,33283,33284,33288,33294,33298,33304,33310,33314,33318,33322,33326,33330,33334,33339,33344,33349,33373,33382],{},[54,33285,33286,15900],{},[150,33287,15899],{},[54,33289,33290,163,33292,15908],{},[150,33291,6545],{},[150,33293,15907],{},[54,33295,33296,15913],{},[150,33297,15907],{},[54,33299,33300,163,33302,23036],{},[150,33301,15918],{},[150,33303,15921],{},[54,33305,33306,15928,33308,15931],{},[150,33307,15927],{},[150,33309,6390],{},[54,33311,33312,15936],{},[150,33313,14141],{},[54,33315,33316,15942],{},[150,33317,15941],{},[54,33319,33320,15948],{},[150,33321,15947],{},[54,33323,33324,15953],{},[150,33325,848],{},[54,33327,33328,15958],{},[150,33329,14141],{},[54,33331,33332,15963],{},[150,33333,6551],{},[54,33335,33336,33338],{},[150,33337,29308],{}," returned for transactions initiated by DApps. DApp Name",[54,33340,33341,33343],{},[150,33342,29305],{}," returned for transactions initiated by DApps. DApp ID (apppid)",[54,33345,33346,33348],{},[150,33347,29319],{}," currency rates at the moment of transaction. Empty array if rates were not available at the moment of transaction or transaction does not store rates (asset issue\u002Fconsume for example).",[54,33350,33351,163,33354,33357,33358,33361,33362,33365,33366,441,33369,33372],{},[150,33352,33353],{},"rates.from",[150,33355,33356],{},"rates.to"," from and to currencies. ",[150,33359,33360],{},"Number"," denotes asset id (0 for BEAM), ",[150,33363,33364],{},"string"," - third-party currencies such as ",[150,33367,33368],{},"eth",[150,33370,33371],{},"btc"," &c.",[54,33374,33375,163,33378,33381],{},[150,33376,33377],{},"rates.rate",[150,33379,33380],{},"rates.rate_str"," is a conversion rate.",[54,33383,33384,33386,33387,163,33389,33392,33393],{},[150,33385,29401],{}," type off address used for pust transaction (7), see ",[18,33388,6196],{"href":12240},[18,33390,16052],{"href":33391},"#tx-types",". Possible values are\n",[89,33394,33395,33399,33403],{},[54,33396,33397],{},[150,33398,5811],{},[54,33400,33401],{},[150,33402,6002],{},[54,33404,33405],{},[150,33406,5991],{},[716,33408,15967],{"id":15966},[716,33410,15971],{"id":15970},[89,33412,33413,33417,33427,33431,33445,33451],{},[54,33414,15976,33415,15980],{},[150,33416,15979],{},[54,33418,15983,33419,4665,33421,4665,33423,4665,33425,15996],{},[150,33420,15986],{},[150,33422,15989],{},[150,33424,15992],{},[150,33426,15995],{},[54,33428,15999,33429,16003],{},[150,33430,16002],{},[54,33432,16006,33433,4665,33435,4665,33437,4665,33439,4665,33441,4665,33443],{},[150,33434,16009],{},[150,33436,16012],{},[150,33438,16015],{},[150,33440,16018],{},[150,33442,16021],{},[150,33444,16024],{},[54,33446,16027,33447,16031,33449],{},[150,33448,16030],{},[150,33450,16034],{},[54,33452,16037,33453,4665,33455,4665,33457,4665,33459,16048],{},[150,33454,15986],{},[150,33456,16042],{},[150,33458,16045],{},[150,33460,15995],{},[716,33462,16052],{"id":16051},[89,33464,33465,33467,33469,33471,33473,33475,33477,33479,33481],{},[54,33466,16057],{},[54,33468,16060],{},[54,33470,16063],{},[54,33472,16066],{},[54,33474,16069],{},[54,33476,16072],{},[54,33478,16075],{},[54,33480,16078],{},[54,33482,16081],{},[11,33484,33485,16087],{},[94,33486,16086],{},[26,33488,883],{"id":883},[11,33490,16092],{},[11,33492,33493],{},[150,33494,975],{},[866,33496,33497],{"className":978,"code":979,"language":980,"meta":760,"style":760},[150,33498,33499,33503,33513,33523,33531],{"__ignoreMap":760},[984,33500,33501],{"class":986,"line":987},[984,33502,991],{"class":990},[984,33504,33505,33507,33509,33511],{"class":986,"line":761},[984,33506,997],{"class":996},[984,33508,1000],{"class":990},[984,33510,1004],{"class":1003},[984,33512,1007],{"class":990},[984,33514,33515,33517,33519,33521],{"class":986,"line":772},[984,33516,1012],{"class":996},[984,33518,1015],{"class":990},[984,33520,1018],{"class":996},[984,33522,1021],{"class":990},[984,33524,33525,33527,33529],{"class":986,"line":1024},[984,33526,1027],{"class":996},[984,33528,1000],{"class":990},[984,33530,1032],{"class":1003},[984,33532,33533],{"class":986,"line":1035},[984,33534,1038],{"class":990},[11,33536,33537],{},[150,33538,1043],{},[866,33540,33542],{"className":978,"code":33541,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"result\":\n    {\n        \"current_height\" : 1055,\n        \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n            \"current_state_timestamp\": 1625060769,\n        \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n            \"is_in_sync\": true,\n        \"available\": 100500,\n        \"receiving\": 123,\n        \"sending\": 0,\n        \"maturing\": 50,\n        \"difficulty\": 2.93914,\n    }\n}\n",[150,33543,33544,33548,33558,33568,33574,33578,33588,33598,33608,33618,33628,33638,33648,33658,33668,33678,33682],{"__ignoreMap":760},[984,33545,33546],{"class":986,"line":987},[984,33547,991],{"class":990},[984,33549,33550,33552,33554,33556],{"class":986,"line":761},[984,33551,997],{"class":996},[984,33553,1000],{"class":990},[984,33555,1004],{"class":1003},[984,33557,1007],{"class":990},[984,33559,33560,33562,33564,33566],{"class":986,"line":772},[984,33561,1012],{"class":996},[984,33563,1015],{"class":990},[984,33565,1018],{"class":996},[984,33567,1021],{"class":990},[984,33569,33570,33572],{"class":986,"line":1024},[984,33571,1724],{"class":996},[984,33573,1524],{"class":990},[984,33575,33576],{"class":986,"line":1035},[984,33577,1529],{"class":990},[984,33579,33580,33582,33584,33586],{"class":986,"line":1098},[984,33581,16184],{"class":996},[984,33583,1738],{"class":990},[984,33585,15247],{"class":996},[984,33587,1021],{"class":990},[984,33589,33590,33592,33594,33596],{"class":986,"line":1111},[984,33591,16195],{"class":996},[984,33593,1738],{"class":990},[984,33595,15022],{"class":1003},[984,33597,1021],{"class":990},[984,33599,33600,33602,33604,33606],{"class":986,"line":1124},[984,33601,23262],{"class":996},[984,33603,1015],{"class":990},[984,33605,23267],{"class":996},[984,33607,1021],{"class":990},[984,33609,33610,33612,33614,33616],{"class":986,"line":1137},[984,33611,16206],{"class":996},[984,33613,1738],{"class":990},[984,33615,16211],{"class":1003},[984,33617,1021],{"class":990},[984,33619,33620,33622,33624,33626],{"class":986,"line":1150},[984,33621,23284],{"class":996},[984,33623,1015],{"class":990},[984,33625,2682],{"class":996},[984,33627,1021],{"class":990},[984,33629,33630,33632,33634,33636],{"class":986,"line":1163},[984,33631,1232],{"class":996},[984,33633,1015],{"class":990},[984,33635,16222],{"class":996},[984,33637,1021],{"class":990},[984,33639,33640,33642,33644,33646],{"class":986,"line":1176},[984,33641,1282],{"class":996},[984,33643,1015],{"class":990},[984,33645,1158],{"class":996},[984,33647,1021],{"class":990},[984,33649,33650,33652,33654,33656],{"class":986,"line":1189},[984,33651,1307],{"class":996},[984,33653,1015],{"class":990},[984,33655,1171],{"class":996},[984,33657,1021],{"class":990},[984,33659,33660,33662,33664,33666],{"class":986,"line":1202},[984,33661,1257],{"class":996},[984,33663,1015],{"class":990},[984,33665,16253],{"class":996},[984,33667,1021],{"class":990},[984,33669,33670,33672,33674,33676],{"class":986,"line":1211},[984,33671,16271],{"class":996},[984,33673,1015],{"class":990},[984,33675,16276],{"class":996},[984,33677,1021],{"class":990},[984,33679,33680],{"class":986,"line":1217},[984,33681,1607],{"class":990},[984,33683,33684],{"class":986,"line":1229},[984,33685,1038],{"class":990},[89,33687,33688,33692,33696,33700,33704,33708,33712],{},[54,33689,33690,16293],{},[150,33691,12157],{},[54,33693,33694,16299],{},[150,33695,16298],{},[54,33697,33698,16304],{},[150,33699,12160],{},[54,33701,33702,16310],{},[150,33703,16309],{},[54,33705,33706,16315],{},[150,33707,10335],{},[54,33709,33710,23385],{},[150,33711,19514],{},[54,33713,33714,23390],{},[150,33715,19511],{},[11,33717,23393,33718,4316],{},[150,33719,948],{},[11,33721,33722],{},[150,33723,975],{},[866,33725,33726],{"className":978,"code":23402,"language":980,"meta":760,"style":760},[150,33727,33728,33732,33742,33752,33762,33768,33776,33780],{"__ignoreMap":760},[984,33729,33730],{"class":986,"line":987},[984,33731,991],{"class":990},[984,33733,33734,33736,33738,33740],{"class":986,"line":761},[984,33735,997],{"class":996},[984,33737,1000],{"class":990},[984,33739,1004],{"class":1003},[984,33741,1007],{"class":990},[984,33743,33744,33746,33748,33750],{"class":986,"line":772},[984,33745,1012],{"class":996},[984,33747,1015],{"class":990},[984,33749,1018],{"class":996},[984,33751,1021],{"class":990},[984,33753,33754,33756,33758,33760],{"class":986,"line":1024},[984,33755,1027],{"class":996},[984,33757,1000],{"class":990},[984,33759,11949],{"class":1003},[984,33761,1021],{"class":990},[984,33763,33764,33766],{"class":986,"line":1035},[984,33765,23443],{"class":996},[984,33767,1083],{"class":990},[984,33769,33770,33772,33774],{"class":986,"line":1098},[984,33771,23450],{"class":996},[984,33773,1015],{"class":990},[984,33775,13679],{"class":996},[984,33777,33778],{"class":986,"line":1111},[984,33779,9333],{"class":990},[984,33781,33782],{"class":986,"line":1124},[984,33783,1038],{"class":990},[89,33785,33786],{},[54,33787,33788,23469],{},[150,33789,12147],{},[11,33791,33792],{},[150,33793,1043],{},[866,33795,33797],{"className":978,"code":33796,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\" : 1055,\n    \"current_state_hash\" : \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n    \"current_state_timestamp\": 1625060769,\n    \"prev_state_hash\" : \"bd39333a66a8b7cb3804b5978d42312c841dbfa03a1c31fc2f0627eeed6e43f2\",\n    \"is_in_sync\": true,\n    \"available\": 100500,\n    \"receiving\": 123,\n    \"sending\": 0,\n    \"maturing\": 50,\n    \"difficulty\": 2.93914,\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 117065840575291,\n        \"available_mp\": 0,\n        \"available_mp_str\": \"0\",\n        \"available_regular\": 117065840575291,\n        \"available_regular_str\": \"117065840575291\",\n        \"available_str\": \"117065840575291\",\n        \"change\": 0,\n        \"change_str\": \"0\",\n        \"locked\": 183629687500000,\n        \"locked_str\": \"183629687500000\",\n        \"maturing\": 183629687500000,\n        \"maturing_mp\": 0,\n        \"maturing_mp_str\": \"0\",\n        \"maturing_regular\": 183629687500000,\n        \"maturing_regular_str\": \"183629687500000\",\n        \"maturing_str\": \"183629687500000\",\n        \"receiving\": 0,\n        \"receiving_mp\": 0,\n        \"receiving_mp_str\": \"0\",\n        \"receiving_regular\": 0,\n        \"receiving_regular_str\": \"0\",\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_mp\": 0,\n        \"sending_mp_str\": \"0\",\n        \"sending_regular\": 0,\n        \"sending_regular_str\": \"0\",\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 3,\n        \"available\": 4262500000,\n        \"available_mp\": 0,\n        \"available_mp_str\": \"0\",\n        \"available_regular\": 4262500000,\n        \"available_regular_str\": \"4262500000\",\n        \"available_str\": \"4262500000\",\n        \"change\": 0,\n        \"change_str\": \"0\",\n        \"locked\": 0,\n        \"locked_str\": \"0\",\n        \"maturing\": 0,\n        \"maturing_mp\": 0,\n        \"maturing_mp_str\": \"0\",\n        \"maturing_regular\": 0,\n        \"maturing_regular_str\": \"0\",\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_mp\": 0,\n        \"receiving_mp_str\": \"0\",\n        \"receiving_regular\": 0,\n        \"receiving_regular_str\": \"0\",\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_mp\": 0,\n        \"sending_mp_str\": \"0\",\n        \"sending_regular\": 0,\n        \"sending_regular_str\": \"0\",\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[150,33798,33799,33803,33813,33823,33829,33839,33849,33859,33869,33879,33889,33899,33909,33919,33929,33935,33939,33949,33960,33971,33982,33993,34005,34015,34025,34035,34046,34058,34068,34079,34090,34101,34112,34122,34132,34143,34154,34165,34176,34186,34196,34207,34218,34229,34240,34248,34252,34256,34266,34277,34287,34297,34307,34318,34328,34338,34348,34358,34368,34378,34388,34398,34408,34418,34428,34438,34448,34458,34468,34478,34488,34498,34508,34518,34528,34538,34546,34550,34554,34558],{"__ignoreMap":760},[984,33800,33801],{"class":986,"line":987},[984,33802,991],{"class":990},[984,33804,33805,33807,33809,33811],{"class":986,"line":761},[984,33806,1057],{"class":996},[984,33808,1015],{"class":990},[984,33810,1062],{"class":996},[984,33812,1021],{"class":990},[984,33814,33815,33817,33819,33821],{"class":986,"line":772},[984,33816,1069],{"class":996},[984,33818,1015],{"class":990},[984,33820,1004],{"class":1003},[984,33822,1021],{"class":990},[984,33824,33825,33827],{"class":986,"line":1024},[984,33826,1080],{"class":996},[984,33828,1083],{"class":990},[984,33830,33831,33833,33835,33837],{"class":986,"line":1035},[984,33832,1088],{"class":996},[984,33834,1738],{"class":990},[984,33836,15247],{"class":996},[984,33838,1021],{"class":990},[984,33840,33841,33843,33845,33847],{"class":986,"line":1098},[984,33842,1101],{"class":996},[984,33844,1738],{"class":990},[984,33846,15022],{"class":1003},[984,33848,1021],{"class":990},[984,33850,33851,33853,33855,33857],{"class":986,"line":1111},[984,33852,23533],{"class":996},[984,33854,1015],{"class":990},[984,33856,23267],{"class":996},[984,33858,1021],{"class":990},[984,33860,33861,33863,33865,33867],{"class":986,"line":1124},[984,33862,1127],{"class":996},[984,33864,1738],{"class":990},[984,33866,16211],{"class":1003},[984,33868,1021],{"class":990},[984,33870,33871,33873,33875,33877],{"class":986,"line":1137},[984,33872,23554],{"class":996},[984,33874,1015],{"class":990},[984,33876,2682],{"class":996},[984,33878,1021],{"class":990},[984,33880,33881,33883,33885,33887],{"class":986,"line":1150},[984,33882,1140],{"class":996},[984,33884,1015],{"class":990},[984,33886,16222],{"class":996},[984,33888,1021],{"class":990},[984,33890,33891,33893,33895,33897],{"class":986,"line":1163},[984,33892,1153],{"class":996},[984,33894,1015],{"class":990},[984,33896,1158],{"class":996},[984,33898,1021],{"class":990},[984,33900,33901,33903,33905,33907],{"class":986,"line":1176},[984,33902,1166],{"class":996},[984,33904,1015],{"class":990},[984,33906,1171],{"class":996},[984,33908,1021],{"class":990},[984,33910,33911,33913,33915,33917],{"class":986,"line":1189},[984,33912,1179],{"class":996},[984,33914,1015],{"class":990},[984,33916,16253],{"class":996},[984,33918,1021],{"class":990},[984,33920,33921,33923,33925,33927],{"class":986,"line":1202},[984,33922,1114],{"class":996},[984,33924,1015],{"class":990},[984,33926,16276],{"class":996},[984,33928,1021],{"class":990},[984,33930,33931,33933],{"class":986,"line":1211},[984,33932,1205],{"class":996},[984,33934,1208],{"class":990},[984,33936,33937],{"class":986,"line":1217},[984,33938,1214],{"class":990},[984,33940,33941,33943,33945,33947],{"class":986,"line":1229},[984,33942,1220],{"class":996},[984,33944,1015],{"class":990},[984,33946,1171],{"class":996},[984,33948,1021],{"class":990},[984,33950,33951,33953,33955,33958],{"class":986,"line":1241},[984,33952,1232],{"class":996},[984,33954,1015],{"class":990},[984,33956,33957],{"class":996},"117065840575291",[984,33959,1021],{"class":990},[984,33961,33962,33965,33967,33969],{"class":986,"line":1254},[984,33963,33964],{"class":996},"        \"available_mp\"",[984,33966,1015],{"class":990},[984,33968,1171],{"class":996},[984,33970,1021],{"class":990},[984,33972,33973,33976,33978,33980],{"class":986,"line":1266},[984,33974,33975],{"class":996},"        \"available_mp_str\"",[984,33977,1015],{"class":990},[984,33979,1397],{"class":1003},[984,33981,1021],{"class":990},[984,33983,33984,33987,33989,33991],{"class":986,"line":1279},[984,33985,33986],{"class":996},"        \"available_regular\"",[984,33988,1015],{"class":990},[984,33990,33957],{"class":996},[984,33992,1021],{"class":990},[984,33994,33995,33998,34000,34003],{"class":986,"line":1291},[984,33996,33997],{"class":996},"        \"available_regular_str\"",[984,33999,1015],{"class":990},[984,34001,34002],{"class":1003},"\"117065840575291\"",[984,34004,1021],{"class":990},[984,34006,34007,34009,34011,34013],{"class":986,"line":1304},[984,34008,1244],{"class":996},[984,34010,1015],{"class":990},[984,34012,34002],{"class":1003},[984,34014,1021],{"class":990},[984,34016,34017,34019,34021,34023],{"class":986,"line":1316},[984,34018,2577],{"class":996},[984,34020,1015],{"class":990},[984,34022,1171],{"class":996},[984,34024,1021],{"class":990},[984,34026,34027,34029,34031,34033],{"class":986,"line":1327},[984,34028,2588],{"class":996},[984,34030,1015],{"class":990},[984,34032,1397],{"class":1003},[984,34034,1021],{"class":990},[984,34036,34037,34039,34041,34044],{"class":986,"line":1333},[984,34038,16260],{"class":996},[984,34040,1015],{"class":990},[984,34042,34043],{"class":996},"183629687500000",[984,34045,1021],{"class":990},[984,34047,34048,34051,34053,34056],{"class":986,"line":1338},[984,34049,34050],{"class":996},"        \"locked_str\"",[984,34052,1015],{"class":990},[984,34054,34055],{"class":1003},"\"183629687500000\"",[984,34057,1021],{"class":990},[984,34059,34060,34062,34064,34066],{"class":986,"line":1355},[984,34061,1257],{"class":996},[984,34063,1015],{"class":990},[984,34065,34043],{"class":996},[984,34067,1021],{"class":990},[984,34069,34070,34073,34075,34077],{"class":986,"line":1367},[984,34071,34072],{"class":996},"        \"maturing_mp\"",[984,34074,1015],{"class":990},[984,34076,1171],{"class":996},[984,34078,1021],{"class":990},[984,34080,34081,34084,34086,34088],{"class":986,"line":1379},[984,34082,34083],{"class":996},"        \"maturing_mp_str\"",[984,34085,1015],{"class":990},[984,34087,1397],{"class":1003},[984,34089,1021],{"class":990},[984,34091,34092,34095,34097,34099],{"class":986,"line":1390},[984,34093,34094],{"class":996},"        \"maturing_regular\"",[984,34096,1015],{"class":990},[984,34098,34043],{"class":996},[984,34100,1021],{"class":990},[984,34102,34103,34106,34108,34110],{"class":986,"line":1402},[984,34104,34105],{"class":996},"        \"maturing_regular_str\"",[984,34107,1015],{"class":990},[984,34109,34055],{"class":1003},[984,34111,1021],{"class":990},[984,34113,34114,34116,34118,34120],{"class":986,"line":1413},[984,34115,1269],{"class":996},[984,34117,1015],{"class":990},[984,34119,34055],{"class":1003},[984,34121,1021],{"class":990},[984,34123,34124,34126,34128,34130],{"class":986,"line":1424},[984,34125,1282],{"class":996},[984,34127,1015],{"class":990},[984,34129,1171],{"class":996},[984,34131,1021],{"class":990},[984,34133,34134,34137,34139,34141],{"class":986,"line":1435},[984,34135,34136],{"class":996},"        \"receiving_mp\"",[984,34138,1015],{"class":990},[984,34140,1171],{"class":996},[984,34142,1021],{"class":990},[984,34144,34145,34148,34150,34152],{"class":986,"line":1444},[984,34146,34147],{"class":996},"        \"receiving_mp_str\"",[984,34149,1015],{"class":990},[984,34151,1397],{"class":1003},[984,34153,1021],{"class":990},[984,34155,34156,34159,34161,34163],{"class":986,"line":1450},[984,34157,34158],{"class":996},"        \"receiving_regular\"",[984,34160,1015],{"class":990},[984,34162,1171],{"class":996},[984,34164,1021],{"class":990},[984,34166,34167,34170,34172,34174],{"class":986,"line":1456},[984,34168,34169],{"class":996},"        \"receiving_regular_str\"",[984,34171,1015],{"class":990},[984,34173,1397],{"class":1003},[984,34175,1021],{"class":990},[984,34177,34178,34180,34182,34184],{"class":986,"line":1462},[984,34179,1294],{"class":996},[984,34181,1015],{"class":990},[984,34183,1397],{"class":1003},[984,34185,1021],{"class":990},[984,34187,34188,34190,34192,34194],{"class":986,"line":7201},[984,34189,1307],{"class":996},[984,34191,1015],{"class":990},[984,34193,1171],{"class":996},[984,34195,1021],{"class":990},[984,34197,34198,34201,34203,34205],{"class":986,"line":7206},[984,34199,34200],{"class":996},"        \"sending_mp\"",[984,34202,1015],{"class":990},[984,34204,1171],{"class":996},[984,34206,1021],{"class":990},[984,34208,34209,34212,34214,34216],{"class":986,"line":7218},[984,34210,34211],{"class":996},"        \"sending_mp_str\"",[984,34213,1015],{"class":990},[984,34215,1397],{"class":1003},[984,34217,1021],{"class":990},[984,34219,34220,34223,34225,34227],{"class":986,"line":7229},[984,34221,34222],{"class":996},"        \"sending_regular\"",[984,34224,1015],{"class":990},[984,34226,1171],{"class":996},[984,34228,1021],{"class":990},[984,34230,34231,34234,34236,34238],{"class":986,"line":7241},[984,34232,34233],{"class":996},"        \"sending_regular_str\"",[984,34235,1015],{"class":990},[984,34237,1397],{"class":1003},[984,34239,1021],{"class":990},[984,34241,34242,34244,34246],{"class":986,"line":7252},[984,34243,1319],{"class":996},[984,34245,1015],{"class":990},[984,34247,1324],{"class":1003},[984,34249,34250],{"class":986,"line":7262},[984,34251,1330],{"class":990},[984,34253,34254],{"class":986,"line":7267},[984,34255,1214],{"class":990},[984,34257,34258,34260,34262,34264],{"class":986,"line":7272},[984,34259,1220],{"class":996},[984,34261,1015],{"class":990},[984,34263,5131],{"class":996},[984,34265,1021],{"class":990},[984,34267,34268,34270,34272,34275],{"class":986,"line":7279},[984,34269,1232],{"class":996},[984,34271,1015],{"class":990},[984,34273,34274],{"class":996},"4262500000",[984,34276,1021],{"class":990},[984,34278,34279,34281,34283,34285],{"class":986,"line":7284},[984,34280,33964],{"class":996},[984,34282,1015],{"class":990},[984,34284,1171],{"class":996},[984,34286,1021],{"class":990},[984,34288,34289,34291,34293,34295],{"class":986,"line":7295},[984,34290,33975],{"class":996},[984,34292,1015],{"class":990},[984,34294,1397],{"class":1003},[984,34296,1021],{"class":990},[984,34298,34299,34301,34303,34305],{"class":986,"line":7307},[984,34300,33986],{"class":996},[984,34302,1015],{"class":990},[984,34304,34274],{"class":996},[984,34306,1021],{"class":990},[984,34308,34309,34311,34313,34316],{"class":986,"line":7318},[984,34310,33997],{"class":996},[984,34312,1015],{"class":990},[984,34314,34315],{"class":1003},"\"4262500000\"",[984,34317,1021],{"class":990},[984,34319,34320,34322,34324,34326],{"class":986,"line":7328},[984,34321,1244],{"class":996},[984,34323,1015],{"class":990},[984,34325,34315],{"class":1003},[984,34327,1021],{"class":990},[984,34329,34330,34332,34334,34336],{"class":986,"line":7333},[984,34331,2577],{"class":996},[984,34333,1015],{"class":990},[984,34335,1171],{"class":996},[984,34337,1021],{"class":990},[984,34339,34340,34342,34344,34346],{"class":986,"line":7338},[984,34341,2588],{"class":996},[984,34343,1015],{"class":990},[984,34345,1397],{"class":1003},[984,34347,1021],{"class":990},[984,34349,34350,34352,34354,34356],{"class":986,"line":7350},[984,34351,16260],{"class":996},[984,34353,1015],{"class":990},[984,34355,1171],{"class":996},[984,34357,1021],{"class":990},[984,34359,34360,34362,34364,34366],{"class":986,"line":7361},[984,34361,34050],{"class":996},[984,34363,1015],{"class":990},[984,34365,1397],{"class":1003},[984,34367,1021],{"class":990},[984,34369,34370,34372,34374,34376],{"class":986,"line":7372},[984,34371,1257],{"class":996},[984,34373,1015],{"class":990},[984,34375,1171],{"class":996},[984,34377,1021],{"class":990},[984,34379,34380,34382,34384,34386],{"class":986,"line":7383},[984,34381,34072],{"class":996},[984,34383,1015],{"class":990},[984,34385,1171],{"class":996},[984,34387,1021],{"class":990},[984,34389,34390,34392,34394,34396],{"class":986,"line":7393},[984,34391,34083],{"class":996},[984,34393,1015],{"class":990},[984,34395,1397],{"class":1003},[984,34397,1021],{"class":990},[984,34399,34400,34402,34404,34406],{"class":986,"line":7398},[984,34401,34094],{"class":996},[984,34403,1015],{"class":990},[984,34405,1171],{"class":996},[984,34407,1021],{"class":990},[984,34409,34410,34412,34414,34416],{"class":986,"line":7403},[984,34411,34105],{"class":996},[984,34413,1015],{"class":990},[984,34415,1397],{"class":1003},[984,34417,1021],{"class":990},[984,34419,34420,34422,34424,34426],{"class":986,"line":7415},[984,34421,1269],{"class":996},[984,34423,1015],{"class":990},[984,34425,1397],{"class":1003},[984,34427,1021],{"class":990},[984,34429,34430,34432,34434,34436],{"class":986,"line":7427},[984,34431,1282],{"class":996},[984,34433,1015],{"class":990},[984,34435,1171],{"class":996},[984,34437,1021],{"class":990},[984,34439,34440,34442,34444,34446],{"class":986,"line":7438},[984,34441,34136],{"class":996},[984,34443,1015],{"class":990},[984,34445,1171],{"class":996},[984,34447,1021],{"class":990},[984,34449,34450,34452,34454,34456],{"class":986,"line":7449},[984,34451,34147],{"class":996},[984,34453,1015],{"class":990},[984,34455,1397],{"class":1003},[984,34457,1021],{"class":990},[984,34459,34460,34462,34464,34466],{"class":986,"line":7461},[984,34461,34158],{"class":996},[984,34463,1015],{"class":990},[984,34465,1171],{"class":996},[984,34467,1021],{"class":990},[984,34469,34470,34472,34474,34476],{"class":986,"line":7468},[984,34471,34169],{"class":996},[984,34473,1015],{"class":990},[984,34475,1397],{"class":1003},[984,34477,1021],{"class":990},[984,34479,34480,34482,34484,34486],{"class":986,"line":7475},[984,34481,1294],{"class":996},[984,34483,1015],{"class":990},[984,34485,1397],{"class":1003},[984,34487,1021],{"class":990},[984,34489,34490,34492,34494,34496],{"class":986,"line":7480},[984,34491,1307],{"class":996},[984,34493,1015],{"class":990},[984,34495,1171],{"class":996},[984,34497,1021],{"class":990},[984,34499,34500,34502,34504,34506],{"class":986,"line":7492},[984,34501,34200],{"class":996},[984,34503,1015],{"class":990},[984,34505,1171],{"class":996},[984,34507,1021],{"class":990},[984,34509,34510,34512,34514,34516],{"class":986,"line":7503},[984,34511,34211],{"class":996},[984,34513,1015],{"class":990},[984,34515,1397],{"class":1003},[984,34517,1021],{"class":990},[984,34519,34520,34522,34524,34526],{"class":986,"line":7515},[984,34521,34222],{"class":996},[984,34523,1015],{"class":990},[984,34525,1171],{"class":996},[984,34527,1021],{"class":990},[984,34529,34530,34532,34534,34536],{"class":986,"line":7526},[984,34531,34233],{"class":996},[984,34533,1015],{"class":990},[984,34535,1397],{"class":1003},[984,34537,1021],{"class":990},[984,34539,34540,34542,34544],{"class":986,"line":7536},[984,34541,1319],{"class":996},[984,34543,1015],{"class":990},[984,34545,1324],{"class":1003},[984,34547,34548],{"class":986,"line":7541},[984,34549,1447],{"class":990},[984,34551,34552],{"class":986,"line":7546},[984,34553,1453],{"class":990},[984,34555,34556],{"class":986,"line":7553},[984,34557,1459],{"class":990},[984,34559,34560],{"class":986,"line":7558},[984,34561,1038],{"class":990},[89,34563,34564,34577,34582,34587,34596,34601,34606,34614,34619,34624,34632,34637,34642,34650,34655],{},[54,34565,34566,34568,34569],{},[150,34567,12119],{}," is an array of totals per asset. Assets that are included in this array by default:",[89,34570,34571,34573,34575],{},[54,34572,12125],{},[54,34574,12128],{},[54,34576,12131],{},[54,34578,34579,34581],{},[150,34580,29334],{}," available regular UTXOs wallet can spend",[54,34583,34584,34586],{},[150,34585,29340],{}," available max privacy (shielded) UTXOs wallet can spend",[54,34588,34589,34591,34592,163,34594],{},[150,34590,12157],{}," sum of ",[150,34593,29334],{},[150,34595,29340],{},[54,34597,34598,34600],{},[150,34599,29346],{}," regular UTXOs wallet is currently receiving",[54,34602,34603,34605],{},[150,34604,29352],{}," max privacy (shielded) UTXOs wallet is currently receiving",[54,34607,34608,34591,34610,163,34612],{},[150,34609,16042],{},[150,34611,29346],{},[150,34613,29352],{},[54,34615,34616,34618],{},[150,34617,29358],{}," regular UTXOs wallet is currently sending",[54,34620,34621,34623],{},[150,34622,29364],{}," max privacy (shielded) UTXOs wallet is currently sending",[54,34625,34626,34591,34628,163,34630],{},[150,34627,16045],{},[150,34629,29358],{},[150,34631,29364],{},[54,34633,34634,34636],{},[150,34635,29370],{}," regular UTXOs currently maturing",[54,34638,34639,34641],{},[150,34640,29376],{}," max privacy (shielded) UTXOs currently maturing",[54,34643,34644,34591,34646,163,34648],{},[150,34645,12160],{},[150,34647,29370],{},[150,34649,29376],{},[54,34651,34652,34654],{},[150,34653,2657],{}," change that is currently incoming to wallet",[54,34656,34657,34659,34660,441,34662,163,34664],{},[150,34658,16309],{}," locked UTXOs, sum of ",[150,34661,29370],{},[150,34663,29376],{},[150,34665,2657],{},[11,34667,12134,34668,12137,34670,12140,34672,12144,34674,12148],{},[150,34669,12119],{},[150,34671,848],{},[150,34673,12143],{},[150,34675,12147],{},[11,34677,12151,34678,12154,34680,441,34682,12161,34684,2008,34686,12166,34688,12169,34690,12173],{},[111,34679,2003],{},[150,34681,12157],{},[150,34683,12160],{},[150,34685,2007],{},[111,34687,2011],{},[150,34689,2007],{},[150,34691,12172],{},[26,34693,12024],{"id":12024},[11,34695,16749],{},[11,34697,34698],{},[150,34699,975],{},[866,34701,34702],{"className":978,"code":16756,"language":980,"meta":760,"style":760},[150,34703,34704,34708,34718,34728,34738,34744,34748,34758,34768,34774,34784,34792,34796,34800],{"__ignoreMap":760},[984,34705,34706],{"class":986,"line":987},[984,34707,991],{"class":990},[984,34709,34710,34712,34714,34716],{"class":986,"line":761},[984,34711,997],{"class":996},[984,34713,1000],{"class":990},[984,34715,1004],{"class":1003},[984,34717,1007],{"class":990},[984,34719,34720,34722,34724,34726],{"class":986,"line":772},[984,34721,1012],{"class":996},[984,34723,1015],{"class":990},[984,34725,1018],{"class":996},[984,34727,1021],{"class":990},[984,34729,34730,34732,34734,34736],{"class":986,"line":1024},[984,34731,1027],{"class":996},[984,34733,1000],{"class":990},[984,34735,16791],{"class":1003},[984,34737,1021],{"class":990},[984,34739,34740,34742],{"class":986,"line":1035},[984,34741,1521],{"class":996},[984,34743,1803],{"class":990},[984,34745,34746],{"class":986,"line":1098},[984,34747,1529],{"class":990},[984,34749,34750,34752,34754,34756],{"class":986,"line":1111},[984,34751,15270],{"class":996},[984,34753,1015],{"class":990},[984,34755,16812],{"class":996},[984,34757,1021],{"class":990},[984,34759,34760,34762,34764,34766],{"class":986,"line":1124},[984,34761,15259],{"class":996},[984,34763,1015],{"class":990},[984,34765,1171],{"class":996},[984,34767,1021],{"class":990},[984,34769,34770,34772],{"class":986,"line":1137},[984,34771,16829],{"class":996},[984,34773,1083],{"class":990},[984,34775,34776,34778,34780,34782],{"class":986,"line":1150},[984,34777,16836],{"class":996},[984,34779,1015],{"class":990},[984,34781,16841],{"class":1003},[984,34783,1021],{"class":990},[984,34785,34786,34788,34790],{"class":986,"line":1163},[984,34787,16848],{"class":996},[984,34789,1015],{"class":990},[984,34791,16853],{"class":1003},[984,34793,34794],{"class":986,"line":1176},[984,34795,9333],{"class":990},[984,34797,34798],{"class":986,"line":1189},[984,34799,1607],{"class":990},[984,34801,34802],{"class":986,"line":1202},[984,34803,1038],{"class":990},[89,34805,34806,34810,34816,34820],{},[54,34807,34808,16872],{},[150,34809,6846],{},[54,34811,34812,16877,34814,385],{},[150,34813,15307],{},[150,34815,1171],{},[54,34817,34818,16885],{},[150,34819,16884],{},[54,34821,34822,16891],{},[150,34823,16890],{},[11,34825,34826],{},[150,34827,1043],{},[866,34829,34830],{"className":978,"code":16898,"language":980,"meta":760,"style":760},[150,34831,34832,34836,34846,34856,34862,34866,34876,34886,34896,34906,34916,34926,34936,34946,34954,34958],{"__ignoreMap":760},[984,34833,34834],{"class":986,"line":987},[984,34835,991],{"class":990},[984,34837,34838,34840,34842,34844],{"class":986,"line":761},[984,34839,997],{"class":996},[984,34841,1015],{"class":990},[984,34843,1004],{"class":1003},[984,34845,1007],{"class":990},[984,34847,34848,34850,34852,34854],{"class":986,"line":772},[984,34849,1012],{"class":996},[984,34851,1015],{"class":990},[984,34853,1018],{"class":996},[984,34855,1021],{"class":990},[984,34857,34858,34860],{"class":986,"line":1024},[984,34859,1724],{"class":996},[984,34861,1524],{"class":990},[984,34863,34864],{"class":986,"line":1035},[984,34865,13070],{"class":990},[984,34867,34868,34870,34872,34874],{"class":986,"line":1098},[984,34869,6969],{"class":996},[984,34871,1015],{"class":990},[984,34873,1158],{"class":996},[984,34875,1021],{"class":990},[984,34877,34878,34880,34882,34884],{"class":986,"line":1111},[984,34879,1220],{"class":996},[984,34881,1015],{"class":990},[984,34883,1171],{"class":996},[984,34885,1021],{"class":990},[984,34887,34888,34890,34892,34894],{"class":986,"line":1124},[984,34889,2459],{"class":996},[984,34891,1015],{"class":990},[984,34893,16963],{"class":996},[984,34895,1021],{"class":990},[984,34897,34898,34900,34902,34904],{"class":986,"line":1137},[984,34899,7056],{"class":996},[984,34901,1015],{"class":990},[984,34903,16974],{"class":996},[984,34905,1021],{"class":990},[984,34907,34908,34910,34912,34914],{"class":986,"line":1150},[984,34909,5926],{"class":996},[984,34911,1015],{"class":990},[984,34913,16985],{"class":1003},[984,34915,1021],{"class":990},[984,34917,34918,34920,34922,34924],{"class":986,"line":1163},[984,34919,16992],{"class":996},[984,34921,1015],{"class":990},[984,34923,14895],{"class":1003},[984,34925,1021],{"class":990},[984,34927,34928,34930,34932,34934],{"class":986,"line":1176},[984,34929,17003],{"class":996},[984,34931,1015],{"class":990},[984,34933,13091],{"class":1003},[984,34935,1021],{"class":990},[984,34937,34938,34940,34942,34944],{"class":986,"line":1189},[984,34939,15029],{"class":996},[984,34941,1015],{"class":990},[984,34943,1503],{"class":996},[984,34945,1021],{"class":990},[984,34947,34948,34950,34952],{"class":986,"line":1202},[984,34949,15040],{"class":996},[984,34951,1015],{"class":990},[984,34953,17028],{"class":1003},[984,34955,34956],{"class":986,"line":1211},[984,34957,15888],{"class":990},[984,34959,34960],{"class":986,"line":1217},[984,34961,1038],{"class":990},[89,34963,34964,34970],{},[54,34965,34966,17043,34968,2758],{},[150,34967,848],{},[150,34969,948],{},[54,34971,34972,17050],{},[150,34973,15320],{},[11,34975,34976],{},[150,34977,975],{},[866,34979,34980],{"className":978,"code":17057,"language":980,"meta":760,"style":760},[150,34981,34982,34986,34996,35006,35016,35022,35032,35038,35046,35050,35054],{"__ignoreMap":760},[984,34983,34984],{"class":986,"line":987},[984,34985,991],{"class":990},[984,34987,34988,34990,34992,34994],{"class":986,"line":761},[984,34989,997],{"class":996},[984,34991,1015],{"class":990},[984,34993,1004],{"class":1003},[984,34995,1021],{"class":990},[984,34997,34998,35000,35002,35004],{"class":986,"line":772},[984,34999,1012],{"class":996},[984,35001,1015],{"class":990},[984,35003,1062],{"class":996},[984,35005,1021],{"class":990},[984,35007,35008,35010,35012,35014],{"class":986,"line":1024},[984,35009,1027],{"class":996},[984,35011,1015],{"class":990},[984,35013,16791],{"class":1003},[984,35015,1021],{"class":990},[984,35017,35018,35020],{"class":986,"line":1035},[984,35019,1521],{"class":996},[984,35021,1083],{"class":990},[984,35023,35024,35026,35028,35030],{"class":986,"line":1098},[984,35025,17104],{"class":996},[984,35027,1015],{"class":990},[984,35029,2682],{"class":996},[984,35031,1021],{"class":990},[984,35033,35034,35036],{"class":986,"line":1111},[984,35035,15220],{"class":996},[984,35037,1083],{"class":990},[984,35039,35040,35042,35044],{"class":986,"line":1124},[984,35041,17121],{"class":996},[984,35043,1015],{"class":990},[984,35045,1678],{"class":996},[984,35047,35048],{"class":986,"line":1137},[984,35049,9333],{"class":990},[984,35051,35052],{"class":986,"line":1150},[984,35053,1607],{"class":990},[984,35055,35056],{"class":986,"line":1163},[984,35057,1038],{"class":990},[11,35059,35060],{},[150,35061,1043],{},[866,35063,35064],{"className":978,"code":17144,"language":980,"meta":760,"style":760},[150,35065,35066,35070,35080,35090,35096,35100,35110,35120,35130,35140,35150,35160,35170,35180,35188,35192,35196],{"__ignoreMap":760},[984,35067,35068],{"class":986,"line":987},[984,35069,991],{"class":990},[984,35071,35072,35074,35076,35078],{"class":986,"line":761},[984,35073,1057],{"class":996},[984,35075,1015],{"class":990},[984,35077,1062],{"class":996},[984,35079,1021],{"class":990},[984,35081,35082,35084,35086,35088],{"class":986,"line":772},[984,35083,1069],{"class":996},[984,35085,1015],{"class":990},[984,35087,1004],{"class":1003},[984,35089,1021],{"class":990},[984,35091,35092,35094],{"class":986,"line":1024},[984,35093,1080],{"class":996},[984,35095,1208],{"class":990},[984,35097,35098],{"class":986,"line":1035},[984,35099,1529],{"class":990},[984,35101,35102,35104,35106,35108],{"class":986,"line":1098},[984,35103,17185],{"class":996},[984,35105,1015],{"class":990},[984,35107,17190],{"class":996},[984,35109,1021],{"class":990},[984,35111,35112,35114,35116,35118],{"class":986,"line":1111},[984,35113,15520],{"class":996},[984,35115,1015],{"class":990},[984,35117,1345],{"class":996},[984,35119,1021],{"class":990},[984,35121,35122,35124,35126,35128],{"class":986,"line":1124},[984,35123,17207],{"class":996},[984,35125,1015],{"class":990},[984,35127,17212],{"class":1003},[984,35129,1021],{"class":990},[984,35131,35132,35134,35136,35138],{"class":986,"line":1137},[984,35133,6667],{"class":996},[984,35135,1015],{"class":990},[984,35137,17223],{"class":1003},[984,35139,1021],{"class":990},[984,35141,35142,35144,35146,35148],{"class":986,"line":1150},[984,35143,6755],{"class":996},[984,35145,1015],{"class":990},[984,35147,17234],{"class":996},[984,35149,1021],{"class":990},[984,35151,35152,35154,35156,35158],{"class":986,"line":1163},[984,35153,17241],{"class":996},[984,35155,1015],{"class":990},[984,35157,13091],{"class":1003},[984,35159,1021],{"class":990},[984,35161,35162,35164,35166,35168],{"class":986,"line":1176},[984,35163,15633],{"class":996},[984,35165,1015],{"class":990},[984,35167,1345],{"class":996},[984,35169,1021],{"class":990},[984,35171,35172,35174,35176,35178],{"class":986,"line":1189},[984,35173,15644],{"class":996},[984,35175,1015],{"class":990},[984,35177,17266],{"class":1003},[984,35179,1021],{"class":990},[984,35181,35182,35184,35186],{"class":986,"line":1202},[984,35183,17273],{"class":996},[984,35185,1015],{"class":990},[984,35187,17278],{"class":1003},[984,35189,35190],{"class":986,"line":1211},[984,35191,1607],{"class":990},[984,35193,35194],{"class":986,"line":1217},[984,35195,17287],{"class":990},[984,35197,35198],{"class":986,"line":1229},[984,35199,1038],{"class":990},[89,35201,35202,35216],{},[54,35203,35204,17298,35206,17302,35208,17306,35210,17310,35212,17314,35214,17318],{},[150,35205,5964],{},[150,35207,17301],{},[150,35209,17305],{},[150,35211,17309],{},[150,35213,17313],{},[150,35215,17317],{},[54,35217,35218,17298,35220,441,35222,441,35224,441,35226,441,35228,441,35230,441,35232,12647,35234,17347],{},[150,35219,6390],{},[150,35221,17325],{},[150,35223,17328],{},[150,35225,17331],{},[150,35227,17334],{},[150,35229,17337],{},[150,35231,17340],{},[150,35233,17343],{},[150,35235,17346],{},[26,35237,918],{"id":918},[11,35239,17352,35240,17355],{},[18,35241,913],{"href":2036},[11,35243,35244],{},[150,35245,975],{},[866,35247,35248],{"className":978,"code":1759,"language":980,"meta":760,"style":760},[150,35249,35250,35254,35264,35274,35284,35290,35294,35302,35306],{"__ignoreMap":760},[984,35251,35252],{"class":986,"line":987},[984,35253,991],{"class":990},[984,35255,35256,35258,35260,35262],{"class":986,"line":761},[984,35257,997],{"class":996},[984,35259,1000],{"class":990},[984,35261,1004],{"class":1003},[984,35263,1007],{"class":990},[984,35265,35266,35268,35270,35272],{"class":986,"line":772},[984,35267,1012],{"class":996},[984,35269,1015],{"class":990},[984,35271,1018],{"class":996},[984,35273,1021],{"class":990},[984,35275,35276,35278,35280,35282],{"class":986,"line":1024},[984,35277,1027],{"class":996},[984,35279,1015],{"class":990},[984,35281,1794],{"class":1003},[984,35283,1021],{"class":990},[984,35285,35286,35288],{"class":986,"line":1035},[984,35287,1521],{"class":996},[984,35289,1803],{"class":990},[984,35291,35292],{"class":986,"line":1098},[984,35293,1529],{"class":990},[984,35295,35296,35298,35300],{"class":986,"line":1111},[984,35297,1220],{"class":996},[984,35299,1015],{"class":990},[984,35301,1678],{"class":996},[984,35303,35304],{"class":986,"line":1124},[984,35305,1607],{"class":990},[984,35307,35308],{"class":986,"line":1137},[984,35309,1038],{"class":990},[89,35311,35312,35316],{},[54,35313,35314,1830],{},[150,35315,848],{},[54,35317,35318,14325],{},[150,35319,14141],{},[11,35321,35322],{},[150,35323,1043],{},[866,35325,35326],{"className":978,"code":24495,"language":980,"meta":760,"style":760},[150,35327,35328,35332,35342,35352,35358,35362,35372,35382,35392,35402,35412,35422,35432,35438,35448,35458,35468,35478,35486,35490,35500,35510,35520,35528,35532],{"__ignoreMap":760},[984,35329,35330],{"class":986,"line":987},[984,35331,991],{"class":990},[984,35333,35334,35336,35338,35340],{"class":986,"line":761},[984,35335,1012],{"class":996},[984,35337,1015],{"class":990},[984,35339,1062],{"class":996},[984,35341,1021],{"class":990},[984,35343,35344,35346,35348,35350],{"class":986,"line":772},[984,35345,997],{"class":996},[984,35347,1015],{"class":990},[984,35349,1004],{"class":1003},[984,35351,1021],{"class":990},[984,35353,35354,35356],{"class":986,"line":1024},[984,35355,1724],{"class":996},[984,35357,1665],{"class":990},[984,35359,35360],{"class":986,"line":1035},[984,35361,1529],{"class":990},[984,35363,35364,35366,35368,35370],{"class":986,"line":1098},[984,35365,1220],{"class":996},[984,35367,1015],{"class":990},[984,35369,1345],{"class":996},[984,35371,1021],{"class":990},[984,35373,35374,35376,35378,35380],{"class":986,"line":1111},[984,35375,1888],{"class":996},[984,35377,1015],{"class":990},[984,35379,1362],{"class":996},[984,35381,1021],{"class":990},[984,35383,35384,35386,35388,35390],{"class":986,"line":1124},[984,35385,1899],{"class":996},[984,35387,1015],{"class":990},[984,35389,1374],{"class":1003},[984,35391,1021],{"class":990},[984,35393,35394,35396,35398,35400],{"class":986,"line":1137},[984,35395,1910],{"class":996},[984,35397,1015],{"class":990},[984,35399,1345],{"class":996},[984,35401,1021],{"class":990},[984,35403,35404,35406,35408,35410],{"class":986,"line":1150},[984,35405,1921],{"class":996},[984,35407,1015],{"class":990},[984,35409,1926],{"class":996},[984,35411,1021],{"class":990},[984,35413,35414,35416,35418,35420],{"class":986,"line":1163},[984,35415,1933],{"class":996},[984,35417,1015],{"class":990},[984,35419,24590],{"class":1003},[984,35421,1021],{"class":990},[984,35423,35424,35426,35428,35430],{"class":986,"line":1176},[984,35425,24597],{"class":996},[984,35427,1015],{"class":990},[984,35429,2682],{"class":996},[984,35431,1021],{"class":990},[984,35433,35434,35436],{"class":986,"line":1189},[984,35435,24608],{"class":996},[984,35437,1083],{"class":990},[984,35439,35440,35442,35444,35446],{"class":986,"line":1202},[984,35441,24615],{"class":996},[984,35443,1015],{"class":990},[984,35445,24620],{"class":1003},[984,35447,1021],{"class":990},[984,35449,35450,35452,35454,35456],{"class":986,"line":1211},[984,35451,24627],{"class":996},[984,35453,1015],{"class":990},[984,35455,24632],{"class":1003},[984,35457,1021],{"class":990},[984,35459,35460,35462,35464,35466],{"class":986,"line":1217},[984,35461,24639],{"class":996},[984,35463,1015],{"class":990},[984,35465,24644],{"class":1003},[984,35467,1021],{"class":990},[984,35469,35470,35472,35474,35476],{"class":986,"line":1229},[984,35471,24651],{"class":996},[984,35473,1015],{"class":990},[984,35475,24656],{"class":1003},[984,35477,1021],{"class":990},[984,35479,35480,35482,35484],{"class":986,"line":1241},[984,35481,24663],{"class":996},[984,35483,1015],{"class":990},[984,35485,24668],{"class":1003},[984,35487,35488],{"class":986,"line":1254},[984,35489,15254],{"class":990},[984,35491,35492,35494,35496,35498],{"class":986,"line":1266},[984,35493,24677],{"class":996},[984,35495,1015],{"class":990},[984,35497,2682],{"class":996},[984,35499,1021],{"class":990},[984,35501,35502,35504,35506,35508],{"class":986,"line":1279},[984,35503,24688],{"class":996},[984,35505,1015],{"class":990},[984,35507,2682],{"class":996},[984,35509,1021],{"class":990},[984,35511,35512,35514,35516,35518],{"class":986,"line":1291},[984,35513,1945],{"class":996},[984,35515,1015],{"class":990},[984,35517,1950],{"class":1003},[984,35519,1021],{"class":990},[984,35521,35522,35524,35526],{"class":986,"line":1304},[984,35523,1957],{"class":996},[984,35525,1015],{"class":990},[984,35527,1962],{"class":996},[984,35529,35530],{"class":986,"line":1316},[984,35531,1607],{"class":990},[984,35533,35534],{"class":986,"line":1327},[984,35535,1038],{"class":990},[11,35537,1973,35538,385],{},[18,35539,1977],{"href":13823},[89,35541,35542,35546,35550,35564,35568,35572,35578,35582,35588,35592],{},[54,35543,35544,1984],{},[150,35545,848],{},[54,35547,35548,1990],{},[150,35549,1989],{},[54,35551,35552,1996,35554,2000,35556,2004,35558,2008,35560,2012,35562,2015],{},[150,35553,1995],{},[150,35555,1999],{},[111,35557,2003],{},[150,35559,2007],{},[111,35561,2011],{},[150,35563,2007],{},[54,35565,35566,2021],{},[150,35567,2020],{},[54,35569,35570,2027],{},[150,35571,2026],{},[54,35573,35574,2033,35576,2037],{},[150,35575,2032],{},[18,35577,913],{"href":2036},[54,35579,35580,24767],{},[150,35581,19523],{},[54,35583,35584,24772,35586,24775],{},[150,35585,19538],{},[150,35587,19523],{},[54,35589,35590,24780],{},[150,35591,19526],{},[54,35593,35594,24785,35596],{},[150,35595,19535],{},[18,35597,24790],{"href":24788,"rel":35598},[22],[26,35600,12350],{"id":12350},[11,35602,17608],{},[11,35604,35605],{},[150,35606,975],{},[866,35608,35609],{"className":978,"code":17615,"language":980,"meta":760,"style":760},[150,35610,35611,35615,35625,35635,35643],{"__ignoreMap":760},[984,35612,35613],{"class":986,"line":987},[984,35614,991],{"class":990},[984,35616,35617,35619,35621,35623],{"class":986,"line":761},[984,35618,997],{"class":996},[984,35620,1000],{"class":990},[984,35622,1004],{"class":1003},[984,35624,1007],{"class":990},[984,35626,35627,35629,35631,35633],{"class":986,"line":772},[984,35628,1012],{"class":996},[984,35630,1015],{"class":990},[984,35632,1503],{"class":996},[984,35634,1021],{"class":990},[984,35636,35637,35639,35641],{"class":986,"line":1024},[984,35638,1027],{"class":996},[984,35640,1000],{"class":990},[984,35642,17650],{"class":1003},[984,35644,35645],{"class":986,"line":1035},[984,35646,1038],{"class":990},[11,35648,35649],{},[150,35650,1043],{},[866,35652,35653],{"className":978,"code":17661,"language":980,"meta":760,"style":760},[150,35654,35655,35659,35669,35679,35687],{"__ignoreMap":760},[984,35656,35657],{"class":986,"line":987},[984,35658,991],{"class":990},[984,35660,35661,35663,35665,35667],{"class":986,"line":761},[984,35662,997],{"class":996},[984,35664,1000],{"class":990},[984,35666,1004],{"class":1003},[984,35668,1007],{"class":990},[984,35670,35671,35673,35675,35677],{"class":986,"line":772},[984,35672,1012],{"class":996},[984,35674,1015],{"class":990},[984,35676,1503],{"class":996},[984,35678,1021],{"class":990},[984,35680,35681,35683,35685],{"class":986,"line":1024},[984,35682,1724],{"class":996},[984,35684,1000],{"class":990},[984,35686,1741],{"class":1003},[984,35688,35689],{"class":986,"line":1035},[984,35690,1038],{"class":990},[26,35692,12358],{"id":12358},[11,35694,17704,35695,385],{},[150,35696,2150],{},[11,35698,35699],{},[150,35700,975],{},[866,35702,35703],{"className":978,"code":17713,"language":980,"meta":760,"style":760},[150,35704,35705,35709,35719,35729,35739,35745,35749,35757,35761],{"__ignoreMap":760},[984,35706,35707],{"class":986,"line":987},[984,35708,991],{"class":990},[984,35710,35711,35713,35715,35717],{"class":986,"line":761},[984,35712,997],{"class":996},[984,35714,1000],{"class":990},[984,35716,1004],{"class":1003},[984,35718,1007],{"class":990},[984,35720,35721,35723,35725,35727],{"class":986,"line":772},[984,35722,1012],{"class":996},[984,35724,1015],{"class":990},[984,35726,2431],{"class":996},[984,35728,1021],{"class":990},[984,35730,35731,35733,35735,35737],{"class":986,"line":1024},[984,35732,1027],{"class":996},[984,35734,1015],{"class":990},[984,35736,17748],{"class":1003},[984,35738,1007],{"class":990},[984,35740,35741,35743],{"class":986,"line":1035},[984,35742,1521],{"class":996},[984,35744,1524],{"class":990},[984,35746,35747],{"class":986,"line":1098},[984,35748,1529],{"class":990},[984,35750,35751,35753,35755],{"class":986,"line":1111},[984,35752,1735],{"class":996},[984,35754,1738],{"class":990},[984,35756,14622],{"class":1003},[984,35758,35759],{"class":986,"line":1124},[984,35760,1607],{"class":990},[984,35762,35763],{"class":986,"line":1137},[984,35764,1038],{"class":990},[11,35766,35767],{},[150,35768,1043],{},[866,35770,35771],{"className":978,"code":17783,"language":980,"meta":760,"style":760},[150,35772,35773,35777,35787,35797,35803,35807,35815,35819],{"__ignoreMap":760},[984,35774,35775],{"class":986,"line":987},[984,35776,991],{"class":990},[984,35778,35779,35781,35783,35785],{"class":986,"line":761},[984,35780,997],{"class":996},[984,35782,1000],{"class":990},[984,35784,1004],{"class":1003},[984,35786,1007],{"class":990},[984,35788,35789,35791,35793,35795],{"class":986,"line":772},[984,35790,1012],{"class":996},[984,35792,1015],{"class":990},[984,35794,2431],{"class":996},[984,35796,1021],{"class":990},[984,35798,35799,35801],{"class":986,"line":1024},[984,35800,1724],{"class":996},[984,35802,1665],{"class":990},[984,35804,35805],{"class":986,"line":1035},[984,35806,1529],{"class":990},[984,35808,35809,35811,35813],{"class":986,"line":1098},[984,35810,17824],{"class":996},[984,35812,1015],{"class":990},[984,35814,17829],{"class":1003},[984,35816,35817],{"class":986,"line":1111},[984,35818,1607],{"class":990},[984,35820,35821],{"class":986,"line":1124},[984,35822,1038],{"class":990},[89,35824,35825],{},[54,35826,35827,17845,35829,17848],{},[150,35828,17844],{},[18,35830,12366],{"href":12365},[11,35832,35833,17853],{},[94,35834,16086],{},[26,35836,12366],{"id":12366},[11,35838,17858,35839,385],{},[150,35840,17844],{},[11,35842,35843],{},[150,35844,975],{},[866,35846,35847],{"className":978,"code":17867,"language":980,"meta":760,"style":760},[150,35848,35849,35853,35863,35873,35883,35889,35893,35901,35905],{"__ignoreMap":760},[984,35850,35851],{"class":986,"line":987},[984,35852,991],{"class":990},[984,35854,35855,35857,35859,35861],{"class":986,"line":761},[984,35856,997],{"class":996},[984,35858,1000],{"class":990},[984,35860,1004],{"class":1003},[984,35862,1007],{"class":990},[984,35864,35865,35867,35869,35871],{"class":986,"line":772},[984,35866,1012],{"class":996},[984,35868,1015],{"class":990},[984,35870,2431],{"class":996},[984,35872,1021],{"class":990},[984,35874,35875,35877,35879,35881],{"class":986,"line":1024},[984,35876,1027],{"class":996},[984,35878,1000],{"class":990},[984,35880,17902],{"class":1003},[984,35882,1007],{"class":990},[984,35884,35885,35887],{"class":986,"line":1035},[984,35886,1521],{"class":996},[984,35888,1524],{"class":990},[984,35890,35891],{"class":986,"line":1098},[984,35892,1529],{"class":990},[984,35894,35895,35897,35899],{"class":986,"line":1111},[984,35896,17824],{"class":996},[984,35898,1738],{"class":990},[984,35900,17829],{"class":1003},[984,35902,35903],{"class":986,"line":1124},[984,35904,1607],{"class":990},[984,35906,35907],{"class":986,"line":1137},[984,35908,1038],{"class":990},[11,35910,35911],{},[150,35912,1043],{},[866,35914,35915],{"className":978,"code":17937,"language":980,"meta":760,"style":760},[150,35916,35917,35921,35931,35941,35947,35951,35961,35971,35981,35991,36001,36009,36013],{"__ignoreMap":760},[984,35918,35919],{"class":986,"line":987},[984,35920,991],{"class":990},[984,35922,35923,35925,35927,35929],{"class":986,"line":761},[984,35924,997],{"class":996},[984,35926,1000],{"class":990},[984,35928,1004],{"class":1003},[984,35930,1007],{"class":990},[984,35932,35933,35935,35937,35939],{"class":986,"line":772},[984,35934,1012],{"class":996},[984,35936,1015],{"class":990},[984,35938,2431],{"class":996},[984,35940,1021],{"class":990},[984,35942,35943,35945],{"class":986,"line":1024},[984,35944,1724],{"class":996},[984,35946,1665],{"class":990},[984,35948,35949],{"class":986,"line":1035},[984,35950,1529],{"class":990},[984,35952,35953,35955,35957,35959],{"class":986,"line":1098},[984,35954,5904],{"class":996},[984,35956,1015],{"class":990},[984,35958,2682],{"class":996},[984,35960,1021],{"class":990},[984,35962,35963,35965,35967,35969],{"class":986,"line":1111},[984,35964,1220],{"class":996},[984,35966,1015],{"class":990},[984,35968,1171],{"class":996},[984,35970,1021],{"class":990},[984,35972,35973,35975,35977,35979],{"class":986,"line":1124},[984,35974,15017],{"class":996},[984,35976,18000],{"class":990},[984,35978,18003],{"class":1003},[984,35980,1021],{"class":990},[984,35982,35983,35985,35987,35989],{"class":986,"line":1137},[984,35984,15006],{"class":996},[984,35986,1015],{"class":990},[984,35988,18014],{"class":1003},[984,35990,1021],{"class":990},[984,35992,35993,35995,35997,35999],{"class":986,"line":1150},[984,35994,2459],{"class":996},[984,35996,18000],{"class":990},[984,35998,18025],{"class":996},[984,36000,1021],{"class":990},[984,36002,36003,36005,36007],{"class":986,"line":1163},[984,36004,14994],{"class":996},[984,36006,18000],{"class":990},[984,36008,18036],{"class":1003},[984,36010,36011],{"class":986,"line":1176},[984,36012,1607],{"class":990},[984,36014,36015],{"class":986,"line":1189},[984,36016,1038],{"class":990},[89,36018,36019,36023,36027,36031,36035,36039],{},[54,36020,36021,18052],{},[150,36022,18051],{},[54,36024,36025,18058],{},[150,36026,18057],{},[54,36028,36029,18064],{},[150,36030,18063],{},[54,36032,36033,18069],{},[150,36034,2396],{},[54,36036,36037,18074],{},[150,36038,848],{},[54,36040,36041,18079],{},[150,36042,6551],{},[11,36044,36045,18084],{},[94,36046,16086],{},[26,36048,12395],{"id":12395},[11,36050,18089],{},[11,36052,18092],{},[11,36054,36055],{},[150,36056,975],{},[866,36058,36059],{"className":978,"code":18099,"language":980,"meta":760,"style":760},[150,36060,36061,36065,36075,36085,36095,36101,36105,36123,36131,36135],{"__ignoreMap":760},[984,36062,36063],{"class":986,"line":987},[984,36064,991],{"class":990},[984,36066,36067,36069,36071,36073],{"class":986,"line":761},[984,36068,997],{"class":996},[984,36070,1015],{"class":990},[984,36072,1004],{"class":1003},[984,36074,1007],{"class":990},[984,36076,36077,36079,36081,36083],{"class":986,"line":772},[984,36078,1012],{"class":996},[984,36080,1015],{"class":990},[984,36082,1503],{"class":996},[984,36084,1021],{"class":990},[984,36086,36087,36089,36091,36093],{"class":986,"line":1024},[984,36088,1027],{"class":996},[984,36090,1015],{"class":990},[984,36092,18134],{"class":1003},[984,36094,1007],{"class":990},[984,36096,36097,36099],{"class":986,"line":1035},[984,36098,1521],{"class":996},[984,36100,1524],{"class":990},[984,36102,36103],{"class":986,"line":1098},[984,36104,1529],{"class":990},[984,36106,36107,36109,36111,36113,36115,36117,36119,36121],{"class":986,"line":1111},[984,36108,18151],{"class":996},[984,36110,18154],{"class":990},[984,36112,1158],{"class":996},[984,36114,441],{"class":990},[984,36116,1158],{"class":996},[984,36118,441],{"class":990},[984,36120,1158],{"class":996},[984,36122,13917],{"class":990},[984,36124,36125,36127,36129],{"class":986,"line":1124},[984,36126,18171],{"class":996},[984,36128,1015],{"class":990},[984,36130,18176],{"class":1003},[984,36132,36133],{"class":986,"line":1137},[984,36134,1607],{"class":990},[984,36136,36137],{"class":986,"line":1150},[984,36138,1038],{"class":990},[11,36140,18187],{},[11,36142,36143],{},[150,36144,975],{},[866,36146,36147],{"className":978,"code":18194,"language":980,"meta":760,"style":760},[150,36148,36149,36153,36163,36173,36183,36189,36193,36203,36211,36215],{"__ignoreMap":760},[984,36150,36151],{"class":986,"line":987},[984,36152,991],{"class":990},[984,36154,36155,36157,36159,36161],{"class":986,"line":761},[984,36156,997],{"class":996},[984,36158,1015],{"class":990},[984,36160,1004],{"class":1003},[984,36162,1007],{"class":990},[984,36164,36165,36167,36169,36171],{"class":986,"line":772},[984,36166,1012],{"class":996},[984,36168,1015],{"class":990},[984,36170,1503],{"class":996},[984,36172,1021],{"class":990},[984,36174,36175,36177,36179,36181],{"class":986,"line":1024},[984,36176,1027],{"class":996},[984,36178,1015],{"class":990},[984,36180,18134],{"class":1003},[984,36182,1007],{"class":990},[984,36184,36185,36187],{"class":986,"line":1035},[984,36186,1521],{"class":996},[984,36188,1524],{"class":990},[984,36190,36191],{"class":986,"line":1098},[984,36192,1529],{"class":990},[984,36194,36195,36197,36199,36201],{"class":986,"line":1111},[984,36196,18245],{"class":996},[984,36198,1015],{"class":990},[984,36200,18250],{"class":1003},[984,36202,1021],{"class":990},[984,36204,36205,36207,36209],{"class":986,"line":1124},[984,36206,18171],{"class":996},[984,36208,1015],{"class":990},[984,36210,18176],{"class":1003},[984,36212,36213],{"class":986,"line":1137},[984,36214,1607],{"class":990},[984,36216,36217],{"class":986,"line":1150},[984,36218,1038],{"class":990},[89,36220,36221,36225,36229,36233],{},[54,36222,36223,18276],{},[150,36224,18275],{},[54,36226,36227,18282],{},[150,36228,18281],{},[54,36230,36231,18288],{},[150,36232,18287],{},[54,36234,36235,18294,36237,18297,36239,18301,36241,18304,36243,385],{},[150,36236,18293],{},[150,36238,2682],{},[150,36240,18300],{},[18,36242,12406],{"href":12405},[150,36244,2682],{},[11,36246,36247,18311,36249,385],{},[150,36248,18275],{},[150,36250,18281],{},[11,36252,36253],{},[150,36254,1043],{},[866,36256,36257],{"className":978,"code":18320,"language":980,"meta":760,"style":760},[150,36258,36259,36263,36273,36283,36289,36337,36363,36381,36385],{"__ignoreMap":760},[984,36260,36261],{"class":986,"line":987},[984,36262,991],{"class":990},[984,36264,36265,36267,36269,36271],{"class":986,"line":761},[984,36266,1057],{"class":996},[984,36268,1015],{"class":990},[984,36270,1062],{"class":996},[984,36272,1021],{"class":990},[984,36274,36275,36277,36279,36281],{"class":986,"line":772},[984,36276,1069],{"class":996},[984,36278,1015],{"class":990},[984,36280,1004],{"class":1003},[984,36282,1021],{"class":990},[984,36284,36285,36287],{"class":986,"line":1024},[984,36286,1080],{"class":996},[984,36288,1083],{"class":990},[984,36290,36291,36293,36295,36297,36299,36301,36303,36305,36307,36309,36311,36313,36315,36317,36319,36321,36323,36325,36327,36329,36331,36333,36335],{"class":986,"line":1035},[984,36292,18357],{"class":996},[984,36294,1015],{"class":990},[984,36296,18362],{"class":1003},[984,36298,18365],{"class":996},[984,36300,18368],{"class":1003},[984,36302,18365],{"class":996},[984,36304,18373],{"class":1003},[984,36306,18365],{"class":996},[984,36308,18378],{"class":1003},[984,36310,18365],{"class":996},[984,36312,1015],{"class":1003},[984,36314,18365],{"class":996},[984,36316,18387],{"class":1003},[984,36318,18365],{"class":996},[984,36320,11185],{"class":1003},[984,36322,18365],{"class":996},[984,36324,18396],{"class":1003},[984,36326,18365],{"class":996},[984,36328,18401],{"class":1003},[984,36330,18365],{"class":996},[984,36332,18378],{"class":1003},[984,36334,18365],{"class":996},[984,36336,1665],{"class":1003},[984,36338,36339,36341,36343,36345,36347,36349,36351,36353,36355,36357,36359,36361],{"class":986,"line":1098},[984,36340,18414],{"class":996},[984,36342,18417],{"class":1003},[984,36344,18365],{"class":996},[984,36346,11185],{"class":1003},[984,36348,18365],{"class":996},[984,36350,18396],{"class":1003},[984,36352,18365],{"class":996},[984,36354,18430],{"class":1003},[984,36356,18365],{"class":996},[984,36358,18378],{"class":1003},[984,36360,18365],{"class":996},[984,36362,1665],{"class":1003},[984,36364,36365,36367,36369,36371,36373,36375,36377,36379],{"class":986,"line":1111},[984,36366,18414],{"class":996},[984,36368,18445],{"class":1003},[984,36370,18365],{"class":996},[984,36372,11185],{"class":1003},[984,36374,18365],{"class":996},[984,36376,18396],{"class":1003},[984,36378,18365],{"class":996},[984,36380,18458],{"class":1003},[984,36382,36383],{"class":986,"line":1124},[984,36384,1459],{"class":990},[984,36386,36387],{"class":986,"line":1137},[984,36388,1038],{"class":990},[89,36390,36391,36395,36399],{},[54,36392,36393,18473],{},[150,36394,10235],{},[54,36396,36397,18478],{},[150,36398,18300],{},[54,36400,36401,18484,36403],{},[150,36402,18483],{},[18,36404,12406],{"href":12405},[716,36406,18497],{"id":18496},[11,36408,18500],{},[716,36410,18504],{"id":18503},[11,36412,25609,36413,4665,36415,25614],{},[150,36414,18275],{},[150,36416,18281],{},[11,36418,36419],{},[150,36420,975],{},[866,36422,36423],{"className":978,"code":18522,"language":980,"meta":760,"style":760},[150,36424,36425,36429,36439,36449,36459,36465,36475,36483,36487],{"__ignoreMap":760},[984,36426,36427],{"class":986,"line":987},[984,36428,991],{"class":990},[984,36430,36431,36433,36435,36437],{"class":986,"line":761},[984,36432,997],{"class":996},[984,36434,1015],{"class":990},[984,36436,1004],{"class":1003},[984,36438,1021],{"class":990},[984,36440,36441,36443,36445,36447],{"class":986,"line":772},[984,36442,1012],{"class":996},[984,36444,1015],{"class":990},[984,36446,1062],{"class":996},[984,36448,1021],{"class":990},[984,36450,36451,36453,36455,36457],{"class":986,"line":1024},[984,36452,1027],{"class":996},[984,36454,1015],{"class":990},[984,36456,18134],{"class":1003},[984,36458,1021],{"class":990},[984,36460,36461,36463],{"class":986,"line":1035},[984,36462,1521],{"class":996},[984,36464,1083],{"class":990},[984,36466,36467,36469,36471,36473],{"class":986,"line":1098},[984,36468,18245],{"class":996},[984,36470,1015],{"class":990},[984,36472,18573],{"class":1003},[984,36474,1021],{"class":990},[984,36476,36477,36479,36481],{"class":986,"line":1111},[984,36478,18171],{"class":996},[984,36480,1015],{"class":990},[984,36482,18584],{"class":1003},[984,36484,36485],{"class":986,"line":1124},[984,36486,1607],{"class":990},[984,36488,36489],{"class":986,"line":1137},[984,36490,1038],{"class":990},[11,36492,36493],{},[150,36494,1043],{},[866,36496,36497],{"className":978,"code":18599,"language":980,"meta":760,"style":760},[150,36498,36499,36503,36513,36523,36529,36553,36557],{"__ignoreMap":760},[984,36500,36501],{"class":986,"line":987},[984,36502,991],{"class":990},[984,36504,36505,36507,36509,36511],{"class":986,"line":761},[984,36506,1057],{"class":996},[984,36508,1015],{"class":990},[984,36510,1062],{"class":996},[984,36512,1021],{"class":990},[984,36514,36515,36517,36519,36521],{"class":986,"line":772},[984,36516,1069],{"class":996},[984,36518,1015],{"class":990},[984,36520,1004],{"class":1003},[984,36522,1021],{"class":990},[984,36524,36525,36527],{"class":986,"line":1024},[984,36526,1080],{"class":996},[984,36528,1083],{"class":990},[984,36530,36531,36533,36535,36537,36539,36541,36543,36545,36547,36549,36551],{"class":986,"line":1035},[984,36532,18357],{"class":996},[984,36534,1015],{"class":990},[984,36536,18362],{"class":1003},[984,36538,18365],{"class":996},[984,36540,9770],{"class":1003},[984,36542,18365],{"class":996},[984,36544,1015],{"class":1003},[984,36546,18365],{"class":996},[984,36548,18652],{"class":1003},[984,36550,18365],{"class":996},[984,36552,18657],{"class":1003},[984,36554,36555],{"class":986,"line":1098},[984,36556,1459],{"class":990},[984,36558,36559],{"class":986,"line":1111},[984,36560,1038],{"class":990},[716,36562,25762],{"id":25761},[11,36564,25765,36565,25768,36567,25772],{},[150,36566,12395],{},[150,36568,25771],{},[89,36570,36571,36575],{},[54,36572,36573,25779],{},[150,36574,19547],{},[54,36576,36577,25784,36579,25787,36581,25790],{},[150,36578,19550],{},[150,36580,12395],{},[150,36582,19550],{},[26,36584,12406],{"id":12406},[11,36586,18670],{},[11,36588,36589],{},[150,36590,975],{},[866,36592,36593],{"className":978,"code":18677,"language":980,"meta":760,"style":760},[150,36594,36595,36599,36609,36619,36629,36635,36653,36657],{"__ignoreMap":760},[984,36596,36597],{"class":986,"line":987},[984,36598,991],{"class":990},[984,36600,36601,36603,36605,36607],{"class":986,"line":761},[984,36602,997],{"class":996},[984,36604,1015],{"class":990},[984,36606,1004],{"class":1003},[984,36608,1021],{"class":990},[984,36610,36611,36613,36615,36617],{"class":986,"line":772},[984,36612,1012],{"class":996},[984,36614,1015],{"class":990},[984,36616,1062],{"class":996},[984,36618,1021],{"class":990},[984,36620,36621,36623,36625,36627],{"class":986,"line":1024},[984,36622,1027],{"class":996},[984,36624,1015],{"class":990},[984,36626,18712],{"class":1003},[984,36628,1021],{"class":990},[984,36630,36631,36633],{"class":986,"line":1035},[984,36632,1521],{"class":996},[984,36634,1083],{"class":990},[984,36636,36637,36639,36641,36643,36645,36647,36649,36651],{"class":986,"line":1098},[984,36638,18725],{"class":996},[984,36640,18154],{"class":990},[984,36642,1158],{"class":996},[984,36644,441],{"class":990},[984,36646,1158],{"class":996},[984,36648,441],{"class":990},[984,36650,1158],{"class":996},[984,36652,7675],{"class":990},[984,36654,36655],{"class":986,"line":1111},[984,36656,1607],{"class":990},[984,36658,36659],{"class":986,"line":1124},[984,36660,1038],{"class":990},[89,36662,36663],{},[54,36664,36665,18754,36667,18757],{},[150,36666,9736],{},[18,36668,12395],{"href":12394},[11,36670,36671],{},[150,36672,1043],{},[866,36674,36675],{"className":978,"code":18764,"language":980,"meta":760,"style":760},[150,36676,36677,36681,36691,36701,36707,36715,36719],{"__ignoreMap":760},[984,36678,36679],{"class":986,"line":987},[984,36680,991],{"class":990},[984,36682,36683,36685,36687,36689],{"class":986,"line":761},[984,36684,1057],{"class":996},[984,36686,1015],{"class":990},[984,36688,1062],{"class":996},[984,36690,1021],{"class":990},[984,36692,36693,36695,36697,36699],{"class":986,"line":772},[984,36694,1069],{"class":996},[984,36696,1015],{"class":990},[984,36698,1004],{"class":1003},[984,36700,1021],{"class":990},[984,36702,36703,36705],{"class":986,"line":1024},[984,36704,1080],{"class":996},[984,36706,1083],{"class":990},[984,36708,36709,36711,36713],{"class":986,"line":1035},[984,36710,18801],{"class":996},[984,36712,1015],{"class":990},[984,36714,18806],{"class":1003},[984,36716,36717],{"class":986,"line":1098},[984,36718,1459],{"class":990},[984,36720,36721],{"class":986,"line":1111},[984,36722,1038],{"class":990},[89,36724,36725],{},[54,36726,36727,18821],{},[150,36728,18300],{},[26,36730,923],{"id":923},[11,36732,18826,36733],{},[150,36734,2396],{},[11,36736,36737],{},[150,36738,975],{},[866,36740,36741],{"className":978,"code":2406,"language":980,"meta":760,"style":760},[150,36742,36743,36747,36757,36767,36777,36783,36787,36797,36807,36817,36825,36829],{"__ignoreMap":760},[984,36744,36745],{"class":986,"line":987},[984,36746,991],{"class":990},[984,36748,36749,36751,36753,36755],{"class":986,"line":761},[984,36750,997],{"class":996},[984,36752,1000],{"class":990},[984,36754,1004],{"class":1003},[984,36756,1007],{"class":990},[984,36758,36759,36761,36763,36765],{"class":986,"line":772},[984,36760,1012],{"class":996},[984,36762,1015],{"class":990},[984,36764,2431],{"class":996},[984,36766,1021],{"class":990},[984,36768,36769,36771,36773,36775],{"class":986,"line":1024},[984,36770,1027],{"class":996},[984,36772,1000],{"class":990},[984,36774,2442],{"class":1003},[984,36776,1007],{"class":990},[984,36778,36779,36781],{"class":986,"line":1035},[984,36780,1521],{"class":996},[984,36782,1524],{"class":990},[984,36784,36785],{"class":986,"line":1098},[984,36786,1529],{"class":990},[984,36788,36789,36791,36793,36795],{"class":986,"line":1111},[984,36790,2459],{"class":996},[984,36792,1738],{"class":990},[984,36794,2464],{"class":996},[984,36796,1021],{"class":990},[984,36798,36799,36801,36803,36805],{"class":986,"line":1124},[984,36800,1220],{"class":996},[984,36802,1015],{"class":990},[984,36804,1503],{"class":996},[984,36806,1021],{"class":990},[984,36808,36809,36811,36813,36815],{"class":986,"line":1137},[984,36810,1546],{"class":996},[984,36812,1015],{"class":990},[984,36814,2485],{"class":996},[984,36816,1021],{"class":990},[984,36818,36819,36821,36823],{"class":986,"line":1150},[984,36820,2492],{"class":996},[984,36822,1015],{"class":990},[984,36824,2497],{"class":996},[984,36826,36827],{"class":986,"line":1163},[984,36828,1607],{"class":990},[984,36830,36831],{"class":986,"line":1176},[984,36832,1038],{"class":990},[11,36834,36835],{},[150,36836,1043],{},[866,36838,36839],{"className":978,"code":2512,"language":980,"meta":760,"style":760},[150,36840,36841,36845,36855,36865,36871,36875,36885,36895,36905,36915,36925,36933,36937],{"__ignoreMap":760},[984,36842,36843],{"class":986,"line":987},[984,36844,991],{"class":990},[984,36846,36847,36849,36851,36853],{"class":986,"line":761},[984,36848,997],{"class":996},[984,36850,1000],{"class":990},[984,36852,1004],{"class":1003},[984,36854,1007],{"class":990},[984,36856,36857,36859,36861,36863],{"class":986,"line":772},[984,36858,1012],{"class":996},[984,36860,1015],{"class":990},[984,36862,2431],{"class":996},[984,36864,1021],{"class":990},[984,36866,36867,36869],{"class":986,"line":1024},[984,36868,1724],{"class":996},[984,36870,1524],{"class":990},[984,36872,36873],{"class":986,"line":1035},[984,36874,1529],{"class":990},[984,36876,36877,36879,36881,36883],{"class":986,"line":1098},[984,36878,2553],{"class":996},[984,36880,1015],{"class":990},[984,36882,2558],{"class":996},[984,36884,1021],{"class":990},[984,36886,36887,36889,36891,36893],{"class":986,"line":1111},[984,36888,2565],{"class":996},[984,36890,1015],{"class":990},[984,36892,2570],{"class":1003},[984,36894,1021],{"class":990},[984,36896,36897,36899,36901,36903],{"class":986,"line":1124},[984,36898,2577],{"class":996},[984,36900,1015],{"class":990},[984,36902,2558],{"class":996},[984,36904,1021],{"class":990},[984,36906,36907,36909,36911,36913],{"class":986,"line":1137},[984,36908,2588],{"class":996},[984,36910,1015],{"class":990},[984,36912,2570],{"class":1003},[984,36914,1021],{"class":990},[984,36916,36917,36919,36921,36923],{"class":986,"line":1150},[984,36918,2599],{"class":996},[984,36920,1015],{"class":990},[984,36922,2604],{"class":996},[984,36924,1021],{"class":990},[984,36926,36927,36929,36931],{"class":986,"line":1163},[984,36928,2611],{"class":996},[984,36930,1015],{"class":990},[984,36932,2616],{"class":1003},[984,36934,36935],{"class":986,"line":1176},[984,36936,1607],{"class":990},[984,36938,36939],{"class":986,"line":1189},[984,36940,1038],{"class":990},[11,36942,2627],{},[89,36944,36945,36949,36953,36957,36963,36973,36977],{},[54,36946,36947,2634],{},[150,36948,2396],{},[54,36950,36951,19047],{},[150,36952,848],{},[54,36954,36955,2644],{},[150,36956,2139],{},[54,36958,36959,2650,36961],{},[150,36960,2649],{},[150,36962,848],{},[54,36964,36965,2658,36967,163,36969,2663,36971,2667],{},[150,36966,2657],{},[150,36968,2649],{},[150,36970,2657],{},[150,36972,2666],{},[54,36974,36975,2673],{},[150,36976,2672],{},[54,36978,36979,2679,36981,2683],{},[150,36980,2678],{},[150,36982,2682],{},[26,36984,12416],{"id":12416},[11,36986,19082],{},[11,36988,36989],{},[150,36990,975],{},[866,36992,36993],{"className":978,"code":19089,"language":980,"meta":760,"style":760},[150,36994,36995,36999,37009,37019,37029,37035,37039,37047,37051],{"__ignoreMap":760},[984,36996,36997],{"class":986,"line":987},[984,36998,991],{"class":990},[984,37000,37001,37003,37005,37007],{"class":986,"line":761},[984,37002,997],{"class":996},[984,37004,1015],{"class":990},[984,37006,1004],{"class":1003},[984,37008,1007],{"class":990},[984,37010,37011,37013,37015,37017],{"class":986,"line":772},[984,37012,1012],{"class":996},[984,37014,1015],{"class":990},[984,37016,1503],{"class":996},[984,37018,1021],{"class":990},[984,37020,37021,37023,37025,37027],{"class":986,"line":1024},[984,37022,1027],{"class":996},[984,37024,1015],{"class":990},[984,37026,19124],{"class":1003},[984,37028,1007],{"class":990},[984,37030,37031,37033],{"class":986,"line":1035},[984,37032,1521],{"class":996},[984,37034,1524],{"class":990},[984,37036,37037],{"class":986,"line":1098},[984,37038,1529],{"class":990},[984,37040,37041,37043,37045],{"class":986,"line":1111},[984,37042,15752],{"class":996},[984,37044,1015],{"class":990},[984,37046,19145],{"class":996},[984,37048,37049],{"class":986,"line":1124},[984,37050,1607],{"class":990},[984,37052,37053],{"class":986,"line":1137},[984,37054,1038],{"class":990},[89,37056,37057],{},[54,37058,37059,19160],{},[150,37060,6545],{},[11,37062,37063],{},[150,37064,1043],{},[866,37066,37067],{"className":978,"code":19167,"language":980,"meta":760,"style":760},[150,37068,37069,37073,37083,37093,37099,37103,37113,37123,37133,37143,37153,37163,37173,37183,37193,37203,37211,37215],{"__ignoreMap":760},[984,37070,37071],{"class":986,"line":987},[984,37072,991],{"class":990},[984,37074,37075,37077,37079,37081],{"class":986,"line":761},[984,37076,997],{"class":996},[984,37078,1000],{"class":990},[984,37080,1004],{"class":1003},[984,37082,1007],{"class":990},[984,37084,37085,37087,37089,37091],{"class":986,"line":772},[984,37086,1012],{"class":996},[984,37088,1015],{"class":990},[984,37090,2431],{"class":996},[984,37092,1021],{"class":990},[984,37094,37095,37097],{"class":986,"line":1024},[984,37096,1724],{"class":996},[984,37098,1524],{"class":990},[984,37100,37101],{"class":986,"line":1035},[984,37102,1529],{"class":990},[984,37104,37105,37107,37109,37111],{"class":986,"line":1098},[984,37106,19208],{"class":996},[984,37108,1015],{"class":990},[984,37110,19213],{"class":1003},[984,37112,1021],{"class":990},[984,37114,37115,37117,37119,37121],{"class":986,"line":1111},[984,37116,19220],{"class":996},[984,37118,1015],{"class":990},[984,37120,19225],{"class":1003},[984,37122,1021],{"class":990},[984,37124,37125,37127,37129,37131],{"class":986,"line":1124},[984,37126,19232],{"class":996},[984,37128,1015],{"class":990},[984,37130,19237],{"class":1003},[984,37132,1021],{"class":990},[984,37134,37135,37137,37139,37141],{"class":986,"line":1137},[984,37136,16271],{"class":996},[984,37138,1015],{"class":990},[984,37140,19248],{"class":996},[984,37142,1021],{"class":990},[984,37144,37145,37147,37149,37151],{"class":986,"line":1150},[984,37146,15752],{"class":996},[984,37148,1015],{"class":990},[984,37150,4996],{"class":996},[984,37152,1021],{"class":990},[984,37154,37155,37157,37159,37161],{"class":986,"line":1163},[984,37156,19265],{"class":996},[984,37158,1015],{"class":990},[984,37160,19270],{"class":1003},[984,37162,1021],{"class":990},[984,37164,37165,37167,37169,37171],{"class":986,"line":1176},[984,37166,19277],{"class":996},[984,37168,1015],{"class":990},[984,37170,19282],{"class":996},[984,37172,1021],{"class":990},[984,37174,37175,37177,37179,37181],{"class":986,"line":1189},[984,37176,19289],{"class":996},[984,37178,1015],{"class":990},[984,37180,19294],{"class":1003},[984,37182,1021],{"class":990},[984,37184,37185,37187,37189,37191],{"class":986,"line":1202},[984,37186,19301],{"class":996},[984,37188,1015],{"class":990},[984,37190,19306],{"class":1003},[984,37192,1021],{"class":990},[984,37194,37195,37197,37199,37201],{"class":986,"line":1211},[984,37196,19313],{"class":996},[984,37198,1015],{"class":990},[984,37200,19318],{"class":1003},[984,37202,1021],{"class":990},[984,37204,37205,37207,37209],{"class":986,"line":1217},[984,37206,19325],{"class":996},[984,37208,1015],{"class":990},[984,37210,19330],{"class":996},[984,37212,37213],{"class":986,"line":1229},[984,37214,1607],{"class":990},[984,37216,37217],{"class":986,"line":1241},[984,37218,1038],{"class":990},[89,37220,37221,37225,37229,37233,37237,37241,37245,37249,37253,37257,37261],{},[54,37222,37223,19346],{},[150,37224,19345],{},[54,37226,37227,19352],{},[150,37228,19351],{},[54,37230,37231,19357],{},[150,37232,8363],{},[54,37234,37235,19362],{},[150,37236,10335],{},[54,37238,37239,19367],{},[150,37240,6545],{},[54,37242,37243,19372],{},[150,37244,133],{},[54,37246,37247,19378],{},[150,37248,19377],{},[54,37250,37251,19384],{},[150,37252,19383],{},[54,37254,37255,19390],{},[150,37256,19389],{},[54,37258,37259,19396],{},[150,37260,19395],{},[54,37262,37263,19402],{},[150,37264,19401],{},[26,37266,19484],{"id":19484},[11,37268,26481],{},[11,37270,37271],{},[150,37272,975],{},[866,37274,37275],{"className":978,"code":26488,"language":980,"meta":760,"style":760},[150,37276,37277,37281,37291,37301,37309],{"__ignoreMap":760},[984,37278,37279],{"class":986,"line":987},[984,37280,991],{"class":990},[984,37282,37283,37285,37287,37289],{"class":986,"line":761},[984,37284,997],{"class":996},[984,37286,1015],{"class":990},[984,37288,1004],{"class":1003},[984,37290,1007],{"class":990},[984,37292,37293,37295,37297,37299],{"class":986,"line":772},[984,37294,1012],{"class":996},[984,37296,1015],{"class":990},[984,37298,1345],{"class":996},[984,37300,1021],{"class":990},[984,37302,37303,37305,37307],{"class":986,"line":1024},[984,37304,1027],{"class":996},[984,37306,1015],{"class":990},[984,37308,26523],{"class":1003},[984,37310,37311],{"class":986,"line":1035},[984,37312,1038],{"class":990},[11,37314,37315],{},[150,37316,1043],{},[866,37318,37319],{"className":978,"code":26534,"language":980,"meta":760,"style":760},[150,37320,37321,37325,37335,37345,37351,37361,37371,37381,37391,37401,37411,37421,37431,37439,37443],{"__ignoreMap":760},[984,37322,37323],{"class":986,"line":987},[984,37324,991],{"class":990},[984,37326,37327,37329,37331,37333],{"class":986,"line":761},[984,37328,1057],{"class":996},[984,37330,1015],{"class":990},[984,37332,1345],{"class":996},[984,37334,1021],{"class":990},[984,37336,37337,37339,37341,37343],{"class":986,"line":772},[984,37338,1069],{"class":996},[984,37340,1015],{"class":990},[984,37342,1004],{"class":1003},[984,37344,1021],{"class":990},[984,37346,37347,37349],{"class":986,"line":1024},[984,37348,1080],{"class":996},[984,37350,1083],{"class":990},[984,37352,37353,37355,37357,37359],{"class":986,"line":1035},[984,37354,26571],{"class":996},[984,37356,1015],{"class":990},[984,37358,26576],{"class":1003},[984,37360,1021],{"class":990},[984,37362,37363,37365,37367,37369],{"class":986,"line":1098},[984,37364,26583],{"class":996},[984,37366,1015],{"class":990},[984,37368,1018],{"class":996},[984,37370,1021],{"class":990},[984,37372,37373,37375,37377,37379],{"class":986,"line":1111},[984,37374,26594],{"class":996},[984,37376,1015],{"class":990},[984,37378,1345],{"class":996},[984,37380,1021],{"class":990},[984,37382,37383,37385,37387,37389],{"class":986,"line":1124},[984,37384,26605],{"class":996},[984,37386,1015],{"class":990},[984,37388,26610],{"class":1003},[984,37390,1021],{"class":990},[984,37392,37393,37395,37397,37399],{"class":986,"line":1137},[984,37394,26617],{"class":996},[984,37396,1015],{"class":990},[984,37398,26622],{"class":1003},[984,37400,1021],{"class":990},[984,37402,37403,37405,37407,37409],{"class":986,"line":1150},[984,37404,26629],{"class":996},[984,37406,1015],{"class":990},[984,37408,26634],{"class":1003},[984,37410,1021],{"class":990},[984,37412,37413,37415,37417,37419],{"class":986,"line":1163},[984,37414,26641],{"class":996},[984,37416,1015],{"class":990},[984,37418,1018],{"class":996},[984,37420,1021],{"class":990},[984,37422,37423,37425,37427,37429],{"class":986,"line":1176},[984,37424,26652],{"class":996},[984,37426,1015],{"class":990},[984,37428,1345],{"class":996},[984,37430,1021],{"class":990},[984,37432,37433,37435,37437],{"class":986,"line":1189},[984,37434,26663],{"class":996},[984,37436,1015],{"class":990},[984,37438,26668],{"class":996},[984,37440,37441],{"class":986,"line":1202},[984,37442,1459],{"class":990},[984,37444,37445],{"class":986,"line":1211},[984,37446,1038],{"class":990},[89,37448,37449,37453],{},[54,37450,37451,26684],{},[150,37452,26683],{},[54,37454,37455,26690,37457,2758],{},[150,37456,26689],{},[18,37458,26693],{"href":26693,"rel":37459},[22],[26,37461,29419],{"id":29419},[11,37463,37464],{},"Add data to IPFS local node and pin it. Action is automatically cancelled on API restart.",[11,37466,37467],{},[150,37468,975],{},[866,37470,37472],{"className":978,"code":37471,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_add\", \n    \"params\":\n    {\n        \"data\" : [1, 2, 3],\n        \"pin\"  : true,\n        \"timeout\": 5000\n    }\n}\n",[150,37473,37474,37478,37488,37498,37509,37515,37519,37537,37549,37559,37563],{"__ignoreMap":760},[984,37475,37476],{"class":986,"line":987},[984,37477,991],{"class":990},[984,37479,37480,37482,37484,37486],{"class":986,"line":761},[984,37481,997],{"class":996},[984,37483,1000],{"class":990},[984,37485,1004],{"class":1003},[984,37487,1007],{"class":990},[984,37489,37490,37492,37494,37496],{"class":986,"line":772},[984,37491,1012],{"class":996},[984,37493,1015],{"class":990},[984,37495,1345],{"class":996},[984,37497,1021],{"class":990},[984,37499,37500,37502,37504,37507],{"class":986,"line":1024},[984,37501,1027],{"class":996},[984,37503,1015],{"class":990},[984,37505,37506],{"class":1003},"\"ipfs_add\"",[984,37508,1007],{"class":990},[984,37510,37511,37513],{"class":986,"line":1035},[984,37512,1521],{"class":996},[984,37514,1524],{"class":990},[984,37516,37517],{"class":986,"line":1098},[984,37518,1529],{"class":990},[984,37520,37521,37523,37525,37527,37529,37531,37533,37535],{"class":986,"line":1111},[984,37522,18725],{"class":996},[984,37524,13897],{"class":990},[984,37526,1345],{"class":996},[984,37528,441],{"class":990},[984,37530,1503],{"class":996},[984,37532,441],{"class":990},[984,37534,5131],{"class":996},[984,37536,13917],{"class":990},[984,37538,37539,37542,37545,37547],{"class":986,"line":1124},[984,37540,37541],{"class":996},"        \"pin\"",[984,37543,37544],{"class":990},"  : ",[984,37546,2682],{"class":996},[984,37548,1021],{"class":990},[984,37550,37551,37554,37556],{"class":986,"line":1137},[984,37552,37553],{"class":996},"        \"timeout\"",[984,37555,1015],{"class":990},[984,37557,37558],{"class":996},"5000\n",[984,37560,37561],{"class":986,"line":1150},[984,37562,1607],{"class":990},[984,37564,37565],{"class":986,"line":1163},[984,37566,1038],{"class":990},[89,37568,37569,37574,37585],{},[54,37570,37571,37573],{},[150,37572,9736],{}," raw uint8 bytes array to store in IPFS",[54,37575,37576,37579,37580,37582,37583,385],{},[150,37577,37578],{},"pin"," optional bool, if ",[150,37581,2682],{}," data would also be pinned to the local IPFS node. Default is ",[150,37584,2682],{},[54,37586,37587,37590],{},[150,37588,37589],{},"timeout"," timeout in milliseconds. By default method doesn't timeout",[11,37592,37593],{},[150,37594,1043],{},[866,37596,37598],{"className":978,"code":37597,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"pinned\": true\n    }\n}\n",[150,37599,37600,37604,37614,37624,37630,37634,37646,37655,37659],{"__ignoreMap":760},[984,37601,37602],{"class":986,"line":987},[984,37603,991],{"class":990},[984,37605,37606,37608,37610,37612],{"class":986,"line":761},[984,37607,997],{"class":996},[984,37609,1000],{"class":990},[984,37611,1004],{"class":1003},[984,37613,1007],{"class":990},[984,37615,37616,37618,37620,37622],{"class":986,"line":772},[984,37617,1012],{"class":996},[984,37619,1015],{"class":990},[984,37621,1345],{"class":996},[984,37623,1021],{"class":990},[984,37625,37626,37628],{"class":986,"line":1024},[984,37627,1724],{"class":996},[984,37629,5895],{"class":990},[984,37631,37632],{"class":986,"line":1035},[984,37633,1529],{"class":990},[984,37635,37636,37639,37641,37644],{"class":986,"line":1098},[984,37637,37638],{"class":996},"        \"hash\"",[984,37640,1738],{"class":990},[984,37642,37643],{"class":1003},"\"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"",[984,37645,1021],{"class":990},[984,37647,37648,37651,37653],{"class":986,"line":1111},[984,37649,37650],{"class":996},"        \"pinned\"",[984,37652,1015],{"class":990},[984,37654,2497],{"class":996},[984,37656,37657],{"class":986,"line":1124},[984,37658,1607],{"class":990},[984,37660,37661],{"class":986,"line":1137},[984,37662,1038],{"class":990},[89,37664,37665,37670],{},[54,37666,37667,37669],{},[150,37668,6548],{}," IPFS hash of the added data",[54,37671,37672,37675],{},[150,37673,37674],{},"pinned"," bool flag that indicates if data has been pinned or just added",[26,37677,29429],{"id":29429},[11,37679,37680],{},"Calculate IPFS hash (CID) of the data",[11,37682,37683],{},[150,37684,975],{},[866,37686,37688],{"className":978,"code":37687,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_hash\", \n    \"params\":\n    {\n        \"data\" : [1, 2, 3],\n        \"timeout\": 5000\n    }\n}\n",[150,37689,37690,37694,37704,37714,37725,37731,37735,37753,37761,37765],{"__ignoreMap":760},[984,37691,37692],{"class":986,"line":987},[984,37693,991],{"class":990},[984,37695,37696,37698,37700,37702],{"class":986,"line":761},[984,37697,997],{"class":996},[984,37699,1000],{"class":990},[984,37701,1004],{"class":1003},[984,37703,1007],{"class":990},[984,37705,37706,37708,37710,37712],{"class":986,"line":772},[984,37707,1012],{"class":996},[984,37709,1015],{"class":990},[984,37711,1345],{"class":996},[984,37713,1021],{"class":990},[984,37715,37716,37718,37720,37723],{"class":986,"line":1024},[984,37717,1027],{"class":996},[984,37719,1015],{"class":990},[984,37721,37722],{"class":1003},"\"ipfs_hash\"",[984,37724,1007],{"class":990},[984,37726,37727,37729],{"class":986,"line":1035},[984,37728,1521],{"class":996},[984,37730,1524],{"class":990},[984,37732,37733],{"class":986,"line":1098},[984,37734,1529],{"class":990},[984,37736,37737,37739,37741,37743,37745,37747,37749,37751],{"class":986,"line":1111},[984,37738,18725],{"class":996},[984,37740,13897],{"class":990},[984,37742,1345],{"class":996},[984,37744,441],{"class":990},[984,37746,1503],{"class":996},[984,37748,441],{"class":990},[984,37750,5131],{"class":996},[984,37752,13917],{"class":990},[984,37754,37755,37757,37759],{"class":986,"line":1124},[984,37756,37553],{"class":996},[984,37758,1015],{"class":990},[984,37760,37558],{"class":996},[984,37762,37763],{"class":986,"line":1137},[984,37764,1607],{"class":990},[984,37766,37767],{"class":986,"line":1150},[984,37768,1038],{"class":990},[89,37770,37771,37776],{},[54,37772,37773,37775],{},[150,37774,9736],{}," raw uint8 bytes to calculate hash of",[54,37777,37778,37590],{},[150,37779,37589],{},[11,37781,37782],{},[150,37783,1043],{},[866,37785,37787],{"className":978,"code":37786,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"\n    }\n}\n",[150,37788,37789,37793,37803,37813,37819,37823,37832,37836],{"__ignoreMap":760},[984,37790,37791],{"class":986,"line":987},[984,37792,991],{"class":990},[984,37794,37795,37797,37799,37801],{"class":986,"line":761},[984,37796,997],{"class":996},[984,37798,1000],{"class":990},[984,37800,1004],{"class":1003},[984,37802,1007],{"class":990},[984,37804,37805,37807,37809,37811],{"class":986,"line":772},[984,37806,1012],{"class":996},[984,37808,1015],{"class":990},[984,37810,1345],{"class":996},[984,37812,1021],{"class":990},[984,37814,37815,37817],{"class":986,"line":1024},[984,37816,1724],{"class":996},[984,37818,5895],{"class":990},[984,37820,37821],{"class":986,"line":1035},[984,37822,1529],{"class":990},[984,37824,37825,37827,37829],{"class":986,"line":1098},[984,37826,37638],{"class":996},[984,37828,1738],{"class":990},[984,37830,37831],{"class":1003},"\"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"\n",[984,37833,37834],{"class":986,"line":1111},[984,37835,1607],{"class":990},[984,37837,37838],{"class":986,"line":1124},[984,37839,1038],{"class":990},[89,37841,37842],{},[54,37843,37844,37846],{},[150,37845,6548],{}," IPFS hash of the data",[26,37848,29439],{"id":29439},[11,37850,37851],{},"Get data from IPFS by hash. Action is automatically cancelled on API restart. May take a lot of time if data is not present on the local node.",[11,37853,37854],{},[150,37855,975],{},[866,37857,37859],{"className":978,"code":37858,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_get\", \n    \"params\":\n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"timeout\": 5000\n    }\n}\n",[150,37860,37861,37865,37875,37885,37896,37902,37906,37916,37924,37928],{"__ignoreMap":760},[984,37862,37863],{"class":986,"line":987},[984,37864,991],{"class":990},[984,37866,37867,37869,37871,37873],{"class":986,"line":761},[984,37868,997],{"class":996},[984,37870,1000],{"class":990},[984,37872,1004],{"class":1003},[984,37874,1007],{"class":990},[984,37876,37877,37879,37881,37883],{"class":986,"line":772},[984,37878,1012],{"class":996},[984,37880,1015],{"class":990},[984,37882,1345],{"class":996},[984,37884,1021],{"class":990},[984,37886,37887,37889,37891,37894],{"class":986,"line":1024},[984,37888,1027],{"class":996},[984,37890,1015],{"class":990},[984,37892,37893],{"class":1003},"\"ipfs_get\"",[984,37895,1007],{"class":990},[984,37897,37898,37900],{"class":986,"line":1035},[984,37899,1521],{"class":996},[984,37901,1524],{"class":990},[984,37903,37904],{"class":986,"line":1098},[984,37905,1529],{"class":990},[984,37907,37908,37910,37912,37914],{"class":986,"line":1111},[984,37909,37638],{"class":996},[984,37911,1738],{"class":990},[984,37913,37643],{"class":1003},[984,37915,1021],{"class":990},[984,37917,37918,37920,37922],{"class":986,"line":1124},[984,37919,37553],{"class":996},[984,37921,1015],{"class":990},[984,37923,37558],{"class":996},[984,37925,37926],{"class":986,"line":1137},[984,37927,1607],{"class":990},[984,37929,37930],{"class":986,"line":1150},[984,37931,1038],{"class":990},[89,37933,37934,37939],{},[54,37935,37936,37938],{},[150,37937,6548],{}," IPFS has of the data to get",[54,37940,37941,37590],{},[150,37942,37589],{},[11,37944,37945],{},[150,37946,1043],{},[866,37948,37950],{"className":978,"code":37949,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"data\" : [1, 2, 3]\n    }\n}\n",[150,37951,37952,37956,37966,37976,37982,37986,37996,38014,38018],{"__ignoreMap":760},[984,37953,37954],{"class":986,"line":987},[984,37955,991],{"class":990},[984,37957,37958,37960,37962,37964],{"class":986,"line":761},[984,37959,997],{"class":996},[984,37961,1000],{"class":990},[984,37963,1004],{"class":1003},[984,37965,1007],{"class":990},[984,37967,37968,37970,37972,37974],{"class":986,"line":772},[984,37969,1012],{"class":996},[984,37971,1015],{"class":990},[984,37973,1345],{"class":996},[984,37975,1021],{"class":990},[984,37977,37978,37980],{"class":986,"line":1024},[984,37979,1724],{"class":996},[984,37981,5895],{"class":990},[984,37983,37984],{"class":986,"line":1035},[984,37985,1529],{"class":990},[984,37987,37988,37990,37992,37994],{"class":986,"line":1098},[984,37989,37638],{"class":996},[984,37991,1738],{"class":990},[984,37993,37643],{"class":1003},[984,37995,1021],{"class":990},[984,37997,37998,38000,38002,38004,38006,38008,38010,38012],{"class":986,"line":1111},[984,37999,18725],{"class":996},[984,38001,13897],{"class":990},[984,38003,1345],{"class":996},[984,38005,441],{"class":990},[984,38007,1503],{"class":996},[984,38009,441],{"class":990},[984,38011,5131],{"class":996},[984,38013,7675],{"class":990},[984,38015,38016],{"class":986,"line":1124},[984,38017,1607],{"class":990},[984,38019,38020],{"class":986,"line":1137},[984,38021,1038],{"class":990},[89,38023,38024,38028],{},[54,38025,38026,37846],{},[150,38027,6548],{},[54,38029,38030,38032],{},[150,38031,9736],{}," actual data as uint8 bytes array",[26,38034,29449],{"id":29449},[11,38036,38037,38038,38040],{},"Pin data to the local node. If data is not stored in the local node it is discovered and downloaded (",[150,38039,29439],{},"). Action is automatically cancelled at API restart. May take a lot of time.",[11,38042,38043],{},[150,38044,975],{},[866,38046,38048],{"className":978,"code":38047,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_pin\", \n    \"params\":\n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\",\n        \"timeout\": 5000\n    }\n}\n",[150,38049,38050,38054,38064,38074,38085,38091,38095,38105,38113,38117],{"__ignoreMap":760},[984,38051,38052],{"class":986,"line":987},[984,38053,991],{"class":990},[984,38055,38056,38058,38060,38062],{"class":986,"line":761},[984,38057,997],{"class":996},[984,38059,1000],{"class":990},[984,38061,1004],{"class":1003},[984,38063,1007],{"class":990},[984,38065,38066,38068,38070,38072],{"class":986,"line":772},[984,38067,1012],{"class":996},[984,38069,1015],{"class":990},[984,38071,1345],{"class":996},[984,38073,1021],{"class":990},[984,38075,38076,38078,38080,38083],{"class":986,"line":1024},[984,38077,1027],{"class":996},[984,38079,1015],{"class":990},[984,38081,38082],{"class":1003},"\"ipfs_pin\"",[984,38084,1007],{"class":990},[984,38086,38087,38089],{"class":986,"line":1035},[984,38088,1521],{"class":996},[984,38090,1524],{"class":990},[984,38092,38093],{"class":986,"line":1098},[984,38094,1529],{"class":990},[984,38096,38097,38099,38101,38103],{"class":986,"line":1111},[984,38098,37638],{"class":996},[984,38100,1738],{"class":990},[984,38102,37643],{"class":1003},[984,38104,1021],{"class":990},[984,38106,38107,38109,38111],{"class":986,"line":1124},[984,38108,37553],{"class":996},[984,38110,1015],{"class":990},[984,38112,37558],{"class":996},[984,38114,38115],{"class":986,"line":1137},[984,38116,1607],{"class":990},[984,38118,38119],{"class":986,"line":1150},[984,38120,1038],{"class":990},[89,38122,38123,38128],{},[54,38124,38125,38127],{},[150,38126,6548],{}," IPFS has of the data to pin",[54,38129,38130,37590],{},[150,38131,37589],{},[11,38133,38134],{},[150,38135,1043],{},[866,38137,38138],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,38139,38140,38144,38154,38164,38170,38174,38182,38186],{"__ignoreMap":760},[984,38141,38142],{"class":986,"line":987},[984,38143,991],{"class":990},[984,38145,38146,38148,38150,38152],{"class":986,"line":761},[984,38147,997],{"class":996},[984,38149,1000],{"class":990},[984,38151,1004],{"class":1003},[984,38153,1007],{"class":990},[984,38155,38156,38158,38160,38162],{"class":986,"line":772},[984,38157,1012],{"class":996},[984,38159,1015],{"class":990},[984,38161,1345],{"class":996},[984,38163,1021],{"class":990},[984,38165,38166,38168],{"class":986,"line":1024},[984,38167,1724],{"class":996},[984,38169,5895],{"class":990},[984,38171,38172],{"class":986,"line":1035},[984,38173,1529],{"class":990},[984,38175,38176,38178,38180],{"class":986,"line":1098},[984,38177,37638],{"class":996},[984,38179,1738],{"class":990},[984,38181,37831],{"class":1003},[984,38183,38184],{"class":986,"line":1111},[984,38185,1607],{"class":990},[984,38187,38188],{"class":986,"line":1124},[984,38189,1038],{"class":990},[89,38191,38192],{},[54,38193,38194,38196],{},[150,38195,6548],{}," IPFS hash of the pinned data",[26,38198,29459],{"id":29459},[11,38200,38201,38202,38204],{},"Unpin data from the local node. Data is not deleted and will be available via ",[150,38203,29439],{}," until garbage collected.",[11,38206,38207],{},[150,38208,975],{},[866,38210,38212],{"className":978,"code":38211,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_unpin\", \n    \"params\":\n    {\n        \"hash\" : \"QmWWQSuPMS6aXCbZKpEjPHPUZN2NjB3YrhJTHsV4X3vb2t\"\n    }\n}\n",[150,38213,38214,38218,38228,38238,38249,38255,38259,38267,38271],{"__ignoreMap":760},[984,38215,38216],{"class":986,"line":987},[984,38217,991],{"class":990},[984,38219,38220,38222,38224,38226],{"class":986,"line":761},[984,38221,997],{"class":996},[984,38223,1000],{"class":990},[984,38225,1004],{"class":1003},[984,38227,1007],{"class":990},[984,38229,38230,38232,38234,38236],{"class":986,"line":772},[984,38231,1012],{"class":996},[984,38233,1015],{"class":990},[984,38235,1345],{"class":996},[984,38237,1021],{"class":990},[984,38239,38240,38242,38244,38247],{"class":986,"line":1024},[984,38241,1027],{"class":996},[984,38243,1015],{"class":990},[984,38245,38246],{"class":1003},"\"ipfs_unpin\"",[984,38248,1007],{"class":990},[984,38250,38251,38253],{"class":986,"line":1035},[984,38252,1521],{"class":996},[984,38254,1524],{"class":990},[984,38256,38257],{"class":986,"line":1098},[984,38258,1529],{"class":990},[984,38260,38261,38263,38265],{"class":986,"line":1111},[984,38262,37638],{"class":996},[984,38264,1738],{"class":990},[984,38266,37831],{"class":1003},[984,38268,38269],{"class":986,"line":1124},[984,38270,1607],{"class":990},[984,38272,38273],{"class":986,"line":1137},[984,38274,1038],{"class":990},[89,38276,38277],{},[54,38278,38279,38281],{},[150,38280,6548],{}," IPFS has of the data to unpin",[11,38283,38284],{},[150,38285,1043],{},[866,38287,38288],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,38289,38290,38294,38304,38314,38320,38324,38332,38336],{"__ignoreMap":760},[984,38291,38292],{"class":986,"line":987},[984,38293,991],{"class":990},[984,38295,38296,38298,38300,38302],{"class":986,"line":761},[984,38297,997],{"class":996},[984,38299,1000],{"class":990},[984,38301,1004],{"class":1003},[984,38303,1007],{"class":990},[984,38305,38306,38308,38310,38312],{"class":986,"line":772},[984,38307,1012],{"class":996},[984,38309,1015],{"class":990},[984,38311,1345],{"class":996},[984,38313,1021],{"class":990},[984,38315,38316,38318],{"class":986,"line":1024},[984,38317,1724],{"class":996},[984,38319,5895],{"class":990},[984,38321,38322],{"class":986,"line":1035},[984,38323,1529],{"class":990},[984,38325,38326,38328,38330],{"class":986,"line":1098},[984,38327,37638],{"class":996},[984,38329,1738],{"class":990},[984,38331,37831],{"class":1003},[984,38333,38334],{"class":986,"line":1111},[984,38335,1607],{"class":990},[984,38337,38338],{"class":986,"line":1124},[984,38339,1038],{"class":990},[89,38341,38342],{},[54,38343,38344,38346],{},[150,38345,6548],{}," IPFS hash of the unpinned data",[26,38348,29469],{"id":29469},[11,38350,38351],{},"Garbage collect IPFS storage, i.e. delete unpinned data until storage has at least 10% of free space (default settings). May take a lot of time. In desktop client gc is run automatically every hour.",[11,38353,38354],{},[150,38355,975],{},[866,38357,38359],{"className":978,"code":38358,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"ipfs_gc\", \n    \"params\":\n    {\n        \"timeout\" : 60000\n    }\n}\n",[150,38360,38361,38365,38375,38385,38396,38402,38406,38415,38419],{"__ignoreMap":760},[984,38362,38363],{"class":986,"line":987},[984,38364,991],{"class":990},[984,38366,38367,38369,38371,38373],{"class":986,"line":761},[984,38368,997],{"class":996},[984,38370,1000],{"class":990},[984,38372,1004],{"class":1003},[984,38374,1007],{"class":990},[984,38376,38377,38379,38381,38383],{"class":986,"line":772},[984,38378,1012],{"class":996},[984,38380,1015],{"class":990},[984,38382,1345],{"class":996},[984,38384,1021],{"class":990},[984,38386,38387,38389,38391,38394],{"class":986,"line":1024},[984,38388,1027],{"class":996},[984,38390,1015],{"class":990},[984,38392,38393],{"class":1003},"\"ipfs_gc\"",[984,38395,1007],{"class":990},[984,38397,38398,38400],{"class":986,"line":1035},[984,38399,1521],{"class":996},[984,38401,1524],{"class":990},[984,38403,38404],{"class":986,"line":1098},[984,38405,1529],{"class":990},[984,38407,38408,38410,38412],{"class":986,"line":1111},[984,38409,37553],{"class":996},[984,38411,1738],{"class":990},[984,38413,38414],{"class":996},"60000\n",[984,38416,38417],{"class":986,"line":1124},[984,38418,1607],{"class":990},[984,38420,38421],{"class":986,"line":1137},[984,38422,1038],{"class":990},[89,38424,38425],{},[54,38426,38427,37590],{},[150,38428,37589],{},[11,38430,38431],{},[150,38432,1043],{},[866,38434,38436],{"className":978,"code":38435,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"result\" : true\n    }\n}\n",[150,38437,38438,38442,38452,38462,38468,38472,38481,38485],{"__ignoreMap":760},[984,38439,38440],{"class":986,"line":987},[984,38441,991],{"class":990},[984,38443,38444,38446,38448,38450],{"class":986,"line":761},[984,38445,997],{"class":996},[984,38447,1000],{"class":990},[984,38449,1004],{"class":1003},[984,38451,1007],{"class":990},[984,38453,38454,38456,38458,38460],{"class":986,"line":772},[984,38455,1012],{"class":996},[984,38457,1015],{"class":990},[984,38459,1345],{"class":996},[984,38461,1021],{"class":990},[984,38463,38464,38466],{"class":986,"line":1024},[984,38465,1724],{"class":996},[984,38467,5895],{"class":990},[984,38469,38470],{"class":986,"line":1035},[984,38471,1529],{"class":990},[984,38473,38474,38477,38479],{"class":986,"line":1098},[984,38475,38476],{"class":996},"        \"result\"",[984,38478,1738],{"class":990},[984,38480,2497],{"class":996},[984,38482,38483],{"class":986,"line":1111},[984,38484,1607],{"class":990},[984,38486,38487],{"class":986,"line":1124},[984,38488,1038],{"class":990},[89,38490,38491],{},[54,38492,38493,38495],{},[150,38494,9741],{}," success flag",[26,38497,19492],{"id":19492},[11,38499,26699],{},[11,38501,38502],{},[150,38503,975],{},[866,38505,38506],{"className":978,"code":26706,"language":980,"meta":760,"style":760},[150,38507,38508,38512,38522,38532,38542,38548,38558,38568,38578,38588,38598,38606,38610],{"__ignoreMap":760},[984,38509,38510],{"class":986,"line":987},[984,38511,991],{"class":990},[984,38513,38514,38516,38518,38520],{"class":986,"line":761},[984,38515,997],{"class":996},[984,38517,1015],{"class":990},[984,38519,1004],{"class":1003},[984,38521,1007],{"class":990},[984,38523,38524,38526,38528,38530],{"class":986,"line":772},[984,38525,1012],{"class":996},[984,38527,1015],{"class":990},[984,38529,1345],{"class":996},[984,38531,1021],{"class":990},[984,38533,38534,38536,38538,38540],{"class":986,"line":1024},[984,38535,1027],{"class":996},[984,38537,1015],{"class":990},[984,38539,26741],{"class":1003},[984,38541,1021],{"class":990},[984,38543,38544,38546],{"class":986,"line":1035},[984,38545,1521],{"class":996},[984,38547,1083],{"class":990},[984,38549,38550,38552,38554,38556],{"class":986,"line":1098},[984,38551,26754],{"class":996},[984,38553,1015],{"class":990},[984,38555,2682],{"class":996},[984,38557,1021],{"class":990},[984,38559,38560,38562,38564,38566],{"class":986,"line":1111},[984,38561,26765],{"class":996},[984,38563,1015],{"class":990},[984,38565,2682],{"class":996},[984,38567,1021],{"class":990},[984,38569,38570,38572,38574,38576],{"class":986,"line":1124},[984,38571,26776],{"class":996},[984,38573,1015],{"class":990},[984,38575,2682],{"class":996},[984,38577,1021],{"class":990},[984,38579,38580,38582,38584,38586],{"class":986,"line":1137},[984,38581,26787],{"class":996},[984,38583,1015],{"class":990},[984,38585,2682],{"class":996},[984,38587,1021],{"class":990},[984,38589,38590,38592,38594,38596],{"class":986,"line":1150},[984,38591,26798],{"class":996},[984,38593,1015],{"class":990},[984,38595,2682],{"class":996},[984,38597,1021],{"class":990},[984,38599,38600,38602,38604],{"class":986,"line":1163},[984,38601,26809],{"class":996},[984,38603,1015],{"class":990},[984,38605,2497],{"class":996},[984,38607,38608],{"class":986,"line":1176},[984,38609,1607],{"class":990},[984,38611,38612],{"class":986,"line":1189},[984,38613,1038],{"class":990},[11,38615,38616],{},[150,38617,1043],{},[866,38619,38620],{"className":978,"code":26828,"language":980,"meta":760,"style":760},[150,38621,38622,38626,38636,38646,38654],{"__ignoreMap":760},[984,38623,38624],{"class":986,"line":987},[984,38625,991],{"class":990},[984,38627,38628,38630,38632,38634],{"class":986,"line":761},[984,38629,1057],{"class":996},[984,38631,1015],{"class":990},[984,38633,1345],{"class":996},[984,38635,1021],{"class":990},[984,38637,38638,38640,38642,38644],{"class":986,"line":772},[984,38639,1069],{"class":996},[984,38641,1015],{"class":990},[984,38643,1004],{"class":1003},[984,38645,1021],{"class":990},[984,38647,38648,38650,38652],{"class":986,"line":1024},[984,38649,1080],{"class":996},[984,38651,1015],{"class":990},[984,38653,2497],{"class":996},[984,38655,38656],{"class":986,"line":1035},[984,38657,1038],{"class":990},[89,38659,38660],{},[54,38661,38662,26874,38664,26877],{},[150,38663,26873],{},[150,38665,26873],{},[26,38667,19563],{"id":19563},[11,38669,26979],{},[89,38671,38672,38674],{},[54,38673,26984],{},[54,38675,26987],{},[11,38677,26990],{},[11,38679,38680],{},[150,38681,26995],{},[866,38683,38684],{"className":978,"code":26998,"language":980,"meta":760,"style":760},[150,38685,38686,38690,38700,38710,38716,38726,38736,38746,38756,38766,38776,38786,38796,38806,38816,38824,38828],{"__ignoreMap":760},[984,38687,38688],{"class":986,"line":987},[984,38689,991],{"class":990},[984,38691,38692,38694,38696,38698],{"class":986,"line":761},[984,38693,1057],{"class":996},[984,38695,1015],{"class":990},[984,38697,27013],{"class":1003},[984,38699,1021],{"class":990},[984,38701,38702,38704,38706,38708],{"class":986,"line":772},[984,38703,1069],{"class":996},[984,38705,1015],{"class":990},[984,38707,1004],{"class":1003},[984,38709,1021],{"class":990},[984,38711,38712,38714],{"class":986,"line":1024},[984,38713,1080],{"class":996},[984,38715,1083],{"class":990},[984,38717,38718,38720,38722,38724],{"class":986,"line":1035},[984,38719,1088],{"class":996},[984,38721,1015],{"class":990},[984,38723,27040],{"class":996},[984,38725,1021],{"class":990},[984,38727,38728,38730,38732,38734],{"class":986,"line":1098},[984,38729,1101],{"class":996},[984,38731,1015],{"class":990},[984,38733,27051],{"class":1003},[984,38735,1021],{"class":990},[984,38737,38738,38740,38742,38744],{"class":986,"line":1111},[984,38739,23533],{"class":996},[984,38741,1015],{"class":990},[984,38743,27062],{"class":996},[984,38745,1021],{"class":990},[984,38747,38748,38750,38752,38754],{"class":986,"line":1124},[984,38749,27069],{"class":996},[984,38751,1015],{"class":990},[984,38753,1171],{"class":996},[984,38755,1021],{"class":990},[984,38757,38758,38760,38762,38764],{"class":986,"line":1137},[984,38759,27080],{"class":996},[984,38761,1015],{"class":990},[984,38763,1503],{"class":996},[984,38765,1021],{"class":990},[984,38767,38768,38770,38772,38774],{"class":986,"line":1150},[984,38769,23554],{"class":996},[984,38771,1015],{"class":990},[984,38773,2682],{"class":996},[984,38775,1021],{"class":990},[984,38777,38778,38780,38782,38784],{"class":986,"line":1163},[984,38779,1127],{"class":996},[984,38781,1015],{"class":990},[984,38783,27105],{"class":1003},[984,38785,1021],{"class":990},[984,38787,38788,38790,38792,38794],{"class":986,"line":1176},[984,38789,27112],{"class":996},[984,38791,1015],{"class":990},[984,38793,27117],{"class":996},[984,38795,1021],{"class":990},[984,38797,38798,38800,38802,38804],{"class":986,"line":1189},[984,38799,27124],{"class":996},[984,38801,1015],{"class":990},[984,38803,27051],{"class":1003},[984,38805,1021],{"class":990},[984,38807,38808,38810,38812,38814],{"class":986,"line":1202},[984,38809,27135],{"class":996},[984,38811,1015],{"class":990},[984,38813,27140],{"class":1003},[984,38815,1021],{"class":990},[984,38817,38818,38820,38822],{"class":986,"line":1211},[984,38819,27147],{"class":996},[984,38821,1015],{"class":990},[984,38823,27152],{"class":996},[984,38825,38826],{"class":986,"line":1217},[984,38827,1459],{"class":990},[984,38829,38830],{"class":986,"line":1229},[984,38831,1038],{"class":990},[11,38833,27163,38834,557,38836,27170,38838,27174,38840,27177,38842,27180,38844,27183,38846,27186],{},[150,38835,27166],{},[150,38837,27169],{},[150,38839,27173],{},[150,38841,27169],{},[150,38843,27166],{},[150,38845,19511],{},[150,38847,19511],{},[11,38849,38850],{},[150,38851,27191],{},[866,38853,38854],{"className":978,"code":27194,"language":980,"meta":760,"style":760},[150,38855,38856,38860,38870,38880,38886,38896,38906,38916,38926,38936,38946,38956,38966,38976,38986,38994,38998],{"__ignoreMap":760},[984,38857,38858],{"class":986,"line":987},[984,38859,991],{"class":990},[984,38861,38862,38864,38866,38868],{"class":986,"line":761},[984,38863,1057],{"class":996},[984,38865,1015],{"class":990},[984,38867,27013],{"class":1003},[984,38869,1021],{"class":990},[984,38871,38872,38874,38876,38878],{"class":986,"line":772},[984,38873,1069],{"class":996},[984,38875,1015],{"class":990},[984,38877,1004],{"class":1003},[984,38879,1021],{"class":990},[984,38881,38882,38884],{"class":986,"line":1024},[984,38883,1080],{"class":996},[984,38885,1083],{"class":990},[984,38887,38888,38890,38892,38894],{"class":986,"line":1035},[984,38889,1088],{"class":996},[984,38891,1015],{"class":990},[984,38893,27040],{"class":996},[984,38895,1021],{"class":990},[984,38897,38898,38900,38902,38904],{"class":986,"line":1098},[984,38899,1101],{"class":996},[984,38901,1015],{"class":990},[984,38903,27051],{"class":1003},[984,38905,1021],{"class":990},[984,38907,38908,38910,38912,38914],{"class":986,"line":1111},[984,38909,23533],{"class":996},[984,38911,1015],{"class":990},[984,38913,27062],{"class":996},[984,38915,1021],{"class":990},[984,38917,38918,38920,38922,38924],{"class":986,"line":1124},[984,38919,27069],{"class":996},[984,38921,1015],{"class":990},[984,38923,1345],{"class":996},[984,38925,1021],{"class":990},[984,38927,38928,38930,38932,38934],{"class":986,"line":1137},[984,38929,27080],{"class":996},[984,38931,1015],{"class":990},[984,38933,1503],{"class":996},[984,38935,1021],{"class":990},[984,38937,38938,38940,38942,38944],{"class":986,"line":1150},[984,38939,23554],{"class":996},[984,38941,1015],{"class":990},[984,38943,2682],{"class":996},[984,38945,1021],{"class":990},[984,38947,38948,38950,38952,38954],{"class":986,"line":1163},[984,38949,1127],{"class":996},[984,38951,1015],{"class":990},[984,38953,27105],{"class":1003},[984,38955,1021],{"class":990},[984,38957,38958,38960,38962,38964],{"class":986,"line":1176},[984,38959,27112],{"class":996},[984,38961,1015],{"class":990},[984,38963,27117],{"class":996},[984,38965,1021],{"class":990},[984,38967,38968,38970,38972,38974],{"class":986,"line":1189},[984,38969,27124],{"class":996},[984,38971,1015],{"class":990},[984,38973,27051],{"class":1003},[984,38975,1021],{"class":990},[984,38977,38978,38980,38982,38984],{"class":986,"line":1202},[984,38979,27135],{"class":996},[984,38981,1015],{"class":990},[984,38983,27140],{"class":1003},[984,38985,1021],{"class":990},[984,38987,38988,38990,38992],{"class":986,"line":1211},[984,38989,27147],{"class":996},[984,38991,1015],{"class":990},[984,38993,27152],{"class":996},[984,38995,38996],{"class":986,"line":1217},[984,38997,1459],{"class":990},[984,38999,39000],{"class":986,"line":1229},[984,39001,1038],{"class":990},[11,39003,27345,39004,27348,39006,27352],{},[150,39005,27173],{},[150,39007,27351],{},[11,39009,39010],{},[150,39011,27357],{},[866,39013,39014],{"className":978,"code":27360,"language":980,"meta":760,"style":760},[150,39015,39016,39020,39030,39040,39046,39056,39066,39076,39086,39096,39106,39116,39126,39136,39146,39154,39158,39162,39166,39190,39194,39202,39206,39210,39220,39230,39236,39246,39256,39266,39276,39286,39296,39306,39316,39326,39336,39344,39348],{"__ignoreMap":760},[984,39017,39018],{"class":986,"line":987},[984,39019,991],{"class":990},[984,39021,39022,39024,39026,39028],{"class":986,"line":761},[984,39023,1057],{"class":996},[984,39025,1015],{"class":990},[984,39027,27013],{"class":1003},[984,39029,1021],{"class":990},[984,39031,39032,39034,39036,39038],{"class":986,"line":772},[984,39033,1069],{"class":996},[984,39035,1015],{"class":990},[984,39037,1004],{"class":1003},[984,39039,1021],{"class":990},[984,39041,39042,39044],{"class":986,"line":1024},[984,39043,1080],{"class":996},[984,39045,1083],{"class":990},[984,39047,39048,39050,39052,39054],{"class":986,"line":1035},[984,39049,1088],{"class":996},[984,39051,1015],{"class":990},[984,39053,27040],{"class":996},[984,39055,1021],{"class":990},[984,39057,39058,39060,39062,39064],{"class":986,"line":1098},[984,39059,1101],{"class":996},[984,39061,1015],{"class":990},[984,39063,27051],{"class":1003},[984,39065,1021],{"class":990},[984,39067,39068,39070,39072,39074],{"class":986,"line":1111},[984,39069,23533],{"class":996},[984,39071,1015],{"class":990},[984,39073,27062],{"class":996},[984,39075,1021],{"class":990},[984,39077,39078,39080,39082,39084],{"class":986,"line":1124},[984,39079,27069],{"class":996},[984,39081,1015],{"class":990},[984,39083,1503],{"class":996},[984,39085,1021],{"class":990},[984,39087,39088,39090,39092,39094],{"class":986,"line":1137},[984,39089,27080],{"class":996},[984,39091,1015],{"class":990},[984,39093,1503],{"class":996},[984,39095,1021],{"class":990},[984,39097,39098,39100,39102,39104],{"class":986,"line":1150},[984,39099,23554],{"class":996},[984,39101,1015],{"class":990},[984,39103,2682],{"class":996},[984,39105,1021],{"class":990},[984,39107,39108,39110,39112,39114],{"class":986,"line":1163},[984,39109,1127],{"class":996},[984,39111,1015],{"class":990},[984,39113,27105],{"class":1003},[984,39115,1021],{"class":990},[984,39117,39118,39120,39122,39124],{"class":986,"line":1176},[984,39119,27112],{"class":996},[984,39121,1015],{"class":990},[984,39123,27117],{"class":996},[984,39125,1021],{"class":990},[984,39127,39128,39130,39132,39134],{"class":986,"line":1189},[984,39129,27124],{"class":996},[984,39131,1015],{"class":990},[984,39133,27051],{"class":1003},[984,39135,1021],{"class":990},[984,39137,39138,39140,39142,39144],{"class":986,"line":1202},[984,39139,27135],{"class":996},[984,39141,1015],{"class":990},[984,39143,27140],{"class":1003},[984,39145,1021],{"class":990},[984,39147,39148,39150,39152],{"class":986,"line":1211},[984,39149,27147],{"class":996},[984,39151,1015],{"class":990},[984,39153,27152],{"class":996},[984,39155,39156],{"class":986,"line":1217},[984,39157,1459],{"class":990},[984,39159,39160],{"class":986,"line":1229},[984,39161,1038],{"class":990},[984,39163,39164],{"class":986,"line":1241},[984,39165,8376],{"emptyLinePlaceholder":778},[984,39167,39168,39170,39172,39174,39176,39178,39180,39182,39184,39186,39188],{"class":986,"line":1254},[984,39169,27517],{"class":990},[984,39171,5131],{"class":996},[984,39173,27522],{"class":990},[984,39175,1503],{"class":996},[984,39177,27527],{"class":990},[984,39179,1503],{"class":996},[984,39181,27532],{"class":990},[984,39183,1503],{"class":996},[984,39185,27537],{"class":990},[984,39187,27040],{"class":996},[984,39189,27542],{"class":990},[984,39191,39192],{"class":986,"line":1266},[984,39193,8376],{"emptyLinePlaceholder":778},[984,39195,39196,39198,39200],{"class":986,"line":1279},[984,39197,27551],{"class":990},[984,39199,2431],{"class":996},[984,39201,27556],{"class":990},[984,39203,39204],{"class":986,"line":1291},[984,39205,27561],{"class":990},[984,39207,39208],{"class":986,"line":1304},[984,39209,991],{"class":990},[984,39211,39212,39214,39216,39218],{"class":986,"line":1316},[984,39213,1057],{"class":996},[984,39215,1015],{"class":990},[984,39217,27013],{"class":1003},[984,39219,1021],{"class":990},[984,39221,39222,39224,39226,39228],{"class":986,"line":1327},[984,39223,1069],{"class":996},[984,39225,1015],{"class":990},[984,39227,1004],{"class":1003},[984,39229,1021],{"class":990},[984,39231,39232,39234],{"class":986,"line":1333},[984,39233,1080],{"class":996},[984,39235,1083],{"class":990},[984,39237,39238,39240,39242,39244],{"class":986,"line":1338},[984,39239,1088],{"class":996},[984,39241,1015],{"class":990},[984,39243,27117],{"class":996},[984,39245,1021],{"class":990},[984,39247,39248,39250,39252,39254],{"class":986,"line":1355},[984,39249,1101],{"class":996},[984,39251,1015],{"class":990},[984,39253,27140],{"class":1003},[984,39255,1021],{"class":990},[984,39257,39258,39260,39262,39264],{"class":986,"line":1367},[984,39259,23533],{"class":996},[984,39261,1015],{"class":990},[984,39263,27062],{"class":996},[984,39265,1021],{"class":990},[984,39267,39268,39270,39272,39274],{"class":986,"line":1379},[984,39269,27069],{"class":996},[984,39271,1015],{"class":990},[984,39273,1503],{"class":996},[984,39275,1021],{"class":990},[984,39277,39278,39280,39282,39284],{"class":986,"line":1390},[984,39279,27080],{"class":996},[984,39281,1015],{"class":990},[984,39283,1503],{"class":996},[984,39285,1021],{"class":990},[984,39287,39288,39290,39292,39294],{"class":986,"line":1402},[984,39289,23554],{"class":996},[984,39291,1015],{"class":990},[984,39293,2682],{"class":996},[984,39295,1021],{"class":990},[984,39297,39298,39300,39302,39304],{"class":986,"line":1413},[984,39299,1127],{"class":996},[984,39301,1015],{"class":990},[984,39303,27051],{"class":1003},[984,39305,1021],{"class":990},[984,39307,39308,39310,39312,39314],{"class":986,"line":1424},[984,39309,27112],{"class":996},[984,39311,1015],{"class":990},[984,39313,27117],{"class":996},[984,39315,1021],{"class":990},[984,39317,39318,39320,39322,39324],{"class":986,"line":1435},[984,39319,27124],{"class":996},[984,39321,1015],{"class":990},[984,39323,27051],{"class":1003},[984,39325,1021],{"class":990},[984,39327,39328,39330,39332,39334],{"class":986,"line":1444},[984,39329,27135],{"class":996},[984,39331,1015],{"class":990},[984,39333,27140],{"class":1003},[984,39335,1021],{"class":990},[984,39337,39338,39340,39342],{"class":986,"line":1450},[984,39339,27147],{"class":996},[984,39341,1015],{"class":990},[984,39343,27152],{"class":996},[984,39345,39346],{"class":986,"line":1456},[984,39347,1459],{"class":990},[984,39349,39350],{"class":986,"line":1462},[984,39351,1038],{"class":990},[11,39353,27710,39354,27713,39356,27716,39358,27713,39360,27723,39362,27713,39364,4316],{},[150,39355,27351],{},[150,39357,27173],{},[150,39359,27719],{},[150,39361,27722],{},[150,39363,27166],{},[150,39365,27169],{},[26,39367,19571],{"id":19571},[11,39369,27732],{},[11,39371,39372],{},[150,39373,1043],{},[866,39375,39376],{"className":978,"code":27739,"language":980,"meta":760,"style":760},[150,39377,39378,39382,39392,39402,39408,39418,39428,39438,39448,39458,39468,39478,39488,39496,39500],{"__ignoreMap":760},[984,39379,39380],{"class":986,"line":987},[984,39381,991],{"class":990},[984,39383,39384,39386,39388,39390],{"class":986,"line":761},[984,39385,1057],{"class":996},[984,39387,1015],{"class":990},[984,39389,27754],{"class":1003},[984,39391,1021],{"class":990},[984,39393,39394,39396,39398,39400],{"class":986,"line":772},[984,39395,1069],{"class":996},[984,39397,1015],{"class":990},[984,39399,1004],{"class":1003},[984,39401,1021],{"class":990},[984,39403,39404,39406],{"class":986,"line":1024},[984,39405,1080],{"class":996},[984,39407,1083],{"class":990},[984,39409,39410,39412,39414,39416],{"class":986,"line":1035},[984,39411,1088],{"class":996},[984,39413,1015],{"class":990},[984,39415,27781],{"class":996},[984,39417,1021],{"class":990},[984,39419,39420,39422,39424,39426],{"class":986,"line":1098},[984,39421,1101],{"class":996},[984,39423,1015],{"class":990},[984,39425,27792],{"class":1003},[984,39427,1021],{"class":990},[984,39429,39430,39432,39434,39436],{"class":986,"line":1111},[984,39431,23533],{"class":996},[984,39433,1015],{"class":990},[984,39435,27803],{"class":996},[984,39437,1021],{"class":990},[984,39439,39440,39442,39444,39446],{"class":986,"line":1124},[984,39441,23554],{"class":996},[984,39443,1015],{"class":990},[984,39445,2682],{"class":996},[984,39447,1021],{"class":990},[984,39449,39450,39452,39454,39456],{"class":986,"line":1137},[984,39451,1127],{"class":996},[984,39453,1015],{"class":990},[984,39455,27824],{"class":1003},[984,39457,1021],{"class":990},[984,39459,39460,39462,39464,39466],{"class":986,"line":1150},[984,39461,27112],{"class":996},[984,39463,1015],{"class":990},[984,39465,27781],{"class":996},[984,39467,1021],{"class":990},[984,39469,39470,39472,39474,39476],{"class":986,"line":1163},[984,39471,27124],{"class":996},[984,39473,1015],{"class":990},[984,39475,27824],{"class":1003},[984,39477,1021],{"class":990},[984,39479,39480,39482,39484,39486],{"class":986,"line":1176},[984,39481,27135],{"class":996},[984,39483,1015],{"class":990},[984,39485,27792],{"class":1003},[984,39487,1021],{"class":990},[984,39489,39490,39492,39494],{"class":986,"line":1189},[984,39491,27147],{"class":996},[984,39493,1015],{"class":990},[984,39495,27865],{"class":996},[984,39497,39498],{"class":986,"line":1202},[984,39499,1459],{"class":990},[984,39501,39502],{"class":986,"line":1211},[984,39503,1038],{"class":990},[26,39505,19579],{"id":19579},[11,39507,27878],{},[11,39509,39510],{},[150,39511,1043],{},[866,39513,39514],{"className":978,"code":27885,"language":980,"meta":760,"style":760},[150,39515,39516,39520,39530,39540,39546,39556,39566,39572,39576,39586,39596,39606,39616,39626,39636,39646,39656,39666,39676,39686,39694,39698,39702,39712,39722,39732,39742,39752,39762,39772,39782,39792,39802,39812,39820,39824,39828,39832],{"__ignoreMap":760},[984,39517,39518],{"class":986,"line":987},[984,39519,991],{"class":990},[984,39521,39522,39524,39526,39528],{"class":986,"line":761},[984,39523,1057],{"class":996},[984,39525,1015],{"class":990},[984,39527,27900],{"class":1003},[984,39529,1021],{"class":990},[984,39531,39532,39534,39536,39538],{"class":986,"line":772},[984,39533,1069],{"class":996},[984,39535,1015],{"class":990},[984,39537,1004],{"class":1003},[984,39539,1021],{"class":990},[984,39541,39542,39544],{"class":986,"line":1024},[984,39543,1080],{"class":996},[984,39545,1083],{"class":990},[984,39547,39548,39550,39552,39554],{"class":986,"line":1035},[984,39549,27923],{"class":996},[984,39551,1015],{"class":990},[984,39553,5131],{"class":996},[984,39555,1021],{"class":990},[984,39557,39558,39560,39562,39564],{"class":986,"line":1098},[984,39559,27934],{"class":996},[984,39561,1015],{"class":990},[984,39563,27939],{"class":1003},[984,39565,1021],{"class":990},[984,39567,39568,39570],{"class":986,"line":1111},[984,39569,27946],{"class":996},[984,39571,1208],{"class":990},[984,39573,39574],{"class":986,"line":1124},[984,39575,27953],{"class":990},[984,39577,39578,39580,39582,39584],{"class":986,"line":1137},[984,39579,27958],{"class":996},[984,39581,1015],{"class":990},[984,39583,27963],{"class":1003},[984,39585,1021],{"class":990},[984,39587,39588,39590,39592,39594],{"class":986,"line":1150},[984,39589,27970],{"class":996},[984,39591,1015],{"class":990},[984,39593,13091],{"class":1003},[984,39595,1021],{"class":990},[984,39597,39598,39600,39602,39604],{"class":986,"line":1163},[984,39599,27981],{"class":996},[984,39601,1015],{"class":990},[984,39603,13091],{"class":1003},[984,39605,1021],{"class":990},[984,39607,39608,39610,39612,39614],{"class":986,"line":1176},[984,39609,27992],{"class":996},[984,39611,1015],{"class":990},[984,39613,13103],{"class":996},[984,39615,1021],{"class":990},[984,39617,39618,39620,39622,39624],{"class":986,"line":1189},[984,39619,28003],{"class":996},[984,39621,1015],{"class":990},[984,39623,13115],{"class":996},[984,39625,1021],{"class":990},[984,39627,39628,39630,39632,39634],{"class":986,"line":1202},[984,39629,28014],{"class":996},[984,39631,1015],{"class":990},[984,39633,2682],{"class":996},[984,39635,1021],{"class":990},[984,39637,39638,39640,39642,39644],{"class":986,"line":1211},[984,39639,28025],{"class":996},[984,39641,1015],{"class":990},[984,39643,2682],{"class":996},[984,39645,1021],{"class":990},[984,39647,39648,39650,39652,39654],{"class":986,"line":1217},[984,39649,28036],{"class":996},[984,39651,1015],{"class":990},[984,39653,13158],{"class":996},[984,39655,1021],{"class":990},[984,39657,39658,39660,39662,39664],{"class":986,"line":1229},[984,39659,28047],{"class":996},[984,39661,1015],{"class":990},[984,39663,13170],{"class":1003},[984,39665,1021],{"class":990},[984,39667,39668,39670,39672,39674],{"class":986,"line":1241},[984,39669,28058],{"class":996},[984,39671,1015],{"class":990},[984,39673,13182],{"class":1003},[984,39675,1021],{"class":990},[984,39677,39678,39680,39682,39684],{"class":986,"line":1254},[984,39679,28069],{"class":996},[984,39681,1015],{"class":990},[984,39683,5931],{"class":1003},[984,39685,1021],{"class":990},[984,39687,39688,39690,39692],{"class":986,"line":1266},[984,39689,28080],{"class":996},[984,39691,1015],{"class":990},[984,39693,28085],{"class":1003},[984,39695,39696],{"class":986,"line":1279},[984,39697,28090],{"class":990},[984,39699,39700],{"class":986,"line":1291},[984,39701,27953],{"class":990},[984,39703,39704,39706,39708,39710],{"class":986,"line":1304},[984,39705,27958],{"class":996},[984,39707,1015],{"class":990},[984,39709,28103],{"class":1003},[984,39711,1021],{"class":990},[984,39713,39714,39716,39718,39720],{"class":986,"line":1316},[984,39715,27970],{"class":996},[984,39717,1015],{"class":990},[984,39719,13091],{"class":1003},[984,39721,1021],{"class":990},[984,39723,39724,39726,39728,39730],{"class":986,"line":1327},[984,39725,27992],{"class":996},[984,39727,1015],{"class":990},[984,39729,13103],{"class":996},[984,39731,1021],{"class":990},[984,39733,39734,39736,39738,39740],{"class":986,"line":1333},[984,39735,28003],{"class":996},[984,39737,1015],{"class":990},[984,39739,13115],{"class":996},[984,39741,1021],{"class":990},[984,39743,39744,39746,39748,39750],{"class":986,"line":1338},[984,39745,28014],{"class":996},[984,39747,1015],{"class":990},[984,39749,2682],{"class":996},[984,39751,1021],{"class":990},[984,39753,39754,39756,39758,39760],{"class":986,"line":1355},[984,39755,27981],{"class":996},[984,39757,1015],{"class":990},[984,39759,13091],{"class":1003},[984,39761,1021],{"class":990},[984,39763,39764,39766,39768,39770],{"class":986,"line":1367},[984,39765,28025],{"class":996},[984,39767,1015],{"class":990},[984,39769,2682],{"class":996},[984,39771,1021],{"class":990},[984,39773,39774,39776,39778,39780],{"class":986,"line":1379},[984,39775,28036],{"class":996},[984,39777,1015],{"class":990},[984,39779,13158],{"class":996},[984,39781,1021],{"class":990},[984,39783,39784,39786,39788,39790],{"class":986,"line":1390},[984,39785,28047],{"class":996},[984,39787,1015],{"class":990},[984,39789,13170],{"class":1003},[984,39791,1021],{"class":990},[984,39793,39794,39796,39798,39800],{"class":986,"line":1402},[984,39795,28058],{"class":996},[984,39797,1015],{"class":990},[984,39799,28194],{"class":1003},[984,39801,1021],{"class":990},[984,39803,39804,39806,39808,39810],{"class":986,"line":1413},[984,39805,28069],{"class":996},[984,39807,1015],{"class":990},[984,39809,6305],{"class":1003},[984,39811,1021],{"class":990},[984,39813,39814,39816,39818],{"class":986,"line":1424},[984,39815,28080],{"class":996},[984,39817,1015],{"class":990},[984,39819,28215],{"class":1003},[984,39821,39822],{"class":986,"line":1435},[984,39823,28220],{"class":990},[984,39825,39826],{"class":986,"line":1444},[984,39827,28225],{"class":990},[984,39829,39830],{"class":986,"line":1450},[984,39831,1459],{"class":990},[984,39833,39834],{"class":986,"line":1456},[984,39835,1038],{"class":990},[89,39837,39838,39846],{},[54,39839,39840,441,39842,28242,39844,28246],{},[150,39841,2657],{},[150,39843,26967],{},[18,39845,26914],{"href":28245},[54,39847,39848,28252],{},[150,39849,28251],{},[26,39851,19587],{"id":19587},[11,39853,28257,39854,28260],{},[18,39855,913],{"href":2036},[11,39857,28263],{},[11,39859,39860],{},[150,39861,28268],{},[866,39863,39864],{"className":978,"code":28271,"language":980,"meta":760,"style":760},[150,39865,39866,39870,39880,39890,39896,39906,39916,39922,39934,39946,39950,39954],{"__ignoreMap":760},[984,39867,39868],{"class":986,"line":987},[984,39869,991],{"class":990},[984,39871,39872,39874,39876,39878],{"class":986,"line":761},[984,39873,1057],{"class":996},[984,39875,1015],{"class":990},[984,39877,28286],{"class":1003},[984,39879,1021],{"class":990},[984,39881,39882,39884,39886,39888],{"class":986,"line":772},[984,39883,1069],{"class":996},[984,39885,1015],{"class":990},[984,39887,1004],{"class":1003},[984,39889,1021],{"class":990},[984,39891,39892,39894],{"class":986,"line":1024},[984,39893,1080],{"class":996},[984,39895,28305],{"class":990},[984,39897,39898,39900,39902,39904],{"class":986,"line":1035},[984,39899,27923],{"class":996},[984,39901,1015],{"class":990},[984,39903,1345],{"class":996},[984,39905,1021],{"class":990},[984,39907,39908,39910,39912,39914],{"class":986,"line":1098},[984,39909,27934],{"class":996},[984,39911,1015],{"class":990},[984,39913,28324],{"class":1003},[984,39915,1021],{"class":990},[984,39917,39918,39920],{"class":986,"line":1111},[984,39919,28331],{"class":996},[984,39921,1208],{"class":990},[984,39923,39924,39926,39928,39930,39932],{"class":986,"line":1124},[984,39925,28338],{"class":990},[984,39927,1470],{"class":996},[984,39929,1015],{"class":990},[984,39931,28345],{"class":996},[984,39933,28348],{"class":990},[984,39935,39936,39938,39940,39942,39944],{"class":986,"line":1137},[984,39937,28338],{"class":990},[984,39939,1470],{"class":996},[984,39941,1015],{"class":990},[984,39943,28359],{"class":996},[984,39945,28362],{"class":990},[984,39947,39948],{"class":986,"line":1150},[984,39949,28225],{"class":990},[984,39951,39952],{"class":986,"line":1163},[984,39953,1459],{"class":990},[984,39955,39956],{"class":986,"line":1176},[984,39957,1038],{"class":990},[89,39959,39960,39968],{},[54,39961,39962,441,39964,28242,39966,28246],{},[150,39963,2657],{},[150,39965,26967],{},[18,39967,26914],{"href":28245},[54,39969,39970,28390,39972,28393],{},[150,39971,28389],{},[150,39973,26945],{},[11,39975,28396],{},[11,39977,39978],{},[150,39979,28268],{},[866,39981,39982],{"className":978,"code":28403,"language":980,"meta":760,"style":760},[150,39983,39984,39988,39998,40008,40014,40024,40034,40040,40044,40054,40064,40074,40084,40094,40104,40114,40120,40130,40140,40150,40160,40168,40172,40182,40192,40202,40210,40214,40218,40222],{"__ignoreMap":760},[984,39985,39986],{"class":986,"line":987},[984,39987,991],{"class":990},[984,39989,39990,39992,39994,39996],{"class":986,"line":761},[984,39991,1012],{"class":996},[984,39993,1015],{"class":990},[984,39995,28286],{"class":1003},[984,39997,1021],{"class":990},[984,39999,40000,40002,40004,40006],{"class":986,"line":772},[984,40001,997],{"class":996},[984,40003,1015],{"class":990},[984,40005,1004],{"class":1003},[984,40007,1021],{"class":990},[984,40009,40010,40012],{"class":986,"line":1024},[984,40011,1724],{"class":996},[984,40013,1083],{"class":990},[984,40015,40016,40018,40020,40022],{"class":986,"line":1035},[984,40017,2577],{"class":996},[984,40019,1015],{"class":990},[984,40021,5131],{"class":996},[984,40023,1021],{"class":990},[984,40025,40026,40028,40030,40032],{"class":986,"line":1098},[984,40027,2588],{"class":996},[984,40029,1015],{"class":990},[984,40031,27939],{"class":1003},[984,40033,1021],{"class":990},[984,40035,40036,40038],{"class":986,"line":1111},[984,40037,17104],{"class":996},[984,40039,1208],{"class":990},[984,40041,40042],{"class":986,"line":1124},[984,40043,28466],{"class":990},[984,40045,40046,40048,40050,40052],{"class":986,"line":1137},[984,40047,28471],{"class":996},[984,40049,1015],{"class":990},[984,40051,1345],{"class":996},[984,40053,1021],{"class":990},[984,40055,40056,40058,40060,40062],{"class":986,"line":1150},[984,40057,28482],{"class":996},[984,40059,1015],{"class":990},[984,40061,1362],{"class":996},[984,40063,1021],{"class":990},[984,40065,40066,40068,40070,40072],{"class":986,"line":1163},[984,40067,28493],{"class":996},[984,40069,1015],{"class":990},[984,40071,1374],{"class":1003},[984,40073,1021],{"class":990},[984,40075,40076,40078,40080,40082],{"class":986,"line":1176},[984,40077,28504],{"class":996},[984,40079,1015],{"class":990},[984,40081,1345],{"class":996},[984,40083,1021],{"class":990},[984,40085,40086,40088,40090,40092],{"class":986,"line":1189},[984,40087,28515],{"class":996},[984,40089,1015],{"class":990},[984,40091,1926],{"class":996},[984,40093,1021],{"class":990},[984,40095,40096,40098,40100,40102],{"class":986,"line":1202},[984,40097,28526],{"class":996},[984,40099,1015],{"class":990},[984,40101,24590],{"class":1003},[984,40103,1021],{"class":990},[984,40105,40106,40108,40110,40112],{"class":986,"line":1211},[984,40107,28537],{"class":996},[984,40109,1015],{"class":990},[984,40111,2682],{"class":996},[984,40113,1021],{"class":990},[984,40115,40116,40118],{"class":986,"line":1217},[984,40117,28548],{"class":996},[984,40119,1083],{"class":990},[984,40121,40122,40124,40126,40128],{"class":986,"line":1229},[984,40123,28555],{"class":996},[984,40125,1015],{"class":990},[984,40127,24620],{"class":1003},[984,40129,1021],{"class":990},[984,40131,40132,40134,40136,40138],{"class":986,"line":1241},[984,40133,28566],{"class":996},[984,40135,1015],{"class":990},[984,40137,24632],{"class":1003},[984,40139,1021],{"class":990},[984,40141,40142,40144,40146,40148],{"class":986,"line":1254},[984,40143,28577],{"class":996},[984,40145,1015],{"class":990},[984,40147,24644],{"class":1003},[984,40149,1021],{"class":990},[984,40151,40152,40154,40156,40158],{"class":986,"line":1266},[984,40153,28588],{"class":996},[984,40155,1015],{"class":990},[984,40157,24656],{"class":1003},[984,40159,1021],{"class":990},[984,40161,40162,40164,40166],{"class":986,"line":1279},[984,40163,28599],{"class":996},[984,40165,1015],{"class":990},[984,40167,24668],{"class":1003},[984,40169,40170],{"class":986,"line":1291},[984,40171,28608],{"class":990},[984,40173,40174,40176,40178,40180],{"class":986,"line":1304},[984,40175,28613],{"class":996},[984,40177,1015],{"class":990},[984,40179,2682],{"class":996},[984,40181,1021],{"class":990},[984,40183,40184,40186,40188,40190],{"class":986,"line":1316},[984,40185,28624],{"class":996},[984,40187,1015],{"class":990},[984,40189,2682],{"class":996},[984,40191,1021],{"class":990},[984,40193,40194,40196,40198,40200],{"class":986,"line":1327},[984,40195,28635],{"class":996},[984,40197,1015],{"class":990},[984,40199,1950],{"class":1003},[984,40201,1021],{"class":990},[984,40203,40204,40206,40208],{"class":986,"line":1333},[984,40205,28646],{"class":996},[984,40207,1015],{"class":990},[984,40209,1962],{"class":996},[984,40211,40212],{"class":986,"line":1338},[984,40213,28220],{"class":990},[984,40215,40216],{"class":986,"line":1355},[984,40217,28659],{"class":990},[984,40219,40220],{"class":986,"line":1367},[984,40221,1607],{"class":990},[984,40223,40224],{"class":986,"line":1379},[984,40225,1038],{"class":990},[89,40227,40228,40236],{},[54,40229,40230,441,40232,28242,40234,28246],{},[150,40231,2657],{},[150,40233,26967],{},[18,40235,26914],{"href":28245},[54,40237,40238,28682,40240,28685],{},[150,40239,28389],{},[18,40241,918],{"href":12373},[26,40243,19593],{"id":19593},[11,40245,28690,40246,4316],{},[150,40247,948],{},[11,40249,40250],{},[150,40251,28268],{},[866,40253,40254],{"className":978,"code":28699,"language":980,"meta":760,"style":760},[150,40255,40256,40260,40270,40280,40286,40296,40306,40312,40316,40326,40336,40346,40356,40366,40376,40386,40396,40404,40408,40412,40416],{"__ignoreMap":760},[984,40257,40258],{"class":986,"line":987},[984,40259,991],{"class":990},[984,40261,40262,40264,40266,40268],{"class":986,"line":761},[984,40263,1012],{"class":996},[984,40265,1015],{"class":990},[984,40267,28714],{"class":1003},[984,40269,1021],{"class":990},[984,40271,40272,40274,40276,40278],{"class":986,"line":772},[984,40273,997],{"class":996},[984,40275,1015],{"class":990},[984,40277,1004],{"class":1003},[984,40279,1021],{"class":990},[984,40281,40282,40284],{"class":986,"line":1024},[984,40283,1724],{"class":996},[984,40285,1083],{"class":990},[984,40287,40288,40290,40292,40294],{"class":986,"line":1035},[984,40289,2577],{"class":996},[984,40291,1015],{"class":990},[984,40293,5131],{"class":996},[984,40295,1021],{"class":990},[984,40297,40298,40300,40302,40304],{"class":986,"line":1098},[984,40299,2588],{"class":996},[984,40301,1015],{"class":990},[984,40303,27939],{"class":1003},[984,40305,1021],{"class":990},[984,40307,40308,40310],{"class":986,"line":1111},[984,40309,28757],{"class":996},[984,40311,1208],{"class":990},[984,40313,40314],{"class":986,"line":1124},[984,40315,9689],{"class":990},[984,40317,40318,40320,40322,40324],{"class":986,"line":1137},[984,40319,28768],{"class":996},[984,40321,1015],{"class":990},[984,40323,1158],{"class":996},[984,40325,1021],{"class":990},[984,40327,40328,40330,40332,40334],{"class":986,"line":1150},[984,40329,28779],{"class":996},[984,40331,1015],{"class":990},[984,40333,1171],{"class":996},[984,40335,1021],{"class":990},[984,40337,40338,40340,40342,40344],{"class":986,"line":1163},[984,40339,28790],{"class":996},[984,40341,1015],{"class":990},[984,40343,16963],{"class":996},[984,40345,1021],{"class":990},[984,40347,40348,40350,40352,40354],{"class":986,"line":1176},[984,40349,28801],{"class":996},[984,40351,1015],{"class":990},[984,40353,16974],{"class":996},[984,40355,1021],{"class":990},[984,40357,40358,40360,40362,40364],{"class":986,"line":1189},[984,40359,28812],{"class":996},[984,40361,1015],{"class":990},[984,40363,16985],{"class":1003},[984,40365,1021],{"class":990},[984,40367,40368,40370,40372,40374],{"class":986,"line":1202},[984,40369,28823],{"class":996},[984,40371,1015],{"class":990},[984,40373,14895],{"class":1003},[984,40375,1021],{"class":990},[984,40377,40378,40380,40382,40384],{"class":986,"line":1211},[984,40379,28834],{"class":996},[984,40381,1015],{"class":990},[984,40383,13091],{"class":1003},[984,40385,1021],{"class":990},[984,40387,40388,40390,40392,40394],{"class":986,"line":1217},[984,40389,28845],{"class":996},[984,40391,1015],{"class":990},[984,40393,1503],{"class":996},[984,40395,1021],{"class":990},[984,40397,40398,40400,40402],{"class":986,"line":1229},[984,40399,28856],{"class":996},[984,40401,1015],{"class":990},[984,40403,17028],{"class":1003},[984,40405,40406],{"class":986,"line":1241},[984,40407,28865],{"class":990},[984,40409,40410],{"class":986,"line":1254},[984,40411,28870],{"class":990},[984,40413,40414],{"class":986,"line":1266},[984,40415,1607],{"class":990},[984,40417,40418],{"class":986,"line":1279},[984,40419,1038],{"class":990},[89,40421,40422,40430],{},[54,40423,40424,441,40426,28242,40428,28246],{},[150,40425,2657],{},[150,40427,26967],{},[18,40429,26914],{"href":28245},[54,40431,40432,28893,40434,28685],{},[150,40433,8355],{},[18,40435,12024],{"href":12331},[26,40437,19599],{"id":19599},[11,40439,28900],{},[11,40441,40442],{},[150,40443,28268],{},[866,40445,40447],{"className":978,"code":40446,"language":980,"meta":760,"style":760},"{\n    \"id\": \"ev_txs_changed\",\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"change\": 3,\n        \"change_str\": \"reset\",\n        \"txs\": [\n            {\n                \"txId\" : \"10c4b760c842433cb58339a0fafef3db\",\n                \"asset_id\": 0,\n                \"comment\": \"\",\n                \"fee\": 100,\n                \"kernel\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n                \"receiver\": \"472e17b0419055ffee3b3813b98ae671579b0ac0dcd6f1a23b11a75ab148cc67\",\n                \"sender\": \"f287176bdd517e9c277778e4c012bf6a3e687dd614fc552a1ed22a3fee7d94f2\",\n                \"status\": 4,\n                \"status_string\" : \"Failed\",\n                \"tx_type\": 0,\n                \"tx_type_string\": \"simple\",\n                \"failure_reason\" : \"No inputs\",\n                \"value\": 12342342,\n                \"create_time\" : 1551100217,\n                \"income\" : false,\n                \"rates\": [],\n                \"sender_identity\": \"a0a1ebbfeed5c312b309e32715c159e6b4548a6c6c3af25d0dbc16f37a1e9dd6\",\n                \"receiver_identity\": \"2d8738b0424ad50631e902fab655e7e1795fbb8d92d47c4c8df7336870fcadf5\",\n                \"token\": \"44pE7ySjZYjbLqwnTJANvr4BudMk1RdvWvaZnBvoCTwFnigfaTSza75bvw7x2GCa377Z4CSRRYZon44Ss9G9joSicNRAgts4u3pL6yV6jDQ6gAVJD9Scyr\"\n            } \n        ]\n    }\n}\n",[150,40448,40449,40453,40463,40473,40479,40489,40499,40505,40509,40519,40529,40539,40549,40559,40569,40579,40589,40599,40609,40619,40629,40639,40649,40659,40666,40676,40686,40694,40698,40702,40706],{"__ignoreMap":760},[984,40450,40451],{"class":986,"line":987},[984,40452,991],{"class":990},[984,40454,40455,40457,40459,40461],{"class":986,"line":761},[984,40456,1012],{"class":996},[984,40458,1015],{"class":990},[984,40460,28922],{"class":1003},[984,40462,1021],{"class":990},[984,40464,40465,40467,40469,40471],{"class":986,"line":772},[984,40466,997],{"class":996},[984,40468,1015],{"class":990},[984,40470,1004],{"class":1003},[984,40472,1021],{"class":990},[984,40474,40475,40477],{"class":986,"line":1024},[984,40476,1724],{"class":996},[984,40478,1083],{"class":990},[984,40480,40481,40483,40485,40487],{"class":986,"line":1035},[984,40482,2577],{"class":996},[984,40484,1015],{"class":990},[984,40486,5131],{"class":996},[984,40488,1021],{"class":990},[984,40490,40491,40493,40495,40497],{"class":986,"line":1098},[984,40492,2588],{"class":996},[984,40494,1015],{"class":990},[984,40496,27939],{"class":1003},[984,40498,1021],{"class":990},[984,40500,40501,40503],{"class":986,"line":1111},[984,40502,28965],{"class":996},[984,40504,1208],{"class":990},[984,40506,40507],{"class":986,"line":1124},[984,40508,9689],{"class":990},[984,40510,40511,40513,40515,40517],{"class":986,"line":1137},[984,40512,28976],{"class":996},[984,40514,1738],{"class":990},[984,40516,14895],{"class":1003},[984,40518,1021],{"class":990},[984,40520,40521,40523,40525,40527],{"class":986,"line":1150},[984,40522,28779],{"class":996},[984,40524,1015],{"class":990},[984,40526,1171],{"class":996},[984,40528,1021],{"class":990},[984,40530,40531,40533,40535,40537],{"class":986,"line":1163},[984,40532,28997],{"class":996},[984,40534,1015],{"class":990},[984,40536,13091],{"class":1003},[984,40538,1021],{"class":990},[984,40540,40541,40543,40545,40547],{"class":986,"line":1176},[984,40542,29008],{"class":996},[984,40544,1015],{"class":990},[984,40546,4979],{"class":996},[984,40548,1021],{"class":990},[984,40550,40551,40553,40555,40557],{"class":986,"line":1189},[984,40552,29019],{"class":996},[984,40554,1015],{"class":990},[984,40556,14999],{"class":1003},[984,40558,1021],{"class":990},[984,40560,40561,40563,40565,40567],{"class":986,"line":1202},[984,40562,29030],{"class":996},[984,40564,1015],{"class":990},[984,40566,1562],{"class":1003},[984,40568,1021],{"class":990},[984,40570,40571,40573,40575,40577],{"class":986,"line":1211},[984,40572,29041],{"class":996},[984,40574,1015],{"class":990},[984,40576,15022],{"class":1003},[984,40578,1021],{"class":990},[984,40580,40581,40583,40585,40587],{"class":986,"line":1217},[984,40582,28845],{"class":996},[984,40584,1015],{"class":990},[984,40586,2431],{"class":996},[984,40588,1021],{"class":990},[984,40590,40591,40593,40595,40597],{"class":986,"line":1229},[984,40592,28856],{"class":996},[984,40594,1738],{"class":990},[984,40596,15045],{"class":1003},[984,40598,1021],{"class":990},[984,40600,40601,40603,40605,40607],{"class":986,"line":1241},[984,40602,29072],{"class":996},[984,40604,1015],{"class":990},[984,40606,1171],{"class":996},[984,40608,1021],{"class":990},[984,40610,40611,40613,40615,40617],{"class":986,"line":1254},[984,40612,29083],{"class":996},[984,40614,1015],{"class":990},[984,40616,15068],{"class":1003},[984,40618,1021],{"class":990},[984,40620,40621,40623,40625,40627],{"class":986,"line":1266},[984,40622,29094],{"class":996},[984,40624,1738],{"class":990},[984,40626,15080],{"class":1003},[984,40628,1021],{"class":990},[984,40630,40631,40633,40635,40637],{"class":986,"line":1279},[984,40632,29105],{"class":996},[984,40634,1015],{"class":990},[984,40636,1539],{"class":996},[984,40638,1021],{"class":990},[984,40640,40641,40643,40645,40647],{"class":986,"line":1291},[984,40642,29116],{"class":996},[984,40644,1738],{"class":990},[984,40646,15101],{"class":996},[984,40648,1021],{"class":990},[984,40650,40651,40653,40655,40657],{"class":986,"line":1304},[984,40652,29127],{"class":996},[984,40654,1738],{"class":990},[984,40656,5089],{"class":996},[984,40658,1021],{"class":990},[984,40660,40661,40664],{"class":986,"line":1316},[984,40662,40663],{"class":996},"                \"rates\"",[984,40665,6628],{"class":990},[984,40667,40668,40670,40672,40674],{"class":986,"line":1327},[984,40669,29138],{"class":996},[984,40671,1015],{"class":990},[984,40673,15124],{"class":1003},[984,40675,1021],{"class":990},[984,40677,40678,40680,40682,40684],{"class":986,"line":1333},[984,40679,29149],{"class":996},[984,40681,1015],{"class":990},[984,40683,13182],{"class":1003},[984,40685,1021],{"class":990},[984,40687,40688,40690,40692],{"class":986,"line":1338},[984,40689,29160],{"class":996},[984,40691,1015],{"class":990},[984,40693,15147],{"class":1003},[984,40695,40696],{"class":986,"line":1355},[984,40697,28865],{"class":990},[984,40699,40700],{"class":986,"line":1367},[984,40701,28870],{"class":990},[984,40703,40704],{"class":986,"line":1379},[984,40705,1607],{"class":990},[984,40707,40708],{"class":986,"line":1390},[984,40709,1038],{"class":990},[89,40711,40712,40720],{},[54,40713,40714,441,40716,28242,40718,28246],{},[150,40715,2657],{},[150,40717,26967],{},[18,40719,26914],{"href":28245},[54,40721,40722,29196,40724,28685],{},[150,40723,29195],{},[18,40725,12303],{"href":12302},[43,40727,29326],{"id":29326},[11,40729,40730],{},"Event is generated when wallet connection status is changed. For example, connected\u002Fdisconnected to node, detected own node, etc.",[11,40732,40733],{},[150,40734,1043],{},[866,40736,40738],{"className":978,"code":40737,"language":980,"meta":760,"style":760},"{\n  \"id\": \"ev_connection_changed\",\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"node_connected\": true,\n    \"own_node\": false,\n  }\n}\n",[150,40739,40740,40744,40755,40765,40771,40782,40793,40797],{"__ignoreMap":760},[984,40741,40742],{"class":986,"line":987},[984,40743,991],{"class":990},[984,40745,40746,40748,40750,40753],{"class":986,"line":761},[984,40747,1057],{"class":996},[984,40749,1015],{"class":990},[984,40751,40752],{"class":1003},"\"ev_connection_changed\"",[984,40754,1021],{"class":990},[984,40756,40757,40759,40761,40763],{"class":986,"line":772},[984,40758,1069],{"class":996},[984,40760,1015],{"class":990},[984,40762,1004],{"class":1003},[984,40764,1021],{"class":990},[984,40766,40767,40769],{"class":986,"line":1024},[984,40768,1080],{"class":996},[984,40770,1083],{"class":990},[984,40772,40773,40776,40778,40780],{"class":986,"line":1035},[984,40774,40775],{"class":996},"    \"node_connected\"",[984,40777,1015],{"class":990},[984,40779,2682],{"class":996},[984,40781,1021],{"class":990},[984,40783,40784,40787,40789,40791],{"class":986,"line":1098},[984,40785,40786],{"class":996},"    \"own_node\"",[984,40788,1015],{"class":990},[984,40790,5089],{"class":996},[984,40792,1021],{"class":990},[984,40794,40795],{"class":986,"line":1111},[984,40796,1459],{"class":990},[984,40798,40799],{"class":986,"line":1124},[984,40800,1038],{"class":990},[89,40802,40803,40812,40820],{},[54,40804,40805,40808,40809,40811],{},[150,40806,40807],{},"node_connected"," - if ",[150,40810,2682],{}," this means that wallet successfully connected at least to one node",[54,40813,40814,557,40817,40819],{},[150,40815,40816],{},"own_node",[150,40818,2682],{}," if one of connected beam nodes has owner key",[54,40821,40822,40825],{},[150,40823,40824],{},"last_connect_error"," - this field contains a string with last connection error explanation",[26,40827,29479],{"id":29479},[11,40829,40830],{},"Generates Schnorr signature for a custom message with public key generated from the given key material.",[11,40832,40833],{},[150,40834,975],{},[866,40836,40838],{"className":978,"code":40837,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"sign_message\", \n    \"params\":\n    {\n        \"message\" : \"my message\",\n        \"key_material\": \"b51efe78d3e7c83c8dbc3d59d5e06b2bd770139e645bc19e50652632cbdd47d10000000047616c6c6572792d6b65792d6f776e6572\"\n    }\n}\n",[150,40839,40840,40844,40854,40864,40875,40881,40885,40897,40907,40911],{"__ignoreMap":760},[984,40841,40842],{"class":986,"line":987},[984,40843,991],{"class":990},[984,40845,40846,40848,40850,40852],{"class":986,"line":761},[984,40847,997],{"class":996},[984,40849,1000],{"class":990},[984,40851,1004],{"class":1003},[984,40853,1007],{"class":990},[984,40855,40856,40858,40860,40862],{"class":986,"line":772},[984,40857,1012],{"class":996},[984,40859,1015],{"class":990},[984,40861,1345],{"class":996},[984,40863,1021],{"class":990},[984,40865,40866,40868,40870,40873],{"class":986,"line":1024},[984,40867,1027],{"class":996},[984,40869,1015],{"class":990},[984,40871,40872],{"class":1003},"\"sign_message\"",[984,40874,1007],{"class":990},[984,40876,40877,40879],{"class":986,"line":1035},[984,40878,1521],{"class":996},[984,40880,1524],{"class":990},[984,40882,40883],{"class":986,"line":1098},[984,40884,1529],{"class":990},[984,40886,40887,40890,40892,40895],{"class":986,"line":1111},[984,40888,40889],{"class":996},"        \"message\"",[984,40891,1738],{"class":990},[984,40893,40894],{"class":1003},"\"my message\"",[984,40896,1021],{"class":990},[984,40898,40899,40902,40904],{"class":986,"line":1124},[984,40900,40901],{"class":996},"        \"key_material\"",[984,40903,1015],{"class":990},[984,40905,40906],{"class":1003},"\"b51efe78d3e7c83c8dbc3d59d5e06b2bd770139e645bc19e50652632cbdd47d10000000047616c6c6572792d6b65792d6f776e6572\"\n",[984,40908,40909],{"class":986,"line":1137},[984,40910,1607],{"class":990},[984,40912,40913],{"class":986,"line":1150},[984,40914,1038],{"class":990},[89,40916,40917,40922],{},[54,40918,40919,40921],{},[150,40920,11992],{}," user message to sign",[54,40923,40924,40927],{},[150,40925,40926],{},"key_material"," hex encoded key material for key generation. It could be retrieved from application shader",[11,40929,40930],{},[150,40931,1043],{},[866,40933,40935],{"className":978,"code":40934,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : \n    {\n        \"signature\" : \"bb025df14a3f0539c4b89d5eeacb8510de5de49456cff3d4027323697469021b0022262fc2457523a28524e696ec3b2825e9c4558d78da2db165cd93b8710eb7b3\"\n    }\n}\n",[150,40936,40937,40941,40951,40961,40967,40971,40981,40985],{"__ignoreMap":760},[984,40938,40939],{"class":986,"line":987},[984,40940,991],{"class":990},[984,40942,40943,40945,40947,40949],{"class":986,"line":761},[984,40944,997],{"class":996},[984,40946,1000],{"class":990},[984,40948,1004],{"class":1003},[984,40950,1007],{"class":990},[984,40952,40953,40955,40957,40959],{"class":986,"line":772},[984,40954,1012],{"class":996},[984,40956,1015],{"class":990},[984,40958,1345],{"class":996},[984,40960,1021],{"class":990},[984,40962,40963,40965],{"class":986,"line":1024},[984,40964,1724],{"class":996},[984,40966,5895],{"class":990},[984,40968,40969],{"class":986,"line":1035},[984,40970,1529],{"class":990},[984,40972,40973,40976,40978],{"class":986,"line":1098},[984,40974,40975],{"class":996},"        \"signature\"",[984,40977,1738],{"class":990},[984,40979,40980],{"class":1003},"\"bb025df14a3f0539c4b89d5eeacb8510de5de49456cff3d4027323697469021b0022262fc2457523a28524e696ec3b2825e9c4558d78da2db165cd93b8710eb7b3\"\n",[984,40982,40983],{"class":986,"line":1111},[984,40984,1607],{"class":990},[984,40986,40987],{"class":986,"line":1124},[984,40988,1038],{"class":990},[89,40990,40991],{},[54,40992,40993,40996],{},[150,40994,40995],{},"signature"," 65-byte hex encoded Schnorr signature. It signes SHA256(\"beam.signed.message\"+len(message)+message)",[26,40998,29487],{"id":29487},[11,41000,41001],{},"Verifies Schnorr signature for a custom message.",[11,41003,41004],{},[150,41005,975],{},[866,41007,41009],{"className":978,"code":41008,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"verify_signature\", \n    \"params\":\n    {\n        \"message\" : \"my message\",\n        \"public_key\": \"37b20c87f7b70c133e3c99e54e97b1febc51b61c0310a3a5ba6856748a67e9e601\",\n        \"signature\": \"bb025df14a3f0539c4b89d5eeacb8510de5de49456cff3d4027323697469021b0022262fc2457523a28524e696ec3b2825e9c4558d78da2db165cd93b8710eb7b3\"\n    }\n}\n",[150,41010,41011,41015,41025,41035,41046,41052,41056,41066,41078,41086,41090],{"__ignoreMap":760},[984,41012,41013],{"class":986,"line":987},[984,41014,991],{"class":990},[984,41016,41017,41019,41021,41023],{"class":986,"line":761},[984,41018,997],{"class":996},[984,41020,1000],{"class":990},[984,41022,1004],{"class":1003},[984,41024,1007],{"class":990},[984,41026,41027,41029,41031,41033],{"class":986,"line":772},[984,41028,1012],{"class":996},[984,41030,1015],{"class":990},[984,41032,1345],{"class":996},[984,41034,1021],{"class":990},[984,41036,41037,41039,41041,41044],{"class":986,"line":1024},[984,41038,1027],{"class":996},[984,41040,1015],{"class":990},[984,41042,41043],{"class":1003},"\"verify_signature\"",[984,41045,1007],{"class":990},[984,41047,41048,41050],{"class":986,"line":1035},[984,41049,1521],{"class":996},[984,41051,1524],{"class":990},[984,41053,41054],{"class":986,"line":1098},[984,41055,1529],{"class":990},[984,41057,41058,41060,41062,41064],{"class":986,"line":1111},[984,41059,40889],{"class":996},[984,41061,1738],{"class":990},[984,41063,40894],{"class":1003},[984,41065,1021],{"class":990},[984,41067,41068,41071,41073,41076],{"class":986,"line":1124},[984,41069,41070],{"class":996},"        \"public_key\"",[984,41072,1015],{"class":990},[984,41074,41075],{"class":1003},"\"37b20c87f7b70c133e3c99e54e97b1febc51b61c0310a3a5ba6856748a67e9e601\"",[984,41077,1021],{"class":990},[984,41079,41080,41082,41084],{"class":986,"line":1137},[984,41081,40975],{"class":996},[984,41083,1015],{"class":990},[984,41085,40980],{"class":1003},[984,41087,41088],{"class":986,"line":1150},[984,41089,1607],{"class":990},[984,41091,41092],{"class":986,"line":1163},[984,41093,1038],{"class":990},[89,41095,41096,41100,41106],{},[54,41097,41098,40921],{},[150,41099,11992],{},[54,41101,41102,41105],{},[150,41103,41104],{},"public_key"," 33 byte hex encoded public key",[54,41107,41108,41110],{},[150,41109,40995],{}," 65 byte hex encode signature",[11,41112,41113],{},[150,41114,1043],{},[866,41116,41118],{"className":978,"code":41117,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : true\n}\n",[150,41119,41120,41124,41134,41144,41152],{"__ignoreMap":760},[984,41121,41122],{"class":986,"line":987},[984,41123,991],{"class":990},[984,41125,41126,41128,41130,41132],{"class":986,"line":761},[984,41127,997],{"class":996},[984,41129,1000],{"class":990},[984,41131,1004],{"class":1003},[984,41133,1007],{"class":990},[984,41135,41136,41138,41140,41142],{"class":986,"line":772},[984,41137,1012],{"class":996},[984,41139,1015],{"class":990},[984,41141,1345],{"class":996},[984,41143,1021],{"class":990},[984,41145,41146,41148,41150],{"class":986,"line":1024},[984,41147,1724],{"class":996},[984,41149,1738],{"class":990},[984,41151,2497],{"class":996},[984,41153,41154],{"class":986,"line":1035},[984,41155,1038],{"class":990},[2685,41157,8046],{},{"title":760,"searchDepth":761,"depth":761,"links":41159},[41160,41166,41167,41172,41173,41174,41175,41176,41179,41180,41181,41182,41183,41184,41185,41186,41187,41188,41189,41194,41195,41196,41197,41198,41199,41200,41205,41206,41207,41208,41209,41210,41211,41212,41213,41214,41215,41216,41217,41218,41219,41220,41221,41222,41223],{"id":29290,"depth":761,"text":29291,"children":41161},[41162,41163,41164,41165],{"id":19497,"depth":772,"text":19498},{"id":19475,"depth":772,"text":19476},{"id":19554,"depth":772,"text":19555},{"id":29500,"depth":772,"text":29501},{"id":12086,"depth":761,"text":12087},{"id":12229,"depth":761,"text":12230,"children":41168},[41169,41170,41171],{"id":29572,"depth":772,"text":29573},{"id":29754,"depth":772,"text":29755},{"id":29808,"depth":772,"text":29809},{"id":26880,"depth":761,"text":29821},{"id":18489,"depth":761,"text":18490},{"id":6196,"depth":761,"text":6196},{"id":5854,"depth":761,"text":5854},{"id":12265,"depth":761,"text":12265,"children":41177},[41178],{"id":13237,"depth":772,"text":2757},{"id":12249,"depth":761,"text":12249},{"id":12257,"depth":761,"text":12257},{"id":888,"depth":761,"text":888},{"id":893,"depth":761,"text":893},{"id":903,"depth":761,"text":903},{"id":908,"depth":761,"text":908},{"id":913,"depth":761,"text":913},{"id":12316,"depth":761,"text":12316},{"id":12324,"depth":761,"text":12324},{"id":12303,"depth":761,"text":12303},{"id":12337,"depth":761,"text":12337,"children":41190},[41191,41192,41193],{"id":15966,"depth":772,"text":15967},{"id":15970,"depth":772,"text":15971},{"id":16051,"depth":772,"text":16052},{"id":883,"depth":761,"text":883},{"id":12024,"depth":761,"text":12024},{"id":918,"depth":761,"text":918},{"id":12350,"depth":761,"text":12350},{"id":12358,"depth":761,"text":12358},{"id":12366,"depth":761,"text":12366},{"id":12395,"depth":761,"text":12395,"children":41201},[41202,41203,41204],{"id":18496,"depth":772,"text":18497},{"id":18503,"depth":772,"text":18504},{"id":25761,"depth":772,"text":25762},{"id":12406,"depth":761,"text":12406},{"id":923,"depth":761,"text":923},{"id":12416,"depth":761,"text":12416},{"id":19484,"depth":761,"text":19484},{"id":29419,"depth":761,"text":29419},{"id":29429,"depth":761,"text":29429},{"id":29439,"depth":761,"text":29439},{"id":29449,"depth":761,"text":29449},{"id":29459,"depth":761,"text":29459},{"id":29469,"depth":761,"text":29469},{"id":19492,"depth":761,"text":19492},{"id":19563,"depth":761,"text":19563},{"id":19571,"depth":761,"text":19571},{"id":19579,"depth":761,"text":19579},{"id":19587,"depth":761,"text":19587},{"id":19593,"depth":761,"text":19593},{"id":19599,"depth":761,"text":19599},{"id":29479,"depth":761,"text":29479},{"id":29487,"depth":761,"text":29487},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.0",{"description":760},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.0","-BkH1fwCmYTAseMUfHjzWLmbHyR96aPc56sX1OqdIdQ",{"id":41230,"title":41231,"body":41232,"description":760,"extension":775,"image":776,"meta":52933,"navTitle":776,"navigation":778,"path":52934,"seo":52935,"stem":52936,"__hash__":52937},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.1.md","Beam Wallet Protocol API V71",{"type":8,"value":41233,"toc":52869},[41234,41238,41240,41250,41252,41254,41306,41308,41310,41494,41496,41546,41548,41557,41559,41565,41605,41659,41661,41663,41665,41667,41671,41765,41850,41872,41876,41916,41918,41922,41926,41990,41994,42078,42092,42094,42096,42100,42164,42174,42178,42342,42382,42384,42392,42394,42396,42400,42464,42468,42508,42510,42518,42522,42606,42610,42650,42652,42654,42658,42782,42830,42836,42840,42894,42898,42900,42902,42906,42910,43006,43010,43064,43086,43088,43092,43096,43100,43174,43196,43202,43206,43260,43264,43266,43270,43274,43278,43352,43374,43380,43384,43438,43442,43444,43448,43452,43456,43520,43534,43536,43540,43594,43598,43600,43602,43606,43670,43676,43680,43720,43726,43728,43730,43734,43798,43804,43808,43848,43854,43856,43860,43864,43938,43952,43956,44180,44182,44184,44188,44306,44332,44336,44344,44348,44994,45100,45102,45104,45154,45156,45176,45180,45182,45184,45188,45228,45232,45378,45408,45412,45416,45476,45482,45486,46230,46322,46332,46348,46350,46352,46356,46460,46480,46484,46618,46630,46634,46714,46718,46856,46892,46894,46898,46902,46966,46976,46980,47192,47196,47255,47257,47259,47263,47303,47307,47347,47349,47353,47357,47421,47425,47479,47487,47491,47493,47497,47501,47565,47569,47673,47699,47703,47705,47707,47709,47713,47795,47797,47801,47875,47901,47907,47911,48045,48061,48063,48065,48067,48073,48077,48147,48151,48217,48219,48225,48239,48241,48243,48247,48317,48325,48329,48379,48385,48387,48391,48395,48489,48493,48597,48599,48639,48641,48643,48647,48711,48717,48721,48875,48921,48923,48925,48929,48969,48973,49103,49116,49118,49120,49124,49216,49234,49238,49302,49312,49314,49316,49320,49402,49412,49416,49470,49476,49478,49480,49484,49558,49568,49572,49646,49656,49658,49662,49666,49740,49750,49754,49808,49814,49816,49820,49824,49888,49894,49898,49952,49958,49960,49962,49966,50030,50036,50040,50094,50100,50102,50104,50108,50218,50222,50262,50270,50272,50274,50280,50282,50286,50436,50452,50456,50606,50612,50616,50956,50970,50972,50974,50978,51108,51110,51112,51116,51440,51454,51456,51460,51462,51466,51562,51578,51580,51584,51830,51846,51848,51852,51856,52024,52040,52042,52044,52048,52312,52328,52330,52332,52336,52398,52416,52418,52420,52424,52498,52508,52512,52566,52572,52574,52576,52580,52664,52678,52682,52722,52724,52727,52731,52801,52809,52813,52867],[26,41235,41237],{"id":41236},"whats-new-in-v71","What's new in v7.1",[716,41239,19476],{"id":19475},[89,41241,41242],{},[54,41243,41244,2679,41248],{},[18,41245,41247],{"href":41246},"#derive_id","derive_id",[2707,41249],{"alt":760,"src":12243},[26,41251,12087],{"id":12086},[11,41253,12090],{},[89,41255,41256,41258,41260,41262,41264,41266,41268,41270,41272,41274,41276,41278,41280,41282,41284,41286,41288,41290,41292,41294,41296,41298,41300,41302,41304],{},[54,41257,12095],{},[54,41259,12098],{},[54,41261,12101],{},[54,41263,12104],{},[54,41265,12107],{},[54,41267,12110],{},[54,41269,12113],{},[54,41271,19624],{},[54,41273,12178],{},[54,41275,12181],{},[54,41277,12184],{},[54,41279,12187],{},[54,41281,12190],{},[54,41283,12193],{},[54,41285,12196],{},[54,41287,12199],{},[54,41289,12202],{},[54,41291,12205],{},[54,41293,12208],{},[54,41295,12211],{},[54,41297,12214],{},[54,41299,12217],{},[54,41301,12220],{},[54,41303,12223],{},[54,41305,12226],{},[26,41307,12230],{"id":12229},[716,41309,29573],{"id":29572},[89,41311,41312,41318,41324,41330,41336,41342,41348,41352,41356,41362,41368,41372,41378,41384,41388,41394,41400,41406,41412,41418,41424,41428,41434,41442,41450,41458,41464,41470,41476,41482,41488],{},[54,41313,41314,2679,41316],{},[18,41315,6196],{"href":12240},[2707,41317],{"alt":760,"src":12243},[54,41319,41320,2679,41322],{},[18,41321,12249],{"href":12248},[2707,41323],{"alt":760,"src":12243},[54,41325,41326,2679,41328],{},[18,41327,12257],{"href":12256},[2707,41329],{"alt":760,"src":12243},[54,41331,41332,2679,41334],{},[18,41333,12265],{"href":12264},[2707,41335],{"alt":760,"src":12243},[54,41337,41338,2679,41340],{},[18,41339,5854],{"href":12272},[2707,41341],{"alt":760,"src":12243},[54,41343,41344,2679,41346],{},[18,41345,888],{"href":12279},[2707,41347],{"alt":760,"src":12243},[54,41349,41350],{},[18,41351,903],{"href":12286},[54,41353,41354],{},[18,41355,908],{"href":12291},[54,41357,41358,2679,41360],{},[18,41359,913],{"href":2036},[2707,41361],{"alt":760,"src":12243},[54,41363,41364,2679,41366],{},[18,41365,12303],{"href":12302},[2707,41367],{"alt":760,"src":12243},[54,41369,41370],{},[18,41371,893],{"href":12310},[54,41373,41374,2679,41376],{},[18,41375,12316],{"href":12315},[2707,41377],{"alt":760,"src":12243},[54,41379,41380,2679,41382],{},[18,41381,12324],{"href":12323},[2707,41383],{"alt":760,"src":12243},[54,41385,41386],{},[18,41387,12024],{"href":12331},[54,41389,41390,2679,41392],{},[18,41391,12337],{"href":12336},[2707,41393],{"alt":760,"src":12243},[54,41395,41396,2679,41398],{},[18,41397,883],{"href":12344},[2707,41399],{"alt":760,"src":12243},[54,41401,41402,2679,41404],{},[18,41403,12350],{"href":12349},[2707,41405],{"alt":760,"src":12243},[54,41407,41408,2679,41410],{},[18,41409,12358],{"href":12357},[2707,41411],{"alt":760,"src":12243},[54,41413,41414,2679,41416],{},[18,41415,12366],{"href":12365},[2707,41417],{"alt":760,"src":12243},[54,41419,41420,2679,41422],{},[18,41421,918],{"href":12373},[2707,41423],{"alt":760,"src":12243},[54,41425,41426],{},[18,41427,12381],{"href":12380},[54,41429,41430,2679,41432],{},[18,41431,12387],{"href":12386},[2707,41433],{"alt":760,"src":12243},[54,41435,41436,2679,41438,41440],{},[18,41437,12395],{"href":12394},[2707,41439],{"alt":760,"src":12243},[2707,41441],{"alt":760,"src":19795},[54,41443,41444,2679,41446,41448],{},[18,41445,12406],{"href":12405},[2707,41447],{"alt":760,"src":12243},[2707,41449],{"alt":760,"src":19795},[54,41451,41452,2679,41454,41456],{},[18,41453,12416],{"href":12415},[2707,41455],{"alt":760,"src":12243},[2707,41457],{"alt":760,"src":19795},[54,41459,41460,2679,41462],{},[18,41461,923],{"href":12425},[2707,41463],{"alt":760,"src":12243},[54,41465,41466,2679,41468],{},[18,41467,19484],{"href":19483},[2707,41469],{"alt":760,"src":12243},[54,41471,41472,2679,41474],{},[18,41473,19492],{"href":19491},[2707,41475],{"alt":760,"src":12243},[54,41477,41478,2679,41480],{},[18,41479,29479],{"href":29478},[2707,41481],{"alt":760,"src":12243},[54,41483,41484,2679,41486],{},[18,41485,29487],{"href":29486},[2707,41487],{"alt":760,"src":12243},[54,41489,41490,2679,41492],{},[18,41491,41247],{"href":41246},[2707,41493],{"alt":760,"src":12243},[716,41495,29755],{"id":29754},[89,41497,41498,41506,41514,41522,41530,41538],{},[54,41499,41500,2679,41502,41504],{},[18,41501,29419],{"href":29418},[2707,41503],{"alt":760,"src":12243},[2707,41505],{"alt":760,"src":19795},[54,41507,41508,2679,41510,41512],{},[18,41509,29429],{"href":29428},[2707,41511],{"alt":760,"src":12243},[2707,41513],{"alt":760,"src":19795},[54,41515,41516,2679,41518,41520],{},[18,41517,29439],{"href":29438},[2707,41519],{"alt":760,"src":12243},[2707,41521],{"alt":760,"src":19795},[54,41523,41524,2679,41526,41528],{},[18,41525,29449],{"href":29448},[2707,41527],{"alt":760,"src":12243},[2707,41529],{"alt":760,"src":19795},[54,41531,41532,2679,41534,41536],{},[18,41533,29459],{"href":29458},[2707,41535],{"alt":760,"src":12243},[2707,41537],{"alt":760,"src":19795},[54,41539,41540,2679,41542,41544],{},[18,41541,29469],{"href":29468},[2707,41543],{"alt":760,"src":12243},[2707,41545],{"alt":760,"src":19795},[716,41547,29809],{"id":29808},[11,41549,12434,41550,12437,41552,12441,41554,385],{},[150,41551,863],{},[150,41553,12440],{},[18,41555,12446],{"href":12444,"rel":41556},[22],[26,41558,29821],{"id":26880},[11,41560,29824,41561,29827,41563,26921],{},[18,41562,19492],{"href":19491},[150,41564,26920],{},[89,41566,41567,41597,41603],{},[54,41568,41569,26928,41571],{},[150,41570,2657],{},[89,41572,41573,41579,41585,41591],{},[54,41574,41575,441,41577,26938],{},[150,41576,1171],{},[150,41578,26937],{},[54,41580,41581,441,41583,26946],{},[150,41582,1345],{},[150,41584,26945],{},[54,41586,41587,441,41589,26954],{},[150,41588,1503],{},[150,41590,26953],{},[54,41592,41593,441,41595,26962],{},[150,41594,5131],{},[150,41596,26961],{},[54,41598,41599,26968,41601,26971],{},[150,41600,29866],{},[150,41602,2657],{},[54,41604,26974],{},[89,41606,41607,41615,41623,41631,41637,41643,41651],{},[54,41608,41609,2679,41611,41613],{},[18,41610,19563],{"href":19562},[2707,41612],{"alt":760,"src":12243},[2707,41614],{"alt":760,"src":19795},[54,41616,41617,2679,41619,41621],{},[18,41618,19571],{"href":19570},[2707,41620],{"alt":760,"src":12243},[2707,41622],{"alt":760,"src":19795},[54,41624,41625,2679,41627,41629],{},[18,41626,19579],{"href":19578},[2707,41628],{"alt":760,"src":12243},[2707,41630],{"alt":760,"src":19795},[54,41632,41633,2679,41635],{},[18,41634,19587],{"href":19586},[2707,41636],{"alt":760,"src":19795},[54,41638,41639,2679,41641],{},[18,41640,19593],{"href":19592},[2707,41642],{"alt":760,"src":19795},[54,41644,41645,2679,41647,41649],{},[18,41646,19599],{"href":19598},[2707,41648],{"alt":760,"src":12243},[2707,41650],{"alt":760,"src":19795},[54,41652,41653,2679,41655,41657],{},[18,41654,29326],{"href":29325},[2707,41656],{"alt":760,"src":12243},[2707,41658],{"alt":760,"src":19795},[26,41660,18490],{"id":18489},[11,41662,29929],{},[26,41664,6196],{"id":6196},[11,41666,12451],{},[11,41668,41669],{},[150,41670,975],{},[866,41672,41673],{"className":978,"code":12458,"language":980,"meta":760,"style":760},[150,41674,41675,41679,41689,41699,41709,41715,41719,41729,41739,41749,41757,41761],{"__ignoreMap":760},[984,41676,41677],{"class":986,"line":987},[984,41678,991],{"class":990},[984,41680,41681,41683,41685,41687],{"class":986,"line":761},[984,41682,997],{"class":996},[984,41684,1015],{"class":990},[984,41686,1004],{"class":1003},[984,41688,1007],{"class":990},[984,41690,41691,41693,41695,41697],{"class":986,"line":772},[984,41692,1012],{"class":996},[984,41694,1015],{"class":990},[984,41696,1345],{"class":996},[984,41698,1021],{"class":990},[984,41700,41701,41703,41705,41707],{"class":986,"line":1024},[984,41702,1027],{"class":996},[984,41704,1015],{"class":990},[984,41706,6239],{"class":1003},[984,41708,1007],{"class":990},[984,41710,41711,41713],{"class":986,"line":1035},[984,41712,1521],{"class":996},[984,41714,1524],{"class":990},[984,41716,41717],{"class":986,"line":1098},[984,41718,1529],{"class":990},[984,41720,41721,41723,41725,41727],{"class":986,"line":1111},[984,41722,5926],{"class":996},[984,41724,1015],{"class":990},[984,41726,6305],{"class":1003},[984,41728,1021],{"class":990},[984,41730,41731,41733,41735,41737],{"class":986,"line":1124},[984,41732,6270],{"class":996},[984,41734,1015],{"class":990},[984,41736,6275],{"class":1003},[984,41738,1021],{"class":990},[984,41740,41741,41743,41745,41747],{"class":986,"line":1137},[984,41742,1580],{"class":996},[984,41744,1015],{"class":990},[984,41746,12533],{"class":1003},[984,41748,1021],{"class":990},[984,41750,41751,41753,41755],{"class":986,"line":1150},[984,41752,12540],{"class":996},[984,41754,1738],{"class":990},[984,41756,2497],{"class":996},[984,41758,41759],{"class":986,"line":1163},[984,41760,1607],{"class":990},[984,41762,41763],{"class":986,"line":1176},[984,41764,1038],{"class":990},[89,41766,41767,41802,41822,41826,41840],{},[54,41768,41769,5965,41771,41793,12588,41795,12594,41798,12597,41800],{},[150,41770,5964],{},[89,41772,41773,41777,41781,41785,41789],{},[54,41774,41775,12565],{},[150,41776,5804],{},[54,41778,41779,12570],{},[150,41780,5811],{},[54,41782,41783,12575],{},[150,41784,5991],{},[54,41786,41787,12580],{},[150,41788,6002],{},[54,41790,41791,12585],{},[150,41792,6012],{},[957,41794],{},[18,41796,12593],{"href":12591,"rel":41797},[22],[150,41799,5811],{},[150,41801,12600],{},[54,41803,41804,41806,41816,12622,41818,12626,41820,12629],{},[150,41805,12605],{},[89,41807,41808,41812],{},[54,41809,12610,41810,385],{},[150,41811,12613],{},[54,41813,12616,41814,385],{},[150,41815,12619],{},[957,41817],{},[150,41819,12625],{},[150,41821,12625],{},[54,41823,41824,12635],{},[150,41825,12634],{},[54,41827,41828,12641,41830,12644,41832,12647,41834,12651,41836,12655,41838,385],{},[150,41829,12640],{},[150,41831,2682],{},[150,41833,5804],{},[150,41835,12650],{},[150,41837,12654],{},[150,41839,12658],{},[54,41841,41842,12664,41844,12667,41846,12670,41848,385],{},[150,41843,12663],{},[150,41845,5811],{},[150,41847,1345],{},[150,41849,12673],{},[11,41851,12676,41852,12680,41854,12683,41856,12686,41858,12689,41860,441,41862,163,41864,12696,41866,4665,41868,4665,41870,12703],{},[150,41853,12679],{},[18,41855,9803],{"href":12279},[150,41857,6317],{},[150,41859,863],{},[150,41861,5811],{},[150,41863,5991],{},[150,41865,6002],{},[150,41867,5811],{},[150,41869,5991],{},[150,41871,6002],{},[11,41873,41874],{},[150,41875,1043],{},[866,41877,41878],{"className":978,"code":12710,"language":980,"meta":760,"style":760},[150,41879,41880,41884,41894,41904,41912],{"__ignoreMap":760},[984,41881,41882],{"class":986,"line":987},[984,41883,991],{"class":990},[984,41885,41886,41888,41890,41892],{"class":986,"line":761},[984,41887,997],{"class":996},[984,41889,1738],{"class":990},[984,41891,1004],{"class":1003},[984,41893,1007],{"class":990},[984,41895,41896,41898,41900,41902],{"class":986,"line":772},[984,41897,1012],{"class":996},[984,41899,1738],{"class":990},[984,41901,1345],{"class":996},[984,41903,1021],{"class":990},[984,41905,41906,41908,41910],{"class":986,"line":1024},[984,41907,1724],{"class":996},[984,41909,1738],{"class":990},[984,41911,12745],{"class":1003},[984,41913,41914],{"class":986,"line":1035},[984,41915,1038],{"class":990},[26,41917,5854],{"id":5854},[11,41919,12754,41920,12758],{},[150,41921,12757],{},[11,41923,41924],{},[150,41925,975],{},[866,41927,41928],{"className":978,"code":12765,"language":980,"meta":760,"style":760},[150,41929,41930,41934,41944,41954,41964,41970,41974,41982,41986],{"__ignoreMap":760},[984,41931,41932],{"class":986,"line":987},[984,41933,991],{"class":990},[984,41935,41936,41938,41940,41942],{"class":986,"line":761},[984,41937,997],{"class":996},[984,41939,1000],{"class":990},[984,41941,1004],{"class":1003},[984,41943,1007],{"class":990},[984,41945,41946,41948,41950,41952],{"class":986,"line":772},[984,41947,1012],{"class":996},[984,41949,1015],{"class":990},[984,41951,1345],{"class":996},[984,41953,1021],{"class":990},[984,41955,41956,41958,41960,41962],{"class":986,"line":1024},[984,41957,1027],{"class":996},[984,41959,1015],{"class":990},[984,41961,12800],{"class":1003},[984,41963,1007],{"class":990},[984,41965,41966,41968],{"class":986,"line":1035},[984,41967,1521],{"class":996},[984,41969,1524],{"class":990},[984,41971,41972],{"class":986,"line":1098},[984,41973,1529],{"class":990},[984,41975,41976,41978,41980],{"class":986,"line":1111},[984,41977,1569],{"class":996},[984,41979,1738],{"class":990},[984,41981,12745],{"class":1003},[984,41983,41984],{"class":986,"line":1124},[984,41985,1607],{"class":990},[984,41987,41988],{"class":986,"line":1137},[984,41989,1038],{"class":990},[11,41991,41992],{},[150,41993,1043],{},[866,41995,41996],{"className":978,"code":12835,"language":980,"meta":760,"style":760},[150,41997,41998,42002,42012,42022,42028,42032,42042,42052,42062,42070,42074],{"__ignoreMap":760},[984,41999,42000],{"class":986,"line":987},[984,42001,991],{"class":990},[984,42003,42004,42006,42008,42010],{"class":986,"line":761},[984,42005,997],{"class":996},[984,42007,1000],{"class":990},[984,42009,1004],{"class":1003},[984,42011,1007],{"class":990},[984,42013,42014,42016,42018,42020],{"class":986,"line":772},[984,42015,1012],{"class":996},[984,42017,1015],{"class":990},[984,42019,1345],{"class":996},[984,42021,1021],{"class":990},[984,42023,42024,42026],{"class":986,"line":1024},[984,42025,1724],{"class":996},[984,42027,5895],{"class":990},[984,42029,42030],{"class":986,"line":1035},[984,42031,1529],{"class":990},[984,42033,42034,42036,42038,42040],{"class":986,"line":1098},[984,42035,5904],{"class":996},[984,42037,1738],{"class":990},[984,42039,2682],{"class":996},[984,42041,1021],{"class":990},[984,42043,42044,42046,42048,42050],{"class":986,"line":1111},[984,42045,5915],{"class":996},[984,42047,1738],{"class":990},[984,42049,5089],{"class":996},[984,42051,1021],{"class":990},[984,42053,42054,42056,42058,42060],{"class":986,"line":1124},[984,42055,5926],{"class":996},[984,42057,1015],{"class":990},[984,42059,5931],{"class":1003},[984,42061,1007],{"class":990},[984,42063,42064,42066,42068],{"class":986,"line":1137},[984,42065,5942],{"class":996},[984,42067,1015],{"class":990},[984,42069,12910],{"class":996},[984,42071,42072],{"class":986,"line":1150},[984,42073,1607],{"class":990},[984,42075,42076],{"class":986,"line":1163},[984,42077,1038],{"class":990},[89,42079,42080,42086],{},[54,42081,42082,12925,42084,12928],{},[150,42083,5964],{},[18,42085,6196],{"href":12240},[54,42087,42088,12933,42090,6024],{},[150,42089,6020],{},[150,42091,5811],{},[26,42093,12265],{"id":12265},[11,42095,12940],{},[11,42097,42098],{},[150,42099,975],{},[866,42101,42102],{"className":978,"code":12947,"language":980,"meta":760,"style":760},[150,42103,42104,42108,42118,42128,42138,42144,42148,42156,42160],{"__ignoreMap":760},[984,42105,42106],{"class":986,"line":987},[984,42107,991],{"class":990},[984,42109,42110,42112,42114,42116],{"class":986,"line":761},[984,42111,997],{"class":996},[984,42113,1000],{"class":990},[984,42115,1004],{"class":1003},[984,42117,1007],{"class":990},[984,42119,42120,42122,42124,42126],{"class":986,"line":772},[984,42121,1012],{"class":996},[984,42123,1015],{"class":990},[984,42125,12972],{"class":996},[984,42127,1021],{"class":990},[984,42129,42130,42132,42134,42136],{"class":986,"line":1024},[984,42131,1027],{"class":996},[984,42133,1000],{"class":990},[984,42135,12983],{"class":1003},[984,42137,1021],{"class":990},[984,42139,42140,42142],{"class":986,"line":1035},[984,42141,1521],{"class":996},[984,42143,1524],{"class":990},[984,42145,42146],{"class":986,"line":1098},[984,42147,1529],{"class":990},[984,42149,42150,42152,42154],{"class":986,"line":1111},[984,42151,13000],{"class":996},[984,42153,1738],{"class":990},[984,42155,2497],{"class":996},[984,42157,42158],{"class":986,"line":1124},[984,42159,1607],{"class":990},[984,42161,42162],{"class":986,"line":1137},[984,42163,1038],{"class":990},[89,42165,42166],{},[54,42167,42168,13020,42170,13023,42172,13026],{},[150,42169,13019],{},[150,42171,2682],{},[150,42173,5089],{},[11,42175,42176],{},[150,42177,1043],{},[866,42179,42180],{"className":978,"code":13033,"language":980,"meta":760,"style":760},[150,42181,42182,42186,42196,42206,42212,42216,42226,42236,42246,42256,42266,42276,42286,42296,42306,42316,42326,42334,42338],{"__ignoreMap":760},[984,42183,42184],{"class":986,"line":987},[984,42185,991],{"class":990},[984,42187,42188,42190,42192,42194],{"class":986,"line":761},[984,42189,1012],{"class":996},[984,42191,1015],{"class":990},[984,42193,12972],{"class":996},[984,42195,1021],{"class":990},[984,42197,42198,42200,42202,42204],{"class":986,"line":772},[984,42199,997],{"class":996},[984,42201,1015],{"class":990},[984,42203,1004],{"class":1003},[984,42205,1021],{"class":990},[984,42207,42208,42210],{"class":986,"line":1024},[984,42209,1724],{"class":996},[984,42211,1524],{"class":990},[984,42213,42214],{"class":986,"line":1035},[984,42215,13070],{"class":990},[984,42217,42218,42220,42222,42224],{"class":986,"line":1098},[984,42219,1569],{"class":996},[984,42221,1015],{"class":990},[984,42223,13079],{"class":1003},[984,42225,1021],{"class":990},[984,42227,42228,42230,42232,42234],{"class":986,"line":1111},[984,42229,13086],{"class":996},[984,42231,1015],{"class":990},[984,42233,13091],{"class":1003},[984,42235,1021],{"class":990},[984,42237,42238,42240,42242,42244],{"class":986,"line":1124},[984,42239,13098],{"class":996},[984,42241,1015],{"class":990},[984,42243,13103],{"class":996},[984,42245,1021],{"class":990},[984,42247,42248,42250,42252,42254],{"class":986,"line":1137},[984,42249,13110],{"class":996},[984,42251,1015],{"class":990},[984,42253,13115],{"class":996},[984,42255,1021],{"class":990},[984,42257,42258,42260,42262,42264],{"class":986,"line":1150},[984,42259,13122],{"class":996},[984,42261,1015],{"class":990},[984,42263,2682],{"class":996},[984,42265,1021],{"class":990},[984,42267,42268,42270,42272,42274],{"class":986,"line":1163},[984,42269,1580],{"class":996},[984,42271,1015],{"class":990},[984,42273,13091],{"class":1003},[984,42275,1021],{"class":990},[984,42277,42278,42280,42282,42284],{"class":986,"line":1176},[984,42279,13000],{"class":996},[984,42281,1015],{"class":990},[984,42283,2682],{"class":996},[984,42285,1021],{"class":990},[984,42287,42288,42290,42292,42294],{"class":986,"line":1189},[984,42289,13153],{"class":996},[984,42291,1015],{"class":990},[984,42293,13158],{"class":996},[984,42295,1021],{"class":990},[984,42297,42298,42300,42302,42304],{"class":986,"line":1202},[984,42299,13165],{"class":996},[984,42301,1015],{"class":990},[984,42303,13170],{"class":1003},[984,42305,1021],{"class":990},[984,42307,42308,42310,42312,42314],{"class":986,"line":1211},[984,42309,13177],{"class":996},[984,42311,1015],{"class":990},[984,42313,13182],{"class":1003},[984,42315,1021],{"class":990},[984,42317,42318,42320,42322,42324],{"class":986,"line":1217},[984,42319,5926],{"class":996},[984,42321,1015],{"class":990},[984,42323,6305],{"class":1003},[984,42325,1021],{"class":990},[984,42327,42328,42330,42332],{"class":986,"line":1229},[984,42329,13199],{"class":996},[984,42331,1015],{"class":990},[984,42333,13204],{"class":1003},[984,42335,42336],{"class":986,"line":1241},[984,42337,13209],{"class":990},[984,42339,42340],{"class":986,"line":1254},[984,42341,1038],{"class":990},[89,42343,42344,42348,42352,42356,42360,42366],{},[54,42345,42346,13220],{},[150,42347,12679],{},[54,42349,42350,13226],{},[150,42351,13225],{},[54,42353,42354,13232],{},[150,42355,13231],{},[54,42357,42358,20538],{},[150,42359,13237],{},[54,42361,42362,13243,42364,13246],{},[150,42363,5964],{},[18,42365,6196],{"href":12240},[54,42367,42368,13252,42370,13255,42372,13258,42374,13261,42376,441,42378,163,42380,6030],{},[150,42369,13251],{},[150,42371,5991],{},[150,42373,13251],{},[150,42375,5991],{},[150,42377,5804],{},[150,42379,6012],{},[150,42381,5811],{},[716,42383,2757],{"id":13237},[11,42385,13272,42386,20567,42388,13278,42390,13282],{},[150,42387,13237],{},[150,42389,13237],{},[58,42391,13281],{},[26,42393,12249],{"id":12249},[11,42395,13287],{},[11,42397,42398],{},[150,42399,975],{},[866,42401,42402],{"className":978,"code":13294,"language":980,"meta":760,"style":760},[150,42403,42404,42408,42418,42428,42438,42444,42448,42456,42460],{"__ignoreMap":760},[984,42405,42406],{"class":986,"line":987},[984,42407,991],{"class":990},[984,42409,42410,42412,42414,42416],{"class":986,"line":761},[984,42411,997],{"class":996},[984,42413,1000],{"class":990},[984,42415,1004],{"class":1003},[984,42417,1007],{"class":990},[984,42419,42420,42422,42424,42426],{"class":986,"line":772},[984,42421,1012],{"class":996},[984,42423,1015],{"class":990},[984,42425,12972],{"class":996},[984,42427,1021],{"class":990},[984,42429,42430,42432,42434,42436],{"class":986,"line":1024},[984,42431,1027],{"class":996},[984,42433,1000],{"class":990},[984,42435,13329],{"class":1003},[984,42437,1021],{"class":990},[984,42439,42440,42442],{"class":986,"line":1035},[984,42441,1521],{"class":996},[984,42443,1524],{"class":990},[984,42445,42446],{"class":986,"line":1098},[984,42447,1529],{"class":990},[984,42449,42450,42452,42454],{"class":986,"line":1111},[984,42451,1569],{"class":996},[984,42453,1738],{"class":990},[984,42455,13204],{"class":1003},[984,42457,42458],{"class":986,"line":1124},[984,42459,1607],{"class":990},[984,42461,42462],{"class":986,"line":1137},[984,42463,1038],{"class":990},[11,42465,42466],{},[150,42467,1043],{},[866,42469,42470],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,42471,42472,42476,42486,42496,42504],{"__ignoreMap":760},[984,42473,42474],{"class":986,"line":987},[984,42475,991],{"class":990},[984,42477,42478,42480,42482,42484],{"class":986,"line":761},[984,42479,1012],{"class":996},[984,42481,1015],{"class":990},[984,42483,12972],{"class":996},[984,42485,1021],{"class":990},[984,42487,42488,42490,42492,42494],{"class":986,"line":772},[984,42489,997],{"class":996},[984,42491,1015],{"class":990},[984,42493,1004],{"class":1003},[984,42495,1021],{"class":990},[984,42497,42498,42500,42502],{"class":986,"line":1024},[984,42499,1724],{"class":996},[984,42501,1015],{"class":990},[984,42503,13399],{"class":1003},[984,42505,42506],{"class":986,"line":1035},[984,42507,1038],{"class":990},[26,42509,12257],{"id":12257},[11,42511,13408,42512,13411,42514,13414,42516,13417],{},[150,42513,12634],{},[150,42515,12605],{},[18,42517,6196],{"href":12240},[11,42519,42520],{},[150,42521,975],{},[866,42523,42524],{"className":978,"code":13424,"language":980,"meta":760,"style":760},[150,42525,42526,42530,42540,42550,42560,42566,42570,42580,42590,42598,42602],{"__ignoreMap":760},[984,42527,42528],{"class":986,"line":987},[984,42529,991],{"class":990},[984,42531,42532,42534,42536,42538],{"class":986,"line":761},[984,42533,997],{"class":996},[984,42535,1000],{"class":990},[984,42537,1004],{"class":1003},[984,42539,1007],{"class":990},[984,42541,42542,42544,42546,42548],{"class":986,"line":772},[984,42543,1012],{"class":996},[984,42545,1015],{"class":990},[984,42547,12972],{"class":996},[984,42549,1021],{"class":990},[984,42551,42552,42554,42556,42558],{"class":986,"line":1024},[984,42553,1027],{"class":996},[984,42555,1000],{"class":990},[984,42557,13459],{"class":1003},[984,42559,1021],{"class":990},[984,42561,42562,42564],{"class":986,"line":1035},[984,42563,1521],{"class":996},[984,42565,1524],{"class":990},[984,42567,42568],{"class":986,"line":1098},[984,42569,1529],{"class":990},[984,42571,42572,42574,42576,42578],{"class":986,"line":1111},[984,42573,1569],{"class":996},[984,42575,1738],{"class":990},[984,42577,13079],{"class":1003},[984,42579,1021],{"class":990},[984,42581,42582,42584,42586,42588],{"class":986,"line":1124},[984,42583,1580],{"class":996},[984,42585,1738],{"class":990},[984,42587,12533],{"class":1003},[984,42589,1021],{"class":990},[984,42591,42592,42594,42596],{"class":986,"line":1137},[984,42593,6270],{"class":996},[984,42595,1738],{"class":990},[984,42597,13500],{"class":1003},[984,42599,42600],{"class":986,"line":1150},[984,42601,1607],{"class":990},[984,42603,42604],{"class":986,"line":1163},[984,42605,1038],{"class":990},[11,42607,42608],{},[150,42609,1043],{},[866,42611,42612],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,42613,42614,42618,42628,42638,42646],{"__ignoreMap":760},[984,42615,42616],{"class":986,"line":987},[984,42617,991],{"class":990},[984,42619,42620,42622,42624,42626],{"class":986,"line":761},[984,42621,1012],{"class":996},[984,42623,1015],{"class":990},[984,42625,12972],{"class":996},[984,42627,1021],{"class":990},[984,42629,42630,42632,42634,42636],{"class":986,"line":772},[984,42631,997],{"class":996},[984,42633,1015],{"class":990},[984,42635,1004],{"class":1003},[984,42637,1021],{"class":990},[984,42639,42640,42642,42644],{"class":986,"line":1024},[984,42641,1724],{"class":996},[984,42643,1015],{"class":990},[984,42645,13399],{"class":1003},[984,42647,42648],{"class":986,"line":1035},[984,42649,1038],{"class":990},[26,42651,888],{"id":888},[11,42653,13557],{},[11,42655,42656],{},[150,42657,975],{},[866,42659,42660],{"className":978,"code":13564,"language":980,"meta":760,"style":760},[150,42661,42662,42666,42676,42686,42696,42702,42706,42716,42726,42736,42746,42756,42766,42774,42778],{"__ignoreMap":760},[984,42663,42664],{"class":986,"line":987},[984,42665,991],{"class":990},[984,42667,42668,42670,42672,42674],{"class":986,"line":761},[984,42669,997],{"class":996},[984,42671,1000],{"class":990},[984,42673,1004],{"class":1003},[984,42675,1007],{"class":990},[984,42677,42678,42680,42682,42684],{"class":986,"line":772},[984,42679,1012],{"class":996},[984,42681,1015],{"class":990},[984,42683,1503],{"class":996},[984,42685,1021],{"class":990},[984,42687,42688,42690,42692,42694],{"class":986,"line":1024},[984,42689,1027],{"class":996},[984,42691,1000],{"class":990},[984,42693,1514],{"class":1003},[984,42695,1007],{"class":990},[984,42697,42698,42700],{"class":986,"line":1035},[984,42699,1521],{"class":996},[984,42701,1524],{"class":990},[984,42703,42704],{"class":986,"line":1098},[984,42705,1529],{"class":990},[984,42707,42708,42710,42712,42714],{"class":986,"line":1111},[984,42709,1534],{"class":996},[984,42711,1015],{"class":990},[984,42713,1539],{"class":996},[984,42715,1021],{"class":990},[984,42717,42718,42720,42722,42724],{"class":986,"line":1124},[984,42719,1546],{"class":996},[984,42721,1015],{"class":990},[984,42723,1503],{"class":996},[984,42725,1021],{"class":990},[984,42727,42728,42730,42732,42734],{"class":986,"line":1137},[984,42729,1557],{"class":996},[984,42731,1015],{"class":990},[984,42733,1562],{"class":1003},[984,42735,1021],{"class":990},[984,42737,42738,42740,42742,42744],{"class":986,"line":1150},[984,42739,1569],{"class":996},[984,42741,1015],{"class":990},[984,42743,1562],{"class":1003},[984,42745,1021],{"class":990},[984,42747,42748,42750,42752,42754],{"class":986,"line":1163},[984,42749,1580],{"class":996},[984,42751,1015],{"class":990},[984,42753,1585],{"class":1003},[984,42755,1021],{"class":990},[984,42757,42758,42760,42762,42764],{"class":986,"line":1176},[984,42759,1220],{"class":996},[984,42761,1015],{"class":990},[984,42763,1345],{"class":996},[984,42765,1021],{"class":990},[984,42767,42768,42770,42772],{"class":986,"line":1189},[984,42769,6160],{"class":996},[984,42771,1015],{"class":990},[984,42773,13679],{"class":996},[984,42775,42776],{"class":986,"line":1202},[984,42777,1607],{"class":990},[984,42779,42780],{"class":986,"line":1211},[984,42781,1038],{"class":990},[89,42783,42784,42788,42792,42796,42806,42810,42814,42822],{},[54,42785,42786,13694],{},[150,42787,2133],{},[54,42789,42790,13699],{},[150,42791,2139],{},[54,42793,42794,13705],{},[150,42795,13704],{},[54,42797,42798,13710,42800,13713,42802,163,42804,385],{},[150,42799,12679],{},[58,42801,5776],{},[150,42803,12679],{},[150,42805,13237],{},[54,42807,42808,13722],{},[150,42809,12634],{},[54,42811,42812,13727],{},[150,42813,2150],{},[54,42815,42816,13732,42818,13735,42820,13738],{},[150,42817,848],{},[150,42819,848],{},[150,42821,948],{},[54,42823,42824,13743,42826,13747,42828,13750],{},[150,42825,5811],{},[150,42827,13746],{},[150,42829,5811],{},[11,42831,13753,42832,13756,42834,13760],{},[150,42833,8355],{},[150,42835,13759],{},[11,42837,42838],{},[150,42839,1043],{},[866,42841,42842],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,42843,42844,42848,42858,42868,42874,42878,42886,42890],{"__ignoreMap":760},[984,42845,42846],{"class":986,"line":987},[984,42847,991],{"class":990},[984,42849,42850,42852,42854,42856],{"class":986,"line":761},[984,42851,997],{"class":996},[984,42853,1000],{"class":990},[984,42855,1004],{"class":1003},[984,42857,1007],{"class":990},[984,42859,42860,42862,42864,42866],{"class":986,"line":772},[984,42861,1012],{"class":996},[984,42863,1015],{"class":990},[984,42865,1503],{"class":996},[984,42867,1021],{"class":990},[984,42869,42870,42872],{"class":986,"line":1024},[984,42871,1724],{"class":996},[984,42873,1524],{"class":990},[984,42875,42876],{"class":986,"line":1035},[984,42877,1529],{"class":990},[984,42879,42880,42882,42884],{"class":986,"line":1098},[984,42881,1735],{"class":996},[984,42883,1738],{"class":990},[984,42885,1741],{"class":1003},[984,42887,42888],{"class":986,"line":1111},[984,42889,1607],{"class":990},[984,42891,42892],{"class":986,"line":1124},[984,42893,1038],{"class":990},[11,42895,2213,42896,385],{},[18,42897,1977],{"href":13823},[26,42899,893],{"id":893},[11,42901,13828],{},[11,42903,13831,42904,13835],{},[150,42905,13834],{},[11,42907,42908],{},[150,42909,975],{},[866,42911,42912],{"className":978,"code":13842,"language":980,"meta":760,"style":760},[150,42913,42914,42918,42928,42938,42948,42954,42958,42980,42990,42998,43002],{"__ignoreMap":760},[984,42915,42916],{"class":986,"line":987},[984,42917,991],{"class":990},[984,42919,42920,42922,42924,42926],{"class":986,"line":761},[984,42921,997],{"class":996},[984,42923,1000],{"class":990},[984,42925,1004],{"class":1003},[984,42927,1007],{"class":990},[984,42929,42930,42932,42934,42936],{"class":986,"line":772},[984,42931,1012],{"class":996},[984,42933,1015],{"class":990},[984,42935,8099],{"class":996},[984,42937,1021],{"class":990},[984,42939,42940,42942,42944,42946],{"class":986,"line":1024},[984,42941,1027],{"class":996},[984,42943,1000],{"class":990},[984,42945,13877],{"class":1003},[984,42947,1007],{"class":990},[984,42949,42950,42952],{"class":986,"line":1035},[984,42951,1521],{"class":996},[984,42953,1524],{"class":990},[984,42955,42956],{"class":986,"line":1098},[984,42957,1529],{"class":990},[984,42959,42960,42962,42964,42966,42968,42970,42972,42974,42976,42978],{"class":986,"line":1111},[984,42961,13894],{"class":996},[984,42963,13897],{"class":990},[984,42965,13900],{"class":996},[984,42967,441],{"class":990},[984,42969,2558],{"class":996},[984,42971,441],{"class":990},[984,42973,13909],{"class":996},[984,42975,441],{"class":990},[984,42977,13914],{"class":996},[984,42979,13917],{"class":990},[984,42981,42982,42984,42986,42988],{"class":986,"line":1124},[984,42983,1546],{"class":996},[984,42985,1738],{"class":990},[984,42987,4979],{"class":996},[984,42989,1021],{"class":990},[984,42991,42992,42994,42996],{"class":986,"line":1137},[984,42993,1220],{"class":996},[984,42995,1015],{"class":990},[984,42997,1678],{"class":996},[984,42999,43000],{"class":986,"line":1150},[984,43001,1607],{"class":990},[984,43003,43004],{"class":986,"line":1163},[984,43005,1038],{"class":990},[11,43007,43008],{},[150,43009,1043],{},[866,43011,43012],{"className":978,"code":13950,"language":980,"meta":760,"style":760},[150,43013,43014,43018,43028,43038,43044,43048,43056,43060],{"__ignoreMap":760},[984,43015,43016],{"class":986,"line":987},[984,43017,991],{"class":990},[984,43019,43020,43022,43024,43026],{"class":986,"line":761},[984,43021,997],{"class":996},[984,43023,1000],{"class":990},[984,43025,1004],{"class":1003},[984,43027,1007],{"class":990},[984,43029,43030,43032,43034,43036],{"class":986,"line":772},[984,43031,1012],{"class":996},[984,43033,1015],{"class":990},[984,43035,8099],{"class":996},[984,43037,1021],{"class":990},[984,43039,43040,43042],{"class":986,"line":1024},[984,43041,1724],{"class":996},[984,43043,1524],{"class":990},[984,43045,43046],{"class":986,"line":1035},[984,43047,1529],{"class":990},[984,43049,43050,43052,43054],{"class":986,"line":1098},[984,43051,1735],{"class":996},[984,43053,1738],{"class":990},[984,43055,1741],{"class":1003},[984,43057,43058],{"class":986,"line":1111},[984,43059,1607],{"class":990},[984,43061,43062],{"class":986,"line":1124},[984,43063,1038],{"class":990},[89,43065,43066,43070,43074,43078],{},[54,43067,43068,14009],{},[150,43069,2139],{},[54,43071,43072,14014],{},[150,43073,8355],{},[54,43075,43076,14019],{},[150,43077,2150],{},[54,43079,43080,14024,43082,13735,43084,13738],{},[150,43081,848],{},[150,43083,848],{},[150,43085,948],{},[26,43087,903],{"id":903},[11,43089,14033,43090,13738],{},[150,43091,948],{},[11,43093,14038,43094,2046],{},[18,43095,913],{"href":2036},[11,43097,43098],{},[150,43099,975],{},[866,43101,43102],{"className":978,"code":2053,"language":980,"meta":760,"style":760},[150,43103,43104,43108,43118,43128,43138,43144,43148,43158,43166,43170],{"__ignoreMap":760},[984,43105,43106],{"class":986,"line":987},[984,43107,991],{"class":990},[984,43109,43110,43112,43114,43116],{"class":986,"line":761},[984,43111,997],{"class":996},[984,43113,1015],{"class":990},[984,43115,1004],{"class":1003},[984,43117,1007],{"class":990},[984,43119,43120,43122,43124,43126],{"class":986,"line":772},[984,43121,1012],{"class":996},[984,43123,1015],{"class":990},[984,43125,1503],{"class":996},[984,43127,1021],{"class":990},[984,43129,43130,43132,43134,43136],{"class":986,"line":1024},[984,43131,1027],{"class":996},[984,43133,1015],{"class":990},[984,43135,2088],{"class":1003},[984,43137,1007],{"class":990},[984,43139,43140,43142],{"class":986,"line":1035},[984,43141,1521],{"class":996},[984,43143,1524],{"class":990},[984,43145,43146],{"class":986,"line":1098},[984,43147,1529],{"class":990},[984,43149,43150,43152,43154,43156],{"class":986,"line":1111},[984,43151,1534],{"class":996},[984,43153,1015],{"class":990},[984,43155,1018],{"class":996},[984,43157,1021],{"class":990},[984,43159,43160,43162,43164],{"class":986,"line":1124},[984,43161,1220],{"class":996},[984,43163,1015],{"class":990},[984,43165,1678],{"class":996},[984,43167,43168],{"class":986,"line":1137},[984,43169,1607],{"class":990},[984,43171,43172],{"class":986,"line":1150},[984,43173,1038],{"class":990},[89,43175,43176,43180,43184,43188,43192],{},[54,43177,43178,2134],{},[150,43179,2133],{},[54,43181,43182,2140],{},[150,43183,2139],{},[54,43185,43186,2145],{},[150,43187,848],{},[54,43189,43190,2151],{},[150,43191,2150],{},[54,43193,43194,14142],{},[150,43195,14141],{},[11,43197,14145,43198,14148,43200],{},[150,43199,8355],{},[150,43201,13759],{},[11,43203,43204],{},[150,43205,1043],{},[866,43207,43208],{"className":978,"code":2158,"language":980,"meta":760,"style":760},[150,43209,43210,43214,43224,43234,43240,43244,43252,43256],{"__ignoreMap":760},[984,43211,43212],{"class":986,"line":987},[984,43213,991],{"class":990},[984,43215,43216,43218,43220,43222],{"class":986,"line":761},[984,43217,997],{"class":996},[984,43219,1015],{"class":990},[984,43221,1004],{"class":1003},[984,43223,1007],{"class":990},[984,43225,43226,43228,43230,43232],{"class":986,"line":772},[984,43227,1012],{"class":996},[984,43229,1015],{"class":990},[984,43231,1503],{"class":996},[984,43233,1021],{"class":990},[984,43235,43236,43238],{"class":986,"line":1024},[984,43237,1724],{"class":996},[984,43239,1524],{"class":990},[984,43241,43242],{"class":986,"line":1035},[984,43243,1529],{"class":990},[984,43245,43246,43248,43250],{"class":986,"line":1098},[984,43247,1735],{"class":996},[984,43249,1738],{"class":990},[984,43251,1741],{"class":1003},[984,43253,43254],{"class":986,"line":1111},[984,43255,1607],{"class":990},[984,43257,43258],{"class":986,"line":1124},[984,43259,1038],{"class":990},[11,43261,2213,43262,385],{},[18,43263,1977],{"href":13823},[26,43265,908],{"id":908},[11,43267,14033,43268,13738],{},[150,43269,948],{},[11,43271,14221,43272,14224],{},[18,43273,913],{"href":2036},[11,43275,43276],{},[150,43277,975],{},[866,43279,43280],{"className":978,"code":2228,"language":980,"meta":760,"style":760},[150,43281,43282,43286,43296,43306,43316,43322,43326,43336,43344,43348],{"__ignoreMap":760},[984,43283,43284],{"class":986,"line":987},[984,43285,991],{"class":990},[984,43287,43288,43290,43292,43294],{"class":986,"line":761},[984,43289,997],{"class":996},[984,43291,1000],{"class":990},[984,43293,1004],{"class":1003},[984,43295,1007],{"class":990},[984,43297,43298,43300,43302,43304],{"class":986,"line":772},[984,43299,1012],{"class":996},[984,43301,1015],{"class":990},[984,43303,1503],{"class":996},[984,43305,1021],{"class":990},[984,43307,43308,43310,43312,43314],{"class":986,"line":1024},[984,43309,1027],{"class":996},[984,43311,1000],{"class":990},[984,43313,2263],{"class":1003},[984,43315,1007],{"class":990},[984,43317,43318,43320],{"class":986,"line":1035},[984,43319,1521],{"class":996},[984,43321,1524],{"class":990},[984,43323,43324],{"class":986,"line":1098},[984,43325,1529],{"class":990},[984,43327,43328,43330,43332,43334],{"class":986,"line":1111},[984,43329,1534],{"class":996},[984,43331,1015],{"class":990},[984,43333,1018],{"class":996},[984,43335,1021],{"class":990},[984,43337,43338,43340,43342],{"class":986,"line":1124},[984,43339,1220],{"class":996},[984,43341,1015],{"class":990},[984,43343,1678],{"class":996},[984,43345,43346],{"class":986,"line":1137},[984,43347,1607],{"class":990},[984,43349,43350],{"class":986,"line":1150},[984,43351,1038],{"class":990},[89,43353,43354,43358,43362,43366,43370],{},[54,43355,43356,2308],{},[150,43357,2133],{},[54,43359,43360,2313],{},[150,43361,2139],{},[54,43363,43364,2318],{},[150,43365,848],{},[54,43367,43368,2323],{},[150,43369,2150],{},[54,43371,43372,14325],{},[150,43373,14141],{},[11,43375,14328,43376,14148,43378,14333],{},[150,43377,8355],{},[150,43379,13759],{},[11,43381,43382],{},[150,43383,1043],{},[866,43385,43386],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,43387,43388,43392,43402,43412,43418,43422,43430,43434],{"__ignoreMap":760},[984,43389,43390],{"class":986,"line":987},[984,43391,991],{"class":990},[984,43393,43394,43396,43398,43400],{"class":986,"line":761},[984,43395,997],{"class":996},[984,43397,1000],{"class":990},[984,43399,1004],{"class":1003},[984,43401,1007],{"class":990},[984,43403,43404,43406,43408,43410],{"class":986,"line":772},[984,43405,1012],{"class":996},[984,43407,1015],{"class":990},[984,43409,1503],{"class":996},[984,43411,1021],{"class":990},[984,43413,43414,43416],{"class":986,"line":1024},[984,43415,1724],{"class":996},[984,43417,1524],{"class":990},[984,43419,43420],{"class":986,"line":1035},[984,43421,1529],{"class":990},[984,43423,43424,43426,43428],{"class":986,"line":1098},[984,43425,1735],{"class":996},[984,43427,1738],{"class":990},[984,43429,1741],{"class":1003},[984,43431,43432],{"class":986,"line":1111},[984,43433,1607],{"class":990},[984,43435,43436],{"class":986,"line":1124},[984,43437,1038],{"class":990},[11,43439,2213,43440,385],{},[18,43441,1977],{"href":13823},[26,43443,913],{"id":913},[11,43445,14033,43446,13738],{},[150,43447,948],{},[11,43449,14404,43450,14407],{},[18,43451,918],{"href":12373},[11,43453,43454],{},[150,43455,975],{},[866,43457,43458],{"className":978,"code":1621,"language":980,"meta":760,"style":760},[150,43459,43460,43464,43474,43484,43494,43500,43504,43512,43516],{"__ignoreMap":760},[984,43461,43462],{"class":986,"line":987},[984,43463,991],{"class":990},[984,43465,43466,43468,43470,43472],{"class":986,"line":761},[984,43467,997],{"class":996},[984,43469,1000],{"class":990},[984,43471,1004],{"class":1003},[984,43473,1007],{"class":990},[984,43475,43476,43478,43480,43482],{"class":986,"line":772},[984,43477,1012],{"class":996},[984,43479,1015],{"class":990},[984,43481,1503],{"class":996},[984,43483,1021],{"class":990},[984,43485,43486,43488,43490,43492],{"class":986,"line":1024},[984,43487,1027],{"class":996},[984,43489,1015],{"class":990},[984,43491,1656],{"class":1003},[984,43493,1021],{"class":990},[984,43495,43496,43498],{"class":986,"line":1035},[984,43497,1521],{"class":996},[984,43499,1665],{"class":990},[984,43501,43502],{"class":986,"line":1098},[984,43503,1529],{"class":990},[984,43505,43506,43508,43510],{"class":986,"line":1111},[984,43507,1220],{"class":996},[984,43509,1015],{"class":990},[984,43511,1678],{"class":996},[984,43513,43514],{"class":986,"line":1124},[984,43515,1607],{"class":990},[984,43517,43518],{"class":986,"line":1137},[984,43519,1038],{"class":990},[89,43521,43522,43526,43530],{},[54,43523,43524,1830],{},[150,43525,848],{},[54,43527,43528,2323],{},[150,43529,2150],{},[54,43531,43532,14325],{},[150,43533,14141],{},[11,43535,14492],{},[11,43537,43538],{},[150,43539,1043],{},[866,43541,43542],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,43543,43544,43548,43558,43568,43574,43578,43586,43590],{"__ignoreMap":760},[984,43545,43546],{"class":986,"line":987},[984,43547,991],{"class":990},[984,43549,43550,43552,43554,43556],{"class":986,"line":761},[984,43551,997],{"class":996},[984,43553,1000],{"class":990},[984,43555,1004],{"class":1003},[984,43557,1007],{"class":990},[984,43559,43560,43562,43564,43566],{"class":986,"line":772},[984,43561,1012],{"class":996},[984,43563,1015],{"class":990},[984,43565,1503],{"class":996},[984,43567,1021],{"class":990},[984,43569,43570,43572],{"class":986,"line":1024},[984,43571,1724],{"class":996},[984,43573,1524],{"class":990},[984,43575,43576],{"class":986,"line":1035},[984,43577,1529],{"class":990},[984,43579,43580,43582,43584],{"class":986,"line":1098},[984,43581,1735],{"class":996},[984,43583,1738],{"class":990},[984,43585,1741],{"class":1003},[984,43587,43588],{"class":986,"line":1111},[984,43589,1607],{"class":990},[984,43591,43592],{"class":986,"line":1124},[984,43593,1038],{"class":990},[11,43595,2213,43596,385],{},[18,43597,1977],{"href":13823},[26,43599,12316],{"id":12316},[11,43601,14559],{},[11,43603,43604],{},[150,43605,975],{},[866,43607,43608],{"className":978,"code":14566,"language":980,"meta":760,"style":760},[150,43609,43610,43614,43624,43634,43644,43650,43654,43662,43666],{"__ignoreMap":760},[984,43611,43612],{"class":986,"line":987},[984,43613,991],{"class":990},[984,43615,43616,43618,43620,43622],{"class":986,"line":761},[984,43617,997],{"class":996},[984,43619,1000],{"class":990},[984,43621,1004],{"class":1003},[984,43623,1007],{"class":990},[984,43625,43626,43628,43630,43632],{"class":986,"line":772},[984,43627,1012],{"class":996},[984,43629,1015],{"class":990},[984,43631,2431],{"class":996},[984,43633,1021],{"class":990},[984,43635,43636,43638,43640,43642],{"class":986,"line":1024},[984,43637,1027],{"class":996},[984,43639,1000],{"class":990},[984,43641,14601],{"class":1003},[984,43643,1007],{"class":990},[984,43645,43646,43648],{"class":986,"line":1035},[984,43647,1521],{"class":996},[984,43649,1524],{"class":990},[984,43651,43652],{"class":986,"line":1098},[984,43653,1529],{"class":990},[984,43655,43656,43658,43660],{"class":986,"line":1111},[984,43657,1735],{"class":996},[984,43659,1738],{"class":990},[984,43661,14622],{"class":1003},[984,43663,43664],{"class":986,"line":1124},[984,43665,1607],{"class":990},[984,43667,43668],{"class":986,"line":1137},[984,43669,1038],{"class":990},[89,43671,43672],{},[54,43673,43674,14637],{},[150,43675,2150],{},[11,43677,43678],{},[150,43679,1043],{},[866,43681,43682],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,43683,43684,43688,43698,43708,43716],{"__ignoreMap":760},[984,43685,43686],{"class":986,"line":987},[984,43687,991],{"class":990},[984,43689,43690,43692,43694,43696],{"class":986,"line":761},[984,43691,997],{"class":996},[984,43693,1000],{"class":990},[984,43695,1004],{"class":1003},[984,43697,1007],{"class":990},[984,43699,43700,43702,43704,43706],{"class":986,"line":772},[984,43701,1012],{"class":996},[984,43703,1015],{"class":990},[984,43705,2431],{"class":996},[984,43707,1021],{"class":990},[984,43709,43710,43712,43714],{"class":986,"line":1024},[984,43711,1724],{"class":996},[984,43713,1015],{"class":990},[984,43715,2497],{"class":996},[984,43717,43718],{"class":986,"line":1035},[984,43719,1038],{"class":990},[11,43721,14685,43722,14688,43724,14691],{},[150,43723,2682],{},[18,43725,1977],{"href":13823},[26,43727,12324],{"id":12324},[11,43729,14696],{},[11,43731,43732],{},[150,43733,975],{},[866,43735,43736],{"className":978,"code":14703,"language":980,"meta":760,"style":760},[150,43737,43738,43742,43752,43762,43772,43778,43782,43790,43794],{"__ignoreMap":760},[984,43739,43740],{"class":986,"line":987},[984,43741,991],{"class":990},[984,43743,43744,43746,43748,43750],{"class":986,"line":761},[984,43745,997],{"class":996},[984,43747,1000],{"class":990},[984,43749,1004],{"class":1003},[984,43751,1007],{"class":990},[984,43753,43754,43756,43758,43760],{"class":986,"line":772},[984,43755,1012],{"class":996},[984,43757,1015],{"class":990},[984,43759,2431],{"class":996},[984,43761,1021],{"class":990},[984,43763,43764,43766,43768,43770],{"class":986,"line":1024},[984,43765,1027],{"class":996},[984,43767,1000],{"class":990},[984,43769,14738],{"class":1003},[984,43771,1007],{"class":990},[984,43773,43774,43776],{"class":986,"line":1035},[984,43775,1521],{"class":996},[984,43777,1524],{"class":990},[984,43779,43780],{"class":986,"line":1098},[984,43781,1529],{"class":990},[984,43783,43784,43786,43788],{"class":986,"line":1111},[984,43785,1735],{"class":996},[984,43787,1738],{"class":990},[984,43789,14622],{"class":1003},[984,43791,43792],{"class":986,"line":1124},[984,43793,1607],{"class":990},[984,43795,43796],{"class":986,"line":1137},[984,43797,1038],{"class":990},[89,43799,43800],{},[54,43801,43802,14773],{},[150,43803,2150],{},[11,43805,43806],{},[150,43807,1043],{},[866,43809,43810],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,43811,43812,43816,43826,43836,43844],{"__ignoreMap":760},[984,43813,43814],{"class":986,"line":987},[984,43815,991],{"class":990},[984,43817,43818,43820,43822,43824],{"class":986,"line":761},[984,43819,997],{"class":996},[984,43821,1000],{"class":990},[984,43823,1004],{"class":1003},[984,43825,1007],{"class":990},[984,43827,43828,43830,43832,43834],{"class":986,"line":772},[984,43829,1012],{"class":996},[984,43831,1015],{"class":990},[984,43833,2431],{"class":996},[984,43835,1021],{"class":990},[984,43837,43838,43840,43842],{"class":986,"line":1024},[984,43839,1724],{"class":996},[984,43841,1015],{"class":990},[984,43843,2497],{"class":996},[984,43845,43846],{"class":986,"line":1035},[984,43847,1038],{"class":990},[11,43849,14685,43850,14822,43852,14691],{},[150,43851,2682],{},[18,43853,1977],{"href":13823},[26,43855,12303],{"id":12303},[11,43857,14829,43858,14832],{},[18,43859,12337],{"href":12336},[11,43861,43862],{},[150,43863,975],{},[866,43865,43866],{"className":978,"code":32133,"language":980,"meta":760,"style":760},[150,43867,43868,43872,43882,43892,43902,43908,43912,43922,43930,43934],{"__ignoreMap":760},[984,43869,43870],{"class":986,"line":987},[984,43871,991],{"class":990},[984,43873,43874,43876,43878,43880],{"class":986,"line":761},[984,43875,997],{"class":996},[984,43877,1000],{"class":990},[984,43879,1004],{"class":1003},[984,43881,1007],{"class":990},[984,43883,43884,43886,43888,43890],{"class":986,"line":772},[984,43885,1012],{"class":996},[984,43887,1015],{"class":990},[984,43889,2431],{"class":996},[984,43891,1021],{"class":990},[984,43893,43894,43896,43898,43900],{"class":986,"line":1024},[984,43895,1027],{"class":996},[984,43897,1000],{"class":990},[984,43899,14874],{"class":1003},[984,43901,1007],{"class":990},[984,43903,43904,43906],{"class":986,"line":1035},[984,43905,1521],{"class":996},[984,43907,1524],{"class":990},[984,43909,43910],{"class":986,"line":1098},[984,43911,1529],{"class":990},[984,43913,43914,43916,43918,43920],{"class":986,"line":1111},[984,43915,1735],{"class":996},[984,43917,1738],{"class":990},[984,43919,14895],{"class":1003},[984,43921,1021],{"class":990},[984,43923,43924,43926,43928],{"class":986,"line":1124},[984,43925,32194],{"class":996},[984,43927,1015],{"class":990},[984,43929,13679],{"class":996},[984,43931,43932],{"class":986,"line":1137},[984,43933,1607],{"class":990},[984,43935,43936],{"class":986,"line":1150},[984,43937,1038],{"class":990},[89,43939,43940,43944],{},[54,43941,43942,32213],{},[150,43943,2150],{},[54,43945,43946,32218,43948,32221,43950,385],{},[150,43947,29319],{},[150,43949,2682],{},[150,43951,5089],{},[11,43953,43954],{},[150,43955,1043],{},[866,43957,43958],{"className":978,"code":14912,"language":980,"meta":760,"style":760},[150,43959,43960,43964,43974,43984,43990,43994,44004,44014,44024,44034,44044,44054,44064,44074,44084,44094,44104,44114,44124,44134,44144,44154,44164,44172,44176],{"__ignoreMap":760},[984,43961,43962],{"class":986,"line":987},[984,43963,991],{"class":990},[984,43965,43966,43968,43970,43972],{"class":986,"line":761},[984,43967,997],{"class":996},[984,43969,1000],{"class":990},[984,43971,1004],{"class":1003},[984,43973,1007],{"class":990},[984,43975,43976,43978,43980,43982],{"class":986,"line":772},[984,43977,1012],{"class":996},[984,43979,1015],{"class":990},[984,43981,2431],{"class":996},[984,43983,1021],{"class":990},[984,43985,43986,43988],{"class":986,"line":1024},[984,43987,1724],{"class":996},[984,43989,1524],{"class":990},[984,43991,43992],{"class":986,"line":1035},[984,43993,14949],{"class":990},[984,43995,43996,43998,44000,44002],{"class":986,"line":1098},[984,43997,1735],{"class":996},[984,43999,1738],{"class":990},[984,44001,14895],{"class":1003},[984,44003,1021],{"class":990},[984,44005,44006,44008,44010,44012],{"class":986,"line":1111},[984,44007,1220],{"class":996},[984,44009,1015],{"class":990},[984,44011,1171],{"class":996},[984,44013,1021],{"class":990},[984,44015,44016,44018,44020,44022],{"class":986,"line":1124},[984,44017,1580],{"class":996},[984,44019,1015],{"class":990},[984,44021,13091],{"class":1003},[984,44023,1021],{"class":990},[984,44025,44026,44028,44030,44032],{"class":986,"line":1137},[984,44027,1546],{"class":996},[984,44029,1015],{"class":990},[984,44031,4979],{"class":996},[984,44033,1021],{"class":990},[984,44035,44036,44038,44040,44042],{"class":986,"line":1150},[984,44037,14994],{"class":996},[984,44039,1015],{"class":990},[984,44041,14999],{"class":1003},[984,44043,1021],{"class":990},[984,44045,44046,44048,44050,44052],{"class":986,"line":1163},[984,44047,15006],{"class":996},[984,44049,1015],{"class":990},[984,44051,1562],{"class":1003},[984,44053,1021],{"class":990},[984,44055,44056,44058,44060,44062],{"class":986,"line":1176},[984,44057,15017],{"class":996},[984,44059,1015],{"class":990},[984,44061,15022],{"class":1003},[984,44063,1021],{"class":990},[984,44065,44066,44068,44070,44072],{"class":986,"line":1189},[984,44067,15029],{"class":996},[984,44069,1015],{"class":990},[984,44071,2431],{"class":996},[984,44073,1021],{"class":990},[984,44075,44076,44078,44080,44082],{"class":986,"line":1202},[984,44077,15040],{"class":996},[984,44079,1738],{"class":990},[984,44081,15045],{"class":1003},[984,44083,1021],{"class":990},[984,44085,44086,44088,44090,44092],{"class":986,"line":1211},[984,44087,15052],{"class":996},[984,44089,1015],{"class":990},[984,44091,1171],{"class":996},[984,44093,1021],{"class":990},[984,44095,44096,44098,44100,44102],{"class":986,"line":1217},[984,44097,15063],{"class":996},[984,44099,1015],{"class":990},[984,44101,15068],{"class":1003},[984,44103,1021],{"class":990},[984,44105,44106,44108,44110,44112],{"class":986,"line":1229},[984,44107,15075],{"class":996},[984,44109,1738],{"class":990},[984,44111,15080],{"class":1003},[984,44113,1021],{"class":990},[984,44115,44116,44118,44120,44122],{"class":986,"line":1241},[984,44117,1534],{"class":996},[984,44119,1015],{"class":990},[984,44121,1539],{"class":996},[984,44123,1021],{"class":990},[984,44125,44126,44128,44130,44132],{"class":986,"line":1254},[984,44127,13098],{"class":996},[984,44129,1738],{"class":990},[984,44131,15101],{"class":996},[984,44133,1021],{"class":990},[984,44135,44136,44138,44140,44142],{"class":986,"line":1266},[984,44137,15108],{"class":996},[984,44139,1738],{"class":990},[984,44141,5089],{"class":996},[984,44143,1021],{"class":990},[984,44145,44146,44148,44150,44152],{"class":986,"line":1279},[984,44147,15119],{"class":996},[984,44149,1015],{"class":990},[984,44151,15124],{"class":1003},[984,44153,1021],{"class":990},[984,44155,44156,44158,44160,44162],{"class":986,"line":1291},[984,44157,15131],{"class":996},[984,44159,1015],{"class":990},[984,44161,13182],{"class":1003},[984,44163,1021],{"class":990},[984,44165,44166,44168,44170],{"class":986,"line":1304},[984,44167,15142],{"class":996},[984,44169,1015],{"class":990},[984,44171,15147],{"class":1003},[984,44173,44174],{"class":986,"line":1316},[984,44175,15152],{"class":990},[984,44177,44178],{"class":986,"line":1327},[984,44179,1038],{"class":990},[26,44181,12337],{"id":12337},[11,44183,15161],{},[11,44185,44186],{},[150,44187,975],{},[866,44189,44190],{"className":978,"code":32462,"language":980,"meta":760,"style":760},[150,44191,44192,44196,44206,44216,44226,44232,44236,44242,44246,44256,44266,44270,44280,44290,44298,44302],{"__ignoreMap":760},[984,44193,44194],{"class":986,"line":987},[984,44195,991],{"class":990},[984,44197,44198,44200,44202,44204],{"class":986,"line":761},[984,44199,997],{"class":996},[984,44201,1000],{"class":990},[984,44203,1004],{"class":1003},[984,44205,1007],{"class":990},[984,44207,44208,44210,44212,44214],{"class":986,"line":772},[984,44209,1012],{"class":996},[984,44211,1015],{"class":990},[984,44213,12972],{"class":996},[984,44215,1021],{"class":990},[984,44217,44218,44220,44222,44224],{"class":986,"line":1024},[984,44219,1027],{"class":996},[984,44221,1000],{"class":990},[984,44223,15203],{"class":1003},[984,44225,1021],{"class":990},[984,44227,44228,44230],{"class":986,"line":1035},[984,44229,1521],{"class":996},[984,44231,1524],{"class":990},[984,44233,44234],{"class":986,"line":1098},[984,44235,1529],{"class":990},[984,44237,44238,44240],{"class":986,"line":1111},[984,44239,15220],{"class":996},[984,44241,5895],{"class":990},[984,44243,44244],{"class":986,"line":1124},[984,44245,8410],{"class":990},[984,44247,44248,44250,44252,44254],{"class":986,"line":1137},[984,44249,15231],{"class":996},[984,44251,1000],{"class":990},[984,44253,2431],{"class":996},[984,44255,1021],{"class":990},[984,44257,44258,44260,44262,44264],{"class":986,"line":1150},[984,44259,15242],{"class":996},[984,44261,1000],{"class":990},[984,44263,15247],{"class":996},[984,44265,1021],{"class":990},[984,44267,44268],{"class":986,"line":1163},[984,44269,15254],{"class":990},[984,44271,44272,44274,44276,44278],{"class":986,"line":1176},[984,44273,32194],{"class":996},[984,44275,1015],{"class":990},[984,44277,2682],{"class":996},[984,44279,1021],{"class":990},[984,44281,44282,44284,44286,44288],{"class":986,"line":1189},[984,44283,15259],{"class":996},[984,44285,1738],{"class":990},[984,44287,1171],{"class":996},[984,44289,1021],{"class":990},[984,44291,44292,44294,44296],{"class":986,"line":1202},[984,44293,15270],{"class":996},[984,44295,1738],{"class":990},[984,44297,15275],{"class":996},[984,44299,44300],{"class":986,"line":1211},[984,44301,1607],{"class":990},[984,44303,44304],{"class":986,"line":1217},[984,44305,1038],{"class":990},[89,44307,44308,44312,44316,44320,44324],{},[54,44309,44310,15291],{},[150,44311,15290],{},[54,44313,44314,15297],{},[150,44315,15296],{},[54,44317,44318,15302],{},[150,44319,6846],{},[54,44321,44322,15308],{},[150,44323,15307],{},[54,44325,44326,32601,44328,32221,44330,385],{},[150,44327,29319],{},[150,44329,2682],{},[150,44331,5089],{},[11,44333,15311,44334,4316],{},[150,44335,948],{},[89,44337,44338],{},[54,44339,44340,15321,44342,15324],{},[150,44341,15320],{},[150,44343,15320],{},[11,44345,44346],{},[150,44347,1043],{},[866,44349,44350],{"className":978,"code":32624,"language":980,"meta":760,"style":760},[150,44351,44352,44356,44366,44376,44382,44386,44396,44406,44416,44426,44436,44446,44456,44466,44476,44486,44496,44506,44516,44526,44532,44536,44546,44556,44566,44574,44578,44582,44592,44602,44612,44620,44624,44628,44632,44636,44646,44656,44666,44676,44686,44696,44706,44716,44726,44736,44746,44756,44766,44776,44786,44796,44802,44806,44810,44820,44830,44840,44850,44860,44870,44880,44890,44900,44910,44920,44930,44940,44950,44960,44970,44980,44986,44990],{"__ignoreMap":760},[984,44353,44354],{"class":986,"line":987},[984,44355,991],{"class":990},[984,44357,44358,44360,44362,44364],{"class":986,"line":761},[984,44359,997],{"class":996},[984,44361,1000],{"class":990},[984,44363,1004],{"class":1003},[984,44365,1007],{"class":990},[984,44367,44368,44370,44372,44374],{"class":986,"line":772},[984,44369,1012],{"class":996},[984,44371,1015],{"class":990},[984,44373,12972],{"class":996},[984,44375,1021],{"class":990},[984,44377,44378,44380],{"class":986,"line":1024},[984,44379,1724],{"class":996},[984,44381,1524],{"class":990},[984,44383,44384],{"class":986,"line":1035},[984,44385,15368],{"class":990},[984,44387,44388,44390,44392,44394],{"class":986,"line":1098},[984,44389,1220],{"class":996},[984,44391,1015],{"class":990},[984,44393,1171],{"class":996},[984,44395,1021],{"class":990},[984,44397,44398,44400,44402,44404],{"class":986,"line":1111},[984,44399,1735],{"class":996},[984,44401,1738],{"class":990},[984,44403,14895],{"class":1003},[984,44405,1021],{"class":990},[984,44407,44408,44410,44412,44414],{"class":986,"line":1124},[984,44409,1580],{"class":996},[984,44411,1015],{"class":990},[984,44413,13091],{"class":1003},[984,44415,1021],{"class":990},[984,44417,44418,44420,44422,44424],{"class":986,"line":1137},[984,44419,1546],{"class":996},[984,44421,1015],{"class":990},[984,44423,1171],{"class":996},[984,44425,1021],{"class":990},[984,44427,44428,44430,44432,44434],{"class":986,"line":1150},[984,44429,14994],{"class":996},[984,44431,1015],{"class":990},[984,44433,14999],{"class":1003},[984,44435,1021],{"class":990},[984,44437,44438,44440,44442,44444],{"class":986,"line":1163},[984,44439,15006],{"class":996},[984,44441,1015],{"class":990},[984,44443,1562],{"class":1003},[984,44445,1021],{"class":990},[984,44447,44448,44450,44452,44454],{"class":986,"line":1176},[984,44449,15017],{"class":996},[984,44451,1015],{"class":990},[984,44453,15022],{"class":1003},[984,44455,1021],{"class":990},[984,44457,44458,44460,44462,44464],{"class":986,"line":1189},[984,44459,15029],{"class":996},[984,44461,1015],{"class":990},[984,44463,2431],{"class":996},[984,44465,1021],{"class":990},[984,44467,44468,44470,44472,44474],{"class":986,"line":1202},[984,44469,15040],{"class":996},[984,44471,1738],{"class":990},[984,44473,15045],{"class":1003},[984,44475,1021],{"class":990},[984,44477,44478,44480,44482,44484],{"class":986,"line":1211},[984,44479,15075],{"class":996},[984,44481,1738],{"class":990},[984,44483,15080],{"class":1003},[984,44485,1021],{"class":990},[984,44487,44488,44490,44492,44494],{"class":986,"line":1217},[984,44489,1534],{"class":996},[984,44491,1015],{"class":990},[984,44493,1539],{"class":996},[984,44495,1021],{"class":990},[984,44497,44498,44500,44502,44504],{"class":986,"line":1229},[984,44499,13098],{"class":996},[984,44501,1738],{"class":990},[984,44503,15101],{"class":996},[984,44505,1021],{"class":990},[984,44507,44508,44510,44512,44514],{"class":986,"line":1241},[984,44509,15108],{"class":996},[984,44511,1738],{"class":990},[984,44513,5089],{"class":996},[984,44515,1021],{"class":990},[984,44517,44518,44520,44522,44524],{"class":986,"line":1254},[984,44519,15142],{"class":996},[984,44521,1015],{"class":990},[984,44523,32799],{"class":1003},[984,44525,1021],{"class":990},[984,44527,44528,44530],{"class":986,"line":1266},[984,44529,32194],{"class":996},[984,44531,1208],{"class":990},[984,44533,44534],{"class":986,"line":1279},[984,44535,9689],{"class":990},[984,44537,44538,44540,44542,44544],{"class":986,"line":1291},[984,44539,32816],{"class":996},[984,44541,1015],{"class":990},[984,44543,5131],{"class":996},[984,44545,1021],{"class":990},[984,44547,44548,44550,44552,44554],{"class":986,"line":1304},[984,44549,32827],{"class":996},[984,44551,1015],{"class":990},[984,44553,32832],{"class":996},[984,44555,1021],{"class":990},[984,44557,44558,44560,44562,44564],{"class":986,"line":1316},[984,44559,32839],{"class":996},[984,44561,1015],{"class":990},[984,44563,32844],{"class":1003},[984,44565,1021],{"class":990},[984,44567,44568,44570,44572],{"class":986,"line":1327},[984,44569,32851],{"class":996},[984,44571,1015],{"class":990},[984,44573,32856],{"class":1003},[984,44575,44576],{"class":986,"line":1333},[984,44577,32861],{"class":990},[984,44579,44580],{"class":986,"line":1338},[984,44581,9689],{"class":990},[984,44583,44584,44586,44588,44590],{"class":986,"line":1355},[984,44585,32816],{"class":996},[984,44587,1015],{"class":990},[984,44589,1171],{"class":996},[984,44591,1021],{"class":990},[984,44593,44594,44596,44598,44600],{"class":986,"line":1367},[984,44595,32827],{"class":996},[984,44597,1015],{"class":990},[984,44599,13914],{"class":996},[984,44601,1021],{"class":990},[984,44603,44604,44606,44608,44610],{"class":986,"line":1379},[984,44605,32839],{"class":996},[984,44607,1015],{"class":990},[984,44609,32894],{"class":1003},[984,44611,1021],{"class":990},[984,44613,44614,44616,44618],{"class":986,"line":1390},[984,44615,32851],{"class":996},[984,44617,1015],{"class":990},[984,44619,32905],{"class":1003},[984,44621,44622],{"class":986,"line":1402},[984,44623,9817],{"class":990},[984,44625,44626],{"class":986,"line":1413},[984,44627,28870],{"class":990},[984,44629,44630],{"class":986,"line":1424},[984,44631,15511],{"class":990},[984,44633,44634],{"class":986,"line":1435},[984,44635,1529],{"class":990},[984,44637,44638,44640,44642,44644],{"class":986,"line":1444},[984,44639,15520],{"class":996},[984,44641,1015],{"class":990},[984,44643,1345],{"class":996},[984,44645,1021],{"class":990},[984,44647,44648,44650,44652,44654],{"class":986,"line":1450},[984,44649,15531],{"class":996},[984,44651,1015],{"class":990},[984,44653,15536],{"class":1003},[984,44655,1021],{"class":990},[984,44657,44658,44660,44662,44664],{"class":986,"line":1456},[984,44659,15543],{"class":996},[984,44661,1015],{"class":990},[984,44663,13091],{"class":1003},[984,44665,1021],{"class":990},[984,44667,44668,44670,44672,44674],{"class":986,"line":1462},[984,44669,15554],{"class":996},[984,44671,1015],{"class":990},[984,44673,15559],{"class":996},[984,44675,1021],{"class":990},[984,44677,44678,44680,44682,44684],{"class":986,"line":7201},[984,44679,15566],{"class":996},[984,44681,1015],{"class":990},[984,44683,15571],{"class":996},[984,44685,1021],{"class":990},[984,44687,44688,44690,44692,44694],{"class":986,"line":7206},[984,44689,6656],{"class":996},[984,44691,1015],{"class":990},[984,44693,1171],{"class":996},[984,44695,1021],{"class":990},[984,44697,44698,44700,44702,44704],{"class":986,"line":7218},[984,44699,15588],{"class":996},[984,44701,1015],{"class":990},[984,44703,15593],{"class":996},[984,44705,1021],{"class":990},[984,44707,44708,44710,44712,44714],{"class":986,"line":7229},[984,44709,15600],{"class":996},[984,44711,1015],{"class":990},[984,44713,5089],{"class":996},[984,44715,1021],{"class":990},[984,44717,44718,44720,44722,44724],{"class":986,"line":7241},[984,44719,15611],{"class":996},[984,44721,1015],{"class":990},[984,44723,1397],{"class":1003},[984,44725,1021],{"class":990},[984,44727,44728,44730,44732,44734],{"class":986,"line":7252},[984,44729,15622],{"class":996},[984,44731,1015],{"class":990},[984,44733,1397],{"class":1003},[984,44735,1021],{"class":990},[984,44737,44738,44740,44742,44744],{"class":986,"line":7262},[984,44739,15633],{"class":996},[984,44741,1015],{"class":990},[984,44743,5131],{"class":996},[984,44745,1021],{"class":990},[984,44747,44748,44750,44752,44754],{"class":986,"line":7267},[984,44749,15644],{"class":996},[984,44751,1015],{"class":990},[984,44753,15649],{"class":1003},[984,44755,1021],{"class":990},[984,44757,44758,44760,44762,44764],{"class":986,"line":7272},[984,44759,15656],{"class":996},[984,44761,1015],{"class":990},[984,44763,15661],{"class":1003},[984,44765,1021],{"class":990},[984,44767,44768,44770,44772,44774],{"class":986,"line":7279},[984,44769,15668],{"class":996},[984,44771,1015],{"class":990},[984,44773,1018],{"class":996},[984,44775,1021],{"class":990},[984,44777,44778,44780,44782,44784],{"class":986,"line":7284},[984,44779,15679],{"class":996},[984,44781,1015],{"class":990},[984,44783,15684],{"class":1003},[984,44785,1021],{"class":990},[984,44787,44788,44790,44792,44794],{"class":986,"line":7295},[984,44789,15691],{"class":996},[984,44791,1015],{"class":990},[984,44793,1171],{"class":996},[984,44795,1021],{"class":990},[984,44797,44798,44800],{"class":986,"line":7307},[984,44799,33086],{"class":996},[984,44801,33089],{"class":990},[984,44803,44804],{"class":986,"line":7318},[984,44805,15511],{"class":990},[984,44807,44808],{"class":986,"line":7328},[984,44809,1529],{"class":990},[984,44811,44812,44814,44816,44818],{"class":986,"line":7333},[984,44813,1220],{"class":996},[984,44815,1015],{"class":990},[984,44817,1345],{"class":996},[984,44819,1021],{"class":990},[984,44821,44822,44824,44826,44828],{"class":986,"line":7338},[984,44823,15719],{"class":996},[984,44825,1015],{"class":990},[984,44827,15536],{"class":1003},[984,44829,1021],{"class":990},[984,44831,44832,44834,44836,44838],{"class":986,"line":7350},[984,44833,1580],{"class":996},[984,44835,1015],{"class":990},[984,44837,13091],{"class":1003},[984,44839,1021],{"class":990},[984,44841,44842,44844,44846,44848],{"class":986,"line":7361},[984,44843,15740],{"class":996},[984,44845,1015],{"class":990},[984,44847,15745],{"class":996},[984,44849,1021],{"class":990},[984,44851,44852,44854,44856,44858],{"class":986,"line":7372},[984,44853,15752],{"class":996},[984,44855,1015],{"class":990},[984,44857,15757],{"class":996},[984,44859,1021],{"class":990},[984,44861,44862,44864,44866,44868],{"class":986,"line":7383},[984,44863,13098],{"class":996},[984,44865,1015],{"class":990},[984,44867,15768],{"class":996},[984,44869,1021],{"class":990},[984,44871,44872,44874,44876,44878],{"class":986,"line":7393},[984,44873,1546],{"class":996},[984,44875,1015],{"class":990},[984,44877,4979],{"class":996},[984,44879,1021],{"class":990},[984,44881,44882,44884,44886,44888],{"class":986,"line":7398},[984,44883,15108],{"class":996},[984,44885,1015],{"class":990},[984,44887,5089],{"class":996},[984,44889,1021],{"class":990},[984,44891,44892,44894,44896,44898],{"class":986,"line":7403},[984,44893,14994],{"class":996},[984,44895,1015],{"class":990},[984,44897,15799],{"class":1003},[984,44899,1021],{"class":990},[984,44901,44902,44904,44906,44908],{"class":986,"line":7415},[984,44903,15006],{"class":996},[984,44905,1015],{"class":990},[984,44907,1397],{"class":1003},[984,44909,1021],{"class":990},[984,44911,44912,44914,44916,44918],{"class":986,"line":7427},[984,44913,15017],{"class":996},[984,44915,1015],{"class":990},[984,44917,1397],{"class":1003},[984,44919,1021],{"class":990},[984,44921,44922,44924,44926,44928],{"class":986,"line":7438},[984,44923,15029],{"class":996},[984,44925,1015],{"class":990},[984,44927,5131],{"class":996},[984,44929,1021],{"class":990},[984,44931,44932,44934,44936,44938],{"class":986,"line":7449},[984,44933,15040],{"class":996},[984,44935,1015],{"class":990},[984,44937,15840],{"class":1003},[984,44939,1021],{"class":990},[984,44941,44942,44944,44946,44948],{"class":986,"line":7461},[984,44943,1735],{"class":996},[984,44945,1015],{"class":990},[984,44947,15851],{"class":1003},[984,44949,1021],{"class":990},[984,44951,44952,44954,44956,44958],{"class":986,"line":7468},[984,44953,15052],{"class":996},[984,44955,1015],{"class":990},[984,44957,1503],{"class":996},[984,44959,1021],{"class":990},[984,44961,44962,44964,44966,44968],{"class":986,"line":7475},[984,44963,15063],{"class":996},[984,44965,1015],{"class":990},[984,44967,15872],{"class":1003},[984,44969,1021],{"class":990},[984,44971,44972,44974,44976,44978],{"class":986,"line":7480},[984,44973,1534],{"class":996},[984,44975,1015],{"class":990},[984,44977,17190],{"class":996},[984,44979,1021],{"class":990},[984,44981,44982,44984],{"class":986,"line":7492},[984,44983,32194],{"class":996},[984,44985,33089],{"class":990},[984,44987,44988],{"class":986,"line":7503},[984,44989,15888],{"class":990},[984,44991,44992],{"class":986,"line":7515},[984,44993,1038],{"class":990},[89,44995,44996,45000,45006,45010,45016,45022,45026,45030,45034,45038,45042,45046,45050,45054,45058,45072,45078],{},[54,44997,44998,15900],{},[150,44999,15899],{},[54,45001,45002,163,45004,15908],{},[150,45003,6545],{},[150,45005,15907],{},[54,45007,45008,15913],{},[150,45009,15907],{},[54,45011,45012,163,45014,23036],{},[150,45013,15918],{},[150,45015,15921],{},[54,45017,45018,15928,45020,15931],{},[150,45019,15927],{},[150,45021,6390],{},[54,45023,45024,15936],{},[150,45025,14141],{},[54,45027,45028,15942],{},[150,45029,15941],{},[54,45031,45032,15948],{},[150,45033,15947],{},[54,45035,45036,15953],{},[150,45037,848],{},[54,45039,45040,15958],{},[150,45041,14141],{},[54,45043,45044,15963],{},[150,45045,6551],{},[54,45047,45048,33338],{},[150,45049,29308],{},[54,45051,45052,33343],{},[150,45053,29305],{},[54,45055,45056,33348],{},[150,45057,29319],{},[54,45059,45060,163,45062,33357,45064,33361,45066,33365,45068,441,45070,33372],{},[150,45061,33353],{},[150,45063,33356],{},[150,45065,33360],{},[150,45067,33364],{},[150,45069,33368],{},[150,45071,33371],{},[54,45073,45074,163,45076,33381],{},[150,45075,33377],{},[150,45077,33380],{},[54,45079,45080,33386,45082,163,45084,33392,45086],{},[150,45081,29401],{},[18,45083,6196],{"href":12240},[18,45085,16052],{"href":33391},[89,45087,45088,45092,45096],{},[54,45089,45090],{},[150,45091,5811],{},[54,45093,45094],{},[150,45095,6002],{},[54,45097,45098],{},[150,45099,5991],{},[716,45101,15967],{"id":15966},[716,45103,15971],{"id":15970},[89,45105,45106,45110,45120,45124,45138,45144],{},[54,45107,15976,45108,15980],{},[150,45109,15979],{},[54,45111,15983,45112,4665,45114,4665,45116,4665,45118,15996],{},[150,45113,15986],{},[150,45115,15989],{},[150,45117,15992],{},[150,45119,15995],{},[54,45121,15999,45122,16003],{},[150,45123,16002],{},[54,45125,16006,45126,4665,45128,4665,45130,4665,45132,4665,45134,4665,45136],{},[150,45127,16009],{},[150,45129,16012],{},[150,45131,16015],{},[150,45133,16018],{},[150,45135,16021],{},[150,45137,16024],{},[54,45139,16027,45140,16031,45142],{},[150,45141,16030],{},[150,45143,16034],{},[54,45145,16037,45146,4665,45148,4665,45150,4665,45152,16048],{},[150,45147,15986],{},[150,45149,16042],{},[150,45151,16045],{},[150,45153,15995],{},[716,45155,16052],{"id":16051},[89,45157,45158,45160,45162,45164,45166,45168,45170,45172,45174],{},[54,45159,16057],{},[54,45161,16060],{},[54,45163,16063],{},[54,45165,16066],{},[54,45167,16069],{},[54,45169,16072],{},[54,45171,16075],{},[54,45173,16078],{},[54,45175,16081],{},[11,45177,45178,16087],{},[94,45179,16086],{},[26,45181,883],{"id":883},[11,45183,16092],{},[11,45185,45186],{},[150,45187,975],{},[866,45189,45190],{"className":978,"code":979,"language":980,"meta":760,"style":760},[150,45191,45192,45196,45206,45216,45224],{"__ignoreMap":760},[984,45193,45194],{"class":986,"line":987},[984,45195,991],{"class":990},[984,45197,45198,45200,45202,45204],{"class":986,"line":761},[984,45199,997],{"class":996},[984,45201,1000],{"class":990},[984,45203,1004],{"class":1003},[984,45205,1007],{"class":990},[984,45207,45208,45210,45212,45214],{"class":986,"line":772},[984,45209,1012],{"class":996},[984,45211,1015],{"class":990},[984,45213,1018],{"class":996},[984,45215,1021],{"class":990},[984,45217,45218,45220,45222],{"class":986,"line":1024},[984,45219,1027],{"class":996},[984,45221,1000],{"class":990},[984,45223,1032],{"class":1003},[984,45225,45226],{"class":986,"line":1035},[984,45227,1038],{"class":990},[11,45229,45230],{},[150,45231,1043],{},[866,45233,45234],{"className":978,"code":33541,"language":980,"meta":760,"style":760},[150,45235,45236,45240,45250,45260,45266,45270,45280,45290,45300,45310,45320,45330,45340,45350,45360,45370,45374],{"__ignoreMap":760},[984,45237,45238],{"class":986,"line":987},[984,45239,991],{"class":990},[984,45241,45242,45244,45246,45248],{"class":986,"line":761},[984,45243,997],{"class":996},[984,45245,1000],{"class":990},[984,45247,1004],{"class":1003},[984,45249,1007],{"class":990},[984,45251,45252,45254,45256,45258],{"class":986,"line":772},[984,45253,1012],{"class":996},[984,45255,1015],{"class":990},[984,45257,1018],{"class":996},[984,45259,1021],{"class":990},[984,45261,45262,45264],{"class":986,"line":1024},[984,45263,1724],{"class":996},[984,45265,1524],{"class":990},[984,45267,45268],{"class":986,"line":1035},[984,45269,1529],{"class":990},[984,45271,45272,45274,45276,45278],{"class":986,"line":1098},[984,45273,16184],{"class":996},[984,45275,1738],{"class":990},[984,45277,15247],{"class":996},[984,45279,1021],{"class":990},[984,45281,45282,45284,45286,45288],{"class":986,"line":1111},[984,45283,16195],{"class":996},[984,45285,1738],{"class":990},[984,45287,15022],{"class":1003},[984,45289,1021],{"class":990},[984,45291,45292,45294,45296,45298],{"class":986,"line":1124},[984,45293,23262],{"class":996},[984,45295,1015],{"class":990},[984,45297,23267],{"class":996},[984,45299,1021],{"class":990},[984,45301,45302,45304,45306,45308],{"class":986,"line":1137},[984,45303,16206],{"class":996},[984,45305,1738],{"class":990},[984,45307,16211],{"class":1003},[984,45309,1021],{"class":990},[984,45311,45312,45314,45316,45318],{"class":986,"line":1150},[984,45313,23284],{"class":996},[984,45315,1015],{"class":990},[984,45317,2682],{"class":996},[984,45319,1021],{"class":990},[984,45321,45322,45324,45326,45328],{"class":986,"line":1163},[984,45323,1232],{"class":996},[984,45325,1015],{"class":990},[984,45327,16222],{"class":996},[984,45329,1021],{"class":990},[984,45331,45332,45334,45336,45338],{"class":986,"line":1176},[984,45333,1282],{"class":996},[984,45335,1015],{"class":990},[984,45337,1158],{"class":996},[984,45339,1021],{"class":990},[984,45341,45342,45344,45346,45348],{"class":986,"line":1189},[984,45343,1307],{"class":996},[984,45345,1015],{"class":990},[984,45347,1171],{"class":996},[984,45349,1021],{"class":990},[984,45351,45352,45354,45356,45358],{"class":986,"line":1202},[984,45353,1257],{"class":996},[984,45355,1015],{"class":990},[984,45357,16253],{"class":996},[984,45359,1021],{"class":990},[984,45361,45362,45364,45366,45368],{"class":986,"line":1211},[984,45363,16271],{"class":996},[984,45365,1015],{"class":990},[984,45367,16276],{"class":996},[984,45369,1021],{"class":990},[984,45371,45372],{"class":986,"line":1217},[984,45373,1607],{"class":990},[984,45375,45376],{"class":986,"line":1229},[984,45377,1038],{"class":990},[89,45379,45380,45384,45388,45392,45396,45400,45404],{},[54,45381,45382,16293],{},[150,45383,12157],{},[54,45385,45386,16299],{},[150,45387,16298],{},[54,45389,45390,16304],{},[150,45391,12160],{},[54,45393,45394,16310],{},[150,45395,16309],{},[54,45397,45398,16315],{},[150,45399,10335],{},[54,45401,45402,23385],{},[150,45403,19514],{},[54,45405,45406,23390],{},[150,45407,19511],{},[11,45409,23393,45410,4316],{},[150,45411,948],{},[11,45413,45414],{},[150,45415,975],{},[866,45417,45418],{"className":978,"code":23402,"language":980,"meta":760,"style":760},[150,45419,45420,45424,45434,45444,45454,45460,45468,45472],{"__ignoreMap":760},[984,45421,45422],{"class":986,"line":987},[984,45423,991],{"class":990},[984,45425,45426,45428,45430,45432],{"class":986,"line":761},[984,45427,997],{"class":996},[984,45429,1000],{"class":990},[984,45431,1004],{"class":1003},[984,45433,1007],{"class":990},[984,45435,45436,45438,45440,45442],{"class":986,"line":772},[984,45437,1012],{"class":996},[984,45439,1015],{"class":990},[984,45441,1018],{"class":996},[984,45443,1021],{"class":990},[984,45445,45446,45448,45450,45452],{"class":986,"line":1024},[984,45447,1027],{"class":996},[984,45449,1000],{"class":990},[984,45451,11949],{"class":1003},[984,45453,1021],{"class":990},[984,45455,45456,45458],{"class":986,"line":1035},[984,45457,23443],{"class":996},[984,45459,1083],{"class":990},[984,45461,45462,45464,45466],{"class":986,"line":1098},[984,45463,23450],{"class":996},[984,45465,1015],{"class":990},[984,45467,13679],{"class":996},[984,45469,45470],{"class":986,"line":1111},[984,45471,9333],{"class":990},[984,45473,45474],{"class":986,"line":1124},[984,45475,1038],{"class":990},[89,45477,45478],{},[54,45479,45480,23469],{},[150,45481,12147],{},[11,45483,45484],{},[150,45485,1043],{},[866,45487,45488],{"className":978,"code":33796,"language":980,"meta":760,"style":760},[150,45489,45490,45494,45504,45514,45520,45530,45540,45550,45560,45570,45580,45590,45600,45610,45620,45626,45630,45640,45650,45660,45670,45680,45690,45700,45710,45720,45730,45740,45750,45760,45770,45780,45790,45800,45810,45820,45830,45840,45850,45860,45870,45880,45890,45900,45910,45918,45922,45926,45936,45946,45956,45966,45976,45986,45996,46006,46016,46026,46036,46046,46056,46066,46076,46086,46096,46106,46116,46126,46136,46146,46156,46166,46176,46186,46196,46206,46214,46218,46222,46226],{"__ignoreMap":760},[984,45491,45492],{"class":986,"line":987},[984,45493,991],{"class":990},[984,45495,45496,45498,45500,45502],{"class":986,"line":761},[984,45497,1057],{"class":996},[984,45499,1015],{"class":990},[984,45501,1062],{"class":996},[984,45503,1021],{"class":990},[984,45505,45506,45508,45510,45512],{"class":986,"line":772},[984,45507,1069],{"class":996},[984,45509,1015],{"class":990},[984,45511,1004],{"class":1003},[984,45513,1021],{"class":990},[984,45515,45516,45518],{"class":986,"line":1024},[984,45517,1080],{"class":996},[984,45519,1083],{"class":990},[984,45521,45522,45524,45526,45528],{"class":986,"line":1035},[984,45523,1088],{"class":996},[984,45525,1738],{"class":990},[984,45527,15247],{"class":996},[984,45529,1021],{"class":990},[984,45531,45532,45534,45536,45538],{"class":986,"line":1098},[984,45533,1101],{"class":996},[984,45535,1738],{"class":990},[984,45537,15022],{"class":1003},[984,45539,1021],{"class":990},[984,45541,45542,45544,45546,45548],{"class":986,"line":1111},[984,45543,23533],{"class":996},[984,45545,1015],{"class":990},[984,45547,23267],{"class":996},[984,45549,1021],{"class":990},[984,45551,45552,45554,45556,45558],{"class":986,"line":1124},[984,45553,1127],{"class":996},[984,45555,1738],{"class":990},[984,45557,16211],{"class":1003},[984,45559,1021],{"class":990},[984,45561,45562,45564,45566,45568],{"class":986,"line":1137},[984,45563,23554],{"class":996},[984,45565,1015],{"class":990},[984,45567,2682],{"class":996},[984,45569,1021],{"class":990},[984,45571,45572,45574,45576,45578],{"class":986,"line":1150},[984,45573,1140],{"class":996},[984,45575,1015],{"class":990},[984,45577,16222],{"class":996},[984,45579,1021],{"class":990},[984,45581,45582,45584,45586,45588],{"class":986,"line":1163},[984,45583,1153],{"class":996},[984,45585,1015],{"class":990},[984,45587,1158],{"class":996},[984,45589,1021],{"class":990},[984,45591,45592,45594,45596,45598],{"class":986,"line":1176},[984,45593,1166],{"class":996},[984,45595,1015],{"class":990},[984,45597,1171],{"class":996},[984,45599,1021],{"class":990},[984,45601,45602,45604,45606,45608],{"class":986,"line":1189},[984,45603,1179],{"class":996},[984,45605,1015],{"class":990},[984,45607,16253],{"class":996},[984,45609,1021],{"class":990},[984,45611,45612,45614,45616,45618],{"class":986,"line":1202},[984,45613,1114],{"class":996},[984,45615,1015],{"class":990},[984,45617,16276],{"class":996},[984,45619,1021],{"class":990},[984,45621,45622,45624],{"class":986,"line":1211},[984,45623,1205],{"class":996},[984,45625,1208],{"class":990},[984,45627,45628],{"class":986,"line":1217},[984,45629,1214],{"class":990},[984,45631,45632,45634,45636,45638],{"class":986,"line":1229},[984,45633,1220],{"class":996},[984,45635,1015],{"class":990},[984,45637,1171],{"class":996},[984,45639,1021],{"class":990},[984,45641,45642,45644,45646,45648],{"class":986,"line":1241},[984,45643,1232],{"class":996},[984,45645,1015],{"class":990},[984,45647,33957],{"class":996},[984,45649,1021],{"class":990},[984,45651,45652,45654,45656,45658],{"class":986,"line":1254},[984,45653,33964],{"class":996},[984,45655,1015],{"class":990},[984,45657,1171],{"class":996},[984,45659,1021],{"class":990},[984,45661,45662,45664,45666,45668],{"class":986,"line":1266},[984,45663,33975],{"class":996},[984,45665,1015],{"class":990},[984,45667,1397],{"class":1003},[984,45669,1021],{"class":990},[984,45671,45672,45674,45676,45678],{"class":986,"line":1279},[984,45673,33986],{"class":996},[984,45675,1015],{"class":990},[984,45677,33957],{"class":996},[984,45679,1021],{"class":990},[984,45681,45682,45684,45686,45688],{"class":986,"line":1291},[984,45683,33997],{"class":996},[984,45685,1015],{"class":990},[984,45687,34002],{"class":1003},[984,45689,1021],{"class":990},[984,45691,45692,45694,45696,45698],{"class":986,"line":1304},[984,45693,1244],{"class":996},[984,45695,1015],{"class":990},[984,45697,34002],{"class":1003},[984,45699,1021],{"class":990},[984,45701,45702,45704,45706,45708],{"class":986,"line":1316},[984,45703,2577],{"class":996},[984,45705,1015],{"class":990},[984,45707,1171],{"class":996},[984,45709,1021],{"class":990},[984,45711,45712,45714,45716,45718],{"class":986,"line":1327},[984,45713,2588],{"class":996},[984,45715,1015],{"class":990},[984,45717,1397],{"class":1003},[984,45719,1021],{"class":990},[984,45721,45722,45724,45726,45728],{"class":986,"line":1333},[984,45723,16260],{"class":996},[984,45725,1015],{"class":990},[984,45727,34043],{"class":996},[984,45729,1021],{"class":990},[984,45731,45732,45734,45736,45738],{"class":986,"line":1338},[984,45733,34050],{"class":996},[984,45735,1015],{"class":990},[984,45737,34055],{"class":1003},[984,45739,1021],{"class":990},[984,45741,45742,45744,45746,45748],{"class":986,"line":1355},[984,45743,1257],{"class":996},[984,45745,1015],{"class":990},[984,45747,34043],{"class":996},[984,45749,1021],{"class":990},[984,45751,45752,45754,45756,45758],{"class":986,"line":1367},[984,45753,34072],{"class":996},[984,45755,1015],{"class":990},[984,45757,1171],{"class":996},[984,45759,1021],{"class":990},[984,45761,45762,45764,45766,45768],{"class":986,"line":1379},[984,45763,34083],{"class":996},[984,45765,1015],{"class":990},[984,45767,1397],{"class":1003},[984,45769,1021],{"class":990},[984,45771,45772,45774,45776,45778],{"class":986,"line":1390},[984,45773,34094],{"class":996},[984,45775,1015],{"class":990},[984,45777,34043],{"class":996},[984,45779,1021],{"class":990},[984,45781,45782,45784,45786,45788],{"class":986,"line":1402},[984,45783,34105],{"class":996},[984,45785,1015],{"class":990},[984,45787,34055],{"class":1003},[984,45789,1021],{"class":990},[984,45791,45792,45794,45796,45798],{"class":986,"line":1413},[984,45793,1269],{"class":996},[984,45795,1015],{"class":990},[984,45797,34055],{"class":1003},[984,45799,1021],{"class":990},[984,45801,45802,45804,45806,45808],{"class":986,"line":1424},[984,45803,1282],{"class":996},[984,45805,1015],{"class":990},[984,45807,1171],{"class":996},[984,45809,1021],{"class":990},[984,45811,45812,45814,45816,45818],{"class":986,"line":1435},[984,45813,34136],{"class":996},[984,45815,1015],{"class":990},[984,45817,1171],{"class":996},[984,45819,1021],{"class":990},[984,45821,45822,45824,45826,45828],{"class":986,"line":1444},[984,45823,34147],{"class":996},[984,45825,1015],{"class":990},[984,45827,1397],{"class":1003},[984,45829,1021],{"class":990},[984,45831,45832,45834,45836,45838],{"class":986,"line":1450},[984,45833,34158],{"class":996},[984,45835,1015],{"class":990},[984,45837,1171],{"class":996},[984,45839,1021],{"class":990},[984,45841,45842,45844,45846,45848],{"class":986,"line":1456},[984,45843,34169],{"class":996},[984,45845,1015],{"class":990},[984,45847,1397],{"class":1003},[984,45849,1021],{"class":990},[984,45851,45852,45854,45856,45858],{"class":986,"line":1462},[984,45853,1294],{"class":996},[984,45855,1015],{"class":990},[984,45857,1397],{"class":1003},[984,45859,1021],{"class":990},[984,45861,45862,45864,45866,45868],{"class":986,"line":7201},[984,45863,1307],{"class":996},[984,45865,1015],{"class":990},[984,45867,1171],{"class":996},[984,45869,1021],{"class":990},[984,45871,45872,45874,45876,45878],{"class":986,"line":7206},[984,45873,34200],{"class":996},[984,45875,1015],{"class":990},[984,45877,1171],{"class":996},[984,45879,1021],{"class":990},[984,45881,45882,45884,45886,45888],{"class":986,"line":7218},[984,45883,34211],{"class":996},[984,45885,1015],{"class":990},[984,45887,1397],{"class":1003},[984,45889,1021],{"class":990},[984,45891,45892,45894,45896,45898],{"class":986,"line":7229},[984,45893,34222],{"class":996},[984,45895,1015],{"class":990},[984,45897,1171],{"class":996},[984,45899,1021],{"class":990},[984,45901,45902,45904,45906,45908],{"class":986,"line":7241},[984,45903,34233],{"class":996},[984,45905,1015],{"class":990},[984,45907,1397],{"class":1003},[984,45909,1021],{"class":990},[984,45911,45912,45914,45916],{"class":986,"line":7252},[984,45913,1319],{"class":996},[984,45915,1015],{"class":990},[984,45917,1324],{"class":1003},[984,45919,45920],{"class":986,"line":7262},[984,45921,1330],{"class":990},[984,45923,45924],{"class":986,"line":7267},[984,45925,1214],{"class":990},[984,45927,45928,45930,45932,45934],{"class":986,"line":7272},[984,45929,1220],{"class":996},[984,45931,1015],{"class":990},[984,45933,5131],{"class":996},[984,45935,1021],{"class":990},[984,45937,45938,45940,45942,45944],{"class":986,"line":7279},[984,45939,1232],{"class":996},[984,45941,1015],{"class":990},[984,45943,34274],{"class":996},[984,45945,1021],{"class":990},[984,45947,45948,45950,45952,45954],{"class":986,"line":7284},[984,45949,33964],{"class":996},[984,45951,1015],{"class":990},[984,45953,1171],{"class":996},[984,45955,1021],{"class":990},[984,45957,45958,45960,45962,45964],{"class":986,"line":7295},[984,45959,33975],{"class":996},[984,45961,1015],{"class":990},[984,45963,1397],{"class":1003},[984,45965,1021],{"class":990},[984,45967,45968,45970,45972,45974],{"class":986,"line":7307},[984,45969,33986],{"class":996},[984,45971,1015],{"class":990},[984,45973,34274],{"class":996},[984,45975,1021],{"class":990},[984,45977,45978,45980,45982,45984],{"class":986,"line":7318},[984,45979,33997],{"class":996},[984,45981,1015],{"class":990},[984,45983,34315],{"class":1003},[984,45985,1021],{"class":990},[984,45987,45988,45990,45992,45994],{"class":986,"line":7328},[984,45989,1244],{"class":996},[984,45991,1015],{"class":990},[984,45993,34315],{"class":1003},[984,45995,1021],{"class":990},[984,45997,45998,46000,46002,46004],{"class":986,"line":7333},[984,45999,2577],{"class":996},[984,46001,1015],{"class":990},[984,46003,1171],{"class":996},[984,46005,1021],{"class":990},[984,46007,46008,46010,46012,46014],{"class":986,"line":7338},[984,46009,2588],{"class":996},[984,46011,1015],{"class":990},[984,46013,1397],{"class":1003},[984,46015,1021],{"class":990},[984,46017,46018,46020,46022,46024],{"class":986,"line":7350},[984,46019,16260],{"class":996},[984,46021,1015],{"class":990},[984,46023,1171],{"class":996},[984,46025,1021],{"class":990},[984,46027,46028,46030,46032,46034],{"class":986,"line":7361},[984,46029,34050],{"class":996},[984,46031,1015],{"class":990},[984,46033,1397],{"class":1003},[984,46035,1021],{"class":990},[984,46037,46038,46040,46042,46044],{"class":986,"line":7372},[984,46039,1257],{"class":996},[984,46041,1015],{"class":990},[984,46043,1171],{"class":996},[984,46045,1021],{"class":990},[984,46047,46048,46050,46052,46054],{"class":986,"line":7383},[984,46049,34072],{"class":996},[984,46051,1015],{"class":990},[984,46053,1171],{"class":996},[984,46055,1021],{"class":990},[984,46057,46058,46060,46062,46064],{"class":986,"line":7393},[984,46059,34083],{"class":996},[984,46061,1015],{"class":990},[984,46063,1397],{"class":1003},[984,46065,1021],{"class":990},[984,46067,46068,46070,46072,46074],{"class":986,"line":7398},[984,46069,34094],{"class":996},[984,46071,1015],{"class":990},[984,46073,1171],{"class":996},[984,46075,1021],{"class":990},[984,46077,46078,46080,46082,46084],{"class":986,"line":7403},[984,46079,34105],{"class":996},[984,46081,1015],{"class":990},[984,46083,1397],{"class":1003},[984,46085,1021],{"class":990},[984,46087,46088,46090,46092,46094],{"class":986,"line":7415},[984,46089,1269],{"class":996},[984,46091,1015],{"class":990},[984,46093,1397],{"class":1003},[984,46095,1021],{"class":990},[984,46097,46098,46100,46102,46104],{"class":986,"line":7427},[984,46099,1282],{"class":996},[984,46101,1015],{"class":990},[984,46103,1171],{"class":996},[984,46105,1021],{"class":990},[984,46107,46108,46110,46112,46114],{"class":986,"line":7438},[984,46109,34136],{"class":996},[984,46111,1015],{"class":990},[984,46113,1171],{"class":996},[984,46115,1021],{"class":990},[984,46117,46118,46120,46122,46124],{"class":986,"line":7449},[984,46119,34147],{"class":996},[984,46121,1015],{"class":990},[984,46123,1397],{"class":1003},[984,46125,1021],{"class":990},[984,46127,46128,46130,46132,46134],{"class":986,"line":7461},[984,46129,34158],{"class":996},[984,46131,1015],{"class":990},[984,46133,1171],{"class":996},[984,46135,1021],{"class":990},[984,46137,46138,46140,46142,46144],{"class":986,"line":7468},[984,46139,34169],{"class":996},[984,46141,1015],{"class":990},[984,46143,1397],{"class":1003},[984,46145,1021],{"class":990},[984,46147,46148,46150,46152,46154],{"class":986,"line":7475},[984,46149,1294],{"class":996},[984,46151,1015],{"class":990},[984,46153,1397],{"class":1003},[984,46155,1021],{"class":990},[984,46157,46158,46160,46162,46164],{"class":986,"line":7480},[984,46159,1307],{"class":996},[984,46161,1015],{"class":990},[984,46163,1171],{"class":996},[984,46165,1021],{"class":990},[984,46167,46168,46170,46172,46174],{"class":986,"line":7492},[984,46169,34200],{"class":996},[984,46171,1015],{"class":990},[984,46173,1171],{"class":996},[984,46175,1021],{"class":990},[984,46177,46178,46180,46182,46184],{"class":986,"line":7503},[984,46179,34211],{"class":996},[984,46181,1015],{"class":990},[984,46183,1397],{"class":1003},[984,46185,1021],{"class":990},[984,46187,46188,46190,46192,46194],{"class":986,"line":7515},[984,46189,34222],{"class":996},[984,46191,1015],{"class":990},[984,46193,1171],{"class":996},[984,46195,1021],{"class":990},[984,46197,46198,46200,46202,46204],{"class":986,"line":7526},[984,46199,34233],{"class":996},[984,46201,1015],{"class":990},[984,46203,1397],{"class":1003},[984,46205,1021],{"class":990},[984,46207,46208,46210,46212],{"class":986,"line":7536},[984,46209,1319],{"class":996},[984,46211,1015],{"class":990},[984,46213,1324],{"class":1003},[984,46215,46216],{"class":986,"line":7541},[984,46217,1447],{"class":990},[984,46219,46220],{"class":986,"line":7546},[984,46221,1453],{"class":990},[984,46223,46224],{"class":986,"line":7553},[984,46225,1459],{"class":990},[984,46227,46228],{"class":986,"line":7558},[984,46229,1038],{"class":990},[89,46231,46232,46244,46248,46252,46260,46264,46268,46276,46280,46284,46292,46296,46300,46308,46312],{},[54,46233,46234,34568,46236],{},[150,46235,12119],{},[89,46237,46238,46240,46242],{},[54,46239,12125],{},[54,46241,12128],{},[54,46243,12131],{},[54,46245,46246,34581],{},[150,46247,29334],{},[54,46249,46250,34586],{},[150,46251,29340],{},[54,46253,46254,34591,46256,163,46258],{},[150,46255,12157],{},[150,46257,29334],{},[150,46259,29340],{},[54,46261,46262,34600],{},[150,46263,29346],{},[54,46265,46266,34605],{},[150,46267,29352],{},[54,46269,46270,34591,46272,163,46274],{},[150,46271,16042],{},[150,46273,29346],{},[150,46275,29352],{},[54,46277,46278,34618],{},[150,46279,29358],{},[54,46281,46282,34623],{},[150,46283,29364],{},[54,46285,46286,34591,46288,163,46290],{},[150,46287,16045],{},[150,46289,29358],{},[150,46291,29364],{},[54,46293,46294,34636],{},[150,46295,29370],{},[54,46297,46298,34641],{},[150,46299,29376],{},[54,46301,46302,34591,46304,163,46306],{},[150,46303,12160],{},[150,46305,29370],{},[150,46307,29376],{},[54,46309,46310,34654],{},[150,46311,2657],{},[54,46313,46314,34659,46316,441,46318,163,46320],{},[150,46315,16309],{},[150,46317,29370],{},[150,46319,29376],{},[150,46321,2657],{},[11,46323,12134,46324,12137,46326,12140,46328,12144,46330,12148],{},[150,46325,12119],{},[150,46327,848],{},[150,46329,12143],{},[150,46331,12147],{},[11,46333,12151,46334,12154,46336,441,46338,12161,46340,2008,46342,12166,46344,12169,46346,12173],{},[111,46335,2003],{},[150,46337,12157],{},[150,46339,12160],{},[150,46341,2007],{},[111,46343,2011],{},[150,46345,2007],{},[150,46347,12172],{},[26,46349,12024],{"id":12024},[11,46351,16749],{},[11,46353,46354],{},[150,46355,975],{},[866,46357,46358],{"className":978,"code":16756,"language":980,"meta":760,"style":760},[150,46359,46360,46364,46374,46384,46394,46400,46404,46414,46424,46430,46440,46448,46452,46456],{"__ignoreMap":760},[984,46361,46362],{"class":986,"line":987},[984,46363,991],{"class":990},[984,46365,46366,46368,46370,46372],{"class":986,"line":761},[984,46367,997],{"class":996},[984,46369,1000],{"class":990},[984,46371,1004],{"class":1003},[984,46373,1007],{"class":990},[984,46375,46376,46378,46380,46382],{"class":986,"line":772},[984,46377,1012],{"class":996},[984,46379,1015],{"class":990},[984,46381,1018],{"class":996},[984,46383,1021],{"class":990},[984,46385,46386,46388,46390,46392],{"class":986,"line":1024},[984,46387,1027],{"class":996},[984,46389,1000],{"class":990},[984,46391,16791],{"class":1003},[984,46393,1021],{"class":990},[984,46395,46396,46398],{"class":986,"line":1035},[984,46397,1521],{"class":996},[984,46399,1803],{"class":990},[984,46401,46402],{"class":986,"line":1098},[984,46403,1529],{"class":990},[984,46405,46406,46408,46410,46412],{"class":986,"line":1111},[984,46407,15270],{"class":996},[984,46409,1015],{"class":990},[984,46411,16812],{"class":996},[984,46413,1021],{"class":990},[984,46415,46416,46418,46420,46422],{"class":986,"line":1124},[984,46417,15259],{"class":996},[984,46419,1015],{"class":990},[984,46421,1171],{"class":996},[984,46423,1021],{"class":990},[984,46425,46426,46428],{"class":986,"line":1137},[984,46427,16829],{"class":996},[984,46429,1083],{"class":990},[984,46431,46432,46434,46436,46438],{"class":986,"line":1150},[984,46433,16836],{"class":996},[984,46435,1015],{"class":990},[984,46437,16841],{"class":1003},[984,46439,1021],{"class":990},[984,46441,46442,46444,46446],{"class":986,"line":1163},[984,46443,16848],{"class":996},[984,46445,1015],{"class":990},[984,46447,16853],{"class":1003},[984,46449,46450],{"class":986,"line":1176},[984,46451,9333],{"class":990},[984,46453,46454],{"class":986,"line":1189},[984,46455,1607],{"class":990},[984,46457,46458],{"class":986,"line":1202},[984,46459,1038],{"class":990},[89,46461,46462,46466,46472,46476],{},[54,46463,46464,16872],{},[150,46465,6846],{},[54,46467,46468,16877,46470,385],{},[150,46469,15307],{},[150,46471,1171],{},[54,46473,46474,16885],{},[150,46475,16884],{},[54,46477,46478,16891],{},[150,46479,16890],{},[11,46481,46482],{},[150,46483,1043],{},[866,46485,46486],{"className":978,"code":16898,"language":980,"meta":760,"style":760},[150,46487,46488,46492,46502,46512,46518,46522,46532,46542,46552,46562,46572,46582,46592,46602,46610,46614],{"__ignoreMap":760},[984,46489,46490],{"class":986,"line":987},[984,46491,991],{"class":990},[984,46493,46494,46496,46498,46500],{"class":986,"line":761},[984,46495,997],{"class":996},[984,46497,1015],{"class":990},[984,46499,1004],{"class":1003},[984,46501,1007],{"class":990},[984,46503,46504,46506,46508,46510],{"class":986,"line":772},[984,46505,1012],{"class":996},[984,46507,1015],{"class":990},[984,46509,1018],{"class":996},[984,46511,1021],{"class":990},[984,46513,46514,46516],{"class":986,"line":1024},[984,46515,1724],{"class":996},[984,46517,1524],{"class":990},[984,46519,46520],{"class":986,"line":1035},[984,46521,13070],{"class":990},[984,46523,46524,46526,46528,46530],{"class":986,"line":1098},[984,46525,6969],{"class":996},[984,46527,1015],{"class":990},[984,46529,1158],{"class":996},[984,46531,1021],{"class":990},[984,46533,46534,46536,46538,46540],{"class":986,"line":1111},[984,46535,1220],{"class":996},[984,46537,1015],{"class":990},[984,46539,1171],{"class":996},[984,46541,1021],{"class":990},[984,46543,46544,46546,46548,46550],{"class":986,"line":1124},[984,46545,2459],{"class":996},[984,46547,1015],{"class":990},[984,46549,16963],{"class":996},[984,46551,1021],{"class":990},[984,46553,46554,46556,46558,46560],{"class":986,"line":1137},[984,46555,7056],{"class":996},[984,46557,1015],{"class":990},[984,46559,16974],{"class":996},[984,46561,1021],{"class":990},[984,46563,46564,46566,46568,46570],{"class":986,"line":1150},[984,46565,5926],{"class":996},[984,46567,1015],{"class":990},[984,46569,16985],{"class":1003},[984,46571,1021],{"class":990},[984,46573,46574,46576,46578,46580],{"class":986,"line":1163},[984,46575,16992],{"class":996},[984,46577,1015],{"class":990},[984,46579,14895],{"class":1003},[984,46581,1021],{"class":990},[984,46583,46584,46586,46588,46590],{"class":986,"line":1176},[984,46585,17003],{"class":996},[984,46587,1015],{"class":990},[984,46589,13091],{"class":1003},[984,46591,1021],{"class":990},[984,46593,46594,46596,46598,46600],{"class":986,"line":1189},[984,46595,15029],{"class":996},[984,46597,1015],{"class":990},[984,46599,1503],{"class":996},[984,46601,1021],{"class":990},[984,46603,46604,46606,46608],{"class":986,"line":1202},[984,46605,15040],{"class":996},[984,46607,1015],{"class":990},[984,46609,17028],{"class":1003},[984,46611,46612],{"class":986,"line":1211},[984,46613,15888],{"class":990},[984,46615,46616],{"class":986,"line":1217},[984,46617,1038],{"class":990},[89,46619,46620,46626],{},[54,46621,46622,17043,46624,2758],{},[150,46623,848],{},[150,46625,948],{},[54,46627,46628,17050],{},[150,46629,15320],{},[11,46631,46632],{},[150,46633,975],{},[866,46635,46636],{"className":978,"code":17057,"language":980,"meta":760,"style":760},[150,46637,46638,46642,46652,46662,46672,46678,46688,46694,46702,46706,46710],{"__ignoreMap":760},[984,46639,46640],{"class":986,"line":987},[984,46641,991],{"class":990},[984,46643,46644,46646,46648,46650],{"class":986,"line":761},[984,46645,997],{"class":996},[984,46647,1015],{"class":990},[984,46649,1004],{"class":1003},[984,46651,1021],{"class":990},[984,46653,46654,46656,46658,46660],{"class":986,"line":772},[984,46655,1012],{"class":996},[984,46657,1015],{"class":990},[984,46659,1062],{"class":996},[984,46661,1021],{"class":990},[984,46663,46664,46666,46668,46670],{"class":986,"line":1024},[984,46665,1027],{"class":996},[984,46667,1015],{"class":990},[984,46669,16791],{"class":1003},[984,46671,1021],{"class":990},[984,46673,46674,46676],{"class":986,"line":1035},[984,46675,1521],{"class":996},[984,46677,1083],{"class":990},[984,46679,46680,46682,46684,46686],{"class":986,"line":1098},[984,46681,17104],{"class":996},[984,46683,1015],{"class":990},[984,46685,2682],{"class":996},[984,46687,1021],{"class":990},[984,46689,46690,46692],{"class":986,"line":1111},[984,46691,15220],{"class":996},[984,46693,1083],{"class":990},[984,46695,46696,46698,46700],{"class":986,"line":1124},[984,46697,17121],{"class":996},[984,46699,1015],{"class":990},[984,46701,1678],{"class":996},[984,46703,46704],{"class":986,"line":1137},[984,46705,9333],{"class":990},[984,46707,46708],{"class":986,"line":1150},[984,46709,1607],{"class":990},[984,46711,46712],{"class":986,"line":1163},[984,46713,1038],{"class":990},[11,46715,46716],{},[150,46717,1043],{},[866,46719,46720],{"className":978,"code":17144,"language":980,"meta":760,"style":760},[150,46721,46722,46726,46736,46746,46752,46756,46766,46776,46786,46796,46806,46816,46826,46836,46844,46848,46852],{"__ignoreMap":760},[984,46723,46724],{"class":986,"line":987},[984,46725,991],{"class":990},[984,46727,46728,46730,46732,46734],{"class":986,"line":761},[984,46729,1057],{"class":996},[984,46731,1015],{"class":990},[984,46733,1062],{"class":996},[984,46735,1021],{"class":990},[984,46737,46738,46740,46742,46744],{"class":986,"line":772},[984,46739,1069],{"class":996},[984,46741,1015],{"class":990},[984,46743,1004],{"class":1003},[984,46745,1021],{"class":990},[984,46747,46748,46750],{"class":986,"line":1024},[984,46749,1080],{"class":996},[984,46751,1208],{"class":990},[984,46753,46754],{"class":986,"line":1035},[984,46755,1529],{"class":990},[984,46757,46758,46760,46762,46764],{"class":986,"line":1098},[984,46759,17185],{"class":996},[984,46761,1015],{"class":990},[984,46763,17190],{"class":996},[984,46765,1021],{"class":990},[984,46767,46768,46770,46772,46774],{"class":986,"line":1111},[984,46769,15520],{"class":996},[984,46771,1015],{"class":990},[984,46773,1345],{"class":996},[984,46775,1021],{"class":990},[984,46777,46778,46780,46782,46784],{"class":986,"line":1124},[984,46779,17207],{"class":996},[984,46781,1015],{"class":990},[984,46783,17212],{"class":1003},[984,46785,1021],{"class":990},[984,46787,46788,46790,46792,46794],{"class":986,"line":1137},[984,46789,6667],{"class":996},[984,46791,1015],{"class":990},[984,46793,17223],{"class":1003},[984,46795,1021],{"class":990},[984,46797,46798,46800,46802,46804],{"class":986,"line":1150},[984,46799,6755],{"class":996},[984,46801,1015],{"class":990},[984,46803,17234],{"class":996},[984,46805,1021],{"class":990},[984,46807,46808,46810,46812,46814],{"class":986,"line":1163},[984,46809,17241],{"class":996},[984,46811,1015],{"class":990},[984,46813,13091],{"class":1003},[984,46815,1021],{"class":990},[984,46817,46818,46820,46822,46824],{"class":986,"line":1176},[984,46819,15633],{"class":996},[984,46821,1015],{"class":990},[984,46823,1345],{"class":996},[984,46825,1021],{"class":990},[984,46827,46828,46830,46832,46834],{"class":986,"line":1189},[984,46829,15644],{"class":996},[984,46831,1015],{"class":990},[984,46833,17266],{"class":1003},[984,46835,1021],{"class":990},[984,46837,46838,46840,46842],{"class":986,"line":1202},[984,46839,17273],{"class":996},[984,46841,1015],{"class":990},[984,46843,17278],{"class":1003},[984,46845,46846],{"class":986,"line":1211},[984,46847,1607],{"class":990},[984,46849,46850],{"class":986,"line":1217},[984,46851,17287],{"class":990},[984,46853,46854],{"class":986,"line":1229},[984,46855,1038],{"class":990},[89,46857,46858,46872],{},[54,46859,46860,17298,46862,17302,46864,17306,46866,17310,46868,17314,46870,17318],{},[150,46861,5964],{},[150,46863,17301],{},[150,46865,17305],{},[150,46867,17309],{},[150,46869,17313],{},[150,46871,17317],{},[54,46873,46874,17298,46876,441,46878,441,46880,441,46882,441,46884,441,46886,441,46888,12647,46890,17347],{},[150,46875,6390],{},[150,46877,17325],{},[150,46879,17328],{},[150,46881,17331],{},[150,46883,17334],{},[150,46885,17337],{},[150,46887,17340],{},[150,46889,17343],{},[150,46891,17346],{},[26,46893,918],{"id":918},[11,46895,17352,46896,17355],{},[18,46897,913],{"href":2036},[11,46899,46900],{},[150,46901,975],{},[866,46903,46904],{"className":978,"code":1759,"language":980,"meta":760,"style":760},[150,46905,46906,46910,46920,46930,46940,46946,46950,46958,46962],{"__ignoreMap":760},[984,46907,46908],{"class":986,"line":987},[984,46909,991],{"class":990},[984,46911,46912,46914,46916,46918],{"class":986,"line":761},[984,46913,997],{"class":996},[984,46915,1000],{"class":990},[984,46917,1004],{"class":1003},[984,46919,1007],{"class":990},[984,46921,46922,46924,46926,46928],{"class":986,"line":772},[984,46923,1012],{"class":996},[984,46925,1015],{"class":990},[984,46927,1018],{"class":996},[984,46929,1021],{"class":990},[984,46931,46932,46934,46936,46938],{"class":986,"line":1024},[984,46933,1027],{"class":996},[984,46935,1015],{"class":990},[984,46937,1794],{"class":1003},[984,46939,1021],{"class":990},[984,46941,46942,46944],{"class":986,"line":1035},[984,46943,1521],{"class":996},[984,46945,1803],{"class":990},[984,46947,46948],{"class":986,"line":1098},[984,46949,1529],{"class":990},[984,46951,46952,46954,46956],{"class":986,"line":1111},[984,46953,1220],{"class":996},[984,46955,1015],{"class":990},[984,46957,1678],{"class":996},[984,46959,46960],{"class":986,"line":1124},[984,46961,1607],{"class":990},[984,46963,46964],{"class":986,"line":1137},[984,46965,1038],{"class":990},[89,46967,46968,46972],{},[54,46969,46970,1830],{},[150,46971,848],{},[54,46973,46974,14325],{},[150,46975,14141],{},[11,46977,46978],{},[150,46979,1043],{},[866,46981,46982],{"className":978,"code":24495,"language":980,"meta":760,"style":760},[150,46983,46984,46988,46998,47008,47014,47018,47028,47038,47048,47058,47068,47078,47088,47094,47104,47114,47124,47134,47142,47146,47156,47166,47176,47184,47188],{"__ignoreMap":760},[984,46985,46986],{"class":986,"line":987},[984,46987,991],{"class":990},[984,46989,46990,46992,46994,46996],{"class":986,"line":761},[984,46991,1012],{"class":996},[984,46993,1015],{"class":990},[984,46995,1062],{"class":996},[984,46997,1021],{"class":990},[984,46999,47000,47002,47004,47006],{"class":986,"line":772},[984,47001,997],{"class":996},[984,47003,1015],{"class":990},[984,47005,1004],{"class":1003},[984,47007,1021],{"class":990},[984,47009,47010,47012],{"class":986,"line":1024},[984,47011,1724],{"class":996},[984,47013,1665],{"class":990},[984,47015,47016],{"class":986,"line":1035},[984,47017,1529],{"class":990},[984,47019,47020,47022,47024,47026],{"class":986,"line":1098},[984,47021,1220],{"class":996},[984,47023,1015],{"class":990},[984,47025,1345],{"class":996},[984,47027,1021],{"class":990},[984,47029,47030,47032,47034,47036],{"class":986,"line":1111},[984,47031,1888],{"class":996},[984,47033,1015],{"class":990},[984,47035,1362],{"class":996},[984,47037,1021],{"class":990},[984,47039,47040,47042,47044,47046],{"class":986,"line":1124},[984,47041,1899],{"class":996},[984,47043,1015],{"class":990},[984,47045,1374],{"class":1003},[984,47047,1021],{"class":990},[984,47049,47050,47052,47054,47056],{"class":986,"line":1137},[984,47051,1910],{"class":996},[984,47053,1015],{"class":990},[984,47055,1345],{"class":996},[984,47057,1021],{"class":990},[984,47059,47060,47062,47064,47066],{"class":986,"line":1150},[984,47061,1921],{"class":996},[984,47063,1015],{"class":990},[984,47065,1926],{"class":996},[984,47067,1021],{"class":990},[984,47069,47070,47072,47074,47076],{"class":986,"line":1163},[984,47071,1933],{"class":996},[984,47073,1015],{"class":990},[984,47075,24590],{"class":1003},[984,47077,1021],{"class":990},[984,47079,47080,47082,47084,47086],{"class":986,"line":1176},[984,47081,24597],{"class":996},[984,47083,1015],{"class":990},[984,47085,2682],{"class":996},[984,47087,1021],{"class":990},[984,47089,47090,47092],{"class":986,"line":1189},[984,47091,24608],{"class":996},[984,47093,1083],{"class":990},[984,47095,47096,47098,47100,47102],{"class":986,"line":1202},[984,47097,24615],{"class":996},[984,47099,1015],{"class":990},[984,47101,24620],{"class":1003},[984,47103,1021],{"class":990},[984,47105,47106,47108,47110,47112],{"class":986,"line":1211},[984,47107,24627],{"class":996},[984,47109,1015],{"class":990},[984,47111,24632],{"class":1003},[984,47113,1021],{"class":990},[984,47115,47116,47118,47120,47122],{"class":986,"line":1217},[984,47117,24639],{"class":996},[984,47119,1015],{"class":990},[984,47121,24644],{"class":1003},[984,47123,1021],{"class":990},[984,47125,47126,47128,47130,47132],{"class":986,"line":1229},[984,47127,24651],{"class":996},[984,47129,1015],{"class":990},[984,47131,24656],{"class":1003},[984,47133,1021],{"class":990},[984,47135,47136,47138,47140],{"class":986,"line":1241},[984,47137,24663],{"class":996},[984,47139,1015],{"class":990},[984,47141,24668],{"class":1003},[984,47143,47144],{"class":986,"line":1254},[984,47145,15254],{"class":990},[984,47147,47148,47150,47152,47154],{"class":986,"line":1266},[984,47149,24677],{"class":996},[984,47151,1015],{"class":990},[984,47153,2682],{"class":996},[984,47155,1021],{"class":990},[984,47157,47158,47160,47162,47164],{"class":986,"line":1279},[984,47159,24688],{"class":996},[984,47161,1015],{"class":990},[984,47163,2682],{"class":996},[984,47165,1021],{"class":990},[984,47167,47168,47170,47172,47174],{"class":986,"line":1291},[984,47169,1945],{"class":996},[984,47171,1015],{"class":990},[984,47173,1950],{"class":1003},[984,47175,1021],{"class":990},[984,47177,47178,47180,47182],{"class":986,"line":1304},[984,47179,1957],{"class":996},[984,47181,1015],{"class":990},[984,47183,1962],{"class":996},[984,47185,47186],{"class":986,"line":1316},[984,47187,1607],{"class":990},[984,47189,47190],{"class":986,"line":1327},[984,47191,1038],{"class":990},[11,47193,1973,47194,385],{},[18,47195,1977],{"href":13823},[89,47197,47198,47202,47206,47220,47224,47228,47234,47238,47244,47248],{},[54,47199,47200,1984],{},[150,47201,848],{},[54,47203,47204,1990],{},[150,47205,1989],{},[54,47207,47208,1996,47210,2000,47212,2004,47214,2008,47216,2012,47218,2015],{},[150,47209,1995],{},[150,47211,1999],{},[111,47213,2003],{},[150,47215,2007],{},[111,47217,2011],{},[150,47219,2007],{},[54,47221,47222,2021],{},[150,47223,2020],{},[54,47225,47226,2027],{},[150,47227,2026],{},[54,47229,47230,2033,47232,2037],{},[150,47231,2032],{},[18,47233,913],{"href":2036},[54,47235,47236,24767],{},[150,47237,19523],{},[54,47239,47240,24772,47242,24775],{},[150,47241,19538],{},[150,47243,19523],{},[54,47245,47246,24780],{},[150,47247,19526],{},[54,47249,47250,24785,47252],{},[150,47251,19535],{},[18,47253,24790],{"href":24788,"rel":47254},[22],[26,47256,12350],{"id":12350},[11,47258,17608],{},[11,47260,47261],{},[150,47262,975],{},[866,47264,47265],{"className":978,"code":17615,"language":980,"meta":760,"style":760},[150,47266,47267,47271,47281,47291,47299],{"__ignoreMap":760},[984,47268,47269],{"class":986,"line":987},[984,47270,991],{"class":990},[984,47272,47273,47275,47277,47279],{"class":986,"line":761},[984,47274,997],{"class":996},[984,47276,1000],{"class":990},[984,47278,1004],{"class":1003},[984,47280,1007],{"class":990},[984,47282,47283,47285,47287,47289],{"class":986,"line":772},[984,47284,1012],{"class":996},[984,47286,1015],{"class":990},[984,47288,1503],{"class":996},[984,47290,1021],{"class":990},[984,47292,47293,47295,47297],{"class":986,"line":1024},[984,47294,1027],{"class":996},[984,47296,1000],{"class":990},[984,47298,17650],{"class":1003},[984,47300,47301],{"class":986,"line":1035},[984,47302,1038],{"class":990},[11,47304,47305],{},[150,47306,1043],{},[866,47308,47309],{"className":978,"code":17661,"language":980,"meta":760,"style":760},[150,47310,47311,47315,47325,47335,47343],{"__ignoreMap":760},[984,47312,47313],{"class":986,"line":987},[984,47314,991],{"class":990},[984,47316,47317,47319,47321,47323],{"class":986,"line":761},[984,47318,997],{"class":996},[984,47320,1000],{"class":990},[984,47322,1004],{"class":1003},[984,47324,1007],{"class":990},[984,47326,47327,47329,47331,47333],{"class":986,"line":772},[984,47328,1012],{"class":996},[984,47330,1015],{"class":990},[984,47332,1503],{"class":996},[984,47334,1021],{"class":990},[984,47336,47337,47339,47341],{"class":986,"line":1024},[984,47338,1724],{"class":996},[984,47340,1000],{"class":990},[984,47342,1741],{"class":1003},[984,47344,47345],{"class":986,"line":1035},[984,47346,1038],{"class":990},[26,47348,12358],{"id":12358},[11,47350,17704,47351,385],{},[150,47352,2150],{},[11,47354,47355],{},[150,47356,975],{},[866,47358,47359],{"className":978,"code":17713,"language":980,"meta":760,"style":760},[150,47360,47361,47365,47375,47385,47395,47401,47405,47413,47417],{"__ignoreMap":760},[984,47362,47363],{"class":986,"line":987},[984,47364,991],{"class":990},[984,47366,47367,47369,47371,47373],{"class":986,"line":761},[984,47368,997],{"class":996},[984,47370,1000],{"class":990},[984,47372,1004],{"class":1003},[984,47374,1007],{"class":990},[984,47376,47377,47379,47381,47383],{"class":986,"line":772},[984,47378,1012],{"class":996},[984,47380,1015],{"class":990},[984,47382,2431],{"class":996},[984,47384,1021],{"class":990},[984,47386,47387,47389,47391,47393],{"class":986,"line":1024},[984,47388,1027],{"class":996},[984,47390,1015],{"class":990},[984,47392,17748],{"class":1003},[984,47394,1007],{"class":990},[984,47396,47397,47399],{"class":986,"line":1035},[984,47398,1521],{"class":996},[984,47400,1524],{"class":990},[984,47402,47403],{"class":986,"line":1098},[984,47404,1529],{"class":990},[984,47406,47407,47409,47411],{"class":986,"line":1111},[984,47408,1735],{"class":996},[984,47410,1738],{"class":990},[984,47412,14622],{"class":1003},[984,47414,47415],{"class":986,"line":1124},[984,47416,1607],{"class":990},[984,47418,47419],{"class":986,"line":1137},[984,47420,1038],{"class":990},[11,47422,47423],{},[150,47424,1043],{},[866,47426,47427],{"className":978,"code":17783,"language":980,"meta":760,"style":760},[150,47428,47429,47433,47443,47453,47459,47463,47471,47475],{"__ignoreMap":760},[984,47430,47431],{"class":986,"line":987},[984,47432,991],{"class":990},[984,47434,47435,47437,47439,47441],{"class":986,"line":761},[984,47436,997],{"class":996},[984,47438,1000],{"class":990},[984,47440,1004],{"class":1003},[984,47442,1007],{"class":990},[984,47444,47445,47447,47449,47451],{"class":986,"line":772},[984,47446,1012],{"class":996},[984,47448,1015],{"class":990},[984,47450,2431],{"class":996},[984,47452,1021],{"class":990},[984,47454,47455,47457],{"class":986,"line":1024},[984,47456,1724],{"class":996},[984,47458,1665],{"class":990},[984,47460,47461],{"class":986,"line":1035},[984,47462,1529],{"class":990},[984,47464,47465,47467,47469],{"class":986,"line":1098},[984,47466,17824],{"class":996},[984,47468,1015],{"class":990},[984,47470,17829],{"class":1003},[984,47472,47473],{"class":986,"line":1111},[984,47474,1607],{"class":990},[984,47476,47477],{"class":986,"line":1124},[984,47478,1038],{"class":990},[89,47480,47481],{},[54,47482,47483,17845,47485,17848],{},[150,47484,17844],{},[18,47486,12366],{"href":12365},[11,47488,47489,17853],{},[94,47490,16086],{},[26,47492,12366],{"id":12366},[11,47494,17858,47495,385],{},[150,47496,17844],{},[11,47498,47499],{},[150,47500,975],{},[866,47502,47503],{"className":978,"code":17867,"language":980,"meta":760,"style":760},[150,47504,47505,47509,47519,47529,47539,47545,47549,47557,47561],{"__ignoreMap":760},[984,47506,47507],{"class":986,"line":987},[984,47508,991],{"class":990},[984,47510,47511,47513,47515,47517],{"class":986,"line":761},[984,47512,997],{"class":996},[984,47514,1000],{"class":990},[984,47516,1004],{"class":1003},[984,47518,1007],{"class":990},[984,47520,47521,47523,47525,47527],{"class":986,"line":772},[984,47522,1012],{"class":996},[984,47524,1015],{"class":990},[984,47526,2431],{"class":996},[984,47528,1021],{"class":990},[984,47530,47531,47533,47535,47537],{"class":986,"line":1024},[984,47532,1027],{"class":996},[984,47534,1000],{"class":990},[984,47536,17902],{"class":1003},[984,47538,1007],{"class":990},[984,47540,47541,47543],{"class":986,"line":1035},[984,47542,1521],{"class":996},[984,47544,1524],{"class":990},[984,47546,47547],{"class":986,"line":1098},[984,47548,1529],{"class":990},[984,47550,47551,47553,47555],{"class":986,"line":1111},[984,47552,17824],{"class":996},[984,47554,1738],{"class":990},[984,47556,17829],{"class":1003},[984,47558,47559],{"class":986,"line":1124},[984,47560,1607],{"class":990},[984,47562,47563],{"class":986,"line":1137},[984,47564,1038],{"class":990},[11,47566,47567],{},[150,47568,1043],{},[866,47570,47571],{"className":978,"code":17937,"language":980,"meta":760,"style":760},[150,47572,47573,47577,47587,47597,47603,47607,47617,47627,47637,47647,47657,47665,47669],{"__ignoreMap":760},[984,47574,47575],{"class":986,"line":987},[984,47576,991],{"class":990},[984,47578,47579,47581,47583,47585],{"class":986,"line":761},[984,47580,997],{"class":996},[984,47582,1000],{"class":990},[984,47584,1004],{"class":1003},[984,47586,1007],{"class":990},[984,47588,47589,47591,47593,47595],{"class":986,"line":772},[984,47590,1012],{"class":996},[984,47592,1015],{"class":990},[984,47594,2431],{"class":996},[984,47596,1021],{"class":990},[984,47598,47599,47601],{"class":986,"line":1024},[984,47600,1724],{"class":996},[984,47602,1665],{"class":990},[984,47604,47605],{"class":986,"line":1035},[984,47606,1529],{"class":990},[984,47608,47609,47611,47613,47615],{"class":986,"line":1098},[984,47610,5904],{"class":996},[984,47612,1015],{"class":990},[984,47614,2682],{"class":996},[984,47616,1021],{"class":990},[984,47618,47619,47621,47623,47625],{"class":986,"line":1111},[984,47620,1220],{"class":996},[984,47622,1015],{"class":990},[984,47624,1171],{"class":996},[984,47626,1021],{"class":990},[984,47628,47629,47631,47633,47635],{"class":986,"line":1124},[984,47630,15017],{"class":996},[984,47632,18000],{"class":990},[984,47634,18003],{"class":1003},[984,47636,1021],{"class":990},[984,47638,47639,47641,47643,47645],{"class":986,"line":1137},[984,47640,15006],{"class":996},[984,47642,1015],{"class":990},[984,47644,18014],{"class":1003},[984,47646,1021],{"class":990},[984,47648,47649,47651,47653,47655],{"class":986,"line":1150},[984,47650,2459],{"class":996},[984,47652,18000],{"class":990},[984,47654,18025],{"class":996},[984,47656,1021],{"class":990},[984,47658,47659,47661,47663],{"class":986,"line":1163},[984,47660,14994],{"class":996},[984,47662,18000],{"class":990},[984,47664,18036],{"class":1003},[984,47666,47667],{"class":986,"line":1176},[984,47668,1607],{"class":990},[984,47670,47671],{"class":986,"line":1189},[984,47672,1038],{"class":990},[89,47674,47675,47679,47683,47687,47691,47695],{},[54,47676,47677,18052],{},[150,47678,18051],{},[54,47680,47681,18058],{},[150,47682,18057],{},[54,47684,47685,18064],{},[150,47686,18063],{},[54,47688,47689,18069],{},[150,47690,2396],{},[54,47692,47693,18074],{},[150,47694,848],{},[54,47696,47697,18079],{},[150,47698,6551],{},[11,47700,47701,18084],{},[94,47702,16086],{},[26,47704,12395],{"id":12395},[11,47706,18089],{},[11,47708,18092],{},[11,47710,47711],{},[150,47712,975],{},[866,47714,47715],{"className":978,"code":18099,"language":980,"meta":760,"style":760},[150,47716,47717,47721,47731,47741,47751,47757,47761,47779,47787,47791],{"__ignoreMap":760},[984,47718,47719],{"class":986,"line":987},[984,47720,991],{"class":990},[984,47722,47723,47725,47727,47729],{"class":986,"line":761},[984,47724,997],{"class":996},[984,47726,1015],{"class":990},[984,47728,1004],{"class":1003},[984,47730,1007],{"class":990},[984,47732,47733,47735,47737,47739],{"class":986,"line":772},[984,47734,1012],{"class":996},[984,47736,1015],{"class":990},[984,47738,1503],{"class":996},[984,47740,1021],{"class":990},[984,47742,47743,47745,47747,47749],{"class":986,"line":1024},[984,47744,1027],{"class":996},[984,47746,1015],{"class":990},[984,47748,18134],{"class":1003},[984,47750,1007],{"class":990},[984,47752,47753,47755],{"class":986,"line":1035},[984,47754,1521],{"class":996},[984,47756,1524],{"class":990},[984,47758,47759],{"class":986,"line":1098},[984,47760,1529],{"class":990},[984,47762,47763,47765,47767,47769,47771,47773,47775,47777],{"class":986,"line":1111},[984,47764,18151],{"class":996},[984,47766,18154],{"class":990},[984,47768,1158],{"class":996},[984,47770,441],{"class":990},[984,47772,1158],{"class":996},[984,47774,441],{"class":990},[984,47776,1158],{"class":996},[984,47778,13917],{"class":990},[984,47780,47781,47783,47785],{"class":986,"line":1124},[984,47782,18171],{"class":996},[984,47784,1015],{"class":990},[984,47786,18176],{"class":1003},[984,47788,47789],{"class":986,"line":1137},[984,47790,1607],{"class":990},[984,47792,47793],{"class":986,"line":1150},[984,47794,1038],{"class":990},[11,47796,18187],{},[11,47798,47799],{},[150,47800,975],{},[866,47802,47803],{"className":978,"code":18194,"language":980,"meta":760,"style":760},[150,47804,47805,47809,47819,47829,47839,47845,47849,47859,47867,47871],{"__ignoreMap":760},[984,47806,47807],{"class":986,"line":987},[984,47808,991],{"class":990},[984,47810,47811,47813,47815,47817],{"class":986,"line":761},[984,47812,997],{"class":996},[984,47814,1015],{"class":990},[984,47816,1004],{"class":1003},[984,47818,1007],{"class":990},[984,47820,47821,47823,47825,47827],{"class":986,"line":772},[984,47822,1012],{"class":996},[984,47824,1015],{"class":990},[984,47826,1503],{"class":996},[984,47828,1021],{"class":990},[984,47830,47831,47833,47835,47837],{"class":986,"line":1024},[984,47832,1027],{"class":996},[984,47834,1015],{"class":990},[984,47836,18134],{"class":1003},[984,47838,1007],{"class":990},[984,47840,47841,47843],{"class":986,"line":1035},[984,47842,1521],{"class":996},[984,47844,1524],{"class":990},[984,47846,47847],{"class":986,"line":1098},[984,47848,1529],{"class":990},[984,47850,47851,47853,47855,47857],{"class":986,"line":1111},[984,47852,18245],{"class":996},[984,47854,1015],{"class":990},[984,47856,18250],{"class":1003},[984,47858,1021],{"class":990},[984,47860,47861,47863,47865],{"class":986,"line":1124},[984,47862,18171],{"class":996},[984,47864,1015],{"class":990},[984,47866,18176],{"class":1003},[984,47868,47869],{"class":986,"line":1137},[984,47870,1607],{"class":990},[984,47872,47873],{"class":986,"line":1150},[984,47874,1038],{"class":990},[89,47876,47877,47881,47885,47889],{},[54,47878,47879,18276],{},[150,47880,18275],{},[54,47882,47883,18282],{},[150,47884,18281],{},[54,47886,47887,18288],{},[150,47888,18287],{},[54,47890,47891,18294,47893,18297,47895,18301,47897,18304,47899,385],{},[150,47892,18293],{},[150,47894,2682],{},[150,47896,18300],{},[18,47898,12406],{"href":12405},[150,47900,2682],{},[11,47902,47903,18311,47905,385],{},[150,47904,18275],{},[150,47906,18281],{},[11,47908,47909],{},[150,47910,1043],{},[866,47912,47913],{"className":978,"code":18320,"language":980,"meta":760,"style":760},[150,47914,47915,47919,47929,47939,47945,47993,48019,48037,48041],{"__ignoreMap":760},[984,47916,47917],{"class":986,"line":987},[984,47918,991],{"class":990},[984,47920,47921,47923,47925,47927],{"class":986,"line":761},[984,47922,1057],{"class":996},[984,47924,1015],{"class":990},[984,47926,1062],{"class":996},[984,47928,1021],{"class":990},[984,47930,47931,47933,47935,47937],{"class":986,"line":772},[984,47932,1069],{"class":996},[984,47934,1015],{"class":990},[984,47936,1004],{"class":1003},[984,47938,1021],{"class":990},[984,47940,47941,47943],{"class":986,"line":1024},[984,47942,1080],{"class":996},[984,47944,1083],{"class":990},[984,47946,47947,47949,47951,47953,47955,47957,47959,47961,47963,47965,47967,47969,47971,47973,47975,47977,47979,47981,47983,47985,47987,47989,47991],{"class":986,"line":1035},[984,47948,18357],{"class":996},[984,47950,1015],{"class":990},[984,47952,18362],{"class":1003},[984,47954,18365],{"class":996},[984,47956,18368],{"class":1003},[984,47958,18365],{"class":996},[984,47960,18373],{"class":1003},[984,47962,18365],{"class":996},[984,47964,18378],{"class":1003},[984,47966,18365],{"class":996},[984,47968,1015],{"class":1003},[984,47970,18365],{"class":996},[984,47972,18387],{"class":1003},[984,47974,18365],{"class":996},[984,47976,11185],{"class":1003},[984,47978,18365],{"class":996},[984,47980,18396],{"class":1003},[984,47982,18365],{"class":996},[984,47984,18401],{"class":1003},[984,47986,18365],{"class":996},[984,47988,18378],{"class":1003},[984,47990,18365],{"class":996},[984,47992,1665],{"class":1003},[984,47994,47995,47997,47999,48001,48003,48005,48007,48009,48011,48013,48015,48017],{"class":986,"line":1098},[984,47996,18414],{"class":996},[984,47998,18417],{"class":1003},[984,48000,18365],{"class":996},[984,48002,11185],{"class":1003},[984,48004,18365],{"class":996},[984,48006,18396],{"class":1003},[984,48008,18365],{"class":996},[984,48010,18430],{"class":1003},[984,48012,18365],{"class":996},[984,48014,18378],{"class":1003},[984,48016,18365],{"class":996},[984,48018,1665],{"class":1003},[984,48020,48021,48023,48025,48027,48029,48031,48033,48035],{"class":986,"line":1111},[984,48022,18414],{"class":996},[984,48024,18445],{"class":1003},[984,48026,18365],{"class":996},[984,48028,11185],{"class":1003},[984,48030,18365],{"class":996},[984,48032,18396],{"class":1003},[984,48034,18365],{"class":996},[984,48036,18458],{"class":1003},[984,48038,48039],{"class":986,"line":1124},[984,48040,1459],{"class":990},[984,48042,48043],{"class":986,"line":1137},[984,48044,1038],{"class":990},[89,48046,48047,48051,48055],{},[54,48048,48049,18473],{},[150,48050,10235],{},[54,48052,48053,18478],{},[150,48054,18300],{},[54,48056,48057,18484,48059],{},[150,48058,18483],{},[18,48060,12406],{"href":12405},[716,48062,18497],{"id":18496},[11,48064,18500],{},[716,48066,18504],{"id":18503},[11,48068,25609,48069,4665,48071,25614],{},[150,48070,18275],{},[150,48072,18281],{},[11,48074,48075],{},[150,48076,975],{},[866,48078,48079],{"className":978,"code":18522,"language":980,"meta":760,"style":760},[150,48080,48081,48085,48095,48105,48115,48121,48131,48139,48143],{"__ignoreMap":760},[984,48082,48083],{"class":986,"line":987},[984,48084,991],{"class":990},[984,48086,48087,48089,48091,48093],{"class":986,"line":761},[984,48088,997],{"class":996},[984,48090,1015],{"class":990},[984,48092,1004],{"class":1003},[984,48094,1021],{"class":990},[984,48096,48097,48099,48101,48103],{"class":986,"line":772},[984,48098,1012],{"class":996},[984,48100,1015],{"class":990},[984,48102,1062],{"class":996},[984,48104,1021],{"class":990},[984,48106,48107,48109,48111,48113],{"class":986,"line":1024},[984,48108,1027],{"class":996},[984,48110,1015],{"class":990},[984,48112,18134],{"class":1003},[984,48114,1021],{"class":990},[984,48116,48117,48119],{"class":986,"line":1035},[984,48118,1521],{"class":996},[984,48120,1083],{"class":990},[984,48122,48123,48125,48127,48129],{"class":986,"line":1098},[984,48124,18245],{"class":996},[984,48126,1015],{"class":990},[984,48128,18573],{"class":1003},[984,48130,1021],{"class":990},[984,48132,48133,48135,48137],{"class":986,"line":1111},[984,48134,18171],{"class":996},[984,48136,1015],{"class":990},[984,48138,18584],{"class":1003},[984,48140,48141],{"class":986,"line":1124},[984,48142,1607],{"class":990},[984,48144,48145],{"class":986,"line":1137},[984,48146,1038],{"class":990},[11,48148,48149],{},[150,48150,1043],{},[866,48152,48153],{"className":978,"code":18599,"language":980,"meta":760,"style":760},[150,48154,48155,48159,48169,48179,48185,48209,48213],{"__ignoreMap":760},[984,48156,48157],{"class":986,"line":987},[984,48158,991],{"class":990},[984,48160,48161,48163,48165,48167],{"class":986,"line":761},[984,48162,1057],{"class":996},[984,48164,1015],{"class":990},[984,48166,1062],{"class":996},[984,48168,1021],{"class":990},[984,48170,48171,48173,48175,48177],{"class":986,"line":772},[984,48172,1069],{"class":996},[984,48174,1015],{"class":990},[984,48176,1004],{"class":1003},[984,48178,1021],{"class":990},[984,48180,48181,48183],{"class":986,"line":1024},[984,48182,1080],{"class":996},[984,48184,1083],{"class":990},[984,48186,48187,48189,48191,48193,48195,48197,48199,48201,48203,48205,48207],{"class":986,"line":1035},[984,48188,18357],{"class":996},[984,48190,1015],{"class":990},[984,48192,18362],{"class":1003},[984,48194,18365],{"class":996},[984,48196,9770],{"class":1003},[984,48198,18365],{"class":996},[984,48200,1015],{"class":1003},[984,48202,18365],{"class":996},[984,48204,18652],{"class":1003},[984,48206,18365],{"class":996},[984,48208,18657],{"class":1003},[984,48210,48211],{"class":986,"line":1098},[984,48212,1459],{"class":990},[984,48214,48215],{"class":986,"line":1111},[984,48216,1038],{"class":990},[716,48218,25762],{"id":25761},[11,48220,25765,48221,25768,48223,25772],{},[150,48222,12395],{},[150,48224,25771],{},[89,48226,48227,48231],{},[54,48228,48229,25779],{},[150,48230,19547],{},[54,48232,48233,25784,48235,25787,48237,25790],{},[150,48234,19550],{},[150,48236,12395],{},[150,48238,19550],{},[26,48240,12406],{"id":12406},[11,48242,18670],{},[11,48244,48245],{},[150,48246,975],{},[866,48248,48249],{"className":978,"code":18677,"language":980,"meta":760,"style":760},[150,48250,48251,48255,48265,48275,48285,48291,48309,48313],{"__ignoreMap":760},[984,48252,48253],{"class":986,"line":987},[984,48254,991],{"class":990},[984,48256,48257,48259,48261,48263],{"class":986,"line":761},[984,48258,997],{"class":996},[984,48260,1015],{"class":990},[984,48262,1004],{"class":1003},[984,48264,1021],{"class":990},[984,48266,48267,48269,48271,48273],{"class":986,"line":772},[984,48268,1012],{"class":996},[984,48270,1015],{"class":990},[984,48272,1062],{"class":996},[984,48274,1021],{"class":990},[984,48276,48277,48279,48281,48283],{"class":986,"line":1024},[984,48278,1027],{"class":996},[984,48280,1015],{"class":990},[984,48282,18712],{"class":1003},[984,48284,1021],{"class":990},[984,48286,48287,48289],{"class":986,"line":1035},[984,48288,1521],{"class":996},[984,48290,1083],{"class":990},[984,48292,48293,48295,48297,48299,48301,48303,48305,48307],{"class":986,"line":1098},[984,48294,18725],{"class":996},[984,48296,18154],{"class":990},[984,48298,1158],{"class":996},[984,48300,441],{"class":990},[984,48302,1158],{"class":996},[984,48304,441],{"class":990},[984,48306,1158],{"class":996},[984,48308,7675],{"class":990},[984,48310,48311],{"class":986,"line":1111},[984,48312,1607],{"class":990},[984,48314,48315],{"class":986,"line":1124},[984,48316,1038],{"class":990},[89,48318,48319],{},[54,48320,48321,18754,48323,18757],{},[150,48322,9736],{},[18,48324,12395],{"href":12394},[11,48326,48327],{},[150,48328,1043],{},[866,48330,48331],{"className":978,"code":18764,"language":980,"meta":760,"style":760},[150,48332,48333,48337,48347,48357,48363,48371,48375],{"__ignoreMap":760},[984,48334,48335],{"class":986,"line":987},[984,48336,991],{"class":990},[984,48338,48339,48341,48343,48345],{"class":986,"line":761},[984,48340,1057],{"class":996},[984,48342,1015],{"class":990},[984,48344,1062],{"class":996},[984,48346,1021],{"class":990},[984,48348,48349,48351,48353,48355],{"class":986,"line":772},[984,48350,1069],{"class":996},[984,48352,1015],{"class":990},[984,48354,1004],{"class":1003},[984,48356,1021],{"class":990},[984,48358,48359,48361],{"class":986,"line":1024},[984,48360,1080],{"class":996},[984,48362,1083],{"class":990},[984,48364,48365,48367,48369],{"class":986,"line":1035},[984,48366,18801],{"class":996},[984,48368,1015],{"class":990},[984,48370,18806],{"class":1003},[984,48372,48373],{"class":986,"line":1098},[984,48374,1459],{"class":990},[984,48376,48377],{"class":986,"line":1111},[984,48378,1038],{"class":990},[89,48380,48381],{},[54,48382,48383,18821],{},[150,48384,18300],{},[26,48386,923],{"id":923},[11,48388,18826,48389],{},[150,48390,2396],{},[11,48392,48393],{},[150,48394,975],{},[866,48396,48397],{"className":978,"code":2406,"language":980,"meta":760,"style":760},[150,48398,48399,48403,48413,48423,48433,48439,48443,48453,48463,48473,48481,48485],{"__ignoreMap":760},[984,48400,48401],{"class":986,"line":987},[984,48402,991],{"class":990},[984,48404,48405,48407,48409,48411],{"class":986,"line":761},[984,48406,997],{"class":996},[984,48408,1000],{"class":990},[984,48410,1004],{"class":1003},[984,48412,1007],{"class":990},[984,48414,48415,48417,48419,48421],{"class":986,"line":772},[984,48416,1012],{"class":996},[984,48418,1015],{"class":990},[984,48420,2431],{"class":996},[984,48422,1021],{"class":990},[984,48424,48425,48427,48429,48431],{"class":986,"line":1024},[984,48426,1027],{"class":996},[984,48428,1000],{"class":990},[984,48430,2442],{"class":1003},[984,48432,1007],{"class":990},[984,48434,48435,48437],{"class":986,"line":1035},[984,48436,1521],{"class":996},[984,48438,1524],{"class":990},[984,48440,48441],{"class":986,"line":1098},[984,48442,1529],{"class":990},[984,48444,48445,48447,48449,48451],{"class":986,"line":1111},[984,48446,2459],{"class":996},[984,48448,1738],{"class":990},[984,48450,2464],{"class":996},[984,48452,1021],{"class":990},[984,48454,48455,48457,48459,48461],{"class":986,"line":1124},[984,48456,1220],{"class":996},[984,48458,1015],{"class":990},[984,48460,1503],{"class":996},[984,48462,1021],{"class":990},[984,48464,48465,48467,48469,48471],{"class":986,"line":1137},[984,48466,1546],{"class":996},[984,48468,1015],{"class":990},[984,48470,2485],{"class":996},[984,48472,1021],{"class":990},[984,48474,48475,48477,48479],{"class":986,"line":1150},[984,48476,2492],{"class":996},[984,48478,1015],{"class":990},[984,48480,2497],{"class":996},[984,48482,48483],{"class":986,"line":1163},[984,48484,1607],{"class":990},[984,48486,48487],{"class":986,"line":1176},[984,48488,1038],{"class":990},[11,48490,48491],{},[150,48492,1043],{},[866,48494,48495],{"className":978,"code":2512,"language":980,"meta":760,"style":760},[150,48496,48497,48501,48511,48521,48527,48531,48541,48551,48561,48571,48581,48589,48593],{"__ignoreMap":760},[984,48498,48499],{"class":986,"line":987},[984,48500,991],{"class":990},[984,48502,48503,48505,48507,48509],{"class":986,"line":761},[984,48504,997],{"class":996},[984,48506,1000],{"class":990},[984,48508,1004],{"class":1003},[984,48510,1007],{"class":990},[984,48512,48513,48515,48517,48519],{"class":986,"line":772},[984,48514,1012],{"class":996},[984,48516,1015],{"class":990},[984,48518,2431],{"class":996},[984,48520,1021],{"class":990},[984,48522,48523,48525],{"class":986,"line":1024},[984,48524,1724],{"class":996},[984,48526,1524],{"class":990},[984,48528,48529],{"class":986,"line":1035},[984,48530,1529],{"class":990},[984,48532,48533,48535,48537,48539],{"class":986,"line":1098},[984,48534,2553],{"class":996},[984,48536,1015],{"class":990},[984,48538,2558],{"class":996},[984,48540,1021],{"class":990},[984,48542,48543,48545,48547,48549],{"class":986,"line":1111},[984,48544,2565],{"class":996},[984,48546,1015],{"class":990},[984,48548,2570],{"class":1003},[984,48550,1021],{"class":990},[984,48552,48553,48555,48557,48559],{"class":986,"line":1124},[984,48554,2577],{"class":996},[984,48556,1015],{"class":990},[984,48558,2558],{"class":996},[984,48560,1021],{"class":990},[984,48562,48563,48565,48567,48569],{"class":986,"line":1137},[984,48564,2588],{"class":996},[984,48566,1015],{"class":990},[984,48568,2570],{"class":1003},[984,48570,1021],{"class":990},[984,48572,48573,48575,48577,48579],{"class":986,"line":1150},[984,48574,2599],{"class":996},[984,48576,1015],{"class":990},[984,48578,2604],{"class":996},[984,48580,1021],{"class":990},[984,48582,48583,48585,48587],{"class":986,"line":1163},[984,48584,2611],{"class":996},[984,48586,1015],{"class":990},[984,48588,2616],{"class":1003},[984,48590,48591],{"class":986,"line":1176},[984,48592,1607],{"class":990},[984,48594,48595],{"class":986,"line":1189},[984,48596,1038],{"class":990},[11,48598,2627],{},[89,48600,48601,48605,48609,48613,48619,48629,48633],{},[54,48602,48603,2634],{},[150,48604,2396],{},[54,48606,48607,19047],{},[150,48608,848],{},[54,48610,48611,2644],{},[150,48612,2139],{},[54,48614,48615,2650,48617],{},[150,48616,2649],{},[150,48618,848],{},[54,48620,48621,2658,48623,163,48625,2663,48627,2667],{},[150,48622,2657],{},[150,48624,2649],{},[150,48626,2657],{},[150,48628,2666],{},[54,48630,48631,2673],{},[150,48632,2672],{},[54,48634,48635,2679,48637,2683],{},[150,48636,2678],{},[150,48638,2682],{},[26,48640,12416],{"id":12416},[11,48642,19082],{},[11,48644,48645],{},[150,48646,975],{},[866,48648,48649],{"className":978,"code":19089,"language":980,"meta":760,"style":760},[150,48650,48651,48655,48665,48675,48685,48691,48695,48703,48707],{"__ignoreMap":760},[984,48652,48653],{"class":986,"line":987},[984,48654,991],{"class":990},[984,48656,48657,48659,48661,48663],{"class":986,"line":761},[984,48658,997],{"class":996},[984,48660,1015],{"class":990},[984,48662,1004],{"class":1003},[984,48664,1007],{"class":990},[984,48666,48667,48669,48671,48673],{"class":986,"line":772},[984,48668,1012],{"class":996},[984,48670,1015],{"class":990},[984,48672,1503],{"class":996},[984,48674,1021],{"class":990},[984,48676,48677,48679,48681,48683],{"class":986,"line":1024},[984,48678,1027],{"class":996},[984,48680,1015],{"class":990},[984,48682,19124],{"class":1003},[984,48684,1007],{"class":990},[984,48686,48687,48689],{"class":986,"line":1035},[984,48688,1521],{"class":996},[984,48690,1524],{"class":990},[984,48692,48693],{"class":986,"line":1098},[984,48694,1529],{"class":990},[984,48696,48697,48699,48701],{"class":986,"line":1111},[984,48698,15752],{"class":996},[984,48700,1015],{"class":990},[984,48702,19145],{"class":996},[984,48704,48705],{"class":986,"line":1124},[984,48706,1607],{"class":990},[984,48708,48709],{"class":986,"line":1137},[984,48710,1038],{"class":990},[89,48712,48713],{},[54,48714,48715,19160],{},[150,48716,6545],{},[11,48718,48719],{},[150,48720,1043],{},[866,48722,48723],{"className":978,"code":19167,"language":980,"meta":760,"style":760},[150,48724,48725,48729,48739,48749,48755,48759,48769,48779,48789,48799,48809,48819,48829,48839,48849,48859,48867,48871],{"__ignoreMap":760},[984,48726,48727],{"class":986,"line":987},[984,48728,991],{"class":990},[984,48730,48731,48733,48735,48737],{"class":986,"line":761},[984,48732,997],{"class":996},[984,48734,1000],{"class":990},[984,48736,1004],{"class":1003},[984,48738,1007],{"class":990},[984,48740,48741,48743,48745,48747],{"class":986,"line":772},[984,48742,1012],{"class":996},[984,48744,1015],{"class":990},[984,48746,2431],{"class":996},[984,48748,1021],{"class":990},[984,48750,48751,48753],{"class":986,"line":1024},[984,48752,1724],{"class":996},[984,48754,1524],{"class":990},[984,48756,48757],{"class":986,"line":1035},[984,48758,1529],{"class":990},[984,48760,48761,48763,48765,48767],{"class":986,"line":1098},[984,48762,19208],{"class":996},[984,48764,1015],{"class":990},[984,48766,19213],{"class":1003},[984,48768,1021],{"class":990},[984,48770,48771,48773,48775,48777],{"class":986,"line":1111},[984,48772,19220],{"class":996},[984,48774,1015],{"class":990},[984,48776,19225],{"class":1003},[984,48778,1021],{"class":990},[984,48780,48781,48783,48785,48787],{"class":986,"line":1124},[984,48782,19232],{"class":996},[984,48784,1015],{"class":990},[984,48786,19237],{"class":1003},[984,48788,1021],{"class":990},[984,48790,48791,48793,48795,48797],{"class":986,"line":1137},[984,48792,16271],{"class":996},[984,48794,1015],{"class":990},[984,48796,19248],{"class":996},[984,48798,1021],{"class":990},[984,48800,48801,48803,48805,48807],{"class":986,"line":1150},[984,48802,15752],{"class":996},[984,48804,1015],{"class":990},[984,48806,4996],{"class":996},[984,48808,1021],{"class":990},[984,48810,48811,48813,48815,48817],{"class":986,"line":1163},[984,48812,19265],{"class":996},[984,48814,1015],{"class":990},[984,48816,19270],{"class":1003},[984,48818,1021],{"class":990},[984,48820,48821,48823,48825,48827],{"class":986,"line":1176},[984,48822,19277],{"class":996},[984,48824,1015],{"class":990},[984,48826,19282],{"class":996},[984,48828,1021],{"class":990},[984,48830,48831,48833,48835,48837],{"class":986,"line":1189},[984,48832,19289],{"class":996},[984,48834,1015],{"class":990},[984,48836,19294],{"class":1003},[984,48838,1021],{"class":990},[984,48840,48841,48843,48845,48847],{"class":986,"line":1202},[984,48842,19301],{"class":996},[984,48844,1015],{"class":990},[984,48846,19306],{"class":1003},[984,48848,1021],{"class":990},[984,48850,48851,48853,48855,48857],{"class":986,"line":1211},[984,48852,19313],{"class":996},[984,48854,1015],{"class":990},[984,48856,19318],{"class":1003},[984,48858,1021],{"class":990},[984,48860,48861,48863,48865],{"class":986,"line":1217},[984,48862,19325],{"class":996},[984,48864,1015],{"class":990},[984,48866,19330],{"class":996},[984,48868,48869],{"class":986,"line":1229},[984,48870,1607],{"class":990},[984,48872,48873],{"class":986,"line":1241},[984,48874,1038],{"class":990},[89,48876,48877,48881,48885,48889,48893,48897,48901,48905,48909,48913,48917],{},[54,48878,48879,19346],{},[150,48880,19345],{},[54,48882,48883,19352],{},[150,48884,19351],{},[54,48886,48887,19357],{},[150,48888,8363],{},[54,48890,48891,19362],{},[150,48892,10335],{},[54,48894,48895,19367],{},[150,48896,6545],{},[54,48898,48899,19372],{},[150,48900,133],{},[54,48902,48903,19378],{},[150,48904,19377],{},[54,48906,48907,19384],{},[150,48908,19383],{},[54,48910,48911,19390],{},[150,48912,19389],{},[54,48914,48915,19396],{},[150,48916,19395],{},[54,48918,48919,19402],{},[150,48920,19401],{},[26,48922,19484],{"id":19484},[11,48924,26481],{},[11,48926,48927],{},[150,48928,975],{},[866,48930,48931],{"className":978,"code":26488,"language":980,"meta":760,"style":760},[150,48932,48933,48937,48947,48957,48965],{"__ignoreMap":760},[984,48934,48935],{"class":986,"line":987},[984,48936,991],{"class":990},[984,48938,48939,48941,48943,48945],{"class":986,"line":761},[984,48940,997],{"class":996},[984,48942,1015],{"class":990},[984,48944,1004],{"class":1003},[984,48946,1007],{"class":990},[984,48948,48949,48951,48953,48955],{"class":986,"line":772},[984,48950,1012],{"class":996},[984,48952,1015],{"class":990},[984,48954,1345],{"class":996},[984,48956,1021],{"class":990},[984,48958,48959,48961,48963],{"class":986,"line":1024},[984,48960,1027],{"class":996},[984,48962,1015],{"class":990},[984,48964,26523],{"class":1003},[984,48966,48967],{"class":986,"line":1035},[984,48968,1038],{"class":990},[11,48970,48971],{},[150,48972,1043],{},[866,48974,48975],{"className":978,"code":26534,"language":980,"meta":760,"style":760},[150,48976,48977,48981,48991,49001,49007,49017,49027,49037,49047,49057,49067,49077,49087,49095,49099],{"__ignoreMap":760},[984,48978,48979],{"class":986,"line":987},[984,48980,991],{"class":990},[984,48982,48983,48985,48987,48989],{"class":986,"line":761},[984,48984,1057],{"class":996},[984,48986,1015],{"class":990},[984,48988,1345],{"class":996},[984,48990,1021],{"class":990},[984,48992,48993,48995,48997,48999],{"class":986,"line":772},[984,48994,1069],{"class":996},[984,48996,1015],{"class":990},[984,48998,1004],{"class":1003},[984,49000,1021],{"class":990},[984,49002,49003,49005],{"class":986,"line":1024},[984,49004,1080],{"class":996},[984,49006,1083],{"class":990},[984,49008,49009,49011,49013,49015],{"class":986,"line":1035},[984,49010,26571],{"class":996},[984,49012,1015],{"class":990},[984,49014,26576],{"class":1003},[984,49016,1021],{"class":990},[984,49018,49019,49021,49023,49025],{"class":986,"line":1098},[984,49020,26583],{"class":996},[984,49022,1015],{"class":990},[984,49024,1018],{"class":996},[984,49026,1021],{"class":990},[984,49028,49029,49031,49033,49035],{"class":986,"line":1111},[984,49030,26594],{"class":996},[984,49032,1015],{"class":990},[984,49034,1345],{"class":996},[984,49036,1021],{"class":990},[984,49038,49039,49041,49043,49045],{"class":986,"line":1124},[984,49040,26605],{"class":996},[984,49042,1015],{"class":990},[984,49044,26610],{"class":1003},[984,49046,1021],{"class":990},[984,49048,49049,49051,49053,49055],{"class":986,"line":1137},[984,49050,26617],{"class":996},[984,49052,1015],{"class":990},[984,49054,26622],{"class":1003},[984,49056,1021],{"class":990},[984,49058,49059,49061,49063,49065],{"class":986,"line":1150},[984,49060,26629],{"class":996},[984,49062,1015],{"class":990},[984,49064,26634],{"class":1003},[984,49066,1021],{"class":990},[984,49068,49069,49071,49073,49075],{"class":986,"line":1163},[984,49070,26641],{"class":996},[984,49072,1015],{"class":990},[984,49074,1018],{"class":996},[984,49076,1021],{"class":990},[984,49078,49079,49081,49083,49085],{"class":986,"line":1176},[984,49080,26652],{"class":996},[984,49082,1015],{"class":990},[984,49084,1345],{"class":996},[984,49086,1021],{"class":990},[984,49088,49089,49091,49093],{"class":986,"line":1189},[984,49090,26663],{"class":996},[984,49092,1015],{"class":990},[984,49094,26668],{"class":996},[984,49096,49097],{"class":986,"line":1202},[984,49098,1459],{"class":990},[984,49100,49101],{"class":986,"line":1211},[984,49102,1038],{"class":990},[89,49104,49105,49109],{},[54,49106,49107,26684],{},[150,49108,26683],{},[54,49110,49111,26690,49113,2758],{},[150,49112,26689],{},[18,49114,26693],{"href":26693,"rel":49115},[22],[26,49117,29419],{"id":29419},[11,49119,37464],{},[11,49121,49122],{},[150,49123,975],{},[866,49125,49126],{"className":978,"code":37471,"language":980,"meta":760,"style":760},[150,49127,49128,49132,49142,49152,49162,49168,49172,49190,49200,49208,49212],{"__ignoreMap":760},[984,49129,49130],{"class":986,"line":987},[984,49131,991],{"class":990},[984,49133,49134,49136,49138,49140],{"class":986,"line":761},[984,49135,997],{"class":996},[984,49137,1000],{"class":990},[984,49139,1004],{"class":1003},[984,49141,1007],{"class":990},[984,49143,49144,49146,49148,49150],{"class":986,"line":772},[984,49145,1012],{"class":996},[984,49147,1015],{"class":990},[984,49149,1345],{"class":996},[984,49151,1021],{"class":990},[984,49153,49154,49156,49158,49160],{"class":986,"line":1024},[984,49155,1027],{"class":996},[984,49157,1015],{"class":990},[984,49159,37506],{"class":1003},[984,49161,1007],{"class":990},[984,49163,49164,49166],{"class":986,"line":1035},[984,49165,1521],{"class":996},[984,49167,1524],{"class":990},[984,49169,49170],{"class":986,"line":1098},[984,49171,1529],{"class":990},[984,49173,49174,49176,49178,49180,49182,49184,49186,49188],{"class":986,"line":1111},[984,49175,18725],{"class":996},[984,49177,13897],{"class":990},[984,49179,1345],{"class":996},[984,49181,441],{"class":990},[984,49183,1503],{"class":996},[984,49185,441],{"class":990},[984,49187,5131],{"class":996},[984,49189,13917],{"class":990},[984,49191,49192,49194,49196,49198],{"class":986,"line":1124},[984,49193,37541],{"class":996},[984,49195,37544],{"class":990},[984,49197,2682],{"class":996},[984,49199,1021],{"class":990},[984,49201,49202,49204,49206],{"class":986,"line":1137},[984,49203,37553],{"class":996},[984,49205,1015],{"class":990},[984,49207,37558],{"class":996},[984,49209,49210],{"class":986,"line":1150},[984,49211,1607],{"class":990},[984,49213,49214],{"class":986,"line":1163},[984,49215,1038],{"class":990},[89,49217,49218,49222,49230],{},[54,49219,49220,37573],{},[150,49221,9736],{},[54,49223,49224,37579,49226,37582,49228,385],{},[150,49225,37578],{},[150,49227,2682],{},[150,49229,2682],{},[54,49231,49232,37590],{},[150,49233,37589],{},[11,49235,49236],{},[150,49237,1043],{},[866,49239,49240],{"className":978,"code":37597,"language":980,"meta":760,"style":760},[150,49241,49242,49246,49256,49266,49272,49276,49286,49294,49298],{"__ignoreMap":760},[984,49243,49244],{"class":986,"line":987},[984,49245,991],{"class":990},[984,49247,49248,49250,49252,49254],{"class":986,"line":761},[984,49249,997],{"class":996},[984,49251,1000],{"class":990},[984,49253,1004],{"class":1003},[984,49255,1007],{"class":990},[984,49257,49258,49260,49262,49264],{"class":986,"line":772},[984,49259,1012],{"class":996},[984,49261,1015],{"class":990},[984,49263,1345],{"class":996},[984,49265,1021],{"class":990},[984,49267,49268,49270],{"class":986,"line":1024},[984,49269,1724],{"class":996},[984,49271,5895],{"class":990},[984,49273,49274],{"class":986,"line":1035},[984,49275,1529],{"class":990},[984,49277,49278,49280,49282,49284],{"class":986,"line":1098},[984,49279,37638],{"class":996},[984,49281,1738],{"class":990},[984,49283,37643],{"class":1003},[984,49285,1021],{"class":990},[984,49287,49288,49290,49292],{"class":986,"line":1111},[984,49289,37650],{"class":996},[984,49291,1015],{"class":990},[984,49293,2497],{"class":996},[984,49295,49296],{"class":986,"line":1124},[984,49297,1607],{"class":990},[984,49299,49300],{"class":986,"line":1137},[984,49301,1038],{"class":990},[89,49303,49304,49308],{},[54,49305,49306,37669],{},[150,49307,6548],{},[54,49309,49310,37675],{},[150,49311,37674],{},[26,49313,29429],{"id":29429},[11,49315,37680],{},[11,49317,49318],{},[150,49319,975],{},[866,49321,49322],{"className":978,"code":37687,"language":980,"meta":760,"style":760},[150,49323,49324,49328,49338,49348,49358,49364,49368,49386,49394,49398],{"__ignoreMap":760},[984,49325,49326],{"class":986,"line":987},[984,49327,991],{"class":990},[984,49329,49330,49332,49334,49336],{"class":986,"line":761},[984,49331,997],{"class":996},[984,49333,1000],{"class":990},[984,49335,1004],{"class":1003},[984,49337,1007],{"class":990},[984,49339,49340,49342,49344,49346],{"class":986,"line":772},[984,49341,1012],{"class":996},[984,49343,1015],{"class":990},[984,49345,1345],{"class":996},[984,49347,1021],{"class":990},[984,49349,49350,49352,49354,49356],{"class":986,"line":1024},[984,49351,1027],{"class":996},[984,49353,1015],{"class":990},[984,49355,37722],{"class":1003},[984,49357,1007],{"class":990},[984,49359,49360,49362],{"class":986,"line":1035},[984,49361,1521],{"class":996},[984,49363,1524],{"class":990},[984,49365,49366],{"class":986,"line":1098},[984,49367,1529],{"class":990},[984,49369,49370,49372,49374,49376,49378,49380,49382,49384],{"class":986,"line":1111},[984,49371,18725],{"class":996},[984,49373,13897],{"class":990},[984,49375,1345],{"class":996},[984,49377,441],{"class":990},[984,49379,1503],{"class":996},[984,49381,441],{"class":990},[984,49383,5131],{"class":996},[984,49385,13917],{"class":990},[984,49387,49388,49390,49392],{"class":986,"line":1124},[984,49389,37553],{"class":996},[984,49391,1015],{"class":990},[984,49393,37558],{"class":996},[984,49395,49396],{"class":986,"line":1137},[984,49397,1607],{"class":990},[984,49399,49400],{"class":986,"line":1150},[984,49401,1038],{"class":990},[89,49403,49404,49408],{},[54,49405,49406,37775],{},[150,49407,9736],{},[54,49409,49410,37590],{},[150,49411,37589],{},[11,49413,49414],{},[150,49415,1043],{},[866,49417,49418],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,49419,49420,49424,49434,49444,49450,49454,49462,49466],{"__ignoreMap":760},[984,49421,49422],{"class":986,"line":987},[984,49423,991],{"class":990},[984,49425,49426,49428,49430,49432],{"class":986,"line":761},[984,49427,997],{"class":996},[984,49429,1000],{"class":990},[984,49431,1004],{"class":1003},[984,49433,1007],{"class":990},[984,49435,49436,49438,49440,49442],{"class":986,"line":772},[984,49437,1012],{"class":996},[984,49439,1015],{"class":990},[984,49441,1345],{"class":996},[984,49443,1021],{"class":990},[984,49445,49446,49448],{"class":986,"line":1024},[984,49447,1724],{"class":996},[984,49449,5895],{"class":990},[984,49451,49452],{"class":986,"line":1035},[984,49453,1529],{"class":990},[984,49455,49456,49458,49460],{"class":986,"line":1098},[984,49457,37638],{"class":996},[984,49459,1738],{"class":990},[984,49461,37831],{"class":1003},[984,49463,49464],{"class":986,"line":1111},[984,49465,1607],{"class":990},[984,49467,49468],{"class":986,"line":1124},[984,49469,1038],{"class":990},[89,49471,49472],{},[54,49473,49474,37846],{},[150,49475,6548],{},[26,49477,29439],{"id":29439},[11,49479,37851],{},[11,49481,49482],{},[150,49483,975],{},[866,49485,49486],{"className":978,"code":37858,"language":980,"meta":760,"style":760},[150,49487,49488,49492,49502,49512,49522,49528,49532,49542,49550,49554],{"__ignoreMap":760},[984,49489,49490],{"class":986,"line":987},[984,49491,991],{"class":990},[984,49493,49494,49496,49498,49500],{"class":986,"line":761},[984,49495,997],{"class":996},[984,49497,1000],{"class":990},[984,49499,1004],{"class":1003},[984,49501,1007],{"class":990},[984,49503,49504,49506,49508,49510],{"class":986,"line":772},[984,49505,1012],{"class":996},[984,49507,1015],{"class":990},[984,49509,1345],{"class":996},[984,49511,1021],{"class":990},[984,49513,49514,49516,49518,49520],{"class":986,"line":1024},[984,49515,1027],{"class":996},[984,49517,1015],{"class":990},[984,49519,37893],{"class":1003},[984,49521,1007],{"class":990},[984,49523,49524,49526],{"class":986,"line":1035},[984,49525,1521],{"class":996},[984,49527,1524],{"class":990},[984,49529,49530],{"class":986,"line":1098},[984,49531,1529],{"class":990},[984,49533,49534,49536,49538,49540],{"class":986,"line":1111},[984,49535,37638],{"class":996},[984,49537,1738],{"class":990},[984,49539,37643],{"class":1003},[984,49541,1021],{"class":990},[984,49543,49544,49546,49548],{"class":986,"line":1124},[984,49545,37553],{"class":996},[984,49547,1015],{"class":990},[984,49549,37558],{"class":996},[984,49551,49552],{"class":986,"line":1137},[984,49553,1607],{"class":990},[984,49555,49556],{"class":986,"line":1150},[984,49557,1038],{"class":990},[89,49559,49560,49564],{},[54,49561,49562,37938],{},[150,49563,6548],{},[54,49565,49566,37590],{},[150,49567,37589],{},[11,49569,49570],{},[150,49571,1043],{},[866,49573,49574],{"className":978,"code":37949,"language":980,"meta":760,"style":760},[150,49575,49576,49580,49590,49600,49606,49610,49620,49638,49642],{"__ignoreMap":760},[984,49577,49578],{"class":986,"line":987},[984,49579,991],{"class":990},[984,49581,49582,49584,49586,49588],{"class":986,"line":761},[984,49583,997],{"class":996},[984,49585,1000],{"class":990},[984,49587,1004],{"class":1003},[984,49589,1007],{"class":990},[984,49591,49592,49594,49596,49598],{"class":986,"line":772},[984,49593,1012],{"class":996},[984,49595,1015],{"class":990},[984,49597,1345],{"class":996},[984,49599,1021],{"class":990},[984,49601,49602,49604],{"class":986,"line":1024},[984,49603,1724],{"class":996},[984,49605,5895],{"class":990},[984,49607,49608],{"class":986,"line":1035},[984,49609,1529],{"class":990},[984,49611,49612,49614,49616,49618],{"class":986,"line":1098},[984,49613,37638],{"class":996},[984,49615,1738],{"class":990},[984,49617,37643],{"class":1003},[984,49619,1021],{"class":990},[984,49621,49622,49624,49626,49628,49630,49632,49634,49636],{"class":986,"line":1111},[984,49623,18725],{"class":996},[984,49625,13897],{"class":990},[984,49627,1345],{"class":996},[984,49629,441],{"class":990},[984,49631,1503],{"class":996},[984,49633,441],{"class":990},[984,49635,5131],{"class":996},[984,49637,7675],{"class":990},[984,49639,49640],{"class":986,"line":1124},[984,49641,1607],{"class":990},[984,49643,49644],{"class":986,"line":1137},[984,49645,1038],{"class":990},[89,49647,49648,49652],{},[54,49649,49650,37846],{},[150,49651,6548],{},[54,49653,49654,38032],{},[150,49655,9736],{},[26,49657,29449],{"id":29449},[11,49659,38037,49660,38040],{},[150,49661,29439],{},[11,49663,49664],{},[150,49665,975],{},[866,49667,49668],{"className":978,"code":38047,"language":980,"meta":760,"style":760},[150,49669,49670,49674,49684,49694,49704,49710,49714,49724,49732,49736],{"__ignoreMap":760},[984,49671,49672],{"class":986,"line":987},[984,49673,991],{"class":990},[984,49675,49676,49678,49680,49682],{"class":986,"line":761},[984,49677,997],{"class":996},[984,49679,1000],{"class":990},[984,49681,1004],{"class":1003},[984,49683,1007],{"class":990},[984,49685,49686,49688,49690,49692],{"class":986,"line":772},[984,49687,1012],{"class":996},[984,49689,1015],{"class":990},[984,49691,1345],{"class":996},[984,49693,1021],{"class":990},[984,49695,49696,49698,49700,49702],{"class":986,"line":1024},[984,49697,1027],{"class":996},[984,49699,1015],{"class":990},[984,49701,38082],{"class":1003},[984,49703,1007],{"class":990},[984,49705,49706,49708],{"class":986,"line":1035},[984,49707,1521],{"class":996},[984,49709,1524],{"class":990},[984,49711,49712],{"class":986,"line":1098},[984,49713,1529],{"class":990},[984,49715,49716,49718,49720,49722],{"class":986,"line":1111},[984,49717,37638],{"class":996},[984,49719,1738],{"class":990},[984,49721,37643],{"class":1003},[984,49723,1021],{"class":990},[984,49725,49726,49728,49730],{"class":986,"line":1124},[984,49727,37553],{"class":996},[984,49729,1015],{"class":990},[984,49731,37558],{"class":996},[984,49733,49734],{"class":986,"line":1137},[984,49735,1607],{"class":990},[984,49737,49738],{"class":986,"line":1150},[984,49739,1038],{"class":990},[89,49741,49742,49746],{},[54,49743,49744,38127],{},[150,49745,6548],{},[54,49747,49748,37590],{},[150,49749,37589],{},[11,49751,49752],{},[150,49753,1043],{},[866,49755,49756],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,49757,49758,49762,49772,49782,49788,49792,49800,49804],{"__ignoreMap":760},[984,49759,49760],{"class":986,"line":987},[984,49761,991],{"class":990},[984,49763,49764,49766,49768,49770],{"class":986,"line":761},[984,49765,997],{"class":996},[984,49767,1000],{"class":990},[984,49769,1004],{"class":1003},[984,49771,1007],{"class":990},[984,49773,49774,49776,49778,49780],{"class":986,"line":772},[984,49775,1012],{"class":996},[984,49777,1015],{"class":990},[984,49779,1345],{"class":996},[984,49781,1021],{"class":990},[984,49783,49784,49786],{"class":986,"line":1024},[984,49785,1724],{"class":996},[984,49787,5895],{"class":990},[984,49789,49790],{"class":986,"line":1035},[984,49791,1529],{"class":990},[984,49793,49794,49796,49798],{"class":986,"line":1098},[984,49795,37638],{"class":996},[984,49797,1738],{"class":990},[984,49799,37831],{"class":1003},[984,49801,49802],{"class":986,"line":1111},[984,49803,1607],{"class":990},[984,49805,49806],{"class":986,"line":1124},[984,49807,1038],{"class":990},[89,49809,49810],{},[54,49811,49812,38196],{},[150,49813,6548],{},[26,49815,29459],{"id":29459},[11,49817,38201,49818,38204],{},[150,49819,29439],{},[11,49821,49822],{},[150,49823,975],{},[866,49825,49826],{"className":978,"code":38211,"language":980,"meta":760,"style":760},[150,49827,49828,49832,49842,49852,49862,49868,49872,49880,49884],{"__ignoreMap":760},[984,49829,49830],{"class":986,"line":987},[984,49831,991],{"class":990},[984,49833,49834,49836,49838,49840],{"class":986,"line":761},[984,49835,997],{"class":996},[984,49837,1000],{"class":990},[984,49839,1004],{"class":1003},[984,49841,1007],{"class":990},[984,49843,49844,49846,49848,49850],{"class":986,"line":772},[984,49845,1012],{"class":996},[984,49847,1015],{"class":990},[984,49849,1345],{"class":996},[984,49851,1021],{"class":990},[984,49853,49854,49856,49858,49860],{"class":986,"line":1024},[984,49855,1027],{"class":996},[984,49857,1015],{"class":990},[984,49859,38246],{"class":1003},[984,49861,1007],{"class":990},[984,49863,49864,49866],{"class":986,"line":1035},[984,49865,1521],{"class":996},[984,49867,1524],{"class":990},[984,49869,49870],{"class":986,"line":1098},[984,49871,1529],{"class":990},[984,49873,49874,49876,49878],{"class":986,"line":1111},[984,49875,37638],{"class":996},[984,49877,1738],{"class":990},[984,49879,37831],{"class":1003},[984,49881,49882],{"class":986,"line":1124},[984,49883,1607],{"class":990},[984,49885,49886],{"class":986,"line":1137},[984,49887,1038],{"class":990},[89,49889,49890],{},[54,49891,49892,38281],{},[150,49893,6548],{},[11,49895,49896],{},[150,49897,1043],{},[866,49899,49900],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,49901,49902,49906,49916,49926,49932,49936,49944,49948],{"__ignoreMap":760},[984,49903,49904],{"class":986,"line":987},[984,49905,991],{"class":990},[984,49907,49908,49910,49912,49914],{"class":986,"line":761},[984,49909,997],{"class":996},[984,49911,1000],{"class":990},[984,49913,1004],{"class":1003},[984,49915,1007],{"class":990},[984,49917,49918,49920,49922,49924],{"class":986,"line":772},[984,49919,1012],{"class":996},[984,49921,1015],{"class":990},[984,49923,1345],{"class":996},[984,49925,1021],{"class":990},[984,49927,49928,49930],{"class":986,"line":1024},[984,49929,1724],{"class":996},[984,49931,5895],{"class":990},[984,49933,49934],{"class":986,"line":1035},[984,49935,1529],{"class":990},[984,49937,49938,49940,49942],{"class":986,"line":1098},[984,49939,37638],{"class":996},[984,49941,1738],{"class":990},[984,49943,37831],{"class":1003},[984,49945,49946],{"class":986,"line":1111},[984,49947,1607],{"class":990},[984,49949,49950],{"class":986,"line":1124},[984,49951,1038],{"class":990},[89,49953,49954],{},[54,49955,49956,38346],{},[150,49957,6548],{},[26,49959,29469],{"id":29469},[11,49961,38351],{},[11,49963,49964],{},[150,49965,975],{},[866,49967,49968],{"className":978,"code":38358,"language":980,"meta":760,"style":760},[150,49969,49970,49974,49984,49994,50004,50010,50014,50022,50026],{"__ignoreMap":760},[984,49971,49972],{"class":986,"line":987},[984,49973,991],{"class":990},[984,49975,49976,49978,49980,49982],{"class":986,"line":761},[984,49977,997],{"class":996},[984,49979,1000],{"class":990},[984,49981,1004],{"class":1003},[984,49983,1007],{"class":990},[984,49985,49986,49988,49990,49992],{"class":986,"line":772},[984,49987,1012],{"class":996},[984,49989,1015],{"class":990},[984,49991,1345],{"class":996},[984,49993,1021],{"class":990},[984,49995,49996,49998,50000,50002],{"class":986,"line":1024},[984,49997,1027],{"class":996},[984,49999,1015],{"class":990},[984,50001,38393],{"class":1003},[984,50003,1007],{"class":990},[984,50005,50006,50008],{"class":986,"line":1035},[984,50007,1521],{"class":996},[984,50009,1524],{"class":990},[984,50011,50012],{"class":986,"line":1098},[984,50013,1529],{"class":990},[984,50015,50016,50018,50020],{"class":986,"line":1111},[984,50017,37553],{"class":996},[984,50019,1738],{"class":990},[984,50021,38414],{"class":996},[984,50023,50024],{"class":986,"line":1124},[984,50025,1607],{"class":990},[984,50027,50028],{"class":986,"line":1137},[984,50029,1038],{"class":990},[89,50031,50032],{},[54,50033,50034,37590],{},[150,50035,37589],{},[11,50037,50038],{},[150,50039,1043],{},[866,50041,50042],{"className":978,"code":38435,"language":980,"meta":760,"style":760},[150,50043,50044,50048,50058,50068,50074,50078,50086,50090],{"__ignoreMap":760},[984,50045,50046],{"class":986,"line":987},[984,50047,991],{"class":990},[984,50049,50050,50052,50054,50056],{"class":986,"line":761},[984,50051,997],{"class":996},[984,50053,1000],{"class":990},[984,50055,1004],{"class":1003},[984,50057,1007],{"class":990},[984,50059,50060,50062,50064,50066],{"class":986,"line":772},[984,50061,1012],{"class":996},[984,50063,1015],{"class":990},[984,50065,1345],{"class":996},[984,50067,1021],{"class":990},[984,50069,50070,50072],{"class":986,"line":1024},[984,50071,1724],{"class":996},[984,50073,5895],{"class":990},[984,50075,50076],{"class":986,"line":1035},[984,50077,1529],{"class":990},[984,50079,50080,50082,50084],{"class":986,"line":1098},[984,50081,38476],{"class":996},[984,50083,1738],{"class":990},[984,50085,2497],{"class":996},[984,50087,50088],{"class":986,"line":1111},[984,50089,1607],{"class":990},[984,50091,50092],{"class":986,"line":1124},[984,50093,1038],{"class":990},[89,50095,50096],{},[54,50097,50098,38495],{},[150,50099,9741],{},[26,50101,19492],{"id":19492},[11,50103,26699],{},[11,50105,50106],{},[150,50107,975],{},[866,50109,50110],{"className":978,"code":26706,"language":980,"meta":760,"style":760},[150,50111,50112,50116,50126,50136,50146,50152,50162,50172,50182,50192,50202,50210,50214],{"__ignoreMap":760},[984,50113,50114],{"class":986,"line":987},[984,50115,991],{"class":990},[984,50117,50118,50120,50122,50124],{"class":986,"line":761},[984,50119,997],{"class":996},[984,50121,1015],{"class":990},[984,50123,1004],{"class":1003},[984,50125,1007],{"class":990},[984,50127,50128,50130,50132,50134],{"class":986,"line":772},[984,50129,1012],{"class":996},[984,50131,1015],{"class":990},[984,50133,1345],{"class":996},[984,50135,1021],{"class":990},[984,50137,50138,50140,50142,50144],{"class":986,"line":1024},[984,50139,1027],{"class":996},[984,50141,1015],{"class":990},[984,50143,26741],{"class":1003},[984,50145,1021],{"class":990},[984,50147,50148,50150],{"class":986,"line":1035},[984,50149,1521],{"class":996},[984,50151,1083],{"class":990},[984,50153,50154,50156,50158,50160],{"class":986,"line":1098},[984,50155,26754],{"class":996},[984,50157,1015],{"class":990},[984,50159,2682],{"class":996},[984,50161,1021],{"class":990},[984,50163,50164,50166,50168,50170],{"class":986,"line":1111},[984,50165,26765],{"class":996},[984,50167,1015],{"class":990},[984,50169,2682],{"class":996},[984,50171,1021],{"class":990},[984,50173,50174,50176,50178,50180],{"class":986,"line":1124},[984,50175,26776],{"class":996},[984,50177,1015],{"class":990},[984,50179,2682],{"class":996},[984,50181,1021],{"class":990},[984,50183,50184,50186,50188,50190],{"class":986,"line":1137},[984,50185,26787],{"class":996},[984,50187,1015],{"class":990},[984,50189,2682],{"class":996},[984,50191,1021],{"class":990},[984,50193,50194,50196,50198,50200],{"class":986,"line":1150},[984,50195,26798],{"class":996},[984,50197,1015],{"class":990},[984,50199,2682],{"class":996},[984,50201,1021],{"class":990},[984,50203,50204,50206,50208],{"class":986,"line":1163},[984,50205,26809],{"class":996},[984,50207,1015],{"class":990},[984,50209,2497],{"class":996},[984,50211,50212],{"class":986,"line":1176},[984,50213,1607],{"class":990},[984,50215,50216],{"class":986,"line":1189},[984,50217,1038],{"class":990},[11,50219,50220],{},[150,50221,1043],{},[866,50223,50224],{"className":978,"code":26828,"language":980,"meta":760,"style":760},[150,50225,50226,50230,50240,50250,50258],{"__ignoreMap":760},[984,50227,50228],{"class":986,"line":987},[984,50229,991],{"class":990},[984,50231,50232,50234,50236,50238],{"class":986,"line":761},[984,50233,1057],{"class":996},[984,50235,1015],{"class":990},[984,50237,1345],{"class":996},[984,50239,1021],{"class":990},[984,50241,50242,50244,50246,50248],{"class":986,"line":772},[984,50243,1069],{"class":996},[984,50245,1015],{"class":990},[984,50247,1004],{"class":1003},[984,50249,1021],{"class":990},[984,50251,50252,50254,50256],{"class":986,"line":1024},[984,50253,1080],{"class":996},[984,50255,1015],{"class":990},[984,50257,2497],{"class":996},[984,50259,50260],{"class":986,"line":1035},[984,50261,1038],{"class":990},[89,50263,50264],{},[54,50265,50266,26874,50268,26877],{},[150,50267,26873],{},[150,50269,26873],{},[26,50271,19563],{"id":19563},[11,50273,26979],{},[89,50275,50276,50278],{},[54,50277,26984],{},[54,50279,26987],{},[11,50281,26990],{},[11,50283,50284],{},[150,50285,26995],{},[866,50287,50288],{"className":978,"code":26998,"language":980,"meta":760,"style":760},[150,50289,50290,50294,50304,50314,50320,50330,50340,50350,50360,50370,50380,50390,50400,50410,50420,50428,50432],{"__ignoreMap":760},[984,50291,50292],{"class":986,"line":987},[984,50293,991],{"class":990},[984,50295,50296,50298,50300,50302],{"class":986,"line":761},[984,50297,1057],{"class":996},[984,50299,1015],{"class":990},[984,50301,27013],{"class":1003},[984,50303,1021],{"class":990},[984,50305,50306,50308,50310,50312],{"class":986,"line":772},[984,50307,1069],{"class":996},[984,50309,1015],{"class":990},[984,50311,1004],{"class":1003},[984,50313,1021],{"class":990},[984,50315,50316,50318],{"class":986,"line":1024},[984,50317,1080],{"class":996},[984,50319,1083],{"class":990},[984,50321,50322,50324,50326,50328],{"class":986,"line":1035},[984,50323,1088],{"class":996},[984,50325,1015],{"class":990},[984,50327,27040],{"class":996},[984,50329,1021],{"class":990},[984,50331,50332,50334,50336,50338],{"class":986,"line":1098},[984,50333,1101],{"class":996},[984,50335,1015],{"class":990},[984,50337,27051],{"class":1003},[984,50339,1021],{"class":990},[984,50341,50342,50344,50346,50348],{"class":986,"line":1111},[984,50343,23533],{"class":996},[984,50345,1015],{"class":990},[984,50347,27062],{"class":996},[984,50349,1021],{"class":990},[984,50351,50352,50354,50356,50358],{"class":986,"line":1124},[984,50353,27069],{"class":996},[984,50355,1015],{"class":990},[984,50357,1171],{"class":996},[984,50359,1021],{"class":990},[984,50361,50362,50364,50366,50368],{"class":986,"line":1137},[984,50363,27080],{"class":996},[984,50365,1015],{"class":990},[984,50367,1503],{"class":996},[984,50369,1021],{"class":990},[984,50371,50372,50374,50376,50378],{"class":986,"line":1150},[984,50373,23554],{"class":996},[984,50375,1015],{"class":990},[984,50377,2682],{"class":996},[984,50379,1021],{"class":990},[984,50381,50382,50384,50386,50388],{"class":986,"line":1163},[984,50383,1127],{"class":996},[984,50385,1015],{"class":990},[984,50387,27105],{"class":1003},[984,50389,1021],{"class":990},[984,50391,50392,50394,50396,50398],{"class":986,"line":1176},[984,50393,27112],{"class":996},[984,50395,1015],{"class":990},[984,50397,27117],{"class":996},[984,50399,1021],{"class":990},[984,50401,50402,50404,50406,50408],{"class":986,"line":1189},[984,50403,27124],{"class":996},[984,50405,1015],{"class":990},[984,50407,27051],{"class":1003},[984,50409,1021],{"class":990},[984,50411,50412,50414,50416,50418],{"class":986,"line":1202},[984,50413,27135],{"class":996},[984,50415,1015],{"class":990},[984,50417,27140],{"class":1003},[984,50419,1021],{"class":990},[984,50421,50422,50424,50426],{"class":986,"line":1211},[984,50423,27147],{"class":996},[984,50425,1015],{"class":990},[984,50427,27152],{"class":996},[984,50429,50430],{"class":986,"line":1217},[984,50431,1459],{"class":990},[984,50433,50434],{"class":986,"line":1229},[984,50435,1038],{"class":990},[11,50437,27163,50438,557,50440,27170,50442,27174,50444,27177,50446,27180,50448,27183,50450,27186],{},[150,50439,27166],{},[150,50441,27169],{},[150,50443,27173],{},[150,50445,27169],{},[150,50447,27166],{},[150,50449,19511],{},[150,50451,19511],{},[11,50453,50454],{},[150,50455,27191],{},[866,50457,50458],{"className":978,"code":27194,"language":980,"meta":760,"style":760},[150,50459,50460,50464,50474,50484,50490,50500,50510,50520,50530,50540,50550,50560,50570,50580,50590,50598,50602],{"__ignoreMap":760},[984,50461,50462],{"class":986,"line":987},[984,50463,991],{"class":990},[984,50465,50466,50468,50470,50472],{"class":986,"line":761},[984,50467,1057],{"class":996},[984,50469,1015],{"class":990},[984,50471,27013],{"class":1003},[984,50473,1021],{"class":990},[984,50475,50476,50478,50480,50482],{"class":986,"line":772},[984,50477,1069],{"class":996},[984,50479,1015],{"class":990},[984,50481,1004],{"class":1003},[984,50483,1021],{"class":990},[984,50485,50486,50488],{"class":986,"line":1024},[984,50487,1080],{"class":996},[984,50489,1083],{"class":990},[984,50491,50492,50494,50496,50498],{"class":986,"line":1035},[984,50493,1088],{"class":996},[984,50495,1015],{"class":990},[984,50497,27040],{"class":996},[984,50499,1021],{"class":990},[984,50501,50502,50504,50506,50508],{"class":986,"line":1098},[984,50503,1101],{"class":996},[984,50505,1015],{"class":990},[984,50507,27051],{"class":1003},[984,50509,1021],{"class":990},[984,50511,50512,50514,50516,50518],{"class":986,"line":1111},[984,50513,23533],{"class":996},[984,50515,1015],{"class":990},[984,50517,27062],{"class":996},[984,50519,1021],{"class":990},[984,50521,50522,50524,50526,50528],{"class":986,"line":1124},[984,50523,27069],{"class":996},[984,50525,1015],{"class":990},[984,50527,1345],{"class":996},[984,50529,1021],{"class":990},[984,50531,50532,50534,50536,50538],{"class":986,"line":1137},[984,50533,27080],{"class":996},[984,50535,1015],{"class":990},[984,50537,1503],{"class":996},[984,50539,1021],{"class":990},[984,50541,50542,50544,50546,50548],{"class":986,"line":1150},[984,50543,23554],{"class":996},[984,50545,1015],{"class":990},[984,50547,2682],{"class":996},[984,50549,1021],{"class":990},[984,50551,50552,50554,50556,50558],{"class":986,"line":1163},[984,50553,1127],{"class":996},[984,50555,1015],{"class":990},[984,50557,27105],{"class":1003},[984,50559,1021],{"class":990},[984,50561,50562,50564,50566,50568],{"class":986,"line":1176},[984,50563,27112],{"class":996},[984,50565,1015],{"class":990},[984,50567,27117],{"class":996},[984,50569,1021],{"class":990},[984,50571,50572,50574,50576,50578],{"class":986,"line":1189},[984,50573,27124],{"class":996},[984,50575,1015],{"class":990},[984,50577,27051],{"class":1003},[984,50579,1021],{"class":990},[984,50581,50582,50584,50586,50588],{"class":986,"line":1202},[984,50583,27135],{"class":996},[984,50585,1015],{"class":990},[984,50587,27140],{"class":1003},[984,50589,1021],{"class":990},[984,50591,50592,50594,50596],{"class":986,"line":1211},[984,50593,27147],{"class":996},[984,50595,1015],{"class":990},[984,50597,27152],{"class":996},[984,50599,50600],{"class":986,"line":1217},[984,50601,1459],{"class":990},[984,50603,50604],{"class":986,"line":1229},[984,50605,1038],{"class":990},[11,50607,27345,50608,27348,50610,27352],{},[150,50609,27173],{},[150,50611,27351],{},[11,50613,50614],{},[150,50615,27357],{},[866,50617,50618],{"className":978,"code":27360,"language":980,"meta":760,"style":760},[150,50619,50620,50624,50634,50644,50650,50660,50670,50680,50690,50700,50710,50720,50730,50740,50750,50758,50762,50766,50770,50794,50798,50806,50810,50814,50824,50834,50840,50850,50860,50870,50880,50890,50900,50910,50920,50930,50940,50948,50952],{"__ignoreMap":760},[984,50621,50622],{"class":986,"line":987},[984,50623,991],{"class":990},[984,50625,50626,50628,50630,50632],{"class":986,"line":761},[984,50627,1057],{"class":996},[984,50629,1015],{"class":990},[984,50631,27013],{"class":1003},[984,50633,1021],{"class":990},[984,50635,50636,50638,50640,50642],{"class":986,"line":772},[984,50637,1069],{"class":996},[984,50639,1015],{"class":990},[984,50641,1004],{"class":1003},[984,50643,1021],{"class":990},[984,50645,50646,50648],{"class":986,"line":1024},[984,50647,1080],{"class":996},[984,50649,1083],{"class":990},[984,50651,50652,50654,50656,50658],{"class":986,"line":1035},[984,50653,1088],{"class":996},[984,50655,1015],{"class":990},[984,50657,27040],{"class":996},[984,50659,1021],{"class":990},[984,50661,50662,50664,50666,50668],{"class":986,"line":1098},[984,50663,1101],{"class":996},[984,50665,1015],{"class":990},[984,50667,27051],{"class":1003},[984,50669,1021],{"class":990},[984,50671,50672,50674,50676,50678],{"class":986,"line":1111},[984,50673,23533],{"class":996},[984,50675,1015],{"class":990},[984,50677,27062],{"class":996},[984,50679,1021],{"class":990},[984,50681,50682,50684,50686,50688],{"class":986,"line":1124},[984,50683,27069],{"class":996},[984,50685,1015],{"class":990},[984,50687,1503],{"class":996},[984,50689,1021],{"class":990},[984,50691,50692,50694,50696,50698],{"class":986,"line":1137},[984,50693,27080],{"class":996},[984,50695,1015],{"class":990},[984,50697,1503],{"class":996},[984,50699,1021],{"class":990},[984,50701,50702,50704,50706,50708],{"class":986,"line":1150},[984,50703,23554],{"class":996},[984,50705,1015],{"class":990},[984,50707,2682],{"class":996},[984,50709,1021],{"class":990},[984,50711,50712,50714,50716,50718],{"class":986,"line":1163},[984,50713,1127],{"class":996},[984,50715,1015],{"class":990},[984,50717,27105],{"class":1003},[984,50719,1021],{"class":990},[984,50721,50722,50724,50726,50728],{"class":986,"line":1176},[984,50723,27112],{"class":996},[984,50725,1015],{"class":990},[984,50727,27117],{"class":996},[984,50729,1021],{"class":990},[984,50731,50732,50734,50736,50738],{"class":986,"line":1189},[984,50733,27124],{"class":996},[984,50735,1015],{"class":990},[984,50737,27051],{"class":1003},[984,50739,1021],{"class":990},[984,50741,50742,50744,50746,50748],{"class":986,"line":1202},[984,50743,27135],{"class":996},[984,50745,1015],{"class":990},[984,50747,27140],{"class":1003},[984,50749,1021],{"class":990},[984,50751,50752,50754,50756],{"class":986,"line":1211},[984,50753,27147],{"class":996},[984,50755,1015],{"class":990},[984,50757,27152],{"class":996},[984,50759,50760],{"class":986,"line":1217},[984,50761,1459],{"class":990},[984,50763,50764],{"class":986,"line":1229},[984,50765,1038],{"class":990},[984,50767,50768],{"class":986,"line":1241},[984,50769,8376],{"emptyLinePlaceholder":778},[984,50771,50772,50774,50776,50778,50780,50782,50784,50786,50788,50790,50792],{"class":986,"line":1254},[984,50773,27517],{"class":990},[984,50775,5131],{"class":996},[984,50777,27522],{"class":990},[984,50779,1503],{"class":996},[984,50781,27527],{"class":990},[984,50783,1503],{"class":996},[984,50785,27532],{"class":990},[984,50787,1503],{"class":996},[984,50789,27537],{"class":990},[984,50791,27040],{"class":996},[984,50793,27542],{"class":990},[984,50795,50796],{"class":986,"line":1266},[984,50797,8376],{"emptyLinePlaceholder":778},[984,50799,50800,50802,50804],{"class":986,"line":1279},[984,50801,27551],{"class":990},[984,50803,2431],{"class":996},[984,50805,27556],{"class":990},[984,50807,50808],{"class":986,"line":1291},[984,50809,27561],{"class":990},[984,50811,50812],{"class":986,"line":1304},[984,50813,991],{"class":990},[984,50815,50816,50818,50820,50822],{"class":986,"line":1316},[984,50817,1057],{"class":996},[984,50819,1015],{"class":990},[984,50821,27013],{"class":1003},[984,50823,1021],{"class":990},[984,50825,50826,50828,50830,50832],{"class":986,"line":1327},[984,50827,1069],{"class":996},[984,50829,1015],{"class":990},[984,50831,1004],{"class":1003},[984,50833,1021],{"class":990},[984,50835,50836,50838],{"class":986,"line":1333},[984,50837,1080],{"class":996},[984,50839,1083],{"class":990},[984,50841,50842,50844,50846,50848],{"class":986,"line":1338},[984,50843,1088],{"class":996},[984,50845,1015],{"class":990},[984,50847,27117],{"class":996},[984,50849,1021],{"class":990},[984,50851,50852,50854,50856,50858],{"class":986,"line":1355},[984,50853,1101],{"class":996},[984,50855,1015],{"class":990},[984,50857,27140],{"class":1003},[984,50859,1021],{"class":990},[984,50861,50862,50864,50866,50868],{"class":986,"line":1367},[984,50863,23533],{"class":996},[984,50865,1015],{"class":990},[984,50867,27062],{"class":996},[984,50869,1021],{"class":990},[984,50871,50872,50874,50876,50878],{"class":986,"line":1379},[984,50873,27069],{"class":996},[984,50875,1015],{"class":990},[984,50877,1503],{"class":996},[984,50879,1021],{"class":990},[984,50881,50882,50884,50886,50888],{"class":986,"line":1390},[984,50883,27080],{"class":996},[984,50885,1015],{"class":990},[984,50887,1503],{"class":996},[984,50889,1021],{"class":990},[984,50891,50892,50894,50896,50898],{"class":986,"line":1402},[984,50893,23554],{"class":996},[984,50895,1015],{"class":990},[984,50897,2682],{"class":996},[984,50899,1021],{"class":990},[984,50901,50902,50904,50906,50908],{"class":986,"line":1413},[984,50903,1127],{"class":996},[984,50905,1015],{"class":990},[984,50907,27051],{"class":1003},[984,50909,1021],{"class":990},[984,50911,50912,50914,50916,50918],{"class":986,"line":1424},[984,50913,27112],{"class":996},[984,50915,1015],{"class":990},[984,50917,27117],{"class":996},[984,50919,1021],{"class":990},[984,50921,50922,50924,50926,50928],{"class":986,"line":1435},[984,50923,27124],{"class":996},[984,50925,1015],{"class":990},[984,50927,27051],{"class":1003},[984,50929,1021],{"class":990},[984,50931,50932,50934,50936,50938],{"class":986,"line":1444},[984,50933,27135],{"class":996},[984,50935,1015],{"class":990},[984,50937,27140],{"class":1003},[984,50939,1021],{"class":990},[984,50941,50942,50944,50946],{"class":986,"line":1450},[984,50943,27147],{"class":996},[984,50945,1015],{"class":990},[984,50947,27152],{"class":996},[984,50949,50950],{"class":986,"line":1456},[984,50951,1459],{"class":990},[984,50953,50954],{"class":986,"line":1462},[984,50955,1038],{"class":990},[11,50957,27710,50958,27713,50960,27716,50962,27713,50964,27723,50966,27713,50968,4316],{},[150,50959,27351],{},[150,50961,27173],{},[150,50963,27719],{},[150,50965,27722],{},[150,50967,27166],{},[150,50969,27169],{},[26,50971,19571],{"id":19571},[11,50973,27732],{},[11,50975,50976],{},[150,50977,1043],{},[866,50979,50980],{"className":978,"code":27739,"language":980,"meta":760,"style":760},[150,50981,50982,50986,50996,51006,51012,51022,51032,51042,51052,51062,51072,51082,51092,51100,51104],{"__ignoreMap":760},[984,50983,50984],{"class":986,"line":987},[984,50985,991],{"class":990},[984,50987,50988,50990,50992,50994],{"class":986,"line":761},[984,50989,1057],{"class":996},[984,50991,1015],{"class":990},[984,50993,27754],{"class":1003},[984,50995,1021],{"class":990},[984,50997,50998,51000,51002,51004],{"class":986,"line":772},[984,50999,1069],{"class":996},[984,51001,1015],{"class":990},[984,51003,1004],{"class":1003},[984,51005,1021],{"class":990},[984,51007,51008,51010],{"class":986,"line":1024},[984,51009,1080],{"class":996},[984,51011,1083],{"class":990},[984,51013,51014,51016,51018,51020],{"class":986,"line":1035},[984,51015,1088],{"class":996},[984,51017,1015],{"class":990},[984,51019,27781],{"class":996},[984,51021,1021],{"class":990},[984,51023,51024,51026,51028,51030],{"class":986,"line":1098},[984,51025,1101],{"class":996},[984,51027,1015],{"class":990},[984,51029,27792],{"class":1003},[984,51031,1021],{"class":990},[984,51033,51034,51036,51038,51040],{"class":986,"line":1111},[984,51035,23533],{"class":996},[984,51037,1015],{"class":990},[984,51039,27803],{"class":996},[984,51041,1021],{"class":990},[984,51043,51044,51046,51048,51050],{"class":986,"line":1124},[984,51045,23554],{"class":996},[984,51047,1015],{"class":990},[984,51049,2682],{"class":996},[984,51051,1021],{"class":990},[984,51053,51054,51056,51058,51060],{"class":986,"line":1137},[984,51055,1127],{"class":996},[984,51057,1015],{"class":990},[984,51059,27824],{"class":1003},[984,51061,1021],{"class":990},[984,51063,51064,51066,51068,51070],{"class":986,"line":1150},[984,51065,27112],{"class":996},[984,51067,1015],{"class":990},[984,51069,27781],{"class":996},[984,51071,1021],{"class":990},[984,51073,51074,51076,51078,51080],{"class":986,"line":1163},[984,51075,27124],{"class":996},[984,51077,1015],{"class":990},[984,51079,27824],{"class":1003},[984,51081,1021],{"class":990},[984,51083,51084,51086,51088,51090],{"class":986,"line":1176},[984,51085,27135],{"class":996},[984,51087,1015],{"class":990},[984,51089,27792],{"class":1003},[984,51091,1021],{"class":990},[984,51093,51094,51096,51098],{"class":986,"line":1189},[984,51095,27147],{"class":996},[984,51097,1015],{"class":990},[984,51099,27865],{"class":996},[984,51101,51102],{"class":986,"line":1202},[984,51103,1459],{"class":990},[984,51105,51106],{"class":986,"line":1211},[984,51107,1038],{"class":990},[26,51109,19579],{"id":19579},[11,51111,27878],{},[11,51113,51114],{},[150,51115,1043],{},[866,51117,51118],{"className":978,"code":27885,"language":980,"meta":760,"style":760},[150,51119,51120,51124,51134,51144,51150,51160,51170,51176,51180,51190,51200,51210,51220,51230,51240,51250,51260,51270,51280,51290,51298,51302,51306,51316,51326,51336,51346,51356,51366,51376,51386,51396,51406,51416,51424,51428,51432,51436],{"__ignoreMap":760},[984,51121,51122],{"class":986,"line":987},[984,51123,991],{"class":990},[984,51125,51126,51128,51130,51132],{"class":986,"line":761},[984,51127,1057],{"class":996},[984,51129,1015],{"class":990},[984,51131,27900],{"class":1003},[984,51133,1021],{"class":990},[984,51135,51136,51138,51140,51142],{"class":986,"line":772},[984,51137,1069],{"class":996},[984,51139,1015],{"class":990},[984,51141,1004],{"class":1003},[984,51143,1021],{"class":990},[984,51145,51146,51148],{"class":986,"line":1024},[984,51147,1080],{"class":996},[984,51149,1083],{"class":990},[984,51151,51152,51154,51156,51158],{"class":986,"line":1035},[984,51153,27923],{"class":996},[984,51155,1015],{"class":990},[984,51157,5131],{"class":996},[984,51159,1021],{"class":990},[984,51161,51162,51164,51166,51168],{"class":986,"line":1098},[984,51163,27934],{"class":996},[984,51165,1015],{"class":990},[984,51167,27939],{"class":1003},[984,51169,1021],{"class":990},[984,51171,51172,51174],{"class":986,"line":1111},[984,51173,27946],{"class":996},[984,51175,1208],{"class":990},[984,51177,51178],{"class":986,"line":1124},[984,51179,27953],{"class":990},[984,51181,51182,51184,51186,51188],{"class":986,"line":1137},[984,51183,27958],{"class":996},[984,51185,1015],{"class":990},[984,51187,27963],{"class":1003},[984,51189,1021],{"class":990},[984,51191,51192,51194,51196,51198],{"class":986,"line":1150},[984,51193,27970],{"class":996},[984,51195,1015],{"class":990},[984,51197,13091],{"class":1003},[984,51199,1021],{"class":990},[984,51201,51202,51204,51206,51208],{"class":986,"line":1163},[984,51203,27981],{"class":996},[984,51205,1015],{"class":990},[984,51207,13091],{"class":1003},[984,51209,1021],{"class":990},[984,51211,51212,51214,51216,51218],{"class":986,"line":1176},[984,51213,27992],{"class":996},[984,51215,1015],{"class":990},[984,51217,13103],{"class":996},[984,51219,1021],{"class":990},[984,51221,51222,51224,51226,51228],{"class":986,"line":1189},[984,51223,28003],{"class":996},[984,51225,1015],{"class":990},[984,51227,13115],{"class":996},[984,51229,1021],{"class":990},[984,51231,51232,51234,51236,51238],{"class":986,"line":1202},[984,51233,28014],{"class":996},[984,51235,1015],{"class":990},[984,51237,2682],{"class":996},[984,51239,1021],{"class":990},[984,51241,51242,51244,51246,51248],{"class":986,"line":1211},[984,51243,28025],{"class":996},[984,51245,1015],{"class":990},[984,51247,2682],{"class":996},[984,51249,1021],{"class":990},[984,51251,51252,51254,51256,51258],{"class":986,"line":1217},[984,51253,28036],{"class":996},[984,51255,1015],{"class":990},[984,51257,13158],{"class":996},[984,51259,1021],{"class":990},[984,51261,51262,51264,51266,51268],{"class":986,"line":1229},[984,51263,28047],{"class":996},[984,51265,1015],{"class":990},[984,51267,13170],{"class":1003},[984,51269,1021],{"class":990},[984,51271,51272,51274,51276,51278],{"class":986,"line":1241},[984,51273,28058],{"class":996},[984,51275,1015],{"class":990},[984,51277,13182],{"class":1003},[984,51279,1021],{"class":990},[984,51281,51282,51284,51286,51288],{"class":986,"line":1254},[984,51283,28069],{"class":996},[984,51285,1015],{"class":990},[984,51287,5931],{"class":1003},[984,51289,1021],{"class":990},[984,51291,51292,51294,51296],{"class":986,"line":1266},[984,51293,28080],{"class":996},[984,51295,1015],{"class":990},[984,51297,28085],{"class":1003},[984,51299,51300],{"class":986,"line":1279},[984,51301,28090],{"class":990},[984,51303,51304],{"class":986,"line":1291},[984,51305,27953],{"class":990},[984,51307,51308,51310,51312,51314],{"class":986,"line":1304},[984,51309,27958],{"class":996},[984,51311,1015],{"class":990},[984,51313,28103],{"class":1003},[984,51315,1021],{"class":990},[984,51317,51318,51320,51322,51324],{"class":986,"line":1316},[984,51319,27970],{"class":996},[984,51321,1015],{"class":990},[984,51323,13091],{"class":1003},[984,51325,1021],{"class":990},[984,51327,51328,51330,51332,51334],{"class":986,"line":1327},[984,51329,27992],{"class":996},[984,51331,1015],{"class":990},[984,51333,13103],{"class":996},[984,51335,1021],{"class":990},[984,51337,51338,51340,51342,51344],{"class":986,"line":1333},[984,51339,28003],{"class":996},[984,51341,1015],{"class":990},[984,51343,13115],{"class":996},[984,51345,1021],{"class":990},[984,51347,51348,51350,51352,51354],{"class":986,"line":1338},[984,51349,28014],{"class":996},[984,51351,1015],{"class":990},[984,51353,2682],{"class":996},[984,51355,1021],{"class":990},[984,51357,51358,51360,51362,51364],{"class":986,"line":1355},[984,51359,27981],{"class":996},[984,51361,1015],{"class":990},[984,51363,13091],{"class":1003},[984,51365,1021],{"class":990},[984,51367,51368,51370,51372,51374],{"class":986,"line":1367},[984,51369,28025],{"class":996},[984,51371,1015],{"class":990},[984,51373,2682],{"class":996},[984,51375,1021],{"class":990},[984,51377,51378,51380,51382,51384],{"class":986,"line":1379},[984,51379,28036],{"class":996},[984,51381,1015],{"class":990},[984,51383,13158],{"class":996},[984,51385,1021],{"class":990},[984,51387,51388,51390,51392,51394],{"class":986,"line":1390},[984,51389,28047],{"class":996},[984,51391,1015],{"class":990},[984,51393,13170],{"class":1003},[984,51395,1021],{"class":990},[984,51397,51398,51400,51402,51404],{"class":986,"line":1402},[984,51399,28058],{"class":996},[984,51401,1015],{"class":990},[984,51403,28194],{"class":1003},[984,51405,1021],{"class":990},[984,51407,51408,51410,51412,51414],{"class":986,"line":1413},[984,51409,28069],{"class":996},[984,51411,1015],{"class":990},[984,51413,6305],{"class":1003},[984,51415,1021],{"class":990},[984,51417,51418,51420,51422],{"class":986,"line":1424},[984,51419,28080],{"class":996},[984,51421,1015],{"class":990},[984,51423,28215],{"class":1003},[984,51425,51426],{"class":986,"line":1435},[984,51427,28220],{"class":990},[984,51429,51430],{"class":986,"line":1444},[984,51431,28225],{"class":990},[984,51433,51434],{"class":986,"line":1450},[984,51435,1459],{"class":990},[984,51437,51438],{"class":986,"line":1456},[984,51439,1038],{"class":990},[89,51441,51442,51450],{},[54,51443,51444,441,51446,28242,51448,28246],{},[150,51445,2657],{},[150,51447,26967],{},[18,51449,26914],{"href":28245},[54,51451,51452,28252],{},[150,51453,28251],{},[26,51455,19587],{"id":19587},[11,51457,28257,51458,28260],{},[18,51459,913],{"href":2036},[11,51461,28263],{},[11,51463,51464],{},[150,51465,28268],{},[866,51467,51468],{"className":978,"code":28271,"language":980,"meta":760,"style":760},[150,51469,51470,51474,51484,51494,51500,51510,51520,51526,51538,51550,51554,51558],{"__ignoreMap":760},[984,51471,51472],{"class":986,"line":987},[984,51473,991],{"class":990},[984,51475,51476,51478,51480,51482],{"class":986,"line":761},[984,51477,1057],{"class":996},[984,51479,1015],{"class":990},[984,51481,28286],{"class":1003},[984,51483,1021],{"class":990},[984,51485,51486,51488,51490,51492],{"class":986,"line":772},[984,51487,1069],{"class":996},[984,51489,1015],{"class":990},[984,51491,1004],{"class":1003},[984,51493,1021],{"class":990},[984,51495,51496,51498],{"class":986,"line":1024},[984,51497,1080],{"class":996},[984,51499,28305],{"class":990},[984,51501,51502,51504,51506,51508],{"class":986,"line":1035},[984,51503,27923],{"class":996},[984,51505,1015],{"class":990},[984,51507,1345],{"class":996},[984,51509,1021],{"class":990},[984,51511,51512,51514,51516,51518],{"class":986,"line":1098},[984,51513,27934],{"class":996},[984,51515,1015],{"class":990},[984,51517,28324],{"class":1003},[984,51519,1021],{"class":990},[984,51521,51522,51524],{"class":986,"line":1111},[984,51523,28331],{"class":996},[984,51525,1208],{"class":990},[984,51527,51528,51530,51532,51534,51536],{"class":986,"line":1124},[984,51529,28338],{"class":990},[984,51531,1470],{"class":996},[984,51533,1015],{"class":990},[984,51535,28345],{"class":996},[984,51537,28348],{"class":990},[984,51539,51540,51542,51544,51546,51548],{"class":986,"line":1137},[984,51541,28338],{"class":990},[984,51543,1470],{"class":996},[984,51545,1015],{"class":990},[984,51547,28359],{"class":996},[984,51549,28362],{"class":990},[984,51551,51552],{"class":986,"line":1150},[984,51553,28225],{"class":990},[984,51555,51556],{"class":986,"line":1163},[984,51557,1459],{"class":990},[984,51559,51560],{"class":986,"line":1176},[984,51561,1038],{"class":990},[89,51563,51564,51572],{},[54,51565,51566,441,51568,28242,51570,28246],{},[150,51567,2657],{},[150,51569,26967],{},[18,51571,26914],{"href":28245},[54,51573,51574,28390,51576,28393],{},[150,51575,28389],{},[150,51577,26945],{},[11,51579,28396],{},[11,51581,51582],{},[150,51583,28268],{},[866,51585,51586],{"className":978,"code":28403,"language":980,"meta":760,"style":760},[150,51587,51588,51592,51602,51612,51618,51628,51638,51644,51648,51658,51668,51678,51688,51698,51708,51718,51724,51734,51744,51754,51764,51772,51776,51786,51796,51806,51814,51818,51822,51826],{"__ignoreMap":760},[984,51589,51590],{"class":986,"line":987},[984,51591,991],{"class":990},[984,51593,51594,51596,51598,51600],{"class":986,"line":761},[984,51595,1012],{"class":996},[984,51597,1015],{"class":990},[984,51599,28286],{"class":1003},[984,51601,1021],{"class":990},[984,51603,51604,51606,51608,51610],{"class":986,"line":772},[984,51605,997],{"class":996},[984,51607,1015],{"class":990},[984,51609,1004],{"class":1003},[984,51611,1021],{"class":990},[984,51613,51614,51616],{"class":986,"line":1024},[984,51615,1724],{"class":996},[984,51617,1083],{"class":990},[984,51619,51620,51622,51624,51626],{"class":986,"line":1035},[984,51621,2577],{"class":996},[984,51623,1015],{"class":990},[984,51625,5131],{"class":996},[984,51627,1021],{"class":990},[984,51629,51630,51632,51634,51636],{"class":986,"line":1098},[984,51631,2588],{"class":996},[984,51633,1015],{"class":990},[984,51635,27939],{"class":1003},[984,51637,1021],{"class":990},[984,51639,51640,51642],{"class":986,"line":1111},[984,51641,17104],{"class":996},[984,51643,1208],{"class":990},[984,51645,51646],{"class":986,"line":1124},[984,51647,28466],{"class":990},[984,51649,51650,51652,51654,51656],{"class":986,"line":1137},[984,51651,28471],{"class":996},[984,51653,1015],{"class":990},[984,51655,1345],{"class":996},[984,51657,1021],{"class":990},[984,51659,51660,51662,51664,51666],{"class":986,"line":1150},[984,51661,28482],{"class":996},[984,51663,1015],{"class":990},[984,51665,1362],{"class":996},[984,51667,1021],{"class":990},[984,51669,51670,51672,51674,51676],{"class":986,"line":1163},[984,51671,28493],{"class":996},[984,51673,1015],{"class":990},[984,51675,1374],{"class":1003},[984,51677,1021],{"class":990},[984,51679,51680,51682,51684,51686],{"class":986,"line":1176},[984,51681,28504],{"class":996},[984,51683,1015],{"class":990},[984,51685,1345],{"class":996},[984,51687,1021],{"class":990},[984,51689,51690,51692,51694,51696],{"class":986,"line":1189},[984,51691,28515],{"class":996},[984,51693,1015],{"class":990},[984,51695,1926],{"class":996},[984,51697,1021],{"class":990},[984,51699,51700,51702,51704,51706],{"class":986,"line":1202},[984,51701,28526],{"class":996},[984,51703,1015],{"class":990},[984,51705,24590],{"class":1003},[984,51707,1021],{"class":990},[984,51709,51710,51712,51714,51716],{"class":986,"line":1211},[984,51711,28537],{"class":996},[984,51713,1015],{"class":990},[984,51715,2682],{"class":996},[984,51717,1021],{"class":990},[984,51719,51720,51722],{"class":986,"line":1217},[984,51721,28548],{"class":996},[984,51723,1083],{"class":990},[984,51725,51726,51728,51730,51732],{"class":986,"line":1229},[984,51727,28555],{"class":996},[984,51729,1015],{"class":990},[984,51731,24620],{"class":1003},[984,51733,1021],{"class":990},[984,51735,51736,51738,51740,51742],{"class":986,"line":1241},[984,51737,28566],{"class":996},[984,51739,1015],{"class":990},[984,51741,24632],{"class":1003},[984,51743,1021],{"class":990},[984,51745,51746,51748,51750,51752],{"class":986,"line":1254},[984,51747,28577],{"class":996},[984,51749,1015],{"class":990},[984,51751,24644],{"class":1003},[984,51753,1021],{"class":990},[984,51755,51756,51758,51760,51762],{"class":986,"line":1266},[984,51757,28588],{"class":996},[984,51759,1015],{"class":990},[984,51761,24656],{"class":1003},[984,51763,1021],{"class":990},[984,51765,51766,51768,51770],{"class":986,"line":1279},[984,51767,28599],{"class":996},[984,51769,1015],{"class":990},[984,51771,24668],{"class":1003},[984,51773,51774],{"class":986,"line":1291},[984,51775,28608],{"class":990},[984,51777,51778,51780,51782,51784],{"class":986,"line":1304},[984,51779,28613],{"class":996},[984,51781,1015],{"class":990},[984,51783,2682],{"class":996},[984,51785,1021],{"class":990},[984,51787,51788,51790,51792,51794],{"class":986,"line":1316},[984,51789,28624],{"class":996},[984,51791,1015],{"class":990},[984,51793,2682],{"class":996},[984,51795,1021],{"class":990},[984,51797,51798,51800,51802,51804],{"class":986,"line":1327},[984,51799,28635],{"class":996},[984,51801,1015],{"class":990},[984,51803,1950],{"class":1003},[984,51805,1021],{"class":990},[984,51807,51808,51810,51812],{"class":986,"line":1333},[984,51809,28646],{"class":996},[984,51811,1015],{"class":990},[984,51813,1962],{"class":996},[984,51815,51816],{"class":986,"line":1338},[984,51817,28220],{"class":990},[984,51819,51820],{"class":986,"line":1355},[984,51821,28659],{"class":990},[984,51823,51824],{"class":986,"line":1367},[984,51825,1607],{"class":990},[984,51827,51828],{"class":986,"line":1379},[984,51829,1038],{"class":990},[89,51831,51832,51840],{},[54,51833,51834,441,51836,28242,51838,28246],{},[150,51835,2657],{},[150,51837,26967],{},[18,51839,26914],{"href":28245},[54,51841,51842,28682,51844,28685],{},[150,51843,28389],{},[18,51845,918],{"href":12373},[26,51847,19593],{"id":19593},[11,51849,28690,51850,4316],{},[150,51851,948],{},[11,51853,51854],{},[150,51855,28268],{},[866,51857,51858],{"className":978,"code":28699,"language":980,"meta":760,"style":760},[150,51859,51860,51864,51874,51884,51890,51900,51910,51916,51920,51930,51940,51950,51960,51970,51980,51990,52000,52008,52012,52016,52020],{"__ignoreMap":760},[984,51861,51862],{"class":986,"line":987},[984,51863,991],{"class":990},[984,51865,51866,51868,51870,51872],{"class":986,"line":761},[984,51867,1012],{"class":996},[984,51869,1015],{"class":990},[984,51871,28714],{"class":1003},[984,51873,1021],{"class":990},[984,51875,51876,51878,51880,51882],{"class":986,"line":772},[984,51877,997],{"class":996},[984,51879,1015],{"class":990},[984,51881,1004],{"class":1003},[984,51883,1021],{"class":990},[984,51885,51886,51888],{"class":986,"line":1024},[984,51887,1724],{"class":996},[984,51889,1083],{"class":990},[984,51891,51892,51894,51896,51898],{"class":986,"line":1035},[984,51893,2577],{"class":996},[984,51895,1015],{"class":990},[984,51897,5131],{"class":996},[984,51899,1021],{"class":990},[984,51901,51902,51904,51906,51908],{"class":986,"line":1098},[984,51903,2588],{"class":996},[984,51905,1015],{"class":990},[984,51907,27939],{"class":1003},[984,51909,1021],{"class":990},[984,51911,51912,51914],{"class":986,"line":1111},[984,51913,28757],{"class":996},[984,51915,1208],{"class":990},[984,51917,51918],{"class":986,"line":1124},[984,51919,9689],{"class":990},[984,51921,51922,51924,51926,51928],{"class":986,"line":1137},[984,51923,28768],{"class":996},[984,51925,1015],{"class":990},[984,51927,1158],{"class":996},[984,51929,1021],{"class":990},[984,51931,51932,51934,51936,51938],{"class":986,"line":1150},[984,51933,28779],{"class":996},[984,51935,1015],{"class":990},[984,51937,1171],{"class":996},[984,51939,1021],{"class":990},[984,51941,51942,51944,51946,51948],{"class":986,"line":1163},[984,51943,28790],{"class":996},[984,51945,1015],{"class":990},[984,51947,16963],{"class":996},[984,51949,1021],{"class":990},[984,51951,51952,51954,51956,51958],{"class":986,"line":1176},[984,51953,28801],{"class":996},[984,51955,1015],{"class":990},[984,51957,16974],{"class":996},[984,51959,1021],{"class":990},[984,51961,51962,51964,51966,51968],{"class":986,"line":1189},[984,51963,28812],{"class":996},[984,51965,1015],{"class":990},[984,51967,16985],{"class":1003},[984,51969,1021],{"class":990},[984,51971,51972,51974,51976,51978],{"class":986,"line":1202},[984,51973,28823],{"class":996},[984,51975,1015],{"class":990},[984,51977,14895],{"class":1003},[984,51979,1021],{"class":990},[984,51981,51982,51984,51986,51988],{"class":986,"line":1211},[984,51983,28834],{"class":996},[984,51985,1015],{"class":990},[984,51987,13091],{"class":1003},[984,51989,1021],{"class":990},[984,51991,51992,51994,51996,51998],{"class":986,"line":1217},[984,51993,28845],{"class":996},[984,51995,1015],{"class":990},[984,51997,1503],{"class":996},[984,51999,1021],{"class":990},[984,52001,52002,52004,52006],{"class":986,"line":1229},[984,52003,28856],{"class":996},[984,52005,1015],{"class":990},[984,52007,17028],{"class":1003},[984,52009,52010],{"class":986,"line":1241},[984,52011,28865],{"class":990},[984,52013,52014],{"class":986,"line":1254},[984,52015,28870],{"class":990},[984,52017,52018],{"class":986,"line":1266},[984,52019,1607],{"class":990},[984,52021,52022],{"class":986,"line":1279},[984,52023,1038],{"class":990},[89,52025,52026,52034],{},[54,52027,52028,441,52030,28242,52032,28246],{},[150,52029,2657],{},[150,52031,26967],{},[18,52033,26914],{"href":28245},[54,52035,52036,28893,52038,28685],{},[150,52037,8355],{},[18,52039,12024],{"href":12331},[26,52041,19599],{"id":19599},[11,52043,28900],{},[11,52045,52046],{},[150,52047,28268],{},[866,52049,52050],{"className":978,"code":40446,"language":980,"meta":760,"style":760},[150,52051,52052,52056,52066,52076,52082,52092,52102,52108,52112,52122,52132,52142,52152,52162,52172,52182,52192,52202,52212,52222,52232,52242,52252,52262,52268,52278,52288,52296,52300,52304,52308],{"__ignoreMap":760},[984,52053,52054],{"class":986,"line":987},[984,52055,991],{"class":990},[984,52057,52058,52060,52062,52064],{"class":986,"line":761},[984,52059,1012],{"class":996},[984,52061,1015],{"class":990},[984,52063,28922],{"class":1003},[984,52065,1021],{"class":990},[984,52067,52068,52070,52072,52074],{"class":986,"line":772},[984,52069,997],{"class":996},[984,52071,1015],{"class":990},[984,52073,1004],{"class":1003},[984,52075,1021],{"class":990},[984,52077,52078,52080],{"class":986,"line":1024},[984,52079,1724],{"class":996},[984,52081,1083],{"class":990},[984,52083,52084,52086,52088,52090],{"class":986,"line":1035},[984,52085,2577],{"class":996},[984,52087,1015],{"class":990},[984,52089,5131],{"class":996},[984,52091,1021],{"class":990},[984,52093,52094,52096,52098,52100],{"class":986,"line":1098},[984,52095,2588],{"class":996},[984,52097,1015],{"class":990},[984,52099,27939],{"class":1003},[984,52101,1021],{"class":990},[984,52103,52104,52106],{"class":986,"line":1111},[984,52105,28965],{"class":996},[984,52107,1208],{"class":990},[984,52109,52110],{"class":986,"line":1124},[984,52111,9689],{"class":990},[984,52113,52114,52116,52118,52120],{"class":986,"line":1137},[984,52115,28976],{"class":996},[984,52117,1738],{"class":990},[984,52119,14895],{"class":1003},[984,52121,1021],{"class":990},[984,52123,52124,52126,52128,52130],{"class":986,"line":1150},[984,52125,28779],{"class":996},[984,52127,1015],{"class":990},[984,52129,1171],{"class":996},[984,52131,1021],{"class":990},[984,52133,52134,52136,52138,52140],{"class":986,"line":1163},[984,52135,28997],{"class":996},[984,52137,1015],{"class":990},[984,52139,13091],{"class":1003},[984,52141,1021],{"class":990},[984,52143,52144,52146,52148,52150],{"class":986,"line":1176},[984,52145,29008],{"class":996},[984,52147,1015],{"class":990},[984,52149,4979],{"class":996},[984,52151,1021],{"class":990},[984,52153,52154,52156,52158,52160],{"class":986,"line":1189},[984,52155,29019],{"class":996},[984,52157,1015],{"class":990},[984,52159,14999],{"class":1003},[984,52161,1021],{"class":990},[984,52163,52164,52166,52168,52170],{"class":986,"line":1202},[984,52165,29030],{"class":996},[984,52167,1015],{"class":990},[984,52169,1562],{"class":1003},[984,52171,1021],{"class":990},[984,52173,52174,52176,52178,52180],{"class":986,"line":1211},[984,52175,29041],{"class":996},[984,52177,1015],{"class":990},[984,52179,15022],{"class":1003},[984,52181,1021],{"class":990},[984,52183,52184,52186,52188,52190],{"class":986,"line":1217},[984,52185,28845],{"class":996},[984,52187,1015],{"class":990},[984,52189,2431],{"class":996},[984,52191,1021],{"class":990},[984,52193,52194,52196,52198,52200],{"class":986,"line":1229},[984,52195,28856],{"class":996},[984,52197,1738],{"class":990},[984,52199,15045],{"class":1003},[984,52201,1021],{"class":990},[984,52203,52204,52206,52208,52210],{"class":986,"line":1241},[984,52205,29072],{"class":996},[984,52207,1015],{"class":990},[984,52209,1171],{"class":996},[984,52211,1021],{"class":990},[984,52213,52214,52216,52218,52220],{"class":986,"line":1254},[984,52215,29083],{"class":996},[984,52217,1015],{"class":990},[984,52219,15068],{"class":1003},[984,52221,1021],{"class":990},[984,52223,52224,52226,52228,52230],{"class":986,"line":1266},[984,52225,29094],{"class":996},[984,52227,1738],{"class":990},[984,52229,15080],{"class":1003},[984,52231,1021],{"class":990},[984,52233,52234,52236,52238,52240],{"class":986,"line":1279},[984,52235,29105],{"class":996},[984,52237,1015],{"class":990},[984,52239,1539],{"class":996},[984,52241,1021],{"class":990},[984,52243,52244,52246,52248,52250],{"class":986,"line":1291},[984,52245,29116],{"class":996},[984,52247,1738],{"class":990},[984,52249,15101],{"class":996},[984,52251,1021],{"class":990},[984,52253,52254,52256,52258,52260],{"class":986,"line":1304},[984,52255,29127],{"class":996},[984,52257,1738],{"class":990},[984,52259,5089],{"class":996},[984,52261,1021],{"class":990},[984,52263,52264,52266],{"class":986,"line":1316},[984,52265,40663],{"class":996},[984,52267,6628],{"class":990},[984,52269,52270,52272,52274,52276],{"class":986,"line":1327},[984,52271,29138],{"class":996},[984,52273,1015],{"class":990},[984,52275,15124],{"class":1003},[984,52277,1021],{"class":990},[984,52279,52280,52282,52284,52286],{"class":986,"line":1333},[984,52281,29149],{"class":996},[984,52283,1015],{"class":990},[984,52285,13182],{"class":1003},[984,52287,1021],{"class":990},[984,52289,52290,52292,52294],{"class":986,"line":1338},[984,52291,29160],{"class":996},[984,52293,1015],{"class":990},[984,52295,15147],{"class":1003},[984,52297,52298],{"class":986,"line":1355},[984,52299,28865],{"class":990},[984,52301,52302],{"class":986,"line":1367},[984,52303,28870],{"class":990},[984,52305,52306],{"class":986,"line":1379},[984,52307,1607],{"class":990},[984,52309,52310],{"class":986,"line":1390},[984,52311,1038],{"class":990},[89,52313,52314,52322],{},[54,52315,52316,441,52318,28242,52320,28246],{},[150,52317,2657],{},[150,52319,26967],{},[18,52321,26914],{"href":28245},[54,52323,52324,29196,52326,28685],{},[150,52325,29195],{},[18,52327,12303],{"href":12302},[43,52329,29326],{"id":29326},[11,52331,40730],{},[11,52333,52334],{},[150,52335,1043],{},[866,52337,52338],{"className":978,"code":40737,"language":980,"meta":760,"style":760},[150,52339,52340,52344,52354,52364,52370,52380,52390,52394],{"__ignoreMap":760},[984,52341,52342],{"class":986,"line":987},[984,52343,991],{"class":990},[984,52345,52346,52348,52350,52352],{"class":986,"line":761},[984,52347,1057],{"class":996},[984,52349,1015],{"class":990},[984,52351,40752],{"class":1003},[984,52353,1021],{"class":990},[984,52355,52356,52358,52360,52362],{"class":986,"line":772},[984,52357,1069],{"class":996},[984,52359,1015],{"class":990},[984,52361,1004],{"class":1003},[984,52363,1021],{"class":990},[984,52365,52366,52368],{"class":986,"line":1024},[984,52367,1080],{"class":996},[984,52369,1083],{"class":990},[984,52371,52372,52374,52376,52378],{"class":986,"line":1035},[984,52373,40775],{"class":996},[984,52375,1015],{"class":990},[984,52377,2682],{"class":996},[984,52379,1021],{"class":990},[984,52381,52382,52384,52386,52388],{"class":986,"line":1098},[984,52383,40786],{"class":996},[984,52385,1015],{"class":990},[984,52387,5089],{"class":996},[984,52389,1021],{"class":990},[984,52391,52392],{"class":986,"line":1111},[984,52393,1459],{"class":990},[984,52395,52396],{"class":986,"line":1124},[984,52397,1038],{"class":990},[89,52399,52400,52406,52412],{},[54,52401,52402,40808,52404,40811],{},[150,52403,40807],{},[150,52405,2682],{},[54,52407,52408,557,52410,40819],{},[150,52409,40816],{},[150,52411,2682],{},[54,52413,52414,40825],{},[150,52415,40824],{},[26,52417,29479],{"id":29479},[11,52419,40830],{},[11,52421,52422],{},[150,52423,975],{},[866,52425,52426],{"className":978,"code":40837,"language":980,"meta":760,"style":760},[150,52427,52428,52432,52442,52452,52462,52468,52472,52482,52490,52494],{"__ignoreMap":760},[984,52429,52430],{"class":986,"line":987},[984,52431,991],{"class":990},[984,52433,52434,52436,52438,52440],{"class":986,"line":761},[984,52435,997],{"class":996},[984,52437,1000],{"class":990},[984,52439,1004],{"class":1003},[984,52441,1007],{"class":990},[984,52443,52444,52446,52448,52450],{"class":986,"line":772},[984,52445,1012],{"class":996},[984,52447,1015],{"class":990},[984,52449,1345],{"class":996},[984,52451,1021],{"class":990},[984,52453,52454,52456,52458,52460],{"class":986,"line":1024},[984,52455,1027],{"class":996},[984,52457,1015],{"class":990},[984,52459,40872],{"class":1003},[984,52461,1007],{"class":990},[984,52463,52464,52466],{"class":986,"line":1035},[984,52465,1521],{"class":996},[984,52467,1524],{"class":990},[984,52469,52470],{"class":986,"line":1098},[984,52471,1529],{"class":990},[984,52473,52474,52476,52478,52480],{"class":986,"line":1111},[984,52475,40889],{"class":996},[984,52477,1738],{"class":990},[984,52479,40894],{"class":1003},[984,52481,1021],{"class":990},[984,52483,52484,52486,52488],{"class":986,"line":1124},[984,52485,40901],{"class":996},[984,52487,1015],{"class":990},[984,52489,40906],{"class":1003},[984,52491,52492],{"class":986,"line":1137},[984,52493,1607],{"class":990},[984,52495,52496],{"class":986,"line":1150},[984,52497,1038],{"class":990},[89,52499,52500,52504],{},[54,52501,52502,40921],{},[150,52503,11992],{},[54,52505,52506,40927],{},[150,52507,40926],{},[11,52509,52510],{},[150,52511,1043],{},[866,52513,52514],{"className":978,"code":40934,"language":980,"meta":760,"style":760},[150,52515,52516,52520,52530,52540,52546,52550,52558,52562],{"__ignoreMap":760},[984,52517,52518],{"class":986,"line":987},[984,52519,991],{"class":990},[984,52521,52522,52524,52526,52528],{"class":986,"line":761},[984,52523,997],{"class":996},[984,52525,1000],{"class":990},[984,52527,1004],{"class":1003},[984,52529,1007],{"class":990},[984,52531,52532,52534,52536,52538],{"class":986,"line":772},[984,52533,1012],{"class":996},[984,52535,1015],{"class":990},[984,52537,1345],{"class":996},[984,52539,1021],{"class":990},[984,52541,52542,52544],{"class":986,"line":1024},[984,52543,1724],{"class":996},[984,52545,5895],{"class":990},[984,52547,52548],{"class":986,"line":1035},[984,52549,1529],{"class":990},[984,52551,52552,52554,52556],{"class":986,"line":1098},[984,52553,40975],{"class":996},[984,52555,1738],{"class":990},[984,52557,40980],{"class":1003},[984,52559,52560],{"class":986,"line":1111},[984,52561,1607],{"class":990},[984,52563,52564],{"class":986,"line":1124},[984,52565,1038],{"class":990},[89,52567,52568],{},[54,52569,52570,40996],{},[150,52571,40995],{},[26,52573,29487],{"id":29487},[11,52575,41001],{},[11,52577,52578],{},[150,52579,975],{},[866,52581,52582],{"className":978,"code":41008,"language":980,"meta":760,"style":760},[150,52583,52584,52588,52598,52608,52618,52624,52628,52638,52648,52656,52660],{"__ignoreMap":760},[984,52585,52586],{"class":986,"line":987},[984,52587,991],{"class":990},[984,52589,52590,52592,52594,52596],{"class":986,"line":761},[984,52591,997],{"class":996},[984,52593,1000],{"class":990},[984,52595,1004],{"class":1003},[984,52597,1007],{"class":990},[984,52599,52600,52602,52604,52606],{"class":986,"line":772},[984,52601,1012],{"class":996},[984,52603,1015],{"class":990},[984,52605,1345],{"class":996},[984,52607,1021],{"class":990},[984,52609,52610,52612,52614,52616],{"class":986,"line":1024},[984,52611,1027],{"class":996},[984,52613,1015],{"class":990},[984,52615,41043],{"class":1003},[984,52617,1007],{"class":990},[984,52619,52620,52622],{"class":986,"line":1035},[984,52621,1521],{"class":996},[984,52623,1524],{"class":990},[984,52625,52626],{"class":986,"line":1098},[984,52627,1529],{"class":990},[984,52629,52630,52632,52634,52636],{"class":986,"line":1111},[984,52631,40889],{"class":996},[984,52633,1738],{"class":990},[984,52635,40894],{"class":1003},[984,52637,1021],{"class":990},[984,52639,52640,52642,52644,52646],{"class":986,"line":1124},[984,52641,41070],{"class":996},[984,52643,1015],{"class":990},[984,52645,41075],{"class":1003},[984,52647,1021],{"class":990},[984,52649,52650,52652,52654],{"class":986,"line":1137},[984,52651,40975],{"class":996},[984,52653,1015],{"class":990},[984,52655,40980],{"class":1003},[984,52657,52658],{"class":986,"line":1150},[984,52659,1607],{"class":990},[984,52661,52662],{"class":986,"line":1163},[984,52663,1038],{"class":990},[89,52665,52666,52670,52674],{},[54,52667,52668,40921],{},[150,52669,11992],{},[54,52671,52672,41105],{},[150,52673,41104],{},[54,52675,52676,41110],{},[150,52677,40995],{},[11,52679,52680],{},[150,52681,1043],{},[866,52683,52684],{"className":978,"code":41117,"language":980,"meta":760,"style":760},[150,52685,52686,52690,52700,52710,52718],{"__ignoreMap":760},[984,52687,52688],{"class":986,"line":987},[984,52689,991],{"class":990},[984,52691,52692,52694,52696,52698],{"class":986,"line":761},[984,52693,997],{"class":996},[984,52695,1000],{"class":990},[984,52697,1004],{"class":1003},[984,52699,1007],{"class":990},[984,52701,52702,52704,52706,52708],{"class":986,"line":772},[984,52703,1012],{"class":996},[984,52705,1015],{"class":990},[984,52707,1345],{"class":996},[984,52709,1021],{"class":990},[984,52711,52712,52714,52716],{"class":986,"line":1024},[984,52713,1724],{"class":996},[984,52715,1738],{"class":990},[984,52717,2497],{"class":996},[984,52719,52720],{"class":986,"line":1035},[984,52721,1038],{"class":990},[26,52723,41247],{"id":41247},[11,52725,52726],{},"Derives per-seed, per-app (if called from DApp), per-tag unique ID for DApps use.",[11,52728,52729],{},[150,52730,975],{},[866,52732,52734],{"className":978,"code":52733,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"method\": \"derive_id\", \n    \"params\":\n    {\n        \"tag\" : \"anything\",\n    }\n}\n",[150,52735,52736,52740,52750,52760,52771,52777,52781,52793,52797],{"__ignoreMap":760},[984,52737,52738],{"class":986,"line":987},[984,52739,991],{"class":990},[984,52741,52742,52744,52746,52748],{"class":986,"line":761},[984,52743,997],{"class":996},[984,52745,1000],{"class":990},[984,52747,1004],{"class":1003},[984,52749,1007],{"class":990},[984,52751,52752,52754,52756,52758],{"class":986,"line":772},[984,52753,1012],{"class":996},[984,52755,1015],{"class":990},[984,52757,1345],{"class":996},[984,52759,1021],{"class":990},[984,52761,52762,52764,52766,52769],{"class":986,"line":1024},[984,52763,1027],{"class":996},[984,52765,1015],{"class":990},[984,52767,52768],{"class":1003},"\"derive_id\"",[984,52770,1007],{"class":990},[984,52772,52773,52775],{"class":986,"line":1035},[984,52774,1521],{"class":996},[984,52776,1524],{"class":990},[984,52778,52779],{"class":986,"line":1098},[984,52780,1529],{"class":990},[984,52782,52783,52786,52788,52791],{"class":986,"line":1111},[984,52784,52785],{"class":996},"        \"tag\"",[984,52787,1738],{"class":990},[984,52789,52790],{"class":1003},"\"anything\"",[984,52792,1021],{"class":990},[984,52794,52795],{"class":986,"line":1124},[984,52796,1607],{"class":990},[984,52798,52799],{"class":986,"line":1137},[984,52800,1038],{"class":990},[89,52802,52803],{},[54,52804,52805,52808],{},[150,52806,52807],{},"tag"," arbitrary string, cannot be empty. Every dapp would have different ID even with the same tag.",[11,52810,52811],{},[150,52812,1043],{},[866,52814,52816],{"className":978,"code":52815,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 1,\n    \"result\" : {\n       \"hash\": \"bd1109eb4499d4c420c66d7b827f10ec3b6171a58f22c6c2f6168fdc58db595c01\"\n    }\n}\n",[150,52817,52818,52822,52832,52842,52849,52859,52863],{"__ignoreMap":760},[984,52819,52820],{"class":986,"line":987},[984,52821,991],{"class":990},[984,52823,52824,52826,52828,52830],{"class":986,"line":761},[984,52825,997],{"class":996},[984,52827,1000],{"class":990},[984,52829,1004],{"class":1003},[984,52831,1007],{"class":990},[984,52833,52834,52836,52838,52840],{"class":986,"line":772},[984,52835,1012],{"class":996},[984,52837,1015],{"class":990},[984,52839,1345],{"class":996},[984,52841,1021],{"class":990},[984,52843,52844,52846],{"class":986,"line":1024},[984,52845,1724],{"class":996},[984,52847,52848],{"class":990}," : {\n",[984,52850,52851,52854,52856],{"class":986,"line":1035},[984,52852,52853],{"class":996},"       \"hash\"",[984,52855,1015],{"class":990},[984,52857,52858],{"class":1003},"\"bd1109eb4499d4c420c66d7b827f10ec3b6171a58f22c6c2f6168fdc58db595c01\"\n",[984,52860,52861],{"class":986,"line":1098},[984,52862,1607],{"class":990},[984,52864,52865],{"class":986,"line":1111},[984,52866,1038],{"class":990},[2685,52868,8046],{},{"title":760,"searchDepth":761,"depth":761,"links":52870},[52871,52874,52875,52880,52881,52882,52883,52884,52887,52888,52889,52890,52891,52892,52893,52894,52895,52896,52897,52902,52903,52904,52905,52906,52907,52908,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,52923,52924,52925,52926,52927,52928,52929,52930,52931,52932],{"id":41236,"depth":761,"text":41237,"children":52872},[52873],{"id":19475,"depth":772,"text":19476},{"id":12086,"depth":761,"text":12087},{"id":12229,"depth":761,"text":12230,"children":52876},[52877,52878,52879],{"id":29572,"depth":772,"text":29573},{"id":29754,"depth":772,"text":29755},{"id":29808,"depth":772,"text":29809},{"id":26880,"depth":761,"text":29821},{"id":18489,"depth":761,"text":18490},{"id":6196,"depth":761,"text":6196},{"id":5854,"depth":761,"text":5854},{"id":12265,"depth":761,"text":12265,"children":52885},[52886],{"id":13237,"depth":772,"text":2757},{"id":12249,"depth":761,"text":12249},{"id":12257,"depth":761,"text":12257},{"id":888,"depth":761,"text":888},{"id":893,"depth":761,"text":893},{"id":903,"depth":761,"text":903},{"id":908,"depth":761,"text":908},{"id":913,"depth":761,"text":913},{"id":12316,"depth":761,"text":12316},{"id":12324,"depth":761,"text":12324},{"id":12303,"depth":761,"text":12303},{"id":12337,"depth":761,"text":12337,"children":52898},[52899,52900,52901],{"id":15966,"depth":772,"text":15967},{"id":15970,"depth":772,"text":15971},{"id":16051,"depth":772,"text":16052},{"id":883,"depth":761,"text":883},{"id":12024,"depth":761,"text":12024},{"id":918,"depth":761,"text":918},{"id":12350,"depth":761,"text":12350},{"id":12358,"depth":761,"text":12358},{"id":12366,"depth":761,"text":12366},{"id":12395,"depth":761,"text":12395,"children":52909},[52910,52911,52912],{"id":18496,"depth":772,"text":18497},{"id":18503,"depth":772,"text":18504},{"id":25761,"depth":772,"text":25762},{"id":12406,"depth":761,"text":12406},{"id":923,"depth":761,"text":923},{"id":12416,"depth":761,"text":12416},{"id":19484,"depth":761,"text":19484},{"id":29419,"depth":761,"text":29419},{"id":29429,"depth":761,"text":29429},{"id":29439,"depth":761,"text":29439},{"id":29449,"depth":761,"text":29449},{"id":29459,"depth":761,"text":29459},{"id":29469,"depth":761,"text":29469},{"id":19492,"depth":761,"text":19492},{"id":19563,"depth":761,"text":19563},{"id":19571,"depth":761,"text":19571},{"id":19579,"depth":761,"text":19579},{"id":19587,"depth":761,"text":19587},{"id":19593,"depth":761,"text":19593},{"id":19599,"depth":761,"text":19599},{"id":29479,"depth":761,"text":29479},{"id":29487,"depth":761,"text":29487},{"id":41247,"depth":761,"text":41247},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.1",{"description":760},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.1","c69zdNhpmurqYi-UazkzENtbePBbWYQRBM1jlF2OS-0",{"id":52939,"title":52940,"body":52941,"description":760,"extension":775,"image":776,"meta":65648,"navTitle":776,"navigation":778,"path":65649,"seo":65650,"stem":65651,"__hash__":65652},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.2.md","Beam Wallet Protocol API V72",{"type":8,"value":52942,"toc":65579},[52943,52947,52949,52955,52981,52983,52985,53037,53039,53041,53225,53227,53277,53281,53290,53294,53302,53320,53322,53328,53368,53422,53424,53426,53428,53430,53434,53528,53613,53635,53639,53679,53681,53685,53689,53753,53757,53841,53855,53857,53859,53863,53927,53937,53941,54105,54145,54147,54155,54157,54159,54163,54227,54231,54271,54273,54281,54285,54369,54373,54413,54415,54417,54421,54545,54593,54599,54603,54657,54661,54663,54665,54669,54673,54769,54773,54827,54849,54851,54855,54859,54863,54937,54959,54965,54969,55023,55027,55029,55033,55037,55041,55115,55137,55143,55147,55201,55205,55207,55211,55215,55219,55283,55297,55299,55303,55357,55361,55363,55365,55369,55433,55439,55443,55483,55489,55491,55493,55497,55561,55567,55571,55611,55617,55619,55623,55627,55701,55715,55719,55943,55945,55947,55951,56069,56095,56099,56107,56111,56757,56863,56865,56867,56917,56919,56939,56943,56945,56947,56951,56991,56995,57141,57171,57175,57179,57239,57245,57249,57993,58085,58095,58111,58113,58115,58119,58223,58243,58247,58381,58393,58397,58477,58481,58619,58655,58657,58661,58665,58729,58739,58743,58955,58959,59018,59020,59022,59026,59066,59070,59110,59112,59116,59120,59184,59188,59242,59250,59254,59256,59260,59264,59328,59332,59436,59462,59466,59468,59470,59472,59476,59558,59560,59564,59638,59664,59670,59674,59808,59824,59826,59828,59830,59836,59840,59910,59914,59980,59982,59988,60002,60004,60006,60010,60080,60088,60092,60142,60148,60150,60154,60158,60252,60256,60360,60362,60402,60404,60406,60410,60474,60480,60484,60638,60684,60686,60688,60692,60732,60736,60866,60879,60881,60883,60887,60979,60997,61001,61065,61075,61077,61079,61083,61165,61175,61179,61233,61239,61241,61243,61247,61321,61331,61335,61409,61419,61421,61425,61429,61503,61513,61517,61571,61577,61579,61583,61587,61651,61657,61661,61715,61721,61723,61725,61729,61793,61799,61803,61857,61863,61865,61867,61871,61981,61985,62025,62033,62035,62037,62043,62045,62049,62199,62215,62219,62369,62375,62379,62719,62733,62735,62737,62741,62871,62873,62875,62879,63203,63217,63219,63223,63225,63229,63325,63341,63343,63347,63593,63609,63611,63615,63619,63787,63803,63805,63807,63811,64075,64091,64093,64095,64099,64161,64179,64181,64183,64187,64261,64271,64275,64329,64335,64337,64339,64343,64427,64441,64445,64485,64487,64489,64493,64559,64565,64569,64619,64621,64624,64628,64670,64674,64946,64948,64951,64955,65073,65077,65232,65234,65237,65241,65305,65309,65350,65352,65355,65359,65422,65426,65577],[26,52944,52946],{"id":52945},"whats-new-in-v72","What's new in v7.2",[716,52948,19476],{"id":19475},[11,52950,52951,52952],{},"If you build wallet-api with BEAM_ASSET_SWAP_SUPPORT then you can use additional ",[984,52953,52954],{},"ASSET SWAP API methods",[89,52956,52957,52963,52969,52975],{},[54,52958,52959],{},[18,52960,52962],{"href":52961},"#assets_swap_offers_list","assets_swap_offers_list",[54,52964,52965],{},[18,52966,52968],{"href":52967},"#assets_swap_create","assets_swap_create",[54,52970,52971],{},[18,52972,52974],{"href":52973},"#assets_swap_cancel","assets_swap_cancel",[54,52976,52977],{},[18,52978,52980],{"href":52979},"#assets_swap_accept","assets_swap_accept",[26,52982,12087],{"id":12086},[11,52984,12090],{},[89,52986,52987,52989,52991,52993,52995,52997,52999,53001,53003,53005,53007,53009,53011,53013,53015,53017,53019,53021,53023,53025,53027,53029,53031,53033,53035],{},[54,52988,12095],{},[54,52990,12098],{},[54,52992,12101],{},[54,52994,12104],{},[54,52996,12107],{},[54,52998,12110],{},[54,53000,12113],{},[54,53002,19624],{},[54,53004,12178],{},[54,53006,12181],{},[54,53008,12184],{},[54,53010,12187],{},[54,53012,12190],{},[54,53014,12193],{},[54,53016,12196],{},[54,53018,12199],{},[54,53020,12202],{},[54,53022,12205],{},[54,53024,12208],{},[54,53026,12211],{},[54,53028,12214],{},[54,53030,12217],{},[54,53032,12220],{},[54,53034,12223],{},[54,53036,12226],{},[26,53038,12230],{"id":12229},[716,53040,29573],{"id":29572},[89,53042,53043,53049,53055,53061,53067,53073,53079,53083,53087,53093,53099,53103,53109,53115,53119,53125,53131,53137,53143,53149,53155,53159,53165,53173,53181,53189,53195,53201,53207,53213,53219],{},[54,53044,53045,2679,53047],{},[18,53046,6196],{"href":12240},[2707,53048],{"alt":760,"src":12243},[54,53050,53051,2679,53053],{},[18,53052,12249],{"href":12248},[2707,53054],{"alt":760,"src":12243},[54,53056,53057,2679,53059],{},[18,53058,12257],{"href":12256},[2707,53060],{"alt":760,"src":12243},[54,53062,53063,2679,53065],{},[18,53064,12265],{"href":12264},[2707,53066],{"alt":760,"src":12243},[54,53068,53069,2679,53071],{},[18,53070,5854],{"href":12272},[2707,53072],{"alt":760,"src":12243},[54,53074,53075,2679,53077],{},[18,53076,888],{"href":12279},[2707,53078],{"alt":760,"src":12243},[54,53080,53081],{},[18,53082,903],{"href":12286},[54,53084,53085],{},[18,53086,908],{"href":12291},[54,53088,53089,2679,53091],{},[18,53090,913],{"href":2036},[2707,53092],{"alt":760,"src":12243},[54,53094,53095,2679,53097],{},[18,53096,12303],{"href":12302},[2707,53098],{"alt":760,"src":12243},[54,53100,53101],{},[18,53102,893],{"href":12310},[54,53104,53105,2679,53107],{},[18,53106,12316],{"href":12315},[2707,53108],{"alt":760,"src":12243},[54,53110,53111,2679,53113],{},[18,53112,12324],{"href":12323},[2707,53114],{"alt":760,"src":12243},[54,53116,53117],{},[18,53118,12024],{"href":12331},[54,53120,53121,2679,53123],{},[18,53122,12337],{"href":12336},[2707,53124],{"alt":760,"src":12243},[54,53126,53127,2679,53129],{},[18,53128,883],{"href":12344},[2707,53130],{"alt":760,"src":12243},[54,53132,53133,2679,53135],{},[18,53134,12350],{"href":12349},[2707,53136],{"alt":760,"src":12243},[54,53138,53139,2679,53141],{},[18,53140,12358],{"href":12357},[2707,53142],{"alt":760,"src":12243},[54,53144,53145,2679,53147],{},[18,53146,12366],{"href":12365},[2707,53148],{"alt":760,"src":12243},[54,53150,53151,2679,53153],{},[18,53152,918],{"href":12373},[2707,53154],{"alt":760,"src":12243},[54,53156,53157],{},[18,53158,12381],{"href":12380},[54,53160,53161,2679,53163],{},[18,53162,12387],{"href":12386},[2707,53164],{"alt":760,"src":12243},[54,53166,53167,2679,53169,53171],{},[18,53168,12395],{"href":12394},[2707,53170],{"alt":760,"src":12243},[2707,53172],{"alt":760,"src":19795},[54,53174,53175,2679,53177,53179],{},[18,53176,12406],{"href":12405},[2707,53178],{"alt":760,"src":12243},[2707,53180],{"alt":760,"src":19795},[54,53182,53183,2679,53185,53187],{},[18,53184,12416],{"href":12415},[2707,53186],{"alt":760,"src":12243},[2707,53188],{"alt":760,"src":19795},[54,53190,53191,2679,53193],{},[18,53192,923],{"href":12425},[2707,53194],{"alt":760,"src":12243},[54,53196,53197,2679,53199],{},[18,53198,19484],{"href":19483},[2707,53200],{"alt":760,"src":12243},[54,53202,53203,2679,53205],{},[18,53204,19492],{"href":19491},[2707,53206],{"alt":760,"src":12243},[54,53208,53209,2679,53211],{},[18,53210,29479],{"href":29478},[2707,53212],{"alt":760,"src":12243},[54,53214,53215,2679,53217],{},[18,53216,29487],{"href":29486},[2707,53218],{"alt":760,"src":12243},[54,53220,53221,2679,53223],{},[18,53222,41247],{"href":41246},[2707,53224],{"alt":760,"src":12243},[716,53226,29755],{"id":29754},[89,53228,53229,53237,53245,53253,53261,53269],{},[54,53230,53231,2679,53233,53235],{},[18,53232,29419],{"href":29418},[2707,53234],{"alt":760,"src":12243},[2707,53236],{"alt":760,"src":19795},[54,53238,53239,2679,53241,53243],{},[18,53240,29429],{"href":29428},[2707,53242],{"alt":760,"src":12243},[2707,53244],{"alt":760,"src":19795},[54,53246,53247,2679,53249,53251],{},[18,53248,29439],{"href":29438},[2707,53250],{"alt":760,"src":12243},[2707,53252],{"alt":760,"src":19795},[54,53254,53255,2679,53257,53259],{},[18,53256,29449],{"href":29448},[2707,53258],{"alt":760,"src":12243},[2707,53260],{"alt":760,"src":19795},[54,53262,53263,2679,53265,53267],{},[18,53264,29459],{"href":29458},[2707,53266],{"alt":760,"src":12243},[2707,53268],{"alt":760,"src":19795},[54,53270,53271,2679,53273,53275],{},[18,53272,29469],{"href":29468},[2707,53274],{"alt":760,"src":12243},[2707,53276],{"alt":760,"src":19795},[716,53278,53280],{"id":53279},"atomic-swap-methods","ATOMIC SWAP methods",[11,53282,12434,53283,12437,53285,12441,53287,385],{},[150,53284,863],{},[150,53286,12440],{},[18,53288,12446],{"href":12444,"rel":53289},[22],[716,53291,53293],{"id":53292},"asset-swap-methods","ASSET SWAP methods",[11,53295,53296,53298,53299,53301],{},[150,53297,863],{}," must be started with ",[150,53300,948],{}," key",[89,53303,53304,53308,53312,53316],{},[54,53305,53306],{},[18,53307,52962],{"href":52961},[54,53309,53310],{},[18,53311,52968],{"href":52967},[54,53313,53314],{},[18,53315,52974],{"href":52973},[54,53317,53318],{},[18,53319,52980],{"href":52979},[26,53321,29821],{"id":26880},[11,53323,29824,53324,29827,53326,26921],{},[18,53325,19492],{"href":19491},[150,53327,26920],{},[89,53329,53330,53360,53366],{},[54,53331,53332,26928,53334],{},[150,53333,2657],{},[89,53335,53336,53342,53348,53354],{},[54,53337,53338,441,53340,26938],{},[150,53339,1171],{},[150,53341,26937],{},[54,53343,53344,441,53346,26946],{},[150,53345,1345],{},[150,53347,26945],{},[54,53349,53350,441,53352,26954],{},[150,53351,1503],{},[150,53353,26953],{},[54,53355,53356,441,53358,26962],{},[150,53357,5131],{},[150,53359,26961],{},[54,53361,53362,26968,53364,26971],{},[150,53363,29866],{},[150,53365,2657],{},[54,53367,26974],{},[89,53369,53370,53378,53386,53394,53400,53406,53414],{},[54,53371,53372,2679,53374,53376],{},[18,53373,19563],{"href":19562},[2707,53375],{"alt":760,"src":12243},[2707,53377],{"alt":760,"src":19795},[54,53379,53380,2679,53382,53384],{},[18,53381,19571],{"href":19570},[2707,53383],{"alt":760,"src":12243},[2707,53385],{"alt":760,"src":19795},[54,53387,53388,2679,53390,53392],{},[18,53389,19579],{"href":19578},[2707,53391],{"alt":760,"src":12243},[2707,53393],{"alt":760,"src":19795},[54,53395,53396,2679,53398],{},[18,53397,19587],{"href":19586},[2707,53399],{"alt":760,"src":19795},[54,53401,53402,2679,53404],{},[18,53403,19593],{"href":19592},[2707,53405],{"alt":760,"src":19795},[54,53407,53408,2679,53410,53412],{},[18,53409,19599],{"href":19598},[2707,53411],{"alt":760,"src":12243},[2707,53413],{"alt":760,"src":19795},[54,53415,53416,2679,53418,53420],{},[18,53417,29326],{"href":29325},[2707,53419],{"alt":760,"src":12243},[2707,53421],{"alt":760,"src":19795},[26,53423,18490],{"id":18489},[11,53425,29929],{},[26,53427,6196],{"id":6196},[11,53429,12451],{},[11,53431,53432],{},[150,53433,975],{},[866,53435,53436],{"className":978,"code":12458,"language":980,"meta":760,"style":760},[150,53437,53438,53442,53452,53462,53472,53478,53482,53492,53502,53512,53520,53524],{"__ignoreMap":760},[984,53439,53440],{"class":986,"line":987},[984,53441,991],{"class":990},[984,53443,53444,53446,53448,53450],{"class":986,"line":761},[984,53445,997],{"class":996},[984,53447,1015],{"class":990},[984,53449,1004],{"class":1003},[984,53451,1007],{"class":990},[984,53453,53454,53456,53458,53460],{"class":986,"line":772},[984,53455,1012],{"class":996},[984,53457,1015],{"class":990},[984,53459,1345],{"class":996},[984,53461,1021],{"class":990},[984,53463,53464,53466,53468,53470],{"class":986,"line":1024},[984,53465,1027],{"class":996},[984,53467,1015],{"class":990},[984,53469,6239],{"class":1003},[984,53471,1007],{"class":990},[984,53473,53474,53476],{"class":986,"line":1035},[984,53475,1521],{"class":996},[984,53477,1524],{"class":990},[984,53479,53480],{"class":986,"line":1098},[984,53481,1529],{"class":990},[984,53483,53484,53486,53488,53490],{"class":986,"line":1111},[984,53485,5926],{"class":996},[984,53487,1015],{"class":990},[984,53489,6305],{"class":1003},[984,53491,1021],{"class":990},[984,53493,53494,53496,53498,53500],{"class":986,"line":1124},[984,53495,6270],{"class":996},[984,53497,1015],{"class":990},[984,53499,6275],{"class":1003},[984,53501,1021],{"class":990},[984,53503,53504,53506,53508,53510],{"class":986,"line":1137},[984,53505,1580],{"class":996},[984,53507,1015],{"class":990},[984,53509,12533],{"class":1003},[984,53511,1021],{"class":990},[984,53513,53514,53516,53518],{"class":986,"line":1150},[984,53515,12540],{"class":996},[984,53517,1738],{"class":990},[984,53519,2497],{"class":996},[984,53521,53522],{"class":986,"line":1163},[984,53523,1607],{"class":990},[984,53525,53526],{"class":986,"line":1176},[984,53527,1038],{"class":990},[89,53529,53530,53565,53585,53589,53603],{},[54,53531,53532,5965,53534,53556,12588,53558,12594,53561,12597,53563],{},[150,53533,5964],{},[89,53535,53536,53540,53544,53548,53552],{},[54,53537,53538,12565],{},[150,53539,5804],{},[54,53541,53542,12570],{},[150,53543,5811],{},[54,53545,53546,12575],{},[150,53547,5991],{},[54,53549,53550,12580],{},[150,53551,6002],{},[54,53553,53554,12585],{},[150,53555,6012],{},[957,53557],{},[18,53559,12593],{"href":12591,"rel":53560},[22],[150,53562,5811],{},[150,53564,12600],{},[54,53566,53567,53569,53579,12622,53581,12626,53583,12629],{},[150,53568,12605],{},[89,53570,53571,53575],{},[54,53572,12610,53573,385],{},[150,53574,12613],{},[54,53576,12616,53577,385],{},[150,53578,12619],{},[957,53580],{},[150,53582,12625],{},[150,53584,12625],{},[54,53586,53587,12635],{},[150,53588,12634],{},[54,53590,53591,12641,53593,12644,53595,12647,53597,12651,53599,12655,53601,385],{},[150,53592,12640],{},[150,53594,2682],{},[150,53596,5804],{},[150,53598,12650],{},[150,53600,12654],{},[150,53602,12658],{},[54,53604,53605,12664,53607,12667,53609,12670,53611,385],{},[150,53606,12663],{},[150,53608,5811],{},[150,53610,1345],{},[150,53612,12673],{},[11,53614,12676,53615,12680,53617,12683,53619,12686,53621,12689,53623,441,53625,163,53627,12696,53629,4665,53631,4665,53633,12703],{},[150,53616,12679],{},[18,53618,9803],{"href":12279},[150,53620,6317],{},[150,53622,863],{},[150,53624,5811],{},[150,53626,5991],{},[150,53628,6002],{},[150,53630,5811],{},[150,53632,5991],{},[150,53634,6002],{},[11,53636,53637],{},[150,53638,1043],{},[866,53640,53641],{"className":978,"code":12710,"language":980,"meta":760,"style":760},[150,53642,53643,53647,53657,53667,53675],{"__ignoreMap":760},[984,53644,53645],{"class":986,"line":987},[984,53646,991],{"class":990},[984,53648,53649,53651,53653,53655],{"class":986,"line":761},[984,53650,997],{"class":996},[984,53652,1738],{"class":990},[984,53654,1004],{"class":1003},[984,53656,1007],{"class":990},[984,53658,53659,53661,53663,53665],{"class":986,"line":772},[984,53660,1012],{"class":996},[984,53662,1738],{"class":990},[984,53664,1345],{"class":996},[984,53666,1021],{"class":990},[984,53668,53669,53671,53673],{"class":986,"line":1024},[984,53670,1724],{"class":996},[984,53672,1738],{"class":990},[984,53674,12745],{"class":1003},[984,53676,53677],{"class":986,"line":1035},[984,53678,1038],{"class":990},[26,53680,5854],{"id":5854},[11,53682,12754,53683,12758],{},[150,53684,12757],{},[11,53686,53687],{},[150,53688,975],{},[866,53690,53691],{"className":978,"code":12765,"language":980,"meta":760,"style":760},[150,53692,53693,53697,53707,53717,53727,53733,53737,53745,53749],{"__ignoreMap":760},[984,53694,53695],{"class":986,"line":987},[984,53696,991],{"class":990},[984,53698,53699,53701,53703,53705],{"class":986,"line":761},[984,53700,997],{"class":996},[984,53702,1000],{"class":990},[984,53704,1004],{"class":1003},[984,53706,1007],{"class":990},[984,53708,53709,53711,53713,53715],{"class":986,"line":772},[984,53710,1012],{"class":996},[984,53712,1015],{"class":990},[984,53714,1345],{"class":996},[984,53716,1021],{"class":990},[984,53718,53719,53721,53723,53725],{"class":986,"line":1024},[984,53720,1027],{"class":996},[984,53722,1015],{"class":990},[984,53724,12800],{"class":1003},[984,53726,1007],{"class":990},[984,53728,53729,53731],{"class":986,"line":1035},[984,53730,1521],{"class":996},[984,53732,1524],{"class":990},[984,53734,53735],{"class":986,"line":1098},[984,53736,1529],{"class":990},[984,53738,53739,53741,53743],{"class":986,"line":1111},[984,53740,1569],{"class":996},[984,53742,1738],{"class":990},[984,53744,12745],{"class":1003},[984,53746,53747],{"class":986,"line":1124},[984,53748,1607],{"class":990},[984,53750,53751],{"class":986,"line":1137},[984,53752,1038],{"class":990},[11,53754,53755],{},[150,53756,1043],{},[866,53758,53759],{"className":978,"code":12835,"language":980,"meta":760,"style":760},[150,53760,53761,53765,53775,53785,53791,53795,53805,53815,53825,53833,53837],{"__ignoreMap":760},[984,53762,53763],{"class":986,"line":987},[984,53764,991],{"class":990},[984,53766,53767,53769,53771,53773],{"class":986,"line":761},[984,53768,997],{"class":996},[984,53770,1000],{"class":990},[984,53772,1004],{"class":1003},[984,53774,1007],{"class":990},[984,53776,53777,53779,53781,53783],{"class":986,"line":772},[984,53778,1012],{"class":996},[984,53780,1015],{"class":990},[984,53782,1345],{"class":996},[984,53784,1021],{"class":990},[984,53786,53787,53789],{"class":986,"line":1024},[984,53788,1724],{"class":996},[984,53790,5895],{"class":990},[984,53792,53793],{"class":986,"line":1035},[984,53794,1529],{"class":990},[984,53796,53797,53799,53801,53803],{"class":986,"line":1098},[984,53798,5904],{"class":996},[984,53800,1738],{"class":990},[984,53802,2682],{"class":996},[984,53804,1021],{"class":990},[984,53806,53807,53809,53811,53813],{"class":986,"line":1111},[984,53808,5915],{"class":996},[984,53810,1738],{"class":990},[984,53812,5089],{"class":996},[984,53814,1021],{"class":990},[984,53816,53817,53819,53821,53823],{"class":986,"line":1124},[984,53818,5926],{"class":996},[984,53820,1015],{"class":990},[984,53822,5931],{"class":1003},[984,53824,1007],{"class":990},[984,53826,53827,53829,53831],{"class":986,"line":1137},[984,53828,5942],{"class":996},[984,53830,1015],{"class":990},[984,53832,12910],{"class":996},[984,53834,53835],{"class":986,"line":1150},[984,53836,1607],{"class":990},[984,53838,53839],{"class":986,"line":1163},[984,53840,1038],{"class":990},[89,53842,53843,53849],{},[54,53844,53845,12925,53847,12928],{},[150,53846,5964],{},[18,53848,6196],{"href":12240},[54,53850,53851,12933,53853,6024],{},[150,53852,6020],{},[150,53854,5811],{},[26,53856,12265],{"id":12265},[11,53858,12940],{},[11,53860,53861],{},[150,53862,975],{},[866,53864,53865],{"className":978,"code":12947,"language":980,"meta":760,"style":760},[150,53866,53867,53871,53881,53891,53901,53907,53911,53919,53923],{"__ignoreMap":760},[984,53868,53869],{"class":986,"line":987},[984,53870,991],{"class":990},[984,53872,53873,53875,53877,53879],{"class":986,"line":761},[984,53874,997],{"class":996},[984,53876,1000],{"class":990},[984,53878,1004],{"class":1003},[984,53880,1007],{"class":990},[984,53882,53883,53885,53887,53889],{"class":986,"line":772},[984,53884,1012],{"class":996},[984,53886,1015],{"class":990},[984,53888,12972],{"class":996},[984,53890,1021],{"class":990},[984,53892,53893,53895,53897,53899],{"class":986,"line":1024},[984,53894,1027],{"class":996},[984,53896,1000],{"class":990},[984,53898,12983],{"class":1003},[984,53900,1021],{"class":990},[984,53902,53903,53905],{"class":986,"line":1035},[984,53904,1521],{"class":996},[984,53906,1524],{"class":990},[984,53908,53909],{"class":986,"line":1098},[984,53910,1529],{"class":990},[984,53912,53913,53915,53917],{"class":986,"line":1111},[984,53914,13000],{"class":996},[984,53916,1738],{"class":990},[984,53918,2497],{"class":996},[984,53920,53921],{"class":986,"line":1124},[984,53922,1607],{"class":990},[984,53924,53925],{"class":986,"line":1137},[984,53926,1038],{"class":990},[89,53928,53929],{},[54,53930,53931,13020,53933,13023,53935,13026],{},[150,53932,13019],{},[150,53934,2682],{},[150,53936,5089],{},[11,53938,53939],{},[150,53940,1043],{},[866,53942,53943],{"className":978,"code":13033,"language":980,"meta":760,"style":760},[150,53944,53945,53949,53959,53969,53975,53979,53989,53999,54009,54019,54029,54039,54049,54059,54069,54079,54089,54097,54101],{"__ignoreMap":760},[984,53946,53947],{"class":986,"line":987},[984,53948,991],{"class":990},[984,53950,53951,53953,53955,53957],{"class":986,"line":761},[984,53952,1012],{"class":996},[984,53954,1015],{"class":990},[984,53956,12972],{"class":996},[984,53958,1021],{"class":990},[984,53960,53961,53963,53965,53967],{"class":986,"line":772},[984,53962,997],{"class":996},[984,53964,1015],{"class":990},[984,53966,1004],{"class":1003},[984,53968,1021],{"class":990},[984,53970,53971,53973],{"class":986,"line":1024},[984,53972,1724],{"class":996},[984,53974,1524],{"class":990},[984,53976,53977],{"class":986,"line":1035},[984,53978,13070],{"class":990},[984,53980,53981,53983,53985,53987],{"class":986,"line":1098},[984,53982,1569],{"class":996},[984,53984,1015],{"class":990},[984,53986,13079],{"class":1003},[984,53988,1021],{"class":990},[984,53990,53991,53993,53995,53997],{"class":986,"line":1111},[984,53992,13086],{"class":996},[984,53994,1015],{"class":990},[984,53996,13091],{"class":1003},[984,53998,1021],{"class":990},[984,54000,54001,54003,54005,54007],{"class":986,"line":1124},[984,54002,13098],{"class":996},[984,54004,1015],{"class":990},[984,54006,13103],{"class":996},[984,54008,1021],{"class":990},[984,54010,54011,54013,54015,54017],{"class":986,"line":1137},[984,54012,13110],{"class":996},[984,54014,1015],{"class":990},[984,54016,13115],{"class":996},[984,54018,1021],{"class":990},[984,54020,54021,54023,54025,54027],{"class":986,"line":1150},[984,54022,13122],{"class":996},[984,54024,1015],{"class":990},[984,54026,2682],{"class":996},[984,54028,1021],{"class":990},[984,54030,54031,54033,54035,54037],{"class":986,"line":1163},[984,54032,1580],{"class":996},[984,54034,1015],{"class":990},[984,54036,13091],{"class":1003},[984,54038,1021],{"class":990},[984,54040,54041,54043,54045,54047],{"class":986,"line":1176},[984,54042,13000],{"class":996},[984,54044,1015],{"class":990},[984,54046,2682],{"class":996},[984,54048,1021],{"class":990},[984,54050,54051,54053,54055,54057],{"class":986,"line":1189},[984,54052,13153],{"class":996},[984,54054,1015],{"class":990},[984,54056,13158],{"class":996},[984,54058,1021],{"class":990},[984,54060,54061,54063,54065,54067],{"class":986,"line":1202},[984,54062,13165],{"class":996},[984,54064,1015],{"class":990},[984,54066,13170],{"class":1003},[984,54068,1021],{"class":990},[984,54070,54071,54073,54075,54077],{"class":986,"line":1211},[984,54072,13177],{"class":996},[984,54074,1015],{"class":990},[984,54076,13182],{"class":1003},[984,54078,1021],{"class":990},[984,54080,54081,54083,54085,54087],{"class":986,"line":1217},[984,54082,5926],{"class":996},[984,54084,1015],{"class":990},[984,54086,6305],{"class":1003},[984,54088,1021],{"class":990},[984,54090,54091,54093,54095],{"class":986,"line":1229},[984,54092,13199],{"class":996},[984,54094,1015],{"class":990},[984,54096,13204],{"class":1003},[984,54098,54099],{"class":986,"line":1241},[984,54100,13209],{"class":990},[984,54102,54103],{"class":986,"line":1254},[984,54104,1038],{"class":990},[89,54106,54107,54111,54115,54119,54123,54129],{},[54,54108,54109,13220],{},[150,54110,12679],{},[54,54112,54113,13226],{},[150,54114,13225],{},[54,54116,54117,13232],{},[150,54118,13231],{},[54,54120,54121,20538],{},[150,54122,13237],{},[54,54124,54125,13243,54127,13246],{},[150,54126,5964],{},[18,54128,6196],{"href":12240},[54,54130,54131,13252,54133,13255,54135,13258,54137,13261,54139,441,54141,163,54143,6030],{},[150,54132,13251],{},[150,54134,5991],{},[150,54136,13251],{},[150,54138,5991],{},[150,54140,5804],{},[150,54142,6012],{},[150,54144,5811],{},[716,54146,2757],{"id":13237},[11,54148,13272,54149,20567,54151,13278,54153,13282],{},[150,54150,13237],{},[150,54152,13237],{},[58,54154,13281],{},[26,54156,12249],{"id":12249},[11,54158,13287],{},[11,54160,54161],{},[150,54162,975],{},[866,54164,54165],{"className":978,"code":13294,"language":980,"meta":760,"style":760},[150,54166,54167,54171,54181,54191,54201,54207,54211,54219,54223],{"__ignoreMap":760},[984,54168,54169],{"class":986,"line":987},[984,54170,991],{"class":990},[984,54172,54173,54175,54177,54179],{"class":986,"line":761},[984,54174,997],{"class":996},[984,54176,1000],{"class":990},[984,54178,1004],{"class":1003},[984,54180,1007],{"class":990},[984,54182,54183,54185,54187,54189],{"class":986,"line":772},[984,54184,1012],{"class":996},[984,54186,1015],{"class":990},[984,54188,12972],{"class":996},[984,54190,1021],{"class":990},[984,54192,54193,54195,54197,54199],{"class":986,"line":1024},[984,54194,1027],{"class":996},[984,54196,1000],{"class":990},[984,54198,13329],{"class":1003},[984,54200,1021],{"class":990},[984,54202,54203,54205],{"class":986,"line":1035},[984,54204,1521],{"class":996},[984,54206,1524],{"class":990},[984,54208,54209],{"class":986,"line":1098},[984,54210,1529],{"class":990},[984,54212,54213,54215,54217],{"class":986,"line":1111},[984,54214,1569],{"class":996},[984,54216,1738],{"class":990},[984,54218,13204],{"class":1003},[984,54220,54221],{"class":986,"line":1124},[984,54222,1607],{"class":990},[984,54224,54225],{"class":986,"line":1137},[984,54226,1038],{"class":990},[11,54228,54229],{},[150,54230,1043],{},[866,54232,54233],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,54234,54235,54239,54249,54259,54267],{"__ignoreMap":760},[984,54236,54237],{"class":986,"line":987},[984,54238,991],{"class":990},[984,54240,54241,54243,54245,54247],{"class":986,"line":761},[984,54242,1012],{"class":996},[984,54244,1015],{"class":990},[984,54246,12972],{"class":996},[984,54248,1021],{"class":990},[984,54250,54251,54253,54255,54257],{"class":986,"line":772},[984,54252,997],{"class":996},[984,54254,1015],{"class":990},[984,54256,1004],{"class":1003},[984,54258,1021],{"class":990},[984,54260,54261,54263,54265],{"class":986,"line":1024},[984,54262,1724],{"class":996},[984,54264,1015],{"class":990},[984,54266,13399],{"class":1003},[984,54268,54269],{"class":986,"line":1035},[984,54270,1038],{"class":990},[26,54272,12257],{"id":12257},[11,54274,13408,54275,13411,54277,13414,54279,13417],{},[150,54276,12634],{},[150,54278,12605],{},[18,54280,6196],{"href":12240},[11,54282,54283],{},[150,54284,975],{},[866,54286,54287],{"className":978,"code":13424,"language":980,"meta":760,"style":760},[150,54288,54289,54293,54303,54313,54323,54329,54333,54343,54353,54361,54365],{"__ignoreMap":760},[984,54290,54291],{"class":986,"line":987},[984,54292,991],{"class":990},[984,54294,54295,54297,54299,54301],{"class":986,"line":761},[984,54296,997],{"class":996},[984,54298,1000],{"class":990},[984,54300,1004],{"class":1003},[984,54302,1007],{"class":990},[984,54304,54305,54307,54309,54311],{"class":986,"line":772},[984,54306,1012],{"class":996},[984,54308,1015],{"class":990},[984,54310,12972],{"class":996},[984,54312,1021],{"class":990},[984,54314,54315,54317,54319,54321],{"class":986,"line":1024},[984,54316,1027],{"class":996},[984,54318,1000],{"class":990},[984,54320,13459],{"class":1003},[984,54322,1021],{"class":990},[984,54324,54325,54327],{"class":986,"line":1035},[984,54326,1521],{"class":996},[984,54328,1524],{"class":990},[984,54330,54331],{"class":986,"line":1098},[984,54332,1529],{"class":990},[984,54334,54335,54337,54339,54341],{"class":986,"line":1111},[984,54336,1569],{"class":996},[984,54338,1738],{"class":990},[984,54340,13079],{"class":1003},[984,54342,1021],{"class":990},[984,54344,54345,54347,54349,54351],{"class":986,"line":1124},[984,54346,1580],{"class":996},[984,54348,1738],{"class":990},[984,54350,12533],{"class":1003},[984,54352,1021],{"class":990},[984,54354,54355,54357,54359],{"class":986,"line":1137},[984,54356,6270],{"class":996},[984,54358,1738],{"class":990},[984,54360,13500],{"class":1003},[984,54362,54363],{"class":986,"line":1150},[984,54364,1607],{"class":990},[984,54366,54367],{"class":986,"line":1163},[984,54368,1038],{"class":990},[11,54370,54371],{},[150,54372,1043],{},[866,54374,54375],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,54376,54377,54381,54391,54401,54409],{"__ignoreMap":760},[984,54378,54379],{"class":986,"line":987},[984,54380,991],{"class":990},[984,54382,54383,54385,54387,54389],{"class":986,"line":761},[984,54384,1012],{"class":996},[984,54386,1015],{"class":990},[984,54388,12972],{"class":996},[984,54390,1021],{"class":990},[984,54392,54393,54395,54397,54399],{"class":986,"line":772},[984,54394,997],{"class":996},[984,54396,1015],{"class":990},[984,54398,1004],{"class":1003},[984,54400,1021],{"class":990},[984,54402,54403,54405,54407],{"class":986,"line":1024},[984,54404,1724],{"class":996},[984,54406,1015],{"class":990},[984,54408,13399],{"class":1003},[984,54410,54411],{"class":986,"line":1035},[984,54412,1038],{"class":990},[26,54414,888],{"id":888},[11,54416,13557],{},[11,54418,54419],{},[150,54420,975],{},[866,54422,54423],{"className":978,"code":13564,"language":980,"meta":760,"style":760},[150,54424,54425,54429,54439,54449,54459,54465,54469,54479,54489,54499,54509,54519,54529,54537,54541],{"__ignoreMap":760},[984,54426,54427],{"class":986,"line":987},[984,54428,991],{"class":990},[984,54430,54431,54433,54435,54437],{"class":986,"line":761},[984,54432,997],{"class":996},[984,54434,1000],{"class":990},[984,54436,1004],{"class":1003},[984,54438,1007],{"class":990},[984,54440,54441,54443,54445,54447],{"class":986,"line":772},[984,54442,1012],{"class":996},[984,54444,1015],{"class":990},[984,54446,1503],{"class":996},[984,54448,1021],{"class":990},[984,54450,54451,54453,54455,54457],{"class":986,"line":1024},[984,54452,1027],{"class":996},[984,54454,1000],{"class":990},[984,54456,1514],{"class":1003},[984,54458,1007],{"class":990},[984,54460,54461,54463],{"class":986,"line":1035},[984,54462,1521],{"class":996},[984,54464,1524],{"class":990},[984,54466,54467],{"class":986,"line":1098},[984,54468,1529],{"class":990},[984,54470,54471,54473,54475,54477],{"class":986,"line":1111},[984,54472,1534],{"class":996},[984,54474,1015],{"class":990},[984,54476,1539],{"class":996},[984,54478,1021],{"class":990},[984,54480,54481,54483,54485,54487],{"class":986,"line":1124},[984,54482,1546],{"class":996},[984,54484,1015],{"class":990},[984,54486,1503],{"class":996},[984,54488,1021],{"class":990},[984,54490,54491,54493,54495,54497],{"class":986,"line":1137},[984,54492,1557],{"class":996},[984,54494,1015],{"class":990},[984,54496,1562],{"class":1003},[984,54498,1021],{"class":990},[984,54500,54501,54503,54505,54507],{"class":986,"line":1150},[984,54502,1569],{"class":996},[984,54504,1015],{"class":990},[984,54506,1562],{"class":1003},[984,54508,1021],{"class":990},[984,54510,54511,54513,54515,54517],{"class":986,"line":1163},[984,54512,1580],{"class":996},[984,54514,1015],{"class":990},[984,54516,1585],{"class":1003},[984,54518,1021],{"class":990},[984,54520,54521,54523,54525,54527],{"class":986,"line":1176},[984,54522,1220],{"class":996},[984,54524,1015],{"class":990},[984,54526,1345],{"class":996},[984,54528,1021],{"class":990},[984,54530,54531,54533,54535],{"class":986,"line":1189},[984,54532,6160],{"class":996},[984,54534,1015],{"class":990},[984,54536,13679],{"class":996},[984,54538,54539],{"class":986,"line":1202},[984,54540,1607],{"class":990},[984,54542,54543],{"class":986,"line":1211},[984,54544,1038],{"class":990},[89,54546,54547,54551,54555,54559,54569,54573,54577,54585],{},[54,54548,54549,13694],{},[150,54550,2133],{},[54,54552,54553,13699],{},[150,54554,2139],{},[54,54556,54557,13705],{},[150,54558,13704],{},[54,54560,54561,13710,54563,13713,54565,163,54567,385],{},[150,54562,12679],{},[58,54564,5776],{},[150,54566,12679],{},[150,54568,13237],{},[54,54570,54571,13722],{},[150,54572,12634],{},[54,54574,54575,13727],{},[150,54576,2150],{},[54,54578,54579,13732,54581,13735,54583,13738],{},[150,54580,848],{},[150,54582,848],{},[150,54584,948],{},[54,54586,54587,13743,54589,13747,54591,13750],{},[150,54588,5811],{},[150,54590,13746],{},[150,54592,5811],{},[11,54594,13753,54595,13756,54597,13760],{},[150,54596,8355],{},[150,54598,13759],{},[11,54600,54601],{},[150,54602,1043],{},[866,54604,54605],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,54606,54607,54611,54621,54631,54637,54641,54649,54653],{"__ignoreMap":760},[984,54608,54609],{"class":986,"line":987},[984,54610,991],{"class":990},[984,54612,54613,54615,54617,54619],{"class":986,"line":761},[984,54614,997],{"class":996},[984,54616,1000],{"class":990},[984,54618,1004],{"class":1003},[984,54620,1007],{"class":990},[984,54622,54623,54625,54627,54629],{"class":986,"line":772},[984,54624,1012],{"class":996},[984,54626,1015],{"class":990},[984,54628,1503],{"class":996},[984,54630,1021],{"class":990},[984,54632,54633,54635],{"class":986,"line":1024},[984,54634,1724],{"class":996},[984,54636,1524],{"class":990},[984,54638,54639],{"class":986,"line":1035},[984,54640,1529],{"class":990},[984,54642,54643,54645,54647],{"class":986,"line":1098},[984,54644,1735],{"class":996},[984,54646,1738],{"class":990},[984,54648,1741],{"class":1003},[984,54650,54651],{"class":986,"line":1111},[984,54652,1607],{"class":990},[984,54654,54655],{"class":986,"line":1124},[984,54656,1038],{"class":990},[11,54658,2213,54659,385],{},[18,54660,1977],{"href":13823},[26,54662,893],{"id":893},[11,54664,13828],{},[11,54666,13831,54667,13835],{},[150,54668,13834],{},[11,54670,54671],{},[150,54672,975],{},[866,54674,54675],{"className":978,"code":13842,"language":980,"meta":760,"style":760},[150,54676,54677,54681,54691,54701,54711,54717,54721,54743,54753,54761,54765],{"__ignoreMap":760},[984,54678,54679],{"class":986,"line":987},[984,54680,991],{"class":990},[984,54682,54683,54685,54687,54689],{"class":986,"line":761},[984,54684,997],{"class":996},[984,54686,1000],{"class":990},[984,54688,1004],{"class":1003},[984,54690,1007],{"class":990},[984,54692,54693,54695,54697,54699],{"class":986,"line":772},[984,54694,1012],{"class":996},[984,54696,1015],{"class":990},[984,54698,8099],{"class":996},[984,54700,1021],{"class":990},[984,54702,54703,54705,54707,54709],{"class":986,"line":1024},[984,54704,1027],{"class":996},[984,54706,1000],{"class":990},[984,54708,13877],{"class":1003},[984,54710,1007],{"class":990},[984,54712,54713,54715],{"class":986,"line":1035},[984,54714,1521],{"class":996},[984,54716,1524],{"class":990},[984,54718,54719],{"class":986,"line":1098},[984,54720,1529],{"class":990},[984,54722,54723,54725,54727,54729,54731,54733,54735,54737,54739,54741],{"class":986,"line":1111},[984,54724,13894],{"class":996},[984,54726,13897],{"class":990},[984,54728,13900],{"class":996},[984,54730,441],{"class":990},[984,54732,2558],{"class":996},[984,54734,441],{"class":990},[984,54736,13909],{"class":996},[984,54738,441],{"class":990},[984,54740,13914],{"class":996},[984,54742,13917],{"class":990},[984,54744,54745,54747,54749,54751],{"class":986,"line":1124},[984,54746,1546],{"class":996},[984,54748,1738],{"class":990},[984,54750,4979],{"class":996},[984,54752,1021],{"class":990},[984,54754,54755,54757,54759],{"class":986,"line":1137},[984,54756,1220],{"class":996},[984,54758,1015],{"class":990},[984,54760,1678],{"class":996},[984,54762,54763],{"class":986,"line":1150},[984,54764,1607],{"class":990},[984,54766,54767],{"class":986,"line":1163},[984,54768,1038],{"class":990},[11,54770,54771],{},[150,54772,1043],{},[866,54774,54775],{"className":978,"code":13950,"language":980,"meta":760,"style":760},[150,54776,54777,54781,54791,54801,54807,54811,54819,54823],{"__ignoreMap":760},[984,54778,54779],{"class":986,"line":987},[984,54780,991],{"class":990},[984,54782,54783,54785,54787,54789],{"class":986,"line":761},[984,54784,997],{"class":996},[984,54786,1000],{"class":990},[984,54788,1004],{"class":1003},[984,54790,1007],{"class":990},[984,54792,54793,54795,54797,54799],{"class":986,"line":772},[984,54794,1012],{"class":996},[984,54796,1015],{"class":990},[984,54798,8099],{"class":996},[984,54800,1021],{"class":990},[984,54802,54803,54805],{"class":986,"line":1024},[984,54804,1724],{"class":996},[984,54806,1524],{"class":990},[984,54808,54809],{"class":986,"line":1035},[984,54810,1529],{"class":990},[984,54812,54813,54815,54817],{"class":986,"line":1098},[984,54814,1735],{"class":996},[984,54816,1738],{"class":990},[984,54818,1741],{"class":1003},[984,54820,54821],{"class":986,"line":1111},[984,54822,1607],{"class":990},[984,54824,54825],{"class":986,"line":1124},[984,54826,1038],{"class":990},[89,54828,54829,54833,54837,54841],{},[54,54830,54831,14009],{},[150,54832,2139],{},[54,54834,54835,14014],{},[150,54836,8355],{},[54,54838,54839,14019],{},[150,54840,2150],{},[54,54842,54843,14024,54845,13735,54847,13738],{},[150,54844,848],{},[150,54846,848],{},[150,54848,948],{},[26,54850,903],{"id":903},[11,54852,14033,54853,13738],{},[150,54854,948],{},[11,54856,14038,54857,2046],{},[18,54858,913],{"href":2036},[11,54860,54861],{},[150,54862,975],{},[866,54864,54865],{"className":978,"code":2053,"language":980,"meta":760,"style":760},[150,54866,54867,54871,54881,54891,54901,54907,54911,54921,54929,54933],{"__ignoreMap":760},[984,54868,54869],{"class":986,"line":987},[984,54870,991],{"class":990},[984,54872,54873,54875,54877,54879],{"class":986,"line":761},[984,54874,997],{"class":996},[984,54876,1015],{"class":990},[984,54878,1004],{"class":1003},[984,54880,1007],{"class":990},[984,54882,54883,54885,54887,54889],{"class":986,"line":772},[984,54884,1012],{"class":996},[984,54886,1015],{"class":990},[984,54888,1503],{"class":996},[984,54890,1021],{"class":990},[984,54892,54893,54895,54897,54899],{"class":986,"line":1024},[984,54894,1027],{"class":996},[984,54896,1015],{"class":990},[984,54898,2088],{"class":1003},[984,54900,1007],{"class":990},[984,54902,54903,54905],{"class":986,"line":1035},[984,54904,1521],{"class":996},[984,54906,1524],{"class":990},[984,54908,54909],{"class":986,"line":1098},[984,54910,1529],{"class":990},[984,54912,54913,54915,54917,54919],{"class":986,"line":1111},[984,54914,1534],{"class":996},[984,54916,1015],{"class":990},[984,54918,1018],{"class":996},[984,54920,1021],{"class":990},[984,54922,54923,54925,54927],{"class":986,"line":1124},[984,54924,1220],{"class":996},[984,54926,1015],{"class":990},[984,54928,1678],{"class":996},[984,54930,54931],{"class":986,"line":1137},[984,54932,1607],{"class":990},[984,54934,54935],{"class":986,"line":1150},[984,54936,1038],{"class":990},[89,54938,54939,54943,54947,54951,54955],{},[54,54940,54941,2134],{},[150,54942,2133],{},[54,54944,54945,2140],{},[150,54946,2139],{},[54,54948,54949,2145],{},[150,54950,848],{},[54,54952,54953,2151],{},[150,54954,2150],{},[54,54956,54957,14142],{},[150,54958,14141],{},[11,54960,14145,54961,14148,54963],{},[150,54962,8355],{},[150,54964,13759],{},[11,54966,54967],{},[150,54968,1043],{},[866,54970,54971],{"className":978,"code":2158,"language":980,"meta":760,"style":760},[150,54972,54973,54977,54987,54997,55003,55007,55015,55019],{"__ignoreMap":760},[984,54974,54975],{"class":986,"line":987},[984,54976,991],{"class":990},[984,54978,54979,54981,54983,54985],{"class":986,"line":761},[984,54980,997],{"class":996},[984,54982,1015],{"class":990},[984,54984,1004],{"class":1003},[984,54986,1007],{"class":990},[984,54988,54989,54991,54993,54995],{"class":986,"line":772},[984,54990,1012],{"class":996},[984,54992,1015],{"class":990},[984,54994,1503],{"class":996},[984,54996,1021],{"class":990},[984,54998,54999,55001],{"class":986,"line":1024},[984,55000,1724],{"class":996},[984,55002,1524],{"class":990},[984,55004,55005],{"class":986,"line":1035},[984,55006,1529],{"class":990},[984,55008,55009,55011,55013],{"class":986,"line":1098},[984,55010,1735],{"class":996},[984,55012,1738],{"class":990},[984,55014,1741],{"class":1003},[984,55016,55017],{"class":986,"line":1111},[984,55018,1607],{"class":990},[984,55020,55021],{"class":986,"line":1124},[984,55022,1038],{"class":990},[11,55024,2213,55025,385],{},[18,55026,1977],{"href":13823},[26,55028,908],{"id":908},[11,55030,14033,55031,13738],{},[150,55032,948],{},[11,55034,14221,55035,14224],{},[18,55036,913],{"href":2036},[11,55038,55039],{},[150,55040,975],{},[866,55042,55043],{"className":978,"code":2228,"language":980,"meta":760,"style":760},[150,55044,55045,55049,55059,55069,55079,55085,55089,55099,55107,55111],{"__ignoreMap":760},[984,55046,55047],{"class":986,"line":987},[984,55048,991],{"class":990},[984,55050,55051,55053,55055,55057],{"class":986,"line":761},[984,55052,997],{"class":996},[984,55054,1000],{"class":990},[984,55056,1004],{"class":1003},[984,55058,1007],{"class":990},[984,55060,55061,55063,55065,55067],{"class":986,"line":772},[984,55062,1012],{"class":996},[984,55064,1015],{"class":990},[984,55066,1503],{"class":996},[984,55068,1021],{"class":990},[984,55070,55071,55073,55075,55077],{"class":986,"line":1024},[984,55072,1027],{"class":996},[984,55074,1000],{"class":990},[984,55076,2263],{"class":1003},[984,55078,1007],{"class":990},[984,55080,55081,55083],{"class":986,"line":1035},[984,55082,1521],{"class":996},[984,55084,1524],{"class":990},[984,55086,55087],{"class":986,"line":1098},[984,55088,1529],{"class":990},[984,55090,55091,55093,55095,55097],{"class":986,"line":1111},[984,55092,1534],{"class":996},[984,55094,1015],{"class":990},[984,55096,1018],{"class":996},[984,55098,1021],{"class":990},[984,55100,55101,55103,55105],{"class":986,"line":1124},[984,55102,1220],{"class":996},[984,55104,1015],{"class":990},[984,55106,1678],{"class":996},[984,55108,55109],{"class":986,"line":1137},[984,55110,1607],{"class":990},[984,55112,55113],{"class":986,"line":1150},[984,55114,1038],{"class":990},[89,55116,55117,55121,55125,55129,55133],{},[54,55118,55119,2308],{},[150,55120,2133],{},[54,55122,55123,2313],{},[150,55124,2139],{},[54,55126,55127,2318],{},[150,55128,848],{},[54,55130,55131,2323],{},[150,55132,2150],{},[54,55134,55135,14325],{},[150,55136,14141],{},[11,55138,14328,55139,14148,55141,14333],{},[150,55140,8355],{},[150,55142,13759],{},[11,55144,55145],{},[150,55146,1043],{},[866,55148,55149],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,55150,55151,55155,55165,55175,55181,55185,55193,55197],{"__ignoreMap":760},[984,55152,55153],{"class":986,"line":987},[984,55154,991],{"class":990},[984,55156,55157,55159,55161,55163],{"class":986,"line":761},[984,55158,997],{"class":996},[984,55160,1000],{"class":990},[984,55162,1004],{"class":1003},[984,55164,1007],{"class":990},[984,55166,55167,55169,55171,55173],{"class":986,"line":772},[984,55168,1012],{"class":996},[984,55170,1015],{"class":990},[984,55172,1503],{"class":996},[984,55174,1021],{"class":990},[984,55176,55177,55179],{"class":986,"line":1024},[984,55178,1724],{"class":996},[984,55180,1524],{"class":990},[984,55182,55183],{"class":986,"line":1035},[984,55184,1529],{"class":990},[984,55186,55187,55189,55191],{"class":986,"line":1098},[984,55188,1735],{"class":996},[984,55190,1738],{"class":990},[984,55192,1741],{"class":1003},[984,55194,55195],{"class":986,"line":1111},[984,55196,1607],{"class":990},[984,55198,55199],{"class":986,"line":1124},[984,55200,1038],{"class":990},[11,55202,2213,55203,385],{},[18,55204,1977],{"href":13823},[26,55206,913],{"id":913},[11,55208,14033,55209,13738],{},[150,55210,948],{},[11,55212,14404,55213,14407],{},[18,55214,918],{"href":12373},[11,55216,55217],{},[150,55218,975],{},[866,55220,55221],{"className":978,"code":1621,"language":980,"meta":760,"style":760},[150,55222,55223,55227,55237,55247,55257,55263,55267,55275,55279],{"__ignoreMap":760},[984,55224,55225],{"class":986,"line":987},[984,55226,991],{"class":990},[984,55228,55229,55231,55233,55235],{"class":986,"line":761},[984,55230,997],{"class":996},[984,55232,1000],{"class":990},[984,55234,1004],{"class":1003},[984,55236,1007],{"class":990},[984,55238,55239,55241,55243,55245],{"class":986,"line":772},[984,55240,1012],{"class":996},[984,55242,1015],{"class":990},[984,55244,1503],{"class":996},[984,55246,1021],{"class":990},[984,55248,55249,55251,55253,55255],{"class":986,"line":1024},[984,55250,1027],{"class":996},[984,55252,1015],{"class":990},[984,55254,1656],{"class":1003},[984,55256,1021],{"class":990},[984,55258,55259,55261],{"class":986,"line":1035},[984,55260,1521],{"class":996},[984,55262,1665],{"class":990},[984,55264,55265],{"class":986,"line":1098},[984,55266,1529],{"class":990},[984,55268,55269,55271,55273],{"class":986,"line":1111},[984,55270,1220],{"class":996},[984,55272,1015],{"class":990},[984,55274,1678],{"class":996},[984,55276,55277],{"class":986,"line":1124},[984,55278,1607],{"class":990},[984,55280,55281],{"class":986,"line":1137},[984,55282,1038],{"class":990},[89,55284,55285,55289,55293],{},[54,55286,55287,1830],{},[150,55288,848],{},[54,55290,55291,2323],{},[150,55292,2150],{},[54,55294,55295,14325],{},[150,55296,14141],{},[11,55298,14492],{},[11,55300,55301],{},[150,55302,1043],{},[866,55304,55305],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,55306,55307,55311,55321,55331,55337,55341,55349,55353],{"__ignoreMap":760},[984,55308,55309],{"class":986,"line":987},[984,55310,991],{"class":990},[984,55312,55313,55315,55317,55319],{"class":986,"line":761},[984,55314,997],{"class":996},[984,55316,1000],{"class":990},[984,55318,1004],{"class":1003},[984,55320,1007],{"class":990},[984,55322,55323,55325,55327,55329],{"class":986,"line":772},[984,55324,1012],{"class":996},[984,55326,1015],{"class":990},[984,55328,1503],{"class":996},[984,55330,1021],{"class":990},[984,55332,55333,55335],{"class":986,"line":1024},[984,55334,1724],{"class":996},[984,55336,1524],{"class":990},[984,55338,55339],{"class":986,"line":1035},[984,55340,1529],{"class":990},[984,55342,55343,55345,55347],{"class":986,"line":1098},[984,55344,1735],{"class":996},[984,55346,1738],{"class":990},[984,55348,1741],{"class":1003},[984,55350,55351],{"class":986,"line":1111},[984,55352,1607],{"class":990},[984,55354,55355],{"class":986,"line":1124},[984,55356,1038],{"class":990},[11,55358,2213,55359,385],{},[18,55360,1977],{"href":13823},[26,55362,12316],{"id":12316},[11,55364,14559],{},[11,55366,55367],{},[150,55368,975],{},[866,55370,55371],{"className":978,"code":14566,"language":980,"meta":760,"style":760},[150,55372,55373,55377,55387,55397,55407,55413,55417,55425,55429],{"__ignoreMap":760},[984,55374,55375],{"class":986,"line":987},[984,55376,991],{"class":990},[984,55378,55379,55381,55383,55385],{"class":986,"line":761},[984,55380,997],{"class":996},[984,55382,1000],{"class":990},[984,55384,1004],{"class":1003},[984,55386,1007],{"class":990},[984,55388,55389,55391,55393,55395],{"class":986,"line":772},[984,55390,1012],{"class":996},[984,55392,1015],{"class":990},[984,55394,2431],{"class":996},[984,55396,1021],{"class":990},[984,55398,55399,55401,55403,55405],{"class":986,"line":1024},[984,55400,1027],{"class":996},[984,55402,1000],{"class":990},[984,55404,14601],{"class":1003},[984,55406,1007],{"class":990},[984,55408,55409,55411],{"class":986,"line":1035},[984,55410,1521],{"class":996},[984,55412,1524],{"class":990},[984,55414,55415],{"class":986,"line":1098},[984,55416,1529],{"class":990},[984,55418,55419,55421,55423],{"class":986,"line":1111},[984,55420,1735],{"class":996},[984,55422,1738],{"class":990},[984,55424,14622],{"class":1003},[984,55426,55427],{"class":986,"line":1124},[984,55428,1607],{"class":990},[984,55430,55431],{"class":986,"line":1137},[984,55432,1038],{"class":990},[89,55434,55435],{},[54,55436,55437,14637],{},[150,55438,2150],{},[11,55440,55441],{},[150,55442,1043],{},[866,55444,55445],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,55446,55447,55451,55461,55471,55479],{"__ignoreMap":760},[984,55448,55449],{"class":986,"line":987},[984,55450,991],{"class":990},[984,55452,55453,55455,55457,55459],{"class":986,"line":761},[984,55454,997],{"class":996},[984,55456,1000],{"class":990},[984,55458,1004],{"class":1003},[984,55460,1007],{"class":990},[984,55462,55463,55465,55467,55469],{"class":986,"line":772},[984,55464,1012],{"class":996},[984,55466,1015],{"class":990},[984,55468,2431],{"class":996},[984,55470,1021],{"class":990},[984,55472,55473,55475,55477],{"class":986,"line":1024},[984,55474,1724],{"class":996},[984,55476,1015],{"class":990},[984,55478,2497],{"class":996},[984,55480,55481],{"class":986,"line":1035},[984,55482,1038],{"class":990},[11,55484,14685,55485,14688,55487,14691],{},[150,55486,2682],{},[18,55488,1977],{"href":13823},[26,55490,12324],{"id":12324},[11,55492,14696],{},[11,55494,55495],{},[150,55496,975],{},[866,55498,55499],{"className":978,"code":14703,"language":980,"meta":760,"style":760},[150,55500,55501,55505,55515,55525,55535,55541,55545,55553,55557],{"__ignoreMap":760},[984,55502,55503],{"class":986,"line":987},[984,55504,991],{"class":990},[984,55506,55507,55509,55511,55513],{"class":986,"line":761},[984,55508,997],{"class":996},[984,55510,1000],{"class":990},[984,55512,1004],{"class":1003},[984,55514,1007],{"class":990},[984,55516,55517,55519,55521,55523],{"class":986,"line":772},[984,55518,1012],{"class":996},[984,55520,1015],{"class":990},[984,55522,2431],{"class":996},[984,55524,1021],{"class":990},[984,55526,55527,55529,55531,55533],{"class":986,"line":1024},[984,55528,1027],{"class":996},[984,55530,1000],{"class":990},[984,55532,14738],{"class":1003},[984,55534,1007],{"class":990},[984,55536,55537,55539],{"class":986,"line":1035},[984,55538,1521],{"class":996},[984,55540,1524],{"class":990},[984,55542,55543],{"class":986,"line":1098},[984,55544,1529],{"class":990},[984,55546,55547,55549,55551],{"class":986,"line":1111},[984,55548,1735],{"class":996},[984,55550,1738],{"class":990},[984,55552,14622],{"class":1003},[984,55554,55555],{"class":986,"line":1124},[984,55556,1607],{"class":990},[984,55558,55559],{"class":986,"line":1137},[984,55560,1038],{"class":990},[89,55562,55563],{},[54,55564,55565,14773],{},[150,55566,2150],{},[11,55568,55569],{},[150,55570,1043],{},[866,55572,55573],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,55574,55575,55579,55589,55599,55607],{"__ignoreMap":760},[984,55576,55577],{"class":986,"line":987},[984,55578,991],{"class":990},[984,55580,55581,55583,55585,55587],{"class":986,"line":761},[984,55582,997],{"class":996},[984,55584,1000],{"class":990},[984,55586,1004],{"class":1003},[984,55588,1007],{"class":990},[984,55590,55591,55593,55595,55597],{"class":986,"line":772},[984,55592,1012],{"class":996},[984,55594,1015],{"class":990},[984,55596,2431],{"class":996},[984,55598,1021],{"class":990},[984,55600,55601,55603,55605],{"class":986,"line":1024},[984,55602,1724],{"class":996},[984,55604,1015],{"class":990},[984,55606,2497],{"class":996},[984,55608,55609],{"class":986,"line":1035},[984,55610,1038],{"class":990},[11,55612,14685,55613,14822,55615,14691],{},[150,55614,2682],{},[18,55616,1977],{"href":13823},[26,55618,12303],{"id":12303},[11,55620,14829,55621,14832],{},[18,55622,12337],{"href":12336},[11,55624,55625],{},[150,55626,975],{},[866,55628,55629],{"className":978,"code":32133,"language":980,"meta":760,"style":760},[150,55630,55631,55635,55645,55655,55665,55671,55675,55685,55693,55697],{"__ignoreMap":760},[984,55632,55633],{"class":986,"line":987},[984,55634,991],{"class":990},[984,55636,55637,55639,55641,55643],{"class":986,"line":761},[984,55638,997],{"class":996},[984,55640,1000],{"class":990},[984,55642,1004],{"class":1003},[984,55644,1007],{"class":990},[984,55646,55647,55649,55651,55653],{"class":986,"line":772},[984,55648,1012],{"class":996},[984,55650,1015],{"class":990},[984,55652,2431],{"class":996},[984,55654,1021],{"class":990},[984,55656,55657,55659,55661,55663],{"class":986,"line":1024},[984,55658,1027],{"class":996},[984,55660,1000],{"class":990},[984,55662,14874],{"class":1003},[984,55664,1007],{"class":990},[984,55666,55667,55669],{"class":986,"line":1035},[984,55668,1521],{"class":996},[984,55670,1524],{"class":990},[984,55672,55673],{"class":986,"line":1098},[984,55674,1529],{"class":990},[984,55676,55677,55679,55681,55683],{"class":986,"line":1111},[984,55678,1735],{"class":996},[984,55680,1738],{"class":990},[984,55682,14895],{"class":1003},[984,55684,1021],{"class":990},[984,55686,55687,55689,55691],{"class":986,"line":1124},[984,55688,32194],{"class":996},[984,55690,1015],{"class":990},[984,55692,13679],{"class":996},[984,55694,55695],{"class":986,"line":1137},[984,55696,1607],{"class":990},[984,55698,55699],{"class":986,"line":1150},[984,55700,1038],{"class":990},[89,55702,55703,55707],{},[54,55704,55705,32213],{},[150,55706,2150],{},[54,55708,55709,32218,55711,32221,55713,385],{},[150,55710,29319],{},[150,55712,2682],{},[150,55714,5089],{},[11,55716,55717],{},[150,55718,1043],{},[866,55720,55721],{"className":978,"code":14912,"language":980,"meta":760,"style":760},[150,55722,55723,55727,55737,55747,55753,55757,55767,55777,55787,55797,55807,55817,55827,55837,55847,55857,55867,55877,55887,55897,55907,55917,55927,55935,55939],{"__ignoreMap":760},[984,55724,55725],{"class":986,"line":987},[984,55726,991],{"class":990},[984,55728,55729,55731,55733,55735],{"class":986,"line":761},[984,55730,997],{"class":996},[984,55732,1000],{"class":990},[984,55734,1004],{"class":1003},[984,55736,1007],{"class":990},[984,55738,55739,55741,55743,55745],{"class":986,"line":772},[984,55740,1012],{"class":996},[984,55742,1015],{"class":990},[984,55744,2431],{"class":996},[984,55746,1021],{"class":990},[984,55748,55749,55751],{"class":986,"line":1024},[984,55750,1724],{"class":996},[984,55752,1524],{"class":990},[984,55754,55755],{"class":986,"line":1035},[984,55756,14949],{"class":990},[984,55758,55759,55761,55763,55765],{"class":986,"line":1098},[984,55760,1735],{"class":996},[984,55762,1738],{"class":990},[984,55764,14895],{"class":1003},[984,55766,1021],{"class":990},[984,55768,55769,55771,55773,55775],{"class":986,"line":1111},[984,55770,1220],{"class":996},[984,55772,1015],{"class":990},[984,55774,1171],{"class":996},[984,55776,1021],{"class":990},[984,55778,55779,55781,55783,55785],{"class":986,"line":1124},[984,55780,1580],{"class":996},[984,55782,1015],{"class":990},[984,55784,13091],{"class":1003},[984,55786,1021],{"class":990},[984,55788,55789,55791,55793,55795],{"class":986,"line":1137},[984,55790,1546],{"class":996},[984,55792,1015],{"class":990},[984,55794,4979],{"class":996},[984,55796,1021],{"class":990},[984,55798,55799,55801,55803,55805],{"class":986,"line":1150},[984,55800,14994],{"class":996},[984,55802,1015],{"class":990},[984,55804,14999],{"class":1003},[984,55806,1021],{"class":990},[984,55808,55809,55811,55813,55815],{"class":986,"line":1163},[984,55810,15006],{"class":996},[984,55812,1015],{"class":990},[984,55814,1562],{"class":1003},[984,55816,1021],{"class":990},[984,55818,55819,55821,55823,55825],{"class":986,"line":1176},[984,55820,15017],{"class":996},[984,55822,1015],{"class":990},[984,55824,15022],{"class":1003},[984,55826,1021],{"class":990},[984,55828,55829,55831,55833,55835],{"class":986,"line":1189},[984,55830,15029],{"class":996},[984,55832,1015],{"class":990},[984,55834,2431],{"class":996},[984,55836,1021],{"class":990},[984,55838,55839,55841,55843,55845],{"class":986,"line":1202},[984,55840,15040],{"class":996},[984,55842,1738],{"class":990},[984,55844,15045],{"class":1003},[984,55846,1021],{"class":990},[984,55848,55849,55851,55853,55855],{"class":986,"line":1211},[984,55850,15052],{"class":996},[984,55852,1015],{"class":990},[984,55854,1171],{"class":996},[984,55856,1021],{"class":990},[984,55858,55859,55861,55863,55865],{"class":986,"line":1217},[984,55860,15063],{"class":996},[984,55862,1015],{"class":990},[984,55864,15068],{"class":1003},[984,55866,1021],{"class":990},[984,55868,55869,55871,55873,55875],{"class":986,"line":1229},[984,55870,15075],{"class":996},[984,55872,1738],{"class":990},[984,55874,15080],{"class":1003},[984,55876,1021],{"class":990},[984,55878,55879,55881,55883,55885],{"class":986,"line":1241},[984,55880,1534],{"class":996},[984,55882,1015],{"class":990},[984,55884,1539],{"class":996},[984,55886,1021],{"class":990},[984,55888,55889,55891,55893,55895],{"class":986,"line":1254},[984,55890,13098],{"class":996},[984,55892,1738],{"class":990},[984,55894,15101],{"class":996},[984,55896,1021],{"class":990},[984,55898,55899,55901,55903,55905],{"class":986,"line":1266},[984,55900,15108],{"class":996},[984,55902,1738],{"class":990},[984,55904,5089],{"class":996},[984,55906,1021],{"class":990},[984,55908,55909,55911,55913,55915],{"class":986,"line":1279},[984,55910,15119],{"class":996},[984,55912,1015],{"class":990},[984,55914,15124],{"class":1003},[984,55916,1021],{"class":990},[984,55918,55919,55921,55923,55925],{"class":986,"line":1291},[984,55920,15131],{"class":996},[984,55922,1015],{"class":990},[984,55924,13182],{"class":1003},[984,55926,1021],{"class":990},[984,55928,55929,55931,55933],{"class":986,"line":1304},[984,55930,15142],{"class":996},[984,55932,1015],{"class":990},[984,55934,15147],{"class":1003},[984,55936,55937],{"class":986,"line":1316},[984,55938,15152],{"class":990},[984,55940,55941],{"class":986,"line":1327},[984,55942,1038],{"class":990},[26,55944,12337],{"id":12337},[11,55946,15161],{},[11,55948,55949],{},[150,55950,975],{},[866,55952,55953],{"className":978,"code":32462,"language":980,"meta":760,"style":760},[150,55954,55955,55959,55969,55979,55989,55995,55999,56005,56009,56019,56029,56033,56043,56053,56061,56065],{"__ignoreMap":760},[984,55956,55957],{"class":986,"line":987},[984,55958,991],{"class":990},[984,55960,55961,55963,55965,55967],{"class":986,"line":761},[984,55962,997],{"class":996},[984,55964,1000],{"class":990},[984,55966,1004],{"class":1003},[984,55968,1007],{"class":990},[984,55970,55971,55973,55975,55977],{"class":986,"line":772},[984,55972,1012],{"class":996},[984,55974,1015],{"class":990},[984,55976,12972],{"class":996},[984,55978,1021],{"class":990},[984,55980,55981,55983,55985,55987],{"class":986,"line":1024},[984,55982,1027],{"class":996},[984,55984,1000],{"class":990},[984,55986,15203],{"class":1003},[984,55988,1021],{"class":990},[984,55990,55991,55993],{"class":986,"line":1035},[984,55992,1521],{"class":996},[984,55994,1524],{"class":990},[984,55996,55997],{"class":986,"line":1098},[984,55998,1529],{"class":990},[984,56000,56001,56003],{"class":986,"line":1111},[984,56002,15220],{"class":996},[984,56004,5895],{"class":990},[984,56006,56007],{"class":986,"line":1124},[984,56008,8410],{"class":990},[984,56010,56011,56013,56015,56017],{"class":986,"line":1137},[984,56012,15231],{"class":996},[984,56014,1000],{"class":990},[984,56016,2431],{"class":996},[984,56018,1021],{"class":990},[984,56020,56021,56023,56025,56027],{"class":986,"line":1150},[984,56022,15242],{"class":996},[984,56024,1000],{"class":990},[984,56026,15247],{"class":996},[984,56028,1021],{"class":990},[984,56030,56031],{"class":986,"line":1163},[984,56032,15254],{"class":990},[984,56034,56035,56037,56039,56041],{"class":986,"line":1176},[984,56036,32194],{"class":996},[984,56038,1015],{"class":990},[984,56040,2682],{"class":996},[984,56042,1021],{"class":990},[984,56044,56045,56047,56049,56051],{"class":986,"line":1189},[984,56046,15259],{"class":996},[984,56048,1738],{"class":990},[984,56050,1171],{"class":996},[984,56052,1021],{"class":990},[984,56054,56055,56057,56059],{"class":986,"line":1202},[984,56056,15270],{"class":996},[984,56058,1738],{"class":990},[984,56060,15275],{"class":996},[984,56062,56063],{"class":986,"line":1211},[984,56064,1607],{"class":990},[984,56066,56067],{"class":986,"line":1217},[984,56068,1038],{"class":990},[89,56070,56071,56075,56079,56083,56087],{},[54,56072,56073,15291],{},[150,56074,15290],{},[54,56076,56077,15297],{},[150,56078,15296],{},[54,56080,56081,15302],{},[150,56082,6846],{},[54,56084,56085,15308],{},[150,56086,15307],{},[54,56088,56089,32601,56091,32221,56093,385],{},[150,56090,29319],{},[150,56092,2682],{},[150,56094,5089],{},[11,56096,15311,56097,4316],{},[150,56098,948],{},[89,56100,56101],{},[54,56102,56103,15321,56105,15324],{},[150,56104,15320],{},[150,56106,15320],{},[11,56108,56109],{},[150,56110,1043],{},[866,56112,56113],{"className":978,"code":32624,"language":980,"meta":760,"style":760},[150,56114,56115,56119,56129,56139,56145,56149,56159,56169,56179,56189,56199,56209,56219,56229,56239,56249,56259,56269,56279,56289,56295,56299,56309,56319,56329,56337,56341,56345,56355,56365,56375,56383,56387,56391,56395,56399,56409,56419,56429,56439,56449,56459,56469,56479,56489,56499,56509,56519,56529,56539,56549,56559,56565,56569,56573,56583,56593,56603,56613,56623,56633,56643,56653,56663,56673,56683,56693,56703,56713,56723,56733,56743,56749,56753],{"__ignoreMap":760},[984,56116,56117],{"class":986,"line":987},[984,56118,991],{"class":990},[984,56120,56121,56123,56125,56127],{"class":986,"line":761},[984,56122,997],{"class":996},[984,56124,1000],{"class":990},[984,56126,1004],{"class":1003},[984,56128,1007],{"class":990},[984,56130,56131,56133,56135,56137],{"class":986,"line":772},[984,56132,1012],{"class":996},[984,56134,1015],{"class":990},[984,56136,12972],{"class":996},[984,56138,1021],{"class":990},[984,56140,56141,56143],{"class":986,"line":1024},[984,56142,1724],{"class":996},[984,56144,1524],{"class":990},[984,56146,56147],{"class":986,"line":1035},[984,56148,15368],{"class":990},[984,56150,56151,56153,56155,56157],{"class":986,"line":1098},[984,56152,1220],{"class":996},[984,56154,1015],{"class":990},[984,56156,1171],{"class":996},[984,56158,1021],{"class":990},[984,56160,56161,56163,56165,56167],{"class":986,"line":1111},[984,56162,1735],{"class":996},[984,56164,1738],{"class":990},[984,56166,14895],{"class":1003},[984,56168,1021],{"class":990},[984,56170,56171,56173,56175,56177],{"class":986,"line":1124},[984,56172,1580],{"class":996},[984,56174,1015],{"class":990},[984,56176,13091],{"class":1003},[984,56178,1021],{"class":990},[984,56180,56181,56183,56185,56187],{"class":986,"line":1137},[984,56182,1546],{"class":996},[984,56184,1015],{"class":990},[984,56186,1171],{"class":996},[984,56188,1021],{"class":990},[984,56190,56191,56193,56195,56197],{"class":986,"line":1150},[984,56192,14994],{"class":996},[984,56194,1015],{"class":990},[984,56196,14999],{"class":1003},[984,56198,1021],{"class":990},[984,56200,56201,56203,56205,56207],{"class":986,"line":1163},[984,56202,15006],{"class":996},[984,56204,1015],{"class":990},[984,56206,1562],{"class":1003},[984,56208,1021],{"class":990},[984,56210,56211,56213,56215,56217],{"class":986,"line":1176},[984,56212,15017],{"class":996},[984,56214,1015],{"class":990},[984,56216,15022],{"class":1003},[984,56218,1021],{"class":990},[984,56220,56221,56223,56225,56227],{"class":986,"line":1189},[984,56222,15029],{"class":996},[984,56224,1015],{"class":990},[984,56226,2431],{"class":996},[984,56228,1021],{"class":990},[984,56230,56231,56233,56235,56237],{"class":986,"line":1202},[984,56232,15040],{"class":996},[984,56234,1738],{"class":990},[984,56236,15045],{"class":1003},[984,56238,1021],{"class":990},[984,56240,56241,56243,56245,56247],{"class":986,"line":1211},[984,56242,15075],{"class":996},[984,56244,1738],{"class":990},[984,56246,15080],{"class":1003},[984,56248,1021],{"class":990},[984,56250,56251,56253,56255,56257],{"class":986,"line":1217},[984,56252,1534],{"class":996},[984,56254,1015],{"class":990},[984,56256,1539],{"class":996},[984,56258,1021],{"class":990},[984,56260,56261,56263,56265,56267],{"class":986,"line":1229},[984,56262,13098],{"class":996},[984,56264,1738],{"class":990},[984,56266,15101],{"class":996},[984,56268,1021],{"class":990},[984,56270,56271,56273,56275,56277],{"class":986,"line":1241},[984,56272,15108],{"class":996},[984,56274,1738],{"class":990},[984,56276,5089],{"class":996},[984,56278,1021],{"class":990},[984,56280,56281,56283,56285,56287],{"class":986,"line":1254},[984,56282,15142],{"class":996},[984,56284,1015],{"class":990},[984,56286,32799],{"class":1003},[984,56288,1021],{"class":990},[984,56290,56291,56293],{"class":986,"line":1266},[984,56292,32194],{"class":996},[984,56294,1208],{"class":990},[984,56296,56297],{"class":986,"line":1279},[984,56298,9689],{"class":990},[984,56300,56301,56303,56305,56307],{"class":986,"line":1291},[984,56302,32816],{"class":996},[984,56304,1015],{"class":990},[984,56306,5131],{"class":996},[984,56308,1021],{"class":990},[984,56310,56311,56313,56315,56317],{"class":986,"line":1304},[984,56312,32827],{"class":996},[984,56314,1015],{"class":990},[984,56316,32832],{"class":996},[984,56318,1021],{"class":990},[984,56320,56321,56323,56325,56327],{"class":986,"line":1316},[984,56322,32839],{"class":996},[984,56324,1015],{"class":990},[984,56326,32844],{"class":1003},[984,56328,1021],{"class":990},[984,56330,56331,56333,56335],{"class":986,"line":1327},[984,56332,32851],{"class":996},[984,56334,1015],{"class":990},[984,56336,32856],{"class":1003},[984,56338,56339],{"class":986,"line":1333},[984,56340,32861],{"class":990},[984,56342,56343],{"class":986,"line":1338},[984,56344,9689],{"class":990},[984,56346,56347,56349,56351,56353],{"class":986,"line":1355},[984,56348,32816],{"class":996},[984,56350,1015],{"class":990},[984,56352,1171],{"class":996},[984,56354,1021],{"class":990},[984,56356,56357,56359,56361,56363],{"class":986,"line":1367},[984,56358,32827],{"class":996},[984,56360,1015],{"class":990},[984,56362,13914],{"class":996},[984,56364,1021],{"class":990},[984,56366,56367,56369,56371,56373],{"class":986,"line":1379},[984,56368,32839],{"class":996},[984,56370,1015],{"class":990},[984,56372,32894],{"class":1003},[984,56374,1021],{"class":990},[984,56376,56377,56379,56381],{"class":986,"line":1390},[984,56378,32851],{"class":996},[984,56380,1015],{"class":990},[984,56382,32905],{"class":1003},[984,56384,56385],{"class":986,"line":1402},[984,56386,9817],{"class":990},[984,56388,56389],{"class":986,"line":1413},[984,56390,28870],{"class":990},[984,56392,56393],{"class":986,"line":1424},[984,56394,15511],{"class":990},[984,56396,56397],{"class":986,"line":1435},[984,56398,1529],{"class":990},[984,56400,56401,56403,56405,56407],{"class":986,"line":1444},[984,56402,15520],{"class":996},[984,56404,1015],{"class":990},[984,56406,1345],{"class":996},[984,56408,1021],{"class":990},[984,56410,56411,56413,56415,56417],{"class":986,"line":1450},[984,56412,15531],{"class":996},[984,56414,1015],{"class":990},[984,56416,15536],{"class":1003},[984,56418,1021],{"class":990},[984,56420,56421,56423,56425,56427],{"class":986,"line":1456},[984,56422,15543],{"class":996},[984,56424,1015],{"class":990},[984,56426,13091],{"class":1003},[984,56428,1021],{"class":990},[984,56430,56431,56433,56435,56437],{"class":986,"line":1462},[984,56432,15554],{"class":996},[984,56434,1015],{"class":990},[984,56436,15559],{"class":996},[984,56438,1021],{"class":990},[984,56440,56441,56443,56445,56447],{"class":986,"line":7201},[984,56442,15566],{"class":996},[984,56444,1015],{"class":990},[984,56446,15571],{"class":996},[984,56448,1021],{"class":990},[984,56450,56451,56453,56455,56457],{"class":986,"line":7206},[984,56452,6656],{"class":996},[984,56454,1015],{"class":990},[984,56456,1171],{"class":996},[984,56458,1021],{"class":990},[984,56460,56461,56463,56465,56467],{"class":986,"line":7218},[984,56462,15588],{"class":996},[984,56464,1015],{"class":990},[984,56466,15593],{"class":996},[984,56468,1021],{"class":990},[984,56470,56471,56473,56475,56477],{"class":986,"line":7229},[984,56472,15600],{"class":996},[984,56474,1015],{"class":990},[984,56476,5089],{"class":996},[984,56478,1021],{"class":990},[984,56480,56481,56483,56485,56487],{"class":986,"line":7241},[984,56482,15611],{"class":996},[984,56484,1015],{"class":990},[984,56486,1397],{"class":1003},[984,56488,1021],{"class":990},[984,56490,56491,56493,56495,56497],{"class":986,"line":7252},[984,56492,15622],{"class":996},[984,56494,1015],{"class":990},[984,56496,1397],{"class":1003},[984,56498,1021],{"class":990},[984,56500,56501,56503,56505,56507],{"class":986,"line":7262},[984,56502,15633],{"class":996},[984,56504,1015],{"class":990},[984,56506,5131],{"class":996},[984,56508,1021],{"class":990},[984,56510,56511,56513,56515,56517],{"class":986,"line":7267},[984,56512,15644],{"class":996},[984,56514,1015],{"class":990},[984,56516,15649],{"class":1003},[984,56518,1021],{"class":990},[984,56520,56521,56523,56525,56527],{"class":986,"line":7272},[984,56522,15656],{"class":996},[984,56524,1015],{"class":990},[984,56526,15661],{"class":1003},[984,56528,1021],{"class":990},[984,56530,56531,56533,56535,56537],{"class":986,"line":7279},[984,56532,15668],{"class":996},[984,56534,1015],{"class":990},[984,56536,1018],{"class":996},[984,56538,1021],{"class":990},[984,56540,56541,56543,56545,56547],{"class":986,"line":7284},[984,56542,15679],{"class":996},[984,56544,1015],{"class":990},[984,56546,15684],{"class":1003},[984,56548,1021],{"class":990},[984,56550,56551,56553,56555,56557],{"class":986,"line":7295},[984,56552,15691],{"class":996},[984,56554,1015],{"class":990},[984,56556,1171],{"class":996},[984,56558,1021],{"class":990},[984,56560,56561,56563],{"class":986,"line":7307},[984,56562,33086],{"class":996},[984,56564,33089],{"class":990},[984,56566,56567],{"class":986,"line":7318},[984,56568,15511],{"class":990},[984,56570,56571],{"class":986,"line":7328},[984,56572,1529],{"class":990},[984,56574,56575,56577,56579,56581],{"class":986,"line":7333},[984,56576,1220],{"class":996},[984,56578,1015],{"class":990},[984,56580,1345],{"class":996},[984,56582,1021],{"class":990},[984,56584,56585,56587,56589,56591],{"class":986,"line":7338},[984,56586,15719],{"class":996},[984,56588,1015],{"class":990},[984,56590,15536],{"class":1003},[984,56592,1021],{"class":990},[984,56594,56595,56597,56599,56601],{"class":986,"line":7350},[984,56596,1580],{"class":996},[984,56598,1015],{"class":990},[984,56600,13091],{"class":1003},[984,56602,1021],{"class":990},[984,56604,56605,56607,56609,56611],{"class":986,"line":7361},[984,56606,15740],{"class":996},[984,56608,1015],{"class":990},[984,56610,15745],{"class":996},[984,56612,1021],{"class":990},[984,56614,56615,56617,56619,56621],{"class":986,"line":7372},[984,56616,15752],{"class":996},[984,56618,1015],{"class":990},[984,56620,15757],{"class":996},[984,56622,1021],{"class":990},[984,56624,56625,56627,56629,56631],{"class":986,"line":7383},[984,56626,13098],{"class":996},[984,56628,1015],{"class":990},[984,56630,15768],{"class":996},[984,56632,1021],{"class":990},[984,56634,56635,56637,56639,56641],{"class":986,"line":7393},[984,56636,1546],{"class":996},[984,56638,1015],{"class":990},[984,56640,4979],{"class":996},[984,56642,1021],{"class":990},[984,56644,56645,56647,56649,56651],{"class":986,"line":7398},[984,56646,15108],{"class":996},[984,56648,1015],{"class":990},[984,56650,5089],{"class":996},[984,56652,1021],{"class":990},[984,56654,56655,56657,56659,56661],{"class":986,"line":7403},[984,56656,14994],{"class":996},[984,56658,1015],{"class":990},[984,56660,15799],{"class":1003},[984,56662,1021],{"class":990},[984,56664,56665,56667,56669,56671],{"class":986,"line":7415},[984,56666,15006],{"class":996},[984,56668,1015],{"class":990},[984,56670,1397],{"class":1003},[984,56672,1021],{"class":990},[984,56674,56675,56677,56679,56681],{"class":986,"line":7427},[984,56676,15017],{"class":996},[984,56678,1015],{"class":990},[984,56680,1397],{"class":1003},[984,56682,1021],{"class":990},[984,56684,56685,56687,56689,56691],{"class":986,"line":7438},[984,56686,15029],{"class":996},[984,56688,1015],{"class":990},[984,56690,5131],{"class":996},[984,56692,1021],{"class":990},[984,56694,56695,56697,56699,56701],{"class":986,"line":7449},[984,56696,15040],{"class":996},[984,56698,1015],{"class":990},[984,56700,15840],{"class":1003},[984,56702,1021],{"class":990},[984,56704,56705,56707,56709,56711],{"class":986,"line":7461},[984,56706,1735],{"class":996},[984,56708,1015],{"class":990},[984,56710,15851],{"class":1003},[984,56712,1021],{"class":990},[984,56714,56715,56717,56719,56721],{"class":986,"line":7468},[984,56716,15052],{"class":996},[984,56718,1015],{"class":990},[984,56720,1503],{"class":996},[984,56722,1021],{"class":990},[984,56724,56725,56727,56729,56731],{"class":986,"line":7475},[984,56726,15063],{"class":996},[984,56728,1015],{"class":990},[984,56730,15872],{"class":1003},[984,56732,1021],{"class":990},[984,56734,56735,56737,56739,56741],{"class":986,"line":7480},[984,56736,1534],{"class":996},[984,56738,1015],{"class":990},[984,56740,17190],{"class":996},[984,56742,1021],{"class":990},[984,56744,56745,56747],{"class":986,"line":7492},[984,56746,32194],{"class":996},[984,56748,33089],{"class":990},[984,56750,56751],{"class":986,"line":7503},[984,56752,15888],{"class":990},[984,56754,56755],{"class":986,"line":7515},[984,56756,1038],{"class":990},[89,56758,56759,56763,56769,56773,56779,56785,56789,56793,56797,56801,56805,56809,56813,56817,56821,56835,56841],{},[54,56760,56761,15900],{},[150,56762,15899],{},[54,56764,56765,163,56767,15908],{},[150,56766,6545],{},[150,56768,15907],{},[54,56770,56771,15913],{},[150,56772,15907],{},[54,56774,56775,163,56777,23036],{},[150,56776,15918],{},[150,56778,15921],{},[54,56780,56781,15928,56783,15931],{},[150,56782,15927],{},[150,56784,6390],{},[54,56786,56787,15936],{},[150,56788,14141],{},[54,56790,56791,15942],{},[150,56792,15941],{},[54,56794,56795,15948],{},[150,56796,15947],{},[54,56798,56799,15953],{},[150,56800,848],{},[54,56802,56803,15958],{},[150,56804,14141],{},[54,56806,56807,15963],{},[150,56808,6551],{},[54,56810,56811,33338],{},[150,56812,29308],{},[54,56814,56815,33343],{},[150,56816,29305],{},[54,56818,56819,33348],{},[150,56820,29319],{},[54,56822,56823,163,56825,33357,56827,33361,56829,33365,56831,441,56833,33372],{},[150,56824,33353],{},[150,56826,33356],{},[150,56828,33360],{},[150,56830,33364],{},[150,56832,33368],{},[150,56834,33371],{},[54,56836,56837,163,56839,33381],{},[150,56838,33377],{},[150,56840,33380],{},[54,56842,56843,33386,56845,163,56847,33392,56849],{},[150,56844,29401],{},[18,56846,6196],{"href":12240},[18,56848,16052],{"href":33391},[89,56850,56851,56855,56859],{},[54,56852,56853],{},[150,56854,5811],{},[54,56856,56857],{},[150,56858,6002],{},[54,56860,56861],{},[150,56862,5991],{},[716,56864,15967],{"id":15966},[716,56866,15971],{"id":15970},[89,56868,56869,56873,56883,56887,56901,56907],{},[54,56870,15976,56871,15980],{},[150,56872,15979],{},[54,56874,15983,56875,4665,56877,4665,56879,4665,56881,15996],{},[150,56876,15986],{},[150,56878,15989],{},[150,56880,15992],{},[150,56882,15995],{},[54,56884,15999,56885,16003],{},[150,56886,16002],{},[54,56888,16006,56889,4665,56891,4665,56893,4665,56895,4665,56897,4665,56899],{},[150,56890,16009],{},[150,56892,16012],{},[150,56894,16015],{},[150,56896,16018],{},[150,56898,16021],{},[150,56900,16024],{},[54,56902,16027,56903,16031,56905],{},[150,56904,16030],{},[150,56906,16034],{},[54,56908,16037,56909,4665,56911,4665,56913,4665,56915,16048],{},[150,56910,15986],{},[150,56912,16042],{},[150,56914,16045],{},[150,56916,15995],{},[716,56918,16052],{"id":16051},[89,56920,56921,56923,56925,56927,56929,56931,56933,56935,56937],{},[54,56922,16057],{},[54,56924,16060],{},[54,56926,16063],{},[54,56928,16066],{},[54,56930,16069],{},[54,56932,16072],{},[54,56934,16075],{},[54,56936,16078],{},[54,56938,16081],{},[11,56940,56941,16087],{},[94,56942,16086],{},[26,56944,883],{"id":883},[11,56946,16092],{},[11,56948,56949],{},[150,56950,975],{},[866,56952,56953],{"className":978,"code":979,"language":980,"meta":760,"style":760},[150,56954,56955,56959,56969,56979,56987],{"__ignoreMap":760},[984,56956,56957],{"class":986,"line":987},[984,56958,991],{"class":990},[984,56960,56961,56963,56965,56967],{"class":986,"line":761},[984,56962,997],{"class":996},[984,56964,1000],{"class":990},[984,56966,1004],{"class":1003},[984,56968,1007],{"class":990},[984,56970,56971,56973,56975,56977],{"class":986,"line":772},[984,56972,1012],{"class":996},[984,56974,1015],{"class":990},[984,56976,1018],{"class":996},[984,56978,1021],{"class":990},[984,56980,56981,56983,56985],{"class":986,"line":1024},[984,56982,1027],{"class":996},[984,56984,1000],{"class":990},[984,56986,1032],{"class":1003},[984,56988,56989],{"class":986,"line":1035},[984,56990,1038],{"class":990},[11,56992,56993],{},[150,56994,1043],{},[866,56996,56997],{"className":978,"code":33541,"language":980,"meta":760,"style":760},[150,56998,56999,57003,57013,57023,57029,57033,57043,57053,57063,57073,57083,57093,57103,57113,57123,57133,57137],{"__ignoreMap":760},[984,57000,57001],{"class":986,"line":987},[984,57002,991],{"class":990},[984,57004,57005,57007,57009,57011],{"class":986,"line":761},[984,57006,997],{"class":996},[984,57008,1000],{"class":990},[984,57010,1004],{"class":1003},[984,57012,1007],{"class":990},[984,57014,57015,57017,57019,57021],{"class":986,"line":772},[984,57016,1012],{"class":996},[984,57018,1015],{"class":990},[984,57020,1018],{"class":996},[984,57022,1021],{"class":990},[984,57024,57025,57027],{"class":986,"line":1024},[984,57026,1724],{"class":996},[984,57028,1524],{"class":990},[984,57030,57031],{"class":986,"line":1035},[984,57032,1529],{"class":990},[984,57034,57035,57037,57039,57041],{"class":986,"line":1098},[984,57036,16184],{"class":996},[984,57038,1738],{"class":990},[984,57040,15247],{"class":996},[984,57042,1021],{"class":990},[984,57044,57045,57047,57049,57051],{"class":986,"line":1111},[984,57046,16195],{"class":996},[984,57048,1738],{"class":990},[984,57050,15022],{"class":1003},[984,57052,1021],{"class":990},[984,57054,57055,57057,57059,57061],{"class":986,"line":1124},[984,57056,23262],{"class":996},[984,57058,1015],{"class":990},[984,57060,23267],{"class":996},[984,57062,1021],{"class":990},[984,57064,57065,57067,57069,57071],{"class":986,"line":1137},[984,57066,16206],{"class":996},[984,57068,1738],{"class":990},[984,57070,16211],{"class":1003},[984,57072,1021],{"class":990},[984,57074,57075,57077,57079,57081],{"class":986,"line":1150},[984,57076,23284],{"class":996},[984,57078,1015],{"class":990},[984,57080,2682],{"class":996},[984,57082,1021],{"class":990},[984,57084,57085,57087,57089,57091],{"class":986,"line":1163},[984,57086,1232],{"class":996},[984,57088,1015],{"class":990},[984,57090,16222],{"class":996},[984,57092,1021],{"class":990},[984,57094,57095,57097,57099,57101],{"class":986,"line":1176},[984,57096,1282],{"class":996},[984,57098,1015],{"class":990},[984,57100,1158],{"class":996},[984,57102,1021],{"class":990},[984,57104,57105,57107,57109,57111],{"class":986,"line":1189},[984,57106,1307],{"class":996},[984,57108,1015],{"class":990},[984,57110,1171],{"class":996},[984,57112,1021],{"class":990},[984,57114,57115,57117,57119,57121],{"class":986,"line":1202},[984,57116,1257],{"class":996},[984,57118,1015],{"class":990},[984,57120,16253],{"class":996},[984,57122,1021],{"class":990},[984,57124,57125,57127,57129,57131],{"class":986,"line":1211},[984,57126,16271],{"class":996},[984,57128,1015],{"class":990},[984,57130,16276],{"class":996},[984,57132,1021],{"class":990},[984,57134,57135],{"class":986,"line":1217},[984,57136,1607],{"class":990},[984,57138,57139],{"class":986,"line":1229},[984,57140,1038],{"class":990},[89,57142,57143,57147,57151,57155,57159,57163,57167],{},[54,57144,57145,16293],{},[150,57146,12157],{},[54,57148,57149,16299],{},[150,57150,16298],{},[54,57152,57153,16304],{},[150,57154,12160],{},[54,57156,57157,16310],{},[150,57158,16309],{},[54,57160,57161,16315],{},[150,57162,10335],{},[54,57164,57165,23385],{},[150,57166,19514],{},[54,57168,57169,23390],{},[150,57170,19511],{},[11,57172,23393,57173,4316],{},[150,57174,948],{},[11,57176,57177],{},[150,57178,975],{},[866,57180,57181],{"className":978,"code":23402,"language":980,"meta":760,"style":760},[150,57182,57183,57187,57197,57207,57217,57223,57231,57235],{"__ignoreMap":760},[984,57184,57185],{"class":986,"line":987},[984,57186,991],{"class":990},[984,57188,57189,57191,57193,57195],{"class":986,"line":761},[984,57190,997],{"class":996},[984,57192,1000],{"class":990},[984,57194,1004],{"class":1003},[984,57196,1007],{"class":990},[984,57198,57199,57201,57203,57205],{"class":986,"line":772},[984,57200,1012],{"class":996},[984,57202,1015],{"class":990},[984,57204,1018],{"class":996},[984,57206,1021],{"class":990},[984,57208,57209,57211,57213,57215],{"class":986,"line":1024},[984,57210,1027],{"class":996},[984,57212,1000],{"class":990},[984,57214,11949],{"class":1003},[984,57216,1021],{"class":990},[984,57218,57219,57221],{"class":986,"line":1035},[984,57220,23443],{"class":996},[984,57222,1083],{"class":990},[984,57224,57225,57227,57229],{"class":986,"line":1098},[984,57226,23450],{"class":996},[984,57228,1015],{"class":990},[984,57230,13679],{"class":996},[984,57232,57233],{"class":986,"line":1111},[984,57234,9333],{"class":990},[984,57236,57237],{"class":986,"line":1124},[984,57238,1038],{"class":990},[89,57240,57241],{},[54,57242,57243,23469],{},[150,57244,12147],{},[11,57246,57247],{},[150,57248,1043],{},[866,57250,57251],{"className":978,"code":33796,"language":980,"meta":760,"style":760},[150,57252,57253,57257,57267,57277,57283,57293,57303,57313,57323,57333,57343,57353,57363,57373,57383,57389,57393,57403,57413,57423,57433,57443,57453,57463,57473,57483,57493,57503,57513,57523,57533,57543,57553,57563,57573,57583,57593,57603,57613,57623,57633,57643,57653,57663,57673,57681,57685,57689,57699,57709,57719,57729,57739,57749,57759,57769,57779,57789,57799,57809,57819,57829,57839,57849,57859,57869,57879,57889,57899,57909,57919,57929,57939,57949,57959,57969,57977,57981,57985,57989],{"__ignoreMap":760},[984,57254,57255],{"class":986,"line":987},[984,57256,991],{"class":990},[984,57258,57259,57261,57263,57265],{"class":986,"line":761},[984,57260,1057],{"class":996},[984,57262,1015],{"class":990},[984,57264,1062],{"class":996},[984,57266,1021],{"class":990},[984,57268,57269,57271,57273,57275],{"class":986,"line":772},[984,57270,1069],{"class":996},[984,57272,1015],{"class":990},[984,57274,1004],{"class":1003},[984,57276,1021],{"class":990},[984,57278,57279,57281],{"class":986,"line":1024},[984,57280,1080],{"class":996},[984,57282,1083],{"class":990},[984,57284,57285,57287,57289,57291],{"class":986,"line":1035},[984,57286,1088],{"class":996},[984,57288,1738],{"class":990},[984,57290,15247],{"class":996},[984,57292,1021],{"class":990},[984,57294,57295,57297,57299,57301],{"class":986,"line":1098},[984,57296,1101],{"class":996},[984,57298,1738],{"class":990},[984,57300,15022],{"class":1003},[984,57302,1021],{"class":990},[984,57304,57305,57307,57309,57311],{"class":986,"line":1111},[984,57306,23533],{"class":996},[984,57308,1015],{"class":990},[984,57310,23267],{"class":996},[984,57312,1021],{"class":990},[984,57314,57315,57317,57319,57321],{"class":986,"line":1124},[984,57316,1127],{"class":996},[984,57318,1738],{"class":990},[984,57320,16211],{"class":1003},[984,57322,1021],{"class":990},[984,57324,57325,57327,57329,57331],{"class":986,"line":1137},[984,57326,23554],{"class":996},[984,57328,1015],{"class":990},[984,57330,2682],{"class":996},[984,57332,1021],{"class":990},[984,57334,57335,57337,57339,57341],{"class":986,"line":1150},[984,57336,1140],{"class":996},[984,57338,1015],{"class":990},[984,57340,16222],{"class":996},[984,57342,1021],{"class":990},[984,57344,57345,57347,57349,57351],{"class":986,"line":1163},[984,57346,1153],{"class":996},[984,57348,1015],{"class":990},[984,57350,1158],{"class":996},[984,57352,1021],{"class":990},[984,57354,57355,57357,57359,57361],{"class":986,"line":1176},[984,57356,1166],{"class":996},[984,57358,1015],{"class":990},[984,57360,1171],{"class":996},[984,57362,1021],{"class":990},[984,57364,57365,57367,57369,57371],{"class":986,"line":1189},[984,57366,1179],{"class":996},[984,57368,1015],{"class":990},[984,57370,16253],{"class":996},[984,57372,1021],{"class":990},[984,57374,57375,57377,57379,57381],{"class":986,"line":1202},[984,57376,1114],{"class":996},[984,57378,1015],{"class":990},[984,57380,16276],{"class":996},[984,57382,1021],{"class":990},[984,57384,57385,57387],{"class":986,"line":1211},[984,57386,1205],{"class":996},[984,57388,1208],{"class":990},[984,57390,57391],{"class":986,"line":1217},[984,57392,1214],{"class":990},[984,57394,57395,57397,57399,57401],{"class":986,"line":1229},[984,57396,1220],{"class":996},[984,57398,1015],{"class":990},[984,57400,1171],{"class":996},[984,57402,1021],{"class":990},[984,57404,57405,57407,57409,57411],{"class":986,"line":1241},[984,57406,1232],{"class":996},[984,57408,1015],{"class":990},[984,57410,33957],{"class":996},[984,57412,1021],{"class":990},[984,57414,57415,57417,57419,57421],{"class":986,"line":1254},[984,57416,33964],{"class":996},[984,57418,1015],{"class":990},[984,57420,1171],{"class":996},[984,57422,1021],{"class":990},[984,57424,57425,57427,57429,57431],{"class":986,"line":1266},[984,57426,33975],{"class":996},[984,57428,1015],{"class":990},[984,57430,1397],{"class":1003},[984,57432,1021],{"class":990},[984,57434,57435,57437,57439,57441],{"class":986,"line":1279},[984,57436,33986],{"class":996},[984,57438,1015],{"class":990},[984,57440,33957],{"class":996},[984,57442,1021],{"class":990},[984,57444,57445,57447,57449,57451],{"class":986,"line":1291},[984,57446,33997],{"class":996},[984,57448,1015],{"class":990},[984,57450,34002],{"class":1003},[984,57452,1021],{"class":990},[984,57454,57455,57457,57459,57461],{"class":986,"line":1304},[984,57456,1244],{"class":996},[984,57458,1015],{"class":990},[984,57460,34002],{"class":1003},[984,57462,1021],{"class":990},[984,57464,57465,57467,57469,57471],{"class":986,"line":1316},[984,57466,2577],{"class":996},[984,57468,1015],{"class":990},[984,57470,1171],{"class":996},[984,57472,1021],{"class":990},[984,57474,57475,57477,57479,57481],{"class":986,"line":1327},[984,57476,2588],{"class":996},[984,57478,1015],{"class":990},[984,57480,1397],{"class":1003},[984,57482,1021],{"class":990},[984,57484,57485,57487,57489,57491],{"class":986,"line":1333},[984,57486,16260],{"class":996},[984,57488,1015],{"class":990},[984,57490,34043],{"class":996},[984,57492,1021],{"class":990},[984,57494,57495,57497,57499,57501],{"class":986,"line":1338},[984,57496,34050],{"class":996},[984,57498,1015],{"class":990},[984,57500,34055],{"class":1003},[984,57502,1021],{"class":990},[984,57504,57505,57507,57509,57511],{"class":986,"line":1355},[984,57506,1257],{"class":996},[984,57508,1015],{"class":990},[984,57510,34043],{"class":996},[984,57512,1021],{"class":990},[984,57514,57515,57517,57519,57521],{"class":986,"line":1367},[984,57516,34072],{"class":996},[984,57518,1015],{"class":990},[984,57520,1171],{"class":996},[984,57522,1021],{"class":990},[984,57524,57525,57527,57529,57531],{"class":986,"line":1379},[984,57526,34083],{"class":996},[984,57528,1015],{"class":990},[984,57530,1397],{"class":1003},[984,57532,1021],{"class":990},[984,57534,57535,57537,57539,57541],{"class":986,"line":1390},[984,57536,34094],{"class":996},[984,57538,1015],{"class":990},[984,57540,34043],{"class":996},[984,57542,1021],{"class":990},[984,57544,57545,57547,57549,57551],{"class":986,"line":1402},[984,57546,34105],{"class":996},[984,57548,1015],{"class":990},[984,57550,34055],{"class":1003},[984,57552,1021],{"class":990},[984,57554,57555,57557,57559,57561],{"class":986,"line":1413},[984,57556,1269],{"class":996},[984,57558,1015],{"class":990},[984,57560,34055],{"class":1003},[984,57562,1021],{"class":990},[984,57564,57565,57567,57569,57571],{"class":986,"line":1424},[984,57566,1282],{"class":996},[984,57568,1015],{"class":990},[984,57570,1171],{"class":996},[984,57572,1021],{"class":990},[984,57574,57575,57577,57579,57581],{"class":986,"line":1435},[984,57576,34136],{"class":996},[984,57578,1015],{"class":990},[984,57580,1171],{"class":996},[984,57582,1021],{"class":990},[984,57584,57585,57587,57589,57591],{"class":986,"line":1444},[984,57586,34147],{"class":996},[984,57588,1015],{"class":990},[984,57590,1397],{"class":1003},[984,57592,1021],{"class":990},[984,57594,57595,57597,57599,57601],{"class":986,"line":1450},[984,57596,34158],{"class":996},[984,57598,1015],{"class":990},[984,57600,1171],{"class":996},[984,57602,1021],{"class":990},[984,57604,57605,57607,57609,57611],{"class":986,"line":1456},[984,57606,34169],{"class":996},[984,57608,1015],{"class":990},[984,57610,1397],{"class":1003},[984,57612,1021],{"class":990},[984,57614,57615,57617,57619,57621],{"class":986,"line":1462},[984,57616,1294],{"class":996},[984,57618,1015],{"class":990},[984,57620,1397],{"class":1003},[984,57622,1021],{"class":990},[984,57624,57625,57627,57629,57631],{"class":986,"line":7201},[984,57626,1307],{"class":996},[984,57628,1015],{"class":990},[984,57630,1171],{"class":996},[984,57632,1021],{"class":990},[984,57634,57635,57637,57639,57641],{"class":986,"line":7206},[984,57636,34200],{"class":996},[984,57638,1015],{"class":990},[984,57640,1171],{"class":996},[984,57642,1021],{"class":990},[984,57644,57645,57647,57649,57651],{"class":986,"line":7218},[984,57646,34211],{"class":996},[984,57648,1015],{"class":990},[984,57650,1397],{"class":1003},[984,57652,1021],{"class":990},[984,57654,57655,57657,57659,57661],{"class":986,"line":7229},[984,57656,34222],{"class":996},[984,57658,1015],{"class":990},[984,57660,1171],{"class":996},[984,57662,1021],{"class":990},[984,57664,57665,57667,57669,57671],{"class":986,"line":7241},[984,57666,34233],{"class":996},[984,57668,1015],{"class":990},[984,57670,1397],{"class":1003},[984,57672,1021],{"class":990},[984,57674,57675,57677,57679],{"class":986,"line":7252},[984,57676,1319],{"class":996},[984,57678,1015],{"class":990},[984,57680,1324],{"class":1003},[984,57682,57683],{"class":986,"line":7262},[984,57684,1330],{"class":990},[984,57686,57687],{"class":986,"line":7267},[984,57688,1214],{"class":990},[984,57690,57691,57693,57695,57697],{"class":986,"line":7272},[984,57692,1220],{"class":996},[984,57694,1015],{"class":990},[984,57696,5131],{"class":996},[984,57698,1021],{"class":990},[984,57700,57701,57703,57705,57707],{"class":986,"line":7279},[984,57702,1232],{"class":996},[984,57704,1015],{"class":990},[984,57706,34274],{"class":996},[984,57708,1021],{"class":990},[984,57710,57711,57713,57715,57717],{"class":986,"line":7284},[984,57712,33964],{"class":996},[984,57714,1015],{"class":990},[984,57716,1171],{"class":996},[984,57718,1021],{"class":990},[984,57720,57721,57723,57725,57727],{"class":986,"line":7295},[984,57722,33975],{"class":996},[984,57724,1015],{"class":990},[984,57726,1397],{"class":1003},[984,57728,1021],{"class":990},[984,57730,57731,57733,57735,57737],{"class":986,"line":7307},[984,57732,33986],{"class":996},[984,57734,1015],{"class":990},[984,57736,34274],{"class":996},[984,57738,1021],{"class":990},[984,57740,57741,57743,57745,57747],{"class":986,"line":7318},[984,57742,33997],{"class":996},[984,57744,1015],{"class":990},[984,57746,34315],{"class":1003},[984,57748,1021],{"class":990},[984,57750,57751,57753,57755,57757],{"class":986,"line":7328},[984,57752,1244],{"class":996},[984,57754,1015],{"class":990},[984,57756,34315],{"class":1003},[984,57758,1021],{"class":990},[984,57760,57761,57763,57765,57767],{"class":986,"line":7333},[984,57762,2577],{"class":996},[984,57764,1015],{"class":990},[984,57766,1171],{"class":996},[984,57768,1021],{"class":990},[984,57770,57771,57773,57775,57777],{"class":986,"line":7338},[984,57772,2588],{"class":996},[984,57774,1015],{"class":990},[984,57776,1397],{"class":1003},[984,57778,1021],{"class":990},[984,57780,57781,57783,57785,57787],{"class":986,"line":7350},[984,57782,16260],{"class":996},[984,57784,1015],{"class":990},[984,57786,1171],{"class":996},[984,57788,1021],{"class":990},[984,57790,57791,57793,57795,57797],{"class":986,"line":7361},[984,57792,34050],{"class":996},[984,57794,1015],{"class":990},[984,57796,1397],{"class":1003},[984,57798,1021],{"class":990},[984,57800,57801,57803,57805,57807],{"class":986,"line":7372},[984,57802,1257],{"class":996},[984,57804,1015],{"class":990},[984,57806,1171],{"class":996},[984,57808,1021],{"class":990},[984,57810,57811,57813,57815,57817],{"class":986,"line":7383},[984,57812,34072],{"class":996},[984,57814,1015],{"class":990},[984,57816,1171],{"class":996},[984,57818,1021],{"class":990},[984,57820,57821,57823,57825,57827],{"class":986,"line":7393},[984,57822,34083],{"class":996},[984,57824,1015],{"class":990},[984,57826,1397],{"class":1003},[984,57828,1021],{"class":990},[984,57830,57831,57833,57835,57837],{"class":986,"line":7398},[984,57832,34094],{"class":996},[984,57834,1015],{"class":990},[984,57836,1171],{"class":996},[984,57838,1021],{"class":990},[984,57840,57841,57843,57845,57847],{"class":986,"line":7403},[984,57842,34105],{"class":996},[984,57844,1015],{"class":990},[984,57846,1397],{"class":1003},[984,57848,1021],{"class":990},[984,57850,57851,57853,57855,57857],{"class":986,"line":7415},[984,57852,1269],{"class":996},[984,57854,1015],{"class":990},[984,57856,1397],{"class":1003},[984,57858,1021],{"class":990},[984,57860,57861,57863,57865,57867],{"class":986,"line":7427},[984,57862,1282],{"class":996},[984,57864,1015],{"class":990},[984,57866,1171],{"class":996},[984,57868,1021],{"class":990},[984,57870,57871,57873,57875,57877],{"class":986,"line":7438},[984,57872,34136],{"class":996},[984,57874,1015],{"class":990},[984,57876,1171],{"class":996},[984,57878,1021],{"class":990},[984,57880,57881,57883,57885,57887],{"class":986,"line":7449},[984,57882,34147],{"class":996},[984,57884,1015],{"class":990},[984,57886,1397],{"class":1003},[984,57888,1021],{"class":990},[984,57890,57891,57893,57895,57897],{"class":986,"line":7461},[984,57892,34158],{"class":996},[984,57894,1015],{"class":990},[984,57896,1171],{"class":996},[984,57898,1021],{"class":990},[984,57900,57901,57903,57905,57907],{"class":986,"line":7468},[984,57902,34169],{"class":996},[984,57904,1015],{"class":990},[984,57906,1397],{"class":1003},[984,57908,1021],{"class":990},[984,57910,57911,57913,57915,57917],{"class":986,"line":7475},[984,57912,1294],{"class":996},[984,57914,1015],{"class":990},[984,57916,1397],{"class":1003},[984,57918,1021],{"class":990},[984,57920,57921,57923,57925,57927],{"class":986,"line":7480},[984,57922,1307],{"class":996},[984,57924,1015],{"class":990},[984,57926,1171],{"class":996},[984,57928,1021],{"class":990},[984,57930,57931,57933,57935,57937],{"class":986,"line":7492},[984,57932,34200],{"class":996},[984,57934,1015],{"class":990},[984,57936,1171],{"class":996},[984,57938,1021],{"class":990},[984,57940,57941,57943,57945,57947],{"class":986,"line":7503},[984,57942,34211],{"class":996},[984,57944,1015],{"class":990},[984,57946,1397],{"class":1003},[984,57948,1021],{"class":990},[984,57950,57951,57953,57955,57957],{"class":986,"line":7515},[984,57952,34222],{"class":996},[984,57954,1015],{"class":990},[984,57956,1171],{"class":996},[984,57958,1021],{"class":990},[984,57960,57961,57963,57965,57967],{"class":986,"line":7526},[984,57962,34233],{"class":996},[984,57964,1015],{"class":990},[984,57966,1397],{"class":1003},[984,57968,1021],{"class":990},[984,57970,57971,57973,57975],{"class":986,"line":7536},[984,57972,1319],{"class":996},[984,57974,1015],{"class":990},[984,57976,1324],{"class":1003},[984,57978,57979],{"class":986,"line":7541},[984,57980,1447],{"class":990},[984,57982,57983],{"class":986,"line":7546},[984,57984,1453],{"class":990},[984,57986,57987],{"class":986,"line":7553},[984,57988,1459],{"class":990},[984,57990,57991],{"class":986,"line":7558},[984,57992,1038],{"class":990},[89,57994,57995,58007,58011,58015,58023,58027,58031,58039,58043,58047,58055,58059,58063,58071,58075],{},[54,57996,57997,34568,57999],{},[150,57998,12119],{},[89,58000,58001,58003,58005],{},[54,58002,12125],{},[54,58004,12128],{},[54,58006,12131],{},[54,58008,58009,34581],{},[150,58010,29334],{},[54,58012,58013,34586],{},[150,58014,29340],{},[54,58016,58017,34591,58019,163,58021],{},[150,58018,12157],{},[150,58020,29334],{},[150,58022,29340],{},[54,58024,58025,34600],{},[150,58026,29346],{},[54,58028,58029,34605],{},[150,58030,29352],{},[54,58032,58033,34591,58035,163,58037],{},[150,58034,16042],{},[150,58036,29346],{},[150,58038,29352],{},[54,58040,58041,34618],{},[150,58042,29358],{},[54,58044,58045,34623],{},[150,58046,29364],{},[54,58048,58049,34591,58051,163,58053],{},[150,58050,16045],{},[150,58052,29358],{},[150,58054,29364],{},[54,58056,58057,34636],{},[150,58058,29370],{},[54,58060,58061,34641],{},[150,58062,29376],{},[54,58064,58065,34591,58067,163,58069],{},[150,58066,12160],{},[150,58068,29370],{},[150,58070,29376],{},[54,58072,58073,34654],{},[150,58074,2657],{},[54,58076,58077,34659,58079,441,58081,163,58083],{},[150,58078,16309],{},[150,58080,29370],{},[150,58082,29376],{},[150,58084,2657],{},[11,58086,12134,58087,12137,58089,12140,58091,12144,58093,12148],{},[150,58088,12119],{},[150,58090,848],{},[150,58092,12143],{},[150,58094,12147],{},[11,58096,12151,58097,12154,58099,441,58101,12161,58103,2008,58105,12166,58107,12169,58109,12173],{},[111,58098,2003],{},[150,58100,12157],{},[150,58102,12160],{},[150,58104,2007],{},[111,58106,2011],{},[150,58108,2007],{},[150,58110,12172],{},[26,58112,12024],{"id":12024},[11,58114,16749],{},[11,58116,58117],{},[150,58118,975],{},[866,58120,58121],{"className":978,"code":16756,"language":980,"meta":760,"style":760},[150,58122,58123,58127,58137,58147,58157,58163,58167,58177,58187,58193,58203,58211,58215,58219],{"__ignoreMap":760},[984,58124,58125],{"class":986,"line":987},[984,58126,991],{"class":990},[984,58128,58129,58131,58133,58135],{"class":986,"line":761},[984,58130,997],{"class":996},[984,58132,1000],{"class":990},[984,58134,1004],{"class":1003},[984,58136,1007],{"class":990},[984,58138,58139,58141,58143,58145],{"class":986,"line":772},[984,58140,1012],{"class":996},[984,58142,1015],{"class":990},[984,58144,1018],{"class":996},[984,58146,1021],{"class":990},[984,58148,58149,58151,58153,58155],{"class":986,"line":1024},[984,58150,1027],{"class":996},[984,58152,1000],{"class":990},[984,58154,16791],{"class":1003},[984,58156,1021],{"class":990},[984,58158,58159,58161],{"class":986,"line":1035},[984,58160,1521],{"class":996},[984,58162,1803],{"class":990},[984,58164,58165],{"class":986,"line":1098},[984,58166,1529],{"class":990},[984,58168,58169,58171,58173,58175],{"class":986,"line":1111},[984,58170,15270],{"class":996},[984,58172,1015],{"class":990},[984,58174,16812],{"class":996},[984,58176,1021],{"class":990},[984,58178,58179,58181,58183,58185],{"class":986,"line":1124},[984,58180,15259],{"class":996},[984,58182,1015],{"class":990},[984,58184,1171],{"class":996},[984,58186,1021],{"class":990},[984,58188,58189,58191],{"class":986,"line":1137},[984,58190,16829],{"class":996},[984,58192,1083],{"class":990},[984,58194,58195,58197,58199,58201],{"class":986,"line":1150},[984,58196,16836],{"class":996},[984,58198,1015],{"class":990},[984,58200,16841],{"class":1003},[984,58202,1021],{"class":990},[984,58204,58205,58207,58209],{"class":986,"line":1163},[984,58206,16848],{"class":996},[984,58208,1015],{"class":990},[984,58210,16853],{"class":1003},[984,58212,58213],{"class":986,"line":1176},[984,58214,9333],{"class":990},[984,58216,58217],{"class":986,"line":1189},[984,58218,1607],{"class":990},[984,58220,58221],{"class":986,"line":1202},[984,58222,1038],{"class":990},[89,58224,58225,58229,58235,58239],{},[54,58226,58227,16872],{},[150,58228,6846],{},[54,58230,58231,16877,58233,385],{},[150,58232,15307],{},[150,58234,1171],{},[54,58236,58237,16885],{},[150,58238,16884],{},[54,58240,58241,16891],{},[150,58242,16890],{},[11,58244,58245],{},[150,58246,1043],{},[866,58248,58249],{"className":978,"code":16898,"language":980,"meta":760,"style":760},[150,58250,58251,58255,58265,58275,58281,58285,58295,58305,58315,58325,58335,58345,58355,58365,58373,58377],{"__ignoreMap":760},[984,58252,58253],{"class":986,"line":987},[984,58254,991],{"class":990},[984,58256,58257,58259,58261,58263],{"class":986,"line":761},[984,58258,997],{"class":996},[984,58260,1015],{"class":990},[984,58262,1004],{"class":1003},[984,58264,1007],{"class":990},[984,58266,58267,58269,58271,58273],{"class":986,"line":772},[984,58268,1012],{"class":996},[984,58270,1015],{"class":990},[984,58272,1018],{"class":996},[984,58274,1021],{"class":990},[984,58276,58277,58279],{"class":986,"line":1024},[984,58278,1724],{"class":996},[984,58280,1524],{"class":990},[984,58282,58283],{"class":986,"line":1035},[984,58284,13070],{"class":990},[984,58286,58287,58289,58291,58293],{"class":986,"line":1098},[984,58288,6969],{"class":996},[984,58290,1015],{"class":990},[984,58292,1158],{"class":996},[984,58294,1021],{"class":990},[984,58296,58297,58299,58301,58303],{"class":986,"line":1111},[984,58298,1220],{"class":996},[984,58300,1015],{"class":990},[984,58302,1171],{"class":996},[984,58304,1021],{"class":990},[984,58306,58307,58309,58311,58313],{"class":986,"line":1124},[984,58308,2459],{"class":996},[984,58310,1015],{"class":990},[984,58312,16963],{"class":996},[984,58314,1021],{"class":990},[984,58316,58317,58319,58321,58323],{"class":986,"line":1137},[984,58318,7056],{"class":996},[984,58320,1015],{"class":990},[984,58322,16974],{"class":996},[984,58324,1021],{"class":990},[984,58326,58327,58329,58331,58333],{"class":986,"line":1150},[984,58328,5926],{"class":996},[984,58330,1015],{"class":990},[984,58332,16985],{"class":1003},[984,58334,1021],{"class":990},[984,58336,58337,58339,58341,58343],{"class":986,"line":1163},[984,58338,16992],{"class":996},[984,58340,1015],{"class":990},[984,58342,14895],{"class":1003},[984,58344,1021],{"class":990},[984,58346,58347,58349,58351,58353],{"class":986,"line":1176},[984,58348,17003],{"class":996},[984,58350,1015],{"class":990},[984,58352,13091],{"class":1003},[984,58354,1021],{"class":990},[984,58356,58357,58359,58361,58363],{"class":986,"line":1189},[984,58358,15029],{"class":996},[984,58360,1015],{"class":990},[984,58362,1503],{"class":996},[984,58364,1021],{"class":990},[984,58366,58367,58369,58371],{"class":986,"line":1202},[984,58368,15040],{"class":996},[984,58370,1015],{"class":990},[984,58372,17028],{"class":1003},[984,58374,58375],{"class":986,"line":1211},[984,58376,15888],{"class":990},[984,58378,58379],{"class":986,"line":1217},[984,58380,1038],{"class":990},[89,58382,58383,58389],{},[54,58384,58385,17043,58387,2758],{},[150,58386,848],{},[150,58388,948],{},[54,58390,58391,17050],{},[150,58392,15320],{},[11,58394,58395],{},[150,58396,975],{},[866,58398,58399],{"className":978,"code":17057,"language":980,"meta":760,"style":760},[150,58400,58401,58405,58415,58425,58435,58441,58451,58457,58465,58469,58473],{"__ignoreMap":760},[984,58402,58403],{"class":986,"line":987},[984,58404,991],{"class":990},[984,58406,58407,58409,58411,58413],{"class":986,"line":761},[984,58408,997],{"class":996},[984,58410,1015],{"class":990},[984,58412,1004],{"class":1003},[984,58414,1021],{"class":990},[984,58416,58417,58419,58421,58423],{"class":986,"line":772},[984,58418,1012],{"class":996},[984,58420,1015],{"class":990},[984,58422,1062],{"class":996},[984,58424,1021],{"class":990},[984,58426,58427,58429,58431,58433],{"class":986,"line":1024},[984,58428,1027],{"class":996},[984,58430,1015],{"class":990},[984,58432,16791],{"class":1003},[984,58434,1021],{"class":990},[984,58436,58437,58439],{"class":986,"line":1035},[984,58438,1521],{"class":996},[984,58440,1083],{"class":990},[984,58442,58443,58445,58447,58449],{"class":986,"line":1098},[984,58444,17104],{"class":996},[984,58446,1015],{"class":990},[984,58448,2682],{"class":996},[984,58450,1021],{"class":990},[984,58452,58453,58455],{"class":986,"line":1111},[984,58454,15220],{"class":996},[984,58456,1083],{"class":990},[984,58458,58459,58461,58463],{"class":986,"line":1124},[984,58460,17121],{"class":996},[984,58462,1015],{"class":990},[984,58464,1678],{"class":996},[984,58466,58467],{"class":986,"line":1137},[984,58468,9333],{"class":990},[984,58470,58471],{"class":986,"line":1150},[984,58472,1607],{"class":990},[984,58474,58475],{"class":986,"line":1163},[984,58476,1038],{"class":990},[11,58478,58479],{},[150,58480,1043],{},[866,58482,58483],{"className":978,"code":17144,"language":980,"meta":760,"style":760},[150,58484,58485,58489,58499,58509,58515,58519,58529,58539,58549,58559,58569,58579,58589,58599,58607,58611,58615],{"__ignoreMap":760},[984,58486,58487],{"class":986,"line":987},[984,58488,991],{"class":990},[984,58490,58491,58493,58495,58497],{"class":986,"line":761},[984,58492,1057],{"class":996},[984,58494,1015],{"class":990},[984,58496,1062],{"class":996},[984,58498,1021],{"class":990},[984,58500,58501,58503,58505,58507],{"class":986,"line":772},[984,58502,1069],{"class":996},[984,58504,1015],{"class":990},[984,58506,1004],{"class":1003},[984,58508,1021],{"class":990},[984,58510,58511,58513],{"class":986,"line":1024},[984,58512,1080],{"class":996},[984,58514,1208],{"class":990},[984,58516,58517],{"class":986,"line":1035},[984,58518,1529],{"class":990},[984,58520,58521,58523,58525,58527],{"class":986,"line":1098},[984,58522,17185],{"class":996},[984,58524,1015],{"class":990},[984,58526,17190],{"class":996},[984,58528,1021],{"class":990},[984,58530,58531,58533,58535,58537],{"class":986,"line":1111},[984,58532,15520],{"class":996},[984,58534,1015],{"class":990},[984,58536,1345],{"class":996},[984,58538,1021],{"class":990},[984,58540,58541,58543,58545,58547],{"class":986,"line":1124},[984,58542,17207],{"class":996},[984,58544,1015],{"class":990},[984,58546,17212],{"class":1003},[984,58548,1021],{"class":990},[984,58550,58551,58553,58555,58557],{"class":986,"line":1137},[984,58552,6667],{"class":996},[984,58554,1015],{"class":990},[984,58556,17223],{"class":1003},[984,58558,1021],{"class":990},[984,58560,58561,58563,58565,58567],{"class":986,"line":1150},[984,58562,6755],{"class":996},[984,58564,1015],{"class":990},[984,58566,17234],{"class":996},[984,58568,1021],{"class":990},[984,58570,58571,58573,58575,58577],{"class":986,"line":1163},[984,58572,17241],{"class":996},[984,58574,1015],{"class":990},[984,58576,13091],{"class":1003},[984,58578,1021],{"class":990},[984,58580,58581,58583,58585,58587],{"class":986,"line":1176},[984,58582,15633],{"class":996},[984,58584,1015],{"class":990},[984,58586,1345],{"class":996},[984,58588,1021],{"class":990},[984,58590,58591,58593,58595,58597],{"class":986,"line":1189},[984,58592,15644],{"class":996},[984,58594,1015],{"class":990},[984,58596,17266],{"class":1003},[984,58598,1021],{"class":990},[984,58600,58601,58603,58605],{"class":986,"line":1202},[984,58602,17273],{"class":996},[984,58604,1015],{"class":990},[984,58606,17278],{"class":1003},[984,58608,58609],{"class":986,"line":1211},[984,58610,1607],{"class":990},[984,58612,58613],{"class":986,"line":1217},[984,58614,17287],{"class":990},[984,58616,58617],{"class":986,"line":1229},[984,58618,1038],{"class":990},[89,58620,58621,58635],{},[54,58622,58623,17298,58625,17302,58627,17306,58629,17310,58631,17314,58633,17318],{},[150,58624,5964],{},[150,58626,17301],{},[150,58628,17305],{},[150,58630,17309],{},[150,58632,17313],{},[150,58634,17317],{},[54,58636,58637,17298,58639,441,58641,441,58643,441,58645,441,58647,441,58649,441,58651,12647,58653,17347],{},[150,58638,6390],{},[150,58640,17325],{},[150,58642,17328],{},[150,58644,17331],{},[150,58646,17334],{},[150,58648,17337],{},[150,58650,17340],{},[150,58652,17343],{},[150,58654,17346],{},[26,58656,918],{"id":918},[11,58658,17352,58659,17355],{},[18,58660,913],{"href":2036},[11,58662,58663],{},[150,58664,975],{},[866,58666,58667],{"className":978,"code":1759,"language":980,"meta":760,"style":760},[150,58668,58669,58673,58683,58693,58703,58709,58713,58721,58725],{"__ignoreMap":760},[984,58670,58671],{"class":986,"line":987},[984,58672,991],{"class":990},[984,58674,58675,58677,58679,58681],{"class":986,"line":761},[984,58676,997],{"class":996},[984,58678,1000],{"class":990},[984,58680,1004],{"class":1003},[984,58682,1007],{"class":990},[984,58684,58685,58687,58689,58691],{"class":986,"line":772},[984,58686,1012],{"class":996},[984,58688,1015],{"class":990},[984,58690,1018],{"class":996},[984,58692,1021],{"class":990},[984,58694,58695,58697,58699,58701],{"class":986,"line":1024},[984,58696,1027],{"class":996},[984,58698,1015],{"class":990},[984,58700,1794],{"class":1003},[984,58702,1021],{"class":990},[984,58704,58705,58707],{"class":986,"line":1035},[984,58706,1521],{"class":996},[984,58708,1803],{"class":990},[984,58710,58711],{"class":986,"line":1098},[984,58712,1529],{"class":990},[984,58714,58715,58717,58719],{"class":986,"line":1111},[984,58716,1220],{"class":996},[984,58718,1015],{"class":990},[984,58720,1678],{"class":996},[984,58722,58723],{"class":986,"line":1124},[984,58724,1607],{"class":990},[984,58726,58727],{"class":986,"line":1137},[984,58728,1038],{"class":990},[89,58730,58731,58735],{},[54,58732,58733,1830],{},[150,58734,848],{},[54,58736,58737,14325],{},[150,58738,14141],{},[11,58740,58741],{},[150,58742,1043],{},[866,58744,58745],{"className":978,"code":24495,"language":980,"meta":760,"style":760},[150,58746,58747,58751,58761,58771,58777,58781,58791,58801,58811,58821,58831,58841,58851,58857,58867,58877,58887,58897,58905,58909,58919,58929,58939,58947,58951],{"__ignoreMap":760},[984,58748,58749],{"class":986,"line":987},[984,58750,991],{"class":990},[984,58752,58753,58755,58757,58759],{"class":986,"line":761},[984,58754,1012],{"class":996},[984,58756,1015],{"class":990},[984,58758,1062],{"class":996},[984,58760,1021],{"class":990},[984,58762,58763,58765,58767,58769],{"class":986,"line":772},[984,58764,997],{"class":996},[984,58766,1015],{"class":990},[984,58768,1004],{"class":1003},[984,58770,1021],{"class":990},[984,58772,58773,58775],{"class":986,"line":1024},[984,58774,1724],{"class":996},[984,58776,1665],{"class":990},[984,58778,58779],{"class":986,"line":1035},[984,58780,1529],{"class":990},[984,58782,58783,58785,58787,58789],{"class":986,"line":1098},[984,58784,1220],{"class":996},[984,58786,1015],{"class":990},[984,58788,1345],{"class":996},[984,58790,1021],{"class":990},[984,58792,58793,58795,58797,58799],{"class":986,"line":1111},[984,58794,1888],{"class":996},[984,58796,1015],{"class":990},[984,58798,1362],{"class":996},[984,58800,1021],{"class":990},[984,58802,58803,58805,58807,58809],{"class":986,"line":1124},[984,58804,1899],{"class":996},[984,58806,1015],{"class":990},[984,58808,1374],{"class":1003},[984,58810,1021],{"class":990},[984,58812,58813,58815,58817,58819],{"class":986,"line":1137},[984,58814,1910],{"class":996},[984,58816,1015],{"class":990},[984,58818,1345],{"class":996},[984,58820,1021],{"class":990},[984,58822,58823,58825,58827,58829],{"class":986,"line":1150},[984,58824,1921],{"class":996},[984,58826,1015],{"class":990},[984,58828,1926],{"class":996},[984,58830,1021],{"class":990},[984,58832,58833,58835,58837,58839],{"class":986,"line":1163},[984,58834,1933],{"class":996},[984,58836,1015],{"class":990},[984,58838,24590],{"class":1003},[984,58840,1021],{"class":990},[984,58842,58843,58845,58847,58849],{"class":986,"line":1176},[984,58844,24597],{"class":996},[984,58846,1015],{"class":990},[984,58848,2682],{"class":996},[984,58850,1021],{"class":990},[984,58852,58853,58855],{"class":986,"line":1189},[984,58854,24608],{"class":996},[984,58856,1083],{"class":990},[984,58858,58859,58861,58863,58865],{"class":986,"line":1202},[984,58860,24615],{"class":996},[984,58862,1015],{"class":990},[984,58864,24620],{"class":1003},[984,58866,1021],{"class":990},[984,58868,58869,58871,58873,58875],{"class":986,"line":1211},[984,58870,24627],{"class":996},[984,58872,1015],{"class":990},[984,58874,24632],{"class":1003},[984,58876,1021],{"class":990},[984,58878,58879,58881,58883,58885],{"class":986,"line":1217},[984,58880,24639],{"class":996},[984,58882,1015],{"class":990},[984,58884,24644],{"class":1003},[984,58886,1021],{"class":990},[984,58888,58889,58891,58893,58895],{"class":986,"line":1229},[984,58890,24651],{"class":996},[984,58892,1015],{"class":990},[984,58894,24656],{"class":1003},[984,58896,1021],{"class":990},[984,58898,58899,58901,58903],{"class":986,"line":1241},[984,58900,24663],{"class":996},[984,58902,1015],{"class":990},[984,58904,24668],{"class":1003},[984,58906,58907],{"class":986,"line":1254},[984,58908,15254],{"class":990},[984,58910,58911,58913,58915,58917],{"class":986,"line":1266},[984,58912,24677],{"class":996},[984,58914,1015],{"class":990},[984,58916,2682],{"class":996},[984,58918,1021],{"class":990},[984,58920,58921,58923,58925,58927],{"class":986,"line":1279},[984,58922,24688],{"class":996},[984,58924,1015],{"class":990},[984,58926,2682],{"class":996},[984,58928,1021],{"class":990},[984,58930,58931,58933,58935,58937],{"class":986,"line":1291},[984,58932,1945],{"class":996},[984,58934,1015],{"class":990},[984,58936,1950],{"class":1003},[984,58938,1021],{"class":990},[984,58940,58941,58943,58945],{"class":986,"line":1304},[984,58942,1957],{"class":996},[984,58944,1015],{"class":990},[984,58946,1962],{"class":996},[984,58948,58949],{"class":986,"line":1316},[984,58950,1607],{"class":990},[984,58952,58953],{"class":986,"line":1327},[984,58954,1038],{"class":990},[11,58956,1973,58957,385],{},[18,58958,1977],{"href":13823},[89,58960,58961,58965,58969,58983,58987,58991,58997,59001,59007,59011],{},[54,58962,58963,1984],{},[150,58964,848],{},[54,58966,58967,1990],{},[150,58968,1989],{},[54,58970,58971,1996,58973,2000,58975,2004,58977,2008,58979,2012,58981,2015],{},[150,58972,1995],{},[150,58974,1999],{},[111,58976,2003],{},[150,58978,2007],{},[111,58980,2011],{},[150,58982,2007],{},[54,58984,58985,2021],{},[150,58986,2020],{},[54,58988,58989,2027],{},[150,58990,2026],{},[54,58992,58993,2033,58995,2037],{},[150,58994,2032],{},[18,58996,913],{"href":2036},[54,58998,58999,24767],{},[150,59000,19523],{},[54,59002,59003,24772,59005,24775],{},[150,59004,19538],{},[150,59006,19523],{},[54,59008,59009,24780],{},[150,59010,19526],{},[54,59012,59013,24785,59015],{},[150,59014,19535],{},[18,59016,24790],{"href":24788,"rel":59017},[22],[26,59019,12350],{"id":12350},[11,59021,17608],{},[11,59023,59024],{},[150,59025,975],{},[866,59027,59028],{"className":978,"code":17615,"language":980,"meta":760,"style":760},[150,59029,59030,59034,59044,59054,59062],{"__ignoreMap":760},[984,59031,59032],{"class":986,"line":987},[984,59033,991],{"class":990},[984,59035,59036,59038,59040,59042],{"class":986,"line":761},[984,59037,997],{"class":996},[984,59039,1000],{"class":990},[984,59041,1004],{"class":1003},[984,59043,1007],{"class":990},[984,59045,59046,59048,59050,59052],{"class":986,"line":772},[984,59047,1012],{"class":996},[984,59049,1015],{"class":990},[984,59051,1503],{"class":996},[984,59053,1021],{"class":990},[984,59055,59056,59058,59060],{"class":986,"line":1024},[984,59057,1027],{"class":996},[984,59059,1000],{"class":990},[984,59061,17650],{"class":1003},[984,59063,59064],{"class":986,"line":1035},[984,59065,1038],{"class":990},[11,59067,59068],{},[150,59069,1043],{},[866,59071,59072],{"className":978,"code":17661,"language":980,"meta":760,"style":760},[150,59073,59074,59078,59088,59098,59106],{"__ignoreMap":760},[984,59075,59076],{"class":986,"line":987},[984,59077,991],{"class":990},[984,59079,59080,59082,59084,59086],{"class":986,"line":761},[984,59081,997],{"class":996},[984,59083,1000],{"class":990},[984,59085,1004],{"class":1003},[984,59087,1007],{"class":990},[984,59089,59090,59092,59094,59096],{"class":986,"line":772},[984,59091,1012],{"class":996},[984,59093,1015],{"class":990},[984,59095,1503],{"class":996},[984,59097,1021],{"class":990},[984,59099,59100,59102,59104],{"class":986,"line":1024},[984,59101,1724],{"class":996},[984,59103,1000],{"class":990},[984,59105,1741],{"class":1003},[984,59107,59108],{"class":986,"line":1035},[984,59109,1038],{"class":990},[26,59111,12358],{"id":12358},[11,59113,17704,59114,385],{},[150,59115,2150],{},[11,59117,59118],{},[150,59119,975],{},[866,59121,59122],{"className":978,"code":17713,"language":980,"meta":760,"style":760},[150,59123,59124,59128,59138,59148,59158,59164,59168,59176,59180],{"__ignoreMap":760},[984,59125,59126],{"class":986,"line":987},[984,59127,991],{"class":990},[984,59129,59130,59132,59134,59136],{"class":986,"line":761},[984,59131,997],{"class":996},[984,59133,1000],{"class":990},[984,59135,1004],{"class":1003},[984,59137,1007],{"class":990},[984,59139,59140,59142,59144,59146],{"class":986,"line":772},[984,59141,1012],{"class":996},[984,59143,1015],{"class":990},[984,59145,2431],{"class":996},[984,59147,1021],{"class":990},[984,59149,59150,59152,59154,59156],{"class":986,"line":1024},[984,59151,1027],{"class":996},[984,59153,1015],{"class":990},[984,59155,17748],{"class":1003},[984,59157,1007],{"class":990},[984,59159,59160,59162],{"class":986,"line":1035},[984,59161,1521],{"class":996},[984,59163,1524],{"class":990},[984,59165,59166],{"class":986,"line":1098},[984,59167,1529],{"class":990},[984,59169,59170,59172,59174],{"class":986,"line":1111},[984,59171,1735],{"class":996},[984,59173,1738],{"class":990},[984,59175,14622],{"class":1003},[984,59177,59178],{"class":986,"line":1124},[984,59179,1607],{"class":990},[984,59181,59182],{"class":986,"line":1137},[984,59183,1038],{"class":990},[11,59185,59186],{},[150,59187,1043],{},[866,59189,59190],{"className":978,"code":17783,"language":980,"meta":760,"style":760},[150,59191,59192,59196,59206,59216,59222,59226,59234,59238],{"__ignoreMap":760},[984,59193,59194],{"class":986,"line":987},[984,59195,991],{"class":990},[984,59197,59198,59200,59202,59204],{"class":986,"line":761},[984,59199,997],{"class":996},[984,59201,1000],{"class":990},[984,59203,1004],{"class":1003},[984,59205,1007],{"class":990},[984,59207,59208,59210,59212,59214],{"class":986,"line":772},[984,59209,1012],{"class":996},[984,59211,1015],{"class":990},[984,59213,2431],{"class":996},[984,59215,1021],{"class":990},[984,59217,59218,59220],{"class":986,"line":1024},[984,59219,1724],{"class":996},[984,59221,1665],{"class":990},[984,59223,59224],{"class":986,"line":1035},[984,59225,1529],{"class":990},[984,59227,59228,59230,59232],{"class":986,"line":1098},[984,59229,17824],{"class":996},[984,59231,1015],{"class":990},[984,59233,17829],{"class":1003},[984,59235,59236],{"class":986,"line":1111},[984,59237,1607],{"class":990},[984,59239,59240],{"class":986,"line":1124},[984,59241,1038],{"class":990},[89,59243,59244],{},[54,59245,59246,17845,59248,17848],{},[150,59247,17844],{},[18,59249,12366],{"href":12365},[11,59251,59252,17853],{},[94,59253,16086],{},[26,59255,12366],{"id":12366},[11,59257,17858,59258,385],{},[150,59259,17844],{},[11,59261,59262],{},[150,59263,975],{},[866,59265,59266],{"className":978,"code":17867,"language":980,"meta":760,"style":760},[150,59267,59268,59272,59282,59292,59302,59308,59312,59320,59324],{"__ignoreMap":760},[984,59269,59270],{"class":986,"line":987},[984,59271,991],{"class":990},[984,59273,59274,59276,59278,59280],{"class":986,"line":761},[984,59275,997],{"class":996},[984,59277,1000],{"class":990},[984,59279,1004],{"class":1003},[984,59281,1007],{"class":990},[984,59283,59284,59286,59288,59290],{"class":986,"line":772},[984,59285,1012],{"class":996},[984,59287,1015],{"class":990},[984,59289,2431],{"class":996},[984,59291,1021],{"class":990},[984,59293,59294,59296,59298,59300],{"class":986,"line":1024},[984,59295,1027],{"class":996},[984,59297,1000],{"class":990},[984,59299,17902],{"class":1003},[984,59301,1007],{"class":990},[984,59303,59304,59306],{"class":986,"line":1035},[984,59305,1521],{"class":996},[984,59307,1524],{"class":990},[984,59309,59310],{"class":986,"line":1098},[984,59311,1529],{"class":990},[984,59313,59314,59316,59318],{"class":986,"line":1111},[984,59315,17824],{"class":996},[984,59317,1738],{"class":990},[984,59319,17829],{"class":1003},[984,59321,59322],{"class":986,"line":1124},[984,59323,1607],{"class":990},[984,59325,59326],{"class":986,"line":1137},[984,59327,1038],{"class":990},[11,59329,59330],{},[150,59331,1043],{},[866,59333,59334],{"className":978,"code":17937,"language":980,"meta":760,"style":760},[150,59335,59336,59340,59350,59360,59366,59370,59380,59390,59400,59410,59420,59428,59432],{"__ignoreMap":760},[984,59337,59338],{"class":986,"line":987},[984,59339,991],{"class":990},[984,59341,59342,59344,59346,59348],{"class":986,"line":761},[984,59343,997],{"class":996},[984,59345,1000],{"class":990},[984,59347,1004],{"class":1003},[984,59349,1007],{"class":990},[984,59351,59352,59354,59356,59358],{"class":986,"line":772},[984,59353,1012],{"class":996},[984,59355,1015],{"class":990},[984,59357,2431],{"class":996},[984,59359,1021],{"class":990},[984,59361,59362,59364],{"class":986,"line":1024},[984,59363,1724],{"class":996},[984,59365,1665],{"class":990},[984,59367,59368],{"class":986,"line":1035},[984,59369,1529],{"class":990},[984,59371,59372,59374,59376,59378],{"class":986,"line":1098},[984,59373,5904],{"class":996},[984,59375,1015],{"class":990},[984,59377,2682],{"class":996},[984,59379,1021],{"class":990},[984,59381,59382,59384,59386,59388],{"class":986,"line":1111},[984,59383,1220],{"class":996},[984,59385,1015],{"class":990},[984,59387,1171],{"class":996},[984,59389,1021],{"class":990},[984,59391,59392,59394,59396,59398],{"class":986,"line":1124},[984,59393,15017],{"class":996},[984,59395,18000],{"class":990},[984,59397,18003],{"class":1003},[984,59399,1021],{"class":990},[984,59401,59402,59404,59406,59408],{"class":986,"line":1137},[984,59403,15006],{"class":996},[984,59405,1015],{"class":990},[984,59407,18014],{"class":1003},[984,59409,1021],{"class":990},[984,59411,59412,59414,59416,59418],{"class":986,"line":1150},[984,59413,2459],{"class":996},[984,59415,18000],{"class":990},[984,59417,18025],{"class":996},[984,59419,1021],{"class":990},[984,59421,59422,59424,59426],{"class":986,"line":1163},[984,59423,14994],{"class":996},[984,59425,18000],{"class":990},[984,59427,18036],{"class":1003},[984,59429,59430],{"class":986,"line":1176},[984,59431,1607],{"class":990},[984,59433,59434],{"class":986,"line":1189},[984,59435,1038],{"class":990},[89,59437,59438,59442,59446,59450,59454,59458],{},[54,59439,59440,18052],{},[150,59441,18051],{},[54,59443,59444,18058],{},[150,59445,18057],{},[54,59447,59448,18064],{},[150,59449,18063],{},[54,59451,59452,18069],{},[150,59453,2396],{},[54,59455,59456,18074],{},[150,59457,848],{},[54,59459,59460,18079],{},[150,59461,6551],{},[11,59463,59464,18084],{},[94,59465,16086],{},[26,59467,12395],{"id":12395},[11,59469,18089],{},[11,59471,18092],{},[11,59473,59474],{},[150,59475,975],{},[866,59477,59478],{"className":978,"code":18099,"language":980,"meta":760,"style":760},[150,59479,59480,59484,59494,59504,59514,59520,59524,59542,59550,59554],{"__ignoreMap":760},[984,59481,59482],{"class":986,"line":987},[984,59483,991],{"class":990},[984,59485,59486,59488,59490,59492],{"class":986,"line":761},[984,59487,997],{"class":996},[984,59489,1015],{"class":990},[984,59491,1004],{"class":1003},[984,59493,1007],{"class":990},[984,59495,59496,59498,59500,59502],{"class":986,"line":772},[984,59497,1012],{"class":996},[984,59499,1015],{"class":990},[984,59501,1503],{"class":996},[984,59503,1021],{"class":990},[984,59505,59506,59508,59510,59512],{"class":986,"line":1024},[984,59507,1027],{"class":996},[984,59509,1015],{"class":990},[984,59511,18134],{"class":1003},[984,59513,1007],{"class":990},[984,59515,59516,59518],{"class":986,"line":1035},[984,59517,1521],{"class":996},[984,59519,1524],{"class":990},[984,59521,59522],{"class":986,"line":1098},[984,59523,1529],{"class":990},[984,59525,59526,59528,59530,59532,59534,59536,59538,59540],{"class":986,"line":1111},[984,59527,18151],{"class":996},[984,59529,18154],{"class":990},[984,59531,1158],{"class":996},[984,59533,441],{"class":990},[984,59535,1158],{"class":996},[984,59537,441],{"class":990},[984,59539,1158],{"class":996},[984,59541,13917],{"class":990},[984,59543,59544,59546,59548],{"class":986,"line":1124},[984,59545,18171],{"class":996},[984,59547,1015],{"class":990},[984,59549,18176],{"class":1003},[984,59551,59552],{"class":986,"line":1137},[984,59553,1607],{"class":990},[984,59555,59556],{"class":986,"line":1150},[984,59557,1038],{"class":990},[11,59559,18187],{},[11,59561,59562],{},[150,59563,975],{},[866,59565,59566],{"className":978,"code":18194,"language":980,"meta":760,"style":760},[150,59567,59568,59572,59582,59592,59602,59608,59612,59622,59630,59634],{"__ignoreMap":760},[984,59569,59570],{"class":986,"line":987},[984,59571,991],{"class":990},[984,59573,59574,59576,59578,59580],{"class":986,"line":761},[984,59575,997],{"class":996},[984,59577,1015],{"class":990},[984,59579,1004],{"class":1003},[984,59581,1007],{"class":990},[984,59583,59584,59586,59588,59590],{"class":986,"line":772},[984,59585,1012],{"class":996},[984,59587,1015],{"class":990},[984,59589,1503],{"class":996},[984,59591,1021],{"class":990},[984,59593,59594,59596,59598,59600],{"class":986,"line":1024},[984,59595,1027],{"class":996},[984,59597,1015],{"class":990},[984,59599,18134],{"class":1003},[984,59601,1007],{"class":990},[984,59603,59604,59606],{"class":986,"line":1035},[984,59605,1521],{"class":996},[984,59607,1524],{"class":990},[984,59609,59610],{"class":986,"line":1098},[984,59611,1529],{"class":990},[984,59613,59614,59616,59618,59620],{"class":986,"line":1111},[984,59615,18245],{"class":996},[984,59617,1015],{"class":990},[984,59619,18250],{"class":1003},[984,59621,1021],{"class":990},[984,59623,59624,59626,59628],{"class":986,"line":1124},[984,59625,18171],{"class":996},[984,59627,1015],{"class":990},[984,59629,18176],{"class":1003},[984,59631,59632],{"class":986,"line":1137},[984,59633,1607],{"class":990},[984,59635,59636],{"class":986,"line":1150},[984,59637,1038],{"class":990},[89,59639,59640,59644,59648,59652],{},[54,59641,59642,18276],{},[150,59643,18275],{},[54,59645,59646,18282],{},[150,59647,18281],{},[54,59649,59650,18288],{},[150,59651,18287],{},[54,59653,59654,18294,59656,18297,59658,18301,59660,18304,59662,385],{},[150,59655,18293],{},[150,59657,2682],{},[150,59659,18300],{},[18,59661,12406],{"href":12405},[150,59663,2682],{},[11,59665,59666,18311,59668,385],{},[150,59667,18275],{},[150,59669,18281],{},[11,59671,59672],{},[150,59673,1043],{},[866,59675,59676],{"className":978,"code":18320,"language":980,"meta":760,"style":760},[150,59677,59678,59682,59692,59702,59708,59756,59782,59800,59804],{"__ignoreMap":760},[984,59679,59680],{"class":986,"line":987},[984,59681,991],{"class":990},[984,59683,59684,59686,59688,59690],{"class":986,"line":761},[984,59685,1057],{"class":996},[984,59687,1015],{"class":990},[984,59689,1062],{"class":996},[984,59691,1021],{"class":990},[984,59693,59694,59696,59698,59700],{"class":986,"line":772},[984,59695,1069],{"class":996},[984,59697,1015],{"class":990},[984,59699,1004],{"class":1003},[984,59701,1021],{"class":990},[984,59703,59704,59706],{"class":986,"line":1024},[984,59705,1080],{"class":996},[984,59707,1083],{"class":990},[984,59709,59710,59712,59714,59716,59718,59720,59722,59724,59726,59728,59730,59732,59734,59736,59738,59740,59742,59744,59746,59748,59750,59752,59754],{"class":986,"line":1035},[984,59711,18357],{"class":996},[984,59713,1015],{"class":990},[984,59715,18362],{"class":1003},[984,59717,18365],{"class":996},[984,59719,18368],{"class":1003},[984,59721,18365],{"class":996},[984,59723,18373],{"class":1003},[984,59725,18365],{"class":996},[984,59727,18378],{"class":1003},[984,59729,18365],{"class":996},[984,59731,1015],{"class":1003},[984,59733,18365],{"class":996},[984,59735,18387],{"class":1003},[984,59737,18365],{"class":996},[984,59739,11185],{"class":1003},[984,59741,18365],{"class":996},[984,59743,18396],{"class":1003},[984,59745,18365],{"class":996},[984,59747,18401],{"class":1003},[984,59749,18365],{"class":996},[984,59751,18378],{"class":1003},[984,59753,18365],{"class":996},[984,59755,1665],{"class":1003},[984,59757,59758,59760,59762,59764,59766,59768,59770,59772,59774,59776,59778,59780],{"class":986,"line":1098},[984,59759,18414],{"class":996},[984,59761,18417],{"class":1003},[984,59763,18365],{"class":996},[984,59765,11185],{"class":1003},[984,59767,18365],{"class":996},[984,59769,18396],{"class":1003},[984,59771,18365],{"class":996},[984,59773,18430],{"class":1003},[984,59775,18365],{"class":996},[984,59777,18378],{"class":1003},[984,59779,18365],{"class":996},[984,59781,1665],{"class":1003},[984,59783,59784,59786,59788,59790,59792,59794,59796,59798],{"class":986,"line":1111},[984,59785,18414],{"class":996},[984,59787,18445],{"class":1003},[984,59789,18365],{"class":996},[984,59791,11185],{"class":1003},[984,59793,18365],{"class":996},[984,59795,18396],{"class":1003},[984,59797,18365],{"class":996},[984,59799,18458],{"class":1003},[984,59801,59802],{"class":986,"line":1124},[984,59803,1459],{"class":990},[984,59805,59806],{"class":986,"line":1137},[984,59807,1038],{"class":990},[89,59809,59810,59814,59818],{},[54,59811,59812,18473],{},[150,59813,10235],{},[54,59815,59816,18478],{},[150,59817,18300],{},[54,59819,59820,18484,59822],{},[150,59821,18483],{},[18,59823,12406],{"href":12405},[716,59825,18497],{"id":18496},[11,59827,18500],{},[716,59829,18504],{"id":18503},[11,59831,25609,59832,4665,59834,25614],{},[150,59833,18275],{},[150,59835,18281],{},[11,59837,59838],{},[150,59839,975],{},[866,59841,59842],{"className":978,"code":18522,"language":980,"meta":760,"style":760},[150,59843,59844,59848,59858,59868,59878,59884,59894,59902,59906],{"__ignoreMap":760},[984,59845,59846],{"class":986,"line":987},[984,59847,991],{"class":990},[984,59849,59850,59852,59854,59856],{"class":986,"line":761},[984,59851,997],{"class":996},[984,59853,1015],{"class":990},[984,59855,1004],{"class":1003},[984,59857,1021],{"class":990},[984,59859,59860,59862,59864,59866],{"class":986,"line":772},[984,59861,1012],{"class":996},[984,59863,1015],{"class":990},[984,59865,1062],{"class":996},[984,59867,1021],{"class":990},[984,59869,59870,59872,59874,59876],{"class":986,"line":1024},[984,59871,1027],{"class":996},[984,59873,1015],{"class":990},[984,59875,18134],{"class":1003},[984,59877,1021],{"class":990},[984,59879,59880,59882],{"class":986,"line":1035},[984,59881,1521],{"class":996},[984,59883,1083],{"class":990},[984,59885,59886,59888,59890,59892],{"class":986,"line":1098},[984,59887,18245],{"class":996},[984,59889,1015],{"class":990},[984,59891,18573],{"class":1003},[984,59893,1021],{"class":990},[984,59895,59896,59898,59900],{"class":986,"line":1111},[984,59897,18171],{"class":996},[984,59899,1015],{"class":990},[984,59901,18584],{"class":1003},[984,59903,59904],{"class":986,"line":1124},[984,59905,1607],{"class":990},[984,59907,59908],{"class":986,"line":1137},[984,59909,1038],{"class":990},[11,59911,59912],{},[150,59913,1043],{},[866,59915,59916],{"className":978,"code":18599,"language":980,"meta":760,"style":760},[150,59917,59918,59922,59932,59942,59948,59972,59976],{"__ignoreMap":760},[984,59919,59920],{"class":986,"line":987},[984,59921,991],{"class":990},[984,59923,59924,59926,59928,59930],{"class":986,"line":761},[984,59925,1057],{"class":996},[984,59927,1015],{"class":990},[984,59929,1062],{"class":996},[984,59931,1021],{"class":990},[984,59933,59934,59936,59938,59940],{"class":986,"line":772},[984,59935,1069],{"class":996},[984,59937,1015],{"class":990},[984,59939,1004],{"class":1003},[984,59941,1021],{"class":990},[984,59943,59944,59946],{"class":986,"line":1024},[984,59945,1080],{"class":996},[984,59947,1083],{"class":990},[984,59949,59950,59952,59954,59956,59958,59960,59962,59964,59966,59968,59970],{"class":986,"line":1035},[984,59951,18357],{"class":996},[984,59953,1015],{"class":990},[984,59955,18362],{"class":1003},[984,59957,18365],{"class":996},[984,59959,9770],{"class":1003},[984,59961,18365],{"class":996},[984,59963,1015],{"class":1003},[984,59965,18365],{"class":996},[984,59967,18652],{"class":1003},[984,59969,18365],{"class":996},[984,59971,18657],{"class":1003},[984,59973,59974],{"class":986,"line":1098},[984,59975,1459],{"class":990},[984,59977,59978],{"class":986,"line":1111},[984,59979,1038],{"class":990},[716,59981,25762],{"id":25761},[11,59983,25765,59984,25768,59986,25772],{},[150,59985,12395],{},[150,59987,25771],{},[89,59989,59990,59994],{},[54,59991,59992,25779],{},[150,59993,19547],{},[54,59995,59996,25784,59998,25787,60000,25790],{},[150,59997,19550],{},[150,59999,12395],{},[150,60001,19550],{},[26,60003,12406],{"id":12406},[11,60005,18670],{},[11,60007,60008],{},[150,60009,975],{},[866,60011,60012],{"className":978,"code":18677,"language":980,"meta":760,"style":760},[150,60013,60014,60018,60028,60038,60048,60054,60072,60076],{"__ignoreMap":760},[984,60015,60016],{"class":986,"line":987},[984,60017,991],{"class":990},[984,60019,60020,60022,60024,60026],{"class":986,"line":761},[984,60021,997],{"class":996},[984,60023,1015],{"class":990},[984,60025,1004],{"class":1003},[984,60027,1021],{"class":990},[984,60029,60030,60032,60034,60036],{"class":986,"line":772},[984,60031,1012],{"class":996},[984,60033,1015],{"class":990},[984,60035,1062],{"class":996},[984,60037,1021],{"class":990},[984,60039,60040,60042,60044,60046],{"class":986,"line":1024},[984,60041,1027],{"class":996},[984,60043,1015],{"class":990},[984,60045,18712],{"class":1003},[984,60047,1021],{"class":990},[984,60049,60050,60052],{"class":986,"line":1035},[984,60051,1521],{"class":996},[984,60053,1083],{"class":990},[984,60055,60056,60058,60060,60062,60064,60066,60068,60070],{"class":986,"line":1098},[984,60057,18725],{"class":996},[984,60059,18154],{"class":990},[984,60061,1158],{"class":996},[984,60063,441],{"class":990},[984,60065,1158],{"class":996},[984,60067,441],{"class":990},[984,60069,1158],{"class":996},[984,60071,7675],{"class":990},[984,60073,60074],{"class":986,"line":1111},[984,60075,1607],{"class":990},[984,60077,60078],{"class":986,"line":1124},[984,60079,1038],{"class":990},[89,60081,60082],{},[54,60083,60084,18754,60086,18757],{},[150,60085,9736],{},[18,60087,12395],{"href":12394},[11,60089,60090],{},[150,60091,1043],{},[866,60093,60094],{"className":978,"code":18764,"language":980,"meta":760,"style":760},[150,60095,60096,60100,60110,60120,60126,60134,60138],{"__ignoreMap":760},[984,60097,60098],{"class":986,"line":987},[984,60099,991],{"class":990},[984,60101,60102,60104,60106,60108],{"class":986,"line":761},[984,60103,1057],{"class":996},[984,60105,1015],{"class":990},[984,60107,1062],{"class":996},[984,60109,1021],{"class":990},[984,60111,60112,60114,60116,60118],{"class":986,"line":772},[984,60113,1069],{"class":996},[984,60115,1015],{"class":990},[984,60117,1004],{"class":1003},[984,60119,1021],{"class":990},[984,60121,60122,60124],{"class":986,"line":1024},[984,60123,1080],{"class":996},[984,60125,1083],{"class":990},[984,60127,60128,60130,60132],{"class":986,"line":1035},[984,60129,18801],{"class":996},[984,60131,1015],{"class":990},[984,60133,18806],{"class":1003},[984,60135,60136],{"class":986,"line":1098},[984,60137,1459],{"class":990},[984,60139,60140],{"class":986,"line":1111},[984,60141,1038],{"class":990},[89,60143,60144],{},[54,60145,60146,18821],{},[150,60147,18300],{},[26,60149,923],{"id":923},[11,60151,18826,60152],{},[150,60153,2396],{},[11,60155,60156],{},[150,60157,975],{},[866,60159,60160],{"className":978,"code":2406,"language":980,"meta":760,"style":760},[150,60161,60162,60166,60176,60186,60196,60202,60206,60216,60226,60236,60244,60248],{"__ignoreMap":760},[984,60163,60164],{"class":986,"line":987},[984,60165,991],{"class":990},[984,60167,60168,60170,60172,60174],{"class":986,"line":761},[984,60169,997],{"class":996},[984,60171,1000],{"class":990},[984,60173,1004],{"class":1003},[984,60175,1007],{"class":990},[984,60177,60178,60180,60182,60184],{"class":986,"line":772},[984,60179,1012],{"class":996},[984,60181,1015],{"class":990},[984,60183,2431],{"class":996},[984,60185,1021],{"class":990},[984,60187,60188,60190,60192,60194],{"class":986,"line":1024},[984,60189,1027],{"class":996},[984,60191,1000],{"class":990},[984,60193,2442],{"class":1003},[984,60195,1007],{"class":990},[984,60197,60198,60200],{"class":986,"line":1035},[984,60199,1521],{"class":996},[984,60201,1524],{"class":990},[984,60203,60204],{"class":986,"line":1098},[984,60205,1529],{"class":990},[984,60207,60208,60210,60212,60214],{"class":986,"line":1111},[984,60209,2459],{"class":996},[984,60211,1738],{"class":990},[984,60213,2464],{"class":996},[984,60215,1021],{"class":990},[984,60217,60218,60220,60222,60224],{"class":986,"line":1124},[984,60219,1220],{"class":996},[984,60221,1015],{"class":990},[984,60223,1503],{"class":996},[984,60225,1021],{"class":990},[984,60227,60228,60230,60232,60234],{"class":986,"line":1137},[984,60229,1546],{"class":996},[984,60231,1015],{"class":990},[984,60233,2485],{"class":996},[984,60235,1021],{"class":990},[984,60237,60238,60240,60242],{"class":986,"line":1150},[984,60239,2492],{"class":996},[984,60241,1015],{"class":990},[984,60243,2497],{"class":996},[984,60245,60246],{"class":986,"line":1163},[984,60247,1607],{"class":990},[984,60249,60250],{"class":986,"line":1176},[984,60251,1038],{"class":990},[11,60253,60254],{},[150,60255,1043],{},[866,60257,60258],{"className":978,"code":2512,"language":980,"meta":760,"style":760},[150,60259,60260,60264,60274,60284,60290,60294,60304,60314,60324,60334,60344,60352,60356],{"__ignoreMap":760},[984,60261,60262],{"class":986,"line":987},[984,60263,991],{"class":990},[984,60265,60266,60268,60270,60272],{"class":986,"line":761},[984,60267,997],{"class":996},[984,60269,1000],{"class":990},[984,60271,1004],{"class":1003},[984,60273,1007],{"class":990},[984,60275,60276,60278,60280,60282],{"class":986,"line":772},[984,60277,1012],{"class":996},[984,60279,1015],{"class":990},[984,60281,2431],{"class":996},[984,60283,1021],{"class":990},[984,60285,60286,60288],{"class":986,"line":1024},[984,60287,1724],{"class":996},[984,60289,1524],{"class":990},[984,60291,60292],{"class":986,"line":1035},[984,60293,1529],{"class":990},[984,60295,60296,60298,60300,60302],{"class":986,"line":1098},[984,60297,2553],{"class":996},[984,60299,1015],{"class":990},[984,60301,2558],{"class":996},[984,60303,1021],{"class":990},[984,60305,60306,60308,60310,60312],{"class":986,"line":1111},[984,60307,2565],{"class":996},[984,60309,1015],{"class":990},[984,60311,2570],{"class":1003},[984,60313,1021],{"class":990},[984,60315,60316,60318,60320,60322],{"class":986,"line":1124},[984,60317,2577],{"class":996},[984,60319,1015],{"class":990},[984,60321,2558],{"class":996},[984,60323,1021],{"class":990},[984,60325,60326,60328,60330,60332],{"class":986,"line":1137},[984,60327,2588],{"class":996},[984,60329,1015],{"class":990},[984,60331,2570],{"class":1003},[984,60333,1021],{"class":990},[984,60335,60336,60338,60340,60342],{"class":986,"line":1150},[984,60337,2599],{"class":996},[984,60339,1015],{"class":990},[984,60341,2604],{"class":996},[984,60343,1021],{"class":990},[984,60345,60346,60348,60350],{"class":986,"line":1163},[984,60347,2611],{"class":996},[984,60349,1015],{"class":990},[984,60351,2616],{"class":1003},[984,60353,60354],{"class":986,"line":1176},[984,60355,1607],{"class":990},[984,60357,60358],{"class":986,"line":1189},[984,60359,1038],{"class":990},[11,60361,2627],{},[89,60363,60364,60368,60372,60376,60382,60392,60396],{},[54,60365,60366,2634],{},[150,60367,2396],{},[54,60369,60370,19047],{},[150,60371,848],{},[54,60373,60374,2644],{},[150,60375,2139],{},[54,60377,60378,2650,60380],{},[150,60379,2649],{},[150,60381,848],{},[54,60383,60384,2658,60386,163,60388,2663,60390,2667],{},[150,60385,2657],{},[150,60387,2649],{},[150,60389,2657],{},[150,60391,2666],{},[54,60393,60394,2673],{},[150,60395,2672],{},[54,60397,60398,2679,60400,2683],{},[150,60399,2678],{},[150,60401,2682],{},[26,60403,12416],{"id":12416},[11,60405,19082],{},[11,60407,60408],{},[150,60409,975],{},[866,60411,60412],{"className":978,"code":19089,"language":980,"meta":760,"style":760},[150,60413,60414,60418,60428,60438,60448,60454,60458,60466,60470],{"__ignoreMap":760},[984,60415,60416],{"class":986,"line":987},[984,60417,991],{"class":990},[984,60419,60420,60422,60424,60426],{"class":986,"line":761},[984,60421,997],{"class":996},[984,60423,1015],{"class":990},[984,60425,1004],{"class":1003},[984,60427,1007],{"class":990},[984,60429,60430,60432,60434,60436],{"class":986,"line":772},[984,60431,1012],{"class":996},[984,60433,1015],{"class":990},[984,60435,1503],{"class":996},[984,60437,1021],{"class":990},[984,60439,60440,60442,60444,60446],{"class":986,"line":1024},[984,60441,1027],{"class":996},[984,60443,1015],{"class":990},[984,60445,19124],{"class":1003},[984,60447,1007],{"class":990},[984,60449,60450,60452],{"class":986,"line":1035},[984,60451,1521],{"class":996},[984,60453,1524],{"class":990},[984,60455,60456],{"class":986,"line":1098},[984,60457,1529],{"class":990},[984,60459,60460,60462,60464],{"class":986,"line":1111},[984,60461,15752],{"class":996},[984,60463,1015],{"class":990},[984,60465,19145],{"class":996},[984,60467,60468],{"class":986,"line":1124},[984,60469,1607],{"class":990},[984,60471,60472],{"class":986,"line":1137},[984,60473,1038],{"class":990},[89,60475,60476],{},[54,60477,60478,19160],{},[150,60479,6545],{},[11,60481,60482],{},[150,60483,1043],{},[866,60485,60486],{"className":978,"code":19167,"language":980,"meta":760,"style":760},[150,60487,60488,60492,60502,60512,60518,60522,60532,60542,60552,60562,60572,60582,60592,60602,60612,60622,60630,60634],{"__ignoreMap":760},[984,60489,60490],{"class":986,"line":987},[984,60491,991],{"class":990},[984,60493,60494,60496,60498,60500],{"class":986,"line":761},[984,60495,997],{"class":996},[984,60497,1000],{"class":990},[984,60499,1004],{"class":1003},[984,60501,1007],{"class":990},[984,60503,60504,60506,60508,60510],{"class":986,"line":772},[984,60505,1012],{"class":996},[984,60507,1015],{"class":990},[984,60509,2431],{"class":996},[984,60511,1021],{"class":990},[984,60513,60514,60516],{"class":986,"line":1024},[984,60515,1724],{"class":996},[984,60517,1524],{"class":990},[984,60519,60520],{"class":986,"line":1035},[984,60521,1529],{"class":990},[984,60523,60524,60526,60528,60530],{"class":986,"line":1098},[984,60525,19208],{"class":996},[984,60527,1015],{"class":990},[984,60529,19213],{"class":1003},[984,60531,1021],{"class":990},[984,60533,60534,60536,60538,60540],{"class":986,"line":1111},[984,60535,19220],{"class":996},[984,60537,1015],{"class":990},[984,60539,19225],{"class":1003},[984,60541,1021],{"class":990},[984,60543,60544,60546,60548,60550],{"class":986,"line":1124},[984,60545,19232],{"class":996},[984,60547,1015],{"class":990},[984,60549,19237],{"class":1003},[984,60551,1021],{"class":990},[984,60553,60554,60556,60558,60560],{"class":986,"line":1137},[984,60555,16271],{"class":996},[984,60557,1015],{"class":990},[984,60559,19248],{"class":996},[984,60561,1021],{"class":990},[984,60563,60564,60566,60568,60570],{"class":986,"line":1150},[984,60565,15752],{"class":996},[984,60567,1015],{"class":990},[984,60569,4996],{"class":996},[984,60571,1021],{"class":990},[984,60573,60574,60576,60578,60580],{"class":986,"line":1163},[984,60575,19265],{"class":996},[984,60577,1015],{"class":990},[984,60579,19270],{"class":1003},[984,60581,1021],{"class":990},[984,60583,60584,60586,60588,60590],{"class":986,"line":1176},[984,60585,19277],{"class":996},[984,60587,1015],{"class":990},[984,60589,19282],{"class":996},[984,60591,1021],{"class":990},[984,60593,60594,60596,60598,60600],{"class":986,"line":1189},[984,60595,19289],{"class":996},[984,60597,1015],{"class":990},[984,60599,19294],{"class":1003},[984,60601,1021],{"class":990},[984,60603,60604,60606,60608,60610],{"class":986,"line":1202},[984,60605,19301],{"class":996},[984,60607,1015],{"class":990},[984,60609,19306],{"class":1003},[984,60611,1021],{"class":990},[984,60613,60614,60616,60618,60620],{"class":986,"line":1211},[984,60615,19313],{"class":996},[984,60617,1015],{"class":990},[984,60619,19318],{"class":1003},[984,60621,1021],{"class":990},[984,60623,60624,60626,60628],{"class":986,"line":1217},[984,60625,19325],{"class":996},[984,60627,1015],{"class":990},[984,60629,19330],{"class":996},[984,60631,60632],{"class":986,"line":1229},[984,60633,1607],{"class":990},[984,60635,60636],{"class":986,"line":1241},[984,60637,1038],{"class":990},[89,60639,60640,60644,60648,60652,60656,60660,60664,60668,60672,60676,60680],{},[54,60641,60642,19346],{},[150,60643,19345],{},[54,60645,60646,19352],{},[150,60647,19351],{},[54,60649,60650,19357],{},[150,60651,8363],{},[54,60653,60654,19362],{},[150,60655,10335],{},[54,60657,60658,19367],{},[150,60659,6545],{},[54,60661,60662,19372],{},[150,60663,133],{},[54,60665,60666,19378],{},[150,60667,19377],{},[54,60669,60670,19384],{},[150,60671,19383],{},[54,60673,60674,19390],{},[150,60675,19389],{},[54,60677,60678,19396],{},[150,60679,19395],{},[54,60681,60682,19402],{},[150,60683,19401],{},[26,60685,19484],{"id":19484},[11,60687,26481],{},[11,60689,60690],{},[150,60691,975],{},[866,60693,60694],{"className":978,"code":26488,"language":980,"meta":760,"style":760},[150,60695,60696,60700,60710,60720,60728],{"__ignoreMap":760},[984,60697,60698],{"class":986,"line":987},[984,60699,991],{"class":990},[984,60701,60702,60704,60706,60708],{"class":986,"line":761},[984,60703,997],{"class":996},[984,60705,1015],{"class":990},[984,60707,1004],{"class":1003},[984,60709,1007],{"class":990},[984,60711,60712,60714,60716,60718],{"class":986,"line":772},[984,60713,1012],{"class":996},[984,60715,1015],{"class":990},[984,60717,1345],{"class":996},[984,60719,1021],{"class":990},[984,60721,60722,60724,60726],{"class":986,"line":1024},[984,60723,1027],{"class":996},[984,60725,1015],{"class":990},[984,60727,26523],{"class":1003},[984,60729,60730],{"class":986,"line":1035},[984,60731,1038],{"class":990},[11,60733,60734],{},[150,60735,1043],{},[866,60737,60738],{"className":978,"code":26534,"language":980,"meta":760,"style":760},[150,60739,60740,60744,60754,60764,60770,60780,60790,60800,60810,60820,60830,60840,60850,60858,60862],{"__ignoreMap":760},[984,60741,60742],{"class":986,"line":987},[984,60743,991],{"class":990},[984,60745,60746,60748,60750,60752],{"class":986,"line":761},[984,60747,1057],{"class":996},[984,60749,1015],{"class":990},[984,60751,1345],{"class":996},[984,60753,1021],{"class":990},[984,60755,60756,60758,60760,60762],{"class":986,"line":772},[984,60757,1069],{"class":996},[984,60759,1015],{"class":990},[984,60761,1004],{"class":1003},[984,60763,1021],{"class":990},[984,60765,60766,60768],{"class":986,"line":1024},[984,60767,1080],{"class":996},[984,60769,1083],{"class":990},[984,60771,60772,60774,60776,60778],{"class":986,"line":1035},[984,60773,26571],{"class":996},[984,60775,1015],{"class":990},[984,60777,26576],{"class":1003},[984,60779,1021],{"class":990},[984,60781,60782,60784,60786,60788],{"class":986,"line":1098},[984,60783,26583],{"class":996},[984,60785,1015],{"class":990},[984,60787,1018],{"class":996},[984,60789,1021],{"class":990},[984,60791,60792,60794,60796,60798],{"class":986,"line":1111},[984,60793,26594],{"class":996},[984,60795,1015],{"class":990},[984,60797,1345],{"class":996},[984,60799,1021],{"class":990},[984,60801,60802,60804,60806,60808],{"class":986,"line":1124},[984,60803,26605],{"class":996},[984,60805,1015],{"class":990},[984,60807,26610],{"class":1003},[984,60809,1021],{"class":990},[984,60811,60812,60814,60816,60818],{"class":986,"line":1137},[984,60813,26617],{"class":996},[984,60815,1015],{"class":990},[984,60817,26622],{"class":1003},[984,60819,1021],{"class":990},[984,60821,60822,60824,60826,60828],{"class":986,"line":1150},[984,60823,26629],{"class":996},[984,60825,1015],{"class":990},[984,60827,26634],{"class":1003},[984,60829,1021],{"class":990},[984,60831,60832,60834,60836,60838],{"class":986,"line":1163},[984,60833,26641],{"class":996},[984,60835,1015],{"class":990},[984,60837,1018],{"class":996},[984,60839,1021],{"class":990},[984,60841,60842,60844,60846,60848],{"class":986,"line":1176},[984,60843,26652],{"class":996},[984,60845,1015],{"class":990},[984,60847,1345],{"class":996},[984,60849,1021],{"class":990},[984,60851,60852,60854,60856],{"class":986,"line":1189},[984,60853,26663],{"class":996},[984,60855,1015],{"class":990},[984,60857,26668],{"class":996},[984,60859,60860],{"class":986,"line":1202},[984,60861,1459],{"class":990},[984,60863,60864],{"class":986,"line":1211},[984,60865,1038],{"class":990},[89,60867,60868,60872],{},[54,60869,60870,26684],{},[150,60871,26683],{},[54,60873,60874,26690,60876,2758],{},[150,60875,26689],{},[18,60877,26693],{"href":26693,"rel":60878},[22],[26,60880,29419],{"id":29419},[11,60882,37464],{},[11,60884,60885],{},[150,60886,975],{},[866,60888,60889],{"className":978,"code":37471,"language":980,"meta":760,"style":760},[150,60890,60891,60895,60905,60915,60925,60931,60935,60953,60963,60971,60975],{"__ignoreMap":760},[984,60892,60893],{"class":986,"line":987},[984,60894,991],{"class":990},[984,60896,60897,60899,60901,60903],{"class":986,"line":761},[984,60898,997],{"class":996},[984,60900,1000],{"class":990},[984,60902,1004],{"class":1003},[984,60904,1007],{"class":990},[984,60906,60907,60909,60911,60913],{"class":986,"line":772},[984,60908,1012],{"class":996},[984,60910,1015],{"class":990},[984,60912,1345],{"class":996},[984,60914,1021],{"class":990},[984,60916,60917,60919,60921,60923],{"class":986,"line":1024},[984,60918,1027],{"class":996},[984,60920,1015],{"class":990},[984,60922,37506],{"class":1003},[984,60924,1007],{"class":990},[984,60926,60927,60929],{"class":986,"line":1035},[984,60928,1521],{"class":996},[984,60930,1524],{"class":990},[984,60932,60933],{"class":986,"line":1098},[984,60934,1529],{"class":990},[984,60936,60937,60939,60941,60943,60945,60947,60949,60951],{"class":986,"line":1111},[984,60938,18725],{"class":996},[984,60940,13897],{"class":990},[984,60942,1345],{"class":996},[984,60944,441],{"class":990},[984,60946,1503],{"class":996},[984,60948,441],{"class":990},[984,60950,5131],{"class":996},[984,60952,13917],{"class":990},[984,60954,60955,60957,60959,60961],{"class":986,"line":1124},[984,60956,37541],{"class":996},[984,60958,37544],{"class":990},[984,60960,2682],{"class":996},[984,60962,1021],{"class":990},[984,60964,60965,60967,60969],{"class":986,"line":1137},[984,60966,37553],{"class":996},[984,60968,1015],{"class":990},[984,60970,37558],{"class":996},[984,60972,60973],{"class":986,"line":1150},[984,60974,1607],{"class":990},[984,60976,60977],{"class":986,"line":1163},[984,60978,1038],{"class":990},[89,60980,60981,60985,60993],{},[54,60982,60983,37573],{},[150,60984,9736],{},[54,60986,60987,37579,60989,37582,60991,385],{},[150,60988,37578],{},[150,60990,2682],{},[150,60992,2682],{},[54,60994,60995,37590],{},[150,60996,37589],{},[11,60998,60999],{},[150,61000,1043],{},[866,61002,61003],{"className":978,"code":37597,"language":980,"meta":760,"style":760},[150,61004,61005,61009,61019,61029,61035,61039,61049,61057,61061],{"__ignoreMap":760},[984,61006,61007],{"class":986,"line":987},[984,61008,991],{"class":990},[984,61010,61011,61013,61015,61017],{"class":986,"line":761},[984,61012,997],{"class":996},[984,61014,1000],{"class":990},[984,61016,1004],{"class":1003},[984,61018,1007],{"class":990},[984,61020,61021,61023,61025,61027],{"class":986,"line":772},[984,61022,1012],{"class":996},[984,61024,1015],{"class":990},[984,61026,1345],{"class":996},[984,61028,1021],{"class":990},[984,61030,61031,61033],{"class":986,"line":1024},[984,61032,1724],{"class":996},[984,61034,5895],{"class":990},[984,61036,61037],{"class":986,"line":1035},[984,61038,1529],{"class":990},[984,61040,61041,61043,61045,61047],{"class":986,"line":1098},[984,61042,37638],{"class":996},[984,61044,1738],{"class":990},[984,61046,37643],{"class":1003},[984,61048,1021],{"class":990},[984,61050,61051,61053,61055],{"class":986,"line":1111},[984,61052,37650],{"class":996},[984,61054,1015],{"class":990},[984,61056,2497],{"class":996},[984,61058,61059],{"class":986,"line":1124},[984,61060,1607],{"class":990},[984,61062,61063],{"class":986,"line":1137},[984,61064,1038],{"class":990},[89,61066,61067,61071],{},[54,61068,61069,37669],{},[150,61070,6548],{},[54,61072,61073,37675],{},[150,61074,37674],{},[26,61076,29429],{"id":29429},[11,61078,37680],{},[11,61080,61081],{},[150,61082,975],{},[866,61084,61085],{"className":978,"code":37687,"language":980,"meta":760,"style":760},[150,61086,61087,61091,61101,61111,61121,61127,61131,61149,61157,61161],{"__ignoreMap":760},[984,61088,61089],{"class":986,"line":987},[984,61090,991],{"class":990},[984,61092,61093,61095,61097,61099],{"class":986,"line":761},[984,61094,997],{"class":996},[984,61096,1000],{"class":990},[984,61098,1004],{"class":1003},[984,61100,1007],{"class":990},[984,61102,61103,61105,61107,61109],{"class":986,"line":772},[984,61104,1012],{"class":996},[984,61106,1015],{"class":990},[984,61108,1345],{"class":996},[984,61110,1021],{"class":990},[984,61112,61113,61115,61117,61119],{"class":986,"line":1024},[984,61114,1027],{"class":996},[984,61116,1015],{"class":990},[984,61118,37722],{"class":1003},[984,61120,1007],{"class":990},[984,61122,61123,61125],{"class":986,"line":1035},[984,61124,1521],{"class":996},[984,61126,1524],{"class":990},[984,61128,61129],{"class":986,"line":1098},[984,61130,1529],{"class":990},[984,61132,61133,61135,61137,61139,61141,61143,61145,61147],{"class":986,"line":1111},[984,61134,18725],{"class":996},[984,61136,13897],{"class":990},[984,61138,1345],{"class":996},[984,61140,441],{"class":990},[984,61142,1503],{"class":996},[984,61144,441],{"class":990},[984,61146,5131],{"class":996},[984,61148,13917],{"class":990},[984,61150,61151,61153,61155],{"class":986,"line":1124},[984,61152,37553],{"class":996},[984,61154,1015],{"class":990},[984,61156,37558],{"class":996},[984,61158,61159],{"class":986,"line":1137},[984,61160,1607],{"class":990},[984,61162,61163],{"class":986,"line":1150},[984,61164,1038],{"class":990},[89,61166,61167,61171],{},[54,61168,61169,37775],{},[150,61170,9736],{},[54,61172,61173,37590],{},[150,61174,37589],{},[11,61176,61177],{},[150,61178,1043],{},[866,61180,61181],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,61182,61183,61187,61197,61207,61213,61217,61225,61229],{"__ignoreMap":760},[984,61184,61185],{"class":986,"line":987},[984,61186,991],{"class":990},[984,61188,61189,61191,61193,61195],{"class":986,"line":761},[984,61190,997],{"class":996},[984,61192,1000],{"class":990},[984,61194,1004],{"class":1003},[984,61196,1007],{"class":990},[984,61198,61199,61201,61203,61205],{"class":986,"line":772},[984,61200,1012],{"class":996},[984,61202,1015],{"class":990},[984,61204,1345],{"class":996},[984,61206,1021],{"class":990},[984,61208,61209,61211],{"class":986,"line":1024},[984,61210,1724],{"class":996},[984,61212,5895],{"class":990},[984,61214,61215],{"class":986,"line":1035},[984,61216,1529],{"class":990},[984,61218,61219,61221,61223],{"class":986,"line":1098},[984,61220,37638],{"class":996},[984,61222,1738],{"class":990},[984,61224,37831],{"class":1003},[984,61226,61227],{"class":986,"line":1111},[984,61228,1607],{"class":990},[984,61230,61231],{"class":986,"line":1124},[984,61232,1038],{"class":990},[89,61234,61235],{},[54,61236,61237,37846],{},[150,61238,6548],{},[26,61240,29439],{"id":29439},[11,61242,37851],{},[11,61244,61245],{},[150,61246,975],{},[866,61248,61249],{"className":978,"code":37858,"language":980,"meta":760,"style":760},[150,61250,61251,61255,61265,61275,61285,61291,61295,61305,61313,61317],{"__ignoreMap":760},[984,61252,61253],{"class":986,"line":987},[984,61254,991],{"class":990},[984,61256,61257,61259,61261,61263],{"class":986,"line":761},[984,61258,997],{"class":996},[984,61260,1000],{"class":990},[984,61262,1004],{"class":1003},[984,61264,1007],{"class":990},[984,61266,61267,61269,61271,61273],{"class":986,"line":772},[984,61268,1012],{"class":996},[984,61270,1015],{"class":990},[984,61272,1345],{"class":996},[984,61274,1021],{"class":990},[984,61276,61277,61279,61281,61283],{"class":986,"line":1024},[984,61278,1027],{"class":996},[984,61280,1015],{"class":990},[984,61282,37893],{"class":1003},[984,61284,1007],{"class":990},[984,61286,61287,61289],{"class":986,"line":1035},[984,61288,1521],{"class":996},[984,61290,1524],{"class":990},[984,61292,61293],{"class":986,"line":1098},[984,61294,1529],{"class":990},[984,61296,61297,61299,61301,61303],{"class":986,"line":1111},[984,61298,37638],{"class":996},[984,61300,1738],{"class":990},[984,61302,37643],{"class":1003},[984,61304,1021],{"class":990},[984,61306,61307,61309,61311],{"class":986,"line":1124},[984,61308,37553],{"class":996},[984,61310,1015],{"class":990},[984,61312,37558],{"class":996},[984,61314,61315],{"class":986,"line":1137},[984,61316,1607],{"class":990},[984,61318,61319],{"class":986,"line":1150},[984,61320,1038],{"class":990},[89,61322,61323,61327],{},[54,61324,61325,37938],{},[150,61326,6548],{},[54,61328,61329,37590],{},[150,61330,37589],{},[11,61332,61333],{},[150,61334,1043],{},[866,61336,61337],{"className":978,"code":37949,"language":980,"meta":760,"style":760},[150,61338,61339,61343,61353,61363,61369,61373,61383,61401,61405],{"__ignoreMap":760},[984,61340,61341],{"class":986,"line":987},[984,61342,991],{"class":990},[984,61344,61345,61347,61349,61351],{"class":986,"line":761},[984,61346,997],{"class":996},[984,61348,1000],{"class":990},[984,61350,1004],{"class":1003},[984,61352,1007],{"class":990},[984,61354,61355,61357,61359,61361],{"class":986,"line":772},[984,61356,1012],{"class":996},[984,61358,1015],{"class":990},[984,61360,1345],{"class":996},[984,61362,1021],{"class":990},[984,61364,61365,61367],{"class":986,"line":1024},[984,61366,1724],{"class":996},[984,61368,5895],{"class":990},[984,61370,61371],{"class":986,"line":1035},[984,61372,1529],{"class":990},[984,61374,61375,61377,61379,61381],{"class":986,"line":1098},[984,61376,37638],{"class":996},[984,61378,1738],{"class":990},[984,61380,37643],{"class":1003},[984,61382,1021],{"class":990},[984,61384,61385,61387,61389,61391,61393,61395,61397,61399],{"class":986,"line":1111},[984,61386,18725],{"class":996},[984,61388,13897],{"class":990},[984,61390,1345],{"class":996},[984,61392,441],{"class":990},[984,61394,1503],{"class":996},[984,61396,441],{"class":990},[984,61398,5131],{"class":996},[984,61400,7675],{"class":990},[984,61402,61403],{"class":986,"line":1124},[984,61404,1607],{"class":990},[984,61406,61407],{"class":986,"line":1137},[984,61408,1038],{"class":990},[89,61410,61411,61415],{},[54,61412,61413,37846],{},[150,61414,6548],{},[54,61416,61417,38032],{},[150,61418,9736],{},[26,61420,29449],{"id":29449},[11,61422,38037,61423,38040],{},[150,61424,29439],{},[11,61426,61427],{},[150,61428,975],{},[866,61430,61431],{"className":978,"code":38047,"language":980,"meta":760,"style":760},[150,61432,61433,61437,61447,61457,61467,61473,61477,61487,61495,61499],{"__ignoreMap":760},[984,61434,61435],{"class":986,"line":987},[984,61436,991],{"class":990},[984,61438,61439,61441,61443,61445],{"class":986,"line":761},[984,61440,997],{"class":996},[984,61442,1000],{"class":990},[984,61444,1004],{"class":1003},[984,61446,1007],{"class":990},[984,61448,61449,61451,61453,61455],{"class":986,"line":772},[984,61450,1012],{"class":996},[984,61452,1015],{"class":990},[984,61454,1345],{"class":996},[984,61456,1021],{"class":990},[984,61458,61459,61461,61463,61465],{"class":986,"line":1024},[984,61460,1027],{"class":996},[984,61462,1015],{"class":990},[984,61464,38082],{"class":1003},[984,61466,1007],{"class":990},[984,61468,61469,61471],{"class":986,"line":1035},[984,61470,1521],{"class":996},[984,61472,1524],{"class":990},[984,61474,61475],{"class":986,"line":1098},[984,61476,1529],{"class":990},[984,61478,61479,61481,61483,61485],{"class":986,"line":1111},[984,61480,37638],{"class":996},[984,61482,1738],{"class":990},[984,61484,37643],{"class":1003},[984,61486,1021],{"class":990},[984,61488,61489,61491,61493],{"class":986,"line":1124},[984,61490,37553],{"class":996},[984,61492,1015],{"class":990},[984,61494,37558],{"class":996},[984,61496,61497],{"class":986,"line":1137},[984,61498,1607],{"class":990},[984,61500,61501],{"class":986,"line":1150},[984,61502,1038],{"class":990},[89,61504,61505,61509],{},[54,61506,61507,38127],{},[150,61508,6548],{},[54,61510,61511,37590],{},[150,61512,37589],{},[11,61514,61515],{},[150,61516,1043],{},[866,61518,61519],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,61520,61521,61525,61535,61545,61551,61555,61563,61567],{"__ignoreMap":760},[984,61522,61523],{"class":986,"line":987},[984,61524,991],{"class":990},[984,61526,61527,61529,61531,61533],{"class":986,"line":761},[984,61528,997],{"class":996},[984,61530,1000],{"class":990},[984,61532,1004],{"class":1003},[984,61534,1007],{"class":990},[984,61536,61537,61539,61541,61543],{"class":986,"line":772},[984,61538,1012],{"class":996},[984,61540,1015],{"class":990},[984,61542,1345],{"class":996},[984,61544,1021],{"class":990},[984,61546,61547,61549],{"class":986,"line":1024},[984,61548,1724],{"class":996},[984,61550,5895],{"class":990},[984,61552,61553],{"class":986,"line":1035},[984,61554,1529],{"class":990},[984,61556,61557,61559,61561],{"class":986,"line":1098},[984,61558,37638],{"class":996},[984,61560,1738],{"class":990},[984,61562,37831],{"class":1003},[984,61564,61565],{"class":986,"line":1111},[984,61566,1607],{"class":990},[984,61568,61569],{"class":986,"line":1124},[984,61570,1038],{"class":990},[89,61572,61573],{},[54,61574,61575,38196],{},[150,61576,6548],{},[26,61578,29459],{"id":29459},[11,61580,38201,61581,38204],{},[150,61582,29439],{},[11,61584,61585],{},[150,61586,975],{},[866,61588,61589],{"className":978,"code":38211,"language":980,"meta":760,"style":760},[150,61590,61591,61595,61605,61615,61625,61631,61635,61643,61647],{"__ignoreMap":760},[984,61592,61593],{"class":986,"line":987},[984,61594,991],{"class":990},[984,61596,61597,61599,61601,61603],{"class":986,"line":761},[984,61598,997],{"class":996},[984,61600,1000],{"class":990},[984,61602,1004],{"class":1003},[984,61604,1007],{"class":990},[984,61606,61607,61609,61611,61613],{"class":986,"line":772},[984,61608,1012],{"class":996},[984,61610,1015],{"class":990},[984,61612,1345],{"class":996},[984,61614,1021],{"class":990},[984,61616,61617,61619,61621,61623],{"class":986,"line":1024},[984,61618,1027],{"class":996},[984,61620,1015],{"class":990},[984,61622,38246],{"class":1003},[984,61624,1007],{"class":990},[984,61626,61627,61629],{"class":986,"line":1035},[984,61628,1521],{"class":996},[984,61630,1524],{"class":990},[984,61632,61633],{"class":986,"line":1098},[984,61634,1529],{"class":990},[984,61636,61637,61639,61641],{"class":986,"line":1111},[984,61638,37638],{"class":996},[984,61640,1738],{"class":990},[984,61642,37831],{"class":1003},[984,61644,61645],{"class":986,"line":1124},[984,61646,1607],{"class":990},[984,61648,61649],{"class":986,"line":1137},[984,61650,1038],{"class":990},[89,61652,61653],{},[54,61654,61655,38281],{},[150,61656,6548],{},[11,61658,61659],{},[150,61660,1043],{},[866,61662,61663],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,61664,61665,61669,61679,61689,61695,61699,61707,61711],{"__ignoreMap":760},[984,61666,61667],{"class":986,"line":987},[984,61668,991],{"class":990},[984,61670,61671,61673,61675,61677],{"class":986,"line":761},[984,61672,997],{"class":996},[984,61674,1000],{"class":990},[984,61676,1004],{"class":1003},[984,61678,1007],{"class":990},[984,61680,61681,61683,61685,61687],{"class":986,"line":772},[984,61682,1012],{"class":996},[984,61684,1015],{"class":990},[984,61686,1345],{"class":996},[984,61688,1021],{"class":990},[984,61690,61691,61693],{"class":986,"line":1024},[984,61692,1724],{"class":996},[984,61694,5895],{"class":990},[984,61696,61697],{"class":986,"line":1035},[984,61698,1529],{"class":990},[984,61700,61701,61703,61705],{"class":986,"line":1098},[984,61702,37638],{"class":996},[984,61704,1738],{"class":990},[984,61706,37831],{"class":1003},[984,61708,61709],{"class":986,"line":1111},[984,61710,1607],{"class":990},[984,61712,61713],{"class":986,"line":1124},[984,61714,1038],{"class":990},[89,61716,61717],{},[54,61718,61719,38346],{},[150,61720,6548],{},[26,61722,29469],{"id":29469},[11,61724,38351],{},[11,61726,61727],{},[150,61728,975],{},[866,61730,61731],{"className":978,"code":38358,"language":980,"meta":760,"style":760},[150,61732,61733,61737,61747,61757,61767,61773,61777,61785,61789],{"__ignoreMap":760},[984,61734,61735],{"class":986,"line":987},[984,61736,991],{"class":990},[984,61738,61739,61741,61743,61745],{"class":986,"line":761},[984,61740,997],{"class":996},[984,61742,1000],{"class":990},[984,61744,1004],{"class":1003},[984,61746,1007],{"class":990},[984,61748,61749,61751,61753,61755],{"class":986,"line":772},[984,61750,1012],{"class":996},[984,61752,1015],{"class":990},[984,61754,1345],{"class":996},[984,61756,1021],{"class":990},[984,61758,61759,61761,61763,61765],{"class":986,"line":1024},[984,61760,1027],{"class":996},[984,61762,1015],{"class":990},[984,61764,38393],{"class":1003},[984,61766,1007],{"class":990},[984,61768,61769,61771],{"class":986,"line":1035},[984,61770,1521],{"class":996},[984,61772,1524],{"class":990},[984,61774,61775],{"class":986,"line":1098},[984,61776,1529],{"class":990},[984,61778,61779,61781,61783],{"class":986,"line":1111},[984,61780,37553],{"class":996},[984,61782,1738],{"class":990},[984,61784,38414],{"class":996},[984,61786,61787],{"class":986,"line":1124},[984,61788,1607],{"class":990},[984,61790,61791],{"class":986,"line":1137},[984,61792,1038],{"class":990},[89,61794,61795],{},[54,61796,61797,37590],{},[150,61798,37589],{},[11,61800,61801],{},[150,61802,1043],{},[866,61804,61805],{"className":978,"code":38435,"language":980,"meta":760,"style":760},[150,61806,61807,61811,61821,61831,61837,61841,61849,61853],{"__ignoreMap":760},[984,61808,61809],{"class":986,"line":987},[984,61810,991],{"class":990},[984,61812,61813,61815,61817,61819],{"class":986,"line":761},[984,61814,997],{"class":996},[984,61816,1000],{"class":990},[984,61818,1004],{"class":1003},[984,61820,1007],{"class":990},[984,61822,61823,61825,61827,61829],{"class":986,"line":772},[984,61824,1012],{"class":996},[984,61826,1015],{"class":990},[984,61828,1345],{"class":996},[984,61830,1021],{"class":990},[984,61832,61833,61835],{"class":986,"line":1024},[984,61834,1724],{"class":996},[984,61836,5895],{"class":990},[984,61838,61839],{"class":986,"line":1035},[984,61840,1529],{"class":990},[984,61842,61843,61845,61847],{"class":986,"line":1098},[984,61844,38476],{"class":996},[984,61846,1738],{"class":990},[984,61848,2497],{"class":996},[984,61850,61851],{"class":986,"line":1111},[984,61852,1607],{"class":990},[984,61854,61855],{"class":986,"line":1124},[984,61856,1038],{"class":990},[89,61858,61859],{},[54,61860,61861,38495],{},[150,61862,9741],{},[26,61864,19492],{"id":19492},[11,61866,26699],{},[11,61868,61869],{},[150,61870,975],{},[866,61872,61873],{"className":978,"code":26706,"language":980,"meta":760,"style":760},[150,61874,61875,61879,61889,61899,61909,61915,61925,61935,61945,61955,61965,61973,61977],{"__ignoreMap":760},[984,61876,61877],{"class":986,"line":987},[984,61878,991],{"class":990},[984,61880,61881,61883,61885,61887],{"class":986,"line":761},[984,61882,997],{"class":996},[984,61884,1015],{"class":990},[984,61886,1004],{"class":1003},[984,61888,1007],{"class":990},[984,61890,61891,61893,61895,61897],{"class":986,"line":772},[984,61892,1012],{"class":996},[984,61894,1015],{"class":990},[984,61896,1345],{"class":996},[984,61898,1021],{"class":990},[984,61900,61901,61903,61905,61907],{"class":986,"line":1024},[984,61902,1027],{"class":996},[984,61904,1015],{"class":990},[984,61906,26741],{"class":1003},[984,61908,1021],{"class":990},[984,61910,61911,61913],{"class":986,"line":1035},[984,61912,1521],{"class":996},[984,61914,1083],{"class":990},[984,61916,61917,61919,61921,61923],{"class":986,"line":1098},[984,61918,26754],{"class":996},[984,61920,1015],{"class":990},[984,61922,2682],{"class":996},[984,61924,1021],{"class":990},[984,61926,61927,61929,61931,61933],{"class":986,"line":1111},[984,61928,26765],{"class":996},[984,61930,1015],{"class":990},[984,61932,2682],{"class":996},[984,61934,1021],{"class":990},[984,61936,61937,61939,61941,61943],{"class":986,"line":1124},[984,61938,26776],{"class":996},[984,61940,1015],{"class":990},[984,61942,2682],{"class":996},[984,61944,1021],{"class":990},[984,61946,61947,61949,61951,61953],{"class":986,"line":1137},[984,61948,26787],{"class":996},[984,61950,1015],{"class":990},[984,61952,2682],{"class":996},[984,61954,1021],{"class":990},[984,61956,61957,61959,61961,61963],{"class":986,"line":1150},[984,61958,26798],{"class":996},[984,61960,1015],{"class":990},[984,61962,2682],{"class":996},[984,61964,1021],{"class":990},[984,61966,61967,61969,61971],{"class":986,"line":1163},[984,61968,26809],{"class":996},[984,61970,1015],{"class":990},[984,61972,2497],{"class":996},[984,61974,61975],{"class":986,"line":1176},[984,61976,1607],{"class":990},[984,61978,61979],{"class":986,"line":1189},[984,61980,1038],{"class":990},[11,61982,61983],{},[150,61984,1043],{},[866,61986,61987],{"className":978,"code":26828,"language":980,"meta":760,"style":760},[150,61988,61989,61993,62003,62013,62021],{"__ignoreMap":760},[984,61990,61991],{"class":986,"line":987},[984,61992,991],{"class":990},[984,61994,61995,61997,61999,62001],{"class":986,"line":761},[984,61996,1057],{"class":996},[984,61998,1015],{"class":990},[984,62000,1345],{"class":996},[984,62002,1021],{"class":990},[984,62004,62005,62007,62009,62011],{"class":986,"line":772},[984,62006,1069],{"class":996},[984,62008,1015],{"class":990},[984,62010,1004],{"class":1003},[984,62012,1021],{"class":990},[984,62014,62015,62017,62019],{"class":986,"line":1024},[984,62016,1080],{"class":996},[984,62018,1015],{"class":990},[984,62020,2497],{"class":996},[984,62022,62023],{"class":986,"line":1035},[984,62024,1038],{"class":990},[89,62026,62027],{},[54,62028,62029,26874,62031,26877],{},[150,62030,26873],{},[150,62032,26873],{},[26,62034,19563],{"id":19563},[11,62036,26979],{},[89,62038,62039,62041],{},[54,62040,26984],{},[54,62042,26987],{},[11,62044,26990],{},[11,62046,62047],{},[150,62048,26995],{},[866,62050,62051],{"className":978,"code":26998,"language":980,"meta":760,"style":760},[150,62052,62053,62057,62067,62077,62083,62093,62103,62113,62123,62133,62143,62153,62163,62173,62183,62191,62195],{"__ignoreMap":760},[984,62054,62055],{"class":986,"line":987},[984,62056,991],{"class":990},[984,62058,62059,62061,62063,62065],{"class":986,"line":761},[984,62060,1057],{"class":996},[984,62062,1015],{"class":990},[984,62064,27013],{"class":1003},[984,62066,1021],{"class":990},[984,62068,62069,62071,62073,62075],{"class":986,"line":772},[984,62070,1069],{"class":996},[984,62072,1015],{"class":990},[984,62074,1004],{"class":1003},[984,62076,1021],{"class":990},[984,62078,62079,62081],{"class":986,"line":1024},[984,62080,1080],{"class":996},[984,62082,1083],{"class":990},[984,62084,62085,62087,62089,62091],{"class":986,"line":1035},[984,62086,1088],{"class":996},[984,62088,1015],{"class":990},[984,62090,27040],{"class":996},[984,62092,1021],{"class":990},[984,62094,62095,62097,62099,62101],{"class":986,"line":1098},[984,62096,1101],{"class":996},[984,62098,1015],{"class":990},[984,62100,27051],{"class":1003},[984,62102,1021],{"class":990},[984,62104,62105,62107,62109,62111],{"class":986,"line":1111},[984,62106,23533],{"class":996},[984,62108,1015],{"class":990},[984,62110,27062],{"class":996},[984,62112,1021],{"class":990},[984,62114,62115,62117,62119,62121],{"class":986,"line":1124},[984,62116,27069],{"class":996},[984,62118,1015],{"class":990},[984,62120,1171],{"class":996},[984,62122,1021],{"class":990},[984,62124,62125,62127,62129,62131],{"class":986,"line":1137},[984,62126,27080],{"class":996},[984,62128,1015],{"class":990},[984,62130,1503],{"class":996},[984,62132,1021],{"class":990},[984,62134,62135,62137,62139,62141],{"class":986,"line":1150},[984,62136,23554],{"class":996},[984,62138,1015],{"class":990},[984,62140,2682],{"class":996},[984,62142,1021],{"class":990},[984,62144,62145,62147,62149,62151],{"class":986,"line":1163},[984,62146,1127],{"class":996},[984,62148,1015],{"class":990},[984,62150,27105],{"class":1003},[984,62152,1021],{"class":990},[984,62154,62155,62157,62159,62161],{"class":986,"line":1176},[984,62156,27112],{"class":996},[984,62158,1015],{"class":990},[984,62160,27117],{"class":996},[984,62162,1021],{"class":990},[984,62164,62165,62167,62169,62171],{"class":986,"line":1189},[984,62166,27124],{"class":996},[984,62168,1015],{"class":990},[984,62170,27051],{"class":1003},[984,62172,1021],{"class":990},[984,62174,62175,62177,62179,62181],{"class":986,"line":1202},[984,62176,27135],{"class":996},[984,62178,1015],{"class":990},[984,62180,27140],{"class":1003},[984,62182,1021],{"class":990},[984,62184,62185,62187,62189],{"class":986,"line":1211},[984,62186,27147],{"class":996},[984,62188,1015],{"class":990},[984,62190,27152],{"class":996},[984,62192,62193],{"class":986,"line":1217},[984,62194,1459],{"class":990},[984,62196,62197],{"class":986,"line":1229},[984,62198,1038],{"class":990},[11,62200,27163,62201,557,62203,27170,62205,27174,62207,27177,62209,27180,62211,27183,62213,27186],{},[150,62202,27166],{},[150,62204,27169],{},[150,62206,27173],{},[150,62208,27169],{},[150,62210,27166],{},[150,62212,19511],{},[150,62214,19511],{},[11,62216,62217],{},[150,62218,27191],{},[866,62220,62221],{"className":978,"code":27194,"language":980,"meta":760,"style":760},[150,62222,62223,62227,62237,62247,62253,62263,62273,62283,62293,62303,62313,62323,62333,62343,62353,62361,62365],{"__ignoreMap":760},[984,62224,62225],{"class":986,"line":987},[984,62226,991],{"class":990},[984,62228,62229,62231,62233,62235],{"class":986,"line":761},[984,62230,1057],{"class":996},[984,62232,1015],{"class":990},[984,62234,27013],{"class":1003},[984,62236,1021],{"class":990},[984,62238,62239,62241,62243,62245],{"class":986,"line":772},[984,62240,1069],{"class":996},[984,62242,1015],{"class":990},[984,62244,1004],{"class":1003},[984,62246,1021],{"class":990},[984,62248,62249,62251],{"class":986,"line":1024},[984,62250,1080],{"class":996},[984,62252,1083],{"class":990},[984,62254,62255,62257,62259,62261],{"class":986,"line":1035},[984,62256,1088],{"class":996},[984,62258,1015],{"class":990},[984,62260,27040],{"class":996},[984,62262,1021],{"class":990},[984,62264,62265,62267,62269,62271],{"class":986,"line":1098},[984,62266,1101],{"class":996},[984,62268,1015],{"class":990},[984,62270,27051],{"class":1003},[984,62272,1021],{"class":990},[984,62274,62275,62277,62279,62281],{"class":986,"line":1111},[984,62276,23533],{"class":996},[984,62278,1015],{"class":990},[984,62280,27062],{"class":996},[984,62282,1021],{"class":990},[984,62284,62285,62287,62289,62291],{"class":986,"line":1124},[984,62286,27069],{"class":996},[984,62288,1015],{"class":990},[984,62290,1345],{"class":996},[984,62292,1021],{"class":990},[984,62294,62295,62297,62299,62301],{"class":986,"line":1137},[984,62296,27080],{"class":996},[984,62298,1015],{"class":990},[984,62300,1503],{"class":996},[984,62302,1021],{"class":990},[984,62304,62305,62307,62309,62311],{"class":986,"line":1150},[984,62306,23554],{"class":996},[984,62308,1015],{"class":990},[984,62310,2682],{"class":996},[984,62312,1021],{"class":990},[984,62314,62315,62317,62319,62321],{"class":986,"line":1163},[984,62316,1127],{"class":996},[984,62318,1015],{"class":990},[984,62320,27105],{"class":1003},[984,62322,1021],{"class":990},[984,62324,62325,62327,62329,62331],{"class":986,"line":1176},[984,62326,27112],{"class":996},[984,62328,1015],{"class":990},[984,62330,27117],{"class":996},[984,62332,1021],{"class":990},[984,62334,62335,62337,62339,62341],{"class":986,"line":1189},[984,62336,27124],{"class":996},[984,62338,1015],{"class":990},[984,62340,27051],{"class":1003},[984,62342,1021],{"class":990},[984,62344,62345,62347,62349,62351],{"class":986,"line":1202},[984,62346,27135],{"class":996},[984,62348,1015],{"class":990},[984,62350,27140],{"class":1003},[984,62352,1021],{"class":990},[984,62354,62355,62357,62359],{"class":986,"line":1211},[984,62356,27147],{"class":996},[984,62358,1015],{"class":990},[984,62360,27152],{"class":996},[984,62362,62363],{"class":986,"line":1217},[984,62364,1459],{"class":990},[984,62366,62367],{"class":986,"line":1229},[984,62368,1038],{"class":990},[11,62370,27345,62371,27348,62373,27352],{},[150,62372,27173],{},[150,62374,27351],{},[11,62376,62377],{},[150,62378,27357],{},[866,62380,62381],{"className":978,"code":27360,"language":980,"meta":760,"style":760},[150,62382,62383,62387,62397,62407,62413,62423,62433,62443,62453,62463,62473,62483,62493,62503,62513,62521,62525,62529,62533,62557,62561,62569,62573,62577,62587,62597,62603,62613,62623,62633,62643,62653,62663,62673,62683,62693,62703,62711,62715],{"__ignoreMap":760},[984,62384,62385],{"class":986,"line":987},[984,62386,991],{"class":990},[984,62388,62389,62391,62393,62395],{"class":986,"line":761},[984,62390,1057],{"class":996},[984,62392,1015],{"class":990},[984,62394,27013],{"class":1003},[984,62396,1021],{"class":990},[984,62398,62399,62401,62403,62405],{"class":986,"line":772},[984,62400,1069],{"class":996},[984,62402,1015],{"class":990},[984,62404,1004],{"class":1003},[984,62406,1021],{"class":990},[984,62408,62409,62411],{"class":986,"line":1024},[984,62410,1080],{"class":996},[984,62412,1083],{"class":990},[984,62414,62415,62417,62419,62421],{"class":986,"line":1035},[984,62416,1088],{"class":996},[984,62418,1015],{"class":990},[984,62420,27040],{"class":996},[984,62422,1021],{"class":990},[984,62424,62425,62427,62429,62431],{"class":986,"line":1098},[984,62426,1101],{"class":996},[984,62428,1015],{"class":990},[984,62430,27051],{"class":1003},[984,62432,1021],{"class":990},[984,62434,62435,62437,62439,62441],{"class":986,"line":1111},[984,62436,23533],{"class":996},[984,62438,1015],{"class":990},[984,62440,27062],{"class":996},[984,62442,1021],{"class":990},[984,62444,62445,62447,62449,62451],{"class":986,"line":1124},[984,62446,27069],{"class":996},[984,62448,1015],{"class":990},[984,62450,1503],{"class":996},[984,62452,1021],{"class":990},[984,62454,62455,62457,62459,62461],{"class":986,"line":1137},[984,62456,27080],{"class":996},[984,62458,1015],{"class":990},[984,62460,1503],{"class":996},[984,62462,1021],{"class":990},[984,62464,62465,62467,62469,62471],{"class":986,"line":1150},[984,62466,23554],{"class":996},[984,62468,1015],{"class":990},[984,62470,2682],{"class":996},[984,62472,1021],{"class":990},[984,62474,62475,62477,62479,62481],{"class":986,"line":1163},[984,62476,1127],{"class":996},[984,62478,1015],{"class":990},[984,62480,27105],{"class":1003},[984,62482,1021],{"class":990},[984,62484,62485,62487,62489,62491],{"class":986,"line":1176},[984,62486,27112],{"class":996},[984,62488,1015],{"class":990},[984,62490,27117],{"class":996},[984,62492,1021],{"class":990},[984,62494,62495,62497,62499,62501],{"class":986,"line":1189},[984,62496,27124],{"class":996},[984,62498,1015],{"class":990},[984,62500,27051],{"class":1003},[984,62502,1021],{"class":990},[984,62504,62505,62507,62509,62511],{"class":986,"line":1202},[984,62506,27135],{"class":996},[984,62508,1015],{"class":990},[984,62510,27140],{"class":1003},[984,62512,1021],{"class":990},[984,62514,62515,62517,62519],{"class":986,"line":1211},[984,62516,27147],{"class":996},[984,62518,1015],{"class":990},[984,62520,27152],{"class":996},[984,62522,62523],{"class":986,"line":1217},[984,62524,1459],{"class":990},[984,62526,62527],{"class":986,"line":1229},[984,62528,1038],{"class":990},[984,62530,62531],{"class":986,"line":1241},[984,62532,8376],{"emptyLinePlaceholder":778},[984,62534,62535,62537,62539,62541,62543,62545,62547,62549,62551,62553,62555],{"class":986,"line":1254},[984,62536,27517],{"class":990},[984,62538,5131],{"class":996},[984,62540,27522],{"class":990},[984,62542,1503],{"class":996},[984,62544,27527],{"class":990},[984,62546,1503],{"class":996},[984,62548,27532],{"class":990},[984,62550,1503],{"class":996},[984,62552,27537],{"class":990},[984,62554,27040],{"class":996},[984,62556,27542],{"class":990},[984,62558,62559],{"class":986,"line":1266},[984,62560,8376],{"emptyLinePlaceholder":778},[984,62562,62563,62565,62567],{"class":986,"line":1279},[984,62564,27551],{"class":990},[984,62566,2431],{"class":996},[984,62568,27556],{"class":990},[984,62570,62571],{"class":986,"line":1291},[984,62572,27561],{"class":990},[984,62574,62575],{"class":986,"line":1304},[984,62576,991],{"class":990},[984,62578,62579,62581,62583,62585],{"class":986,"line":1316},[984,62580,1057],{"class":996},[984,62582,1015],{"class":990},[984,62584,27013],{"class":1003},[984,62586,1021],{"class":990},[984,62588,62589,62591,62593,62595],{"class":986,"line":1327},[984,62590,1069],{"class":996},[984,62592,1015],{"class":990},[984,62594,1004],{"class":1003},[984,62596,1021],{"class":990},[984,62598,62599,62601],{"class":986,"line":1333},[984,62600,1080],{"class":996},[984,62602,1083],{"class":990},[984,62604,62605,62607,62609,62611],{"class":986,"line":1338},[984,62606,1088],{"class":996},[984,62608,1015],{"class":990},[984,62610,27117],{"class":996},[984,62612,1021],{"class":990},[984,62614,62615,62617,62619,62621],{"class":986,"line":1355},[984,62616,1101],{"class":996},[984,62618,1015],{"class":990},[984,62620,27140],{"class":1003},[984,62622,1021],{"class":990},[984,62624,62625,62627,62629,62631],{"class":986,"line":1367},[984,62626,23533],{"class":996},[984,62628,1015],{"class":990},[984,62630,27062],{"class":996},[984,62632,1021],{"class":990},[984,62634,62635,62637,62639,62641],{"class":986,"line":1379},[984,62636,27069],{"class":996},[984,62638,1015],{"class":990},[984,62640,1503],{"class":996},[984,62642,1021],{"class":990},[984,62644,62645,62647,62649,62651],{"class":986,"line":1390},[984,62646,27080],{"class":996},[984,62648,1015],{"class":990},[984,62650,1503],{"class":996},[984,62652,1021],{"class":990},[984,62654,62655,62657,62659,62661],{"class":986,"line":1402},[984,62656,23554],{"class":996},[984,62658,1015],{"class":990},[984,62660,2682],{"class":996},[984,62662,1021],{"class":990},[984,62664,62665,62667,62669,62671],{"class":986,"line":1413},[984,62666,1127],{"class":996},[984,62668,1015],{"class":990},[984,62670,27051],{"class":1003},[984,62672,1021],{"class":990},[984,62674,62675,62677,62679,62681],{"class":986,"line":1424},[984,62676,27112],{"class":996},[984,62678,1015],{"class":990},[984,62680,27117],{"class":996},[984,62682,1021],{"class":990},[984,62684,62685,62687,62689,62691],{"class":986,"line":1435},[984,62686,27124],{"class":996},[984,62688,1015],{"class":990},[984,62690,27051],{"class":1003},[984,62692,1021],{"class":990},[984,62694,62695,62697,62699,62701],{"class":986,"line":1444},[984,62696,27135],{"class":996},[984,62698,1015],{"class":990},[984,62700,27140],{"class":1003},[984,62702,1021],{"class":990},[984,62704,62705,62707,62709],{"class":986,"line":1450},[984,62706,27147],{"class":996},[984,62708,1015],{"class":990},[984,62710,27152],{"class":996},[984,62712,62713],{"class":986,"line":1456},[984,62714,1459],{"class":990},[984,62716,62717],{"class":986,"line":1462},[984,62718,1038],{"class":990},[11,62720,27710,62721,27713,62723,27716,62725,27713,62727,27723,62729,27713,62731,4316],{},[150,62722,27351],{},[150,62724,27173],{},[150,62726,27719],{},[150,62728,27722],{},[150,62730,27166],{},[150,62732,27169],{},[26,62734,19571],{"id":19571},[11,62736,27732],{},[11,62738,62739],{},[150,62740,1043],{},[866,62742,62743],{"className":978,"code":27739,"language":980,"meta":760,"style":760},[150,62744,62745,62749,62759,62769,62775,62785,62795,62805,62815,62825,62835,62845,62855,62863,62867],{"__ignoreMap":760},[984,62746,62747],{"class":986,"line":987},[984,62748,991],{"class":990},[984,62750,62751,62753,62755,62757],{"class":986,"line":761},[984,62752,1057],{"class":996},[984,62754,1015],{"class":990},[984,62756,27754],{"class":1003},[984,62758,1021],{"class":990},[984,62760,62761,62763,62765,62767],{"class":986,"line":772},[984,62762,1069],{"class":996},[984,62764,1015],{"class":990},[984,62766,1004],{"class":1003},[984,62768,1021],{"class":990},[984,62770,62771,62773],{"class":986,"line":1024},[984,62772,1080],{"class":996},[984,62774,1083],{"class":990},[984,62776,62777,62779,62781,62783],{"class":986,"line":1035},[984,62778,1088],{"class":996},[984,62780,1015],{"class":990},[984,62782,27781],{"class":996},[984,62784,1021],{"class":990},[984,62786,62787,62789,62791,62793],{"class":986,"line":1098},[984,62788,1101],{"class":996},[984,62790,1015],{"class":990},[984,62792,27792],{"class":1003},[984,62794,1021],{"class":990},[984,62796,62797,62799,62801,62803],{"class":986,"line":1111},[984,62798,23533],{"class":996},[984,62800,1015],{"class":990},[984,62802,27803],{"class":996},[984,62804,1021],{"class":990},[984,62806,62807,62809,62811,62813],{"class":986,"line":1124},[984,62808,23554],{"class":996},[984,62810,1015],{"class":990},[984,62812,2682],{"class":996},[984,62814,1021],{"class":990},[984,62816,62817,62819,62821,62823],{"class":986,"line":1137},[984,62818,1127],{"class":996},[984,62820,1015],{"class":990},[984,62822,27824],{"class":1003},[984,62824,1021],{"class":990},[984,62826,62827,62829,62831,62833],{"class":986,"line":1150},[984,62828,27112],{"class":996},[984,62830,1015],{"class":990},[984,62832,27781],{"class":996},[984,62834,1021],{"class":990},[984,62836,62837,62839,62841,62843],{"class":986,"line":1163},[984,62838,27124],{"class":996},[984,62840,1015],{"class":990},[984,62842,27824],{"class":1003},[984,62844,1021],{"class":990},[984,62846,62847,62849,62851,62853],{"class":986,"line":1176},[984,62848,27135],{"class":996},[984,62850,1015],{"class":990},[984,62852,27792],{"class":1003},[984,62854,1021],{"class":990},[984,62856,62857,62859,62861],{"class":986,"line":1189},[984,62858,27147],{"class":996},[984,62860,1015],{"class":990},[984,62862,27865],{"class":996},[984,62864,62865],{"class":986,"line":1202},[984,62866,1459],{"class":990},[984,62868,62869],{"class":986,"line":1211},[984,62870,1038],{"class":990},[26,62872,19579],{"id":19579},[11,62874,27878],{},[11,62876,62877],{},[150,62878,1043],{},[866,62880,62881],{"className":978,"code":27885,"language":980,"meta":760,"style":760},[150,62882,62883,62887,62897,62907,62913,62923,62933,62939,62943,62953,62963,62973,62983,62993,63003,63013,63023,63033,63043,63053,63061,63065,63069,63079,63089,63099,63109,63119,63129,63139,63149,63159,63169,63179,63187,63191,63195,63199],{"__ignoreMap":760},[984,62884,62885],{"class":986,"line":987},[984,62886,991],{"class":990},[984,62888,62889,62891,62893,62895],{"class":986,"line":761},[984,62890,1057],{"class":996},[984,62892,1015],{"class":990},[984,62894,27900],{"class":1003},[984,62896,1021],{"class":990},[984,62898,62899,62901,62903,62905],{"class":986,"line":772},[984,62900,1069],{"class":996},[984,62902,1015],{"class":990},[984,62904,1004],{"class":1003},[984,62906,1021],{"class":990},[984,62908,62909,62911],{"class":986,"line":1024},[984,62910,1080],{"class":996},[984,62912,1083],{"class":990},[984,62914,62915,62917,62919,62921],{"class":986,"line":1035},[984,62916,27923],{"class":996},[984,62918,1015],{"class":990},[984,62920,5131],{"class":996},[984,62922,1021],{"class":990},[984,62924,62925,62927,62929,62931],{"class":986,"line":1098},[984,62926,27934],{"class":996},[984,62928,1015],{"class":990},[984,62930,27939],{"class":1003},[984,62932,1021],{"class":990},[984,62934,62935,62937],{"class":986,"line":1111},[984,62936,27946],{"class":996},[984,62938,1208],{"class":990},[984,62940,62941],{"class":986,"line":1124},[984,62942,27953],{"class":990},[984,62944,62945,62947,62949,62951],{"class":986,"line":1137},[984,62946,27958],{"class":996},[984,62948,1015],{"class":990},[984,62950,27963],{"class":1003},[984,62952,1021],{"class":990},[984,62954,62955,62957,62959,62961],{"class":986,"line":1150},[984,62956,27970],{"class":996},[984,62958,1015],{"class":990},[984,62960,13091],{"class":1003},[984,62962,1021],{"class":990},[984,62964,62965,62967,62969,62971],{"class":986,"line":1163},[984,62966,27981],{"class":996},[984,62968,1015],{"class":990},[984,62970,13091],{"class":1003},[984,62972,1021],{"class":990},[984,62974,62975,62977,62979,62981],{"class":986,"line":1176},[984,62976,27992],{"class":996},[984,62978,1015],{"class":990},[984,62980,13103],{"class":996},[984,62982,1021],{"class":990},[984,62984,62985,62987,62989,62991],{"class":986,"line":1189},[984,62986,28003],{"class":996},[984,62988,1015],{"class":990},[984,62990,13115],{"class":996},[984,62992,1021],{"class":990},[984,62994,62995,62997,62999,63001],{"class":986,"line":1202},[984,62996,28014],{"class":996},[984,62998,1015],{"class":990},[984,63000,2682],{"class":996},[984,63002,1021],{"class":990},[984,63004,63005,63007,63009,63011],{"class":986,"line":1211},[984,63006,28025],{"class":996},[984,63008,1015],{"class":990},[984,63010,2682],{"class":996},[984,63012,1021],{"class":990},[984,63014,63015,63017,63019,63021],{"class":986,"line":1217},[984,63016,28036],{"class":996},[984,63018,1015],{"class":990},[984,63020,13158],{"class":996},[984,63022,1021],{"class":990},[984,63024,63025,63027,63029,63031],{"class":986,"line":1229},[984,63026,28047],{"class":996},[984,63028,1015],{"class":990},[984,63030,13170],{"class":1003},[984,63032,1021],{"class":990},[984,63034,63035,63037,63039,63041],{"class":986,"line":1241},[984,63036,28058],{"class":996},[984,63038,1015],{"class":990},[984,63040,13182],{"class":1003},[984,63042,1021],{"class":990},[984,63044,63045,63047,63049,63051],{"class":986,"line":1254},[984,63046,28069],{"class":996},[984,63048,1015],{"class":990},[984,63050,5931],{"class":1003},[984,63052,1021],{"class":990},[984,63054,63055,63057,63059],{"class":986,"line":1266},[984,63056,28080],{"class":996},[984,63058,1015],{"class":990},[984,63060,28085],{"class":1003},[984,63062,63063],{"class":986,"line":1279},[984,63064,28090],{"class":990},[984,63066,63067],{"class":986,"line":1291},[984,63068,27953],{"class":990},[984,63070,63071,63073,63075,63077],{"class":986,"line":1304},[984,63072,27958],{"class":996},[984,63074,1015],{"class":990},[984,63076,28103],{"class":1003},[984,63078,1021],{"class":990},[984,63080,63081,63083,63085,63087],{"class":986,"line":1316},[984,63082,27970],{"class":996},[984,63084,1015],{"class":990},[984,63086,13091],{"class":1003},[984,63088,1021],{"class":990},[984,63090,63091,63093,63095,63097],{"class":986,"line":1327},[984,63092,27992],{"class":996},[984,63094,1015],{"class":990},[984,63096,13103],{"class":996},[984,63098,1021],{"class":990},[984,63100,63101,63103,63105,63107],{"class":986,"line":1333},[984,63102,28003],{"class":996},[984,63104,1015],{"class":990},[984,63106,13115],{"class":996},[984,63108,1021],{"class":990},[984,63110,63111,63113,63115,63117],{"class":986,"line":1338},[984,63112,28014],{"class":996},[984,63114,1015],{"class":990},[984,63116,2682],{"class":996},[984,63118,1021],{"class":990},[984,63120,63121,63123,63125,63127],{"class":986,"line":1355},[984,63122,27981],{"class":996},[984,63124,1015],{"class":990},[984,63126,13091],{"class":1003},[984,63128,1021],{"class":990},[984,63130,63131,63133,63135,63137],{"class":986,"line":1367},[984,63132,28025],{"class":996},[984,63134,1015],{"class":990},[984,63136,2682],{"class":996},[984,63138,1021],{"class":990},[984,63140,63141,63143,63145,63147],{"class":986,"line":1379},[984,63142,28036],{"class":996},[984,63144,1015],{"class":990},[984,63146,13158],{"class":996},[984,63148,1021],{"class":990},[984,63150,63151,63153,63155,63157],{"class":986,"line":1390},[984,63152,28047],{"class":996},[984,63154,1015],{"class":990},[984,63156,13170],{"class":1003},[984,63158,1021],{"class":990},[984,63160,63161,63163,63165,63167],{"class":986,"line":1402},[984,63162,28058],{"class":996},[984,63164,1015],{"class":990},[984,63166,28194],{"class":1003},[984,63168,1021],{"class":990},[984,63170,63171,63173,63175,63177],{"class":986,"line":1413},[984,63172,28069],{"class":996},[984,63174,1015],{"class":990},[984,63176,6305],{"class":1003},[984,63178,1021],{"class":990},[984,63180,63181,63183,63185],{"class":986,"line":1424},[984,63182,28080],{"class":996},[984,63184,1015],{"class":990},[984,63186,28215],{"class":1003},[984,63188,63189],{"class":986,"line":1435},[984,63190,28220],{"class":990},[984,63192,63193],{"class":986,"line":1444},[984,63194,28225],{"class":990},[984,63196,63197],{"class":986,"line":1450},[984,63198,1459],{"class":990},[984,63200,63201],{"class":986,"line":1456},[984,63202,1038],{"class":990},[89,63204,63205,63213],{},[54,63206,63207,441,63209,28242,63211,28246],{},[150,63208,2657],{},[150,63210,26967],{},[18,63212,26914],{"href":28245},[54,63214,63215,28252],{},[150,63216,28251],{},[26,63218,19587],{"id":19587},[11,63220,28257,63221,28260],{},[18,63222,913],{"href":2036},[11,63224,28263],{},[11,63226,63227],{},[150,63228,28268],{},[866,63230,63231],{"className":978,"code":28271,"language":980,"meta":760,"style":760},[150,63232,63233,63237,63247,63257,63263,63273,63283,63289,63301,63313,63317,63321],{"__ignoreMap":760},[984,63234,63235],{"class":986,"line":987},[984,63236,991],{"class":990},[984,63238,63239,63241,63243,63245],{"class":986,"line":761},[984,63240,1057],{"class":996},[984,63242,1015],{"class":990},[984,63244,28286],{"class":1003},[984,63246,1021],{"class":990},[984,63248,63249,63251,63253,63255],{"class":986,"line":772},[984,63250,1069],{"class":996},[984,63252,1015],{"class":990},[984,63254,1004],{"class":1003},[984,63256,1021],{"class":990},[984,63258,63259,63261],{"class":986,"line":1024},[984,63260,1080],{"class":996},[984,63262,28305],{"class":990},[984,63264,63265,63267,63269,63271],{"class":986,"line":1035},[984,63266,27923],{"class":996},[984,63268,1015],{"class":990},[984,63270,1345],{"class":996},[984,63272,1021],{"class":990},[984,63274,63275,63277,63279,63281],{"class":986,"line":1098},[984,63276,27934],{"class":996},[984,63278,1015],{"class":990},[984,63280,28324],{"class":1003},[984,63282,1021],{"class":990},[984,63284,63285,63287],{"class":986,"line":1111},[984,63286,28331],{"class":996},[984,63288,1208],{"class":990},[984,63290,63291,63293,63295,63297,63299],{"class":986,"line":1124},[984,63292,28338],{"class":990},[984,63294,1470],{"class":996},[984,63296,1015],{"class":990},[984,63298,28345],{"class":996},[984,63300,28348],{"class":990},[984,63302,63303,63305,63307,63309,63311],{"class":986,"line":1137},[984,63304,28338],{"class":990},[984,63306,1470],{"class":996},[984,63308,1015],{"class":990},[984,63310,28359],{"class":996},[984,63312,28362],{"class":990},[984,63314,63315],{"class":986,"line":1150},[984,63316,28225],{"class":990},[984,63318,63319],{"class":986,"line":1163},[984,63320,1459],{"class":990},[984,63322,63323],{"class":986,"line":1176},[984,63324,1038],{"class":990},[89,63326,63327,63335],{},[54,63328,63329,441,63331,28242,63333,28246],{},[150,63330,2657],{},[150,63332,26967],{},[18,63334,26914],{"href":28245},[54,63336,63337,28390,63339,28393],{},[150,63338,28389],{},[150,63340,26945],{},[11,63342,28396],{},[11,63344,63345],{},[150,63346,28268],{},[866,63348,63349],{"className":978,"code":28403,"language":980,"meta":760,"style":760},[150,63350,63351,63355,63365,63375,63381,63391,63401,63407,63411,63421,63431,63441,63451,63461,63471,63481,63487,63497,63507,63517,63527,63535,63539,63549,63559,63569,63577,63581,63585,63589],{"__ignoreMap":760},[984,63352,63353],{"class":986,"line":987},[984,63354,991],{"class":990},[984,63356,63357,63359,63361,63363],{"class":986,"line":761},[984,63358,1012],{"class":996},[984,63360,1015],{"class":990},[984,63362,28286],{"class":1003},[984,63364,1021],{"class":990},[984,63366,63367,63369,63371,63373],{"class":986,"line":772},[984,63368,997],{"class":996},[984,63370,1015],{"class":990},[984,63372,1004],{"class":1003},[984,63374,1021],{"class":990},[984,63376,63377,63379],{"class":986,"line":1024},[984,63378,1724],{"class":996},[984,63380,1083],{"class":990},[984,63382,63383,63385,63387,63389],{"class":986,"line":1035},[984,63384,2577],{"class":996},[984,63386,1015],{"class":990},[984,63388,5131],{"class":996},[984,63390,1021],{"class":990},[984,63392,63393,63395,63397,63399],{"class":986,"line":1098},[984,63394,2588],{"class":996},[984,63396,1015],{"class":990},[984,63398,27939],{"class":1003},[984,63400,1021],{"class":990},[984,63402,63403,63405],{"class":986,"line":1111},[984,63404,17104],{"class":996},[984,63406,1208],{"class":990},[984,63408,63409],{"class":986,"line":1124},[984,63410,28466],{"class":990},[984,63412,63413,63415,63417,63419],{"class":986,"line":1137},[984,63414,28471],{"class":996},[984,63416,1015],{"class":990},[984,63418,1345],{"class":996},[984,63420,1021],{"class":990},[984,63422,63423,63425,63427,63429],{"class":986,"line":1150},[984,63424,28482],{"class":996},[984,63426,1015],{"class":990},[984,63428,1362],{"class":996},[984,63430,1021],{"class":990},[984,63432,63433,63435,63437,63439],{"class":986,"line":1163},[984,63434,28493],{"class":996},[984,63436,1015],{"class":990},[984,63438,1374],{"class":1003},[984,63440,1021],{"class":990},[984,63442,63443,63445,63447,63449],{"class":986,"line":1176},[984,63444,28504],{"class":996},[984,63446,1015],{"class":990},[984,63448,1345],{"class":996},[984,63450,1021],{"class":990},[984,63452,63453,63455,63457,63459],{"class":986,"line":1189},[984,63454,28515],{"class":996},[984,63456,1015],{"class":990},[984,63458,1926],{"class":996},[984,63460,1021],{"class":990},[984,63462,63463,63465,63467,63469],{"class":986,"line":1202},[984,63464,28526],{"class":996},[984,63466,1015],{"class":990},[984,63468,24590],{"class":1003},[984,63470,1021],{"class":990},[984,63472,63473,63475,63477,63479],{"class":986,"line":1211},[984,63474,28537],{"class":996},[984,63476,1015],{"class":990},[984,63478,2682],{"class":996},[984,63480,1021],{"class":990},[984,63482,63483,63485],{"class":986,"line":1217},[984,63484,28548],{"class":996},[984,63486,1083],{"class":990},[984,63488,63489,63491,63493,63495],{"class":986,"line":1229},[984,63490,28555],{"class":996},[984,63492,1015],{"class":990},[984,63494,24620],{"class":1003},[984,63496,1021],{"class":990},[984,63498,63499,63501,63503,63505],{"class":986,"line":1241},[984,63500,28566],{"class":996},[984,63502,1015],{"class":990},[984,63504,24632],{"class":1003},[984,63506,1021],{"class":990},[984,63508,63509,63511,63513,63515],{"class":986,"line":1254},[984,63510,28577],{"class":996},[984,63512,1015],{"class":990},[984,63514,24644],{"class":1003},[984,63516,1021],{"class":990},[984,63518,63519,63521,63523,63525],{"class":986,"line":1266},[984,63520,28588],{"class":996},[984,63522,1015],{"class":990},[984,63524,24656],{"class":1003},[984,63526,1021],{"class":990},[984,63528,63529,63531,63533],{"class":986,"line":1279},[984,63530,28599],{"class":996},[984,63532,1015],{"class":990},[984,63534,24668],{"class":1003},[984,63536,63537],{"class":986,"line":1291},[984,63538,28608],{"class":990},[984,63540,63541,63543,63545,63547],{"class":986,"line":1304},[984,63542,28613],{"class":996},[984,63544,1015],{"class":990},[984,63546,2682],{"class":996},[984,63548,1021],{"class":990},[984,63550,63551,63553,63555,63557],{"class":986,"line":1316},[984,63552,28624],{"class":996},[984,63554,1015],{"class":990},[984,63556,2682],{"class":996},[984,63558,1021],{"class":990},[984,63560,63561,63563,63565,63567],{"class":986,"line":1327},[984,63562,28635],{"class":996},[984,63564,1015],{"class":990},[984,63566,1950],{"class":1003},[984,63568,1021],{"class":990},[984,63570,63571,63573,63575],{"class":986,"line":1333},[984,63572,28646],{"class":996},[984,63574,1015],{"class":990},[984,63576,1962],{"class":996},[984,63578,63579],{"class":986,"line":1338},[984,63580,28220],{"class":990},[984,63582,63583],{"class":986,"line":1355},[984,63584,28659],{"class":990},[984,63586,63587],{"class":986,"line":1367},[984,63588,1607],{"class":990},[984,63590,63591],{"class":986,"line":1379},[984,63592,1038],{"class":990},[89,63594,63595,63603],{},[54,63596,63597,441,63599,28242,63601,28246],{},[150,63598,2657],{},[150,63600,26967],{},[18,63602,26914],{"href":28245},[54,63604,63605,28682,63607,28685],{},[150,63606,28389],{},[18,63608,918],{"href":12373},[26,63610,19593],{"id":19593},[11,63612,28690,63613,4316],{},[150,63614,948],{},[11,63616,63617],{},[150,63618,28268],{},[866,63620,63621],{"className":978,"code":28699,"language":980,"meta":760,"style":760},[150,63622,63623,63627,63637,63647,63653,63663,63673,63679,63683,63693,63703,63713,63723,63733,63743,63753,63763,63771,63775,63779,63783],{"__ignoreMap":760},[984,63624,63625],{"class":986,"line":987},[984,63626,991],{"class":990},[984,63628,63629,63631,63633,63635],{"class":986,"line":761},[984,63630,1012],{"class":996},[984,63632,1015],{"class":990},[984,63634,28714],{"class":1003},[984,63636,1021],{"class":990},[984,63638,63639,63641,63643,63645],{"class":986,"line":772},[984,63640,997],{"class":996},[984,63642,1015],{"class":990},[984,63644,1004],{"class":1003},[984,63646,1021],{"class":990},[984,63648,63649,63651],{"class":986,"line":1024},[984,63650,1724],{"class":996},[984,63652,1083],{"class":990},[984,63654,63655,63657,63659,63661],{"class":986,"line":1035},[984,63656,2577],{"class":996},[984,63658,1015],{"class":990},[984,63660,5131],{"class":996},[984,63662,1021],{"class":990},[984,63664,63665,63667,63669,63671],{"class":986,"line":1098},[984,63666,2588],{"class":996},[984,63668,1015],{"class":990},[984,63670,27939],{"class":1003},[984,63672,1021],{"class":990},[984,63674,63675,63677],{"class":986,"line":1111},[984,63676,28757],{"class":996},[984,63678,1208],{"class":990},[984,63680,63681],{"class":986,"line":1124},[984,63682,9689],{"class":990},[984,63684,63685,63687,63689,63691],{"class":986,"line":1137},[984,63686,28768],{"class":996},[984,63688,1015],{"class":990},[984,63690,1158],{"class":996},[984,63692,1021],{"class":990},[984,63694,63695,63697,63699,63701],{"class":986,"line":1150},[984,63696,28779],{"class":996},[984,63698,1015],{"class":990},[984,63700,1171],{"class":996},[984,63702,1021],{"class":990},[984,63704,63705,63707,63709,63711],{"class":986,"line":1163},[984,63706,28790],{"class":996},[984,63708,1015],{"class":990},[984,63710,16963],{"class":996},[984,63712,1021],{"class":990},[984,63714,63715,63717,63719,63721],{"class":986,"line":1176},[984,63716,28801],{"class":996},[984,63718,1015],{"class":990},[984,63720,16974],{"class":996},[984,63722,1021],{"class":990},[984,63724,63725,63727,63729,63731],{"class":986,"line":1189},[984,63726,28812],{"class":996},[984,63728,1015],{"class":990},[984,63730,16985],{"class":1003},[984,63732,1021],{"class":990},[984,63734,63735,63737,63739,63741],{"class":986,"line":1202},[984,63736,28823],{"class":996},[984,63738,1015],{"class":990},[984,63740,14895],{"class":1003},[984,63742,1021],{"class":990},[984,63744,63745,63747,63749,63751],{"class":986,"line":1211},[984,63746,28834],{"class":996},[984,63748,1015],{"class":990},[984,63750,13091],{"class":1003},[984,63752,1021],{"class":990},[984,63754,63755,63757,63759,63761],{"class":986,"line":1217},[984,63756,28845],{"class":996},[984,63758,1015],{"class":990},[984,63760,1503],{"class":996},[984,63762,1021],{"class":990},[984,63764,63765,63767,63769],{"class":986,"line":1229},[984,63766,28856],{"class":996},[984,63768,1015],{"class":990},[984,63770,17028],{"class":1003},[984,63772,63773],{"class":986,"line":1241},[984,63774,28865],{"class":990},[984,63776,63777],{"class":986,"line":1254},[984,63778,28870],{"class":990},[984,63780,63781],{"class":986,"line":1266},[984,63782,1607],{"class":990},[984,63784,63785],{"class":986,"line":1279},[984,63786,1038],{"class":990},[89,63788,63789,63797],{},[54,63790,63791,441,63793,28242,63795,28246],{},[150,63792,2657],{},[150,63794,26967],{},[18,63796,26914],{"href":28245},[54,63798,63799,28893,63801,28685],{},[150,63800,8355],{},[18,63802,12024],{"href":12331},[26,63804,19599],{"id":19599},[11,63806,28900],{},[11,63808,63809],{},[150,63810,28268],{},[866,63812,63813],{"className":978,"code":40446,"language":980,"meta":760,"style":760},[150,63814,63815,63819,63829,63839,63845,63855,63865,63871,63875,63885,63895,63905,63915,63925,63935,63945,63955,63965,63975,63985,63995,64005,64015,64025,64031,64041,64051,64059,64063,64067,64071],{"__ignoreMap":760},[984,63816,63817],{"class":986,"line":987},[984,63818,991],{"class":990},[984,63820,63821,63823,63825,63827],{"class":986,"line":761},[984,63822,1012],{"class":996},[984,63824,1015],{"class":990},[984,63826,28922],{"class":1003},[984,63828,1021],{"class":990},[984,63830,63831,63833,63835,63837],{"class":986,"line":772},[984,63832,997],{"class":996},[984,63834,1015],{"class":990},[984,63836,1004],{"class":1003},[984,63838,1021],{"class":990},[984,63840,63841,63843],{"class":986,"line":1024},[984,63842,1724],{"class":996},[984,63844,1083],{"class":990},[984,63846,63847,63849,63851,63853],{"class":986,"line":1035},[984,63848,2577],{"class":996},[984,63850,1015],{"class":990},[984,63852,5131],{"class":996},[984,63854,1021],{"class":990},[984,63856,63857,63859,63861,63863],{"class":986,"line":1098},[984,63858,2588],{"class":996},[984,63860,1015],{"class":990},[984,63862,27939],{"class":1003},[984,63864,1021],{"class":990},[984,63866,63867,63869],{"class":986,"line":1111},[984,63868,28965],{"class":996},[984,63870,1208],{"class":990},[984,63872,63873],{"class":986,"line":1124},[984,63874,9689],{"class":990},[984,63876,63877,63879,63881,63883],{"class":986,"line":1137},[984,63878,28976],{"class":996},[984,63880,1738],{"class":990},[984,63882,14895],{"class":1003},[984,63884,1021],{"class":990},[984,63886,63887,63889,63891,63893],{"class":986,"line":1150},[984,63888,28779],{"class":996},[984,63890,1015],{"class":990},[984,63892,1171],{"class":996},[984,63894,1021],{"class":990},[984,63896,63897,63899,63901,63903],{"class":986,"line":1163},[984,63898,28997],{"class":996},[984,63900,1015],{"class":990},[984,63902,13091],{"class":1003},[984,63904,1021],{"class":990},[984,63906,63907,63909,63911,63913],{"class":986,"line":1176},[984,63908,29008],{"class":996},[984,63910,1015],{"class":990},[984,63912,4979],{"class":996},[984,63914,1021],{"class":990},[984,63916,63917,63919,63921,63923],{"class":986,"line":1189},[984,63918,29019],{"class":996},[984,63920,1015],{"class":990},[984,63922,14999],{"class":1003},[984,63924,1021],{"class":990},[984,63926,63927,63929,63931,63933],{"class":986,"line":1202},[984,63928,29030],{"class":996},[984,63930,1015],{"class":990},[984,63932,1562],{"class":1003},[984,63934,1021],{"class":990},[984,63936,63937,63939,63941,63943],{"class":986,"line":1211},[984,63938,29041],{"class":996},[984,63940,1015],{"class":990},[984,63942,15022],{"class":1003},[984,63944,1021],{"class":990},[984,63946,63947,63949,63951,63953],{"class":986,"line":1217},[984,63948,28845],{"class":996},[984,63950,1015],{"class":990},[984,63952,2431],{"class":996},[984,63954,1021],{"class":990},[984,63956,63957,63959,63961,63963],{"class":986,"line":1229},[984,63958,28856],{"class":996},[984,63960,1738],{"class":990},[984,63962,15045],{"class":1003},[984,63964,1021],{"class":990},[984,63966,63967,63969,63971,63973],{"class":986,"line":1241},[984,63968,29072],{"class":996},[984,63970,1015],{"class":990},[984,63972,1171],{"class":996},[984,63974,1021],{"class":990},[984,63976,63977,63979,63981,63983],{"class":986,"line":1254},[984,63978,29083],{"class":996},[984,63980,1015],{"class":990},[984,63982,15068],{"class":1003},[984,63984,1021],{"class":990},[984,63986,63987,63989,63991,63993],{"class":986,"line":1266},[984,63988,29094],{"class":996},[984,63990,1738],{"class":990},[984,63992,15080],{"class":1003},[984,63994,1021],{"class":990},[984,63996,63997,63999,64001,64003],{"class":986,"line":1279},[984,63998,29105],{"class":996},[984,64000,1015],{"class":990},[984,64002,1539],{"class":996},[984,64004,1021],{"class":990},[984,64006,64007,64009,64011,64013],{"class":986,"line":1291},[984,64008,29116],{"class":996},[984,64010,1738],{"class":990},[984,64012,15101],{"class":996},[984,64014,1021],{"class":990},[984,64016,64017,64019,64021,64023],{"class":986,"line":1304},[984,64018,29127],{"class":996},[984,64020,1738],{"class":990},[984,64022,5089],{"class":996},[984,64024,1021],{"class":990},[984,64026,64027,64029],{"class":986,"line":1316},[984,64028,40663],{"class":996},[984,64030,6628],{"class":990},[984,64032,64033,64035,64037,64039],{"class":986,"line":1327},[984,64034,29138],{"class":996},[984,64036,1015],{"class":990},[984,64038,15124],{"class":1003},[984,64040,1021],{"class":990},[984,64042,64043,64045,64047,64049],{"class":986,"line":1333},[984,64044,29149],{"class":996},[984,64046,1015],{"class":990},[984,64048,13182],{"class":1003},[984,64050,1021],{"class":990},[984,64052,64053,64055,64057],{"class":986,"line":1338},[984,64054,29160],{"class":996},[984,64056,1015],{"class":990},[984,64058,15147],{"class":1003},[984,64060,64061],{"class":986,"line":1355},[984,64062,28865],{"class":990},[984,64064,64065],{"class":986,"line":1367},[984,64066,28870],{"class":990},[984,64068,64069],{"class":986,"line":1379},[984,64070,1607],{"class":990},[984,64072,64073],{"class":986,"line":1390},[984,64074,1038],{"class":990},[89,64076,64077,64085],{},[54,64078,64079,441,64081,28242,64083,28246],{},[150,64080,2657],{},[150,64082,26967],{},[18,64084,26914],{"href":28245},[54,64086,64087,29196,64089,28685],{},[150,64088,29195],{},[18,64090,12303],{"href":12302},[43,64092,29326],{"id":29326},[11,64094,40730],{},[11,64096,64097],{},[150,64098,1043],{},[866,64100,64101],{"className":978,"code":40737,"language":980,"meta":760,"style":760},[150,64102,64103,64107,64117,64127,64133,64143,64153,64157],{"__ignoreMap":760},[984,64104,64105],{"class":986,"line":987},[984,64106,991],{"class":990},[984,64108,64109,64111,64113,64115],{"class":986,"line":761},[984,64110,1057],{"class":996},[984,64112,1015],{"class":990},[984,64114,40752],{"class":1003},[984,64116,1021],{"class":990},[984,64118,64119,64121,64123,64125],{"class":986,"line":772},[984,64120,1069],{"class":996},[984,64122,1015],{"class":990},[984,64124,1004],{"class":1003},[984,64126,1021],{"class":990},[984,64128,64129,64131],{"class":986,"line":1024},[984,64130,1080],{"class":996},[984,64132,1083],{"class":990},[984,64134,64135,64137,64139,64141],{"class":986,"line":1035},[984,64136,40775],{"class":996},[984,64138,1015],{"class":990},[984,64140,2682],{"class":996},[984,64142,1021],{"class":990},[984,64144,64145,64147,64149,64151],{"class":986,"line":1098},[984,64146,40786],{"class":996},[984,64148,1015],{"class":990},[984,64150,5089],{"class":996},[984,64152,1021],{"class":990},[984,64154,64155],{"class":986,"line":1111},[984,64156,1459],{"class":990},[984,64158,64159],{"class":986,"line":1124},[984,64160,1038],{"class":990},[89,64162,64163,64169,64175],{},[54,64164,64165,40808,64167,40811],{},[150,64166,40807],{},[150,64168,2682],{},[54,64170,64171,557,64173,40819],{},[150,64172,40816],{},[150,64174,2682],{},[54,64176,64177,40825],{},[150,64178,40824],{},[26,64180,29479],{"id":29479},[11,64182,40830],{},[11,64184,64185],{},[150,64186,975],{},[866,64188,64189],{"className":978,"code":40837,"language":980,"meta":760,"style":760},[150,64190,64191,64195,64205,64215,64225,64231,64235,64245,64253,64257],{"__ignoreMap":760},[984,64192,64193],{"class":986,"line":987},[984,64194,991],{"class":990},[984,64196,64197,64199,64201,64203],{"class":986,"line":761},[984,64198,997],{"class":996},[984,64200,1000],{"class":990},[984,64202,1004],{"class":1003},[984,64204,1007],{"class":990},[984,64206,64207,64209,64211,64213],{"class":986,"line":772},[984,64208,1012],{"class":996},[984,64210,1015],{"class":990},[984,64212,1345],{"class":996},[984,64214,1021],{"class":990},[984,64216,64217,64219,64221,64223],{"class":986,"line":1024},[984,64218,1027],{"class":996},[984,64220,1015],{"class":990},[984,64222,40872],{"class":1003},[984,64224,1007],{"class":990},[984,64226,64227,64229],{"class":986,"line":1035},[984,64228,1521],{"class":996},[984,64230,1524],{"class":990},[984,64232,64233],{"class":986,"line":1098},[984,64234,1529],{"class":990},[984,64236,64237,64239,64241,64243],{"class":986,"line":1111},[984,64238,40889],{"class":996},[984,64240,1738],{"class":990},[984,64242,40894],{"class":1003},[984,64244,1021],{"class":990},[984,64246,64247,64249,64251],{"class":986,"line":1124},[984,64248,40901],{"class":996},[984,64250,1015],{"class":990},[984,64252,40906],{"class":1003},[984,64254,64255],{"class":986,"line":1137},[984,64256,1607],{"class":990},[984,64258,64259],{"class":986,"line":1150},[984,64260,1038],{"class":990},[89,64262,64263,64267],{},[54,64264,64265,40921],{},[150,64266,11992],{},[54,64268,64269,40927],{},[150,64270,40926],{},[11,64272,64273],{},[150,64274,1043],{},[866,64276,64277],{"className":978,"code":40934,"language":980,"meta":760,"style":760},[150,64278,64279,64283,64293,64303,64309,64313,64321,64325],{"__ignoreMap":760},[984,64280,64281],{"class":986,"line":987},[984,64282,991],{"class":990},[984,64284,64285,64287,64289,64291],{"class":986,"line":761},[984,64286,997],{"class":996},[984,64288,1000],{"class":990},[984,64290,1004],{"class":1003},[984,64292,1007],{"class":990},[984,64294,64295,64297,64299,64301],{"class":986,"line":772},[984,64296,1012],{"class":996},[984,64298,1015],{"class":990},[984,64300,1345],{"class":996},[984,64302,1021],{"class":990},[984,64304,64305,64307],{"class":986,"line":1024},[984,64306,1724],{"class":996},[984,64308,5895],{"class":990},[984,64310,64311],{"class":986,"line":1035},[984,64312,1529],{"class":990},[984,64314,64315,64317,64319],{"class":986,"line":1098},[984,64316,40975],{"class":996},[984,64318,1738],{"class":990},[984,64320,40980],{"class":1003},[984,64322,64323],{"class":986,"line":1111},[984,64324,1607],{"class":990},[984,64326,64327],{"class":986,"line":1124},[984,64328,1038],{"class":990},[89,64330,64331],{},[54,64332,64333,40996],{},[150,64334,40995],{},[26,64336,29487],{"id":29487},[11,64338,41001],{},[11,64340,64341],{},[150,64342,975],{},[866,64344,64345],{"className":978,"code":41008,"language":980,"meta":760,"style":760},[150,64346,64347,64351,64361,64371,64381,64387,64391,64401,64411,64419,64423],{"__ignoreMap":760},[984,64348,64349],{"class":986,"line":987},[984,64350,991],{"class":990},[984,64352,64353,64355,64357,64359],{"class":986,"line":761},[984,64354,997],{"class":996},[984,64356,1000],{"class":990},[984,64358,1004],{"class":1003},[984,64360,1007],{"class":990},[984,64362,64363,64365,64367,64369],{"class":986,"line":772},[984,64364,1012],{"class":996},[984,64366,1015],{"class":990},[984,64368,1345],{"class":996},[984,64370,1021],{"class":990},[984,64372,64373,64375,64377,64379],{"class":986,"line":1024},[984,64374,1027],{"class":996},[984,64376,1015],{"class":990},[984,64378,41043],{"class":1003},[984,64380,1007],{"class":990},[984,64382,64383,64385],{"class":986,"line":1035},[984,64384,1521],{"class":996},[984,64386,1524],{"class":990},[984,64388,64389],{"class":986,"line":1098},[984,64390,1529],{"class":990},[984,64392,64393,64395,64397,64399],{"class":986,"line":1111},[984,64394,40889],{"class":996},[984,64396,1738],{"class":990},[984,64398,40894],{"class":1003},[984,64400,1021],{"class":990},[984,64402,64403,64405,64407,64409],{"class":986,"line":1124},[984,64404,41070],{"class":996},[984,64406,1015],{"class":990},[984,64408,41075],{"class":1003},[984,64410,1021],{"class":990},[984,64412,64413,64415,64417],{"class":986,"line":1137},[984,64414,40975],{"class":996},[984,64416,1015],{"class":990},[984,64418,40980],{"class":1003},[984,64420,64421],{"class":986,"line":1150},[984,64422,1607],{"class":990},[984,64424,64425],{"class":986,"line":1163},[984,64426,1038],{"class":990},[89,64428,64429,64433,64437],{},[54,64430,64431,40921],{},[150,64432,11992],{},[54,64434,64435,41105],{},[150,64436,41104],{},[54,64438,64439,41110],{},[150,64440,40995],{},[11,64442,64443],{},[150,64444,1043],{},[866,64446,64447],{"className":978,"code":41117,"language":980,"meta":760,"style":760},[150,64448,64449,64453,64463,64473,64481],{"__ignoreMap":760},[984,64450,64451],{"class":986,"line":987},[984,64452,991],{"class":990},[984,64454,64455,64457,64459,64461],{"class":986,"line":761},[984,64456,997],{"class":996},[984,64458,1000],{"class":990},[984,64460,1004],{"class":1003},[984,64462,1007],{"class":990},[984,64464,64465,64467,64469,64471],{"class":986,"line":772},[984,64466,1012],{"class":996},[984,64468,1015],{"class":990},[984,64470,1345],{"class":996},[984,64472,1021],{"class":990},[984,64474,64475,64477,64479],{"class":986,"line":1024},[984,64476,1724],{"class":996},[984,64478,1738],{"class":990},[984,64480,2497],{"class":996},[984,64482,64483],{"class":986,"line":1035},[984,64484,1038],{"class":990},[26,64486,41247],{"id":41247},[11,64488,52726],{},[11,64490,64491],{},[150,64492,975],{},[866,64494,64495],{"className":978,"code":52733,"language":980,"meta":760,"style":760},[150,64496,64497,64501,64511,64521,64531,64537,64541,64551,64555],{"__ignoreMap":760},[984,64498,64499],{"class":986,"line":987},[984,64500,991],{"class":990},[984,64502,64503,64505,64507,64509],{"class":986,"line":761},[984,64504,997],{"class":996},[984,64506,1000],{"class":990},[984,64508,1004],{"class":1003},[984,64510,1007],{"class":990},[984,64512,64513,64515,64517,64519],{"class":986,"line":772},[984,64514,1012],{"class":996},[984,64516,1015],{"class":990},[984,64518,1345],{"class":996},[984,64520,1021],{"class":990},[984,64522,64523,64525,64527,64529],{"class":986,"line":1024},[984,64524,1027],{"class":996},[984,64526,1015],{"class":990},[984,64528,52768],{"class":1003},[984,64530,1007],{"class":990},[984,64532,64533,64535],{"class":986,"line":1035},[984,64534,1521],{"class":996},[984,64536,1524],{"class":990},[984,64538,64539],{"class":986,"line":1098},[984,64540,1529],{"class":990},[984,64542,64543,64545,64547,64549],{"class":986,"line":1111},[984,64544,52785],{"class":996},[984,64546,1738],{"class":990},[984,64548,52790],{"class":1003},[984,64550,1021],{"class":990},[984,64552,64553],{"class":986,"line":1124},[984,64554,1607],{"class":990},[984,64556,64557],{"class":986,"line":1137},[984,64558,1038],{"class":990},[89,64560,64561],{},[54,64562,64563,52808],{},[150,64564,52807],{},[11,64566,64567],{},[150,64568,1043],{},[866,64570,64571],{"className":978,"code":52815,"language":980,"meta":760,"style":760},[150,64572,64573,64577,64587,64597,64603,64611,64615],{"__ignoreMap":760},[984,64574,64575],{"class":986,"line":987},[984,64576,991],{"class":990},[984,64578,64579,64581,64583,64585],{"class":986,"line":761},[984,64580,997],{"class":996},[984,64582,1000],{"class":990},[984,64584,1004],{"class":1003},[984,64586,1007],{"class":990},[984,64588,64589,64591,64593,64595],{"class":986,"line":772},[984,64590,1012],{"class":996},[984,64592,1015],{"class":990},[984,64594,1345],{"class":996},[984,64596,1021],{"class":990},[984,64598,64599,64601],{"class":986,"line":1024},[984,64600,1724],{"class":996},[984,64602,52848],{"class":990},[984,64604,64605,64607,64609],{"class":986,"line":1035},[984,64606,52853],{"class":996},[984,64608,1015],{"class":990},[984,64610,52858],{"class":1003},[984,64612,64613],{"class":986,"line":1098},[984,64614,1607],{"class":990},[984,64616,64617],{"class":986,"line":1111},[984,64618,1038],{"class":990},[26,64620,52962],{"id":52962},[11,64622,64623],{},"Get all asset swap offers",[11,64625,64626],{},[150,64627,975],{},[866,64629,64631],{"className":978,"code":64630,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_offers_list\"\n}\n",[150,64632,64633,64637,64647,64657,64666],{"__ignoreMap":760},[984,64634,64635],{"class":986,"line":987},[984,64636,991],{"class":990},[984,64638,64639,64641,64643,64645],{"class":986,"line":761},[984,64640,997],{"class":996},[984,64642,1738],{"class":990},[984,64644,1004],{"class":1003},[984,64646,1021],{"class":990},[984,64648,64649,64651,64653,64655],{"class":986,"line":772},[984,64650,1012],{"class":996},[984,64652,1738],{"class":990},[984,64654,1345],{"class":996},[984,64656,1021],{"class":990},[984,64658,64659,64661,64663],{"class":986,"line":1024},[984,64660,1027],{"class":996},[984,64662,1738],{"class":990},[984,64664,64665],{"class":1003},"\"assets_swap_offers_list\"\n",[984,64667,64668],{"class":986,"line":1035},[984,64669,1038],{"class":990},[11,64671,64672],{},[150,64673,1043],{},[866,64675,64677],{"className":978,"code":64676,"language":980,"meta":760,"style":760},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offers\": [\n    {\n      \"create_time\": 1667219066,\n      \"expire_time\": 1667240666,\n      \"id\": \"1ae40a6c80d54cc4b3653ab2c478c328\",\n      \"isMy\": false,\n      \"receiveAmount\": 200000000,\n      \"receiveAssetId\": 0,\n      \"receiveCurrencyName\": \"BEAM\",\n      \"sendAmount\": 200000000,\n      \"sendAssetId\": 2,\n      \"sendCurrencyName\": \"SHEKELb\"\n    },\n    {\n      \"create_time\": 1667219060,\n      \"expire_time\": 1667240660,\n      \"id\": \"bf98b6e8a9fa49de939facfe5faad899\",\n      \"isMy\": false,\n      \"receiveAmount\": 100000000,\n      \"receiveAssetId\": 0,\n      \"receiveCurrencyName\": \"BEAM\",\n      \"sendAmount\": 100000000,\n      \"sendAssetId\": 2,\n      \"sendCurrencyName\": \"SHEKELb\"\n    }\n  ]\n}\n",[150,64678,64679,64683,64693,64703,64710,64714,64725,64737,64748,64759,64770,64781,64793,64804,64815,64825,64829,64833,64844,64855,64866,64876,64886,64896,64906,64916,64926,64934,64938,64942],{"__ignoreMap":760},[984,64680,64681],{"class":986,"line":987},[984,64682,991],{"class":990},[984,64684,64685,64687,64689,64691],{"class":986,"line":761},[984,64686,1057],{"class":996},[984,64688,1015],{"class":990},[984,64690,1345],{"class":996},[984,64692,1021],{"class":990},[984,64694,64695,64697,64699,64701],{"class":986,"line":772},[984,64696,1069],{"class":996},[984,64698,1015],{"class":990},[984,64700,1004],{"class":1003},[984,64702,1021],{"class":990},[984,64704,64705,64708],{"class":986,"line":1024},[984,64706,64707],{"class":996},"  \"offers\"",[984,64709,1208],{"class":990},[984,64711,64712],{"class":986,"line":1035},[984,64713,1529],{"class":990},[984,64715,64716,64718,64720,64723],{"class":986,"line":1098},[984,64717,15566],{"class":996},[984,64719,1015],{"class":990},[984,64721,64722],{"class":996},"1667219066",[984,64724,1021],{"class":990},[984,64726,64727,64730,64732,64735],{"class":986,"line":1111},[984,64728,64729],{"class":996},"      \"expire_time\"",[984,64731,1015],{"class":990},[984,64733,64734],{"class":996},"1667240666",[984,64736,1021],{"class":990},[984,64738,64739,64741,64743,64746],{"class":986,"line":1124},[984,64740,6667],{"class":996},[984,64742,1015],{"class":990},[984,64744,64745],{"class":1003},"\"1ae40a6c80d54cc4b3653ab2c478c328\"",[984,64747,1021],{"class":990},[984,64749,64750,64753,64755,64757],{"class":986,"line":1137},[984,64751,64752],{"class":996},"      \"isMy\"",[984,64754,1015],{"class":990},[984,64756,5089],{"class":996},[984,64758,1021],{"class":990},[984,64760,64761,64764,64766,64768],{"class":986,"line":1150},[984,64762,64763],{"class":996},"      \"receiveAmount\"",[984,64765,1015],{"class":990},[984,64767,32832],{"class":996},[984,64769,1021],{"class":990},[984,64771,64772,64775,64777,64779],{"class":986,"line":1163},[984,64773,64774],{"class":996},"      \"receiveAssetId\"",[984,64776,1015],{"class":990},[984,64778,1171],{"class":996},[984,64780,1021],{"class":990},[984,64782,64783,64786,64788,64791],{"class":986,"line":1176},[984,64784,64785],{"class":996},"      \"receiveCurrencyName\"",[984,64787,1015],{"class":990},[984,64789,64790],{"class":1003},"\"BEAM\"",[984,64792,1021],{"class":990},[984,64794,64795,64798,64800,64802],{"class":986,"line":1189},[984,64796,64797],{"class":996},"      \"sendAmount\"",[984,64799,1015],{"class":990},[984,64801,32832],{"class":996},[984,64803,1021],{"class":990},[984,64805,64806,64809,64811,64813],{"class":986,"line":1202},[984,64807,64808],{"class":996},"      \"sendAssetId\"",[984,64810,1015],{"class":990},[984,64812,1503],{"class":996},[984,64814,1021],{"class":990},[984,64816,64817,64820,64822],{"class":986,"line":1211},[984,64818,64819],{"class":996},"      \"sendCurrencyName\"",[984,64821,1015],{"class":990},[984,64823,64824],{"class":1003},"\"SHEKELb\"\n",[984,64826,64827],{"class":986,"line":1217},[984,64828,15511],{"class":990},[984,64830,64831],{"class":986,"line":1229},[984,64832,1529],{"class":990},[984,64834,64835,64837,64839,64842],{"class":986,"line":1241},[984,64836,15566],{"class":996},[984,64838,1015],{"class":990},[984,64840,64841],{"class":996},"1667219060",[984,64843,1021],{"class":990},[984,64845,64846,64848,64850,64853],{"class":986,"line":1254},[984,64847,64729],{"class":996},[984,64849,1015],{"class":990},[984,64851,64852],{"class":996},"1667240660",[984,64854,1021],{"class":990},[984,64856,64857,64859,64861,64864],{"class":986,"line":1266},[984,64858,6667],{"class":996},[984,64860,1015],{"class":990},[984,64862,64863],{"class":1003},"\"bf98b6e8a9fa49de939facfe5faad899\"",[984,64865,1021],{"class":990},[984,64867,64868,64870,64872,64874],{"class":986,"line":1279},[984,64869,64752],{"class":996},[984,64871,1015],{"class":990},[984,64873,5089],{"class":996},[984,64875,1021],{"class":990},[984,64877,64878,64880,64882,64884],{"class":986,"line":1291},[984,64879,64763],{"class":996},[984,64881,1015],{"class":990},[984,64883,3592],{"class":996},[984,64885,1021],{"class":990},[984,64887,64888,64890,64892,64894],{"class":986,"line":1304},[984,64889,64774],{"class":996},[984,64891,1015],{"class":990},[984,64893,1171],{"class":996},[984,64895,1021],{"class":990},[984,64897,64898,64900,64902,64904],{"class":986,"line":1316},[984,64899,64785],{"class":996},[984,64901,1015],{"class":990},[984,64903,64790],{"class":1003},[984,64905,1021],{"class":990},[984,64907,64908,64910,64912,64914],{"class":986,"line":1327},[984,64909,64797],{"class":996},[984,64911,1015],{"class":990},[984,64913,3592],{"class":996},[984,64915,1021],{"class":990},[984,64917,64918,64920,64922,64924],{"class":986,"line":1333},[984,64919,64808],{"class":996},[984,64921,1015],{"class":990},[984,64923,1503],{"class":996},[984,64925,1021],{"class":990},[984,64927,64928,64930,64932],{"class":986,"line":1338},[984,64929,64819],{"class":996},[984,64931,1015],{"class":990},[984,64933,64824],{"class":1003},[984,64935,64936],{"class":986,"line":1355},[984,64937,1607],{"class":990},[984,64939,64940],{"class":986,"line":1367},[984,64941,17287],{"class":990},[984,64943,64944],{"class":986,"line":1379},[984,64945,1038],{"class":990},[26,64947,52968],{"id":52968},[11,64949,64950],{},"Create asset swap offer",[11,64952,64953],{},[150,64954,975],{},[866,64956,64958],{"className":978,"code":64957,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_create\",\n    \"params\": {\n        \"send_amount\": 100000000,\n        \"send_asset_id\": 5,\n        \"receive_amount\": 100000000,\n        \"receive_asset_id\": 0,\n        \"minutes_before_expire\": 30,\n        \"comment\": \"api1\"\n    }\n}\n",[150,64959,64960,64964,64974,64984,64995,65001,65012,65023,65034,65045,65056,65065,65069],{"__ignoreMap":760},[984,64961,64962],{"class":986,"line":987},[984,64963,991],{"class":990},[984,64965,64966,64968,64970,64972],{"class":986,"line":761},[984,64967,997],{"class":996},[984,64969,1738],{"class":990},[984,64971,1004],{"class":1003},[984,64973,1021],{"class":990},[984,64975,64976,64978,64980,64982],{"class":986,"line":772},[984,64977,1012],{"class":996},[984,64979,1738],{"class":990},[984,64981,1345],{"class":996},[984,64983,1021],{"class":990},[984,64985,64986,64988,64990,64993],{"class":986,"line":1024},[984,64987,1027],{"class":996},[984,64989,1738],{"class":990},[984,64991,64992],{"class":1003},"\"assets_swap_create\"",[984,64994,1021],{"class":990},[984,64996,64997,64999],{"class":986,"line":1035},[984,64998,1521],{"class":996},[984,65000,1083],{"class":990},[984,65002,65003,65006,65008,65010],{"class":986,"line":1098},[984,65004,65005],{"class":996},"        \"send_amount\"",[984,65007,1015],{"class":990},[984,65009,3592],{"class":996},[984,65011,1021],{"class":990},[984,65013,65014,65017,65019,65021],{"class":986,"line":1111},[984,65015,65016],{"class":996},"        \"send_asset_id\"",[984,65018,1015],{"class":990},[984,65020,8099],{"class":996},[984,65022,1021],{"class":990},[984,65024,65025,65028,65030,65032],{"class":986,"line":1124},[984,65026,65027],{"class":996},"        \"receive_amount\"",[984,65029,1015],{"class":990},[984,65031,3592],{"class":996},[984,65033,1021],{"class":990},[984,65035,65036,65039,65041,65043],{"class":986,"line":1137},[984,65037,65038],{"class":996},"        \"receive_asset_id\"",[984,65040,1015],{"class":990},[984,65042,1171],{"class":996},[984,65044,1021],{"class":990},[984,65046,65047,65050,65052,65054],{"class":986,"line":1150},[984,65048,65049],{"class":996},"        \"minutes_before_expire\"",[984,65051,1015],{"class":990},[984,65053,1197],{"class":996},[984,65055,1021],{"class":990},[984,65057,65058,65060,65062],{"class":986,"line":1163},[984,65059,1580],{"class":996},[984,65061,1015],{"class":990},[984,65063,65064],{"class":1003},"\"api1\"\n",[984,65066,65067],{"class":986,"line":1176},[984,65068,1607],{"class":990},[984,65070,65071],{"class":986,"line":1189},[984,65072,1038],{"class":990},[11,65074,65075],{},[150,65076,1043],{},[866,65078,65080],{"className":978,"code":65079,"language":980,"meta":760,"style":760},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offer\": {\n    \"create_time\": 1667219348,\n    \"expire_time\": 1667221148,\n    \"id\": \"dce8c04152e14e71a13d81242158a94e\",\n    \"isMy\": true,\n    \"receiveAmount\": 100000000,\n    \"receiveAssetId\": 0,\n    \"receiveCurrencyName\": \"BEAM\",\n    \"sendAmount\": 100000000,\n    \"sendAssetId\": 5,\n    \"sendCurrencyName\": \"DEMOX\"\n  }\n}\n",[150,65081,65082,65086,65096,65106,65113,65125,65137,65148,65159,65170,65181,65192,65203,65214,65224,65228],{"__ignoreMap":760},[984,65083,65084],{"class":986,"line":987},[984,65085,991],{"class":990},[984,65087,65088,65090,65092,65094],{"class":986,"line":761},[984,65089,1057],{"class":996},[984,65091,1015],{"class":990},[984,65093,1345],{"class":996},[984,65095,1021],{"class":990},[984,65097,65098,65100,65102,65104],{"class":986,"line":772},[984,65099,1069],{"class":996},[984,65101,1015],{"class":990},[984,65103,1004],{"class":1003},[984,65105,1021],{"class":990},[984,65107,65108,65111],{"class":986,"line":1024},[984,65109,65110],{"class":996},"  \"offer\"",[984,65112,1083],{"class":990},[984,65114,65115,65118,65120,65123],{"class":986,"line":1035},[984,65116,65117],{"class":996},"    \"create_time\"",[984,65119,1015],{"class":990},[984,65121,65122],{"class":996},"1667219348",[984,65124,1021],{"class":990},[984,65126,65127,65130,65132,65135],{"class":986,"line":1098},[984,65128,65129],{"class":996},"    \"expire_time\"",[984,65131,1015],{"class":990},[984,65133,65134],{"class":996},"1667221148",[984,65136,1021],{"class":990},[984,65138,65139,65141,65143,65146],{"class":986,"line":1111},[984,65140,1012],{"class":996},[984,65142,1015],{"class":990},[984,65144,65145],{"class":1003},"\"dce8c04152e14e71a13d81242158a94e\"",[984,65147,1021],{"class":990},[984,65149,65150,65153,65155,65157],{"class":986,"line":1124},[984,65151,65152],{"class":996},"    \"isMy\"",[984,65154,1015],{"class":990},[984,65156,2682],{"class":996},[984,65158,1021],{"class":990},[984,65160,65161,65164,65166,65168],{"class":986,"line":1137},[984,65162,65163],{"class":996},"    \"receiveAmount\"",[984,65165,1015],{"class":990},[984,65167,3592],{"class":996},[984,65169,1021],{"class":990},[984,65171,65172,65175,65177,65179],{"class":986,"line":1150},[984,65173,65174],{"class":996},"    \"receiveAssetId\"",[984,65176,1015],{"class":990},[984,65178,1171],{"class":996},[984,65180,1021],{"class":990},[984,65182,65183,65186,65188,65190],{"class":986,"line":1163},[984,65184,65185],{"class":996},"    \"receiveCurrencyName\"",[984,65187,1015],{"class":990},[984,65189,64790],{"class":1003},[984,65191,1021],{"class":990},[984,65193,65194,65197,65199,65201],{"class":986,"line":1176},[984,65195,65196],{"class":996},"    \"sendAmount\"",[984,65198,1015],{"class":990},[984,65200,3592],{"class":996},[984,65202,1021],{"class":990},[984,65204,65205,65208,65210,65212],{"class":986,"line":1189},[984,65206,65207],{"class":996},"    \"sendAssetId\"",[984,65209,1015],{"class":990},[984,65211,8099],{"class":996},[984,65213,1021],{"class":990},[984,65215,65216,65219,65221],{"class":986,"line":1202},[984,65217,65218],{"class":996},"    \"sendCurrencyName\"",[984,65220,1015],{"class":990},[984,65222,65223],{"class":1003},"\"DEMOX\"\n",[984,65225,65226],{"class":986,"line":1211},[984,65227,1459],{"class":990},[984,65229,65230],{"class":986,"line":1217},[984,65231,1038],{"class":990},[26,65233,52974],{"id":52974},[11,65235,65236],{},"Cancel own asset swap offer",[11,65238,65239],{},[150,65240,975],{},[866,65242,65244],{"className":978,"code":65243,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_cancel\",\n    \"params\": {\n        \"offer_id\": \"dce8c04152e14e71a13d81242158a94e\"\n    }\n}\n",[150,65245,65246,65250,65260,65270,65281,65287,65297,65301],{"__ignoreMap":760},[984,65247,65248],{"class":986,"line":987},[984,65249,991],{"class":990},[984,65251,65252,65254,65256,65258],{"class":986,"line":761},[984,65253,997],{"class":996},[984,65255,1738],{"class":990},[984,65257,1004],{"class":1003},[984,65259,1021],{"class":990},[984,65261,65262,65264,65266,65268],{"class":986,"line":772},[984,65263,1012],{"class":996},[984,65265,1738],{"class":990},[984,65267,1345],{"class":996},[984,65269,1021],{"class":990},[984,65271,65272,65274,65276,65279],{"class":986,"line":1024},[984,65273,1027],{"class":996},[984,65275,1738],{"class":990},[984,65277,65278],{"class":1003},"\"assets_swap_cancel\"",[984,65280,1021],{"class":990},[984,65282,65283,65285],{"class":986,"line":1035},[984,65284,1521],{"class":996},[984,65286,1083],{"class":990},[984,65288,65289,65292,65294],{"class":986,"line":1098},[984,65290,65291],{"class":996},"        \"offer_id\"",[984,65293,1015],{"class":990},[984,65295,65296],{"class":1003},"\"dce8c04152e14e71a13d81242158a94e\"\n",[984,65298,65299],{"class":986,"line":1111},[984,65300,1607],{"class":990},[984,65302,65303],{"class":986,"line":1124},[984,65304,1038],{"class":990},[11,65306,65307],{},[150,65308,1043],{},[866,65310,65312],{"className":978,"code":65311,"language":980,"meta":760,"style":760},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offer\": \"dce8c04152e14e71a13d81242158a94e\"\n}\n",[150,65313,65314,65318,65328,65338,65346],{"__ignoreMap":760},[984,65315,65316],{"class":986,"line":987},[984,65317,991],{"class":990},[984,65319,65320,65322,65324,65326],{"class":986,"line":761},[984,65321,1057],{"class":996},[984,65323,1015],{"class":990},[984,65325,1345],{"class":996},[984,65327,1021],{"class":990},[984,65329,65330,65332,65334,65336],{"class":986,"line":772},[984,65331,1069],{"class":996},[984,65333,1015],{"class":990},[984,65335,1004],{"class":1003},[984,65337,1021],{"class":990},[984,65339,65340,65342,65344],{"class":986,"line":1024},[984,65341,65110],{"class":996},[984,65343,1015],{"class":990},[984,65345,65296],{"class":1003},[984,65347,65348],{"class":986,"line":1035},[984,65349,1038],{"class":990},[26,65351,52980],{"id":52980},[11,65353,65354],{},"Accept asset swap offer",[11,65356,65357],{},[150,65358,975],{},[866,65360,65362],{"className":978,"code":65361,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\" : \"2.0\",\n    \"id\" : 1,\n    \"method\" : \"assets_swap_accept\",\n    \"params\": {\n        \"offer_id\": \"1ae40a6c80d54cc4b3653ab2c478c328\"\n    }\n}\n",[150,65363,65364,65368,65378,65388,65399,65405,65414,65418],{"__ignoreMap":760},[984,65365,65366],{"class":986,"line":987},[984,65367,991],{"class":990},[984,65369,65370,65372,65374,65376],{"class":986,"line":761},[984,65371,997],{"class":996},[984,65373,1738],{"class":990},[984,65375,1004],{"class":1003},[984,65377,1021],{"class":990},[984,65379,65380,65382,65384,65386],{"class":986,"line":772},[984,65381,1012],{"class":996},[984,65383,1738],{"class":990},[984,65385,1345],{"class":996},[984,65387,1021],{"class":990},[984,65389,65390,65392,65394,65397],{"class":986,"line":1024},[984,65391,1027],{"class":996},[984,65393,1738],{"class":990},[984,65395,65396],{"class":1003},"\"assets_swap_accept\"",[984,65398,1021],{"class":990},[984,65400,65401,65403],{"class":986,"line":1035},[984,65402,1521],{"class":996},[984,65404,1083],{"class":990},[984,65406,65407,65409,65411],{"class":986,"line":1098},[984,65408,65291],{"class":996},[984,65410,1015],{"class":990},[984,65412,65413],{"class":1003},"\"1ae40a6c80d54cc4b3653ab2c478c328\"\n",[984,65415,65416],{"class":986,"line":1111},[984,65417,1607],{"class":990},[984,65419,65420],{"class":986,"line":1124},[984,65421,1038],{"class":990},[11,65423,65424],{},[150,65425,1043],{},[866,65427,65429],{"className":978,"code":65428,"language":980,"meta":760,"style":760},"{\n  \"id\": 1,\n  \"jsonrpc\": \"2.0\",\n  \"offer\": {\n    \"create_time\": 1667219066,\n    \"expire_time\": 1667240666,\n    \"id\": \"1ae40a6c80d54cc4b3653ab2c478c328\",\n    \"isMy\": false,\n    \"receiveAmount\": 200000000,\n    \"receiveAssetId\": 0,\n    \"receiveCurrencyName\": \"BEAM\",\n    \"sendAmount\": 200000000,\n    \"sendAssetId\": 2,\n    \"sendCurrencyName\": \"SHEKELb\"\n  },\n  \"tx_id\": \"71552f2092e64665a7b8dbdcdf9f3ca2\"\n}\n",[150,65430,65431,65435,65445,65455,65461,65471,65481,65491,65501,65511,65521,65531,65541,65551,65559,65563,65573],{"__ignoreMap":760},[984,65432,65433],{"class":986,"line":987},[984,65434,991],{"class":990},[984,65436,65437,65439,65441,65443],{"class":986,"line":761},[984,65438,1057],{"class":996},[984,65440,1015],{"class":990},[984,65442,1345],{"class":996},[984,65444,1021],{"class":990},[984,65446,65447,65449,65451,65453],{"class":986,"line":772},[984,65448,1069],{"class":996},[984,65450,1015],{"class":990},[984,65452,1004],{"class":1003},[984,65454,1021],{"class":990},[984,65456,65457,65459],{"class":986,"line":1024},[984,65458,65110],{"class":996},[984,65460,1083],{"class":990},[984,65462,65463,65465,65467,65469],{"class":986,"line":1035},[984,65464,65117],{"class":996},[984,65466,1015],{"class":990},[984,65468,64722],{"class":996},[984,65470,1021],{"class":990},[984,65472,65473,65475,65477,65479],{"class":986,"line":1098},[984,65474,65129],{"class":996},[984,65476,1015],{"class":990},[984,65478,64734],{"class":996},[984,65480,1021],{"class":990},[984,65482,65483,65485,65487,65489],{"class":986,"line":1111},[984,65484,1012],{"class":996},[984,65486,1015],{"class":990},[984,65488,64745],{"class":1003},[984,65490,1021],{"class":990},[984,65492,65493,65495,65497,65499],{"class":986,"line":1124},[984,65494,65152],{"class":996},[984,65496,1015],{"class":990},[984,65498,5089],{"class":996},[984,65500,1021],{"class":990},[984,65502,65503,65505,65507,65509],{"class":986,"line":1137},[984,65504,65163],{"class":996},[984,65506,1015],{"class":990},[984,65508,32832],{"class":996},[984,65510,1021],{"class":990},[984,65512,65513,65515,65517,65519],{"class":986,"line":1150},[984,65514,65174],{"class":996},[984,65516,1015],{"class":990},[984,65518,1171],{"class":996},[984,65520,1021],{"class":990},[984,65522,65523,65525,65527,65529],{"class":986,"line":1163},[984,65524,65185],{"class":996},[984,65526,1015],{"class":990},[984,65528,64790],{"class":1003},[984,65530,1021],{"class":990},[984,65532,65533,65535,65537,65539],{"class":986,"line":1176},[984,65534,65196],{"class":996},[984,65536,1015],{"class":990},[984,65538,32832],{"class":996},[984,65540,1021],{"class":990},[984,65542,65543,65545,65547,65549],{"class":986,"line":1189},[984,65544,65207],{"class":996},[984,65546,1015],{"class":990},[984,65548,1503],{"class":996},[984,65550,1021],{"class":990},[984,65552,65553,65555,65557],{"class":986,"line":1202},[984,65554,65218],{"class":996},[984,65556,1015],{"class":990},[984,65558,64824],{"class":1003},[984,65560,65561],{"class":986,"line":1211},[984,65562,7129],{"class":990},[984,65564,65565,65568,65570],{"class":986,"line":1217},[984,65566,65567],{"class":996},"  \"tx_id\"",[984,65569,1015],{"class":990},[984,65571,65572],{"class":1003},"\"71552f2092e64665a7b8dbdcdf9f3ca2\"\n",[984,65574,65575],{"class":986,"line":1229},[984,65576,1038],{"class":990},[2685,65578,8046],{},{"title":760,"searchDepth":761,"depth":761,"links":65580},[65581,65584,65585,65591,65592,65593,65594,65595,65598,65599,65600,65601,65602,65603,65604,65605,65606,65607,65608,65613,65614,65615,65616,65617,65618,65619,65624,65625,65626,65627,65628,65629,65630,65631,65632,65633,65634,65635,65636,65637,65638,65639,65640,65641,65642,65643,65644,65645,65646,65647],{"id":52945,"depth":761,"text":52946,"children":65582},[65583],{"id":19475,"depth":772,"text":19476},{"id":12086,"depth":761,"text":12087},{"id":12229,"depth":761,"text":12230,"children":65586},[65587,65588,65589,65590],{"id":29572,"depth":772,"text":29573},{"id":29754,"depth":772,"text":29755},{"id":53279,"depth":772,"text":53280},{"id":53292,"depth":772,"text":53293},{"id":26880,"depth":761,"text":29821},{"id":18489,"depth":761,"text":18490},{"id":6196,"depth":761,"text":6196},{"id":5854,"depth":761,"text":5854},{"id":12265,"depth":761,"text":12265,"children":65596},[65597],{"id":13237,"depth":772,"text":2757},{"id":12249,"depth":761,"text":12249},{"id":12257,"depth":761,"text":12257},{"id":888,"depth":761,"text":888},{"id":893,"depth":761,"text":893},{"id":903,"depth":761,"text":903},{"id":908,"depth":761,"text":908},{"id":913,"depth":761,"text":913},{"id":12316,"depth":761,"text":12316},{"id":12324,"depth":761,"text":12324},{"id":12303,"depth":761,"text":12303},{"id":12337,"depth":761,"text":12337,"children":65609},[65610,65611,65612],{"id":15966,"depth":772,"text":15967},{"id":15970,"depth":772,"text":15971},{"id":16051,"depth":772,"text":16052},{"id":883,"depth":761,"text":883},{"id":12024,"depth":761,"text":12024},{"id":918,"depth":761,"text":918},{"id":12350,"depth":761,"text":12350},{"id":12358,"depth":761,"text":12358},{"id":12366,"depth":761,"text":12366},{"id":12395,"depth":761,"text":12395,"children":65620},[65621,65622,65623],{"id":18496,"depth":772,"text":18497},{"id":18503,"depth":772,"text":18504},{"id":25761,"depth":772,"text":25762},{"id":12406,"depth":761,"text":12406},{"id":923,"depth":761,"text":923},{"id":12416,"depth":761,"text":12416},{"id":19484,"depth":761,"text":19484},{"id":29419,"depth":761,"text":29419},{"id":29429,"depth":761,"text":29429},{"id":29439,"depth":761,"text":29439},{"id":29449,"depth":761,"text":29449},{"id":29459,"depth":761,"text":29459},{"id":29469,"depth":761,"text":29469},{"id":19492,"depth":761,"text":19492},{"id":19563,"depth":761,"text":19563},{"id":19571,"depth":761,"text":19571},{"id":19579,"depth":761,"text":19579},{"id":19587,"depth":761,"text":19587},{"id":19593,"depth":761,"text":19593},{"id":19599,"depth":761,"text":19599},{"id":29479,"depth":761,"text":29479},{"id":29487,"depth":761,"text":29487},{"id":41247,"depth":761,"text":41247},{"id":52962,"depth":761,"text":52962},{"id":52968,"depth":761,"text":52968},{"id":52974,"depth":761,"text":52974},{"id":52980,"depth":761,"text":52980},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.2",{"description":760},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.2","qenjx3PZHQH0wDbQ_EKOaX5CDx-IKwFMrwRaizZiE7w",{"id":65654,"title":65655,"body":65656,"description":760,"extension":775,"image":776,"meta":78287,"navTitle":776,"navigation":778,"path":78288,"seo":78289,"stem":78290,"__hash__":78291},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.3.md","Beam Wallet Protocol API V73",{"type":8,"value":65657,"toc":78218},[65658,65662,65664,65674,65676,65678,65730,65732,65734,65918,65920,65970,65972,65981,65983,65989,66007,66009,66015,66055,66109,66111,66113,66115,66117,66121,66215,66310,66332,66336,66376,66378,66382,66386,66450,66454,66538,66552,66554,66556,66560,66624,66634,66638,66802,66842,66844,66852,66854,66856,66860,66924,66928,66968,66970,66978,66982,67066,67070,67110,67112,67114,67118,67242,67290,67296,67300,67354,67358,67360,67362,67366,67370,67466,67470,67524,67546,67548,67552,67556,67560,67634,67656,67662,67666,67720,67724,67726,67730,67734,67738,67812,67834,67840,67844,67898,67902,67904,67908,67912,67916,67980,67994,67996,68000,68054,68058,68060,68062,68066,68130,68136,68140,68180,68186,68188,68190,68194,68258,68264,68268,68308,68314,68316,68320,68324,68398,68412,68416,68640,68642,68644,68648,68766,68792,68796,68804,68808,69454,69560,69562,69564,69614,69616,69636,69640,69642,69644,69648,69688,69692,69838,69868,69872,69876,69936,69942,69946,70690,70782,70792,70808,70810,70812,70816,70920,70940,70944,71078,71090,71094,71174,71178,71316,71352,71354,71358,71362,71426,71436,71440,71652,71656,71715,71717,71719,71723,71763,71767,71807,71809,71813,71817,71881,71885,71939,71947,71951,71953,71957,71961,72025,72029,72133,72159,72163,72165,72167,72169,72173,72255,72257,72261,72335,72361,72367,72371,72505,72521,72523,72525,72527,72533,72537,72607,72611,72677,72679,72685,72699,72701,72703,72707,72777,72785,72789,72839,72845,72847,72851,72855,72949,72953,73057,73059,73099,73101,73103,73107,73171,73177,73181,73335,73381,73383,73385,73389,73429,73433,73563,73576,73578,73580,73584,73676,73694,73698,73762,73772,73774,73776,73780,73862,73872,73876,73930,73936,73938,73940,73944,74018,74028,74032,74106,74116,74118,74122,74126,74200,74210,74214,74268,74274,74276,74280,74284,74348,74354,74358,74412,74418,74420,74422,74426,74490,74496,74500,74554,74560,74562,74564,74568,74678,74682,74722,74730,74732,74734,74740,74742,74746,74896,74912,74916,75066,75072,75076,75416,75430,75432,75434,75438,75568,75570,75572,75576,75900,75914,75916,75920,75922,75926,76022,76038,76040,76044,76290,76306,76308,76312,76316,76484,76500,76502,76504,76508,76772,76788,76790,76792,76796,76858,76876,76878,76880,76884,76958,76968,76972,77026,77032,77034,77036,77040,77124,77138,77142,77182,77184,77186,77190,77256,77262,77266,77316,77318,77320,77324,77364,77368,77622,77624,77626,77630,77740,77744,77884,77886,77888,77892,77952,77956,77996,77998,78000,78004,78064,78068,78216],[26,65659,65661],{"id":65660},"whats-new-in-v73","What's new in v7.3",[716,65663,19498],{"id":19497},[89,65665,65666],{},[54,65667,65668,65670,65671],{},[18,65669,6196],{"href":12240}," added new parameter ",[150,65672,65673],{},"use_default_signature",[26,65675,12087],{"id":12086},[11,65677,12090],{},[89,65679,65680,65682,65684,65686,65688,65690,65692,65694,65696,65698,65700,65702,65704,65706,65708,65710,65712,65714,65716,65718,65720,65722,65724,65726,65728],{},[54,65681,12095],{},[54,65683,12098],{},[54,65685,12101],{},[54,65687,12104],{},[54,65689,12107],{},[54,65691,12110],{},[54,65693,12113],{},[54,65695,19624],{},[54,65697,12178],{},[54,65699,12181],{},[54,65701,12184],{},[54,65703,12187],{},[54,65705,12190],{},[54,65707,12193],{},[54,65709,12196],{},[54,65711,12199],{},[54,65713,12202],{},[54,65715,12205],{},[54,65717,12208],{},[54,65719,12211],{},[54,65721,12214],{},[54,65723,12217],{},[54,65725,12220],{},[54,65727,12223],{},[54,65729,12226],{},[26,65731,12230],{"id":12229},[716,65733,29573],{"id":29572},[89,65735,65736,65742,65748,65754,65760,65766,65772,65776,65780,65786,65792,65796,65802,65808,65812,65818,65824,65830,65836,65842,65848,65852,65858,65866,65874,65882,65888,65894,65900,65906,65912],{},[54,65737,65738,2679,65740],{},[18,65739,6196],{"href":12240},[2707,65741],{"alt":760,"src":12243},[54,65743,65744,2679,65746],{},[18,65745,12249],{"href":12248},[2707,65747],{"alt":760,"src":12243},[54,65749,65750,2679,65752],{},[18,65751,12257],{"href":12256},[2707,65753],{"alt":760,"src":12243},[54,65755,65756,2679,65758],{},[18,65757,12265],{"href":12264},[2707,65759],{"alt":760,"src":12243},[54,65761,65762,2679,65764],{},[18,65763,5854],{"href":12272},[2707,65765],{"alt":760,"src":12243},[54,65767,65768,2679,65770],{},[18,65769,888],{"href":12279},[2707,65771],{"alt":760,"src":12243},[54,65773,65774],{},[18,65775,903],{"href":12286},[54,65777,65778],{},[18,65779,908],{"href":12291},[54,65781,65782,2679,65784],{},[18,65783,913],{"href":2036},[2707,65785],{"alt":760,"src":12243},[54,65787,65788,2679,65790],{},[18,65789,12303],{"href":12302},[2707,65791],{"alt":760,"src":12243},[54,65793,65794],{},[18,65795,893],{"href":12310},[54,65797,65798,2679,65800],{},[18,65799,12316],{"href":12315},[2707,65801],{"alt":760,"src":12243},[54,65803,65804,2679,65806],{},[18,65805,12324],{"href":12323},[2707,65807],{"alt":760,"src":12243},[54,65809,65810],{},[18,65811,12024],{"href":12331},[54,65813,65814,2679,65816],{},[18,65815,12337],{"href":12336},[2707,65817],{"alt":760,"src":12243},[54,65819,65820,2679,65822],{},[18,65821,883],{"href":12344},[2707,65823],{"alt":760,"src":12243},[54,65825,65826,2679,65828],{},[18,65827,12350],{"href":12349},[2707,65829],{"alt":760,"src":12243},[54,65831,65832,2679,65834],{},[18,65833,12358],{"href":12357},[2707,65835],{"alt":760,"src":12243},[54,65837,65838,2679,65840],{},[18,65839,12366],{"href":12365},[2707,65841],{"alt":760,"src":12243},[54,65843,65844,2679,65846],{},[18,65845,918],{"href":12373},[2707,65847],{"alt":760,"src":12243},[54,65849,65850],{},[18,65851,12381],{"href":12380},[54,65853,65854,2679,65856],{},[18,65855,12387],{"href":12386},[2707,65857],{"alt":760,"src":12243},[54,65859,65860,2679,65862,65864],{},[18,65861,12395],{"href":12394},[2707,65863],{"alt":760,"src":12243},[2707,65865],{"alt":760,"src":19795},[54,65867,65868,2679,65870,65872],{},[18,65869,12406],{"href":12405},[2707,65871],{"alt":760,"src":12243},[2707,65873],{"alt":760,"src":19795},[54,65875,65876,2679,65878,65880],{},[18,65877,12416],{"href":12415},[2707,65879],{"alt":760,"src":12243},[2707,65881],{"alt":760,"src":19795},[54,65883,65884,2679,65886],{},[18,65885,923],{"href":12425},[2707,65887],{"alt":760,"src":12243},[54,65889,65890,2679,65892],{},[18,65891,19484],{"href":19483},[2707,65893],{"alt":760,"src":12243},[54,65895,65896,2679,65898],{},[18,65897,19492],{"href":19491},[2707,65899],{"alt":760,"src":12243},[54,65901,65902,2679,65904],{},[18,65903,29479],{"href":29478},[2707,65905],{"alt":760,"src":12243},[54,65907,65908,2679,65910],{},[18,65909,29487],{"href":29486},[2707,65911],{"alt":760,"src":12243},[54,65913,65914,2679,65916],{},[18,65915,41247],{"href":41246},[2707,65917],{"alt":760,"src":12243},[716,65919,29755],{"id":29754},[89,65921,65922,65930,65938,65946,65954,65962],{},[54,65923,65924,2679,65926,65928],{},[18,65925,29419],{"href":29418},[2707,65927],{"alt":760,"src":12243},[2707,65929],{"alt":760,"src":19795},[54,65931,65932,2679,65934,65936],{},[18,65933,29429],{"href":29428},[2707,65935],{"alt":760,"src":12243},[2707,65937],{"alt":760,"src":19795},[54,65939,65940,2679,65942,65944],{},[18,65941,29439],{"href":29438},[2707,65943],{"alt":760,"src":12243},[2707,65945],{"alt":760,"src":19795},[54,65947,65948,2679,65950,65952],{},[18,65949,29449],{"href":29448},[2707,65951],{"alt":760,"src":12243},[2707,65953],{"alt":760,"src":19795},[54,65955,65956,2679,65958,65960],{},[18,65957,29459],{"href":29458},[2707,65959],{"alt":760,"src":12243},[2707,65961],{"alt":760,"src":19795},[54,65963,65964,2679,65966,65968],{},[18,65965,29469],{"href":29468},[2707,65967],{"alt":760,"src":12243},[2707,65969],{"alt":760,"src":19795},[716,65971,53280],{"id":53279},[11,65973,12434,65974,12437,65976,12441,65978,385],{},[150,65975,863],{},[150,65977,12440],{},[18,65979,12446],{"href":12444,"rel":65980},[22],[716,65982,53293],{"id":53292},[11,65984,65985,53298,65987,53301],{},[150,65986,863],{},[150,65988,948],{},[89,65990,65991,65995,65999,66003],{},[54,65992,65993],{},[18,65994,52962],{"href":52961},[54,65996,65997],{},[18,65998,52968],{"href":52967},[54,66000,66001],{},[18,66002,52974],{"href":52973},[54,66004,66005],{},[18,66006,52980],{"href":52979},[26,66008,29821],{"id":26880},[11,66010,29824,66011,29827,66013,26921],{},[18,66012,19492],{"href":19491},[150,66014,26920],{},[89,66016,66017,66047,66053],{},[54,66018,66019,26928,66021],{},[150,66020,2657],{},[89,66022,66023,66029,66035,66041],{},[54,66024,66025,441,66027,26938],{},[150,66026,1171],{},[150,66028,26937],{},[54,66030,66031,441,66033,26946],{},[150,66032,1345],{},[150,66034,26945],{},[54,66036,66037,441,66039,26954],{},[150,66038,1503],{},[150,66040,26953],{},[54,66042,66043,441,66045,26962],{},[150,66044,5131],{},[150,66046,26961],{},[54,66048,66049,26968,66051,26971],{},[150,66050,29866],{},[150,66052,2657],{},[54,66054,26974],{},[89,66056,66057,66065,66073,66081,66087,66093,66101],{},[54,66058,66059,2679,66061,66063],{},[18,66060,19563],{"href":19562},[2707,66062],{"alt":760,"src":12243},[2707,66064],{"alt":760,"src":19795},[54,66066,66067,2679,66069,66071],{},[18,66068,19571],{"href":19570},[2707,66070],{"alt":760,"src":12243},[2707,66072],{"alt":760,"src":19795},[54,66074,66075,2679,66077,66079],{},[18,66076,19579],{"href":19578},[2707,66078],{"alt":760,"src":12243},[2707,66080],{"alt":760,"src":19795},[54,66082,66083,2679,66085],{},[18,66084,19587],{"href":19586},[2707,66086],{"alt":760,"src":19795},[54,66088,66089,2679,66091],{},[18,66090,19593],{"href":19592},[2707,66092],{"alt":760,"src":19795},[54,66094,66095,2679,66097,66099],{},[18,66096,19599],{"href":19598},[2707,66098],{"alt":760,"src":12243},[2707,66100],{"alt":760,"src":19795},[54,66102,66103,2679,66105,66107],{},[18,66104,29326],{"href":29325},[2707,66106],{"alt":760,"src":12243},[2707,66108],{"alt":760,"src":19795},[26,66110,18490],{"id":18489},[11,66112,29929],{},[26,66114,6196],{"id":6196},[11,66116,12451],{},[11,66118,66119],{},[150,66120,975],{},[866,66122,66123],{"className":978,"code":12458,"language":980,"meta":760,"style":760},[150,66124,66125,66129,66139,66149,66159,66165,66169,66179,66189,66199,66207,66211],{"__ignoreMap":760},[984,66126,66127],{"class":986,"line":987},[984,66128,991],{"class":990},[984,66130,66131,66133,66135,66137],{"class":986,"line":761},[984,66132,997],{"class":996},[984,66134,1015],{"class":990},[984,66136,1004],{"class":1003},[984,66138,1007],{"class":990},[984,66140,66141,66143,66145,66147],{"class":986,"line":772},[984,66142,1012],{"class":996},[984,66144,1015],{"class":990},[984,66146,1345],{"class":996},[984,66148,1021],{"class":990},[984,66150,66151,66153,66155,66157],{"class":986,"line":1024},[984,66152,1027],{"class":996},[984,66154,1015],{"class":990},[984,66156,6239],{"class":1003},[984,66158,1007],{"class":990},[984,66160,66161,66163],{"class":986,"line":1035},[984,66162,1521],{"class":996},[984,66164,1524],{"class":990},[984,66166,66167],{"class":986,"line":1098},[984,66168,1529],{"class":990},[984,66170,66171,66173,66175,66177],{"class":986,"line":1111},[984,66172,5926],{"class":996},[984,66174,1015],{"class":990},[984,66176,6305],{"class":1003},[984,66178,1021],{"class":990},[984,66180,66181,66183,66185,66187],{"class":986,"line":1124},[984,66182,6270],{"class":996},[984,66184,1015],{"class":990},[984,66186,6275],{"class":1003},[984,66188,1021],{"class":990},[984,66190,66191,66193,66195,66197],{"class":986,"line":1137},[984,66192,1580],{"class":996},[984,66194,1015],{"class":990},[984,66196,12533],{"class":1003},[984,66198,1021],{"class":990},[984,66200,66201,66203,66205],{"class":986,"line":1150},[984,66202,12540],{"class":996},[984,66204,1738],{"class":990},[984,66206,2497],{"class":996},[984,66208,66209],{"class":986,"line":1163},[984,66210,1607],{"class":990},[984,66212,66213],{"class":986,"line":1176},[984,66214,1038],{"class":990},[89,66216,66217,66252,66272,66276,66290,66300],{},[54,66218,66219,5965,66221,66243,12588,66245,12594,66248,12597,66250],{},[150,66220,5964],{},[89,66222,66223,66227,66231,66235,66239],{},[54,66224,66225,12565],{},[150,66226,5804],{},[54,66228,66229,12570],{},[150,66230,5811],{},[54,66232,66233,12575],{},[150,66234,5991],{},[54,66236,66237,12580],{},[150,66238,6002],{},[54,66240,66241,12585],{},[150,66242,6012],{},[957,66244],{},[18,66246,12593],{"href":12591,"rel":66247},[22],[150,66249,5811],{},[150,66251,12600],{},[54,66253,66254,66256,66266,12622,66268,12626,66270,12629],{},[150,66255,12605],{},[89,66257,66258,66262],{},[54,66259,12610,66260,385],{},[150,66261,12613],{},[54,66263,12616,66264,385],{},[150,66265,12619],{},[957,66267],{},[150,66269,12625],{},[150,66271,12625],{},[54,66273,66274,12635],{},[150,66275,12634],{},[54,66277,66278,12641,66280,12644,66282,12647,66284,12651,66286,12655,66288,385],{},[150,66279,12640],{},[150,66281,2682],{},[150,66283,5804],{},[150,66285,12650],{},[150,66287,12654],{},[150,66289,12658],{},[54,66291,66292,12664,66294,12667,66296,12670,66298,385],{},[150,66293,12663],{},[150,66295,5811],{},[150,66297,1345],{},[150,66299,12673],{},[54,66301,66302,66304,66305,66307,66308,385],{},[150,66303,65673],{}," - if it's ",[150,66306,2682],{}," then generated address will use default wallet signature. By default it's ",[150,66309,5089],{},[11,66311,12676,66312,12680,66314,12683,66316,12686,66318,12689,66320,441,66322,163,66324,12696,66326,4665,66328,4665,66330,12703],{},[150,66313,12679],{},[18,66315,9803],{"href":12279},[150,66317,6317],{},[150,66319,863],{},[150,66321,5811],{},[150,66323,5991],{},[150,66325,6002],{},[150,66327,5811],{},[150,66329,5991],{},[150,66331,6002],{},[11,66333,66334],{},[150,66335,1043],{},[866,66337,66338],{"className":978,"code":12710,"language":980,"meta":760,"style":760},[150,66339,66340,66344,66354,66364,66372],{"__ignoreMap":760},[984,66341,66342],{"class":986,"line":987},[984,66343,991],{"class":990},[984,66345,66346,66348,66350,66352],{"class":986,"line":761},[984,66347,997],{"class":996},[984,66349,1738],{"class":990},[984,66351,1004],{"class":1003},[984,66353,1007],{"class":990},[984,66355,66356,66358,66360,66362],{"class":986,"line":772},[984,66357,1012],{"class":996},[984,66359,1738],{"class":990},[984,66361,1345],{"class":996},[984,66363,1021],{"class":990},[984,66365,66366,66368,66370],{"class":986,"line":1024},[984,66367,1724],{"class":996},[984,66369,1738],{"class":990},[984,66371,12745],{"class":1003},[984,66373,66374],{"class":986,"line":1035},[984,66375,1038],{"class":990},[26,66377,5854],{"id":5854},[11,66379,12754,66380,12758],{},[150,66381,12757],{},[11,66383,66384],{},[150,66385,975],{},[866,66387,66388],{"className":978,"code":12765,"language":980,"meta":760,"style":760},[150,66389,66390,66394,66404,66414,66424,66430,66434,66442,66446],{"__ignoreMap":760},[984,66391,66392],{"class":986,"line":987},[984,66393,991],{"class":990},[984,66395,66396,66398,66400,66402],{"class":986,"line":761},[984,66397,997],{"class":996},[984,66399,1000],{"class":990},[984,66401,1004],{"class":1003},[984,66403,1007],{"class":990},[984,66405,66406,66408,66410,66412],{"class":986,"line":772},[984,66407,1012],{"class":996},[984,66409,1015],{"class":990},[984,66411,1345],{"class":996},[984,66413,1021],{"class":990},[984,66415,66416,66418,66420,66422],{"class":986,"line":1024},[984,66417,1027],{"class":996},[984,66419,1015],{"class":990},[984,66421,12800],{"class":1003},[984,66423,1007],{"class":990},[984,66425,66426,66428],{"class":986,"line":1035},[984,66427,1521],{"class":996},[984,66429,1524],{"class":990},[984,66431,66432],{"class":986,"line":1098},[984,66433,1529],{"class":990},[984,66435,66436,66438,66440],{"class":986,"line":1111},[984,66437,1569],{"class":996},[984,66439,1738],{"class":990},[984,66441,12745],{"class":1003},[984,66443,66444],{"class":986,"line":1124},[984,66445,1607],{"class":990},[984,66447,66448],{"class":986,"line":1137},[984,66449,1038],{"class":990},[11,66451,66452],{},[150,66453,1043],{},[866,66455,66456],{"className":978,"code":12835,"language":980,"meta":760,"style":760},[150,66457,66458,66462,66472,66482,66488,66492,66502,66512,66522,66530,66534],{"__ignoreMap":760},[984,66459,66460],{"class":986,"line":987},[984,66461,991],{"class":990},[984,66463,66464,66466,66468,66470],{"class":986,"line":761},[984,66465,997],{"class":996},[984,66467,1000],{"class":990},[984,66469,1004],{"class":1003},[984,66471,1007],{"class":990},[984,66473,66474,66476,66478,66480],{"class":986,"line":772},[984,66475,1012],{"class":996},[984,66477,1015],{"class":990},[984,66479,1345],{"class":996},[984,66481,1021],{"class":990},[984,66483,66484,66486],{"class":986,"line":1024},[984,66485,1724],{"class":996},[984,66487,5895],{"class":990},[984,66489,66490],{"class":986,"line":1035},[984,66491,1529],{"class":990},[984,66493,66494,66496,66498,66500],{"class":986,"line":1098},[984,66495,5904],{"class":996},[984,66497,1738],{"class":990},[984,66499,2682],{"class":996},[984,66501,1021],{"class":990},[984,66503,66504,66506,66508,66510],{"class":986,"line":1111},[984,66505,5915],{"class":996},[984,66507,1738],{"class":990},[984,66509,5089],{"class":996},[984,66511,1021],{"class":990},[984,66513,66514,66516,66518,66520],{"class":986,"line":1124},[984,66515,5926],{"class":996},[984,66517,1015],{"class":990},[984,66519,5931],{"class":1003},[984,66521,1007],{"class":990},[984,66523,66524,66526,66528],{"class":986,"line":1137},[984,66525,5942],{"class":996},[984,66527,1015],{"class":990},[984,66529,12910],{"class":996},[984,66531,66532],{"class":986,"line":1150},[984,66533,1607],{"class":990},[984,66535,66536],{"class":986,"line":1163},[984,66537,1038],{"class":990},[89,66539,66540,66546],{},[54,66541,66542,12925,66544,12928],{},[150,66543,5964],{},[18,66545,6196],{"href":12240},[54,66547,66548,12933,66550,6024],{},[150,66549,6020],{},[150,66551,5811],{},[26,66553,12265],{"id":12265},[11,66555,12940],{},[11,66557,66558],{},[150,66559,975],{},[866,66561,66562],{"className":978,"code":12947,"language":980,"meta":760,"style":760},[150,66563,66564,66568,66578,66588,66598,66604,66608,66616,66620],{"__ignoreMap":760},[984,66565,66566],{"class":986,"line":987},[984,66567,991],{"class":990},[984,66569,66570,66572,66574,66576],{"class":986,"line":761},[984,66571,997],{"class":996},[984,66573,1000],{"class":990},[984,66575,1004],{"class":1003},[984,66577,1007],{"class":990},[984,66579,66580,66582,66584,66586],{"class":986,"line":772},[984,66581,1012],{"class":996},[984,66583,1015],{"class":990},[984,66585,12972],{"class":996},[984,66587,1021],{"class":990},[984,66589,66590,66592,66594,66596],{"class":986,"line":1024},[984,66591,1027],{"class":996},[984,66593,1000],{"class":990},[984,66595,12983],{"class":1003},[984,66597,1021],{"class":990},[984,66599,66600,66602],{"class":986,"line":1035},[984,66601,1521],{"class":996},[984,66603,1524],{"class":990},[984,66605,66606],{"class":986,"line":1098},[984,66607,1529],{"class":990},[984,66609,66610,66612,66614],{"class":986,"line":1111},[984,66611,13000],{"class":996},[984,66613,1738],{"class":990},[984,66615,2497],{"class":996},[984,66617,66618],{"class":986,"line":1124},[984,66619,1607],{"class":990},[984,66621,66622],{"class":986,"line":1137},[984,66623,1038],{"class":990},[89,66625,66626],{},[54,66627,66628,13020,66630,13023,66632,13026],{},[150,66629,13019],{},[150,66631,2682],{},[150,66633,5089],{},[11,66635,66636],{},[150,66637,1043],{},[866,66639,66640],{"className":978,"code":13033,"language":980,"meta":760,"style":760},[150,66641,66642,66646,66656,66666,66672,66676,66686,66696,66706,66716,66726,66736,66746,66756,66766,66776,66786,66794,66798],{"__ignoreMap":760},[984,66643,66644],{"class":986,"line":987},[984,66645,991],{"class":990},[984,66647,66648,66650,66652,66654],{"class":986,"line":761},[984,66649,1012],{"class":996},[984,66651,1015],{"class":990},[984,66653,12972],{"class":996},[984,66655,1021],{"class":990},[984,66657,66658,66660,66662,66664],{"class":986,"line":772},[984,66659,997],{"class":996},[984,66661,1015],{"class":990},[984,66663,1004],{"class":1003},[984,66665,1021],{"class":990},[984,66667,66668,66670],{"class":986,"line":1024},[984,66669,1724],{"class":996},[984,66671,1524],{"class":990},[984,66673,66674],{"class":986,"line":1035},[984,66675,13070],{"class":990},[984,66677,66678,66680,66682,66684],{"class":986,"line":1098},[984,66679,1569],{"class":996},[984,66681,1015],{"class":990},[984,66683,13079],{"class":1003},[984,66685,1021],{"class":990},[984,66687,66688,66690,66692,66694],{"class":986,"line":1111},[984,66689,13086],{"class":996},[984,66691,1015],{"class":990},[984,66693,13091],{"class":1003},[984,66695,1021],{"class":990},[984,66697,66698,66700,66702,66704],{"class":986,"line":1124},[984,66699,13098],{"class":996},[984,66701,1015],{"class":990},[984,66703,13103],{"class":996},[984,66705,1021],{"class":990},[984,66707,66708,66710,66712,66714],{"class":986,"line":1137},[984,66709,13110],{"class":996},[984,66711,1015],{"class":990},[984,66713,13115],{"class":996},[984,66715,1021],{"class":990},[984,66717,66718,66720,66722,66724],{"class":986,"line":1150},[984,66719,13122],{"class":996},[984,66721,1015],{"class":990},[984,66723,2682],{"class":996},[984,66725,1021],{"class":990},[984,66727,66728,66730,66732,66734],{"class":986,"line":1163},[984,66729,1580],{"class":996},[984,66731,1015],{"class":990},[984,66733,13091],{"class":1003},[984,66735,1021],{"class":990},[984,66737,66738,66740,66742,66744],{"class":986,"line":1176},[984,66739,13000],{"class":996},[984,66741,1015],{"class":990},[984,66743,2682],{"class":996},[984,66745,1021],{"class":990},[984,66747,66748,66750,66752,66754],{"class":986,"line":1189},[984,66749,13153],{"class":996},[984,66751,1015],{"class":990},[984,66753,13158],{"class":996},[984,66755,1021],{"class":990},[984,66757,66758,66760,66762,66764],{"class":986,"line":1202},[984,66759,13165],{"class":996},[984,66761,1015],{"class":990},[984,66763,13170],{"class":1003},[984,66765,1021],{"class":990},[984,66767,66768,66770,66772,66774],{"class":986,"line":1211},[984,66769,13177],{"class":996},[984,66771,1015],{"class":990},[984,66773,13182],{"class":1003},[984,66775,1021],{"class":990},[984,66777,66778,66780,66782,66784],{"class":986,"line":1217},[984,66779,5926],{"class":996},[984,66781,1015],{"class":990},[984,66783,6305],{"class":1003},[984,66785,1021],{"class":990},[984,66787,66788,66790,66792],{"class":986,"line":1229},[984,66789,13199],{"class":996},[984,66791,1015],{"class":990},[984,66793,13204],{"class":1003},[984,66795,66796],{"class":986,"line":1241},[984,66797,13209],{"class":990},[984,66799,66800],{"class":986,"line":1254},[984,66801,1038],{"class":990},[89,66803,66804,66808,66812,66816,66820,66826],{},[54,66805,66806,13220],{},[150,66807,12679],{},[54,66809,66810,13226],{},[150,66811,13225],{},[54,66813,66814,13232],{},[150,66815,13231],{},[54,66817,66818,20538],{},[150,66819,13237],{},[54,66821,66822,13243,66824,13246],{},[150,66823,5964],{},[18,66825,6196],{"href":12240},[54,66827,66828,13252,66830,13255,66832,13258,66834,13261,66836,441,66838,163,66840,6030],{},[150,66829,13251],{},[150,66831,5991],{},[150,66833,13251],{},[150,66835,5991],{},[150,66837,5804],{},[150,66839,6012],{},[150,66841,5811],{},[716,66843,2757],{"id":13237},[11,66845,13272,66846,20567,66848,13278,66850,13282],{},[150,66847,13237],{},[150,66849,13237],{},[58,66851,13281],{},[26,66853,12249],{"id":12249},[11,66855,13287],{},[11,66857,66858],{},[150,66859,975],{},[866,66861,66862],{"className":978,"code":13294,"language":980,"meta":760,"style":760},[150,66863,66864,66868,66878,66888,66898,66904,66908,66916,66920],{"__ignoreMap":760},[984,66865,66866],{"class":986,"line":987},[984,66867,991],{"class":990},[984,66869,66870,66872,66874,66876],{"class":986,"line":761},[984,66871,997],{"class":996},[984,66873,1000],{"class":990},[984,66875,1004],{"class":1003},[984,66877,1007],{"class":990},[984,66879,66880,66882,66884,66886],{"class":986,"line":772},[984,66881,1012],{"class":996},[984,66883,1015],{"class":990},[984,66885,12972],{"class":996},[984,66887,1021],{"class":990},[984,66889,66890,66892,66894,66896],{"class":986,"line":1024},[984,66891,1027],{"class":996},[984,66893,1000],{"class":990},[984,66895,13329],{"class":1003},[984,66897,1021],{"class":990},[984,66899,66900,66902],{"class":986,"line":1035},[984,66901,1521],{"class":996},[984,66903,1524],{"class":990},[984,66905,66906],{"class":986,"line":1098},[984,66907,1529],{"class":990},[984,66909,66910,66912,66914],{"class":986,"line":1111},[984,66911,1569],{"class":996},[984,66913,1738],{"class":990},[984,66915,13204],{"class":1003},[984,66917,66918],{"class":986,"line":1124},[984,66919,1607],{"class":990},[984,66921,66922],{"class":986,"line":1137},[984,66923,1038],{"class":990},[11,66925,66926],{},[150,66927,1043],{},[866,66929,66930],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,66931,66932,66936,66946,66956,66964],{"__ignoreMap":760},[984,66933,66934],{"class":986,"line":987},[984,66935,991],{"class":990},[984,66937,66938,66940,66942,66944],{"class":986,"line":761},[984,66939,1012],{"class":996},[984,66941,1015],{"class":990},[984,66943,12972],{"class":996},[984,66945,1021],{"class":990},[984,66947,66948,66950,66952,66954],{"class":986,"line":772},[984,66949,997],{"class":996},[984,66951,1015],{"class":990},[984,66953,1004],{"class":1003},[984,66955,1021],{"class":990},[984,66957,66958,66960,66962],{"class":986,"line":1024},[984,66959,1724],{"class":996},[984,66961,1015],{"class":990},[984,66963,13399],{"class":1003},[984,66965,66966],{"class":986,"line":1035},[984,66967,1038],{"class":990},[26,66969,12257],{"id":12257},[11,66971,13408,66972,13411,66974,13414,66976,13417],{},[150,66973,12634],{},[150,66975,12605],{},[18,66977,6196],{"href":12240},[11,66979,66980],{},[150,66981,975],{},[866,66983,66984],{"className":978,"code":13424,"language":980,"meta":760,"style":760},[150,66985,66986,66990,67000,67010,67020,67026,67030,67040,67050,67058,67062],{"__ignoreMap":760},[984,66987,66988],{"class":986,"line":987},[984,66989,991],{"class":990},[984,66991,66992,66994,66996,66998],{"class":986,"line":761},[984,66993,997],{"class":996},[984,66995,1000],{"class":990},[984,66997,1004],{"class":1003},[984,66999,1007],{"class":990},[984,67001,67002,67004,67006,67008],{"class":986,"line":772},[984,67003,1012],{"class":996},[984,67005,1015],{"class":990},[984,67007,12972],{"class":996},[984,67009,1021],{"class":990},[984,67011,67012,67014,67016,67018],{"class":986,"line":1024},[984,67013,1027],{"class":996},[984,67015,1000],{"class":990},[984,67017,13459],{"class":1003},[984,67019,1021],{"class":990},[984,67021,67022,67024],{"class":986,"line":1035},[984,67023,1521],{"class":996},[984,67025,1524],{"class":990},[984,67027,67028],{"class":986,"line":1098},[984,67029,1529],{"class":990},[984,67031,67032,67034,67036,67038],{"class":986,"line":1111},[984,67033,1569],{"class":996},[984,67035,1738],{"class":990},[984,67037,13079],{"class":1003},[984,67039,1021],{"class":990},[984,67041,67042,67044,67046,67048],{"class":986,"line":1124},[984,67043,1580],{"class":996},[984,67045,1738],{"class":990},[984,67047,12533],{"class":1003},[984,67049,1021],{"class":990},[984,67051,67052,67054,67056],{"class":986,"line":1137},[984,67053,6270],{"class":996},[984,67055,1738],{"class":990},[984,67057,13500],{"class":1003},[984,67059,67060],{"class":986,"line":1150},[984,67061,1607],{"class":990},[984,67063,67064],{"class":986,"line":1163},[984,67065,1038],{"class":990},[11,67067,67068],{},[150,67069,1043],{},[866,67071,67072],{"className":978,"code":13364,"language":980,"meta":760,"style":760},[150,67073,67074,67078,67088,67098,67106],{"__ignoreMap":760},[984,67075,67076],{"class":986,"line":987},[984,67077,991],{"class":990},[984,67079,67080,67082,67084,67086],{"class":986,"line":761},[984,67081,1012],{"class":996},[984,67083,1015],{"class":990},[984,67085,12972],{"class":996},[984,67087,1021],{"class":990},[984,67089,67090,67092,67094,67096],{"class":986,"line":772},[984,67091,997],{"class":996},[984,67093,1015],{"class":990},[984,67095,1004],{"class":1003},[984,67097,1021],{"class":990},[984,67099,67100,67102,67104],{"class":986,"line":1024},[984,67101,1724],{"class":996},[984,67103,1015],{"class":990},[984,67105,13399],{"class":1003},[984,67107,67108],{"class":986,"line":1035},[984,67109,1038],{"class":990},[26,67111,888],{"id":888},[11,67113,13557],{},[11,67115,67116],{},[150,67117,975],{},[866,67119,67120],{"className":978,"code":13564,"language":980,"meta":760,"style":760},[150,67121,67122,67126,67136,67146,67156,67162,67166,67176,67186,67196,67206,67216,67226,67234,67238],{"__ignoreMap":760},[984,67123,67124],{"class":986,"line":987},[984,67125,991],{"class":990},[984,67127,67128,67130,67132,67134],{"class":986,"line":761},[984,67129,997],{"class":996},[984,67131,1000],{"class":990},[984,67133,1004],{"class":1003},[984,67135,1007],{"class":990},[984,67137,67138,67140,67142,67144],{"class":986,"line":772},[984,67139,1012],{"class":996},[984,67141,1015],{"class":990},[984,67143,1503],{"class":996},[984,67145,1021],{"class":990},[984,67147,67148,67150,67152,67154],{"class":986,"line":1024},[984,67149,1027],{"class":996},[984,67151,1000],{"class":990},[984,67153,1514],{"class":1003},[984,67155,1007],{"class":990},[984,67157,67158,67160],{"class":986,"line":1035},[984,67159,1521],{"class":996},[984,67161,1524],{"class":990},[984,67163,67164],{"class":986,"line":1098},[984,67165,1529],{"class":990},[984,67167,67168,67170,67172,67174],{"class":986,"line":1111},[984,67169,1534],{"class":996},[984,67171,1015],{"class":990},[984,67173,1539],{"class":996},[984,67175,1021],{"class":990},[984,67177,67178,67180,67182,67184],{"class":986,"line":1124},[984,67179,1546],{"class":996},[984,67181,1015],{"class":990},[984,67183,1503],{"class":996},[984,67185,1021],{"class":990},[984,67187,67188,67190,67192,67194],{"class":986,"line":1137},[984,67189,1557],{"class":996},[984,67191,1015],{"class":990},[984,67193,1562],{"class":1003},[984,67195,1021],{"class":990},[984,67197,67198,67200,67202,67204],{"class":986,"line":1150},[984,67199,1569],{"class":996},[984,67201,1015],{"class":990},[984,67203,1562],{"class":1003},[984,67205,1021],{"class":990},[984,67207,67208,67210,67212,67214],{"class":986,"line":1163},[984,67209,1580],{"class":996},[984,67211,1015],{"class":990},[984,67213,1585],{"class":1003},[984,67215,1021],{"class":990},[984,67217,67218,67220,67222,67224],{"class":986,"line":1176},[984,67219,1220],{"class":996},[984,67221,1015],{"class":990},[984,67223,1345],{"class":996},[984,67225,1021],{"class":990},[984,67227,67228,67230,67232],{"class":986,"line":1189},[984,67229,6160],{"class":996},[984,67231,1015],{"class":990},[984,67233,13679],{"class":996},[984,67235,67236],{"class":986,"line":1202},[984,67237,1607],{"class":990},[984,67239,67240],{"class":986,"line":1211},[984,67241,1038],{"class":990},[89,67243,67244,67248,67252,67256,67266,67270,67274,67282],{},[54,67245,67246,13694],{},[150,67247,2133],{},[54,67249,67250,13699],{},[150,67251,2139],{},[54,67253,67254,13705],{},[150,67255,13704],{},[54,67257,67258,13710,67260,13713,67262,163,67264,385],{},[150,67259,12679],{},[58,67261,5776],{},[150,67263,12679],{},[150,67265,13237],{},[54,67267,67268,13722],{},[150,67269,12634],{},[54,67271,67272,13727],{},[150,67273,2150],{},[54,67275,67276,13732,67278,13735,67280,13738],{},[150,67277,848],{},[150,67279,848],{},[150,67281,948],{},[54,67283,67284,13743,67286,13747,67288,13750],{},[150,67285,5811],{},[150,67287,13746],{},[150,67289,5811],{},[11,67291,13753,67292,13756,67294,13760],{},[150,67293,8355],{},[150,67295,13759],{},[11,67297,67298],{},[150,67299,1043],{},[866,67301,67302],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,67303,67304,67308,67318,67328,67334,67338,67346,67350],{"__ignoreMap":760},[984,67305,67306],{"class":986,"line":987},[984,67307,991],{"class":990},[984,67309,67310,67312,67314,67316],{"class":986,"line":761},[984,67311,997],{"class":996},[984,67313,1000],{"class":990},[984,67315,1004],{"class":1003},[984,67317,1007],{"class":990},[984,67319,67320,67322,67324,67326],{"class":986,"line":772},[984,67321,1012],{"class":996},[984,67323,1015],{"class":990},[984,67325,1503],{"class":996},[984,67327,1021],{"class":990},[984,67329,67330,67332],{"class":986,"line":1024},[984,67331,1724],{"class":996},[984,67333,1524],{"class":990},[984,67335,67336],{"class":986,"line":1035},[984,67337,1529],{"class":990},[984,67339,67340,67342,67344],{"class":986,"line":1098},[984,67341,1735],{"class":996},[984,67343,1738],{"class":990},[984,67345,1741],{"class":1003},[984,67347,67348],{"class":986,"line":1111},[984,67349,1607],{"class":990},[984,67351,67352],{"class":986,"line":1124},[984,67353,1038],{"class":990},[11,67355,2213,67356,385],{},[18,67357,1977],{"href":13823},[26,67359,893],{"id":893},[11,67361,13828],{},[11,67363,13831,67364,13835],{},[150,67365,13834],{},[11,67367,67368],{},[150,67369,975],{},[866,67371,67372],{"className":978,"code":13842,"language":980,"meta":760,"style":760},[150,67373,67374,67378,67388,67398,67408,67414,67418,67440,67450,67458,67462],{"__ignoreMap":760},[984,67375,67376],{"class":986,"line":987},[984,67377,991],{"class":990},[984,67379,67380,67382,67384,67386],{"class":986,"line":761},[984,67381,997],{"class":996},[984,67383,1000],{"class":990},[984,67385,1004],{"class":1003},[984,67387,1007],{"class":990},[984,67389,67390,67392,67394,67396],{"class":986,"line":772},[984,67391,1012],{"class":996},[984,67393,1015],{"class":990},[984,67395,8099],{"class":996},[984,67397,1021],{"class":990},[984,67399,67400,67402,67404,67406],{"class":986,"line":1024},[984,67401,1027],{"class":996},[984,67403,1000],{"class":990},[984,67405,13877],{"class":1003},[984,67407,1007],{"class":990},[984,67409,67410,67412],{"class":986,"line":1035},[984,67411,1521],{"class":996},[984,67413,1524],{"class":990},[984,67415,67416],{"class":986,"line":1098},[984,67417,1529],{"class":990},[984,67419,67420,67422,67424,67426,67428,67430,67432,67434,67436,67438],{"class":986,"line":1111},[984,67421,13894],{"class":996},[984,67423,13897],{"class":990},[984,67425,13900],{"class":996},[984,67427,441],{"class":990},[984,67429,2558],{"class":996},[984,67431,441],{"class":990},[984,67433,13909],{"class":996},[984,67435,441],{"class":990},[984,67437,13914],{"class":996},[984,67439,13917],{"class":990},[984,67441,67442,67444,67446,67448],{"class":986,"line":1124},[984,67443,1546],{"class":996},[984,67445,1738],{"class":990},[984,67447,4979],{"class":996},[984,67449,1021],{"class":990},[984,67451,67452,67454,67456],{"class":986,"line":1137},[984,67453,1220],{"class":996},[984,67455,1015],{"class":990},[984,67457,1678],{"class":996},[984,67459,67460],{"class":986,"line":1150},[984,67461,1607],{"class":990},[984,67463,67464],{"class":986,"line":1163},[984,67465,1038],{"class":990},[11,67467,67468],{},[150,67469,1043],{},[866,67471,67472],{"className":978,"code":13950,"language":980,"meta":760,"style":760},[150,67473,67474,67478,67488,67498,67504,67508,67516,67520],{"__ignoreMap":760},[984,67475,67476],{"class":986,"line":987},[984,67477,991],{"class":990},[984,67479,67480,67482,67484,67486],{"class":986,"line":761},[984,67481,997],{"class":996},[984,67483,1000],{"class":990},[984,67485,1004],{"class":1003},[984,67487,1007],{"class":990},[984,67489,67490,67492,67494,67496],{"class":986,"line":772},[984,67491,1012],{"class":996},[984,67493,1015],{"class":990},[984,67495,8099],{"class":996},[984,67497,1021],{"class":990},[984,67499,67500,67502],{"class":986,"line":1024},[984,67501,1724],{"class":996},[984,67503,1524],{"class":990},[984,67505,67506],{"class":986,"line":1035},[984,67507,1529],{"class":990},[984,67509,67510,67512,67514],{"class":986,"line":1098},[984,67511,1735],{"class":996},[984,67513,1738],{"class":990},[984,67515,1741],{"class":1003},[984,67517,67518],{"class":986,"line":1111},[984,67519,1607],{"class":990},[984,67521,67522],{"class":986,"line":1124},[984,67523,1038],{"class":990},[89,67525,67526,67530,67534,67538],{},[54,67527,67528,14009],{},[150,67529,2139],{},[54,67531,67532,14014],{},[150,67533,8355],{},[54,67535,67536,14019],{},[150,67537,2150],{},[54,67539,67540,14024,67542,13735,67544,13738],{},[150,67541,848],{},[150,67543,848],{},[150,67545,948],{},[26,67547,903],{"id":903},[11,67549,14033,67550,13738],{},[150,67551,948],{},[11,67553,14038,67554,2046],{},[18,67555,913],{"href":2036},[11,67557,67558],{},[150,67559,975],{},[866,67561,67562],{"className":978,"code":2053,"language":980,"meta":760,"style":760},[150,67563,67564,67568,67578,67588,67598,67604,67608,67618,67626,67630],{"__ignoreMap":760},[984,67565,67566],{"class":986,"line":987},[984,67567,991],{"class":990},[984,67569,67570,67572,67574,67576],{"class":986,"line":761},[984,67571,997],{"class":996},[984,67573,1015],{"class":990},[984,67575,1004],{"class":1003},[984,67577,1007],{"class":990},[984,67579,67580,67582,67584,67586],{"class":986,"line":772},[984,67581,1012],{"class":996},[984,67583,1015],{"class":990},[984,67585,1503],{"class":996},[984,67587,1021],{"class":990},[984,67589,67590,67592,67594,67596],{"class":986,"line":1024},[984,67591,1027],{"class":996},[984,67593,1015],{"class":990},[984,67595,2088],{"class":1003},[984,67597,1007],{"class":990},[984,67599,67600,67602],{"class":986,"line":1035},[984,67601,1521],{"class":996},[984,67603,1524],{"class":990},[984,67605,67606],{"class":986,"line":1098},[984,67607,1529],{"class":990},[984,67609,67610,67612,67614,67616],{"class":986,"line":1111},[984,67611,1534],{"class":996},[984,67613,1015],{"class":990},[984,67615,1018],{"class":996},[984,67617,1021],{"class":990},[984,67619,67620,67622,67624],{"class":986,"line":1124},[984,67621,1220],{"class":996},[984,67623,1015],{"class":990},[984,67625,1678],{"class":996},[984,67627,67628],{"class":986,"line":1137},[984,67629,1607],{"class":990},[984,67631,67632],{"class":986,"line":1150},[984,67633,1038],{"class":990},[89,67635,67636,67640,67644,67648,67652],{},[54,67637,67638,2134],{},[150,67639,2133],{},[54,67641,67642,2140],{},[150,67643,2139],{},[54,67645,67646,2145],{},[150,67647,848],{},[54,67649,67650,2151],{},[150,67651,2150],{},[54,67653,67654,14142],{},[150,67655,14141],{},[11,67657,14145,67658,14148,67660],{},[150,67659,8355],{},[150,67661,13759],{},[11,67663,67664],{},[150,67665,1043],{},[866,67667,67668],{"className":978,"code":2158,"language":980,"meta":760,"style":760},[150,67669,67670,67674,67684,67694,67700,67704,67712,67716],{"__ignoreMap":760},[984,67671,67672],{"class":986,"line":987},[984,67673,991],{"class":990},[984,67675,67676,67678,67680,67682],{"class":986,"line":761},[984,67677,997],{"class":996},[984,67679,1015],{"class":990},[984,67681,1004],{"class":1003},[984,67683,1007],{"class":990},[984,67685,67686,67688,67690,67692],{"class":986,"line":772},[984,67687,1012],{"class":996},[984,67689,1015],{"class":990},[984,67691,1503],{"class":996},[984,67693,1021],{"class":990},[984,67695,67696,67698],{"class":986,"line":1024},[984,67697,1724],{"class":996},[984,67699,1524],{"class":990},[984,67701,67702],{"class":986,"line":1035},[984,67703,1529],{"class":990},[984,67705,67706,67708,67710],{"class":986,"line":1098},[984,67707,1735],{"class":996},[984,67709,1738],{"class":990},[984,67711,1741],{"class":1003},[984,67713,67714],{"class":986,"line":1111},[984,67715,1607],{"class":990},[984,67717,67718],{"class":986,"line":1124},[984,67719,1038],{"class":990},[11,67721,2213,67722,385],{},[18,67723,1977],{"href":13823},[26,67725,908],{"id":908},[11,67727,14033,67728,13738],{},[150,67729,948],{},[11,67731,14221,67732,14224],{},[18,67733,913],{"href":2036},[11,67735,67736],{},[150,67737,975],{},[866,67739,67740],{"className":978,"code":2228,"language":980,"meta":760,"style":760},[150,67741,67742,67746,67756,67766,67776,67782,67786,67796,67804,67808],{"__ignoreMap":760},[984,67743,67744],{"class":986,"line":987},[984,67745,991],{"class":990},[984,67747,67748,67750,67752,67754],{"class":986,"line":761},[984,67749,997],{"class":996},[984,67751,1000],{"class":990},[984,67753,1004],{"class":1003},[984,67755,1007],{"class":990},[984,67757,67758,67760,67762,67764],{"class":986,"line":772},[984,67759,1012],{"class":996},[984,67761,1015],{"class":990},[984,67763,1503],{"class":996},[984,67765,1021],{"class":990},[984,67767,67768,67770,67772,67774],{"class":986,"line":1024},[984,67769,1027],{"class":996},[984,67771,1000],{"class":990},[984,67773,2263],{"class":1003},[984,67775,1007],{"class":990},[984,67777,67778,67780],{"class":986,"line":1035},[984,67779,1521],{"class":996},[984,67781,1524],{"class":990},[984,67783,67784],{"class":986,"line":1098},[984,67785,1529],{"class":990},[984,67787,67788,67790,67792,67794],{"class":986,"line":1111},[984,67789,1534],{"class":996},[984,67791,1015],{"class":990},[984,67793,1018],{"class":996},[984,67795,1021],{"class":990},[984,67797,67798,67800,67802],{"class":986,"line":1124},[984,67799,1220],{"class":996},[984,67801,1015],{"class":990},[984,67803,1678],{"class":996},[984,67805,67806],{"class":986,"line":1137},[984,67807,1607],{"class":990},[984,67809,67810],{"class":986,"line":1150},[984,67811,1038],{"class":990},[89,67813,67814,67818,67822,67826,67830],{},[54,67815,67816,2308],{},[150,67817,2133],{},[54,67819,67820,2313],{},[150,67821,2139],{},[54,67823,67824,2318],{},[150,67825,848],{},[54,67827,67828,2323],{},[150,67829,2150],{},[54,67831,67832,14325],{},[150,67833,14141],{},[11,67835,14328,67836,14148,67838,14333],{},[150,67837,8355],{},[150,67839,13759],{},[11,67841,67842],{},[150,67843,1043],{},[866,67845,67846],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,67847,67848,67852,67862,67872,67878,67882,67890,67894],{"__ignoreMap":760},[984,67849,67850],{"class":986,"line":987},[984,67851,991],{"class":990},[984,67853,67854,67856,67858,67860],{"class":986,"line":761},[984,67855,997],{"class":996},[984,67857,1000],{"class":990},[984,67859,1004],{"class":1003},[984,67861,1007],{"class":990},[984,67863,67864,67866,67868,67870],{"class":986,"line":772},[984,67865,1012],{"class":996},[984,67867,1015],{"class":990},[984,67869,1503],{"class":996},[984,67871,1021],{"class":990},[984,67873,67874,67876],{"class":986,"line":1024},[984,67875,1724],{"class":996},[984,67877,1524],{"class":990},[984,67879,67880],{"class":986,"line":1035},[984,67881,1529],{"class":990},[984,67883,67884,67886,67888],{"class":986,"line":1098},[984,67885,1735],{"class":996},[984,67887,1738],{"class":990},[984,67889,1741],{"class":1003},[984,67891,67892],{"class":986,"line":1111},[984,67893,1607],{"class":990},[984,67895,67896],{"class":986,"line":1124},[984,67897,1038],{"class":990},[11,67899,2213,67900,385],{},[18,67901,1977],{"href":13823},[26,67903,913],{"id":913},[11,67905,14033,67906,13738],{},[150,67907,948],{},[11,67909,14404,67910,14407],{},[18,67911,918],{"href":12373},[11,67913,67914],{},[150,67915,975],{},[866,67917,67918],{"className":978,"code":1621,"language":980,"meta":760,"style":760},[150,67919,67920,67924,67934,67944,67954,67960,67964,67972,67976],{"__ignoreMap":760},[984,67921,67922],{"class":986,"line":987},[984,67923,991],{"class":990},[984,67925,67926,67928,67930,67932],{"class":986,"line":761},[984,67927,997],{"class":996},[984,67929,1000],{"class":990},[984,67931,1004],{"class":1003},[984,67933,1007],{"class":990},[984,67935,67936,67938,67940,67942],{"class":986,"line":772},[984,67937,1012],{"class":996},[984,67939,1015],{"class":990},[984,67941,1503],{"class":996},[984,67943,1021],{"class":990},[984,67945,67946,67948,67950,67952],{"class":986,"line":1024},[984,67947,1027],{"class":996},[984,67949,1015],{"class":990},[984,67951,1656],{"class":1003},[984,67953,1021],{"class":990},[984,67955,67956,67958],{"class":986,"line":1035},[984,67957,1521],{"class":996},[984,67959,1665],{"class":990},[984,67961,67962],{"class":986,"line":1098},[984,67963,1529],{"class":990},[984,67965,67966,67968,67970],{"class":986,"line":1111},[984,67967,1220],{"class":996},[984,67969,1015],{"class":990},[984,67971,1678],{"class":996},[984,67973,67974],{"class":986,"line":1124},[984,67975,1607],{"class":990},[984,67977,67978],{"class":986,"line":1137},[984,67979,1038],{"class":990},[89,67981,67982,67986,67990],{},[54,67983,67984,1830],{},[150,67985,848],{},[54,67987,67988,2323],{},[150,67989,2150],{},[54,67991,67992,14325],{},[150,67993,14141],{},[11,67995,14492],{},[11,67997,67998],{},[150,67999,1043],{},[866,68001,68002],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,68003,68004,68008,68018,68028,68034,68038,68046,68050],{"__ignoreMap":760},[984,68005,68006],{"class":986,"line":987},[984,68007,991],{"class":990},[984,68009,68010,68012,68014,68016],{"class":986,"line":761},[984,68011,997],{"class":996},[984,68013,1000],{"class":990},[984,68015,1004],{"class":1003},[984,68017,1007],{"class":990},[984,68019,68020,68022,68024,68026],{"class":986,"line":772},[984,68021,1012],{"class":996},[984,68023,1015],{"class":990},[984,68025,1503],{"class":996},[984,68027,1021],{"class":990},[984,68029,68030,68032],{"class":986,"line":1024},[984,68031,1724],{"class":996},[984,68033,1524],{"class":990},[984,68035,68036],{"class":986,"line":1035},[984,68037,1529],{"class":990},[984,68039,68040,68042,68044],{"class":986,"line":1098},[984,68041,1735],{"class":996},[984,68043,1738],{"class":990},[984,68045,1741],{"class":1003},[984,68047,68048],{"class":986,"line":1111},[984,68049,1607],{"class":990},[984,68051,68052],{"class":986,"line":1124},[984,68053,1038],{"class":990},[11,68055,2213,68056,385],{},[18,68057,1977],{"href":13823},[26,68059,12316],{"id":12316},[11,68061,14559],{},[11,68063,68064],{},[150,68065,975],{},[866,68067,68068],{"className":978,"code":14566,"language":980,"meta":760,"style":760},[150,68069,68070,68074,68084,68094,68104,68110,68114,68122,68126],{"__ignoreMap":760},[984,68071,68072],{"class":986,"line":987},[984,68073,991],{"class":990},[984,68075,68076,68078,68080,68082],{"class":986,"line":761},[984,68077,997],{"class":996},[984,68079,1000],{"class":990},[984,68081,1004],{"class":1003},[984,68083,1007],{"class":990},[984,68085,68086,68088,68090,68092],{"class":986,"line":772},[984,68087,1012],{"class":996},[984,68089,1015],{"class":990},[984,68091,2431],{"class":996},[984,68093,1021],{"class":990},[984,68095,68096,68098,68100,68102],{"class":986,"line":1024},[984,68097,1027],{"class":996},[984,68099,1000],{"class":990},[984,68101,14601],{"class":1003},[984,68103,1007],{"class":990},[984,68105,68106,68108],{"class":986,"line":1035},[984,68107,1521],{"class":996},[984,68109,1524],{"class":990},[984,68111,68112],{"class":986,"line":1098},[984,68113,1529],{"class":990},[984,68115,68116,68118,68120],{"class":986,"line":1111},[984,68117,1735],{"class":996},[984,68119,1738],{"class":990},[984,68121,14622],{"class":1003},[984,68123,68124],{"class":986,"line":1124},[984,68125,1607],{"class":990},[984,68127,68128],{"class":986,"line":1137},[984,68129,1038],{"class":990},[89,68131,68132],{},[54,68133,68134,14637],{},[150,68135,2150],{},[11,68137,68138],{},[150,68139,1043],{},[866,68141,68142],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,68143,68144,68148,68158,68168,68176],{"__ignoreMap":760},[984,68145,68146],{"class":986,"line":987},[984,68147,991],{"class":990},[984,68149,68150,68152,68154,68156],{"class":986,"line":761},[984,68151,997],{"class":996},[984,68153,1000],{"class":990},[984,68155,1004],{"class":1003},[984,68157,1007],{"class":990},[984,68159,68160,68162,68164,68166],{"class":986,"line":772},[984,68161,1012],{"class":996},[984,68163,1015],{"class":990},[984,68165,2431],{"class":996},[984,68167,1021],{"class":990},[984,68169,68170,68172,68174],{"class":986,"line":1024},[984,68171,1724],{"class":996},[984,68173,1015],{"class":990},[984,68175,2497],{"class":996},[984,68177,68178],{"class":986,"line":1035},[984,68179,1038],{"class":990},[11,68181,14685,68182,14688,68184,14691],{},[150,68183,2682],{},[18,68185,1977],{"href":13823},[26,68187,12324],{"id":12324},[11,68189,14696],{},[11,68191,68192],{},[150,68193,975],{},[866,68195,68196],{"className":978,"code":14703,"language":980,"meta":760,"style":760},[150,68197,68198,68202,68212,68222,68232,68238,68242,68250,68254],{"__ignoreMap":760},[984,68199,68200],{"class":986,"line":987},[984,68201,991],{"class":990},[984,68203,68204,68206,68208,68210],{"class":986,"line":761},[984,68205,997],{"class":996},[984,68207,1000],{"class":990},[984,68209,1004],{"class":1003},[984,68211,1007],{"class":990},[984,68213,68214,68216,68218,68220],{"class":986,"line":772},[984,68215,1012],{"class":996},[984,68217,1015],{"class":990},[984,68219,2431],{"class":996},[984,68221,1021],{"class":990},[984,68223,68224,68226,68228,68230],{"class":986,"line":1024},[984,68225,1027],{"class":996},[984,68227,1000],{"class":990},[984,68229,14738],{"class":1003},[984,68231,1007],{"class":990},[984,68233,68234,68236],{"class":986,"line":1035},[984,68235,1521],{"class":996},[984,68237,1524],{"class":990},[984,68239,68240],{"class":986,"line":1098},[984,68241,1529],{"class":990},[984,68243,68244,68246,68248],{"class":986,"line":1111},[984,68245,1735],{"class":996},[984,68247,1738],{"class":990},[984,68249,14622],{"class":1003},[984,68251,68252],{"class":986,"line":1124},[984,68253,1607],{"class":990},[984,68255,68256],{"class":986,"line":1137},[984,68257,1038],{"class":990},[89,68259,68260],{},[54,68261,68262,14773],{},[150,68263,2150],{},[11,68265,68266],{},[150,68267,1043],{},[866,68269,68270],{"className":978,"code":14644,"language":980,"meta":760,"style":760},[150,68271,68272,68276,68286,68296,68304],{"__ignoreMap":760},[984,68273,68274],{"class":986,"line":987},[984,68275,991],{"class":990},[984,68277,68278,68280,68282,68284],{"class":986,"line":761},[984,68279,997],{"class":996},[984,68281,1000],{"class":990},[984,68283,1004],{"class":1003},[984,68285,1007],{"class":990},[984,68287,68288,68290,68292,68294],{"class":986,"line":772},[984,68289,1012],{"class":996},[984,68291,1015],{"class":990},[984,68293,2431],{"class":996},[984,68295,1021],{"class":990},[984,68297,68298,68300,68302],{"class":986,"line":1024},[984,68299,1724],{"class":996},[984,68301,1015],{"class":990},[984,68303,2497],{"class":996},[984,68305,68306],{"class":986,"line":1035},[984,68307,1038],{"class":990},[11,68309,14685,68310,14822,68312,14691],{},[150,68311,2682],{},[18,68313,1977],{"href":13823},[26,68315,12303],{"id":12303},[11,68317,14829,68318,14832],{},[18,68319,12337],{"href":12336},[11,68321,68322],{},[150,68323,975],{},[866,68325,68326],{"className":978,"code":32133,"language":980,"meta":760,"style":760},[150,68327,68328,68332,68342,68352,68362,68368,68372,68382,68390,68394],{"__ignoreMap":760},[984,68329,68330],{"class":986,"line":987},[984,68331,991],{"class":990},[984,68333,68334,68336,68338,68340],{"class":986,"line":761},[984,68335,997],{"class":996},[984,68337,1000],{"class":990},[984,68339,1004],{"class":1003},[984,68341,1007],{"class":990},[984,68343,68344,68346,68348,68350],{"class":986,"line":772},[984,68345,1012],{"class":996},[984,68347,1015],{"class":990},[984,68349,2431],{"class":996},[984,68351,1021],{"class":990},[984,68353,68354,68356,68358,68360],{"class":986,"line":1024},[984,68355,1027],{"class":996},[984,68357,1000],{"class":990},[984,68359,14874],{"class":1003},[984,68361,1007],{"class":990},[984,68363,68364,68366],{"class":986,"line":1035},[984,68365,1521],{"class":996},[984,68367,1524],{"class":990},[984,68369,68370],{"class":986,"line":1098},[984,68371,1529],{"class":990},[984,68373,68374,68376,68378,68380],{"class":986,"line":1111},[984,68375,1735],{"class":996},[984,68377,1738],{"class":990},[984,68379,14895],{"class":1003},[984,68381,1021],{"class":990},[984,68383,68384,68386,68388],{"class":986,"line":1124},[984,68385,32194],{"class":996},[984,68387,1015],{"class":990},[984,68389,13679],{"class":996},[984,68391,68392],{"class":986,"line":1137},[984,68393,1607],{"class":990},[984,68395,68396],{"class":986,"line":1150},[984,68397,1038],{"class":990},[89,68399,68400,68404],{},[54,68401,68402,32213],{},[150,68403,2150],{},[54,68405,68406,32218,68408,32221,68410,385],{},[150,68407,29319],{},[150,68409,2682],{},[150,68411,5089],{},[11,68413,68414],{},[150,68415,1043],{},[866,68417,68418],{"className":978,"code":14912,"language":980,"meta":760,"style":760},[150,68419,68420,68424,68434,68444,68450,68454,68464,68474,68484,68494,68504,68514,68524,68534,68544,68554,68564,68574,68584,68594,68604,68614,68624,68632,68636],{"__ignoreMap":760},[984,68421,68422],{"class":986,"line":987},[984,68423,991],{"class":990},[984,68425,68426,68428,68430,68432],{"class":986,"line":761},[984,68427,997],{"class":996},[984,68429,1000],{"class":990},[984,68431,1004],{"class":1003},[984,68433,1007],{"class":990},[984,68435,68436,68438,68440,68442],{"class":986,"line":772},[984,68437,1012],{"class":996},[984,68439,1015],{"class":990},[984,68441,2431],{"class":996},[984,68443,1021],{"class":990},[984,68445,68446,68448],{"class":986,"line":1024},[984,68447,1724],{"class":996},[984,68449,1524],{"class":990},[984,68451,68452],{"class":986,"line":1035},[984,68453,14949],{"class":990},[984,68455,68456,68458,68460,68462],{"class":986,"line":1098},[984,68457,1735],{"class":996},[984,68459,1738],{"class":990},[984,68461,14895],{"class":1003},[984,68463,1021],{"class":990},[984,68465,68466,68468,68470,68472],{"class":986,"line":1111},[984,68467,1220],{"class":996},[984,68469,1015],{"class":990},[984,68471,1171],{"class":996},[984,68473,1021],{"class":990},[984,68475,68476,68478,68480,68482],{"class":986,"line":1124},[984,68477,1580],{"class":996},[984,68479,1015],{"class":990},[984,68481,13091],{"class":1003},[984,68483,1021],{"class":990},[984,68485,68486,68488,68490,68492],{"class":986,"line":1137},[984,68487,1546],{"class":996},[984,68489,1015],{"class":990},[984,68491,4979],{"class":996},[984,68493,1021],{"class":990},[984,68495,68496,68498,68500,68502],{"class":986,"line":1150},[984,68497,14994],{"class":996},[984,68499,1015],{"class":990},[984,68501,14999],{"class":1003},[984,68503,1021],{"class":990},[984,68505,68506,68508,68510,68512],{"class":986,"line":1163},[984,68507,15006],{"class":996},[984,68509,1015],{"class":990},[984,68511,1562],{"class":1003},[984,68513,1021],{"class":990},[984,68515,68516,68518,68520,68522],{"class":986,"line":1176},[984,68517,15017],{"class":996},[984,68519,1015],{"class":990},[984,68521,15022],{"class":1003},[984,68523,1021],{"class":990},[984,68525,68526,68528,68530,68532],{"class":986,"line":1189},[984,68527,15029],{"class":996},[984,68529,1015],{"class":990},[984,68531,2431],{"class":996},[984,68533,1021],{"class":990},[984,68535,68536,68538,68540,68542],{"class":986,"line":1202},[984,68537,15040],{"class":996},[984,68539,1738],{"class":990},[984,68541,15045],{"class":1003},[984,68543,1021],{"class":990},[984,68545,68546,68548,68550,68552],{"class":986,"line":1211},[984,68547,15052],{"class":996},[984,68549,1015],{"class":990},[984,68551,1171],{"class":996},[984,68553,1021],{"class":990},[984,68555,68556,68558,68560,68562],{"class":986,"line":1217},[984,68557,15063],{"class":996},[984,68559,1015],{"class":990},[984,68561,15068],{"class":1003},[984,68563,1021],{"class":990},[984,68565,68566,68568,68570,68572],{"class":986,"line":1229},[984,68567,15075],{"class":996},[984,68569,1738],{"class":990},[984,68571,15080],{"class":1003},[984,68573,1021],{"class":990},[984,68575,68576,68578,68580,68582],{"class":986,"line":1241},[984,68577,1534],{"class":996},[984,68579,1015],{"class":990},[984,68581,1539],{"class":996},[984,68583,1021],{"class":990},[984,68585,68586,68588,68590,68592],{"class":986,"line":1254},[984,68587,13098],{"class":996},[984,68589,1738],{"class":990},[984,68591,15101],{"class":996},[984,68593,1021],{"class":990},[984,68595,68596,68598,68600,68602],{"class":986,"line":1266},[984,68597,15108],{"class":996},[984,68599,1738],{"class":990},[984,68601,5089],{"class":996},[984,68603,1021],{"class":990},[984,68605,68606,68608,68610,68612],{"class":986,"line":1279},[984,68607,15119],{"class":996},[984,68609,1015],{"class":990},[984,68611,15124],{"class":1003},[984,68613,1021],{"class":990},[984,68615,68616,68618,68620,68622],{"class":986,"line":1291},[984,68617,15131],{"class":996},[984,68619,1015],{"class":990},[984,68621,13182],{"class":1003},[984,68623,1021],{"class":990},[984,68625,68626,68628,68630],{"class":986,"line":1304},[984,68627,15142],{"class":996},[984,68629,1015],{"class":990},[984,68631,15147],{"class":1003},[984,68633,68634],{"class":986,"line":1316},[984,68635,15152],{"class":990},[984,68637,68638],{"class":986,"line":1327},[984,68639,1038],{"class":990},[26,68641,12337],{"id":12337},[11,68643,15161],{},[11,68645,68646],{},[150,68647,975],{},[866,68649,68650],{"className":978,"code":32462,"language":980,"meta":760,"style":760},[150,68651,68652,68656,68666,68676,68686,68692,68696,68702,68706,68716,68726,68730,68740,68750,68758,68762],{"__ignoreMap":760},[984,68653,68654],{"class":986,"line":987},[984,68655,991],{"class":990},[984,68657,68658,68660,68662,68664],{"class":986,"line":761},[984,68659,997],{"class":996},[984,68661,1000],{"class":990},[984,68663,1004],{"class":1003},[984,68665,1007],{"class":990},[984,68667,68668,68670,68672,68674],{"class":986,"line":772},[984,68669,1012],{"class":996},[984,68671,1015],{"class":990},[984,68673,12972],{"class":996},[984,68675,1021],{"class":990},[984,68677,68678,68680,68682,68684],{"class":986,"line":1024},[984,68679,1027],{"class":996},[984,68681,1000],{"class":990},[984,68683,15203],{"class":1003},[984,68685,1021],{"class":990},[984,68687,68688,68690],{"class":986,"line":1035},[984,68689,1521],{"class":996},[984,68691,1524],{"class":990},[984,68693,68694],{"class":986,"line":1098},[984,68695,1529],{"class":990},[984,68697,68698,68700],{"class":986,"line":1111},[984,68699,15220],{"class":996},[984,68701,5895],{"class":990},[984,68703,68704],{"class":986,"line":1124},[984,68705,8410],{"class":990},[984,68707,68708,68710,68712,68714],{"class":986,"line":1137},[984,68709,15231],{"class":996},[984,68711,1000],{"class":990},[984,68713,2431],{"class":996},[984,68715,1021],{"class":990},[984,68717,68718,68720,68722,68724],{"class":986,"line":1150},[984,68719,15242],{"class":996},[984,68721,1000],{"class":990},[984,68723,15247],{"class":996},[984,68725,1021],{"class":990},[984,68727,68728],{"class":986,"line":1163},[984,68729,15254],{"class":990},[984,68731,68732,68734,68736,68738],{"class":986,"line":1176},[984,68733,32194],{"class":996},[984,68735,1015],{"class":990},[984,68737,2682],{"class":996},[984,68739,1021],{"class":990},[984,68741,68742,68744,68746,68748],{"class":986,"line":1189},[984,68743,15259],{"class":996},[984,68745,1738],{"class":990},[984,68747,1171],{"class":996},[984,68749,1021],{"class":990},[984,68751,68752,68754,68756],{"class":986,"line":1202},[984,68753,15270],{"class":996},[984,68755,1738],{"class":990},[984,68757,15275],{"class":996},[984,68759,68760],{"class":986,"line":1211},[984,68761,1607],{"class":990},[984,68763,68764],{"class":986,"line":1217},[984,68765,1038],{"class":990},[89,68767,68768,68772,68776,68780,68784],{},[54,68769,68770,15291],{},[150,68771,15290],{},[54,68773,68774,15297],{},[150,68775,15296],{},[54,68777,68778,15302],{},[150,68779,6846],{},[54,68781,68782,15308],{},[150,68783,15307],{},[54,68785,68786,32601,68788,32221,68790,385],{},[150,68787,29319],{},[150,68789,2682],{},[150,68791,5089],{},[11,68793,15311,68794,4316],{},[150,68795,948],{},[89,68797,68798],{},[54,68799,68800,15321,68802,15324],{},[150,68801,15320],{},[150,68803,15320],{},[11,68805,68806],{},[150,68807,1043],{},[866,68809,68810],{"className":978,"code":32624,"language":980,"meta":760,"style":760},[150,68811,68812,68816,68826,68836,68842,68846,68856,68866,68876,68886,68896,68906,68916,68926,68936,68946,68956,68966,68976,68986,68992,68996,69006,69016,69026,69034,69038,69042,69052,69062,69072,69080,69084,69088,69092,69096,69106,69116,69126,69136,69146,69156,69166,69176,69186,69196,69206,69216,69226,69236,69246,69256,69262,69266,69270,69280,69290,69300,69310,69320,69330,69340,69350,69360,69370,69380,69390,69400,69410,69420,69430,69440,69446,69450],{"__ignoreMap":760},[984,68813,68814],{"class":986,"line":987},[984,68815,991],{"class":990},[984,68817,68818,68820,68822,68824],{"class":986,"line":761},[984,68819,997],{"class":996},[984,68821,1000],{"class":990},[984,68823,1004],{"class":1003},[984,68825,1007],{"class":990},[984,68827,68828,68830,68832,68834],{"class":986,"line":772},[984,68829,1012],{"class":996},[984,68831,1015],{"class":990},[984,68833,12972],{"class":996},[984,68835,1021],{"class":990},[984,68837,68838,68840],{"class":986,"line":1024},[984,68839,1724],{"class":996},[984,68841,1524],{"class":990},[984,68843,68844],{"class":986,"line":1035},[984,68845,15368],{"class":990},[984,68847,68848,68850,68852,68854],{"class":986,"line":1098},[984,68849,1220],{"class":996},[984,68851,1015],{"class":990},[984,68853,1171],{"class":996},[984,68855,1021],{"class":990},[984,68857,68858,68860,68862,68864],{"class":986,"line":1111},[984,68859,1735],{"class":996},[984,68861,1738],{"class":990},[984,68863,14895],{"class":1003},[984,68865,1021],{"class":990},[984,68867,68868,68870,68872,68874],{"class":986,"line":1124},[984,68869,1580],{"class":996},[984,68871,1015],{"class":990},[984,68873,13091],{"class":1003},[984,68875,1021],{"class":990},[984,68877,68878,68880,68882,68884],{"class":986,"line":1137},[984,68879,1546],{"class":996},[984,68881,1015],{"class":990},[984,68883,1171],{"class":996},[984,68885,1021],{"class":990},[984,68887,68888,68890,68892,68894],{"class":986,"line":1150},[984,68889,14994],{"class":996},[984,68891,1015],{"class":990},[984,68893,14999],{"class":1003},[984,68895,1021],{"class":990},[984,68897,68898,68900,68902,68904],{"class":986,"line":1163},[984,68899,15006],{"class":996},[984,68901,1015],{"class":990},[984,68903,1562],{"class":1003},[984,68905,1021],{"class":990},[984,68907,68908,68910,68912,68914],{"class":986,"line":1176},[984,68909,15017],{"class":996},[984,68911,1015],{"class":990},[984,68913,15022],{"class":1003},[984,68915,1021],{"class":990},[984,68917,68918,68920,68922,68924],{"class":986,"line":1189},[984,68919,15029],{"class":996},[984,68921,1015],{"class":990},[984,68923,2431],{"class":996},[984,68925,1021],{"class":990},[984,68927,68928,68930,68932,68934],{"class":986,"line":1202},[984,68929,15040],{"class":996},[984,68931,1738],{"class":990},[984,68933,15045],{"class":1003},[984,68935,1021],{"class":990},[984,68937,68938,68940,68942,68944],{"class":986,"line":1211},[984,68939,15075],{"class":996},[984,68941,1738],{"class":990},[984,68943,15080],{"class":1003},[984,68945,1021],{"class":990},[984,68947,68948,68950,68952,68954],{"class":986,"line":1217},[984,68949,1534],{"class":996},[984,68951,1015],{"class":990},[984,68953,1539],{"class":996},[984,68955,1021],{"class":990},[984,68957,68958,68960,68962,68964],{"class":986,"line":1229},[984,68959,13098],{"class":996},[984,68961,1738],{"class":990},[984,68963,15101],{"class":996},[984,68965,1021],{"class":990},[984,68967,68968,68970,68972,68974],{"class":986,"line":1241},[984,68969,15108],{"class":996},[984,68971,1738],{"class":990},[984,68973,5089],{"class":996},[984,68975,1021],{"class":990},[984,68977,68978,68980,68982,68984],{"class":986,"line":1254},[984,68979,15142],{"class":996},[984,68981,1015],{"class":990},[984,68983,32799],{"class":1003},[984,68985,1021],{"class":990},[984,68987,68988,68990],{"class":986,"line":1266},[984,68989,32194],{"class":996},[984,68991,1208],{"class":990},[984,68993,68994],{"class":986,"line":1279},[984,68995,9689],{"class":990},[984,68997,68998,69000,69002,69004],{"class":986,"line":1291},[984,68999,32816],{"class":996},[984,69001,1015],{"class":990},[984,69003,5131],{"class":996},[984,69005,1021],{"class":990},[984,69007,69008,69010,69012,69014],{"class":986,"line":1304},[984,69009,32827],{"class":996},[984,69011,1015],{"class":990},[984,69013,32832],{"class":996},[984,69015,1021],{"class":990},[984,69017,69018,69020,69022,69024],{"class":986,"line":1316},[984,69019,32839],{"class":996},[984,69021,1015],{"class":990},[984,69023,32844],{"class":1003},[984,69025,1021],{"class":990},[984,69027,69028,69030,69032],{"class":986,"line":1327},[984,69029,32851],{"class":996},[984,69031,1015],{"class":990},[984,69033,32856],{"class":1003},[984,69035,69036],{"class":986,"line":1333},[984,69037,32861],{"class":990},[984,69039,69040],{"class":986,"line":1338},[984,69041,9689],{"class":990},[984,69043,69044,69046,69048,69050],{"class":986,"line":1355},[984,69045,32816],{"class":996},[984,69047,1015],{"class":990},[984,69049,1171],{"class":996},[984,69051,1021],{"class":990},[984,69053,69054,69056,69058,69060],{"class":986,"line":1367},[984,69055,32827],{"class":996},[984,69057,1015],{"class":990},[984,69059,13914],{"class":996},[984,69061,1021],{"class":990},[984,69063,69064,69066,69068,69070],{"class":986,"line":1379},[984,69065,32839],{"class":996},[984,69067,1015],{"class":990},[984,69069,32894],{"class":1003},[984,69071,1021],{"class":990},[984,69073,69074,69076,69078],{"class":986,"line":1390},[984,69075,32851],{"class":996},[984,69077,1015],{"class":990},[984,69079,32905],{"class":1003},[984,69081,69082],{"class":986,"line":1402},[984,69083,9817],{"class":990},[984,69085,69086],{"class":986,"line":1413},[984,69087,28870],{"class":990},[984,69089,69090],{"class":986,"line":1424},[984,69091,15511],{"class":990},[984,69093,69094],{"class":986,"line":1435},[984,69095,1529],{"class":990},[984,69097,69098,69100,69102,69104],{"class":986,"line":1444},[984,69099,15520],{"class":996},[984,69101,1015],{"class":990},[984,69103,1345],{"class":996},[984,69105,1021],{"class":990},[984,69107,69108,69110,69112,69114],{"class":986,"line":1450},[984,69109,15531],{"class":996},[984,69111,1015],{"class":990},[984,69113,15536],{"class":1003},[984,69115,1021],{"class":990},[984,69117,69118,69120,69122,69124],{"class":986,"line":1456},[984,69119,15543],{"class":996},[984,69121,1015],{"class":990},[984,69123,13091],{"class":1003},[984,69125,1021],{"class":990},[984,69127,69128,69130,69132,69134],{"class":986,"line":1462},[984,69129,15554],{"class":996},[984,69131,1015],{"class":990},[984,69133,15559],{"class":996},[984,69135,1021],{"class":990},[984,69137,69138,69140,69142,69144],{"class":986,"line":7201},[984,69139,15566],{"class":996},[984,69141,1015],{"class":990},[984,69143,15571],{"class":996},[984,69145,1021],{"class":990},[984,69147,69148,69150,69152,69154],{"class":986,"line":7206},[984,69149,6656],{"class":996},[984,69151,1015],{"class":990},[984,69153,1171],{"class":996},[984,69155,1021],{"class":990},[984,69157,69158,69160,69162,69164],{"class":986,"line":7218},[984,69159,15588],{"class":996},[984,69161,1015],{"class":990},[984,69163,15593],{"class":996},[984,69165,1021],{"class":990},[984,69167,69168,69170,69172,69174],{"class":986,"line":7229},[984,69169,15600],{"class":996},[984,69171,1015],{"class":990},[984,69173,5089],{"class":996},[984,69175,1021],{"class":990},[984,69177,69178,69180,69182,69184],{"class":986,"line":7241},[984,69179,15611],{"class":996},[984,69181,1015],{"class":990},[984,69183,1397],{"class":1003},[984,69185,1021],{"class":990},[984,69187,69188,69190,69192,69194],{"class":986,"line":7252},[984,69189,15622],{"class":996},[984,69191,1015],{"class":990},[984,69193,1397],{"class":1003},[984,69195,1021],{"class":990},[984,69197,69198,69200,69202,69204],{"class":986,"line":7262},[984,69199,15633],{"class":996},[984,69201,1015],{"class":990},[984,69203,5131],{"class":996},[984,69205,1021],{"class":990},[984,69207,69208,69210,69212,69214],{"class":986,"line":7267},[984,69209,15644],{"class":996},[984,69211,1015],{"class":990},[984,69213,15649],{"class":1003},[984,69215,1021],{"class":990},[984,69217,69218,69220,69222,69224],{"class":986,"line":7272},[984,69219,15656],{"class":996},[984,69221,1015],{"class":990},[984,69223,15661],{"class":1003},[984,69225,1021],{"class":990},[984,69227,69228,69230,69232,69234],{"class":986,"line":7279},[984,69229,15668],{"class":996},[984,69231,1015],{"class":990},[984,69233,1018],{"class":996},[984,69235,1021],{"class":990},[984,69237,69238,69240,69242,69244],{"class":986,"line":7284},[984,69239,15679],{"class":996},[984,69241,1015],{"class":990},[984,69243,15684],{"class":1003},[984,69245,1021],{"class":990},[984,69247,69248,69250,69252,69254],{"class":986,"line":7295},[984,69249,15691],{"class":996},[984,69251,1015],{"class":990},[984,69253,1171],{"class":996},[984,69255,1021],{"class":990},[984,69257,69258,69260],{"class":986,"line":7307},[984,69259,33086],{"class":996},[984,69261,33089],{"class":990},[984,69263,69264],{"class":986,"line":7318},[984,69265,15511],{"class":990},[984,69267,69268],{"class":986,"line":7328},[984,69269,1529],{"class":990},[984,69271,69272,69274,69276,69278],{"class":986,"line":7333},[984,69273,1220],{"class":996},[984,69275,1015],{"class":990},[984,69277,1345],{"class":996},[984,69279,1021],{"class":990},[984,69281,69282,69284,69286,69288],{"class":986,"line":7338},[984,69283,15719],{"class":996},[984,69285,1015],{"class":990},[984,69287,15536],{"class":1003},[984,69289,1021],{"class":990},[984,69291,69292,69294,69296,69298],{"class":986,"line":7350},[984,69293,1580],{"class":996},[984,69295,1015],{"class":990},[984,69297,13091],{"class":1003},[984,69299,1021],{"class":990},[984,69301,69302,69304,69306,69308],{"class":986,"line":7361},[984,69303,15740],{"class":996},[984,69305,1015],{"class":990},[984,69307,15745],{"class":996},[984,69309,1021],{"class":990},[984,69311,69312,69314,69316,69318],{"class":986,"line":7372},[984,69313,15752],{"class":996},[984,69315,1015],{"class":990},[984,69317,15757],{"class":996},[984,69319,1021],{"class":990},[984,69321,69322,69324,69326,69328],{"class":986,"line":7383},[984,69323,13098],{"class":996},[984,69325,1015],{"class":990},[984,69327,15768],{"class":996},[984,69329,1021],{"class":990},[984,69331,69332,69334,69336,69338],{"class":986,"line":7393},[984,69333,1546],{"class":996},[984,69335,1015],{"class":990},[984,69337,4979],{"class":996},[984,69339,1021],{"class":990},[984,69341,69342,69344,69346,69348],{"class":986,"line":7398},[984,69343,15108],{"class":996},[984,69345,1015],{"class":990},[984,69347,5089],{"class":996},[984,69349,1021],{"class":990},[984,69351,69352,69354,69356,69358],{"class":986,"line":7403},[984,69353,14994],{"class":996},[984,69355,1015],{"class":990},[984,69357,15799],{"class":1003},[984,69359,1021],{"class":990},[984,69361,69362,69364,69366,69368],{"class":986,"line":7415},[984,69363,15006],{"class":996},[984,69365,1015],{"class":990},[984,69367,1397],{"class":1003},[984,69369,1021],{"class":990},[984,69371,69372,69374,69376,69378],{"class":986,"line":7427},[984,69373,15017],{"class":996},[984,69375,1015],{"class":990},[984,69377,1397],{"class":1003},[984,69379,1021],{"class":990},[984,69381,69382,69384,69386,69388],{"class":986,"line":7438},[984,69383,15029],{"class":996},[984,69385,1015],{"class":990},[984,69387,5131],{"class":996},[984,69389,1021],{"class":990},[984,69391,69392,69394,69396,69398],{"class":986,"line":7449},[984,69393,15040],{"class":996},[984,69395,1015],{"class":990},[984,69397,15840],{"class":1003},[984,69399,1021],{"class":990},[984,69401,69402,69404,69406,69408],{"class":986,"line":7461},[984,69403,1735],{"class":996},[984,69405,1015],{"class":990},[984,69407,15851],{"class":1003},[984,69409,1021],{"class":990},[984,69411,69412,69414,69416,69418],{"class":986,"line":7468},[984,69413,15052],{"class":996},[984,69415,1015],{"class":990},[984,69417,1503],{"class":996},[984,69419,1021],{"class":990},[984,69421,69422,69424,69426,69428],{"class":986,"line":7475},[984,69423,15063],{"class":996},[984,69425,1015],{"class":990},[984,69427,15872],{"class":1003},[984,69429,1021],{"class":990},[984,69431,69432,69434,69436,69438],{"class":986,"line":7480},[984,69433,1534],{"class":996},[984,69435,1015],{"class":990},[984,69437,17190],{"class":996},[984,69439,1021],{"class":990},[984,69441,69442,69444],{"class":986,"line":7492},[984,69443,32194],{"class":996},[984,69445,33089],{"class":990},[984,69447,69448],{"class":986,"line":7503},[984,69449,15888],{"class":990},[984,69451,69452],{"class":986,"line":7515},[984,69453,1038],{"class":990},[89,69455,69456,69460,69466,69470,69476,69482,69486,69490,69494,69498,69502,69506,69510,69514,69518,69532,69538],{},[54,69457,69458,15900],{},[150,69459,15899],{},[54,69461,69462,163,69464,15908],{},[150,69463,6545],{},[150,69465,15907],{},[54,69467,69468,15913],{},[150,69469,15907],{},[54,69471,69472,163,69474,23036],{},[150,69473,15918],{},[150,69475,15921],{},[54,69477,69478,15928,69480,15931],{},[150,69479,15927],{},[150,69481,6390],{},[54,69483,69484,15936],{},[150,69485,14141],{},[54,69487,69488,15942],{},[150,69489,15941],{},[54,69491,69492,15948],{},[150,69493,15947],{},[54,69495,69496,15953],{},[150,69497,848],{},[54,69499,69500,15958],{},[150,69501,14141],{},[54,69503,69504,15963],{},[150,69505,6551],{},[54,69507,69508,33338],{},[150,69509,29308],{},[54,69511,69512,33343],{},[150,69513,29305],{},[54,69515,69516,33348],{},[150,69517,29319],{},[54,69519,69520,163,69522,33357,69524,33361,69526,33365,69528,441,69530,33372],{},[150,69521,33353],{},[150,69523,33356],{},[150,69525,33360],{},[150,69527,33364],{},[150,69529,33368],{},[150,69531,33371],{},[54,69533,69534,163,69536,33381],{},[150,69535,33377],{},[150,69537,33380],{},[54,69539,69540,33386,69542,163,69544,33392,69546],{},[150,69541,29401],{},[18,69543,6196],{"href":12240},[18,69545,16052],{"href":33391},[89,69547,69548,69552,69556],{},[54,69549,69550],{},[150,69551,5811],{},[54,69553,69554],{},[150,69555,6002],{},[54,69557,69558],{},[150,69559,5991],{},[716,69561,15967],{"id":15966},[716,69563,15971],{"id":15970},[89,69565,69566,69570,69580,69584,69598,69604],{},[54,69567,15976,69568,15980],{},[150,69569,15979],{},[54,69571,15983,69572,4665,69574,4665,69576,4665,69578,15996],{},[150,69573,15986],{},[150,69575,15989],{},[150,69577,15992],{},[150,69579,15995],{},[54,69581,15999,69582,16003],{},[150,69583,16002],{},[54,69585,16006,69586,4665,69588,4665,69590,4665,69592,4665,69594,4665,69596],{},[150,69587,16009],{},[150,69589,16012],{},[150,69591,16015],{},[150,69593,16018],{},[150,69595,16021],{},[150,69597,16024],{},[54,69599,16027,69600,16031,69602],{},[150,69601,16030],{},[150,69603,16034],{},[54,69605,16037,69606,4665,69608,4665,69610,4665,69612,16048],{},[150,69607,15986],{},[150,69609,16042],{},[150,69611,16045],{},[150,69613,15995],{},[716,69615,16052],{"id":16051},[89,69617,69618,69620,69622,69624,69626,69628,69630,69632,69634],{},[54,69619,16057],{},[54,69621,16060],{},[54,69623,16063],{},[54,69625,16066],{},[54,69627,16069],{},[54,69629,16072],{},[54,69631,16075],{},[54,69633,16078],{},[54,69635,16081],{},[11,69637,69638,16087],{},[94,69639,16086],{},[26,69641,883],{"id":883},[11,69643,16092],{},[11,69645,69646],{},[150,69647,975],{},[866,69649,69650],{"className":978,"code":979,"language":980,"meta":760,"style":760},[150,69651,69652,69656,69666,69676,69684],{"__ignoreMap":760},[984,69653,69654],{"class":986,"line":987},[984,69655,991],{"class":990},[984,69657,69658,69660,69662,69664],{"class":986,"line":761},[984,69659,997],{"class":996},[984,69661,1000],{"class":990},[984,69663,1004],{"class":1003},[984,69665,1007],{"class":990},[984,69667,69668,69670,69672,69674],{"class":986,"line":772},[984,69669,1012],{"class":996},[984,69671,1015],{"class":990},[984,69673,1018],{"class":996},[984,69675,1021],{"class":990},[984,69677,69678,69680,69682],{"class":986,"line":1024},[984,69679,1027],{"class":996},[984,69681,1000],{"class":990},[984,69683,1032],{"class":1003},[984,69685,69686],{"class":986,"line":1035},[984,69687,1038],{"class":990},[11,69689,69690],{},[150,69691,1043],{},[866,69693,69694],{"className":978,"code":33541,"language":980,"meta":760,"style":760},[150,69695,69696,69700,69710,69720,69726,69730,69740,69750,69760,69770,69780,69790,69800,69810,69820,69830,69834],{"__ignoreMap":760},[984,69697,69698],{"class":986,"line":987},[984,69699,991],{"class":990},[984,69701,69702,69704,69706,69708],{"class":986,"line":761},[984,69703,997],{"class":996},[984,69705,1000],{"class":990},[984,69707,1004],{"class":1003},[984,69709,1007],{"class":990},[984,69711,69712,69714,69716,69718],{"class":986,"line":772},[984,69713,1012],{"class":996},[984,69715,1015],{"class":990},[984,69717,1018],{"class":996},[984,69719,1021],{"class":990},[984,69721,69722,69724],{"class":986,"line":1024},[984,69723,1724],{"class":996},[984,69725,1524],{"class":990},[984,69727,69728],{"class":986,"line":1035},[984,69729,1529],{"class":990},[984,69731,69732,69734,69736,69738],{"class":986,"line":1098},[984,69733,16184],{"class":996},[984,69735,1738],{"class":990},[984,69737,15247],{"class":996},[984,69739,1021],{"class":990},[984,69741,69742,69744,69746,69748],{"class":986,"line":1111},[984,69743,16195],{"class":996},[984,69745,1738],{"class":990},[984,69747,15022],{"class":1003},[984,69749,1021],{"class":990},[984,69751,69752,69754,69756,69758],{"class":986,"line":1124},[984,69753,23262],{"class":996},[984,69755,1015],{"class":990},[984,69757,23267],{"class":996},[984,69759,1021],{"class":990},[984,69761,69762,69764,69766,69768],{"class":986,"line":1137},[984,69763,16206],{"class":996},[984,69765,1738],{"class":990},[984,69767,16211],{"class":1003},[984,69769,1021],{"class":990},[984,69771,69772,69774,69776,69778],{"class":986,"line":1150},[984,69773,23284],{"class":996},[984,69775,1015],{"class":990},[984,69777,2682],{"class":996},[984,69779,1021],{"class":990},[984,69781,69782,69784,69786,69788],{"class":986,"line":1163},[984,69783,1232],{"class":996},[984,69785,1015],{"class":990},[984,69787,16222],{"class":996},[984,69789,1021],{"class":990},[984,69791,69792,69794,69796,69798],{"class":986,"line":1176},[984,69793,1282],{"class":996},[984,69795,1015],{"class":990},[984,69797,1158],{"class":996},[984,69799,1021],{"class":990},[984,69801,69802,69804,69806,69808],{"class":986,"line":1189},[984,69803,1307],{"class":996},[984,69805,1015],{"class":990},[984,69807,1171],{"class":996},[984,69809,1021],{"class":990},[984,69811,69812,69814,69816,69818],{"class":986,"line":1202},[984,69813,1257],{"class":996},[984,69815,1015],{"class":990},[984,69817,16253],{"class":996},[984,69819,1021],{"class":990},[984,69821,69822,69824,69826,69828],{"class":986,"line":1211},[984,69823,16271],{"class":996},[984,69825,1015],{"class":990},[984,69827,16276],{"class":996},[984,69829,1021],{"class":990},[984,69831,69832],{"class":986,"line":1217},[984,69833,1607],{"class":990},[984,69835,69836],{"class":986,"line":1229},[984,69837,1038],{"class":990},[89,69839,69840,69844,69848,69852,69856,69860,69864],{},[54,69841,69842,16293],{},[150,69843,12157],{},[54,69845,69846,16299],{},[150,69847,16298],{},[54,69849,69850,16304],{},[150,69851,12160],{},[54,69853,69854,16310],{},[150,69855,16309],{},[54,69857,69858,16315],{},[150,69859,10335],{},[54,69861,69862,23385],{},[150,69863,19514],{},[54,69865,69866,23390],{},[150,69867,19511],{},[11,69869,23393,69870,4316],{},[150,69871,948],{},[11,69873,69874],{},[150,69875,975],{},[866,69877,69878],{"className":978,"code":23402,"language":980,"meta":760,"style":760},[150,69879,69880,69884,69894,69904,69914,69920,69928,69932],{"__ignoreMap":760},[984,69881,69882],{"class":986,"line":987},[984,69883,991],{"class":990},[984,69885,69886,69888,69890,69892],{"class":986,"line":761},[984,69887,997],{"class":996},[984,69889,1000],{"class":990},[984,69891,1004],{"class":1003},[984,69893,1007],{"class":990},[984,69895,69896,69898,69900,69902],{"class":986,"line":772},[984,69897,1012],{"class":996},[984,69899,1015],{"class":990},[984,69901,1018],{"class":996},[984,69903,1021],{"class":990},[984,69905,69906,69908,69910,69912],{"class":986,"line":1024},[984,69907,1027],{"class":996},[984,69909,1000],{"class":990},[984,69911,11949],{"class":1003},[984,69913,1021],{"class":990},[984,69915,69916,69918],{"class":986,"line":1035},[984,69917,23443],{"class":996},[984,69919,1083],{"class":990},[984,69921,69922,69924,69926],{"class":986,"line":1098},[984,69923,23450],{"class":996},[984,69925,1015],{"class":990},[984,69927,13679],{"class":996},[984,69929,69930],{"class":986,"line":1111},[984,69931,9333],{"class":990},[984,69933,69934],{"class":986,"line":1124},[984,69935,1038],{"class":990},[89,69937,69938],{},[54,69939,69940,23469],{},[150,69941,12147],{},[11,69943,69944],{},[150,69945,1043],{},[866,69947,69948],{"className":978,"code":33796,"language":980,"meta":760,"style":760},[150,69949,69950,69954,69964,69974,69980,69990,70000,70010,70020,70030,70040,70050,70060,70070,70080,70086,70090,70100,70110,70120,70130,70140,70150,70160,70170,70180,70190,70200,70210,70220,70230,70240,70250,70260,70270,70280,70290,70300,70310,70320,70330,70340,70350,70360,70370,70378,70382,70386,70396,70406,70416,70426,70436,70446,70456,70466,70476,70486,70496,70506,70516,70526,70536,70546,70556,70566,70576,70586,70596,70606,70616,70626,70636,70646,70656,70666,70674,70678,70682,70686],{"__ignoreMap":760},[984,69951,69952],{"class":986,"line":987},[984,69953,991],{"class":990},[984,69955,69956,69958,69960,69962],{"class":986,"line":761},[984,69957,1057],{"class":996},[984,69959,1015],{"class":990},[984,69961,1062],{"class":996},[984,69963,1021],{"class":990},[984,69965,69966,69968,69970,69972],{"class":986,"line":772},[984,69967,1069],{"class":996},[984,69969,1015],{"class":990},[984,69971,1004],{"class":1003},[984,69973,1021],{"class":990},[984,69975,69976,69978],{"class":986,"line":1024},[984,69977,1080],{"class":996},[984,69979,1083],{"class":990},[984,69981,69982,69984,69986,69988],{"class":986,"line":1035},[984,69983,1088],{"class":996},[984,69985,1738],{"class":990},[984,69987,15247],{"class":996},[984,69989,1021],{"class":990},[984,69991,69992,69994,69996,69998],{"class":986,"line":1098},[984,69993,1101],{"class":996},[984,69995,1738],{"class":990},[984,69997,15022],{"class":1003},[984,69999,1021],{"class":990},[984,70001,70002,70004,70006,70008],{"class":986,"line":1111},[984,70003,23533],{"class":996},[984,70005,1015],{"class":990},[984,70007,23267],{"class":996},[984,70009,1021],{"class":990},[984,70011,70012,70014,70016,70018],{"class":986,"line":1124},[984,70013,1127],{"class":996},[984,70015,1738],{"class":990},[984,70017,16211],{"class":1003},[984,70019,1021],{"class":990},[984,70021,70022,70024,70026,70028],{"class":986,"line":1137},[984,70023,23554],{"class":996},[984,70025,1015],{"class":990},[984,70027,2682],{"class":996},[984,70029,1021],{"class":990},[984,70031,70032,70034,70036,70038],{"class":986,"line":1150},[984,70033,1140],{"class":996},[984,70035,1015],{"class":990},[984,70037,16222],{"class":996},[984,70039,1021],{"class":990},[984,70041,70042,70044,70046,70048],{"class":986,"line":1163},[984,70043,1153],{"class":996},[984,70045,1015],{"class":990},[984,70047,1158],{"class":996},[984,70049,1021],{"class":990},[984,70051,70052,70054,70056,70058],{"class":986,"line":1176},[984,70053,1166],{"class":996},[984,70055,1015],{"class":990},[984,70057,1171],{"class":996},[984,70059,1021],{"class":990},[984,70061,70062,70064,70066,70068],{"class":986,"line":1189},[984,70063,1179],{"class":996},[984,70065,1015],{"class":990},[984,70067,16253],{"class":996},[984,70069,1021],{"class":990},[984,70071,70072,70074,70076,70078],{"class":986,"line":1202},[984,70073,1114],{"class":996},[984,70075,1015],{"class":990},[984,70077,16276],{"class":996},[984,70079,1021],{"class":990},[984,70081,70082,70084],{"class":986,"line":1211},[984,70083,1205],{"class":996},[984,70085,1208],{"class":990},[984,70087,70088],{"class":986,"line":1217},[984,70089,1214],{"class":990},[984,70091,70092,70094,70096,70098],{"class":986,"line":1229},[984,70093,1220],{"class":996},[984,70095,1015],{"class":990},[984,70097,1171],{"class":996},[984,70099,1021],{"class":990},[984,70101,70102,70104,70106,70108],{"class":986,"line":1241},[984,70103,1232],{"class":996},[984,70105,1015],{"class":990},[984,70107,33957],{"class":996},[984,70109,1021],{"class":990},[984,70111,70112,70114,70116,70118],{"class":986,"line":1254},[984,70113,33964],{"class":996},[984,70115,1015],{"class":990},[984,70117,1171],{"class":996},[984,70119,1021],{"class":990},[984,70121,70122,70124,70126,70128],{"class":986,"line":1266},[984,70123,33975],{"class":996},[984,70125,1015],{"class":990},[984,70127,1397],{"class":1003},[984,70129,1021],{"class":990},[984,70131,70132,70134,70136,70138],{"class":986,"line":1279},[984,70133,33986],{"class":996},[984,70135,1015],{"class":990},[984,70137,33957],{"class":996},[984,70139,1021],{"class":990},[984,70141,70142,70144,70146,70148],{"class":986,"line":1291},[984,70143,33997],{"class":996},[984,70145,1015],{"class":990},[984,70147,34002],{"class":1003},[984,70149,1021],{"class":990},[984,70151,70152,70154,70156,70158],{"class":986,"line":1304},[984,70153,1244],{"class":996},[984,70155,1015],{"class":990},[984,70157,34002],{"class":1003},[984,70159,1021],{"class":990},[984,70161,70162,70164,70166,70168],{"class":986,"line":1316},[984,70163,2577],{"class":996},[984,70165,1015],{"class":990},[984,70167,1171],{"class":996},[984,70169,1021],{"class":990},[984,70171,70172,70174,70176,70178],{"class":986,"line":1327},[984,70173,2588],{"class":996},[984,70175,1015],{"class":990},[984,70177,1397],{"class":1003},[984,70179,1021],{"class":990},[984,70181,70182,70184,70186,70188],{"class":986,"line":1333},[984,70183,16260],{"class":996},[984,70185,1015],{"class":990},[984,70187,34043],{"class":996},[984,70189,1021],{"class":990},[984,70191,70192,70194,70196,70198],{"class":986,"line":1338},[984,70193,34050],{"class":996},[984,70195,1015],{"class":990},[984,70197,34055],{"class":1003},[984,70199,1021],{"class":990},[984,70201,70202,70204,70206,70208],{"class":986,"line":1355},[984,70203,1257],{"class":996},[984,70205,1015],{"class":990},[984,70207,34043],{"class":996},[984,70209,1021],{"class":990},[984,70211,70212,70214,70216,70218],{"class":986,"line":1367},[984,70213,34072],{"class":996},[984,70215,1015],{"class":990},[984,70217,1171],{"class":996},[984,70219,1021],{"class":990},[984,70221,70222,70224,70226,70228],{"class":986,"line":1379},[984,70223,34083],{"class":996},[984,70225,1015],{"class":990},[984,70227,1397],{"class":1003},[984,70229,1021],{"class":990},[984,70231,70232,70234,70236,70238],{"class":986,"line":1390},[984,70233,34094],{"class":996},[984,70235,1015],{"class":990},[984,70237,34043],{"class":996},[984,70239,1021],{"class":990},[984,70241,70242,70244,70246,70248],{"class":986,"line":1402},[984,70243,34105],{"class":996},[984,70245,1015],{"class":990},[984,70247,34055],{"class":1003},[984,70249,1021],{"class":990},[984,70251,70252,70254,70256,70258],{"class":986,"line":1413},[984,70253,1269],{"class":996},[984,70255,1015],{"class":990},[984,70257,34055],{"class":1003},[984,70259,1021],{"class":990},[984,70261,70262,70264,70266,70268],{"class":986,"line":1424},[984,70263,1282],{"class":996},[984,70265,1015],{"class":990},[984,70267,1171],{"class":996},[984,70269,1021],{"class":990},[984,70271,70272,70274,70276,70278],{"class":986,"line":1435},[984,70273,34136],{"class":996},[984,70275,1015],{"class":990},[984,70277,1171],{"class":996},[984,70279,1021],{"class":990},[984,70281,70282,70284,70286,70288],{"class":986,"line":1444},[984,70283,34147],{"class":996},[984,70285,1015],{"class":990},[984,70287,1397],{"class":1003},[984,70289,1021],{"class":990},[984,70291,70292,70294,70296,70298],{"class":986,"line":1450},[984,70293,34158],{"class":996},[984,70295,1015],{"class":990},[984,70297,1171],{"class":996},[984,70299,1021],{"class":990},[984,70301,70302,70304,70306,70308],{"class":986,"line":1456},[984,70303,34169],{"class":996},[984,70305,1015],{"class":990},[984,70307,1397],{"class":1003},[984,70309,1021],{"class":990},[984,70311,70312,70314,70316,70318],{"class":986,"line":1462},[984,70313,1294],{"class":996},[984,70315,1015],{"class":990},[984,70317,1397],{"class":1003},[984,70319,1021],{"class":990},[984,70321,70322,70324,70326,70328],{"class":986,"line":7201},[984,70323,1307],{"class":996},[984,70325,1015],{"class":990},[984,70327,1171],{"class":996},[984,70329,1021],{"class":990},[984,70331,70332,70334,70336,70338],{"class":986,"line":7206},[984,70333,34200],{"class":996},[984,70335,1015],{"class":990},[984,70337,1171],{"class":996},[984,70339,1021],{"class":990},[984,70341,70342,70344,70346,70348],{"class":986,"line":7218},[984,70343,34211],{"class":996},[984,70345,1015],{"class":990},[984,70347,1397],{"class":1003},[984,70349,1021],{"class":990},[984,70351,70352,70354,70356,70358],{"class":986,"line":7229},[984,70353,34222],{"class":996},[984,70355,1015],{"class":990},[984,70357,1171],{"class":996},[984,70359,1021],{"class":990},[984,70361,70362,70364,70366,70368],{"class":986,"line":7241},[984,70363,34233],{"class":996},[984,70365,1015],{"class":990},[984,70367,1397],{"class":1003},[984,70369,1021],{"class":990},[984,70371,70372,70374,70376],{"class":986,"line":7252},[984,70373,1319],{"class":996},[984,70375,1015],{"class":990},[984,70377,1324],{"class":1003},[984,70379,70380],{"class":986,"line":7262},[984,70381,1330],{"class":990},[984,70383,70384],{"class":986,"line":7267},[984,70385,1214],{"class":990},[984,70387,70388,70390,70392,70394],{"class":986,"line":7272},[984,70389,1220],{"class":996},[984,70391,1015],{"class":990},[984,70393,5131],{"class":996},[984,70395,1021],{"class":990},[984,70397,70398,70400,70402,70404],{"class":986,"line":7279},[984,70399,1232],{"class":996},[984,70401,1015],{"class":990},[984,70403,34274],{"class":996},[984,70405,1021],{"class":990},[984,70407,70408,70410,70412,70414],{"class":986,"line":7284},[984,70409,33964],{"class":996},[984,70411,1015],{"class":990},[984,70413,1171],{"class":996},[984,70415,1021],{"class":990},[984,70417,70418,70420,70422,70424],{"class":986,"line":7295},[984,70419,33975],{"class":996},[984,70421,1015],{"class":990},[984,70423,1397],{"class":1003},[984,70425,1021],{"class":990},[984,70427,70428,70430,70432,70434],{"class":986,"line":7307},[984,70429,33986],{"class":996},[984,70431,1015],{"class":990},[984,70433,34274],{"class":996},[984,70435,1021],{"class":990},[984,70437,70438,70440,70442,70444],{"class":986,"line":7318},[984,70439,33997],{"class":996},[984,70441,1015],{"class":990},[984,70443,34315],{"class":1003},[984,70445,1021],{"class":990},[984,70447,70448,70450,70452,70454],{"class":986,"line":7328},[984,70449,1244],{"class":996},[984,70451,1015],{"class":990},[984,70453,34315],{"class":1003},[984,70455,1021],{"class":990},[984,70457,70458,70460,70462,70464],{"class":986,"line":7333},[984,70459,2577],{"class":996},[984,70461,1015],{"class":990},[984,70463,1171],{"class":996},[984,70465,1021],{"class":990},[984,70467,70468,70470,70472,70474],{"class":986,"line":7338},[984,70469,2588],{"class":996},[984,70471,1015],{"class":990},[984,70473,1397],{"class":1003},[984,70475,1021],{"class":990},[984,70477,70478,70480,70482,70484],{"class":986,"line":7350},[984,70479,16260],{"class":996},[984,70481,1015],{"class":990},[984,70483,1171],{"class":996},[984,70485,1021],{"class":990},[984,70487,70488,70490,70492,70494],{"class":986,"line":7361},[984,70489,34050],{"class":996},[984,70491,1015],{"class":990},[984,70493,1397],{"class":1003},[984,70495,1021],{"class":990},[984,70497,70498,70500,70502,70504],{"class":986,"line":7372},[984,70499,1257],{"class":996},[984,70501,1015],{"class":990},[984,70503,1171],{"class":996},[984,70505,1021],{"class":990},[984,70507,70508,70510,70512,70514],{"class":986,"line":7383},[984,70509,34072],{"class":996},[984,70511,1015],{"class":990},[984,70513,1171],{"class":996},[984,70515,1021],{"class":990},[984,70517,70518,70520,70522,70524],{"class":986,"line":7393},[984,70519,34083],{"class":996},[984,70521,1015],{"class":990},[984,70523,1397],{"class":1003},[984,70525,1021],{"class":990},[984,70527,70528,70530,70532,70534],{"class":986,"line":7398},[984,70529,34094],{"class":996},[984,70531,1015],{"class":990},[984,70533,1171],{"class":996},[984,70535,1021],{"class":990},[984,70537,70538,70540,70542,70544],{"class":986,"line":7403},[984,70539,34105],{"class":996},[984,70541,1015],{"class":990},[984,70543,1397],{"class":1003},[984,70545,1021],{"class":990},[984,70547,70548,70550,70552,70554],{"class":986,"line":7415},[984,70549,1269],{"class":996},[984,70551,1015],{"class":990},[984,70553,1397],{"class":1003},[984,70555,1021],{"class":990},[984,70557,70558,70560,70562,70564],{"class":986,"line":7427},[984,70559,1282],{"class":996},[984,70561,1015],{"class":990},[984,70563,1171],{"class":996},[984,70565,1021],{"class":990},[984,70567,70568,70570,70572,70574],{"class":986,"line":7438},[984,70569,34136],{"class":996},[984,70571,1015],{"class":990},[984,70573,1171],{"class":996},[984,70575,1021],{"class":990},[984,70577,70578,70580,70582,70584],{"class":986,"line":7449},[984,70579,34147],{"class":996},[984,70581,1015],{"class":990},[984,70583,1397],{"class":1003},[984,70585,1021],{"class":990},[984,70587,70588,70590,70592,70594],{"class":986,"line":7461},[984,70589,34158],{"class":996},[984,70591,1015],{"class":990},[984,70593,1171],{"class":996},[984,70595,1021],{"class":990},[984,70597,70598,70600,70602,70604],{"class":986,"line":7468},[984,70599,34169],{"class":996},[984,70601,1015],{"class":990},[984,70603,1397],{"class":1003},[984,70605,1021],{"class":990},[984,70607,70608,70610,70612,70614],{"class":986,"line":7475},[984,70609,1294],{"class":996},[984,70611,1015],{"class":990},[984,70613,1397],{"class":1003},[984,70615,1021],{"class":990},[984,70617,70618,70620,70622,70624],{"class":986,"line":7480},[984,70619,1307],{"class":996},[984,70621,1015],{"class":990},[984,70623,1171],{"class":996},[984,70625,1021],{"class":990},[984,70627,70628,70630,70632,70634],{"class":986,"line":7492},[984,70629,34200],{"class":996},[984,70631,1015],{"class":990},[984,70633,1171],{"class":996},[984,70635,1021],{"class":990},[984,70637,70638,70640,70642,70644],{"class":986,"line":7503},[984,70639,34211],{"class":996},[984,70641,1015],{"class":990},[984,70643,1397],{"class":1003},[984,70645,1021],{"class":990},[984,70647,70648,70650,70652,70654],{"class":986,"line":7515},[984,70649,34222],{"class":996},[984,70651,1015],{"class":990},[984,70653,1171],{"class":996},[984,70655,1021],{"class":990},[984,70657,70658,70660,70662,70664],{"class":986,"line":7526},[984,70659,34233],{"class":996},[984,70661,1015],{"class":990},[984,70663,1397],{"class":1003},[984,70665,1021],{"class":990},[984,70667,70668,70670,70672],{"class":986,"line":7536},[984,70669,1319],{"class":996},[984,70671,1015],{"class":990},[984,70673,1324],{"class":1003},[984,70675,70676],{"class":986,"line":7541},[984,70677,1447],{"class":990},[984,70679,70680],{"class":986,"line":7546},[984,70681,1453],{"class":990},[984,70683,70684],{"class":986,"line":7553},[984,70685,1459],{"class":990},[984,70687,70688],{"class":986,"line":7558},[984,70689,1038],{"class":990},[89,70691,70692,70704,70708,70712,70720,70724,70728,70736,70740,70744,70752,70756,70760,70768,70772],{},[54,70693,70694,34568,70696],{},[150,70695,12119],{},[89,70697,70698,70700,70702],{},[54,70699,12125],{},[54,70701,12128],{},[54,70703,12131],{},[54,70705,70706,34581],{},[150,70707,29334],{},[54,70709,70710,34586],{},[150,70711,29340],{},[54,70713,70714,34591,70716,163,70718],{},[150,70715,12157],{},[150,70717,29334],{},[150,70719,29340],{},[54,70721,70722,34600],{},[150,70723,29346],{},[54,70725,70726,34605],{},[150,70727,29352],{},[54,70729,70730,34591,70732,163,70734],{},[150,70731,16042],{},[150,70733,29346],{},[150,70735,29352],{},[54,70737,70738,34618],{},[150,70739,29358],{},[54,70741,70742,34623],{},[150,70743,29364],{},[54,70745,70746,34591,70748,163,70750],{},[150,70747,16045],{},[150,70749,29358],{},[150,70751,29364],{},[54,70753,70754,34636],{},[150,70755,29370],{},[54,70757,70758,34641],{},[150,70759,29376],{},[54,70761,70762,34591,70764,163,70766],{},[150,70763,12160],{},[150,70765,29370],{},[150,70767,29376],{},[54,70769,70770,34654],{},[150,70771,2657],{},[54,70773,70774,34659,70776,441,70778,163,70780],{},[150,70775,16309],{},[150,70777,29370],{},[150,70779,29376],{},[150,70781,2657],{},[11,70783,12134,70784,12137,70786,12140,70788,12144,70790,12148],{},[150,70785,12119],{},[150,70787,848],{},[150,70789,12143],{},[150,70791,12147],{},[11,70793,12151,70794,12154,70796,441,70798,12161,70800,2008,70802,12166,70804,12169,70806,12173],{},[111,70795,2003],{},[150,70797,12157],{},[150,70799,12160],{},[150,70801,2007],{},[111,70803,2011],{},[150,70805,2007],{},[150,70807,12172],{},[26,70809,12024],{"id":12024},[11,70811,16749],{},[11,70813,70814],{},[150,70815,975],{},[866,70817,70818],{"className":978,"code":16756,"language":980,"meta":760,"style":760},[150,70819,70820,70824,70834,70844,70854,70860,70864,70874,70884,70890,70900,70908,70912,70916],{"__ignoreMap":760},[984,70821,70822],{"class":986,"line":987},[984,70823,991],{"class":990},[984,70825,70826,70828,70830,70832],{"class":986,"line":761},[984,70827,997],{"class":996},[984,70829,1000],{"class":990},[984,70831,1004],{"class":1003},[984,70833,1007],{"class":990},[984,70835,70836,70838,70840,70842],{"class":986,"line":772},[984,70837,1012],{"class":996},[984,70839,1015],{"class":990},[984,70841,1018],{"class":996},[984,70843,1021],{"class":990},[984,70845,70846,70848,70850,70852],{"class":986,"line":1024},[984,70847,1027],{"class":996},[984,70849,1000],{"class":990},[984,70851,16791],{"class":1003},[984,70853,1021],{"class":990},[984,70855,70856,70858],{"class":986,"line":1035},[984,70857,1521],{"class":996},[984,70859,1803],{"class":990},[984,70861,70862],{"class":986,"line":1098},[984,70863,1529],{"class":990},[984,70865,70866,70868,70870,70872],{"class":986,"line":1111},[984,70867,15270],{"class":996},[984,70869,1015],{"class":990},[984,70871,16812],{"class":996},[984,70873,1021],{"class":990},[984,70875,70876,70878,70880,70882],{"class":986,"line":1124},[984,70877,15259],{"class":996},[984,70879,1015],{"class":990},[984,70881,1171],{"class":996},[984,70883,1021],{"class":990},[984,70885,70886,70888],{"class":986,"line":1137},[984,70887,16829],{"class":996},[984,70889,1083],{"class":990},[984,70891,70892,70894,70896,70898],{"class":986,"line":1150},[984,70893,16836],{"class":996},[984,70895,1015],{"class":990},[984,70897,16841],{"class":1003},[984,70899,1021],{"class":990},[984,70901,70902,70904,70906],{"class":986,"line":1163},[984,70903,16848],{"class":996},[984,70905,1015],{"class":990},[984,70907,16853],{"class":1003},[984,70909,70910],{"class":986,"line":1176},[984,70911,9333],{"class":990},[984,70913,70914],{"class":986,"line":1189},[984,70915,1607],{"class":990},[984,70917,70918],{"class":986,"line":1202},[984,70919,1038],{"class":990},[89,70921,70922,70926,70932,70936],{},[54,70923,70924,16872],{},[150,70925,6846],{},[54,70927,70928,16877,70930,385],{},[150,70929,15307],{},[150,70931,1171],{},[54,70933,70934,16885],{},[150,70935,16884],{},[54,70937,70938,16891],{},[150,70939,16890],{},[11,70941,70942],{},[150,70943,1043],{},[866,70945,70946],{"className":978,"code":16898,"language":980,"meta":760,"style":760},[150,70947,70948,70952,70962,70972,70978,70982,70992,71002,71012,71022,71032,71042,71052,71062,71070,71074],{"__ignoreMap":760},[984,70949,70950],{"class":986,"line":987},[984,70951,991],{"class":990},[984,70953,70954,70956,70958,70960],{"class":986,"line":761},[984,70955,997],{"class":996},[984,70957,1015],{"class":990},[984,70959,1004],{"class":1003},[984,70961,1007],{"class":990},[984,70963,70964,70966,70968,70970],{"class":986,"line":772},[984,70965,1012],{"class":996},[984,70967,1015],{"class":990},[984,70969,1018],{"class":996},[984,70971,1021],{"class":990},[984,70973,70974,70976],{"class":986,"line":1024},[984,70975,1724],{"class":996},[984,70977,1524],{"class":990},[984,70979,70980],{"class":986,"line":1035},[984,70981,13070],{"class":990},[984,70983,70984,70986,70988,70990],{"class":986,"line":1098},[984,70985,6969],{"class":996},[984,70987,1015],{"class":990},[984,70989,1158],{"class":996},[984,70991,1021],{"class":990},[984,70993,70994,70996,70998,71000],{"class":986,"line":1111},[984,70995,1220],{"class":996},[984,70997,1015],{"class":990},[984,70999,1171],{"class":996},[984,71001,1021],{"class":990},[984,71003,71004,71006,71008,71010],{"class":986,"line":1124},[984,71005,2459],{"class":996},[984,71007,1015],{"class":990},[984,71009,16963],{"class":996},[984,71011,1021],{"class":990},[984,71013,71014,71016,71018,71020],{"class":986,"line":1137},[984,71015,7056],{"class":996},[984,71017,1015],{"class":990},[984,71019,16974],{"class":996},[984,71021,1021],{"class":990},[984,71023,71024,71026,71028,71030],{"class":986,"line":1150},[984,71025,5926],{"class":996},[984,71027,1015],{"class":990},[984,71029,16985],{"class":1003},[984,71031,1021],{"class":990},[984,71033,71034,71036,71038,71040],{"class":986,"line":1163},[984,71035,16992],{"class":996},[984,71037,1015],{"class":990},[984,71039,14895],{"class":1003},[984,71041,1021],{"class":990},[984,71043,71044,71046,71048,71050],{"class":986,"line":1176},[984,71045,17003],{"class":996},[984,71047,1015],{"class":990},[984,71049,13091],{"class":1003},[984,71051,1021],{"class":990},[984,71053,71054,71056,71058,71060],{"class":986,"line":1189},[984,71055,15029],{"class":996},[984,71057,1015],{"class":990},[984,71059,1503],{"class":996},[984,71061,1021],{"class":990},[984,71063,71064,71066,71068],{"class":986,"line":1202},[984,71065,15040],{"class":996},[984,71067,1015],{"class":990},[984,71069,17028],{"class":1003},[984,71071,71072],{"class":986,"line":1211},[984,71073,15888],{"class":990},[984,71075,71076],{"class":986,"line":1217},[984,71077,1038],{"class":990},[89,71079,71080,71086],{},[54,71081,71082,17043,71084,2758],{},[150,71083,848],{},[150,71085,948],{},[54,71087,71088,17050],{},[150,71089,15320],{},[11,71091,71092],{},[150,71093,975],{},[866,71095,71096],{"className":978,"code":17057,"language":980,"meta":760,"style":760},[150,71097,71098,71102,71112,71122,71132,71138,71148,71154,71162,71166,71170],{"__ignoreMap":760},[984,71099,71100],{"class":986,"line":987},[984,71101,991],{"class":990},[984,71103,71104,71106,71108,71110],{"class":986,"line":761},[984,71105,997],{"class":996},[984,71107,1015],{"class":990},[984,71109,1004],{"class":1003},[984,71111,1021],{"class":990},[984,71113,71114,71116,71118,71120],{"class":986,"line":772},[984,71115,1012],{"class":996},[984,71117,1015],{"class":990},[984,71119,1062],{"class":996},[984,71121,1021],{"class":990},[984,71123,71124,71126,71128,71130],{"class":986,"line":1024},[984,71125,1027],{"class":996},[984,71127,1015],{"class":990},[984,71129,16791],{"class":1003},[984,71131,1021],{"class":990},[984,71133,71134,71136],{"class":986,"line":1035},[984,71135,1521],{"class":996},[984,71137,1083],{"class":990},[984,71139,71140,71142,71144,71146],{"class":986,"line":1098},[984,71141,17104],{"class":996},[984,71143,1015],{"class":990},[984,71145,2682],{"class":996},[984,71147,1021],{"class":990},[984,71149,71150,71152],{"class":986,"line":1111},[984,71151,15220],{"class":996},[984,71153,1083],{"class":990},[984,71155,71156,71158,71160],{"class":986,"line":1124},[984,71157,17121],{"class":996},[984,71159,1015],{"class":990},[984,71161,1678],{"class":996},[984,71163,71164],{"class":986,"line":1137},[984,71165,9333],{"class":990},[984,71167,71168],{"class":986,"line":1150},[984,71169,1607],{"class":990},[984,71171,71172],{"class":986,"line":1163},[984,71173,1038],{"class":990},[11,71175,71176],{},[150,71177,1043],{},[866,71179,71180],{"className":978,"code":17144,"language":980,"meta":760,"style":760},[150,71181,71182,71186,71196,71206,71212,71216,71226,71236,71246,71256,71266,71276,71286,71296,71304,71308,71312],{"__ignoreMap":760},[984,71183,71184],{"class":986,"line":987},[984,71185,991],{"class":990},[984,71187,71188,71190,71192,71194],{"class":986,"line":761},[984,71189,1057],{"class":996},[984,71191,1015],{"class":990},[984,71193,1062],{"class":996},[984,71195,1021],{"class":990},[984,71197,71198,71200,71202,71204],{"class":986,"line":772},[984,71199,1069],{"class":996},[984,71201,1015],{"class":990},[984,71203,1004],{"class":1003},[984,71205,1021],{"class":990},[984,71207,71208,71210],{"class":986,"line":1024},[984,71209,1080],{"class":996},[984,71211,1208],{"class":990},[984,71213,71214],{"class":986,"line":1035},[984,71215,1529],{"class":990},[984,71217,71218,71220,71222,71224],{"class":986,"line":1098},[984,71219,17185],{"class":996},[984,71221,1015],{"class":990},[984,71223,17190],{"class":996},[984,71225,1021],{"class":990},[984,71227,71228,71230,71232,71234],{"class":986,"line":1111},[984,71229,15520],{"class":996},[984,71231,1015],{"class":990},[984,71233,1345],{"class":996},[984,71235,1021],{"class":990},[984,71237,71238,71240,71242,71244],{"class":986,"line":1124},[984,71239,17207],{"class":996},[984,71241,1015],{"class":990},[984,71243,17212],{"class":1003},[984,71245,1021],{"class":990},[984,71247,71248,71250,71252,71254],{"class":986,"line":1137},[984,71249,6667],{"class":996},[984,71251,1015],{"class":990},[984,71253,17223],{"class":1003},[984,71255,1021],{"class":990},[984,71257,71258,71260,71262,71264],{"class":986,"line":1150},[984,71259,6755],{"class":996},[984,71261,1015],{"class":990},[984,71263,17234],{"class":996},[984,71265,1021],{"class":990},[984,71267,71268,71270,71272,71274],{"class":986,"line":1163},[984,71269,17241],{"class":996},[984,71271,1015],{"class":990},[984,71273,13091],{"class":1003},[984,71275,1021],{"class":990},[984,71277,71278,71280,71282,71284],{"class":986,"line":1176},[984,71279,15633],{"class":996},[984,71281,1015],{"class":990},[984,71283,1345],{"class":996},[984,71285,1021],{"class":990},[984,71287,71288,71290,71292,71294],{"class":986,"line":1189},[984,71289,15644],{"class":996},[984,71291,1015],{"class":990},[984,71293,17266],{"class":1003},[984,71295,1021],{"class":990},[984,71297,71298,71300,71302],{"class":986,"line":1202},[984,71299,17273],{"class":996},[984,71301,1015],{"class":990},[984,71303,17278],{"class":1003},[984,71305,71306],{"class":986,"line":1211},[984,71307,1607],{"class":990},[984,71309,71310],{"class":986,"line":1217},[984,71311,17287],{"class":990},[984,71313,71314],{"class":986,"line":1229},[984,71315,1038],{"class":990},[89,71317,71318,71332],{},[54,71319,71320,17298,71322,17302,71324,17306,71326,17310,71328,17314,71330,17318],{},[150,71321,5964],{},[150,71323,17301],{},[150,71325,17305],{},[150,71327,17309],{},[150,71329,17313],{},[150,71331,17317],{},[54,71333,71334,17298,71336,441,71338,441,71340,441,71342,441,71344,441,71346,441,71348,12647,71350,17347],{},[150,71335,6390],{},[150,71337,17325],{},[150,71339,17328],{},[150,71341,17331],{},[150,71343,17334],{},[150,71345,17337],{},[150,71347,17340],{},[150,71349,17343],{},[150,71351,17346],{},[26,71353,918],{"id":918},[11,71355,17352,71356,17355],{},[18,71357,913],{"href":2036},[11,71359,71360],{},[150,71361,975],{},[866,71363,71364],{"className":978,"code":1759,"language":980,"meta":760,"style":760},[150,71365,71366,71370,71380,71390,71400,71406,71410,71418,71422],{"__ignoreMap":760},[984,71367,71368],{"class":986,"line":987},[984,71369,991],{"class":990},[984,71371,71372,71374,71376,71378],{"class":986,"line":761},[984,71373,997],{"class":996},[984,71375,1000],{"class":990},[984,71377,1004],{"class":1003},[984,71379,1007],{"class":990},[984,71381,71382,71384,71386,71388],{"class":986,"line":772},[984,71383,1012],{"class":996},[984,71385,1015],{"class":990},[984,71387,1018],{"class":996},[984,71389,1021],{"class":990},[984,71391,71392,71394,71396,71398],{"class":986,"line":1024},[984,71393,1027],{"class":996},[984,71395,1015],{"class":990},[984,71397,1794],{"class":1003},[984,71399,1021],{"class":990},[984,71401,71402,71404],{"class":986,"line":1035},[984,71403,1521],{"class":996},[984,71405,1803],{"class":990},[984,71407,71408],{"class":986,"line":1098},[984,71409,1529],{"class":990},[984,71411,71412,71414,71416],{"class":986,"line":1111},[984,71413,1220],{"class":996},[984,71415,1015],{"class":990},[984,71417,1678],{"class":996},[984,71419,71420],{"class":986,"line":1124},[984,71421,1607],{"class":990},[984,71423,71424],{"class":986,"line":1137},[984,71425,1038],{"class":990},[89,71427,71428,71432],{},[54,71429,71430,1830],{},[150,71431,848],{},[54,71433,71434,14325],{},[150,71435,14141],{},[11,71437,71438],{},[150,71439,1043],{},[866,71441,71442],{"className":978,"code":24495,"language":980,"meta":760,"style":760},[150,71443,71444,71448,71458,71468,71474,71478,71488,71498,71508,71518,71528,71538,71548,71554,71564,71574,71584,71594,71602,71606,71616,71626,71636,71644,71648],{"__ignoreMap":760},[984,71445,71446],{"class":986,"line":987},[984,71447,991],{"class":990},[984,71449,71450,71452,71454,71456],{"class":986,"line":761},[984,71451,1012],{"class":996},[984,71453,1015],{"class":990},[984,71455,1062],{"class":996},[984,71457,1021],{"class":990},[984,71459,71460,71462,71464,71466],{"class":986,"line":772},[984,71461,997],{"class":996},[984,71463,1015],{"class":990},[984,71465,1004],{"class":1003},[984,71467,1021],{"class":990},[984,71469,71470,71472],{"class":986,"line":1024},[984,71471,1724],{"class":996},[984,71473,1665],{"class":990},[984,71475,71476],{"class":986,"line":1035},[984,71477,1529],{"class":990},[984,71479,71480,71482,71484,71486],{"class":986,"line":1098},[984,71481,1220],{"class":996},[984,71483,1015],{"class":990},[984,71485,1345],{"class":996},[984,71487,1021],{"class":990},[984,71489,71490,71492,71494,71496],{"class":986,"line":1111},[984,71491,1888],{"class":996},[984,71493,1015],{"class":990},[984,71495,1362],{"class":996},[984,71497,1021],{"class":990},[984,71499,71500,71502,71504,71506],{"class":986,"line":1124},[984,71501,1899],{"class":996},[984,71503,1015],{"class":990},[984,71505,1374],{"class":1003},[984,71507,1021],{"class":990},[984,71509,71510,71512,71514,71516],{"class":986,"line":1137},[984,71511,1910],{"class":996},[984,71513,1015],{"class":990},[984,71515,1345],{"class":996},[984,71517,1021],{"class":990},[984,71519,71520,71522,71524,71526],{"class":986,"line":1150},[984,71521,1921],{"class":996},[984,71523,1015],{"class":990},[984,71525,1926],{"class":996},[984,71527,1021],{"class":990},[984,71529,71530,71532,71534,71536],{"class":986,"line":1163},[984,71531,1933],{"class":996},[984,71533,1015],{"class":990},[984,71535,24590],{"class":1003},[984,71537,1021],{"class":990},[984,71539,71540,71542,71544,71546],{"class":986,"line":1176},[984,71541,24597],{"class":996},[984,71543,1015],{"class":990},[984,71545,2682],{"class":996},[984,71547,1021],{"class":990},[984,71549,71550,71552],{"class":986,"line":1189},[984,71551,24608],{"class":996},[984,71553,1083],{"class":990},[984,71555,71556,71558,71560,71562],{"class":986,"line":1202},[984,71557,24615],{"class":996},[984,71559,1015],{"class":990},[984,71561,24620],{"class":1003},[984,71563,1021],{"class":990},[984,71565,71566,71568,71570,71572],{"class":986,"line":1211},[984,71567,24627],{"class":996},[984,71569,1015],{"class":990},[984,71571,24632],{"class":1003},[984,71573,1021],{"class":990},[984,71575,71576,71578,71580,71582],{"class":986,"line":1217},[984,71577,24639],{"class":996},[984,71579,1015],{"class":990},[984,71581,24644],{"class":1003},[984,71583,1021],{"class":990},[984,71585,71586,71588,71590,71592],{"class":986,"line":1229},[984,71587,24651],{"class":996},[984,71589,1015],{"class":990},[984,71591,24656],{"class":1003},[984,71593,1021],{"class":990},[984,71595,71596,71598,71600],{"class":986,"line":1241},[984,71597,24663],{"class":996},[984,71599,1015],{"class":990},[984,71601,24668],{"class":1003},[984,71603,71604],{"class":986,"line":1254},[984,71605,15254],{"class":990},[984,71607,71608,71610,71612,71614],{"class":986,"line":1266},[984,71609,24677],{"class":996},[984,71611,1015],{"class":990},[984,71613,2682],{"class":996},[984,71615,1021],{"class":990},[984,71617,71618,71620,71622,71624],{"class":986,"line":1279},[984,71619,24688],{"class":996},[984,71621,1015],{"class":990},[984,71623,2682],{"class":996},[984,71625,1021],{"class":990},[984,71627,71628,71630,71632,71634],{"class":986,"line":1291},[984,71629,1945],{"class":996},[984,71631,1015],{"class":990},[984,71633,1950],{"class":1003},[984,71635,1021],{"class":990},[984,71637,71638,71640,71642],{"class":986,"line":1304},[984,71639,1957],{"class":996},[984,71641,1015],{"class":990},[984,71643,1962],{"class":996},[984,71645,71646],{"class":986,"line":1316},[984,71647,1607],{"class":990},[984,71649,71650],{"class":986,"line":1327},[984,71651,1038],{"class":990},[11,71653,1973,71654,385],{},[18,71655,1977],{"href":13823},[89,71657,71658,71662,71666,71680,71684,71688,71694,71698,71704,71708],{},[54,71659,71660,1984],{},[150,71661,848],{},[54,71663,71664,1990],{},[150,71665,1989],{},[54,71667,71668,1996,71670,2000,71672,2004,71674,2008,71676,2012,71678,2015],{},[150,71669,1995],{},[150,71671,1999],{},[111,71673,2003],{},[150,71675,2007],{},[111,71677,2011],{},[150,71679,2007],{},[54,71681,71682,2021],{},[150,71683,2020],{},[54,71685,71686,2027],{},[150,71687,2026],{},[54,71689,71690,2033,71692,2037],{},[150,71691,2032],{},[18,71693,913],{"href":2036},[54,71695,71696,24767],{},[150,71697,19523],{},[54,71699,71700,24772,71702,24775],{},[150,71701,19538],{},[150,71703,19523],{},[54,71705,71706,24780],{},[150,71707,19526],{},[54,71709,71710,24785,71712],{},[150,71711,19535],{},[18,71713,24790],{"href":24788,"rel":71714},[22],[26,71716,12350],{"id":12350},[11,71718,17608],{},[11,71720,71721],{},[150,71722,975],{},[866,71724,71725],{"className":978,"code":17615,"language":980,"meta":760,"style":760},[150,71726,71727,71731,71741,71751,71759],{"__ignoreMap":760},[984,71728,71729],{"class":986,"line":987},[984,71730,991],{"class":990},[984,71732,71733,71735,71737,71739],{"class":986,"line":761},[984,71734,997],{"class":996},[984,71736,1000],{"class":990},[984,71738,1004],{"class":1003},[984,71740,1007],{"class":990},[984,71742,71743,71745,71747,71749],{"class":986,"line":772},[984,71744,1012],{"class":996},[984,71746,1015],{"class":990},[984,71748,1503],{"class":996},[984,71750,1021],{"class":990},[984,71752,71753,71755,71757],{"class":986,"line":1024},[984,71754,1027],{"class":996},[984,71756,1000],{"class":990},[984,71758,17650],{"class":1003},[984,71760,71761],{"class":986,"line":1035},[984,71762,1038],{"class":990},[11,71764,71765],{},[150,71766,1043],{},[866,71768,71769],{"className":978,"code":17661,"language":980,"meta":760,"style":760},[150,71770,71771,71775,71785,71795,71803],{"__ignoreMap":760},[984,71772,71773],{"class":986,"line":987},[984,71774,991],{"class":990},[984,71776,71777,71779,71781,71783],{"class":986,"line":761},[984,71778,997],{"class":996},[984,71780,1000],{"class":990},[984,71782,1004],{"class":1003},[984,71784,1007],{"class":990},[984,71786,71787,71789,71791,71793],{"class":986,"line":772},[984,71788,1012],{"class":996},[984,71790,1015],{"class":990},[984,71792,1503],{"class":996},[984,71794,1021],{"class":990},[984,71796,71797,71799,71801],{"class":986,"line":1024},[984,71798,1724],{"class":996},[984,71800,1000],{"class":990},[984,71802,1741],{"class":1003},[984,71804,71805],{"class":986,"line":1035},[984,71806,1038],{"class":990},[26,71808,12358],{"id":12358},[11,71810,17704,71811,385],{},[150,71812,2150],{},[11,71814,71815],{},[150,71816,975],{},[866,71818,71819],{"className":978,"code":17713,"language":980,"meta":760,"style":760},[150,71820,71821,71825,71835,71845,71855,71861,71865,71873,71877],{"__ignoreMap":760},[984,71822,71823],{"class":986,"line":987},[984,71824,991],{"class":990},[984,71826,71827,71829,71831,71833],{"class":986,"line":761},[984,71828,997],{"class":996},[984,71830,1000],{"class":990},[984,71832,1004],{"class":1003},[984,71834,1007],{"class":990},[984,71836,71837,71839,71841,71843],{"class":986,"line":772},[984,71838,1012],{"class":996},[984,71840,1015],{"class":990},[984,71842,2431],{"class":996},[984,71844,1021],{"class":990},[984,71846,71847,71849,71851,71853],{"class":986,"line":1024},[984,71848,1027],{"class":996},[984,71850,1015],{"class":990},[984,71852,17748],{"class":1003},[984,71854,1007],{"class":990},[984,71856,71857,71859],{"class":986,"line":1035},[984,71858,1521],{"class":996},[984,71860,1524],{"class":990},[984,71862,71863],{"class":986,"line":1098},[984,71864,1529],{"class":990},[984,71866,71867,71869,71871],{"class":986,"line":1111},[984,71868,1735],{"class":996},[984,71870,1738],{"class":990},[984,71872,14622],{"class":1003},[984,71874,71875],{"class":986,"line":1124},[984,71876,1607],{"class":990},[984,71878,71879],{"class":986,"line":1137},[984,71880,1038],{"class":990},[11,71882,71883],{},[150,71884,1043],{},[866,71886,71887],{"className":978,"code":17783,"language":980,"meta":760,"style":760},[150,71888,71889,71893,71903,71913,71919,71923,71931,71935],{"__ignoreMap":760},[984,71890,71891],{"class":986,"line":987},[984,71892,991],{"class":990},[984,71894,71895,71897,71899,71901],{"class":986,"line":761},[984,71896,997],{"class":996},[984,71898,1000],{"class":990},[984,71900,1004],{"class":1003},[984,71902,1007],{"class":990},[984,71904,71905,71907,71909,71911],{"class":986,"line":772},[984,71906,1012],{"class":996},[984,71908,1015],{"class":990},[984,71910,2431],{"class":996},[984,71912,1021],{"class":990},[984,71914,71915,71917],{"class":986,"line":1024},[984,71916,1724],{"class":996},[984,71918,1665],{"class":990},[984,71920,71921],{"class":986,"line":1035},[984,71922,1529],{"class":990},[984,71924,71925,71927,71929],{"class":986,"line":1098},[984,71926,17824],{"class":996},[984,71928,1015],{"class":990},[984,71930,17829],{"class":1003},[984,71932,71933],{"class":986,"line":1111},[984,71934,1607],{"class":990},[984,71936,71937],{"class":986,"line":1124},[984,71938,1038],{"class":990},[89,71940,71941],{},[54,71942,71943,17845,71945,17848],{},[150,71944,17844],{},[18,71946,12366],{"href":12365},[11,71948,71949,17853],{},[94,71950,16086],{},[26,71952,12366],{"id":12366},[11,71954,17858,71955,385],{},[150,71956,17844],{},[11,71958,71959],{},[150,71960,975],{},[866,71962,71963],{"className":978,"code":17867,"language":980,"meta":760,"style":760},[150,71964,71965,71969,71979,71989,71999,72005,72009,72017,72021],{"__ignoreMap":760},[984,71966,71967],{"class":986,"line":987},[984,71968,991],{"class":990},[984,71970,71971,71973,71975,71977],{"class":986,"line":761},[984,71972,997],{"class":996},[984,71974,1000],{"class":990},[984,71976,1004],{"class":1003},[984,71978,1007],{"class":990},[984,71980,71981,71983,71985,71987],{"class":986,"line":772},[984,71982,1012],{"class":996},[984,71984,1015],{"class":990},[984,71986,2431],{"class":996},[984,71988,1021],{"class":990},[984,71990,71991,71993,71995,71997],{"class":986,"line":1024},[984,71992,1027],{"class":996},[984,71994,1000],{"class":990},[984,71996,17902],{"class":1003},[984,71998,1007],{"class":990},[984,72000,72001,72003],{"class":986,"line":1035},[984,72002,1521],{"class":996},[984,72004,1524],{"class":990},[984,72006,72007],{"class":986,"line":1098},[984,72008,1529],{"class":990},[984,72010,72011,72013,72015],{"class":986,"line":1111},[984,72012,17824],{"class":996},[984,72014,1738],{"class":990},[984,72016,17829],{"class":1003},[984,72018,72019],{"class":986,"line":1124},[984,72020,1607],{"class":990},[984,72022,72023],{"class":986,"line":1137},[984,72024,1038],{"class":990},[11,72026,72027],{},[150,72028,1043],{},[866,72030,72031],{"className":978,"code":17937,"language":980,"meta":760,"style":760},[150,72032,72033,72037,72047,72057,72063,72067,72077,72087,72097,72107,72117,72125,72129],{"__ignoreMap":760},[984,72034,72035],{"class":986,"line":987},[984,72036,991],{"class":990},[984,72038,72039,72041,72043,72045],{"class":986,"line":761},[984,72040,997],{"class":996},[984,72042,1000],{"class":990},[984,72044,1004],{"class":1003},[984,72046,1007],{"class":990},[984,72048,72049,72051,72053,72055],{"class":986,"line":772},[984,72050,1012],{"class":996},[984,72052,1015],{"class":990},[984,72054,2431],{"class":996},[984,72056,1021],{"class":990},[984,72058,72059,72061],{"class":986,"line":1024},[984,72060,1724],{"class":996},[984,72062,1665],{"class":990},[984,72064,72065],{"class":986,"line":1035},[984,72066,1529],{"class":990},[984,72068,72069,72071,72073,72075],{"class":986,"line":1098},[984,72070,5904],{"class":996},[984,72072,1015],{"class":990},[984,72074,2682],{"class":996},[984,72076,1021],{"class":990},[984,72078,72079,72081,72083,72085],{"class":986,"line":1111},[984,72080,1220],{"class":996},[984,72082,1015],{"class":990},[984,72084,1171],{"class":996},[984,72086,1021],{"class":990},[984,72088,72089,72091,72093,72095],{"class":986,"line":1124},[984,72090,15017],{"class":996},[984,72092,18000],{"class":990},[984,72094,18003],{"class":1003},[984,72096,1021],{"class":990},[984,72098,72099,72101,72103,72105],{"class":986,"line":1137},[984,72100,15006],{"class":996},[984,72102,1015],{"class":990},[984,72104,18014],{"class":1003},[984,72106,1021],{"class":990},[984,72108,72109,72111,72113,72115],{"class":986,"line":1150},[984,72110,2459],{"class":996},[984,72112,18000],{"class":990},[984,72114,18025],{"class":996},[984,72116,1021],{"class":990},[984,72118,72119,72121,72123],{"class":986,"line":1163},[984,72120,14994],{"class":996},[984,72122,18000],{"class":990},[984,72124,18036],{"class":1003},[984,72126,72127],{"class":986,"line":1176},[984,72128,1607],{"class":990},[984,72130,72131],{"class":986,"line":1189},[984,72132,1038],{"class":990},[89,72134,72135,72139,72143,72147,72151,72155],{},[54,72136,72137,18052],{},[150,72138,18051],{},[54,72140,72141,18058],{},[150,72142,18057],{},[54,72144,72145,18064],{},[150,72146,18063],{},[54,72148,72149,18069],{},[150,72150,2396],{},[54,72152,72153,18074],{},[150,72154,848],{},[54,72156,72157,18079],{},[150,72158,6551],{},[11,72160,72161,18084],{},[94,72162,16086],{},[26,72164,12395],{"id":12395},[11,72166,18089],{},[11,72168,18092],{},[11,72170,72171],{},[150,72172,975],{},[866,72174,72175],{"className":978,"code":18099,"language":980,"meta":760,"style":760},[150,72176,72177,72181,72191,72201,72211,72217,72221,72239,72247,72251],{"__ignoreMap":760},[984,72178,72179],{"class":986,"line":987},[984,72180,991],{"class":990},[984,72182,72183,72185,72187,72189],{"class":986,"line":761},[984,72184,997],{"class":996},[984,72186,1015],{"class":990},[984,72188,1004],{"class":1003},[984,72190,1007],{"class":990},[984,72192,72193,72195,72197,72199],{"class":986,"line":772},[984,72194,1012],{"class":996},[984,72196,1015],{"class":990},[984,72198,1503],{"class":996},[984,72200,1021],{"class":990},[984,72202,72203,72205,72207,72209],{"class":986,"line":1024},[984,72204,1027],{"class":996},[984,72206,1015],{"class":990},[984,72208,18134],{"class":1003},[984,72210,1007],{"class":990},[984,72212,72213,72215],{"class":986,"line":1035},[984,72214,1521],{"class":996},[984,72216,1524],{"class":990},[984,72218,72219],{"class":986,"line":1098},[984,72220,1529],{"class":990},[984,72222,72223,72225,72227,72229,72231,72233,72235,72237],{"class":986,"line":1111},[984,72224,18151],{"class":996},[984,72226,18154],{"class":990},[984,72228,1158],{"class":996},[984,72230,441],{"class":990},[984,72232,1158],{"class":996},[984,72234,441],{"class":990},[984,72236,1158],{"class":996},[984,72238,13917],{"class":990},[984,72240,72241,72243,72245],{"class":986,"line":1124},[984,72242,18171],{"class":996},[984,72244,1015],{"class":990},[984,72246,18176],{"class":1003},[984,72248,72249],{"class":986,"line":1137},[984,72250,1607],{"class":990},[984,72252,72253],{"class":986,"line":1150},[984,72254,1038],{"class":990},[11,72256,18187],{},[11,72258,72259],{},[150,72260,975],{},[866,72262,72263],{"className":978,"code":18194,"language":980,"meta":760,"style":760},[150,72264,72265,72269,72279,72289,72299,72305,72309,72319,72327,72331],{"__ignoreMap":760},[984,72266,72267],{"class":986,"line":987},[984,72268,991],{"class":990},[984,72270,72271,72273,72275,72277],{"class":986,"line":761},[984,72272,997],{"class":996},[984,72274,1015],{"class":990},[984,72276,1004],{"class":1003},[984,72278,1007],{"class":990},[984,72280,72281,72283,72285,72287],{"class":986,"line":772},[984,72282,1012],{"class":996},[984,72284,1015],{"class":990},[984,72286,1503],{"class":996},[984,72288,1021],{"class":990},[984,72290,72291,72293,72295,72297],{"class":986,"line":1024},[984,72292,1027],{"class":996},[984,72294,1015],{"class":990},[984,72296,18134],{"class":1003},[984,72298,1007],{"class":990},[984,72300,72301,72303],{"class":986,"line":1035},[984,72302,1521],{"class":996},[984,72304,1524],{"class":990},[984,72306,72307],{"class":986,"line":1098},[984,72308,1529],{"class":990},[984,72310,72311,72313,72315,72317],{"class":986,"line":1111},[984,72312,18245],{"class":996},[984,72314,1015],{"class":990},[984,72316,18250],{"class":1003},[984,72318,1021],{"class":990},[984,72320,72321,72323,72325],{"class":986,"line":1124},[984,72322,18171],{"class":996},[984,72324,1015],{"class":990},[984,72326,18176],{"class":1003},[984,72328,72329],{"class":986,"line":1137},[984,72330,1607],{"class":990},[984,72332,72333],{"class":986,"line":1150},[984,72334,1038],{"class":990},[89,72336,72337,72341,72345,72349],{},[54,72338,72339,18276],{},[150,72340,18275],{},[54,72342,72343,18282],{},[150,72344,18281],{},[54,72346,72347,18288],{},[150,72348,18287],{},[54,72350,72351,18294,72353,18297,72355,18301,72357,18304,72359,385],{},[150,72352,18293],{},[150,72354,2682],{},[150,72356,18300],{},[18,72358,12406],{"href":12405},[150,72360,2682],{},[11,72362,72363,18311,72365,385],{},[150,72364,18275],{},[150,72366,18281],{},[11,72368,72369],{},[150,72370,1043],{},[866,72372,72373],{"className":978,"code":18320,"language":980,"meta":760,"style":760},[150,72374,72375,72379,72389,72399,72405,72453,72479,72497,72501],{"__ignoreMap":760},[984,72376,72377],{"class":986,"line":987},[984,72378,991],{"class":990},[984,72380,72381,72383,72385,72387],{"class":986,"line":761},[984,72382,1057],{"class":996},[984,72384,1015],{"class":990},[984,72386,1062],{"class":996},[984,72388,1021],{"class":990},[984,72390,72391,72393,72395,72397],{"class":986,"line":772},[984,72392,1069],{"class":996},[984,72394,1015],{"class":990},[984,72396,1004],{"class":1003},[984,72398,1021],{"class":990},[984,72400,72401,72403],{"class":986,"line":1024},[984,72402,1080],{"class":996},[984,72404,1083],{"class":990},[984,72406,72407,72409,72411,72413,72415,72417,72419,72421,72423,72425,72427,72429,72431,72433,72435,72437,72439,72441,72443,72445,72447,72449,72451],{"class":986,"line":1035},[984,72408,18357],{"class":996},[984,72410,1015],{"class":990},[984,72412,18362],{"class":1003},[984,72414,18365],{"class":996},[984,72416,18368],{"class":1003},[984,72418,18365],{"class":996},[984,72420,18373],{"class":1003},[984,72422,18365],{"class":996},[984,72424,18378],{"class":1003},[984,72426,18365],{"class":996},[984,72428,1015],{"class":1003},[984,72430,18365],{"class":996},[984,72432,18387],{"class":1003},[984,72434,18365],{"class":996},[984,72436,11185],{"class":1003},[984,72438,18365],{"class":996},[984,72440,18396],{"class":1003},[984,72442,18365],{"class":996},[984,72444,18401],{"class":1003},[984,72446,18365],{"class":996},[984,72448,18378],{"class":1003},[984,72450,18365],{"class":996},[984,72452,1665],{"class":1003},[984,72454,72455,72457,72459,72461,72463,72465,72467,72469,72471,72473,72475,72477],{"class":986,"line":1098},[984,72456,18414],{"class":996},[984,72458,18417],{"class":1003},[984,72460,18365],{"class":996},[984,72462,11185],{"class":1003},[984,72464,18365],{"class":996},[984,72466,18396],{"class":1003},[984,72468,18365],{"class":996},[984,72470,18430],{"class":1003},[984,72472,18365],{"class":996},[984,72474,18378],{"class":1003},[984,72476,18365],{"class":996},[984,72478,1665],{"class":1003},[984,72480,72481,72483,72485,72487,72489,72491,72493,72495],{"class":986,"line":1111},[984,72482,18414],{"class":996},[984,72484,18445],{"class":1003},[984,72486,18365],{"class":996},[984,72488,11185],{"class":1003},[984,72490,18365],{"class":996},[984,72492,18396],{"class":1003},[984,72494,18365],{"class":996},[984,72496,18458],{"class":1003},[984,72498,72499],{"class":986,"line":1124},[984,72500,1459],{"class":990},[984,72502,72503],{"class":986,"line":1137},[984,72504,1038],{"class":990},[89,72506,72507,72511,72515],{},[54,72508,72509,18473],{},[150,72510,10235],{},[54,72512,72513,18478],{},[150,72514,18300],{},[54,72516,72517,18484,72519],{},[150,72518,18483],{},[18,72520,12406],{"href":12405},[716,72522,18497],{"id":18496},[11,72524,18500],{},[716,72526,18504],{"id":18503},[11,72528,25609,72529,4665,72531,25614],{},[150,72530,18275],{},[150,72532,18281],{},[11,72534,72535],{},[150,72536,975],{},[866,72538,72539],{"className":978,"code":18522,"language":980,"meta":760,"style":760},[150,72540,72541,72545,72555,72565,72575,72581,72591,72599,72603],{"__ignoreMap":760},[984,72542,72543],{"class":986,"line":987},[984,72544,991],{"class":990},[984,72546,72547,72549,72551,72553],{"class":986,"line":761},[984,72548,997],{"class":996},[984,72550,1015],{"class":990},[984,72552,1004],{"class":1003},[984,72554,1021],{"class":990},[984,72556,72557,72559,72561,72563],{"class":986,"line":772},[984,72558,1012],{"class":996},[984,72560,1015],{"class":990},[984,72562,1062],{"class":996},[984,72564,1021],{"class":990},[984,72566,72567,72569,72571,72573],{"class":986,"line":1024},[984,72568,1027],{"class":996},[984,72570,1015],{"class":990},[984,72572,18134],{"class":1003},[984,72574,1021],{"class":990},[984,72576,72577,72579],{"class":986,"line":1035},[984,72578,1521],{"class":996},[984,72580,1083],{"class":990},[984,72582,72583,72585,72587,72589],{"class":986,"line":1098},[984,72584,18245],{"class":996},[984,72586,1015],{"class":990},[984,72588,18573],{"class":1003},[984,72590,1021],{"class":990},[984,72592,72593,72595,72597],{"class":986,"line":1111},[984,72594,18171],{"class":996},[984,72596,1015],{"class":990},[984,72598,18584],{"class":1003},[984,72600,72601],{"class":986,"line":1124},[984,72602,1607],{"class":990},[984,72604,72605],{"class":986,"line":1137},[984,72606,1038],{"class":990},[11,72608,72609],{},[150,72610,1043],{},[866,72612,72613],{"className":978,"code":18599,"language":980,"meta":760,"style":760},[150,72614,72615,72619,72629,72639,72645,72669,72673],{"__ignoreMap":760},[984,72616,72617],{"class":986,"line":987},[984,72618,991],{"class":990},[984,72620,72621,72623,72625,72627],{"class":986,"line":761},[984,72622,1057],{"class":996},[984,72624,1015],{"class":990},[984,72626,1062],{"class":996},[984,72628,1021],{"class":990},[984,72630,72631,72633,72635,72637],{"class":986,"line":772},[984,72632,1069],{"class":996},[984,72634,1015],{"class":990},[984,72636,1004],{"class":1003},[984,72638,1021],{"class":990},[984,72640,72641,72643],{"class":986,"line":1024},[984,72642,1080],{"class":996},[984,72644,1083],{"class":990},[984,72646,72647,72649,72651,72653,72655,72657,72659,72661,72663,72665,72667],{"class":986,"line":1035},[984,72648,18357],{"class":996},[984,72650,1015],{"class":990},[984,72652,18362],{"class":1003},[984,72654,18365],{"class":996},[984,72656,9770],{"class":1003},[984,72658,18365],{"class":996},[984,72660,1015],{"class":1003},[984,72662,18365],{"class":996},[984,72664,18652],{"class":1003},[984,72666,18365],{"class":996},[984,72668,18657],{"class":1003},[984,72670,72671],{"class":986,"line":1098},[984,72672,1459],{"class":990},[984,72674,72675],{"class":986,"line":1111},[984,72676,1038],{"class":990},[716,72678,25762],{"id":25761},[11,72680,25765,72681,25768,72683,25772],{},[150,72682,12395],{},[150,72684,25771],{},[89,72686,72687,72691],{},[54,72688,72689,25779],{},[150,72690,19547],{},[54,72692,72693,25784,72695,25787,72697,25790],{},[150,72694,19550],{},[150,72696,12395],{},[150,72698,19550],{},[26,72700,12406],{"id":12406},[11,72702,18670],{},[11,72704,72705],{},[150,72706,975],{},[866,72708,72709],{"className":978,"code":18677,"language":980,"meta":760,"style":760},[150,72710,72711,72715,72725,72735,72745,72751,72769,72773],{"__ignoreMap":760},[984,72712,72713],{"class":986,"line":987},[984,72714,991],{"class":990},[984,72716,72717,72719,72721,72723],{"class":986,"line":761},[984,72718,997],{"class":996},[984,72720,1015],{"class":990},[984,72722,1004],{"class":1003},[984,72724,1021],{"class":990},[984,72726,72727,72729,72731,72733],{"class":986,"line":772},[984,72728,1012],{"class":996},[984,72730,1015],{"class":990},[984,72732,1062],{"class":996},[984,72734,1021],{"class":990},[984,72736,72737,72739,72741,72743],{"class":986,"line":1024},[984,72738,1027],{"class":996},[984,72740,1015],{"class":990},[984,72742,18712],{"class":1003},[984,72744,1021],{"class":990},[984,72746,72747,72749],{"class":986,"line":1035},[984,72748,1521],{"class":996},[984,72750,1083],{"class":990},[984,72752,72753,72755,72757,72759,72761,72763,72765,72767],{"class":986,"line":1098},[984,72754,18725],{"class":996},[984,72756,18154],{"class":990},[984,72758,1158],{"class":996},[984,72760,441],{"class":990},[984,72762,1158],{"class":996},[984,72764,441],{"class":990},[984,72766,1158],{"class":996},[984,72768,7675],{"class":990},[984,72770,72771],{"class":986,"line":1111},[984,72772,1607],{"class":990},[984,72774,72775],{"class":986,"line":1124},[984,72776,1038],{"class":990},[89,72778,72779],{},[54,72780,72781,18754,72783,18757],{},[150,72782,9736],{},[18,72784,12395],{"href":12394},[11,72786,72787],{},[150,72788,1043],{},[866,72790,72791],{"className":978,"code":18764,"language":980,"meta":760,"style":760},[150,72792,72793,72797,72807,72817,72823,72831,72835],{"__ignoreMap":760},[984,72794,72795],{"class":986,"line":987},[984,72796,991],{"class":990},[984,72798,72799,72801,72803,72805],{"class":986,"line":761},[984,72800,1057],{"class":996},[984,72802,1015],{"class":990},[984,72804,1062],{"class":996},[984,72806,1021],{"class":990},[984,72808,72809,72811,72813,72815],{"class":986,"line":772},[984,72810,1069],{"class":996},[984,72812,1015],{"class":990},[984,72814,1004],{"class":1003},[984,72816,1021],{"class":990},[984,72818,72819,72821],{"class":986,"line":1024},[984,72820,1080],{"class":996},[984,72822,1083],{"class":990},[984,72824,72825,72827,72829],{"class":986,"line":1035},[984,72826,18801],{"class":996},[984,72828,1015],{"class":990},[984,72830,18806],{"class":1003},[984,72832,72833],{"class":986,"line":1098},[984,72834,1459],{"class":990},[984,72836,72837],{"class":986,"line":1111},[984,72838,1038],{"class":990},[89,72840,72841],{},[54,72842,72843,18821],{},[150,72844,18300],{},[26,72846,923],{"id":923},[11,72848,18826,72849],{},[150,72850,2396],{},[11,72852,72853],{},[150,72854,975],{},[866,72856,72857],{"className":978,"code":2406,"language":980,"meta":760,"style":760},[150,72858,72859,72863,72873,72883,72893,72899,72903,72913,72923,72933,72941,72945],{"__ignoreMap":760},[984,72860,72861],{"class":986,"line":987},[984,72862,991],{"class":990},[984,72864,72865,72867,72869,72871],{"class":986,"line":761},[984,72866,997],{"class":996},[984,72868,1000],{"class":990},[984,72870,1004],{"class":1003},[984,72872,1007],{"class":990},[984,72874,72875,72877,72879,72881],{"class":986,"line":772},[984,72876,1012],{"class":996},[984,72878,1015],{"class":990},[984,72880,2431],{"class":996},[984,72882,1021],{"class":990},[984,72884,72885,72887,72889,72891],{"class":986,"line":1024},[984,72886,1027],{"class":996},[984,72888,1000],{"class":990},[984,72890,2442],{"class":1003},[984,72892,1007],{"class":990},[984,72894,72895,72897],{"class":986,"line":1035},[984,72896,1521],{"class":996},[984,72898,1524],{"class":990},[984,72900,72901],{"class":986,"line":1098},[984,72902,1529],{"class":990},[984,72904,72905,72907,72909,72911],{"class":986,"line":1111},[984,72906,2459],{"class":996},[984,72908,1738],{"class":990},[984,72910,2464],{"class":996},[984,72912,1021],{"class":990},[984,72914,72915,72917,72919,72921],{"class":986,"line":1124},[984,72916,1220],{"class":996},[984,72918,1015],{"class":990},[984,72920,1503],{"class":996},[984,72922,1021],{"class":990},[984,72924,72925,72927,72929,72931],{"class":986,"line":1137},[984,72926,1546],{"class":996},[984,72928,1015],{"class":990},[984,72930,2485],{"class":996},[984,72932,1021],{"class":990},[984,72934,72935,72937,72939],{"class":986,"line":1150},[984,72936,2492],{"class":996},[984,72938,1015],{"class":990},[984,72940,2497],{"class":996},[984,72942,72943],{"class":986,"line":1163},[984,72944,1607],{"class":990},[984,72946,72947],{"class":986,"line":1176},[984,72948,1038],{"class":990},[11,72950,72951],{},[150,72952,1043],{},[866,72954,72955],{"className":978,"code":2512,"language":980,"meta":760,"style":760},[150,72956,72957,72961,72971,72981,72987,72991,73001,73011,73021,73031,73041,73049,73053],{"__ignoreMap":760},[984,72958,72959],{"class":986,"line":987},[984,72960,991],{"class":990},[984,72962,72963,72965,72967,72969],{"class":986,"line":761},[984,72964,997],{"class":996},[984,72966,1000],{"class":990},[984,72968,1004],{"class":1003},[984,72970,1007],{"class":990},[984,72972,72973,72975,72977,72979],{"class":986,"line":772},[984,72974,1012],{"class":996},[984,72976,1015],{"class":990},[984,72978,2431],{"class":996},[984,72980,1021],{"class":990},[984,72982,72983,72985],{"class":986,"line":1024},[984,72984,1724],{"class":996},[984,72986,1524],{"class":990},[984,72988,72989],{"class":986,"line":1035},[984,72990,1529],{"class":990},[984,72992,72993,72995,72997,72999],{"class":986,"line":1098},[984,72994,2553],{"class":996},[984,72996,1015],{"class":990},[984,72998,2558],{"class":996},[984,73000,1021],{"class":990},[984,73002,73003,73005,73007,73009],{"class":986,"line":1111},[984,73004,2565],{"class":996},[984,73006,1015],{"class":990},[984,73008,2570],{"class":1003},[984,73010,1021],{"class":990},[984,73012,73013,73015,73017,73019],{"class":986,"line":1124},[984,73014,2577],{"class":996},[984,73016,1015],{"class":990},[984,73018,2558],{"class":996},[984,73020,1021],{"class":990},[984,73022,73023,73025,73027,73029],{"class":986,"line":1137},[984,73024,2588],{"class":996},[984,73026,1015],{"class":990},[984,73028,2570],{"class":1003},[984,73030,1021],{"class":990},[984,73032,73033,73035,73037,73039],{"class":986,"line":1150},[984,73034,2599],{"class":996},[984,73036,1015],{"class":990},[984,73038,2604],{"class":996},[984,73040,1021],{"class":990},[984,73042,73043,73045,73047],{"class":986,"line":1163},[984,73044,2611],{"class":996},[984,73046,1015],{"class":990},[984,73048,2616],{"class":1003},[984,73050,73051],{"class":986,"line":1176},[984,73052,1607],{"class":990},[984,73054,73055],{"class":986,"line":1189},[984,73056,1038],{"class":990},[11,73058,2627],{},[89,73060,73061,73065,73069,73073,73079,73089,73093],{},[54,73062,73063,2634],{},[150,73064,2396],{},[54,73066,73067,19047],{},[150,73068,848],{},[54,73070,73071,2644],{},[150,73072,2139],{},[54,73074,73075,2650,73077],{},[150,73076,2649],{},[150,73078,848],{},[54,73080,73081,2658,73083,163,73085,2663,73087,2667],{},[150,73082,2657],{},[150,73084,2649],{},[150,73086,2657],{},[150,73088,2666],{},[54,73090,73091,2673],{},[150,73092,2672],{},[54,73094,73095,2679,73097,2683],{},[150,73096,2678],{},[150,73098,2682],{},[26,73100,12416],{"id":12416},[11,73102,19082],{},[11,73104,73105],{},[150,73106,975],{},[866,73108,73109],{"className":978,"code":19089,"language":980,"meta":760,"style":760},[150,73110,73111,73115,73125,73135,73145,73151,73155,73163,73167],{"__ignoreMap":760},[984,73112,73113],{"class":986,"line":987},[984,73114,991],{"class":990},[984,73116,73117,73119,73121,73123],{"class":986,"line":761},[984,73118,997],{"class":996},[984,73120,1015],{"class":990},[984,73122,1004],{"class":1003},[984,73124,1007],{"class":990},[984,73126,73127,73129,73131,73133],{"class":986,"line":772},[984,73128,1012],{"class":996},[984,73130,1015],{"class":990},[984,73132,1503],{"class":996},[984,73134,1021],{"class":990},[984,73136,73137,73139,73141,73143],{"class":986,"line":1024},[984,73138,1027],{"class":996},[984,73140,1015],{"class":990},[984,73142,19124],{"class":1003},[984,73144,1007],{"class":990},[984,73146,73147,73149],{"class":986,"line":1035},[984,73148,1521],{"class":996},[984,73150,1524],{"class":990},[984,73152,73153],{"class":986,"line":1098},[984,73154,1529],{"class":990},[984,73156,73157,73159,73161],{"class":986,"line":1111},[984,73158,15752],{"class":996},[984,73160,1015],{"class":990},[984,73162,19145],{"class":996},[984,73164,73165],{"class":986,"line":1124},[984,73166,1607],{"class":990},[984,73168,73169],{"class":986,"line":1137},[984,73170,1038],{"class":990},[89,73172,73173],{},[54,73174,73175,19160],{},[150,73176,6545],{},[11,73178,73179],{},[150,73180,1043],{},[866,73182,73183],{"className":978,"code":19167,"language":980,"meta":760,"style":760},[150,73184,73185,73189,73199,73209,73215,73219,73229,73239,73249,73259,73269,73279,73289,73299,73309,73319,73327,73331],{"__ignoreMap":760},[984,73186,73187],{"class":986,"line":987},[984,73188,991],{"class":990},[984,73190,73191,73193,73195,73197],{"class":986,"line":761},[984,73192,997],{"class":996},[984,73194,1000],{"class":990},[984,73196,1004],{"class":1003},[984,73198,1007],{"class":990},[984,73200,73201,73203,73205,73207],{"class":986,"line":772},[984,73202,1012],{"class":996},[984,73204,1015],{"class":990},[984,73206,2431],{"class":996},[984,73208,1021],{"class":990},[984,73210,73211,73213],{"class":986,"line":1024},[984,73212,1724],{"class":996},[984,73214,1524],{"class":990},[984,73216,73217],{"class":986,"line":1035},[984,73218,1529],{"class":990},[984,73220,73221,73223,73225,73227],{"class":986,"line":1098},[984,73222,19208],{"class":996},[984,73224,1015],{"class":990},[984,73226,19213],{"class":1003},[984,73228,1021],{"class":990},[984,73230,73231,73233,73235,73237],{"class":986,"line":1111},[984,73232,19220],{"class":996},[984,73234,1015],{"class":990},[984,73236,19225],{"class":1003},[984,73238,1021],{"class":990},[984,73240,73241,73243,73245,73247],{"class":986,"line":1124},[984,73242,19232],{"class":996},[984,73244,1015],{"class":990},[984,73246,19237],{"class":1003},[984,73248,1021],{"class":990},[984,73250,73251,73253,73255,73257],{"class":986,"line":1137},[984,73252,16271],{"class":996},[984,73254,1015],{"class":990},[984,73256,19248],{"class":996},[984,73258,1021],{"class":990},[984,73260,73261,73263,73265,73267],{"class":986,"line":1150},[984,73262,15752],{"class":996},[984,73264,1015],{"class":990},[984,73266,4996],{"class":996},[984,73268,1021],{"class":990},[984,73270,73271,73273,73275,73277],{"class":986,"line":1163},[984,73272,19265],{"class":996},[984,73274,1015],{"class":990},[984,73276,19270],{"class":1003},[984,73278,1021],{"class":990},[984,73280,73281,73283,73285,73287],{"class":986,"line":1176},[984,73282,19277],{"class":996},[984,73284,1015],{"class":990},[984,73286,19282],{"class":996},[984,73288,1021],{"class":990},[984,73290,73291,73293,73295,73297],{"class":986,"line":1189},[984,73292,19289],{"class":996},[984,73294,1015],{"class":990},[984,73296,19294],{"class":1003},[984,73298,1021],{"class":990},[984,73300,73301,73303,73305,73307],{"class":986,"line":1202},[984,73302,19301],{"class":996},[984,73304,1015],{"class":990},[984,73306,19306],{"class":1003},[984,73308,1021],{"class":990},[984,73310,73311,73313,73315,73317],{"class":986,"line":1211},[984,73312,19313],{"class":996},[984,73314,1015],{"class":990},[984,73316,19318],{"class":1003},[984,73318,1021],{"class":990},[984,73320,73321,73323,73325],{"class":986,"line":1217},[984,73322,19325],{"class":996},[984,73324,1015],{"class":990},[984,73326,19330],{"class":996},[984,73328,73329],{"class":986,"line":1229},[984,73330,1607],{"class":990},[984,73332,73333],{"class":986,"line":1241},[984,73334,1038],{"class":990},[89,73336,73337,73341,73345,73349,73353,73357,73361,73365,73369,73373,73377],{},[54,73338,73339,19346],{},[150,73340,19345],{},[54,73342,73343,19352],{},[150,73344,19351],{},[54,73346,73347,19357],{},[150,73348,8363],{},[54,73350,73351,19362],{},[150,73352,10335],{},[54,73354,73355,19367],{},[150,73356,6545],{},[54,73358,73359,19372],{},[150,73360,133],{},[54,73362,73363,19378],{},[150,73364,19377],{},[54,73366,73367,19384],{},[150,73368,19383],{},[54,73370,73371,19390],{},[150,73372,19389],{},[54,73374,73375,19396],{},[150,73376,19395],{},[54,73378,73379,19402],{},[150,73380,19401],{},[26,73382,19484],{"id":19484},[11,73384,26481],{},[11,73386,73387],{},[150,73388,975],{},[866,73390,73391],{"className":978,"code":26488,"language":980,"meta":760,"style":760},[150,73392,73393,73397,73407,73417,73425],{"__ignoreMap":760},[984,73394,73395],{"class":986,"line":987},[984,73396,991],{"class":990},[984,73398,73399,73401,73403,73405],{"class":986,"line":761},[984,73400,997],{"class":996},[984,73402,1015],{"class":990},[984,73404,1004],{"class":1003},[984,73406,1007],{"class":990},[984,73408,73409,73411,73413,73415],{"class":986,"line":772},[984,73410,1012],{"class":996},[984,73412,1015],{"class":990},[984,73414,1345],{"class":996},[984,73416,1021],{"class":990},[984,73418,73419,73421,73423],{"class":986,"line":1024},[984,73420,1027],{"class":996},[984,73422,1015],{"class":990},[984,73424,26523],{"class":1003},[984,73426,73427],{"class":986,"line":1035},[984,73428,1038],{"class":990},[11,73430,73431],{},[150,73432,1043],{},[866,73434,73435],{"className":978,"code":26534,"language":980,"meta":760,"style":760},[150,73436,73437,73441,73451,73461,73467,73477,73487,73497,73507,73517,73527,73537,73547,73555,73559],{"__ignoreMap":760},[984,73438,73439],{"class":986,"line":987},[984,73440,991],{"class":990},[984,73442,73443,73445,73447,73449],{"class":986,"line":761},[984,73444,1057],{"class":996},[984,73446,1015],{"class":990},[984,73448,1345],{"class":996},[984,73450,1021],{"class":990},[984,73452,73453,73455,73457,73459],{"class":986,"line":772},[984,73454,1069],{"class":996},[984,73456,1015],{"class":990},[984,73458,1004],{"class":1003},[984,73460,1021],{"class":990},[984,73462,73463,73465],{"class":986,"line":1024},[984,73464,1080],{"class":996},[984,73466,1083],{"class":990},[984,73468,73469,73471,73473,73475],{"class":986,"line":1035},[984,73470,26571],{"class":996},[984,73472,1015],{"class":990},[984,73474,26576],{"class":1003},[984,73476,1021],{"class":990},[984,73478,73479,73481,73483,73485],{"class":986,"line":1098},[984,73480,26583],{"class":996},[984,73482,1015],{"class":990},[984,73484,1018],{"class":996},[984,73486,1021],{"class":990},[984,73488,73489,73491,73493,73495],{"class":986,"line":1111},[984,73490,26594],{"class":996},[984,73492,1015],{"class":990},[984,73494,1345],{"class":996},[984,73496,1021],{"class":990},[984,73498,73499,73501,73503,73505],{"class":986,"line":1124},[984,73500,26605],{"class":996},[984,73502,1015],{"class":990},[984,73504,26610],{"class":1003},[984,73506,1021],{"class":990},[984,73508,73509,73511,73513,73515],{"class":986,"line":1137},[984,73510,26617],{"class":996},[984,73512,1015],{"class":990},[984,73514,26622],{"class":1003},[984,73516,1021],{"class":990},[984,73518,73519,73521,73523,73525],{"class":986,"line":1150},[984,73520,26629],{"class":996},[984,73522,1015],{"class":990},[984,73524,26634],{"class":1003},[984,73526,1021],{"class":990},[984,73528,73529,73531,73533,73535],{"class":986,"line":1163},[984,73530,26641],{"class":996},[984,73532,1015],{"class":990},[984,73534,1018],{"class":996},[984,73536,1021],{"class":990},[984,73538,73539,73541,73543,73545],{"class":986,"line":1176},[984,73540,26652],{"class":996},[984,73542,1015],{"class":990},[984,73544,1345],{"class":996},[984,73546,1021],{"class":990},[984,73548,73549,73551,73553],{"class":986,"line":1189},[984,73550,26663],{"class":996},[984,73552,1015],{"class":990},[984,73554,26668],{"class":996},[984,73556,73557],{"class":986,"line":1202},[984,73558,1459],{"class":990},[984,73560,73561],{"class":986,"line":1211},[984,73562,1038],{"class":990},[89,73564,73565,73569],{},[54,73566,73567,26684],{},[150,73568,26683],{},[54,73570,73571,26690,73573,2758],{},[150,73572,26689],{},[18,73574,26693],{"href":26693,"rel":73575},[22],[26,73577,29419],{"id":29419},[11,73579,37464],{},[11,73581,73582],{},[150,73583,975],{},[866,73585,73586],{"className":978,"code":37471,"language":980,"meta":760,"style":760},[150,73587,73588,73592,73602,73612,73622,73628,73632,73650,73660,73668,73672],{"__ignoreMap":760},[984,73589,73590],{"class":986,"line":987},[984,73591,991],{"class":990},[984,73593,73594,73596,73598,73600],{"class":986,"line":761},[984,73595,997],{"class":996},[984,73597,1000],{"class":990},[984,73599,1004],{"class":1003},[984,73601,1007],{"class":990},[984,73603,73604,73606,73608,73610],{"class":986,"line":772},[984,73605,1012],{"class":996},[984,73607,1015],{"class":990},[984,73609,1345],{"class":996},[984,73611,1021],{"class":990},[984,73613,73614,73616,73618,73620],{"class":986,"line":1024},[984,73615,1027],{"class":996},[984,73617,1015],{"class":990},[984,73619,37506],{"class":1003},[984,73621,1007],{"class":990},[984,73623,73624,73626],{"class":986,"line":1035},[984,73625,1521],{"class":996},[984,73627,1524],{"class":990},[984,73629,73630],{"class":986,"line":1098},[984,73631,1529],{"class":990},[984,73633,73634,73636,73638,73640,73642,73644,73646,73648],{"class":986,"line":1111},[984,73635,18725],{"class":996},[984,73637,13897],{"class":990},[984,73639,1345],{"class":996},[984,73641,441],{"class":990},[984,73643,1503],{"class":996},[984,73645,441],{"class":990},[984,73647,5131],{"class":996},[984,73649,13917],{"class":990},[984,73651,73652,73654,73656,73658],{"class":986,"line":1124},[984,73653,37541],{"class":996},[984,73655,37544],{"class":990},[984,73657,2682],{"class":996},[984,73659,1021],{"class":990},[984,73661,73662,73664,73666],{"class":986,"line":1137},[984,73663,37553],{"class":996},[984,73665,1015],{"class":990},[984,73667,37558],{"class":996},[984,73669,73670],{"class":986,"line":1150},[984,73671,1607],{"class":990},[984,73673,73674],{"class":986,"line":1163},[984,73675,1038],{"class":990},[89,73677,73678,73682,73690],{},[54,73679,73680,37573],{},[150,73681,9736],{},[54,73683,73684,37579,73686,37582,73688,385],{},[150,73685,37578],{},[150,73687,2682],{},[150,73689,2682],{},[54,73691,73692,37590],{},[150,73693,37589],{},[11,73695,73696],{},[150,73697,1043],{},[866,73699,73700],{"className":978,"code":37597,"language":980,"meta":760,"style":760},[150,73701,73702,73706,73716,73726,73732,73736,73746,73754,73758],{"__ignoreMap":760},[984,73703,73704],{"class":986,"line":987},[984,73705,991],{"class":990},[984,73707,73708,73710,73712,73714],{"class":986,"line":761},[984,73709,997],{"class":996},[984,73711,1000],{"class":990},[984,73713,1004],{"class":1003},[984,73715,1007],{"class":990},[984,73717,73718,73720,73722,73724],{"class":986,"line":772},[984,73719,1012],{"class":996},[984,73721,1015],{"class":990},[984,73723,1345],{"class":996},[984,73725,1021],{"class":990},[984,73727,73728,73730],{"class":986,"line":1024},[984,73729,1724],{"class":996},[984,73731,5895],{"class":990},[984,73733,73734],{"class":986,"line":1035},[984,73735,1529],{"class":990},[984,73737,73738,73740,73742,73744],{"class":986,"line":1098},[984,73739,37638],{"class":996},[984,73741,1738],{"class":990},[984,73743,37643],{"class":1003},[984,73745,1021],{"class":990},[984,73747,73748,73750,73752],{"class":986,"line":1111},[984,73749,37650],{"class":996},[984,73751,1015],{"class":990},[984,73753,2497],{"class":996},[984,73755,73756],{"class":986,"line":1124},[984,73757,1607],{"class":990},[984,73759,73760],{"class":986,"line":1137},[984,73761,1038],{"class":990},[89,73763,73764,73768],{},[54,73765,73766,37669],{},[150,73767,6548],{},[54,73769,73770,37675],{},[150,73771,37674],{},[26,73773,29429],{"id":29429},[11,73775,37680],{},[11,73777,73778],{},[150,73779,975],{},[866,73781,73782],{"className":978,"code":37687,"language":980,"meta":760,"style":760},[150,73783,73784,73788,73798,73808,73818,73824,73828,73846,73854,73858],{"__ignoreMap":760},[984,73785,73786],{"class":986,"line":987},[984,73787,991],{"class":990},[984,73789,73790,73792,73794,73796],{"class":986,"line":761},[984,73791,997],{"class":996},[984,73793,1000],{"class":990},[984,73795,1004],{"class":1003},[984,73797,1007],{"class":990},[984,73799,73800,73802,73804,73806],{"class":986,"line":772},[984,73801,1012],{"class":996},[984,73803,1015],{"class":990},[984,73805,1345],{"class":996},[984,73807,1021],{"class":990},[984,73809,73810,73812,73814,73816],{"class":986,"line":1024},[984,73811,1027],{"class":996},[984,73813,1015],{"class":990},[984,73815,37722],{"class":1003},[984,73817,1007],{"class":990},[984,73819,73820,73822],{"class":986,"line":1035},[984,73821,1521],{"class":996},[984,73823,1524],{"class":990},[984,73825,73826],{"class":986,"line":1098},[984,73827,1529],{"class":990},[984,73829,73830,73832,73834,73836,73838,73840,73842,73844],{"class":986,"line":1111},[984,73831,18725],{"class":996},[984,73833,13897],{"class":990},[984,73835,1345],{"class":996},[984,73837,441],{"class":990},[984,73839,1503],{"class":996},[984,73841,441],{"class":990},[984,73843,5131],{"class":996},[984,73845,13917],{"class":990},[984,73847,73848,73850,73852],{"class":986,"line":1124},[984,73849,37553],{"class":996},[984,73851,1015],{"class":990},[984,73853,37558],{"class":996},[984,73855,73856],{"class":986,"line":1137},[984,73857,1607],{"class":990},[984,73859,73860],{"class":986,"line":1150},[984,73861,1038],{"class":990},[89,73863,73864,73868],{},[54,73865,73866,37775],{},[150,73867,9736],{},[54,73869,73870,37590],{},[150,73871,37589],{},[11,73873,73874],{},[150,73875,1043],{},[866,73877,73878],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,73879,73880,73884,73894,73904,73910,73914,73922,73926],{"__ignoreMap":760},[984,73881,73882],{"class":986,"line":987},[984,73883,991],{"class":990},[984,73885,73886,73888,73890,73892],{"class":986,"line":761},[984,73887,997],{"class":996},[984,73889,1000],{"class":990},[984,73891,1004],{"class":1003},[984,73893,1007],{"class":990},[984,73895,73896,73898,73900,73902],{"class":986,"line":772},[984,73897,1012],{"class":996},[984,73899,1015],{"class":990},[984,73901,1345],{"class":996},[984,73903,1021],{"class":990},[984,73905,73906,73908],{"class":986,"line":1024},[984,73907,1724],{"class":996},[984,73909,5895],{"class":990},[984,73911,73912],{"class":986,"line":1035},[984,73913,1529],{"class":990},[984,73915,73916,73918,73920],{"class":986,"line":1098},[984,73917,37638],{"class":996},[984,73919,1738],{"class":990},[984,73921,37831],{"class":1003},[984,73923,73924],{"class":986,"line":1111},[984,73925,1607],{"class":990},[984,73927,73928],{"class":986,"line":1124},[984,73929,1038],{"class":990},[89,73931,73932],{},[54,73933,73934,37846],{},[150,73935,6548],{},[26,73937,29439],{"id":29439},[11,73939,37851],{},[11,73941,73942],{},[150,73943,975],{},[866,73945,73946],{"className":978,"code":37858,"language":980,"meta":760,"style":760},[150,73947,73948,73952,73962,73972,73982,73988,73992,74002,74010,74014],{"__ignoreMap":760},[984,73949,73950],{"class":986,"line":987},[984,73951,991],{"class":990},[984,73953,73954,73956,73958,73960],{"class":986,"line":761},[984,73955,997],{"class":996},[984,73957,1000],{"class":990},[984,73959,1004],{"class":1003},[984,73961,1007],{"class":990},[984,73963,73964,73966,73968,73970],{"class":986,"line":772},[984,73965,1012],{"class":996},[984,73967,1015],{"class":990},[984,73969,1345],{"class":996},[984,73971,1021],{"class":990},[984,73973,73974,73976,73978,73980],{"class":986,"line":1024},[984,73975,1027],{"class":996},[984,73977,1015],{"class":990},[984,73979,37893],{"class":1003},[984,73981,1007],{"class":990},[984,73983,73984,73986],{"class":986,"line":1035},[984,73985,1521],{"class":996},[984,73987,1524],{"class":990},[984,73989,73990],{"class":986,"line":1098},[984,73991,1529],{"class":990},[984,73993,73994,73996,73998,74000],{"class":986,"line":1111},[984,73995,37638],{"class":996},[984,73997,1738],{"class":990},[984,73999,37643],{"class":1003},[984,74001,1021],{"class":990},[984,74003,74004,74006,74008],{"class":986,"line":1124},[984,74005,37553],{"class":996},[984,74007,1015],{"class":990},[984,74009,37558],{"class":996},[984,74011,74012],{"class":986,"line":1137},[984,74013,1607],{"class":990},[984,74015,74016],{"class":986,"line":1150},[984,74017,1038],{"class":990},[89,74019,74020,74024],{},[54,74021,74022,37938],{},[150,74023,6548],{},[54,74025,74026,37590],{},[150,74027,37589],{},[11,74029,74030],{},[150,74031,1043],{},[866,74033,74034],{"className":978,"code":37949,"language":980,"meta":760,"style":760},[150,74035,74036,74040,74050,74060,74066,74070,74080,74098,74102],{"__ignoreMap":760},[984,74037,74038],{"class":986,"line":987},[984,74039,991],{"class":990},[984,74041,74042,74044,74046,74048],{"class":986,"line":761},[984,74043,997],{"class":996},[984,74045,1000],{"class":990},[984,74047,1004],{"class":1003},[984,74049,1007],{"class":990},[984,74051,74052,74054,74056,74058],{"class":986,"line":772},[984,74053,1012],{"class":996},[984,74055,1015],{"class":990},[984,74057,1345],{"class":996},[984,74059,1021],{"class":990},[984,74061,74062,74064],{"class":986,"line":1024},[984,74063,1724],{"class":996},[984,74065,5895],{"class":990},[984,74067,74068],{"class":986,"line":1035},[984,74069,1529],{"class":990},[984,74071,74072,74074,74076,74078],{"class":986,"line":1098},[984,74073,37638],{"class":996},[984,74075,1738],{"class":990},[984,74077,37643],{"class":1003},[984,74079,1021],{"class":990},[984,74081,74082,74084,74086,74088,74090,74092,74094,74096],{"class":986,"line":1111},[984,74083,18725],{"class":996},[984,74085,13897],{"class":990},[984,74087,1345],{"class":996},[984,74089,441],{"class":990},[984,74091,1503],{"class":996},[984,74093,441],{"class":990},[984,74095,5131],{"class":996},[984,74097,7675],{"class":990},[984,74099,74100],{"class":986,"line":1124},[984,74101,1607],{"class":990},[984,74103,74104],{"class":986,"line":1137},[984,74105,1038],{"class":990},[89,74107,74108,74112],{},[54,74109,74110,37846],{},[150,74111,6548],{},[54,74113,74114,38032],{},[150,74115,9736],{},[26,74117,29449],{"id":29449},[11,74119,38037,74120,38040],{},[150,74121,29439],{},[11,74123,74124],{},[150,74125,975],{},[866,74127,74128],{"className":978,"code":38047,"language":980,"meta":760,"style":760},[150,74129,74130,74134,74144,74154,74164,74170,74174,74184,74192,74196],{"__ignoreMap":760},[984,74131,74132],{"class":986,"line":987},[984,74133,991],{"class":990},[984,74135,74136,74138,74140,74142],{"class":986,"line":761},[984,74137,997],{"class":996},[984,74139,1000],{"class":990},[984,74141,1004],{"class":1003},[984,74143,1007],{"class":990},[984,74145,74146,74148,74150,74152],{"class":986,"line":772},[984,74147,1012],{"class":996},[984,74149,1015],{"class":990},[984,74151,1345],{"class":996},[984,74153,1021],{"class":990},[984,74155,74156,74158,74160,74162],{"class":986,"line":1024},[984,74157,1027],{"class":996},[984,74159,1015],{"class":990},[984,74161,38082],{"class":1003},[984,74163,1007],{"class":990},[984,74165,74166,74168],{"class":986,"line":1035},[984,74167,1521],{"class":996},[984,74169,1524],{"class":990},[984,74171,74172],{"class":986,"line":1098},[984,74173,1529],{"class":990},[984,74175,74176,74178,74180,74182],{"class":986,"line":1111},[984,74177,37638],{"class":996},[984,74179,1738],{"class":990},[984,74181,37643],{"class":1003},[984,74183,1021],{"class":990},[984,74185,74186,74188,74190],{"class":986,"line":1124},[984,74187,37553],{"class":996},[984,74189,1015],{"class":990},[984,74191,37558],{"class":996},[984,74193,74194],{"class":986,"line":1137},[984,74195,1607],{"class":990},[984,74197,74198],{"class":986,"line":1150},[984,74199,1038],{"class":990},[89,74201,74202,74206],{},[54,74203,74204,38127],{},[150,74205,6548],{},[54,74207,74208,37590],{},[150,74209,37589],{},[11,74211,74212],{},[150,74213,1043],{},[866,74215,74216],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,74217,74218,74222,74232,74242,74248,74252,74260,74264],{"__ignoreMap":760},[984,74219,74220],{"class":986,"line":987},[984,74221,991],{"class":990},[984,74223,74224,74226,74228,74230],{"class":986,"line":761},[984,74225,997],{"class":996},[984,74227,1000],{"class":990},[984,74229,1004],{"class":1003},[984,74231,1007],{"class":990},[984,74233,74234,74236,74238,74240],{"class":986,"line":772},[984,74235,1012],{"class":996},[984,74237,1015],{"class":990},[984,74239,1345],{"class":996},[984,74241,1021],{"class":990},[984,74243,74244,74246],{"class":986,"line":1024},[984,74245,1724],{"class":996},[984,74247,5895],{"class":990},[984,74249,74250],{"class":986,"line":1035},[984,74251,1529],{"class":990},[984,74253,74254,74256,74258],{"class":986,"line":1098},[984,74255,37638],{"class":996},[984,74257,1738],{"class":990},[984,74259,37831],{"class":1003},[984,74261,74262],{"class":986,"line":1111},[984,74263,1607],{"class":990},[984,74265,74266],{"class":986,"line":1124},[984,74267,1038],{"class":990},[89,74269,74270],{},[54,74271,74272,38196],{},[150,74273,6548],{},[26,74275,29459],{"id":29459},[11,74277,38201,74278,38204],{},[150,74279,29439],{},[11,74281,74282],{},[150,74283,975],{},[866,74285,74286],{"className":978,"code":38211,"language":980,"meta":760,"style":760},[150,74287,74288,74292,74302,74312,74322,74328,74332,74340,74344],{"__ignoreMap":760},[984,74289,74290],{"class":986,"line":987},[984,74291,991],{"class":990},[984,74293,74294,74296,74298,74300],{"class":986,"line":761},[984,74295,997],{"class":996},[984,74297,1000],{"class":990},[984,74299,1004],{"class":1003},[984,74301,1007],{"class":990},[984,74303,74304,74306,74308,74310],{"class":986,"line":772},[984,74305,1012],{"class":996},[984,74307,1015],{"class":990},[984,74309,1345],{"class":996},[984,74311,1021],{"class":990},[984,74313,74314,74316,74318,74320],{"class":986,"line":1024},[984,74315,1027],{"class":996},[984,74317,1015],{"class":990},[984,74319,38246],{"class":1003},[984,74321,1007],{"class":990},[984,74323,74324,74326],{"class":986,"line":1035},[984,74325,1521],{"class":996},[984,74327,1524],{"class":990},[984,74329,74330],{"class":986,"line":1098},[984,74331,1529],{"class":990},[984,74333,74334,74336,74338],{"class":986,"line":1111},[984,74335,37638],{"class":996},[984,74337,1738],{"class":990},[984,74339,37831],{"class":1003},[984,74341,74342],{"class":986,"line":1124},[984,74343,1607],{"class":990},[984,74345,74346],{"class":986,"line":1137},[984,74347,1038],{"class":990},[89,74349,74350],{},[54,74351,74352,38281],{},[150,74353,6548],{},[11,74355,74356],{},[150,74357,1043],{},[866,74359,74360],{"className":978,"code":37786,"language":980,"meta":760,"style":760},[150,74361,74362,74366,74376,74386,74392,74396,74404,74408],{"__ignoreMap":760},[984,74363,74364],{"class":986,"line":987},[984,74365,991],{"class":990},[984,74367,74368,74370,74372,74374],{"class":986,"line":761},[984,74369,997],{"class":996},[984,74371,1000],{"class":990},[984,74373,1004],{"class":1003},[984,74375,1007],{"class":990},[984,74377,74378,74380,74382,74384],{"class":986,"line":772},[984,74379,1012],{"class":996},[984,74381,1015],{"class":990},[984,74383,1345],{"class":996},[984,74385,1021],{"class":990},[984,74387,74388,74390],{"class":986,"line":1024},[984,74389,1724],{"class":996},[984,74391,5895],{"class":990},[984,74393,74394],{"class":986,"line":1035},[984,74395,1529],{"class":990},[984,74397,74398,74400,74402],{"class":986,"line":1098},[984,74399,37638],{"class":996},[984,74401,1738],{"class":990},[984,74403,37831],{"class":1003},[984,74405,74406],{"class":986,"line":1111},[984,74407,1607],{"class":990},[984,74409,74410],{"class":986,"line":1124},[984,74411,1038],{"class":990},[89,74413,74414],{},[54,74415,74416,38346],{},[150,74417,6548],{},[26,74419,29469],{"id":29469},[11,74421,38351],{},[11,74423,74424],{},[150,74425,975],{},[866,74427,74428],{"className":978,"code":38358,"language":980,"meta":760,"style":760},[150,74429,74430,74434,74444,74454,74464,74470,74474,74482,74486],{"__ignoreMap":760},[984,74431,74432],{"class":986,"line":987},[984,74433,991],{"class":990},[984,74435,74436,74438,74440,74442],{"class":986,"line":761},[984,74437,997],{"class":996},[984,74439,1000],{"class":990},[984,74441,1004],{"class":1003},[984,74443,1007],{"class":990},[984,74445,74446,74448,74450,74452],{"class":986,"line":772},[984,74447,1012],{"class":996},[984,74449,1015],{"class":990},[984,74451,1345],{"class":996},[984,74453,1021],{"class":990},[984,74455,74456,74458,74460,74462],{"class":986,"line":1024},[984,74457,1027],{"class":996},[984,74459,1015],{"class":990},[984,74461,38393],{"class":1003},[984,74463,1007],{"class":990},[984,74465,74466,74468],{"class":986,"line":1035},[984,74467,1521],{"class":996},[984,74469,1524],{"class":990},[984,74471,74472],{"class":986,"line":1098},[984,74473,1529],{"class":990},[984,74475,74476,74478,74480],{"class":986,"line":1111},[984,74477,37553],{"class":996},[984,74479,1738],{"class":990},[984,74481,38414],{"class":996},[984,74483,74484],{"class":986,"line":1124},[984,74485,1607],{"class":990},[984,74487,74488],{"class":986,"line":1137},[984,74489,1038],{"class":990},[89,74491,74492],{},[54,74493,74494,37590],{},[150,74495,37589],{},[11,74497,74498],{},[150,74499,1043],{},[866,74501,74502],{"className":978,"code":38435,"language":980,"meta":760,"style":760},[150,74503,74504,74508,74518,74528,74534,74538,74546,74550],{"__ignoreMap":760},[984,74505,74506],{"class":986,"line":987},[984,74507,991],{"class":990},[984,74509,74510,74512,74514,74516],{"class":986,"line":761},[984,74511,997],{"class":996},[984,74513,1000],{"class":990},[984,74515,1004],{"class":1003},[984,74517,1007],{"class":990},[984,74519,74520,74522,74524,74526],{"class":986,"line":772},[984,74521,1012],{"class":996},[984,74523,1015],{"class":990},[984,74525,1345],{"class":996},[984,74527,1021],{"class":990},[984,74529,74530,74532],{"class":986,"line":1024},[984,74531,1724],{"class":996},[984,74533,5895],{"class":990},[984,74535,74536],{"class":986,"line":1035},[984,74537,1529],{"class":990},[984,74539,74540,74542,74544],{"class":986,"line":1098},[984,74541,38476],{"class":996},[984,74543,1738],{"class":990},[984,74545,2497],{"class":996},[984,74547,74548],{"class":986,"line":1111},[984,74549,1607],{"class":990},[984,74551,74552],{"class":986,"line":1124},[984,74553,1038],{"class":990},[89,74555,74556],{},[54,74557,74558,38495],{},[150,74559,9741],{},[26,74561,19492],{"id":19492},[11,74563,26699],{},[11,74565,74566],{},[150,74567,975],{},[866,74569,74570],{"className":978,"code":26706,"language":980,"meta":760,"style":760},[150,74571,74572,74576,74586,74596,74606,74612,74622,74632,74642,74652,74662,74670,74674],{"__ignoreMap":760},[984,74573,74574],{"class":986,"line":987},[984,74575,991],{"class":990},[984,74577,74578,74580,74582,74584],{"class":986,"line":761},[984,74579,997],{"class":996},[984,74581,1015],{"class":990},[984,74583,1004],{"class":1003},[984,74585,1007],{"class":990},[984,74587,74588,74590,74592,74594],{"class":986,"line":772},[984,74589,1012],{"class":996},[984,74591,1015],{"class":990},[984,74593,1345],{"class":996},[984,74595,1021],{"class":990},[984,74597,74598,74600,74602,74604],{"class":986,"line":1024},[984,74599,1027],{"class":996},[984,74601,1015],{"class":990},[984,74603,26741],{"class":1003},[984,74605,1021],{"class":990},[984,74607,74608,74610],{"class":986,"line":1035},[984,74609,1521],{"class":996},[984,74611,1083],{"class":990},[984,74613,74614,74616,74618,74620],{"class":986,"line":1098},[984,74615,26754],{"class":996},[984,74617,1015],{"class":990},[984,74619,2682],{"class":996},[984,74621,1021],{"class":990},[984,74623,74624,74626,74628,74630],{"class":986,"line":1111},[984,74625,26765],{"class":996},[984,74627,1015],{"class":990},[984,74629,2682],{"class":996},[984,74631,1021],{"class":990},[984,74633,74634,74636,74638,74640],{"class":986,"line":1124},[984,74635,26776],{"class":996},[984,74637,1015],{"class":990},[984,74639,2682],{"class":996},[984,74641,1021],{"class":990},[984,74643,74644,74646,74648,74650],{"class":986,"line":1137},[984,74645,26787],{"class":996},[984,74647,1015],{"class":990},[984,74649,2682],{"class":996},[984,74651,1021],{"class":990},[984,74653,74654,74656,74658,74660],{"class":986,"line":1150},[984,74655,26798],{"class":996},[984,74657,1015],{"class":990},[984,74659,2682],{"class":996},[984,74661,1021],{"class":990},[984,74663,74664,74666,74668],{"class":986,"line":1163},[984,74665,26809],{"class":996},[984,74667,1015],{"class":990},[984,74669,2497],{"class":996},[984,74671,74672],{"class":986,"line":1176},[984,74673,1607],{"class":990},[984,74675,74676],{"class":986,"line":1189},[984,74677,1038],{"class":990},[11,74679,74680],{},[150,74681,1043],{},[866,74683,74684],{"className":978,"code":26828,"language":980,"meta":760,"style":760},[150,74685,74686,74690,74700,74710,74718],{"__ignoreMap":760},[984,74687,74688],{"class":986,"line":987},[984,74689,991],{"class":990},[984,74691,74692,74694,74696,74698],{"class":986,"line":761},[984,74693,1057],{"class":996},[984,74695,1015],{"class":990},[984,74697,1345],{"class":996},[984,74699,1021],{"class":990},[984,74701,74702,74704,74706,74708],{"class":986,"line":772},[984,74703,1069],{"class":996},[984,74705,1015],{"class":990},[984,74707,1004],{"class":1003},[984,74709,1021],{"class":990},[984,74711,74712,74714,74716],{"class":986,"line":1024},[984,74713,1080],{"class":996},[984,74715,1015],{"class":990},[984,74717,2497],{"class":996},[984,74719,74720],{"class":986,"line":1035},[984,74721,1038],{"class":990},[89,74723,74724],{},[54,74725,74726,26874,74728,26877],{},[150,74727,26873],{},[150,74729,26873],{},[26,74731,19563],{"id":19563},[11,74733,26979],{},[89,74735,74736,74738],{},[54,74737,26984],{},[54,74739,26987],{},[11,74741,26990],{},[11,74743,74744],{},[150,74745,26995],{},[866,74747,74748],{"className":978,"code":26998,"language":980,"meta":760,"style":760},[150,74749,74750,74754,74764,74774,74780,74790,74800,74810,74820,74830,74840,74850,74860,74870,74880,74888,74892],{"__ignoreMap":760},[984,74751,74752],{"class":986,"line":987},[984,74753,991],{"class":990},[984,74755,74756,74758,74760,74762],{"class":986,"line":761},[984,74757,1057],{"class":996},[984,74759,1015],{"class":990},[984,74761,27013],{"class":1003},[984,74763,1021],{"class":990},[984,74765,74766,74768,74770,74772],{"class":986,"line":772},[984,74767,1069],{"class":996},[984,74769,1015],{"class":990},[984,74771,1004],{"class":1003},[984,74773,1021],{"class":990},[984,74775,74776,74778],{"class":986,"line":1024},[984,74777,1080],{"class":996},[984,74779,1083],{"class":990},[984,74781,74782,74784,74786,74788],{"class":986,"line":1035},[984,74783,1088],{"class":996},[984,74785,1015],{"class":990},[984,74787,27040],{"class":996},[984,74789,1021],{"class":990},[984,74791,74792,74794,74796,74798],{"class":986,"line":1098},[984,74793,1101],{"class":996},[984,74795,1015],{"class":990},[984,74797,27051],{"class":1003},[984,74799,1021],{"class":990},[984,74801,74802,74804,74806,74808],{"class":986,"line":1111},[984,74803,23533],{"class":996},[984,74805,1015],{"class":990},[984,74807,27062],{"class":996},[984,74809,1021],{"class":990},[984,74811,74812,74814,74816,74818],{"class":986,"line":1124},[984,74813,27069],{"class":996},[984,74815,1015],{"class":990},[984,74817,1171],{"class":996},[984,74819,1021],{"class":990},[984,74821,74822,74824,74826,74828],{"class":986,"line":1137},[984,74823,27080],{"class":996},[984,74825,1015],{"class":990},[984,74827,1503],{"class":996},[984,74829,1021],{"class":990},[984,74831,74832,74834,74836,74838],{"class":986,"line":1150},[984,74833,23554],{"class":996},[984,74835,1015],{"class":990},[984,74837,2682],{"class":996},[984,74839,1021],{"class":990},[984,74841,74842,74844,74846,74848],{"class":986,"line":1163},[984,74843,1127],{"class":996},[984,74845,1015],{"class":990},[984,74847,27105],{"class":1003},[984,74849,1021],{"class":990},[984,74851,74852,74854,74856,74858],{"class":986,"line":1176},[984,74853,27112],{"class":996},[984,74855,1015],{"class":990},[984,74857,27117],{"class":996},[984,74859,1021],{"class":990},[984,74861,74862,74864,74866,74868],{"class":986,"line":1189},[984,74863,27124],{"class":996},[984,74865,1015],{"class":990},[984,74867,27051],{"class":1003},[984,74869,1021],{"class":990},[984,74871,74872,74874,74876,74878],{"class":986,"line":1202},[984,74873,27135],{"class":996},[984,74875,1015],{"class":990},[984,74877,27140],{"class":1003},[984,74879,1021],{"class":990},[984,74881,74882,74884,74886],{"class":986,"line":1211},[984,74883,27147],{"class":996},[984,74885,1015],{"class":990},[984,74887,27152],{"class":996},[984,74889,74890],{"class":986,"line":1217},[984,74891,1459],{"class":990},[984,74893,74894],{"class":986,"line":1229},[984,74895,1038],{"class":990},[11,74897,27163,74898,557,74900,27170,74902,27174,74904,27177,74906,27180,74908,27183,74910,27186],{},[150,74899,27166],{},[150,74901,27169],{},[150,74903,27173],{},[150,74905,27169],{},[150,74907,27166],{},[150,74909,19511],{},[150,74911,19511],{},[11,74913,74914],{},[150,74915,27191],{},[866,74917,74918],{"className":978,"code":27194,"language":980,"meta":760,"style":760},[150,74919,74920,74924,74934,74944,74950,74960,74970,74980,74990,75000,75010,75020,75030,75040,75050,75058,75062],{"__ignoreMap":760},[984,74921,74922],{"class":986,"line":987},[984,74923,991],{"class":990},[984,74925,74926,74928,74930,74932],{"class":986,"line":761},[984,74927,1057],{"class":996},[984,74929,1015],{"class":990},[984,74931,27013],{"class":1003},[984,74933,1021],{"class":990},[984,74935,74936,74938,74940,74942],{"class":986,"line":772},[984,74937,1069],{"class":996},[984,74939,1015],{"class":990},[984,74941,1004],{"class":1003},[984,74943,1021],{"class":990},[984,74945,74946,74948],{"class":986,"line":1024},[984,74947,1080],{"class":996},[984,74949,1083],{"class":990},[984,74951,74952,74954,74956,74958],{"class":986,"line":1035},[984,74953,1088],{"class":996},[984,74955,1015],{"class":990},[984,74957,27040],{"class":996},[984,74959,1021],{"class":990},[984,74961,74962,74964,74966,74968],{"class":986,"line":1098},[984,74963,1101],{"class":996},[984,74965,1015],{"class":990},[984,74967,27051],{"class":1003},[984,74969,1021],{"class":990},[984,74971,74972,74974,74976,74978],{"class":986,"line":1111},[984,74973,23533],{"class":996},[984,74975,1015],{"class":990},[984,74977,27062],{"class":996},[984,74979,1021],{"class":990},[984,74981,74982,74984,74986,74988],{"class":986,"line":1124},[984,74983,27069],{"class":996},[984,74985,1015],{"class":990},[984,74987,1345],{"class":996},[984,74989,1021],{"class":990},[984,74991,74992,74994,74996,74998],{"class":986,"line":1137},[984,74993,27080],{"class":996},[984,74995,1015],{"class":990},[984,74997,1503],{"class":996},[984,74999,1021],{"class":990},[984,75001,75002,75004,75006,75008],{"class":986,"line":1150},[984,75003,23554],{"class":996},[984,75005,1015],{"class":990},[984,75007,2682],{"class":996},[984,75009,1021],{"class":990},[984,75011,75012,75014,75016,75018],{"class":986,"line":1163},[984,75013,1127],{"class":996},[984,75015,1015],{"class":990},[984,75017,27105],{"class":1003},[984,75019,1021],{"class":990},[984,75021,75022,75024,75026,75028],{"class":986,"line":1176},[984,75023,27112],{"class":996},[984,75025,1015],{"class":990},[984,75027,27117],{"class":996},[984,75029,1021],{"class":990},[984,75031,75032,75034,75036,75038],{"class":986,"line":1189},[984,75033,27124],{"class":996},[984,75035,1015],{"class":990},[984,75037,27051],{"class":1003},[984,75039,1021],{"class":990},[984,75041,75042,75044,75046,75048],{"class":986,"line":1202},[984,75043,27135],{"class":996},[984,75045,1015],{"class":990},[984,75047,27140],{"class":1003},[984,75049,1021],{"class":990},[984,75051,75052,75054,75056],{"class":986,"line":1211},[984,75053,27147],{"class":996},[984,75055,1015],{"class":990},[984,75057,27152],{"class":996},[984,75059,75060],{"class":986,"line":1217},[984,75061,1459],{"class":990},[984,75063,75064],{"class":986,"line":1229},[984,75065,1038],{"class":990},[11,75067,27345,75068,27348,75070,27352],{},[150,75069,27173],{},[150,75071,27351],{},[11,75073,75074],{},[150,75075,27357],{},[866,75077,75078],{"className":978,"code":27360,"language":980,"meta":760,"style":760},[150,75079,75080,75084,75094,75104,75110,75120,75130,75140,75150,75160,75170,75180,75190,75200,75210,75218,75222,75226,75230,75254,75258,75266,75270,75274,75284,75294,75300,75310,75320,75330,75340,75350,75360,75370,75380,75390,75400,75408,75412],{"__ignoreMap":760},[984,75081,75082],{"class":986,"line":987},[984,75083,991],{"class":990},[984,75085,75086,75088,75090,75092],{"class":986,"line":761},[984,75087,1057],{"class":996},[984,75089,1015],{"class":990},[984,75091,27013],{"class":1003},[984,75093,1021],{"class":990},[984,75095,75096,75098,75100,75102],{"class":986,"line":772},[984,75097,1069],{"class":996},[984,75099,1015],{"class":990},[984,75101,1004],{"class":1003},[984,75103,1021],{"class":990},[984,75105,75106,75108],{"class":986,"line":1024},[984,75107,1080],{"class":996},[984,75109,1083],{"class":990},[984,75111,75112,75114,75116,75118],{"class":986,"line":1035},[984,75113,1088],{"class":996},[984,75115,1015],{"class":990},[984,75117,27040],{"class":996},[984,75119,1021],{"class":990},[984,75121,75122,75124,75126,75128],{"class":986,"line":1098},[984,75123,1101],{"class":996},[984,75125,1015],{"class":990},[984,75127,27051],{"class":1003},[984,75129,1021],{"class":990},[984,75131,75132,75134,75136,75138],{"class":986,"line":1111},[984,75133,23533],{"class":996},[984,75135,1015],{"class":990},[984,75137,27062],{"class":996},[984,75139,1021],{"class":990},[984,75141,75142,75144,75146,75148],{"class":986,"line":1124},[984,75143,27069],{"class":996},[984,75145,1015],{"class":990},[984,75147,1503],{"class":996},[984,75149,1021],{"class":990},[984,75151,75152,75154,75156,75158],{"class":986,"line":1137},[984,75153,27080],{"class":996},[984,75155,1015],{"class":990},[984,75157,1503],{"class":996},[984,75159,1021],{"class":990},[984,75161,75162,75164,75166,75168],{"class":986,"line":1150},[984,75163,23554],{"class":996},[984,75165,1015],{"class":990},[984,75167,2682],{"class":996},[984,75169,1021],{"class":990},[984,75171,75172,75174,75176,75178],{"class":986,"line":1163},[984,75173,1127],{"class":996},[984,75175,1015],{"class":990},[984,75177,27105],{"class":1003},[984,75179,1021],{"class":990},[984,75181,75182,75184,75186,75188],{"class":986,"line":1176},[984,75183,27112],{"class":996},[984,75185,1015],{"class":990},[984,75187,27117],{"class":996},[984,75189,1021],{"class":990},[984,75191,75192,75194,75196,75198],{"class":986,"line":1189},[984,75193,27124],{"class":996},[984,75195,1015],{"class":990},[984,75197,27051],{"class":1003},[984,75199,1021],{"class":990},[984,75201,75202,75204,75206,75208],{"class":986,"line":1202},[984,75203,27135],{"class":996},[984,75205,1015],{"class":990},[984,75207,27140],{"class":1003},[984,75209,1021],{"class":990},[984,75211,75212,75214,75216],{"class":986,"line":1211},[984,75213,27147],{"class":996},[984,75215,1015],{"class":990},[984,75217,27152],{"class":996},[984,75219,75220],{"class":986,"line":1217},[984,75221,1459],{"class":990},[984,75223,75224],{"class":986,"line":1229},[984,75225,1038],{"class":990},[984,75227,75228],{"class":986,"line":1241},[984,75229,8376],{"emptyLinePlaceholder":778},[984,75231,75232,75234,75236,75238,75240,75242,75244,75246,75248,75250,75252],{"class":986,"line":1254},[984,75233,27517],{"class":990},[984,75235,5131],{"class":996},[984,75237,27522],{"class":990},[984,75239,1503],{"class":996},[984,75241,27527],{"class":990},[984,75243,1503],{"class":996},[984,75245,27532],{"class":990},[984,75247,1503],{"class":996},[984,75249,27537],{"class":990},[984,75251,27040],{"class":996},[984,75253,27542],{"class":990},[984,75255,75256],{"class":986,"line":1266},[984,75257,8376],{"emptyLinePlaceholder":778},[984,75259,75260,75262,75264],{"class":986,"line":1279},[984,75261,27551],{"class":990},[984,75263,2431],{"class":996},[984,75265,27556],{"class":990},[984,75267,75268],{"class":986,"line":1291},[984,75269,27561],{"class":990},[984,75271,75272],{"class":986,"line":1304},[984,75273,991],{"class":990},[984,75275,75276,75278,75280,75282],{"class":986,"line":1316},[984,75277,1057],{"class":996},[984,75279,1015],{"class":990},[984,75281,27013],{"class":1003},[984,75283,1021],{"class":990},[984,75285,75286,75288,75290,75292],{"class":986,"line":1327},[984,75287,1069],{"class":996},[984,75289,1015],{"class":990},[984,75291,1004],{"class":1003},[984,75293,1021],{"class":990},[984,75295,75296,75298],{"class":986,"line":1333},[984,75297,1080],{"class":996},[984,75299,1083],{"class":990},[984,75301,75302,75304,75306,75308],{"class":986,"line":1338},[984,75303,1088],{"class":996},[984,75305,1015],{"class":990},[984,75307,27117],{"class":996},[984,75309,1021],{"class":990},[984,75311,75312,75314,75316,75318],{"class":986,"line":1355},[984,75313,1101],{"class":996},[984,75315,1015],{"class":990},[984,75317,27140],{"class":1003},[984,75319,1021],{"class":990},[984,75321,75322,75324,75326,75328],{"class":986,"line":1367},[984,75323,23533],{"class":996},[984,75325,1015],{"class":990},[984,75327,27062],{"class":996},[984,75329,1021],{"class":990},[984,75331,75332,75334,75336,75338],{"class":986,"line":1379},[984,75333,27069],{"class":996},[984,75335,1015],{"class":990},[984,75337,1503],{"class":996},[984,75339,1021],{"class":990},[984,75341,75342,75344,75346,75348],{"class":986,"line":1390},[984,75343,27080],{"class":996},[984,75345,1015],{"class":990},[984,75347,1503],{"class":996},[984,75349,1021],{"class":990},[984,75351,75352,75354,75356,75358],{"class":986,"line":1402},[984,75353,23554],{"class":996},[984,75355,1015],{"class":990},[984,75357,2682],{"class":996},[984,75359,1021],{"class":990},[984,75361,75362,75364,75366,75368],{"class":986,"line":1413},[984,75363,1127],{"class":996},[984,75365,1015],{"class":990},[984,75367,27051],{"class":1003},[984,75369,1021],{"class":990},[984,75371,75372,75374,75376,75378],{"class":986,"line":1424},[984,75373,27112],{"class":996},[984,75375,1015],{"class":990},[984,75377,27117],{"class":996},[984,75379,1021],{"class":990},[984,75381,75382,75384,75386,75388],{"class":986,"line":1435},[984,75383,27124],{"class":996},[984,75385,1015],{"class":990},[984,75387,27051],{"class":1003},[984,75389,1021],{"class":990},[984,75391,75392,75394,75396,75398],{"class":986,"line":1444},[984,75393,27135],{"class":996},[984,75395,1015],{"class":990},[984,75397,27140],{"class":1003},[984,75399,1021],{"class":990},[984,75401,75402,75404,75406],{"class":986,"line":1450},[984,75403,27147],{"class":996},[984,75405,1015],{"class":990},[984,75407,27152],{"class":996},[984,75409,75410],{"class":986,"line":1456},[984,75411,1459],{"class":990},[984,75413,75414],{"class":986,"line":1462},[984,75415,1038],{"class":990},[11,75417,27710,75418,27713,75420,27716,75422,27713,75424,27723,75426,27713,75428,4316],{},[150,75419,27351],{},[150,75421,27173],{},[150,75423,27719],{},[150,75425,27722],{},[150,75427,27166],{},[150,75429,27169],{},[26,75431,19571],{"id":19571},[11,75433,27732],{},[11,75435,75436],{},[150,75437,1043],{},[866,75439,75440],{"className":978,"code":27739,"language":980,"meta":760,"style":760},[150,75441,75442,75446,75456,75466,75472,75482,75492,75502,75512,75522,75532,75542,75552,75560,75564],{"__ignoreMap":760},[984,75443,75444],{"class":986,"line":987},[984,75445,991],{"class":990},[984,75447,75448,75450,75452,75454],{"class":986,"line":761},[984,75449,1057],{"class":996},[984,75451,1015],{"class":990},[984,75453,27754],{"class":1003},[984,75455,1021],{"class":990},[984,75457,75458,75460,75462,75464],{"class":986,"line":772},[984,75459,1069],{"class":996},[984,75461,1015],{"class":990},[984,75463,1004],{"class":1003},[984,75465,1021],{"class":990},[984,75467,75468,75470],{"class":986,"line":1024},[984,75469,1080],{"class":996},[984,75471,1083],{"class":990},[984,75473,75474,75476,75478,75480],{"class":986,"line":1035},[984,75475,1088],{"class":996},[984,75477,1015],{"class":990},[984,75479,27781],{"class":996},[984,75481,1021],{"class":990},[984,75483,75484,75486,75488,75490],{"class":986,"line":1098},[984,75485,1101],{"class":996},[984,75487,1015],{"class":990},[984,75489,27792],{"class":1003},[984,75491,1021],{"class":990},[984,75493,75494,75496,75498,75500],{"class":986,"line":1111},[984,75495,23533],{"class":996},[984,75497,1015],{"class":990},[984,75499,27803],{"class":996},[984,75501,1021],{"class":990},[984,75503,75504,75506,75508,75510],{"class":986,"line":1124},[984,75505,23554],{"class":996},[984,75507,1015],{"class":990},[984,75509,2682],{"class":996},[984,75511,1021],{"class":990},[984,75513,75514,75516,75518,75520],{"class":986,"line":1137},[984,75515,1127],{"class":996},[984,75517,1015],{"class":990},[984,75519,27824],{"class":1003},[984,75521,1021],{"class":990},[984,75523,75524,75526,75528,75530],{"class":986,"line":1150},[984,75525,27112],{"class":996},[984,75527,1015],{"class":990},[984,75529,27781],{"class":996},[984,75531,1021],{"class":990},[984,75533,75534,75536,75538,75540],{"class":986,"line":1163},[984,75535,27124],{"class":996},[984,75537,1015],{"class":990},[984,75539,27824],{"class":1003},[984,75541,1021],{"class":990},[984,75543,75544,75546,75548,75550],{"class":986,"line":1176},[984,75545,27135],{"class":996},[984,75547,1015],{"class":990},[984,75549,27792],{"class":1003},[984,75551,1021],{"class":990},[984,75553,75554,75556,75558],{"class":986,"line":1189},[984,75555,27147],{"class":996},[984,75557,1015],{"class":990},[984,75559,27865],{"class":996},[984,75561,75562],{"class":986,"line":1202},[984,75563,1459],{"class":990},[984,75565,75566],{"class":986,"line":1211},[984,75567,1038],{"class":990},[26,75569,19579],{"id":19579},[11,75571,27878],{},[11,75573,75574],{},[150,75575,1043],{},[866,75577,75578],{"className":978,"code":27885,"language":980,"meta":760,"style":760},[150,75579,75580,75584,75594,75604,75610,75620,75630,75636,75640,75650,75660,75670,75680,75690,75700,75710,75720,75730,75740,75750,75758,75762,75766,75776,75786,75796,75806,75816,75826,75836,75846,75856,75866,75876,75884,75888,75892,75896],{"__ignoreMap":760},[984,75581,75582],{"class":986,"line":987},[984,75583,991],{"class":990},[984,75585,75586,75588,75590,75592],{"class":986,"line":761},[984,75587,1057],{"class":996},[984,75589,1015],{"class":990},[984,75591,27900],{"class":1003},[984,75593,1021],{"class":990},[984,75595,75596,75598,75600,75602],{"class":986,"line":772},[984,75597,1069],{"class":996},[984,75599,1015],{"class":990},[984,75601,1004],{"class":1003},[984,75603,1021],{"class":990},[984,75605,75606,75608],{"class":986,"line":1024},[984,75607,1080],{"class":996},[984,75609,1083],{"class":990},[984,75611,75612,75614,75616,75618],{"class":986,"line":1035},[984,75613,27923],{"class":996},[984,75615,1015],{"class":990},[984,75617,5131],{"class":996},[984,75619,1021],{"class":990},[984,75621,75622,75624,75626,75628],{"class":986,"line":1098},[984,75623,27934],{"class":996},[984,75625,1015],{"class":990},[984,75627,27939],{"class":1003},[984,75629,1021],{"class":990},[984,75631,75632,75634],{"class":986,"line":1111},[984,75633,27946],{"class":996},[984,75635,1208],{"class":990},[984,75637,75638],{"class":986,"line":1124},[984,75639,27953],{"class":990},[984,75641,75642,75644,75646,75648],{"class":986,"line":1137},[984,75643,27958],{"class":996},[984,75645,1015],{"class":990},[984,75647,27963],{"class":1003},[984,75649,1021],{"class":990},[984,75651,75652,75654,75656,75658],{"class":986,"line":1150},[984,75653,27970],{"class":996},[984,75655,1015],{"class":990},[984,75657,13091],{"class":1003},[984,75659,1021],{"class":990},[984,75661,75662,75664,75666,75668],{"class":986,"line":1163},[984,75663,27981],{"class":996},[984,75665,1015],{"class":990},[984,75667,13091],{"class":1003},[984,75669,1021],{"class":990},[984,75671,75672,75674,75676,75678],{"class":986,"line":1176},[984,75673,27992],{"class":996},[984,75675,1015],{"class":990},[984,75677,13103],{"class":996},[984,75679,1021],{"class":990},[984,75681,75682,75684,75686,75688],{"class":986,"line":1189},[984,75683,28003],{"class":996},[984,75685,1015],{"class":990},[984,75687,13115],{"class":996},[984,75689,1021],{"class":990},[984,75691,75692,75694,75696,75698],{"class":986,"line":1202},[984,75693,28014],{"class":996},[984,75695,1015],{"class":990},[984,75697,2682],{"class":996},[984,75699,1021],{"class":990},[984,75701,75702,75704,75706,75708],{"class":986,"line":1211},[984,75703,28025],{"class":996},[984,75705,1015],{"class":990},[984,75707,2682],{"class":996},[984,75709,1021],{"class":990},[984,75711,75712,75714,75716,75718],{"class":986,"line":1217},[984,75713,28036],{"class":996},[984,75715,1015],{"class":990},[984,75717,13158],{"class":996},[984,75719,1021],{"class":990},[984,75721,75722,75724,75726,75728],{"class":986,"line":1229},[984,75723,28047],{"class":996},[984,75725,1015],{"class":990},[984,75727,13170],{"class":1003},[984,75729,1021],{"class":990},[984,75731,75732,75734,75736,75738],{"class":986,"line":1241},[984,75733,28058],{"class":996},[984,75735,1015],{"class":990},[984,75737,13182],{"class":1003},[984,75739,1021],{"class":990},[984,75741,75742,75744,75746,75748],{"class":986,"line":1254},[984,75743,28069],{"class":996},[984,75745,1015],{"class":990},[984,75747,5931],{"class":1003},[984,75749,1021],{"class":990},[984,75751,75752,75754,75756],{"class":986,"line":1266},[984,75753,28080],{"class":996},[984,75755,1015],{"class":990},[984,75757,28085],{"class":1003},[984,75759,75760],{"class":986,"line":1279},[984,75761,28090],{"class":990},[984,75763,75764],{"class":986,"line":1291},[984,75765,27953],{"class":990},[984,75767,75768,75770,75772,75774],{"class":986,"line":1304},[984,75769,27958],{"class":996},[984,75771,1015],{"class":990},[984,75773,28103],{"class":1003},[984,75775,1021],{"class":990},[984,75777,75778,75780,75782,75784],{"class":986,"line":1316},[984,75779,27970],{"class":996},[984,75781,1015],{"class":990},[984,75783,13091],{"class":1003},[984,75785,1021],{"class":990},[984,75787,75788,75790,75792,75794],{"class":986,"line":1327},[984,75789,27992],{"class":996},[984,75791,1015],{"class":990},[984,75793,13103],{"class":996},[984,75795,1021],{"class":990},[984,75797,75798,75800,75802,75804],{"class":986,"line":1333},[984,75799,28003],{"class":996},[984,75801,1015],{"class":990},[984,75803,13115],{"class":996},[984,75805,1021],{"class":990},[984,75807,75808,75810,75812,75814],{"class":986,"line":1338},[984,75809,28014],{"class":996},[984,75811,1015],{"class":990},[984,75813,2682],{"class":996},[984,75815,1021],{"class":990},[984,75817,75818,75820,75822,75824],{"class":986,"line":1355},[984,75819,27981],{"class":996},[984,75821,1015],{"class":990},[984,75823,13091],{"class":1003},[984,75825,1021],{"class":990},[984,75827,75828,75830,75832,75834],{"class":986,"line":1367},[984,75829,28025],{"class":996},[984,75831,1015],{"class":990},[984,75833,2682],{"class":996},[984,75835,1021],{"class":990},[984,75837,75838,75840,75842,75844],{"class":986,"line":1379},[984,75839,28036],{"class":996},[984,75841,1015],{"class":990},[984,75843,13158],{"class":996},[984,75845,1021],{"class":990},[984,75847,75848,75850,75852,75854],{"class":986,"line":1390},[984,75849,28047],{"class":996},[984,75851,1015],{"class":990},[984,75853,13170],{"class":1003},[984,75855,1021],{"class":990},[984,75857,75858,75860,75862,75864],{"class":986,"line":1402},[984,75859,28058],{"class":996},[984,75861,1015],{"class":990},[984,75863,28194],{"class":1003},[984,75865,1021],{"class":990},[984,75867,75868,75870,75872,75874],{"class":986,"line":1413},[984,75869,28069],{"class":996},[984,75871,1015],{"class":990},[984,75873,6305],{"class":1003},[984,75875,1021],{"class":990},[984,75877,75878,75880,75882],{"class":986,"line":1424},[984,75879,28080],{"class":996},[984,75881,1015],{"class":990},[984,75883,28215],{"class":1003},[984,75885,75886],{"class":986,"line":1435},[984,75887,28220],{"class":990},[984,75889,75890],{"class":986,"line":1444},[984,75891,28225],{"class":990},[984,75893,75894],{"class":986,"line":1450},[984,75895,1459],{"class":990},[984,75897,75898],{"class":986,"line":1456},[984,75899,1038],{"class":990},[89,75901,75902,75910],{},[54,75903,75904,441,75906,28242,75908,28246],{},[150,75905,2657],{},[150,75907,26967],{},[18,75909,26914],{"href":28245},[54,75911,75912,28252],{},[150,75913,28251],{},[26,75915,19587],{"id":19587},[11,75917,28257,75918,28260],{},[18,75919,913],{"href":2036},[11,75921,28263],{},[11,75923,75924],{},[150,75925,28268],{},[866,75927,75928],{"className":978,"code":28271,"language":980,"meta":760,"style":760},[150,75929,75930,75934,75944,75954,75960,75970,75980,75986,75998,76010,76014,76018],{"__ignoreMap":760},[984,75931,75932],{"class":986,"line":987},[984,75933,991],{"class":990},[984,75935,75936,75938,75940,75942],{"class":986,"line":761},[984,75937,1057],{"class":996},[984,75939,1015],{"class":990},[984,75941,28286],{"class":1003},[984,75943,1021],{"class":990},[984,75945,75946,75948,75950,75952],{"class":986,"line":772},[984,75947,1069],{"class":996},[984,75949,1015],{"class":990},[984,75951,1004],{"class":1003},[984,75953,1021],{"class":990},[984,75955,75956,75958],{"class":986,"line":1024},[984,75957,1080],{"class":996},[984,75959,28305],{"class":990},[984,75961,75962,75964,75966,75968],{"class":986,"line":1035},[984,75963,27923],{"class":996},[984,75965,1015],{"class":990},[984,75967,1345],{"class":996},[984,75969,1021],{"class":990},[984,75971,75972,75974,75976,75978],{"class":986,"line":1098},[984,75973,27934],{"class":996},[984,75975,1015],{"class":990},[984,75977,28324],{"class":1003},[984,75979,1021],{"class":990},[984,75981,75982,75984],{"class":986,"line":1111},[984,75983,28331],{"class":996},[984,75985,1208],{"class":990},[984,75987,75988,75990,75992,75994,75996],{"class":986,"line":1124},[984,75989,28338],{"class":990},[984,75991,1470],{"class":996},[984,75993,1015],{"class":990},[984,75995,28345],{"class":996},[984,75997,28348],{"class":990},[984,75999,76000,76002,76004,76006,76008],{"class":986,"line":1137},[984,76001,28338],{"class":990},[984,76003,1470],{"class":996},[984,76005,1015],{"class":990},[984,76007,28359],{"class":996},[984,76009,28362],{"class":990},[984,76011,76012],{"class":986,"line":1150},[984,76013,28225],{"class":990},[984,76015,76016],{"class":986,"line":1163},[984,76017,1459],{"class":990},[984,76019,76020],{"class":986,"line":1176},[984,76021,1038],{"class":990},[89,76023,76024,76032],{},[54,76025,76026,441,76028,28242,76030,28246],{},[150,76027,2657],{},[150,76029,26967],{},[18,76031,26914],{"href":28245},[54,76033,76034,28390,76036,28393],{},[150,76035,28389],{},[150,76037,26945],{},[11,76039,28396],{},[11,76041,76042],{},[150,76043,28268],{},[866,76045,76046],{"className":978,"code":28403,"language":980,"meta":760,"style":760},[150,76047,76048,76052,76062,76072,76078,76088,76098,76104,76108,76118,76128,76138,76148,76158,76168,76178,76184,76194,76204,76214,76224,76232,76236,76246,76256,76266,76274,76278,76282,76286],{"__ignoreMap":760},[984,76049,76050],{"class":986,"line":987},[984,76051,991],{"class":990},[984,76053,76054,76056,76058,76060],{"class":986,"line":761},[984,76055,1012],{"class":996},[984,76057,1015],{"class":990},[984,76059,28286],{"class":1003},[984,76061,1021],{"class":990},[984,76063,76064,76066,76068,76070],{"class":986,"line":772},[984,76065,997],{"class":996},[984,76067,1015],{"class":990},[984,76069,1004],{"class":1003},[984,76071,1021],{"class":990},[984,76073,76074,76076],{"class":986,"line":1024},[984,76075,1724],{"class":996},[984,76077,1083],{"class":990},[984,76079,76080,76082,76084,76086],{"class":986,"line":1035},[984,76081,2577],{"class":996},[984,76083,1015],{"class":990},[984,76085,5131],{"class":996},[984,76087,1021],{"class":990},[984,76089,76090,76092,76094,76096],{"class":986,"line":1098},[984,76091,2588],{"class":996},[984,76093,1015],{"class":990},[984,76095,27939],{"class":1003},[984,76097,1021],{"class":990},[984,76099,76100,76102],{"class":986,"line":1111},[984,76101,17104],{"class":996},[984,76103,1208],{"class":990},[984,76105,76106],{"class":986,"line":1124},[984,76107,28466],{"class":990},[984,76109,76110,76112,76114,76116],{"class":986,"line":1137},[984,76111,28471],{"class":996},[984,76113,1015],{"class":990},[984,76115,1345],{"class":996},[984,76117,1021],{"class":990},[984,76119,76120,76122,76124,76126],{"class":986,"line":1150},[984,76121,28482],{"class":996},[984,76123,1015],{"class":990},[984,76125,1362],{"class":996},[984,76127,1021],{"class":990},[984,76129,76130,76132,76134,76136],{"class":986,"line":1163},[984,76131,28493],{"class":996},[984,76133,1015],{"class":990},[984,76135,1374],{"class":1003},[984,76137,1021],{"class":990},[984,76139,76140,76142,76144,76146],{"class":986,"line":1176},[984,76141,28504],{"class":996},[984,76143,1015],{"class":990},[984,76145,1345],{"class":996},[984,76147,1021],{"class":990},[984,76149,76150,76152,76154,76156],{"class":986,"line":1189},[984,76151,28515],{"class":996},[984,76153,1015],{"class":990},[984,76155,1926],{"class":996},[984,76157,1021],{"class":990},[984,76159,76160,76162,76164,76166],{"class":986,"line":1202},[984,76161,28526],{"class":996},[984,76163,1015],{"class":990},[984,76165,24590],{"class":1003},[984,76167,1021],{"class":990},[984,76169,76170,76172,76174,76176],{"class":986,"line":1211},[984,76171,28537],{"class":996},[984,76173,1015],{"class":990},[984,76175,2682],{"class":996},[984,76177,1021],{"class":990},[984,76179,76180,76182],{"class":986,"line":1217},[984,76181,28548],{"class":996},[984,76183,1083],{"class":990},[984,76185,76186,76188,76190,76192],{"class":986,"line":1229},[984,76187,28555],{"class":996},[984,76189,1015],{"class":990},[984,76191,24620],{"class":1003},[984,76193,1021],{"class":990},[984,76195,76196,76198,76200,76202],{"class":986,"line":1241},[984,76197,28566],{"class":996},[984,76199,1015],{"class":990},[984,76201,24632],{"class":1003},[984,76203,1021],{"class":990},[984,76205,76206,76208,76210,76212],{"class":986,"line":1254},[984,76207,28577],{"class":996},[984,76209,1015],{"class":990},[984,76211,24644],{"class":1003},[984,76213,1021],{"class":990},[984,76215,76216,76218,76220,76222],{"class":986,"line":1266},[984,76217,28588],{"class":996},[984,76219,1015],{"class":990},[984,76221,24656],{"class":1003},[984,76223,1021],{"class":990},[984,76225,76226,76228,76230],{"class":986,"line":1279},[984,76227,28599],{"class":996},[984,76229,1015],{"class":990},[984,76231,24668],{"class":1003},[984,76233,76234],{"class":986,"line":1291},[984,76235,28608],{"class":990},[984,76237,76238,76240,76242,76244],{"class":986,"line":1304},[984,76239,28613],{"class":996},[984,76241,1015],{"class":990},[984,76243,2682],{"class":996},[984,76245,1021],{"class":990},[984,76247,76248,76250,76252,76254],{"class":986,"line":1316},[984,76249,28624],{"class":996},[984,76251,1015],{"class":990},[984,76253,2682],{"class":996},[984,76255,1021],{"class":990},[984,76257,76258,76260,76262,76264],{"class":986,"line":1327},[984,76259,28635],{"class":996},[984,76261,1015],{"class":990},[984,76263,1950],{"class":1003},[984,76265,1021],{"class":990},[984,76267,76268,76270,76272],{"class":986,"line":1333},[984,76269,28646],{"class":996},[984,76271,1015],{"class":990},[984,76273,1962],{"class":996},[984,76275,76276],{"class":986,"line":1338},[984,76277,28220],{"class":990},[984,76279,76280],{"class":986,"line":1355},[984,76281,28659],{"class":990},[984,76283,76284],{"class":986,"line":1367},[984,76285,1607],{"class":990},[984,76287,76288],{"class":986,"line":1379},[984,76289,1038],{"class":990},[89,76291,76292,76300],{},[54,76293,76294,441,76296,28242,76298,28246],{},[150,76295,2657],{},[150,76297,26967],{},[18,76299,26914],{"href":28245},[54,76301,76302,28682,76304,28685],{},[150,76303,28389],{},[18,76305,918],{"href":12373},[26,76307,19593],{"id":19593},[11,76309,28690,76310,4316],{},[150,76311,948],{},[11,76313,76314],{},[150,76315,28268],{},[866,76317,76318],{"className":978,"code":28699,"language":980,"meta":760,"style":760},[150,76319,76320,76324,76334,76344,76350,76360,76370,76376,76380,76390,76400,76410,76420,76430,76440,76450,76460,76468,76472,76476,76480],{"__ignoreMap":760},[984,76321,76322],{"class":986,"line":987},[984,76323,991],{"class":990},[984,76325,76326,76328,76330,76332],{"class":986,"line":761},[984,76327,1012],{"class":996},[984,76329,1015],{"class":990},[984,76331,28714],{"class":1003},[984,76333,1021],{"class":990},[984,76335,76336,76338,76340,76342],{"class":986,"line":772},[984,76337,997],{"class":996},[984,76339,1015],{"class":990},[984,76341,1004],{"class":1003},[984,76343,1021],{"class":990},[984,76345,76346,76348],{"class":986,"line":1024},[984,76347,1724],{"class":996},[984,76349,1083],{"class":990},[984,76351,76352,76354,76356,76358],{"class":986,"line":1035},[984,76353,2577],{"class":996},[984,76355,1015],{"class":990},[984,76357,5131],{"class":996},[984,76359,1021],{"class":990},[984,76361,76362,76364,76366,76368],{"class":986,"line":1098},[984,76363,2588],{"class":996},[984,76365,1015],{"class":990},[984,76367,27939],{"class":1003},[984,76369,1021],{"class":990},[984,76371,76372,76374],{"class":986,"line":1111},[984,76373,28757],{"class":996},[984,76375,1208],{"class":990},[984,76377,76378],{"class":986,"line":1124},[984,76379,9689],{"class":990},[984,76381,76382,76384,76386,76388],{"class":986,"line":1137},[984,76383,28768],{"class":996},[984,76385,1015],{"class":990},[984,76387,1158],{"class":996},[984,76389,1021],{"class":990},[984,76391,76392,76394,76396,76398],{"class":986,"line":1150},[984,76393,28779],{"class":996},[984,76395,1015],{"class":990},[984,76397,1171],{"class":996},[984,76399,1021],{"class":990},[984,76401,76402,76404,76406,76408],{"class":986,"line":1163},[984,76403,28790],{"class":996},[984,76405,1015],{"class":990},[984,76407,16963],{"class":996},[984,76409,1021],{"class":990},[984,76411,76412,76414,76416,76418],{"class":986,"line":1176},[984,76413,28801],{"class":996},[984,76415,1015],{"class":990},[984,76417,16974],{"class":996},[984,76419,1021],{"class":990},[984,76421,76422,76424,76426,76428],{"class":986,"line":1189},[984,76423,28812],{"class":996},[984,76425,1015],{"class":990},[984,76427,16985],{"class":1003},[984,76429,1021],{"class":990},[984,76431,76432,76434,76436,76438],{"class":986,"line":1202},[984,76433,28823],{"class":996},[984,76435,1015],{"class":990},[984,76437,14895],{"class":1003},[984,76439,1021],{"class":990},[984,76441,76442,76444,76446,76448],{"class":986,"line":1211},[984,76443,28834],{"class":996},[984,76445,1015],{"class":990},[984,76447,13091],{"class":1003},[984,76449,1021],{"class":990},[984,76451,76452,76454,76456,76458],{"class":986,"line":1217},[984,76453,28845],{"class":996},[984,76455,1015],{"class":990},[984,76457,1503],{"class":996},[984,76459,1021],{"class":990},[984,76461,76462,76464,76466],{"class":986,"line":1229},[984,76463,28856],{"class":996},[984,76465,1015],{"class":990},[984,76467,17028],{"class":1003},[984,76469,76470],{"class":986,"line":1241},[984,76471,28865],{"class":990},[984,76473,76474],{"class":986,"line":1254},[984,76475,28870],{"class":990},[984,76477,76478],{"class":986,"line":1266},[984,76479,1607],{"class":990},[984,76481,76482],{"class":986,"line":1279},[984,76483,1038],{"class":990},[89,76485,76486,76494],{},[54,76487,76488,441,76490,28242,76492,28246],{},[150,76489,2657],{},[150,76491,26967],{},[18,76493,26914],{"href":28245},[54,76495,76496,28893,76498,28685],{},[150,76497,8355],{},[18,76499,12024],{"href":12331},[26,76501,19599],{"id":19599},[11,76503,28900],{},[11,76505,76506],{},[150,76507,28268],{},[866,76509,76510],{"className":978,"code":40446,"language":980,"meta":760,"style":760},[150,76511,76512,76516,76526,76536,76542,76552,76562,76568,76572,76582,76592,76602,76612,76622,76632,76642,76652,76662,76672,76682,76692,76702,76712,76722,76728,76738,76748,76756,76760,76764,76768],{"__ignoreMap":760},[984,76513,76514],{"class":986,"line":987},[984,76515,991],{"class":990},[984,76517,76518,76520,76522,76524],{"class":986,"line":761},[984,76519,1012],{"class":996},[984,76521,1015],{"class":990},[984,76523,28922],{"class":1003},[984,76525,1021],{"class":990},[984,76527,76528,76530,76532,76534],{"class":986,"line":772},[984,76529,997],{"class":996},[984,76531,1015],{"class":990},[984,76533,1004],{"class":1003},[984,76535,1021],{"class":990},[984,76537,76538,76540],{"class":986,"line":1024},[984,76539,1724],{"class":996},[984,76541,1083],{"class":990},[984,76543,76544,76546,76548,76550],{"class":986,"line":1035},[984,76545,2577],{"class":996},[984,76547,1015],{"class":990},[984,76549,5131],{"class":996},[984,76551,1021],{"class":990},[984,76553,76554,76556,76558,76560],{"class":986,"line":1098},[984,76555,2588],{"class":996},[984,76557,1015],{"class":990},[984,76559,27939],{"class":1003},[984,76561,1021],{"class":990},[984,76563,76564,76566],{"class":986,"line":1111},[984,76565,28965],{"class":996},[984,76567,1208],{"class":990},[984,76569,76570],{"class":986,"line":1124},[984,76571,9689],{"class":990},[984,76573,76574,76576,76578,76580],{"class":986,"line":1137},[984,76575,28976],{"class":996},[984,76577,1738],{"class":990},[984,76579,14895],{"class":1003},[984,76581,1021],{"class":990},[984,76583,76584,76586,76588,76590],{"class":986,"line":1150},[984,76585,28779],{"class":996},[984,76587,1015],{"class":990},[984,76589,1171],{"class":996},[984,76591,1021],{"class":990},[984,76593,76594,76596,76598,76600],{"class":986,"line":1163},[984,76595,28997],{"class":996},[984,76597,1015],{"class":990},[984,76599,13091],{"class":1003},[984,76601,1021],{"class":990},[984,76603,76604,76606,76608,76610],{"class":986,"line":1176},[984,76605,29008],{"class":996},[984,76607,1015],{"class":990},[984,76609,4979],{"class":996},[984,76611,1021],{"class":990},[984,76613,76614,76616,76618,76620],{"class":986,"line":1189},[984,76615,29019],{"class":996},[984,76617,1015],{"class":990},[984,76619,14999],{"class":1003},[984,76621,1021],{"class":990},[984,76623,76624,76626,76628,76630],{"class":986,"line":1202},[984,76625,29030],{"class":996},[984,76627,1015],{"class":990},[984,76629,1562],{"class":1003},[984,76631,1021],{"class":990},[984,76633,76634,76636,76638,76640],{"class":986,"line":1211},[984,76635,29041],{"class":996},[984,76637,1015],{"class":990},[984,76639,15022],{"class":1003},[984,76641,1021],{"class":990},[984,76643,76644,76646,76648,76650],{"class":986,"line":1217},[984,76645,28845],{"class":996},[984,76647,1015],{"class":990},[984,76649,2431],{"class":996},[984,76651,1021],{"class":990},[984,76653,76654,76656,76658,76660],{"class":986,"line":1229},[984,76655,28856],{"class":996},[984,76657,1738],{"class":990},[984,76659,15045],{"class":1003},[984,76661,1021],{"class":990},[984,76663,76664,76666,76668,76670],{"class":986,"line":1241},[984,76665,29072],{"class":996},[984,76667,1015],{"class":990},[984,76669,1171],{"class":996},[984,76671,1021],{"class":990},[984,76673,76674,76676,76678,76680],{"class":986,"line":1254},[984,76675,29083],{"class":996},[984,76677,1015],{"class":990},[984,76679,15068],{"class":1003},[984,76681,1021],{"class":990},[984,76683,76684,76686,76688,76690],{"class":986,"line":1266},[984,76685,29094],{"class":996},[984,76687,1738],{"class":990},[984,76689,15080],{"class":1003},[984,76691,1021],{"class":990},[984,76693,76694,76696,76698,76700],{"class":986,"line":1279},[984,76695,29105],{"class":996},[984,76697,1015],{"class":990},[984,76699,1539],{"class":996},[984,76701,1021],{"class":990},[984,76703,76704,76706,76708,76710],{"class":986,"line":1291},[984,76705,29116],{"class":996},[984,76707,1738],{"class":990},[984,76709,15101],{"class":996},[984,76711,1021],{"class":990},[984,76713,76714,76716,76718,76720],{"class":986,"line":1304},[984,76715,29127],{"class":996},[984,76717,1738],{"class":990},[984,76719,5089],{"class":996},[984,76721,1021],{"class":990},[984,76723,76724,76726],{"class":986,"line":1316},[984,76725,40663],{"class":996},[984,76727,6628],{"class":990},[984,76729,76730,76732,76734,76736],{"class":986,"line":1327},[984,76731,29138],{"class":996},[984,76733,1015],{"class":990},[984,76735,15124],{"class":1003},[984,76737,1021],{"class":990},[984,76739,76740,76742,76744,76746],{"class":986,"line":1333},[984,76741,29149],{"class":996},[984,76743,1015],{"class":990},[984,76745,13182],{"class":1003},[984,76747,1021],{"class":990},[984,76749,76750,76752,76754],{"class":986,"line":1338},[984,76751,29160],{"class":996},[984,76753,1015],{"class":990},[984,76755,15147],{"class":1003},[984,76757,76758],{"class":986,"line":1355},[984,76759,28865],{"class":990},[984,76761,76762],{"class":986,"line":1367},[984,76763,28870],{"class":990},[984,76765,76766],{"class":986,"line":1379},[984,76767,1607],{"class":990},[984,76769,76770],{"class":986,"line":1390},[984,76771,1038],{"class":990},[89,76773,76774,76782],{},[54,76775,76776,441,76778,28242,76780,28246],{},[150,76777,2657],{},[150,76779,26967],{},[18,76781,26914],{"href":28245},[54,76783,76784,29196,76786,28685],{},[150,76785,29195],{},[18,76787,12303],{"href":12302},[43,76789,29326],{"id":29326},[11,76791,40730],{},[11,76793,76794],{},[150,76795,1043],{},[866,76797,76798],{"className":978,"code":40737,"language":980,"meta":760,"style":760},[150,76799,76800,76804,76814,76824,76830,76840,76850,76854],{"__ignoreMap":760},[984,76801,76802],{"class":986,"line":987},[984,76803,991],{"class":990},[984,76805,76806,76808,76810,76812],{"class":986,"line":761},[984,76807,1057],{"class":996},[984,76809,1015],{"class":990},[984,76811,40752],{"class":1003},[984,76813,1021],{"class":990},[984,76815,76816,76818,76820,76822],{"class":986,"line":772},[984,76817,1069],{"class":996},[984,76819,1015],{"class":990},[984,76821,1004],{"class":1003},[984,76823,1021],{"class":990},[984,76825,76826,76828],{"class":986,"line":1024},[984,76827,1080],{"class":996},[984,76829,1083],{"class":990},[984,76831,76832,76834,76836,76838],{"class":986,"line":1035},[984,76833,40775],{"class":996},[984,76835,1015],{"class":990},[984,76837,2682],{"class":996},[984,76839,1021],{"class":990},[984,76841,76842,76844,76846,76848],{"class":986,"line":1098},[984,76843,40786],{"class":996},[984,76845,1015],{"class":990},[984,76847,5089],{"class":996},[984,76849,1021],{"class":990},[984,76851,76852],{"class":986,"line":1111},[984,76853,1459],{"class":990},[984,76855,76856],{"class":986,"line":1124},[984,76857,1038],{"class":990},[89,76859,76860,76866,76872],{},[54,76861,76862,40808,76864,40811],{},[150,76863,40807],{},[150,76865,2682],{},[54,76867,76868,557,76870,40819],{},[150,76869,40816],{},[150,76871,2682],{},[54,76873,76874,40825],{},[150,76875,40824],{},[26,76877,29479],{"id":29479},[11,76879,40830],{},[11,76881,76882],{},[150,76883,975],{},[866,76885,76886],{"className":978,"code":40837,"language":980,"meta":760,"style":760},[150,76887,76888,76892,76902,76912,76922,76928,76932,76942,76950,76954],{"__ignoreMap":760},[984,76889,76890],{"class":986,"line":987},[984,76891,991],{"class":990},[984,76893,76894,76896,76898,76900],{"class":986,"line":761},[984,76895,997],{"class":996},[984,76897,1000],{"class":990},[984,76899,1004],{"class":1003},[984,76901,1007],{"class":990},[984,76903,76904,76906,76908,76910],{"class":986,"line":772},[984,76905,1012],{"class":996},[984,76907,1015],{"class":990},[984,76909,1345],{"class":996},[984,76911,1021],{"class":990},[984,76913,76914,76916,76918,76920],{"class":986,"line":1024},[984,76915,1027],{"class":996},[984,76917,1015],{"class":990},[984,76919,40872],{"class":1003},[984,76921,1007],{"class":990},[984,76923,76924,76926],{"class":986,"line":1035},[984,76925,1521],{"class":996},[984,76927,1524],{"class":990},[984,76929,76930],{"class":986,"line":1098},[984,76931,1529],{"class":990},[984,76933,76934,76936,76938,76940],{"class":986,"line":1111},[984,76935,40889],{"class":996},[984,76937,1738],{"class":990},[984,76939,40894],{"class":1003},[984,76941,1021],{"class":990},[984,76943,76944,76946,76948],{"class":986,"line":1124},[984,76945,40901],{"class":996},[984,76947,1015],{"class":990},[984,76949,40906],{"class":1003},[984,76951,76952],{"class":986,"line":1137},[984,76953,1607],{"class":990},[984,76955,76956],{"class":986,"line":1150},[984,76957,1038],{"class":990},[89,76959,76960,76964],{},[54,76961,76962,40921],{},[150,76963,11992],{},[54,76965,76966,40927],{},[150,76967,40926],{},[11,76969,76970],{},[150,76971,1043],{},[866,76973,76974],{"className":978,"code":40934,"language":980,"meta":760,"style":760},[150,76975,76976,76980,76990,77000,77006,77010,77018,77022],{"__ignoreMap":760},[984,76977,76978],{"class":986,"line":987},[984,76979,991],{"class":990},[984,76981,76982,76984,76986,76988],{"class":986,"line":761},[984,76983,997],{"class":996},[984,76985,1000],{"class":990},[984,76987,1004],{"class":1003},[984,76989,1007],{"class":990},[984,76991,76992,76994,76996,76998],{"class":986,"line":772},[984,76993,1012],{"class":996},[984,76995,1015],{"class":990},[984,76997,1345],{"class":996},[984,76999,1021],{"class":990},[984,77001,77002,77004],{"class":986,"line":1024},[984,77003,1724],{"class":996},[984,77005,5895],{"class":990},[984,77007,77008],{"class":986,"line":1035},[984,77009,1529],{"class":990},[984,77011,77012,77014,77016],{"class":986,"line":1098},[984,77013,40975],{"class":996},[984,77015,1738],{"class":990},[984,77017,40980],{"class":1003},[984,77019,77020],{"class":986,"line":1111},[984,77021,1607],{"class":990},[984,77023,77024],{"class":986,"line":1124},[984,77025,1038],{"class":990},[89,77027,77028],{},[54,77029,77030,40996],{},[150,77031,40995],{},[26,77033,29487],{"id":29487},[11,77035,41001],{},[11,77037,77038],{},[150,77039,975],{},[866,77041,77042],{"className":978,"code":41008,"language":980,"meta":760,"style":760},[150,77043,77044,77048,77058,77068,77078,77084,77088,77098,77108,77116,77120],{"__ignoreMap":760},[984,77045,77046],{"class":986,"line":987},[984,77047,991],{"class":990},[984,77049,77050,77052,77054,77056],{"class":986,"line":761},[984,77051,997],{"class":996},[984,77053,1000],{"class":990},[984,77055,1004],{"class":1003},[984,77057,1007],{"class":990},[984,77059,77060,77062,77064,77066],{"class":986,"line":772},[984,77061,1012],{"class":996},[984,77063,1015],{"class":990},[984,77065,1345],{"class":996},[984,77067,1021],{"class":990},[984,77069,77070,77072,77074,77076],{"class":986,"line":1024},[984,77071,1027],{"class":996},[984,77073,1015],{"class":990},[984,77075,41043],{"class":1003},[984,77077,1007],{"class":990},[984,77079,77080,77082],{"class":986,"line":1035},[984,77081,1521],{"class":996},[984,77083,1524],{"class":990},[984,77085,77086],{"class":986,"line":1098},[984,77087,1529],{"class":990},[984,77089,77090,77092,77094,77096],{"class":986,"line":1111},[984,77091,40889],{"class":996},[984,77093,1738],{"class":990},[984,77095,40894],{"class":1003},[984,77097,1021],{"class":990},[984,77099,77100,77102,77104,77106],{"class":986,"line":1124},[984,77101,41070],{"class":996},[984,77103,1015],{"class":990},[984,77105,41075],{"class":1003},[984,77107,1021],{"class":990},[984,77109,77110,77112,77114],{"class":986,"line":1137},[984,77111,40975],{"class":996},[984,77113,1015],{"class":990},[984,77115,40980],{"class":1003},[984,77117,77118],{"class":986,"line":1150},[984,77119,1607],{"class":990},[984,77121,77122],{"class":986,"line":1163},[984,77123,1038],{"class":990},[89,77125,77126,77130,77134],{},[54,77127,77128,40921],{},[150,77129,11992],{},[54,77131,77132,41105],{},[150,77133,41104],{},[54,77135,77136,41110],{},[150,77137,40995],{},[11,77139,77140],{},[150,77141,1043],{},[866,77143,77144],{"className":978,"code":41117,"language":980,"meta":760,"style":760},[150,77145,77146,77150,77160,77170,77178],{"__ignoreMap":760},[984,77147,77148],{"class":986,"line":987},[984,77149,991],{"class":990},[984,77151,77152,77154,77156,77158],{"class":986,"line":761},[984,77153,997],{"class":996},[984,77155,1000],{"class":990},[984,77157,1004],{"class":1003},[984,77159,1007],{"class":990},[984,77161,77162,77164,77166,77168],{"class":986,"line":772},[984,77163,1012],{"class":996},[984,77165,1015],{"class":990},[984,77167,1345],{"class":996},[984,77169,1021],{"class":990},[984,77171,77172,77174,77176],{"class":986,"line":1024},[984,77173,1724],{"class":996},[984,77175,1738],{"class":990},[984,77177,2497],{"class":996},[984,77179,77180],{"class":986,"line":1035},[984,77181,1038],{"class":990},[26,77183,41247],{"id":41247},[11,77185,52726],{},[11,77187,77188],{},[150,77189,975],{},[866,77191,77192],{"className":978,"code":52733,"language":980,"meta":760,"style":760},[150,77193,77194,77198,77208,77218,77228,77234,77238,77248,77252],{"__ignoreMap":760},[984,77195,77196],{"class":986,"line":987},[984,77197,991],{"class":990},[984,77199,77200,77202,77204,77206],{"class":986,"line":761},[984,77201,997],{"class":996},[984,77203,1000],{"class":990},[984,77205,1004],{"class":1003},[984,77207,1007],{"class":990},[984,77209,77210,77212,77214,77216],{"class":986,"line":772},[984,77211,1012],{"class":996},[984,77213,1015],{"class":990},[984,77215,1345],{"class":996},[984,77217,1021],{"class":990},[984,77219,77220,77222,77224,77226],{"class":986,"line":1024},[984,77221,1027],{"class":996},[984,77223,1015],{"class":990},[984,77225,52768],{"class":1003},[984,77227,1007],{"class":990},[984,77229,77230,77232],{"class":986,"line":1035},[984,77231,1521],{"class":996},[984,77233,1524],{"class":990},[984,77235,77236],{"class":986,"line":1098},[984,77237,1529],{"class":990},[984,77239,77240,77242,77244,77246],{"class":986,"line":1111},[984,77241,52785],{"class":996},[984,77243,1738],{"class":990},[984,77245,52790],{"class":1003},[984,77247,1021],{"class":990},[984,77249,77250],{"class":986,"line":1124},[984,77251,1607],{"class":990},[984,77253,77254],{"class":986,"line":1137},[984,77255,1038],{"class":990},[89,77257,77258],{},[54,77259,77260,52808],{},[150,77261,52807],{},[11,77263,77264],{},[150,77265,1043],{},[866,77267,77268],{"className":978,"code":52815,"language":980,"meta":760,"style":760},[150,77269,77270,77274,77284,77294,77300,77308,77312],{"__ignoreMap":760},[984,77271,77272],{"class":986,"line":987},[984,77273,991],{"class":990},[984,77275,77276,77278,77280,77282],{"class":986,"line":761},[984,77277,997],{"class":996},[984,77279,1000],{"class":990},[984,77281,1004],{"class":1003},[984,77283,1007],{"class":990},[984,77285,77286,77288,77290,77292],{"class":986,"line":772},[984,77287,1012],{"class":996},[984,77289,1015],{"class":990},[984,77291,1345],{"class":996},[984,77293,1021],{"class":990},[984,77295,77296,77298],{"class":986,"line":1024},[984,77297,1724],{"class":996},[984,77299,52848],{"class":990},[984,77301,77302,77304,77306],{"class":986,"line":1035},[984,77303,52853],{"class":996},[984,77305,1015],{"class":990},[984,77307,52858],{"class":1003},[984,77309,77310],{"class":986,"line":1098},[984,77311,1607],{"class":990},[984,77313,77314],{"class":986,"line":1111},[984,77315,1038],{"class":990},[26,77317,52962],{"id":52962},[11,77319,64623],{},[11,77321,77322],{},[150,77323,975],{},[866,77325,77326],{"className":978,"code":64630,"language":980,"meta":760,"style":760},[150,77327,77328,77332,77342,77352,77360],{"__ignoreMap":760},[984,77329,77330],{"class":986,"line":987},[984,77331,991],{"class":990},[984,77333,77334,77336,77338,77340],{"class":986,"line":761},[984,77335,997],{"class":996},[984,77337,1738],{"class":990},[984,77339,1004],{"class":1003},[984,77341,1021],{"class":990},[984,77343,77344,77346,77348,77350],{"class":986,"line":772},[984,77345,1012],{"class":996},[984,77347,1738],{"class":990},[984,77349,1345],{"class":996},[984,77351,1021],{"class":990},[984,77353,77354,77356,77358],{"class":986,"line":1024},[984,77355,1027],{"class":996},[984,77357,1738],{"class":990},[984,77359,64665],{"class":1003},[984,77361,77362],{"class":986,"line":1035},[984,77363,1038],{"class":990},[11,77365,77366],{},[150,77367,1043],{},[866,77369,77370],{"className":978,"code":64676,"language":980,"meta":760,"style":760},[150,77371,77372,77376,77386,77396,77402,77406,77416,77426,77436,77446,77456,77466,77476,77486,77496,77504,77508,77512,77522,77532,77542,77552,77562,77572,77582,77592,77602,77610,77614,77618],{"__ignoreMap":760},[984,77373,77374],{"class":986,"line":987},[984,77375,991],{"class":990},[984,77377,77378,77380,77382,77384],{"class":986,"line":761},[984,77379,1057],{"class":996},[984,77381,1015],{"class":990},[984,77383,1345],{"class":996},[984,77385,1021],{"class":990},[984,77387,77388,77390,77392,77394],{"class":986,"line":772},[984,77389,1069],{"class":996},[984,77391,1015],{"class":990},[984,77393,1004],{"class":1003},[984,77395,1021],{"class":990},[984,77397,77398,77400],{"class":986,"line":1024},[984,77399,64707],{"class":996},[984,77401,1208],{"class":990},[984,77403,77404],{"class":986,"line":1035},[984,77405,1529],{"class":990},[984,77407,77408,77410,77412,77414],{"class":986,"line":1098},[984,77409,15566],{"class":996},[984,77411,1015],{"class":990},[984,77413,64722],{"class":996},[984,77415,1021],{"class":990},[984,77417,77418,77420,77422,77424],{"class":986,"line":1111},[984,77419,64729],{"class":996},[984,77421,1015],{"class":990},[984,77423,64734],{"class":996},[984,77425,1021],{"class":990},[984,77427,77428,77430,77432,77434],{"class":986,"line":1124},[984,77429,6667],{"class":996},[984,77431,1015],{"class":990},[984,77433,64745],{"class":1003},[984,77435,1021],{"class":990},[984,77437,77438,77440,77442,77444],{"class":986,"line":1137},[984,77439,64752],{"class":996},[984,77441,1015],{"class":990},[984,77443,5089],{"class":996},[984,77445,1021],{"class":990},[984,77447,77448,77450,77452,77454],{"class":986,"line":1150},[984,77449,64763],{"class":996},[984,77451,1015],{"class":990},[984,77453,32832],{"class":996},[984,77455,1021],{"class":990},[984,77457,77458,77460,77462,77464],{"class":986,"line":1163},[984,77459,64774],{"class":996},[984,77461,1015],{"class":990},[984,77463,1171],{"class":996},[984,77465,1021],{"class":990},[984,77467,77468,77470,77472,77474],{"class":986,"line":1176},[984,77469,64785],{"class":996},[984,77471,1015],{"class":990},[984,77473,64790],{"class":1003},[984,77475,1021],{"class":990},[984,77477,77478,77480,77482,77484],{"class":986,"line":1189},[984,77479,64797],{"class":996},[984,77481,1015],{"class":990},[984,77483,32832],{"class":996},[984,77485,1021],{"class":990},[984,77487,77488,77490,77492,77494],{"class":986,"line":1202},[984,77489,64808],{"class":996},[984,77491,1015],{"class":990},[984,77493,1503],{"class":996},[984,77495,1021],{"class":990},[984,77497,77498,77500,77502],{"class":986,"line":1211},[984,77499,64819],{"class":996},[984,77501,1015],{"class":990},[984,77503,64824],{"class":1003},[984,77505,77506],{"class":986,"line":1217},[984,77507,15511],{"class":990},[984,77509,77510],{"class":986,"line":1229},[984,77511,1529],{"class":990},[984,77513,77514,77516,77518,77520],{"class":986,"line":1241},[984,77515,15566],{"class":996},[984,77517,1015],{"class":990},[984,77519,64841],{"class":996},[984,77521,1021],{"class":990},[984,77523,77524,77526,77528,77530],{"class":986,"line":1254},[984,77525,64729],{"class":996},[984,77527,1015],{"class":990},[984,77529,64852],{"class":996},[984,77531,1021],{"class":990},[984,77533,77534,77536,77538,77540],{"class":986,"line":1266},[984,77535,6667],{"class":996},[984,77537,1015],{"class":990},[984,77539,64863],{"class":1003},[984,77541,1021],{"class":990},[984,77543,77544,77546,77548,77550],{"class":986,"line":1279},[984,77545,64752],{"class":996},[984,77547,1015],{"class":990},[984,77549,5089],{"class":996},[984,77551,1021],{"class":990},[984,77553,77554,77556,77558,77560],{"class":986,"line":1291},[984,77555,64763],{"class":996},[984,77557,1015],{"class":990},[984,77559,3592],{"class":996},[984,77561,1021],{"class":990},[984,77563,77564,77566,77568,77570],{"class":986,"line":1304},[984,77565,64774],{"class":996},[984,77567,1015],{"class":990},[984,77569,1171],{"class":996},[984,77571,1021],{"class":990},[984,77573,77574,77576,77578,77580],{"class":986,"line":1316},[984,77575,64785],{"class":996},[984,77577,1015],{"class":990},[984,77579,64790],{"class":1003},[984,77581,1021],{"class":990},[984,77583,77584,77586,77588,77590],{"class":986,"line":1327},[984,77585,64797],{"class":996},[984,77587,1015],{"class":990},[984,77589,3592],{"class":996},[984,77591,1021],{"class":990},[984,77593,77594,77596,77598,77600],{"class":986,"line":1333},[984,77595,64808],{"class":996},[984,77597,1015],{"class":990},[984,77599,1503],{"class":996},[984,77601,1021],{"class":990},[984,77603,77604,77606,77608],{"class":986,"line":1338},[984,77605,64819],{"class":996},[984,77607,1015],{"class":990},[984,77609,64824],{"class":1003},[984,77611,77612],{"class":986,"line":1355},[984,77613,1607],{"class":990},[984,77615,77616],{"class":986,"line":1367},[984,77617,17287],{"class":990},[984,77619,77620],{"class":986,"line":1379},[984,77621,1038],{"class":990},[26,77623,52968],{"id":52968},[11,77625,64950],{},[11,77627,77628],{},[150,77629,975],{},[866,77631,77632],{"className":978,"code":64957,"language":980,"meta":760,"style":760},[150,77633,77634,77638,77648,77658,77668,77674,77684,77694,77704,77714,77724,77732,77736],{"__ignoreMap":760},[984,77635,77636],{"class":986,"line":987},[984,77637,991],{"class":990},[984,77639,77640,77642,77644,77646],{"class":986,"line":761},[984,77641,997],{"class":996},[984,77643,1738],{"class":990},[984,77645,1004],{"class":1003},[984,77647,1021],{"class":990},[984,77649,77650,77652,77654,77656],{"class":986,"line":772},[984,77651,1012],{"class":996},[984,77653,1738],{"class":990},[984,77655,1345],{"class":996},[984,77657,1021],{"class":990},[984,77659,77660,77662,77664,77666],{"class":986,"line":1024},[984,77661,1027],{"class":996},[984,77663,1738],{"class":990},[984,77665,64992],{"class":1003},[984,77667,1021],{"class":990},[984,77669,77670,77672],{"class":986,"line":1035},[984,77671,1521],{"class":996},[984,77673,1083],{"class":990},[984,77675,77676,77678,77680,77682],{"class":986,"line":1098},[984,77677,65005],{"class":996},[984,77679,1015],{"class":990},[984,77681,3592],{"class":996},[984,77683,1021],{"class":990},[984,77685,77686,77688,77690,77692],{"class":986,"line":1111},[984,77687,65016],{"class":996},[984,77689,1015],{"class":990},[984,77691,8099],{"class":996},[984,77693,1021],{"class":990},[984,77695,77696,77698,77700,77702],{"class":986,"line":1124},[984,77697,65027],{"class":996},[984,77699,1015],{"class":990},[984,77701,3592],{"class":996},[984,77703,1021],{"class":990},[984,77705,77706,77708,77710,77712],{"class":986,"line":1137},[984,77707,65038],{"class":996},[984,77709,1015],{"class":990},[984,77711,1171],{"class":996},[984,77713,1021],{"class":990},[984,77715,77716,77718,77720,77722],{"class":986,"line":1150},[984,77717,65049],{"class":996},[984,77719,1015],{"class":990},[984,77721,1197],{"class":996},[984,77723,1021],{"class":990},[984,77725,77726,77728,77730],{"class":986,"line":1163},[984,77727,1580],{"class":996},[984,77729,1015],{"class":990},[984,77731,65064],{"class":1003},[984,77733,77734],{"class":986,"line":1176},[984,77735,1607],{"class":990},[984,77737,77738],{"class":986,"line":1189},[984,77739,1038],{"class":990},[11,77741,77742],{},[150,77743,1043],{},[866,77745,77746],{"className":978,"code":65079,"language":980,"meta":760,"style":760},[150,77747,77748,77752,77762,77772,77778,77788,77798,77808,77818,77828,77838,77848,77858,77868,77876,77880],{"__ignoreMap":760},[984,77749,77750],{"class":986,"line":987},[984,77751,991],{"class":990},[984,77753,77754,77756,77758,77760],{"class":986,"line":761},[984,77755,1057],{"class":996},[984,77757,1015],{"class":990},[984,77759,1345],{"class":996},[984,77761,1021],{"class":990},[984,77763,77764,77766,77768,77770],{"class":986,"line":772},[984,77765,1069],{"class":996},[984,77767,1015],{"class":990},[984,77769,1004],{"class":1003},[984,77771,1021],{"class":990},[984,77773,77774,77776],{"class":986,"line":1024},[984,77775,65110],{"class":996},[984,77777,1083],{"class":990},[984,77779,77780,77782,77784,77786],{"class":986,"line":1035},[984,77781,65117],{"class":996},[984,77783,1015],{"class":990},[984,77785,65122],{"class":996},[984,77787,1021],{"class":990},[984,77789,77790,77792,77794,77796],{"class":986,"line":1098},[984,77791,65129],{"class":996},[984,77793,1015],{"class":990},[984,77795,65134],{"class":996},[984,77797,1021],{"class":990},[984,77799,77800,77802,77804,77806],{"class":986,"line":1111},[984,77801,1012],{"class":996},[984,77803,1015],{"class":990},[984,77805,65145],{"class":1003},[984,77807,1021],{"class":990},[984,77809,77810,77812,77814,77816],{"class":986,"line":1124},[984,77811,65152],{"class":996},[984,77813,1015],{"class":990},[984,77815,2682],{"class":996},[984,77817,1021],{"class":990},[984,77819,77820,77822,77824,77826],{"class":986,"line":1137},[984,77821,65163],{"class":996},[984,77823,1015],{"class":990},[984,77825,3592],{"class":996},[984,77827,1021],{"class":990},[984,77829,77830,77832,77834,77836],{"class":986,"line":1150},[984,77831,65174],{"class":996},[984,77833,1015],{"class":990},[984,77835,1171],{"class":996},[984,77837,1021],{"class":990},[984,77839,77840,77842,77844,77846],{"class":986,"line":1163},[984,77841,65185],{"class":996},[984,77843,1015],{"class":990},[984,77845,64790],{"class":1003},[984,77847,1021],{"class":990},[984,77849,77850,77852,77854,77856],{"class":986,"line":1176},[984,77851,65196],{"class":996},[984,77853,1015],{"class":990},[984,77855,3592],{"class":996},[984,77857,1021],{"class":990},[984,77859,77860,77862,77864,77866],{"class":986,"line":1189},[984,77861,65207],{"class":996},[984,77863,1015],{"class":990},[984,77865,8099],{"class":996},[984,77867,1021],{"class":990},[984,77869,77870,77872,77874],{"class":986,"line":1202},[984,77871,65218],{"class":996},[984,77873,1015],{"class":990},[984,77875,65223],{"class":1003},[984,77877,77878],{"class":986,"line":1211},[984,77879,1459],{"class":990},[984,77881,77882],{"class":986,"line":1217},[984,77883,1038],{"class":990},[26,77885,52974],{"id":52974},[11,77887,65236],{},[11,77889,77890],{},[150,77891,975],{},[866,77893,77894],{"className":978,"code":65243,"language":980,"meta":760,"style":760},[150,77895,77896,77900,77910,77920,77930,77936,77944,77948],{"__ignoreMap":760},[984,77897,77898],{"class":986,"line":987},[984,77899,991],{"class":990},[984,77901,77902,77904,77906,77908],{"class":986,"line":761},[984,77903,997],{"class":996},[984,77905,1738],{"class":990},[984,77907,1004],{"class":1003},[984,77909,1021],{"class":990},[984,77911,77912,77914,77916,77918],{"class":986,"line":772},[984,77913,1012],{"class":996},[984,77915,1738],{"class":990},[984,77917,1345],{"class":996},[984,77919,1021],{"class":990},[984,77921,77922,77924,77926,77928],{"class":986,"line":1024},[984,77923,1027],{"class":996},[984,77925,1738],{"class":990},[984,77927,65278],{"class":1003},[984,77929,1021],{"class":990},[984,77931,77932,77934],{"class":986,"line":1035},[984,77933,1521],{"class":996},[984,77935,1083],{"class":990},[984,77937,77938,77940,77942],{"class":986,"line":1098},[984,77939,65291],{"class":996},[984,77941,1015],{"class":990},[984,77943,65296],{"class":1003},[984,77945,77946],{"class":986,"line":1111},[984,77947,1607],{"class":990},[984,77949,77950],{"class":986,"line":1124},[984,77951,1038],{"class":990},[11,77953,77954],{},[150,77955,1043],{},[866,77957,77958],{"className":978,"code":65311,"language":980,"meta":760,"style":760},[150,77959,77960,77964,77974,77984,77992],{"__ignoreMap":760},[984,77961,77962],{"class":986,"line":987},[984,77963,991],{"class":990},[984,77965,77966,77968,77970,77972],{"class":986,"line":761},[984,77967,1057],{"class":996},[984,77969,1015],{"class":990},[984,77971,1345],{"class":996},[984,77973,1021],{"class":990},[984,77975,77976,77978,77980,77982],{"class":986,"line":772},[984,77977,1069],{"class":996},[984,77979,1015],{"class":990},[984,77981,1004],{"class":1003},[984,77983,1021],{"class":990},[984,77985,77986,77988,77990],{"class":986,"line":1024},[984,77987,65110],{"class":996},[984,77989,1015],{"class":990},[984,77991,65296],{"class":1003},[984,77993,77994],{"class":986,"line":1035},[984,77995,1038],{"class":990},[26,77997,52980],{"id":52980},[11,77999,65354],{},[11,78001,78002],{},[150,78003,975],{},[866,78005,78006],{"className":978,"code":65361,"language":980,"meta":760,"style":760},[150,78007,78008,78012,78022,78032,78042,78048,78056,78060],{"__ignoreMap":760},[984,78009,78010],{"class":986,"line":987},[984,78011,991],{"class":990},[984,78013,78014,78016,78018,78020],{"class":986,"line":761},[984,78015,997],{"class":996},[984,78017,1738],{"class":990},[984,78019,1004],{"class":1003},[984,78021,1021],{"class":990},[984,78023,78024,78026,78028,78030],{"class":986,"line":772},[984,78025,1012],{"class":996},[984,78027,1738],{"class":990},[984,78029,1345],{"class":996},[984,78031,1021],{"class":990},[984,78033,78034,78036,78038,78040],{"class":986,"line":1024},[984,78035,1027],{"class":996},[984,78037,1738],{"class":990},[984,78039,65396],{"class":1003},[984,78041,1021],{"class":990},[984,78043,78044,78046],{"class":986,"line":1035},[984,78045,1521],{"class":996},[984,78047,1083],{"class":990},[984,78049,78050,78052,78054],{"class":986,"line":1098},[984,78051,65291],{"class":996},[984,78053,1015],{"class":990},[984,78055,65413],{"class":1003},[984,78057,78058],{"class":986,"line":1111},[984,78059,1607],{"class":990},[984,78061,78062],{"class":986,"line":1124},[984,78063,1038],{"class":990},[11,78065,78066],{},[150,78067,1043],{},[866,78069,78070],{"className":978,"code":65428,"language":980,"meta":760,"style":760},[150,78071,78072,78076,78086,78096,78102,78112,78122,78132,78142,78152,78162,78172,78182,78192,78200,78204,78212],{"__ignoreMap":760},[984,78073,78074],{"class":986,"line":987},[984,78075,991],{"class":990},[984,78077,78078,78080,78082,78084],{"class":986,"line":761},[984,78079,1057],{"class":996},[984,78081,1015],{"class":990},[984,78083,1345],{"class":996},[984,78085,1021],{"class":990},[984,78087,78088,78090,78092,78094],{"class":986,"line":772},[984,78089,1069],{"class":996},[984,78091,1015],{"class":990},[984,78093,1004],{"class":1003},[984,78095,1021],{"class":990},[984,78097,78098,78100],{"class":986,"line":1024},[984,78099,65110],{"class":996},[984,78101,1083],{"class":990},[984,78103,78104,78106,78108,78110],{"class":986,"line":1035},[984,78105,65117],{"class":996},[984,78107,1015],{"class":990},[984,78109,64722],{"class":996},[984,78111,1021],{"class":990},[984,78113,78114,78116,78118,78120],{"class":986,"line":1098},[984,78115,65129],{"class":996},[984,78117,1015],{"class":990},[984,78119,64734],{"class":996},[984,78121,1021],{"class":990},[984,78123,78124,78126,78128,78130],{"class":986,"line":1111},[984,78125,1012],{"class":996},[984,78127,1015],{"class":990},[984,78129,64745],{"class":1003},[984,78131,1021],{"class":990},[984,78133,78134,78136,78138,78140],{"class":986,"line":1124},[984,78135,65152],{"class":996},[984,78137,1015],{"class":990},[984,78139,5089],{"class":996},[984,78141,1021],{"class":990},[984,78143,78144,78146,78148,78150],{"class":986,"line":1137},[984,78145,65163],{"class":996},[984,78147,1015],{"class":990},[984,78149,32832],{"class":996},[984,78151,1021],{"class":990},[984,78153,78154,78156,78158,78160],{"class":986,"line":1150},[984,78155,65174],{"class":996},[984,78157,1015],{"class":990},[984,78159,1171],{"class":996},[984,78161,1021],{"class":990},[984,78163,78164,78166,78168,78170],{"class":986,"line":1163},[984,78165,65185],{"class":996},[984,78167,1015],{"class":990},[984,78169,64790],{"class":1003},[984,78171,1021],{"class":990},[984,78173,78174,78176,78178,78180],{"class":986,"line":1176},[984,78175,65196],{"class":996},[984,78177,1015],{"class":990},[984,78179,32832],{"class":996},[984,78181,1021],{"class":990},[984,78183,78184,78186,78188,78190],{"class":986,"line":1189},[984,78185,65207],{"class":996},[984,78187,1015],{"class":990},[984,78189,1503],{"class":996},[984,78191,1021],{"class":990},[984,78193,78194,78196,78198],{"class":986,"line":1202},[984,78195,65218],{"class":996},[984,78197,1015],{"class":990},[984,78199,64824],{"class":1003},[984,78201,78202],{"class":986,"line":1211},[984,78203,7129],{"class":990},[984,78205,78206,78208,78210],{"class":986,"line":1217},[984,78207,65567],{"class":996},[984,78209,1015],{"class":990},[984,78211,65572],{"class":1003},[984,78213,78214],{"class":986,"line":1229},[984,78215,1038],{"class":990},[2685,78217,8046],{},{"title":760,"searchDepth":761,"depth":761,"links":78219},[78220,78223,78224,78230,78231,78232,78233,78234,78237,78238,78239,78240,78241,78242,78243,78244,78245,78246,78247,78252,78253,78254,78255,78256,78257,78258,78263,78264,78265,78266,78267,78268,78269,78270,78271,78272,78273,78274,78275,78276,78277,78278,78279,78280,78281,78282,78283,78284,78285,78286],{"id":65660,"depth":761,"text":65661,"children":78221},[78222],{"id":19497,"depth":772,"text":19498},{"id":12086,"depth":761,"text":12087},{"id":12229,"depth":761,"text":12230,"children":78225},[78226,78227,78228,78229],{"id":29572,"depth":772,"text":29573},{"id":29754,"depth":772,"text":29755},{"id":53279,"depth":772,"text":53280},{"id":53292,"depth":772,"text":53293},{"id":26880,"depth":761,"text":29821},{"id":18489,"depth":761,"text":18490},{"id":6196,"depth":761,"text":6196},{"id":5854,"depth":761,"text":5854},{"id":12265,"depth":761,"text":12265,"children":78235},[78236],{"id":13237,"depth":772,"text":2757},{"id":12249,"depth":761,"text":12249},{"id":12257,"depth":761,"text":12257},{"id":888,"depth":761,"text":888},{"id":893,"depth":761,"text":893},{"id":903,"depth":761,"text":903},{"id":908,"depth":761,"text":908},{"id":913,"depth":761,"text":913},{"id":12316,"depth":761,"text":12316},{"id":12324,"depth":761,"text":12324},{"id":12303,"depth":761,"text":12303},{"id":12337,"depth":761,"text":12337,"children":78248},[78249,78250,78251],{"id":15966,"depth":772,"text":15967},{"id":15970,"depth":772,"text":15971},{"id":16051,"depth":772,"text":16052},{"id":883,"depth":761,"text":883},{"id":12024,"depth":761,"text":12024},{"id":918,"depth":761,"text":918},{"id":12350,"depth":761,"text":12350},{"id":12358,"depth":761,"text":12358},{"id":12366,"depth":761,"text":12366},{"id":12395,"depth":761,"text":12395,"children":78259},[78260,78261,78262],{"id":18496,"depth":772,"text":18497},{"id":18503,"depth":772,"text":18504},{"id":25761,"depth":772,"text":25762},{"id":12406,"depth":761,"text":12406},{"id":923,"depth":761,"text":923},{"id":12416,"depth":761,"text":12416},{"id":19484,"depth":761,"text":19484},{"id":29419,"depth":761,"text":29419},{"id":29429,"depth":761,"text":29429},{"id":29439,"depth":761,"text":29439},{"id":29449,"depth":761,"text":29449},{"id":29459,"depth":761,"text":29459},{"id":29469,"depth":761,"text":29469},{"id":19492,"depth":761,"text":19492},{"id":19563,"depth":761,"text":19563},{"id":19571,"depth":761,"text":19571},{"id":19579,"depth":761,"text":19579},{"id":19587,"depth":761,"text":19587},{"id":19593,"depth":761,"text":19593},{"id":19599,"depth":761,"text":19599},{"id":29479,"depth":761,"text":29479},{"id":29487,"depth":761,"text":29487},{"id":41247,"depth":761,"text":41247},{"id":52962,"depth":761,"text":52962},{"id":52968,"depth":761,"text":52968},{"id":52974,"depth":761,"text":52974},{"id":52980,"depth":761,"text":52980},{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-api-v7.3",{"description":760},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-API-v7.3","gq0e2HLIzjGsmbidzp5OtWD2L3NaJWn4UlC3Wsx51Ps",{"id":78293,"title":78294,"body":78295,"description":80960,"extension":775,"image":776,"meta":80961,"navTitle":776,"navigation":778,"path":80962,"seo":80963,"stem":80964,"__hash__":80965},"docs\u002Fdocs\u002Fcore-tech\u002FBeam-wallet-protocol-SWAP-API-(BETA).md","Beam Wallet Protocol SWAP API (BETA)",{"type":8,"value":78296,"toc":80945},[78297,78305,78311,78313,78316,78378,78380,78393,78397,78448,78452,78947,78951,79022,79026,79175,79177,79185,79189,79239,79243,79441,79443,79446,79450,79592,79596,79660,79662,79665,79669,79733,79737,79841,79843,79846,79850,79913,79917,80060,80062,80065,80069,80131,80135,80315,80317,80320,80324,80418,80422,80565,80567,80570,80574,80636,80640,80681,80683,80687,80750,80754,80806,80808,80812,80875,80879,80932,80936,80942],[11,78298,78299,78300],{},"Swap API extends ",[18,78301,78304],{"href":78302,"rel":78303},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API",[22],"Beam wallet protocol API",[11,78306,78307,78308,78310],{},"requires: configured swap settings in ",[150,78309,5828],{}," (by CLI or UI)",[26,78312,935],{"id":6387},[11,78314,78315],{},"API will include the following methods:",[89,78317,78318,78324,78330,78336,78342,78348,78354,78360,78366,78372],{},[54,78319,78320],{},[18,78321,78323],{"href":78322},"#swap_offers_list","swap_offers_list",[54,78325,78326],{},[18,78327,78329],{"href":78328},"#swap_offers_board","swap_offers_board",[54,78331,78332],{},[18,78333,78335],{"href":78334},"#swap_create_offer","swap_create_offer",[54,78337,78338],{},[18,78339,78341],{"href":78340},"#swap_offer_status","swap_offer_status",[54,78343,78344],{},[18,78345,78347],{"href":78346},"#swap_decode_token","swap_decode_token",[54,78349,78350],{},[18,78351,78353],{"href":78352},"#swap_publish_offer","swap_publish_offer",[54,78355,78356],{},[18,78357,78359],{"href":78358},"#swap_accept_offer","swap_accept_offer",[54,78361,78362],{},[18,78363,78365],{"href":78364},"#swap_cancel_offer","swap_cancel_offer",[54,78367,78368],{},[18,78369,78371],{"href":78370},"#swap_get_balance","swap_get_balance",[54,78373,78374],{},[18,78375,78377],{"href":78376},"#swap_recommended_fee_rate","swap_recommended_fee_rate",[26,78379,78323],{"id":78323},[11,78381,78382,78383,163,78385,78388,78389,78392],{},"Get all own swap offers with specified ",[150,78384,6390],{},[150,78386,78387],{},"swapCoin",". if ",[150,78390,78391],{},"filter"," not specified return all own swap offers.",[11,78394,78395],{},[150,78396,975],{},[866,78398,78400],{"className":978,"code":78399,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_offers_list\",\n    \"params\": {}\n}\n",[150,78401,78402,78406,78416,78426,78437,78444],{"__ignoreMap":760},[984,78403,78404],{"class":986,"line":987},[984,78405,991],{"class":990},[984,78407,78408,78410,78412,78414],{"class":986,"line":761},[984,78409,997],{"class":996},[984,78411,1015],{"class":990},[984,78413,1004],{"class":1003},[984,78415,1021],{"class":990},[984,78417,78418,78420,78422,78424],{"class":986,"line":772},[984,78419,1012],{"class":996},[984,78421,1015],{"class":990},[984,78423,1062],{"class":996},[984,78425,1021],{"class":990},[984,78427,78428,78430,78432,78435],{"class":986,"line":1024},[984,78429,1027],{"class":996},[984,78431,1015],{"class":990},[984,78433,78434],{"class":1003},"\"swap_offers_list\"",[984,78436,1021],{"class":990},[984,78438,78439,78441],{"class":986,"line":1035},[984,78440,1521],{"class":996},[984,78442,78443],{"class":990},": {}\n",[984,78445,78446],{"class":986,"line":1098},[984,78447,1038],{"class":990},[11,78449,78450],{},[150,78451,1043],{},[866,78453,78455],{"className":978,"code":78454,"language":980,"meta":760,"style":760},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": [\n        {\n            \"height_expired\": 140726,\n            \"min_height\": 140696,\n            \"receive_amount\": 2000000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 4,\n            \"status_string\": \"expired\",\n            \"time_created\": \"2020.03.16 17:22:12\",\n            \"txId\": \"b35fd69030694009b8bf849140d9319e\"\n        },\n        {\n            \"height_expired\": 136300,\n            \"min_height\": 136270,\n            \"receive_amount\": 2000000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 4,\n            \"status_string\": \"expired\",\n            \"time_created\": \"2020.03.13 15:16:07\",\n            \"txId\": \"0d36d9db06f14071b18e1fdf4c429a14\"\n        },\n        {\n            \"height_expired\": 133125,\n            \"min_height\": 133095,\n            \"receive_amount\": 2000000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 4,\n            \"status_string\": \"expired\",\n            \"time_created\": \"2020.03.11 10:14:16\",\n            \"txId\": \"f859fe65bd434522af16cfc7d31c43db\"\n        },\n        {\n            \"height_expired\": 123428,\n            \"min_height\": 123398,\n            \"receive_amount\": 200000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 2,\n            \"status_string\": \"completed\",\n            \"time_created\": \"2020.03.04 16:37:44\",\n            \"txId\": \"d218356770b34fe4aeab01fb12c6074c\"\n        }\n    ]\n}\n",[150,78456,78457,78461,78471,78481,78487,78491,78503,78515,78526,78537,78548,78560,78570,78582,78594,78604,78608,78612,78623,78634,78644,78654,78664,78674,78684,78694,78705,78714,78718,78722,78733,78744,78754,78764,78774,78784,78794,78804,78815,78824,78828,78832,78843,78854,78864,78874,78884,78894,78904,78915,78926,78935,78939,78943],{"__ignoreMap":760},[984,78458,78459],{"class":986,"line":987},[984,78460,991],{"class":990},[984,78462,78463,78465,78467,78469],{"class":986,"line":761},[984,78464,1012],{"class":996},[984,78466,1015],{"class":990},[984,78468,1062],{"class":996},[984,78470,1021],{"class":990},[984,78472,78473,78475,78477,78479],{"class":986,"line":772},[984,78474,997],{"class":996},[984,78476,1015],{"class":990},[984,78478,1004],{"class":1003},[984,78480,1021],{"class":990},[984,78482,78483,78485],{"class":986,"line":1024},[984,78484,1724],{"class":996},[984,78486,1208],{"class":990},[984,78488,78489],{"class":986,"line":1035},[984,78490,8410],{"class":990},[984,78492,78493,78496,78498,78501],{"class":986,"line":1098},[984,78494,78495],{"class":996},"            \"height_expired\"",[984,78497,1015],{"class":990},[984,78499,78500],{"class":996},"140726",[984,78502,1021],{"class":990},[984,78504,78505,78508,78510,78513],{"class":986,"line":1111},[984,78506,78507],{"class":996},"            \"min_height\"",[984,78509,1015],{"class":990},[984,78511,78512],{"class":996},"140696",[984,78514,1021],{"class":990},[984,78516,78517,78520,78522,78524],{"class":986,"line":1124},[984,78518,78519],{"class":996},"            \"receive_amount\"",[984,78521,1015],{"class":990},[984,78523,1362],{"class":996},[984,78525,1021],{"class":990},[984,78527,78528,78531,78533,78535],{"class":986,"line":1137},[984,78529,78530],{"class":996},"            \"receive_currency\"",[984,78532,1015],{"class":990},[984,78534,64790],{"class":1003},[984,78536,1021],{"class":990},[984,78538,78539,78542,78544,78546],{"class":986,"line":1150},[984,78540,78541],{"class":996},"            \"send_amount\"",[984,78543,1015],{"class":990},[984,78545,3592],{"class":996},[984,78547,1021],{"class":990},[984,78549,78550,78553,78555,78558],{"class":986,"line":1163},[984,78551,78552],{"class":996},"            \"send_currency\"",[984,78554,1015],{"class":990},[984,78556,78557],{"class":1003},"\"BTC\"",[984,78559,1021],{"class":990},[984,78561,78562,78564,78566,78568],{"class":986,"line":1176},[984,78563,15231],{"class":996},[984,78565,1015],{"class":990},[984,78567,2431],{"class":996},[984,78569,1021],{"class":990},[984,78571,78572,78575,78577,78580],{"class":986,"line":1189},[984,78573,78574],{"class":996},"            \"status_string\"",[984,78576,1015],{"class":990},[984,78578,78579],{"class":1003},"\"expired\"",[984,78581,1021],{"class":990},[984,78583,78584,78587,78589,78592],{"class":986,"line":1202},[984,78585,78586],{"class":996},"            \"time_created\"",[984,78588,1015],{"class":990},[984,78590,78591],{"class":1003},"\"2020.03.16 17:22:12\"",[984,78593,1021],{"class":990},[984,78595,78596,78599,78601],{"class":986,"line":1211},[984,78597,78598],{"class":996},"            \"txId\"",[984,78600,1015],{"class":990},[984,78602,78603],{"class":1003},"\"b35fd69030694009b8bf849140d9319e\"\n",[984,78605,78606],{"class":986,"line":1217},[984,78607,15254],{"class":990},[984,78609,78610],{"class":986,"line":1229},[984,78611,8410],{"class":990},[984,78613,78614,78616,78618,78621],{"class":986,"line":1241},[984,78615,78495],{"class":996},[984,78617,1015],{"class":990},[984,78619,78620],{"class":996},"136300",[984,78622,1021],{"class":990},[984,78624,78625,78627,78629,78632],{"class":986,"line":1254},[984,78626,78507],{"class":996},[984,78628,1015],{"class":990},[984,78630,78631],{"class":996},"136270",[984,78633,1021],{"class":990},[984,78635,78636,78638,78640,78642],{"class":986,"line":1266},[984,78637,78519],{"class":996},[984,78639,1015],{"class":990},[984,78641,1362],{"class":996},[984,78643,1021],{"class":990},[984,78645,78646,78648,78650,78652],{"class":986,"line":1279},[984,78647,78530],{"class":996},[984,78649,1015],{"class":990},[984,78651,64790],{"class":1003},[984,78653,1021],{"class":990},[984,78655,78656,78658,78660,78662],{"class":986,"line":1291},[984,78657,78541],{"class":996},[984,78659,1015],{"class":990},[984,78661,3592],{"class":996},[984,78663,1021],{"class":990},[984,78665,78666,78668,78670,78672],{"class":986,"line":1304},[984,78667,78552],{"class":996},[984,78669,1015],{"class":990},[984,78671,78557],{"class":1003},[984,78673,1021],{"class":990},[984,78675,78676,78678,78680,78682],{"class":986,"line":1316},[984,78677,15231],{"class":996},[984,78679,1015],{"class":990},[984,78681,2431],{"class":996},[984,78683,1021],{"class":990},[984,78685,78686,78688,78690,78692],{"class":986,"line":1327},[984,78687,78574],{"class":996},[984,78689,1015],{"class":990},[984,78691,78579],{"class":1003},[984,78693,1021],{"class":990},[984,78695,78696,78698,78700,78703],{"class":986,"line":1333},[984,78697,78586],{"class":996},[984,78699,1015],{"class":990},[984,78701,78702],{"class":1003},"\"2020.03.13 15:16:07\"",[984,78704,1021],{"class":990},[984,78706,78707,78709,78711],{"class":986,"line":1338},[984,78708,78598],{"class":996},[984,78710,1015],{"class":990},[984,78712,78713],{"class":1003},"\"0d36d9db06f14071b18e1fdf4c429a14\"\n",[984,78715,78716],{"class":986,"line":1355},[984,78717,15254],{"class":990},[984,78719,78720],{"class":986,"line":1367},[984,78721,8410],{"class":990},[984,78723,78724,78726,78728,78731],{"class":986,"line":1379},[984,78725,78495],{"class":996},[984,78727,1015],{"class":990},[984,78729,78730],{"class":996},"133125",[984,78732,1021],{"class":990},[984,78734,78735,78737,78739,78742],{"class":986,"line":1390},[984,78736,78507],{"class":996},[984,78738,1015],{"class":990},[984,78740,78741],{"class":996},"133095",[984,78743,1021],{"class":990},[984,78745,78746,78748,78750,78752],{"class":986,"line":1402},[984,78747,78519],{"class":996},[984,78749,1015],{"class":990},[984,78751,1362],{"class":996},[984,78753,1021],{"class":990},[984,78755,78756,78758,78760,78762],{"class":986,"line":1413},[984,78757,78530],{"class":996},[984,78759,1015],{"class":990},[984,78761,64790],{"class":1003},[984,78763,1021],{"class":990},[984,78765,78766,78768,78770,78772],{"class":986,"line":1424},[984,78767,78541],{"class":996},[984,78769,1015],{"class":990},[984,78771,3592],{"class":996},[984,78773,1021],{"class":990},[984,78775,78776,78778,78780,78782],{"class":986,"line":1435},[984,78777,78552],{"class":996},[984,78779,1015],{"class":990},[984,78781,78557],{"class":1003},[984,78783,1021],{"class":990},[984,78785,78786,78788,78790,78792],{"class":986,"line":1444},[984,78787,15231],{"class":996},[984,78789,1015],{"class":990},[984,78791,2431],{"class":996},[984,78793,1021],{"class":990},[984,78795,78796,78798,78800,78802],{"class":986,"line":1450},[984,78797,78574],{"class":996},[984,78799,1015],{"class":990},[984,78801,78579],{"class":1003},[984,78803,1021],{"class":990},[984,78805,78806,78808,78810,78813],{"class":986,"line":1456},[984,78807,78586],{"class":996},[984,78809,1015],{"class":990},[984,78811,78812],{"class":1003},"\"2020.03.11 10:14:16\"",[984,78814,1021],{"class":990},[984,78816,78817,78819,78821],{"class":986,"line":1462},[984,78818,78598],{"class":996},[984,78820,1015],{"class":990},[984,78822,78823],{"class":1003},"\"f859fe65bd434522af16cfc7d31c43db\"\n",[984,78825,78826],{"class":986,"line":7201},[984,78827,15254],{"class":990},[984,78829,78830],{"class":986,"line":7206},[984,78831,8410],{"class":990},[984,78833,78834,78836,78838,78841],{"class":986,"line":7218},[984,78835,78495],{"class":996},[984,78837,1015],{"class":990},[984,78839,78840],{"class":996},"123428",[984,78842,1021],{"class":990},[984,78844,78845,78847,78849,78852],{"class":986,"line":7229},[984,78846,78507],{"class":996},[984,78848,1015],{"class":990},[984,78850,78851],{"class":996},"123398",[984,78853,1021],{"class":990},[984,78855,78856,78858,78860,78862],{"class":986,"line":7241},[984,78857,78519],{"class":996},[984,78859,1015],{"class":990},[984,78861,32832],{"class":996},[984,78863,1021],{"class":990},[984,78865,78866,78868,78870,78872],{"class":986,"line":7252},[984,78867,78530],{"class":996},[984,78869,1015],{"class":990},[984,78871,64790],{"class":1003},[984,78873,1021],{"class":990},[984,78875,78876,78878,78880,78882],{"class":986,"line":7262},[984,78877,78541],{"class":996},[984,78879,1015],{"class":990},[984,78881,3592],{"class":996},[984,78883,1021],{"class":990},[984,78885,78886,78888,78890,78892],{"class":986,"line":7267},[984,78887,78552],{"class":996},[984,78889,1015],{"class":990},[984,78891,78557],{"class":1003},[984,78893,1021],{"class":990},[984,78895,78896,78898,78900,78902],{"class":986,"line":7272},[984,78897,15231],{"class":996},[984,78899,1015],{"class":990},[984,78901,1503],{"class":996},[984,78903,1021],{"class":990},[984,78905,78906,78908,78910,78913],{"class":986,"line":7279},[984,78907,78574],{"class":996},[984,78909,1015],{"class":990},[984,78911,78912],{"class":1003},"\"completed\"",[984,78914,1021],{"class":990},[984,78916,78917,78919,78921,78924],{"class":986,"line":7284},[984,78918,78586],{"class":996},[984,78920,1015],{"class":990},[984,78922,78923],{"class":1003},"\"2020.03.04 16:37:44\"",[984,78925,1021],{"class":990},[984,78927,78928,78930,78932],{"class":986,"line":7295},[984,78929,78598],{"class":996},[984,78931,1015],{"class":990},[984,78933,78934],{"class":1003},"\"d218356770b34fe4aeab01fb12c6074c\"\n",[984,78936,78937],{"class":986,"line":7307},[984,78938,9333],{"class":990},[984,78940,78941],{"class":986,"line":7318},[984,78942,1453],{"class":990},[984,78944,78945],{"class":986,"line":7328},[984,78946,1038],{"class":990},[11,78948,78949],{},[150,78950,975],{},[866,78952,78954],{"className":978,"code":78953,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_offers_list\",\n    \"params\": {\n        \"filter\" : {\n            \"status\" : 2\n        }\n    }\n}\n",[150,78955,78956,78960,78970,78980,78990,78996,79002,79010,79014,79018],{"__ignoreMap":760},[984,78957,78958],{"class":986,"line":987},[984,78959,991],{"class":990},[984,78961,78962,78964,78966,78968],{"class":986,"line":761},[984,78963,997],{"class":996},[984,78965,1015],{"class":990},[984,78967,1004],{"class":1003},[984,78969,1021],{"class":990},[984,78971,78972,78974,78976,78978],{"class":986,"line":772},[984,78973,1012],{"class":996},[984,78975,1015],{"class":990},[984,78977,1062],{"class":996},[984,78979,1021],{"class":990},[984,78981,78982,78984,78986,78988],{"class":986,"line":1024},[984,78983,1027],{"class":996},[984,78985,1015],{"class":990},[984,78987,78434],{"class":1003},[984,78989,1021],{"class":990},[984,78991,78992,78994],{"class":986,"line":1035},[984,78993,1521],{"class":996},[984,78995,1083],{"class":990},[984,78997,78998,79000],{"class":986,"line":1098},[984,78999,15220],{"class":996},[984,79001,52848],{"class":990},[984,79003,79004,79006,79008],{"class":986,"line":1111},[984,79005,15231],{"class":996},[984,79007,1738],{"class":990},[984,79009,7794],{"class":996},[984,79011,79012],{"class":986,"line":1124},[984,79013,9333],{"class":990},[984,79015,79016],{"class":986,"line":1137},[984,79017,1607],{"class":990},[984,79019,79020],{"class":986,"line":1150},[984,79021,1038],{"class":990},[11,79023,79024],{},[150,79025,1043],{},[866,79027,79029],{"className":978,"code":79028,"language":980,"meta":760,"style":760},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": [\n        {\n            \"height_expired\": 123428,\n            \"min_height\": 123398,\n            \"receive_amount\": 200000000,\n            \"receive_currency\": \"BEAM\",\n            \"send_amount\": 100000000,\n            \"send_currency\": \"BTC\",\n            \"status\": 2,\n            \"status_string\": \"completed\",\n            \"time_created\": \"2020.03.04 16:37:44\",\n            \"txId\": \"d218356770b34fe4aeab01fb12c6074c\"\n        }\n    ]\n}\n",[150,79030,79031,79035,79045,79055,79061,79065,79075,79085,79095,79105,79115,79125,79135,79145,79155,79163,79167,79171],{"__ignoreMap":760},[984,79032,79033],{"class":986,"line":987},[984,79034,991],{"class":990},[984,79036,79037,79039,79041,79043],{"class":986,"line":761},[984,79038,1012],{"class":996},[984,79040,1015],{"class":990},[984,79042,1062],{"class":996},[984,79044,1021],{"class":990},[984,79046,79047,79049,79051,79053],{"class":986,"line":772},[984,79048,997],{"class":996},[984,79050,1015],{"class":990},[984,79052,1004],{"class":1003},[984,79054,1021],{"class":990},[984,79056,79057,79059],{"class":986,"line":1024},[984,79058,1724],{"class":996},[984,79060,1208],{"class":990},[984,79062,79063],{"class":986,"line":1035},[984,79064,8410],{"class":990},[984,79066,79067,79069,79071,79073],{"class":986,"line":1098},[984,79068,78495],{"class":996},[984,79070,1015],{"class":990},[984,79072,78840],{"class":996},[984,79074,1021],{"class":990},[984,79076,79077,79079,79081,79083],{"class":986,"line":1111},[984,79078,78507],{"class":996},[984,79080,1015],{"class":990},[984,79082,78851],{"class":996},[984,79084,1021],{"class":990},[984,79086,79087,79089,79091,79093],{"class":986,"line":1124},[984,79088,78519],{"class":996},[984,79090,1015],{"class":990},[984,79092,32832],{"class":996},[984,79094,1021],{"class":990},[984,79096,79097,79099,79101,79103],{"class":986,"line":1137},[984,79098,78530],{"class":996},[984,79100,1015],{"class":990},[984,79102,64790],{"class":1003},[984,79104,1021],{"class":990},[984,79106,79107,79109,79111,79113],{"class":986,"line":1150},[984,79108,78541],{"class":996},[984,79110,1015],{"class":990},[984,79112,3592],{"class":996},[984,79114,1021],{"class":990},[984,79116,79117,79119,79121,79123],{"class":986,"line":1163},[984,79118,78552],{"class":996},[984,79120,1015],{"class":990},[984,79122,78557],{"class":1003},[984,79124,1021],{"class":990},[984,79126,79127,79129,79131,79133],{"class":986,"line":1176},[984,79128,15231],{"class":996},[984,79130,1015],{"class":990},[984,79132,1503],{"class":996},[984,79134,1021],{"class":990},[984,79136,79137,79139,79141,79143],{"class":986,"line":1189},[984,79138,78574],{"class":996},[984,79140,1015],{"class":990},[984,79142,78912],{"class":1003},[984,79144,1021],{"class":990},[984,79146,79147,79149,79151,79153],{"class":986,"line":1202},[984,79148,78586],{"class":996},[984,79150,1015],{"class":990},[984,79152,78923],{"class":1003},[984,79154,1021],{"class":990},[984,79156,79157,79159,79161],{"class":986,"line":1211},[984,79158,78598],{"class":996},[984,79160,1015],{"class":990},[984,79162,78934],{"class":1003},[984,79164,79165],{"class":986,"line":1217},[984,79166,9333],{"class":990},[984,79168,79169],{"class":986,"line":1229},[984,79170,1453],{"class":990},[984,79172,79173],{"class":986,"line":1241},[984,79174,1038],{"class":990},[26,79176,78329],{"id":78329},[11,79178,79179,79180,78388,79182,79184],{},"Get all swap offers from offers board with specified ",[150,79181,78387],{},[150,79183,78387],{}," not specified return all known swap offers.",[11,79186,79187],{},[150,79188,975],{},[866,79190,79192],{"className":978,"code":79191,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_offers_board\",\n    \"params\": {}\n}\n",[150,79193,79194,79198,79208,79218,79229,79235],{"__ignoreMap":760},[984,79195,79196],{"class":986,"line":987},[984,79197,991],{"class":990},[984,79199,79200,79202,79204,79206],{"class":986,"line":761},[984,79201,997],{"class":996},[984,79203,1015],{"class":990},[984,79205,1004],{"class":1003},[984,79207,1021],{"class":990},[984,79209,79210,79212,79214,79216],{"class":986,"line":772},[984,79211,1012],{"class":996},[984,79213,1015],{"class":990},[984,79215,1062],{"class":996},[984,79217,1021],{"class":990},[984,79219,79220,79222,79224,79227],{"class":986,"line":1024},[984,79221,1027],{"class":996},[984,79223,1015],{"class":990},[984,79225,79226],{"class":1003},"\"swap_offers_board\"",[984,79228,1021],{"class":990},[984,79230,79231,79233],{"class":986,"line":1035},[984,79232,1521],{"class":996},[984,79234,78443],{"class":990},[984,79236,79237],{"class":986,"line":1098},[984,79238,1038],{"class":990},[11,79240,79241],{},[150,79242,1043],{},[866,79244,79246],{"className":978,"code":79245,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": [\n    {\n      \"is_my_offer\": false,\n      \"is_public\": true,\n      \"height_expired\": 103173,\n      \"min_height\": 103143,\n      \"receive_amount\": 100000000,\n      \"receive_currency\": \"BTC\",\n      \"send_amount\": 1200000000,\n      \"send_currency\": \"BEAM\",\n      \"status\": 0,\n      \"status_string\": \"pending\",\n      \"time_created\": \"2020.03.04 16:37:44\",\n      \"token\": \"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\",\n      \"txId\": \"f87b06cf752040cdaefbf99831bc3e80\"\n    },\n\n  ]\n}\n",[150,79247,79248,79252,79262,79272,79278,79282,79293,79304,79316,79328,79339,79350,79362,79373,79383,79393,79404,79416,79425,79429,79433,79437],{"__ignoreMap":760},[984,79249,79250],{"class":986,"line":987},[984,79251,991],{"class":990},[984,79253,79254,79256,79258,79260],{"class":986,"line":761},[984,79255,1057],{"class":996},[984,79257,1015],{"class":990},[984,79259,1062],{"class":996},[984,79261,1021],{"class":990},[984,79263,79264,79266,79268,79270],{"class":986,"line":772},[984,79265,1069],{"class":996},[984,79267,1015],{"class":990},[984,79269,1004],{"class":1003},[984,79271,1021],{"class":990},[984,79273,79274,79276],{"class":986,"line":1024},[984,79275,1080],{"class":996},[984,79277,1208],{"class":990},[984,79279,79280],{"class":986,"line":1035},[984,79281,1529],{"class":990},[984,79283,79284,79287,79289,79291],{"class":986,"line":1098},[984,79285,79286],{"class":996},"      \"is_my_offer\"",[984,79288,1015],{"class":990},[984,79290,5089],{"class":996},[984,79292,1021],{"class":990},[984,79294,79295,79298,79300,79302],{"class":986,"line":1111},[984,79296,79297],{"class":996},"      \"is_public\"",[984,79299,1015],{"class":990},[984,79301,2682],{"class":996},[984,79303,1021],{"class":990},[984,79305,79306,79309,79311,79314],{"class":986,"line":1124},[984,79307,79308],{"class":996},"      \"height_expired\"",[984,79310,1015],{"class":990},[984,79312,79313],{"class":996},"103173",[984,79315,1021],{"class":990},[984,79317,79318,79321,79323,79326],{"class":986,"line":1137},[984,79319,79320],{"class":996},"      \"min_height\"",[984,79322,1015],{"class":990},[984,79324,79325],{"class":996},"103143",[984,79327,1021],{"class":990},[984,79329,79330,79333,79335,79337],{"class":986,"line":1150},[984,79331,79332],{"class":996},"      \"receive_amount\"",[984,79334,1015],{"class":990},[984,79336,3592],{"class":996},[984,79338,1021],{"class":990},[984,79340,79341,79344,79346,79348],{"class":986,"line":1163},[984,79342,79343],{"class":996},"      \"receive_currency\"",[984,79345,1015],{"class":990},[984,79347,78557],{"class":1003},[984,79349,1021],{"class":990},[984,79351,79352,79355,79357,79360],{"class":986,"line":1176},[984,79353,79354],{"class":996},"      \"send_amount\"",[984,79356,1015],{"class":990},[984,79358,79359],{"class":996},"1200000000",[984,79361,1021],{"class":990},[984,79363,79364,79367,79369,79371],{"class":986,"line":1189},[984,79365,79366],{"class":996},"      \"send_currency\"",[984,79368,1015],{"class":990},[984,79370,64790],{"class":1003},[984,79372,1021],{"class":990},[984,79374,79375,79377,79379,79381],{"class":986,"line":1202},[984,79376,15633],{"class":996},[984,79378,1015],{"class":990},[984,79380,1171],{"class":996},[984,79382,1021],{"class":990},[984,79384,79385,79387,79389,79391],{"class":986,"line":1211},[984,79386,15644],{"class":996},[984,79388,1015],{"class":990},[984,79390,7887],{"class":1003},[984,79392,1021],{"class":990},[984,79394,79395,79398,79400,79402],{"class":986,"line":1217},[984,79396,79397],{"class":996},"      \"time_created\"",[984,79399,1015],{"class":990},[984,79401,78923],{"class":1003},[984,79403,1021],{"class":990},[984,79405,79406,79409,79411,79414],{"class":986,"line":1229},[984,79407,79408],{"class":996},"      \"token\"",[984,79410,1015],{"class":990},[984,79412,79413],{"class":1003},"\"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\"",[984,79415,1021],{"class":990},[984,79417,79418,79420,79422],{"class":986,"line":1241},[984,79419,15656],{"class":996},[984,79421,1015],{"class":990},[984,79423,79424],{"class":1003},"\"f87b06cf752040cdaefbf99831bc3e80\"\n",[984,79426,79427],{"class":986,"line":1254},[984,79428,15511],{"class":990},[984,79430,79431],{"class":986,"line":1266},[984,79432,8376],{"emptyLinePlaceholder":778},[984,79434,79435],{"class":986,"line":1279},[984,79436,17287],{"class":990},[984,79438,79439],{"class":986,"line":1291},[984,79440,1038],{"class":990},[26,79442,78335],{"id":78335},[11,79444,79445],{},"Creates swap offer that can be published on a board or sent directly to other side",[11,79447,79448],{},[150,79449,975],{},[866,79451,79453],{"className":978,"code":79452,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_create_offer\",\n    \"params\": {\n        \"send_amount\": 44000000000,\n        \"send_currency\": \"beam\",\n        \"receive_amount\": 2000000000,\n        \"receive_currency\": \"btc\",\n        \"beam_fee\": 100,\n        \"fee_rate\": 90000,\n        \"offer_expires\": 30,\n        \"comment\": \"API\"\n    }\n}\n",[150,79454,79455,79459,79469,79479,79490,79496,79507,79519,79529,79541,79552,79564,79575,79584,79588],{"__ignoreMap":760},[984,79456,79457],{"class":986,"line":987},[984,79458,991],{"class":990},[984,79460,79461,79463,79465,79467],{"class":986,"line":761},[984,79462,997],{"class":996},[984,79464,1015],{"class":990},[984,79466,1004],{"class":1003},[984,79468,1021],{"class":990},[984,79470,79471,79473,79475,79477],{"class":986,"line":772},[984,79472,1012],{"class":996},[984,79474,1015],{"class":990},[984,79476,1062],{"class":996},[984,79478,1021],{"class":990},[984,79480,79481,79483,79485,79488],{"class":986,"line":1024},[984,79482,1027],{"class":996},[984,79484,1015],{"class":990},[984,79486,79487],{"class":1003},"\"swap_create_offer\"",[984,79489,1021],{"class":990},[984,79491,79492,79494],{"class":986,"line":1035},[984,79493,1521],{"class":996},[984,79495,1083],{"class":990},[984,79497,79498,79500,79502,79505],{"class":986,"line":1098},[984,79499,65005],{"class":996},[984,79501,1015],{"class":990},[984,79503,79504],{"class":996},"44000000000",[984,79506,1021],{"class":990},[984,79508,79509,79512,79514,79517],{"class":986,"line":1111},[984,79510,79511],{"class":996},"        \"send_currency\"",[984,79513,1015],{"class":990},[984,79515,79516],{"class":1003},"\"beam\"",[984,79518,1021],{"class":990},[984,79520,79521,79523,79525,79527],{"class":986,"line":1124},[984,79522,65027],{"class":996},[984,79524,1015],{"class":990},[984,79526,1362],{"class":996},[984,79528,1021],{"class":990},[984,79530,79531,79534,79536,79539],{"class":986,"line":1137},[984,79532,79533],{"class":996},"        \"receive_currency\"",[984,79535,1015],{"class":990},[984,79537,79538],{"class":1003},"\"btc\"",[984,79540,1021],{"class":990},[984,79542,79543,79546,79548,79550],{"class":986,"line":1150},[984,79544,79545],{"class":996},"        \"beam_fee\"",[984,79547,1015],{"class":990},[984,79549,4979],{"class":996},[984,79551,1021],{"class":990},[984,79553,79554,79557,79559,79562],{"class":986,"line":1163},[984,79555,79556],{"class":996},"        \"fee_rate\"",[984,79558,1015],{"class":990},[984,79560,79561],{"class":996},"90000",[984,79563,1021],{"class":990},[984,79565,79566,79569,79571,79573],{"class":986,"line":1176},[984,79567,79568],{"class":996},"        \"offer_expires\"",[984,79570,1015],{"class":990},[984,79572,1197],{"class":996},[984,79574,1021],{"class":990},[984,79576,79577,79579,79581],{"class":986,"line":1189},[984,79578,1580],{"class":996},[984,79580,1015],{"class":990},[984,79582,79583],{"class":1003},"\"API\"\n",[984,79585,79586],{"class":986,"line":1202},[984,79587,1607],{"class":990},[984,79589,79590],{"class":986,"line":1211},[984,79591,1038],{"class":990},[11,79593,79594],{},[150,79595,1043],{},[866,79597,79599],{"className":978,"code":79598,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"txId\": \"062757f5ea62448589d977aa05c5782f\",\n    \"token\": \"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"\n  }\n}\n",[150,79600,79601,79605,79615,79625,79631,79642,79652,79656],{"__ignoreMap":760},[984,79602,79603],{"class":986,"line":987},[984,79604,991],{"class":990},[984,79606,79607,79609,79611,79613],{"class":986,"line":761},[984,79608,1057],{"class":996},[984,79610,1015],{"class":990},[984,79612,1062],{"class":996},[984,79614,1021],{"class":990},[984,79616,79617,79619,79621,79623],{"class":986,"line":772},[984,79618,1069],{"class":996},[984,79620,1015],{"class":990},[984,79622,1004],{"class":1003},[984,79624,1021],{"class":990},[984,79626,79627,79629],{"class":986,"line":1024},[984,79628,1080],{"class":996},[984,79630,1083],{"class":990},[984,79632,79633,79635,79637,79640],{"class":986,"line":1035},[984,79634,7929],{"class":996},[984,79636,1015],{"class":990},[984,79638,79639],{"class":1003},"\"062757f5ea62448589d977aa05c5782f\"",[984,79641,1021],{"class":990},[984,79643,79644,79647,79649],{"class":986,"line":1098},[984,79645,79646],{"class":996},"    \"token\"",[984,79648,1015],{"class":990},[984,79650,79651],{"class":1003},"\"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"\n",[984,79653,79654],{"class":986,"line":1111},[984,79655,1459],{"class":990},[984,79657,79658],{"class":986,"line":1124},[984,79659,1038],{"class":990},[26,79661,78341],{"id":78341},[11,79663,79664],{},"Shows your offer status or swap transaction in which you are participating",[11,79666,79667],{},[150,79668,975],{},[866,79670,79672],{"className":978,"code":79671,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_offer_status\",\n    \"params\": {\n        \"tx_id\": \"b35fd69030694009b8bf849140d9319e\"\n    }\n}\n",[150,79673,79674,79678,79688,79699,79710,79716,79725,79729],{"__ignoreMap":760},[984,79675,79676],{"class":986,"line":987},[984,79677,991],{"class":990},[984,79679,79680,79682,79684,79686],{"class":986,"line":761},[984,79681,997],{"class":996},[984,79683,1015],{"class":990},[984,79685,1004],{"class":1003},[984,79687,1021],{"class":990},[984,79689,79690,79692,79694,79697],{"class":986,"line":772},[984,79691,1012],{"class":996},[984,79693,1015],{"class":990},[984,79695,79696],{"class":996},"126",[984,79698,1021],{"class":990},[984,79700,79701,79703,79705,79708],{"class":986,"line":1024},[984,79702,1027],{"class":996},[984,79704,1015],{"class":990},[984,79706,79707],{"class":1003},"\"swap_offer_status\"",[984,79709,1021],{"class":990},[984,79711,79712,79714],{"class":986,"line":1035},[984,79713,1521],{"class":996},[984,79715,1083],{"class":990},[984,79717,79718,79721,79723],{"class":986,"line":1098},[984,79719,79720],{"class":996},"        \"tx_id\"",[984,79722,1015],{"class":990},[984,79724,78603],{"class":1003},[984,79726,79727],{"class":986,"line":1111},[984,79728,1607],{"class":990},[984,79730,79731],{"class":986,"line":1124},[984,79732,1038],{"class":990},[11,79734,79735],{},[150,79736,1043],{},[866,79738,79740],{"className":978,"code":79739,"language":980,"meta":760,"style":760},"{\n    \"id\": 126,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"height_expired\": 140726,\n        \"min_height\": 140696,\n        \"status\": 4,\n        \"status_string\": \"expired\",\n        \"time_created\": \"2020.03.16 17:22:12\",\n        \"tx_id\": \"b35fd69030694009b8bf849140d9319e\"\n    }\n}\n",[150,79741,79742,79746,79756,79766,79772,79783,79794,79804,79814,79825,79833,79837],{"__ignoreMap":760},[984,79743,79744],{"class":986,"line":987},[984,79745,991],{"class":990},[984,79747,79748,79750,79752,79754],{"class":986,"line":761},[984,79749,1012],{"class":996},[984,79751,1015],{"class":990},[984,79753,79696],{"class":996},[984,79755,1021],{"class":990},[984,79757,79758,79760,79762,79764],{"class":986,"line":772},[984,79759,997],{"class":996},[984,79761,1015],{"class":990},[984,79763,1004],{"class":1003},[984,79765,1021],{"class":990},[984,79767,79768,79770],{"class":986,"line":1024},[984,79769,1724],{"class":996},[984,79771,1083],{"class":990},[984,79773,79774,79777,79779,79781],{"class":986,"line":1035},[984,79775,79776],{"class":996},"        \"height_expired\"",[984,79778,1015],{"class":990},[984,79780,78500],{"class":996},[984,79782,1021],{"class":990},[984,79784,79785,79788,79790,79792],{"class":986,"line":1098},[984,79786,79787],{"class":996},"        \"min_height\"",[984,79789,1015],{"class":990},[984,79791,78512],{"class":996},[984,79793,1021],{"class":990},[984,79795,79796,79798,79800,79802],{"class":986,"line":1111},[984,79797,15029],{"class":996},[984,79799,1015],{"class":990},[984,79801,2431],{"class":996},[984,79803,1021],{"class":990},[984,79805,79806,79808,79810,79812],{"class":986,"line":1124},[984,79807,15040],{"class":996},[984,79809,1015],{"class":990},[984,79811,78579],{"class":1003},[984,79813,1021],{"class":990},[984,79815,79816,79819,79821,79823],{"class":986,"line":1137},[984,79817,79818],{"class":996},"        \"time_created\"",[984,79820,1015],{"class":990},[984,79822,78591],{"class":1003},[984,79824,1021],{"class":990},[984,79826,79827,79829,79831],{"class":986,"line":1150},[984,79828,79720],{"class":996},[984,79830,1015],{"class":990},[984,79832,78603],{"class":1003},[984,79834,79835],{"class":986,"line":1163},[984,79836,1607],{"class":990},[984,79838,79839],{"class":986,"line":1176},[984,79840,1038],{"class":990},[26,79842,78347],{"id":78347},[11,79844,79845],{},"Decode swap token",[11,79847,79848],{},[150,79849,975],{},[866,79851,79853],{"className":978,"code":79852,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_decode_token\",\n    \"params\": {\n        \"token\" : \"6xfNAUemTbmp7KRCRydiGStMZe6oRh59LzS7uk1V4eTrUX1mKcCGY7jdtMtSs4XLt6Ug8jWnepMEZCrqSUw7PeKRDZ8yyVZu1WHXzootpybBjX3nVxxHRSdk4ncBGDh1cssmiJhswZC9PfsaJmRKqXJM3x9tcX7EZn5Vjg8\"\n    }\n}\n",[150,79854,79855,79859,79869,79879,79890,79896,79905,79909],{"__ignoreMap":760},[984,79856,79857],{"class":986,"line":987},[984,79858,991],{"class":990},[984,79860,79861,79863,79865,79867],{"class":986,"line":761},[984,79862,997],{"class":996},[984,79864,1015],{"class":990},[984,79866,1004],{"class":1003},[984,79868,1021],{"class":990},[984,79870,79871,79873,79875,79877],{"class":986,"line":772},[984,79872,1012],{"class":996},[984,79874,1015],{"class":990},[984,79876,1062],{"class":996},[984,79878,1021],{"class":990},[984,79880,79881,79883,79885,79888],{"class":986,"line":1024},[984,79882,1027],{"class":996},[984,79884,1015],{"class":990},[984,79886,79887],{"class":1003},"\"swap_decode_token\"",[984,79889,1021],{"class":990},[984,79891,79892,79894],{"class":986,"line":1035},[984,79893,1521],{"class":996},[984,79895,1083],{"class":990},[984,79897,79898,79900,79902],{"class":986,"line":1098},[984,79899,15142],{"class":996},[984,79901,1738],{"class":990},[984,79903,79904],{"class":1003},"\"6xfNAUemTbmp7KRCRydiGStMZe6oRh59LzS7uk1V4eTrUX1mKcCGY7jdtMtSs4XLt6Ug8jWnepMEZCrqSUw7PeKRDZ8yyVZu1WHXzootpybBjX3nVxxHRSdk4ncBGDh1cssmiJhswZC9PfsaJmRKqXJM3x9tcX7EZn5Vjg8\"\n",[984,79906,79907],{"class":986,"line":1111},[984,79908,1607],{"class":990},[984,79910,79911],{"class":986,"line":1124},[984,79912,1038],{"class":990},[11,79914,79915],{},[150,79916,1043],{},[866,79918,79920],{"className":978,"code":79919,"language":980,"meta":760,"style":760},"{\n    \"id\": 1236,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"height_expired\": 123428,\n        \"is_my_offer\": false,\n        \"is_public\": false,\n        \"min_height\": 123398,\n        \"receive_amount\": 200000000,\n        \"receive_currency\": \"BEAM\",\n        \"send_amount\": 100000000,\n        \"send_currency\": \"BTC\",\n        \"time_created\": \"2020.03.04 16:37:44\",\n        \"tx_id\": \"d218356770b34fe4aeab01fb12c6074c\"\n    }\n}\n",[150,79921,79922,79926,79936,79946,79952,79962,79973,79984,79994,80004,80014,80024,80034,80044,80052,80056],{"__ignoreMap":760},[984,79923,79924],{"class":986,"line":987},[984,79925,991],{"class":990},[984,79927,79928,79930,79932,79934],{"class":986,"line":761},[984,79929,1012],{"class":996},[984,79931,1015],{"class":990},[984,79933,1062],{"class":996},[984,79935,1021],{"class":990},[984,79937,79938,79940,79942,79944],{"class":986,"line":772},[984,79939,997],{"class":996},[984,79941,1015],{"class":990},[984,79943,1004],{"class":1003},[984,79945,1021],{"class":990},[984,79947,79948,79950],{"class":986,"line":1024},[984,79949,1724],{"class":996},[984,79951,1083],{"class":990},[984,79953,79954,79956,79958,79960],{"class":986,"line":1035},[984,79955,79776],{"class":996},[984,79957,1015],{"class":990},[984,79959,78840],{"class":996},[984,79961,1021],{"class":990},[984,79963,79964,79967,79969,79971],{"class":986,"line":1098},[984,79965,79966],{"class":996},"        \"is_my_offer\"",[984,79968,1015],{"class":990},[984,79970,5089],{"class":996},[984,79972,1021],{"class":990},[984,79974,79975,79978,79980,79982],{"class":986,"line":1111},[984,79976,79977],{"class":996},"        \"is_public\"",[984,79979,1015],{"class":990},[984,79981,5089],{"class":996},[984,79983,1021],{"class":990},[984,79985,79986,79988,79990,79992],{"class":986,"line":1124},[984,79987,79787],{"class":996},[984,79989,1015],{"class":990},[984,79991,78851],{"class":996},[984,79993,1021],{"class":990},[984,79995,79996,79998,80000,80002],{"class":986,"line":1137},[984,79997,65027],{"class":996},[984,79999,1015],{"class":990},[984,80001,32832],{"class":996},[984,80003,1021],{"class":990},[984,80005,80006,80008,80010,80012],{"class":986,"line":1150},[984,80007,79533],{"class":996},[984,80009,1015],{"class":990},[984,80011,64790],{"class":1003},[984,80013,1021],{"class":990},[984,80015,80016,80018,80020,80022],{"class":986,"line":1163},[984,80017,65005],{"class":996},[984,80019,1015],{"class":990},[984,80021,3592],{"class":996},[984,80023,1021],{"class":990},[984,80025,80026,80028,80030,80032],{"class":986,"line":1176},[984,80027,79511],{"class":996},[984,80029,1015],{"class":990},[984,80031,78557],{"class":1003},[984,80033,1021],{"class":990},[984,80035,80036,80038,80040,80042],{"class":986,"line":1189},[984,80037,79818],{"class":996},[984,80039,1015],{"class":990},[984,80041,78923],{"class":1003},[984,80043,1021],{"class":990},[984,80045,80046,80048,80050],{"class":986,"line":1202},[984,80047,79720],{"class":996},[984,80049,1015],{"class":990},[984,80051,78934],{"class":1003},[984,80053,80054],{"class":986,"line":1211},[984,80055,1607],{"class":990},[984,80057,80058],{"class":986,"line":1217},[984,80059,1038],{"class":990},[26,80061,78353],{"id":78353},[11,80063,80064],{},"Publicates offer on a board",[11,80066,80067],{},[150,80068,975],{},[866,80070,80072],{"className":978,"code":80071,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_publish_offer\",\n    \"params\": {\n        \"token\": \"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"\n    }\n}\n",[150,80073,80074,80078,80088,80098,80109,80115,80123,80127],{"__ignoreMap":760},[984,80075,80076],{"class":986,"line":987},[984,80077,991],{"class":990},[984,80079,80080,80082,80084,80086],{"class":986,"line":761},[984,80081,997],{"class":996},[984,80083,1015],{"class":990},[984,80085,1004],{"class":1003},[984,80087,1021],{"class":990},[984,80089,80090,80092,80094,80096],{"class":986,"line":772},[984,80091,1012],{"class":996},[984,80093,1015],{"class":990},[984,80095,79696],{"class":996},[984,80097,1021],{"class":990},[984,80099,80100,80102,80104,80107],{"class":986,"line":1024},[984,80101,1027],{"class":996},[984,80103,1015],{"class":990},[984,80105,80106],{"class":1003},"\"swap_publish_offer\"",[984,80108,1021],{"class":990},[984,80110,80111,80113],{"class":986,"line":1035},[984,80112,1521],{"class":996},[984,80114,1083],{"class":990},[984,80116,80117,80119,80121],{"class":986,"line":1098},[984,80118,15142],{"class":996},[984,80120,1015],{"class":990},[984,80122,79651],{"class":1003},[984,80124,80125],{"class":986,"line":1111},[984,80126,1607],{"class":990},[984,80128,80129],{"class":986,"line":1124},[984,80130,1038],{"class":990},[11,80132,80133],{},[150,80134,1043],{},[866,80136,80138],{"className":978,"code":80137,"language":980,"meta":760,"style":760},"{\n  \"id\": 126,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"is_my_offer\": true,\n    \"is_public\": true,\n    \"height_expired\": 103173,\n    \"min_height\": 103143\n    \"receive_amount\": 2000000000,\n    \"receive_currency\": \"BTC\",\n    \"send_amount\": 44000000000,\n    \"send_currency\": \"BEAM\",\n    \"status\": 0,\n    \"status_string\": \"pending\",\n    \"time_created\": \"2020.02.19 11:29:19\",\n    \"token\": \"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\",\n    \"txId\": \"062757f5ea62448589d977aa05c5782f\"\n  }\n}\n",[150,80139,80140,80144,80154,80164,80170,80181,80192,80202,80211,80223,80234,80245,80256,80266,80276,80287,80298,80307,80311],{"__ignoreMap":760},[984,80141,80142],{"class":986,"line":987},[984,80143,991],{"class":990},[984,80145,80146,80148,80150,80152],{"class":986,"line":761},[984,80147,1057],{"class":996},[984,80149,1015],{"class":990},[984,80151,79696],{"class":996},[984,80153,1021],{"class":990},[984,80155,80156,80158,80160,80162],{"class":986,"line":772},[984,80157,1069],{"class":996},[984,80159,1015],{"class":990},[984,80161,1004],{"class":1003},[984,80163,1021],{"class":990},[984,80165,80166,80168],{"class":986,"line":1024},[984,80167,1080],{"class":996},[984,80169,1083],{"class":990},[984,80171,80172,80175,80177,80179],{"class":986,"line":1035},[984,80173,80174],{"class":996},"    \"is_my_offer\"",[984,80176,1015],{"class":990},[984,80178,2682],{"class":996},[984,80180,1021],{"class":990},[984,80182,80183,80186,80188,80190],{"class":986,"line":1098},[984,80184,80185],{"class":996},"    \"is_public\"",[984,80187,1015],{"class":990},[984,80189,2682],{"class":996},[984,80191,1021],{"class":990},[984,80193,80194,80196,80198,80200],{"class":986,"line":1111},[984,80195,7847],{"class":996},[984,80197,1015],{"class":990},[984,80199,79313],{"class":996},[984,80201,1021],{"class":990},[984,80203,80204,80206,80208],{"class":986,"line":1124},[984,80205,7859],{"class":996},[984,80207,1015],{"class":990},[984,80209,80210],{"class":996},"103143\n",[984,80212,80213,80216,80218,80221],{"class":986,"line":1137},[984,80214,80215],{"class":1003},"    \"receive_amount\"",[984,80217,1000],{"class":1598},[984,80219,80220],{"class":996}," 2000000000",[984,80222,1021],{"class":990},[984,80224,80225,80228,80230,80232],{"class":986,"line":1150},[984,80226,80227],{"class":996},"    \"receive_currency\"",[984,80229,1015],{"class":990},[984,80231,78557],{"class":1003},[984,80233,1021],{"class":990},[984,80235,80236,80239,80241,80243],{"class":986,"line":1163},[984,80237,80238],{"class":996},"    \"send_amount\"",[984,80240,1015],{"class":990},[984,80242,79504],{"class":996},[984,80244,1021],{"class":990},[984,80246,80247,80250,80252,80254],{"class":986,"line":1176},[984,80248,80249],{"class":996},"    \"send_currency\"",[984,80251,1015],{"class":990},[984,80253,64790],{"class":1003},[984,80255,1021],{"class":990},[984,80257,80258,80260,80262,80264],{"class":986,"line":1189},[984,80259,7871],{"class":996},[984,80261,1015],{"class":990},[984,80263,1171],{"class":996},[984,80265,1021],{"class":990},[984,80267,80268,80270,80272,80274],{"class":986,"line":1202},[984,80269,7882],{"class":996},[984,80271,1015],{"class":990},[984,80273,7887],{"class":1003},[984,80275,1021],{"class":990},[984,80277,80278,80280,80282,80285],{"class":986,"line":1211},[984,80279,7917],{"class":996},[984,80281,1015],{"class":990},[984,80283,80284],{"class":1003},"\"2020.02.19 11:29:19\"",[984,80286,1021],{"class":990},[984,80288,80289,80291,80293,80296],{"class":986,"line":1217},[984,80290,79646],{"class":996},[984,80292,1015],{"class":990},[984,80294,80295],{"class":1003},"\"TJeBeBjF48BdyxTDJg8gjogn9eDKQUx1Nm18iHPw53YoFipxKKkutNUV5AkVnFyLohpSrWsrnFNLGyBakVGY4Y2URdSQ52cDACHGDuHjYVpjMz8KN7q6rJrWGEXah2wJXHxrARYbAh7dTizdtQxaNVj34dfr8wKkfPFC7vmk\"",[984,80297,1021],{"class":990},[984,80299,80300,80302,80304],{"class":986,"line":1229},[984,80301,7929],{"class":996},[984,80303,1015],{"class":990},[984,80305,80306],{"class":1003},"\"062757f5ea62448589d977aa05c5782f\"\n",[984,80308,80309],{"class":986,"line":1241},[984,80310,1459],{"class":990},[984,80312,80313],{"class":986,"line":1254},[984,80314,1038],{"class":990},[26,80316,78359],{"id":78359},[11,80318,80319],{},"Starts the swap offer published on a board or received directly from other side",[11,80321,80322],{},[150,80323,975],{},[866,80325,80327],{"className":978,"code":80326,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1236,\n    \"method\": \"swap_accept_offer\",\n    \"params\": {\n        \"beam_fee\": 100,\n        \"fee_rate\": 90000,\n        \"comment\": \"API-accept\",\n        \"token\" : \"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\"\n    }\n}\n",[150,80328,80329,80333,80343,80353,80364,80370,80380,80390,80401,80410,80414],{"__ignoreMap":760},[984,80330,80331],{"class":986,"line":987},[984,80332,991],{"class":990},[984,80334,80335,80337,80339,80341],{"class":986,"line":761},[984,80336,997],{"class":996},[984,80338,1015],{"class":990},[984,80340,1004],{"class":1003},[984,80342,1021],{"class":990},[984,80344,80345,80347,80349,80351],{"class":986,"line":772},[984,80346,1012],{"class":996},[984,80348,1015],{"class":990},[984,80350,1062],{"class":996},[984,80352,1021],{"class":990},[984,80354,80355,80357,80359,80362],{"class":986,"line":1024},[984,80356,1027],{"class":996},[984,80358,1015],{"class":990},[984,80360,80361],{"class":1003},"\"swap_accept_offer\"",[984,80363,1021],{"class":990},[984,80365,80366,80368],{"class":986,"line":1035},[984,80367,1521],{"class":996},[984,80369,1083],{"class":990},[984,80371,80372,80374,80376,80378],{"class":986,"line":1098},[984,80373,79545],{"class":996},[984,80375,1015],{"class":990},[984,80377,4979],{"class":996},[984,80379,1021],{"class":990},[984,80381,80382,80384,80386,80388],{"class":986,"line":1111},[984,80383,79556],{"class":996},[984,80385,1015],{"class":990},[984,80387,79561],{"class":996},[984,80389,1021],{"class":990},[984,80391,80392,80394,80396,80399],{"class":986,"line":1124},[984,80393,1580],{"class":996},[984,80395,1015],{"class":990},[984,80397,80398],{"class":1003},"\"API-accept\"",[984,80400,1021],{"class":990},[984,80402,80403,80405,80407],{"class":986,"line":1137},[984,80404,15142],{"class":996},[984,80406,1738],{"class":990},[984,80408,80409],{"class":1003},"\"6xfTV5NF6JWbcZLupbhTHNEQqnGjHQEL5L5VsT4XhAkMw9GqTzMowAVQVhpUWSAvg8cqtfV1s6BKSa75zk8vCMK7mVP7xNjATJ2pPCNcu3U8UYz4rce4gRuTBuYNDbyY7zFEEzMZL2RKKjGCtEN2bpCif8GuGUekzRc8hiL\"\n",[984,80411,80412],{"class":986,"line":1150},[984,80413,1607],{"class":990},[984,80415,80416],{"class":986,"line":1163},[984,80417,1038],{"class":990},[11,80419,80420],{},[150,80421,1043],{},[866,80423,80425],{"className":978,"code":80424,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"height_expired\": 103173,\n    \"min_height\": 103143,\n    \"receive_amount\": 100000000,\n    \"receive_currency\": \"BTC\",\n    \"send_amount\": 1200000000,\n    \"send_currency\": \"BEAM\",\n    \"status\": 1,\n    \"status_string\": \"in progress\",\n    \"time_created\": \"2020.02.19 11:20:50\",\n    \"txId\": \"f87b06cf752040cdaefbf99831bc3e80\"\n  }\n}\n",[150,80426,80427,80431,80441,80451,80457,80467,80477,80487,80497,80507,80517,80527,80538,80549,80557,80561],{"__ignoreMap":760},[984,80428,80429],{"class":986,"line":987},[984,80430,991],{"class":990},[984,80432,80433,80435,80437,80439],{"class":986,"line":761},[984,80434,1057],{"class":996},[984,80436,1015],{"class":990},[984,80438,1062],{"class":996},[984,80440,1021],{"class":990},[984,80442,80443,80445,80447,80449],{"class":986,"line":772},[984,80444,1069],{"class":996},[984,80446,1015],{"class":990},[984,80448,1004],{"class":1003},[984,80450,1021],{"class":990},[984,80452,80453,80455],{"class":986,"line":1024},[984,80454,1080],{"class":996},[984,80456,1083],{"class":990},[984,80458,80459,80461,80463,80465],{"class":986,"line":1035},[984,80460,7847],{"class":996},[984,80462,1015],{"class":990},[984,80464,79313],{"class":996},[984,80466,1021],{"class":990},[984,80468,80469,80471,80473,80475],{"class":986,"line":1098},[984,80470,7859],{"class":996},[984,80472,1015],{"class":990},[984,80474,79325],{"class":996},[984,80476,1021],{"class":990},[984,80478,80479,80481,80483,80485],{"class":986,"line":1111},[984,80480,80215],{"class":996},[984,80482,1015],{"class":990},[984,80484,3592],{"class":996},[984,80486,1021],{"class":990},[984,80488,80489,80491,80493,80495],{"class":986,"line":1124},[984,80490,80227],{"class":996},[984,80492,1015],{"class":990},[984,80494,78557],{"class":1003},[984,80496,1021],{"class":990},[984,80498,80499,80501,80503,80505],{"class":986,"line":1137},[984,80500,80238],{"class":996},[984,80502,1015],{"class":990},[984,80504,79359],{"class":996},[984,80506,1021],{"class":990},[984,80508,80509,80511,80513,80515],{"class":986,"line":1150},[984,80510,80249],{"class":996},[984,80512,1015],{"class":990},[984,80514,64790],{"class":1003},[984,80516,1021],{"class":990},[984,80518,80519,80521,80523,80525],{"class":986,"line":1163},[984,80520,7871],{"class":996},[984,80522,1015],{"class":990},[984,80524,1345],{"class":996},[984,80526,1021],{"class":990},[984,80528,80529,80531,80533,80536],{"class":986,"line":1176},[984,80530,7882],{"class":996},[984,80532,1015],{"class":990},[984,80534,80535],{"class":1003},"\"in progress\"",[984,80537,1021],{"class":990},[984,80539,80540,80542,80544,80547],{"class":986,"line":1189},[984,80541,7917],{"class":996},[984,80543,1015],{"class":990},[984,80545,80546],{"class":1003},"\"2020.02.19 11:20:50\"",[984,80548,1021],{"class":990},[984,80550,80551,80553,80555],{"class":986,"line":1202},[984,80552,7929],{"class":996},[984,80554,1015],{"class":990},[984,80556,79424],{"class":1003},[984,80558,80559],{"class":986,"line":1211},[984,80560,1459],{"class":990},[984,80562,80563],{"class":986,"line":1217},[984,80564,1038],{"class":990},[26,80566,78365],{"id":78365},[11,80568,80569],{},"Cancel swap offer (cancels running transaction, return true if successfully canceled or error with the reason)",[11,80571,80572],{},[150,80573,975],{},[866,80575,80577],{"className":978,"code":80576,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_cancel_offer\",\n    \"params\": {\n        \"txId\" : \"a13525181c0d45b0a4c5c1a697c8a7b8\"\n    }\n}\n",[150,80578,80579,80583,80593,80603,80614,80620,80628,80632],{"__ignoreMap":760},[984,80580,80581],{"class":986,"line":987},[984,80582,991],{"class":990},[984,80584,80585,80587,80589,80591],{"class":986,"line":761},[984,80586,997],{"class":996},[984,80588,1015],{"class":990},[984,80590,1004],{"class":1003},[984,80592,1021],{"class":990},[984,80594,80595,80597,80599,80601],{"class":986,"line":772},[984,80596,1012],{"class":996},[984,80598,1015],{"class":990},[984,80600,79696],{"class":996},[984,80602,1021],{"class":990},[984,80604,80605,80607,80609,80612],{"class":986,"line":1024},[984,80606,1027],{"class":996},[984,80608,1015],{"class":990},[984,80610,80611],{"class":1003},"\"swap_cancel_offer\"",[984,80613,1021],{"class":990},[984,80615,80616,80618],{"class":986,"line":1035},[984,80617,1521],{"class":996},[984,80619,1083],{"class":990},[984,80621,80622,80624,80626],{"class":986,"line":1098},[984,80623,1735],{"class":996},[984,80625,1738],{"class":990},[984,80627,14622],{"class":1003},[984,80629,80630],{"class":986,"line":1111},[984,80631,1607],{"class":990},[984,80633,80634],{"class":986,"line":1124},[984,80635,1038],{"class":990},[11,80637,80638],{},[150,80639,1043],{},[866,80641,80643],{"className":978,"code":80642,"language":980,"meta":760,"style":760},"{\n  \"id\": 126,\n  \"jsonrpc\": \"2.0\",\n  \"result\": true\n}\n",[150,80644,80645,80649,80659,80669,80677],{"__ignoreMap":760},[984,80646,80647],{"class":986,"line":987},[984,80648,991],{"class":990},[984,80650,80651,80653,80655,80657],{"class":986,"line":761},[984,80652,1057],{"class":996},[984,80654,1015],{"class":990},[984,80656,79696],{"class":996},[984,80658,1021],{"class":990},[984,80660,80661,80663,80665,80667],{"class":986,"line":772},[984,80662,1069],{"class":996},[984,80664,1015],{"class":990},[984,80666,1004],{"class":1003},[984,80668,1021],{"class":990},[984,80670,80671,80673,80675],{"class":986,"line":1024},[984,80672,1080],{"class":996},[984,80674,1015],{"class":990},[984,80676,2497],{"class":996},[984,80678,80679],{"class":986,"line":1035},[984,80680,1038],{"class":990},[26,80682,78371],{"id":78371},[11,80684,80685],{},[150,80686,975],{},[866,80688,80690],{"className":978,"code":80689,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 126,\n    \"method\": \"swap_get_balance\",\n    \"params\": {\n        \"coin\": \"btc\"\n    }\n}\n",[150,80691,80692,80696,80706,80716,80727,80733,80742,80746],{"__ignoreMap":760},[984,80693,80694],{"class":986,"line":987},[984,80695,991],{"class":990},[984,80697,80698,80700,80702,80704],{"class":986,"line":761},[984,80699,997],{"class":996},[984,80701,1015],{"class":990},[984,80703,1004],{"class":1003},[984,80705,1021],{"class":990},[984,80707,80708,80710,80712,80714],{"class":986,"line":772},[984,80709,1012],{"class":996},[984,80711,1015],{"class":990},[984,80713,79696],{"class":996},[984,80715,1021],{"class":990},[984,80717,80718,80720,80722,80725],{"class":986,"line":1024},[984,80719,1027],{"class":996},[984,80721,1015],{"class":990},[984,80723,80724],{"class":1003},"\"swap_get_balance\"",[984,80726,1021],{"class":990},[984,80728,80729,80731],{"class":986,"line":1035},[984,80730,1521],{"class":996},[984,80732,1083],{"class":990},[984,80734,80735,80738,80740],{"class":986,"line":1098},[984,80736,80737],{"class":996},"        \"coin\"",[984,80739,1015],{"class":990},[984,80741,32856],{"class":1003},[984,80743,80744],{"class":986,"line":1111},[984,80745,1607],{"class":990},[984,80747,80748],{"class":986,"line":1124},[984,80749,1038],{"class":990},[11,80751,80752],{},[150,80753,1043],{},[866,80755,80757],{"className":978,"code":80756,"language":980,"meta":760,"style":760},"{\n    \"id\": 126,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"available\": 129899985060\n    }\n}\n",[150,80758,80759,80763,80773,80783,80789,80798,80802],{"__ignoreMap":760},[984,80760,80761],{"class":986,"line":987},[984,80762,991],{"class":990},[984,80764,80765,80767,80769,80771],{"class":986,"line":761},[984,80766,1012],{"class":996},[984,80768,1015],{"class":990},[984,80770,79696],{"class":996},[984,80772,1021],{"class":990},[984,80774,80775,80777,80779,80781],{"class":986,"line":772},[984,80776,997],{"class":996},[984,80778,1015],{"class":990},[984,80780,1004],{"class":1003},[984,80782,1021],{"class":990},[984,80784,80785,80787],{"class":986,"line":1024},[984,80786,1724],{"class":996},[984,80788,1083],{"class":990},[984,80790,80791,80793,80795],{"class":986,"line":1035},[984,80792,1232],{"class":996},[984,80794,1015],{"class":990},[984,80796,80797],{"class":996},"129899985060\n",[984,80799,80800],{"class":986,"line":1098},[984,80801,1607],{"class":990},[984,80803,80804],{"class":986,"line":1111},[984,80805,1038],{"class":990},[26,80807,78377],{"id":78377},[11,80809,80810],{},[150,80811,975],{},[866,80813,80815],{"className":978,"code":80814,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 127,\n    \"method\": \"swap_recommended_fee_rate\",\n    \"params\": {\n        \"coin\": \"btc\"\n    }\n}\n",[150,80816,80817,80821,80831,80842,80853,80859,80867,80871],{"__ignoreMap":760},[984,80818,80819],{"class":986,"line":987},[984,80820,991],{"class":990},[984,80822,80823,80825,80827,80829],{"class":986,"line":761},[984,80824,997],{"class":996},[984,80826,1015],{"class":990},[984,80828,1004],{"class":1003},[984,80830,1021],{"class":990},[984,80832,80833,80835,80837,80840],{"class":986,"line":772},[984,80834,1012],{"class":996},[984,80836,1015],{"class":990},[984,80838,80839],{"class":996},"127",[984,80841,1021],{"class":990},[984,80843,80844,80846,80848,80851],{"class":986,"line":1024},[984,80845,1027],{"class":996},[984,80847,1015],{"class":990},[984,80849,80850],{"class":1003},"\"swap_recommended_fee_rate\"",[984,80852,1021],{"class":990},[984,80854,80855,80857],{"class":986,"line":1035},[984,80856,1521],{"class":996},[984,80858,1083],{"class":990},[984,80860,80861,80863,80865],{"class":986,"line":1098},[984,80862,80737],{"class":996},[984,80864,1015],{"class":990},[984,80866,32856],{"class":1003},[984,80868,80869],{"class":986,"line":1111},[984,80870,1607],{"class":990},[984,80872,80873],{"class":986,"line":1124},[984,80874,1038],{"class":990},[11,80876,80877],{},[150,80878,1043],{},[866,80880,80882],{"className":978,"code":80881,"language":980,"meta":760,"style":760},"{\n    \"id\": 127,\n    \"jsonrpc\": \"2.0\",\n    \"result\": {\n        \"feerate\": 35123\n    }\n}\n",[150,80883,80884,80888,80898,80908,80914,80924,80928],{"__ignoreMap":760},[984,80885,80886],{"class":986,"line":987},[984,80887,991],{"class":990},[984,80889,80890,80892,80894,80896],{"class":986,"line":761},[984,80891,1012],{"class":996},[984,80893,1015],{"class":990},[984,80895,80839],{"class":996},[984,80897,1021],{"class":990},[984,80899,80900,80902,80904,80906],{"class":986,"line":772},[984,80901,997],{"class":996},[984,80903,1015],{"class":990},[984,80905,1004],{"class":1003},[984,80907,1021],{"class":990},[984,80909,80910,80912],{"class":986,"line":1024},[984,80911,1724],{"class":996},[984,80913,1083],{"class":990},[984,80915,80916,80919,80921],{"class":986,"line":1035},[984,80917,80918],{"class":996},"        \"feerate\"",[984,80920,1015],{"class":990},[984,80922,80923],{"class":996},"35123\n",[984,80925,80926],{"class":986,"line":1098},[984,80927,1607],{"class":990},[984,80929,80930],{"class":986,"line":1111},[984,80931,1038],{"class":990},[716,80933,80935],{"id":80934},"swap-offers-statuses-description","Swap offers statuses description",[866,80937,80940],{"className":80938,"code":80939,"language":871},[869],"Pending (0)     - waiting for someone accept your offer, or waiting when you accept offer\nInProgress (1)  - to indicate that swap transaction in progress, you should stay online\nCompleted (2)   - a swap transaction is completed\nCanceled (3)    - \"Cancelled\" (by You)\nExpired(4)      - offer lifetime expired\nFailed (5)      - failed for some reason\n",[150,80941,80939],{"__ignoreMap":760},[2685,80943,80944],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s6RL2, html code.shiki .s6RL2{--shiki-default:#FDAEB7;--shiki-default-font-style:italic}",{"title":760,"searchDepth":761,"depth":761,"links":80946},[80947,80948,80949,80950,80951,80952,80953,80954,80955,80956,80957],{"id":6387,"depth":761,"text":935},{"id":78323,"depth":761,"text":78323},{"id":78329,"depth":761,"text":78329},{"id":78335,"depth":761,"text":78335},{"id":78341,"depth":761,"text":78341},{"id":78347,"depth":761,"text":78347},{"id":78353,"depth":761,"text":78353},{"id":78359,"depth":761,"text":78359},{"id":78365,"depth":761,"text":78365},{"id":78371,"depth":761,"text":78371},{"id":78377,"depth":761,"text":78377,"children":80958},[80959],{"id":80934,"depth":772,"text":80935},"Swap API extends Beam wallet protocol API",{},"\u002Fdocs\u002Fcore-tech\u002Fbeam-wallet-protocol-swap-api-(beta)",{"description":80960},"docs\u002Fcore-tech\u002FBeam-wallet-protocol-SWAP-API-(BETA)","TEBhR4zXIyraryD_aTHMuaOkt_0hsNXMJdGU0-5fj4c",{"id":80967,"title":80968,"body":80969,"description":81201,"extension":775,"image":776,"meta":81202,"navTitle":776,"navigation":778,"path":81203,"seo":81204,"stem":81205,"__hash__":81206},"docs\u002Fdocs\u002Fcore-tech\u002FBeamX-Getting-Started.md","Welcome to BeamX",{"type":8,"value":80970,"toc":81192},[80971,80974,80981,80984,80988,80992,80997,81000,81003,81019,81022,81026,81029,81037,81040,81044,81047,81054,81058,81061,81071,81074,81085,81088,81092,81095,81098,81106,81109,81112,81117,81124,81127,81135,81138,81142,81145,81148,81154,81157,81160,81163,81166],[43,80972,80968],{"id":80973},"welcome-to-beamx",[11,80975,80976,80977,80980],{},"Hi and Welcome to ",[94,80978,80979],{},"BeamX",", Confidential DeFi Experimental Platform based on Beam Confidential blockchain.",[11,80982,80983],{},"We invite you to build BeamX together with us and actively contribute both as a user and as developer.\nThis document contains everything you need to get started with BeamX",[26,80985,80987],{"id":80986},"before-we-start","Before we start",[11,80989,80990],{},[94,80991,5614],{},[11,80993,80994],{},[94,80995,80996],{},"BeamX is very new and experimental project, it is currently in public testnet, so all the assets on it including Beam are for play only.",[11,80998,80999],{},"You can expect a lot of things to be broken quite frequently",[11,81001,81002],{},"Here are two Telegram groups for user and developer support:",[89,81004,81005,81012],{},[54,81006,81007,81011],{},[18,81008,81009],{"href":81009,"rel":81010},"https:\u002F\u002Ft.me\u002FBeamXSupport",[22]," - for general issues related to BeamX",[54,81013,81014,81018],{},[18,81015,81016],{"href":81016,"rel":81017},"https:\u002F\u002Ft.me\u002FBeamXDev",[22],"     - for developers building on BeamX",[11,81020,81021],{},"We recommend that you join these groups and ask any questions",[26,81023,81025],{"id":81024},"getting-the-binaries","Getting the binaries",[11,81027,81028],{},"You can download BeamX compatible binaries for your platform at \u002Fdownloads",[11,81030,81031,81032],{},"If you would like to build BeamX yourself from source code please refer to the ",[18,81033,81036],{"href":81034,"rel":81035},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHow-to-build",[22],"Building Instructions Guide",[11,81038,81039],{},"We strongly recommend that you get the node and the CLI wallet in addition to the Desktop wallet even if you only intend to use BeamX. The reason for that is that many interesting contracts you might want to run will take time to provide graphical applications. Having your own node and running CLI wallet will allow you to use the newest and coolest features. It is not complicated, as we will see in a minute.",[26,81041,81043],{"id":81042},"using-beamx-cli-wallet","Using BeamX CLI wallet",[11,81045,81046],{},"Once you download and unzip CLI binary, put it in a folder called 'beamx' anywhere on your machine. Once this is done, open your favorite Terminal or Command Prompt and change directory to the 'beamx' folder you have just created.",[11,81048,81049,81050,81053],{},"TIP: Since BeamX CLI wallet is an extended version of Beam CLI wallet most of the documentation ",[18,81051,857],{"href":81052},"\u002Fdocs\u002Fcli"," is applicable to BeamX CLI Wallet as well.",[716,81055,81057],{"id":81056},"initializing-the-wallet","Initializing the wallet",[11,81059,81060],{},"Assuming your wallet binary is called something like beam-wallet-beamx.exe (on Windows) or beam-wallet-beamx (on Linux or Mac) run:",[11,81062,81063,81066,81067,81070],{},[150,81064,81065],{},"beam-wallet-beamx.exe init"," (for Windows)\n",[150,81068,81069],{},".\u002Fbeam-wallet-beamx init"," (for Linux or Mac)",[11,81072,81073],{},"Running this command will:",[51,81075,81076,81079,81082],{},[54,81077,81078],{},"Create a new wallet database in the same folder",[54,81080,81081],{},"Print out your seed phrase (which you should copy and keep somewhere, just in case)",[54,81083,81084],{},"Prompt you to setup wallet password, we recommend using something short like 123 since, remember, it's just play tokens",[11,81086,81087],{},"Once you are done, move to the next step",[716,81089,81091],{"id":81090},"running-your-own-node","Running your own node",[11,81093,81094],{},"We highly recommend that you run your own node to play with BeamX. To do so, download the node binary and put it in the same location as BeamX CLI Wallet, namely in the 'beamx' folder you have created.",[11,81096,81097],{},"Before you run your own node, you will need to get your owner key by running the following command:",[11,81099,81100,81066,81103,81070],{},[150,81101,81102],{},"beam-wallet-beamx.exe export_owner_key",[150,81104,81105],{},".\u002Fbeam-wallet-beamx export_owner_key",[11,81107,81108],{},"Running this command will print out your owner key. You will need it in a second when running your node.",[11,81110,81111],{},"Run:",[11,81113,81114],{},[150,81115,81116],{},"beam-node-beamx --port=8501 --owner_key=\u003Cput here the owner key from the previous step without the brackets> --peer=us-node01.beamx.beam.mw:8100,us-node02.beamx.beam.mw:8100,us-node03.beamx.beam.mw:8100",[11,81118,81119,81120],{},"Wait for the node to synchronize to the current blockchain height which you can see here: ",[18,81121,81122],{"href":81122,"rel":81123},"http:\u002F\u002Fbeamx.explorer.beam.mw\u002F",[22],[11,81125,81126],{},"You are ready to start using your wallet. To make sure everything works you can start by running:",[11,81128,81129,81066,81132,81070],{},[150,81130,81131],{},"beam-wallet-beamx.exe info",[150,81133,81134],{},".\u002Fbeam-wallet-beamx info",[11,81136,81137],{},"Which should show that your balance is currently 0",[716,81139,81141],{"id":81140},"getting-the-shaders","Getting the Shaders",[11,81143,81144],{},"BeamX Smart Contracts are implemented with special programs called Beam Shaders. Shaders are small (or not so small) programs that can be written in several different programming languages but are eventually compiled to .wasm files (since Beam Virtual Machine runs on something called WebAssembly)",[11,81146,81147],{},"To get started you do not need to write or build Shaders yourself. Instead you can download the latest samples and examples from our repository here:",[11,81149,81150],{},[18,81151,81152],{"href":81152,"rel":81153},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002FbeamX\u002Fbvm\u002FShaders",[22],[11,81155,81156],{},"As you can see, there are several folders there called 'faucet', 'vault' and 'roulette' and maybe others. In each of those folders are two files usually called 'contract.wasm' and 'app.wasm'.",[11,81158,81159],{},"The reason for that is that each application comes in two parts. One part is the contract that is deployed to the blockchain (contract.wasm) and the other one is used by the wallet to interact with the contract (app.wasm)",[11,81161,81162],{},"We suggest to create a folder called 'shaders' under the 'beamx' folder and put the subfolder with specific apps like 'faucet' and such there.",[11,81164,81165],{},"Now let's see how we can run some apps!",[51,81167,81168,81176,81184],{},[54,81169,81170,81171],{},"Get some coins from ",[18,81172,81175],{"href":81173,"rel":81174},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUsing-BeamX-Faucet-contract-with-CLI-Wallet",[22],"Faucet contract",[54,81177,81178,81179],{},"Put some coins in a ",[18,81180,81183],{"href":81181,"rel":81182},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUsing-BeamX-Vault-contract-with-CLI-Wallet",[22],"Vault contract",[54,81185,81186,81187],{},"Play Roulette with ",[18,81188,81191],{"href":81189,"rel":81190},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUsing-BeamX-Roulette-contract-with-CLI-Wallet",[22],"Roulette contract",{"title":760,"searchDepth":761,"depth":761,"links":81193},[81194,81195,81196],{"id":80986,"depth":761,"text":80987},{"id":81024,"depth":761,"text":81025},{"id":81042,"depth":761,"text":81043,"children":81197},[81198,81199,81200],{"id":81056,"depth":772,"text":81057},{"id":81090,"depth":772,"text":81091},{"id":81140,"depth":772,"text":81141},"Hi and Welcome to BeamX, Confidential DeFi Experimental Platform based on Beam Confidential blockchain.",{},"\u002Fdocs\u002Fcore-tech\u002Fbeamx-getting-started",{"title":80968,"description":81201},"docs\u002Fcore-tech\u002FBeamX-Getting-Started","DDe-xzJw8lEiwwDhqc2L3la2phKeRIfGH9yci0cFG9s",{"id":81208,"title":81209,"body":81210,"description":81214,"extension":775,"image":776,"meta":81541,"navTitle":776,"navigation":778,"path":81542,"seo":81543,"stem":81544,"__hash__":81545},"docs\u002Fdocs\u002Fcore-tech\u002FBlocks,-headers,-system-states.-Concept,-relevant-structures-and-values.md","Blocks, Headers, System States Concept, Relevant Structures And Values",{"type":8,"value":81211,"toc":81536},[81212,81215,81231,81234,81237,81241,81244,81256,81259,81263,81266,81340,81354,81357,81377,81390,81393,81396,81415,81424,81433,81437,81440,81460,81463,81468,81471,81474,81485,81488,81496,81500,81503,81510,81513,81517,81520,81527,81530,81533],[11,81213,81214],{},"First let's define terminology.",[89,81216,81217,81224],{},[54,81218,81219,81220,81223],{},"System state - is a ",[58,81221,81222],{},"valid"," state of the system, which is fully defined by all the existing data (more about this later)",[54,81225,81226,81227,81230],{},"Block - is an information used to perform a ",[58,81228,81229],{},"transition"," from one system state to another.",[11,81232,81233],{},"To avoid ambiguity we refrain from saying \"block hash\" or \"block height\", because, strictly speaking, those are properties of the System state. OTOH blocks are just transactions, which may be combined.",[11,81235,81236],{},"Each state has a header, and there are several structures related to it.",[716,81238,81240],{"id":81239},"systemstateid","SystemState::ID",[11,81242,81243],{},"Consists of:",[89,81245,81246,81251],{},[54,81247,81248],{},[150,81249,81250],{},"Merkle::Hash m_Hash",[54,81252,81253],{},[150,81254,81255],{},"Height m_Height",[11,81257,81258],{},"Used to denote an existing known state. (Hash would be enough, but we decided to include the height as well)",[716,81260,81262],{"id":81261},"systemstatefull","SystemState::Full",[11,81264,81265],{},"A full header bound to the system state. Consists of:",[89,81267,81268,81284,81294,81308,81318,81323],{},[54,81269,81270,81272],{},[150,81271,81255],{},[89,81273,81274],{},[54,81275,81276,81277,81280,81281,385],{},"Our convention: ",[150,81278,81279],{},"m_Height = 0"," - is for initial system state, no data and nothing is interpreted yet. The next state, which is achieved after interpreting the genesis block, has ",[150,81282,81283],{},"m_Height = 1",[54,81285,81286,81289],{},[150,81287,81288],{},"Merkle::Hash m_Prev",[89,81290,81291],{},[54,81292,81293],{},"explicit reference to prev",[54,81295,81296,81299],{},[150,81297,81298],{},"Difficulty::Raw m_ChainWork",[89,81300,81301],{},[54,81302,81303,81304,81307],{},"Cumulative chainwork (sum of difficulties) ",[145,81305,81306],{},"including"," the difficulty of this state.",[54,81309,81310,81313],{},[150,81311,81312],{},"Merkle::Hash m_Definition",[89,81314,81315],{},[54,81316,81317],{},"The Hash of the full system definition in this state (more about this later)",[54,81319,81320],{},[150,81321,81322],{},"Timestamp m_TimeStamp",[54,81324,81325,81328],{},[150,81326,81327],{},"PoW m_PoW",[89,81329,81330,81333],{},[54,81331,81332],{},"Proof-of-Work. An equihash solution.",[54,81334,81335,81336,81339],{},"Contains the ",[150,81337,81338],{},"Difficulty"," of this specific state.",[11,81341,32,81342,81345,81346,81349,81350,81353],{},[58,81343,81344],{},"System State Hash"," is calculated from all the header parameters, ",[145,81347,81348],{},"including PoW",". Not to be confused with ",[150,81351,81352],{},"m_Definition",", it's different.",[11,81355,81356],{},"Note that when many such headers should be presented for consecutive states - there are 3 redundant elements:",[89,81358,81359,81365,81371],{},[54,81360,81361,81364],{},[150,81362,81363],{},"m_Prev"," - obviously equals to the Hash of the previous state",[54,81366,81367,81370],{},[150,81368,81369],{},"m_Height"," - just increased by 1",[54,81372,81373,81376],{},[150,81374,81375],{},"m_ChainWork"," - can be calculated from previous header, after adding the difficulty of this one.",[11,81378,81379,81380,163,81383,81386,81387,81389],{},"So for those cases there are appropriate structures defined: ",[150,81381,81382],{},"SystemState::Sequence::Prefix",[150,81384,81385],{},"SystemState::Sequence::Element",". And the ",[150,81388,81262],{}," just inherits them both.",[716,81391,81392],{"id":19383},"PoW",[11,81394,81395],{},"BEAM uses equihash mining algorithm. It includes the following:",[89,81397,81398,81403,81409],{},[54,81399,81400],{},[150,81401,81402],{},"Difficulty m_Difficulty",[54,81404,81405,81408],{},[150,81406,81407],{},"m_Nonce"," - arbitrary 64-bit values",[54,81410,81411,81414],{},[150,81412,81413],{},"m_Indices"," - the solution, array of sorted indexes.",[11,81416,81417,81418,732,81420,81423],{},"The input for the solver\u002Fverifier is constructed from all the Header fields, except the PoW solution itself. But it does include the ",[150,81419,81407],{},[150,81421,81422],{},"m_Difficulty",". So that the difficulty must be selected before the mining, and can't be adjusted a-posteriori, if the solution eventually could reach higher difficulty (reached a smaller target).",[11,81425,81426,81428,81429,81432],{},[94,81427,3767],{},": The whole PoW parameters, including the solution, are accounted for in calculating the System State Hash. This is an intentional design decision, which ensures it's not possible to construct the chain of the system state headers without actually mining them, and then be able to mine only some specific states on-demand. This assumption is essential for ",[58,81430,81431],{},"FlyClient"," protocol.",[43,81434,81436],{"id":81435},"system-definition-hash","System Definition Hash",[11,81438,81439],{},"One of the most important parameters. The complete system state is constructed from the following data:",[89,81441,81442,81452,81457],{},[54,81443,81444,81445,81448,81449,385],{},"All the existing non-spent UTXOs, stored with the relevant parameters in an ",[150,81446,81447],{},"UtxoTree",", which is a variant of the ",[150,81450,81451],{},"RadixTree",[54,81453,81454,81455,385],{},"All the existing Kernels, stored in the ",[150,81456,81451],{},[54,81458,81459],{},"MMR of all the inherited system states.",[11,81461,81462],{},"The System Definition Hash is defined as:",[11,81464,81465],{},[150,81466,81467],{},"System-Definition-Hash = Hash [ InheritedStates.Root | Hash (UTXOs.Root | Kernels.Root) ]",[11,81469,81470],{},"After interpreting the appropriate block, the Full Node evaluates the actual System-Definition-Hash, and compares it with value in the State Header.",[11,81472,81473],{},"Note also that it's actually a root hash of the Merkle tree, whose elements are another Merkle trees. Using this property it's possible to generate and verify Merkle proofs for:",[89,81475,81476,81479,81482],{},[54,81477,81478],{},"Existing UTXO in the current system state",[54,81480,81481],{},"Existing Kernel",[54,81483,81484],{},"Inherited System State",[11,81486,81487],{},"All the Verifier needs is the proof, and the System Definition Hash. In addition to verifying the proof, the Verifier ensures the proof suffix is in accordance to the known part of the Merkle tree structure. Means:",[89,81489,81490,81493],{},[54,81491,81492],{},"For UTXOs and Kernels the Verifier knows the hashing direction of the last 2 elements.",[54,81494,81495],{},"For inherited System State the Verifier knows the whole Merkle path, hence all the hashing directions are deduced automatically.",[43,81497,81499],{"id":81498},"history-compression-macroblocks","History compression, Macroblocks",[11,81501,81502],{},"BEAM fully supports the excellent MW feature of history compression with removal of the spent outputs. However unlike what was written in the original MW whitepaper (published by monsieur Tom Elvis Jedusor) - there is no need to provide Merkle proofs or other supplementary info.",[11,81504,81505,81506,81509],{},"The \"compressed history\" in BEAM is actually just a one huge block, which we call a ",[58,81507,81508],{},"Macroblock",", which contains a single huge transaction, which is interpreted (almost) as a regular block\u002Ftransaction. And this is where the System Definition Hash is of critical importance.",[11,81511,81512],{},"No matter how big the compressed history is, the only thing that matters is the final system state, and it's verified according to the expected System Definition Hash. This is how the authenticity of the compressed history is verified.",[43,81514,81516],{"id":81515},"how-macroblocks-are-generated-and-used-in-beam","How Macroblocks are generated and used in BEAM",[11,81518,81519],{},"There is an implementation of the merging two consequent (macro)blocks. It's a sort of a \"merge sort\" of all the transaction elements (which must be sorted both in input and the resulting blocks), with removal of spent elements. Using this implementation an arbitrary number of blocks may be merged by recursive halving.",[11,81521,81522,81523,81526],{},"Our initial design was to generate and keep a ",[58,81524,81525],{},"cascade"," of macroblocks. Means, the Node each time merges several blocks at the tail, and then they are iteratively merged to the last merged macroblock, only if they are of the same complexity. This means at any moment we have a list of macroblocks of decreasing size, overall O(log(Height)) such blocks.",[11,81528,81529],{},"Then, to import a compressed history, the (other) Node downloads the most recent list of the consecutive macroblocks and interprets them according to their order.",[11,81531,81532],{},"But later we abandoned this idea, mostly because of the hassles for the client to download a list of the macroblocks, especially given the fact they are constantly created and deleted by the generating Node.",[11,81534,81535],{},"So currently the Node just creates a single macroblock once in a while (1 day by default), whereas the cascade-merge is used only internally by the Node to generate each time the new macroblock incrementally.\nWorth to note that during the macroblock generation, which can be a time-consuming operation, the Node is not paralyzed, and works as usual.",{"title":760,"searchDepth":761,"depth":761,"links":81537},[81538,81539,81540],{"id":81239,"depth":772,"text":81240},{"id":81261,"depth":772,"text":81262},{"id":19383,"depth":772,"text":81392},{},"\u002Fdocs\u002Fcore-tech\u002Fblocks-headers-system-states.-concept-relevant-structures-and-values",{"description":81214},"docs\u002Fcore-tech\u002FBlocks,-headers,-system-states.-Concept,-relevant-structures-and-values","Agz_tVO9hdI6lQRruDEq58zxW39FCqoqH19kh6QHTRg",{"id":81547,"title":81548,"body":81549,"description":760,"extension":775,"image":776,"meta":81799,"navTitle":776,"navigation":778,"path":81800,"seo":81801,"stem":81802,"__hash__":81803},"docs\u002Fdocs\u002Fcore-tech\u002FCold-wallet-implementation-(DEPRECATED).md","Cold wallet implementation",{"type":8,"value":81550,"toc":81783},[81551,81554,81558,81565,81580,81586,81594,81598,81601,81623,81627,81644,81648,81655,81659,81664,81671,81675,81678,81701,81704,81744,81748],[43,81552,81548],{"id":81553},"cold-wallet-implementation",[26,81555,81557],{"id":81556},"definitions","Definitions",[716,81559,81561,81564],{"id":81560},"cold-wallet",[94,81562,81563],{},"cold"," wallet",[89,81566,81567,81577],{},[54,81568,81569,81570,81573,81574],{},"can generate private keys, i.e. it has ",[58,81571,81572],{},"master key"," generated from ",[58,81575,81576],{},"seed phrase",[54,81578,81579],{},"has no connection with internet, as a result, it cannot send transactions to the node, and it cannot get proofs and notifications from the node",[716,81581,81583,81564],{"id":81582},"hot-wallet",[94,81584,81585],{},"hot",[89,81587,81588,81591],{},[54,81589,81590],{},"cannot generate any secrets from master key by the reason that it doesn't have it",[54,81592,81593],{},"has internet connection and can send\u002Fget messages from the node",[26,81595,81597],{"id":81596},"design","Design",[11,81599,81600],{},"The goal of this design is to get cold wallet scenario with minimal changes in existing codebase.",[11,81602,81603,81604,81606,81607,81609,81610,81613,81614,81616,81617,81619,81620,81622],{},"The main idea is to split wallet database (",[58,81605,5828],{},") onto two parts: public (",[58,81608,5828],{},") and private (",[58,81611,81612],{},"wallet.db.private","). The last one should hold master key generated from seed phrase.\n\"Cold\" wallet has both of these files, \"hot\" has public data only. To be able to make tranasctions with this setup user have to constantly move public ",[58,81615,5828],{}," file between \"cold\" and \"hot\" wallets. Since we override ",[58,81618,5828],{}," we have to stop \"hot\" wallet before we copy ",[58,81621,5828],{}," file from\u002Finto its folder",[716,81624,81626],{"id":81625},"changes","Changes",[51,81628,81629,81632,81638,81641],{},[54,81630,81631],{},"For \"Cold\" wallet we don't set up connection with the node.",[54,81633,81634,81635,81637],{},"\"Cold\" wallet stores all outgoing encrypted messages into public database (",[58,81636,5828],{},"), we subclass existing behavior with SBBS",[54,81639,81640],{},"Add a stage for processing stored incoming messages.",[54,81642,81643],{},"For \"hot\" wallet there is a need to add some checks if it has master key, also \"hot\" wallet has no ability to decrypt incoming SBBS messages, since it doesn't have private keys, so it has to store all incoming messages from the channel.",[26,81645,81647],{"id":81646},"usage","Usage",[11,81649,81650,81651,81654],{},"To tell wallet that it works in \"cold\" mode you have to add ",[150,81652,81653],{},"--cold_wallet"," parameter",[716,81656,81658],{"id":81657},"initialization-of-cold-wallet","Initialization of \"cold\" wallet",[11,81660,81661],{},[150,81662,81663],{},"beam-wallet init --cold_wallet",[11,81665,81666,81667,163,81669],{},"This command will create two databases: ",[58,81668,5828],{},[58,81670,81612],{},[716,81672,81674],{"id":81673},"sending-from-cold-wallet","Sending from \"cold\" wallet",[11,81676,81677],{},"Pre-conditions:\nMake sure the cold wallet is synced. In order to do so, follow the next steps:",[51,81679,81680,81686,81689,81695],{},[54,81681,81682,81683,81685],{},"copy the ",[58,81684,5828],{}," file to the \"hot\" wallet's data folder.",[54,81687,81688],{},"launch the \"hot\" wallet and wait till it's synced.",[54,81690,81691,81692,81694],{},"stop the \"hot\" wallet, copy the ",[58,81693,5828],{}," file into the \"cold\" wallet folder.",[54,81696,81697,81698],{},"launch the \"cold\" wallet for listening.\n",[150,81699,81700],{},"beam-wallet listen --cold_wallet",[11,81702,81703],{},"Now as the \"cold\" wallet is synced, proceed with the next steps:",[51,81705,81706,81713,81719,81722,81728,81734,81739],{},[54,81707,81708,81709,81712],{},"In the cold wallet run the command:\n",[150,81710,81711],{},"beam-wallet send -a \u003Camount> -r\u003Creceiver address> -f \u003Cfee> --cold_wallet","\nNote: there is no need in node address in this case",[54,81714,81715,81716,81718],{},"copy ",[58,81717,5828],{}," file to \"hot\" wallet's data folder",[54,81720,81721],{},"launch \"hot\" wallet. It should send encrypted message to the node, also he may get encrypted message back.",[54,81723,81724,81725,81727],{},"stop \"hot\" wallet, copy ",[58,81726,5828],{}," file into \"cold\" wallet folder",[54,81729,81730,81731,81733],{},"launch \"cold\" wallet for listening\n",[150,81732,81700],{},"\nit should create a signed transaction kernel",[54,81735,81715,81736,81738],{},[58,81737,5828],{}," from \"cold\" to \"hot\"\nnew transaction should go to the node and got confirmed",[54,81740,81715,81741,81743],{},[58,81742,5828],{}," from \"hot\" to \"cold\"\n\"cold\" wallet should have actual balance and transactions statuses",[716,81745,81747],{"id":81746},"receiving-to-cold-wallet","Receiving to \"cold\" wallet",[51,81749,81750,81753,81758,81761,81767,81770,81775,81778],{},[54,81751,81752],{},"Generate new address in \"cold\" wallet and send it to the sender",[54,81754,81715,81755,81757],{},[58,81756,5828],{}," to \"hot\"",[54,81759,81760],{},"launch \"hot\" wallet. Note there will be no new transactions, since \"hot\" wallet cannot decrypt incoming messages",[54,81762,81763,81764,81766],{},"stop \"hot\". copy ",[58,81765,5828],{}," from \"hot\" to \"cold\"",[54,81768,81769],{},"launch \"cold\" wallet for listening, it should get new transaction and accept it.",[54,81771,81715,81772,81774],{},[58,81773,5828],{}," from \"cold\" to \"hot\"",[54,81776,81777],{},"launch \"hot\", wait until new transaction becomes completed",[54,81779,81715,81780,81782],{},[58,81781,5828],{}," \"hot\" to \"cold\" balance and transactions statuses should be correct.",{"title":760,"searchDepth":761,"depth":761,"links":81784},[81785,81791,81794],{"id":81556,"depth":761,"text":81557,"children":81786},[81787,81789],{"id":81560,"depth":772,"text":81788},"cold wallet",{"id":81582,"depth":772,"text":81790},"hot wallet",{"id":81596,"depth":761,"text":81597,"children":81792},[81793],{"id":81625,"depth":772,"text":81626},{"id":81646,"depth":761,"text":81647,"children":81795},[81796,81797,81798],{"id":81657,"depth":772,"text":81658},{"id":81673,"depth":772,"text":81674},{"id":81746,"depth":772,"text":81747},{},"\u002Fdocs\u002Fcore-tech\u002Fcold-wallet-implementation-(deprecated)",{"title":81548,"description":760},"docs\u002Fcore-tech\u002FCold-wallet-implementation-(DEPRECATED)","mrjRDY8eFUUnsC6RMeEcDrDhFI_9910x9Ys4dmpkaC8",{"id":81805,"title":927,"body":81806,"description":81810,"extension":775,"image":776,"meta":82605,"navTitle":776,"navigation":778,"path":82606,"seo":82607,"stem":82608,"__hash__":82609},"docs\u002Fdocs\u002Fcore-tech\u002FConfidential-assets.md",{"type":8,"value":81807,"toc":82594},[81808,81811,81820,81826,81828,81832,81850,81860,81868,81878,81883,81886,81891,81896,81904,81909,81919,81922,81927,81940,81947,81955,81965,81972,81975,81982,81985,81993,81998,82004,82008,82012,82019,82025,82031,82035,82042,82047,82061,82065,82077,82082,82089,82094,82097,82102,82105,82109,82116,82122,82128,82133,82138,82141,82145,82148,82152,82159,82163,82171,82175,82178,82182,82188,82194,82200,82205,82209,82212,82216,82221,82225,82232,82236,82239,82242,82248,82254,82260,82265,82269,82272,82276,82279,82283,82286,82290,82293,82297,82300,82307,82316,82322,82335,82342,82346,82351,82355,82360,82364,82373,82376,82382,82388,82391,82397,82403,82406,82412,82418,82421,82427,82433,82438,82444,82449,82460,82464,82475,82481,82485,82490,82494,82502,82506,82512,82516,82519,82523,82526,82530,82539,82543,82548,82552,82555,82558,82562,82567,82580,82584,82587,82591],[11,81809,81810],{},"This documents describes CLI Confidential Assets workflow.",[11,81812,81813,81814,81819],{},"Consult the ",[18,81815,81818],{"href":81816,"rel":81817},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMW-CLA",[22],"MW CLA"," section for Confidential Assets implementation details.",[11,81821,81813,81822,81825],{},[18,81823,78304],{"href":78302,"rel":81824},[22]," section for API calls description. N.B. assets can be registered only via CLI.",[43,81827,4400],{"id":4399},[11,81829,81830],{},[94,81831,12005],{},[11,81833,81834,81835,81838,81839,81842,81843,81845,81846,81849],{},"Confidential Assets (hereinafter СA) support requires ",[150,81836,81837],{},"Fork2"," and at least ",[150,81840,81841],{},"v5.0"," CLI\u002FAPI. Any CA operation before ",[150,81844,81837],{}," would fail with the ",[150,81847,81848],{},"AssetsDisabledFork2 (45)"," error code.",[11,81851,81852,81853,81855,81856,81859],{},"In ",[150,81854,81841],{}," CA support is disabled by default to avoid compatibility issues. In the GUI wallet CA support cannot be enabled at the moment. All incoming CA transactions would be rejected by the GUI wallet with the ",[150,81857,81858],{},"AssetsDisabled (43)"," error code. Rejected CA transactions are not displayed by the GUI wallet. Full GUI assets support is planned for v5.1.",[11,81861,81862,81863,81865,81866,81849],{},"In the CLI and API ",[150,81864,948],{}," flag should be specified to perform any CA transactions. Without this flag CA transactions would be rejected with the ",[150,81867,81858],{},[11,81869,81870,81871,5335,81874,81877],{},"Information about Assets UTXOs\u002FShielded Coins\u002FAssets Transactions\u002FAssets Summary can be displayed using ",[150,81872,81873],{},"--assets",[150,81875,81876],{},"--asset_id ID"," parameters added to the corresponding commands.",[11,81879,81880],{},[94,81881,81882],{},"Fees",[11,81884,81885],{},"All fees (transaction fees and registration deposit) are always paid in BEAM\u002FGroth. It is not possible to pay any fees using assets.",[11,81887,81888],{},[94,81889,81890],{},"Asset Owner",[11,81892,81893,81895],{},[150,81894,81890],{}," is the person (wallet) which registered the asset. Asset owner owns private key used for signing asset issue\u002Fconsume\u002Funreg operations. Only the asset owner can perform these operations.",[11,81897,81898],{},[18,81899,81901],{"name":81900},"assetid",[94,81902,81903],{},"Asset ID",[11,81905,81906,81908],{},[150,81907,81903],{}," is an unsigned integer associated with the asset. Asset is known to the world by its asset id. Asset operations are performed using its asset id. Node assigns asset id during the asset registration process and uses the first id available.",[11,81910,81911,81912,81918],{},"Technically there can be a situation when one asset is unregistered, asset id becomes available and the next registered asset takes the id that has been previously used. ",[18,81913,81915],{"href":81914},"#lock",[150,81916,81917],{},"Lock period"," is introduced to ensure that asset receiver would never receive an unexpected (forged) asset.",[11,81920,81921],{},"Asset ID of 0 is reserved and represents original BEAM.",[11,81923,81924],{},[94,81925,81926],{},"Asset Info",[11,81928,81929,81932,81933,81939],{},[150,81930,81931],{},"Asset info"," is information about the asset. It includes asset metadata, total emission and lock height. Asset info is received by the wallet automatically during asset transactions or can be requested manually using ",[18,81934,81936],{"href":81935},"#assetinfo",[150,81937,81938],{},"asset_info"," command.",[11,81941,81942,81943,81946],{},"Some parts of the asset info are valid only at the height the asset info has been received (",[150,81944,81945],{},"refresh height","). In subsequent blocks total asset emission can change or the asset become unregistered. Unregistering the asset invalidates all the information associated with the particular asset id.",[11,81948,81949],{},[18,81950,81952],{"name":81951},"limits",[94,81953,81954],{},"Limits",[11,81956,81957,81958,81960,81961,81964],{},"Maximum Asset emission is 2",[111,81959,2003],{},"-1 asset nth units. Maximum amount for a single asset transaction (issue, consume, send, receive &c.) is 2",[111,81962,81963],{},"64","-1 asset nth units.",[11,81966,81967],{},[18,81968,81970],{"name":81969},"lock",[94,81971,81917],{},[11,81973,81974],{},"Lock period is a timeframe when several asset operations are restricted for safety reasons. This ensures that asset is not changed during rollback and\u002For by the asset owner and that receiver of the asset would receive exactly the expected asset.",[11,81976,81977,81978,81981],{},"Asset becomes locked every time when its total emission reaches 0 or leaves 0. Currently lock period duration is set to ",[150,81979,81980],{},"1440"," blocks (24 hours roughly).",[11,81983,81984],{},"Restricted operations are the following:",[89,81986,81987,81990],{},[54,81988,81989],{},"Asset unreg",[54,81991,81992],{},"Asset send\u002Freceive",[11,81994,81995],{},[94,81996,81997],{},"Restore",[11,81999,82000,82001,82003],{},"General rules apply to the restore process. You can restore your UTXOs but not transactions. To restore shielded\nUTXOs node used for the restore process should be running with your owner key. Asset info is not restored automatically. You would need to execute the ",[150,82002,81938],{}," command for each restored asset manually after the restore process is completed.",[43,82005,82007],{"id":82006},"working-with-assets","Working with assets",[26,82009,82011],{"id":82010},"asset-registration","Asset registration",[11,82013,82014,82015,82018],{},"Before asset can be used it should be registered on chain using the ",[150,82016,82017],{},"asset_reg"," command:",[866,82020,82023],{"className":82021,"code":82022,"language":871},[869],".\u002Fbeam-wallet asset_reg --pass 1 -n 127.0.0.1:10000 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" --fee 100 --enable_assets \n",[150,82024,82022],{"__ignoreMap":760},[11,82026,82027,82028,82030],{},"You must specify your wallet password, node address, asset meta, optional transaction fee and add ",[150,82029,948],{}," flag.",[11,82032,82033],{},[94,82034,81882],{},[11,82036,82037,82038,82041],{},"There is a fixed fee for asset registration of 3000 BEAM. This fee is mandatory, cannot be changed and deduced from your wallet automatically. Registration fee ensures that the network would not be spammed with dummy assets. Registration fee is returned to the owner of the asset as soon as the asset is unregistered. So basically 3000 BEAM are locked for the asset lifetime. You must also pay regular transactions fees. The ",[150,82039,82040],{},"--fee"," param applies only to the transaction fee, not the registration fee.",[11,82043,82044],{},[94,82045,82046],{},"Asset meta",[11,82048,82049,82050,82053,82054,82060],{},"Asset meta is a byte buffer associated with the asset and stored on chain. It is provided on asset registration and cannot be changed afterwards. Currently CLI expects UTF8 string with several mandatory ",[150,82051,82052],{},"Key=Value"," pairs. It is not possible to register an asset without meta. Please consult the ",[18,82055,82057],{"href":24788,"rel":82056},[22],[150,82058,82059],{},"Asset Descriptor"," document for more details.",[11,82062,82063],{},[94,82064,81903],{},[11,82066,82067,82068,82070,82071,82076],{},"After successful asset registration it is associated with the ",[150,82069,81903],{}," issued by the node. Asset becomes known to the world by its ID. Asset id is used in any asset operations performed by any person. Asset owner can perform asset operations using as asset id or asset meta. Consult the ",[18,82072,82074],{"href":82073},"#assetid",[150,82075,81903],{}," section for more details.",[11,82078,82079],{},[94,82080,82081],{},"Lock Period",[11,82083,82084,82085,82076],{},"Immediately after the asset registration it becomes locked for 24h hours. Consult the ",[18,82086,82087],{"href":81914},[150,82088,81917],{},[11,82090,82091],{},[94,82092,82093],{},"Privacy",[11,82095,82096],{},"Transaction kernel including all the asset meta becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[11,82098,82099],{},[94,82100,82101],{},"API Restriction",[11,82103,82104],{},"Asset registration can be performed only via CLI. There is no API call for asset registration for safety reasons.",[26,82106,82108],{"id":82107},"asset-issue","Asset issue",[11,82110,82111,82112,82115],{},"After asset registration its total emission is set to 0. Before performing any asset transactions the owner must mint (issue) asset coins using the ",[150,82113,82114],{},"issue"," command. Only asset owner can mint asset coins.",[866,82117,82120],{"className":82118,"code":82119,"language":871},[869],".\u002Fbeam-wallet issue --pass 1 --asset_id 1 -n 127.0.0.1:10000 --amount 10 --fee 100 --enable_assets\n",[150,82121,82119],{"__ignoreMap":760},[866,82123,82126],{"className":82124,"code":82125,"language":871},[869],".\u002Fbeam-wallet issue --pass 1 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" -n 127.0.0.1:10000 --amount 10 --fee 100 --enable_assets\n",[150,82127,82125],{"__ignoreMap":760},[11,82129,82130,82131,82030],{},"You must specify your wallet password, node address, asset id or asset meta, issue amount, optional transaction fee and add ",[150,82132,948],{},[11,82134,82135],{},[94,82136,82137],{},"Coins availability",[11,82139,82140],{},"New Asset coins cannot be used until the issue transaction is completed. Please ensure that the minting process is completed and new coins are present in your wallet and marked as available before sending them.",[11,82142,82143],{},[94,82144,81882],{},[11,82146,82147],{},"Asset emission is absolutely free. You can mint as many coins as you want. You pay only regular transaction fee.",[11,82149,82150],{},[94,82151,81954],{},[11,82153,81957,82154,82156,82157,81964],{},[111,82155,2003],{},"-1 asset nth units. Maximum amount for a single issue transaction is 2",[111,82158,81963],{},[11,82160,82161],{},[94,82162,82081],{},[11,82164,82165,82166,82170],{},"If after the issue operation total asset emission leaves 0 asset becomes locked. Consult the ",[18,82167,82168],{"href":81914},[150,82169,81917],{}," section for more details. Asset issue can be performed even if asset is locked. Subsequent asset issue operations do not extend the lock period.",[11,82172,82173],{},[94,82174,82093],{},[11,82176,82177],{},"Asset information is forcibly refreshed (received from node) during this operation. Operation fails if node doesn't confirm the asset. Transaction kernel including the issued asset amount and asset id becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[26,82179,82181],{"id":82180},"asset-consume","Asset consume",[11,82183,82184,82185,81939],{},"Owner of the asset can consume (burn) asset coins. To burn the asset you must both be the owner of the asset and the owner of the particular coin\u002Futxo. Asset can be consumed using the ",[150,82186,82187],{},"consume",[866,82189,82192],{"className":82190,"code":82191,"language":871},[869],".\u002Fbeam-wallet consume --pass 1 --asset_id 1 -n 127.0.0.1:10000 --amount 10 --fee 100 --enable_assets\n",[150,82193,82191],{"__ignoreMap":760},[866,82195,82198],{"className":82196,"code":82197,"language":871},[869],".\u002Fbeam-wallet consume --pass 1 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" -n 127.0.0.1:10000 --amount 10  --fee 100 --enable_assets\n",[150,82199,82197],{"__ignoreMap":760},[11,82201,82202,82203,82030],{},"You must specify your wallet password, node address, asset id or asset meta, consume amount, optional transaction fee and add ",[150,82204,948],{},[11,82206,82207],{},[94,82208,81882],{},[11,82210,82211],{},"Asset consuming is absolutely free. You pay only regular transaction fee.",[11,82213,82214],{},[94,82215,81954],{},[11,82217,82218,82219,81964],{},"Maximum amount for a single consume transaction is 2",[111,82220,81963],{},[11,82222,82223],{},[94,82224,82081],{},[11,82226,82227,82228,82076],{},"If after the consume operation total asset emission reaches 0 asset becomes locked. Consult the ",[18,82229,82230],{"href":81914},[150,82231,81917],{},[11,82233,82234],{},[94,82235,82093],{},[11,82237,82238],{},"Asset information is forcibly refreshed (received from node) during this operation. Operation fails if node doesn't confirm the asset. Transaction kernel including the consumed asset amount and asset id becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[26,82240,81989],{"id":82241},"asset-unreg",[11,82243,82244,82245,81939],{},"Asset can be unregistered from chain by the owner. To unregister the asset its emission should be 0 and it should be not locked. Asset is unregistered using the ",[150,82246,82247],{},"asset_unreg",[866,82249,82252],{"className":82250,"code":82251,"language":871},[869],".\u002Fbeam-wallet asset_unreg --pass 1 -n 127.0.0.1:10000 --asset_meta \"STD:SCH_VER=1;N=Beam Coin;SN=BEAM;UN=Beam;NTHUN=Groth;CUSTOM1=VAL1;CUSTOM2=VAL2\" --fee 100  --enable_assets\n",[150,82253,82251],{"__ignoreMap":760},[866,82255,82258],{"className":82256,"code":82257,"language":871},[869],".\u002Fbeam-wallet asset_unreg --pass 1 -n 127.0.0.1:10000 --asset_id 1 --fee 100 --enable_assets\n",[150,82259,82257],{"__ignoreMap":760},[11,82261,82262,82263,82030],{},"You must specify your wallet password, node address, asset meta or asset id, optional transaction fee and add ",[150,82264,948],{},[11,82266,82267],{},[94,82268,81882],{},[11,82270,82271],{},"Asset unregistration is free. You pay only regular transaction fee. This operation also returns 3000 BEAM locked during the asset registration.",[11,82273,82274],{},[94,82275,81903],{},[11,82277,82278],{},"Asset ID becomes free after this operation and can be reused by another asset.",[11,82280,82281],{},[94,82282,81954],{},[11,82284,82285],{},"Maximum amount for a single consume transaction is 264-1 asset nth units.",[11,82287,82288],{},[94,82289,82093],{},[11,82291,82292],{},"Asset information is forcibly refreshed (received from node) during this operation. Operation fails if node doesn't confirm the asset. Transaction kernel which includes asset id becomes visible to the world. Node would know that you\u002Fyour IP is the owner of the asset.",[11,82294,82295],{},[94,82296,82101],{},[11,82298,82299],{},"Asset unregistration can be performed only via CLI. There is no API call for asset unregistration for safety reasons.",[26,82301,82303],{"id":82302},"getting-asset-info",[18,82304,82306],{"name":82305},"assetinfo","Getting Asset Info",[11,82308,82309,82310,82312,82313,82315],{},"Asset info can be received from node using ",[150,82311,81938],{}," command for any asset registered on chain. ",[150,82314,81938],{}," command stores the received info in a local database for future usage.",[866,82317,82320],{"className":82318,"code":82319,"language":871},[869],".\u002Fbeam-wallet asset_info --pass 1 -n 127.0.0.1:10000 --asset_id 1 --enable_assets\n",[150,82321,82319],{"__ignoreMap":760},[11,82323,82324,82326,82327,82330,82331,5335,82333,9371],{},[150,82325,81938],{}," command always receives the latest information from node. To view locally stored information regular ",[150,82328,82329],{},"info"," command should be used with ",[150,82332,81873],{},[150,82334,81876],{},[11,82336,82337,82338,82341],{},"Asset owner can query asset info using asset meta (",[150,82339,82340],{},"--asset_meta \"STD:....\"",") as well. Non-owners can use only asset id.",[11,82343,82344],{},[94,82345,81882],{},[11,82347,82348,82350],{},[150,82349,81938],{}," operation is free. You do not pay any fees.",[11,82352,82353],{},[94,82354,82093],{},[11,82356,82357,82359],{},[150,82358,81938],{}," operation only communicates with the node and doesn't leave any traces in the blockchain. Node would know that particular IP has been interested in given asset.",[26,82361,82363],{"id":82362},"displaying-assets","Displaying Assets",[11,82365,82366,82367,82369,82370,82372],{},"By default CLI wallet doesn't display any information about assets you own or have. To view assets info, assets UTXOs & assets transactions ",[150,82368,81873],{}," (for all assets) or ",[150,82371,81876],{}," (for a specific asset) params should be used.",[11,82374,82375],{},"View asset info & asset UTXOs",[866,82377,82380],{"className":82378,"code":82379,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --asset_id 1\n",[150,82381,82379],{"__ignoreMap":760},[866,82383,82386],{"className":82384,"code":82385,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --assets\n",[150,82387,82385],{"__ignoreMap":760},[11,82389,82390],{},"View asset transactions",[866,82392,82395],{"className":82393,"code":82394,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --asset_id 1 --tx_history\n",[150,82396,82394],{"__ignoreMap":760},[866,82398,82401],{"className":82399,"code":82400,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --assets --tx_history\n",[150,82402,82400],{"__ignoreMap":760},[11,82404,82405],{},"View shielded (Lelantus) asset UTXOs",[866,82407,82410],{"className":82408,"code":82409,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --asset_id 1 --shielded_utxos\n",[150,82411,82409],{"__ignoreMap":760},[866,82413,82416],{"className":82414,"code":82415,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --assets --shielded_utxos\n",[150,82417,82415],{"__ignoreMap":760},[11,82419,82420],{},"View Shielded (Lelantus) Asset transactions",[866,82422,82425],{"className":82423,"code":82424,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --asset_id 1 --shielded_tx_history\n",[150,82426,82424],{"__ignoreMap":760},[866,82428,82431],{"className":82429,"code":82430,"language":871},[869],".\u002Fbeam-wallet info --pass 1 --assets --shielded_tx_history\n",[150,82432,82430],{"__ignoreMap":760},[11,82434,82435],{},[94,82436,82437],{},"Enable flag",[11,82439,82440,82441,82443],{},"Asset info can be displayed without the ",[150,82442,948],{}," flag",[11,82445,82446],{},[94,82447,82448],{},"Orphaned transactions",[11,82450,82451,82452,82455,82456,82459],{},"Asset transactions that do not include asset id would be displayed as ",[150,82453,82454],{},"orphaned",". This can occur when transaction has been started with ",[150,82457,82458],{},"--asset_meta"," param and no valid asset id has been associated with the transaction while it was running. For example it can happen if you have tried to register an asset but there is not enough BEAM to pay the registration fee.",[26,82461,82463],{"id":82462},"sending-assets","Sending assets",[11,82465,82466,82467,82469,82470,163,82473,9371],{},"Asset can be sent using regular ",[150,82468,9803],{}," command. The only difference from regular BEAM transaction is the ",[150,82471,82472],{},"--asset_id",[150,82474,948],{},[866,82476,82479],{"className":82477,"code":82478,"language":871},[869],".\u002Fbeam-wallet -n 127.0.0.1:10000 --pass 1 --command send -r 1ec08b72ea25cd471ec37f9088a1ae0dcb8f4526eff3b8ab38f8e23901e2adf48a2 --amount 5 --asset_id 1 --enable_assets\n",[150,82480,82478],{"__ignoreMap":760},[11,82482,82483],{},[94,82484,81954],{},[11,82486,82487,82488,81964],{},"Maximum amount for a single send transaction is 2",[111,82489,81963],{},[11,82491,82492],{},[94,82493,82437],{},[11,82495,82496,82497,82499,82500,81849],{},"Both sender and receiver should specify ",[150,82498,948],{}," flag in command line otherwise transaction would fail with the ",[150,82501,81858],{},[11,82503,82504],{},[94,82505,81917],{},[11,82507,82508,82509,81849],{},"Asset cannot be sent to non-owner during the lock period. Transaction would be rejected by the receiving party with the ",[150,82510,82511],{},"AssetLocked (34)",[11,82513,82514],{},[94,82515,82093],{},[11,82517,82518],{},"Send transaction doesn't refresh asset info. Asset ID is hidden during the send transaction though it is visible that the transaction is performed on some asset. General Mimblewimble rules apply to the transaction. Amount, sender and receiver are not disclosed.",[26,82520,82522],{"id":82521},"receiving-assets","Receiving assets",[11,82524,82525],{},"Process of receiving assets is mostly identical to the receiving of regular BEAM.",[11,82527,82528],{},[94,82529,82437],{},[11,82531,82532,82533,82536,82537,81849],{},"CLI\u002FAPI receives assets automatically if it is running (listens) with the ",[150,82534,82535],{},"--assets_enable"," option. If assets are not enabled all incoming asset transaction would be rejected with the ",[150,82538,81858],{},[11,82540,82541],{},[94,82542,81917],{},[11,82544,82545,82546,81849],{},"Asset cannot be received by non-owner during the lock period. Transaction would be rejected by the receiving party with the ",[150,82547,82511],{},[11,82549,82550],{},[94,82551,82093],{},[11,82553,82554],{},"Receive operation does not refresh asset info if there are any unspent UTXOs of the asset being received in the wallet. If there are no unspent UTXOs asset info might be refreshed if wallet doesn't have info about the asset (first receive) or info is older than the lock period duration.",[11,82556,82557],{},"Asset ID is hidden during the receive transaction though it is visible that the transaction is performed on some asset. General Mimblewimble rules apply to the transaction. Amount, sender and receiver are not disclosed.",[26,82559,82561],{"id":82560},"lelantus-one-sided-payments","Lelantus & one-sided payments",[11,82563,82564],{},[94,82565,82566],{},"N.B. As of v5.1 basic lelantus operations (pull & push) are removed. The info below applies only to the v5.0",[11,82568,82569,82570,82572,82573,82575,82576,29411],{},"Lelantus transactions fully support confidential assets. To insert to\u002Fextract asset from pool ",[150,82571,81876],{}," option should be specified as well as ",[150,82574,948],{}," flag. Refer ",[18,82577,82579],{"href":12591,"rel":82578},[22],"Lelantus CLI",[11,82581,82582],{},[94,82583,82081],{},[11,82585,82586],{},"Lock period rules do not apply to Lelantus transactions. Assets can be inserted to the pool and extracted from the pool at any time.",[11,82588,82589],{},[94,82590,82093],{},[11,82592,82593],{},"Asset info is never refreshed during Lelantus transactions. Amount and Asset ID is hidden though it is visible that the transaction is performed on some asset.",{"title":760,"searchDepth":761,"depth":761,"links":82595},[82596,82597,82598,82599,82600,82601,82602,82603,82604],{"id":82010,"depth":761,"text":82011},{"id":82107,"depth":761,"text":82108},{"id":82180,"depth":761,"text":82181},{"id":82241,"depth":761,"text":81989},{"id":82302,"depth":761,"text":82306},{"id":82362,"depth":761,"text":82363},{"id":82462,"depth":761,"text":82463},{"id":82521,"depth":761,"text":82522},{"id":82560,"depth":761,"text":82561},{},"\u002Fdocs\u002Fcore-tech\u002Fconfidential-assets",{"description":81810},"docs\u002Fcore-tech\u002FConfidential-assets","tcZ97Ct228fxYi2BNi5TgbFClBlcE-79TZSo3jhMZsY",{"id":82611,"title":82612,"body":82613,"description":82848,"extension":775,"image":776,"meta":82849,"navTitle":776,"navigation":778,"path":82850,"seo":82851,"stem":82852,"__hash__":82853},"docs\u002Fdocs\u002Fcore-tech\u002FConfidential-assets-(historical).md","Confidential Assets (historical)",{"type":8,"value":82614,"toc":82839},[82615,82621,82629,82634,82636,82646,82650,82663,82669,82686,82690,82697,82711,82714,82718,82725,82731,82735,82744,82747,82750,82754,82760,82771,82780,82784,82787,82794,82797,82800,82803],[11,82616,81813,82617,82620],{},[18,82618,81818],{"href":81816,"rel":82619},[22]," section for Confidential Assets implementation details",[11,82622,81813,82623,82628],{},[18,82624,82627],{"href":82625,"rel":82626},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FConfidential-assets-(BETA)",[22],"Confidential assets (BETA)\n"," section for the Confidential Assets tutorial",[11,82630,82631],{},[94,82632,82633],{},"THE TEXT BELOW IS KEPT FOR HISTORICAL REASONS",[2779,82635],{},[11,82637,82638,82639,163,82642,82645],{},"MW can be extended to allows encoding multiple types of assets to be traded on the same blockchain. And it will only need a slight modifications to actually allow this.\nThere are two types of assets that can be implemented: ",[58,82640,82641],{},"predefined",[58,82643,82644],{},"custom",". Each type has its advantages and limitations.",[26,82647,82649],{"id":82648},"basic-idea","Basic idea",[11,82651,82652,82653,163,82655,4133,82657,82659,82660,82662],{},"The UTXO is an EC point, which is a linear combination of two nums (nothing-up-my-sleeve) generators: ",[150,82654,96],{},[150,82656,102],{},[150,82658,96],{}," is multiplied by the secret key (blinding factor), and the ",[150,82661,102],{}," - by the value.",[11,82664,82665,82666,82668],{},"To allow multiple types of assets it's sufficient to use different generators (one per asset type) instead of the single ",[150,82667,102],{},". There may be different schemes to represent such UTXOs, but in any of them the following should be taken into consideration:",[89,82670,82671,82680,82683],{},[54,82672,82673,82674,82679],{},"Those ",[145,82675,82676],{},[94,82677,82678],{},"must"," be nums-generators, and the verifier should be able to verify this.",[54,82681,82682],{},"The verifier should be able to verify the rangeproof. Means - the bulletproof should be adjusted accordingly.",[54,82684,82685],{},"There should be a brief scheme for the emission of the assets.",[26,82687,82689],{"id":82688},"predefined-asset-types","Predefined asset types",[11,82691,82692,82693,385],{},"This idea belongs to Andrew Poelstra. Described ",[18,82694,857],{"href":82695,"rel":82696},"https:\u002F\u002Fblockstream.com\u002F2017\u002F04\u002F03\u002Fblockstream-releases-elements-confidential-assets.html",[22],[11,82698,82699,82700,82702,82703,82706,82707,82710],{},"Each UTXO should carry a ",[58,82701,52807],{},", which is an EC point, which defines the asset type. The great advantage of this scheme is that all the tags are ",[94,82704,82705],{},"blinded",". Means - anyone can verify that this tag corresponds to one of the defined asset types, but not to which of them exactly. This is achieved by using Andrew Poelstra's ",[145,82708,82709],{},"Asset Surjection Proof",", which has a modest size compared to the bulletproof for a reasonably-small set of asset types.",[11,82712,82713],{},"The set of the asset types, as well as their emission schedule, must be defined for the blockchain. Any change to this will require a fork.",[716,82715,82717],{"id":82716},"another-variant","Another variant",[11,82719,82720,82721,82724],{},"Another possible way to implement this is to encode all the asset types within a single UTXO. That is, each UTXO is presumably a linear combination of all the generators at once. In this design ",[58,82722,82723],{},"tags"," are not needed.",[11,82726,82727,82728,82730],{},"The drawback here is the increased complexity and size of the bulletproofs, which seem to be dramatic. So that the idea with ",[58,82729,82723],{},", whereas an UTXO encodes only a single asset type - seems to be better.",[26,82732,82734],{"id":82733},"custom-asset-types","Custom asset types",[11,82736,82737,82738,82740,82741,82743],{},"In addition there is a possibility to allow ",[58,82739,82644],{}," assets, which any user can emit and trade. As in the previous scheme, such UTXOs should carry a ",[58,82742,52807],{},", which corresponds to the asset type. But this time those tags can't be blinded perfectly. All the user can do is present a set of tags, and prove that the used tag is one of them.",[11,82745,82746],{},"So that custom tags should either be visible, or partially obfuscated. The encoded amount, naturally, is fully concealed.",[11,82748,82749],{},"Now, since there are no predefined generators used for custom asset types, there should be a way for the verified to make sure each such a generator is actually a nums-generator. This is addressed by the following scheme.",[716,82751,82753],{"id":82752},"asset-control","Asset control",[11,82755,82756,82757,82759],{},"To create a custom asset type the user generates a public\u002Fprivate key pair. The public key serves as an ",[58,82758,81903],{},", and the generator used for this asset type is derived from the ID via hashing, so that it may be considered as a sound nums-generator.",[11,82761,82762,82763,82766,82767,82770],{},"The user controls the emission and collection of the asset. The user can ",[58,82764,82765],{},"convert"," some amount of the master asset type (i.e. BEAM) into his\u002Fher type by a special instruction, which is signed by the corresponding ",[94,82768,82769],{},"private"," key. For convenience it can be embedded into the transaction kernel.",[11,82772,82773,82775,82776,82779],{},[94,82774,158],{}," The conversion is only needed to prevent bloat. The user effectively ",[58,82777,82778],{},"buys"," his\u002Fher coins, but they are refundable. Only the user is be able to trade the unspent assets back to collect the refund. If the bloat is not an issue - it's possible to allow the emission for free.",[43,82781,82783],{"id":82782},"final-design","Final design",[11,82785,82786],{},"The BEAM should support both the predefined and custom assets.",[11,82788,82789,82790,82793],{},"There should be several predefined asset types, which are automatically emitted by every new block. Their difference is the ",[145,82791,82792],{},"emission schedule",". There should be one with constant emission, one with capped emission. Possibly another one with declining but non-converging (e.i. not capped) emission.",[11,82795,82796],{},"This is equivalent to having several coin types suitable for instant payment, store of value, and etc.",[11,82798,82799],{},"Custom asset tags are not emitted automatically, they're explicitly traded for one of the predefined types.",[11,82801,82802],{},"The modifications needed to support all this is considerable, but straightforward. The following should be modified:",[89,82804,82805,82808,82811,82825],{},[54,82806,82807],{},"Tags should be added to UTXOs",[54,82809,82810],{},"For predefined types: Assert Surjection proofs should be added to UTXOs",[54,82812,82813,82814],{},"For custom types:\n",[89,82815,82816,82819],{},[54,82817,82818],{},"Assert Surjection proofs may optionally be used, in addition to a list of the possible asset types.",[54,82820,82821,82822,82824],{},"Another possibility - they should not be blinded, and contain the ",[58,82823,81903],{}," explicitly.",[54,82826,82827,82828],{},"Transaction\u002FBlock verification:\n",[89,82829,82830,82833,82836],{},[54,82831,82832],{},"Bulletproof code should be modified to support custom generators (probably slight performance degradation)",[54,82834,82835],{},"Custom type conversion instruction should be supported, but this is straightforward (only alters the summation to zero criteria)",[54,82837,82838],{},"Block emission should be handled w.r.t. predefined types and their emission schedule.",{"title":760,"searchDepth":761,"depth":761,"links":82840},[82841,82842,82845],{"id":82648,"depth":761,"text":82649},{"id":82688,"depth":761,"text":82689,"children":82843},[82844],{"id":82716,"depth":772,"text":82717},{"id":82733,"depth":761,"text":82734,"children":82846},[82847],{"id":82752,"depth":772,"text":82753},"Consult the MW CLA section for Confidential Assets implementation details",{},"\u002Fdocs\u002Fcore-tech\u002Fconfidential-assets-(historical)",{"description":82848},"docs\u002Fcore-tech\u002FConfidential-assets-(historical)","InvZ6zOCyTRdUpKRBOjnvrtdytia3_YIYZIGjhBHb9g",{"id":82855,"title":82856,"body":82857,"description":760,"extension":775,"image":776,"meta":82972,"navTitle":776,"navigation":778,"path":82973,"seo":82974,"stem":82975,"__hash__":82976},"docs\u002Fdocs\u002Fcore-tech\u002FContribution-Guidelines.md","Beam Contribution Guidelines",{"type":8,"value":82858,"toc":82961},[82859,82862,82866,82869,82872,82879,82883,82886,82894,82898,82901,82904,82937,82941,82944,82948,82952,82955,82959],[43,82860,82856],{"id":82861},"beam-contribution-guidelines",[26,82863,82865],{"id":82864},"introduction","Introduction",[11,82867,82868],{},"Beam is an open source project, and as such welcomes developers to contribute. In order to simplify and organize this process we have written this short contribution guide that explains the key principles of contributing to Beam project.",[11,82870,82871],{},"For any questions you might have regarding the process please contact Beam CTO at alex at beam.mw or @bigromanov on Telegram or @BeamCTO on Twitter.",[11,82873,82874,82875],{},"For more specific questions please contact developer team on Telegram: ",[18,82876,82877],{"href":82877,"rel":82878},"https:\u002F\u002Ft.me\u002Fbeamdevsupport",[22],[26,82880,82882],{"id":82881},"projects-overview","Projects overview",[11,82884,82885],{},"We are planning on initially supporting contributions to the following projects:",[51,82887,82888,82891],{},[54,82889,82890],{},"Beam Desktop UI Wallet (C++ \u002F QT) - described in this document",[54,82892,82893],{},"Beam Web Wallet Chrome Extension (JS \u002F Angular) instructions coming soon",[716,82895,82897],{"id":82896},"beam-desktop-ui-wallet","Beam Desktop UI Wallet",[11,82899,82900],{},"This is a UI for the Beam Desktop Wallet. It uses the underlying libwallet library and wraps it with user interface implemented with QT framework.",[11,82902,82903],{},"To contribute to this project please follow the steps below:",[51,82905,82906,82914,82928,82931,82934],{},[54,82907,82908,82909],{},"Setup your dev environment, checkout and build the project using the ",[18,82910,82913],{"href":82911,"rel":82912},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui\u002Fwiki\u002FHow-to-build-Beam-desktop-UI",[22],"Building Instructions",[54,82915,82916,82917,4322,82922,82927],{},"Explore tasks in the currently active project on the ",[18,82918,82921],{"href":82919,"rel":82920},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui\u002Fprojects",[22],"projects page",[18,82923,82926],{"href":82924,"rel":82925},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui\u002Fprojects\u002F1",[22],"Eager Electron 5.1"," at the time of the writing)",[54,82929,82930],{},"Look for tasks marked with the 'help wanted' label. Of course you are also welcome to contribute to other tasks as well",[54,82932,82933],{},"Write a comment clarifying that you are starting to work on the task and providing a very rough estimate how much time you expect to spend on it.",[54,82935,82936],{},"If the task does not have a clearly assigned bounty in the task description please contact @bigromanov on Telegram, or email alex at beam.mw",[716,82938,82940],{"id":82939},"beam-web-wallet-extension","Beam Web Wallet Extension",[11,82942,82943],{},"Coming soon....",[26,82945,82947],{"id":82946},"coding-guidelines","Coding guidelines",[716,82949,82951],{"id":82950},"c","C++",[11,82953,82954],{},"Coming soon",[716,82956,82958],{"id":82957},"js-angular","JS \u002F Angular",[11,82960,82954],{},{"title":760,"searchDepth":761,"depth":761,"links":82962},[82963,82964,82968],{"id":82864,"depth":761,"text":82865},{"id":82881,"depth":761,"text":82882,"children":82965},[82966,82967],{"id":82896,"depth":772,"text":82897},{"id":82939,"depth":772,"text":82940},{"id":82946,"depth":761,"text":82947,"children":82969},[82970,82971],{"id":82950,"depth":772,"text":82951},{"id":82957,"depth":772,"text":82958},{},"\u002Fdocs\u002Fcore-tech\u002Fcontribution-guidelines",{"title":82856,"description":760},"docs\u002Fcore-tech\u002FContribution-Guidelines","DaBJk6KvuoFVFQZxEbZkE7-4bx2eVYsIjOkQKnzVNJw",{"id":82978,"title":82979,"body":82980,"description":760,"extension":775,"image":776,"meta":83431,"navTitle":776,"navigation":778,"path":83432,"seo":83433,"stem":83434,"__hash__":83435},"docs\u002Fdocs\u002Fcore-tech\u002FCore-transaction-elements.md","Core data types used in BEAM:",{"type":8,"value":82981,"toc":83424},[82982,82985,83031,83035,83038,83067,83071,83073,83134,83138,83146,83149,83163,83172,83176,83178,83253,83257,83260,83268,83271,83276,83280,83287,83290,83294,83296,83320,83324,83327,83338,83345,83350,83353,83358,83362,83365,83387,83390,83397,83401,83407,83413,83418],[43,82983,82979],{"id":82984},"core-data-types-used-in-beam",[89,82986,82987,82992,83000,83005,83011,83017,83022],{},[54,82988,82989,82991],{},[150,82990,18396],{}," - 64-bit unsigned integer",[54,82993,82994,82997,82998],{},[150,82995,82996],{},"HeightRange"," - a pair of ",[150,82999,18396],{},[54,83001,83002,82991],{},[150,83003,83004],{},"Timestamp",[54,83006,83007,83010],{},[150,83008,83009],{},"Amount"," - used to denote the value of a single UTXO. 64-bit unsigned integer",[54,83012,83013,83016],{},[150,83014,83015],{},"AmountBig"," - used to denote the value of an arbitrary number of UTXOs. Consists of 2 64-bit unsigned integer (i.e. equivalent to 128-bit integer)",[54,83018,83019,83021],{},[150,83020,81338],{}," - 32-bit encoding of a floating-point number. 8 bits for order, 24 bits for mantissa.",[54,83023,83024,83027,83028,83030],{},[150,83025,83026],{},"Difficulty::Raw"," - 256-bit unsigned integer. Represents an \"unpacked\" ",[150,83029,81338],{}," on a linear scale. Used to represent the chainwork (sum of difficulties).",[43,83032,83034],{"id":83033},"input-utxo","Input UTXO",[11,83036,83037],{},"Consists of the following:",[89,83039,83040,83050],{},[54,83041,83042,83045],{},[150,83043,83044],{},"ECC::Point m_Commitment",[89,83046,83047],{},[54,83048,83049],{},"A commitment to the UTXO (which is supposed to exist in the system)",[54,83051,83052,83055],{},[150,83053,83054],{},"Height m_Maturity",[89,83056,83057,83060],{},[54,83058,83059],{},"Optional field to specify the maturity of the UTXO being-spent.",[54,83061,83062,83063,83066],{},"Used only in ",[58,83064,83065],{},"Macroblocks"," (compressed history block), more about this later. Illegal to use in transactions.",[43,83068,83070],{"id":83069},"output-utxo","Output UTXO",[11,83072,83037],{},[89,83074,83075,83084,83097,83107,83117],{},[54,83076,83077,83079],{},[150,83078,83044],{},[89,83080,83081],{},[54,83082,83083],{},"A commitment to the UTXO (which is supposed to be created in a transaction)",[54,83085,83086,83088],{},[150,83087,83054],{},[89,83089,83090,83093],{},[54,83091,83092],{},"Optional field to specify the maturity of the created UTXO.",[54,83094,83062,83095,83066],{},[58,83096,83065],{},[54,83098,83099,83102],{},[150,83100,83101],{},"bool m_Coinbase",[89,83103,83104],{},[54,83105,83106],{},"Must be set iff it's a coinbase UTXO.",[54,83108,83109,83112],{},[150,83110,83111],{},"Height m_Incubation",[89,83113,83114],{},[54,83115,83116],{},"Optional field. If specified - the number of extra blocks (in addition to standard system rules) until the UTXO becomes mature.",[54,83118,83119,83120],{},"UTXO Signature. Must be one of the following:\n",[89,83121,83122,83128],{},[54,83123,83124,83127],{},[150,83125,83126],{},"ECC::RangeProof::Confidential"," - a confidential signature (Bulletproof)",[54,83129,83130,83133],{},[150,83131,83132],{},"ECC::RangeProof::Public"," - a public signature, with the Amount visible.",[716,83135,83137],{"id":83136},"utxo-signature","UTXO Signature",[89,83139,83140,83143],{},[54,83141,83142],{},"Coinbase UTXO must have a public signature (the Amount explicitly specified).",[54,83144,83145],{},"Non-coinbase UTXO - depends on the system rules. In the current configuration all non-coinbase UTXOs are enforced to have a confidential signature, but may also be configured to allow public signatures.",[11,83147,83148],{},"The confidential signature is implemented in terms of a Bulletproof. The public signature consists of the following:",[89,83150,83151,83157],{},[54,83152,83153,83156],{},[150,83154,83155],{},"Amount m_Value"," - the explicit value",[54,83158,83159,83162],{},[150,83160,83161],{},"ECC::Signature m_Signature"," - a Schnorr's signature for the UTXO blinding factor.",[11,83164,83165,83167,83168,83171],{},[94,83166,3767],{},": the ",[150,83169,83170],{},"m_Incubation"," field is accounted in the UTXO signature, to prevent tampering.",[43,83173,83175],{"id":83174},"transaction-kernel","Transaction Kernel",[11,83177,83037],{},[89,83179,83180,83190,83199,83209,83219,83229,83239],{},[54,83181,83182,83185],{},[150,83183,83184],{},"ECC::Point m_Excess",[89,83186,83187],{},[54,83188,83189],{},"The transaction excess (public)",[54,83191,83192,83194],{},[150,83193,83161],{},[89,83195,83196],{},[54,83197,83198],{},"The Schnorr's signature for the whole kernel body, signed with the transaction excess (secret)",[54,83200,83201,83204],{},[150,83202,83203],{},"Amount m_Fee",[89,83205,83206],{},[54,83207,83208],{},"Transaction fee",[54,83210,83211,83214],{},[150,83212,83213],{},"uint64_t m_Multiplier",[89,83215,83216],{},[54,83217,83218],{},"Optional field, used in a scheme where a kernel may be consumed (more about this later)",[54,83220,83221,83224],{},[150,83222,83223],{},"HeightRange m_Height",[89,83225,83226],{},[54,83227,83228],{},"Optional: the transaction timelock parameters (min\u002Fmax height for being valid in the block)",[54,83230,83231,83234],{},[150,83232,83233],{},"uintBig m_HashLock",[89,83235,83236],{},[54,83237,83238],{},"Optional: a hashlock. An arbitrary 256-bit value which is hashed, and then accounted in the kernel signature",[54,83240,83241,83244],{},[150,83242,83243],{},"m_vNested",[89,83245,83246],{},[54,83247,83248,83249,83252],{},"Optional: an array of ",[58,83250,83251],{},"nested"," kernels. More about this later.",[26,83254,83256],{"id":83255},"kernel-signature","Kernel Signature",[11,83258,83259],{},"The Hash of the kernel is evaluated, and then it's signed by the Schnorr's signature. The Hash evaluation formula is:",[5819,83261,83262],{},[866,83263,83266],{"className":83264,"code":83265,"language":871},[869],"M = m_Fee | m_Height | m_Excess | m_Multiplier;\nif Hashlock specified\nM = M | true | Hash(Hashlock.Preimage);\nelse\n  M = M | false;\n\nFor each Nested Kernel\n   M = M | true | (Nested Kernel).ID;\n\nM = M | false\n\nKernelHash = Hash(M)\n",[150,83267,83265],{"__ignoreMap":760},[11,83269,83270],{},"The formula accounts for all the members except except the signature. It's also unambiguous (i.e. explicit separation for optional input fields).",[11,83272,83273,83275],{},[94,83274,3767],{},": The excess, which is a signature public key, is also included. This is an intentional design decision, to make the kernel's excess also immutable after it has been signed (otherwise any party could modify the excess and keep the signature correct).",[26,83277,83279],{"id":83278},"kernel-id","Kernel ID",[11,83281,83282,83283,83286],{},"According to the system rules every kernel has a unique ID (duplicate IDs are banned). Its value is identical to the ",[150,83284,83285],{},"KernelHash",", except there are \"forbidden\" values, which are reserved for the internal system use. So if the kernel ID happens to be equal to a forbidden value (which is highly unlikely), its value is mutated.",[11,83288,83289],{},"Currently the only forbidden value is 0.",[43,83291,83293],{"id":83292},"transaction","Transaction",[11,83295,83037],{},[89,83297,83298,83301,83304,83312,83315],{},[54,83299,83300],{},"Input UTXOs",[54,83302,83303],{},"Output UTXOs",[54,83305,83306,83307],{},"Input Kernels\n",[89,83308,83309],{},[54,83310,83311],{},"This is the BEAM extension - kernels may also be consumed! More about this later.",[54,83313,83314],{},"Output Kernels",[54,83316,83317],{},[150,83318,83319],{},"ECC::Scalar m_Offset",[26,83321,83323],{"id":83322},"context-free-transaction-validation","Context-free Transaction validation",[11,83325,83326],{},"The following is validated:",[89,83328,83329,83332,83335],{},[54,83330,83331],{},"All the transaction elements (UTXOs, Kernels) must be specified in a well-defined order (there's a comparison function for each transaction element type).",[54,83333,83334],{},"Each element must have a valid signature",[54,83336,83337],{},"Timelocks of all the kernels must be valid for the current height",[11,83339,83340,83341,83344],{},"Next, we define the ",[156,83342,83343],{},"Σ"," as a sum of all outputs minus all inputs:",[11,83346,83347,83349],{},[156,83348,83343],{}," = Σ(UTXO-Out.Commit) - Σ(UTXO-In.Commit) + Σ(Kernel-Out.Excess) - Σ(Kernel-In.Excess) + m_Offset · G",[11,83351,83352],{},"In case of transaction validation there are transaction fees that are considered lost, i.e. they are implicit outputs. So, the validation formula is:",[11,83354,83355,83357],{},[156,83356,83343],{}," + Σ(Fees)·H = 0",[43,83359,83361],{"id":83360},"block-body","Block body",[11,83363,83364],{},"Contains all that is included in a transaction. In addition:",[89,83366,83367,83377],{},[54,83368,83369,83372],{},[150,83370,83371],{},"AmountBig m_Subsidy",[89,83373,83374],{},[54,83375,83376],{},"explicit Amount created by this block (Coinbase and, possibly, other types of subsidy)",[54,83378,83379,83382],{},[150,83380,83381],{},"bool m_SubsidyClosing",[89,83383,83384],{},[54,83385,83386],{},"If set - means from the next block only coinbase subsidy should be allowed",[11,83388,83389],{},"Since blocks may be arbitrary large (when merged) - there are different underlying techniccal representations of the Block body. In a simple case it contains just arrays of all the transaction elements (like a Transaction object). But larger blocks don't keep all the data pre-loaded, instead it's read sequentially from files.",[11,83391,83392,83393,83396],{},"There is an ",[150,83394,83395],{},"Transaction::IReader"," interface used to iterate sequentially over the transaction elements, and it's used by the context-free validation code, regardless to the actual data representation details.",[26,83398,83400],{"id":83399},"context-free-block-body-validation","Context-free Block body validation",[11,83402,83403,83404,83406],{},"The block body is validated similar to a transaction, keeping in mind however that this may be a ",[58,83405,81508],{},", i.e. a merged block for a specific height range (applicable to the Timelock validation of kernels).",[11,83408,83409,83410,83412],{},"Then ",[156,83411,83343],{}," is calculated. But in contrast to transaction the Fees should not be added, because they must have already been consumed by explicit output UTXO(s) (injected by the miner). Instead the explicit Subsidy must be accounted as an input. Hence the formula is:",[11,83414,83415,83417],{},[156,83416,83343],{}," - m_Subsidy·H = 0",[11,83419,83420,83421,83423],{},"In addition the Verifier must verify that the Coinbase UTXOs are properly tagged, and unspent unless the coinbase maturity is reached.\nFor a single block verification the sum of all Coinbase UTXO amount must be equal to the single block Coinbase emission as defined by the system rules.\nFor ",[58,83422,81508],{}," verification the Verifier should take into account that some Coinbase UTXOs may have already been spent.",{"title":760,"searchDepth":761,"depth":761,"links":83425},[83426,83427,83428,83429,83430],{"id":83136,"depth":772,"text":83137},{"id":83255,"depth":761,"text":83256},{"id":83278,"depth":761,"text":83279},{"id":83322,"depth":761,"text":83323},{"id":83399,"depth":761,"text":83400},{},"\u002Fdocs\u002Fcore-tech\u002Fcore-transaction-elements",{"title":82979,"description":760},"docs\u002Fcore-tech\u002FCore-transaction-elements","dz8r5byddMW1tJbDBCrvMRq3-3kze_wAbj5dZ1LkB2U",{"id":83437,"title":83438,"body":83439,"description":83762,"extension":775,"image":776,"meta":83763,"navTitle":776,"navigation":778,"path":83764,"seo":83765,"stem":83766,"__hash__":83767},"docs\u002Fdocs\u002Fcore-tech\u002FCryptographic-primitives.md","Cryptographic Primitives",{"type":8,"value":83440,"toc":83753},[83441,83448,83480,83483,83540,83547,83550,83553,83573,83576,83579,83582,83588,83591,83595,83598,83604,83610,83614,83617,83619,83632,83645,83711,83715,83718],[11,83442,83443,83444,83447],{},"Cryptographic primitives used by BEAM are based on the ",[150,83445,83446],{},"secp256k1"," library (the one that is used in bitcoin). Naturally it uses the same elliptic curve equation. The following primitives are used directly:",[89,83449,83450,83456,83462,83468,83474],{},[54,83451,83452,83455],{},[150,83453,83454],{},"secp256k1_gej"," - Basic curve point arithmetics: point addition, doubling, negation, import\u002Fexport to a platform-ndependent format.",[54,83457,83458,83461],{},[150,83459,83460],{},"secp256k1_scalar"," - Scalar arithmetics: addition, multiplication, inverse",[54,83463,83464,83467],{},[150,83465,83466],{},"secp256k1_sha256_t"," - SHA-256 hash",[54,83469,83470,83471,4316],{},"Cryptographic nonce generation (",[150,83472,83473],{},"nonce_function_rfc6979",[54,83475,83476,83479],{},[150,83477,83478],{},"secp256k1_hmac_sha256_t"," - HMAC (message authentication)",[11,83481,83482],{},"The following cryptographic functions and schemes are built over them:",[89,83484,83485,83525,83528,83531,83534,83537],{},[54,83486,83487,83488],{},"Point multiplication (by a scalar).\n",[89,83489,83490,83504],{},[54,83491,83492,83493],{},"There are different multiplication modes and scenarios:\n",[89,83494,83495,83498,83501],{},[54,83496,83497],{},"Secure\u002FFast",[54,83499,83500],{},"Point may be either known in advance (a.k.a. Generator, prepared for multiplication) or \"casual\".",[54,83502,83503],{},"Aggregation: when many points are multiplied by scalars and summed - an appropriate effective algorithm is used.",[54,83505,83506,83507,83509,83510],{},"The reason that this functionality is implemented in BEAM and not taken directly from ",[150,83508,83446],{}," is the following:\n",[89,83511,83512,83515,83522],{},[54,83513,83514],{},"We'd like to have more low-level control of the primitives to implement advanced schemes",[54,83516,83517,83518,83521],{},"We need more generators: Standard secp256k1 supports just two (",[150,83519,83520],{},"G,H","), whereas we need many more (131)",[54,83523,83524],{},"No effective aggregation implementation",[54,83526,83527],{},"Commitments (encoded amount with the blinding factor)",[54,83529,83530],{},"Schnorr's signatures (including multi-sig)",[54,83532,83533],{},"Bulletproofs (including multi-sig and batch verification)",[54,83535,83536],{},"Secure communication channels",[54,83538,83539],{},"Secure BBS messaging system",[11,83541,83542,83543,83546],{},"In addition there's a ",[150,83544,83545],{},"uintBig"," - a \"big integer\" (arbitrary width), supports basic arithmetics and shift operations (not including division). The number is represented as an array of bytes in a big-endian byte order. Platform-independent, serialized as-is.\nImplementation is very straight-forward, not for performance-critical tasks.",[26,83548,83549],{"id":6548},"Hash",[11,83551,83552],{},"The Hash refers to the SHA-256 hash, unless otherwise specified. Used in various schemes. When hashing some data, it's fed in a way that is both platform-independent and unambiguous. This is achieved by the following specifications:",[89,83554,83555,83558,83561,83567,83570],{},[54,83556,83557],{},"1-byte data is fed as-is",[54,83559,83560],{},"Boolean values are encoded as a single byte with value either 0 or 1.",[54,83562,83563,83564,83566],{},"Strings are fed as-is, ",[145,83565,81306],{}," the 0-terminator (to prevent ambiguity for consequent strings).",[54,83568,83569],{},"Numerical types (fixed-point) are stored as a variable-length byte sequence, with a special terminator mark. This ensures platform independence (integers may have varying width across different platforms).",[54,83571,83572],{},"Non-primitive types are converted into the platform-independent binary format for hashing.",[11,83574,83575],{},"The following objects are derived from hash (built over them)",[716,83577,4688],{"id":83578},"oracle",[11,83580,83581],{},"Oracle is used in non-interactive cryptographic proofs, it's supposed to produce cryptographic challenges in a deterministic way, based on the visible transcript to the moment.",[11,83583,83584,83585,83587],{},"In BEAM Oracle uses the Hash in a straightforward way. All the visible transcript is hashed. Once the challenge is needed - the hash value is finalized, the result is the challenge, and it's immediately re-fed to the Hash. So that the new challenge construction (if needed) is generated from the visible transcript, ",[145,83586,81306],{}," the previous challenge.",[11,83589,83590],{},"If there are restrictions for the challenge (such as it should be non-overflowing, non-zero scalar, or a valid x-coordinate of a curve point) - the Finalize-Re-feed is called in a loop, until the satisfying challenge is produced (i.e. accept\u002Freject strategy is used).",[716,83592,83594],{"id":83593},"nonce-generator","Nonce Generator",[11,83596,83597],{},"Also used in cryptographic proofs, but, unlike Oracle, the nonce generation involves secret data, and should not be possible to reconstruct by others.",[11,83599,83600,83601,83603],{},"In BEAM Nonce generator is a combination of an Oracle, and the nonce function initialized by the secret data. That is, the Oracle accounts for all the visible transcript. When a nonce is needed - first it's received from the Oracle, and then passed as an input to the nonce function (implemented in (",[150,83602,83446],{},"), which also uses the secret data.",[11,83605,83606,83607,83609],{},"The final nonce generation function implemented in ",[150,83608,83446],{}," actually a modified HMAC-SHA-256 scheme.",[716,83611,83613],{"id":83612},"kdf-key-derivation-function","KDF - Key derivation function",[11,83615,83616],{},"All the private keys are generated via KDF. In BEAM it's implemented via the Nonce generator, which is initialized once by the master secret data. The requested key parameters (key index, type\u002Fsubtype, etc.) are hashed and then the output is generated by the standard Nonce generator initialized with the master secret.",[26,83618,10860],{"id":10859},[11,83620,83621,83622,4133,83625,83628,83629,83631],{},"Implemented according to the standard, the \"long\" version, compatible with batch verification. Consists of a pair ",[150,83623,83624],{},"[P,k]",[150,83626,83627],{},"P"," is an arbitrary EC point, and ",[150,83630,10997],{}," is the blinded private key. Supports multisignature of course.",[11,83633,83634,83635,83637,83638,83641,83642,1000],{},"Specifically the scheme is the following. Given a message hash ",[150,83636,11188],{},", private key ",[150,83639,83640],{},"sk",", public key ",[150,83643,83644],{},"pk = G * sk",[89,83646,83647,83692],{},[54,83648,83649,83650],{},"Prover\n",[89,83651,83652,83662,83668,83674,83681,83686],{},[54,83653,83654,83655,4133,83658,83661],{},"Generate a nonce ",[150,83656,83657],{},"nk = Nonce(sk, M)",[150,83659,83660],{},"Nonce()"," is the standard nonce generating function.",[54,83663,83664,83665],{},"Calculate: ",[150,83666,83667],{},"P = nk*G",[54,83669,83670,83671],{},"Expose to Oracle: ",[150,83672,83673],{},"P, M",[54,83675,83676,83677,83680],{},"Get the challenge ",[150,83678,83679],{},"e"," from Oracle.",[54,83682,473,83683],{},[150,83684,83685],{},"k = - nk - e*sk",[54,83687,83688,83689],{},"Signature: ",[150,83690,83691],{},"[P, k]",[54,83693,83694,83695],{},"Verifier\n",[89,83696,83697,83701,83705],{},[54,83698,83670,83699],{},[150,83700,83673],{},[54,83702,83676,83703,83680],{},[150,83704,83679],{},[54,83706,83707,83708],{},"Verify: ",[150,83709,83710],{},"k*G + e*Pk + P == 0",[26,83712,83714],{"id":83713},"binary-platform-independent-representation-of-the-ecc-primitives","Binary platform-independent representation of the ECC primitives",[11,83716,83717],{},"The following are the primitives:",[89,83719,83720,83733],{},[54,83721,83722,83723],{},"ECC Scalar\n",[89,83724,83725,83730],{},[54,83726,83727,83728,2758],{},"256-bits wide integer, representing the number in a big-endian format (via ",[150,83729,83545],{},[54,83731,83732],{},"Deserialization ensures the number is indeed a valid scalar, i.e. strictly less than modulo-prime, to prevent ambiguity",[54,83734,83735,83736],{},"ECC Point\n",[89,83737,83738,83741,83747,83750],{},[54,83739,83740],{},"Represented as an X-coordinate, and a Y-parity flag (1 bit).",[54,83742,83743,83744,83746],{},"The X-coordinate is serialized via ",[150,83745,83545],{}," (similar to scalar).",[54,83748,83749],{},"To recover the Y-coordinate one must solve a quadratic equation, which, naturally has 2 solutions. This is where Y-parity flag is used.",[54,83751,83752],{},"When serialized individually the data is padded to a byte boundary (means the Y-parity bit takes the whole byte). However in some complex data types those flags are merged and stored separately (Ex: Bulletproofs).",{"title":760,"searchDepth":761,"depth":761,"links":83754},[83755,83760,83761],{"id":6548,"depth":761,"text":83549,"children":83756},[83757,83758,83759],{"id":83578,"depth":772,"text":4688},{"id":83593,"depth":772,"text":83594},{"id":83612,"depth":772,"text":83613},{"id":10859,"depth":761,"text":10860},{"id":83713,"depth":761,"text":83714},"Cryptographic primitives used by BEAM are based on the secp256k1 library (the one that is used in bitcoin). Naturally it uses the same elliptic curve equation. The following primitives are used directly:",{},"\u002Fdocs\u002Fcore-tech\u002Fcryptographic-primitives",{"description":83762},"docs\u002Fcore-tech\u002FCryptographic-primitives","QrYkU0VBi7iZaKxJxxmRHOi-w15hbL6UprUHzMglhk8",{"id":83769,"title":83770,"body":83771,"description":83775,"extension":775,"image":776,"meta":83858,"navTitle":776,"navigation":778,"path":83859,"seo":83860,"stem":83861,"__hash__":83862},"docs\u002Fdocs\u002Fcore-tech\u002FDMMR-internal-layout.md","DMMR Internal Layout",{"type":8,"value":83772,"toc":83856},[83773,83776,83783,83806,83809,83815,83818,83821,83824,83853],[11,83774,83775],{},"In Merkle trees there are leaf nodes that are added explicitly, and appropriate non-leaf nodes which are created on-demand.",[11,83777,83778,83779,83782],{},"Our DMMR consists of ",[58,83780,83781],{},"Elements"," of variable size, whereas each new element internally contains all the supposed non-leaf nodes. Technically element consists of:",[51,83784,83785,83788,83803],{},[54,83786,83787],{},"Hashes of the assumed non-leaf nodes",[54,83789,83790,83793,83794],{},[58,83791,83792],{},"Pointers"," to the elements that contain the siblings assumed by the above non-leaf nodes.\n",[89,83795,83796],{},[54,83797,83798,83799,83802],{},"By ",[58,83800,83801],{},"pointers"," we mean the information used to access the element, not necessarily the memory pointer.",[54,83804,83805],{},"A pointer to the last element of the previous MMR peak.",[11,83807,83808],{},"For example, consider and MMR containing 10 items:",[866,83810,83813],{"className":83811,"code":83812,"language":871},[869],"                         *\n                        \u002F \\\n                       \u002F   \\\n                      \u002F     \\\n                     \u002F       \\\n                    \u002F         \\\n                   \u002F           \\\n                  \u002F             \\\n                 \u002F               \\\n                \u002F                 \\\n               \u002F                   \\\n              \u002F                     \\\n             *                       *\n            \u002F \\                     \u002F \\\n           \u002F   \\                   \u002F   \\\n          \u002F     \\                 \u002F     \\\n         \u002F       \\               \u002F       \\\n        \u002F         \\             \u002F         \\\n       *           *           *           *           *\n      \u002F \\         \u002F \\         \u002F \\         \u002F \\         \u002F \\\n     \u002F   \\       \u002F   \\       \u002F   \\       \u002F   \\       \u002F   \\\n    0     1     2     3     4     5     6     7     8     9\n",[150,83814,83812],{"__ignoreMap":760},[11,83816,83817],{},"In our DMMR this is represented by the following data:",[11,83819,83820],{},"[[\u002Fimages\u002Fdmmr1.png]]",[11,83822,83823],{},"There are 10 elements of varying size, denoted by different colors. Rectangles outline the data and the non-leaf hashes of which the elements comprise. Lines denote pointers to the parent elements. We see the following:",[89,83825,83826,83829,83832,83846],{},[54,83827,83828],{},"Elements with odd index contain extra hashes, denoted by asterisk (*). The number of hashes equals to the height of the formed peak.",[54,83830,83831],{},"For every extra hash there is also a pointer to the last element of the appropriate sibling node.",[54,83833,83834,83835],{},"Most of the elements in addition have a pointer to the last element of the previous MMR peak, denoted by a curly line.\n",[89,83836,83837,83840],{},[54,83838,83839],{},"The exceptions are elements at position 0, 1, 3, 7, because they are last elements of the only peak.",[54,83841,83842,83843,83845],{},"This is obviously the property of elements at positions 2",[111,83844,11184],{},"-1.",[54,83847,83848,83849,83852],{},"The only element that contains no data is the 1",[111,83850,83851],{},"st",", at position 0.",[11,83854,83855],{},"It's easy to see that each element has access to all the parent elements and their datas. Hence it can be used as an effective MMR implementation with all the relevant functionality, such as calculating the root, and generating proofs.",{"title":760,"searchDepth":761,"depth":761,"links":83857},[],{},"\u002Fdocs\u002Fcore-tech\u002Fdmmr-internal-layout",{"description":83775},"docs\u002Fcore-tech\u002FDMMR-internal-layout","99mIRX1rkHIyMr9agqh4gdEWTHpZ0877JiaGHFxy59c",{"id":83864,"title":83865,"body":83866,"description":83870,"extension":775,"image":776,"meta":84401,"navTitle":776,"navigation":778,"path":84402,"seo":84403,"stem":84404,"__hash__":84405},"docs\u002Fdocs\u002Fcore-tech\u002FEthash-verification-in-contracts.md","Ethash Verification In Contracts",{"type":8,"value":83867,"toc":84395},[83868,83871,83874,83879,83887,83896,83899,83903,83906,83966,83982,83985,83988,83992,83998,84001,84011,84014,84017,84031,84035,84041,84106,84122,84128,84134,84137,84157,84160,84164,84167,84183,84186,84190,84193,84203,84206,84210,84213,84224,84228,84231,84234,84342,84345,84349,84352,84360,84363,84390,84393],[11,83869,83870],{},"To implement trustless bridges between Beam and other blockchains there's a need to verify the headers of the appropriate blockchains in the contract. For a PoW-based blockchain there's a need to verify the appropriate header PoW.",[11,83872,83873],{},"Ethereum mined according to Ethash PoW algorithm. Turns out not only mining, but even the verification of Ethash is a complex task for a contract.",[11,83875,83876],{},[94,83877,83878],{},"UPDATE: (2021-05-09)",[11,83880,83881,83882,385],{},"Turns out a very similar idea has already been elaborated by ",[18,83883,83886],{"href":83884,"rel":83885},"https:\u002F\u002Fblog.kyber.network\u002Fwaterloo-a-decentralized-practical-bridge-between-eos-and-ethereum-c25b1698f010",[22],"Kyber",[11,83888,83889,83890,83895],{},"And threre's a ",[18,83891,83894],{"href":83892,"rel":83893},"https:\u002F\u002Fnear.org\u002Ftechnology\u002F",[22],"Rainbow Ethereum-NEAR Rainbow Bridge"," deployed using this technology.",[11,83897,83898],{},"While the idea is very similar, there are significant differences in the implementation. Our version is somewhat more efficient (in both proof size and verification times) since we use a more sophisticated variation of the Merkle proofs.",[43,83900,83902],{"id":83901},"ethash","Ethash",[11,83904,83905],{},"Ethash is designed to be memory-hard. Its hi-level design:",[89,83907,83908,83915,83946],{},[54,83909,83910,83911,83914],{},"Mining parameters (a.k.a. ",[58,83912,83913],{},"Epoch",") are changed each 30K blocks (roughly 5.2 days)",[54,83916,83917,83918,83920,83921,83924,83925],{},"For the current ",[58,83919,83913],{}," a ",[58,83922,83923],{},"Cache"," is generated, which as a pseudo-random opaque data set.\n",[89,83926,83927,83936,83939],{},[54,83928,83929,83930,83932,83933,385],{},"Its size is gradually increased with each ",[58,83931,83913],{},", as of today its size is roughly ",[94,83934,83935],{},"70MB",[54,83937,83938],{},"The cache generation is deliberately complex. Each element depends on the previous (so that it can't be parallelized), and CPU-intensive hash function is used.",[54,83940,83941,83942,83945],{},"As for today it takes ",[94,83943,83944],{},"several seconds"," to calculate on a typical desktop machine.",[54,83947,83948,83949,27542,83952],{},"There is a much larger data set that can be calculated from the cache (a.k.a. ",[58,83950,83951],{},"DAG",[89,83953,83954,83960,83963],{},[54,83955,83956,83957],{},"As for today the cache size is roughly ",[94,83958,83959],{},"4GB",[54,83961,83962],{},"Each element calculation is deliberately complex. Involves CPU-intensive hash functions, and pseudo-random access of cache.",[54,83964,83965],{},"Elements however are independent",[11,83967,83968,83969,83971,83972,83975,83976,83978,83979,83981],{},"The PoW puzzle is to find a ",[58,83970,10229],{},", from which a 64-element-long pseudo-random ",[58,83973,83974],{},"Path"," is derived, whose last element together with the ",[58,83977,10229],{}," reaches the difficulty target. It is assumed that effective miner should have the ",[58,83980,83951],{}," in memory, and probe different pseudo-random paths until the needed difficulty target is reached. To verify the PoW only the cache is needed. The chosen path elements can effectively be calculated from the cache (since they are independent).",[11,83983,83984],{},"So that, unlike most of the other blockchains, Ethash verification demands significant memory. Once the cache is prepared, the PoW verification is reasonably fast, but still may be considerable if many headers should be verified at once.",[11,83986,83987],{},"For native Ethereum clients this is not a problem. Normally they interpret blocks\u002Fheaders sequentially (perhaps with slight reorgs), so that the cache can be generated once and kept in memory for ~5 days. The complexity of verification of a header (tens of milliseconds) is also acceptable.",[43,83989,83991],{"id":83990},"why-ethash-verification-is-hard-in-contract","Why Ethash verification is hard in contract",[11,83993,83994,83995,83997],{},"First of, the cache is needed. As we mentioned it has size roughly ",[94,83996,83935],{}," (as for today), and computation time of several seconds, even if done natively. This is totally unrealistic for contracts, which are deliberately restricted in both available memory and running time.",[11,83999,84000],{},"One strategy to solve this problem (that we tried) is to provide contracts a special bvm function. It would be like this:",[866,84002,84005],{"className":84003,"code":84004,"language":82951,"meta":760,"style":760},"language-C++ shiki shiki-themes github-dark","hash256 get_EthashDagEndpoint(int epochNumber, hash512 seed);\n",[150,84006,84007],{"__ignoreMap":760},[984,84008,84009],{"class":986,"line":987},[984,84010,84004],{},[11,84012,84013],{},"The bvm implementation would generate and keep the cache for the specified Epoch in memory, and interpret the needed path for the contract. The rest of the header verification (seed derivation, difficulty test, etc.) can be done inside the contract.",[11,84015,84016],{},"This strategy however has the following drawbacks:",[89,84018,84019,84022,84025,84028],{},[54,84020,84021],{},"Adding very specialized functions to the bvm is a drawback. We prefer to keep the functions very generic, and avoid specialized functions unless there's no other option.",[54,84023,84024],{},"Unlike native Ethereum clients, it's not possible to assume that only the current Epoch would be needed. Contracts might need to process headers from the past, as well as headers from different sidechains with different heights.",[54,84026,84027],{},"Calculating the cache for each requested Epoch is heavy. Pre-calculating and keeping many of them in the local storage is unrealistic too for most of the clients, because of the considerable cache size of each Epoch.",[54,84029,84030],{},"Since the contract may want to process many Ethereum headers at once, the performance may be complex even with prepared cache.",[43,84032,84034],{"id":84033},"our-strategy","Our strategy",[11,84036,84037,84038,1000],{},"First let's study the pseudo-code of the supposed ",[150,84039,84040],{},"get_EthashDagEndpoint",[866,84042,84044],{"className":84003,"code":84043,"language":82951,"meta":760,"style":760},"hash256 get_EthashDagEndpoint(int epochNumber, hash512 seed)\n{\n    Init MyState from seed;\n    loop 64 times:\n    {\n        derive Index from MyState;\n        get hash1024 Element from DAG of the specified epoch at position Index;\n        mutate MyState by Element\n    }\n\n    derive Hash256 MixHash from MyState;\n    return  MixHash;\n}\n",[150,84045,84046,84051,84055,84060,84065,84069,84074,84079,84084,84088,84092,84097,84102],{"__ignoreMap":760},[984,84047,84048],{"class":986,"line":987},[984,84049,84050],{},"hash256 get_EthashDagEndpoint(int epochNumber, hash512 seed)\n",[984,84052,84053],{"class":986,"line":761},[984,84054,991],{},[984,84056,84057],{"class":986,"line":772},[984,84058,84059],{},"    Init MyState from seed;\n",[984,84061,84062],{"class":986,"line":1024},[984,84063,84064],{},"    loop 64 times:\n",[984,84066,84067],{"class":986,"line":1035},[984,84068,1529],{},[984,84070,84071],{"class":986,"line":1098},[984,84072,84073],{},"        derive Index from MyState;\n",[984,84075,84076],{"class":986,"line":1111},[984,84077,84078],{},"        get hash1024 Element from DAG of the specified epoch at position Index;\n",[984,84080,84081],{"class":986,"line":1124},[984,84082,84083],{},"        mutate MyState by Element\n",[984,84085,84086],{"class":986,"line":1137},[984,84087,1607],{},[984,84089,84090],{"class":986,"line":1150},[984,84091,8376],{"emptyLinePlaceholder":778},[984,84093,84094],{"class":986,"line":1163},[984,84095,84096],{},"    derive Hash256 MixHash from MyState;\n",[984,84098,84099],{"class":986,"line":1176},[984,84100,84101],{},"    return  MixHash;\n",[984,84103,84104],{"class":986,"line":1189},[984,84105,1038],{},[11,84107,84108,84109,84112,84113,84116,84117,84119,84120,385],{},"Note that this code can basically be implemented in the contract. The ",[150,84110,84111],{},"MyState"," mutation and consequent ",[150,84114,84115],{},"Index"," derivation are pretty simple (use fast hash function). The problem of course is getting the element from the ",[58,84118,83951],{}," at the requested ",[150,84121,84115],{},[11,84123,84124,84125,385],{},"The idea is to provide those elements for the verification. Means in order to verify the header, in addition to the header itself, the prover would include those 64 1024-bit elements of the path for the contract. Then the contract would repeat the same path and compute the same ",[150,84126,84127],{},"MixHash",[11,84129,84130,84131,84133],{},"The question is how can the contract verify that the provided elements of the ",[58,84132,83951],{}," are indeed correct. For this the Prover would include the Merkle multi-element proof (more about this later).",[11,84135,84136],{},"So that the contract gets:",[89,84138,84139,84142,84147],{},[54,84140,84141],{},"The header.",[54,84143,84144,84145,385],{},"64 elements from the ",[58,84146,83951],{},[54,84148,84149,84150,84152,84153,84156],{},"Merkle proof that proves that the above elements are indeed part of the ",[58,84151,83951],{},", and (",[145,84154,84155],{},"importantly!",") they are at the asserted positions.",[11,84158,84159],{},"So, in order to deploy and use contracts written in this way the following is needed:",[716,84161,84163],{"id":84162},"setup","Setup.",[11,84165,84166],{},"For each epoch:",[89,84168,84169,84180],{},[54,84170,84171,84172,84174,84175],{},"calculate the ",[58,84173,83951],{},", build a Merkle tree, and save it locally.\n",[89,84176,84177],{},[54,84178,84179],{},"to reduce the space the lower levels of the tree may be omitted. Each omitted level saves x2 space, and increases x2 the complexity of the consequent proof generations.",[54,84181,84182],{},"Calculate and save the Merkle tree root.",[11,84184,84185],{},"Practically the total number of Epochs can be limited to 1024. This will cover all the headers from the very beginning up to year 2030.",[716,84187,84189],{"id":84188},"deploy-the-contract","Deploy the contract.",[11,84191,84192],{},"For each Epoch the contract has (hard-coded) the following:",[89,84194,84195,84200],{},[54,84196,84197,84198,385],{},"The size of the ",[58,84199,83951],{},[54,84201,84202],{},"Merkle root.",[11,84204,84205],{},"Alternatively instead of storing this data for each Epoch, we can build yet another Merkle tree. By such the contract would only need a single Merkle root. Then, during the verification, one more Merkle proof would be necessary to verify this specific Epoch params.",[716,84207,84209],{"id":84208},"using","Using",[11,84211,84212],{},"To invoke the contract method that is supposed verify the Ethereum header the following is performed by the caller:",[89,84214,84215,84218,84221],{},[54,84216,84217],{},"Simulate the PoW verification locally. Obtain the 64 Elements that are needed for the path as well as deduce their indexes.",[54,84219,84220],{},"Build the Merkle multi-element proof for those elements, given their indexes.",[54,84222,84223],{},"Concatenate the elements and the Merkle proof, to form a single unified proof.",[26,84225,84227],{"id":84226},"merkle-multi-element-proof","Merkle multi-element proof",[11,84229,84230],{},"The goal is to prove that the specified subset of elements is a part of the original set. A naive way to accomplish this would be providing a separate Merkle proof for each element, which is essentially a set of hashes, by interpreting which the verifier should calculate and verify the Merkle root for each element individually. This is suboptimal however, since hashes are likely to repeat (i.e. show up in proof for different elements). Instead of doing this the prover would provide the minimal set of hashes, by using which the verifier would calculate the Merkle root only once.",[11,84232,84233],{},"In our specific case the verifier knows both the original data set size, and the asserted indexes (positions) of the elements in its subset. We designed our protocol such that it proves not only the existence of those elements in the original set, but also their positions. The simplified verifier pseudo-code would look like this:",[866,84235,84237],{"className":84003,"code":84236,"language":82951,"meta":760,"style":760},"Hash get_Root(Set myElements, int rangeBegin, int rangeSize)\n{\n    if myElements is empty\n        \u002F\u002F this is where the prover is supposed to provide the complementary sibling hash\n        return next Hash from the attached proof;\n        \n    if rangeSize == 1\n        \u002F\u002F if the myElements contains more than 1 element (i.e. original set of elements contains collisions, unlikely but possible) - make sure they are all equal.\n        return Evaluate hash from myElements[0];\n    \n    \u002F\u002F split the range\n    rangeSize \u002F= 2;\n    \n    int pivot = rangeBegin + rangeSize;\n    \n    Split myElements into 2 subsets myElementsLo and myElementsHi, according to pivot;\n    \n    Hash hashLo = get_Root(myElementsLo, rangeBegin, rangeSize);\n    Hash hashHi = get_Root(myElementsHi, pivot, rangeSize);\n    \n    return Hash(hashLo | hashHi);\n}\n",[150,84238,84239,84244,84248,84253,84258,84263,84267,84272,84277,84282,84287,84292,84297,84301,84306,84310,84315,84319,84324,84329,84333,84338],{"__ignoreMap":760},[984,84240,84241],{"class":986,"line":987},[984,84242,84243],{},"Hash get_Root(Set myElements, int rangeBegin, int rangeSize)\n",[984,84245,84246],{"class":986,"line":761},[984,84247,991],{},[984,84249,84250],{"class":986,"line":772},[984,84251,84252],{},"    if myElements is empty\n",[984,84254,84255],{"class":986,"line":1024},[984,84256,84257],{},"        \u002F\u002F this is where the prover is supposed to provide the complementary sibling hash\n",[984,84259,84260],{"class":986,"line":1035},[984,84261,84262],{},"        return next Hash from the attached proof;\n",[984,84264,84265],{"class":986,"line":1098},[984,84266,8559],{},[984,84268,84269],{"class":986,"line":1111},[984,84270,84271],{},"    if rangeSize == 1\n",[984,84273,84274],{"class":986,"line":1124},[984,84275,84276],{},"        \u002F\u002F if the myElements contains more than 1 element (i.e. original set of elements contains collisions, unlikely but possible) - make sure they are all equal.\n",[984,84278,84279],{"class":986,"line":1137},[984,84280,84281],{},"        return Evaluate hash from myElements[0];\n",[984,84283,84284],{"class":986,"line":1150},[984,84285,84286],{},"    \n",[984,84288,84289],{"class":986,"line":1163},[984,84290,84291],{},"    \u002F\u002F split the range\n",[984,84293,84294],{"class":986,"line":1176},[984,84295,84296],{},"    rangeSize \u002F= 2;\n",[984,84298,84299],{"class":986,"line":1189},[984,84300,84286],{},[984,84302,84303],{"class":986,"line":1202},[984,84304,84305],{},"    int pivot = rangeBegin + rangeSize;\n",[984,84307,84308],{"class":986,"line":1211},[984,84309,84286],{},[984,84311,84312],{"class":986,"line":1217},[984,84313,84314],{},"    Split myElements into 2 subsets myElementsLo and myElementsHi, according to pivot;\n",[984,84316,84317],{"class":986,"line":1229},[984,84318,84286],{},[984,84320,84321],{"class":986,"line":1241},[984,84322,84323],{},"    Hash hashLo = get_Root(myElementsLo, rangeBegin, rangeSize);\n",[984,84325,84326],{"class":986,"line":1254},[984,84327,84328],{},"    Hash hashHi = get_Root(myElementsHi, pivot, rangeSize);\n",[984,84330,84331],{"class":986,"line":1266},[984,84332,84286],{},[984,84334,84335],{"class":986,"line":1279},[984,84336,84337],{},"    return Hash(hashLo | hashHi);\n",[984,84339,84340],{"class":986,"line":1291},[984,84341,1038],{},[11,84343,84344],{},"The prover interprets this according to the same logic. It just doesn't evaluate anything, and provides the appropriate Merkle tree hashes when needed.",[43,84346,84348],{"id":84347},"pros-and-cons","Pros and cons",[11,84350,84351],{},"Pros:",[89,84353,84354,84357],{},[54,84355,84356],{},"No need for specialilzed support functions. Hence no additional threat of abuse and etc.",[54,84358,84359],{},"Header verification is reasonably fast.",[11,84361,84362],{},"Cons:",[89,84364,84365,84370],{},[54,84366,84367,84368,385],{},"To invoke the contract the prover needs to generate and process the ",[58,84369,83951],{},[54,84371,84372,84373],{},"The proof size is considerable.\n",[89,84374,84375,84378,84381,84384],{},[54,84376,84377],{},"The needed elements take 8K (64 elements, 1024 bits == 128 bytes each)",[54,84379,84380],{},"The Merkle proof size varies, but seems to be around 1100-1200 hashes for all the elements.",[54,84382,84383],{},"We decided to use 160-bit hashes, to reduce the proof size, yet have decent security.",[54,84385,84386,84387],{},"The overall proof size is about ",[94,84388,84389],{},"30KB",[11,84391,84392],{},"Overall this solution seems very practical. The proof size, albeit considerable, is not prohibitively large. With our current block size limitation of 1MB it's possible to verify up to tens of Ethereum headers at once.\nThe verification time is reasonably fast too (actually faster than normal verification even with cache prepared). Dominated by the hashing, for which there are native functions provided by the bvm.",[2685,84394,8735],{},{"title":760,"searchDepth":761,"depth":761,"links":84396},[84397,84398,84399,84400],{"id":84162,"depth":772,"text":84163},{"id":84188,"depth":772,"text":84189},{"id":84208,"depth":772,"text":84209},{"id":84226,"depth":761,"text":84227},{},"\u002Fdocs\u002Fcore-tech\u002Fethash-verification-in-contracts",{"description":83870},"docs\u002Fcore-tech\u002FEthash-verification-in-contracts","p9pwmjAWa07_F9bsyBGYGwbSoR4MuVCZPa5ubNYJqCU",{"id":84407,"title":84408,"body":84409,"description":760,"extension":775,"image":776,"meta":84787,"navTitle":776,"navigation":778,"path":84788,"seo":84789,"stem":84790,"__hash__":84791},"docs\u002Fdocs\u002Fcore-tech\u002FExchange-Pool-integration-guide.md","Exchange\u002FPool integration guide",{"type":8,"value":84410,"toc":84777},[84411,84414,84416,84420,84423,84476,84494,84502,84515,84519,84525,84530,84537,84543,84550,84555,84561,84569,84574,84580,84591,84601,84605,84611,84616,84621,84632,84636,84648,84650,84653,84710,84713,84721,84730,84733,84745,84752,84756,84759,84762,84766,84770],[43,84412,84408],{"id":84413},"exchangepool-integration-guide",[26,84415,15967],{"id":15966},[26,84417,84419],{"id":84418},"getting-binaries","Getting binaries",[11,84421,84422],{},"First of all, define the network you'd like to \"play\" with:",[89,84424,84425,84446,84465],{},[54,84426,84427,84430,84431,84435,84436,84441,84442,4316],{},[150,84428,84429],{},"mainnet"," - it's the latest released production version, working with real money and you can get binaries from the ",[18,84432,84434],{"href":5551,"rel":84433},[22],"official website",", see ",[18,84437,84440],{"href":84438,"rel":84439},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Freleases",[22],"Github Releases"," or build yourself from the sources of (",[18,84443,84445],{"href":5634,"rel":84444},[22],"mainnet branch",[54,84447,84448,84451,84452,84455,84456,84459,84460,385],{},[150,84449,84450],{},"testnet"," - to check the features will be released soon to production and  you can get binaries from the ",[18,84453,84434],{"href":84454},"\u002Fdownloads\u002Ftestnet","\n, see ",[18,84457,84440],{"href":84438,"rel":84458},[22]," or build from the ",[18,84461,84464],{"href":84462,"rel":84463},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Ftestnet",[22],"testnet branch",[54,84466,84467,84470,84471,385],{},[150,84468,84469],{},"master"," - to see the latest changes in development build the ",[18,84472,84475],{"href":84473,"rel":84474},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster",[22],"master branch",[11,84477,84478,84479,84483,84484,441,84487,441,84490,84493],{},"Here are ",[18,84480,84482],{"href":81034,"rel":84481},[22],"detailed instructions on how to build a project"," for ",[58,84485,84486],{},"Windows",[58,84488,84489],{},"Linux",[58,84491,84492],{},"Mac"," platforms .",[5819,84495,84496],{},[11,84497,641,84498,84501],{},[150,84499,84500],{},"-DBEAM_NO_QT_UI_WALLET=On"," command line parameter to the Cmake if you need only CLI version of the wallet without UI and QT5 library dependencies.",[11,84503,84504,84505,441,84508,441,84510,163,84513,385],{},"You will need to build 4 binaries: ",[150,84506,84507],{},"beam-node",[150,84509,6364],{},[150,84511,84512],{},"beam-wallet",[150,84514,863],{},[26,84516,84518],{"id":84517},"initializing-wallet","Initializing Wallet",[11,84520,84521,84522,84524],{},"To create a new wallet run the following command (",[150,84523,5828],{}," will be created in the working folder):",[11,84526,84527],{},[150,84528,84529],{},".\u002Fbeam-wallet init",[11,84531,84532,84533,84536],{},"Output example for ",[150,84534,84535],{},"init"," operation:",[866,84538,84541],{"className":84539,"code":84540,"language":871},[869],"I 2019-02-19.15:28:55.500 Beam Wallet 1.2.4392 (master)\nI 2019-02-19.15:28:55.501 Rules signature: 7c360d0c2ee92d9e\nI 2019-02-19.15:28:55.501 starting a wallet...\nEnter password: ***\nConfirm password: ***\nI 2019-02-19.15:29:01.716 Generating seed phrase...\n======\nGenerated seed phrase:\n\n        army;wing;very;trim;crumble;meat;spawn;click;donate;loyal;trap;gauge;\n\n        IMPORTANT\n\n        Your seed phrase is the access key to all the cryptocurrencies in your wallet.\n        Print or write down the phrase to keep it in a safe or in a locked vault.\n        Without the phrase you will not be able to recover your money.\n======\nI 2019-02-19.15:29:01.950 wallet successfully created...\nI 2019-02-19.15:29:01.971 New address generated:\n\n1f27eea1057633e7df23aa51f835a05fa759ca199535fe99952bf9aecad17186d9d\n\nI 2019-02-19.15:29:01.971 comment = default\n",[150,84542,84540],{"__ignoreMap":760},[11,84544,84545,84546,84549],{},"You can also restore wallet with your ",[150,84547,84548],{},"seed_phrase"," if you've already had it.",[11,84551,84552],{},[150,84553,84554],{},".\u002Fbeam-wallet restore --seed_phrase=\u003Csemicolon separated list of 12 seed phrase words>;",[11,84556,84557,84558,84560],{},"Once wallet is initialised, you have to export your ",[58,84559,2811],{}," (it will be needed in the future to start own node).",[84562,84563,84564,84568],"details",{},[84565,84566,84567],"summary",{},"\nMore info about `owner key`\n","\nThe purpose of the `owner key` is to allow all nodes mining for you to be aware of all mining rewards mined by other nodes so that you would only need to connect to one node to collect all the rewards into your wallet. While in most other cryptocurrencies this is done by simply mining to a single address you control, in Mimblewimble it is not as simple since there are no addresses and the mining rewards should be coded with unique blinding factors which are deterministically derived from the `master key`, and then tagged by the single `owner key`.\n",[11,84570,84532,84571,84536],{},[150,84572,84573],{},"export_owner_key",[866,84575,84578],{"className":84576,"code":84577,"language":871},[869],"$ .\u002Fbeam-wallet export_owner_key\nI 2019-02-19.15:32:16.217 Beam Wallet 1.2.4392 (master)\nI 2019-02-19.15:32:16.218 Rules signature: 7c360d0c2ee92d9e\nI 2019-02-19.15:32:16.219 starting a wallet...\nEnter password: ***\nOwner Viewer key: +SevBZ++xL1wEM+yyGbMI+ZElHahudX8mh6Hu\u002FatJrdtzAOD2zpeb2LPIqQcnvry3JUQFBa9gTAHT98RMQMdcggr+LX0oqdGsVIx3KRkTxyvRdKBnw8lz9uAmMx0P2TNlk30E+M5MCnX7Ngp\n",[150,84579,84577],{"__ignoreMap":760},[11,84581,84582,84584,84585,84587,84588,385],{},[58,84583,2811],{}," should be kept secret. ",[58,84586,2811],{}," does not allow to spend coins, however it will allow to see all coins mined for you by all miners that use this ",[58,84589,84590],{},"Owner Кey",[11,84592,84593,84594,84596,84597],{},"Here you can read about all the ",[150,84595,84512],{}," commands: ",[18,84598,84599],{"href":84599,"rel":84600},"https:\u002F\u002Fbeamx.gitbook.io\u002Fcli-guide\u002F",[22],[26,84602,84604],{"id":84603},"starting-a-node","Starting a Node",[11,84606,84607,84608,84610],{},"Run the node with your ",[58,84609,2811],{}," and make sure it has completed the synchronization with the network:",[11,84612,84613],{},[150,84614,84615],{},".\u002Fbeam-node.exe --peer=eu-node01.mainnet.beam.mw:8100 --key_owner=XPWoJ\u002FViEO1whRcYC1z\u002FnylDH1C2lqLxpMYU0\u002FAbqP67XI4sgYDkUIvJfUpMFjwdPYNz2A7PCHWo7c\u002FkHHTZ2EDUNv2BJvQHb1KHZjLNZPFgV2wceHfzvCYIUF3cR9ADfVSBquTxEldipNgp",[5819,84617,84618],{},[11,84619,84620],{},"Please, make sure you pass proper peer address for the current network you have chosen before.",[84562,84622,84623,84626],{},[84565,84624,84625],{},"\nList of peers\n",[866,84627,84630],{"className":84628,"code":84629,"language":871},[869],"MASTER peers:\neu-node01.masternet.beam.mw:8100\neu-node02.masternet.beam.mw:8100\neu-node03.masternet.beam.mw:8100\neu-node04.masternet.beam.mw:8100\n\nTESTNET peers:\nap-node01.testnet.beam.mw:8100\nap-node02.testnet.beam.mw:8100\nap-node03.testnet.beam.mw:8100\neu-node01.testnet.beam.mw:8100\neu-node02.testnet.beam.mw:8100\neu-node03.testnet.beam.mw:8100\nus-node01.testnet.beam.mw:8100\nus-node02.testnet.beam.mw:8100\nus-node03.testnet.beam.mw:8100\n\nMAINNET peers:\neu-node01.mainnet.beam.mw:8100\neu-node02.mainnet.beam.mw:8100\neu-node03.mainnet.beam.mw:8100\neu-node04.mainnet.beam.mw:8100\nus-node01.mainnet.beam.mw:8100\nus-node02.mainnet.beam.mw:8100\nus-node03.mainnet.beam.mw:8100\nus-node04.mainnet.beam.mw:8100\nap-node01.mainnet.beam.mw:8100\nap-node02.mainnet.beam.mw:8100\nap-node03.mainnet.beam.mw:8100\nap-node04.mainnet.beam.mw:8100\n",[150,84631,84629],{"__ignoreMap":760},[716,84633,84635],{"id":84634},"mining-support","Mining support",[11,84637,84638,84639,84642,84643,385],{},"Beam Node also provides built-in support for ",[58,84640,84641],{},"Stratum API"," allowing to connect multiple external mining clients to a single node, ",[18,84644,84647],{"href":84645,"rel":84646},"https:\u002F\u002Fbeamx.gitbook.io\u002Fbeam-mining",[22],"read more...",[26,84649,9986],{"id":863},[11,84651,84652],{},"With Wallet API you can",[89,84654,84655,84663,84677,84689,84701],{},[54,84656,84657,84658],{},"check current ",[18,84659,84662],{"href":84660,"rel":84661},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#wallet_status",[22],"wallet status and (balance)",[54,84664,84665,84666,4665,84671,84676],{},"get all your ",[18,84667,84670],{"href":84668,"rel":84669},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#get_utxo",[22],"UTXO",[18,84672,84675],{"href":84673,"rel":84674},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_list",[22],"transactions"," list",[54,84678,84679,4665,84684,6024],{},[18,84680,84683],{"href":84681,"rel":84682},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#create_address",[22],"create",[18,84685,84688],{"href":84686,"rel":84687},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#validate_address",[22],"verify",[54,84690,84691,163,84696,84700],{},[18,84692,84695],{"href":84693,"rel":84694},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_send",[22],"send funds",[18,84697,10413],{"href":84698,"rel":84699},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_cancel",[22]," transactions",[54,84702,84703,84704,84709],{},"make a ",[18,84705,84708],{"href":84706,"rel":84707},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_split",[22],"split of UTXO"," - create a specific set of outputs with given set of values",[11,84711,84712],{},"There are two ways to send JSON RPC commands to the API,",[89,84714,84715,84718],{},[54,84716,84717],{},"using TCP socket",[54,84719,84720],{},"via HTTP calls.",[11,84722,84723,84724,84726,84727,81939],{},"With TCP you can hold only one connection, send JSON commands separated with ",[150,84725,11577],{}," symbol and receive callbacks from the API, in the one hand it's more flexible but a bit difficult to implement in the other hand.\nWith HTTP you can do POST requests using ",[150,84728,84729],{},"curl",[11,84731,84732],{},"So, to start API with HTTP support use the command:",[11,84734,84735,84738,84740,84741,84744],{},[150,84736,84737],{},".\u002Fwallet-api --node_addr=x.x.x.x:port --use_http=1",[957,84739],{},"\nwhere ",[150,84742,84743],{},"node_addr"," is your node address and port.",[11,84746,84747,84748,385],{},"See detailed ",[18,84749,84751],{"href":78302,"rel":84750},[22],"wallet API documentation",[26,84753,84755],{"id":84754},"node-explorer-api","Node Explorer API",[11,84757,84758],{},"With this API you can get information about current blockchain state and blocks using simple GET requests.",[11,84760,84761],{},"To run explorer use the command:",[11,84763,84764],{},[150,84765,6380],{},[5819,84767,84768],{},[11,84769,84620],{},[11,84771,84747,84772],{},[18,84773,84776],{"href":84774,"rel":84775},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Node-Explorer-API",[22],"explorer API documentation",{"title":760,"searchDepth":761,"depth":761,"links":84778},[84779,84780,84781,84782,84785,84786],{"id":15966,"depth":761,"text":15967},{"id":84418,"depth":761,"text":84419},{"id":84517,"depth":761,"text":84518},{"id":84603,"depth":761,"text":84604,"children":84783},[84784],{"id":84634,"depth":772,"text":84635},{"id":863,"depth":761,"text":9986},{"id":84754,"depth":761,"text":84755},{},"\u002Fdocs\u002Fcore-tech\u002Fexchange-pool-integration-guide",{"title":84408,"description":760},"docs\u002Fcore-tech\u002FExchange-Pool-integration-guide","ztH-HCrnuk5k2rAFpzZysOfBcGUiV-o78Ah7LpGuSGw",{"id":84793,"title":84794,"body":84795,"description":760,"extension":775,"image":776,"meta":85086,"navTitle":776,"navigation":778,"path":85087,"seo":85088,"stem":85089,"__hash__":85090},"docs\u002Fdocs\u002Fcore-tech\u002FFolder-and-file-locations.md","Desktop Wallet app",{"type":8,"value":84796,"toc":85079},[84797,84800,84804,84822,84825,84895,84898,84944,84947,84995,84999,85003],[43,84798,84794],{"id":84799},"desktop-wallet-app",[26,84801,84803],{"id":84802},"general-points-to-mention","General points to mention:",[89,84805,84806,84809,84819],{},[54,84807,84808],{},"The default location of the Desktop Wallet app can be modified during the installation process (Windows only).",[54,84810,84811,84812,6193,84815,84818],{},"The default Database location for the Desktop Wallet app can be changed setting the ",[150,84813,84814],{},"appdata",[150,84816,84817],{},"beam-wallet.cfg"," (Windows only).",[54,84820,84821],{},"Memory dump files are generated on Windows only. A dedicated memory dump file is created per each crash case.",[26,84823,84486],{"id":84824},"windows",[84826,84827,84828,84841],"table",{},[84829,84830,84831],"thead",{},[84832,84833,84834,84838],"tr",{},[84835,84836,84837],"th",{},"File",[84835,84839,84840],{},"Location",[84842,84843,84844,84855,84865,84875,84885],"tbody",{},[84832,84845,84846,84850],{},[84847,84848,84849],"td",{},"Main Executable",[84847,84851,84852],{},[150,84853,84854],{},"\\Program Files\\Beam\\Beam Wallet.exe",[84832,84856,84857,84860],{},[84847,84858,84859],{},"Configuration",[84847,84861,84862],{},[150,84863,84864],{},"\\Program Files\\Beam\\beam-wallet.cfg",[84832,84866,84867,84870],{},[84847,84868,84869],{},"Logs",[84847,84871,84872],{},[150,84873,84874],{},"\\Users\\\\{your User name}\\AppData\\Local\\Beam Wallet\\logs",[84832,84876,84877,84880],{},[84847,84878,84879],{},"Database",[84847,84881,84882],{},[150,84883,84884],{},"\\Users\\{your User name}\\AppData\\Local\\Beam Wallet\\wallet.db (node.db)",[84832,84886,84887,84890],{},[84847,84888,84889],{},"Dumps",[84847,84891,84892],{},[150,84893,84894],{},"\\Users\\{your User name}\\AppData\\Local\\Beam Wallet\\Beam Wallet.exe0.dmp",[26,84896,84492],{"id":84897},"mac",[84826,84899,84900,84908],{},[84829,84901,84902],{},[84832,84903,84904,84906],{},[84835,84905,84837],{},[84835,84907,84840],{},[84842,84909,84910,84919,84926,84935],{},[84832,84911,84912,84914],{},[84847,84913,84849],{},[84847,84915,84916],{},[150,84917,84918],{},"\u002FApplications\u002FBeam Wallet.app",[84832,84920,84921,84923],{},[84847,84922,84859],{},[84847,84924,84925],{},"N\u002FA",[84832,84927,84928,84930],{},[84847,84929,84869],{},[84847,84931,84932],{},[150,84933,84934],{},"\u002FUsers\u002F{your User name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002Flogs",[84832,84936,84937,84939],{},[84847,84938,84879],{},[84847,84940,84941],{},[150,84942,84943],{},"\u002FUsers\u002F{your User name}\u002FLibrary\u002FApplication Support\u002FBeam Wallet\u002Fwallet.db (node.db)",[26,84945,84489],{"id":84946},"linux",[84826,84948,84949,84957],{},[84829,84950,84951],{},[84832,84952,84953,84955],{},[84835,84954,84837],{},[84835,84956,84840],{},[84842,84958,84959,84968,84977,84986],{},[84832,84960,84961,84963],{},[84847,84962,84849],{},[84847,84964,84965],{},[150,84966,84967],{},"\u002Fusr\u002Fbin\u002FBeamWallet",[84832,84969,84970,84972],{},[84847,84971,84859],{},[84847,84973,84974],{},[150,84975,84976],{},"\u002Fusr\u002Fbin\u002Fbeam-wallet.cfg",[84832,84978,84979,84981],{},[84847,84980,84869],{},[84847,84982,84983],{},[150,84984,84985],{},"\u002Fhome\u002F{your User name}\u002F.local\u002Fshare\u002FBeam Wallet\u002Flogs",[84832,84987,84988,84990],{},[84847,84989,84879],{},[84847,84991,84992],{},[150,84993,84994],{},"\u002Fhome\u002F{your User name}\u002F.local\u002Fshare\u002FBeam Wallet\u002Fwallet.db (node.db)",[43,84996,84998],{"id":84997},"node-or-cli-wallet","Node or CLI wallet",[26,85000,85002],{"id":85001},"all-platforms-small-differences-apply-see-below","All Platforms (small differences apply, see below)",[84826,85004,85005,85013],{},[84829,85006,85007],{},[84832,85008,85009,85011],{},[84835,85010,84837],{},[84835,85012,84840],{},[84842,85014,85015,85026,85037,85049,85059,85069],{},[84832,85016,85017,85020],{},[84847,85018,85019],{},"Main Executable folder",[84847,85021,85022,85023],{},"User can unpack the archive in any folder to his convenience, ",[58,85024,85025],{},"all the files\u002Ffolders mentioned below are located within this folder",[84832,85027,85028,85031],{},[84847,85029,85030],{},"Main Executable file",[84847,85032,85033,5335,85035],{},[150,85034,84507],{},[150,85036,84512],{},[84832,85038,85039,85042],{},[84847,85040,85041],{},"Configuration file",[84847,85043,85044,5335,85047],{},[150,85045,85046],{},"beam-node.cfg",[150,85048,84817],{},[84832,85050,85051,85054],{},[84847,85052,85053],{},"Logs folder",[84847,85055,85056],{},[150,85057,85058],{},"logs",[84832,85060,85061,85063],{},[84847,85062,84879],{},[84847,85064,85065,5335,85067],{},[150,85066,5831],{},[150,85068,5828],{},[84832,85070,85071,85074],{},[84847,85072,85073],{},"Dumps (on Windows only)",[84847,85075,85076],{},[150,85077,85078],{},"beam-node.exe0.dmp",{"title":760,"searchDepth":761,"depth":761,"links":85080},[85081,85082,85083,85084,85085],{"id":84802,"depth":761,"text":84803},{"id":84824,"depth":761,"text":84486},{"id":84897,"depth":761,"text":84492},{"id":84946,"depth":761,"text":84489},{"id":85001,"depth":761,"text":85002},{},"\u002Fdocs\u002Fcore-tech\u002Ffolder-and-file-locations",{"title":84794,"description":760},"docs\u002Fcore-tech\u002FFolder-and-file-locations","WfcH_lOymveAoA56oD8WT8AlNNdXV4tVYYff71byz4U",{"id":85092,"title":85093,"body":85094,"description":760,"extension":775,"image":776,"meta":85675,"navTitle":776,"navigation":778,"path":85676,"seo":85677,"stem":85678,"__hash__":85679},"docs\u002Fdocs\u002Fcore-tech\u002FHW-wallet-design.md","HW Wallet Design",{"type":8,"value":85095,"toc":85662},[85096,85100,85103,85106,85117,85121,85157,85165,85177,85186,85189,85193,85293,85311,85323,85337,85341,85344,85347,85371,85374,85382,85385,85389,85392,85411,85414,85418,85424,85438,85447,85451,85454,85468,85475,85478,85489,85492,85496,85502,85510,85514,85520,85528,85531,85539,85547,85553,85571,85575,85581,85588,85591,85597,85607,85611,85617,85623,85626,85633,85641,85652],[716,85097,85099],{"id":85098},"beam-vs-other-blockchains","Beam vs other blockchains",[11,85101,85102],{},"Beam HW wallet supports the functionality similar to other blockchain protocols, such as keeping all the secret keys within the device, and signing transactions authorized by the users.",[11,85104,85105],{},"Since Beam is based in MW, the design of such a wallet is more complex, because of the following:",[89,85107,85108,85111,85114],{},[54,85109,85110],{},"Transactions are built interactively",[54,85112,85113],{},"No addresses",[54,85115,85116],{},"No transactions in the common sense. Transaction elements can be added and removed",[26,85118,85120],{"id":85119},"assumptions","Assumptions",[51,85122,85123,85126,85129,85132],{},[54,85124,85125],{},"The HW wallet is a minimalistic stateless device. It should not handle blockchain events (blocks, headers, reorgs), handle BBS traffic, fully negotiate transactions, and etc.",[54,85127,85128],{},"The host may be compromised, yet no spend should be possible without user's permission.",[54,85130,85131],{},"Once the user activates the HW wallet (enters the pin-code), the host can view all the user information (balance, UTXOs), but not spend funds.",[54,85133,85134,85135,85152],{},"Every spend (transaction that assumes user spends funds) needs a user authorization. The user sees the following:\n",[51,85136,85137,85140,85143,85146,85149],{},[54,85138,85139],{},"The amount being-sent",[54,85141,85142],{},"Asset type (beam or CA).",[54,85144,85145],{},"Recipient identifier.",[54,85147,85148],{},"Transaction kernel ID.",[54,85150,85151],{},"Height range (min\u002Fmax height) during which the transaction is valid.",[89,85153,85154],{},[54,85155,85156],{},"All this information is cryptographically verified, and there should be no feasible way for the host to tamper with it.",[11,85158,85159,85161,85162,85164],{},[94,85160,158],{}," Because in MW transactions are essentially (sort of) Schnorr's multisignatures, the (1) is actually tricky to implement. To create a Schnorr's signature the signer generates a ",[58,85163,10229],{},", which must be retained for the duration of the multi-signature ritual.",[11,85166,85167,85168,85170,85171,85173,85174,85176],{},"We solve this by assuming the device has a limited non-volatile memory that can be used to store ",[58,85169,10229],{}," preimage (source material). We make sure that neither the ",[58,85172,10229],{}," nor the appropriate secret key can be extracted by malicious host (such as attempt to use the same ",[58,85175,10229],{}," to sign different things).",[11,85178,85179,85180,84483,85183,85185],{},"The HW wallet device should have several 256-bit ",[58,85181,85182],{},"slots",[58,85184,10229],{}," preimages. The more slots it has - the more ongoing transactions the HW wallet may handle at the same time.",[11,85187,85188],{},"(There is also an option of using VRFs, but it's too complex for HW wallets.)",[26,85190,85192],{"id":85191},"terminology","Terminology",[89,85194,85195,85242,85248,85259,85265,85272],{},[54,85196,85197,85200,85201,85231],{},[150,85198,85199],{},"CoinID"," - full UTXO identifier. Consists of the following:\n",[51,85202,85203,85213,85219,85225],{},[54,85204,85205,85208,85209,85212],{},[150,85206,85207],{},"SubIdx"," 32-bit ",[58,85210,85211],{},"child"," key identifier",[54,85214,85215,85218],{},[150,85216,85217],{},"Idx"," 64-bit coin number",[54,85220,85221,85224],{},[150,85222,85223],{},"Value"," (64 bits)",[54,85226,85227,85230],{},[150,85228,85229],{},"AssetID"," (32-bit number)",[89,85232,85233],{},[54,85234,3309,85235,85237,85238,85241],{},[150,85236,85199],{}," the HW wallet generates a unique ",[58,85239,85240],{},"blinding factor"," using the master secret.",[54,85243,85244,85247],{},[150,85245,85246],{},"OwnerKey"," - derived from the master secret, used to recognize the owned UTXOs.",[54,85249,85250,85253,85254,85256,85257,385],{},[150,85251,85252],{},"P-Kdf"," - public key generator, which for a ",[150,85255,85199],{}," generates an appropriate public key (EC point) that corresponds to its ",[58,85258,85240],{},[54,85260,85261,85264],{},[150,85262,85263],{},"IdentityNumber"," 32-bit number",[54,85266,85267,85269,85270,385],{},[150,85268,2757],{}," - public key that corresponds to the unique private key generated for specific ",[150,85271,85263],{},[54,85273,85274,85277,85278],{},[150,85275,85276],{},"PaymentProof"," - Schnorr's signature, signed by the receiver, that it receives funds as a result of the transaction. The signature signs the following parameters:\n",[89,85279,85280,85283,85286,85288],{},[54,85281,85282],{},"Value received",[54,85284,85285],{},"Asset type",[54,85287,83279],{},[54,85289,85290,85291],{},"Sender ",[150,85292,2757],{},[11,85294,85295,85297,85298,85300,85301,85304,85305,85307,85308,85310],{},[94,85296,158],{}," the actual key generation is according to HKDF (rfc-5869). The generated ",[58,85299,85240],{}," depends in a non-transparent way on ",[94,85302,85303],{},"all"," the fields of ",[150,85306,85199],{},", thus there's no feasible way to tamper with them and adjust the resulting ",[58,85309,85240],{}," accordingly.",[11,85312,85313,85314,510,85317,85319,85320,85322],{},"In addition to HKDF, each computed key is multiplied by a fixed secret scalar, so-called ",[58,85315,85316],{},"co-factor",[150,85318,85252],{}," contains the same seed HKDF data, but the ",[58,85321,85316],{}," is replaced by its image (EC point).",[11,85324,85325,85328,85329,85332,85333,85336],{},[94,85326,85327],{},"Note (2):"," To denote the UTXO Beam actually uses so-called ",[58,85330,85331],{},"switch"," commitments, which are compressed el-Gamal commitments. So that in practice the obtained ",[58,85334,85335],{},"blidning factor"," gets an addition, which depends on the committed value and asset type. The host can calculate this addition alone (without the HW wallet).",[43,85338,85340],{"id":85339},"functionality-high-level","Functionality high-level",[11,85342,85343],{},"All the HW wallet functionality comes down to the following methods.",[11,85345,85346],{},"The following is returned without user permission",[89,85348,85349,85352,85356,85363,85368],{},[54,85350,85351],{},"Number of slots available",[54,85353,85354],{},[150,85355,85246],{},[54,85357,85358,85360,85361,53301],{},[150,85359,85252],{}," for arbitrary ",[58,85362,85211],{},[54,85364,85365,85366],{},"Rangeproof for arbitrary ",[150,85367,85199],{},[54,85369,85370],{},"signature for receive transaction kernel (i.e. transaction in which no funds are lost).",[11,85372,85373],{},"The following needs user permission",[89,85375,85376,85379],{},[54,85377,85378],{},"signature for send transaction kernel",[54,85380,85381],{},"signature for split transaction kernel (i.e. only transaction fee is lost)",[11,85383,85384],{},"During the HW wallet initialization it generates a seed using the true random generator (available on most HW wallets), which is used to set initial values in all the slots.",[43,85386,85388],{"id":85387},"why-this-design-is-secure","Why this design is secure?",[11,85390,85391],{},"MW transaction consists of 3 things: inputs, outputs, and transaction kernels.",[89,85393,85394,85408],{},[54,85395,85396,85397,85399,85400,2679,85402,85404,85405,85407],{},"Input is denoted by its Pedersen (switch) commitment. The host can create it for any ",[150,85398,85199],{},", since only ",[58,85401,85240],{},[145,85403,2709],{}," is needed, and ",[150,85406,85252],{}," is exported freely.",[54,85409,85410],{},"Output consists of Pedersen (switch) commitment and the rangeproof. The commitment is calculated by the host (as for inputs), and the rangeproof is calculated by the HW wallet without any restriction.",[11,85412,85413],{},"So, both inputs and outputs can be created by the host without any restrictions. But to build a valid (balanced) MW transaction the corresponding transaction kernel is required, and this is where HW wallet restrictions come into play. As we mentioned, HW wallet requests user permission along with the verifiable recipient ID for any spend transaction.",[26,85415,85417],{"id":85416},"how-do-we-verify-the-transaction-is-indeed-spendingreceiving-or-splitting","How do we verify the transaction is indeed spending\u002Freceiving, or splitting?",[11,85419,85420,85421,85423],{},"For all transactions the host specifies the input\u002Foutput ",[150,85422,85199],{},"s that belong to the user before\u002Fafter the transaction. Based on them the HW wallet deduces:",[51,85425,85426,85429],{},[54,85427,85428],{},"Overall value and asset which is obtained\u002Flost in a transaction",[54,85430,85431,85432,85434,85435,4316],{},"excess ",[58,85433,85240],{}," (diff of input\u002Foutput ",[58,85436,85437],{},"blinding factors",[11,85439,85440,85441,85443,85444,85446],{},"The transaction type is verified according to (1), whereas the signed kernel balances the transaction according to (2). As we mentioned, by ",[58,85442,85240],{}," depends on the ",[150,85445,85199],{}," in an opaque way, hence there's no feasible way to substitute different inputs\u002Foutputs in the transaction after it was signed.",[43,85448,85450],{"id":85449},"transaction-signing","Transaction signing",[11,85452,85453],{},"For all the mentioned transaction types the host supplies the following:",[89,85455,85456,85462,85465],{},[54,85457,85458,85459,85461],{},"List of input\u002Foutput ",[150,85460,85199],{},"s.",[54,85463,85464],{},"Kernel lock height (min\u002Fmax height)",[54,85466,85467],{},"Kernel fee",[11,85469,85470,85471,85474],{},"Upon signing, as usual, the excess _blinding factor of the transaction is split into 2 parts in a pseudo-random way: one goes to the kernel commitment, the other goes to the ",[58,85472,85473],{},"offset"," (plain scalar). This is done for all the MW transactions for a better obfuscation.",[11,85476,85477],{},"Send and Receive are mutual transactions, that follow the following ritual:",[51,85479,85480,85483,85486],{},[54,85481,85482],{},"Sender creates its part of the kernel commitment, and sends it to the receiver",[54,85484,85485],{},"Receiver adds its part of the commitment, signs it, and sends it back to the sender.",[54,85487,85488],{},"Sender finishes its part.",[11,85490,85491],{},"Split transaction (where the user sends funds to itself) is signed in a single invocation.",[716,85493,85495],{"id":85494},"split-transaction","Split transaction",[11,85497,85498,85499,85501],{},"This is the simplest case, as there's no additional transaction party. The HW wallet analyzes the input\u002Foutput ",[150,85500,85199],{},"s to make sure no funds \"disappear\". Means the user only spends the transaction fee.",[11,85503,85504,85505,85507,85508,385],{},"If everything matches and the user authorizes it - the HW wallet generates the kernel ",[58,85506,85240],{}," in a deterministic way, and then generates the kernel commitment + signature, and the appropriate ",[58,85509,85473],{},[716,85511,85513],{"id":85512},"receive-transaction","Receive transaction",[11,85515,85516,85517,85519],{},"As usual the HW wallet analyzes the input\u002Foutput ",[150,85518,85199],{},"s to make sure it receives funds.",[11,85521,85522,85524,85525,85527],{},[94,85523,158],{}," currently it's allowed to receive only one asset type at a time, i.e. exchanging different assets in the same transaction is currently not allowed (as right now we don't have appropriate ",[150,85526,85276],{}," for this).",[11,85529,85530],{},"According to the ritual, by the time of invocation the sender has already produced its part. This includes the following:",[89,85532,85533,85536],{},[54,85534,85535],{},"Kernel commitment",[54,85537,85538],{},"Kernel signature \"public nonce\"",[11,85540,85541,85542,85544,85545,385],{},"If everything matches - the HW wallet generates its part of the kernel ",[58,85543,85240],{}," in a deterministic way, and then generates its part of the kernel commitment and signature, and the appropriate ",[58,85546,85473],{},[11,85548,85549,85550,85552],{},"In addition to this, the HW wallet also signs the ",[150,85551,85276],{},". The Kernel ID, value and asset type are deduced automatically. The following additional parameters are specified by the host for the signature:",[89,85554,85555,85559],{},[54,85556,85290,85557],{},[150,85558,2757],{},[54,85560,85561,85562,85564,85565,85567,85568,85570],{},"Self ",[150,85563,85263],{},", which corresponds to the ",[150,85566,2757],{}," expected by the sender. The HW wallet generates the appropriate private key, and signs the ",[150,85569,85276],{}," by it.",[716,85572,85574],{"id":85573},"send-transaction","Send transaction",[11,85576,85577,85578,85580],{},"This is the most complex case. To sign the send transaction the HW wallet should be invoked twice (as can be seen according to the ritual). It also needs a ",[58,85579,10229],{}," that should retain valid for the duration of the transaction.",[11,85582,85583,85584,85587],{},"When the HW wallet is invoked to sign the send transaction, the host, among other things, specifies the nonce ",[58,85585,85586],{},"slot"," which should be used to this transaction (the slot management, i.e. which ongoing transaction uses which slot - up to the host).",[11,85589,85590],{},"On the first invocation the HW wallet generates the kernel parameters (commitment and public nonce) based on the visible parameters and this nonce.",[11,85592,85593,85594,85596],{},"On the second invocation it verifies receiver part, verifies the ",[150,85595,85276],{}," signed by the receiver, and asks for user permission to transfer the funds to this receiver. If everything is ok - the kernel is signed.",[11,85598,85599,85601,85602,85604,85605,385],{},[94,85600,158],{}," just before signing, the HW wallet re-generates the value of the ",[58,85603,85586],{}," used in this transaction (re-generates its value in a deterministic way). This is to prevent malicious host make HW wallet sign different transactions using the same ",[58,85606,10229],{},[26,85608,85610],{"id":85609},"note-regarding-rangeproof-generation","Note regarding rangeproof generation",[11,85612,85613,85614,85616],{},"Beam uses bulletproof as a rangeproof, which is computationally heavy for a device with limited capabilities. To improve the performance the host and HW wallet perform a multi-party computation. The HW wallet participates only where the ",[58,85615,85240],{}," is necessary.",[11,85618,85619,85620,85622],{},"However, apart from being valid, the generated bulletproof must also be detectable by the user ",[150,85621,85246],{},". This is obviously unacceptable if a malicious host can generate an output which would be \"invisible\" to the user after the transaction.",[11,85624,85625],{},"Because of this there's a considerable amount of computation that HW wallet needs to do. In particular it needs to calculate a multi-exponentiation of 129 generators. Yet it's only a fairly small fraction of the overall computation.",[26,85627,85629,85630,85632],{"id":85628},"note-regarding-paymentproof-and-bbs-addresses","Note regarding ",[150,85631,85276],{}," and BBS addresses",[11,85634,85635,85636,85638,85639,85570],{},"Normally wallets negotiate over BBS system, each has a BBS address key, by which it tries to decrypt all the BBS traffic and chase the messages intended to it. Then during the transaction the BBS public address is also treated as the peer ",[150,85637,2757],{},", i.e. the sender expects the receiver to sign the ",[150,85640,85276],{},[11,85642,85643,85644,85646,85647,85649,85650,385],{},"However for the HW wallet it's not feasible to decode all the BBS traffic. Hence we decided to separate the BBS and the ",[150,85645,2757],{},". Now in order to send\u002Freceive funds the users exchange ",[58,85648,2738],{}," (over secure channel), which optionally include both the BBS address and the ",[150,85651,2757],{},[11,85653,85654,85655,85657,85658,85661],{},"Conceptually the BBS address belongs to the entity you are directly talking to, whereas the ",[150,85656,2757],{}," belongs to the ",[145,85659,85660],{},"final"," sender\u002Frecipient of the funds. In other words, the software wallet is a proxy, which may be compromised, whereas still there is a confirmation that the final recipient gets all the funds.",{"title":760,"searchDepth":761,"depth":761,"links":85663},[85664,85665,85666,85667,85672,85673],{"id":85098,"depth":772,"text":85099},{"id":85119,"depth":761,"text":85120},{"id":85191,"depth":761,"text":85192},{"id":85416,"depth":761,"text":85417,"children":85668},[85669,85670,85671],{"id":85494,"depth":772,"text":85495},{"id":85512,"depth":772,"text":85513},{"id":85573,"depth":772,"text":85574},{"id":85609,"depth":761,"text":85610},{"id":85628,"depth":761,"text":85674},"Note regarding PaymentProof and BBS addresses",{},"\u002Fdocs\u002Fcore-tech\u002Fhw-wallet-design",{"description":760},"docs\u002Fcore-tech\u002FHW-wallet-design","BrbYYJdO-gzxXB7jac5xww27lDykO-iq2cxm4sHbNhA",{"id":85681,"title":85682,"body":85683,"description":85690,"extension":775,"image":776,"meta":86244,"navTitle":776,"navigation":778,"path":86245,"seo":86246,"stem":86247,"__hash__":86248},"docs\u002Fdocs\u002Fcore-tech\u002FHW-wallet-requirements----DEPRECATED---.md","-- DEPRECATED --",{"type":8,"value":85684,"toc":86229},[85685,85688,85691,85718,85722,85752,85765,85768,85784,85788,85797,85805,85843,85846,85850,85853,85860,85863,85875,85881,85885,85891,85895,85897,85905,85914,85918,85921,85927,85933,85937,85939,85946,85955,85958,85962,85964,85976,85984,85990,85994,85996,86012,86019,86027,86029,86031,86033,86036,86038,86049,86055,86059,86061,86070,86074,86076,86084,86090,86094,86096,86147,86150,86155,86158,86169,86172],[43,85686,85682],{"id":85687},"deprecated",[11,85689,85690],{},"The HW wallet should support the following functionality",[51,85692,85693,85696,85699,85707,85715],{},[54,85694,85695],{},"Deterministic key generation for key parameters",[54,85697,85698],{},"Export public keys",[54,85700,85701,85702],{},"Participate in signing schemes: Schnorr's signature, Bulletproof.\n",[89,85703,85704],{},[54,85705,85706],{},"The latter in CPU-hungry, but most of the computations can be done without HW",[54,85708,85709,85710],{},"Support multi-signatures\n",[89,85711,85712],{},[54,85713,85714],{},"This includes both: signing with multiple self keys, as well as the keys generated by the others.",[54,85716,85717],{},"Obviously secret keys must not be revealed.",[26,85719,85721],{"id":85720},"nonces-and-randomness","Nonces and randomness",[11,85723,85724,85725,85728,85729,85732,85733,85736,85737,85740,85741,85744,85745,85748,85749,85751],{},"Our signing protocols follow a ritual where the signer generates some ",[58,85726,85727],{},"nonce(s)",", reveals its ",[58,85730,85731],{},"image(s)",", gets a ",[58,85734,85735],{},"challenge(s)",", and then should reveal the appropriate ",[58,85738,85739],{},"preimage",". To guarantee (5) the signer must ",[94,85742,85743],{},"never"," answer to different ",[58,85746,85747],{},"challenges"," for the same ",[58,85750,10229],{},". This is absolutely vital!",[11,85753,85754,85755,85757,85758,85761,85762,385],{},"In a regular signature protocol the ",[58,85756,10229],{}," can always be generated in a deterministic way from the visible transcript and the sercret key, the ",[58,85759,85760],{},"challenge"," is derived from the visible transcript, and the whole signing process is ",[145,85763,85764],{},"atomic",[11,85766,85767],{},"This approach, however, is not compatible with (4). In the case of the multisignature the signing process is not atomic. And ability to create multisignatures is essential in MW.",[11,85769,85770,85771,85773,85774,85776,85777,85780,85781,85783],{},"Hence, in order to sustain the requirements the HW should use another source of (pseudo)randomness. Moreover, the random ",[58,85772,10229],{}," generated for the signing process should be kept inside the HW for indefinite time, because signing may take considerable time, during which HW wallet should be able to operate normally. In addition each ",[58,85775,10229],{}," should be ",[94,85778,85779],{},"erased"," once the ",[58,85782,85739],{}," based on it is revealed.",[43,85785,85787],{"id":85786},"proposed-design","Proposed design",[11,85789,85790,85791,85793,85794,85796],{},"HW wallet should support the basic EC cryptography primitives for the parameters specified by the ",[150,85792,83446],{}," standard (the one that is used in bitcoin). Means - 256-bit wide keys, the same EC equation, finite field parameters, same ",[150,85795,96],{},"-generator.",[11,85798,85799,85800,85802,85803,1000],{},"The HW wallet should have non-volatile memory, represented by memory ",[58,85801,85182],{},". There should be the following ",[58,85804,85182],{},[51,85806,85807,85818,85832,85840],{},[54,85808,85809,85810],{},"Master secret.\n",[89,85811,85812,85815],{},[54,85813,85814],{},"No direct access to the caller.",[54,85816,85817],{},"Should be used as a secret for key generation.",[54,85819,85820,85821],{},"Nonce source.\n",[89,85822,85823,85825],{},[54,85824,85814],{},[54,85826,85827,85828,85831],{},"Should be initialized by ",[145,85829,85830],{},"true random"," either during production, or upon initialization of the Master secret.",[54,85833,85834,85835],{},"Generated key.\n",[89,85836,85837],{},[54,85838,85839],{},"Contains the generated key. May be a single key or their sum\u002Fdifference (more about this later).",[54,85841,85842],{},"Generated nonces.",[11,85844,85845],{},"This low-level design may look weird, but it's needed to support all the MW functionality. The following functionality should be supported:",[716,85847,85849],{"id":85848},"nonce-regeneration","Nonce regeneration",[11,85851,85852],{},"Parameters:",[89,85854,85855],{},[54,85856,85857,85859],{},[150,85858,10954],{}," - the target slot index",[11,85861,85862],{},"Result: the target slot should contain a unique nonce, derived from the Nonce source, and the Nonce source itself should be mutated immediately after that.",[89,85864,85865,85870],{},[54,85866,85867],{},[150,85868,85869],{},"n[i] = DeriveNonce(NonceSource)",[54,85871,85872],{},[150,85873,85874],{},"NonceSource = Mutate(NonceSource)",[11,85876,85877,85880],{},[145,85878,85879],{},"Important",": all the nonce slots must be regenerated before (or immediately after) the Master secret is initialized. In simple words, there must be no situation where the HW is operational, yet there's a nonce slot which contains predictable (zero?) value.",[716,85882,85884],{"id":85883},"key-slot-reset-assign-to-zero","Key slot reset (assign to zero)",[11,85886,85887,85888],{},"Result: the target slot should contain zero value: ",[150,85889,85890],{},"k = 0",[716,85892,85894],{"id":85893},"key-generation","Key generation",[11,85896,85852],{},[89,85898,85899],{},[54,85900,85901,85904],{},[150,85902,85903],{},"ID"," - an opaque 256-bit data that identifies the key",[11,85906,85907,85908,85910,85911],{},"Result: the generated key should be ",[145,85909,26937],{}," to the target slot: ",[150,85912,85913],{},"k += KeyGenerate(MasterSecret, ID)",[716,85915,85917],{"id":85916},"key-split","Key split",[11,85919,85920],{},"The key should be split into 2 parts in a deterministic (yet opaque) way.",[11,85922,85923,85924],{},"Return value: ",[150,85925,85926],{},"k2 = Muate(k)",[11,85928,85929,85930],{},"Result: ",[150,85931,85932],{},"k -= k2",[716,85934,85936],{"id":85935},"image-public-key-reveal","Image (public key) reveal",[11,85938,85852],{},[89,85940,85941],{},[54,85942,85943,85945],{},[150,85944,10954],{}," - the slot index.",[11,85947,85948,85949,85951,85952],{},"Return value: EC point (in whatever representation) equals to the ",[150,85950,96],{},"-generator multiplied by the value of this slot: ",[150,85953,85954],{},"G * n[i]",[11,85956,85957],{},"Applicable for key and nonce slots",[716,85959,85961],{"id":85960},"sig1-schnorr","Sig1 (Schnorr)",[11,85963,85852],{},[89,85965,85966,85971],{},[54,85967,85968,85970],{},[150,85969,10954],{}," - the slot index",[54,85972,85973,85975],{},[150,85974,83679],{}," - challenge",[11,85977,85978,85979,1015,85981],{},"Return value: blinded ",[58,85980,85739],{},[150,85982,85983],{},"kb = n[i] + e*k",[11,85985,85986,85987],{},"Result: used nonce is immediately regenerated: ",[150,85988,85989],{},"Regenerate(i)",[716,85991,85993],{"id":85992},"sig2-bulletproof","Sig2 (Bulletproof)",[11,85995,85852],{},[89,85997,85998,86004],{},[54,85999,86000,86003],{},[150,86001,86002],{},"i1, i2"," - 2 slot indexes",[54,86005,86006,441,86008,86011],{},[150,86007,83679],{},[150,86009,86010],{},"e2"," - 2 challenges",[11,86013,85978,86014,1015,86016],{},[58,86015,85739],{},[150,86017,86018],{},"kb = n[i1] + e2*n[i2] + e*k",[11,86020,85986,86021,441,86024],{},[150,86022,86023],{},"Regenerate(i1)",[150,86025,86026],{},"Regenerate(i2)",[2779,86028],{},[2779,86030],{},[43,86032,935],{"id":6387},[716,86034,85894],{"id":86035},"key-generation-1",[11,86037,10908],{},[89,86039,86040,86046],{},[54,86041,86042,86045],{},[150,86043,86044],{},"KIDV"," for the needed key\nOtputs:",[54,86047,86048],{},"The public key (ECC point)",[11,86050,86051,86052,86054],{},"Generate the key, and export its image (i.e. multiplies by ",[150,86053,96],{},"-generator)",[716,86056,86058],{"id":86057},"bulletproof-generation","Bulletproof generation",[11,86060,10908],{},[89,86062,86063,86067],{},[54,86064,86065,86045],{},[150,86066,86044],{},[54,86068,86069],{},"The Bulletproof",[716,86071,86073],{"id":86072},"nonce-generation","Nonce generation",[11,86075,10908],{},[89,86077,86078,86081],{},[54,86079,86080],{},"Slot number\nOtputs:",[54,86082,86083],{},"The nonce image (ECC point)",[11,86085,86086,86087,86089],{},"Generate the random nonce (ECC scalar), and export its image (i.e. multiplies by ",[150,86088,96],{},"-generator).",[716,86091,86093],{"id":86092},"transaction-signature","Transaction signature",[11,86095,10908],{},[89,86097,86098,86104,86109,86112,86115],{},[54,86099,86100,86101,86103],{},"List of ",[150,86102,86044],{},"s of input UTXOs",[54,86105,86100,86106,86108],{},[150,86107,86044],{},"s of output UTXOs",[54,86110,86111],{},"Randomly generated offset (ECC scalar)",[54,86113,86114],{},"Number of the nonce slot",[54,86116,86117,86118,86120,86121],{},"Challenge ",[150,86119,83679],{}," (ECC scalar) \u002F\u002F after discussion, it seems that it should be calculated on device, so we need kernel parameters\n",[89,86122,86123,86126,86129,86132,86135,86138,86141,86144],{},[54,86124,86125],{},"Fee",[54,86127,86128],{},"Commitment \u002F\u002F total public excess",[54,86130,86131],{},"minimal height",[54,86133,86134],{},"maximum height",[54,86136,86137],{},"Amount(m_AssetEmission)",[54,86139,86140],{},"m_pHashLock;",[54,86142,86143],{},"Public nonce of 2nd party (for multisig)",[54,86145,86146],{},"Public excess of 2nd party (for multisig)",[11,86148,86149],{},"Outputs:",[89,86151,86152],{},[54,86153,86154],{},"Signature (ECC scalar)",[11,86156,86157],{},"The HW wallet should do the following:",[51,86159,86160,86163,86166],{},[54,86161,86162],{},"Request user's permission for the transaction.",[54,86164,86165],{},"Calculate the result.",[54,86167,86168],{},"Immediately overwrite the nonce slot with another randomly-generated value.",[11,86170,86171],{},"The result is calculated by the following algorithm:",[51,86173,86174,86190,86196,86202,86205,86211,86217,86224],{},[54,86175,86176,86177,86179,86180,86182,86185,86187,86189],{},"Generate all the keys (i.e. blinding factors), and calculate ",[150,86178,83640],{}," as sum of inputs minus outputs.",[957,86181],{},[150,86183,86184],{},"sk = Sum(input blinding factors) - Sum(output blinding factors) - offset",[957,86186],{},[150,86188,85473],{}," is generated randomly on caller side",[54,86191,86192,86193],{},"Calculate multi signature public nonce: ",[150,86194,86195],{},"PublicNonce = Nonce*G + PeerPublicNonce",[54,86197,86198,86199],{},"Calculate total blinding excess: ",[150,86200,86201],{},"TotalExcess = sk * G + PeerPublicExcess",[54,86203,86204],{},"Calculate Message for sign: hash kernel parameters see: TxKernel::get_Hash",[54,86206,86207,86208],{},"Calculate challenge by: ",[150,86209,86210],{},"e = H(PublicNonce|Message)",[54,86212,86213,86214],{},"Calculate the signature by: ",[150,86215,86216],{},"Signature = sk * e + Nonce",[54,86218,86219,86220,86223],{},"Re-generate ",[150,86221,86222],{},"Nonce"," (overwrite the contents of the slot)",[54,86225,86226,86227],{},"Reveal ",[150,86228,2753],{},{"title":760,"searchDepth":761,"depth":761,"links":86230},[86231],{"id":85720,"depth":761,"text":85721,"children":86232},[86233,86234,86235,86236,86237,86238,86239,86240,86241,86242,86243],{"id":85848,"depth":772,"text":85849},{"id":85883,"depth":772,"text":85884},{"id":85893,"depth":772,"text":85894},{"id":85916,"depth":772,"text":85917},{"id":85935,"depth":772,"text":85936},{"id":85960,"depth":772,"text":85961},{"id":85992,"depth":772,"text":85993},{"id":86035,"depth":772,"text":85894},{"id":86057,"depth":772,"text":86058},{"id":86072,"depth":772,"text":86073},{"id":86092,"depth":772,"text":86093},{},"\u002Fdocs\u002Fcore-tech\u002Fhw-wallet-requirements-deprecated",{"title":85682,"description":85690},"docs\u002Fcore-tech\u002FHW-wallet-requirements----DEPRECATED---","zX2Vd4vfws9rhgr74_Fp4_LxYaDkz5E1sMYDjrsNtXo",{"id":86250,"title":86251,"body":86252,"description":760,"extension":775,"image":776,"meta":86340,"navTitle":776,"navigation":778,"path":86341,"seo":86342,"stem":86343,"__hash__":86344},"docs\u002Fdocs\u002Fcore-tech\u002FHi-Frequency-transactions.md","Hi Frequency Transactions",{"type":8,"value":86253,"toc":86336},[86254,86258,86269,86276,86280,86287,86297,86300,86317,86320,86331,86333],[26,86255,86257],{"id":86256},"standard-transaction-handling","Standard transaction handling",[11,86259,86260,86261,86264,86265,86268],{},"Standard Beam transactions are considered independent. After they are broadcast to the network (in the ",[58,86262,86263],{},"fluff"," phase) they are kept in a ",[58,86266,86267],{},"Transaction pool"," in each node, until they either expire or included in a block. Miners select the transactions according to their Fee\u002FSize ratio, to maximize the reward.",[11,86270,86271,86272,86275],{},"The transaction lifespan (e.i. ",[58,86273,86274],{},"height range",") is controlled by its creator, but usually order of several hours. Once the transaction is broadcast, the wallet monitors the new blocks, until either it notices the transaction is included in a block (succeeded), or expires (failed).",[26,86277,86279],{"id":86278},"defi","DeFi",[11,86281,86282,86283,86286],{},"While the above scheme is OK for normal transactions, smart contracts demand a different design, because transactions are potentially ",[145,86284,86285],{},"dependent",", their order and block height may have consequences for users, or even render some of them invalid.",[11,86288,86289,86290,86292,86293,86296],{},"So we designed a concept of ",[58,86291,86285],{}," transactions. Those that insist to be included in a specified block and at the specified position, or not included at all.\nIn contrast to normal transactions, that are stored in a ",[58,86294,86295],{},"flat"," transaction pool, dependent transactions are stored in a special tree. Then in order to assemble a block, the miner picks the branch with maximum total fees, and includes all the appropriate transactions in this exact order.",[11,86298,86299],{},"When working in the HFT mode, the wallet not only gets notifications about new blocks, but also about the changes in the dependent transactions tree. Then, in order to build a transaction, it does the following:",[89,86301,86302,86305,86308,86311,86314],{},[54,86303,86304],{},"Gets the information about the current transaction branch with the maximum total fee (the one that is most likely to be selected by the miner)",[54,86306,86307],{},"Specifies this branch ID when querying the appropriate contract information. By such it can foresee the effects of all the preceding transactions in the branch, and build a new transactions accordingly.",[54,86309,86310],{},"When ready, broadcast this transaction to the node, with the branch ID that defines uniquely the position where this transaction should be included.",[54,86312,86313],{},"Even before the new block is mined, the wallet gets notification about the transaction tree updates. If for some reason the current transaction is unlikely to be mined (another competing branch has more total fee) - the wallet may rebuild and resend transaction according to the new context.",[54,86315,86316],{},"Optionally this may be repeated continuously, until the transaction is mined.",[11,86318,86319],{},"By such we achieve the following goals:",[51,86321,86322,86325,86328],{},[54,86323,86324],{},"Strict transaction inclusion rule. Protect the user from unexpected side effects (a.k.a. front running attack).",[54,86326,86327],{},"Give users prompt pseudo-confirmation for their transactions.",[54,86329,86330],{},"Give opportunity for several users to see effects of other's transactions, hence include otherwise conflicting transactions in the same block.",[43,86332,3756],{"id":3755},[11,86334,86335],{},"(in progress)",{"title":760,"searchDepth":761,"depth":761,"links":86337},[86338,86339],{"id":86256,"depth":761,"text":86257},{"id":86278,"depth":761,"text":86279},{},"\u002Fdocs\u002Fcore-tech\u002Fhi-frequency-transactions",{"description":760},"docs\u002Fcore-tech\u002FHi-Frequency-transactions","HeRPnieEjz_nHMLnOk4wt88olG7p2ouzB6Ef8WYPFOI",{"id":86346,"title":86347,"body":86348,"description":86352,"extension":775,"image":776,"meta":86957,"navTitle":776,"navigation":778,"path":86958,"seo":86959,"stem":86960,"__hash__":86961},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-build.md","How To Build",{"type":8,"value":86349,"toc":86945},[86350,86353,86360,86367,86371,86411,86415,86435,86439,86462,86466,86472,86474,86537,86539,86544,86564,86570,86575,86583,86589,86599,86605,86609,86612,86641,86645,86648,86672,86676,86679,86697,86701,86704,86721,86725,86728,86762,86766,86769,86793,86797,86800,86817,86821,86824,86841,86843],[11,86351,86352],{},"Starting from version 5.0 we separated core beam library project and its UI.",[11,86354,86355,86356,385],{},"Desktop UI is a separte git repostotry now ",[18,86357,86358],{"href":86358,"rel":86359},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam-ui",[22],[11,86361,86362,86363,385],{},"For earlier versions, build instructions are located ",[18,86364,857],{"href":86365,"rel":86366},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHow-to-build(old)",[22],[43,86368,86370],{"id":86369},"before-build","Before build",[51,86372,86373,86380,86398,86405],{},[54,86374,86375,86376,86379],{},"Ensure that you have ",[150,86377,86378],{},"git"," installed",[54,86381,86382,163,86385,86387,86388,86391,86392,86394,86395],{},[150,86383,86384],{},"beam-ui",[150,86386,3259],{}," project use ",[150,86389,86390],{},"CMake"," to generate build environment. The minimal supported version of ",[150,86393,86390],{}," is ",[94,86396,86397],{},"3.13",[54,86399,86400,86401,86404],{},"Download and install ",[150,86402,86403],{},"boost"," library. The minimal supported version is 1.66",[54,86406,86400,86407,86410],{},[150,86408,86409],{},"OpenSSL"," library",[43,86412,86414],{"id":86413},"common-part","Common part",[51,86416,86417,86426],{},[54,86418,86419,86420],{},"Clone Beam sources before building",[866,86421,86424],{"className":86422,"code":86423,"language":871},[869],"git clone https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[150,86425,86423],{"__ignoreMap":760},[54,86427,86428,86429],{},"Beam has submodules",[866,86430,86433],{"className":86431,"code":86432,"language":871},[869],"cd beam\ngit submodule update --init --recursive\n",[150,86434,86432],{"__ignoreMap":760},[26,86436,86438],{"id":86437},"branch-convention","Branch convention",[51,86440,86441,86447,86456],{},[54,86442,86443,86444,86446],{},"We use ",[150,86445,84469],{}," branch for development.",[54,86448,86449,86450,86452,86453,86455],{},"To be able to connect to ",[150,86451,84450],{}," you have to checkout ",[150,86454,84450],{}," branch",[54,86457,86449,86458,86452,86460,86455],{},[150,86459,84429],{},[150,86461,84429],{},[26,86463,86465],{"id":86464},"cmake-options","CMake options",[11,86467,86468,86469,5255],{},"Beam uses CMake to generate a build. Beam has several options to say how to build the project, which feature to turn ON\u002FOFF. T\nPlease, look reference to root ",[150,86470,86471],{},"CMakeLists.txt",[43,86473,84486],{"id":84824},[51,86475,86476,86479,86494,86510,86518,86528],{},[54,86477,86478],{},"Install Visual Studio >= 2017 with CMake support.",[54,86480,86481,86482,86486,86487,86490,86491,385],{},"Download and install Boost prebuilt binaries ",[18,86483,86484],{"href":86484,"rel":86485},"https:\u002F\u002Fsourceforge.net\u002Fprojects\u002Fboost\u002Ffiles\u002Fboost-binaries\u002F1.75.0\u002Fboost_1_75_0-msvc-14.1-64.exe",[22],", also add ",[150,86488,86489],{},"BOOST_ROOT"," to the ",[58,86492,86493],{},"Environment Variables",[54,86495,86496,86497,4322,86501,86504,86505,86490,86508,385],{},"Download and install OpenSSL prebuilt binaries ",[18,86498,86499],{"href":86499,"rel":86500},"https:\u002F\u002Fslproweb.com\u002Fproducts\u002FWin32OpenSSL.html",[22],[150,86502,86503],{},"Win64 OpenSSL v1.1.0h"," for example) and add ",[150,86506,86507],{},"OPENSSL_ROOT_DIR",[58,86509,86493],{},[54,86511,641,86512,86490,86515,385],{},[150,86513,86514],{},"...\u002Fboost_1_75_0\u002Flib64-msvc-14.1",[58,86516,86517],{},"System Path",[54,86519,86520,86521,86524,86525,385],{},"Open project folder in Visual Studio, select your target (",[150,86522,86523],{},"Release-x64"," for example, if you downloaded 64bit Boost and OpenSSL) and select ",[150,86526,86527],{},"CMake -> Build All",[54,86529,86530,86531],{},"Open cache folder\n",[866,86532,86535],{"className":86533,"code":86534,"language":871},[869],"Visual Studio 2017:\nGo to CMake -> Cache -> Open Cache Folder -> beam\n\nVisual Studio 2019:\nProject -> CMake Cache -> Open in Explorer\n\nYou'll find binaries in beam\u002F..., wallet\u002Fcli\u002F..., explorer\u002F... subfolders.\n",[150,86536,86534],{"__ignoreMap":760},[43,86538,84489],{"id":84946},[11,86540,86541],{},[94,86542,86543],{},"Please read carefully the points below",[11,86545,86546,86549,86550,86552,86553,86556,86557,86559,86560,86563],{},[94,86547,86548],{},"1."," After finishing your build you'll find the the ",[150,86551,84507],{}," binary (node) in the ",[150,86554,86555],{},"beam\u002Fbeam"," folder, ",[150,86558,84512],{}," (cli wallet) in the ",[150,86561,86562],{},"beam\u002Fwallet\u002Fcli"," folder.",[11,86565,86566,86569],{},[94,86567,86568],{},"2."," You need to clone beam sources before building",[866,86571,86573],{"className":86572,"code":86423,"language":871},[869],[150,86574,86423],{"__ignoreMap":760},[11,86576,86577,86578,86582],{},"The command above checks out the latest master branch where all the development happens. Usually it is not what you want to build. Choose an appropriate branch ",[18,86579,857],{"href":86580,"rel":86581},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fbranches",[22]," and check out it after you have the main repository cloned. For example the command below checks out the Double Doppler 4.0 release branch",[866,86584,86587],{"className":86585,"code":86586,"language":871},[869],"cd beam\ngit checkout double_doppler_4.0RC\n",[150,86588,86586],{"__ignoreMap":760},[11,86590,86591,86594,86595,86598],{},[94,86592,86593],{},"3."," By default instructions produce masternet builds (development version, development blockchain). To be able to build testnet (testing) or mainnet (real-world blockchain) you need to edit the ",[150,86596,86597],{},"beam\u002FCMakeLists.txt"," file lines 151-157. Uncomment (remove the '#' sign) respective definitions.",[866,86600,86603],{"className":86601,"code":86602,"language":871},[869],"# uncomment next line for testnet\n#set(BEAM_TESTNET TRUE)\n# uncomment next line for mainnet\n#set(BEAM_MAINNET TRUE)\n\n# uncomment next line for swap mainnet\n#set(SWAP_MAINNET TRUE)\n",[150,86604,86602],{"__ignoreMap":760},[26,86606,86608],{"id":86607},"ubuntu-1804-desktop","Ubuntu 18.04 Desktop",[11,86610,86611],{},"Instructions below are valid for a clean default Ubuntu 18.04.03 Desktop LTS install. If your're building on an aged system please check that steps 1, 2 & 4 do not overwrite\u002Fconflict with more recent versions of cmake and boost that might have been installed before. You can omit cmake\u002Fboost installation if you already have more recent versions.",[51,86613,86614,86623,86632],{},[54,86615,86616,86617],{},"Install dependencies",[866,86618,86621],{"className":86619,"code":86620,"language":871},[869],"sudo add-apt-repository ppa:mhier\u002Flibboost-latest\nsudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++-8 libssl-dev curl wget git make \nsudo apt-get install libgl1-mesa-dev zlib1g-dev libboost-all-dev\n",[150,86622,86620],{"__ignoreMap":760},[54,86624,86625,86626],{},"Install cmake",[866,86627,86630],{"className":86628,"code":86629,"language":871},[869],"wget https:\u002F\u002Fcmake.org\u002Ffiles\u002Fv3.13\u002Fcmake-3.13.0-Linux-x86_64.sh\nsudo sh .\u002Fcmake-3.13.0-Linux-x86_64.sh --skip-license --prefix=\u002Fusr\n",[150,86631,86629],{"__ignoreMap":760},[54,86633,86634,86635],{},"Go to the Beam project folder and start the release build",[866,86636,86639],{"className":86637,"code":86638,"language":871},[869],"export CC=gcc-8 && export CXX=g++-8\ncmake -DCMAKE_BUILD_TYPE=Release && make -j 4\n",[150,86640,86638],{"__ignoreMap":760},[26,86642,86644],{"id":86643},"ubuntu-1804-server","Ubuntu 18.04 Server",[11,86646,86647],{},"Instructions below are valid for a clean default Ubuntu 18.04.03 Server LTS with all the updates applied during install. If your're building on an aged system please check that steps 1 & 2 do not overwrite\u002Fconflict with more recent versions of cmake and boost that might have been installed before. You can omit cmake\u002Fboost installation if you already have more recent versions.",[51,86649,86650,86658,86665],{},[54,86651,86616,86652],{},[866,86653,86656],{"className":86654,"code":86655,"language":871},[869],"sudo add-apt-repository ppa:mhier\u002Flibboost-latest\nsudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++-8 libssl-dev curl wget git make \nsudo apt-get install libgl1-mesa-dev zlib1g-dev libboost1.67-dev\n",[150,86657,86655],{"__ignoreMap":760},[54,86659,86625,86660],{},[866,86661,86663],{"className":86662,"code":86629,"language":871},[869],[150,86664,86629],{"__ignoreMap":760},[54,86666,86634,86667],{},[866,86668,86670],{"className":86669,"code":86638,"language":871},[869],[150,86671,86638],{"__ignoreMap":760},[26,86673,86675],{"id":86674},"ubuntu-1910-server","Ubuntu 19.10 Server",[11,86677,86678],{},"Instructions below are valid for a default Ubuntu 19.10 Server install with updates applied during install.",[51,86680,86681,86689],{},[54,86682,86616,86683],{},[866,86684,86687],{"className":86685,"code":86686,"language":871},[869],"sudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev\n",[150,86688,86686],{"__ignoreMap":760},[54,86690,86634,86691],{},[866,86692,86695],{"className":86693,"code":86694,"language":871},[869],"cmake -DCMAKE_BUILD_TYPE=Release . && make -j 4\n",[150,86696,86694],{"__ignoreMap":760},[26,86698,86700],{"id":86699},"ubuntu-1910-desktop","Ubuntu 19.10 Desktop",[11,86702,86703],{},"Instructions below are valid for a minimal Ubuntu 19.10 Desktop install with 'update during install' option enabled.",[51,86705,86706,86714],{},[54,86707,86616,86708],{},[866,86709,86712],{"className":86710,"code":86711,"language":871},[869],"sudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev \n",[150,86713,86711],{"__ignoreMap":760},[54,86715,86634,86716],{},[866,86717,86719],{"className":86718,"code":86694,"language":871},[869],[150,86720,86694],{"__ignoreMap":760},[26,86722,86724],{"id":86723},"centos-77","Centos 7.7",[11,86726,86727],{},"Instructions below are valid for a clean CentOS 7.0-1908 minimal install. If your're building on an aged system please check that steps 2 & 3 do not overwrite more recent versions of cmake and boost that might have been installed before.",[51,86729,86730,86738,86747,86754],{},[54,86731,86616,86732],{},[866,86733,86736],{"className":86734,"code":86735,"language":871},[869],"sudo yum update && shutdown -r now\nsudo yum install centos-release-scl yum-utils\nsudo yum-config-manager --enable rhel-server-rhscl-8-rpms\nsudo yum install devtoolset-8-gcc* \nscl enable devtoolset-8 bash\nsudo yum install git make wget openssl-devel\n",[150,86737,86735],{"__ignoreMap":760},[54,86739,86740,86741],{},"Build & install boost. This step could take considerable amount of time",[866,86742,86745],{"className":86743,"code":86744,"language":871},[869],"wget https:\u002F\u002Fdl.bintray.com\u002Fboostorg\u002Frelease\u002F1.66.0\u002Fsource\u002Fboost_1_66_0.tar.gz\ntar xzvf boost_1_66_0.tar.gz\ncd boost_1_66_0 && .\u002Fbootstrap.sh && sudo .\u002Fb2 install && cd ~\n",[150,86746,86744],{"__ignoreMap":760},[54,86748,86625,86749],{},[866,86750,86752],{"className":86751,"code":86629,"language":871},[869],[150,86753,86629],{"__ignoreMap":760},[54,86755,86756,86757],{},"Go to the beam sources folder and start the release build",[866,86758,86760],{"className":86759,"code":86694,"language":871},[869],[150,86761,86694],{"__ignoreMap":760},[26,86763,86765],{"id":86764},"centos-8","CentOS 8",[11,86767,86768],{},"Instructions below are valid for a clean CentOS 8.0-1905 minimal install. If your're building on an aged install please check that step 2 does not overwrite more recent version of cmake that might have been installed before.",[51,86770,86771,86779,86786],{},[54,86772,86616,86773],{},[866,86774,86777],{"className":86775,"code":86776,"language":871},[869],"sudo dnf update\nsudo dnf config-manager --set-enabled PowerTools\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install openssl-devel tar wget \n",[150,86778,86776],{"__ignoreMap":760},[54,86780,86625,86781],{},[866,86782,86784],{"className":86783,"code":86629,"language":871},[869],[150,86785,86629],{"__ignoreMap":760},[54,86787,86756,86788],{},[866,86789,86791],{"className":86790,"code":86694,"language":871},[869],[150,86792,86694],{"__ignoreMap":760},[26,86794,86796],{"id":86795},"fedora-31-workstation","Fedora 31 Workstation",[11,86798,86799],{},"Instructions below are valid for a default Fedora 31-1.9 Workstation install.",[51,86801,86802,86810],{},[54,86803,86616,86804],{},[866,86805,86808],{"className":86806,"code":86807,"language":871},[869],"sudo dnf update && shutdown -r now\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install zlib-devel openssl-devel tar \n",[150,86809,86807],{"__ignoreMap":760},[54,86811,86634,86812],{},[866,86813,86815],{"className":86814,"code":86694,"language":871},[869],[150,86816,86694],{"__ignoreMap":760},[26,86818,86820],{"id":86819},"fedora-31-server","Fedora 31 Server",[11,86822,86823],{},"Instructions below are valid for a default Fedora 31-1.9 Headless Server install.",[51,86825,86826,86834],{},[54,86827,86616,86828],{},[866,86829,86832],{"className":86830,"code":86831,"language":871},[869],"sudo dnf update && shutdown -r now\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install zlib-devel openssl-devel tar\n",[150,86833,86831],{"__ignoreMap":760},[54,86835,86634,86836],{},[866,86837,86839],{"className":86838,"code":86694,"language":871},[869],[150,86840,86694],{"__ignoreMap":760},[43,86842,84492],{"id":84897},[51,86844,86845,86875,86878,86887,86896,86905,86914,86922,86935],{},[54,86846,86847,86848,86853,86855,86856,5335,86858,86860,86861,86867,4446,86869],{},"Download the source code by using:",[866,86849,86851],{"className":86850,"code":86423,"language":871},[869],[150,86852,86423],{"__ignoreMap":760},[957,86854],{},"this will give you a master branch which is developer's version of Beam. To get ",[58,86857,84429],{},[58,86859,84450],{}," use",[866,86862,86865],{"className":86863,"code":86864,"language":871},[869],"git clone --branch mainnet https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[150,86866,86864],{"__ignoreMap":760},[957,86868],{},[866,86870,86873],{"className":86871,"code":86872,"language":871},[869],"git clone --branch testnet https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam.git\n",[150,86874,86872],{"__ignoreMap":760},[54,86876,86877],{},"Install Brew Package Manager.",[54,86879,86880,86881],{},"Install necessary packages using:",[866,86882,86885],{"className":86883,"code":86884,"language":871},[869],"brew install openssl cmake\n",[150,86886,86884],{"__ignoreMap":760},[54,86888,86889,86890],{},"Remove any existing brew installations of boost:",[866,86891,86894],{"className":86892,"code":86893,"language":871},[869],"brew uninstall --ignore-dependencies boost\n",[150,86895,86893],{"__ignoreMap":760},[54,86897,86898,86899],{},"Download and install a compatible version of boost:",[866,86900,86903],{"className":86901,"code":86902,"language":871},[869],"curl -O https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Fhomebrew-core\u002F5da5895add2f6b9320d654dd844d4827f6876c8b\u002FFormula\u002Fboost.rb\nbrew install .\u002Fboost.rb\n",[150,86904,86902],{"__ignoreMap":760},[54,86906,86907,86908],{},"Set your Environment Variables by using the following:",[866,86909,86912],{"className":86910,"code":86911,"language":871},[869],"- export OPENSSL_ROOT_DIR=\"\u002Fusr\u002Flocal\u002Fopt\u002Fopenssl@1.1\"\n",[150,86913,86911],{"__ignoreMap":760},[54,86915,86916,86917],{},"Go to Beam project folder and call",[866,86918,86920],{"className":86919,"code":86694,"language":871},[869],[150,86921,86694],{"__ignoreMap":760},[54,86923,86924,86925,86928,86929],{},"Use ",[150,86926,86927],{},"cpack"," to get .dmg file. Go to Beam project folder and call",[866,86930,86933],{"className":86931,"code":86932,"language":871},[869],"cpack\n",[150,86934,86932],{"__ignoreMap":760},[54,86936,86937,86938,86940,86941,86944],{},"You'll find binaries in ",[150,86939,86562],{},", and ",[150,86942,86943],{},"beam\u002Fexplorer"," subfolders.",{"title":760,"searchDepth":761,"depth":761,"links":86946},[86947,86948,86949,86950,86951,86952,86953,86954,86955,86956],{"id":86437,"depth":761,"text":86438},{"id":86464,"depth":761,"text":86465},{"id":86607,"depth":761,"text":86608},{"id":86643,"depth":761,"text":86644},{"id":86674,"depth":761,"text":86675},{"id":86699,"depth":761,"text":86700},{"id":86723,"depth":761,"text":86724},{"id":86764,"depth":761,"text":86765},{"id":86795,"depth":761,"text":86796},{"id":86819,"depth":761,"text":86820},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-build",{"description":86352},"docs\u002Fcore-tech\u002FHow-to-build","Ax3zBkQ_LYWm6_UueVcK7hdjPfwFlpdvwfZ0B8MfJZY",{"id":86963,"title":84486,"body":86964,"description":760,"extension":775,"image":776,"meta":87474,"navTitle":776,"navigation":778,"path":87475,"seo":87476,"stem":87477,"__hash__":87478},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-build(old).md",{"type":8,"value":86965,"toc":87464},[86966,86968,87055,87057,87061,87082,87086,87091,87096,87101,87107,87112,87118,87133,87135,87137,87171,87173,87175,87198,87200,87202,87220,87222,87224,87250,87252,87254,87257,87288,87290,87292,87317,87319,87321,87346,87348,87350,87366,87368,87455],[43,86967,84486],{"id":84824},[51,86969,86970,86972,86982,86993,87019,87029,87035],{},[54,86971,86478],{},[54,86973,86481,86974,86486,86978,86490,86980,385],{},[18,86975,86976],{"href":86976,"rel":86977},"https:\u002F\u002Fsourceforge.net\u002Fprojects\u002Fboost\u002Ffiles\u002Fboost-binaries\u002F1.68.0\u002Fboost_1_68_0-msvc-14.1-64.exe",[22],[150,86979,86489],{},[58,86981,86493],{},[54,86983,86496,86984,4322,86987,86504,86989,86490,86991,385],{},[18,86985,86499],{"href":86499,"rel":86986},[22],[150,86988,86503],{},[150,86990,86507],{},[58,86992,86493],{},[54,86994,86995,86996,87000,87001,86490,87004,87006,87007,87010,87011,87014,87015,87018],{},"Download and install QT 5.11 ",[18,86997,86998],{"href":86998,"rel":86999},"http:\u002F\u002Fmaster.qt.io\u002Fnew_archive\u002Fqt\u002F5.11\u002F5.11.0\u002Fqt-opensource-windows-x86-5.11.0.exe",[22]," and add ",[150,87002,87003],{},"QT5_ROOT_DIR",[58,87005,86493],{}," (usually it looks like ",[150,87008,87009],{},"...\u002F5.11.0\u002Fmsvc2017_64","), also add ",[150,87012,87013],{},"QML_IMPORT_PATH"," (it should look like ",[150,87016,87017],{},"%QT5_ROOT_DIR%\\qml","). BTW disabling system antivirus on Windows makes QT installing process much faster.",[54,87020,641,87021,163,87024,86490,87027,385],{},[150,87022,87023],{},"...\u002Fqt511\u002F5.11.1\u002Fmsvc2017_64\u002Fbin",[150,87025,87026],{},"...\u002Fboost_1_68_0\u002Flib64-msvc-14.1",[58,87028,86517],{},[54,87030,86520,87031,86524,87033,385],{},[150,87032,86523],{},[150,87034,86527],{},[54,87036,87037,87038,87041,87042,441,87045,441,87048,441,87051,87054],{},"Go to ",[150,87039,87040],{},"CMake -> Cache -> Open Cache Folder -> beam"," (you'll find binaries in ",[150,87043,87044],{},"beam\u002F...",[150,87046,87047],{},"wallet\u002F...",[150,87049,87050],{},"ui\u002F...",[150,87052,87053],{},"explorer\u002F..."," subfolders).",[43,87056,84489],{"id":84946},[11,87058,87059],{},[94,87060,86543],{},[11,87062,87063,86549,87065,86552,87067,86556,87069,86559,87071,87074,87075,87078,87079,86563],{},[94,87064,86548],{},[150,87066,84507],{},[150,87068,86555],{},[150,87070,84512],{},[150,87072,87073],{},"beam\u002Fwallet"," folder and ",[150,87076,87077],{},"BeamWallet"," (GUI wallet) in the ",[150,87080,87081],{},"beam\u002Fui",[11,87083,87084,86569],{},[94,87085,86568],{},[866,87087,87089],{"className":87088,"code":86423,"language":871},[869],[150,87090,86423],{"__ignoreMap":760},[11,87092,86577,87093,86582],{},[18,87094,857],{"href":86580,"rel":87095},[22],[866,87097,87099],{"className":87098,"code":86586,"language":871},[869],[150,87100,86586],{"__ignoreMap":760},[11,87102,87103,86594,87105,86598],{},[94,87104,86593],{},[150,87106,86597],{},[866,87108,87110],{"className":87109,"code":86602,"language":871},[869],[150,87111,86602],{"__ignoreMap":760},[11,87113,87114,87117],{},[94,87115,87116],{},"4."," Server instructions result only in a valid build and enable you running all the CLI tools. They are not intended to ensure that you would be able to run the UI. Desktop build instructions include additional steps to ensure that the UI can be launched.",[11,87119,87120,87123,87124,87129,87130,87132],{},[94,87121,87122],{},"5."," At the moment building the UI can take a lot of time (a few hours) due to the bug in QT: ",[18,87125,87128],{"href":87126,"rel":87127},"https:\u002F\u002Fbugreports.qt.io\u002Fbrowse\u002FQTBUG-27936",[22],"QTBUG-27936",". To skip building the UI pass ",[150,87131,84500],{}," to cmake. You can also omit all Qt5 dependencies in this case.",[26,87134,86608],{"id":86607},[11,87136,86611],{},[51,87138,87139,87147,87154,87162],{},[54,87140,86616,87141],{},[866,87142,87145],{"className":87143,"code":87144,"language":871},[869],"sudo add-apt-repository ppa:beineri\u002Fopt-qt-5.11.0-bionic\nsudo add-apt-repository ppa:mhier\u002Flibboost-latest\nsudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++-8 libssl-dev curl wget git make \nsudo apt-get install libgl1-mesa-dev zlib1g-dev libboost1.67-dev\nsudo apt-get install qt511base qt511declarative qt511svg qt511tools \n",[150,87146,87144],{"__ignoreMap":760},[54,87148,86625,87149],{},[866,87150,87152],{"className":87151,"code":86629,"language":871},[869],[150,87153,86629],{"__ignoreMap":760},[54,87155,86634,87156],{},[866,87157,87160],{"className":87158,"code":87159,"language":871},[869],"export PATH=\u002Fopt\u002Fqt511\u002Fbin:$PATH && export CC=gcc-8 && export CXX=g++-8\ncmake -DCMAKE_BUILD_TYPE=Release && make -j4\n",[150,87161,87159],{"__ignoreMap":760},[54,87163,87164,87165],{},"To be able to run the UI (BeamWallet) install additional dependencies",[866,87166,87169],{"className":87167,"code":87168,"language":871},[869],"sudo apt-get install qt511quick* qt511graphicaleffects\n",[150,87170,87168],{"__ignoreMap":760},[26,87172,86644],{"id":86643},[11,87174,86647],{},[51,87176,87177,87184,87191],{},[54,87178,86616,87179],{},[866,87180,87182],{"className":87181,"code":87144,"language":871},[869],[150,87183,87144],{"__ignoreMap":760},[54,87185,86625,87186],{},[866,87187,87189],{"className":87188,"code":86629,"language":871},[869],[150,87190,86629],{"__ignoreMap":760},[54,87192,86634,87193],{},[866,87194,87196],{"className":87195,"code":87159,"language":871},[869],[150,87197,87159],{"__ignoreMap":760},[26,87199,86675],{"id":86674},[11,87201,86678],{},[51,87203,87204,87212],{},[54,87205,86616,87206],{},[866,87207,87210],{"className":87208,"code":87209,"language":871},[869],"sudo apt-get update && sudo apt-get upgrade\nsudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev qtbase5-dev qtdeclarative5-dev \nsudo apt-get install libqt5svg5-dev qttools5-dev qt5-default\n",[150,87211,87209],{"__ignoreMap":760},[54,87213,86634,87214],{},[866,87215,87218],{"className":87216,"code":87217,"language":871},[869],"cmake -DCMAKE_BUILD_TYPE=Release . && make -j4\n",[150,87219,87217],{"__ignoreMap":760},[26,87221,86700],{"id":86699},[11,87223,86703],{},[51,87225,87226,87234,87241],{},[54,87227,86616,87228],{},[866,87229,87232],{"className":87230,"code":87231,"language":871},[869],"sudo apt-get install g++ git make cmake libboost-all-dev zlib1g-dev\nsudo apt-get install libssl-dev qtbase5-dev qtdeclarative5-dev \nsudo apt-get install libqt5svg5-dev qttools5-dev qt5-default\n",[150,87233,87231],{"__ignoreMap":760},[54,87235,86634,87236],{},[866,87237,87239],{"className":87238,"code":87217,"language":871},[869],[150,87240,87217],{"__ignoreMap":760},[54,87242,87243,87244],{},"To be able not only to build but also to run the UI (BeamWallet) you need to install additional dependencies",[866,87245,87248],{"className":87246,"code":87247,"language":871},[869],"sudo apt-get install qml-module-qt*\n",[150,87249,87247],{"__ignoreMap":760},[26,87251,86724],{"id":86723},[11,87253,86727],{},[11,87255,87256],{},"N.B. These build instruction provide only commandline tools including node but no GUI wallet. Use newer operating system with more up to date Qt libraries (5.11+) to effortlessly build the UI.",[51,87258,87259,87266,87273,87280],{},[54,87260,86616,87261],{},[866,87262,87264],{"className":87263,"code":86735,"language":871},[869],[150,87265,86735],{"__ignoreMap":760},[54,87267,86740,87268],{},[866,87269,87271],{"className":87270,"code":86744,"language":871},[869],[150,87272,86744],{"__ignoreMap":760},[54,87274,86625,87275],{},[866,87276,87278],{"className":87277,"code":86629,"language":871},[869],[150,87279,86629],{"__ignoreMap":760},[54,87281,86756,87282],{},[866,87283,87286],{"className":87284,"code":87285,"language":871},[869],"cmake -DCMAKE_BUILD_TYPE=Release -DBEAM_NO_QT_UI_WALLET=On . && make -j4\n",[150,87287,87285],{"__ignoreMap":760},[26,87289,86765],{"id":86764},[11,87291,86768],{},[51,87293,87294,87302,87309],{},[54,87295,86616,87296],{},[866,87297,87300],{"className":87298,"code":87299,"language":871},[869],"sudo dnf update\nsudo dnf config-manager --set-enabled PowerTools\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install openssl-devel tar wget qt5-qtbase-devel qt5-linguist\nsudo dnf install qt5-qtsvg-devel qt5-qtdeclarative-devel \n",[150,87301,87299],{"__ignoreMap":760},[54,87303,86625,87304],{},[866,87305,87307],{"className":87306,"code":86629,"language":871},[869],[150,87308,86629],{"__ignoreMap":760},[54,87310,86756,87311],{},[866,87312,87315],{"className":87313,"code":87314,"language":871},[869],"export PATH=${PATH}:\u002Fusr\u002Flib64\u002Fqt5\u002Fbin\ncmake -DCMAKE_BUILD_TYPE=Release . && make -j4\n",[150,87316,87314],{"__ignoreMap":760},[26,87318,86796],{"id":86795},[11,87320,86799],{},[51,87322,87323,87331,87338],{},[54,87324,86616,87325],{},[866,87326,87329],{"className":87327,"code":87328,"language":871},[869],"sudo dnf update && shutdown -r now\nsudo dnf install git make cmake gcc-c++ libstdc++-static boost-devel \nsudo dnf install zlib-devel openssl-devel tar qt5-qtbase-devel qt5-linguist\nsudo dnf install qt5-qtsvg-devel qt5-qtdeclarative-devel \n",[150,87330,87328],{"__ignoreMap":760},[54,87332,86634,87333],{},[866,87334,87336],{"className":87335,"code":87217,"language":871},[869],[150,87337,87217],{"__ignoreMap":760},[54,87339,87164,87340],{},[866,87341,87344],{"className":87342,"code":87343,"language":871},[869],"sudo dnf install qt5-qtquickcontrols qt5-qtquickcontrols2\n",[150,87345,87343],{"__ignoreMap":760},[26,87347,86820],{"id":86819},[11,87349,86823],{},[51,87351,87352,87359],{},[54,87353,86616,87354],{},[866,87355,87357],{"className":87356,"code":87328,"language":871},[869],[150,87358,87328],{"__ignoreMap":760},[54,87360,86634,87361],{},[866,87362,87364],{"className":87363,"code":87217,"language":871},[869],[150,87365,87217],{"__ignoreMap":760},[43,87367,84492],{"id":84897},[51,87369,87370,87395,87397,87404,87413,87420,87427,87435,87442,87447],{},[54,87371,86847,87372,87377,86855,87379,5335,87381,86860,87383,87388,4446,87390],{},[866,87373,87375],{"className":87374,"code":86423,"language":871},[869],[150,87376,86423],{"__ignoreMap":760},[957,87378],{},[58,87380,84429],{},[58,87382,84450],{},[866,87384,87386],{"className":87385,"code":86864,"language":871},[869],[150,87387,86864],{"__ignoreMap":760},[957,87389],{},[866,87391,87393],{"className":87392,"code":86872,"language":871},[869],[150,87394,86872],{"__ignoreMap":760},[54,87396,86877],{},[54,87398,86880,87399],{},[866,87400,87402],{"className":87401,"code":86884,"language":871},[869],[150,87403,86884],{"__ignoreMap":760},[54,87405,87406,87407],{},"Remove any existing brew installations of qt and boost:",[866,87408,87411],{"className":87409,"code":87410,"language":871},[869],"brew uninstall --ignore-dependencies qt boost\n",[150,87412,87410],{"__ignoreMap":760},[54,87414,86898,87415],{},[866,87416,87418],{"className":87417,"code":86902,"language":871},[869],[150,87419,86902],{"__ignoreMap":760},[54,87421,87422,87423],{},"Download and install QT5.11 from the official website ",[18,87424,87425],{"href":87425,"rel":87426},"http:\u002F\u002Fmaster.qt.io\u002Fnew_archive\u002Fqt\u002F5.11\u002F5.11.0\u002Fqt-opensource-mac-x64-5.11.0.dmg",[22],[54,87428,86907,87429],{},[866,87430,87433],{"className":87431,"code":87432,"language":871},[869],"- export OPENSSL_ROOT_DIR=\"\u002Fusr\u002Flocal\u002Fopt\u002Fopenssl@1.1\"\n- export PATH=\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002Fclang_64\u002Fbin:$PATH\n- export QT5_ROOT_DIR=\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002F\n- export QML_IMPORT_PATH=\"\u002FUsers\u002F\u003Cusername>\u002FQt5.11.0\u002F5.11.0\u002Fqml\"\n",[150,87434,87432],{"__ignoreMap":760},[54,87436,86916,87437],{},[866,87438,87440],{"className":87439,"code":87217,"language":871},[869],[150,87441,87217],{"__ignoreMap":760},[54,87443,86924,87444,87446],{},[150,87445,86927],{}," to get .dmg file",[54,87448,86937,87449,441,87451,86940,87453,86944],{},[150,87450,87073],{},[150,87452,87081],{},[150,87454,86943],{},[11,87456,87457,87458,87460,87461,385],{},"If you don't want to build UI don't install QT5 and add ",[150,87459,84500],{}," command line parameter when you are calling ",[150,87462,87463],{},"cmake",{"title":760,"searchDepth":761,"depth":761,"links":87465},[87466,87467,87468,87469,87470,87471,87472,87473],{"id":86607,"depth":761,"text":86608},{"id":86643,"depth":761,"text":86644},{"id":86674,"depth":761,"text":86675},{"id":86699,"depth":761,"text":86700},{"id":86723,"depth":761,"text":86724},{"id":86764,"depth":761,"text":86765},{"id":86795,"depth":761,"text":86796},{"id":86819,"depth":761,"text":86820},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-build(old)",{"title":84486,"description":760},"docs\u002Fcore-tech\u002FHow-to-build(old)","9nwQ29l0Vzmu6f52K5taYtUvWYasLEc4Z3dcW5i2ABk",{"id":87480,"title":87481,"body":87482,"description":87486,"extension":775,"image":776,"meta":87593,"navTitle":776,"navigation":778,"path":87594,"seo":87595,"stem":87596,"__hash__":87597},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-remove-the-Desktop-Wallet-files-in-a-manual-way.md","How To Remove The Desktop Wallet Files In A Manual Way",{"type":8,"value":87483,"toc":87588},[87484,87487,87490,87504,87508,87516,87537,87541,87546,87562,87566,87571,87585],[11,87485,87486],{},"Since the current versions of the Desktop Wallet are not backward compatible, it is required to remove the files manually before upgrading to the next major version.",[11,87488,87489],{},"Points to mention:",[89,87491,87492,87495,87501],{},[54,87493,87494],{},"On Mac and Windows the wallet files reside in directories which are not shown by default, yet they can be accessed via a command line interface (see the examples below).",[54,87496,87497,87498,87500],{},"On Mac and Windows the wallet files reside (by default) in a home directory of the user. In the examples below the user name is ",[150,87499,4194],{}," on all the platforms.",[54,87502,87503],{},"The suggested commands will unconditionally remove the files, an action which cannot be undone.",[716,87505,87507],{"id":87506},"on-windows","On Windows",[89,87509,87510,87513],{},[54,87511,87512],{},"Push windows button+R, the Run window will appear. Type cmd and click OK.",[54,87514,87515],{},"In the window that appears, paste the following command and click enter:",[866,87517,87521],{"className":87518,"code":87519,"language":87520,"meta":760,"style":760},"language-sh shiki shiki-themes github-dark","RD \u002Fs \u002Fq \"C:\\Users\\alice\\AppData\\Local\\Beam Wallet\"\n","sh",[150,87522,87523],{"__ignoreMap":760},[984,87524,87525,87528,87531,87534],{"class":986,"line":987},[984,87526,87527],{"class":5316},"RD",[984,87529,87530],{"class":1003}," \u002Fs",[984,87532,87533],{"class":1003}," \u002Fq",[984,87535,87536],{"class":1003}," \"C:\\Users\\alice\\AppData\\Local\\Beam Wallet\"\n",[716,87538,87540],{"id":87539},"on-mac","On Mac",[89,87542,87543],{},[54,87544,87545],{},"Open the Terminal app, paste the following command and click enter:",[866,87547,87549],{"className":87518,"code":87548,"language":87520,"meta":760,"style":760},"rm -R \"\u002FUsers\u002Falice\u002FLibrary\u002FApplication Support\u002FBeam Wallet\"\n",[150,87550,87551],{"__ignoreMap":760},[984,87552,87553,87556,87559],{"class":986,"line":987},[984,87554,87555],{"class":5316},"rm",[984,87557,87558],{"class":996}," -R",[984,87560,87561],{"class":1003}," \"\u002FUsers\u002Falice\u002FLibrary\u002FApplication Support\u002FBeam Wallet\"\n",[716,87563,87565],{"id":87564},"on-linux","On Linux",[89,87567,87568],{},[54,87569,87570],{},"Run the following command in terminal:",[866,87572,87574],{"className":87518,"code":87573,"language":87520,"meta":760,"style":760},"rm -R \".local\u002Fshare\u002FBeam Wallet\"\n",[150,87575,87576],{"__ignoreMap":760},[984,87577,87578,87580,87582],{"class":986,"line":987},[984,87579,87555],{"class":5316},[984,87581,87558],{"class":996},[984,87583,87584],{"class":1003}," \".local\u002Fshare\u002FBeam Wallet\"\n",[2685,87586,87587],{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}",{"title":760,"searchDepth":761,"depth":761,"links":87589},[87590,87591,87592],{"id":87506,"depth":772,"text":87507},{"id":87539,"depth":772,"text":87540},{"id":87564,"depth":772,"text":87565},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-remove-the-desktop-wallet-files-in-a-manual-way",{"description":87486},"docs\u002Fcore-tech\u002FHow-to-remove-the-Desktop-Wallet-files-in-a-manual-way","YZMvcFLyTXVj2ySiqa07sqXEWNyYFJk5iwfsGjr1Bxc",{"id":87599,"title":87600,"body":87601,"description":760,"extension":775,"image":776,"meta":87815,"navTitle":776,"navigation":778,"path":87816,"seo":87817,"stem":87818,"__hash__":87819},"docs\u002Fdocs\u002Fcore-tech\u002FHow-to-test-Beam-with-Trezor-wallet.md","How To Test Beam With Trezor Wallet",{"type":8,"value":87602,"toc":87802},[87603,87607,87618,87633,87637,87644,87648,87672,87676,87683,87689,87693,87724,87726,87748,87752],[26,87604,87606],{"id":87605},"preparing","Preparing",[716,87608,87610,87611,163,87614,87617],{"id":87609},"install-git-and-python3-with-pip3","Install ",[94,87612,87613],{},"Git",[94,87615,87616],{},"Python3"," (with pip3)",[89,87619,87620,87626],{},[54,87621,87622,87623],{},"Debain\u002FUbuntu: ",[150,87624,87625],{},"sudo apt-get -y install git python3 python3-pip",[54,87627,87628,87629],{},"Windows\u002FMacOS: download from ",[18,87630,87631],{"href":87631,"rel":87632},"https:\u002F\u002Fwww.python.org\u002Fdownloads",[22],[716,87634,87636],{"id":87635},"install-trezor-bridge","Install Trezor Bridge",[11,87638,87037,87639,87643],{},[18,87640,87641],{"href":87641,"rel":87642},"https:\u002F\u002Fwallet.trezor.io\u002F#\u002Fbridge",[22],", download and install.",[716,87645,87647],{"id":87646},"install-protobuf-compiler","Install Protobuf Compiler",[11,87649,87037,87650,87654,87655,87658,87659,87661,87662,87665,87666,1015,87669,385],{},[18,87651,87652],{"href":87652,"rel":87653},"https:\u002F\u002Fgithub.com\u002Fprotocolbuffers\u002Fprotobuf\u002Freleases",[22]," and download the latest ",[150,87656,87657],{},"protoc"," for your OS.",[957,87660],{},"\nExtract it and add ",[150,87663,87664],{},"\u003Cpath to protoc folder>\u002Fbin"," path to the system ",[150,87667,87668],{},"PATH",[150,87670,87671],{},"export PATH=$PATH:\u002F\u003Cpath to protoc folder>\u002Fbin",[716,87673,87675],{"id":87674},"build-firmware-loader","Build Firmware Loader",[11,87677,87678,87679,87682],{},"Run the following commands (don't use ",[150,87680,87681],{},"sudo"," prefix on Windows):",[866,87684,87687],{"className":87685,"code":87686,"language":871},[869],"git clone https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fpython-trezor.git\ncd python-trezor\ngit checkout beam\ngit submodule update --init --recursive --force\n\nsudo pip3 install protobuf click requests mnemonic construct ecdsa pyblake2 typing_extensions\npython3 setup.py prebuild\n",[150,87688,87686],{"__ignoreMap":760},[26,87690,87692],{"id":87691},"install-the-firmware","Install the firmware",[89,87694,87695,87701,87710,87717],{},[54,87696,87697,87698,81939],{},"Wipe your Trezor device using ",[150,87699,87700],{},"python3 .\u002Ftrezorctl wipe-device",[54,87702,87037,87703,87654,87707,385],{},[18,87704,87705],{"href":87705,"rel":87706},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Ftrezor_beam_minimal_wallet\u002Freleases",[22],[150,87708,87709],{},"firmware.bin",[54,87711,87712,87713,4316],{},"Restart the device to enter bootloader mode (video how to do it ",[18,87714,87715],{"href":87715,"rel":87716},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=xVBiSFTx0qQ",[22],[54,87718,87719,87720,87723],{},"Call ",[150,87721,87722],{},"python3 .\u002Ftrezorctl firmware-update -f \u003Cpath to firmware folder>\u002Ffirmware.bin"," to install firmware.",[716,87725,84486],{"id":84824},[89,87727,87728,87738,87743],{},[54,87729,87610,87730,2679,87733,87737],{},[150,87731,87732],{},"trezorctl",[18,87734,87735],{"href":87735,"rel":87736},"https:\u002F\u002Fwiki.trezor.io\u002FInstalling_trezorctl_on_Windows",[22]," .",[54,87739,87712,87740,4316],{},[18,87741,87715],{"href":87715,"rel":87742},[22],[54,87744,87719,87745,87723],{},[150,87746,87747],{},"trezorctl firmware-update -f \u003Cpath to firmware folder>\u002Ffirmware.bin",[26,87749,87751],{"id":87750},"test-beam-with-trezor","Test Beam with Trezor",[89,87753,87754,87761,87769,87780,87789,87799],{},[54,87755,87037,87756,87760],{},[18,87757,87758],{"href":87758,"rel":87759},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ftrezor_build",[22]," and download\u002Finstall the latest build.",[54,87762,87763,87764,87768],{},"Connect your device, go to ",[18,87765,87766],{"href":87766,"rel":87767},"https:\u002F\u002Ftrezor.io\u002Fstart",[22],", create a new wallet or recover with your seed phrase.",[54,87770,87771,87772,87775,87776,87779],{},"Run installed ",[94,87773,87774],{},"Beam Wallet"," and push ",[150,87777,87778],{},"create new Trezor wallet"," button.",[54,87781,87782,87783,87785,87786],{},"Agree with generating ",[94,87784,2811],{}," on Trezor device and wait, it usually takes about 15 sec.\n",[2707,87787],{"alt":2709,"src":87788},"https:\u002F\u002Fuser-images.githubusercontent.com\u002F1101448\u002F65770926-c5d87f80-e13f-11e9-9095-a9fbac692917.png",[54,87790,87791,87792,87795,87796],{},"Remember generated password from the ",[150,87793,87794],{},"Key Password"," page and enter it in the Beam Wallet.\n",[2707,87797],{"alt":2709,"src":87798},"https:\u002F\u002Fuser-images.githubusercontent.com\u002F1101448\u002F65770789-7e51f380-e13f-11e9-899e-33dc09d96787.png",[54,87800,87801],{},"Hurray, the wallet is initialized, now try to send\u002Freceive beams to test how it works...",{"title":760,"searchDepth":761,"depth":761,"links":87803},[87804,87811,87814],{"id":87605,"depth":761,"text":87606,"children":87805},[87806,87808,87809,87810],{"id":87609,"depth":772,"text":87807},"Install Git and Python3 (with pip3)",{"id":87635,"depth":772,"text":87636},{"id":87646,"depth":772,"text":87647},{"id":87674,"depth":772,"text":87675},{"id":87691,"depth":761,"text":87692,"children":87812},[87813],{"id":84824,"depth":772,"text":84486},{"id":87750,"depth":761,"text":87751},{},"\u002Fdocs\u002Fcore-tech\u002Fhow-to-test-beam-with-trezor-wallet",{"description":760},"docs\u002Fcore-tech\u002FHow-to-test-Beam-with-Trezor-wallet","PzFLFafLa0W2dNNbP01OTCnp1TmqBLg3XmNY_AIwh3Q",{"id":87821,"title":87822,"body":87823,"description":88709,"extension":775,"image":776,"meta":88710,"navTitle":776,"navigation":778,"path":88711,"seo":88712,"stem":88713,"__hash__":88714},"docs\u002Fdocs\u002Fcore-tech\u002FInstructions-for-Command-Line-Node.md","This documentation is obsolete",{"type":8,"value":87824,"toc":88701},[87825,87828,87836,87840,87887,87891,87928,87932,88007,88011,88154,88158,88162,88247,88251,88356,88360,88490,88494,88499,88503,88540,88544,88594,88598,88640,88648,88662,88665,88671,88677,88689,88693,88698],[43,87826,87822],{"id":87827},"this-documentation-is-obsolete",[11,87829,87830,87831],{},"Please refer to ",[18,87832,87835],{"href":87833,"rel":87834},"https:\u002F\u002Fbeam-docs.readthedocs.io\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_beam_node_guide.html",[22],"Beam Node User Guide",[43,87837,87839],{"id":87838},"running-a-node","Running a node",[89,87841,87842,87849,87860,87866,87869,87875,87881],{},[54,87843,87844],{},[18,87845,87848],{"href":87846,"rel":87847},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fbeam",[22],"Node source code",[54,87850,87851,87852,87856,87857,4316],{},"Node binaries for Windows, Mac and Linux can be downloaded from the Beam website (",[18,87853,87854],{"href":87854,"rel":87855},"http:\u002F\u002Fbeam.mw\u002Fdownloads",[22],") or GitHub (",[18,87858,84438],{"href":84438,"rel":87859},[22],[54,87861,87862,87863,87865],{},"Node parameters can be either passed through command line or specified in the configuration file called ",[150,87864,85046],{}," and located in the same folder the node resides in.",[54,87867,87868],{},"For every parameter, the value in the command line prevails over configuration file.",[54,87870,87871,87872,87874],{},"The log files are located in the ",[150,87873,85058],{}," folder, which in turn resides in the node folder.",[54,87876,87877,87878,87880],{},"Once started, the node will create a ",[150,87879,5831],{}," file in the same folder it is located. This file will store an internal state of the node.",[54,87882,87883,87884,385],{},"Upon the first launch, the node will download current blockchain history in batch mode as a single large macroblock. After the initial sync is complete, the node will continue to sync blocks and individual transactions from the current blockchain Tip (height) and onwards. This can be seen in the log entry: ",[150,87885,87886],{},"My Tip: 24704-f2ab414ba6430d85",[43,87888,87890],{"id":87889},"command-line-execution-example","Command line execution example:",[866,87892,87894],{"className":87518,"code":87893,"language":87520,"meta":760,"style":760},".\u002Fbeam-node --peer 104.248.159.154:8100 --mining_threads 1 --file_log_level debug --key_mine=Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA== --key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+8gxnxMM5j1rk= --pass=123\n",[150,87895,87896],{"__ignoreMap":760},[984,87897,87898,87901,87904,87907,87910,87913,87916,87919,87922,87925],{"class":986,"line":987},[984,87899,87900],{"class":5316},".\u002Fbeam-node",[984,87902,87903],{"class":996}," --peer",[984,87905,87906],{"class":1003}," 104.248.159.154:8100",[984,87908,87909],{"class":996}," --mining_threads",[984,87911,87912],{"class":996}," 1",[984,87914,87915],{"class":996}," --file_log_level",[984,87917,87918],{"class":1003}," debug",[984,87920,87921],{"class":996}," --key_mine=Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA==",[984,87923,87924],{"class":996}," --key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+8gxnxMM5j1rk=",[984,87926,87927],{"class":996}," --pass=123\n",[26,87929,87931],{"id":87930},"node-command-line-parameters-explained","Node command line parameters explained:",[84826,87933,87934,87943],{},[84829,87935,87936],{},[84832,87937,87938,87941],{},[84835,87939,87940],{},"Name",[84835,87942,4407],{},[84842,87944,87945,87955,87965,87978,87987,87997],{},[84832,87946,87947,87952],{},[84847,87948,87949],{},[150,87950,87951],{},"peer",[84847,87953,87954],{},"Specifies a comma-separated list of peers the node will initially connect to. After the connection is established, the node will get an updated list of peers from other nodes, along with peer ratings and from that moment the node will manage its connections on its own.",[84832,87956,87957,87962],{},[84847,87958,87959],{},[150,87960,87961],{},"key_mine",[84847,87963,87964],{},"A password-protected secret key, exported by the wallet, that should be used for standalone mining (when the owner wallet is offline). If not specified - mining would be possible only when the owner wallet is online",[84832,87966,87967,87972],{},[84847,87968,87969],{},[150,87970,87971],{},"key_view",[84847,87973,87974,87975,87977],{},"A semicolon-separated list of password-protected viewer keys, exported by the wallet, that should be monitored by the node. The wallet master viewer key is also needed for node-wallet authentication. The ",[150,87976,87961],{},", if set, is also included implicitly",[84832,87979,87980,87984],{},[84847,87981,87982],{},[150,87983,9367],{},[84847,87985,87986],{},"A password that should be used to access they encoded keys.",[84832,87988,87989,87994],{},[84847,87990,87991],{},[150,87992,87993],{},"mining_treads",[84847,87995,87996],{},"Specifies the number of CPU cores utilized for mining. If set to 0, node acts as a validating node only.",[84832,87998,87999,88004],{},[84847,88000,88001],{},[150,88002,88003],{},"file_log_level",[84847,88005,88006],{},"Allows to raise the debug level when a deeper investigation is required.",[43,88008,88010],{"id":88009},"config-file-example","Config file example:",[866,88012,88014],{"className":87518,"code":88013,"language":87520,"meta":760,"style":760},"# port to start server on\nport=10000\n\n# secret key for mining.\nkey_mine=Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA==\n\n# All the viewer keys.\n--key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+8gxnxMM5j1rk=\n\n# Password. If required (at least 1 key specified) and not set - will be asked after launch.\n--pass=123\n\n# number of mining threads(there is no mining if 0)\nmining_threads=1\n\n# peers\npeer=104.248.159.154:8100\n\n# miner type\nminer_type=cpu\n",[150,88015,88016,88021,88031,88035,88040,88057,88061,88066,88081,88085,88090,88099,88103,88108,88117,88121,88126,88135,88139,88144],{"__ignoreMap":760},[984,88017,88018],{"class":986,"line":987},[984,88019,88020],{"class":1351},"# port to start server on\n",[984,88022,88023,88026,88028],{"class":986,"line":761},[984,88024,88025],{"class":990},"port",[984,88027,5298],{"class":5291},[984,88029,88030],{"class":1003},"10000\n",[984,88032,88033],{"class":986,"line":772},[984,88034,8376],{"emptyLinePlaceholder":778},[984,88036,88037],{"class":986,"line":1024},[984,88038,88039],{"class":1351},"# secret key for mining.\n",[984,88041,88042,88044,88046,88049,88052,88054],{"class":986,"line":1035},[984,88043,87961],{"class":990},[984,88045,5298],{"class":5291},[984,88047,88048],{"class":1003},"Ipte\u002FcVRHvS72U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+",[984,88050,88051],{"class":990},"qmcVEuWhjPJ2OwBn6ZkxKKpLX0W9PvHhGIUVPz8d6CL5CSB8fjt4kA",[984,88053,5298],{"class":5291},[984,88055,88056],{"class":1003},"=\n",[984,88058,88059],{"class":986,"line":1098},[984,88060,8376],{"emptyLinePlaceholder":778},[984,88062,88063],{"class":986,"line":1111},[984,88064,88065],{"class":1351},"# All the viewer keys.\n",[984,88067,88068,88071,88073,88076,88079],{"class":986,"line":1124},[984,88069,88070],{"class":990},"--key_view",[984,88072,5298],{"class":5291},[984,88074,88075],{"class":1003},"xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+iKiDYvXy+VLCui125Rw69lO+",[984,88077,88078],{"class":990},"8gxnxMM5j1rk",[984,88080,88056],{"class":5291},[984,88082,88083],{"class":986,"line":1137},[984,88084,8376],{"emptyLinePlaceholder":778},[984,88086,88087],{"class":986,"line":1150},[984,88088,88089],{"class":1351},"# Password. If required (at least 1 key specified) and not set - will be asked after launch.\n",[984,88091,88092,88094,88096],{"class":986,"line":1163},[984,88093,11349],{"class":990},[984,88095,5298],{"class":5291},[984,88097,88098],{"class":1003},"123\n",[984,88100,88101],{"class":986,"line":1176},[984,88102,8376],{"emptyLinePlaceholder":778},[984,88104,88105],{"class":986,"line":1189},[984,88106,88107],{"class":1351},"# number of mining threads(there is no mining if 0)\n",[984,88109,88110,88113,88115],{"class":986,"line":1202},[984,88111,88112],{"class":990},"mining_threads",[984,88114,5298],{"class":5291},[984,88116,1678],{"class":1003},[984,88118,88119],{"class":986,"line":1211},[984,88120,8376],{"emptyLinePlaceholder":778},[984,88122,88123],{"class":986,"line":1217},[984,88124,88125],{"class":1351},"# peers\n",[984,88127,88128,88130,88132],{"class":986,"line":1229},[984,88129,87951],{"class":990},[984,88131,5298],{"class":5291},[984,88133,88134],{"class":1003},"104.248.159.154:8100\n",[984,88136,88137],{"class":986,"line":1241},[984,88138,8376],{"emptyLinePlaceholder":778},[984,88140,88141],{"class":986,"line":1254},[984,88142,88143],{"class":1351},"# miner type\n",[984,88145,88146,88149,88151],{"class":986,"line":1266},[984,88147,88148],{"class":990},"miner_type",[984,88150,5298],{"class":5291},[984,88152,88153],{"class":1003},"cpu\n",[43,88155,88157],{"id":88156},"the-full-list-of-options-supported-by-the-node","The full list of options supported by the node",[26,88159,88161],{"id":88160},"general-options","General options:",[84826,88163,88164,88172],{},[84829,88165,88166],{},[84832,88167,88168,88170],{},[84835,88169,87940],{},[84835,88171,4407],{},[84842,88173,88174,88187,88200,88213,88225,88237],{},[84832,88175,88176,88184],{},[84847,88177,88178,5335,88181],{},[150,88179,88180],{},"h",[150,88182,88183],{},"help",[84847,88185,88186],{},"list of all options",[84832,88188,88189,88197],{},[84847,88190,88191,5335,88194],{},[150,88192,88193],{},"p arg",[150,88195,88196],{},"port arg (=10000)",[84847,88198,88199],{},"port to start the server on",[84832,88201,88202,88207],{},[84847,88203,88204],{},[150,88205,88206],{},"log_level arg",[84847,88208,88209,88210],{},"log level ",[150,88211,88212],{},"[info\u002Fdebug\u002Fverbose]",[84832,88214,88215,88220],{},[84847,88216,88217],{},[150,88218,88219],{},"file_log_level arg",[84847,88221,88222,88223],{},"file log level ",[150,88224,88212],{},[84832,88226,88227,88234],{},[84847,88228,88229,5335,88231],{},[150,88230,11067],{},[150,88232,88233],{},"version",[84847,88235,88236],{},"return project version",[84832,88238,88239,88244],{},[84847,88240,88241],{},[150,88242,88243],{},"git_commit_hash",[84847,88245,88246],{},"return commit hash",[26,88248,88250],{"id":88249},"node-options","Node options:",[84826,88252,88253,88261],{},[84829,88254,88255],{},[84832,88256,88257,88259],{},[84835,88258,87940],{},[84835,88260,4407],{},[84842,88262,88263,88273,88283,88293,88306,88316,88326,88336,88346],{},[84832,88264,88265,88270],{},[84847,88266,88267],{},[150,88268,88269],{},"storage arg (=node.db)",[84847,88271,88272],{},"node storage path",[84832,88274,88275,88280],{},[84847,88276,88277],{},[150,88278,88279],{},"history_dir arg (=.\u002F)",[84847,88281,88282],{},"directory for compressed history",[84832,88284,88285,88290],{},[84847,88286,88287],{},[150,88288,88289],{},"temp_dir arg (=\u002Ftmp\u002F)",[84847,88291,88292],{},"temp directory for compressed history, must be on the same volume",[84832,88294,88295,88300],{},[84847,88296,88297],{},[150,88298,88299],{},"miner_type arg (=cpu)",[84847,88301,88302,88303],{},"miner type ",[984,88304,88305],{},"cpu\u002Fgpu",[84832,88307,88308,88313],{},[84847,88309,88310],{},[150,88311,88312],{},"mining_threads arg (=0)",[84847,88314,88315],{},"number of mining threads(there is no mining if 0)",[84832,88317,88318,88323],{},[84847,88319,88320],{},[150,88321,88322],{},"verification_threads arg (=-1)",[84847,88324,88325],{},"number of threads for cryptographic verifications (0 = single thread, -1 = auto)",[84832,88327,88328,88333],{},[84847,88329,88330],{},[150,88331,88332],{},"miner_id arg (=0)",[84847,88334,88335],{},"seed for miner nonce generation",[84832,88337,88338,88343],{},[84847,88339,88340],{},[150,88341,88342],{},"peer arg",[84847,88344,88345],{},"nodes to connect to",[84832,88347,88348,88353],{},[84847,88349,88350],{},[150,88351,88352],{},"import arg (=0)",[84847,88354,88355],{},"specify the blockchain height to import, the compressed history is assumed to be downloaded to the specified directory",[26,88357,88359],{"id":88358},"rules-configuration","Rules configuration:",[84826,88361,88362,88370],{},[84829,88363,88364],{},[84832,88365,88366,88368],{},[84835,88367,87940],{},[84835,88369,4407],{},[84842,88371,88372,88382,88392,88402,88415,88428,88438,88448,88460,88470,88480],{},[84832,88373,88374,88379],{},[84847,88375,88376],{},[150,88377,88378],{},"CoinbaseEmission arg (=80000000)",[84847,88380,88381],{},"coinbase emission in a single block",[84832,88383,88384,88389],{},[84847,88385,88386],{},[150,88387,88388],{},"MaturityCoinbase arg (=60)",[84847,88390,88391],{},"Number of blocks before coinbase UTXO can be spent",[84832,88393,88394,88399],{},[84847,88395,88396],{},[150,88397,88398],{},"MaturityStd arg (=0)",[84847,88400,88401],{},"Number of blocks before non-coinbase UTXO can be spent",[84832,88403,88404,88409],{},[84847,88405,88406],{},[150,88407,88408],{},"MaxBodySize arg (=1048576)",[84847,88410,88411,88412],{},"Max block body size in ",[150,88413,88414],{},"[bytes]",[84832,88416,88417,88422],{},[84847,88418,88419],{},[150,88420,88421],{},"DesiredRate_s arg (=60)",[84847,88423,88424,88425],{},"Desired rate of generated blocks in ",[150,88426,88427],{},"[seconds]",[84832,88429,88430,88435],{},[84847,88431,88432],{},[150,88433,88434],{},"DifficultyReviewCycle arg (=1440)",[84847,88436,88437],{},"Number of blocks after which the mining difficulty can be adjusted",[84832,88439,88440,88445],{},[84847,88441,88442],{},[150,88443,88444],{},"MaxDifficultyChange arg (=2)",[84847,88446,88447],{},"Max difficulty change after each cycle (each step is roughly x2 complexity)",[84832,88449,88450,88455],{},[84847,88451,88452],{},[150,88453,88454],{},"TimestampAheadThreshold_s arg (=7200)",[84847,88456,88457,88458],{},"Block timestamp tolerance in ",[150,88459,88427],{},[84832,88461,88462,88467],{},[84847,88463,88464],{},[150,88465,88466],{},"WindowForMedian arg (=25)",[84847,88468,88469],{},"How many blocks are considered in calculating the timestamp median",[84832,88471,88472,88477],{},[84847,88473,88474],{},[150,88475,88476],{},"AllowPublicUtxos arg (=0)",[84847,88478,88479],{},"Set to allow regular (non-coinbase) UTXO to have non-confidential signature",[84832,88481,88482,88487],{},[84847,88483,88484],{},[150,88485,88486],{},"FakePoW arg (=0)",[84847,88488,88489],{},"Don't verify PoW. Mining is simulated by the timer. For tests only",[43,88491,88493],{"id":88492},"running-beam-node-with-stratum-server","Running Beam Node with Stratum Server",[89,88495,88496],{},[54,88497,88498],{},"Beam node implements Stratum protocol for connecting external miner clients. Clients open a TCP connection to the node though which they receive jobs to mine blocks using Equihash mining protocol.",[43,88500,88502],{"id":88501},"command-line-execution-example-1","Command line execution example",[866,88504,88506],{"className":87518,"code":88505,"language":87520,"meta":760,"style":760},".\u002Fbeam-node --port {NODE_PORT} --peer {PEER_IP} --stratum_port {STRATUM_PORT} --stratum_secrets_path {DIRECTORY} ----key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+\"\n",[150,88507,88508],{"__ignoreMap":760},[984,88509,88510,88512,88515,88518,88520,88523,88526,88529,88532,88535,88538],{"class":986,"line":987},[984,88511,87900],{"class":5316},[984,88513,88514],{"class":996}," --port",[984,88516,88517],{"class":1003}," {NODE_PORT}",[984,88519,87903],{"class":996},[984,88521,88522],{"class":1003}," {PEER_IP}",[984,88524,88525],{"class":996}," --stratum_port",[984,88527,88528],{"class":1003}," {STRATUM_PORT}",[984,88530,88531],{"class":996}," --stratum_secrets_path",[984,88533,88534],{"class":1003}," {DIRECTORY}",[984,88536,88537],{"class":996}," ----key_view=xj7uVZh7kWaY2U4h66KIDDILwtIhpsRugTWycwnDUqwOqFq+qmcVEuVqiydGxomYaF2lQcc92Rzm3HBqsvk9LrFZlrksacvpDgteNLqxQJ4DUD+",[984,88539,5326],{"class":1003},[26,88541,88543],{"id":88542},"command-line-parameters","Command line parameters",[84826,88545,88546,88554],{},[84829,88547,88548],{},[84832,88549,88550,88552],{},[84835,88551,87940],{},[84835,88553,4407],{},[84842,88555,88556,88565,88574,88584],{},[84832,88557,88558,88562],{},[84847,88559,88560],{},[150,88561,88025],{},[84847,88563,88564],{},"port to start the node server on",[84832,88566,88567,88571],{},[84847,88568,88569],{},[150,88570,87951],{},[84847,88572,88573],{},"nodes to connect to (in example remote node from masternet)",[84832,88575,88576,88581],{},[84847,88577,88578],{},[150,88579,88580],{},"stratum_port",[84847,88582,88583],{},"stratum server port (should be >0)",[84832,88585,88586,88591],{},[84847,88587,88588],{},[150,88589,88590],{},"stratum_secrets_path",[84847,88592,88593],{},"folder where configuration files are located",[26,88595,88597],{"id":88596},"configuration-files","Configuration files",[84826,88599,88600,88608],{},[84829,88601,88602],{},[84832,88603,88604,88606],{},[84835,88605,87940],{},[84835,88607,4407],{},[84842,88609,88610,88620,88630],{},[84832,88611,88612,88617],{},[84847,88613,88614],{},[150,88615,88616],{},"stratum.crt",[84847,88618,88619],{},"TLS certificate",[84832,88621,88622,88627],{},[84847,88623,88624],{},[150,88625,88626],{},"stratum.key",[84847,88628,88629],{},"private key for TLS",[84832,88631,88632,88637],{},[84847,88633,88634],{},[150,88635,88636],{},"stratum.api.keys",[84847,88638,88639],{},"file with allowed api keys",[11,88641,88642,88643,163,88645,88647],{},"For testing purposes ONLY ",[150,88644,88616],{},[150,88646,88626],{}," can be downloaded from:",[89,88649,88650,88656],{},[54,88651,88652],{},[18,88653,88654],{"href":88654,"rel":88655},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Futility\u002Funittest\u002Ftest.crt",[22],[54,88657,88658],{},[18,88659,88660],{"href":88660,"rel":88661},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Futility\u002Funittest\u002Ftest.key",[22],[11,88663,88664],{},"The stratum.api.keys file (which you create by yourself) should contain any number of strings at least 7 symbols long without spaces each:",[866,88666,88669],{"className":88667,"code":88668,"language":871},[869],"12345678\nsfdskjhfdksk\n984398349834\n",[150,88670,88668],{"__ignoreMap":760},[11,88672,88673,88674,88676],{},"If there is no ",[150,88675,88636],{},", ACL will be switched off.",[11,88678,88679,88680,88683,88684,88686,88687,5255],{},"Please note that ",[150,88681,88682],{},"stratum.api.key"," file is reloaded by the server every 5 seconds, if you want to add\u002Fdelete\u002Fedit  key you shouldn't restart ",[150,88685,84507],{},", just edit file ",[150,88688,88636],{},[43,88690,88692],{"id":88691},"known-limitations","Known limitations",[89,88694,88695],{},[54,88696,88697],{},"CPU without SSE3 instruction set are not supported",[2685,88699,88700],{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}",{"title":760,"searchDepth":761,"depth":761,"links":88702},[88703,88704,88705,88706,88707,88708],{"id":87930,"depth":761,"text":87931},{"id":88160,"depth":761,"text":88161},{"id":88249,"depth":761,"text":88250},{"id":88358,"depth":761,"text":88359},{"id":88542,"depth":761,"text":88543},{"id":88596,"depth":761,"text":88597},"Please refer to Beam Node User Guide",{},"\u002Fdocs\u002Fcore-tech\u002Finstructions-for-command-line-node",{"title":87822,"description":88709},"docs\u002Fcore-tech\u002FInstructions-for-Command-Line-Node","m45f_u9jTwSkA_ycmqZ8wdzhJ8xcsH210MEAe9D6PH4",{"id":88716,"title":87822,"body":88717,"description":89213,"extension":775,"image":776,"meta":89214,"navTitle":776,"navigation":778,"path":89215,"seo":89216,"stem":89217,"__hash__":89218},"docs\u002Fdocs\u002Fcore-tech\u002FInstructions-for-Command-Line-Wallet.md",{"type":8,"value":88718,"toc":89209},[88719,88721,88728,88732,88737,88753,88758,88762,88767,88787,88791,88796,88814,88828,88847,88851,88854,88865,88875,88878,88881,88886,88901,88910,88914,88919,88954,88959,89000,89004,89006,89075,89079,89199,89201,89206],[43,88720,87822],{"id":87827},[11,88722,87830,88723],{},[18,88724,88727],{"href":88725,"rel":88726},"https:\u002F\u002Fbeam-docs.readthedocs.io\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_cli_wallet_guide.html",[22],"Command Line User Guide",[43,88729,88731],{"id":88730},"running-a-command-line-wallet","Running a command line wallet",[89,88733,88734],{},[54,88735,88736],{},"After extracting the wallet binary to a folder, we need to initialize the wallet by executing the following command:",[866,88738,88740],{"className":87518,"code":88739,"language":87520,"meta":760,"style":760},".\u002Fbeam-wallet --command init\n",[150,88741,88742],{"__ignoreMap":760},[984,88743,88744,88747,88750],{"class":986,"line":987},[984,88745,88746],{"class":5316},".\u002Fbeam-wallet",[984,88748,88749],{"class":996}," --command",[984,88751,88752],{"class":1003}," init\n",[89,88754,88755],{},[54,88756,88757],{},"You will be prompted to provide wallet password and then the secret phrase, which would be used to initialize the master secret. Make sure to write down the secret phrase, to be able to restore wallet contents in case of emergency.",[43,88759,88761],{"id":88760},"printing-wallet-information","Printing wallet information",[89,88763,88764],{},[54,88765,88766],{},"To get the information about the current status of the wallet, execute:",[866,88768,88770],{"className":87518,"code":88769,"language":87520,"meta":760,"style":760},".\u002Fbeam-wallet --command info -n 127.0.0.1:10000\n",[150,88771,88772],{"__ignoreMap":760},[984,88773,88774,88776,88778,88781,88784],{"class":986,"line":987},[984,88775,88746],{"class":5316},[984,88777,88749],{"class":996},[984,88779,88780],{"class":1003}," info",[984,88782,88783],{"class":996}," -n",[984,88785,88786],{"class":1003}," 127.0.0.1:10000\n",[43,88788,88790],{"id":88789},"receiving-beams","Receiving Beams",[89,88792,88793],{},[54,88794,88795],{},"To receive beams start the wallet in a listening mode by running:",[866,88797,88799],{"className":87518,"code":88798,"language":87520,"meta":760,"style":760},".\u002Fbeam-wallet --command listen -n 127.0.0.1:10000\n",[150,88800,88801],{"__ignoreMap":760},[984,88802,88803,88805,88807,88810,88812],{"class":986,"line":987},[984,88804,88746],{"class":5316},[984,88806,88749],{"class":996},[984,88808,88809],{"class":1003}," listen",[984,88811,88783],{"class":996},[984,88813,88786],{"class":1003},[89,88815,88816,88822,88825],{},[54,88817,88818,88819],{},"After entering the password, the wallet will print out the line similar to: ",[150,88820,88821],{},"WalletID 4a0e54b24d5fdf06891a8eaa57b4b3ac16731e932a64da8ec768083495d624f1 subscribes to BBS channel 9",[54,88823,88824],{},"This shows the SBBS address the wallet is listening on. This address can be copied and sent to Sender.",[54,88826,88827],{},"If you want to create new SBBS address use the following command:",[866,88829,88831],{"className":87518,"code":88830,"language":87520,"meta":760,"style":760},".\u002Fbeam-wallet --command=new_addr --listen -n 127.0.0.1:10000\n",[150,88832,88833],{"__ignoreMap":760},[984,88834,88835,88837,88840,88843,88845],{"class":986,"line":987},[984,88836,88746],{"class":5316},[984,88838,88839],{"class":996}," --command=new_addr",[984,88841,88842],{"class":996}," --listen",[984,88844,88783],{"class":996},[984,88846,88786],{"class":1003},[43,88848,88850],{"id":88849},"exporting-keys-for-standalone-nodes","Exporting keys for standalone Node(s)",[11,88852,88853],{},"The Node(s) that belongs to the wallet should be given appropriate keys for the following purpose:",[89,88855,88856,88859,88862],{},[54,88857,88858],{},"Node-Wallet authentication",[54,88860,88861],{},"Standalone mining (when the wallet is offline)",[54,88863,88864],{},"Monitoring wallet activity, supporting recovery and etc.",[11,88866,88867,88868,88870,88871,88874],{},"It's possible to export the master wallet key, as well as a ",[58,88869,85211],{}," key, which is derived from the master key (but not vice versa!).\nIn addition every key can be exported as a full key, or as a ",[58,88872,88873],{},"viewer"," key, which is suitable for Node authentication and monitoring activity, but not for generating and spending the UTXOs.",[11,88876,88877],{},"Keeping in mind that the wallet may own several nodes, we recommend providing each node a different child key for mining, so that in case it gets hacked - the attacker won't be able to steal what's been mined by other nodes. Anyway when the owner wallet connects the Node prefers to involve the wallet in mining, so that key won't be used either.\nObviously it's not recommended to export the master secret key ever.",[11,88879,88880],{},"In addition to mining, one or more viewer keys should be exported and provided to the nodes. To be able to communicate with the wallet, each Node must have its master viewer key. In addition to this, every node should have all the viewer child keys that are used for mining, to be able to detect\u002Frestore all the mined UTXOs.",[89,88882,88883],{},[54,88884,88885],{},"To export a child key",[866,88887,88889],{"className":87518,"code":88888,"language":87520,"meta":760,"style":760},".\u002Fbeam-wallet --command=key_export --subkey=N\n",[150,88890,88891],{"__ignoreMap":760},[984,88892,88893,88895,88898],{"class":986,"line":987},[984,88894,88746],{"class":5316},[984,88896,88897],{"class":996}," --command=key_export",[984,88899,88900],{"class":996}," --subkey=N\n",[11,88902,88903,88904,88906,88907,88909],{},"whereas ",[150,88905,10869],{}," is the child index. Specifying ",[150,88908,1171],{}," means the master key.",[43,88911,88913],{"id":88912},"sending-beams","Sending Beams",[89,88915,88916],{},[54,88917,88918],{},"To sending beams use the following command",[866,88920,88922],{"className":87518,"code":88921,"language":87520,"meta":760,"style":760},".\u002Fbeam-wallet --command=send -n 127.0.0.1:10000 -r 77de6bd3de40bc58ab7e4fb68d5e0596fd1e72f3c4fb3eb3d106082d89264909 -a 11.3 -f 0.2\n",[150,88923,88924],{"__ignoreMap":760},[984,88925,88926,88928,88931,88933,88936,88939,88942,88945,88948,88951],{"class":986,"line":987},[984,88927,88746],{"class":5316},[984,88929,88930],{"class":996}," --command=send",[984,88932,88783],{"class":996},[984,88934,88935],{"class":1003}," 127.0.0.1:10000",[984,88937,88938],{"class":996}," -r",[984,88940,88941],{"class":1003}," 77de6bd3de40bc58ab7e4fb68d5e0596fd1e72f3c4fb3eb3d106082d89264909",[984,88943,88944],{"class":996}," -a",[984,88946,88947],{"class":996}," 11.3",[984,88949,88950],{"class":996}," -f",[984,88952,88953],{"class":996}," 0.2\n",[89,88955,88956],{},[54,88957,88958],{},"The send-related command line parameters of the wallet:",[84826,88960,88961,88969],{},[84829,88962,88963],{},[84832,88964,88965,88967],{},[84835,88966,87940],{},[84835,88968,4407],{},[84842,88970,88971,88981,88990],{},[84832,88972,88973,88978],{},[84847,88974,88975],{},[150,88976,88977],{},"r",[84847,88979,88980],{},"SBBS address of the receiver node",[84832,88982,88983,88987],{},[84847,88984,88985],{},[150,88986,18],{},[84847,88988,88989],{},"amount of beams to send",[84832,88991,88992,88997],{},[84847,88993,88994],{},[150,88995,88996],{},"f",[84847,88998,88999],{},"transaction fee",[43,89001,89003],{"id":89002},"the-full-list-of-wallet-command-line-options","The Full list of wallet command line options",[26,89005,88161],{"id":88160},[84826,89007,89008,89016],{},[84829,89009,89010],{},[84832,89011,89012,89014],{},[84835,89013,87940],{},[84835,89015,4407],{},[84842,89017,89018,89028,89039,89048,89057,89067],{},[84832,89019,89020,89026],{},[84847,89021,89022,5335,89024],{},[150,89023,88180],{},[150,89025,88183],{},[84847,89027,88186],{},[84832,89029,89030,89037],{},[84847,89031,89032,89034,89035],{},[150,89033,11],{},"  or ",[150,89036,88196],{},[84847,89038,88199],{},[84832,89040,89041,89045],{},[84847,89042,89043],{},[150,89044,88206],{},[84847,89046,89047],{},"log level `[info",[84832,89049,89050,89054],{},[84847,89051,89052],{},[150,89053,88219],{},[84847,89055,89056],{},"file log level `[info",[84832,89058,89059,89065],{},[84847,89060,89061,5335,89063],{},[150,89062,11067],{},[150,89064,88233],{},[84847,89066,88236],{},[84832,89068,89069,89073],{},[84847,89070,89071],{},[150,89072,88243],{},[84847,89074,88246],{},[26,89076,89078],{"id":89077},"wallet-options","Wallet options:",[84826,89080,89081,89089],{},[84829,89082,89083],{},[84832,89084,89085,89087],{},[84835,89086,87940],{},[84835,89088,4407],{},[84842,89090,89091,89101,89111,89123,89135,89147,89159,89169,89179,89189],{},[84832,89092,89093,89098],{},[84847,89094,89095],{},[150,89096,89097],{},"seed_phrase arg",[84847,89099,89100],{},"phrase to initialize master secret, according to BIP-39",[84832,89102,89103,89108],{},[84847,89104,89105],{},[150,89106,89107],{},"pass arg",[84847,89109,89110],{},"password for the wallet",[84832,89112,89113,89120],{},[84847,89114,89115,5335,89117],{},[150,89116,18],{},[150,89118,89119],{},"amount arg",[84847,89121,89122],{},"amount to send (in Beams, 1 Beam = 1000000 chattle)",[84832,89124,89125,89132],{},[84847,89126,89127,5335,89129],{},[150,89128,88996],{},[150,89130,89131],{},"fee arg (=0)",[84847,89133,89134],{},"fee (in Beams, 1 Beam = 1000000 chattle)",[84832,89136,89137,89144],{},[84847,89138,89139,5335,89141],{},[150,89140,88977],{},[150,89142,89143],{},"receiver_addr arg",[84847,89145,89146],{},"address of receiver",[84832,89148,89149,89156],{},[84847,89150,89151,5335,89153],{},[150,89152,11184],{},[150,89154,89155],{},"node_addr arg",[84847,89157,89158],{},"address of node",[84832,89160,89161,89166],{},[84847,89162,89163],{},[150,89164,89165],{},"wallet_path arg (=wallet.db)",[84847,89167,89168],{},"path to wallet file",[84832,89170,89171,89176],{},[84847,89172,89173],{},[150,89174,89175],{},"bbs_keystore_path arg (=bbs_keys.db)",[84847,89177,89178],{},"path to file with bbs keys",[84832,89180,89181,89186],{},[84847,89182,89183],{},[150,89184,89185],{},"tx_history",[84847,89187,89188],{},"print transactions' history in info command",[84832,89190,89191,89196],{},[84847,89192,89193],{},[150,89194,89195],{},"command arg",[84847,89197,89198],{},"command to execute `[send",[43,89200,88692],{"id":88691},[89,89202,89203],{},[54,89204,89205],{},"CPUs without SSE3 instruction set are not supported",[2685,89207,89208],{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":760,"searchDepth":761,"depth":761,"links":89210},[89211,89212],{"id":88160,"depth":761,"text":88161},{"id":89077,"depth":761,"text":89078},"Please refer to Command Line User Guide",{},"\u002Fdocs\u002Fcore-tech\u002Finstructions-for-command-line-wallet",{"title":87822,"description":89213},"docs\u002Fcore-tech\u002FInstructions-for-Command-Line-Wallet","H_7z1t8swK7xziC1S3V2eMQ18QccDHM0HLFzZhVk9SQ",{"id":89220,"title":89221,"body":89222,"description":760,"extension":775,"image":776,"meta":89380,"navTitle":776,"navigation":778,"path":89381,"seo":89382,"stem":89383,"__hash__":89384},"docs\u002Fdocs\u002Fcore-tech\u002FLaser-BEAM-commands.md","Laser BEAM Commands",{"type":8,"value":89223,"toc":89378},[89224,89229,89234,89239,89244,89246,89251,89256,89261,89263,89268,89273,89278,89280,89285,89290,89295,89300,89305,89307,89312,89317,89322,89324,89329,89334,89339,89344,89346,89351,89356,89361,89366,89368,89373],[51,89225,89226],{},[54,89227,89228],{},"show laser channels",[11,89230,89231],{},[150,89232,89233],{},".\u002Fbeam-wallet-masternet laser --laser_channels_list",[51,89235,89236],{"start":761},[54,89237,89238],{},"wait incoming laser connection (will generate address)",[11,89240,89241],{},[150,89242,89243],{},".\u002Fbeam-wallet-masternet laser --laser_receive --laser_my_locked_amount \u003Camount in beam> --laser_remote_locked_amount \u003Camount in beam> --laser_fee \u003Camount in groth>",[11,89245,10725],{},[11,89247,89248],{},[150,89249,89250],{},".\u002Fbeam-wallet-masternet laser --laser_receive --laser_my_locked_amount 1.1 --laser_remote_locked_amount 1.1 --laser_fee 100",[51,89252,89253],{"start":772},[54,89254,89255],{},"connect with laser",[11,89257,89258],{},[150,89259,89260],{},".\u002Fbeam-wallet-masternet laser --laser_open --laser_address \u003Caddress> --laser_my_locked_amount \u003Camount in beam> --laser_remote_locked_amount \u003Camount in beam> --laser_fee \u003Camount in groth>",[11,89262,10725],{},[11,89264,89265],{},[150,89266,89267],{},".\u002Fbeam-wallet-masternet laser --laser_open --laser_address 285a776d78e6e0ee285a196282e61768b87c7c108a7d8cf7622a094555d2cfeb80e --laser_my_locked_amount 0.9 --laser_remote_locked_amount 1.1 --laser_fee 100",[51,89269,89270],{"start":1024},[54,89271,89272],{},"listen laser channels",[11,89274,89275],{},[150,89276,89277],{},".\u002Fbeam-wallet-masternet laser --laser_listen [channel id 1,channel id 2, ... channel id N]",[11,89279,10725],{},[11,89281,89282],{},[150,89283,89284],{},".\u002Fbeam-wallet-masternet laser --laser_listen",[11,89286,89287],{},[150,89288,89289],{},".\u002Fbeam-wallet-masternet laser --laser_listen 4bd5ee31b264f6102709dc145cf37b55",[11,89291,89292],{},[150,89293,89294],{},".\u002Fbeam-wallet-masternet laser --laser_listen 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",[51,89296,89297],{"start":1035},[54,89298,89299],{},"send coins",[11,89301,89302],{},[150,89303,89304],{},".\u002Fbeam-wallet-masternet laser --laser_send \u003Camount in beam> --laser_channel \u003Cchannel id>",[11,89306,10725],{},[11,89308,89309],{},[150,89310,89311],{},".\u002Fbeam-wallet-masternet laser --laser_send 0.1 --laser_channel 4bd5ee31b264f6102709dc145cf37b55",[51,89313,89314],{"start":1098},[54,89315,89316],{},"close laser channels. after lock time is up or if other side is offline",[11,89318,89319],{},[150,89320,89321],{},".\u002Fbeam-wallet-masternet laser --laser_drop \u003Cchannel id 1,channel id 2, ... channel id N>",[11,89323,10725],{},[11,89325,89326],{},[150,89327,89328],{},".\u002Fbeam-wallet-masternet laser --laser_drop 4bd5ee31b264f6102709dc145cf37b55",[11,89330,89331],{},[150,89332,89333],{},".\u002Fbeam-wallet-masternet laser --laser_drop 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",[51,89335,89336],{"start":1111},[54,89337,89338],{},"close laser channels. before lock time is up, only if other side is online",[11,89340,89341],{},[150,89342,89343],{},".\u002Fbeam-wallet-masternet laser --laser_close \u003Cchannel id 1,channel id 2, ... channel id N>",[11,89345,10725],{},[11,89347,89348],{},[150,89349,89350],{},".\u002Fbeam-wallet-masternet laser --laser_close 4bd5ee31b264f6102709dc145cf37b55",[11,89352,89353],{},[150,89354,89355],{},".\u002Fbeam-wallet-masternet laser --laser_close 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",[51,89357,89358],{"start":1124},[54,89359,89360],{},"delete laser channels from DB, only for closed channels",[11,89362,89363],{},[150,89364,89365],{},".\u002Fbeam-wallet-masternet laser --laser_delete \u003Cchannel id 1,channel id 2, ... channel id N>",[11,89367,10725],{},[11,89369,89370],{},[150,89371,89372],{},".\u002Fbeam-wallet-masternet laser --laser_delete 4bd5ee31b264f6102709dc145cf37b55",[11,89374,89375],{},[150,89376,89377],{},".\u002Fbeam-wallet-masternet laser --laser_delete 4bd5ee31b264f6102709dc145cf37b55,73e5af986eb3ea165f71bbb54ebfad37",{"title":760,"searchDepth":761,"depth":761,"links":89379},[],{},"\u002Fdocs\u002Fcore-tech\u002Flaser-beam-commands",{"description":760},"docs\u002Fcore-tech\u002FLaser-BEAM-commands","lgRWJbaezGzl4PY4_kbqsabW6z5U2Iqd8eDqaHP5uzk",{"id":89386,"title":82579,"body":89387,"description":760,"extension":775,"image":776,"meta":89643,"navTitle":776,"navigation":778,"path":89644,"seo":89645,"stem":89646,"__hash__":89647},"docs\u002Fdocs\u002Fcore-tech\u002FLelantus-CLI.md",{"type":8,"value":89388,"toc":89630},[89389,89393,89396,89440,89449,89451,89473,89476,89485,89494,89496,89499,89502,89508,89511,89514,89520,89524,89527,89533,89537,89540,89543,89557,89560,89578,89581],[26,89390,89392],{"id":89391},"v60-changes","V6.0 Changes",[11,89394,89395],{},"Starting from v6.0",[89,89397,89398,89408,89415,89428],{},[54,89399,89400,89401,89404,89405],{},"CLI ",[150,89402,89403],{},"get_address --offline"," switch is renamed to ",[150,89406,89407],{},"--offline_count",[54,89409,89410,89411,89414],{},"default address generated by the UI is an offline address that includes 1 offline voucher (enables 1 offline payment). This address is equivalent to the ",[150,89412,89413],{},"get_address --ofline_count 1"," in CLI",[54,89416,89417,89418,89420,89421,89423,89424,89427],{},"all ",[150,89419,5811],{}," addresses by default trigger an online regular transaction if used in CLI ",[150,89422,9803],{}," without the ",[150,89425,89426],{},"--offline"," switch",[54,89429,89430,89431,89433,89434,89436,89437,89439],{},"to make an offline payment via the ",[150,89432,9803],{}," command with the ",[150,89435,5811],{}," address the ",[150,89438,89426],{}," switch should be added",[11,89441,89442,89443,89448],{},"Text below includes the changes described in this section. For CLI instructions before v6.0 refer the ",[18,89444,89447],{"href":89445,"rel":89446},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLelantus-CLI-(v6.0-)",[22],"Lelantus CLI Historical"," page.",[26,89450,4400],{"id":4399},[11,89452,89453,89454,89457,89458,89461,89462,89465,89466,89469,89470,89472],{},"Conceptually, Lelantus is a mean which allows to avoid UXTO linkability in transactions graph. To make UTXOs unlinked user should insert regular BEAM UTXO into ",[58,89455,89456],{},"shielded pool",", converting these UTXOs into ",[58,89459,89460],{},"shielded UTXOs"," and then, after some time extract them back as ",[58,89463,89464],{},"unlinked"," UTXOs. ",[58,89467,89468],{},"Shielded UTXO"," belonging to the wallet could be detected by the node with owner key (as regular utxo), and the user can use this info to extract these coins back.\nWe are trying to hide the details of this process from the user, extracting from the ",[58,89471,89456],{}," is performed automatically when user sends beams, it influences the fee, but the user shouldn't think about unlinking.",[11,89474,89475],{},"To send BEAMs through Lelantus we introduced three types of addresses:",[89,89477,89478,89480,89482],{},[54,89479,5811],{},[54,89481,5814],{},[54,89483,89484],{},"public offline",[11,89486,89487,89488,89490,89491,81654],{},"All of these addresses could be used with ",[150,89489,9803],{}," command and should be passed via ",[150,89492,89493],{},"-r",[716,89495,3089],{"id":3088},[11,89497,89498],{},"It allows sending BEAMs without interactions with the receiver. It is a very long base58 string, which contains embedded information for 10 payments(in UI), also it has SBBS address of the receiver, so, in the case when the receiver becomes online, the sender could get info for more payments.",[11,89500,89501],{},"To generate this type of address with 10 embedded payments use",[866,89503,89506],{"className":89504,"code":89505,"language":871},[869],".\u002Fbeam-wallet get_address --offline_count=10\n",[150,89507,89505],{"__ignoreMap":760},[716,89509,89510],{"id":3128},"Max privacy address",[11,89512,89513],{},"This address allows to make only one payment, there is no ability to get more payments, and there is a guaranty that shielded coins received by sending on this address will be extracted in the correct moment to achieve the max privacy effect.\nTo generate a new max privacy address use",[866,89515,89518],{"className":89516,"code":89517,"language":871},[869],".\u002Fbeam-wallet get_address --max_privacy \n",[150,89519,89517],{"__ignoreMap":760},[716,89521,89523],{"id":89522},"public-offline-address","Public offline address",[11,89525,89526],{},"This type of address is intended to be used to receive donations. It is permanent, relatively short, and provides less privacy comparing with others, the sender has an ability to detect if the sent shielded coin has been spent.\nThis type of address could be obtained with the following command:",[866,89528,89531],{"className":89529,"code":89530,"language":871},[869],".\u002Fbeam-wallet get_address --public_offline \n",[150,89532,89530],{"__ignoreMap":760},[26,89534,89536],{"id":89535},"offline-payments","Offline payments",[11,89538,89539],{},"With Lelantus we are able to without need to be online, this is also known as one-side payments. To make them we need to accomplish the following steps:",[716,89541,89542],{"id":18063},"Receiver",[51,89544,89545,89554],{},[54,89546,89547,89548],{},"Receiver have to generate a token with the needed quantity of vouchers (allowed number of payments)",[866,89549,89552],{"className":89550,"code":89551,"language":871},[869],".\u002Fbeam-wallet get_address --offline_count=3 \n",[150,89553,89551],{"__ignoreMap":760},[54,89555,89556],{},"Send this token to the sender, and go offline",[716,89558,89559],{"id":18057},"Sender",[51,89561,89562],{},[54,89563,89564,89565,89567,89568,89571,89572],{},"Sender can use the received token with the ",[150,89566,89426],{}," switch to make payments as many times as many vouchers this token has. If the ",[150,89569,89570],{},"--ofline"," switch is not specified, regular online transaction would be executed",[866,89573,89576],{"className":89574,"code":89575,"language":871},[869],".\u002Fbeam_wallet send -r \u003Ctoken> --offline -n \u003Cnode address> -a \u003Camount> -f \u003Cfee>\n",[150,89577,89575],{"__ignoreMap":760},[716,89579,89542],{"id":89580},"receiver-1",[51,89582,89583,89605],{},[54,89584,89585,89586,89588,89594,89596,89597,89599],{},"Receiver after a while should check if he has ",[58,89587,89460],{},[866,89589,89592],{"className":89590,"code":89591,"language":871},[869],".\u002Fbeam_wallet info\n",[150,89593,89591],{"__ignoreMap":760},[957,89595],{},"the shielded coins has type ",[150,89598,17317],{},[866,89600,89603],{"className":89601,"code":89602,"language":871},[869],"|    ID |           BEAM |          GROTH | Maturity           | Status               | Type     |\n   14724               34                0   95849                [Spent]                shld\n   14725                7                0   95873                [Spent]                shld\n",[150,89604,89602],{"__ignoreMap":760},[54,89606,89607,89608,441,89611,5335,89614,89617,89618,89624],{},"Also a new transaction record should appear with status ",[150,89609,89610],{},"received max privacy",[150,89612,89613],{},"received offline",[150,89615,89616],{},"received public offline",", depending od what address type was used",[866,89619,89622],{"className":89620,"code":89621,"language":871},[869],".\u002Fbeam_wallet info --tx_history\n",[150,89623,89621],{"__ignoreMap":760},[866,89625,89628],{"className":89626,"code":89627,"language":871},[869],"2020.11.14 12:52:22    incoming                                     5   received offline        c714875164c8444cb12f90c4353fa1f6\n2020.10.30 18:13:22    incoming                                     1   received max privacy    7a6dbf11fa6649e39992c41c349ab6ad\n2020.10.30 17:57:22    incoming                                     4   received max privacy    d5f1b5acee474b4cb187321431040306\n2020.10.30 11:15:22    incoming                                     2   received public offline\n",[150,89629,89627],{"__ignoreMap":760},{"title":760,"searchDepth":761,"depth":761,"links":89631},[89632,89633,89638],{"id":89391,"depth":761,"text":89392},{"id":4399,"depth":761,"text":4400,"children":89634},[89635,89636,89637],{"id":3088,"depth":772,"text":3089},{"id":3128,"depth":772,"text":89510},{"id":89522,"depth":772,"text":89523},{"id":89535,"depth":761,"text":89536,"children":89639},[89640,89641,89642],{"id":18063,"depth":772,"text":89542},{"id":18057,"depth":772,"text":89559},{"id":89580,"depth":772,"text":89542},{},"\u002Fdocs\u002Fcore-tech\u002Flelantus-cli",{"description":760},"docs\u002Fcore-tech\u002FLelantus-CLI","Fsx6tjgqFtZdnGrD9Q2s_64hiR827CdcFGfXZD6EBhw",{"id":89649,"title":784,"body":89650,"description":760,"extension":775,"image":776,"meta":89807,"navTitle":776,"navigation":778,"path":785,"seo":89808,"stem":786,"__hash__":89809},"docs\u002Fdocs\u002Fcore-tech\u002FLelantus-CLI-(historical,-below-v6.0).md",{"type":8,"value":89651,"toc":89794},[89652,89656,89662,89664,89676,89678,89686,89692,89694,89696,89698,89704,89706,89708,89713,89715,89717,89722,89724,89726,89728,89740,89742,89753,89755],[26,89653,89655],{"id":89654},"historical-notice","Historical notice",[11,89657,89658,89659,89448],{},"This document is valid for version below v6.0 and is retained only for historical reasons. For v6.0+ refer the ",[18,89660,82579],{"href":12591,"rel":89661},[22],[26,89663,4400],{"id":4399},[11,89665,89453,89666,89457,89668,89461,89670,89465,89672,89469,89674,89472],{},[58,89667,89456],{},[58,89669,89460],{},[58,89671,89464],{},[58,89673,89468],{},[58,89675,89456],{},[11,89677,89475],{},[89,89679,89680,89682,89684],{},[54,89681,5811],{},[54,89683,5814],{},[54,89685,89484],{},[11,89687,89487,89688,89490,89690,81654],{},[150,89689,9803],{},[150,89691,89493],{},[716,89693,3089],{"id":3088},[11,89695,89498],{},[11,89697,89501],{},[866,89699,89702],{"className":89700,"code":89701,"language":871},[869],".\u002Fbeam-wallet get_address --offline=10\n",[150,89703,89701],{"__ignoreMap":760},[716,89705,89510],{"id":3128},[11,89707,89513],{},[866,89709,89711],{"className":89710,"code":89517,"language":871},[869],[150,89712,89517],{"__ignoreMap":760},[716,89714,89523],{"id":89522},[11,89716,89526],{},[866,89718,89720],{"className":89719,"code":89530,"language":871},[869],[150,89721,89530],{"__ignoreMap":760},[26,89723,89536],{"id":89535},[11,89725,89539],{},[716,89727,89542],{"id":18063},[51,89729,89730,89738],{},[54,89731,89547,89732],{},[866,89733,89736],{"className":89734,"code":89735,"language":871},[869],".\u002Fbeam-wallet get_address --offline=3 \n",[150,89737,89735],{"__ignoreMap":760},[54,89739,89556],{},[716,89741,89559],{"id":18057},[51,89743,89744],{},[54,89745,89746,89747],{},"Sender can use the received token to make payments as many times as many vouchers this token has.\n",[866,89748,89751],{"className":89749,"code":89750,"language":871},[869],".\u002Fbeam_wallet insert_to_pool -r \u003Ctoken> -n \u003Cnode address> -a \u003Camount> -f \u003Cfee>\n",[150,89752,89750],{"__ignoreMap":760},[716,89754,89542],{"id":89580},[51,89756,89757,89776],{},[54,89758,89585,89759,89761,89766,89596,89768,89770],{},[58,89760,89460],{},[866,89762,89764],{"className":89763,"code":89591,"language":871},[869],[150,89765,89591],{"__ignoreMap":760},[957,89767],{},[150,89769,17317],{},[866,89771,89774],{"className":89772,"code":89773,"language":871},[869],"|                                                ID |           BEAM |          GROTH | Maturity           | Status               | Type     |\n                                               14724               34                0   95849                [Spent]                shld\n                                               14725                7                0   95873                [Spent]                shld\n",[150,89775,89773],{"__ignoreMap":760},[54,89777,89607,89778,441,89780,5335,89782,89617,89784,89789],{},[150,89779,89610],{},[150,89781,89613],{},[150,89783,89616],{},[866,89785,89787],{"className":89786,"code":89621,"language":871},[869],[150,89788,89621],{"__ignoreMap":760},[866,89790,89792],{"className":89791,"code":89627,"language":871},[869],[150,89793,89627],{"__ignoreMap":760},{"title":760,"searchDepth":761,"depth":761,"links":89795},[89796,89797,89802],{"id":89654,"depth":761,"text":89655},{"id":4399,"depth":761,"text":4400,"children":89798},[89799,89800,89801],{"id":3088,"depth":772,"text":3089},{"id":3128,"depth":772,"text":89510},{"id":89522,"depth":772,"text":89523},{"id":89535,"depth":761,"text":89536,"children":89803},[89804,89805,89806],{"id":18063,"depth":772,"text":89542},{"id":18057,"depth":772,"text":89559},{"id":89580,"depth":772,"text":89542},{},{"description":760},"WVVVDmitqRon2AlavoARDuWxdcVtPxFTl_WGiWyMlug",{"id":5,"title":6,"body":89811,"description":13,"extension":775,"image":776,"meta":90327,"navTitle":776,"navigation":778,"path":3,"seo":90328,"stem":780,"__hash__":781},{"type":8,"value":89812,"toc":90314},[89813,89815,89820,89822,89827,89829,89831,89833,89843,89845,89853,89855,89857,89873,89875,89877,89881,89883,89885,89889,89895,89905,89907,89909,89913,89921,89923,89925,89945,89947,89967,89969,89971,89983,89985,89987,89995,89997,90033,90035,90037,90042,90044,90046,90048,90052,90056,90058,90070,90076,90082,90092,90094,90122,90124,90128,90130,90138,90142,90156,90158,90172,90180,90182,90204,90206,90208,90242,90244,90288,90290,90292,90294,90308,90310,90312],[11,89814,13],{},[11,89816,16,89817,24],{},[18,89818,23],{"href":20,"rel":89819},[22],[26,89821,29],{"id":28},[11,89823,32,89824,38],{},[18,89825,37],{"href":35,"rel":89826},[22],[11,89828,41],{},[43,89830,46],{"id":45},[11,89832,49],{},[51,89834,89835,89839,89841],{},[54,89836,56,89837,61],{},[58,89838,60],{},[54,89840,64],{},[54,89842,67],{},[11,89844,70],{},[51,89846,89847,89849,89851],{},[54,89848,75],{},[54,89850,78],{},[54,89852,81],{},[11,89854,84],{},[11,89856,87],{},[89,89858,89859,89863,89867],{},[54,89860,89861,97],{},[94,89862,96],{},[54,89864,89865,103],{},[94,89866,102],{},[54,89868,89869,109,89871,114],{},[94,89870,108],{},[111,89872,113],{},[26,89874,78],{"id":117},[11,89876,120],{},[11,89878,123,89879,127],{},[58,89880,126],{},[11,89882,130],{},[26,89884,134],{"id":133},[11,89886,137,89887,140],{},[111,89888,113],{},[11,89890,143,89891,148,89893],{},[145,89892,147],{},[150,89894,152],{},[11,89896,89897,159,89899,163,89901,167,89903,170],{},[156,89898,158],{},[150,89900,162],{},[150,89902,166],{},[111,89904,113],{},[26,89906,174],{"id":173},[11,89908,177],{},[11,89910,180,89911,184],{},[145,89912,183],{},[89,89914,89915,89917,89919],{},[54,89916,189],{},[54,89918,192],{},[54,89920,195],{},[43,89922,183],{"id":198},[11,89924,201],{},[89,89926,89927,89931,89935,89939],{},[54,89928,206,89929],{},[150,89930,209],{},[54,89932,212,89933,215],{},[150,89934,166],{},[54,89936,218,89937,222],{},[150,89938,221],{},[54,89940,225,89941],{},[89,89942,89943],{},[54,89944,230],{},[11,89946,233],{},[89,89948,89949,89953,89959,89963],{},[54,89950,206,89951],{},[150,89952,209],{},[54,89954,242,89955,246,89957,249],{},[150,89956,245],{},[150,89958,221],{},[54,89960,212,89961,255],{},[150,89962,254],{},[54,89964,218,89965,260],{},[150,89966,162],{},[11,89968,263],{},[11,89970,266],{},[89,89972,89973,89977,89979],{},[54,89974,271,89975],{},[150,89976,221],{},[54,89978,276],{},[54,89980,279,89981,282],{},[150,89982,96],{},[26,89984,286],{"id":285},[11,89986,289],{},[89,89988,89989,89991,89993],{},[54,89990,294],{},[54,89992,297],{},[54,89994,300],{},[11,89996,303],{},[89,89998,89999,90015,90017,90019],{},[54,90000,308,90001],{},[89,90002,90003,90005,90007],{},[54,90004,313],{},[54,90006,316],{},[54,90008,319,90009],{},[89,90010,90011,90013],{},[54,90012,324],{},[54,90014,327],{},[54,90016,330],{},[54,90018,333],{},[54,90020,336,90021],{},[89,90022,90023,90025,90027],{},[54,90024,341],{},[54,90026,344],{},[54,90028,347,90029],{},[89,90030,90031],{},[54,90032,352],{},[43,90034,356],{"id":355},[11,90036,359],{},[11,90038,362,90039,368],{},[18,90040,367],{"href":365,"rel":90041},[22],[11,90043,371],{},[26,90045,375],{"id":374},[11,90047,378],{},[11,90049,381,90050,385],{},[58,90051,384],{},[11,90053,388,90054,392],{},[58,90055,391],{},[11,90057,395],{},[89,90059,90060,90062,90064,90066],{},[54,90061,400],{},[54,90063,403],{},[54,90065,406],{},[54,90067,409,90068],{},[150,90069,412],{},[11,90071,415,90072,419,90074,385],{},[150,90073,418],{},[150,90075,422],{},[11,90077,425,90078,429,90080,385],{},[150,90079,428],{},[150,90081,432],{},[11,90083,435,90084,438,90086,441,90088,445,90090,448],{},[58,90085,391],{},[150,90087,422],{},[150,90089,444],{},[150,90091,418],{},[11,90093,451],{},[89,90095,90096,90104,90108,90112,90116,90120],{},[54,90097,456,90098,441,90100,461,90102],{},[150,90099,422],{},[150,90101,444],{},[58,90103,391],{},[54,90105,466,90106,470],{},[150,90107,469],{},[54,90109,473,90110],{},[150,90111,476],{},[54,90113,479,90114,482],{},[58,90115,384],{},[54,90117,485,90118],{},[58,90119,384],{},[54,90121,490],{},[26,90123,494],{"id":493},[11,90125,497,90126,500],{},[58,90127,391],{},[11,90129,503],{},[11,90131,506,90132,510,90134,514,90136,385],{},[58,90133,509],{},[58,90135,513],{},[58,90137,391],{},[11,90139,519,90140,523],{},[150,90141,522],{},[89,90143,90144,90148],{},[54,90145,90146],{},[150,90147,530],{},[54,90149,90150,441,90152,539,90154],{},[150,90151,535],{},[150,90153,538],{},[58,90155,391],{},[11,90157,544],{},[89,90159,90160,90164],{},[54,90161,90162],{},[150,90163,551],{},[54,90165,90166,557,90168,561,90170],{},[150,90167,556],{},[94,90169,560],{},[58,90171,391],{},[11,90173,566,90174,569,90176,572,90178,385],{},[58,90175,391],{},[150,90177,556],{},[150,90179,575],{},[11,90181,578],{},[89,90183,90184,90194],{},[54,90185,583,90186],{},[89,90187,90188],{},[54,90189,90190,590,90192],{},[150,90191,556],{},[58,90193,513],{},[54,90195,595,90196],{},[89,90197,90198],{},[54,90199,90200,590,90202],{},[150,90201,575],{},[58,90203,604],{},[11,90205,607],{},[11,90207,610],{},[89,90209,90210,90214,90218,90228,90234,90240],{},[54,90211,615,90212],{},[150,90213,556],{},[54,90215,620,90216],{},[150,90217,623],{},[54,90219,626,90220,630,90222,90224],{},[150,90221,629],{},[150,90223,633],{},[89,90225,90226],{},[54,90227,638],{},[54,90229,641,90230,644,90232],{},[150,90231,633],{},[150,90233,418],{},[54,90235,641,90236,651,90238,654],{},[150,90237,556],{},[150,90239,535],{},[54,90241,657],{},[11,90243,660],{},[89,90245,90246,90252,90256,90262,90266,90276,90280,90286],{},[54,90247,665,90248,441,90250],{},[150,90249,535],{},[150,90251,538],{},[54,90253,672,90254],{},[150,90255,522],{},[54,90257,677,90258,680,90260],{},[150,90259,522],{},[150,90261,575],{},[54,90263,620,90264],{},[150,90265,687],{},[54,90267,626,90268,630,90270,90272],{},[150,90269,629],{},[150,90271,633],{},[89,90273,90274],{},[54,90275,698],{},[54,90277,701,90278,704],{},[150,90279,418],{},[54,90281,707,90282,710,90284],{},[150,90283,633],{},[150,90285,418],{},[54,90287,657],{},[716,90289,719],{"id":718},[11,90291,722],{},[716,90293,726],{"id":725},[11,90295,729,90296,732,90298,735,90300,738,90302,741,90304,744,90306,748],{},[58,90297,391],{},[58,90299,513],{},[58,90301,513],{},[58,90303,391],{},[58,90305,513],{},[150,90307,747],{},[716,90309,752],{"id":751},[11,90311,755],{},[11,90313,758],{},{"title":760,"searchDepth":761,"depth":761,"links":90315},[90316,90317,90318,90319,90320,90321,90322],{"id":28,"depth":761,"text":29},{"id":117,"depth":761,"text":78},{"id":133,"depth":761,"text":134},{"id":173,"depth":761,"text":174},{"id":285,"depth":761,"text":286},{"id":374,"depth":761,"text":375},{"id":493,"depth":761,"text":494,"children":90323},[90324,90325,90326],{"id":718,"depth":772,"text":719},{"id":725,"depth":772,"text":726},{"id":751,"depth":772,"text":752},{},{"description":13},{"id":90330,"title":788,"body":90331,"description":760,"extension":775,"image":776,"meta":90926,"navTitle":776,"navigation":778,"path":789,"seo":90927,"stem":790,"__hash__":90928},"docs\u002Fdocs\u002Fcore-tech\u002FLightning-Network.md",{"type":8,"value":90332,"toc":90906},[90333,90337,90341,90348,90359,90366,90415,90419,90425,90431,90435,90438,90449,90453,90456,90459,90467,90470,90474,90477,90490,90504,90510,90514,90517,90526,90532,90535,90539,90542,90545,90579,90593,90596,90622,90636,90640,90643,90647,90676,90679,90683,90700,90704,90715,90718,90722,90730,90734,90737,90740,90801,90805,90811,90814,90820,90823,90827,90830,90834,90840,90843,90847,90853,90864,90867,90871,90877,90881,90887,90890,90894,90900,90903],[26,90334,90336],{"id":90335},"aka-laser-beam","a.k.a. Laser Beam",[43,90338,90340],{"id":90339},"what-is-lightning-network","What is Lightning Network",[11,90342,90343,90344,90347],{},"As in traditional blockchains (btc-alike), in Beam lightning network two (or more) users lock some funds, and then effectively transfer them ",[58,90345,90346],{},"off-chain",". This has the following advantages:",[89,90349,90350,90353,90356],{},[54,90351,90352],{},"Instant. No need to wait for transaction confirmation (after initial setup).",[54,90354,90355],{},"No transaction fee.",[54,90357,90358],{},"Hidden. The information about intermediate transactions is never broadcasted. The number of off-chain transactions, frequency and amounts are never revealed.",[11,90360,90361,90362,90365],{},"All the transfers are performed in the context of the ",[58,90363,90364],{},"Lightning channel",". Its lifetime consists of the following:",[51,90367,90368,90383,90397],{},[54,90369,90370,90371],{},"Channel Open\n",[89,90372,90373,90376],{},[54,90374,90375],{},"Users prepare and broadcast the transaction that consumes their inputs, and create a multi-signed output, which can be spent collectively.",[54,90377,90378,90379,90382],{},"At this point each user ",[145,90380,90381],{},"already has a refund transaction",", which can be used to get the funds back.",[54,90384,90385,90386],{},"Off-chain funds transfers (arbitrary number of times).\n",[89,90387,90388,90391],{},[54,90389,90390],{},"Users agree on another partition of the locked funds, and generate newer refund transactions, with appropriate amounts to each, which is effectively equivalent to the funds transfer.",[54,90392,90393,90396],{},[145,90394,90395],{},"Older refund transactions are revoked"," (more about this later). Nothing is broadcasted to the network.",[54,90398,90399,90400],{},"Channel close.\n",[89,90401,90402,90405,90408],{},[54,90403,90404],{},"Each user any moment can broadcast the most recent refund transaction, to get the funds back.",[54,90406,90407],{},"All the users notice this, and the channel is considered closed.",[54,90409,90410,90411,90414],{},"In case the users cooperate and perform a ",[58,90412,90413],{},"graceful"," channel closure - it'd be faster, and with less fee (more about this later).",[43,90416,90418],{"id":90417},"implementation-in-beam","Implementation in Beam",[11,90420,90421,90422,385],{},"Since there are no scripts in MW, all the relevant functionality is implemented within the context of the transaction negotiation. This is called ",[58,90423,90424],{},"scriptless scripts",[11,90426,90427,90428,385],{},"The actual negotiation flow is somewhat complex, but logically it can be split into separate ",[58,90429,90430],{},"building blocks",[716,90432,90434],{"id":90433},"multisig-multisigned-utxo","MultiSig - multisigned UTXO",[11,90436,90437],{},"An UTXO created by several users, whose blinding factor consists of their blinding factor. Such an UTXO looks indistinguishable from others. The following operations can only be done collectively by all the users:",[89,90439,90440,90443,90446],{},[54,90441,90442],{},"Creating the UTXO (commitment + bulletproof)",[54,90444,90445],{},"Transaction that creates it (has as an output)",[54,90447,90448],{},"Transaction that spends it (has as an input)",[716,90450,90452],{"id":90451},"relative-timelock","Relative timelock",[11,90454,90455],{},"This feature enables to create 2 dependent transactions, whereas the second one becomes valid only after the first one is already accepted in a block, and the block is mature enough. Means - there is a minimum enforced delay between the transactions.\nIt requires a special processing on the node side, and will be available after the planned Hard Fork 1.",[11,90457,90458],{},"Technically each kernel may optionally contain the Relative Lock info, which consists of:",[89,90460,90461,90464],{},[54,90462,90463],{},"Kernel ID (hash) being referenced",[54,90465,90466],{},"Minimum maturity (height difference)",[11,90468,90469],{},"When such a kernel is encountered the node verifies if indeed the referenced kernel exists in the blockchain, and is mature enough.",[716,90471,90473],{"id":90472},"refund-procedure","Refund procedure",[11,90475,90476],{},"Refund procedure consists of 2 transactions, which consume the locked funds and create the agreed user outputs.",[51,90478,90479,90482],{},[54,90480,90481],{},"MultiSig.0 -> MultiSig.N",[54,90483,90484,90485],{},"MultiSig.N -> Outputs.N\n",[89,90486,90487],{},[54,90488,90489],{},"Relatively time-locked w.r.t. transaction (1).",[11,90491,88903,90492,90495,90496,90499,90500,90503],{},[150,90493,90494],{},"MultiSig.0"," represents the funds locked in the channel, ",[150,90497,90498],{},"MultiSig.N"," is an intermediate multisigned UTXO, and ",[150,90501,90502],{},"Outputs.N"," are all the outputs that users are supposed to get by the refund.",[11,90505,90506,90507,90509],{},"The transaction (2) is time-locked w.r.t. transaction (1). Means, after (1) was broadcasted, the ",[150,90508,90498],{}," becomes visible in the blockchain, but the transaction (2) can't be used immediately.\nAs we'll see this is important. In case a malicious user would try to use not the most recently agreed refund procedure, it gives a time window for the affected user to respond.",[716,90511,90513],{"id":90512},"refund-revocation","Refund revocation",[11,90515,90516],{},"As we said, there is a way to revoke the refund procedure. This should prevent malicious users from trying to use an older refund procedure after a newer agreement was set.",[11,90518,90519,90520,90523,90524,385],{},"In Beam in order to revoke the N-th refund procedure, the user ",[94,90521,90522],{},"reveals its blinding factor"," that was used for ",[150,90525,90498],{},[11,90527,90528,90529,90531],{},"Once the blinding factor was revealed the user won't be able to use the refund procedure. If it does, then after transaction (1) the ",[150,90530,90498],{}," becomes visible in the blockchain, and the peer can consume it immediately, because it knows the overall blinding factor. Just build and broadcast a transaction immediately that takes it as an input, and creates an output that belongs solely to it, i.e. punish.",[11,90533,90534],{},"This is why relative timelock is important.",[716,90536,90538],{"id":90537},"multi-user-refund-procedure","Multi-user Refund procedure",[11,90540,90541],{},"Now let's see how 2 users (A)lice and (B)ob build and use their refund procedures. We'll study the case for 2 users, but it can easily be generalized for arbitrary number of users.",[11,90543,90544],{},"To build N-th refund procedure (A) and (B) negotiate to build the following transactions:",[89,90546,90547,90555,90563,90571],{},[54,90548,90549,90550],{},"Refund.N.A.1\n",[89,90551,90552],{},[54,90553,90554],{},"MultiSig.0 -> MultiSig.N.A",[54,90556,90557,90558],{},"Refund.N.A.2\n",[89,90559,90560],{},[54,90561,90562],{},"MultiSig.N.A -> Outputs.N",[54,90564,90565,90566],{},"Refund.N.B.1\n",[89,90567,90568],{},[54,90569,90570],{},"MultiSig.0 -> MultiSig.N.B",[54,90572,90573,90574],{},"Refund.N.B.2\n",[89,90575,90576],{},[54,90577,90578],{},"MultiSig.B.A -> Outputs.N",[11,90580,90581,90582,90585,90586,90589,90590,90592],{},"So there are 4 transactions overall, all of them are built collectively. At the end ",[145,90583,90584],{},"each user has its own refund procedure",", with different intermediate ",[150,90587,90588],{},"MultiSig.N.X",", but the final ",[150,90591,90502],{}," are the same.",[11,90594,90595],{},"Note the following:",[89,90597,90598,90604,90611],{},[54,90599,90600,90601,90603],{},"The transaction (1) of each refund procedure is kept ",[94,90602,82769],{},". Means - only (A) has the Refund.N.A.1, and only (B) has the Refund.N.B.1",[54,90605,90606,90607,90610],{},"The transaction (2) of each refund procedure is ",[94,90608,90609],{},"public",". Means - both (A) and (B) have Refund.N.A.2 and Refund.N.B.2",[54,90612,90613,90614,90616,90617],{},"The order of transaction building is important. Both (A) and (B) should ",[94,90615,2831],{}," complete their parts of transaction (1) for the peer, before they have the appropriate transaction (2).\n",[89,90618,90619],{},[54,90620,90621],{},"Otherwise a malicious user can just use the transaction (1) to lock the funds permanently.",[11,90623,90624,90625,90628,90629,163,90632,90635],{},"So, the idea is that (A) and (B) have their own refund procedures, partly kept private. This separation is important, since in case they come to another agreement and create a newer refund procedures - they will need to ",[145,90626,90627],{},"revoke"," the older ones, which means the appropriate blinding factors of ",[150,90630,90631],{},"MultiSig.N.A",[150,90633,90634],{},"MultiSig.N.B"," must be revealed. As we already mentioned, using a compromised transaction (1) would lead to loss of funds. But, importantly, we must also guarantee that user that gets the revealed blinding factor can't initiate the compromised path on its own. This is the reason why the appropriate transactions (1) are private.",[43,90637,90639],{"id":90638},"lightning-channel-from-the-building-blocks","Lightning channel from the building blocks.",[11,90641,90642],{},"Conceptually the lightning channel operates the following way:",[716,90644,90646],{"id":90645},"channel-open","Channel open",[51,90648,90649,90652,90657,90663,90673],{},[54,90650,90651],{},"Users agree on how much funds each of them locks.",[54,90653,90654,90655],{},"Create the ",[150,90656,90494],{},[54,90658,90659,90660],{},"Build ",[150,90661,90662],{},"Refund.1",[54,90664,90665,90666,90668,90669,12651,90671],{},"Create a transaction ",[150,90667,174],{}," -> ",[150,90670,90494],{},[150,90672,81626],{},[54,90674,90675],{},"Wait for confirmation",[11,90677,90678],{},"Of course the order is important. Users should not make (4) available before they have (3).",[716,90680,90682],{"id":90681},"off-chain-funds-transfer","Off-chain funds transfer",[51,90684,90685,90688,90694],{},[54,90686,90687],{},"Users agree on newer partition of the locked funds.",[54,90689,90690,90691],{},"Negotiate to build ",[150,90692,90693],{},"Refund.N",[54,90695,90696,90697],{},"Revoke the previous ",[150,90698,90699],{},"Refund.N-1",[716,90701,90703],{"id":90702},"graceful-channel-closure","Graceful channel closure.",[51,90705,90706,90709],{},[54,90707,90708],{},"Users agree to close the channel gracefully.",[54,90710,90665,90711,90668,90713],{},[150,90712,90494],{},[150,90714,90502],{},[11,90716,90717],{},"This scheme makes the withdrawal immediate. No timelocks are needed.",[716,90719,90721],{"id":90720},"one-side-channel-closure","One-side channel closure.",[51,90723,90724,90727],{},[54,90725,90726],{},"User decides to invoke its refund procedure (in case there's no cooperation)",[54,90728,90729],{},"User uses its latest refund procedure (all the others are revoked).",[716,90731,90733],{"id":90732},"blockchain-status-monitoring-aka-watch-towers","Blockchain status monitoring (a.k.a. watch towers)",[11,90735,90736],{},"In addition to the voluntary actions, all the users should monitor the blockchain to detect if\u002Fwhen any of them made one-side actions.\nDepends on the agreed timelock (which is applied in all the relative locks of all the refund procedures) - the monitoring doesn't have to be for each new block. It can be once in many blocks as well.",[11,90738,90739],{},"Once a new block arrives and the user decides to check the status:",[89,90741,90742],{},[54,90743,90744,90745,90747,90748],{},"Does ",[150,90746,90494],{}," present?\n",[89,90749,90750,90753],{},[54,90751,90752],{},"Yes - channel is open. No further actions.",[54,90754,90755,90756],{},"No\n",[89,90757,90758],{},[54,90759,90760,90761],{},"Was the channel open already?\n",[89,90762,90763,90766],{},[54,90764,90765],{},"No - we're still opening it (waiting for the 1st tx).",[54,90767,90768,90769],{},"Yes - the channel is being closed!\n",[89,90770,90771,90777],{},[54,90772,90773,90774,90776],{},"Find one of he ",[150,90775,90498],{}," that was created for the refund procedures.",[54,90778,90779,90780],{},"Does it belong to the revoked refund?\n",[89,90781,90782,90790],{},[54,90783,90784,90785],{},"Yes - cheat attempt detected!!!\n",[89,90786,90787],{},[54,90788,90789],{},"Claim all the funds immediately.",[54,90791,90792,90793],{},"No - valid withdrawal triggered\n",[89,90794,90795,90798],{},[54,90796,90797],{},"Wait until the timelock expires",[54,90799,90800],{},"Broadcast the appropriate transaction (2)",[26,90802,90804],{"id":90803},"code-design-minimizing-the-number-of-negotiation-roundtrips","Code design - Minimizing the number of negotiation roundtrips.",[11,90806,90807,90808,90810],{},"As we saw, each operation on the Lightning channel requires to prepare many different ",[58,90809,90430],{},", with dependencies. Some are literally dependent on each other (some of their results are needed by others), whereas for some there are artificial order restrictions to prevent malicious users from doing harm.",[11,90812,90813],{},"Nevertheless, many such negotiations may run in parallel. At least partially, up to the point where their dependencies come into play.",[11,90815,90816,90817,90819],{},"To allow this Beam code infrastructure allows the negotiations in terms of ",[58,90818,60],{},", each is responsible for a well-defined functionality (such as creating a MultiSig, or a transaction), each has an interface to load\u002Fstore the parameters and transfer the data to the peer.\nWhen those primitives are aggregated to create a more complex negotiation scheme - their inputs\u002Foutputs are \"re-routed\", to reflect their dependency.",[11,90821,90822],{},"By such the code remains relatively not too complex (readable), the dependencies are visible and can be verified, whereas on the other hand the negotiations effectively run in parallel, and each action is performed in a minimum number of negotiation roundtrips.",[43,90824,90826],{"id":90825},"how-typical-negotiations-look","How typical negotiations look",[11,90828,90829],{},"Below are the real negotiations produced by our code.",[716,90831,90833],{"id":90832},"multisig","MultiSig",[866,90835,90838],{"className":90836,"code":90837,"language":871},[869],"    A -> B 115 bytes\n         Partial Commitment\n         Bulletproof T1,T2\n    B -> A 155 bytes\n         Partial Commitment\n         Bulletproof T1,T2\n         Bulletproof TauX\n    B done\n    A done\n",[150,90839,90837],{"__ignoreMap":760},[11,90841,90842],{},"Overall 1 roundtrip, assuming both users get the commitment, but only A has the valid bulletproof",[716,90844,90846],{"id":90845},"refund-one-sided","Refund, one-sided",[866,90848,90851],{"className":90849,"code":90850,"language":871},[869],"    A -> B 279 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         Tx-TLock.Excess Commitment\n         Tx-TLock.Nonce Commitment\n         Tx-Final.Excess Commitment\n         Tx-Final.Nonce Commitment\n    B -> A 1158 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         MultiSig.Bulletproof TauX\n         Tx-TLock.Excess Commitment\n         Tx-TLock.Nonce Commitment\n         Tx-TLock.Partial Kernel Signature\n         Tx-Final.Excess Commitment\n         Tx-Final.Nonce Commitment\n         Tx-Final.Partial Kernel Signature\n         Tx-Final.Partial Transaction\n    A -> B 925 bytes\n         Tx-Final.Partial Transaction\n    B -> A 52 bytes\n         Tx-TLock.Partial Transaction\n    B done\n    A done\n",[150,90852,90850],{"__ignoreMap":760},[11,90854,90855,90856,90859,90860,90863],{},"Overall 2 roundtrips. Note that B delays the completion of ",[150,90857,90858],{},"Tx-TLock"," for A until it gets and validates the ",[150,90861,90862],{},"Tx-Final"," from it.",[11,90865,90866],{},"Now let's see how the Lightning channel operations are negotiated.",[26,90868,90870],{"id":90869},"lightning-channel-open","Lightning channel open",[866,90872,90875],{"className":90873,"code":90874,"language":871},[869],"    A -> B 591 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         Tx-Open.Excess Commitment\n         Tx-Open.Nonce Commitment\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n    B -> A 1754 bytes\n         MultiSig.Partial Commitment\n         MultiSig.Bulletproof T1,T2\n         MultiSig.Bulletproof TauX\n         Tx-Open.Excess Commitment\n         Tx-Open.Nonce Commitment\n         Tx-Open.Partial Kernel Signature\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.MultiSig.Bulletproof TauX\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-TLock.Partial Kernel Signature\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-A.Tx-Final.Partial Kernel Signature\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n    A -> B 1968 bytes\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-TLock.Partial Kernel Signature\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n         Exit-B.Tx-Final.Partial Kernel Signature\n         Exit-B.Tx-Final.Partial Transaction\n    B -> A 977 bytes\n         Exit-A.Tx-TLock.Partial Transaction\n         Exit-B.Tx-Final.Partial Transaction\n    A -> B 52 bytes\n         Exit-B.Tx-TLock.Partial Transaction\n    B -> A 85 bytes\n         Tx-Open.Partial Transaction\n    B done\n    A done\n",[150,90876,90874],{"__ignoreMap":760},[26,90878,90880],{"id":90879},"lightning-channel-update-funds-transfer","Lightning channel update (funds transfer)",[866,90882,90885],{"className":90883,"code":90884,"language":871},[869],"    A -> B 394 bytes\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n    B -> A 1477 bytes\n         Exit-A.MultiSig.Partial Commitment\n         Exit-A.MultiSig.Bulletproof T1,T2\n         Exit-A.MultiSig.Bulletproof TauX\n         Exit-A.Tx-TLock.Excess Commitment\n         Exit-A.Tx-TLock.Nonce Commitment\n         Exit-A.Tx-TLock.Partial Kernel Signature\n         Exit-A.Tx-Final.Excess Commitment\n         Exit-A.Tx-Final.Nonce Commitment\n         Exit-A.Tx-Final.Partial Kernel Signature\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Partial Commitment\n         Exit-B.MultiSig.Bulletproof T1,T2\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n    A -> B 1968 bytes\n         Exit-A.Tx-Final.Partial Transaction\n         Exit-B.MultiSig.Bulletproof TauX\n         Exit-B.Tx-TLock.Excess Commitment\n         Exit-B.Tx-TLock.Nonce Commitment\n         Exit-B.Tx-TLock.Partial Kernel Signature\n         Exit-B.Tx-Final.Excess Commitment\n         Exit-B.Tx-Final.Nonce Commitment\n         Exit-B.Tx-Final.Partial Kernel Signature\n         Exit-B.Tx-Final.Partial Transaction\n    B -> A 977 bytes\n         Exit-A.Tx-TLock.Partial Transaction\n         Exit-B.Tx-Final.Partial Transaction\n    A -> B 92 bytes\n         Reveal Previous Blinding Factor\n         Exit-B.Tx-TLock.Partial Transaction\n    B -> A 40 bytes\n         Reveal Previous Blinding Factor\n    B done\n    A done\n",[150,90886,90884],{"__ignoreMap":760},[11,90888,90889],{},"So, both channel open and funds transfer negotiations are completed in 3 full roundtrips, whereas all the dependencies are observed.",[43,90891,90893],{"id":90892},"demo","Demo",[11,90895,90896,90897],{},"There's a working demo of the Lightning channel in our codebase here: ",[150,90898,90899],{},"beam\u002Fnode\u002Flaser_beam_demo",[11,90901,90902],{},"Various scenarios are emulated, such as graceful channel opening and closure, one-side channel closure and appropriate user responses, and the cheat attempt and punishing.",[11,90904,90905],{},"The node used in the demo is the standard Beam node (no hacks, workarounds, or other tricks specifically for the demo), configured to generate fake PoW. All the broadcasted transactions and timelocks are fully validated.",{"title":760,"searchDepth":761,"depth":761,"links":90907},[90908,90920,90924,90925],{"id":90335,"depth":761,"text":90336,"children":90909},[90910,90911,90912,90913,90914,90915,90916,90917,90918,90919],{"id":90433,"depth":772,"text":90434},{"id":90451,"depth":772,"text":90452},{"id":90472,"depth":772,"text":90473},{"id":90512,"depth":772,"text":90513},{"id":90537,"depth":772,"text":90538},{"id":90645,"depth":772,"text":90646},{"id":90681,"depth":772,"text":90682},{"id":90702,"depth":772,"text":90703},{"id":90720,"depth":772,"text":90721},{"id":90732,"depth":772,"text":90733},{"id":90803,"depth":761,"text":90804,"children":90921},[90922,90923],{"id":90832,"depth":772,"text":90833},{"id":90845,"depth":772,"text":90846},{"id":90869,"depth":761,"text":90870},{"id":90879,"depth":761,"text":90880},{},{"description":760},"87ECtmF8OgOWnVW03dt1kgvfN5A38r7R3D7hEWQYKS0",{"id":90930,"title":81818,"body":90931,"description":90935,"extension":775,"image":776,"meta":91769,"navTitle":776,"navigation":778,"path":91770,"seo":91771,"stem":91772,"__hash__":91773},"docs\u002Fdocs\u002Fcore-tech\u002FMW-CLA.md",{"type":8,"value":90932,"toc":91752},[90933,90936,90939,90942,90988,90992,90997,91010,91014,91017,91056,91060,91069,91075,91077,91080,91084,91087,91101,91111,91115,91118,91121,91125,91131,91134,91142,91148,91152,91155,91180,91185,91188,91192,91195,91202,91205,91244,91247,91251,91262,91265,91279,91282,91290,91293,91305,91309,91311,91351,91359,91386,91389,91399,91407,91411,91413,91458,91463,91474,91501,91511,91515,91524,91546,91559,91562,91583,91589,91593,91596,91637,91640,91651,91654,91657,91660,91666,91674,91681,91684,91694,91709,91715,91722,91735,91738,91746,91749],[11,90934,90935],{},"MW-CLA stands for Mimblewimble Confidential Lelantus Assets",[11,90937,90938],{},"This page describes our most recent system design, which will be activated on Fork2. It includes CA (confidential assets), Lelantus-MW, as well as will enable adding more features in the future.",[11,90940,90941],{},"Those are the key features:",[89,90943,90944,90955,90966],{},[54,90945,90946,90947],{},"CA support\n",[89,90948,90949,90952],{},[54,90950,90951],{},"each UTXO may optionally have a blinded asset tag (similar to the Elements design by A.Poelstra).",[54,90953,90954],{},"There's a proof of validity of the asset tag. It's based on the 1-out-of-many Sigma protocol (by Jens Groth).",[54,90956,90957,90958],{},"Shielded pool (a.k.a. Lelantus-MW)\n",[89,90959,90960,90963],{},[54,90961,90962],{},"CA support for shielded operations too",[54,90964,90965],{},"Support for one-side payments and direct anonymous payments",[54,90967,90968,90969],{},"The system design is heterogeneous in nature:\n",[89,90970,90971,90974,90985],{},[54,90972,90973],{},"All kernels carry an excess blinding factors, and (optionally) extra validation rules (height lock, relative lock, etc.)",[54,90975,90976,90977],{},"Some kernels may control subsystems:\n",[89,90978,90979,90982],{},[54,90980,90981],{},"Asset control (creation, emission).",[54,90983,90984],{},"Shielded operations (mint, spend).",[54,90986,90987],{},"Those kernels, in addition to contributing to the balance, will have side effects as well.",[43,90989,90991],{"id":90990},"confidential-assets-support","Confidential assets support",[11,90993,90994,90996],{},[145,90995,3767],{},": this design is very different from the older preliminary design.",[11,90998,90999,91000,91002,91003,91005,91006,91009],{},"We identify each asset by ",[150,91001,85229],{},", which is a 32-bit integer. For each asset there's an appropriate NUMS generator, which is generated deterministically from the ",[150,91004,85229],{}," (via hashing). The ",[150,91007,91008],{},"AssetID == 0"," is reserved for default asset (Beam).",[26,91011,91013],{"id":91012},"utxo-encoding","UTXO encoding",[11,91015,91016],{},"In MW it's possible to encode UTXOs of different kinds (asset types) by using different NUMS (nothing-up-my-sleeve) generators. The UTXO that encodes an asset consists of the following:",[89,91018,91019,91037,91040,91053],{},[54,91020,91021,91022,12655,91027,91031,91032,91034,91035],{},"Blinded generator: ",[94,91023,102,91024],{},[111,91025,91026],{},"*",[94,91028,102,91029],{},[10952,91030,10954],{}," + k",[10952,91033,3675],{},"•",[94,91036,96],{},[54,91038,91039],{},"Asset surjection proof (proves that the provided generator is indeed one of the list with arbitrary blinding factor added)",[54,91041,91042,91043,91045,91046,91048,91049],{},"Pedersen commitment: ",[94,91044,245],{}," = k•",[94,91047,96],{}," + v•",[94,91050,102,91051],{},[111,91052,91026],{},[54,91054,91055],{},"Rangeproof (bulletproof) in terms of this blinded generator",[716,91057,91059],{"id":91058},"asset-surjection-proof","Asset surjection proof",[11,91061,91062,91063,4234,91066,91068],{},"It's based on Sigma protocol. The prover specifies a ",[58,91064,91065],{},"range",[150,91067,85229],{}," values, and proves that the specified generator is one of those with arbitrary blinding factor added.",[11,91070,91071,91072,91074],{},"The verifier generates the list of the asset generators for this range, and subtracts (methodically) the provided blinded generator from each element in the list. Then the prover proves by the Sigma protocol that it knows the opening of one of the elements in terms of ",[150,91073,96],{}," generator (used for blinding factor).",[26,91076,82753],{"id":82752},[11,91078,91079],{},"Any user is allowed to create its asset types. Unlike Beams, which are created automatically with each new block generated, assets are emitted and burned explicitly by their owners. The life cycle of each asset goes as following:",[716,91081,91083],{"id":91082},"asset-creation","Asset creation.",[11,91085,91086],{},"The user sends a transaction (kernel) that asks to create its asset type. It provides the following:",[89,91088,91089,91095],{},[54,91090,91091,91094],{},[58,91092,91093],{},"Owner key"," - an arbitrary public key that will be associated with this asset. All further asset actions must be signed by the appropriate private key.",[54,91096,91097,91100],{},[58,91098,91099],{},"Metadata"," - arbitrary data (buffer), visible to all other users. Once asset is created this metadata can't be modified.",[11,91102,91103,91104,91107,91108,91110],{},"In addition to this, the user ",[58,91105,91106],{},"Locks"," a considerable amount of Beams, i.e. this transaction implicitly consumes this amount. If successful, the system allocates the lowest available (unused) ",[150,91109,85229],{},", and associates it with this asset.",[716,91112,91114],{"id":91113},"asset-emissionburn","Asset emission\u002Fburn.",[11,91116,91117],{},"The user sends a special asset emission kernel (emission amount may be either positive or negative). In addition to signing the kernel excess blinding factor (as usual) - it also must be signed by the appropriate private key of the asset owner.",[11,91119,91120],{},"This transaction implicitly creates\u002Fconsumes some amount of this asset, which should be compensated by other transaction elements (inputs and outputs).",[716,91122,91124],{"id":91123},"asset-destroying","Asset destroying.",[11,91126,91127,91128,91130],{},"To destroy an asset the user sends an appropriate asset destruction kernel (signed by the appropriate owner key). After the asset is destroyed - the ",[150,91129,85229],{}," is no longer associated with the owner, and the user gets the locked Beams back.",[11,91132,91133],{},"Note that asset can be destroyed only if:",[89,91135,91136,91139],{},[54,91137,91138],{},"It is completely burned.",[54,91140,91141],{},"Minimum lock period elapsed after it was completely burned, and not emitted since then.",[11,91143,91144,91145,91147],{},"This minimum lock period is needed to prevent manipulations (tampering) by the asset owner. For example, a user may want to receive a specific asset, then it must be sure that this ",[150,91146,85229],{}," will be associated with exactly this asset info (Metadata and owner key) before its transaction expires, i.e. the asset owner won't be able to destroy and re-create the asset in the meanwhile.",[26,91149,91151],{"id":91150},"asset-state","Asset state.",[11,91153,91154],{},"The system state contains a commitment to the most recent assets state. It's an MMR root of all the currently active assets, with their info, which includes:",[89,91156,91157,91163,91166],{},[54,91158,91159,91160,91162],{},"Static info: ",[58,91161,91099],{}," and owner public key",[54,91164,91165],{},"Current emission value",[54,91167,91168,91171,91172],{},[58,91169,91170],{},"Lockheight"," - the most recent height of the asset burned\u002Fnot-burned transition. Based on this users can:\n",[89,91173,91174,91177],{},[54,91175,91176],{},"Asset owner: knows if\u002Fwhen it can destroy the asset, and get the locked funds back",[54,91178,91179],{},"Other users: estimate the minimum height range when this asset can be used safely. i.e. can it disappear due to reorgs in the past, or tampered in the future.",[11,91181,91182,91184],{},[145,91183,3767],{},": The ever need to lock the funds for asset creation is needed to prevent system spamming. Not only excess of assets will make Nodes heavier, it'll also make the asset surjection proof less effective (since its anonymity set is limited).",[11,91186,91187],{},"However despite the need to lock considerable funds, this design should be ok for users that just want to experiment with assets, since they are supposed to get the funds back once they finish.\nOrganizations that sell their asset to users - not obvious if they will ever be able to burn their asset back (for this they first need to own all their asset). But this seems as a justified risk.",[26,91189,91191],{"id":91190},"note-on-transaction-repeatability","Note on transaction repeatability",[11,91193,91194],{},"One of the problems specific to UTXO-based systems in general and MW particularly is repeatability. If an attacker controls all the inputs of a specific transaction where it pays someone (which is usually the case) - it can repeat this transaction later regardless to the will of the other user. Moreover, if that user later spends only the inputs received from the attacker - then the attacker can repeat those transactions too, and so on. Everything can be 'replayed' up to some depth, where more inputs are needed, that were not originally received from the attacker.",[11,91196,91197,91198,91201],{},"If only beams are traded, then there's no big problem. Because of those 'replays' users can only get paid, not loose their funds. But replaying asset-controlling transaction ",[94,91199,91200],{},"IS"," a problem. Because assets are essentially created from 'thin air', by replaying some transactions the attacker may cause extra asset emission (which is already a big problem), and may even be able to get some amount of this asset.",[11,91203,91204],{},"To mitigate this threat, starting from Fork2 duplicating kernels will be forbidden. Technically this is achieved by the following:",[89,91206,91207,91214,91221,91232,91238],{},[54,91208,91209,91210,91213],{},"There will be a new consensus parameter, ",[150,91211,91212],{},"MaxKernelLifespan",", probably equivalent to ~ 1 month.",[54,91215,91216,91217,91220],{},"Starting from Fork2, kernels with ",[150,91218,91219],{},"HeightLock.Min"," (minimum height) lower than Fork2 will be rejected.",[54,91222,91223,91224,91227,91228,91231],{},"Each kernel, in addition to the optional ",[150,91225,91226],{},"HeightLock.Max"," (maximum height) will have implicit max height lock as ",[150,91229,91230],{},"HeightLock.Min + MaxKernelLifespan",". This (and the previous restriction) will make repeating old kernels impossible.",[54,91233,91234,91235,91237],{},"Each node will have to keep track of all the recent kernels, down to current height minus ",[150,91236,91212],{},". Kernels below this height may be forgotten (for the sake of blockchain verification).",[54,91239,91240,91241,91243],{},"Side effect: Kernels with relative height lock (already available on the mainnet) will not be able to reference a kernel older than ",[150,91242,91212],{},". But this is ok, practically relative locks are needed for much shorter duration.",[11,91245,91246],{},"By such we will make kernel replaying illegal, whereas nodes will have to keep track only of the most recent kernels.",[43,91248,91250],{"id":91249},"shielded-pool-aka-lelantus-mw","Shielded pool (a.k.a. Lelantus-MW)",[11,91252,91253,91256,91257,91261],{},[94,91254,91255],{},"Disclaimer:"," The ",[18,91258,91260],{"href":35,"rel":91259},[22],"Lelantus Protocol"," is the work of Zcoin's cryptographer Aram Jivanyan as part of its research to improve its privacy protocol. Our design and implementation are based on the publicly-available Lelantus scientific paper. All our code was developed from scratch based on this paper alone.",[11,91263,91264],{},"In order to solve the MW linkability problem, users will be able to recycle their funds via shielded pool. Our design is different from the original Lelantus protocol in the following ways:",[89,91266,91267,91270,91276],{},[54,91268,91269],{},"Transaction values are never revealed",[54,91271,91272,91273,91275],{},"Instead of transactions, it's formulated in terms of mint\u002Fspend ",[58,91274,60],{},", and the final transactions are composed of MW and shielded parts in any combinations, keeping the balance-to-zero principle (MW-style).",[54,91277,91278],{},"CA are naturally supported",[11,91280,91281],{},"Technically in addition to standard transaction elements, the following are supported:",[89,91283,91284,91287],{},[54,91285,91286],{},"Shielded output - transfers some amount from MW into shielded pool",[54,91288,91289],{},"Shielded input - withdraws some amount from the shielded pool back into MW",[11,91291,91292],{},"Both elements are encoded as special transaction kernels.",[11,91294,91295,91296,91298,91299,91301,91302,385],{},"In addition to the standard MW blinding factor generator ",[94,91297,96],{},", there's an additional generator ",[94,91300,108],{}," for the secondary blinding factor, a.k.a. ",[58,91303,91304],{},"serial number",[26,91306,91308],{"id":91307},"shielded-output","Shielded output",[11,91310,83037],{},[89,91312,91313,91328,91331,91334,91348],{},[54,91314,91315,91316,91320,91321,91034,91323,91325,91326],{},"Blinded serial number commitment: ",[94,91317,245,91318],{},[10952,91319,209],{}," = k",[10952,91322,209],{},[94,91324,96],{}," + s•",[94,91327,108],{},[54,91329,91330],{},"Generalized Schnorr's signature that proves the above commitment is indeed of this form",[54,91332,91333],{},"Optionally asset info: the blinded asset generator + asset surjection proof.",[54,91335,91336,91337,91320,91342,91034,91344,91048,91346],{},"UTXO commitment ",[94,91338,245,91339],{},[10952,91340,91341],{},"MW",[10952,91343,91341],{},[94,91345,96],{},[94,91347,102],{},[54,91349,91350],{},"Rangeproof",[11,91352,91353,91354,91358],{},"In order to verify the overall transaction balance - only the UTXO commitment ",[94,91355,245,91356],{},[10952,91357,91341],{}," (without the serial number) is accounted for. After verification, instead of going to the UTXO set, the following double-blinded commitment goes into the shielded pool:",[89,91360,91361],{},[54,91362,91363,12655,91365,12651,91369,91373,91374,91376,91377,91031,91379,91381,91382,91048,91384],{},[94,91364,245],{},[94,91366,245,91367],{},[10952,91368,209],{},[94,91370,245,91371],{},[10952,91372,91341],{}," = s•",[94,91375,108],{}," + (k",[10952,91378,209],{},[10952,91380,91341],{},")•",[94,91383,96],{},[94,91385,102],{},[11,91387,91388],{},"The shielded outputs in the pool form a sequence of commitments (EC points).",[11,91390,91391,91392,91394,91395,91398],{},"Note: the serial number ",[58,91393,209],{}," is derived from another public key ",[58,91396,91397],{},"SpendKey",", which will need to be revealed during spending. In addition the prover will need to prove the knowledge of the appropriate private key.",[11,91400,91401,91402,91406],{},"In addition, the ",[94,91403,245,91404],{},[10952,91405,209],{}," commitment must be unique. This is to prevent accidental misuse, which will make subsequent element withdrawal impossible.",[26,91408,91410],{"id":91409},"shielded-input","Shielded input",[11,91412,83037],{},[89,91414,91415,91418,91423,91425,91447,91455],{},[54,91416,91417],{},"Range within the shielded pool, that contains the being-spent element.",[54,91419,91420,91422],{},[58,91421,91397],{}," is revealed, and the whole shielded input is signed by the appropriate private key",[54,91424,91333],{},[54,91426,91427,91428,91320,91433,91034,91435,91048,91437,91439],{},"Output commitment ",[94,91429,245,91430],{},[10952,91431,91432],{},"out",[10952,91434,91432],{},[94,91436,96],{},[94,91438,102],{},[89,91440,91441],{},[54,91442,91443,91444,91446],{},"It should commit to the same value, but the blinding factor k",[10952,91445,91432],{}," is different from that used in shielded output.",[54,91448,91449,91450,91454],{},"Generalized Schnorr's signature, that proves the ",[94,91451,245,91452],{},[10952,91453,91432],{}," is indeed of this form.",[54,91456,91457],{},"Sigma proof for the rest",[11,91459,32,91460,91462],{},[58,91461,91397],{}," must be unique, this way double-spend is prevented.",[11,91464,91465,91466,2679,91468,91470,91471,91473],{},"During the verification, the verifier computes the ",[58,91467,91304],{},[58,91469,209],{}," from the ",[58,91472,91397],{},". Then the following is calculated:",[89,91475,91476,91487],{},[54,91477,91478,12655,91480,91325,91484,91486],{},[94,91479,245],{},[94,91481,245,91482],{},[10952,91483,91432],{},[94,91485,108],{},"\nThis EC point is subtracted (methodically) from all the elements in the referenced range of the shielded pool. If everything is correct, then the element being-spent turns into:",[54,91488,91489,91491,91492,91031,91494,91496,91497,91381,91499],{},[94,91490,245],{}," = (k",[10952,91493,209],{},[10952,91495,91341],{}," - k",[10952,91498,91432],{},[94,91500,96],{},[11,91502,91503,91504,163,91506,91508,91509,282],{},"Note that both asset and serial number generators ",[94,91505,102],{},[94,91507,108],{}," are eliminated. The prover then proves knowledge of opening of one of the elements in the range in terms of ",[94,91510,96],{},[26,91512,91514],{"id":91513},"one-side-payments-and-direct-anonymous-payments","One-side payments, and direct anonymous payments.",[11,91516,91517,91518,91520,91521,91523],{},"In addition to solving the linkability problem, shielded pool allows one-side payments (normally in MW transactions are built mutually). This is due to the fact that ",[58,91519,91304],{}," is derived from an arbitrary public key ",[58,91522,91397],{},", which, after initial setup, may be calculated by the sender alone, without the knowledge of the appropriate private key (and, hence, the ability to spend it).",[11,91525,91526,91527,91529,91530,163,91534,91538,91539,91543,91544,385],{},"This already provides the one-side payments ability. However it's not completely anonymous: since the sender knows the ",[58,91528,91397],{}," - it can see when the receiver spends it.\nBut this can be solved too, due to the fact that the shielded output consists of 2 parts: the ",[94,91531,245,91532],{},[10952,91533,209],{},[94,91535,245,91536],{},[10952,91537,91341],{},". During the initial setup the receiver generates and sends arbitrary number of different ",[94,91540,245,91541],{},[10952,91542,209],{}," elements (with their Schnorr's signatures). The sender will use them as-is in the shielded output, without the knowledge of the ",[58,91545,91304],{},[11,91547,91548,91549,91553,91554,91558],{},"We incorporated a scheme by which the receiver detects all its shielded outputs by scanning the blockchain (i.e. no auxiliary channel is needed to notify the receiver). For ",[94,91550,245,91551],{},[10952,91552,209],{}," all the owner info is embedded within the Schnorr's signature (which has a degree of freedom). For the ",[94,91555,245,91556],{},[10952,91557,91341],{}," all the needed info is recovered from the bulletproof.",[11,91560,91561],{},"At the end the following information is recovered:",[89,91563,91564,91569,91577,91580],{},[54,91565,91566,91567],{},"All the relevant parameters: blinding factor, SpendKey, value, ",[150,91568,85229],{},[54,91570,91571,91572,91576],{},"Is it visible to the sender, i.e. was the ",[94,91573,245,91574],{},[10952,91575,209],{}," created by the sender or the receiver in advance.",[54,91578,91579],{},"Sender ID (a public key belonging to the sender)",[54,91581,91582],{},"Arbitrary 32-byte message",[11,91584,91585,91586,91588],{},"Note also that this info can be obtained by the so-called ",[58,91587,91093],{},", but still in order to spend it - the master key is required. This allows to use the owner key in owned nodes to detect owned TXOs and shielded elements, without the risk of loosing the funds if the node is compromised.",[26,91590,91592],{"id":91591},"implications-and-constraints","implications and constraints",[11,91594,91595],{},"The Lelantus is a great technology, but it comes at a price.",[89,91597,91598,91620],{},[54,91599,91600,91601],{},"Scalability (size)\n",[89,91602,91603,91617],{},[54,91604,91605,91606],{},"Obviously no cut-through for the shielded inputs\u002Foutputs\n",[89,91607,91608,91611,91614],{},[54,91609,91610],{},"Shielded output ~800 bytes",[54,91612,91613],{},"Shielded input ~1.6KB, depends on the anonymity set size",[54,91615,91616],{},"If asset type is blinded: 2 more asset proofs (for output and input), another ~2K",[54,91618,91619],{},"But cut-through is still applied on the MW part.",[54,91621,91622,91623],{},"Verification time\n",[89,91624,91625,91628,91631,91634],{},[54,91626,91627],{},"~1sec for 64K elements (very big)",[54,91629,91630],{},"easily parallelized",[54,91632,91633],{},"only 10ms for each additional proof for the same anonymity set (batch verification)",[54,91635,91636],{},"During initial sync many blocks can be batch-verified at once as well.",[11,91638,91639],{},"So, in order to build a sane system, which enjoys the benefits of MW, but helps break the linkability, we design it this way:",[89,91641,91642,91645,91648],{},[54,91643,91644],{},"Most of transactions should remain in MW",[54,91646,91647],{},"Max number of shielded inputs\u002Foutputs in a block is limited. Users will have to compete for them (fee market)",[54,91649,91650],{},"The spend window (anonymity set size) is limited, and dramatically decreased if the element being-spent is not one of the most recent.",[11,91652,91653],{},"The maximum spend window (anonymity set size) will probably be ~50K - 100K (not decided yet). The maximum number of shielded elements in a block will be tuned such that this window will be created within at least several days.",[11,91655,91656],{},"Another important restriction: users will be able to spend their shielded element with the maximum spend window only if it references the most recent elements. It won't be possible to specify a large spend window, that covers a range older than twice this window size.",[11,91658,91659],{},"In simple words, users will have a time window to spend their element \"nicely\". If they miss their opportunity - they'll have to spend it in a dramatically smaller spend window (~1K elements), but then they will be able to recycle it through shielded pool again.",[11,91661,91662,91663,1000],{},"By such we expect to keep ",[145,91664,91665],{},"good scalability and performance",[89,91667,91668,91671],{},[54,91669,91670],{},"Not too many elements that can't be cut-through",[54,91672,91673],{},"Reasonable verification times: shielded inputs will have large overlap.",[11,91675,91676,91677,91680],{},"But importantly those restrictions will also lead to ",[145,91678,91679],{},"better privacy",". Here's why.",[26,91682,82093],{"id":91683},"privacy",[11,91685,91686,91687,163,91690,91693],{},"To understand which privacy is achieved while hiding in a crowd, let's first define ",[58,91688,91689],{},"absolute",[58,91691,91692],{},"relative"," anonymity sets.",[89,91695,91696,91701],{},[54,91697,32,91698,91700],{},[58,91699,91689],{}," anonymity set size is the net size of the set chosen by the user.",[54,91702,32,91703,91705,91706,91708],{},[58,91704,91692],{}," anonymity set size is the ratio of the chosen ",[58,91707,91689],{}," set size, to the weighted overall set, where the user could potentially hide, with appropriate probabilities.",[11,91710,91711,91712,91714],{},"Speaking simply, the ",[58,91713,91692],{}," set size is a probability of a user to choose a specific absolute set.",[11,91716,91717,91718,91721],{},"To achieve high privacy ",[145,91719,91720],{},"both"," the absolute and the relative sets should be maximized.",[89,91723,91724,91727],{},[54,91725,91726],{},"Obviously if the absolute set size is small, then the user is already suspected.",[54,91728,91729,91730],{},"If the relative set size is small then the user can be deanonymized by a number of recurring transactions, even if the absolute anonymity set is big! ",[18,91731,91734],{"href":91732,"rel":91733},"https:\u002F\u002Fwww.zfnd.org\u002Fblog\u002Fblockchain-privacy\u002F",[22],"A good explanation by Ian Miers is here.",[11,91736,91737],{},"Because the anonymity set size in Lelantus is finite, we need a compromise.",[89,91739,91740,91743],{},[54,91741,91742],{},"If too few users use it, then every user is already is a suspect.",[54,91744,91745],{},"If too many users use it, then the window is filled within shorter time period, which means smaller relative set (smaller probability of an unrelated user to fall into the same set).",[11,91747,91748],{},"The systems with unlimited anonymity set size (like Zcash) have an advantage here. However, speaking practically, the difference may be not that big. Although theoretically users can spend any element, practically they probably spend their recent outputs anyway (because of the usage nature). So the information leaked in Lelantus is considerable, but could be assumed by the attacker with significant probability anyway.",[11,91750,91751],{},"Probably real-world usage data is needed to estimate the practical privacy of the system",{"title":760,"searchDepth":761,"depth":761,"links":91753},[91754,91757,91762,91763,91764,91765,91766,91767,91768],{"id":91012,"depth":761,"text":91013,"children":91755},[91756],{"id":91058,"depth":772,"text":91059},{"id":82752,"depth":761,"text":82753,"children":91758},[91759,91760,91761],{"id":91082,"depth":772,"text":91083},{"id":91113,"depth":772,"text":91114},{"id":91123,"depth":772,"text":91124},{"id":91150,"depth":761,"text":91151},{"id":91190,"depth":761,"text":91191},{"id":91307,"depth":761,"text":91308},{"id":91409,"depth":761,"text":91410},{"id":91513,"depth":761,"text":91514},{"id":91591,"depth":761,"text":91592},{"id":91683,"depth":761,"text":82093},{},"\u002Fdocs\u002Fcore-tech\u002Fmw-cla",{"description":90935},"docs\u002Fcore-tech\u002FMW-CLA","ojfYyj1ik_H2rEOuGqN0lbkAErUplnarXQLsqh_L7AU",{"id":91775,"title":91776,"body":91777,"description":760,"extension":775,"image":776,"meta":92089,"navTitle":776,"navigation":778,"path":92090,"seo":92091,"stem":92092,"__hash__":92093},"docs\u002Fdocs\u002Fcore-tech\u002FMain-wallet-entities-and-their-attributes.md","User info",{"type":8,"value":91778,"toc":92087},[91779,91782,91793,91796,91807,91811,91841,91845,91993,91995],[43,91780,91776],{"id":91781},"user-info",[89,91783,91784,91787,91790],{},[54,91785,91786],{},"Address (can be many): Unique ID money can be sent to\u002Ffrom. Each user\u002Fwallet can create and use any number of addresses. Address is assigned to one or more address categories (each category is denoted by name and color).",[54,91788,91789],{},"Name: Meaningful name is kept for semantic identification only (in a separate Directory service, should not be unique).",[54,91791,91792],{},"Avatar: Small and nice picture for the further identification.",[43,91794,91795],{"id":12679},"Address",[89,91797,91798,91801,91804],{},[54,91799,91800],{},"a list of categories it is assigned to",[54,91802,91803],{},"a textual description (optional)",[54,91805,91806],{},"additional attributes such as: single use (won't be valid after the transaction is completed or failed) or time expiration (won't be valid once expired)",[43,91808,91810],{"id":91809},"balance","Balance",[89,91812,91813,91827],{},[54,91814,91815,91816],{},"Amounts, aggregated by transaction states:\n",[89,91817,91818,91821,91824],{},[54,91819,91820],{},"Available: always shown, with LARGE font",[54,91822,91823],{},"In progress: Sending, Receiving, Change etc: shown when applicable (Alexandra Shelenkova do we need it?)",[54,91825,91826],{},"Locked: shown separately when applicable (sub-cases: \"maturing\" etc)",[54,91828,91829,91830],{},"currency is:\n",[89,91831,91832,91835,91838],{},[54,91833,91834],{},"BEAM",[54,91836,91837],{},"GROTH (1*10^-8 of BEAM)",[54,91839,91840],{},"Consider estimated amount in BTC\u002FETH later on",[43,91842,91844],{"id":91843},"utxo-details","UTXO details",[89,91846,91847,91849,91851,91862,91887,91964,91978,91990],{},[54,91848,85903],{},[54,91850,83009],{},[54,91852,91853,91854],{},"Transactions it had participated in\n",[89,91855,91856,91859],{},[54,91857,91858],{},"As output UTXO for incoming transaction, \"earned\" time is specified",[54,91860,91861],{},"As input UTXO for outgoing transaction, \"spent\" time is specified",[54,91863,91864,91865],{},"Coin type\n",[89,91866,91867,91878,91881,91884],{},[54,91868,91869,91870],{},"Regular: just a regular coin, can receive most of the statuses (see below)\n",[89,91871,91872,91875],{},[54,91873,91874],{},"Regular (received): received upon a successful completion of an incoming transaction",[54,91876,91877],{},"Regular (change): received by the sender when his UTXO is split during a successfully accomplished outgoing transaction",[54,91879,91880],{},"Transaction fee: paid by the user, is always created with \"Maturing\" status",[54,91882,91883],{},"Coinbase: mined when miner closed the block, is always created with \"Maturing\" status",[54,91885,91886],{},"Treasury: generated for maintenance and development of the project",[54,91888,91889,91890],{},"Status\n",[89,91891,91892,91895,91958,91961],{},[54,91893,91894],{},"Available: not in the transaction, can be spent",[54,91896,91897,91898],{},"In progress, can have the following sub-cases:\n",[89,91899,91900,91919,91940],{},[54,91901,91902,91903],{},"Incoming (draft) or Incoming: the amount is locked because of the ongoing incoming transaction\n",[89,91904,91905],{},[54,91906,91907,91908],{},"Example:\n",[89,91909,91910,91913,91916],{},[54,91911,91912],{},"Alice has single UTXO of 100 BEAM and wants to send it fully to Bob (zero transaction fee for clarity)",[54,91914,91915],{},"Bob sees 100 BEAM as \"Incoming (draft)\" before that UTXO was registered in the node\u002Fblockchain",[54,91917,91918],{},"Bob sees 100 BEAM as \"Incoming\" when that UTXO was recognized registered in the node\u002Fblockchain",[54,91920,91921,91922],{},"Outgoing: the amount is locked because of the ongoing outgoing transaction, new UTXO will be generated as a change once the transaction will be competed\n",[89,91923,91924],{},[54,91925,91907,91926],{},[89,91927,91928,91931,91934,91937],{},[54,91929,91930],{},"Alice has single UTXO of 100 BEAM and wants to send 20 BEAM to Bob (zero transaction fee for clarity)",[54,91932,91933],{},"Alice sees 100 BEAM are \"outgoing (locked)\" at first",[54,91935,91936],{},"Alice sees 80 BEAM as \"incoming (change)\" and Bob sees 20 BEAM \"incoming\"",[54,91938,91939],{},"Alice sees 80 BEAM as \"Available\" and Bob sees 20 BEAM \"Available\"",[54,91941,91942,91943],{},"Maturing\n",[89,91944,91945,91952],{},[54,91946,91947,91948],{},"Reserved till ",[91949,91950,91951],"time",{},": the amount will become available after the \"locked\" timeout will expire",[54,91953,91954,91955],{},"Mined till block height ",[6545,91956,91957],{}," (similar to \"Reserved\", but measured in block height): the mined amount becomes available to miners only after the block height will be reached",[54,91959,91960],{},"Spent: gone with the completed outgoing transaction",[54,91962,91963],{},"Unavailable: for UTXO that cannot be spent anymore (due to transaction rollback or mining result rollback, the reason should be supplied just like for the \"Locked\" status)",[54,91965,91966,91967],{},"Incoming Transaction details (if available, for example is not mined locally)\n",[89,91968,91969,91972,91975],{},[54,91970,91971],{},"Transaction ID - when clicked, should be taken to transaction list with the designated transaction details opened",[54,91973,91974],{},"Transaction completion time (ie time when UTXO was received)",[54,91976,91977],{},"Transaction Address ID (and its address group name and category if available)",[54,91979,91980,91981],{},"Outgoing Transaction details (if available, for example not spent yet)\n",[89,91982,91983,91985,91988],{},[54,91984,91971],{},[54,91986,91987],{},"Transaction completion time (ie time when UTXO was spent)",[54,91989,91977],{},[54,91991,91992],{},"A history of status changes with its respective timestamps etc",[43,91994,3405],{"id":3404},[89,91996,91997,92000,92026,92058],{},[54,91998,91999],{},"amount: shown as \u003Ccurrency + amount + state>",[54,92001,92002,92003],{},"short state (displayed in transaction status in mobile)\n",[89,92004,92005,92008,92011,92014,92017,92020,92023],{},[54,92006,92007],{},"sending\u002Freceiving for Send\u002FReceive",[54,92009,92010],{},"in progress for Atomic Swap",[54,92012,92013],{},"sent\u002Freceived for Send\u002FReceive",[54,92015,92016],{},"completed for Atomic Swap",[54,92018,92019],{},"cancelled for both",[54,92021,92022],{},"failed for both",[54,92024,92025],{},"expired for both",[54,92027,92028,92029],{},"detailed state (displayed on desktop or in transaction details in mobile)\n",[89,92030,92031,92034,92037,92040,92043,92046,92049,92052,92055],{},[54,92032,92033],{},"\"Waiting for network sync to complete\" - to indicate that transaction can't be started before the network sync is accomplished",[54,92035,92036],{},"\"Waiting for Sender\u002FWaiting for Receiver\" - to indicate that sender or receiver should come online to initiate the transaction",[54,92038,92039],{},"\"Handshaking\" - two wallets are negotiating the transaction details",[54,92041,92042],{},"\"Syncing with blockchain\" - the transaction is being registered with the node",[54,92044,92045],{},"\"Sending\u002FReceiving\" - the transaction is taken care by the blockchain, some miner needs to PoW and to add it to a block, the block should be added to the blockchain",[54,92047,92048],{},"\"Sent\u002FReceived\" - the transaction is completed",[54,92050,92051],{},"\"Cancelled\" (by Sender, due to Rollback)",[54,92053,92054],{},"\"Expired\" (by timeout)",[54,92056,92057],{},"\"Failed\" (should come with the user-friendly actionable reason\u002Fdescription)",[54,92059,92060,92061],{},"time for every status change in the transaction lifecycle such as:\n",[89,92062,92063,92066,92069,92072,92075,92078,92081,92084],{},[54,92064,92065],{},"creation timestamp",[54,92067,92068],{},"peer online timestamp",[54,92070,92071],{},"peer offline timestamp",[54,92073,92074],{},"timestamp for each confirmation",[54,92076,92077],{},"deletion time (where appropriate)",[54,92079,92080],{},"peer addresses (sending, receiving escrow in the future etc), each address can be assigned to an address groups",[54,92082,92083],{},"related UTXOs (ie IDs of transactions, outputs of which serve as inputs for the current transaction)",[54,92085,92086],{},"textual annotation (optional), sender and receiver have separate annotations, each is stored locally",{"title":760,"searchDepth":761,"depth":761,"links":92088},[],{},"\u002Fdocs\u002Fcore-tech\u002Fmain-wallet-entities-and-their-attributes",{"title":91776,"description":760},"docs\u002Fcore-tech\u002FMain-wallet-entities-and-their-attributes","0ku5tuzkdNvjwOBM-lZENphsst1yFdPleYsN33BBcAY",{"id":92095,"title":92096,"body":92097,"description":92101,"extension":775,"image":776,"meta":92371,"navTitle":776,"navigation":778,"path":92372,"seo":92373,"stem":92374,"__hash__":92375},"docs\u002Fdocs\u002Fcore-tech\u002FMerkle-trees.md","Merkle Trees",{"type":8,"value":92098,"toc":92364},[92099,92102,92105,92113,92116,92119,92123,92130,92137,92140,92147,92150,92155,92159,92166,92174,92181,92184,92190,92194,92201,92204,92210,92214,92217,92227,92230,92233,92237,92240,92243,92247,92250,92253,92276,92279,92282,92348,92351,92355,92358,92361],[11,92100,92101],{},"BEAM uses various kinds of Merkle trees and proofs.",[11,92103,92104],{},"There are 2 kinds of proofs used:",[89,92106,92107,92110],{},[54,92108,92109],{},"Standard proofs. Consists of an array of hashes, with the flag that specifies the hashing direction (left\u002Fright)",[54,92111,92112],{},"Hard proofs. Consists only of hashes. The hashing direction (as long as the proof length) is deduced by the Verifier automatically.",[11,92114,92115],{},"Hard proofs are used where the client is aware of the supposed Merkle tree structure and the position of the needed element. Those proofs are not only a little smaller, but also more robust - they won't allow the Attacker to include different versions of the same element.",[11,92117,92118],{},"In addition there are combinations: a proof which begins as a standard proof, whereas for the suffix the client may deduce the hashing direction. More about this later.",[43,92120,92122],{"id":92121},"mmr","MMR",[11,92124,92125,92126,92129],{},"Stands for ",[58,92127,92128],{},"Merkle Mountain Range",", which is a fancy term to describe a (potentially) incomplete Merkle tree.",[11,92131,92132,92133,92136],{},"The underlying objects that are represented by the leaf nodes are converted to hashes according to a specific scheme applicable to the specific object kind (Means - Merkle trees in BEAM never contain ",[58,92134,92135],{},"raw objects",", to prevent possible ambiguity attacks).",[11,92138,92139],{},"The hashing used is SHA-256. Non-leaf node hashes are calculated according to",[5819,92141,92142],{},[11,92143,92144],{},[150,92145,92146],{},"Hash ( Left-Child | Right->Child )",[11,92148,92149],{},"The tree fill order is left-to-right, whereas at each height two adjacent nodes form a parent node. This forms a sequence of complete trees of decreasing height (a.k.a. Mountain Range). Then adjacent trees are grouped from right to left, and form a mutual parent node, whose children are the roots of those trees. So it's like a regular Merkle tree, except the fact that the root node of the right child is \"promoted\" to the height of the left tree.",[11,92151,92152,92154],{},[94,92153,3767],{},": in our implementation this promotion doesn't involve any actions, such as hashing with itself (which is used AFAIK in some implementations). This means that the proof length may vary for different elements.",[26,92156,92158],{"id":92157},"implementation-details","Implementation details",[11,92160,92161,92162,92165],{},"The core MMR implementation is in ",[150,92163,92164],{},"Mmr"," abstract class. Contains the following virtual functions:",[5819,92167,92168],{},[866,92169,92172],{"className":92170,"code":92171,"language":871},[869],"  virtual void LoadElement(Hash&, const Position&) const = 0;\n  virtual void SaveElement(const Hash&, const Position&) = 0;\n",[150,92173,92171],{"__ignoreMap":760},[11,92175,92176,92177,92180],{},"Whereas ",[150,92178,92179],{},"Position"," is a logical position of an element in the tree (Height and X-coordinate).",[11,92182,92183],{},"Based on the underlying implementation in a derived class, which is supposed to load\u002Fsave an arbitrary tree element, it supports the expected functionality: appending elements, getting the root hash, getting a proof for a specific element.",[11,92185,92186,92187,92189],{},"There are various implementation base on ",[150,92188,92164],{},", which differ in how they actually store the hashes.",[716,92191,92193],{"id":92192},"dmmr-distributed-mmr","DMMR - Distributed MMR",[11,92195,92196,92197,92200],{},"A more sophisticated variant is called ",[150,92198,92199],{},"DistributedMmr",". It's assumed that the tree data is not stored in one place, but distributed over multiple sites. So that whenever a new element is added to the tree - this element gets a \"reference\" to the existing tree data, and all the new data that should be created (new non-leaf node hashes) is stored in the context of this element only, without the modification of older ones.",[11,92202,92203],{},"This is very useful for branching, whereas one needs to keep track of different variants of what's added to the MMR.",[11,92205,92206],{},[18,92207,92209],{"href":8205,"rel":92208},[22],"More information about their structure is here.",[5542,92211,92213],{"id":92212},"use-case","Use case",[11,92215,92216],{},"Every system state should have an MMR of all the inherited states to support",[89,92218,92219,92222],{},[54,92220,92221],{},"proof of state inclusion in the current state",[54,92223,92224,92225,4316],{},"Chainwork proof (variation of ",[58,92226,81431],{},[11,92228,92229],{},"Every state references the DMMR of the inherited state and adds the extra data to reflect its addition to the tree.",[11,92231,92232],{},"This allows to use the full MMR functionality for every state, no matter if it's the branch tip or not, as well as if it's a part of the current consensus branch or not.",[26,92234,92236],{"id":92235},"multiproof","Multiproof",[11,92238,92239],{},"We use an efficient encoding scheme in a situation where the Prover is supposed to prove multiple elements, whereas the tree structure is known to the Verifier (i.e. the client is able to deduce the Merkle path for any element). In this scenario, during the proof interpretation, both the Prover and the Verifier process hashes up to the point where the Merkle path collides with a path of an element which was included already.",[11,92241,92242],{},"This both saves the proof size and the verification complexity.",[43,92244,92246],{"id":92245},"radix-tree","Radix Tree",[11,92248,92249],{},"(a.k.a. Patricia tree, Merklish (?) tree)",[11,92251,92252],{},"BEAM makes use of special Radix trees, with the following properties:",[89,92254,92255,92258,92269],{},[54,92256,92257],{},"It's a variant of a Merkle tree. Means - leaf elements represented by hashes, non-leaf nodes have exactly 2 children, and their hash is evaluated accordingly.",[54,92259,92260,92261],{},"It's also a binary search tree, which means:\n",[89,92262,92263,92266],{},[54,92264,92265],{},"logarithmic search, modification",[54,92267,92268],{},"Option to search by either exact or partial key, find elements within key ranges, and etc.",[54,92270,92271,92272,92275],{},"The internal tree structure is fully defined by the set of contained elements. Regardless to the ",[58,92273,92274],{},"history"," (i.e. in which order they were inserted\u002Fremoved).",[11,92277,92278],{},"The search key is an opaque bits sequence, whereas the length of this sequence must be equal among all the elements contained in the Radix tree. It may, however, be different for different tree instances, which are supposed to contain objects of different kinds (UTXOs, kernels, etc.).",[11,92280,92281],{},"Our Radix trees have the following properties:",[89,92283,92284,92295,92306,92322,92333],{},[54,92285,92286,92287],{},"1bit - radix.\n",[89,92288,92289,92292],{},[54,92290,92291],{},"Means - the key bits are evaluated one-by-one, and each bit is potentially a junction.",[54,92293,92294],{},"Non-leaf nodes always have exactly 2 children",[54,92296,92297,92298],{},"Lazy split\n",[89,92299,92300,92303],{},[54,92301,92302],{},"Unlike classical radix trees, our trees have non-leaf nodes only where splitting is needed.",[54,92304,92305],{},"In particular if there's only 1 element - there is indeed just a single leaf node.",[54,92307,92308,92309],{},"Lazy evaluate\n",[89,92310,92311,92317],{},[54,92312,92313,92314,385],{},"Merkle hashes are not immediately recalculated when the tree is modified, instead they're just marked ",[58,92315,92316],{},"dirty",[54,92318,92319,92320,385],{},"They are re-evaluated (recursively) only when needed and only if ",[58,92321,92316],{},[54,92323,92324,92325],{},"Intrusive-container-like semantics\n",[89,92326,92327,92330],{},[54,92328,92329],{},"To insert an element into the tree it's first allocated with the key (as a single allocation block).",[54,92331,92332],{},"The key of the allocated leaf node is used by the non-leaf nodes (they have a pointer to the same key).",[54,92334,92335,92336],{},"No pointer to parent\n",[89,92337,92338,92341],{},[54,92339,92340],{},"To save space pointers to parent are omitted.",[54,92342,92343,92344,92347],{},"To allow this - during the operation we keep a ",[58,92345,92346],{},"Cursor",", which contains the pointers to all the passed nodes to the point.",[11,92349,92350],{},"Speaking technically, non-leaf nodes are allocated\u002Fdestroyed on-demand, they have the pointer to the key (of one of the leaf nodes contained beneath), and the bit count remaining to the next node. Either the next node is the leaf or not - is determined by the total path length - is it equal to the assumed key length (which is known and supposed to be equal for all the contained elements).",[26,92352,92354],{"id":92353},"merkle-disproof","Merkle disproof",[11,92356,92357],{},"Surprisingly using those radix trees it's possible  to prove (with some assumptions) that there is no queried element.",[11,92359,92360],{},"If there is no queried element - the Prover can present its two closest siblings (or one if it's the maximum\u002Fminimum) with their Merkle proofs, which the Verifier can verify indeed belong to adjacent elements.",[11,92362,92363],{},"The Verifier needs, however, to assume that the tree was built according to the rules. In particular when querying for multiple elements, both existing and non-existing, the Verifier should verify that indeed all the presented proofs are in agreement with the assumed element order.",{"title":760,"searchDepth":761,"depth":761,"links":92365},[92366,92369,92370],{"id":92157,"depth":761,"text":92158,"children":92367},[92368],{"id":92192,"depth":772,"text":92193},{"id":92235,"depth":761,"text":92236},{"id":92353,"depth":761,"text":92354},{},"\u002Fdocs\u002Fcore-tech\u002Fmerkle-trees",{"description":92101},"docs\u002Fcore-tech\u002FMerkle-trees","7clTzwvPdERfq8sFhl7AVtPwmfYKfoaCzucdHjDDzCc",{"id":92377,"title":92378,"body":92379,"description":92383,"extension":775,"image":776,"meta":92678,"navTitle":776,"navigation":778,"path":92679,"seo":92680,"stem":92681,"__hash__":92682},"docs\u002Fdocs\u002Fcore-tech\u002FMimblewimble-Whitepaper-(June-2016).md","Mimblewimble Whitepaper (June 2016)",{"type":8,"value":92380,"toc":92676},[92381,92384,92391,92394,92397,92400,92403,92414,92417,92423,92429,92435,92440,92443,92446,92452,92455,92462,92465,92472,92475,92478,92500,92510,92513,92527,92530,92533,92538,92544,92547,92554,92557,92568,92571,92576,92579,92582,92589,92592,92595,92601,92606,92609,92627],[11,92382,92383],{},"MIMBLEWIMBLE\nTom Elvis Jedusor\n19 July, 2016",[11,92385,92386,92387,92390],{},"**",[94,92388,92389],{},"\u002F\nIntroduction\n\u002F","**\\",[11,92392,92393],{},"Bitcoin is the first widely used financial system for which all the necessary\ndata to validate the system status can be cryptographically verified by anyone.\nHowever, it accomplishes this feat by storing all transactions in a public\ndatabase called \"the blockchain\" and someone who genuinely wishes to check\nthis state must download the whole thing and basically replay each transaction,\ncheck each one as they go. Meanwhile, most of these transactions have not\naffected the actual final state (they create outputs that are destroyed\na transaction later).",[11,92395,92396],{},"At the time of this writing, there were nearly 150 million transactions\ncommitted in the blockchain, which must be replayed to produce a set of\nonly 4 million unspent outputs.",[11,92398,92399],{},"It would be better if an auditor needed only to check data on the outputs\nthemselves, but this is impossible because they are valid if and only if the\noutput is at the end of a chain of previous outputs, each signs the next. In\nother words, the whole blockchain must be validated to confirm the final\nstate.",[11,92401,92402],{},"Add to this that these transactions are cryptographically atomic, it is clear\nwhat outputs go into every transaction and what emerges. The \"transaction graph\"\nresulting reveals a lot of information and is subjected to analysis by many\ncompanies whose business model is to monitor and control the lower classes.\nThis makes it very non-private and even dangerous for people to use.",[11,92404,92405,92406,92408,92409,92411,92412,385],{},"Some solutions to this have been proposed. Greg Maxwell discovered to encrypt\nthe amounts, so that the graph of the transaction is faceless but still allow\nvalidation that the sums are correct ",[984,92407,1345],{},". Dr Maxwell also produced CoinJoin,\na system for Bitcoin users to combine interactively transactions, confusing\nthe transaction graph. Nicolas van Saberhagen has developed a system to blind\nthe transaction entries, goes much further to cloud the transaction graph (as\nwell as not needed the user interaction) ",[984,92410,5131],{},". Later, Shen Noether combined\nthe two approaches to obtain \"confidential transactions\" of Maxwell AND the\ndarkening of van Saberhagen ",[984,92413,2431],{},[11,92415,92416],{},"These solutions are very good and would make Bitcoin very safe to use. But\nthe problem of too much data is made even worse. Confidential transactions\nrequire multi-kilobyte proofs on every output, and van Saberhagen signatures\nrequire every output to be stored for ever, since it is not possible to tell\nwhen they are truly spent.",[11,92418,92419,92420,92422],{},"Dr. Maxwell's CoinJoin has the problem of needing interactivity. Dr. Yuan Horas\nMouton fixed this by making transactions freely mergeable ",[984,92421,8099],{},", but he needed to\nuse pairing-based cryptography, which is potentially slower and more difficult\nto trust. He called this \"one-way aggregate signatures\" (OWAS).",[11,92424,92425,92426,92428],{},"OWAS had the good idea to combine the transactions in blocks. Imagine that we\ncan combine across blocks (perhaps with some glue data) so that when the outputs\nare created and destroyed, it is the same as if they never existed. Then, to\nvalidate the entire chain, users only need to know when money is entered into\nthe system (new money in each block as in Bitcoin or Monero or peg-ins for\nsidechains ",[984,92427,1018],{},") and final unspent outputs, the rest can be removed and forgotten.\nThen we can have Confidential Transactions to hide the amounts and OWAS to blur\nthe transaction graph, and use LESS space than Bitcoin to allow users to fully\nverify the blockchain. And also imagine that we must not pairing-based cryptography\nor new hypotheses, just regular discrete logarithms signatures like Bitcoin.\nHere is what I propose.",[11,92430,92431,92432,385],{},"I call my creation Mimblewimble because it is used to prevent the blockchain from\ntalking about all user's information ",[984,92433,92434],{},"7",[11,92436,92386,92437,92390],{},[94,92438,92439],{},"\u002F\nConfidential Transactions and OWAS\n\u002F",[11,92441,92442],{},"The first thing we need to do is remove Bitcoin Script. This is sad, but it is too\npowerful so it is impossible to merge transactions using general scripts. We will\ndemonstrate that confidential transactions of Dr. Maxwell are enough (after some\nsmall modification) to authorize spending of outputs and also allows to make\ncombined transactions without interaction. This is in fact identical to OWAS,\nand allows relaying nodes take some transaction fee or the recipient to change\nthe transaction fees. These additional things Bitcoin can not do, we get for free.",[11,92444,92445],{},"We start by reminding the reader how confidential transactions work. First, the\namounts are coded by the following equation:",[866,92447,92450],{"className":92448,"code":92449,"language":871},[869],"C = r*G + v*H\n",[150,92451,92449],{"__ignoreMap":760},[11,92453,92454],{},"where C is a Pedersen commitment, G and H are fixed nothing-up-my-sleeve elliptic\ncurve group generators, v is the amount, and r is a secret random blinding key.",[11,92456,92457,92458,92461],{},"Attached to this output is a rangeproof which proves that v is in ",[984,92459,92460],{},"0, 2^64",", so\nthat user cannot exploit the blinding to produce overflow attacks, etc.",[11,92463,92464],{},"To validate a transaction, the verifer will add commitments for all outputs, plus\nf*H (f here is the transaction fee which is given explicitly) and subtracts all\ninput commitments. The result must be 0, which proves that no amount was created\nor destroyed overall.",[11,92466,92467,92468,92471],{},"We note that to create such a transaction, the user must know the sum of all the\nvalues of r for commitments entries. Therefore, the r-values (and their sums) act\nas secret keys. If we can make the r output values known only to the recipient,\nthen we have an authentication system! Unfortunately, if we keep the rule that\ncommits all add to 0, this is impossible, because the sender knows the sum of\nall ",[58,92469,92470],{},"his"," r values, and therefore knows the receipient's r values sum to the\nnegative of that. So instead, we allow the transaction to sum to a nonzero value\nk*G, and require a signature of an empty string with this as key, to prove its\namount component is zero.",[11,92473,92474],{},"We let transactions have as many k*G values as they want, each with a signature,\nand sum them during verification.",[11,92476,92477],{},"To create transactions sender and recipient do following ritual:",[51,92479,92480,92483,92490,92497],{},[54,92481,92482],{},"Sender and recipient agree on amount to be sent. Call this b.",[54,92484,92485,92486,92489],{},"Sender creates transaction with all inputs and change output(s), and gives\nrecipient the total blinding factor (r-value of change minus r-values of\ninputs) along with this transaction. So the commitments sum to r",[58,92487,92488],{},"G - b","H.",[54,92491,92492,92493,92496],{},"Recipient chooses random r-values for his outputs, and values that sum\nto b minus fee, and adds these to transaction (including range proof).\nNow the commitments sum to k",[58,92494,92495],{},"G - fee","H for some k that only recipient\nknows.",[54,92498,92499],{},"Recipient attaches signature with k to the transaction, and the explicit\nfee. It has done.",[11,92501,92502,92503,92506,92507,92509],{},"Now, creating transactions in this manner supports OWAS already. To show this,\nsuppose we have two transactions that have a surplus k1",[58,92504,92505],{},"G and k2","G, and the\nattached signatures with these. Then you can combine the lists of inputs and\noutputs of the two transactions, with both k1",[58,92508,92505],{},"G to the mix, and\nvoilá! is again a valid transaction. From the combination, it is impossible to\nsay which outputs or inputs are from which original transaction.",[11,92511,92512],{},"Because of this, we change our block format from Bitcoin to this information:",[51,92514,92515,92518,92521,92524],{},[54,92516,92517],{},"Explicit amounts for new money (block subsidy or sidechain peg-ins) with\nwhatever else data this needs. For a sidechain peg-in maybe it references\na Bitcoin transaction that commits to a specific excess k*G value?",[54,92519,92520],{},"Inputs of all transactions",[54,92522,92523],{},"Outputs of all transactions",[54,92525,92526],{},"Excess k*G values for all transactions",[11,92528,92529],{},"Each of these are grouped together because it do not matter what the transaction\nboundaries are originally. In addition, Lists 2 3 and 4 should be required to be\ncoded in alphabetical order, since it is quick to check and prevents the block\ncreator of leaking any information about the original transactions.",[11,92531,92532],{},"Note that the outputs are now identified by their hash, and not by their position\nin a transaction that could easily change. Therefore, it should be banned to have\ntwo unspent outputs are equal at the same time, to avoid confusion.",[11,92534,92386,92535,92390],{},[94,92536,92537],{},"\u002F\nMerging Transactions Across Blocks\n\u002F",[11,92539,92540,92541,92543],{},"Now, we have used Dr. Maxwell's Confidential Transactions to create a noninteractive\nversion of Dr. Maxwell's CoinJoin, but we have not seen the last of marvelous Dr. Maxwell!\nWe need another idea, transaction cut-through, he described in ",[984,92542,12972],{},". Again, we create a\nnoninteractive version of this, and to show how it is used with several blocks.",[11,92545,92546],{},"We can imagine now each block as one large transaction. To validate it, we add all the\noutput commitments together, then subtracts all input commitments, k*G values, and all\nexplicit input amounts times H. We find that we could combine transactions from two\nblocks, as we combined transactions to form a single block, and the result is again\na valid transaction. Except now, some output commitments have an input commitment exactly\nequal to it, where the first block's output was spent in the second block. We could\nremove both commitments and still have a valid transaction. In fact, there is not even\nneed to check the rangeproof of the deleted output.",[11,92548,92549,92550,92553],{},"The extension of this idea all the way from the genesis block to the latest block, we\nsee that EVERY nonexplicit input is deleted along with its referenced output. What\nremains are only the unspent outputs, explicit input amounts and every k",[58,92551,92552],{},"G value.\nAnd this whole mess can be validated as if it were one transaction: add all unspent\ncommitments output, subtract the values k","G, validate explicit input amounts (if there\nis anything to validate) then subtract them times H. If the sum is 0, the entire\nchain is good.",[11,92555,92556],{},"What is this mean? When a user starts up and downloads the chain he needs the following\ndata from each block:",[51,92558,92559,92562,92565],{},[54,92560,92561],{},"Explicit amounts for new money (block subsidy or sidechain peg-ins) with\nwhatever else data this needs.",[54,92563,92564],{},"Unspent outputs of all transactions, along with a merkle proof that each\noutput appeared in the original block.",[54,92566,92567],{},"Excess k*G values for all transactions.",[11,92569,92570],{},"Bitcoin today there are about 423000 blocks, totaling 80GB or so of data on the hard\ndrive to validate everything. These data are about 150 million transactions and 5 million\nunspent nonconfidential outputs. Estimate how much space the number of transactions\ntake on a Mimblewimble chain. Each unspent output is around 3Kb for rangeproof and\nMerkle proof. Each transaction also adds about 100 bytes: a k*G value and a signature.\nThe block headers and explicit amounts are negligible. Add this together and get\n30Gb -- with a confidential transaction and obscured transaction graph!",[11,92572,92386,92573,92390],{},[94,92574,92575],{},"\u002F\nQuestions and Intuition\n\u002F",[11,92577,92578],{},"Here are some questions that since these weeks, dreams asked me and I woke up sweating.\nBut in fact it is OK.",[11,92580,92581],{},"Q. If you delete the transaction outputs, user cannot verify the rangeproof and maybe\na negative amount is created.",[11,92583,92584,92585,92588],{},"A. This is OK. For the entire transaction to validate all negative amounts must have\nbeen destroyed. User have SPV security only that no illegal inflation happened in\nthe past, but the user knows that ",[58,92586,92587],{},"at this time"," no inflation occurred.",[11,92590,92591],{},"Q. If you delete the inputs, double spending can happen.",[11,92593,92594],{},"A. In fact, this means: maybe someone claims that some unspent output was spent\nin the old days. But this is impossible, otherwise the sum of the combined transaction\ncould not be zero.",[866,92596,92599],{"className":92597,"code":92598,"language":871},[869]," An exception is that if the outputs are amount zero, it is possible to make two that\n are negatives of each other, and the pair can be revived without anything breaks. So to\n prevent consensus problems, outputs 0-amount should be banned. Just add H at each output,\n now they all amount to at least 1.\n",[150,92600,92598],{"__ignoreMap":760},[11,92602,92386,92603,92390],{},[94,92604,92605],{},"\u002F\nFuture Research\n\u002F",[11,92607,92608],{},"Here are some questions I can not answer at the time of this writing.",[51,92610,92611,92614,92621],{},[54,92612,92613],{},"What script support is possible? We would need to translate script operations into\nsome sort of discrete logarithm information.",[54,92615,92616,92617,92620],{},"We require user to check all k",[58,92618,92619],{},"G values, when in fact all that is needed is that their\nsum is of the form k","G. Instead of using signatures is there another proof of discrete\nlogarithm that could be combined?",[54,92622,92623,92624,92626],{},"There is a denial-of-service option when a user downloads the chain, the peer can give\ngigabytes of data and list the wrong unspent outputs. The user will see that the result\ndo not add up to 0, but cannot tell where the problem is.",[957,92625],{},"For now maybe the user should just download the blockchain from a Torrent or something\nwhere the data is shared between many users and is reasonably likely to be correct.",[11,92628,92629,2679,92631,92634,2679,92636,92640,2679,92642,92646,2679,92648,92652,2679,92654,92658,2679,92660,92664,2679,92666,92671,2679,92673],{},[984,92630,1345],{},[18,92632,8149],{"href":8149,"rel":92633},[22],[984,92635,1503],{},[18,92637,92638],{"href":92638,"rel":92639},"https:\u002F\u002Fbitcointalk.org\u002Findex.php?topic=279249.0",[22],[984,92641,5131],{},[18,92643,92644],{"href":92644,"rel":92645},"https:\u002F\u002Fcryptonote.org\u002Fwhitepaper.pdf",[22],[984,92647,2431],{},[18,92649,92650],{"href":92650,"rel":92651},"https:\u002F\u002Feprint.iacr.org\u002F2015\u002F1098.pdf",[22],[984,92653,8099],{},[18,92655,92656],{"href":92656,"rel":92657},"https:\u002F\u002Fdownload.wpsoftware.net\u002Fbitcoin\u002Fwizardry\u002Fhorasyuanmouton-owas.pdf",[22],[984,92659,1018],{},[18,92661,92662],{"href":92662,"rel":92663},"http:\u002F\u002Fblockstream.com\u002Fsidechains.pdf",[22],[984,92665,92434],{},[18,92667,92670],{"href":92668,"rel":92669},"http:\u002F\u002Ffr.harrypotter.wikia.com\u002Fwiki\u002FSortil%C3%A8ge_de_Langue_de_Plomb",[22],"http:\u002F\u002Ffr.harrypotter.wikia.com\u002Fwiki\u002FSortilège_de_Langue_de_Plomb",[984,92672,12972],{},[18,92674,8155],{"href":8155,"rel":92675},[22],{"title":760,"searchDepth":761,"depth":761,"links":92677},[],{},"\u002Fdocs\u002Fcore-tech\u002Fmimblewimble-whitepaper-(june-2016)",{"description":92383},"docs\u002Fcore-tech\u002FMimblewimble-Whitepaper-(June-2016)","mQL5mSR9mIlV2A6TbsodmbZuUw8KUqFFIMkGEJjpZU8",{"id":92684,"title":92685,"body":92686,"description":92690,"extension":775,"image":776,"meta":92746,"navTitle":776,"navigation":778,"path":92747,"seo":92748,"stem":92749,"__hash__":92750},"docs\u002Fdocs\u002Fcore-tech\u002FMining-Difficulty.md","Mining Difficulty",{"type":8,"value":92687,"toc":92744},[92688,92691,92695,92698,92701,92704,92711,92715,92718,92721,92741],[11,92689,92690],{},"Mining difficulty is a measure of how many attempts on average it is required to find the proof-of-work solution required to mine a block and receive the mining reward.\nOne can define the Difficulty as the inverse probability of a random solution being the correct one. Thus, a difficulty of 100 means that one in 100 tries should produce a valid block in average.",[43,92692,92694],{"id":92693},"why-change-the-difficulty","Why change the difficulty?",[11,92696,92697],{},"In Proof of Work blockchains, the difficulty is a dynamic parameter, periodically retargeted to reflect the fluctuations in the total computational power of all the miners. Accounting for changes in mining competition, as well as improvements in mining technology.",[11,92699,92700],{},"The goal of updating the difficulty is to keep the average block time at a certain value. In Beam, the target block time is 60 seconds, which underpins a constant currency issuance and the transaction settlement time of the network.",[11,92702,92703],{},"Here’s an example. Let’s assume we have 100 miners in our network. They are trying different random solutions and find one roughly every minute. Now 100 more miners join, the hashrate of the network doubles, and it will take just 30 seconds to find the solution in average. And if 200 and more join, the time will halve into 15 seconds, and so on.",[11,92705,92706,92707,92710],{},"To mitigate that, Beam nodes adjust ",[984,92708,92709],{},"shall we mention that they reach consensus here?","the difficulty, increasing the difficulty of the proof of work algorithm as more miners join, and lowering it if the number of miners decreases.",[43,92712,92714],{"id":92713},"how-difficulty-is-calculated-in-beam","How Difficulty is calculated in Beam",[11,92716,92717],{},"In Beam, the difficulty is reassessed with every block, by every client independently\nThe algorithm looks at the average time and the average difficulty the last 1440 blocks. f the time required to mine the last 1440 blocks is higher or lower than 24 hours, the difficulty is retargeted accordingly.",[11,92719,92720],{},"The detailed algorithm is outlined below:",[51,92722,92723,92726,92729,92732,92735,92738],{},[54,92724,92725],{},"Look at the last 7 blocks. Identify the block that has the median block time. This is the Window End block.",[54,92727,92728],{},"Look at blocks from 127 to 120 before the current block (7 blocks altogether). Identify the block that has the median block time out of those. This will be the Window Start block.",[54,92730,92731],{},"Sum all the difficulties of the blocks from Window Start to Window End. This is Delta Work.",[54,92733,92734],{},"Calculate the time difference between Window Start and Window End blocks. This is Delta Time.",[54,92736,92737],{},"Calculate the difficulty for next block as: NewDifficulty = (Delta Work \u002F Delta Time) * 60seconds.",[54,92739,92740],{},"The Delta Time is bounded by 1 hour and 4 hours. I.e. if the difference is less than 1 hour, 1 hours is still used as Delta Time, same for differences larger than 4 hours. This is done to prevent extreme changes in difficulty.",[11,92742,92743],{},"The algorithm above ensures that as the total solution power of the network fluctuates, the difficulty is gradually adjusted and thus the target block time is ensured.",{"title":760,"searchDepth":761,"depth":761,"links":92745},[],{},"\u002Fdocs\u002Fcore-tech\u002Fmining-difficulty",{"description":92690},"docs\u002Fcore-tech\u002FMining-Difficulty","WBEWkLdodR5Bwr9hpCJuY9nlu2l_AjwCHeoXAVE2hI8",{"id":92752,"title":5723,"body":92753,"description":760,"extension":775,"image":776,"meta":94313,"navTitle":776,"navigation":778,"path":94314,"seo":94315,"stem":94316,"__hash__":94317},"docs\u002Fdocs\u002Fcore-tech\u002FNew-address-types-support.md",{"type":8,"value":92754,"toc":94302},[92755,92757,92759,92764,92768,92770,92776,92779,92783,92786,92796,92800,92804,92806,94006,94010,94023,94027,94176,94180,94191,94193,94291,94299],[43,92756,5723],{"id":5728},[26,92758,927],{"id":926},[11,92760,930,92761,936],{},[18,92762,935],{"href":933,"rel":92763},[22],[26,92765,92767],{"id":92766},"new-transaction-types","New transaction types",[11,92769,5750],{},[89,92771,92772,92774],{},[54,92773,5755],{},[54,92775,5758],{},[11,92777,92778],{},"In order to receive these transactions there are no need to make any changes, but if you want to send them you have to explicitly enable them in the wallet, and distinguish new address types.",[26,92780,92782],{"id":92781},"new-address-types","New address types",[11,92784,92785],{},"We introduced new address types in CLI and Desktop wallet version 5.0, now they are available in API. We highly recommend to use these new addresses, this should bring better user experience both for sending and receiving. For backward compatibility we preserved old address type.\nThe difference between new addresses and old are the following",[89,92787,92788,92794],{},[54,92789,5773,92790,5777,92792,5781],{},[150,92791,5776],{},[150,92793,5780],{},[54,92795,5784],{},[26,92797,92799],{"id":92798},"updating-wallet-api","Updating wallet API",[716,92801,92803],{"id":92802},"download-new-binaries-of-the-wallet-api","Download new binaries of the wallet API",[716,92805,940],{"id":939},[89,92807,92808,92818,92852,93004,93141,93506,93632,93760],{},[54,92809,945,92810,949,92812],{},[150,92811,948],{},[866,92813,92816],{"className":92814,"code":92815,"language":871},[869],"    .\u002Fwallet-api --enable_assets -n \u003Cnode address>\n",[150,92817,92815],{"__ignoreMap":760},[54,92819,92820,92821,441,92823,163,92825,92827,92828,92831,92832,92835,92836,92838,92839,441,92841,441,92843,441,92845,92847,92848,92851],{},"updated the codebase. Methods ",[150,92822,12024],{},[150,92824,12337],{},[150,92826,883],{}," now has ",[150,92829,92830],{},"\"assets\""," parameter, if you pass ",[150,92833,92834],{},"\"assets\": true"," these methods return data related to CA. If you wish to send or split CA you should specify ",[150,92837,1470],{}," parameter. Also there are some new methods which provide CA specific functionality (",[150,92840,918],{},[150,92842,913],{},[150,92844,903],{},[150,92846,908],{},"). Please, see ",[18,92849,84751],{"href":78302,"rel":92850},[22]," for more details.",[54,92853,92854,92855,6193,92857,92859,92860,92862,92864],{},"add ",[150,92856,92834],{},[150,92858,12024],{}," method to view assets",[957,92861],{},[150,92863,975],{},[866,92865,92867],{"className":978,"code":92866,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"get_utxo\",\n    \"params\" :\n    {\n        \"count\": 10,\n        \"skip\": 0,\n        \"assets\": true,           \u002F\u002F \u003C------------ report assets\n        \"sort\": {\n            \"field\": \"amount\",\n            \"direction\": \"asc\"\n        },\n        \"filter\": {\n            \"asset_id\": 1         \u002F\u002F \u003C------------ filter assets with ID 1\n        }\n    }\n}\n",[150,92868,92869,92873,92883,92893,92903,92909,92913,92923,92933,92947,92953,92963,92971,92975,92981,92992,92996,93000],{"__ignoreMap":760},[984,92870,92871],{"class":986,"line":987},[984,92872,991],{"class":990},[984,92874,92875,92877,92879,92881],{"class":986,"line":761},[984,92876,997],{"class":996},[984,92878,1000],{"class":990},[984,92880,1004],{"class":1003},[984,92882,1007],{"class":990},[984,92884,92885,92887,92889,92891],{"class":986,"line":772},[984,92886,1012],{"class":996},[984,92888,1015],{"class":990},[984,92890,1018],{"class":996},[984,92892,1021],{"class":990},[984,92894,92895,92897,92899,92901],{"class":986,"line":1024},[984,92896,1027],{"class":996},[984,92898,1000],{"class":990},[984,92900,16791],{"class":1003},[984,92902,1021],{"class":990},[984,92904,92905,92907],{"class":986,"line":1035},[984,92906,1521],{"class":996},[984,92908,1803],{"class":990},[984,92910,92911],{"class":986,"line":1098},[984,92912,1529],{"class":990},[984,92914,92915,92917,92919,92921],{"class":986,"line":1111},[984,92916,15270],{"class":996},[984,92918,1015],{"class":990},[984,92920,16812],{"class":996},[984,92922,1021],{"class":990},[984,92924,92925,92927,92929,92931],{"class":986,"line":1124},[984,92926,15259],{"class":996},[984,92928,1015],{"class":990},[984,92930,1171],{"class":996},[984,92932,1021],{"class":990},[984,92934,92935,92937,92939,92941,92944],{"class":986,"line":1137},[984,92936,17104],{"class":996},[984,92938,1015],{"class":990},[984,92940,2682],{"class":996},[984,92942,92943],{"class":990},",           ",[984,92945,92946],{"class":1351},"\u002F\u002F \u003C------------ report assets\n",[984,92948,92949,92951],{"class":986,"line":1150},[984,92950,16829],{"class":996},[984,92952,1083],{"class":990},[984,92954,92955,92957,92959,92961],{"class":986,"line":1163},[984,92956,16836],{"class":996},[984,92958,1015],{"class":990},[984,92960,16841],{"class":1003},[984,92962,1021],{"class":990},[984,92964,92965,92967,92969],{"class":986,"line":1176},[984,92966,16848],{"class":996},[984,92968,1015],{"class":990},[984,92970,16853],{"class":1003},[984,92972,92973],{"class":986,"line":1189},[984,92974,15254],{"class":990},[984,92976,92977,92979],{"class":986,"line":1202},[984,92978,15220],{"class":996},[984,92980,1083],{"class":990},[984,92982,92983,92985,92987,92989],{"class":986,"line":1211},[984,92984,17121],{"class":996},[984,92986,1015],{"class":990},[984,92988,1345],{"class":996},[984,92990,92991],{"class":1351},"         \u002F\u002F \u003C------------ filter assets with ID 1\n",[984,92993,92994],{"class":986,"line":1217},[984,92995,9333],{"class":990},[984,92997,92998],{"class":986,"line":1229},[984,92999,1607],{"class":990},[984,93001,93002],{"class":986,"line":1241},[984,93003,1038],{"class":990},[54,93005,92854,93006,6193,93008,93010,93011,93013,93015],{},[150,93007,92834],{},[150,93009,12337],{}," method, to view report transaction list including transactions with assets",[957,93012],{},[150,93014,975],{},[866,93016,93018],{"className":978,"code":93017,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 8,\n    \"method\":\"tx_list\",\n    \"params\":\n    {\n        \"filter\" :             \u002F\u002F \u003C--------------- you can filter buy asset_id here\n        {\n            \"status\":4,\n            \"height\":1055,\n        },\n        \"skip\" : 0,\n        \"count\" : 10,\n        \"assets\": true         \u002F\u002F \u003C--------------- report assets too\n    }\n}\n",[150,93019,93020,93024,93034,93044,93054,93060,93064,93074,93078,93088,93098,93102,93112,93122,93133,93137],{"__ignoreMap":760},[984,93021,93022],{"class":986,"line":987},[984,93023,991],{"class":990},[984,93025,93026,93028,93030,93032],{"class":986,"line":761},[984,93027,997],{"class":996},[984,93029,1000],{"class":990},[984,93031,1004],{"class":1003},[984,93033,1007],{"class":990},[984,93035,93036,93038,93040,93042],{"class":986,"line":772},[984,93037,1012],{"class":996},[984,93039,1015],{"class":990},[984,93041,12972],{"class":996},[984,93043,1021],{"class":990},[984,93045,93046,93048,93050,93052],{"class":986,"line":1024},[984,93047,1027],{"class":996},[984,93049,1000],{"class":990},[984,93051,15203],{"class":1003},[984,93053,1021],{"class":990},[984,93055,93056,93058],{"class":986,"line":1035},[984,93057,1521],{"class":996},[984,93059,1524],{"class":990},[984,93061,93062],{"class":986,"line":1098},[984,93063,1529],{"class":990},[984,93065,93066,93068,93071],{"class":986,"line":1111},[984,93067,15220],{"class":996},[984,93069,93070],{"class":990}," :             ",[984,93072,93073],{"class":1351},"\u002F\u002F \u003C--------------- you can filter buy asset_id here\n",[984,93075,93076],{"class":986,"line":1124},[984,93077,8410],{"class":990},[984,93079,93080,93082,93084,93086],{"class":986,"line":1137},[984,93081,15231],{"class":996},[984,93083,1000],{"class":990},[984,93085,2431],{"class":996},[984,93087,1021],{"class":990},[984,93089,93090,93092,93094,93096],{"class":986,"line":1150},[984,93091,15242],{"class":996},[984,93093,1000],{"class":990},[984,93095,15247],{"class":996},[984,93097,1021],{"class":990},[984,93099,93100],{"class":986,"line":1163},[984,93101,15254],{"class":990},[984,93103,93104,93106,93108,93110],{"class":986,"line":1176},[984,93105,15259],{"class":996},[984,93107,1738],{"class":990},[984,93109,1171],{"class":996},[984,93111,1021],{"class":990},[984,93113,93114,93116,93118,93120],{"class":986,"line":1189},[984,93115,15270],{"class":996},[984,93117,1738],{"class":990},[984,93119,16812],{"class":996},[984,93121,1021],{"class":990},[984,93123,93124,93126,93128,93130],{"class":986,"line":1202},[984,93125,17104],{"class":996},[984,93127,1015],{"class":990},[984,93129,2682],{"class":996},[984,93131,93132],{"class":1351},"         \u002F\u002F \u003C--------------- report assets too\n",[984,93134,93135],{"class":986,"line":1211},[984,93136,1607],{"class":990},[984,93138,93139],{"class":986,"line":1217},[984,93140,1038],{"class":990},[54,93142,93143,93144,6193,93146,93148,93149,93151,93153,93215,93217,93219],{},"to retrieve info about assets in your wallet pass ",[150,93145,92834],{},[150,93147,883],{}," method, to get status of the wallet and its balance in different CAs and BEAM",[957,93150],{},[150,93152,975],{},[866,93154,93156],{"className":978,"code":93155,"language":980,"meta":760,"style":760},"{\n    \"jsonrpc\":\"2.0\", \n    \"id\": 6,\n    \"method\":\"wallet_status\",\n        \"params\": {\n              \"assets\" : true\n        }\n}\n",[150,93157,93158,93162,93172,93182,93192,93198,93207,93211],{"__ignoreMap":760},[984,93159,93160],{"class":986,"line":987},[984,93161,991],{"class":990},[984,93163,93164,93166,93168,93170],{"class":986,"line":761},[984,93165,997],{"class":996},[984,93167,1000],{"class":990},[984,93169,1004],{"class":1003},[984,93171,1007],{"class":990},[984,93173,93174,93176,93178,93180],{"class":986,"line":772},[984,93175,1012],{"class":996},[984,93177,1015],{"class":990},[984,93179,1018],{"class":996},[984,93181,1021],{"class":990},[984,93183,93184,93186,93188,93190],{"class":986,"line":1024},[984,93185,1027],{"class":996},[984,93187,1000],{"class":990},[984,93189,11949],{"class":1003},[984,93191,1021],{"class":990},[984,93193,93194,93196],{"class":986,"line":1035},[984,93195,23443],{"class":996},[984,93197,1083],{"class":990},[984,93199,93200,93203,93205],{"class":986,"line":1098},[984,93201,93202],{"class":996},"              \"assets\"",[984,93204,1738],{"class":990},[984,93206,2497],{"class":996},[984,93208,93209],{"class":986,"line":1111},[984,93210,9333],{"class":990},[984,93212,93213],{"class":986,"line":1124},[984,93214,1038],{"class":990},[957,93216],{},[150,93218,1043],{},[866,93220,93222],{"className":978,"code":93221,"language":980,"meta":760,"style":760},"{\n  \"id\": 1236,\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"current_height\": 112,\n    \"current_state_hash\": \"b9e8b868de60f28e553a1499a569f481991e4cff9fe2191d09d71a03c7708296\",\n    \"difficulty\": 378.36236572265625,\n    \"prev_state_hash\": \"3f84da0b0390deaca908603b6061867def987575a1af9311248ffb01503a0f02\",\n    \"totals\": [\n      {\n        \"asset_id\": 0,\n        \"available\": 303000000000,\n        \"available_str\": \"303000000000\",\n        \"maturing\": 8000000000,\n        \"maturing_str\": \"8000000000\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      },\n      {\n        \"asset_id\": 1,                    \u002F\u002F \u003C--------------- this could be used to send\u002Fsplit CA or to retrieve extended info\n        \"available\": 2000000000,\n        \"available_str\": \"2000000000\",\n        \"maturing\": 0,\n        \"maturing_str\": \"0\",\n        \"receiving\": 0,\n        \"receiving_str\": \"0\",\n        \"sending\": 0,\n        \"sending_str\": \"0\"\n      }\n    ]\n  }\n}\n",[150,93223,93224,93228,93238,93248,93254,93264,93274,93284,93294,93300,93304,93314,93324,93334,93344,93354,93364,93374,93384,93392,93396,93400,93412,93422,93432,93442,93452,93462,93472,93482,93490,93494,93498,93502],{"__ignoreMap":760},[984,93225,93226],{"class":986,"line":987},[984,93227,991],{"class":990},[984,93229,93230,93232,93234,93236],{"class":986,"line":761},[984,93231,1057],{"class":996},[984,93233,1015],{"class":990},[984,93235,1062],{"class":996},[984,93237,1021],{"class":990},[984,93239,93240,93242,93244,93246],{"class":986,"line":772},[984,93241,1069],{"class":996},[984,93243,1015],{"class":990},[984,93245,1004],{"class":1003},[984,93247,1021],{"class":990},[984,93249,93250,93252],{"class":986,"line":1024},[984,93251,1080],{"class":996},[984,93253,1083],{"class":990},[984,93255,93256,93258,93260,93262],{"class":986,"line":1035},[984,93257,1088],{"class":996},[984,93259,1015],{"class":990},[984,93261,1093],{"class":996},[984,93263,1021],{"class":990},[984,93265,93266,93268,93270,93272],{"class":986,"line":1098},[984,93267,1101],{"class":996},[984,93269,1015],{"class":990},[984,93271,1106],{"class":1003},[984,93273,1021],{"class":990},[984,93275,93276,93278,93280,93282],{"class":986,"line":1111},[984,93277,1114],{"class":996},[984,93279,1015],{"class":990},[984,93281,1119],{"class":996},[984,93283,1021],{"class":990},[984,93285,93286,93288,93290,93292],{"class":986,"line":1124},[984,93287,1127],{"class":996},[984,93289,1015],{"class":990},[984,93291,1132],{"class":1003},[984,93293,1021],{"class":990},[984,93295,93296,93298],{"class":986,"line":1137},[984,93297,1205],{"class":996},[984,93299,1208],{"class":990},[984,93301,93302],{"class":986,"line":1150},[984,93303,1214],{"class":990},[984,93305,93306,93308,93310,93312],{"class":986,"line":1163},[984,93307,1220],{"class":996},[984,93309,1015],{"class":990},[984,93311,1171],{"class":996},[984,93313,1021],{"class":990},[984,93315,93316,93318,93320,93322],{"class":986,"line":1176},[984,93317,1232],{"class":996},[984,93319,1015],{"class":990},[984,93321,1145],{"class":996},[984,93323,1021],{"class":990},[984,93325,93326,93328,93330,93332],{"class":986,"line":1189},[984,93327,1244],{"class":996},[984,93329,1015],{"class":990},[984,93331,1249],{"class":1003},[984,93333,1021],{"class":990},[984,93335,93336,93338,93340,93342],{"class":986,"line":1202},[984,93337,1257],{"class":996},[984,93339,1015],{"class":990},[984,93341,1184],{"class":996},[984,93343,1021],{"class":990},[984,93345,93346,93348,93350,93352],{"class":986,"line":1211},[984,93347,1269],{"class":996},[984,93349,1015],{"class":990},[984,93351,1274],{"class":1003},[984,93353,1021],{"class":990},[984,93355,93356,93358,93360,93362],{"class":986,"line":1217},[984,93357,1282],{"class":996},[984,93359,1015],{"class":990},[984,93361,1171],{"class":996},[984,93363,1021],{"class":990},[984,93365,93366,93368,93370,93372],{"class":986,"line":1229},[984,93367,1294],{"class":996},[984,93369,1015],{"class":990},[984,93371,1397],{"class":1003},[984,93373,1021],{"class":990},[984,93375,93376,93378,93380,93382],{"class":986,"line":1241},[984,93377,1307],{"class":996},[984,93379,1015],{"class":990},[984,93381,1171],{"class":996},[984,93383,1021],{"class":990},[984,93385,93386,93388,93390],{"class":986,"line":1254},[984,93387,1319],{"class":996},[984,93389,1015],{"class":990},[984,93391,1324],{"class":1003},[984,93393,93394],{"class":986,"line":1266},[984,93395,1330],{"class":990},[984,93397,93398],{"class":986,"line":1279},[984,93399,1214],{"class":990},[984,93401,93402,93404,93406,93408,93410],{"class":986,"line":1291},[984,93403,1220],{"class":996},[984,93405,1015],{"class":990},[984,93407,1345],{"class":996},[984,93409,1348],{"class":990},[984,93411,1352],{"class":1351},[984,93413,93414,93416,93418,93420],{"class":986,"line":1304},[984,93415,1232],{"class":996},[984,93417,1015],{"class":990},[984,93419,1362],{"class":996},[984,93421,1021],{"class":990},[984,93423,93424,93426,93428,93430],{"class":986,"line":1316},[984,93425,1244],{"class":996},[984,93427,1015],{"class":990},[984,93429,1374],{"class":1003},[984,93431,1021],{"class":990},[984,93433,93434,93436,93438,93440],{"class":986,"line":1327},[984,93435,1257],{"class":996},[984,93437,1015],{"class":990},[984,93439,1171],{"class":996},[984,93441,1021],{"class":990},[984,93443,93444,93446,93448,93450],{"class":986,"line":1333},[984,93445,1269],{"class":996},[984,93447,1015],{"class":990},[984,93449,1397],{"class":1003},[984,93451,1021],{"class":990},[984,93453,93454,93456,93458,93460],{"class":986,"line":1338},[984,93455,1282],{"class":996},[984,93457,1015],{"class":990},[984,93459,1171],{"class":996},[984,93461,1021],{"class":990},[984,93463,93464,93466,93468,93470],{"class":986,"line":1355},[984,93465,1294],{"class":996},[984,93467,1015],{"class":990},[984,93469,1397],{"class":1003},[984,93471,1021],{"class":990},[984,93473,93474,93476,93478,93480],{"class":986,"line":1367},[984,93475,1307],{"class":996},[984,93477,1015],{"class":990},[984,93479,1171],{"class":996},[984,93481,1021],{"class":990},[984,93483,93484,93486,93488],{"class":986,"line":1379},[984,93485,1319],{"class":996},[984,93487,1015],{"class":990},[984,93489,1324],{"class":1003},[984,93491,93492],{"class":986,"line":1390},[984,93493,1447],{"class":990},[984,93495,93496],{"class":986,"line":1402},[984,93497,1453],{"class":990},[984,93499,93500],{"class":986,"line":1413},[984,93501,1459],{"class":990},[984,93503,93504],{"class":986,"line":1424},[984,93505,1038],{"class":990},[54,93507,1467,93508,1471,93510,93512,93514],{},[150,93509,1470],{},[957,93511],{},[150,93513,975],{},[866,93515,93516],{"className":978,"code":1478,"language":980,"meta":760,"style":760},[150,93517,93518,93522,93532,93542,93552,93558,93562,93572,93582,93592,93602,93612,93624,93628],{"__ignoreMap":760},[984,93519,93520],{"class":986,"line":987},[984,93521,991],{"class":990},[984,93523,93524,93526,93528,93530],{"class":986,"line":761},[984,93525,997],{"class":996},[984,93527,1000],{"class":990},[984,93529,1004],{"class":1003},[984,93531,1007],{"class":990},[984,93533,93534,93536,93538,93540],{"class":986,"line":772},[984,93535,1012],{"class":996},[984,93537,1015],{"class":990},[984,93539,1503],{"class":996},[984,93541,1021],{"class":990},[984,93543,93544,93546,93548,93550],{"class":986,"line":1024},[984,93545,1027],{"class":996},[984,93547,1000],{"class":990},[984,93549,1514],{"class":1003},[984,93551,1007],{"class":990},[984,93553,93554,93556],{"class":986,"line":1035},[984,93555,1521],{"class":996},[984,93557,1524],{"class":990},[984,93559,93560],{"class":986,"line":1098},[984,93561,1529],{"class":990},[984,93563,93564,93566,93568,93570],{"class":986,"line":1111},[984,93565,1534],{"class":996},[984,93567,1015],{"class":990},[984,93569,1539],{"class":996},[984,93571,1021],{"class":990},[984,93573,93574,93576,93578,93580],{"class":986,"line":1124},[984,93575,1546],{"class":996},[984,93577,1015],{"class":990},[984,93579,1503],{"class":996},[984,93581,1021],{"class":990},[984,93583,93584,93586,93588,93590],{"class":986,"line":1137},[984,93585,1557],{"class":996},[984,93587,1015],{"class":990},[984,93589,1562],{"class":1003},[984,93591,1021],{"class":990},[984,93593,93594,93596,93598,93600],{"class":986,"line":1150},[984,93595,1569],{"class":996},[984,93597,1015],{"class":990},[984,93599,1562],{"class":1003},[984,93601,1021],{"class":990},[984,93603,93604,93606,93608,93610],{"class":986,"line":1163},[984,93605,1580],{"class":996},[984,93607,1015],{"class":990},[984,93609,1585],{"class":1003},[984,93611,1021],{"class":990},[984,93613,93614,93616,93618,93620,93622],{"class":986,"line":1176},[984,93615,1220],{"class":996},[984,93617,1015],{"class":990},[984,93619,1345],{"class":996},[984,93621,1599],{"class":1598},[984,93623,1602],{"class":1598},[984,93625,93626],{"class":986,"line":1189},[984,93627,1607],{"class":990},[984,93629,93630],{"class":986,"line":1202},[984,93631,1038],{"class":990},[54,93633,1614,93634,93636,93638,93702,93704,93706],{},[957,93635],{},[150,93637,975],{},[866,93639,93640],{"className":978,"code":1621,"language":980,"meta":760,"style":760},[150,93641,93642,93646,93656,93666,93676,93682,93686,93694,93698],{"__ignoreMap":760},[984,93643,93644],{"class":986,"line":987},[984,93645,991],{"class":990},[984,93647,93648,93650,93652,93654],{"class":986,"line":761},[984,93649,997],{"class":996},[984,93651,1000],{"class":990},[984,93653,1004],{"class":1003},[984,93655,1007],{"class":990},[984,93657,93658,93660,93662,93664],{"class":986,"line":772},[984,93659,1012],{"class":996},[984,93661,1015],{"class":990},[984,93663,1503],{"class":996},[984,93665,1021],{"class":990},[984,93667,93668,93670,93672,93674],{"class":986,"line":1024},[984,93669,1027],{"class":996},[984,93671,1015],{"class":990},[984,93673,1656],{"class":1003},[984,93675,1021],{"class":990},[984,93677,93678,93680],{"class":986,"line":1035},[984,93679,1521],{"class":996},[984,93681,1665],{"class":990},[984,93683,93684],{"class":986,"line":1098},[984,93685,1529],{"class":990},[984,93687,93688,93690,93692],{"class":986,"line":1111},[984,93689,1220],{"class":996},[984,93691,1015],{"class":990},[984,93693,1678],{"class":996},[984,93695,93696],{"class":986,"line":1124},[984,93697,1607],{"class":990},[984,93699,93700],{"class":986,"line":1137},[984,93701,1038],{"class":990},[957,93703],{},[150,93705,1043],{},[866,93707,93708],{"className":978,"code":1693,"language":980,"meta":760,"style":760},[150,93709,93710,93714,93724,93734,93740,93744,93752,93756],{"__ignoreMap":760},[984,93711,93712],{"class":986,"line":987},[984,93713,991],{"class":990},[984,93715,93716,93718,93720,93722],{"class":986,"line":761},[984,93717,997],{"class":996},[984,93719,1000],{"class":990},[984,93721,1004],{"class":1003},[984,93723,1007],{"class":990},[984,93725,93726,93728,93730,93732],{"class":986,"line":772},[984,93727,1012],{"class":996},[984,93729,1015],{"class":990},[984,93731,1503],{"class":996},[984,93733,1021],{"class":990},[984,93735,93736,93738],{"class":986,"line":1024},[984,93737,1724],{"class":996},[984,93739,1524],{"class":990},[984,93741,93742],{"class":986,"line":1035},[984,93743,1529],{"class":990},[984,93745,93746,93748,93750],{"class":986,"line":1098},[984,93747,1735],{"class":996},[984,93749,1738],{"class":990},[984,93751,1741],{"class":1003},[984,93753,93754],{"class":986,"line":1111},[984,93755,1607],{"class":990},[984,93757,93758],{"class":986,"line":1124},[984,93759,1038],{"class":990},[54,93761,1752,93762,93764,93766,93830,93836,93838,93840,93964,1973,93966,385,93968],{},[957,93763],{},[150,93765,975],{},[866,93767,93768],{"className":978,"code":1759,"language":980,"meta":760,"style":760},[150,93769,93770,93774,93784,93794,93804,93810,93814,93822,93826],{"__ignoreMap":760},[984,93771,93772],{"class":986,"line":987},[984,93773,991],{"class":990},[984,93775,93776,93778,93780,93782],{"class":986,"line":761},[984,93777,997],{"class":996},[984,93779,1000],{"class":990},[984,93781,1004],{"class":1003},[984,93783,1007],{"class":990},[984,93785,93786,93788,93790,93792],{"class":986,"line":772},[984,93787,1012],{"class":996},[984,93789,1015],{"class":990},[984,93791,1018],{"class":996},[984,93793,1021],{"class":990},[984,93795,93796,93798,93800,93802],{"class":986,"line":1024},[984,93797,1027],{"class":996},[984,93799,1015],{"class":990},[984,93801,1794],{"class":1003},[984,93803,1021],{"class":990},[984,93805,93806,93808],{"class":986,"line":1035},[984,93807,1521],{"class":996},[984,93809,1803],{"class":990},[984,93811,93812],{"class":986,"line":1098},[984,93813,1529],{"class":990},[984,93815,93816,93818,93820],{"class":986,"line":1111},[984,93817,1220],{"class":996},[984,93819,1015],{"class":990},[984,93821,1678],{"class":996},[984,93823,93824],{"class":986,"line":1124},[984,93825,1607],{"class":990},[984,93827,93828],{"class":986,"line":1137},[984,93829,1038],{"class":990},[89,93831,93832],{},[54,93833,93834,1830],{},[150,93835,848],{},[957,93837],{},[150,93839,1043],{},[866,93841,93842],{"className":978,"code":1837,"language":980,"meta":760,"style":760},[150,93843,93844,93848,93858,93868,93874,93878,93888,93898,93908,93918,93928,93938,93948,93956,93960],{"__ignoreMap":760},[984,93845,93846],{"class":986,"line":987},[984,93847,991],{"class":990},[984,93849,93850,93852,93854,93856],{"class":986,"line":761},[984,93851,1012],{"class":996},[984,93853,1015],{"class":990},[984,93855,1062],{"class":996},[984,93857,1021],{"class":990},[984,93859,93860,93862,93864,93866],{"class":986,"line":772},[984,93861,997],{"class":996},[984,93863,1015],{"class":990},[984,93865,1004],{"class":1003},[984,93867,1021],{"class":990},[984,93869,93870,93872],{"class":986,"line":1024},[984,93871,1724],{"class":996},[984,93873,1665],{"class":990},[984,93875,93876],{"class":986,"line":1035},[984,93877,1529],{"class":990},[984,93879,93880,93882,93884,93886],{"class":986,"line":1098},[984,93881,1220],{"class":996},[984,93883,1015],{"class":990},[984,93885,1345],{"class":996},[984,93887,1021],{"class":990},[984,93889,93890,93892,93894,93896],{"class":986,"line":1111},[984,93891,1888],{"class":996},[984,93893,1015],{"class":990},[984,93895,1362],{"class":996},[984,93897,1021],{"class":990},[984,93899,93900,93902,93904,93906],{"class":986,"line":1124},[984,93901,1899],{"class":996},[984,93903,1015],{"class":990},[984,93905,1374],{"class":1003},[984,93907,1021],{"class":990},[984,93909,93910,93912,93914,93916],{"class":986,"line":1137},[984,93911,1910],{"class":996},[984,93913,1015],{"class":990},[984,93915,1345],{"class":996},[984,93917,1021],{"class":990},[984,93919,93920,93922,93924,93926],{"class":986,"line":1150},[984,93921,1921],{"class":996},[984,93923,1015],{"class":990},[984,93925,1926],{"class":996},[984,93927,1021],{"class":990},[984,93929,93930,93932,93934,93936],{"class":986,"line":1163},[984,93931,1933],{"class":996},[984,93933,1015],{"class":990},[984,93935,1938],{"class":1003},[984,93937,1021],{"class":990},[984,93939,93940,93942,93944,93946],{"class":986,"line":1176},[984,93941,1945],{"class":996},[984,93943,1015],{"class":990},[984,93945,1950],{"class":1003},[984,93947,1021],{"class":990},[984,93949,93950,93952,93954],{"class":986,"line":1189},[984,93951,1957],{"class":996},[984,93953,1015],{"class":990},[984,93955,1962],{"class":996},[984,93957,93958],{"class":986,"line":1202},[984,93959,1607],{"class":990},[984,93961,93962],{"class":986,"line":1211},[984,93963,1038],{"class":990},[957,93965],{},[18,93967,1977],{"href":1976},[89,93969,93970,93974,93978,93992,93996,94000],{},[54,93971,93972,1984],{},[150,93973,848],{},[54,93975,93976,1990],{},[150,93977,1989],{},[54,93979,93980,1996,93982,2000,93984,2004,93986,2008,93988,2012,93990,2015],{},[150,93981,1995],{},[150,93983,1999],{},[111,93985,2003],{},[150,93987,2007],{},[111,93989,2011],{},[150,93991,2007],{},[54,93993,93994,2021],{},[150,93995,2020],{},[54,93997,93998,2027],{},[150,93999,2026],{},[54,94001,94002,2033,94004,2037],{},[150,94003,2032],{},[18,94005,913],{"href":2036},[716,94007,94009],{"id":94008},"enable-new-types-of-transaction","Enable new types of transaction",[89,94011,94012],{},[54,94013,945,94014,94016,94017],{},[150,94015,6317],{},". With this flag your wallet is able to send UTXO via shielded pool.",[866,94018,94021],{"className":94019,"code":94020,"language":871},[869],"    .\u002Fwallet-api --enable_lelantus -n \u003Cnode address>\n",[150,94022,94020],{"__ignoreMap":760},[716,94024,94026],{"id":94025},"newer-address-type-support","Newer address type support",[89,94028,94029],{},[54,94030,5851,94031,94033,94034,94036,94038,94126],{},[150,94032,5854],{}," method return additional info about address:",[957,94035],{},[150,94037,1043],{},[866,94039,94040],{"className":978,"code":5862,"language":980,"meta":760,"style":760},[150,94041,94042,94046,94056,94066,94072,94076,94086,94096,94108,94118,94122],{"__ignoreMap":760},[984,94043,94044],{"class":986,"line":987},[984,94045,991],{"class":990},[984,94047,94048,94050,94052,94054],{"class":986,"line":761},[984,94049,997],{"class":996},[984,94051,1000],{"class":990},[984,94053,1004],{"class":1003},[984,94055,1007],{"class":990},[984,94057,94058,94060,94062,94064],{"class":986,"line":772},[984,94059,1012],{"class":996},[984,94061,1015],{"class":990},[984,94063,1345],{"class":996},[984,94065,1021],{"class":990},[984,94067,94068,94070],{"class":986,"line":1024},[984,94069,1724],{"class":996},[984,94071,5895],{"class":990},[984,94073,94074],{"class":986,"line":1035},[984,94075,1529],{"class":990},[984,94077,94078,94080,94082,94084],{"class":986,"line":1098},[984,94079,5904],{"class":996},[984,94081,1738],{"class":990},[984,94083,2682],{"class":996},[984,94085,1021],{"class":990},[984,94087,94088,94090,94092,94094],{"class":986,"line":1111},[984,94089,5915],{"class":996},[984,94091,1738],{"class":990},[984,94093,5089],{"class":996},[984,94095,1021],{"class":990},[984,94097,94098,94100,94102,94104,94106],{"class":986,"line":1124},[984,94099,5926],{"class":996},[984,94101,1015],{"class":990},[984,94103,5931],{"class":1003},[984,94105,5934],{"class":990},[984,94107,5937],{"class":1351},[984,94109,94110,94112,94114,94116],{"class":986,"line":1137},[984,94111,5942],{"class":996},[984,94113,1015],{"class":990},[984,94115,5131],{"class":996},[984,94117,5949],{"class":1351},[984,94119,94120],{"class":986,"line":1150},[984,94121,1607],{"class":990},[984,94123,94124],{"class":986,"line":1163},[984,94125,1038],{"class":990},[89,94127,94128,94170],{},[54,94129,94130,5965,94132],{},[150,94131,5964],{},[89,94133,94134,94140,94148,94156,94164],{},[54,94135,94136,5972,94138,5975],{},[150,94137,5804],{},[150,94139,5780],{},[54,94141,94142,5980,94144,5983,94146,5986],{},[150,94143,5811],{},[150,94145,5776],{},[58,94147,5811],{},[54,94149,94150,5980,94152,5983,94154,5997],{},[150,94151,5991],{},[150,94153,5776],{},[58,94155,5996],{},[54,94157,94158,5980,94160,5983,94162,6007],{},[150,94159,6002],{},[150,94161,5776],{},[58,94163,5811],{},[54,94165,94166,5980,94168,6015],{},[150,94167,6012],{},[150,94169,5776],{},[54,94171,94172,6021,94174,6024],{},[150,94173,6020],{},[150,94175,5811],{},[11,94177,6027,94178,6030],{},[150,94179,5804],{},[89,94181,94182],{},[54,94183,94184,94185],{},"regex for the newer address is:\n",[866,94186,94189],{"className":94187,"code":94188,"language":871},[869],"\u002F[0-9a-zA-Z]{1,1000}\u002F\n",[150,94190,94188],{"__ignoreMap":760},[11,94192,6186],{},[89,94194,94195],{},[54,94196,6189,94197,6193,94199,6197,94201,94203,94205],{},[150,94198,6192],{},[150,94200,6196],{},[957,94202],{},[150,94204,975],{},[866,94206,94207],{"className":978,"code":6204,"language":980,"meta":760,"style":760},[150,94208,94209,94213,94223,94233,94243,94249,94253,94265,94275,94283,94287],{"__ignoreMap":760},[984,94210,94211],{"class":986,"line":987},[984,94212,991],{"class":990},[984,94214,94215,94217,94219,94221],{"class":986,"line":761},[984,94216,997],{"class":996},[984,94218,1738],{"class":990},[984,94220,1004],{"class":1003},[984,94222,1007],{"class":990},[984,94224,94225,94227,94229,94231],{"class":986,"line":772},[984,94226,1012],{"class":996},[984,94228,1738],{"class":990},[984,94230,1345],{"class":996},[984,94232,1021],{"class":990},[984,94234,94235,94237,94239,94241],{"class":986,"line":1024},[984,94236,1027],{"class":996},[984,94238,1738],{"class":990},[984,94240,6239],{"class":1003},[984,94242,1007],{"class":990},[984,94244,94245,94247],{"class":986,"line":1035},[984,94246,1521],{"class":996},[984,94248,1803],{"class":990},[984,94250,94251],{"class":986,"line":1098},[984,94252,1529],{"class":990},[984,94254,94255,94257,94259,94261,94263],{"class":986,"line":1111},[984,94256,5926],{"class":996},[984,94258,1015],{"class":990},[984,94260,6260],{"class":1003},[984,94262,5934],{"class":990},[984,94264,6265],{"class":1351},[984,94266,94267,94269,94271,94273],{"class":986,"line":1124},[984,94268,6270],{"class":996},[984,94270,1738],{"class":990},[984,94272,6275],{"class":1003},[984,94274,1021],{"class":990},[984,94276,94277,94279,94281],{"class":986,"line":1137},[984,94278,1580],{"class":996},[984,94280,1738],{"class":990},[984,94282,6286],{"class":1003},[984,94284,94285],{"class":986,"line":1150},[984,94286,1607],{"class":990},[984,94288,94289],{"class":986,"line":1163},[984,94290,1038],{"class":990},[11,94292,6297,94293,6300,94295,2679,94297,6306],{},[150,94294,6192],{},[150,94296,6192],{},[150,94298,6305],{},[2685,94300,94301],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s6RL2, html code.shiki .s6RL2{--shiki-default:#FDAEB7;--shiki-default-font-style:italic}",{"title":760,"searchDepth":761,"depth":761,"links":94303},[94304,94305,94306,94307],{"id":926,"depth":761,"text":927},{"id":92766,"depth":761,"text":92767},{"id":92781,"depth":761,"text":92782},{"id":92798,"depth":761,"text":92799,"children":94308},[94309,94310,94311,94312],{"id":92802,"depth":772,"text":92803},{"id":939,"depth":772,"text":940},{"id":94008,"depth":772,"text":94009},{"id":94025,"depth":772,"text":94026},{},"\u002Fdocs\u002Fcore-tech\u002Fnew-address-types-support",{"title":5723,"description":760},"docs\u002Fcore-tech\u002FNew-address-types-support","dIE59HhPTdBLPJrBR31PapVHFgyxzI5BntO19MGlLeQ",{"id":94319,"title":85682,"body":94320,"description":94555,"extension":775,"image":776,"meta":94556,"navTitle":776,"navigation":778,"path":94557,"seo":94558,"stem":94559,"__hash__":94560},"docs\u002Fdocs\u002Fcore-tech\u002FNode-initial-synchronization-(DEPRECATED).md",{"type":8,"value":94321,"toc":94549},[94322,94324,94335,94338,94361,94370,94398,94402,94407,94418,94421,94451,94454,94457,94471,94484,94487,94493,94496,94499,94507,94511,94517,94543],[43,94323,85682],{"id":85687},[11,94325,94326,94327,94330,94331,94334],{},"BEAM Node initially operates in ",[94,94328,94329],{},"Sync"," mode, then eventually it switches to the ",[94,94332,94333],{},"Standard"," mode.",[11,94336,94337],{},"Initial state selection is performed according to the following logic:",[89,94339,94340,94346,94355],{},[54,94341,94342,94343,94345],{},"If the current blockchain tip is non-empty, i.e. contains at least the genesis block ",[94,94344,94333],{}," mode is selected.",[54,94347,94348,94349,94351,94352,94354],{},"If there is a ",[58,94350,5502],{}," block(s) defined - the Node is supposed to create the genesis block. It switches to the ",[94,94353,94333],{}," mode, mines the genesis block(s), and eventually broadcasts it to the network.",[54,94356,94357,94358,94360],{},"Otherwise ",[94,94359,94329],{}," mode is activated.",[11,94362,94363,94364,94366,94367,94369],{},"The goal of the ",[94,94365,94329],{}," mode is to allow the fast-Sync via ",[58,94368,81508],{}," whenever possible. It consists of three phases.",[51,94371,94372,94381,94390],{},[54,94373,94374,94377,94378,94380],{},[58,94375,94376],{},"Detection phase",". Node analyzes its peers, and selects the most suitable ",[58,94379,81508],{}," to download.",[54,94382,94383,94386,94387,94389],{},[58,94384,94385],{},"Download phase",". Node downloads the ",[58,94388,81508],{}," (by portions), from one or several peers.",[54,94391,94392,94395,94396,94334],{},[58,94393,94394],{},"Import phase",". Once fully downloaded - the Node uses it to import, and then switches to the ",[94,94397,94333],{},[716,94399,94401],{"id":94400},"synchronization-via-macroblock","Synchronization via Macroblock",[11,94403,32,94404,94406],{},[58,94405,81508],{}," is a \"compressed\" blockchain history, which includes the following:",[51,94408,94409,94412,94415],{},[54,94410,94411],{},"All the block headers, with PoW.",[54,94413,94414],{},"All the transaction kernels.",[54,94416,94417],{},"The unspent UTXO set.",[11,94419,94420],{},"In contrast to the original blocks the macroblock doesn't contain any info about spent UTXOs. Once downloaded, the Node verifies the following:",[51,94422,94423,94426,94437],{},[54,94424,94425],{},"All the headers are valid (sane, have valid PoW, form a valid blockchain)",[54,94427,94428,94429],{},"All the original kernels are included in the macroblock\n",[89,94430,94431,94434],{},[54,94432,94433],{},"This is done by verifying groups of kernels corresponding to a specific block w.r.t. kernel commitment in the appropriate header.",[54,94435,94436],{},"This proves that all the original transactions are included.",[54,94438,94439,94440],{},"The resulting state of the system is valid:\n",[89,94441,94442,94445,94448],{},[54,94443,94444],{},"Unspent UTXOs with all the kernels form a valid transformation from the genesis to the asserted height.",[54,94446,94447],{},"The overall value equals what it should be according to the emission schedule.",[54,94449,94450],{},"Recent coinbase UTXOs are time-locked, according to the system rules.",[26,94452,94376],{"id":94453},"detection-phase",[11,94455,94456],{},"For each peer with non-empty tip the Node requests the following:",[89,94458,94459,94465],{},[54,94460,94461,94464],{},[58,94462,94463],{},"Chainwork proof"," (to ensure the credibility of the reported tip)",[54,94466,94467,94468,94470],{},"Information about the most recently generated ",[58,94469,81508],{}," (its State ID).",[11,94472,94473,94474,94477,94478,94480,94481,94483],{},"This continues until either enough such peers are examined, or the timeout expires (since the first suitable peer was found). The macroblock of the peer with the highest ",[58,94475,94476],{},"Chainwork"," is selected.\nIf there is no macroblock to download (which is typically the case until blockchain height is low) - the Node switches to the ",[94,94479,94333],{}," mode, otherwise the ",[58,94482,94385],{}," is activated.",[26,94485,94385],{"id":94486},"download-phase",[11,94488,94489,94490,94492],{},"During this phase the ",[58,94491,81508],{}," is downloaded by portions. Each time it gets a portion - the next portion is requested from the same peer. In case the peer goes down or has no macroblock for upload - another peer is selected.",[11,94494,94495],{},"In case of shutdown\u002Frestart - the Node will continue the download from where it stopped.",[26,94497,94394],{"id":94498},"import-phase",[11,94500,94501,94502,94504,94505,94334],{},"The Node performs the import from the downloaded ",[58,94503,81508],{},", and then switches to the ",[94,94506,94333],{},[43,94508,94510],{"id":94509},"notes","Notes",[11,94512,94513,94514,94516],{},"In case something goes wrong during the ",[94,94515,94329],{}," mode - there is no automatic retry\u002Frestart. User intervention is required. Whereas in typical scenarios problems are unlikely, possible abnormal cases are:",[89,94518,94519,94528,94540],{},[54,94520,94521,94522,94524,94525,94527],{},"No Macroblock detected. Can happen if the peer with the highest (proven) chainwork reports than it has no ",[58,94523,81508],{},". In this case Node goes straight to the ",[94,94526,94333],{}," mode to sync, which is slower, and may not succeed in case old original blocks are already deleted in all peers.",[54,94529,94530,94531,94533,94534,94536,94537,94539],{},"Macroblock download stuck: Node attempts to download a ",[58,94532,81508],{}," which no more exists in any of its peers. Can happen if the download takes insanely long, and during this time all the peers generated many newer ",[58,94535,83065],{},". Typically each node keeps several most recently-generated ",[58,94538,83065],{}," (7 by default), and eventually deletes older ones.",[54,94541,94542],{},"Macroblock import error (data corruped, inconsistent state). Most probably the result of DoS attack,  or less probably - some bug or the storage corruption.",[11,94544,94545,94546,94548],{},"In case of an error it's possible to reset the Node state, and retry the synchronization. Or, alternatively, the most recent ",[58,94547,81508],{}," may be downloaded manually, and given to the Node for explicit initialization",{"title":760,"searchDepth":761,"depth":761,"links":94550},[94551,94552,94553,94554],{"id":94400,"depth":772,"text":94401},{"id":94453,"depth":761,"text":94376},{"id":94486,"depth":761,"text":94385},{"id":94498,"depth":761,"text":94394},"BEAM Node initially operates in Sync mode, then eventually it switches to the Standard mode.",{},"\u002Fdocs\u002Fcore-tech\u002Fnode-initial-synchronization-(deprecated)",{"title":85682,"description":94555},"docs\u002Fcore-tech\u002FNode-initial-synchronization-(DEPRECATED)","tsL2JOip5-K9T8_Hcd1FW8vF8VEMXB_n7gZw7IcUYyM",{"id":94562,"title":94563,"body":94564,"description":94600,"extension":775,"image":776,"meta":94601,"navTitle":776,"navigation":778,"path":94602,"seo":94603,"stem":94604,"__hash__":94605},"docs\u002Fdocs\u002Fcore-tech\u002FNode-standard-operation-mode.md","Node Standard Operation Mode",{"type":8,"value":94565,"toc":94597},[94566,94573,94581,94584,94587,94591,94594],[11,94567,94568,94569,94572],{},"According to the protocol Node advertises its tip (header) to all the connected peers, which may ",[58,94570,94571],{},"potentially"," be interested in it. Potentially interested means the following:",[89,94574,94575,94578],{},[54,94576,94577],{},"The peer tip has lower Chainwork",[54,94579,94580],{},"The peer tip has the same Chainwork, but the tip is different\nImmediately after connecting the tip is always sent, because the peer tip is not known yet (by default assumed empty). Then, after each state transition, the tip is sent only if either of the above criterias is satisfied.",[11,94582,94583],{},"In addition to the advertising, Nodes synchronize actively: request and send headers and blocks. The data request logic is designed such that all the nodes aim to reach the tip of the heaviest branch, but in practice nodes would also request any data to achieve a higher state than the current (so that they're not easily paralyzed by revealing a non-existing tip).",[11,94585,94586],{},"There are 2 types of requests: headers and block.",[26,94588,94590],{"id":94589},"headers","Headers",[11,94592,94593],{},"sends its tip (header) to every peer (be it client or other Node) when it connects.",[11,94595,94596],{},"Then, if the peer tip is also received, the Node",{"title":760,"searchDepth":761,"depth":761,"links":94598},[94599],{"id":94589,"depth":761,"text":94590},"According to the protocol Node advertises its tip (header) to all the connected peers, which may potentially be interested in it. Potentially interested means the following:",{},"\u002Fdocs\u002Fcore-tech\u002Fnode-standard-operation-mode",{"description":94600},"docs\u002Fcore-tech\u002FNode-standard-operation-mode","KpFp-xEMig6tpObhqvEAvUuVBR4JGBwHLUmpNTynU3Q",{"id":94607,"title":94608,"body":94609,"description":94613,"extension":775,"image":776,"meta":94792,"navTitle":776,"navigation":778,"path":94793,"seo":94794,"stem":94795,"__hash__":94796},"docs\u002Fdocs\u002Fcore-tech\u002FOne-side-payments.md","One Side Payments",{"type":8,"value":94610,"toc":94784},[94611,94614,94618,94621,94650,94661,94667,94670,94674,94677,94681,94696,94699,94703,94706,94710,94713,94717,94720,94731,94734,94753,94757,94760,94764,94768,94771,94774,94777,94781],[11,94612,94613],{},"In MW in order to create a valid transaction all the parties must collaborate. Here we'll present a one-side payment scheme, which, after initial setup, allows arbitrary senders to pay specified (fixed) values to a particular receiver, without any further collaboration from the receiver side.",[43,94615,94617],{"id":94616},"principle","Principle",[11,94619,94620],{},"In order to receive a payment the receiver creates and publishes the following:",[89,94622,94623,94626,94629,94636],{},[54,94624,94625],{},"The value that it expects to receive",[54,94627,94628],{},"An UTXO (commitment + Bulletproof) that encodes the above value, with arbitrary blinding factor",[54,94630,94631,94632,94635],{},"A ",[58,94633,94634],{},"compensatory"," kernel that compensates for the above blinding factor",[54,94637,94638,94639],{},"Optionally: a signed payment proof\n",[89,94640,94641,94644,94647],{},[54,94642,94643],{},"Should include the received value, and the above kernel ID",[54,94645,94646],{},"No sender address, since it's unknown, plus payment may come from multiple senders",[54,94648,94649],{},"Should be signed by a private key bound to the receiver identity",[11,94651,94652,94653,94656,94657,94660],{},"The above UTXO and the kernel form a part of the transaction with zero (or any other ",[145,94654,94655],{},"known"," value) blinding factor, and a known value on output. Let's call it an ",[58,94658,94659],{},"acceptor"," part.",[11,94662,94663,94664,94660],{},"In order to pay this receiver the sender create its own transaction part, which has appropriate value on input, and the kernel that compensates for its blinding factor. Call it a ",[58,94665,94666],{},"donor",[11,94668,94669],{},"Together those 2 parts form a valid transaction with 2 kernels.",[43,94671,94673],{"id":94672},"why-this-is-not-good-enough","Why this is not good enough",[11,94675,94676],{},"The above scheme is naïve, and there are several problems with it.",[26,94678,94680],{"id":94679},"value-can-be-stolen","Value can be stolen",[11,94682,94683,94684,732,94686,94688,94689,94692,94693,94695],{},"As we said, the above transaction consists of two parts: the ",[58,94685,94666],{},[58,94687,94659],{},". Means it's ",[145,94690,94691],{},"not atomic",". A malicious node may delete the original ",[58,94694,94659],{}," part, and instead substitute its own, effectively stealing the value.",[11,94697,94698],{},"If the above payment scheme was agreed secretly between the sender and the receiver - still there's a chance the receiver is colluded with the miners.",[26,94700,94702],{"id":94701},"impossible-to-prove-the-payment","Impossible to prove the payment",[11,94704,94705],{},"Normally the existence of the kernel in the blockchain together with the payment proof signed by the receiver unambiguously prove the payment. However in this case the signed payment proof doesn't include the sender address, and the sender can't prove that the payment was made by him\u002Fher.",[43,94707,94709],{"id":94708},"improved-scheme","Improved scheme",[11,94711,94712],{},"In BEAM the above issues are solved by the following extensions to the protocol.",[26,94714,94716],{"id":94715},"kernel-fusion","Kernel fusion",[11,94718,94719],{},"In BEAM it's possible to create a transaction kernel which includes \"internally\" arbitrary number of additional ones. The kernel signature accounts for all the contents, so it's not feasible to tamper with it.",[11,94721,94722,94723,94726,94727,94730],{},"So, in order to send a payment, the sender creates a ",[58,94724,94725],{},"composite"," kernel, which includes ",[58,94728,94729],{},"internally"," the receiver compensatory kernel. This makes it impossible for the attacker to remove the receiver kernel, hence the receiver UTXO also must remain. This guarantees the integrity of the transaction.",[11,94732,94733],{},"In addition the sender now has an ability to prove that the payment was made by him\u002Fher. For this the sender must do the following:",[89,94735,94736,94739,94742],{},[54,94737,94738],{},"Locate its composite kernel in the blockchain",[54,94740,94741],{},"Demonstrate that it includes internally the receiver compensatory kernel, as well as the payment proof signed by the receiver, which means that this receiver kernel means accepting a specific value.",[54,94743,94744,94745],{},"Prove that the composite kernel indeed belongs to the sender\n",[89,94746,94747,94750],{},[54,94748,94749],{},"It's sufficient to prove the knowledge of the blinding factor of the \"outer\" part of the kernel. Given an arbitrary data, the sender will sign it with its blinding factor. The verifier may check it corresponds to the visible kernel excess.",[54,94751,94752],{},"This scheme must be elaborated though to prevent MITM attack.",[26,94754,94756],{"id":94755},"duplicated-utxos-are-allowed-in-beam","Duplicated UTXOs are allowed in BEAM",[11,94758,94759],{},"This is important to allow multiple payments, as well as payments in terms of several instances of predefined values.",[43,94761,94763],{"id":94762},"additional-notes-and-caveats","Additional notes and caveats",[26,94765,94767],{"id":94766},"potential-problem-with-transaction-replaying","Potential problem with transaction replaying",[11,94769,94770],{},"Assume receiver owns several identical UTXOs, and decides to spend only one of them in a transaction.\nThe problem is that such a transaction can be replayed (repeated) several times, without the permission of the owner, each time it will consume the next such an UTXO.",[11,94772,94773],{},"To prevent this the wallet must NEVER create a transaction that spends only (potentially) duplicated UTXOs. The set of inputs must contain at least 1 unique UTXO, which is not supposed to get duplicated (with non-negligible probability).",[11,94775,94776],{},"This logic must be implemented in the wallet. In the simplest case the wallet may have a single \"dummy\" UTXO (i.e. with zero value) for this. Whenever necessary it will be used as an input, whereas another unique dummy will be created on output instead of the consumed one.",[26,94778,94780],{"id":94779},"less-anonimity","Less anonimity",[11,94782,94783],{},"Naturally the described scheme provides less anonymity than the standard MW. This however impacts the receiver only, and basically only those UTXOs used in this scheme.",{"title":760,"searchDepth":761,"depth":761,"links":94785},[94786,94787,94788,94789,94790,94791],{"id":94679,"depth":761,"text":94680},{"id":94701,"depth":761,"text":94702},{"id":94715,"depth":761,"text":94716},{"id":94755,"depth":761,"text":94756},{"id":94766,"depth":761,"text":94767},{"id":94779,"depth":761,"text":94780},{},"\u002Fdocs\u002Fcore-tech\u002Fone-side-payments",{"description":94613},"docs\u002Fcore-tech\u002FOne-side-payments","xbEtyyP5md98NBBMyEiDh_blhk66SiMAXgNp1Bd9hnU",{"id":94798,"title":85682,"body":94799,"description":94807,"extension":775,"image":776,"meta":94856,"navTitle":776,"navigation":778,"path":94857,"seo":94858,"stem":94859,"__hash__":94860},"docs\u002Fdocs\u002Fcore-tech\u002FOne-side-payments-(take-2)---DEPRECATED.md",{"type":8,"value":94800,"toc":94854},[94801,94803,94805,94808,94819,94826,94830,94844,94847,94851],[43,94802,85682],{"id":85687},[2779,94804],{},[11,94806,94807],{},"In MW transactions are built interactively, means sender and receiver must collaborate to build a transaction. Here we'll describe a scheme where the sender can pay the receiver without the latter being involved during the payment.",[11,94809,94810,94811,94814,94815,94818],{},"Previously we described such a scheme that allowed one-side payments, which demanded our extension to MW which we called ",[58,94812,94813],{},"kernel fusion",". The idea was that the receiver prepares in advance its UTXO + kernel that compensates for its blinding factor. Then in order to pay the sender creates a transaction with this UTXO appended, and another kernel ",[58,94816,94817],{},"fused"," with that given by the receiver. The drawback of this scheme is that it was possible to transfer fixed values only (that corresponded to the prepared UTXOs).",[11,94820,94821,94822,94825],{},"Here we describe a scheme without this drawback, i.e. where the sender can transfer any amount to the receiver.\nThe idea is to ",[58,94823,94824],{},"fuse"," UTXOs rather than kernel. The receiver should prepare the UTXO only partially, then the sender would finalize it to accomplish the payment.",[43,94827,94829],{"id":94828},"detailed-description","Detailed description",[11,94831,94832,94833,94836,94837,94839,94840,94843],{},"The UTXO is redefined, and may optionally contain an ",[58,94834,94835],{},"extra excess",", which is an arbitrary EC point with the Schnorr's signature that proves there's no value hidden (similar to kernel). So that when the UTXO signature (bulletproof) is created - it signs the visible UTXO Commitment minus the ",[58,94838,94835],{},", however this ",[58,94841,94842],{},"excess"," is accounted for in the signature, so that it's not possible to remove it (this is the fusion).",[11,94845,94846],{},"The receiver picks an arbitrary excess, signs both this excess and the kernel that would compensate for it. In addition it picks the KDF (key deviation function) parameters.",[43,94848,94850],{"id":94849},"comparison-of-both-schemes","Comparison of both schemes",[11,94852,94853],{},"Kernel fusion\n*",{"title":760,"searchDepth":761,"depth":761,"links":94855},[],{},"\u002Fdocs\u002Fcore-tech\u002Fone-side-payments-(take-2)-deprecated",{"title":85682,"description":94807},"docs\u002Fcore-tech\u002FOne-side-payments-(take-2)---DEPRECATED","_A6Iox9cT5zMO5OVvpilNIFFHalUX3o6VYwhgAscVqw",{"id":94862,"title":94863,"body":94864,"description":94871,"extension":775,"image":776,"meta":94929,"navTitle":776,"navigation":778,"path":94930,"seo":94931,"stem":94932,"__hash__":94933},"docs\u002Fdocs\u002Fcore-tech\u002FOut-of-sync-wallets.md","Out of sync wallets",{"type":8,"value":94865,"toc":94925},[94866,94869,94872,94878,94886,94890,94893,94904,94908,94911],[43,94867,94863],{"id":94868},"out-of-sync-wallets",[11,94870,94871],{},"This document describes scenarios of transferring beams between wallets which are not in sync with node or syncing is in progress.",[11,94873,94874,94875,94877],{},"Beam is decentralized system, as a result wallet and node cannot be 100% confident about their current state. Is their last known block real tip of the chain or not? - the question wallet and node are trying to resolve through their life.",[957,94876],{},"\nIn these circumstances, wallets may communicate with each other being on different heights of the chain. In general, this is not a problem if these wallets will come out with a valid transaction which will be accepted by the node. But there are some possibilities to create invalid transaction in this case:",[89,94879,94880,94883],{},[54,94881,94882],{},"sender has selected outdated (or spent) UTXO for transaction (possible reasons: wallet clones)",[54,94884,94885],{},"transaction kernel max height is less than current chain tip height. For this case there are following scenarios:",[26,94887,94889],{"id":94888},"old-wallets-204431","Old wallets (\u003C= 2.0.4431)",[11,94891,94892],{},"In this version the sender sets min and max height of the kernel.",[89,94894,94895,94898,94901],{},[54,94896,94897],{},"if sender is in sync whereas receiver is out-of-sync the kernel's height will be correct, receiver will simply accept the transaction and sender will send it to the node.",[54,94899,94900],{},"if sender is out-of-sync and its known tip height is significantly less than current chain's height, then it will create kernel which will be rejected by the node and transaction will be failed.",[54,94902,94903],{},"if sender is out-of-sync and the difference in height with the chain is less than transaction lifetime (default lifetime is 120 blocks it should be roughly equal 2h), then new transaction probably will be accepted by the node.",[26,94905,94907],{"id":94906},"new-wallets-204431","New wallets (> 2.0.4431)",[11,94909,94910],{},"Starting from this version min and max height are set by receiver. If receiver got invitation to transaction it makes kernel's max height as currently known height + lifetime (120 block by default). Sender checks that this height is valid from his known height and sends transaction to the node.",[89,94912,94913,94916,94919,94922],{},[54,94914,94915],{},"if sender is in sync and receiver is out-of-sync and its known height is far below sender's (more than lifetime of transaction), then transaction will be failed by sender.",[54,94917,94918],{},"if sender is out-of-sync, but receiver is in sync and its known height is far above sender's, then transaction will be failed by sender.",[54,94920,94921],{},"if both sender and receiver are out-of-sync and kernel's maximum height is below than current chain height, then transaction will be failed by the node",[54,94923,94924],{},"in other cases, kernel with valid range of heights should be created and, as a result, it should most likely be accepted by the node",{"title":760,"searchDepth":761,"depth":761,"links":94926},[94927,94928],{"id":94888,"depth":761,"text":94889},{"id":94906,"depth":761,"text":94907},{},"\u002Fdocs\u002Fcore-tech\u002Fout-of-sync-wallets",{"title":94863,"description":94871},"docs\u002Fcore-tech\u002FOut-of-sync-wallets","0Bk_Beegg2Yyzx7ZdYj8FwE3XwuY6BRz35KyIES7ELc",{"id":94935,"title":94936,"body":94937,"description":94941,"extension":775,"image":776,"meta":95250,"navTitle":776,"navigation":778,"path":95251,"seo":95252,"stem":95253,"__hash__":95254},"docs\u002Fdocs\u002Fcore-tech\u002FPayment-confirmation-(proof).md","Payment Confirmation (proof)",{"type":8,"value":94938,"toc":95240},[94939,94942,94946,94949,94960,94964,94970,94979,94988,94990,94996,94999,95003,95009,95017,95024,95026,95029,95040,95047,95053,95057,95067,95070,95092,95095,95098,95102,95105,95124,95127,95163,95167],[11,94940,94941],{},"Before describing the Payment confirmation - some basic definitions, concepts and disambiguations.",[26,94943,94945],{"id":94944},"coins-transactions-kernels-and-bbs-addresses","Coins, Transactions, Kernels and BBS addresses",[11,94947,94948],{},"In MW there are no addresses, and all the UTXOs (i.e. coins) look like random EC points, no public info that can bind a specific UTXO to a user.",[11,94950,94951,94952,94959],{},"Upon initialization the wallet either generates a secret 12-word phrase, or is given it explicitly (in case of restore). It is used to derive the ",[145,94953,94954],{},[94,94955,94956],{},[58,94957,94958],{},"Master Secret"," - the root secret key, used to generate all other secret objects.",[716,94961,94963],{"id":94962},"utxos","UTXOs",[11,94965,94966,94967,94969],{},"In Beam UTXOs are created by the wallet using its ",[58,94968,94958],{},", and they are signed in a special way, by which the wallet can identify them in the blockchain, whereas for others they are indistinguishable.",[11,94971,94972,94974,94975,94978],{},[145,94973,3767],{},": when your wallet receives a payment from another one - your resulting UTXO is created by ",[145,94976,94977],{},"your"," wallet, not by the sender.",[11,94980,94981,94982,94985,94986,385],{},"This means that by scanning the blockchain you can ",[94,94983,94984],{},"always"," recover all your UTXOs that are unspent yet. It doesn't matter how the transaction was negotiated, which BBS address was used. UTXOs can always be identified with the ",[58,94987,94958],{},[716,94989,8337],{"id":84675},[11,94991,94992,94993,94995],{},"In MW parties must negotiate to build a valid transaction. Upon successful negotiation they build and then broadcast a valid transaction, that consumes some of their UTXOs (inputs), produces new UTXOs (outputs), and a ",[58,94994,83175],{}," (more about it later).",[11,94997,94998],{},"In Beam transactions are negotiated via (S)BBS - secure message exchange system.",[716,95000,95002],{"id":95001},"bbs-address","BBS address",[11,95004,95005,95006,95008],{},"In order to negotiate parties generate at least one ",[58,95007,95002],{},". It consists of the following:",[89,95010,95011,95014],{},[54,95012,95013],{},"Channel number",[54,95015,95016],{},"Public Key",[11,95018,95019,95020,95023],{},"In order to send a BBS message to an address one uses the Public Key to encrypt the message, and then this message is broadcasted on the specified channel and replicated in all the Nodes. There is an E2E encryption, no info about to\u002Ffrom is leaked as well, and it's only possible to decrypt with the appropriate ",[145,95021,95022],{},"Private Key"," of the BBS address.",[716,95025,134],{"id":133},[11,95027,95028],{},"Each transaction produces a transaction kernel (one or more), which has the following properties:",[51,95030,95031,95034,95037],{},[54,95032,95033],{},"It's co-signed by all the transaction parties (the sender and the receiver in a simple payment transaction). Both must cooperate.",[54,95035,95036],{},"It's practically unique. There is no feasible way to craft the same valid kernel without the cooperation of all the parties.",[54,95038,95039],{},"Unlike UTXOs it can't be consumed, hence it's guaranteed to stay in the blockchain.",[11,95041,95042,95043,95046],{},"So, the ",[145,95044,95045],{},"kernel in the blockchain is the only reliable indicator of the transaction",". The even presence of it in the blockchain unambiguously tells the transaction took place, whereas its absence means the opposite. So all the transaction parties can monitor the blockchain (or ask for a proof from an arbitrary node) to see if\u002Fwhen the transaction takes place.",[11,95048,95049,95050,385],{},"However in case of a dispute the ",[145,95051,95052],{},"receiver can deny any relation to this transaction",[43,95054,95056],{"id":95055},"payment-confirmation","Payment confirmation",[11,95058,32,95059,95062,95063,95066],{},[58,95060,95061],{},"Payment Confirmation"," is a cryptographic proof, using which the sender should be able to convince a 3",[111,95064,95065],{},"rd"," party that the receiver actually received the payment.",[11,95068,95069],{},"It's a message, signed by the receiver, that he\u002Fshe accepts the payment. It includes the following:",[89,95071,95072,95075,95081,95087],{},[54,95073,95074],{},"Value to-be-received",[54,95076,95077,95080],{},[150,95078,95079],{},"KernelID"," - the unique identifier of the kernel of the transaction",[54,95082,95083,95086],{},[150,95084,95085],{},"SenderID"," - The Public Key of the sender BBS address",[54,95088,95089,95091],{},[150,95090,2753],{}," - The Schnorr's signature of this message, signed by the Private Key of the receiver BBS address.",[11,95093,95094],{},"During the transaction negotiation, before the sender completes its part of the kernel signature, the receiver is expected to sign the Payment confirmation. Without it the sender will not collaborate, and the transaction negotiation fails with \"no payment confirmation\" error (unless unconfirmed payments are enabled, please see remarks for more info).",[11,95096,95097],{},"Upon successful negotiation - the Payment confirmation is stored within the sender wallet, and can be exported and then validated by everyone.",[26,95099,95101],{"id":95100},"dispute-what-should-be-presentedassumed","Dispute - what should be presented\u002Fassumed?",[11,95103,95104],{},"In case the transaction actually took place whereas the receiver denies it - the following should be presented:",[89,95106,95107,95121],{},[54,95108,95109,95110],{},"Proof of the kernel with the specified KernelID in the blockchain.\n",[89,95111,95112,95115,95118],{},[54,95113,95114],{},"Can be discovered via blockchain explorer.",[54,95116,95117],{},"It's also possible to get a cryptographic proof of inclusion this kernel in a specific parent block of the current tip.",[54,95119,95120],{},"Since blocks also include the Timestamp - it's also an indication of when the transaction took place.",[54,95122,95123],{},"Payment confirmation.",[11,95125,95126],{},"The following is assumed:",[89,95128,95129,95140],{},[54,95130,95131,95132],{},"The receiver BBS address (Private key of which was used to sign the Payment confirmation) indeed belongs to the receiver\n",[89,95133,95134,95137],{},[54,95135,95136],{},"This is usually the case for automated payment systems, where a user registers via a website, and defines its BBS address for payments.",[54,95138,95139],{},"For regular P2P payments the sender should consider how it'd bind the specific user to its BBS address. Perhaps some documentation or message history should be kept.",[54,95141,95142,95143],{},"The sender BBS address indeed belongs to the sender\n",[89,95144,95145,95148],{},[54,95146,95147],{},"The receiver may claim that this specific transaction was from someone else",[54,95149,95150,95151,95154,95155],{},"The sender theoretically ",[94,95152,95153],{},"can"," prove that the sender address belongs to him\u002Fher by proving that he\u002Fshe has the appropriate private key.\n",[89,95156,95157,95160],{},[54,95158,95159],{},"A naive non-interactive scheme (like the one used by the receiver) is inappropriate, because it's prone to the MITM attack.",[54,95161,95162],{},"Right now the appropriate interactive scheme isn't implemented yet. But it will be in the near future.",[26,95164,95166],{"id":95165},"remarks","Remarks",[89,95168,95169,95191,95202,95221],{},[54,95170,95171,95172],{},"Initially released wallet didn't support the payment confirmations.\n",[89,95173,95174,95181],{},[54,95175,95176,95177,95180],{},"To be backward-compatible, the newer wallet by default ",[94,95178,95179],{},"will"," send a payment to the older one, without confirmation.",[54,95182,95183,95184],{},"This can be prevented, by explicitly configuring it to disallow unconfirmed payments.\n",[89,95185,95186],{},[54,95187,95188],{},[150,95189,95190],{},"beam-wallet --payment_proof_required=1",[54,95192,95193,95194],{},"During wallet restore - only the unspent UTXOs are recovered.\n",[89,95195,95196,95199],{},[54,95197,95198],{},"Neither transaction info, nor Payment confirmations can be recovered if they are lost",[54,95200,95201],{},"It's important to back-up the wallet",[54,95203,95204,95205],{},"Exporting the Payment confirmation:\n",[89,95206,95207,95212,95218],{},[54,95208,95209],{},[150,95210,95211],{},"beam-wallet payment_proof_export --tx_id=\u003Ctx_id>",[54,95213,95214,95217],{},[150,95215,95216],{},"\u003Ctx_id>"," is the internal transaction ID",[54,95219,95220],{},"Upon success the payment confirmation summary will be printed, as well as the appropriate text-encoded (base-64) message, including all the relevant data and the signature, that can be copied and verified within an arbitrary wallet.",[54,95222,95223,95224],{},"Verifying the Payment confirmation:\n",[89,95225,95226,95231,95237],{},[54,95227,95228],{},[150,95229,95230],{},"beam-wallet payment_proof_verify --payment_proof=\u003Cmessage>",[54,95232,95233,95236],{},[150,95234,95235],{},"\u003Cmessage>"," is the exported text-encoded message.",[54,95238,95239],{},"The message will be parsed, signature verified, and upon success - the Payment confirmation details will be printed.",{"title":760,"searchDepth":761,"depth":761,"links":95241},[95242,95248,95249],{"id":94944,"depth":761,"text":94945,"children":95243},[95244,95245,95246,95247],{"id":94962,"depth":772,"text":94963},{"id":84675,"depth":772,"text":8337},{"id":95001,"depth":772,"text":95002},{"id":133,"depth":772,"text":134},{"id":95100,"depth":761,"text":95101},{"id":95165,"depth":761,"text":95166},{},"\u002Fdocs\u002Fcore-tech\u002Fpayment-confirmation-(proof)",{"description":94941},"docs\u002Fcore-tech\u002FPayment-confirmation-(proof)","mir_OkVIeqhZJ-eGE301135u2Jhmhsa2rEJz5WvS-Hw",{"id":95256,"title":95257,"body":95258,"description":95262,"extension":775,"image":776,"meta":95313,"navTitle":776,"navigation":778,"path":95314,"seo":95315,"stem":95316,"__hash__":95317},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam.md","Programming Beam",{"type":8,"value":95259,"toc":95311},[95260,95263,95266,95273,95276],[11,95261,95262],{},"The following series of articles starts the documentation process for Beam project.",[11,95264,95265],{},"Beam is a Mimblewimble implementation done from scratch in the C++ programming language.",[11,95267,95268],{},[18,95269,95272],{"href":95270,"rel":95271},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FProgramming-Beam-Terms-and-Concepts",[22],"Key Terms and Concepts",[11,95274,95275],{},"Beam project can be divided into the following logical modules:",[51,95277,95278,95288,95300,95305],{},[54,95279,95280,95283,95284,385],{},[18,95281,95282],{"href":760},"P2P and networking",". A lower level implementation of the communication mechanisms. There are several different types of communications: Node2Node, Node2Wallet and Wallet2Wallet. The implementation of the P2P infrastructure can be found ",[18,95285,857],{"href":95286,"rel":95287},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fp2p",[22],[54,95289,95290,95293,95294,95299],{},[18,95291,95292],{"href":760},"Cryptography and Core elements",". All cryptographic primitives and necessary building blocks are implemented in the ",[18,95295,95298],{"href":95296,"rel":95297},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster\u002Fcore",[22],"core"," of the project",[54,95301,95302],{},[18,95303,95304],{"href":760},"Beam Node",[54,95306,95307],{},[18,95308,87774],{"href":95309,"rel":95310},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FProgramming-Beam-Wallet",[22],{"title":760,"searchDepth":761,"depth":761,"links":95312},[],{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam",{"description":95262},"docs\u002Fcore-tech\u002FProgramming-Beam","C5u43Dgik1RJGq6WoPB0u9arni-zY7hW6cVh1U8HjIU",{"id":95319,"title":95320,"body":95321,"description":760,"extension":775,"image":776,"meta":95523,"navTitle":776,"navigation":778,"path":95524,"seo":95525,"stem":95526,"__hash__":95527},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam-Terms-and-Concepts.md","Programming Beam Terms And Concepts",{"type":8,"value":95322,"toc":95506},[95323,95328,95331,95333,95336,95339,95348,95352,95365,95369,95372,95376,95385,95389,95403,95406,95413,95417,95426,95430,95433,95437,95455,95459,95462,95465,95474,95478,95488,95492,95495,95497],[5819,95324,95325],{},[11,95326,95327],{},"The following document is still under construction and is subject to changes",[11,95329,95330],{},"This page presents a list of terms and concepts used in Beam code",[716,95332,91795],{"id":12679},[11,95334,95335],{},"In Mimblewimble, unlike most other cryptocurrencies there are no addresses stored in the blockchian. However the Wallets still should be able to communicate to interactively create a transaction. Which is why in Beam, we provide the Secure Bulletin Board System (SBBS ) which allows wallets to send encrypted messages to each other via Beam Nodes. In SBBS=, each wallet is identified by one or more SBBS Addresses. Each Address is represented by a private\u002Fpublic key pair. All addreses are derived from the seed phrase, using a separate key chain, and are only stored in the wallet (not on the blockchain)",[716,95337,3653],{"id":95338},"atomic-swap",[11,95340,95341,95342,95347],{},"Atomic Swap is an algorithm that allows to exchange value between two independent blockchains (for example Bitcoin and Beam) without having to rely on a centralized entity, such as exchange or any of the parties participating in the exchange. Atomic Swap is based on an ability to lock funds using Hash and Time Lock Contracts (",[18,95343,95346],{"href":95344,"rel":95345},"https:\u002F\u002Fen.bitcoin.it\u002Fwiki\u002FHash_Time_Locked_Contracts",[22],"HTLC"," ) on both chains.",[716,95349,95351],{"id":95350},"bulletproofs","Bulletproofs",[11,95353,95354,95355,95358,95359,95364],{},"Each UTXO, though confidential, should be a representation of a positive value. Creating negative coins could break the protocol and allow for arbitrary inflation. To prove that value is positive without revealing the value itself, Beam uses an implementation of the non interactive zero knowledge proof algorithm knows as ",[18,95356,95351],{"href":8166,"rel":95357},[22],". Beam is using its own ",[18,95360,95363],{"href":95361,"rel":95362},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fecc_bulletproof.cpp",[22],"implementation"," of Bulletproofs.",[716,95366,95368],{"id":95367},"coin","Coin",[11,95370,95371],{},"Internal representation of the single commitment for specific value in Beam Wallet. In reality, key id and value are stored and the actual blinding factors are generated each time. More detailed explanation on this structure is provided below",[716,95373,95375],{"id":95374},"dandelion","Dandelion",[11,95377,95378,95379,95384],{},"An improvement of the basic P2P layer 'gossip' style protocol ",[18,95380,95383],{"href":95381,"rel":95382},"https:\u002F\u002Farxiv.org\u002Fabs\u002F1805.11060",[22],"whitepaper"," making tracing of transaction source much more difficult through introduction of two phase transaction propagation. In 'Stem' phase, the transaction is sent through a series of random peers, during which each peer decides with a given probability whether to continue the 'Stem' or whether to 'Fluff'. In 'Fluff' phrase the transaction is broadcast to all known peers, effectively falling back to 'gossip' for transaction propagation.",[716,95386,95388],{"id":95387},"elliptic-curve","Elliptic Curve",[11,95390,95391,95392,95397,95398],{},"Beam makes heavy use of ",[18,95393,95396],{"href":95394,"rel":95395},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElliptic-curve_cryptography",[22],"Elliptic Curve Cryptography",". Beam uses the ",[18,95399,95402],{"href":95400,"rel":95401},"https:\u002F\u002Fen.bitcoin.it\u002Fwiki\u002FSecp256k1",[22],"same curve as Bitcoin",[716,95404,5454],{"id":95405},"equihash",[11,95407,95408,95409,385],{},"Beam uses Equihash Proof of Work mining algorithm. ",[18,95410,4406],{"href":95411,"rel":95412},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEquihash",[22],[716,95414,95416],{"id":95415},"fly-client","Fly Client",[11,95418,95419,95420],{},"In Beam implementation FlyClient protocol (located in project core) provides an abstraction for communication with either 'own' node and 'untrusted' node and hides implementation details from the Wallet. ",[984,95421,2679,95422],{},[18,95423,95363],{"href":95424,"rel":95425},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Ffly_client.h",[22],[716,95427,95429],{"id":95428},"kidf","KIDF",[11,95431,95432],{},"Hierarchical key generator that allows to create new private and public keys from the master secret, generated from the seed_phrase and specific key index.",[716,95434,95436],{"id":95435},"merkle-tree","Merkle Tree",[11,95438,95439,95443,95444,95449,95450,95454],{},[18,95440,95436],{"href":95441,"rel":95442},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMerkle_tree",[22]," is a data structure representing a binary tree in which each non leaf node holds a cryptographic hash or the child nodes and which provides an efficient way to prove that a certain element is present in the tree in logarithmic time. In Beam, Merkle Tree is based on a ",[18,95445,95448],{"href":95446,"rel":95447},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fradixtree.h",[22],"Radix tree",", in which the order of nodes is independent of the order in which the values were entered into the tree. Beam ",[18,95451,95363],{"href":95452,"rel":95453},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fmerkle.h",[22]," uses generalized concept of Merkle Mountain Range, which can be seen as a collection fo Merkle Trees",[716,95456,95458],{"id":95457},"own-node","Own node",[11,95460,95461],{},"Beam wallet has two key modes of operation one with 'own' (trusted) node and one with 'untrusted' node. Regardless whether local or remote, the 'own' node knows the 'owner key' which is generated from the seed phrase and is used to tag specific UTXOs that belong to the wallet. In this case the node is considered trusted and the information received from it is treated accordindly. In case of the untrusted node, Beam Wallet employ the protocol called ChainWork (an implementation of the FlyClient idea by Benedict Bunz) which implements compact and reliable way of validation the information sent by the Node.",[716,95463,95464],{"id":87951},"Peer",[11,95466,95467,95468,95473],{},"In the context of Node to Node communications, each node is a Peer for all others. Node stores and manages the list of Peers it is currently connected to and uses this list to propagate transactions and blocks. ",[18,95469,95472],{"href":95470,"rel":95471},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fpeer_manager.h",[22],"Peer Manager"," implements the logic of rating Peers and preferring those that are quicker to respond and provide valid information.",[716,95475,95477],{"id":95476},"sbbs","SBBS",[11,95479,95480,95481],{},"SBBS stands for Secure Bulletin Board System and provides an infrastructure for sending secure and encrypted messages between Beam Wallets to create a transaction. SBBS is part of the Beam Node. Each Address in the SBBS represents a private \u002F public key pair used for encrypting the messages. Each wallet listens to a number of SBBS channels, derived from the Address to reduce the load on the wallet ",[984,95482,2679,95483],{},[18,95484,95487],{"href":95485,"rel":95486},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fcore\u002Fproto.h",[22],"protocol",[716,95489,95491],{"id":95490},"seed-phrase","Seed Phrase",[11,95493,95494],{},"This is the most secret key generated from the 12 word seed phrase. Using the seed phrase only it is always possible to reconstruct the entire UTXO set directly from the blockchain. In fact, this is the only information that can be extracted from the blockchain, all the other data including transaction history should be stored locally in the wallet.",[716,95496,83293],{"id":83292},[11,95498,95499,95500],{},"In Mimblewimble transaction is created by both Sender and Receiver wallets and in its simplest form describes exchange of certain value between two (or more) participants. Unlike most other blockchains, transactions are actually meaningless in the context of the blockchain itself. They are however important in the context of the wallet. ",[984,95501,2679,95502],{},[18,95503,95363],{"href":95504,"rel":95505},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fmaster\u002Fwallet\u002Fbase_transaction.h",[22],{"title":760,"searchDepth":761,"depth":761,"links":95507},[95508,95509,95510,95511,95512,95513,95514,95515,95516,95517,95518,95519,95520,95521,95522],{"id":12679,"depth":772,"text":91795},{"id":95338,"depth":772,"text":3653},{"id":95350,"depth":772,"text":95351},{"id":95367,"depth":772,"text":95368},{"id":95374,"depth":772,"text":95375},{"id":95387,"depth":772,"text":95388},{"id":95405,"depth":772,"text":5454},{"id":95415,"depth":772,"text":95416},{"id":95428,"depth":772,"text":95429},{"id":95435,"depth":772,"text":95436},{"id":95457,"depth":772,"text":95458},{"id":87951,"depth":772,"text":95464},{"id":95476,"depth":772,"text":95477},{"id":95490,"depth":772,"text":95491},{"id":83292,"depth":772,"text":83293},{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam-terms-and-concepts",{"description":760},"docs\u002Fcore-tech\u002FProgramming-Beam-Terms-and-Concepts","a2lZ3VPmOW_AvZVFYeGwt4GCSgrXi3c9oCVWwKpXMlg",{"id":95529,"title":95530,"body":95531,"description":760,"extension":775,"image":776,"meta":95611,"navTitle":776,"navigation":778,"path":95612,"seo":95613,"stem":95614,"__hash__":95615},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam-Wallet.md","Programming Beam Wallet",{"type":8,"value":95532,"toc":95607},[95533,95537,95541,95544,95552,95555,95569,95573,95576,95604],[5819,95534,95535],{},[11,95536,95327],{},[26,95538,95540],{"id":95539},"key-differences-of-mimblewimble-wallets","Key Differences of Mimblewimble Wallets",[11,95542,95543],{},"Since Beam is an implementation of the Mimblewimble protocol, it has all the nuances that are specific to this protocol and have a huge impact on the wallet architecture, making it very different in comparison to most existing cryptocurrencies. Such changes include:",[51,95545,95546,95549],{},[54,95547,95548],{},"Not all the information can be extracted from the blockchain. In fact, only the UTXOs are stored in the blockchain, hence all additional information regarding transactions, addresses etc... has to be locally stored in the wallet.",[54,95550,95551],{},"Transaction is created interactively by both the sender and the receiver. Hence, a state machine and communication model is required between two wallets, a problem which does not exist in Bitcoin and most other cryprocurrencies where transaction can be created by a single wallet and immediately sent to the network.",[11,95553,95554],{},"This means that Beam Wallet has several different responsibilities:",[51,95556,95557,95560,95563,95566],{},[54,95558,95559],{},"Storing and managing the list of Coins (UTXO set)",[54,95561,95562],{},"Storing and managing SBBS Addresses (described below) for communication between wallets",[54,95564,95565],{},"Allow wallet to wallet (W2W) communications and interactive creation of new transactions",[54,95567,95568],{},"Handle wallet to node (W2N) communications, send transactions to the node, request proofs for kernels and UTXOs and process blockchain updates and manage transaction and Coin state",[26,95570,95572],{"id":95571},"wallet-code-structure-and-high-level-architecture","Wallet Code Structure and High Level Architecture",[11,95574,95575],{},"Beam Wallet has the following conceptual modules (located in the wallet folder)",[89,95577,95578,95582,95589,95595,95599],{},[54,95579,95580],{},[18,95581,95298],{"href":760},[54,95583,95584],{},[18,95585,95588],{"href":95586,"rel":95587},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Wallet-Database",[22],"database",[54,95590,95591],{},[18,95592,84675],{"href":95593,"rel":95594},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FProgramming-Beam-Wallet-Transactions",[22],[54,95596,95597],{},[18,95598,11335],{"href":760},[54,95600,95601],{},[18,95602,95603],{"href":760},"wallet_client",[11,95605,95606],{},"The structure of the files and folders is currently being refactored to match the structure described above",{"title":760,"searchDepth":761,"depth":761,"links":95608},[95609,95610],{"id":95539,"depth":761,"text":95540},{"id":95571,"depth":761,"text":95572},{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam-wallet",{"description":760},"docs\u002Fcore-tech\u002FProgramming-Beam-Wallet","nC1qvcahLfnlypOPXaqM9EgmQCPE66psU8vpi6sZzw8",{"id":95617,"title":95618,"body":95619,"description":95623,"extension":775,"image":776,"meta":95931,"navTitle":776,"navigation":778,"path":95932,"seo":95933,"stem":95934,"__hash__":95935},"docs\u002Fdocs\u002Fcore-tech\u002FProgramming-Beam-Wallet-Transactions.md","Programming Beam Wallet Transactions",{"type":8,"value":95620,"toc":95917},[95621,95624,95626,95629,95636,95647,95651,95660,95670,95673,95716,95726,95729,95743,95747,95754,95764,95767,95771,95774,95895,95905,95912,95915],[11,95622,95623],{},"This section describes the structure of Beam transactions. Transactions are created and managed locally in the Beam wallet.",[26,95625,4455],{"id":4454},[11,95627,95628],{},"Transactions are defined and stored in the database as a set of transaction parameters, thus allowing a lot of flexibility.",[11,95630,95631,95632],{},"The complete list of transaction parameters is defined ",[18,95633,857],{"href":95634,"rel":95635},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fcommon.h#L226",[22],[11,95637,95638,95639,95642,95643,95646],{},"Transaction parameters are divided into two groups. ",[94,95640,95641],{},"Public"," parameters can be set during the interaction between wallets. Once public parameter is set, it can not be changed. ",[94,95644,95645],{},"Private"," parameters, can be set and reset at any time within the wallet and are not sent outside the wallet. The reason for this separation is to maintain a clear distinction between the parameters that are revealed to or received from the other wallet and can thus irreversibly affect the state of negotiation between the wallets creating the transaction.",[26,95648,95650],{"id":95649},"transaction-id","Transaction id",[11,95652,95653,95654,95659],{},"TxID, ",[18,95655,95658],{"href":95656,"rel":95657},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fcommon.h#L37",[22],"defined here"," is the unique id of the transaction",[26,95661,95663,95664],{"id":95662},"itransaction-interface-definition","ITransaction interface ",[984,95665,2679,95666],{},[18,95667,8363],{"href":95668,"rel":95669},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fbase_transaction.h#L28",[22],[11,95671,95672],{},"Defines basic set of operations for each transaction, Update, Cancel and Rollback",[866,95674,95676],{"className":8367,"code":95675,"language":8369,"meta":760,"style":760},"struct ITransaction\n    {\n        using Ptr = std::shared_ptr\u003CITransaction>;\n        virtual TxType GetType() const = 0;\n        virtual void Update() = 0;\n        virtual void Cancel() = 0;\n        virtual bool Rollback(Height height) = 0;\n    };\n\n",[150,95677,95678,95683,95687,95692,95697,95702,95707,95712],{"__ignoreMap":760},[984,95679,95680],{"class":986,"line":987},[984,95681,95682],{},"struct ITransaction\n",[984,95684,95685],{"class":986,"line":761},[984,95686,1529],{},[984,95688,95689],{"class":986,"line":772},[984,95690,95691],{},"        using Ptr = std::shared_ptr\u003CITransaction>;\n",[984,95693,95694],{"class":986,"line":1024},[984,95695,95696],{},"        virtual TxType GetType() const = 0;\n",[984,95698,95699],{"class":986,"line":1035},[984,95700,95701],{},"        virtual void Update() = 0;\n",[984,95703,95704],{"class":986,"line":1098},[984,95705,95706],{},"        virtual void Cancel() = 0;\n",[984,95708,95709],{"class":986,"line":1111},[984,95710,95711],{},"        virtual bool Rollback(Height height) = 0;\n",[984,95713,95714],{"class":986,"line":1124},[984,95715,8597],{},[26,95717,95719,95720],{"id":95718},"basetransaction-definition","BaseTransaction ",[984,95721,2679,95722],{},[18,95723,8363],{"href":95724,"rel":95725},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fbase_transaction.h#L55",[22],[11,95727,95728],{},"Implements the ITransaction interface and provides the state machine for creation of transactions. Constructor for BaseTransaction receives three parameters:",[866,95730,95732],{"className":8367,"code":95731,"language":8369,"meta":760,"style":760},"\nBaseTransaction(INegotiatorGateway& gateway, beam::IWalletDB::Ptr walletDB, const TxID& txID);\n\n",[150,95733,95734,95738],{"__ignoreMap":760},[984,95735,95736],{"class":986,"line":987},[984,95737,8376],{"emptyLinePlaceholder":778},[984,95739,95740],{"class":986,"line":761},[984,95741,95742],{},"BaseTransaction(INegotiatorGateway& gateway, beam::IWalletDB::Ptr walletDB, const TxID& txID);\n",[26,95744,95746],{"id":95745},"basetxbuilder","BaseTxBuilder",[11,95748,95749,95750,385],{},"This class encapsulates all the methods necessary for transaction creation following the protocol described ",[18,95751,857],{"href":95752,"rel":95753},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FTransaction-creation-protocol",[22],[26,95755,95757,95758],{"id":95756},"inegotiatorgateway-definition","INegotiatorGateway ",[984,95759,2679,95760],{},[18,95761,8363],{"href":95762,"rel":95763},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fcommon.h#L409",[22],[11,95765,95766],{},"Negotiator Gateway provides an abstraction of the messaging between the node or another wallet during the transaction creation. The INegotiatorGateway interface is implemented by the Wallet class.",[26,95768,95770],{"id":95769},"basetransactionupdate-method","BaseTransaction::Update method",[11,95772,95773],{},"The Update method describes generic logic of asynchronous transaction update. The update logic is implemented in the UpdateImpl method described below.",[866,95775,95777],{"className":8367,"code":95776,"language":8369,"meta":760,"style":760},"\nvoid BaseTransaction::Update()\n    {\n        AsyncContextHolder async(m_Gateway);\n        try\n        {\n            if (CheckExternalFailures())\n            {\n                return;\n            }\n\n            UpdateImpl();\n\n            CheckExpired();\n        }\n        catch (const TransactionFailedException& ex)\n        {\n            LOG_ERROR() \u003C\u003C GetTxID() \u003C\u003C \" exception msg: \" \u003C\u003C ex.what();\n            OnFailed(ex.GetReason(), ex.ShouldNofify());\n        }\n        catch (const exception& ex)\n        {\n            LOG_ERROR() \u003C\u003C GetTxID() \u003C\u003C \" exception msg: \" \u003C\u003C ex.what();\n            OnFailed(TxFailureReason::Unknown);\n        }\n    }\n\n",[150,95778,95779,95783,95788,95792,95797,95802,95806,95811,95815,95820,95824,95828,95833,95837,95842,95846,95851,95855,95860,95865,95869,95874,95878,95882,95887,95891],{"__ignoreMap":760},[984,95780,95781],{"class":986,"line":987},[984,95782,8376],{"emptyLinePlaceholder":778},[984,95784,95785],{"class":986,"line":761},[984,95786,95787],{},"void BaseTransaction::Update()\n",[984,95789,95790],{"class":986,"line":772},[984,95791,1529],{},[984,95793,95794],{"class":986,"line":1024},[984,95795,95796],{},"        AsyncContextHolder async(m_Gateway);\n",[984,95798,95799],{"class":986,"line":1035},[984,95800,95801],{},"        try\n",[984,95803,95804],{"class":986,"line":1098},[984,95805,8410],{},[984,95807,95808],{"class":986,"line":1111},[984,95809,95810],{},"            if (CheckExternalFailures())\n",[984,95812,95813],{"class":986,"line":1124},[984,95814,9689],{},[984,95816,95817],{"class":986,"line":1137},[984,95818,95819],{},"                return;\n",[984,95821,95822],{"class":986,"line":1150},[984,95823,9817],{},[984,95825,95826],{"class":986,"line":1163},[984,95827,8376],{"emptyLinePlaceholder":778},[984,95829,95830],{"class":986,"line":1176},[984,95831,95832],{},"            UpdateImpl();\n",[984,95834,95835],{"class":986,"line":1189},[984,95836,8376],{"emptyLinePlaceholder":778},[984,95838,95839],{"class":986,"line":1202},[984,95840,95841],{},"            CheckExpired();\n",[984,95843,95844],{"class":986,"line":1211},[984,95845,9333],{},[984,95847,95848],{"class":986,"line":1217},[984,95849,95850],{},"        catch (const TransactionFailedException& ex)\n",[984,95852,95853],{"class":986,"line":1229},[984,95854,8410],{},[984,95856,95857],{"class":986,"line":1241},[984,95858,95859],{},"            LOG_ERROR() \u003C\u003C GetTxID() \u003C\u003C \" exception msg: \" \u003C\u003C ex.what();\n",[984,95861,95862],{"class":986,"line":1254},[984,95863,95864],{},"            OnFailed(ex.GetReason(), ex.ShouldNofify());\n",[984,95866,95867],{"class":986,"line":1266},[984,95868,9333],{},[984,95870,95871],{"class":986,"line":1279},[984,95872,95873],{},"        catch (const exception& ex)\n",[984,95875,95876],{"class":986,"line":1291},[984,95877,8410],{},[984,95879,95880],{"class":986,"line":1304},[984,95881,95859],{},[984,95883,95884],{"class":986,"line":1316},[984,95885,95886],{},"            OnFailed(TxFailureReason::Unknown);\n",[984,95888,95889],{"class":986,"line":1327},[984,95890,9333],{},[984,95892,95893],{"class":986,"line":1333},[984,95894,1607],{},[26,95896,95898,95899,95904],{"id":95897},"simpletransaction-wallet_transactionh","SimpleTransaction ( ",[18,95900,95903],{"href":95901,"rel":95902},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fblob\u002Fedf0bb8a16626f6e1160bc09a7af4e0a40adb813\u002Fwallet\u002Fwallet_transaction.h#L1",[22],"wallet_transaction.h"," )",[11,95906,95907,95908,95911],{},"SimpleTransaction extends BaseTransaction and provides an implementation of the basic confidential transaction between two wallets. The key part of the implementation is the ",[150,95909,95910],{},"void SimpleTransaction::UpdateImpl()"," method that provides the state machine for the transaction creation logic.",[11,95913,95914],{},"\u002F\u002FTODO: Add detailed explanation for the transaction creation logic",[2685,95916,8735],{},{"title":760,"searchDepth":761,"depth":761,"links":95918},[95919,95920,95921,95923,95925,95926,95928,95929],{"id":4454,"depth":761,"text":4455},{"id":95649,"depth":761,"text":95650},{"id":95662,"depth":761,"text":95922},"ITransaction interface  definition",{"id":95718,"depth":761,"text":95924},"BaseTransaction  definition",{"id":95745,"depth":761,"text":95746},{"id":95756,"depth":761,"text":95927},"INegotiatorGateway  definition",{"id":95769,"depth":761,"text":95770},{"id":95897,"depth":761,"text":95930},"SimpleTransaction ( wallet_transaction.h )",{},"\u002Fdocs\u002Fcore-tech\u002Fprogramming-beam-wallet-transactions",{"description":95623},"docs\u002Fcore-tech\u002FProgramming-Beam-Wallet-Transactions","BSSvVzHpkIlin_bHZG-CAYy4hqtMYyXHB3ZVRIfQ5U0",{"id":95937,"title":95938,"body":95939,"description":760,"extension":775,"image":776,"meta":96104,"navTitle":776,"navigation":778,"path":96105,"seo":96106,"stem":96107,"__hash__":96108},"docs\u002Fdocs\u002Fcore-tech\u002FProposal-for-I-O-layer-and-P2P.md","Proposal For I O Layer And P2P",{"type":8,"value":95940,"toc":96097},[95941,95945,95949,95952,95994,95998,96057,96061,96072],[26,95942,95944],{"id":95943},"нынешнее-видение-по-организации-сетевого-в-тч-p2p-модуля","Нынешнее видение по организации сетевого (в т.ч. p2p) модуля",[716,95946,95948],{"id":95947},"несколько-уровней-внутри-самого-модуля","Несколько уровней внутри самого модуля",[11,95950,95951],{},"Для тестирования самое то. Код понятный, кусок логики не придется искать в других директориях. Снизу наверх:",[51,95953,95954,95957,95980],{},[54,95955,95956],{},"IO уровень: оперирует соединениями, сырыми байтами, реконнектами, таймаутами и асинхронностью (там поллинг самого общего плана)",[54,95958,95959,95960],{},"Peer уровень:",[89,95961,95962,95965,95968,95971,95974,95977],{},[54,95963,95964],{},"протокол и сериализация,",[54,95966,95967],{},"коллекция peers,",[54,95969,95970],{},"броадкасты,",[54,95972,95973],{},"персистентное хранилище, связанное с peers (пусть отдельно будет от хранилища блокчейна),",[54,95975,95976],{},"ban\u002Funban",[54,95978,95979],{},"Dandelion (да, он здесь, а не в уровне 3)",[54,95981,95982,95983],{},"Integration layer:",[89,95984,95985,95988,95991],{},[54,95986,95987],{},"фильтр и cache (это множество хешей, которые позволят не отправлять TX или блок в узел, у которого он есть, а также не отсылать в другие модули то, что им уже известно)",[54,95989,95990],{},"бридж с основной системой, т.е. формирование и трансляция запросов\u002Fответов между ней (API модулей) и уровнем 2",[54,95992,95993],{},"межпоточное взаимодействие",[716,95995,95997],{"id":95996},"основные-моменты-подробнее","Основные моменты подробнее",[51,95999,96000,96021,96038,96049],{},[54,96001,96002,96003],{},"Один поток на все вышесказанное (сетевая логика, а также уровни 2 и 3)",[89,96004,96005,96008,96011,96014],{},[54,96006,96007],{},"Тут логика, которая не требует вычислений, можно иметь очень много активных соединений, пределом может стать только сеть или память, но не cpu",[54,96009,96010],{},"Исключение: может понадобиться отдельный поток, который зипует громоздкие ответы. Пусть они асинхронно формируются по мере надобности в них",[54,96012,96013],{},"Взаимодействие с другими потоками или через очереди (если это запросы\u002Fответы) или напрямую (явно сделать, чтоб было понятно, что это константный кусок памяти). Мьютексы ставить на небольшие кусочки обновляемых данных (ну например { total_difficulty, total_height }), которые можно быстро прочитать",[54,96015,96016,96017],{},"В очередях только что-то легко копируемое или immutable data, напр. { Type type; shared_ptr",[96018,96019,96020],"const",{"tx":760}," и т.п.}",[54,96022,96023,96024],{},"Сетевое хозяйство и протокол",[89,96025,96026,96029,96032,96035],{},[54,96027,96028],{},"Ограничиваемся TCP и IPv4. Потом успеем добавить если что понадобится, а так пусть меньше сначала кода будет",[54,96030,96031],{},"В качестве библиотеки по сетевым вещам и асинхронности очень желаю libuv. Обоснование ниже.",[54,96033,96034],{},"Можно взять за основу протокол из grin, что-то убрать\u002Fдобавить проблем не составит",[54,96036,96037],{},"Dandelion: надо определиться с одной из 2х схем, прописанных в документации по grin",[54,96039,96040,96041],{},"Peers",[89,96042,96043,96046],{},[54,96044,96045],{},"Логику взять у grin, для начала",[54,96047,96048],{},"Для хранилища (не блокчейн, только для peers, оно отдельное должно быть) взять sqlite как наиболее проверенную временем штуку. Она гибкая (индексы и т.д.). Кстати, in-memory sqlite тоже хорошо себя зарекомендовало как штука для работы с табличными данными и сложными индексами. Когда\u002Fесли будут видны ограничения по performance или станет ясно, что не нужно индексирование, можно быдет подобрать key-value storage побыстрее",[54,96050,96051,96052],{},"Кэши и фильтры",[89,96053,96054],{},[54,96055,96056],{},"То же, что и у grin для начала. Можно будет какой-нибудь bloom filter попробовать, чтоб избежать ограничений, которые мы в этой части видим у grin",[716,96058,96060],{"id":96059},"доводы-в-пользу-libuv","Доводы в пользу libuv",[11,96062,96063,96064,441,96068],{},"Оно здесь: ",[18,96065,96066],{"href":96066,"rel":96067},"http:\u002F\u002Fdocs.libuv.org\u002Fen\u002Fv1.x\u002F",[22],[18,96069,96070],{"href":96070,"rel":96071},"https:\u002F\u002Fgithub.com\u002Flibuv\u002Flibuv",[22],[89,96073,96074,96082,96085,96088,96091,96094],{},[54,96075,96076,96077,385],{},"Качественная и компактная вещь. На ней весь node.js и его асинхронность и ",[18,96078,96081],{"href":96079,"rel":96080},"https:\u002F\u002Fgithub.com\u002Flibuv\u002Flibuv\u002Fwiki\u002FProjects-that-use-libuv",[22],"много еще чего",[54,96083,96084],{},"Можно зафиксировать версию и исходники встроить в build system",[54,96086,96087],{},"У меня с ней очень положительный опыт и не один. Вообще могу всю эту часть взять на себя и гарантировать хороший результат, и быстрый, т.к. изнутри знаю, что там",[54,96089,96090],{},"Будет на несколько % медленнее самописного решения на epoll, но зато mature и не один линукс",[54,96092,96093],{},"Туда же приделывается асинхронность и таймеры, API можно вывести приличное, на std::function, например",[54,96095,96096],{},"Также можно приделать, когда понадобится, http и TLS",{"title":760,"searchDepth":761,"depth":761,"links":96098},[96099],{"id":95943,"depth":761,"text":95944,"children":96100},[96101,96102,96103],{"id":95947,"depth":772,"text":95948},{"id":95996,"depth":772,"text":95997},{"id":96059,"depth":772,"text":96060},{},"\u002Fdocs\u002Fcore-tech\u002Fproposal-for-i-o-layer-and-p2p",{"description":760},"docs\u002Fcore-tech\u002FProposal-for-I-O-layer-and-P2P","PyeLh99ua8PRVSEQCsCSuds5dl9kQ7JS4vlpDOExZPE",{"id":96110,"title":96111,"body":96112,"description":760,"extension":775,"image":776,"meta":96451,"navTitle":776,"navigation":778,"path":96452,"seo":96453,"stem":96454,"__hash__":96455},"docs\u002Fdocs\u002Fcore-tech\u002FREADME.md","README",{"type":8,"value":96113,"toc":96448},[96114,96117,96124,96136,96139,96149,96153,96160,96167,96174,96178,96184,96191,96195,96345,96349,96364,96366,96380,96384,96400,96404],[26,96115,5614],{"id":96116},"important",[11,96118,96119],{},[18,96120,96123],{"href":96121,"rel":96122},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Fierce-Fermion-6.0-Upgrade-Guide-for-pools-and-exchanges",[22],"Upgrade guide for pools and exchanges",[11,96125,96126,96127,96131,96132],{},"In case you encounter any problem, please open a GitHub ticket at ",[18,96128,96129],{"href":96129,"rel":96130},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fissues",[22]," or email us at ",[18,96133,96135],{"href":96134},"mailto:testnet@beam.mw","testnet@beam.mw",[11,96137,96138],{},"For effective investigation please attach the following items for every issue:",[89,96140,96141,96144,96146],{},[54,96142,96143],{},"Logs, compressed into a single archive",[54,96145,85041],{},[54,96147,96148],{},"Command line parameters of the executed binary",[43,96150,96152],{"id":96151},"beam-confidential-defi-platform","Beam Confidential DeFi Platform",[11,96154,96155],{},[18,96156,96159],{"href":96157,"rel":96158},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fshader-sdk",[22],"Beam Shader SDK",[11,96161,96162],{},[18,96163,96166],{"href":96164,"rel":96165},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fshader-sdk\u002Fwiki\u002FBVM-functions-for-shaders",[22],"BVM Specifications",[11,96168,96169],{},[18,96170,96173],{"href":96171,"rel":96172},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FWASM-wallet-client",[22],"Web wallet client",[43,96175,96177],{"id":96176},"documentation","Documentation",[11,96179,96180],{},[18,96181,96183],{"href":96182},"\u002Fdocs","User Guides",[11,96185,96186],{},[18,96187,96190],{"href":96188,"rel":96189},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FExchange-Pool-integration-guide",[22],"Exchange integration Guide",[43,96192,96194],{"id":96193},"specifications","Specifications",[89,96196,96197,96257,96272,96278,96284,96312,96318,96325,96331,96338],{},[54,96198,96199,96203],{},[18,96200,8177],{"href":96201,"rel":96202},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FBeam-Technical-Specifications",[22],[89,96204,96205,96211,96226,96232,96239,96246],{},[54,96206,96207],{},[18,96208,8191],{"href":96209,"rel":96210},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FCryptographic-primitives",[22],[54,96212,96213,96217],{},[18,96214,8198],{"href":96215,"rel":96216},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMerkle-trees",[22],[89,96218,96219],{},[54,96220,96221],{},[18,96222,96225],{"href":96223,"rel":96224},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FDMMR-internal-layout",[22],"DMMR internal layout",[54,96227,96228],{},[18,96229,8214],{"href":96230,"rel":96231},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FCore-transaction-elements",[22],[54,96233,96234],{},[18,96235,96238],{"href":96236,"rel":96237},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBlocks,-headers,-system-states.-Concept,-relevant-structures-and-values",[22],"Blocks, headers, system states: concept, relevant structures and values",[54,96240,96241],{},[18,96242,96245],{"href":96243,"rel":96244},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FSystem-state-in-depth",[22],"System state in-depth",[54,96247,8231,96248],{},[89,96249,96250],{},[54,96251,96252],{},[18,96253,96256],{"href":96254,"rel":96255},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FUTXO-set,-horizons-and-cut-through",[22],"Synchronization and cut-through",[54,96258,96259,96264],{},[18,96260,96263],{"href":96261,"rel":96262},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBEAM-Mining",[22],"Beam Mining",[89,96265,96266],{},[54,96267,96268],{},[18,96269,92685],{"href":96270,"rel":96271},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMining-Difficulty",[22],[54,96273,96274],{},[18,96275,96277],{"href":8245,"rel":96276},[22],"Secure Bulletin Board System (SBBS)",[54,96279,96280],{},[18,96281,96283],{"href":95752,"rel":96282},[22],"Transaction creation protocol",[54,96285,96286,96291],{},[18,96287,96290],{"href":96288,"rel":96289},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FMain-wallet-entities-and-their-attributes",[22],"Wallet application: main entities and their attributes",[89,96292,96293,96299,96305],{},[54,96294,96295],{},[18,96296,95061],{"href":96297,"rel":96298},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FPayment-confirmation-(proof)",[22],[54,96300,96301],{},[18,96302,96304],{"href":365,"rel":96303},[22],"One side payment",[54,96306,96307],{},[18,96308,96311],{"href":96309,"rel":96310},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FTransactions-with-Beam-Wallet-CLI-over-TOR-network",[22],"Transactions with Beam Wallet CLI over TOR network",[54,96313,96314],{},[18,96315,96317],{"href":96188,"rel":96316},[22],"Exchanges and Pools Integration Guide",[54,96319,96320],{},[18,96321,96324],{"href":96322,"rel":96323},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FCold-wallet-implementation",[22],"Cold Wallet Support",[54,96326,96327],{},[18,96328,8263],{"href":96329,"rel":96330},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-URI-scheme",[22],[54,96332,96333],{},[18,96334,96337],{"href":96335,"rel":96336},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FAtomic-swap-token",[22],"Token format",[54,96339,96340],{},[18,96341,96344],{"href":96342,"rel":96343},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-news-channels",[22],"News channels",[43,96346,96348],{"id":96347},"apis","APIs",[89,96350,96351,96358],{},[54,96352,96353],{},[18,96354,96357],{"href":96355,"rel":96356},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-mining-protocol-API-(Stratum)",[22],"Beam Mining API (Stratum)",[54,96359,96360],{},[18,96361,96363],{"href":78302,"rel":96362},[22],"Beam Wallet API",[43,96365,6],{"id":3020},[89,96367,96368,96374],{},[54,96369,96370],{},[18,96371,6],{"href":96372,"rel":96373},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLelantus-MW",[22],[54,96375,96376],{},[18,96377,96379],{"href":81816,"rel":96378},[22],"Confidential Lelantus Assets",[43,96381,96383],{"id":96382},"hardware-wallet-support","Hardware Wallet Support",[89,96385,96386,96393],{},[54,96387,96388],{},[18,96389,96392],{"href":96390,"rel":96391},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHW-wallet-requirements",[22],"Hardware Wallet Requirements",[54,96394,96395],{},[18,96396,96399],{"href":96397,"rel":96398},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHow-to-test-Beam-with-Trezor-wallet",[22],"How to test Beam with Trezor T HW wallet",[43,96401,96403],{"id":96402},"research","Research",[89,96405,96406,96413,96420,96427,96434,96441],{},[54,96407,96408],{},[18,96409,96412],{"href":96410,"rel":96411},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FThoughts-about-eliminating-transaction-kernels",[22],"Eliminating transaction kernels",[54,96414,96415],{},[18,96416,96419],{"href":96417,"rel":96418},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FTransaction-graph-obfuscation",[22],"Transaction graph obfuscation",[54,96421,96422],{},[18,96423,96426],{"href":96424,"rel":96425},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FWallet-audit",[22],"Auditable wallet",[54,96428,96429],{},[18,96430,96433],{"href":96431,"rel":96432},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FAtomic-swap",[22],"Atomic swap",[54,96435,96436],{},[18,96437,96440],{"href":96438,"rel":96439},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam\u002Fwiki\u002FConfidential-assets",[22],"Confidential assets",[54,96442,96443],{},[18,96444,96447],{"href":96445,"rel":96446},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLightning-Network",[22],"Laser Beam",{"title":760,"searchDepth":761,"depth":761,"links":96449},[96450],{"id":96116,"depth":761,"text":5614},{},"\u002Fdocs\u002Fcore-tech\u002Freadme",{"description":760},"docs\u002Fcore-tech\u002FREADME","v6dJOmKmccyDlciXaoOY-nGx9MIolh9sZjrmG_arinw",{"id":96457,"title":96458,"body":96459,"description":96466,"extension":775,"image":776,"meta":96538,"navTitle":776,"navigation":778,"path":96539,"seo":96540,"stem":96541,"__hash__":96542},"docs\u002Fdocs\u002Fcore-tech\u002FRescan-offline.md","Rescan offline",{"type":8,"value":96460,"toc":96536},[96461,96464,96467,96472,96477,96479,96484,96487,96498,96503,96506,96511,96514,96520,96525,96530,96533],[43,96462,96458],{"id":96463},"rescan-offline",[11,96465,96466],{},"This scenario is for cases when you don't want to stop running node and wallet and you wish to ensure if the balance is correct.",[51,96468,96469],{},[54,96470,96471],{},"Create a clone of your running wallet. This can be done by restoring the wallet from the seed",[11,96473,96474],{},[150,96475,96476],{},".\u002Fbeam_wallet restore --seed_phrase=\u003Ca;d;b>",[11,96478,4446],{},[11,96480,96481,96482,8349],{},"by copying of its ",[150,96483,5828],{},[11,96485,96486],{},"It can be done on separate machine with no internet connection.",[51,96488,96489,96492],{"start":761},[54,96490,96491],{},"Copy your running node.db. to these machine",[54,96493,96494,96495,96497],{},"Ensure that this copied node has ",[58,96496,94977],{}," owner_key. Export it from your cloned wallet",[11,96499,96500],{},[150,96501,96502],{},".\u002Fbeam_wallet export_owner_key",[11,96504,96505],{},"and launch your node",[11,96507,96508],{},[150,96509,96510],{},".\u002Fbeam_node --owner_key=\u003Ckey>",[11,96512,96513],{},"Note that this node may have no connection to internet, as a result this wallet will not accept incoming transactions.",[11,96515,96516,96519],{},[150,96517,96518],{},"Node.db"," contains the blockchain data up to the height when you did a copy of it.\nNow, with owner key node should distinguish all your transaction outputs.",[51,96521,96522],{"start":1024},[54,96523,96524],{},"Connect you cloned wallet to your offline node",[11,96526,96527],{},[150,96528,96529],{},".\u002Fbeam_wallet listen -n 127.0.0.1:10000",[11,96531,96532],{},"or if you copied existing wallet.db",[11,96534,96535],{},"`.\u002Fbeam_wallet rescan -n 127.0.0.1:10000",{"title":760,"searchDepth":761,"depth":761,"links":96537},[],{},"\u002Fdocs\u002Fcore-tech\u002Frescan-offline",{"title":96458,"description":96466},"docs\u002Fcore-tech\u002FRescan-offline","8dwDmW6wxxf0G9VE4JKBa40wpVihnLBCiV74Zjmk6bU",{"id":96544,"title":8247,"body":96545,"description":760,"extension":775,"image":776,"meta":96913,"navTitle":776,"navigation":778,"path":96914,"seo":96915,"stem":96916,"__hash__":96917},"docs\u002Fdocs\u002Fcore-tech\u002FSecure-bulletin-board-system-(SBBS).md",{"type":8,"value":96546,"toc":96908},[96547,96550,96552,96555,96559,96562,96566,96573,96593,96623,96626,96629,96648,96669,96688,96691,96694,96717,96720,96725,96734,96738,96741,96745,96748,96769,96773,96776,96790,96830,96834,96842,96850,96864,96870,96887,96892],[43,96548,8247],{"id":96549},"secure-bulletin-board-system-sbbs",[26,96551,4400],{"id":4399},[11,96553,96554],{},"The main goal of BBS is to allow wallets to communicate with each other in a secure and asynchronous manner. Using BBS wallets allows individuals to exchange messages, even if one of the individuals is offline. In general, BBS is a virtual board, where users can place messages, and each message is encrypted. For encryption, the public key of the recipient is used. This implies that the recipient’s public key is his address in terms of this system. Every participant who is interested in messages from this board, observes and tries to decrypt new messages with his private key, and he manages to do so only if the message has been addressed to him. It consists of server and client sides. The server is implemented as a part of the node. The client is a wallet.",[26,96556,96558],{"id":96557},"server-side","Server side",[11,96560,96561],{},"BBS is a part of our node, This implementation implies that messages are sent to n=32 channels, which can ultimately change. The channel is calculated from the public key (first 5 bits). A client has to subscribe to a specific channel, and the server will retranslate all of the new messages to subscribers. Also, the server receives and stores within the database all new messages and exchanges these messages with other servers using a P2P protocol. This logic is implemented in class Node::Peer. It represents the node’s peer and handles the node’s P2P message. BBS messages are a part of node P2P protocol.",[5542,96563,96565],{"id":96564},"bbssubscribe","BbsSubscribe",[11,96567,96568,96569,96572],{},"Message ",[150,96570,96571],{},"tp"," allows clients to subscribe\u002Funsubscribe to notifications from the node about new messages.",[89,96574,96575,96581,96587],{},[54,96576,96577,96580],{},[150,96578,96579],{},"BbsChannel m_Channel"," – channel to listen.",[54,96582,96583,96586],{},[150,96584,96585],{},"Timestamp m_TimeFrom"," – timestamp used to avoid sending of out-of-date messages.",[54,96588,96589,96592],{},[150,96590,96591],{},"bool m_On"," – subscribe\u002Funsubscribe flag.",[11,96594,96595,96596,163,96599,96602,96603,96606,96607,96610,96611,96614,96615,96618,96619,96622],{},"When the server receives this message from the peer with ",[150,96597,96598],{},"m_On == true",[150,96600,96601],{},"Node::Peer::m_Subscriptions"," list doesn’t have it (the look up is made by channel), then the node adds a new instance of ",[150,96604,96605],{},"Node::Bbs::Subscription"," to this list and to ",[150,96608,96609],{},"Node::m_Bbs::m_Subscribed",". If the node has messages for this channel that are sent after given timestamp, then it sends them as a new ",[150,96612,96613],{},"BbsMsg"," to this subscriber. If ",[150,96616,96617],{},"m_On == false"," and a given subscriber exists in ",[150,96620,96621],{},"m_Subscriptions"," list, the node simply removes it.",[5542,96624,96613],{"id":96625},"bbsmsg",[11,96627,96628],{},"A message which is used to put an encrypted message onto the board or to exchange between nodes:",[89,96630,96631,96636,96642],{},[54,96632,96633,96635],{},[150,96634,96579],{}," – target channel.",[54,96637,96638,96641],{},[150,96639,96640],{},"Timestamp m_TimePosted"," – timestamp, when wallet has posted message to bbs.",[54,96643,96644,96647],{},[150,96645,96646],{},"ByteBuffer m_Message"," – the encrypted content.",[11,96649,96650,96651,96654,96655,96657,96658,96661,96662,96665,96666,385],{},"When this message is received, server gets current timestamp. If ",[150,96652,96653],{},"m_TimePosted"," \u003C= currentTime-24 hours, i.e. to old, or ",[150,96656,96653],{}," > currentTime + 2 hour (someone generates messages from future), then node rejects this message. If it doesn’t have this message it stores it in database, sends ",[150,96659,96660],{},"BbsHaveMsg",", to inform other peers about new bbs message, and sends ",[150,96663,96664],{},"BbsMsg ","to subscriberd interested in messages from ",[150,96667,96668],{},"m_Channel",[11,96670,96671,96672,96675,96676,96679,96680,96682,96683,96685,96686,385],{},"When this message is received, the server gets a current timestamp. If ",[150,96673,96674],{},"m_TimePosted \u003C= currentTime-24"," hours, i.e. too old, or ",[150,96677,96678],{},"m_TimePosted > currentTime + 2"," hours (someone generates messages from the future), then the node rejects this message. If it doesn’t have this message, it is stored in the database, and sent ",[150,96681,96660],{},", in order to inform other peers about new bbs message. It sends ",[150,96684,96613],{}," to subscribed interested in messages from ",[150,96687,96668],{},[5542,96689,96660],{"id":96690},"bbshavemsg",[11,96692,96693],{},"A Message which is used by BBS server (node) to exchange information about message that it has.",[89,96695,96696],{},[54,96697,96698,96701,96702,732,96705,5338,96707,96709,96710,96713,96714,385],{},[150,96699,96700],{},"BbsMsgID m_Key"," – the message’s key. It is defined as a hash of the ",[150,96703,96704],{},"m_Message",[150,96706,96668],{},[150,96708,96613],{},". In order to handle this message, the node checks if it already has this message. If it doesn’t, it stores it into waitlist ",[150,96711,96712],{},"Node::m_Bbs::m_W"," and sends ",[150,96715,96716],{},"BbsGetMsg",[5542,96718,96716],{"id":96719},"bbsgetmsg",[11,96721,96722,96723,385],{},"A peer server request for bbs message, which occurs as a response to ",[150,96724,96660],{},[89,96726,96727],{},[54,96728,96729,96731,96732,385],{},[150,96730,96700],{}," If the node has a bbs message with a given key, it sends it back as ",[150,96733,96613],{},[5542,96735,96737],{"id":96736},"bbspickchannel","BbsPickChannel",[11,96739,96740],{},"The Client asks the server for recommended channels.",[5542,96742,96744],{"id":96743},"bbspickchannelres","BbsPickChannelRes",[11,96746,96747],{},"Server channel recommendation",[89,96749,96750],{},[54,96751,96752,96754,96755,96758,96759,96762,96763,96766,96767,385],{},[150,96753,96579],{}," - recommended channel. Once in an hour ",[150,96756,96757],{},"(Node::m_Cfg::m_Timeout::m_BbsCleanupPeriod_ms)"," the node tries to find a channel which is populated with less than 100 listeners ",[150,96760,96761],{},"(Node::m_Cfg::m_BbsIdealChannelPopulation)",". Found value is stored into ",[150,96764,96765],{},"m_RecommendedChannel"," and it is used as a response to ",[150,96768,96737],{},[26,96770,96772],{"id":96771},"client-side","Client side",[11,96774,96775],{},"In the wallet, the BBS communication is placed in WalletNetworkViaBbs class. It allows to send a message to BBS and it manages BBS keys and timestamps. This class contains references to:",[89,96777,96778,96784],{},[54,96779,96780,96783],{},[150,96781,96782],{},"IWallet& m_Wallet"," - which is used for callbacks to wallet object.",[54,96785,96786,96789],{},[150,96787,96788],{},"proto::FlyClient::INetwork& m_NodeNetwork"," - which is used to communicate with the node.",[11,96791,96792,96793,96796,96797,96800,96801,96804,96805,96808,96809,96811,96812,96814,96815,96818,96819,96822,96823,96826,96827,96829],{},"When the wallet wants to create a new address (from cli, ui) or load already-created addresses from the database, ",[150,96794,96795],{},"AddOwnAddress()"," is called. This method calls ",[150,96798,96799],{},"IWalletDB::calcKey()"," with the key type ",[150,96802,96803],{},"Bbs"," to generate a private key for BBS. The public key is created using ",[150,96806,96807],{},"proto::Sk2Pk()",". Index, which is used for generating a private key that is stored in ",[150,96810,5828],{},". The wallet will then choose a channel. If the client has not subscribed to the chosen channel, the ",[150,96813,96565],{}," message is posted to the node via ",[150,96816,96817],{},"m_NodeNetwork",". If the wallet wants to send a message via Bbs it calls the overridden method ",[150,96820,96821],{},"Send()",". In this method, the given message is encrypted using ",[150,96824,96825],{},"proto::BbsEncrypt()"," and sent to ",[150,96828,96817],{},". If the wallet received the bbs message it updates the timestamp for the channel and stores them to the database.",[5542,96831,96833],{"id":96832},"usage-of-bbs-to-exchange-message","Usage of BBS to exchange message",[11,96835,96836,96837,96839,96840,385],{},"There are two sides wallet ",[94,96838,3675],{}," and wallet ",[94,96841,3681],{},[96843,96844,96846,163,96848,1000],"h5",{"id":96845},"a-and-b",[94,96847,3675],{},[94,96849,3681],{},[89,96851,96852,96855,96858],{},[54,96853,96854],{},"picks or generates a pair of keys public and private",[54,96856,96857],{},"choose channel\u002F\u002Fasks BBS server (node) for suitable",[54,96859,96860,96861,96863],{},"sends ",[150,96862,96565],{}," to chosen channel, if needed",[96843,96865,96867,96868,1000],{"id":96866},"wallet-a","Wallet ",[94,96869,3675],{},[89,96871,96872,96875,96878,96881],{},[54,96873,96874],{},"chooses the address of target recipient (his public key)",[54,96876,96877],{},"creates a message, it has to contain its public key as an address for answer",[54,96879,96880],{},"encrypts this message using pub",[54,96882,96883,96884,96886],{},"creates ",[150,96885,96613],{},", fills it and sends to BBS server",[96843,96888,96867,96890,1000],{"id":96889},"wallet-b",[94,96891,3681],{},[89,96893,96894,96899,96902,96905],{},[54,96895,96896,96897],{},"receives ",[150,96898,96613],{},[54,96900,96901],{},"updates timestamps for the message channel",[54,96903,96904],{},"tries to decrypt bbs message using the known key for message channel",[54,96906,96907],{},"if succeeded, it notifies wallet",{"title":760,"searchDepth":761,"depth":761,"links":96909},[96910,96911,96912],{"id":4399,"depth":761,"text":4400},{"id":96557,"depth":761,"text":96558},{"id":96771,"depth":761,"text":96772},{},"\u002Fdocs\u002Fcore-tech\u002Fsecure-bulletin-board-system-(sbbs)",{"title":8247,"description":760},"docs\u002Fcore-tech\u002FSecure-bulletin-board-system-(SBBS)","smC1mzvHMFGFiEF-uOHbDKKp7G71eV7jA-RtYIAlfh8",{"id":96919,"title":96920,"body":96921,"description":760,"extension":775,"image":776,"meta":97044,"navTitle":776,"navigation":778,"path":97045,"seo":97046,"stem":97047,"__hash__":97048},"docs\u002Fdocs\u002Fcore-tech\u002FSetting-up-read-only-wallet-for-monitoring.md","Setting Up Read Only Wallet For Monitoring",{"type":8,"value":96922,"toc":97039},[96923,96925,96928,96931,96939,96943,96982,96986,97016,97021,97024,97030,97033],[26,96924,4400],{"id":4399},[11,96926,96927],{},"The intention of this scenario is to have a some kind of monitoring wallet,  which can provide info about the list of the transactions, possibly, the list of UTXO, but without any ability to create or accept a new transaction and without access to any secrets.",[11,96929,96930],{},"In this scenario user should have:",[89,96932,96933,96936],{},[54,96934,96935],{},"a regular (live ) wallet connected to the node, but initialized in the way, that it has separate storage for private data (master key) and for public data. User should be able to get this public database and provide it to monitoring wallet.",[54,96937,96938],{},"a read-only (monitoring) wallet api server, also connected to the node. It should have access to the public data only. This server should have set up Access control list (ACL). This wallet does not hold any secret keys",[26,96940,96942],{"id":96941},"setup-live-wallet","Setup live wallet",[51,96944,96945,96961,96974],{},[54,96946,96947,96948,96950,96952,96954,96955,96957,96958,96960],{},"Init live wallet with separated private data (--cold_wallet flag allows us to do this)",[957,96949],{},[150,96951,81663],{},[957,96953],{},"it creates new wallet with two databases: ",[150,96956,5828],{}," for public data and ",[150,96959,81612],{}," for private.",[54,96962,96963,96964,96966,96969,96971],{},"Create \"own\" node for this wallet, for this you should export wallet's owner key and pass it to the node. This will let this wallet get notifications about UTXO which belong to this wallet.",[957,96965],{},[150,96967,96968],{},"beam-wallet export_owner_key",[957,96970],{},[150,96972,96973],{},"beam-node --owner_key=\u003Coutput from previous command> --peer=\u003Curl to existing node on target network>",[54,96975,96976,96977,163,96979,96981],{},"Use this wallet for sending\u002Freceiving beams. It should work as regular BEAM wallet with no exceptions. You even may put ",[150,96978,5828],{},[150,96980,81612],{}," to the application data folder of UI wallet and it should work.",[26,96983,96985],{"id":96984},"setup-read-only-monitoring-wallet","Setup read only monitoring wallet",[51,96987,96988,96991,96998,97001,97007,97010],{},[54,96989,96990],{},"On a different machine, setup another instance of wallet API",[54,96992,96993,385],{},[18,96994,96997],{"href":96995,"rel":96996},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API#user-authorization",[22],"Setup access to you wallet API",[54,96999,97000],{},"Stop monitoring wallet",[54,97002,97003,97004,97006],{},"Copy ",[150,97005,5828],{}," from live wallet to a monitoring wallet.",[54,97008,97009],{},"Launch wallet API server.",[54,97011,97012,97013,97015],{},"Repeat steps 3 to 5 with updated ",[150,97014,5828],{}," from live wallet to get latest transactions.",[11,97017,97018],{},[150,97019,97020],{},"wallet-api -n \u003Curl of a node with port> --port=\u003Cport> --use_acl=1 --acl_path=wallet_api.acl",[11,97022,97023],{},"This wallet API server should allow to perform:",[866,97025,97028],{"className":97026,"code":97027,"language":871},[869],"validate_address\naddr_list\ndelete_address\nedit_address\ntx_status\ntx_list\ntx_cancel\nwallet_status\nget_utxo\n",[150,97029,97027],{"__ignoreMap":760},[11,97031,97032],{},"whereas the following methods should be prohibited (due to lack of secret key)",[866,97034,97037],{"className":97035,"code":97036,"language":871},[869],"create_address\ntx_send\ntx_split\n",[150,97038,97036],{"__ignoreMap":760},{"title":760,"searchDepth":761,"depth":761,"links":97040},[97041,97042,97043],{"id":4399,"depth":761,"text":4400},{"id":96941,"depth":761,"text":96942},{"id":96984,"depth":761,"text":96985},{},"\u002Fdocs\u002Fcore-tech\u002Fsetting-up-read-only-wallet-for-monitoring",{"description":760},"docs\u002Fcore-tech\u002FSetting-up-read-only-wallet-for-monitoring","afezKoTEuBTTyAvmP0Ok49v8NOLy8kDCt212ysuidv8",{"id":97050,"title":97051,"body":97052,"description":97056,"extension":775,"image":776,"meta":97065,"navTitle":776,"navigation":778,"path":97066,"seo":97067,"stem":97068,"__hash__":97069},"docs\u002Fdocs\u002Fcore-tech\u002FSupported-nVidia-cards-for-mining-using-OpenCL-miner.md","Supported NVidia Cards For Mining Using OpenCL Miner",{"type":8,"value":97053,"toc":97063},[97054,97057],[11,97055,97056],{},"The following list of card should be supported by Beam OpenCL miner:",[866,97058,97061],{"className":97059,"code":97060,"language":871},[869],"Tesla K40\u002FK80\nGeForce 700\nGT-730\nTesla K40\nTesla K80\nTesla\u002FQuadro M series\nQuadro M6000\nGeForce 900\nGTX-970\nGTX-980\nGTX Titan X\nGP100\u002FTesla P100 – DGX-1\nGTX 1080\nGTX 1070\nGTX 1060\nGTX 1050\nGTX 1030\nTitan Xp\nTesla P40\nTesla P4\nTesla V100\nGTX 1180 (GV104)\n",[150,97062,97060],{"__ignoreMap":760},{"title":760,"searchDepth":761,"depth":761,"links":97064},[],{},"\u002Fdocs\u002Fcore-tech\u002Fsupported-nvidia-cards-for-mining-using-opencl-miner",{"description":97056},"docs\u002Fcore-tech\u002FSupported-nVidia-cards-for-mining-using-OpenCL-miner","HUNhG8h_W0x-BLPrwqpIpxDUtHH2Xoi6vUdXanto_8c",{"id":97071,"title":97072,"body":97073,"description":97077,"extension":775,"image":776,"meta":97266,"navTitle":776,"navigation":778,"path":97267,"seo":97268,"stem":97269,"__hash__":97270},"docs\u002Fdocs\u002Fcore-tech\u002FSystem-state-in-depth.md","System State In Depth",{"type":8,"value":97074,"toc":97262},[97075,97078,97080,97083,97096,97099,97111,97114,97122,97135,97141,97145,97154,97160,97163,97173,97180,97191,97198,97203,97206,97208,97211,97214,97218,97221,97224,97227,97231,97238,97241,97253],[11,97076,97077],{},"So the system state is comprised from the existing UTXOs, Kernels, and inherited system states, each is organized in an appropriate data structure.",[43,97079,94963],{"id":94962},[11,97081,97082],{},"The Node must track all the existing unspent UTXOs in the system, and the maturity of each one (i.e. the state height from which it can be spent). In addition we support duplicate UTXOs (there's a use-case for this).",[11,97084,97085,97086,97088,97089,97091,97092,97095],{},"UTXOs are stored in an ",[150,97087,81447],{},", which is a variant of our ",[150,97090,81451],{},". Each UTXO is represented by an ",[150,97093,97094],{},"UtxoLeaf",", which is a leaf node with a key and additional values.",[11,97097,97098],{},"The key is a 321-bit long bits sequence, consisting of (the order matters):",[51,97100,97101,97106],{},[54,97102,97103,97105],{},[150,97104,83044],{}," 257 bits",[54,97107,97108,97110],{},[150,97109,83054],{}," 64 bits",[11,97112,97113],{},"The value that is stored for each such a node is:",[89,97115,97116],{},[54,97117,97118,97121],{},[150,97119,97120],{},"Input::Count m_Count"," 32 bits",[11,97123,97124,97125,97127,97128,97130,97131,97134],{},"So that there is a unique ",[150,97126,97094],{}," for each Commitment + Maturity combination. However if several UTXOs happen to have both those parameters identical - the information is stored within a single ",[150,97129,97094],{}," (with the ",[150,97132,97133],{},"m_Count"," > 1). This is an intentional design decision. To validate transactions it's essential to know the Commitment and the Maturity of the all the UTXOs, whereas other parameters are not important, and such UTXOs are considered identical.",[11,97136,97137,97138,97140],{},"When an input UTXO is referenced by the Commitment - the Node always looks for the UTXO with the specified Commitment, and the lowest Maturity, which also must not be higher than the current State Height (recall that ",[150,97139,81451],{}," supports search by partially-specified key). So there is no ambiguity with the selection of the input UTXOs.",[716,97142,97144],{"id":97143},"utxo-hash-proof","UTXO Hash, Proof",[11,97146,97147,97148,97150,97151,97153],{},"When the ",[150,97149,81447],{}," hash is evaluated, the ",[150,97152,97094],{}," is hashed by the following formula:",[11,97155,97156,97159],{},[150,97157,97158],{},"UtxoLeaf.Hash = Hash ( UtxoLeaf.Key | UtxoLeaf.m_Count )"," (the 321-bit key is zero-padded to the byte boundary)",[11,97161,97162],{},"The client requests a Merkle proof for an UTXO - the following is specified:",[89,97164,97165,97167],{},[54,97166,4747],{},[54,97168,97169,97172],{},[150,97170,97171],{},"MaturityMin"," - Optionally the minimum Maturity to query (0 by default)",[11,97174,97175,97176,97179],{},"The Node response includes an ",[145,97177,97178],{},"array"," of the following:",[89,97181,97182,97185,97188],{},[54,97183,97184],{},"Maturity",[54,97186,97187],{},"Count",[54,97189,97190],{},"Merkle Proof",[11,97192,97193,97194,97197],{},"After receiving the result the client evaluates the ",[150,97195,97196],{},"UtxoLeaf.Hash"," according to the same formula, substituting the asserted Maturity and Count, and then verifies the Merkle proof.",[11,97199,97200,97201,385],{},"Empty array means such an UTXO doesn't exist. The array size is limited to 20 elements, so that if there are more combinations - the client should repeat the query, settings a higher ",[150,97202,97171],{},[11,97204,97205],{},"Sounds somewhat complicated, but this is the price of the versatility, supporting duplicates. For regular UTXOs, however, where the duplicates are not possible (unless with a negligible probability), the client won't deal with all this. There will either be a single proof, or no proof.",[43,97207,134],{"id":133},[11,97209,97210],{},"Same idea as with UTXOs, but simpler, because kernels have no Maturity, and duplicates are not supported. So - it's just hashes. The Kernel ID is evaluated, and this is the hash of the leaf node.",[11,97212,97213],{},"For the Kernel proof the client just sends its ID, and gets a single Proof iff the kernel indeed exists in the System state.",[716,97215,97217],{"id":97216},"why-kernel-proofs-are-important","Why Kernel proofs are important?",[11,97219,97220],{},"Unlike UTXOs, Kernels don't contain funds, and can't be used in the future transactions, so why would anyone need a proof for it?",[11,97222,97223],{},"The main reason is that Kernel proof can be used to verify that UTXO is spent. The client may ask for an UTXO proof and get an empty result, but this is not a proof! It's impossible to prove that an object does not exist in the Merkle tree.",[11,97225,97226],{},"So, Kernel proof is the best verification of the transaction, no matter if UTXOs are received or spent.",[43,97228,97230],{"id":97229},"inherited-states","Inherited states",[11,97232,97233,97234,97237],{},"Implemented in terms of the ",[94,97235,97236],{},"D-MMR"," (Distributed MMR). The leaf nodes are the System State Hashes (not to be confused with the System Definition Hashes). Apart from the somewhat sophisticated D-MMR, the rest is straighforward (generating and verifying proofs).",[11,97239,97240],{},"They are needed in 2 scenarios:",[89,97242,97243,97246],{},[54,97244,97245],{},"Simple scenario: a client was offline for a while, then comes back, and wants to ensure the last State that it observed is still a part of the current consensus branch.",[54,97247,97248,97249,97252],{},"More complex: Client requests a ",[58,97250,97251],{},"ChainWork Proof",", which is a (relatively) compact proof for all the state headers, without fully downloading them all.",[11,97254,97255,97257,97258,97261],{},[94,97256,3767],{},": In contrast to UTXOs and Kernels, the client knows the structure of the Inherited States tree, hence it receives the proof in a form of a ",[58,97259,97260],{},"Hard"," proof, i.e. only the hashes, whereas the hashing direction is deduced automatically.",{"title":760,"searchDepth":761,"depth":761,"links":97263},[97264,97265],{"id":97143,"depth":772,"text":97144},{"id":97216,"depth":772,"text":97217},{},"\u002Fdocs\u002Fcore-tech\u002Fsystem-state-in-depth",{"description":97077},"docs\u002Fcore-tech\u002FSystem-state-in-depth","z0SA0E1h3VnvDTrr0pUDwesruYIB7qKW-mt1oDLC-Pw",{"id":97272,"title":97273,"body":97274,"description":97278,"extension":775,"image":776,"meta":97320,"navTitle":776,"navigation":778,"path":97321,"seo":97322,"stem":97323,"__hash__":97324},"docs\u002Fdocs\u002Fcore-tech\u002FTesting-Beam-Hard-Fork-on-Local-Testnet.md","Testing Beam Hard Fork On Local Testnet",{"type":8,"value":97275,"toc":97318},[97276,97279,97282,97285,97315],[11,97277,97278],{},"Beam Clear Cathode 3.0 version includes a Hard Fork that will be activated in block 321321 (approximately around August 15th, 2019). As part of the fork, the mining algo will be updated to BeamHash II.",[11,97280,97281],{},"Pools and Solo miners are strongly encouraged to test the version before that time using the latest versions of LolMiner and GMiner that already support BeamHash II.",[11,97283,97284],{},"To test the fork please perform the following steps:",[51,97286,97287,97290,97299,97308],{},[54,97288,97289],{},"Download latest Testnet binaries (or build from source)",[54,97291,97292,97293,97298],{},"Follow the instructions on ",[18,97294,97297],{"href":97295,"rel":97296},"http:\u002F\u002Fdocumentation.beam.mw\u002Fen\u002Flatest\u002Frtd_pages\u002Fdev_local_setup.html",[22],"Local Setup"," to create a stand alone network.",[54,97300,97301,97302,97307],{},"Follow the instruction in ",[18,97303,97306],{"href":97304,"rel":97305},"http:\u002F\u002Fdocumentation.beam.mw\u002Fen\u002Flatest\u002Frtd_pages\u002Fuser_mining_beam.html",[22],"Mining Beam"," section, to setup the latest version of the miner.",[54,97309,97310,97311,97314],{},"Use Fork1=",[150,97312,97313],{},"fork height"," parameter in the configuration file for both node and wallet, to set a fork height.",[11,97316,97317],{},"IMPORTANT: You have to delete the node.db after the fork happens to repeat the test. Just setting a different fork height would not be enough.",{"title":760,"searchDepth":761,"depth":761,"links":97319},[],{},"\u002Fdocs\u002Fcore-tech\u002Ftesting-beam-hard-fork-on-local-testnet",{"description":97278},"docs\u002Fcore-tech\u002FTesting-Beam-Hard-Fork-on-Local-Testnet","0Q1zrh8YJbZpDpUgBEKklL9BFg2Y5PyhKCKZHh9-_Rk",{"id":97326,"title":97327,"body":97328,"description":97334,"extension":775,"image":776,"meta":97572,"navTitle":776,"navigation":778,"path":97573,"seo":97574,"stem":97575,"__hash__":97576},"docs\u002Fdocs\u002Fcore-tech\u002FTestnet-Command-Line-Instructions.md","Testnet Command Line Instructions",{"type":8,"value":97329,"toc":97570},[97330,97335,97347,97350,97355,97367,97370,97374,97377,97379,97384,97387,97390,97393,97396,97399,97403,97406,97427,97430,97444,97448,97451,97456,97459,97463,97466,97471,97475,97478,97483,97486,97490,97493,97497,97502,97513,97518,97532,97554,97562,97567],[11,97331,97332],{},[94,97333,97334],{},"Welcome to Beam Testnet 1",[11,97336,97337,97338,97342,97343,2758],{},"Node binaries can be downloaded from the Beam website (",[18,97339,97340],{"href":97340,"rel":97341},"http:\u002F\u002Fbeam-mw.com\u002Fdownloads",[22],") or from Github (",[18,97344,97345],{"href":97345,"rel":97346},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam-builds\u002Ftree\u002Fmaster\u002Ftestnet\u002Frelease",[22],[11,97348,97349],{},"You can run the node with command line options, or modify the attached config file. Once you start the node it will create a node.db file in the same folder. This file will store internal state of the node.",[11,97351,97352],{},[94,97353,97354],{},"Reporting issues",[11,97356,97357,97358,97362,97363],{},"In case you encounter any problems, please report them via еmail to ",[18,97359,97361],{"href":97360},"mailto:testnet@beam-mw.com","testnet@beam-mw.com"," or open a github ticket at ",[18,97364,97365],{"href":97365,"rel":97366},"https:\u002F\u002Fgithub.com\u002Fbeam-mw\u002Fbeam",[22],[11,97368,97369],{},"Attach archive with logs, configuration file and command line parameters to allow effective investigation of the issues.",[11,97371,97372],{},[94,97373,87839],{},[11,97375,97376],{},"Node parameters can be either passed through command line or written in the beam-node.cfg file.",[11,97378,10725],{},[11,97380,97381],{},[58,97382,97383],{},".\u002Fbeam-node --peer 138.68.130.189:8101 --wallet_seed 111 --mining_threads 1 --file_log_level debug",[11,97385,97386],{},"The --peer parameter specifies a comma separated list of peers that the node will initially connect to. After the connection is established, the node will get an updated list of peers from the nodes, along with peer ratings and from that moment it will manage the connections on its own.",[11,97388,97389],{},"--wallet_seed - is a secret key for the wallet that will connect to this node to collect mining rewards (if the node is mining)",[11,97391,97392],{},"--mining_treads - specifies the number of CPU cores utilized for mining. If set to 0, node acts as validating node only.",[11,97394,97395],{},"--file_log_level - allows you to see that is going on behind the scenes.",[11,97397,97398],{},"Upon first launch, the node will download current blockchain history in batch mode as one large macroblock. After the initial sync is complete, the node will continue to sync blocks and individual transactions from the current blockchain Tip and onwards. This can be seen in the log entry:",[11,97400,97401],{},[58,97402,87886],{},[11,97404,97405],{},"Here is the full list of options supported by the node",[11,97407,97408,97409,97412,97413,97415,97416,97419,97420,97422,97423,97426],{},"General options:\n-h ",[984,97410,97411],{}," --help","                     \tlist of all options\n-p ",[984,97414,88514],{}," arg (=10000)        \tport to start the server on\n--wallet_seed arg                 \tsecret key generation seed\n--log_level arg                   \tlog level ",[984,97417,97418],{},"info|debug|verbose","\n--file_log_level arg              \tfile log level ",[984,97421,97418],{},"\n-v ",[984,97424,97425],{}," --version","               \treturn project version\n--git_commit_hash                 \treturn commit hash",[11,97428,97429],{},"Node options:\n--storage arg (=node.db)          \tnode storage path\n--history_dir arg (=.\u002F)           \tdirectory for compressed history\n--temp_dir arg (=\u002Ftmp\u002F)           \ttemp directory for compressed history,\nmust be on the same volume\n--mining_threads arg (=0)         \tnumber of mining threads(there is no\nmining if 0)\n--verification_threads arg (=-1)  \tnumber of threads for cryptographic\nverifications (0 = single thread, -1 =\nauto)\n--miner_id arg (=0)               \tseed for miner nonce generation\n--peer arg                        \tnodes to connect to\n--import arg (=0)                 \tSpecify the blockchain height to\nimport. The compressed history is\nassumed to be downloaded the the\nspecified directory",[11,97431,97432,97433,97436,97437,97440,97441,97443],{},"Rules configuration:\n--CoinbaseEmission arg (=80000000)\tcoinbase emission in a single block\n--MaturityCoinbase arg (=60)      \tnum of blocks before coinbase UTXO can\nbe spent\n--MaturityStd arg (=0)            \tnum of blocks before non-coinbase UTXO\ncan be spent\n--MaxBodySize arg (=1048576)      \tMax block body size ",[984,97434,97435],{},"bytes","\n--DesiredRate_s arg (=60)         \tDesired rate of generated blocks\n",[984,97438,97439],{},"seconds","\n--DifficultyReviewCycle arg (=1440)   num of blocks after which the mining\ndifficulty can be adjusted\n--MaxDifficultyChange arg (=2)    \tMax difficulty change after each cycle\n(each step is roughly x2 complexity)\n--TimestampAheadThreshold_s arg (=7200)\nBlock timestamp tolerance ",[984,97442,97439],{},"\n--WindowForMedian arg (=25)       \tHow many blocks are considered in\ncalculating the timestamp median\n--AllowPublicUtxos arg (=0)       \tset to allow regular (non-coinbase)\nUTXO to have non-confidential signature\n--FakePoW arg (=0)                \tDon't verify PoW. Mining is simulated\nby the timer. For tests only",[11,97445,97446],{},[94,97447,88731],{},[11,97449,97450],{},"After extracting the wallet binary to a folder, first we need to initialize the wallet by running:",[11,97452,97453],{},[58,97454,97455],{},".\u002Fbeam-wallet --command init",[11,97457,97458],{},"You will be prompted to provide wallet password and then seed. If you are using a miner node, the seed should be the same as was set in the --wallet_seed flag of the node",[11,97460,97461],{},[94,97462,88761],{},[11,97464,97465],{},"To get the information about the status of the wallet, run:",[11,97467,97468],{},[58,97469,97470],{},".\u002Fbeam-wallet --command info -n 127.0.0.1:10000",[11,97472,97473],{},[94,97474,88790],{},[11,97476,97477],{},"To receive beams we need to start a wallet in a listening mode by running:",[11,97479,97480],{},[58,97481,97482],{},".\u002Fbeam-wallet --command listen -n 127.0.0.1:10000;",[11,97484,97485],{},"After entering the password, wallet will print out the line similar to:",[11,97487,97488],{},[58,97489,88821],{},[11,97491,97492],{},"This show the SBBS address the wallet is listening on. This address can be copied and sent to Sender.",[11,97494,97495],{},[94,97496,88913],{},[11,97498,97499],{},[58,97500,97501],{},".\u002Fbeam-wallet --command=send -n 127.0.0.1:10000 -r 77de6bd3de40bc58ab7e4fb68d5e0596fd1e72f3c4fb3eb3d106082d89264909 -a 11.3 -f 0.2",[11,97503,97504,97505],{},"To send Beams, use 'send' command with the following parameters:\n-r ",[95476,97506,97507,97508],{"address":760,"of":760,"the":760,"receiver":760,"node":760},"\n-a ",[2396,97509,97510,97511],{"of":760,"beams":760,"to":760,"send":760},"\n-f ",[83292,97512],{"fee":760},[11,97514,97515],{},[94,97516,97517],{},"Full list of wallet options",[11,97519,97408,97520,97522,97523,97415,97525,97419,97527,97422,97529,97531],{},[984,97521,97411],{},"    \t                 list of all options\n-p ",[984,97524,88514],{},[984,97526,97418],{},[984,97528,97418],{},[984,97530,97425],{},"                  \treturn project version\n--git_commit_hash                 \treturn commit hash",[11,97533,97534,97535,97538,97539,97542,97543,97546,97547,97550,97551],{},"Wallet options:\n--pass arg                        \tpassword for the wallet\n-a ",[984,97536,97537],{}," --amount"," arg               \tamount to send (in Beams, 1 Beam =\n1000000 chattle)\n-f ",[984,97540,97541],{}," --fee"," arg (=0)             \tfee (in Beams, 1 Beam = 1000000\nchattle)\n-r ",[984,97544,97545],{}," --receiver_addr"," arg        \taddress of receiver\n-n ",[984,97548,97549],{}," --node_addr"," arg            \taddress of node\n--treasury_path arg (=treasury.mw)\tBlock to create\u002Fappend treasury to\n--wallet_path arg (=wallet.db)    \tpath to wallet file\n--bbs_keystore_path arg (=bbs_keys.db)\npath to file with bbs keys\n--tx_history                      \tprint transacrions' history in info\ncommand\n--tr_Count arg (=30)              \ttreasury UTXO count\n--tr_HeightStep arg (=1440)       \ttreasury UTXO height lock step\n--tr_BeamsPerUtxo arg (=10)       \ttreasury value of each UTXO (in Beams)\n--command arg                     \tcommand to execute ",[984,97552,97553],{},"send|receive|listen\n|init|info|treasury",[11,97555,97432,97556,97436,97558,97440,97560,97443],{},[984,97557,97435],{},[984,97559,97439],{},[984,97561,97439],{},[11,97563,97564],{},[94,97565,97566],{},"List of testnet 1 nodes",[11,97568,97569],{},"142.93.89.204:8101\n188.166.148.169:8101\n206.189.141.171:8101\n138.68.130.189:8101\n178.128.225.252:8101\n128.199.142.41:8101\n139.59.191.116:8101\n206.189.3.9:8101\n206.189.15.198:8101\n204.48.26.118:8101\n174.138.58.140:8101\n142.93.241.66:8101\n188.166.122.215:8101\n142.93.17.121:8101\n104.248.77.220:8101\n104.248.27.246:8101\n188.166.60.223:8101\n128.199.144.164:8101\n104.248.182.148:8101\n104.248.182.152:8101\n159.203.72.8:8101\n178.128.233.252:8101\n104.248.43.86:8101\n104.248.43.99:8101\n178.62.19.156:8101\n104.248.75.183:8101\n206.81.11.82:8101\n206.189.138.82:8101\n178.128.225.8:8101\n142.93.246.182:8101\n104.248.31.169:8101\n128.199.144.48:8101\n178.128.229.48:8101\n128.199.144.196:8101\n159.65.40.42:8101\n178.128.229.50:8101\n138.197.193.229:8101\n128.199.144.206:8101\n178.128.229.65:8101\n159.89.234.65:8101\n104.248.43.120:8101\n104.248.186.25:8101\n128.199.145.212:8101\n188.166.15.205:8101\n138.68.163.99:8101",{"title":760,"searchDepth":761,"depth":761,"links":97571},[],{},"\u002Fdocs\u002Fcore-tech\u002Ftestnet-command-line-instructions",{"description":97334},"docs\u002Fcore-tech\u002FTestnet-Command-Line-Instructions","Ev37u6XREWpOwKN8ttsINympkUO_-cHaW3r_JPfAFmo",{"id":97578,"title":97579,"body":97580,"description":760,"extension":775,"image":776,"meta":97812,"navTitle":776,"navigation":778,"path":97813,"seo":97814,"stem":97815,"__hash__":97816},"docs\u002Fdocs\u002Fcore-tech\u002FThoughts-about-eliminating-transaction-kernels.md","Thoughts About Eliminating Transaction Kernels",{"type":8,"value":97581,"toc":97803},[97582,97586,97593,97601,97604,97608,97611,97625,97629,97632,97652,97658,97661,97669,97678,97681,97695,97698,97727,97729,97733,97742,97746,97755,97759,97768,97772,97775,97778,97781,97785,97788,97795],[716,97583,97585],{"id":97584},"transaction-and-kernels","Transaction and kernels",[11,97587,97588,97589,97592],{},"One of the fundamental features of a MimbleWimble transaction is the ",[145,97590,97591],{},"irreversibility",". That is, once the transaction enters the blockchain, it can't be reversed, which guarantees that once a user receives the coins, the sender can't \"change his mind\" later.",[11,97594,97595,97596,97600],{},"This is achieved by transaction ",[145,97597,97598],{},[58,97599,133],{},", which are cryptographically signed, and encode (among other things) the total blinding factor of the transaction. While a UTXO can be either consumed or created by the transaction, the kernels can only be created, and never consumed. This guarantees the irreversibility of the transaction.",[11,97602,97603],{},"This leads to the accumulation of the transaction kernels in the system with time. While the UTXOs denote the \"live\" coins, which can be spent by their owners, the transaction kernels are actually \"dead weight\", and play no role in future transactions. OTOH the fully-functional processing node is obliged to keep them forever, in order to allow for new nodes to sync and verify the most recent blockchain state.",[716,97605,97607],{"id":97606},"how-to-consume-the-transaction-kernels-principles","How to consume the transaction kernels - principles",[11,97609,97610],{},"Let's assume that transaction kernels can also be consumed, and a valid transaction can contain transaction kernels on both input and output sides. In order to keep the irreversibility principle we apply additional restrictions on the output kernels, such that the verifier can:",[51,97612,97613,97616,97619,97622],{},[54,97614,97615],{},"Verify that for each input kernel there's a corresponding output kernel, that can only be signed if its creator(s) know the opening of the input kernel.",[54,97617,97618],{},"Such a transaction is irreversible \"on its own\". Means - input and output kernels can't be exchanged.",[54,97620,97621],{},"The above rules must also hold when transactions are merged and intermediate outputs are fully deleted.",[54,97623,97624],{},"In addition the output kernel should remain compact, and not inflate with every such a transaction. There's no benefit of keeping one large kernel vs many small ones.",[43,97626,97628],{"id":97627},"proposal","Proposal",[11,97630,97631],{},"Kernel consists of the following fields:",[89,97633,97634,97643,97646],{},[54,97635,97636,97637,97639,97640,97642],{},"Public excess: the ",[150,97638,162],{}," curve point, whereas the ",[150,97641,10997],{}," is the total blinding of the transaction.",[54,97644,97645],{},"Various optional fields (fee, block height, custom co-signed contract, nested kernels).",[54,97647,97648,97649,97651],{},"Schnorr's signature of the kernel body, whereas the ",[150,97650,10997],{}," is the signature private key.",[11,97653,97654,97655,97657],{},"The blinding factor ",[150,97656,10997],{}," is the sum of the total blinding factors of all the participants, and the kernel is co-signed collectively.",[11,97659,97660],{},"Let's add additional field to the kernel:",[89,97662,97663],{},[54,97664,97665,97668],{},[150,97666,97667],{},"m"," - Multiplier, a 64-bit integer.",[11,97670,97671,97672,97675,97676,385],{},"If not specified - by default it's assumed to be 1. The actual transaction excess is ",[150,97673,97674],{},"mk*G",", i.e. multiplied by ",[150,97677,97667],{},[11,97679,97680],{},"During the transaction verification, the verifier must ensure that for every input kernel there is a corresponding output kernel, which:",[89,97682,97683,97688],{},[54,97684,97685,97686,385],{},"Has the same unmultiplied excess ",[150,97687,11211],{},[54,97689,97690,97691,97694],{},"Has a multiplier which is ",[94,97692,97693],{},"greater"," than that of the input kernel.",[11,97696,97697],{},"It's easy to see that such a scheme conforms to the rules 1-4.",[51,97699,97700,97713,97716,97722],{},[54,97701,97702,97703,97705,97706,97709,97710,97712],{},"In order to co-sign the new kernel, the participants ",[94,97704,82678],{}," know the ",[150,97707,97708],{},"mk",", hence they know ",[150,97711,10997],{},". Means - those are the same participants that signed the input kernel.",[54,97714,97715],{},"Such a transaction is irreversible, since the output multiplier must be (strictly) greater than the input.",[54,97717,97718,97719,97721],{},"When such a procedure repeated many times, and intermediate outputs are deleted - we have the same ",[150,97720,11211],{}," correspondence, and the same inequality for multipliers.",[54,97723,97724,97725,4316],{},"The kernel remains compact, its size is independent of the reuse count (up to order of 2",[111,97726,81963],{},[43,97728,95166],{"id":95165},[716,97730,97732],{"id":97731},"how-to-encourage-this-scheme","How to encourage this scheme",[11,97734,97735,97736,97741],{},"Naturally users are not obliged to consume their old kernels, and are free to create new ones (even several kernels) with every transaction.\nHowever we'd like to encourage this scheme. Hence we'll define an ",[145,97737,97738],{},[94,97739,97740],{},"implicit kernel fee",". So that consuming old kernels will be beneficial to the users.\nOptionally this fee may depend on the kernel size (the size of a single kernel is limited, but it may contain arbitrary number of nested kernels).",[716,97743,97745],{"id":97744},"how-to-use-it-in-practice","How to use it in practice",[11,97747,97748,97749,97751,97752,97754],{},"This scheme can be used by the same set of users (2 in the most common scenario), which perform several transactions.\nOn the first transaction each peaks a random ",[150,97750,10997],{}," used to construct the first transaction.\nOn the consequent transactions they decide to reuse the older kernel and increment the multiplier ",[150,97753,97667],{}," for the new kernel.",[716,97756,97758],{"id":97757},"degrees-of-freedom-for-newly-created-utxos","Degrees of freedom for newly-created UTXOs",[11,97760,97761,97762,97764,97765,97767],{},"The total blinding factor of each consequent transaction is pre-defined (",[150,97763,11211],{}," multiplied by the multiplier difference). It may seem that due to this fact the users are restricted to pick specific blinding factors for their UTXOs (hence - making them less confident and easier to track), but this is not so.\nThe transaction, in addition to the UTXOs and kernels, contains also an arbitrary ",[150,97766,85473],{}," - the arbitrary non-encoded blinding factor, which is summed when transactions are combined. Using this degree of freedom users can pick arbitrary blinding factors for the newly-created UTXOs.",[716,97769,97771],{"id":97770},"confidentiality-consideration","Confidentiality consideration",[11,97773,97774],{},"One obvious thing is that anyone can see that the same set of users do several transactions. Without dandelion a hostile node can reveal the user identity (IP address) for the specific transaction that it received. If the kernel consuming scheme is used, the hostile node can also detect when the same set of users create more transactions (both in the past and in the future), even if they used another node.\nHowever it will not be able to identify and track the appropriate UTXOs (unless this hostile node actually received all those transactions).",[11,97776,97777],{},"With the use of dandelion this risk is reduced (but not removed completely).",[11,97779,97780],{},"I can't see other issues, and this specific one is minor IMHO.",[716,97782,97784],{"id":97783},"what-if-the-user-wants-the-kernel-to-remain-forever","What if the user wants the kernel to remain forever?",[11,97786,97787],{},"As we said, the kernels are \"dead weight\" that the processing node normally can't get rid of. But in fact kernels may encode some information useful for users. For instance, it may be a co-signed contract, which users may use later to prove the payment.",[11,97789,97790,97791,97794],{},"In this specific case users should wait until the transaction becomes visible in the block, and obtain the ",[145,97792,97793],{},"Merkle proof"," for this kernel.\nOnce they have it - they can safely reuse it. Whereas the kernel itself will eventually be deleted from the system, they still will be able to prove it was there. The proof consists of two parts:",[51,97796,97797,97800],{},[54,97798,97799],{},"Proof that a specific kernel was in the specific system state (blockchain height + hash).",[54,97801,97802],{},"Proof that this older state is a part of the present blockchain.",{"title":760,"searchDepth":761,"depth":761,"links":97804},[97805,97806,97807,97808,97809,97810,97811],{"id":97584,"depth":772,"text":97585},{"id":97606,"depth":772,"text":97607},{"id":97731,"depth":772,"text":97732},{"id":97744,"depth":772,"text":97745},{"id":97757,"depth":772,"text":97758},{"id":97770,"depth":772,"text":97771},{"id":97783,"depth":772,"text":97784},{},"\u002Fdocs\u002Fcore-tech\u002Fthoughts-about-eliminating-transaction-kernels",{"description":760},"docs\u002Fcore-tech\u002FThoughts-about-eliminating-transaction-kernels","Z4zyz_tg8UjMl8Zkvyri82WKIaINQPt8UPHyumw3hlM",{"id":97818,"title":96283,"body":97819,"description":97826,"extension":775,"image":776,"meta":98475,"navTitle":776,"navigation":778,"path":98476,"seo":98477,"stem":98478,"__hash__":98479},"docs\u002Fdocs\u002Fcore-tech\u002FTransaction-creation-protocol.md",{"type":8,"value":97820,"toc":98462},[97821,97824,97827,97831,97834,97848,97851,97867,97870,97874,97882,98036,98039,98043,98046,98050,98091,98095,98098,98102,98216,98248,98252,98255,98345,98378,98382,98385,98389,98392,98448,98456,98459],[43,97822,96283],{"id":97823},"transaction-creation-protocol",[11,97825,97826],{},"Creating transactions in Beam (as with other MimbleWimble implementations) is interactive. In order to create a new Beam transaction, the sending and receiving wallets communicate with each other. The wallets exchange parameters which produce the transaction. As a result, the protocol between the wallets is extendable.",[26,97828,97830],{"id":97829},"what-is-a-transaction-in-beam","What is a transaction in Beam?",[11,97832,97833],{},"Any Beam transaction contains the following parameters:",[89,97835,97836,97839,97842,97845],{},[54,97837,97838],{},"A Set of input UTXOs (Inputs), which have to already be present in the blockchain.",[54,97840,97841],{},"A Set of newly created UTXOs (Outputs) and rangeproofs for each output",[54,97843,97844],{},"The Explicit excess (offset)",[54,97846,97847],{},"The transaction kernel",[11,97849,97850],{},"The transaction kernel requires the following parameters:",[89,97852,97853,97856,97858,97861,97864],{},[54,97854,97855],{},"Blinded excess",[54,97857,83208],{},[54,97859,97860],{},"Minimum height",[54,97862,97863],{},"Maximum height",[54,97865,97866],{},"Signature. This is a Schnorr’s multi-signature which signs all the values listed above",[11,97868,97869],{},"The minimum and maximum height values set the time in which the transaction is valid. Nodes will reject a transaction if its height is below the minimum height and greater than the maximum height",[716,97871,97873],{"id":97872},"a-simple-transaction-flow","A simple transaction flow.",[11,97875,97876,97877,97879,97880,385],{},"In the following example, a ",[58,97878,89559],{}," makes a payment to a ",[58,97881,89542],{},[89,97883,97884,97895,97924,97935,97945,97968,97985,98010,98030],{},[54,97885,97886,163,97888,97890,97891,163,97893,385],{},[58,97887,89559],{},[58,97889,89542],{}," agree on the ",[58,97892,2396],{},[58,97894,2139],{},[54,97896,32,97897,97899,97900,3149,97903],{},[58,97898,89559],{}," selects input UTXO which allow paying ",[58,97901,97902],{},"amount + fee",[89,97904,97905,97913],{},[54,97906,97907,97908,441,97910,97912],{},"If the sum of inputs is greater than ",[58,97909,97902],{},[58,97911,89559],{}," also creates output UTXO for the change.",[54,97914,32,97915,97917,97918,163,97921],{},[58,97916,89559],{}," creates overall blinding excess value ",[150,97919,97920],{},"blindingExcess_S",[150,97922,97923],{},"offset_S",[54,97925,32,97926,97928,97929,163,97932],{},[58,97927,89542],{}," creates outputs for a given amount and calculates blinding excess ",[150,97930,97931],{},"blindingExcess_R",[150,97933,97934],{},"offset_R",[54,97936,97937,97938,163,97941,97944],{},"Both parties generate nonces ",[150,97939,97940],{},"nonce_S",[150,97942,97943],{},"nonce_R"," respectively.",[54,97946,97947,97948],{},"Both parties send each other public forms of excesses:\n",[89,97949,97950,97959],{},[54,97951,97952,163,97955,97958],{},[150,97953,97954],{},"publicNonce_S = nonce_S*G",[150,97956,97957],{},"publicNonce_R = nonce_R*G"," – public nonces",[54,97960,97961,163,97964,97967],{},[150,97962,97963],{},"publicExcess_S = blindingExcess_S*G",[150,97965,97966],{},"publicExcess_R = blindingExcess_R*G"," – public blinding excessed",[54,97969,97970,97971],{},"Both parties compute total blinding excess and total public nonce:\n",[89,97972,97973,97979],{},[54,97974,97975,97976],{},"total blinding excess: ",[150,97977,97978],{},"X = publicExcess_S + publicExcess_R",[54,97980,97981,97982],{},"total public nonce: ",[150,97983,97984],{},"K = publicNonce_S + publicNonce_R",[54,97986,97987,97988],{},"Both parties compute a Schnorr’s signature challenge:\n",[89,97989,97990],{},[54,97991,97992,97995,97996,97998,97999,441,98002,441,98004,86940,98007],{},[150,97993,97994],{},"e = H(K|M)",", where ",[150,97997,11188],{}," is a signed message, it calculates from kernel and it includes ",[150,98000,98001],{},"X",[150,98003,2139],{},[150,98005,98006],{},"min height",[150,98008,98009],{},"max height",[54,98011,98012,98013],{},"Both parties compute and send  to each other partial signatures:\n",[89,98014,98015,98022],{},[54,98016,98017,1015,98019],{},[150,98018,629],{},[150,98020,98021],{},"partialSignature_S = publicNonce_S + e*publicExcess_S",[54,98023,98024,1015,98027],{},[150,98025,98026],{},"R",[150,98028,98029],{},"partialSignature_R = publicNonce_R + e*publicExcess_R",[54,98031,98032,98033],{},"Final signature is computed: ",[150,98034,98035],{},"signature = partialSignature_S + partialSignature_R",[11,98037,98038],{},"[[\u002Fimages\u002FSimpleTransactionFlow.png]]",[26,98040,98042],{"id":98041},"wallet-to-wallet-protocol","Wallet-To-Wallet protocol",[11,98044,98045],{},"The protocol itself consists of a single message and can be implemented in all the possible scenarios and transaction types. This message can be encapsulated and passed to other parties by different protocols, such as a direct message over a peer-to-peer connection, or an indirect message sent through the Secure Bulletin Board System (SBBS), and others.",[26,98047,98049],{"id":98048},"settxparameter","SetTxParameter",[89,98051,98052,98055,98065,98071,98077],{},[54,98053,98054],{},"Transfers a bundle of transaction parameters from one wallet to another. This message may initiate a new transaction.",[54,98056,98057,98060,98061,98064],{},[150,98058,98059],{},"WalletID m_From"," – The response address set by the wallet, used when sending messages over SBBS. ",[150,98062,98063],{},"WalletID"," is a packed 8 bytes of the SBBS channel and 32 bytes of the wallet’s public key.",[54,98066,98067,98070],{},[150,98068,98069],{},"TxID m_TxID"," – Unique 16-byte transaction identifier. Generated by the transaction initiator.",[54,98072,98073,98076],{},[150,98074,98075],{},"TxType m_Type"," – Transaction type (Simple, AtomicSwap etc.) This field is used to create a new transaction object when this message is the first in the line, or for verification purposes otherwise.",[54,98078,98079,98082,98083,98086,98087,98090],{},[150,98080,98081],{},"std::vector\u003Cstd::pair\u003CTxParameterID, ByteBuffer>> m_Parameters"," – Vector of transaction parameter pairs. Each parameter is a pair of IDs from the range ",[984,98084,98085],{},"0...255"," and the value represented as a raw bytes buffer. ID values are separated in two parts: private and public (IDs below ",[150,98088,98089],{},"PrivateFirstParam == 128"," are private). Public parameters come from outside and they are not allowed to be overridden. Private parameters do not have limitations.",[26,98092,98094],{"id":98093},"example-simple-transaction","Example: Simple transaction",[11,98096,98097],{},"A simple transaction is a payment from Wallet A to Wallet B, with a change UTXO and a fee.",[716,98099,98101],{"id":98100},"wallet-a-sends-an-invitation","Wallet A sends an invitation.",[866,98103,98107],{"className":98104,"code":98105,"language":98106,"meta":760,"style":760},"language-javascript shiki shiki-themes github-dark","SetTxParameter\n{\n    m_From: XXXXXX \u002F\u002F response address set by wallet A. \n    m_TxID: 651798 \u002F\u002Fnewly generated random identifier.\n    m_Type: TxType::Simple,\n    [\n        {TxParameterID::Amount, amount},\n        {TxParameterID::Fee, fee},\n        {TxParameterID::MinHeight, minHeight}, \n        {TxParameterID::MaxHeight, maxHeight}, \n        {TxParameterID::IsSender, false}, \u002F\u002F flag to distinguish the sender from the receiver \n        {TxParameterID::PeerProtoVersion, protocolVersion}, \u002F\u002F current version is 1\n        {TxParameterID::PeerPublicExcess, publicExcess}, \n        {TxParameterID::PeerPublicNonce, publicNonce}\n    ]\n}\n","javascript",[150,98108,98109,98114,98118,98131,98144,98157,98162,98167,98172,98177,98182,98190,98198,98203,98208,98212],{"__ignoreMap":760},[984,98110,98111],{"class":986,"line":987},[984,98112,98113],{"class":990},"SetTxParameter\n",[984,98115,98116],{"class":986,"line":761},[984,98117,991],{"class":990},[984,98119,98120,98123,98125,98128],{"class":986,"line":772},[984,98121,98122],{"class":5316},"    m_From",[984,98124,1015],{"class":990},[984,98126,98127],{"class":996},"XXXXXX",[984,98129,98130],{"class":1351}," \u002F\u002F response address set by wallet A. \n",[984,98132,98133,98136,98138,98141],{"class":986,"line":1024},[984,98134,98135],{"class":5316},"    m_TxID",[984,98137,1015],{"class":990},[984,98139,98140],{"class":996},"651798",[984,98142,98143],{"class":1351}," \u002F\u002Fnewly generated random identifier.\n",[984,98145,98146,98149,98151,98154],{"class":986,"line":1035},[984,98147,98148],{"class":5316},"    m_Type",[984,98150,1015],{"class":990},[984,98152,98153],{"class":5316},"TxType",[984,98155,98156],{"class":990},"::Simple,\n",[984,98158,98159],{"class":986,"line":1098},[984,98160,98161],{"class":990},"    [\n",[984,98163,98164],{"class":986,"line":1111},[984,98165,98166],{"class":990},"        {TxParameterID::Amount, amount},\n",[984,98168,98169],{"class":986,"line":1124},[984,98170,98171],{"class":990},"        {TxParameterID::Fee, fee},\n",[984,98173,98174],{"class":986,"line":1137},[984,98175,98176],{"class":990},"        {TxParameterID::MinHeight, minHeight}, \n",[984,98178,98179],{"class":986,"line":1150},[984,98180,98181],{"class":990},"        {TxParameterID::MaxHeight, maxHeight}, \n",[984,98183,98184,98187],{"class":986,"line":1163},[984,98185,98186],{"class":990},"        {TxParameterID::IsSender, false}, ",[984,98188,98189],{"class":1351},"\u002F\u002F flag to distinguish the sender from the receiver \n",[984,98191,98192,98195],{"class":986,"line":1176},[984,98193,98194],{"class":990},"        {TxParameterID::PeerProtoVersion, protocolVersion}, ",[984,98196,98197],{"class":1351},"\u002F\u002F current version is 1\n",[984,98199,98200],{"class":986,"line":1189},[984,98201,98202],{"class":990},"        {TxParameterID::PeerPublicExcess, publicExcess}, \n",[984,98204,98205],{"class":986,"line":1202},[984,98206,98207],{"class":990},"        {TxParameterID::PeerPublicNonce, publicNonce}\n",[984,98209,98210],{"class":986,"line":1211},[984,98211,1453],{"class":990},[984,98213,98214],{"class":986,"line":1217},[984,98215,1038],{"class":990},[89,98217,98218,98224,98230,98236,98242],{},[54,98219,98220,98223],{},[150,98221,98222],{},"minHeight"," - if the height of the blockchain is less than the specified value, the transaction will not be taken into account",[54,98225,98226,98229],{},[150,98227,98228],{},"maxHeight"," - if the height of the blockchain is greater than the specified then the node will reject the created transaction.",[54,98231,98232,98235],{},[150,98233,98234],{},"protocolVersion"," - version of wallet-to-wallet protocol",[54,98237,98238,98241],{},[150,98239,98240],{},"publicExcess"," - the public form of the sender’s excess calculated from blinding factors of inputs and change output.",[54,98243,98244,98247],{},[150,98245,98246],{},"publicNonce"," - sender generates a secret nonce, this is its public value.",[716,98249,98251],{"id":98250},"wallet-b-confirms-invitation","Wallet B confirms invitation.",[11,98253,98254],{},"Wallet B creates an output for the received amount and generates a nonce to sign the transaction.",[866,98256,98258],{"className":98104,"code":98257,"language":98106,"meta":760,"style":760},"SetTxParameter\n{\n    m_From: YYYYYY  \u002F\u002F response address set by wallet B.  \n    m_TxID: 651798, \u002F\u002F the ID set by the  sender.\n    m_Type: TxType::Simple,\n    [\n        {TxParameterID::PeerProtoVersion, protocolVersion}\n        {TxParameterID::PeerPublicExcess, peerPublicExcess},\n        {TxParameterID::PeerSignature, receiversPartialSignature},\n        {TxParameterID::PeerPublicNonce, publicNonce},\n        {TxParameterID::PeerOutputs, outputs},\n        {TxParameterID::PeerOffset, offset}\n    ]\n}\n",[150,98259,98260,98264,98268,98280,98293,98303,98307,98312,98317,98322,98327,98332,98337,98341],{"__ignoreMap":760},[984,98261,98262],{"class":986,"line":987},[984,98263,98113],{"class":990},[984,98265,98266],{"class":986,"line":761},[984,98267,991],{"class":990},[984,98269,98270,98272,98274,98277],{"class":986,"line":772},[984,98271,98122],{"class":5316},[984,98273,1015],{"class":990},[984,98275,98276],{"class":996},"YYYYYY",[984,98278,98279],{"class":1351},"  \u002F\u002F response address set by wallet B.  \n",[984,98281,98282,98284,98286,98288,98290],{"class":986,"line":1024},[984,98283,98135],{"class":5316},[984,98285,1015],{"class":990},[984,98287,98140],{"class":996},[984,98289,441],{"class":990},[984,98291,98292],{"class":1351},"\u002F\u002F the ID set by the  sender.\n",[984,98294,98295,98297,98299,98301],{"class":986,"line":1035},[984,98296,98148],{"class":5316},[984,98298,1015],{"class":990},[984,98300,98153],{"class":5316},[984,98302,98156],{"class":990},[984,98304,98305],{"class":986,"line":1098},[984,98306,98161],{"class":990},[984,98308,98309],{"class":986,"line":1111},[984,98310,98311],{"class":990},"        {TxParameterID::PeerProtoVersion, protocolVersion}\n",[984,98313,98314],{"class":986,"line":1124},[984,98315,98316],{"class":990},"        {TxParameterID::PeerPublicExcess, peerPublicExcess},\n",[984,98318,98319],{"class":986,"line":1137},[984,98320,98321],{"class":990},"        {TxParameterID::PeerSignature, receiversPartialSignature},\n",[984,98323,98324],{"class":986,"line":1150},[984,98325,98326],{"class":990},"        {TxParameterID::PeerPublicNonce, publicNonce},\n",[984,98328,98329],{"class":986,"line":1163},[984,98330,98331],{"class":990},"        {TxParameterID::PeerOutputs, outputs},\n",[984,98333,98334],{"class":986,"line":1176},[984,98335,98336],{"class":990},"        {TxParameterID::PeerOffset, offset}\n",[984,98338,98339],{"class":986,"line":1189},[984,98340,1453],{"class":990},[984,98342,98343],{"class":986,"line":1202},[984,98344,1038],{"class":990},[89,98346,98347,98351,98357,98363,98368,98373],{},[54,98348,98349,98235],{},[150,98350,98234],{},[54,98352,98353,98356],{},[150,98354,98355],{},"peerPublicExcess"," - receiver’s public excess, calculated from the output’s blinding factors.",[54,98358,98359,98362],{},[150,98360,98361],{},"receiversPartialSignature"," - receiver’s part of Schnorr multi-signature.",[54,98364,98365,98367],{},[150,98366,98246],{}," - the public form of a nonce for signature.",[54,98369,98370,98372],{},[150,98371,117],{}," - vector of outputs, created by the receiver.",[54,98374,98375,98377],{},[150,98376,85473],{}," - offset value, randomly taken part of outputs blinding factor.",[716,98379,98381],{"id":98380},"wallet-a-confirms-the-transaction","Wallet A confirms the transaction.",[11,98383,98384],{},"If the receiver’s signature is valid, sender calculates its part of the signature.\nNow Wallet A has all required data to create the transaction and broadcast it to a node.",[716,98386,98388],{"id":98387},"cancellation-or-error","Cancellation or error",[11,98390,98391],{},"If any of the participants wish to interrupt the process, they broadcast the following message:",[866,98393,98395],{"className":98104,"code":98394,"language":98106,"meta":760,"style":760},"SetTxParameter \n{\n    m_From: ZZZZZZ \u002F\u002F response address set by the wallet\n    m_TxID: 651798, \u002F\u002F the ID set by the sender.    m_Type: TxType::Simple,\n    [\n        {TxParameterID::FailureReason, reason}\n    ]\n}\n",[150,98396,98397,98402,98406,98418,98431,98435,98440,98444],{"__ignoreMap":760},[984,98398,98399],{"class":986,"line":987},[984,98400,98401],{"class":990},"SetTxParameter \n",[984,98403,98404],{"class":986,"line":761},[984,98405,991],{"class":990},[984,98407,98408,98410,98412,98415],{"class":986,"line":772},[984,98409,98122],{"class":5316},[984,98411,1015],{"class":990},[984,98413,98414],{"class":996},"ZZZZZZ",[984,98416,98417],{"class":1351}," \u002F\u002F response address set by the wallet\n",[984,98419,98420,98422,98424,98426,98428],{"class":986,"line":1024},[984,98421,98135],{"class":5316},[984,98423,1015],{"class":990},[984,98425,98140],{"class":996},[984,98427,441],{"class":990},[984,98429,98430],{"class":1351},"\u002F\u002F the ID set by the sender.    m_Type: TxType::Simple,\n",[984,98432,98433],{"class":986,"line":1035},[984,98434,98161],{"class":990},[984,98436,98437],{"class":986,"line":1098},[984,98438,98439],{"class":990},"        {TxParameterID::FailureReason, reason}\n",[984,98441,98442],{"class":986,"line":1111},[984,98443,1453],{"class":990},[984,98445,98446],{"class":986,"line":1124},[984,98447,1038],{"class":990},[89,98449,98450],{},[54,98451,98452,98455],{},[150,98453,98454],{},"reason"," - 32 bit code of failure reason",[11,98457,98458],{},"Note: Cancellation is possible only in specific moments of this flow. Receiver can cancel transaction only during invitation, i.e. after receiver has accepted invitation and sent his data to the sender, he has no guaranties that transactions will not be written into the blockchain. Sender can interrupt transaction only before he sent transaction to the node.",[2685,98460,98461],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":760,"searchDepth":761,"depth":761,"links":98463},[98464,98467,98468,98469],{"id":97829,"depth":761,"text":97830,"children":98465},[98466],{"id":97872,"depth":772,"text":97873},{"id":98041,"depth":761,"text":98042},{"id":98048,"depth":761,"text":98049},{"id":98093,"depth":761,"text":98094,"children":98470},[98471,98472,98473,98474],{"id":98100,"depth":772,"text":98101},{"id":98250,"depth":772,"text":98251},{"id":98380,"depth":772,"text":98381},{"id":98387,"depth":772,"text":98388},{},"\u002Fdocs\u002Fcore-tech\u002Ftransaction-creation-protocol",{"title":96283,"description":97826},"docs\u002Fcore-tech\u002FTransaction-creation-protocol","TTLAy4Se35DDR2rxTfVUo79XK7LZjykq-PCEIm42uLs",{"id":98481,"title":98482,"body":98483,"description":98487,"extension":775,"image":776,"meta":98675,"navTitle":776,"navigation":778,"path":98676,"seo":98677,"stem":98678,"__hash__":98679},"docs\u002Fdocs\u002Fcore-tech\u002FTransaction-graph-obfuscation.md","Transaction Graph Obfuscation",{"type":8,"value":98484,"toc":98665},[98485,98488,98501,98507,98511,98514,98521,98528,98532,98535,98542,98545,98548,98555,98558,98562,98565,98581,98584,98588,98591,98594,98598,98601,98604,98636,98640,98643,98646,98649,98652,98655,98659,98662],[11,98486,98487],{},"MW offers great anonymity out-of-the-box, because of the following:",[51,98489,98490,98492,98495],{},[54,98491,85113],{},[54,98493,98494],{},"Transaction values are blinded",[54,98496,98497,98498,385],{},"Transaction graph is ",[145,98499,98500],{},"obfuscated",[11,98502,98503,98504,385],{},"Now, it may sound surprising, but the (3) is actually a ",[94,98505,98506],{},"misconception",[716,98508,98510],{"id":98509},"what-why","What? Why?",[11,98512,98513],{},"As we know, original transactions are merged in a block non-interactively, so that the block is one big transaction, and there is no feasible way to recover the original transaction graph. All the UTXOs look just as arbitrary EC points, and every input can literally correspond to any output. And the bigger the block is - the higher is the obfuscation degree.",[11,98515,98516,98517,98520],{},"But let's think how the transactions make their way to the block. First they are prepared by the participants, and then they are ",[58,98518,98519],{},"broadcasted"," to the network. And the participants are interested to broadcast it to the entire network, to as many nodes as possible, to increase the probability of it being accepted in a block, and the block mined eventually.",[11,98522,98523,98524,98527],{},"If this is indeed the case, i.e. transactions are just broadcasted as-is to the entire network, then the attacker can easily see the original transaction graph with just a ",[145,98525,98526],{},"single"," malicious node, and the later obfuscation in the block doesn't matter anymore.",[716,98529,98531],{"id":98530},"so-what-no-addresses-so-why-bother","So what? No addresses, so why bother?",[11,98533,98534],{},"Is the transaction graph really important? It is. Moreover, in MW hiding the transaction graph seems to be way more important than hiding the user identities.",[11,98536,98537,98538,98541],{},"MW transaction is anonymous, but it reveals one important thing: there is clearly a ",[145,98539,98540],{},"relation"," between the users. So looking at the transaction graph attacker sees the \"relation\" graph. If arbitrary user gets revealed (for whatever reason) - he can disclose the related users, and the attacker knows for sure there is a relation.",[5542,98543,818],{"id":98544},"example",[11,98546,98547],{},"Suppose Bob has a store, and Alice is his rival, she wants to know Bob's supplier. So she pays Bob (buys something from him), then Bob pays his supplier Charlie, later Charlie pays Dan, Dan pays Erin. Alice sees all those transactions, but has no idea of user identities.",[11,98549,98550,98551,98554],{},"Eventually Erin gets revealed - buys something from Alice for instance. Alice kindly asks ",[984,98552,98553],{},"bribes \u002F threatens \u002F tortures"," Erin to tell her who did he get that UTXO from, this way Dan gets revealed. And so on. At every step Alice is certain there is a relation to the next user.",[11,98556,98557],{},"In contrast, if we assume that the user identity are not well concealed, but the transaction graph is obfuscated - then there is almost no problem. Attacker only gathers the information that a specific user performs a transaction, without any knowledge of the transaction amount, and who is that designated for.",[716,98559,98561],{"id":98560},"are-there-existing-solutions","Are there existing solutions?",[11,98563,98564],{},"Of course. There are known solutions: CoinShuffle, ValueShuffle, but they are not perfect.",[89,98566,98567,98570],{},[54,98568,98569],{},"This requires groups of unrelated people to cooperate",[54,98571,98572,98573],{},"Attacker may create many malicious users \"for free\", that would pretend to participate in CoinShuffle, but in practice can:\n",[89,98574,98575,98578],{},[54,98576,98577],{},"Learn the transaction graph. Would act as unrelated users, but actually belong to the attacker.",[54,98579,98580],{},"DoS attack: created invalid transactions (reference non-existing inputs, etc.)",[11,98582,98583],{},"Those techniques may be useful, but may cause hassles for the users: more preparation time, higher chance to spoil the transaction.\nThis means in turn that the majority of users may decide to skip this obfuscation, and broadcast the original transaction as-is, because \"they have nothing to hide\". This naturally would affect the privacy of other users (anonymity works best when obeyed by all the users).",[26,98585,98587],{"id":98586},"proposition-in-node-obfuscation","Proposition: In-Node obfuscation",[11,98589,98590],{},"Given the fact that MW transactions are merged non-interactively - Nodes can automatically obfuscate the original transaction graph up to some degree. It may not necessarily replace, but complement transparently the obfuscation done by the users.",[11,98592,98593],{},"This can easily be done in a modified Dandelion. Though originally developed to conceal the user identity, it can be adopted to obfuscate transaction graph during the stem phase, where the transactions get passed through several nodes, but before they are broadcasted to the entire network.",[716,98595,98597],{"id":98596},"non-interactive-merge","Non-interactive merge",[11,98599,98600],{},"That is, while in the stem phase, instead of immediately passing the transaction to a single peer, the Node may wait for some reasonable timeout to try to merge it with another one. So that the transaction grows like a snowball.",[11,98602,98603],{},"The following however should be taken into consideration",[89,98605,98606,98609,98617,98625],{},[54,98607,98608],{},"To be \"fair\" Node should only merge transactions with comparable fee\u002Fsize ratio. Otherwise this would reduce the motivation for users to increase the fee (if it'll be diffused anyway).",[54,98610,98611,98612],{},"In particular a Node can just  \"hijack\" the fee: append its transaction without any fee to another one.\n",[89,98613,98614],{},[54,98615,98616],{},"There's nothing can be done to prevent this, but users may see the unfair behavior a-posteriori, and ban that Node.",[54,98618,98619,98620],{},"Malicious Node can record the transactions that it passes in the stem phase, and then see the difference when they're broadcasted in the fluff phase.\n",[89,98621,98622],{},[54,98623,98624],{},"To minimize the amount of leaked info Nodes should merge only transactions of comparable size, instead of incrementally add small transactions.",[54,98626,98627,98628],{},"To prevent DoS attacks Nodes should ensure there are no conflicts. Means:\n",[89,98629,98630,98633],{},[54,98631,98632],{},"All the being-merged transactions are valid, and reference existing inputs",[54,98634,98635],{},"No double-spends or etc.",[716,98637,98639],{"id":98638},"dummy-utxos","Dummy UTXOs",[11,98641,98642],{},"Another possibility: any Node can easily \"enlarge\" a transaction by appending one or several dummy outputs to it. By \"dummy\" we mean an UTXO which encodes zero value, but looks just as good as the others.",[11,98644,98645],{},"For every such an appended dummy UTXO the Node sets a random timer (in terms of blocks num), after which it would append the same UTXO as an input in a random transaction later, which (probably) has no relation to the original one.",[11,98647,98648],{},"By this the Node creates a \"background activity\", which is mixed with and should be indistinguishable from the real activity.",[11,98650,98651],{},"The obvious disadvantage of this scheme is the creation of dummy UTXOs, waste of the block space, and network traffic + resources for validating it. But the good part is that it won't affect the scalability in the long-run, since kernels aren't created, and all the dummy UTXOs are spent eventually.",[11,98653,98654],{},"In practice it seems that a combination of both schemes should be used: merge real transactions whenever possible, or add dummies.",[716,98656,98658],{"id":98657},"how-much-should-the-transaction-graph-be-obfuscated","How much should the transaction graph be obfuscated",[11,98660,98661],{},"No exact numbers yet. But it seems that even a slight obfuscation has a dramatic positive effect on the anonymity. For instance, if we merge just 2 transactions at once, it already creates roughly 1\u002F2 uncertainty for the input-output relation. So that if an attacker reveals a user after 10 hops - there is only roughly a 10^-3 probability for the user relation.",[11,98663,98664],{},"Since the transaction being-passed doesn't have an indication is it original or not, the obfuscation criteria should be based on the visible transaction parameters. Which comes down to the number of inputs and outputs.",{"title":760,"searchDepth":761,"depth":761,"links":98666},[98667,98668,98669,98670],{"id":98509,"depth":772,"text":98510},{"id":98530,"depth":772,"text":98531},{"id":98560,"depth":772,"text":98561},{"id":98586,"depth":761,"text":98587,"children":98671},[98672,98673,98674],{"id":98596,"depth":772,"text":98597},{"id":98638,"depth":772,"text":98639},{"id":98657,"depth":772,"text":98658},{},"\u002Fdocs\u002Fcore-tech\u002Ftransaction-graph-obfuscation",{"description":98487},"docs\u002Fcore-tech\u002FTransaction-graph-obfuscation","EaBWuFeJa3wtZ-sCHOMdqTLNaiyQIgGEsLDIZINWHGE",{"id":98681,"title":98682,"body":98683,"description":98687,"extension":775,"image":776,"meta":98927,"navTitle":776,"navigation":778,"path":98928,"seo":98929,"stem":98930,"__hash__":98931},"docs\u002Fdocs\u002Fcore-tech\u002FTransaction-ordering-and-front-running-protection.md","Transaction Ordering And Front Running Protection",{"type":8,"value":98684,"toc":98923},[98685,98688,98696,98699,98707,98711,98714,98724,98732,98738,98819,98822,98855,98858,98862,98868,98907,98910,98921],[11,98686,98687],{},"The following is a design of a trading system, which aims to achieve 2 goals:",[51,98689,98690,98693],{},[54,98691,98692],{},"Front-running protection.",[54,98694,98695],{},"Provide faster confirmation time.",[11,98697,98698],{},"It consists of 2 parts that should be implemented:",[89,98700,98701,98704],{},[54,98702,98703],{},"Layer-1 (contract)",[54,98705,98706],{},"Layer-2 (node\u002Fminer, transaction creation)",[26,98708,98710],{"id":98709},"layer-1","Layer-1",[11,98712,98713],{},"The idea is to enforce strict transaction ordering. The transaction that relies on specific states of the contracts invoked, should only be included at the intended position. Should not be possible to include if other transaction that may have relevant effects is included in front of it.",[11,98715,98716,98717,98720,98721,98723],{},"This is achieved by a special synchronization contract, named ",[150,98718,98719],{},"Semaphore",", designed to be invoked by other contracts. Its state consists of a single hash value, which effectively denotes the current state of the trading system. When a contract that operates in such a synchronized manner is invoked - it in turn invokes the ",[150,98722,98719],{}," contract, which does the following:",[51,98725,98726,98729],{},[54,98727,98728],{},"Verifies that its current state is indeed what it should be.",[54,98730,98731],{},"Mutates its state w.r.t. the caller contract, and the details (parameters) of its invocation.",[11,98733,98734,98735,98737],{},"That is, a pseudo code of the ",[150,98736,98719],{}," looks like this:",[866,98739,98741],{"className":84003,"code":98740,"language":82951,"meta":760,"style":760},"OnSynchronize(Hash initialValue, int iMethod, Blob params)\n{\n    Hash currentValue = LoadState();\n    if (currentValue != initialValue)\n        Halt(); \u002F\u002F order violation!\n\n    HashCalculator calc;\n    calc\n        \u003C\u003C initialValue\n        \u003C\u003C get_CallerContractID()\n        \u003C\u003C iMethod\n        \u003C\u003C params;\n\n    calc >> currentValue;\n    SaveState(currentValue);\n}\n",[150,98742,98743,98748,98752,98757,98762,98767,98771,98776,98781,98786,98791,98796,98801,98805,98810,98815],{"__ignoreMap":760},[984,98744,98745],{"class":986,"line":987},[984,98746,98747],{},"OnSynchronize(Hash initialValue, int iMethod, Blob params)\n",[984,98749,98750],{"class":986,"line":761},[984,98751,991],{},[984,98753,98754],{"class":986,"line":772},[984,98755,98756],{},"    Hash currentValue = LoadState();\n",[984,98758,98759],{"class":986,"line":1024},[984,98760,98761],{},"    if (currentValue != initialValue)\n",[984,98763,98764],{"class":986,"line":1035},[984,98765,98766],{},"        Halt(); \u002F\u002F order violation!\n",[984,98768,98769],{"class":986,"line":1098},[984,98770,8376],{"emptyLinePlaceholder":778},[984,98772,98773],{"class":986,"line":1111},[984,98774,98775],{},"    HashCalculator calc;\n",[984,98777,98778],{"class":986,"line":1124},[984,98779,98780],{},"    calc\n",[984,98782,98783],{"class":986,"line":1137},[984,98784,98785],{},"        \u003C\u003C initialValue\n",[984,98787,98788],{"class":986,"line":1150},[984,98789,98790],{},"        \u003C\u003C get_CallerContractID()\n",[984,98792,98793],{"class":986,"line":1163},[984,98794,98795],{},"        \u003C\u003C iMethod\n",[984,98797,98798],{"class":986,"line":1176},[984,98799,98800],{},"        \u003C\u003C params;\n",[984,98802,98803],{"class":986,"line":1189},[984,98804,8376],{"emptyLinePlaceholder":778},[984,98806,98807],{"class":986,"line":1202},[984,98808,98809],{},"    calc >> currentValue;\n",[984,98811,98812],{"class":986,"line":1211},[984,98813,98814],{},"    SaveState(currentValue);\n",[984,98816,98817],{"class":986,"line":1217},[984,98818,1038],{},[11,98820,98821],{},"Then, any other contract that enforces ordering:",[866,98823,98825],{"className":84003,"code":98824,"language":82951,"meta":760,"style":760},"OnSomeMethod(Hash semaphoreState, Blob params)\n{\n      \u002F\u002F ... ensure correct access order\n      CallFar(semaphoreContractID, semaphoreState, methodID, params);\n      \u002F\u002F ... continue as usual\n}\n",[150,98826,98827,98832,98836,98841,98846,98851],{"__ignoreMap":760},[984,98828,98829],{"class":986,"line":987},[984,98830,98831],{},"OnSomeMethod(Hash semaphoreState, Blob params)\n",[984,98833,98834],{"class":986,"line":761},[984,98835,991],{},[984,98837,98838],{"class":986,"line":772},[984,98839,98840],{},"      \u002F\u002F ... ensure correct access order\n",[984,98842,98843],{"class":986,"line":1024},[984,98844,98845],{},"      CallFar(semaphoreContractID, semaphoreState, methodID, params);\n",[984,98847,98848],{"class":986,"line":1035},[984,98849,98850],{},"      \u002F\u002F ... continue as usual\n",[984,98852,98853],{"class":986,"line":1098},[984,98854,1038],{},[11,98856,98857],{},"By such strict transaction order is enforced, and any transaction, if accepted, yields exactly the results anticipated by the user.",[26,98859,98861],{"id":98860},"layer-2","Layer 2",[11,98863,98864,98865,98867],{},"The above solves the front-running problem, but if implemented alone means that only a single ",[150,98866,98719],{},"-dependent transaction can be mined in a block.\nThe next step is improving the management of the transaction pool. That is pending transactions, that are supposed to be mined at some point, but not mined yet. It consists of the following:",[89,98869,98870,98873,98881,98889],{},[54,98871,98872],{},"Node should report all the pending transactions in the pool (already implemented).",[54,98874,98875,98876],{},"Node should support the blockchain state querying (contract variables and etc.), which includes the side effects of the selected transactions.\n",[89,98877,98878],{},[54,98879,98880],{},"This is needed to create a transaction that is supposed to be included after a specific pending transaction.",[54,98882,98883,98884],{},"When transaction is broadcast, it may specify after which other transaction it should be included.\n",[89,98885,98886],{},[54,98887,98888],{},"Then its validation should be done on top of that other transaction respectively.",[54,98890,98891,98892],{},"For mining, more sophisticated transaction selection algorithm should be used\n",[89,98893,98894,98900],{},[54,98895,98896,98897,98899],{},"At the moment, transaction set is considered ",[58,98898,86295],{},", the node selects them according to their fee\u002Fresources ratio.",[54,98901,98902,98903,98906],{},"A more correct algorithm should organize transactions in a set of ",[58,98904,98905],{},"trees"," of dependent transactions.",[11,98908,98909],{},"Once implemented, this achieves the following:",[89,98911,98912,98915,98918],{},[54,98913,98914],{},"Many transactions may be included in the block, yet their order is guaranteed.",[54,98916,98917],{},"Public fee market. In case of order conflict, i.e. different users send transactions for the same order, they are encouraged to pay more fees to be selected.",[54,98919,98920],{},"Faster effective confirmation times. Although the average block time remains the same, the transactions are already visible in the pool. The more transactions (and their fees) are placed on top of a user transaction - the more likely it will be included in that order. Users may even send additional dependent transactions on top of their previous ones, before they are finally confirmed in a block.",[2685,98922,8735],{},{"title":760,"searchDepth":761,"depth":761,"links":98924},[98925,98926],{"id":98709,"depth":761,"text":98710},{"id":98860,"depth":761,"text":98861},{},"\u002Fdocs\u002Fcore-tech\u002Ftransaction-ordering-and-front-running-protection",{"description":98687},"docs\u002Fcore-tech\u002FTransaction-ordering-and-front-running-protection","SvKZUjhb9ubaLxb24tGCmaaQhQRnXebyLbn2VRQWRI4",{"id":98933,"title":98934,"body":98935,"description":98939,"extension":775,"image":776,"meta":98963,"navTitle":776,"navigation":778,"path":98964,"seo":98965,"stem":98966,"__hash__":98967},"docs\u002Fdocs\u002Fcore-tech\u002FTransactions-with-Beam-Wallet-CLI-over-TOR-network.md","Transactions With Beam Wallet CLI Over TOR Network",{"type":8,"value":98936,"toc":98961},[98937,98940,98943,98958],[11,98938,98939],{},"You can use the TOR network to hide your real IP during operation on the Beam CLI wallet.\nThis scenario is possible only for the CLI wallet connected to a remote node.\nThe TOR network will act as a proxy between a wallet and node.\nThis lets to anonymize the IP address of the BEAM Wallet machine for Node connected to.\nAt the moment this Tor support is implemented due to SOCKS5 proxy interface of Tor service.",[11,98941,98942],{},"Here are a few steps to set up an anonymous connection and hand on Beam:",[51,98944,98945,98948,98951],{},[54,98946,98947],{},"Install TOR service on your machine (Browser or dedicated TOR service). The easiest way is to use browser installation.",[54,98949,98950],{},"Run a TOR browser or service. When you run a browser, tor service is started automatically.",[54,98952,98953,98954],{},"Run BEAM Wallet CLI with \"--proxy = true\" and \"--proxy_addr ",[98955,98956,98957],"tor",{"service":760,"address":760},"\" arguments added. The wallet will work through the specified proxy server. Default TOR address (localhost: 9150) will be used in case when no \"--proxy_addr\" parameter specified.",[11,98959,98960],{},"Don't forget that Rescan command works only with its own node and will be impossible to use with TOR anonymization.",{"title":760,"searchDepth":761,"depth":761,"links":98962},[],{},"\u002Fdocs\u002Fcore-tech\u002Ftransactions-with-beam-wallet-cli-over-tor-network",{"description":98939},"docs\u002Fcore-tech\u002FTransactions-with-Beam-Wallet-CLI-over-TOR-network","K4BH_SIB4QR_NfN2jk0H8ALr1RSiKOQsFOPaIXEImrw",{"id":98969,"title":98970,"body":98971,"description":98975,"extension":775,"image":776,"meta":99540,"navTitle":776,"navigation":778,"path":99541,"seo":99542,"stem":99543,"__hash__":99544},"docs\u002Fdocs\u002Fcore-tech\u002FUTXO-set,-horizons-and-cut-through.md","UTXO Set, Horizons And Cut Through",{"type":8,"value":98972,"toc":99524},[98973,98976,98980,98987,98990,99004,99007,99019,99022,99036,99039,99042,99045,99048,99055,99068,99071,99074,99077,99085,99089,99092,99096,99103,99106,99133,99136,99152,99155,99203,99207,99214,99217,99220,99232,99236,99239,99301,99305,99308,99311,99317,99326,99332,99337,99343,99346,99350,99353,99400,99404,99414,99453,99457,99460,99483,99486,99508,99521],[11,98974,98975],{},"One of the MW benefits is the cut-through, i.e. ability to discard the spent TXOs, yet be able to prove the authenticity of the current state.",[43,98977,98979],{"id":98978},"horizons","Horizons",[11,98981,98982,98983,98986],{},"The term ",[58,98984,98985],{},"horizon"," in this context denotes a relative distance (in terms of blocks) from the current blockchain tip, subtracting it from the current blockchain height we get the appropriate height that corresponds to this horizon. The blocks and TXOs created\u002Fspent below this height are subject to a special processing.",[11,98988,98989],{},"In Beam there are 3 horizons defined:",[51,98991,98992,98998,99001],{},[54,98993,98994,98995,98997],{},"Max-rollback distance",[957,98996],{},"Fixed, part of the consensus parameters. For mainnet equals to 1440, which corresponds to 1 day for expected block creation rate.",[54,98999,99000],{},"Hi-Horizon",[54,99002,99003],{},"Lo-Horizon",[11,99005,99006],{},"The latter 2 horizons can be set to arbitrary values and differ in each node. The following criteria however must be satisfied:",[89,99008,99009],{},[54,99010,99011,99014,99015,99014,99017],{},[150,99012,99013],{},"Max-rollback-distance"," \u003C= ",[150,99016,99000],{},[150,99018,99003],{},[11,99020,99021],{},"or in terms of heights:",[89,99023,99024],{},[54,99025,99026,99029,99030,99029,99033],{},[150,99027,99028],{},"Max-rollback-Height"," >= ",[150,99031,99032],{},"Hi-Height",[150,99034,99035],{},"Lo-Height",[26,99037,98994],{"id":99038},"max-rollback-distance",[11,99040,99041],{},"This horizon, as its name suggests, defines the maximum number of the recent blocks accepted by the node as the current consensus branch, that can potentially be reverted in order to switch to a competing branch. Or, speaking simply, this is how deep the reorg can be.",[11,99043,99044],{},"So that recent blocks are volatile (subject to potential reorgs), but blocks below this height can be considered stable. This defines the minimum number of the recent blocks that each node is obliged to keep (or be able to re-create).",[26,99046,99000],{"id":99047},"hi-horizon",[11,99049,99050,99051,99054],{},"Defines how long the spent TXO must be ",[145,99052,99053],{},"fully"," kept in the node after it was spent.",[11,99056,99057,99058,99060,99061,99063,99064,99067],{},"For TXOs that are spent below the current ",[150,99059,99032],{}," (which is the current blockchain height minus ",[150,99062,99000],{},") the node will keep the TXO commitment, but not the signature (bulletproof). This is called ",[58,99065,99066],{},"Reduced TXO"," (a.k.a. naked, diluted, skeleton).",[11,99069,99070],{},"Since the UTXO signature takes most of its size (~95%), getting rid of it has a dramatic impact on the storage size and the amount of information that should be negotiated when such a reduced TXO sent.",[11,99072,99073],{},"Obviously reduced TXO can't be trusted to be a valid TXO object (well-formed, with unknown positive value restricted to 64 bits). However they play an important role in the synchronization process (as we'll see later), and as long as the UTXO set (i.e. unspent TXOs only) doesn't contain reduced TXOs - there is no problem.",[26,99075,99003],{"id":99076},"lo-horizon",[11,99078,99079,99080,99060,99082,99084],{},"Defines how long the reduced spent TXO must be kept in the node after it was spent. TXOs that are spent below the current ",[150,99081,99035],{},[150,99083,99003],{},") will be completely erased in the node, without any further trace of existence.",[43,99086,99088],{"id":99087},"synchronization","Synchronization",[11,99090,99091],{},"During standard synchronization process blocks are downloaded and verified one by one (as in most of the blockchains). However each node can decide to skip several intermediate steps, and \"jump\" to an arbitrary new height. The goal of the cut-through is to support such jumps with minimal amount of information transferred.",[26,99093,99095],{"id":99094},"sparse-blocks","Sparse blocks",[11,99097,99098,99099,99102],{},"In Beam this is achieved by using ",[58,99100,99101],{},"sparse blocks",", that contain only parts of the original blocks that are essential to achieve the requested final state. So that during synchronization the node still downloads individual blocks, but they are reduced to the minimum, their verification is delayed until they are all downloaded, and only the final state is fully verified.",[11,99104,99105],{},"When requesting the sparse block the following information must be specified:",[89,99107,99108,99115,99121],{},[54,99109,99110,99111,441,99113,2758],{},"Block identifier (",[150,99112,18396],{},[150,99114,83549],{},[54,99116,99117,99120],{},[150,99118,99119],{},"H0"," - Current height of the requesting node (i.e. start height of the jump)",[54,99122,99123,163,99125,99127,99128,99132],{},[150,99124,99035],{},[150,99126,99032],{}," that the node wants to achieve ",[145,99129,99130],{},[94,99131,3745],{}," the jump",[11,99134,99135],{},"The sparse block is generated on-the-fly by the target node. It includes all the original kernels (which are, obviously, not a subject to cut-through), as well as inputs and outputs after the following filtration:",[51,99137,99138,99146],{},[54,99139,99140,99141,99143,99144],{},"Remove all the inputs and outputs for TXOs that were created above ",[150,99142,99119],{}," and spent below or equal ",[150,99145,99035],{},[54,99147,99148,99149,99151],{},"Reduce outputs (i.e. remove the bulletproof) that are spent below or equal ",[150,99150,99032],{}," (unless already removed by (1))",[11,99153,99154],{},"This comes down to the following processing for every input and output",[89,99156,99157,99182],{},[54,99158,99159,99160],{},"Inputs\n",[89,99161,99162,99172,99179],{},[54,99163,99164,99165,99168,99169,99171],{},"if ",[150,99166,99167],{},"SpendHeight"," > ",[150,99170,99035],{}," then include",[54,99173,99164,99174,99014,99177,99171],{},[150,99175,99176],{},"CreateHeight",[150,99178,99119],{},[54,99180,99181],{},"if Otherwise - exclude (skip)",[54,99183,99184,99185],{},"Outputs\n",[89,99186,99187,99194,99201],{},[54,99188,99164,99189,99168,99191,99193],{},[150,99190,99167],{},[150,99192,99032],{}," then include full",[54,99195,99164,99196,99168,99198,99200],{},[150,99197,99167],{},[150,99199,99035],{}," then include reduced",[54,99202,99181],{},[26,99204,99206],{"id":99205},"pros-and-cons-of-this-scheme","Pros and Cons of this scheme",[11,99208,99209,99210,99213],{},"The main advantage of the described scheme is its ",[145,99211,99212],{},"versatility",". Unlike older scheme which supported cut-through only from the genesis, this scheme supports arbitrary height jumps.\nA typical use-case is a node\u002Fwallet that was offline for several days\u002Fweeks - will be able to download only the minimum info to perform the transition to the most recent state.",[11,99215,99216],{},"Another advantage is that in order to support this the source node doesn't need to \"work hard\", generate a lot of data on-the-fly or prepare in advance (consuming extra storage), which can be exploited by the attacker. With proper data structures generation of sparse blocks can be nearly as fast as retrieving the original blocks.",[11,99218,99219],{},"The price of this versatility is the need to keep the reduced TXOs for reasonably long duration. This is their role. As can be seen, in order to be able to create the sparse block, in particular include all the needed inputs, the target node must keep the information about spent TXOs: their commitment, create and spend heights.",[11,99221,99222,99223,99225,99226,99228,99229,99231],{},"So that the ",[150,99224,99003],{}," parameter affects the ability of the node to generate the cut-through data for other nodes. A \"selfish\" node may set ",[150,99227,99003],{}," equal to ",[150,99230,99000],{},", means it won't keep reduced TXOs at all. Such a node will only be able to provide cut-through info for others from the genesis. But, as, we said, the reduced TXOs are dramatically smaller than full TXOs, so that keeping them for reasonable duration (months) should not affect the storage size significantly.",[26,99233,99235],{"id":99234},"cut-through-verification","Cut-through verification",[11,99237,99238],{},"During the synchronization process for each received blocks there's a verification, that checks as much as possible for the moment, whereas the full verification is postponed until all the sparse blocks are downloaded.",[89,99240,99241,99265,99290],{},[54,99242,99243,99244],{},"For each block:\n",[89,99245,99246,99253,99256,99259,99262],{},[54,99247,99248,99249,99252],{},"Kernels are valid. ",[150,99250,99251],{},"Heightlock"," is in agreement with the block height, Schnorr's signature is valid.",[54,99254,99255],{},"Kernel commitment (MMR root of the kernels of this block) corresponds to the header. This is very important, means all the original transactions are included.",[54,99257,99258],{},"All inputs reference existing UTXOs in the current state (i.e. TXOs that are unspent yet).",[54,99260,99261],{},"All non-reduced outputs have valid bulletproofs.",[54,99263,99264],{},"All inputs and outputs are interpreted, and the UTXO set undergoes appropriate transformation.",[54,99266,99267,99268,99270,99271],{},"For each block above or equal ",[150,99269,99035],{}," (in addition to the mentioned):\n",[89,99272,99273,99287],{},[54,99274,99275,99276],{},"UTXO set commitment corresponds to the header.\n",[89,99277,99278,99284],{},[54,99279,99280,99281,99283],{},"This verification is possible only from ",[150,99282,99035],{}," and above, since below this height there may be some TXOs, info about which was totally omitted.",[54,99285,99286],{},"This verification is not essential to prove the validity of the final state, however it should harden DOS attacks, where the attacker may provide fake inputs and appropriate outputs in later blocks, making this node generate incorrect sparse blocks for others later.",[54,99288,99289],{},"Overall arithmetics. The sum of all outputs minus inputs corresponds to the overall blockchain subsidy for the specified height range.",[54,99291,99292,99293],{},"In addition, after verifying all individual blocks:\n",[89,99294,99295],{},[54,99296,99297,99300],{},[145,99298,99299],{},"No reduced UTXOs",". The current UTXO set (unspent TXOs) only contains well-formed TXOs with bulletproofs.",[26,99302,99304],{"id":99303},"possible-dos-attack-and-its-mitigation","Possible DoS attack and its mitigation",[11,99306,99307],{},"Unlike standard synchronization mode, whereas each block is downloaded and fully verified individually, during fast-sync not all such verifications are possible in the middle, hence DoS attacks are theoretically possible. The process however is designed to harden such attacks, while trying to minimize the amount of transferred info in any case.",[11,99309,99310],{},"Many thanks to David Burkett (@DavidBurkett), Grin dev, for discussing such attacks with us.",[716,99312,99314,99315],{"id":99313},"problem-with-lo-horizon","Problem with ",[150,99316,99003],{},[11,99318,99319,99320,99322,99323,99325],{},"As David Burkett pointed-out, the most problematic part of the described scheme is the use of ",[150,99321,99003],{},". The ever possibility of fully erasing an original TXO from the block means that this block can't be verified on its own, and the attacker can easily modify the in\u002Fouts. The node must download all the blocks up to ",[150,99324,99035],{},", and only then it's possible to check if this whole block range makes sense. And if it's not - there's no way to find-out which block was incorrect, and where it came from.",[11,99327,99328,99329,99331],{},"OTOH if ",[150,99330,99003],{}," is not used, means the Node will have to download all the original commitments, then such an attack becomes infeasible. The attacker can't manipulate the in\u002Fouts of the block, because the verifier checks the UTXO set commitment (compares to header) after interpreting every block. It's still possible to craft incorrect blocks (hence full validation at the end is unavoidable), but the attacker would need to craft the appropriate block headers, with valid PoW, which would compete against the honest community.",[716,99333,99314,99335],{"id":99334},"problem-with-hi-horizon",[150,99336,99000],{},[11,99338,99339,99340,99342],{},"Another possible attack - inclusion of reduced TXOs (i.e. without the bulletproof) in the block instead of the full ones. That is, making it look like a valid UTXO which would be spent in later blocks, whereas it would not be spent actually. The node can't detect a problem until all the blocks up to ",[150,99341,99032],{}," are downloaded. Only after all the blocks were downloaded, the node detects that its UTXO set contains reduced TXOs, which is illegal.",[11,99344,99345],{},"In such a case, however, the node can identify the problematic blocks, the malicious peers, and re-download only the problematic blocks.",[716,99347,99349],{"id":99348},"final-strategy-currently-used","Final strategy currently used",[11,99351,99352],{},"Minding all the above, the node operates in the following manner",[89,99354,99355,99383],{},[54,99356,99357,99358],{},"During the fast-sync process the node immediately interprets the downloaded blocks and verifies as much as it can to the moment\n",[89,99359,99360,99368],{},[54,99361,99362,99363],{},"Performance impact - verifying many blocks at-once is better than each block individually (related to bulletproof and Schnorr's signature batch verifications).\n",[89,99364,99365],{},[54,99366,99367],{},"This is compensated by the fact that node still performs a batch verification of many blocks if they all are downloaded from the same peer (then in case of an error they are all considered invalid).",[54,99369,99370,99372,99373,3149,99378],{},[94,99371,3767],{},": the node during the sync process makes transitions into intermediate states, which can't be fully verified. And since the process may take some time - the node can be \"caught\" in the ",[145,99374,99375],{},[58,99376,99377],{},"unreliable state",[89,99379,99380],{},[54,99381,99382],{},"Hence during the fast-sync the node doesn't report its tip, and doesn't support generating proofs (for UTXOs, kernels, previous state inclusion and etc.).",[54,99384,99385,99386,99388,99389],{},"On the first attempt the node tries to sync w.r.t. defined ",[150,99387,99003],{},". However if the sync attempt fails - the node would retry the sync without it.\n",[89,99390,99391,99394,99397],{},[54,99392,99393],{},"In the optimistic case the sync should succeed on the first attempt",[54,99395,99396],{},"If however it was spoiled by the attacker - it restarts in a more robust mode, at expense of potentially somewhat more data to be downloaded.",[54,99398,99399],{},"For such a case there's an option in the protocol to re-download the needed blocks without re-downloading kernels",[43,99401,99403],{"id":99402},"node-configuration-and-synchronization-logic","Node configuration and synchronization logic",[11,99405,99406,99407,99014,99409,99014,99411,99413],{},"As we said, the horizons may be set to arbitrary values (as long as ",[150,99408,99013],{},[150,99410,99000],{},[150,99412,99003],{},"). But practically we use only the following configurations:",[89,99415,99416,99433],{},[54,99417,99418,99419],{},"Archiving node\n",[89,99420,99421,99426,99430],{},[54,99422,99423,99425],{},[150,99424,99000],{}," is infinite",[54,99427,99428,99425],{},[150,99429,99003],{},[54,99431,99432],{},"Always performs a comprehensive synchronization, never deletes history, and can generate any sparse block on request.",[54,99434,99435,99436],{},"Standard node\n",[89,99437,99438,99445,99450],{},[54,99439,99440,12655,99442,99444],{},[150,99441,99000],{},[150,99443,99013],{}," = 1440",[54,99446,99447,99449],{},[150,99448,99003],{}," = 1440 * 180",[54,99451,99452],{},"Keeps the most recent history, plus a half-year backlog in terms of reduced TXOs (very modest size). Supports sparse blocks to other standard nodes, unless they were offline for more than half a year.",[26,99454,99456],{"id":99455},"cut-through-mode-activation","Cut-through mode activation",[11,99458,99459],{},"Cut-through mode is activated automatically when the following criterias are met:",[89,99461,99462,99465],{},[54,99463,99464],{},"Node is not already in the cut-through mode",[54,99466,99467,99468,99471,99472,99474,99475],{},"There is a ",[94,99469,99470],{},"proven"," state with height which is at least current node height + ",[150,99473,99000],{}," * 1.5\n",[89,99476,99477],{},[54,99478,99479,99482],{},[58,99480,99481],{},"Proven"," means all the headers starting from this one down to the genesis are already downloaded and verified",[11,99484,99485],{},"Once this happens - node enters the cut-through mode.",[89,99487,99488,99499],{},[54,99489,99490,99493,99494,557,99497],{},[150,99491,99492],{},"Target-Hi-Height"," is set to ",[150,99495,99496],{},"ProvenTip.Height",[150,99498,99000],{},[54,99500,99501,99493,99504,557,99506],{},[150,99502,99503],{},"Target-Lo-Height",[150,99505,99496],{},[150,99507,99003],{},[11,99509,99510,99511,99513,99514,99517,99518,99520],{},"Note that once selected the ",[150,99512,99503],{}," can ",[94,99515,99516],{},"not"," be changed till the end of the synchronization. The ",[150,99519,99492],{}," however can, and will be increased each time the node will see a higher proven tip.",[11,99522,99523],{},"Once all the sparse blocks are downloaded - they are verified (according to the scheme described above). If the verification passes - the node switches to the standard mode of operation. Otherwise all the downloaded sparse blocks are erased, and the process restarts.",{"title":760,"searchDepth":761,"depth":761,"links":99525},[99526,99527,99528,99529,99530,99531,99532,99539],{"id":99038,"depth":761,"text":98994},{"id":99047,"depth":761,"text":99000},{"id":99076,"depth":761,"text":99003},{"id":99094,"depth":761,"text":99095},{"id":99205,"depth":761,"text":99206},{"id":99234,"depth":761,"text":99235},{"id":99303,"depth":761,"text":99304,"children":99533},[99534,99536,99538],{"id":99313,"depth":772,"text":99535},"Problem with Lo-Horizon",{"id":99334,"depth":772,"text":99537},"Problem with Hi-Horizon",{"id":99348,"depth":772,"text":99349},{"id":99455,"depth":761,"text":99456},{},"\u002Fdocs\u002Fcore-tech\u002Futxo-set-horizons-and-cut-through",{"description":98975},"docs\u002Fcore-tech\u002FUTXO-set,-horizons-and-cut-through","zSAPUjnKj53oQM0IGow3En7RFW0jhCp1knzjEO_OzlM",{"id":99546,"title":99547,"body":99548,"description":99552,"extension":775,"image":776,"meta":99655,"navTitle":776,"navigation":778,"path":99656,"seo":99657,"stem":99658,"__hash__":99659},"docs\u002Fdocs\u002Fcore-tech\u002FUnblocking-subsequent-outgoing-transactions.md","Unblocking Subsequent Outgoing Transactions",{"type":8,"value":99549,"toc":99652},[99550,99553,99557,99560,99568,99572,99580,99584,99592,99596,99620,99624],[11,99551,99552],{},"Disclaimer: this is a draft proposal to be discussed, no particular implementation is planned yet.",[43,99554,99556],{"id":99555},"problem-description-explained-by-example","Problem description (explained by example)",[11,99558,99559],{},"It's simple: due to atomic UTXO implementation, in case you have 100 Beams in a single UTXO and you want to send 20 Beams to each of the 3 different wallets, the action cannot be completed simultaneously:",[89,99561,99562,99565],{},[54,99563,99564],{},"The 100 Beams UXTO will be locked being an input for the first transaction, with 20 Beams and 79 Beams as outputs (let's assume that Transaction Fee was 1 Beam for simplicity).",[54,99566,99567],{},"The 79 Beams UTXO will, in turn, be locked again, splitting into 20 Beams and 59 Beams etc",[26,99569,99571],{"id":99570},"why-its-not-cool","Why it's not cool",[89,99573,99574,99577],{},[54,99575,99576],{},"Each subsequent transaction needs to wait till the previous transactions will be completed, the waiting time can be as long as 12 hours when the peer doesn't come online",[54,99578,99579],{},"Currently, the wallet owner can't even create new transaction when UTXO is locked",[43,99581,99583],{"id":99582},"objective-what-user-wants","Objective (what user wants?)",[89,99585,99586,99589],{},[54,99587,99588],{},"Just being able to send any amount up to his maximum balance with the lowest delay time possible",[54,99590,99591],{},"Similar to other currencies, ordinary user doesn't necessarily needs to be immersed into UTXO complexity",[43,99593,99595],{"id":99594},"what-can-be-possibly-done-manually-by-the-user","What can be possibly done manually by the user",[89,99597,99598,99609],{},[54,99599,99600,99601],{},"Option 1: Let user to send to multiple peers in a single transaction. Drawbacks:\n",[89,99602,99603,99606],{},[54,99604,99605],{},"If one amount was wrong - the entire transaction needs to be restarted - the rest of the peers will wait",[54,99607,99608],{},"If one of the peers won't get online - the rest will wait again",[54,99610,99611,99612],{},"Option 2: Let the user to have a special kind of transaction to split the UTXO he has into UTXO with smaller predefined amounts. Drawbacks:\n",[89,99613,99614,99617],{},[54,99615,99616],{},"User needs to know about the amounts of his future sends upfront if amounts are predefined",[54,99618,99619],{},"The actual transactions will be delayed till the split transaction will succeed",[43,99621,99623],{"id":99622},"how-can-we-facilitate-user-needs-in-more-seamless-way","How can we facilitate user needs in more seamless way?",[89,99625,99626,99629,99632],{},[54,99627,99628],{},"Option 1: Have a special \"split change\" checkbox (set to \"on\" by default) for every outgoing transaction that will cause the change to arrive in multiple UTXO to ensure the user can always send the amounts as granular as 10% (configurable parameter, 10% can be a default value) of what the user sends on average. Drawback A: might cause to too much fragmentation of user UTXO, consolidation might be required. Drawback B: too many outputs will take larger space in the blockchain block, much higher transaction fee will be expected. Upside: the transactions are always unblocked, seamlessly.",[54,99630,99631],{},"Option 2: Collect statistics and run some automatic split in the background. Drawbacks and upsides as in the case above. Probably it's always good to have more than a single UTXO (say 50% at most of the current balance if not below 50 Beams).",[54,99633,99634,99635],{},"Option 3: allow deferred transactions. Assumption: transactions are triggered shortly one after the other (1 minute, configurable parameter). Drawbacks: first transaction might delay others. Upside: less UTXOs are created comparing to the options above, hence less transaction fee should be paid. Point to notice: when UTXO are also received, some of the outgoing transactions can be unblocked immediately. Explained by example:\n",[89,99636,99637,99640,99643,99646,99649],{},[54,99638,99639],{},"User has 100 Beams and wants to transfer 20, 20 and 20 Beams to different peers",[54,99641,99642],{},"User creates the outgoing transaction of 20 Beams. The transaction is not started during 1 minute (configurable parameter). Remark: the transaction could \"fire\" right away if the user had more than a single UTXO.",[54,99644,99645],{},"User creates another transaction of 20 Beams within 1 minute. The previous transaction is still delayed.",[54,99647,99648],{},"User creates yet another transaction of 20 Beams within 1 minute. The previous transactions are still delayed.",[54,99650,99651],{},"After 1 minute, the first transaction \"fires\" and the split will be created exactly for all the subsequent transactions.",{"title":760,"searchDepth":761,"depth":761,"links":99653},[99654],{"id":99570,"depth":761,"text":99571},{},"\u002Fdocs\u002Fcore-tech\u002Funblocking-subsequent-outgoing-transactions",{"description":99552},"docs\u002Fcore-tech\u002FUnblocking-subsequent-outgoing-transactions","RiCh2-HrHsBusAizBilOZgB4Qbhdcf1FjWu2R9-t6TY",{"id":99661,"title":99662,"body":99663,"description":99821,"extension":775,"image":776,"meta":99822,"navTitle":776,"navigation":778,"path":99823,"seo":99824,"stem":99825,"__hash__":99826},"docs\u002Fdocs\u002Fcore-tech\u002FUsing-BeamX-Faucet-contract-with-CLI-Wallet.md","Using BeamX Faucet Contract With CLI Wallet",{"type":8,"value":99664,"toc":99819},[99665,99673,99682,99685,99693,99698,99705,99712,99717,99722,99725,99728,99742,99745,99750,99753,99756,99759,99764,99767,99781,99784,99789,99792,99795,99800,99803,99808,99811,99816],[11,99666,99667,99668],{},"NOTE: If you have not installed BeamX please follow the instructions in the ",[18,99669,99672],{"href":99670,"rel":99671},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeamX-Getting-Started",[22],"Getting Started Guide",[11,99674,99675,99676,99681],{},"Make sure you have downloaded the latest version of the '",[18,99677,99680],{"href":99678,"rel":99679},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002FbeamX\u002Fbvm\u002FShaders\u002Ffaucet",[22],"faucet","' contract folder and put it under the 'shaders' folder as instructed. You need app.wasm to use the faucet and contract.wasm to deploy your own contract.",[11,99683,99684],{},"In this section we will use BeamX Faucet contract to get some coins on the BeamX chain.",[51,99686,99687,99690],{},[54,99688,99689],{},"Open the Command Prompt (on Windows), Shell (on Linux) or Terminal (on MacOS) and change directory to the location of your BeamX CLI wallet.",[54,99691,99692],{},"Run the following command (assmuing app.wasm is located in shaders\u002Ffaucet\u002Fapp.wasm)",[11,99694,99695],{},[150,99696,99697],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=view\"",[11,99699,99700,99701,99704],{},"NOTE: We assume that your wallet is initialized and your node is running on local machine at port 8501 and that faucet app.wasm is located in the shaders\u002Ffaucet folder. If your parameters are different please adjust them accordingly. Follow the ",[18,99702,99672],{"href":99670,"rel":99703},[22]," for more detailed instructions.",[11,99706,99707,99708,99711],{},"The result of this command will be the list of ",[58,99709,99710],{},"contract ids"," of shaders of type 'faucet' that are currently deployed on the network. The reason that there can be more than one such shader is because the same Application Shader (app.wasm) can interact with several different Contract Shaders (contract.wasm) of the same type.",[51,99713,99714],{"start":772},[54,99715,99716],{},"Now let's try to withdraw 3 beam coins from a specific faucet by running the following command",[11,99718,99719],{},[150,99720,99721],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=my_account,action=withdraw,cid=c327a42e9037d060b8158d635990a53ea4cde2e217ed70eb5faf93cac22e4771,amount=300000000\" -n 127.0.0.1:8501",[11,99723,99724],{},"You can replace the cid parameter with a different contract id that you have received as a result of step 2.",[11,99726,99727],{},"This operation can result in several different outcomes:",[51,99729,99730,99733,99736,99739],{},[54,99731,99732],{},"Each faucet has a limit on how many Beam coins you can withdraw each time within a give period. Both of these are 'constructor parameters' of the shader that are specified when it is  If you are under that limit for that period you should receive the Beams that you have requested.",[54,99734,99735],{},"If you are over the limit you will either receive nothing or a Magical Error 17, depending on the contract implementation.",[54,99737,99738],{},"You will also receive the Magical Error 17 if something else is wrong with the contract.",[54,99740,99741],{},"But how do I know what are the contract parameters?",[11,99743,99744],{},"For that we will run the following command:",[11,99746,99747],{},[150,99748,99749],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=manager,action=view_params,cid=c327a42e9037d060b8158d635990a53ea4cde2e217ed70eb5faf93cac22e4771\" -n 127.0.0.1:8501",[11,99751,99752],{},"As a result you will get something like this:",[11,99754,99755],{},"Shader output: \"\": {\"params\": {\"backlogPeriod\": 10,\"withdrawLimit\": 500000000}}",[11,99757,99758],{},"This means that from this faucet, you can extract up to 5 Beam every 10 blocks",[51,99760,99761],{"start":1035},[54,99762,99763],{},"But what if I want to create my own faucet?",[11,99765,99766],{},"No problem, however there are few things that you need to know:",[51,99768,99769,99778],{},[54,99770,99771,99772,99777],{},"Since faucet is not an 'ownable' contract (it will be explained later, but basically it means that it does not have an implicit owner) you can not create another faucet contract with the same parameters (see ",[18,99773,99776],{"href":99774,"rel":99775},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Smart-Contracts",[22],"BeamX Smart Contracts Guide"," for more details on that). Therefore you should just invent a couple of parameters of your own, which should not be difficult enough in this case.",[54,99779,99780],{},"Since you are deploying a new contract on BeamX blockchain, you need to make sure you have the appropriate contract.wasm file for it. We will assume that you have it in the same folder as the app.wasm",[11,99782,99783],{},"Now that these two things are out of the way, let's run the following command:",[11,99785,99786],{},[150,99787,99788],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Ffaucet\u002Fapp.wasm -n 127.0.0.1:8501 --shader_args=\"role=manager,action=create,backlogPeriod=13, withdrawLimit=520000000\" --shader_contract_file shaders\u002Ffaucet\u002Fcontract.wasm",[11,99790,99791],{},"Assuming no one before you deployed a faucet that allowed to get up to 5.2 Beams every 13 blocks, you deployment will be successful and you will get a new contract id in returned value.",[11,99793,99794],{},"No all that is left to do is to deposit some funds into your faucet and let people of the world know it exists (just give them the id)",[11,99796,99797],{},[150,99798,99799],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm --shader_args=\"role=my_account,action=deposit,cid=c327a42e9037d060b8158d635990a53ea4cde2e217ed70eb5faf93cac22e4771,amount=10000000000\" -n 127.0.0.1:8501",[11,99801,99802],{},"This command will deposit 100 Beams from your wallet, assuming you got them",[51,99804,99805],{"start":1098},[54,99806,99807],{},"Nice, how can I see all of the commands the Shader supports?",[11,99809,99810],{},"Good question. Just run the following command:",[11,99812,99813],{},[150,99814,99815],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\faucet\\app.wasm -n 127.0.0.1:8501",[11,99817,99818],{},"Basically, if you don't provide any shader parameters you will get a JSON describing all parameters and their values.",{"title":760,"searchDepth":761,"depth":761,"links":99820},[],"NOTE: If you have not installed BeamX please follow the instructions in the Getting Started Guide",{},"\u002Fdocs\u002Fcore-tech\u002Fusing-beamx-faucet-contract-with-cli-wallet",{"description":99821},"docs\u002Fcore-tech\u002FUsing-BeamX-Faucet-contract-with-CLI-Wallet","PdiiE6wiLQBGypgs4Rjcih9ASYPLNL2g3XCoaE2ft5Y",{"id":99828,"title":99829,"body":99830,"description":99834,"extension":775,"image":776,"meta":99889,"navTitle":776,"navigation":778,"path":99890,"seo":99891,"stem":99892,"__hash__":99893},"docs\u002Fdocs\u002Fcore-tech\u002FUsing-BeamX-Roulette-contract-with-CLI-Wallet.md","Using BeamX Roulette Contract With CLI Wallet",{"type":8,"value":99831,"toc":99887},[99832,99835,99838,99849,99852,99855,99858,99863,99866,99871,99874,99879,99882],[11,99833,99834],{},"Let's play some games!",[11,99836,99837],{},"In this example we will interact with the contract that",[11,99839,99840,99841,163,99845],{},"As usual we assume that you have read ",[18,99842,99844],{"href":99670,"rel":99843},[22],"BeamX Getting Started Guide",[18,99846,99848],{"href":81173,"rel":99847},[22],"Using BeamX Faucet contract with CLI Wallet",[11,99850,99851],{},"We also assume that you have the app.wasm and contract.was in the shaders\u002Froulette folder under the 'beamx' folder where you keep your wallet binary file.",[11,99853,99854],{},"If so, we are all set to spin our Roulette.",[11,99856,99857],{},"Well, it's a kind of roulette. In our case your bet is on any number between 0 and 36 (including both 0 and 36). If you guess the number exactly you receive 100 tokens (which are actually new confidential assets on Beam chain). This actually means that in order to create a new Roulette contract you would need to lock the new asset type deposit (which in this chain is configured to be 1000 Beam)",[51,99859,99860],{},[54,99861,99862],{},"How do I play?",[11,99864,99865],{},"Since Roulette contract has an implicit owner (who is the dealer) there could be many roulettes out there. To find all of them we will run the following command:",[11,99867,99868],{},[150,99869,99870],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\roulette\\app.wasm --shader_args=\"role=player,action=bet,cid=ac16be1cb673ace9423d32fe20893e1639fd560e35e6b3433c77bee831647372,iSector=15\" -n 127.0.0.1:8501",[11,99872,99873],{},"To check the status of your bet run",[11,99875,99876],{},[150,99877,99878],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\roulette\\app.wasm --shader_args=\"role=player,action=check,cid=ac16be1cb673ace9423d32fe20893e1639fd560e35e6b3433c77bee831647372\" -n 127.0.0.1:8501",[11,99880,99881],{},"To get your winning run:",[11,99883,99884],{},[150,99885,99886],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\\roulette\\app.wasm --shader_args=\"role=player,action=take,cid=ac16be1cb673ace9423d32fe20893e1639fd560e35e6b3433c77bee831647372\" -n 127.0.0.1:8501",{"title":760,"searchDepth":761,"depth":761,"links":99888},[],{},"\u002Fdocs\u002Fcore-tech\u002Fusing-beamx-roulette-contract-with-cli-wallet",{"description":99834},"docs\u002Fcore-tech\u002FUsing-BeamX-Roulette-contract-with-CLI-Wallet","UyWsxltWJafdR1zD1AXVItRkN678_vHGCpH4xrAJxrk",{"id":99895,"title":99896,"body":99897,"description":99989,"extension":775,"image":776,"meta":99990,"navTitle":776,"navigation":778,"path":99991,"seo":99992,"stem":99993,"__hash__":99994},"docs\u002Fdocs\u002Fcore-tech\u002FUsing-BeamX-Vault-contract-with-CLI-Wallet.md","Using BeamX Vault Contract With CLI Wallet",{"type":8,"value":99898,"toc":99980},[99899,99908,99911,99914,99917,99921,99926,99930,99935,99939,99944,99948,99953,99957,99962,99966,99971,99975],[11,99900,99901,99902,163,99905],{},"NOTE: If you haven't already, please review ",[18,99903,99844],{"href":99670,"rel":99904},[22],[18,99906,99848],{"href":81173,"rel":99907},[22],[11,99909,99910],{},"In this section we will learn how to use BeamX Vault example. It is very similar to the Faucet example, only there are no limitation on deposits and withdrawals. It's basically just a simple vault contract you can keep money in.",[11,99912,99913],{},"As usual we assume that you have the app.wasm and contract.was in the shaders\u002Fvault folder under the 'beamx' folder where you keep your wallet binary file.",[11,99915,99916],{},"If so, you can use the following list of commands:",[26,99918,99920],{"id":99919},"create-contract","Create contract:",[11,99922,99923],{},[150,99924,99925],{},"beam-wallet-beamx.exe shader --shader_manager_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=manager,action=create\" --shader_contract_file shaders\u002Fvault\u002Fcontract.wasm -n 127.0.0.1:8501",[26,99927,99929],{"id":99928},"list-all-contracts-of-this-type","List all contracts of this type",[11,99931,99932],{},[150,99933,99934],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=manager,action=view\" -n 127.0.0.1:8501",[26,99936,99938],{"id":99937},"list-all-shader-commands","List all shader commands",[11,99940,99941],{},[150,99942,99943],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm -n 127.0.0.1:8501",[26,99945,99947],{"id":99946},"view-my-account","View my account",[11,99949,99950],{},[150,99951,99952],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=my_account,action=view,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91\" -n 127.0.0.1:8501",[26,99954,99956],{"id":99955},"deposit-1-beam","Deposit 1 beam",[11,99958,99959],{},[150,99960,99961],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=my_account,action=deposit,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91,amount=100000000\" -n 127.0.0.1:8501",[26,99963,99965],{"id":99964},"withdraw","Withdraw",[11,99967,99968],{},[150,99969,99970],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=my_account,action=withdraw,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91,amount=100000000\" -n 127.0.0.1:8501",[26,99972,99974],{"id":99973},"view-all-accounts","View all accounts",[11,99976,99977],{},[150,99978,99979],{},"beam-wallet-beamx.exe shader --shader_app_file shaders\u002Fvault\u002Fapp.wasm --shader_args=\"role=all_accounts,action=view,cid=7965a18aefaf3050ccd404482eb919f6641daaf111c7c4a7787c2e932942aa91\" -n 127.0.0.1:8501",{"title":760,"searchDepth":761,"depth":761,"links":99981},[99982,99983,99984,99985,99986,99987,99988],{"id":99919,"depth":761,"text":99920},{"id":99928,"depth":761,"text":99929},{"id":99937,"depth":761,"text":99938},{"id":99946,"depth":761,"text":99947},{"id":99955,"depth":761,"text":99956},{"id":99964,"depth":761,"text":99965},{"id":99973,"depth":761,"text":99974},"NOTE: If you haven't already, please review BeamX Getting Started Guide and Using BeamX Faucet contract with CLI Wallet",{},"\u002Fdocs\u002Fcore-tech\u002Fusing-beamx-vault-contract-with-cli-wallet",{"description":99989},"docs\u002Fcore-tech\u002FUsing-BeamX-Vault-contract-with-CLI-Wallet","7v3CzY-tGug1OP11j_JLK77LxSxjLdEp9ZMcC3VbtH8",{"id":99996,"title":4400,"body":99997,"description":102863,"extension":775,"image":776,"meta":102864,"navTitle":776,"navigation":778,"path":102865,"seo":102866,"stem":102867,"__hash__":102868},"docs\u002Fdocs\u002Fcore-tech\u002FWASM-wallet-client.md",{"type":8,"value":99998,"toc":102739},[99999,100001,100013,100041,100043,100046,100442,100445,100448,100462,100464,100468,100475,100477,100518,100521,100535,100537,100541,100549,100552,100564,100567,100608,100611,100625,100631,100634,100643,100646,100658,100661,100675,100677,100680,100687,100690,100695,100697,100705,100708,100722,100724,100727,100734,100737,100744,100747,100765,100767,100770,100778,100781,100786,100789,100794,100797,100894,100897,100911,100913,100916,100935,100938,100942,100945,100954,100957,100994,100997,101011,101013,101016,101023,101026,101030,101033,101039,101042,101055,101057,101060,101067,101070,101079,101082,101088,101091,101109,101112,101115,101132,101135,101139,101142,101148,101151,101228,101231,101243,101246,101249,101267,101270,101275,101278,101291,101294,101337,101340,101352,101355,101358,101364,101367,101371,101374,101386,101389,101415,101418,101432,101434,101437,101443,101446,101470,101472,101475,101482,101485,101489,101492,101540,101543,101557,101559,101562,101566,101569,101579,101582,101596,101600,101603,101607,101610,101619,101622,101646,101650,101653,101660,101663,101667,101670,101678,101681,101734,101736,101758,101760,101763,101770,101773,101778,101781,101832,101834,101858,101860,101863,101870,101873,101877,101880,101903,101905,101908,101915,101918,101922,101925,101990,101993,102015,102017,102020,102027,102030,102034,102037,102120,102123,102145,102147,102150,102156,102159,102163,102166,102245,102248,102286,102288,102291,102308,102311,102442,102445,102489,102491,102494,102513,102516,102712,102715,102718,102721,102724,102727,102730,102733,102736],[43,100000,4400],{"id":4399},[11,100002,100003,100004,100008,100009,100012],{},"WASM wallet client is a thin wrapper around Beam client library build into WASM using Emscripten toolchain. This wrapper allows to run BEAM wallet inside any browser supporting WebAssembly and it provides the regular ",[18,100005,100007],{"href":100006},"Beam-wallet-protocol-API","BEAM wallet API"," to communicated with it from external(javascript) code. It's available via ",[150,100010,100011],{},"npm"," for different network types:",[89,100014,100015,100021,100027,100034],{},[54,100016,100017],{},[18,100018,84429],{"href":100019,"rel":100020},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client",[22],[54,100022,100023],{},[18,100024,84450],{"href":100025,"rel":100026},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client-testnet",[22],[54,100028,100029],{},[18,100030,100033],{"href":100031,"rel":100032},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client-dappnet",[22],"dappnet",[54,100035,100036],{},[18,100037,100040],{"href":100038,"rel":100039},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbeam-wasm-client-masternet",[22],"masternet (developer)",[43,100042,935],{"id":6387},[11,100044,100045],{},"WASM wallet client module exports following classes:",[89,100047,100048,100338,100379],{},[54,100049,100050,100054,100055],{},[18,100051,100053],{"href":100052},"#WasmWalletClient","WasmWalletClient"," - the main object provides a set of static and member methods to control the wallet. It could be used to implement BEAM wallet as a browser extension",[84826,100056,100057,100066],{},[84829,100058,100059],{},[84832,100060,100061,100064],{},[84835,100062,100063],{},"Method",[84835,100065,4407],{},[84842,100067,100068,100079,100090,100101,100112,100123,100138,100152,100163,100174,100185,100196,100207,100218,100229,100239,100250,100261,100272,100283,100294,100305,100316,100327],{},[84832,100069,100070,100076],{},[84847,100071,100072],{},[18,100073,100075],{"href":100074},"#Constructor","Constructor",[84847,100077,100078],{},"Creates new regular wallet object",[84832,100080,100081,100087],{},[84847,100082,100083],{},[18,100084,100086],{"href":100085},"#Headless-constructor","Headless constructor",[84847,100088,100089],{},"Creates new headless wallet object",[84832,100091,100092,100098],{},[84847,100093,100094],{},[18,100095,100097],{"href":100096},"#startWallet","startWallet",[84847,100099,100100],{},"Starts the wallet in the background thread",[84832,100102,100103,100109],{},[84847,100104,100105],{},[18,100106,100108],{"href":100107},"#stopWallet","stopWallet",[84847,100110,100111],{},"Asynchronously stops the wallet running in the background",[84832,100113,100114,100120],{},[84847,100115,100116],{},[18,100117,100119],{"href":100118},"#isRunning","isRunning",[84847,100121,100122],{},"Checks if the wallet is running",[84832,100124,100125,100131],{},[84847,100126,100127],{},[18,100128,100130],{"href":100129},"#isHeadless","isHeadless",[84847,100132,100133,100134,100137],{},"Checks if the wallet is ",[150,100135,100136],{},"headless",", i.e. without master and owner keys",[84832,100139,100140,100146],{},[84847,100141,100142],{},[18,100143,100145],{"href":100144},"#sendRequest","sendRequest",[84847,100147,100148,100149,100151],{},"Sends ",[18,100150,935],{"href":100006}," request to the wallet",[84832,100153,100154,100160],{},[84847,100155,100156],{},[18,100157,100159],{"href":100158},"#subscribe","subscribe",[84847,100161,100162],{},"Subscribes for API responses",[84832,100164,100165,100171],{},[84847,100166,100167],{},[18,100168,100170],{"href":100169},"#unsubscribe","unsubscribe",[84847,100172,100173],{},"Unsubscribes from response notifications",[84832,100175,100176,100182],{},[84847,100177,100178],{},[18,100179,100181],{"href":100180},"#setSyncHandler","setSyncHandler",[84847,100183,100184],{},"Sets synchronization handler, allows to track sync progress",[84832,100186,100187,100193],{},[84847,100188,100189],{},[18,100190,100192],{"href":100191},"#setApproveSendHandler","setApproveSendHandler",[84847,100194,100195],{},"Sets handler which allows to approve or reject any send operation initiated by DAPPs",[84832,100197,100198,100204],{},[84847,100199,100200],{},[18,100201,100203],{"href":100202},"#setApproveContractInfoHandler","setApproveContractInfoHandler",[84847,100205,100206],{},"Sets handler which allows to approve or reject any operation which requires user's attention from application shader",[84832,100208,100209,100215],{},[84847,100210,100211],{},[18,100212,100214],{"href":100213},"#createAppAPI","createAppAPI",[84847,100216,100217],{},"Asynchronously creates new application wallet API for given application",[84832,100219,100220,100226],{},[84847,100221,100222],{},[18,100223,100225],{"href":100224},"#importRecovery","importRecovery",[84847,100227,100228],{},"Asynchronously imports recovery data",[84832,100230,100231,100236],{},[84847,100232,100233],{},[18,100234,9277],{"href":100235},"#GeneratePhrase",[84847,100237,100238],{},"Generates new seed phrase",[84832,100240,100241,100247],{},[84847,100242,100243],{},[18,100244,100246],{"href":100245},"#IsAllowedWord","IsAllowedWord",[84847,100248,100249],{},"Checks if given word is in the dictionary of the words allowed to be used in seed phrases",[84832,100251,100252,100258],{},[84847,100253,100254],{},[18,100255,100257],{"href":100256},"#IsValidPhrase","IsValidPhrase",[84847,100259,100260],{},"Validates given seed phrase",[84832,100262,100263,100269],{},[84847,100264,100265],{},[18,100266,100268],{"href":100267},"#ConvertTokenToJson","ConvertTokenToJson",[84847,100270,100271],{},"Converts given BEAM address to json",[84832,100273,100274,100280],{},[84847,100275,100276],{},[18,100277,100279],{"href":100278},"#ConvertJsonToToken","ConvertJsonToToken",[84847,100281,100282],{},"Packs transaction parameters presented as JSON object into BEAM address",[84832,100284,100285,100291],{},[84847,100286,100287],{},[18,100288,100290],{"href":100289},"#MountFS","MountFS",[84847,100292,100293],{},"Asynchronously mounts WASM filesystem to the roor of IndexDB",[84832,100295,100296,100302],{},[84847,100297,100298],{},[18,100299,100301],{"href":100300},"#CreateWallet","CreateWallet",[84847,100303,100304],{},"Creates new wallet database",[84832,100306,100307,100313],{},[84847,100308,100309],{},[18,100310,100312],{"href":100311},"#DeleteWallet","DeleteWallet",[84847,100314,100315],{},"Deletes given wallet database from IndexDB",[84832,100317,100318,100324],{},[84847,100319,100320],{},[18,100321,100323],{"href":100322},"#IsInitialized","IsInitialized",[84847,100325,100326],{},"Ensures that database was created",[84832,100328,100329,100335],{},[84847,100330,100331],{},[18,100332,100334],{"href":100333},"#CheckPassword","CheckPassword",[84847,100336,100337],{},"Tests if given password fits to the database",[54,100339,100340,100344,100345],{},[18,100341,100343],{"href":100342},"#AppAPI","AppAPI"," - a proxy API object, it gives limited wallet API for external web applications, which want to work with BEAM wallet",[84826,100346,100347,100355],{},[84829,100348,100349],{},[84832,100350,100351,100353],{},[84835,100352,100063],{},[84835,100354,4407],{},[84842,100356,100357,100368],{},[84832,100358,100359,100365],{},[84847,100360,100361],{},[18,100362,100364],{"href":100363},"#callWalletApi","callWalletApi",[84847,100366,100367],{},"Allows to call wallet API methods from application",[84832,100369,100370,100376],{},[84847,100371,100372],{},[18,100373,100375],{"href":100374},"#setHandler","setHandler",[84847,100377,100378],{},"Sets handler to receive response for API request",[54,100380,100381,100385,100386],{},[18,100382,100384],{"href":100383},"#AppAPICallback","AppAPICallback"," - a callback object for applications, it allows the wallet to control the action which application want to perform.",[84826,100387,100388,100396],{},[84829,100389,100390],{},[84832,100391,100392,100394],{},[84835,100393,100063],{},[84835,100395,4407],{},[84842,100397,100398,100409,100420,100431],{},[84832,100399,100400,100406],{},[84847,100401,100402],{},[18,100403,100405],{"href":100404},"#sendApproved","sendApproved",[84847,100407,100408],{},"Approves send request from application",[84832,100410,100411,100417],{},[84847,100412,100413],{},[18,100414,100416],{"href":100415},"#sendRejected","sendRejected",[84847,100418,100419],{},"Rejects send request from application",[84832,100421,100422,100428],{},[84847,100423,100424],{},[18,100425,100427],{"href":100426},"#contractInfoApproved","contractInfoApproved",[84847,100429,100430],{},"Approves contract call",[84832,100432,100433,100439],{},[84847,100434,100435],{},[18,100436,100438],{"href":100437},"#contractInfoRejected","contractInfoRejected",[84847,100440,100441],{},"Rejects contract call",[43,100443,100053],{"id":100444},"wasmwalletclient",[26,100446,9277],{"id":100447},"generatephrase",[866,100449,100451],{"className":98104,"code":100450,"language":98106,"meta":760,"style":760},"WasmWalletClient.GeneratePhrase()\n",[150,100452,100453],{"__ignoreMap":760},[984,100454,100455,100458,100460],{"class":986,"line":987},[984,100456,100457],{"class":990},"WasmWalletClient.",[984,100459,9277],{"class":5316},[984,100461,9280],{"class":990},[11,100463,100238],{},[716,100465,100467],{"id":100466},"return-value","Return value",[89,100469,100470],{},[54,100471,100472,100473],{},"seed phrase, a string of 12 words from the dictionary separated separated by ",[150,100474,2679],{},[716,100476,818],{"id":98544},[866,100478,100480],{"className":98104,"code":100479,"language":98106,"meta":760,"style":760}," var phrase = Module.WasmWalletClient.GeneratePhrase()\n console.log('seed phrase is: ', phrase);\n \u002F\u002F OUTPUT: seed phrase is:  legend hurdle erode ribbon pass exit basket doll sorry version muscle brain\n",[150,100481,100482,100499,100513],{"__ignoreMap":760},[984,100483,100484,100487,100490,100492,100495,100497],{"class":986,"line":987},[984,100485,100486],{"class":5291}," var",[984,100488,100489],{"class":990}," phrase ",[984,100491,5298],{"class":5291},[984,100493,100494],{"class":990}," Module.WasmWalletClient.",[984,100496,9277],{"class":5316},[984,100498,9280],{"class":990},[984,100500,100501,100503,100505,100507,100510],{"class":986,"line":761},[984,100502,8892],{"class":990},[984,100504,8895],{"class":5316},[984,100506,8898],{"class":990},[984,100508,100509],{"class":1003},"'seed phrase is: '",[984,100511,100512],{"class":990},", phrase);\n",[984,100514,100515],{"class":986,"line":772},[984,100516,100517],{"class":1351}," \u002F\u002F OUTPUT: seed phrase is:  legend hurdle erode ribbon pass exit basket doll sorry version muscle brain\n",[26,100519,100246],{"id":100520},"isallowedword",[866,100522,100524],{"className":98104,"code":100523,"language":98106,"meta":760,"style":760},"WasmWalletClient.IsAllowedWord(word : String)\n",[150,100525,100526],{"__ignoreMap":760},[984,100527,100528,100530,100532],{"class":986,"line":987},[984,100529,100457],{"class":990},[984,100531,100246],{"class":5316},[984,100533,100534],{"class":990},"(word : String)\n",[11,100536,100249],{},[716,100538,100540],{"id":100539},"parameters","Parameters",[89,100542,100543],{},[54,100544,100545,100548],{},[150,100546,100547],{},"word"," : the word to be checked",[716,100550,100467],{"id":100551},"return-value-1",[89,100553,100554],{},[54,100555,100556,100558,100559,100561,100562],{},[150,100557,2682],{}," if ",[150,100560,100547],{}," is in the dictionary otherwise ",[150,100563,5089],{},[716,100565,818],{"id":100566},"example-1",[866,100568,100570],{"className":98104,"code":100569,"language":98106,"meta":760,"style":760},"  if (Module.WasmWalletClient.IsAllowedWord('hurdle')) {\n      console.log(\"Word is allowed\");\n  }\n",[150,100571,100572,100590,100604],{"__ignoreMap":760},[984,100573,100574,100577,100580,100582,100584,100587],{"class":986,"line":987},[984,100575,100576],{"class":5291},"  if",[984,100578,100579],{"class":990}," (Module.WasmWalletClient.",[984,100581,100246],{"class":5316},[984,100583,8898],{"class":990},[984,100585,100586],{"class":1003},"'hurdle'",[984,100588,100589],{"class":990},")) {\n",[984,100591,100592,100595,100597,100599,100602],{"class":986,"line":761},[984,100593,100594],{"class":990},"      console.",[984,100596,8895],{"class":5316},[984,100598,8898],{"class":990},[984,100600,100601],{"class":1003},"\"Word is allowed\"",[984,100603,11444],{"class":990},[984,100605,100606],{"class":986,"line":772},[984,100607,1459],{"class":990},[26,100609,100257],{"id":100610},"isvalidphrase",[866,100612,100614],{"className":98104,"code":100613,"language":98106,"meta":760,"style":760},"WasmWalletClient.IsValidPhrase(phrase : String)\n",[150,100615,100616],{"__ignoreMap":760},[984,100617,100618,100620,100622],{"class":986,"line":987},[984,100619,100457],{"class":990},[984,100621,100257],{"class":5316},[984,100623,100624],{"class":990},"(phrase : String)\n",[11,100626,100627,100628],{},"Validates given seed ",[150,100629,100630],{},"phrase",[716,100632,100540],{"id":100633},"parameters-1",[89,100635,100636],{},[54,100637,100638,100640,100641],{},[150,100639,100630],{}," : a string of the words separated by ",[150,100642,2679],{},[716,100644,100467],{"id":100645},"return-value-2",[89,100647,100648],{},[54,100649,100650,100652,100653,100655,100656],{},[150,100651,2682],{}," if seed ",[150,100654,100630],{}," is valid otherwise ",[150,100657,5089],{},[26,100659,100268],{"id":100660},"converttokentojson",[866,100662,100664],{"className":98104,"code":100663,"language":98106,"meta":760,"style":760},"WasmWalletClient.ConvertTokenToJson(token : String)\n",[150,100665,100666],{"__ignoreMap":760},[984,100667,100668,100670,100672],{"class":986,"line":987},[984,100669,100457],{"class":990},[984,100671,100268],{"class":5316},[984,100673,100674],{"class":990},"(token : String)\n",[11,100676,100271],{},[716,100678,100540],{"id":100679},"parameters-2",[89,100681,100682],{},[54,100683,100684,100686],{},[150,100685,15899],{}," : address to to unpack data",[716,100688,100467],{"id":100689},"return-value-3",[89,100691,100692],{},[54,100693,100694],{},"json object with address parameters unpacked from given string",[716,100696,94510],{"id":94509},[89,100698,100699],{},[54,100700,100701,100702,100704],{},"in beam address(token) is binary packed set the key-value parameters presented as ",[150,100703,5776],{}," string",[26,100706,100279],{"id":100707},"convertjsontotoken",[866,100709,100711],{"className":98104,"code":100710,"language":98106,"meta":760,"style":760},"WasmWalletClient.ConvertJsonToToken(json : String)\n",[150,100712,100713],{"__ignoreMap":760},[984,100714,100715,100717,100719],{"class":986,"line":987},[984,100716,100457],{"class":990},[984,100718,100279],{"class":5316},[984,100720,100721],{"class":990},"(json : String)\n",[11,100723,100282],{},[716,100725,100540],{"id":100726},"parameters-3",[89,100728,100729],{},[54,100730,100731,100733],{},[150,100732,980],{}," : parameters of the transaction",[716,100735,100467],{"id":100736},"return-value-4",[89,100738,100739],{},[54,100740,100741,100743],{},[150,100742,5776],{}," encoded string of packed parameters",[26,100745,100290],{"id":100746},"mountfs",[866,100748,100750],{"className":98104,"code":100749,"language":98106,"meta":760,"style":760},"WasmWalletClient.MountFS(callback : function)\n",[150,100751,100752],{"__ignoreMap":760},[984,100753,100754,100756,100758,100761,100763],{"class":986,"line":987},[984,100755,100457],{"class":990},[984,100757,100290],{"class":5316},[984,100759,100760],{"class":990},"(callback : ",[984,100762,11490],{"class":5291},[984,100764,9026],{"class":990},[11,100766,100293],{},[716,100768,100540],{"id":100769},"parameters-4",[89,100771,100772],{},[54,100773,100774,100777],{},[150,100775,100776],{},"callback"," : mounting completion handler, if an error occurred, it will be provided as a parameter to this function.",[716,100779,100467],{"id":100780},"return-value-5",[89,100782,100783],{},[54,100784,100785],{},"none",[716,100787,94510],{"id":100788},"notes-1",[89,100790,100791],{},[54,100792,100793],{},"This method should be called before any action which implies work with filesystem",[716,100795,818],{"id":100796},"example-2",[866,100798,100800],{"className":98104,"code":100799,"language":98106,"meta":760,"style":760}," Module.WasmWalletClient.MountFS(function(error) {\n   if (error != null) {\n     console.log(\"mounted\");\n     var walletClient = new Module.WasmWalletClient(\"\u002Fbeam_wallet\u002Fwallet.db\",\n                                                  \"123\",\n                                                  \"eu-node01.masternet.beam.mw:8200\");\n   }\n }\n",[150,100801,100802,100818,100833,100847,100870,100877,100884,100889],{"__ignoreMap":760},[984,100803,100804,100806,100808,100810,100812,100814,100816],{"class":986,"line":987},[984,100805,100494],{"class":990},[984,100807,100290],{"class":5316},[984,100809,8898],{"class":990},[984,100811,11490],{"class":5291},[984,100813,8898],{"class":990},[984,100815,9770],{"class":9176},[984,100817,11633],{"class":990},[984,100819,100820,100823,100826,100828,100831],{"class":986,"line":761},[984,100821,100822],{"class":5291},"   if",[984,100824,100825],{"class":990}," (error ",[984,100827,11678],{"class":5291},[984,100829,100830],{"class":996}," null",[984,100832,11633],{"class":990},[984,100834,100835,100838,100840,100842,100845],{"class":986,"line":772},[984,100836,100837],{"class":990},"     console.",[984,100839,8895],{"class":5316},[984,100841,8898],{"class":990},[984,100843,100844],{"class":1003},"\"mounted\"",[984,100846,11444],{"class":990},[984,100848,100849,100852,100855,100857,100859,100861,100863,100865,100868],{"class":986,"line":1024},[984,100850,100851],{"class":5291},"     var",[984,100853,100854],{"class":990}," walletClient ",[984,100856,5298],{"class":5291},[984,100858,9043],{"class":5291},[984,100860,9322],{"class":990},[984,100862,100053],{"class":5316},[984,100864,8898],{"class":990},[984,100866,100867],{"class":1003},"\"\u002Fbeam_wallet\u002Fwallet.db\"",[984,100869,1021],{"class":990},[984,100871,100872,100875],{"class":986,"line":1035},[984,100873,100874],{"class":1003},"                                                  \"123\"",[984,100876,1021],{"class":990},[984,100878,100879,100882],{"class":986,"line":1098},[984,100880,100881],{"class":1003},"                                                  \"eu-node01.masternet.beam.mw:8200\"",[984,100883,11444],{"class":990},[984,100885,100886],{"class":986,"line":1111},[984,100887,100888],{"class":990},"   }\n",[984,100890,100891],{"class":986,"line":1124},[984,100892,100893],{"class":990}," }\n",[26,100895,100301],{"id":100896},"createwallet",[866,100898,100900],{"className":98104,"code":100899,"language":98106,"meta":760,"style":760},"WasmWalletClient.CreateWallet(seedPhrase : String, database : String, password : String)\n",[150,100901,100902],{"__ignoreMap":760},[984,100903,100904,100906,100908],{"class":986,"line":987},[984,100905,100457],{"class":990},[984,100907,100301],{"class":5316},[984,100909,100910],{"class":990},"(seedPhrase : String, database : String, password : String)\n",[11,100912,100304],{},[716,100914,100540],{"id":100915},"parameters-5",[89,100917,100918,100924,100929],{},[54,100919,100920,100923],{},[150,100921,100922],{},"seedPhrase",": seed pharse for the wallet",[54,100925,100926,100928],{},[150,100927,95588],{}," : path to the database in IndexedDB",[54,100930,100931,100934],{},[150,100932,100933],{},"password"," : password to the new wallet database",[716,100936,100467],{"id":100937},"return-value-6",[89,100939,100940],{},[54,100941,100785],{},[716,100943,94510],{"id":100944},"notes-2",[89,100946,100947],{},[54,100948,100949,100950,100953],{},"Ensure that ",[150,100951,100952],{},"MountFS()"," has been called before",[716,100955,818],{"id":100956},"example-3",[866,100958,100960],{"className":98104,"code":100959,"language":98106,"meta":760,"style":760}," let phrase = Module.WasmWalletClient.GeneratePhrase();\n Module.WasmWalletClient.CreateWallet(phrase, \"\u002Fbeam_wallet\u002Fwallet.db\", \"123\");\n",[150,100961,100962,100977],{"__ignoreMap":760},[984,100963,100964,100967,100969,100971,100973,100975],{"class":986,"line":987},[984,100965,100966],{"class":5291}," let",[984,100968,100489],{"class":990},[984,100970,5298],{"class":5291},[984,100972,100494],{"class":990},[984,100974,9277],{"class":5316},[984,100976,11468],{"class":990},[984,100978,100979,100981,100983,100986,100988,100990,100992],{"class":986,"line":761},[984,100980,100494],{"class":990},[984,100982,100301],{"class":5316},[984,100984,100985],{"class":990},"(phrase, ",[984,100987,100867],{"class":1003},[984,100989,441],{"class":990},[984,100991,1299],{"class":1003},[984,100993,11444],{"class":990},[26,100995,100312],{"id":100996},"deletewallet",[866,100998,101000],{"className":98104,"code":100999,"language":98106,"meta":760,"style":760},"WasmWalletClient.DeleteWallet(database : String)\n",[150,101001,101002],{"__ignoreMap":760},[984,101003,101004,101006,101008],{"class":986,"line":987},[984,101005,100457],{"class":990},[984,101007,100312],{"class":5316},[984,101009,101010],{"class":990},"(database : String)\n",[11,101012,100315],{},[716,101014,100540],{"id":101015},"parameters-6",[89,101017,101018],{},[54,101019,101020,101022],{},[150,101021,95588],{}," : path to the database file",[716,101024,100467],{"id":101025},"return-value-7",[89,101027,101028],{},[54,101029,100785],{},[716,101031,94510],{"id":101032},"notes-3",[89,101034,101035],{},[54,101036,100949,101037,100953],{},[150,101038,100952],{},[26,101040,100323],{"id":101041},"isinitialized",[866,101043,101045],{"className":98104,"code":101044,"language":98106,"meta":760,"style":760},"WasmWalletClient.IsInitialized(database : String)\n",[150,101046,101047],{"__ignoreMap":760},[984,101048,101049,101051,101053],{"class":986,"line":987},[984,101050,100457],{"class":990},[984,101052,100323],{"class":5316},[984,101054,101010],{"class":990},[11,101056,100326],{},[716,101058,100540],{"id":101059},"parameters-7",[89,101061,101062],{},[54,101063,101064,101066],{},[150,101065,95588],{}," : the path to the database",[716,101068,100467],{"id":101069},"return-value-8",[89,101071,101072],{},[54,101073,101074,101076,101077],{},[150,101075,2682],{}," if database is created and initialized, otherwise ",[150,101078,5089],{},[716,101080,94510],{"id":101081},"notes-4",[89,101083,101084],{},[54,101085,100949,101086,100953],{},[150,101087,100952],{},[26,101089,100334],{"id":101090},"checkpassword",[866,101092,101094],{"className":98104,"code":101093,"language":98106,"meta":760,"style":760},"WasmWalletClient.CheckPassword(database : String, password : String, callback : function)\n",[150,101095,101096],{"__ignoreMap":760},[984,101097,101098,101100,101102,101105,101107],{"class":986,"line":987},[984,101099,100457],{"class":990},[984,101101,100334],{"class":5316},[984,101103,101104],{"class":990},"(database : String, password : String, callback : ",[984,101106,11490],{"class":5291},[984,101108,9026],{"class":990},[11,101110,101111],{},"Tests asynchronously if given password fits to the database",[716,101113,100540],{"id":101114},"parameters-8",[89,101116,101117,101122,101127],{},[54,101118,101119,101121],{},[150,101120,95588],{}," : path to the database",[54,101123,101124,101126],{},[150,101125,100933],{}," : password to test",[54,101128,101129,101131],{},[150,101130,100776],{}," : asynchronously returns the result of the test",[716,101133,100467],{"id":101134},"return-value-9",[89,101136,101137],{},[54,101138,100785],{},[716,101140,94510],{"id":101141},"notes-5",[89,101143,101144],{},[54,101145,100949,101146,100953],{},[150,101147,100952],{},[716,101149,818],{"id":101150},"example-4",[866,101152,101154],{"className":98104,"code":101153,"language":98106,"meta":760,"style":760},"  Module.WasmWalletClient.CheckPassword(\"\u002Fbeam_wallet\u002Fwallet.db\", \"13\", (res) => {\n  if (res)\n    console.log(\"Password is correct\")\n  else\n    console.log(\"Password is not correct\")\n  })\n",[150,101155,101156,101185,101192,101205,101210,101223],{"__ignoreMap":760},[984,101157,101158,101161,101163,101165,101167,101169,101172,101175,101178,101180,101182],{"class":986,"line":987},[984,101159,101160],{"class":990},"  Module.WasmWalletClient.",[984,101162,100334],{"class":5316},[984,101164,8898],{"class":990},[984,101166,100867],{"class":1003},[984,101168,441],{"class":990},[984,101170,101171],{"class":1003},"\"13\"",[984,101173,101174],{"class":990},", (",[984,101176,101177],{"class":9176},"res",[984,101179,11675],{"class":990},[984,101181,8889],{"class":5291},[984,101183,101184],{"class":990}," {\n",[984,101186,101187,101189],{"class":986,"line":761},[984,101188,100576],{"class":5291},[984,101190,101191],{"class":990}," (res)\n",[984,101193,101194,101196,101198,101200,101203],{"class":986,"line":772},[984,101195,11498],{"class":990},[984,101197,8895],{"class":5316},[984,101199,8898],{"class":990},[984,101201,101202],{"class":1003},"\"Password is correct\"",[984,101204,9026],{"class":990},[984,101206,101207],{"class":986,"line":1024},[984,101208,101209],{"class":5291},"  else\n",[984,101211,101212,101214,101216,101218,101221],{"class":986,"line":1035},[984,101213,11498],{"class":990},[984,101215,8895],{"class":5316},[984,101217,8898],{"class":990},[984,101219,101220],{"class":1003},"\"Password is not correct\"",[984,101222,9026],{"class":990},[984,101224,101225],{"class":986,"line":1098},[984,101226,101227],{"class":990},"  })\n",[26,101229,100075],{"id":101230},"constructor",[866,101232,101234],{"className":98104,"code":101233,"language":98106,"meta":760,"style":760},"WasmWalletClient(database : String, password : String, nodeURL : String)\n",[150,101235,101236],{"__ignoreMap":760},[984,101237,101238,101240],{"class":986,"line":987},[984,101239,100053],{"class":5316},[984,101241,101242],{"class":990},"(database : String, password : String, nodeURL : String)\n",[11,101244,101245],{},"Creates new wallet client object",[716,101247,100540],{"id":101248},"parameters-9",[89,101250,101251,101256,101261],{},[54,101252,101253,101255],{},[150,101254,95588],{}," : path to encrypted database in browser's IndexDB",[54,101257,101258,101260],{},[150,101259,100933],{}," : password to the database",[54,101262,101263,101266],{},[150,101264,101265],{},"nodeURL"," : URL to BEAM node to communicate with",[716,101268,100467],{"id":101269},"return-value-10",[89,101271,101272],{},[54,101273,101274],{},"object of the wallet client",[716,101276,94510],{"id":101277},"notes-6",[89,101279,101280,101286],{},[54,101281,101282,101283,101285],{},"wallet client can communicate with node over Web Sockets only, ensure that node located by ",[150,101284,101265],{}," has WebSocket proxy enabled",[54,101287,101288,101289,100953],{},"ensure that ",[150,101290,100952],{},[716,101292,818],{"id":101293},"example-5",[866,101295,101297],{"className":98104,"code":101296,"language":98106,"meta":760,"style":760}," var walletClient = new Module.WasmWalletClient(\"\u002Fbeam_wallet\u002Fwallet.db\",\n                                                \"123\",\n\n                                                \"eu-node01.masternet.beam.mw:8200\");\n",[150,101298,101299,101319,101326,101330],{"__ignoreMap":760},[984,101300,101301,101303,101305,101307,101309,101311,101313,101315,101317],{"class":986,"line":987},[984,101302,100486],{"class":5291},[984,101304,100854],{"class":990},[984,101306,5298],{"class":5291},[984,101308,9043],{"class":5291},[984,101310,9322],{"class":990},[984,101312,100053],{"class":5316},[984,101314,8898],{"class":990},[984,101316,100867],{"class":1003},[984,101318,1021],{"class":990},[984,101320,101321,101324],{"class":986,"line":761},[984,101322,101323],{"class":1003},"                                                \"123\"",[984,101325,1021],{"class":990},[984,101327,101328],{"class":986,"line":772},[984,101329,8376],{"emptyLinePlaceholder":778},[984,101331,101332,101335],{"class":986,"line":1024},[984,101333,101334],{"class":1003},"                                                \"eu-node01.masternet.beam.mw:8200\"",[984,101336,11444],{"class":990},[26,101338,100086],{"id":101339},"headless-constructor",[866,101341,101343],{"className":98104,"code":101342,"language":98106,"meta":760,"style":760},"WasmWalletClient(nodeURL : String)\n",[150,101344,101345],{"__ignoreMap":760},[984,101346,101347,101349],{"class":986,"line":987},[984,101348,100053],{"class":5316},[984,101350,101351],{"class":990},"(nodeURL : String)\n",[11,101353,101354],{},"Creates new headless wallet client object. It doesn't have a master key. The wallet with such a database can communicate with the node, but cannot make transactions or detect any UTXO event. It can generate public keys, but they all are temporary and provided only for the reason to have viewer access to dapps",[716,101356,100540],{"id":101357},"parameters-10",[89,101359,101360],{},[54,101361,101362,101266],{},[150,101363,101265],{},[716,101365,100467],{"id":101366},"return-value-11",[89,101368,101369],{},[54,101370,101274],{},[716,101372,94510],{"id":101373},"notes-7",[89,101375,101376,101380],{},[54,101377,101282,101378,101285],{},[150,101379,101265],{},[54,101381,101382,101383,101385],{},"headless wallet doesn't require ",[150,101384,100952],{}," to be called before",[716,101387,818],{"id":101388},"example-6",[866,101390,101392],{"className":98104,"code":101391,"language":98106,"meta":760,"style":760}," var walletClient = new Module.WasmWalletClient(\"eu-node01.masternet.beam.mw:8200\");\n",[150,101393,101394],{"__ignoreMap":760},[984,101395,101396,101398,101400,101402,101404,101406,101408,101410,101413],{"class":986,"line":987},[984,101397,100486],{"class":5291},[984,101399,100854],{"class":990},[984,101401,5298],{"class":5291},[984,101403,9043],{"class":5291},[984,101405,9322],{"class":990},[984,101407,100053],{"class":5316},[984,101409,8898],{"class":990},[984,101411,101412],{"class":1003},"\"eu-node01.masternet.beam.mw:8200\"",[984,101414,11444],{"class":990},[26,101416,100097],{"id":101417},"startwallet",[866,101419,101421],{"className":98104,"code":101420,"language":98106,"meta":760,"style":760},"function startWallet()\n",[150,101422,101423],{"__ignoreMap":760},[984,101424,101425,101427,101430],{"class":986,"line":987},[984,101426,11490],{"class":5291},[984,101428,101429],{"class":5316}," startWallet",[984,101431,9280],{"class":990},[11,101433,100100],{},[716,101435,94510],{"id":101436},"notes-8",[89,101438,101439],{},[54,101440,101282,101441,101285],{},[150,101442,101265],{},[26,101444,100108],{"id":101445},"stopwallet",[866,101447,101449],{"className":98104,"code":101448,"language":98106,"meta":760,"style":760},"function stopWallet(callback : function)\n",[150,101450,101451],{"__ignoreMap":760},[984,101452,101453,101455,101458,101460,101462,101465,101468],{"class":986,"line":987},[984,101454,11490],{"class":5291},[984,101456,101457],{"class":5316}," stopWallet",[984,101459,8898],{"class":990},[984,101461,100776],{"class":9176},[984,101463,101464],{"class":5291}," :",[984,101466,101467],{"class":5316}," function",[984,101469,9026],{"class":990},[11,101471,100111],{},[716,101473,100540],{"id":101474},"parameters-11",[89,101476,101477],{},[54,101478,101479,101481],{},[150,101480,100776],{}," : calls when wallet has stopped. In this callback it is safe to delete the wallet database",[716,101483,100467],{"id":101484},"return-value-12",[89,101486,101487],{},[54,101488,100785],{},[716,101490,818],{"id":101491},"example-7",[866,101493,101495],{"className":98104,"code":101494,"language":98106,"meta":760,"style":760},"  wc.stopWallet(()=> {\n    console.log(\"is running: \" + wc.isRunning()) \u002F\u002F false\n  }\n",[150,101496,101497,101511,101536],{"__ignoreMap":760},[984,101498,101499,101502,101504,101507,101509],{"class":986,"line":987},[984,101500,101501],{"class":990},"  wc.",[984,101503,100108],{"class":5316},[984,101505,101506],{"class":990},"(()",[984,101508,8889],{"class":5291},[984,101510,101184],{"class":990},[984,101512,101513,101515,101517,101519,101522,101525,101528,101530,101533],{"class":986,"line":761},[984,101514,11498],{"class":990},[984,101516,8895],{"class":5316},[984,101518,8898],{"class":990},[984,101520,101521],{"class":1003},"\"is running: \"",[984,101523,101524],{"class":5291}," +",[984,101526,101527],{"class":990}," wc.",[984,101529,100119],{"class":5316},[984,101531,101532],{"class":990},"()) ",[984,101534,101535],{"class":1351},"\u002F\u002F false\n",[984,101537,101538],{"class":986,"line":772},[984,101539,1459],{"class":990},[26,101541,100119],{"id":101542},"isrunning",[866,101544,101546],{"className":98104,"code":101545,"language":98106,"meta":760,"style":760},"function isRunning()\n",[150,101547,101548],{"__ignoreMap":760},[984,101549,101550,101552,101555],{"class":986,"line":987},[984,101551,11490],{"class":5291},[984,101553,101554],{"class":5316}," isRunning",[984,101556,9280],{"class":990},[11,101558,100122],{},[716,101560,100540],{"id":101561},"parameters-12",[89,101563,101564],{},[54,101565,100785],{},[716,101567,100467],{"id":101568},"return-value-13",[89,101570,101571],{},[54,101572,101573,101575,101576,101578],{},[150,101574,2682],{}," if the wallet is running, ",[150,101577,5089],{}," otherwise",[26,101580,100130],{"id":101581},"isheadless",[866,101583,101585],{"className":98104,"code":101584,"language":98106,"meta":760,"style":760},"function isHeadless()\n",[150,101586,101587],{"__ignoreMap":760},[984,101588,101589,101591,101594],{"class":986,"line":987},[984,101590,11490],{"class":5291},[984,101592,101593],{"class":5316}," isHeadless",[984,101595,9280],{"class":990},[11,101597,100133,101598,100137],{},[150,101599,100136],{},[716,101601,100540],{"id":101602},"parameters-13",[89,101604,101605],{},[54,101606,100785],{},[716,101608,100467],{"id":101609},"return-value-14",[89,101611,101612],{},[54,101613,101614,101616,101617,101578],{},[150,101615,2682],{}," if the wallet is headless, ",[150,101618,5089],{},[26,101620,100145],{"id":101621},"sendrequest",[866,101623,101625],{"className":98104,"code":101624,"language":98106,"meta":760,"style":760},"function sendRequest(jsonRequest : String)\n",[150,101626,101627],{"__ignoreMap":760},[984,101628,101629,101631,101634,101636,101639,101641,101644],{"class":986,"line":987},[984,101630,11490],{"class":5291},[984,101632,101633],{"class":5316}," sendRequest",[984,101635,8898],{"class":990},[984,101637,101638],{"class":9176},"jsonRequest",[984,101640,101464],{"class":5291},[984,101642,101643],{"class":5316}," String",[984,101645,9026],{"class":990},[11,101647,100148,101648,100151],{},[18,101649,935],{"href":100006},[716,101651,100540],{"id":101652},"parameters-14",[89,101654,101655],{},[54,101656,101657,101659],{},[150,101658,101638],{}," : API request",[716,101661,100467],{"id":101662},"return-value-15",[89,101664,101665],{},[54,101666,100785],{},[716,101668,94510],{"id":101669},"notes-9",[89,101671,101672],{},[54,101673,101674,101675,101677],{},"to get response you have to ",[18,101676,100159],{"href":100158}," before",[716,101679,818],{"id":101680},"example-8",[866,101682,101684],{"className":98104,"code":101683,"language":98106,"meta":760,"style":760}," walletClient.sendRequest(JSON.stringify({\n     jsonrpc: '2.0',\n     id: 5,\n     method: 'wallet_status'\n }));\n",[150,101685,101686,101703,101712,101721,101729],{"__ignoreMap":760},[984,101687,101688,101691,101693,101695,101697,101699,101701],{"class":986,"line":987},[984,101689,101690],{"class":990}," walletClient.",[984,101692,100145],{"class":5316},[984,101694,8898],{"class":990},[984,101696,9889],{"class":996},[984,101698,385],{"class":990},[984,101700,9894],{"class":5316},[984,101702,9897],{"class":990},[984,101704,101705,101708,101710],{"class":986,"line":761},[984,101706,101707],{"class":990},"     jsonrpc: ",[984,101709,9392],{"class":1003},[984,101711,1021],{"class":990},[984,101713,101714,101717,101719],{"class":986,"line":772},[984,101715,101716],{"class":990},"     id: ",[984,101718,8099],{"class":996},[984,101720,1021],{"class":990},[984,101722,101723,101726],{"class":986,"line":1024},[984,101724,101725],{"class":990},"     method: ",[984,101727,101728],{"class":1003},"'wallet_status'\n",[984,101730,101731],{"class":986,"line":1035},[984,101732,101733],{"class":990}," }));\n",[26,101735,100159],{"id":100159},[866,101737,101739],{"className":98104,"code":101738,"language":98106,"meta":760,"style":760},"function subscribe(callback : function)\n",[150,101740,101741],{"__ignoreMap":760},[984,101742,101743,101745,101748,101750,101752,101754,101756],{"class":986,"line":987},[984,101744,11490],{"class":5291},[984,101746,101747],{"class":5316}," subscribe",[984,101749,8898],{"class":990},[984,101751,100776],{"class":9176},[984,101753,101464],{"class":5291},[984,101755,101467],{"class":5316},[984,101757,9026],{"class":990},[11,101759,100162],{},[716,101761,100540],{"id":101762},"parameters-15",[89,101764,101765],{},[54,101766,101767,101769],{},[150,101768,100776],{}," : function which is called when response arrived",[716,101771,100467],{"id":101772},"return-value-16",[89,101774,101775],{},[54,101776,101777],{},"index of the subscription",[716,101779,818],{"id":101780},"example-9",[866,101782,101784],{"className":98104,"code":101783,"language":98106,"meta":760,"style":760},"  var i = walletClient.subscribe((r)=> {\n      console.log(\"response: \" + r)\n  });\n",[150,101785,101786,101811,101827],{"__ignoreMap":760},[984,101787,101788,101791,101794,101796,101798,101800,101803,101805,101807,101809],{"class":986,"line":987},[984,101789,101790],{"class":5291},"  var",[984,101792,101793],{"class":990}," i ",[984,101795,5298],{"class":5291},[984,101797,101690],{"class":990},[984,101799,100159],{"class":5316},[984,101801,101802],{"class":990},"((",[984,101804,88977],{"class":9176},[984,101806,2758],{"class":990},[984,101808,8889],{"class":5291},[984,101810,101184],{"class":990},[984,101812,101813,101815,101817,101819,101822,101824],{"class":986,"line":761},[984,101814,100594],{"class":990},[984,101816,8895],{"class":5316},[984,101818,8898],{"class":990},[984,101820,101821],{"class":1003},"\"response: \"",[984,101823,101524],{"class":5291},[984,101825,101826],{"class":990}," r)\n",[984,101828,101829],{"class":986,"line":772},[984,101830,101831],{"class":990},"  });\n",[26,101833,100170],{"id":100170},[866,101835,101837],{"className":98104,"code":101836,"language":98106,"meta":760,"style":760},"function unsubscribe(index : Number)\n",[150,101838,101839],{"__ignoreMap":760},[984,101840,101841,101843,101846,101848,101851,101853,101856],{"class":986,"line":987},[984,101842,11490],{"class":5291},[984,101844,101845],{"class":5316}," unsubscribe",[984,101847,8898],{"class":990},[984,101849,101850],{"class":9176},"index",[984,101852,101464],{"class":5291},[984,101854,101855],{"class":5316}," Number",[984,101857,9026],{"class":990},[11,101859,100173],{},[716,101861,100540],{"id":101862},"parameters-16",[89,101864,101865],{},[54,101866,101867,101869],{},[150,101868,101850],{}," : index of the subscription",[716,101871,100467],{"id":101872},"return-value-17",[89,101874,101875],{},[54,101876,100785],{},[26,101878,100181],{"id":101879},"setsynchandler",[866,101881,101883],{"className":98104,"code":101882,"language":98106,"meta":760,"style":760},"function setSyncHandler(handler : function)\n",[150,101884,101885],{"__ignoreMap":760},[984,101886,101887,101889,101892,101894,101897,101899,101901],{"class":986,"line":987},[984,101888,11490],{"class":5291},[984,101890,101891],{"class":5316}," setSyncHandler",[984,101893,8898],{"class":990},[984,101895,101896],{"class":9176},"handler",[984,101898,101464],{"class":5291},[984,101900,101467],{"class":5316},[984,101902,9026],{"class":990},[11,101904,100184],{},[716,101906,100540],{"id":101907},"parameters-17",[89,101909,101910],{},[54,101911,101912,101914],{},[150,101913,101896],{}," : called each time wallet notifies about sync progress",[716,101916,100467],{"id":101917},"return-value-18",[89,101919,101920],{},[54,101921,100785],{},[716,101923,818],{"id":101924},"example-10",[866,101926,101928],{"className":98104,"code":101927,"language":98106,"meta":760,"style":760}," walletClient.setSyncHandler((done, total) => {\n    console.log(\"sync [\" + done + \"\u002F\" + total + \"]\");\n });\n",[150,101929,101930,101952,101985],{"__ignoreMap":760},[984,101931,101932,101934,101936,101938,101941,101943,101946,101948,101950],{"class":986,"line":987},[984,101933,101690],{"class":990},[984,101935,100181],{"class":5316},[984,101937,101802],{"class":990},[984,101939,101940],{"class":9176},"done",[984,101942,441],{"class":990},[984,101944,101945],{"class":9176},"total",[984,101947,11675],{"class":990},[984,101949,8889],{"class":5291},[984,101951,101184],{"class":990},[984,101953,101954,101956,101958,101960,101963,101965,101968,101970,101973,101975,101978,101980,101983],{"class":986,"line":761},[984,101955,11498],{"class":990},[984,101957,8895],{"class":5316},[984,101959,8898],{"class":990},[984,101961,101962],{"class":1003},"\"sync [\"",[984,101964,101524],{"class":5291},[984,101966,101967],{"class":990}," done ",[984,101969,11571],{"class":5291},[984,101971,101972],{"class":1003}," \"\u002F\"",[984,101974,101524],{"class":5291},[984,101976,101977],{"class":990}," total ",[984,101979,11571],{"class":5291},[984,101981,101982],{"class":1003}," \"]\"",[984,101984,11444],{"class":990},[984,101986,101987],{"class":986,"line":772},[984,101988,101989],{"class":990}," });\n",[26,101991,100192],{"id":101992},"setapprovesendhandler",[866,101994,101996],{"className":98104,"code":101995,"language":98106,"meta":760,"style":760},"function setApproveSendHandler(handler : function)\n",[150,101997,101998],{"__ignoreMap":760},[984,101999,102000,102002,102005,102007,102009,102011,102013],{"class":986,"line":987},[984,102001,11490],{"class":5291},[984,102003,102004],{"class":5316}," setApproveSendHandler",[984,102006,8898],{"class":990},[984,102008,101896],{"class":9176},[984,102010,101464],{"class":5291},[984,102012,101467],{"class":5316},[984,102014,9026],{"class":990},[11,102016,100195],{},[716,102018,100540],{"id":102019},"parameters-18",[89,102021,102022],{},[54,102023,102024,102026],{},[150,102025,101896],{}," : function called each time application wants to send assets from the wallet",[716,102028,100467],{"id":102029},"return-value-19",[89,102031,102032],{},[54,102033,100785],{},[716,102035,818],{"id":102036},"example-11",[866,102038,102040],{"className":98104,"code":102039,"language":98106,"meta":760,"style":760}," walletClient.setApproveSendHandler((request, info, cb)=>{\n     console.log(\"Request: \" + request);\n     console.log(\"Info: \" + info);\n     cb.sendApproved(request);\n     \u002F\u002Fcb.sendRejected(request);\n }) \n",[150,102041,102042,102068,102084,102100,102110,102115],{"__ignoreMap":760},[984,102043,102044,102046,102048,102050,102053,102055,102057,102059,102062,102064,102066],{"class":986,"line":987},[984,102045,101690],{"class":990},[984,102047,100192],{"class":5316},[984,102049,101802],{"class":990},[984,102051,102052],{"class":9176},"request",[984,102054,441],{"class":990},[984,102056,82329],{"class":9176},[984,102058,441],{"class":990},[984,102060,102061],{"class":9176},"cb",[984,102063,2758],{"class":990},[984,102065,8889],{"class":5291},[984,102067,991],{"class":990},[984,102069,102070,102072,102074,102076,102079,102081],{"class":986,"line":761},[984,102071,100837],{"class":990},[984,102073,8895],{"class":5316},[984,102075,8898],{"class":990},[984,102077,102078],{"class":1003},"\"Request: \"",[984,102080,101524],{"class":5291},[984,102082,102083],{"class":990}," request);\n",[984,102085,102086,102088,102090,102092,102095,102097],{"class":986,"line":772},[984,102087,100837],{"class":990},[984,102089,8895],{"class":5316},[984,102091,8898],{"class":990},[984,102093,102094],{"class":1003},"\"Info: \"",[984,102096,101524],{"class":5291},[984,102098,102099],{"class":990}," info);\n",[984,102101,102102,102105,102107],{"class":986,"line":1024},[984,102103,102104],{"class":990},"     cb.",[984,102106,100405],{"class":5316},[984,102108,102109],{"class":990},"(request);\n",[984,102111,102112],{"class":986,"line":1035},[984,102113,102114],{"class":1351},"     \u002F\u002Fcb.sendRejected(request);\n",[984,102116,102117],{"class":986,"line":1098},[984,102118,102119],{"class":990}," })\n",[26,102121,100203],{"id":102122},"setapprovecontractinfohandler",[866,102124,102126],{"className":98104,"code":102125,"language":98106,"meta":760,"style":760},"function setApproveContractInfoHandler(handler : function)\n",[150,102127,102128],{"__ignoreMap":760},[984,102129,102130,102132,102135,102137,102139,102141,102143],{"class":986,"line":987},[984,102131,11490],{"class":5291},[984,102133,102134],{"class":5316}," setApproveContractInfoHandler",[984,102136,8898],{"class":990},[984,102138,101896],{"class":9176},[984,102140,101464],{"class":5291},[984,102142,101467],{"class":5316},[984,102144,9026],{"class":990},[11,102146,100206],{},[716,102148,100540],{"id":102149},"parameters-19",[89,102151,102152],{},[54,102153,102154],{},[150,102155,101896],{},[716,102157,100467],{"id":102158},"return-value-20",[89,102160,102161],{},[54,102162,100785],{},[716,102164,818],{"id":102165},"example-12",[866,102167,102169],{"className":98104,"code":102168,"language":98106,"meta":760,"style":760}," walletClient.setApproveContractInfoHandler((request, info, amounts, cb)=>{\n     console.log(\"Request: \" + request);\n     console.log(\"Info: \" + info);\n     cb.contractInfoApproved(request);\n     \u002F\u002Fcb.contractInfoRejected(request);\n }) \n",[150,102170,102171,102200,102214,102228,102236,102241],{"__ignoreMap":760},[984,102172,102173,102175,102177,102179,102181,102183,102185,102187,102190,102192,102194,102196,102198],{"class":986,"line":987},[984,102174,101690],{"class":990},[984,102176,100203],{"class":5316},[984,102178,101802],{"class":990},[984,102180,102052],{"class":9176},[984,102182,441],{"class":990},[984,102184,82329],{"class":9176},[984,102186,441],{"class":990},[984,102188,102189],{"class":9176},"amounts",[984,102191,441],{"class":990},[984,102193,102061],{"class":9176},[984,102195,2758],{"class":990},[984,102197,8889],{"class":5291},[984,102199,991],{"class":990},[984,102201,102202,102204,102206,102208,102210,102212],{"class":986,"line":761},[984,102203,100837],{"class":990},[984,102205,8895],{"class":5316},[984,102207,8898],{"class":990},[984,102209,102078],{"class":1003},[984,102211,101524],{"class":5291},[984,102213,102083],{"class":990},[984,102215,102216,102218,102220,102222,102224,102226],{"class":986,"line":772},[984,102217,100837],{"class":990},[984,102219,8895],{"class":5316},[984,102221,8898],{"class":990},[984,102223,102094],{"class":1003},[984,102225,101524],{"class":5291},[984,102227,102099],{"class":990},[984,102229,102230,102232,102234],{"class":986,"line":1024},[984,102231,102104],{"class":990},[984,102233,100427],{"class":5316},[984,102235,102109],{"class":990},[984,102237,102238],{"class":986,"line":1035},[984,102239,102240],{"class":1351},"     \u002F\u002Fcb.contractInfoRejected(request);\n",[984,102242,102243],{"class":986,"line":1098},[984,102244,102119],{"class":990},[26,102246,100214],{"id":102247},"createappapi",[866,102249,102251],{"className":98104,"code":102250,"language":98106,"meta":760,"style":760},"function createAppAPI(appid : String, appname : String, callback : function)\n",[150,102252,102253],{"__ignoreMap":760},[984,102254,102255,102257,102260,102262,102264,102266,102268,102270,102272,102274,102276,102278,102280,102282,102284],{"class":986,"line":987},[984,102256,11490],{"class":5291},[984,102258,102259],{"class":5316}," createAppAPI",[984,102261,8898],{"class":990},[984,102263,29305],{"class":9176},[984,102265,101464],{"class":5291},[984,102267,101643],{"class":5316},[984,102269,441],{"class":990},[984,102271,29308],{"class":9176},[984,102273,101464],{"class":5291},[984,102275,101643],{"class":5316},[984,102277,441],{"class":990},[984,102279,100776],{"class":9176},[984,102281,101464],{"class":5291},[984,102283,101467],{"class":5316},[984,102285,9026],{"class":990},[11,102287,100217],{},[716,102289,100540],{"id":102290},"parameters-20",[89,102292,102293,102298,102303],{},[54,102294,102295,102297],{},[150,102296,29305],{}," : ID of the application",[54,102299,102300,102302],{},[150,102301,29308],{}," : the name of the app",[54,102304,102305,102307],{},[150,102306,100776],{}," : the callback with API object in the case of success",[716,102309,818],{"id":102310},"example-13",[866,102312,102314],{"className":98104,"code":102313,"language":98106,"meta":760,"style":760}," console.log(\"calling API...\");\n wc.createAppAPI(\"appid\", \"appname\", (api)=>{\n    api.setHandler((r)=> {\n       console.log(\"API response: \" + r)\n    })\n    api.callWalletApi(JSON.stringify({\n       jsonrpc: '2.0',\n        id: 5,\n        method: 'wallet_status'\n    }));        \n });\n",[150,102315,102316,102329,102355,102372,102388,102392,102408,102417,102426,102433,102438],{"__ignoreMap":760},[984,102317,102318,102320,102322,102324,102327],{"class":986,"line":987},[984,102319,8892],{"class":990},[984,102321,8895],{"class":5316},[984,102323,8898],{"class":990},[984,102325,102326],{"class":1003},"\"calling API...\"",[984,102328,11444],{"class":990},[984,102330,102331,102333,102335,102337,102340,102342,102345,102347,102349,102351,102353],{"class":986,"line":761},[984,102332,101527],{"class":990},[984,102334,100214],{"class":5316},[984,102336,8898],{"class":990},[984,102338,102339],{"class":1003},"\"appid\"",[984,102341,441],{"class":990},[984,102343,102344],{"class":1003},"\"appname\"",[984,102346,101174],{"class":990},[984,102348,6387],{"class":9176},[984,102350,2758],{"class":990},[984,102352,8889],{"class":5291},[984,102354,991],{"class":990},[984,102356,102357,102360,102362,102364,102366,102368,102370],{"class":986,"line":772},[984,102358,102359],{"class":990},"    api.",[984,102361,100375],{"class":5316},[984,102363,101802],{"class":990},[984,102365,88977],{"class":9176},[984,102367,2758],{"class":990},[984,102369,8889],{"class":5291},[984,102371,101184],{"class":990},[984,102373,102374,102377,102379,102381,102384,102386],{"class":986,"line":1024},[984,102375,102376],{"class":990},"       console.",[984,102378,8895],{"class":5316},[984,102380,8898],{"class":990},[984,102382,102383],{"class":1003},"\"API response: \"",[984,102385,101524],{"class":5291},[984,102387,101826],{"class":990},[984,102389,102390],{"class":986,"line":1035},[984,102391,9085],{"class":990},[984,102393,102394,102396,102398,102400,102402,102404,102406],{"class":986,"line":1098},[984,102395,102359],{"class":990},[984,102397,100364],{"class":5316},[984,102399,8898],{"class":990},[984,102401,9889],{"class":996},[984,102403,385],{"class":990},[984,102405,9894],{"class":5316},[984,102407,9897],{"class":990},[984,102409,102410,102413,102415],{"class":986,"line":1111},[984,102411,102412],{"class":990},"       jsonrpc: ",[984,102414,9392],{"class":1003},[984,102416,1021],{"class":990},[984,102418,102419,102422,102424],{"class":986,"line":1124},[984,102420,102421],{"class":990},"        id: ",[984,102423,8099],{"class":996},[984,102425,1021],{"class":990},[984,102427,102428,102431],{"class":986,"line":1137},[984,102429,102430],{"class":990},"        method: ",[984,102432,101728],{"class":1003},[984,102434,102435],{"class":986,"line":1150},[984,102436,102437],{"class":990},"    }));        \n",[984,102439,102440],{"class":986,"line":1163},[984,102441,101989],{"class":990},[26,102443,100225],{"id":102444},"importrecovery",[866,102446,102448],{"className":98104,"code":102447,"language":98106,"meta":760,"style":760},"function importRecovery(recoveryData: Uint8Array, callback: function(error, done, total))\n",[150,102449,102450],{"__ignoreMap":760},[984,102451,102452,102454,102457,102459,102462,102464,102467,102469,102471,102473,102475,102477,102479,102481,102483,102485,102487],{"class":986,"line":987},[984,102453,11490],{"class":5291},[984,102455,102456],{"class":5316}," importRecovery",[984,102458,8898],{"class":990},[984,102460,102461],{"class":9176},"recoveryData",[984,102463,1000],{"class":5291},[984,102465,102466],{"class":5316}," Uint8Array",[984,102468,441],{"class":990},[984,102470,100776],{"class":9176},[984,102472,1000],{"class":5291},[984,102474,101467],{"class":5316},[984,102476,8898],{"class":990},[984,102478,9770],{"class":9176},[984,102480,441],{"class":990},[984,102482,101940],{"class":9176},[984,102484,441],{"class":990},[984,102486,101945],{"class":9176},[984,102488,8904],{"class":990},[11,102490,100228],{},[716,102492,100540],{"id":102493},"parameters-21",[89,102495,102496,102501],{},[54,102497,102498,102500],{},[150,102499,102461],{}," : downloaded recovery data",[54,102502,102503,102505,102506,102508,102509,163,102511],{},[150,102504,100776],{}," : callback function, which allows to handle errors via ",[150,102507,9770],{}," parameter and to report progress using ",[150,102510,101940],{},[150,102512,101945],{},[716,102514,818],{"id":102515},"example-14",[866,102517,102519],{"className":98104,"code":102518,"language":98106,"meta":760,"style":760}," \u002F\u002F download function should be defined by user\n download(\"recovery.bin\", function(error, data) {\n    if (error == null) {\n        console.log(\"downloaded recovery\")\n        walletClient.importRecovery(data, function(error, done, total) {\n            if (error == null) {\n                console.log(`Restoring ${done}\u002F${total}`)\n            } else {\n                console.log(`Failed to recover: ${error}`)\n            }\n        });\n        \n    } else {\n        console.log(\"failed to download recovery\")\n    }\n\n});\n",[150,102520,102521,102526,102550,102563,102576,102602,102615,102638,102648,102665,102669,102674,102678,102687,102700,102704,102708],{"__ignoreMap":760},[984,102522,102523],{"class":986,"line":987},[984,102524,102525],{"class":1351}," \u002F\u002F download function should be defined by user\n",[984,102527,102528,102531,102533,102536,102538,102540,102542,102544,102546,102548],{"class":986,"line":761},[984,102529,102530],{"class":5316}," download",[984,102532,8898],{"class":990},[984,102534,102535],{"class":1003},"\"recovery.bin\"",[984,102537,441],{"class":990},[984,102539,11490],{"class":5291},[984,102541,8898],{"class":990},[984,102543,9770],{"class":9176},[984,102545,441],{"class":990},[984,102547,9736],{"class":9176},[984,102549,11633],{"class":990},[984,102551,102552,102554,102556,102559,102561],{"class":986,"line":772},[984,102553,11658],{"class":5291},[984,102555,100825],{"class":990},[984,102557,102558],{"class":5291},"==",[984,102560,100830],{"class":996},[984,102562,11633],{"class":990},[984,102564,102565,102567,102569,102571,102574],{"class":986,"line":1024},[984,102566,9017],{"class":990},[984,102568,8895],{"class":5316},[984,102570,8898],{"class":990},[984,102572,102573],{"class":1003},"\"downloaded recovery\"",[984,102575,9026],{"class":990},[984,102577,102578,102581,102583,102586,102588,102590,102592,102594,102596,102598,102600],{"class":986,"line":1035},[984,102579,102580],{"class":990},"        walletClient.",[984,102582,100225],{"class":5316},[984,102584,102585],{"class":990},"(data, ",[984,102587,11490],{"class":5291},[984,102589,8898],{"class":990},[984,102591,9770],{"class":9176},[984,102593,441],{"class":990},[984,102595,101940],{"class":9176},[984,102597,441],{"class":990},[984,102599,101945],{"class":9176},[984,102601,11633],{"class":990},[984,102603,102604,102607,102609,102611,102613],{"class":986,"line":1098},[984,102605,102606],{"class":5291},"            if",[984,102608,100825],{"class":990},[984,102610,102558],{"class":5291},[984,102612,100830],{"class":996},[984,102614,11633],{"class":990},[984,102616,102617,102620,102622,102624,102627,102629,102632,102634,102636],{"class":986,"line":1111},[984,102618,102619],{"class":990},"                console.",[984,102621,8895],{"class":5316},[984,102623,8898],{"class":990},[984,102625,102626],{"class":1003},"`Restoring ${",[984,102628,101940],{"class":990},[984,102630,102631],{"class":1003},"}\u002F${",[984,102633,101945],{"class":990},[984,102635,9297],{"class":1003},[984,102637,9026],{"class":990},[984,102639,102640,102643,102646],{"class":986,"line":1124},[984,102641,102642],{"class":990},"            } ",[984,102644,102645],{"class":5291},"else",[984,102647,101184],{"class":990},[984,102649,102650,102652,102654,102656,102659,102661,102663],{"class":986,"line":1137},[984,102651,102619],{"class":990},[984,102653,8895],{"class":5316},[984,102655,8898],{"class":990},[984,102657,102658],{"class":1003},"`Failed to recover: ${",[984,102660,9770],{"class":990},[984,102662,9297],{"class":1003},[984,102664,9026],{"class":990},[984,102666,102667],{"class":986,"line":1150},[984,102668,9817],{"class":990},[984,102670,102671],{"class":986,"line":1163},[984,102672,102673],{"class":990},"        });\n",[984,102675,102676],{"class":986,"line":1176},[984,102677,8559],{"class":990},[984,102679,102680,102683,102685],{"class":986,"line":1189},[984,102681,102682],{"class":990},"    } ",[984,102684,102645],{"class":5291},[984,102686,101184],{"class":990},[984,102688,102689,102691,102693,102695,102698],{"class":986,"line":1202},[984,102690,9017],{"class":990},[984,102692,8895],{"class":5316},[984,102694,8898],{"class":990},[984,102696,102697],{"class":1003},"\"failed to download recovery\"",[984,102699,9026],{"class":990},[984,102701,102702],{"class":986,"line":1211},[984,102703,1607],{"class":990},[984,102705,102706],{"class":986,"line":1217},[984,102707,8376],{"emptyLinePlaceholder":778},[984,102709,102710],{"class":986,"line":1229},[984,102711,11587],{"class":990},[43,102713,100343],{"id":102714},"appapi",[26,102716,100364],{"id":102717},"callwalletapi",[26,102719,100375],{"id":102720},"sethandler",[43,102722,100384],{"id":102723},"appapicallback",[26,102725,100405],{"id":102726},"sendapproved",[26,102728,100416],{"id":102729},"sendrejected",[26,102731,100427],{"id":102732},"contractinfoapproved",[26,102734,100438],{"id":102735},"contractinforejected",[2685,102737,102738],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}",{"title":760,"searchDepth":761,"depth":761,"links":102740},[102741,102745,102750,102754,102759,102763,102769,102775,102780,102785,102791,102797,102803,102806,102811,102815,102819,102825,102830,102834,102839,102844,102849,102853,102857,102858,102859,102860,102861,102862],{"id":100447,"depth":761,"text":9277,"children":102742},[102743,102744],{"id":100466,"depth":772,"text":100467},{"id":98544,"depth":772,"text":818},{"id":100520,"depth":761,"text":100246,"children":102746},[102747,102748,102749],{"id":100539,"depth":772,"text":100540},{"id":100551,"depth":772,"text":100467},{"id":100566,"depth":772,"text":818},{"id":100610,"depth":761,"text":100257,"children":102751},[102752,102753],{"id":100633,"depth":772,"text":100540},{"id":100645,"depth":772,"text":100467},{"id":100660,"depth":761,"text":100268,"children":102755},[102756,102757,102758],{"id":100679,"depth":772,"text":100540},{"id":100689,"depth":772,"text":100467},{"id":94509,"depth":772,"text":94510},{"id":100707,"depth":761,"text":100279,"children":102760},[102761,102762],{"id":100726,"depth":772,"text":100540},{"id":100736,"depth":772,"text":100467},{"id":100746,"depth":761,"text":100290,"children":102764},[102765,102766,102767,102768],{"id":100769,"depth":772,"text":100540},{"id":100780,"depth":772,"text":100467},{"id":100788,"depth":772,"text":94510},{"id":100796,"depth":772,"text":818},{"id":100896,"depth":761,"text":100301,"children":102770},[102771,102772,102773,102774],{"id":100915,"depth":772,"text":100540},{"id":100937,"depth":772,"text":100467},{"id":100944,"depth":772,"text":94510},{"id":100956,"depth":772,"text":818},{"id":100996,"depth":761,"text":100312,"children":102776},[102777,102778,102779],{"id":101015,"depth":772,"text":100540},{"id":101025,"depth":772,"text":100467},{"id":101032,"depth":772,"text":94510},{"id":101041,"depth":761,"text":100323,"children":102781},[102782,102783,102784],{"id":101059,"depth":772,"text":100540},{"id":101069,"depth":772,"text":100467},{"id":101081,"depth":772,"text":94510},{"id":101090,"depth":761,"text":100334,"children":102786},[102787,102788,102789,102790],{"id":101114,"depth":772,"text":100540},{"id":101134,"depth":772,"text":100467},{"id":101141,"depth":772,"text":94510},{"id":101150,"depth":772,"text":818},{"id":101230,"depth":761,"text":100075,"children":102792},[102793,102794,102795,102796],{"id":101248,"depth":772,"text":100540},{"id":101269,"depth":772,"text":100467},{"id":101277,"depth":772,"text":94510},{"id":101293,"depth":772,"text":818},{"id":101339,"depth":761,"text":100086,"children":102798},[102799,102800,102801,102802],{"id":101357,"depth":772,"text":100540},{"id":101366,"depth":772,"text":100467},{"id":101373,"depth":772,"text":94510},{"id":101388,"depth":772,"text":818},{"id":101417,"depth":761,"text":100097,"children":102804},[102805],{"id":101436,"depth":772,"text":94510},{"id":101445,"depth":761,"text":100108,"children":102807},[102808,102809,102810],{"id":101474,"depth":772,"text":100540},{"id":101484,"depth":772,"text":100467},{"id":101491,"depth":772,"text":818},{"id":101542,"depth":761,"text":100119,"children":102812},[102813,102814],{"id":101561,"depth":772,"text":100540},{"id":101568,"depth":772,"text":100467},{"id":101581,"depth":761,"text":100130,"children":102816},[102817,102818],{"id":101602,"depth":772,"text":100540},{"id":101609,"depth":772,"text":100467},{"id":101621,"depth":761,"text":100145,"children":102820},[102821,102822,102823,102824],{"id":101652,"depth":772,"text":100540},{"id":101662,"depth":772,"text":100467},{"id":101669,"depth":772,"text":94510},{"id":101680,"depth":772,"text":818},{"id":100159,"depth":761,"text":100159,"children":102826},[102827,102828,102829],{"id":101762,"depth":772,"text":100540},{"id":101772,"depth":772,"text":100467},{"id":101780,"depth":772,"text":818},{"id":100170,"depth":761,"text":100170,"children":102831},[102832,102833],{"id":101862,"depth":772,"text":100540},{"id":101872,"depth":772,"text":100467},{"id":101879,"depth":761,"text":100181,"children":102835},[102836,102837,102838],{"id":101907,"depth":772,"text":100540},{"id":101917,"depth":772,"text":100467},{"id":101924,"depth":772,"text":818},{"id":101992,"depth":761,"text":100192,"children":102840},[102841,102842,102843],{"id":102019,"depth":772,"text":100540},{"id":102029,"depth":772,"text":100467},{"id":102036,"depth":772,"text":818},{"id":102122,"depth":761,"text":100203,"children":102845},[102846,102847,102848],{"id":102149,"depth":772,"text":100540},{"id":102158,"depth":772,"text":100467},{"id":102165,"depth":772,"text":818},{"id":102247,"depth":761,"text":100214,"children":102850},[102851,102852],{"id":102290,"depth":772,"text":100540},{"id":102310,"depth":772,"text":818},{"id":102444,"depth":761,"text":100225,"children":102854},[102855,102856],{"id":102493,"depth":772,"text":100540},{"id":102515,"depth":772,"text":818},{"id":102717,"depth":761,"text":100364},{"id":102720,"depth":761,"text":100375},{"id":102726,"depth":761,"text":100405},{"id":102729,"depth":761,"text":100416},{"id":102732,"depth":761,"text":100427},{"id":102735,"depth":761,"text":100438},"WASM wallet client is a thin wrapper around Beam client library build into WASM using Emscripten toolchain. This wrapper allows to run BEAM wallet inside any browser supporting WebAssembly and it provides the regular BEAM wallet API to communicated with it from external(javascript) code. It's available via npm for different network types:",{},"\u002Fdocs\u002Fcore-tech\u002Fwasm-wallet-client",{"title":4400,"description":102863},"docs\u002Fcore-tech\u002FWASM-wallet-client","2CvNGEqnfqpqUPh9_CR2icuxL8258ryCJF5frbQzbsg",{"id":102870,"title":102871,"body":102872,"description":102876,"extension":775,"image":776,"meta":104839,"navTitle":776,"navigation":778,"path":104840,"seo":104841,"stem":104842,"__hash__":104843},"docs\u002Fdocs\u002Fcore-tech\u002FWallet-Service.md","Wallet Service",{"type":8,"value":102873,"toc":104817},[102874,102877,102881,102884,103026,103030,103033,103081,103085,103088,103094,103097,103109,103113,103116,103129,103137,103141,103144,103165,103168,103181,103183,103186,103281,103296,103354,103363,103365,103368,103370,103373,103381,103388,103395,103398,103404,103411,103425,103429,103432,103473,103480,103482,103485,103571,103579,103625,103630,103632,103635,103717,103730,103776,103781,103783,103786,103858,103863,103908,103913,103915,103918,103964,103967,104011,104015,104017,104020,104090,104095,104162,104172,104174,104177,104223,104225,104271,104276,104282,104288,104295,104302,104306,104403,104410,104443,104446,104682,104778,104782,104788,104792,104795,104814],[11,102875,102876],{},"Beam wallet service allows to implement lightweight wallets using BEAM API.",[26,102878,102880],{"id":102879},"how-to-build","How to build",[11,102882,102883],{},"Wallet service and related projects are supposed to be run on Linux only. It is possible to build everything for Windows and using Windows but it is not oficially supported. Releases are also provided only for Linux.",[51,102885,102886,102903,102915,102924,102942,102951,102999],{},[54,102887,102888,102889,102893,102894,1996,102897,91470,102900,102902],{},"Install required tools to build the generic BEAM project. Refer ",[18,102890,102892],{"href":81034,"rel":102891},[22],"BEAM build instructions"," for detals. For example if you're using Ubuntu 18.04 Desktop you need to execute steps ",[150,102895,102896],{},"1. Install dependencies",[150,102898,102899],{},"2. Install cmake",[150,102901,86608],{}," section.",[54,102904,102905,102906,102909,102910,385],{},"Install golang. You need at least v1.13.0 to build the project. If the relevant package is provided with your OS it is better to use it. For example ",[150,102907,102908],{},"sudo dnf install golang"," on Fedora. If your OS doesn't not provide recent golang packages (like Ubuntu 18.04) use instructions ",[18,102911,102914],{"href":102912,"rel":102913},"https:\u002F\u002Fgolang.org\u002Fdoc\u002Finstall",[22],"from the official website",[54,102916,102917,102918],{},"Clone the repository",[866,102919,102922],{"className":102920,"code":102921,"language":871},[869],"git clone https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fwallet-service.git\n",[150,102923,102921],{"__ignoreMap":760},[54,102925,102926,102927,102929,102930,102932,102933,102935,102936],{},"Checkout the necessary branch. We use the ",[150,102928,84469],{}," branch for development. To be able to connect to the testnet you have to checkout the ",[150,102931,84450],{}," branch. To be able to connect to the mainnet you have to checkout the ",[150,102934,84429],{}," branch.",[866,102937,102940],{"className":102938,"code":102939,"language":871},[869],"cd wallet-service\ngit checkout testnet\n",[150,102941,102939],{"__ignoreMap":760},[54,102943,102944,102945],{},"Init submodules",[866,102946,102949],{"className":102947,"code":102948,"language":871},[869],"git submodule update --init --recursive\n",[150,102950,102948],{"__ignoreMap":760},[54,102952,90659,102953,1996,102956,102959,102960,102963,102964,102966,102967,102972,102974,102975,102981,102983,102984,1996,102987,102990,102991,102994,102995,102998],{},[150,102954,102955],{},"wallet-service",[150,102957,102958],{},"sbbs-monitor",". Use build commands from the ",[18,102961,102892],{"href":81034,"rel":102962},[22]," according to your OS.",[957,102965],{},"For example for Fedora",[866,102968,102970],{"className":102969,"code":87217,"language":871},[869],[150,102971,87217],{"__ignoreMap":760},[957,102973],{},"For Ububtu 18.04 Desktop",[866,102976,102979],{"className":102977,"code":102978,"language":871},[869],"export CC=gcc-8 && export CXX=g++-8\ncmake -DCMAKE_BUILD_TYPE=Release && make -j4\n",[150,102980,102978],{"__ignoreMap":760},[957,102982],{},"After the build process completes you would have ",[150,102985,102986],{},"wallet-service(-testnet\u002F-masternet)",[150,102988,102989],{},"sbbs-monitor(-testnet\u002F-masternet)"," binaries in the ",[150,102992,102993],{},"wallet-service\u002Fservice"," folder. Mainnet binaries do not have the ",[150,102996,102997],{},"-BRANCHNAME"," postfix.",[54,103000,90659,103001,103004,103010,103012,103013,6365,103015,103018,103019,103022,103023,103025],{},[150,103002,103003],{},"service-balancer",[866,103005,103008],{"className":103006,"code":103007,"language":871},[869],"cd service-balancer && go build && cd ..\n",[150,103009,103007],{"__ignoreMap":760},[957,103011],{},"After the build process completes you would have the ",[150,103014,103003],{},[150,103016,103017],{},"wallet-service\u002Fservice-balancer"," folder. N.B. At the moment manual builds do not add ",[150,103020,103021],{},"-masternet\u002F-testnet"," postfix to the ",[150,103024,103003],{}," executable.",[26,103027,103029],{"id":103028},"prebuilt-binaries","Prebuilt binaries",[11,103031,103032],{},"You can get the latest prebuilt wallet service binaries here.",[51,103034,103035,103058],{},[54,103036,103037,103038],{},"Testnet",[89,103039,103040,103046,103052],{},[54,103041,103042],{},[18,103043,103044],{"href":103044,"rel":103045},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Ftestnet\u002Flatest\u002FRelease\u002Flinux\u002Fservice-balancer-testnet.tar.gz",[22],[54,103047,103048],{},[18,103049,103050],{"href":103050,"rel":103051},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Ftestnet\u002Flatest\u002FRelease\u002Flinux\u002Fwallet-service-testnet.tar.gz",[22],[54,103053,103054],{},[18,103055,103056],{"href":103056,"rel":103057},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Ftestnet\u002Flatest\u002FRelease\u002Flinux\u002Fsbbs-monitor-testnet.tar.gz",[22],[54,103059,103060,103061],{},"Masternet",[89,103062,103063,103069,103075],{},[54,103064,103065],{},[18,103066,103067],{"href":103067,"rel":103068},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Fmasternet\u002Flatest\u002FRelease\u002Flinux\u002Fservice-balancer-masternet.tar.gz",[22],[54,103070,103071],{},[18,103072,103073],{"href":103073,"rel":103074},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Fmasternet\u002Flatest\u002FRelease\u002Flinux\u002Fwallet-service-masternet.tar.gz",[22],[54,103076,103077],{},[18,103078,103079],{"href":103079,"rel":103080},"https:\u002F\u002Fbuilds.beam-mw.com\u002Ffiles\u002Fmasternet\u002Flatest\u002FRelease\u002Flinux\u002Fsbbs-monitor-masternet.tar.gz",[22],[26,103082,103084],{"id":103083},"deployment","Deployment",[11,103086,103087],{},"At the moment it is advised to use our public API enpoints until the deployment procedure is stabilized and made public. Docker would be available as well as the detailed deployment guide.",[26,103089,103091],{"id":103090},"how-to-try",[18,103092,103093],{"name":103090},"How to try",[11,103095,103096],{},"Currently the Wallet Service is deployed for masternet & testnet and provides the following public Service Balancer endpoints",[51,103098,103099,103104],{},[54,103100,103037,103101,103103],{},[957,103102],{},"wss:\u002F\u002Fweb-wallet-testnet.beam.mw\u002Fws",[54,103105,103060,103106,103108],{},[957,103107],{},"wss:\u002F\u002Fweb-wallet-masternet.beam.mw\u002Fws",[26,103110,103112],{"id":103111},"api-guide","API Guide",[11,103114,103115],{},"Wallet service exposes its API only via JSONRpc v2.0 over WebSockets. To access the API you should",[51,103117,103118,103126],{},[54,103119,103120,103121,103125],{},"Login to the balancer and get the API enpoint. Check the ",[18,103122,103124],{"href":103123},"#how-to-try","how to try section"," for the list of our public balancer endpoints.",[54,103127,103128],{},"Communicate with the API enpoint using the Wallet Service API.",[11,103130,103131,103132,103136],{},"Too keep user 'secrets' at the user's side Wallet Service doesn't ask for the seed phrase. Instead it expects the client to implement a set of methods that deal with secrets\u002Foutputs creation\u002Fsigning, i.e. user-side keykeeper. We provide default WebAssembly implementation of the keykeeper for JS\u002FWeb usage. Check the ",[18,103133,103135],{"href":103134},"#wasm-key-keeper","key keeper"," section for details.",[716,103138,103140],{"id":103139},"service-balancer-api","Service Balancer API",[11,103142,103143],{},"Service Balancer API provides the following methods:",[89,103145,103146,103151,103157,103161],{},[54,103147,103148],{},[18,103149,10151],{"href":103150},"#login",[54,103152,103153],{},[18,103154,103156],{"href":103155},"#logout","logout",[54,103158,103159],{},[18,103160,100159],{"href":100158},[54,103162,103163],{},[18,103164,100170],{"href":100169},[11,103166,103167],{},"In addition to the Web Sockets API Service Balancer provides the following HTTP(S) endpoints:",[89,103169,103170,103175],{},[54,103171,103172],{},[18,103173,4665],{"href":103174},"#balancer-hello",[54,103176,103177],{},[18,103178,103180],{"href":103179},"#balancer-status","\u002Fstatus",[716,103182,10151],{"id":10151},[11,103184,103185],{},"Login to the service balancer and get the wallet service endpoint",[866,103187,103189],{"className":978,"code":103188,"language":980,"meta":760,"style":760},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"login\",\n    \"params\":\n    {\n        \"WalletID\": \"wallet id\",\n        \"SbbsAddress\": \"\",\n        \"SbbsAddressPrivate\": \"\"\n    }\n}\n",[150,103190,103191,103196,103200,103210,103220,103230,103236,103240,103252,103263,103273,103277],{"__ignoreMap":760},[984,103192,103193],{"class":986,"line":987},[984,103194,103195],{"class":990},"\u003C--\n",[984,103197,103198],{"class":986,"line":761},[984,103199,991],{"class":990},[984,103201,103202,103204,103206,103208],{"class":986,"line":772},[984,103203,997],{"class":996},[984,103205,1015],{"class":990},[984,103207,1004],{"class":1003},[984,103209,1021],{"class":990},[984,103211,103212,103214,103216,103218],{"class":986,"line":1024},[984,103213,1012],{"class":996},[984,103215,1015],{"class":990},[984,103217,1299],{"class":1003},[984,103219,1021],{"class":990},[984,103221,103222,103224,103226,103228],{"class":986,"line":1035},[984,103223,1027],{"class":996},[984,103225,1015],{"class":990},[984,103227,10179],{"class":1003},[984,103229,1021],{"class":990},[984,103231,103232,103234],{"class":986,"line":1098},[984,103233,1521],{"class":996},[984,103235,1524],{"class":990},[984,103237,103238],{"class":986,"line":1111},[984,103239,1529],{"class":990},[984,103241,103242,103245,103247,103250],{"class":986,"line":1124},[984,103243,103244],{"class":996},"        \"WalletID\"",[984,103246,1015],{"class":990},[984,103248,103249],{"class":1003},"\"wallet id\"",[984,103251,1021],{"class":990},[984,103253,103254,103257,103259,103261],{"class":986,"line":1137},[984,103255,103256],{"class":996},"        \"SbbsAddress\"",[984,103258,1015],{"class":990},[984,103260,13091],{"class":1003},[984,103262,1021],{"class":990},[984,103264,103265,103268,103270],{"class":986,"line":1150},[984,103266,103267],{"class":996},"        \"SbbsAddressPrivate\"",[984,103269,1015],{"class":990},[984,103271,103272],{"class":1003},"\"\"\n",[984,103274,103275],{"class":986,"line":1163},[984,103276,1607],{"class":990},[984,103278,103279],{"class":986,"line":1176},[984,103280,1038],{"class":990},[89,103282,103283,103290,103293],{},[54,103284,103285,103286,103289],{},"WalletID - wallet id, get it from ",[150,103287,103288],{},"keykeeper.getWalletID"," method based on the generated seed",[54,103291,103292],{},"SbbsAddress - reserved for future use, leave empty for now",[54,103294,103295],{},"SbbsAddressPrivate - reserved for future use, leave empty for now",[866,103297,103299],{"className":978,"code":103298,"language":980,"meta":760,"style":760},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": {\n        \"endpoint\": \"web-wallet-testnet.beam.mw?service=30000\"\n    }\n}\n",[150,103300,103301,103306,103310,103320,103330,103336,103346,103350],{"__ignoreMap":760},[984,103302,103303],{"class":986,"line":987},[984,103304,103305],{"class":990},"-->\n",[984,103307,103308],{"class":986,"line":761},[984,103309,991],{"class":990},[984,103311,103312,103314,103316,103318],{"class":986,"line":772},[984,103313,997],{"class":996},[984,103315,1015],{"class":990},[984,103317,1004],{"class":1003},[984,103319,1021],{"class":990},[984,103321,103322,103324,103326,103328],{"class":986,"line":1024},[984,103323,1012],{"class":996},[984,103325,1015],{"class":990},[984,103327,1299],{"class":1003},[984,103329,1021],{"class":990},[984,103331,103332,103334],{"class":986,"line":1035},[984,103333,1724],{"class":996},[984,103335,1083],{"class":990},[984,103337,103338,103341,103343],{"class":986,"line":1098},[984,103339,103340],{"class":996},"        \"endpoint\"",[984,103342,1015],{"class":990},[984,103344,103345],{"class":1003},"\"web-wallet-testnet.beam.mw?service=30000\"\n",[984,103347,103348],{"class":986,"line":1111},[984,103349,1607],{"class":990},[984,103351,103352],{"class":986,"line":1124},[984,103353,1038],{"class":990},[89,103355,103356],{},[54,103357,103358,103359,103362],{},"endpoint - returns wallet service endpoint used to access Walet Service API & Beam Wallet API. You should manually append the web socket protocol prefix ",[150,103360,103361],{},"wss:\u002F\u002F"," in front of it.",[716,103364,100159],{"id":100159},[11,103366,103367],{},"Subscribe to the BBS address notifications to be notified about incoming transaction. Reserved for future use",[716,103369,100170],{"id":100170},[11,103371,103372],{},"Unsubsribe from the BBS address notifications. Reserved for future use",[11,103374,103375],{},[94,103376,103377],{},[18,103378,103380],{"name":103379},"balancer-hello","balancer root (\u002F)",[11,103382,103383,103384,103387],{},"Just a 'hello world' endpoint. Returns the ",[150,103385,103386],{},"Hello! This is the wallet service balancer"," string. It is intended to be used for alive checks.",[11,103389,103390],{},[94,103391,103392],{},[18,103393,103180],{"name":103394},"balancer-status",[11,103396,103397],{},"Status endpoint. Returns json with the internal service balancer methods.",[866,103399,103402],{"className":103400,"code":103401,"language":871},[869],"\u002Fstatus?secret=secret\n",[150,103403,103401],{"__ignoreMap":760},[11,103405,103406,103407,103410],{},"Expects secret (password) to be provided. Secret is configured in the balancer's ",[150,103408,103409],{},"config.json"," file. For testent & masternet this endpoint is public and can be accessed by anyone:",[89,103412,103413,103419],{},[54,103414,103415],{},[18,103416,103417],{"href":103417,"rel":103418},"https:\u002F\u002Fweb-wallet-testnet.beam.mw\u002Fstatus?secret=secret",[22],[54,103420,103421],{},[18,103422,103423],{"href":103423,"rel":103424},"https:\u002F\u002Fweb-wallet-masternet.beam.mw\u002Fstatus?secret=secret",[22],[716,103426,103428],{"id":103427},"wallet-service-api","Wallet Service API",[11,103430,103431],{},"Wallet Service API provides the following methods:",[89,103433,103434,103439,103445,103451,103455,103461,103467],{},[54,103435,103436],{},[18,103437,9363],{"href":103438},"#create_wallet",[54,103440,103441],{},[18,103442,103444],{"href":103443},"#open_wallet","open_wallet",[54,103446,103447],{},[18,103448,103450],{"href":103449},"#change_password","change_password",[54,103452,103453],{},[18,103454,923],{"href":12425},[54,103456,103457],{},[18,103458,103460],{"href":103459},"#release","release",[54,103462,103463],{},[18,103464,103466],{"href":103465},"#ping","ping",[54,103468,103469],{},[18,103470,103472],{"href":103471},"#wallet-api-methods","Wallet API methdos",[11,103474,103475,103476,29411],{},"Wallet service expect a set of keykeper-related methods to be implemented by the client. Check the ",[18,103477,103479],{"href":103478},"#keykeeper-client-metods","Wallet Service Client keykeeper methods",[716,103481,9363],{"id":9363},[11,103483,103484],{},"Create new wallet",[866,103486,103488],{"className":978,"code":103487,"language":980,"meta":760,"style":760},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"create_wallet\",\n    \"params\":\n    {\n        \"pass\": \"wallet password\",\n        \"ownerkey\": \"wallet owner key\",\n    }\n}\n",[150,103489,103490,103494,103498,103508,103518,103529,103535,103539,103551,103563,103567],{"__ignoreMap":760},[984,103491,103492],{"class":986,"line":987},[984,103493,103195],{"class":990},[984,103495,103496],{"class":986,"line":761},[984,103497,991],{"class":990},[984,103499,103500,103502,103504,103506],{"class":986,"line":772},[984,103501,997],{"class":996},[984,103503,1015],{"class":990},[984,103505,1004],{"class":1003},[984,103507,1021],{"class":990},[984,103509,103510,103512,103514,103516],{"class":986,"line":1024},[984,103511,1012],{"class":996},[984,103513,1015],{"class":990},[984,103515,1299],{"class":1003},[984,103517,1021],{"class":990},[984,103519,103520,103522,103524,103527],{"class":986,"line":1035},[984,103521,1027],{"class":996},[984,103523,1015],{"class":990},[984,103525,103526],{"class":1003},"\"create_wallet\"",[984,103528,1021],{"class":990},[984,103530,103531,103533],{"class":986,"line":1098},[984,103532,1521],{"class":996},[984,103534,1524],{"class":990},[984,103536,103537],{"class":986,"line":1111},[984,103538,1529],{"class":990},[984,103540,103541,103544,103546,103549],{"class":986,"line":1124},[984,103542,103543],{"class":996},"        \"pass\"",[984,103545,1015],{"class":990},[984,103547,103548],{"class":1003},"\"wallet password\"",[984,103550,1021],{"class":990},[984,103552,103553,103556,103558,103561],{"class":986,"line":1137},[984,103554,103555],{"class":996},"        \"ownerkey\"",[984,103557,1015],{"class":990},[984,103559,103560],{"class":1003},"\"wallet owner key\"",[984,103562,1021],{"class":990},[984,103564,103565],{"class":986,"line":1150},[984,103566,1607],{"class":990},[984,103568,103569],{"class":986,"line":1163},[984,103570,1038],{"class":990},[89,103572,103573,103576],{},[54,103574,103575],{},"pass - initial wallet password",[54,103577,103578],{},"ownerkey - wallet owner key, get it from key keeper",[866,103580,103582],{"className":978,"code":103581,"language":980,"meta":760,"style":760},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"wallet id\"\n}\n",[150,103583,103584,103588,103592,103602,103612,103621],{"__ignoreMap":760},[984,103585,103586],{"class":986,"line":987},[984,103587,103305],{"class":990},[984,103589,103590],{"class":986,"line":761},[984,103591,991],{"class":990},[984,103593,103594,103596,103598,103600],{"class":986,"line":772},[984,103595,997],{"class":996},[984,103597,1015],{"class":990},[984,103599,1004],{"class":1003},[984,103601,1021],{"class":990},[984,103603,103604,103606,103608,103610],{"class":986,"line":1024},[984,103605,1012],{"class":996},[984,103607,1015],{"class":990},[984,103609,1299],{"class":1003},[984,103611,1021],{"class":990},[984,103613,103614,103616,103618],{"class":986,"line":1035},[984,103615,1724],{"class":996},[984,103617,1015],{"class":990},[984,103619,103620],{"class":1003},"\"wallet id\"\n",[984,103622,103623],{"class":986,"line":1098},[984,103624,1038],{"class":990},[89,103626,103627],{},[54,103628,103629],{},"result - returns wallet id used to identify the wallet in other API calls",[716,103631,103444],{"id":103444},[11,103633,103634],{},"Open wallet with the given ID and password.",[866,103636,103638],{"className":978,"code":103637,"language":980,"meta":760,"style":760},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"open_wallet\",\n    \"params\":\n    {\n        \"id\": \"\u003Cwallet ID>\",\n        \"pass\": \"\u003Cwallet password>\"\n    }\n}\n",[150,103639,103640,103644,103648,103658,103668,103679,103685,103689,103700,103709,103713],{"__ignoreMap":760},[984,103641,103642],{"class":986,"line":987},[984,103643,103195],{"class":990},[984,103645,103646],{"class":986,"line":761},[984,103647,991],{"class":990},[984,103649,103650,103652,103654,103656],{"class":986,"line":772},[984,103651,997],{"class":996},[984,103653,1015],{"class":990},[984,103655,1004],{"class":1003},[984,103657,1021],{"class":990},[984,103659,103660,103662,103664,103666],{"class":986,"line":1024},[984,103661,1012],{"class":996},[984,103663,1015],{"class":990},[984,103665,1299],{"class":1003},[984,103667,1021],{"class":990},[984,103669,103670,103672,103674,103677],{"class":986,"line":1035},[984,103671,1027],{"class":996},[984,103673,1015],{"class":990},[984,103675,103676],{"class":1003},"\"open_wallet\"",[984,103678,1021],{"class":990},[984,103680,103681,103683],{"class":986,"line":1098},[984,103682,1521],{"class":996},[984,103684,1524],{"class":990},[984,103686,103687],{"class":986,"line":1111},[984,103688,1529],{"class":990},[984,103690,103691,103693,103695,103698],{"class":986,"line":1124},[984,103692,6969],{"class":996},[984,103694,1015],{"class":990},[984,103696,103697],{"class":1003},"\"\u003Cwallet ID>\"",[984,103699,1021],{"class":990},[984,103701,103702,103704,103706],{"class":986,"line":1137},[984,103703,103543],{"class":996},[984,103705,1015],{"class":990},[984,103707,103708],{"class":1003},"\"\u003Cwallet password>\"\n",[984,103710,103711],{"class":986,"line":1150},[984,103712,1607],{"class":990},[984,103714,103715],{"class":986,"line":1163},[984,103716,1038],{"class":990},[89,103718,103719,103727],{},[54,103720,103721,103722,103724,103725,6197],{},"id - wallet id returned by the ",[18,103723,9363],{"href":103438}," method or by the ",[150,103726,103288],{},[54,103728,103729],{},"pass - wallet password used to create wallet",[866,103731,103733],{"className":978,"code":103732,"language":980,"meta":760,"style":760},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"adc18c1afbb74674b5853fb4350df70a\"\n}\n",[150,103734,103735,103739,103743,103753,103763,103772],{"__ignoreMap":760},[984,103736,103737],{"class":986,"line":987},[984,103738,103305],{"class":990},[984,103740,103741],{"class":986,"line":761},[984,103742,991],{"class":990},[984,103744,103745,103747,103749,103751],{"class":986,"line":772},[984,103746,997],{"class":996},[984,103748,1015],{"class":990},[984,103750,1004],{"class":1003},[984,103752,1021],{"class":990},[984,103754,103755,103757,103759,103761],{"class":986,"line":1024},[984,103756,1012],{"class":996},[984,103758,1015],{"class":990},[984,103760,1299],{"class":1003},[984,103762,1021],{"class":990},[984,103764,103765,103767,103769],{"class":986,"line":1035},[984,103766,1724],{"class":996},[984,103768,1015],{"class":990},[984,103770,103771],{"class":1003},"\"adc18c1afbb74674b5853fb4350df70a\"\n",[984,103773,103774],{"class":986,"line":1098},[984,103775,1038],{"class":990},[89,103777,103778],{},[54,103779,103780],{},"result - unique session id. Reserved for the future use",[716,103782,103450],{"id":103450},[11,103784,103785],{},"Change wallet password. Wallet must be already opened when this method is called.",[866,103787,103789],{"className":978,"code":103788,"language":980,"meta":760,"style":760},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"change_password\",\n    \"params\":\n    {\n        \"new_pass\": \"new password\"\n    }\n}\n",[150,103790,103791,103795,103799,103809,103819,103830,103836,103840,103850,103854],{"__ignoreMap":760},[984,103792,103793],{"class":986,"line":987},[984,103794,103195],{"class":990},[984,103796,103797],{"class":986,"line":761},[984,103798,991],{"class":990},[984,103800,103801,103803,103805,103807],{"class":986,"line":772},[984,103802,997],{"class":996},[984,103804,1015],{"class":990},[984,103806,1004],{"class":1003},[984,103808,1021],{"class":990},[984,103810,103811,103813,103815,103817],{"class":986,"line":1024},[984,103812,1012],{"class":996},[984,103814,1015],{"class":990},[984,103816,1299],{"class":1003},[984,103818,1021],{"class":990},[984,103820,103821,103823,103825,103828],{"class":986,"line":1035},[984,103822,1027],{"class":996},[984,103824,1015],{"class":990},[984,103826,103827],{"class":1003},"\"change_password\"",[984,103829,1021],{"class":990},[984,103831,103832,103834],{"class":986,"line":1098},[984,103833,1521],{"class":996},[984,103835,1524],{"class":990},[984,103837,103838],{"class":986,"line":1111},[984,103839,1529],{"class":990},[984,103841,103842,103845,103847],{"class":986,"line":1124},[984,103843,103844],{"class":996},"        \"new_pass\"",[984,103846,1015],{"class":990},[984,103848,103849],{"class":1003},"\"new password\"\n",[984,103851,103852],{"class":986,"line":1137},[984,103853,1607],{"class":990},[984,103855,103856],{"class":986,"line":1150},[984,103857,1038],{"class":990},[89,103859,103860],{},[54,103861,103862],{},"new_pass - new wallet password",[866,103864,103866],{"className":978,"code":103865,"language":980,"meta":760,"style":760},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"done\"\n}\n",[150,103867,103868,103872,103876,103886,103896,103904],{"__ignoreMap":760},[984,103869,103870],{"class":986,"line":987},[984,103871,103305],{"class":990},[984,103873,103874],{"class":986,"line":761},[984,103875,991],{"class":990},[984,103877,103878,103880,103882,103884],{"class":986,"line":772},[984,103879,997],{"class":996},[984,103881,1015],{"class":990},[984,103883,1004],{"class":1003},[984,103885,1021],{"class":990},[984,103887,103888,103890,103892,103894],{"class":986,"line":1024},[984,103889,1012],{"class":996},[984,103891,1015],{"class":990},[984,103893,1299],{"class":1003},[984,103895,1021],{"class":990},[984,103897,103898,103900,103902],{"class":986,"line":1035},[984,103899,1724],{"class":996},[984,103901,1015],{"class":990},[984,103903,13399],{"class":1003},[984,103905,103906],{"class":986,"line":1098},[984,103907,1038],{"class":990},[89,103909,103910],{},[54,103911,103912],{},"result - \"done\" on success",[716,103914,103460],{"id":103460},[11,103916,103917],{},"Close (release) the currently opened wallet. Usually it is not necessary to call this method. Wallet would be automatically closed as soon as the web socket connection is released.",[866,103919,103921],{"className":978,"code":103920,"language":980,"meta":760,"style":760},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"release\"\n}\n\n",[150,103922,103923,103927,103931,103941,103951,103960],{"__ignoreMap":760},[984,103924,103925],{"class":986,"line":987},[984,103926,103195],{"class":990},[984,103928,103929],{"class":986,"line":761},[984,103930,991],{"class":990},[984,103932,103933,103935,103937,103939],{"class":986,"line":772},[984,103934,997],{"class":996},[984,103936,1015],{"class":990},[984,103938,1004],{"class":1003},[984,103940,1021],{"class":990},[984,103942,103943,103945,103947,103949],{"class":986,"line":1024},[984,103944,1012],{"class":996},[984,103946,1015],{"class":990},[984,103948,1299],{"class":1003},[984,103950,1021],{"class":990},[984,103952,103953,103955,103957],{"class":986,"line":1035},[984,103954,1027],{"class":996},[984,103956,1015],{"class":990},[984,103958,103959],{"class":1003},"\"release\"\n",[984,103961,103962],{"class":986,"line":1098},[984,103963,1038],{"class":990},[11,103965,103966],{},"This method does not have any parameters.",[866,103968,103969],{"className":978,"code":103865,"language":980,"meta":760,"style":760},[150,103970,103971,103975,103979,103989,103999,104007],{"__ignoreMap":760},[984,103972,103973],{"class":986,"line":987},[984,103974,103305],{"class":990},[984,103976,103977],{"class":986,"line":761},[984,103978,991],{"class":990},[984,103980,103981,103983,103985,103987],{"class":986,"line":772},[984,103982,997],{"class":996},[984,103984,1015],{"class":990},[984,103986,1004],{"class":1003},[984,103988,1021],{"class":990},[984,103990,103991,103993,103995,103997],{"class":986,"line":1024},[984,103992,1012],{"class":996},[984,103994,1015],{"class":990},[984,103996,1299],{"class":1003},[984,103998,1021],{"class":990},[984,104000,104001,104003,104005],{"class":986,"line":1035},[984,104002,1724],{"class":996},[984,104004,1015],{"class":990},[984,104006,13399],{"class":1003},[984,104008,104009],{"class":986,"line":1098},[984,104010,1038],{"class":990},[89,104012,104013],{},[54,104014,103912],{},[716,104016,923],{"id":923},[11,104018,104019],{},"Service method used to calculate change for the given transaction amount",[866,104021,104023],{"className":978,"code":104022,"language":980,"meta":760,"style":760},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"calc_change\",\n    \"params\":\n    {\n        \"amount\": 100\n    }\n}\n",[150,104024,104025,104029,104033,104043,104053,104063,104069,104073,104082,104086],{"__ignoreMap":760},[984,104026,104027],{"class":986,"line":987},[984,104028,103195],{"class":990},[984,104030,104031],{"class":986,"line":761},[984,104032,991],{"class":990},[984,104034,104035,104037,104039,104041],{"class":986,"line":772},[984,104036,997],{"class":996},[984,104038,1015],{"class":990},[984,104040,1004],{"class":1003},[984,104042,1021],{"class":990},[984,104044,104045,104047,104049,104051],{"class":986,"line":1024},[984,104046,1012],{"class":996},[984,104048,1015],{"class":990},[984,104050,1299],{"class":1003},[984,104052,1021],{"class":990},[984,104054,104055,104057,104059,104061],{"class":986,"line":1035},[984,104056,1027],{"class":996},[984,104058,1015],{"class":990},[984,104060,2442],{"class":1003},[984,104062,1021],{"class":990},[984,104064,104065,104067],{"class":986,"line":1098},[984,104066,1521],{"class":996},[984,104068,1524],{"class":990},[984,104070,104071],{"class":986,"line":1111},[984,104072,1529],{"class":990},[984,104074,104075,104077,104079],{"class":986,"line":1124},[984,104076,2459],{"class":996},[984,104078,1015],{"class":990},[984,104080,104081],{"class":996},"100\n",[984,104083,104084],{"class":986,"line":1137},[984,104085,1607],{"class":990},[984,104087,104088],{"class":986,"line":1150},[984,104089,1038],{"class":990},[89,104091,104092],{},[54,104093,104094],{},"amount - transaction amount in groth",[866,104096,104098],{"className":978,"code":104097,"language":980,"meta":760,"style":760},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": {\n        \"change\": 499999900,\n        \"change_str\": \"499999900\"\n    }\n}\n",[150,104099,104100,104104,104108,104118,104128,104134,104145,104154,104158],{"__ignoreMap":760},[984,104101,104102],{"class":986,"line":987},[984,104103,103305],{"class":990},[984,104105,104106],{"class":986,"line":761},[984,104107,991],{"class":990},[984,104109,104110,104112,104114,104116],{"class":986,"line":772},[984,104111,997],{"class":996},[984,104113,1015],{"class":990},[984,104115,1004],{"class":1003},[984,104117,1021],{"class":990},[984,104119,104120,104122,104124,104126],{"class":986,"line":1024},[984,104121,1012],{"class":996},[984,104123,1015],{"class":990},[984,104125,1299],{"class":1003},[984,104127,1021],{"class":990},[984,104129,104130,104132],{"class":986,"line":1035},[984,104131,1724],{"class":996},[984,104133,1083],{"class":990},[984,104135,104136,104138,104140,104143],{"class":986,"line":1098},[984,104137,2577],{"class":996},[984,104139,1015],{"class":990},[984,104141,104142],{"class":996},"499999900",[984,104144,1021],{"class":990},[984,104146,104147,104149,104151],{"class":986,"line":1111},[984,104148,2588],{"class":996},[984,104150,1015],{"class":990},[984,104152,104153],{"class":1003},"\"499999900\"\n",[984,104155,104156],{"class":986,"line":1124},[984,104157,1607],{"class":990},[984,104159,104160],{"class":986,"line":1137},[984,104161,1038],{"class":990},[89,104163,104164,104167],{},[54,104165,104166],{},"change - transaction change in groth",[54,104168,104169,104170,81654],{},"change_str - string representation of the ",[150,104171,2657],{},[716,104173,103466],{"id":103466},[11,104175,104176],{},"Just a convenience ping (are you alive?) method. It is recommended not to use this method but to rely on the underlying websocket infrastructure which already implements ping-pong control frames.",[866,104178,104180],{"className":978,"code":104179,"language":980,"meta":760,"style":760},"\u003C--\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"method\": \"ping\"\n}\n\n",[150,104181,104182,104186,104190,104200,104210,104219],{"__ignoreMap":760},[984,104183,104184],{"class":986,"line":987},[984,104185,103195],{"class":990},[984,104187,104188],{"class":986,"line":761},[984,104189,991],{"class":990},[984,104191,104192,104194,104196,104198],{"class":986,"line":772},[984,104193,997],{"class":996},[984,104195,1015],{"class":990},[984,104197,1004],{"class":1003},[984,104199,1021],{"class":990},[984,104201,104202,104204,104206,104208],{"class":986,"line":1024},[984,104203,1012],{"class":996},[984,104205,1015],{"class":990},[984,104207,1299],{"class":1003},[984,104209,1021],{"class":990},[984,104211,104212,104214,104216],{"class":986,"line":1035},[984,104213,1027],{"class":996},[984,104215,1015],{"class":990},[984,104217,104218],{"class":1003},"\"ping\"\n",[984,104220,104221],{"class":986,"line":1098},[984,104222,1038],{"class":990},[11,104224,103966],{},[866,104226,104228],{"className":978,"code":104227,"language":980,"meta":760,"style":760},"-->\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"123\",\n    \"result\": \"pong\"\n}\n",[150,104229,104230,104234,104238,104248,104258,104267],{"__ignoreMap":760},[984,104231,104232],{"class":986,"line":987},[984,104233,103305],{"class":990},[984,104235,104236],{"class":986,"line":761},[984,104237,991],{"class":990},[984,104239,104240,104242,104244,104246],{"class":986,"line":772},[984,104241,997],{"class":996},[984,104243,1015],{"class":990},[984,104245,1004],{"class":1003},[984,104247,1021],{"class":990},[984,104249,104250,104252,104254,104256],{"class":986,"line":1024},[984,104251,1012],{"class":996},[984,104253,1015],{"class":990},[984,104255,1299],{"class":1003},[984,104257,1021],{"class":990},[984,104259,104260,104262,104264],{"class":986,"line":1035},[984,104261,1724],{"class":996},[984,104263,1015],{"class":990},[984,104265,104266],{"class":1003},"\"pong\"\n",[984,104268,104269],{"class":986,"line":1098},[984,104270,1038],{"class":990},[89,104272,104273],{},[54,104274,104275],{},"result - \"pong\" on success",[716,104277,104279],{"id":104278},"wallet-api-methods",[18,104280,104281],{"name":104278},"wallet API methods",[11,104283,104284,104285,103136],{},"Wallet service also implements all the BEAM Wallet Protocol API methods. Please consult the ",[18,104286,78304],{"href":78302,"rel":104287},[22],[716,104289,104291],{"id":104290},"webassembly-keykeeper",[18,104292,104294],{"name":104293},"wasm-key-keeper","WebAssembly Keykeeper",[11,104296,104297],{},[18,104298,104301],{"href":104299,"rel":104300},"https:\u002F\u002Fbuilds.beam.mw\u002Ftestnet\u002F2020.06.16\u002FMinSizeRel\u002Fwasm\u002Fwasm-key-keeper.tar.gz",[22],"Get latest testnet version",[5542,104303,104305],{"id":104304},"keykeeper-initialization-example","Keykeeper initialization example:",[866,104307,104309],{"className":8806,"code":104308,"language":8808,"meta":760,"style":760},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then((Module) => console.log(`Key Keeper module successfully loaded.`))\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[150,104310,104311,104321,104329,104347,104361,104387,104395],{"__ignoreMap":760},[984,104312,104313,104315,104317,104319],{"class":986,"line":987},[984,104314,8815],{"class":990},[984,104316,8819],{"class":8818},[984,104318,8822],{"class":5316},[984,104320,8825],{"class":990},[984,104322,104323,104325,104327],{"class":986,"line":761},[984,104324,8830],{"class":990},[984,104326,8808],{"class":8818},[984,104328,8825],{"class":990},[984,104330,104331,104333,104335,104337,104339,104341,104343,104345],{"class":986,"line":772},[984,104332,8830],{"class":990},[984,104334,8841],{"class":8818},[984,104336,8844],{"class":5316},[984,104338,5298],{"class":990},[984,104340,8849],{"class":1003},[984,104342,8852],{"class":990},[984,104344,8841],{"class":8818},[984,104346,8825],{"class":990},[984,104348,104349,104351,104353,104355,104357,104359],{"class":986,"line":1024},[984,104350,8830],{"class":990},[984,104352,8841],{"class":8818},[984,104354,8865],{"class":5316},[984,104356,5298],{"class":990},[984,104358,8870],{"class":1003},[984,104360,8825],{"class":990},[984,104362,104363,104365,104367,104369,104371,104373,104375,104377,104379,104381,104383,104385],{"class":986,"line":1035},[984,104364,8877],{"class":5316},[984,104366,8880],{"class":990},[984,104368,8883],{"class":5316},[984,104370,101802],{"class":990},[984,104372,9177],{"class":9176},[984,104374,11675],{"class":990},[984,104376,8889],{"class":5291},[984,104378,8892],{"class":990},[984,104380,8895],{"class":5316},[984,104382,8898],{"class":990},[984,104384,8901],{"class":1003},[984,104386,8904],{"class":990},[984,104388,104389,104391,104393],{"class":986,"line":1098},[984,104390,8909],{"class":990},[984,104392,8841],{"class":8818},[984,104394,8825],{"class":990},[984,104396,104397,104399,104401],{"class":986,"line":1111},[984,104398,8909],{"class":990},[984,104400,8808],{"class":8818},[984,104402,8825],{"class":990},[5542,104404,104406],{"id":104405},"wallet-service-client-keykeeper-methods",[18,104407,104409],{"name":104408},"keykeeper-client-metods","Wallet Service client keykeeper methods",[89,104411,104412,104418,104423,104428,104433,104438],{},[54,104413,104414],{},[18,104415,104417],{"href":104416},"#keykeeper-methods","get_kdf",[54,104419,104420],{},[18,104421,104422],{"href":104416},"get_slots",[54,104424,104425],{},[18,104426,104427],{"href":104416},"create_output",[54,104429,104430],{},[18,104431,104432],{"href":104416},"sign_receiver",[54,104434,104435],{},[18,104436,104437],{"href":104416},"sign_sender",[54,104439,104440],{},[18,104441,104442],{"href":104416},"sign_split",[11,104444,104445],{},"These methods are supported by the default WASM keykeeper. Wallet Service Client should just implement a simple proxy:",[866,104447,104449],{"className":8806,"code":104448,"language":8808,"meta":760,"style":760},"\u003C!DOCTYPE html>\n\u003Chtml>\n\u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    Module().then((Module) => {\n        var connection = null;\n        var endpoint = 'ws:\u002F\u002Furl-to-service';\n        var seed = Module.KeyKeeper.GeneratePhrase();\n    var keykeeper = new Module.KeyKeeper(seed);\n        connection = new WebSocket(endpoint);\n        connection.onmessage = e =>  {\n        var data = JSON.parse(e.data);\n            if(data.method) {\n            var res = keykeeper.invokeServiceMethod(e.data);\n        connection.send(res);\n        }\n       }\n    })\n\u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[150,104450,104451,104461,104469,104487,104501,104519,104531,104545,104559,104577,104591,104605,104622,104629,104644,104653,104657,104662,104666,104674],{"__ignoreMap":760},[984,104452,104453,104455,104457,104459],{"class":986,"line":987},[984,104454,8815],{"class":990},[984,104456,8819],{"class":8818},[984,104458,8822],{"class":5316},[984,104460,8825],{"class":990},[984,104462,104463,104465,104467],{"class":986,"line":761},[984,104464,8830],{"class":990},[984,104466,8808],{"class":8818},[984,104468,8825],{"class":990},[984,104470,104471,104473,104475,104477,104479,104481,104483,104485],{"class":986,"line":772},[984,104472,8830],{"class":990},[984,104474,8841],{"class":8818},[984,104476,8844],{"class":5316},[984,104478,5298],{"class":990},[984,104480,8849],{"class":1003},[984,104482,8852],{"class":990},[984,104484,8841],{"class":8818},[984,104486,8825],{"class":990},[984,104488,104489,104491,104493,104495,104497,104499],{"class":986,"line":1024},[984,104490,8830],{"class":990},[984,104492,8841],{"class":8818},[984,104494,8865],{"class":5316},[984,104496,5298],{"class":990},[984,104498,8870],{"class":1003},[984,104500,8825],{"class":990},[984,104502,104503,104505,104507,104509,104511,104513,104515,104517],{"class":986,"line":1035},[984,104504,8877],{"class":5316},[984,104506,8880],{"class":990},[984,104508,8883],{"class":5316},[984,104510,101802],{"class":990},[984,104512,9177],{"class":9176},[984,104514,11675],{"class":990},[984,104516,8889],{"class":5291},[984,104518,101184],{"class":990},[984,104520,104521,104523,104525,104527,104529],{"class":986,"line":1098},[984,104522,11694],{"class":5291},[984,104524,9038],{"class":990},[984,104526,5298],{"class":5291},[984,104528,100830],{"class":996},[984,104530,11606],{"class":990},[984,104532,104533,104535,104538,104540,104543],{"class":986,"line":1111},[984,104534,11694],{"class":5291},[984,104536,104537],{"class":990}," endpoint ",[984,104539,5298],{"class":5291},[984,104541,104542],{"class":1003}," 'ws:\u002F\u002Furl-to-service'",[984,104544,11606],{"class":990},[984,104546,104547,104549,104551,104553,104555,104557],{"class":986,"line":1124},[984,104548,11694],{"class":5291},[984,104550,9269],{"class":990},[984,104552,5298],{"class":5291},[984,104554,9274],{"class":990},[984,104556,9277],{"class":5316},[984,104558,11468],{"class":990},[984,104560,104561,104564,104566,104568,104570,104572,104574],{"class":986,"line":1137},[984,104562,104563],{"class":5291},"    var",[984,104565,9315],{"class":990},[984,104567,5298],{"class":5291},[984,104569,9043],{"class":5291},[984,104571,9322],{"class":990},[984,104573,9325],{"class":5316},[984,104575,104576],{"class":990},"(seed);\n",[984,104578,104579,104582,104584,104586,104588],{"class":986,"line":1150},[984,104580,104581],{"class":990},"        connection ",[984,104583,5298],{"class":5291},[984,104585,9043],{"class":5291},[984,104587,9046],{"class":5316},[984,104589,104590],{"class":990},"(endpoint);\n",[984,104592,104593,104595,104597,104599,104601,104603],{"class":986,"line":1163},[984,104594,9058],{"class":990},[984,104596,9675],{"class":5316},[984,104598,9064],{"class":5291},[984,104600,9680],{"class":9176},[984,104602,9180],{"class":5291},[984,104604,6866],{"class":990},[984,104606,104607,104609,104611,104613,104615,104617,104619],{"class":986,"line":1176},[984,104608,11694],{"class":5291},[984,104610,9701],{"class":990},[984,104612,5298],{"class":5291},[984,104614,9706],{"class":996},[984,104616,385],{"class":990},[984,104618,9711],{"class":5316},[984,104620,104621],{"class":990},"(e.data);\n",[984,104623,104624,104626],{"class":986,"line":1189},[984,104625,102606],{"class":5291},[984,104627,104628],{"class":990},"(data.method) {\n",[984,104630,104631,104634,104636,104638,104640,104642],{"class":986,"line":1202},[984,104632,104633],{"class":5291},"            var",[984,104635,11697],{"class":990},[984,104637,5298],{"class":5291},[984,104639,9845],{"class":990},[984,104641,9809],{"class":5316},[984,104643,104621],{"class":990},[984,104645,104646,104648,104650],{"class":986,"line":1211},[984,104647,9058],{"class":990},[984,104649,9803],{"class":5316},[984,104651,104652],{"class":990},"(res);\n",[984,104654,104655],{"class":986,"line":1217},[984,104656,9333],{"class":990},[984,104658,104659],{"class":986,"line":1229},[984,104660,104661],{"class":990},"       }\n",[984,104663,104664],{"class":986,"line":1241},[984,104665,9085],{"class":990},[984,104667,104668,104670,104672],{"class":986,"line":1254},[984,104669,8909],{"class":990},[984,104671,8841],{"class":8818},[984,104673,8825],{"class":990},[984,104675,104676,104678,104680],{"class":986,"line":1266},[984,104677,8909],{"class":990},[984,104679,8808],{"class":8818},[984,104681,8825],{"class":990},[84826,104683,104684,104698],{},[84829,104685,104686],{},[84832,104687,104688,104690,104692,104695],{},[84835,104689,100063],{},[84835,104691,4407],{},[84835,104693,104694],{},"Arguments",[84835,104696,104697],{},"Return",[84842,104699,104700,104713,104726,104740,104754,104766],{},[84832,104701,104702,104704,104707,104710],{},[84847,104703,9848],{},[84847,104705,104706],{},"get owner key from password",[84847,104708,104709],{},"wallet password (string)",[84847,104711,104712],{},"owner key (string)",[84832,104714,104715,104717,104720,104723],{},[84847,104716,100268],{},[84847,104718,104719],{},"get token data",[84847,104721,104722],{},"token (string)",[84847,104724,104725],{},"PeerID (string), PeerWalletIdentity (string), TransactionType (number), tx_id (number)",[84832,104727,104728,104731,104734,104737],{},[84847,104729,104730],{},"getSendToken",[84847,104732,104733],{},"generate token",[84847,104735,104736],{},"sbbsAddressHex (string), identityStrHex (string), amountBase64 (string)",[84847,104738,104739],{},"key (string)",[84832,104741,104742,104745,104748,104751],{},[84847,104743,104744],{},"getWalletID",[84847,104746,104747],{},"get wallet id",[84847,104749,104750],{},"-",[84847,104752,104753],{},"wallet id (string)",[84832,104755,104756,104758,104761,104763],{},[84847,104757,9277],{},[84847,104759,104760],{},"generate seed phrase",[84847,104762,104750],{},[84847,104764,104765],{},"seed phrase (string)",[84832,104767,104768,104770,104773,104775],{},[84847,104769,100257],{},[84847,104771,104772],{},"seed phrase validation",[84847,104774,104750],{},[84847,104776,104777],{},"is seed valid (boolean)",[5542,104779,104781],{"id":104780},"minimal-wallet-implementation-example","Minimal Wallet implementation example:",[866,104783,104786],{"className":104784,"code":104785,"language":871},[869],"﻿\u003C!doctype html>\n\u003Chtml lang=\"en\">\n\u003Chead>\n    \u003Ctitle>Beam Wallet Client\u003C\u002Ftitle>\n\n    \u003Cmeta charset=\"utf-8\">\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n\n    \u003Clink rel=\"stylesheet\" href=\"https:\u002F\u002Fstackpath.bootstrapcdn.com\u002Fbootstrap\u002F4.3.1\u002Fcss\u002Fbootstrap.min.css\" integrity=\"sha384-ggOyR0iXCbMQv3Xipma34MD+dH\u002F1fQ784\u002Fj6cY\u002FiJTQUOhcWr7x9JvoRxT2MZw1T\" crossorigin=\"anonymous\">\n\u003C\u002Fhead>\n\n\u003Cbody>\n    \u003Cdiv class=\"container\">\n        \u003Ch1 class=\"text-center\">Beam Wallet Client\u003C\u002Fh1>\n        \u003Chr>\n\n        \u003Chr>\n        \u003Cdiv id=\"login-panel\">\n          \u003Cspan class=\"badge badge-danger\">status: logging in, please wait...\u003C\u002Fspan>\n        \u003C\u002Fdiv>\n\n        \u003Cdiv id=\"connecting-panel\" style=\"display: none;\">\n            \u003Cspan class=\"badge badge-danger\">status: connecting to the Wallet Service, please wait...\u003C\u002Fspan>\n        \u003C\u002Fdiv>\n\n        \u003Cform id=\"create-wallet-panel\" style=\"display: none;\">\n            \u003Cdiv class=\"form-group\">\n                \u003Cspan class=\"badge badge-success\">status: connected to the Wallet Service\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Clabel for=\"seed-phrase-input\">Generated seed phrase:\u003C\u002Flabel>\n                \u003Cinput disabled type=\"text\" class=\"seed-phrase-input form-control\" placeholder=\"Enter seed phrase\">\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Clabel for=\"wallet-pass-input\">Enter wallet password:\u003C\u002Flabel>\n                \u003Cinput type=\"password\" class=\"wallet-pass-input form-control\" placeholder=\"Enter wallet password\" value=\"456\">\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Cbutton type=\"button\" class=\"create-wallet-button btn btn-primary\">\n                    \u003Cspan class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" style=\"display: none;\">\u003C\u002Fspan>\n                    Create new wallet\n                \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n        \u003C\u002Fform>\n\n        \u003Cform id=\"open-wallet-panel\" style=\"display: none;\">\n            \u003Cdiv class=\"form-group\">\n                \u003Cspan class=\"badge badge-success\">status: connected to the Wallet Service\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Clabel for=\"wallet-pass-input\">Enter wallet password:\u003C\u002Flabel>\n                \u003Cinput type=\"password\" class=\"wallet-pass-input form-control\" placeholder=\"Enter wallet password\" value=\"456\">\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Cbutton type=\"button\" class=\"open-wallet-button btn btn-primary\">\n                    \u003Cspan class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" style=\"display: none;\">\u003C\u002Fspan>\n                    Open wallet\n                \u003C\u002Fbutton>\n                or\n                \u003Cbutton type=\"button\" class=\"delete-wallet-button btn btn-danger\">\n                        \u003Cspan class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\" style=\"display: none;\">\u003C\u002Fspan>\n                        Delete wallet\n                \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n        \u003C\u002Fform>\n\n        \u003Cform id=\"wallet-panel\" style=\"display: none;\">\n            \u003Cdiv class=\"form-group\">\n                \u003Cspan class=\"badge badge-success\">status: connected to the Wallet Service\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                \u003Cdiv>Available: \u003Cspan class=\"available\">\u003C\u002Fspan>\u003C\u002Fdiv>\n                \u003Cdiv>Sending: \u003Cspan class=\"sending\">\u003C\u002Fspan>\u003C\u002Fdiv>\n                \u003Cdiv>Receiving: \u003Cspan class=\"receiving\">\u003C\u002Fspan>\u003C\u002Fdiv>\n            \u003C\u002Fdiv>\n            \u003Cdiv class=\"form-group\">\n                Current height: \u003Cspan class=\"current_height\">\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Chr>\n            \u003Ch3>Send\u003C\u002Fh3>\n                \u003Cdiv class=\"form-group\">\n                    \u003Clabel for=\"receiver-address-input\">Enter receiver address:\u003C\u002Flabel>\n                    \u003Cinput type=\"text\" class=\"receiver-address-input form-control\" placeholder=\"Enter receiver address\" value=\"19f3b39d925ce49f19f67c3787b54bfe4414d490f0acf42b58527a23608427bbb34\">\n                \u003C\u002Fdiv>\n                \u003Cdiv class=\"form-group\">\n                    \u003Clabel for=\"amount-input\">Enter amount (GROTH):\u003C\u002Flabel>\n                    \u003Cinput type=\"text\" class=\"amount-input form-control\" placeholder=\"Enter amount\">\n                \u003C\u002Fdiv>\n                \u003Cbutton type=\"button\" class=\"send-button btn btn-danger\">\n                    Send\n                \u003C\u002Fbutton>               \n            \u003Chr>\n            \u003Ch3>Transactions\u003C\u002Fh3>\n            \u003Ctable class=\"table transactions\">\n                \u003Cthead>\n                    \u003Ctr>\n                        \u003Cth>#\u003C\u002Fth>\n                        \u003Cth>created\u003C\u002Fth>\n                        \u003Cth>receiver\u003C\u002Fth>\n                        \u003Cth>sender\u003C\u002Fth>\n                        \u003Cth>amount\u003C\u002Fth>\n                        \u003Cth>status\u003C\u002Fth>\n                    \u003C\u002Ftr>\n                \u003C\u002Fthead>\n                \u003Ctbody>\u003C\u002Ftbody>\n            \u003C\u002Ftable>\n            \u003Chr>\n            \u003Ch3>Addresses\u003C\u002Fh3>\n            \u003Ctable class=\"table addresses\">\n                \u003Cthead>\n                    \u003Ctr>\n                        \u003Cth>#\u003C\u002Fth>\n                        \u003Cth>address\u003C\u002Fth>\n                        \u003Cth>comment\u003C\u002Fth>\n                        \u003Cth>create time\u003C\u002Fth>\n                        \u003Cth>duration\u003C\u002Fth>\n                        \u003Cth>expired\u003C\u002Fth>\n                        \u003Cth>own\u003C\u002Fth>\n                    \u003C\u002Ftr>\n                \u003C\u002Fthead>\n                \u003Ctbody>\u003C\u002Ftbody>\n            \u003C\u002Ftable>\n            \u003Cdiv id=\"push-panel\" style=\"display:none\">\n            \u003Cbutton class=\"btn btn-secondary\" id=\"push-enable\" style=\"display:none\">Enable Push Notifications\u003C\u002Fbutton>\n            \u003Cbutton class=\"btn btn-secondary\" id=\"push-disable\" style=\"display:none\">Disable Push Notifications\u003C\u002Fbutton>\n            \u003Cspan id=\"push-blocked\" style=\"display:none\">Push notifications are blocked by user\u003C\u002Fspan>\n            \u003C\u002Fdiv>\n            \u003Chr>\n            \u003Ch3>UTXO\u003C\u002Fh3>\n            \u003Ctable class=\"table utxo\">\n                \u003Cthead>\n                    \u003Ctr>\n                        \u003Cth>#\u003C\u002Fth>\n                        \u003Cth>amount\u003C\u002Fth>\n                        \u003Cth>id\u003C\u002Fth>\n                        \u003Cth>maturity\u003C\u002Fth>\n                        \u003Cth>status\u003C\u002Fth>\n                        \u003Cth>type\u003C\u002Fth>\n                    \u003C\u002Ftr>\n                \u003C\u002Fthead>\n                \u003Ctbody>\u003C\u002Ftbody>\n            \u003C\u002Ftable>\n            \u003Chr>\n            \u003Cbutton type=\"button\" class=\"close-wallet-button btn btn-secondary\">\n                Close wallet\n            \u003C\u002Fbutton>\n        \u003C\u002Fform>     \n    \n    \u003C\u002Fdiv>\n\u003C\u002Fbody>\n    \u003Cscript src='wasm-key-keeper.js'>\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fcode.jquery.com\u002Fjquery-3.3.1.slim.min.js\" integrity=\"sha384-q8i\u002FX+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo\" crossorigin=\"anonymous\">\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fcdnjs.cloudflare.com\u002Fajax\u002Flibs\u002Fpopper.js\u002F1.14.7\u002Fumd\u002Fpopper.min.js\" integrity=\"sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1\" crossorigin=\"anonymous\">\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fstackpath.bootstrapcdn.com\u002Fbootstrap\u002F4.3.1\u002Fjs\u002Fbootstrap.min.js\" integrity=\"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf\u002FnJGzIxFDsf4x0xIM+B07jRM\" crossorigin=\"anonymous\">\u003C\u002Fscript>\n    \u003Cscript type=\"module\">\n    import WebPush from '.\u002Fwebpush.js'\n    Module().then(function(Module) {\n        let keykeeper = null\n        var loginConnection = null\n        var connection = null\n        var webpush = null\n        var defaddr = null\n\n        login()\n\n        \u002F\u002F If you change walletID\u002Fseed you should ALWAYS relogin\n        \u002F\u002F If you lose loginConnection or connection, ALWAYS relogin\n        \u002F\u002F Both loginConnection & connection should be active\n        function login() {\n            \u002F\u002Fkeykeeper = initKeyKeeper(\"giraffe usage sad arrest sound chimney file select monster head clown ask\")\n            \u002F\u002FlocalStorage.seed = \"giraffe usage sad arrest sound chimney file select monster head clown ask\"\n            \u002F\u002FlocalStorage.id = keykeeper.getWalletID()\n\n            if (localStorage.id && localStorage.seed) {\n                console.log(`Stored WalletID:${localStorage.id}`)\n                console.log(`Stored Seed: ${localStorage.seed}`)\n                keykeeper = initKeyKeeper(localStorage.seed)\n                console.log(`Keykeeper created`);\n            } else {\n                let seed = Module.KeyKeeper.GeneratePhrase()\n                console.log(`New Seed: ${seed}`)\n                keykeeper = initKeyKeeper(seed)\n                console.log(`New WalletID: ${keykeeper.getWalletID()}`)\n                $('#create-wallet-panel .seed-phrase-input').val(seed)\n            }\n\n            console.log(\"Logging in...\")\n            loginConnection = new WebSocket('ws:\u002F\u002F127.0.0.1:20000\u002Fws')\n\n            loginConnection.onclose = () => {\n                console.log('login_ws: connection lost')\n                loginConnection = null\n                relogin()\n            }\n\n            loginConnection.onerror = error => {\n                console.log(`login_ws: connection error: ${JSON.stringify(error)}`)\n            }\n\n            loginConnection.onopen = () => {\n                console.log('login_ws: connected...')\n\n                let loginParams = {\n                    WalletID: keykeeper.getWalletID()\n                }\n\n                loginConnection.send(JSON.stringify({\n                    jsonrpc: \"2.0\",\n                    id: 123,\n                    method: \"login\",\n                    params: loginParams\n                }))\n            }\n\n            loginConnection.onmessage = e => {\n                let data = JSON.parse(e.data)\n\n                if (data.result) {\n                    console.log(`login_ws: result is ${JSON.stringify(data.result)}`)\n                    if (data.id === 123) {\n                        console.log(\"login_ws: OK, endpoint is \", data.result.endpoint)\n                        let endpoint = ['ws:\u002F\u002F', data.result.endpoint].join('');\n                        start(endpoint)\n                    }\n                } else {\n                    console.log(\"login_ws: failed\")\n                    if (data.error) {\n                        console.log(`login_ws: error code:${data.error.code} text:${data.error.data}`)\n                    }\n                }\n            }\n        }\n\n        function relogin () {\n            console.log('relogin in 5 seconds...')\n            setTimeout(() => login(), 5000)\n            showPanel('#connecting-panel')\n        }\n\n        function start(url) {\n            console.log(\"STARTING...\")\n            showPanel('#connecting-panel')\n            connection = new WebSocket(url)\n\n            connection.onerror = error => {\n                console.log(`connection error: ${JSON.stringify(error)}`)\n            }\n\n            connection.onopen = () => {\n                console.log('Connected to the Wallet Servce...')\n                if (localStorage.id) {\n                    showPanel('#open-wallet-panel')\n                } else {\n                    showPanel('#create-wallet-panel')\n                }\n            }\n\n            connection.onclose = () =>\n            {\n                console.log('connection lost...')\n                connection = null\n                loginConnection.close()\n            }\n        }\n\n        function showPanel(id) {\n            ['#login-panel', '#connecting-panel', '#create-wallet-panel', '#open-wallet-panel', '#wallet-panel'].forEach(name => $(name).hide())\n            $(id).show()\n        }\n\n        function initKeyKeeper(seed) {\n            return new Module.KeyKeeper(seed);\n        }\n\n        function onkeykeeper(data) {\n            console.log(`\u003C\u003C\u003C keykeeper request: ${data}`)\n            let res = keykeeper.invokeServiceMethod(data)\n            console.log(`>>> keykeeper response: ${res}`)\n            connection.send(res);\n        }\n\n        \u002F*function refresh()\n        {\n            if(localStorage.id) {\n                showPanel('#open-wallet-panel')\n            }\n            else\n            {\n                $('#create-wallet-panel .seed-phrase-input').val(Module.KeyKeeper.GeneratePhrase())\n                showPanel('#create-wallet-panel')\n            }\n        }*\u002F\n\n        $('#create-wallet-panel .create-wallet-button').click(() =>\n        {\n            let seed = $('#create-wallet-panel .seed-phrase-input').val()\n            console.log(`Creating new wallet with seed phrase: ${seed}`)\n\n            var walletPass = $('#create-wallet-panel .wallet-pass-input').val()\n            var ownerKey = keykeeper.getOwnerKey(walletPass)\n            console.log('ownerKey is: data:application\u002Foctet-stream;base64,' + ownerKey)\n\n            $('#create-wallet-panel .create-wallet-button')\n                .attr('disabled', true)\n                .find('.spinner-border').show()\n\n            connection.onmessage = e =>  {\n                console.log(`got response: ${e.data}`)\n\n                var data = JSON.parse(e.data)\n\n                if(data.result && data.result.length)\n                {\n                    console.log(`result is: ${data.result}`)\n\n                    localStorage.clear()\n                    localStorage.seed = seed\n                    localStorage.id = data.result\n\n                    $('#create-wallet-panel .create-wallet-button')\n                        .attr('disabled', false)\n                        .find('.spinner-border').hide()\n\n                    showPanel('#open-wallet-panel')\n                }\n                else if(data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if(data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify(\n            {\n                jsonrpc:'2.0',\n                id: 0,\n                method: 'create_wallet',\n                params:\n                {\n                    pass: walletPass,\n                    ownerkey: ownerKey\n                }\n            }))\n        })\n\n        $('#open-wallet-panel .delete-wallet-button').click(() => {\n            if (confirm('Are you sure want do delete current wallet data?')) {\n                pushNotifyUnsub(defaddr)\n                localStorage.clear()\n                connection.close()\n            }\n        })\n\n        $('#wallet-panel .close-wallet-button').click(() => {\n            if (confirm('Are you sure want do close the wallet?')) {\n                connection.close()\n            }\n        })\n\n        $('#open-wallet-panel .open-wallet-button').click(() => {\n            console.log(`Opening wallet with seed phrase: ${localStorage.seed}`)\n            let walletPass = $('#open-wallet-panel .wallet-pass-input').val()\n            let walletID = keykeeper.getWalletID()\n\n            console.log(`walletID: ${walletID}`)\n            connection.onmessage = e => {\n                console.log(`open wallet got response: ${e.data}`)\n                let data = JSON.parse(e.data)\n                if (data.result && data.result.length) {\n                    console.log(`wallet session: ${data.result}`)\n                    showPanel('#wallet-panel')\n                    showWalletStatus()\n                } else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'open_wallet',\n                params: {\n                    id: localStorage.id,\n                    pass: walletPass\n                }\n            }))\n        })\n\n        function showWalletStatus() {\n            \u002F\u002F unsubscribe if any\n            pushNotifyUnsub(defaddr)\n\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if (data.result) {\n                    $(\"#wallet-panel .available\").text(data.result.available)\n                    $(\"#wallet-panel .sending\").text(data.result.sending)\n                    $(\"#wallet-panel .receiving\").text(data.result.receiving)\n                    $(\"#wallet-panel .current_height\").text(data.result.current_height)\n                    showAddresses()\n                } else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'wallet_status'\n            }))\n        }\n\n        function showAddresses() {\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if(data.result) {\n                    let body = $('#wallet-panel .addresses > tbody').empty()\n                    data.result.forEach && data.result.forEach((item, index) => {\n                        if (index === 0) defaddr = item\n                        console.log(JSON.stringify(item))\n                        body.append(`\u003Ctr>\n                                        \u003Ctd>${index+1}\u003C\u002Ftd>\n                                        \u003Ctd>${item.address}\u003C\u002Ftd>\n                                        \u003Ctd>${item.comment}\u003C\u002Ftd>\n                                        \u003Ctd>${item.create_time}\u003C\u002Ftd>\n                                        \u003Ctd>${item.duration}\u003C\u002Ftd>\n                                        \u003Ctd>${item.expired}\u003C\u002Ftd>\n                                        \u003Ctd>${item.own}\u003C\u002Ftd>\n                                    \u003C\u002Ftr>`)\n                    })\n                    if (defaddr) {\n                        showPush()\n                    }\n                    showUtxo()\n                }\n                else if(data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if(data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'addr_list',\n                params: {\n                    own: true\n                }\n            }))\n        }\n        \n        async function pushNotifySub(addr) {\n            return new Promise((resolve, reject) => {\n                if (!addr) reject()\n                return webpush.notifyServer(true, loginConnection, {\n                    SbbsAddress: keykeeper.getSbbsAddress(addr.own_id_str),\n                    SbbsAddressPrivate: keykeeper.getSbbsAddressPrivate(addr.own_id_str),\n                    ExpiresAt: addr.create_time + addr.duration\n                })\n            })\n        }\n\n        async function pushNotifyUnsub(addr) {\n            return new Promise((resolve, reject) => {\n                if (!addr) reject()\n\n                if (!webpush.userSubscribed) {\n                    console.log('unsub: no previous subscription')\n                    reject()\n                    return\n                }\n                return webpush.notifyServer(false, loginConnection, {\n                    SbbsAddress: keykeeper.getSbbsAddress(addr.own_id_str),\n                    SbbsAddressPrivate: keykeeper.getSbbsAddressPrivate(addr.own_id_str)\n                })\n            })\n        }\n\n        function showPush() {\n            webpush = new Proxy(new WebPush(), {\n                set: function(obj, prop, value) {\n                    if (prop === \"subscription\") {\n                        if (value) {\n                            $(\"#push-enable\").hide()\n                            $(\"#push-disable\").show()\n                        } else {\n                            $(\"#push-enable\").show()\n                            $(\"#push-disable\").hide()\n                        }\n                        $(\"#push-panel\").show()\n                    }\n                    obj[prop] = value\n                    return true\n                }\n            })\n\n            if (webpush.blockedByUser) {\n                console.log(\"notifications blocked by user\")\n                $(\"#push-blocked\").show()\n                $(\"#push-panel\").show()\n                \u002F\u002F may be push was disabled in settings\n                \u002F\u002F remove any previous subscriptions\n                \u002F\u002F TODO: check the same on service worker start (if possible)\n                pushNotifyUnsub(defaddr)\n            } else {\n                console.log(\"notifications enabled, notifying server\");\n                (async () => {\n                    if (await webpush.register(loginConnection)) {\n                        await pushNotifySub(defaddr)\n                        console.log(\"Push notification - OK\")\n                    }\n                })()\n            }\n\n            $(\"#push-enable\").click(() => {\n                (async () => {\n                    if (await webpush.subscribe()) {\n                        await pushNotifySub(defaddr)\n                    }\n                })()\n                return true\n            })\n\n            $(\"#push-disable\").click(() => {\n                (async () => {\n                    await pushNotifyUnsub()\n                    await webpush.unsubscribe()\n                })()\n                return true\n            })\n        }\n\n        function showUtxo() {\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if (data.result) {\n                    let body = $('#wallet-panel .utxo > tbody').empty()\n                    data.result.forEach && data.result.forEach((item, index) => body.append(`\u003Ctr>\n                            \u003Ctd>${index + 1}\u003C\u002Ftd>\n                            \u003Ctd>${item.amount}\u003C\u002Ftd>\n                            \u003Ctd>${item.id}\u003C\u002Ftd>\n                            \u003Ctd>${item.maturity}\u003C\u002Ftd>\n                            \u003Ctd>${item.status_string}\u003C\u002Ftd>\n                            \u003Ctd>${item.type}\u003C\u002Ftd>\n                            \u003C\u002Ftr>`))\n                    showTransactions()\n                } else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'get_utxo'\n            }))\n        }\n\n        function showTransactions() {\n            connection.onmessage = e => {\n                let data = JSON.parse(e.data)\n                if (data.result) {\n                    let body = $('#wallet-panel .transactions > tbody').empty()\n                    data.result.forEach && data.result.forEach((item, index) => {\n                        body.append(`\u003Ctr>\n                            \u003Ctd>${index + 1}\u003C\u002Ftd>\n                            \u003Ctd>${new Date(item.create_time * 1000).toLocaleString()}\u003C\u002Ftd>\n                            \u003Ctd>${item.receiver.slice(0, 32)}...\u003C\u002Ftd>\n                            \u003Ctd>${item.sender.slice(0, 32)}...\u003C\u002Ftd>\n                            \u003Ctd>${item.value}\u003C\u002Ftd>\n                            \u003Ctd>${item.status_string}\u003C\u002Ftd>\n                            \u003C\u002Ftr>`)\n                    })\n                } else onkeykeeper(e.data)\n                if ($('#wallet-panel').is(\":visible\"))\n                    setTimeout(showWalletStatus, 5000)\n            }\n\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 0,\n                method: 'tx_list'\n            }))\n        }\n\n        $('#wallet-panel .send-button').click(() => {\n            let addr = $('#wallet-panel .receiver-address-input').val()\n            if (addr.length === 0) {\n                alert('Please, enter valid address.')\n                return\n            }\n\n            let amount = $('#wallet-panel .amount-input').val()\n            if (isNaN(parseInt(amount))) {\n                alert('Please, enter valid amount.')\n                return\n            }\n\n            if (confirm(`Are you sure want send ${amount} groth to ${addr}?`)) {\n                $('#wallet-panel .amount-input').val('')\n                send(parseInt(amount), addr)\n            }\n        })\n\n        function send(amount, address) {\n            console.log(`!!! sending ${amount} groth to ${address}...`)\n            connection.onmessage = (e) => {\n                let data = JSON.parse(e.data)\n                if (data.result)\n                    console.log(`result is ${data.result}`)\n                else if (data.error)\n                    console.log(`error occured, code:${data.error.code} text:${data.error.data}`)\n                else if (data.method)\n                    onkeykeeper(e.data)\n            }\n            connection.send(JSON.stringify({\n                jsonrpc: \"2.0\",\n                id: 123,\n                method: \"tx_send\",\n                params: {\n                    value: amount,\n                    fee: 100,\n                    address: address,\n                    comment: \"thank you!\"\n                }\n            }))\n        }\n\n        function createNewTestAddr() {\n            connection.send(JSON.stringify({\n                jsonrpc: '2.0',\n                id: 123,\n                method: 'create_address',\n                params:\n                        {\n                            expiration: '24h',\n                            comment: 'John Smith'\n                        }\n            }))\n        }\n    })\n    \u003C\u002Fscript>\n\u003C\u002Fhtml>\n",[150,104787,104785],{"__ignoreMap":760},[26,104789,104791],{"id":104790},"reference-wallet-implementation","Reference Wallet Implementation",[11,104793,104794],{},"We provide the reference web wallet implementation that combines all the described APIs together and yields the working chrome extension.",[89,104796,104797,104806],{},[54,104798,104799,104800,104805],{},"Check out the ",[18,104801,104804],{"href":104802,"rel":104803},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fweb-wallet",[22],"web-wallet repository"," for the source code",[54,104807,104808,104809],{},"Install the testnet ",[18,104810,104813],{"href":104811,"rel":104812},"https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Fbeam-web-wallet-testnet\u002Filhaljfiglknggcoegeknjghdgampffk?hl=en",[22],"chrome extension",[2685,104815,104816],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s4JwU, html code.shiki .s4JwU{--shiki-default:#85E89D}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}",{"title":760,"searchDepth":761,"depth":761,"links":104818},[104819,104820,104821,104822,104823,104838],{"id":102879,"depth":761,"text":102880},{"id":103028,"depth":761,"text":103029},{"id":103083,"depth":761,"text":103084},{"id":103090,"depth":761,"text":103093},{"id":103111,"depth":761,"text":103112,"children":104824},[104825,104826,104827,104828,104829,104830,104831,104832,104833,104834,104835,104836,104837],{"id":103139,"depth":772,"text":103140},{"id":10151,"depth":772,"text":10151},{"id":100159,"depth":772,"text":100159},{"id":100170,"depth":772,"text":100170},{"id":103427,"depth":772,"text":103428},{"id":9363,"depth":772,"text":9363},{"id":103444,"depth":772,"text":103444},{"id":103450,"depth":772,"text":103450},{"id":103460,"depth":772,"text":103460},{"id":923,"depth":772,"text":923},{"id":103466,"depth":772,"text":103466},{"id":104278,"depth":772,"text":104281},{"id":104290,"depth":772,"text":104294},{"id":104790,"depth":761,"text":104791},{},"\u002Fdocs\u002Fcore-tech\u002Fwallet-service",{"description":102876},"docs\u002Fcore-tech\u002FWallet-Service","chp-p_MqrWC6l4hIUaSSVvms5pwxsZVMaG72lQd8zxo",{"id":104845,"title":104846,"body":104847,"description":104851,"extension":775,"image":776,"meta":105359,"navTitle":776,"navigation":778,"path":105360,"seo":105361,"stem":105362,"__hash__":105363},"docs\u002Fdocs\u002Fcore-tech\u002FWallet-audit.md","Wallet Audit",{"type":8,"value":104848,"toc":105350},[104849,104852,104855,104857,104860,104867,104881,104884,104900,104903,104933,104936,104943,104946,104949,104959,104962,104970,104973,104976,104983,104996,105000,105004,105073,105077,105144,105147,105150,105158,105165,105169,105172,105177,105186,105192,105195,105204,105221,105225,105231,105237,105255,105258,105265,105268,105275,105278,105282,105285,105320,105323],[11,104850,104851],{},"Crypto-currencies are often criticized for being used by \"gray market\" and virtually inappropriate for compliant businesses due to their inherent non-transparency.",[11,104853,104854],{},"So we'd like to give compliant businesses appropriate tools to be as transparent as possible for the appropriate authorities, while remaining confident to others. We'll present a scheme how it can be implemented in BEAM, and review it.",[43,104856,3665],{"id":3664},[11,104858,104859],{},"The wallet used for compliant business (we'll call it a business wallet) should be configured for auditing. It generates a public\u002Fprivate key pair specifically for audit. The public key is given to the appropriate auditor(s). Optionally the business wallet may generate several public\u002Fprivate auditor key pairs for different authorities.",[11,104861,104862,104863,104866],{},"Note: The \"public key\" is actually ",[145,104864,104865],{},"confidential",", and should not be disclosed by the auditor to others to keep the anonymity of the business.",[11,104868,104869,104870,104873,104874,104876,104877,104880],{},"Every transaction that the business wallet performs is ",[58,104871,104872],{},"tagged",", such that only the auditor may identify it in the blockchain using the provided public key. The auditor however is unable to create such a ",[58,104875,104872],{}," transaction using the public key alone.\nBy tagging the transaction the ",[145,104878,104879],{},"business wallet commits to disclose (off-chain) all the relevant info for the auditor, when required to",". After receiving all the information the auditor verifies that it indeed conforms to the original commitment.",[11,104882,104883],{},"The original transaction details the auditor may want are:",[89,104885,104886,104894,104897],{},[54,104887,104888,104889],{},"Input\u002FOutput UTXOs of this business wallet.\n",[89,104890,104891],{},[54,104892,104893],{},"Note: The full transaction contains also the Input\u002FOutput UTXOs of other wallets. But those should not be disclosed (unless absolutely required) to keep their anonymity.",[54,104895,104896],{},"Proof of the ownership and amount of every input\u002Foutput UTXO which belongs to this business wallet, without disclosing the blinding factors (public signature).",[54,104898,104899],{},"Optionally any additional information: digital documents, signatures, arbitrary text message, etc.",[11,104901,104902],{},"The task of the auditor is the following:",[89,104904,104905,104908,104911,104914],{},[54,104906,104907],{},"Run the full Node, which (in particular) downloads the original blocks (this is important!)",[54,104909,104910],{},"Find all the tagged transactions for all the business wallets it's aware of.",[54,104912,104913],{},"Request all the transaction information (off-chain).",[54,104915,104916,104917],{},"After receiving the information the following is verified:\n",[89,104918,104919,104922,104925,104928],{},[54,104920,104921],{},"All the transaction components are valid (signatures and etc.)",[54,104923,104924],{},"The transaction details indeed correspond to the original commitment",[54,104926,104927],{},"All the referenced inputs and outputs indeed present in the original block.",[54,104929,104930],{},[94,104931,104932],{},"Verify the completeness of the transaction graph of this business wallet.",[11,104934,104935],{},"By such a scheme the business wallet is enforced to report about the transaction in advance, and to commit to all the details that will be revealed to the auditor later.",[11,104937,104938,104939,104942],{},"The auditor is able to reconstruct the whole business ledger. It should build the transaction graph and verify its completeness, which means that every UTXO that the business wallet spends must have been reported earlier by the same business wallet upon receiving. By such the business wallet will be able to spend legally only what it received legally. So that, unlike traditional ledgers, the auditor can see the life cycle of every UTXO, and not only of the overall balance. So that the \"",[58,104940,104941],{},"Pecunia non olet","\" is somewhat less obvious.",[43,104944,104945],{"id":3755},"Technical Design.",[11,104947,104948],{},"All transactions include transaction kernels, and we'll use this for transaction tagging. Each kernel, even \"minimal\", without any optional data, already has two degree of freedom:",[51,104950,104951,104954],{},[54,104952,104953],{},"Excess (total blinding factor)",[54,104955,94631,104956,104958],{},[58,104957,10229],{},", which is a part of the Schnorr's signature",[11,104960,104961],{},"By utilizing those two degrees of freedom it's possible to achieve the two needed effects:",[89,104963,104964,104967],{},[54,104965,104966],{},"Tag the transaction such that it can be identified using the auditor's public key.",[54,104968,104969],{},"Embed the commitment to the transaction details",[11,104971,104972],{},"For every transaction the business wallet will add an extra kernel for the auditor. Moreover, if it's auditable by different authorities who gets different public keys - the business wallet will add such a kernel for every key (in every transaction).",[11,104974,104975],{},"Note: If the other transaction party is also a business wallet, which is obliged to report to appropriate authorities - it will add its kernel(s) to the transaction as well. There is no collision here (transactions may contain arbitrary number of kernels).",[11,104977,104978,104979,104982],{},"First the business wallet collects all the info that it's going to reveal to the auditor, saves it, and computes its Hash. This is the commitment to the transaction details. The kernel ",[58,104980,104981],{},"Excess"," is derived from this value.",[11,104984,104985,104986,104988,104989,104991,104992,104995],{},"Now, to flag the transaction the business wallet signs the kernel in a special way. The ",[58,104987,86222],{},", which is a part if the Schnorr's signature, is derived from the visible ",[58,104990,104981],{}," and the auditor's public key, hence the auditor can identify such a kernel. Yet the auditor can't craft such a kernel using only its public key, because in order to create Schnorr's signature it's essential to know the ",[58,104993,104994],{},"Private Nonce"," value (before it's multiplied by G-generator).",[26,104997,104999],{"id":104998},"flow-diagram","Flow diagram:",[716,105001,105003],{"id":105002},"business-wallet-transaction-building","Business Wallet, transaction building:",[89,105005,105006,105012,105018],{},[54,105007,105008,105011],{},[150,105009,105010],{},"TxDetails"," = { my Inputs + public signatures, my Outputs + public signatures, Some other arbitrary data (docs and etc.) }",[54,105013,105014,105015,105017],{},"Save ",[150,105016,105010],{}," (locally)",[54,105019,105020,105021],{},"For each auditor key:\n",[89,105022,105023,105028,105033,105038,105043,105048,105065,105068],{},[54,105024,105025],{},[150,105026,105027],{},"Nonce1 = HMac(AuditorKey.Private, TxDetails)",[54,105029,105030],{},[150,105031,105032],{},"PrivateKey = Nonce1 * Hash(G * Nonce1 | TxDetails)",[54,105034,105035],{},[150,105036,105037],{},"Kernel.Excess = G * PrivateKey",[54,105039,105040],{},[150,105041,105042],{},"Nonce2 = Hash(Kernel.Excess | AuditorKey.Public) * AuditorKey.Private",[54,105044,105045],{},[150,105046,105047],{},"Kernel.Signature.Nonce = G * Nonce2",[54,105049,105050,105051],{},"Sign kernel using\n",[89,105052,105053,105059],{},[54,105054,105055,105056],{},"key = ",[150,105057,105058],{},"PrivateKey",[54,105060,105061,105062],{},"Nonce = ",[150,105063,105064],{},"Nonce2",[54,105066,105067],{},"Add the kernel to the transaction",[54,105069,105070],{},[150,105071,105072],{},"Transaction.Offset -= BlindingFactor",[716,105074,105076],{"id":105075},"auditor","Auditor",[89,105078,105079,105082,105112],{},[54,105080,105081],{},"Download blocks (as usually Nodes do)",[54,105083,105084,105085],{},"For every new block, for every kernel, for every known public key\n",[89,105086,105087,105092],{},[54,105088,105089],{},[150,105090,105091],{},"ExpectedNonce = Hash(Kernel.Excess | AuditorKey.Public) * AuditorKey.Public",[54,105093,105094,105095,9026,105098],{},"If (",[150,105096,105097],{},"Kernel.Signature.Nonce == ExpectedNonce",[89,105099,105100,105106],{},[54,105101,105102,105103],{},"Save the info: Appropriate business wallet, Block ID (Height + Hash), and the ",[150,105104,105105],{},"Kernel.Excess",[54,105107,105108,105109],{},"Request the transaction info for this kernel, as well as ",[150,105110,105111],{},"G * Nonce1",[54,105113,105114,105115],{},"After receiving the transaction info for the specified kernel\n",[89,105116,105117,105123,105133,105136,105141],{},[54,105118,105119,105120,105122],{},"Verify that the ",[150,105121,105010],{}," is sane (correct format, signatures, etc.)",[54,105124,105125,105126],{},"Verify that the presented data corresponds to the original commitment:\n",[89,105127,105128],{},[54,105129,105130],{},[150,105131,105132],{},"Kernel.Excess == (G * Nonce1) * Hash(G * Nonce1 | TxDetails)",[54,105134,105135],{},"Verify that the asserted inputs and outputs indeed present in the original block.",[54,105137,105138],{},[94,105139,105140],{},"Verify that all the referenced inputs were indeed reported earlier",[54,105142,105143],{},"Mark inputs as consumed, realize the outputs.",[716,105145,105146],{"id":94509},"Notes:",[11,105148,105149],{},"Note: the blockchain may sometimes \"rollback\", and this should be accounted for by the auditor. There are basically two options:",[51,105151,105152,105155],{},[54,105153,105154],{},"Complex solution: the auditor must know to undo the changes to the affected ledgers. It may request the transaction details for different history branches, and implement navigation, which involves undo and redo to all the affected ledgers.",[54,105156,105157],{},"Simple solution, which may be practically good enough. There is a maximum threshold for the rollback range, so it is sufficient just to wait for this period before requesting\u002Fprocessing the transaction details. And the auditor may assume that larger rollbacks are impossible, as long as the whole system operates normally.",[11,105159,105160,105161,105164],{},"Minor note: in a highly unlikely case (with probability order of 2",[111,105162,105163],{},"-256",") there may be a false positive when chasing for the auditor kernels, i.e. a kernel that looks like it's an auditor kernel, but it's actually not. Though highly unlikely, perhaps there should be a possibility for the business wallet to deny this transaction? On the other hand false negatives are not possible. I.e. no excuses if the transaction was not flagged in advance.",[716,105166,105168],{"id":105167},"soundness-of-the-scheme","Soundness of the scheme",[11,105170,105171],{},"First we'll prove the soundness of the commitment to the transaction details, i.e. that the business wallet will have to reveal the original transaction details when requested.",[11,105173,105174,105175],{},"The auditor verifies the following:\n* ",[150,105176,105132],{},[11,105178,105179,105180,105182,105183,105185],{},"So, in order to substitute a different ",[150,105181,105010],{}," the Wallet will have to find a different EC  point ",[150,105184,105111],{}," that satisfies the above equation. Given there's no direct relation between the hash function, and the EC point multiplication, it seems to be the problem of finding collisions of a composite one-way function, which should not be feasible.",[11,105187,105188,105189,385],{},"Next we prove that it's impossible (unless with negligible probability) to create such a kernel without the knowledge of the ",[150,105190,105191],{},"AuditorKey.Private",[11,105193,105194],{},"The auditor checks the following:",[89,105196,105197,105202],{},[54,105198,105199],{},[150,105200,105201],{},"Kernel.Signature.Nonce == Hash(Kernel.Excess | AuditorKey.Public) * AuditorKey.Public",[54,105203,10860],{},[11,105205,105206,105207,105210,105211,105214,105215,163,105217,105220],{},"In order to create Schnorr's signature it's essential to know both the private key, and the preimage of ",[150,105208,105209],{},"Kernel.Signature.Nonce"," (we'll skip the argument here), wherease the preimage is given by ",[150,105212,105213],{},"Hash(Kernel.Excess) * AuditorKey.Private",". Since the ",[150,105216,105105],{},[150,105218,105219],{},"AuditorKey.Public"," are known, the auditor private key should be known as well.",[716,105222,105224],{"id":105223},"zero-knowledge-of-the-scheme","Zero-knowledge of the scheme",[11,105226,105227,105228,105230],{},"First we'll prove that this kernel is indistinguishable unless ",[150,105229,105219],{}," is known. The following is verified:",[89,105232,105233],{},[54,105234,105235],{},[150,105236,105201],{},[11,105238,105239,105240,105242,105243,105245,105246,105248,105249,105251,105252,105254],{},"Note that we intentionally substituted the ",[150,105241,105219],{}," into the hash function. If that was not the case, the attacker could calculate its value from the visible ",[150,105244,105105],{},", and then notice the linear dependence of the ",[150,105247,86222],{}," by this value (for several kernels tagged for the same auditor).\nBut since ",[150,105250,105219],{}," is included in the hash, its value is obscured, and the ",[150,105253,86222],{}," looks like a random EC point.",[11,105256,105257],{},"Let's prove that the auditor private key is not leaked. The auditor verifies the Schnorr's signature. Means:",[89,105259,105260],{},[54,105261,105262],{},[150,105263,105264],{},"G * Preimage = Hash(\u003Csome known value>) * AuditorKey.Public + \u003Cchallenge> * \u003Cknown EC point> * Hash(\u003Cknown EC point>)",[11,105266,105267],{},"Which can be rephrased as:",[89,105269,105270],{},[54,105271,105272],{},[150,105273,105274],{},"G * AuditorKey.Private = G * Preimage * \u003Csome value> - \u003Cknown EC point> = \u003Csome EC point>",[11,105276,105277],{},"So, it's a pure discrete logarithm problem.",[43,105279,105281],{"id":105280},"review-of-this-scheme","Review of this scheme",[11,105283,105284],{},"The good:",[89,105286,105287,105290,105298,105301,105309],{},[54,105288,105289],{},"Strict demand to reveal the fact of the transaction in advance, and commitment to the original transaction details.",[54,105291,105292,105293],{},"The fact of the transaction taking place and the report about the transaction is the same, because the transaction is atomic!\n",[89,105294,105295],{},[54,105296,105297],{},"Means, there is no way the transaction is reported but didn't actually take place, blockchain rolled back, or whatever other reason, or vice versa.",[54,105299,105300],{},"Inability to use \"gray\" money in compliant transactions. All the inputs must have been reported earlier.",[54,105302,105303,105304],{},"The auditor can fully reconstruct the transaction graph, but it can discover nothing about other transaction parties.\n",[89,105305,105306],{},[54,105307,105308],{},"This is very valuable feature (perhaps the most valuable).",[54,105310,105311,105312],{},"The auditor can actually see when the business wallet spends its UTXOs, even if it doesn't flag the transaction.\n",[89,105313,105314,105317],{},[54,105315,105316],{},"For this the auditor will have to analyze all the UTXOs being spent in the original block, which is feasible.",[54,105318,105319],{},"Naturally the opposite isn't true: it's possible to receive UTXO without flagging the transaction (but it won't be possible to spend it in a compliant transaction).",[11,105321,105322],{},"The bad:",[89,105324,105325,105336],{},[54,105326,105327,105328],{},"Naturally there is no way to verify there is no \"gray\" ledger of the same business, it may have other wallets, or conceal part of the transactions.\n",[89,105329,105330,105333],{},[54,105331,105332],{},"This is also not solvable in \"traditional\" world.",[54,105334,105335],{},"However we guarantee the separation between \"compliant\" transactions and the others.",[54,105337,105338,105339],{},"No way to verify that the original transaction actually included the reported inputs\u002Foutputs, as well as nothing beyond them.\n",[89,105340,105341,105344,105347],{},[54,105342,105343],{},"We do verify that they were present in the original block, and that the reporter actually owns them (by demanding signatures), but they may be parts of another transactions.",[54,105345,105346],{},"This is equivalent (in some sense) to a situation where you report about transaction, but pay to others, or show less money than is actually transferred.",[54,105348,105349],{},"This is also unsolvable in the \"traditional\" world.",{"title":760,"searchDepth":761,"depth":761,"links":105351},[105352],{"id":104998,"depth":761,"text":104999,"children":105353},[105354,105355,105356,105357,105358],{"id":105002,"depth":772,"text":105003},{"id":105075,"depth":772,"text":105076},{"id":94509,"depth":772,"text":105146},{"id":105167,"depth":772,"text":105168},{"id":105223,"depth":772,"text":105224},{},"\u002Fdocs\u002Fcore-tech\u002Fwallet-audit",{"description":104851},"docs\u002Fcore-tech\u002FWallet-audit","x45_O65i2zEip09H9XsiGx2SxyStTTx3CwWp0IDBT1I",{"id":105365,"title":105366,"body":105367,"description":760,"extension":775,"image":776,"meta":105458,"navTitle":776,"navigation":778,"path":105459,"seo":105460,"stem":105461,"__hash__":105462},"docs\u002Fdocs\u002Fcore-tech\u002FWallet-requirements.md","Wallet Requirements",{"type":8,"value":105368,"toc":105454},[105369,105373,105444,105448,105451],[26,105370,105372],{"id":105371},"требования-к-приложению-кошелёк","Требования к приложению \"Кошелёк\"",[51,105374,105375,105378,105381,105384,105395,105398,105401,105404,105407,105410,105413,105416,105419,105430,105441],{},[54,105376,105377],{},"Приложение \"Кошелёк\" должно иметь установочный файл инсталятор для Windows, Linux, MacOS",[54,105379,105380],{},"Инсталятор должен\u002Fможет быть представлен в виде одного-двух(-трёх файлов)",[54,105382,105383],{},"Инсталятор должен иметь лаконичный, понятный, дружелюбный для пользователя интерфейс",[54,105385,105386,105387],{},"Установка\u002Fудаление приложения должна быть простой и прозрачной как для пользователя, так и для ОС:",[89,105388,105389,105392],{},[54,105390,105391],{},"Пользователь должен иметь возможность задавать путь к папке для установки",[54,105393,105394],{},"Пользователь должен иметь возможность легко удалить приложение из ОС со всеми служебными файлами",[54,105396,105397],{},"При первом запуске приложения должна быть предоставлена возможность (поле) для ввода секретного ключа пользователя, шифрующего БД с UTXO и инициализирующего генератор ключей",[54,105399,105400],{},"Приложение должно уведомлять пользователя о крайней степени важности знания секретного ключа в настоящее и будущее время",[54,105402,105403],{},"При запуске приложения должно быть поле для введения-идентификации секретного ключа пользователя",[54,105405,105406],{},"Приложение должно уведомлять пользователя о неверно введённом секретном ключе",[54,105408,105409],{},"Приложение должно уметь показывать баланс пользователя",[54,105411,105412],{},"Приложение должно уметь отображать статистику статусов UTXO из БД",[54,105414,105415],{},"Приложение должно уметь отображать статус соединения с другим \"Кошельком\"",[54,105417,105418],{},"Приложение должно уметь отображать этапы (в виде статусов) осуществления транзакции между двумя \"Кошельками\"",[54,105420,105421,105422],{},"Приложение должно предоставлять понятный и дружелюбный интерфейс пользователю для:",[89,105423,105424,105427],{},[54,105425,105426],{},"связи с другим \"Кошельком\"",[54,105428,105429],{},"и осуществления транзакции",[54,105431,105432,105433],{},"Приложение должно уведомлять пользователя:",[89,105434,105435,105438],{},[54,105436,105437],{},"о некорректной транзакции",[54,105439,105440],{},"о разрыве соединения с другим \"Кошельком\"",[54,105442,105443],{},"Приложение должно уметь показывать пользователю\tисторию его транзакциий совместно с историей изменения его баланса",[26,105445,105447],{"id":105446},"вопросы","Вопросы",[11,105449,105450],{},"Приложение должно быть однопользовательским: один пользователь - одно приложение - один секретный ключ - одна БД для UTXO?",[11,105452,105453],{},"Или же приложение может быть многопользовательским: много пользователей - одно приложение - много ключей - несколько БД?",{"title":760,"searchDepth":761,"depth":761,"links":105455},[105456,105457],{"id":105371,"depth":761,"text":105372},{"id":105446,"depth":761,"text":105447},{},"\u002Fdocs\u002Fcore-tech\u002Fwallet-requirements",{"description":760},"docs\u002Fcore-tech\u002FWallet-requirements","TQjPe5UAExRK9rxoOZxSWaBObEJ8oI-i1oTqNbN8c0k",{"id":105464,"title":105465,"body":105466,"description":760,"extension":775,"image":776,"meta":105575,"navTitle":776,"navigation":778,"path":105576,"seo":105577,"stem":105578,"__hash__":105579},"docs\u002Fdocs\u002Fcore-tech\u002FWallets-discovery-and-dialog-proposal.md","Wallets Discovery And Dialog Proposal",{"type":8,"value":105467,"toc":105567},[105468,105472,105476,105493,105497,105513,105517,105540,105544,105564],[26,105469,105471],{"id":105470},"wallets-discovery-and-dialog-proposal","Wallets discovery and dialog proposal",[716,105473,105475],{"id":105474},"общее","Общее",[51,105477,105478,105481,105484,105487,105490],{},[54,105479,105480],{},"Для согласования TX между кошельками происходит диалог, согласно протоколу, но туда надо добавить возможность включать произвольную информацию в пределах разумных размеров (например, любой текст, который увидит человек или любые бинарные метаданные, если общается бот или какая-то логика более высокого уровня)",[54,105482,105483],{},"Для шифрования сообщений вполне пойдет принцип PGP, для чего 2м кошелькам достаточно знать публичные ключи друг друга. Рандомный ключ (+ I.V.) для AES например 256 шифруется публичным ключом собеседника (а последний может быть и RSA и EC, не важно), остальное сообщение AESом с помощью зашифрованного ключа.",[54,105485,105486],{},"Главное: публичные ключи, о которых пойдет далее, относятся только к шифрованию диалога, к процессу формирования UTXO и логике самого кошелька в целом они не имеют никакого отношения",[54,105488,105489],{},"Ситуации, когда одна сторона не знает, кто к ней обращается (например, некий бот собирает пожертвования на храм Бахуса и Венеры, или это обменник (*ниже)). Такой кошель уже по определению теряет часть своей анонимности и может опубликовать свой публичный ключ тем или иным образом. Доверять ли этой публикации решает сам инициатор диалога (ну вот, в качестве примера возьмем имеющиеся монетки с адресацией, когда сам адрес является ПубКл кошелька - слать туда или не слать решаем сами). Этот инициатор тогда посылает свой публичный ключ в первом сообщении",[54,105491,105492],{},"В секьюрных случаях Публ ключ может быть передан по какому-либо секьюрному каналу (телеграм и т.п.) между знакомыми и вставлен в кошелек",[716,105494,105496],{"id":105495},"публикация-публичных-ключей-для-диалога-это-все-опции-имеет-смысл-реализовывать-все-что-возможно","Публикация публичных ключей (для диалога!). Это все опции, имеет смысл реализовывать все что возможно",[51,105498,105499,105502,105510],{},[54,105500,105501],{},"Есть PGP key services, которые изначально были в помощь шифрованию email, но и тут могут пригодиться. По какому либо идентификатору можно заполучить программно ПублКл",[54,105503,105504,105505,105509],{},"Децентрализованный вариант, как еще одна опция. Ключи храним на IPFS (",[18,105506,105507],{"href":105507,"rel":105508},"https:\u002F\u002Fipfs.io",[22],"), но там имя файла человеческое не задать, поэтому мэппинг имя->ключ можно организовать в виде смартконтракта на Eth (запись будет стоить публикующему немного, ибо это транзакция, чтение бесплатно)",[54,105511,105512],{},"Прям у себя на сайте (зеленый замочек в браузере виден? копируйте-вставляйте в кошель). Или ссылку на ipfs в виде QR кода (сам ключ длинноват для QR)",[716,105514,105516],{"id":105515},"secure-channel-тоже-опции","Secure channel. Тоже опции",[51,105518,105519,105522,105525,105528,105531,105534,105537],{},[54,105520,105521],{},"Связь по TCP напрямую. Самое быстрое и простое, оба кошеля должны быть в онлайне. Но все будут знать, что эти 2 IP общались между собой",[54,105523,105524],{},"Через прокси (ретранслятор). Когда кто-то или оба из кошельков за файрволлом. Тоже должны быть в онлайне, и факт общения может быть установлен. Можно запустить подобные ретрансляторы, а список известных адресов могут выдавать ноды в рамках протокола.",[54,105526,105527],{},"Через инфраструктуру мессенджеров. Надо поизучать вопрос об интеграции с их АПИ. Но тут получается, что пациенты совсем друг друга хорошо знают и имеют в контактах мессенджера. Но зато есть возможность быть в оффлайне во время диалога.",[54,105529,105530],{},"Броадкастить (по крайней мере 1-е сообщение диалога) через инфраструктуру beam nodes. Сообщение распространяется по сети с некоторым убывающим TTL и с высокой вероятностью доходит до кошелька. Почему ноды могут быть заинтересованы в ретрансляции этого хлама? Ну если они майнят, то такое общение может обернуться неким txFee > 0 через какое-то время. Тут проблема как экономически бороться с флудом, поскольку сообщения шифрованные, и ноды их никак валидировать не в состоянии. Может в таких случаях обязать какой-нибудь PoW приделывать к сообщению? При этой схеме тоже все стороны должны быть в онлайне и прицепиться к нодам сети на предмет прослушки таких броадкастов (и фильтрации своих из общего потока с помощью своего приватного ключа).",[54,105532,105533],{},"BBS service - это ретранслятор + история. Отдельная сеть из узлов, которые реализуют \"общую шину\" для данного рода сообщений. Клиент может прицепиться к одному или нескольким таким каналам, получать по запросу некоторую историю сообщений и в реальном времени фильтровать входящие. Здесь cons и pros как что в предыдущем пункте, но есть и хорошее: 1) можно слушать из N существующих каналов M\u003CN, сообщение соответственно может быть доставлено в соответствии с какими-то битами публичного ключа в M каналов, а не все N, получатель об этом знает, но факт того, что он переварил то или иное сообщение, скрыт. 2) Оффлайн до определенной глубины времени",[54,105535,105536],{},"Объединение №4 и №5: сообщение гуляет по сети и попадает в BBS так или иначе. За счет рандомного TTL затирается из истории адрес отправителя, за счет BBS неизвестен получатель.",[54,105538,105539],{},"Случай когда слушатель каналов маломощный вроде мобильного клиента и\u002Fили ограничен в трафике: частично жертвуя анонимностью, поручает BBS сервису фильтровать для него канал. Для этого вместо одного публ. ключа нужно 2 штуки: 1) Selector public key, 2) Messaging public key\nСоответственно протокол диалога обогащается еще одним заголовком - некие позывные (не секретные) шифруются ключом селектора, остальное уже секретный канал",[716,105541,105543],{"id":105542},"что-хотелось-бы-в-ui-и-в-целом-в-приложении","Что хотелось бы в UI и в целом в приложении",[51,105545,105546,105549,105552,105555,105558,105561],{},[54,105547,105548],{},"Address book - хранилище имен контрагентов и их публичных ключей. Имена уникальные лишь для этого кошелька, никакого центрального хранилища имен не надо",[54,105550,105551],{},"Возможность ввести публичный ключ из clipboard и придумать для него имя",[54,105553,105554],{},"Отображение сообщений, которые приходят как мета с сообщениями протокола. В этом случае владелец кошелька (или его бот) подтверждение пусть дает после приема каждой подобной меты, продолжать ли диалог",[54,105556,105557],{},"Возможность поиска публичных ключей во внешних хранилищах: pgp key services, решения на ipfs и т.д.",[54,105559,105560],{},"Возможность генерации своих ключей для общения, публикации публичной части под каким-либо никнеймом, индивидуальной передачи публичного ключа собеседнику по любому каналу (через telegram secret channel как пример)",[54,105562,105563],{},"(??? спорный момент) Интеграция кошелька с АПИ мессенджеров",[11,105565,105566],{},"(*)(atomic swap отдельная тема, тут надо придумать как можно лочить TX с помощью любых видов хэшей, присутствующих в других блокчейнах, опционально и в дополнение к тому что есть, за большее fee конечно,  ... ...)",{"title":760,"searchDepth":761,"depth":761,"links":105568},[105569],{"id":105470,"depth":761,"text":105471,"children":105570},[105571,105572,105573,105574],{"id":105474,"depth":772,"text":105475},{"id":105495,"depth":772,"text":105496},{"id":105515,"depth":772,"text":105516},{"id":105542,"depth":772,"text":105543},{},"\u002Fdocs\u002Fcore-tech\u002Fwallets-discovery-and-dialog-proposal",{"description":760},"docs\u002Fcore-tech\u002FWallets-discovery-and-dialog-proposal","0I_P6KpC1t5T4J4jNOEav6bCRt65WgWAAXzXE0Z63RI",{"id":96110,"title":96111,"body":105581,"description":760,"extension":775,"image":776,"meta":105835,"navTitle":776,"navigation":778,"path":96452,"seo":105836,"stem":96454,"__hash__":96455},{"type":8,"value":105582,"toc":105832},[105583,105585,105590,105597,105599,105607,105609,105614,105619,105624,105626,105630,105635,105637,105756,105758,105770,105772,105784,105786,105798,105800],[26,105584,5614],{"id":96116},[11,105586,105587],{},[18,105588,96123],{"href":96121,"rel":105589},[22],[11,105591,96126,105592,96131,105595],{},[18,105593,96129],{"href":96129,"rel":105594},[22],[18,105596,96135],{"href":96134},[11,105598,96138],{},[89,105600,105601,105603,105605],{},[54,105602,96143],{},[54,105604,85041],{},[54,105606,96148],{},[43,105608,96152],{"id":96151},[11,105610,105611],{},[18,105612,96159],{"href":96157,"rel":105613},[22],[11,105615,105616],{},[18,105617,96166],{"href":96164,"rel":105618},[22],[11,105620,105621],{},[18,105622,96173],{"href":96171,"rel":105623},[22],[43,105625,96177],{"id":96176},[11,105627,105628],{},[18,105629,96183],{"href":96182},[11,105631,105632],{},[18,105633,96190],{"href":96188,"rel":105634},[22],[43,105636,96194],{"id":96193},[89,105638,105639,105687,105699,105704,105709,105731,105736,105741,105746,105751],{},[54,105640,105641,105644],{},[18,105642,8177],{"href":96201,"rel":105643},[22],[89,105645,105646,105651,105663,105668,105673,105678],{},[54,105647,105648],{},[18,105649,8191],{"href":96209,"rel":105650},[22],[54,105652,105653,105656],{},[18,105654,8198],{"href":96215,"rel":105655},[22],[89,105657,105658],{},[54,105659,105660],{},[18,105661,96225],{"href":96223,"rel":105662},[22],[54,105664,105665],{},[18,105666,8214],{"href":96230,"rel":105667},[22],[54,105669,105670],{},[18,105671,96238],{"href":96236,"rel":105672},[22],[54,105674,105675],{},[18,105676,96245],{"href":96243,"rel":105677},[22],[54,105679,8231,105680],{},[89,105681,105682],{},[54,105683,105684],{},[18,105685,96256],{"href":96254,"rel":105686},[22],[54,105688,105689,105692],{},[18,105690,96263],{"href":96261,"rel":105691},[22],[89,105693,105694],{},[54,105695,105696],{},[18,105697,92685],{"href":96270,"rel":105698},[22],[54,105700,105701],{},[18,105702,96277],{"href":8245,"rel":105703},[22],[54,105705,105706],{},[18,105707,96283],{"href":95752,"rel":105708},[22],[54,105710,105711,105714],{},[18,105712,96290],{"href":96288,"rel":105713},[22],[89,105715,105716,105721,105726],{},[54,105717,105718],{},[18,105719,95061],{"href":96297,"rel":105720},[22],[54,105722,105723],{},[18,105724,96304],{"href":365,"rel":105725},[22],[54,105727,105728],{},[18,105729,96311],{"href":96309,"rel":105730},[22],[54,105732,105733],{},[18,105734,96317],{"href":96188,"rel":105735},[22],[54,105737,105738],{},[18,105739,96324],{"href":96322,"rel":105740},[22],[54,105742,105743],{},[18,105744,8263],{"href":96329,"rel":105745},[22],[54,105747,105748],{},[18,105749,96337],{"href":96335,"rel":105750},[22],[54,105752,105753],{},[18,105754,96344],{"href":96342,"rel":105755},[22],[43,105757,96348],{"id":96347},[89,105759,105760,105765],{},[54,105761,105762],{},[18,105763,96357],{"href":96355,"rel":105764},[22],[54,105766,105767],{},[18,105768,96363],{"href":78302,"rel":105769},[22],[43,105771,6],{"id":3020},[89,105773,105774,105779],{},[54,105775,105776],{},[18,105777,6],{"href":96372,"rel":105778},[22],[54,105780,105781],{},[18,105782,96379],{"href":81816,"rel":105783},[22],[43,105785,96383],{"id":96382},[89,105787,105788,105793],{},[54,105789,105790],{},[18,105791,96392],{"href":96390,"rel":105792},[22],[54,105794,105795],{},[18,105796,96399],{"href":96397,"rel":105797},[22],[43,105799,96403],{"id":96402},[89,105801,105802,105807,105812,105817,105822,105827],{},[54,105803,105804],{},[18,105805,96412],{"href":96410,"rel":105806},[22],[54,105808,105809],{},[18,105810,96419],{"href":96417,"rel":105811},[22],[54,105813,105814],{},[18,105815,96426],{"href":96424,"rel":105816},[22],[54,105818,105819],{},[18,105820,96433],{"href":96431,"rel":105821},[22],[54,105823,105824],{},[18,105825,96440],{"href":96438,"rel":105826},[22],[54,105828,105829],{},[18,105830,96447],{"href":96445,"rel":105831},[22],{"title":760,"searchDepth":761,"depth":761,"links":105833},[105834],{"id":96116,"depth":761,"text":5614},{},{"description":760},1783090970598]