synapse 2.195.0__py311-none-any.whl → 2.196.0__py311-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.

Potentially problematic release.


This version of synapse might be problematic. Click here for more details.

Files changed (46) hide show
  1. synapse/axon.py +72 -5
  2. synapse/common.py +23 -0
  3. synapse/cortex.py +1 -0
  4. synapse/daemon.py +1 -0
  5. synapse/lib/aha.py +159 -4
  6. synapse/lib/cell.py +133 -8
  7. synapse/lib/jsonstor.py +2 -1
  8. synapse/lib/modelrev.py +5 -1
  9. synapse/lib/nexus.py +13 -6
  10. synapse/lib/reflect.py +4 -5
  11. synapse/lib/snap.py +14 -7
  12. synapse/lib/stormlib/aha.py +351 -1
  13. synapse/lib/stormlib/utils.py +37 -0
  14. synapse/lib/stormtypes.py +124 -6
  15. synapse/lib/version.py +2 -2
  16. synapse/models/base.py +3 -0
  17. synapse/models/infotech.py +55 -16
  18. synapse/models/orgs.py +14 -10
  19. synapse/models/risk.py +23 -10
  20. synapse/models/transport.py +8 -3
  21. synapse/telepath.py +12 -0
  22. synapse/tests/test_axon.py +23 -0
  23. synapse/tests/test_common.py +28 -0
  24. synapse/tests/test_datamodel.py +8 -0
  25. synapse/tests/test_lib_aha.py +241 -0
  26. synapse/tests/test_lib_cell.py +61 -0
  27. synapse/tests/test_lib_jsonstor.py +1 -0
  28. synapse/tests/test_lib_modelrev.py +6 -0
  29. synapse/tests/test_lib_nexus.py +24 -2
  30. synapse/tests/test_lib_stormlib_aha.py +188 -0
  31. synapse/tests/test_lib_stormlib_utils.py +14 -0
  32. synapse/tests/test_lib_stormtypes.py +90 -3
  33. synapse/tests/test_model_base.py +2 -0
  34. synapse/tests/test_model_infotech.py +28 -1
  35. synapse/tests/test_model_orgs.py +2 -0
  36. synapse/tests/test_model_risk.py +2 -0
  37. synapse/tests/test_model_transport.py +1 -0
  38. synapse/tests/test_telepath.py +26 -0
  39. synapse/tests/test_tools_aha.py +192 -0
  40. synapse/tools/aha/mirror.py +193 -0
  41. synapse/tools/changelog.py +32 -27
  42. {synapse-2.195.0.dist-info → synapse-2.196.0.dist-info}/METADATA +1 -1
  43. {synapse-2.195.0.dist-info → synapse-2.196.0.dist-info}/RECORD +46 -43
  44. {synapse-2.195.0.dist-info → synapse-2.196.0.dist-info}/LICENSE +0 -0
  45. {synapse-2.195.0.dist-info → synapse-2.196.0.dist-info}/WHEEL +0 -0
  46. {synapse-2.195.0.dist-info → synapse-2.196.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,193 @@
1
+ import sys
2
+ import asyncio
3
+ import argparse
4
+
5
+ import synapse.exc as s_exc
6
+ import synapse.common as s_common
7
+ import synapse.telepath as s_telepath
8
+
9
+ import synapse.lib.output as s_output
10
+ import synapse.lib.version as s_version
11
+
12
+ descr = '''
13
+ Query the Aha server for the service cluster status of mirrors.
14
+
15
+ Examples:
16
+
17
+ python -m synapse.tools.aha.mirror --timeout 30
18
+
19
+ '''
20
+
21
+ async def get_cell_infos(prox, iden, members, timeout):
22
+ cell_infos = {}
23
+ if iden is not None:
24
+ todo = s_common.todo('getCellInfo')
25
+ async for svcname, (ok, info) in prox.callAhaPeerApi(iden, todo, timeout=timeout):
26
+ if not ok:
27
+ continue
28
+ cell_infos[svcname] = info
29
+ return cell_infos
30
+
31
+ def build_status_list(members, cell_infos):
32
+ group_status = []
33
+ for svc in members:
34
+ svcname = svc.get('name')
35
+ svcinfo = svc.get('svcinfo', {})
36
+ status = {
37
+ 'name': svcname,
38
+ 'role': '<unknown>',
39
+ 'online': str('online' in svcinfo),
40
+ 'ready': 'True',
41
+ 'host': svcinfo.get('urlinfo', {}).get('host', ''),
42
+ 'port': str(svcinfo.get('urlinfo', {}).get('port', '')),
43
+ 'version': '<unknown>',
44
+ 'nexs_indx': 0
45
+ }
46
+ if svcname in cell_infos:
47
+ info = cell_infos[svcname]
48
+ cell_info = info.get('cell', {})
49
+ status.update({
50
+ 'nexs_indx': cell_info.get('nexsindx', 0),
51
+ 'role': 'follower' if cell_info.get('uplink') else 'leader',
52
+ 'version': str(info.get('synapse', {}).get('verstring', '')),
53
+ 'online': 'True',
54
+ 'ready': str(cell_info.get('ready', False))
55
+ })
56
+ group_status.append(status)
57
+ return group_status
58
+
59
+ def output_status(outp, vname, group_status):
60
+ header = ' {:<40} {:<10} {:<8} {:<7} {:<16} {:<9} {:<12} {:<10}'.format(
61
+ 'name', 'role', 'online', 'ready', 'host', 'port', 'version', 'nexus idx')
62
+ outp.printf(header)
63
+ outp.printf('#' * 120)
64
+ outp.printf(vname)
65
+ for status in group_status:
66
+ if status['nexs_indx'] == 0:
67
+ status['nexs_indx'] = '<unknown>'
68
+ line = ' {name:<40} {role:<10} {online:<8} {ready:<7} {host:<16} {port:<9} {version:<12} {nexs_indx:<10}'.format(**status)
69
+ outp.printf(line)
70
+
71
+ def check_sync_status(group_status):
72
+ indices = {status['nexs_indx'] for status in group_status}
73
+ known_count = sum(1 for status in group_status)
74
+ return len(indices) == 1 and known_count == len(group_status)
75
+
76
+ def timeout_type(valu):
77
+ try:
78
+ ivalu = int(valu)
79
+ if ivalu < 0:
80
+ raise ValueError
81
+ except ValueError:
82
+ raise s_exc.BadArg(mesg=f"{valu} is not a valid non-negative integer")
83
+ return ivalu
84
+
85
+ async def main(argv, outp=s_output.stdout):
86
+
87
+ pars = argparse.ArgumentParser(prog='synapse.tools.aha.mirror', description=descr,
88
+ formatter_class=argparse.RawDescriptionHelpFormatter)
89
+
90
+ pars.add_argument('--url', default='cell:///vertex/storage', help='The telepath URL to connect to the AHA service.')
91
+ pars.add_argument('--timeout', type=timeout_type, default=10, help='The timeout in seconds for individual service API calls')
92
+ pars.add_argument('--wait', action='store_true', help='Whether to wait for the mirrors to sync.')
93
+ opts = pars.parse_args(argv)
94
+
95
+ async with s_telepath.withTeleEnv():
96
+ try:
97
+ async with await s_telepath.openurl(opts.url) as prox:
98
+ try:
99
+ if not prox._hasTeleFeat('callpeers', vers=1):
100
+ outp.printf(f'Service at {opts.url} does not support the required callpeers feature.')
101
+ return 1
102
+ except s_exc.NoSuchMeth:
103
+ outp.printf(f'Service at {opts.url} does not support the required callpeers feature.')
104
+ return 1
105
+ classes = prox._getClasses()
106
+ if 'synapse.lib.aha.AhaApi' not in classes:
107
+ outp.printf(f'Service at {opts.url} is not an Aha server')
108
+ return 1
109
+
110
+ virtual_services, member_servers = {}, {}
111
+ async for svc in prox.getAhaSvcs():
112
+ name = svc.get('name', '')
113
+ svcinfo = svc.get('svcinfo', {})
114
+ urlinfo = svcinfo.get('urlinfo', {})
115
+ hostname = urlinfo.get('hostname', '')
116
+
117
+ if name != hostname:
118
+ virtual_services[name] = svc
119
+ else:
120
+ member_servers[name] = svc
121
+
122
+ mirror_groups = {}
123
+ for vname, vsvc in virtual_services.items():
124
+ vsvc_info = vsvc.get('svcinfo', {})
125
+ vsvc_iden = vsvc_info.get('iden')
126
+ vsvc_leader = vsvc_info.get('leader')
127
+ vsvc_hostname = vsvc_info.get('urlinfo', {}).get('hostname', '')
128
+
129
+ if not vsvc_iden or not vsvc_hostname or not vsvc_leader:
130
+ continue
131
+
132
+ primary_member = member_servers.get(vsvc_hostname)
133
+ if not primary_member:
134
+ continue
135
+
136
+ members = [primary_member] + [
137
+ msvc for mname, msvc in member_servers.items()
138
+ if mname != vsvc_hostname and
139
+ msvc.get('svcinfo', {}).get('iden') == vsvc_iden and
140
+ msvc.get('svcinfo', {}).get('leader') == vsvc_leader
141
+ ]
142
+
143
+ if len(members) > 1:
144
+ mirror_groups[vname] = members
145
+
146
+ outp.printf('Service Mirror Groups:')
147
+ for vname, members in mirror_groups.items():
148
+ iden = members[0].get('svcinfo', {}).get('iden')
149
+
150
+ cell_infos = await get_cell_infos(prox, iden, members, opts.timeout)
151
+ group_status = build_status_list(members, cell_infos)
152
+ output_status(outp, vname, group_status)
153
+
154
+ if check_sync_status(group_status):
155
+ outp.printf('Group Status: In Sync')
156
+ else:
157
+ outp.printf(f'Group Status: Out of Sync')
158
+ if opts.wait:
159
+ leader_nexs = None
160
+ for status in group_status:
161
+ if status['role'] == 'leader' and isinstance(status['nexs_indx'], int):
162
+ leader_nexs = status['nexs_indx']
163
+
164
+ if leader_nexs is not None:
165
+ while True:
166
+ responses = []
167
+ todo = s_common.todo('waitNexsOffs', leader_nexs - 1, timeout=opts.timeout)
168
+ async for svcname, (ok, info) in prox.callAhaPeerApi(iden, todo, timeout=opts.timeout):
169
+ if ok and info:
170
+ responses.append((svcname, info))
171
+
172
+ if len(responses) == len(members):
173
+ cell_infos = await get_cell_infos(prox, iden, members, opts.timeout)
174
+ group_status = build_status_list(members, cell_infos)
175
+
176
+ outp.printf('\nUpdated status:')
177
+ output_status(outp, vname, group_status)
178
+
179
+ if check_sync_status(group_status):
180
+ outp.printf('Group Status: In Sync')
181
+ break
182
+
183
+ return 0
184
+
185
+ except Exception as e:
186
+ mesg = repr(e)
187
+ if isinstance(e, s_exc.SynErr):
188
+ mesg = e.errinfo.get('mesg', repr(e))
189
+ outp.printf(f'ERROR: {mesg}')
190
+ return 1
191
+
192
+ if __name__ == '__main__': # pragma: no cover
193
+ sys.exit(asyncio.run(main(sys.argv[1:])))
@@ -886,34 +886,8 @@ async def format(opts: argparse.Namespace,
886
886
  modeldiff = False
887
887
  clean_vers_ref = opts.version.replace(".", "_")
888
888
  model_rst_ref = f'userguide_model_{clean_vers_ref}'
889
- for key, header in s_schemas._changelogTypes.items():
890
- dataz = entries.get(key)
891
- if dataz:
892
- text = text + f'\n{header}\n{"-" * len(header)}'
893
- dataz.sort(key=lambda x: x.get('prs'))
894
- for data in dataz:
895
- desc = data.get('desc') # type: str
896
- desc_lines = desc.splitlines()
897
- for i, chunk in enumerate(desc_lines):
898
- if i == 0:
899
- for line in textwrap.wrap(chunk, initial_indent='- ', subsequent_indent=' ', width=opts.width):
900
- text = f'{text}\n{line}'
901
- else:
902
- text = text + '\n'
903
- for line in textwrap.wrap(chunk, initial_indent=' ', subsequent_indent=' ', width=opts.width):
904
- text = f'{text}\n{line}'
905
-
906
- if not opts.hide_prs:
907
- for pr in data.get('prs'):
908
- text = f'{text}\n (`#{pr} <https://github.com/vertexproject/synapse/pull/{pr}>`_)'
909
- if key == 'migration':
910
- text = text + '\n- See :ref:`datamigration` for more information about automatic migrations.'
911
- elif key == 'model':
912
- text = text + f'\n- See :ref:`{model_rst_ref}` for more detailed model changes.'
913
- modeldiff = True
914
- text = text + '\n'
915
889
 
916
- if modeldiff and opts.model_ref:
890
+ if opts.model_ref:
917
891
  # TODO find previous model file automatically?
918
892
  if opts.verbose:
919
893
  outp.printf(f'Getting reference model from {opts.model_ref}')
@@ -934,6 +908,8 @@ async def format(opts: argparse.Namespace,
934
908
  changes = differ.diffModl(outp)
935
909
  has_changes = sum([len(v) for v in changes.values()])
936
910
  if has_changes:
911
+ entries['model'].append({'prs': [], 'type': 'skip'})
912
+ modeldiff = True
937
913
  rst = _gen_model_rst(opts.version, model_rst_ref, changes, cur_modl, outp, width=opts.width)
938
914
  model_text = rst.getRstText()
939
915
  if opts.verbose:
@@ -955,6 +931,35 @@ async def format(opts: argparse.Namespace,
955
931
  else:
956
932
  outp.printf(f'No model changes detected.')
957
933
 
934
+ for key, header in s_schemas._changelogTypes.items():
935
+ dataz = entries.get(key)
936
+ if dataz:
937
+ text = text + f'\n{header}\n{"-" * len(header)}'
938
+ dataz.sort(key=lambda x: x.get('prs'))
939
+ for data in dataz:
940
+ desc = data.get('desc') # type: str
941
+ if desc is None and data.get('type') == 'skip':
942
+ continue
943
+ desc_lines = desc.splitlines()
944
+ for i, chunk in enumerate(desc_lines):
945
+ if i == 0:
946
+ for line in textwrap.wrap(chunk, initial_indent='- ', subsequent_indent=' ', width=opts.width):
947
+ text = f'{text}\n{line}'
948
+ else:
949
+ text = text + '\n'
950
+ for line in textwrap.wrap(chunk, initial_indent=' ', subsequent_indent=' ', width=opts.width):
951
+ text = f'{text}\n{line}'
952
+
953
+ if not opts.hide_prs:
954
+ for pr in data.get('prs'):
955
+ text = f'{text}\n (`#{pr} <https://github.com/vertexproject/synapse/pull/{pr}>`_)'
956
+ if key == 'migration':
957
+ text = text + '\n- See :ref:`datamigration` for more information about automatic migrations.'
958
+ elif key == 'model':
959
+ if modeldiff:
960
+ text = text + f'\n- See :ref:`{model_rst_ref}` for more detailed model changes.'
961
+ text = text + '\n'
962
+
958
963
  if opts.rm:
959
964
  if opts.verbose:
960
965
  outp.printf('Staging file removals in git')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: synapse
3
- Version: 2.195.0
3
+ Version: 2.196.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
@@ -1,15 +1,15 @@
1
1
  synapse/__init__.py,sha256=R2kOXlF5j-8m6G0JkHuN7rXRPg_tHLmbMxr__94mHQk,1145
2
- synapse/axon.py,sha256=qfnNoisX8o5-qf3lcl6_CG2in8sWHp1SAOXSJ8gbxXU,63149
2
+ synapse/axon.py,sha256=AkhbR2rqr80qeKaprEGByOzCM6g9nZecQyjNtl6jMYs,65700
3
3
  synapse/cells.py,sha256=eNvdglfAoTURVhGOLGcgMXCGpfsIX1a02SQnyiklo3E,308
4
- synapse/common.py,sha256=sjGLa1m5VshBTxqOiJSFFoaiM3QHKQFVbVonFaoq5aw,37158
5
- synapse/cortex.py,sha256=vDJ3-7jV7MWvTrUriJZjZkb5mhkOU8GTPwAMG5FXBVc,261369
4
+ synapse/common.py,sha256=a4rZTcZwodCaVS327Fxr4P7owREB9PLtUsfaAjaVe6s,37730
5
+ synapse/cortex.py,sha256=G61muOb2C601R-BqudnAb-DGms_J-ZPY59u25O2qF7M,261431
6
6
  synapse/cryotank.py,sha256=oTbAOKq-q8WqAkYmY46Mc8hy85W3ZcQMxmP2EJDFyZ0,12124
7
- synapse/daemon.py,sha256=-xy6EnmD5CodWQs_S-v7apKILECmn5EEYBpEPG-MDns,16986
7
+ synapse/daemon.py,sha256=hSD0-sXPGwblcbnCKRvsx9DCd-2cplB89dLWIlAN4UU,17051
8
8
  synapse/datamodel.py,sha256=RlCufJh7MOG4agxfN7-dTWpmS8U6zBHLMh4CyRILTGQ,40062
9
9
  synapse/exc.py,sha256=JpxmJdYrbihGf7zShC5M1q0kI2JQ6QaMaa89Rjx4SvY,9627
10
10
  synapse/glob.py,sha256=tb6NPtK6Jp6YES9sB1AQi26HP6f-BcEiHrZz2yEyZ90,3210
11
11
  synapse/mindmeld.py,sha256=TiijGH7wX2zdXIFSBUlN40CPOvYaFlw6Wxi66XZuB_M,26
12
- synapse/telepath.py,sha256=HlsxX5akFRf7VCJxztnqjAelc2YMOPyCoDsYAAiWQnc,44395
12
+ synapse/telepath.py,sha256=DpZfcUKs-vwbl41idYLH4yCThCK8NXfMFpssgYFQBlk,44717
13
13
  synapse/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  synapse/cmds/boss.py,sha256=anEKo72bmMV6xTQ1XM-Dz9HFYkNKUX7Ee6Q6jKtkml4,2920
15
15
  synapse/cmds/cortex.py,sha256=l81zQjR0OWF-X_lOm-gPqwhVGJ4KcKe0JLA3T1NbuU4,15402
@@ -84,14 +84,14 @@ synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-sch
84
84
  synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json,sha256=f1T3r4CRcJP0743qmAlVCdNvi5ASrOU42PSoiDNlRqc,3575
85
85
  synapse/lib/__init__.py,sha256=qLS7nt8-Iot8jnD2Xss_6wZi5lJoyv2rqxF9kkektT0,129
86
86
  synapse/lib/agenda.py,sha256=7t7qWkflLyeiaI-tADFsM7xUk9sLDhkagdI6sE-kR14,33566
87
- synapse/lib/aha.py,sha256=vUFzh_s4VYSYXb73C3GYVcQRIaQow_0PSrSYOvz5wis,50308
87
+ synapse/lib/aha.py,sha256=-UAq4bTu3d0A5rU_Uq69m8fnyhYt_5QJMAf50OruUvQ,55612
88
88
  synapse/lib/ast.py,sha256=waaZ-5pBYl39wRLp09Y93p1mwucpzMt2qTFv7OM2d5o,161979
89
89
  synapse/lib/auth.py,sha256=F64h_3PdDaNZ0eqm5PHwxBqJf8LrXmysGAz0ErSmvgs,53189
90
90
  synapse/lib/autodoc.py,sha256=eTwyKM0msJFmLmZR1OxKFVAb8wcMgJ2q72Ccphsi-u8,23226
91
91
  synapse/lib/base.py,sha256=FfS6k30ZcS1CVfHPa5LNKog1f48rJ0xE14PI89vW7tM,23634
92
92
  synapse/lib/boss.py,sha256=rYu4jkHJ3Y5GLX23Hlrwe9H17LF27LZ0BkK_A_9Aqh0,2056
93
93
  synapse/lib/cache.py,sha256=N8BoNFQXOaYQU33LLYQcVkdV6IYjSNaUoaKue55y7H0,6275
94
- synapse/lib/cell.py,sha256=SAQBW-HVlFj1G9BVCb8I_414ROnnc_FT5YFlWEB_GfU,178817
94
+ synapse/lib/cell.py,sha256=fjrhkIpKPUl9q2-RMJ9ZEpAMOEi8P2OunOY3sXslBSU,182718
95
95
  synapse/lib/certdir.py,sha256=laGLxgx0gVxXvoaLKKemBQv71OZr9mDaqlAatdESV1A,56176
96
96
  synapse/lib/chop.py,sha256=F0RRLlJ6NlpLW7sBWPNZV9Xw4w6HVbQbxPZPE6VhwVQ,9404
97
97
  synapse/lib/cli.py,sha256=pQgwVpDMGTNk45UDnrx7SJNEh5H7g10z7B9zoQsgxc4,15055
@@ -114,23 +114,23 @@ synapse/lib/hiveauth.py,sha256=YJeBZ8UVz0GdhckesVzlv0_9-O2lz5ppczSST-SpLsA,41523
114
114
  synapse/lib/httpapi.py,sha256=VDKE-0icvBfucOB929JLsDe3XxRUBqsZIpU-71PvtjQ,43245
115
115
  synapse/lib/ingest.py,sha256=HNW1xs215c_UXVjKaxjipKBmVL4ujrjmarHBRvLPLkE,40
116
116
  synapse/lib/interval.py,sha256=PqpEhMGG6LD9mJxEms0oQWC-NB01H6gwsmLSc5LrDFk,1175
117
- synapse/lib/jsonstor.py,sha256=QQVf7Kl90sI_v97UZZAoa6stizDeMyy0ykR3RsHpmi8,19359
117
+ synapse/lib/jsonstor.py,sha256=T7gqpw8QTjG9YL9iLXlrA8pgxjJAmJeESric3PNuNcY,19407
118
118
  synapse/lib/layer.py,sha256=9QriT6ikYTQJrpQUw2AGZS887Ndstv61P4UGKK5y1Zo,154151
119
119
  synapse/lib/link.py,sha256=6qIboVT7rMC32TnwAbRb-I4itosFE1SakHZUEEUprhI,10302
120
120
  synapse/lib/lmdbslab.py,sha256=g4_Wh2U1kPlfr0kq7PVDGrBLpPryk2qdJvodr2Fyzxo,60978
121
- synapse/lib/modelrev.py,sha256=YhfEqJmR6rDziv_62T_bXfp9fFuH_-pVMYO1x27_1P4,71048
121
+ synapse/lib/modelrev.py,sha256=mG15Sx8_krehQnxLn0IUyU-aGsip4xBzUrxbywZQnPI,71225
122
122
  synapse/lib/module.py,sha256=0XLFLzuZVmEqulKmdT0uah0oi1t8_f_ghakhqvoKtKI,4686
123
123
  synapse/lib/modules.py,sha256=xHNrGBWLOSTSqn7GMMnm6iiw3Df-Q11h5gOUw84Ax7E,1282
124
124
  synapse/lib/msgpack.py,sha256=IEYF1sv0UoYq1BpqfZUzf30bAlWveC6ZArXBeY68vuI,7895
125
125
  synapse/lib/multislabseqn.py,sha256=WxJQm6XNINyGBTUnmSkY4iifxLlR_FZe3geOcT8BxR4,15211
126
- synapse/lib/nexus.py,sha256=sSbQdopWRa6Q7k_H0GWQlmol6wDk2dRsWVi04PP7UZ0,23077
126
+ synapse/lib/nexus.py,sha256=ODhPuTtQnQwUZA8AkYXjWWkm_V5BJJN7piy7dMn79gU,23451
127
127
  synapse/lib/node.py,sha256=F3cDgnOdlaimjQrtNb2zGZeG8X2xg9FUQ0tAAp0bUsg,31049
128
128
  synapse/lib/oauth.py,sha256=Nmd7dnxq7aRdBR5HILYYQm-TpCjfrTOIZwkHPeLQApA,15094
129
129
  synapse/lib/output.py,sha256=MARscREHja4h8PQN7GZxHGvF36RoOkUyw3vfhmFzMTk,890
130
130
  synapse/lib/parser.py,sha256=wqvJPHnHr1JOVY-ql-HXDHGn4YQ4mPg-AA2ccwWR33M,28688
131
131
  synapse/lib/queue.py,sha256=omMtqD4HWg2mLOhhtIe4pA_evz234lJ9uhlAhC_xbW4,3879
132
132
  synapse/lib/ratelimit.py,sha256=BIeFPZb9Bk5GFIVvhM43Uw1s0abY6z7NgTuBorVajz4,1124
133
- synapse/lib/reflect.py,sha256=7nH27S5-BAwmmfbwGW1ivfb0xEvo_XkAiMuN5xb0mW4,2878
133
+ synapse/lib/reflect.py,sha256=j7Y522UzAwNswUehyfi9kHFNkTxuHXsFuEKY4ATXWTQ,2783
134
134
  synapse/lib/rstorm.py,sha256=zZPC3sB2zDqdjhgpXwA1aka7CLTDYaeieTxIDfmwRBY,19656
135
135
  synapse/lib/schemas.py,sha256=3hQh7m9KZyR3cV9yZ0CVzSu6K9OiQIhrwduC-XhcL-A,20440
136
136
  synapse/lib/scope.py,sha256=0CuSXLG_7pNleC1BcJ8_WbA50DswrX4DNjW5MyGGGNo,5496
@@ -138,7 +138,7 @@ synapse/lib/scrape.py,sha256=2jU8q79RWUctti1gr4mJ9ZCSAwlbMQzt9iU-yXWQ814,23467
138
138
  synapse/lib/share.py,sha256=HDQR7nb4IOleHB1kIFe6prZQVW7PjPAivSAkPuhNn5A,663
139
139
  synapse/lib/slaboffs.py,sha256=Fd0RrIRBMjh159aQz5y1ONmzw0NvV040kVX_jZjQW6I,815
140
140
  synapse/lib/slabseqn.py,sha256=LJ2SZEsZlROBAD3mdS-3JxNVVPXXkBW8GIJXsW0OGG8,10287
141
- synapse/lib/snap.py,sha256=R1aQYpD0nRwocdBXmd3xIC1S6B82Z2rWm1ONm5_g-EM,61003
141
+ synapse/lib/snap.py,sha256=vo_V1dcgGbQVcW9w-nvN5Kj3dPmA7JXqEVHQjvJCdyU,61347
142
142
  synapse/lib/spooled.py,sha256=pKPacX-fvZDUTUWPaKgyct_lk_3eoSsF9Ufh_cn_1fQ,5987
143
143
  synapse/lib/storm.lark,sha256=ZEO2MGjhxtVLcOqlBJfw565f10nxQZmf1qyt_cYGCyQ,27241
144
144
  synapse/lib/storm.py,sha256=3BRRdR4XAg4S3sDXMyQgaxDZ5aEx9Vonmx65X4CCeJU,218108
@@ -146,7 +146,7 @@ synapse/lib/storm_format.py,sha256=kXWFY0PC8z4IBDDXYBiN4xkWuz4rEG_RNl3U6p_ylpU,4
146
146
  synapse/lib/stormctrl.py,sha256=3UC2LOHClC17JwYNuo8NeyntuAvIXphjenXEzVP33mY,2523
147
147
  synapse/lib/stormhttp.py,sha256=GwSmdKbY3yFe8tgNazkUAPhmEwP2U2PJTbByPkHAXmk,28846
148
148
  synapse/lib/stormsvc.py,sha256=dKREBhzYAncOXBbI-FYLRy9VusGIbRyF0TaDDz7mMXw,7581
149
- synapse/lib/stormtypes.py,sha256=qn9J7PfPrZWoJOoqOG1q9R6XtyAp-6mBtr286OOjEew,394891
149
+ synapse/lib/stormtypes.py,sha256=8VyHt43-VRXXwKBwb6Qq-GMzudXhLaDQ7PZicRuRiVU,399675
150
150
  synapse/lib/stormwhois.py,sha256=w7N2oCyMljNvi_sRt_bZb5BJwWwYkVGcRd7H_0oHY8Q,2554
151
151
  synapse/lib/structlog.py,sha256=qiuD7TTdwCyYEDF2f-88G2iX54SuB-lJ1pqlYokL1r8,1303
152
152
  synapse/lib/task.py,sha256=krDjQvNh0EpAs1PILK8CJJa9DMeM0depI0K8Eimp010,5733
@@ -157,7 +157,7 @@ synapse/lib/time.py,sha256=FKTYwpdvpuAj8p8sSodRjOxoA7Vu67CIbbXz55gtghk,9231
157
157
  synapse/lib/trigger.py,sha256=mnfkoBHB88JfqPoxb5oflvAaBKZpNvYdxP247YS53fE,20697
158
158
  synapse/lib/types.py,sha256=u89ukW38oDziRzeA6IWrPwwPD0Ds75u-gwJSXsQ4loY,69708
159
159
  synapse/lib/urlhelp.py,sha256=j-DvWGi-xH0TcO0NbCuwG7guUuiV8wxIxfMyJOzDygo,2523
160
- synapse/lib/version.py,sha256=Rtmj4k4N2cqpMkUhcSEGfnvBh173gFo0Va8Ni8C9Hc0,7162
160
+ synapse/lib/version.py,sha256=UdE0dBiTn99mcS6WW41OCyJ2eoPTmyh7fzWAXhuaZoQ,7162
161
161
  synapse/lib/view.py,sha256=IxBTOrNumrjSXQhZrLqh2NTPpS2zOc8YFwC5VdoHURw,61843
162
162
  synapse/lib/crypto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
163
  synapse/lib/crypto/coin.py,sha256=_dhlkzIrHT8BvHdJOWK7PDThz3sK3dDRnWAUqjRpZJc,4910
@@ -172,7 +172,7 @@ synapse/lib/platforms/freebsd.py,sha256=0lJNc9W5a5TWfsz734o30gtF3vS3BH8QXWvy04pz
172
172
  synapse/lib/platforms/linux.py,sha256=VBUn_tf7PYGgfBXDBBNfE16QBGWstSkuV2l4LXX0dvQ,8002
173
173
  synapse/lib/platforms/windows.py,sha256=YbB73MIoBPvePNYiTYa2xEvpGAotAiEKNl4P--njPPM,2069
174
174
  synapse/lib/stormlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
- synapse/lib/stormlib/aha.py,sha256=cRTdxEnGTSPZrhMk5Bq6TOle8EvWr5TVge64Av4RVVs,19742
175
+ synapse/lib/stormlib/aha.py,sha256=SEIHVNxh5cFwdc04-RjJCUXbJ1GzSC9CnopqBI0x7ng,34276
176
176
  synapse/lib/stormlib/auth.py,sha256=ZMjXD5rL4UOX7veSmCePvB1OyocIqVQzVNJC434ICJU,92550
177
177
  synapse/lib/stormlib/backup.py,sha256=-cR7lR9IRib-e0uMRV1oKVfdJJ3PYbowtwtH0i3mOtY,2846
178
178
  synapse/lib/stormlib/basex.py,sha256=BHnThzA7xv_wBaoxO3sVjjPGgS7K5PMXyGrFFQzmX2Y,2638
@@ -211,6 +211,7 @@ synapse/lib/stormlib/stats.py,sha256=I-oxv9Ig-ZUyZ2yQX9TowtFCYOqMRWjnaiF3ErOjIQc
211
211
  synapse/lib/stormlib/stix.py,sha256=0vyDAamF_AhIQwzCbvp3sXceFNOlTZG47SHPKnRDwlo,53527
212
212
  synapse/lib/stormlib/storm.py,sha256=dnPwH6p3DaOaKXfagqu-9szqr1wNzmCySDyzGJ77n74,6246
213
213
  synapse/lib/stormlib/tabular.py,sha256=jZ-BvzwQONmDL5hvZoxZNBhdz8KPCiZv_pS8kTYyiKg,7374
214
+ synapse/lib/stormlib/utils.py,sha256=Y0w7nEVdL97hpbTjXbCxONZOSIRKxroC2M8ELVh0eik,1324
214
215
  synapse/lib/stormlib/vault.py,sha256=KScapVmWj37Qi7xKL4f7nRkLveAsmeEqUHM7P32Visg,30568
215
216
  synapse/lib/stormlib/version.py,sha256=FHWLsU6qy--iFfuN_2ZFDpwFzkqKL4b3ESLZ9ByUXak,2431
216
217
  synapse/lib/stormlib/xml.py,sha256=yMlvVTJhsqdmzr5h49lr5bpeaQW_RRzgiynwRmyO3HU,3657
@@ -225,7 +226,7 @@ synapse/lookup/phonenum.py,sha256=TQb1Q6KvQb3Gs_kgiHcCjSOZ0hpYBhI7qUYcddj-Uic,16
225
226
  synapse/lookup/timezones.py,sha256=5_XejZyjbXMX0OHyVyiqVMiNYOMk6vlZ83ANCwO1z0A,996
226
227
  synapse/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
228
  synapse/models/auth.py,sha256=G7QGVB99fjtG1UUness9eRAJuAYKfoAkiOUSkxPOylo,3097
228
- synapse/models/base.py,sha256=bN8PP65AACtVTtICpLkwsECPecWs7eyntKewch51Zx0,17098
229
+ synapse/models/base.py,sha256=KseeDE4qsvBuY8L3oQ7ZnQJYkVyo8fSwSyMQ8-iaQtw,17261
229
230
  synapse/models/belief.py,sha256=lB61Wvp2cgaPlrwqBU2JTU-BOutAVOEKD597sTu0juo,2928
230
231
  synapse/models/biz.py,sha256=01i9qnxrWwWt712dNUCAOHqdL1N0TY84P1utx_O5G8g,14909
231
232
  synapse/models/crypto.py,sha256=dEgg3n6cY1hiBfnL8QbgJW7hQw-DWOKhbLWkq4hyXzQ,30160
@@ -237,20 +238,20 @@ synapse/models/files.py,sha256=SMoHdlazPBsWM7BE6b2S6kB3xOh4yYPUTljUCxi30TE,34394
237
238
  synapse/models/geopol.py,sha256=1DGxLJ60QlnSIe3WxxViYQ3KFSwm89vvGc534bbSNBo,11304
238
239
  synapse/models/geospace.py,sha256=Ix54xGdGRZNqLI0r6r9OA1t6vqB3XM1lkoy86Vjt5XA,21155
239
240
  synapse/models/inet.py,sha256=0b6zGFeU63H9o9YDrhz7RyfHLHNlpAseK2hsmsEYpHg,174558
240
- synapse/models/infotech.py,sha256=Wmr89IdOiBSuomQmOl1BB9hLB3P9nXEpmlW2hx346lI,149768
241
+ synapse/models/infotech.py,sha256=SfjbP8RqjyAzeJuV6emJjIyAK3gYo5mvjqy_M9XBrxU,151722
241
242
  synapse/models/language.py,sha256=hBVVIf5kc_FSIV7HZhWnberoc9ssxuqeff4fqC9iz4o,3640
242
243
  synapse/models/material.py,sha256=UvmnBEkbhBbdbnvWtTlgGJAJlKDrx9E-YSQ3K49ws5M,5405
243
244
  synapse/models/math.py,sha256=5zDLSwGbOcWI6T5-KspPL20sR8Bcs59pnRK2nEELzss,1775
244
245
  synapse/models/media.py,sha256=wdXNzLrHb4YYRZ3NlGombNwZsphwfH20oZQQ9ICq7ZQ,3604
245
- synapse/models/orgs.py,sha256=O888EnRwnr5NjCToE6nB_WyYwxpn_WohNt0NGQLH9Ww,71299
246
+ synapse/models/orgs.py,sha256=krfeC4alCv2XsWShCJQ8_33f2LKrusmu7ExhQuQeKec,71420
246
247
  synapse/models/person.py,sha256=IC9dccP0hfzdxl2ZeSnVEfvdte9bxQR_O9C-FJJCIj0,27780
247
248
  synapse/models/planning.py,sha256=vmrY4d3WRxizrNU1YBe36NGZTuuu4lhGS8KI5lCZ5yQ,7302
248
249
  synapse/models/proj.py,sha256=VLqeQGaOT_ZqN5Lh6aTsOvDfBUM4FCUGCgC0jfACA68,9879
249
- synapse/models/risk.py,sha256=cdHg_-hCKPUQZLR43e7L0-9WMLvWxqjvqwNM0-b8E_0,56996
250
+ synapse/models/risk.py,sha256=8CcOhMo_z29hKXUN7VMh0NrseNnY2ZC4YtqqNJmxDgc,57469
250
251
  synapse/models/science.py,sha256=oSkKbjmVncYcVkVgx8rhM08XtcsgDgjf3mpunz5kL30,4329
251
252
  synapse/models/syn.py,sha256=zqyMx32BwZ0edRYeVMo63RIrbthKOxnSBzLP40voRN4,14031
252
253
  synapse/models/telco.py,sha256=S6wGvwK5WikFwwrru9kE10KreQ-RubU288J7atVH-cc,15676
253
- synapse/models/transport.py,sha256=doNbOEiA4AzuVNURvITshOqig0kLdN2rWxwYN6y9ZAo,29829
254
+ synapse/models/transport.py,sha256=UHWzQjGIRmppV7hFNtkbdiLpLPJj0hqX4Csds0FPGGY,29754
254
255
  synapse/models/gov/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
255
256
  synapse/models/gov/cn.py,sha256=NX0QBac_edA3B1WfWVi2UO6ZGeFEJ6nW2Rzq8t8Rrvg,876
256
257
  synapse/models/gov/intl.py,sha256=rYF_1LHnrWS96sTTVJpa4VYktxUvUmIttmowdcsxMb4,1032
@@ -265,28 +266,28 @@ synapse/servers/jsonstor.py,sha256=cnt0PESw5qHunEVHCyT-eKOWgywMqe0WNPDtljVgt3c,2
265
266
  synapse/servers/stemcell.py,sha256=nHACvCWqG2zWTYIo8QvSWi5EBXgYI_3XX7d1-K7xjvg,1192
266
267
  synapse/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
267
268
  synapse/tests/nopmod.py,sha256=sVRGWOVSzYYkDLonKTWbWU4PHYGDRkrUDyS1UEbdqgQ,70
268
- synapse/tests/test_axon.py,sha256=9O63swDxFwXnJdJDzpvZw_VH4TrwadDmbe_IBGFozSc,48041
269
+ synapse/tests/test_axon.py,sha256=z361hxWpzIFkUZby6NaTUOAUjoc832EE3pecEEj8_vM,48914
269
270
  synapse/tests/test_cmds_boss.py,sha256=SdBwM2qJHFzzfrjWYiZOLBKeye8uru7KeJ3NU_YSkWw,4718
270
271
  synapse/tests/test_cmds_cortex.py,sha256=LWFz8HyuvsIGjtz2DqXYh-R-5QbiQWzLlQKqew7gabY,17157
271
272
  synapse/tests/test_cmds_hive.py,sha256=aRH_Gh8oF_1BsfpmffyhDDNIqnTqsuF2cavdtGke1-0,5912
272
- synapse/tests/test_common.py,sha256=2SAJ4M2iLdZuPPV-j16QVwE073VrikyW75cYTPRMjWI,16940
273
+ synapse/tests/test_common.py,sha256=iNwXas9bvrZn5Tz5Ig21RI-c79m6QpwFfbcEYib9IKg,17664
273
274
  synapse/tests/test_cortex.py,sha256=f7C91pBFjhNHqVjW5SBq6bR_Zmz6rxxZ1Lgbsk6h42A,364082
274
275
  synapse/tests/test_cryotank.py,sha256=ms2VkL0aUskMi-LArTzRt8LUYw0z_y8nQfOOBDiCkvI,12027
275
276
  synapse/tests/test_daemon.py,sha256=QqKELhm1HF0q_8Kbk0Uf9fnUg3K5nLQ7MocGIyuKKIw,7715
276
277
  synapse/tests/test_data.py,sha256=f8L-q6kpMq8XPG3hq1jwlyaFRQEinSBf7ZlsRFeCuoM,196
277
- synapse/tests/test_datamodel.py,sha256=_Skk-LbZ7Aa69p0nieJsBHK2tDhdKycq_hKtQjXd3Xk,12436
278
+ synapse/tests/test_datamodel.py,sha256=kBENATRjCd60ubsT6Qm--7OIuEiWpNs-jw33fwVSaLI,12787
278
279
  synapse/tests/test_exc.py,sha256=QXWEGlstDrOSUPAfaGxnu618NQFjjuoRR6OLhtTITds,1928
279
280
  synapse/tests/test_glob.py,sha256=cSNrtEKWLsZXRhsjxQjRjjMqdgqfpl05yT4S53dC0NU,249
280
281
  synapse/tests/test_init.py,sha256=rHqYBVL_aFf1HO6zCF5akHVcHUP2g1kpJLRdTkV0yys,557
281
282
  synapse/tests/test_lib_agenda.py,sha256=QkcllP_TBqH2m1BEuksVyxPB3Xg4ODYBEwfmspDV-EY,55822
282
- synapse/tests/test_lib_aha.py,sha256=aGbQ1S655z2X9_t3i2RkOliuaCAVdqKKJA_XnE6LZ1M,62248
283
+ synapse/tests/test_lib_aha.py,sha256=HusZ8Ef4mzXz88Dw2RufWAgcnGs_5TfZ9Jt1FRLJEDg,73189
283
284
  synapse/tests/test_lib_ast.py,sha256=_ffaxNCLlhfLyr7MnPNObtLV1p6Q09s-DDf6-1fjMOE,189835
284
285
  synapse/tests/test_lib_auth.py,sha256=bAjIqeKwTV-Uc5yW-e9VPQ9rZ4HusR-bPo-8cu0oPag,38328
285
286
  synapse/tests/test_lib_autodoc.py,sha256=H2XO2_d8FmsHUd-cn7M-LjTX-078xLhMiOGiGGk5Oj0,8381
286
287
  synapse/tests/test_lib_base.py,sha256=0XUGNaXmfDW896gpBTYYd7ovADUD8cyDLkGTefqn1FM,14550
287
288
  synapse/tests/test_lib_boss.py,sha256=gZEuJnMO99Fu9gQ7Ct0g67umBW5XFCs8vcwInB5qr14,1598
288
289
  synapse/tests/test_lib_cache.py,sha256=oQgEBhm8pZFCEvMfcD3znTDQgl8Gv91fEOB-3eb2IIg,8594
289
- synapse/tests/test_lib_cell.py,sha256=B4kPeqD8GT1Yepx3H5MvE-tvVXXkYDRcq_dzOP4W7_0,150948
290
+ synapse/tests/test_lib_cell.py,sha256=IwbBHfNSVpeBH8xPAuLm9iLcBxRtrx_FazO9R1VUSBE,153061
290
291
  synapse/tests/test_lib_certdir.py,sha256=d5X1lvp0DnBRigXYLbofZAXakZp440-bjaMH30PlGsI,42728
291
292
  synapse/tests/test_lib_chop.py,sha256=LkrM_pQU_KS88aVRPD4DI97qSdhxmw6EUA_jb-UJpww,6238
292
293
  synapse/tests/test_lib_cli.py,sha256=B8qGx9KtTWp31RlCMtfFMzhJ0TzaaO9ph7RCK2jHtx4,9283
@@ -308,15 +309,15 @@ synapse/tests/test_lib_health.py,sha256=yqNw6rXBm_2UBqPlWxeLpFhawKocdS1VitOCD3Lv
308
309
  synapse/tests/test_lib_hive.py,sha256=n8xuwhuLPLiqfO_OHcsDSMYIWpIpzVklHYpM-kZHq3U,6379
309
310
  synapse/tests/test_lib_httpapi.py,sha256=j93ZcnbohQOzrf3ZkI6Y6Bpnni0I-Rv8hKXnnDw_EcU,91553
310
311
  synapse/tests/test_lib_interval.py,sha256=PNEU24XXEGdlW7WkiYJGbhGljwBJpAWen9yTOqlNikQ,839
311
- synapse/tests/test_lib_jsonstor.py,sha256=1AebkkDAqFhd_mUyjpGviAUq_n0XFUzeuBxPevOu1vc,5866
312
+ synapse/tests/test_lib_jsonstor.py,sha256=ToLp5xdCOfqi1bWrPRxMsNewtGOd89zyX9Zn3VT5o9I,5950
312
313
  synapse/tests/test_lib_layer.py,sha256=NUkm2psAY7LZ4_qp-Dadw9WNg1CeRtZ0MhzTjyemc2g,94548
313
314
  synapse/tests/test_lib_link.py,sha256=NkNPvfWaO22IoVRkmPPLtrHrK2gluFp1gipr1fbSbWE,10297
314
315
  synapse/tests/test_lib_lmdbslab.py,sha256=Xen5YJYRhVwy7Bd93b6bDoxOdbc0zHjo3JAYdlfl80o,65571
315
- synapse/tests/test_lib_modelrev.py,sha256=DlHbhzrTKKjVEZaf6MynI4umeDFwXlmVpLKMLHLN--I,80813
316
+ synapse/tests/test_lib_modelrev.py,sha256=bQZTekAQNq9pixK09fIxYktvJn-Vlw_eCYoFJfumbVc,81048
316
317
  synapse/tests/test_lib_module.py,sha256=h2OyCW4HW-ZFiJBNQtZ-sPLjsnrlLdTFHQPaXpA8cds,3923
317
318
  synapse/tests/test_lib_msgpack.py,sha256=_cS-Kzap6InQstBH0nCgFj9HoVO_tB2dj7D2zCa2miU,10056
318
319
  synapse/tests/test_lib_multislabseqn.py,sha256=ujIp3VkFRhPURx3Js9nklXJ4aYup8UTrcLg7X96lrDs,17425
319
- synapse/tests/test_lib_nexus.py,sha256=3Lvg4qNJ8T6RFgyMajb-TOEN1PJc7I8GwF131lzx4bg,15407
320
+ synapse/tests/test_lib_nexus.py,sha256=qU8kPGuDb5cGHnJqcS-YYFjkX2yiWmwde0RqTmAQi44,16270
320
321
  synapse/tests/test_lib_node.py,sha256=C4OPFTq5qhG9oZx9SPJZAlhb7zorKGywVyCro7fx0Yg,24709
321
322
  synapse/tests/test_lib_output.py,sha256=iYt3DSEVvJiolIUkGKhATYqHbSk-N92swIr4p6lmzl0,603
322
323
  synapse/tests/test_lib_platforms_linux.py,sha256=MgafTw5hq1ld9sKLREqf3LnmINk4Kdhz589jvE5NC0M,2556
@@ -334,7 +335,7 @@ synapse/tests/test_lib_storm.py,sha256=qS3z3so14bo8Fin9oEdTUF1TJjbLA3EVn0AKTJ7j8
334
335
  synapse/tests/test_lib_storm_format.py,sha256=tEZgQMmKAeG8FQZE5HUjOT7bnKawVTpNaVQh_3Wa630,277
335
336
  synapse/tests/test_lib_stormctrl.py,sha256=1vY7PGjgmz3AibgSiGcp_G4NSYl9YNifWdjPB0CDf1g,2877
336
337
  synapse/tests/test_lib_stormhttp.py,sha256=92LKxnF4iPlM0lCnI6UmNZxbANURAiZtajS5xiIwxCs,45504
337
- synapse/tests/test_lib_stormlib_aha.py,sha256=2x3KQa64LN86wzSdJwAu3QFb5NNR3WNx1o9aD3N954o,8796
338
+ synapse/tests/test_lib_stormlib_aha.py,sha256=JaYx7URpW86uVsgJSjzXuXlB5qBb19h6HRhzi3x5CWY,17845
338
339
  synapse/tests/test_lib_stormlib_auth.py,sha256=8PqtZz4LIFEMKvPpW8MdgFjjeK6EAMqu_bhB21igO3Q,61313
339
340
  synapse/tests/test_lib_stormlib_backup.py,sha256=3ZYE3swQ4A8aYJyVueFXzbekCdoKMC7jsHLoq0hTKGI,1644
340
341
  synapse/tests/test_lib_stormlib_basex.py,sha256=DDOsH3XDR8MdJ1uj5avyqnFqBnlaIu8L5stX61jqKrw,2049
@@ -369,11 +370,12 @@ synapse/tests/test_lib_stormlib_stats.py,sha256=zIaqhK6SWaKR6MOkevNZ-dSDVYBq8mwF
369
370
  synapse/tests/test_lib_stormlib_stix.py,sha256=U6ya7rEf3T1KK0tyVwHryDibD-Juapp2GqvS4WsodSA,25070
370
371
  synapse/tests/test_lib_stormlib_storm.py,sha256=yJbxeBoncDB0QPpr_KqJ5K7nGQfoE6qSLm3AKdrSyYk,5423
371
372
  synapse/tests/test_lib_stormlib_tabular.py,sha256=kj_brmiEuv1XXVbn-VKadLAVeBIyDXq7VNSzSko-DrI,9359
373
+ synapse/tests/test_lib_stormlib_utils.py,sha256=B6HRGJmNqLDNENa0PbXfj3gfMRX94z-Xyhr_IDctKMc,540
372
374
  synapse/tests/test_lib_stormlib_vault.py,sha256=pE_nDisXiyb-4Zm1hOrfsuEz3bjYwR8cS3aTmZ1ALRI,19969
373
375
  synapse/tests/test_lib_stormlib_xml.py,sha256=asF-Y1LVpLoqHRK71_LWy727XJvsTNpf8qRSK-CynMM,3659
374
376
  synapse/tests/test_lib_stormlib_yaml.py,sha256=egTVXk8wW31V2msF__9WxP3THcqfysG1mYhc7hQG8rw,1358
375
377
  synapse/tests/test_lib_stormsvc.py,sha256=J5-bmS_M3nkmJtmgUjyh7_vSwEzw_TxcMwe6q5ah1e8,43887
376
- synapse/tests/test_lib_stormtypes.py,sha256=9ZE1nmnrOhlla_bGuVi8AXBlYmTqeKG17mbzNP0voms,310302
378
+ synapse/tests/test_lib_stormtypes.py,sha256=XvdYjF8ARXwk62ujZShmP7mTVF6UdIbFz2QjBKjIVXk,314486
377
379
  synapse/tests/test_lib_stormwhois.py,sha256=AWMUYEgZ5yqvDfPC_rM4evmhgfOA_Fv5aoTjmKmN1_0,4818
378
380
  synapse/tests/test_lib_structlog.py,sha256=DGfzrfc2nybRq5RjwiUXd1v4sC5zl8d46RHgTmFD0iA,3964
379
381
  synapse/tests/test_lib_task.py,sha256=Zby9Evlg_mBwE3_aF7p_5PIMhWp2Er7Y-ye4Y-3L5RQ,1646
@@ -388,7 +390,7 @@ synapse/tests/test_lookup_iso3166.py,sha256=Xd2K0r0P5s-Towx_3qjDbJRd16Gr-ItMTIkY
388
390
  synapse/tests/test_lookup_phonenum.py,sha256=t9lWLGtalmDYVH5C0JMC1E8QdtO4AGW4F8l4jekSJeE,290
389
391
  synapse/tests/test_mindmeld.py,sha256=TiijGH7wX2zdXIFSBUlN40CPOvYaFlw6Wxi66XZuB_M,26
390
392
  synapse/tests/test_model_auth.py,sha256=AOg85IHsr4fSD3L1ex4vLwG24oicSzEOvcThdqMEkfI,1828
391
- synapse/tests/test_model_base.py,sha256=YQ-KQ2N10vD1I5gI7YApnYd_ited6qwJX-e7-ng1UHA,19087
393
+ synapse/tests/test_model_base.py,sha256=YgSCNpwkSrveaGENFcTENIeVDAWlTEO8Lva4yZYMyWk,19196
392
394
  synapse/tests/test_model_belief.py,sha256=X75PyP_JI4KvN00njr7JmefGXIhBvR83TOZ1uXdCjSE,1644
393
395
  synapse/tests/test_model_biz.py,sha256=73NRxQlu3MqZSH5-nXOhBR0CLpt7Nm2jjl-VwINxJoY,10128
394
396
  synapse/tests/test_model_crypto.py,sha256=7lm36xN4kPTBbhL2wmrfzc7KK-y2c3Fy0UTTqvUocn8,28220
@@ -402,27 +404,27 @@ synapse/tests/test_model_gov_cn.py,sha256=FnfKNM_wnvmScLm4cYFSQXZ21kVaTPPDusiCD7
402
404
  synapse/tests/test_model_gov_intl.py,sha256=v5BZhQnoMurzZYhM9hkzALzQzp92KidweYxVlghXDws,770
403
405
  synapse/tests/test_model_gov_us.py,sha256=kvZ9DudBrbKtZmqGm8X-b_IOw4oJ7XZMnvTgiDkzsrY,1525
404
406
  synapse/tests/test_model_inet.py,sha256=Py52eENPjZLLJuBAVELNlgRpa3iL1kAkhobHwVvwhiU,155608
405
- synapse/tests/test_model_infotech.py,sha256=7qiUQ_6kb0DYzkqRgscd77ux0_3HU3nRrSL7ynmvzb4,111760
407
+ synapse/tests/test_model_infotech.py,sha256=qG_N7O0h-UCtrN7F4jScz_XjQeO80lWym2P2fvxUmGw,113046
406
408
  synapse/tests/test_model_language.py,sha256=49stF1B8_EwWJB67Xa5VXCG563Zfbr6S85iKN9Iom48,3046
407
409
  synapse/tests/test_model_material.py,sha256=Hkd8BJh6FdQE0RuFMV2NO6fGqw9kOCb5AeIuTYtwCEM,2723
408
410
  synapse/tests/test_model_math.py,sha256=x-rHBfm-59ueZdHXXzSi53eshldvVURoJeLeexWTL2U,826
409
411
  synapse/tests/test_model_media.py,sha256=RQVhYjOZ4rkNPBSzz05rle1M7F6-Yxw545s7k-YBwzc,2627
410
- synapse/tests/test_model_orgs.py,sha256=6GH9VcEYqvLZLO3lIXNmAu4O8QKVw7C-RQhzMcam6LA,47031
412
+ synapse/tests/test_model_orgs.py,sha256=xuJ7KQ0gtcf9k6BlcFuRlB7yNAMybuWmzg792Vp99nQ,47156
411
413
  synapse/tests/test_model_person.py,sha256=GunHZceAA30Uq2AaiU1mqlCzTmW2mj-vn4AyNyLOioU,18455
412
414
  synapse/tests/test_model_planning.py,sha256=U2kkE0uBO6CqtTfy7wlnhEIu_NFdSri4I_I5b-mRjBE,5615
413
415
  synapse/tests/test_model_proj.py,sha256=hCuM-CTyCAvqVPy7klP6NXOEtgJ61OyyT0x8mcJsjns,23238
414
- synapse/tests/test_model_risk.py,sha256=xzZP63CbGh_RyN_xARx70jbxxUkRGP2G0FNyCrDO4B0,30846
416
+ synapse/tests/test_model_risk.py,sha256=Tc4qSAsb19GAV3dABAytHj3yykbMVhkl_eClHrZS0-Q,30935
415
417
  synapse/tests/test_model_science.py,sha256=2T9VxdzpltDufgjkUB95q97TQP9AxH2-T_sBbHfPDRk,2450
416
418
  synapse/tests/test_model_syn.py,sha256=ECwc0vjP5l4LSKJqBiJneHvizc0TNCL5kZsfTYjdE-g,29267
417
419
  synapse/tests/test_model_telco.py,sha256=5ToiRhCX7faiDx4lDMV6b7E9WteN3PcBlznYF6GA2co,13166
418
- synapse/tests/test_model_transport.py,sha256=d6BKOHdJ9ljaiED2vo_zSirCNscOV-6sVjGad3W9LRI,16221
420
+ synapse/tests/test_model_transport.py,sha256=kAR16Uc6szPZj3AN_sIjaHf3O0st_oV9bXixfF1QRGk,16308
419
421
  synapse/tests/test_servers_axon.py,sha256=x7NT6F32yuqP1RNwz1kUHWKg-zewL3Zt3N5a-kMbBG8,1098
420
422
  synapse/tests/test_servers_cortex.py,sha256=2td41cPfC5-hJ1C6sH5NsN-ixjfXPCpnPllPagfxVX0,1355
421
423
  synapse/tests/test_servers_cryotank.py,sha256=vDxTcF4mUP5QQyf3xD-PKXRsYD0EvLknlkr9S3H2RKc,1185
422
424
  synapse/tests/test_servers_stemcell.py,sha256=TJabX5aQVLbGNLffiVd3B7Uj5dH12Y-0KqAW56GM0G8,2320
423
425
  synapse/tests/test_servers_univ.py,sha256=eXesifJL05IA91f5od-9bjuIDVhNWMdo8qWzaHEr22s,2704
424
- synapse/tests/test_telepath.py,sha256=03sfryriaNRCznSjw8v93bRCVoIecipAXxhJD0eNKIs,45181
425
- synapse/tests/test_tools_aha.py,sha256=9WEg2chGwgLdhjH-KXEhRFhFencpl8zPTNbq5eQ9d-8,7280
426
+ synapse/tests/test_telepath.py,sha256=ssFggqPjdHAp_nB9nHO2ecl1b_rJATKWTzl-etVkxJk,46289
427
+ synapse/tests/test_tools_aha.py,sha256=pqfQYh0Uz235z32bgAN4kXJq7N2ge3SuK4rb357zCgM,16763
426
428
  synapse/tests/test_tools_apikey.py,sha256=pAjOSAhZiflKksZMHmICWRi0nIO5hS9P5VcT8qUubn0,8909
427
429
  synapse/tests/test_tools_autodoc.py,sha256=5j3QPfaNqhHl_aKbyn7X1C8SMI7k3fAW1-0qEzX78zk,8900
428
430
  synapse/tests/test_tools_axon2axon.py,sha256=A6JU9UI8lLMCS5rJ_w5shks4Oyo_VjlXQTOPtaTBE_M,1346
@@ -525,7 +527,7 @@ synapse/tools/autodoc.py,sha256=-esajH0-4ftIJHzW93t7FwQEJ4WsvH8iV5em_sf1Wlw,3508
525
527
  synapse/tools/axon2axon.py,sha256=FOaBLUrHH-r5Vw8FABwfTNGn_fJCg7jJxtP0ALpJUGM,1654
526
528
  synapse/tools/backup.py,sha256=Cz3OSaYMRND7gE55FdyjrBr3C1_qd68yJ23O4-mukCM,5969
527
529
  synapse/tools/cellauth.py,sha256=2ACKpOsOK_9F1B-HV5qhzGORSN7MhlElkL01Q710M1k,12122
528
- synapse/tools/changelog.py,sha256=hRsyBRxCOb-hfK65hU6Ta8U9Efln9t67mXG2hJCaGvE,45941
530
+ synapse/tools/changelog.py,sha256=vuGVLRYFyfvYHarIlfDVNAYHPlnIMrW_7yK9LCGp3yA,46116
529
531
  synapse/tools/cmdr.py,sha256=VdXzGU6ekhgvO0LmXFQlIWwH-T0v_q0VBZsKqONmhlg,1692
530
532
  synapse/tools/csvtool.py,sha256=n3TB1qLgb7-0Du6Z6CZtu2vxaHUtzncwr2aQmQjgzi0,7477
531
533
  synapse/tools/easycert.py,sha256=naoYnWfg0m6NrBraKUVk3FK5OW53yVBZH8rv6RrXRH8,4531
@@ -549,6 +551,7 @@ synapse/tools/aha/clone.py,sha256=-K-p1J5Ay5SAm80VZy9ysYvqwq6jnFGHeCewGxyKbHM,16
549
551
  synapse/tools/aha/easycert.py,sha256=GlVVLc1TS_vMhNTrgiBylOfzfc8Y96isFRQg-8r8xn4,3078
550
552
  synapse/tools/aha/enroll.py,sha256=oGdbWj1yQVfeXYopI-VtJW5CBsZhKv9B41hje4cK7fw,3276
551
553
  synapse/tools/aha/list.py,sha256=feeYRnsfEEHlkqI4xZXKSLmUrpXq_nb0AHE22RJ8eZc,2709
554
+ synapse/tools/aha/mirror.py,sha256=W6_pdexQKBlBPz-1C6dOyuXvepvQTTju9X7HtlFPffA,8111
552
555
  synapse/tools/aha/provision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
553
556
  synapse/tools/aha/provision/service.py,sha256=fhyQELilvABzzwEoZvRU6hGdLon6f10_kWM5MSMkG6I,3262
554
557
  synapse/tools/aha/provision/user.py,sha256=nDGA7TiZCvik9GCnMhioGpuCi8eV0fW67Yr_axhblQA,1895
@@ -608,8 +611,8 @@ synapse/vendor/xrpl/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
608
611
  synapse/vendor/xrpl/tests/test_codec.py,sha256=Zwq6A5uZUK_FWDL3BA932c5b-rL3hnC6efobWHSLC4o,6651
609
612
  synapse/vendor/xrpl/tests/test_main.py,sha256=kZQwWk7I6HrP-PMvLdsUUN4POvWD9I-iXDHOwdeF090,4299
610
613
  synapse/vendor/xrpl/tests/test_main_test_cases.py,sha256=vTlUM4hJD2Hd2wCIdd9rfsvcMZZZQmNHWdCTTFeGz2Y,4221
611
- synapse-2.195.0.dist-info/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
612
- synapse-2.195.0.dist-info/METADATA,sha256=KwK3DxD_-7ClE0fJ7g5sqgUAEPEYKwFkvtpLj1z8p20,4620
613
- synapse-2.195.0.dist-info/WHEEL,sha256=5pBL_y1xgYbRv8URJNE-BCn6IBkqK0TW5FP9QHWct1c,93
614
- synapse-2.195.0.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
615
- synapse-2.195.0.dist-info/RECORD,,
614
+ synapse-2.196.0.dist-info/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
615
+ synapse-2.196.0.dist-info/METADATA,sha256=hMKzlBFT_pV1EGxh3ugjBZIuNK9qpRGP9FlHGtnCyh0,4620
616
+ synapse-2.196.0.dist-info/WHEEL,sha256=5pBL_y1xgYbRv8URJNE-BCn6IBkqK0TW5FP9QHWct1c,93
617
+ synapse-2.196.0.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
618
+ synapse-2.196.0.dist-info/RECORD,,