@lodestar/types 1.51.0-dev.e521668760 → 1.51.0-dev.e91a5043ed

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 (41) hide show
  1. package/lib/bellatrix/sszTypes.d.ts +7 -7
  2. package/lib/bellatrix/sszTypes.d.ts.map +1 -1
  3. package/lib/bellatrix/sszTypes.js +2 -2
  4. package/lib/bellatrix/sszTypes.js.map +1 -1
  5. package/lib/capella/sszTypes.d.ts +5 -5
  6. package/lib/deneb/sszTypes.d.ts +8 -8
  7. package/lib/eip8025/index.d.ts +5 -0
  8. package/lib/eip8025/index.d.ts.map +1 -0
  9. package/lib/eip8025/index.js +5 -0
  10. package/lib/eip8025/index.js.map +1 -0
  11. package/lib/eip8025/sszTypes.d.ts +34 -0
  12. package/lib/eip8025/sszTypes.d.ts.map +1 -0
  13. package/lib/eip8025/sszTypes.js +28 -0
  14. package/lib/eip8025/sszTypes.js.map +1 -0
  15. package/lib/eip8025/types.d.ts +9 -0
  16. package/lib/eip8025/types.d.ts.map +1 -0
  17. package/lib/eip8025/types.js +2 -0
  18. package/lib/eip8025/types.js.map +1 -0
  19. package/lib/electra/sszTypes.d.ts +7 -7
  20. package/lib/fulu/sszTypes.d.ts +5 -5
  21. package/lib/gloas/sszTypes.d.ts +8 -8
  22. package/lib/gloas/sszTypes.d.ts.map +1 -1
  23. package/lib/gloas/sszTypes.js +2 -2
  24. package/lib/gloas/sszTypes.js.map +1 -1
  25. package/lib/heze/sszTypes.d.ts +5 -5
  26. package/lib/sszTypes.d.ts +124 -122
  27. package/lib/sszTypes.d.ts.map +1 -1
  28. package/lib/sszTypes.js +2 -0
  29. package/lib/sszTypes.js.map +1 -1
  30. package/lib/types.d.ts +1 -0
  31. package/lib/types.d.ts.map +1 -1
  32. package/lib/types.js +1 -0
  33. package/lib/types.js.map +1 -1
  34. package/package.json +4 -4
  35. package/src/bellatrix/sszTypes.ts +2 -2
  36. package/src/eip8025/index.ts +5 -0
  37. package/src/eip8025/sszTypes.ts +46 -0
  38. package/src/eip8025/types.ts +9 -0
  39. package/src/gloas/sszTypes.ts +2 -1
  40. package/src/sszTypes.ts +2 -0
  41. package/src/types.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAW1C,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AACzD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAE/C;;GAEG;AAGH,KAAK,mBAAmB,CAAC,gBAAgB,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CACnF,OAAO,CAAC,gBAAgB,CAAC,EACzB,aAAa,CAAC,gBAAgB,CAAC,EAC/B,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAC;AAEF,KAAK,cAAc,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG;SAC9B,CAAC,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjE;CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAGzG;KAAE,EAAE,IAAI,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAAC,GAG7E,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAC7F,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,CAAC,GACX,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQnB"}
1
+ {"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAK1C,OAAO,EAAC,GAAG,IAAI,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAOrD,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AACzD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,OAAO,mBAAa,CAAC;AAElC;;GAEG;AAGH,KAAK,mBAAmB,CAAC,gBAAgB,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CACnF,OAAO,CAAC,gBAAgB,CAAC,EACzB,aAAa,CAAC,gBAAgB,CAAC,EAC/B,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAC;AAEF,KAAK,cAAc,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG;SAC9B,CAAC,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjE;CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAGzG;KAAE,EAAE,IAAI,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAAC,GAG7E,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAC7F,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,CAAC,GACX,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQnB"}
package/lib/sszTypes.js CHANGED
@@ -3,6 +3,7 @@ import { ssz as altairSsz } from "./altair/index.js";
3
3
  import { ssz as bellatrixSsz } from "./bellatrix/index.js";
4
4
  import { ssz as capellaSsz } from "./capella/index.js";
5
5
  import { ssz as denebSsz } from "./deneb/index.js";
6
+ import { ssz as eip8025Ssz } from "./eip8025/index.js";
6
7
  import { ssz as electraSsz } from "./electra/index.js";
7
8
  import { ssz as fuluSsz } from "./fulu/index.js";
8
9
  import { ssz as gloasSsz } from "./gloas/index.js";
@@ -54,6 +55,7 @@ export const electra = typesByFork[ForkName.electra];
54
55
  export const fulu = typesByFork[ForkName.fulu];
55
56
  export const gloas = typesByFork[ForkName.gloas];
56
57
  export const heze = typesByFork[ForkName.heze];
58
+ export const eip8025 = eip8025Ssz;
57
59
  export function sszTypesFor(fork, typeName) {
58
60
  const sszTypes = typesByFork[fork];
59
61
  if (sszTypes === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -13,6 +13,7 @@ export { ts as altair } from "./altair/index.js";
13
13
  export { ts as bellatrix } from "./bellatrix/index.js";
14
14
  export { ts as capella } from "./capella/index.js";
15
15
  export { ts as deneb } from "./deneb/index.js";
16
+ export { ts as eip8025 } from "./eip8025/index.js";
16
17
  export { ts as electra } from "./electra/index.js";
17
18
  export { ts as fulu } from "./fulu/index.js";
18
19
  export { ts as gloas } from "./gloas/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js CHANGED
@@ -3,6 +3,7 @@ export { ts as altair } from "./altair/index.js";
3
3
  export { ts as bellatrix } from "./bellatrix/index.js";
4
4
  export { ts as capella } from "./capella/index.js";
5
5
  export { ts as deneb } from "./deneb/index.js";
6
+ export { ts as eip8025 } from "./eip8025/index.js";
6
7
  export { ts as electra } from "./electra/index.js";
7
8
  export { ts as fulu } from "./fulu/index.js";
8
9
  export { ts as gloas } from "./gloas/index.js";
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,GAOT,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,EAAE,IAAI,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AAKrC,0DAA0D;AAC1D,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;AACnB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,GAOT,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,EAAE,IAAI,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AAKrC,0DAA0D;AAC1D,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;AACnB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.51.0-dev.e521668760",
14
+ "version": "1.51.0-dev.e91a5043ed",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -81,8 +81,8 @@
81
81
  },
82
82
  "types": "lib/index.d.ts",
83
83
  "dependencies": {
84
- "@chainsafe/ssz": "^1.8.1",
85
- "@lodestar/params": "^1.51.0-dev.e521668760",
84
+ "@chainsafe/ssz": "^1.9.0",
85
+ "@lodestar/params": "^1.51.0-dev.e91a5043ed",
86
86
  "ethereum-cryptography": "^2.0.0"
87
87
  },
88
88
  "keywords": [
@@ -91,5 +91,5 @@
91
91
  "beacon",
92
92
  "blockchain"
93
93
  ],
94
- "gitHead": "d48a92bcb7e282f0ce8224482457fd24c56fab4e"
94
+ "gitHead": "6cafcfee0679abdf3054e9a49874c974cd8933a3"
95
95
  }
@@ -1,4 +1,4 @@
1
- import {ByteListType, ByteVectorType, ContainerType, ListCompositeType} from "@chainsafe/ssz";
1
+ import {ByteListType, ByteVectorType, ContainerType, ListCompositeType, SerializedListType} from "@chainsafe/ssz";
2
2
  import {
3
3
  BYTES_PER_LOGS_BLOOM,
4
4
  HISTORICAL_ROOTS_LIMIT,
@@ -35,7 +35,7 @@ export const Transaction = new ByteListType(MAX_BYTES_PER_TRANSACTION);
35
35
  *
36
36
  * Spec v1.0.1
37
37
  */
38
- export const Transactions = new ListCompositeType(Transaction, MAX_TRANSACTIONS_PER_PAYLOAD);
38
+ export const Transactions = new SerializedListType(Transaction, MAX_TRANSACTIONS_PER_PAYLOAD);
39
39
 
40
40
  export const CommonExecutionPayloadType = new ContainerType({
41
41
  parentHash: Root,
@@ -0,0 +1,5 @@
1
+ export * from "./types.js";
2
+
3
+ import * as ssz from "./sszTypes.js";
4
+ import * as ts from "./types.js";
5
+ export {ts, ssz};
@@ -0,0 +1,46 @@
1
+ import {ByteListType, ContainerType, ProgressiveContainerType} from "@chainsafe/ssz";
2
+ import {MAX_PROOF_SIZE} from "@lodestar/params";
3
+ import * as primitiveSsz from "../primitive/sszTypes.js";
4
+
5
+ const {BLSSignature, Root, Uint8, Uint16, UintBn64, ValidatorIndex} = primitiveSsz;
6
+
7
+ export const ProofData = new ByteListType(MAX_PROOF_SIZE, {typeName: "ProofData"});
8
+ export const ProofType = Uint8;
9
+
10
+ export const PublicInput = new ProgressiveContainerType(
11
+ {
12
+ newPayloadRequestRoot: Root,
13
+ successfulValidation: primitiveSsz.Boolean,
14
+ chainId: UintBn64,
15
+ schemaId: Uint16,
16
+ },
17
+ [true, true, true, true],
18
+ {typeName: "PublicInput", jsonCase: "eth2"}
19
+ );
20
+
21
+ export const ExecutionProof = new ContainerType(
22
+ {
23
+ proofData: ProofData,
24
+ proofType: ProofType,
25
+ publicInput: PublicInput,
26
+ },
27
+ {typeName: "ExecutionProof", jsonCase: "eth2"}
28
+ );
29
+
30
+ export const ExecutionProofEnvelope = new ContainerType(
31
+ {
32
+ proofData: ProofData,
33
+ proofType: ProofType,
34
+ beaconBlockRoot: Root,
35
+ },
36
+ {typeName: "ExecutionProofEnvelope", jsonCase: "eth2"}
37
+ );
38
+
39
+ export const SignedExecutionProofEnvelope = new ContainerType(
40
+ {
41
+ message: ExecutionProofEnvelope,
42
+ validatorIndex: ValidatorIndex,
43
+ signature: BLSSignature,
44
+ },
45
+ {typeName: "SignedExecutionProofEnvelope", jsonCase: "eth2"}
46
+ );
@@ -0,0 +1,9 @@
1
+ import {ValueOf} from "@chainsafe/ssz";
2
+ import * as ssz from "./sszTypes.js";
3
+
4
+ export type ProofData = ValueOf<typeof ssz.ProofData>;
5
+ export type ProofType = ValueOf<typeof ssz.ProofType>;
6
+ export type PublicInput = ValueOf<typeof ssz.PublicInput>;
7
+ export type ExecutionProof = ValueOf<typeof ssz.ExecutionProof>;
8
+ export type ExecutionProofEnvelope = ValueOf<typeof ssz.ExecutionProofEnvelope>;
9
+ export type SignedExecutionProofEnvelope = ValueOf<typeof ssz.SignedExecutionProofEnvelope>;
@@ -9,6 +9,7 @@ import {
9
9
  ProgressiveContainerType,
10
10
  ProgressiveListBasicType,
11
11
  ProgressiveListCompositeType,
12
+ ProgressiveSerializedListType,
12
13
  VectorBasicType,
13
14
  VectorCompositeType,
14
15
  } from "@chainsafe/ssz";
@@ -96,7 +97,7 @@ export const AttestingIndices = new ProgressiveListBasicType(ValidatorIndex, {
96
97
  limit: MAX_VALIDATORS_PER_COMMITTEE * MAX_COMMITTEES_PER_SLOT,
97
98
  });
98
99
  export const Transaction = new ProgressiveByteListType({typeName: "Transaction", limit: MAX_BYTES_PER_TRANSACTION});
99
- export const Transactions = new ProgressiveListCompositeType(Transaction, {
100
+ export const Transactions = new ProgressiveSerializedListType(Transaction, {
100
101
  typeName: "Transactions",
101
102
  limit: MAX_TRANSACTIONS_PER_PAYLOAD,
102
103
  });
package/src/sszTypes.ts CHANGED
@@ -4,6 +4,7 @@ import {ssz as altairSsz} from "./altair/index.js";
4
4
  import {ssz as bellatrixSsz} from "./bellatrix/index.js";
5
5
  import {ssz as capellaSsz} from "./capella/index.js";
6
6
  import {ssz as denebSsz} from "./deneb/index.js";
7
+ import {ssz as eip8025Ssz} from "./eip8025/index.js";
7
8
  import {ssz as electraSsz} from "./electra/index.js";
8
9
  import {ssz as fuluSsz} from "./fulu/index.js";
9
10
  import {ssz as gloasSsz} from "./gloas/index.js";
@@ -59,6 +60,7 @@ export const electra = typesByFork[ForkName.electra];
59
60
  export const fulu = typesByFork[ForkName.fulu];
60
61
  export const gloas = typesByFork[ForkName.gloas];
61
62
  export const heze = typesByFork[ForkName.heze];
63
+ export const eip8025 = eip8025Ssz;
62
64
 
63
65
  /**
64
66
  * A type of union of forks must accept as any parameter the UNION of all fork types.
package/src/types.ts CHANGED
@@ -23,6 +23,7 @@ export {ts as altair} from "./altair/index.js";
23
23
  export {ts as bellatrix} from "./bellatrix/index.js";
24
24
  export {ts as capella} from "./capella/index.js";
25
25
  export {ts as deneb} from "./deneb/index.js";
26
+ export {ts as eip8025} from "./eip8025/index.js";
26
27
  export {ts as electra} from "./electra/index.js";
27
28
  export {ts as fulu} from "./fulu/index.js";
28
29
  export {ts as gloas} from "./gloas/index.js";