ethyca-fides 2.58.1b5__py2.py3-none-any.whl → 2.58.2b0__py2.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 (88) hide show
  1. {ethyca_fides-2.58.1b5.dist-info → ethyca_fides-2.58.2b0.dist-info}/METADATA +1 -1
  2. {ethyca_fides-2.58.1b5.dist-info → ethyca_fides-2.58.2b0.dist-info}/RECORD +88 -86
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/6e565c16dae1_add_tcf_publisher_restrictions.py +107 -0
  5. fides/api/db/base.py +4 -0
  6. fides/api/models/tcf_publisher_restrictions.py +186 -0
  7. fides/ui-build/static/admin/404.html +1 -1
  8. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  9. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  10. fides/ui-build/static/admin/add-systems.html +1 -1
  11. fides/ui-build/static/admin/ant-poc.html +1 -1
  12. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  13. fides/ui-build/static/admin/consent/configure.html +1 -1
  14. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  15. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  16. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  17. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  18. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  19. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  20. fides/ui-build/static/admin/consent/properties.html +1 -1
  21. fides/ui-build/static/admin/consent/reporting.html +1 -1
  22. fides/ui-build/static/admin/consent.html +1 -1
  23. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  24. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  25. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  26. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  27. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  28. fides/ui-build/static/admin/data-catalog.html +1 -1
  29. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  30. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  31. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  32. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  33. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  34. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  35. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  36. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  37. fides/ui-build/static/admin/datamap.html +1 -1
  38. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  39. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  40. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  41. fides/ui-build/static/admin/dataset/new.html +1 -1
  42. fides/ui-build/static/admin/dataset.html +1 -1
  43. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  44. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  45. fides/ui-build/static/admin/datastore-connection.html +1 -1
  46. fides/ui-build/static/admin/index.html +1 -1
  47. fides/ui-build/static/admin/integrations/[id].html +1 -1
  48. fides/ui-build/static/admin/integrations.html +1 -1
  49. fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
  50. fides/ui-build/static/admin/lib/fides-headless.js +1 -1
  51. fides/ui-build/static/admin/lib/fides-tcf.js +3 -3
  52. fides/ui-build/static/admin/lib/fides.js +2 -2
  53. fides/ui-build/static/admin/login/[provider].html +1 -1
  54. fides/ui-build/static/admin/login.html +1 -1
  55. fides/ui-build/static/admin/messaging/[id].html +1 -1
  56. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  57. fides/ui-build/static/admin/messaging.html +1 -1
  58. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  59. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  60. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  61. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  62. fides/ui-build/static/admin/privacy-requests.html +1 -1
  63. fides/ui-build/static/admin/properties/[id].html +1 -1
  64. fides/ui-build/static/admin/properties/add-property.html +1 -1
  65. fides/ui-build/static/admin/properties.html +1 -1
  66. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  67. fides/ui-build/static/admin/settings/about.html +1 -1
  68. fides/ui-build/static/admin/settings/consent.html +1 -1
  69. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  70. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  71. fides/ui-build/static/admin/settings/domains.html +1 -1
  72. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  73. fides/ui-build/static/admin/settings/locations.html +1 -1
  74. fides/ui-build/static/admin/settings/organization.html +1 -1
  75. fides/ui-build/static/admin/settings/regulations.html +1 -1
  76. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  77. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  78. fides/ui-build/static/admin/systems.html +1 -1
  79. fides/ui-build/static/admin/taxonomy.html +1 -1
  80. fides/ui-build/static/admin/user-management/new.html +1 -1
  81. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  82. fides/ui-build/static/admin/user-management.html +1 -1
  83. {ethyca_fides-2.58.1b5.dist-info → ethyca_fides-2.58.2b0.dist-info}/LICENSE +0 -0
  84. {ethyca_fides-2.58.1b5.dist-info → ethyca_fides-2.58.2b0.dist-info}/WHEEL +0 -0
  85. {ethyca_fides-2.58.1b5.dist-info → ethyca_fides-2.58.2b0.dist-info}/entry_points.txt +0 -0
  86. {ethyca_fides-2.58.1b5.dist-info → ethyca_fides-2.58.2b0.dist-info}/top_level.txt +0 -0
  87. /fides/ui-build/static/admin/_next/static/{ImUuWMsloiAWNWbICVyCj → u9w7grMtLxEveFsXqNFab}/_buildManifest.js +0 -0
  88. /fides/ui-build/static/admin/_next/static/{ImUuWMsloiAWNWbICVyCj → u9w7grMtLxEveFsXqNFab}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ethyca-fides
3
- Version: 2.58.1b5
3
+ Version: 2.58.2b0
4
4
  Summary: Open-source ecosystem for data privacy as code.
5
5
  Home-page: https://github.com/ethyca/fides
6
6
  Author: Ethyca, Inc.
@@ -1,5 +1,5 @@
1
1
  fides/__init__.py,sha256=tE3qqipY9eynYXYpQeksYGHP5NfeXyq-L9mBtpFIxl8,139
2
- fides/_version.py,sha256=d7cdyutBP92CjtruN44XexWuZE-c6hC6Ngi0sPMgUyY,500
2
+ fides/_version.py,sha256=bHnzdDJjXl0z_95X1Oif7pCl5rseCq-UgOqE7klttwA,500
3
3
  fides/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  fides/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  fides/api/analytics.py,sha256=vgwja9DB7gPsQSE3KQi0F3r6yWmnW66wBRC9FpawfRI,1910
@@ -135,6 +135,7 @@ fides/api/alembic/migrations/versions/6b9885e68cbb_add_plus_system_scans_table.p
135
135
  fides/api/alembic/migrations/versions/6bd93cb0603d_add_egress_and_ingress_to_systems.py,sha256=SF8abkI1Tb67Y89ldq8OZlSWVJAinFgUKnXFsmA703c,573
136
136
  fides/api/alembic/migrations/versions/6cfd59e7920a_new_tables_for_pre_approval_webhooks.py,sha256=3DktNUFAgluZq7eeN5_uo5H79cHlbmSbGGhpK02vkCY,2736
137
137
  fides/api/alembic/migrations/versions/6d6b0b7cbb36_add_privacynotice_tables.py,sha256=wX8VHvZ6aauFZUmH9ufLUiMPeVvQMEXn8b5If6uDTVA,4688
138
+ fides/api/alembic/migrations/versions/6e565c16dae1_add_tcf_publisher_restrictions.py,sha256=SHqwQ_HqkAECG9tRdUTksmMVbK3h8rG8j6M_yVON2dY,3050
138
139
  fides/api/alembic/migrations/versions/6ea2171c544f_change_attachment_storage_key_to_.py,sha256=4RIAQi5LGessli8NCO_WWWL7W8s2Pm5NBeksYE361dQ,1928
139
140
  fides/api/alembic/migrations/versions/6f98e1bd7e4f_another_upstream_merge.py,sha256=wGjn7bFEZNRzyMwGGuk9ThssERJcxqEoL9NhJhU_vx8,392
140
141
  fides/api/alembic/migrations/versions/708a780b01ba_add_version_fields_to_default_types.py,sha256=_4baR3IOmb0byWN77OxLeHXZwXEA2eUEx1sNJYrUy4E,2936
@@ -318,7 +319,7 @@ fides/api/cryptography/identity_salt.py,sha256=CYupQaaN2P81sXUYIbZfNLf8kMpboUJJK
318
319
  fides/api/cryptography/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
320
  fides/api/cryptography/schemas/jwt.py,sha256=2UgOJ99GLOBbxMdv2Etyo4J0fu1gPMKfD0zlKpgR7WU,188
320
321
  fides/api/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
- fides/api/db/base.py,sha256=2_MhBes5Ll3qwR6mZtgIRZcR3P6gSU2iCxuQkmrZxYI,2912
322
+ fides/api/db/base.py,sha256=w6L0NXF6ZwjmD_ueDoHi-oVUljsBP19QPDbqy-_x47c,3023
322
323
  fides/api/db/base_class.py,sha256=XrzpwZ3rUKSVt_7j8PCTv6BjGhQzXnOJpcshPZfA4pg,12571
323
324
  fides/api/db/crud.py,sha256=1h9AXOyTPlZFrrpy7mQLN2FDGr48NkuJtnAKxMzVGhg,14013
324
325
  fides/api/db/ctl_session.py,sha256=Q6x737gm-WCiShhCyHyAFSd6Z2GAtAWw6hR-Y_gO_Jw,1710
@@ -394,6 +395,7 @@ fides/api/models/storage.py,sha256=jIqibe_APYdY7iJMdtyg8TQ7rXgPrzJ3khyfSUpN24w,6
394
395
  fides/api/models/system_compass_sync.py,sha256=Xf1GIiKQTM66DPTW7OiBY1tPCwSsht1Y9l-5Hpxc5u0,1159
395
396
  fides/api/models/system_history.py,sha256=qfiK1Ei5i_B0j8_rOG5WE3eMXPvFJ29QRAiBsELHDzU,1479
396
397
  fides/api/models/system_manager.py,sha256=U7ZxIFjMA_H3eY4kyT7jfOa59Lz8hLePGURDcv5ihfA,512
398
+ fides/api/models/tcf_publisher_restrictions.py,sha256=JJpDPDy-lo5ICOmBPrn64GDz9p4_0HbsnVO5dnB_Y30,6850
397
399
  fides/api/models/tcf_purpose_overrides.py,sha256=_7RcctuoPnKT8o70S2_4AArVGXz_xx97GqLS87AJomk,716
398
400
  fides/api/models/privacy_request/__init__.py,sha256=AavNswo44z-vHKqYy98sjSozH_XH9vpBFMOv1qt4Ty4,1237
399
401
  fides/api/models/privacy_request/consent.py,sha256=JTt9rQ5xxv31b62wqItHRy5Nl3iSzk1ZnIdn1P1lpis,5220
@@ -770,29 +772,27 @@ fides/service/messaging/aws_ses_service.py,sha256=7yZe4wuhWzdZl6soddHrUhExJvIXeq
770
772
  fides/service/messaging/messaging_service.py,sha256=_3iObiVslfJzuzCukCDw2gbQXrOPpMZs3LqG1Dbmirw,11710
771
773
  fides/service/privacy_request/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
772
774
  fides/service/privacy_request/privacy_request_service.py,sha256=n751XgEPW4PN7HnodgZCzV6cQ9Jt_5h5Who6TFr7BSo,26854
773
- fides/ui-build/static/admin/404.html,sha256=3yWH6V_GoZrcdh0teL9RTM_X0bxYrDyzqGWhbXM2XRw,1466
774
- fides/ui-build/static/admin/add-systems.html,sha256=MMYf6Xu7HZ3ro6roybqWl0iTN4jCURmoJmW-1Yv8c1E,1642
775
- fides/ui-build/static/admin/ant-poc.html,sha256=_iGCLNhTPxeXI5eLU2dLoas7iCbDSLf1j3cWt2DB5uI,1474
776
- fides/ui-build/static/admin/consent.html,sha256=J1DFxVpl2FHPjv9tHK1dPO6buDqKUsDe5y1oX0NmYWE,1474
777
- fides/ui-build/static/admin/data-catalog.html,sha256=3WewtFfSzj5qNqYIe4ETq2jKbqXx79fUv1S5jqNrUs0,2116
778
- fides/ui-build/static/admin/datamap.html,sha256=B3N3ac-MwMBrpoKcEm884du-X6W-fC94lAGO4BIdzzw,2023
779
- fides/ui-build/static/admin/dataset.html,sha256=tNGwzp9PbbiliZ_z5WOWmYvS-A7Giha0LLe3AqYlZhs,1868
780
- fides/ui-build/static/admin/datastore-connection.html,sha256=mNh-RcwDKuV4X6qZLckeGHiJbDIfxXf6Anay6FY64iw,1660
775
+ fides/ui-build/static/admin/404.html,sha256=raCqGWFe4FHpL_UncCwgjcegFEdO0KebuXBKV2wvpos,1466
776
+ fides/ui-build/static/admin/add-systems.html,sha256=uh4tMMLrxCTtY9Oe9QMt_RCLvoDMGKmXtsucPZuaTU0,1642
777
+ fides/ui-build/static/admin/ant-poc.html,sha256=UO0FpuvM6m-rvnUXiw2mK98Ksq2HB16D4TD7U1gfo2A,1474
778
+ fides/ui-build/static/admin/consent.html,sha256=mN_z_vFGbjUsZT9Qjqt3NV6Fb6SggQOpWGItMjUruGA,1474
779
+ fides/ui-build/static/admin/data-catalog.html,sha256=HVUpFCtl_E3lm_Jby6LxYVPhgxx1zC388kgwbiRCyFk,2116
780
+ fides/ui-build/static/admin/datamap.html,sha256=7k_-BNKudzSi1dUlops4ouvyGPazt-uS_Jg2-vr9LKI,2023
781
+ fides/ui-build/static/admin/dataset.html,sha256=6LYYIGHFDCk1sl63Caq8xvWMdieSi4n_M2B1thW1oZQ,1868
782
+ fides/ui-build/static/admin/datastore-connection.html,sha256=exESTeLzr7xVAVjv8S2fCGPq4j15aehSt19v3BOiNTU,1660
781
783
  fides/ui-build/static/admin/favicon.ico,sha256=xxtarycoqCOznVZCG0z5Wej6EfYvMYwyz6EUwaVwhEw,4286
782
- fides/ui-build/static/admin/index.html,sha256=8uvnWFoiLSG5sHtg-a07z0lWZY-ltq26il9LN6KFh50,1625
783
- fides/ui-build/static/admin/integrations.html,sha256=dWcy-BEpuemr-kXBYa4yWGSzKrTp6EZGd6PJWNqeHbM,1874
784
- fides/ui-build/static/admin/login.html,sha256=dq5a-Z1AU1JI5TsPYlAhIAN1GLV8nPLrLNTeZ_oc3ys,1470
784
+ fides/ui-build/static/admin/index.html,sha256=f_4b1gMWUuQLhLgYVQYoY74YH58pgx3UZv_bmFYhwpk,1625
785
+ fides/ui-build/static/admin/integrations.html,sha256=t8UrgIexB0SUaoCYe62SkdGUEeGY5VoOz3iumjCz7pk,1874
786
+ fides/ui-build/static/admin/login.html,sha256=F-Qr23Vvdytk4nFgJ--7-7wpV9gedBWLTFF_pefkowQ,1470
785
787
  fides/ui-build/static/admin/logo-icon.svg,sha256=LTpApcJnb73kye_gPF3KG8qNe6S3HJJKeebdl6aJ8fI,147
786
788
  fides/ui-build/static/admin/logo-white.svg,sha256=u12SVA-WPW0GAhJ1wXM4oi2aqKXKmteo6yEvGDgz5jM,2101
787
789
  fides/ui-build/static/admin/logo.svg,sha256=bCostWyEaAVHBbKwGhzAAGJ0ZNgxBGgzhwKsAXS47bg,2100
788
- fides/ui-build/static/admin/messaging.html,sha256=apn0OXRYzl2u54APem88ZLmQPB9Jr9n7vsegulMxlsI,1950
789
- fides/ui-build/static/admin/privacy-requests.html,sha256=DaB5QmbwShkF7RKWikLXJGyWwRSf73dWQUvr2wEZv2E,1808
790
- fides/ui-build/static/admin/properties.html,sha256=ZLXB5lGprQR2h6MaSpV_e6hfhOWTgOt1CmLjQyjp3lw,1794
791
- fides/ui-build/static/admin/systems.html,sha256=3qASxKKYbmatGMth1gXdYMBLW5b02l5CZW06JrmusTI,1712
792
- fides/ui-build/static/admin/taxonomy.html,sha256=VXVINHOwCZsohYk6_Po17KWau7_fmD-F6Ke84RMsdyo,2185
793
- fides/ui-build/static/admin/user-management.html,sha256=Fk3_HapUS-YKDW_D3Y6wSXWdeEqbY_hq6Gb0WbyBQ10,1568
794
- fides/ui-build/static/admin/_next/static/ImUuWMsloiAWNWbICVyCj/_buildManifest.js,sha256=OFMS_rRgPGiPKKCKVlvzhhW-4zo1ElBwOyjGccqoWxk,12159
795
- fides/ui-build/static/admin/_next/static/ImUuWMsloiAWNWbICVyCj/_ssgManifest.js,sha256=-D2RVaEwulH2ck-9Y_5QwX6x5lnaSkDOhosw4jeAt-M,101
790
+ fides/ui-build/static/admin/messaging.html,sha256=rJ6KLk5hKBdrkuDcHVBBTE1pTk-RKg9ePndYEGHp9Co,1950
791
+ fides/ui-build/static/admin/privacy-requests.html,sha256=z-27ryCFaYSQ7IHQG7yYF5pUushecftZRPZEfx3H7S4,1808
792
+ fides/ui-build/static/admin/properties.html,sha256=Op-Pb3rKNf3N2P06OCaQDyTJt-MNhZoTGsYWxH8ZUR8,1794
793
+ fides/ui-build/static/admin/systems.html,sha256=TRK3sWIPj1o0YBgikwDZVyAAW-3SkmWrVzCGjzoAhT4,1712
794
+ fides/ui-build/static/admin/taxonomy.html,sha256=x4jDu-lgs3LdgRGt2DskAA4-PaO_zsGjCJkqVI5LKbw,2185
795
+ fides/ui-build/static/admin/user-management.html,sha256=p4t9V-qzk1LpS2w7Vo8t0dEMzf25ER3P7NvMyTsJ6vE,1568
796
796
  fides/ui-build/static/admin/_next/static/chunks/1100-053fc6b76c65a00f.js,sha256=tifn0uKU6UnB0II0u8ouqRspoUDmDqQhdkvXHyiiIOg,11046
797
797
  fides/ui-build/static/admin/_next/static/chunks/1150-2642cd9cdc8a52f6.js,sha256=B4r2k3bpwczdKR_AzTC1OGiyg1cyLTL4e-Ldpggjad0,17592
798
798
  fides/ui-build/static/admin/_next/static/chunks/1376-98cbf3789b9145c3.js,sha256=I2jmL5rEPJn-GrQpGu6c7wQz7ddarQrqbOaZ54nzRr4,30773
@@ -975,37 +975,39 @@ fides/ui-build/static/admin/_next/static/media/inter-vietnamese-500-normal.7b524
975
975
  fides/ui-build/static/admin/_next/static/media/inter-vietnamese-600-normal.eb82de1d.woff2,sha256=ZKjcMjaLlHAKJJyTcujqJwFDooKWcq8qQSuKZVfXZRA,3876
976
976
  fides/ui-build/static/admin/_next/static/media/inter-vietnamese-700-normal.00e401a9.woff2,sha256=92gZYPHyPg3OZ_u0f78u6ZZNdc53OvVkqhoTelycCqw,3888
977
977
  fides/ui-build/static/admin/_next/static/media/logo-white.c9bf4196.svg,sha256=u12SVA-WPW0GAhJ1wXM4oi2aqKXKmteo6yEvGDgz5jM,2101
978
- fides/ui-build/static/admin/add-systems/manual.html,sha256=_hU1yWt4sD-d62g-7YaTwH5MVfMIYAFF9W21egntyZ0,2595
979
- fides/ui-build/static/admin/add-systems/multiple.html,sha256=iJkFoDOianKbz2p83m9qbGhtqYF86JkaEsGqXWqhfzw,1971
980
- fides/ui-build/static/admin/consent/configure.html,sha256=P6zb0Y5hYjhZzyiaJZPuVyHU9MpRqwDbp_cyJMARVgQ,1887
981
- fides/ui-build/static/admin/consent/privacy-experience.html,sha256=PZw-EQLuhK9-8wY6oQvgb-qbuQf0y6YKBCgxbXzkcPk,1906
982
- fides/ui-build/static/admin/consent/privacy-notices.html,sha256=RgcDHzLTQRDR6Z15t_KpKdsqEOvNoXKFIFWEHfOC_DI,1822
983
- fides/ui-build/static/admin/consent/properties.html,sha256=hq0Nb0j3d8XzdLelw9h05nQBoRm2vVQ_GUjw5kIpJ1Y,1810
984
- fides/ui-build/static/admin/consent/reporting.html,sha256=EVAtt_L_5z9JoqHKWEcdwYeF5gD-ZNrtbyAN6uAwYH4,1810
985
- fides/ui-build/static/admin/consent/configure/add-vendors.html,sha256=ULdhUSnsI87xqyu9RpgD59YnJgE2pFR4T5OuQDE5I_o,1989
986
- fides/ui-build/static/admin/consent/privacy-experience/[id].html,sha256=cj15Fkup56GgMT74m-LHmAy2FRBSxzKGbsagDR8jAwQ,2072
987
- fides/ui-build/static/admin/consent/privacy-experience/new.html,sha256=nvMk1IQ_x0is-38jjzcLKFXy93LwZOeVFHF8CP4CsDc,2066
988
- fides/ui-build/static/admin/consent/privacy-notices/[id].html,sha256=aFSftUUA9Z608HNlz0E2FIQZ9joBy8GwfcoGO_ZPJFI,2066
989
- fides/ui-build/static/admin/consent/privacy-notices/new.html,sha256=Ftf0ko7AYdRKlBh226suz25aVKUONvfsclWTJTW6eMc,2060
990
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html,sha256=-cniDjrDO8NbjEg9xkIglNmCk2lDYCfxselZWWpX6Zc,2316
991
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html,sha256=ieW2jGE7wZbhkfWq86loqMvio6OmVvAKfjMXSF9_iyg,1846
992
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html,sha256=uaF54em489Aom9FxmbvQL1-0fKJJw35-d1up8yzlzi8,1874
993
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html,sha256=1R_K6KsMTtjgCc-WraUVd9BXozdr2tpfXJ5JxhEgmpo,2456
994
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html,sha256=EIRKUFofL1rNhLJYSQ_5coQahATvRrkdR5P8cp5QApw,2428
995
- fides/ui-build/static/admin/data-discovery/action-center.html,sha256=qWnbd23V80QRfT8p41TVktn-ukb24_VHlJPfi2t4cSw,1754
996
- fides/ui-build/static/admin/data-discovery/activity.html,sha256=-BONirNqFFQJsDSfgLPsK7EDYw4Gy2SfQOpiHu2fuJg,1900
997
- fides/ui-build/static/admin/data-discovery/detection.html,sha256=Z7X8OHclJTfocA-dcyoAel_39Mw9zy3sspIblqjo5GU,1980
998
- fides/ui-build/static/admin/data-discovery/discovery.html,sha256=5SxNby6K2Z4Nrd9CZVys3f99oxzbqjNRVuz154QM_98,2374
999
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html,sha256=yFBYSVEww4Z1TlGsmtzlc0mKCUGLAJL5SxmfIgrUpwo,2094
1000
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html,sha256=jb5iPfmTFJKRCaEBbTZKpMJ2X-9Kdw_UL_UrRSAnoyo,2280
1001
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html,sha256=gYim9QM_VAusoJHZ4jSOgMRSvNxQEWL3GcQ3D5C1tio,2012
1002
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html,sha256=So1yLLRSCbKZYuXk_kxSpPbpcaJuiTgmU3rKXxZDgC0,2406
1003
- fides/ui-build/static/admin/dataset/[datasetId].html,sha256=4e8nlhFRsM3YBmQcrhu_DIcuL72UccUT0R2h76es3rc,1896
1004
- fides/ui-build/static/admin/dataset/new.html,sha256=b-S38uILYNqqdCkBUcG_T6WKMnixlLXfRTPWYh-4Rb0,1638
1005
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html,sha256=9mlcH9hiI_MKQh3nAOFPVhL-RVOs98AFDTarR7BWcwM,2328
1006
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html,sha256=4Q6yI0qMd_oQDIpMIhPFh5RVZ2pUim6rlfSXjR3XPLU,2370
1007
- fides/ui-build/static/admin/datastore-connection/[id].html,sha256=Kiwm8J3P-sNtQFD22tAK7atR1HACe5zLGFt5FrhNyHg,1748
1008
- fides/ui-build/static/admin/datastore-connection/new.html,sha256=KiF0AbR4EHXKoe6iYeeeu-1SB494MV9kxDeL2e_s7Go,1820
978
+ fides/ui-build/static/admin/_next/static/u9w7grMtLxEveFsXqNFab/_buildManifest.js,sha256=OFMS_rRgPGiPKKCKVlvzhhW-4zo1ElBwOyjGccqoWxk,12159
979
+ fides/ui-build/static/admin/_next/static/u9w7grMtLxEveFsXqNFab/_ssgManifest.js,sha256=-D2RVaEwulH2ck-9Y_5QwX6x5lnaSkDOhosw4jeAt-M,101
980
+ fides/ui-build/static/admin/add-systems/manual.html,sha256=KmtlIbaxqk40FY6phpWbl9vDbwXa8yNxdGJ3urHV6PA,2595
981
+ fides/ui-build/static/admin/add-systems/multiple.html,sha256=5lKL_pqas61W51cDVx0hY8qMhf7-Mpb-pMm5k906_0k,1971
982
+ fides/ui-build/static/admin/consent/configure.html,sha256=j6DeP3xfkPuZPhyR10CMyO-Agz5Wzz7fTWRsDs577iA,1887
983
+ fides/ui-build/static/admin/consent/privacy-experience.html,sha256=kxOlwpTBVsjnJqXYtWbmpf7qOQtaFilQ3X1RGYaat_Y,1906
984
+ fides/ui-build/static/admin/consent/privacy-notices.html,sha256=-vbFso9KRFxTzk51mg822iwwLz7zs7Pqznvql-nSzro,1822
985
+ fides/ui-build/static/admin/consent/properties.html,sha256=LgIzybaPPUEANs6KfR8b7B1zQIvchZk6mHWAAsWOmbw,1810
986
+ fides/ui-build/static/admin/consent/reporting.html,sha256=EJoosFpgHiFNCmY4WokN4v-M12LA10iLY3Mv4AVRjJo,1810
987
+ fides/ui-build/static/admin/consent/configure/add-vendors.html,sha256=O1n9P3Ao267nNgZ_uUNflL9qd2v7jyk_fVRRUE3-mxk,1989
988
+ fides/ui-build/static/admin/consent/privacy-experience/[id].html,sha256=9717q3zFDm9uNyLIVB0s7_Zg0hSwZBsIetQFj8iflBY,2072
989
+ fides/ui-build/static/admin/consent/privacy-experience/new.html,sha256=NY21gi-Z4zDetM3wrvD0YeGo7U3OGsa4I2dA6AQ0iL4,2066
990
+ fides/ui-build/static/admin/consent/privacy-notices/[id].html,sha256=BuPVpJUwlnSluB4jlJgnx9i-O_5QF8okdeVXqe_AGN0,2066
991
+ fides/ui-build/static/admin/consent/privacy-notices/new.html,sha256=8HEk-7WuY4hwCRLii4b1T3MFGRAE-QoMYMB50GZaitA,2060
992
+ fides/ui-build/static/admin/data-catalog/[systemId]/projects.html,sha256=uZduBEVqjyqwy8z_ubbuvIEOUdBbd9Y0-3CpR_BFeEg,2316
993
+ fides/ui-build/static/admin/data-catalog/[systemId]/resources.html,sha256=zjK8NLCCOrnkcu6x_8bSUR34_nRB4a8lp4KRxft38EI,1846
994
+ fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html,sha256=sOmGXuBSYrA9_wxyrrBZvj6YdMQ3_1Tr8XJoydkg0Zk,1874
995
+ fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html,sha256=bbpB5cMK9x67Z9xVmG0g0G7xOhIpHMCxDiPSZFBrckE,2456
996
+ fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html,sha256=lZJbcwFnvNjzTPFwUYnvcuNT_u7Of6GHuntmhHCOhRc,2428
997
+ fides/ui-build/static/admin/data-discovery/action-center.html,sha256=mmEHGL2j4WtSIBieKs4XbBW9fyifjkFSpYR_J9UfsMs,1754
998
+ fides/ui-build/static/admin/data-discovery/activity.html,sha256=VXm7Q3MnFicXeJVgt5-aqokUtPa9uo5NibRb1vFDv6o,1900
999
+ fides/ui-build/static/admin/data-discovery/detection.html,sha256=S1FT7wj9-a4Yub8TUYxUYg8deq1O6AvR3Pj6ZARC5GM,1980
1000
+ fides/ui-build/static/admin/data-discovery/discovery.html,sha256=1hpZtifP6lkklLkKPlM86e7dSGI9Emn7nk9ixv9Ao5A,2374
1001
+ fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html,sha256=TZwgwDbWZHGVQL6iUcNtZH70GFHE8dD5JznOUUQQSyw,2094
1002
+ fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html,sha256=lHWGSkCQTb8NkADH-o638ZEJFGtb8oXzb9MgUu5LjE8,2280
1003
+ fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html,sha256=dfE8VlLtXIDfIjvUQJexKyXv2-BQs-pP553tP6KfU_w,2012
1004
+ fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html,sha256=6vGIfFwdf6C7lHUBbY99my2m0nScrbHcspGJhgwvK9s,2406
1005
+ fides/ui-build/static/admin/dataset/[datasetId].html,sha256=FlsR8bnU-ep7rJnefE17LbSD-BgcRhKEj9tjHdMC97I,1896
1006
+ fides/ui-build/static/admin/dataset/new.html,sha256=p04wyP444GVQVFCK7enBlH3nBMWt1a4qMRN8Gu60T_Q,1638
1007
+ fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html,sha256=iXK3pDH63mu66-Y0lkTaqM04ccdSTHGqyw5rMus3YLQ,2328
1008
+ fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html,sha256=khqgKjYBjBewzjti6C8qxbSQBsmXdQgDl2eSj0WzMPI,2370
1009
+ fides/ui-build/static/admin/datastore-connection/[id].html,sha256=mt3oDQEAD7vyuTbLLQeXf031rSp0LjXJ2_VRqAVMcsA,1748
1010
+ fides/ui-build/static/admin/datastore-connection/new.html,sha256=oKjR9w2cjl-gS6eSAn5UxUJYBsP8-gC4zIwH7t4wXns,1820
1009
1011
  fides/ui-build/static/admin/images/DatabaseIcon.svg,sha256=gwl8_3APg_6J4ZwWgovOjxgk5AEPyvq3-qGjkF7R4og,8198
1010
1012
  fides/ui-build/static/admin/images/SelectedDatabaseIcon.svg,sha256=L6YBuL-LiKzBXyt9gHZhtqpo2QopXdC7-oEvEWbvSNE,8198
1011
1013
  fides/ui-build/static/admin/images/config_splash.svg,sha256=IH56T1jrG1y4FIKQZXMaePYESYZGot_4jkTaFvmwHl0,176040
@@ -1033,37 +1035,37 @@ fides/ui-build/static/admin/images/oauth-login/custom.svg,sha256=SW1i3Mez8XVMVGR
1033
1035
  fides/ui-build/static/admin/images/oauth-login/github.svg,sha256=eg3RHjc4MKUaVl3p_tSphXB8Z8zTkPmuSUahUjA-pnY,963
1034
1036
  fides/ui-build/static/admin/images/oauth-login/google.svg,sha256=oRdvveXEbNFZ4_xD6u-DxqNIPJh12o3XU2tITX6ghQU,988
1035
1037
  fides/ui-build/static/admin/images/oauth-login/okta.svg,sha256=ymR7Rqk7syL52284jlure_i06-nVKwZbJwB6JXfdNwo,8076
1036
- fides/ui-build/static/admin/integrations/[id].html,sha256=JUntOYFdxIHFcKnHb5nAfOMzpNr_3mDmQXCWyKOWEJw,2126
1037
- fides/ui-build/static/admin/lib/fides-ext-gpp.js,sha256=w0geVFt_8MLO3MAGMWuSbdapLfi7FpnGXzZLC5QZ6hI,201219
1038
- fides/ui-build/static/admin/lib/fides-headless.js,sha256=EEAUgk9Ro_fxbCFU4beCRb8O2KH4iniH4c1lmlZQrLU,70040
1039
- fides/ui-build/static/admin/lib/fides-tcf.js,sha256=OUhY9T6jkFLNz0jlCL1ecACvHBdNgow8fHXVNY0gJ1Y,361249
1040
- fides/ui-build/static/admin/lib/fides.js,sha256=p410rk25nPKfKOq6BcRbzUcf1iaoPsvM0mM9UFwjDSk,146163
1041
- fides/ui-build/static/admin/login/[provider].html,sha256=EZP2J5O9h1-iRosDl4eme_hzDGOm_EyFMiZ1Curk6Ac,1496
1042
- fides/ui-build/static/admin/messaging/[id].html,sha256=kU6oD6OSurQiIhpZmpyUnUUWskVxKePSqj2UCsvw4rQ,1648
1043
- fides/ui-build/static/admin/messaging/add-template.html,sha256=2xVmhjqoX_5qXx7NV7xvw9M_u6vTZY3E-6oLecVmdTA,1660
1044
- fides/ui-build/static/admin/privacy-requests/[id].html,sha256=o7QvqkHnFfbUQL95E4ZzWJlxcsKNZwWhVu_L89g40lY,1744
1045
- fides/ui-build/static/admin/privacy-requests/configure.html,sha256=MJLoNGGKdOdB-LkJDUNdk94R0DC-8M2qlmmopUIiVPw,1512
1046
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html,sha256=ZOQyGdgFvdFdBKZO0vbRIIW2cOsJMFofy-rXK1L8CtA,1532
1047
- fides/ui-build/static/admin/privacy-requests/configure/storage.html,sha256=BVKc4Ih1lcmi60NipKzWE2VLKCdVcURjGjvWvFaZ6Z0,1528
1048
- fides/ui-build/static/admin/properties/[id].html,sha256=INkoQZHqU2ncFuqHkOA_RcbLo890340quvXFAmhhBGs,1650
1049
- fides/ui-build/static/admin/properties/add-property.html,sha256=JkJIdFz4C6MKyJdoZm8m7YnDXMq0HkhtsOygL1TQHBU,1662
1050
- fides/ui-build/static/admin/reporting/datamap.html,sha256=jCgRVhsnKtBeWojSjjn_fhkP31MVFYBrnFsTL3qqRs0,2278
1051
- fides/ui-build/static/admin/settings/about.html,sha256=xRDOMHNJqmB9Kv2VCqroPwH1T5vMVFH3iMJg_oGgbLo,1488
1052
- fides/ui-build/static/admin/settings/consent.html,sha256=RZ9sTzId3WaV47A2-me9wsb13FtDS-k2J7zt3zMij5k,1492
1053
- fides/ui-build/static/admin/settings/custom-fields.html,sha256=-MBRtbXyKulm2lO3AQjgpF3AINxh729_NDdD25i6fAg,1820
1054
- fides/ui-build/static/admin/settings/domain-records.html,sha256=nDSINIOpU86HQSKN19aQ393wBnYZCcUFmDniQOXQHTg,1744
1055
- fides/ui-build/static/admin/settings/domains.html,sha256=fECmb2GFy_UVvnh_V2wLpADCQywi1ysvHU9FUTq6UJM,1492
1056
- fides/ui-build/static/admin/settings/email-templates.html,sha256=cnF9TXiLFCj0mniLkgzPQ19H44m5C49WMROKWtb9WiI,1508
1057
- fides/ui-build/static/admin/settings/locations.html,sha256=yJzv-EA6S881HhXdgXVz2BVQkhatW_majUKSmhTw9Pg,1656
1058
- fides/ui-build/static/admin/settings/organization.html,sha256=0ypzmwRkByTimIrs9A7mGcdmOhIpCwT5hvGAAhC5Eyc,1502
1059
- fides/ui-build/static/admin/settings/regulations.html,sha256=urG_s24JSab3SoF3PxTOrH2y49XH9E2rmjpP1COLLEk,1660
1060
- fides/ui-build/static/admin/systems/configure/[id].html,sha256=AJvo7QpCrQ1l9kat6wZHV9WqPfZbhPaSAtuWgSmLb_A,2607
1061
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html,sha256=WPUM2NBOTHJxYU7SffswiUZ5Y4eQRxzmUvHmm0gI0wQ,1692
1062
- fides/ui-build/static/admin/user-management/new.html,sha256=NvtJMXQ5_UHz3jk6QgQRXWIXavGQBllRxti6NEQ7_vc,1654
1063
- fides/ui-build/static/admin/user-management/profile/[id].html,sha256=_lD_CiK-1NGIAD4vSy5x9HiuI45W_WzGh9odP8Z22Ic,1676
1064
- ethyca_fides-2.58.1b5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1065
- ethyca_fides-2.58.1b5.dist-info/METADATA,sha256=FkLcRAlUTa8_zBvO1WlI2V-0kjlTsOg2r9HreuDYuBw,11361
1066
- ethyca_fides-2.58.1b5.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
1067
- ethyca_fides-2.58.1b5.dist-info/entry_points.txt,sha256=5WeLH-MlYWywYIbMGVrZkPpjTkdHDDf1p-LXFiF9ATo,41
1068
- ethyca_fides-2.58.1b5.dist-info/top_level.txt,sha256=vHQkcSYYOh4ECEGL1JSGUAxFWpwO05QGPV0M2aPxqNQ,6
1069
- ethyca_fides-2.58.1b5.dist-info/RECORD,,
1038
+ fides/ui-build/static/admin/integrations/[id].html,sha256=hH3G6ABMDS-ew8oxPPqIRZzhJxQZjSIHB7OAAimNjKo,2126
1039
+ fides/ui-build/static/admin/lib/fides-ext-gpp.js,sha256=cZlYtIP4xMkkNLunntjZIUhB7h_m_7mn7sZ6wgY28Ns,201174
1040
+ fides/ui-build/static/admin/lib/fides-headless.js,sha256=u9iM0d6XXhLEW2Oi4XhHwIp9RPVzyANSBcheYjToVS8,69996
1041
+ fides/ui-build/static/admin/lib/fides-tcf.js,sha256=tAAt1Vd68e8Br6x_bURx4RHwx-KElkHHs4gcH75Wa2M,361254
1042
+ fides/ui-build/static/admin/lib/fides.js,sha256=vo3O6PcCtQtjjHViNNQf60hruIdHXUlH1Nq_pBtBg-c,146166
1043
+ fides/ui-build/static/admin/login/[provider].html,sha256=augJPa4q8JvTdxjrSCMKLSTqhznOM9FH3xqTUP-n7F8,1496
1044
+ fides/ui-build/static/admin/messaging/[id].html,sha256=kHrD3DUAdDrc1nw3zCv6p6JkAxWeqRKfP0Y0xBpAI9M,1648
1045
+ fides/ui-build/static/admin/messaging/add-template.html,sha256=gwL5igzI8_zOZBarrFjzVH9DdJzHTwXcSqZ0BbFvCRI,1660
1046
+ fides/ui-build/static/admin/privacy-requests/[id].html,sha256=t8eJfQLQHYjdaI9T7oWdy3JOaujdlZ_baiq1eg-ef4U,1744
1047
+ fides/ui-build/static/admin/privacy-requests/configure.html,sha256=BCWcsGQ3BqbYNnZRtVd99r7_cA0jsXEcXXbzJPP_fTw,1512
1048
+ fides/ui-build/static/admin/privacy-requests/configure/messaging.html,sha256=lbYVYUQraXrcYqCaC5EOihGgill1MZhT487q0Qz66qE,1532
1049
+ fides/ui-build/static/admin/privacy-requests/configure/storage.html,sha256=ddpbdAV_SE6QQa_0fhgfY4qTrgl7SrvQmgVLGvp1nr0,1528
1050
+ fides/ui-build/static/admin/properties/[id].html,sha256=aLH2jw-LcUN-u5ZLTJHUj23CTtysN0CRVCH27TxLswI,1650
1051
+ fides/ui-build/static/admin/properties/add-property.html,sha256=5KsL-MD9SXkX5A7sD_1mpeOf-ZYg3EsASgGyu2wKgaI,1662
1052
+ fides/ui-build/static/admin/reporting/datamap.html,sha256=7SIDi-64DpQdtOyVA7bhWo-Z6RkQ9uCAOScCuvW9zV8,2278
1053
+ fides/ui-build/static/admin/settings/about.html,sha256=cuFagk1bq16rY_vmzSLc0YgJnxQg9y697eyIFlb5WTo,1488
1054
+ fides/ui-build/static/admin/settings/consent.html,sha256=aA7IJy-IUiSNRMVJnEhWYeWW2mqEPRu1KJiaBYFMtNU,1492
1055
+ fides/ui-build/static/admin/settings/custom-fields.html,sha256=PO9llOiySTIFbFESrVGwEldZ_jFjvH3lmiwkx0jTSRE,1820
1056
+ fides/ui-build/static/admin/settings/domain-records.html,sha256=xPvkVESk-u43aOgo0DPahz61Xf18Jc3KdA7S3Of3qBI,1744
1057
+ fides/ui-build/static/admin/settings/domains.html,sha256=wsXHK2K3ZUCW7ABZctEfMzz7pLcm4EJWeHpwAGRBRwk,1492
1058
+ fides/ui-build/static/admin/settings/email-templates.html,sha256=SEcg2qU-arB-wxx2P8ckXu-6pgIG-1W-BbFR0WIYeKc,1508
1059
+ fides/ui-build/static/admin/settings/locations.html,sha256=PftZHBZtpkBfAtmy9Im7icL4__XnRzLfvlB-M_-73mE,1656
1060
+ fides/ui-build/static/admin/settings/organization.html,sha256=9s9g09Rvyi7bnvX9hN47JqDFqu5bLafuiWAQ4-x33eg,1502
1061
+ fides/ui-build/static/admin/settings/regulations.html,sha256=NtnRCpeKPeEBJ1xNA1FPMGfDnhb3WM12vCAEsic-fJk,1660
1062
+ fides/ui-build/static/admin/systems/configure/[id].html,sha256=NSj16LAKaKXifj9gdLCLJz8GfBkd7S2YY3h56lqNobI,2607
1063
+ fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html,sha256=JCzTaN-Mwlk34dnOeWYYwGJgIrORv5ZiPznlOSFvF0g,1692
1064
+ fides/ui-build/static/admin/user-management/new.html,sha256=7AI-yhqERVDbeF34n8fNwhQsZSjgnJYXbXJNTiZSlgM,1654
1065
+ fides/ui-build/static/admin/user-management/profile/[id].html,sha256=j1r3bb-ye5DUrcJneKDIEiq87vIiAE-x6uJOqEgESjs,1676
1066
+ ethyca_fides-2.58.2b0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1067
+ ethyca_fides-2.58.2b0.dist-info/METADATA,sha256=b5crPSuLyMArOr_YX6lQMscn3BmYeyUpZYG0Hp0iyFg,11361
1068
+ ethyca_fides-2.58.2b0.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
1069
+ ethyca_fides-2.58.2b0.dist-info/entry_points.txt,sha256=5WeLH-MlYWywYIbMGVrZkPpjTkdHDDf1p-LXFiF9ATo,41
1070
+ ethyca_fides-2.58.2b0.dist-info/top_level.txt,sha256=vHQkcSYYOh4ECEGL1JSGUAxFWpwO05QGPV0M2aPxqNQ,6
1071
+ ethyca_fides-2.58.2b0.dist-info/RECORD,,
fides/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-04-02T10:31:37-0300",
11
+ "date": "2025-04-02T16:21:34-0300",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "48740507b74517afb7a1dde395c0e3a38178a5a9",
15
- "version": "2.58.1b5"
14
+ "full-revisionid": "fe5691256243517ec2cac351e75000e269a4fa50",
15
+ "version": "2.58.2b0"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -0,0 +1,107 @@
1
+ """Add TCF Publisher Restrictions
2
+
3
+ Revision ID: 6e565c16dae1
4
+ Revises: 67d01c4e124e
5
+ Create Date: 2025-04-02 12:35:34.105607
6
+
7
+ """
8
+
9
+ import sqlalchemy as sa
10
+ from alembic import op
11
+ from sqlalchemy.dialects import postgresql
12
+
13
+ # revision identifiers, used by Alembic.
14
+ revision = "6e565c16dae1"
15
+ down_revision = "67d01c4e124e"
16
+ branch_labels = None
17
+ depends_on = None
18
+
19
+
20
+ def upgrade():
21
+ # Create tcf_configuration table
22
+ op.create_table(
23
+ "tcf_configuration",
24
+ sa.Column("id", sa.String(length=255), nullable=False),
25
+ sa.Column(
26
+ "created_at",
27
+ sa.DateTime(timezone=True),
28
+ server_default=sa.text("now()"),
29
+ nullable=True,
30
+ ),
31
+ sa.Column(
32
+ "updated_at",
33
+ sa.DateTime(timezone=True),
34
+ server_default=sa.text("now()"),
35
+ nullable=True,
36
+ ),
37
+ sa.Column("name", sa.String(), nullable=False),
38
+ sa.PrimaryKeyConstraint("id"),
39
+ sa.UniqueConstraint("name"),
40
+ )
41
+ # Create tcf_publisher_restriction table
42
+ op.create_table(
43
+ "tcf_publisher_restriction",
44
+ sa.Column("id", sa.String(length=255), nullable=False),
45
+ sa.Column(
46
+ "created_at",
47
+ sa.DateTime(timezone=True),
48
+ server_default=sa.text("now()"),
49
+ nullable=True,
50
+ ),
51
+ sa.Column(
52
+ "updated_at",
53
+ sa.DateTime(timezone=True),
54
+ server_default=sa.text("now()"),
55
+ nullable=True,
56
+ ),
57
+ sa.Column("tcf_configuration_id", sa.String(255), nullable=False),
58
+ sa.Column("purpose_id", sa.Integer(), nullable=False),
59
+ sa.Column(
60
+ "restriction_type",
61
+ sa.Enum(
62
+ "purpose_restriction",
63
+ "require_consent",
64
+ "require_legitimate_interest",
65
+ name="tcfrestrictiontype",
66
+ ),
67
+ nullable=False,
68
+ ),
69
+ sa.Column(
70
+ "vendor_restriction",
71
+ sa.Enum(
72
+ "restrict_all_vendors",
73
+ "allow_specific_vendors",
74
+ "restrict_specific_vendors",
75
+ name="tcfvendorrestriction",
76
+ ),
77
+ nullable=False,
78
+ ),
79
+ sa.Column(
80
+ "range_entries",
81
+ postgresql.ARRAY(postgresql.JSONB(astext_type=sa.Text())),
82
+ server_default="{}",
83
+ nullable=False,
84
+ ),
85
+ sa.ForeignKeyConstraint(
86
+ ["tcf_configuration_id"],
87
+ ["tcf_configuration.id"],
88
+ ondelete="CASCADE",
89
+ ),
90
+ sa.PrimaryKeyConstraint("id"),
91
+ )
92
+ op.create_index(
93
+ op.f("ix_tcf_publisher_restriction_config_purpose"),
94
+ "tcf_publisher_restriction",
95
+ ["tcf_configuration_id", "purpose_id"],
96
+ unique=False,
97
+ )
98
+
99
+
100
+ def downgrade():
101
+ # Drop tables
102
+ op.drop_table("tcf_publisher_restriction")
103
+ op.drop_table("tcf_configuration")
104
+
105
+ # Drop enums
106
+ op.execute("DROP TYPE tcfrestrictiontype")
107
+ op.execute("DROP TYPE tcfvendorrestriction")
fides/api/db/base.py CHANGED
@@ -59,4 +59,8 @@ from fides.api.models.storage import StorageConfig
59
59
  from fides.api.models.system_compass_sync import SystemCompassSync
60
60
  from fides.api.models.system_history import SystemHistory
61
61
  from fides.api.models.system_manager import SystemManager
62
+ from fides.api.models.tcf_publisher_restrictions import (
63
+ TCFConfiguration,
64
+ TCFPublisherRestriction,
65
+ )
62
66
  from fides.api.models.tcf_purpose_overrides import TCFPurposeOverride
@@ -0,0 +1,186 @@
1
+ from enum import Enum
2
+ from typing import Any, Dict, List, Optional
3
+
4
+ from pydantic import BaseModel, Field, ValidationError, model_validator
5
+ from sqlalchemy import Column
6
+ from sqlalchemy import Enum as EnumColumn
7
+ from sqlalchemy import ForeignKey, Index, Integer, String
8
+ from sqlalchemy.dialects.postgresql import ARRAY, JSONB
9
+ from sqlalchemy.ext.declarative import declared_attr
10
+ from sqlalchemy.orm import Session
11
+
12
+ from fides.api.db.base_class import Base
13
+
14
+
15
+ class TCFRestrictionType(str, Enum):
16
+ """Enum for TCF restriction types"""
17
+
18
+ purpose_restriction = "purpose_restriction"
19
+ require_consent = "require_consent"
20
+ require_legitimate_interest = "require_legitimate_interest"
21
+
22
+
23
+ class TCFVendorRestriction(str, Enum):
24
+ """Enum for TCF vendor restriction types"""
25
+
26
+ restrict_all_vendors = "restrict_all_vendors"
27
+ allow_specific_vendors = "allow_specific_vendors"
28
+ restrict_specific_vendors = "restrict_specific_vendors"
29
+
30
+
31
+ # This is Pydantic model used for validation, not a database model!
32
+ class RangeEntry(BaseModel):
33
+ """
34
+ Pydantic model that represents a vendor range entry as per the TCF spec,
35
+ used for Publisher Restrictions.
36
+ A range entry must have a start_vendor_id and optionally an end_vendor_id.
37
+ If end_vendor_id is present, it must be greater than start_vendor_id.
38
+ """
39
+
40
+ start_vendor_id: int = Field(description="The starting vendor ID in the range")
41
+ end_vendor_id: Optional[int] = Field(
42
+ default=None, description="The ending vendor ID in the range (inclusive)"
43
+ )
44
+
45
+ @model_validator(mode="after")
46
+ def validate_vendor_range(self) -> "RangeEntry":
47
+ """Validates that end_vendor_id is greater than start_vendor_id if present."""
48
+ if (
49
+ self.end_vendor_id is not None
50
+ and self.end_vendor_id <= self.start_vendor_id
51
+ ):
52
+ raise ValueError("end_vendor_id must be greater than start_vendor_id")
53
+ return self
54
+
55
+ def get_end(self) -> int:
56
+ """Get the effective end of the range."""
57
+ return self.end_vendor_id or self.start_vendor_id
58
+
59
+ def overlaps_with(self, other: "RangeEntry") -> bool:
60
+ """
61
+ Check if this range overlaps with another range.
62
+ Two ranges overlap if the end of the range that starts first is greater than
63
+ or equal to the start of the range that starts second.
64
+ """
65
+ # Sort ranges by start_vendor_id
66
+ first = self if self.start_vendor_id <= other.start_vendor_id else other
67
+ second = other if self.start_vendor_id <= other.start_vendor_id else self
68
+
69
+ # If first range's end is >= second range's start, they overlap
70
+ return first.get_end() >= second.start_vendor_id
71
+
72
+
73
+ class TCFConfiguration(Base):
74
+ """
75
+ Stores TCF Configuration settings.
76
+ """
77
+
78
+ @declared_attr
79
+ def __tablename__(self) -> str:
80
+ return "tcf_configuration"
81
+
82
+ name = Column(String, nullable=False, index=True, unique=True)
83
+
84
+
85
+ class TCFPublisherRestriction(Base):
86
+ """
87
+ Stores TCF Publisher Restrictions. TCF Publisher Restrictions belong to a TCF Configuration,
88
+ and specify the restriction type and vendor restriction for a given purpose.
89
+ """
90
+
91
+ @declared_attr
92
+ def __tablename__(self) -> str:
93
+ return "tcf_publisher_restriction"
94
+
95
+ tcf_configuration_id = Column(
96
+ String(255),
97
+ ForeignKey("tcf_configuration.id", ondelete="CASCADE"),
98
+ nullable=False,
99
+ index=True,
100
+ )
101
+ purpose_id = Column(Integer, nullable=False)
102
+ restriction_type = Column(EnumColumn(TCFRestrictionType), nullable=False)
103
+ vendor_restriction = Column(EnumColumn(TCFVendorRestriction), nullable=False)
104
+
105
+ # range_entries represents a list of RangeEntry objects as per the TCF spec.
106
+ # A RangeEntry object will have a start_vendor_id and an end_vendor_id (the
107
+ # end vendor id is included in the range).
108
+ # If the range represents a single vendor, then the end_vendor_id can be omitted.
109
+ # TCF spec also includes an IsARange boolean, which we are omitting because it
110
+ # can be inferred from the presence of the end_vendor_id.
111
+ range_entries = Column(
112
+ ARRAY(JSONB),
113
+ nullable=True,
114
+ server_default="{}",
115
+ default=list,
116
+ )
117
+
118
+ __table_args__ = (
119
+ Index(
120
+ "ix_tcf_publisher_restriction_config_purpose",
121
+ "tcf_configuration_id",
122
+ "purpose_id",
123
+ ),
124
+ )
125
+
126
+ @staticmethod
127
+ def validate_entires_for_vendor_restriction(
128
+ entries: List[RangeEntry], vendor_restriction: TCFVendorRestriction
129
+ ) -> None:
130
+ """
131
+ Validates that if vendor_restriction is restrict_all_vendors, then the entries list is empty.
132
+ """
133
+ if vendor_restriction == TCFVendorRestriction.restrict_all_vendors and entries:
134
+ raise ValueError("restrict_all_vendors cannot have any range entries")
135
+
136
+ @staticmethod
137
+ def check_for_overlaps(entries: List[RangeEntry]) -> None:
138
+ """
139
+ Check for overlapping ranges in a list of RangeEntry objects,
140
+ raises a ValueError if any pair of RangeEntry overlaps with each other.
141
+ Sorts the ranges by start_vendor_id and compares adjacent ranges.
142
+ """
143
+ # Sort ranges by start_vendor_id
144
+ sorted_entries = sorted(entries, key=lambda x: x.start_vendor_id)
145
+
146
+ # Compare each range with the next one
147
+ for i in range(len(sorted_entries) - 1):
148
+ current = sorted_entries[i]
149
+ next_entry = sorted_entries[i + 1]
150
+ if current.overlaps_with(next_entry):
151
+ raise ValueError(
152
+ f"Overlapping ranges found: {current.model_dump()} overlaps with {next_entry.model_dump()}"
153
+ )
154
+
155
+ @classmethod
156
+ def create(
157
+ cls,
158
+ db: Session,
159
+ *,
160
+ data: Dict[str, Any],
161
+ check_name: bool = True,
162
+ ) -> "TCFPublisherRestriction":
163
+ """
164
+ Create a new TCFPublisherRestriction with validated range_entries.
165
+ Validates each range entry using the RangeEntry Pydantic model.
166
+ """
167
+ raw_range_entries = data.get("range_entries", [])
168
+
169
+ try:
170
+ # Validate each range entry using the Pydantic model
171
+ validated_entries = [
172
+ RangeEntry.model_validate(entry) for entry in raw_range_entries
173
+ ]
174
+ except ValidationError as e:
175
+ raise ValueError(f"Invalid range entry: {str(e)}")
176
+
177
+ # Validate the entries for the vendor restriction
178
+ cls.validate_entires_for_vendor_restriction(
179
+ validated_entries, data["vendor_restriction"]
180
+ )
181
+ # Check for overlapping ranges
182
+ cls.check_for_overlaps(validated_entries)
183
+
184
+ data["range_entries"] = [entry.model_dump() for entry in validated_entries]
185
+
186
+ return super().create(db=db, data=data, check_name=check_name)
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/113d823fe71f6af0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/113d823fe71f6af0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d4f59c13cb550ff4.js" defer=""></script><script src="/_next/static/chunks/pages/404-b202c0d8f6fc75c3.js" defer=""></script><script src="/_next/static/ImUuWMsloiAWNWbICVyCj/_buildManifest.js" defer=""></script><script src="/_next/static/ImUuWMsloiAWNWbICVyCj/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"ImUuWMsloiAWNWbICVyCj","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/113d823fe71f6af0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/113d823fe71f6af0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d4f59c13cb550ff4.js" defer=""></script><script src="/_next/static/chunks/pages/404-b202c0d8f6fc75c3.js" defer=""></script><script src="/_next/static/u9w7grMtLxEveFsXqNFab/_buildManifest.js" defer=""></script><script src="/_next/static/u9w7grMtLxEveFsXqNFab/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"u9w7grMtLxEveFsXqNFab","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/113d823fe71f6af0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/113d823fe71f6af0.css" data-n-g=""/><link rel="preload" href="/_next/static/css/d2d4e9a6923e6730.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d2d4e9a6923e6730.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d4f59c13cb550ff4.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/4481-aab99ff80f707473.js" defer=""></script><script src="/_next/static/chunks/7980-72f745bff9fabcc9.js" defer=""></script><script src="/_next/static/chunks/355-8a77c9a1cd027f2e.js" defer=""></script><script src="/_next/static/chunks/8499-43606100edf42fdf.js" defer=""></script><script src="/_next/static/chunks/7453-ef1887105c062d37.js" defer=""></script><script src="/_next/static/chunks/4450-f5e6eb9270f03bf0.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/manual-9acaab973dfe86e2.js" defer=""></script><script src="/_next/static/ImUuWMsloiAWNWbICVyCj/_buildManifest.js" defer=""></script><script src="/_next/static/ImUuWMsloiAWNWbICVyCj/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/manual","query":{},"buildId":"ImUuWMsloiAWNWbICVyCj","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/113d823fe71f6af0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/113d823fe71f6af0.css" data-n-g=""/><link rel="preload" href="/_next/static/css/d2d4e9a6923e6730.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d2d4e9a6923e6730.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d4f59c13cb550ff4.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/4481-aab99ff80f707473.js" defer=""></script><script src="/_next/static/chunks/7980-72f745bff9fabcc9.js" defer=""></script><script src="/_next/static/chunks/355-8a77c9a1cd027f2e.js" defer=""></script><script src="/_next/static/chunks/8499-43606100edf42fdf.js" defer=""></script><script src="/_next/static/chunks/7453-ef1887105c062d37.js" defer=""></script><script src="/_next/static/chunks/4450-f5e6eb9270f03bf0.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/manual-9acaab973dfe86e2.js" defer=""></script><script src="/_next/static/u9w7grMtLxEveFsXqNFab/_buildManifest.js" defer=""></script><script src="/_next/static/u9w7grMtLxEveFsXqNFab/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/manual","query":{},"buildId":"u9w7grMtLxEveFsXqNFab","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/113d823fe71f6af0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/113d823fe71f6af0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d4f59c13cb550ff4.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-aab99ff80f707473.js" defer=""></script><script src="/_next/static/chunks/355-8a77c9a1cd027f2e.js" defer=""></script><script src="/_next/static/chunks/4723-1dd1d16f404d56a2.js" defer=""></script><script src="/_next/static/chunks/5826-ef0aa43ffad83acc.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/multiple-ba975134a85588f8.js" defer=""></script><script src="/_next/static/ImUuWMsloiAWNWbICVyCj/_buildManifest.js" defer=""></script><script src="/_next/static/ImUuWMsloiAWNWbICVyCj/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/multiple","query":{},"buildId":"ImUuWMsloiAWNWbICVyCj","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/113d823fe71f6af0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/113d823fe71f6af0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-d4f59c13cb550ff4.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-aab99ff80f707473.js" defer=""></script><script src="/_next/static/chunks/355-8a77c9a1cd027f2e.js" defer=""></script><script src="/_next/static/chunks/4723-1dd1d16f404d56a2.js" defer=""></script><script src="/_next/static/chunks/5826-ef0aa43ffad83acc.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/multiple-ba975134a85588f8.js" defer=""></script><script src="/_next/static/u9w7grMtLxEveFsXqNFab/_buildManifest.js" defer=""></script><script src="/_next/static/u9w7grMtLxEveFsXqNFab/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/multiple","query":{},"buildId":"u9w7grMtLxEveFsXqNFab","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>