;(function (root, factory, undef) { 
 | 
    if (typeof exports === "object") { 
 | 
        // CommonJS 
 | 
        module.exports = exports = factory(require("./core"), require("./cipher-core")); 
 | 
    } 
 | 
    else if (typeof define === "function" && define.amd) { 
 | 
        // AMD 
 | 
        define(["./core", "./cipher-core"], factory); 
 | 
    } 
 | 
    else { 
 | 
        // Global (browser) 
 | 
        factory(root.CryptoJS); 
 | 
    } 
 | 
}(this, function (CryptoJS) { 
 | 
  
 | 
    /** 
 | 
     * ANSI X.923 padding strategy. 
 | 
     */ 
 | 
    CryptoJS.pad.AnsiX923 = { 
 | 
        pad: function (data, blockSize) { 
 | 
            // Shortcuts 
 | 
            var dataSigBytes = data.sigBytes; 
 | 
            var blockSizeBytes = blockSize * 4; 
 | 
  
 | 
            // Count padding bytes 
 | 
            var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; 
 | 
  
 | 
            // Compute last byte position 
 | 
            var lastBytePos = dataSigBytes + nPaddingBytes - 1; 
 | 
  
 | 
            // Pad 
 | 
            data.clamp(); 
 | 
            data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); 
 | 
            data.sigBytes += nPaddingBytes; 
 | 
        }, 
 | 
  
 | 
        unpad: function (data) { 
 | 
            // Get number of padding bytes from last byte 
 | 
            var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; 
 | 
  
 | 
            // Remove padding 
 | 
            data.sigBytes -= nPaddingBytes; 
 | 
        } 
 | 
    }; 
 | 
  
 | 
  
 | 
    return CryptoJS.pad.Ansix923; 
 | 
  
 | 
})); 
 |