ogcopenapis 0.0.11 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +310 -72
  3. package/lib/OgcOpenApiCrsTools.d.ts +10 -9
  4. package/lib/OgcOpenApiCrsTools.d.ts.map +1 -0
  5. package/lib/OgcOpenApiCrsTools.js +40 -39
  6. package/lib/OgcOpenApiCrsTools.js.map +1 -0
  7. package/lib/OgcOpenApiFeatureStore.d.ts +94 -93
  8. package/lib/OgcOpenApiFeatureStore.d.ts.map +1 -0
  9. package/lib/OgcOpenApiFeatureStore.js +200 -240
  10. package/lib/OgcOpenApiFeatureStore.js.map +1 -0
  11. package/lib/OgcOpenApiFetchTools.d.ts +37 -29
  12. package/lib/OgcOpenApiFetchTools.d.ts.map +1 -0
  13. package/lib/OgcOpenApiFetchTools.js +68 -48
  14. package/lib/OgcOpenApiFetchTools.js.map +1 -0
  15. package/lib/OgcOpenApiGetCapabilities.d.ts +209 -112
  16. package/lib/OgcOpenApiGetCapabilities.d.ts.map +1 -0
  17. package/lib/OgcOpenApiGetCapabilities.js +424 -277
  18. package/lib/OgcOpenApiGetCapabilities.js.map +1 -0
  19. package/lib/OgcOpenApiMapsModel.d.ts +41 -36
  20. package/lib/OgcOpenApiMapsModel.d.ts.map +1 -0
  21. package/lib/OgcOpenApiMapsModel.js +88 -75
  22. package/lib/OgcOpenApiMapsModel.js.map +1 -0
  23. package/lib/OgcOpenApiMvtTools.d.ts +12 -0
  24. package/lib/OgcOpenApiMvtTools.d.ts.map +1 -0
  25. package/lib/OgcOpenApiMvtTools.js +100 -0
  26. package/lib/OgcOpenApiMvtTools.js.map +1 -0
  27. package/lib/OgcOpenApiStyleTools.d.ts +51 -0
  28. package/lib/OgcOpenApiStyleTools.d.ts.map +1 -0
  29. package/lib/OgcOpenApiStyleTools.js +155 -0
  30. package/lib/OgcOpenApiStyleTools.js.map +1 -0
  31. package/lib/OgcOpenApiTileMatrixTools.d.ts +41 -0
  32. package/lib/OgcOpenApiTileMatrixTools.d.ts.map +1 -0
  33. package/lib/OgcOpenApiTileMatrixTools.js +88 -0
  34. package/lib/OgcOpenApiTileMatrixTools.js.map +1 -0
  35. package/lib/OgcOpenApiTilesModel.d.ts +56 -31
  36. package/lib/OgcOpenApiTilesModel.d.ts.map +1 -0
  37. package/lib/OgcOpenApiTilesModel.js +167 -128
  38. package/lib/OgcOpenApiTilesModel.js.map +1 -0
  39. package/lib/OgcOpenApiVectorTilesModel.d.ts +39 -0
  40. package/lib/OgcOpenApiVectorTilesModel.d.ts.map +1 -0
  41. package/lib/OgcOpenApiVectorTilesModel.js +122 -0
  42. package/lib/OgcOpenApiVectorTilesModel.js.map +1 -0
  43. package/lib/OgcOpenApiWmtsTools.d.ts +30 -0
  44. package/lib/OgcOpenApiWmtsTools.d.ts.map +1 -0
  45. package/lib/OgcOpenApiWmtsTools.js +89 -0
  46. package/lib/OgcOpenApiWmtsTools.js.map +1 -0
  47. package/package.json +68 -39
  48. package/src/OgcOpenApiCrsTools.ts +40 -0
  49. package/src/OgcOpenApiFeatureStore.ts +296 -0
  50. package/src/OgcOpenApiFetchTools.ts +84 -0
  51. package/src/OgcOpenApiGetCapabilities.ts +641 -0
  52. package/src/OgcOpenApiMapsModel.ts +128 -0
  53. package/src/OgcOpenApiMvtTools.ts +104 -0
  54. package/src/OgcOpenApiStyleTools.ts +187 -0
  55. package/src/OgcOpenApiTileMatrixTools.ts +111 -0
  56. package/src/OgcOpenApiTilesModel.ts +214 -0
  57. package/src/OgcOpenApiVectorTilesModel.ts +141 -0
  58. package/src/OgcOpenApiWmtsTools.ts +114 -0
  59. package/lib/OgcOpenApiGetCollectionTiles.d.ts +0 -7
  60. package/lib/OgcOpenApiGetCollectionTiles.js +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiGetCapabilities.js","sourceRoot":"","sources":["../src/OgcOpenApiGetCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AACxF,MAAM,2BAA2B,GAAG,IAAI,CAAC;AA0HzC,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,iDAA2B,CAAA;AAC7B,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,MAAM,8BAA8B,GAAG;IACrC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC7C,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,+CAA+C,EAAE,QAAQ,CAAC;IACxF,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,4CAA4C,EAAE,KAAK,CAAC;IAC/E,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,qDAAqD,EAAE,cAAc,CAAC;IACnG,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,wDAAwD,EAAE,iBAAiB,CAAC;CAChH,CAAA;AAED,8IAA8I;AAC9I,MAAM,OAAO,GAAG,yCAAyC,CAAC;AAC1D,MAAM,KAAK,GAAG,CAAC,IAAc,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;AAE9F,MAAM,+BAA+B,GAAG;IACtC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,WAAW;IACrC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW;IACvC,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,oCAAoC;CACvE,CAAA;AAwBD,MAAM,OAAO,yBAAyB;IAE7B,MAAM,CAAC,OAAO,CAAC,YAAoB,EAAE,cAAiD;QAC3F,MAAM,OAAO,GAAqC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,OAAO,IAAI,OAAO,CAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnE,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAEpH,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE;gBACrC,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;gBAC1D,OAAO,EAAE,OAAO,CAAA,CAAC,CAAC,OAAO,CAAC,cAAc,CAAA,CAAC,CAAC,EAAE;aAC7C,EAAE,aAAa,CAAC,CAAC,IAAI,CACpB,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;wBAClC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;4BACtB,MAAM,CAAC,+CAA+C,CAAC,CAAA;4BACvD,OAAO;wBACT,CAAC;wBACD,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CACpC,CAAC,IAAqD,EAAE,EAAE,CACxD,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAC1D,CAAC;wBACF,IAAI,CAAC,UAAU,EAAG,CAAC;4BACjB,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAE,CAAC;wBACrE,CAAC;wBACD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CACrC,CAAC,IAAqD,EAAE,EAAE;4BACxD,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,KAAK,cAAc,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;gCACvD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CACvC,CAAC;wBACJ,CAAC,CACF,CAAC;wBACF,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;wBACvF,MAAM,oBAAoB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACxI,iGAAiG;wBACjG,MAAM,WAAW,GAAG,CAAC,IAAqD,EAAE,WAAmB,EAAE,EAAE,CAC/F,CAAC,EAAC,GAAG,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,EAAC,CAAC,CAAC;wBAC9F,MAAM,YAAY,GAAG,EAAE,CAAC;wBACxB,IAAI,UAAU,EAAE,CAAC;4BACf,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;4BAC5D,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,sBAAsB,CACvE,eAAe,EACf,EAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAC,EAC1E,aAAa,CAChB,CAAC;4BACF,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;4BACtC,IAAI,SAAS,EAAE,CAAC;gCACd,MAAM,UAAU,GAAG,yBAAyB,CAAC,sBAAsB,CAC/D,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,EAClC,EAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAC,EAC1E,aAAa,CAChB,CAAC;gCACF,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BAChC,CAAC;4BACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,SAAc,EAAE,EAAE;gCAChD,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gCACtC,MAAM,eAAe,GACnB,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCACnD,MAAM,QAAQ,GAAG,OAAO,gBAAgB,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAClG,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAC1D,OAAO,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAAC;oCAC5C,yBAAyB,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACzH;qCACI,GAAG,CACN,CAAC,UAAe,EAAE,EAAE;oCAClB,MAAM,IAAI,GACR,OAAO,UAAU,CAAC,EAAE,KAAK,WAAW;wCAClC,CAAC,CAAC,UAAU,CAAC,EAAE;wCACf,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,MAAM,mBAAmB,GAAG,EAAS,CAAC;oCACtC,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,WAAW;wCAAE,mBAAmB,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;oCACpF,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,WAAW;wCAAE,mBAAmB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;oCACzG,MAAM,KAAK,GAAqC;wCAC9C,WAAW,EAAE,UAAU,CAAC,WAAW;wCACnC,EAAE,EAAE,IAAI;wCACR,IAAI;wCACJ,KAAK,EAAE,UAAU,CAAC,KAAK;wCACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;4CAC3B,CAAC,CAAC,UAAU,CAAC,QAAQ;4CACrB,CAAC,CAAC,EAAE;wCACN,gBAAgB,EAAE,QAAQ;wCAC1B,KAAK,EAAE,UAAU,CAAC,KAAK;wCACvB,aAAa,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;4CAChD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;4CAC1H,CAAC;gDACD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;wCAE7D,MAAM,EAAE,UAAU,CAAC,MAAM;wCACzB,GAAG,mBAAmB;qCACvB,CAAC;oCACF,OAAO,KAAK,CAAC;gCACf,CAAC,CACF,CAAC;gCACF,6BAA6B;gCAC7B,MAAM,CAAC,GAAiC;oCACtC,IAAI,EAAE,EAAE;oCACR,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAA,EAAE,CAAA,CAAC,EAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC;oCAChJ,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oCACvD,OAAO,EAAE,EAAE;oCACX,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oCACjD,GAAG,QAAQ;oCACX,aAAa,EAAE,aAAa;oCAC5B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;oCAC5D,OAAO;oCACP,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iCACzG,CAAC;gCACF,OAAO,CAAC,CAAC,CAAC,CAAC;4BACb,CAAC,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,mEAAmE,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC,EAAE,GAAE,EAAE;wBACL,MAAM,CAAC,UAAU,CAAC,CAAA;oBACpB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,IAAqD,EAAE,OAA+D,EAAE,aAAkC;QAC9L,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAA,CAAC,CAAA,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,EAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAClK,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,EACD,GAAG,EAAE;gBACH,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,qBAAqB,CAC1B,KAAwD,EACxD,QAA4B;QAE5B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,kBAAkB,CAAC,KAAK,CAAC;YAC9B,KAAK,kBAAkB,CAAC,GAAG,CAAC;YAC5B,KAAK,kBAAkB,CAAC,MAAM,CAAC;YAC/B,KAAK,kBAAkB,CAAC,KAAK,CAAC;YAC9B,KAAK,kBAAkB,CAAC,WAAW;gBACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,KAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrG;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,WAAW,CACvB,YAA8C,EAC9C,cAAsB;QAEtB,MAAM,QAAQ,GAAG,yBAAyB,CAAC,qBAAqB,CAC9D,YAAY,CAAC,KAAK,EAClB,kBAAkB,CAAC,KAAK,CACzB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,IAAqD;QACnF,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,8BAA8B,EAAE,CAAC;YACjD,IAAI,8BAA8B,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,8BAA8B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,KAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpH,IAAI,+BAA+B,CAAC,GAAG,CAAC;oBAAE,OAAO,+BAA+B,CAAC,GAAG,CAAC,CAAC;gBACtF,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAiD,EAAE,OAAgE;QACzJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAC5G,OAAO,CAAC,EAAE,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,EACxC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,OAAO,EAAE,SAAwB,EAAE,KAAK,EAAC,CAAC,CACxD,CAAC,CAAC,CAAC;QACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM;YAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAAC,aAA0B;QACvE,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE5C,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9B,sCAAsC;YACtC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;YAEpD,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,2BAA2B,CAAC;YAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,WAAW,EAAE,CAAC;gBAC/F,OAAO,KAAK,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,OAAO,KAAK,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;gBAC7F,OAAO,KAAK,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,OAAO,OAAO,CAAC,oBAAoB,KAAG,WAAW,EAAE,CAAC;gBACtD,OAAO,KAAK,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;gBACnI,OAAO,KAAK,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAiD,EAAE,OAAgE;QACpJ,IAAI,YAAY,KAAK,IAAI;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACtH,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAC,CAAC;QACrF,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QACzG,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG;YACN,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;SAC9E,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kHAAkH;IAC1G,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,YAA0C,EAAE,IAAY,EAAE,OAAkE;QACzJ,IAAI,MAAgB,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC9C,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;gBAC1D,OAAO,EAAE,EAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC;aAClG,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAC,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAC,CAAC;QAC9F,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,kGAAkG;IAC1F,MAAM,CAAC,mBAAmB,CAAC,YAA0C,EAAE,KAAiB,EAAE,WAAmB;QACnH,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QAChE,OAAO,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChI,CAAC;IAEM,MAAM,CAAC,YAAY,CACtB,YAAiD,EACjD,iBAAmD,EACnD,YAAoB,EACpB,OAAkE,EAClE,WAA+B,kBAAkB,CAAC,KAAK;QAEzD,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtI,CAAC;IAED,kFAAkF;IAC1E,MAAM,CAAC,eAAe,CAAC,UAA4C,EAAE,QAA4B;QACvG,MAAM,SAAS,GAAG,yBAAyB,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,4GAA4G;IACpG,MAAM,CAAC,sBAAsB,CAAC,YAA0C,EAAE,QAA4B;QAC5G,MAAM,SAAS,GAAG,yBAAyB,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1H,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;QAChI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,YAAiD,EAAE,QAA4B;QAC9G,OAAO,YAAY,KAAK,IAAI,IAAI,yBAAyB,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAClH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,uBAAuB,CACvC,YAAiD,EACjD,UAA4C,EAC5C,WAA+B,kBAAkB,CAAC,KAAK,EACvD,OAAkE;QAEpE,IAAI,YAAY,KAAK,IAAI;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,yBAAyB,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7E,IAAI,IAAI,KAAK,EAAE;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,GAAG,UAAU,CAAC,EAAE,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,EAAC,CAAC;QAC/G,OAAO,yBAAyB,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CACpC,YAAiD,EACjD,WAA+B,kBAAkB,CAAC,KAAK,EACvD,OAAkE;QAEpE,IAAI,YAAY,KAAK,IAAI;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,yBAAyB,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACtF,IAAI,IAAI,KAAK,EAAE;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ,GAAG,OAAO,EAAC,CAAC;QAC1F,OAAO,yBAAyB,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,YAA0C,EAAE,IAAY,EAAE,OAAkE;QAChK,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAC,CAAC;QAC5F,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,KAAK,GAAe,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC9D,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC;gBAClF,gBAAgB,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;gBAC1F,aAAa,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,kBAAkB,CAAC,OAA8B,EAAE,cAA6B;QAC5F,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3F,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClJ,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe;YAClC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnG,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,sGAAsG;IAC9F,MAAM,CAAC,OAAO,CAAC,CAAqB,EAAE,CAAqB;QACjE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;aAC3D,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAC3C,YAAiD,EACjD,OAA8B,EAC9B,cAA6B,EAC7B,OAAkE;QAEpE,IAAI,YAAY,KAAK,IAAI;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,aAAa;YAAE,OAAO,OAAO,CAAC,aAAa,CAAC;QACxD,IAAI,UAAU,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACvF,UAAU,GAAG,EAAC,GAAG,OAAO,EAAE,GAAG,MAAM,yBAAyB,CAAC,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAC,CAAC;YACxH,IAAI,UAAU,CAAC,aAAa;gBAAE,OAAO,UAAU,CAAC,aAAa,CAAC;QAChE,CAAC;QACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACvF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,GAAG,CAAC,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAC,CAAC;QAC7G,CAAC;QACD,OAAO,yBAAyB,CAAC,YAAY,CAAC,YAAY,EAAE,EAAC,EAAE,EAAE,UAAU,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAC,CAAC,EAAC,EAAE,OAAO,CAAC,CAAC;IACpN,CAAC;IAED,8FAA8F;IACtF,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAA0C,EAAE,IAAY,EAAE,OAAkE;QACpK,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpF,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,gBAAsC;YAC7D,eAAe,EAAE,IAAI,CAAC,eAAqC;YAC3D,gBAAgB,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC;YACjH,aAAa,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,IAAI,CAAC;SACtE,CAAC;IACJ,CAAC;IAED,oFAAoF;IAC5E,MAAM,CAAC,sBAAsB,CAAC,OAAY;QAChD,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,OAAO,aAAa,IAAI,OAAO,aAAa,CAAC,EAAE,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/H,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACtC,YAAiD;IACjD,oCAAoC;IACpC,iBAA0D;IAC1D,mGAAmG;IACnG,UAA0C,EAC1C,OAAkE,EAClE,WAA+B,kBAAkB,CAAC,KAAK;QAEzD,IAAI,YAAY,KAAK,IAAI;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC;YACpC,yBAAyB,CAAC,eAAe,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxE,yBAAyB,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAChI,0DAA0D;QAC1D,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC;QAChE,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACtC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SACxJ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,YAAY,CAC5B,YAAiD,EACjD,OAAoB,EACpB,OAAkE;QAEpE,IAAI,YAAY,KAAK,IAAI;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChI,IAAI,CAAC,QAAQ;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,EAAE,GAAG,cAAc,EAAC,CAAC;QAC9F,MAAM,IAAI,GAAgB,MAAM,yBAAyB,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1G,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAC,CAAC;QAChI,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,36 +1,41 @@
1
- import { RasterDataType } from "@luciad/ria/model/tileset/RasterDataType";
2
- import { RasterSamplingMode } from "@luciad/ria/model/tileset/RasterSamplingMode";
3
- import { WMSTileSetModel } from "@luciad/ria/model/tileset/WMSTileSetModel";
4
- import { TileCoordinate } from "@luciad/ria/model/tileset/TileCoordinate";
5
- import { ProxifyFunction } from "./OgcOpenApiGetCapabilities";
6
- interface OgcOpenApiMapsModelConstructorOptions {
7
- crs: string;
8
- baseURL: string;
9
- collection: string;
10
- dataType?: RasterDataType;
11
- samplingMode?: RasterSamplingMode;
12
- credentials?: boolean;
13
- requestHeaders?: {
14
- [p: string]: string;
15
- };
16
- format?: string;
17
- reverseAxis?: boolean;
18
- datetime?: string;
19
- subset?: string[];
20
- transparent?: boolean;
21
- bgcolor?: string;
22
- proxify?: ProxifyFunction;
23
- }
24
- declare class OgcOpenApiMapsModel extends WMSTileSetModel {
25
- private format;
26
- private crs;
27
- private reverseAxis;
28
- private datetime;
29
- private subset;
30
- private bgcolor;
31
- private proxy;
32
- constructor(o: OgcOpenApiMapsModelConstructorOptions);
33
- getTileURL(baseURL: string, tile: TileCoordinate): string | null;
34
- private static createURLParameters;
35
- }
36
- export { OgcOpenApiMapsModel };
1
+ import { RasterDataType } from "@luciad/ria/model/tileset/RasterDataType.js";
2
+ import { RasterSamplingMode } from "@luciad/ria/model/tileset/RasterSamplingMode.js";
3
+ import { WMSTileSetModel } from "@luciad/ria/model/tileset/WMSTileSetModel.js";
4
+ import type { TileCoordinate } from "@luciad/ria/model/tileset/TileCoordinate.js";
5
+ import { Bounds } from "@luciad/ria/shape/Bounds.js";
6
+ import type { ProxifyFunction } from "./OgcOpenApiGetCapabilities.js";
7
+ interface OgcOpenApiMapsModelConstructorOptions {
8
+ crs: string;
9
+ baseURL: string;
10
+ collection: string;
11
+ dataType?: RasterDataType;
12
+ samplingMode?: RasterSamplingMode;
13
+ credentials?: boolean;
14
+ requestHeaders?: {
15
+ [p: string]: string;
16
+ };
17
+ format?: string;
18
+ reverseAxis?: boolean;
19
+ datetime?: string;
20
+ subset?: string[];
21
+ transparent?: boolean;
22
+ bgcolor?: string;
23
+ bounds?: Bounds;
24
+ proxify?: ProxifyFunction;
25
+ }
26
+ declare class OgcOpenApiMapsModel extends WMSTileSetModel {
27
+ private format;
28
+ private crs;
29
+ private reverseAxis;
30
+ private datetime;
31
+ private subset;
32
+ private bgcolor;
33
+ private proxy;
34
+ private linkParameters;
35
+ constructor(o: OgcOpenApiMapsModelConstructorOptions);
36
+ getTileURL(baseURL: string, tile: TileCoordinate): string | null;
37
+ private static getQueryParameters;
38
+ private static getDefaultBounds;
39
+ }
40
+ export { OgcOpenApiMapsModel };
41
+ //# sourceMappingURL=OgcOpenApiMapsModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiMapsModel.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiMapsModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAC,eAAe,EAAC,MAAM,8CAA8C,CAAC;AAG7E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AAGnD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAMpE,UAAU,qCAAqC;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,eAAe,CAAA;CAC5B;AAED,cAAM,mBAAoB,SAAQ,eAAe;IAC7C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,KAAK,CAAkB;IAE/B,OAAO,CAAC,cAAc,CAA4B;gBAEtC,CAAC,EAAE,qCAAqC;IAiCpD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;IA8BhE,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAKlC;AAED,OAAO,EACH,mBAAmB,EACtB,CAAA"}
@@ -1,75 +1,88 @@
1
- import { WMSTileSetModel } from "@luciad/ria/model/tileset/WMSTileSetModel";
2
- import { OgcOpenApiCrsTools } from "./OgcOpenApiCrsTools";
3
- import { getReference } from "@luciad/ria/reference/ReferenceProvider";
4
- class OgcOpenApiMapsModel extends WMSTileSetModel {
5
- constructor(o) {
6
- const referenceName = OgcOpenApiCrsTools.getReferenceName(o.crs);
7
- const reference = getReference(referenceName);
8
- super({
9
- reference,
10
- getMapRoot: o.baseURL,
11
- layers: [o.collection],
12
- dataType: o.dataType,
13
- samplingMode: o.samplingMode,
14
- credentials: o.credentials,
15
- requestHeaders: o.requestHeaders
16
- });
17
- this.crs = o.crs;
18
- this.format = o.format;
19
- this.reverseAxis = o.reverseAxis;
20
- this.datetime = o.datetime;
21
- this.subset = o.subset;
22
- this.transparent = typeof o.transparent !== "undefined" ? o.transparent : true;
23
- this.bgcolor = o.bgcolor;
24
- this.proxy = o.proxify;
25
- this.modelDescriptor = {
26
- source: o.baseURL,
27
- name: o.collection,
28
- description: "OGC Open API Maps",
29
- type: super.dataType
30
- };
31
- }
32
- getTileURL(baseURL, tile) {
33
- let aURL = super.getTileURL(baseURL, tile);
34
- if (aURL) {
35
- const parts = aURL.split("?");
36
- const queryString = parts.length > 1 ? parts[1] : "";
37
- const url = parts[0];
38
- const urlParams = new URLSearchParams(queryString);
39
- const bbox = urlParams.get('BBOX');
40
- const urlParameters = {
41
- bbox: bbox,
42
- "bbox-crs": this.crs,
43
- crs: this.crs,
44
- f: this.format,
45
- datetime: this.datetime,
46
- subset: this.subset,
47
- transparent: this.transparent,
48
- bgcolor: this.transparent ? undefined : this.bgcolor
49
- };
50
- const query = OgcOpenApiMapsModel.createURLParameters(urlParameters);
51
- let transformedUrl = url + "?" + query;
52
- if (typeof this.proxy === "function") {
53
- const proxyfied = this.proxy(transformedUrl, {});
54
- transformedUrl = proxyfied.url;
55
- }
56
- return transformedUrl;
57
- }
58
- else {
59
- return aURL;
60
- }
61
- }
62
- static createURLParameters(obj) {
63
- let str = Object.keys(obj).filter(k => obj[k] !== undefined).map(function (key) {
64
- if (Array.isArray(obj[key])) {
65
- return key + '=' + obj[key].join(",");
66
- }
67
- if (typeof obj[key] == "boolean") {
68
- return key + '=' + (obj[key] ? "true" : "false");
69
- }
70
- return key + '=' + obj[key];
71
- }).join('&');
72
- return str;
73
- }
74
- }
75
- export { OgcOpenApiMapsModel };
1
+ import { RasterDataType } from "@luciad/ria/model/tileset/RasterDataType.js";
2
+ import { RasterSamplingMode } from "@luciad/ria/model/tileset/RasterSamplingMode.js";
3
+ import { WMSTileSetModel } from "@luciad/ria/model/tileset/WMSTileSetModel.js";
4
+ import { OgcOpenApiCrsTools } from "./OgcOpenApiCrsTools.js";
5
+ import { getReference } from "@luciad/ria/reference/ReferenceProvider.js";
6
+ import { Bounds } from "@luciad/ria/shape/Bounds.js";
7
+ import { CoordinateReference } from "@luciad/ria/reference/CoordinateReference.js";
8
+ import { createBounds } from "@luciad/ria/shape/ShapeFactory.js";
9
+ import { OgcOpenApiTileMatrixTools } from "./OgcOpenApiTileMatrixTools.js";
10
+ // Half the extent of the Web Mercator world, in metres
11
+ const WEB_MERCATOR_HALF_WORLD = 20037508.3427892;
12
+ class OgcOpenApiMapsModel extends WMSTileSetModel {
13
+ constructor(o) {
14
+ const referenceName = OgcOpenApiCrsTools.getReferenceName(o.crs);
15
+ const reference = getReference(referenceName);
16
+ super({
17
+ reference,
18
+ bounds: o.bounds ? o.bounds : OgcOpenApiMapsModel.getDefaultBounds(reference),
19
+ getMapRoot: o.baseURL,
20
+ layers: [o.collection],
21
+ dataType: o.dataType,
22
+ samplingMode: o.samplingMode,
23
+ credentials: o.credentials,
24
+ requestHeaders: o.requestHeaders
25
+ });
26
+ this.crs = o.crs;
27
+ this.format = o.format;
28
+ this.reverseAxis = o.reverseAxis;
29
+ this.datetime = o.datetime;
30
+ this.subset = o.subset;
31
+ this.transparent = typeof o.transparent !== "undefined" ? o.transparent : true;
32
+ this.bgcolor = o.bgcolor;
33
+ this.proxy = o.proxify;
34
+ this.linkParameters = OgcOpenApiMapsModel.getQueryParameters(o.baseURL);
35
+ this.modelDescriptor = {
36
+ source: o.baseURL,
37
+ name: o.collection,
38
+ description: "OGC Open API Maps",
39
+ type: super.dataType
40
+ };
41
+ }
42
+ getTileURL(baseURL, tile) {
43
+ let aURL = super.getTileURL(baseURL, tile);
44
+ if (aURL) {
45
+ const parts = aURL.split("?");
46
+ const queryString = parts.length > 1 ? parts[1] : "";
47
+ const url = parts[0];
48
+ const urlParams = new URLSearchParams(queryString);
49
+ const bbox = urlParams.get('BBOX');
50
+ const urlParameters = {
51
+ ...this.linkParameters,
52
+ bbox: bbox,
53
+ "bbox-crs": this.crs,
54
+ crs: this.crs,
55
+ f: this.format ? this.format : this.linkParameters.f,
56
+ datetime: this.datetime,
57
+ subset: this.subset ? this.subset.join(",") : undefined,
58
+ transparent: this.transparent,
59
+ bgcolor: this.transparent ? undefined : this.bgcolor
60
+ };
61
+ let transformedUrl = OgcOpenApiTileMatrixTools.appendQueryParameters(url, urlParameters);
62
+ if (typeof this.proxy === "function") {
63
+ const proxyfied = this.proxy(transformedUrl, {});
64
+ transformedUrl = proxyfied.url;
65
+ }
66
+ return transformedUrl;
67
+ }
68
+ else {
69
+ return aURL;
70
+ }
71
+ }
72
+ static getQueryParameters(url) {
73
+ const parameters = {};
74
+ const query = url.split("?")[1];
75
+ if (query)
76
+ new URLSearchParams(query).forEach((value, key) => parameters[key] = value);
77
+ return parameters;
78
+ }
79
+ // The reference's own bounds for EPSG:3857 are a little larger than the Web Mercator world (y up to 20048966),
80
+ // tiles cover exactly the Web Mercator world instead, the same bounds as LuciadRIA's OSM tiles
81
+ static getDefaultBounds(reference) {
82
+ if (reference.identifier !== "EPSG:3857" && reference.identifier !== "EPSG:900913")
83
+ return undefined;
84
+ return createBounds(reference, [-WEB_MERCATOR_HALF_WORLD, 2 * WEB_MERCATOR_HALF_WORLD, -WEB_MERCATOR_HALF_WORLD, 2 * WEB_MERCATOR_HALF_WORLD]);
85
+ }
86
+ }
87
+ export { OgcOpenApiMapsModel };
88
+ //# sourceMappingURL=OgcOpenApiMapsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiMapsModel.js","sourceRoot":"","sources":["../src/OgcOpenApiMapsModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { TileSetLayer } from "./OgcOpenApiGetCapabilities.js";
2
+ declare class OgcOpenApiMvtTools {
3
+ /**
4
+ * The layers of a tile, a layer has geometryDimension when all its features have the same geometry type.
5
+ * The tile may be gzip compressed.
6
+ */
7
+ static getLayers(content: ArrayBuffer): Promise<TileSetLayer[]>;
8
+ private static decompress;
9
+ private static readFields;
10
+ }
11
+ export { OgcOpenApiMvtTools };
12
+ //# sourceMappingURL=OgcOpenApiMvtTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiMvtTools.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiMvtTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAwBjE,cAAM,kBAAkB;IAEpB;;;OAGG;WACiB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;mBAyBvD,UAAU;IAU/B,OAAO,CAAC,MAAM,CAAE,UAAU;CAkC7B;AAED,OAAO,EACH,kBAAkB,EACrB,CAAA"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Reads the layers of a Mapbox Vector Tile: their names, and the geometryDimension of their features (0 points,
3
+ * 1 lines, 2 surfaces). Only what is needed to style a tileset that does not describe its layers.
4
+ * See https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md
5
+ */
6
+ const LAYER = 3;
7
+ const LAYER_NAME = 1;
8
+ const LAYER_FEATURE = 2;
9
+ const FEATURE_TYPE = 3;
10
+ // MVT GeomType POINT, LINESTRING, POLYGON
11
+ const GEOMETRY_DIMENSION = { 1: 0, 2: 1, 3: 2 };
12
+ const WIRE_VARINT = 0;
13
+ const WIRE_64BIT = 1;
14
+ const WIRE_LENGTH = 2;
15
+ const WIRE_32BIT = 5;
16
+ class OgcOpenApiMvtTools {
17
+ /**
18
+ * The layers of a tile, a layer has geometryDimension when all its features have the same geometry type.
19
+ * The tile may be gzip compressed.
20
+ */
21
+ static async getLayers(content) {
22
+ const bytes = await OgcOpenApiMvtTools.decompress(new Uint8Array(content));
23
+ const layers = [];
24
+ for (const layer of OgcOpenApiMvtTools.readFields(bytes)) {
25
+ if (layer.field !== LAYER || typeof layer.value === "number")
26
+ continue;
27
+ let id;
28
+ const dimensions = new Set();
29
+ for (const property of OgcOpenApiMvtTools.readFields(layer.value)) {
30
+ if (property.field === LAYER_NAME && typeof property.value !== "number") {
31
+ id = new TextDecoder().decode(property.value);
32
+ }
33
+ else if (property.field === LAYER_FEATURE && typeof property.value !== "number") {
34
+ for (const feature of OgcOpenApiMvtTools.readFields(property.value)) {
35
+ if (feature.field === FEATURE_TYPE && typeof feature.value === "number" && feature.value in GEOMETRY_DIMENSION) {
36
+ dimensions.add(GEOMETRY_DIMENSION[feature.value]);
37
+ }
38
+ }
39
+ }
40
+ }
41
+ if (id !== undefined && dimensions.size > 0) {
42
+ layers.push(dimensions.size === 1 ? { id, geometryDimension: dimensions.values().next().value } : { id });
43
+ }
44
+ }
45
+ return layers;
46
+ }
47
+ static async decompress(bytes) {
48
+ if (bytes.length < 2 || bytes[0] !== 0x1f || bytes[1] !== 0x8b)
49
+ return bytes;
50
+ // DecompressionStream is in all current browsers and Node 18
51
+ if (typeof DecompressionStream === "undefined")
52
+ throw new Error("A gzip compressed vector tile needs DecompressionStream");
53
+ // A copy, as Response takes a Uint8Array over an ArrayBuffer only, not over a SharedArrayBuffer
54
+ const stream = new Response(new Uint8Array(bytes)).body.pipeThrough(new DecompressionStream("gzip"));
55
+ return new Uint8Array(await new Response(stream).arrayBuffer());
56
+ }
57
+ // The fields of a protobuf message, nested messages are returned as bytes
58
+ static *readFields(bytes) {
59
+ let position = 0;
60
+ const readVarint = () => {
61
+ let result = 0;
62
+ let shift = 0;
63
+ let byte;
64
+ do {
65
+ if (position >= bytes.length)
66
+ throw new Error("Invalid vector tile");
67
+ byte = bytes[position++];
68
+ result += (byte & 0x7f) * Math.pow(2, shift);
69
+ shift += 7;
70
+ } while (byte >= 0x80);
71
+ return result;
72
+ };
73
+ while (position < bytes.length) {
74
+ const key = readVarint();
75
+ const field = Math.floor(key / 8);
76
+ const wireType = key % 8;
77
+ if (wireType === WIRE_VARINT) {
78
+ yield { field, value: readVarint() };
79
+ }
80
+ else if (wireType === WIRE_LENGTH) {
81
+ const length = readVarint();
82
+ if (position + length > bytes.length)
83
+ throw new Error("Invalid vector tile");
84
+ yield { field, value: bytes.subarray(position, position + length) };
85
+ position += length;
86
+ }
87
+ else if (wireType === WIRE_64BIT) {
88
+ position += 8;
89
+ }
90
+ else if (wireType === WIRE_32BIT) {
91
+ position += 4;
92
+ }
93
+ else {
94
+ throw new Error("Invalid vector tile");
95
+ }
96
+ }
97
+ }
98
+ }
99
+ export { OgcOpenApiMvtTools };
100
+ //# sourceMappingURL=OgcOpenApiMvtTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiMvtTools.js","sourceRoot":"","sources":["../src/OgcOpenApiMvtTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type LinkType, type OgcOpenApiCapabilitiesCollection, type OgcOpenApiCapabilitiesObject, type TileSetLayer } from "./OgcOpenApiGetCapabilities.js";
2
+ export declare const MAPBOX_STYLE_TYPE = "application/vnd.mapbox.style+json";
3
+ type RequestHeaders = {
4
+ [headerName: string]: string;
5
+ } | null;
6
+ export interface OgcOpenApiStyle {
7
+ id: string;
8
+ title: string;
9
+ mapboxStylesheets: LinkType[];
10
+ }
11
+ declare class OgcOpenApiStyleTools {
12
+ /**
13
+ * Lists the styles of a collection (OGC API Styles) that are available as a Mapbox GL style, or with collection
14
+ * null the styles of the dataset, for its dataset tilesets.
15
+ */
16
+ static fetchStyles(capabilities: OgcOpenApiCapabilitiesObject | null, collection: OgcOpenApiCapabilitiesCollection | null, options?: {
17
+ credentials?: boolean;
18
+ requestHeaders?: RequestHeaders;
19
+ }): Promise<OgcOpenApiStyle[]>;
20
+ /**
21
+ * The styles for a tile matrix set. Zoom levels are tile matrix set specific, so a server can have a style per
22
+ * tile matrix set and name it after it (PDOK: bgt_standaardvisualisatie__netherlandsrdnewquad). A style named after
23
+ * another of tileMatrixSetIds, and not after tileMatrixSetId, is left out. Other styles have a stylesheet per tile
24
+ * matrix set or serve all of them (pickStylesheet).
25
+ */
26
+ static getStylesForTileMatrixSet(styles: OgcOpenApiStyle[], tileMatrixSetId: string, tileMatrixSetIds: string[]): OgcOpenApiStyle[];
27
+ /**
28
+ * A style can have one stylesheet per tile matrix set, because zoom levels are tile matrix set specific.
29
+ * Prefers the stylesheet for tileMatrixSetId, then the one without a tile matrix set.
30
+ */
31
+ static pickStylesheet(style: OgcOpenApiStyle, tileMatrixSetId: string): LinkType | undefined;
32
+ /**
33
+ * Fetches a Mapbox GL style. Properties without a value, as in `"filter" : ,`, are removed so that styles
34
+ * that are not valid JSON can still be used.
35
+ */
36
+ static fetchMapboxStyle(capabilities: OgcOpenApiCapabilitiesObject, stylesheet: LinkType, options?: {
37
+ credentials?: boolean;
38
+ requestHeaders?: RequestHeaders;
39
+ }): Promise<any>;
40
+ static parseMapboxStyle(text: string): any;
41
+ /**
42
+ * A Mapbox GL style that paints every layer of a vector tileset, by geometryDimension: points as dots,
43
+ * lines as lines and surfaces as filled polygons. Layers without geometryDimension get all three, filtered
44
+ * by geometry type.
45
+ */
46
+ static createDefaultStyle(layers: TileSetLayer[], name?: string): any;
47
+ private static getStylesHref;
48
+ private static withJsonFormat;
49
+ }
50
+ export { OgcOpenApiStyleTools };
51
+ //# sourceMappingURL=OgcOpenApiStyleTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgcOpenApiStyleTools.d.ts","sourceRoot":"","sources":["../src/OgcOpenApiStyleTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,QAAQ,EACb,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EAEjC,KAAK,YAAY,EACpB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,iBAAiB,sCAAsC,CAAC;AAErE,KAAK,cAAc,GAAG;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAAC,GAAG,IAAI,CAAA;AAE5D,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IAEd,iBAAiB,EAAE,QAAQ,EAAE,CAAC;CACjC;AAID,cAAM,oBAAoB;IAEtB;;;OAGG;WACW,WAAW,CACrB,YAAY,EAAE,4BAA4B,GAAG,IAAI,EACjD,UAAU,EAAE,gCAAgC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC;IAqCtE;;;;;OAKG;WACW,yBAAyB,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE;IAMtH;;;OAGG;WACW,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAOnG;;;OAGG;WACW,gBAAgB,CAC1B,YAAY,EAAE,4BAA4B,EAC1C,UAAU,EAAE,QAAQ,EACpB,OAAO,CAAC,EAAE;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAC;WAYxD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAajD;;;;OAIG;WACW,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG;IAmC5E,OAAO,CAAC,MAAM,CAAC,aAAa;IAc5B,OAAO,CAAC,MAAM,CAAC,cAAc;CAIhC;AAED,OAAO,EACH,oBAAoB,EACvB,CAAA"}