mongodb 4.2.1 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/admin.js +3 -3
- package/lib/admin.js.map +1 -1
- package/lib/bson.js +16 -14
- package/lib/bson.js.map +1 -1
- package/lib/bulk/common.js +7 -7
- package/lib/bulk/common.js.map +1 -1
- package/lib/bulk/ordered.js +1 -1
- package/lib/bulk/ordered.js.map +1 -1
- package/lib/bulk/unordered.js +1 -1
- package/lib/bulk/unordered.js.map +1 -1
- package/lib/change_stream.js +6 -6
- package/lib/change_stream.js.map +1 -1
- package/lib/cmap/auth/auth_provider.js.map +1 -1
- package/lib/cmap/auth/gssapi.js +52 -10
- package/lib/cmap/auth/gssapi.js.map +1 -1
- package/lib/cmap/auth/mongo_credentials.js +36 -27
- package/lib/cmap/auth/mongo_credentials.js.map +1 -1
- package/lib/cmap/auth/mongocr.js +2 -2
- package/lib/cmap/auth/mongocr.js.map +1 -1
- package/lib/cmap/auth/mongodb_aws.js +6 -6
- package/lib/cmap/auth/mongodb_aws.js.map +1 -1
- package/lib/cmap/auth/plain.js +1 -1
- package/lib/cmap/auth/plain.js.map +1 -1
- package/lib/cmap/auth/providers.js +21 -0
- package/lib/cmap/auth/providers.js.map +1 -0
- package/lib/cmap/auth/scram.js +4 -4
- package/lib/cmap/auth/scram.js.map +1 -1
- package/lib/cmap/auth/x509.js +1 -1
- package/lib/cmap/auth/x509.js.map +1 -1
- package/lib/cmap/command_monitoring_events.js +3 -2
- package/lib/cmap/command_monitoring_events.js.map +1 -1
- package/lib/cmap/commands.js +14 -8
- package/lib/cmap/commands.js.map +1 -1
- package/lib/cmap/connect.js +119 -37
- package/lib/cmap/connect.js.map +1 -1
- package/lib/cmap/connection.js +36 -35
- package/lib/cmap/connection.js.map +1 -1
- package/lib/cmap/connection_pool.js +19 -30
- package/lib/cmap/connection_pool.js.map +1 -1
- package/lib/cmap/message_stream.js +3 -3
- package/lib/cmap/message_stream.js.map +1 -1
- package/lib/cmap/stream_description.js +4 -4
- package/lib/cmap/stream_description.js.map +1 -1
- package/lib/cmap/wire_protocol/compression.js +2 -1
- package/lib/cmap/wire_protocol/compression.js.map +1 -1
- package/lib/cmap/wire_protocol/shared.js +4 -3
- package/lib/cmap/wire_protocol/shared.js.map +1 -1
- package/lib/collection.js +46 -47
- package/lib/collection.js.map +1 -1
- package/lib/connection_string.js +93 -54
- package/lib/connection_string.js.map +1 -1
- package/lib/constants.js +113 -1
- package/lib/constants.js.map +1 -1
- package/lib/cursor/abstract_cursor.js +5 -5
- package/lib/cursor/abstract_cursor.js.map +1 -1
- package/lib/cursor/aggregation_cursor.js +1 -1
- package/lib/cursor/aggregation_cursor.js.map +1 -1
- package/lib/cursor/find_cursor.js +2 -1
- package/lib/cursor/find_cursor.js.map +1 -1
- package/lib/db.js +23 -13
- package/lib/db.js.map +1 -1
- package/lib/deps.js +0 -1
- package/lib/deps.js.map +1 -1
- package/lib/encrypter.js +12 -4
- package/lib/encrypter.js.map +1 -1
- package/lib/error.js +47 -24
- package/lib/error.js.map +1 -1
- package/lib/gridfs/download.js +1 -1
- package/lib/gridfs/download.js.map +1 -1
- package/lib/gridfs/index.js +3 -3
- package/lib/gridfs/index.js.map +1 -1
- package/lib/gridfs/upload.js +3 -2
- package/lib/gridfs/upload.js.map +1 -1
- package/lib/index.js +83 -81
- package/lib/index.js.map +1 -1
- package/lib/logger.js +1 -1
- package/lib/logger.js.map +1 -1
- package/lib/mongo_client.js +5 -5
- package/lib/mongo_client.js.map +1 -1
- package/lib/mongo_types.js.map +1 -1
- package/lib/operations/add_user.js +3 -3
- package/lib/operations/add_user.js.map +1 -1
- package/lib/operations/aggregate.js +1 -1
- package/lib/operations/aggregate.js.map +1 -1
- package/lib/operations/bulk_write.js.map +1 -1
- package/lib/operations/collections.js +1 -1
- package/lib/operations/collections.js.map +1 -1
- package/lib/operations/command.js +5 -6
- package/lib/operations/command.js.map +1 -1
- package/lib/operations/common_functions.js.map +1 -1
- package/lib/operations/connect.js +4 -13
- package/lib/operations/connect.js.map +1 -1
- package/lib/operations/count.js +1 -1
- package/lib/operations/count.js.map +1 -1
- package/lib/operations/count_documents.js.map +1 -1
- package/lib/operations/create_collection.js +3 -2
- package/lib/operations/create_collection.js.map +1 -1
- package/lib/operations/delete.js +3 -3
- package/lib/operations/delete.js.map +1 -1
- package/lib/operations/distinct.js +3 -3
- package/lib/operations/distinct.js.map +1 -1
- package/lib/operations/drop.js +1 -1
- package/lib/operations/drop.js.map +1 -1
- package/lib/operations/estimated_document_count.js +2 -2
- package/lib/operations/estimated_document_count.js.map +1 -1
- package/lib/operations/eval.js +2 -2
- package/lib/operations/eval.js.map +1 -1
- package/lib/operations/execute_operation.js +5 -6
- package/lib/operations/execute_operation.js.map +1 -1
- package/lib/operations/find.js +5 -5
- package/lib/operations/find.js.map +1 -1
- package/lib/operations/find_and_modify.js +2 -2
- package/lib/operations/find_and_modify.js.map +1 -1
- package/lib/operations/get_more.js.map +1 -1
- package/lib/operations/indexes.js +4 -4
- package/lib/operations/indexes.js.map +1 -1
- package/lib/operations/insert.js +3 -3
- package/lib/operations/insert.js.map +1 -1
- package/lib/operations/is_capped.js +1 -1
- package/lib/operations/is_capped.js.map +1 -1
- package/lib/operations/list_collections.js +3 -3
- package/lib/operations/list_collections.js.map +1 -1
- package/lib/operations/list_databases.js +1 -1
- package/lib/operations/list_databases.js.map +1 -1
- package/lib/operations/map_reduce.js +4 -3
- package/lib/operations/map_reduce.js.map +1 -1
- package/lib/operations/operation.js +1 -1
- package/lib/operations/operation.js.map +1 -1
- package/lib/operations/options_operation.js +1 -1
- package/lib/operations/options_operation.js.map +1 -1
- package/lib/operations/profiling_level.js +1 -1
- package/lib/operations/profiling_level.js.map +1 -1
- package/lib/operations/remove_user.js +1 -1
- package/lib/operations/remove_user.js.map +1 -1
- package/lib/operations/rename.js +3 -3
- package/lib/operations/rename.js.map +1 -1
- package/lib/operations/run_command.js +1 -1
- package/lib/operations/run_command.js.map +1 -1
- package/lib/operations/set_profiling_level.js +2 -2
- package/lib/operations/set_profiling_level.js.map +1 -1
- package/lib/operations/stats.js +1 -1
- package/lib/operations/stats.js.map +1 -1
- package/lib/operations/update.js +2 -2
- package/lib/operations/update.js.map +1 -1
- package/lib/operations/validate_collection.js +1 -1
- package/lib/operations/validate_collection.js.map +1 -1
- package/lib/read_preference.js +15 -5
- package/lib/read_preference.js.map +1 -1
- package/lib/sdam/events.js +4 -4
- package/lib/sdam/monitor.js +19 -18
- package/lib/sdam/monitor.js.map +1 -1
- package/lib/sdam/server.js +24 -31
- package/lib/sdam/server.js.map +1 -1
- package/lib/sdam/server_description.js +38 -38
- package/lib/sdam/server_description.js.map +1 -1
- package/lib/sdam/server_selection.js +2 -2
- package/lib/sdam/server_selection.js.map +1 -1
- package/lib/sdam/srv_polling.js +2 -2
- package/lib/sdam/srv_polling.js.map +1 -1
- package/lib/sdam/topology.js +32 -62
- package/lib/sdam/topology.js.map +1 -1
- package/lib/sdam/topology_description.js +3 -3
- package/lib/sdam/topology_description.js.map +1 -1
- package/lib/sessions.js +13 -28
- package/lib/sessions.js.map +1 -1
- package/lib/transactions.js +1 -1
- package/lib/transactions.js.map +1 -1
- package/lib/utils.js +46 -15
- package/lib/utils.js.map +1 -1
- package/mongodb.d.ts +205 -60
- package/mongodb.ts34.d.ts +230 -59
- package/package.json +40 -37
- package/src/admin.ts +9 -9
- package/src/bson.ts +25 -17
- package/src/bulk/common.ts +22 -23
- package/src/bulk/ordered.ts +4 -4
- package/src/bulk/unordered.ts +5 -5
- package/src/change_stream.ts +29 -28
- package/src/cmap/auth/auth_provider.ts +3 -3
- package/src/cmap/auth/gssapi.ts +65 -14
- package/src/cmap/auth/mongo_credentials.ts +28 -17
- package/src/cmap/auth/mongocr.ts +3 -2
- package/src/cmap/auth/mongodb_aws.ts +10 -11
- package/src/cmap/auth/plain.ts +1 -1
- package/src/cmap/auth/providers.ts +21 -0
- package/src/cmap/auth/scram.ts +9 -9
- package/src/cmap/auth/x509.ts +3 -3
- package/src/cmap/command_monitoring_events.ts +4 -3
- package/src/cmap/commands.ts +22 -14
- package/src/cmap/connect.ts +161 -45
- package/src/cmap/connection.ts +83 -63
- package/src/cmap/connection_pool.ts +39 -39
- package/src/cmap/connection_pool_events.ts +1 -1
- package/src/cmap/message_stream.ts +9 -8
- package/src/cmap/stream_description.ts +5 -5
- package/src/cmap/wire_protocol/compression.ts +4 -3
- package/src/cmap/wire_protocol/shared.ts +10 -9
- package/src/collection.ts +116 -93
- package/src/connection_string.ts +130 -59
- package/src/constants.ts +122 -0
- package/src/cursor/abstract_cursor.ts +14 -13
- package/src/cursor/aggregation_cursor.ts +6 -6
- package/src/cursor/find_cursor.ts +12 -4
- package/src/db.ts +44 -33
- package/src/deps.ts +44 -1
- package/src/encrypter.ts +12 -3
- package/src/error.ts +52 -24
- package/src/gridfs/download.ts +10 -8
- package/src/gridfs/index.ts +11 -11
- package/src/gridfs/upload.ts +13 -10
- package/src/index.ts +205 -199
- package/src/logger.ts +2 -1
- package/src/mongo_client.ts +46 -32
- package/src/mongo_types.ts +119 -21
- package/src/operations/add_user.ts +7 -6
- package/src/operations/aggregate.ts +5 -5
- package/src/operations/bulk_write.ts +5 -5
- package/src/operations/collections.ts +2 -2
- package/src/operations/command.ts +15 -9
- package/src/operations/common_functions.ts +4 -4
- package/src/operations/connect.ts +4 -14
- package/src/operations/count.ts +4 -4
- package/src/operations/count_documents.ts +3 -3
- package/src/operations/create_collection.ts +7 -6
- package/src/operations/delete.ts +5 -5
- package/src/operations/distinct.ts +4 -4
- package/src/operations/drop.ts +4 -4
- package/src/operations/estimated_document_count.ts +5 -5
- package/src/operations/eval.ts +5 -5
- package/src/operations/execute_operation.ts +10 -11
- package/src/operations/find.ts +14 -14
- package/src/operations/find_and_modify.ts +7 -7
- package/src/operations/get_more.ts +2 -2
- package/src/operations/indexes.ts +16 -16
- package/src/operations/insert.ts +9 -9
- package/src/operations/is_capped.ts +3 -3
- package/src/operations/list_collections.ts +6 -6
- package/src/operations/list_databases.ts +4 -4
- package/src/operations/map_reduce.ts +10 -9
- package/src/operations/operation.ts +3 -3
- package/src/operations/options_operation.ts +3 -3
- package/src/operations/profiling_level.ts +4 -4
- package/src/operations/remove_user.ts +4 -4
- package/src/operations/rename.ts +6 -6
- package/src/operations/run_command.ts +3 -3
- package/src/operations/set_profiling_level.ts +6 -5
- package/src/operations/stats.ts +4 -4
- package/src/operations/update.ts +10 -10
- package/src/operations/validate_collection.ts +4 -4
- package/src/read_preference.ts +18 -7
- package/src/sdam/common.ts +2 -2
- package/src/sdam/events.ts +5 -5
- package/src/sdam/monitor.ts +29 -32
- package/src/sdam/server.ts +64 -62
- package/src/sdam/server_description.ts +41 -48
- package/src/sdam/server_selection.ts +3 -3
- package/src/sdam/srv_polling.ts +3 -2
- package/src/sdam/topology.ts +71 -89
- package/src/sdam/topology_description.ts +5 -5
- package/src/sessions.ts +31 -48
- package/src/transactions.ts +4 -4
- package/src/utils.ts +64 -28
- package/lib/cmap/auth/defaultAuthProviders.js +0 -30
- package/lib/cmap/auth/defaultAuthProviders.js.map +0 -1
- package/src/cmap/auth/defaultAuthProviders.ts +0 -32
package/lib/cmap/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cmap/commands.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AACpD,gCAAgC;AAChC,oCAA6C;AAC7C,yDAA0F;AAI1F,oCAAwE;AAExE,0BAA0B;AAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,cAAc;AACd,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,iBAAiB;AACjB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,aAAa,GAAG,CAAC,CAAC;AA0BxB;;gEAEgE;AAChE,gBAAgB;AAChB,MAAa,KAAK;IAsBhB,YAAY,EAAU,EAAE,KAAe,EAAE,OAAuB;QAC9D,uCAAuC;QACvC,kDAAkD;QAClD,IAAI,EAAE,IAAI,IAAI;YAAE,MAAM,IAAI,yBAAiB,CAAC,uCAAuC,CAAC,CAAC;QACrF,kDAAkD;QAClD,IAAI,KAAK,IAAI,IAAI;YAAE,MAAM,IAAI,yBAAiB,CAAC,8CAA8C,CAAC,CAAC;QAE/F,+DAA+D;QAC/D,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7B,oDAAoD;YACpD,MAAM,IAAI,yBAAiB,CAAC,2CAA2C,CAAC,CAAC;SAC1E;QAED,gBAAgB;QAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,qBAAqB;QACrB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,SAAS,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAEtC,sDAAsD;QACtD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAErC,uBAAuB;QACvB,IAAI,CAAC,kBAAkB;YACrB,OAAO,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;QACvF,IAAI,CAAC,eAAe;YAClB,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACpF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QAErC,QAAQ;QACR,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9E,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,8BAA8B;IAC9B,YAAY;QACV,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,4BAA4B;IAC5B,aAAa;QACX,OAAO,UAAU,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,YAAY;QACjB,OAAO,EAAE,UAAU,CAAC;IACtB,CAAC;IAED,uFAAuF;IACvF,KAAK;QACH,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,GAAG,IAAI,CAAC;QAEtB,mBAAmB;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,IAAI,oBAAoB,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,KAAK,IAAI,UAAU,CAAC;SACrB;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,KAAK,IAAI,iBAAiB,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,KAAK,IAAI,sBAAsB,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,KAAK,IAAI,eAAe,CAAC;SAC1B;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,KAAK,IAAI,YAAY,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,KAAK,IAAI,YAAY,CAAC;SACvB;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjF,wCAAwC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC,GAAG,CAAC,GAAG,SAAS;YACf,CAAC,GAAG,QAAQ;YACZ,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,CAAC,GAAG,YAAY;YAChB,CAAC,GAAG,eAAe;YACnB,CAAC,CAAC,iBAAiB;SACtB,CAAC;QAEF,wBAAwB;QACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;QAEH,qBAAqB;QACrB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChF,oCAAoC;YACpC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACpD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAC,CAAC;YACH,0BAA0B;YAC1B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1B;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExF,mBAAmB;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,8BAA8B;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACtC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;QAE/B,qCAAqC;QACrC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAClD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAClD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,sCAAsC;QACtC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACrC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACrC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACzB,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,oCAAoC;QACpC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC5C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC5C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,GAAG,oBAAQ,GAAG,IAAI,CAAC;QAChC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,iCAAiC;QACjC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACzC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACzC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QAC7B,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,wBAAwB;QACxB,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAEtB,8CAA8C;QAC9C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACrD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACrD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,gDAAgD;QAChD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACvD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACvD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3C,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,qBAAqB;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAvND,sBAuNC;AAOD;;gEAEgE;AAChE,gBAAgB;AAChB,MAAa,OAAO;IAMlB,YAAY,EAAU,EAAE,QAAc,EAAE,OAAyB,EAAE;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uFAAuF;IACvF,KAAK;QACH,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClE,wBAAwB;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,kBAAkB;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErC,2BAA2B;QAC3B,8CAA8C;QAC9C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;QAC/B,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,iDAAiD;QACjD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,yCAAyC;QACzC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,kDAAkD;QAClD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,sBAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,sBAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,sBAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,sBAAU,GAAG,IAAI,CAAC;QACnC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,yCAAyC;QACzC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,wBAAwB;QACxB,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAEvB,mBAAmB;QACnB,sDAAsD;QACtD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACxD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACxD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5C,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,kBAAkB;QAClB,6DAA6D;QAC7D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;QACnD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,8DAA8D;QAC9D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAChE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAChE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;QACpD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,gBAAgB;QAChB,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AAvFD,0BAuFC;AAED;;gEAEgE;AAChE,gBAAgB;AAChB,MAAa,UAAU;IAKrB,YAAY,EAAU,EAAE,SAAiB;QACvC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,uFAAuF;IACvF,KAAK;QACH,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzD,wBAAwB;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErC,2BAA2B;QAC3B,8CAA8C;QAC9C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;QAC/B,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,iDAAiD;QACjD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,yCAAyC;QACzC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,uDAAuD;QACvD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,2BAAe,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACpD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,2BAAe,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACpD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,2BAAe,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,GAAG,2BAAe,GAAG,IAAI,CAAC;QACxC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,yCAAyC;QACzC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,mBAAmB;QACnB,6DAA6D;QAC7D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC1D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC1D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;QAC9C,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,kBAAkB;YAClB,iEAAiE;YACjE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACnE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACnE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;YACvD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAElB,kEAAkE;YAClE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACpE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACpE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;YACxD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;SACnB;QAED,gBAAgB;QAChB,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AApFD,gCAoFC;AAiBD,gBAAgB;AAChB,MAAa,QAAQ;IAyBnB,YACE,OAAe,EACf,SAAwB,EACxB,OAAe,EACf,IAAwB;QAExB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI;YAClB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,KAAK;SAClB,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAE/C,wBAAwB;QACxB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE9C,6BAA6B;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,IAAI,CAAC,aAAa;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,cAAc;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,CAAC,UAAU,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7F,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAA0B;;QAC9B,kCAAkC;QAClC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAExB,uDAAuD;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;QACjC,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAChE,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACpE,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACvE,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9D,IAAI,QAAQ,CAAC;QAEb,qBAAqB;QACrB,MAAM,QAAQ,GAAyB;YACrC,YAAY;YACZ,aAAa;YACb,cAAc;YACd,UAAU;SACX,CAAC;QAEF,oDAAoD;QACpD,uFAAuF;QACvF,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,aAAa;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE;YAC5C,QAAQ;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpC,6DAA6D;YAC7D,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;aACxE;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,EAClD,QAAQ,CACT,CAAC;aACH;YAED,mBAAmB;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;SACpC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,IAAI,IAAI,IAAI,GAAG,EAAE;YACrE,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,WAAW,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;YACxC,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;YAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAW,EAAE,QAAQ,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,aAAa;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;CACF;AAtID,4BAsIC;AAED,iCAAiC;AACjC,kFAAkF;AAClF,EAAE;AACF,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,gDAAgD;AAChD,8CAA8C;AAC9C,6BAA6B;AAC7B,mCAAmC;AACnC,kCAAkC;AAClC,WAAW;AACX,OAAO;AACP,KAAK;AAEL,kBAAkB;AAClB,uBAAuB;AACvB,8BAA8B;AAC9B,0BAA0B;AAC1B,2BAA2B;AAC3B,8BAA8B;AAC9B,OAAO;AACP,0BAA0B;AAC1B,0BAA0B;AAC1B,2BAA2B;AAC3B,KAAK;AAEL,YAAY;AACZ,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,CAAC;AAarC,gBAAgB;AAChB,MAAa,GAAG;IAad,YAAY,EAAU,EAAE,OAAiB,EAAE,OAAuB;QAChE,uCAAuC;QACvC,IAAI,OAAO,IAAI,IAAI;YACjB,MAAM,IAAI,iCAAyB,CAAC,4CAA4C,CAAC,CAAC;QAEpF,gBAAgB;QAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAA,yBAAiB,EAAC,EAAE,CAAC,CAAC;QAEzC,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,gCAAc,CAAC,OAAO,EAAE;YACpF,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;SAChE;QAED,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAE7B,qBAAqB;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAE5E,uBAAuB;QACvB,IAAI,CAAC,kBAAkB;YACrB,OAAO,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;QACvF,IAAI,CAAC,eAAe;YAClB,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,IAAI,CAAC,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QAE3D,QAAQ;QACR,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,cAAc;YACjB,OAAO,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IACjF,CAAC;IAED,KAAK;QACH,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,KAAK,IAAI,qBAAqB,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,KAAK,IAAI,iBAAiB,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,KAAK,IAAI,oBAAoB,CAAC;SAC/B;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC,GAAG,CAAC,GAAG,SAAS;YACf,CAAC,CAAC,QAAQ;SACb,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,WAAW,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB;QACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY;QACpD,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa;QACxC,MAAM,CAAC,YAAY,CAAC,kBAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1C,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mBAAmB,CAAC,OAAiB,EAAE,QAAkB;QACvD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEzB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7B,OAAO,iBAAiB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,QAAkB;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;QAC3C,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA1GD,kBA0GC;AAED,gBAAgB;AAChB,MAAa,MAAM;IAqBjB,YACE,OAAe,EACf,SAAwB,EACxB,OAAe,EACf,IAAwB;QAExB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI;YAClB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,KAAK;SAClB,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAE/C,sBAAsB;QACtB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,IAAI,CAAC,aAAa;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,cAAc;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,CAAC,UAAU,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3F,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAA0B;;QAC9B,kCAAkC;QAClC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAExB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,uDAAuD;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;QACjC,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAChE,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACpE,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACvE,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9D,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;QAE1E,qBAAqB;QACrB,MAAM,WAAW,GAAyB;YACxC,YAAY;YACZ,aAAa;YACb,cAAc;YACd,UAAU;YACV,UAAU;YACV,kFAAkF;SACN,CAAC;QAE/E,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACtD,IAAI,WAAW,KAAK,CAAC,EAAE;gBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;aACxB;iBAAM,IAAI,WAAW,KAAK,CAAC,EAAE;gBAC5B,4DAA4D;gBAE5D,sDAAsD;gBACtD,MAAM,IAAI,yBAAiB,CAAC,qDAAqD,CAAC,CAAC;aACpF;SACF;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,IAAI,IAAI,IAAI,GAAG,EAAE;YACrE,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,WAAW,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;YACxC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAW,EAAE,WAAW,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;CACF;AAjHD,wBAiHC"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cmap/commands.ts"],"names":[],"mappings":"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"}
|
package/lib/cmap/connect.js
CHANGED
|
@@ -2,18 +2,33 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LEGAL_TCP_SOCKET_OPTIONS = exports.LEGAL_TLS_SOCKET_OPTIONS = exports.connect = void 0;
|
|
4
4
|
const net = require("net");
|
|
5
|
+
const socks_1 = require("socks");
|
|
5
6
|
const tls = require("tls");
|
|
6
|
-
const
|
|
7
|
+
const bson_1 = require("../bson");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
7
9
|
const error_1 = require("../error");
|
|
8
|
-
const defaultAuthProviders_1 = require("./auth/defaultAuthProviders");
|
|
9
|
-
const auth_provider_1 = require("./auth/auth_provider");
|
|
10
10
|
const utils_1 = require("../utils");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
11
|
+
const auth_provider_1 = require("./auth/auth_provider");
|
|
12
|
+
const gssapi_1 = require("./auth/gssapi");
|
|
13
|
+
const mongocr_1 = require("./auth/mongocr");
|
|
14
|
+
const mongodb_aws_1 = require("./auth/mongodb_aws");
|
|
15
|
+
const plain_1 = require("./auth/plain");
|
|
16
|
+
const providers_1 = require("./auth/providers");
|
|
17
|
+
const scram_1 = require("./auth/scram");
|
|
18
|
+
const x509_1 = require("./auth/x509");
|
|
19
|
+
const connection_1 = require("./connection");
|
|
20
|
+
const constants_2 = require("./wire_protocol/constants");
|
|
21
|
+
const AUTH_PROVIDERS = new Map([
|
|
22
|
+
[providers_1.AuthMechanism.MONGODB_AWS, new mongodb_aws_1.MongoDBAWS()],
|
|
23
|
+
[providers_1.AuthMechanism.MONGODB_CR, new mongocr_1.MongoCR()],
|
|
24
|
+
[providers_1.AuthMechanism.MONGODB_GSSAPI, new gssapi_1.GSSAPI()],
|
|
25
|
+
[providers_1.AuthMechanism.MONGODB_PLAIN, new plain_1.Plain()],
|
|
26
|
+
[providers_1.AuthMechanism.MONGODB_SCRAM_SHA1, new scram_1.ScramSHA1()],
|
|
27
|
+
[providers_1.AuthMechanism.MONGODB_SCRAM_SHA256, new scram_1.ScramSHA256()],
|
|
28
|
+
[providers_1.AuthMechanism.MONGODB_X509, new x509_1.X509()]
|
|
29
|
+
]);
|
|
15
30
|
function connect(options, callback) {
|
|
16
|
-
makeConnection(options, (err, socket) => {
|
|
31
|
+
makeConnection({ ...options, existingSocket: undefined }, (err, socket) => {
|
|
17
32
|
var _a;
|
|
18
33
|
if (err || !socket) {
|
|
19
34
|
return callback(err);
|
|
@@ -26,22 +41,22 @@ function connect(options, callback) {
|
|
|
26
41
|
});
|
|
27
42
|
}
|
|
28
43
|
exports.connect = connect;
|
|
29
|
-
function checkSupportedServer(
|
|
44
|
+
function checkSupportedServer(hello, options) {
|
|
30
45
|
var _a;
|
|
31
|
-
const serverVersionHighEnough =
|
|
32
|
-
(typeof
|
|
33
|
-
|
|
34
|
-
const serverVersionLowEnough =
|
|
35
|
-
(typeof
|
|
36
|
-
|
|
46
|
+
const serverVersionHighEnough = hello &&
|
|
47
|
+
(typeof hello.maxWireVersion === 'number' || hello.maxWireVersion instanceof bson_1.Int32) &&
|
|
48
|
+
hello.maxWireVersion >= constants_2.MIN_SUPPORTED_WIRE_VERSION;
|
|
49
|
+
const serverVersionLowEnough = hello &&
|
|
50
|
+
(typeof hello.minWireVersion === 'number' || hello.minWireVersion instanceof bson_1.Int32) &&
|
|
51
|
+
hello.minWireVersion <= constants_2.MAX_SUPPORTED_WIRE_VERSION;
|
|
37
52
|
if (serverVersionHighEnough) {
|
|
38
53
|
if (serverVersionLowEnough) {
|
|
39
54
|
return null;
|
|
40
55
|
}
|
|
41
|
-
const message = `Server at ${options.hostAddress} reports minimum wire version ${JSON.stringify(
|
|
56
|
+
const message = `Server at ${options.hostAddress} reports minimum wire version ${JSON.stringify(hello.minWireVersion)}, but this version of the Node.js Driver requires at most ${constants_2.MAX_SUPPORTED_WIRE_VERSION} (MongoDB ${constants_2.MAX_SUPPORTED_SERVER_VERSION})`;
|
|
42
57
|
return new error_1.MongoCompatibilityError(message);
|
|
43
58
|
}
|
|
44
|
-
const message = `Server at ${options.hostAddress} reports maximum wire version ${(_a = JSON.stringify(
|
|
59
|
+
const message = `Server at ${options.hostAddress} reports maximum wire version ${(_a = JSON.stringify(hello.maxWireVersion)) !== null && _a !== void 0 ? _a : 0}, but this version of the Node.js Driver requires at least ${constants_2.MIN_SUPPORTED_WIRE_VERSION} (MongoDB ${constants_2.MIN_SUPPORTED_SERVER_VERSION})`;
|
|
45
60
|
return new error_1.MongoCompatibilityError(message);
|
|
46
61
|
}
|
|
47
62
|
function performInitialHandshake(conn, options, _callback) {
|
|
@@ -53,8 +68,8 @@ function performInitialHandshake(conn, options, _callback) {
|
|
|
53
68
|
};
|
|
54
69
|
const credentials = options.credentials;
|
|
55
70
|
if (credentials) {
|
|
56
|
-
if (!(credentials.mechanism ===
|
|
57
|
-
!
|
|
71
|
+
if (!(credentials.mechanism === providers_1.AuthMechanism.MONGODB_DEFAULT) &&
|
|
72
|
+
!AUTH_PROVIDERS.get(credentials.mechanism)) {
|
|
58
73
|
callback(new error_1.MongoInvalidArgumentError(`AuthMechanism '${credentials.mechanism}' not supported`));
|
|
59
74
|
return;
|
|
60
75
|
}
|
|
@@ -79,9 +94,9 @@ function performInitialHandshake(conn, options, _callback) {
|
|
|
79
94
|
callback(new error_1.MongoServerError(response));
|
|
80
95
|
return;
|
|
81
96
|
}
|
|
82
|
-
if ('isWritablePrimary' in response) {
|
|
83
|
-
// Provide
|
|
84
|
-
response.
|
|
97
|
+
if (!('isWritablePrimary' in response)) {
|
|
98
|
+
// Provide hello-style response document.
|
|
99
|
+
response.isWritablePrimary = response[constants_1.LEGACY_HELLO_COMMAND];
|
|
85
100
|
}
|
|
86
101
|
if (response.helloOk) {
|
|
87
102
|
conn.helloOk = true;
|
|
@@ -92,10 +107,6 @@ function performInitialHandshake(conn, options, _callback) {
|
|
|
92
107
|
return;
|
|
93
108
|
}
|
|
94
109
|
if (options.loadBalanced) {
|
|
95
|
-
// TODO: Durran: Remove when server support exists. (NODE-3431)
|
|
96
|
-
if (FAKE_MONGODB_SERVICE_ID) {
|
|
97
|
-
response.serviceId = response.topologyVersion.processId;
|
|
98
|
-
}
|
|
99
110
|
if (!response.serviceId) {
|
|
100
111
|
return callback(new error_1.MongoCompatibilityError('Driver attempted to initialize in load balancing mode, ' +
|
|
101
112
|
'but the server does not support this mode.'));
|
|
@@ -104,13 +115,13 @@ function performInitialHandshake(conn, options, _callback) {
|
|
|
104
115
|
// NOTE: This is metadata attached to the connection while porting away from
|
|
105
116
|
// handshake being done in the `Server` class. Likely, it should be
|
|
106
117
|
// relocated, or at very least restructured.
|
|
107
|
-
conn.
|
|
108
|
-
conn.
|
|
118
|
+
conn.hello = response;
|
|
119
|
+
conn.lastHelloMS = new Date().getTime() - start;
|
|
109
120
|
if (!response.arbiterOnly && credentials) {
|
|
110
121
|
// store the response on auth context
|
|
111
122
|
authContext.response = response;
|
|
112
123
|
const resolvedCredentials = credentials.resolveAuthMechanism(response);
|
|
113
|
-
const provider =
|
|
124
|
+
const provider = AUTH_PROVIDERS.get(resolvedCredentials.mechanism);
|
|
114
125
|
if (!provider) {
|
|
115
126
|
return callback(new error_1.MongoInvalidArgumentError(`No AuthProvider for ${resolvedCredentials.mechanism} defined.`));
|
|
116
127
|
}
|
|
@@ -130,7 +141,7 @@ function prepareHandshakeDocument(authContext, callback) {
|
|
|
130
141
|
const compressors = options.compressors ? options.compressors : [];
|
|
131
142
|
const { serverApi } = authContext.connection;
|
|
132
143
|
const handshakeDoc = {
|
|
133
|
-
[(serverApi === null || serverApi === void 0 ? void 0 : serverApi.version) ? 'hello' :
|
|
144
|
+
[(serverApi === null || serverApi === void 0 ? void 0 : serverApi.version) ? 'hello' : constants_1.LEGACY_HELLO_COMMAND]: true,
|
|
134
145
|
helloOk: true,
|
|
135
146
|
client: options.metadata || (0, utils_1.makeClientMetadata)(options),
|
|
136
147
|
compression: compressors,
|
|
@@ -138,16 +149,16 @@ function prepareHandshakeDocument(authContext, callback) {
|
|
|
138
149
|
};
|
|
139
150
|
const credentials = authContext.credentials;
|
|
140
151
|
if (credentials) {
|
|
141
|
-
if (credentials.mechanism ===
|
|
152
|
+
if (credentials.mechanism === providers_1.AuthMechanism.MONGODB_DEFAULT && credentials.username) {
|
|
142
153
|
handshakeDoc.saslSupportedMechs = `${credentials.source}.${credentials.username}`;
|
|
143
|
-
const provider =
|
|
154
|
+
const provider = AUTH_PROVIDERS.get(providers_1.AuthMechanism.MONGODB_SCRAM_SHA256);
|
|
144
155
|
if (!provider) {
|
|
145
156
|
// This auth mechanism is always present.
|
|
146
|
-
return callback(new error_1.MongoInvalidArgumentError(`No AuthProvider for ${
|
|
157
|
+
return callback(new error_1.MongoInvalidArgumentError(`No AuthProvider for ${providers_1.AuthMechanism.MONGODB_SCRAM_SHA256} defined.`));
|
|
147
158
|
}
|
|
148
159
|
return provider.prepare(handshakeDoc, authContext, callback);
|
|
149
160
|
}
|
|
150
|
-
const provider =
|
|
161
|
+
const provider = AUTH_PROVIDERS.get(credentials.mechanism);
|
|
151
162
|
if (!provider) {
|
|
152
163
|
return callback(new error_1.MongoInvalidArgumentError(`No AuthProvider for ${credentials.mechanism} defined.`));
|
|
153
164
|
}
|
|
@@ -216,6 +227,9 @@ function parseSslOptions(options) {
|
|
|
216
227
|
result[name] = options[name];
|
|
217
228
|
}
|
|
218
229
|
}
|
|
230
|
+
if (options.existingSocket) {
|
|
231
|
+
result.socket = options.existingSocket;
|
|
232
|
+
}
|
|
219
233
|
// Set default sni servername to be the same as host
|
|
220
234
|
if (result.servername == null && result.host && !net.isIP(result.host)) {
|
|
221
235
|
result.servername = result.host;
|
|
@@ -230,11 +244,12 @@ function makeConnection(options, _callback) {
|
|
|
230
244
|
const keepAlive = (_b = options.keepAlive) !== null && _b !== void 0 ? _b : true;
|
|
231
245
|
const socketTimeoutMS = (_d = (_c = options.socketTimeoutMS) !== null && _c !== void 0 ? _c : Reflect.get(options, 'socketTimeout')) !== null && _d !== void 0 ? _d : 0;
|
|
232
246
|
const noDelay = (_e = options.noDelay) !== null && _e !== void 0 ? _e : true;
|
|
233
|
-
const
|
|
247
|
+
const connectTimeoutMS = (_f = options.connectTimeoutMS) !== null && _f !== void 0 ? _f : 30000;
|
|
234
248
|
const rejectUnauthorized = (_g = options.rejectUnauthorized) !== null && _g !== void 0 ? _g : true;
|
|
235
249
|
const keepAliveInitialDelay = (_j = (((_h = options.keepAliveInitialDelay) !== null && _h !== void 0 ? _h : 120000) > socketTimeoutMS
|
|
236
250
|
? Math.round(socketTimeoutMS / 2)
|
|
237
251
|
: options.keepAliveInitialDelay)) !== null && _j !== void 0 ? _j : 120000;
|
|
252
|
+
const existingSocket = options.existingSocket;
|
|
238
253
|
let socket;
|
|
239
254
|
const callback = function (err, ret) {
|
|
240
255
|
if (err && socket) {
|
|
@@ -242,6 +257,13 @@ function makeConnection(options, _callback) {
|
|
|
242
257
|
}
|
|
243
258
|
_callback(err, ret);
|
|
244
259
|
};
|
|
260
|
+
if (options.proxyHost != null) {
|
|
261
|
+
// Currently, only Socks5 is supported.
|
|
262
|
+
return makeSocks5Connection({
|
|
263
|
+
...options,
|
|
264
|
+
connectTimeoutMS // Should always be present for Socks5
|
|
265
|
+
}, callback);
|
|
266
|
+
}
|
|
245
267
|
if (useTLS) {
|
|
246
268
|
const tlsSocket = tls.connect(parseSslOptions(options));
|
|
247
269
|
if (typeof tlsSocket.disableRenegotiation === 'function') {
|
|
@@ -249,11 +271,17 @@ function makeConnection(options, _callback) {
|
|
|
249
271
|
}
|
|
250
272
|
socket = tlsSocket;
|
|
251
273
|
}
|
|
274
|
+
else if (existingSocket) {
|
|
275
|
+
// In the TLS case, parseSslOptions() sets options.socket to existingSocket,
|
|
276
|
+
// so we only need to handle the non-TLS case here (where existingSocket
|
|
277
|
+
// gives us all we need out of the box).
|
|
278
|
+
socket = existingSocket;
|
|
279
|
+
}
|
|
252
280
|
else {
|
|
253
281
|
socket = net.createConnection(parseConnectOptions(options));
|
|
254
282
|
}
|
|
255
283
|
socket.setKeepAlive(keepAlive, keepAliveInitialDelay);
|
|
256
|
-
socket.setTimeout(
|
|
284
|
+
socket.setTimeout(connectTimeoutMS);
|
|
257
285
|
socket.setNoDelay(noDelay);
|
|
258
286
|
const connectEvent = useTLS ? 'secureConnect' : 'connect';
|
|
259
287
|
let cancellationHandler;
|
|
@@ -285,7 +313,61 @@ function makeConnection(options, _callback) {
|
|
|
285
313
|
cancellationHandler = errorHandler('cancel');
|
|
286
314
|
options.cancellationToken.once('cancel', cancellationHandler);
|
|
287
315
|
}
|
|
288
|
-
|
|
316
|
+
if (existingSocket) {
|
|
317
|
+
process.nextTick(connectHandler);
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
socket.once(connectEvent, connectHandler);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
function makeSocks5Connection(options, callback) {
|
|
324
|
+
var _a, _b;
|
|
325
|
+
const hostAddress = utils_1.HostAddress.fromHostPort((_a = options.proxyHost) !== null && _a !== void 0 ? _a : '', // proxyHost is guaranteed to set here
|
|
326
|
+
(_b = options.proxyPort) !== null && _b !== void 0 ? _b : 1080);
|
|
327
|
+
// First, connect to the proxy server itself:
|
|
328
|
+
makeConnection({
|
|
329
|
+
...options,
|
|
330
|
+
hostAddress,
|
|
331
|
+
tls: false,
|
|
332
|
+
proxyHost: undefined
|
|
333
|
+
}, (err, rawSocket) => {
|
|
334
|
+
if (err) {
|
|
335
|
+
return callback(err);
|
|
336
|
+
}
|
|
337
|
+
const destination = parseConnectOptions(options);
|
|
338
|
+
if (typeof destination.host !== 'string' || typeof destination.port !== 'number') {
|
|
339
|
+
return callback(new error_1.MongoInvalidArgumentError('Can only make Socks5 connections to TCP hosts'));
|
|
340
|
+
}
|
|
341
|
+
// Then, establish the Socks5 proxy connection:
|
|
342
|
+
socks_1.SocksClient.createConnection({
|
|
343
|
+
existing_socket: rawSocket,
|
|
344
|
+
timeout: options.connectTimeoutMS,
|
|
345
|
+
command: 'connect',
|
|
346
|
+
destination: {
|
|
347
|
+
host: destination.host,
|
|
348
|
+
port: destination.port
|
|
349
|
+
},
|
|
350
|
+
proxy: {
|
|
351
|
+
// host and port are ignored because we pass existing_socket
|
|
352
|
+
host: 'iLoveJavaScript',
|
|
353
|
+
port: 0,
|
|
354
|
+
type: 5,
|
|
355
|
+
userId: options.proxyUsername || undefined,
|
|
356
|
+
password: options.proxyPassword || undefined
|
|
357
|
+
}
|
|
358
|
+
}, (err, info) => {
|
|
359
|
+
if (err) {
|
|
360
|
+
return callback(connectionFailureError('error', err));
|
|
361
|
+
}
|
|
362
|
+
// Finally, now treat the resulting duplex stream as the
|
|
363
|
+
// socket over which we send and receive wire protocol messages:
|
|
364
|
+
makeConnection({
|
|
365
|
+
...options,
|
|
366
|
+
existingSocket: info.socket,
|
|
367
|
+
proxyHost: undefined
|
|
368
|
+
}, callback);
|
|
369
|
+
});
|
|
370
|
+
});
|
|
289
371
|
}
|
|
290
372
|
function connectionFailureError(type, err) {
|
|
291
373
|
switch (type) {
|
package/lib/cmap/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/cmap/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/cmap/connect.ts"],"names":[],"mappings":"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"}
|
package/lib/cmap/connection.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasSessionSupport = exports.CryptoConnection = exports.
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
3
|
+
exports.hasSessionSupport = exports.CryptoConnection = exports.Connection = void 0;
|
|
4
|
+
const bson_1 = require("../bson");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const error_1 = require("../error");
|
|
7
|
+
const mongo_types_1 = require("../mongo_types");
|
|
8
|
+
const read_preference_1 = require("../read_preference");
|
|
7
9
|
const sessions_1 = require("../sessions");
|
|
8
10
|
const utils_1 = require("../utils");
|
|
9
|
-
const
|
|
11
|
+
const command_monitoring_events_1 = require("./command_monitoring_events");
|
|
10
12
|
const commands_1 = require("./commands");
|
|
11
|
-
const
|
|
13
|
+
const message_stream_1 = require("./message_stream");
|
|
14
|
+
const stream_description_1 = require("./stream_description");
|
|
12
15
|
const shared_1 = require("./wire_protocol/shared");
|
|
13
|
-
const read_preference_1 = require("../read_preference");
|
|
14
|
-
const mongo_types_1 = require("../mongo_types");
|
|
15
16
|
/** @internal */
|
|
16
17
|
const kStream = Symbol('stream');
|
|
17
18
|
/** @internal */
|
|
@@ -27,7 +28,7 @@ const kClusterTime = Symbol('clusterTime');
|
|
|
27
28
|
/** @internal */
|
|
28
29
|
const kDescription = Symbol('description');
|
|
29
30
|
/** @internal */
|
|
30
|
-
const
|
|
31
|
+
const kHello = Symbol('hello');
|
|
31
32
|
/** @internal */
|
|
32
33
|
const kAutoEncrypter = Symbol('autoEncrypter');
|
|
33
34
|
/** @internal */
|
|
@@ -38,7 +39,7 @@ class Connection extends mongo_types_1.TypedEventEmitter {
|
|
|
38
39
|
var _a, _b;
|
|
39
40
|
super();
|
|
40
41
|
this.id = options.id;
|
|
41
|
-
this.address = streamIdentifier(stream);
|
|
42
|
+
this.address = streamIdentifier(stream, options);
|
|
42
43
|
this.socketTimeoutMS = (_a = options.socketTimeoutMS) !== null && _a !== void 0 ? _a : 0;
|
|
43
44
|
this.monitorCommands = options.monitorCommands;
|
|
44
45
|
this.serverApi = options.serverApi;
|
|
@@ -51,7 +52,7 @@ class Connection extends mongo_types_1.TypedEventEmitter {
|
|
|
51
52
|
this[kQueue] = new Map();
|
|
52
53
|
this[kMessageStream] = new message_stream_1.MessageStream({
|
|
53
54
|
...options,
|
|
54
|
-
maxBsonMessageSize: (_b = this.
|
|
55
|
+
maxBsonMessageSize: (_b = this.hello) === null || _b === void 0 ? void 0 : _b.maxBsonMessageSize
|
|
55
56
|
});
|
|
56
57
|
this[kMessageStream].on('message', messageHandler(this));
|
|
57
58
|
this[kStream] = stream;
|
|
@@ -68,19 +69,19 @@ class Connection extends mongo_types_1.TypedEventEmitter {
|
|
|
68
69
|
get description() {
|
|
69
70
|
return this[kDescription];
|
|
70
71
|
}
|
|
71
|
-
get
|
|
72
|
-
return this[
|
|
72
|
+
get hello() {
|
|
73
|
+
return this[kHello];
|
|
73
74
|
}
|
|
74
|
-
// the `connect` method stores the result of the handshake
|
|
75
|
-
set
|
|
75
|
+
// the `connect` method stores the result of the handshake hello on the connection
|
|
76
|
+
set hello(response) {
|
|
76
77
|
this[kDescription].receiveResponse(response);
|
|
77
78
|
this[kDescription] = Object.freeze(this[kDescription]);
|
|
78
79
|
// TODO: remove this, and only use the `StreamDescription` in the future
|
|
79
|
-
this[
|
|
80
|
+
this[kHello] = response;
|
|
80
81
|
}
|
|
81
82
|
get serviceId() {
|
|
82
83
|
var _a;
|
|
83
|
-
return (_a = this.
|
|
84
|
+
return (_a = this.hello) === null || _a === void 0 ? void 0 : _a.serviceId;
|
|
84
85
|
}
|
|
85
86
|
get loadBalanced() {
|
|
86
87
|
return this.description.loadBalanced;
|
|
@@ -114,7 +115,7 @@ class Connection extends mongo_types_1.TypedEventEmitter {
|
|
|
114
115
|
for (const [, op] of this[kQueue]) {
|
|
115
116
|
if (issue.isTimeout) {
|
|
116
117
|
op.cb(new error_1.MongoNetworkTimeoutError(`connection ${this.id} to ${this.address} timed out`, {
|
|
117
|
-
beforeHandshake: this.
|
|
118
|
+
beforeHandshake: this.hello == null
|
|
118
119
|
}));
|
|
119
120
|
}
|
|
120
121
|
else if (issue.isClose) {
|
|
@@ -203,7 +204,7 @@ class Connection extends mongo_types_1.TypedEventEmitter {
|
|
|
203
204
|
numberToReturn: -1,
|
|
204
205
|
checkKeys: false,
|
|
205
206
|
// This value is not overridable
|
|
206
|
-
|
|
207
|
+
secondaryOk: readPreference.secondaryOk()
|
|
207
208
|
}, options);
|
|
208
209
|
const cmdNs = `${ns.db}.$cmd`;
|
|
209
210
|
const message = shouldUseOpMsg
|
|
@@ -242,7 +243,7 @@ class Connection extends mongo_types_1.TypedEventEmitter {
|
|
|
242
243
|
numberToReturn,
|
|
243
244
|
pre32Limit: typeof limit === 'number' ? limit : undefined,
|
|
244
245
|
checkKeys: false,
|
|
245
|
-
|
|
246
|
+
secondaryOk: readPreference.secondaryOk()
|
|
246
247
|
};
|
|
247
248
|
if (options.projection) {
|
|
248
249
|
queryOptions.returnFieldSelector = options.projection;
|
|
@@ -346,27 +347,21 @@ class Connection extends mongo_types_1.TypedEventEmitter {
|
|
|
346
347
|
}
|
|
347
348
|
exports.Connection = Connection;
|
|
348
349
|
/** @event */
|
|
349
|
-
Connection.COMMAND_STARTED =
|
|
350
|
+
Connection.COMMAND_STARTED = constants_1.COMMAND_STARTED;
|
|
350
351
|
/** @event */
|
|
351
|
-
Connection.COMMAND_SUCCEEDED =
|
|
352
|
+
Connection.COMMAND_SUCCEEDED = constants_1.COMMAND_SUCCEEDED;
|
|
352
353
|
/** @event */
|
|
353
|
-
Connection.COMMAND_FAILED =
|
|
354
|
+
Connection.COMMAND_FAILED = constants_1.COMMAND_FAILED;
|
|
354
355
|
/** @event */
|
|
355
|
-
Connection.CLUSTER_TIME_RECEIVED =
|
|
356
|
+
Connection.CLUSTER_TIME_RECEIVED = constants_1.CLUSTER_TIME_RECEIVED;
|
|
356
357
|
/** @event */
|
|
357
|
-
Connection.CLOSE =
|
|
358
|
+
Connection.CLOSE = constants_1.CLOSE;
|
|
358
359
|
/** @event */
|
|
359
|
-
Connection.MESSAGE =
|
|
360
|
+
Connection.MESSAGE = constants_1.MESSAGE;
|
|
360
361
|
/** @event */
|
|
361
|
-
Connection.PINNED =
|
|
362
|
+
Connection.PINNED = constants_1.PINNED;
|
|
362
363
|
/** @event */
|
|
363
|
-
Connection.UNPINNED =
|
|
364
|
-
/** @public */
|
|
365
|
-
exports.APM_EVENTS = [
|
|
366
|
-
Connection.COMMAND_STARTED,
|
|
367
|
-
Connection.COMMAND_SUCCEEDED,
|
|
368
|
-
Connection.COMMAND_FAILED
|
|
369
|
-
];
|
|
364
|
+
Connection.UNPINNED = constants_1.UNPINNED;
|
|
370
365
|
/** @internal */
|
|
371
366
|
class CryptoConnection extends Connection {
|
|
372
367
|
constructor(stream, options) {
|
|
@@ -479,7 +474,12 @@ function messageHandler(conn) {
|
|
|
479
474
|
callback(undefined, operationDescription.fullResult ? message : message.documents[0]);
|
|
480
475
|
};
|
|
481
476
|
}
|
|
482
|
-
function streamIdentifier(stream) {
|
|
477
|
+
function streamIdentifier(stream, options) {
|
|
478
|
+
if (options.proxyHost) {
|
|
479
|
+
// If proxy options are specified, the properties of `stream` itself
|
|
480
|
+
// will not accurately reflect what endpoint this is connected to.
|
|
481
|
+
return options.hostAddress.toString();
|
|
482
|
+
}
|
|
483
483
|
if (typeof stream.address === 'function') {
|
|
484
484
|
return `${stream.remoteAddress}:${stream.remotePort}`;
|
|
485
485
|
}
|
|
@@ -503,6 +503,7 @@ function write(conn, command, options, callback) {
|
|
|
503
503
|
promoteValues: typeof options.promoteValues === 'boolean' ? options.promoteValues : true,
|
|
504
504
|
promoteBuffers: typeof options.promoteBuffers === 'boolean' ? options.promoteBuffers : false,
|
|
505
505
|
bsonRegExp: typeof options.bsonRegExp === 'boolean' ? options.bsonRegExp : false,
|
|
506
|
+
enableUtf8Validation: typeof options.enableUtf8Validation === 'boolean' ? options.enableUtf8Validation : true,
|
|
506
507
|
raw: typeof options.raw === 'boolean' ? options.raw : false,
|
|
507
508
|
started: 0
|
|
508
509
|
};
|