firew0rks 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +28 -0
  4. data/Rakefile +4 -0
  5. data/exe/firew0rks +4 -0
  6. data/lib/firew0rks/error.rb +3 -0
  7. data/lib/firew0rks/frame.rb +27 -0
  8. data/lib/firew0rks/frames/0.txt +41 -0
  9. data/lib/firew0rks/frames/1.txt +41 -0
  10. data/lib/firew0rks/frames/10.txt +41 -0
  11. data/lib/firew0rks/frames/100.txt +41 -0
  12. data/lib/firew0rks/frames/101.txt +41 -0
  13. data/lib/firew0rks/frames/102.txt +41 -0
  14. data/lib/firew0rks/frames/103.txt +41 -0
  15. data/lib/firew0rks/frames/104.txt +41 -0
  16. data/lib/firew0rks/frames/105.txt +41 -0
  17. data/lib/firew0rks/frames/106.txt +41 -0
  18. data/lib/firew0rks/frames/107.txt +41 -0
  19. data/lib/firew0rks/frames/108.txt +41 -0
  20. data/lib/firew0rks/frames/109.txt +41 -0
  21. data/lib/firew0rks/frames/11.txt +41 -0
  22. data/lib/firew0rks/frames/110.txt +41 -0
  23. data/lib/firew0rks/frames/111.txt +41 -0
  24. data/lib/firew0rks/frames/112.txt +41 -0
  25. data/lib/firew0rks/frames/113.txt +41 -0
  26. data/lib/firew0rks/frames/114.txt +41 -0
  27. data/lib/firew0rks/frames/115.txt +41 -0
  28. data/lib/firew0rks/frames/116.txt +41 -0
  29. data/lib/firew0rks/frames/117.txt +41 -0
  30. data/lib/firew0rks/frames/118.txt +41 -0
  31. data/lib/firew0rks/frames/119.txt +41 -0
  32. data/lib/firew0rks/frames/12.txt +41 -0
  33. data/lib/firew0rks/frames/120.txt +41 -0
  34. data/lib/firew0rks/frames/121.txt +41 -0
  35. data/lib/firew0rks/frames/122.txt +41 -0
  36. data/lib/firew0rks/frames/123.txt +41 -0
  37. data/lib/firew0rks/frames/124.txt +41 -0
  38. data/lib/firew0rks/frames/125.txt +41 -0
  39. data/lib/firew0rks/frames/126.txt +41 -0
  40. data/lib/firew0rks/frames/127.txt +41 -0
  41. data/lib/firew0rks/frames/128.txt +41 -0
  42. data/lib/firew0rks/frames/129.txt +41 -0
  43. data/lib/firew0rks/frames/13.txt +41 -0
  44. data/lib/firew0rks/frames/130.txt +41 -0
  45. data/lib/firew0rks/frames/131.txt +41 -0
  46. data/lib/firew0rks/frames/132.txt +41 -0
  47. data/lib/firew0rks/frames/133.txt +41 -0
  48. data/lib/firew0rks/frames/134.txt +41 -0
  49. data/lib/firew0rks/frames/135.txt +41 -0
  50. data/lib/firew0rks/frames/136.txt +41 -0
  51. data/lib/firew0rks/frames/137.txt +41 -0
  52. data/lib/firew0rks/frames/138.txt +41 -0
  53. data/lib/firew0rks/frames/139.txt +41 -0
  54. data/lib/firew0rks/frames/14.txt +41 -0
  55. data/lib/firew0rks/frames/140.txt +41 -0
  56. data/lib/firew0rks/frames/141.txt +41 -0
  57. data/lib/firew0rks/frames/142.txt +41 -0
  58. data/lib/firew0rks/frames/143.txt +41 -0
  59. data/lib/firew0rks/frames/144.txt +41 -0
  60. data/lib/firew0rks/frames/145.txt +41 -0
  61. data/lib/firew0rks/frames/146.txt +41 -0
  62. data/lib/firew0rks/frames/147.txt +41 -0
  63. data/lib/firew0rks/frames/148.txt +41 -0
  64. data/lib/firew0rks/frames/149.txt +41 -0
  65. data/lib/firew0rks/frames/15.txt +41 -0
  66. data/lib/firew0rks/frames/16.txt +41 -0
  67. data/lib/firew0rks/frames/17.txt +41 -0
  68. data/lib/firew0rks/frames/18.txt +41 -0
  69. data/lib/firew0rks/frames/19.txt +41 -0
  70. data/lib/firew0rks/frames/2.txt +41 -0
  71. data/lib/firew0rks/frames/20.txt +41 -0
  72. data/lib/firew0rks/frames/21.txt +41 -0
  73. data/lib/firew0rks/frames/22.txt +41 -0
  74. data/lib/firew0rks/frames/23.txt +41 -0
  75. data/lib/firew0rks/frames/24.txt +41 -0
  76. data/lib/firew0rks/frames/25.txt +41 -0
  77. data/lib/firew0rks/frames/26.txt +41 -0
  78. data/lib/firew0rks/frames/27.txt +41 -0
  79. data/lib/firew0rks/frames/28.txt +41 -0
  80. data/lib/firew0rks/frames/29.txt +41 -0
  81. data/lib/firew0rks/frames/3.txt +41 -0
  82. data/lib/firew0rks/frames/30.txt +41 -0
  83. data/lib/firew0rks/frames/31.txt +41 -0
  84. data/lib/firew0rks/frames/32.txt +41 -0
  85. data/lib/firew0rks/frames/33.txt +41 -0
  86. data/lib/firew0rks/frames/34.txt +41 -0
  87. data/lib/firew0rks/frames/35.txt +41 -0
  88. data/lib/firew0rks/frames/36.txt +41 -0
  89. data/lib/firew0rks/frames/37.txt +41 -0
  90. data/lib/firew0rks/frames/38.txt +41 -0
  91. data/lib/firew0rks/frames/39.txt +41 -0
  92. data/lib/firew0rks/frames/4.txt +41 -0
  93. data/lib/firew0rks/frames/40.txt +41 -0
  94. data/lib/firew0rks/frames/41.txt +41 -0
  95. data/lib/firew0rks/frames/42.txt +41 -0
  96. data/lib/firew0rks/frames/43.txt +41 -0
  97. data/lib/firew0rks/frames/44.txt +41 -0
  98. data/lib/firew0rks/frames/45.txt +41 -0
  99. data/lib/firew0rks/frames/46.txt +41 -0
  100. data/lib/firew0rks/frames/47.txt +41 -0
  101. data/lib/firew0rks/frames/48.txt +41 -0
  102. data/lib/firew0rks/frames/49.txt +41 -0
  103. data/lib/firew0rks/frames/5.txt +41 -0
  104. data/lib/firew0rks/frames/50.txt +41 -0
  105. data/lib/firew0rks/frames/51.txt +41 -0
  106. data/lib/firew0rks/frames/52.txt +41 -0
  107. data/lib/firew0rks/frames/53.txt +41 -0
  108. data/lib/firew0rks/frames/54.txt +41 -0
  109. data/lib/firew0rks/frames/55.txt +41 -0
  110. data/lib/firew0rks/frames/56.txt +41 -0
  111. data/lib/firew0rks/frames/57.txt +41 -0
  112. data/lib/firew0rks/frames/58.txt +41 -0
  113. data/lib/firew0rks/frames/59.txt +41 -0
  114. data/lib/firew0rks/frames/6.txt +41 -0
  115. data/lib/firew0rks/frames/60.txt +41 -0
  116. data/lib/firew0rks/frames/61.txt +41 -0
  117. data/lib/firew0rks/frames/62.txt +41 -0
  118. data/lib/firew0rks/frames/63.txt +41 -0
  119. data/lib/firew0rks/frames/64.txt +41 -0
  120. data/lib/firew0rks/frames/65.txt +41 -0
  121. data/lib/firew0rks/frames/66.txt +41 -0
  122. data/lib/firew0rks/frames/67.txt +41 -0
  123. data/lib/firew0rks/frames/68.txt +41 -0
  124. data/lib/firew0rks/frames/69.txt +41 -0
  125. data/lib/firew0rks/frames/7.txt +41 -0
  126. data/lib/firew0rks/frames/70.txt +41 -0
  127. data/lib/firew0rks/frames/71.txt +41 -0
  128. data/lib/firew0rks/frames/72.txt +41 -0
  129. data/lib/firew0rks/frames/73.txt +41 -0
  130. data/lib/firew0rks/frames/74.txt +41 -0
  131. data/lib/firew0rks/frames/75.txt +41 -0
  132. data/lib/firew0rks/frames/76.txt +41 -0
  133. data/lib/firew0rks/frames/77.txt +41 -0
  134. data/lib/firew0rks/frames/78.txt +41 -0
  135. data/lib/firew0rks/frames/79.txt +41 -0
  136. data/lib/firew0rks/frames/8.txt +41 -0
  137. data/lib/firew0rks/frames/80.txt +41 -0
  138. data/lib/firew0rks/frames/81.txt +41 -0
  139. data/lib/firew0rks/frames/82.txt +41 -0
  140. data/lib/firew0rks/frames/83.txt +41 -0
  141. data/lib/firew0rks/frames/84.txt +41 -0
  142. data/lib/firew0rks/frames/85.txt +41 -0
  143. data/lib/firew0rks/frames/86.txt +41 -0
  144. data/lib/firew0rks/frames/87.txt +41 -0
  145. data/lib/firew0rks/frames/88.txt +41 -0
  146. data/lib/firew0rks/frames/89.txt +41 -0
  147. data/lib/firew0rks/frames/9.txt +41 -0
  148. data/lib/firew0rks/frames/90.txt +41 -0
  149. data/lib/firew0rks/frames/91.txt +41 -0
  150. data/lib/firew0rks/frames/92.txt +41 -0
  151. data/lib/firew0rks/frames/93.txt +41 -0
  152. data/lib/firew0rks/frames/94.txt +41 -0
  153. data/lib/firew0rks/frames/95.txt +41 -0
  154. data/lib/firew0rks/frames/96.txt +41 -0
  155. data/lib/firew0rks/frames/97.txt +41 -0
  156. data/lib/firew0rks/frames/98.txt +41 -0
  157. data/lib/firew0rks/frames/99.txt +41 -0
  158. data/lib/firew0rks/version.rb +5 -0
  159. data/lib/firew0rks.rb +42 -0
  160. data/sig/firew0rks.rbs +4 -0
  161. metadata +203 -0
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                               `   `   `       `,             
6
+                                               `   `   `        !             
7
+                                               `       ``      .--            
8
+                                         `     `   `    `   .  `              
9
+          _                             ;   `  '  `     ` . -``;  `           
10
+          ',  .`    +^                  '  .'  .  `       -``  )  `       `.. 
11
+  _+_     _;  .    -              `     '  '`     `      `;` ' ' ``. .     ; -
12
+     '. ^-'!      .    _____      `               `.  -` ;!. ` '`  ;.`     - `
13
+      __  .'-     .  .;;'^`;`         .   .      -.`  )-=((\+. ` , ',`   ` -. 
14
+ ^^-_x1;;.  '=- _= .+,' .-''^-        ```   .    ;;`  ;x+xz']y__`' ''``.  ,``.
15
+    ^''''', '.-;*7[.`'.;-^=.         '-     ;   .;)_ _)ZZ9xxZZ!-*' `'   . `  `
16
+      _,_x!_,_;[;;^-;=(;+_ '         )` `  -!`  `\`7'7zxZ888806=z  ` `  ;     
17
+ (;..Z,.4''X]2;1[1[';1^^/^y..,,__ .` ' `  ;--  -'[.,yZ85990959Z57..     '.    
18
+ ` =^)/';;-75;]-7]7;;)],--).;;;^1$__.'   `);'` ;,--0z/%859088257;^y;    '`    
19
+ `_*'7;;^;[Z['7;)/;*'-*2.  '^;`''7_.^=  ..1;'` '  ;;Y[499X8yZYZ(1=`!  '   ,   
20
+ _*.='.Y/]'Z2;^;;[;{''-7])_  ^.  ''!`'=_-`'-'`    !-)-'.xZ949=+z'!'-.     '   
21
+ ;;--,'ZZ!-7[-(;!1(1[.'';['x    `',.   )!  `     .-`{-`'=5/7;x^^ ;`'-     '  `
22
+ '--/';97;)]7'];[-Z]7['-.'1)  -.   `^_ )         '- ;;` `)71!. ; ;  (        .
23
+ .'Z` Y7_!7Y*-Z;3;`^;{(`;, $\_  `_.  `**   ``    '' !!` ']-7'' ` ^ `^.       `
24
+ '    7_Z)7;('Z;(;;`')$,'^_  Y.  .^_.``^.  `     `` -,' `'`  `.  . ```     `  
25
+     `'[![!][' ;[;) .^y;,'^_  x  ; '!   ` `` `   `  '-`` '`   -   ` - ,     . 
26
+      ,y-\]Y[  )Y\'( .Z;),'.[    '  '   ` - `    ` ` '`  ,``  !     ; '       
27
+      ,y '7'*  )71'1  -[]7 '/(,  '     .  ; '   `    `   `-.  (    ,) '      ,
28
+     -' {`\)/  )7^ Y,  *'7' 1  -   `   `  '.    ,    ``  '``  ^    '' -      '
29
+    _!' 7  7[      `[  '-^   '  ^  .   `   '    ` `  ``   `        .'        '
30
+    /-  `) Z^    '  7   ),[      \    ;    '   `' ` ``.  '       `     .      
31
+   y/'   Y ``    .  7    ]^           !   '   .   . ` -  '     . `     `      
32
+  _Z7            `       7.           `   `   -     ' .   `    '              
33
+   yy            `       `,        `  `   `   ,     , `        '              
34
+           .      ,       '               '   '     ` .           ,           
35
+           _                                  '     '                         
36
+                                                               '              
37
+                                                                              
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+                                                                              
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                               `   `   `       `.             
6
+                                               `   `   `        !             
7
+                                               `        `       '-            
8
+                                         `     `   `    `   .  `              
9
+          _                             -   `  '  `     ` . `` -              
10
+          ^.  .`    +*                  `   '  .  `       -``  )  '       `.. 
11
+  _+,     _;       -                    '  `      `      `;` ' '  `.       ' `
12
+     '..^-^;      .    _____                      `.  .'`-!x'\++`  -.`     ` `
13
+      __  ''`     .  .;;'7`''         `   .      ..` '^_==z[_)_`_, ',`   ` .. 
14
+ ^--_x*;;.  ']- ._ .+,' .'''^_         `    .    -;` _2y5zx\75Z_`'=.'` .  ,``.
15
+    ^'`'''. `'.;z*[.`^.--'+.         '-     -   =*)$ _^$yyx=Z9/#y'.`'   .    `
16
+      _,_]!_,_;[''*-;);--_ ^         ;`    -,`  `('7zZxx808898875'Z- `  ;     
17
+ ;...z..Z''Z]2;1(][';]*^/^$..,,__ .` '    ---  .'[y/5Z55599995ZZ7]'     '     
18
+ ` =^)!''--Y4^\-Y]7;;)1,'-*.;;;^]Y__.'   `)-'` ;7^-5[/%555885zZ7;Y*-7_  '`    
19
+ `_*'7;;!;/]7'Y';],1`-^5.  `^,`''Y[.^=  ..1;'` '`^x;Yy89Z359y05/Y+.,  '   ,   
20
+ .^.='.y)]'5Z-];;[;{''-Y\!_  ^.  '`x '\_- '-'`    7'77Y_5Z9xy==xx;'\,     `   
21
+ ;-=','x$!-Z[';;;*(1[.'';x'[    `',.   ^(  `     .-`)-`]x5z5z47[./`'-     '  `
22
+ '-./''9y;;][-];[-${Y['-.'17  '.    ^_ )         '' ;^` '^7Y*` *`;` ;        .
23
+ .'x` 47_!]Z['Z;Z-^^;\(`;, $\_  `_.  `x]    `    '- !;``^4z7`'`^ ) `)        `
24
+ ` '  [_7)7;(`Z;(-;`')$.`'_` 7   .^_.``7`  `     `` ',' `'`` `.  . `'`        
25
+     ''[!]()/`';];) .'%;,'^_  Y  ; 'x   ` ``     `  '-`` '`   -   ` . .     . 
26
+      _7-[)Y[  )Z)'( .Y;),'.[    '  `   ` - `      ` '`  '`   ;     ; '       
27
+      ;[ '[-[  )]]`Y  -[\1 '_(,  `        ; '   `    `   `-   (    ,; `      ,
28
+     -'')'[)(  -7* 7,  Y`7! ^' '   `   `  '     ,    ``  ```  ^    '' '      `
29
+    _;' 7  ][  '`  '\  '-*   !  ^      `   '    ` `  ``   `        ''        '
30
+    (-  ^) yy    '  7   ),\      \    -    '    ' ` ``.  `       `     `      
31
+   ]('   7 ^`    .  Y    ]^       `   ;   '       ` ` '  '     . `     `      
32
+  .y]               ^    1,           `   `   -   ` ' .        '              
33
+  'y[                     !           `   `   ,     , `        `              
34
+    `      .      ,       ^               `   `       .           .           
35
+           _      -                           '     '                         
36
+           -                                                   '              
37
+                                                                              
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+                                                                              
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                                       `       `.             
6
+                                               `   `   `        !             
7
+                                                                '-            
8
+                                         `     `   `    `   `  ``             
9
+          .                             .   `  `  `     `   `` -              
10
+          ^.  .'    -x                  `   `          _  . `, ;  '           
11
+  _+,     _'       -                    '  `           ` `-^'^_x, `        ` `
12
+  '  '._^-^;      .    .__._                       `'`.'`=xx'\++  _- `     ` `
13
+      _,  ```     .  .-;'*''-             `      ..`.*7]xzx+_+7^_, 'z`   ` `` 
14
+ ^--_=*--.  `]- ._ .-,` .''`^_         `    . .  =;``Y$73$x77%Z[='=''`    .`' 
15
+    7-`'''. `'.;[Y[``^.--'+.         '`     ' ^`+*)$ _)Y7y=xZZ(X@\_'x   .    `
16
+      _,.];_,_-[''*,-+_--_ *         ;`    `'`  .(=#z#4##08559%0Z]Z=x'  ;     
17
+ ;..`x..Z^'Z)$'1({(''\4^(^$....,.    '    -`-  .Y[ZZZ25Z9999955Z7]('    `     
18
+ ` _^\!';.-Z47(^*]3;-^1,^.*.'''')1_,.'    ;-'^=;7*^5[Y9953559ZZ7;*Y-^.-''`    
19
+  _*'7-;'-(]7'$';1,]`'^%.  `^,`''77.^=  . ];' _/'^x-53557Z50998(Yx,,  '^      
20
+ .^./'.$)]'5[')--/')-`-%\;_  *.  ``= '\_- ^-`   z'7z75Y%5ZZxY=7[3-'\_         
21
+ ^.)'-']]^-5[';;;2;]\.`';[`[    `'..   ;=  '     .-';^'785$Zxx7[.x!'- +   '  `
22
+ '-'/`-59;;{[`)-\-[{2(`-.'\7` `.    '_ ;`        '' ;^.+'774%xxY`;+ ;        .
23
+ .`]` Z7);]Y['1-7'*^;1;`-, $),  `,.  `=]    `    `' *!`'*Yz7['`^^*``)        `
24
+ ` ^  [;];Y^!`3-{--'^;[.`'_^`1   .'_ ``7`  `     `` ','=,/`` `. +' `'`        
25
+     _'/^]/)(`^;\-; .'Y;,'^_  y  ` `[  `` `      `  ''  `!^   `     . `       
26
+      _[-!)][  ;1;', .7;;,'^\ '  '  -   ` - `        '`  .`   ;     ; '       
27
+      -[.'[*[  )]{`[  ^[)] ',(.           ' `   `    `   ``   ;    .- `      ,
28
+     --')`!;!  'Y]`1,  Y`[[ \^ '   `   `  `     .    `   ` `  ^    '' '       
29
+    .;' [ `]/  '-` '\  '-Y`  [  )          '    ` `  ``            `'        '
30
+    !-  () 7[    '  ]   ;,\      \    -    '    ` ` ```          `     `      
31
+   ]!'   ] y'    .  Y.   \-      `-   ;   `       `   `  .     . `     `      
32
+  .7{    ^          *    ],           `   `   `   ` ` .        '              
33
+  *7[                     [               '   .     , `        `              
34
+   ^'      .      ,       $                   '     ` `           .           
35
+           .      [                           .     .                         
36
+           )                                  `                `              
37
+                                                                              
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+                                                                              
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                                       `       `.             
6
+                                               `   `   `        ,             
7
+                                                                '`            
8
+                                               `   `    `   `  ``             
9
+          .                             .      `            `. -              
10
+          ^.  .'    -x                  `   `          _  .';; x..`           
11
+  _+,     _`       -                    `  `       .'  ` +/^`^_], `        ` `
12
+  ^  '..^-*-      .    ._.._                      `./`*]'=x='\x[+ _^ `     ` `
13
+      _,  ```        .'''Y,'[                    `.-=y7]4xx=__\Z_, '=-'  ` `  
14
+ ^'-_=^-'.  `). ._ .-,` .''`'_              =- .=+;` Y$7Zy[]759[=[=```    . ' 
15
+   .7^`''`. `^.-[Y(``*.--'+. '       '`     ` ^ -*)Y _^]77=xZ2;399_x='. .    `
16
+      ,..);_.,-(^'*,-+_--_ Y         ;`    `'   _445399#X08559588]Zxx=* -     
17
+ ;..`]..z^`[)]'1()/'')3'(^x......    '    .`- =^77Z2ZZZZ99999yZZ^]_'``  `     
18
+ ` _^\;'^.-yZY()1]2,')[,*.7.'''')]_..`    ;=x^=;*7^Z]X99yZZZ#9Y^;77*9.'''+    
19
+  _^'[--'.!]Y'[';1,)`'^2.  `),`''*y.^=    \-,._+'^=;ZZ5y7Z98550/*x_,  `'`-.   
20
+ .^.+'.[;]'Z[`]--/')!`-5(;,  *.  ''= '*_` -''` +z'750552ZZy77{7%$[^1_         
21
+ *.;'-']]^-5y`;';2;)(.`';[`\    `'.,   ;=  `  ^  .**]7^55Z$Zxx7\_y,'. ^   `  `
22
+ '`^!`-35-;1/`)-(^])2(`..^\7'  .    '_ ;'        `' ;^.x4Z7Z3x=7`;]';   ^    .
23
+ .`]` $7);]][`[-1`Z^;*,`-. x;,  ',.  `\)    `    `' =;=.*Yx424**\* ./        `
24
+ ` ^  7!];Z*!`3-*'-'!;].`',^`^   .'_  `Y   `     ``=!,`==+`'y`  *^``'`        
25
+     _'/y{!)!`Y-)-; .'Y'.`^_  $  ` `[  '` `      `  ''.+`;^   ` .=  ` `       
26
+     '-[.!;](  ;];', .1;;,'^\ ', '  ^   ` - `        '`''\=   -     - `       
27
+      ^[-'(*[  ;Y)`[  ^[)\ ',(.     `     ` `   `    `   ``   ;    .- `      .
28
+     -^')`!;\  ']] 1,  *`][ )Y '   `   `  `     `    `   ` `  '    '' '       
29
+    .;' /.')(  '^' -(  '-Y^  (  )          `    `    ``       `     `        `
30
+    !-  !) [[    '  ]   ;.(  ^   \    .    '      `  ``          `     `      
31
+   ];'   { Z!    .  ].   )'       (   ;   `           `  `             `      
32
+  .[)    *          7    ),'          `   `   `   ` ` .        '              
33
+  x[/                     [               `   `     ` `        `              
34
+  -x,      .      ,       7                   `                   .           
35
+           .      (       '                   `     `                         
36
+           )      '                                            `              
37
+           '                                                                  
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+