Java 类org.bouncycastle.crypto.OutputLengthException 实例源码

项目:ipack    文件:RC6Engine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    int blockSize = getBlockSize();
    if (_S == null)
    {
        throw new IllegalStateException("RC6 engine not initialised");
    }
    if ((inOff + blockSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }
    if ((outOff + blockSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (forEncryption)
        ?   encryptBlock(in, inOff, out, outOff) 
        :   decryptBlock(in, inOff, out, outOff);
}
项目:ipack    文件:XTEAEngine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + block_size) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + block_size) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                                : decryptBlock(in, inOff, out, outOff);
}
项目:ipack    文件:Grain128Engine.java   
public void processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff)
    throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getKeyStream());
    }
}
项目:ipack    文件:NullEngine.java   
public int processBlock(byte[] in, int inOff, byte[] out, int outOff)
    throws DataLengthException, IllegalStateException
{
    if (!initialised)
    {
        throw new IllegalStateException("Null engine not initialised");
    }
        if ((inOff + BLOCK_SIZE) > in.length)
        {
            throw new DataLengthException("input buffer too short");
        }

        if ((outOff + BLOCK_SIZE) > out.length)
        {
            throw new OutputLengthException("output buffer too short");
        }

        for (int i = 0; i < BLOCK_SIZE; ++i)
        {
            out[outOff + i] = in[inOff + i];
        }

        return BLOCK_SIZE;
}
项目:ipack    文件:DESEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("DES engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    desFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:ipack    文件:IDEAEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("IDEA engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    ideaFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:ipack    文件:HC128Engine.java   
public void processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff) throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getByte());
    }
}
项目:ipack    文件:HC256Engine.java   
public void processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff) throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getByte());
    }
}
项目:ipack    文件:NoekeonEngine.java   
public int processBlock(
                        byte[]  in,
                        int     inOff,
                        byte[]  out,
                        int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + genericSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + genericSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                            : decryptBlock(in, inOff, out, outOff);
}
项目:ipack    文件:GOST28147Engine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("GOST28147 engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    GOST28147Func(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:ipack    文件:TEAEngine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + block_size) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + block_size) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                                : decryptBlock(in, inOff, out, outOff);
}
项目:ipack    文件:Grainv1Engine.java   
public void processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff)
    throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getKeyStream());
    }
}
项目:gwt-crypto    文件:RC6Engine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    int blockSize = getBlockSize();
    if (_S == null)
    {
        throw new IllegalStateException("RC6 engine not initialised");
    }
    if ((inOff + blockSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }
    if ((outOff + blockSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (forEncryption)
        ?   encryptBlock(in, inOff, out, outOff) 
        :   decryptBlock(in, inOff, out, outOff);
}
项目:gwt-crypto    文件:XTEAEngine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + block_size) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + block_size) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                                : decryptBlock(in, inOff, out, outOff);
}
项目:gwt-crypto    文件:NullEngine.java   
public int processBlock(byte[] in, int inOff, byte[] out, int outOff)
    throws DataLengthException, IllegalStateException
{
    if (!initialised)
    {
        throw new IllegalStateException("Null engine not initialised");
    }
    if ((inOff + blockSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + blockSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < blockSize; ++i)
    {
        out[outOff + i] = in[inOff + i];
    }

    return blockSize;
}
项目:gwt-crypto    文件:DESEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("DES engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    desFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:gwt-crypto    文件:IDEAEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("IDEA engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    ideaFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:gwt-crypto    文件:HC128Engine.java   
public int processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff) throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getByte());
    }

    return len;
}
项目:gwt-crypto    文件:HC256Engine.java   
public int processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff) throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getByte());
    }

    return len;
}
项目:gwt-crypto    文件:NoekeonEngine.java   
public int processBlock(
                        byte[]  in,
                        int     inOff,
                        byte[]  out,
                        int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + genericSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + genericSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                            : decryptBlock(in, inOff, out, outOff);
}
项目:gwt-crypto    文件:GOST28147Engine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("GOST28147 engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    GOST28147Func(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:gwt-crypto    文件:TEAEngine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + block_size) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + block_size) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                                : decryptBlock(in, inOff, out, outOff);
}
项目:gwt-crypto    文件:GCMBlockCipher.java   
private void outputBlock(byte[] output, int offset)
{
    if (output.length < (offset + BLOCK_SIZE))
    {
        throw new OutputLengthException("Output buffer too short");
    }
    if (totalLength == 0)
    {
        initCipher();
    }
    gCTRBlock(bufBlock, output, offset);
    if (forEncryption)
    {
        bufOff = 0;
    }
    else
    {
        System.arraycopy(bufBlock, BLOCK_SIZE, bufBlock, 0, macSize);
        bufOff = macSize;
    }
}
项目:Aki-SSL    文件:RC6Engine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    int blockSize = getBlockSize();
    if (_S == null)
    {
        throw new IllegalStateException("RC6 engine not initialised");
    }
    if ((inOff + blockSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }
    if ((outOff + blockSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (forEncryption)
        ?   encryptBlock(in, inOff, out, outOff) 
        :   decryptBlock(in, inOff, out, outOff);
}
项目:Aki-SSL    文件:XTEAEngine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + block_size) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + block_size) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                                : decryptBlock(in, inOff, out, outOff);
}
项目:Aki-SSL    文件:NullEngine.java   
public int processBlock(byte[] in, int inOff, byte[] out, int outOff)
    throws DataLengthException, IllegalStateException
{
    if (!initialised)
    {
        throw new IllegalStateException("Null engine not initialised");
    }
    if ((inOff + blockSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + blockSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < blockSize; ++i)
    {
        out[outOff + i] = in[inOff + i];
    }

    return blockSize;
}
项目:Aki-SSL    文件:DESEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("DES engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    desFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:Aki-SSL    文件:IDEAEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("IDEA engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    ideaFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:Aki-SSL    文件:HC128Engine.java   
public int processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff) throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getByte());
    }

    return len;
}
项目:Aki-SSL    文件:HC256Engine.java   
public int processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff) throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getByte());
    }

    return len;
}
项目:Aki-SSL    文件:NoekeonEngine.java   
public int processBlock(
                        byte[]  in,
                        int     inOff,
                        byte[]  out,
                        int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + genericSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + genericSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                            : decryptBlock(in, inOff, out, outOff);
}
项目:Aki-SSL    文件:GOST28147Engine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("GOST28147 engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    GOST28147Func(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:Aki-SSL    文件:TEAEngine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + block_size) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + block_size) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                                : decryptBlock(in, inOff, out, outOff);
}
项目:Aki-SSL    文件:GCMBlockCipher.java   
private void outputBlock(byte[] output, int offset)
{
    if (output.length < (offset + BLOCK_SIZE))
    {
        throw new OutputLengthException("Output buffer too short");
    }
    if (totalLength == 0)
    {
        initCipher();
    }
    gCTRBlock(bufBlock, output, offset);
    if (forEncryption)
    {
        bufOff = 0;
    }
    else
    {
        System.arraycopy(bufBlock, BLOCK_SIZE, bufBlock, 0, macSize);
        bufOff = macSize;
    }
}
项目:TinyTravelTracker    文件:RC6Engine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    int blockSize = getBlockSize();
    if (_S == null)
    {
        throw new IllegalStateException("RC6 engine not initialised");
    }
    if ((inOff + blockSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }
    if ((outOff + blockSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (forEncryption)
        ?   encryptBlock(in, inOff, out, outOff) 
        :   decryptBlock(in, inOff, out, outOff);
}
项目:TinyTravelTracker    文件:XTEAEngine.java   
public int processBlock(
    byte[]  in,
    int     inOff,
    byte[]  out,
    int     outOff)
{
    if (!_initialised)
    {
        throw new IllegalStateException(getAlgorithmName()+" not initialised");
    }

    if ((inOff + block_size) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + block_size) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    return (_forEncryption) ? encryptBlock(in, inOff, out, outOff)
                                : decryptBlock(in, inOff, out, outOff);
}
项目:TinyTravelTracker    文件:NullEngine.java   
public int processBlock(byte[] in, int inOff, byte[] out, int outOff)
    throws DataLengthException, IllegalStateException
{
    if (!initialised)
    {
        throw new IllegalStateException("Null engine not initialised");
    }
    if ((inOff + blockSize) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + blockSize) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < blockSize; ++i)
    {
        out[outOff + i] = in[inOff + i];
    }

    return blockSize;
}
项目:TinyTravelTracker    文件:DESEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("DES engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    desFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:TinyTravelTracker    文件:IDEAEngine.java   
public int processBlock(
    byte[] in,
    int inOff,
    byte[] out,
    int outOff)
{
    if (workingKey == null)
    {
        throw new IllegalStateException("IDEA engine not initialised");
    }

    if ((inOff + BLOCK_SIZE) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + BLOCK_SIZE) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    ideaFunc(workingKey, in, inOff, out, outOff);

    return BLOCK_SIZE;
}
项目:TinyTravelTracker    文件:HC128Engine.java   
public int processBytes(byte[] in, int inOff, int len, byte[] out,
                         int outOff) throws DataLengthException
{
    if (!initialised)
    {
        throw new IllegalStateException(getAlgorithmName()
            + " not initialised");
    }

    if ((inOff + len) > in.length)
    {
        throw new DataLengthException("input buffer too short");
    }

    if ((outOff + len) > out.length)
    {
        throw new OutputLengthException("output buffer too short");
    }

    for (int i = 0; i < len; i++)
    {
        out[outOff + i] = (byte)(in[inOff + i] ^ getByte());
    }

    return len;
}