nowaikit 4.1.6 → 4.4.1

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 (57) hide show
  1. package/README.md +3 -3
  2. package/dist/embed.d.ts +37 -0
  3. package/dist/embed.d.ts.map +1 -0
  4. package/dist/embed.js +75 -0
  5. package/dist/embed.js.map +1 -0
  6. package/dist/server.d.ts.map +1 -1
  7. package/dist/server.js +12 -2
  8. package/dist/server.js.map +1 -1
  9. package/dist/servicenow/client.d.ts +13 -0
  10. package/dist/servicenow/client.d.ts.map +1 -1
  11. package/dist/servicenow/client.js +65 -3
  12. package/dist/servicenow/client.js.map +1 -1
  13. package/dist/servicenow/instances.d.ts.map +1 -1
  14. package/dist/servicenow/instances.js +20 -0
  15. package/dist/servicenow/instances.js.map +1 -1
  16. package/dist/tools/blast-radius.d.ts +75 -0
  17. package/dist/tools/blast-radius.d.ts.map +1 -0
  18. package/dist/tools/blast-radius.js +205 -0
  19. package/dist/tools/blast-radius.js.map +1 -0
  20. package/dist/tools/catalog.d.ts.map +1 -1
  21. package/dist/tools/catalog.js +20 -3
  22. package/dist/tools/catalog.js.map +1 -1
  23. package/dist/tools/core.js +2 -2
  24. package/dist/tools/core.js.map +1 -1
  25. package/dist/tools/index.d.ts +182 -145
  26. package/dist/tools/index.d.ts.map +1 -1
  27. package/dist/tools/index.js +16 -2
  28. package/dist/tools/index.js.map +1 -1
  29. package/dist/tools/knowledge.d.ts.map +1 -1
  30. package/dist/tools/knowledge.js +9 -3
  31. package/dist/tools/knowledge.js.map +1 -1
  32. package/dist/tools/local-sync.d.ts +83 -0
  33. package/dist/tools/local-sync.d.ts.map +1 -0
  34. package/dist/tools/local-sync.js +256 -0
  35. package/dist/tools/local-sync.js.map +1 -0
  36. package/dist/tools/ml.d.ts +1 -1
  37. package/dist/tools/now-assist.d.ts +11 -145
  38. package/dist/tools/now-assist.d.ts.map +1 -1
  39. package/dist/tools/now-assist.js +50 -110
  40. package/dist/tools/now-assist.js.map +1 -1
  41. package/dist/tools/reporting.d.ts +55 -17
  42. package/dist/tools/reporting.d.ts.map +1 -1
  43. package/dist/tools/reporting.js +24 -15
  44. package/dist/tools/reporting.js.map +1 -1
  45. package/dist/tools-manifest.json +208 -95
  46. package/dist/transport/index.d.ts.map +1 -1
  47. package/dist/transport/index.js +18 -2
  48. package/dist/transport/index.js.map +1 -1
  49. package/dist/utils/permissions.d.ts +11 -5
  50. package/dist/utils/permissions.d.ts.map +1 -1
  51. package/dist/utils/permissions.js +39 -20
  52. package/dist/utils/permissions.js.map +1 -1
  53. package/dist/utils/request-context.d.ts +28 -0
  54. package/dist/utils/request-context.d.ts.map +1 -0
  55. package/dist/utils/request-context.js +71 -0
  56. package/dist/utils/request-context.js.map +1 -0
  57. package/package.json +8 -3
@@ -2194,8 +2194,10 @@ export declare function getTools(): ({
2194
2194
  query?: undefined;
2195
2195
  date_field?: undefined;
2196
2196
  periods?: undefined;
2197
+ indicator_sys_id?: undefined;
2197
2198
  widget_sys_id?: undefined;
2198
- time_range?: undefined;
2199
+ from?: undefined;
2200
+ to?: undefined;
2199
2201
  fields?: undefined;
2200
2202
  active?: undefined;
2201
2203
  name?: undefined;
@@ -2243,8 +2245,10 @@ export declare function getTools(): ({
2243
2245
  query?: undefined;
2244
2246
  date_field?: undefined;
2245
2247
  periods?: undefined;
2248
+ indicator_sys_id?: undefined;
2246
2249
  widget_sys_id?: undefined;
2247
- time_range?: undefined;
2250
+ from?: undefined;
2251
+ to?: undefined;
2248
2252
  fields?: undefined;
2249
2253
  active?: undefined;
2250
2254
  name?: undefined;
@@ -2304,8 +2308,10 @@ export declare function getTools(): ({
2304
2308
  limit?: undefined;
2305
2309
  sys_id_or_name?: undefined;
2306
2310
  aggregate?: undefined;
2311
+ indicator_sys_id?: undefined;
2307
2312
  widget_sys_id?: undefined;
2308
- time_range?: undefined;
2313
+ from?: undefined;
2314
+ to?: undefined;
2309
2315
  fields?: undefined;
2310
2316
  active?: undefined;
2311
2317
  name?: undefined;
@@ -2340,11 +2346,19 @@ export declare function getTools(): ({
2340
2346
  inputSchema: {
2341
2347
  type: string;
2342
2348
  properties: {
2349
+ indicator_sys_id: {
2350
+ type: string;
2351
+ description: string;
2352
+ };
2343
2353
  widget_sys_id: {
2344
2354
  type: string;
2345
2355
  description: string;
2346
2356
  };
2347
- time_range: {
2357
+ from: {
2358
+ type: string;
2359
+ description: string;
2360
+ };
2361
+ to: {
2348
2362
  type: string;
2349
2363
  description: string;
2350
2364
  };
@@ -2384,7 +2398,7 @@ export declare function getTools(): ({
2384
2398
  sections?: undefined;
2385
2399
  capability?: undefined;
2386
2400
  };
2387
- required: string[];
2401
+ required: never[];
2388
2402
  };
2389
2403
  } | {
2390
2404
  name: string;
@@ -2426,8 +2440,10 @@ export declare function getTools(): ({
2426
2440
  query?: undefined;
2427
2441
  date_field?: undefined;
2428
2442
  periods?: undefined;
2443
+ indicator_sys_id?: undefined;
2429
2444
  widget_sys_id?: undefined;
2430
- time_range?: undefined;
2445
+ from?: undefined;
2446
+ to?: undefined;
2431
2447
  fields?: undefined;
2432
2448
  sys_id?: undefined;
2433
2449
  title?: undefined;
@@ -2474,8 +2490,10 @@ export declare function getTools(): ({
2474
2490
  query?: undefined;
2475
2491
  date_field?: undefined;
2476
2492
  periods?: undefined;
2493
+ indicator_sys_id?: undefined;
2477
2494
  widget_sys_id?: undefined;
2478
- time_range?: undefined;
2495
+ from?: undefined;
2496
+ to?: undefined;
2479
2497
  active?: undefined;
2480
2498
  name?: undefined;
2481
2499
  script?: undefined;
@@ -2522,8 +2540,10 @@ export declare function getTools(): ({
2522
2540
  query?: undefined;
2523
2541
  date_field?: undefined;
2524
2542
  periods?: undefined;
2543
+ indicator_sys_id?: undefined;
2525
2544
  widget_sys_id?: undefined;
2526
- time_range?: undefined;
2545
+ from?: undefined;
2546
+ to?: undefined;
2527
2547
  fields?: undefined;
2528
2548
  active?: undefined;
2529
2549
  name?: undefined;
@@ -2595,8 +2615,10 @@ export declare function getTools(): ({
2595
2615
  sys_id_or_name?: undefined;
2596
2616
  date_field?: undefined;
2597
2617
  periods?: undefined;
2618
+ indicator_sys_id?: undefined;
2598
2619
  widget_sys_id?: undefined;
2599
- time_range?: undefined;
2620
+ from?: undefined;
2621
+ to?: undefined;
2600
2622
  fields?: undefined;
2601
2623
  active?: undefined;
2602
2624
  name?: undefined;
@@ -2648,8 +2670,10 @@ export declare function getTools(): ({
2648
2670
  query?: undefined;
2649
2671
  date_field?: undefined;
2650
2672
  periods?: undefined;
2673
+ indicator_sys_id?: undefined;
2651
2674
  widget_sys_id?: undefined;
2652
- time_range?: undefined;
2675
+ from?: undefined;
2676
+ to?: undefined;
2653
2677
  fields?: undefined;
2654
2678
  active?: undefined;
2655
2679
  name?: undefined;
@@ -2717,8 +2741,10 @@ export declare function getTools(): ({
2717
2741
  query?: undefined;
2718
2742
  date_field?: undefined;
2719
2743
  periods?: undefined;
2744
+ indicator_sys_id?: undefined;
2720
2745
  widget_sys_id?: undefined;
2721
- time_range?: undefined;
2746
+ from?: undefined;
2747
+ to?: undefined;
2722
2748
  fields?: undefined;
2723
2749
  active?: undefined;
2724
2750
  name?: undefined;
@@ -2779,8 +2805,10 @@ export declare function getTools(): ({
2779
2805
  query?: undefined;
2780
2806
  date_field?: undefined;
2781
2807
  periods?: undefined;
2808
+ indicator_sys_id?: undefined;
2782
2809
  widget_sys_id?: undefined;
2783
- time_range?: undefined;
2810
+ from?: undefined;
2811
+ to?: undefined;
2784
2812
  fields?: undefined;
2785
2813
  active?: undefined;
2786
2814
  script?: undefined;
@@ -2860,8 +2888,10 @@ export declare function getTools(): ({
2860
2888
  query?: undefined;
2861
2889
  date_field?: undefined;
2862
2890
  periods?: undefined;
2891
+ indicator_sys_id?: undefined;
2863
2892
  widget_sys_id?: undefined;
2864
- time_range?: undefined;
2893
+ from?: undefined;
2894
+ to?: undefined;
2865
2895
  fields?: undefined;
2866
2896
  active?: undefined;
2867
2897
  name?: undefined;
@@ -3014,67 +3044,10 @@ export declare function getTools(): ({
3014
3044
  };
3015
3045
  query?: undefined;
3016
3046
  sources?: undefined;
3017
- sys_id?: undefined;
3018
- incident_sys_id?: undefined;
3019
- short_description?: undefined;
3020
- description?: undefined;
3021
- active?: undefined;
3022
- category?: undefined;
3023
- playbook_sys_id?: undefined;
3024
- context?: undefined;
3025
- };
3026
- required: string[];
3027
- };
3028
- } | {
3029
- name: string;
3030
- description: string;
3031
- inputSchema: {
3032
- type: string;
3033
- properties: {
3034
- table: {
3035
- type: string;
3036
- description: string;
3037
- };
3038
- sys_id: {
3039
- type: string;
3040
- description: string;
3041
- };
3042
- question?: undefined;
3043
- limit?: undefined;
3044
- query?: undefined;
3045
- sources?: undefined;
3046
- incident_sys_id?: undefined;
3047
- short_description?: undefined;
3048
- description?: undefined;
3049
- active?: undefined;
3050
- category?: undefined;
3051
- playbook_sys_id?: undefined;
3052
- context?: undefined;
3053
- };
3054
- required: string[];
3055
- };
3056
- } | {
3057
- name: string;
3058
- description: string;
3059
- inputSchema: {
3060
- type: string;
3061
- properties: {
3062
- incident_sys_id: {
3063
- type: string;
3064
- description: string;
3065
- };
3066
- question?: undefined;
3067
- table?: undefined;
3068
- limit?: undefined;
3069
- query?: undefined;
3070
- sources?: undefined;
3071
- sys_id?: undefined;
3072
3047
  short_description?: undefined;
3073
3048
  description?: undefined;
3074
3049
  active?: undefined;
3075
3050
  category?: undefined;
3076
- playbook_sys_id?: undefined;
3077
- context?: undefined;
3078
3051
  };
3079
3052
  required: string[];
3080
3053
  };
@@ -3097,12 +3070,8 @@ export declare function getTools(): ({
3097
3070
  limit?: undefined;
3098
3071
  query?: undefined;
3099
3072
  sources?: undefined;
3100
- sys_id?: undefined;
3101
- incident_sys_id?: undefined;
3102
3073
  active?: undefined;
3103
3074
  category?: undefined;
3104
- playbook_sys_id?: undefined;
3105
- context?: undefined;
3106
3075
  };
3107
3076
  required: string[];
3108
3077
  };
@@ -3128,43 +3097,11 @@ export declare function getTools(): ({
3128
3097
  table?: undefined;
3129
3098
  query?: undefined;
3130
3099
  sources?: undefined;
3131
- sys_id?: undefined;
3132
- incident_sys_id?: undefined;
3133
3100
  short_description?: undefined;
3134
3101
  description?: undefined;
3135
- playbook_sys_id?: undefined;
3136
- context?: undefined;
3137
3102
  };
3138
3103
  required: never[];
3139
3104
  };
3140
- } | {
3141
- name: string;
3142
- description: string;
3143
- inputSchema: {
3144
- type: string;
3145
- properties: {
3146
- playbook_sys_id: {
3147
- type: string;
3148
- description: string;
3149
- };
3150
- context: {
3151
- type: string;
3152
- description: string;
3153
- };
3154
- question?: undefined;
3155
- table?: undefined;
3156
- limit?: undefined;
3157
- query?: undefined;
3158
- sources?: undefined;
3159
- sys_id?: undefined;
3160
- incident_sys_id?: undefined;
3161
- short_description?: undefined;
3162
- description?: undefined;
3163
- active?: undefined;
3164
- category?: undefined;
3165
- };
3166
- required: string[];
3167
- };
3168
3105
  } | {
3169
3106
  name: string;
3170
3107
  description: string;
@@ -3179,48 +3116,13 @@ export declare function getTools(): ({
3179
3116
  table?: undefined;
3180
3117
  query?: undefined;
3181
3118
  sources?: undefined;
3182
- sys_id?: undefined;
3183
- incident_sys_id?: undefined;
3184
3119
  short_description?: undefined;
3185
3120
  description?: undefined;
3186
3121
  active?: undefined;
3187
3122
  category?: undefined;
3188
- playbook_sys_id?: undefined;
3189
- context?: undefined;
3190
3123
  };
3191
3124
  required: never[];
3192
3125
  };
3193
- } | {
3194
- name: string;
3195
- description: string;
3196
- inputSchema: {
3197
- type: string;
3198
- properties: {
3199
- table: {
3200
- type: string;
3201
- description: string;
3202
- };
3203
- sys_id: {
3204
- type: string;
3205
- description: string;
3206
- };
3207
- context: {
3208
- type: string;
3209
- description: string;
3210
- };
3211
- question?: undefined;
3212
- limit?: undefined;
3213
- query?: undefined;
3214
- sources?: undefined;
3215
- incident_sys_id?: undefined;
3216
- short_description?: undefined;
3217
- description?: undefined;
3218
- active?: undefined;
3219
- category?: undefined;
3220
- playbook_sys_id?: undefined;
3221
- };
3222
- required: string[];
3223
- };
3224
3126
  } | {
3225
3127
  name: string;
3226
3128
  description: string;
@@ -3232,14 +3134,10 @@ export declare function getTools(): ({
3232
3134
  limit?: undefined;
3233
3135
  query?: undefined;
3234
3136
  sources?: undefined;
3235
- sys_id?: undefined;
3236
- incident_sys_id?: undefined;
3237
3137
  short_description?: undefined;
3238
3138
  description?: undefined;
3239
3139
  active?: undefined;
3240
3140
  category?: undefined;
3241
- playbook_sys_id?: undefined;
3242
- context?: undefined;
3243
3141
  };
3244
3142
  required: never[];
3245
3143
  };
@@ -11279,6 +11177,145 @@ export declare function getTools(): ({
11279
11177
  };
11280
11178
  required: string[];
11281
11179
  };
11180
+ } | {
11181
+ name: string;
11182
+ description: string;
11183
+ inputSchema: {
11184
+ type: string;
11185
+ properties: {
11186
+ table: {
11187
+ type: string;
11188
+ description: string;
11189
+ };
11190
+ limit: {
11191
+ type: string;
11192
+ description: string;
11193
+ };
11194
+ field?: undefined;
11195
+ name?: undefined;
11196
+ };
11197
+ required: string[];
11198
+ };
11199
+ } | {
11200
+ name: string;
11201
+ description: string;
11202
+ inputSchema: {
11203
+ type: string;
11204
+ properties: {
11205
+ table: {
11206
+ type: string;
11207
+ description: string;
11208
+ };
11209
+ field: {
11210
+ type: string;
11211
+ description: string;
11212
+ };
11213
+ limit: {
11214
+ type: string;
11215
+ description: string;
11216
+ };
11217
+ name?: undefined;
11218
+ };
11219
+ required: string[];
11220
+ };
11221
+ } | {
11222
+ name: string;
11223
+ description: string;
11224
+ inputSchema: {
11225
+ type: string;
11226
+ properties: {
11227
+ name: {
11228
+ type: string;
11229
+ description: string;
11230
+ };
11231
+ limit: {
11232
+ type: string;
11233
+ description: string;
11234
+ };
11235
+ table?: undefined;
11236
+ field?: undefined;
11237
+ };
11238
+ required: string[];
11239
+ };
11240
+ } | {
11241
+ name: string;
11242
+ description: string;
11243
+ inputSchema: {
11244
+ type: string;
11245
+ properties: {
11246
+ table?: undefined;
11247
+ sys_id?: undefined;
11248
+ fields?: undefined;
11249
+ expected_updated_on?: undefined;
11250
+ };
11251
+ required: never[];
11252
+ };
11253
+ } | {
11254
+ name: string;
11255
+ description: string;
11256
+ inputSchema: {
11257
+ type: string;
11258
+ properties: {
11259
+ table: {
11260
+ type: string;
11261
+ description: string;
11262
+ };
11263
+ sys_id: {
11264
+ type: string;
11265
+ description: string;
11266
+ };
11267
+ fields?: undefined;
11268
+ expected_updated_on?: undefined;
11269
+ };
11270
+ required: string[];
11271
+ };
11272
+ } | {
11273
+ name: string;
11274
+ description: string;
11275
+ inputSchema: {
11276
+ type: string;
11277
+ properties: {
11278
+ table: {
11279
+ type: string;
11280
+ description: string;
11281
+ };
11282
+ sys_id: {
11283
+ type: string;
11284
+ description: string;
11285
+ };
11286
+ fields: {
11287
+ type: string;
11288
+ description: string;
11289
+ };
11290
+ expected_updated_on: {
11291
+ type: string;
11292
+ description: string;
11293
+ };
11294
+ };
11295
+ required: string[];
11296
+ };
11297
+ } | {
11298
+ name: string;
11299
+ description: string;
11300
+ inputSchema: {
11301
+ type: string;
11302
+ properties: {
11303
+ table: {
11304
+ type: string;
11305
+ description: string;
11306
+ };
11307
+ sys_id: {
11308
+ type: string;
11309
+ description: string;
11310
+ };
11311
+ fields: {
11312
+ type: string;
11313
+ description: string;
11314
+ };
11315
+ expected_updated_on?: undefined;
11316
+ };
11317
+ required: string[];
11318
+ };
11282
11319
  } | {
11283
11320
  name: string;
11284
11321
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAwShE,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAelH;AA8BD,wBAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuBvB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CA8Dd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA4ShE,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAelH;AA8BD,wBAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgCvB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAgEd"}
@@ -71,6 +71,8 @@ import { getCmdbReconciliationToolDefinitions, executeCmdbReconciliationToolCall
71
71
  import { getOrchestrationToolDefinitions, executeOrchestrationToolCall } from './orchestration.js';
72
72
  // Dynamic Schema Discovery
73
73
  import { getDiscoveryToolDefinitions, executeDiscoveryToolCall, executeDynamicToolCall } from './discovery.js';
74
+ import { getBlastRadiusToolDefinitions, executeBlastRadiusToolCall } from './blast-radius.js';
75
+ import { getLocalSyncToolDefinitions, executeLocalSyncToolCall } from './local-sync.js';
74
76
  import { schemaCache } from './schema-cache.js';
75
77
  // ─── Package Definitions ──────────────────────────────────────────────────────
76
78
  const PACKAGE_TOOL_NAMES = {
@@ -208,8 +210,8 @@ const PACKAGE_TOOL_NAMES = {
208
210
  ],
209
211
  ai_developer: [
210
212
  'query_records', 'get_record', 'natural_language_search', 'create_record', 'update_record', 'delete_record',
211
- 'nlq_query', 'ai_search', 'generate_summary', 'suggest_resolution', 'categorize_incident',
212
- 'get_virtual_agent_topics', 'trigger_agentic_playbook', 'get_ms_copilot_topics', 'generate_work_notes', 'get_pi_models',
213
+ 'nlq_query', 'ai_search', 'categorize_incident',
214
+ 'get_virtual_agent_topics', 'get_ms_copilot_topics', 'get_pi_models',
213
215
  'search_knowledge', 'get_knowledge_article',
214
216
  'fluent_query', 'batch_request', 'execute_script', 'generate_report',
215
217
  'fluent_sdk_query', 'fluent_version',
@@ -264,6 +266,8 @@ const ALL_TOOLS = [
264
266
  ...getCmdbReconciliationToolDefinitions(),
265
267
  ...getOrchestrationToolDefinitions(),
266
268
  ...getDiscoveryToolDefinitions(),
269
+ ...getBlastRadiusToolDefinitions(),
270
+ ...getLocalSyncToolDefinitions(),
267
271
  ];
268
272
  // ─── Dynamic tool discovery (search_tools) ──────────────────────────────────────
269
273
  const SEARCH_TOOLS_DEF = {
@@ -332,6 +336,14 @@ export function getTools() {
332
336
  const packageName = (process.env.MCP_TOOL_PACKAGE || 'full').toLowerCase();
333
337
  const discovery = (process.env.MCP_TOOL_DISCOVERY || '').toLowerCase();
334
338
  const dynamicTools = schemaCache.getGeneratedTools();
339
+ // Core discovery mode: expose ONLY the small core set (record CRUD, schema,
340
+ // natural-language search) and NOT the search_tools meta-tool. This is for hosts
341
+ // that want a fast, deterministic toolset where the model calls a query/CRUD tool
342
+ // directly instead of first searching the catalog — no extra discovery round-trip.
343
+ // The core tools work on any table, so they cover most read/write/troubleshoot work.
344
+ if (discovery === 'core') {
345
+ return [...ALL_TOOLS.filter((t) => LEAN_CORE_TOOL_NAMES.has(t.name)), ...dynamicTools].map(withAnnotations);
346
+ }
335
347
  // Lean discovery mode: expose only a small core set + search_tools to keep
336
348
  // the tool list small; the model uses search_tools to find the rest.
337
349
  if (discovery === 'lean') {
@@ -399,6 +411,8 @@ export async function executeTool(client, name, args) {
399
411
  () => executeAiAgentsToolCall(client, name, args),
400
412
  () => executeCmdbReconciliationToolCall(client, name, args),
401
413
  () => executeOrchestrationToolCall(client, name, args),
414
+ () => executeBlastRadiusToolCall(client, name, args),
415
+ () => executeLocalSyncToolCall(client, name, args),
402
416
  () => executeDiscoveryToolCall(client, name, args),
403
417
  () => executeDynamicToolCall(client, name, args),
404
418
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}