protected function parsePackage($attribute, UploadedFile $value, $parameters)
    {
        $name            = $value->getClientOriginalName();
        $this->directory = $directory       = $value->directory;
        $this->filename  = $filename        = $value->filename;
        $this->extension = $extension       = File::extension($filename);
        $this->module    = $module          = str_replace('.' . $extension, '', $name);

        if ($value->move($directory, $filename)) {
            $za   = new ZipArchive();
            $za->open($directory . DIRECTORY_SEPARATOR . $filename);
            $list = [];
            for ($i = 0; $i < $za->numFiles; $i++) {
                $stat     = $za->statIndex($i);
                $basename = basename($stat['name']);
                if ($basename == $this->manifestPattern && $za->extractTo($directory, array($za->getNameIndex($i)))) { {

                        $this->manifest = $directory . DIRECTORY_SEPARATOR . $basename;
                    }
                }
                $list[] = basename($basename);
            }

            $za->close();
        }

        return $list;
    }