// // 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/ package segments ;import (_b "encoding/binary";_fd "errors";_ba "fmt";_ac "github.com/unidoc/unipdf/v3/common";_fde "github.com/unidoc/unipdf/v3/internal/bitwise";_fe "github.com/unidoc/unipdf/v3/internal/jbig2/basic";_aa "github.com/unidoc/unipdf/v3/internal/jbig2/bitmap"; _cb "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/arithmetic";_g "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/huffman";_ge "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/mmr";_ee "github.com/unidoc/unipdf/v3/internal/jbig2/encoder/arithmetic"; _df "github.com/unidoc/unipdf/v3/internal/jbig2/errors";_ag "github.com/unidoc/unipdf/v3/internal/jbig2/internal";_ad "golang.org/x/xerrors";_f "image";_a "io";_d "math";_c "strings";_bb "time";);func (_bgff *TextRegion )encodeSymbols (_fdfg _fde .BinaryWriter )(_cgfa int ,_gaeb error ){const _eeeg ="\u0065\u006e\u0063\u006f\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c\u0073"; _baafd :=make ([]byte ,4);_b .BigEndian .PutUint32 (_baafd ,_bgff .NumberOfSymbols );if _cgfa ,_gaeb =_fdfg .Write (_baafd );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"\u004e\u0075\u006dbe\u0072\u004f\u0066\u0053\u0079\u006d\u0062\u006f\u006c\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073"); };_eceeg ,_gaeb :=_aa .NewClassedPoints (_bgff ._bggc ,_bgff ._cfbfb );if _gaeb !=nil {return 0,_df .Wrap (_gaeb ,_eeeg ,"");};var _bbfac ,_abgb int ;_ecge :=_ee .New ();_ecge .Init ();if _gaeb =_ecge .EncodeInteger (_ee .IADT ,0);_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0020\u0044\u0054"); };_accd ,_gaeb :=_eceeg .GroupByY ();if _gaeb !=nil {return 0,_df .Wrap (_gaeb ,_eeeg ,"");};for _ ,_dffcg :=range _accd {_edff :=int (_dffcg .YAtIndex (0));_cffg :=_edff -_bbfac ;if _gaeb =_ecge .EncodeInteger (_ee .IADT ,_cffg );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,""); };var _dgcd int ;for _gbad ,_gfce :=range _dffcg .IntSlice {switch _gbad {case 0:_egag :=int (_dffcg .XAtIndex (_gbad ))-_abgb ;if _gaeb =_ecge .EncodeInteger (_ee .IAFS ,_egag );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};_abgb +=_egag ; _dgcd =_abgb ;default:_bcff :=int (_dffcg .XAtIndex (_gbad ))-_dgcd ;if _gaeb =_ecge .EncodeInteger (_ee .IADS ,_bcff );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};_dgcd +=_bcff ;};_agae ,_ffbd :=_bgff ._bgga .Get (_gfce );if _ffbd !=nil {return _cgfa ,_df .Wrap (_ffbd ,_eeeg ,""); };_cgabd ,_cdeb :=_bgff ._bdcda [_agae ];if !_cdeb {_cgabd ,_cdeb =_bgff ._aaceb [_agae ];if !_cdeb {return _cgfa ,_df .Errorf (_eeeg ,"\u0053\u0079\u006d\u0062\u006f\u006c:\u0020\u0027\u0025d\u0027\u0020\u0069s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064 \u0069\u006e\u0020\u0067\u006cob\u0061\u006c\u0020\u0061\u006e\u0064\u0020\u006c\u006f\u0063\u0061\u006c\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0020\u006d\u0061\u0070",_agae ); };};if _ffbd =_ecge .EncodeIAID (_bgff ._eeaag ,_cgabd );_ffbd !=nil {return _cgfa ,_df .Wrap (_ffbd ,_eeeg ,"");};};if _gaeb =_ecge .EncodeOOB (_ee .IADS );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};};_ecge .Final ();_aaea ,_gaeb :=_ecge .WriteTo (_fdfg ); if _gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};_cgfa +=int (_aaea );return _cgfa ,nil ;};func (_fggd *SymbolDictionary )retrieveImportSymbols ()error {for _ ,_geef :=range _fggd .Header .RTSegments {if _geef .Type ==0{_egaa ,_afbd :=_geef .GetSegmentData (); if _afbd !=nil {return _afbd ;};_bbcc ,_efad :=_egaa .(*SymbolDictionary );if !_efad {return _ba .Errorf ("\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0044\u0061\u0074a\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u003a\u0020%\u0054",_egaa ); };_cfcd ,_afbd :=_bbcc .GetDictionary ();if _afbd !=nil {return _ba .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064 \u0073\u0065\u0067m\u0065\u006e\u0074 \u0077\u0069t\u0068\u0020\u0069\u006e\u0064\u0065x\u003a %\u0064\u0020\u0067\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0073",_geef .SegmentNumber ,_afbd .Error ()); };_fggd ._gdf =append (_fggd ._gdf ,_cfcd ...);_fggd ._fdcd +=_bbcc .NumberOfExportedSymbols ;};};return nil ;};type Header struct{SegmentNumber uint32 ;Type Type ;RetainFlag bool ;PageAssociation int ;PageAssociationFieldSize bool ;RTSegments []*Header ; HeaderLength int64 ;SegmentDataLength uint64 ;SegmentDataStartOffset uint64 ;Reader _fde .StreamReader ;SegmentData Segmenter ;RTSNumbers []int ;RetainBits []uint8 ;};func (_adbc *SymbolDictionary )String ()string {_ceab :=&_c .Builder {};_ceab .WriteString ("\n\u005b\u0053\u0059\u004dBO\u004c-\u0044\u0049\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u000a"); _ceab .WriteString (_ba .Sprintf ("\u0009-\u0020S\u0064\u0072\u0054\u0065\u006dp\u006c\u0061t\u0065\u0020\u0025\u0076\u000a",_adbc .SdrTemplate ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0025\u0076\u000a",_adbc .SdTemplate )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006eg\u0043\u006f\u006e\u0074\u0065\u0078\u0074R\u0065\u0074\u0061\u0069\u006e\u0065\u0064\u0020\u0025\u0076\u000a",_adbc ._gebfg ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074\u0065\u0078\u0074\u0055\u0073\u0065\u0064 \u0025\u0076\u000a",_adbc ._acfg )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0041\u0067\u0067\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_adbc .SdHuffAggInstanceSelection )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053d\u0048\u0075\u0066\u0066\u0042\u004d\u0053\u0069\u007a\u0065S\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020%\u0076\u000a",_adbc .SdHuffBMSizeSelection ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_adbc .SdHuffDecodeWidthSelection )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020Sd\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064e\u0048e\u0069g\u0068t\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_adbc .SdHuffDecodeHeightSelection ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020U\u0073\u0065\u0052\u0065f\u0069\u006e\u0065\u006d\u0065\u006e\u0074A\u0067\u0067\u0072\u0065\u0067\u0061\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_adbc .UseRefinementAggregation )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020is\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045\u006e\u0063\u006f\u0064\u0065\u0064\u0020\u0025\u0076\u000a",_adbc .IsHuffmanEncoded ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_adbc .SdATX )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_adbc .SdATY ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_adbc .SdrATX )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_adbc .SdrATY ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u004e\u0075\u006d\u0062\u0065\u0072\u004ff\u0045\u0078\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_adbc .NumberOfExportedSymbols )); _ceab .WriteString (_ba .Sprintf ("\u0009-\u0020\u004e\u0075\u006db\u0065\u0072\u004f\u0066\u004ee\u0077S\u0079m\u0062\u006f\u006c\u0073\u0020\u0025\u0076\n",_adbc .NumberOfNewSymbols ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u004ff\u0049\u006d\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_adbc ._fdcd )); _ceab .WriteString (_ba .Sprintf ("\u0009\u002d \u006e\u0075\u006d\u0062\u0065\u0072\u004f\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0064\u0053\u0079\u006d\u0062\u006f\u006c\u0073 %\u0076\u000a",_adbc ._ddad ));return _ceab .String ();};func (_deeb *GenericRegion )overrideAtTemplate1 (_daf ,_dga ,_gge ,_gdg ,_dfef int )int {_daf &=0x1FF7; if _deeb .GBAtY [0]==0&&_deeb .GBAtX [0]>=-int8 (_dfef ){_daf |=(_gdg >>uint (7-(int8 (_dfef )+_deeb .GBAtX [0]))&0x1)<<3;}else {_daf |=int (_deeb .getPixel (_dga +int (_deeb .GBAtX [0]),_gge +int (_deeb .GBAtY [0])))<<3;};return _daf ;};func (_cdf *TextRegion )decodeStripT ()(_afcb int64 ,_caggc error ){if _cdf .IsHuffmanEncoded {if _cdf .SbHuffDT ==3{if _cdf ._ccfc ==nil {var _bdfe int ; if _cdf .SbHuffFS ==3{_bdfe ++;};if _cdf .SbHuffDS ==3{_bdfe ++;};_cdf ._ccfc ,_caggc =_cdf .getUserTable (_bdfe );if _caggc !=nil {return 0,_caggc ;};};_afcb ,_caggc =_cdf ._ccfc .Decode (_cdf ._deef );if _caggc !=nil {return 0,_caggc ;};}else {var _cbcab _g .Tabler ; _cbcab ,_caggc =_g .GetStandardTable (11+int (_cdf .SbHuffDT ));if _caggc !=nil {return 0,_caggc ;};_afcb ,_caggc =_cbcab .Decode (_cdf ._deef );if _caggc !=nil {return 0,_caggc ;};};}else {var _dgge int32 ;_dgge ,_caggc =_cdf ._adffd .DecodeInt (_cdf ._eaed ); if _caggc !=nil {return 0,_caggc ;};_afcb =int64 (_dgge );};_afcb *=int64 (-_cdf .SbStrips );return _afcb ,nil ;};func (_aaef *SymbolDictionary )readNumberOfExportedSymbols ()error {_ggeb ,_deff :=_aaef ._gcca .ReadBits (32);if _deff !=nil {return _deff ; };_aaef .NumberOfExportedSymbols =uint32 (_ggeb &_d .MaxUint32 );return nil ;};func (_egba *SymbolDictionary )huffDecodeRefAggNInst ()(int64 ,error ){if !_egba .SdHuffAggInstanceSelection {_agadc ,_fgfbb :=_g .GetStandardTable (1);if _fgfbb !=nil {return 0,_fgfbb ; };return _agadc .Decode (_egba ._gcca );};if _egba ._gcbf ==nil {var (_cabe int ;_addg error ;);if _egba .SdHuffDecodeHeightSelection ==3{_cabe ++;};if _egba .SdHuffDecodeWidthSelection ==3{_cabe ++;};if _egba .SdHuffBMSizeSelection ==3{_cabe ++;};_egba ._gcbf ,_addg =_egba .getUserTable (_cabe ); if _addg !=nil {return 0,_addg ;};};return _egba ._gcbf .Decode (_egba ._gcca );};func (_ecg *GenericRegion )GetRegionBitmap ()(_bef *_aa .Bitmap ,_eec error ){if _ecg .Bitmap !=nil {return _ecg .Bitmap ,nil ;};if _ecg .IsMMREncoded {if _ecg ._abdc ==nil {_ecg ._abdc ,_eec =_ge .New (_ecg ._gbg ,int (_ecg .RegionSegment .BitmapWidth ),int (_ecg .RegionSegment .BitmapHeight ),_ecg .DataOffset ,_ecg .DataLength ); if _eec !=nil {return nil ,_eec ;};};_ecg .Bitmap ,_eec =_ecg ._abdc .UncompressMMR ();return _ecg .Bitmap ,_eec ;};if _eec =_ecg .updateOverrideFlags ();_eec !=nil {return nil ,_eec ;};var _adab int ;if _ecg ._cbe ==nil {_ecg ._cbe ,_eec =_cb .New (_ecg ._gbg ); if _eec !=nil {return nil ,_eec ;};};if _ecg ._gbdc ==nil {_ecg ._gbdc =_cb .NewStats (65536,1);};_ecg .Bitmap =_aa .New (int (_ecg .RegionSegment .BitmapWidth ),int (_ecg .RegionSegment .BitmapHeight ));_cbbe :=int (uint32 (_ecg .Bitmap .Width +7)&(^uint32 (7))); for _bbfc :=0;_bbfc < _ecg .Bitmap .Height ;_bbfc ++{if _ecg .IsTPGDon {var _fed int ;_fed ,_eec =_ecg .decodeSLTP ();if _eec !=nil {return nil ,_eec ;};_adab ^=_fed ;};if _adab ==1{if _bbfc > 0{if _eec =_ecg .copyLineAbove (_bbfc );_eec !=nil {return nil ,_eec ; };};}else {if _eec =_ecg .decodeLine (_bbfc ,_ecg .Bitmap .Width ,_cbbe );_eec !=nil {return nil ,_eec ;};};};return _ecg .Bitmap ,nil ;};func (_agb *GenericRegion )Size ()int {return _agb .RegionSegment .Size ()+1+2*len (_agb .GBAtX )};func (_aeee *GenericRegion )writeGBAtPixels (_bge _fde .BinaryWriter )(_dfac int ,_bgg error ){const _becc ="\u0077r\u0069t\u0065\u0047\u0042\u0041\u0074\u0050\u0069\u0078\u0065\u006c\u0073"; if _aeee .UseMMR {return 0,nil ;};_adff :=1;if _aeee .GBTemplate ==0{_adff =4;}else if _aeee .UseExtTemplates {_adff =12;};if len (_aeee .GBAtX )!=_adff {return 0,_df .Errorf (_becc ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0058\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e"); };if len (_aeee .GBAtY )!=_adff {return 0,_df .Errorf (_becc ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0059\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e"); };for _bcb :=0;_bcb < _adff ;_bcb ++{if _bgg =_bge .WriteByte (byte (_aeee .GBAtX [_bcb ]));_bgg !=nil {return _dfac ,_df .Wrap (_bgg ,_becc ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0058");};_dfac ++;if _bgg =_bge .WriteByte (byte (_aeee .GBAtY [_bcb ])); _bgg !=nil {return _dfac ,_df .Wrap (_bgg ,_becc ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0059");};_dfac ++;};return _dfac ,nil ;};func (_dgad *SymbolDictionary )encodeATFlags (_gfb _fde .BinaryWriter )(_ccea int ,_gccc error ){const _dgbb ="\u0065\u006e\u0063\u006f\u0064\u0065\u0041\u0054\u0046\u006c\u0061\u0067\u0073"; if _dgad .IsHuffmanEncoded ||_dgad .SdTemplate !=0{return 0,nil ;};_cfgfd :=4;if _dgad .SdTemplate !=0{_cfgfd =1;};for _gfdd :=0;_gfdd < _cfgfd ;_gfdd ++{if _gccc =_gfb .WriteByte (byte (_dgad .SdATX [_gfdd ]));_gccc !=nil {return _ccea ,_df .Wrapf (_gccc ,_dgbb ,"\u0053d\u0041\u0054\u0058\u005b\u0025\u0064]",_gfdd ); };_ccea ++;if _gccc =_gfb .WriteByte (byte (_dgad .SdATY [_gfdd ]));_gccc !=nil {return _ccea ,_df .Wrapf (_gccc ,_dgbb ,"\u0053d\u0041\u0054\u0059\u005b\u0025\u0064]",_gfdd );};_ccea ++;};return _ccea ,nil ;};func (_fcf *PageInformationSegment )encodeStripingInformation (_ccga _fde .BinaryWriter )(_gdef int ,_ecc error ){const _dgee ="\u0065n\u0063\u006f\u0064\u0065S\u0074\u0072\u0069\u0070\u0069n\u0067I\u006ef\u006f\u0072\u006d\u0061\u0074\u0069\u006fn"; if !_fcf .IsStripe {if _gdef ,_ecc =_ccga .Write ([]byte {0x00,0x00});_ecc !=nil {return 0,_df .Wrap (_ecc ,_dgee ,"n\u006f\u0020\u0073\u0074\u0072\u0069\u0070\u0069\u006e\u0067");};return _gdef ,nil ;};_ebe :=make ([]byte ,2);_b .BigEndian .PutUint16 (_ebe ,_fcf .MaxStripeSize |1<<15); if _gdef ,_ecc =_ccga .Write (_ebe );_ecc !=nil {return 0,_df .Wrapf (_ecc ,_dgee ,"\u0073\u0074\u0072i\u0070\u0069\u006e\u0067\u003a\u0020\u0025\u0064",_fcf .MaxStripeSize );};return _gdef ,nil ;};func (_ecfb *TextRegion )encodeFlags (_ecda _fde .BinaryWriter )(_eccb int ,_ecca error ){const _gead ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073"; if _ecca =_ecda .WriteBit (int (_ecfb .SbrTemplate ));_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"s\u0062\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .SbDsOffset ),5);_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0073\u0062\u0044\u0073\u004f\u0066\u0066\u0073\u0065\u0074"); };if _ecca =_ecda .WriteBit (int (_ecfb .DefaultPixel ));_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0044\u0065\u0066a\u0075\u006c\u0074\u0050\u0069\u0078\u0065\u006c");};if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .CombinationOperator ),2); _ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0043\u006f\u006d\u0062in\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065\u0072\u0061\u0074\u006f\u0072");};if _ecca =_ecda .WriteBit (int (_ecfb .IsTransposed ));_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0069\u0073\u0020\u0074\u0072\u0061\u006e\u0073\u0070\u006f\u0073\u0065\u0064"); };if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .ReferenceCorner ),2);_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0072\u0065f\u0065\u0072\u0065n\u0063\u0065\u0020\u0063\u006f\u0072\u006e\u0065\u0072");};if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .LogSBStrips ),2); _ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"L\u006f\u0067\u0053\u0042\u0053\u0074\u0072\u0069\u0070\u0073");};var _bcec int ;if _ecfb .UseRefinement {_bcec =1;};if _ecca =_ecda .WriteBit (_bcec );_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0075\u0073\u0065\u0020\u0072\u0065\u0066\u0069\u006ee\u006d\u0065\u006e\u0074"); };_bcec =0;if _ecfb .IsHuffmanEncoded {_bcec =1;};if _ecca =_ecda .WriteBit (_bcec );_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"u\u0073\u0065\u0020\u0068\u0075\u0066\u0066\u006d\u0061\u006e");};_eccb =2;return _eccb ,nil ;};func (_abaa *HalftoneRegion )computeGrayScalePlanes (_bfddb []*_aa .Bitmap ,_dfgg int )([][]int ,error ){_eeee :=make ([][]int ,_abaa .HGridHeight ); for _febb :=0;_febb < len (_eeee );_febb ++{_eeee [_febb ]=make ([]int ,_abaa .HGridWidth );};for _dcgd :=0;_dcgd < int (_abaa .HGridHeight );_dcgd ++{for _afec :=0;_afec < int (_abaa .HGridWidth );_afec +=8{var _gaac int ;if _dbgd :=int (_abaa .HGridWidth )-_afec ; _dbgd > 8{_gaac =8;}else {_gaac =_dbgd ;};_gdb :=_bfddb [0].GetByteIndex (_afec ,_dcgd );for _dfca :=0;_dfca < _gaac ;_dfca ++{_ecfd :=_dfca +_afec ;_eeee [_dcgd ][_ecfd ]=0;for _bcbg :=0;_bcbg < _dfgg ;_bcbg ++{_abfa ,_cdgc :=_bfddb [_bcbg ].GetByte (_gdb ); if _cdgc !=nil {return nil ,_cdgc ;};_efdg :=_abfa >>uint (7-_ecfd &7);_eebc :=_efdg &1;_aeed :=1<=2{_ffd [0]=2;};_cbec [0]=-1;_ffd [1]=-3;_cbec [1]=-1;_ffd [2]=2;_cbec [2]=-2;_ffd [3]=-2;_cbec [3]=-2; };_agf :=make ([]*_aa .Bitmap ,_gaaf );_bdfa :=NewGenericRegion (_dcba ._eecb );_bdfa .setParametersMMR (_dcba .IsMMREncoded ,_dcba .DataOffset ,_dcba .DataLength ,_dcba .HGridHeight ,_dcba .HGridWidth ,_dcba .HTemplate ,false ,_dcba .HSkipEnabled ,_ffd ,_cbec ); _ccc :=_gaaf -1;var _ffde error ;_agf [_ccc ],_ffde =_bdfa .GetRegionBitmap ();if _ffde !=nil {return nil ,_ffde ;};for _ccc > 0{_ccc --;_bdfa .Bitmap =nil ;_agf [_ccc ],_ffde =_bdfa .GetRegionBitmap ();if _ffde !=nil {return nil ,_ffde ;};if _ffde =_dcba .combineGrayscalePlanes (_agf ,_ccc ); _ffde !=nil {return nil ,_ffde ;};};return _dcba .computeGrayScalePlanes (_agf ,_gaaf );};func (_bcgf *PageInformationSegment )readCombinationOperator ()error {_gffg ,_agbcc :=_bcgf ._badgb .ReadBits (2);if _agbcc !=nil {return _agbcc ;};_bcgf ._gadg =_aa .CombinationOperator (int (_gffg )); return nil ;};func (_defb *TextRegion )decodeCurrentT ()(int64 ,error ){if _defb .SbStrips !=1{if _defb .IsHuffmanEncoded {_aafae ,_bgecc :=_defb ._deef .ReadBits (byte (_defb .LogSBStrips ));return int64 (_aafae ),_bgecc ;};_cdbg ,_adcfc :=_defb ._adffd .DecodeInt (_defb ._effgga ); if _adcfc !=nil {return 0,_adcfc ;};return int64 (_cdbg ),nil ;};return 0,nil ;};func _eae (_cega _fde .StreamReader ,_gab *Header )*GenericRefinementRegion {return &GenericRefinementRegion {_feb :_cega ,RegionInfo :NewRegionSegment (_cega ),_cf :_gab ,_bag :&template0 {},_fb :&template1 {}}; };func (_eab *HalftoneRegion )combineGrayscalePlanes (_bdcde []*_aa .Bitmap ,_ebdd int )error {_gbae :=0;for _aef :=0;_aef < _bdcde [_ebdd ].Height ;_aef ++{for _gdad :=0;_gdad < _bdcde [_ebdd ].Width ;_gdad +=8{_bbfg ,_facd :=_bdcde [_ebdd +1].GetByte (_gbae ); if _facd !=nil {return _facd ;};_dgb ,_facd :=_bdcde [_ebdd ].GetByte (_gbae );if _facd !=nil {return _facd ;};_facd =_bdcde [_ebdd ].SetByte (_gbae ,_aa .CombineBytes (_dgb ,_bbfg ,_aa .CmbOpXor ));if _facd !=nil {return _facd ;};_gbae ++;};};return nil ; };func (_ecb *GenericRegion )decodeTemplate2 (_fec ,_ccgc ,_ebf int ,_agade ,_fad int )(_cfgf error ){const _acd ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0032";var (_ccf ,_bee int ;_edb ,_afg int ;_befc byte ;_geccb ,_cac int ; );if _fec >=1{_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad );if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0031");};_edb =int (_befc );};if _fec >=2{_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad -_ecb .Bitmap .RowStride ); if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0032");};_afg =int (_befc )<<4;};_ccf =(_edb >>3&0x7c)|(_afg >>3&0x380);for _gggc :=0;_gggc < _ebf ;_gggc =_geccb {var (_dgc byte ; _cbcf int ;);_geccb =_gggc +8;if _bfeg :=_ccgc -_gggc ;_bfeg > 8{_cbcf =8;}else {_cbcf =_bfeg ;};if _fec > 0{_edb <<=8;if _geccb < _ccgc {_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad +1);if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0030"); };_edb |=int (_befc );};};if _fec > 1{_afg <<=8;if _geccb < _ccgc {_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad -_ecb .Bitmap .RowStride +1);if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0031"); };_afg |=int (_befc )<<4;};};for _gcafd :=0;_gcafd < _cbcf ;_gcafd ++{_bbb :=uint (10-_gcafd );if _ecb ._dfg {_bee =_ecb .overrideAtTemplate2 (_ccf ,_gggc +_gcafd ,_fec ,int (_dgc ),_gcafd );_ecb ._gbdc .SetIndex (int32 (_bee ));}else {_ecb ._gbdc .SetIndex (int32 (_ccf )); };_cac ,_cfgf =_ecb ._cbe .DecodeBit (_ecb ._gbdc );if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"");};_dgc |=byte (_cac <>_bbb )&0x4)|((_afg >>_bbb )&0x80);};if _ddac :=_ecb .Bitmap .SetByte (_agade ,_dgc ); _ddac !=nil {return _df .Wrap (_ddac ,_acd ,"");};_agade ++;_fad ++;};return nil ;};func (_adfb *PageInformationSegment )readMaxStripeSize ()error {_gbdcc ,_afef :=_adfb ._badgb .ReadBits (15);if _afef !=nil {return _afef ;};_adfb .MaxStripeSize =uint16 (_gbdcc &_d .MaxUint16 ); return nil ;};type GenericRefinementRegion struct{_bag templater ;_fb templater ;_feb _fde .StreamReader ;_cf *Header ;RegionInfo *RegionSegment ;IsTPGROn bool ;TemplateID int8 ;Template templater ;GrAtX []int8 ;GrAtY []int8 ;RegionBitmap *_aa .Bitmap ; ReferenceBitmap *_aa .Bitmap ;ReferenceDX int32 ;ReferenceDY int32 ;_baga *_cb .Decoder ;_aad *_cb .DecoderStats ;_gg bool ;_bab []bool ;};func (_agcg *SymbolDictionary )decodeHeightClassCollectiveBitmap (_egdf int64 ,_aeegg ,_bdca uint32 )(*_aa .Bitmap ,error ){if _egdf ==0{_acab :=_aa .New (int (_bdca ),int (_aeegg )); var (_cfdfa byte ;_bbcfc error ;);for _dfbab :=0;_dfbab < len (_acab .Data );_dfbab ++{_cfdfa ,_bbcfc =_agcg ._gcca .ReadByte ();if _bbcfc !=nil {return nil ,_bbcfc ;};if _bbcfc =_acab .SetByte (_dfbab ,_cfdfa );_bbcfc !=nil {return nil ,_bbcfc ;};};return _acab ,nil ; };if _agcg ._baeb ==nil {_agcg ._baeb =NewGenericRegion (_agcg ._gcca );};_agcg ._baeb .setParameters (true ,_agcg ._gcca .StreamPosition (),_egdf ,_aeegg ,_bdca );_fcgb ,_bgf :=_agcg ._baeb .GetRegionBitmap ();if _bgf !=nil {return nil ,_bgf ;};return _fcgb ,nil ; };func (_fcef *HalftoneRegion )computeX (_fdfb ,_ggfe int )int {return _fcef .shiftAndFill (int (_fcef .HGridX )+_fdfb *int (_fcef .HRegionY )+_ggfe *int (_fcef .HRegionX ));};func (_ggc *GenericRegion )InitEncode (bm *_aa .Bitmap ,xLoc ,yLoc ,template int ,duplicateLineRemoval bool )error {const _effe ="\u0047e\u006e\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069\u006f\u006e.\u0049\u006e\u0069\u0074\u0045\u006e\u0063\u006f\u0064\u0065"; if bm ==nil {return _df .Error (_effe ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};if xLoc < 0||yLoc < 0{return _df .Error (_effe ,"\u0078\u0020\u0061\u006e\u0064\u0020\u0079\u0020\u006c\u006f\u0063\u0061\u0074i\u006f\u006e\u0020\u006d\u0075\u0073t\u0020\u0062\u0065\u0020\u0067\u0072\u0065\u0061\u0074\u0065\u0072\u0020\u0074h\u0061\u006e\u0020\u0030"); };_ggc .Bitmap =bm ;_ggc .GBTemplate =byte (template );switch _ggc .GBTemplate {case 0:_ggc .GBAtX =[]int8 {3,-3,2,-2};_ggc .GBAtY =[]int8 {-1,-1,-2,-2};case 1:_ggc .GBAtX =[]int8 {3};_ggc .GBAtY =[]int8 {-1};case 2,3:_ggc .GBAtX =[]int8 {2};_ggc .GBAtY =[]int8 {-1}; default:return _df .Errorf (_effe ,"\u0070\u0072o\u0076\u0069\u0064\u0065\u0064 \u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0020\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u007b\u0030\u002c\u0031\u002c\u0032\u002c\u0033\u007d",template ); };_ggc .RegionSegment =&RegionSegment {BitmapHeight :uint32 (bm .Height ),BitmapWidth :uint32 (bm .Width ),XLocation :uint32 (xLoc ),YLocation :uint32 (yLoc )};_ggc .IsTPGDon =duplicateLineRemoval ;return nil ;};func (_dabbf *PageInformationSegment )readIsLossless ()error {_fdgg ,_fagc :=_dabbf ._badgb .ReadBit (); if _fagc !=nil {return _fagc ;};if _fdgg ==1{_dabbf .IsLossless =true ;};return nil ;};func (_ddab *PageInformationSegment )readCombinationOperatorOverrideAllowed ()error {_bdb ,_agccb :=_ddab ._badgb .ReadBit ();if _agccb !=nil {return _agccb ;};if _bdb ==1{_ddab ._cfc =true ; };return nil ;};func (_gf *GenericRegion )parseHeader ()(_afa error ){_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052I\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0050\u0061\u0072s\u0069\u006e\u0067\u0048\u0065\u0061\u0064e\u0072\u002e\u002e\u002e"); defer func (){if _afa !=nil {_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e]\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065r\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0077\u0069th\u0020\u0065\u0072\u0072\u006f\u0072\u002e\u0020\u0025\u0076",_afa ); }else {_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049C\u002d\u0052\u0045G\u0049\u004f\u004e]\u0020\u0050a\u0072\u0073\u0069\u006e\u0067\u0048e\u0061de\u0072\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0053\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079\u002e\u002e\u002e"); };}();var (_bcg int ;_gbff uint64 ;);if _afa =_gf .RegionSegment .parseHeader ();_afa !=nil {return _afa ;};if _ ,_afa =_gf ._gbg .ReadBits (3);_afa !=nil {return _afa ;};_bcg ,_afa =_gf ._gbg .ReadBit ();if _afa !=nil {return _afa ;};if _bcg ==1{_gf .UseExtTemplates =true ; };_bcg ,_afa =_gf ._gbg .ReadBit ();if _afa !=nil {return _afa ;};if _bcg ==1{_gf .IsTPGDon =true ;};_gbff ,_afa =_gf ._gbg .ReadBits (2);if _afa !=nil {return _afa ;};_gf .GBTemplate =byte (_gbff &0xf);_bcg ,_afa =_gf ._gbg .ReadBit ();if _afa !=nil {return _afa ; };if _bcg ==1{_gf .IsMMREncoded =true ;};if !_gf .IsMMREncoded {_fee :=1;if _gf .GBTemplate ==0{_fee =4;if _gf .UseExtTemplates {_fee =12;};};if _afa =_gf .readGBAtPixels (_fee );_afa !=nil {return _afa ;};};if _afa =_gf .computeSegmentDataStructure (); _afa !=nil {return _afa ;};_ac .Log .Trace ("\u0025\u0073",_gf );return nil ;};func (_bca *GenericRefinementRegion )parseHeader ()(_egc error ){_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072s\u0069\u006e\u0067\u0020\u0048e\u0061\u0064e\u0072\u002e\u002e\u002e"); _gadf :=_bb .Now ();defer func (){if _egc ==nil {_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045G\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020h\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0069\u006e\u0069\u0073\u0068id\u0020\u0069\u006e\u003a\u0020\u0025\u0064\u0020\u006e\u0073",_bb .Since (_gadf ).Nanoseconds ()); }else {_ac .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020\u0068\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0073",_egc ); };}();if _egc =_bca .RegionInfo .parseHeader ();_egc !=nil {return _egc ;};_ ,_egc =_bca ._feb .ReadBits (6);if _egc !=nil {return _egc ;};_bca .IsTPGROn ,_egc =_bca ._feb .ReadBool ();if _egc !=nil {return _egc ;};var _gbaf int ;_gbaf ,_egc =_bca ._feb .ReadBit (); if _egc !=nil {return _egc ;};_bca .TemplateID =int8 (_gbaf );switch _bca .TemplateID {case 0:_bca .Template =_bca ._bag ;if _egc =_bca .readAtPixels ();_egc !=nil {return ;};case 1:_bca .Template =_bca ._fb ;};return nil ;};var _ SegmentEncoder =&GenericRegion {}; func (_bcc *Header )pageSize ()uint {if _bcc .PageAssociation <=255{return 1;};return 4;};func (_bfa *GenericRegion )Init (h *Header ,r _fde .StreamReader )error {_bfa .RegionSegment =NewRegionSegment (r );_bfa ._gbg =r ;return _bfa .parseHeader ();};func (_cbfb *SymbolDictionary )encodeFlags (_gade _fde .BinaryWriter )(_aabg int ,_fdee error ){const _dgfc ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073"; if _fdee =_gade .SkipBits (3);_fdee !=nil {return 0,_df .Wrap (_fdee ,_dgfc ,"\u0065\u006d\u0070\u0074\u0079\u0020\u0062\u0069\u0074\u0073");};var _cgac int ;if _cbfb .SdrTemplate > 0{_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"s\u0064\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065"); };_cgac =0;if _cbfb .SdTemplate > 1{_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_cgac =0;if _cbfb .SdTemplate ==1||_cbfb .SdTemplate ==3{_cgac =1; };if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_cgac =0;if _cbfb ._gebfg {_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0063\u006f\u0064in\u0067\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0065\u0064"); };_cgac =0;if _cbfb ._acfg {_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0063\u006f\u0064\u0069ng\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0075\u0073\u0065\u0064");};_cgac =0;if _cbfb .SdHuffAggInstanceSelection {_cgac =1; };if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048\u0075\u0066\u0066\u0041\u0067\u0067\u0049\u006e\u0073\u0074");};_cgac =int (_cbfb .SdHuffBMSizeSelection );if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048u\u0066\u0066\u0042\u006d\u0053\u0069\u007a\u0065"); };_cgac =0;if _cbfb .SdHuffDecodeWidthSelection > 1{_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"s\u0064\u0048\u0075\u0066\u0066\u0057\u0069\u0064\u0074\u0068");};_cgac =0;switch _cbfb .SdHuffDecodeWidthSelection {case 1,3:_cgac =1; };if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"s\u0064\u0048\u0075\u0066\u0066\u0057\u0069\u0064\u0074\u0068");};_cgac =0;if _cbfb .SdHuffDecodeHeightSelection > 1{_cgac =1;};if _fdee =_gade .WriteBit (_cgac ); _fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048u\u0066\u0066\u0048\u0065\u0069\u0067\u0068\u0074");};_cgac =0;switch _cbfb .SdHuffDecodeHeightSelection {case 1,3:_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048u\u0066\u0066\u0048\u0065\u0069\u0067\u0068\u0074"); };_cgac =0;if _cbfb .UseRefinementAggregation {_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0052\u0065\u0066\u0041\u0067\u0067");};_cgac =0;if _cbfb .IsHuffmanEncoded {_cgac =1;};if _fdee =_gade .WriteBit (_cgac ); _fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048\u0075\u0066\u0066");};return 2,nil ;};func (_bcgc *Header )subInputReader ()(_fde .StreamReader ,error ){return _fde .NewSubstreamReader (_bcgc .Reader ,_bcgc .SegmentDataStartOffset ,_bcgc .SegmentDataLength ); };func (_fge *SymbolDictionary )setInSyms ()error {if _fge .Header .RTSegments !=nil {return _fge .retrieveImportSymbols ();};_fge ._gdf =make ([]*_aa .Bitmap ,0);return nil ;};func (_aabb *HalftoneRegion )checkInput ()error {if _aabb .IsMMREncoded {if _aabb .HTemplate !=0{_ac .Log .Debug ("\u0048\u0054\u0065\u006d\u0070l\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030",_aabb .HTemplate ); };if _aabb .HSkipEnabled {_ac .Log .Debug ("\u0048\u0053\u006b\u0069\u0070\u0045\u006e\u0061\u0062\u006c\u0065\u0064\u0020\u0030\u0020\u0025\u0076\u0020(\u0073\u0068\u006f\u0075\u006c\u0064\u0020c\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020v\u0061\u006c\u0075\u0065\u0020\u0066\u0061\u006c\u0073\u0065\u0029",_aabb .HSkipEnabled ); };};return nil ;};func (_cea *GenericRefinementRegion )decodeTemplate (_bbg ,_cbacf ,_abe ,_eef ,_ffc ,_fca ,_gcd ,_dda ,_fbb ,_bfc int ,_eg templater )(_afb error ){var (_bda ,_ced ,_efa ,_adcc ,_cbad int16 ;_gedd ,_ddc ,_gccd ,_cdd int ;_egf byte ;); if _fbb >=1&&(_fbb -1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return ;};_gedd =int (_egf );};if _fbb >=0&&(_fbb )< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc ); if _afb !=nil {return ;};_ddc =int (_egf );};if _fbb >=-1&&(_fbb +1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef );if _afb !=nil {return ;};_gccd =int (_egf );};_bfc ++;if _bbg >=1{_egf ,_afb =_cea .RegionBitmap .GetByte (_dda -_abe ); if _afb !=nil {return ;};_cdd =int (_egf );};_dda ++;_cdaa :=_cea .ReferenceDX %8;_da :=6+_cdaa ;_bdf :=_bfc %_eef ;if _da >=0{if _da < 8{_bda =int16 (_gedd >>uint (_da ))&0x07;};if _da < 8{_ced =int16 (_ddc >>uint (_da ))&0x07;};if _da < 8{_efa =int16 (_gccd >>uint (_da ))&0x07; };if _da ==6&&_bdf > 1{if _fbb >=1&&(_fbb -1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef -2);if _afb !=nil {return _afb ;};_bda |=int16 (_egf <<2)&0x04;};if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -2); if _afb !=nil {return _afb ;};_ced |=int16 (_egf <<2)&0x04;};if _fbb >=-1&&_fbb +1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef -2);if _afb !=nil {return _afb ;};_efa |=int16 (_egf <<2)&0x04;};};if _da ==0{_gedd =0; _ddc =0;_gccd =0;if _bdf < _eef -1{if _fbb >=1&&_fbb -1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return _afb ;};_gedd =int (_egf );};if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc ); if _afb !=nil {return _afb ;};_ddc =int (_egf );};if _fbb >=-1&&_fbb +1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef );if _afb !=nil {return _afb ;};_gccd =int (_egf );};};_bfc ++;};}else {_bda =int16 (_gedd <<1)&0x07; _ced =int16 (_ddc <<1)&0x07;_efa =int16 (_gccd <<1)&0x07;_gedd =0;_ddc =0;_gccd =0;if _bdf < _eef -1{if _fbb >=1&&_fbb -1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return _afb ;};_gedd =int (_egf ); };if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc );if _afb !=nil {return _afb ;};_ddc =int (_egf );};if _fbb >=-1&&_fbb +1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef ); if _afb !=nil {return _afb ;};_gccd =int (_egf );};_bfc ++;};_bda |=int16 ((_gedd >>7)&0x07);_ced |=int16 ((_ddc >>7)&0x07);_efa |=int16 ((_gccd >>7)&0x07);};_adcc =int16 (_cdd >>6);_cbad =0;_ca :=(2-_cdaa )%8;_gedd <<=uint (_ca );_ddc <<=uint (_ca );_gccd <<=uint (_ca ); _cdd <<=2;var _caf int ;for _ecd :=0;_ecd < _cbacf ;_ecd ++{_deb :=_ecd &0x07;_cec :=_eg .form (_bda ,_ced ,_efa ,_adcc ,_cbad );if _cea ._gg {_egf ,_afb =_cea .RegionBitmap .GetByte (_cea .RegionBitmap .GetByteIndex (_ecd ,_bbg ));if _afb !=nil {return _afb ; };_cea ._aad .SetIndex (int32 (_cea .overrideAtTemplate0 (int (_cec ),_ecd ,_bbg ,int (_egf ),_deb )));}else {_cea ._aad .SetIndex (int32 (_cec ));};_caf ,_afb =_cea ._baga .DecodeBit (_cea ._aad );if _afb !=nil {return _afb ;};if _afb =_cea .RegionBitmap .SetPixel (_ecd ,_bbg ,byte (_caf )); _afb !=nil {return _afb ;};_bda =((_bda <<1)|0x01&int16 (_gedd >>7))&0x07;_ced =((_ced <<1)|0x01&int16 (_ddc >>7))&0x07;_efa =((_efa <<1)|0x01&int16 (_gccd >>7))&0x07;_adcc =((_adcc <<1)|0x01&int16 (_cdd >>7))&0x07;_cbad =int16 (_caf );if (_ecd -int (_cea .ReferenceDX ))%8==5{_gedd =0; _ddc =0;_gccd =0;if ((_ecd -int (_cea .ReferenceDX ))/8)+1< _cea .ReferenceBitmap .RowStride {if _fbb >=1&&(_fbb -1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return _afb ;};_gedd =int (_egf ); };if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc );if _afb !=nil {return _afb ;};_ddc =int (_egf );};if _fbb >=-1&&(_fbb +1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef ); if _afb !=nil {return _afb ;};_gccd =int (_egf );};};_bfc ++;}else {_gedd <<=1;_ddc <<=1;_gccd <<=1;};if _deb ==5&&_bbg >=1{if ((_ecd >>3)+1)>=_cea .RegionBitmap .RowStride {_cdd =0;}else {_egf ,_afb =_cea .RegionBitmap .GetByte (_dda -_abe );if _afb !=nil {return _afb ; };_cdd =int (_egf );};_dda ++;}else {_cdd <<=1;};};return nil ;};func (_egeg *GenericRegion )overrideAtTemplate0b (_bgc ,_cgb ,_aac ,_efd ,_faea ,_fgb int )int {if _egeg .GBAtOverride [0]{_bgc &=0xFFFD;if _egeg .GBAtY [0]==0&&_egeg .GBAtX [0]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [0]&0x1))<<1; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [0]),_aac +int (_egeg .GBAtY [0])))<<1;};};if _egeg .GBAtOverride [1]{_bgc &=0xDFFF;if _egeg .GBAtY [1]==0&&_egeg .GBAtX [1]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [1]&0x1))<<13; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [1]),_aac +int (_egeg .GBAtY [1])))<<13;};};if _egeg .GBAtOverride [2]{_bgc &=0xFDFF;if _egeg .GBAtY [2]==0&&_egeg .GBAtX [2]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [2]&0x1))<<9; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [2]),_aac +int (_egeg .GBAtY [2])))<<9;};};if _egeg .GBAtOverride [3]{_bgc &=0xBFFF;if _egeg .GBAtY [3]==0&&_egeg .GBAtX [3]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [3]&0x1))<<14; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [3]),_aac +int (_egeg .GBAtY [3])))<<14;};};if _egeg .GBAtOverride [4]{_bgc &=0xEFFF;if _egeg .GBAtY [4]==0&&_egeg .GBAtX [4]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [4]&0x1))<<12; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [4]),_aac +int (_egeg .GBAtY [4])))<<12;};};if _egeg .GBAtOverride [5]{_bgc &=0xFFDF;if _egeg .GBAtY [5]==0&&_egeg .GBAtX [5]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [5]&0x1))<<5; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [5]),_aac +int (_egeg .GBAtY [5])))<<5;};};if _egeg .GBAtOverride [6]{_bgc &=0xFFFB;if _egeg .GBAtY [6]==0&&_egeg .GBAtX [6]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [6]&0x1))<<2; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [6]),_aac +int (_egeg .GBAtY [6])))<<2;};};if _egeg .GBAtOverride [7]{_bgc &=0xFFF7;if _egeg .GBAtY [7]==0&&_egeg .GBAtX [7]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [7]&0x1))<<3; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [7]),_aac +int (_egeg .GBAtY [7])))<<3;};};if _egeg .GBAtOverride [8]{_bgc &=0xF7FF;if _egeg .GBAtY [8]==0&&_egeg .GBAtX [8]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [8]&0x1))<<11; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [8]),_aac +int (_egeg .GBAtY [8])))<<11;};};if _egeg .GBAtOverride [9]{_bgc &=0xFFEF;if _egeg .GBAtY [9]==0&&_egeg .GBAtX [9]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [9]&0x1))<<4; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [9]),_aac +int (_egeg .GBAtY [9])))<<4;};};if _egeg .GBAtOverride [10]{_bgc &=0x7FFF;if _egeg .GBAtY [10]==0&&_egeg .GBAtX [10]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [10]&0x1))<<15; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [10]),_aac +int (_egeg .GBAtY [10])))<<15;};};if _egeg .GBAtOverride [11]{_bgc &=0xFDFF;if _egeg .GBAtY [11]==0&&_egeg .GBAtX [11]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [11]&0x1))<<10; }else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [11]),_aac +int (_egeg .GBAtY [11])))<<10;};};return _bgc ;};func (_aacea *TextRegion )readRegionFlags ()error {var (_ecec int ;_fgbf uint64 ;_ggfd error ;);_ecec ,_ggfd =_aacea ._deef .ReadBit (); if _ggfd !=nil {return _ggfd ;};_aacea .SbrTemplate =int8 (_ecec );_fgbf ,_ggfd =_aacea ._deef .ReadBits (5);if _ggfd !=nil {return _ggfd ;};_aacea .SbDsOffset =int8 (_fgbf );if _aacea .SbDsOffset > 0x0f{_aacea .SbDsOffset -=0x20;};_ecec ,_ggfd =_aacea ._deef .ReadBit (); if _ggfd !=nil {return _ggfd ;};_aacea .DefaultPixel =int8 (_ecec );_fgbf ,_ggfd =_aacea ._deef .ReadBits (2);if _ggfd !=nil {return _ggfd ;};_aacea .CombinationOperator =_aa .CombinationOperator (int (_fgbf )&0x3);_ecec ,_ggfd =_aacea ._deef .ReadBit (); if _ggfd !=nil {return _ggfd ;};_aacea .IsTransposed =int8 (_ecec );_fgbf ,_ggfd =_aacea ._deef .ReadBits (2);if _ggfd !=nil {return _ggfd ;};_aacea .ReferenceCorner =int16 (_fgbf )&0x3;_fgbf ,_ggfd =_aacea ._deef .ReadBits (2);if _ggfd !=nil {return _ggfd ; };_aacea .LogSBStrips =int16 (_fgbf )&0x3;_aacea .SbStrips =1<=-_cad {_gecc |=(_dbf >>uint (7-(_cad +int (_dg .GrAtX [0])))&0x1)<<3; }else {_gecc |=_dg .getPixel (_dg .RegionBitmap ,_aaf +int (_dg .GrAtX [0]),_aba +int (_dg .GrAtY [0]))<<3;};};if _dg ._bab [1]{_gecc &=0xefff;if _dg .GrAtY [1]==0&&int (_dg .GrAtX [1])>=-_cad {_gecc |=(_dbf >>uint (7-(_cad +int (_dg .GrAtX [1])))&0x1)<<12; }else {_gecc |=_dg .getPixel (_dg .ReferenceBitmap ,_aaf +int (_dg .GrAtX [1]),_aba +int (_dg .GrAtY [1]));};};return _gecc ;};func (_dbccg *PatternDictionary )GetDictionary ()([]*_aa .Bitmap ,error ){if _dbccg .Patterns !=nil {return _dbccg .Patterns ,nil ; };if !_dbccg .IsMMREncoded {_dbccg .setGbAtPixels ();};_acf :=NewGenericRegion (_dbccg ._aedd );_acf .setParametersMMR (_dbccg .IsMMREncoded ,_dbccg .DataOffset ,_dbccg .DataLength ,uint32 (_dbccg .HdpHeight ),(_dbccg .GrayMax +1)*uint32 (_dbccg .HdpWidth ),_dbccg .HDTemplate ,false ,false ,_dbccg .GBAtX ,_dbccg .GBAtY ); _bgdd ,_ffce :=_acf .GetRegionBitmap ();if _ffce !=nil {return nil ,_ffce ;};if _ffce =_dbccg .extractPatterns (_bgdd );_ffce !=nil {return nil ,_ffce ;};return _dbccg .Patterns ,nil ;};func (_cab *GenericRegion )setOverrideFlag (_dbb int ){_cab .GBAtOverride [_dbb ]=true ; _cab ._dfg =true ;};func (_gbe *TextRegion )createRegionBitmap ()error {_gbe .RegionBitmap =_aa .New (int (_gbe .RegionInfo .BitmapWidth ),int (_gbe .RegionInfo .BitmapHeight ));if _gbe .DefaultPixel !=0{_gbe .RegionBitmap .SetDefaultPixel ();};return nil ; };type Pager interface{GetSegment (int )(*Header ,error );GetBitmap ()(*_aa .Bitmap ,error );};func (_dgac *TextRegion )decodeID ()(int64 ,error ){if _dgac .IsHuffmanEncoded {if _dgac ._abdbc ==nil {_gbed ,_efgg :=_dgac ._deef .ReadBits (byte (_dgac ._befd )); return int64 (_gbed ),_efgg ;};return _dgac ._abdbc .Decode (_dgac ._deef );};return _dgac ._adffd .DecodeIAID (uint64 (_dgac ._befd ),_dgac ._afgf );};func (_ccbdb *TextRegion )decodeIds ()(int64 ,error ){const _fbada ="\u0064e\u0063\u006f\u0064\u0065\u0049\u0064s"; if _ccbdb .IsHuffmanEncoded {if _ccbdb .SbHuffDS ==3{if _ccbdb ._aaff ==nil {_gfaff :=0;if _ccbdb .SbHuffFS ==3{_gfaff ++;};var _edgb error ;_ccbdb ._aaff ,_edgb =_ccbdb .getUserTable (_gfaff );if _edgb !=nil {return 0,_df .Wrap (_edgb ,_fbada ,"");};}; return _ccbdb ._aaff .Decode (_ccbdb ._deef );};_fgba ,_gadd :=_g .GetStandardTable (8+int (_ccbdb .SbHuffDS ));if _gadd !=nil {return 0,_df .Wrap (_gadd ,_fbada ,"");};return _fgba .Decode (_ccbdb ._deef );};_dgef ,_fdde :=_ccbdb ._adffd .DecodeInt (_ccbdb ._agcab ); if _fdde !=nil {return 0,_df .Wrap (_fdde ,_fbada ,"\u0063\u0078\u0049\u0041\u0044\u0053");};return int64 (_dgef ),nil ;};func (_gde *GenericRegion )decodeTemplate0b (_dddg ,_abef ,_aaa int ,_fbed ,_gebed int )(_gee error ){const _gef ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0062"; var (_fdg ,_ead int ;_cee ,_cdba int ;_dcf byte ;_agcc int ;);if _dddg >=1{_dcf ,_gee =_gde .Bitmap .GetByte (_gebed );if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_cee =int (_dcf );};if _dddg >=2{_dcf ,_gee =_gde .Bitmap .GetByte (_gebed -_gde .Bitmap .RowStride ); if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_cdba =int (_dcf )<<6;};_fdg =(_cee &0xf0)|(_cdba &0x3800);for _caa :=0;_caa < _aaa ;_caa =_agcc {var (_cddf byte ;_aae int ;);_agcc =_caa +8;if _gbge :=_abef -_caa ; _gbge > 8{_aae =8;}else {_aae =_gbge ;};if _dddg > 0{_cee <<=8;if _agcc < _abef {_dcf ,_gee =_gde .Bitmap .GetByte (_gebed +1);if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_cee |=int (_dcf );};};if _dddg > 1{_cdba <<=8; if _agcc < _abef {_dcf ,_gee =_gde .Bitmap .GetByte (_gebed -_gde .Bitmap .RowStride +1);if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_cdba |=int (_dcf )<<6;};};for _dcfe :=0;_dcfe < _aae ;_dcfe ++{_ccdc :=uint (7-_dcfe ); if _gde ._dfg {_ead =_gde .overrideAtTemplate0b (_fdg ,_caa +_dcfe ,_dddg ,int (_cddf ),_dcfe ,int (_ccdc ));_gde ._gbdc .SetIndex (int32 (_ead ));}else {_gde ._gbdc .SetIndex (int32 (_fdg ));};var _abae int ;_abae ,_gee =_gde ._cbe .DecodeBit (_gde ._gbdc ); if _gee !=nil {return _df .Wrap (_gee ,_gef ,"");};_cddf |=byte (_abae <<_ccdc );_fdg =((_fdg &0x7bf7)<<1)|_abae |((_cee >>_ccdc )&0x10)|((_cdba >>_ccdc )&0x800);};if _fda :=_gde .Bitmap .SetByte (_fbed ,_cddf );_fda !=nil {return _df .Wrap (_fda ,_gef ,""); };_fbed ++;_gebed ++;};return nil ;};func (_aee *GenericRegion )overrideAtTemplate3 (_cdeg ,_fgbg ,_ccfa ,_eeb ,_dbg int )int {_cdeg &=0x3EF;if _aee .GBAtY [0]==0&&_aee .GBAtX [0]>=-int8 (_dbg ){_cdeg |=(_eeb >>uint (7-(int8 (_dbg )+_aee .GBAtX [0]))&0x1)<<4; }else {_cdeg |=int (_aee .getPixel (_fgbg +int (_aee .GBAtX [0]),_ccfa +int (_aee .GBAtY [0])))<<4;};return _cdeg ;};func (_gag *Header )Encode (w _fde .BinaryWriter )(_dadb int ,_eaeg error ){const _dde ="\u0048\u0065\u0061d\u0065\u0072\u002e\u0057\u0072\u0069\u0074\u0065"; var _acga _fde .BinaryWriter ;_ac .Log .Trace ("\u005b\u0053\u0045G\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045\u0052\u005d[\u0045\u004e\u0043\u004f\u0044\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _eaeg !=nil {_ac .Log .Trace ("[\u0053\u0045\u0047\u004d\u0045\u004eT\u002d\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0045\u004e\u0043\u004f\u0044E\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020%\u0076",_eaeg ); }else {_ac .Log .Trace ("\u005b\u0053\u0045\u0047ME\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0025\u0076",_gag );_ac .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045N\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u005b\u0045\u004e\u0043O\u0044\u0045\u005d\u0020\u0046\u0069\u006ei\u0073\u0068\u0065\u0064"); };}();w .FinishByte ();if _gag .SegmentData !=nil {_fffg ,_geeg :=_gag .SegmentData .(SegmentEncoder );if !_geeg {return 0,_df .Errorf (_dde ,"\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u003a\u0020\u0025\u0054\u0020\u0064\u006f\u0065s\u006e\u0027\u0074\u0020\u0069\u006d\u0070\u006c\u0065\u006d\u0065\u006e\u0074 \u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0045\u006e\u0063\u006f\u0064er\u0020\u0069\u006e\u0074\u0065\u0072\u0066\u0061\u0063\u0065",_gag .SegmentData ); };_acga =_fde .BufferedMSB ();_dadb ,_eaeg =_fffg .Encode (_acga );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_gag .SegmentDataLength =uint64 (_dadb );};if _gag .pageSize ()==4{_gag .PageAssociationFieldSize =true ;};var _feg int ;_feg ,_eaeg =_gag .writeSegmentNumber (w ); if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ;if _eaeg =_gag .writeFlags (w );_eaeg !=nil {return _dadb ,_df .Wrap (_eaeg ,_dde ,"");};_dadb ++;_feg ,_eaeg =_gag .writeReferredToCount (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,""); };_dadb +=_feg ;_feg ,_eaeg =_gag .writeReferredToSegments (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ;_feg ,_eaeg =_gag .writeSegmentPageAssociation (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ; _feg ,_eaeg =_gag .writeSegmentDataLength (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ;_gag .HeaderLength =int64 (_dadb )-int64 (_gag .SegmentDataLength );if _acga !=nil {if _ ,_eaeg =w .Write (_acga .Data ());_eaeg !=nil {return _dadb ,_df .Wrap (_eaeg ,_dde ,"\u0077r\u0069t\u0065\u0020\u0073\u0065\u0067m\u0065\u006et\u0020\u0064\u0061\u0074\u0061"); };};return _dadb ,nil ;};func (_ceba *Header )readNumberOfReferredToSegments (_bacd _fde .StreamReader )(uint64 ,error ){const _eddd ="\u0072\u0065\u0061\u0064\u004e\u0075\u006d\u0062\u0065\u0072O\u0066\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073"; _dfce ,_ffae :=_bacd .ReadBits (3);if _ffae !=nil {return 0,_df .Wrap (_ffae ,_eddd ,"\u0063\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0072\u0074\u0073");};_dfce &=0xf;var _afbe []byte ;if _dfce <=4{_afbe =make ([]byte ,5);for _agbc :=0;_agbc <=4;_agbc ++{_gaea ,_cabd :=_bacd .ReadBit (); if _cabd !=nil {return 0,_df .Wrap (_cabd ,_eddd ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_afbe [_agbc ]=byte (_gaea );};}else {_dfce ,_ffae =_bacd .ReadBits (29);if _ffae !=nil {return 0,_ffae ;};_dfce &=_d .MaxInt32 ; _dfdg :=(_dfce +8)>>3;_dfdg <<=3;_afbe =make ([]byte ,_dfdg );var _edce uint64 ;for _edce =0;_edce < _dfdg ;_edce ++{_abdf ,_ccgf :=_bacd .ReadBit ();if _ccgf !=nil {return 0,_df .Wrap (_ccgf ,_eddd ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074"); };_afbe [_edce ]=byte (_abdf );};};return _dfce ,nil ;};func (_eee *GenericRegion )readGBAtPixels (_geda int )error {const _agg ="\u0072\u0065\u0061\u0064\u0047\u0042\u0041\u0074\u0050i\u0078\u0065\u006c\u0073";_eee .GBAtX =make ([]int8 ,_geda );_eee .GBAtY =make ([]int8 ,_geda ); for _eedf :=0;_eedf < _geda ;_eedf ++{_agdc ,_adf :=_eee ._gbg .ReadByte ();if _adf !=nil {return _df .Wrapf (_adf ,_agg ,"\u0058\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_eedf );};_eee .GBAtX [_eedf ]=int8 (_agdc );_agdc ,_adf =_eee ._gbg .ReadByte (); if _adf !=nil {return _df .Wrapf (_adf ,_agg ,"\u0059\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_eedf );};_eee .GBAtY [_eedf ]=int8 (_agdc );};return nil ;};func (_gea *EndOfStripe )LineNumber ()int {return _gea ._ec };func (_ebdg *PageInformationSegment )readWidthAndHeight ()error {_gegb ,_eeaaa :=_ebdg ._badgb .ReadBits (32); if _eeaaa !=nil {return _eeaaa ;};_ebdg .PageBMWidth =int (_gegb &_d .MaxInt32 );_gegb ,_eeaaa =_ebdg ._badgb .ReadBits (32);if _eeaaa !=nil {return _eeaaa ;};_ebdg .PageBMHeight =int (_gegb &_d .MaxInt32 );return nil ;};func (_dfdeb *TextRegion )String ()string {_fbae :=&_c .Builder {}; _fbae .WriteString ("\u000a[\u0054E\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u000a");_fbae .WriteString (_dfdeb .RegionInfo .String ()+"\u000a");_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053br\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbrTemplate )); _fbae .WriteString (_ba .Sprintf ("\u0009-\u0020S\u0062\u0044\u0073\u004f\u0066f\u0073\u0065t\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbDsOffset ));_fbae .WriteString (_ba .Sprintf ("\t\u002d \u0044\u0065\u0066\u0061\u0075\u006c\u0074\u0050i\u0078\u0065\u006c\u003a %\u0076\u000a",_dfdeb .DefaultPixel )); _fbae .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0076\u000a",_dfdeb .CombinationOperator ));_fbae .WriteString (_ba .Sprintf ("\t\u002d \u0049\u0073\u0054\u0072\u0061\u006e\u0073\u0070o\u0073\u0065\u0064\u003a %\u0076\u000a",_dfdeb .IsTransposed )); _fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020Re\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0043\u006f\u0072\u006e\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_dfdeb .ReferenceCorner ));_fbae .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0055\u0073eR\u0065f\u0069\u006e\u0065\u006d\u0065n\u0074\u003a\u0020\u0025\u0076\u000a",_dfdeb .UseRefinement )); _fbae .WriteString (_ba .Sprintf ("\u0009-\u0020\u0049\u0073\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045n\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0076\u000a",_dfdeb .IsHuffmanEncoded ));if _dfdeb .IsHuffmanEncoded {_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRSize )); _fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0059:\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRDY ));_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0058:\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRDX )); _fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069\u0067\u0068\u0074\u003a\u0020\u0025v\u000a",_dfdeb .SbHuffRDHeight ));_fbae .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0053\u0062Hu\u0066f\u0052\u0044\u0057\u0069\u0064t\u0068\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRDWidth )); _fbae .WriteString (_ba .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0054\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffDT ));_fbae .WriteString (_ba .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0053\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffDS )); _fbae .WriteString (_ba .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0046\u0053\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffFS ));};_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_dfdeb .SbrATX )); _fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0059:\u0020\u0025\u0076\u000a",_dfdeb .SbrATY ));_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020N\u0075\u006d\u0062\u0065r\u004f\u0066\u0053\u0079\u006d\u0062\u006fl\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_dfdeb .NumberOfSymbolInstances )); _fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_dfdeb .SbrATX ));return _fbae .String ();};func (_fba *GenericRefinementRegion )updateOverride ()error {if _fba .GrAtX ==nil ||_fba .GrAtY ==nil {return _fd .New ("\u0041\u0054\u0020\u0070\u0069\u0078\u0065\u006c\u0073\u0020\u006e\u006ft\u0020\u0073\u0065\u0074"); };if len (_fba .GrAtX )!=len (_fba .GrAtY ){return _fd .New ("A\u0054\u0020\u0070\u0069xe\u006c \u0069\u006e\u0063\u006f\u006es\u0069\u0073\u0074\u0065\u006e\u0074");};_fba ._bab =make ([]bool ,len (_fba .GrAtX ));switch _fba .TemplateID {case 0:if _fba .GrAtX [0]!=-1&&_fba .GrAtY [0]!=-1{_fba ._bab [0]=true ; _fba ._gg =true ;};if _fba .GrAtX [1]!=-1&&_fba .GrAtY [1]!=-1{_fba ._bab [1]=true ;_fba ._gg =true ;};case 1:_fba ._gg =false ;};return nil ;};func (_cbb *GenericRefinementRegion )Init (header *Header ,r _fde .StreamReader )error {_cbb ._cf =header ;_cbb ._feb =r ; _cbb .RegionInfo =NewRegionSegment (r );return _cbb .parseHeader ();};func NewGenericRegion (r _fde .StreamReader )*GenericRegion {return &GenericRegion {RegionSegment :NewRegionSegment (r ),_gbg :r };};func (_cagd *SymbolDictionary )addSymbol (_geccbf Regioner )error {_cbff ,_ebdc :=_geccbf .GetRegionBitmap (); if _ebdc !=nil {return _ebdc ;};_cagd ._fefd [_cagd ._ddad ]=_cbff ;_cagd ._feeae =append (_cagd ._feeae ,_cbff );_ac .Log .Trace ("\u005b\u0053YM\u0042\u004f\u004c \u0044\u0049\u0043\u0054ION\u0041RY\u005d\u0020\u0041\u0064\u0064\u0065\u0064 s\u0079\u006d\u0062\u006f\u006c\u003a\u0020%\u0073",_cbff ); return nil ;};func (_bbge *GenericRegion )setParametersWithAt (_fcgd bool ,_cbeg byte ,_ffb ,_beaa bool ,_cbagg ,_dedc []int8 ,_faed ,_baaf uint32 ,_cacg *_cb .DecoderStats ,_cdce *_cb .Decoder ){_bbge .IsMMREncoded =_fcgd ;_bbge .GBTemplate =_cbeg ;_bbge .IsTPGDon =_ffb ; _bbge .GBAtX =_cbagg ;_bbge .GBAtY =_dedc ;_bbge .RegionSegment .BitmapHeight =_baaf ;_bbge .RegionSegment .BitmapWidth =_faed ;_bbge ._abdc =nil ;_bbge .Bitmap =nil ;if _cacg !=nil {_bbge ._gbdc =_cacg ;};if _cdce !=nil {_bbge ._cbe =_cdce ;};_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049O\u004e\u005d\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073\u0020\u0053\u0044\u0041t\u003a\u0020\u0025\u0073",_bbge ); };func (_gbc *GenericRefinementRegion )decodeOptimized (_fdc ,_efc ,_geb ,_ae ,_dd ,_cg ,_cgf int )error {var (_eb error ;_bbc int ;_ccg int ;);_dc :=_fdc -int (_gbc .ReferenceDY );if _bc :=int (-_gbc .ReferenceDX );_bc > 0{_bbc =_bc ;};_ccb :=_gbc .ReferenceBitmap .GetByteIndex (_bbc ,_dc ); if _gbc .ReferenceDX > 0{_ccg =int (_gbc .ReferenceDX );};_gca :=_gbc .RegionBitmap .GetByteIndex (_ccg ,_fdc );switch _gbc .TemplateID {case 0:_eb =_gbc .decodeTemplate (_fdc ,_efc ,_geb ,_ae ,_dd ,_cg ,_cgf ,_gca ,_dc ,_ccb ,_gbc ._bag );case 1:_eb =_gbc .decodeTemplate (_fdc ,_efc ,_geb ,_ae ,_dd ,_cg ,_cgf ,_gca ,_dc ,_ccb ,_gbc ._fb ); };return _eb ;};func (_edcaa *TextRegion )setContexts (_egab *_cb .DecoderStats ,_gadb *_cb .DecoderStats ,_ccge *_cb .DecoderStats ,_efda *_cb .DecoderStats ,_ffda *_cb .DecoderStats ,_cdced *_cb .DecoderStats ,_deee *_cb .DecoderStats ,_affe *_cb .DecoderStats ,_ffbdd *_cb .DecoderStats ,_fegcc *_cb .DecoderStats ){_edcaa ._eaed =_gadb ; _edcaa ._dgcaf =_ccge ;_edcaa ._agcab =_efda ;_edcaa ._effgga =_ffda ;_edcaa ._fafd =_deee ;_edcaa ._ddfd =_affe ;_edcaa ._afgf =_cdced ;_edcaa ._gaacf =_ffbdd ;_edcaa ._eabd =_fegcc ;_edcaa ._afgb =_egab ;};func (_cbabg *Header )readHeaderFlags ()error {const _fcc ="\u0072e\u0061d\u0048\u0065\u0061\u0064\u0065\u0072\u0046\u006c\u0061\u0067\u0073"; _dcee ,_gdbe :=_cbabg .Reader .ReadBit ();if _gdbe !=nil {return _df .Wrap (_gdbe ,_fcc ,"r\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067");};if _dcee !=0{_cbabg .RetainFlag =true ;};_dcee ,_gdbe =_cbabg .Reader .ReadBit ();if _gdbe !=nil {return _df .Wrap (_gdbe ,_fcc ,"\u0070\u0061g\u0065\u0020\u0061s\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e"); };if _dcee !=0{_cbabg .PageAssociationFieldSize =true ;};_gfad ,_gdbe :=_cbabg .Reader .ReadBits (6);if _gdbe !=nil {return _df .Wrap (_gdbe ,_fcc ,"\u0073\u0065\u0067m\u0065\u006e\u0074\u0020\u0074\u0079\u0070\u0065");};_cbabg .Type =Type (int (_gfad )); return nil ;};type Type int ;func (_ebg Type )String ()string {switch _ebg {case TSymbolDictionary :return "\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069o\u006e\u0061\u0072\u0079";case TIntermediateTextRegion :return "\u0049n\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020T\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e"; case TImmediateTextRegion :return "I\u006d\u006d\u0065\u0064ia\u0074e\u0020\u0054\u0065\u0078\u0074 \u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateLosslessTextRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020L\u006f\u0073\u0073\u006c\u0065\u0073\u0073 \u0054\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e"; case TPatternDictionary :return "\u0050a\u0074t\u0065\u0072\u006e\u0020\u0044i\u0063\u0074i\u006f\u006e\u0061\u0072\u0079";case TIntermediateHalftoneRegion :return "\u0049\u006e\u0074\u0065r\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0048\u0061l\u0066t\u006f\u006e\u0065\u0020\u0052\u0065\u0067i\u006f\u006e"; case TImmediateHalftoneRegion :return "\u0049m\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u0048\u0061l\u0066t\u006fn\u0065\u0020\u0052\u0065\u0067\u0069\u006fn";case TImmediateLosslessHalftoneRegion :return "\u0049\u006d\u006ded\u0069\u0061\u0074\u0065\u0020\u004c\u006f\u0073\u0073l\u0065s\u0073 \u0048a\u006c\u0066\u0074\u006f\u006e\u0065\u0020\u0052\u0065\u0067\u0069\u006f\u006e"; case TIntermediateGenericRegion :return "I\u006e\u0074\u0065\u0072\u006d\u0065d\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020R\u0065g\u0069\u006f\u006e";case TImmediateGenericRegion :return "\u0049m\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006ee\u0072\u0069\u0063\u0020\u0052\u0065\u0067\u0069\u006f\u006e"; case TImmediateLosslessGenericRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u004c\u006f\u0073\u0073\u006c\u0065\u0073\u0073\u0020\u0047e\u006e\u0065\u0072\u0069\u0063\u0020\u0052e\u0067\u0069\u006f\u006e";case TIntermediateGenericRefinementRegion :return "\u0049\u006e\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065\u0072\u0069\u0063\u0020\u0052\u0065\u0066i\u006e\u0065\u006d\u0065\u006et\u0020\u0052e\u0067\u0069\u006f\u006e"; case TImmediateGenericRefinementRegion :return "I\u006d\u006d\u0065\u0064\u0069\u0061t\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020\u0052\u0065\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020\u0052\u0065\u0067\u0069o\u006e";case TImmediateLosslessGenericRefinementRegion :return "\u0049m\u006d\u0065d\u0069\u0061\u0074\u0065 \u004c\u006f\u0073s\u006c\u0065\u0073\u0073\u0020\u0047\u0065\u006e\u0065ri\u0063\u0020\u0052e\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020R\u0065\u0067i\u006f\u006e"; case TPageInformation :return "\u0050\u0061g\u0065\u0020\u0049n\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e";case TEndOfPage :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0050\u0061\u0067\u0065";case TEndOfStrip :return "\u0045\u006e\u0064 \u004f\u0066\u0020\u0053\u0074\u0072\u0069\u0070"; case TEndOfFile :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0046\u0069\u006c\u0065";case TProfiles :return "\u0050\u0072\u006f\u0066\u0069\u006c\u0065\u0073";case TTables :return "\u0054\u0061\u0062\u006c\u0065\u0073";case TExtension :return "\u0045x\u0074\u0065\u006e\u0073\u0069\u006fn"; case TBitmap :return "\u0042\u0069\u0074\u006d\u0061\u0070";};return "I\u006ev\u0061\u006c\u0069\u0064\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0020Ki\u006e\u0064";};func (_gdc *GenericRefinementRegion )decodeTypicalPredictedLineTemplate1 (_eea ,_gbag ,_ceb ,_bfe ,_ceg ,_dbc ,_gbd ,_cdbf ,_gebe int )(_fdca error ){var (_bbe ,_gdag int ; _dfa ,_aga int ;_cbac ,_dcde int ;_fbe byte ;);if _eea > 0{_fbe ,_fdca =_gdc .RegionBitmap .GetByte (_gbd -_ceb );if _fdca !=nil {return ;};_dfa =int (_fbe );};if _cdbf > 0&&_cdbf <=_gdc .ReferenceBitmap .Height {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe -_bfe +_dbc ); if _fdca !=nil {return ;};_aga =int (_fbe )<<2;};if _cdbf >=0&&_cdbf < _gdc .ReferenceBitmap .Height {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_dbc );if _fdca !=nil {return ;};_cbac =int (_fbe );};if _cdbf > -2&&_cdbf < _gdc .ReferenceBitmap .Height -1{_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_bfe +_dbc ); if _fdca !=nil {return ;};_dcde =int (_fbe );};_bbe =((_dfa >>5)&0x6)|((_dcde >>2)&0x30)|(_cbac &0xc0)|(_aga &0x200);_gdag =((_dcde >>2)&0x70)|(_cbac &0xc0)|(_aga &0x700);var _cbc int ;for _bba :=0;_bba < _ceg ;_bba =_cbc {var (_acbg int ;_dcdb int ;); _cbc =_bba +8;if _acbg =_gbag -_bba ;_acbg > 8{_acbg =8;};_ccdd :=_cbc < _gbag ;_dfe :=_cbc < _gdc .ReferenceBitmap .Width ;_fc :=_dbc +1;if _eea > 0{_fbe =0;if _ccdd {_fbe ,_fdca =_gdc .RegionBitmap .GetByte (_gbd -_ceb +1);if _fdca !=nil {return ;};}; _dfa =(_dfa <<8)|int (_fbe );};if _cdbf > 0&&_cdbf <=_gdc .ReferenceBitmap .Height {var _bfee int ;if _dfe {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe -_bfe +_fc );if _fdca !=nil {return ;};_bfee =int (_fbe )<<2;};_aga =(_aga <<8)|_bfee ;};if _cdbf >=0&&_cdbf < _gdc .ReferenceBitmap .Height {_fbe =0; if _dfe {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_fc );if _fdca !=nil {return ;};};_cbac =(_cbac <<8)|int (_fbe );};if _cdbf > -2&&_cdbf < (_gdc .ReferenceBitmap .Height -1){_fbe =0;if _dfe {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_bfe +_fc ); if _fdca !=nil {return ;};};_dcde =(_dcde <<8)|int (_fbe );};for _acbf :=0;_acbf < _acbg ;_acbf ++{var _dfd int ;_bbfe :=(_gdag >>4)&0x1ff;switch _bbfe {case 0x1ff:_dfd =1;case 0x00:_dfd =0;default:_gdc ._aad .SetIndex (int32 (_bbe ));_dfd ,_fdca =_gdc ._baga .DecodeBit (_gdc ._aad ); if _fdca !=nil {return ;};};_gec :=uint (7-_acbf );_dcdb |=_dfd <<_gec ;_bbe =((_bbe &0x0d6)<<1)|_dfd |(_dfa >>_gec +5)&0x002|((_dcde >>_gec +2)&0x010)|((_cbac >>_gec )&0x040)|((_aga >>_gec )&0x200);_gdag =((_gdag &0xdb)<<1)|((_dcde >>_gec +2)&0x010)|((_cbac >>_gec )&0x080)|((_aga >>_gec )&0x400); };_fdca =_gdc .RegionBitmap .SetByte (_gbd ,byte (_dcdb ));if _fdca !=nil {return ;};_gbd ++;_gebe ++;};return nil ;};type Segmenter interface{Init (_affb *Header ,_efde _fde .StreamReader )error ;};func (_gecd *SymbolDictionary )encodeNumSyms (_ggeg _fde .BinaryWriter )(_dae int ,_dcfc error ){const _agcf ="\u0065\u006e\u0063\u006f\u0064\u0065\u004e\u0075\u006d\u0053\u0079\u006d\u0073"; _ddgb :=make ([]byte ,4);_b .BigEndian .PutUint32 (_ddgb ,_gecd .NumberOfExportedSymbols );if _dae ,_dcfc =_ggeg .Write (_ddgb );_dcfc !=nil {return _dae ,_df .Wrap (_dcfc ,_agcf ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073"); };_b .BigEndian .PutUint32 (_ddgb ,_gecd .NumberOfNewSymbols );_abb ,_dcfc :=_ggeg .Write (_ddgb );if _dcfc !=nil {return _dae ,_df .Wrap (_dcfc ,_agcf ,"n\u0065\u0077\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};return _dae +_abb ,nil ;};type RegionSegment struct{_egce _fde .StreamReader ; BitmapWidth uint32 ;BitmapHeight uint32 ;XLocation uint32 ;YLocation uint32 ;CombinaionOperator _aa .CombinationOperator ;};func (_cgc *HalftoneRegion )parseHeader ()error {if _ccfd :=_cgc .RegionSegment .parseHeader ();_ccfd !=nil {return _ccfd ;};_ceced ,_bfac :=_cgc ._eecb .ReadBit (); if _bfac !=nil {return _bfac ;};_cgc .HDefaultPixel =int8 (_ceced );_ffff ,_bfac :=_cgc ._eecb .ReadBits (3);if _bfac !=nil {return _bfac ;};_cgc .CombinationOperator =_aa .CombinationOperator (_ffff &0xf);_ceced ,_bfac =_cgc ._eecb .ReadBit ();if _bfac !=nil {return _bfac ; };if _ceced ==1{_cgc .HSkipEnabled =true ;};_ffff ,_bfac =_cgc ._eecb .ReadBits (2);if _bfac !=nil {return _bfac ;};_cgc .HTemplate =byte (_ffff &0xf);_ceced ,_bfac =_cgc ._eecb .ReadBit ();if _bfac !=nil {return _bfac ;};if _ceced ==1{_cgc .IsMMREncoded =true ; };_ffff ,_bfac =_cgc ._eecb .ReadBits (32);if _bfac !=nil {return _bfac ;};_cgc .HGridWidth =uint32 (_ffff &_d .MaxUint32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (32);if _bfac !=nil {return _bfac ;};_cgc .HGridHeight =uint32 (_ffff &_d .MaxUint32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (32); if _bfac !=nil {return _bfac ;};_cgc .HGridX =int32 (_ffff &_d .MaxInt32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (32);if _bfac !=nil {return _bfac ;};_cgc .HGridY =int32 (_ffff &_d .MaxInt32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (16);if _bfac !=nil {return _bfac ; };_cgc .HRegionX =uint16 (_ffff &_d .MaxUint16 );_ffff ,_bfac =_cgc ._eecb .ReadBits (16);if _bfac !=nil {return _bfac ;};_cgc .HRegionY =uint16 (_ffff &_d .MaxUint16 );if _bfac =_cgc .computeSegmentDataStructure ();_bfac !=nil {return _bfac ;};return _cgc .checkInput (); };func (_cbfa *SymbolDictionary )Init (h *Header ,r _fde .StreamReader )error {_cbfa .Header =h ;_cbfa ._gcca =r ;return _cbfa .parseHeader ();};func (_gfbe *TableSegment )HtLow ()int32 {return _gfbe ._abgdd };func (_abfb *TextRegion )decodeSymInRefSize ()(int64 ,error ){const _ddbd ="\u0064e\u0063o\u0064\u0065\u0053\u0079\u006dI\u006e\u0052e\u0066\u0053\u0069\u007a\u0065"; if _abfb .SbHuffRSize ==0{_defbd ,_gface :=_g .GetStandardTable (1);if _gface !=nil {return 0,_df .Wrap (_gface ,_ddbd ,"");};return _defbd .Decode (_abfb ._deef );};if _abfb ._bbbc ==nil {var (_efgf int ;_ebad error ;);if _abfb .SbHuffFS ==3{_efgf ++; };if _abfb .SbHuffDS ==3{_efgf ++;};if _abfb .SbHuffDT ==3{_efgf ++;};if _abfb .SbHuffRDWidth ==3{_efgf ++;};if _abfb .SbHuffRDHeight ==3{_efgf ++;};if _abfb .SbHuffRDX ==3{_efgf ++;};if _abfb .SbHuffRDY ==3{_efgf ++;};_abfb ._bbbc ,_ebad =_abfb .getUserTable (_efgf ); if _ebad !=nil {return 0,_df .Wrap (_ebad ,_ddbd ,"");};};_edag ,_edda :=_abfb ._bbbc .Decode (_abfb ._deef );if _edda !=nil {return 0,_df .Wrap (_edda ,_ddbd ,"");};return _edag ,nil ;};func (_bbee *HalftoneRegion )GetRegionInfo ()*RegionSegment {return _bbee .RegionSegment }; func (_bdc *GenericRefinementRegion )readAtPixels ()error {_bdc .GrAtX =make ([]int8 ,2);_bdc .GrAtY =make ([]int8 ,2);_adg ,_bcf :=_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ;};_bdc .GrAtX [0]=int8 (_adg );_adg ,_bcf =_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ; };_bdc .GrAtY [0]=int8 (_adg );_adg ,_bcf =_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ;};_bdc .GrAtX [1]=int8 (_adg );_adg ,_bcf =_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ;};_bdc .GrAtY [1]=int8 (_adg );return nil ;};func (_cead *RegionSegment )parseHeader ()error {const _dfgf ="p\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072"; _ac .Log .Trace ("\u005b\u0052\u0045\u0047I\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002dH\u0045A\u0044\u0045\u0052\u005d\u0020\u0042\u0065g\u0069\u006e");defer func (){_ac .Log .Trace ("\u005b\u0052\u0045G\u0049\u004f\u004e\u005d[\u0050\u0041\u0052\u0053\u0045\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064"); }();_cfeb ,_daaa :=_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0077\u0069\u0064t\u0068");};_cead .BitmapWidth =uint32 (_cfeb &_d .MaxUint32 );_cfeb ,_daaa =_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0068\u0065\u0069\u0067\u0068\u0074"); };_cead .BitmapHeight =uint32 (_cfeb &_d .MaxUint32 );_cfeb ,_daaa =_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0078\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_cead .XLocation =uint32 (_cfeb &_d .MaxUint32 ); _cfeb ,_daaa =_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0079\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_cead .YLocation =uint32 (_cfeb &_d .MaxUint32 );if _ ,_daaa =_cead ._egce .ReadBits (5);_daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0064i\u0072\u0079\u0020\u0072\u0065\u0061d"); };if _daaa =_cead .readCombinationOperator ();_daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};return nil ;};func (_dcdg *GenericRegion )decodeTemplate0a (_acg ,_cbaa ,_cbee int ,_eaf ,_gcaa int )(_bea error ){const _feef ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0061"; var (_ffe ,_cddc int ;_cfd ,_bdg int ;_gaa byte ;_cdc int ;);if _acg >=1{_gaa ,_bea =_dcdg .Bitmap .GetByte (_gcaa );if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_cfd =int (_gaa );};if _acg >=2{_gaa ,_bea =_dcdg .Bitmap .GetByte (_gcaa -_dcdg .Bitmap .RowStride ); if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_bdg =int (_gaa )<<6;};_ffe =(_cfd &0xf0)|(_bdg &0x3800);for _gfd :=0;_gfd < _cbee ;_gfd =_cdc {var (_ddd byte ;_cfb int ;);_cdc =_gfd +8;if _bgd :=_cbaa -_gfd ; _bgd > 8{_cfb =8;}else {_cfb =_bgd ;};if _acg > 0{_cfd <<=8;if _cdc < _cbaa {_gaa ,_bea =_dcdg .Bitmap .GetByte (_gcaa +1);if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_cfd |=int (_gaa );};};if _acg > 1{_edd :=_gcaa -_dcdg .Bitmap .RowStride +1; _bdg <<=8;if _cdc < _cbaa {_gaa ,_bea =_dcdg .Bitmap .GetByte (_edd );if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_bdg |=int (_gaa )<<6;}else {_bdg |=0;};};for _ggf :=0;_ggf < _cfb ;_ggf ++{_bbd :=uint (7-_ggf ); if _dcdg ._dfg {_cddc =_dcdg .overrideAtTemplate0a (_ffe ,_gfd +_ggf ,_acg ,int (_ddd ),_ggf ,int (_bbd ));_dcdg ._gbdc .SetIndex (int32 (_cddc ));}else {_dcdg ._gbdc .SetIndex (int32 (_ffe ));};var _gega int ;_gega ,_bea =_dcdg ._cbe .DecodeBit (_dcdg ._gbdc ); if _bea !=nil {return _df .Wrap (_bea ,_feef ,"");};_ddd |=byte (_gega )<<_bbd ;_ffe =((_ffe &0x7bf7)<<1)|_gega |((_cfd >>_bbd )&0x10)|((_bdg >>_bbd )&0x800);};if _afcc :=_dcdg .Bitmap .SetByte (_eaf ,_ddd );_afcc !=nil {return _df .Wrap (_afcc ,_feef ,""); };_eaf ++;_gcaa ++;};return nil ;};func (_bfea *GenericRegion )decodeLine (_afba ,_aec ,_dcga int )error {const _gdd ="\u0064\u0065\u0063\u006f\u0064\u0065\u004c\u0069\u006e\u0065";_deg :=_bfea .Bitmap .GetByteIndex (0,_afba );_bcfa :=_deg -_bfea .Bitmap .RowStride ; switch _bfea .GBTemplate {case 0:if !_bfea .UseExtTemplates {return _bfea .decodeTemplate0a (_afba ,_aec ,_dcga ,_deg ,_bcfa );};return _bfea .decodeTemplate0b (_afba ,_aec ,_dcga ,_deg ,_bcfa );case 1:return _bfea .decodeTemplate1 (_afba ,_aec ,_dcga ,_deg ,_bcfa ); case 2:return _bfea .decodeTemplate2 (_afba ,_aec ,_dcga ,_deg ,_bcfa );case 3:return _bfea .decodeTemplate3 (_afba ,_aec ,_dcga ,_deg ,_bcfa );};return _df .Errorf (_gdd ,"\u0069\u006e\u0076a\u006c\u0069\u0064\u0020G\u0042\u0054\u0065\u006d\u0070\u006c\u0061t\u0065\u0020\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u003a\u0020\u0025\u0064",_bfea .GBTemplate ); };func (_adb *PageInformationSegment )readIsStriped ()error {_gdgd ,_bde :=_adb ._badgb .ReadBit ();if _bde !=nil {return _bde ;};if _gdgd ==1{_adb .IsStripe =true ;};return nil ;};func (_fdbb *TextRegion )decodeIb (_feda ,_ccdfd int64 )(*_aa .Bitmap ,error ){const _cddff ="\u0064\u0065\u0063\u006f\u0064\u0065\u0049\u0062"; var (_cfab error ;_adba *_aa .Bitmap ;);if _feda ==0{if int (_ccdfd )> len (_fdbb .Symbols )-1{return nil ,_df .Error (_cddff ,"\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0049\u0042\u0020\u0062\u0069\u0074\u006d\u0061\u0070\u002e\u0020\u0069\u006e\u0064\u0065x\u0020\u006f\u0075\u0074\u0020o\u0066\u0020r\u0061\u006e\u0067\u0065"); };return _fdbb .Symbols [int (_ccdfd )],nil ;};var _babca ,_dfdc ,_aggc ,_cdbad int64 ;_babca ,_cfab =_fdbb .decodeRdw ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};_dfdc ,_cfab =_fdbb .decodeRdh ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,""); };_aggc ,_cfab =_fdbb .decodeRdx ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};_cdbad ,_cfab =_fdbb .decodeRdy ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};if _fdbb .IsHuffmanEncoded {if _ ,_cfab =_fdbb .decodeSymInRefSize (); _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};_fdbb ._deef .Align ();};_cgcb :=_fdbb .Symbols [_ccdfd ];_ebea :=uint32 (_cgcb .Width );_cgeb :=uint32 (_cgcb .Height );_efbe :=int32 (uint32 (_babca )>>1)+int32 (_aggc );_afdc :=int32 (uint32 (_dfdc )>>1)+int32 (_cdbad ); if _fdbb ._gagd ==nil {_fdbb ._gagd =_eae (_fdbb ._deef ,nil );};_fdbb ._gagd .setParameters (_fdbb ._afgb ,_fdbb ._adffd ,_fdbb .SbrTemplate ,_ebea +uint32 (_babca ),_cgeb +uint32 (_dfdc ),_cgcb ,_efbe ,_afdc ,false ,_fdbb .SbrATX ,_fdbb .SbrATY );_adba ,_cfab =_fdbb ._gagd .GetRegionBitmap (); if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"\u0067\u0072\u0066");};if _fdbb .IsHuffmanEncoded {_fdbb ._deef .Align ();};return _adba ,nil ;};func (_ccbe *GenericRegion )decodeTemplate3 (_cgfb ,_cade ,_gac int ,_bfcb ,_ggd int )(_bcga error ){const _fgcc ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0033"; var (_gfa ,_bfge int ;_geeb int ;_dad byte ;_ceaa ,_ceea int ;);if _cgfb >=1{_dad ,_bcga =_ccbe .Bitmap .GetByte (_ggd );if _bcga !=nil {return _df .Wrap (_bcga ,_fgcc ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_geeb =int (_dad );};_gfa =(_geeb >>1)&0x70; for _afag :=0;_afag < _gac ;_afag =_ceaa {var (_becb byte ;_efea int ;);_ceaa =_afag +8;if _fceb :=_cade -_afag ;_fceb > 8{_efea =8;}else {_efea =_fceb ;};if _cgfb >=1{_geeb <<=8;if _ceaa < _cade {_dad ,_bcga =_ccbe .Bitmap .GetByte (_ggd +1);if _bcga !=nil {return _df .Wrap (_bcga ,_fgcc ,"\u0069\u006e\u006e\u0065\u0072\u0020\u002d\u0020\u006c\u0069\u006e\u0065 \u003e\u003d\u0020\u0031"); };_geeb |=int (_dad );};};for _agca :=0;_agca < _efea ;_agca ++{if _ccbe ._dfg {_bfge =_ccbe .overrideAtTemplate3 (_gfa ,_afag +_agca ,_cgfb ,int (_becb ),_agca );_ccbe ._gbdc .SetIndex (int32 (_bfge ));}else {_ccbe ._gbdc .SetIndex (int32 (_gfa ));};_ceea ,_bcga =_ccbe ._cbe .DecodeBit (_ccbe ._gbdc ); if _bcga !=nil {return _df .Wrap (_bcga ,_fgcc ,"");};_becb |=byte (_ceea )<>uint (8-_agca ))&0x010);};if _agdd :=_ccbe .Bitmap .SetByte (_bfcb ,_becb );_agdd !=nil {return _df .Wrap (_agdd ,_fgcc ,""); };_bfcb ++;_ggd ++;};return nil ;};func (_bfeb *SymbolDictionary )getUserTable (_gfdf int )(_g .Tabler ,error ){var _dgca int ;for _ ,_fcfd :=range _bfeb .Header .RTSegments {if _fcfd .Type ==53{if _dgca ==_gfdf {_cgeg ,_fbaf :=_fcfd .GetSegmentData (); if _fbaf !=nil {return nil ,_fbaf ;};_cffd :=_cgeg .(_g .BasicTabler );return _g .NewEncodedTable (_cffd );};_dgca ++;};};return nil ,nil ;};type GenericRegion struct{_gbg _fde .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ; DataLength int64 ;RegionSegment *RegionSegment ;UseExtTemplates bool ;IsTPGDon bool ;GBTemplate byte ;IsMMREncoded bool ;UseMMR bool ;GBAtX []int8 ;GBAtY []int8 ;GBAtOverride []bool ;_dfg bool ;Bitmap *_aa .Bitmap ;_cbe *_cb .Decoder ;_gbdc *_cb .DecoderStats ; _abdc *_ge .Decoder ;};func (_geca *SymbolDictionary )getSymbol (_dgga int )(*_aa .Bitmap ,error ){const _fggf ="\u0067e\u0074\u0053\u0079\u006d\u0062\u006fl";_gece ,_effge :=_geca ._fege .GetBitmap (_geca ._cbbae [_dgga ]);if _effge !=nil {return nil ,_df .Wrap (_effge ,_fggf ,"\u0063\u0061n\u0027\u0074\u0020g\u0065\u0074\u0020\u0073\u0079\u006d\u0062\u006f\u006c"); };return _gece ,nil ;};type EndOfStripe struct{_gb _fde .StreamReader ;_ec int ;};func (_fcdf *Header )readSegmentDataLength (_cfda _fde .StreamReader )(_fdgb error ){_fcdf .SegmentDataLength ,_fdgb =_cfda .ReadBits (32);if _fdgb !=nil {return _fdgb ;}; _fcdf .SegmentDataLength &=_d .MaxInt32 ;return nil ;};func (_fdcaf *SymbolDictionary )parseHeader ()(_geabg error ){_ac .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e"); defer func (){if _geabg !=nil {_ac .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u0020\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u005b\u0050\u0041\u0052SE\u002d\u0048\u0045A\u0044\u0045R\u005d\u0020\u0066\u0061\u0069\u006ce\u0064\u002e \u0025\u0076",_geabg ); }else {_ac .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e"); };}();if _geabg =_fdcaf .readRegionFlags ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .setAtPixels ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .setRefinementAtPixels ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .readNumberOfExportedSymbols (); _geabg !=nil {return _geabg ;};if _geabg =_fdcaf .readNumberOfNewSymbols ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .setInSyms ();_geabg !=nil {return _geabg ;};if _fdcaf ._acfg {_ggec :=_fdcaf .Header .RTSegments ;for _adge :=len (_ggec )-1;_adge >=0; _adge --{if _ggec [_adge ].Type ==0{_aggb ,_bcbf :=_ggec [_adge ].SegmentData .(*SymbolDictionary );if !_bcbf {_geabg =_ba .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074:\u0020\u0025\u0076\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020S\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006fna\u0072\u0079\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_ggec [_adge ]); return _geabg ;};if _aggb ._acfg {_fdcaf .setRetainedCodingContexts (_aggb );};break ;};};};if _geabg =_fdcaf .checkInput ();_geabg !=nil {return _geabg ;};return nil ;};func (_acff *SymbolDictionary )readAtPixels (_efge int )error {_acff .SdATX =make ([]int8 ,_efge ); _acff .SdATY =make ([]int8 ,_efge );var (_cfa byte ;_cdde error ;);for _agac :=0;_agac < _efge ;_agac ++{_cfa ,_cdde =_acff ._gcca .ReadByte ();if _cdde !=nil {return _cdde ;};_acff .SdATX [_agac ]=int8 (_cfa );_cfa ,_cdde =_acff ._gcca .ReadByte ();if _cdde !=nil {return _cdde ; };_acff .SdATY [_agac ]=int8 (_cfa );};return nil ;};func (_ebbe *PatternDictionary )parseHeader ()error {_ac .Log .Trace ("\u005b\u0050\u0041\u0054\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054I\u004f\u004e\u0041\u0052\u0059\u005d[\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d\u0020b\u0065\u0067\u0069\u006e"); defer func (){_ac .Log .Trace ("\u005b\u0050\u0041T\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u005b\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064"); }();_ ,_ccef :=_ebbe ._aedd .ReadBits (5);if _ccef !=nil {return _ccef ;};if _ccef =_ebbe .readTemplate ();_ccef !=nil {return _ccef ;};if _ccef =_ebbe .readIsMMREncoded ();_ccef !=nil {return _ccef ;};if _ccef =_ebbe .readPatternWidthAndHeight ();_ccef !=nil {return _ccef ; };if _ccef =_ebbe .readGrayMax ();_ccef !=nil {return _ccef ;};if _ccef =_ebbe .computeSegmentDataStructure ();_ccef !=nil {return _ccef ;};return _ebbe .checkInput ();};func (_edfe *TextRegion )InitEncode (globalSymbolsMap ,localSymbolsMap map[int ]int ,comps []int ,inLL *_aa .Points ,symbols *_aa .Bitmaps ,classIDs *_fe .IntSlice ,boxes *_aa .Boxes ,width ,height ,symBits int ){_edfe .RegionInfo =&RegionSegment {BitmapWidth :uint32 (width ),BitmapHeight :uint32 (height )}; _edfe ._bdcda =globalSymbolsMap ;_edfe ._aaceb =localSymbolsMap ;_edfe ._cfbfb =comps ;_edfe ._bggc =inLL ;_edfe ._dgafa =symbols ;_edfe ._bgga =classIDs ;_edfe ._beeb =boxes ;_edfe ._eeaag =symBits ;};type Documenter interface{GetPage (int )(Pager ,error ); GetGlobalSegment (int )(*Header ,error );};type templater interface{form (_dcg ,_cbag ,_aeb ,_effg ,_gae int16 )int16 ;setIndex (_cbab *_cb .DecoderStats );};func (_bfcf *SymbolDictionary )decodeHeightClassBitmap (_feeg *_aa .Bitmap ,_aafa int64 ,_ecgc int ,_ddgbg []int )error {for _agga :=_aafa ; _agga < int64 (_bfcf ._ddad );_agga ++{var _fcgf int ;for _deaf :=_aafa ;_deaf <=_agga -1;_deaf ++{_fcgf +=_ddgbg [_deaf ];};_fece :=_f .Rect (_fcgf ,0,_fcgf +_ddgbg [_agga ],_ecgc );_eecc ,_bede :=_aa .Extract (_fece ,_feeg );if _bede !=nil {return _bede ; };_bfcf ._fefd [_agga ]=_eecc ;_bfcf ._feeae =append (_bfcf ._feeae ,_eecc );};return nil ;};func (_ccce *SymbolDictionary )encodeRefinementATFlags (_ecab _fde .BinaryWriter )(_fbbb int ,_baae error ){const _bceb ="\u0065\u006e\u0063od\u0065\u0052\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0041\u0054\u0046\u006c\u0061\u0067\u0073"; if !_ccce .UseRefinementAggregation ||_ccce .SdrTemplate !=0{return 0,nil ;};for _bacda :=0;_bacda < 2;_bacda ++{if _baae =_ecab .WriteByte (byte (_ccce .SdrATX [_bacda ]));_baae !=nil {return _fbbb ,_df .Wrapf (_baae ,_bceb ,"\u0053\u0064\u0072\u0041\u0054\u0058\u005b\u0025\u0064\u005d",_bacda ); };_fbbb ++;if _baae =_ecab .WriteByte (byte (_ccce .SdrATY [_bacda ]));_baae !=nil {return _fbbb ,_df .Wrapf (_baae ,_bceb ,"\u0053\u0064\u0072\u0041\u0054\u0059\u005b\u0025\u0064\u005d",_bacda );};_fbbb ++;};return _fbbb ,nil ;};func (_fef *Header )CleanSegmentData (){if _fef .SegmentData !=nil {_fef .SegmentData =nil ; };};func (_ddcc *TextRegion )checkInput ()error {const _edddc ="\u0063\u0068\u0065\u0063\u006b\u0049\u006e\u0070\u0075\u0074";if !_ddcc .UseRefinement {if _ddcc .SbrTemplate !=0{_ac .Log .Debug ("\u0053\u0062\u0072Te\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030"); _ddcc .SbrTemplate =0;};};if _ddcc .SbHuffFS ==2||_ddcc .SbHuffRDWidth ==2||_ddcc .SbHuffRDHeight ==2||_ddcc .SbHuffRDX ==2||_ddcc .SbHuffRDY ==2{return _df .Error (_edddc ,"h\u0075\u0066\u0066\u006d\u0061\u006e \u0066\u006c\u0061\u0067\u0020\u0076a\u006c\u0075\u0065\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0070\u0065\u0072\u006d\u0069\u0074\u0074e\u0064"); };if !_ddcc .UseRefinement {if _ddcc .SbHuffRSize !=0{_ac .Log .Debug ("\u0053\u0062\u0048uf\u0066\u0052\u0053\u0069\u007a\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_ddcc .SbHuffRSize =0;};if _ddcc .SbHuffRDY !=0{_ac .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044Y\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030"); _ddcc .SbHuffRDY =0;};if _ddcc .SbHuffRDX !=0{_ac .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044X\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_ddcc .SbHuffRDX =0;};if _ddcc .SbHuffRDWidth !=0{_ac .Log .Debug ("\u0053b\u0048\u0075\u0066\u0066R\u0044\u0057\u0069\u0064\u0074h\u0020s\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u00200"); _ddcc .SbHuffRDWidth =0;};if _ddcc .SbHuffRDHeight !=0{_ac .Log .Debug ("\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069g\u0068\u0074\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020b\u0065\u0020\u0030");_ddcc .SbHuffRDHeight =0;};};return nil ; };func (_dcbe *GenericRegion )setParametersMMR (_ggb bool ,_gbcb ,_cadd int64 ,_eadf ,_bbcb uint32 ,_edc byte ,_ecef ,_dea bool ,_cfdf ,_bcgb []int8 ){_dcbe .DataOffset =_gbcb ;_dcbe .DataLength =_cadd ;_dcbe .RegionSegment =&RegionSegment {};_dcbe .RegionSegment .BitmapHeight =_eadf ; _dcbe .RegionSegment .BitmapWidth =_bbcb ;_dcbe .GBTemplate =_edc ;_dcbe .IsMMREncoded =_ggb ;_dcbe .IsTPGDon =_ecef ;_dcbe .GBAtX =_cfdf ;_dcbe .GBAtY =_bcgb ;};func (_be *EndOfStripe )Init (h *Header ,r _fde .StreamReader )error {_be ._gb =r ;return _be .parseHeader (h ,r ); };func (_cedfc *SymbolDictionary )setAtPixels ()error {if _cedfc .IsHuffmanEncoded {return nil ;};_eefeag :=1;if _cedfc .SdTemplate ==0{_eefeag =4;};if _bfeab :=_cedfc .readAtPixels (_eefeag );_bfeab !=nil {return _bfeab ;};return nil ;};func (_bbfb *GenericRefinementRegion )setParameters (_cfg *_cb .DecoderStats ,_afc *_cb .Decoder ,_cegf int8 ,_afe ,_fgg uint32 ,_agad *_aa .Bitmap ,_ffg ,_bfd int32 ,_fce bool ,_cag []int8 ,_aea []int8 ){_ac .Log .Trace ("\u005b\u0047\u0045NE\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052E\u0047I\u004fN\u005d \u0073\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073"); if _cfg !=nil {_bbfb ._aad =_cfg ;};if _afc !=nil {_bbfb ._baga =_afc ;};_bbfb .TemplateID =_cegf ;_bbfb .RegionInfo .BitmapWidth =_afe ;_bbfb .RegionInfo .BitmapHeight =_fgg ;_bbfb .ReferenceBitmap =_agad ;_bbfb .ReferenceDX =_ffg ;_bbfb .ReferenceDY =_bfd ; _bbfb .IsTPGROn =_fce ;_bbfb .GrAtX =_cag ;_bbfb .GrAtY =_aea ;_bbfb .RegionBitmap =nil ;_ac .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073 f\u0069\u006ei\u0073\u0068\u0065\u0064\u002e\u0020\u0025\u0073",_bbfb ); };type PatternDictionary struct{_aedd _fde .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;GBAtX []int8 ;GBAtY []int8 ;IsMMREncoded bool ;HDTemplate byte ;HdpWidth byte ;HdpHeight byte ;Patterns []*_aa .Bitmap ; GrayMax uint32 ;};func (_gbeb *TextRegion )readUseRefinement ()error {if !_gbeb .UseRefinement ||_gbeb .SbrTemplate !=0{return nil ;};var (_baad byte ;_bfbf error ;);_gbeb .SbrATX =make ([]int8 ,2);_gbeb .SbrATY =make ([]int8 ,2);_baad ,_bfbf =_gbeb ._deef .ReadByte (); if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATX [0]=int8 (_baad );_baad ,_bfbf =_gbeb ._deef .ReadByte ();if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATY [0]=int8 (_baad );_baad ,_bfbf =_gbeb ._deef .ReadByte ();if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATX [1]=int8 (_baad ); _baad ,_bfbf =_gbeb ._deef .ReadByte ();if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATY [1]=int8 (_baad );return nil ;};func (_cggf *TextRegion )decodeRdw ()(int64 ,error ){const _gebbb ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064w";if _cggf .IsHuffmanEncoded {if _cggf .SbHuffRDWidth ==3{if _cggf ._fgde ==nil {var (_cbabb int ; _ceee error ;);if _cggf .SbHuffFS ==3{_cbabb ++;};if _cggf .SbHuffDS ==3{_cbabb ++;};if _cggf .SbHuffDT ==3{_cbabb ++;};_cggf ._fgde ,_ceee =_cggf .getUserTable (_cbabb );if _ceee !=nil {return 0,_df .Wrap (_ceee ,_gebbb ,"");};};return _cggf ._fgde .Decode (_cggf ._deef ); };_fbbbe ,_gdbb :=_g .GetStandardTable (14+int (_cggf .SbHuffRDWidth ));if _gdbb !=nil {return 0,_df .Wrap (_gdbb ,_gebbb ,"");};return _fbbbe .Decode (_cggf ._deef );};_bfga ,_effgb :=_cggf ._adffd .DecodeInt (_cggf ._fafd );if _effgb !=nil {return 0,_df .Wrap (_effgb ,_gebbb ,""); };return int64 (_bfga ),nil ;};type Regioner interface{GetRegionBitmap ()(*_aa .Bitmap ,error );GetRegionInfo ()*RegionSegment ;};func (_gbba *template0 )form (_ada ,_fgc ,_gdae ,_cegc ,_ece int16 )int16 {return (_ada <<10)|(_fgc <<7)|(_gdae <<4)|(_cegc <<1)|_ece ; };func (_ddf *GenericRefinementRegion )decodeTypicalPredictedLineTemplate0 (_cdb ,_gcaf ,_cba ,_aed ,_gba ,_febf ,_cgff ,_cge ,_cdg int )error {var (_bbce ,_bf ,_gbb ,_dcd ,_fdef ,_acc int ;_efca byte ;_fdcf error ;);if _cdb > 0{_efca ,_fdcf =_ddf .RegionBitmap .GetByte (_cgff -_cba ); if _fdcf !=nil {return _fdcf ;};_gbb =int (_efca );};if _cge > 0&&_cge <=_ddf .ReferenceBitmap .Height {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg -_aed +_febf );if _fdcf !=nil {return _fdcf ;};_dcd =int (_efca )<<4;};if _cge >=0&&_cge < _ddf .ReferenceBitmap .Height {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_febf ); if _fdcf !=nil {return _fdcf ;};_fdef =int (_efca )<<1;};if _cge > -2&&_cge < _ddf .ReferenceBitmap .Height -1{_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_aed +_febf );if _fdcf !=nil {return _fdcf ;};_acc =int (_efca );};_bbce =((_gbb >>5)&0x6)|((_acc >>2)&0x30)|(_fdef &0x180)|(_dcd &0xc00); var _ce int ;for _feag :=0;_feag < _gba ;_feag =_ce {var _bfb int ;_ce =_feag +8;var _eff int ;if _eff =_gcaf -_feag ;_eff > 8{_eff =8;};_cef :=_ce < _gcaf ;_gcc :=_ce < _ddf .ReferenceBitmap .Width ;_ccd :=_febf +1;if _cdb > 0{_efca =0;if _cef {_efca ,_fdcf =_ddf .RegionBitmap .GetByte (_cgff -_cba +1); if _fdcf !=nil {return _fdcf ;};};_gbb =(_gbb <<8)|int (_efca );};if _cge > 0&&_cge <=_ddf .ReferenceBitmap .Height {var _dce int ;if _gcc {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg -_aed +_ccd );if _fdcf !=nil {return _fdcf ;};_dce =int (_efca )<<4; };_dcd =(_dcd <<8)|_dce ;};if _cge >=0&&_cge < _ddf .ReferenceBitmap .Height {var _cbaf int ;if _gcc {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_ccd );if _fdcf !=nil {return _fdcf ;};_cbaf =int (_efca )<<1;};_fdef =(_fdef <<8)|_cbaf ;};if _cge > -2&&_cge < (_ddf .ReferenceBitmap .Height -1){_efca =0; if _gcc {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_aed +_ccd );if _fdcf !=nil {return _fdcf ;};};_acc =(_acc <<8)|int (_efca );};for _geg :=0;_geg < _eff ;_geg ++{var _efb int ;_efe :=false ;_af :=(_bbce >>4)&0x1ff;if _af ==0x1ff{_efe =true ; _efb =1;}else if _af ==0x00{_efe =true ;};if !_efe {if _ddf ._gg {_bf =_ddf .overrideAtTemplate0 (_bbce ,_feag +_geg ,_cdb ,_bfb ,_geg );_ddf ._aad .SetIndex (int32 (_bf ));}else {_ddf ._aad .SetIndex (int32 (_bbce ));};_efb ,_fdcf =_ddf ._baga .DecodeBit (_ddf ._aad ); if _fdcf !=nil {return _fdcf ;};};_gda :=uint (7-_geg );_bfb |=_efb <<_gda ;_bbce =((_bbce &0xdb6)<<1)|_efb |(_gbb >>_gda +5)&0x002|((_acc >>_gda +2)&0x010)|((_fdef >>_gda )&0x080)|((_dcd >>_gda )&0x400);};_fdcf =_ddf .RegionBitmap .SetByte (_cgff ,byte (_bfb )); if _fdcf !=nil {return _fdcf ;};_cgff ++;_cdg ++;};return nil ;};func (_fgbc *HalftoneRegion )GetRegionBitmap ()(*_aa .Bitmap ,error ){if _fgbc .HalftoneRegionBitmap !=nil {return _fgbc .HalftoneRegionBitmap ,nil ;};var _gegab error ;_fgbc .HalftoneRegionBitmap =_aa .New (int (_fgbc .RegionSegment .BitmapWidth ),int (_fgbc .RegionSegment .BitmapHeight )); if _fgbc .Patterns ==nil ||len (_fgbc .Patterns )==0{_fgbc .Patterns ,_gegab =_fgbc .GetPatterns ();if _gegab !=nil {return nil ,_gegab ;};};if _fgbc .HDefaultPixel ==1{_fgbc .HalftoneRegionBitmap .SetDefaultPixel ();};_dfc :=_d .Ceil (_d .Log (float64 (len (_fgbc .Patterns )))/_d .Log (2)); _fead :=int (_dfc );var _cfdd [][]int ;_cfdd ,_gegab =_fgbc .grayScaleDecoding (_fead );if _gegab !=nil {return nil ,_gegab ;};if _gegab =_fgbc .renderPattern (_cfdd );_gegab !=nil {return nil ,_gegab ;};return _fgbc .HalftoneRegionBitmap ,nil ;};func (_cagdb *SymbolDictionary )decodeRefinedSymbol (_fagg ,_aacb uint32 )error {var (_dgab int ; _aggf ,_eaegd int32 ;);if _cagdb .IsHuffmanEncoded {_cdef ,_agaa :=_cagdb ._gcca .ReadBits (byte (_cagdb ._defg ));if _agaa !=nil {return _agaa ;};_dgab =int (_cdef );_abfaa ,_agaa :=_g .GetStandardTable (15);if _agaa !=nil {return _agaa ;};_gebbe ,_agaa :=_abfaa .Decode (_cagdb ._gcca ); if _agaa !=nil {return _agaa ;};_aggf =int32 (_gebbe );_gebbe ,_agaa =_abfaa .Decode (_cagdb ._gcca );if _agaa !=nil {return _agaa ;};_eaegd =int32 (_gebbe );_abfaa ,_agaa =_g .GetStandardTable (1);if _agaa !=nil {return _agaa ;};if _ ,_agaa =_abfaa .Decode (_cagdb ._gcca ); _agaa !=nil {return _agaa ;};_cagdb ._gcca .Align ();}else {_ebgc ,_edfc :=_cagdb ._cecef .DecodeIAID (uint64 (_cagdb ._defg ),_cagdb ._ccfe );if _edfc !=nil {return _edfc ;};_dgab =int (_ebgc );_aggf ,_edfc =_cagdb ._cecef .DecodeInt (_cagdb ._aeda ); if _edfc !=nil {return _edfc ;};_eaegd ,_edfc =_cagdb ._cecef .DecodeInt (_cagdb ._dgd );if _edfc !=nil {return _edfc ;};};if _gga :=_cagdb .setSymbolsArray ();_gga !=nil {return _gga ;};_gcbg :=_cagdb ._feeae [_dgab ];if _gbgea :=_cagdb .decodeNewSymbols (_fagg ,_aacb ,_gcbg ,_aggf ,_eaegd ); _gbgea !=nil {return _gbgea ;};if _cagdb .IsHuffmanEncoded {_cagdb ._gcca .Align ();};return nil ;};type TableSegment struct{_bcebe _fde .StreamReader ;_affd int32 ;_bece int32 ;_faeec int32 ;_abgdd int32 ;_fdce int32 ;};func (_ff *EndOfStripe )parseHeader (_cc *Header ,_baa _fde .StreamReader )error {_fea ,_fg :=_ff ._gb .ReadBits (32); if _fg !=nil {return _fg ;};_ff ._ec =int (_fea &_d .MaxInt32 );return nil ;};var _ templater =&template1 {};func (_cagg *GenericRegion )updateOverrideFlags ()error {const _feed ="\u0075\u0070\u0064\u0061te\u004f\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u0046\u006c\u0061\u0067\u0073"; if _cagg .GBAtX ==nil ||_cagg .GBAtY ==nil {return nil ;};if len (_cagg .GBAtX )!=len (_cagg .GBAtY ){return _df .Errorf (_feed ,"i\u006eco\u0073i\u0073t\u0065\u006e\u0074\u0020\u0041T\u0020\u0070\u0069x\u0065\u006c\u002e\u0020\u0041m\u006f\u0075\u006et\u0020\u006f\u0066\u0020\u0027\u0078\u0027\u0020\u0070\u0069\u0078e\u006c\u0073\u003a %d\u002c\u0020\u0041\u006d\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0027\u0079\u0027\u0020\u0070\u0069\u0078e\u006cs\u003a\u0020\u0025\u0064",len (_cagg .GBAtX ),len (_cagg .GBAtY )); };_cagg .GBAtOverride =make ([]bool ,len (_cagg .GBAtX ));switch _cagg .GBTemplate {case 0:if !_cagg .UseExtTemplates {if _cagg .GBAtX [0]!=3||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0);};if _cagg .GBAtX [1]!=-3||_cagg .GBAtY [1]!=-1{_cagg .setOverrideFlag (1); };if _cagg .GBAtX [2]!=2||_cagg .GBAtY [2]!=-2{_cagg .setOverrideFlag (2);};if _cagg .GBAtX [3]!=-2||_cagg .GBAtY [3]!=-2{_cagg .setOverrideFlag (3);};}else {if _cagg .GBAtX [0]!=-2||_cagg .GBAtY [0]!=0{_cagg .setOverrideFlag (0);};if _cagg .GBAtX [1]!=0||_cagg .GBAtY [1]!=-2{_cagg .setOverrideFlag (1); };if _cagg .GBAtX [2]!=-2||_cagg .GBAtY [2]!=-1{_cagg .setOverrideFlag (2);};if _cagg .GBAtX [3]!=-1||_cagg .GBAtY [3]!=-2{_cagg .setOverrideFlag (3);};if _cagg .GBAtX [4]!=1||_cagg .GBAtY [4]!=-2{_cagg .setOverrideFlag (4);};if _cagg .GBAtX [5]!=2||_cagg .GBAtY [5]!=-1{_cagg .setOverrideFlag (5); };if _cagg .GBAtX [6]!=-3||_cagg .GBAtY [6]!=0{_cagg .setOverrideFlag (6);};if _cagg .GBAtX [7]!=-4||_cagg .GBAtY [7]!=0{_cagg .setOverrideFlag (7);};if _cagg .GBAtX [8]!=2||_cagg .GBAtY [8]!=-2{_cagg .setOverrideFlag (8);};if _cagg .GBAtX [9]!=3||_cagg .GBAtY [9]!=-1{_cagg .setOverrideFlag (9); };if _cagg .GBAtX [10]!=-2||_cagg .GBAtY [10]!=-2{_cagg .setOverrideFlag (10);};if _cagg .GBAtX [11]!=-3||_cagg .GBAtY [11]!=-1{_cagg .setOverrideFlag (11);};};case 1:if _cagg .GBAtX [0]!=3||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0);};case 2:if _cagg .GBAtX [0]!=2||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0); };case 3:if _cagg .GBAtX [0]!=2||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0);};};return nil ;};func (_aecf *Header )writeFlags (_bae _fde .BinaryWriter )(_ggbcd error ){const _fdcff ="\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065F\u006c\u0061\u0067\u0073"; _dgag :=byte (_aecf .Type );if _ggbcd =_bae .WriteByte (_dgag );_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"\u0077\u0072\u0069ti\u006e\u0067\u0020\u0073\u0065\u0067\u006d\u0065\u006et\u0020t\u0079p\u0065 \u006e\u0075\u006d\u0062\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064"); };if !_aecf .RetainFlag &&!_aecf .PageAssociationFieldSize {return nil ;};if _ggbcd =_bae .SkipBits (-8);_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"\u0073\u006bi\u0070\u0070\u0069\u006e\u0067\u0020\u0062\u0061\u0063\u006b\u0020\u0074\u0068\u0065\u0020\u0062\u0069\u0074\u0073\u0020\u0066\u0061il\u0065\u0064"); };var _deba int ;if _aecf .RetainFlag {_deba =1;};if _ggbcd =_bae .WriteBit (_deba );_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"\u0072\u0065\u0074\u0061in\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067\u0073");};_deba =0; if _aecf .PageAssociationFieldSize {_deba =1;};if _ggbcd =_bae .WriteBit (_deba );_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"p\u0061\u0067\u0065\u0020as\u0073o\u0063\u0069\u0061\u0074\u0069o\u006e\u0020\u0066\u006c\u0061\u0067");};_bae .FinishByte (); return nil ;};func (_bfdd *GenericRegion )getPixel (_gaf ,_eca int )int8 {if _gaf < 0||_gaf >=_bfdd .Bitmap .Width {return 0;};if _eca < 0||_eca >=_bfdd .Bitmap .Height {return 0;};if _bfdd .Bitmap .GetPixel (_gaf ,_eca ){return 1;};return 0;};func (_bgec *PageInformationSegment )CombinationOperator ()_aa .CombinationOperator {return _bgec ._gadg ; };type SymbolDictionary struct{_gcca _fde .StreamReader ;SdrTemplate int8 ;SdTemplate int8 ;_gebfg bool ;_acfg bool ;SdHuffAggInstanceSelection bool ;SdHuffBMSizeSelection int8 ;SdHuffDecodeWidthSelection int8 ;SdHuffDecodeHeightSelection int8 ;UseRefinementAggregation bool ; IsHuffmanEncoded bool ;SdATX []int8 ;SdATY []int8 ;SdrATX []int8 ;SdrATY []int8 ;NumberOfExportedSymbols uint32 ;NumberOfNewSymbols uint32 ;Header *Header ;_fdcd uint32 ;_gdf []*_aa .Bitmap ;_ddad uint32 ;_fefd []*_aa .Bitmap ;_cdbe _g .Tabler ;_cbfdg _g .Tabler ; _ebeg _g .Tabler ;_gcbf _g .Tabler ;_gacc []*_aa .Bitmap ;_feeae []*_aa .Bitmap ;_cecef *_cb .Decoder ;_edef *TextRegion ;_baeb *GenericRegion ;_aebg *GenericRefinementRegion ;_dbca *_cb .DecoderStats ;_def *_cb .DecoderStats ;_fdcg *_cb .DecoderStats ; _dbbe *_cb .DecoderStats ;_bcdg *_cb .DecoderStats ;_aeda *_cb .DecoderStats ;_dgd *_cb .DecoderStats ;_cbca *_cb .DecoderStats ;_ccfe *_cb .DecoderStats ;_defg int8 ;_fege *_aa .Bitmaps ;_cbbae []int ;_ecdcc map[int ]int ;_dbd bool ;};func (_bafb *Header )parse (_effgg Documenter ,_egcb _fde .StreamReader ,_ggbc int64 ,_becg OrganizationType )(_ebdda error ){const _bfbbg ="\u0070\u0061\u0072s\u0065"; _ac .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u005b\u0050A\u0052\u0053\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _ebdda !=nil {_ac .Log .Trace ("\u005b\u0053\u0045GM\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045R\u005d[\u0050A\u0052S\u0045\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_ebdda ); }else {_ac .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052]\u005bP\u0041\u0052\u0053\u0045\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064");};}();_ ,_ebdda =_egcb .Seek (_ggbc ,_a .SeekStart ); if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"\u0073\u0065\u0065\u006b\u0020\u0073\u0074\u0061\u0072\u0074");};if _ebdda =_bafb .readSegmentNumber (_egcb );_ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};if _ebdda =_bafb .readHeaderFlags (); _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};var _cfbd uint64 ;_cfbd ,_ebdda =_bafb .readNumberOfReferredToSegments (_egcb );if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};_bafb .RTSNumbers ,_ebdda =_bafb .readReferredToSegmentNumbers (_egcb ,int (_cfbd )); if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};_ebdda =_bafb .readSegmentPageAssociation (_effgg ,_egcb ,_cfbd ,_bafb .RTSNumbers ...);if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};if _bafb .Type !=TEndOfFile {if _ebdda =_bafb .readSegmentDataLength (_egcb ); _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};};_bafb .readDataStartOffset (_egcb ,_becg );_bafb .readHeaderLength (_egcb ,_ggbc );_ac .Log .Trace ("\u0025\u0073",_bafb );return nil ;};func (_dcbaa *PatternDictionary )readIsMMREncoded ()error {_bfag ,_feec :=_dcbaa ._aedd .ReadBit (); if _feec !=nil {return _feec ;};if _bfag !=0{_dcbaa .IsMMREncoded =true ;};return nil ;};func NewRegionSegment (r _fde .StreamReader )*RegionSegment {return &RegionSegment {_egce :r }};func (_fggg *SymbolDictionary )setSymbolsArray ()error {if _fggg ._gdf ==nil {if _dfee :=_fggg .retrieveImportSymbols (); _dfee !=nil {return _dfee ;};};if _fggg ._feeae ==nil {_fggg ._feeae =append (_fggg ._feeae ,_fggg ._gdf ...);};return nil ;};func (_aefdd *SymbolDictionary )readRefinementAtPixels (_fdfe int )error {_aefdd .SdrATX =make ([]int8 ,_fdfe );_aefdd .SdrATY =make ([]int8 ,_fdfe ); var (_egdb byte ;_fgca error ;);for _faf :=0;_faf < _fdfe ;_faf ++{_egdb ,_fgca =_aefdd ._gcca .ReadByte ();if _fgca !=nil {return _fgca ;};_aefdd .SdrATX [_faf ]=int8 (_egdb );_egdb ,_fgca =_aefdd ._gcca .ReadByte ();if _fgca !=nil {return _fgca ;};_aefdd .SdrATY [_faf ]=int8 (_egdb ); };return nil ;};func (_cbeca *TextRegion )Init (header *Header ,r _fde .StreamReader )error {_cbeca .Header =header ;_cbeca ._deef =r ;_cbeca .RegionInfo =NewRegionSegment (_cbeca ._deef );return _cbeca .parseHeader ();};func (_feea *RegionSegment )Size ()int {return 17}; func (_bgbf *PatternDictionary )computeSegmentDataStructure ()error {_bgbf .DataOffset =_bgbf ._aedd .StreamPosition ();_bgbf .DataHeaderLength =_bgbf .DataOffset -_bgbf .DataHeaderOffset ;_bgbf .DataLength =int64 (_bgbf ._aedd .Length ())-_bgbf .DataHeaderLength ; return nil ;};func (_fedc *PageInformationSegment )readDefaultPixelValue ()error {_bgaa ,_ccgg :=_fedc ._badgb .ReadBit ();if _ccgg !=nil {return _ccgg ;};_fedc .DefaultPixelValue =uint8 (_bgaa &0xf);return nil ;};func (_daad *SymbolDictionary )checkInput ()error {if _daad .SdHuffDecodeHeightSelection ==2{_ac .Log .Debug ("\u0053\u0079\u006d\u0062\u006fl\u0020\u0044\u0069\u0063\u0074i\u006fn\u0061\u0072\u0079\u0020\u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0048\u0065\u0069\u0067\u0068\u0074\u0020\u0053e\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u006e\u006f\u0074\u0020\u0070\u0065r\u006d\u0069\u0074\u0074\u0065\u0064",_daad .SdHuffDecodeHeightSelection ); };if _daad .SdHuffDecodeWidthSelection ==2{_ac .Log .Debug ("\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0057\u0069\u0064t\u0068\u0020\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061l\u0075\u0065\u0020\u006e\u006f\u0074 \u0070\u0065r\u006d\u0069t\u0074e\u0064",_daad .SdHuffDecodeWidthSelection ); };if _daad .IsHuffmanEncoded {if _daad .SdTemplate !=0{_ac .Log .Debug ("\u0053\u0044T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062e \u0030\u0029",_daad .SdTemplate ); };if !_daad .UseRefinementAggregation {if !_daad .UseRefinementAggregation {if _daad ._gebfg {_ac .Log .Debug ("\u0049\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074ex\u0074\u0052\u0065\u0074\u0061\u0069n\u0065\u0064\u0020\u003d\u0020\u0074\u0072\u0075\u0065\u0020\u0028\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0066\u0061\u006cs\u0065\u0029"); _daad ._gebfg =false ;};if _daad ._acfg {_ac .Log .Debug ("\u0069s\u0043\u006fd\u0069\u006e\u0067\u0043o\u006e\u0074\u0065x\u0074\u0055\u0073\u0065\u0064\u0020\u003d\u0020\u0074ru\u0065\u0020\u0028s\u0068\u006fu\u006c\u0064\u0020\u0062\u0065\u0020f\u0061\u006cs\u0065\u0029"); _daad ._acfg =false ;};};};}else {if _daad .SdHuffBMSizeSelection !=0{_ac .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066B\u004d\u0053\u0069\u007a\u0065\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030"); _daad .SdHuffBMSizeSelection =0;};if _daad .SdHuffDecodeWidthSelection !=0{_ac .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068\u0053\u0065\u006c\u0065\u0063\u0074\u0069o\u006e\u0020\u0073\u0068\u006fu\u006c\u0064 \u0062\u0065\u0020\u0030"); _daad .SdHuffDecodeWidthSelection =0;};if _daad .SdHuffDecodeHeightSelection !=0{_ac .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0048e\u0069\u0067\u0068\u0074\u0053\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030"); _daad .SdHuffDecodeHeightSelection =0;};};if !_daad .UseRefinementAggregation {if _daad .SdrTemplate !=0{_ac .Log .Debug ("\u0053\u0044\u0052\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u003d\u0020\u0025\u0064\u0020\u0028s\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_daad .SdrTemplate ); _daad .SdrTemplate =0;};};if !_daad .IsHuffmanEncoded ||!_daad .UseRefinementAggregation {if _daad .SdHuffAggInstanceSelection {_ac .Log .Debug ("\u0053d\u0048\u0075f\u0066\u0041\u0067g\u0049\u006e\u0073\u0074\u0061\u006e\u0063e\u0053\u0065\u006c\u0065\u0063\u0074i\u006f\u006e\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_daad .SdHuffAggInstanceSelection ); };};return nil ;};type TextRegion struct{_deef _fde .StreamReader ;RegionInfo *RegionSegment ;SbrTemplate int8 ;SbDsOffset int8 ;DefaultPixel int8 ;CombinationOperator _aa .CombinationOperator ;IsTransposed int8 ;ReferenceCorner int16 ;LogSBStrips int16 ; UseRefinement bool ;IsHuffmanEncoded bool ;SbHuffRSize int8 ;SbHuffRDY int8 ;SbHuffRDX int8 ;SbHuffRDHeight int8 ;SbHuffRDWidth int8 ;SbHuffDT int8 ;SbHuffDS int8 ;SbHuffFS int8 ;SbrATX []int8 ;SbrATY []int8 ;NumberOfSymbolInstances uint32 ;_bfbbd int64 ; SbStrips int8 ;NumberOfSymbols uint32 ;RegionBitmap *_aa .Bitmap ;Symbols []*_aa .Bitmap ;_adffd *_cb .Decoder ;_gagd *GenericRefinementRegion ;_eaed *_cb .DecoderStats ;_dgcaf *_cb .DecoderStats ;_agcab *_cb .DecoderStats ;_effgga *_cb .DecoderStats ; _fcff *_cb .DecoderStats ;_fafd *_cb .DecoderStats ;_ddfd *_cb .DecoderStats ;_afgf *_cb .DecoderStats ;_gaacf *_cb .DecoderStats ;_eabd *_cb .DecoderStats ;_afgb *_cb .DecoderStats ;_befd int8 ;_abdbc *_g .FixedSizeTable ;Header *Header ;_gcgg _g .Tabler ; _aaff _g .Tabler ;_ccfc _g .Tabler ;_fgde _g .Tabler ;_gbab _g .Tabler ;_fdbef _g .Tabler ;_acfe _g .Tabler ;_bbbc _g .Tabler ;_bdcda ,_aaceb map[int ]int ;_cfbfb []int ;_bggc *_aa .Points ;_dgafa *_aa .Bitmaps ;_bgga *_fe .IntSlice ;_geaf ,_eeaag int ; _beeb *_aa .Boxes ;};func (_edf *HalftoneRegion )Init (hd *Header ,r _fde .StreamReader )error {_edf ._eecb =r ;_edf ._adfg =hd ;_edf .RegionSegment =NewRegionSegment (r );return _edf .parseHeader ();};func (_db *GenericRefinementRegion )decodeTypicalPredictedLine (_dba ,_bd ,_fa ,_ged ,_adc ,_cga int )error {_cff :=_dba -int (_db .ReferenceDY ); _bbf :=_db .ReferenceBitmap .GetByteIndex (0,_cff );_cfe :=_db .RegionBitmap .GetByteIndex (0,_dba );var _dcb error ;switch _db .TemplateID {case 0:_dcb =_db .decodeTypicalPredictedLineTemplate0 (_dba ,_bd ,_fa ,_ged ,_adc ,_cga ,_cfe ,_cff ,_bbf );case 1:_dcb =_db .decodeTypicalPredictedLineTemplate1 (_dba ,_bd ,_fa ,_ged ,_adc ,_cga ,_cfe ,_cff ,_bbf ); };return _dcb ;};func (_ede *HalftoneRegion )renderPattern (_bgb [][]int )(_baca error ){var _dabb ,_ffge int ;for _dadfa :=0;_dadfa < int (_ede .HGridHeight );_dadfa ++{for _bgbd :=0;_bgbd < int (_ede .HGridWidth );_bgbd ++{_dabb =_ede .computeX (_dadfa ,_bgbd ); _ffge =_ede .computeY (_dadfa ,_bgbd );_bfbb :=_ede .Patterns [_bgb [_dadfa ][_bgbd ]];if _baca =_aa .Blit (_bfbb ,_ede .HalftoneRegionBitmap ,_dabb +int (_ede .HGridX ),_ffge +int (_ede .HGridY ),_ede .CombinationOperator );_baca !=nil {return _baca ; };};};return nil ;};func (_abc *GenericRegion )decodeSLTP ()(int ,error ){switch _abc .GBTemplate {case 0:_abc ._gbdc .SetIndex (0x9B25);case 1:_abc ._gbdc .SetIndex (0x795);case 2:_abc ._gbdc .SetIndex (0xE5);case 3:_abc ._gbdc .SetIndex (0x195);};return _abc ._cbe .DecodeBit (_abc ._gbdc ); };func (_dff *PageInformationSegment )Init (h *Header ,r _fde .StreamReader )(_dgf error ){_dff ._badgb =r ;if _dgf =_dff .parseHeader ();_dgf !=nil {return _df .Wrap (_dgf ,"P\u0061\u0067\u0065\u0049\u006e\u0066o\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065g\u006d\u0065\u006et\u002eI\u006e\u0069\u0074",""); };return nil ;};func (_gbac *PatternDictionary )readGrayMax ()error {_fegb ,_cadeg :=_gbac ._aedd .ReadBits (32);if _cadeg !=nil {return _cadeg ;};_gbac .GrayMax =uint32 (_fegb &_d .MaxUint32 );return nil ;};func (_dgbe *SymbolDictionary )huffDecodeBmSize ()(int64 ,error ){if _dgbe ._ebeg ==nil {var (_eded int ; _aaee error ;);if _dgbe .SdHuffDecodeHeightSelection ==3{_eded ++;};if _dgbe .SdHuffDecodeWidthSelection ==3{_eded ++;};_dgbe ._ebeg ,_aaee =_dgbe .getUserTable (_eded );if _aaee !=nil {return 0,_aaee ;};};return _dgbe ._ebeg .Decode (_dgbe ._gcca );}; func (_faag *PageInformationSegment )checkInput ()error {if _faag .PageBMHeight ==_d .MaxInt32 {if !_faag .IsStripe {_ac .Log .Debug ("P\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072\u006da\u0074\u0069\u006f\u006e\u0053\u0065\u0067me\u006e\u0074\u002e\u0049s\u0053\u0074\u0072\u0069\u0070\u0065\u0020\u0073\u0068ou\u006c\u0064 \u0062\u0065\u0020\u0074\u0072\u0075\u0065\u002e"); };};return nil ;};func (_cgca *SymbolDictionary )setCodingStatistics ()error {if _cgca ._cbca ==nil {_cgca ._cbca =_cb .NewStats (512,1);};if _cgca ._def ==nil {_cgca ._def =_cb .NewStats (512,1);};if _cgca ._fdcg ==nil {_cgca ._fdcg =_cb .NewStats (512,1); };if _cgca ._dbbe ==nil {_cgca ._dbbe =_cb .NewStats (512,1);};if _cgca ._bcdg ==nil {_cgca ._bcdg =_cb .NewStats (512,1);};if _cgca .UseRefinementAggregation &&_cgca ._ccfe ==nil {_cgca ._ccfe =_cb .NewStats (1<>1)&0x01); _fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0063\u006f\u006d\u0062\u0069\u006e\u0061\u0074\u0069\u006fn\u0020\u006f\u0070\u0065\u0072\u0061\u0074o\u0072\u0020\u0066\u0069\u0072\u0073\u0074\u0020\u0062\u0069\u0074");};if _fdd =_fbbd .WriteBit (int (_eefea ._gadg )&0x01); _fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u0073\u0065\u0063\u006f\u006e\u0064\u0020\u0062\u0069\u0074");};_cfbf =int (_eefea .DefaultPixelValue ); if _fdd =_fbbd .WriteBit (_cfbf );_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0064e\u0066\u0061\u0075\u006c\u0074\u0020\u0070\u0061\u0067\u0065\u0020p\u0069\u0078\u0065\u006c\u0020\u0076\u0061\u006c\u0075\u0065");};_cfbf =0;if _eefea ._ade {_cfbf =1; };if _fdd =_fbbd .WriteBit (_cfbf );_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0063\u006f\u006e\u0074ai\u006e\u0073\u0020\u0072\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074");};_cfbf =0;if _eefea .IsLossless {_cfbf =1;};if _fdd =_fbbd .WriteBit (_cfbf ); _fdd !=nil {return _df .Wrap (_fdd ,_babe ,"p\u0061\u0067\u0065\u0020\u0069\u0073 \u0065\u0076\u0065\u006e\u0074\u0075\u0061\u006c\u006cy\u0020\u006c\u006fs\u0073l\u0065\u0073\u0073");};return nil ;};func (_bdd *template1 )form (_beb ,_cada ,_gcb ,_gege ,_bac int16 )int16 {return ((_beb &0x02)<<8)|(_cada <<6)|((_gcb &0x03)<<4)|(_gege <<1)|_bac ; };func (_dfab *TextRegion )decodeSymbolInstances ()error {_gcabb ,_edac :=_dfab .decodeStripT ();if _edac !=nil {return _edac ;};var (_fgff int64 ;_gdgf uint32 ;);for _gdgf < _dfab .NumberOfSymbolInstances {_gafc ,_fede :=_dfab .decodeDT ();if _fede !=nil {return _fede ; };_gcabb +=_gafc ;var _bbgf int64 ;_gdcaa :=true ;_dfab ._bfbbd =0;for {if _gdcaa {_bbgf ,_fede =_dfab .decodeDfs ();if _fede !=nil {return _fede ;};_fgff +=_bbgf ;_dfab ._bfbbd =_fgff ;_gdcaa =false ;}else {_dgfb ,_daed :=_dfab .decodeIds ();if _ad .Is (_daed ,_ag .ErrOOB ){break ; };if _daed !=nil {return _daed ;};if _gdgf >=_dfab .NumberOfSymbolInstances {break ;};_dfab ._bfbbd +=_dgfb +int64 (_dfab .SbDsOffset );};_aeef ,_fddb :=_dfab .decodeCurrentT ();if _fddb !=nil {return _fddb ;};_aecfd :=_gcabb +_aeef ;_abde ,_fddb :=_dfab .decodeID (); if _fddb !=nil {return _fddb ;};_dfdf ,_fddb :=_dfab .decodeRI ();if _fddb !=nil {return _fddb ;};_caacf ,_fddb :=_dfab .decodeIb (_dfdf ,_abde );if _fddb !=nil {return _fddb ;};if _fddb =_dfab .blit (_caacf ,_aecfd );_fddb !=nil {return _fddb ;};_gdgf ++; };};return nil ;};func (_deda *SymbolDictionary )readRegionFlags ()error {var (_aadf uint64 ;_adbb int ;);_ ,_ffdb :=_deda ._gcca .ReadBits (3);if _ffdb !=nil {return _ffdb ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};_deda .SdrTemplate =int8 (_adbb ); _aadf ,_ffdb =_deda ._gcca .ReadBits (2);if _ffdb !=nil {return _ffdb ;};_deda .SdTemplate =int8 (_aadf &0xf);_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda ._gebfg =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit (); if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda ._acfg =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda .SdHuffAggInstanceSelection =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ; };_deda .SdHuffBMSizeSelection =int8 (_adbb );_aadf ,_ffdb =_deda ._gcca .ReadBits (2);if _ffdb !=nil {return _ffdb ;};_deda .SdHuffDecodeWidthSelection =int8 (_aadf &0xf);_aadf ,_ffdb =_deda ._gcca .ReadBits (2);if _ffdb !=nil {return _ffdb ;};_deda .SdHuffDecodeHeightSelection =int8 (_aadf &0xf); _adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda .UseRefinementAggregation =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda .IsHuffmanEncoded =true ;};return nil ; };func (_eafa *GenericRegion )overrideAtTemplate2 (_fbea ,_eddb ,_cadc ,_abea ,_fff int )int {_fbea &=0x3FB;if _eafa .GBAtY [0]==0&&_eafa .GBAtX [0]>=-int8 (_fff ){_fbea |=(_abea >>uint (7-(int8 (_fff )+_eafa .GBAtX [0]))&0x1)<<2;}else {_fbea |=int (_eafa .getPixel (_eddb +int (_eafa .GBAtX [0]),_cadc +int (_eafa .GBAtY [0])))<<2; };return _fbea ;};func (_dbcf *TableSegment )parseHeader ()error {var (_bebb int ;_ccee uint64 ;_abbe error ;);_bebb ,_abbe =_dbcf ._bcebe .ReadBit ();if _abbe !=nil {return _abbe ;};if _bebb ==1{return _ba .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0074\u0061\u0062\u006c\u0065 \u0073\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0064e\u0066\u0069\u006e\u0069\u0074\u0069\u006f\u006e\u002e\u0020\u0042\u002e\u0032\u002e1\u0020\u0043\u006f\u0064\u0065\u0020\u0054\u0061\u0062\u006c\u0065\u0020\u0066\u006c\u0061\u0067\u0073\u003a\u0020\u0042\u0069\u0074\u0020\u0037\u0020\u006d\u0075\u0073\u0074\u0020b\u0065\u0020\u007a\u0065\u0072\u006f\u002e\u0020\u0057a\u0073\u003a \u0025\u0064",_bebb ); };if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (3);_abbe !=nil {return _abbe ;};_dbcf ._faeec =(int32 (_ccee )+1)&0xf;if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (3);_abbe !=nil {return _abbe ;};_dbcf ._bece =(int32 (_ccee )+1)&0xf;if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (32); _abbe !=nil {return _abbe ;};_dbcf ._abgdd =int32 (_ccee &_d .MaxInt32 );if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (32);_abbe !=nil {return _abbe ;};_dbcf ._fdce =int32 (_ccee &_d .MaxInt32 );return nil ;};func (_ace *Header )referenceSize ()uint {switch {case _ace .SegmentNumber <=255:return 1; case _ace .SegmentNumber <=65535:return 2;default:return 4;};};func (_aeaa *SymbolDictionary )decodeHeightClassDeltaHeight ()(int64 ,error ){if _aeaa .IsHuffmanEncoded {return _aeaa .decodeHeightClassDeltaHeightWithHuffman ();};_adccf ,_aefd :=_aeaa ._cecef .DecodeInt (_aeaa ._def ); if _aefd !=nil {return 0,_aefd ;};return int64 (_adccf ),nil ;};func (_effd *TextRegion )decodeRdx ()(int64 ,error ){const _fcea ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064x";if _effd .IsHuffmanEncoded {if _effd .SbHuffRDX ==3{if _effd ._fdbef ==nil {var (_agcfg int ; _febbc error ;);if _effd .SbHuffFS ==3{_agcfg ++;};if _effd .SbHuffDS ==3{_agcfg ++;};if _effd .SbHuffDT ==3{_agcfg ++;};if _effd .SbHuffRDWidth ==3{_agcfg ++;};if _effd .SbHuffRDHeight ==3{_agcfg ++;};_effd ._fdbef ,_febbc =_effd .getUserTable (_agcfg ); if _febbc !=nil {return 0,_df .Wrap (_febbc ,_fcea ,"");};};return _effd ._fdbef .Decode (_effd ._deef );};_faagf ,_dcfa :=_g .GetStandardTable (14+int (_effd .SbHuffRDX ));if _dcfa !=nil {return 0,_df .Wrap (_dcfa ,_fcea ,"");};return _faagf .Decode (_effd ._deef ); };_edcg ,_dabd :=_effd ._adffd .DecodeInt (_effd ._gaacf );if _dabd !=nil {return 0,_df .Wrap (_dabd ,_fcea ,"");};return int64 (_edcg ),nil ;};func (_cdcg *Header )readSegmentNumber (_cgg _fde .StreamReader )error {const _gdca ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u004eu\u006d\u0062\u0065\u0072"; _dabe :=make ([]byte ,4);_ ,_edeg :=_cgg .Read (_dabe );if _edeg !=nil {return _df .Wrap (_edeg ,_gdca ,"");};_cdcg .SegmentNumber =_b .BigEndian .Uint32 (_dabe );return nil ;};func (_cgae *SymbolDictionary )decodeAggregate (_dabbe ,_fagf uint32 )error {var (_dfbd int64 ; _dfba error ;);if _cgae .IsHuffmanEncoded {_dfbd ,_dfba =_cgae .huffDecodeRefAggNInst ();if _dfba !=nil {return _dfba ;};}else {_dfaa ,_fbag :=_cgae ._cecef .DecodeInt (_cgae ._dbbe );if _fbag !=nil {return _fbag ;};_dfbd =int64 (_dfaa );};if _dfbd > 1{return _cgae .decodeThroughTextRegion (_dabbe ,_fagf ,uint32 (_dfbd )); }else if _dfbd ==1{return _cgae .decodeRefinedSymbol (_dabbe ,_fagf );};return nil ;};func (_bdeff *SymbolDictionary )decodeDirectlyThroughGenericRegion (_aace ,_abee uint32 )error {if _bdeff ._baeb ==nil {_bdeff ._baeb =NewGenericRegion (_bdeff ._gcca ); };_bdeff ._baeb .setParametersWithAt (false ,byte (_bdeff .SdTemplate ),false ,false ,_bdeff .SdATX ,_bdeff .SdATY ,_aace ,_abee ,_bdeff ._dbca ,_bdeff ._cecef );return _bdeff .addSymbol (_bdeff ._baeb );};func (_cagee *TextRegion )Encode (w _fde .BinaryWriter )(_efac int ,_eeed error ){const _eede ="\u0054\u0065\u0078\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u002e\u0045n\u0063\u006f\u0064\u0065"; if _efac ,_eeed =_cagee .RegionInfo .Encode (w );_eeed !=nil {return _efac ,_df .Wrap (_eeed ,_eede ,"");};var _afbc int ;if _afbc ,_eeed =_cagee .encodeFlags (w );_eeed !=nil {return _efac ,_df .Wrap (_eeed ,_eede ,"");};_efac +=_afbc ;if _afbc ,_eeed =_cagee .encodeSymbols (w ); _eeed !=nil {return _efac ,_df .Wrap (_eeed ,_eede ,"");};_efac +=_afbc ;return _efac ,nil ;};func (_geegc *TableSegment )StreamReader ()_fde .StreamReader {return _geegc ._bcebe };func (_gbf *template1 )setIndex (_ffa *_cb .DecoderStats ){_ffa .SetIndex (0x080)}; func (_gfcc *Header )writeSegmentPageAssociation (_gggf _fde .BinaryWriter )(_eeaa int ,_dcae error ){const _fgd ="w\u0072\u0069\u0074\u0065\u0053\u0065g\u006d\u0065\u006e\u0074\u0050\u0061\u0067\u0065\u0041s\u0073\u006f\u0063i\u0061t\u0069\u006f\u006e"; if _gfcc .pageSize ()!=4{if _dcae =_gggf .WriteByte (byte (_gfcc .PageAssociation ));_dcae !=nil {return 0,_df .Wrap (_dcae ,_fgd ,"\u0070\u0061\u0067\u0065\u0053\u0069\u007a\u0065\u0020\u0021\u003d\u0020\u0034");};return 1,nil ;};_feca :=make ([]byte ,4); _b .BigEndian .PutUint32 (_feca ,uint32 (_gfcc .PageAssociation ));if _eeaa ,_dcae =_gggf .Write (_feca );_dcae !=nil {return 0,_df .Wrap (_dcae ,_fgd ,"\u0034 \u0062y\u0074\u0065\u0020\u0070\u0061g\u0065\u0020n\u0075\u006d\u0062\u0065\u0072");};return _eeaa ,nil ; };func (_dcgg *SymbolDictionary )Encode (w _fde .BinaryWriter )(_gfaf int ,_cbfe error ){const _cfddd ="\u0053\u0079\u006dbo\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0045\u006e\u0063\u006f\u0064\u0065";if _dcgg ==nil {return 0,_df .Error (_cfddd ,"\u0073\u0079m\u0062\u006f\u006c\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006e\u006f\u0074\u0020\u0064\u0065\u0066in\u0065\u0064"); };if _gfaf ,_cbfe =_dcgg .encodeFlags (w );_cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_bafd ,_cbfe :=_dcgg .encodeATFlags (w );if _cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_gfaf +=_bafd ;if _bafd ,_cbfe =_dcgg .encodeRefinementATFlags (w ); _cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_gfaf +=_bafd ;if _bafd ,_cbfe =_dcgg .encodeNumSyms (w );_cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_gfaf +=_bafd ;if _bafd ,_cbfe =_dcgg .encodeSymbols (w );_cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,""); };_gfaf +=_bafd ;return _gfaf ,nil ;};func (_abggc *TextRegion )decodeDT ()(_befb int64 ,_bbgd error ){if _abggc .IsHuffmanEncoded {if _abggc .SbHuffDT ==3{_befb ,_bbgd =_abggc ._ccfc .Decode (_abggc ._deef );if _bbgd !=nil {return 0,_bbgd ;};}else {var _fcfc _g .Tabler ; _fcfc ,_bbgd =_g .GetStandardTable (11+int (_abggc .SbHuffDT ));if _bbgd !=nil {return 0,_bbgd ;};_befb ,_bbgd =_fcfc .Decode (_abggc ._deef );if _bbgd !=nil {return 0,_bbgd ;};};}else {var _efab int32 ;_efab ,_bbgd =_abggc ._adffd .DecodeInt (_abggc ._eaed ); if _bbgd !=nil {return ;};_befb =int64 (_efab );};_befb *=int64 (_abggc .SbStrips );return _befb ,nil ;};func (_gfcg *TextRegion )readHuffmanFlags ()error {var (_eecf int ;_dcdd uint64 ;_aceb error ;);_ ,_aceb =_gfcg ._deef .ReadBit ();if _aceb !=nil {return _aceb ; };_eecf ,_aceb =_gfcg ._deef .ReadBit ();if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRSize =int8 (_eecf );_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRDY =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2); if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRDX =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRDHeight =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ; };_gfcg .SbHuffRDWidth =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffDT =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffDS =int8 (_dcdd )&0xf; _dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffFS =int8 (_dcdd )&0xf;return nil ;};func (_fefa *PageInformationSegment )readRequiresAuxiliaryBuffer ()error {_cbcb ,_abgd :=_fefa ._badgb .ReadBit ();if _abgd !=nil {return _abgd ; };if _cbcb ==1{_fefa ._becga =true ;};return nil ;};func (_ecea *Header )String ()string {_ffcd :=&_c .Builder {};_ffcd .WriteString ("\u000a[\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045A\u0044\u0045\u0052\u005d\u000a");_ffcd .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0053\u0065gm\u0065n\u0074\u004e\u0075\u006d\u0062e\u0072\u003a\u0020\u0025\u0076\u000a",_ecea .SegmentNumber )); _ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020T\u0079\u0070\u0065\u003a\u0020\u0025\u0076\u000a",_ecea .Type ));_ffcd .WriteString (_ba .Sprintf ("\u0009-\u0020R\u0065\u0074\u0061\u0069\u006eF\u006c\u0061g\u003a\u0020\u0025\u0076\u000a",_ecea .RetainFlag )); _ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020Pa\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_ecea .PageAssociation ));_ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0050\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074i\u006fn\u0046\u0069\u0065\u006c\u0064\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_ecea .PageAssociationFieldSize )); _ffcd .WriteString ("\u0009-\u0020R\u0054\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u0053\u003a\u000a");for _ ,_cbecg :=range _ecea .RTSNumbers {_ffcd .WriteString (_ba .Sprintf ("\u0009\t\u002d\u0020\u0025\u0064\u000a",_cbecg ));};_ffcd .WriteString (_ba .Sprintf ("\t\u002d \u0048\u0065\u0061\u0064\u0065\u0072\u004c\u0065n\u0067\u0074\u0068\u003a %\u0076\u000a",_ecea .HeaderLength )); _ffcd .WriteString (_ba .Sprintf ("\u0009-\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061L\u0065n\u0067\u0074\u0068\u003a\u0020\u0025\u0076\n",_ecea .SegmentDataLength ));_ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074D\u0061\u0074\u0061\u0053\u0074\u0061\u0072t\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0076\u000a",_ecea .SegmentDataStartOffset )); return _ffcd .String ();};var _ _g .BasicTabler =&TableSegment {};const (TSymbolDictionary Type =0;TIntermediateTextRegion Type =4;TImmediateTextRegion Type =6;TImmediateLosslessTextRegion Type =7;TPatternDictionary Type =16;TIntermediateHalftoneRegion Type =20; TImmediateHalftoneRegion Type =22;TImmediateLosslessHalftoneRegion Type =23;TIntermediateGenericRegion Type =36;TImmediateGenericRegion Type =38;TImmediateLosslessGenericRegion Type =39;TIntermediateGenericRefinementRegion Type =40;TImmediateGenericRefinementRegion Type =42; TImmediateLosslessGenericRefinementRegion Type =43;TPageInformation Type =48;TEndOfPage Type =49;TEndOfStrip Type =50;TEndOfFile Type =51;TProfiles Type =52;TTables Type =53;TExtension Type =62;TBitmap Type =70;);func (_edabe *TextRegion )GetRegionInfo ()*RegionSegment {return _edabe .RegionInfo }; func (_dbccb *TableSegment )HtPS ()int32 {return _dbccb ._bece };func (_acdb *PatternDictionary )readPatternWidthAndHeight ()error {_eeeb ,_bcgbb :=_acdb ._aedd .ReadByte ();if _bcgbb !=nil {return _bcgbb ;};_acdb .HdpWidth =_eeeb ;_eeeb ,_bcgbb =_acdb ._aedd .ReadByte (); if _bcgbb !=nil {return _bcgbb ;};_acdb .HdpHeight =_eeeb ;return nil ;};func (_ccca *TableSegment )HtOOB ()int32 {return _ccca ._affd };type SegmentEncoder interface{Encode (_ffgd _fde .BinaryWriter )(_gbca int ,_gafd error );};type OrganizationType uint8 ; func (_eda *HalftoneRegion )computeSegmentDataStructure ()error {_eda .DataOffset =_eda ._eecb .StreamPosition ();_eda .DataHeaderLength =_eda .DataOffset -_eda .DataHeaderOffset ;_eda .DataLength =int64 (_eda ._eecb .Length ())-_eda .DataHeaderLength ; return nil ;};func (_bggd *SymbolDictionary )setRetainedCodingContexts (_fffga *SymbolDictionary ){_bggd ._cecef =_fffga ._cecef ;_bggd .IsHuffmanEncoded =_fffga .IsHuffmanEncoded ;_bggd .UseRefinementAggregation =_fffga .UseRefinementAggregation ;_bggd .SdTemplate =_fffga .SdTemplate ; _bggd .SdrTemplate =_fffga .SdrTemplate ;_bggd .SdATX =_fffga .SdATX ;_bggd .SdATY =_fffga .SdATY ;_bggd .SdrATX =_fffga .SdrATX ;_bggd .SdrATY =_fffga .SdrATY ;_bggd ._dbca =_fffga ._dbca ;};func (_dcgfc *PageInformationSegment )readContainsRefinement ()error {_bbab ,_bdbd :=_dcgfc ._badgb .ReadBit (); if _bdbd !=nil {return _bdbd ;};if _bbab ==1{_dcgfc ._ade =true ;};return nil ;};func (_fdda *SymbolDictionary )setExportedSymbols (_eecgd []int ){for _egcc :=uint32 (0);_egcc < _fdda ._fdcd +_fdda .NumberOfNewSymbols ;_egcc ++{if _eecgd [_egcc ]==1{var _adgec *_aa .Bitmap ; if _egcc < _fdda ._fdcd {_adgec =_fdda ._gdf [_egcc ];}else {_adgec =_fdda ._fefd [_egcc -_fdda ._fdcd ];};_ac .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u002d\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u0020\u0041\u0064\u0064 E\u0078\u0070\u006fr\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c:\u0020\u0027%\u0073\u0027",_adgec ); _fdda ._gacc =append (_fdda ._gacc ,_adgec );};};};func (_dbgg *RegionSegment )String ()string {_cadae :=&_c .Builder {};_cadae .WriteString ("\u0009[\u0052E\u0047\u0049\u004f\u004e\u0020S\u0045\u0047M\u0045\u004e\u0054\u005d\u000a");_cadae .WriteString (_ba .Sprintf ("\t\u0009\u002d\u0020\u0042\u0069\u0074m\u0061\u0070\u0020\u0028\u0077\u0069d\u0074\u0068\u002c\u0020\u0068\u0065\u0069g\u0068\u0074\u0029\u0020\u005b\u0025\u0064\u0078\u0025\u0064]\u000a",_dbgg .BitmapWidth ,_dbgg .BitmapHeight )); _cadae .WriteString (_ba .Sprintf ("\u0009\u0009\u002d\u0020L\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u0020\u0028\u0078,\u0079)\u003a\u0020\u005b\u0025\u0064\u002c\u0025d\u005d\u000a",_dbgg .XLocation ,_dbgg .YLocation ));_cadae .WriteString (_ba .Sprintf ("\t\u0009\u002d\u0020\u0043\u006f\u006db\u0069\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070e\u0072\u0061\u0074o\u0072:\u0020\u0025\u0073",_dbgg .CombinaionOperator )); return _cadae .String ();};func (_aeag *TableSegment )HtRS ()int32 {return _aeag ._faeec };func (_efg *GenericRegion )GetRegionInfo ()*RegionSegment {return _efg .RegionSegment };func NewHeader (d Documenter ,r _fde .StreamReader ,offset int64 ,organizationType OrganizationType )(*Header ,error ){_dfde :=&Header {Reader :r }; if _bcda :=_dfde .parse (d ,r ,offset ,organizationType );_bcda !=nil {return nil ,_df .Wrap (_bcda ,"\u004ee\u0077\u0048\u0065\u0061\u0064\u0065r","");};return _dfde ,nil ;};func (_egg *RegionSegment )readCombinationOperator ()error {_bbfa ,_cefg :=_egg ._egce .ReadBits (3); if _cefg !=nil {return _cefg ;};_egg .CombinaionOperator =_aa .CombinationOperator (_bbfa &0xF);return nil ;};func (_bdbg *SymbolDictionary )GetDictionary ()([]*_aa .Bitmap ,error ){_ac .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c-\u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e"); defer func (){_ac .Log .Trace ("\u005b\u0053\u0059M\u0042\u004f\u004c\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064"); _ac .Log .Trace ("\u005b\u0053Y\u004d\u0042\u004f\u004c\u002dD\u0049\u0043\u0054\u0049\u004fN\u0041\u0052\u0059\u005d\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0020\u000a\u0045\u0078\u003a\u0020\u0027\u0025\u0073\u0027\u002c\u0020\u000a\u006e\u0065\u0077\u003a\u0027\u0025\u0073\u0027",_bdbg ._gacc ,_bdbg ._fefd ); }();if _bdbg ._gacc ==nil {var _daga error ;if _bdbg .UseRefinementAggregation {_bdbg ._defg =_bdbg .getSbSymCodeLen ();};if !_bdbg .IsHuffmanEncoded {if _daga =_bdbg .setCodingStatistics ();_daga !=nil {return nil ,_daga ;};};_bdbg ._fefd =make ([]*_aa .Bitmap ,_bdbg .NumberOfNewSymbols ); var _ecdeb []int ;if _bdbg .IsHuffmanEncoded &&!_bdbg .UseRefinementAggregation {_ecdeb =make ([]int ,_bdbg .NumberOfNewSymbols );};if _daga =_bdbg .setSymbolsArray ();_daga !=nil {return nil ,_daga ;};var _dgfd ,_fcfac int64 ;_bdbg ._ddad =0;for _bdbg ._ddad < _bdbg .NumberOfNewSymbols {_fcfac ,_daga =_bdbg .decodeHeightClassDeltaHeight (); if _daga !=nil {return nil ,_daga ;};_dgfd +=_fcfac ;var _gaab ,_afca uint32 ;_bdfaf :=int64 (_bdbg ._ddad );for {var _faec int64 ;_faec ,_daga =_bdbg .decodeDifferenceWidth ();if _ad .Is (_daga ,_ag .ErrOOB ){break ;};if _daga !=nil {return nil ,_daga ; };if _bdbg ._ddad >=_bdbg .NumberOfNewSymbols {break ;};_gaab +=uint32 (_faec );_afca +=_gaab ;if !_bdbg .IsHuffmanEncoded ||_bdbg .UseRefinementAggregation {if !_bdbg .UseRefinementAggregation {_daga =_bdbg .decodeDirectlyThroughGenericRegion (_gaab ,uint32 (_dgfd )); if _daga !=nil {return nil ,_daga ;};}else {_daga =_bdbg .decodeAggregate (_gaab ,uint32 (_dgfd ));if _daga !=nil {return nil ,_daga ;};};}else if _bdbg .IsHuffmanEncoded &&!_bdbg .UseRefinementAggregation {_ecdeb [_bdbg ._ddad ]=int (_gaab );};_bdbg ._ddad ++; };if _bdbg .IsHuffmanEncoded &&!_bdbg .UseRefinementAggregation {var _fdbc int64 ;if _bdbg .SdHuffBMSizeSelection ==0{var _cdgb _g .Tabler ;_cdgb ,_daga =_g .GetStandardTable (1);if _daga !=nil {return nil ,_daga ;};_fdbc ,_daga =_cdgb .Decode (_bdbg ._gcca ); if _daga !=nil {return nil ,_daga ;};}else {_fdbc ,_daga =_bdbg .huffDecodeBmSize ();if _daga !=nil {return nil ,_daga ;};};_bdbg ._gcca .Align ();var _cage *_aa .Bitmap ;_cage ,_daga =_bdbg .decodeHeightClassCollectiveBitmap (_fdbc ,uint32 (_dgfd ),_afca ); if _daga !=nil {return nil ,_daga ;};_daga =_bdbg .decodeHeightClassBitmap (_cage ,_bdfaf ,int (_dgfd ),_ecdeb );if _daga !=nil {return nil ,_daga ;};};};_gcccf ,_daga :=_bdbg .getToExportFlags ();if _daga !=nil {return nil ,_daga ;};_bdbg .setExportedSymbols (_gcccf ); };return _bdbg ._gacc ,nil ;};func (_cbd *Header )readDataStartOffset (_bcfe _fde .StreamReader ,_cabf OrganizationType ){if _cabf ==OSequential {_cbd .SegmentDataStartOffset =uint64 (_bcfe .StreamPosition ());};};func (_efgc *PatternDictionary )Init (h *Header ,r _fde .StreamReader )error {_efgc ._aedd =r ; return _efgc .parseHeader ();};func (_bafdd *TextRegion )readAmountOfSymbolInstances ()error {_fbffg ,_bbac :=_bafdd ._deef .ReadBits (32);if _bbac !=nil {return _bbac ;};_bafdd .NumberOfSymbolInstances =uint32 (_fbffg &_d .MaxUint32 );_ecag :=_bafdd .RegionInfo .BitmapWidth *_bafdd .RegionInfo .BitmapHeight ; if _ecag < _bafdd .NumberOfSymbolInstances {_ac .Log .Debug ("\u004c\u0069\u006d\u0069t\u0069\u006e\u0067\u0020t\u0068\u0065\u0020n\u0075\u006d\u0062\u0065\u0072\u0020o\u0066\u0020d\u0065\u0063\u006f\u0064e\u0064\u0020\u0073\u0079m\u0062\u006f\u006c\u0020\u0069n\u0073\u0074\u0061\u006e\u0063\u0065\u0073 \u0074\u006f\u0020\u006f\u006ee\u0020\u0070\u0065\u0072\u0020\u0070\u0069\u0078\u0065l\u0020\u0028\u0020\u0025\u0064\u0020\u0069\u006e\u0073\u0074\u0065\u0061\u0064\u0020\u006f\u0066\u0020\u0025\u0064\u0029",_ecag ,_bafdd .NumberOfSymbolInstances ); _bafdd .NumberOfSymbolInstances =_ecag ;};return nil ;};func (_dbgdg *TextRegion )initSymbols ()error {const _ffag ="i\u006e\u0069\u0074\u0053\u0079\u006d\u0062\u006f\u006c\u0073";for _ ,_dgeb :=range _dbgdg .Header .RTSegments {if _dgeb ==nil {return _df .Error (_ffag ,"\u006e\u0069\u006c\u0020\u0073\u0065\u0067\u006de\u006e\u0074\u0020pr\u006f\u0076\u0069\u0064\u0065\u0064 \u0066\u006f\u0072\u0020\u0074\u0068\u0065\u0020\u0074\u0065\u0078\u0074\u0020\u0072\u0065g\u0069\u006f\u006e\u0020\u0053\u0079\u006d\u0062o\u006c\u0073"); };if _dgeb .Type ==0{_fgfd ,_geac :=_dgeb .GetSegmentData ();if _geac !=nil {return _df .Wrap (_geac ,_ffag ,"");};_dbfag ,_fdbca :=_fgfd .(*SymbolDictionary );if !_fdbca {return _df .Error (_ffag ,"\u0072e\u0066\u0065r\u0072\u0065\u0064 \u0054\u006f\u0020\u0053\u0065\u0067\u006de\u006e\u0074\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006cD\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079"); };_dbfag ._ccfe =_dbgdg ._afgf ;_cca ,_geac :=_dbfag .GetDictionary ();if _geac !=nil {return _df .Wrap (_geac ,_ffag ,"");};_dbgdg .Symbols =append (_dbgdg .Symbols ,_cca ...);};};_dbgdg .NumberOfSymbols =uint32 (len (_dbgdg .Symbols ));return nil ;}; func (_ga *GenericRefinementRegion )GetRegionInfo ()*RegionSegment {return _ga .RegionInfo };func (_baff *GenericRegion )copyLineAbove (_aead int )error {_gbdd :=_aead *_baff .Bitmap .RowStride ;_ebb :=_gbdd -_baff .Bitmap .RowStride ;for _accg :=0;_accg < _baff .Bitmap .RowStride ; _accg ++{_agbe ,_fae :=_baff .Bitmap .GetByte (_ebb );if _fae !=nil {return _fae ;};_ebb ++;if _fae =_baff .Bitmap .SetByte (_gbdd ,_agbe );_fae !=nil {return _fae ;};_gbdd ++;};return nil ;};func (_cdbc *TextRegion )setParameters (_adaf *_cb .Decoder ,_bafg ,_ggab bool ,_gbfc ,_agfe uint32 ,_ddbe uint32 ,_ffaf int8 ,_ccfff uint32 ,_aacf int8 ,_aag _aa .CombinationOperator ,_caca int8 ,_ggaba int16 ,_ebgb ,_ecfbd ,_agbb ,_efgea ,_edgfd ,_bcfec ,_cbde ,_cgabe ,_acccb ,_ebgd int8 ,_cabb ,_edceb []int8 ,_gafca []*_aa .Bitmap ,_aeeag int8 ){_cdbc ._adffd =_adaf ; _cdbc .IsHuffmanEncoded =_bafg ;_cdbc .UseRefinement =_ggab ;_cdbc .RegionInfo .BitmapWidth =_gbfc ;_cdbc .RegionInfo .BitmapHeight =_agfe ;_cdbc .NumberOfSymbolInstances =_ddbe ;_cdbc .SbStrips =_ffaf ;_cdbc .NumberOfSymbols =_ccfff ;_cdbc .DefaultPixel =_aacf ; _cdbc .CombinationOperator =_aag ;_cdbc .IsTransposed =_caca ;_cdbc .ReferenceCorner =_ggaba ;_cdbc .SbDsOffset =_ebgb ;_cdbc .SbHuffFS =_ecfbd ;_cdbc .SbHuffDS =_agbb ;_cdbc .SbHuffDT =_efgea ;_cdbc .SbHuffRDWidth =_edgfd ;_cdbc .SbHuffRDHeight =_bcfec ; _cdbc .SbHuffRSize =_acccb ;_cdbc .SbHuffRDX =_cbde ;_cdbc .SbHuffRDY =_cgabe ;_cdbc .SbrTemplate =_ebgd ;_cdbc .SbrATX =_cabb ;_cdbc .SbrATY =_edceb ;_cdbc .Symbols =_gafca ;_cdbc ._befd =_aeeag ;};func (_ffcc *SymbolDictionary )InitEncode (symbols *_aa .Bitmaps ,symbolList []int ,symbolMap map[int ]int ,unborderSymbols bool )error {const _gcg ="S\u0079\u006d\u0062\u006f\u006c\u0044i\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002eI\u006e\u0069\u0074E\u006ec\u006f\u0064\u0065"; _ffcc .SdATX =[]int8 {3,-3,2,-2};_ffcc .SdATY =[]int8 {-1,-1,-2,-2};_ffcc ._fege =symbols ;_ffcc ._cbbae =make ([]int ,len (symbolList ));copy (_ffcc ._cbbae ,symbolList );if len (_ffcc ._cbbae )!=_ffcc ._fege .Size (){return _df .Error (_gcg ,"s\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0061\u006e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u004ci\u0073\u0074\u0020\u006f\u0066\u0020\u0064\u0069\u0066\u0066er\u0065\u006e\u0074 \u0073i\u007a\u0065"); };_ffcc .NumberOfNewSymbols =uint32 (symbols .Size ());_ffcc .NumberOfExportedSymbols =uint32 (symbols .Size ());_ffcc ._ecdcc =symbolMap ;_ffcc ._dbd =unborderSymbols ;return nil ;};func (_bffd *PatternDictionary )extractPatterns (_dcdf *_aa .Bitmap )error {var _fcfa int ; _bdef :=make ([]*_aa .Bitmap ,_bffd .GrayMax +1);for _fcfa <=int (_bffd .GrayMax ){_ggfeb :=int (_bffd .HdpWidth )*_fcfa ;_afaf :=_f .Rect (_ggfeb ,0,_ggfeb +int (_bffd .HdpWidth ),int (_bffd .HdpHeight ));_fbff ,_eebg :=_aa .Extract (_afaf ,_dcdf );if _eebg !=nil {return _eebg ; };_bdef [_fcfa ]=_fbff ;_fcfa ++;};_bffd .Patterns =_bdef ;return nil ;};func (_cce *HalftoneRegion )shiftAndFill (_edab int )int {_edab >>=8;if _edab < 0{_edbg :=int (_d .Log (float64 (_dcbeg (_edab )))/_d .Log (2));_faa :=31-_edbg ;for _cdec :=1;_cdec < _faa ; _cdec ++{_edab |=1< 0{_bagac =append (_bagac ,_g .NewCode (int32 (_afde ),0,int32 (_agbag ),false ));};};_cedg ,_cagdc =_g .NewFixedSizeTable (_bagac ); if _cagdc !=nil {return _cagdc ;};var (_eabb int64 ;_fdaa uint32 ;_geaa []*_g .Code ;_bcfb int64 ;);for _fdaa < _egdc .NumberOfSymbols {_bcfb ,_cagdc =_cedg .Decode (_egdc ._deef );if _cagdc !=nil {return _cagdc ;};if _bcfb < 32{if _bcfb > 0{_geaa =append (_geaa ,_g .NewCode (int32 (_bcfb ),0,int32 (_fdaa ),false )); };_eabb =_bcfb ;_fdaa ++;}else {var _aggbc ,_deeee int64 ;switch _bcfb {case 32:_bfdgf ,_cagdc =_egdc ._deef .ReadBits (2);if _cagdc !=nil {return _cagdc ;};_aggbc =3+int64 (_bfdgf );if _fdaa > 0{_deeee =_eabb ;};case 33:_bfdgf ,_cagdc =_egdc ._deef .ReadBits (3); if _cagdc !=nil {return _cagdc ;};_aggbc =3+int64 (_bfdgf );case 34:_bfdgf ,_cagdc =_egdc ._deef .ReadBits (7);if _cagdc !=nil {return _cagdc ;};_aggbc =11+int64 (_bfdgf );};for _beaac :=0;_beaac < int (_aggbc );_beaac ++{if _deeee > 0{_geaa =append (_geaa ,_g .NewCode (int32 (_deeee ),0,int32 (_fdaa ),false )); };_fdaa ++;};};};_egdc ._deef .Align ();_egdc ._abdbc ,_cagdc =_g .NewFixedSizeTable (_geaa );return _cagdc ;};func (_fcag *TextRegion )getUserTable (_gebec int )(_g .Tabler ,error ){const _aeea ="\u0067\u0065\u0074U\u0073\u0065\u0072\u0054\u0061\u0062\u006c\u0065"; var _fegc int ;for _ ,_eaebb :=range _fcag .Header .RTSegments {if _eaebb .Type ==53{if _fegc ==_gebec {_cadcd ,_cfdfe :=_eaebb .GetSegmentData ();if _cfdfe !=nil {return nil ,_cfdfe ;};_aeg ,_aeeae :=_cadcd .(*TableSegment );if !_aeeae {_ac .Log .Debug (_ba .Sprintf ("\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079p\u0065\u00205\u0033\u0020\u002d\u0020\u0061\u006ed\u0020in\u0064\u0065\u0078\u003a\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_eaebb .SegmentNumber )); return nil ,_df .Error (_aeea ,"\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079\u0070e\u0020\u0035\u0033\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u002a\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074"); };return _g .NewEncodedTable (_aeg );};_fegc ++;};};return nil ,nil ;};func (_agce *GenericRegion )overrideAtTemplate0a (_abg ,_dggd ,_egdd ,_dfb ,_bdgf ,_eefe int )int {if _agce .GBAtOverride [0]{_abg &=0xFFEF;if _agce .GBAtY [0]==0&&_agce .GBAtX [0]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [0]&0x1))<<4; }else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [0]),_egdd +int (_agce .GBAtY [0])))<<4;};};if _agce .GBAtOverride [1]{_abg &=0xFBFF;if _agce .GBAtY [1]==0&&_agce .GBAtX [1]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [1]&0x1))<<10; }else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [1]),_egdd +int (_agce .GBAtY [1])))<<10;};};if _agce .GBAtOverride [2]{_abg &=0xF7FF;if _agce .GBAtY [2]==0&&_agce .GBAtX [2]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [2]&0x1))<<11; }else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [2]),_egdd +int (_agce .GBAtY [2])))<<11;};};if _agce .GBAtOverride [3]{_abg &=0x7FFF;if _agce .GBAtY [3]==0&&_agce .GBAtX [3]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [3]&0x1))<<15; }else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [3]),_egdd +int (_agce .GBAtY [3])))<<15;};};return _abg ;};func (_cabfc *PatternDictionary )checkInput ()error {if _cabfc .HdpHeight < 1||_cabfc .HdpWidth < 1{return _fd .New ("in\u0076\u0061l\u0069\u0064\u0020\u0048\u0065\u0061\u0064\u0065\u0072 \u0056\u0061\u006c\u0075\u0065\u003a\u0020\u0057\u0069\u0064\u0074\u0068\u002f\u0048\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0075\u0073\u0074\u0020\u0062\u0065\u0020g\u0072e\u0061\u0074\u0065\u0072\u0020\u0074\u0068\u0061n\u0020z\u0065\u0072o"); };if _cabfc .IsMMREncoded {if _cabfc .HDTemplate !=0{_ac .Log .Debug ("\u0076\u0061\u0072\u0069\u0061\u0062\u006c\u0065\u0020\u0048\u0044\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e \u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030"); };};return nil ;};func (_gffa *TableSegment )HtHigh ()int32 {return _gffa ._fdce };func (_ea *template0 )setIndex (_fcg *_cb .DecoderStats ){_fcg .SetIndex (0x100)};func (_faab *RegionSegment )Encode (w _fde .BinaryWriter )(_dfcc int ,_egb error ){const _ddb ="R\u0065g\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065n\u0074\u002e\u0045\u006eco\u0064\u0065"; _eecg :=make ([]byte ,4);_b .BigEndian .PutUint32 (_eecg ,_faab .BitmapWidth );_dfcc ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0057\u0069\u0064t\u0068");};_b .BigEndian .PutUint32 (_eecg ,_faab .BitmapHeight );var _fgdf int ; _fgdf ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0048\u0065\u0069\u0067\u0068\u0074");};_dfcc +=_fgdf ;_b .BigEndian .PutUint32 (_eecg ,_faab .XLocation );_fgdf ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0058L\u006f\u0063\u0061\u0074\u0069\u006fn"); };_dfcc +=_fgdf ;_b .BigEndian .PutUint32 (_eecg ,_faab .YLocation );_fgdf ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0059L\u006f\u0063\u0061\u0074\u0069\u006fn");};_dfcc +=_fgdf ;if _egb =w .WriteByte (byte (_faab .CombinaionOperator )&0x07); _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};_dfcc ++;return _dfcc ,nil ;};func (_bccg *TextRegion )decodeRdy ()(int64 ,error ){const _aafg ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064y"; if _bccg .IsHuffmanEncoded {if _bccg .SbHuffRDY ==3{if _bccg ._acfe ==nil {var (_bbcbb int ;_cabde error ;);if _bccg .SbHuffFS ==3{_bbcbb ++;};if _bccg .SbHuffDS ==3{_bbcbb ++;};if _bccg .SbHuffDT ==3{_bbcbb ++;};if _bccg .SbHuffRDWidth ==3{_bbcbb ++;}; if _bccg .SbHuffRDHeight ==3{_bbcbb ++;};if _bccg .SbHuffRDX ==3{_bbcbb ++;};_bccg ._acfe ,_cabde =_bccg .getUserTable (_bbcbb );if _cabde !=nil {return 0,_df .Wrap (_cabde ,_aafg ,"");};};return _bccg ._acfe .Decode (_bccg ._deef );};_edcd ,_degf :=_g .GetStandardTable (14+int (_bccg .SbHuffRDY )); if _degf !=nil {return 0,_degf ;};return _edcd .Decode (_bccg ._deef );};_dgeg ,_afae :=_bccg ._adffd .DecodeInt (_bccg ._eabd );if _afae !=nil {return 0,_df .Wrap (_afae ,_aafg ,"");};return int64 (_dgeg ),nil ;};func (_aca *PatternDictionary )setGbAtPixels (){if _aca .HDTemplate ==0{_aca .GBAtX =make ([]int8 ,4); _aca .GBAtY =make ([]int8 ,4);_aca .GBAtX [0]=-int8 (_aca .HdpWidth );_aca .GBAtY [0]=0;_aca .GBAtX [1]=-3;_aca .GBAtY [1]=-1;_aca .GBAtX [2]=2;_aca .GBAtY [2]=-2;_aca .GBAtX [3]=-2;_aca .GBAtY [3]=-2;}else {_aca .GBAtX =[]int8 {-int8 (_aca .HdpWidth )}; _aca .GBAtY =[]int8 {0};};};func (_bccd *SymbolDictionary )getToExportFlags ()([]int ,error ){var (_aafaf int ;_accc int32 ;_fgfb error ;_abaf =int32 (_bccd ._fdcd +_bccd .NumberOfNewSymbols );_eafb =make ([]int ,_abaf ););for _bafc :=int32 (0);_bafc < _abaf ; _bafc +=_accc {if _bccd .IsHuffmanEncoded {_bddg ,_eefc :=_g .GetStandardTable (1);if _eefc !=nil {return nil ,_eefc ;};_cace ,_eefc :=_bddg .Decode (_bccd ._gcca );if _eefc !=nil {return nil ,_eefc ;};_accc =int32 (_cace );}else {_accc ,_fgfb =_bccd ._cecef .DecodeInt (_bccd ._bcdg ); if _fgfb !=nil {return nil ,_fgfb ;};};if _accc !=0{for _bcdd :=_bafc ;_bcdd < _bafc +_accc ;_bcdd ++{_eafb [_bcdd ]=_aafaf ;};};if _aafaf ==0{_aafaf =1;}else {_aafaf =0;};};return _eafb ,nil ;};func (_fdb *GenericRegion )decodeTemplate1 (_ggg ,_bbefb ,_bec int ,_ccdb ,_fdf int )(_dag error ){const _ege ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0031"; var (_gebf ,_gbdce int ;_dee ,_abf int ;_cece byte ;_bcd ,_gcab int ;);if _ggg >=1{_cece ,_dag =_fdb .Bitmap .GetByte (_fdf );if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_dee =int (_cece );};if _ggg >=2{_cece ,_dag =_fdb .Bitmap .GetByte (_fdf -_fdb .Bitmap .RowStride ); if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_abf =int (_cece )<<5;};_gebf =((_dee >>1)&0x1f8)|((_abf >>1)&0x1e00);for _faee :=0;_faee < _bec ;_faee =_bcd {var (_gcac byte ;_fcd int ;);_bcd =_faee +8;if _bage :=_bbefb -_faee ; _bage > 8{_fcd =8;}else {_fcd =_bage ;};if _ggg > 0{_dee <<=8;if _bcd < _bbefb {_cece ,_dag =_fdb .Bitmap .GetByte (_fdf +1);if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_dee |=int (_cece );};};if _ggg > 1{_abf <<=8; if _bcd < _bbefb {_cece ,_dag =_fdb .Bitmap .GetByte (_fdf -_fdb .Bitmap .RowStride +1);if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_abf |=int (_cece )<<5;};};for _agd :=0;_agd < _fcd ;_agd ++{if _fdb ._dfg {_gbdce =_fdb .overrideAtTemplate1 (_gebf ,_faee +_agd ,_ggg ,int (_gcac ),_agd ); _fdb ._gbdc .SetIndex (int32 (_gbdce ));}else {_fdb ._gbdc .SetIndex (int32 (_gebf ));};_gcab ,_dag =_fdb ._cbe .DecodeBit (_fdb ._gbdc );if _dag !=nil {return _df .Wrap (_dag ,_ege ,"");};_gcac |=byte (_gcab )<>_dab )&0x8)|((_abf >>_dab )&0x200); };if _dgg :=_fdb .Bitmap .SetByte (_ccdb ,_gcac );_dgg !=nil {return _df .Wrap (_dgg ,_ege ,"");};_ccdb ++;_fdf ++;};return nil ;};func (_ega *SymbolDictionary )getSbSymCodeLen ()int8 {_fab :=int8 (_d .Ceil (_d .Log (float64 (_ega ._fdcd +_ega .NumberOfNewSymbols ))/_d .Log (2))); if _ega .IsHuffmanEncoded &&_fab < 1{return 1;};return _fab ;};type PageInformationSegment struct{_badgb _fde .StreamReader ;PageBMHeight int ;PageBMWidth int ;ResolutionX int ;ResolutionY int ;_cfc bool ;_gadg _aa .CombinationOperator ;_becga bool ;DefaultPixelValue uint8 ; _ade bool ;IsLossless bool ;IsStripe bool ;MaxStripeSize uint16 ;};func (_badg *HalftoneRegion )computeY (_adcf ,_eba int )int {return _badg .shiftAndFill (int (_badg .HGridY )+_adcf *int (_badg .HRegionX )-_eba *int (_badg .HRegionY ));};func _cfbc (_gbcd _fde .StreamReader ,_edcde *Header )*TextRegion {_cadf :=&TextRegion {_deef :_gbcd ,Header :_edcde ,RegionInfo :NewRegionSegment (_gbcd )}; return _cadf ;};func (_egbd *SymbolDictionary )encodeSymbols (_dddgb _fde .BinaryWriter )(_cddfa int ,_dfga error ){const _cbeeb ="\u0065\u006e\u0063o\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c";_efcae :=_ee .New ();_efcae .Init ();_adfa ,_dfga :=_egbd ._fege .SelectByIndexes (_egbd ._cbbae ); if _dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u0069n\u0069\u0074\u0069\u0061\u006c");};_fgf :=map[*_aa .Bitmap ]int {};for _cbfee ,_eac :=range _adfa .Values {_fgf [_eac ]=_cbfee ;};_adfa .SortByHeight ();var _ccbc ,_dgec int ;_acca ,_dfga :=_adfa .GroupByHeight (); if _dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"");};for _ ,_ddcd :=range _acca .Values {_fdad :=_ddcd .Values [0].Height ;_bbga :=_fdad -_ccbc ;if _dfga =_efcae .EncodeInteger (_ee .IADH ,_bbga );_dfga !=nil {return 0,_df .Wrapf (_dfga ,_cbeeb ,"\u0049\u0041\u0044\u0048\u0020\u0066\u006f\u0072\u0020\u0064\u0068\u003a \u0027\u0025\u0064\u0027",_bbga ); };_ccbc =_fdad ;_beff ,_bcbe :=_ddcd .GroupByWidth ();if _bcbe !=nil {return 0,_df .Wrapf (_bcbe ,_cbeeb ,"\u0068\u0065\u0069g\u0068\u0074\u003a\u0020\u0027\u0025\u0064\u0027",_fdad );};var _dafb int ;for _ ,_cfce :=range _beff .Values {for _ ,_aadd :=range _cfce .Values {_daeg :=_aadd .Width ; _deab :=_daeg -_dafb ;if _bcbe =_efcae .EncodeInteger (_ee .IADW ,_deab );_bcbe !=nil {return 0,_df .Wrapf (_bcbe ,_cbeeb ,"\u0049\u0041\u0044\u0057\u0020\u0066\u006f\u0072\u0020\u0064\u0077\u003a \u0027\u0025\u0064\u0027",_deab );};_dafb +=_deab ;if _bcbe =_efcae .EncodeBitmap (_aadd ,false ); _bcbe !=nil {return 0,_df .Wrapf (_bcbe ,_cbeeb ,"H\u0065i\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u0020W\u0069\u0064\u0074\u0068: \u0025\u0064",_fdad ,_daeg );};_aaddb :=_fgf [_aadd ];_egbd ._ecdcc [_aaddb ]=_dgec ;_dgec ++;};};if _bcbe =_efcae .EncodeOOB (_ee .IADW ); _bcbe !=nil {return 0,_df .Wrap (_bcbe ,_cbeeb ,"\u0049\u0041\u0044\u0057");};};if _dfga =_efcae .EncodeInteger (_ee .IAEX ,0);_dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073"); };if _dfga =_efcae .EncodeInteger (_ee .IAEX ,len (_egbd ._cbbae ));_dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u006e\u0075\u006d\u0062\u0065\u0072\u0020\u006f\u0066\u0020\u0073\u0079m\u0062\u006f\u006c\u0073");};_efcae .Final ();_acge ,_dfga :=_efcae .WriteTo (_dddgb ); if _dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u0077\u0072i\u0074\u0069\u006e\u0067 \u0065\u006ec\u006f\u0064\u0065\u0072\u0020\u0063\u006f\u006et\u0065\u0078\u0074\u0020\u0074\u006f\u0020\u0027\u0077\u0027\u0020\u0077r\u0069\u0074\u0065\u0072"); };return int (_acge ),nil ;};func (_efcaf *TextRegion )parseHeader ()error {var _aaba error ;_ac .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069n\u0073\u002e\u002e\u002e"); defer func (){if _aaba !=nil {_ac .Log .Trace ("\u005b\u0054\u0045\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044E\u0052\u005d\u0020\u0066\u0061i\u006c\u0065d\u002e\u0020\u0025\u0076",_aaba ); }else {_ac .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069s\u0068\u0065\u0064\u002e");};}();if _aaba =_efcaf .RegionInfo .parseHeader (); _aaba !=nil {return _aaba ;};if _aaba =_efcaf .readRegionFlags ();_aaba !=nil {return _aaba ;};if _efcaf .IsHuffmanEncoded {if _aaba =_efcaf .readHuffmanFlags ();_aaba !=nil {return _aaba ;};};if _aaba =_efcaf .readUseRefinement ();_aaba !=nil {return _aaba ; };if _aaba =_efcaf .readAmountOfSymbolInstances ();_aaba !=nil {return _aaba ;};if _aaba =_efcaf .getSymbols ();_aaba !=nil {return _aaba ;};if _aaba =_efcaf .computeSymbolCodeLength ();_aaba !=nil {return _aaba ;};if _aaba =_efcaf .checkInput ();_aaba !=nil {return _aaba ; };_ac .Log .Trace ("\u0025\u0073",_efcaf .String ());return nil ;};var _ SegmentEncoder =&RegionSegment {};func _dcbeg (_cadaa int )int {if _cadaa ==0{return 0;};_cadaa |=_cadaa >>1;_cadaa |=_cadaa >>2;_cadaa |=_cadaa >>4;_cadaa |=_cadaa >>8;_cadaa |=_cadaa >>16; return (_cadaa +1)>>1;};func (_gdgb *Header )GetSegmentData ()(Segmenter ,error ){var _dbgda Segmenter ;if _gdgb .SegmentData !=nil {_dbgda =_gdgb .SegmentData ;};if _dbgda ==nil {_eeea ,_add :=_abed [_gdgb .Type ];if !_add {return nil ,_ba .Errorf ("\u0074\u0079\u0070\u0065\u003a\u0020\u0025\u0073\u002f\u0020\u0025\u0064\u0020\u0063\u0072e\u0061t\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064\u002e\u0020",_gdgb .Type ,_gdgb .Type ); };_dbgda =_eeea ();_ac .Log .Trace ("\u005b\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0023\u0025\u0064\u005d\u0020\u0047\u0065\u0074\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u0020\u0061\u0074\u0020\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0030\u0034\u0058",_gdgb .SegmentNumber ,_gdgb .SegmentDataStartOffset ); _fbd ,_gadc :=_gdgb .subInputReader ();if _gadc !=nil {return nil ,_gadc ;};if _fbeda :=_dbgda .Init (_gdgb ,_fbd );_fbeda !=nil {_ac .Log .Debug ("\u0049\u006e\u0069\u0074 \u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076 \u0066o\u0072\u0020\u0074\u0079\u0070\u0065\u003a \u0025\u0054",_fbeda ,_dbgda ); return nil ,_fbeda ;};_gdgb .SegmentData =_dbgda ;};return _dbgda ,nil ;};func (_ecf *HalftoneRegion )GetPatterns ()([]*_aa .Bitmap ,error ){var (_eeg []*_aa .Bitmap ;_gafa error ;);for _ ,_ebd :=range _ecf ._adfg .RTSegments {var _ggdb Segmenter ;_ggdb ,_gafa =_ebd .GetSegmentData (); if _gafa !=nil {_ac .Log .Debug ("\u0047e\u0074\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061 \u0066a\u0069\u006c\u0065\u0064\u003a\u0020\u0025v",_gafa );return nil ,_gafa ;};_cedb ,_cagb :=_ggdb .(*PatternDictionary );if !_cagb {_gafa =_ba .Errorf ("\u0072e\u006c\u0061t\u0065\u0064\u0020\u0073e\u0067\u006d\u0065n\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0070at\u0074\u0065\u0072n\u0020\u0064i\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u003a \u0025\u0054",_ggdb ); return nil ,_gafa ;};var _bcge []*_aa .Bitmap ;_bcge ,_gafa =_cedb .GetDictionary ();if _gafa !=nil {_ac .Log .Debug ("\u0070\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074i\u006fn\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076",_gafa ); return nil ,_gafa ;};_eeg =append (_eeg ,_bcge ...);};return _eeg ,nil ;};var _ templater =&template0 {};func (_agaf *TableSegment )Init (h *Header ,r _fde .StreamReader )error {_agaf ._bcebe =r ;return _agaf .parseHeader ();};func (_bcbd *TextRegion )blit (_dggc *_aa .Bitmap ,_dffc int64 )error {if _bcbd .IsTransposed ==0&&(_bcbd .ReferenceCorner ==2||_bcbd .ReferenceCorner ==3){_bcbd ._bfbbd +=int64 (_dggc .Width -1); }else if _bcbd .IsTransposed ==1&&(_bcbd .ReferenceCorner ==0||_bcbd .ReferenceCorner ==2){_bcbd ._bfbbd +=int64 (_dggc .Height -1);};_adae :=_bcbd ._bfbbd ;if _bcbd .IsTransposed ==1{_adae ,_dffc =_dffc ,_adae ;};switch _bcbd .ReferenceCorner {case 0:_dffc -=int64 (_dggc .Height -1); case 2:_dffc -=int64 (_dggc .Height -1);_adae -=int64 (_dggc .Width -1);case 3:_adae -=int64 (_dggc .Width -1);};_cfcc :=_aa .Blit (_dggc ,_bcbd .RegionBitmap ,int (_adae ),int (_dffc ),_bcbd .CombinationOperator );if _cfcc !=nil {return _cfcc ;};if _bcbd .IsTransposed ==0&&(_bcbd .ReferenceCorner ==0||_bcbd .ReferenceCorner ==1){_bcbd ._bfbbd +=int64 (_dggc .Width -1); };if _bcbd .IsTransposed ==1&&(_bcbd .ReferenceCorner ==1||_bcbd .ReferenceCorner ==3){_bcbd ._bfbbd +=int64 (_dggc .Height -1);};return nil ;};type EncodeInitializer interface{InitEncode ();};func (_edcb *Header )readHeaderLength (_deac _fde .StreamReader ,_ccdf int64 ){_edcb .HeaderLength =_deac .StreamPosition ()-_ccdf ; };func (_ddaf *SymbolDictionary )decodeDifferenceWidth ()(int64 ,error ){if _ddaf .IsHuffmanEncoded {switch _ddaf .SdHuffDecodeWidthSelection {case 0:_gbdf ,_dcdeb :=_g .GetStandardTable (2);if _dcdeb !=nil {return 0,_dcdeb ;};return _gbdf .Decode (_ddaf ._gcca ); case 1:_gafg ,_aaae :=_g .GetStandardTable (3);if _aaae !=nil {return 0,_aaae ;};return _gafg .Decode (_ddaf ._gcca );case 3:if _ddaf ._cbfdg ==nil {var _agfb int ;if _ddaf .SdHuffDecodeHeightSelection ==3{_agfb ++;};_efae ,_gcbc :=_ddaf .getUserTable (_agfb ); if _gcbc !=nil {return 0,_gcbc ;};_ddaf ._cbfdg =_efae ;};return _ddaf ._cbfdg .Decode (_ddaf ._gcca );};}else {_dadfb ,_gdbf :=_ddaf ._cecef .DecodeInt (_ddaf ._fdcg );if _gdbf !=nil {return 0,_gdbf ;};return int64 (_dadfb ),nil ;};return 0,nil ;};func (_bgbdd *PageInformationSegment )String ()string {_cegad :=&_c .Builder {}; _cegad .WriteString ("\u000a\u005b\u0050\u0041G\u0045\u002d\u0049\u004e\u0046\u004f\u0052\u004d\u0041\u0054I\u004fN\u002d\u0053\u0045\u0047\u004d\u0045\u004eT\u005d\u000a");_cegad .WriteString (_ba .Sprintf ("\u0009\u002d \u0042\u004d\u0048e\u0069\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u000a",_bgbdd .PageBMHeight )); _cegad .WriteString (_ba .Sprintf ("\u0009-\u0020B\u004d\u0057\u0069\u0064\u0074\u0068\u003a\u0020\u0025\u0064\u000a",_bgbdd .PageBMWidth ));_cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0058\u003a\u0020\u0025\u0064\u000a",_bgbdd .ResolutionX )); _cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0059\u003a\u0020\u0025\u0064\u000a",_bgbdd .ResolutionY ));_cegad .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0073\u000a",_bgbdd ._gadg )); _cegad .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006eO\u0070\u0065\u0072\u0061\u0074\u006f\u0072O\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u003a\u0020\u0025v\u000a",_bgbdd ._cfc ));_cegad .WriteString (_ba .Sprintf ("\u0009-\u0020I\u0073\u004c\u006f\u0073\u0073l\u0065\u0073s\u003a\u0020\u0025\u0076\u000a",_bgbdd .IsLossless )); _cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020R\u0065\u0071\u0075\u0069r\u0065\u0073\u0041\u0075\u0078\u0069\u006ci\u0061\u0072\u0079\u0042\u0075\u0066\u0066\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_bgbdd ._becga ));_cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020M\u0069\u0067\u0068\u0074C\u006f\u006e\u0074\u0061\u0069\u006e\u0052e\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0076\u000a",_bgbdd ._ade )); _cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0049\u0073\u0053\u0074\u0072\u0069\u0070\u0065\u0064:\u0020\u0025\u0076\u000a",_bgbdd .IsStripe ));_cegad .WriteString (_ba .Sprintf ("\t\u002d\u0020\u004d\u0061xS\u0074r\u0069\u0070\u0065\u0053\u0069z\u0065\u003a\u0020\u0025\u0076\u000a",_bgbdd .MaxStripeSize )); return _cegad .String ();};func (_fcda *TextRegion )computeSymbolCodeLength ()error {if _fcda .IsHuffmanEncoded {return _fcda .symbolIDCodeLengths ();};_fcda ._befd =int8 (_d .Ceil (_d .Log (float64 (_fcda .NumberOfSymbols ))/_d .Log (2)));return nil ; };func (_afcag *TextRegion )getSymbols ()error {if _afcag .Header .RTSegments !=nil {return _afcag .initSymbols ();};return nil ;};func (_eabg *PageInformationSegment )CombinationOperatorOverrideAllowed ()bool {return _eabg ._cfc };var (_ecbb Segmenter ; _abed =map[Type ]func ()Segmenter {TSymbolDictionary :func ()Segmenter {return &SymbolDictionary {}},TIntermediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateLosslessTextRegion :func ()Segmenter {return &TextRegion {}},TPatternDictionary :func ()Segmenter {return &PatternDictionary {}},TIntermediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateLosslessHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TIntermediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateLosslessGenericRegion :func ()Segmenter {return &GenericRegion {}},TIntermediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateLosslessGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TPageInformation :func ()Segmenter {return &PageInformationSegment {}},TEndOfPage :func ()Segmenter {return _ecbb },TEndOfStrip :func ()Segmenter {return &EndOfStripe {}},TEndOfFile :func ()Segmenter {return _ecbb },TProfiles :func ()Segmenter {return _ecbb },TTables :func ()Segmenter {return &TableSegment {}},TExtension :func ()Segmenter {return _ecbb },TBitmap :func ()Segmenter {return _ecbb }}; );func (_bfg *GenericRefinementRegion )String ()string {_badb :=&_c .Builder {};_badb .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_badb .WriteString (_bfg .RegionInfo .String ()+"\u000a");_badb .WriteString (_ba .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0052\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_bfg .IsTPGROn )); _badb .WriteString (_ba .Sprintf ("\u0009-\u0020T\u0065\u006d\u0070\u006c\u0061t\u0065\u0049D\u003a\u0020\u0025\u0076\u000a",_bfg .TemplateID ));_badb .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_bfg .GrAtX )); _badb .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_bfg .GrAtY ));_badb .WriteString (_ba .Sprintf ("\u0009-\u0020R\u0065\u0066\u0065\u0072\u0065n\u0063\u0065D\u0058\u0020\u0025\u0076\u000a",_bfg .ReferenceDX )); _badb .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0052ef\u0065\u0072\u0065\u006e\u0063\u0044\u0065\u0059\u003a\u0020\u0025\u0076\u000a",_bfg .ReferenceDY ));return _badb .String ();};type HalftoneRegion struct{_eecb _fde .StreamReader ;_adfg *Header ; DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;RegionSegment *RegionSegment ;HDefaultPixel int8 ;CombinationOperator _aa .CombinationOperator ;HSkipEnabled bool ;HTemplate byte ;IsMMREncoded bool ;HGridWidth uint32 ; HGridHeight uint32 ;HGridX int32 ;HGridY int32 ;HRegionX uint16 ;HRegionY uint16 ;HalftoneRegionBitmap *_aa .Bitmap ;Patterns []*_aa .Bitmap ;};func (_bdgae *Header )writeReferredToSegments (_age _fde .BinaryWriter )(_aefc int ,_gce error ){const _beee ="\u0077\u0072\u0069te\u0052\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073"; var (_bfdg uint16 ;_bdgc uint32 ;);_fbc :=_bdgae .referenceSize ();_bgbda :=1;_bffa :=make ([]byte ,_fbc );for _ ,_ffeg :=range _bdgae .RTSNumbers {switch _fbc {case 4:_bdgc =uint32 (_ffeg );_b .BigEndian .PutUint32 (_bffa ,_bdgc );_bgbda ,_gce =_age .Write (_bffa ); if _gce !=nil {return 0,_df .Wrap (_gce ,_beee ,"u\u0069\u006e\u0074\u0033\u0032\u0020\u0073\u0069\u007a\u0065");};case 2:_bfdg =uint16 (_ffeg );_b .BigEndian .PutUint16 (_bffa ,_bfdg );_bgbda ,_gce =_age .Write (_bffa );if _gce !=nil {return 0,_df .Wrap (_gce ,_beee ,"\u0075\u0069\u006e\u0074\u0031\u0036"); };default:if _gce =_age .WriteByte (byte (_ffeg ));_gce !=nil {return 0,_df .Wrap (_gce ,_beee ,"\u0075\u0069\u006et\u0038");};};_aefc +=_bgbda ;};return _aefc ,nil ;};func (_cbf *Header )readReferredToSegmentNumbers (_dfec _fde .StreamReader ,_gfac int )([]int ,error ){const _efee ="\u0072\u0065\u0061\u0064R\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053e\u0067m\u0065\u006e\u0074\u004e\u0075\u006d\u0062e\u0072\u0073"; _dge :=make ([]int ,_gfac );if _gfac > 0{_cbf .RTSegments =make ([]*Header ,_gfac );var (_ecdc uint64 ;_ddfc error ;);for _acdf :=0;_acdf < _gfac ;_acdf ++{_ecdc ,_ddfc =_dfec .ReadBits (byte (_cbf .referenceSize ())<<3);if _ddfc !=nil {return nil ,_df .Wrapf (_ddfc ,_efee ,"\u0027\u0025\u0064\u0027 \u0072\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0020\u0073e\u0067m\u0065\u006e\u0074\u0020\u006e\u0075\u006db\u0065\u0072",_acdf ); };_dge [_acdf ]=int (_ecdc &_d .MaxInt32 );};};return _dge ,nil ;};func (_eaege *SymbolDictionary )setRefinementAtPixels ()error {if !_eaege .UseRefinementAggregation ||_eaege .SdrTemplate !=0{return nil ;};if _dadbg :=_eaege .readRefinementAtPixels (2); _dadbg !=nil {return _dadbg ;};return nil ;};func (_adag *TextRegion )decodeDfs ()(int64 ,error ){if _adag .IsHuffmanEncoded {if _adag .SbHuffFS ==3{if _adag ._gcgg ==nil {var _bagg error ;_adag ._gcgg ,_bagg =_adag .getUserTable (0);if _bagg !=nil {return 0,_bagg ; };};return _adag ._gcgg .Decode (_adag ._deef );};_beafb ,_fbfc :=_g .GetStandardTable (6+int (_adag .SbHuffFS ));if _fbfc !=nil {return 0,_fbfc ;};return _beafb .Decode (_adag ._deef );};_gcf ,_bbaba :=_adag ._adffd .DecodeInt (_adag ._dgcaf );if _bbaba !=nil {return 0,_bbaba ; };return int64 (_gcf ),nil ;};func (_agc *GenericRefinementRegion )getGrReference ()(*_aa .Bitmap ,error ){segments :=_agc ._cf .RTSegments ;if len (segments )==0{return nil ,_fd .New ("\u0052\u0065f\u0065\u0072\u0065\u006e\u0063\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0065\u0078is\u0074\u0073"); };_cd ,_gad :=segments [0].GetSegmentData ();if _gad !=nil {return nil ,_gad ;};_gc ,_cda :=_cd .(Regioner );if !_cda {return nil ,_ba .Errorf ("\u0072\u0065\u0066\u0065\u0072r\u0065\u0064\u0020\u0074\u006f\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074 \u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0052\u0065\u0067\u0069\u006f\u006e\u0065\u0072\u003a\u0020\u0025\u0054",_cd ); };return _gc .GetRegionBitmap ();};func (_aab *GenericRegion )Encode (w _fde .BinaryWriter )(_gcde int ,_dcgf error ){const _dca ="G\u0065n\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069o\u006e\u002e\u0045\u006eco\u0064\u0065";if _aab .Bitmap ==nil {return 0,_df .Error (_dca ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070"); };_cbaff ,_dcgf :=_aab .RegionSegment .Encode (w );if _dcgf !=nil {return 0,_df .Wrap (_dcgf ,_dca ,"\u0052\u0065\u0067\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074");};_gcde +=_cbaff ;if _dcgf =w .SkipBits (4);_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"\u0073k\u0069p\u0020\u0072\u0065\u0073\u0065r\u0076\u0065d\u0020\u0062\u0069\u0074\u0073"); };var _cde int ;if _aab .IsTPGDon {_cde =1;};if _dcgf =w .WriteBit (_cde );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"\u0074\u0070\u0067\u0064\u006f\u006e");};_cde =0;if _dcgf =w .WriteBit (int (_aab .GBTemplate >>1)&0x01);_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"f\u0069r\u0073\u0074\u0020\u0067\u0062\u0074\u0065\u006dp\u006c\u0061\u0074\u0065 b\u0069\u0074"); };if _dcgf =w .WriteBit (int (_aab .GBTemplate )&0x01);_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"s\u0065\u0063\u006f\u006ed \u0067b\u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u0020\u0062\u0069\u0074");};if _aab .UseMMR {_cde =1;};if _dcgf =w .WriteBit (_cde ); _dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"u\u0073\u0065\u0020\u004d\u004d\u0052\u0020\u0062\u0069\u0074");};_gcde ++;if _cbaff ,_dcgf =_aab .writeGBAtPixels (w );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"");};_gcde +=_cbaff ;_ded :=_ee .New (); if _dcgf =_ded .EncodeBitmap (_aab .Bitmap ,_aab .IsTPGDon );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"");};_ded .Final ();var _daa int64 ;if _daa ,_dcgf =_ded .WriteTo (w );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"");};_gcde +=int (_daa ); return _gcde ,nil ;};func (_gd *GenericRefinementRegion )GetRegionBitmap ()(*_aa .Bitmap ,error ){var _ed error ;_ac .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e"); defer func (){if _ed !=nil {_ac .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0047\u0065\u0074R\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006dap\u0020\u0066a\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_ed ); }else {_ac .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e"); };}();if _gd .RegionBitmap !=nil {return _gd .RegionBitmap ,nil ;};_bad :=0;if _gd .ReferenceBitmap ==nil {_gd .ReferenceBitmap ,_ed =_gd .getGrReference ();if _ed !=nil {return nil ,_ed ;};};if _gd ._baga ==nil {_gd ._baga ,_ed =_cb .New (_gd ._feb ); if _ed !=nil {return nil ,_ed ;};};if _gd ._aad ==nil {_gd ._aad =_cb .NewStats (8192,1);};_gd .RegionBitmap =_aa .New (int (_gd .RegionInfo .BitmapWidth ),int (_gd .RegionInfo .BitmapHeight ));if _gd .TemplateID ==0{if _ed =_gd .updateOverride ();_ed !=nil {return nil ,_ed ; };};_ef :=(_gd .RegionBitmap .Width +7)&-8;var _ab int ;if _gd .IsTPGROn {_ab =int (-_gd .ReferenceDY )*_gd .ReferenceBitmap .RowStride ;};_acb :=_ab +1;for _eed :=0;_eed < _gd .RegionBitmap .Height ;_eed ++{if _gd .IsTPGROn {_edg ,_abd :=_gd .decodeSLTP (); if _abd !=nil {return nil ,_abd ;};_bad ^=_edg ;};if _bad ==0{_ed =_gd .decodeOptimized (_eed ,_gd .RegionBitmap .Width ,_gd .RegionBitmap .RowStride ,_gd .ReferenceBitmap .RowStride ,_ef ,_ab ,_acb );if _ed !=nil {return nil ,_ed ;};}else {_ed =_gd .decodeTypicalPredictedLine (_eed ,_gd .RegionBitmap .Width ,_gd .RegionBitmap .RowStride ,_gd .ReferenceBitmap .RowStride ,_ef ,_ab ); if _ed !=nil {return nil ,_ed ;};};};return _gd .RegionBitmap ,nil ;};func (_aff *GenericRefinementRegion )getPixel (_dcc *_aa .Bitmap ,_efcf ,_baf int )int {if _efcf < 0||_efcf >=_dcc .Width {return 0;};if _baf < 0||_baf >=_dcc .Height {return 0;};if _dcc .GetPixel (_efcf ,_baf ){return 1; };return 0;};func (_efbf *Header )writeSegmentDataLength (_fbf _fde .BinaryWriter )(_cafb int ,_fdbg error ){_geab :=make ([]byte ,4);_b .BigEndian .PutUint32 (_geab ,uint32 (_efbf .SegmentDataLength ));if _cafb ,_fdbg =_fbf .Write (_geab );_fdbg !=nil {return 0,_df .Wrap (_fdbg ,"\u0048\u0065a\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u004c\u0065ng\u0074\u0068",""); };return _cafb ,nil ;};func (_ggbcc *Header )writeReferredToCount (_bdga _fde .BinaryWriter )(_cgd int ,_bdab error ){const _cbfd ="w\u0072i\u0074\u0065\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0043ou\u006e\u0074";_ggbcc .RTSNumbers =make ([]int ,len (_ggbcc .RTSegments )); for _bfgd ,_bfad :=range _ggbcc .RTSegments {_ggbcc .RTSNumbers [_bfgd ]=int (_bfad .SegmentNumber );};if len (_ggbcc .RTSNumbers )<=4{var _gff byte ;if len (_ggbcc .RetainBits )>=1{_gff =_ggbcc .RetainBits [0];};_gff |=byte (len (_ggbcc .RTSNumbers ))<<5; if _bdab =_bdga .WriteByte (_gff );_bdab !=nil {return 0,_df .Wrap (_bdab ,_cbfd ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return 1,nil ;};_ffgg :=uint32 (len (_ggbcc .RTSNumbers ));_cgab :=make ([]byte ,4+_fe .Ceil (len (_ggbcc .RTSNumbers )+1,8)); _ffgg |=0x7<<29;_b .BigEndian .PutUint32 (_cgab ,_ffgg );copy (_cgab [1:],_ggbcc .RetainBits );_cgd ,_bdab =_bdga .Write (_cgab );if _bdab !=nil {return 0,_df .Wrap (_bdab ,_cbfd ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return _cgd ,nil ; };func (_bg *GenericRefinementRegion )decodeSLTP ()(int ,error ){_bg .Template .setIndex (_bg ._aad );return _bg ._baga .DecodeBit (_bg ._aad );};