mirror of
https://github.com/unidoc/unipdf.git
synced 2025-05-07 19:29:16 +08:00
12 lines
183 KiB
Go
12 lines
183 KiB
Go
//
|
|
// 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 (_bgc "encoding/binary";_fd "errors";_c "fmt";_ff "github.com/unidoc/unipdf/v3/common";_e "github.com/unidoc/unipdf/v3/internal/bitwise";_fa "github.com/unidoc/unipdf/v3/internal/jbig2/basic";_g "github.com/unidoc/unipdf/v3/internal/jbig2/bitmap";_eg "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/arithmetic";_gd "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/huffman";_dg "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/mmr";_gc "github.com/unidoc/unipdf/v3/internal/jbig2/encoder/arithmetic";_ge "github.com/unidoc/unipdf/v3/internal/jbig2/errors";_ac "github.com/unidoc/unipdf/v3/internal/jbig2/internal";_ca "golang.org/x/xerrors";_a "image";_d "io";_bg "math";_bb "strings";_f "time";);func (_facb *TextRegion )computeSymbolCodeLength ()error {if _facb .IsHuffmanEncoded {return _facb .symbolIDCodeLengths ();};_facb ._abge =int8 (_bg .Ceil (_bg .Log (float64 (_facb .NumberOfSymbols ))/_bg .Log (2)));return nil ;};func (_cfcf *HalftoneRegion )checkInput ()error {if _cfcf .IsMMREncoded {if _cfcf .HTemplate !=0{_ff .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",_cfcf .HTemplate );};if _cfcf .HSkipEnabled {_ff .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",_cfcf .HSkipEnabled );};};return nil ;};func _ecab (_eaf int )int {if _eaf ==0{return 0;};_eaf |=_eaf >>1;_eaf |=_eaf >>2;_eaf |=_eaf >>4;_eaf |=_eaf >>8;_eaf |=_eaf >>16;return (_eaf +1)>>1;};func (_cfg *GenericRefinementRegion )GetRegionInfo ()*RegionSegment {return _cfg .RegionInfo };func (_gdba *SymbolDictionary )InitEncode (symbols *_g .Bitmaps ,symbolList []int ,symbolMap map[int ]int ,unborderSymbols bool )error {const _abbf ="S\u0079\u006d\u0062\u006f\u006c\u0044i\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002eI\u006e\u0069\u0074E\u006ec\u006f\u0064\u0065";_gdba .SdATX =[]int8 {3,-3,2,-2};_gdba .SdATY =[]int8 {-1,-1,-2,-2};_gdba ._ecec =symbols ;_gdba ._ddaa =make ([]int ,len (symbolList ));copy (_gdba ._ddaa ,symbolList );if len (_gdba ._ddaa )!=_gdba ._ecec .Size (){return _ge .Error (_abbf ,"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");};_gdba .NumberOfNewSymbols =uint32 (symbols .Size ());_gdba .NumberOfExportedSymbols =uint32 (symbols .Size ());_gdba ._dfbg =symbolMap ;_gdba ._cdg =unborderSymbols ;return nil ;};func (_fgff *Header )readSegmentNumber (_gfdb _e .StreamReader )error {const _bbfb ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u004eu\u006d\u0062\u0065\u0072";_ccbb :=make ([]byte ,4);_ ,_cedd :=_gfdb .Read (_ccbb );if _cedd !=nil {return _ge .Wrap (_cedd ,_bbfb ,"");};_fgff .SegmentNumber =_bgc .BigEndian .Uint32 (_ccbb );return nil ;};func (_baed *PatternDictionary )GetDictionary ()([]*_g .Bitmap ,error ){if _baed .Patterns !=nil {return _baed .Patterns ,nil ;};if !_baed .IsMMREncoded {_baed .setGbAtPixels ();};_gbffc :=NewGenericRegion (_baed ._fdbb );_gbffc .setParametersMMR (_baed .IsMMREncoded ,_baed .DataOffset ,_baed .DataLength ,uint32 (_baed .HdpHeight ),(_baed .GrayMax +1)*uint32 (_baed .HdpWidth ),_baed .HDTemplate ,false ,false ,_baed .GBAtX ,_baed .GBAtY );_fde ,_dcdb :=_gbffc .GetRegionBitmap ();if _dcdb !=nil {return nil ,_dcdb ;};if _dcdb =_baed .extractPatterns (_fde );_dcdb !=nil {return nil ,_dcdb ;};return _baed .Patterns ,nil ;};func (_geac *Header )readSegmentDataLength (_dcbd _e .StreamReader )(_bfdb error ){_geac .SegmentDataLength ,_bfdb =_dcbd .ReadBits (32);if _bfdb !=nil {return _bfdb ;};_geac .SegmentDataLength &=_bg .MaxInt32 ;return nil ;};func (_cfe *GenericRegion )Size ()int {return _cfe .RegionSegment .Size ()+1+2*len (_cfe .GBAtX )};func (_eeeb *SymbolDictionary )Init (h *Header ,r _e .StreamReader )error {_eeeb .Header =h ;_eeeb ._gbcf =r ;return _eeeb .parseHeader ();};func (_eeca *SymbolDictionary )setRefinementAtPixels ()error {if !_eeca .UseRefinementAggregation ||_eeca .SdrTemplate !=0{return nil ;};if _geabc :=_eeca .readRefinementAtPixels (2);_geabc !=nil {return _geabc ;};return nil ;};type Type int ;func (_dedf *RegionSegment )Size ()int {return 17};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 (_cgd *SymbolDictionary )encodeFlags (_gede _e .BinaryWriter )(_aaed int ,_ceff error ){const _ebbf ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _ceff =_gede .SkipBits (3);_ceff !=nil {return 0,_ge .Wrap (_ceff ,_ebbf ,"\u0065\u006d\u0070\u0074\u0079\u0020\u0062\u0069\u0074\u0073");};var _gdea int ;if _cgd .SdrTemplate > 0{_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"s\u0064\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_gdea =0;if _cgd .SdTemplate > 1{_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_gdea =0;if _cgd .SdTemplate ==1||_cgd .SdTemplate ==3{_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_gdea =0;if _cgd ._dfad {_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0063\u006f\u0064in\u0067\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0065\u0064");};_gdea =0;if _cgd ._eaeb {_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0063\u006f\u0064\u0069ng\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0075\u0073\u0065\u0064");};_gdea =0;if _cgd .SdHuffAggInstanceSelection {_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0048\u0075\u0066\u0066\u0041\u0067\u0067\u0049\u006e\u0073\u0074");};_gdea =int (_cgd .SdHuffBMSizeSelection );if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0048u\u0066\u0066\u0042\u006d\u0053\u0069\u007a\u0065");};_gdea =0;if _cgd .SdHuffDecodeWidthSelection > 1{_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"s\u0064\u0048\u0075\u0066\u0066\u0057\u0069\u0064\u0074\u0068");};_gdea =0;switch _cgd .SdHuffDecodeWidthSelection {case 1,3:_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"s\u0064\u0048\u0075\u0066\u0066\u0057\u0069\u0064\u0074\u0068");};_gdea =0;if _cgd .SdHuffDecodeHeightSelection > 1{_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0048u\u0066\u0066\u0048\u0065\u0069\u0067\u0068\u0074");};_gdea =0;switch _cgd .SdHuffDecodeHeightSelection {case 1,3:_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0048u\u0066\u0066\u0048\u0065\u0069\u0067\u0068\u0074");};_gdea =0;if _cgd .UseRefinementAggregation {_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0052\u0065\u0066\u0041\u0067\u0067");};_gdea =0;if _cgd .IsHuffmanEncoded {_gdea =1;};if _ceff =_gede .WriteBit (_gdea );_ceff !=nil {return _aaed ,_ge .Wrap (_ceff ,_ebbf ,"\u0073\u0064\u0048\u0075\u0066\u0066");};return 2,nil ;};func (_gecgc *SymbolDictionary )getSbSymCodeLen ()int8 {_beeb :=int8 (_bg .Ceil (_bg .Log (float64 (_gecgc ._cggf +_gecgc .NumberOfNewSymbols ))/_bg .Log (2)));if _gecgc .IsHuffmanEncoded &&_beeb < 1{return 1;};return _beeb ;};func (_abcc *GenericRegion )computeSegmentDataStructure ()error {_abcc .DataOffset =_abcc ._gbg .StreamPosition ();_abcc .DataHeaderLength =_abcc .DataOffset -_abcc .DataHeaderOffset ;_abcc .DataLength =int64 (_abcc ._gbg .Length ())-_abcc .DataHeaderLength ;return nil ;};func (_afdac *TextRegion )decodeRI ()(int64 ,error ){if !_afdac .UseRefinement {return 0,nil ;};if _afdac .IsHuffmanEncoded {_edaa ,_ecff :=_afdac ._bege .ReadBit ();return int64 (_edaa ),_ecff ;};_ecdee ,_bfgfg :=_afdac ._fdf .DecodeInt (_afdac ._abafg );return int64 (_ecdee ),_bfgfg ;};func (_daccb *PatternDictionary )readIsMMREncoded ()error {_fabc ,_cfge :=_daccb ._fdbb .ReadBit ();if _cfge !=nil {return _cfge ;};if _fabc !=0{_daccb .IsMMREncoded =true ;};return nil ;};func (_acg *GenericRegion )decodeTemplate0b (_gggg ,_gfbd ,_abfe int ,_bec ,_ddc int )(_cfcd error ){const _daccg ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0062";var (_efbe ,_gbd int ;_ada ,_bffd int ;_ccf byte ;_gdae int ;);if _gggg >=1{_ccf ,_cfcd =_acg .Bitmap .GetByte (_ddc );if _cfcd !=nil {return _ge .Wrap (_cfcd ,_daccg ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_ada =int (_ccf );};if _gggg >=2{_ccf ,_cfcd =_acg .Bitmap .GetByte (_ddc -_acg .Bitmap .RowStride );if _cfcd !=nil {return _ge .Wrap (_cfcd ,_daccg ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_bffd =int (_ccf )<<6;};_efbe =(_ada &0xf0)|(_bffd &0x3800);for _eaea :=0;_eaea < _abfe ;_eaea =_gdae {var (_deca byte ;_egaa int ;);_gdae =_eaea +8;if _afbb :=_gfbd -_eaea ;_afbb > 8{_egaa =8;}else {_egaa =_afbb ;};if _gggg > 0{_ada <<=8;if _gdae < _gfbd {_ccf ,_cfcd =_acg .Bitmap .GetByte (_ddc +1);if _cfcd !=nil {return _ge .Wrap (_cfcd ,_daccg ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_ada |=int (_ccf );};};if _gggg > 1{_bffd <<=8;if _gdae < _gfbd {_ccf ,_cfcd =_acg .Bitmap .GetByte (_ddc -_acg .Bitmap .RowStride +1);if _cfcd !=nil {return _ge .Wrap (_cfcd ,_daccg ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_bffd |=int (_ccf )<<6;};};for _dce :=0;_dce < _egaa ;_dce ++{_dfa :=uint (7-_dce );if _acg ._bbe {_gbd =_acg .overrideAtTemplate0b (_efbe ,_eaea +_dce ,_gggg ,int (_deca ),_dce ,int (_dfa ));_acg ._decfe .SetIndex (int32 (_gbd ));}else {_acg ._decfe .SetIndex (int32 (_efbe ));};var _ebc int ;_ebc ,_cfcd =_acg ._cefd .DecodeBit (_acg ._decfe );if _cfcd !=nil {return _ge .Wrap (_cfcd ,_daccg ,"");};_deca |=byte (_ebc <<_dfa );_efbe =((_efbe &0x7bf7)<<1)|_ebc |((_ada >>_dfa )&0x10)|((_bffd >>_dfa )&0x800);};if _gea :=_acg .Bitmap .SetByte (_bec ,_deca );_gea !=nil {return _ge .Wrap (_gea ,_daccg ,"");};_bec ++;_ddc ++;};return nil ;};func (_ccd *PatternDictionary )extractPatterns (_efff *_g .Bitmap )error {var _cbcef int ;_fdeg :=make ([]*_g .Bitmap ,_ccd .GrayMax +1);for _cbcef <=int (_ccd .GrayMax ){_fcfd :=int (_ccd .HdpWidth )*_cbcef ;_efceb :=_a .Rect (_fcfd ,0,_fcfd +int (_ccd .HdpWidth ),int (_ccd .HdpHeight ));_bedf ,_afef :=_g .Extract (_efceb ,_efff );if _afef !=nil {return _afef ;};_fdeg [_cbcef ]=_bedf ;_cbcef ++;};_ccd .Patterns =_fdeg ;return nil ;};func (_bed *PageInformationSegment )Encode (w _e .BinaryWriter )(_aaba int ,_fgfa error ){const _bbfa ="\u0050\u0061g\u0065\u0049\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u002e\u0045\u006eco\u0064\u0065";_feef :=make ([]byte ,4);_bgc .BigEndian .PutUint32 (_feef ,uint32 (_bed .PageBMWidth ));_aaba ,_fgfa =w .Write (_feef );if _fgfa !=nil {return _aaba ,_ge .Wrap (_fgfa ,_bbfa ,"\u0077\u0069\u0064t\u0068");};_bgc .BigEndian .PutUint32 (_feef ,uint32 (_bed .PageBMHeight ));var _baf int ;_baf ,_fgfa =w .Write (_feef );if _fgfa !=nil {return _baf +_aaba ,_ge .Wrap (_fgfa ,_bbfa ,"\u0068\u0065\u0069\u0067\u0068\u0074");};_aaba +=_baf ;_bgc .BigEndian .PutUint32 (_feef ,uint32 (_bed .ResolutionX ));_baf ,_fgfa =w .Write (_feef );if _fgfa !=nil {return _baf +_aaba ,_ge .Wrap (_fgfa ,_bbfa ,"\u0078\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");};_aaba +=_baf ;_bgc .BigEndian .PutUint32 (_feef ,uint32 (_bed .ResolutionY ));if _baf ,_fgfa =w .Write (_feef );_fgfa !=nil {return _baf +_aaba ,_ge .Wrap (_fgfa ,_bbfa ,"\u0079\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");};_aaba +=_baf ;if _fgfa =_bed .encodeFlags (w );_fgfa !=nil {return _aaba ,_ge .Wrap (_fgfa ,_bbfa ,"");};_aaba ++;if _baf ,_fgfa =_bed .encodeStripingInformation (w );_fgfa !=nil {return _aaba ,_ge .Wrap (_fgfa ,_bbfa ,"");};_aaba +=_baf ;return _aaba ,nil ;};func (_fafc *SymbolDictionary )String ()string {_begff :=&_bb .Builder {};_begff .WriteString ("\n\u005b\u0053\u0059\u004dBO\u004c-\u0044\u0049\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u000a");_begff .WriteString (_c .Sprintf ("\u0009-\u0020S\u0064\u0072\u0054\u0065\u006dp\u006c\u0061t\u0065\u0020\u0025\u0076\u000a",_fafc .SdrTemplate ));_begff .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0025\u0076\u000a",_fafc .SdTemplate ));_begff .WriteString (_c .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",_fafc ._dfad ));_begff .WriteString (_c .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",_fafc ._eaeb ));_begff .WriteString (_c .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",_fafc .SdHuffAggInstanceSelection ));_begff .WriteString (_c .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",_fafc .SdHuffBMSizeSelection ));_begff .WriteString (_c .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",_fafc .SdHuffDecodeWidthSelection ));_begff .WriteString (_c .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",_fafc .SdHuffDecodeHeightSelection ));_begff .WriteString (_c .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",_fafc .UseRefinementAggregation ));_begff .WriteString (_c .Sprintf ("\u0009\u002d\u0020is\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045\u006e\u0063\u006f\u0064\u0065\u0064\u0020\u0025\u0076\u000a",_fafc .IsHuffmanEncoded ));_begff .WriteString (_c .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_fafc .SdATX ));_begff .WriteString (_c .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_fafc .SdATY ));_begff .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_fafc .SdrATX ));_begff .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_fafc .SdrATY ));_begff .WriteString (_c .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",_fafc .NumberOfExportedSymbols ));_begff .WriteString (_c .Sprintf ("\u0009-\u0020\u004e\u0075\u006db\u0065\u0072\u004f\u0066\u004ee\u0077S\u0079m\u0062\u006f\u006c\u0073\u0020\u0025\u0076\n",_fafc .NumberOfNewSymbols ));_begff .WriteString (_c .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",_fafc ._cggf ));_begff .WriteString (_c .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",_fafc ._bacd ));return _begff .String ();};func (_aadd *Header )writeFlags (_egbc _e .BinaryWriter )(_cbc error ){const _fgc ="\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065F\u006c\u0061\u0067\u0073";_cfcc :=byte (_aadd .Type );if _cbc =_egbc .WriteByte (_cfcc );_cbc !=nil {return _ge .Wrap (_cbc ,_fgc ,"\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 !_aadd .RetainFlag &&!_aadd .PageAssociationFieldSize {return nil ;};if _cbc =_egbc .SkipBits (-8);_cbc !=nil {return _ge .Wrap (_cbc ,_fgc ,"\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 _egaaf int ;if _aadd .RetainFlag {_egaaf =1;};if _cbc =_egbc .WriteBit (_egaaf );_cbc !=nil {return _ge .Wrap (_cbc ,_fgc ,"\u0072\u0065\u0074\u0061in\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067\u0073");};_egaaf =0;if _aadd .PageAssociationFieldSize {_egaaf =1;};if _cbc =_egbc .WriteBit (_egaaf );_cbc !=nil {return _ge .Wrap (_cbc ,_fgc ,"p\u0061\u0067\u0065\u0020as\u0073o\u0063\u0069\u0061\u0074\u0069o\u006e\u0020\u0066\u006c\u0061\u0067");};_egbc .FinishByte ();return nil ;};func (_ed *EndOfStripe )LineNumber ()int {return _ed ._cf };func (_daccf *template1 )setIndex (_dgec *_eg .DecoderStats ){_dgec .SetIndex (0x080)};func (_agbg *TextRegion )decodeDfs ()(int64 ,error ){if _agbg .IsHuffmanEncoded {if _agbg .SbHuffFS ==3{if _agbg ._aeea ==nil {var _gedg error ;_agbg ._aeea ,_gedg =_agbg .getUserTable (0);if _gedg !=nil {return 0,_gedg ;};};return _agbg ._aeea .Decode (_agbg ._bege );};_gacaba ,_fag :=_gd .GetStandardTable (6+int (_agbg .SbHuffFS ));if _fag !=nil {return 0,_fag ;};return _gacaba .Decode (_agbg ._bege );};_ddaag ,_ffed :=_agbg ._fdf .DecodeInt (_agbg ._cecg );if _ffed !=nil {return 0,_ffed ;};return int64 (_ddaag ),nil ;};func (_gaca *GenericRefinementRegion )setParameters (_cee *_eg .DecoderStats ,_acd *_eg .Decoder ,_gfd int8 ,_dggf ,_dae uint32 ,_cfa *_g .Bitmap ,_edbf ,_daf int32 ,_cgc bool ,_beb []int8 ,_cbf []int8 ){_ff .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 _cee !=nil {_gaca ._de =_cee ;};if _acd !=nil {_gaca ._edc =_acd ;};_gaca .TemplateID =_gfd ;_gaca .RegionInfo .BitmapWidth =_dggf ;_gaca .RegionInfo .BitmapHeight =_dae ;_gaca .ReferenceBitmap =_cfa ;_gaca .ReferenceDX =_edbf ;_gaca .ReferenceDY =_daf ;_gaca .IsTPGROn =_cgc ;_gaca .GrAtX =_beb ;_gaca .GrAtY =_cbf ;_gaca .RegionBitmap =nil ;_ff .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",_gaca );};func (_abbg *TextRegion )decodeRdh ()(int64 ,error ){const _fggc ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064h";if _abbg .IsHuffmanEncoded {if _abbg .SbHuffRDHeight ==3{if _abbg ._eeea ==nil {var (_bbedg int ;_beag error ;);if _abbg .SbHuffFS ==3{_bbedg ++;};if _abbg .SbHuffDS ==3{_bbedg ++;};if _abbg .SbHuffDT ==3{_bbedg ++;};if _abbg .SbHuffRDWidth ==3{_bbedg ++;};_abbg ._eeea ,_beag =_abbg .getUserTable (_bbedg );if _beag !=nil {return 0,_ge .Wrap (_beag ,_fggc ,"");};};return _abbg ._eeea .Decode (_abbg ._bege );};_ccdb ,_fefc :=_gd .GetStandardTable (14+int (_abbg .SbHuffRDHeight ));if _fefc !=nil {return 0,_ge .Wrap (_fefc ,_fggc ,"");};return _ccdb .Decode (_abbg ._bege );};_dfee ,_caga :=_abbg ._fdf .DecodeInt (_abbg ._dcdbb );if _caga !=nil {return 0,_ge .Wrap (_caga ,_fggc ,"");};return int64 (_dfee ),nil ;};func (_ecbd *TextRegion )checkInput ()error {const _dbga ="\u0063\u0068\u0065\u0063\u006b\u0049\u006e\u0070\u0075\u0074";if !_ecbd .UseRefinement {if _ecbd .SbrTemplate !=0{_ff .Log .Debug ("\u0053\u0062\u0072Te\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_ecbd .SbrTemplate =0;};};if _ecbd .SbHuffFS ==2||_ecbd .SbHuffRDWidth ==2||_ecbd .SbHuffRDHeight ==2||_ecbd .SbHuffRDX ==2||_ecbd .SbHuffRDY ==2{return _ge .Error (_dbga ,"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 !_ecbd .UseRefinement {if _ecbd .SbHuffRSize !=0{_ff .Log .Debug ("\u0053\u0062\u0048uf\u0066\u0052\u0053\u0069\u007a\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_ecbd .SbHuffRSize =0;};if _ecbd .SbHuffRDY !=0{_ff .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044Y\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_ecbd .SbHuffRDY =0;};if _ecbd .SbHuffRDX !=0{_ff .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044X\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_ecbd .SbHuffRDX =0;};if _ecbd .SbHuffRDWidth !=0{_ff .Log .Debug ("\u0053b\u0048\u0075\u0066\u0066R\u0044\u0057\u0069\u0064\u0074h\u0020s\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u00200");_ecbd .SbHuffRDWidth =0;};if _ecbd .SbHuffRDHeight !=0{_ff .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");_ecbd .SbHuffRDHeight =0;};};return nil ;};func (_bea *Header )pageSize ()uint {if _bea .PageAssociation <=255{return 1;};return 4;};func NewHeader (d Documenter ,r _e .StreamReader ,offset int64 ,organizationType OrganizationType )(*Header ,error ){_dggcc :=&Header {Reader :r };if _bgdd :=_dggcc .parse (d ,r ,offset ,organizationType );_bgdd !=nil {return nil ,_ge .Wrap (_bgdd ,"\u004ee\u0077\u0048\u0065\u0061\u0064\u0065r","");};return _dggcc ,nil ;};func (_babe *GenericRegion )Encode (w _e .BinaryWriter )(_bfe int ,_efab error ){const _dag ="G\u0065n\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069o\u006e\u002e\u0045\u006eco\u0064\u0065";if _babe .Bitmap ==nil {return 0,_ge .Error (_dag ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};_gdad ,_efab :=_babe .RegionSegment .Encode (w );if _efab !=nil {return 0,_ge .Wrap (_efab ,_dag ,"\u0052\u0065\u0067\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074");};_bfe +=_gdad ;if _efab =w .SkipBits (4);_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"\u0073k\u0069p\u0020\u0072\u0065\u0073\u0065r\u0076\u0065d\u0020\u0062\u0069\u0074\u0073");};var _efb int ;if _babe .IsTPGDon {_efb =1;};if _efab =w .WriteBit (_efb );_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"\u0074\u0070\u0067\u0064\u006f\u006e");};_efb =0;if _efab =w .WriteBit (int (_babe .GBTemplate >>1)&0x01);_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"f\u0069r\u0073\u0074\u0020\u0067\u0062\u0074\u0065\u006dp\u006c\u0061\u0074\u0065 b\u0069\u0074");};if _efab =w .WriteBit (int (_babe .GBTemplate )&0x01);_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"s\u0065\u0063\u006f\u006ed \u0067b\u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u0020\u0062\u0069\u0074");};if _babe .UseMMR {_efb =1;};if _efab =w .WriteBit (_efb );_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"u\u0073\u0065\u0020\u004d\u004d\u0052\u0020\u0062\u0069\u0074");};_bfe ++;if _gdad ,_efab =_babe .writeGBAtPixels (w );_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"");};_bfe +=_gdad ;_gfde :=_gc .New ();if _efab =_gfde .EncodeBitmap (_babe .Bitmap ,_babe .IsTPGDon );_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"");};_gfde .Final ();var _bgg int64 ;if _bgg ,_efab =_gfde .WriteTo (w );_efab !=nil {return _bfe ,_ge .Wrap (_efab ,_dag ,"");};_bfe +=int (_bgg );return _bfe ,nil ;};func (_eebg *TextRegion )encodeSymbols (_ecae _e .BinaryWriter )(_dcdcc int ,_gcdd error ){const _degc ="\u0065\u006e\u0063\u006f\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c\u0073";_dgdb :=make ([]byte ,4);_bgc .BigEndian .PutUint32 (_dgdb ,_eebg .NumberOfSymbols );if _dcdcc ,_gcdd =_ecae .Write (_dgdb );_gcdd !=nil {return _dcdcc ,_ge .Wrap (_gcdd ,_degc ,"\u004e\u0075\u006dbe\u0072\u004f\u0066\u0053\u0079\u006d\u0062\u006f\u006c\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073");};_ebfeg ,_gcdd :=_g .NewClassedPoints (_eebg ._gbdg ,_eebg ._bfde );if _gcdd !=nil {return 0,_ge .Wrap (_gcdd ,_degc ,"");};var _aecg ,_acac int ;_gdbb :=_gc .New ();_gdbb .Init ();if _gcdd =_gdbb .EncodeInteger (_gc .IADT ,0);_gcdd !=nil {return _dcdcc ,_ge .Wrap (_gcdd ,_degc ,"\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0020\u0044\u0054");};_egcf ,_gcdd :=_ebfeg .GroupByY ();if _gcdd !=nil {return 0,_ge .Wrap (_gcdd ,_degc ,"");};for _ ,_gccg :=range _egcf {_acbg :=int (_gccg .YAtIndex (0));_ggdd :=_acbg -_aecg ;if _gcdd =_gdbb .EncodeInteger (_gc .IADT ,_ggdd );_gcdd !=nil {return _dcdcc ,_ge .Wrap (_gcdd ,_degc ,"");};var _ebeee int ;for _bbdb ,_fddg :=range _gccg .IntSlice {switch _bbdb {case 0:_afga :=int (_gccg .XAtIndex (_bbdb ))-_acac ;if _gcdd =_gdbb .EncodeInteger (_gc .IAFS ,_afga );_gcdd !=nil {return _dcdcc ,_ge .Wrap (_gcdd ,_degc ,"");};_acac +=_afga ;_ebeee =_acac ;default:_adab :=int (_gccg .XAtIndex (_bbdb ))-_ebeee ;if _gcdd =_gdbb .EncodeInteger (_gc .IADS ,_adab );_gcdd !=nil {return _dcdcc ,_ge .Wrap (_gcdd ,_degc ,"");};_ebeee +=_adab ;};_fbbf ,_edga :=_eebg ._aeeg .Get (_fddg );if _edga !=nil {return _dcdcc ,_ge .Wrap (_edga ,_degc ,"");};_ffeg ,_bdee :=_eebg ._deff [_fbbf ];if !_bdee {_ffeg ,_bdee =_eebg ._eecd [_fbbf ];if !_bdee {return _dcdcc ,_ge .Errorf (_degc ,"\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",_fbbf );};};if _edga =_gdbb .EncodeIAID (_eebg ._deffe ,_ffeg );_edga !=nil {return _dcdcc ,_ge .Wrap (_edga ,_degc ,"");};};if _gcdd =_gdbb .EncodeOOB (_gc .IADS );_gcdd !=nil {return _dcdcc ,_ge .Wrap (_gcdd ,_degc ,"");};};_gdbb .Final ();_fgdae ,_gcdd :=_gdbb .WriteTo (_ecae );if _gcdd !=nil {return _dcdcc ,_ge .Wrap (_gcdd ,_degc ,"");};_dcdcc +=int (_fgdae );return _dcdcc ,nil ;};var (_cfae Segmenter ;_dfcda =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 _cfae },TEndOfStrip :func ()Segmenter {return &EndOfStripe {}},TEndOfFile :func ()Segmenter {return _cfae },TProfiles :func ()Segmenter {return _cfae },TTables :func ()Segmenter {return &TableSegment {}},TExtension :func ()Segmenter {return _cfae },TBitmap :func ()Segmenter {return _cfae }};);func (_gada *GenericRegion )readGBAtPixels (_ceec int )error {const _daac ="\u0072\u0065\u0061\u0064\u0047\u0042\u0041\u0074\u0050i\u0078\u0065\u006c\u0073";_gada .GBAtX =make ([]int8 ,_ceec );_gada .GBAtY =make ([]int8 ,_ceec );for _eddg :=0;_eddg < _ceec ;_eddg ++{_gbbe ,_dcda :=_gada ._gbg .ReadByte ();if _dcda !=nil {return _ge .Wrapf (_dcda ,_daac ,"\u0058\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_eddg );};_gada .GBAtX [_eddg ]=int8 (_gbbe );_gbbe ,_dcda =_gada ._gbg .ReadByte ();if _dcda !=nil {return _ge .Wrapf (_dcda ,_daac ,"\u0059\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_eddg );};_gada .GBAtY [_eddg ]=int8 (_gbbe );};return nil ;};func (_dadf *RegionSegment )readCombinationOperator ()error {_fgeg ,_ebce :=_dadf ._aacd .ReadBits (3);if _ebce !=nil {return _ebce ;};_dadf .CombinaionOperator =_g .CombinationOperator (_fgeg &0xF);return nil ;};func (_gbab *GenericRegion )writeGBAtPixels (_edfc _e .BinaryWriter )(_abfea int ,_ddg error ){const _bda ="\u0077r\u0069t\u0065\u0047\u0042\u0041\u0074\u0050\u0069\u0078\u0065\u006c\u0073";if _gbab .UseMMR {return 0,nil ;};_dcba :=1;if _gbab .GBTemplate ==0{_dcba =4;}else if _gbab .UseExtTemplates {_dcba =12;};if len (_gbab .GBAtX )!=_dcba {return 0,_ge .Errorf (_bda ,"\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 (_gbab .GBAtY )!=_dcba {return 0,_ge .Errorf (_bda ,"\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 _gcaa :=0;_gcaa < _dcba ;_gcaa ++{if _ddg =_edfc .WriteByte (byte (_gbab .GBAtX [_gcaa ]));_ddg !=nil {return _abfea ,_ge .Wrap (_ddg ,_bda ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0058");};_abfea ++;if _ddg =_edfc .WriteByte (byte (_gbab .GBAtY [_gcaa ]));_ddg !=nil {return _abfea ,_ge .Wrap (_ddg ,_bda ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0059");};_abfea ++;};return _abfea ,nil ;};func (_geaa *HalftoneRegion )GetPatterns ()([]*_g .Bitmap ,error ){var (_cdc []*_g .Bitmap ;_ddgf error ;);for _ ,_gge :=range _geaa ._dgf .RTSegments {var _ddgc Segmenter ;_ddgc ,_ddgf =_gge .GetSegmentData ();if _ddgf !=nil {_ff .Log .Debug ("\u0047e\u0074\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061 \u0066a\u0069\u006c\u0065\u0064\u003a\u0020\u0025v",_ddgf );return nil ,_ddgf ;};_agef ,_ddfd :=_ddgc .(*PatternDictionary );if !_ddfd {_ddgf =_c .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",_ddgc );return nil ,_ddgf ;};var _dbacc []*_g .Bitmap ;_dbacc ,_ddgf =_agef .GetDictionary ();if _ddgf !=nil {_ff .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",_ddgf );return nil ,_ddgf ;};_cdc =append (_cdc ,_dbacc ...);};return _cdc ,nil ;};func (_ffea *Header )readReferredToSegmentNumbers (_dfbe _e .StreamReader ,_gggb int )([]int ,error ){const _ceea ="\u0072\u0065\u0061\u0064R\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053e\u0067m\u0065\u006e\u0074\u004e\u0075\u006d\u0062e\u0072\u0073";_faa :=make ([]int ,_gggb );if _gggb > 0{_ffea .RTSegments =make ([]*Header ,_gggb );var (_dbcb uint64 ;_fcce error ;);for _daae :=0;_daae < _gggb ;_daae ++{_dbcb ,_fcce =_dfbe .ReadBits (byte (_ffea .referenceSize ())<<3);if _fcce !=nil {return nil ,_ge .Wrapf (_fcce ,_ceea ,"\u0027\u0025\u0064\u0027 \u0072\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0020\u0073e\u0067m\u0065\u006e\u0074\u0020\u006e\u0075\u006db\u0065\u0072",_daae );};_faa [_daae ]=int (_dbcb &_bg .MaxInt32 );};};return _faa ,nil ;};func (_gafb *HalftoneRegion )combineGrayscalePlanes (_ffa []*_g .Bitmap ,_cfbd int )error {_egd :=0;for _eccc :=0;_eccc < _ffa [_cfbd ].Height ;_eccc ++{for _fdcc :=0;_fdcc < _ffa [_cfbd ].Width ;_fdcc +=8{_ddec ,_gadbe :=_ffa [_cfbd +1].GetByte (_egd );if _gadbe !=nil {return _gadbe ;};_fbea ,_gadbe :=_ffa [_cfbd ].GetByte (_egd );if _gadbe !=nil {return _gadbe ;};_gadbe =_ffa [_cfbd ].SetByte (_egd ,_g .CombineBytes (_fbea ,_ddec ,_g .CmbOpXor ));if _gadbe !=nil {return _gadbe ;};_egd ++;};};return nil ;};type GenericRegion struct{_gbg _e .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 ;_bbe bool ;Bitmap *_g .Bitmap ;_cefd *_eg .Decoder ;_decfe *_eg .DecoderStats ;_dggc *_dg .Decoder ;};func (_bddfa *TextRegion )decodeIds ()(int64 ,error ){const _dbca ="\u0064e\u0063\u006f\u0064\u0065\u0049\u0064s";if _bddfa .IsHuffmanEncoded {if _bddfa .SbHuffDS ==3{if _bddfa ._ebbc ==nil {_degd :=0;if _bddfa .SbHuffFS ==3{_degd ++;};var _edfe error ;_bddfa ._ebbc ,_edfe =_bddfa .getUserTable (_degd );if _edfe !=nil {return 0,_ge .Wrap (_edfe ,_dbca ,"");};};return _bddfa ._ebbc .Decode (_bddfa ._bege );};_fcfc ,_bbeb :=_gd .GetStandardTable (8+int (_bddfa .SbHuffDS ));if _bbeb !=nil {return 0,_ge .Wrap (_bbeb ,_dbca ,"");};return _fcfc .Decode (_bddfa ._bege );};_dbcf ,_cedg :=_bddfa ._fdf .DecodeInt (_bddfa ._egde );if _cedg !=nil {return 0,_ge .Wrap (_cedg ,_dbca ,"\u0063\u0078\u0049\u0041\u0044\u0053");};return int64 (_dbcf ),nil ;};func (_ccc *HalftoneRegion )GetRegionBitmap ()(*_g .Bitmap ,error ){if _ccc .HalftoneRegionBitmap !=nil {return _ccc .HalftoneRegionBitmap ,nil ;};var _gcgb error ;_ccc .HalftoneRegionBitmap =_g .New (int (_ccc .RegionSegment .BitmapWidth ),int (_ccc .RegionSegment .BitmapHeight ));if _ccc .Patterns ==nil ||len (_ccc .Patterns )==0{_ccc .Patterns ,_gcgb =_ccc .GetPatterns ();if _gcgb !=nil {return nil ,_gcgb ;};};if _ccc .HDefaultPixel ==1{_ccc .HalftoneRegionBitmap .SetDefaultPixel ();};_aadf :=_bg .Ceil (_bg .Log (float64 (len (_ccc .Patterns )))/_bg .Log (2));_dfeg :=int (_aadf );var _eece [][]int ;_eece ,_gcgb =_ccc .grayScaleDecoding (_dfeg );if _gcgb !=nil {return nil ,_gcgb ;};if _gcgb =_ccc .renderPattern (_eece );_gcgb !=nil {return nil ,_gcgb ;};return _ccc .HalftoneRegionBitmap ,nil ;};func (_bac *GenericRegion )GetRegionInfo ()*RegionSegment {return _bac .RegionSegment };func (_eag *GenericRefinementRegion )decodeTypicalPredictedLineTemplate0 (_gad ,_bdd ,_be ,_bfg ,_fff ,_cec ,_af ,_dbe ,_geg int )error {var (_ggc ,_dc ,_ef ,_dacc ,_gb ,_agd int ;_fe byte ;_ffg error ;);if _gad > 0{_fe ,_ffg =_eag .RegionBitmap .GetByte (_af -_be );if _ffg !=nil {return _ffg ;};_ef =int (_fe );};if _dbe > 0&&_dbe <=_eag .ReferenceBitmap .Height {_fe ,_ffg =_eag .ReferenceBitmap .GetByte (_geg -_bfg +_cec );if _ffg !=nil {return _ffg ;};_dacc =int (_fe )<<4;};if _dbe >=0&&_dbe < _eag .ReferenceBitmap .Height {_fe ,_ffg =_eag .ReferenceBitmap .GetByte (_geg +_cec );if _ffg !=nil {return _ffg ;};_gb =int (_fe )<<1;};if _dbe > -2&&_dbe < _eag .ReferenceBitmap .Height -1{_fe ,_ffg =_eag .ReferenceBitmap .GetByte (_geg +_bfg +_cec );if _ffg !=nil {return _ffg ;};_agd =int (_fe );};_ggc =((_ef >>5)&0x6)|((_agd >>2)&0x30)|(_gb &0x180)|(_dacc &0xc00);var _cde int ;for _dea :=0;_dea < _fff ;_dea =_cde {var _gfg int ;_cde =_dea +8;var _bad int ;if _bad =_bdd -_dea ;_bad > 8{_bad =8;};_eff :=_cde < _bdd ;_gdd :=_cde < _eag .ReferenceBitmap .Width ;_gcc :=_cec +1;if _gad > 0{_fe =0;if _eff {_fe ,_ffg =_eag .RegionBitmap .GetByte (_af -_be +1);if _ffg !=nil {return _ffg ;};};_ef =(_ef <<8)|int (_fe );};if _dbe > 0&&_dbe <=_eag .ReferenceBitmap .Height {var _fcg int ;if _gdd {_fe ,_ffg =_eag .ReferenceBitmap .GetByte (_geg -_bfg +_gcc );if _ffg !=nil {return _ffg ;};_fcg =int (_fe )<<4;};_dacc =(_dacc <<8)|_fcg ;};if _dbe >=0&&_dbe < _eag .ReferenceBitmap .Height {var _fdc int ;if _gdd {_fe ,_ffg =_eag .ReferenceBitmap .GetByte (_geg +_gcc );if _ffg !=nil {return _ffg ;};_fdc =int (_fe )<<1;};_gb =(_gb <<8)|_fdc ;};if _dbe > -2&&_dbe < (_eag .ReferenceBitmap .Height -1){_fe =0;if _gdd {_fe ,_ffg =_eag .ReferenceBitmap .GetByte (_geg +_bfg +_gcc );if _ffg !=nil {return _ffg ;};};_agd =(_agd <<8)|int (_fe );};for _bca :=0;_bca < _bad ;_bca ++{var _df int ;_aeg :=false ;_gdf :=(_ggc >>4)&0x1ff;if _gdf ==0x1ff{_aeg =true ;_df =1;}else if _gdf ==0x00{_aeg =true ;};if !_aeg {if _eag ._fdb {_dc =_eag .overrideAtTemplate0 (_ggc ,_dea +_bca ,_gad ,_gfg ,_bca );_eag ._de .SetIndex (int32 (_dc ));}else {_eag ._de .SetIndex (int32 (_ggc ));};_df ,_ffg =_eag ._edc .DecodeBit (_eag ._de );if _ffg !=nil {return _ffg ;};};_gfb :=uint (7-_bca );_gfg |=_df <<_gfb ;_ggc =((_ggc &0xdb6)<<1)|_df |(_ef >>_gfb +5)&0x002|((_agd >>_gfb +2)&0x010)|((_gb >>_gfb )&0x080)|((_dacc >>_gfb )&0x400);};_ffg =_eag .RegionBitmap .SetByte (_af ,byte (_gfg ));if _ffg !=nil {return _ffg ;};_af ++;_geg ++;};return nil ;};type Regioner interface{GetRegionBitmap ()(*_g .Bitmap ,error );GetRegionInfo ()*RegionSegment ;};func (_bfaf *Header )writeSegmentNumber (_bdbg _e .BinaryWriter )(_aeaa int ,_ddgd error ){_fbdc :=make ([]byte ,4);_bgc .BigEndian .PutUint32 (_fbdc ,_bfaf .SegmentNumber );if _aeaa ,_ddgd =_bdbg .Write (_fbdc );_ddgd !=nil {return 0,_ge .Wrap (_ddgd ,"\u0048e\u0061\u0064\u0065\u0072.\u0077\u0072\u0069\u0074\u0065S\u0065g\u006de\u006e\u0074\u004e\u0075\u006d\u0062\u0065r","");};return _aeaa ,nil ;};func (_efee *PageInformationSegment )encodeFlags (_aaad _e .BinaryWriter )(_ebec error ){const _gdccb ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _ebec =_aaad .SkipBits (1);_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"\u0072\u0065\u0073e\u0072\u0076\u0065\u0064\u0020\u0062\u0069\u0074");};var _cgeb int ;if _efee .CombinationOperatorOverrideAllowed (){_cgeb =1;};if _ebec =_aaad .WriteBit (_cgeb );_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u006f\u0076\u0065\u0072\u0072\u0069\u0064\u0064\u0065\u006e");};_cgeb =0;if _efee ._dcbb {_cgeb =1;};if _ebec =_aaad .WriteBit (_cgeb );_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"\u0072e\u0071\u0075\u0069\u0072e\u0073\u0020\u0061\u0075\u0078i\u006ci\u0061r\u0079\u0020\u0062\u0075\u0066\u0066\u0065r");};if _ebec =_aaad .WriteBit ((int (_efee ._caca )>>1)&0x01);_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"\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 _ebec =_aaad .WriteBit (int (_efee ._caca )&0x01);_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"\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");};_cgeb =int (_efee ._cgad );if _ebec =_aaad .WriteBit (_cgeb );_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"\u0064e\u0066\u0061\u0075\u006c\u0074\u0020\u0070\u0061\u0067\u0065\u0020p\u0069\u0078\u0065\u006c\u0020\u0076\u0061\u006c\u0075\u0065");};_cgeb =0;if _efee ._ddbg {_cgeb =1;};if _ebec =_aaad .WriteBit (_cgeb );_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"\u0063\u006f\u006e\u0074ai\u006e\u0073\u0020\u0072\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074");};_cgeb =0;if _efee .IsLossless {_cgeb =1;};if _ebec =_aaad .WriteBit (_cgeb );_ebec !=nil {return _ge .Wrap (_ebec ,_gdccb ,"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 (_gcbd *TextRegion )decodeRdw ()(int64 ,error ){const _ecee ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064w";if _gcbd .IsHuffmanEncoded {if _gcbd .SbHuffRDWidth ==3{if _gcbd ._ccgc ==nil {var (_acgec int ;_gabb error ;);if _gcbd .SbHuffFS ==3{_acgec ++;};if _gcbd .SbHuffDS ==3{_acgec ++;};if _gcbd .SbHuffDT ==3{_acgec ++;};_gcbd ._ccgc ,_gabb =_gcbd .getUserTable (_acgec );if _gabb !=nil {return 0,_ge .Wrap (_gabb ,_ecee ,"");};};return _gcbd ._ccgc .Decode (_gcbd ._bege );};_ffbea ,_adbe :=_gd .GetStandardTable (14+int (_gcbd .SbHuffRDWidth ));if _adbe !=nil {return 0,_ge .Wrap (_adbe ,_ecee ,"");};return _ffbea .Decode (_gcbd ._bege );};_gdda ,_gecd :=_gcbd ._fdf .DecodeInt (_gcbd ._bccd );if _gecd !=nil {return 0,_ge .Wrap (_gecd ,_ecee ,"");};return int64 (_gdda ),nil ;};var _ templater =&template1 {};func (_ec *EndOfStripe )Init (h *Header ,r _e .StreamReader )error {_ec ._fb =r ;return _ec .parseHeader (h ,r );};func (_dfdee *SymbolDictionary )parseHeader ()(_aaeb error ){_ff .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 _aaeb !=nil {_ff .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",_aaeb );}else {_ff .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 _aaeb =_dfdee .readRegionFlags ();_aaeb !=nil {return _aaeb ;};if _aaeb =_dfdee .setAtPixels ();_aaeb !=nil {return _aaeb ;};if _aaeb =_dfdee .setRefinementAtPixels ();_aaeb !=nil {return _aaeb ;};if _aaeb =_dfdee .readNumberOfExportedSymbols ();_aaeb !=nil {return _aaeb ;};if _aaeb =_dfdee .readNumberOfNewSymbols ();_aaeb !=nil {return _aaeb ;};if _aaeb =_dfdee .setInSyms ();_aaeb !=nil {return _aaeb ;};if _dfdee ._eaeb {_efbc :=_dfdee .Header .RTSegments ;for _fdaa :=len (_efbc )-1;_fdaa >=0;_fdaa --{if _efbc [_fdaa ].Type ==0{_cbfcb ,_caac :=_efbc [_fdaa ].SegmentData .(*SymbolDictionary );if !_caac {_aaeb =_c .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",_efbc [_fdaa ]);return _aaeb ;};if _cbfcb ._eaeb {_dfdee .setRetainedCodingContexts (_cbfcb );};break ;};};};if _aaeb =_dfdee .checkInput ();_aaeb !=nil {return _aaeb ;};return nil ;};func (_ggbg *HalftoneRegion )grayScaleDecoding (_cfef int )([][]int ,error ){var (_fdcd []int8 ;_agbb []int8 ;);if !_ggbg .IsMMREncoded {_fdcd =make ([]int8 ,4);_agbb =make ([]int8 ,4);if _ggbg .HTemplate <=1{_fdcd [0]=3;}else if _ggbg .HTemplate >=2{_fdcd [0]=2;};_agbb [0]=-1;_fdcd [1]=-3;_agbb [1]=-1;_fdcd [2]=2;_agbb [2]=-2;_fdcd [3]=-2;_agbb [3]=-2;};_feff :=make ([]*_g .Bitmap ,_cfef );_afbf :=NewGenericRegion (_ggbg ._fga );_afbf .setParametersMMR (_ggbg .IsMMREncoded ,_ggbg .DataOffset ,_ggbg .DataLength ,_ggbg .HGridHeight ,_ggbg .HGridWidth ,_ggbg .HTemplate ,false ,_ggbg .HSkipEnabled ,_fdcd ,_agbb );_edg :=_cfef -1;var _cgccf error ;_feff [_edg ],_cgccf =_afbf .GetRegionBitmap ();if _cgccf !=nil {return nil ,_cgccf ;};for _edg > 0{_edg --;_afbf .Bitmap =nil ;_feff [_edg ],_cgccf =_afbf .GetRegionBitmap ();if _cgccf !=nil {return nil ,_cgccf ;};if _cgccf =_ggbg .combineGrayscalePlanes (_feff ,_edg );_cgccf !=nil {return nil ,_cgccf ;};};return _ggbg .computeGrayScalePlanes (_feff ,_cfef );};func (_bfee *Header )readSegmentPageAssociation (_egdf Documenter ,_cadbe _e .StreamReader ,_ggd uint64 ,_gfae ...int )(_gcac error ){const _dgd ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074P\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061t\u0069\u006f\u006e";if !_bfee .PageAssociationFieldSize {_cacf ,_gefc :=_cadbe .ReadBits (8);if _gefc !=nil {return _ge .Wrap (_gefc ,_dgd ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_bfee .PageAssociation =int (_cacf &0xFF);}else {_dfac ,_ceae :=_cadbe .ReadBits (32);if _ceae !=nil {return _ge .Wrap (_ceae ,_dgd ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_bfee .PageAssociation =int (_dfac &_bg .MaxInt32 );};if _ggd ==0{return nil ;};if _bfee .PageAssociation !=0{_fba ,_agfgb :=_egdf .GetPage (_bfee .PageAssociation );if _agfgb !=nil {return _ge .Wrap (_agfgb ,_dgd ,"\u0061s\u0073\u006f\u0063\u0069a\u0074\u0065\u0064\u0020\u0070a\u0067e\u0020n\u006f\u0074\u0020\u0066\u006f\u0075\u006ed");};var _edeb int ;for _beca :=uint64 (0);_beca < _ggd ;_beca ++{_edeb =_gfae [_beca ];_bfee .RTSegments [_beca ],_agfgb =_fba .GetSegment (_edeb );if _agfgb !=nil {var _egfc error ;_bfee .RTSegments [_beca ],_egfc =_egdf .GetGlobalSegment (_edeb );if _egfc !=nil {return _ge .Wrapf (_agfgb ,_dgd ,"\u0072\u0065\u0066\u0065\u0072\u0065n\u0063\u0065\u0020s\u0065\u0067\u006de\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075n\u0064\u0020\u0061\u0074\u0020pa\u0067\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0072\u0020\u0069\u006e\u0020\u0067\u006c\u006f\u0062\u0061\u006c\u0073",_bfee .PageAssociation );};};};return nil ;};for _gdag :=uint64 (0);_gdag < _ggd ;_gdag ++{_bfee .RTSegments [_gdag ],_gcac =_egdf .GetGlobalSegment (_gfae [_gdag ]);if _gcac !=nil {return _ge .Wrapf (_gcac ,_dgd ,"\u0067\u006c\u006f\u0062\u0061\u006c\u0020\u0073\u0065\u0067m\u0065\u006e\u0074\u003a\u0020\u0027\u0025d\u0027\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_gfae [_gdag ]);};};return nil ;};func (_ffbcd *SymbolDictionary )decodeNewSymbols (_cgfc ,_badf uint32 ,_gab *_g .Bitmap ,_aegd ,_ddbb int32 )error {if _ffbcd ._fgbc ==nil {_ffbcd ._fgbc =_gbe (_ffbcd ._gbcf ,nil );if _ffbcd ._cdd ==nil {var _gggef error ;_ffbcd ._cdd ,_gggef =_eg .New (_ffbcd ._gbcf );if _gggef !=nil {return _gggef ;};};if _ffbcd ._fcba ==nil {_ffbcd ._fcba =_eg .NewStats (65536,1);};};_ffbcd ._fgbc .setParameters (_ffbcd ._fcba ,_ffbcd ._cdd ,_ffbcd .SdrTemplate ,_cgfc ,_badf ,_gab ,_aegd ,_ddbb ,false ,_ffbcd .SdrATX ,_ffbcd .SdrATY );return _ffbcd .addSymbol (_ffbcd ._fgbc );};func (_eagg *TableSegment )HtPS ()int32 {return _eagg ._cbcf };var _ SegmentEncoder =&RegionSegment {};func (_cadf *HalftoneRegion )Init (hd *Header ,r _e .StreamReader )error {_cadf ._fga =r ;_cadf ._dgf =hd ;_cadf .RegionSegment =NewRegionSegment (r );return _cadf .parseHeader ();};func (_agag *PageInformationSegment )readIsStriped ()error {_debb ,_ebgg :=_agag ._ceaa .ReadBit ();if _ebgg !=nil {return _ebgg ;};if _debb ==1{_agag .IsStripe =true ;};return nil ;};func (_fcc *HalftoneRegion )renderPattern (_babee [][]int )(_ced error ){var _bffe ,_cgef int ;for _cfdgd :=0;_cfdgd < int (_fcc .HGridHeight );_cfdgd ++{for _gbed :=0;_gbed < int (_fcc .HGridWidth );_gbed ++{_bffe =_fcc .computeX (_cfdgd ,_gbed );_cgef =_fcc .computeY (_cfdgd ,_gbed );_fgda :=_fcc .Patterns [_babee [_cfdgd ][_gbed ]];if _ced =_g .Blit (_fgda ,_fcc .HalftoneRegionBitmap ,_bffe +int (_fcc .HGridX ),_cgef +int (_fcc .HGridY ),_fcc .CombinationOperator );_ced !=nil {return _ced ;};};};return nil ;};func (_aff *Header )CleanSegmentData (){if _aff .SegmentData !=nil {_aff .SegmentData =nil ;};};func (_ebegg *SymbolDictionary )huffDecodeBmSize ()(int64 ,error ){if _ebegg ._bbbaf ==nil {var (_gdff int ;_egfg error ;);if _ebegg .SdHuffDecodeHeightSelection ==3{_gdff ++;};if _ebegg .SdHuffDecodeWidthSelection ==3{_gdff ++;};_ebegg ._bbbaf ,_egfg =_ebegg .getUserTable (_gdff );if _egfg !=nil {return 0,_egfg ;};};return _ebegg ._bbbaf .Decode (_ebegg ._gbcf );};func (_fgd *HalftoneRegion )computeSegmentDataStructure ()error {_fgd .DataOffset =_fgd ._fga .StreamPosition ();_fgd .DataHeaderLength =_fgd .DataOffset -_fgd .DataHeaderOffset ;_fgd .DataLength =int64 (_fgd ._fga .Length ())-_fgd .DataHeaderLength ;return nil ;};func (_ddfg *SymbolDictionary )getToExportFlags ()([]int ,error ){var (_ffbe int ;_gdaaa int32 ;_cccb error ;_cbfg =int32 (_ddfg ._cggf +_ddfg .NumberOfNewSymbols );_aeec =make ([]int ,_cbfg ););for _efcd :=int32 (0);_efcd < _cbfg ;_efcd +=_gdaaa {if _ddfg .IsHuffmanEncoded {_dfde ,_dacd :=_gd .GetStandardTable (1);if _dacd !=nil {return nil ,_dacd ;};_gggc ,_dacd :=_dfde .Decode (_ddfg ._gbcf );if _dacd !=nil {return nil ,_dacd ;};_gdaaa =int32 (_gggc );}else {_gdaaa ,_cccb =_ddfg ._cdd .DecodeInt (_ddfg ._cffg );if _cccb !=nil {return nil ,_cccb ;};};if _gdaaa !=0{for _fcdd :=_efcd ;_fcdd < _efcd +_gdaaa ;_fcdd ++{_aeec [_fcdd ]=_ffbe ;};};if _ffbe ==0{_ffbe =1;}else {_ffbe =0;};};return _aeec ,nil ;};func (_bdfc *TextRegion )decodeRdy ()(int64 ,error ){const _afcb ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064y";if _bdfc .IsHuffmanEncoded {if _bdfc .SbHuffRDY ==3{if _bdfc ._cdeg ==nil {var (_bdcae int ;_afgdf error ;);if _bdfc .SbHuffFS ==3{_bdcae ++;};if _bdfc .SbHuffDS ==3{_bdcae ++;};if _bdfc .SbHuffDT ==3{_bdcae ++;};if _bdfc .SbHuffRDWidth ==3{_bdcae ++;};if _bdfc .SbHuffRDHeight ==3{_bdcae ++;};if _bdfc .SbHuffRDX ==3{_bdcae ++;};_bdfc ._cdeg ,_afgdf =_bdfc .getUserTable (_bdcae );if _afgdf !=nil {return 0,_ge .Wrap (_afgdf ,_afcb ,"");};};return _bdfc ._cdeg .Decode (_bdfc ._bege );};_dee ,_adba :=_gd .GetStandardTable (14+int (_bdfc .SbHuffRDY ));if _adba !=nil {return 0,_adba ;};return _dee .Decode (_bdfc ._bege );};_cgefa ,_fbbe :=_bdfc ._fdf .DecodeInt (_bdfc ._fabf );if _fbbe !=nil {return 0,_ge .Wrap (_fbbe ,_afcb ,"");};return int64 (_cgefa ),nil ;};func (_afgd *SymbolDictionary )decodeHeightClassCollectiveBitmap (_efdg int64 ,_ecf ,_cgdb uint32 )(*_g .Bitmap ,error ){if _efdg ==0{_cebe :=_g .New (int (_cgdb ),int (_ecf ));var (_cdba byte ;_adcf error ;);for _cdda :=0;_cdda < len (_cebe .Data );_cdda ++{_cdba ,_adcf =_afgd ._gbcf .ReadByte ();if _adcf !=nil {return nil ,_adcf ;};if _adcf =_cebe .SetByte (_cdda ,_cdba );_adcf !=nil {return nil ,_adcf ;};};return _cebe ,nil ;};if _afgd ._def ==nil {_afgd ._def =NewGenericRegion (_afgd ._gbcf );};_afgd ._def .setParameters (true ,_afgd ._gbcf .StreamPosition (),_efdg ,_ecf ,_cgdb );_ebdf ,_bfad :=_afgd ._def .GetRegionBitmap ();if _bfad !=nil {return nil ,_bfad ;};return _ebdf ,nil ;};func (_gedbb *Header )readDataStartOffset (_gagc _e .StreamReader ,_dafa OrganizationType ){if _dafa ==OSequential {_gedbb .SegmentDataStartOffset =uint64 (_gagc .StreamPosition ());};};func (_eedg *Header )subInputReader ()(_e .StreamReader ,error ){return _e .NewSubstreamReader (_eedg .Reader ,_eedg .SegmentDataStartOffset ,_eedg .SegmentDataLength );};func (_bdffb *PageInformationSegment )readIsLossless ()error {_cfbdd ,_beec :=_bdffb ._ceaa .ReadBit ();if _beec !=nil {return _beec ;};if _cfbdd ==1{_bdffb .IsLossless =true ;};return nil ;};func (_fgad *Header )readHeaderLength (_efda _e .StreamReader ,_cfaa int64 ){_fgad .HeaderLength =_efda .StreamPosition ()-_cfaa ;};func (_bacf *GenericRegion )updateOverrideFlags ()error {const _agfgf ="\u0075\u0070\u0064\u0061te\u004f\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _bacf .GBAtX ==nil ||_bacf .GBAtY ==nil {return nil ;};if len (_bacf .GBAtX )!=len (_bacf .GBAtY ){return _ge .Errorf (_agfgf ,"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 (_bacf .GBAtX ),len (_bacf .GBAtY ));};_bacf .GBAtOverride =make ([]bool ,len (_bacf .GBAtX ));switch _bacf .GBTemplate {case 0:if !_bacf .UseExtTemplates {if _bacf .GBAtX [0]!=3||_bacf .GBAtY [0]!=-1{_bacf .setOverrideFlag (0);};if _bacf .GBAtX [1]!=-3||_bacf .GBAtY [1]!=-1{_bacf .setOverrideFlag (1);};if _bacf .GBAtX [2]!=2||_bacf .GBAtY [2]!=-2{_bacf .setOverrideFlag (2);};if _bacf .GBAtX [3]!=-2||_bacf .GBAtY [3]!=-2{_bacf .setOverrideFlag (3);};}else {if _bacf .GBAtX [0]!=-2||_bacf .GBAtY [0]!=0{_bacf .setOverrideFlag (0);};if _bacf .GBAtX [1]!=0||_bacf .GBAtY [1]!=-2{_bacf .setOverrideFlag (1);};if _bacf .GBAtX [2]!=-2||_bacf .GBAtY [2]!=-1{_bacf .setOverrideFlag (2);};if _bacf .GBAtX [3]!=-1||_bacf .GBAtY [3]!=-2{_bacf .setOverrideFlag (3);};if _bacf .GBAtX [4]!=1||_bacf .GBAtY [4]!=-2{_bacf .setOverrideFlag (4);};if _bacf .GBAtX [5]!=2||_bacf .GBAtY [5]!=-1{_bacf .setOverrideFlag (5);};if _bacf .GBAtX [6]!=-3||_bacf .GBAtY [6]!=0{_bacf .setOverrideFlag (6);};if _bacf .GBAtX [7]!=-4||_bacf .GBAtY [7]!=0{_bacf .setOverrideFlag (7);};if _bacf .GBAtX [8]!=2||_bacf .GBAtY [8]!=-2{_bacf .setOverrideFlag (8);};if _bacf .GBAtX [9]!=3||_bacf .GBAtY [9]!=-1{_bacf .setOverrideFlag (9);};if _bacf .GBAtX [10]!=-2||_bacf .GBAtY [10]!=-2{_bacf .setOverrideFlag (10);};if _bacf .GBAtX [11]!=-3||_bacf .GBAtY [11]!=-1{_bacf .setOverrideFlag (11);};};case 1:if _bacf .GBAtX [0]!=3||_bacf .GBAtY [0]!=-1{_bacf .setOverrideFlag (0);};case 2:if _bacf .GBAtX [0]!=2||_bacf .GBAtY [0]!=-1{_bacf .setOverrideFlag (0);};case 3:if _bacf .GBAtX [0]!=2||_bacf .GBAtY [0]!=-1{_bacf .setOverrideFlag (0);};};return nil ;};func (_bcf *GenericRegion )InitEncode (bm *_g .Bitmap ,xLoc ,yLoc ,template int ,duplicateLineRemoval bool )error {const _adc ="\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 _ge .Error (_adc ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};if xLoc < 0||yLoc < 0{return _ge .Error (_adc ,"\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");};_bcf .Bitmap =bm ;_bcf .GBTemplate =byte (template );switch _bcf .GBTemplate {case 0:_bcf .GBAtX =[]int8 {3,-3,2,-2};_bcf .GBAtY =[]int8 {-1,-1,-2,-2};case 1:_bcf .GBAtX =[]int8 {3};_bcf .GBAtY =[]int8 {-1};case 2,3:_bcf .GBAtX =[]int8 {2};_bcf .GBAtY =[]int8 {-1};default:return _ge .Errorf (_adc ,"\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 );};_bcf .RegionSegment =&RegionSegment {BitmapHeight :uint32 (bm .Height ),BitmapWidth :uint32 (bm .Width ),XLocation :uint32 (xLoc ),YLocation :uint32 (yLoc )};_bcf .IsTPGDon =duplicateLineRemoval ;return nil ;};func (_dfd *PageInformationSegment )Size ()int {return 19};func (_afc *GenericRegion )decodeTemplate1 (_edd ,_ggff ,_gbc int ,_eea ,_afce int )(_efg error ){const _ded ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0031";var (_geab ,_bdgb int ;_afe ,_dcd int ;_bba byte ;_gcg ,_cadb int ;);if _edd >=1{_bba ,_efg =_afc .Bitmap .GetByte (_afce );if _efg !=nil {return _ge .Wrap (_efg ,_ded ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_afe =int (_bba );};if _edd >=2{_bba ,_efg =_afc .Bitmap .GetByte (_afce -_afc .Bitmap .RowStride );if _efg !=nil {return _ge .Wrap (_efg ,_ded ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_dcd =int (_bba )<<5;};_geab =((_afe >>1)&0x1f8)|((_dcd >>1)&0x1e00);for _ecdd :=0;_ecdd < _gbc ;_ecdd =_gcg {var (_cca byte ;_bfba int ;);_gcg =_ecdd +8;if _bbg :=_ggff -_ecdd ;_bbg > 8{_bfba =8;}else {_bfba =_bbg ;};if _edd > 0{_afe <<=8;if _gcg < _ggff {_bba ,_efg =_afc .Bitmap .GetByte (_afce +1);if _efg !=nil {return _ge .Wrap (_efg ,_ded ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_afe |=int (_bba );};};if _edd > 1{_dcd <<=8;if _gcg < _ggff {_bba ,_efg =_afc .Bitmap .GetByte (_afce -_afc .Bitmap .RowStride +1);if _efg !=nil {return _ge .Wrap (_efg ,_ded ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_dcd |=int (_bba )<<5;};};for _fdbg :=0;_fdbg < _bfba ;_fdbg ++{if _afc ._bbe {_bdgb =_afc .overrideAtTemplate1 (_geab ,_ecdd +_fdbg ,_edd ,int (_cca ),_fdbg );_afc ._decfe .SetIndex (int32 (_bdgb ));}else {_afc ._decfe .SetIndex (int32 (_geab ));};_cadb ,_efg =_afc ._cefd .DecodeBit (_afc ._decfe );if _efg !=nil {return _ge .Wrap (_efg ,_ded ,"");};_cca |=byte (_cadb )<<uint (7-_fdbg );_befa :=uint (8-_fdbg );_geab =((_geab &0xefb)<<1)|_cadb |((_afe >>_befa )&0x8)|((_dcd >>_befa )&0x200);};if _egfa :=_afc .Bitmap .SetByte (_eea ,_cca );_egfa !=nil {return _ge .Wrap (_egfa ,_ded ,"");};_eea ++;_afce ++;};return nil ;};func (_edff *SymbolDictionary )readNumberOfNewSymbols ()error {_ddee ,_bbfbe :=_edff ._gbcf .ReadBits (32);if _bbfbe !=nil {return _bbfbe ;};_edff .NumberOfNewSymbols =uint32 (_ddee &_bg .MaxUint32 );return nil ;};func (_fcgg *PatternDictionary )readPatternWidthAndHeight ()error {_fbdaf ,_ccce :=_fcgg ._fdbb .ReadByte ();if _ccce !=nil {return _ccce ;};_fcgg .HdpWidth =_fbdaf ;_fbdaf ,_ccce =_fcgg ._fdbb .ReadByte ();if _ccce !=nil {return _ccce ;};_fcgg .HdpHeight =_fbdaf ;return nil ;};type TableSegment struct{_cccbg _e .StreamReader ;_eaebb int32 ;_cbcf int32 ;_eeece int32 ;_aaae int32 ;_abfab int32 ;};func (_bcag *TextRegion )decodeSymInRefSize ()(int64 ,error ){const _egda ="\u0064e\u0063o\u0064\u0065\u0053\u0079\u006dI\u006e\u0052e\u0066\u0053\u0069\u007a\u0065";if _bcag .SbHuffRSize ==0{_gcdg ,_aggb :=_gd .GetStandardTable (1);if _aggb !=nil {return 0,_ge .Wrap (_aggb ,_egda ,"");};return _gcdg .Decode (_bcag ._bege );};if _bcag ._baee ==nil {var (_ddafa int ;_fefd error ;);if _bcag .SbHuffFS ==3{_ddafa ++;};if _bcag .SbHuffDS ==3{_ddafa ++;};if _bcag .SbHuffDT ==3{_ddafa ++;};if _bcag .SbHuffRDWidth ==3{_ddafa ++;};if _bcag .SbHuffRDHeight ==3{_ddafa ++;};if _bcag .SbHuffRDX ==3{_ddafa ++;};if _bcag .SbHuffRDY ==3{_ddafa ++;};_bcag ._baee ,_fefd =_bcag .getUserTable (_ddafa );if _fefd !=nil {return 0,_ge .Wrap (_fefd ,_egda ,"");};};_ccbae ,_feag :=_bcag ._baee .Decode (_bcag ._bege );if _feag !=nil {return 0,_ge .Wrap (_feag ,_egda ,"");};return _ccbae ,nil ;};func (_gdaf *Header )parse (_gdcc Documenter ,_bbea _e .StreamReader ,_dbf int64 ,_fdga OrganizationType )(_ddga error ){const _ddgab ="\u0070\u0061\u0072s\u0065";_ff .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 _ddga !=nil {_ff .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",_ddga );}else {_ff .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");};}();_ ,_ddga =_bbea .Seek (_dbf ,_d .SeekStart );if _ddga !=nil {return _ge .Wrap (_ddga ,_ddgab ,"\u0073\u0065\u0065\u006b\u0020\u0073\u0074\u0061\u0072\u0074");};if _ddga =_gdaf .readSegmentNumber (_bbea );_ddga !=nil {return _ge .Wrap (_ddga ,_ddgab ,"");};if _ddga =_gdaf .readHeaderFlags ();_ddga !=nil {return _ge .Wrap (_ddga ,_ddgab ,"");};var _ccac uint64 ;_ccac ,_ddga =_gdaf .readNumberOfReferredToSegments (_bbea );if _ddga !=nil {return _ge .Wrap (_ddga ,_ddgab ,"");};_gdaf .RTSNumbers ,_ddga =_gdaf .readReferredToSegmentNumbers (_bbea ,int (_ccac ));if _ddga !=nil {return _ge .Wrap (_ddga ,_ddgab ,"");};_ddga =_gdaf .readSegmentPageAssociation (_gdcc ,_bbea ,_ccac ,_gdaf .RTSNumbers ...);if _ddga !=nil {return _ge .Wrap (_ddga ,_ddgab ,"");};if _gdaf .Type !=TEndOfFile {if _ddga =_gdaf .readSegmentDataLength (_bbea );_ddga !=nil {return _ge .Wrap (_ddga ,_ddgab ,"");};};_gdaf .readDataStartOffset (_bbea ,_fdga );_gdaf .readHeaderLength (_bbea ,_dbf );_ff .Log .Trace ("\u0025\u0073",_gdaf );return nil ;};func (_bfbd *GenericRefinementRegion )getPixel (_bfd *_g .Bitmap ,_gfbf ,_fdca int )int {if _gfbf < 0||_gfbf >=_bfd .Width {return 0;};if _fdca < 0||_fdca >=_bfd .Height {return 0;};if _bfd .GetPixel (_gfbf ,_fdca ){return 1;};return 0;};func (_dgb *GenericRefinementRegion )decodeTypicalPredictedLine (_eda ,_bc ,_bcg ,_bcb ,_ce ,_cgb int )error {_ad :=_eda -int (_dgb .ReferenceDY );_ae :=_dgb .ReferenceBitmap .GetByteIndex (0,_ad );_dba :=_dgb .RegionBitmap .GetByteIndex (0,_eda );var _bab error ;switch _dgb .TemplateID {case 0:_bab =_dgb .decodeTypicalPredictedLineTemplate0 (_eda ,_bc ,_bcg ,_bcb ,_ce ,_cgb ,_dba ,_ad ,_ae );case 1:_bab =_dgb .decodeTypicalPredictedLineTemplate1 (_eda ,_bc ,_bcg ,_bcb ,_ce ,_cgb ,_dba ,_ad ,_ae );};return _bab ;};func (_cacfc *TextRegion )readRegionFlags ()error {var (_eegeg int ;_gfbad uint64 ;_defeb error ;);_eegeg ,_defeb =_cacfc ._bege .ReadBit ();if _defeb !=nil {return _defeb ;};_cacfc .SbrTemplate =int8 (_eegeg );_gfbad ,_defeb =_cacfc ._bege .ReadBits (5);if _defeb !=nil {return _defeb ;};_cacfc .SbDsOffset =int8 (_gfbad );if _cacfc .SbDsOffset > 0x0f{_cacfc .SbDsOffset -=0x20;};_eegeg ,_defeb =_cacfc ._bege .ReadBit ();if _defeb !=nil {return _defeb ;};_cacfc .DefaultPixel =int8 (_eegeg );_gfbad ,_defeb =_cacfc ._bege .ReadBits (2);if _defeb !=nil {return _defeb ;};_cacfc .CombinationOperator =_g .CombinationOperator (int (_gfbad )&0x3);_eegeg ,_defeb =_cacfc ._bege .ReadBit ();if _defeb !=nil {return _defeb ;};_cacfc .IsTransposed =int8 (_eegeg );_gfbad ,_defeb =_cacfc ._bege .ReadBits (2);if _defeb !=nil {return _defeb ;};_cacfc .ReferenceCorner =int16 (_gfbad )&0x3;_gfbad ,_defeb =_cacfc ._bege .ReadBits (2);if _defeb !=nil {return _defeb ;};_cacfc .LogSBStrips =int16 (_gfbad )&0x3;_cacfc .SbStrips =1<<uint (_cacfc .LogSBStrips );_eegeg ,_defeb =_cacfc ._bege .ReadBit ();if _defeb !=nil {return _defeb ;};if _eegeg ==1{_cacfc .UseRefinement =true ;};_eegeg ,_defeb =_cacfc ._bege .ReadBit ();if _defeb !=nil {return _defeb ;};if _eegeg ==1{_cacfc .IsHuffmanEncoded =true ;};return nil ;};func (_eeb *SymbolDictionary )readNumberOfExportedSymbols ()error {_acda ,_cceg :=_eeb ._gbcf .ReadBits (32);if _cceg !=nil {return _cceg ;};_eeb .NumberOfExportedSymbols =uint32 (_acda &_bg .MaxUint32 );return nil ;};func (_dbd *HalftoneRegion )parseHeader ()error {if _gffa :=_dbd .RegionSegment .parseHeader ();_gffa !=nil {return _gffa ;};_fed ,_cge :=_dbd ._fga .ReadBit ();if _cge !=nil {return _cge ;};_dbd .HDefaultPixel =int8 (_fed );_fce ,_cge :=_dbd ._fga .ReadBits (3);if _cge !=nil {return _cge ;};_dbd .CombinationOperator =_g .CombinationOperator (_fce &0xf);_fed ,_cge =_dbd ._fga .ReadBit ();if _cge !=nil {return _cge ;};if _fed ==1{_dbd .HSkipEnabled =true ;};_fce ,_cge =_dbd ._fga .ReadBits (2);if _cge !=nil {return _cge ;};_dbd .HTemplate =byte (_fce &0xf);_fed ,_cge =_dbd ._fga .ReadBit ();if _cge !=nil {return _cge ;};if _fed ==1{_dbd .IsMMREncoded =true ;};_fce ,_cge =_dbd ._fga .ReadBits (32);if _cge !=nil {return _cge ;};_dbd .HGridWidth =uint32 (_fce &_bg .MaxUint32 );_fce ,_cge =_dbd ._fga .ReadBits (32);if _cge !=nil {return _cge ;};_dbd .HGridHeight =uint32 (_fce &_bg .MaxUint32 );_fce ,_cge =_dbd ._fga .ReadBits (32);if _cge !=nil {return _cge ;};_dbd .HGridX =int32 (_fce &_bg .MaxInt32 );_fce ,_cge =_dbd ._fga .ReadBits (32);if _cge !=nil {return _cge ;};_dbd .HGridY =int32 (_fce &_bg .MaxInt32 );_fce ,_cge =_dbd ._fga .ReadBits (16);if _cge !=nil {return _cge ;};_dbd .HRegionX =uint16 (_fce &_bg .MaxUint16 );_fce ,_cge =_dbd ._fga .ReadBits (16);if _cge !=nil {return _cge ;};_dbd .HRegionY =uint16 (_fce &_bg .MaxUint16 );if _cge =_dbd .computeSegmentDataStructure ();_cge !=nil {return _cge ;};return _dbd .checkInput ();};var (_ Regioner =&TextRegion {};_ Segmenter =&TextRegion {};);func (_fcfg *TextRegion )InitEncode (globalSymbolsMap ,localSymbolsMap map[int ]int ,comps []int ,inLL *_g .Points ,symbols *_g .Bitmaps ,classIDs *_fa .IntSlice ,boxes *_g .Boxes ,width ,height ,symBits int ){_fcfg .RegionInfo =&RegionSegment {BitmapWidth :uint32 (width ),BitmapHeight :uint32 (height )};_fcfg ._deff =globalSymbolsMap ;_fcfg ._eecd =localSymbolsMap ;_fcfg ._bfde =comps ;_fcfg ._gbdg =inLL ;_fcfg ._gfba =symbols ;_fcfg ._aeeg =classIDs ;_fcfg ._cccbe =boxes ;_fcfg ._deffe =symBits ;};func (_cd *GenericRefinementRegion )decodeOptimized (_bdc ,_bdg ,_dbc ,_fda ,_bgb ,_cfc ,_egc int )error {var (_ggg error ;_ab int ;_ea int ;);_fc :=_bdc -int (_cd .ReferenceDY );if _fca :=int (-_cd .ReferenceDX );_fca > 0{_ab =_fca ;};_bbd :=_cd .ReferenceBitmap .GetByteIndex (_ab ,_fc );if _cd .ReferenceDX > 0{_ea =int (_cd .ReferenceDX );};_baa :=_cd .RegionBitmap .GetByteIndex (_ea ,_bdc );switch _cd .TemplateID {case 0:_ggg =_cd .decodeTemplate (_bdc ,_bdg ,_dbc ,_fda ,_bgb ,_cfc ,_egc ,_baa ,_fc ,_bbd ,_cd ._gcd );case 1:_ggg =_cd .decodeTemplate (_bdc ,_bdg ,_dbc ,_fda ,_bgb ,_cfc ,_egc ,_baa ,_fc ,_bbd ,_cd ._gee );};return _ggg ;};func (_bdbge *TableSegment )HtHigh ()int32 {return _bdbge ._abfab };func (_ceb *HalftoneRegion )GetRegionInfo ()*RegionSegment {return _ceb .RegionSegment };func (_gddc *GenericRegion )String ()string {_gaf :=&_bb .Builder {};_gaf .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_gaf .WriteString (_gddc .RegionSegment .String ()+"\u000a");_gaf .WriteString (_c .Sprintf ("\u0009\u002d\u0020Us\u0065\u0045\u0078\u0074\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_gddc .UseExtTemplates ));_gaf .WriteString (_c .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0044\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_gddc .IsTPGDon ));_gaf .WriteString (_c .Sprintf ("\u0009-\u0020G\u0042\u0054\u0065\u006d\u0070l\u0061\u0074e\u003a\u0020\u0025\u0064\u000a",_gddc .GBTemplate ));_gaf .WriteString (_c .Sprintf ("\t\u002d \u0049\u0073\u004d\u004d\u0052\u0045\u006e\u0063o\u0064\u0065\u0064\u003a %\u0076\u000a",_gddc .IsMMREncoded ));_gaf .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_gddc .GBAtX ));_gaf .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_gddc .GBAtY ));_gaf .WriteString (_c .Sprintf ("\t\u002d \u0047\u0042\u0041\u0074\u004f\u0076\u0065\u0072r\u0069\u0064\u0065\u003a %\u0076\u000a",_gddc .GBAtOverride ));return _gaf .String ();};func (_aae *GenericRegion )overrideAtTemplate3 (_eggg ,_gbgb ,_adg ,_aef ,_bbgf int )int {_eggg &=0x3EF;if _aae .GBAtY [0]==0&&_aae .GBAtX [0]>=-int8 (_bbgf ){_eggg |=(_aef >>uint (7-(int8 (_bbgf )+_aae .GBAtX [0]))&0x1)<<4;}else {_eggg |=int (_aae .getPixel (_gbgb +int (_aae .GBAtX [0]),_adg +int (_aae .GBAtY [0])))<<4;};return _eggg ;};func (_fec Type )String ()string {switch _fec {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 (_bbf *template0 )form (_eca ,_dde ,_afd ,_cdf ,_bgda int16 )int16 {return (_eca <<10)|(_dde <<7)|(_afd <<4)|(_cdf <<1)|_bgda ;};func (_affe *TextRegion )symbolIDCodeLengths ()error {var (_baag []*_gd .Code ;_gggea uint64 ;_efcdg _gd .Tabler ;_cefe error ;);for _cedgf :=0;_cedgf < 35;_cedgf ++{_gggea ,_cefe =_affe ._bege .ReadBits (4);if _cefe !=nil {return _cefe ;};_bebec :=int (_gggea &0xf);if _bebec > 0{_baag =append (_baag ,_gd .NewCode (int32 (_bebec ),0,int32 (_cedgf ),false ));};};_efcdg ,_cefe =_gd .NewFixedSizeTable (_baag );if _cefe !=nil {return _cefe ;};var (_bbcf int64 ;_cbab uint32 ;_egfad []*_gd .Code ;_cecfd int64 ;);for _cbab < _affe .NumberOfSymbols {_cecfd ,_cefe =_efcdg .Decode (_affe ._bege );if _cefe !=nil {return _cefe ;};if _cecfd < 32{if _cecfd > 0{_egfad =append (_egfad ,_gd .NewCode (int32 (_cecfd ),0,int32 (_cbab ),false ));};_bbcf =_cecfd ;_cbab ++;}else {var _bccf ,_bffa int64 ;switch _cecfd {case 32:_gggea ,_cefe =_affe ._bege .ReadBits (2);if _cefe !=nil {return _cefe ;};_bccf =3+int64 (_gggea );if _cbab > 0{_bffa =_bbcf ;};case 33:_gggea ,_cefe =_affe ._bege .ReadBits (3);if _cefe !=nil {return _cefe ;};_bccf =3+int64 (_gggea );case 34:_gggea ,_cefe =_affe ._bege .ReadBits (7);if _cefe !=nil {return _cefe ;};_bccf =11+int64 (_gggea );};for _geba :=0;_geba < int (_bccf );_geba ++{if _bffa > 0{_egfad =append (_egfad ,_gd .NewCode (int32 (_bffa ),0,int32 (_cbab ),false ));};_cbab ++;};};};_affe ._bege .Align ();_affe ._cafa ,_cefe =_gd .NewFixedSizeTable (_egfad );return _cefe ;};func (_bfed *SymbolDictionary )retrieveImportSymbols ()error {for _ ,_fgce :=range _bfed .Header .RTSegments {if _fgce .Type ==0{_cebf ,_efdae :=_fgce .GetSegmentData ();if _efdae !=nil {return _efdae ;};_ggdf ,_feggb :=_cebf .(*SymbolDictionary );if !_feggb {return _c .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",_cebf );};_fdgc ,_efdae :=_ggdf .GetDictionary ();if _efdae !=nil {return _c .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",_fgce .SegmentNumber ,_efdae .Error ());};_bfed ._bcfg =append (_bfed ._bcfg ,_fdgc ...);_bfed ._cggf +=_ggdf .NumberOfExportedSymbols ;};};return nil ;};func _cbbg (_cfbc _e .StreamReader ,_ggddc *Header )*TextRegion {_ccabc :=&TextRegion {_bege :_cfbc ,Header :_ggddc ,RegionInfo :NewRegionSegment (_cfbc )};return _ccabc ;};func (_ffgd *GenericRegion )overrideAtTemplate1 (_ceg ,_cagg ,_fge ,_aeac ,_ffcf int )int {_ceg &=0x1FF7;if _ffgd .GBAtY [0]==0&&_ffgd .GBAtX [0]>=-int8 (_ffcf ){_ceg |=(_aeac >>uint (7-(int8 (_ffcf )+_ffgd .GBAtX [0]))&0x1)<<3;}else {_ceg |=int (_ffgd .getPixel (_cagg +int (_ffgd .GBAtX [0]),_fge +int (_ffgd .GBAtY [0])))<<3;};return _ceg ;};func (_gbeb *SymbolDictionary )setAtPixels ()error {if _gbeb .IsHuffmanEncoded {return nil ;};_dfdb :=1;if _gbeb .SdTemplate ==0{_dfdb =4;};if _dcgab :=_gbeb .readAtPixels (_dfdb );_dcgab !=nil {return _dcgab ;};return nil ;};func (_gdb *GenericRegion )decodeLine (_gae ,_baaa ,_daa int )error {const _ffc ="\u0064\u0065\u0063\u006f\u0064\u0065\u004c\u0069\u006e\u0065";_ggcg :=_gdb .Bitmap .GetByteIndex (0,_gae );_gca :=_ggcg -_gdb .Bitmap .RowStride ;switch _gdb .GBTemplate {case 0:if !_gdb .UseExtTemplates {return _gdb .decodeTemplate0a (_gae ,_baaa ,_daa ,_ggcg ,_gca );};return _gdb .decodeTemplate0b (_gae ,_baaa ,_daa ,_ggcg ,_gca );case 1:return _gdb .decodeTemplate1 (_gae ,_baaa ,_daa ,_ggcg ,_gca );case 2:return _gdb .decodeTemplate2 (_gae ,_baaa ,_daa ,_ggcg ,_gca );case 3:return _gdb .decodeTemplate3 (_gae ,_baaa ,_daa ,_ggcg ,_gca );};return _ge .Errorf (_ffc ,"\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",_gdb .GBTemplate );};func (_bfgb *TextRegion )setContexts (_ggda *_eg .DecoderStats ,_ecag *_eg .DecoderStats ,_fcgc *_eg .DecoderStats ,_aaee *_eg .DecoderStats ,_dcge *_eg .DecoderStats ,_gdgf *_eg .DecoderStats ,_edbe *_eg .DecoderStats ,_bdcc *_eg .DecoderStats ,_ceca *_eg .DecoderStats ,_fcbf *_eg .DecoderStats ){_bfgb ._bfgcd =_ecag ;_bfgb ._cecg =_fcgc ;_bfgb ._egde =_aaee ;_bfgb ._dgga =_dcge ;_bfgb ._bccd =_edbe ;_bfgb ._dcdbb =_bdcc ;_bfgb ._dggb =_gdgf ;_bfgb ._cfbb =_ceca ;_bfgb ._fabf =_fcbf ;_bfgb ._gedcg =_ggda ;};func (_efac *SymbolDictionary )checkInput ()error {if _efac .SdHuffDecodeHeightSelection ==2{_ff .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",_efac .SdHuffDecodeHeightSelection );};if _efac .SdHuffDecodeWidthSelection ==2{_ff .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",_efac .SdHuffDecodeWidthSelection );};if _efac .IsHuffmanEncoded {if _efac .SdTemplate !=0{_ff .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",_efac .SdTemplate );};if !_efac .UseRefinementAggregation {if !_efac .UseRefinementAggregation {if _efac ._dfad {_ff .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");_efac ._dfad =false ;};if _efac ._eaeb {_ff .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");_efac ._eaeb =false ;};};};}else {if _efac .SdHuffBMSizeSelection !=0{_ff .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");_efac .SdHuffBMSizeSelection =0;};if _efac .SdHuffDecodeWidthSelection !=0{_ff .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");_efac .SdHuffDecodeWidthSelection =0;};if _efac .SdHuffDecodeHeightSelection !=0{_ff .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");_efac .SdHuffDecodeHeightSelection =0;};};if !_efac .UseRefinementAggregation {if _efac .SdrTemplate !=0{_ff .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",_efac .SdrTemplate );_efac .SdrTemplate =0;};};if !_efac .IsHuffmanEncoded ||!_efac .UseRefinementAggregation {if _efac .SdHuffAggInstanceSelection {_ff .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",_efac .SdHuffAggInstanceSelection );};};return nil ;};func (_cab *GenericRefinementRegion )parseHeader ()(_ddd error ){_ff .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");_abgf :=_f .Now ();defer func (){if _ddd ==nil {_ff .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",_f .Since (_abgf ).Nanoseconds ());}else {_ff .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",_ddd );};}();if _ddd =_cab .RegionInfo .parseHeader ();_ddd !=nil {return _ddd ;};_ ,_ddd =_cab ._gcdc .ReadBits (6);if _ddd !=nil {return _ddd ;};_cab .IsTPGROn ,_ddd =_cab ._gcdc .ReadBool ();if _ddd !=nil {return _ddd ;};var _afb int ;_afb ,_ddd =_cab ._gcdc .ReadBit ();if _ddd !=nil {return _ddd ;};_cab .TemplateID =int8 (_afb );switch _cab .TemplateID {case 0:_cab .Template =_cab ._gcd ;if _ddd =_cab .readAtPixels ();_ddd !=nil {return ;};case 1:_cab .Template =_cab ._gee ;};return nil ;};func (_ggbe *SymbolDictionary )huffDecodeRefAggNInst ()(int64 ,error ){if !_ggbe .SdHuffAggInstanceSelection {_ddeb ,_ccfb :=_gd .GetStandardTable (1);if _ccfb !=nil {return 0,_ccfb ;};return _ddeb .Decode (_ggbe ._gbcf );};if _ggbe ._fecb ==nil {var (_agfc int ;_ddge error ;);if _ggbe .SdHuffDecodeHeightSelection ==3{_agfc ++;};if _ggbe .SdHuffDecodeWidthSelection ==3{_agfc ++;};if _ggbe .SdHuffBMSizeSelection ==3{_agfc ++;};_ggbe ._fecb ,_ddge =_ggbe .getUserTable (_agfc );if _ddge !=nil {return 0,_ddge ;};};return _ggbe ._fecb .Decode (_ggbe ._gbcf );};func (_feeg *TextRegion )readHuffmanFlags ()error {var (_agdbb int ;_cdgag uint64 ;_fdbea error ;);_ ,_fdbea =_feeg ._bege .ReadBit ();if _fdbea !=nil {return _fdbea ;};_agdbb ,_fdbea =_feeg ._bege .ReadBit ();if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffRSize =int8 (_agdbb );_cdgag ,_fdbea =_feeg ._bege .ReadBits (2);if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffRDY =int8 (_cdgag )&0xf;_cdgag ,_fdbea =_feeg ._bege .ReadBits (2);if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffRDX =int8 (_cdgag )&0xf;_cdgag ,_fdbea =_feeg ._bege .ReadBits (2);if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffRDHeight =int8 (_cdgag )&0xf;_cdgag ,_fdbea =_feeg ._bege .ReadBits (2);if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffRDWidth =int8 (_cdgag )&0xf;_cdgag ,_fdbea =_feeg ._bege .ReadBits (2);if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffDT =int8 (_cdgag )&0xf;_cdgag ,_fdbea =_feeg ._bege .ReadBits (2);if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffDS =int8 (_cdgag )&0xf;_cdgag ,_fdbea =_feeg ._bege .ReadBits (2);if _fdbea !=nil {return _fdbea ;};_feeg .SbHuffFS =int8 (_cdgag )&0xf;return nil ;};func (_cabfa *PageInformationSegment )DefaultPixelValue ()uint8 {return _cabfa ._cgad };type GenericRefinementRegion struct{_gcd templater ;_gee templater ;_gcdc _e .StreamReader ;_ag *Header ;RegionInfo *RegionSegment ;IsTPGROn bool ;TemplateID int8 ;Template templater ;GrAtX []int8 ;GrAtY []int8 ;RegionBitmap *_g .Bitmap ;ReferenceBitmap *_g .Bitmap ;ReferenceDX int32 ;ReferenceDY int32 ;_edc *_eg .Decoder ;_de *_eg .DecoderStats ;_fdb bool ;_ecb []bool ;};func (_efdc *SymbolDictionary )readAtPixels (_bdfg int )error {_efdc .SdATX =make ([]int8 ,_bdfg );_efdc .SdATY =make ([]int8 ,_bdfg );var (_dcgd byte ;_gadae error ;);for _ddcf :=0;_ddcf < _bdfg ;_ddcf ++{_dcgd ,_gadae =_efdc ._gbcf .ReadByte ();if _gadae !=nil {return _gadae ;};_efdc .SdATX [_ddcf ]=int8 (_dcgd );_dcgd ,_gadae =_efdc ._gbcf .ReadByte ();if _gadae !=nil {return _gadae ;};_efdc .SdATY [_ddcf ]=int8 (_dcgd );};return nil ;};func (_addg *PatternDictionary )checkInput ()error {if _addg .HdpHeight < 1||_addg .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 _addg .IsMMREncoded {if _addg .HDTemplate !=0{_ff .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 (_efdaee *TextRegion )decodeRdx ()(int64 ,error ){const _cgedf ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064x";if _efdaee .IsHuffmanEncoded {if _efdaee .SbHuffRDX ==3{if _efdaee ._cfcb ==nil {var (_cbag int ;_gbedd error ;);if _efdaee .SbHuffFS ==3{_cbag ++;};if _efdaee .SbHuffDS ==3{_cbag ++;};if _efdaee .SbHuffDT ==3{_cbag ++;};if _efdaee .SbHuffRDWidth ==3{_cbag ++;};if _efdaee .SbHuffRDHeight ==3{_cbag ++;};_efdaee ._cfcb ,_gbedd =_efdaee .getUserTable (_cbag );if _gbedd !=nil {return 0,_ge .Wrap (_gbedd ,_cgedf ,"");};};return _efdaee ._cfcb .Decode (_efdaee ._bege );};_cbac ,_dbdb :=_gd .GetStandardTable (14+int (_efdaee .SbHuffRDX ));if _dbdb !=nil {return 0,_ge .Wrap (_dbdb ,_cgedf ,"");};return _cbac .Decode (_efdaee ._bege );};_aefbd ,_bffg :=_efdaee ._fdf .DecodeInt (_efdaee ._cfbb );if _bffg !=nil {return 0,_ge .Wrap (_bffg ,_cgedf ,"");};return int64 (_aefbd ),nil ;};func (_adagg *TableSegment )Init (h *Header ,r _e .StreamReader )error {_adagg ._cccbg =r ;return _adagg .parseHeader ();};type PageInformationSegment struct{_ceaa _e .StreamReader ;PageBMHeight int ;PageBMWidth int ;ResolutionX int ;ResolutionY int ;_gafg bool ;_caca _g .CombinationOperator ;_dcbb bool ;_cgad uint8 ;_ddbg bool ;IsLossless bool ;IsStripe bool ;MaxStripeSize uint16 ;};func (_aaf *GenericRegion )setParametersWithAt (_cgcc bool ,_gbf byte ,_eada ,_aag bool ,_aab ,_efd []int8 ,_ccba ,_ffe uint32 ,_ageg *_eg .DecoderStats ,_bbbd *_eg .Decoder ){_aaf .IsMMREncoded =_cgcc ;_aaf .GBTemplate =_gbf ;_aaf .IsTPGDon =_eada ;_aaf .GBAtX =_aab ;_aaf .GBAtY =_efd ;_aaf .RegionSegment .BitmapHeight =_ffe ;_aaf .RegionSegment .BitmapWidth =_ccba ;_aaf ._dggc =nil ;_aaf .Bitmap =nil ;if _ageg !=nil {_aaf ._decfe =_ageg ;};if _bbbd !=nil {_aaf ._cefd =_bbbd ;};_ff .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",_aaf );};type OrganizationType uint8 ;func (_bce *GenericRegion )overrideAtTemplate2 (_bcff ,_gcbb ,_fee ,_ged ,_gcf int )int {_bcff &=0x3FB;if _bce .GBAtY [0]==0&&_bce .GBAtX [0]>=-int8 (_gcf ){_bcff |=(_ged >>uint (7-(int8 (_gcf )+_bce .GBAtX [0]))&0x1)<<2;}else {_bcff |=int (_bce .getPixel (_gcbb +int (_bce .GBAtX [0]),_fee +int (_bce .GBAtY [0])))<<2;};return _bcff ;};type PatternDictionary struct{_fdbb _e .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;GBAtX []int8 ;GBAtY []int8 ;IsMMREncoded bool ;HDTemplate byte ;HdpWidth byte ;HdpHeight byte ;Patterns []*_g .Bitmap ;GrayMax uint32 ;};func (_bbb *GenericRefinementRegion )decodeSLTP ()(int ,error ){_bbb .Template .setIndex (_bbb ._de );return _bbb ._edc .DecodeBit (_bbb ._de );};func (_fdgf *TextRegion )blit (_bagf *_g .Bitmap ,_dbaa int64 )error {if _fdgf .IsTransposed ==0&&(_fdgf .ReferenceCorner ==2||_fdgf .ReferenceCorner ==3){_fdgf ._ddac +=int64 (_bagf .Width -1);}else if _fdgf .IsTransposed ==1&&(_fdgf .ReferenceCorner ==0||_fdgf .ReferenceCorner ==2){_fdgf ._ddac +=int64 (_bagf .Height -1);};_edbb :=_fdgf ._ddac ;if _fdgf .IsTransposed ==1{_edbb ,_dbaa =_dbaa ,_edbb ;};switch _fdgf .ReferenceCorner {case 0:_dbaa -=int64 (_bagf .Height -1);case 2:_dbaa -=int64 (_bagf .Height -1);_edbb -=int64 (_bagf .Width -1);case 3:_edbb -=int64 (_bagf .Width -1);};_cceae :=_g .Blit (_bagf ,_fdgf .RegionBitmap ,int (_edbb ),int (_dbaa ),_fdgf .CombinationOperator );if _cceae !=nil {return _cceae ;};if _fdgf .IsTransposed ==0&&(_fdgf .ReferenceCorner ==0||_fdgf .ReferenceCorner ==1){_fdgf ._ddac +=int64 (_bagf .Width -1);};if _fdgf .IsTransposed ==1&&(_fdgf .ReferenceCorner ==1||_fdgf .ReferenceCorner ==3){_fdgf ._ddac +=int64 (_bagf .Height -1);};return nil ;};func (_edge *SymbolDictionary )Encode (w _e .BinaryWriter )(_dbded int ,_bcdg error ){const _addb ="\u0053\u0079\u006dbo\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0045\u006e\u0063\u006f\u0064\u0065";if _edge ==nil {return 0,_ge .Error (_addb ,"\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 _dbded ,_bcdg =_edge .encodeFlags (w );_bcdg !=nil {return _dbded ,_ge .Wrap (_bcdg ,_addb ,"");};_cgcbe ,_bcdg :=_edge .encodeATFlags (w );if _bcdg !=nil {return _dbded ,_ge .Wrap (_bcdg ,_addb ,"");};_dbded +=_cgcbe ;if _cgcbe ,_bcdg =_edge .encodeRefinementATFlags (w );_bcdg !=nil {return _dbded ,_ge .Wrap (_bcdg ,_addb ,"");};_dbded +=_cgcbe ;if _cgcbe ,_bcdg =_edge .encodeNumSyms (w );_bcdg !=nil {return _dbded ,_ge .Wrap (_bcdg ,_addb ,"");};_dbded +=_cgcbe ;if _cgcbe ,_bcdg =_edge .encodeSymbols (w );_bcdg !=nil {return _dbded ,_ge .Wrap (_bcdg ,_addb ,"");};_dbded +=_cgcbe ;return _dbded ,nil ;};func (_edee *SymbolDictionary )decodeHeightClassDeltaHeight ()(int64 ,error ){if _edee .IsHuffmanEncoded {return _edee .decodeHeightClassDeltaHeightWithHuffman ();};_afbe ,_eaebf :=_edee ._cdd .DecodeInt (_edee ._cbfc );if _eaebf !=nil {return 0,_eaebf ;};return int64 (_afbe ),nil ;};func (_ggge *GenericRegion )decodeTemplate0a (_dfce ,_gadb ,_eed int ,_beee ,_ecd int )(_beg error ){const _gcdcb ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0061";var (_dadd ,_aed int ;_ceeg ,_fgbd int ;_efc byte ;_eeed int ;);if _dfce >=1{_efc ,_beg =_ggge .Bitmap .GetByte (_ecd );if _beg !=nil {return _ge .Wrap (_beg ,_gcdcb ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_ceeg =int (_efc );};if _dfce >=2{_efc ,_beg =_ggge .Bitmap .GetByte (_ecd -_ggge .Bitmap .RowStride );if _beg !=nil {return _ge .Wrap (_beg ,_gcdcb ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_fgbd =int (_efc )<<6;};_dadd =(_ceeg &0xf0)|(_fgbd &0x3800);for _ffdd :=0;_ffdd < _eed ;_ffdd =_eeed {var (_ddf byte ;_fbgg int ;);_eeed =_ffdd +8;if _bfgf :=_gadb -_ffdd ;_bfgf > 8{_fbgg =8;}else {_fbgg =_bfgf ;};if _dfce > 0{_ceeg <<=8;if _eeed < _gadb {_efc ,_beg =_ggge .Bitmap .GetByte (_ecd +1);if _beg !=nil {return _ge .Wrap (_beg ,_gcdcb ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_ceeg |=int (_efc );};};if _dfce > 1{_eaee :=_ecd -_ggge .Bitmap .RowStride +1;_fgbd <<=8;if _eeed < _gadb {_efc ,_beg =_ggge .Bitmap .GetByte (_eaee );if _beg !=nil {return _ge .Wrap (_beg ,_gcdcb ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_fgbd |=int (_efc )<<6;}else {_fgbd |=0;};};for _cagc :=0;_cagc < _fbgg ;_cagc ++{_egb :=uint (7-_cagc );if _ggge ._bbe {_aed =_ggge .overrideAtTemplate0a (_dadd ,_ffdd +_cagc ,_dfce ,int (_ddf ),_cagc ,int (_egb ));_ggge ._decfe .SetIndex (int32 (_aed ));}else {_ggge ._decfe .SetIndex (int32 (_dadd ));};var _bfa int ;_bfa ,_beg =_ggge ._cefd .DecodeBit (_ggge ._decfe );if _beg !=nil {return _ge .Wrap (_beg ,_gcdcb ,"");};_ddf |=byte (_bfa )<<_egb ;_dadd =((_dadd &0x7bf7)<<1)|_bfa |((_ceeg >>_egb )&0x10)|((_fgbd >>_egb )&0x800);};if _acf :=_ggge .Bitmap .SetByte (_beee ,_ddf );_acf !=nil {return _ge .Wrap (_acf ,_gcdcb ,"");};_beee ++;_ecd ++;};return nil ;};func (_fdbcg *TextRegion )createRegionBitmap ()error {_fdbcg .RegionBitmap =_g .New (int (_fdbcg .RegionInfo .BitmapWidth ),int (_fdbcg .RegionInfo .BitmapHeight ));if _fdbcg .DefaultPixel !=0{_fdbcg .RegionBitmap .SetDefaultPixel ();};return nil ;};var _ templater =&template0 {};func (_ebd *GenericRegion )GetRegionBitmap ()(_ccb *_g .Bitmap ,_bffc error ){if _ebd .Bitmap !=nil {return _ebd .Bitmap ,nil ;};if _ebd .IsMMREncoded {if _ebd ._dggc ==nil {_ebd ._dggc ,_bffc =_dg .New (_ebd ._gbg ,int (_ebd .RegionSegment .BitmapWidth ),int (_ebd .RegionSegment .BitmapHeight ),_ebd .DataOffset ,_ebd .DataLength );if _bffc !=nil {return nil ,_bffc ;};};_ebd .Bitmap ,_bffc =_ebd ._dggc .UncompressMMR ();return _ebd .Bitmap ,_bffc ;};if _bffc =_ebd .updateOverrideFlags ();_bffc !=nil {return nil ,_bffc ;};var _aad int ;if _ebd ._cefd ==nil {_ebd ._cefd ,_bffc =_eg .New (_ebd ._gbg );if _bffc !=nil {return nil ,_bffc ;};};if _ebd ._decfe ==nil {_ebd ._decfe =_eg .NewStats (65536,1);};_ebd .Bitmap =_g .New (int (_ebd .RegionSegment .BitmapWidth ),int (_ebd .RegionSegment .BitmapHeight ));_bffce :=int (uint32 (_ebd .Bitmap .Width +7)&(^uint32 (7)));for _ggfb :=0;_ggfb < _ebd .Bitmap .Height ;_ggfb ++{if _ebd .IsTPGDon {var _cbe int ;_cbe ,_bffc =_ebd .decodeSLTP ();if _bffc !=nil {return nil ,_bffc ;};_aad ^=_cbe ;};if _aad ==1{if _ggfb > 0{if _bffc =_ebd .copyLineAbove (_ggfb );_bffc !=nil {return nil ,_bffc ;};};}else {if _bffc =_ebd .decodeLine (_ggfb ,_ebd .Bitmap .Width ,_bffce );_bffc !=nil {return nil ,_bffc ;};};};return _ebd .Bitmap ,nil ;};func (_egef *HalftoneRegion )computeX (_cdff ,_dceg int )int {return _egef .shiftAndFill (int (_egef .HGridX )+_cdff *int (_egef .HRegionY )+_dceg *int (_egef .HRegionX ));};func (_efa *GenericRefinementRegion )readAtPixels ()error {_efa .GrAtX =make ([]int8 ,2);_efa .GrAtY =make ([]int8 ,2);_fef ,_decf :=_efa ._gcdc .ReadByte ();if _decf !=nil {return _decf ;};_efa .GrAtX [0]=int8 (_fef );_fef ,_decf =_efa ._gcdc .ReadByte ();if _decf !=nil {return _decf ;};_efa .GrAtY [0]=int8 (_fef );_fef ,_decf =_efa ._gcdc .ReadByte ();if _decf !=nil {return _decf ;};_efa .GrAtX [1]=int8 (_fef );_fef ,_decf =_efa ._gcdc .ReadByte ();if _decf !=nil {return _decf ;};_efa .GrAtY [1]=int8 (_fef );return nil ;};func (_bef *GenericRegion )copyLineAbove (_gecg int )error {_feac :=_gecg *_bef .Bitmap .RowStride ;_fbg :=_feac -_bef .Bitmap .RowStride ;for _bfgc :=0;_bfgc < _bef .Bitmap .RowStride ;_bfgc ++{_bbbf ,_bdce :=_bef .Bitmap .GetByte (_fbg );if _bdce !=nil {return _bdce ;};_fbg ++;if _bdce =_bef .Bitmap .SetByte (_feac ,_bbbf );_bdce !=nil {return _bdce ;};_feac ++;};return nil ;};func (_dage *SymbolDictionary )encodeRefinementATFlags (_afgc _e .BinaryWriter )(_daeg int ,_cgfa error ){const _deg ="\u0065\u006e\u0063od\u0065\u0052\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0041\u0054\u0046\u006c\u0061\u0067\u0073";if !_dage .UseRefinementAggregation ||_dage .SdrTemplate !=0{return 0,nil ;};for _cgag :=0;_cgag < 2;_cgag ++{if _cgfa =_afgc .WriteByte (byte (_dage .SdrATX [_cgag ]));_cgfa !=nil {return _daeg ,_ge .Wrapf (_cgfa ,_deg ,"\u0053\u0064\u0072\u0041\u0054\u0058\u005b\u0025\u0064\u005d",_cgag );};_daeg ++;if _cgfa =_afgc .WriteByte (byte (_dage .SdrATY [_cgag ]));_cgfa !=nil {return _daeg ,_ge .Wrapf (_cgfa ,_deg ,"\u0053\u0064\u0072\u0041\u0054\u0059\u005b\u0025\u0064\u005d",_cgag );};_daeg ++;};return _daeg ,nil ;};var _ SegmentEncoder =&GenericRegion {};func (_bffcb *TextRegion )getUserTable (_bcdb int )(_gd .Tabler ,error ){const _gbcfa ="\u0067\u0065\u0074U\u0073\u0065\u0072\u0054\u0061\u0062\u006c\u0065";var _dcfa int ;for _ ,_gfcg :=range _bffcb .Header .RTSegments {if _gfcg .Type ==53{if _dcfa ==_bcdb {_fgcb ,_ggaa :=_gfcg .GetSegmentData ();if _ggaa !=nil {return nil ,_ggaa ;};_fcdg ,_fcfed :=_fgcb .(*TableSegment );if !_fcfed {_ff .Log .Debug (_c .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",_gfcg .SegmentNumber ));return nil ,_ge .Error (_gbcfa ,"\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 _gd .NewEncodedTable (_fcdg );};_dcfa ++;};};return nil ,nil ;};func (_gbgg *PageInformationSegment )String ()string {_bdec :=&_bb .Builder {};_bdec .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");_bdec .WriteString (_c .Sprintf ("\u0009\u002d \u0042\u004d\u0048e\u0069\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u000a",_gbgg .PageBMHeight ));_bdec .WriteString (_c .Sprintf ("\u0009-\u0020B\u004d\u0057\u0069\u0064\u0074\u0068\u003a\u0020\u0025\u0064\u000a",_gbgg .PageBMWidth ));_bdec .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0058\u003a\u0020\u0025\u0064\u000a",_gbgg .ResolutionX ));_bdec .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0059\u003a\u0020\u0025\u0064\u000a",_gbgg .ResolutionY ));_bdec .WriteString (_c .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0073\u000a",_gbgg ._caca ));_bdec .WriteString (_c .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",_gbgg ._gafg ));_bdec .WriteString (_c .Sprintf ("\u0009-\u0020I\u0073\u004c\u006f\u0073\u0073l\u0065\u0073s\u003a\u0020\u0025\u0076\u000a",_gbgg .IsLossless ));_bdec .WriteString (_c .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",_gbgg ._dcbb ));_bdec .WriteString (_c .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",_gbgg ._ddbg ));_bdec .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0049\u0073\u0053\u0074\u0072\u0069\u0070\u0065\u0064:\u0020\u0025\u0076\u000a",_gbgg .IsStripe ));_bdec .WriteString (_c .Sprintf ("\t\u002d\u0020\u004d\u0061xS\u0074r\u0069\u0070\u0065\u0053\u0069z\u0065\u003a\u0020\u0025\u0076\u000a",_gbgg .MaxStripeSize ));return _bdec .String ();};func (_fdgg *PatternDictionary )computeSegmentDataStructure ()error {_fdgg .DataOffset =_fdgg ._fdbb .StreamPosition ();_fdgg .DataHeaderLength =_fdgg .DataOffset -_fdgg .DataHeaderOffset ;_fdgg .DataLength =int64 (_fdgg ._fdbb .Length ())-_fdgg .DataHeaderLength ;return nil ;};type TextRegion struct{_bege _e .StreamReader ;RegionInfo *RegionSegment ;SbrTemplate int8 ;SbDsOffset int8 ;DefaultPixel int8 ;CombinationOperator _g .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 ;_ddac int64 ;SbStrips int8 ;NumberOfSymbols uint32 ;RegionBitmap *_g .Bitmap ;Symbols []*_g .Bitmap ;_fdf *_eg .Decoder ;_edda *GenericRefinementRegion ;_bfgcd *_eg .DecoderStats ;_cecg *_eg .DecoderStats ;_egde *_eg .DecoderStats ;_dgga *_eg .DecoderStats ;_abafg *_eg .DecoderStats ;_bccd *_eg .DecoderStats ;_dcdbb *_eg .DecoderStats ;_dggb *_eg .DecoderStats ;_cfbb *_eg .DecoderStats ;_fabf *_eg .DecoderStats ;_gedcg *_eg .DecoderStats ;_abge int8 ;_cafa *_gd .FixedSizeTable ;Header *Header ;_aeea _gd .Tabler ;_ebbc _gd .Tabler ;_dcdc _gd .Tabler ;_ccgc _gd .Tabler ;_eeea _gd .Tabler ;_cfcb _gd .Tabler ;_cdeg _gd .Tabler ;_baee _gd .Tabler ;_deff ,_eecd map[int ]int ;_bfde []int ;_gbdg *_g .Points ;_gfba *_g .Bitmaps ;_aeeg *_fa .IntSlice ;_gfbg ,_deffe int ;_cccbe *_g .Boxes ;};func (_gfe *RegionSegment )Encode (w _e .BinaryWriter )(_egdfd int ,_gdafa error ){const _deaa ="R\u0065g\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065n\u0074\u002e\u0045\u006eco\u0064\u0065";_gcdb :=make ([]byte ,4);_bgc .BigEndian .PutUint32 (_gcdb ,_gfe .BitmapWidth );_egdfd ,_gdafa =w .Write (_gcdb );if _gdafa !=nil {return 0,_ge .Wrap (_gdafa ,_deaa ,"\u0057\u0069\u0064t\u0068");};_bgc .BigEndian .PutUint32 (_gcdb ,_gfe .BitmapHeight );var _adga int ;_adga ,_gdafa =w .Write (_gcdb );if _gdafa !=nil {return 0,_ge .Wrap (_gdafa ,_deaa ,"\u0048\u0065\u0069\u0067\u0068\u0074");};_egdfd +=_adga ;_bgc .BigEndian .PutUint32 (_gcdb ,_gfe .XLocation );_adga ,_gdafa =w .Write (_gcdb );if _gdafa !=nil {return 0,_ge .Wrap (_gdafa ,_deaa ,"\u0058L\u006f\u0063\u0061\u0074\u0069\u006fn");};_egdfd +=_adga ;_bgc .BigEndian .PutUint32 (_gcdb ,_gfe .YLocation );_adga ,_gdafa =w .Write (_gcdb );if _gdafa !=nil {return 0,_ge .Wrap (_gdafa ,_deaa ,"\u0059L\u006f\u0063\u0061\u0074\u0069\u006fn");};_egdfd +=_adga ;if _gdafa =w .WriteByte (byte (_gfe .CombinaionOperator )&0x07);_gdafa !=nil {return 0,_ge .Wrap (_gdafa ,_deaa ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};_egdfd ++;return _egdfd ,nil ;};func (_dccf *PageInformationSegment )readContainsRefinement ()error {_edce ,_accf :=_dccf ._ceaa .ReadBit ();if _accf !=nil {return _accf ;};if _edce ==1{_dccf ._ddbg =true ;};return nil ;};func (_bccb *SymbolDictionary )decodeHeightClassBitmap (_aadb *_g .Bitmap ,_cfga int64 ,_ffec int ,_bbecb []int )error {for _aagb :=_cfga ;_aagb < int64 (_bccb ._bacd );_aagb ++{var _ccae int ;for _egeb :=_cfga ;_egeb <=_aagb -1;_egeb ++{_ccae +=_bbecb [_egeb ];};_fdbe :=_a .Rect (_ccae ,0,_ccae +_bbecb [_aagb ],_ffec );_ebae ,_caagg :=_g .Extract (_fdbe ,_aadb );if _caagg !=nil {return _caagg ;};_bccb ._dbacb [_aagb ]=_ebae ;_bccb ._cgf =append (_bccb ._cgf ,_ebae );};return nil ;};func (_abgg *Header )writeSegmentPageAssociation (_cbce _e .BinaryWriter )(_acdg int ,_bgca error ){const _cbed ="w\u0072\u0069\u0074\u0065\u0053\u0065g\u006d\u0065\u006e\u0074\u0050\u0061\u0067\u0065\u0041s\u0073\u006f\u0063i\u0061t\u0069\u006f\u006e";if _abgg .pageSize ()!=4{if _bgca =_cbce .WriteByte (byte (_abgg .PageAssociation ));_bgca !=nil {return 0,_ge .Wrap (_bgca ,_cbed ,"\u0070\u0061\u0067\u0065\u0053\u0069\u007a\u0065\u0020\u0021\u003d\u0020\u0034");};return 1,nil ;};_gaed :=make ([]byte ,4);_bgc .BigEndian .PutUint32 (_gaed ,uint32 (_abgg .PageAssociation ));if _acdg ,_bgca =_cbce .Write (_gaed );_bgca !=nil {return 0,_ge .Wrap (_bgca ,_cbed ,"\u0034 \u0062y\u0074\u0065\u0020\u0070\u0061g\u0065\u0020n\u0075\u006d\u0062\u0065\u0072");};return _acdg ,nil ;};func (_acgc *HalftoneRegion )shiftAndFill (_caf int )int {_caf >>=8;if _caf < 0{_ccad :=int (_bg .Log (float64 (_ecab (_caf )))/_bg .Log (2));_gaee :=31-_ccad ;for _fgac :=1;_fgac < _gaee ;_fgac ++{_caf |=1<<uint (31-_fgac );};};return _caf ;};type templater interface{form (_ggb ,_abff ,_babf ,_eaed ,_bfdg int16 )int16 ;setIndex (_fbda *_eg .DecoderStats );};func (_gcdcd *SymbolDictionary )GetDictionary ()([]*_g .Bitmap ,error ){_ff .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 (){_ff .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");_ff .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",_gcdcd ._bgdg ,_gcdcd ._dbacb );}();if _gcdcd ._bgdg ==nil {var _gebc error ;if _gcdcd .UseRefinementAggregation {_gcdcd ._fegg =_gcdcd .getSbSymCodeLen ();};if !_gcdcd .IsHuffmanEncoded {if _gebc =_gcdcd .setCodingStatistics ();_gebc !=nil {return nil ,_gebc ;};};_gcdcd ._dbacb =make ([]*_g .Bitmap ,_gcdcd .NumberOfNewSymbols );var _dfeb []int ;if _gcdcd .IsHuffmanEncoded &&!_gcdcd .UseRefinementAggregation {_dfeb =make ([]int ,_gcdcd .NumberOfNewSymbols );};if _gebc =_gcdcd .setSymbolsArray ();_gebc !=nil {return nil ,_gebc ;};var _aecec ,_acfaf int64 ;_gcdcd ._bacd =0;for _gcdcd ._bacd < _gcdcd .NumberOfNewSymbols {_acfaf ,_gebc =_gcdcd .decodeHeightClassDeltaHeight ();if _gebc !=nil {return nil ,_gebc ;};_aecec +=_acfaf ;var _gdfc ,_dgac uint32 ;_dafe :=int64 (_gcdcd ._bacd );for {var _gcfd int64 ;_gcfd ,_gebc =_gcdcd .decodeDifferenceWidth ();if _ca .Is (_gebc ,_ac .ErrOOB ){break ;};if _gebc !=nil {return nil ,_gebc ;};if _gcdcd ._bacd >=_gcdcd .NumberOfNewSymbols {break ;};_gdfc +=uint32 (_gcfd );_dgac +=_gdfc ;if !_gcdcd .IsHuffmanEncoded ||_gcdcd .UseRefinementAggregation {if !_gcdcd .UseRefinementAggregation {_gebc =_gcdcd .decodeDirectlyThroughGenericRegion (_gdfc ,uint32 (_aecec ));if _gebc !=nil {return nil ,_gebc ;};}else {_gebc =_gcdcd .decodeAggregate (_gdfc ,uint32 (_aecec ));if _gebc !=nil {return nil ,_gebc ;};};}else if _gcdcd .IsHuffmanEncoded &&!_gcdcd .UseRefinementAggregation {_dfeb [_gcdcd ._bacd ]=int (_gdfc );};_gcdcd ._bacd ++;};if _gcdcd .IsHuffmanEncoded &&!_gcdcd .UseRefinementAggregation {var _fdgga int64 ;if _gcdcd .SdHuffBMSizeSelection ==0{var _accfb _gd .Tabler ;_accfb ,_gebc =_gd .GetStandardTable (1);if _gebc !=nil {return nil ,_gebc ;};_fdgga ,_gebc =_accfb .Decode (_gcdcd ._gbcf );if _gebc !=nil {return nil ,_gebc ;};}else {_fdgga ,_gebc =_gcdcd .huffDecodeBmSize ();if _gebc !=nil {return nil ,_gebc ;};};_gcdcd ._gbcf .Align ();var _bdca *_g .Bitmap ;_bdca ,_gebc =_gcdcd .decodeHeightClassCollectiveBitmap (_fdgga ,uint32 (_aecec ),_dgac );if _gebc !=nil {return nil ,_gebc ;};_gebc =_gcdcd .decodeHeightClassBitmap (_bdca ,_dafe ,int (_aecec ),_dfeb );if _gebc !=nil {return nil ,_gebc ;};};};_eacd ,_gebc :=_gcdcd .getToExportFlags ();if _gebc !=nil {return nil ,_gebc ;};_gcdcd .setExportedSymbols (_eacd );};return _gcdcd ._bgdg ,nil ;};func (_bdcd *TextRegion )parseHeader ()error {var _gfbb error ;_ff .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 _gfbb !=nil {_ff .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",_gfbb );}else {_ff .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 _gfbb =_bdcd .RegionInfo .parseHeader ();_gfbb !=nil {return _gfbb ;};if _gfbb =_bdcd .readRegionFlags ();_gfbb !=nil {return _gfbb ;};if _bdcd .IsHuffmanEncoded {if _gfbb =_bdcd .readHuffmanFlags ();_gfbb !=nil {return _gfbb ;};};if _gfbb =_bdcd .readUseRefinement ();_gfbb !=nil {return _gfbb ;};if _gfbb =_bdcd .readAmountOfSymbolInstances ();_gfbb !=nil {return _gfbb ;};if _gfbb =_bdcd .getSymbols ();_gfbb !=nil {return _gfbb ;};if _gfbb =_bdcd .computeSymbolCodeLength ();_gfbb !=nil {return _gfbb ;};if _gfbb =_bdcd .checkInput ();_gfbb !=nil {return _gfbb ;};_ff .Log .Trace ("\u0025\u0073",_bdcd .String ());return nil ;};func (_ageac *RegionSegment )String ()string {_gdaba :=&_bb .Builder {};_gdaba .WriteString ("\u0009[\u0052E\u0047\u0049\u004f\u004e\u0020S\u0045\u0047M\u0045\u004e\u0054\u005d\u000a");_gdaba .WriteString (_c .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",_ageac .BitmapWidth ,_ageac .BitmapHeight ));_gdaba .WriteString (_c .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",_ageac .XLocation ,_ageac .YLocation ));_gdaba .WriteString (_c .Sprintf ("\t\u0009\u002d\u0020\u0043\u006f\u006db\u0069\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070e\u0072\u0061\u0074o\u0072:\u0020\u0025\u0073",_ageac .CombinaionOperator ));return _gdaba .String ();};func (_gce *PatternDictionary )readGrayMax ()error {_dbcc ,_bged :=_gce ._fdbb .ReadBits (32);if _bged !=nil {return _bged ;};_gce .GrayMax =uint32 (_dbcc &_bg .MaxUint32 );return nil ;};func NewRegionSegment (r _e .StreamReader )*RegionSegment {return &RegionSegment {_aacd :r }};func (_bbbc *TextRegion )decodeStripT ()(_bfadb int64 ,_bbaf error ){if _bbbc .IsHuffmanEncoded {if _bbbc .SbHuffDT ==3{if _bbbc ._dcdc ==nil {var _abgb int ;if _bbbc .SbHuffFS ==3{_abgb ++;};if _bbbc .SbHuffDS ==3{_abgb ++;};_bbbc ._dcdc ,_bbaf =_bbbc .getUserTable (_abgb );if _bbaf !=nil {return 0,_bbaf ;};};_bfadb ,_bbaf =_bbbc ._dcdc .Decode (_bbbc ._bege );if _bbaf !=nil {return 0,_bbaf ;};}else {var _eaggc _gd .Tabler ;_eaggc ,_bbaf =_gd .GetStandardTable (11+int (_bbbc .SbHuffDT ));if _bbaf !=nil {return 0,_bbaf ;};_bfadb ,_bbaf =_eaggc .Decode (_bbbc ._bege );if _bbaf !=nil {return 0,_bbaf ;};};}else {var _becd int32 ;_becd ,_bbaf =_bbbc ._fdf .DecodeInt (_bbbc ._bfgcd );if _bbaf !=nil {return 0,_bbaf ;};_bfadb =int64 (_becd );};_bfadb *=int64 (-_bbbc .SbStrips );return _bfadb ,nil ;};func (_efdd *PatternDictionary )readTemplate ()error {_fdbfg ,_dceb :=_efdd ._fdbb .ReadBits (2);if _dceb !=nil {return _dceb ;};_efdd .HDTemplate =byte (_fdbfg );return nil ;};func (_gdaa *HalftoneRegion )computeGrayScalePlanes (_adag []*_g .Bitmap ,_agb int )([][]int ,error ){_ffbd :=make ([][]int ,_gdaa .HGridHeight );for _ffab :=0;_ffab < len (_ffbd );_ffab ++{_ffbd [_ffab ]=make ([]int ,_gdaa .HGridWidth );};for _dffg :=0;_dffg < int (_gdaa .HGridHeight );_dffg ++{for _bfeb :=0;_bfeb < int (_gdaa .HGridWidth );_bfeb +=8{var _dbea int ;if _efce :=int (_gdaa .HGridWidth )-_bfeb ;_efce > 8{_dbea =8;}else {_dbea =_efce ;};_ace :=_adag [0].GetByteIndex (_bfeb ,_dffg );for _bbde :=0;_bbde < _dbea ;_bbde ++{_gfaa :=_bbde +_bfeb ;_ffbd [_dffg ][_gfaa ]=0;for _aeb :=0;_aeb < _agb ;_aeb ++{_cdcf ,_cfgc :=_adag [_aeb ].GetByte (_ace );if _cfgc !=nil {return nil ,_cfgc ;};_egfae :=_cdcf >>uint (7-_gfaa &7);_gdab :=_egfae &1;_eeae :=1<<uint (_aeb );_agea :=int (_gdab )*_eeae ;_ffbd [_dffg ][_gfaa ]+=_agea ;};};};};return _ffbd ,nil ;};func (_cgcf *SymbolDictionary )decodeHeightClassDeltaHeightWithHuffman ()(int64 ,error ){switch _cgcf .SdHuffDecodeHeightSelection {case 0:_ceee ,_fbc :=_gd .GetStandardTable (4);if _fbc !=nil {return 0,_fbc ;};return _ceee .Decode (_cgcf ._gbcf );case 1:_afceg ,_egge :=_gd .GetStandardTable (5);if _egge !=nil {return 0,_egge ;};return _afceg .Decode (_cgcf ._gbcf );case 3:if _cgcf ._fgca ==nil {_cacfa ,_befc :=_gd .GetStandardTable (0);if _befc !=nil {return 0,_befc ;};_cgcf ._fgca =_cacfa ;};return _cgcf ._fgca .Decode (_cgcf ._gbcf );};return 0,nil ;};func (_ecbe *SymbolDictionary )decodeDifferenceWidth ()(int64 ,error ){if _ecbe .IsHuffmanEncoded {switch _ecbe .SdHuffDecodeWidthSelection {case 0:_agca ,_faeb :=_gd .GetStandardTable (2);if _faeb !=nil {return 0,_faeb ;};return _agca .Decode (_ecbe ._gbcf );case 1:_begfe ,_fgege :=_gd .GetStandardTable (3);if _fgege !=nil {return 0,_fgege ;};return _begfe .Decode (_ecbe ._gbcf );case 3:if _ecbe ._bfc ==nil {var _efec int ;if _ecbe .SdHuffDecodeHeightSelection ==3{_efec ++;};_gfda ,_bbdd :=_ecbe .getUserTable (_efec );if _bbdd !=nil {return 0,_bbdd ;};_ecbe ._bfc =_gfda ;};return _ecbe ._bfc .Decode (_ecbe ._gbcf );};}else {_dgae ,_badfa :=_ecbe ._cdd .DecodeInt (_ecbe ._gege );if _badfa !=nil {return 0,_badfa ;};return int64 (_dgae ),nil ;};return 0,nil ;};func (_defb *SymbolDictionary )encodeNumSyms (_facc _e .BinaryWriter )(_baca int ,_bdad error ){const _ebad ="\u0065\u006e\u0063\u006f\u0064\u0065\u004e\u0075\u006d\u0053\u0079\u006d\u0073";_bgfc :=make ([]byte ,4);_bgc .BigEndian .PutUint32 (_bgfc ,_defb .NumberOfExportedSymbols );if _baca ,_bdad =_facc .Write (_bgfc );_bdad !=nil {return _baca ,_ge .Wrap (_bdad ,_ebad ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};_bgc .BigEndian .PutUint32 (_bgfc ,_defb .NumberOfNewSymbols );_bffcc ,_bdad :=_facc .Write (_bgfc );if _bdad !=nil {return _baca ,_ge .Wrap (_bdad ,_ebad ,"n\u0065\u0077\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};return _baca +_bffcc ,nil ;};func (_eae *GenericRefinementRegion )updateOverride ()error {if _eae .GrAtX ==nil ||_eae .GrAtY ==nil {return _fd .New ("\u0041\u0054\u0020\u0070\u0069\u0078\u0065\u006c\u0073\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");};if len (_eae .GrAtX )!=len (_eae .GrAtY ){return _fd .New ("A\u0054\u0020\u0070\u0069xe\u006c \u0069\u006e\u0063\u006f\u006es\u0069\u0073\u0074\u0065\u006e\u0074");};_eae ._ecb =make ([]bool ,len (_eae .GrAtX ));switch _eae .TemplateID {case 0:if _eae .GrAtX [0]!=-1&&_eae .GrAtY [0]!=-1{_eae ._ecb [0]=true ;_eae ._fdb =true ;};if _eae .GrAtX [1]!=-1&&_eae .GrAtY [1]!=-1{_eae ._ecb [1]=true ;_eae ._fdb =true ;};case 1:_eae ._fdb =false ;};return nil ;};func (_ccab *SymbolDictionary )setSymbolsArray ()error {if _ccab ._bcfg ==nil {if _ebfe :=_ccab .retrieveImportSymbols ();_ebfe !=nil {return _ebfe ;};};if _ccab ._cgf ==nil {_ccab ._cgf =append (_ccab ._cgf ,_ccab ._bcfg ...);};return nil ;};func (_dadg *TextRegion )decodeCurrentT ()(int64 ,error ){if _dadg .SbStrips !=1{if _dadg .IsHuffmanEncoded {_gcfdc ,_caed :=_dadg ._bege .ReadBits (byte (_dadg .LogSBStrips ));return int64 (_gcfdc ),_caed ;};_defa ,_fccg :=_dadg ._fdf .DecodeInt (_dadg ._dgga );if _fccg !=nil {return 0,_fccg ;};return int64 (_defa ),nil ;};return 0,nil ;};func (_afda *GenericRegion )setParametersMMR (_dadb bool ,_bcaf ,_acb int64 ,_daff ,_gedb uint32 ,_abfa byte ,_cdef ,_ceegc bool ,_ggfd ,_effe []int8 ){_afda .DataOffset =_bcaf ;_afda .DataLength =_acb ;_afda .RegionSegment =&RegionSegment {};_afda .RegionSegment .BitmapHeight =_daff ;_afda .RegionSegment .BitmapWidth =_gedb ;_afda .GBTemplate =_abfa ;_afda .IsMMREncoded =_dadb ;_afda .IsTPGDon =_cdef ;_afda .GBAtX =_ggfd ;_afda .GBAtY =_effe ;};func (_gbad *PageInformationSegment )readRequiresAuxiliaryBuffer ()error {_dca ,_effec :=_gbad ._ceaa .ReadBit ();if _effec !=nil {return _effec ;};if _dca ==1{_gbad ._dcbb =true ;};return nil ;};func (_gebb *Header )readNumberOfReferredToSegments (_bbee _e .StreamReader )(uint64 ,error ){const _bgea ="\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";_aegg ,_efcc :=_bbee .ReadBits (3);if _efcc !=nil {return 0,_ge .Wrap (_efcc ,_bgea ,"\u0063\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0072\u0074\u0073");};_aegg &=0xf;var _fad []byte ;if _aegg <=4{_fad =make ([]byte ,5);for _dcce :=0;_dcce <=4;_dcce ++{_baeg ,_dfgf :=_bbee .ReadBit ();if _dfgf !=nil {return 0,_ge .Wrap (_dfgf ,_bgea ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_fad [_dcce ]=byte (_baeg );};}else {_aegg ,_efcc =_bbee .ReadBits (29);if _efcc !=nil {return 0,_efcc ;};_aegg &=_bg .MaxInt32 ;_gbae :=(_aegg +8)>>3;_gbae <<=3;_fad =make ([]byte ,_gbae );var _fggg uint64 ;for _fggg =0;_fggg < _gbae ;_fggg ++{_fdcab ,_debg :=_bbee .ReadBit ();if _debg !=nil {return 0,_ge .Wrap (_debg ,_bgea ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_fad [_fggg ]=byte (_fdcab );};};return _aegg ,nil ;};func (_dacfg *TextRegion )decodeIb (_daaff ,_dggcf int64 )(*_g .Bitmap ,error ){const _ebfea ="\u0064\u0065\u0063\u006f\u0064\u0065\u0049\u0062";var (_aebe error ;_fagd *_g .Bitmap ;);if _daaff ==0{if int (_dggcf )> len (_dacfg .Symbols )-1{return nil ,_ge .Error (_ebfea ,"\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 _dacfg .Symbols [int (_dggcf )],nil ;};var _badee ,_addbg ,_adaggf ,_fdcdf int64 ;_badee ,_aebe =_dacfg .decodeRdw ();if _aebe !=nil {return nil ,_ge .Wrap (_aebe ,_ebfea ,"");};_addbg ,_aebe =_dacfg .decodeRdh ();if _aebe !=nil {return nil ,_ge .Wrap (_aebe ,_ebfea ,"");};_adaggf ,_aebe =_dacfg .decodeRdx ();if _aebe !=nil {return nil ,_ge .Wrap (_aebe ,_ebfea ,"");};_fdcdf ,_aebe =_dacfg .decodeRdy ();if _aebe !=nil {return nil ,_ge .Wrap (_aebe ,_ebfea ,"");};if _dacfg .IsHuffmanEncoded {if _ ,_aebe =_dacfg .decodeSymInRefSize ();_aebe !=nil {return nil ,_ge .Wrap (_aebe ,_ebfea ,"");};_dacfg ._bege .Align ();};_dgfg :=_dacfg .Symbols [_dggcf ];_gbbc :=uint32 (_dgfg .Width );_gggdd :=uint32 (_dgfg .Height );_bgfca :=int32 (uint32 (_badee )>>1)+int32 (_adaggf );_bgbb :=int32 (uint32 (_addbg )>>1)+int32 (_fdcdf );if _dacfg ._edda ==nil {_dacfg ._edda =_gbe (_dacfg ._bege ,nil );};_dacfg ._edda .setParameters (_dacfg ._gedcg ,_dacfg ._fdf ,_dacfg .SbrTemplate ,_gbbc +uint32 (_badee ),_gggdd +uint32 (_addbg ),_dgfg ,_bgfca ,_bgbb ,false ,_dacfg .SbrATX ,_dacfg .SbrATY );_fagd ,_aebe =_dacfg ._edda .GetRegionBitmap ();if _aebe !=nil {return nil ,_ge .Wrap (_aebe ,_ebfea ,"\u0067\u0072\u0066");};if _dacfg .IsHuffmanEncoded {_dacfg ._bege .Align ();};return _fagd ,nil ;};func (_ggcc *TableSegment )StreamReader ()_e .StreamReader {return _ggcc ._cccbg };func (_aec *PageInformationSegment )CombinationOperatorOverrideAllowed ()bool {return _aec ._gafg };func (_gde *Header )readHeaderFlags ()error {const _fcdc ="\u0072e\u0061d\u0048\u0065\u0061\u0064\u0065\u0072\u0046\u006c\u0061\u0067\u0073";_adge ,_ecac :=_gde .Reader .ReadBit ();if _ecac !=nil {return _ge .Wrap (_ecac ,_fcdc ,"r\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067");};if _adge !=0{_gde .RetainFlag =true ;};_adge ,_ecac =_gde .Reader .ReadBit ();if _ecac !=nil {return _ge .Wrap (_ecac ,_fcdc ,"\u0070\u0061g\u0065\u0020\u0061s\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e");};if _adge !=0{_gde .PageAssociationFieldSize =true ;};_fddf ,_ecac :=_gde .Reader .ReadBits (6);if _ecac !=nil {return _ge .Wrap (_ecac ,_fcdc ,"\u0073\u0065\u0067m\u0065\u006e\u0074\u0020\u0074\u0079\u0070\u0065");};_gde .Type =Type (int (_fddf ));return nil ;};func (_ebcb *SymbolDictionary )readRegionFlags ()error {var (_cggg uint64 ;_gbee int ;);_ ,_caea :=_ebcb ._gbcf .ReadBits (3);if _caea !=nil {return _caea ;};_gbee ,_caea =_ebcb ._gbcf .ReadBit ();if _caea !=nil {return _caea ;};_ebcb .SdrTemplate =int8 (_gbee );_cggg ,_caea =_ebcb ._gbcf .ReadBits (2);if _caea !=nil {return _caea ;};_ebcb .SdTemplate =int8 (_cggg &0xf);_gbee ,_caea =_ebcb ._gbcf .ReadBit ();if _caea !=nil {return _caea ;};if _gbee ==1{_ebcb ._dfad =true ;};_gbee ,_caea =_ebcb ._gbcf .ReadBit ();if _caea !=nil {return _caea ;};if _gbee ==1{_ebcb ._eaeb =true ;};_gbee ,_caea =_ebcb ._gbcf .ReadBit ();if _caea !=nil {return _caea ;};if _gbee ==1{_ebcb .SdHuffAggInstanceSelection =true ;};_gbee ,_caea =_ebcb ._gbcf .ReadBit ();if _caea !=nil {return _caea ;};_ebcb .SdHuffBMSizeSelection =int8 (_gbee );_cggg ,_caea =_ebcb ._gbcf .ReadBits (2);if _caea !=nil {return _caea ;};_ebcb .SdHuffDecodeWidthSelection =int8 (_cggg &0xf);_cggg ,_caea =_ebcb ._gbcf .ReadBits (2);if _caea !=nil {return _caea ;};_ebcb .SdHuffDecodeHeightSelection =int8 (_cggg &0xf);_gbee ,_caea =_ebcb ._gbcf .ReadBit ();if _caea !=nil {return _caea ;};if _gbee ==1{_ebcb .UseRefinementAggregation =true ;};_gbee ,_caea =_ebcb ._gbcf .ReadBit ();if _caea !=nil {return _caea ;};if _gbee ==1{_ebcb .IsHuffmanEncoded =true ;};return nil ;};func (_ebdb *Header )writeReferredToCount (_dbde _e .BinaryWriter )(_egbf int ,_gggd error ){const _gggag ="w\u0072i\u0074\u0065\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0043ou\u006e\u0074";_ebdb .RTSNumbers =make ([]int ,len (_ebdb .RTSegments ));for _gfbfb ,_bcad :=range _ebdb .RTSegments {_ebdb .RTSNumbers [_gfbfb ]=int (_bcad .SegmentNumber );};if len (_ebdb .RTSNumbers )<=4{var _bbdc byte ;if len (_ebdb .RetainBits )>=1{_bbdc =_ebdb .RetainBits [0];};_bbdc |=byte (len (_ebdb .RTSNumbers ))<<5;if _gggd =_dbde .WriteByte (_bbdc );_gggd !=nil {return 0,_ge .Wrap (_gggd ,_gggag ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return 1,nil ;};_ccfa :=uint32 (len (_ebdb .RTSNumbers ));_cafc :=make ([]byte ,4+_fa .Ceil (len (_ebdb .RTSNumbers )+1,8));_ccfa |=0x7<<29;_bgc .BigEndian .PutUint32 (_cafc ,_ccfa );copy (_cafc [1:],_ebdb .RetainBits );_egbf ,_gggd =_dbde .Write (_cafc );if _gggd !=nil {return 0,_ge .Wrap (_gggd ,_gggag ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return _egbf ,nil ;};const (ORandom OrganizationType =iota ;OSequential ;);func (_dadbf *Header )writeSegmentDataLength (_dfcd _e .BinaryWriter )(_ebdg int ,_gbff error ){_edea :=make ([]byte ,4);_bgc .BigEndian .PutUint32 (_edea ,uint32 (_dadbf .SegmentDataLength ));if _ebdg ,_gbff =_dfcd .Write (_edea );_gbff !=nil {return 0,_ge .Wrap (_gbff ,"\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 _ebdg ,nil ;};func (_fgbf *PageInformationSegment )CombinationOperator ()_g .CombinationOperator {return _fgbf ._caca };func _gbe (_gbb _e .StreamReader ,_ffd *Header )*GenericRefinementRegion {return &GenericRefinementRegion {_gcdc :_gbb ,RegionInfo :NewRegionSegment (_gbb ),_ag :_ffd ,_gcd :&template0 {},_gee :&template1 {}};};func (_bfgfa *TextRegion )GetRegionInfo ()*RegionSegment {return _bfgfa .RegionInfo };func (_ddaf *PatternDictionary )parseHeader ()error {_ff .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 (){_ff .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");}();_ ,_afgg :=_ddaf ._fdbb .ReadBits (5);if _afgg !=nil {return _afgg ;};if _afgg =_ddaf .readTemplate ();_afgg !=nil {return _afgg ;};if _afgg =_ddaf .readIsMMREncoded ();_afgg !=nil {return _afgg ;};if _afgg =_ddaf .readPatternWidthAndHeight ();_afgg !=nil {return _afgg ;};if _afgg =_ddaf .readGrayMax ();_afgg !=nil {return _afgg ;};if _afgg =_ddaf .computeSegmentDataStructure ();_afgg !=nil {return _afgg ;};return _ddaf .checkInput ();};func (_dgbb *Header )GetSegmentData ()(Segmenter ,error ){var _dcc Segmenter ;if _dgbb .SegmentData !=nil {_dcc =_dgbb .SegmentData ;};if _dcc ==nil {_ggga ,_aafc :=_dfcda [_dgbb .Type ];if !_aafc {return nil ,_c .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",_dgbb .Type ,_dgbb .Type );};_dcc =_ggga ();_ff .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",_dgbb .SegmentNumber ,_dgbb .SegmentDataStartOffset );_acff ,_bcd :=_dgbb .subInputReader ();if _bcd !=nil {return nil ,_bcd ;};if _bdb :=_dcc .Init (_dgbb ,_acff );_bdb !=nil {_ff .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",_bdb ,_dcc );return nil ,_bdb ;};_dgbb .SegmentData =_dcc ;};return _dcc ,nil ;};func (_gfaf *Header )writeReferredToSegments (_ggbc _e .BinaryWriter )(_fae int ,_fadb error ){const _cabf ="\u0077\u0072\u0069te\u0052\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073";var (_dfcb uint16 ;_cae uint32 ;);_dadbd :=_gfaf .referenceSize ();_agfd :=1;_efga :=make ([]byte ,_dadbd );for _ ,_cce :=range _gfaf .RTSNumbers {switch _dadbd {case 4:_cae =uint32 (_cce );_bgc .BigEndian .PutUint32 (_efga ,_cae );_agfd ,_fadb =_ggbc .Write (_efga );if _fadb !=nil {return 0,_ge .Wrap (_fadb ,_cabf ,"u\u0069\u006e\u0074\u0033\u0032\u0020\u0073\u0069\u007a\u0065");};case 2:_dfcb =uint16 (_cce );_bgc .BigEndian .PutUint16 (_efga ,_dfcb );_agfd ,_fadb =_ggbc .Write (_efga );if _fadb !=nil {return 0,_ge .Wrap (_fadb ,_cabf ,"\u0075\u0069\u006e\u0074\u0031\u0036");};default:if _fadb =_ggbc .WriteByte (byte (_cce ));_fadb !=nil {return 0,_ge .Wrap (_fadb ,_cabf ,"\u0075\u0069\u006et\u0038");};};_fae +=_agfd ;};return _fae ,nil ;};func (_facf *GenericRegion )setOverrideFlag (_dfb int ){_facf .GBAtOverride [_dfb ]=true ;_facf ._bbe =true ;};func (_fgcd *TextRegion )getSymbols ()error {if _fgcd .Header .RTSegments !=nil {return _fgcd .initSymbols ();};return nil ;};func (_gfac *PageInformationSegment )parseHeader ()(_abb error ){_ff .Log .Trace ("\u005b\u0050\u0061\u0067\u0065I\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067m\u0065\u006e\u0074\u005d\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u002e\u002e");defer func (){var _bebe ="[\u0050\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072m\u0061\u0074\u0069\u006f\u006e\u0053\u0065gm\u0065\u006e\u0074\u005d \u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065ad\u0065\u0072 \u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064";if _abb !=nil {_bebe +="\u0020\u0077\u0069t\u0068\u0020\u0065\u0072\u0072\u006f\u0072\u0020"+_abb .Error ();}else {_bebe +="\u0020\u0073\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079";};_ff .Log .Trace (_bebe );}();if _abb =_gfac .readWidthAndHeight ();_abb !=nil {return _abb ;};if _abb =_gfac .readResolution ();_abb !=nil {return _abb ;};_ ,_abb =_gfac ._ceaa .ReadBit ();if _abb !=nil {return _abb ;};if _abb =_gfac .readCombinationOperatorOverrideAllowed ();_abb !=nil {return _abb ;};if _abb =_gfac .readRequiresAuxiliaryBuffer ();_abb !=nil {return _abb ;};if _abb =_gfac .readCombinationOperator ();_abb !=nil {return _abb ;};if _abb =_gfac .readDefaultPixelValue ();_abb !=nil {return _abb ;};if _abb =_gfac .readContainsRefinement ();_abb !=nil {return _abb ;};if _abb =_gfac .readIsLossless ();_abb !=nil {return _abb ;};if _abb =_gfac .readIsStriped ();_abb !=nil {return _abb ;};if _abb =_gfac .readMaxStripeSize ();_abb !=nil {return _abb ;};if _abb =_gfac .checkInput ();_abb !=nil {return _abb ;};_ff .Log .Trace ("\u0025\u0073",_gfac );return nil ;};func (_feaf *GenericRegion )parseHeader ()(_fdg error ){_ff .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 _fdg !=nil {_ff .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",_fdg );}else {_ff .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 (_ddb int ;_acc uint64 ;);if _fdg =_feaf .RegionSegment .parseHeader ();_fdg !=nil {return _fdg ;};if _ ,_fdg =_feaf ._gbg .ReadBits (3);_fdg !=nil {return _fdg ;};_ddb ,_fdg =_feaf ._gbg .ReadBit ();if _fdg !=nil {return _fdg ;};if _ddb ==1{_feaf .UseExtTemplates =true ;};_ddb ,_fdg =_feaf ._gbg .ReadBit ();if _fdg !=nil {return _fdg ;};if _ddb ==1{_feaf .IsTPGDon =true ;};_acc ,_fdg =_feaf ._gbg .ReadBits (2);if _fdg !=nil {return _fdg ;};_feaf .GBTemplate =byte (_acc &0xf);_ddb ,_fdg =_feaf ._gbg .ReadBit ();if _fdg !=nil {return _fdg ;};if _ddb ==1{_feaf .IsMMREncoded =true ;};if !_feaf .IsMMREncoded {_ggbf :=1;if _feaf .GBTemplate ==0{_ggbf =4;if _feaf .UseExtTemplates {_ggbf =12;};};if _fdg =_feaf .readGBAtPixels (_ggbf );_fdg !=nil {return _fdg ;};};if _fdg =_feaf .computeSegmentDataStructure ();_fdg !=nil {return _fdg ;};_ff .Log .Trace ("\u0025\u0073",_feaf );return nil ;};func (_abg *GenericRefinementRegion )overrideAtTemplate0 (_dgg ,_cecf ,_cag ,_cea ,_afae int )int {if _abg ._ecb [0]{_dgg &=0xfff7;if _abg .GrAtY [0]==0&&int (_abg .GrAtX [0])>=-_afae {_dgg |=(_cea >>uint (7-(_afae +int (_abg .GrAtX [0])))&0x1)<<3;}else {_dgg |=_abg .getPixel (_abg .RegionBitmap ,_cecf +int (_abg .GrAtX [0]),_cag +int (_abg .GrAtY [0]))<<3;};};if _abg ._ecb [1]{_dgg &=0xefff;if _abg .GrAtY [1]==0&&int (_abg .GrAtX [1])>=-_afae {_dgg |=(_cea >>uint (7-(_afae +int (_abg .GrAtX [1])))&0x1)<<12;}else {_dgg |=_abg .getPixel (_abg .ReferenceBitmap ,_cecf +int (_abg .GrAtX [1]),_cag +int (_abg .GrAtY [1]));};};return _dgg ;};func (_gedc *HalftoneRegion )computeY (_eadf ,_feg int )int {return _gedc .shiftAndFill (int (_gedc .HGridY )+_eadf *int (_gedc .HRegionX )-_feg *int (_gedc .HRegionY ));};type Header struct{SegmentNumber uint32 ;Type Type ;RetainFlag bool ;PageAssociation int ;PageAssociationFieldSize bool ;RTSegments []*Header ;HeaderLength int64 ;SegmentDataLength uint64 ;SegmentDataStartOffset uint64 ;Reader _e .StreamReader ;SegmentData Segmenter ;RTSNumbers []int ;RetainBits []uint8 ;};func (_eeeca *PageInformationSegment )readCombinationOperator ()error {_cfdb ,_dgbc :=_eeeca ._ceaa .ReadBits (2);if _dgbc !=nil {return _dgbc ;};_eeeca ._caca =_g .CombinationOperator (int (_cfdb ));return nil ;};func (_cgbc *TextRegion )readAmountOfSymbolInstances ()error {_agaf ,_bbad :=_cgbc ._bege .ReadBits (32);if _bbad !=nil {return _bbad ;};_cgbc .NumberOfSymbolInstances =uint32 (_agaf &_bg .MaxUint32 );_cfde :=_cgbc .RegionInfo .BitmapWidth *_cgbc .RegionInfo .BitmapHeight ;if _cfde < _cgbc .NumberOfSymbolInstances {_ff .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",_cfde ,_cgbc .NumberOfSymbolInstances );_cgbc .NumberOfSymbolInstances =_cfde ;};return nil ;};func (_aaa *GenericRegion )decodeTemplate2 (_bbba ,_geeb ,_dff int ,_geabf ,_dfe int )(_begc error ){const _dead ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0032";var (_aaaa ,_ece int ;_faf ,_ccg int ;_cbg byte ;_aac ,_ebgc int ;);if _bbba >=1{_cbg ,_begc =_aaa .Bitmap .GetByte (_dfe );if _begc !=nil {return _ge .Wrap (_begc ,_dead ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0031");};_faf =int (_cbg );};if _bbba >=2{_cbg ,_begc =_aaa .Bitmap .GetByte (_dfe -_aaa .Bitmap .RowStride );if _begc !=nil {return _ge .Wrap (_begc ,_dead ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0032");};_ccg =int (_cbg )<<4;};_aaaa =(_faf >>3&0x7c)|(_ccg >>3&0x380);for _bbga :=0;_bbga < _dff ;_bbga =_aac {var (_fcb byte ;_bdff int ;);_aac =_bbga +8;if _adf :=_geeb -_bbga ;_adf > 8{_bdff =8;}else {_bdff =_adf ;};if _bbba > 0{_faf <<=8;if _aac < _geeb {_cbg ,_begc =_aaa .Bitmap .GetByte (_dfe +1);if _begc !=nil {return _ge .Wrap (_begc ,_dead ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0030");};_faf |=int (_cbg );};};if _bbba > 1{_ccg <<=8;if _aac < _geeb {_cbg ,_begc =_aaa .Bitmap .GetByte (_dfe -_aaa .Bitmap .RowStride +1);if _begc !=nil {return _ge .Wrap (_begc ,_dead ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0031");};_ccg |=int (_cbg )<<4;};};for _caaa :=0;_caaa < _bdff ;_caaa ++{_bae :=uint (10-_caaa );if _aaa ._bbe {_ece =_aaa .overrideAtTemplate2 (_aaaa ,_bbga +_caaa ,_bbba ,int (_fcb ),_caaa );_aaa ._decfe .SetIndex (int32 (_ece ));}else {_aaa ._decfe .SetIndex (int32 (_aaaa ));};_ebgc ,_begc =_aaa ._cefd .DecodeBit (_aaa ._decfe );if _begc !=nil {return _ge .Wrap (_begc ,_dead ,"");};_fcb |=byte (_ebgc <<uint (7-_caaa ));_aaaa =((_aaaa &0x1bd)<<1)|_ebgc |((_faf >>_bae )&0x4)|((_ccg >>_bae )&0x80);};if _cdbe :=_aaa .Bitmap .SetByte (_geabf ,_fcb );_cdbe !=nil {return _ge .Wrap (_cdbe ,_dead ,"");};_geabf ++;_dfe ++;};return nil ;};type template0 struct{};func (_eedc *SymbolDictionary )decodeDirectlyThroughGenericRegion (_caee ,_aeaag uint32 )error {if _eedc ._def ==nil {_eedc ._def =NewGenericRegion (_eedc ._gbcf );};_eedc ._def .setParametersWithAt (false ,byte (_eedc .SdTemplate ),false ,false ,_eedc .SdATX ,_eedc .SdATY ,_caee ,_aeaag ,_eedc ._fcba ,_eedc ._cdd );return _eedc .addSymbol (_eedc ._def );};type EndOfStripe struct{_fb _e .StreamReader ;_cf int ;};func (_dbdg *TextRegion )Init (header *Header ,r _e .StreamReader )error {_dbdg .Header =header ;_dbdg ._bege =r ;_dbdg .RegionInfo =NewRegionSegment (_dbdg ._bege );return _dbdg .parseHeader ();};type RegionSegment struct{_aacd _e .StreamReader ;BitmapWidth uint32 ;BitmapHeight uint32 ;XLocation uint32 ;YLocation uint32 ;CombinaionOperator _g .CombinationOperator ;};func (_egce *PageInformationSegment )readMaxStripeSize ()error {_gged ,_aecf :=_egce ._ceaa .ReadBits (15);if _aecf !=nil {return _aecf ;};_egce .MaxStripeSize =uint16 (_gged &_bg .MaxUint16 );return nil ;};func (_ccgb *PatternDictionary )setGbAtPixels (){if _ccgb .HDTemplate ==0{_ccgb .GBAtX =make ([]int8 ,4);_ccgb .GBAtY =make ([]int8 ,4);_ccgb .GBAtX [0]=-int8 (_ccgb .HdpWidth );_ccgb .GBAtY [0]=0;_ccgb .GBAtX [1]=-3;_ccgb .GBAtY [1]=-1;_ccgb .GBAtX [2]=2;_ccgb .GBAtY [2]=-2;_ccgb .GBAtX [3]=-2;_ccgb .GBAtY [3]=-2;}else {_ccgb .GBAtX =[]int8 {-int8 (_ccgb .HdpWidth )};_ccgb .GBAtY =[]int8 {0};};};func (_ebee *GenericRegion )setParameters (_dgecd bool ,_feb ,_dfg int64 ,_gff ,_add uint32 ){_ebee .IsMMREncoded =_dgecd ;_ebee .DataOffset =_feb ;_ebee .DataLength =_dfg ;_ebee .RegionSegment .BitmapHeight =_gff ;_ebee .RegionSegment .BitmapWidth =_add ;_ebee ._dggc =nil ;_ebee .Bitmap =nil ;};func (_fcab *TextRegion )GetRegionBitmap ()(*_g .Bitmap ,error ){if _fcab .RegionBitmap !=nil {return _fcab .RegionBitmap ,nil ;};if !_fcab .IsHuffmanEncoded {if _acec :=_fcab .setCodingStatistics ();_acec !=nil {return nil ,_acec ;};};if _gebd :=_fcab .createRegionBitmap ();_gebd !=nil {return nil ,_gebd ;};if _cbd :=_fcab .decodeSymbolInstances ();_cbd !=nil {return nil ,_cbd ;};return _fcab .RegionBitmap ,nil ;};func (_cgg *GenericRegion )getPixel (_ead ,_bgbc int )int8 {if _ead < 0||_ead >=_cgg .Bitmap .Width {return 0;};if _bgbc < 0||_bgbc >=_cgg .Bitmap .Height {return 0;};if _cgg .Bitmap .GetPixel (_ead ,_bgbc ){return 1;};return 0;};type EncodeInitializer interface{InitEncode ();};type HalftoneRegion struct{_fga _e .StreamReader ;_dgf *Header ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;RegionSegment *RegionSegment ;HDefaultPixel int8 ;CombinationOperator _g .CombinationOperator ;HSkipEnabled bool ;HTemplate byte ;IsMMREncoded bool ;HGridWidth uint32 ;HGridHeight uint32 ;HGridX int32 ;HGridY int32 ;HRegionX uint16 ;HRegionY uint16 ;HalftoneRegionBitmap *_g .Bitmap ;Patterns []*_g .Bitmap ;};func (_caag *SymbolDictionary )addSymbol (_feafa Regioner )error {_cgfb ,_aba :=_feafa .GetRegionBitmap ();if _aba !=nil {return _aba ;};_caag ._dbacb [_caag ._bacd ]=_cgfb ;_caag ._cgf =append (_caag ._cgf ,_cgfb );_ff .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",_cgfb );return nil ;};func (_cadc *TableSegment )parseHeader ()error {var (_dbfd int ;_gefcf uint64 ;_acdgf error ;);_dbfd ,_acdgf =_cadc ._cccbg .ReadBit ();if _acdgf !=nil {return _acdgf ;};if _dbfd ==1{return _c .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",_dbfd );};if _gefcf ,_acdgf =_cadc ._cccbg .ReadBits (3);_acdgf !=nil {return _acdgf ;};_cadc ._eeece =(int32 (_gefcf )+1)&0xf;if _gefcf ,_acdgf =_cadc ._cccbg .ReadBits (3);_acdgf !=nil {return _acdgf ;};_cadc ._cbcf =(int32 (_gefcf )+1)&0xf;if _gefcf ,_acdgf =_cadc ._cccbg .ReadBits (32);_acdgf !=nil {return _acdgf ;};_cadc ._aaae =int32 (_gefcf &_bg .MaxInt32 );if _gefcf ,_acdgf =_cadc ._cccbg .ReadBits (32);_acdgf !=nil {return _acdgf ;};_cadc ._abfab =int32 (_gefcf &_bg .MaxInt32 );return nil ;};func (_bdcg *TextRegion )encodeFlags (_feae _e .BinaryWriter )(_bdcag int ,_faca error ){const _gcae ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _faca =_feae .WriteBit (int (_bdcg .SbrTemplate ));_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"s\u0062\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};if _ ,_faca =_feae .WriteBits (uint64 (_bdcg .SbDsOffset ),5);_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"\u0073\u0062\u0044\u0073\u004f\u0066\u0066\u0073\u0065\u0074");};if _faca =_feae .WriteBit (int (_bdcg .DefaultPixel ));_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"\u0044\u0065\u0066a\u0075\u006c\u0074\u0050\u0069\u0078\u0065\u006c");};if _ ,_faca =_feae .WriteBits (uint64 (_bdcg .CombinationOperator ),2);_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"\u0043\u006f\u006d\u0062in\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065\u0072\u0061\u0074\u006f\u0072");};if _faca =_feae .WriteBit (int (_bdcg .IsTransposed ));_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"\u0069\u0073\u0020\u0074\u0072\u0061\u006e\u0073\u0070\u006f\u0073\u0065\u0064");};if _ ,_faca =_feae .WriteBits (uint64 (_bdcg .ReferenceCorner ),2);_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"\u0072\u0065f\u0065\u0072\u0065n\u0063\u0065\u0020\u0063\u006f\u0072\u006e\u0065\u0072");};if _ ,_faca =_feae .WriteBits (uint64 (_bdcg .LogSBStrips ),2);_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"L\u006f\u0067\u0053\u0042\u0053\u0074\u0072\u0069\u0070\u0073");};var _cfeb int ;if _bdcg .UseRefinement {_cfeb =1;};if _faca =_feae .WriteBit (_cfeb );_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"\u0075\u0073\u0065\u0020\u0072\u0065\u0066\u0069\u006ee\u006d\u0065\u006e\u0074");};_cfeb =0;if _bdcg .IsHuffmanEncoded {_cfeb =1;};if _faca =_feae .WriteBit (_cfeb );_faca !=nil {return _bdcag ,_ge .Wrap (_faca ,_gcae ,"u\u0073\u0065\u0020\u0068\u0075\u0066\u0066\u006d\u0061\u006e");};_bdcag =2;return _bdcag ,nil ;};func (_ebb *SymbolDictionary )getSymbol (_bbgfg int )(*_g .Bitmap ,error ){const _cbeb ="\u0067e\u0074\u0053\u0079\u006d\u0062\u006fl";_faccd ,_bgab :=_ebb ._ecec .GetBitmap (_ebb ._ddaa [_bbgfg ]);if _bgab !=nil {return nil ,_ge .Wrap (_bgab ,_cbeb ,"\u0063\u0061n\u0027\u0074\u0020g\u0065\u0074\u0020\u0073\u0079\u006d\u0062\u006f\u006c");};return _faccd ,nil ;};func (_fgg *Header )Encode (w _e .BinaryWriter )(_befe int ,_gfge error ){const _caab ="\u0048\u0065\u0061d\u0065\u0072\u002e\u0057\u0072\u0069\u0074\u0065";var _gbgf _e .BinaryWriter ;_ff .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 _gfge !=nil {_ff .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",_gfge );}else {_ff .Log .Trace ("\u005b\u0053\u0045\u0047ME\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0025\u0076",_fgg );_ff .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 _fgg .SegmentData !=nil {_ecg ,_fcge :=_fgg .SegmentData .(SegmentEncoder );if !_fcge {return 0,_ge .Errorf (_caab ,"\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",_fgg .SegmentData );};_gbgf =_e .BufferedMSB ();_befe ,_gfge =_ecg .Encode (_gbgf );if _gfge !=nil {return 0,_ge .Wrap (_gfge ,_caab ,"");};_fgg .SegmentDataLength =uint64 (_befe );};if _fgg .pageSize ()==4{_fgg .PageAssociationFieldSize =true ;};var _bbbfe int ;_bbbfe ,_gfge =_fgg .writeSegmentNumber (w );if _gfge !=nil {return 0,_ge .Wrap (_gfge ,_caab ,"");};_befe +=_bbbfe ;if _gfge =_fgg .writeFlags (w );_gfge !=nil {return _befe ,_ge .Wrap (_gfge ,_caab ,"");};_befe ++;_bbbfe ,_gfge =_fgg .writeReferredToCount (w );if _gfge !=nil {return 0,_ge .Wrap (_gfge ,_caab ,"");};_befe +=_bbbfe ;_bbbfe ,_gfge =_fgg .writeReferredToSegments (w );if _gfge !=nil {return 0,_ge .Wrap (_gfge ,_caab ,"");};_befe +=_bbbfe ;_bbbfe ,_gfge =_fgg .writeSegmentPageAssociation (w );if _gfge !=nil {return 0,_ge .Wrap (_gfge ,_caab ,"");};_befe +=_bbbfe ;_bbbfe ,_gfge =_fgg .writeSegmentDataLength (w );if _gfge !=nil {return 0,_ge .Wrap (_gfge ,_caab ,"");};_befe +=_bbbfe ;_fgg .HeaderLength =int64 (_befe )-int64 (_fgg .SegmentDataLength );if _gbgf !=nil {if _ ,_gfge =w .Write (_gbgf .Data ());_gfge !=nil {return _befe ,_ge .Wrap (_gfge ,_caab ,"\u0077r\u0069t\u0065\u0020\u0073\u0065\u0067m\u0065\u006et\u0020\u0064\u0061\u0074\u0061");};};return _befe ,nil ;};func (_baae *PageInformationSegment )checkInput ()error {if _baae .PageBMHeight ==_bg .MaxInt32 {if !_baae .IsStripe {_ff .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 (_daaf *SymbolDictionary )readRefinementAtPixels (_dccfd int )error {_daaf .SdrATX =make ([]int8 ,_dccfd );_daaf .SdrATY =make ([]int8 ,_dccfd );var (_cdca byte ;_aaea error ;);for _adcc :=0;_adcc < _dccfd ;_adcc ++{_cdca ,_aaea =_daaf ._gbcf .ReadByte ();if _aaea !=nil {return _aaea ;};_daaf .SdrATX [_adcc ]=int8 (_cdca );_cdca ,_aaea =_daaf ._gbcf .ReadByte ();if _aaea !=nil {return _aaea ;};_daaf .SdrATY [_adcc ]=int8 (_cdca );};return nil ;};func (_da *GenericRefinementRegion )Init (header *Header ,r _e .StreamReader )error {_da ._ag =header ;_da ._gcdc =r ;_da .RegionInfo =NewRegionSegment (r );return _da .parseHeader ();};func (_fcfe *TableSegment )HtRS ()int32 {return _fcfe ._eeece };func (_geb *GenericRegion )Init (h *Header ,r _e .StreamReader )error {_geb .RegionSegment =NewRegionSegment (r );_geb ._gbg =r ;return _geb .parseHeader ();};func (_agg *TextRegion )decodeID ()(int64 ,error ){if _agg .IsHuffmanEncoded {if _agg ._cafa ==nil {_begfc ,_badfag :=_agg ._bege .ReadBits (byte (_agg ._abge ));return int64 (_begfc ),_badfag ;};return _agg ._cafa .Decode (_agg ._bege );};return _agg ._fdf .DecodeIAID (uint64 (_agg ._abge ),_agg ._dggb );};func (_ffgc *PageInformationSegment )readDefaultPixelValue ()error {_bfab ,_bcdf :=_ffgc ._ceaa .ReadBit ();if _bcdf !=nil {return _bcdf ;};_ffgc ._cgad =uint8 (_bfab &0xf);return nil ;};func (_cbad *TextRegion )Encode (w _e .BinaryWriter )(_acge int ,_dcee error ){const _dfgd ="\u0054\u0065\u0078\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u002e\u0045n\u0063\u006f\u0064\u0065";if _acge ,_dcee =_cbad .RegionInfo .Encode (w );_dcee !=nil {return _acge ,_ge .Wrap (_dcee ,_dfgd ,"");};var _cbb int ;if _cbb ,_dcee =_cbad .encodeFlags (w );_dcee !=nil {return _acge ,_ge .Wrap (_dcee ,_dfgd ,"");};_acge +=_cbb ;if _cbb ,_dcee =_cbad .encodeSymbols (w );_dcee !=nil {return _acge ,_ge .Wrap (_dcee ,_dfgd ,"");};_acge +=_cbb ;return _acge ,nil ;};type Documenter interface{GetPage (int )(Pager ,error );GetGlobalSegment (int )(*Header ,error );};func (_bfbad *Header )String ()string {_bge :=&_bb .Builder {};_bge .WriteString ("\u000a[\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045A\u0044\u0045\u0052\u005d\u000a");_bge .WriteString (_c .Sprintf ("\t\u002d\u0020\u0053\u0065gm\u0065n\u0074\u004e\u0075\u006d\u0062e\u0072\u003a\u0020\u0025\u0076\u000a",_bfbad .SegmentNumber ));_bge .WriteString (_c .Sprintf ("\u0009\u002d\u0020T\u0079\u0070\u0065\u003a\u0020\u0025\u0076\u000a",_bfbad .Type ));_bge .WriteString (_c .Sprintf ("\u0009-\u0020R\u0065\u0074\u0061\u0069\u006eF\u006c\u0061g\u003a\u0020\u0025\u0076\u000a",_bfbad .RetainFlag ));_bge .WriteString (_c .Sprintf ("\u0009\u002d\u0020Pa\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_bfbad .PageAssociation ));_bge .WriteString (_c .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",_bfbad .PageAssociationFieldSize ));_bge .WriteString ("\u0009-\u0020R\u0054\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u0053\u003a\u000a");for _ ,_dgag :=range _bfbad .RTSNumbers {_bge .WriteString (_c .Sprintf ("\u0009\t\u002d\u0020\u0025\u0064\u000a",_dgag ));};_bge .WriteString (_c .Sprintf ("\t\u002d \u0048\u0065\u0061\u0064\u0065\u0072\u004c\u0065n\u0067\u0074\u0068\u003a %\u0076\u000a",_bfbad .HeaderLength ));_bge .WriteString (_c .Sprintf ("\u0009-\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061L\u0065n\u0067\u0074\u0068\u003a\u0020\u0025\u0076\n",_bfbad .SegmentDataLength ));_bge .WriteString (_c .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",_bfbad .SegmentDataStartOffset ));return _bge .String ();};func (_gcec *SymbolDictionary )setInSyms ()error {if _gcec .Header .RTSegments !=nil {return _gcec .retrieveImportSymbols ();};_gcec ._bcfg =make ([]*_g .Bitmap ,0);return nil ;};type SymbolDictionary struct{_gbcf _e .StreamReader ;SdrTemplate int8 ;SdTemplate int8 ;_dfad bool ;_eaeb 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 ;_cggf uint32 ;_bcfg []*_g .Bitmap ;_bacd uint32 ;_dbacb []*_g .Bitmap ;_fgca _gd .Tabler ;_bfc _gd .Tabler ;_bbbaf _gd .Tabler ;_fecb _gd .Tabler ;_bgdg []*_g .Bitmap ;_cgf []*_g .Bitmap ;_cdd *_eg .Decoder ;_dcf *TextRegion ;_def *GenericRegion ;_fgbc *GenericRefinementRegion ;_fcba *_eg .DecoderStats ;_cbfc *_eg .DecoderStats ;_gege *_eg .DecoderStats ;_ebf *_eg .DecoderStats ;_cffg *_eg .DecoderStats ;_dfae *_eg .DecoderStats ;_dfcde *_eg .DecoderStats ;_egbce *_eg .DecoderStats ;_ggfe *_eg .DecoderStats ;_fegg int8 ;_ecec *_g .Bitmaps ;_ddaa []int ;_dfbg map[int ]int ;_cdg bool ;};func (_ccgbf *TextRegion )decodeDT ()(_bade int64 ,_fgec error ){if _ccgbf .IsHuffmanEncoded {if _ccgbf .SbHuffDT ==3{_bade ,_fgec =_ccgbf ._dcdc .Decode (_ccgbf ._bege );if _fgec !=nil {return 0,_fgec ;};}else {var _cdea _gd .Tabler ;_cdea ,_fgec =_gd .GetStandardTable (11+int (_ccgbf .SbHuffDT ));if _fgec !=nil {return 0,_fgec ;};_bade ,_fgec =_cdea .Decode (_ccgbf ._bege );if _fgec !=nil {return 0,_fgec ;};};}else {var _ccabd int32 ;_ccabd ,_fgec =_ccgbf ._fdf .DecodeInt (_ccgbf ._bfgcd );if _fgec !=nil {return ;};_bade =int64 (_ccabd );};_bade *=int64 (_ccgbf .SbStrips );return _bade ,nil ;};func (_aaag *SymbolDictionary )setCodingStatistics ()error {if _aaag ._egbce ==nil {_aaag ._egbce =_eg .NewStats (512,1);};if _aaag ._cbfc ==nil {_aaag ._cbfc =_eg .NewStats (512,1);};if _aaag ._gege ==nil {_aaag ._gege =_eg .NewStats (512,1);};if _aaag ._ebf ==nil {_aaag ._ebf =_eg .NewStats (512,1);};if _aaag ._cffg ==nil {_aaag ._cffg =_eg .NewStats (512,1);};if _aaag .UseRefinementAggregation &&_aaag ._ggfe ==nil {_aaag ._ggfe =_eg .NewStats (1<<uint (_aaag ._fegg ),1);_aaag ._dfae =_eg .NewStats (512,1);_aaag ._dfcde =_eg .NewStats (512,1);};if _aaag ._fcba ==nil {_aaag ._fcba =_eg .NewStats (65536,1);};if _aaag ._cdd ==nil {var _abba error ;_aaag ._cdd ,_abba =_eg .New (_aaag ._gbcf );if _abba !=nil {return _abba ;};};return nil ;};func (_ba *EndOfStripe )parseHeader (_gf *Header ,_ee _e .StreamReader )error {_cg ,_gcb :=_ba ._fb .ReadBits (32);if _gcb !=nil {return _gcb ;};_ba ._cf =int (_cg &_bg .MaxInt32 );return nil ;};func (_gabf *TextRegion )String ()string {_ggbga :=&_bb .Builder {};_ggbga .WriteString ("\u000a[\u0054E\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u000a");_ggbga .WriteString (_gabf .RegionInfo .String ()+"\u000a");_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053br\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u003a\u0020\u0025\u0076\u000a",_gabf .SbrTemplate ));_ggbga .WriteString (_c .Sprintf ("\u0009-\u0020S\u0062\u0044\u0073\u004f\u0066f\u0073\u0065t\u003a\u0020\u0025\u0076\u000a",_gabf .SbDsOffset ));_ggbga .WriteString (_c .Sprintf ("\t\u002d \u0044\u0065\u0066\u0061\u0075\u006c\u0074\u0050i\u0078\u0065\u006c\u003a %\u0076\u000a",_gabf .DefaultPixel ));_ggbga .WriteString (_c .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0076\u000a",_gabf .CombinationOperator ));_ggbga .WriteString (_c .Sprintf ("\t\u002d \u0049\u0073\u0054\u0072\u0061\u006e\u0073\u0070o\u0073\u0065\u0064\u003a %\u0076\u000a",_gabf .IsTransposed ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020Re\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0043\u006f\u0072\u006e\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_gabf .ReferenceCorner ));_ggbga .WriteString (_c .Sprintf ("\t\u002d\u0020\u0055\u0073eR\u0065f\u0069\u006e\u0065\u006d\u0065n\u0074\u003a\u0020\u0025\u0076\u000a",_gabf .UseRefinement ));_ggbga .WriteString (_c .Sprintf ("\u0009-\u0020\u0049\u0073\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045n\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0076\u000a",_gabf .IsHuffmanEncoded ));if _gabf .IsHuffmanEncoded {_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_gabf .SbHuffRSize ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0059:\u0020\u0025\u0076\u000a",_gabf .SbHuffRDY ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0058:\u0020\u0025\u0076\u000a",_gabf .SbHuffRDX ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069\u0067\u0068\u0074\u003a\u0020\u0025v\u000a",_gabf .SbHuffRDHeight ));_ggbga .WriteString (_c .Sprintf ("\t\u002d\u0020\u0053\u0062Hu\u0066f\u0052\u0044\u0057\u0069\u0064t\u0068\u003a\u0020\u0025\u0076\u000a",_gabf .SbHuffRDWidth ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0054\u003a\u0020\u0025\u0076\u000a",_gabf .SbHuffDT ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0053\u003a\u0020\u0025\u0076\u000a",_gabf .SbHuffDS ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0046\u0053\u003a\u0020\u0025\u0076\u000a",_gabf .SbHuffFS ));};_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_gabf .SbrATX ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0059:\u0020\u0025\u0076\u000a",_gabf .SbrATY ));_ggbga .WriteString (_c .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",_gabf .NumberOfSymbolInstances ));_ggbga .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_gabf .SbrATX ));return _ggbga .String ();};func (_dbb *PageInformationSegment )readCombinationOperatorOverrideAllowed ()error {_ddfc ,_ebeg :=_dbb ._ceaa .ReadBit ();if _ebeg !=nil {return _ebeg ;};if _ddfc ==1{_dbb ._gafg =true ;};return nil ;};func (_dggd *SymbolDictionary )encodeSymbols (_cbeg _e .BinaryWriter )(_abdg int ,_eeeg error ){const _bgag ="\u0065\u006e\u0063o\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c";_fdbfga :=_gc .New ();_fdbfga .Init ();_bfce ,_eeeg :=_dggd ._ecec .SelectByIndexes (_dggd ._ddaa );if _eeeg !=nil {return 0,_ge .Wrap (_eeeg ,_bgag ,"\u0069n\u0069\u0074\u0069\u0061\u006c");};_aecfd :=map[*_g .Bitmap ]int {};for _fdbc ,_affb :=range _bfce .Values {_aecfd [_affb ]=_fdbc ;};_bfce .SortByHeight ();var _ffbc ,_dfda int ;_cfbg ,_eeeg :=_bfce .GroupByHeight ();if _eeeg !=nil {return 0,_ge .Wrap (_eeeg ,_bgag ,"");};for _ ,_ebdbf :=range _cfbg .Values {_bbda :=_ebdbf .Values [0].Height ;_bcc :=_bbda -_ffbc ;if _eeeg =_fdbfga .EncodeInteger (_gc .IADH ,_bcc );_eeeg !=nil {return 0,_ge .Wrapf (_eeeg ,_bgag ,"\u0049\u0041\u0044\u0048\u0020\u0066\u006f\u0072\u0020\u0064\u0068\u003a \u0027\u0025\u0064\u0027",_bcc );};_ffbc =_bbda ;_aacf ,_ebge :=_ebdbf .GroupByWidth ();if _ebge !=nil {return 0,_ge .Wrapf (_ebge ,_bgag ,"\u0068\u0065\u0069g\u0068\u0074\u003a\u0020\u0027\u0025\u0064\u0027",_bbda );};var _ddfa int ;for _ ,_abbb :=range _aacf .Values {for _ ,_ddad :=range _abbb .Values {_acgcc :=_ddad .Width ;_aefb :=_acgcc -_ddfa ;if _ebge =_fdbfga .EncodeInteger (_gc .IADW ,_aefb );_ebge !=nil {return 0,_ge .Wrapf (_ebge ,_bgag ,"\u0049\u0041\u0044\u0057\u0020\u0066\u006f\u0072\u0020\u0064\u0077\u003a \u0027\u0025\u0064\u0027",_aefb );};_ddfa +=_aefb ;if _ebge =_fdbfga .EncodeBitmap (_ddad ,false );_ebge !=nil {return 0,_ge .Wrapf (_ebge ,_bgag ,"H\u0065i\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u0020W\u0069\u0064\u0074\u0068: \u0025\u0064",_bbda ,_acgcc );};_adbg :=_aecfd [_ddad ];_dggd ._dfbg [_adbg ]=_dfda ;_dfda ++;};};if _ebge =_fdbfga .EncodeOOB (_gc .IADW );_ebge !=nil {return 0,_ge .Wrap (_ebge ,_bgag ,"\u0049\u0041\u0044\u0057");};};if _eeeg =_fdbfga .EncodeInteger (_gc .IAEX ,0);_eeeg !=nil {return 0,_ge .Wrap (_eeeg ,_bgag ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};if _eeeg =_fdbfga .EncodeInteger (_gc .IAEX ,len (_dggd ._ddaa ));_eeeg !=nil {return 0,_ge .Wrap (_eeeg ,_bgag ,"\u006e\u0075\u006d\u0062\u0065\u0072\u0020\u006f\u0066\u0020\u0073\u0079m\u0062\u006f\u006c\u0073");};_fdbfga .Final ();_bbfd ,_eeeg :=_fdbfga .WriteTo (_cbeg );if _eeeg !=nil {return 0,_ge .Wrap (_eeeg ,_bgag ,"\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 (_bbfd ),nil ;};func (_aebee *TextRegion )initSymbols ()error {const _degb ="i\u006e\u0069\u0074\u0053\u0079\u006d\u0062\u006f\u006c\u0073";for _ ,_cfgfd :=range _aebee .Header .RTSegments {if _cfgfd ==nil {return _ge .Error (_degb ,"\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 _cfgfd .Type ==0{_ggggd ,_faebe :=_cfgfd .GetSegmentData ();if _faebe !=nil {return _ge .Wrap (_faebe ,_degb ,"");};_ffcg ,_dged :=_ggggd .(*SymbolDictionary );if !_dged {return _ge .Error (_degb ,"\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");};_ffcg ._ggfe =_aebee ._dggb ;_dfgg ,_faebe :=_ffcg .GetDictionary ();if _faebe !=nil {return _ge .Wrap (_faebe ,_degb ,"");};_aebee .Symbols =append (_aebee .Symbols ,_dfgg ...);};};_aebee .NumberOfSymbols =uint32 (len (_aebee .Symbols ));return nil ;};func (_ddfeg *TextRegion )setParameters (_aeaaa *_eg .Decoder ,_gfaca ,_bgaa bool ,_agde ,_fgea uint32 ,_eadg uint32 ,_cdbae int8 ,_fedc uint32 ,_bgfg int8 ,_bcgc _g .CombinationOperator ,_dcgb int8 ,_aaceb int16 ,_baaf ,_cdbf ,_gadf ,_cggc ,_beeea ,_dgfa ,_gdge ,_dcfad ,_eaggcg ,_cfca int8 ,_cegd ,_fffg []int8 ,_afeb []*_g .Bitmap ,_gfgf int8 ){_ddfeg ._fdf =_aeaaa ;_ddfeg .IsHuffmanEncoded =_gfaca ;_ddfeg .UseRefinement =_bgaa ;_ddfeg .RegionInfo .BitmapWidth =_agde ;_ddfeg .RegionInfo .BitmapHeight =_fgea ;_ddfeg .NumberOfSymbolInstances =_eadg ;_ddfeg .SbStrips =_cdbae ;_ddfeg .NumberOfSymbols =_fedc ;_ddfeg .DefaultPixel =_bgfg ;_ddfeg .CombinationOperator =_bcgc ;_ddfeg .IsTransposed =_dcgb ;_ddfeg .ReferenceCorner =_aaceb ;_ddfeg .SbDsOffset =_baaf ;_ddfeg .SbHuffFS =_cdbf ;_ddfeg .SbHuffDS =_gadf ;_ddfeg .SbHuffDT =_cggc ;_ddfeg .SbHuffRDWidth =_beeea ;_ddfeg .SbHuffRDHeight =_dgfa ;_ddfeg .SbHuffRSize =_eaggcg ;_ddfeg .SbHuffRDX =_gdge ;_ddfeg .SbHuffRDY =_dcfad ;_ddfeg .SbrTemplate =_cfca ;_ddfeg .SbrATX =_cegd ;_ddfeg .SbrATY =_fffg ;_ddfeg .Symbols =_afeb ;_ddfeg ._abge =_gfgf ;};func (_cef *GenericRefinementRegion )decodeTypicalPredictedLineTemplate1 (_fcf ,_agf ,_bgd ,_gac ,_agdg ,_ege ,_dbac ,_abc ,_dbge int )(_afa error ){var (_bfb ,_bde int ;_gec ,_decd int ;_ega ,_dge int ;_gef byte ;);if _fcf > 0{_gef ,_afa =_cef .RegionBitmap .GetByte (_dbac -_bgd );if _afa !=nil {return ;};_gec =int (_gef );};if _abc > 0&&_abc <=_cef .ReferenceBitmap .Height {_gef ,_afa =_cef .ReferenceBitmap .GetByte (_dbge -_gac +_ege );if _afa !=nil {return ;};_decd =int (_gef )<<2;};if _abc >=0&&_abc < _cef .ReferenceBitmap .Height {_gef ,_afa =_cef .ReferenceBitmap .GetByte (_dbge +_ege );if _afa !=nil {return ;};_ega =int (_gef );};if _abc > -2&&_abc < _cef .ReferenceBitmap .Height -1{_gef ,_afa =_cef .ReferenceBitmap .GetByte (_dbge +_gac +_ege );if _afa !=nil {return ;};_dge =int (_gef );};_bfb =((_gec >>5)&0x6)|((_dge >>2)&0x30)|(_ega &0xc0)|(_decd &0x200);_bde =((_dge >>2)&0x70)|(_ega &0xc0)|(_decd &0x700);var _egca int ;for _ggf :=0;_ggf < _agdg ;_ggf =_egca {var (_adb int ;_dgea int ;);_egca =_ggf +8;if _adb =_agf -_ggf ;_adb > 8{_adb =8;};_abf :=_egca < _agf ;_fgb :=_egca < _cef .ReferenceBitmap .Width ;_abd :=_ege +1;if _fcf > 0{_gef =0;if _abf {_gef ,_afa =_cef .RegionBitmap .GetByte (_dbac -_bgd +1);if _afa !=nil {return ;};};_gec =(_gec <<8)|int (_gef );};if _abc > 0&&_abc <=_cef .ReferenceBitmap .Height {var _eec int ;if _fgb {_gef ,_afa =_cef .ReferenceBitmap .GetByte (_dbge -_gac +_abd );if _afa !=nil {return ;};_eec =int (_gef )<<2;};_decd =(_decd <<8)|_eec ;};if _abc >=0&&_abc < _cef .ReferenceBitmap .Height {_gef =0;if _fgb {_gef ,_afa =_cef .ReferenceBitmap .GetByte (_dbge +_abd );if _afa !=nil {return ;};};_ega =(_ega <<8)|int (_gef );};if _abc > -2&&_abc < (_cef .ReferenceBitmap .Height -1){_gef =0;if _fgb {_gef ,_afa =_cef .ReferenceBitmap .GetByte (_dbge +_gac +_abd );if _afa !=nil {return ;};};_dge =(_dge <<8)|int (_gef );};for _ffb :=0;_ffb < _adb ;_ffb ++{var _cad int ;_gga :=(_bde >>4)&0x1ff;switch _gga {case 0x1ff:_cad =1;case 0x00:_cad =0;default:_cef ._de .SetIndex (int32 (_bfb ));_cad ,_afa =_cef ._edc .DecodeBit (_cef ._de );if _afa !=nil {return ;};};_gag :=uint (7-_ffb );_dgea |=_cad <<_gag ;_bfb =((_bfb &0x0d6)<<1)|_cad |(_gec >>_gag +5)&0x002|((_dge >>_gag +2)&0x010)|((_ega >>_gag )&0x040)|((_decd >>_gag )&0x200);_bde =((_bde &0xdb)<<1)|((_dge >>_gag +2)&0x010)|((_ega >>_gag )&0x080)|((_decd >>_gag )&0x400);};_afa =_cef .RegionBitmap .SetByte (_dbac ,byte (_dgea ));if _afa !=nil {return ;};_dbac ++;_dbge ++;};return nil ;};func (_aece *PageInformationSegment )readWidthAndHeight ()error {_faef ,_eegf :=_aece ._ceaa .ReadBits (32);if _eegf !=nil {return _eegf ;};_aece .PageBMWidth =int (_faef &_bg .MaxInt32 );_faef ,_eegf =_aece ._ceaa .ReadBits (32);if _eegf !=nil {return _eegf ;};_aece .PageBMHeight =int (_faef &_bg .MaxInt32 );return nil ;};var _ _gd .BasicTabler =&TableSegment {};func (_dccg *SymbolDictionary )decodeThroughTextRegion (_faad ,_gacc ,_aca uint32 )error {if _dccg ._dcf ==nil {_dccg ._dcf =_cbbg (_dccg ._gbcf ,nil );_dccg ._dcf .setContexts (_dccg ._fcba ,_eg .NewStats (512,1),_eg .NewStats (512,1),_eg .NewStats (512,1),_eg .NewStats (512,1),_dccg ._ggfe ,_eg .NewStats (512,1),_eg .NewStats (512,1),_eg .NewStats (512,1),_eg .NewStats (512,1));};if _ebbfa :=_dccg .setSymbolsArray ();_ebbfa !=nil {return _ebbfa ;};_dccg ._dcf .setParameters (_dccg ._cdd ,_dccg .IsHuffmanEncoded ,true ,_faad ,_gacc ,_aca ,1,_dccg ._cggf +_dccg ._bacd ,0,0,0,1,0,0,0,0,0,0,0,0,0,_dccg .SdrTemplate ,_dccg .SdrATX ,_dccg .SdrATY ,_dccg ._cgf ,_dccg ._fegg );return _dccg .addSymbol (_dccg ._dcf );};type template1 struct{};func (_ebbb *SymbolDictionary )getUserTable (_gdcg int )(_gd .Tabler ,error ){var _dafb int ;for _ ,_cged :=range _ebbb .Header .RTSegments {if _cged .Type ==53{if _dafb ==_gdcg {_gacb ,_daag :=_cged .GetSegmentData ();if _daag !=nil {return nil ,_daag ;};_daab :=_gacb .(_gd .BasicTabler );return _gd .NewEncodedTable (_daab );};_dafb ++;};};return nil ,nil ;};func (_cba *PageInformationSegment )readResolution ()error {_ecde ,_ccge :=_cba ._ceaa .ReadBits (32);if _ccge !=nil {return _ccge ;};_cba .ResolutionX =int (_ecde &_bg .MaxInt32 );_ecde ,_ccge =_cba ._ceaa .ReadBits (32);if _ccge !=nil {return _ccge ;};_cba .ResolutionY =int (_ecde &_bg .MaxInt32 );return nil ;};func (_fgbdg *SymbolDictionary )decodeAggregate (_ebfd ,_cebc uint32 )error {var (_bcfb int64 ;_facce error ;);if _fgbdg .IsHuffmanEncoded {_bcfb ,_facce =_fgbdg .huffDecodeRefAggNInst ();if _facce !=nil {return _facce ;};}else {_efeec ,_bgac :=_fgbdg ._cdd .DecodeInt (_fgbdg ._ebf );if _bgac !=nil {return _bgac ;};_bcfb =int64 (_efeec );};if _bcfb > 1{return _fgbdg .decodeThroughTextRegion (_ebfd ,_cebc ,uint32 (_bcfb ));}else if _bcfb ==1{return _fgbdg .decodeRefinedSymbol (_ebfd ,_cebc );};return nil ;};type Segmenter interface{Init (_gbbec *Header ,_feea _e .StreamReader )error ;};func (_eecf *TextRegion )setCodingStatistics ()error {if _eecf ._bfgcd ==nil {_eecf ._bfgcd =_eg .NewStats (512,1);};if _eecf ._cecg ==nil {_eecf ._cecg =_eg .NewStats (512,1);};if _eecf ._egde ==nil {_eecf ._egde =_eg .NewStats (512,1);};if _eecf ._dgga ==nil {_eecf ._dgga =_eg .NewStats (512,1);};if _eecf ._abafg ==nil {_eecf ._abafg =_eg .NewStats (512,1);};if _eecf ._bccd ==nil {_eecf ._bccd =_eg .NewStats (512,1);};if _eecf ._dcdbb ==nil {_eecf ._dcdbb =_eg .NewStats (512,1);};if _eecf ._dggb ==nil {_eecf ._dggb =_eg .NewStats (1<<uint (_eecf ._abge ),1);};if _eecf ._cfbb ==nil {_eecf ._cfbb =_eg .NewStats (512,1);};if _eecf ._fabf ==nil {_eecf ._fabf =_eg .NewStats (512,1);};if _eecf ._fdf ==nil {var _dedd error ;_eecf ._fdf ,_dedd =_eg .New (_eecf ._bege );if _dedd !=nil {return _dedd ;};};return nil ;};func (_edf *GenericRegion )overrideAtTemplate0a (_effg ,_gcce ,_edde ,_cfgf ,_gdc ,_dgad int )int {if _edf .GBAtOverride [0]{_effg &=0xFFEF;if _edf .GBAtY [0]==0&&_edf .GBAtX [0]>=-int8 (_gdc ){_effg |=(_cfgf >>uint (int8 (_dgad )-_edf .GBAtX [0]&0x1))<<4;}else {_effg |=int (_edf .getPixel (_gcce +int (_edf .GBAtX [0]),_edde +int (_edf .GBAtY [0])))<<4;};};if _edf .GBAtOverride [1]{_effg &=0xFBFF;if _edf .GBAtY [1]==0&&_edf .GBAtX [1]>=-int8 (_gdc ){_effg |=(_cfgf >>uint (int8 (_dgad )-_edf .GBAtX [1]&0x1))<<10;}else {_effg |=int (_edf .getPixel (_gcce +int (_edf .GBAtX [1]),_edde +int (_edf .GBAtY [1])))<<10;};};if _edf .GBAtOverride [2]{_effg &=0xF7FF;if _edf .GBAtY [2]==0&&_edf .GBAtX [2]>=-int8 (_gdc ){_effg |=(_cfgf >>uint (int8 (_dgad )-_edf .GBAtX [2]&0x1))<<11;}else {_effg |=int (_edf .getPixel (_gcce +int (_edf .GBAtX [2]),_edde +int (_edf .GBAtY [2])))<<11;};};if _edf .GBAtOverride [3]{_effg &=0x7FFF;if _edf .GBAtY [3]==0&&_edf .GBAtX [3]>=-int8 (_gdc ){_effg |=(_cfgf >>uint (int8 (_dgad )-_edf .GBAtX [3]&0x1))<<15;}else {_effg |=int (_edf .getPixel (_gcce +int (_edf .GBAtX [3]),_edde +int (_edf .GBAtY [3])))<<15;};};return _effg ;};func (_eeec *GenericRefinementRegion )String ()string {_fdae :=&_bb .Builder {};_fdae .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_fdae .WriteString (_eeec .RegionInfo .String ()+"\u000a");_fdae .WriteString (_c .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0052\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_eeec .IsTPGROn ));_fdae .WriteString (_c .Sprintf ("\u0009-\u0020T\u0065\u006d\u0070\u006c\u0061t\u0065\u0049D\u003a\u0020\u0025\u0076\u000a",_eeec .TemplateID ));_fdae .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_eeec .GrAtX ));_fdae .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_eeec .GrAtY ));_fdae .WriteString (_c .Sprintf ("\u0009-\u0020R\u0065\u0066\u0065\u0072\u0065n\u0063\u0065D\u0058\u0020\u0025\u0076\u000a",_eeec .ReferenceDX ));_fdae .WriteString (_c .Sprintf ("\u0009\u002d\u0020\u0052ef\u0065\u0072\u0065\u006e\u0063\u0044\u0065\u0059\u003a\u0020\u0025\u0076\u000a",_eeec .ReferenceDY ));return _fdae .String ();};func (_abdd *SymbolDictionary )decodeRefinedSymbol (_gbcd ,_afff uint32 )error {var (_dcfg int ;_ggfgb ,_acdc int32 ;);if _abdd .IsHuffmanEncoded {_ebaec ,_agdf :=_abdd ._gbcf .ReadBits (byte (_abdd ._fegg ));if _agdf !=nil {return _agdf ;};_dcfg =int (_ebaec );_defe ,_agdf :=_gd .GetStandardTable (15);if _agdf !=nil {return _agdf ;};_aeef ,_agdf :=_defe .Decode (_abdd ._gbcf );if _agdf !=nil {return _agdf ;};_ggfgb =int32 (_aeef );_aeef ,_agdf =_defe .Decode (_abdd ._gbcf );if _agdf !=nil {return _agdf ;};_acdc =int32 (_aeef );_defe ,_agdf =_gd .GetStandardTable (1);if _agdf !=nil {return _agdf ;};if _ ,_agdf =_defe .Decode (_abdd ._gbcf );_agdf !=nil {return _agdf ;};_abdd ._gbcf .Align ();}else {_eedgd ,_bfef :=_abdd ._cdd .DecodeIAID (uint64 (_abdd ._fegg ),_abdd ._ggfe );if _bfef !=nil {return _bfef ;};_dcfg =int (_eedgd );_ggfgb ,_bfef =_abdd ._cdd .DecodeInt (_abdd ._dfae );if _bfef !=nil {return _bfef ;};_acdc ,_bfef =_abdd ._cdd .DecodeInt (_abdd ._dfcde );if _bfef !=nil {return _bfef ;};};if _geeg :=_abdd .setSymbolsArray ();_geeg !=nil {return _geeg ;};_fbb :=_abdd ._cgf [_dcfg ];if _abaf :=_abdd .decodeNewSymbols (_gbcd ,_afff ,_fbb ,_ggfgb ,_acdc );_abaf !=nil {return _abaf ;};if _abdd .IsHuffmanEncoded {_abdd ._gbcf .Align ();};return nil ;};type SegmentEncoder interface{Encode (_eadc _e .BinaryWriter )(_gacab int ,_gecb error );};func (_gacd *TextRegion )readUseRefinement ()error {if !_gacd .UseRefinement ||_gacd .SbrTemplate !=0{return nil ;};var (_fefcg byte ;_deba error ;);_gacd .SbrATX =make ([]int8 ,2);_gacd .SbrATY =make ([]int8 ,2);_fefcg ,_deba =_gacd ._bege .ReadByte ();if _deba !=nil {return _deba ;};_gacd .SbrATX [0]=int8 (_fefcg );_fefcg ,_deba =_gacd ._bege .ReadByte ();if _deba !=nil {return _deba ;};_gacd .SbrATY [0]=int8 (_fefcg );_fefcg ,_deba =_gacd ._bege .ReadByte ();if _deba !=nil {return _deba ;};_gacd .SbrATX [1]=int8 (_fefcg );_fefcg ,_deba =_gacd ._bege .ReadByte ();if _deba !=nil {return _deba ;};_gacd .SbrATY [1]=int8 (_fefcg );return nil ;};func (_acfa *PatternDictionary )Init (h *Header ,r _e .StreamReader )error {_acfa ._fdbb =r ;return _acfa .parseHeader ();};func (_fdd *GenericRegion )decodeSLTP ()(int ,error ){switch _fdd .GBTemplate {case 0:_fdd ._decfe .SetIndex (0x9B25);case 1:_fdd ._decfe .SetIndex (0x795);case 2:_fdd ._decfe .SetIndex (0xE5);case 3:_fdd ._decfe .SetIndex (0x195);};return _fdd ._cefd .DecodeBit (_fdd ._decfe );};func NewGenericRegion (r _e .StreamReader )*GenericRegion {return &GenericRegion {RegionSegment :NewRegionSegment (r ),_gbg :r };};func (_eba *GenericRegion )overrideAtTemplate0b (_gba ,_ggcb ,_bacg ,_aace ,_afeg ,_gfa int )int {if _eba .GBAtOverride [0]{_gba &=0xFFFD;if _eba .GBAtY [0]==0&&_eba .GBAtX [0]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [0]&0x1))<<1;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [0]),_bacg +int (_eba .GBAtY [0])))<<1;};};if _eba .GBAtOverride [1]{_gba &=0xDFFF;if _eba .GBAtY [1]==0&&_eba .GBAtX [1]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [1]&0x1))<<13;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [1]),_bacg +int (_eba .GBAtY [1])))<<13;};};if _eba .GBAtOverride [2]{_gba &=0xFDFF;if _eba .GBAtY [2]==0&&_eba .GBAtX [2]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [2]&0x1))<<9;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [2]),_bacg +int (_eba .GBAtY [2])))<<9;};};if _eba .GBAtOverride [3]{_gba &=0xBFFF;if _eba .GBAtY [3]==0&&_eba .GBAtX [3]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [3]&0x1))<<14;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [3]),_bacg +int (_eba .GBAtY [3])))<<14;};};if _eba .GBAtOverride [4]{_gba &=0xEFFF;if _eba .GBAtY [4]==0&&_eba .GBAtX [4]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [4]&0x1))<<12;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [4]),_bacg +int (_eba .GBAtY [4])))<<12;};};if _eba .GBAtOverride [5]{_gba &=0xFFDF;if _eba .GBAtY [5]==0&&_eba .GBAtX [5]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [5]&0x1))<<5;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [5]),_bacg +int (_eba .GBAtY [5])))<<5;};};if _eba .GBAtOverride [6]{_gba &=0xFFFB;if _eba .GBAtY [6]==0&&_eba .GBAtX [6]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [6]&0x1))<<2;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [6]),_bacg +int (_eba .GBAtY [6])))<<2;};};if _eba .GBAtOverride [7]{_gba &=0xFFF7;if _eba .GBAtY [7]==0&&_eba .GBAtX [7]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [7]&0x1))<<3;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [7]),_bacg +int (_eba .GBAtY [7])))<<3;};};if _eba .GBAtOverride [8]{_gba &=0xF7FF;if _eba .GBAtY [8]==0&&_eba .GBAtX [8]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [8]&0x1))<<11;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [8]),_bacg +int (_eba .GBAtY [8])))<<11;};};if _eba .GBAtOverride [9]{_gba &=0xFFEF;if _eba .GBAtY [9]==0&&_eba .GBAtX [9]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [9]&0x1))<<4;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [9]),_bacg +int (_eba .GBAtY [9])))<<4;};};if _eba .GBAtOverride [10]{_gba &=0x7FFF;if _eba .GBAtY [10]==0&&_eba .GBAtX [10]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [10]&0x1))<<15;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [10]),_bacg +int (_eba .GBAtY [10])))<<15;};};if _eba .GBAtOverride [11]{_gba &=0xFDFF;if _eba .GBAtY [11]==0&&_eba .GBAtX [11]>=-int8 (_afeg ){_gba |=(_aace >>uint (int8 (_gfa )-_eba .GBAtX [11]&0x1))<<10;}else {_gba |=int (_eba .getPixel (_ggcb +int (_eba .GBAtX [11]),_bacg +int (_eba .GBAtY [11])))<<10;};};return _gba ;};type Pager interface{GetSegment (int )(*Header ,error );GetBitmap ()(*_g .Bitmap ,error );};func (_bf *GenericRefinementRegion )getGrReference ()(*_g .Bitmap ,error ){segments :=_bf ._ag .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");};_dac ,_fg :=segments [0].GetSegmentData ();if _fg !=nil {return nil ,_fg ;};_dbg ,_eeg :=_dac .(Regioner );if !_eeg {return nil ,_c .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",_dac );};return _dbg .GetRegionBitmap ();};func (_gbac *Header )referenceSize ()uint {switch {case _gbac .SegmentNumber <=255:return 1;case _gbac .SegmentNumber <=65535:return 2;default:return 4;};};func (_dec *GenericRefinementRegion )GetRegionBitmap ()(*_g .Bitmap ,error ){var _gg error ;_ff .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 _gg !=nil {_ff .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",_gg );}else {_ff .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 _dec .RegionBitmap !=nil {return _dec .RegionBitmap ,nil ;};_gdg :=0;if _dec .ReferenceBitmap ==nil {_dec .ReferenceBitmap ,_gg =_dec .getGrReference ();if _gg !=nil {return nil ,_gg ;};};if _dec ._edc ==nil {_dec ._edc ,_gg =_eg .New (_dec ._gcdc );if _gg !=nil {return nil ,_gg ;};};if _dec ._de ==nil {_dec ._de =_eg .NewStats (8192,1);};_dec .RegionBitmap =_g .New (int (_dec .RegionInfo .BitmapWidth ),int (_dec .RegionInfo .BitmapHeight ));if _dec .TemplateID ==0{if _gg =_dec .updateOverride ();_gg !=nil {return nil ,_gg ;};};_db :=(_dec .RegionBitmap .Width +7)&-8;var _egg int ;if _dec .IsTPGROn {_egg =int (-_dec .ReferenceDY )*_dec .ReferenceBitmap .RowStride ;};_bd :=_egg +1;for _cc :=0;_cc < _dec .RegionBitmap .Height ;_cc ++{if _dec .IsTPGROn {_cfd ,_ga :=_dec .decodeSLTP ();if _ga !=nil {return nil ,_ga ;};_gdg ^=_cfd ;};if _gdg ==0{_gg =_dec .decodeOptimized (_cc ,_dec .RegionBitmap .Width ,_dec .RegionBitmap .RowStride ,_dec .ReferenceBitmap .RowStride ,_db ,_egg ,_bd );if _gg !=nil {return nil ,_gg ;};}else {_gg =_dec .decodeTypicalPredictedLine (_cc ,_dec .RegionBitmap .Width ,_dec .RegionBitmap .RowStride ,_dec .ReferenceBitmap .RowStride ,_db ,_egg );if _gg !=nil {return nil ,_gg ;};};};return _dec .RegionBitmap ,nil ;};func (_bgef *SymbolDictionary )setExportedSymbols (_cege []int ){for _cbcefc :=uint32 (0);_cbcefc < _bgef ._cggf +_bgef .NumberOfNewSymbols ;_cbcefc ++{if _cege [_cbcefc ]==1{var _abffa *_g .Bitmap ;if _cbcefc < _bgef ._cggf {_abffa =_bgef ._bcfg [_cbcefc ];}else {_abffa =_bgef ._dbacb [_cbcefc -_bgef ._cggf ];};_ff .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",_abffa );_bgef ._bgdg =append (_bgef ._bgdg ,_abffa );};};};func (_bbc *SymbolDictionary )setRetainedCodingContexts (_ffbeb *SymbolDictionary ){_bbc ._cdd =_ffbeb ._cdd ;_bbc .IsHuffmanEncoded =_ffbeb .IsHuffmanEncoded ;_bbc .UseRefinementAggregation =_ffbeb .UseRefinementAggregation ;_bbc .SdTemplate =_ffbeb .SdTemplate ;_bbc .SdrTemplate =_ffbeb .SdrTemplate ;_bbc .SdATX =_ffbeb .SdATX ;_bbc .SdATY =_ffbeb .SdATY ;_bbc .SdrATX =_ffbeb .SdrATX ;_bbc .SdrATY =_ffbeb .SdrATY ;_bbc ._fcba =_ffbeb ._fcba ;};func (_cda *PageInformationSegment )Init (h *Header ,r _e .StreamReader )(_dda error ){_cda ._ceaa =r ;if _dda =_cda .parseHeader ();_dda !=nil {return _ge .Wrap (_dda ,"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 (_fceg *TableSegment )HtOOB ()int32 {return _fceg ._eaebb };func (_eac *template1 )form (_fbdg ,_dfc ,_gfc ,_ddda ,_cdb int16 )int16 {return ((_fbdg &0x02)<<8)|(_dfc <<6)|((_gfc &0x03)<<4)|(_ddda <<1)|_cdb ;};func (_afdc *PageInformationSegment )encodeStripingInformation (_aga _e .BinaryWriter )(_agc int ,_fdag error ){const _cgebc ="\u0065n\u0063\u006f\u0064\u0065S\u0074\u0072\u0069\u0070\u0069n\u0067I\u006ef\u006f\u0072\u006d\u0061\u0074\u0069\u006fn";if !_afdc .IsStripe {if _agc ,_fdag =_aga .Write ([]byte {0x00,0x00});_fdag !=nil {return 0,_ge .Wrap (_fdag ,_cgebc ,"n\u006f\u0020\u0073\u0074\u0072\u0069\u0070\u0069\u006e\u0067");};return _agc ,nil ;};_bbed :=make ([]byte ,2);_bgc .BigEndian .PutUint16 (_bbed ,_afdc .MaxStripeSize |1<<15);if _agc ,_fdag =_aga .Write (_bbed );_fdag !=nil {return 0,_ge .Wrapf (_fdag ,_cgebc ,"\u0073\u0074\u0072i\u0070\u0069\u006e\u0067\u003a\u0020\u0025\u0064",_afdc .MaxStripeSize );};return _agc ,nil ;};func (_gadc *SymbolDictionary )encodeATFlags (_bbfg _e .BinaryWriter )(_bdbd int ,_abdf error ){const _cefdf ="\u0065\u006e\u0063\u006f\u0064\u0065\u0041\u0054\u0046\u006c\u0061\u0067\u0073";if _gadc .IsHuffmanEncoded ||_gadc .SdTemplate !=0{return 0,nil ;};_bag :=4;if _gadc .SdTemplate !=0{_bag =1;};for _acfg :=0;_acfg < _bag ;_acfg ++{if _abdf =_bbfg .WriteByte (byte (_gadc .SdATX [_acfg ]));_abdf !=nil {return _bdbd ,_ge .Wrapf (_abdf ,_cefdf ,"\u0053d\u0041\u0054\u0058\u005b\u0025\u0064]",_acfg );};_bdbd ++;if _abdf =_bbfg .WriteByte (byte (_gadc .SdATY [_acfg ]));_abdf !=nil {return _bdbd ,_ge .Wrapf (_abdf ,_cefdf ,"\u0053d\u0041\u0054\u0059\u005b\u0025\u0064]",_acfg );};_bdbd ++;};return _bdbd ,nil ;};func (_baad *RegionSegment )parseHeader ()error {const _dbfb ="p\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072";_ff .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 (){_ff .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");}();_efabb ,_bga :=_baad ._aacd .ReadBits (32);if _bga !=nil {return _ge .Wrap (_bga ,_dbfb ,"\u0077\u0069\u0064t\u0068");};_baad .BitmapWidth =uint32 (_efabb &_bg .MaxUint32 );_efabb ,_bga =_baad ._aacd .ReadBits (32);if _bga !=nil {return _ge .Wrap (_bga ,_dbfb ,"\u0068\u0065\u0069\u0067\u0068\u0074");};_baad .BitmapHeight =uint32 (_efabb &_bg .MaxUint32 );_efabb ,_bga =_baad ._aacd .ReadBits (32);if _bga !=nil {return _ge .Wrap (_bga ,_dbfb ,"\u0078\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_baad .XLocation =uint32 (_efabb &_bg .MaxUint32 );_efabb ,_bga =_baad ._aacd .ReadBits (32);if _bga !=nil {return _ge .Wrap (_bga ,_dbfb ,"\u0079\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_baad .YLocation =uint32 (_efabb &_bg .MaxUint32 );if _ ,_bga =_baad ._aacd .ReadBits (5);_bga !=nil {return _ge .Wrap (_bga ,_dbfb ,"\u0064i\u0072\u0079\u0020\u0072\u0065\u0061d");};if _bga =_baad .readCombinationOperator ();_bga !=nil {return _ge .Wrap (_bga ,_dbfb ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};return nil ;};func (_cdee *GenericRefinementRegion )decodeTemplate (_cb ,_aa ,_afg ,_ebg ,_caa ,_deb ,_fdad ,_bgdb ,_ggfg ,_bee int ,_ggcd templater )(_fea error ){var (_fbd ,_cac ,_fab ,_age ,_bdf int16 ;_bgf ,_fbe ,_fcd ,_bff int ;_dad byte ;);if _ggfg >=1&&(_ggfg -1)< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee -_ebg );if _fea !=nil {return ;};_bgf =int (_dad );};if _ggfg >=0&&(_ggfg )< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee );if _fea !=nil {return ;};_fbe =int (_dad );};if _ggfg >=-1&&(_ggfg +1)< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee +_ebg );if _fea !=nil {return ;};_fcd =int (_dad );};_bee ++;if _cb >=1{_dad ,_fea =_cdee .RegionBitmap .GetByte (_bgdb -_afg );if _fea !=nil {return ;};_bff =int (_dad );};_bgdb ++;_fgf :=_cdee .ReferenceDX %8;_cga :=6+_fgf ;_edb :=_bee %_ebg ;if _cga >=0{if _cga < 8{_fbd =int16 (_bgf >>uint (_cga ))&0x07;};if _cga < 8{_cac =int16 (_fbe >>uint (_cga ))&0x07;};if _cga < 8{_fab =int16 (_fcd >>uint (_cga ))&0x07;};if _cga ==6&&_edb > 1{if _ggfg >=1&&(_ggfg -1)< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee -_ebg -2);if _fea !=nil {return _fea ;};_fbd |=int16 (_dad <<2)&0x04;};if _ggfg >=0&&_ggfg < _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee -2);if _fea !=nil {return _fea ;};_cac |=int16 (_dad <<2)&0x04;};if _ggfg >=-1&&_ggfg +1< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee +_ebg -2);if _fea !=nil {return _fea ;};_fab |=int16 (_dad <<2)&0x04;};};if _cga ==0{_bgf =0;_fbe =0;_fcd =0;if _edb < _ebg -1{if _ggfg >=1&&_ggfg -1< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee -_ebg );if _fea !=nil {return _fea ;};_bgf =int (_dad );};if _ggfg >=0&&_ggfg < _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee );if _fea !=nil {return _fea ;};_fbe =int (_dad );};if _ggfg >=-1&&_ggfg +1< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee +_ebg );if _fea !=nil {return _fea ;};_fcd =int (_dad );};};_bee ++;};}else {_fbd =int16 (_bgf <<1)&0x07;_cac =int16 (_fbe <<1)&0x07;_fab =int16 (_fcd <<1)&0x07;_bgf =0;_fbe =0;_fcd =0;if _edb < _ebg -1{if _ggfg >=1&&_ggfg -1< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee -_ebg );if _fea !=nil {return _fea ;};_bgf =int (_dad );};if _ggfg >=0&&_ggfg < _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee );if _fea !=nil {return _fea ;};_fbe =int (_dad );};if _ggfg >=-1&&_ggfg +1< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee +_ebg );if _fea !=nil {return _fea ;};_fcd =int (_dad );};_bee ++;};_fbd |=int16 ((_bgf >>7)&0x07);_cac |=int16 ((_fbe >>7)&0x07);_fab |=int16 ((_fcd >>7)&0x07);};_age =int16 (_bff >>6);_bdf =0;_gcde :=(2-_fgf )%8;_bgf <<=uint (_gcde );_fbe <<=uint (_gcde );_fcd <<=uint (_gcde );_bff <<=2;var _dd int ;for _ebe :=0;_ebe < _aa ;_ebe ++{_fdbf :=_ebe &0x07;_ggad :=_ggcd .form (_fbd ,_cac ,_fab ,_age ,_bdf );if _cdee ._fdb {_dad ,_fea =_cdee .RegionBitmap .GetByte (_cdee .RegionBitmap .GetByteIndex (_ebe ,_cb ));if _fea !=nil {return _fea ;};_cdee ._de .SetIndex (int32 (_cdee .overrideAtTemplate0 (int (_ggad ),_ebe ,_cb ,int (_dad ),_fdbf )));}else {_cdee ._de .SetIndex (int32 (_ggad ));};_dd ,_fea =_cdee ._edc .DecodeBit (_cdee ._de );if _fea !=nil {return _fea ;};if _fea =_cdee .RegionBitmap .SetPixel (_ebe ,_cb ,byte (_dd ));_fea !=nil {return _fea ;};_fbd =((_fbd <<1)|0x01&int16 (_bgf >>7))&0x07;_cac =((_cac <<1)|0x01&int16 (_fbe >>7))&0x07;_fab =((_fab <<1)|0x01&int16 (_fcd >>7))&0x07;_age =((_age <<1)|0x01&int16 (_bff >>7))&0x07;_bdf =int16 (_dd );if (_ebe -int (_cdee .ReferenceDX ))%8==5{_bgf =0;_fbe =0;_fcd =0;if ((_ebe -int (_cdee .ReferenceDX ))/8)+1< _cdee .ReferenceBitmap .RowStride {if _ggfg >=1&&(_ggfg -1)< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee -_ebg );if _fea !=nil {return _fea ;};_bgf =int (_dad );};if _ggfg >=0&&_ggfg < _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee );if _fea !=nil {return _fea ;};_fbe =int (_dad );};if _ggfg >=-1&&(_ggfg +1)< _cdee .ReferenceBitmap .Height {_dad ,_fea =_cdee .ReferenceBitmap .GetByte (_bee +_ebg );if _fea !=nil {return _fea ;};_fcd =int (_dad );};};_bee ++;}else {_bgf <<=1;_fbe <<=1;_fcd <<=1;};if _fdbf ==5&&_cb >=1{if ((_ebe >>3)+1)>=_cdee .RegionBitmap .RowStride {_bff =0;}else {_dad ,_fea =_cdee .RegionBitmap .GetByte (_bgdb -_afg );if _fea !=nil {return _fea ;};_bff =int (_dad );};_bgdb ++;}else {_bff <<=1;};};return nil ;};func (_eaa *TableSegment )HtLow ()int32 {return _eaa ._aaae };func (_dbgg *TextRegion )decodeSymbolInstances ()error {_baaea ,_ggbff :=_dbgg .decodeStripT ();if _ggbff !=nil {return _ggbff ;};var (_gcbc int64 ;_ecef uint32 ;);for _ecef < _dbgg .NumberOfSymbolInstances {_gdbc ,_gfgeg :=_dbgg .decodeDT ();if _gfgeg !=nil {return _gfgeg ;};_baaea +=_gdbc ;var _fgaa int64 ;_bfbf :=true ;_dbgg ._ddac =0;for {if _bfbf {_fgaa ,_gfgeg =_dbgg .decodeDfs ();if _gfgeg !=nil {return _gfgeg ;};_gcbc +=_fgaa ;_dbgg ._ddac =_gcbc ;_bfbf =false ;}else {_ddcg ,_ebfda :=_dbgg .decodeIds ();if _ca .Is (_ebfda ,_ac .ErrOOB ){break ;};if _ebfda !=nil {return _ebfda ;};if _ecef >=_dbgg .NumberOfSymbolInstances {break ;};_dbgg ._ddac +=_ddcg +int64 (_dbgg .SbDsOffset );};_cdga ,_fgcc :=_dbgg .decodeCurrentT ();if _fgcc !=nil {return _fgcc ;};_fcfgc :=_baaea +_cdga ;_gaeef ,_fgcc :=_dbgg .decodeID ();if _fgcc !=nil {return _fgcc ;};_gcbe ,_fgcc :=_dbgg .decodeRI ();if _fgcc !=nil {return _fgcc ;};_ddfe ,_fgcc :=_dbgg .decodeIb (_gcbe ,_gaeef );if _fgcc !=nil {return _fgcc ;};if _fgcc =_dbgg .blit (_ddfe ,_fcfgc );_fgcc !=nil {return _fgcc ;};_ecef ++;};};return nil ;};func (_ecc *GenericRegion )decodeTemplate3 (_bbec ,_dga ,_cfdg int ,_agfg ,_ede int )(_bbdg error ){const _cff ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0033";var (_eegg ,_fafe int ;_gaff int ;_abfb byte ;_aea ,_dcg int ;);if _bbec >=1{_abfb ,_bbdg =_ecc .Bitmap .GetByte (_ede );if _bbdg !=nil {return _ge .Wrap (_bbdg ,_cff ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_gaff =int (_abfb );};_eegg =(_gaff >>1)&0x70;for _aeda :=0;_aeda < _cfdg ;_aeda =_aea {var (_dacf byte ;_dcga int ;);_aea =_aeda +8;if _agdb :=_dga -_aeda ;_agdb > 8{_dcga =8;}else {_dcga =_agdb ;};if _bbec >=1{_gaff <<=8;if _aea < _dga {_abfb ,_bbdg =_ecc .Bitmap .GetByte (_ede +1);if _bbdg !=nil {return _ge .Wrap (_bbdg ,_cff ,"\u0069\u006e\u006e\u0065\u0072\u0020\u002d\u0020\u006c\u0069\u006e\u0065 \u003e\u003d\u0020\u0031");};_gaff |=int (_abfb );};};for _efe :=0;_efe < _dcga ;_efe ++{if _ecc ._bbe {_fafe =_ecc .overrideAtTemplate3 (_eegg ,_aeda +_efe ,_bbec ,int (_dacf ),_efe );_ecc ._decfe .SetIndex (int32 (_fafe ));}else {_ecc ._decfe .SetIndex (int32 (_eegg ));};_dcg ,_bbdg =_ecc ._cefd .DecodeBit (_ecc ._decfe );if _bbdg !=nil {return _ge .Wrap (_bbdg ,_cff ,"");};_dacf |=byte (_dcg )<<byte (7-_efe );_eegg =((_eegg &0x1f7)<<1)|_dcg |((_gaff >>uint (8-_efe ))&0x010);};if _fac :=_ecc .Bitmap .SetByte (_agfg ,_dacf );_fac !=nil {return _ge .Wrap (_fac ,_cff ,"");};_agfg ++;_ede ++;};return nil ;};func (_gda *template0 )setIndex (_cfb *_eg .DecoderStats ){_cfb .SetIndex (0x100)}; |