slidge-whatsapp 0.2.5__cp312-cp312-manylinux_2_36_aarch64.whl → 0.2.7__cp312-cp312-manylinux_2_36_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of slidge-whatsapp might be problematic. Click here for more details.
- slidge_whatsapp/config.py +3 -0
- slidge_whatsapp/event.go +31 -26
- slidge_whatsapp/gateway.go +13 -9
- slidge_whatsapp/gateway.py +2 -2
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.h +183 -183
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +148 -148
- slidge_whatsapp/generated/whatsapp.c +1490 -1490
- slidge_whatsapp/generated/whatsapp.go +1217 -1217
- slidge_whatsapp/generated/whatsapp.py +1210 -1210
- slidge_whatsapp/generated/whatsapp_go.h +183 -183
- slidge_whatsapp/go.mod +15 -12
- slidge_whatsapp/go.sum +35 -29
- slidge_whatsapp/media/media.go +21 -11
- slidge_whatsapp/session.go +73 -66
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +4 -4
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +0 -5
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +3 -0
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +40 -20
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +14 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +2 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +1 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +2 -7
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +8510 -5090
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +344 -150
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +57 -23
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +4 -0
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +31 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +20 -5
- slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +4 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +9 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +17 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +17 -7
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +4 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +2 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +41 -17
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +64 -30
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +8 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +7 -5
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +64 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +37 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +76 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +88 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
- slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +27 -25
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +40 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +119 -37
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +29 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +63 -30
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +74 -34
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +61 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +188 -152
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +444 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +118 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +78 -42
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +7 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +170 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +184 -89
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +7428 -2151
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +373 -44
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +456 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +14 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +14 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +7 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +800 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +72 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1344 -438
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +52 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +382 -78
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +563 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +25 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +39 -21
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +261 -75
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +28 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +85 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +86 -65
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +291 -167
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/10-chat-db-lid-migration-ts.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +107 -56
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +13 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +7 -8
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +18 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +47 -29
- slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +122 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +61 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +170 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +432 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3350 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +20 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3287 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +148 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
- slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
- slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +239 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +9 -0
- slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
- slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +3 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +16 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +2 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
- slidge_whatsapp/vendor/modules.txt +52 -13
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/METADATA +1 -1
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/RECORD +330 -184
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/WHEEL +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/LICENSE +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
// Copyright 2011 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package norm
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"fmt"
|
|
9
|
+
"unicode/utf8"
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
// MaxSegmentSize is the maximum size of a byte buffer needed to consider any
|
|
13
|
+
// sequence of starter and non-starter runes for the purpose of normalization.
|
|
14
|
+
const MaxSegmentSize = maxByteBufferSize
|
|
15
|
+
|
|
16
|
+
// An Iter iterates over a string or byte slice, while normalizing it
|
|
17
|
+
// to a given Form.
|
|
18
|
+
type Iter struct {
|
|
19
|
+
rb reorderBuffer
|
|
20
|
+
buf [maxByteBufferSize]byte
|
|
21
|
+
info Properties // first character saved from previous iteration
|
|
22
|
+
next iterFunc // implementation of next depends on form
|
|
23
|
+
asciiF iterFunc
|
|
24
|
+
|
|
25
|
+
p int // current position in input source
|
|
26
|
+
multiSeg []byte // remainder of multi-segment decomposition
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type iterFunc func(*Iter) []byte
|
|
30
|
+
|
|
31
|
+
// Init initializes i to iterate over src after normalizing it to Form f.
|
|
32
|
+
func (i *Iter) Init(f Form, src []byte) {
|
|
33
|
+
i.p = 0
|
|
34
|
+
if len(src) == 0 {
|
|
35
|
+
i.setDone()
|
|
36
|
+
i.rb.nsrc = 0
|
|
37
|
+
return
|
|
38
|
+
}
|
|
39
|
+
i.multiSeg = nil
|
|
40
|
+
i.rb.init(f, src)
|
|
41
|
+
i.next = i.rb.f.nextMain
|
|
42
|
+
i.asciiF = nextASCIIBytes
|
|
43
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
44
|
+
i.rb.ss.first(i.info)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// InitString initializes i to iterate over src after normalizing it to Form f.
|
|
48
|
+
func (i *Iter) InitString(f Form, src string) {
|
|
49
|
+
i.p = 0
|
|
50
|
+
if len(src) == 0 {
|
|
51
|
+
i.setDone()
|
|
52
|
+
i.rb.nsrc = 0
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
i.multiSeg = nil
|
|
56
|
+
i.rb.initString(f, src)
|
|
57
|
+
i.next = i.rb.f.nextMain
|
|
58
|
+
i.asciiF = nextASCIIString
|
|
59
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
60
|
+
i.rb.ss.first(i.info)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Seek sets the segment to be returned by the next call to Next to start
|
|
64
|
+
// at position p. It is the responsibility of the caller to set p to the
|
|
65
|
+
// start of a segment.
|
|
66
|
+
func (i *Iter) Seek(offset int64, whence int) (int64, error) {
|
|
67
|
+
var abs int64
|
|
68
|
+
switch whence {
|
|
69
|
+
case 0:
|
|
70
|
+
abs = offset
|
|
71
|
+
case 1:
|
|
72
|
+
abs = int64(i.p) + offset
|
|
73
|
+
case 2:
|
|
74
|
+
abs = int64(i.rb.nsrc) + offset
|
|
75
|
+
default:
|
|
76
|
+
return 0, fmt.Errorf("norm: invalid whence")
|
|
77
|
+
}
|
|
78
|
+
if abs < 0 {
|
|
79
|
+
return 0, fmt.Errorf("norm: negative position")
|
|
80
|
+
}
|
|
81
|
+
if int(abs) >= i.rb.nsrc {
|
|
82
|
+
i.setDone()
|
|
83
|
+
return int64(i.p), nil
|
|
84
|
+
}
|
|
85
|
+
i.p = int(abs)
|
|
86
|
+
i.multiSeg = nil
|
|
87
|
+
i.next = i.rb.f.nextMain
|
|
88
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
89
|
+
i.rb.ss.first(i.info)
|
|
90
|
+
return abs, nil
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// returnSlice returns a slice of the underlying input type as a byte slice.
|
|
94
|
+
// If the underlying is of type []byte, it will simply return a slice.
|
|
95
|
+
// If the underlying is of type string, it will copy the slice to the buffer
|
|
96
|
+
// and return that.
|
|
97
|
+
func (i *Iter) returnSlice(a, b int) []byte {
|
|
98
|
+
if i.rb.src.bytes == nil {
|
|
99
|
+
return i.buf[:copy(i.buf[:], i.rb.src.str[a:b])]
|
|
100
|
+
}
|
|
101
|
+
return i.rb.src.bytes[a:b]
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Pos returns the byte position at which the next call to Next will commence processing.
|
|
105
|
+
func (i *Iter) Pos() int {
|
|
106
|
+
return i.p
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
func (i *Iter) setDone() {
|
|
110
|
+
i.next = nextDone
|
|
111
|
+
i.p = i.rb.nsrc
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Done returns true if there is no more input to process.
|
|
115
|
+
func (i *Iter) Done() bool {
|
|
116
|
+
return i.p >= i.rb.nsrc
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Next returns f(i.input[i.Pos():n]), where n is a boundary of i.input.
|
|
120
|
+
// For any input a and b for which f(a) == f(b), subsequent calls
|
|
121
|
+
// to Next will return the same segments.
|
|
122
|
+
// Modifying runes are grouped together with the preceding starter, if such a starter exists.
|
|
123
|
+
// Although not guaranteed, n will typically be the smallest possible n.
|
|
124
|
+
func (i *Iter) Next() []byte {
|
|
125
|
+
return i.next(i)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
func nextASCIIBytes(i *Iter) []byte {
|
|
129
|
+
p := i.p + 1
|
|
130
|
+
if p >= i.rb.nsrc {
|
|
131
|
+
p0 := i.p
|
|
132
|
+
i.setDone()
|
|
133
|
+
return i.rb.src.bytes[p0:p]
|
|
134
|
+
}
|
|
135
|
+
if i.rb.src.bytes[p] < utf8.RuneSelf {
|
|
136
|
+
p0 := i.p
|
|
137
|
+
i.p = p
|
|
138
|
+
return i.rb.src.bytes[p0:p]
|
|
139
|
+
}
|
|
140
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
141
|
+
i.next = i.rb.f.nextMain
|
|
142
|
+
return i.next(i)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
func nextASCIIString(i *Iter) []byte {
|
|
146
|
+
p := i.p + 1
|
|
147
|
+
if p >= i.rb.nsrc {
|
|
148
|
+
i.buf[0] = i.rb.src.str[i.p]
|
|
149
|
+
i.setDone()
|
|
150
|
+
return i.buf[:1]
|
|
151
|
+
}
|
|
152
|
+
if i.rb.src.str[p] < utf8.RuneSelf {
|
|
153
|
+
i.buf[0] = i.rb.src.str[i.p]
|
|
154
|
+
i.p = p
|
|
155
|
+
return i.buf[:1]
|
|
156
|
+
}
|
|
157
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
158
|
+
i.next = i.rb.f.nextMain
|
|
159
|
+
return i.next(i)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
func nextHangul(i *Iter) []byte {
|
|
163
|
+
p := i.p
|
|
164
|
+
next := p + hangulUTF8Size
|
|
165
|
+
if next >= i.rb.nsrc {
|
|
166
|
+
i.setDone()
|
|
167
|
+
} else if i.rb.src.hangul(next) == 0 {
|
|
168
|
+
i.rb.ss.next(i.info)
|
|
169
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
170
|
+
i.next = i.rb.f.nextMain
|
|
171
|
+
return i.next(i)
|
|
172
|
+
}
|
|
173
|
+
i.p = next
|
|
174
|
+
return i.buf[:decomposeHangul(i.buf[:], i.rb.src.hangul(p))]
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
func nextDone(i *Iter) []byte {
|
|
178
|
+
return nil
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// nextMulti is used for iterating over multi-segment decompositions
|
|
182
|
+
// for decomposing normal forms.
|
|
183
|
+
func nextMulti(i *Iter) []byte {
|
|
184
|
+
j := 0
|
|
185
|
+
d := i.multiSeg
|
|
186
|
+
// skip first rune
|
|
187
|
+
for j = 1; j < len(d) && !utf8.RuneStart(d[j]); j++ {
|
|
188
|
+
}
|
|
189
|
+
for j < len(d) {
|
|
190
|
+
info := i.rb.f.info(input{bytes: d}, j)
|
|
191
|
+
if info.BoundaryBefore() {
|
|
192
|
+
i.multiSeg = d[j:]
|
|
193
|
+
return d[:j]
|
|
194
|
+
}
|
|
195
|
+
j += int(info.size)
|
|
196
|
+
}
|
|
197
|
+
// treat last segment as normal decomposition
|
|
198
|
+
i.next = i.rb.f.nextMain
|
|
199
|
+
return i.next(i)
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// nextMultiNorm is used for iterating over multi-segment decompositions
|
|
203
|
+
// for composing normal forms.
|
|
204
|
+
func nextMultiNorm(i *Iter) []byte {
|
|
205
|
+
j := 0
|
|
206
|
+
d := i.multiSeg
|
|
207
|
+
for j < len(d) {
|
|
208
|
+
info := i.rb.f.info(input{bytes: d}, j)
|
|
209
|
+
if info.BoundaryBefore() {
|
|
210
|
+
i.rb.compose()
|
|
211
|
+
seg := i.buf[:i.rb.flushCopy(i.buf[:])]
|
|
212
|
+
i.rb.insertUnsafe(input{bytes: d}, j, info)
|
|
213
|
+
i.multiSeg = d[j+int(info.size):]
|
|
214
|
+
return seg
|
|
215
|
+
}
|
|
216
|
+
i.rb.insertUnsafe(input{bytes: d}, j, info)
|
|
217
|
+
j += int(info.size)
|
|
218
|
+
}
|
|
219
|
+
i.multiSeg = nil
|
|
220
|
+
i.next = nextComposed
|
|
221
|
+
return doNormComposed(i)
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// nextDecomposed is the implementation of Next for forms NFD and NFKD.
|
|
225
|
+
func nextDecomposed(i *Iter) (next []byte) {
|
|
226
|
+
outp := 0
|
|
227
|
+
inCopyStart, outCopyStart := i.p, 0
|
|
228
|
+
for {
|
|
229
|
+
if sz := int(i.info.size); sz <= 1 {
|
|
230
|
+
i.rb.ss = 0
|
|
231
|
+
p := i.p
|
|
232
|
+
i.p++ // ASCII or illegal byte. Either way, advance by 1.
|
|
233
|
+
if i.p >= i.rb.nsrc {
|
|
234
|
+
i.setDone()
|
|
235
|
+
return i.returnSlice(p, i.p)
|
|
236
|
+
} else if i.rb.src._byte(i.p) < utf8.RuneSelf {
|
|
237
|
+
i.next = i.asciiF
|
|
238
|
+
return i.returnSlice(p, i.p)
|
|
239
|
+
}
|
|
240
|
+
outp++
|
|
241
|
+
} else if d := i.info.Decomposition(); d != nil {
|
|
242
|
+
// Note: If leading CCC != 0, then len(d) == 2 and last is also non-zero.
|
|
243
|
+
// Case 1: there is a leftover to copy. In this case the decomposition
|
|
244
|
+
// must begin with a modifier and should always be appended.
|
|
245
|
+
// Case 2: no leftover. Simply return d if followed by a ccc == 0 value.
|
|
246
|
+
p := outp + len(d)
|
|
247
|
+
if outp > 0 {
|
|
248
|
+
i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)
|
|
249
|
+
// TODO: this condition should not be possible, but we leave it
|
|
250
|
+
// in for defensive purposes.
|
|
251
|
+
if p > len(i.buf) {
|
|
252
|
+
return i.buf[:outp]
|
|
253
|
+
}
|
|
254
|
+
} else if i.info.multiSegment() {
|
|
255
|
+
// outp must be 0 as multi-segment decompositions always
|
|
256
|
+
// start a new segment.
|
|
257
|
+
if i.multiSeg == nil {
|
|
258
|
+
i.multiSeg = d
|
|
259
|
+
i.next = nextMulti
|
|
260
|
+
return nextMulti(i)
|
|
261
|
+
}
|
|
262
|
+
// We are in the last segment. Treat as normal decomposition.
|
|
263
|
+
d = i.multiSeg
|
|
264
|
+
i.multiSeg = nil
|
|
265
|
+
p = len(d)
|
|
266
|
+
}
|
|
267
|
+
prevCC := i.info.tccc
|
|
268
|
+
if i.p += sz; i.p >= i.rb.nsrc {
|
|
269
|
+
i.setDone()
|
|
270
|
+
i.info = Properties{} // Force BoundaryBefore to succeed.
|
|
271
|
+
} else {
|
|
272
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
273
|
+
}
|
|
274
|
+
switch i.rb.ss.next(i.info) {
|
|
275
|
+
case ssOverflow:
|
|
276
|
+
i.next = nextCGJDecompose
|
|
277
|
+
fallthrough
|
|
278
|
+
case ssStarter:
|
|
279
|
+
if outp > 0 {
|
|
280
|
+
copy(i.buf[outp:], d)
|
|
281
|
+
return i.buf[:p]
|
|
282
|
+
}
|
|
283
|
+
return d
|
|
284
|
+
}
|
|
285
|
+
copy(i.buf[outp:], d)
|
|
286
|
+
outp = p
|
|
287
|
+
inCopyStart, outCopyStart = i.p, outp
|
|
288
|
+
if i.info.ccc < prevCC {
|
|
289
|
+
goto doNorm
|
|
290
|
+
}
|
|
291
|
+
continue
|
|
292
|
+
} else if r := i.rb.src.hangul(i.p); r != 0 {
|
|
293
|
+
outp = decomposeHangul(i.buf[:], r)
|
|
294
|
+
i.p += hangulUTF8Size
|
|
295
|
+
inCopyStart, outCopyStart = i.p, outp
|
|
296
|
+
if i.p >= i.rb.nsrc {
|
|
297
|
+
i.setDone()
|
|
298
|
+
break
|
|
299
|
+
} else if i.rb.src.hangul(i.p) != 0 {
|
|
300
|
+
i.next = nextHangul
|
|
301
|
+
return i.buf[:outp]
|
|
302
|
+
}
|
|
303
|
+
} else {
|
|
304
|
+
p := outp + sz
|
|
305
|
+
if p > len(i.buf) {
|
|
306
|
+
break
|
|
307
|
+
}
|
|
308
|
+
outp = p
|
|
309
|
+
i.p += sz
|
|
310
|
+
}
|
|
311
|
+
if i.p >= i.rb.nsrc {
|
|
312
|
+
i.setDone()
|
|
313
|
+
break
|
|
314
|
+
}
|
|
315
|
+
prevCC := i.info.tccc
|
|
316
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
317
|
+
if v := i.rb.ss.next(i.info); v == ssStarter {
|
|
318
|
+
break
|
|
319
|
+
} else if v == ssOverflow {
|
|
320
|
+
i.next = nextCGJDecompose
|
|
321
|
+
break
|
|
322
|
+
}
|
|
323
|
+
if i.info.ccc < prevCC {
|
|
324
|
+
goto doNorm
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
if outCopyStart == 0 {
|
|
328
|
+
return i.returnSlice(inCopyStart, i.p)
|
|
329
|
+
} else if inCopyStart < i.p {
|
|
330
|
+
i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)
|
|
331
|
+
}
|
|
332
|
+
return i.buf[:outp]
|
|
333
|
+
doNorm:
|
|
334
|
+
// Insert what we have decomposed so far in the reorderBuffer.
|
|
335
|
+
// As we will only reorder, there will always be enough room.
|
|
336
|
+
i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)
|
|
337
|
+
i.rb.insertDecomposed(i.buf[0:outp])
|
|
338
|
+
return doNormDecomposed(i)
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
func doNormDecomposed(i *Iter) []byte {
|
|
342
|
+
for {
|
|
343
|
+
i.rb.insertUnsafe(i.rb.src, i.p, i.info)
|
|
344
|
+
if i.p += int(i.info.size); i.p >= i.rb.nsrc {
|
|
345
|
+
i.setDone()
|
|
346
|
+
break
|
|
347
|
+
}
|
|
348
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
349
|
+
if i.info.ccc == 0 {
|
|
350
|
+
break
|
|
351
|
+
}
|
|
352
|
+
if s := i.rb.ss.next(i.info); s == ssOverflow {
|
|
353
|
+
i.next = nextCGJDecompose
|
|
354
|
+
break
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
// new segment or too many combining characters: exit normalization
|
|
358
|
+
return i.buf[:i.rb.flushCopy(i.buf[:])]
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
func nextCGJDecompose(i *Iter) []byte {
|
|
362
|
+
i.rb.ss = 0
|
|
363
|
+
i.rb.insertCGJ()
|
|
364
|
+
i.next = nextDecomposed
|
|
365
|
+
i.rb.ss.first(i.info)
|
|
366
|
+
buf := doNormDecomposed(i)
|
|
367
|
+
return buf
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// nextComposed is the implementation of Next for forms NFC and NFKC.
|
|
371
|
+
func nextComposed(i *Iter) []byte {
|
|
372
|
+
outp, startp := 0, i.p
|
|
373
|
+
var prevCC uint8
|
|
374
|
+
for {
|
|
375
|
+
if !i.info.isYesC() {
|
|
376
|
+
goto doNorm
|
|
377
|
+
}
|
|
378
|
+
prevCC = i.info.tccc
|
|
379
|
+
sz := int(i.info.size)
|
|
380
|
+
if sz == 0 {
|
|
381
|
+
sz = 1 // illegal rune: copy byte-by-byte
|
|
382
|
+
}
|
|
383
|
+
p := outp + sz
|
|
384
|
+
if p > len(i.buf) {
|
|
385
|
+
break
|
|
386
|
+
}
|
|
387
|
+
outp = p
|
|
388
|
+
i.p += sz
|
|
389
|
+
if i.p >= i.rb.nsrc {
|
|
390
|
+
i.setDone()
|
|
391
|
+
break
|
|
392
|
+
} else if i.rb.src._byte(i.p) < utf8.RuneSelf {
|
|
393
|
+
i.rb.ss = 0
|
|
394
|
+
i.next = i.asciiF
|
|
395
|
+
break
|
|
396
|
+
}
|
|
397
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
398
|
+
if v := i.rb.ss.next(i.info); v == ssStarter {
|
|
399
|
+
break
|
|
400
|
+
} else if v == ssOverflow {
|
|
401
|
+
i.next = nextCGJCompose
|
|
402
|
+
break
|
|
403
|
+
}
|
|
404
|
+
if i.info.ccc < prevCC {
|
|
405
|
+
goto doNorm
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
return i.returnSlice(startp, i.p)
|
|
409
|
+
doNorm:
|
|
410
|
+
// reset to start position
|
|
411
|
+
i.p = startp
|
|
412
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
413
|
+
i.rb.ss.first(i.info)
|
|
414
|
+
if i.info.multiSegment() {
|
|
415
|
+
d := i.info.Decomposition()
|
|
416
|
+
info := i.rb.f.info(input{bytes: d}, 0)
|
|
417
|
+
i.rb.insertUnsafe(input{bytes: d}, 0, info)
|
|
418
|
+
i.multiSeg = d[int(info.size):]
|
|
419
|
+
i.next = nextMultiNorm
|
|
420
|
+
return nextMultiNorm(i)
|
|
421
|
+
}
|
|
422
|
+
i.rb.ss.first(i.info)
|
|
423
|
+
i.rb.insertUnsafe(i.rb.src, i.p, i.info)
|
|
424
|
+
return doNormComposed(i)
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
func doNormComposed(i *Iter) []byte {
|
|
428
|
+
// First rune should already be inserted.
|
|
429
|
+
for {
|
|
430
|
+
if i.p += int(i.info.size); i.p >= i.rb.nsrc {
|
|
431
|
+
i.setDone()
|
|
432
|
+
break
|
|
433
|
+
}
|
|
434
|
+
i.info = i.rb.f.info(i.rb.src, i.p)
|
|
435
|
+
if s := i.rb.ss.next(i.info); s == ssStarter {
|
|
436
|
+
break
|
|
437
|
+
} else if s == ssOverflow {
|
|
438
|
+
i.next = nextCGJCompose
|
|
439
|
+
break
|
|
440
|
+
}
|
|
441
|
+
i.rb.insertUnsafe(i.rb.src, i.p, i.info)
|
|
442
|
+
}
|
|
443
|
+
i.rb.compose()
|
|
444
|
+
seg := i.buf[:i.rb.flushCopy(i.buf[:])]
|
|
445
|
+
return seg
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
func nextCGJCompose(i *Iter) []byte {
|
|
449
|
+
i.rb.ss = 0 // instead of first
|
|
450
|
+
i.rb.insertCGJ()
|
|
451
|
+
i.next = nextComposed
|
|
452
|
+
// Note that we treat any rune with nLeadingNonStarters > 0 as a non-starter,
|
|
453
|
+
// even if they are not. This is particularly dubious for U+FF9E and UFF9A.
|
|
454
|
+
// If we ever change that, insert a check here.
|
|
455
|
+
i.rb.ss.first(i.info)
|
|
456
|
+
i.rb.insertUnsafe(i.rb.src, i.p, i.info)
|
|
457
|
+
return doNormComposed(i)
|
|
458
|
+
}
|