gitextract_priqvjog/ ├── .cspell.json ├── .devcontainer/ │ └── devcontainer.json ├── .dockerignore ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ ├── feature-request.md │ │ └── operation-request.md │ ├── ISSUE_TEMPLATE.md │ ├── dependabot.yml │ └── workflows/ │ ├── master.yml │ ├── pull_requests.yml │ └── releases.yml ├── .gitignore ├── .npmignore ├── .nvmrc ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── Dockerfile ├── Gruntfile.js ├── LICENSE ├── README.md ├── SECURITY.md ├── babel.config.js ├── eslint.config.mjs ├── nightwatch.json ├── package.json ├── postcss.config.js ├── src/ │ ├── core/ │ │ ├── Chef.mjs │ │ ├── ChefWorker.js │ │ ├── Dish.mjs │ │ ├── Ingredient.mjs │ │ ├── Operation.mjs │ │ ├── Recipe.mjs │ │ ├── Utils.mjs │ │ ├── config/ │ │ │ ├── Categories.json │ │ │ └── scripts/ │ │ │ ├── generateConfig.mjs │ │ │ ├── generateOpsIndex.mjs │ │ │ ├── newMinorVersion.mjs │ │ │ └── newOperation.mjs │ │ ├── dishTypes/ │ │ │ ├── DishBigNumber.mjs │ │ │ ├── DishByteArray.mjs │ │ │ ├── DishFile.mjs │ │ │ ├── DishHTML.mjs │ │ │ ├── DishJSON.mjs │ │ │ ├── DishListFile.mjs │ │ │ ├── DishNumber.mjs │ │ │ ├── DishString.mjs │ │ │ ├── DishType.mjs │ │ │ └── index.mjs │ │ ├── errors/ │ │ │ ├── DishError.mjs │ │ │ ├── ExcludedOperationError.mjs │ │ │ ├── OperationError.mjs │ │ │ └── index.mjs │ │ ├── lib/ │ │ │ ├── Arithmetic.mjs │ │ │ ├── AudioBytes.mjs │ │ │ ├── AudioMetaSchema.mjs │ │ │ ├── AudioParsers.mjs │ │ │ ├── BCD.mjs │ │ │ ├── Bacon.mjs │ │ │ ├── Base32.mjs │ │ │ ├── Base45.mjs │ │ │ ├── Base58.mjs │ │ │ ├── Base64.mjs │ │ │ ├── Base85.mjs │ │ │ ├── Base92.mjs │ │ │ ├── Bech32.mjs │ │ │ ├── BigIntUtils.mjs │ │ │ ├── Binary.mjs │ │ │ ├── BitwiseOp.mjs │ │ │ ├── Blowfish.mjs │ │ │ ├── Bombe.mjs │ │ │ ├── Braille.mjs │ │ │ ├── CanvasComponents.mjs │ │ │ ├── Charts.mjs │ │ │ ├── ChrEnc.mjs │ │ │ ├── CipherSaber2.mjs │ │ │ ├── Ciphers.mjs │ │ │ ├── Code.mjs │ │ │ ├── Colossus.mjs │ │ │ ├── ConvertCoordinates.mjs │ │ │ ├── Crypt.mjs │ │ │ ├── DateTime.mjs │ │ │ ├── Decimal.mjs │ │ │ ├── Delim.mjs │ │ │ ├── Enigma.mjs │ │ │ ├── Extract.mjs │ │ │ ├── FileSignatures.mjs │ │ │ ├── FileType.mjs │ │ │ ├── FlowControl.mjs │ │ │ ├── FuzzyMatch.mjs │ │ │ ├── Hash.mjs │ │ │ ├── Hex.mjs │ │ │ ├── IP.mjs │ │ │ ├── JA4.mjs │ │ │ ├── JWT.mjs │ │ │ ├── LS47.mjs │ │ │ ├── LZNT1.mjs │ │ │ ├── LZString.mjs │ │ │ ├── LoremIpsum.mjs │ │ │ ├── Lorenz.mjs │ │ │ ├── Magic.mjs │ │ │ ├── Modhex.mjs │ │ │ ├── PGP.mjs │ │ │ ├── Protobuf.mjs │ │ │ ├── Protocol.mjs │ │ │ ├── PublicKey.mjs │ │ │ ├── QRCode.mjs │ │ │ ├── RC6.mjs │ │ │ ├── RSA.mjs │ │ │ ├── Rotate.mjs │ │ │ ├── SIGABA.mjs │ │ │ ├── SM2.mjs │ │ │ ├── SM4.mjs │ │ │ ├── Salsa20.mjs │ │ │ ├── Sort.mjs │ │ │ ├── Stream.mjs │ │ │ ├── TLS.mjs │ │ │ ├── TLVParser.mjs │ │ │ ├── Typex.mjs │ │ │ ├── XXTEA.mjs │ │ │ └── Zlib.mjs │ │ ├── operations/ │ │ │ ├── A1Z26CipherDecode.mjs │ │ │ ├── A1Z26CipherEncode.mjs │ │ │ ├── ADD.mjs │ │ │ ├── AESDecrypt.mjs │ │ │ ├── AESEncrypt.mjs │ │ │ ├── AESKeyUnwrap.mjs │ │ │ ├── AESKeyWrap.mjs │ │ │ ├── AMFDecode.mjs │ │ │ ├── AMFEncode.mjs │ │ │ ├── AND.mjs │ │ │ ├── AddLineNumbers.mjs │ │ │ ├── AddTextToImage.mjs │ │ │ ├── Adler32Checksum.mjs │ │ │ ├── AffineCipherDecode.mjs │ │ │ ├── AffineCipherEncode.mjs │ │ │ ├── AlternatingCaps.mjs │ │ │ ├── AnalyseHash.mjs │ │ │ ├── AnalyseUUID.mjs │ │ │ ├── Argon2.mjs │ │ │ ├── Argon2Compare.mjs │ │ │ ├── AtbashCipher.mjs │ │ │ ├── AvroToJSON.mjs │ │ │ ├── BLAKE2b.mjs │ │ │ ├── BLAKE2s.mjs │ │ │ ├── BLAKE3.mjs │ │ │ ├── BSONDeserialise.mjs │ │ │ ├── BSONSerialise.mjs │ │ │ ├── BaconCipherDecode.mjs │ │ │ ├── BaconCipherEncode.mjs │ │ │ ├── Bcrypt.mjs │ │ │ ├── BcryptCompare.mjs │ │ │ ├── BcryptParse.mjs │ │ │ ├── BifidCipherDecode.mjs │ │ │ ├── BifidCipherEncode.mjs │ │ │ ├── BitShiftLeft.mjs │ │ │ ├── BitShiftRight.mjs │ │ │ ├── BlowfishDecrypt.mjs │ │ │ ├── BlowfishEncrypt.mjs │ │ │ ├── BlurImage.mjs │ │ │ ├── Bombe.mjs │ │ │ ├── Bzip2Compress.mjs │ │ │ ├── Bzip2Decompress.mjs │ │ │ ├── CBORDecode.mjs │ │ │ ├── CBOREncode.mjs │ │ │ ├── CMAC.mjs │ │ │ ├── CRCChecksum.mjs │ │ │ ├── CSSBeautify.mjs │ │ │ ├── CSSMinify.mjs │ │ │ ├── CSSSelector.mjs │ │ │ ├── CSVToJSON.mjs │ │ │ ├── CTPH.mjs │ │ │ ├── CaesarBoxCipher.mjs │ │ │ ├── CaretMdecode.mjs │ │ │ ├── CartesianProduct.mjs │ │ │ ├── CetaceanCipherDecode.mjs │ │ │ ├── CetaceanCipherEncode.mjs │ │ │ ├── ChaCha.mjs │ │ │ ├── ChangeIPFormat.mjs │ │ │ ├── ChiSquare.mjs │ │ │ ├── CipherSaber2Decrypt.mjs │ │ │ ├── CipherSaber2Encrypt.mjs │ │ │ ├── CitrixCTX1Decode.mjs │ │ │ ├── CitrixCTX1Encode.mjs │ │ │ ├── Colossus.mjs │ │ │ ├── Comment.mjs │ │ │ ├── CompareCTPHHashes.mjs │ │ │ ├── CompareSSDEEPHashes.mjs │ │ │ ├── ConditionalJump.mjs │ │ │ ├── ContainImage.mjs │ │ │ ├── ConvertArea.mjs │ │ │ ├── ConvertCoordinateFormat.mjs │ │ │ ├── ConvertDataUnits.mjs │ │ │ ├── ConvertDistance.mjs │ │ │ ├── ConvertImageFormat.mjs │ │ │ ├── ConvertLeetSpeak.mjs │ │ │ ├── ConvertMass.mjs │ │ │ ├── ConvertSpeed.mjs │ │ │ ├── ConvertToNATOAlphabet.mjs │ │ │ ├── CountOccurrences.mjs │ │ │ ├── CoverImage.mjs │ │ │ ├── CropImage.mjs │ │ │ ├── DESDecrypt.mjs │ │ │ ├── DESEncrypt.mjs │ │ │ ├── DNSOverHTTPS.mjs │ │ │ ├── DateTimeDelta.mjs │ │ │ ├── DechunkHTTPResponse.mjs │ │ │ ├── DecodeNetBIOSName.mjs │ │ │ ├── DecodeText.mjs │ │ │ ├── DefangIPAddresses.mjs │ │ │ ├── DefangURL.mjs │ │ │ ├── DeriveEVPKey.mjs │ │ │ ├── DeriveHKDFKey.mjs │ │ │ ├── DerivePBKDF2Key.mjs │ │ │ ├── DetectFileType.mjs │ │ │ ├── Diff.mjs │ │ │ ├── DisassembleARM.mjs │ │ │ ├── DisassembleX86.mjs │ │ │ ├── DitherImage.mjs │ │ │ ├── Divide.mjs │ │ │ ├── DropBytes.mjs │ │ │ ├── DropNthBytes.mjs │ │ │ ├── ECDSASign.mjs │ │ │ ├── ECDSASignatureConversion.mjs │ │ │ ├── ECDSAVerify.mjs │ │ │ ├── ELFInfo.mjs │ │ │ ├── EncodeNetBIOSName.mjs │ │ │ ├── EncodeText.mjs │ │ │ ├── Enigma.mjs │ │ │ ├── Entropy.mjs │ │ │ ├── EscapeString.mjs │ │ │ ├── EscapeUnicodeCharacters.mjs │ │ │ ├── ExpandAlphabetRange.mjs │ │ │ ├── ExtractAudioMetadata.mjs │ │ │ ├── ExtractDates.mjs │ │ │ ├── ExtractDomains.mjs │ │ │ ├── ExtractEXIF.mjs │ │ │ ├── ExtractEmailAddresses.mjs │ │ │ ├── ExtractFilePaths.mjs │ │ │ ├── ExtractFiles.mjs │ │ │ ├── ExtractHashes.mjs │ │ │ ├── ExtractID3.mjs │ │ │ ├── ExtractIPAddresses.mjs │ │ │ ├── ExtractLSB.mjs │ │ │ ├── ExtractMACAddresses.mjs │ │ │ ├── ExtractRGBA.mjs │ │ │ ├── ExtractURLs.mjs │ │ │ ├── FangURL.mjs │ │ │ ├── FernetDecrypt.mjs │ │ │ ├── FernetEncrypt.mjs │ │ │ ├── FileTree.mjs │ │ │ ├── Filter.mjs │ │ │ ├── FindReplace.mjs │ │ │ ├── FlaskSessionDecode.mjs │ │ │ ├── FlaskSessionSign.mjs │ │ │ ├── FlaskSessionVerify.mjs │ │ │ ├── Fletcher16Checksum.mjs │ │ │ ├── Fletcher32Checksum.mjs │ │ │ ├── Fletcher64Checksum.mjs │ │ │ ├── Fletcher8Checksum.mjs │ │ │ ├── FlipImage.mjs │ │ │ ├── Fork.mjs │ │ │ ├── FormatMACAddresses.mjs │ │ │ ├── FrequencyDistribution.mjs │ │ │ ├── FromBCD.mjs │ │ │ ├── FromBase.mjs │ │ │ ├── FromBase32.mjs │ │ │ ├── FromBase45.mjs │ │ │ ├── FromBase58.mjs │ │ │ ├── FromBase62.mjs │ │ │ ├── FromBase64.mjs │ │ │ ├── FromBase85.mjs │ │ │ ├── FromBase92.mjs │ │ │ ├── FromBech32.mjs │ │ │ ├── FromBinary.mjs │ │ │ ├── FromBraille.mjs │ │ │ ├── FromCaseInsensitiveRegex.mjs │ │ │ ├── FromCharcode.mjs │ │ │ ├── FromDecimal.mjs │ │ │ ├── FromFloat.mjs │ │ │ ├── FromHTMLEntity.mjs │ │ │ ├── FromHex.mjs │ │ │ ├── FromHexContent.mjs │ │ │ ├── FromHexdump.mjs │ │ │ ├── FromMessagePack.mjs │ │ │ ├── FromModhex.mjs │ │ │ ├── FromMorseCode.mjs │ │ │ ├── FromOctal.mjs │ │ │ ├── FromPunycode.mjs │ │ │ ├── FromQuotedPrintable.mjs │ │ │ ├── FromUNIXTimestamp.mjs │ │ │ ├── FuzzyMatch.mjs │ │ │ ├── GOSTDecrypt.mjs │ │ │ ├── GOSTEncrypt.mjs │ │ │ ├── GOSTHash.mjs │ │ │ ├── GOSTKeyUnwrap.mjs │ │ │ ├── GOSTKeyWrap.mjs │ │ │ ├── GOSTSign.mjs │ │ │ ├── GOSTVerify.mjs │ │ │ ├── GenerateAllChecksums.mjs │ │ │ ├── GenerateAllHashes.mjs │ │ │ ├── GenerateDeBruijnSequence.mjs │ │ │ ├── GenerateECDSAKeyPair.mjs │ │ │ ├── GenerateHOTP.mjs │ │ │ ├── GenerateImage.mjs │ │ │ ├── GenerateLoremIpsum.mjs │ │ │ ├── GeneratePGPKeyPair.mjs │ │ │ ├── GenerateQRCode.mjs │ │ │ ├── GenerateRSAKeyPair.mjs │ │ │ ├── GenerateTOTP.mjs │ │ │ ├── GenerateUUID.mjs │ │ │ ├── GenericCodeBeautify.mjs │ │ │ ├── GetAllCasings.mjs │ │ │ ├── GetTime.mjs │ │ │ ├── GroupIPAddresses.mjs │ │ │ ├── Gunzip.mjs │ │ │ ├── Gzip.mjs │ │ │ ├── HAS160.mjs │ │ │ ├── HASSHClientFingerprint.mjs │ │ │ ├── HASSHServerFingerprint.mjs │ │ │ ├── HMAC.mjs │ │ │ ├── HTMLToText.mjs │ │ │ ├── HTTPRequest.mjs │ │ │ ├── HammingDistance.mjs │ │ │ ├── HaversineDistance.mjs │ │ │ ├── Head.mjs │ │ │ ├── HeatmapChart.mjs │ │ │ ├── HexDensityChart.mjs │ │ │ ├── HexToObjectIdentifier.mjs │ │ │ ├── HexToPEM.mjs │ │ │ ├── IPv6TransitionAddresses.mjs │ │ │ ├── ImageBrightnessContrast.mjs │ │ │ ├── ImageFilter.mjs │ │ │ ├── ImageHueSaturationLightness.mjs │ │ │ ├── ImageOpacity.mjs │ │ │ ├── IndexOfCoincidence.mjs │ │ │ ├── InvertImage.mjs │ │ │ ├── JA3Fingerprint.mjs │ │ │ ├── JA3SFingerprint.mjs │ │ │ ├── JA4Fingerprint.mjs │ │ │ ├── JA4ServerFingerprint.mjs │ │ │ ├── JPathExpression.mjs │ │ │ ├── JSONBeautify.mjs │ │ │ ├── JSONMinify.mjs │ │ │ ├── JSONToCSV.mjs │ │ │ ├── JSONtoYAML.mjs │ │ │ ├── JWKToPem.mjs │ │ │ ├── JWTDecode.mjs │ │ │ ├── JWTSign.mjs │ │ │ ├── JWTVerify.mjs │ │ │ ├── JavaScriptBeautify.mjs │ │ │ ├── JavaScriptMinify.mjs │ │ │ ├── JavaScriptParser.mjs │ │ │ ├── Jq.mjs │ │ │ ├── Jsonata.mjs │ │ │ ├── Jump.mjs │ │ │ ├── Keccak.mjs │ │ │ ├── LMHash.mjs │ │ │ ├── LS47Decrypt.mjs │ │ │ ├── LS47Encrypt.mjs │ │ │ ├── LZ4Compress.mjs │ │ │ ├── LZ4Decompress.mjs │ │ │ ├── LZMACompress.mjs │ │ │ ├── LZMADecompress.mjs │ │ │ ├── LZNT1Decompress.mjs │ │ │ ├── LZStringCompress.mjs │ │ │ ├── LZStringDecompress.mjs │ │ │ ├── Label.mjs │ │ │ ├── LevenshteinDistance.mjs │ │ │ ├── Lorenz.mjs │ │ │ ├── LuhnChecksum.mjs │ │ │ ├── MD2.mjs │ │ │ ├── MD4.mjs │ │ │ ├── MD5.mjs │ │ │ ├── MD6.mjs │ │ │ ├── MIMEDecoding.mjs │ │ │ ├── Magic.mjs │ │ │ ├── Mean.mjs │ │ │ ├── Median.mjs │ │ │ ├── Merge.mjs │ │ │ ├── MicrosoftScriptDecoder.mjs │ │ │ ├── MultipleBombe.mjs │ │ │ ├── Multiply.mjs │ │ │ ├── MurmurHash3.mjs │ │ │ ├── NOT.mjs │ │ │ ├── NTHash.mjs │ │ │ ├── NormaliseImage.mjs │ │ │ ├── NormaliseUnicode.mjs │ │ │ ├── Numberwang.mjs │ │ │ ├── OR.mjs │ │ │ ├── ObjectIdentifierToHex.mjs │ │ │ ├── OffsetChecker.mjs │ │ │ ├── OpticalCharacterRecognition.mjs │ │ │ ├── PEMToHex.mjs │ │ │ ├── PEMToJWK.mjs │ │ │ ├── PGPDecrypt.mjs │ │ │ ├── PGPDecryptAndVerify.mjs │ │ │ ├── PGPEncrypt.mjs │ │ │ ├── PGPEncryptAndSign.mjs │ │ │ ├── PGPVerify.mjs │ │ │ ├── PHPDeserialize.mjs │ │ │ ├── PHPSerialize.mjs │ │ │ ├── PLISTViewer.mjs │ │ │ ├── PadLines.mjs │ │ │ ├── ParseASN1HexString.mjs │ │ │ ├── ParseCSR.mjs │ │ │ ├── ParseColourCode.mjs │ │ │ ├── ParseDateTime.mjs │ │ │ ├── ParseIPRange.mjs │ │ │ ├── ParseIPv4Header.mjs │ │ │ ├── ParseIPv6Address.mjs │ │ │ ├── ParseObjectIDTimestamp.mjs │ │ │ ├── ParseQRCode.mjs │ │ │ ├── ParseSSHHostKey.mjs │ │ │ ├── ParseTCP.mjs │ │ │ ├── ParseTLSRecord.mjs │ │ │ ├── ParseTLV.mjs │ │ │ ├── ParseUDP.mjs │ │ │ ├── ParseUNIXFilePermissions.mjs │ │ │ ├── ParseURI.mjs │ │ │ ├── ParseUserAgent.mjs │ │ │ ├── ParseX509CRL.mjs │ │ │ ├── ParseX509Certificate.mjs │ │ │ ├── PlayMedia.mjs │ │ │ ├── PowerSet.mjs │ │ │ ├── ProtobufDecode.mjs │ │ │ ├── ProtobufEncode.mjs │ │ │ ├── PseudoRandomIntegerGenerator.mjs │ │ │ ├── PseudoRandomNumberGenerator.mjs │ │ │ ├── PubKeyFromCert.mjs │ │ │ ├── PubKeyFromPrivKey.mjs │ │ │ ├── RAKE.mjs │ │ │ ├── RC2Decrypt.mjs │ │ │ ├── RC2Encrypt.mjs │ │ │ ├── RC4.mjs │ │ │ ├── RC4Drop.mjs │ │ │ ├── RC6Decrypt.mjs │ │ │ ├── RC6Encrypt.mjs │ │ │ ├── RIPEMD.mjs │ │ │ ├── ROT13.mjs │ │ │ ├── ROT13BruteForce.mjs │ │ │ ├── ROT47.mjs │ │ │ ├── ROT47BruteForce.mjs │ │ │ ├── ROT8000.mjs │ │ │ ├── RSADecrypt.mjs │ │ │ ├── RSAEncrypt.mjs │ │ │ ├── RSASign.mjs │ │ │ ├── RSAVerify.mjs │ │ │ ├── Rabbit.mjs │ │ │ ├── RailFenceCipherDecode.mjs │ │ │ ├── RailFenceCipherEncode.mjs │ │ │ ├── RandomizeColourPalette.mjs │ │ │ ├── RawDeflate.mjs │ │ │ ├── RawInflate.mjs │ │ │ ├── Register.mjs │ │ │ ├── RegularExpression.mjs │ │ │ ├── RemoveDiacritics.mjs │ │ │ ├── RemoveEXIF.mjs │ │ │ ├── RemoveLineNumbers.mjs │ │ │ ├── RemoveNullBytes.mjs │ │ │ ├── RemoveWhitespace.mjs │ │ │ ├── RenderImage.mjs │ │ │ ├── RenderMarkdown.mjs │ │ │ ├── ResizeImage.mjs │ │ │ ├── Return.mjs │ │ │ ├── Reverse.mjs │ │ │ ├── RisonDecode.mjs │ │ │ ├── RisonEncode.mjs │ │ │ ├── RotateImage.mjs │ │ │ ├── RotateLeft.mjs │ │ │ ├── RotateRight.mjs │ │ │ ├── SHA0.mjs │ │ │ ├── SHA1.mjs │ │ │ ├── SHA2.mjs │ │ │ ├── SHA3.mjs │ │ │ ├── SIGABA.mjs │ │ │ ├── SM2Decrypt.mjs │ │ │ ├── SM2Encrypt.mjs │ │ │ ├── SM3.mjs │ │ │ ├── SM4Decrypt.mjs │ │ │ ├── SM4Encrypt.mjs │ │ │ ├── SQLBeautify.mjs │ │ │ ├── SQLMinify.mjs │ │ │ ├── SSDEEP.mjs │ │ │ ├── SUB.mjs │ │ │ ├── Salsa20.mjs │ │ │ ├── ScanForEmbeddedFiles.mjs │ │ │ ├── ScatterChart.mjs │ │ │ ├── Scrypt.mjs │ │ │ ├── SeriesChart.mjs │ │ │ ├── SetDifference.mjs │ │ │ ├── SetIntersection.mjs │ │ │ ├── SetUnion.mjs │ │ │ ├── Shake.mjs │ │ │ ├── SharpenImage.mjs │ │ │ ├── ShowBase64Offsets.mjs │ │ │ ├── ShowOnMap.mjs │ │ │ ├── Shuffle.mjs │ │ │ ├── Sleep.mjs │ │ │ ├── Snefru.mjs │ │ │ ├── Sort.mjs │ │ │ ├── Split.mjs │ │ │ ├── SplitColourChannels.mjs │ │ │ ├── StandardDeviation.mjs │ │ │ ├── Streebog.mjs │ │ │ ├── Strings.mjs │ │ │ ├── StripHTMLTags.mjs │ │ │ ├── StripHTTPHeaders.mjs │ │ │ ├── StripIPv4Header.mjs │ │ │ ├── StripTCPHeader.mjs │ │ │ ├── StripUDPHeader.mjs │ │ │ ├── Subsection.mjs │ │ │ ├── Substitute.mjs │ │ │ ├── Subtract.mjs │ │ │ ├── Sum.mjs │ │ │ ├── SwapCase.mjs │ │ │ ├── SwapEndianness.mjs │ │ │ ├── SymmetricDifference.mjs │ │ │ ├── SyntaxHighlighter.mjs │ │ │ ├── TCPIPChecksum.mjs │ │ │ ├── Tail.mjs │ │ │ ├── TakeBytes.mjs │ │ │ ├── TakeNthBytes.mjs │ │ │ ├── Tar.mjs │ │ │ ├── Template.mjs │ │ │ ├── TextEncodingBruteForce.mjs │ │ │ ├── TextIntegerConverter.mjs │ │ │ ├── ToBCD.mjs │ │ │ ├── ToBase.mjs │ │ │ ├── ToBase32.mjs │ │ │ ├── ToBase45.mjs │ │ │ ├── ToBase58.mjs │ │ │ ├── ToBase62.mjs │ │ │ ├── ToBase64.mjs │ │ │ ├── ToBase85.mjs │ │ │ ├── ToBase92.mjs │ │ │ ├── ToBech32.mjs │ │ │ ├── ToBinary.mjs │ │ │ ├── ToBraille.mjs │ │ │ ├── ToCamelCase.mjs │ │ │ ├── ToCaseInsensitiveRegex.mjs │ │ │ ├── ToCharcode.mjs │ │ │ ├── ToDecimal.mjs │ │ │ ├── ToFloat.mjs │ │ │ ├── ToHTMLEntity.mjs │ │ │ ├── ToHex.mjs │ │ │ ├── ToHexContent.mjs │ │ │ ├── ToHexdump.mjs │ │ │ ├── ToKebabCase.mjs │ │ │ ├── ToLowerCase.mjs │ │ │ ├── ToMessagePack.mjs │ │ │ ├── ToModhex.mjs │ │ │ ├── ToMorseCode.mjs │ │ │ ├── ToOctal.mjs │ │ │ ├── ToPunycode.mjs │ │ │ ├── ToQuotedPrintable.mjs │ │ │ ├── ToSnakeCase.mjs │ │ │ ├── ToTable.mjs │ │ │ ├── ToUNIXTimestamp.mjs │ │ │ ├── ToUpperCase.mjs │ │ │ ├── TranslateDateTimeFormat.mjs │ │ │ ├── TripleDESDecrypt.mjs │ │ │ ├── TripleDESEncrypt.mjs │ │ │ ├── Typex.mjs │ │ │ ├── UNIXTimestampToWindowsFiletime.mjs │ │ │ ├── URLDecode.mjs │ │ │ ├── URLEncode.mjs │ │ │ ├── UnescapeString.mjs │ │ │ ├── UnescapeUnicodeCharacters.mjs │ │ │ ├── UnicodeTextFormat.mjs │ │ │ ├── Unique.mjs │ │ │ ├── Untar.mjs │ │ │ ├── Unzip.mjs │ │ │ ├── VarIntDecode.mjs │ │ │ ├── VarIntEncode.mjs │ │ │ ├── ViewBitPlane.mjs │ │ │ ├── VigenèreDecode.mjs │ │ │ ├── VigenèreEncode.mjs │ │ │ ├── Whirlpool.mjs │ │ │ ├── WindowsFiletimeToUNIXTimestamp.mjs │ │ │ ├── XKCDRandomNumber.mjs │ │ │ ├── XMLBeautify.mjs │ │ │ ├── XMLMinify.mjs │ │ │ ├── XOR.mjs │ │ │ ├── XORBruteForce.mjs │ │ │ ├── XORChecksum.mjs │ │ │ ├── XPathExpression.mjs │ │ │ ├── XSalsa20.mjs │ │ │ ├── XXTEADecrypt.mjs │ │ │ ├── XXTEAEncrypt.mjs │ │ │ ├── YAMLToJSON.mjs │ │ │ ├── YARARules.mjs │ │ │ ├── Zip.mjs │ │ │ ├── ZlibDeflate.mjs │ │ │ └── ZlibInflate.mjs │ │ └── vendor/ │ │ ├── DisassembleX86-64.mjs │ │ ├── gost/ │ │ │ ├── gostCipher.mjs │ │ │ ├── gostCoding.mjs │ │ │ ├── gostCrypto.mjs │ │ │ ├── gostDigest.mjs │ │ │ ├── gostEngine.mjs │ │ │ ├── gostRandom.mjs │ │ │ └── gostSign.mjs │ │ └── remove-exif.mjs │ ├── node/ │ │ ├── File.mjs │ │ ├── NodeDish.mjs │ │ ├── NodeRecipe.mjs │ │ ├── api.mjs │ │ ├── apiUtils.mjs │ │ ├── config/ │ │ │ ├── excludedOperations.mjs │ │ │ └── scripts/ │ │ │ └── generateNodeIndex.mjs │ │ ├── repl.mjs │ │ └── wrapper.js │ └── web/ │ ├── App.mjs │ ├── HTMLCategory.mjs │ ├── HTMLIngredient.mjs │ ├── HTMLOperation.mjs │ ├── Manager.mjs │ ├── html/ │ │ └── index.html │ ├── index.js │ ├── static/ │ │ ├── fonts/ │ │ │ └── bmfonts/ │ │ │ ├── Roboto72White.fnt │ │ │ ├── RobotoBlack72White.fnt │ │ │ ├── RobotoMono72White.fnt │ │ │ └── RobotoSlab72White.fnt │ │ ├── ga.html │ │ ├── images/ │ │ │ └── IMAGE_LICENCES.md │ │ ├── sitemap.mjs │ │ └── structuredData.json │ ├── stylesheets/ │ │ ├── components/ │ │ │ ├── _button.css │ │ │ ├── _list.css │ │ │ ├── _operation.css │ │ │ └── _pane.css │ │ ├── index.css │ │ ├── index.js │ │ ├── layout/ │ │ │ ├── _banner.css │ │ │ ├── _controls.css │ │ │ ├── _io.css │ │ │ ├── _modals.css │ │ │ ├── _operations.css │ │ │ ├── _recipe.css │ │ │ └── _structure.css │ │ ├── operations/ │ │ │ ├── diff.css │ │ │ └── json.css │ │ ├── preloader.css │ │ ├── themes/ │ │ │ ├── _classic.css │ │ │ ├── _dark.css │ │ │ ├── _geocities.css │ │ │ ├── _solarizedDark.css │ │ │ └── _solarizedLight.css │ │ └── utils/ │ │ ├── _general.css │ │ └── _overrides.css │ ├── utils/ │ │ ├── copyOverride.mjs │ │ ├── editorUtils.mjs │ │ ├── fileDetails.mjs │ │ ├── htmlWidget.mjs │ │ ├── sidePanel.mjs │ │ └── statusBar.mjs │ ├── waiters/ │ │ ├── BackgroundWorkerWaiter.mjs │ │ ├── BindingsWaiter.mjs │ │ ├── ControlsWaiter.mjs │ │ ├── HighlighterWaiter.mjs │ │ ├── InputWaiter.mjs │ │ ├── OperationsWaiter.mjs │ │ ├── OptionsWaiter.mjs │ │ ├── OutputWaiter.mjs │ │ ├── RecipeWaiter.mjs │ │ ├── SeasonalWaiter.mjs │ │ ├── TabWaiter.mjs │ │ ├── TimingWaiter.mjs │ │ ├── WindowWaiter.mjs │ │ └── WorkerWaiter.mjs │ └── workers/ │ ├── DishWorker.mjs │ ├── InputWorker.mjs │ ├── LoaderWorker.js │ └── ZipWorker.mjs ├── tests/ │ ├── browser/ │ │ ├── 00_nightwatch.js │ │ ├── 01_io.js │ │ ├── 02_ops.js │ │ └── browserUtils.js │ ├── lib/ │ │ ├── TestRegister.mjs │ │ └── utils.mjs │ ├── node/ │ │ ├── assertionHandler.mjs │ │ ├── consumers/ │ │ │ ├── cjs-consumer.js │ │ │ └── esm-consumer.mjs │ │ ├── index.mjs │ │ └── tests/ │ │ ├── Categories.mjs │ │ ├── Dish.mjs │ │ ├── File.mjs │ │ ├── NodeDish.mjs │ │ ├── Utils.mjs │ │ ├── lib/ │ │ │ └── BigIntUtils.mjs │ │ ├── nodeApi.mjs │ │ └── operations.mjs │ ├── operations/ │ │ ├── index.mjs │ │ └── tests/ │ │ ├── A1Z26CipherDecode.mjs │ │ ├── AESKeyWrap.mjs │ │ ├── AlternatingCaps.mjs │ │ ├── AvroToJSON.mjs │ │ ├── BCD.mjs │ │ ├── BLAKE2b.mjs │ │ ├── BLAKE2s.mjs │ │ ├── BLAKE3.mjs │ │ ├── BSON.mjs │ │ ├── BaconCipher.mjs │ │ ├── Base32.mjs │ │ ├── Base45.mjs │ │ ├── Base58.mjs │ │ ├── Base62.mjs │ │ ├── Base64.mjs │ │ ├── Base85.mjs │ │ ├── Base92.mjs │ │ ├── Bech32.mjs │ │ ├── BitwiseOp.mjs │ │ ├── Bombe.mjs │ │ ├── ByteRepr.mjs │ │ ├── CBORDecode.mjs │ │ ├── CBOREncode.mjs │ │ ├── CMAC.mjs │ │ ├── CRCChecksum.mjs │ │ ├── CSV.mjs │ │ ├── CaesarBoxCipher.mjs │ │ ├── CaretMdecode.mjs │ │ ├── CartesianProduct.mjs │ │ ├── CetaceanCipherDecode.mjs │ │ ├── CetaceanCipherEncode.mjs │ │ ├── ChaCha.mjs │ │ ├── ChangeIPFormat.mjs │ │ ├── CharEnc.mjs │ │ ├── Charts.mjs │ │ ├── CipherSaber2.mjs │ │ ├── Ciphers.mjs │ │ ├── Code.mjs │ │ ├── Colossus.mjs │ │ ├── Comment.mjs │ │ ├── Compress.mjs │ │ ├── ConditionalJump.mjs │ │ ├── ConvertCoordinateFormat.mjs │ │ ├── ConvertLeetSpeak.mjs │ │ ├── ConvertToNATOAlphabet.mjs │ │ ├── Crypt.mjs │ │ ├── DateTime.mjs │ │ ├── DefangIP.mjs │ │ ├── DisassembleARM.mjs │ │ ├── DropNthBytes.mjs │ │ ├── ECDSA.mjs │ │ ├── ELFInfo.mjs │ │ ├── Enigma.mjs │ │ ├── ExtractAudioMetadata.mjs │ │ ├── ExtractEmailAddresses.mjs │ │ ├── ExtractHashes.mjs │ │ ├── ExtractIPAddresses.mjs │ │ ├── Fernet.mjs │ │ ├── FileTree.mjs │ │ ├── FlaskSession.mjs │ │ ├── FletcherChecksum.mjs │ │ ├── Float.mjs │ │ ├── Fork.mjs │ │ ├── FromDecimal.mjs │ │ ├── GOST.mjs │ │ ├── GenerateAllChecksums.mjs │ │ ├── GenerateAllHashes.mjs │ │ ├── GenerateDeBruijnSequence.mjs │ │ ├── GenerateQRCode.mjs │ │ ├── GetAllCasings.mjs │ │ ├── Gunzip.mjs │ │ ├── Gzip.mjs │ │ ├── HASSH.mjs │ │ ├── HKDF.mjs │ │ ├── Hash.mjs │ │ ├── HaversineDistance.mjs │ │ ├── Hex.mjs │ │ ├── Hexdump.mjs │ │ ├── IPv6Transition.mjs │ │ ├── Image.mjs │ │ ├── IndexOfCoincidence.mjs │ │ ├── JA3Fingerprint.mjs │ │ ├── JA3SFingerprint.mjs │ │ ├── JA4.mjs │ │ ├── JSONBeautify.mjs │ │ ├── JSONMinify.mjs │ │ ├── JSONtoCSV.mjs │ │ ├── JSONtoYAML.mjs │ │ ├── JWK.mjs │ │ ├── JWTDecode.mjs │ │ ├── JWTSign.mjs │ │ ├── JWTVerify.mjs │ │ ├── Jsonata.mjs │ │ ├── Jump.mjs │ │ ├── LS47.mjs │ │ ├── LZNT1Decompress.mjs │ │ ├── LZString.mjs │ │ ├── LevenshteinDistance.mjs │ │ ├── Lorenz.mjs │ │ ├── LuhnChecksum.mjs │ │ ├── MIMEDecoding.mjs │ │ ├── MS.mjs │ │ ├── Magic.mjs │ │ ├── Media.mjs │ │ ├── Modhex.mjs │ │ ├── MorseCode.mjs │ │ ├── MultipleBombe.mjs │ │ ├── MurmurHash3.mjs │ │ ├── NTLM.mjs │ │ ├── NetBIOS.mjs │ │ ├── NormaliseUnicode.mjs │ │ ├── OTP.mjs │ │ ├── PEMtoHex.mjs │ │ ├── PGP.mjs │ │ ├── PHP.mjs │ │ ├── PHPSerialize.mjs │ │ ├── ParseCSR.mjs │ │ ├── ParseIPRange.mjs │ │ ├── ParseObjectIDTimestamp.mjs │ │ ├── ParseQRCode.mjs │ │ ├── ParseSSHHostKey.mjs │ │ ├── ParseTCP.mjs │ │ ├── ParseTLSRecord.mjs │ │ ├── ParseTLV.mjs │ │ ├── ParseUDP.mjs │ │ ├── ParseX509CRL.mjs │ │ ├── PowerSet.mjs │ │ ├── Protobuf.mjs │ │ ├── PubKeyFromCert.mjs │ │ ├── PubKeyFromPrivKey.mjs │ │ ├── RAKE.mjs │ │ ├── RC6.mjs │ │ ├── RSA.mjs │ │ ├── Rabbit.mjs │ │ ├── Regex.mjs │ │ ├── Register.mjs │ │ ├── RisonEncodeDecode.mjs │ │ ├── Rotate.mjs │ │ ├── SIGABA.mjs │ │ ├── SM2.mjs │ │ ├── SM4.mjs │ │ ├── SQLBeautify.mjs │ │ ├── Salsa20.mjs │ │ ├── SeqUtils.mjs │ │ ├── SetDifference.mjs │ │ ├── SetIntersection.mjs │ │ ├── SetUnion.mjs │ │ ├── Shuffle.mjs │ │ ├── SplitColourChannels.mjs │ │ ├── StrUtils.mjs │ │ ├── StripIPv4Header.mjs │ │ ├── StripTCPHeader.mjs │ │ ├── StripUDPHeader.mjs │ │ ├── Subsection.mjs │ │ ├── SwapCase.mjs │ │ ├── SymmetricDifference.mjs │ │ ├── TakeNthBytes.mjs │ │ ├── Template.mjs │ │ ├── TextEncodingBruteForce.mjs │ │ ├── TextIntegerConverter.mjs │ │ ├── ToFromInsensitiveRegex.mjs │ │ ├── TranslateDateTimeFormat.mjs │ │ ├── Typex.mjs │ │ ├── URLEncodeDecode.mjs │ │ ├── UnescapeString.mjs │ │ ├── Unicode.mjs │ │ ├── XORChecksum.mjs │ │ ├── XSalsa20.mjs │ │ ├── XXTEA.mjs │ │ └── YARA.mjs │ └── samples/ │ ├── Audio.mjs │ ├── Ciphers.mjs │ ├── Executables.mjs │ └── Images.mjs └── webpack.config.js