function PATHTOOL()
{
    this.PASSWORD = "PDFJSCS";
    this.SPECIAL = "";
    this.SALT = "";

    this.decrypt = function (ENCRYPTED) {
        let decryptedText = null;
        
        try {
            //Creating the Vector Key
            let iv = CryptoJS.enc.Hex.parse(this.SPECIAL);

            //Encoding the Password in from UTF8 to byte array
            let Pass = CryptoJS.enc.Utf8.parse(this.PASSWORD);

            //Encoding the Salt in from UTF8 to byte array
            let Salt = CryptoJS.enc.Utf8.parse(this.SALT);

            //Creating the key in PBKDF2 format to be used during the decryption
            let key128Bits1000Iterations = CryptoJS.PBKDF2(Pass.toString(CryptoJS.enc.Utf8), Salt, { keySize: 128 / 32, iterations: 1000 });

            //Enclosing the test to be decrypted in a CipherParams object as supported by the CryptoJS libarary
            let cipherParams = CryptoJS.lib.CipherParams.create({
                ciphertext: CryptoJS.enc.Base64.parse(ENCRYPTED)
            });

            //Decrypting the string contained in cipherParams using the PBKDF2 key
            let decrypted = CryptoJS.AES.decrypt(cipherParams, key128Bits1000Iterations, { mode: CryptoJS.mode.CBC, iv: iv, padding: CryptoJS.pad.Pkcs7 });

            decryptedText = decrypted.toString(CryptoJS.enc.Utf8);

            return decryptedText;
        }
        catch (err) { //Malformed UTF Data due to incorrect password
            return "Ошибка дешифровки строки! ;(";
        }
    };
}