internal ZipDescompactor(RarManagerImpl Father, SevenZipExtractor sex)
                : base(Father, sex)
            {
                _Root = _Father.ComputeName(_RarContext);

                int rootl = _Root.Length;
                _IsValid = true;
                _Deploy = (rootl + _RarContext.MaxLengthWithoutRoot) < MAX_PATH;
            }
 internal ZipLocalDescompactor(RarManagerImpl Father, SevenZipExtractor sex)
     : base(Father, sex)
 {
     _Root = Path.Combine(Path.GetDirectoryName(sex.FileName), FileInternalToolBox.RawRarName(sex.FileName));
     int rootl = _Root.Length;
     _IsValid = true;
     _Deploy = (rootl + _RarContext.MaxLengthBasic) < MAX_PATH;
 }
 internal ZipSolidDescompactor(RarManagerImpl Father, SevenZipExtractor sex, bool Local)
     : base(Father, sex)
 {
     _Root = Local ? Path.Combine(Path.GetDirectoryName(sex.FileName), FileInternalToolBox.RawRarName(sex.FileName)) : _Father.ComputeName(_RarContext);
     int rootl = _Root.Length;
     _IsValid = true;
     _Deploy = (rootl + _RarContext.MaxLengthBasic) < MAX_PATH && (_RarContext.RootContainsSubFolder());
 }
 protected ZipNotSolidabstractDescompactor(RarManagerImpl Father, SevenZipExtractor sex)
     : base(Father, sex)
 {
 }
        internal static IRarDescompactor GetDescompactor(bool Local, RarManagerImpl Father, SevenZipExtractor sex)
        {
            if (sex.IsSolid)
                return new ZipSolidDescompactor(Father, sex, Local);


            if (Local)
                return new ZipLocalDescompactor(Father, sex);

            return new ZipDescompactor(Father, sex);
        }
        protected ZipabstractDescompactor(RarManagerImpl Father, SevenZipExtractor sex)
        {
            _RarContext = new RarImporterHelper(sex);
            _Father = Father;
            _Sex = sex;

            _ContainsCompressedMusic = (from p in _Sex.ArchiveFileData
                                        where (!p.IsDirectory) && (FileServices.GetFileType(p.SafePath()) == FileType.MusicToConv)
                                        select p).Any();

            _ContainsMusic = _ContainsCompressedMusic ? true : (from p in _Sex.ArchiveFileData
                                                                where (!p.IsDirectory) && (FileServices.GetFileType(p.SafePath()) == FileType.Music)
                                                                select p).Any();

        }