langflow-base-nightly 0.5.0.dev6__py3-none-any.whl → 0.5.0.dev8__py3-none-any.whl

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 (139) hide show
  1. langflow/api/v1/endpoints.py +18 -21
  2. langflow/api/v1/schemas.py +29 -4
  3. langflow/frontend/assets/{SlackIcon-Bsdt9l8V.js → SlackIcon-BotWPNKm.js} +1 -1
  4. langflow/frontend/assets/{Wikipedia-CYMoTVdP.js → Wikipedia-DRNSYQow.js} +1 -1
  5. langflow/frontend/assets/{Wolfram-Bg_vSeax.js → Wolfram-Db_jUSZI.js} +1 -1
  6. langflow/frontend/assets/{index-D4AU2UC5.js → index-19eRIFZ4.js} +1 -1
  7. langflow/frontend/assets/{index-rqGxlCeu.js → index-2TJmaEup.js} +1 -1
  8. langflow/frontend/assets/{index-CI1W9FgK.js → index-3vqHLc3t.js} +1 -1
  9. langflow/frontend/assets/{index-3BMa0ERx.js → index-9eXY-QWQ.js} +1 -1
  10. langflow/frontend/assets/{index-DiLtvko9.js → index-B-ES6eS-.js} +1 -1
  11. langflow/frontend/assets/{index-CC03CeHx.js → index-B1sswgB8.js} +1 -1
  12. langflow/frontend/assets/{index-DiqMu1gz.js → index-B3deLAql.js} +1 -1
  13. langflow/frontend/assets/{index-DaAuqDfG.js → index-B5EkhN3K.js} +1 -1
  14. langflow/frontend/assets/{index-BF9CTzRg.js → index-B5Oxgk9P.js} +1 -1
  15. langflow/frontend/assets/{index-Bqr4Ou8S.js → index-B6o6dq6E.js} +1 -1
  16. langflow/frontend/assets/{index-CE_5zwoF.js → index-B75wIMbZ.js} +1 -1
  17. langflow/frontend/assets/{index-Rlw9Py-5.js → index-BBMaOGes.js} +1 -1
  18. langflow/frontend/assets/{index-B7e8tMm6.js → index-BD5Qd3fi.js} +1 -1
  19. langflow/frontend/assets/{index-BePq9Fzc.js → index-BFj0D1r7.js} +1 -1
  20. langflow/frontend/assets/{index-D9nx1Zey.js → index-BOHPjPHg.js} +1 -1
  21. langflow/frontend/assets/{index-Cb9tDuMy.js → index-BOyq956u.js} +1 -1
  22. langflow/frontend/assets/{index-9FewfUXK.js → index-BPbfRYEA.js} +1 -1
  23. langflow/frontend/assets/{index-CCvVRd7U.js → index-BVhxSlDg.js} +1 -1
  24. langflow/frontend/assets/{index-D3Mn8ct7.js → index-BXLF4EEk.js} +1 -1
  25. langflow/frontend/assets/{index-DTwOInKz.js → index-BangDkTU.js} +1 -1
  26. langflow/frontend/assets/{index-CHYf24HO.js → index-BbQbwO0t.js} +1 -1
  27. langflow/frontend/assets/{index-YIx1Mi4R.js → index-BdhLcBhs.js} +1 -1
  28. langflow/frontend/assets/{index-B6ScGXTv.js → index-BhqoRytd.js} +1 -1
  29. langflow/frontend/assets/{index-CAXTG3Z_.js → index-BkDauS6L.js} +1 -1
  30. langflow/frontend/assets/{index-D83rM7Og.js → index-BlVoki6h.js} +1 -1
  31. langflow/frontend/assets/{index-tWpcZp54.js → index-Bppwxzbg.js} +1 -1
  32. langflow/frontend/assets/{index-f9N5LySI.js → index-BsyeSq2y.js} +1 -1
  33. langflow/frontend/assets/{index-B_hK8H3f.js → index-BuasQFB9.js} +1 -1
  34. langflow/frontend/assets/{index-D-3XzZWH.js → index-BwlRbSOp.js} +1 -1
  35. langflow/frontend/assets/{index-D_Mv5ivk.js → index-ByGM4QOw.js} +1 -1
  36. langflow/frontend/assets/{index-D-QOXM06.js → index-C2ZbGcjb.js} +1 -1
  37. langflow/frontend/assets/{index-yffPesT6.js → index-C2phiJRY.js} +1 -1
  38. langflow/frontend/assets/{index-EAuzcI6q.js → index-C2s1ji9H.js} +1 -1
  39. langflow/frontend/assets/{index-DKTVP52U.js → index-C4BUzloQ.js} +1 -1
  40. langflow/frontend/assets/{index-biMJKanX.js → index-C7B7bkdw.js} +1 -1
  41. langflow/frontend/assets/{index-B50Ktwas.js → index-C8ndiw7Q.js} +1 -1
  42. langflow/frontend/assets/{index-CrnrmQPT.js → index-CAmO1XSL.js} +1 -1
  43. langflow/frontend/assets/{index-BE8B1Pp9.js → index-CDHXigRf.js} +1 -1
  44. langflow/frontend/assets/{index-BGHKon4P.js → index-CDRdM5TZ.js} +1 -1
  45. langflow/frontend/assets/{index-BjpnwoH1.js → index-CDSNOzuw.js} +1980 -1980
  46. langflow/frontend/assets/{index-CJxQGzD1.js → index-CDkpZKzC.js} +1 -1
  47. langflow/frontend/assets/{index--4pmwDL0.js → index-CF7pTwIL.js} +1 -1
  48. langflow/frontend/assets/{index-CnGACPHR.js → index-CGhiKIDc.js} +1 -1
  49. langflow/frontend/assets/{index-Bu9coNhs.js → index-CJvkgxHw.js} +1 -1
  50. langflow/frontend/assets/{index-D5r36ohI.js → index-CKRjoqeo.js} +1 -1
  51. langflow/frontend/assets/{index-BaFU8ZSW.js → index-CMK4jYBV.js} +1 -1
  52. langflow/frontend/assets/{index-BIGG6rSh.js → index-CMYQp6pC.js} +1 -1
  53. langflow/frontend/assets/{index-BDD0a7Vs.js → index-CMf3qp3F.js} +1 -1
  54. langflow/frontend/assets/{index-CgDlKx-W.js → index-CODEJbFb.js} +1 -1
  55. langflow/frontend/assets/{index-B1pscN2V.js → index-COm8KYOy.js} +1 -1
  56. langflow/frontend/assets/{index-vblrDZAS.js → index-CPi2CElO.js} +1 -1
  57. langflow/frontend/assets/{index-BwcBt_-r.js → index-CQI2hSXh.js} +1 -1
  58. langflow/frontend/assets/{index-CmCLKI9d.js → index-CQpFrkqi.js} +1 -1
  59. langflow/frontend/assets/{index-BDKxmpzo.js → index-CRoCIu83.js} +1 -1
  60. langflow/frontend/assets/{index-CRLXSh6D.js → index-CTaTVU6A.js} +1 -1
  61. langflow/frontend/assets/{index-DNb-Oy10.js → index-CVfho6H1.js} +1 -1
  62. langflow/frontend/assets/{index-DPPn1HZ3.js → index-Cb-gNPdm.js} +1 -1
  63. langflow/frontend/assets/{index-X0loyrUl.js → index-Cb44GO2-.js} +1 -1
  64. langflow/frontend/assets/{index-CQbl89Bw.js → index-Cc4M6_Fy.js} +1 -1
  65. langflow/frontend/assets/{index-CYkV7n_3.js → index-CfY-quU3.js} +1 -1
  66. langflow/frontend/assets/{index-DElQjfHZ.js → index-CiodZmyb.js} +1 -1
  67. langflow/frontend/assets/{index-CaJoHmmk.js → index-CnXzxDXQ.js} +1 -1
  68. langflow/frontend/assets/{index-BEdy-xuQ.js → index-Cq19RyYM.js} +1 -1
  69. langflow/frontend/assets/{index-TmQtblx1.js → index-Cq6t6B77.js} +1 -1
  70. langflow/frontend/assets/{index-DRLMpLTi.js → index-D-Dm_2dJ.js} +1 -1
  71. langflow/frontend/assets/{index-DWLjv7PG.js → index-D-jkcji5.js} +1 -1
  72. langflow/frontend/assets/{index-CRkIFqxX.js → index-D18rYlC2.js} +1 -1
  73. langflow/frontend/assets/{index-BDcqD3qG.js → index-D1RpzgF-.js} +1 -1
  74. langflow/frontend/assets/{index-CpdJzYvU.js → index-D1aaBEVW.js} +1 -1
  75. langflow/frontend/assets/{index-CyrC4qaJ.js → index-D1gs-kle.js} +1 -1
  76. langflow/frontend/assets/index-DBZ4408N.js +1 -0
  77. langflow/frontend/assets/{index-BW4z4zWN.js → index-DClHt8s8.js} +1 -1
  78. langflow/frontend/assets/{index-Z8OD_VL0.js → index-DEEl5v3D.js} +1 -1
  79. langflow/frontend/assets/{index-BryVivNe.js → index-DJKnttt_.js} +1 -1
  80. langflow/frontend/assets/{index-DVQZAer9.js → index-DKsEUeWS.js} +1 -1
  81. langflow/frontend/assets/{index-D2gFCvAW.js → index-DM-IghpO.js} +1 -1
  82. langflow/frontend/assets/{index-Q261aTSC.js → index-DMI44bfI.js} +1 -1
  83. langflow/frontend/assets/{index-C2_UkLb_.js → index-DN8sDPsU.js} +1 -1
  84. langflow/frontend/assets/{index-Sn3JO6yV.js → index-DOGGSk6U.js} +1 -1
  85. langflow/frontend/assets/{index-CmkK05SQ.js → index-DQXZuPZj.js} +1 -1
  86. langflow/frontend/assets/{index-BrIz1I6v.js → index-DR9RVbk7.js} +1 -1
  87. langflow/frontend/assets/{index-BLMs3LIY.js → index-DTpPH-qx.js} +1 -1
  88. langflow/frontend/assets/{index-jFXVxi-M.js → index-DU3H6Mds.js} +1 -1
  89. langflow/frontend/assets/{index-CXZMqgLx.js → index-DVc55Ocl.js} +1 -1
  90. langflow/frontend/assets/{index-B7NFDke4.js → index-DVq9C8tV.js} +1 -1
  91. langflow/frontend/assets/{index-BrL6LEfO.js → index-DWVXan_1.js} +1 -1
  92. langflow/frontend/assets/{index-BXCIv1Jn.js → index-DZFxYYFn.js} +1 -1
  93. langflow/frontend/assets/{index-CjmOde20.js → index-DcjXNb_-.js} +1 -1
  94. langflow/frontend/assets/{index-C6co77Vr.js → index-DfskV-9v.js} +1 -1
  95. langflow/frontend/assets/{index-DyRhbrWw.js → index-DhTYsc2t.js} +1 -1
  96. langflow/frontend/assets/{index-5BlFwFBk.js → index-DiPI-D9B.js} +1 -1
  97. langflow/frontend/assets/{index-DoZ1U_bA.js → index-DjWYMbHt.js} +1 -1
  98. langflow/frontend/assets/{index-Cgk4PzAD.js → index-Djk9t5II.js} +1 -1
  99. langflow/frontend/assets/{index-Bm83uR_3.js → index-DkhYUMYL.js} +1 -1
  100. langflow/frontend/assets/{index-Bfbnh7Wg.js → index-DlQJ30-N.js} +1 -1
  101. langflow/frontend/assets/{index-fGYlNOW0.js → index-DqbvHtMI.js} +1 -1
  102. langflow/frontend/assets/{index-DPv692Dg.js → index-DqlruG43.js} +1 -1
  103. langflow/frontend/assets/{index-BQMzjO4O.js → index-DrK2fUFE.js} +1 -1
  104. langflow/frontend/assets/{index-z9gdB2tC.js → index-Ds4x3X2V.js} +1 -1
  105. langflow/frontend/assets/{index-3cdFEOu9.js → index-DtrUiU1_.js} +1 -1
  106. langflow/frontend/assets/{index-f8cAHJCW.js → index-Dz_Mkcgd.js} +1 -1
  107. langflow/frontend/assets/{index-BaYnlrDF.js → index-GFf8D09h.js} +1 -1
  108. langflow/frontend/assets/{index-Cl8kfe8z.js → index-HjrnO1wn.js} +1 -1
  109. langflow/frontend/assets/{index-BCAFqW3T.js → index-HvyyG2sS.js} +1 -1
  110. langflow/frontend/assets/{index-1AydgvnP.js → index-KWI6UqFH.js} +1 -1
  111. langflow/frontend/assets/{index-CXft4qic.js → index-LwzAiYbw.js} +1 -1
  112. langflow/frontend/assets/index-MB8UM6Ob.css +1 -0
  113. langflow/frontend/assets/{index-BaeGZkqw.js → index-O2Bsl-oh.js} +1 -1
  114. langflow/frontend/assets/{index-DWRlIFp8.js → index-XdytYvV3.js} +1 -1
  115. langflow/frontend/assets/{index-DuusIBkR.js → index-b7e24JLR.js} +1 -1
  116. langflow/frontend/assets/{index-D_QQT2Ol.js → index-cx7aCRlX.js} +1 -1
  117. langflow/frontend/assets/{index-DvD29KFp.js → index-eI0i0Az1.js} +1 -1
  118. langflow/frontend/assets/{index-BPGxHse3.js → index-hBPtgyCi.js} +1 -1
  119. langflow/frontend/assets/{index-BZeIVQ0x.js → index-jPlDcnJ4.js} +1 -1
  120. langflow/frontend/assets/{index-C7i1UHzu.js → index-kFptuRSN.js} +1 -1
  121. langflow/frontend/assets/{index-DS1ZxAu1.js → index-kMJ0V4NP.js} +1 -1
  122. langflow/frontend/assets/{index-BHWNk_bF.js → index-q3MWMz-i.js} +1 -1
  123. langflow/frontend/assets/{index-D_W6o__C.js → index-uW6TJm8N.js} +1 -1
  124. langflow/frontend/assets/{index-aVqRpHJQ.js → index-y_Xw1u9n.js} +1 -1
  125. langflow/frontend/assets/{index-8M9VgCur.js → index-z7mu-rPB.js} +1 -1
  126. langflow/frontend/assets/lazyIconImports-qQ2xBw6p.js +2 -0
  127. langflow/frontend/assets/{use-post-add-user-BLwwWOR9.js → use-post-add-user-e7yXa1cg.js} +1 -1
  128. langflow/frontend/index.html +2 -2
  129. langflow/services/database/service.py +12 -8
  130. langflow/services/database/session.py +62 -0
  131. langflow/services/settings/base.py +11 -0
  132. langflow/services/utils.py +4 -2
  133. {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/METADATA +1 -1
  134. {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/RECORD +136 -135
  135. langflow/frontend/assets/index-CYIVEhXL.css +0 -1
  136. langflow/frontend/assets/index-cBHsPhPd.js +0 -1
  137. langflow/frontend/assets/lazyIconImports-D4uzrvOT.js +0 -2
  138. {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/WHEEL +0 -0
  139. {langflow_base_nightly-0.5.0.dev6.dist-info → langflow_base_nightly-0.5.0.dev8.dist-info}/entry_points.txt +0 -0
@@ -49,13 +49,12 @@ from langflow.services.database.models.flow.model import Flow, FlowRead
49
49
  from langflow.services.database.models.flow.utils import get_all_webhook_components_in_flow
50
50
  from langflow.services.database.models.user.model import User, UserRead
51
51
  from langflow.services.deps import get_session_service, get_settings_service, get_telemetry_service
52
- from langflow.services.settings.feature_flags import FEATURE_FLAGS
53
52
  from langflow.services.telemetry.schema import RunPayload
54
53
  from langflow.utils.compression import compress_response
55
54
  from langflow.utils.version import get_version_info
56
55
 
57
56
  if TYPE_CHECKING:
58
- from langflow.services.event_manager import EventManager
57
+ from langflow.events.event_manager import EventManager
59
58
  from langflow.services.settings.service import SettingsService
60
59
 
61
60
  router = APIRouter(tags=["Base"])
@@ -681,22 +680,15 @@ async def custom_component_update(
681
680
  code_request: UpdateCustomComponentRequest,
682
681
  user: CurrentActiveUser,
683
682
  ):
684
- """Update a custom component with the provided code request.
683
+ """Update an existing custom component with new code and configuration.
685
684
 
686
- This endpoint generates the CustomComponentFrontendNode normally but then runs the `update_build_config` method
687
- on the latest version of the template.
688
- This ensures that every time it runs, it has the latest version of the template.
689
-
690
- Args:
691
- code_request (CustomComponentRequest): The code request containing the updated code for the custom component.
692
- user (User, optional): The user making the request. Defaults to the current active user.
693
-
694
- Returns:
695
- dict: The updated custom component node.
685
+ Processes the provided code and template updates, applies parameter changes (including those loaded from the
686
+ database), updates the component's build configuration, and validates outputs. Returns the updated component node as
687
+ a JSON-serializable dictionary.
696
688
 
697
689
  Raises:
698
- HTTPException: If there's an error building or updating the component
699
- SerializationError: If there's an error serializing the component to JSON
690
+ HTTPException: If an error occurs during component building or updating.
691
+ SerializationError: If serialization of the updated component node fails.
700
692
  """
701
693
  try:
702
694
  component = Component(_code=code_request.code)
@@ -752,14 +744,19 @@ async def custom_component_update(
752
744
  raise SerializationError.from_exception(exc, data=component_node) from exc
753
745
 
754
746
 
755
- @router.get("/config", response_model=ConfigResponse)
756
- async def get_config():
747
+ @router.get("/config")
748
+ async def get_config() -> ConfigResponse:
749
+ """Retrieve the current application configuration settings.
750
+
751
+ Returns:
752
+ ConfigResponse: The configuration settings of the application.
753
+
754
+ Raises:
755
+ HTTPException: If an error occurs while retrieving the configuration.
756
+ """
757
757
  try:
758
758
  settings_service: SettingsService = get_settings_service()
759
+ return ConfigResponse.from_settings(settings_service.settings)
759
760
 
760
- return {
761
- "feature_flags": FEATURE_FLAGS,
762
- **settings_service.settings.model_dump(),
763
- }
764
761
  except Exception as exc:
765
762
  raise HTTPException(status_code=500, detail=str(exc)) from exc
@@ -17,13 +17,13 @@ from langflow.graph.schema import RunOutputs
17
17
  from langflow.schema.dotdict import dotdict
18
18
  from langflow.schema.graph import Tweaks
19
19
  from langflow.schema.schema import InputType, OutputType, OutputValue
20
- from langflow.serialization import constants as serialization_constants
21
20
  from langflow.serialization.serialization import get_max_items_length, get_max_text_length, serialize
22
21
  from langflow.services.database.models.api_key.model import ApiKeyRead
23
22
  from langflow.services.database.models.base import orjson_dumps
24
23
  from langflow.services.database.models.flow.model import FlowCreate, FlowRead
25
24
  from langflow.services.database.models.user.model import UserRead
26
- from langflow.services.settings.feature_flags import FeatureFlags
25
+ from langflow.services.settings.base import Settings
26
+ from langflow.services.settings.feature_flags import FEATURE_FLAGS, FeatureFlags
27
27
  from langflow.services.tracing.schema import Log
28
28
 
29
29
 
@@ -395,8 +395,8 @@ class FlowDataRequest(BaseModel):
395
395
 
396
396
  class ConfigResponse(BaseModel):
397
397
  feature_flags: FeatureFlags
398
- serialization_max_items_length: int = serialization_constants.MAX_ITEMS_LENGTH
399
- serialization_max_text_length: int = serialization_constants.MAX_TEXT_LENGTH
398
+ serialization_max_items_length: int
399
+ serialization_max_text_length: int
400
400
  frontend_timeout: int
401
401
  auto_saving: bool
402
402
  auto_saving_interval: int
@@ -407,6 +407,31 @@ class ConfigResponse(BaseModel):
407
407
  public_flow_expiration: int
408
408
  event_delivery: Literal["polling", "streaming", "direct"]
409
409
 
410
+ @classmethod
411
+ def from_settings(cls, settings: Settings) -> "ConfigResponse":
412
+ """Create a ConfigResponse instance using values from a Settings object and global feature flags.
413
+
414
+ Parameters:
415
+ settings (Settings): The Settings object containing configuration values.
416
+
417
+ Returns:
418
+ ConfigResponse: An instance populated with configuration and feature flag values.
419
+ """
420
+ return cls(
421
+ feature_flags=FEATURE_FLAGS,
422
+ serialization_max_items_length=settings.max_items_length,
423
+ serialization_max_text_length=settings.max_text_length,
424
+ frontend_timeout=settings.frontend_timeout,
425
+ auto_saving=settings.auto_saving,
426
+ auto_saving_interval=settings.auto_saving_interval,
427
+ health_check_max_retries=settings.health_check_max_retries,
428
+ max_file_size_upload=settings.max_file_size_upload,
429
+ webhook_polling_interval=settings.webhook_polling_interval,
430
+ public_flow_cleanup_interval=settings.public_flow_cleanup_interval,
431
+ public_flow_expiration=settings.public_flow_expiration,
432
+ event_delivery=settings.event_delivery,
433
+ )
434
+
410
435
 
411
436
  class CancelFlowResponse(BaseModel):
412
437
  """Response model for flow build cancellation."""
@@ -1 +1 @@
1
- import{j as a}from"./index-BjpnwoH1.js";const s=l=>a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 54 54",width:"1em",height:"1em",...l,children:a.jsxs("g",{fill:"none",fillRule:"evenodd",children:[a.jsx("path",{fill:"#36C5F0",d:"M19.712.133a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386h5.376V5.52A5.381 5.381 0 0 0 19.712.133m0 14.365H5.376A5.381 5.381 0 0 0 0 19.884a5.381 5.381 0 0 0 5.376 5.387h14.336a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386"}),a.jsx("path",{fill:"#2EB67D",d:"M53.76 19.884a5.381 5.381 0 0 0-5.376-5.386 5.381 5.381 0 0 0-5.376 5.386v5.387h5.376a5.381 5.381 0 0 0 5.376-5.387m-14.336 0V5.52A5.381 5.381 0 0 0 34.048.133a5.381 5.381 0 0 0-5.376 5.387v14.364a5.381 5.381 0 0 0 5.376 5.387 5.381 5.381 0 0 0 5.376-5.387"}),a.jsx("path",{fill:"#ECB22E",d:"M34.048 54a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386h-5.376v5.386A5.381 5.381 0 0 0 34.048 54m0-14.365h14.336a5.381 5.381 0 0 0 5.376-5.386 5.381 5.381 0 0 0-5.376-5.387H34.048a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386"}),a.jsx("path",{fill:"#E01E5A",d:"M0 34.249a5.381 5.381 0 0 0 5.376 5.386 5.381 5.381 0 0 0 5.376-5.386v-5.387H5.376A5.381 5.381 0 0 0 0 34.25m14.336-.001v14.364A5.381 5.381 0 0 0 19.712 54a5.381 5.381 0 0 0 5.376-5.387V34.25a5.381 5.381 0 0 0-5.376-5.387 5.381 5.381 0 0 0-5.376 5.387"})]})});export{s as default};
1
+ import{j as a}from"./index-CDSNOzuw.js";const s=l=>a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 54 54",width:"1em",height:"1em",...l,children:a.jsxs("g",{fill:"none",fillRule:"evenodd",children:[a.jsx("path",{fill:"#36C5F0",d:"M19.712.133a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386h5.376V5.52A5.381 5.381 0 0 0 19.712.133m0 14.365H5.376A5.381 5.381 0 0 0 0 19.884a5.381 5.381 0 0 0 5.376 5.387h14.336a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386"}),a.jsx("path",{fill:"#2EB67D",d:"M53.76 19.884a5.381 5.381 0 0 0-5.376-5.386 5.381 5.381 0 0 0-5.376 5.386v5.387h5.376a5.381 5.381 0 0 0 5.376-5.387m-14.336 0V5.52A5.381 5.381 0 0 0 34.048.133a5.381 5.381 0 0 0-5.376 5.387v14.364a5.381 5.381 0 0 0 5.376 5.387 5.381 5.381 0 0 0 5.376-5.387"}),a.jsx("path",{fill:"#ECB22E",d:"M34.048 54a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386h-5.376v5.386A5.381 5.381 0 0 0 34.048 54m0-14.365h14.336a5.381 5.381 0 0 0 5.376-5.386 5.381 5.381 0 0 0-5.376-5.387H34.048a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386"}),a.jsx("path",{fill:"#E01E5A",d:"M0 34.249a5.381 5.381 0 0 0 5.376 5.386 5.381 5.381 0 0 0 5.376-5.386v-5.387H5.376A5.381 5.381 0 0 0 0 34.25m14.336-.001v14.364A5.381 5.381 0 0 0 19.712 54a5.381 5.381 0 0 0 5.376-5.387V34.25a5.381 5.381 0 0 0-5.376-5.387 5.381 5.381 0 0 0-5.376 5.387"})]})});export{s as default};