slidge-whatsapp 0.2.2__cp313-cp313-manylinux_2_36_aarch64.whl → 0.2.5__cp313-cp313-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.

Files changed (1134) hide show
  1. slidge_whatsapp/__init__.py +26 -8
  2. slidge_whatsapp/__main__.py +3 -0
  3. slidge_whatsapp/contact.py +1 -1
  4. slidge_whatsapp/event.go +56 -0
  5. slidge_whatsapp/generated/_whatsapp.cpython-313-aarch64-linux-gnu.h +169 -132
  6. slidge_whatsapp/generated/_whatsapp.cpython-313-aarch64-linux-gnu.so +0 -0
  7. slidge_whatsapp/generated/build.py +135 -110
  8. slidge_whatsapp/generated/go.py +1 -1
  9. slidge_whatsapp/generated/whatsapp.c +1846 -1375
  10. slidge_whatsapp/generated/whatsapp.go +1079 -834
  11. slidge_whatsapp/generated/whatsapp.py +1392 -1072
  12. slidge_whatsapp/generated/whatsapp_go.h +169 -132
  13. slidge_whatsapp/go.mod +11 -9
  14. slidge_whatsapp/go.sum +16 -16
  15. slidge_whatsapp/group.py +7 -2
  16. slidge_whatsapp/media/__init__.py +0 -0
  17. slidge_whatsapp/media/media.go +8 -3
  18. slidge_whatsapp/session.go +4 -5
  19. slidge_whatsapp/session.py +53 -31
  20. slidge_whatsapp/vendor/filippo.io/edwards25519/LICENSE +27 -0
  21. slidge_whatsapp/vendor/filippo.io/edwards25519/README.md +14 -0
  22. slidge_whatsapp/vendor/filippo.io/edwards25519/doc.go +20 -0
  23. slidge_whatsapp/vendor/filippo.io/edwards25519/edwards25519.go +427 -0
  24. slidge_whatsapp/vendor/filippo.io/edwards25519/extra.go +349 -0
  25. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe.go +420 -0
  26. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64.go +16 -0
  27. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64.s +379 -0
  28. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64_noasm.go +12 -0
  29. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64.go +16 -0
  30. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64.s +42 -0
  31. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64_noasm.go +12 -0
  32. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_extra.go +50 -0
  33. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_generic.go +266 -0
  34. slidge_whatsapp/vendor/filippo.io/edwards25519/scalar.go +343 -0
  35. slidge_whatsapp/vendor/filippo.io/edwards25519/scalar_fiat.go +1147 -0
  36. slidge_whatsapp/vendor/filippo.io/edwards25519/scalarmult.go +214 -0
  37. slidge_whatsapp/vendor/filippo.io/edwards25519/tables.go +129 -0
  38. slidge_whatsapp/vendor/github.com/ebitengine/purego/.gitignore +1 -0
  39. slidge_whatsapp/vendor/github.com/ebitengine/purego/LICENSE +201 -0
  40. slidge_whatsapp/vendor/github.com/ebitengine/purego/README.md +97 -0
  41. slidge_whatsapp/vendor/github.com/ebitengine/purego/abi_amd64.h +99 -0
  42. slidge_whatsapp/vendor/github.com/ebitengine/purego/abi_arm64.h +39 -0
  43. slidge_whatsapp/vendor/github.com/ebitengine/purego/cgo.go +19 -0
  44. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlerror.go +17 -0
  45. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +99 -0
  46. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_android.go +34 -0
  47. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +24 -0
  48. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_freebsd.go +14 -0
  49. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_linux.go +16 -0
  50. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_nocgo_freebsd.go +11 -0
  51. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_nocgo_linux.go +19 -0
  52. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_playground.go +24 -0
  53. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_stubs.s +26 -0
  54. slidge_whatsapp/vendor/github.com/ebitengine/purego/func.go +436 -0
  55. slidge_whatsapp/vendor/github.com/ebitengine/purego/go_runtime.go +13 -0
  56. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/dlfcn_cgo_unix.go +56 -0
  57. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/empty.go +6 -0
  58. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/syscall_cgo_unix.go +55 -0
  59. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_amd64.h +99 -0
  60. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_arm64.h +39 -0
  61. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_amd64.s +39 -0
  62. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_arm64.s +36 -0
  63. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/callbacks.go +93 -0
  64. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/doc.go +32 -0
  65. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/freebsd.go +27 -0
  66. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_amd64.go +73 -0
  67. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_arm64.go +88 -0
  68. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_amd64.go +95 -0
  69. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_arm64.go +98 -0
  70. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +69 -0
  71. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_amd64.go +95 -0
  72. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_arm64.go +98 -0
  73. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_setenv.go +18 -0
  74. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_util.go +37 -0
  75. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/iscgo.go +19 -0
  76. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo.go +39 -0
  77. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_darwin.go +22 -0
  78. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_freebsd.go +16 -0
  79. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_linux.go +16 -0
  80. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/setenv.go +19 -0
  81. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +201 -0
  82. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_darwin.go +29 -0
  83. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_freebsd.go +29 -0
  84. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_linux.go +29 -0
  85. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_amd64.s +104 -0
  86. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm64.s +72 -0
  87. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_stubs.s +90 -0
  88. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/strings/strings.go +40 -0
  89. slidge_whatsapp/vendor/github.com/ebitengine/purego/is_ios.go +13 -0
  90. slidge_whatsapp/vendor/github.com/ebitengine/purego/nocgo.go +25 -0
  91. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_amd64.go +260 -0
  92. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_arm64.go +274 -0
  93. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_other.go +16 -0
  94. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_amd64.s +164 -0
  95. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_arm64.s +92 -0
  96. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_unix_arm64.s +70 -0
  97. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall.go +53 -0
  98. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_cgo_linux.go +21 -0
  99. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_sysv.go +223 -0
  100. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_windows.go +46 -0
  101. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_amd64.s +2014 -0
  102. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_arm64.s +4014 -0
  103. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/.gitattributes +6 -0
  104. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/AUTHORS +1 -0
  105. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/COPYING +661 -0
  106. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/README.md +71 -0
  107. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +66 -0
  108. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +596 -0
  109. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_cgo.go +18 -0
  110. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_extlib.go +11 -0
  111. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_extlib_pkgconfig.go +9 -0
  112. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_content_types.go +383 -0
  113. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +1098 -0
  114. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_vendor.go +9 -0
  115. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/archive.h +444 -0
  116. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/band-writer.h +117 -0
  117. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/bidi.h +90 -0
  118. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/bitmap.h +175 -0
  119. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/buffer.h +250 -0
  120. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/color.h +427 -0
  121. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/compress.h +88 -0
  122. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/compressed-buffer.h +185 -0
  123. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/config.h +222 -0
  124. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/context.h +1006 -0
  125. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/crypt.h +270 -0
  126. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/device.h +654 -0
  127. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/display-list.h +142 -0
  128. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/document.h +1108 -0
  129. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/export.h +52 -0
  130. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/filter.h +263 -0
  131. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/font.h +815 -0
  132. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/geometry.h +818 -0
  133. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/getopt.h +128 -0
  134. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/glyph-cache.h +96 -0
  135. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/glyph.h +81 -0
  136. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/hash.h +126 -0
  137. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/heap-imp.h +163 -0
  138. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/heap.h +140 -0
  139. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/image.h +443 -0
  140. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/link.h +130 -0
  141. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/log.h +61 -0
  142. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/outline.h +228 -0
  143. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/output-svg.h +64 -0
  144. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/output.h +415 -0
  145. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/path.h +447 -0
  146. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/pixmap.h +501 -0
  147. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/pool.h +68 -0
  148. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/separation.h +138 -0
  149. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/shade.h +233 -0
  150. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/store.h +456 -0
  151. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/story-writer.h +209 -0
  152. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/story.h +232 -0
  153. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/stream.h +646 -0
  154. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/string-util.h +286 -0
  155. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/structured-text.h +365 -0
  156. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/system.h +459 -0
  157. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/text.h +209 -0
  158. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/track-usage.h +57 -0
  159. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/transition.h +76 -0
  160. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/tree.h +62 -0
  161. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/types.h +41 -0
  162. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/util.h +151 -0
  163. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/vendor.go +3 -0
  164. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/version.h +31 -0
  165. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/write-pixmap.h +499 -0
  166. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/writer.h +266 -0
  167. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/xml.h +397 -0
  168. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz.h +97 -0
  169. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/memento.h +423 -0
  170. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/vendor.go +3 -0
  171. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/libmupdf_linux_arm64.a +0 -0
  172. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/libmupdfthird_linux_arm64.a +0 -0
  173. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/vendor.go +3 -0
  174. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +23 -0
  175. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +22 -0
  176. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +22 -0
  177. slidge_whatsapp/vendor/github.com/go-python/gopy/LICENSE +23 -0
  178. slidge_whatsapp/vendor/github.com/go-python/gopy/gopyh/handle.go +210 -0
  179. slidge_whatsapp/vendor/github.com/google/uuid/CHANGELOG.md +41 -0
  180. slidge_whatsapp/vendor/github.com/google/uuid/CONTRIBUTING.md +26 -0
  181. slidge_whatsapp/vendor/github.com/google/uuid/CONTRIBUTORS +9 -0
  182. slidge_whatsapp/vendor/github.com/google/uuid/LICENSE +27 -0
  183. slidge_whatsapp/vendor/github.com/google/uuid/README.md +21 -0
  184. slidge_whatsapp/vendor/github.com/google/uuid/dce.go +80 -0
  185. slidge_whatsapp/vendor/github.com/google/uuid/doc.go +12 -0
  186. slidge_whatsapp/vendor/github.com/google/uuid/hash.go +59 -0
  187. slidge_whatsapp/vendor/github.com/google/uuid/marshal.go +38 -0
  188. slidge_whatsapp/vendor/github.com/google/uuid/node.go +90 -0
  189. slidge_whatsapp/vendor/github.com/google/uuid/node_js.go +12 -0
  190. slidge_whatsapp/vendor/github.com/google/uuid/node_net.go +33 -0
  191. slidge_whatsapp/vendor/github.com/google/uuid/null.go +118 -0
  192. slidge_whatsapp/vendor/github.com/google/uuid/sql.go +59 -0
  193. slidge_whatsapp/vendor/github.com/google/uuid/time.go +134 -0
  194. slidge_whatsapp/vendor/github.com/google/uuid/util.go +43 -0
  195. slidge_whatsapp/vendor/github.com/google/uuid/uuid.go +365 -0
  196. slidge_whatsapp/vendor/github.com/google/uuid/version1.go +44 -0
  197. slidge_whatsapp/vendor/github.com/google/uuid/version4.go +76 -0
  198. slidge_whatsapp/vendor/github.com/google/uuid/version6.go +56 -0
  199. slidge_whatsapp/vendor/github.com/google/uuid/version7.go +104 -0
  200. slidge_whatsapp/vendor/github.com/gorilla/websocket/.gitignore +25 -0
  201. slidge_whatsapp/vendor/github.com/gorilla/websocket/AUTHORS +9 -0
  202. slidge_whatsapp/vendor/github.com/gorilla/websocket/LICENSE +22 -0
  203. slidge_whatsapp/vendor/github.com/gorilla/websocket/README.md +33 -0
  204. slidge_whatsapp/vendor/github.com/gorilla/websocket/client.go +434 -0
  205. slidge_whatsapp/vendor/github.com/gorilla/websocket/compression.go +148 -0
  206. slidge_whatsapp/vendor/github.com/gorilla/websocket/conn.go +1238 -0
  207. slidge_whatsapp/vendor/github.com/gorilla/websocket/doc.go +227 -0
  208. slidge_whatsapp/vendor/github.com/gorilla/websocket/join.go +42 -0
  209. slidge_whatsapp/vendor/github.com/gorilla/websocket/json.go +60 -0
  210. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask.go +55 -0
  211. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask_safe.go +16 -0
  212. slidge_whatsapp/vendor/github.com/gorilla/websocket/prepared.go +102 -0
  213. slidge_whatsapp/vendor/github.com/gorilla/websocket/proxy.go +77 -0
  214. slidge_whatsapp/vendor/github.com/gorilla/websocket/server.go +365 -0
  215. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake.go +21 -0
  216. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake_116.go +21 -0
  217. slidge_whatsapp/vendor/github.com/gorilla/websocket/util.go +298 -0
  218. slidge_whatsapp/vendor/github.com/gorilla/websocket/x_net_proxy.go +473 -0
  219. slidge_whatsapp/vendor/github.com/h2non/filetype/.editorconfig +12 -0
  220. slidge_whatsapp/vendor/github.com/h2non/filetype/.gitignore +2 -0
  221. slidge_whatsapp/vendor/github.com/h2non/filetype/.travis.yml +16 -0
  222. slidge_whatsapp/vendor/github.com/h2non/filetype/History.md +163 -0
  223. slidge_whatsapp/vendor/github.com/h2non/filetype/LICENSE +24 -0
  224. slidge_whatsapp/vendor/github.com/h2non/filetype/README.md +294 -0
  225. slidge_whatsapp/vendor/github.com/h2non/filetype/filetype.go +102 -0
  226. slidge_whatsapp/vendor/github.com/h2non/filetype/kind.go +91 -0
  227. slidge_whatsapp/vendor/github.com/h2non/filetype/match.go +90 -0
  228. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/application.go +43 -0
  229. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/archive.go +211 -0
  230. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/audio.go +85 -0
  231. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/document.go +197 -0
  232. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/font.go +45 -0
  233. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/image.go +143 -0
  234. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/isobmff/isobmff.go +37 -0
  235. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/matchers.go +51 -0
  236. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/video.go +145 -0
  237. slidge_whatsapp/vendor/github.com/h2non/filetype/types/defaults.go +4 -0
  238. slidge_whatsapp/vendor/github.com/h2non/filetype/types/mime.go +14 -0
  239. slidge_whatsapp/vendor/github.com/h2non/filetype/types/split.go +11 -0
  240. slidge_whatsapp/vendor/github.com/h2non/filetype/types/type.go +16 -0
  241. slidge_whatsapp/vendor/github.com/h2non/filetype/types/types.go +23 -0
  242. slidge_whatsapp/vendor/github.com/h2non/filetype/version.go +4 -0
  243. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +21 -0
  244. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +56 -0
  245. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +147 -0
  246. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/LICENSE +21 -0
  247. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +162 -0
  248. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +7 -0
  249. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +7 -0
  250. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +272 -0
  251. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +46 -0
  252. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +55 -0
  253. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +82 -0
  254. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +63 -0
  255. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +68 -0
  256. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_amd64.go +5 -0
  257. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_arm64.go +5 -0
  258. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_darwin_arm64.go +5 -0
  259. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/types.go +34 -0
  260. slidge_whatsapp/vendor/github.com/mattn/go-colorable/LICENSE +21 -0
  261. slidge_whatsapp/vendor/github.com/mattn/go-colorable/README.md +48 -0
  262. slidge_whatsapp/vendor/github.com/mattn/go-colorable/colorable_others.go +38 -0
  263. slidge_whatsapp/vendor/github.com/mattn/go-colorable/colorable_windows.go +1047 -0
  264. slidge_whatsapp/vendor/github.com/mattn/go-colorable/go.test.sh +12 -0
  265. slidge_whatsapp/vendor/github.com/mattn/go-colorable/noncolorable.go +57 -0
  266. slidge_whatsapp/vendor/github.com/mattn/go-isatty/LICENSE +9 -0
  267. slidge_whatsapp/vendor/github.com/mattn/go-isatty/README.md +50 -0
  268. slidge_whatsapp/vendor/github.com/mattn/go-isatty/doc.go +2 -0
  269. slidge_whatsapp/vendor/github.com/mattn/go-isatty/go.test.sh +12 -0
  270. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_bsd.go +20 -0
  271. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_others.go +17 -0
  272. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_plan9.go +23 -0
  273. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_solaris.go +21 -0
  274. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_tcgets.go +20 -0
  275. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_windows.go +125 -0
  276. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/.codecov.yml +4 -0
  277. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/.gitignore +14 -0
  278. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/LICENSE +21 -0
  279. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +603 -0
  280. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/backup.go +85 -0
  281. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +411 -0
  282. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/convert.go +299 -0
  283. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/doc.go +134 -0
  284. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/error.go +150 -0
  285. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +258039 -0
  286. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +13526 -0
  287. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +2281 -0
  288. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_context.go +103 -0
  289. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_func_crypt.go +120 -0
  290. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_go18.go +54 -0
  291. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go +23 -0
  292. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_load_extension.go +85 -0
  293. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_load_extension_omit.go +25 -0
  294. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_allow_uri_authority.go +16 -0
  295. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_app_armor.go +16 -0
  296. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_column_metadata.go +22 -0
  297. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_foreign_keys.go +16 -0
  298. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_fts5.go +15 -0
  299. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_icu.go +20 -0
  300. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_introspect.go +16 -0
  301. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_math_functions.go +15 -0
  302. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_os_trace.go +15 -0
  303. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate.go +21 -0
  304. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate_hook.go +113 -0
  305. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate_omit.go +22 -0
  306. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete.go +16 -0
  307. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete_fast.go +16 -0
  308. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_serialize.go +83 -0
  309. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_serialize_omit.go +21 -0
  310. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_stat4.go +16 -0
  311. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +85 -0
  312. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +93 -0
  313. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +295 -0
  314. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth_omit.go +158 -0
  315. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_full.go +16 -0
  316. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_incr.go +16 -0
  317. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vtable.go +721 -0
  318. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go +18 -0
  319. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_solaris.go +15 -0
  320. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_trace.go +288 -0
  321. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_type.go +108 -0
  322. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_usleep_windows.go +42 -0
  323. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_windows.go +18 -0
  324. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +728 -0
  325. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/static_mock.go +38 -0
  326. slidge_whatsapp/vendor/github.com/rs/zerolog/.gitignore +25 -0
  327. slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +1 -0
  328. slidge_whatsapp/vendor/github.com/rs/zerolog/LICENSE +21 -0
  329. slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +782 -0
  330. slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +1 -0
  331. slidge_whatsapp/vendor/github.com/rs/zerolog/array.go +240 -0
  332. slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +520 -0
  333. slidge_whatsapp/vendor/github.com/rs/zerolog/context.go +480 -0
  334. slidge_whatsapp/vendor/github.com/rs/zerolog/ctx.go +52 -0
  335. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder.go +56 -0
  336. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder_cbor.go +45 -0
  337. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder_json.go +51 -0
  338. slidge_whatsapp/vendor/github.com/rs/zerolog/event.go +830 -0
  339. slidge_whatsapp/vendor/github.com/rs/zerolog/example.jsonl +7 -0
  340. slidge_whatsapp/vendor/github.com/rs/zerolog/fields.go +292 -0
  341. slidge_whatsapp/vendor/github.com/rs/zerolog/globals.go +190 -0
  342. slidge_whatsapp/vendor/github.com/rs/zerolog/go112.go +7 -0
  343. slidge_whatsapp/vendor/github.com/rs/zerolog/hook.go +64 -0
  344. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/README.md +56 -0
  345. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/base.go +19 -0
  346. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/cbor.go +102 -0
  347. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/decode_stream.go +654 -0
  348. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/string.go +117 -0
  349. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/time.go +93 -0
  350. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/types.go +486 -0
  351. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/base.go +19 -0
  352. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/bytes.go +85 -0
  353. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/string.go +149 -0
  354. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/time.go +113 -0
  355. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/types.go +435 -0
  356. slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +518 -0
  357. slidge_whatsapp/vendor/github.com/rs/zerolog/not_go112.go +5 -0
  358. slidge_whatsapp/vendor/github.com/rs/zerolog/pretty.png +0 -0
  359. slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +134 -0
  360. slidge_whatsapp/vendor/github.com/rs/zerolog/syslog.go +89 -0
  361. slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +346 -0
  362. slidge_whatsapp/vendor/go.mau.fi/libsignal/LICENSE +674 -0
  363. slidge_whatsapp/vendor/go.mau.fi/libsignal/cipher/Cbc.go +101 -0
  364. slidge_whatsapp/vendor/go.mau.fi/libsignal/cipher/Cipher.go +105 -0
  365. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/Curve.go +109 -0
  366. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/DjbECPublicKey.go +29 -0
  367. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/DkbECPrivateKey.go +29 -0
  368. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/Doc.go +3 -0
  369. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECKeyPair.go +27 -0
  370. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECPrivateKey.go +7 -0
  371. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECPublicKey.go +11 -0
  372. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/SignCurve25519.go +97 -0
  373. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +141 -0
  374. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +84 -0
  375. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/Doc.go +3 -0
  376. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/SenderChainKey.go +68 -0
  377. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/SenderMessageKey.go +89 -0
  378. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/Doc.go +2 -0
  379. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/SenderKeyRecord.go +149 -0
  380. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/SenderKeyState.go +186 -0
  381. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/Doc.go +3 -0
  382. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +11 -0
  383. slidge_whatsapp/vendor/go.mau.fi/libsignal/kdf/HKDF.go +47 -0
  384. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +127 -0
  385. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +47 -0
  386. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKeyPair.go +39 -0
  387. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/message/MessageKey.go +91 -0
  388. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/prekey/PreKeyBundle.go +86 -0
  389. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/root/RootKey.go +66 -0
  390. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/session/DerivedSecrets.go +29 -0
  391. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/session/Pair.go +43 -0
  392. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +85 -0
  393. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/Logger.go +89 -0
  394. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/CiphertextMessage.go +19 -0
  395. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/Doc.go +3 -0
  396. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/PreKeySignalMessage.go +152 -0
  397. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyDistributionMessage.go +147 -0
  398. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyMessage.go +168 -0
  399. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyName.go +25 -0
  400. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SignalMessage.go +226 -0
  401. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SignalProtocolAddress.go +38 -0
  402. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/Ratchet.go +197 -0
  403. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/ReceiverParameters.go +106 -0
  404. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/SenderParameters.go +106 -0
  405. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/SymmetricParameters.go +18 -0
  406. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +245 -0
  407. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.proto +14 -0
  408. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/JSONSerializer.go +303 -0
  409. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +1500 -0
  410. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.proto +114 -0
  411. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/ProtoBufferSerializer.go +262 -0
  412. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/Serializer.go +31 -0
  413. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +640 -0
  414. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.proto +45 -0
  415. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +275 -0
  416. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +375 -0
  417. slidge_whatsapp/vendor/go.mau.fi/libsignal/signalerror/errors.go +37 -0
  418. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/ChainState.go +157 -0
  419. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/Doc.go +3 -0
  420. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PendingKeyExchangeState.go +91 -0
  421. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PendingPreKeyState.go +62 -0
  422. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PreKeyRecord.go +90 -0
  423. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SessionRecord.go +197 -0
  424. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SessionState.go +531 -0
  425. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SignedPreKeyRecord.go +112 -0
  426. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/UnacknowledgedPreKey.go +69 -0
  427. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/Doc.go +3 -0
  428. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +29 -0
  429. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +21 -0
  430. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +21 -0
  431. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +17 -0
  432. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignalProtocolStore.go +15 -0
  433. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +24 -0
  434. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/bytehelper/ByteHelper.go +97 -0
  435. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/errorhelper/ErrorHelper.go +40 -0
  436. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/keyhelper/KeyHelper.go +95 -0
  437. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/medium/Medium.go +4 -0
  438. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/optional/Integer.go +17 -0
  439. slidge_whatsapp/vendor/go.mau.fi/util/LICENSE +373 -0
  440. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/doc.go +9 -0
  441. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_darwin.go +29 -0
  442. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_linux.go +24 -0
  443. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_unknown.go +17 -0
  444. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/duration.go +155 -0
  445. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/helpers.go +59 -0
  446. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/integer.go +170 -0
  447. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/string.go +95 -0
  448. slidge_whatsapp/vendor/go.mau.fi/util/random/bytes.go +21 -0
  449. slidge_whatsapp/vendor/go.mau.fi/util/random/string.go +87 -0
  450. slidge_whatsapp/vendor/go.mau.fi/util/retryafter/retryafter.go +53 -0
  451. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.editorconfig +13 -0
  452. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.gitattributes +3 -0
  453. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +31 -0
  454. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/LICENSE +374 -0
  455. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/README.md +35 -0
  456. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +311 -0
  457. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +322 -0
  458. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/errors.go +19 -0
  459. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +97 -0
  460. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +137 -0
  461. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/lthash/lthash.go +58 -0
  462. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +407 -0
  463. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +99 -0
  464. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/attrs.go +218 -0
  465. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/decoder.go +406 -0
  466. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +308 -0
  467. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/errors.go +12 -0
  468. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/node.go +139 -0
  469. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/token/token.go +94 -0
  470. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/unpack.go +31 -0
  471. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/xml.go +108 -0
  472. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +142 -0
  473. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +112 -0
  474. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +851 -0
  475. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +196 -0
  476. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +201 -0
  477. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +370 -0
  478. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +260 -0
  479. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +930 -0
  480. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/handshake.go +165 -0
  481. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +660 -0
  482. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +84 -0
  483. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +96 -0
  484. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +184 -0
  485. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +683 -0
  486. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +287 -0
  487. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +376 -0
  488. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +421 -0
  489. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +242 -0
  490. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +248 -0
  491. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +251 -0
  492. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +138 -0
  493. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +171 -0
  494. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/.gitignore +1 -0
  495. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/armadilloutil/decode.go +32 -0
  496. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +36 -0
  497. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +485 -0
  498. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
  499. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.proto +43 -0
  500. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +2803 -0
  501. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
  502. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +258 -0
  503. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/extra.go +3 -0
  504. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +874 -0
  505. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
  506. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +139 -0
  507. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +392 -0
  508. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +23 -0
  509. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.proto +34 -0
  510. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +134 -0
  511. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +7 -0
  512. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.proto +10 -0
  513. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +456 -0
  514. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
  515. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +41 -0
  516. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/legacy.go +11 -0
  517. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.go +892 -0
  518. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
  519. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.proto +100 -0
  520. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +2653 -0
  521. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
  522. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.proto +233 -0
  523. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/extra.go +82 -0
  524. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +185 -0
  525. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
  526. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +13 -0
  527. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +22080 -0
  528. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
  529. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +2299 -0
  530. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/legacy.go +31 -0
  531. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +2047 -0
  532. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
  533. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +217 -0
  534. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/legacy.go +11 -0
  535. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +1977 -0
  536. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
  537. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +190 -0
  538. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +249 -0
  539. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
  540. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +20 -0
  541. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +1016 -0
  542. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
  543. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +88 -0
  544. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/extra.go +41 -0
  545. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +808 -0
  546. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
  547. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.proto +75 -0
  548. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +19 -0
  549. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +702 -0
  550. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
  551. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.proto +57 -0
  552. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/extra.go +3 -0
  553. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +805 -0
  554. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
  555. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.proto +72 -0
  556. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/legacy.go +31 -0
  557. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +4675 -0
  558. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
  559. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +461 -0
  560. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +410 -0
  561. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
  562. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.proto +33 -0
  563. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +802 -0
  564. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
  565. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.proto +72 -0
  566. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +2021 -0
  567. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
  568. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +245 -0
  569. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +3895 -0
  570. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
  571. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +577 -0
  572. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/legacy.go +1 -0
  573. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/push.go +110 -0
  574. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/qrchan.go +180 -0
  575. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +238 -0
  576. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/request.go +225 -0
  577. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +440 -0
  578. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +1128 -0
  579. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +646 -0
  580. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/constants.go +43 -0
  581. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/framesocket.go +235 -0
  582. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisehandshake.go +124 -0
  583. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisesocket.go +108 -0
  584. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +185 -0
  585. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +214 -0
  586. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +195 -0
  587. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +270 -0
  588. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +773 -0
  589. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +296 -0
  590. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +194 -0
  591. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +21 -0
  592. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/appstate.go +185 -0
  593. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/call.go +77 -0
  594. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +600 -0
  595. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +155 -0
  596. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +263 -0
  597. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +98 -0
  598. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/newsletter.go +201 -0
  599. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/presence.go +78 -0
  600. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +195 -0
  601. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +63 -0
  602. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +251 -0
  603. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +864 -0
  604. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/cbcutil/cbc.go +217 -0
  605. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/gcmutil/gcm.go +41 -0
  606. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/hkdfutil/hkdf.go +28 -0
  607. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/keys/keypair.go +68 -0
  608. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/log/log.go +83 -0
  609. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/log/zerolog.go +38 -0
  610. slidge_whatsapp/vendor/golang.org/x/crypto/LICENSE +27 -0
  611. slidge_whatsapp/vendor/golang.org/x/crypto/PATENTS +22 -0
  612. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +90 -0
  613. slidge_whatsapp/vendor/golang.org/x/crypto/hkdf/hkdf.go +95 -0
  614. slidge_whatsapp/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go +77 -0
  615. slidge_whatsapp/vendor/golang.org/x/image/LICENSE +27 -0
  616. slidge_whatsapp/vendor/golang.org/x/image/PATENTS +22 -0
  617. slidge_whatsapp/vendor/golang.org/x/image/draw/draw.go +67 -0
  618. slidge_whatsapp/vendor/golang.org/x/image/draw/impl.go +8426 -0
  619. slidge_whatsapp/vendor/golang.org/x/image/draw/scale.go +525 -0
  620. slidge_whatsapp/vendor/golang.org/x/image/math/f64/f64.go +37 -0
  621. slidge_whatsapp/vendor/golang.org/x/image/riff/riff.go +193 -0
  622. slidge_whatsapp/vendor/golang.org/x/image/vp8/decode.go +403 -0
  623. slidge_whatsapp/vendor/golang.org/x/image/vp8/filter.go +273 -0
  624. slidge_whatsapp/vendor/golang.org/x/image/vp8/idct.go +98 -0
  625. slidge_whatsapp/vendor/golang.org/x/image/vp8/partition.go +129 -0
  626. slidge_whatsapp/vendor/golang.org/x/image/vp8/pred.go +201 -0
  627. slidge_whatsapp/vendor/golang.org/x/image/vp8/predfunc.go +553 -0
  628. slidge_whatsapp/vendor/golang.org/x/image/vp8/quant.go +98 -0
  629. slidge_whatsapp/vendor/golang.org/x/image/vp8/reconstruct.go +442 -0
  630. slidge_whatsapp/vendor/golang.org/x/image/vp8/token.go +381 -0
  631. slidge_whatsapp/vendor/golang.org/x/image/vp8l/decode.go +603 -0
  632. slidge_whatsapp/vendor/golang.org/x/image/vp8l/huffman.go +245 -0
  633. slidge_whatsapp/vendor/golang.org/x/image/vp8l/transform.go +299 -0
  634. slidge_whatsapp/vendor/golang.org/x/image/webp/decode.go +276 -0
  635. slidge_whatsapp/vendor/golang.org/x/image/webp/doc.go +9 -0
  636. slidge_whatsapp/vendor/golang.org/x/net/LICENSE +27 -0
  637. slidge_whatsapp/vendor/golang.org/x/net/PATENTS +22 -0
  638. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/client.go +168 -0
  639. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/socks.go +317 -0
  640. slidge_whatsapp/vendor/golang.org/x/net/proxy/dial.go +54 -0
  641. slidge_whatsapp/vendor/golang.org/x/net/proxy/direct.go +31 -0
  642. slidge_whatsapp/vendor/golang.org/x/net/proxy/per_host.go +153 -0
  643. slidge_whatsapp/vendor/golang.org/x/net/proxy/proxy.go +149 -0
  644. slidge_whatsapp/vendor/golang.org/x/net/proxy/socks5.go +42 -0
  645. slidge_whatsapp/vendor/golang.org/x/sys/LICENSE +27 -0
  646. slidge_whatsapp/vendor/golang.org/x/sys/PATENTS +22 -0
  647. slidge_whatsapp/vendor/golang.org/x/sys/unix/.gitignore +2 -0
  648. slidge_whatsapp/vendor/golang.org/x/sys/unix/README.md +184 -0
  649. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +86 -0
  650. slidge_whatsapp/vendor/golang.org/x/sys/unix/aliases.go +13 -0
  651. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
  652. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
  653. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
  654. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
  655. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
  656. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
  657. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
  658. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
  659. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
  660. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
  661. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
  662. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
  663. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
  664. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
  665. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
  666. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
  667. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
  668. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
  669. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
  670. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
  671. slidge_whatsapp/vendor/golang.org/x/sys/unix/auxv.go +36 -0
  672. slidge_whatsapp/vendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
  673. slidge_whatsapp/vendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  674. slidge_whatsapp/vendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
  675. slidge_whatsapp/vendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
  676. slidge_whatsapp/vendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
  677. slidge_whatsapp/vendor/golang.org/x/sys/unix/constants.go +13 -0
  678. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
  679. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
  680. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  681. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  682. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  683. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  684. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  685. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  686. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_zos.go +28 -0
  687. slidge_whatsapp/vendor/golang.org/x/sys/unix/dirent.go +102 -0
  688. slidge_whatsapp/vendor/golang.org/x/sys/unix/endian_big.go +9 -0
  689. slidge_whatsapp/vendor/golang.org/x/sys/unix/endian_little.go +9 -0
  690. slidge_whatsapp/vendor/golang.org/x/sys/unix/env_unix.go +31 -0
  691. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl.go +36 -0
  692. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  693. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
  694. slidge_whatsapp/vendor/golang.org/x/sys/unix/fdset.go +29 -0
  695. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo.go +59 -0
  696. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
  697. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
  698. slidge_whatsapp/vendor/golang.org/x/sys/unix/ifreq_linux.go +141 -0
  699. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_linux.go +334 -0
  700. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_signed.go +69 -0
  701. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_unsigned.go +69 -0
  702. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
  703. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkall.sh +249 -0
  704. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +805 -0
  705. slidge_whatsapp/vendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
  706. slidge_whatsapp/vendor/golang.org/x/sys/unix/mremap.go +57 -0
  707. slidge_whatsapp/vendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
  708. slidge_whatsapp/vendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
  709. slidge_whatsapp/vendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
  710. slidge_whatsapp/vendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
  711. slidge_whatsapp/vendor/golang.org/x/sys/unix/race.go +30 -0
  712. slidge_whatsapp/vendor/golang.org/x/sys/unix/race0.go +25 -0
  713. slidge_whatsapp/vendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
  714. slidge_whatsapp/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
  715. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  716. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  717. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
  718. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
  719. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
  720. slidge_whatsapp/vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
  721. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall.go +86 -0
  722. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
  723. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
  724. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
  725. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
  726. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +707 -0
  727. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
  728. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
  729. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
  730. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
  731. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
  732. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
  733. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
  734. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
  735. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
  736. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
  737. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
  738. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  739. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
  740. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
  741. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +2657 -0
  742. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_386.go +314 -0
  743. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
  744. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +145 -0
  745. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
  746. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +216 -0
  747. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +186 -0
  748. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
  749. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
  750. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
  751. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
  752. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
  753. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +218 -0
  754. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +188 -0
  755. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +174 -0
  756. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +204 -0
  757. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +115 -0
  758. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +191 -0
  759. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +296 -0
  760. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +112 -0
  761. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd.go +371 -0
  762. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
  763. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
  764. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
  765. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
  766. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd.go +342 -0
  767. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
  768. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
  769. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
  770. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
  771. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
  772. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  773. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
  774. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
  775. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1191 -0
  776. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
  777. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix.go +615 -0
  778. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
  779. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
  780. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
  781. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
  782. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
  783. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
  784. slidge_whatsapp/vendor/golang.org/x/sys/unix/timestruct.go +76 -0
  785. slidge_whatsapp/vendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
  786. slidge_whatsapp/vendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
  787. slidge_whatsapp/vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
  788. slidge_whatsapp/vendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
  789. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
  790. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
  791. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
  792. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
  793. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
  794. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
  795. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
  796. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
  797. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
  798. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
  799. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +3752 -0
  800. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +873 -0
  801. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +873 -0
  802. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +878 -0
  803. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +875 -0
  804. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +865 -0
  805. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +879 -0
  806. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +879 -0
  807. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +879 -0
  808. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +879 -0
  809. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +931 -0
  810. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +935 -0
  811. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +935 -0
  812. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +862 -0
  813. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +934 -0
  814. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +977 -0
  815. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
  816. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
  817. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
  818. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
  819. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
  820. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
  821. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
  822. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
  823. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
  824. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
  825. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
  826. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
  827. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
  828. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
  829. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  830. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
  831. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
  832. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
  833. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
  834. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
  835. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
  836. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
  837. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
  838. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2644 -0
  839. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +779 -0
  840. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2644 -0
  841. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +779 -0
  842. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
  843. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
  844. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
  845. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
  846. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
  847. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
  848. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
  849. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux.go +2240 -0
  850. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +486 -0
  851. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +653 -0
  852. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +601 -0
  853. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +552 -0
  854. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +486 -0
  855. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +653 -0
  856. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +647 -0
  857. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +636 -0
  858. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +653 -0
  859. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +658 -0
  860. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +704 -0
  861. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +704 -0
  862. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +548 -0
  863. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +495 -0
  864. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +648 -0
  865. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
  866. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
  867. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
  868. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
  869. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2323 -0
  870. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +699 -0
  871. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2323 -0
  872. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +699 -0
  873. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2323 -0
  874. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +699 -0
  875. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2323 -0
  876. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +699 -0
  877. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2323 -0
  878. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +699 -0
  879. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2323 -0
  880. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +838 -0
  881. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2323 -0
  882. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +699 -0
  883. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
  884. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
  885. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
  886. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
  887. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
  888. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
  889. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
  890. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
  891. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
  892. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
  893. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
  894. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
  895. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
  896. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
  897. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
  898. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
  899. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
  900. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +465 -0
  901. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +388 -0
  902. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +429 -0
  903. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +332 -0
  904. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +328 -0
  905. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +449 -0
  906. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +379 -0
  907. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +379 -0
  908. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +449 -0
  909. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +456 -0
  910. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +428 -0
  911. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +428 -0
  912. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +333 -0
  913. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +394 -0
  914. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +407 -0
  915. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
  916. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
  917. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
  918. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
  919. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
  920. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
  921. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
  922. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
  923. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
  924. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
  925. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
  926. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
  927. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
  928. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
  929. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
  930. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
  931. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
  932. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  933. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  934. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  935. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  936. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  937. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +6178 -0
  938. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +689 -0
  939. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +703 -0
  940. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +683 -0
  941. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +682 -0
  942. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +683 -0
  943. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +688 -0
  944. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +685 -0
  945. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +685 -0
  946. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +688 -0
  947. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +696 -0
  948. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +691 -0
  949. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +691 -0
  950. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +770 -0
  951. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +705 -0
  952. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +686 -0
  953. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
  954. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
  955. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
  956. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
  957. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
  958. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
  959. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
  960. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
  961. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
  962. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
  963. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
  964. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
  965. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
  966. slidge_whatsapp/vendor/golang.org/x/sys/windows/aliases.go +12 -0
  967. slidge_whatsapp/vendor/golang.org/x/sys/windows/dll_windows.go +415 -0
  968. slidge_whatsapp/vendor/golang.org/x/sys/windows/env_windows.go +57 -0
  969. slidge_whatsapp/vendor/golang.org/x/sys/windows/eventlog.go +20 -0
  970. slidge_whatsapp/vendor/golang.org/x/sys/windows/exec_windows.go +248 -0
  971. slidge_whatsapp/vendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  972. slidge_whatsapp/vendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  973. slidge_whatsapp/vendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  974. slidge_whatsapp/vendor/golang.org/x/sys/windows/mksyscall.go +9 -0
  975. slidge_whatsapp/vendor/golang.org/x/sys/windows/race.go +30 -0
  976. slidge_whatsapp/vendor/golang.org/x/sys/windows/race0.go +25 -0
  977. slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +1458 -0
  978. slidge_whatsapp/vendor/golang.org/x/sys/windows/service.go +257 -0
  979. slidge_whatsapp/vendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  980. slidge_whatsapp/vendor/golang.org/x/sys/windows/str.go +22 -0
  981. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall.go +104 -0
  982. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +1932 -0
  983. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +3603 -0
  984. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  985. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  986. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  987. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  988. slidge_whatsapp/vendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  989. slidge_whatsapp/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  990. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +4686 -0
  991. slidge_whatsapp/vendor/google.golang.org/protobuf/LICENSE +27 -0
  992. slidge_whatsapp/vendor/google.golang.org/protobuf/PATENTS +22 -0
  993. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +767 -0
  994. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +7 -0
  995. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +380 -0
  996. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +547 -0
  997. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +414 -0
  998. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/descopts/options.go +29 -0
  999. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/detrand/rand.go +69 -0
  1000. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go +12 -0
  1001. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  1002. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +213 -0
  1003. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +242 -0
  1004. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +201 -0
  1005. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +686 -0
  1006. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +211 -0
  1007. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +161 -0
  1008. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +373 -0
  1009. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +29 -0
  1010. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +272 -0
  1011. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/errors/errors.go +104 -0
  1012. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/build.go +157 -0
  1013. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +748 -0
  1014. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +560 -0
  1015. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +694 -0
  1016. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +457 -0
  1017. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +367 -0
  1018. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +164 -0
  1019. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +110 -0
  1020. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filetype/build.go +296 -0
  1021. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/flags.go +24 -0
  1022. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +10 -0
  1023. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +10 -0
  1024. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +34 -0
  1025. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +106 -0
  1026. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +1270 -0
  1027. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/doc.go +11 -0
  1028. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +34 -0
  1029. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +19 -0
  1030. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +31 -0
  1031. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go +70 -0
  1032. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/goname.go +20 -0
  1033. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +16 -0
  1034. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/name.go +12 -0
  1035. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +31 -0
  1036. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +121 -0
  1037. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +34 -0
  1038. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +228 -0
  1039. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +13 -0
  1040. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +175 -0
  1041. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/api_export.go +177 -0
  1042. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/api_export_opaque.go +128 -0
  1043. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/bitmap.go +34 -0
  1044. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/bitmap_race.go +126 -0
  1045. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +174 -0
  1046. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +228 -0
  1047. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +788 -0
  1048. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_field_opaque.go +264 -0
  1049. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +5724 -0
  1050. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +399 -0
  1051. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +230 -0
  1052. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +153 -0
  1053. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +145 -0
  1054. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +557 -0
  1055. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +15 -0
  1056. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert.go +495 -0
  1057. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +141 -0
  1058. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +121 -0
  1059. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/decode.go +333 -0
  1060. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/encode.go +315 -0
  1061. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/enum.go +21 -0
  1062. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/equal.go +224 -0
  1063. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/extension.go +156 -0
  1064. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/lazy.go +433 -0
  1065. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +219 -0
  1066. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +92 -0
  1067. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +177 -0
  1068. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +81 -0
  1069. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +569 -0
  1070. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/merge.go +203 -0
  1071. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +209 -0
  1072. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message.go +283 -0
  1073. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +627 -0
  1074. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque_gen.go +132 -0
  1075. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +462 -0
  1076. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +423 -0
  1077. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field_gen.go +273 -0
  1078. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +271 -0
  1079. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +220 -0
  1080. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe_opaque.go +42 -0
  1081. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +142 -0
  1082. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/validate.go +570 -0
  1083. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/order/order.go +89 -0
  1084. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/order/range.go +115 -0
  1085. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +29 -0
  1086. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/bufferreader.go +364 -0
  1087. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/lazy.go +359 -0
  1088. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/pointer_unsafe.go +17 -0
  1089. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/set/ints.go +58 -0
  1090. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings.go +196 -0
  1091. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +94 -0
  1092. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go +73 -0
  1093. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +79 -0
  1094. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/checkinit.go +71 -0
  1095. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/decode.go +307 -0
  1096. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/decode_gen.go +603 -0
  1097. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/doc.go +86 -0
  1098. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/encode.go +355 -0
  1099. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/encode_gen.go +97 -0
  1100. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/equal.go +66 -0
  1101. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/extension.go +166 -0
  1102. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +139 -0
  1103. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/messageset.go +98 -0
  1104. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto.go +45 -0
  1105. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto_methods.go +20 -0
  1106. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto_reflect.go +20 -0
  1107. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/reset.go +43 -0
  1108. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/size.go +111 -0
  1109. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/size_gen.go +55 -0
  1110. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/wrapperopaque.go +80 -0
  1111. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/wrappers.go +29 -0
  1112. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +88 -0
  1113. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +513 -0
  1114. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +129 -0
  1115. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +573 -0
  1116. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +666 -0
  1117. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +285 -0
  1118. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go +168 -0
  1119. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +438 -0
  1120. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +98 -0
  1121. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go +86 -0
  1122. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +882 -0
  1123. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +15 -0
  1124. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +202 -0
  1125. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +48 -0
  1126. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +60 -0
  1127. slidge_whatsapp/vendor/modules.txt +173 -0
  1128. slidge_whatsapp-0.2.5.dist-info/METADATA +63 -0
  1129. slidge_whatsapp-0.2.5.dist-info/RECORD +1140 -0
  1130. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.5.dist-info}/WHEEL +1 -1
  1131. slidge_whatsapp-0.2.2.dist-info/METADATA +0 -744
  1132. slidge_whatsapp-0.2.2.dist-info/RECORD +0 -31
  1133. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.5.dist-info}/LICENSE +0 -0
  1134. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.5.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,1128 @@
1
+ // Copyright (c) 2022 Tulir Asokan
2
+ //
3
+ // This Source Code Form is subject to the terms of the Mozilla Public
4
+ // License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+
7
+ package whatsmeow
8
+
9
+ import (
10
+ "context"
11
+ "crypto/sha256"
12
+ "encoding/base64"
13
+ "encoding/binary"
14
+ "encoding/hex"
15
+ "errors"
16
+ "fmt"
17
+ "sort"
18
+ "strconv"
19
+ "strings"
20
+ "time"
21
+
22
+ "github.com/rs/zerolog"
23
+ "go.mau.fi/libsignal/groups"
24
+ "go.mau.fi/libsignal/keys/prekey"
25
+ "go.mau.fi/libsignal/protocol"
26
+ "go.mau.fi/libsignal/session"
27
+ "go.mau.fi/libsignal/signalerror"
28
+ "go.mau.fi/util/random"
29
+ "google.golang.org/protobuf/proto"
30
+
31
+ waBinary "go.mau.fi/whatsmeow/binary"
32
+ "go.mau.fi/whatsmeow/proto/waCommon"
33
+ "go.mau.fi/whatsmeow/proto/waE2E"
34
+ "go.mau.fi/whatsmeow/types"
35
+ "go.mau.fi/whatsmeow/types/events"
36
+ )
37
+
38
+ // GenerateMessageID generates a random string that can be used as a message ID on WhatsApp.
39
+ //
40
+ // msgID := cli.GenerateMessageID()
41
+ // cli.SendMessage(context.Background(), targetJID, &waE2E.Message{...}, whatsmeow.SendRequestExtra{ID: msgID})
42
+ func (cli *Client) GenerateMessageID() types.MessageID {
43
+ if cli != nil && cli.MessengerConfig != nil {
44
+ return types.MessageID(strconv.FormatInt(GenerateFacebookMessageID(), 10))
45
+ }
46
+ data := make([]byte, 8, 8+20+16)
47
+ binary.BigEndian.PutUint64(data, uint64(time.Now().Unix()))
48
+ ownID := cli.getOwnID()
49
+ if !ownID.IsEmpty() {
50
+ data = append(data, []byte(ownID.User)...)
51
+ data = append(data, []byte("@c.us")...)
52
+ }
53
+ data = append(data, random.Bytes(16)...)
54
+ hash := sha256.Sum256(data)
55
+ return "3EB0" + strings.ToUpper(hex.EncodeToString(hash[:9]))
56
+ }
57
+
58
+ func GenerateFacebookMessageID() int64 {
59
+ const randomMask = (1 << 22) - 1
60
+ return (time.Now().UnixMilli() << 22) | (int64(binary.BigEndian.Uint32(random.Bytes(4))) & randomMask)
61
+ }
62
+
63
+ // GenerateMessageID generates a random string that can be used as a message ID on WhatsApp.
64
+ //
65
+ // msgID := whatsmeow.GenerateMessageID()
66
+ // cli.SendMessage(context.Background(), targetJID, &waE2E.Message{...}, whatsmeow.SendRequestExtra{ID: msgID})
67
+ //
68
+ // Deprecated: WhatsApp web has switched to using a hash of the current timestamp, user id and random bytes. Use Client.GenerateMessageID instead.
69
+ func GenerateMessageID() types.MessageID {
70
+ return "3EB0" + strings.ToUpper(hex.EncodeToString(random.Bytes(8)))
71
+ }
72
+
73
+ type MessageDebugTimings struct {
74
+ Queue time.Duration
75
+
76
+ Marshal time.Duration
77
+ GetParticipants time.Duration
78
+ GetDevices time.Duration
79
+ GroupEncrypt time.Duration
80
+ PeerEncrypt time.Duration
81
+
82
+ Send time.Duration
83
+ Resp time.Duration
84
+ Retry time.Duration
85
+ }
86
+
87
+ func (mdt MessageDebugTimings) MarshalZerologObject(evt *zerolog.Event) {
88
+ evt.Dur("queue", mdt.Queue)
89
+ evt.Dur("marshal", mdt.Marshal)
90
+ if mdt.GetParticipants != 0 {
91
+ evt.Dur("get_participants", mdt.GetParticipants)
92
+ }
93
+ evt.Dur("get_devices", mdt.GetDevices)
94
+ if mdt.GroupEncrypt != 0 {
95
+ evt.Dur("group_encrypt", mdt.GroupEncrypt)
96
+ }
97
+ evt.Dur("peer_encrypt", mdt.PeerEncrypt)
98
+ evt.Dur("send", mdt.Send)
99
+ evt.Dur("resp", mdt.Resp)
100
+ if mdt.Retry != 0 {
101
+ evt.Dur("retry", mdt.Retry)
102
+ }
103
+ }
104
+
105
+ type SendResponse struct {
106
+ // The message timestamp returned by the server
107
+ Timestamp time.Time
108
+
109
+ // The ID of the sent message
110
+ ID types.MessageID
111
+
112
+ // The server-specified ID of the sent message. Only present for newsletter messages.
113
+ ServerID types.MessageServerID
114
+
115
+ // Message handling duration, used for debugging
116
+ DebugTimings MessageDebugTimings
117
+ }
118
+
119
+ // SendRequestExtra contains the optional parameters for SendMessage.
120
+ //
121
+ // By default, optional parameters don't have to be provided at all, e.g.
122
+ //
123
+ // cli.SendMessage(ctx, to, message)
124
+ //
125
+ // When providing optional parameters, add a single instance of this struct as the last parameter:
126
+ //
127
+ // cli.SendMessage(ctx, to, message, whatsmeow.SendRequestExtra{...})
128
+ //
129
+ // Trying to add multiple extra parameters will return an error.
130
+ type SendRequestExtra struct {
131
+ // The message ID to use when sending. If this is not provided, a random message ID will be generated
132
+ ID types.MessageID
133
+ // JID of the bot to be invoked (optional)
134
+ InlineBotJID types.JID
135
+ // Should the message be sent as a peer message (protocol messages to your own devices, e.g. app state key requests)
136
+ Peer bool
137
+ // A timeout for the send request. Unlike timeouts using the context parameter, this only applies
138
+ // to the actual response waiting and not preparing/encrypting the message.
139
+ // Defaults to 75 seconds. The timeout can be disabled by using a negative value.
140
+ Timeout time.Duration
141
+ // When sending media to newsletters, the Handle field returned by the file upload.
142
+ MediaHandle string
143
+ }
144
+
145
+ // SendMessage sends the given message.
146
+ //
147
+ // This method will wait for the server to acknowledge the message before returning.
148
+ // The return value is the timestamp of the message from the server.
149
+ //
150
+ // Optional parameters like the message ID can be specified with the SendRequestExtra struct.
151
+ // Only one extra parameter is allowed, put all necessary parameters in the same struct.
152
+ //
153
+ // The message itself can contain anything you want (within the protobuf schema).
154
+ // e.g. for a simple text message, use the Conversation field:
155
+ //
156
+ // cli.SendMessage(context.Background(), targetJID, &waE2E.Message{
157
+ // Conversation: proto.String("Hello, World!"),
158
+ // })
159
+ //
160
+ // Things like replies, mentioning users and the "forwarded" flag are stored in ContextInfo,
161
+ // which can be put in ExtendedTextMessage and any of the media message types.
162
+ //
163
+ // For uploading and sending media/attachments, see the Upload method.
164
+ //
165
+ // For other message types, you'll have to figure it out yourself. Looking at the protobuf schema
166
+ // in binary/proto/def.proto may be useful to find out all the allowed fields. Printing the RawMessage
167
+ // field in incoming message events to figure out what it contains is also a good way to learn how to
168
+ // send the same kind of message.
169
+ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E.Message, extra ...SendRequestExtra) (resp SendResponse, err error) {
170
+ if cli == nil {
171
+ err = ErrClientIsNil
172
+ return
173
+ }
174
+ var req SendRequestExtra
175
+ if len(extra) > 1 {
176
+ err = errors.New("only one extra parameter may be provided to SendMessage")
177
+ return
178
+ } else if len(extra) == 1 {
179
+ req = extra[0]
180
+ }
181
+ if to.Device > 0 && !req.Peer {
182
+ err = ErrRecipientADJID
183
+ return
184
+ }
185
+ ownID := cli.getOwnID()
186
+ if ownID.IsEmpty() {
187
+ err = ErrNotLoggedIn
188
+ return
189
+ }
190
+
191
+ if req.Timeout == 0 {
192
+ req.Timeout = defaultRequestTimeout
193
+ }
194
+ if len(req.ID) == 0 {
195
+ req.ID = cli.GenerateMessageID()
196
+ }
197
+ if to.Server == types.NewsletterServer {
198
+ // TODO somehow deduplicate this with the code in sendNewsletter?
199
+ if message.EditedMessage != nil {
200
+ req.ID = types.MessageID(message.GetEditedMessage().GetMessage().GetProtocolMessage().GetKey().GetID())
201
+ } else if message.ProtocolMessage != nil && message.ProtocolMessage.GetType() == waE2E.ProtocolMessage_REVOKE {
202
+ req.ID = types.MessageID(message.GetProtocolMessage().GetKey().GetID())
203
+ }
204
+ }
205
+ resp.ID = req.ID
206
+
207
+ isInlineBotMode := false
208
+
209
+ if !req.InlineBotJID.IsEmpty() {
210
+ if !req.InlineBotJID.IsBot() {
211
+ err = ErrInvalidInlineBotID
212
+ return
213
+ }
214
+ isInlineBotMode = true
215
+ }
216
+
217
+ isBotMode := isInlineBotMode || to.IsBot()
218
+ var botNode *waBinary.Node
219
+
220
+ if isBotMode {
221
+ if message.MessageContextInfo == nil {
222
+ message.MessageContextInfo = &waE2E.MessageContextInfo{}
223
+ }
224
+
225
+ if message.MessageContextInfo.MessageSecret == nil {
226
+ message.MessageContextInfo.MessageSecret = random.Bytes(32)
227
+ }
228
+
229
+ if message.MessageContextInfo.BotMetadata == nil {
230
+ message.MessageContextInfo.BotMetadata = &waE2E.BotMetadata{
231
+ PersonaID: proto.String("867051314767696$760019659443059"),
232
+ }
233
+ }
234
+
235
+ if isInlineBotMode {
236
+ // inline mode specific code
237
+ messageSecret := message.GetMessageContextInfo().GetMessageSecret()
238
+ message = &waE2E.Message{
239
+ BotInvokeMessage: &waE2E.FutureProofMessage{
240
+ Message: &waE2E.Message{
241
+ ExtendedTextMessage: message.ExtendedTextMessage,
242
+ MessageContextInfo: &waE2E.MessageContextInfo{
243
+ BotMetadata: message.MessageContextInfo.BotMetadata,
244
+ },
245
+ },
246
+ },
247
+ MessageContextInfo: message.MessageContextInfo,
248
+ }
249
+
250
+ botMessage := &waE2E.Message{
251
+ BotInvokeMessage: message.BotInvokeMessage,
252
+ MessageContextInfo: &waE2E.MessageContextInfo{
253
+ BotMetadata: message.MessageContextInfo.BotMetadata,
254
+ BotMessageSecret: applyBotMessageHKDF(messageSecret),
255
+ },
256
+ }
257
+
258
+ messagePlaintext, _, marshalErr := marshalMessage(req.InlineBotJID, botMessage)
259
+ if marshalErr != nil {
260
+ err = marshalErr
261
+ return
262
+ }
263
+
264
+ participantNodes, _ := cli.encryptMessageForDevices(ctx, []types.JID{req.InlineBotJID}, ownID, resp.ID, messagePlaintext, nil, waBinary.Attrs{})
265
+ botNode = &waBinary.Node{
266
+ Tag: "bot",
267
+ Attrs: nil,
268
+ Content: participantNodes,
269
+ }
270
+ }
271
+ }
272
+
273
+ start := time.Now()
274
+ // Sending multiple messages at a time can cause weird issues and makes it harder to retry safely
275
+ cli.messageSendLock.Lock()
276
+ resp.DebugTimings.Queue = time.Since(start)
277
+ defer cli.messageSendLock.Unlock()
278
+
279
+ respChan := cli.waitResponse(req.ID)
280
+ // Peer message retries aren't implemented yet
281
+ if !req.Peer {
282
+ cli.addRecentMessage(to, req.ID, message, nil)
283
+ }
284
+
285
+ if message.GetMessageContextInfo().GetMessageSecret() != nil {
286
+ err = cli.Store.MsgSecrets.PutMessageSecret(to, ownID, req.ID, message.GetMessageContextInfo().GetMessageSecret())
287
+ if err != nil {
288
+ cli.Log.Warnf("Failed to store message secret key for outgoing message %s: %v", req.ID, err)
289
+ } else {
290
+ cli.Log.Debugf("Stored message secret key for outgoing message %s", req.ID)
291
+ }
292
+ }
293
+ var phash string
294
+ var data []byte
295
+ switch to.Server {
296
+ case types.GroupServer, types.BroadcastServer:
297
+ phash, data, err = cli.sendGroup(ctx, to, ownID, req.ID, message, &resp.DebugTimings, botNode)
298
+ case types.DefaultUserServer:
299
+ if req.Peer {
300
+ data, err = cli.sendPeerMessage(to, req.ID, message, &resp.DebugTimings)
301
+ } else {
302
+ data, err = cli.sendDM(ctx, to, ownID, req.ID, message, &resp.DebugTimings, botNode)
303
+ }
304
+ case types.NewsletterServer:
305
+ data, err = cli.sendNewsletter(to, req.ID, message, req.MediaHandle, &resp.DebugTimings)
306
+ default:
307
+ err = fmt.Errorf("%w %s", ErrUnknownServer, to.Server)
308
+ }
309
+ start = time.Now()
310
+ if err != nil {
311
+ cli.cancelResponse(req.ID, respChan)
312
+ return
313
+ }
314
+ var respNode *waBinary.Node
315
+ var timeoutChan <-chan time.Time
316
+ if req.Timeout > 0 {
317
+ timeoutChan = time.After(req.Timeout)
318
+ } else {
319
+ timeoutChan = make(<-chan time.Time)
320
+ }
321
+ select {
322
+ case respNode = <-respChan:
323
+ case <-timeoutChan:
324
+ cli.cancelResponse(req.ID, respChan)
325
+ err = ErrMessageTimedOut
326
+ return
327
+ case <-ctx.Done():
328
+ cli.cancelResponse(req.ID, respChan)
329
+ err = ctx.Err()
330
+ return
331
+ }
332
+ resp.DebugTimings.Resp = time.Since(start)
333
+ if isDisconnectNode(respNode) {
334
+ start = time.Now()
335
+ respNode, err = cli.retryFrame("message send", req.ID, data, respNode, ctx, 0)
336
+ resp.DebugTimings.Retry = time.Since(start)
337
+ if err != nil {
338
+ return
339
+ }
340
+ }
341
+ ag := respNode.AttrGetter()
342
+ resp.ServerID = types.MessageServerID(ag.OptionalInt("server_id"))
343
+ resp.Timestamp = ag.UnixTime("t")
344
+ if errorCode := ag.Int("error"); errorCode != 0 {
345
+ err = fmt.Errorf("%w %d", ErrServerReturnedError, errorCode)
346
+ }
347
+ expectedPHash := ag.OptionalString("phash")
348
+ if len(expectedPHash) > 0 && phash != expectedPHash {
349
+ cli.Log.Warnf("Server returned different participant list hash when sending to %s. Some devices may not have received the message.", to)
350
+ // TODO also invalidate device list caches
351
+ cli.groupParticipantsCacheLock.Lock()
352
+ delete(cli.groupParticipantsCache, to)
353
+ cli.groupParticipantsCacheLock.Unlock()
354
+ }
355
+ return
356
+ }
357
+
358
+ // RevokeMessage deletes the given message from everyone in the chat.
359
+ //
360
+ // This method will wait for the server to acknowledge the revocation message before returning.
361
+ // The return value is the timestamp of the message from the server.
362
+ //
363
+ // Deprecated: This method is deprecated in favor of BuildRevoke
364
+ func (cli *Client) RevokeMessage(chat types.JID, id types.MessageID) (SendResponse, error) {
365
+ return cli.SendMessage(context.TODO(), chat, cli.BuildRevoke(chat, types.EmptyJID, id))
366
+ }
367
+
368
+ // BuildMessageKey builds a MessageKey object, which is used to refer to previous messages
369
+ // for things such as replies, revocations and reactions.
370
+ func (cli *Client) BuildMessageKey(chat, sender types.JID, id types.MessageID) *waCommon.MessageKey {
371
+ key := &waCommon.MessageKey{
372
+ FromMe: proto.Bool(true),
373
+ ID: proto.String(id),
374
+ RemoteJID: proto.String(chat.String()),
375
+ }
376
+ if !sender.IsEmpty() && sender.User != cli.getOwnID().User {
377
+ key.FromMe = proto.Bool(false)
378
+ if chat.Server != types.DefaultUserServer && chat.Server != types.MessengerServer {
379
+ key.Participant = proto.String(sender.ToNonAD().String())
380
+ }
381
+ }
382
+ return key
383
+ }
384
+
385
+ // BuildRevoke builds a message revocation message using the given variables.
386
+ // The built message can be sent normally using Client.SendMessage.
387
+ //
388
+ // To revoke your own messages, pass your JID or an empty JID as the second parameter (sender).
389
+ //
390
+ // resp, err := cli.SendMessage(context.Background(), chat, cli.BuildRevoke(chat, types.EmptyJID, originalMessageID)
391
+ //
392
+ // To revoke someone else's messages when you are group admin, pass the message sender's JID as the second parameter.
393
+ //
394
+ // resp, err := cli.SendMessage(context.Background(), chat, cli.BuildRevoke(chat, senderJID, originalMessageID)
395
+ func (cli *Client) BuildRevoke(chat, sender types.JID, id types.MessageID) *waE2E.Message {
396
+ return &waE2E.Message{
397
+ ProtocolMessage: &waE2E.ProtocolMessage{
398
+ Type: waE2E.ProtocolMessage_REVOKE.Enum(),
399
+ Key: cli.BuildMessageKey(chat, sender, id),
400
+ },
401
+ }
402
+ }
403
+
404
+ // BuildReaction builds a message reaction message using the given variables.
405
+ // The built message can be sent normally using Client.SendMessage.
406
+ //
407
+ // resp, err := cli.SendMessage(context.Background(), chat, cli.BuildReaction(chat, senderJID, targetMessageID, "🐈️")
408
+ //
409
+ // Note that for newsletter messages, you need to use NewsletterSendReaction instead of BuildReaction + SendMessage.
410
+ func (cli *Client) BuildReaction(chat, sender types.JID, id types.MessageID, reaction string) *waE2E.Message {
411
+ return &waE2E.Message{
412
+ ReactionMessage: &waE2E.ReactionMessage{
413
+ Key: cli.BuildMessageKey(chat, sender, id),
414
+ Text: proto.String(reaction),
415
+ SenderTimestampMS: proto.Int64(time.Now().UnixMilli()),
416
+ },
417
+ }
418
+ }
419
+
420
+ // BuildUnavailableMessageRequest builds a message to request the user's primary device to send
421
+ // the copy of a message that this client was unable to decrypt.
422
+ //
423
+ // The built message can be sent using Client.SendMessage, but you must pass whatsmeow.SendRequestExtra{Peer: true} as the last parameter.
424
+ // The full response will come as a ProtocolMessage with type `PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE`.
425
+ // The response events will also be dispatched as normal *events.Message's with UnavailableRequestID set to the request message ID.
426
+ func (cli *Client) BuildUnavailableMessageRequest(chat, sender types.JID, id string) *waE2E.Message {
427
+ return &waE2E.Message{
428
+ ProtocolMessage: &waE2E.ProtocolMessage{
429
+ Type: waE2E.ProtocolMessage_PEER_DATA_OPERATION_REQUEST_MESSAGE.Enum(),
430
+ PeerDataOperationRequestMessage: &waE2E.PeerDataOperationRequestMessage{
431
+ PeerDataOperationRequestType: waE2E.PeerDataOperationRequestType_PLACEHOLDER_MESSAGE_RESEND.Enum(),
432
+ PlaceholderMessageResendRequest: []*waE2E.PeerDataOperationRequestMessage_PlaceholderMessageResendRequest{{
433
+ MessageKey: cli.BuildMessageKey(chat, sender, id),
434
+ }},
435
+ },
436
+ },
437
+ }
438
+ }
439
+
440
+ // BuildHistorySyncRequest builds a message to request additional history from the user's primary device.
441
+ //
442
+ // The built message can be sent using Client.SendMessage, but you must pass whatsmeow.SendRequestExtra{Peer: true} as the last parameter.
443
+ // The response will come as an *events.HistorySync with type `ON_DEMAND`.
444
+ //
445
+ // The response will contain to `count` messages immediately before the given message.
446
+ // The recommended number of messages to request at a time is 50.
447
+ func (cli *Client) BuildHistorySyncRequest(lastKnownMessageInfo *types.MessageInfo, count int) *waE2E.Message {
448
+ return &waE2E.Message{
449
+ ProtocolMessage: &waE2E.ProtocolMessage{
450
+ Type: waE2E.ProtocolMessage_PEER_DATA_OPERATION_REQUEST_MESSAGE.Enum(),
451
+ PeerDataOperationRequestMessage: &waE2E.PeerDataOperationRequestMessage{
452
+ PeerDataOperationRequestType: waE2E.PeerDataOperationRequestType_HISTORY_SYNC_ON_DEMAND.Enum(),
453
+ HistorySyncOnDemandRequest: &waE2E.PeerDataOperationRequestMessage_HistorySyncOnDemandRequest{
454
+ ChatJID: proto.String(lastKnownMessageInfo.Chat.String()),
455
+ OldestMsgID: proto.String(lastKnownMessageInfo.ID),
456
+ OldestMsgFromMe: proto.Bool(lastKnownMessageInfo.IsFromMe),
457
+ OnDemandMsgCount: proto.Int32(int32(count)),
458
+ OldestMsgTimestampMS: proto.Int64(lastKnownMessageInfo.Timestamp.UnixMilli()),
459
+ },
460
+ },
461
+ },
462
+ }
463
+ }
464
+
465
+ // EditWindow specifies how long a message can be edited for after it was sent.
466
+ const EditWindow = 20 * time.Minute
467
+
468
+ // BuildEdit builds a message edit message using the given variables.
469
+ // The built message can be sent normally using Client.SendMessage.
470
+ //
471
+ // resp, err := cli.SendMessage(context.Background(), chat, cli.BuildEdit(chat, originalMessageID, &waE2E.Message{
472
+ // Conversation: proto.String("edited message"),
473
+ // })
474
+ func (cli *Client) BuildEdit(chat types.JID, id types.MessageID, newContent *waE2E.Message) *waE2E.Message {
475
+ return &waE2E.Message{
476
+ EditedMessage: &waE2E.FutureProofMessage{
477
+ Message: &waE2E.Message{
478
+ ProtocolMessage: &waE2E.ProtocolMessage{
479
+ Key: &waCommon.MessageKey{
480
+ FromMe: proto.Bool(true),
481
+ ID: proto.String(id),
482
+ RemoteJID: proto.String(chat.String()),
483
+ },
484
+ Type: waE2E.ProtocolMessage_MESSAGE_EDIT.Enum(),
485
+ EditedMessage: newContent,
486
+ TimestampMS: proto.Int64(time.Now().UnixMilli()),
487
+ },
488
+ },
489
+ },
490
+ }
491
+ }
492
+
493
+ const (
494
+ DisappearingTimerOff = time.Duration(0)
495
+ DisappearingTimer24Hours = 24 * time.Hour
496
+ DisappearingTimer7Days = 7 * 24 * time.Hour
497
+ DisappearingTimer90Days = 90 * 24 * time.Hour
498
+ )
499
+
500
+ // ParseDisappearingTimerString parses common human-readable disappearing message timer strings into Duration values.
501
+ // If the string doesn't look like one of the allowed values (0, 24h, 7d, 90d), the second return value is false.
502
+ func ParseDisappearingTimerString(val string) (time.Duration, bool) {
503
+ switch strings.ReplaceAll(strings.ToLower(val), " ", "") {
504
+ case "0d", "0h", "0s", "0", "off":
505
+ return DisappearingTimerOff, true
506
+ case "1day", "day", "1d", "1", "24h", "24", "86400s", "86400":
507
+ return DisappearingTimer24Hours, true
508
+ case "1week", "week", "7d", "7", "168h", "168", "604800s", "604800":
509
+ return DisappearingTimer7Days, true
510
+ case "3months", "3m", "3mo", "90d", "90", "2160h", "2160", "7776000s", "7776000":
511
+ return DisappearingTimer90Days, true
512
+ default:
513
+ return 0, false
514
+ }
515
+ }
516
+
517
+ // SetDisappearingTimer sets the disappearing timer in a chat. Both private chats and groups are supported, but they're
518
+ // set with different methods.
519
+ //
520
+ // Note that while this function allows passing non-standard durations, official WhatsApp apps will ignore those,
521
+ // and in groups the server will just reject the change. You can use the DisappearingTimer<Duration> constants for convenience.
522
+ //
523
+ // In groups, the server will echo the change as a notification, so it'll show up as a *events.GroupInfo update.
524
+ func (cli *Client) SetDisappearingTimer(chat types.JID, timer time.Duration) (err error) {
525
+ switch chat.Server {
526
+ case types.DefaultUserServer:
527
+ _, err = cli.SendMessage(context.TODO(), chat, &waE2E.Message{
528
+ ProtocolMessage: &waE2E.ProtocolMessage{
529
+ Type: waE2E.ProtocolMessage_EPHEMERAL_SETTING.Enum(),
530
+ EphemeralExpiration: proto.Uint32(uint32(timer.Seconds())),
531
+ },
532
+ })
533
+ case types.GroupServer:
534
+ if timer == 0 {
535
+ _, err = cli.sendGroupIQ(context.TODO(), iqSet, chat, waBinary.Node{Tag: "not_ephemeral"})
536
+ } else {
537
+ _, err = cli.sendGroupIQ(context.TODO(), iqSet, chat, waBinary.Node{
538
+ Tag: "ephemeral",
539
+ Attrs: waBinary.Attrs{
540
+ "expiration": strconv.Itoa(int(timer.Seconds())),
541
+ },
542
+ })
543
+ if errors.Is(err, ErrIQBadRequest) {
544
+ err = wrapIQError(ErrInvalidDisappearingTimer, err)
545
+ }
546
+ }
547
+ default:
548
+ err = fmt.Errorf("can't set disappearing time in a %s chat", chat.Server)
549
+ }
550
+ return
551
+ }
552
+
553
+ func participantListHashV2(participants []types.JID) string {
554
+ participantsStrings := make([]string, len(participants))
555
+ for i, part := range participants {
556
+ participantsStrings[i] = part.ADString()
557
+ }
558
+
559
+ sort.Strings(participantsStrings)
560
+ hash := sha256.Sum256([]byte(strings.Join(participantsStrings, "")))
561
+ return fmt.Sprintf("2:%s", base64.RawStdEncoding.EncodeToString(hash[:6]))
562
+ }
563
+
564
+ func (cli *Client) sendNewsletter(to types.JID, id types.MessageID, message *waE2E.Message, mediaID string, timings *MessageDebugTimings) ([]byte, error) {
565
+ attrs := waBinary.Attrs{
566
+ "to": to,
567
+ "id": id,
568
+ "type": getTypeFromMessage(message),
569
+ }
570
+ if mediaID != "" {
571
+ attrs["media_id"] = mediaID
572
+ }
573
+ if message.EditedMessage != nil {
574
+ attrs["edit"] = string(types.EditAttributeAdminEdit)
575
+ message = message.GetEditedMessage().GetMessage().GetProtocolMessage().GetEditedMessage()
576
+ } else if message.ProtocolMessage != nil && message.ProtocolMessage.GetType() == waE2E.ProtocolMessage_REVOKE {
577
+ attrs["edit"] = string(types.EditAttributeAdminRevoke)
578
+ message = nil
579
+ }
580
+ start := time.Now()
581
+ plaintext, _, err := marshalMessage(to, message)
582
+ timings.Marshal = time.Since(start)
583
+ if err != nil {
584
+ return nil, err
585
+ }
586
+ plaintextNode := waBinary.Node{
587
+ Tag: "plaintext",
588
+ Content: plaintext,
589
+ Attrs: waBinary.Attrs{},
590
+ }
591
+ if mediaType := getMediaTypeFromMessage(message); mediaType != "" {
592
+ plaintextNode.Attrs["mediatype"] = mediaType
593
+ }
594
+ node := waBinary.Node{
595
+ Tag: "message",
596
+ Attrs: attrs,
597
+ Content: []waBinary.Node{plaintextNode},
598
+ }
599
+ start = time.Now()
600
+ data, err := cli.sendNodeAndGetData(node)
601
+ timings.Send = time.Since(start)
602
+ if err != nil {
603
+ return nil, fmt.Errorf("failed to send message node: %w", err)
604
+ }
605
+ return data, nil
606
+ }
607
+
608
+ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, botNode *waBinary.Node) (string, []byte, error) {
609
+ var participants []types.JID
610
+ var err error
611
+ start := time.Now()
612
+ if to.Server == types.GroupServer {
613
+ participants, err = cli.getGroupMembers(ctx, to)
614
+ if err != nil {
615
+ return "", nil, fmt.Errorf("failed to get group members: %w", err)
616
+ }
617
+ } else {
618
+ // TODO use context
619
+ participants, err = cli.getBroadcastListParticipants(to)
620
+ if err != nil {
621
+ return "", nil, fmt.Errorf("failed to get broadcast list members: %w", err)
622
+ }
623
+ }
624
+ timings.GetParticipants = time.Since(start)
625
+ start = time.Now()
626
+ plaintext, _, err := marshalMessage(to, message)
627
+ timings.Marshal = time.Since(start)
628
+ if err != nil {
629
+ return "", nil, err
630
+ }
631
+
632
+ start = time.Now()
633
+ builder := groups.NewGroupSessionBuilder(cli.Store, pbSerializer)
634
+ senderKeyName := protocol.NewSenderKeyName(to.String(), ownID.SignalAddress())
635
+ signalSKDMessage, err := builder.Create(senderKeyName)
636
+ if err != nil {
637
+ return "", nil, fmt.Errorf("failed to create sender key distribution message to send %s to %s: %w", id, to, err)
638
+ }
639
+ skdMessage := &waE2E.Message{
640
+ SenderKeyDistributionMessage: &waE2E.SenderKeyDistributionMessage{
641
+ GroupID: proto.String(to.String()),
642
+ AxolotlSenderKeyDistributionMessage: signalSKDMessage.Serialize(),
643
+ },
644
+ }
645
+ skdPlaintext, err := proto.Marshal(skdMessage)
646
+ if err != nil {
647
+ return "", nil, fmt.Errorf("failed to marshal sender key distribution message to send %s to %s: %w", id, to, err)
648
+ }
649
+
650
+ cipher := groups.NewGroupCipher(builder, senderKeyName, cli.Store)
651
+ encrypted, err := cipher.Encrypt(padMessage(plaintext))
652
+ if err != nil {
653
+ return "", nil, fmt.Errorf("failed to encrypt group message to send %s to %s: %w", id, to, err)
654
+ }
655
+ ciphertext := encrypted.SignedSerialize()
656
+ timings.GroupEncrypt = time.Since(start)
657
+
658
+ node, allDevices, err := cli.prepareMessageNode(ctx, to, ownID, id, message, participants, skdPlaintext, nil, timings, botNode)
659
+ if err != nil {
660
+ return "", nil, err
661
+ }
662
+
663
+ phash := participantListHashV2(allDevices)
664
+ node.Attrs["phash"] = phash
665
+ skMsg := waBinary.Node{
666
+ Tag: "enc",
667
+ Content: ciphertext,
668
+ Attrs: waBinary.Attrs{"v": "2", "type": "skmsg"},
669
+ }
670
+ if mediaType := getMediaTypeFromMessage(message); mediaType != "" {
671
+ skMsg.Attrs["mediatype"] = mediaType
672
+ }
673
+ node.Content = append(node.GetChildren(), skMsg)
674
+
675
+ start = time.Now()
676
+ data, err := cli.sendNodeAndGetData(*node)
677
+ timings.Send = time.Since(start)
678
+ if err != nil {
679
+ return "", nil, fmt.Errorf("failed to send message node: %w", err)
680
+ }
681
+ return phash, data, nil
682
+ }
683
+
684
+ func (cli *Client) sendPeerMessage(to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings) ([]byte, error) {
685
+ node, err := cli.preparePeerMessageNode(to, id, message, timings)
686
+ if err != nil {
687
+ return nil, err
688
+ }
689
+ start := time.Now()
690
+ data, err := cli.sendNodeAndGetData(*node)
691
+ timings.Send = time.Since(start)
692
+ if err != nil {
693
+ return nil, fmt.Errorf("failed to send message node: %w", err)
694
+ }
695
+ return data, nil
696
+ }
697
+
698
+ func (cli *Client) sendDM(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, botNode *waBinary.Node) ([]byte, error) {
699
+ start := time.Now()
700
+ messagePlaintext, deviceSentMessagePlaintext, err := marshalMessage(to, message)
701
+ timings.Marshal = time.Since(start)
702
+ if err != nil {
703
+ return nil, err
704
+ }
705
+
706
+ node, _, err := cli.prepareMessageNode(ctx, to, ownID, id, message, []types.JID{to, ownID.ToNonAD()}, messagePlaintext, deviceSentMessagePlaintext, timings, botNode)
707
+ if err != nil {
708
+ return nil, err
709
+ }
710
+ start = time.Now()
711
+ data, err := cli.sendNodeAndGetData(*node)
712
+ timings.Send = time.Since(start)
713
+ if err != nil {
714
+ return nil, fmt.Errorf("failed to send message node: %w", err)
715
+ }
716
+ return data, nil
717
+ }
718
+
719
+ func getTypeFromMessage(msg *waE2E.Message) string {
720
+ switch {
721
+ case msg.ViewOnceMessage != nil:
722
+ return getTypeFromMessage(msg.ViewOnceMessage.Message)
723
+ case msg.ViewOnceMessageV2 != nil:
724
+ return getTypeFromMessage(msg.ViewOnceMessageV2.Message)
725
+ case msg.ViewOnceMessageV2Extension != nil:
726
+ return getTypeFromMessage(msg.ViewOnceMessageV2Extension.Message)
727
+ case msg.LottieStickerMessage != nil:
728
+ return getTypeFromMessage(msg.LottieStickerMessage.Message)
729
+ case msg.EphemeralMessage != nil:
730
+ return getTypeFromMessage(msg.EphemeralMessage.Message)
731
+ case msg.DocumentWithCaptionMessage != nil:
732
+ return getTypeFromMessage(msg.DocumentWithCaptionMessage.Message)
733
+ case msg.ReactionMessage != nil:
734
+ return "reaction"
735
+ case msg.PollCreationMessage != nil, msg.PollUpdateMessage != nil:
736
+ return "poll"
737
+ case getMediaTypeFromMessage(msg) != "":
738
+ return "media"
739
+ case msg.Conversation != nil, msg.ExtendedTextMessage != nil, msg.ProtocolMessage != nil:
740
+ return "text"
741
+ default:
742
+ return "text"
743
+ }
744
+ }
745
+
746
+ func getMediaTypeFromMessage(msg *waE2E.Message) string {
747
+ switch {
748
+ case msg.ViewOnceMessage != nil:
749
+ return getMediaTypeFromMessage(msg.ViewOnceMessage.Message)
750
+ case msg.ViewOnceMessageV2 != nil:
751
+ return getMediaTypeFromMessage(msg.ViewOnceMessageV2.Message)
752
+ case msg.ViewOnceMessageV2Extension != nil:
753
+ return getMediaTypeFromMessage(msg.ViewOnceMessageV2Extension.Message)
754
+ case msg.LottieStickerMessage != nil:
755
+ return getMediaTypeFromMessage(msg.LottieStickerMessage.Message)
756
+ case msg.EphemeralMessage != nil:
757
+ return getMediaTypeFromMessage(msg.EphemeralMessage.Message)
758
+ case msg.DocumentWithCaptionMessage != nil:
759
+ return getMediaTypeFromMessage(msg.DocumentWithCaptionMessage.Message)
760
+ case msg.ExtendedTextMessage != nil && msg.ExtendedTextMessage.Title != nil:
761
+ return "url"
762
+ case msg.ImageMessage != nil:
763
+ return "image"
764
+ case msg.StickerMessage != nil:
765
+ return "sticker"
766
+ case msg.DocumentMessage != nil:
767
+ return "document"
768
+ case msg.AudioMessage != nil:
769
+ if msg.AudioMessage.GetPTT() {
770
+ return "ptt"
771
+ } else {
772
+ return "audio"
773
+ }
774
+ case msg.VideoMessage != nil:
775
+ if msg.VideoMessage.GetGifPlayback() {
776
+ return "gif"
777
+ } else {
778
+ return "video"
779
+ }
780
+ case msg.ContactMessage != nil:
781
+ return "vcard"
782
+ case msg.ContactsArrayMessage != nil:
783
+ return "contact_array"
784
+ case msg.ListMessage != nil:
785
+ return "list"
786
+ case msg.ListResponseMessage != nil:
787
+ return "list_response"
788
+ case msg.ButtonsResponseMessage != nil:
789
+ return "buttons_response"
790
+ case msg.OrderMessage != nil:
791
+ return "order"
792
+ case msg.ProductMessage != nil:
793
+ return "product"
794
+ case msg.InteractiveResponseMessage != nil:
795
+ return "native_flow_response"
796
+ default:
797
+ return ""
798
+ }
799
+ }
800
+
801
+ func getButtonTypeFromMessage(msg *waE2E.Message) string {
802
+ switch {
803
+ case msg.ViewOnceMessage != nil:
804
+ return getButtonTypeFromMessage(msg.ViewOnceMessage.Message)
805
+ case msg.ViewOnceMessageV2 != nil:
806
+ return getButtonTypeFromMessage(msg.ViewOnceMessageV2.Message)
807
+ case msg.EphemeralMessage != nil:
808
+ return getButtonTypeFromMessage(msg.EphemeralMessage.Message)
809
+ case msg.ButtonsMessage != nil:
810
+ return "buttons"
811
+ case msg.ButtonsResponseMessage != nil:
812
+ return "buttons_response"
813
+ case msg.ListMessage != nil:
814
+ return "list"
815
+ case msg.ListResponseMessage != nil:
816
+ return "list_response"
817
+ case msg.InteractiveResponseMessage != nil:
818
+ return "interactive_response"
819
+ default:
820
+ return ""
821
+ }
822
+ }
823
+
824
+ func getButtonAttributes(msg *waE2E.Message) waBinary.Attrs {
825
+ switch {
826
+ case msg.ViewOnceMessage != nil:
827
+ return getButtonAttributes(msg.ViewOnceMessage.Message)
828
+ case msg.ViewOnceMessageV2 != nil:
829
+ return getButtonAttributes(msg.ViewOnceMessageV2.Message)
830
+ case msg.EphemeralMessage != nil:
831
+ return getButtonAttributes(msg.EphemeralMessage.Message)
832
+ case msg.TemplateMessage != nil:
833
+ return waBinary.Attrs{}
834
+ case msg.ListMessage != nil:
835
+ return waBinary.Attrs{
836
+ "v": "2",
837
+ "type": strings.ToLower(waE2E.ListMessage_ListType_name[int32(msg.ListMessage.GetListType())]),
838
+ }
839
+ default:
840
+ return waBinary.Attrs{}
841
+ }
842
+ }
843
+
844
+ const RemoveReactionText = ""
845
+
846
+ func getEditAttribute(msg *waE2E.Message) types.EditAttribute {
847
+ switch {
848
+ case msg.EditedMessage != nil && msg.EditedMessage.Message != nil:
849
+ return getEditAttribute(msg.EditedMessage.Message)
850
+ case msg.ProtocolMessage != nil && msg.ProtocolMessage.GetKey() != nil:
851
+ switch msg.ProtocolMessage.GetType() {
852
+ case waE2E.ProtocolMessage_REVOKE:
853
+ if msg.ProtocolMessage.GetKey().GetFromMe() {
854
+ return types.EditAttributeSenderRevoke
855
+ } else {
856
+ return types.EditAttributeAdminRevoke
857
+ }
858
+ case waE2E.ProtocolMessage_MESSAGE_EDIT:
859
+ if msg.ProtocolMessage.EditedMessage != nil {
860
+ return types.EditAttributeMessageEdit
861
+ }
862
+ }
863
+ case msg.ReactionMessage != nil && msg.ReactionMessage.GetText() == RemoveReactionText:
864
+ return types.EditAttributeSenderRevoke
865
+ case msg.KeepInChatMessage != nil && msg.KeepInChatMessage.GetKey().GetFromMe() && msg.KeepInChatMessage.GetKeepType() == waE2E.KeepType_UNDO_KEEP_FOR_ALL:
866
+ return types.EditAttributeSenderRevoke
867
+ }
868
+ return types.EditAttributeEmpty
869
+ }
870
+
871
+ func (cli *Client) preparePeerMessageNode(to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings) (*waBinary.Node, error) {
872
+ attrs := waBinary.Attrs{
873
+ "id": id,
874
+ "type": "text",
875
+ "category": "peer",
876
+ "to": to,
877
+ }
878
+ if message.GetProtocolMessage().GetType() == waE2E.ProtocolMessage_APP_STATE_SYNC_KEY_REQUEST {
879
+ attrs["push_priority"] = "high"
880
+ }
881
+ start := time.Now()
882
+ plaintext, err := proto.Marshal(message)
883
+ timings.Marshal = time.Since(start)
884
+ if err != nil {
885
+ err = fmt.Errorf("failed to marshal message: %w", err)
886
+ return nil, err
887
+ }
888
+ start = time.Now()
889
+ encrypted, isPreKey, err := cli.encryptMessageForDevice(plaintext, to, nil, nil)
890
+ timings.PeerEncrypt = time.Since(start)
891
+ if err != nil {
892
+ return nil, fmt.Errorf("failed to encrypt peer message for %s: %v", to, err)
893
+ }
894
+ content := []waBinary.Node{*encrypted}
895
+ if isPreKey && cli.MessengerConfig == nil {
896
+ content = append(content, cli.makeDeviceIdentityNode())
897
+ }
898
+ return &waBinary.Node{
899
+ Tag: "message",
900
+ Attrs: attrs,
901
+ Content: content,
902
+ }, nil
903
+ }
904
+
905
+ func (cli *Client) getMessageContent(baseNode waBinary.Node, message *waE2E.Message, msgAttrs waBinary.Attrs, includeIdentity bool, botNode *waBinary.Node) []waBinary.Node {
906
+ content := []waBinary.Node{baseNode}
907
+ if includeIdentity {
908
+ content = append(content, cli.makeDeviceIdentityNode())
909
+ }
910
+ if msgAttrs["type"] == "poll" {
911
+ pollType := "creation"
912
+ if message.PollUpdateMessage != nil {
913
+ pollType = "vote"
914
+ }
915
+ content = append(content, waBinary.Node{
916
+ Tag: "meta",
917
+ Attrs: waBinary.Attrs{
918
+ "polltype": pollType,
919
+ },
920
+ })
921
+ }
922
+
923
+ if botNode != nil {
924
+ content = append(content, *botNode)
925
+ }
926
+
927
+ if buttonType := getButtonTypeFromMessage(message); buttonType != "" {
928
+ content = append(content, waBinary.Node{
929
+ Tag: "biz",
930
+ Content: []waBinary.Node{{
931
+ Tag: buttonType,
932
+ Attrs: getButtonAttributes(message),
933
+ }},
934
+ })
935
+ }
936
+ return content
937
+ }
938
+
939
+ func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, participants []types.JID, plaintext, dsmPlaintext []byte, timings *MessageDebugTimings, botNode *waBinary.Node) (*waBinary.Node, []types.JID, error) {
940
+ start := time.Now()
941
+ allDevices, err := cli.GetUserDevicesContext(ctx, participants)
942
+ timings.GetDevices = time.Since(start)
943
+ if err != nil {
944
+ return nil, nil, fmt.Errorf("failed to get device list: %w", err)
945
+ }
946
+
947
+ msgType := getTypeFromMessage(message)
948
+ encAttrs := waBinary.Attrs{}
949
+ // Only include encMediaType for 1:1 messages (groups don't have a device-sent message plaintext)
950
+ if encMediaType := getMediaTypeFromMessage(message); dsmPlaintext != nil && encMediaType != "" {
951
+ encAttrs["mediatype"] = encMediaType
952
+ }
953
+ attrs := waBinary.Attrs{
954
+ "id": id,
955
+ "type": msgType,
956
+ "to": to,
957
+ }
958
+ if editAttr := getEditAttribute(message); editAttr != "" {
959
+ attrs["edit"] = string(editAttr)
960
+ encAttrs["decrypt-fail"] = string(events.DecryptFailHide)
961
+ }
962
+ if msgType == "reaction" || message.GetPollUpdateMessage() != nil {
963
+ encAttrs["decrypt-fail"] = string(events.DecryptFailHide)
964
+ }
965
+
966
+ start = time.Now()
967
+ participantNodes, includeIdentity := cli.encryptMessageForDevices(ctx, allDevices, ownID, id, plaintext, dsmPlaintext, encAttrs)
968
+ timings.PeerEncrypt = time.Since(start)
969
+ participantNode := waBinary.Node{
970
+ Tag: "participants",
971
+ Content: participantNodes,
972
+ }
973
+ return &waBinary.Node{
974
+ Tag: "message",
975
+ Attrs: attrs,
976
+ Content: cli.getMessageContent(participantNode, message, attrs, includeIdentity, botNode),
977
+ }, allDevices, nil
978
+ }
979
+
980
+ func marshalMessage(to types.JID, message *waE2E.Message) (plaintext, dsmPlaintext []byte, err error) {
981
+ if message == nil && to.Server == types.NewsletterServer {
982
+ return
983
+ }
984
+ plaintext, err = proto.Marshal(message)
985
+ if err != nil {
986
+ err = fmt.Errorf("failed to marshal message: %w", err)
987
+ return
988
+ }
989
+
990
+ if to.Server != types.GroupServer && to.Server != types.NewsletterServer {
991
+ dsmPlaintext, err = proto.Marshal(&waE2E.Message{
992
+ DeviceSentMessage: &waE2E.DeviceSentMessage{
993
+ DestinationJID: proto.String(to.String()),
994
+ Message: message,
995
+ },
996
+ })
997
+ if err != nil {
998
+ err = fmt.Errorf("failed to marshal message (for own devices): %w", err)
999
+ return
1000
+ }
1001
+ }
1002
+
1003
+ return
1004
+ }
1005
+
1006
+ func (cli *Client) makeDeviceIdentityNode() waBinary.Node {
1007
+ deviceIdentity, err := proto.Marshal(cli.Store.Account)
1008
+ if err != nil {
1009
+ panic(fmt.Errorf("failed to marshal device identity: %w", err))
1010
+ }
1011
+ return waBinary.Node{
1012
+ Tag: "device-identity",
1013
+ Content: deviceIdentity,
1014
+ }
1015
+ }
1016
+
1017
+ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []types.JID, ownID types.JID, id string, msgPlaintext, dsmPlaintext []byte, encAttrs waBinary.Attrs) ([]waBinary.Node, bool) {
1018
+ includeIdentity := false
1019
+ participantNodes := make([]waBinary.Node, 0, len(allDevices))
1020
+ var retryDevices []types.JID
1021
+ for _, jid := range allDevices {
1022
+ plaintext := msgPlaintext
1023
+ if jid.User == ownID.User && dsmPlaintext != nil {
1024
+ if jid == ownID {
1025
+ continue
1026
+ }
1027
+ plaintext = dsmPlaintext
1028
+ }
1029
+ encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, nil, encAttrs)
1030
+ if errors.Is(err, ErrNoSession) {
1031
+ retryDevices = append(retryDevices, jid)
1032
+ continue
1033
+ } else if err != nil {
1034
+ cli.Log.Warnf("Failed to encrypt %s for %s: %v", id, jid, err)
1035
+ continue
1036
+ }
1037
+
1038
+ participantNodes = append(participantNodes, *encrypted)
1039
+ if isPreKey {
1040
+ includeIdentity = true
1041
+ }
1042
+ }
1043
+ if len(retryDevices) > 0 {
1044
+ bundles, err := cli.fetchPreKeys(ctx, retryDevices)
1045
+ if err != nil {
1046
+ cli.Log.Warnf("Failed to fetch prekeys for %v to retry encryption: %v", retryDevices, err)
1047
+ } else {
1048
+ for _, jid := range retryDevices {
1049
+ resp := bundles[jid]
1050
+ if resp.err != nil {
1051
+ cli.Log.Warnf("Failed to fetch prekey for %s: %v", jid, resp.err)
1052
+ continue
1053
+ }
1054
+ plaintext := msgPlaintext
1055
+ if jid.User == ownID.User && dsmPlaintext != nil {
1056
+ plaintext = dsmPlaintext
1057
+ }
1058
+ encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, resp.bundle, encAttrs)
1059
+ if err != nil {
1060
+ cli.Log.Warnf("Failed to encrypt %s for %s (retry): %v", id, jid, err)
1061
+ continue
1062
+ }
1063
+ participantNodes = append(participantNodes, *encrypted)
1064
+ if isPreKey {
1065
+ includeIdentity = true
1066
+ }
1067
+ }
1068
+ }
1069
+ }
1070
+ return participantNodes, includeIdentity
1071
+ }
1072
+
1073
+ func (cli *Client) encryptMessageForDeviceAndWrap(plaintext []byte, to types.JID, bundle *prekey.Bundle, encAttrs waBinary.Attrs) (*waBinary.Node, bool, error) {
1074
+ node, includeDeviceIdentity, err := cli.encryptMessageForDevice(plaintext, to, bundle, encAttrs)
1075
+ if err != nil {
1076
+ return nil, false, err
1077
+ }
1078
+ return &waBinary.Node{
1079
+ Tag: "to",
1080
+ Attrs: waBinary.Attrs{"jid": to},
1081
+ Content: []waBinary.Node{*node},
1082
+ }, includeDeviceIdentity, nil
1083
+ }
1084
+
1085
+ func copyAttrs(from, to waBinary.Attrs) {
1086
+ for k, v := range from {
1087
+ to[k] = v
1088
+ }
1089
+ }
1090
+
1091
+ func (cli *Client) encryptMessageForDevice(plaintext []byte, to types.JID, bundle *prekey.Bundle, extraAttrs waBinary.Attrs) (*waBinary.Node, bool, error) {
1092
+ builder := session.NewBuilderFromSignal(cli.Store, to.SignalAddress(), pbSerializer)
1093
+ if bundle != nil {
1094
+ cli.Log.Debugf("Processing prekey bundle for %s", to)
1095
+ err := builder.ProcessBundle(bundle)
1096
+ if cli.AutoTrustIdentity && errors.Is(err, signalerror.ErrUntrustedIdentity) {
1097
+ cli.Log.Warnf("Got %v error while trying to process prekey bundle for %s, clearing stored identity and retrying", err, to)
1098
+ cli.clearUntrustedIdentity(to)
1099
+ err = builder.ProcessBundle(bundle)
1100
+ }
1101
+ if err != nil {
1102
+ return nil, false, fmt.Errorf("failed to process prekey bundle: %w", err)
1103
+ }
1104
+ } else if !cli.Store.ContainsSession(to.SignalAddress()) {
1105
+ return nil, false, ErrNoSession
1106
+ }
1107
+ cipher := session.NewCipher(builder, to.SignalAddress())
1108
+ ciphertext, err := cipher.Encrypt(padMessage(plaintext))
1109
+ if err != nil {
1110
+ return nil, false, fmt.Errorf("cipher encryption failed: %w", err)
1111
+ }
1112
+
1113
+ encAttrs := waBinary.Attrs{
1114
+ "v": "2",
1115
+ "type": "msg",
1116
+ }
1117
+ if ciphertext.Type() == protocol.PREKEY_TYPE {
1118
+ encAttrs["type"] = "pkmsg"
1119
+ }
1120
+ copyAttrs(extraAttrs, encAttrs)
1121
+
1122
+ includeDeviceIdentity := encAttrs["type"] == "pkmsg" && cli.MessengerConfig == nil
1123
+ return &waBinary.Node{
1124
+ Tag: "enc",
1125
+ Attrs: encAttrs,
1126
+ Content: ciphertext.Serialize(),
1127
+ }, includeDeviceIdentity, nil
1128
+ }