diff --git a/packages/api-codec/src/Metadata.rpc.json b/packages/api-codec/src/Metadata.rpc.json deleted file mode 100644 index ab34e12409..0000000000 --- a/packages/api-codec/src/Metadata.rpc.json +++ /dev/null @@ -1 +0,0 @@ -{"jsonrpc":"2.0","result":[20,69,118,101,110,116,40,24,115,121,115,116,101,109,8,64,69,120,116,114,105,110,115,105,99,83,117,99,99,101,115,115,0,4,148,32,65,110,32,101,120,116,114,105,110,115,105,99,32,99,111,109,112,108,101,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,46,60,69,120,116,114,105,110,115,105,99,70,97,105,108,101,100,0,4,84,32,65,110,32,101,120,116,114,105,110,115,105,99,32,102,97,105,108,101,100,46,32,98,97,108,97,110,99,101,115,12,40,78,101,119,65,99,99,111,117,110,116,12,36,65,99,99,111,117,110,116,73,100,48,65,99,99,111,117,110,116,73,110,100,101,120,68,78,101,119,65,99,99,111,117,110,116,79,117,116,99,111,109,101,4,108,32,65,32,110,101,119,32,97,99,99,111,117,110,116,32,119,97,115,32,99,114,101,97,116,101,100,46,52,82,101,97,112,101,100,65,99,99,111,117,110,116,4,36,65,99,99,111,117,110,116,73,100,4,92,32,65,110,32,97,99,99,111,117,110,116,32,119,97,115,32,114,101,97,112,101,100,46,32,84,114,97,110,115,102,101,114,16,36,65,99,99,111,117,110,116,73,100,36,65,99,99,111,117,110,116,73,100,28,66,97,108,97,110,99,101,28,66,97,108,97,110,99,101,4,176,32,84,114,97,110,115,102,101,114,32,115,117,99,99,101,101,100,101,100,32,40,102,114,111,109,44,32,116,111,44,32,118,97,108,117,101,44,32,102,101,101,115,41,46,28,115,101,115,115,105,111,110,4,40,78,101,119,83,101,115,115,105,111,110,4,44,66,108,111,99,107,78,117,109,98,101,114,8,85,1,32,78,101,119,32,115,101,115,115,105,111,110,32,104,97,115,32,104,97,112,112,101,110,101,100,46,32,78,111,116,101,32,116,104,97,116,32,116,104,101,32,97,114,103,117,109,101,110,116,32,105,115,32,116,104,101,32,115,101,115,115,105,111,110,32,105,110,100,101,120,44,32,110,111,116,32,116,104,101,32,98,108,111,99,107,136,32,110,117,109,98,101,114,32,97,115,32,116,104,101,32,116,121,112,101,32,109,105,103,104,116,32,115,117,103,103,101,115,116,46,28,115,116,97,107,105,110,103,12,24,82,101,119,97,114,100,4,28,66,97,108,97,110,99,101,4,224,32,65,108,108,32,118,97,108,105,100,97,116,111,114,115,32,104,97,118,101,32,98,101,101,110,32,114,101,119,97,114,100,101,100,32,98,121,32,116,104,101,32,103,105,118,101,110,32,98,97,108,97,110,99,101,46,56,79,102,102,108,105,110,101,87,97,114,110,105,110,103,8,36,65,99,99,111,117,110,116,73,100,12,117,51,50,8,85,1,32,79,110,101,32,118,97,108,105,100,97,116,111,114,32,40,97,110,100,32,116,104,101,105,114,32,110,111,109,105,110,97,116,111,114,115,41,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,32,97,32,111,102,102,108,105,110,101,45,119,97,114,110,105,110,103,32,40,116,104,101,121,39,114,101,32,115,116,105,108,108,21,1,32,119,105,116,104,105,110,32,116,104,101,105,114,32,103,114,97,99,101,41,46,32,84,104,101,32,97,99,99,114,117,101,100,32,110,117,109,98,101,114,32,111,102,32,115,108,97,115,104,101,115,32,105,115,32,114,101,99,111,114,100,101,100,44,32,116,111,111,46,48,79,102,102,108,105,110,101,83,108,97,115,104,8,36,65,99,99,111,117,110,116,73,100,28,66,97,108,97,110,99,101,4,45,1,32,79,110,101,32,118,97,108,105,100,97,116,111,114,32,40,97,110,100,32,116,104,101,105,114,32,110,111,109,105,110,97,116,111,114,115,41,32,104,97,115,32,98,101,101,110,32,115,108,97,115,104,101,100,32,98,121,32,116,104,101,32,103,105,118,101,110,32,97,109,111,117,110,116,46,36,100,101,109,111,99,114,97,99,121,24,24,84,97,98,108,101,100,12,36,80,114,111,112,73,110,100,101,120,28,66,97,108,97,110,99,101,56,86,101,99,60,65,99,99,111,117,110,116,73,100,62,0,28,83,116,97,114,116,101,100,8,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,52,86,111,116,101,84,104,114,101,115,104,111,108,100,0,24,80,97,115,115,101,100,4,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,0,36,78,111,116,80,97,115,115,101,100,4,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,0,36,67,97,110,99,101,108,108,101,100,4,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,0,32,69,120,101,99,117,116,101,100,8,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,16,98,111,111,108,0,28,99,111,117,110,99,105,108,16,44,86,111,116,101,114,82,101,97,112,101,100,8,36,65,99,99,111,117,110,116,73,100,36,65,99,99,111,117,110,116,73,100,4,84,32,114,101,97,112,101,100,32,118,111,116,101,114,44,32,114,101,97,112,101,114,64,66,97,100,82,101,97,112,101,114,83,108,97,115,104,101,100,4,36,65,99,99,111,117,110,116,73,100,4,60,32,115,108,97,115,104,101,100,32,114,101,97,112,101,114,48,84,97,108,108,121,83,116,97,114,116,101,100,4,12,117,51,50,4,244,32,65,32,116,97,108,108,121,32,40,102,111,114,32,97,112,112,114,111,118,97,108,32,118,111,116,101,115,32,111,102,32,99,111,117,110,99,105,108,32,115,101,97,116,40,115,41,41,32,104,97,115,32,115,116,97,114,116,101,100,46,56,84,97,108,108,121,70,105,110,97,108,105,115,101,100,8,56,86,101,99,60,65,99,99,111,117,110,116,73,100,62,56,86,101,99,60,65,99,99,111,117,110,116,73,100,62,4,105,1,32,65,32,116,97,108,108,121,32,40,102,111,114,32,97,112,112,114,111,118,97,108,32,118,111,116,101,115,32,111,102,32,99,111,117,110,99,105,108,32,115,101,97,116,40,115,41,41,32,104,97,115,32,101,110,100,101,100,32,40,119,105,116,104,32,111,110,101,32,111,114,32,109,111,114,101,32,110,101,119,32,109,101,109,98,101,114,115,41,46,56,99,111,117,110,99,105,108,95,118,111,116,105,110,103,8,64,84,97,108,108,121,67,97,110,99,101,108,97,116,105,111,110,16,16,72,97,115,104,12,117,51,50,12,117,51,50,12,117,51,50,8,252,32,65,32,118,111,116,105,110,103,32,116,97,108,108,121,32,104,97,115,32,104,97,112,112,101,110,101,100,32,102,111,114,32,97,32,114,101,102,101,114,101,110,100,117,109,32,99,97,110,99,101,108,97,116,105,111,110,32,118,111,116,101,46,160,32,76,97,115,116,32,116,104,114,101,101,32,97,114,101,32,121,101,115,44,32,110,111,44,32,97,98,115,116,97,105,110,32,99,111,117,110,116,115,46,60,84,97,108,108,121,82,101,102,101,114,101,110,100,117,109,16,16,72,97,115,104,12,117,51,50,12,117,51,50,12,117,51,50,8,204,32,65,32,118,111,116,105,110,103,32,116,97,108,108,121,32,104,97,115,32,104,97,112,112,101,110,101,100,32,102,111,114,32,97,32,114,101,102,101,114,101,110,100,117,109,32,118,111,116,101,46,160,32,76,97,115,116,32,116,104,114,101,101,32,97,114,101,32,121,101,115,44,32,110,111,44,32,97,98,115,116,97,105,110,32,99,111,117,110,116,115,46,60,99,111,117,110,99,105,108,95,109,111,116,105,111,110,115,20,32,80,114,111,112,111,115,101,100,16,36,65,99,99,111,117,110,116,73,100,52,80,114,111,112,111,115,97,108,73,110,100,101,120,16,72,97,115,104,12,117,51,50,4,101,1,32,65,32,109,111,116,105,111,110,32,40,103,105,118,101,110,32,104,97,115,104,41,32,104,97,115,32,98,101,101,110,32,112,114,111,112,111,115,101,100,32,40,98,121,32,103,105,118,101,110,32,97,99,99,111,117,110,116,41,32,119,105,116,104,32,97,32,116,104,114,101,115,104,111,108,100,32,40,103,105,118,101,110,32,117,51,50,41,46,20,86,111,116,101,100,20,36,65,99,99,111,117,110,116,73,100,16,72,97,115,104,16,98,111,111,108,12,117,51,50,12,117,51,50,8,9,1,32,65,32,109,111,116,105,111,110,32,40,103,105,118,101,110,32,104,97,115,104,41,32,104,97,115,32,98,101,101,110,32,118,111,116,101,100,32,111,110,32,98,121,32,103,105,118,101,110,32,97,99,99,111,117,110,116,44,32,108,101,97,118,105,110,103,244,32,97,32,116,97,108,108,121,32,40,121,101,115,32,118,111,116,101,115,32,97,110,100,32,110,111,32,118,111,116,101,115,32,103,105,118,101,110,32,97,115,32,117,51,50,115,32,114,101,115,112,101,99,116,105,118,101,108,121,41,46,32,65,112,112,114,111,118,101,100,4,16,72,97,115,104,4,196,32,65,32,109,111,116,105,111,110,32,119,97,115,32,97,112,112,114,111,118,101,100,32,98,121,32,116,104,101,32,114,101,113,117,105,114,101,100,32,116,104,114,101,115,104,111,108,100,46,44,68,105,115,97,112,112,114,111,118,101,100,4,16,72,97,115,104,4,212,32,65,32,109,111,116,105,111,110,32,119,97,115,32,110,111,116,32,97,112,112,114,111,118,101,100,32,98,121,32,116,104,101,32,114,101,113,117,105,114,101,100,32,116,104,114,101,115,104,111,108,100,46,32,69,120,101,99,117,116,101,100,8,16,72,97,115,104,16,98,111,111,108,4,5,1,32,65,32,109,111,116,105,111,110,32,119,97,115,32,101,120,101,99,117,116,101,100,59,32,96,98,111,111,108,96,32,105,115,32,116,114,117,101,32,105,102,32,114,101,116,117,114,110,101,100,32,119,105,116,104,111,117,116,32,101,114,114,111,114,46,32,116,114,101,97,115,117,114,121,20,32,80,114,111,112,111,115,101,100,4,52,80,114,111,112,111,115,97,108,73,110,100,101,120,4,56,32,78,101,119,32,112,114,111,112,111,115,97,108,46,32,83,112,101,110,100,105,110,103,4,28,66,97,108,97,110,99,101,4,232,32,87,101,32,104,97,118,101,32,101,110,100,101,100,32,97,32,115,112,101,110,100,32,112,101,114,105,111,100,32,97,110,100,32,119,105,108,108,32,110,111,119,32,97,108,108,111,99,97,116,101,32,102,117,110,100,115,46,28,65,119,97,114,100,101,100,12,52,80,114,111,112,111,115,97,108,73,110,100,101,120,28,66,97,108,97,110,99,101,36,65,99,99,111,117,110,116,73,100,4,128,32,83,111,109,101,32,102,117,110,100,115,32,104,97,118,101,32,98,101,101,110,32,97,108,108,111,99,97,116,101,100,46,20,66,117,114,110,116,4,28,66,97,108,97,110,99,101,4,140,32,83,111,109,101,32,111,102,32,111,117,114,32,102,117,110,100,115,32,104,97,118,101,32,98,101,101,110,32,98,117,114,110,116,46,32,82,111,108,108,111,118,101,114,4,28,66,97,108,97,110,99,101,4,49,1,32,83,112,101,110,100,105,110,103,32,104,97,115,32,102,105,110,105,115,104,101,100,59,32,116,104,105,115,32,105,115,32,116,104,101,32,97,109,111,117,110,116,32,116,104,97,116,32,114,111,108,108,115,32,111,118,101,114,32,117,110,116,105,108,32,110,101,120,116,32,115,112,101,110,100,46,32,99,111,110,116,114,97,99,116,4,32,84,114,97,110,115,102,101,114,12,36,65,99,99,111,117,110,116,73,100,36,65,99,99,111,117,110,116,73,100,28,66,97,108,97,110,99,101,4,117,1,32,84,114,97,110,115,102,101,114,32,104,97,112,112,101,110,101,100,32,96,102,114,111,109,96,32,45,62,32,96,116,111,96,32,119,105,116,104,32,103,105,118,101,110,32,96,118,97,108,117,101,96,32,97,115,32,112,97,114,116,32,111,102,32,97,32,96,109,101,115,115,97,103,101,45,99,97,108,108,96,32,111,114,32,96,99,114,101,97,116,101,96,46,48,24,115,121,115,116,101,109,24,77,111,100,117,108,101,16,67,97,108,108,0,1,24,83,121,115,116,101,109,40,48,65,99,99,111,117,110,116,78,111,110,99,101,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,32,84,58,58,73,110,100,101,120,0,56,69,120,116,114,105,110,115,105,99,67,111,117,110,116,0,0,12,117,51,50,0,36,66,108,111,99,107,72,97,115,104,2,1,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,28,84,58,58,72,97,115,104,0,52,69,120,116,114,105,110,115,105,99,68,97,116,97,2,1,12,117,51,50,28,86,101,99,60,117,56,62,0,40,82,97,110,100,111,109,83,101,101,100,2,0,28,84,58,58,72,97,115,104,0,24,78,117,109,98,101,114,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,9,1,32,84,104,101,32,99,117,114,114,101,110,116,32,98,108,111,99,107,32,110,117,109,98,101,114,32,98,101,105,110,103,32,112,114,111,99,101,115,115,101,100,46,32,83,101,116,32,98,121,32,96,101,120,101,99,117,116,101,95,98,108,111,99,107,96,46,40,80,97,114,101,110,116,72,97,115,104,2,0,28,84,58,58,72,97,115,104,0,56,69,120,116,114,105,110,115,105,99,115,82,111,111,116,2,0,28,84,58,58,72,97,115,104,0,24,68,105,103,101,115,116,1,0,36,84,58,58,68,105,103,101,115,116,0,24,69,118,101,110,116,115,1,0,104,86,101,99,60,69,118,101,110,116,82,101,99,111,114,100,60,84,58,58,69,118,101,110,116,62,62,0,36,99,111,110,115,101,110,115,117,115,24,77,111,100,117,108,101,16,67,97,108,108,20,0,0,72,114,101,112,111,114,116,95,109,105,115,98,101,104,97,118,105,111,114,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,24,114,101,112,111,114,116,168,77,105,115,98,101,104,97,118,105,111,114,82,101,112,111,114,116,60,84,58,58,72,97,115,104,44,32,84,58,58,66,108,111,99,107,78,117,109,98,101,114,62,0,1,0,48,110,111,116,101,95,111,102,102,108,105,110,101,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,76,111,102,102,108,105,110,101,95,118,97,108,95,105,110,100,105,99,101,115,32,86,101,99,60,117,51,50,62,0,2,0,24,114,101,109,97,114,107,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,24,114,101,109,97,114,107,28,86,101,99,60,117,56,62,0,3,0,32,115,101,116,95,99,111,100,101,4,12,110,101,119,28,86,101,99,60,117,56,62,0,4,0,44,115,101,116,95,115,116,111,114,97,103,101,4,20,105,116,101,109,115,52,86,101,99,60,75,101,121,86,97,108,117,101,62,0,1,36,67,111,110,115,101,110,115,117,115,4,76,79,114,105,103,105,110,97,108,65,117,116,104,111,114,105,116,105,101,115,0,0,72,86,101,99,60,84,58,58,83,101,115,115,105,111,110,75,101,121,62,0,32,98,97,108,97,110,99,101,115,24,77,111,100,117,108,101,16,67,97,108,108,8,0,0,32,116,114,97,110,115,102,101,114,12,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,16,100,101,115,116,164,82,97,119,65,100,100,114,101,115,115,60,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,62,20,118,97,108,117,101,40,84,58,58,66,97,108,97,110,99,101,0,1,0,44,115,101,116,95,98,97,108,97,110,99,101,12,12,119,104,111,164,82,97,119,65,100,100,114,101,115,115,60,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,62,16,102,114,101,101,40,84,58,58,66,97,108,97,110,99,101,32,114,101,115,101,114,118,101,100,40,84,58,58,66,97,108,97,110,99,101,0,1,32,66,97,108,97,110,99,101,115,44,52,84,111,116,97,108,73,115,115,117,97,110,99,101,2,0,40,84,58,58,66,97,108,97,110,99,101,4,164,32,84,104,101,32,116,111,116,97,108,32,97,109,111,117,110,116,32,111,102,32,115,116,97,107,101,32,111,110,32,116,104,101,32,115,121,115,116,101,109,46,72,69,120,105,115,116,101,110,116,105,97,108,68,101,112,111,115,105,116,2,0,40,84,58,58,66,97,108,97,110,99,101,4,208,32,84,104,101,32,109,105,110,105,109,117,109,32,97,109,111,117,110,116,32,97,108,108,111,119,101,100,32,116,111,32,107,101,101,112,32,97,110,32,97,99,99,111,117,110,116,32,111,112,101,110,46,52,82,101,99,108,97,105,109,82,101,98,97,116,101,2,0,40,84,58,58,66,97,108,97,110,99,101,4,41,1,32,84,104,101,32,97,109,111,117,110,116,32,99,114,101,100,105,116,101,100,32,116,111,32,97,32,100,101,115,116,105,110,97,116,105,111,110,39,115,32,97,99,99,111,117,110,116,32,119,104,111,115,101,32,105,110,100,101,120,32,119,97,115,32,114,101,99,108,97,105,109,101,100,46,44,84,114,97,110,115,102,101,114,70,101,101,2,0,40,84,58,58,66,97,108,97,110,99,101,4,148,32,84,104,101,32,102,101,101,32,114,101,113,117,105,114,101,100,32,116,111,32,109,97,107,101,32,97,32,116,114,97,110,115,102,101,114,46,44,67,114,101,97,116,105,111,110,70,101,101,2,0,40,84,58,58,66,97,108,97,110,99,101,4,37,1,32,84,104,101,32,102,101,101,32,114,101,113,117,105,114,101,100,32,116,111,32,99,114,101,97,116,101,32,97,110,32,97,99,99,111,117,110,116,46,32,65,116,32,108,101,97,115,116,32,97,115,32,98,105,103,32,97,115,32,82,101,99,108,97,105,109,82,101,98,97,116,101,46,44,78,101,120,116,69,110,117,109,83,101,116,2,0,60,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,4,124,32,84,104,101,32,110,101,120,116,32,102,114,101,101,32,101,110,117,109,101,114,97,116,105,111,110,32,115,101,116,46,28,69,110,117,109,83,101,116,1,1,60,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,88,32,84,104,101,32,101,110,117,109,101,114,97,116,105,111,110,32,115,101,116,115,46,44,70,114,101,101,66,97,108,97,110,99,101,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,40,84,58,58,66,97,108,97,110,99,101,44,156,32,84,104,101,32,39,102,114,101,101,39,32,98,97,108,97,110,99,101,32,111,102,32,97,32,103,105,118,101,110,32,97,99,99,111,117,110,116,46,0,77,1,32,84,104,105,115,32,105,115,32,116,104,101,32,111,110,108,121,32,98,97,108,97,110,99,101,32,116,104,97,116,32,109,97,116,116,101,114,115,32,105,110,32,116,101,114,109,115,32,111,102,32,109,111,115,116,32,111,112,101,114,97,116,105,111,110,115,32,111,110,32,116,111,107,101,110,115,46,32,73,116,32,105,115,105,1,32,97,108,111,110,101,32,117,115,101,100,32,116,111,32,100,101,116,101,114,109,105,110,101,32,116,104,101,32,98,97,108,97,110,99,101,32,119,104,101,110,32,105,110,32,116,104,101,32,99,111,110,116,114,97,99,116,32,101,120,101,99,117,116,105,111,110,32,101,110,118,105,114,111,110,109,101,110,116,46,32,87,104,101,110,32,116,104,105,115,85,1,32,98,97,108,97,110,99,101,32,102,97,108,108,115,32,98,101,108,111,119,32,116,104,101,32,118,97,108,117,101,32,111,102,32,96,69,120,105,115,116,101,110,116,105,97,108,68,101,112,111,115,105,116,96,44,32,116,104,101,110,32,116,104,101,32,39,99,117,114,114,101,110,116,32,97,99,99,111,117,110,116,39,32,105,115,61,1,32,100,101,108,101,116,101,100,58,32,115,112,101,99,105,102,105,99,97,108,108,121,32,96,70,114,101,101,66,97,108,97,110,99,101,96,46,32,70,117,114,116,104,101,114,109,111,114,101,44,32,96,79,110,70,114,101,101,66,97,108,97,110,99,101,90,101,114,111,96,32,99,97,108,108,98,97,99,107,65,1,32,105,115,32,105,110,118,111,107,101,100,44,32,103,105,118,105,110,103,32,97,32,99,104,97,110,99,101,32,116,111,32,101,120,116,101,114,110,97,108,32,109,111,100,117,108,101,115,32,116,111,32,99,108,101,97,110,117,112,32,100,97,116,97,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,84,32,116,104,101,32,100,101,108,101,116,101,100,32,97,99,99,111,117,110,116,46,0,93,1,32,96,115,121,115,116,101,109,58,58,65,99,99,111,117,110,116,78,111,110,99,101,96,32,105,115,32,97,108,115,111,32,100,101,108,101,116,101,100,32,105,102,32,96,82,101,115,101,114,118,101,100,66,97,108,97,110,99,101,96,32,105,115,32,97,108,115,111,32,122,101,114,111,32,40,105,116,32,97,108,115,111,32,103,101,116,115,21,1,32,99,111,108,108,97,112,115,101,100,32,116,111,32,122,101,114,111,32,105,102,32,105,116,32,101,118,101,114,32,98,101,99,111,109,101,115,32,108,101,115,115,32,116,104,97,110,32,96,69,120,105,115,116,101,110,116,105,97,108,68,101,112,111,115,105,116,96,46,60,82,101,115,101,114,118,101,100,66,97,108,97,110,99,101,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,40,84,58,58,66,97,108,97,110,99,101,48,113,1,32,84,104,101,32,97,109,111,117,110,116,32,111,102,32,116,104,101,32,98,97,108,97,110,99,101,32,111,102,32,97,32,103,105,118,101,110,32,97,99,99,111,117,110,116,32,116,104,97,116,32,105,115,32,101,120,116,101,114,97,108,108,121,32,114,101,115,101,114,118,101,100,59,32,116,104,105,115,32,99,97,110,32,115,116,105,108,108,32,103,101,116,156,32,115,108,97,115,104,101,100,44,32,98,117,116,32,103,101,116,115,32,115,108,97,115,104,101,100,32,108,97,115,116,32,111,102,32,97,108,108,46,0,109,1,32,84,104,105,115,32,98,97,108,97,110,99,101,32,105,115,32,97,32,39,114,101,115,101,114,118,101,39,32,98,97,108,97,110,99,101,32,116,104,97,116,32,111,116,104,101,114,32,115,117,98,115,121,115,116,101,109,115,32,117,115,101,32,105,110,32,111,114,100,101,114,32,116,111,32,115,101,116,32,97,115,105,100,101,32,116,111,107,101,110,115,113,1,32,116,104,97,116,32,97,114,101,32,115,116,105,108,108,32,39,111,119,110,101,100,39,32,98,121,32,116,104,101,32,97,99,99,111,117,110,116,32,104,111,108,100,101,114,44,32,98,117,116,32,119,104,105,99,104,32,97,114,101,32,117,110,115,112,101,110,100,97,98,108,101,46,32,40,84,104,105,115,32,105,115,32,100,105,102,102,101,114,101,110,116,41,1,32,97,110,100,32,119,104,111,108,108,121,32,117,110,114,101,108,97,116,101,100,32,116,111,32,116,104,101,32,96,66,111,110,100,97,103,101,96,32,115,121,115,116,101,109,32,117,115,101,100,32,105,110,32,116,104,101,32,115,116,97,107,105,110,103,32,109,111,100,117,108,101,46,41,0,117,1,32,87,104,101,110,32,116,104,105,115,32,98,97,108,97,110,99,101,32,102,97,108,108,115,32,98,101,108,111,119,32,116,104,101,32,118,97,108,117,101,32,111,102,32,96,69,120,105,115,116,101,110,116,105,97,108,68,101,112,111,115,105,116,96,44,32,116,104,101,110,32,116,104,105,115,32,39,114,101,115,101,114,118,101,32,97,99,99,111,117,110,116,39,180,32,105,115,32,100,101,108,101,116,101,100,58,32,115,112,101,99,105,102,105,99,97,108,108,121,44,32,96,82,101,115,101,114,118,101,100,66,97,108,97,110,99,101,96,46,0,77,1,32,96,115,121,115,116,101,109,58,58,65,99,99,111,117,110,116,78,111,110,99,101,96,32,105,115,32,97,108,115,111,32,100,101,108,101,116,101,100,32,105,102,32,96,70,114,101,101,66,97,108,97,110,99,101,96,32,105,115,32,97,108,115,111,32,122,101,114,111,32,40,105,116,32,97,108,115,111,32,103,101,116,115,21,1,32,99,111,108,108,97,112,115,101,100,32,116,111,32,122,101,114,111,32,105,102,32,105,116,32,101,118,101,114,32,98,101,99,111,109,101,115,32,108,101,115,115,32,116,104,97,110,32,96,69,120,105,115,116,101,110,116,105,97,108,68,101,112,111,115,105,116,96,46,72,84,114,97,110,115,97,99,116,105,111,110,66,97,115,101,70,101,101,2,0,40,84,58,58,66,97,108,97,110,99,101,4,220,32,84,104,101,32,102,101,101,32,116,111,32,98,101,32,112,97,105,100,32,102,111,114,32,109,97,107,105,110,103,32,97,32,116,114,97,110,115,97,99,116,105,111,110,59,32,116,104,101,32,98,97,115,101,46,72,84,114,97,110,115,97,99,116,105,111,110,66,121,116,101,70,101,101,2,0,40,84,58,58,66,97,108,97,110,99,101,4,13,1,32,84,104,101,32,102,101,101,32,116,111,32,98,101,32,112,97,105,100,32,102,111,114,32,109,97,107,105,110,103,32,97,32,116,114,97,110,115,97,99,116,105,111,110,59,32,116,104,101,32,112,101,114,45,98,121,116,101,32,112,111,114,116,105,111,110,46,36,116,105,109,101,115,116,97,109,112,24,77,111,100,117,108,101,16,67,97,108,108,4,0,0,12,115,101,116,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,12,110,111,119,36,84,58,58,77,111,109,101,110,116,0,1,36,84,105,109,101,115,116,97,109,112,12,12,78,111,119,2,0,36,84,58,58,77,111,109,101,110,116,4,144,32,67,117,114,114,101,110,116,32,116,105,109,101,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,98,108,111,99,107,46,44,66,108,111,99,107,80,101,114,105,111,100,2,0,36,84,58,58,77,111,109,101,110,116,4,196,32,84,104,101,32,109,105,110,105,109,117,109,32,40,97,110,100,32,97,100,118,105,115,101,100,41,32,112,101,114,105,111,100,32,98,101,116,119,101,101,110,32,98,108,111,99,107,115,46,36,68,105,100,85,112,100,97,116,101,1,0,16,98,111,111,108,4,180,32,68,105,100,32,116,104,101,32,116,105,109,101,115,116,97,109,112,32,103,101,116,32,117,112,100,97,116,101,100,32,105,110,32,116,104,105,115,32,98,108,111,99,107,63,28,115,101,115,115,105,111,110,24,77,111,100,117,108,101,16,67,97,108,108,12,0,0,28,115,101,116,95,107,101,121,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,12,107,101,121,52,84,58,58,83,101,115,115,105,111,110,75,101,121,0,1,0,40,115,101,116,95,108,101,110,103,116,104,4,12,110,101,119,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,2,0,68,102,111,114,99,101,95,110,101,119,95,115,101,115,115,105,111,110,4,52,97,112,112,108,121,95,114,101,119,97,114,100,115,16,98,111,111,108,0,1,28,83,101,115,115,105,111,110,32,40,86,97,108,105,100,97,116,111,114,115,2,0,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,124,32,84,104,101,32,99,117,114,114,101,110,116,32,115,101,116,32,111,102,32,118,97,108,105,100,97,116,111,114,115,46,52,83,101,115,115,105,111,110,76,101,110,103,116,104,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,124,32,67,117,114,114,101,110,116,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,115,101,115,115,105,111,110,46,48,67,117,114,114,101,110,116,73,110,100,101,120,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,120,32,67,117,114,114,101,110,116,32,105,110,100,101,120,32,111,102,32,116,104,101,32,115,101,115,115,105,111,110,46,48,67,117,114,114,101,110,116,83,116,97,114,116,2,0,36,84,58,58,77,111,109,101,110,116,4,160,32,84,105,109,101,115,116,97,109,112,32,119,104,101,110,32,99,117,114,114,101,110,116,32,115,101,115,115,105,111,110,32,115,116,97,114,116,101,100,46,68,70,111,114,99,105,110,103,78,101,119,83,101,115,115,105,111,110,0,0,16,98,111,111,108,8,121,1,32,78,101,119,32,115,101,115,115,105,111,110,32,105,115,32,98,101,105,110,103,32,102,111,114,99,101,100,32,105,115,32,116,104,105,115,32,101,110,116,114,121,32,101,120,105,115,116,115,59,32,105,110,32,119,104,105,99,104,32,99,97,115,101,44,32,116,104,101,32,98,111,111,108,101,97,110,32,118,97,108,117,101,32,105,115,32,119,104,101,116,104,101,114,129,1,32,116,104,101,32,110,101,119,32,115,101,115,115,105,111,110,32,115,104,111,117,108,100,32,98,101,32,99,111,110,115,105,100,101,114,101,100,32,97,32,110,111,114,109,97,108,32,114,111,116,97,116,105,111,110,32,40,114,101,119,97,114,100,97,98,108,101,41,32,111,114,32,101,120,99,101,112,116,105,111,110,97,108,32,40,115,108,97,115,104,97,98,108,101,41,46,64,76,97,115,116,76,101,110,103,116,104,67,104,97,110,103,101,0,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,192,32,66,108,111,99,107,32,97,116,32,119,104,105,99,104,32,116,104,101,32,115,101,115,115,105,111,110,32,108,101,110,103,116,104,32,108,97,115,116,32,99,104,97,110,103,101,100,46,40,78,101,120,116,75,101,121,70,111,114,0,1,48,84,58,58,65,99,99,111,117,110,116,73,100,52,84,58,58,83,101,115,115,105,111,110,75,101,121,4,144,32,84,104,101,32,110,101,120,116,32,107,101,121,32,102,111,114,32,97,32,103,105,118,101,110,32,118,97,108,105,100,97,116,111,114,46,68,78,101,120,116,83,101,115,115,105,111,110,76,101,110,103,116,104,0,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,100,32,84,104,101,32,110,101,120,116,32,115,101,115,115,105,111,110,32,108,101,110,103,116,104,46,28,115,116,97,107,105,110,103,24,77,111,100,117,108,101,16,67,97,108,108,40,0,0,20,115,116,97,107,101,4,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,0,1,0,28,117,110,115,116,97,107,101,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,64,105,110,116,101,110,116,105,111,110,115,95,105,110,100,101,120,12,117,51,50,0,2,0,32,110,111,109,105,110,97,116,101,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,24,116,97,114,103,101,116,152,65,100,100,114,101,115,115,60,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,62,0,3,0,40,117,110,110,111,109,105,110,97,116,101,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,48,116,97,114,103,101,116,95,105,110,100,101,120,12,117,51,50,0,4,0,80,114,101,103,105,115,116,101,114,95,112,114,101,102,101,114,101,110,99,101,115,12,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,64,105,110,116,101,110,116,105,111,110,115,95,105,110,100,101,120,12,117,51,50,20,112,114,101,102,115,104,86,97,108,105,100,97,116,111,114,80,114,101,102,115,60,84,58,58,66,97,108,97,110,99,101,62,0,5,0,80,115,101,116,95,115,101,115,115,105,111,110,115,95,112,101,114,95,101,114,97,4,12,110,101,119,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,6,0,80,115,101,116,95,98,111,110,100,105,110,103,95,100,117,114,97,116,105,111,110,4,12,110,101,119,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,7,0,76,115,101,116,95,118,97,108,105,100,97,116,111,114,95,99,111,117,110,116,4,12,110,101,119,12,117,51,50,0,8,0,52,102,111,114,99,101,95,110,101,119,95,101,114,97,4,52,97,112,112,108,121,95,114,101,119,97,114,100,115,16,98,111,111,108,0,9,0,92,115,101,116,95,111,102,102,108,105,110,101,95,115,108,97,115,104,95,103,114,97,99,101,4,12,110,101,119,12,117,51,50,0,1,28,83,116,97,107,105,110,103,84,56,86,97,108,105,100,97,116,111,114,67,111,117,110,116,2,0,12,117,51,50,4,168,32,84,104,101,32,105,100,101,97,108,32,110,117,109,98,101,114,32,111,102,32,115,116,97,107,105,110,103,32,112,97,114,116,105,99,105,112,97,110,116,115,46,84,77,105,110,105,109,117,109,86,97,108,105,100,97,116,111,114,67,111,117,110,116,0,0,12,117,51,50,4,65,1,32,77,105,110,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,115,116,97,107,105,110,103,32,112,97,114,116,105,99,105,112,97,110,116,115,32,98,101,102,111,114,101,32,101,109,101,114,103,101,110,99,121,32,99,111,110,100,105,116,105,111,110,115,32,97,114,101,32,105,109,112,111,115,101,100,46,56,83,101,115,115,105,111,110,115,80,101,114,69,114,97,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,164,32,84,104,101,32,108,101,110,103,116,104,32,111,102,32,97,32,115,116,97,107,105,110,103,32,101,114,97,32,105,110,32,115,101,115,115,105,111,110,115,46,52,83,101,115,115,105,111,110,82,101,119,97,114,100,2,0,28,80,101,114,98,105,108,108,4,33,1,32,77,97,120,105,109,117,109,32,114,101,119,97,114,100,44,32,112,101,114,32,118,97,108,105,100,97,116,111,114,44,32,116,104,97,116,32,105,115,32,112,114,111,118,105,100,101,100,32,112,101,114,32,97,99,99,101,112,116,97,98,108,101,32,115,101,115,115,105,111,110,46,48,79,102,102,108,105,110,101,83,108,97,115,104,2,0,28,80,101,114,98,105,108,108,4,81,1,32,83,108,97,115,104,44,32,112,101,114,32,118,97,108,105,100,97,116,111,114,32,116,104,97,116,32,105,115,32,116,97,107,101,110,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,116,105,109,101,32,116,104,101,121,32,97,114,101,32,102,111,117,110,100,32,116,111,32,98,101,32,111,102,102,108,105,110,101,46,68,79,102,102,108,105,110,101,83,108,97,115,104,71,114,97,99,101,1,0,12,117,51,50,4,57,1,32,78,117,109,98,101,114,32,111,102,32,105,110,115,116,97,110,99,101,115,32,111,102,32,111,102,102,108,105,110,101,32,114,101,112,111,114,116,115,32,98,101,102,111,114,101,32,115,108,97,115,104,105,110,103,32,98,101,103,105,110,115,32,102,111,114,32,118,97,108,105,100,97,116,111,114,115,46,60,66,111,110,100,105,110,103,68,117,114,97,116,105,111,110,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,184,32,84,104,101,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,98,111,110,100,105,110,103,32,100,117,114,97,116,105,111,110,32,105,110,32,98,108,111,99,107,115,46,40,67,117,114,114,101,110,116,69,114,97,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,92,32,84,104,101,32,99,117,114,114,101,110,116,32,101,114,97,32,105,110,100,101,120,46,80,86,97,108,105,100,97,116,111,114,80,114,101,102,101,114,101,110,99,101,115,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,104,86,97,108,105,100,97,116,111,114,80,114,101,102,115,60,84,58,58,66,97,108,97,110,99,101,62,4,136,32,80,114,101,102,101,114,101,110,99,101,115,32,116,104,97,116,32,97,32,118,97,108,105,100,97,116,111,114,32,104,97,115,46,40,73,110,116,101,110,116,105,111,110,115,1,0,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,164,32,65,108,108,32,116,104,101,32,97,99,99,111,117,110,116,115,32,119,105,116,104,32,97,32,100,101,115,105,114,101,32,116,111,32,115,116,97,107,101,46,40,78,111,109,105,110,97,116,105,110,103,0,1,48,84,58,58,65,99,99,111,117,110,116,73,100,48,84,58,58,65,99,99,111,117,110,116,73,100,4,160,32,65,108,108,32,110,111,109,105,110,97,116,111,114,32,45,62,32,110,111,109,105,110,101,101,32,114,101,108,97,116,105,111,110,115,104,105,112,115,46,52,78,111,109,105,110,97,116,111,114,115,70,111,114,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,148,32,78,111,109,105,110,97,116,111,114,115,32,102,111,114,32,97,32,112,97,114,116,105,99,117,108,97,114,32,97,99,99,111,117,110,116,46,80,67,117,114,114,101,110,116,78,111,109,105,110,97,116,111,114,115,70,111,114,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,5,1,32,78,111,109,105,110,97,116,111,114,115,32,102,111,114,32,97,32,112,97,114,116,105,99,117,108,97,114,32,97,99,99,111,117,110,116,32,116,104,97,116,32,105,115,32,105,110,32,97,99,116,105,111,110,32,114,105,103,104,116,32,110,111,119,46,80,67,117,114,114,101,110,116,83,101,115,115,105,111,110,82,101,119,97,114,100,1,0,40,84,58,58,66,97,108,97,110,99,101,4,33,1,32,77,97,120,105,109,117,109,32,114,101,119,97,114,100,44,32,112,101,114,32,118,97,108,105,100,97,116,111,114,44,32,116,104,97,116,32,105,115,32,112,114,111,118,105,100,101,100,32,112,101,114,32,97,99,99,101,112,116,97,98,108,101,32,115,101,115,115,105,111,110,46,76,67,117,114,114,101,110,116,79,102,102,108,105,110,101,83,108,97,115,104,1,0,40,84,58,58,66,97,108,97,110,99,101,4,81,1,32,83,108,97,115,104,44,32,112,101,114,32,118,97,108,105,100,97,116,111,114,32,116,104,97,116,32,105,115,32,116,97,107,101,110,32,102,111,114,32,116,104,101,32,102,105,114,115,116,32,116,105,109,101,32,116,104,101,121,32,97,114,101,32,102,111,117,110,100,32,116,111,32,98,101,32,111,102,102,108,105,110,101,46,72,78,101,120,116,83,101,115,115,105,111,110,115,80,101,114,69,114,97,0,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,144,32,84,104,101,32,110,101,120,116,32,118,97,108,117,101,32,111,102,32,115,101,115,115,105,111,110,115,32,112,101,114,32,101,114,97,46,76,76,97,115,116,69,114,97,76,101,110,103,116,104,67,104,97,110,103,101,1,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,224,32,84,104,101,32,115,101,115,115,105,111,110,32,105,110,100,101,120,32,97,116,32,119,104,105,99,104,32,116,104,101,32,101,114,97,32,108,101,110,103,116,104,32,108,97,115,116,32,99,104,97,110,103,101,100,46,40,83,116,97,107,101,82,97,110,103,101,1,0,72,80,97,105,114,79,102,60,84,58,58,66,97,108,97,110,99,101,62,4,240,32,84,104,101,32,104,105,103,104,101,115,116,32,97,110,100,32,108,111,119,101,115,116,32,115,116,97,107,101,100,32,118,97,108,105,100,97,116,111,114,32,115,108,97,115,104,97,98,108,101,32,98,97,108,97,110,99,101,115,46,28,66,111,110,100,97,103,101,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,244,32,84,104,101,32,98,108,111,99,107,32,97,116,32,119,104,105,99,104,32,116,104,101,32,96,119,104,111,96,39,115,32,102,117,110,100,115,32,98,101,99,111,109,101,32,101,110,116,105,114,101,108,121,32,108,105,113,117,105,100,46,40,83,108,97,115,104,67,111,117,110,116,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,12,117,51,50,4,209,1,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,116,105,109,101,115,32,97,32,103,105,118,101,110,32,118,97,108,105,100,97,116,111,114,32,104,97,115,32,98,101,101,110,32,114,101,112,111,114,116,101,100,32,111,102,102,108,105,110,101,46,32,84,104,105,115,32,103,101,116,115,32,100,101,99,114,101,109,101,110,116,101,100,32,98,121,32,111,110,101,32,101,97,99,104,32,101,114,97,32,116,104,97,116,32,112,97,115,115,101,115,46,52,70,111,114,99,105,110,103,78,101,119,69,114,97,0,0,8,40,41,4,104,32,87,101,32,97,114,101,32,102,111,114,99,105,110,103,32,97,32,110,101,119,32,101,114,97,46,36,100,101,109,111,99,114,97,99,121,24,77,111,100,117,108,101,16,67,97,108,108,20,0,0,28,112,114,111,112,111,115,101,12,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,32,112,114,111,112,111,115,97,108,64,66,111,120,60,84,58,58,80,114,111,112,111,115,97,108,62,20,118,97,108,117,101,40,84,58,58,66,97,108,97,110,99,101,0,1,0,24,115,101,99,111,110,100,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,32,112,114,111,112,111,115,97,108,36,80,114,111,112,73,110,100,101,120,0,2,0,16,118,111,116,101,12,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,36,114,101,102,95,105,110,100,101,120,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,64,97,112,112,114,111,118,101,95,112,114,111,112,111,115,97,108,16,98,111,111,108,0,3,0,64,115,116,97,114,116,95,114,101,102,101,114,101,110,100,117,109,8,32,112,114,111,112,111,115,97,108,64,66,111,120,60,84,58,58,80,114,111,112,111,115,97,108,62,56,118,111,116,101,95,116,104,114,101,115,104,111,108,100,52,86,111,116,101,84,104,114,101,115,104,111,108,100,0,4,0,68,99,97,110,99,101,108,95,114,101,102,101,114,101,110,100,117,109,4,36,114,101,102,95,105,110,100,101,120,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,0,1,36,68,101,109,111,99,114,97,99,121,44,60,80,117,98,108,105,99,80,114,111,112,67,111,117,110,116,1,0,36,80,114,111,112,73,110,100,101,120,4,244,32,84,104,101,32,110,117,109,98,101,114,32,111,102,32,40,112,117,98,108,105,99,41,32,112,114,111,112,111,115,97,108,115,32,116,104,97,116,32,104,97,118,101,32,98,101,101,110,32,109,97,100,101,32,115,111,32,102,97,114,46,44,80,117,98,108,105,99,80,114,111,112,115,1,0,172,86,101,99,60,40,80,114,111,112,73,110,100,101,120,44,32,84,58,58,80,114,111,112,111,115,97,108,44,32,84,58,58,65,99,99,111,117,110,116,73,100,41,62,4,128,32,84,104,101,32,112,117,98,108,105,99,32,112,114,111,112,111,115,97,108,115,46,32,85,110,115,111,114,116,101,100,46,36,68,101,112,111,115,105,116,79,102,0,1,36,80,114,111,112,73,110,100,101,120,124,40,84,58,58,66,97,108,97,110,99,101,44,32,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,41,4,132,32,84,104,111,115,101,32,119,104,111,32,104,97,118,101,32,108,111,99,107,101,100,32,97,32,100,101,112,111,115,105,116,46,48,76,97,117,110,99,104,80,101,114,105,111,100,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,228,32,72,111,119,32,111,102,116,101,110,32,40,105,110,32,98,108,111,99,107,115,41,32,110,101,119,32,112,117,98,108,105,99,32,114,101,102,101,114,101,110,100,97,32,97,114,101,32,108,97,117,110,99,104,101,100,46,56,77,105,110,105,109,117,109,68,101,112,111,115,105,116,2,0,40,84,58,58,66,97,108,97,110,99,101,4,53,1,32,84,104,101,32,109,105,110,105,109,117,109,32,97,109,111,117,110,116,32,116,111,32,98,101,32,117,115,101,100,32,97,115,32,97,32,100,101,112,111,115,105,116,32,102,111,114,32,97,32,112,117,98,108,105,99,32,114,101,102,101,114,101,110,100,117,109,32,112,114,111,112,111,115,97,108,46,48,86,111,116,105,110,103,80,101,114,105,111,100,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,184,32,72,111,119,32,111,102,116,101,110,32,40,105,110,32,98,108,111,99,107,115,41,32,116,111,32,99,104,101,99,107,32,102,111,114,32,110,101,119,32,118,111,116,101,115,46,60,82,101,102,101,114,101,110,100,117,109,67,111,117,110,116,2,0,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,4,57,1,32,84,104,101,32,110,101,120,116,32,102,114,101,101,32,114,101,102,101,114,101,110,100,117,109,32,105,110,100,101,120,44,32,97,107,97,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,102,101,114,101,110,100,117,109,115,32,115,116,97,114,116,101,100,32,115,111,32,102,97,114,46,36,78,101,120,116,84,97,108,108,121,2,0,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,4,200,32,84,104,101,32,110,101,120,116,32,114,101,102,101,114,101,110,100,117,109,32,105,110,100,101,120,32,116,104,97,116,32,115,104,111,117,108,100,32,98,101,32,116,97,108,108,105,101,100,46,64,82,101,102,101,114,101,110,100,117,109,73,110,102,111,79,102,0,1,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,176,40,84,58,58,66,108,111,99,107,78,117,109,98,101,114,44,32,84,58,58,80,114,111,112,111,115,97,108,44,32,86,111,116,101,84,104,114,101,115,104,111,108,100,41,4,180,32,73,110,102,111,114,109,97,116,105,111,110,32,99,111,110,99,101,114,110,105,110,103,32,97,110,121,32,103,105,118,101,110,32,114,101,102,101,114,101,110,100,117,109,46,36,86,111,116,101,114,115,70,111,114,1,1,60,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,164,32,71,101,116,32,116,104,101,32,118,111,116,101,114,115,32,102,111,114,32,116,104,101,32,99,117,114,114,101,110,116,32,112,114,111,112,111,115,97,108,46,24,86,111,116,101,79,102,0,1,124,40,82,101,102,101,114,101,110,100,117,109,73,110,100,101,120,44,32,84,58,58,65,99,99,111,117,110,116,73,100,41,16,98,111,111,108,4,132,32,71,101,116,32,116,104,101,32,118,111,116,101,44,32,105,102,32,83,111,109,101,44,32,111,102,32,96,119,104,111,96,46,28,99,111,117,110,99,105,108,24,77,111,100,117,108,101,16,67,97,108,108,36,0,0,52,115,101,116,95,97,112,112,114,111,118,97,108,115,12,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,20,118,111,116,101,115,36,86,101,99,60,98,111,111,108,62,20,105,110,100,101,120,36,86,111,116,101,73,110,100,101,120,0,1,0,76,114,101,97,112,95,105,110,97,99,116,105,118,101,95,118,111,116,101,114,20,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,56,114,101,112,111,114,116,101,114,95,105,110,100,101,120,12,117,51,50,12,119,104,111,152,65,100,100,114,101,115,115,60,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,62,36,119,104,111,95,105,110,100,101,120,12,117,51,50,72,97,115,115,117,109,101,100,95,118,111,116,101,95,105,110,100,101,120,36,86,111,116,101,73,110,100,101,120,0,2,0,52,114,101,116,114,97,99,116,95,118,111,116,101,114,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,20,105,110,100,101,120,12,117,51,50,0,3,0,64,115,117,98,109,105,116,95,99,97,110,100,105,100,97,99,121,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,16,115,108,111,116,12,117,51,50,0,4,0,56,112,114,101,115,101,110,116,95,119,105,110,110,101,114,16,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,36,99,97,110,100,105,100,97,116,101,152,65,100,100,114,101,115,115,60,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,62,20,116,111,116,97,108,40,84,58,58,66,97,108,97,110,99,101,20,105,110,100,101,120,36,86,111,116,101,73,110,100,101,120,0,5,0,68,115,101,116,95,100,101,115,105,114,101,100,95,115,101,97,116,115,4,20,99,111,117,110,116,12,117,51,50,0,6,0,52,114,101,109,111,118,101,95,109,101,109,98,101,114,4,12,119,104,111,152,65,100,100,114,101,115,115,60,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,65,99,99,111,117,110,116,73,110,100,101,120,62,0,7,0,100,115,101,116,95,112,114,101,115,101,110,116,97,116,105,111,110,95,100,117,114,97,116,105,111,110,4,20,99,111,117,110,116,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,8,0,68,115,101,116,95,116,101,114,109,95,100,117,114,97,116,105,111,110,4,20,99,111,117,110,116,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,1,28,67,111,117,110,99,105,108,80,52,67,97,110,100,105,100,97,99,121,66,111,110,100,2,0,40,84,58,58,66,97,108,97,110,99,101,4,5,1,32,72,111,119,32,109,117,99,104,32,115,104,111,117,108,100,32,98,101,32,108,111,99,107,101,100,32,117,112,32,105,110,32,111,114,100,101,114,32,116,111,32,115,117,98,109,105,116,32,111,110,101,39,115,32,99,97,110,100,105,100,97,99,121,46,40,86,111,116,105,110,103,66,111,110,100,2,0,40,84,58,58,66,97,108,97,110,99,101,4,9,1,32,72,111,119,32,109,117,99,104,32,115,104,111,117,108,100,32,98,101,32,108,111,99,107,101,100,32,117,112,32,105,110,32,111,114,100,101,114,32,116,111,32,98,101,32,97,98,108,101,32,116,111,32,115,117,98,109,105,116,32,118,111,116,101,115,46,80,80,114,101,115,101,110,116,83,108,97,115,104,80,101,114,86,111,116,101,114,2,0,40,84,58,58,66,97,108,97,110,99,101,4,13,1,32,84,104,101,32,112,117,110,105,115,104,109,101,110,116,44,32,112,101,114,32,118,111,116,101,114,44,32,105,102,32,121,111,117,32,112,114,111,118,105,100,101,32,97,110,32,105,110,118,97,108,105,100,32,112,114,101,115,101,110,116,97,116,105,111,110,46,40,67,97,114,114,121,67,111,117,110,116,2,0,12,117,51,50,4,53,1,32,72,111,119,32,109,97,110,121,32,114,117,110,110,101,114,115,45,117,112,32,115,104,111,117,108,100,32,104,97,118,101,32,116,104,101,105,114,32,97,112,112,114,111,118,97,108,115,32,112,101,114,115,105,115,116,32,117,110,116,105,108,32,116,104,101,32,110,101,120,116,32,118,111,116,101,46,80,80,114,101,115,101,110,116,97,116,105,111,110,68,117,114,97,116,105,111,110,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,61,1,32,72,111,119,32,108,111,110,103,32,116,111,32,103,105,118,101,32,101,97,99,104,32,116,111,112,32,99,97,110,100,105,100,97,116,101,32,116,111,32,112,114,101,115,101,110,116,32,116,104,101,109,115,101,108,118,101,115,32,97,102,116,101,114,32,116,104,101,32,118,111,116,101,32,101,110,100,115,46,76,73,110,97,99,116,105,118,101,71,114,97,99,101,80,101,114,105,111,100,2,0,36,86,111,116,101,73,110,100,101,120,8,105,1,32,72,111,119,32,109,97,110,121,32,118,111,116,101,115,32,110,101,101,100,32,116,111,32,103,111,32,98,121,32,97,102,116,101,114,32,97,32,118,111,116,101,114,39,115,32,108,97,115,116,32,118,111,116,101,32,98,101,102,111,114,101,32,116,104,101,121,32,99,97,110,32,98,101,32,114,101,97,112,101,100,32,105,102,32,116,104,101,105,114,80,32,97,112,112,114,111,118,97,108,115,32,97,114,101,32,109,111,111,116,46,48,86,111,116,105,110,103,80,101,114,105,111,100,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,184,32,72,111,119,32,111,102,116,101,110,32,40,105,110,32,98,108,111,99,107,115,41,32,116,111,32,99,104,101,99,107,32,102,111,114,32,110,101,119,32,118,111,116,101,115,46,48,84,101,114,109,68,117,114,97,116,105,111,110,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,152,32,72,111,119,32,108,111,110,103,32,101,97,99,104,32,112,111,115,105,116,105,111,110,32,105,115,32,97,99,116,105,118,101,32,102,111,114,46,48,68,101,115,105,114,101,100,83,101,97,116,115,2,0,12,117,51,50,4,232,32,78,117,109,98,101,114,32,111,102,32,97,99,99,111,117,110,116,115,32,116,104,97,116,32,115,104,111,117,108,100,32,98,101,32,115,105,116,116,105,110,103,32,111,110,32,116,104,101,32,99,111,117,110,99,105,108,46,52,65,99,116,105,118,101,67,111,117,110,99,105,108,1,0,140,86,101,99,60,40,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,66,108,111,99,107,78,117,109,98,101,114,41,62,8,109,1,32,84,104,101,32,99,117,114,114,101,110,116,32,99,111,117,110,99,105,108,46,32,87,104,101,110,32,116,104,101,114,101,39,115,32,97,32,118,111,116,101,32,103,111,105,110,103,32,111,110,44,32,116,104,105,115,32,115,104,111,117,108,100,32,115,116,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,101,120,101,99,117,116,105,118,101,36,32,109,97,116,116,101,114,115,46,36,86,111,116,101,67,111,117,110,116,1,0,36,86,111,116,101,73,110,100,101,120,4,5,1,32,84,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,118,111,116,101,115,32,116,104,97,116,32,104,97,118,101,32,104,97,112,112,101,110,101,100,32,111,114,32,97,114,101,32,105,110,32,112,114,111,103,114,101,115,115,46,44,65,112,112,114,111,118,97,108,115,79,102,1,1,48,84,58,58,65,99,99,111,117,110,116,73,100,36,86,101,99,60,98,111,111,108,62,4,1,1,32,84,104,101,32,108,97,115,116,32,99,108,101,97,114,101,100,32,118,111,116,101,32,105,110,100,101,120,32,116,104,97,116,32,116,104,105,115,32,118,111,116,101,114,32,119,97,115,32,108,97,115,116,32,97,99,116,105,118,101,32,97,116,46,56,82,101,103,105,115,116,101,114,73,110,102,111,79,102,0,1,48,84,58,58,65,99,99,111,117,110,116,73,100,64,40,86,111,116,101,73,110,100,101,120,44,32,117,51,50,41,8,125,1,32,84,104,101,32,118,111,116,101,32,105,110,100,101,120,32,97,110,100,32,108,105,115,116,32,115,108,111,116,32,116,104,97,116,32,116,104,101,32,99,97,110,100,105,100,97,116,101,32,96,119,104,111,96,32,119,97,115,32,114,101,103,105,115,116,101,114,101,100,32,111,114,32,96,78,111,110,101,96,32,105,102,32,116,104,101,121,32,97,114,101,32,110,111,116,88,32,99,117,114,114,101,110,116,108,121,32,114,101,103,105,115,116,101,114,101,100,46,48,76,97,115,116,65,99,116,105,118,101,79,102,0,1,48,84,58,58,65,99,99,111,117,110,116,73,100,36,86,111,116,101,73,110,100,101,120,4,1,1,32,84,104,101,32,108,97,115,116,32,99,108,101,97,114,101,100,32,118,111,116,101,32,105,110,100,101,120,32,116,104,97,116,32,116,104,105,115,32,118,111,116,101,114,32,119,97,115,32,108,97,115,116,32,97,99,116,105,118,101,32,97,116,46,24,86,111,116,101,114,115,1,0,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,96,32,84,104,101,32,112,114,101,115,101,110,116,32,118,111,116,101,114,32,108,105,115,116,46,40,67,97,110,100,105,100,97,116,101,115,1,0,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,4,112,32,84,104,101,32,112,114,101,115,101,110,116,32,99,97,110,100,105,100,97,116,101,32,108,105,115,116,46,56,67,97,110,100,105,100,97,116,101,67,111,117,110,116,1,0,12,117,51,50,0,48,78,101,120,116,70,105,110,97,108,105,115,101,0,0,160,40,84,58,58,66,108,111,99,107,78,117,109,98,101,114,44,32,117,51,50,44,32,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,41,4,33,1,32,84,104,101,32,97,99,99,111,117,110,116,115,32,104,111,108,100,105,110,103,32,116,104,101,32,115,101,97,116,115,32,116,104,97,116,32,119,105,108,108,32,98,101,99,111,109,101,32,102,114,101,101,32,111,110,32,116,104,101,32,110,101,120,116,32,116,97,108,108,121,46,64,83,110,97,112,115,104,111,116,101,100,83,116,97,107,101,115,2,0,60,86,101,99,60,84,58,58,66,97,108,97,110,99,101,62,4,232,32,84,104,101,32,115,116,97,107,101,115,32,97,115,32,116,104,101,121,32,119,101,114,101,32,97,116,32,116,104,101,32,112,111,105,110,116,32,116,104,97,116,32,116,104,101,32,118,111,116,101,32,101,110,100,101,100,46,44,76,101,97,100,101,114,98,111,97,114,100,0,0,124,86,101,99,60,40,84,58,58,66,97,108,97,110,99,101,44,32,84,58,58,65,99,99,111,117,110,116,73,100,41,62,4,224,32,71,101,116,32,116,104,101,32,108,101,97,100,101,114,98,111,97,114,100,32,105,102,32,119,101,59,114,101,32,105,110,32,116,104,101,32,112,114,101,115,101,110,116,97,116,105,111,110,32,112,104,97,115,101,46,56,99,111,117,110,99,105,108,95,118,111,116,105,110,103,24,77,111,100,117,108,101,16,67,97,108,108,20,0,0,28,112,114,111,112,111,115,101,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,32,112,114,111,112,111,115,97,108,64,66,111,120,60,84,58,58,80,114,111,112,111,115,97,108,62,0,1,0,16,118,111,116,101,12,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,32,112,114,111,112,111,115,97,108,28,84,58,58,72,97,115,104,28,97,112,112,114,111,118,101,16,98,111,111,108,0,2,0,16,118,101,116,111,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,52,112,114,111,112,111,115,97,108,95,104,97,115,104,28,84,58,58,72,97,115,104,0,3,0,72,115,101,116,95,99,111,111,108,111,102,102,95,112,101,114,105,111,100,4,24,98,108,111,99,107,115,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,4,0,68,115,101,116,95,118,111,116,105,110,103,95,112,101,114,105,111,100,4,24,98,108,111,99,107,115,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,1,52,67,111,117,110,99,105,108,86,111,116,105,110,103,28,52,67,111,111,108,111,102,102,80,101,114,105,111,100,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,48,86,111,116,105,110,103,80,101,114,105,111,100,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,0,36,80,114,111,112,111,115,97,108,115,2,0,120,86,101,99,60,40,84,58,58,66,108,111,99,107,78,117,109,98,101,114,44,32,84,58,58,72,97,115,104,41,62,0,40,80,114,111,112,111,115,97,108,79,102,0,1,28,84,58,58,72,97,115,104,44,84,58,58,80,114,111,112,111,115,97,108,0,56,80,114,111,112,111,115,97,108,86,111,116,101,114,115,1,1,28,84,58,58,72,97,115,104,68,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,0,52,67,111,117,110,99,105,108,86,111,116,101,79,102,0,1,92,40,84,58,58,72,97,115,104,44,32,84,58,58,65,99,99,111,117,110,116,73,100,41,16,98,111,111,108,0,56,86,101,116,111,101,100,80,114,111,112,111,115,97,108,0,1,28,84,58,58,72,97,115,104,140,40,84,58,58,66,108,111,99,107,78,117,109,98,101,114,44,32,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,41,0,60,99,111,117,110,99,105,108,95,109,111,116,105,111,110,115,24,77,111,100,117,108,101,16,67,97,108,108,8,0,0,28,112,114,111,112,111,115,101,12,24,111,114,105,103,105,110,112,60,84,32,97,115,32,115,121,115,116,101,109,58,58,84,114,97,105,116,62,58,58,79,114,105,103,105,110,36,116,104,114,101,115,104,111,108,100,12,117,51,50,32,112,114,111,112,111,115,97,108,108,66,111,120,60,60,84,32,97,115,32,84,114,97,105,116,62,58,58,80,114,111,112,111,115,97,108,62,0,1,0,16,118,111,116,101,16,24,111,114,105,103,105,110,112,60,84,32,97,115,32,115,121,115,116,101,109,58,58,84,114,97,105,116,62,58,58,79,114,105,103,105,110,32,112,114,111,112,111,115,97,108,28,84,58,58,72,97,115,104,20,105,110,100,101,120,52,80,114,111,112,111,115,97,108,73,110,100,101,120,28,97,112,112,114,111,118,101,16,98,111,111,108,0,1,56,67,111,117,110,99,105,108,77,111,116,105,111,110,115,16,36,80,114,111,112,111,115,97,108,115,1,0,48,86,101,99,60,84,58,58,72,97,115,104,62,4,152,32,84,104,101,32,40,104,97,115,104,101,115,32,111,102,41,32,116,104,101,32,97,99,116,105,118,101,32,112,114,111,112,111,115,97,108,115,46,40,80,114,111,112,111,115,97,108,79,102,0,1,28,84,58,58,72,97,115,104,88,60,84,32,97,115,32,84,114,97,105,116,62,58,58,80,114,111,112,111,115,97,108,4,204,32,65,99,116,117,97,108,32,112,114,111,112,111,115,97,108,32,102,111,114,32,97,32,103,105,118,101,110,32,104,97,115,104,44,32,105,102,32,105,116,39,115,32,99,117,114,114,101,110,116,46,24,86,111,116,105,110,103,0,1,28,84,58,58,72,97,115,104,232,40,80,114,111,112,111,115,97,108,73,110,100,101,120,44,32,117,51,50,44,32,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,44,32,86,101,99,60,84,58,58,65,99,99,111,117,110,116,73,100,62,41,4,37,1,32,86,111,116,101,115,32,102,111,114,32,97,32,103,105,118,101,110,32,112,114,111,112,111,115,97,108,58,32,40,114,101,113,117,105,114,101,100,95,121,101,115,95,118,111,116,101,115,44,32,121,101,115,95,118,111,116,101,114,115,44,32,110,111,95,118,111,116,101,114,115,41,46,52,80,114,111,112,111,115,97,108,67,111,117,110,116,1,0,12,117,51,50,4,72,32,80,114,111,112,111,115,97,108,115,32,115,111,32,102,97,114,46,32,116,114,101,97,115,117,114,121,24,77,111,100,117,108,101,16,67,97,108,108,20,0,0,52,112,114,111,112,111,115,101,95,115,112,101,110,100,12,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,20,118,97,108,117,101,40,84,58,58,66,97,108,97,110,99,101,44,98,101,110,101,102,105,99,105,97,114,121,48,84,58,58,65,99,99,111,117,110,116,73,100,0,1,0,28,115,101,116,95,112,111,116,4,28,110,101,119,95,112,111,116,40,84,58,58,66,97,108,97,110,99,101,0,2,0,36,99,111,110,102,105,103,117,114,101,16,52,112,114,111,112,111,115,97,108,95,98,111,110,100,28,80,101,114,109,105,108,108,84,112,114,111,112,111,115,97,108,95,98,111,110,100,95,109,105,110,105,109,117,109,40,84,58,58,66,97,108,97,110,99,101,48,115,112,101,110,100,95,112,101,114,105,111,100,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,16,98,117,114,110,28,80,101,114,109,105,108,108,0,3,0,60,114,101,106,101,99,116,95,112,114,111,112,111,115,97,108,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,40,114,111,112,111,115,97,108,95,105,100,52,80,114,111,112,111,115,97,108,73,110,100,101,120,0,4,0,64,97,112,112,114,111,118,101,95,112,114,111,112,111,115,97,108,8,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,44,112,114,111,112,111,115,97,108,95,105,100,52,80,114,111,112,111,115,97,108,73,110,100,101,120,0,1,32,84,114,101,97,115,117,114,121,32,48,80,114,111,112,111,115,97,108,66,111,110,100,2,0,28,80,101,114,109,105,108,108,8,81,1,32,80,114,111,112,111,114,116,105,111,110,32,111,102,32,102,117,110,100,115,32,116,104,97,116,32,115,104,111,117,108,100,32,98,101,32,98,111,110,100,101,100,32,105,110,32,111,114,100,101,114,32,116,111,32,112,108,97,99,101,32,97,32,112,114,111,112,111,115,97,108,46,32,65,110,32,97,99,99,101,112,116,101,100,220,32,112,114,111,112,111,115,97,108,32,103,101,116,115,32,116,104,101,115,101,32,98,97,99,107,46,32,65,32,114,101,106,101,99,116,101,100,32,112,114,111,112,111,115,97,108,32,100,111,101,115,110,39,116,46,76,80,114,111,112,111,115,97,108,66,111,110,100,77,105,110,105,109,117,109,2,0,40,84,58,58,66,97,108,97,110,99,101,4,73,1,32,77,105,110,105,109,117,109,32,97,109,111,117,110,116,32,111,102,32,102,117,110,100,115,32,116,104,97,116,32,115,104,111,117,108,100,32,98,101,32,112,108,97,99,101,100,32,105,110,32,97,32,100,101,112,111,115,105,116,32,102,111,114,32,109,97,107,105,110,103,32,97,32,112,114,111,112,111,115,97,108,46,44,83,112,101,110,100,80,101,114,105,111,100,2,0,56,84,58,58,66,108,111,99,107,78,117,109,98,101,114,4,136,32,80,101,114,105,111,100,32,98,101,116,119,101,101,110,32,115,117,99,99,101,115,115,105,118,101,32,115,112,101,110,100,115,46,16,66,117,114,110,2,0,28,80,101,114,109,105,108,108,4,17,1,32,80,101,114,99,101,110,116,97,103,101,32,111,102,32,115,112,97,114,101,32,102,117,110,100,115,32,40,105,102,32,97,110,121,41,32,116,104,97,116,32,97,114,101,32,98,117,114,110,116,32,112,101,114,32,115,112,101,110,100,32,112,101,114,105,111,100,46,12,80,111,116,1,0,40,84,58,58,66,97,108,97,110,99,101,4,204,32,84,111,116,97,108,32,102,117,110,100,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,116,104,105,115,32,109,111,100,117,108,101,32,102,111,114,32,115,112,101,110,100,105,110,103,46,52,80,114,111,112,111,115,97,108,67,111,117,110,116,1,0,52,80,114,111,112,111,115,97,108,73,110,100,101,120,4,164,32,78,117,109,98,101,114,32,111,102,32,112,114,111,112,111,115,97,108,115,32,116,104,97,116,32,104,97,118,101,32,98,101,101,110,32,109,97,100,101,46,36,80,114,111,112,111,115,97,108,115,0,1,52,80,114,111,112,111,115,97,108,73,110,100,101,120,136,80,114,111,112,111,115,97,108,60,84,58,58,65,99,99,111,117,110,116,73,100,44,32,84,58,58,66,97,108,97,110,99,101,62,4,124,32,80,114,111,112,111,115,97,108,115,32,116,104,97,116,32,104,97,118,101,32,98,101,101,110,32,109,97,100,101,46,36,65,112,112,114,111,118,97,108,115,1,0,72,86,101,99,60,80,114,111,112,111,115,97,108,73,110,100,101,120,62,4,248,32,80,114,111,112,111,115,97,108,32,105,110,100,105,99,101,115,32,116,104,97,116,32,104,97,118,101,32,98,101,101,110,32,97,112,112,114,111,118,101,100,32,98,117,116,32,110,111,116,32,121,101,116,32,97,119,97,114,100,101,100,46,32,99,111,110,116,114,97,99,116,24,77,111,100,117,108,101,16,67,97,108,108,8,0,0,16,99,97,108,108,20,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,16,100,101,115,116,48,84,58,58,65,99,99,111,117,110,116,73,100,20,118,97,108,117,101,40,84,58,58,66,97,108,97,110,99,101,36,103,97,115,95,108,105,109,105,116,24,84,58,58,71,97,115,16,100,97,116,97,28,86,101,99,60,117,56,62,0,1,0,24,99,114,101,97,116,101,20,24,111,114,105,103,105,110,36,84,58,58,79,114,105,103,105,110,20,118,97,108,117,101,40,84,58,58,66,97,108,97,110,99,101,36,103,97,115,95,108,105,109,105,116,24,84,58,58,71,97,115,36,105,110,105,116,95,99,111,100,101,28,86,101,99,60,117,56,62,16,100,97,116,97,28,86,101,99,60,117,56,62,0,0],"id":1} diff --git a/packages/api-codec/src/Metadata.rpc.ts b/packages/api-codec/src/Metadata.rpc.ts new file mode 100644 index 0000000000..43bb0f62bb --- /dev/null +++ b/packages/api-codec/src/Metadata.rpc.ts @@ -0,0 +1,9 @@ +// Copyright 2017-2018 @polkadot/api-codec authors & contributors +// This software may be modified and distributed under the terms +// of the ISC license. See the LICENSE file for details. + +const meta = [ + 20, 69, 118, 101, 110, 116, 40, 24, 115, 121, 115, 116, 101, 109, 8, 64, 69, 120, 116, 114, 105, 110, 115, 105, 99, 83, 117, 99, 99, 101, 115, 115, 0, 4, 148, 32, 65, 110, 32, 101, 120, 116, 114, 105, 110, 115, 105, 99, 32, 99, 111, 109, 112, 108, 101, 116, 101, 100, 32, 115, 117, 99, 99, 101, 115, 115, 102, 117, 108, 108, 121, 46, 60, 69, 120, 116, 114, 105, 110, 115, 105, 99, 70, 97, 105, 108, 101, 100, 0, 4, 84, 32, 65, 110, 32, 101, 120, 116, 114, 105, 110, 115, 105, 99, 32, 102, 97, 105, 108, 101, 100, 46, 32, 98, 97, 108, 97, 110, 99, 101, 115, 12, 40, 78, 101, 119, 65, 99, 99, 111, 117, 110, 116, 12, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 48, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 68, 78, 101, 119, 65, 99, 99, 111, 117, 110, 116, 79, 117, 116, 99, 111, 109, 101, 4, 108, 32, 65, 32, 110, 101, 119, 32, 97, 99, 99, 111, 117, 110, 116, 32, 119, 97, 115, 32, 99, 114, 101, 97, 116, 101, 100, 46, 52, 82, 101, 97, 112, 101, 100, 65, 99, 99, 111, 117, 110, 116, 4, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 4, 92, 32, 65, 110, 32, 97, 99, 99, 111, 117, 110, 116, 32, 119, 97, 115, 32, 114, 101, 97, 112, 101, 100, 46, 32, 84, 114, 97, 110, 115, 102, 101, 114, 16, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 28, 66, 97, 108, 97, 110, 99, 101, 28, 66, 97, 108, 97, 110, 99, 101, 4, 176, 32, 84, 114, 97, 110, 115, 102, 101, 114, 32, 115, 117, 99, 99, 101, 101, 100, 101, 100, 32, 40, 102, 114, 111, 109, 44, 32, 116, 111, 44, 32, 118, 97, 108, 117, 101, 44, 32, 102, 101, 101, 115, 41, 46, 28, 115, 101, 115, 115, 105, 111, 110, 4, 40, 78, 101, 119, 83, 101, 115, 115, 105, 111, 110, 4, 44, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 8, 85, 1, 32, 78, 101, 119, 32, 115, 101, 115, 115, 105, 111, 110, 32, 104, 97, 115, 32, 104, 97, 112, 112, 101, 110, 101, 100, 46, 32, 78, 111, 116, 101, 32, 116, 104, 97, 116, 32, 116, 104, 101, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 105, 115, 32, 116, 104, 101, 32, 115, 101, 115, 115, 105, 111, 110, 32, 105, 110, 100, 101, 120, 44, 32, 110, 111, 116, 32, 116, 104, 101, 32, 98, 108, 111, 99, 107, 136, 32, 110, 117, 109, 98, 101, 114, 32, 97, 115, 32, 116, 104, 101, 32, 116, 121, 112, 101, 32, 109, 105, 103, 104, 116, 32, 115, 117, 103, 103, 101, 115, 116, 46, 28, 115, 116, 97, 107, 105, 110, 103, 12, 24, 82, 101, 119, 97, 114, 100, 4, 28, 66, 97, 108, 97, 110, 99, 101, 4, 224, 32, 65, 108, 108, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 115, 32, 104, 97, 118, 101, 32, 98, 101, 101, 110, 32, 114, 101, 119, 97, 114, 100, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 103, 105, 118, 101, 110, 32, 98, 97, 108, 97, 110, 99, 101, 46, 56, 79, 102, 102, 108, 105, 110, 101, 87, 97, 114, 110, 105, 110, 103, 8, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 12, 117, 51, 50, 8, 85, 1, 32, 79, 110, 101, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 32, 40, 97, 110, 100, 32, 116, 104, 101, 105, 114, 32, 110, 111, 109, 105, 110, 97, 116, 111, 114, 115, 41, 32, 104, 97, 115, 32, 98, 101, 101, 110, 32, 103, 105, 118, 101, 110, 32, 97, 32, 111, 102, 102, 108, 105, 110, 101, 45, 119, 97, 114, 110, 105, 110, 103, 32, 40, 116, 104, 101, 121, 39, 114, 101, 32, 115, 116, 105, 108, 108, 21, 1, 32, 119, 105, 116, 104, 105, 110, 32, 116, 104, 101, 105, 114, 32, 103, 114, 97, 99, 101, 41, 46, 32, 84, 104, 101, 32, 97, 99, 99, 114, 117, 101, 100, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 115, 108, 97, 115, 104, 101, 115, 32, 105, 115, 32, 114, 101, 99, 111, 114, 100, 101, 100, 44, 32, 116, 111, 111, 46, 48, 79, 102, 102, 108, 105, 110, 101, 83, 108, 97, 115, 104, 8, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 28, 66, 97, 108, 97, 110, 99, 101, 4, 45, 1, 32, 79, 110, 101, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 32, 40, 97, 110, 100, 32, 116, 104, 101, 105, 114, 32, 110, 111, 109, 105, 110, 97, 116, 111, 114, 115, 41, 32, 104, 97, 115, 32, 98, 101, 101, 110, 32, 115, 108, 97, 115, 104, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 103, 105, 118, 101, 110, 32, 97, 109, 111, 117, 110, 116, 46, 36, 100, 101, 109, 111, 99, 114, 97, 99, 121, 24, 24, 84, 97, 98, 108, 101, 100, 12, 36, 80, 114, 111, 112, 73, 110, 100, 101, 120, 28, 66, 97, 108, 97, 110, 99, 101, 56, 86, 101, 99, 60, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 0, 28, 83, 116, 97, 114, 116, 101, 100, 8, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 52, 86, 111, 116, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 0, 24, 80, 97, 115, 115, 101, 100, 4, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 0, 36, 78, 111, 116, 80, 97, 115, 115, 101, 100, 4, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 0, 36, 67, 97, 110, 99, 101, 108, 108, 101, 100, 4, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 0, 32, 69, 120, 101, 99, 117, 116, 101, 100, 8, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 16, 98, 111, 111, 108, 0, 28, 99, 111, 117, 110, 99, 105, 108, 16, 44, 86, 111, 116, 101, 114, 82, 101, 97, 112, 101, 100, 8, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 4, 84, 32, 114, 101, 97, 112, 101, 100, 32, 118, 111, 116, 101, 114, 44, 32, 114, 101, 97, 112, 101, 114, 64, 66, 97, 100, 82, 101, 97, 112, 101, 114, 83, 108, 97, 115, 104, 101, 100, 4, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 4, 60, 32, 115, 108, 97, 115, 104, 101, 100, 32, 114, 101, 97, 112, 101, 114, 48, 84, 97, 108, 108, 121, 83, 116, 97, 114, 116, 101, 100, 4, 12, 117, 51, 50, 4, 244, 32, 65, 32, 116, 97, 108, 108, 121, 32, 40, 102, 111, 114, 32, 97, 112, 112, 114, 111, 118, 97, 108, 32, 118, 111, 116, 101, 115, 32, 111, 102, 32, 99, 111, 117, 110, 99, 105, 108, 32, 115, 101, 97, 116, 40, 115, 41, 41, 32, 104, 97, 115, 32, 115, 116, 97, 114, 116, 101, 100, 46, 56, 84, 97, 108, 108, 121, 70, 105, 110, 97, 108, 105, 115, 101, 100, 8, 56, 86, 101, 99, 60, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 56, 86, 101, 99, 60, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 105, 1, 32, 65, 32, 116, 97, 108, 108, 121, 32, 40, 102, 111, 114, 32, 97, 112, 112, 114, 111, 118, 97, 108, 32, 118, 111, 116, 101, 115, 32, 111, 102, 32, 99, 111, 117, 110, 99, 105, 108, 32, 115, 101, 97, 116, 40, 115, 41, 41, 32, 104, 97, 115, 32, 101, 110, 100, 101, 100, 32, 40, 119, 105, 116, 104, 32, 111, 110, 101, 32, 111, 114, 32, 109, 111, 114, 101, 32, 110, 101, 119, 32, 109, 101, 109, 98, 101, 114, 115, 41, 46, 56, 99, 111, 117, 110, 99, 105, 108, 95, 118, 111, 116, 105, 110, 103, 8, 64, 84, 97, 108, 108, 121, 67, 97, 110, 99, 101, 108, 97, 116, 105, 111, 110, 16, 16, 72, 97, 115, 104, 12, 117, 51, 50, 12, 117, 51, 50, 12, 117, 51, 50, 8, 252, 32, 65, 32, 118, 111, 116, 105, 110, 103, 32, 116, 97, 108, 108, 121, 32, 104, 97, 115, 32, 104, 97, 112, 112, 101, 110, 101, 100, 32, 102, 111, 114, 32, 97, 32, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 32, 99, 97, 110, 99, 101, 108, 97, 116, 105, 111, 110, 32, 118, 111, 116, 101, 46, 160, 32, 76, 97, 115, 116, 32, 116, 104, 114, 101, 101, 32, 97, 114, 101, 32, 121, 101, 115, 44, 32, 110, 111, 44, 32, 97, 98, 115, 116, 97, 105, 110, 32, 99, 111, 117, 110, 116, 115, 46, 60, 84, 97, 108, 108, 121, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 16, 16, 72, 97, 115, 104, 12, 117, 51, 50, 12, 117, 51, 50, 12, 117, 51, 50, 8, 204, 32, 65, 32, 118, 111, 116, 105, 110, 103, 32, 116, 97, 108, 108, 121, 32, 104, 97, 115, 32, 104, 97, 112, 112, 101, 110, 101, 100, 32, 102, 111, 114, 32, 97, 32, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 32, 118, 111, 116, 101, 46, 160, 32, 76, 97, 115, 116, 32, 116, 104, 114, 101, 101, 32, 97, 114, 101, 32, 121, 101, 115, 44, 32, 110, 111, 44, 32, 97, 98, 115, 116, 97, 105, 110, 32, 99, 111, 117, 110, 116, 115, 46, 60, 99, 111, 117, 110, 99, 105, 108, 95, 109, 111, 116, 105, 111, 110, 115, 20, 32, 80, 114, 111, 112, 111, 115, 101, 100, 16, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 16, 72, 97, 115, 104, 12, 117, 51, 50, 4, 101, 1, 32, 65, 32, 109, 111, 116, 105, 111, 110, 32, 40, 103, 105, 118, 101, 110, 32, 104, 97, 115, 104, 41, 32, 104, 97, 115, 32, 98, 101, 101, 110, 32, 112, 114, 111, 112, 111, 115, 101, 100, 32, 40, 98, 121, 32, 103, 105, 118, 101, 110, 32, 97, 99, 99, 111, 117, 110, 116, 41, 32, 119, 105, 116, 104, 32, 97, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 32, 40, 103, 105, 118, 101, 110, 32, 117, 51, 50, 41, 46, 20, 86, 111, 116, 101, 100, 20, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 16, 72, 97, 115, 104, 16, 98, 111, 111, 108, 12, 117, 51, 50, 12, 117, 51, 50, 8, 9, 1, 32, 65, 32, 109, 111, 116, 105, 111, 110, 32, 40, 103, 105, 118, 101, 110, 32, 104, 97, 115, 104, 41, 32, 104, 97, 115, 32, 98, 101, 101, 110, 32, 118, 111, 116, 101, 100, 32, 111, 110, 32, 98, 121, 32, 103, 105, 118, 101, 110, 32, 97, 99, 99, 111, 117, 110, 116, 44, 32, 108, 101, 97, 118, 105, 110, 103, 244, 32, 97, 32, 116, 97, 108, 108, 121, 32, 40, 121, 101, 115, 32, 118, 111, 116, 101, 115, 32, 97, 110, 100, 32, 110, 111, 32, 118, 111, 116, 101, 115, 32, 103, 105, 118, 101, 110, 32, 97, 115, 32, 117, 51, 50, 115, 32, 114, 101, 115, 112, 101, 99, 116, 105, 118, 101, 108, 121, 41, 46, 32, 65, 112, 112, 114, 111, 118, 101, 100, 4, 16, 72, 97, 115, 104, 4, 196, 32, 65, 32, 109, 111, 116, 105, 111, 110, 32, 119, 97, 115, 32, 97, 112, 112, 114, 111, 118, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 114, 101, 113, 117, 105, 114, 101, 100, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 46, 44, 68, 105, 115, 97, 112, 112, 114, 111, 118, 101, 100, 4, 16, 72, 97, 115, 104, 4, 212, 32, 65, 32, 109, 111, 116, 105, 111, 110, 32, 119, 97, 115, 32, 110, 111, 116, 32, 97, 112, 112, 114, 111, 118, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 114, 101, 113, 117, 105, 114, 101, 100, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 46, 32, 69, 120, 101, 99, 117, 116, 101, 100, 8, 16, 72, 97, 115, 104, 16, 98, 111, 111, 108, 4, 5, 1, 32, 65, 32, 109, 111, 116, 105, 111, 110, 32, 119, 97, 115, 32, 101, 120, 101, 99, 117, 116, 101, 100, 59, 32, 96, 98, 111, 111, 108, 96, 32, 105, 115, 32, 116, 114, 117, 101, 32, 105, 102, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 119, 105, 116, 104, 111, 117, 116, 32, 101, 114, 114, 111, 114, 46, 32, 116, 114, 101, 97, 115, 117, 114, 121, 20, 32, 80, 114, 111, 112, 111, 115, 101, 100, 4, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 4, 56, 32, 78, 101, 119, 32, 112, 114, 111, 112, 111, 115, 97, 108, 46, 32, 83, 112, 101, 110, 100, 105, 110, 103, 4, 28, 66, 97, 108, 97, 110, 99, 101, 4, 232, 32, 87, 101, 32, 104, 97, 118, 101, 32, 101, 110, 100, 101, 100, 32, 97, 32, 115, 112, 101, 110, 100, 32, 112, 101, 114, 105, 111, 100, 32, 97, 110, 100, 32, 119, 105, 108, 108, 32, 110, 111, 119, 32, 97, 108, 108, 111, 99, 97, 116, 101, 32, 102, 117, 110, 100, 115, 46, 28, 65, 119, 97, 114, 100, 101, 100, 12, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 28, 66, 97, 108, 97, 110, 99, 101, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 4, 128, 32, 83, 111, 109, 101, 32, 102, 117, 110, 100, 115, 32, 104, 97, 118, 101, 32, 98, 101, 101, 110, 32, 97, 108, 108, 111, 99, 97, 116, 101, 100, 46, 20, 66, 117, 114, 110, 116, 4, 28, 66, 97, 108, 97, 110, 99, 101, 4, 140, 32, 83, 111, 109, 101, 32, 111, 102, 32, 111, 117, 114, 32, 102, 117, 110, 100, 115, 32, 104, 97, 118, 101, 32, 98, 101, 101, 110, 32, 98, 117, 114, 110, 116, 46, 32, 82, 111, 108, 108, 111, 118, 101, 114, 4, 28, 66, 97, 108, 97, 110, 99, 101, 4, 49, 1, 32, 83, 112, 101, 110, 100, 105, 110, 103, 32, 104, 97, 115, 32, 102, 105, 110, 105, 115, 104, 101, 100, 59, 32, 116, 104, 105, 115, 32, 105, 115, 32, 116, 104, 101, 32, 97, 109, 111, 117, 110, 116, 32, 116, 104, 97, 116, 32, 114, 111, 108, 108, 115, 32, 111, 118, 101, 114, 32, 117, 110, 116, 105, 108, 32, 110, 101, 120, 116, 32, 115, 112, 101, 110, 100, 46, 32, 99, 111, 110, 116, 114, 97, 99, 116, 4, 32, 84, 114, 97, 110, 115, 102, 101, 114, 12, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 36, 65, 99, 99, 111, 117, 110, 116, 73, 100, 28, 66, 97, 108, 97, 110, 99, 101, 4, 117, 1, 32, 84, 114, 97, 110, 115, 102, 101, 114, 32, 104, 97, 112, 112, 101, 110, 101, 100, 32, 96, 102, 114, 111, 109, 96, 32, 45, 62, 32, 96, 116, 111, 96, 32, 119, 105, 116, 104, 32, 103, 105, 118, 101, 110, 32, 96, 118, 97, 108, 117, 101, 96, 32, 97, 115, 32, 112, 97, 114, 116, 32, 111, 102, 32, 97, 32, 96, 109, 101, 115, 115, 97, 103, 101, 45, 99, 97, 108, 108, 96, 32, 111, 114, 32, 96, 99, 114, 101, 97, 116, 101, 96, 46, 48, 24, 115, 121, 115, 116, 101, 109, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 0, 1, 24, 83, 121, 115, 116, 101, 109, 40, 48, 65, 99, 99, 111, 117, 110, 116, 78, 111, 110, 99, 101, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 32, 84, 58, 58, 73, 110, 100, 101, 120, 0, 56, 69, 120, 116, 114, 105, 110, 115, 105, 99, 67, 111, 117, 110, 116, 0, 0, 12, 117, 51, 50, 0, 36, 66, 108, 111, 99, 107, 72, 97, 115, 104, 2, 1, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 28, 84, 58, 58, 72, 97, 115, 104, 0, 52, 69, 120, 116, 114, 105, 110, 115, 105, 99, 68, 97, 116, 97, 2, 1, 12, 117, 51, 50, 28, 86, 101, 99, 60, 117, 56, 62, 0, 40, 82, 97, 110, 100, 111, 109, 83, 101, 101, 100, 2, 0, 28, 84, 58, 58, 72, 97, 115, 104, 0, 24, 78, 117, 109, 98, 101, 114, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 9, 1, 32, 84, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 98, 108, 111, 99, 107, 32, 110, 117, 109, 98, 101, 114, 32, 98, 101, 105, 110, 103, 32, 112, 114, 111, 99, 101, 115, 115, 101, 100, 46, 32, 83, 101, 116, 32, 98, 121, 32, 96, 101, 120, 101, 99, 117, 116, 101, 95, 98, 108, 111, 99, 107, 96, 46, 40, 80, 97, 114, 101, 110, 116, 72, 97, 115, 104, 2, 0, 28, 84, 58, 58, 72, 97, 115, 104, 0, 56, 69, 120, 116, 114, 105, 110, 115, 105, 99, 115, 82, 111, 111, 116, 2, 0, 28, 84, 58, 58, 72, 97, 115, 104, 0, 24, 68, 105, 103, 101, 115, 116, 1, 0, 36, 84, 58, 58, 68, 105, 103, 101, 115, 116, 0, 24, 69, 118, 101, 110, 116, 115, 1, 0, 104, 86, 101, 99, 60, 69, 118, 101, 110, 116, 82, 101, 99, 111, 114, 100, 60, 84, 58, 58, 69, 118, 101, 110, 116, 62, 62, 0, 36, 99, 111, 110, 115, 101, 110, 115, 117, 115, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 20, 0, 0, 72, 114, 101, 112, 111, 114, 116, 95, 109, 105, 115, 98, 101, 104, 97, 118, 105, 111, 114, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 24, 114, 101, 112, 111, 114, 116, 168, 77, 105, 115, 98, 101, 104, 97, 118, 105, 111, 114, 82, 101, 112, 111, 114, 116, 60, 84, 58, 58, 72, 97, 115, 104, 44, 32, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 62, 0, 1, 0, 48, 110, 111, 116, 101, 95, 111, 102, 102, 108, 105, 110, 101, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 76, 111, 102, 102, 108, 105, 110, 101, 95, 118, 97, 108, 95, 105, 110, 100, 105, 99, 101, 115, 32, 86, 101, 99, 60, 117, 51, 50, 62, 0, 2, 0, 24, 114, 101, 109, 97, 114, 107, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 24, 114, 101, 109, 97, 114, 107, 28, 86, 101, 99, 60, 117, 56, 62, 0, 3, 0, 32, 115, 101, 116, 95, 99, 111, 100, 101, 4, 12, 110, 101, 119, 28, 86, 101, 99, 60, 117, 56, 62, 0, 4, 0, 44, 115, 101, 116, 95, 115, 116, 111, 114, 97, 103, 101, 4, 20, 105, 116, 101, 109, 115, 52, 86, 101, 99, 60, 75, 101, 121, 86, 97, 108, 117, 101, 62, 0, 1, 36, 67, 111, 110, 115, 101, 110, 115, 117, 115, 4, 76, 79, 114, 105, 103, 105, 110, 97, 108, 65, 117, 116, 104, 111, 114, 105, 116, 105, 101, 115, 0, 0, 72, 86, 101, 99, 60, 84, 58, 58, 83, 101, 115, 115, 105, 111, 110, 75, 101, 121, 62, 0, 32, 98, 97, 108, 97, 110, 99, 101, 115, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 8, 0, 0, 32, 116, 114, 97, 110, 115, 102, 101, 114, 12, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 16, 100, 101, 115, 116, 164, 82, 97, 119, 65, 100, 100, 114, 101, 115, 115, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 62, 20, 118, 97, 108, 117, 101, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 0, 1, 0, 44, 115, 101, 116, 95, 98, 97, 108, 97, 110, 99, 101, 12, 12, 119, 104, 111, 164, 82, 97, 119, 65, 100, 100, 114, 101, 115, 115, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 62, 16, 102, 114, 101, 101, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 32, 114, 101, 115, 101, 114, 118, 101, 100, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 0, 1, 32, 66, 97, 108, 97, 110, 99, 101, 115, 44, 52, 84, 111, 116, 97, 108, 73, 115, 115, 117, 97, 110, 99, 101, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 164, 32, 84, 104, 101, 32, 116, 111, 116, 97, 108, 32, 97, 109, 111, 117, 110, 116, 32, 111, 102, 32, 115, 116, 97, 107, 101, 32, 111, 110, 32, 116, 104, 101, 32, 115, 121, 115, 116, 101, 109, 46, 72, 69, 120, 105, 115, 116, 101, 110, 116, 105, 97, 108, 68, 101, 112, 111, 115, 105, 116, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 208, 32, 84, 104, 101, 32, 109, 105, 110, 105, 109, 117, 109, 32, 97, 109, 111, 117, 110, 116, 32, 97, 108, 108, 111, 119, 101, 100, 32, 116, 111, 32, 107, 101, 101, 112, 32, 97, 110, 32, 97, 99, 99, 111, 117, 110, 116, 32, 111, 112, 101, 110, 46, 52, 82, 101, 99, 108, 97, 105, 109, 82, 101, 98, 97, 116, 101, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 41, 1, 32, 84, 104, 101, 32, 97, 109, 111, 117, 110, 116, 32, 99, 114, 101, 100, 105, 116, 101, 100, 32, 116, 111, 32, 97, 32, 100, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 39, 115, 32, 97, 99, 99, 111, 117, 110, 116, 32, 119, 104, 111, 115, 101, 32, 105, 110, 100, 101, 120, 32, 119, 97, 115, 32, 114, 101, 99, 108, 97, 105, 109, 101, 100, 46, 44, 84, 114, 97, 110, 115, 102, 101, 114, 70, 101, 101, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 148, 32, 84, 104, 101, 32, 102, 101, 101, 32, 114, 101, 113, 117, 105, 114, 101, 100, 32, 116, 111, 32, 109, 97, 107, 101, 32, 97, 32, 116, 114, 97, 110, 115, 102, 101, 114, 46, 44, 67, 114, 101, 97, 116, 105, 111, 110, 70, 101, 101, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 37, 1, 32, 84, 104, 101, 32, 102, 101, 101, 32, 114, 101, 113, 117, 105, 114, 101, 100, 32, 116, 111, 32, 99, 114, 101, 97, 116, 101, 32, 97, 110, 32, 97, 99, 99, 111, 117, 110, 116, 46, 32, 65, 116, 32, 108, 101, 97, 115, 116, 32, 97, 115, 32, 98, 105, 103, 32, 97, 115, 32, 82, 101, 99, 108, 97, 105, 109, 82, 101, 98, 97, 116, 101, 46, 44, 78, 101, 120, 116, 69, 110, 117, 109, 83, 101, 116, 2, 0, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 4, 124, 32, 84, 104, 101, 32, 110, 101, 120, 116, 32, 102, 114, 101, 101, 32, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 115, 101, 116, 46, 28, 69, 110, 117, 109, 83, 101, 116, 1, 1, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 88, 32, 84, 104, 101, 32, 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 32, 115, 101, 116, 115, 46, 44, 70, 114, 101, 101, 66, 97, 108, 97, 110, 99, 101, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 44, 156, 32, 84, 104, 101, 32, 39, 102, 114, 101, 101, 39, 32, 98, 97, 108, 97, 110, 99, 101, 32, 111, 102, 32, 97, 32, 103, 105, 118, 101, 110, 32, 97, 99, 99, 111, 117, 110, 116, 46, 0, 77, 1, 32, 84, 104, 105, 115, 32, 105, 115, 32, 116, 104, 101, 32, 111, 110, 108, 121, 32, 98, 97, 108, 97, 110, 99, 101, 32, 116, 104, 97, 116, 32, 109, 97, 116, 116, 101, 114, 115, 32, 105, 110, 32, 116, 101, 114, 109, 115, 32, 111, 102, 32, 109, 111, 115, 116, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 32, 111, 110, 32, 116, 111, 107, 101, 110, 115, 46, 32, 73, 116, 32, 105, 115, 105, 1, 32, 97, 108, 111, 110, 101, 32, 117, 115, 101, 100, 32, 116, 111, 32, 100, 101, 116, 101, 114, 109, 105, 110, 101, 32, 116, 104, 101, 32, 98, 97, 108, 97, 110, 99, 101, 32, 119, 104, 101, 110, 32, 105, 110, 32, 116, 104, 101, 32, 99, 111, 110, 116, 114, 97, 99, 116, 32, 101, 120, 101, 99, 117, 116, 105, 111, 110, 32, 101, 110, 118, 105, 114, 111, 110, 109, 101, 110, 116, 46, 32, 87, 104, 101, 110, 32, 116, 104, 105, 115, 85, 1, 32, 98, 97, 108, 97, 110, 99, 101, 32, 102, 97, 108, 108, 115, 32, 98, 101, 108, 111, 119, 32, 116, 104, 101, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 96, 69, 120, 105, 115, 116, 101, 110, 116, 105, 97, 108, 68, 101, 112, 111, 115, 105, 116, 96, 44, 32, 116, 104, 101, 110, 32, 116, 104, 101, 32, 39, 99, 117, 114, 114, 101, 110, 116, 32, 97, 99, 99, 111, 117, 110, 116, 39, 32, 105, 115, 61, 1, 32, 100, 101, 108, 101, 116, 101, 100, 58, 32, 115, 112, 101, 99, 105, 102, 105, 99, 97, 108, 108, 121, 32, 96, 70, 114, 101, 101, 66, 97, 108, 97, 110, 99, 101, 96, 46, 32, 70, 117, 114, 116, 104, 101, 114, 109, 111, 114, 101, 44, 32, 96, 79, 110, 70, 114, 101, 101, 66, 97, 108, 97, 110, 99, 101, 90, 101, 114, 111, 96, 32, 99, 97, 108, 108, 98, 97, 99, 107, 65, 1, 32, 105, 115, 32, 105, 110, 118, 111, 107, 101, 100, 44, 32, 103, 105, 118, 105, 110, 103, 32, 97, 32, 99, 104, 97, 110, 99, 101, 32, 116, 111, 32, 101, 120, 116, 101, 114, 110, 97, 108, 32, 109, 111, 100, 117, 108, 101, 115, 32, 116, 111, 32, 99, 108, 101, 97, 110, 117, 112, 32, 100, 97, 116, 97, 32, 97, 115, 115, 111, 99, 105, 97, 116, 101, 100, 32, 119, 105, 116, 104, 84, 32, 116, 104, 101, 32, 100, 101, 108, 101, 116, 101, 100, 32, 97, 99, 99, 111, 117, 110, 116, 46, 0, 93, 1, 32, 96, 115, 121, 115, 116, 101, 109, 58, 58, 65, 99, 99, 111, 117, 110, 116, 78, 111, 110, 99, 101, 96, 32, 105, 115, 32, 97, 108, 115, 111, 32, 100, 101, 108, 101, 116, 101, 100, 32, 105, 102, 32, 96, 82, 101, 115, 101, 114, 118, 101, 100, 66, 97, 108, 97, 110, 99, 101, 96, 32, 105, 115, 32, 97, 108, 115, 111, 32, 122, 101, 114, 111, 32, 40, 105, 116, 32, 97, 108, 115, 111, 32, 103, 101, 116, 115, 21, 1, 32, 99, 111, 108, 108, 97, 112, 115, 101, 100, 32, 116, 111, 32, 122, 101, 114, 111, 32, 105, 102, 32, 105, 116, 32, 101, 118, 101, 114, 32, 98, 101, 99, 111, 109, 101, 115, 32, 108, 101, 115, 115, 32, 116, 104, 97, 110, 32, 96, 69, 120, 105, 115, 116, 101, 110, 116, 105, 97, 108, 68, 101, 112, 111, 115, 105, 116, 96, 46, 60, 82, 101, 115, 101, 114, 118, 101, 100, 66, 97, 108, 97, 110, 99, 101, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 48, 113, 1, 32, 84, 104, 101, 32, 97, 109, 111, 117, 110, 116, 32, 111, 102, 32, 116, 104, 101, 32, 98, 97, 108, 97, 110, 99, 101, 32, 111, 102, 32, 97, 32, 103, 105, 118, 101, 110, 32, 97, 99, 99, 111, 117, 110, 116, 32, 116, 104, 97, 116, 32, 105, 115, 32, 101, 120, 116, 101, 114, 97, 108, 108, 121, 32, 114, 101, 115, 101, 114, 118, 101, 100, 59, 32, 116, 104, 105, 115, 32, 99, 97, 110, 32, 115, 116, 105, 108, 108, 32, 103, 101, 116, 156, 32, 115, 108, 97, 115, 104, 101, 100, 44, 32, 98, 117, 116, 32, 103, 101, 116, 115, 32, 115, 108, 97, 115, 104, 101, 100, 32, 108, 97, 115, 116, 32, 111, 102, 32, 97, 108, 108, 46, 0, 109, 1, 32, 84, 104, 105, 115, 32, 98, 97, 108, 97, 110, 99, 101, 32, 105, 115, 32, 97, 32, 39, 114, 101, 115, 101, 114, 118, 101, 39, 32, 98, 97, 108, 97, 110, 99, 101, 32, 116, 104, 97, 116, 32, 111, 116, 104, 101, 114, 32, 115, 117, 98, 115, 121, 115, 116, 101, 109, 115, 32, 117, 115, 101, 32, 105, 110, 32, 111, 114, 100, 101, 114, 32, 116, 111, 32, 115, 101, 116, 32, 97, 115, 105, 100, 101, 32, 116, 111, 107, 101, 110, 115, 113, 1, 32, 116, 104, 97, 116, 32, 97, 114, 101, 32, 115, 116, 105, 108, 108, 32, 39, 111, 119, 110, 101, 100, 39, 32, 98, 121, 32, 116, 104, 101, 32, 97, 99, 99, 111, 117, 110, 116, 32, 104, 111, 108, 100, 101, 114, 44, 32, 98, 117, 116, 32, 119, 104, 105, 99, 104, 32, 97, 114, 101, 32, 117, 110, 115, 112, 101, 110, 100, 97, 98, 108, 101, 46, 32, 40, 84, 104, 105, 115, 32, 105, 115, 32, 100, 105, 102, 102, 101, 114, 101, 110, 116, 41, 1, 32, 97, 110, 100, 32, 119, 104, 111, 108, 108, 121, 32, 117, 110, 114, 101, 108, 97, 116, 101, 100, 32, 116, 111, 32, 116, 104, 101, 32, 96, 66, 111, 110, 100, 97, 103, 101, 96, 32, 115, 121, 115, 116, 101, 109, 32, 117, 115, 101, 100, 32, 105, 110, 32, 116, 104, 101, 32, 115, 116, 97, 107, 105, 110, 103, 32, 109, 111, 100, 117, 108, 101, 46, 41, 0, 117, 1, 32, 87, 104, 101, 110, 32, 116, 104, 105, 115, 32, 98, 97, 108, 97, 110, 99, 101, 32, 102, 97, 108, 108, 115, 32, 98, 101, 108, 111, 119, 32, 116, 104, 101, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 96, 69, 120, 105, 115, 116, 101, 110, 116, 105, 97, 108, 68, 101, 112, 111, 115, 105, 116, 96, 44, 32, 116, 104, 101, 110, 32, 116, 104, 105, 115, 32, 39, 114, 101, 115, 101, 114, 118, 101, 32, 97, 99, 99, 111, 117, 110, 116, 39, 180, 32, 105, 115, 32, 100, 101, 108, 101, 116, 101, 100, 58, 32, 115, 112, 101, 99, 105, 102, 105, 99, 97, 108, 108, 121, 44, 32, 96, 82, 101, 115, 101, 114, 118, 101, 100, 66, 97, 108, 97, 110, 99, 101, 96, 46, 0, 77, 1, 32, 96, 115, 121, 115, 116, 101, 109, 58, 58, 65, 99, 99, 111, 117, 110, 116, 78, 111, 110, 99, 101, 96, 32, 105, 115, 32, 97, 108, 115, 111, 32, 100, 101, 108, 101, 116, 101, 100, 32, 105, 102, 32, 96, 70, 114, 101, 101, 66, 97, 108, 97, 110, 99, 101, 96, 32, 105, 115, 32, 97, 108, 115, 111, 32, 122, 101, 114, 111, 32, 40, 105, 116, 32, 97, 108, 115, 111, 32, 103, 101, 116, 115, 21, 1, 32, 99, 111, 108, 108, 97, 112, 115, 101, 100, 32, 116, 111, 32, 122, 101, 114, 111, 32, 105, 102, 32, 105, 116, 32, 101, 118, 101, 114, 32, 98, 101, 99, 111, 109, 101, 115, 32, 108, 101, 115, 115, 32, 116, 104, 97, 110, 32, 96, 69, 120, 105, 115, 116, 101, 110, 116, 105, 97, 108, 68, 101, 112, 111, 115, 105, 116, 96, 46, 72, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 66, 97, 115, 101, 70, 101, 101, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 220, 32, 84, 104, 101, 32, 102, 101, 101, 32, 116, 111, 32, 98, 101, 32, 112, 97, 105, 100, 32, 102, 111, 114, 32, 109, 97, 107, 105, 110, 103, 32, 97, 32, 116, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 59, 32, 116, 104, 101, 32, 98, 97, 115, 101, 46, 72, 84, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 66, 121, 116, 101, 70, 101, 101, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 13, 1, 32, 84, 104, 101, 32, 102, 101, 101, 32, 116, 111, 32, 98, 101, 32, 112, 97, 105, 100, 32, 102, 111, 114, 32, 109, 97, 107, 105, 110, 103, 32, 97, 32, 116, 114, 97, 110, 115, 97, 99, 116, 105, 111, 110, 59, 32, 116, 104, 101, 32, 112, 101, 114, 45, 98, 121, 116, 101, 32, 112, 111, 114, 116, 105, 111, 110, 46, 36, 116, 105, 109, 101, 115, 116, 97, 109, 112, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 4, 0, 0, 12, 115, 101, 116, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 12, 110, 111, 119, 36, 84, 58, 58, 77, 111, 109, 101, 110, 116, 0, 1, 36, 84, 105, 109, 101, 115, 116, 97, 109, 112, 12, 12, 78, 111, 119, 2, 0, 36, 84, 58, 58, 77, 111, 109, 101, 110, 116, 4, 144, 32, 67, 117, 114, 114, 101, 110, 116, 32, 116, 105, 109, 101, 32, 102, 111, 114, 32, 116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 98, 108, 111, 99, 107, 46, 44, 66, 108, 111, 99, 107, 80, 101, 114, 105, 111, 100, 2, 0, 36, 84, 58, 58, 77, 111, 109, 101, 110, 116, 4, 196, 32, 84, 104, 101, 32, 109, 105, 110, 105, 109, 117, 109, 32, 40, 97, 110, 100, 32, 97, 100, 118, 105, 115, 101, 100, 41, 32, 112, 101, 114, 105, 111, 100, 32, 98, 101, 116, 119, 101, 101, 110, 32, 98, 108, 111, 99, 107, 115, 46, 36, 68, 105, 100, 85, 112, 100, 97, 116, 101, 1, 0, 16, 98, 111, 111, 108, 4, 180, 32, 68, 105, 100, 32, 116, 104, 101, 32, 116, 105, 109, 101, 115, 116, 97, 109, 112, 32, 103, 101, 116, 32, 117, 112, 100, 97, 116, 101, 100, 32, 105, 110, 32, 116, 104, 105, 115, 32, 98, 108, 111, 99, 107, 63, 28, 115, 101, 115, 115, 105, 111, 110, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 12, 0, 0, 28, 115, 101, 116, 95, 107, 101, 121, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 12, 107, 101, 121, 52, 84, 58, 58, 83, 101, 115, 115, 105, 111, 110, 75, 101, 121, 0, 1, 0, 40, 115, 101, 116, 95, 108, 101, 110, 103, 116, 104, 4, 12, 110, 101, 119, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 2, 0, 68, 102, 111, 114, 99, 101, 95, 110, 101, 119, 95, 115, 101, 115, 115, 105, 111, 110, 4, 52, 97, 112, 112, 108, 121, 95, 114, 101, 119, 97, 114, 100, 115, 16, 98, 111, 111, 108, 0, 1, 28, 83, 101, 115, 115, 105, 111, 110, 32, 40, 86, 97, 108, 105, 100, 97, 116, 111, 114, 115, 2, 0, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 124, 32, 84, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 115, 101, 116, 32, 111, 102, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 115, 46, 52, 83, 101, 115, 115, 105, 111, 110, 76, 101, 110, 103, 116, 104, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 124, 32, 67, 117, 114, 114, 101, 110, 116, 32, 108, 101, 110, 103, 116, 104, 32, 111, 102, 32, 116, 104, 101, 32, 115, 101, 115, 115, 105, 111, 110, 46, 48, 67, 117, 114, 114, 101, 110, 116, 73, 110, 100, 101, 120, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 120, 32, 67, 117, 114, 114, 101, 110, 116, 32, 105, 110, 100, 101, 120, 32, 111, 102, 32, 116, 104, 101, 32, 115, 101, 115, 115, 105, 111, 110, 46, 48, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 114, 116, 2, 0, 36, 84, 58, 58, 77, 111, 109, 101, 110, 116, 4, 160, 32, 84, 105, 109, 101, 115, 116, 97, 109, 112, 32, 119, 104, 101, 110, 32, 99, 117, 114, 114, 101, 110, 116, 32, 115, 101, 115, 115, 105, 111, 110, 32, 115, 116, 97, 114, 116, 101, 100, 46, 68, 70, 111, 114, 99, 105, 110, 103, 78, 101, 119, 83, 101, 115, 115, 105, 111, 110, 0, 0, 16, 98, 111, 111, 108, 8, 121, 1, 32, 78, 101, 119, 32, 115, 101, 115, 115, 105, 111, 110, 32, 105, 115, 32, 98, 101, 105, 110, 103, 32, 102, 111, 114, 99, 101, 100, 32, 105, 115, 32, 116, 104, 105, 115, 32, 101, 110, 116, 114, 121, 32, 101, 120, 105, 115, 116, 115, 59, 32, 105, 110, 32, 119, 104, 105, 99, 104, 32, 99, 97, 115, 101, 44, 32, 116, 104, 101, 32, 98, 111, 111, 108, 101, 97, 110, 32, 118, 97, 108, 117, 101, 32, 105, 115, 32, 119, 104, 101, 116, 104, 101, 114, 129, 1, 32, 116, 104, 101, 32, 110, 101, 119, 32, 115, 101, 115, 115, 105, 111, 110, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 99, 111, 110, 115, 105, 100, 101, 114, 101, 100, 32, 97, 32, 110, 111, 114, 109, 97, 108, 32, 114, 111, 116, 97, 116, 105, 111, 110, 32, 40, 114, 101, 119, 97, 114, 100, 97, 98, 108, 101, 41, 32, 111, 114, 32, 101, 120, 99, 101, 112, 116, 105, 111, 110, 97, 108, 32, 40, 115, 108, 97, 115, 104, 97, 98, 108, 101, 41, 46, 64, 76, 97, 115, 116, 76, 101, 110, 103, 116, 104, 67, 104, 97, 110, 103, 101, 0, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 192, 32, 66, 108, 111, 99, 107, 32, 97, 116, 32, 119, 104, 105, 99, 104, 32, 116, 104, 101, 32, 115, 101, 115, 115, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 32, 108, 97, 115, 116, 32, 99, 104, 97, 110, 103, 101, 100, 46, 40, 78, 101, 120, 116, 75, 101, 121, 70, 111, 114, 0, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 52, 84, 58, 58, 83, 101, 115, 115, 105, 111, 110, 75, 101, 121, 4, 144, 32, 84, 104, 101, 32, 110, 101, 120, 116, 32, 107, 101, 121, 32, 102, 111, 114, 32, 97, 32, 103, 105, 118, 101, 110, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 46, 68, 78, 101, 120, 116, 83, 101, 115, 115, 105, 111, 110, 76, 101, 110, 103, 116, 104, 0, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 100, 32, 84, 104, 101, 32, 110, 101, 120, 116, 32, 115, 101, 115, 115, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 46, 28, 115, 116, 97, 107, 105, 110, 103, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 40, 0, 0, 20, 115, 116, 97, 107, 101, 4, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 0, 1, 0, 28, 117, 110, 115, 116, 97, 107, 101, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 64, 105, 110, 116, 101, 110, 116, 105, 111, 110, 115, 95, 105, 110, 100, 101, 120, 12, 117, 51, 50, 0, 2, 0, 32, 110, 111, 109, 105, 110, 97, 116, 101, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 24, 116, 97, 114, 103, 101, 116, 152, 65, 100, 100, 114, 101, 115, 115, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 62, 0, 3, 0, 40, 117, 110, 110, 111, 109, 105, 110, 97, 116, 101, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 48, 116, 97, 114, 103, 101, 116, 95, 105, 110, 100, 101, 120, 12, 117, 51, 50, 0, 4, 0, 80, 114, 101, 103, 105, 115, 116, 101, 114, 95, 112, 114, 101, 102, 101, 114, 101, 110, 99, 101, 115, 12, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 64, 105, 110, 116, 101, 110, 116, 105, 111, 110, 115, 95, 105, 110, 100, 101, 120, 12, 117, 51, 50, 20, 112, 114, 101, 102, 115, 104, 86, 97, 108, 105, 100, 97, 116, 111, 114, 80, 114, 101, 102, 115, 60, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 62, 0, 5, 0, 80, 115, 101, 116, 95, 115, 101, 115, 115, 105, 111, 110, 115, 95, 112, 101, 114, 95, 101, 114, 97, 4, 12, 110, 101, 119, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 6, 0, 80, 115, 101, 116, 95, 98, 111, 110, 100, 105, 110, 103, 95, 100, 117, 114, 97, 116, 105, 111, 110, 4, 12, 110, 101, 119, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 7, 0, 76, 115, 101, 116, 95, 118, 97, 108, 105, 100, 97, 116, 111, 114, 95, 99, 111, 117, 110, 116, 4, 12, 110, 101, 119, 12, 117, 51, 50, 0, 8, 0, 52, 102, 111, 114, 99, 101, 95, 110, 101, 119, 95, 101, 114, 97, 4, 52, 97, 112, 112, 108, 121, 95, 114, 101, 119, 97, 114, 100, 115, 16, 98, 111, 111, 108, 0, 9, 0, 92, 115, 101, 116, 95, 111, 102, 102, 108, 105, 110, 101, 95, 115, 108, 97, 115, 104, 95, 103, 114, 97, 99, 101, 4, 12, 110, 101, 119, 12, 117, 51, 50, 0, 1, 28, 83, 116, 97, 107, 105, 110, 103, 84, 56, 86, 97, 108, 105, 100, 97, 116, 111, 114, 67, 111, 117, 110, 116, 2, 0, 12, 117, 51, 50, 4, 168, 32, 84, 104, 101, 32, 105, 100, 101, 97, 108, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 115, 116, 97, 107, 105, 110, 103, 32, 112, 97, 114, 116, 105, 99, 105, 112, 97, 110, 116, 115, 46, 84, 77, 105, 110, 105, 109, 117, 109, 86, 97, 108, 105, 100, 97, 116, 111, 114, 67, 111, 117, 110, 116, 0, 0, 12, 117, 51, 50, 4, 65, 1, 32, 77, 105, 110, 105, 109, 117, 109, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 115, 116, 97, 107, 105, 110, 103, 32, 112, 97, 114, 116, 105, 99, 105, 112, 97, 110, 116, 115, 32, 98, 101, 102, 111, 114, 101, 32, 101, 109, 101, 114, 103, 101, 110, 99, 121, 32, 99, 111, 110, 100, 105, 116, 105, 111, 110, 115, 32, 97, 114, 101, 32, 105, 109, 112, 111, 115, 101, 100, 46, 56, 83, 101, 115, 115, 105, 111, 110, 115, 80, 101, 114, 69, 114, 97, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 164, 32, 84, 104, 101, 32, 108, 101, 110, 103, 116, 104, 32, 111, 102, 32, 97, 32, 115, 116, 97, 107, 105, 110, 103, 32, 101, 114, 97, 32, 105, 110, 32, 115, 101, 115, 115, 105, 111, 110, 115, 46, 52, 83, 101, 115, 115, 105, 111, 110, 82, 101, 119, 97, 114, 100, 2, 0, 28, 80, 101, 114, 98, 105, 108, 108, 4, 33, 1, 32, 77, 97, 120, 105, 109, 117, 109, 32, 114, 101, 119, 97, 114, 100, 44, 32, 112, 101, 114, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 44, 32, 116, 104, 97, 116, 32, 105, 115, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 112, 101, 114, 32, 97, 99, 99, 101, 112, 116, 97, 98, 108, 101, 32, 115, 101, 115, 115, 105, 111, 110, 46, 48, 79, 102, 102, 108, 105, 110, 101, 83, 108, 97, 115, 104, 2, 0, 28, 80, 101, 114, 98, 105, 108, 108, 4, 81, 1, 32, 83, 108, 97, 115, 104, 44, 32, 112, 101, 114, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 32, 116, 104, 97, 116, 32, 105, 115, 32, 116, 97, 107, 101, 110, 32, 102, 111, 114, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, 116, 105, 109, 101, 32, 116, 104, 101, 121, 32, 97, 114, 101, 32, 102, 111, 117, 110, 100, 32, 116, 111, 32, 98, 101, 32, 111, 102, 102, 108, 105, 110, 101, 46, 68, 79, 102, 102, 108, 105, 110, 101, 83, 108, 97, 115, 104, 71, 114, 97, 99, 101, 1, 0, 12, 117, 51, 50, 4, 57, 1, 32, 78, 117, 109, 98, 101, 114, 32, 111, 102, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 32, 111, 102, 32, 111, 102, 102, 108, 105, 110, 101, 32, 114, 101, 112, 111, 114, 116, 115, 32, 98, 101, 102, 111, 114, 101, 32, 115, 108, 97, 115, 104, 105, 110, 103, 32, 98, 101, 103, 105, 110, 115, 32, 102, 111, 114, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 115, 46, 60, 66, 111, 110, 100, 105, 110, 103, 68, 117, 114, 97, 116, 105, 111, 110, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 184, 32, 84, 104, 101, 32, 108, 101, 110, 103, 116, 104, 32, 111, 102, 32, 116, 104, 101, 32, 98, 111, 110, 100, 105, 110, 103, 32, 100, 117, 114, 97, 116, 105, 111, 110, 32, 105, 110, 32, 98, 108, 111, 99, 107, 115, 46, 40, 67, 117, 114, 114, 101, 110, 116, 69, 114, 97, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 92, 32, 84, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 101, 114, 97, 32, 105, 110, 100, 101, 120, 46, 80, 86, 97, 108, 105, 100, 97, 116, 111, 114, 80, 114, 101, 102, 101, 114, 101, 110, 99, 101, 115, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 104, 86, 97, 108, 105, 100, 97, 116, 111, 114, 80, 114, 101, 102, 115, 60, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 62, 4, 136, 32, 80, 114, 101, 102, 101, 114, 101, 110, 99, 101, 115, 32, 116, 104, 97, 116, 32, 97, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 32, 104, 97, 115, 46, 40, 73, 110, 116, 101, 110, 116, 105, 111, 110, 115, 1, 0, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 164, 32, 65, 108, 108, 32, 116, 104, 101, 32, 97, 99, 99, 111, 117, 110, 116, 115, 32, 119, 105, 116, 104, 32, 97, 32, 100, 101, 115, 105, 114, 101, 32, 116, 111, 32, 115, 116, 97, 107, 101, 46, 40, 78, 111, 109, 105, 110, 97, 116, 105, 110, 103, 0, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 4, 160, 32, 65, 108, 108, 32, 110, 111, 109, 105, 110, 97, 116, 111, 114, 32, 45, 62, 32, 110, 111, 109, 105, 110, 101, 101, 32, 114, 101, 108, 97, 116, 105, 111, 110, 115, 104, 105, 112, 115, 46, 52, 78, 111, 109, 105, 110, 97, 116, 111, 114, 115, 70, 111, 114, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 148, 32, 78, 111, 109, 105, 110, 97, 116, 111, 114, 115, 32, 102, 111, 114, 32, 97, 32, 112, 97, 114, 116, 105, 99, 117, 108, 97, 114, 32, 97, 99, 99, 111, 117, 110, 116, 46, 80, 67, 117, 114, 114, 101, 110, 116, 78, 111, 109, 105, 110, 97, 116, 111, 114, 115, 70, 111, 114, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 5, 1, 32, 78, 111, 109, 105, 110, 97, 116, 111, 114, 115, 32, 102, 111, 114, 32, 97, 32, 112, 97, 114, 116, 105, 99, 117, 108, 97, 114, 32, 97, 99, 99, 111, 117, 110, 116, 32, 116, 104, 97, 116, 32, 105, 115, 32, 105, 110, 32, 97, 99, 116, 105, 111, 110, 32, 114, 105, 103, 104, 116, 32, 110, 111, 119, 46, 80, 67, 117, 114, 114, 101, 110, 116, 83, 101, 115, 115, 105, 111, 110, 82, 101, 119, 97, 114, 100, 1, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 33, 1, 32, 77, 97, 120, 105, 109, 117, 109, 32, 114, 101, 119, 97, 114, 100, 44, 32, 112, 101, 114, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 44, 32, 116, 104, 97, 116, 32, 105, 115, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 112, 101, 114, 32, 97, 99, 99, 101, 112, 116, 97, 98, 108, 101, 32, 115, 101, 115, 115, 105, 111, 110, 46, 76, 67, 117, 114, 114, 101, 110, 116, 79, 102, 102, 108, 105, 110, 101, 83, 108, 97, 115, 104, 1, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 81, 1, 32, 83, 108, 97, 115, 104, 44, 32, 112, 101, 114, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 32, 116, 104, 97, 116, 32, 105, 115, 32, 116, 97, 107, 101, 110, 32, 102, 111, 114, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, 116, 105, 109, 101, 32, 116, 104, 101, 121, 32, 97, 114, 101, 32, 102, 111, 117, 110, 100, 32, 116, 111, 32, 98, 101, 32, 111, 102, 102, 108, 105, 110, 101, 46, 72, 78, 101, 120, 116, 83, 101, 115, 115, 105, 111, 110, 115, 80, 101, 114, 69, 114, 97, 0, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 144, 32, 84, 104, 101, 32, 110, 101, 120, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 115, 101, 115, 115, 105, 111, 110, 115, 32, 112, 101, 114, 32, 101, 114, 97, 46, 76, 76, 97, 115, 116, 69, 114, 97, 76, 101, 110, 103, 116, 104, 67, 104, 97, 110, 103, 101, 1, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 224, 32, 84, 104, 101, 32, 115, 101, 115, 115, 105, 111, 110, 32, 105, 110, 100, 101, 120, 32, 97, 116, 32, 119, 104, 105, 99, 104, 32, 116, 104, 101, 32, 101, 114, 97, 32, 108, 101, 110, 103, 116, 104, 32, 108, 97, 115, 116, 32, 99, 104, 97, 110, 103, 101, 100, 46, 40, 83, 116, 97, 107, 101, 82, 97, 110, 103, 101, 1, 0, 72, 80, 97, 105, 114, 79, 102, 60, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 62, 4, 240, 32, 84, 104, 101, 32, 104, 105, 103, 104, 101, 115, 116, 32, 97, 110, 100, 32, 108, 111, 119, 101, 115, 116, 32, 115, 116, 97, 107, 101, 100, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 32, 115, 108, 97, 115, 104, 97, 98, 108, 101, 32, 98, 97, 108, 97, 110, 99, 101, 115, 46, 28, 66, 111, 110, 100, 97, 103, 101, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 244, 32, 84, 104, 101, 32, 98, 108, 111, 99, 107, 32, 97, 116, 32, 119, 104, 105, 99, 104, 32, 116, 104, 101, 32, 96, 119, 104, 111, 96, 39, 115, 32, 102, 117, 110, 100, 115, 32, 98, 101, 99, 111, 109, 101, 32, 101, 110, 116, 105, 114, 101, 108, 121, 32, 108, 105, 113, 117, 105, 100, 46, 40, 83, 108, 97, 115, 104, 67, 111, 117, 110, 116, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 12, 117, 51, 50, 4, 209, 1, 32, 84, 104, 101, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 116, 105, 109, 101, 115, 32, 97, 32, 103, 105, 118, 101, 110, 32, 118, 97, 108, 105, 100, 97, 116, 111, 114, 32, 104, 97, 115, 32, 98, 101, 101, 110, 32, 114, 101, 112, 111, 114, 116, 101, 100, 32, 111, 102, 102, 108, 105, 110, 101, 46, 32, 84, 104, 105, 115, 32, 103, 101, 116, 115, 32, 100, 101, 99, 114, 101, 109, 101, 110, 116, 101, 100, 32, 98, 121, 32, 111, 110, 101, 32, 101, 97, 99, 104, 32, 101, 114, 97, 32, 116, 104, 97, 116, 32, 112, 97, 115, 115, 101, 115, 46, 52, 70, 111, 114, 99, 105, 110, 103, 78, 101, 119, 69, 114, 97, 0, 0, 8, 40, 41, 4, 104, 32, 87, 101, 32, 97, 114, 101, 32, 102, 111, 114, 99, 105, 110, 103, 32, 97, 32, 110, 101, 119, 32, 101, 114, 97, 46, 36, 100, 101, 109, 111, 99, 114, 97, 99, 121, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 20, 0, 0, 28, 112, 114, 111, 112, 111, 115, 101, 12, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 32, 112, 114, 111, 112, 111, 115, 97, 108, 64, 66, 111, 120, 60, 84, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 62, 20, 118, 97, 108, 117, 101, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 0, 1, 0, 24, 115, 101, 99, 111, 110, 100, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 32, 112, 114, 111, 112, 111, 115, 97, 108, 36, 80, 114, 111, 112, 73, 110, 100, 101, 120, 0, 2, 0, 16, 118, 111, 116, 101, 12, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 36, 114, 101, 102, 95, 105, 110, 100, 101, 120, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 64, 97, 112, 112, 114, 111, 118, 101, 95, 112, 114, 111, 112, 111, 115, 97, 108, 16, 98, 111, 111, 108, 0, 3, 0, 64, 115, 116, 97, 114, 116, 95, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 8, 32, 112, 114, 111, 112, 111, 115, 97, 108, 64, 66, 111, 120, 60, 84, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 62, 56, 118, 111, 116, 101, 95, 116, 104, 114, 101, 115, 104, 111, 108, 100, 52, 86, 111, 116, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 0, 4, 0, 68, 99, 97, 110, 99, 101, 108, 95, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 4, 36, 114, 101, 102, 95, 105, 110, 100, 101, 120, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 0, 1, 36, 68, 101, 109, 111, 99, 114, 97, 99, 121, 44, 60, 80, 117, 98, 108, 105, 99, 80, 114, 111, 112, 67, 111, 117, 110, 116, 1, 0, 36, 80, 114, 111, 112, 73, 110, 100, 101, 120, 4, 244, 32, 84, 104, 101, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 40, 112, 117, 98, 108, 105, 99, 41, 32, 112, 114, 111, 112, 111, 115, 97, 108, 115, 32, 116, 104, 97, 116, 32, 104, 97, 118, 101, 32, 98, 101, 101, 110, 32, 109, 97, 100, 101, 32, 115, 111, 32, 102, 97, 114, 46, 44, 80, 117, 98, 108, 105, 99, 80, 114, 111, 112, 115, 1, 0, 172, 86, 101, 99, 60, 40, 80, 114, 111, 112, 73, 110, 100, 101, 120, 44, 32, 84, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 41, 62, 4, 128, 32, 84, 104, 101, 32, 112, 117, 98, 108, 105, 99, 32, 112, 114, 111, 112, 111, 115, 97, 108, 115, 46, 32, 85, 110, 115, 111, 114, 116, 101, 100, 46, 36, 68, 101, 112, 111, 115, 105, 116, 79, 102, 0, 1, 36, 80, 114, 111, 112, 73, 110, 100, 101, 120, 124, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 44, 32, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 41, 4, 132, 32, 84, 104, 111, 115, 101, 32, 119, 104, 111, 32, 104, 97, 118, 101, 32, 108, 111, 99, 107, 101, 100, 32, 97, 32, 100, 101, 112, 111, 115, 105, 116, 46, 48, 76, 97, 117, 110, 99, 104, 80, 101, 114, 105, 111, 100, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 228, 32, 72, 111, 119, 32, 111, 102, 116, 101, 110, 32, 40, 105, 110, 32, 98, 108, 111, 99, 107, 115, 41, 32, 110, 101, 119, 32, 112, 117, 98, 108, 105, 99, 32, 114, 101, 102, 101, 114, 101, 110, 100, 97, 32, 97, 114, 101, 32, 108, 97, 117, 110, 99, 104, 101, 100, 46, 56, 77, 105, 110, 105, 109, 117, 109, 68, 101, 112, 111, 115, 105, 116, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 53, 1, 32, 84, 104, 101, 32, 109, 105, 110, 105, 109, 117, 109, 32, 97, 109, 111, 117, 110, 116, 32, 116, 111, 32, 98, 101, 32, 117, 115, 101, 100, 32, 97, 115, 32, 97, 32, 100, 101, 112, 111, 115, 105, 116, 32, 102, 111, 114, 32, 97, 32, 112, 117, 98, 108, 105, 99, 32, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 32, 112, 114, 111, 112, 111, 115, 97, 108, 46, 48, 86, 111, 116, 105, 110, 103, 80, 101, 114, 105, 111, 100, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 184, 32, 72, 111, 119, 32, 111, 102, 116, 101, 110, 32, 40, 105, 110, 32, 98, 108, 111, 99, 107, 115, 41, 32, 116, 111, 32, 99, 104, 101, 99, 107, 32, 102, 111, 114, 32, 110, 101, 119, 32, 118, 111, 116, 101, 115, 46, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 67, 111, 117, 110, 116, 2, 0, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 4, 57, 1, 32, 84, 104, 101, 32, 110, 101, 120, 116, 32, 102, 114, 101, 101, 32, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 32, 105, 110, 100, 101, 120, 44, 32, 97, 107, 97, 32, 116, 104, 101, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 115, 32, 115, 116, 97, 114, 116, 101, 100, 32, 115, 111, 32, 102, 97, 114, 46, 36, 78, 101, 120, 116, 84, 97, 108, 108, 121, 2, 0, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 4, 200, 32, 84, 104, 101, 32, 110, 101, 120, 116, 32, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 32, 105, 110, 100, 101, 120, 32, 116, 104, 97, 116, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 116, 97, 108, 108, 105, 101, 100, 46, 64, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 102, 111, 79, 102, 0, 1, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 176, 40, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 44, 32, 84, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 44, 32, 86, 111, 116, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 41, 4, 180, 32, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 32, 99, 111, 110, 99, 101, 114, 110, 105, 110, 103, 32, 97, 110, 121, 32, 103, 105, 118, 101, 110, 32, 114, 101, 102, 101, 114, 101, 110, 100, 117, 109, 46, 36, 86, 111, 116, 101, 114, 115, 70, 111, 114, 1, 1, 60, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 164, 32, 71, 101, 116, 32, 116, 104, 101, 32, 118, 111, 116, 101, 114, 115, 32, 102, 111, 114, 32, 116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 112, 114, 111, 112, 111, 115, 97, 108, 46, 24, 86, 111, 116, 101, 79, 102, 0, 1, 124, 40, 82, 101, 102, 101, 114, 101, 110, 100, 117, 109, 73, 110, 100, 101, 120, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 41, 16, 98, 111, 111, 108, 4, 132, 32, 71, 101, 116, 32, 116, 104, 101, 32, 118, 111, 116, 101, 44, 32, 105, 102, 32, 83, 111, 109, 101, 44, 32, 111, 102, 32, 96, 119, 104, 111, 96, 46, 28, 99, 111, 117, 110, 99, 105, 108, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 36, 0, 0, 52, 115, 101, 116, 95, 97, 112, 112, 114, 111, 118, 97, 108, 115, 12, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 20, 118, 111, 116, 101, 115, 36, 86, 101, 99, 60, 98, 111, 111, 108, 62, 20, 105, 110, 100, 101, 120, 36, 86, 111, 116, 101, 73, 110, 100, 101, 120, 0, 1, 0, 76, 114, 101, 97, 112, 95, 105, 110, 97, 99, 116, 105, 118, 101, 95, 118, 111, 116, 101, 114, 20, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 56, 114, 101, 112, 111, 114, 116, 101, 114, 95, 105, 110, 100, 101, 120, 12, 117, 51, 50, 12, 119, 104, 111, 152, 65, 100, 100, 114, 101, 115, 115, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 62, 36, 119, 104, 111, 95, 105, 110, 100, 101, 120, 12, 117, 51, 50, 72, 97, 115, 115, 117, 109, 101, 100, 95, 118, 111, 116, 101, 95, 105, 110, 100, 101, 120, 36, 86, 111, 116, 101, 73, 110, 100, 101, 120, 0, 2, 0, 52, 114, 101, 116, 114, 97, 99, 116, 95, 118, 111, 116, 101, 114, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 20, 105, 110, 100, 101, 120, 12, 117, 51, 50, 0, 3, 0, 64, 115, 117, 98, 109, 105, 116, 95, 99, 97, 110, 100, 105, 100, 97, 99, 121, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 16, 115, 108, 111, 116, 12, 117, 51, 50, 0, 4, 0, 56, 112, 114, 101, 115, 101, 110, 116, 95, 119, 105, 110, 110, 101, 114, 16, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 36, 99, 97, 110, 100, 105, 100, 97, 116, 101, 152, 65, 100, 100, 114, 101, 115, 115, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 62, 20, 116, 111, 116, 97, 108, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 20, 105, 110, 100, 101, 120, 36, 86, 111, 116, 101, 73, 110, 100, 101, 120, 0, 5, 0, 68, 115, 101, 116, 95, 100, 101, 115, 105, 114, 101, 100, 95, 115, 101, 97, 116, 115, 4, 20, 99, 111, 117, 110, 116, 12, 117, 51, 50, 0, 6, 0, 52, 114, 101, 109, 111, 118, 101, 95, 109, 101, 109, 98, 101, 114, 4, 12, 119, 104, 111, 152, 65, 100, 100, 114, 101, 115, 115, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 110, 100, 101, 120, 62, 0, 7, 0, 100, 115, 101, 116, 95, 112, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 95, 100, 117, 114, 97, 116, 105, 111, 110, 4, 20, 99, 111, 117, 110, 116, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 8, 0, 68, 115, 101, 116, 95, 116, 101, 114, 109, 95, 100, 117, 114, 97, 116, 105, 111, 110, 4, 20, 99, 111, 117, 110, 116, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 1, 28, 67, 111, 117, 110, 99, 105, 108, 80, 52, 67, 97, 110, 100, 105, 100, 97, 99, 121, 66, 111, 110, 100, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 5, 1, 32, 72, 111, 119, 32, 109, 117, 99, 104, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 108, 111, 99, 107, 101, 100, 32, 117, 112, 32, 105, 110, 32, 111, 114, 100, 101, 114, 32, 116, 111, 32, 115, 117, 98, 109, 105, 116, 32, 111, 110, 101, 39, 115, 32, 99, 97, 110, 100, 105, 100, 97, 99, 121, 46, 40, 86, 111, 116, 105, 110, 103, 66, 111, 110, 100, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 9, 1, 32, 72, 111, 119, 32, 109, 117, 99, 104, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 108, 111, 99, 107, 101, 100, 32, 117, 112, 32, 105, 110, 32, 111, 114, 100, 101, 114, 32, 116, 111, 32, 98, 101, 32, 97, 98, 108, 101, 32, 116, 111, 32, 115, 117, 98, 109, 105, 116, 32, 118, 111, 116, 101, 115, 46, 80, 80, 114, 101, 115, 101, 110, 116, 83, 108, 97, 115, 104, 80, 101, 114, 86, 111, 116, 101, 114, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 13, 1, 32, 84, 104, 101, 32, 112, 117, 110, 105, 115, 104, 109, 101, 110, 116, 44, 32, 112, 101, 114, 32, 118, 111, 116, 101, 114, 44, 32, 105, 102, 32, 121, 111, 117, 32, 112, 114, 111, 118, 105, 100, 101, 32, 97, 110, 32, 105, 110, 118, 97, 108, 105, 100, 32, 112, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 46, 40, 67, 97, 114, 114, 121, 67, 111, 117, 110, 116, 2, 0, 12, 117, 51, 50, 4, 53, 1, 32, 72, 111, 119, 32, 109, 97, 110, 121, 32, 114, 117, 110, 110, 101, 114, 115, 45, 117, 112, 32, 115, 104, 111, 117, 108, 100, 32, 104, 97, 118, 101, 32, 116, 104, 101, 105, 114, 32, 97, 112, 112, 114, 111, 118, 97, 108, 115, 32, 112, 101, 114, 115, 105, 115, 116, 32, 117, 110, 116, 105, 108, 32, 116, 104, 101, 32, 110, 101, 120, 116, 32, 118, 111, 116, 101, 46, 80, 80, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 68, 117, 114, 97, 116, 105, 111, 110, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 61, 1, 32, 72, 111, 119, 32, 108, 111, 110, 103, 32, 116, 111, 32, 103, 105, 118, 101, 32, 101, 97, 99, 104, 32, 116, 111, 112, 32, 99, 97, 110, 100, 105, 100, 97, 116, 101, 32, 116, 111, 32, 112, 114, 101, 115, 101, 110, 116, 32, 116, 104, 101, 109, 115, 101, 108, 118, 101, 115, 32, 97, 102, 116, 101, 114, 32, 116, 104, 101, 32, 118, 111, 116, 101, 32, 101, 110, 100, 115, 46, 76, 73, 110, 97, 99, 116, 105, 118, 101, 71, 114, 97, 99, 101, 80, 101, 114, 105, 111, 100, 2, 0, 36, 86, 111, 116, 101, 73, 110, 100, 101, 120, 8, 105, 1, 32, 72, 111, 119, 32, 109, 97, 110, 121, 32, 118, 111, 116, 101, 115, 32, 110, 101, 101, 100, 32, 116, 111, 32, 103, 111, 32, 98, 121, 32, 97, 102, 116, 101, 114, 32, 97, 32, 118, 111, 116, 101, 114, 39, 115, 32, 108, 97, 115, 116, 32, 118, 111, 116, 101, 32, 98, 101, 102, 111, 114, 101, 32, 116, 104, 101, 121, 32, 99, 97, 110, 32, 98, 101, 32, 114, 101, 97, 112, 101, 100, 32, 105, 102, 32, 116, 104, 101, 105, 114, 80, 32, 97, 112, 112, 114, 111, 118, 97, 108, 115, 32, 97, 114, 101, 32, 109, 111, 111, 116, 46, 48, 86, 111, 116, 105, 110, 103, 80, 101, 114, 105, 111, 100, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 184, 32, 72, 111, 119, 32, 111, 102, 116, 101, 110, 32, 40, 105, 110, 32, 98, 108, 111, 99, 107, 115, 41, 32, 116, 111, 32, 99, 104, 101, 99, 107, 32, 102, 111, 114, 32, 110, 101, 119, 32, 118, 111, 116, 101, 115, 46, 48, 84, 101, 114, 109, 68, 117, 114, 97, 116, 105, 111, 110, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 152, 32, 72, 111, 119, 32, 108, 111, 110, 103, 32, 101, 97, 99, 104, 32, 112, 111, 115, 105, 116, 105, 111, 110, 32, 105, 115, 32, 97, 99, 116, 105, 118, 101, 32, 102, 111, 114, 46, 48, 68, 101, 115, 105, 114, 101, 100, 83, 101, 97, 116, 115, 2, 0, 12, 117, 51, 50, 4, 232, 32, 78, 117, 109, 98, 101, 114, 32, 111, 102, 32, 97, 99, 99, 111, 117, 110, 116, 115, 32, 116, 104, 97, 116, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 115, 105, 116, 116, 105, 110, 103, 32, 111, 110, 32, 116, 104, 101, 32, 99, 111, 117, 110, 99, 105, 108, 46, 52, 65, 99, 116, 105, 118, 101, 67, 111, 117, 110, 99, 105, 108, 1, 0, 140, 86, 101, 99, 60, 40, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 41, 62, 8, 109, 1, 32, 84, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 99, 111, 117, 110, 99, 105, 108, 46, 32, 87, 104, 101, 110, 32, 116, 104, 101, 114, 101, 39, 115, 32, 97, 32, 118, 111, 116, 101, 32, 103, 111, 105, 110, 103, 32, 111, 110, 44, 32, 116, 104, 105, 115, 32, 115, 104, 111, 117, 108, 100, 32, 115, 116, 105, 108, 108, 32, 98, 101, 32, 117, 115, 101, 100, 32, 102, 111, 114, 32, 101, 120, 101, 99, 117, 116, 105, 118, 101, 36, 32, 109, 97, 116, 116, 101, 114, 115, 46, 36, 86, 111, 116, 101, 67, 111, 117, 110, 116, 1, 0, 36, 86, 111, 116, 101, 73, 110, 100, 101, 120, 4, 5, 1, 32, 84, 104, 101, 32, 116, 111, 116, 97, 108, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 118, 111, 116, 101, 115, 32, 116, 104, 97, 116, 32, 104, 97, 118, 101, 32, 104, 97, 112, 112, 101, 110, 101, 100, 32, 111, 114, 32, 97, 114, 101, 32, 105, 110, 32, 112, 114, 111, 103, 114, 101, 115, 115, 46, 44, 65, 112, 112, 114, 111, 118, 97, 108, 115, 79, 102, 1, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 36, 86, 101, 99, 60, 98, 111, 111, 108, 62, 4, 1, 1, 32, 84, 104, 101, 32, 108, 97, 115, 116, 32, 99, 108, 101, 97, 114, 101, 100, 32, 118, 111, 116, 101, 32, 105, 110, 100, 101, 120, 32, 116, 104, 97, 116, 32, 116, 104, 105, 115, 32, 118, 111, 116, 101, 114, 32, 119, 97, 115, 32, 108, 97, 115, 116, 32, 97, 99, 116, 105, 118, 101, 32, 97, 116, 46, 56, 82, 101, 103, 105, 115, 116, 101, 114, 73, 110, 102, 111, 79, 102, 0, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 64, 40, 86, 111, 116, 101, 73, 110, 100, 101, 120, 44, 32, 117, 51, 50, 41, 8, 125, 1, 32, 84, 104, 101, 32, 118, 111, 116, 101, 32, 105, 110, 100, 101, 120, 32, 97, 110, 100, 32, 108, 105, 115, 116, 32, 115, 108, 111, 116, 32, 116, 104, 97, 116, 32, 116, 104, 101, 32, 99, 97, 110, 100, 105, 100, 97, 116, 101, 32, 96, 119, 104, 111, 96, 32, 119, 97, 115, 32, 114, 101, 103, 105, 115, 116, 101, 114, 101, 100, 32, 111, 114, 32, 96, 78, 111, 110, 101, 96, 32, 105, 102, 32, 116, 104, 101, 121, 32, 97, 114, 101, 32, 110, 111, 116, 88, 32, 99, 117, 114, 114, 101, 110, 116, 108, 121, 32, 114, 101, 103, 105, 115, 116, 101, 114, 101, 100, 46, 48, 76, 97, 115, 116, 65, 99, 116, 105, 118, 101, 79, 102, 0, 1, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 36, 86, 111, 116, 101, 73, 110, 100, 101, 120, 4, 1, 1, 32, 84, 104, 101, 32, 108, 97, 115, 116, 32, 99, 108, 101, 97, 114, 101, 100, 32, 118, 111, 116, 101, 32, 105, 110, 100, 101, 120, 32, 116, 104, 97, 116, 32, 116, 104, 105, 115, 32, 118, 111, 116, 101, 114, 32, 119, 97, 115, 32, 108, 97, 115, 116, 32, 97, 99, 116, 105, 118, 101, 32, 97, 116, 46, 24, 86, 111, 116, 101, 114, 115, 1, 0, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 96, 32, 84, 104, 101, 32, 112, 114, 101, 115, 101, 110, 116, 32, 118, 111, 116, 101, 114, 32, 108, 105, 115, 116, 46, 40, 67, 97, 110, 100, 105, 100, 97, 116, 101, 115, 1, 0, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 4, 112, 32, 84, 104, 101, 32, 112, 114, 101, 115, 101, 110, 116, 32, 99, 97, 110, 100, 105, 100, 97, 116, 101, 32, 108, 105, 115, 116, 46, 56, 67, 97, 110, 100, 105, 100, 97, 116, 101, 67, 111, 117, 110, 116, 1, 0, 12, 117, 51, 50, 0, 48, 78, 101, 120, 116, 70, 105, 110, 97, 108, 105, 115, 101, 0, 0, 160, 40, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 44, 32, 117, 51, 50, 44, 32, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 41, 4, 33, 1, 32, 84, 104, 101, 32, 97, 99, 99, 111, 117, 110, 116, 115, 32, 104, 111, 108, 100, 105, 110, 103, 32, 116, 104, 101, 32, 115, 101, 97, 116, 115, 32, 116, 104, 97, 116, 32, 119, 105, 108, 108, 32, 98, 101, 99, 111, 109, 101, 32, 102, 114, 101, 101, 32, 111, 110, 32, 116, 104, 101, 32, 110, 101, 120, 116, 32, 116, 97, 108, 108, 121, 46, 64, 83, 110, 97, 112, 115, 104, 111, 116, 101, 100, 83, 116, 97, 107, 101, 115, 2, 0, 60, 86, 101, 99, 60, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 62, 4, 232, 32, 84, 104, 101, 32, 115, 116, 97, 107, 101, 115, 32, 97, 115, 32, 116, 104, 101, 121, 32, 119, 101, 114, 101, 32, 97, 116, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, 32, 116, 104, 97, 116, 32, 116, 104, 101, 32, 118, 111, 116, 101, 32, 101, 110, 100, 101, 100, 46, 44, 76, 101, 97, 100, 101, 114, 98, 111, 97, 114, 100, 0, 0, 124, 86, 101, 99, 60, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 41, 62, 4, 224, 32, 71, 101, 116, 32, 116, 104, 101, 32, 108, 101, 97, 100, 101, 114, 98, 111, 97, 114, 100, 32, 105, 102, 32, 119, 101, 59, 114, 101, 32, 105, 110, 32, 116, 104, 101, 32, 112, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 32, 112, 104, 97, 115, 101, 46, 56, 99, 111, 117, 110, 99, 105, 108, 95, 118, 111, 116, 105, 110, 103, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 20, 0, 0, 28, 112, 114, 111, 112, 111, 115, 101, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 32, 112, 114, 111, 112, 111, 115, 97, 108, 64, 66, 111, 120, 60, 84, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 62, 0, 1, 0, 16, 118, 111, 116, 101, 12, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 32, 112, 114, 111, 112, 111, 115, 97, 108, 28, 84, 58, 58, 72, 97, 115, 104, 28, 97, 112, 112, 114, 111, 118, 101, 16, 98, 111, 111, 108, 0, 2, 0, 16, 118, 101, 116, 111, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 52, 112, 114, 111, 112, 111, 115, 97, 108, 95, 104, 97, 115, 104, 28, 84, 58, 58, 72, 97, 115, 104, 0, 3, 0, 72, 115, 101, 116, 95, 99, 111, 111, 108, 111, 102, 102, 95, 112, 101, 114, 105, 111, 100, 4, 24, 98, 108, 111, 99, 107, 115, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 4, 0, 68, 115, 101, 116, 95, 118, 111, 116, 105, 110, 103, 95, 112, 101, 114, 105, 111, 100, 4, 24, 98, 108, 111, 99, 107, 115, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 1, 52, 67, 111, 117, 110, 99, 105, 108, 86, 111, 116, 105, 110, 103, 28, 52, 67, 111, 111, 108, 111, 102, 102, 80, 101, 114, 105, 111, 100, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 48, 86, 111, 116, 105, 110, 103, 80, 101, 114, 105, 111, 100, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 0, 36, 80, 114, 111, 112, 111, 115, 97, 108, 115, 2, 0, 120, 86, 101, 99, 60, 40, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 44, 32, 84, 58, 58, 72, 97, 115, 104, 41, 62, 0, 40, 80, 114, 111, 112, 111, 115, 97, 108, 79, 102, 0, 1, 28, 84, 58, 58, 72, 97, 115, 104, 44, 84, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 0, 56, 80, 114, 111, 112, 111, 115, 97, 108, 86, 111, 116, 101, 114, 115, 1, 1, 28, 84, 58, 58, 72, 97, 115, 104, 68, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 0, 52, 67, 111, 117, 110, 99, 105, 108, 86, 111, 116, 101, 79, 102, 0, 1, 92, 40, 84, 58, 58, 72, 97, 115, 104, 44, 32, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 41, 16, 98, 111, 111, 108, 0, 56, 86, 101, 116, 111, 101, 100, 80, 114, 111, 112, 111, 115, 97, 108, 0, 1, 28, 84, 58, 58, 72, 97, 115, 104, 140, 40, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 44, 32, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 41, 0, 60, 99, 111, 117, 110, 99, 105, 108, 95, 109, 111, 116, 105, 111, 110, 115, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 8, 0, 0, 28, 112, 114, 111, 112, 111, 115, 101, 12, 24, 111, 114, 105, 103, 105, 110, 112, 60, 84, 32, 97, 115, 32, 115, 121, 115, 116, 101, 109, 58, 58, 84, 114, 97, 105, 116, 62, 58, 58, 79, 114, 105, 103, 105, 110, 36, 116, 104, 114, 101, 115, 104, 111, 108, 100, 12, 117, 51, 50, 32, 112, 114, 111, 112, 111, 115, 97, 108, 108, 66, 111, 120, 60, 60, 84, 32, 97, 115, 32, 84, 114, 97, 105, 116, 62, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 62, 0, 1, 0, 16, 118, 111, 116, 101, 16, 24, 111, 114, 105, 103, 105, 110, 112, 60, 84, 32, 97, 115, 32, 115, 121, 115, 116, 101, 109, 58, 58, 84, 114, 97, 105, 116, 62, 58, 58, 79, 114, 105, 103, 105, 110, 32, 112, 114, 111, 112, 111, 115, 97, 108, 28, 84, 58, 58, 72, 97, 115, 104, 20, 105, 110, 100, 101, 120, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 28, 97, 112, 112, 114, 111, 118, 101, 16, 98, 111, 111, 108, 0, 1, 56, 67, 111, 117, 110, 99, 105, 108, 77, 111, 116, 105, 111, 110, 115, 16, 36, 80, 114, 111, 112, 111, 115, 97, 108, 115, 1, 0, 48, 86, 101, 99, 60, 84, 58, 58, 72, 97, 115, 104, 62, 4, 152, 32, 84, 104, 101, 32, 40, 104, 97, 115, 104, 101, 115, 32, 111, 102, 41, 32, 116, 104, 101, 32, 97, 99, 116, 105, 118, 101, 32, 112, 114, 111, 112, 111, 115, 97, 108, 115, 46, 40, 80, 114, 111, 112, 111, 115, 97, 108, 79, 102, 0, 1, 28, 84, 58, 58, 72, 97, 115, 104, 88, 60, 84, 32, 97, 115, 32, 84, 114, 97, 105, 116, 62, 58, 58, 80, 114, 111, 112, 111, 115, 97, 108, 4, 204, 32, 65, 99, 116, 117, 97, 108, 32, 112, 114, 111, 112, 111, 115, 97, 108, 32, 102, 111, 114, 32, 97, 32, 103, 105, 118, 101, 110, 32, 104, 97, 115, 104, 44, 32, 105, 102, 32, 105, 116, 39, 115, 32, 99, 117, 114, 114, 101, 110, 116, 46, 24, 86, 111, 116, 105, 110, 103, 0, 1, 28, 84, 58, 58, 72, 97, 115, 104, 232, 40, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 44, 32, 117, 51, 50, 44, 32, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 44, 32, 86, 101, 99, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 62, 41, 4, 37, 1, 32, 86, 111, 116, 101, 115, 32, 102, 111, 114, 32, 97, 32, 103, 105, 118, 101, 110, 32, 112, 114, 111, 112, 111, 115, 97, 108, 58, 32, 40, 114, 101, 113, 117, 105, 114, 101, 100, 95, 121, 101, 115, 95, 118, 111, 116, 101, 115, 44, 32, 121, 101, 115, 95, 118, 111, 116, 101, 114, 115, 44, 32, 110, 111, 95, 118, 111, 116, 101, 114, 115, 41, 46, 52, 80, 114, 111, 112, 111, 115, 97, 108, 67, 111, 117, 110, 116, 1, 0, 12, 117, 51, 50, 4, 72, 32, 80, 114, 111, 112, 111, 115, 97, 108, 115, 32, 115, 111, 32, 102, 97, 114, 46, 32, 116, 114, 101, 97, 115, 117, 114, 121, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 20, 0, 0, 52, 112, 114, 111, 112, 111, 115, 101, 95, 115, 112, 101, 110, 100, 12, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 20, 118, 97, 108, 117, 101, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 44, 98, 101, 110, 101, 102, 105, 99, 105, 97, 114, 121, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 0, 1, 0, 28, 115, 101, 116, 95, 112, 111, 116, 4, 28, 110, 101, 119, 95, 112, 111, 116, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 0, 2, 0, 36, 99, 111, 110, 102, 105, 103, 117, 114, 101, 16, 52, 112, 114, 111, 112, 111, 115, 97, 108, 95, 98, 111, 110, 100, 28, 80, 101, 114, 109, 105, 108, 108, 84, 112, 114, 111, 112, 111, 115, 97, 108, 95, 98, 111, 110, 100, 95, 109, 105, 110, 105, 109, 117, 109, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 48, 115, 112, 101, 110, 100, 95, 112, 101, 114, 105, 111, 100, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 16, 98, 117, 114, 110, 28, 80, 101, 114, 109, 105, 108, 108, 0, 3, 0, 60, 114, 101, 106, 101, 99, 116, 95, 112, 114, 111, 112, 111, 115, 97, 108, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 40, 114, 111, 112, 111, 115, 97, 108, 95, 105, 100, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 0, 4, 0, 64, 97, 112, 112, 114, 111, 118, 101, 95, 112, 114, 111, 112, 111, 115, 97, 108, 8, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 44, 112, 114, 111, 112, 111, 115, 97, 108, 95, 105, 100, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 0, 1, 32, 84, 114, 101, 97, 115, 117, 114, 121, 32, 48, 80, 114, 111, 112, 111, 115, 97, 108, 66, 111, 110, 100, 2, 0, 28, 80, 101, 114, 109, 105, 108, 108, 8, 81, 1, 32, 80, 114, 111, 112, 111, 114, 116, 105, 111, 110, 32, 111, 102, 32, 102, 117, 110, 100, 115, 32, 116, 104, 97, 116, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 98, 111, 110, 100, 101, 100, 32, 105, 110, 32, 111, 114, 100, 101, 114, 32, 116, 111, 32, 112, 108, 97, 99, 101, 32, 97, 32, 112, 114, 111, 112, 111, 115, 97, 108, 46, 32, 65, 110, 32, 97, 99, 99, 101, 112, 116, 101, 100, 220, 32, 112, 114, 111, 112, 111, 115, 97, 108, 32, 103, 101, 116, 115, 32, 116, 104, 101, 115, 101, 32, 98, 97, 99, 107, 46, 32, 65, 32, 114, 101, 106, 101, 99, 116, 101, 100, 32, 112, 114, 111, 112, 111, 115, 97, 108, 32, 100, 111, 101, 115, 110, 39, 116, 46, 76, 80, 114, 111, 112, 111, 115, 97, 108, 66, 111, 110, 100, 77, 105, 110, 105, 109, 117, 109, 2, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 73, 1, 32, 77, 105, 110, 105, 109, 117, 109, 32, 97, 109, 111, 117, 110, 116, 32, 111, 102, 32, 102, 117, 110, 100, 115, 32, 116, 104, 97, 116, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 112, 108, 97, 99, 101, 100, 32, 105, 110, 32, 97, 32, 100, 101, 112, 111, 115, 105, 116, 32, 102, 111, 114, 32, 109, 97, 107, 105, 110, 103, 32, 97, 32, 112, 114, 111, 112, 111, 115, 97, 108, 46, 44, 83, 112, 101, 110, 100, 80, 101, 114, 105, 111, 100, 2, 0, 56, 84, 58, 58, 66, 108, 111, 99, 107, 78, 117, 109, 98, 101, 114, 4, 136, 32, 80, 101, 114, 105, 111, 100, 32, 98, 101, 116, 119, 101, 101, 110, 32, 115, 117, 99, 99, 101, 115, 115, 105, 118, 101, 32, 115, 112, 101, 110, 100, 115, 46, 16, 66, 117, 114, 110, 2, 0, 28, 80, 101, 114, 109, 105, 108, 108, 4, 17, 1, 32, 80, 101, 114, 99, 101, 110, 116, 97, 103, 101, 32, 111, 102, 32, 115, 112, 97, 114, 101, 32, 102, 117, 110, 100, 115, 32, 40, 105, 102, 32, 97, 110, 121, 41, 32, 116, 104, 97, 116, 32, 97, 114, 101, 32, 98, 117, 114, 110, 116, 32, 112, 101, 114, 32, 115, 112, 101, 110, 100, 32, 112, 101, 114, 105, 111, 100, 46, 12, 80, 111, 116, 1, 0, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 4, 204, 32, 84, 111, 116, 97, 108, 32, 102, 117, 110, 100, 115, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 32, 116, 111, 32, 116, 104, 105, 115, 32, 109, 111, 100, 117, 108, 101, 32, 102, 111, 114, 32, 115, 112, 101, 110, 100, 105, 110, 103, 46, 52, 80, 114, 111, 112, 111, 115, 97, 108, 67, 111, 117, 110, 116, 1, 0, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 4, 164, 32, 78, 117, 109, 98, 101, 114, 32, 111, 102, 32, 112, 114, 111, 112, 111, 115, 97, 108, 115, 32, 116, 104, 97, 116, 32, 104, 97, 118, 101, 32, 98, 101, 101, 110, 32, 109, 97, 100, 101, 46, 36, 80, 114, 111, 112, 111, 115, 97, 108, 115, 0, 1, 52, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 136, 80, 114, 111, 112, 111, 115, 97, 108, 60, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 44, 32, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 62, 4, 124, 32, 80, 114, 111, 112, 111, 115, 97, 108, 115, 32, 116, 104, 97, 116, 32, 104, 97, 118, 101, 32, 98, 101, 101, 110, 32, 109, 97, 100, 101, 46, 36, 65, 112, 112, 114, 111, 118, 97, 108, 115, 1, 0, 72, 86, 101, 99, 60, 80, 114, 111, 112, 111, 115, 97, 108, 73, 110, 100, 101, 120, 62, 4, 248, 32, 80, 114, 111, 112, 111, 115, 97, 108, 32, 105, 110, 100, 105, 99, 101, 115, 32, 116, 104, 97, 116, 32, 104, 97, 118, 101, 32, 98, 101, 101, 110, 32, 97, 112, 112, 114, 111, 118, 101, 100, 32, 98, 117, 116, 32, 110, 111, 116, 32, 121, 101, 116, 32, 97, 119, 97, 114, 100, 101, 100, 46, 32, 99, 111, 110, 116, 114, 97, 99, 116, 24, 77, 111, 100, 117, 108, 101, 16, 67, 97, 108, 108, 8, 0, 0, 16, 99, 97, 108, 108, 20, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 16, 100, 101, 115, 116, 48, 84, 58, 58, 65, 99, 99, 111, 117, 110, 116, 73, 100, 20, 118, 97, 108, 117, 101, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 36, 103, 97, 115, 95, 108, 105, 109, 105, 116, 24, 84, 58, 58, 71, 97, 115, 16, 100, 97, 116, 97, 28, 86, 101, 99, 60, 117, 56, 62, 0, 1, 0, 24, 99, 114, 101, 97, 116, 101, 20, 24, 111, 114, 105, 103, 105, 110, 36, 84, 58, 58, 79, 114, 105, 103, 105, 110, 20, 118, 97, 108, 117, 101, 40, 84, 58, 58, 66, 97, 108, 97, 110, 99, 101, 36, 103, 97, 115, 95, 108, 105, 109, 105, 116, 24, 84, 58, 58, 71, 97, 115, 36, 105, 110, 105, 116, 95, 99, 111, 100, 101, 28, 86, 101, 99, 60, 117, 56, 62, 16, 100, 97, 116, 97, 28, 86, 101, 99, 60, 117, 56, 62, 0, 0 +]; + +export default meta; diff --git a/packages/api-codec/src/Metadata.spec.js b/packages/api-codec/src/Metadata.spec.js index 5d505c67af..b00102fec2 100644 --- a/packages/api-codec/src/Metadata.spec.js +++ b/packages/api-codec/src/Metadata.spec.js @@ -3,13 +3,11 @@ // of the ISC license. See the LICENSE file for details. import Metadata from './Metadata'; -import rpcdata from './Metadata.rpc.json'; +import rpcdata from './Metadata.rpc'; describe('Metadata', () => { it('decodes properly', () => { - const decoded = new Metadata().fromJSON( - rpcdata.result - ); + const decoded = new Metadata().fromJSON(rpcdata); const str = JSON.stringify(decoded.toJSON()); diff --git a/packages/api-codec/src/types.d.ts b/packages/api-codec/src/types.d.ts index 4347a14e42..55555bc206 100644 --- a/packages/api-codec/src/types.d.ts +++ b/packages/api-codec/src/types.d.ts @@ -3,6 +3,7 @@ // of the ISC license. See the LICENSE file for details. import BN from 'bn.js'; +import * as Classes from './index'; import U8a from './codec/U8a'; import UInt from './codec/UInt'; @@ -10,3 +11,5 @@ import UInt from './codec/UInt'; export type AnyNumber = UInt | BN | Uint8Array | number | string; export type AnyU8a = U8a | Uint8Array | Array | string; + +export type CodecTypes = keyof typeof Classes; diff --git a/packages/api-provider/src/mock/mocks.ts b/packages/api-provider/src/mock/mocks.ts index 4604ace56d..847d19664d 100644 --- a/packages/api-provider/src/mock/mocks.ts +++ b/packages/api-provider/src/mock/mocks.ts @@ -4,26 +4,20 @@ // FIXME: This file is way too long and way too messy -import { Storages } from '@polkadot/storage/types'; -import { SectionItem } from '@polkadot/params/types'; +import { StorageFunction } from '@polkadot/api-codec/StorageKey'; import { KeyringPair } from '@polkadot/util-keyring/types'; import { ProviderInterface$Emitted } from '../types'; -import { MockState, MockState$Storage, MockState$Subscriptions } from './types'; +import { MockState, MockState$Db, MockState$Subscriptions } from './types'; import BN from 'bn.js'; -import headerEncode from '@polkadot/primitives/json/header/encode'; -import createKey from '@polkadot/storage/key'; -import state from '@polkadot/storage/index'; +import Header from '@polkadot/api-codec/Header'; +import storage from '@polkadot/storage/testing'; import bnToU8a from '@polkadot/util/bn/toU8a'; import u8aToHex from '@polkadot/util/u8a/toHex'; import randomAsU8a from '@polkadot/util-crypto/random/asU8a'; import testKeyring from '@polkadot/util-keyring/testing'; const keyring = testKeyring(); -// FIXME No more .public -const stateStaking = state.staking.public; -const stateSystem = state.staking.public; -const stateTimestamp = state.timestamp.public; const emitEvents: Array = ['connected', 'disconnected']; let emitIndex = 0; @@ -58,15 +52,15 @@ function updateSubs (subscriptions: MockState$Subscriptions, method: string, val }); } -function setStorageBn (storage: MockState$Storage, key: SectionItem, value: BN | number, ...keyParams: Array): void { +function setStorageBn (db: MockState$Db, createKey: StorageFunction, value: BN | number, ...keyParams: Array): void { const keyValue = u8aToHex( - createKey(key).apply(null, keyParams) + createKey(...keyParams) ); - storage[keyValue] = bnToU8a(value, 64, true); + db[keyValue] = bnToU8a(value, 64, true); } -export default function mocks ({ emitter, storage, subscriptions }: MockState): void { +export default function mocks ({ emitter, db, subscriptions }: MockState): void { let newHead = makeBlockHeader(new BN(-1)); setInterval(() => { @@ -79,15 +73,12 @@ export default function mocks ({ emitter, storage, subscriptions }: MockState): newHead = makeBlockHeader(newHead.number); keyring.getPairs().forEach(({ publicKey }: KeyringPair, index: number) => { - // @ts-ignore FIXME This does not exist anymore - setStorageBn(storage, stateStaking.freeBalanceOf, newHead.number.muln(3).iaddn(index), publicKey()); - // @ts-ignore FIXME This does not exist anymore - setStorageBn(storage, stateSystem.accountIndexOf, newHead.number.addn(index), publicKey()); + setStorageBn(db, storage.balances.freeBalance, newHead.number.muln(3).iaddn(index), publicKey()); + setStorageBn(db, storage.system.accountNonce, newHead.number.addn(index), publicKey()); }); - // @ts-ignore FIXME This does not exist anymore - setStorageBn(storage, stateTimestamp.current, Math.floor(Date.now() / 1000)); + setStorageBn(db, storage.timestamp.now, Math.floor(Date.now() / 1000)); - updateSubs(subscriptions, 'chain_newHead', headerEncode(newHead)); + updateSubs(subscriptions, 'chain_newHead', new Header(newHead).toJSON()); }, 5000); } diff --git a/packages/api-provider/src/mock/send.ts b/packages/api-provider/src/mock/send.ts index a1b91ad75e..256c9ac557 100644 --- a/packages/api-provider/src/mock/send.ts +++ b/packages/api-provider/src/mock/send.ts @@ -4,10 +4,10 @@ import { MockState } from './types'; -export default async function send ({ requests, storage }: MockState, method: string, params: Array): Promise { +export default async function send ({ requests, db }: MockState, method: string, params: Array): Promise { if (!requests[method]) { throw new Error(`provider.send: Invalid method '${method}'`); } - return requests[method](storage, params); + return requests[method](db, params); } diff --git a/packages/api-provider/src/mock/state.ts b/packages/api-provider/src/mock/state.ts index 65f281b24d..e24b46877c 100644 --- a/packages/api-provider/src/mock/state.ts +++ b/packages/api-provider/src/mock/state.ts @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { MockState, MockState$Storage, MockState$Subscriptions } from './types'; +import { MockState, MockState$Db, MockState$Subscriptions } from './types'; import E3 from 'eventemitter3'; import interfaces from '@polkadot/jsonrpc/index'; @@ -14,7 +14,7 @@ const l = logger('api-mock'); const SUBSCRIPTIONS: string[] = Array.prototype.concat.apply( [], Object.values(interfaces).map((area) => Object - .values(area.public) + .values(area.methods) .filter((method) => method.isSubscription ) @@ -25,7 +25,7 @@ const SUBSCRIPTIONS: string[] = Array.prototype.concat.apply( ); const REQUESTS = { - 'state_getStorage': (storage: MockState$Storage, params: Array): string => { + 'state_getStorage': (storage: MockState$Db, params: Array): string => { return u8aToHex( storage[(params[0] as string)] ); @@ -36,7 +36,7 @@ const REQUESTS = { }; export default function state (): MockState { - const storage = {}; + const db = {}; const subscriptions: MockState$Subscriptions = SUBSCRIPTIONS.reduce((subs, name) => { subs[name] = { callbacks: {}, @@ -50,7 +50,7 @@ export default function state (): MockState { emitter: new E3.EventEmitter(), l, requests: Object.assign({}, REQUESTS), - storage, + db, subscriptionId: 0, subscriptionMap: {}, subscriptions diff --git a/packages/api-provider/src/mock/types.d.ts b/packages/api-provider/src/mock/types.d.ts index 285c1ce5c3..8bb1520de2 100644 --- a/packages/api-provider/src/mock/types.d.ts +++ b/packages/api-provider/src/mock/types.d.ts @@ -16,19 +16,19 @@ export type MockState$Subscriptions = { } }; -export type MockState$Storage = { +export type MockState$Db = { [index: string]: Uint8Array }; export type MockState$Requests = { - [index: string]: (storage: MockState$Storage, params: Array) => string + [index: string]: (db: MockState$Db, params: Array) => string }; export type MockState = { emitter: EventEmitter, l: Logger, requests: MockState$Requests, - storage: MockState$Storage, + db: MockState$Db, subscriptionId: number, subscriptionMap: { [index: number]: string diff --git a/packages/api-rx/src/index.ts b/packages/api-rx/src/index.ts index 41cec2109b..5b3a65a08d 100644 --- a/packages/api-rx/src/index.ts +++ b/packages/api-rx/src/index.ts @@ -4,7 +4,6 @@ import { ApiInterface, ApiInterface$Section } from '@polkadot/api/types'; import { ProviderInterface } from '@polkadot/api-provider/types'; -import { Interface$Sections } from '@polkadot/jsonrpc/types'; import { RxApiInterface, RxApiInterface$Section } from './types'; import { BehaviorSubject, Observable, Subscriber, from } from 'rxjs'; @@ -51,19 +50,17 @@ export default class RxApi implements RxApiInterface { provider.on('connected', () => this._isConnected.next(true)); provider.on('disconnected', () => this._isConnected.next(false)); - this.author = this.createInterface('author'); - this.chain = this.createInterface('chain'); - this.state = this.createInterface('state'); - this.system = this.createInterface('system'); + this.author = this.createInterface('author', this._api.author); + this.chain = this.createInterface('chain', this._api.chain); + this.state = this.createInterface('state', this._api.state); + this.system = this.createInterface('system', this._api.system); } isConnected (): BehaviorSubject { return this._isConnected; } - private createInterface (sectionName: Interface$Sections): RxApiInterface$Section { - const section: ApiInterface$Section = this._api[sectionName]; - + private createInterface (sectionName: string, section: ApiInterface$Section): RxApiInterface$Section { return Object .keys(section) .filter((name) => !['subscribe', 'unsubscribe'].includes(name)) diff --git a/packages/api-rx/src/types.d.ts b/packages/api-rx/src/types.d.ts index fbf5bf1868..407c894e4b 100644 --- a/packages/api-rx/src/types.d.ts +++ b/packages/api-rx/src/types.d.ts @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { Interfaces } from '@polkadot/jsonrpc/types'; import { BehaviorSubject, Observable } from 'rxjs'; -import { Interface$Sections } from '@polkadot/jsonrpc/types'; + +import interfaces from '@polkadot/jsonrpc/types'; export type RxApiInterface$Method = (...params: Array) => Observable | BehaviorSubject; @@ -13,7 +13,7 @@ export type RxApiInterface$Section = { }; type RxApiInterface$Keys = { - readonly [key in keyof Interfaces]: RxApiInterface$Section; + readonly [key in keyof typeof interfaces]: RxApiInterface$Section; }; export type RxApiInterface = RxApiInterface$Keys & { diff --git a/packages/api/package.json b/packages/api/package.json index 3db2bd490c..c53716912a 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -32,7 +32,6 @@ "@babel/runtime": "^7.0.0", "@polkadot/api-provider": "^0.30.2", "@polkadot/jsonrpc": "^0.30.2", - "@polkadot/params": "^0.30.2", "@polkadot/util": "^0.30.7" } } diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index e8bd5b2bd6..28c72aa8ed 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -3,18 +3,15 @@ // of the ISC license. See the LICENSE file for details. import { ProviderInterface, ProviderInterface$Callback } from '@polkadot/api-provider/types'; -import { Interfaces, Interface$Sections } from '@polkadot/jsonrpc/types'; -import { SectionItem } from '@polkadot/params/types'; +import { Section, Method } from '@polkadot/jsonrpc/types'; import { ApiInterface, ApiInterface$Section, ApiInterface$Section$Method } from './types'; import { Base, Vector, createType } from '@polkadot/api-codec/codec'; import { StorageChangeSet, StorageKey } from '@polkadot/api-codec/index'; import interfaces from '@polkadot/jsonrpc/index'; -import signature from '@polkadot/params/signature'; import assert from '@polkadot/util/assert'; import ExtError from '@polkadot/util/ext/error'; import isFunction from '@polkadot/util/is/function'; -import isUndefined from '@polkadot/util/is/undefined'; /** * @example @@ -41,27 +38,39 @@ export default class Api implements ApiInterface { this._provider = provider; - this.author = this.createInterface('author'); - this.chain = this.createInterface('chain'); - this.state = this.createInterface('state'); - this.system = this.createInterface('system'); + this.author = this.createInterface(interfaces.author); + this.chain = this.createInterface(interfaces.chain); + this.state = this.createInterface(interfaces.state); + this.system = this.createInterface(interfaces.system); } - private createInterface (section: Interface$Sections): ApiInterface$Section { - const definition = interfaces[section]; + /** + * @name signature + * @signature jsonrpcSignature (method: InterfaceMethodDefinition): string + * @summary Returns a string representation of the method with inputs and outputs. + * @description + * Formats the name, inputs and outputs into a human-readable string. This contains the input parameter names input types and output type. + * @example + * import Api from '@polkadot/Api'; + * + * Api.signature({ name: 'test_method', params: [ { name: 'dest', type: 'Address' } ], type: 'Address' }); // => test_method (dest: Address): Address + */ + static signature ({ name, params, type }: Method): string { + const inputs = params.map(({ name, type }) => + `${name}: ${type}` + ).join(', '); - assert(!isUndefined(definition), `Unable to find section '${section}`); - - // @ts-ignore undefined check done in assert - const methods = definition.public; + return `${name} (${inputs}): ${type}`; + } + private createInterface ({ methods, name }: Section): ApiInterface$Section { return Object .keys(methods) - .reduce((exposed, name) => { - const rpcName = `${section}_${name}`; - const def = methods[name]; + .reduce((exposed, method) => { + const rpcName = `${name}_${method}`; + const def = methods[method]; - exposed[name] = def.isSubscription + exposed[method] = def.isSubscription ? this.createMethodSubscribe(rpcName, def) : this.createMethodSend(rpcName, def); @@ -69,7 +78,7 @@ export default class Api implements ApiInterface { }, {} as ApiInterface$Section); } - private createMethodSend (rpcName: string, method: SectionItem): ApiInterface$Section$Method { + private createMethodSend (rpcName: string, method: Method): ApiInterface$Section$Method { const call = async (...values: Array): Promise => { // TODO Warn on deprecated methods try { @@ -79,7 +88,7 @@ export default class Api implements ApiInterface { return this.formatOutput(method, params, result); } catch (error) { - const message = `${signature(method)}:: ${error.message}`; + const message = `${Api.signature(method)}:: ${error.message}`; console.error(message, error); @@ -90,7 +99,7 @@ export default class Api implements ApiInterface { return call as ApiInterface$Section$Method; } - private createMethodSubscribe (rpcName: string, method: SectionItem): ApiInterface$Section$Method { + private createMethodSubscribe (rpcName: string, method: Method): ApiInterface$Section$Method { const unsubscribe = (subscriptionId: any): Promise => this._provider.unsubscribe(rpcName, method.subscribe[1], subscriptionId); const _call = async (...values: Array): Promise => { @@ -107,7 +116,7 @@ export default class Api implements ApiInterface { return this._provider.subscribe(rpcName, method.subscribe[0], paramsJson, update); } catch (error) { - const message = `${signature(method)}:: ${error.message}`; + const message = `${Api.signature(method)}:: ${error.message}`; console.error(message, error); @@ -122,7 +131,7 @@ export default class Api implements ApiInterface { return call; } - private formatInputs (method: SectionItem, inputs: Array): Array { + private formatInputs (method: Method, inputs: Array): Array { assert(method.params.length === inputs.length, `Expected ${method.params.length} parameters, ${inputs.length} found instead`); return method.params.map(({ type }, index) => @@ -130,7 +139,7 @@ export default class Api implements ApiInterface { ); } - private formatOutput (method: SectionItem, params: Array, result?: any): Base { + private formatOutput (method: Method, params: Array, result?: any): Base { const base = createType(method.type as string, result); if (method.type === 'StorageData') { diff --git a/packages/api/src/types.d.ts b/packages/api/src/types.d.ts index 7318fcdce1..c37212d445 100644 --- a/packages/api/src/types.d.ts +++ b/packages/api/src/types.d.ts @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { Interfaces, Interface$Sections } from '@polkadot/jsonrpc/types'; +import interfaces from '@polkadot/jsonrpc/index'; export interface ApiInterface$Section$Method { (...params: Array): Promise; @@ -16,5 +16,5 @@ export type ApiInterface$Section = { }; export type ApiInterface = { - readonly [key in keyof Interfaces]: ApiInterface$Section + readonly [key in keyof typeof interfaces]: ApiInterface$Section } diff --git a/packages/type-jsonrpc/package.json b/packages/type-jsonrpc/package.json index 5b8421ab9b..7ab0d70eed 100644 --- a/packages/type-jsonrpc/package.json +++ b/packages/type-jsonrpc/package.json @@ -29,7 +29,6 @@ }, "homepage": "https://github.com/polkadot-js/api/tree/master/packages/type-jsonrpc#readme", "dependencies": { - "@polkadot/params": "^0.30.2", "babel-runtime": "^6.26.0" } } diff --git a/packages/type-jsonrpc/src/author.ts b/packages/type-jsonrpc/src/author.ts index 2e5580d0c9..9a7b81ca48 100644 --- a/packages/type-jsonrpc/src/author.ts +++ b/packages/type-jsonrpc/src/author.ts @@ -2,45 +2,43 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { CreateItems, CreateItemOptions, CreateItemOptionsMap, Section, SectionItems } from '@polkadot/params/types'; -import { Interfaces, Interface$Sections } from './types'; +import { MethodOpt, Section, SectionMethods } from './types'; -import param from '@polkadot/params/param'; -import createSection from '@polkadot/params/section'; +import createMethod from './create/method'; +import createParam from './create/param'; -const pendingExtrinsics: CreateItemOptions = { +const pendingExtrinsics: MethodOpt = { description: 'Returns all pending extrinsics, potentially grouped by sender', params: [], type: 'PendingExtrinsics' }; -const submitExtrinsic: CreateItemOptions = { +const submitExtrinsic: MethodOpt = { isSigned: true, description: 'Submit a fully formatted extrinsic for block inclusion', params: [ - param('extrinsic', 'Bytes') + createParam('extrinsic', 'Bytes') ], type: 'Hash' }; -const privateMethods: CreateItemOptionsMap = {}; - -const publicMethods: CreateItemOptionsMap = { +const methods: { [index: string]: MethodOpt } = { pendingExtrinsics, submitExtrinsic }; -export type PrivateMethods = typeof privateMethods; -export type PublicMethods = typeof publicMethods; +export type Methods = typeof methods; /** * @summary Methods to work with authors & contributors. */ -export default (name: Interface$Sections): Section => - createSection(name)((createMethod: CreateItems) => ({ - description: 'Authoring of network items', - public: Object.keys(publicMethods).reduce((result, key) => { - result[key] = createMethod(key)(publicMethods[key]); +export default { + isDeprecated: false, + isHidden: false, + description: 'Authoring of network items', + name: 'author', + methods: Object.keys(methods).reduce((result, key) => { + result[key] = createMethod('author', key, methods[key]); - return result; - }, {} as SectionItems) - })); + return result; + }, {} as SectionMethods) +} as Section; diff --git a/packages/type-jsonrpc/src/chain.ts b/packages/type-jsonrpc/src/chain.ts index b04ef5b3b5..434587c386 100644 --- a/packages/type-jsonrpc/src/chain.ts +++ b/packages/type-jsonrpc/src/chain.ts @@ -2,49 +2,48 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { CreateItems, CreateItemOptions, CreateItemOptionsMap, Section, SectionItems } from '@polkadot/params/types'; -import { Interfaces, Interface$Sections } from './types'; +import { MethodOpt, Section, SectionMethods } from './types'; -import param from '@polkadot/params/param'; -import createSection from '@polkadot/params/section'; +import createMethod from './create/method'; +import createParam from './create/param'; -const getBlock: CreateItemOptions = { +const getBlock: MethodOpt = { description: 'Get header and body of a relay chain block', params: [ - param('hash', 'Hash') + createParam('hash', 'Hash') ], type: 'SignedBlock' }; -const getHead: CreateItemOptions = { +const getHead: MethodOpt = { description: 'Retrieves the best headerHash', params: [], type: 'Hash' }; -const getHeader: CreateItemOptions = { +const getHeader: MethodOpt = { description: 'Retrieves the header for a specific block', params: [ - param('hash', 'Hash') + createParam('hash', 'Hash') ], type: 'Header' }; -const getRuntimeVersion: CreateItemOptions = { +const getRuntimeVersion: MethodOpt = { description: ' Get the runtime version', params: [], type: 'RuntimeVersion' }; -const getRuntimeVersionAt: CreateItemOptions = { +const getRuntimeVersionAt: MethodOpt = { description: ' Get the runtime version at a specific block', params: [ - param('hash', 'Hash') + createParam('hash', 'Hash') ], type: 'RuntimeVersion' }; -const newHead: CreateItemOptions = { +const newHead: MethodOpt = { description: 'Retrieves the best header via subscription', subscribe: [ 'chain_subscribeNewHead', @@ -54,24 +53,23 @@ const newHead: CreateItemOptions = { type: 'Header' }; -const privateMethods: CreateItemOptionsMap = {}; - -const publicMethods: CreateItemOptionsMap = { +const methods: { [index: string]: MethodOpt } = { getBlock, getHead, getHeader, getRuntimeVersion, getRuntimeVersionAt, newHead }; -export type PublicMethods = typeof publicMethods; -export type PrivateMethods = typeof privateMethods; +export type Methods = typeof methods; /** * @summary Methods to retrieve chain data. */ -export default (name: Interface$Sections): Section => - createSection(name)((createMethod: CreateItems) => ({ - description: 'Retrieval of chain data', - public: Object.keys(publicMethods).reduce((result, key) => { - result[key] = createMethod(key)(publicMethods[key]); +export default { + isDeprecated: false, + isHidden: false, + description: 'Retrieval of chain data', + name: 'chain', + methods: Object.keys(methods).reduce((result, key) => { + result[key] = createMethod('chain', key, methods[key]); - return result; - }, {} as SectionItems) - })); + return result; + }, {} as SectionMethods) +} as Section; diff --git a/packages/type-jsonrpc/src/create/method.ts b/packages/type-jsonrpc/src/create/method.ts new file mode 100644 index 0000000000..72231b4516 --- /dev/null +++ b/packages/type-jsonrpc/src/create/method.ts @@ -0,0 +1,22 @@ +// Copyright 2017-2018 @polkadot/jsonrpc authors & contributors +// This software may be modified and distributed under the terms +// of the ISC license. See the LICENSE file for details. + +import { MethodOpt, Method } from '../types'; + +import isUndefined from '@polkadot/util/is/undefined'; + +export default function createMethod (section: string, name: string, { description, params, type, isDeprecated = false, isHidden = false, isSigned = false, subscribe }: MethodOpt): Method { + return { + description, + isDeprecated, + isHidden, + isSigned, + isSubscription: !isUndefined(subscribe), + name, + params, + section, + subscribe: subscribe || ['', ''], + type + }; +} diff --git a/packages/type-jsonrpc/src/create/param.ts b/packages/type-jsonrpc/src/create/param.ts new file mode 100644 index 0000000000..d2d9a858ce --- /dev/null +++ b/packages/type-jsonrpc/src/create/param.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2018 @polkadot/jsonrpc authors & contributors +// This software may be modified and distributed under the terms +// of the ISC license. See the LICENSE file for details. + +import { CodecTypes } from '@polkadot/api-codec/types'; +import { Param } from '../types'; + +type ParamOptions = { + isOptional?: boolean +}; + +export default function createParam (name: string, type: CodecTypes, { isOptional = false }: ParamOptions = { isOptional: false }): Param { + return { + isOptional, + name, + type + }; +} diff --git a/packages/type-jsonrpc/src/index.ts b/packages/type-jsonrpc/src/index.ts index 8ea408119c..f393c0bcfd 100644 --- a/packages/type-jsonrpc/src/index.ts +++ b/packages/type-jsonrpc/src/index.ts @@ -2,18 +2,16 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { Interfaces } from './types'; - import author from './author'; import chain from './chain'; import state from './state'; import system from './system'; -const interfaces: Interfaces = { - author: author('author'), - chain: chain('chain'), - state: state('state'), - system: system('system') +const interfaces = { + author, + chain, + state, + system }; export default interfaces; diff --git a/packages/type-jsonrpc/src/state.ts b/packages/type-jsonrpc/src/state.ts index fc81cf7490..080102e944 100644 --- a/packages/type-jsonrpc/src/state.ts +++ b/packages/type-jsonrpc/src/state.ts @@ -2,145 +2,125 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { CreateItems, CreateItemOptions, CreateItemOptionsMap, Section } from '@polkadot/params/types'; -import { Interfaces, Interface$Sections } from './types'; +import { MethodOpt, Section, SectionMethods } from './types'; -import param from '@polkadot/params/param'; -import createSection from '@polkadot/params/section'; +import createMethod from './create/method'; +import createParam from './create/param'; -const call: CreateItemOptions = { +const call: MethodOpt = { description: 'Perform a call to a builtin on the chain', params: [ - param('method', 'String'), - param('data', 'Bytes') + createParam('method', 'Text'), + createParam('data', 'Bytes') ], type: 'Bytes' }; -const callAt: CreateItemOptions = { +const callAt: MethodOpt = { description: 'Perform a call to a builtin on the chain (At block)', params: [ - param('method', 'String'), - param('data', 'Bytes'), - param('block', 'Hash') + createParam('method', 'Text'), + createParam('data', 'Bytes'), + createParam('block', 'Hash') ], type: 'Bytes' }; -const getMetadata: CreateItemOptions = { +const getMetadata: MethodOpt = { description: 'Returns the runtime metadata', params: [], type: 'Metadata' }; -const getMetadataAt: CreateItemOptions = { +const getMetadataAt: MethodOpt = { description: 'Returns the runtime metadata', params: [ - param('block', 'Hash') + createParam('block', 'Hash') ], type: 'Metadata' }; -const getStorage: CreateItemOptions = { +const getStorage: MethodOpt = { description: 'Retrieves the storage for a key', params: [ - param('key', 'StorageKey') + createParam('key', 'StorageKey') ], type: 'StorageData' }; -const getStorageAt: CreateItemOptions = { +const getStorageAt: MethodOpt = { description: 'Retrieves the storage for a key at a specific block', params: [ - param('key', 'Bytes'), - param('block', 'Hash') + createParam('key', 'Bytes'), + createParam('block', 'Hash') ], type: 'Bytes' }; -const getStorageHash: CreateItemOptions = { +const getStorageHash: MethodOpt = { description: 'Retrieves the storage hash', params: [ - param('key', 'Bytes') + createParam('key', 'Bytes') ], type: 'Hash' }; -const getStorageHashAt: CreateItemOptions = { +const getStorageHashAt: MethodOpt = { description: 'Retrieves the storage hash at a specific block', params: [ - param('key', 'Bytes'), - param('block', 'Hash') + createParam('key', 'Bytes'), + createParam('block', 'Hash') ], type: 'Hash' }; -const getStorageSize: CreateItemOptions = { +const getStorageSize: MethodOpt = { description: 'Retrieves the storage size', params: [ - param('key', 'Bytes') + createParam('key', 'Bytes') ], type: 'u64' }; -const getStorageSizeAt: CreateItemOptions = { +const getStorageSizeAt: MethodOpt = { description: 'Retrieves the storage size at a specific block', params: [ - param('key', 'Bytes'), - param('block', 'Hash') + createParam('key', 'Bytes'), + createParam('block', 'Hash') ], type: 'u64' }; -const storage: CreateItemOptions = { +const storage: MethodOpt = { description: 'Subscribes to storage changes for the provided keys', subscribe: [ 'state_subscribeStorage', 'state_unsubscribeStorage' ], params: [ - param('keys', 'Vec') + // @ts-ignore The Vec<> wrap is fine + createParam('keys', 'Vec') ], type: 'StorageChangeSet' }; -const privateMethods: CreateItemOptionsMap = {}; - -const publicMethods: CreateItemOptionsMap = { - call, callAt, getStorage, getStorageAt, getStorageHash, getStorageHashAt, getStorageSize, getStorageSizeAt, storage +const methods: { [index: string]: MethodOpt } = { + call, callAt, getMetadata, getMetadataAt, getStorage, getStorageAt, getStorageHash, getStorageHashAt, getStorageSize, getStorageSizeAt, storage }; -export type PrivateMethods = typeof privateMethods; -export type PublicMethods = typeof publicMethods; +export type Methods = typeof methods; /** * @summary Query the state and state storage. */ -export default (name: Interface$Sections): Section => - createSection(name)((createMethod: CreateItems) => ({ - description: 'Query of state', - public: { - call: - createMethod('call')(call), - callAt: - createMethod('callAt')(callAt), - getMetadata: - createMethod('getMetadata')(getMetadata), - getMetadataAt: - createMethod('getMetadataAt')(getMetadataAt), - getStorage: - createMethod('getStorage')(getStorage), - getStorageAt: - createMethod('getStorageAt')(getStorageAt), - getStorageHash: - createMethod('getStorageHash')(getStorageHash), - getStorageHashAt: - createMethod('getStrorageHashAt')(getStorageHashAt), - getStorageSize: - createMethod('getStorageSize')(getStorageSize), - getStorageSizeAt: - createMethod('getStorageSizeAt')(getStorageSizeAt), - storage: - createMethod('storage')(storage) - } - })); +export default { + isDeprecated: false, + isHidden: false, + description: 'Query of state', + name: 'state', + methods: Object.keys(methods).reduce((result, key) => { + result[key] = createMethod('state', key, methods[key]); + + return result; + }, {} as SectionMethods) +} as Section; diff --git a/packages/type-jsonrpc/src/system.ts b/packages/type-jsonrpc/src/system.ts index 0020ee4ad9..f7555f1c20 100644 --- a/packages/type-jsonrpc/src/system.ts +++ b/packages/type-jsonrpc/src/system.ts @@ -2,50 +2,45 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { CreateItems, CreateItemOptions, CreateItemOptionsMap, Section } from '@polkadot/params/types'; -import { Interfaces, Interface$Sections } from './types'; +import { MethodOpt, Section, SectionMethods } from './types'; -import createSection from '@polkadot/params/section'; +import createMethod from './create/method'; -const chain: CreateItemOptions = { +const chain: MethodOpt = { description: 'Retrieves the chain', params: [], - type: 'String' + type: 'Text' }; -const name: CreateItemOptions = { +const name: MethodOpt = { description: 'Retrieves the node name', params: [], - type: 'String' + type: 'Text' }; -const version: CreateItemOptions = { +const version: MethodOpt = { description: 'Retrieves the version of the node', params: [], - type: 'String' + type: 'Text' }; -const privateMethods: CreateItemOptionsMap = {}; - -const publicMethods: CreateItemOptionsMap = { +const methods: { [index: string]: MethodOpt } = { chain, name, version }; -export type PrivateMethods = typeof privateMethods; -export type PublicMethods = typeof publicMethods; +export type Methods = typeof methods; /** * @summary Methods to retrieve system info. */ -export default (sname: Interface$Sections): Section => - createSection(sname)((createMethod: CreateItems) => ({ - description: 'Methods to retrieve system info', - public: { - chain: - createMethod('chain')(chain), - name: - createMethod('name')(name), - version: - createMethod('version')(version) - } - })); +export default { + isDeprecated: false, + isHidden: false, + description: 'Methods to retrieve system info', + name: 'system', + methods: Object.keys(methods).reduce((result, key) => { + result[key] = createMethod('system', key, methods[key]); + + return result; + }, {} as SectionMethods) +} as Section; diff --git a/packages/type-jsonrpc/src/types.d.ts b/packages/type-jsonrpc/src/types.d.ts index 63d0189405..c86caf7b22 100644 --- a/packages/type-jsonrpc/src/types.d.ts +++ b/packages/type-jsonrpc/src/types.d.ts @@ -2,17 +2,46 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import { Section } from '@polkadot/params/types'; -import { PrivateMethods as AuthorPrivate, PublicMethods as AuthorPublic} from './author'; -import { PrivateMethods as ChainPrivate, PublicMethods as ChainPublic} from './chain'; -import { PrivateMethods as StatePrivate, PublicMethods as StatePublic} from './state'; -import { PrivateMethods as SystemPrivate, PublicMethods as SystemPublic} from './system'; +import { CodecTypes } from '@polkadot/api-codec/types'; -export type Interfaces = { - author: Section, - chain: Section, - state: Section, - system: Section -} +export type Param = { + isOptional: boolean, + name: string, + type: CodecTypes +}; -export type Interface$Sections = keyof Interfaces; +export type MethodOpt = { + description: string, + isDeprecated?: boolean, + isHidden?: boolean, + isSigned?: boolean, + isSubscription?: boolean, + params: Array, + subscribe?: [string, string], + type: CodecTypes +}; + +export type Method = { + description: string, + isDeprecated: boolean, + isHidden: boolean, + isSigned: boolean, + isSubscription: boolean, + name: string, + params: Array, + section: string, + subscribe: [string, string], + type: CodecTypes +}; + +export type SectionMethods = { + [key in keyof M]: Method +}; + +export type Section = { + isDeprecated: boolean, + isHidden: boolean, + description: string, + name: string, + methods: SectionMethods +}; diff --git a/packages/type-params/src/encode/type/storageKey.ts b/packages/type-params/src/encode/type/storageKey.ts index f4e055fded..4d4a253649 100644 --- a/packages/type-params/src/encode/type/storageKey.ts +++ b/packages/type-params/src/encode/type/storageKey.ts @@ -3,10 +3,9 @@ // of the ISC license. See the LICENSE file for details. import { SectionItem } from '@polkadot/params/types'; -import { Storages } from '@polkadot/storage/types'; -import createStorageKey from '@polkadot/storage/key'; +import createStorageKey from '../../key'; -export default function storageKey ([key, ...params]: [SectionItem, any]): Uint8Array { +export default function storageKey ([key, ...params]: [SectionItem, any]): Uint8Array { return createStorageKey(key).apply(null, params); } diff --git a/packages/type-storage/src/key/index.ts b/packages/type-params/src/key/index.ts similarity index 81% rename from packages/type-storage/src/key/index.ts rename to packages/type-params/src/key/index.ts index ba095fda3b..b9e68f6481 100644 --- a/packages/type-storage/src/key/index.ts +++ b/packages/type-params/src/key/index.ts @@ -3,7 +3,6 @@ // of the ISC license. See the LICENSE file for details. import { SectionItem } from '@polkadot/params/types'; -import { Storage$Key$Value } from '../types'; import u8aConcat from '@polkadot/util/u8a/concat'; import u8aFromString from '@polkadot/util/u8a/fromString'; @@ -11,12 +10,12 @@ import xxhash from '@polkadot/util-crypto/xxhash/asU8a'; import formatParams from './params'; -export type Keygen = (...keyParams: Array) => Uint8Array; +export type Keygen = (...keyParams: Array) => Uint8Array; export default function bindKey ({ isUnhashed, key, params }: SectionItem): Keygen { const prefix = u8aFromString(key); - return (...keyParams: Array): Uint8Array => { + return (...keyParams: Array): Uint8Array => { const postfix = keyParams.length !== 0 ? u8aConcat.apply(null, formatParams(params, keyParams)) : new Uint8Array([]); diff --git a/packages/type-storage/src/key/params.ts b/packages/type-params/src/key/params.ts similarity index 94% rename from packages/type-storage/src/key/params.ts rename to packages/type-params/src/key/params.ts index 30ca3b3d10..11cfb7a9db 100644 --- a/packages/type-storage/src/key/params.ts +++ b/packages/type-params/src/key/params.ts @@ -4,7 +4,6 @@ import BN from 'bn.js'; import { Param, Params } from '@polkadot/params/types'; -import { Storage$Key$Value } from '../types'; import sizes from '@polkadot/primitives/sizes'; import bnToU8a from '@polkadot/util/bn/toU8a'; @@ -12,7 +11,7 @@ import u8aToU8a from '@polkadot/util/u8a/toU8a'; import u8aFromString from '@polkadot/util/u8a/fromString'; import addressDecode from '@polkadot/util-keyring/address/decode'; -export default function formatParams (params: Params, values: Storage$Key$Value[] = []): Array { +export default function formatParams (params: Params, values: Array = []): Array { const paramTypes = Object.values(params).map(({ type }: Param) => type); return values.map((value: any, index: number): Uint8Array => { diff --git a/packages/type-storage/src/fromMetadata.spec.js b/packages/type-storage/src/fromMetadata.spec.js index af6085ec11..68b26aaef5 100644 --- a/packages/type-storage/src/fromMetadata.spec.js +++ b/packages/type-storage/src/fromMetadata.spec.js @@ -3,12 +3,12 @@ // of the ISC license. See the LICENSE file for details. import Metadata from '@polkadot/api-codec/Metadata'; -import json from '@polkadot/api-codec/Metadata.rpc.json'; +import json from '@polkadot/api-codec/Metadata.rpc'; import fromMetadata from './fromMetadata'; // Use the pre-generated metadata -const metadata = new Metadata().fromJSON(json.result); +const metadata = new Metadata().fromJSON(json); const newStorage = fromMetadata({}, metadata); describe('fromMetadata', () => { diff --git a/packages/type-storage/src/key/README.md b/packages/type-storage/src/key/README.md deleted file mode 100644 index a861f24098..0000000000 --- a/packages/type-storage/src/key/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Legacy - -This whole folder is legacy code, and only used because other packages (api-provider, api-format, type-params) use this folder. diff --git a/packages/type-storage/src/testing.ts b/packages/type-storage/src/testing.ts index ce60085a60..817de1532d 100644 --- a/packages/type-storage/src/testing.ts +++ b/packages/type-storage/src/testing.ts @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. -import metadataJson from '@polkadot/api-codec/Metadata.rpc.json'; +import metadataRpc from '@polkadot/api-codec/Metadata.rpc'; import Metadata from '@polkadot/api-codec/Metadata'; import storage from './index'; @@ -10,5 +10,5 @@ import fromMetadata from './fromMetadata'; export default fromMetadata( storage, - new Metadata().fromJSON(metadataJson.result) + new Metadata().fromJSON(metadataRpc) ); diff --git a/packages/type-storage/src/types.d.ts b/packages/type-storage/src/types.d.ts index ba76c48396..c795f1fea8 100644 --- a/packages/type-storage/src/types.d.ts +++ b/packages/type-storage/src/types.d.ts @@ -18,20 +18,3 @@ export interface Storage { [key: string]: ModuleStorage; // Will hold modules returned by state_getMetadata substrate: { [key in Substrate]: StorageFunction }; } - -// TODO Below is legacy code, used in: -// - api-provider -export type Storage$Key$Value = number | BN | Uint8Array | string; -export type Storages = { - consensus: Section; - // contract: Section, - council: Section; - councilVoting: Section; - democracy: Section; - parachains: Section; - session: Section; - staking: Section; - system: Section; - timestamp: Section; -}; -export type Storage$Sections = keyof Storages;