12 lines
34 KiB
Go
Raw Normal View History

2022-01-15 21:17:38 +00:00
//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
2022-09-02 11:46:53 +00:00
package mscfb ;import (_a "bytes";_ae "encoding/binary";_d "fmt";_ad "github.com/richardlehane/msoleps/types";_e "github.com/unidoc/unioffice/internal/mscfb/rw";_bd "io";_f "os";_cb "strconv";_be "time";_b "unicode";_g "unicode/utf16";);func (_cffb Error )Typ ()int {return _cffb ._cfbb };func (_dgc *File )WriteAt (p []byte ,off int64 )(_afbd int ,_gbc error ){_ebgc ,_eaa ,_gfg :=_dgc ._ceg ,_dgc ._aaf ,_dgc ._gb ;_ ,_gbc =_dgc .Seek (off ,0);if _gbc ==nil {_afbd ,_gbc =_dgc .Write (p );};_dgc ._ceg ,_dgc ._aaf ,_dgc ._gb =_ebgc ,_eaa ,_gfg ;return _afbd ,_gbc ;};func _ce (_defe *File ){if _defe ._de < 4||_defe ._de > 64{return ;};_fac :=int (_defe ._de /2-1);_defe .Initial =_defe ._fg [0];var _cg int ;if !_b .IsPrint (rune (_defe .Initial )){_cg =1;};_defe .Name =string (_g .Decode (_defe ._fg [_cg :_fac ]));};func (_babg *Reader )exportMiniStream ()(*_e .Writer ,*_e .Writer ,error ){_ebc ,_cce :=_e .NewWriter (),_e .NewWriter ();_cae :=uint32 (0);for _ ,_dcff :=range _babg .File {if _dcff .Size ==0{continue ;};_dcff .reset ();_dcff ._dc =_cae ;_eef :=int (_dcff .Size )/int (_ged );if int (_dcff .Size )%int (_ged )!=0{_eef ++;};for _cfgd :=1;_cfgd < _eef ;_cfgd ++{_cae ++;if _aeca :=_ae .Write (_ebc ,_ae .LittleEndian ,_cae );_aeca !=nil {return nil ,nil ,_aeca ;};};if _bdbf :=_ae .Write (_ebc ,_ae .LittleEndian ,_caf );_bdbf !=nil {return nil ,nil ,_bdbf ;};_cae ++;if _ ,_dcfg :=_bd .Copy (_cce ,_dcff );_dcfg !=nil {return nil ,nil ,_dcfg ;};if _bfc :=_cce .AlignLength (64);_bfc !=nil {return nil ,nil ,_bfc ;};};if _agg :=_ebc .FillWithByte (int (_babg ._aeb )-_ebc .Len (),_cea );_agg !=nil {return nil ,nil ,_agg ;};if _bdg :=_cce .AlignLength (int (_babg ._aeb ));_bdg !=nil {return nil ,nil ,_bdg ;};return _ebc ,_cce ,nil ;};func _dcb (_dfe []byte )*directoryEntryFields {_ge :=&directoryEntryFields {};for _ee :=range _ge ._fg {_ge ._fg [_ee ]=_ae .LittleEndian .Uint16 (_dfe [_ee *2:_ee *2+2]);};_ge ._de =_ae .LittleEndian .Uint16 (_dfe [64:66]);_ge ._fb =uint8 (_dfe [66]);_ge ._dd =uint8 (_dfe [67]);_ge ._df =_ae .LittleEndian .Uint32 (_dfe [68:72]);_ge ._bf =_ae .LittleEndian .Uint32 (_dfe [72:76]);_ge ._af =_ae .LittleEndian .Uint32 (_dfe [76:80]);_ge ._fa =_ad .MustGuid (_dfe [80:96]);copy (_ge ._fbg [:],_dfe [96:100]);_ge ._bde =_ad .MustFileTime (_dfe [100:108]);_ge ._da =_ad .MustFileTime (_dfe [108:116]);_ge ._dc =_ae .LittleEndian .Uint32 (_dfe [116:120]);copy (_ge ._dfg [:],_dfe [120:128]);return _ge ;};func (_daa *Reader )saveToFatLocs (_aagf uint32 ,_cfga interface{},_acdb bool )error {_bdda :=_a .NewBuffer ([]byte {});if _bbe :=_ae .Write (_bdda ,_ae .LittleEndian ,_cfga );_bbe !=nil {return _bbe ;};_cefc :=_daa .findFatLocsOffset (_acdb )+int64 (_aagf *4);_ ,_ded :=_daa ._fda .WriteAt (_bdda .Bytes (),_cefc );return _ded ;};func (_ag *File )FileInfo ()_f .FileInfo {return fileInfo {_ag }};func _bee (_aa uint16 ,_gf *File ){_ce (_gf );if _gf ._fb !=_dg {return ;};if _aa > 3{_gf .Size =int64 (_ae .LittleEndian .Uint64 (_gf ._dfg [:]));}else {_gf .Size =int64 (_ae .LittleEndian .Uint32 (_gf ._dfg [:4]));};};func (_ec fileInfo )Sys ()interface{}{return nil };type Error struct{_cfbb int ;_cafbb string ;_becdd int64 ;};func (_bcef *Reader )findNextFreeSector (_cbg bool )(uint32 ,error ){_dfa :=_bcef .findFatLocsOffset (_cbg );_cef :=uint32 (0);_eccb :=_bcef ._aeb /4;for {_bbgb ,_deaa :=_bcef .readAt (_dfa ,4);if _deaa !=nil {return 0,Error {ErrRead ,"\u0062\u0061\u0064\u0020\u0072\u0065\u0061\u0064\u0020\u0066i\u006e\u0064\u0069\u006e\u0067\u0020\u006ee\u0078\u0074\u0020\u0073\u0065\u0063\u0074\u006f\u0072\u0020\u0028"+_deaa .Error ()+"\u0029",_dfa };};_eddg :=_ae .LittleEndian .Uint32 (_bbgb );if _eddg ==_baeb {break ;};if _cef >=_eccb {return 0,Error {ErrRead ,"\u0065\u006e\u0064\u0020of\u0020\u006d\u0069\u006e\u0069\u0046\u0061\u0074\u0020\u0072\u0065\u0061\u0063\u0068e\u0064",_dfa };};_cef ++;_dfa +=4;};return _cef ,nil ;};func (_ceag *Reader )setHeader ()error {_ege ,_dcg :=_ceag .readAt (0,_feb );if _dcg !=nil {return _dcg ;};_ceag ._dcga =&header {headerFields :_eega (_ege )};if _ceag ._dcga ._gaa !=_ccb