protected function generateLotHeader()
    {
        $assignment = $this->shipping_file->assignment;
        $assignor_person = $assignment->assignor->person;
        $bank = $assignment->bank;

        $format = '%03.3s%04.4s%01.1s%-1.1s%02.2s%-2.2s%03.3s%-1.1s%01.1s'
            . '%015.15s%020.20s%05.5s%-1.1s%012.12s%-1.1s%-1.1s%-30.30s%-40.40s'
            . '%-40.40s%08.8s%08.8s%08.8s%-33.33s';

        $data = [
            $bank->code,
            $this->lot_count,
            '1',
            'R',
            '1',
            '',
            static::VERSION_LOT_LAYOUT,
            '',
            $assignor_person->getDocumentType(),
            $assignor_person->document,
            $assignment->covenant,
            '0', // $assignment->agency,
            '',
            '0', // $assignment->account,
            '',
            '',
            Utils::cleanSpaces($assignor_person->name),
            '',  // message 1
            '',  // message 2
            '0', // number shipping/return
            '0', // recording date
            '0', // credit date
            '',
        ];

        return vsprintf($format, static::normalize($data));
    }