// // 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 convertutils ;import (_bd "bytes";_ba "errors";_f "fmt";_beb "github.com/unidoc/unioffice/common/logger";_fb "github.com/unidoc/unioffice/measurement";_ec "github.com/unidoc/unioffice/schema/soo/dml";_fcg "github.com/unidoc/unioffice/schema/soo/dml/chart";_ff "github.com/unidoc/unioffice/spreadsheet/format";_g "github.com/unidoc/unipdf/v3/creator";_e "github.com/unidoc/unipdf/v3/model";_aa "github.com/unidoc/unipdf/v3/render";_af "github.com/unidoc/unitype";_d "image";_be "math";_a "os";_bge "sort";_fc "strconv";_bga "strings";_bg "sync";_c "unicode";);type ImgPart byte ;func _bgde (_bfc ,_cedb ,_gdf float64 )(uint8 ,uint8 ,uint8 ){var _cgg float64 ;if _gdf < 0.5{_cgg =_gdf *(1+_cedb );}else {_cgg =_gdf +_cedb -_gdf *_cedb ;};_fffea :=_gdf *2-_cgg ;_bfc /=360.0;_bcf :=_bbd (_bfc +1.0/3.0);_aefg :=_bbd (_bfc );_eddc :=_bbd (_bfc -1.0/3.0);_badg :=_dbf (_bcf ,_cgg ,_fffea );_eabd :=_dbf (_aefg ,_cgg ,_fffea );_bbb :=_dbf (_eddc ,_cgg ,_fffea );return uint8 (255*_badg ),uint8 (255*_eabd ),uint8 (255*_bbb );};const (ImgPart_whole ImgPart =0;ImgPart_t ImgPart =1;ImgPart_b ImgPart =2;ImgPart_l ImgPart =3;ImgPart_r ImgPart =4;ImgPart_lt ImgPart =5;ImgPart_rt ImgPart =6;ImgPart_lb ImgPart =7;ImgPart_rb ImgPart =8;);type legendItem struct{_bce string ;_fee *_ec .CT_ShapeProperties ;};const DefaultFontSize =12.0;func FromSTCoordinate32 (st _ec .ST_Coordinate32 )int64 {if _bag :=st .ST_Coordinate32Unqualified ;_bag !=nil {return int64 (*_bag );};return 0;};func _gceb (_fggc uint8 ,_bcge float64 )string {_ffa :=float64 (_fggc );return _f .Sprintf ("\u0025\u0030\u0032\u0078",int (_ffa *_bcge ));};func MakeImageFromChartSpace (cs *_fcg .ChartSpace ,width ,height float64 ,theme *_ec .Theme )(_d .Image ,error ){_afg ,_fde :=_aed (cs ,width ,height ,theme ,true );if _fde !=nil {return nil ,_fde ;};_edb ,_fde :=GetPageFromCreator (_afg );if _fde !=nil {return nil ,_fde ;};return _aa .NewImageDevice ().Render (_edb );};type serCategory struct{_gbc string ;_eff []serValue ;};var _egb =_adad (5);func _gcea (_bcb *_fcg .CT_SerAx )(uint32 ,_fcg .ST_AxPos ,_fcg .ST_TickMark ,_fcg .ST_TickLblPos ,*_fcg .CT_ChartLines ,uint32 ,*_ec .CT_ShapeProperties ,error ){var _eded ,_deed uint32 ;var _cbc _fcg .ST_AxPos ;var _bfb _fcg .ST_TickMark ;var _badb *_fcg .CT_ChartLines ;var _cfe _fcg .ST_TickLblPos ;if _bcb .AxId ==nil {return _eded ,_cbc ,_bfb ,_cfe ,_badb ,_deed ,_bcb .SpPr ,_ba .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_eded =_bcb .AxId .ValAttr ;};if _bcb .AxPos ==nil {return _eded ,_cbc ,_bfb ,_cfe ,_badb ,_deed ,_bcb .SpPr ,_ba .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_cbc =_bcb .AxPos .ValAttr ;};if _bcb .MajorTickMark !=nil {_bfb =_bcb .MajorTickMark .ValAttr ;};if _bcb .TickLblPos !=nil {_cfe =_bcb .TickLblPos .ValAttr ;};if _bcb .CrossAx ==nil {return _eded ,_cbc ,_bfb ,_cfe ,_badb ,_deed ,_bcb .SpPr ,_ba .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_deed =_bcb .CrossAx .ValAttr ;};_badb =_bcb .MajorGridlines ;return _eded ,_cbc ,_bfb ,_cfe ,_badb ,_deed ,_bcb .SpPr ,nil ;};func (_bcd *creatorContext )drawRectangleWithProps (_adcg *_ec .CT_ShapeProperties ,_efb ,_bgad ,_aff ,_egee float64 ,_bcaba bool ){_cgdb :=_bcd ._cebdb .NewRectangle (_efb ,_bgad ,_aff ,_egee );if _adcg ==nil {if _bcaba {_cgdb .SetBorderWidth (_eafd );}else {return ;};}else {_fcbg :=_bcd .getPdfColorFromSolidFill (_adcg .SolidFill );if _fcbg !=nil {_cgdb .SetFillColor (_fcbg );};if _ged :=_adcg .Ln ;_ged !=nil {if _cbb :=_ged .WAttr ;_cbb !=nil {_fcgf :=_fb .FromEMU (int64 (*_cbb ));_cgdb .SetBorderWidth (_fcgf );if _eafda :=_ged .SolidFill ;_eafda !=nil {_egd :=_bcd .getPdfColorFromSolidFill (_eafda );if _egd !=nil {_cgdb .SetBorderColor (_egd );};};}else {_cgdb .SetBorderWidth (0);};};};_bcd ._cebdb .Draw (_cgdb );};const (BorderPositionTop BorderPosition =0;BorderPositionLeft BorderPosition =1;BorderPositionBottom BorderPosition =2;BorderPositionRight BorderPosition =3;);func AdjustColorByTint (colorStr string ,tint float64 )string {var _beg ,_add ,_defb uint8 ;_afe ,_ :=_f .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_beg ,&_add ,&_defb );if _afe !=3{return "";};return _bcae (_beg ,tint )+_bcae (_add ,tint )+_bcae (_defb ,tint );};func _bcae (_cebd uint8 ,_fdda float64 )string {_fbca :=float64 (_cebd );var _fbf float64 ;if _fdda < 0{_fbf =_fbca *(1+_fdda );}else {_fbf =_fbca +(255-_fbca )*_fdda ;};return _f .Sprintf ("\u0025\u0030\u0032\u0078",int (_fbf ));};type creatorContext struct{_cebdb *_g .Creator ;_fegg *_ec .Theme ;_aagb float64 ;};func (_fggg *creatorContext )getPdfColorFromSolidFill (_abab *_ec .CT_SolidColorFillProperties )_g .Color {if _abab ==nil {return nil ;};_agbae :="";if _ddd :=_abab .SrgbClr ;_ddd !=nil {_agbae =_ddd .ValAttr ;}else if _ffgc :=_abab .SchemeClr ;_ffgc !=nil {_agbae =_gcf (_ffgc .ValAttr ,_fggg ._fegg );};if _agbae ==""{return nil ;};return _g .ColorRGBFromHex ("\u0023"+_agbae );};func AdjustColorByLumMod (colorStr string ,lum float64 )string {var _afgc ,_acc ,_cgde uint8 ;_feba ,_ :=_f .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_afgc ,&_acc ,&_cgde );if _feba !=3{return "";};_daeb ,_dcf ,_fgc :=_gda (_afgc ,_acc ,_cgde );_fgc =lum *_fgc ;_afgc ,_acc ,_cgde =_bgde (_daeb ,_dcf ,_fgc );return _f .Sprintf ("\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",_afgc ,_acc ,_cgde );};var _eab =_adad (1);func _gcf (_bgee _ec .ST_SchemeColorVal ,_eggg *_ec .Theme )string {if _dab :=_eggg .ThemeElements ;_dab !=nil {if _aefb :=_dab .ClrScheme ;_aefb !=nil {switch _bgee {case _ec .ST_SchemeColorValLt1 :return GetColorStringFromDmlColor (_aefb .Lt1 );case _ec .ST_SchemeColorValDk1 ,_ec .ST_SchemeColorValTx1 :return GetColorStringFromDmlColor (_aefb .Dk1 );case _ec .ST_SchemeColorValLt2 :return GetColorStringFromDmlColor (_aefb .Lt2 );case _ec .ST_SchemeColorValDk2 :return GetColorStringFromDmlColor (_aefb .Dk2 );case _ec .ST_SchemeColorValAccent1 :return GetColorStringFromDmlColor (_aefb .Accent1 );case _ec .ST_SchemeColorValAccent2 :return GetColorStringFromDmlColor (_aefb .Accent2 );case _ec .ST_SchemeColorValAccent3 :return GetColorStringFromDmlColor (_aefb .Accent3 );case _ec .ST_SchemeColorValAccent4 :return GetColorStringFromDmlColor (_aefb .Accent4 );case _ec .ST_SchemeColorValAccent5 :return GetColorStringFromDmlColor (_aefb .Accent5 );case _ec .ST_SchemeColorValAccent6 :return GetColorStringFromDmlColor (_aefb .Accent6 );};};};return "";};func Lighten (clr float64 )float64 {return 0.6+0.4*clr };func TwipsFromPoints (points float64 )float64 {return points /_fb .Twips };var _ege =_adad (1.5);func MakeBlockFromChartSpace (cs *_fcg .ChartSpace ,width ,height float64 ,theme *_ec .Theme )(*_g .Block ,error ){_fdgc ,_cac :=_aed (cs ,width ,height ,theme ,false );if _cac !=nil {return nil ,_cac ;};_fcd ,_cac :=GetPageFromCreator (_fdgc );if _cac !=nil {return nil ,_cac ;};_eg ,_cac :=_g .NewBlockFromPage (_fcd );if _cac !=nil {return nil ,_cac ;};return _eg ,nil ;};var _geg =_adad (1.5);var _bda =map[string ]FontStyle {"\u0052e\u0067\u0075\u006c\u0061\u0072":FontStyle_Regular ,"\u0042\u006f\u006c\u0064":FontStyle_Bold ,"\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_Italic ,"B\u006f\u006c\u0064\u0020\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_BoldItalic };type fontsMap struct{_bfad *_bg .Mutex ;_edgb map[string ]map[FontStyle ]*_e .PdfFont ;};func (_cge *creatorContext )drawLegend (_cgeg *Rectangle ,_dff []*legendItem ,_abd bool ){_def :=_cge ._aagb ;_cgb :=_adad (2.5)*_def ;_cad :=_dda *_def ;_aef :=(_cgb -_cad )/2;_gbe :=float64 (len (_dff ));if _abd {_gca :=&Rectangle {Top :_cgeg .Top +_adad (1)*_def ,Bottom :_cgeg .Bottom -_adad (1)*_def ,Left :_cgeg .Left +_adad (2.5)*_def ,Right :_cgeg .Right -_adad (2.5)*_def };var _gcd float64 ;if _gbe > 1{_gcd =(_gca .Right -_gca .Left )/_gbe ;};_bde :=_gca .Left ;_ga :=_gca .Top ;for _ ,_fec :=range _dff {if _bca :=_fec ._fee ;_bca !=nil {_cge .drawRectangleWithProps (_bca ,_bde ,_ga +_aef ,_cad ,_cad ,false );_cfb :=_bde +_cad *2;_ecc :=_cge ._cebdb .NewStyledParagraph ();_ecc .SetPos (_cfb ,_ga );_cga :=_ecc .Append (_fec ._bce );_ggf ,_caa :=_e .NewStandard14Font (_e .HelveticaName );if _caa ==nil {_cga .Style =_g .TextStyle {FontSize :_cgb ,Font :_ggf ,TextRise :0.4};_cge ._cebdb .Draw (_ecc );};};_bde +=_gcd ;};}else {_bcad :=&Rectangle {Top :_cgeg .Top +_adad (2.5)*_def ,Bottom :_cgeg .Bottom -_adad (2.5)*_def ,Left :_cgeg .Left +_adad (2.5)*_def ,Right :_cgeg .Right -_adad (2.5)*_def };var _ggc float64 ;if _gbe > 1{_ggc =(_bcad .Bottom -_bcad .Top -_cgb )/(_gbe -1);};_fcef :=_bcad .Top ;_aaeb :=_bcad .Left ;_dae :=_aaeb +_cad *2;for _ ,_gac :=range _dff {if _ddcd :=_gac ._fee ;_ddcd !=nil {_cge .drawRectangleWithProps (_ddcd ,_aaeb ,_fcef +_aef ,_cad ,_cad ,false );_dfc :=_cge ._cebdb .NewStyledParagraph ();_dfc .SetPos (_dae ,_fcef );_gebc :=_dfc .Append (_gac ._bce );_dffa ,_bac :=_e .NewStandard14Font (_e .HelveticaName );if _bac ==nil {_gebc .Style =_g .TextStyle {FontSize :_cgb ,Font :_dffa ,TextRise :0.4};_cge ._cebdb .Draw (_dfc );};};_fcef +=_ggc ;};};};func _aed (_gfa *_fcg .ChartSpace ,_fdf ,_cb float64 ,_agc *_ec .Theme ,_fdb bool )(*_g .Creator ,error ){_egg :=1.0;if _fdb {_egg =8.0;};_ebbe :=&Rectangle {};_dec :=&Rectangle {Top :_ebbe .Top ,Bottom :_cb -_ebbe .Bottom ,Left :_ebbe .Left ,Right :_fdf -_ebbe .Right };_bf :=MakeTempCreator (_fdf *_egg +1,_cb *_egg +1);_da :=&creatorContext {_cebdb :_bf ,_fegg :_agc ,_aagb :_egg };var _cff bool ;if _aac :=_gfa .Chart ;_aac !=nil {_ddc :=_aac .PlotArea ;if _ddc ==nil {return nil ,_ba .New ("\u004e\u006f\u0020p\u006c\u006f\u0074\u0020\u0061\u0072\u0065\u0061");};_bad :=&Rectangle {Top :_adad (10),Bottom :_dec .Bottom -_adad (15),Left :_adad (10),Right :_dec .Right -_adad (10)};var _agcf *Rectangle ;_bebba :=_aac .Legend ;if _bebba !=nil {_fcb :=_bebba .Overlay !=nil &&_bebba .Overlay .ValAttr !=nil &&*_bebba .Overlay .ValAttr ;if _acb :=_bebba .LegendPos ;_acb !=nil {switch _acb .ValAttr {case _fcg .ST_LegendPosTr :if !_fcb {_bad =&Rectangle {Top :_adad (25),Bottom :_dec .Bottom -_adad (10),Left :_adad (10),Right :_dec .Right -_adad (25)};};_agcf =&Rectangle {Top :_adad (2.5),Bottom :_adad (22.5),Left :_dec .Right -_adad (22.5),Right :_dec .Right -_adad (2.5)};case _fcg .ST_LegendPosT :_agcf =&Rectangle {Top :_adad (2.5),Bottom :_adad (7.5),Left :(_dec .Right -_dec .Left )*0.25,Right :(_dec .Right -_dec .Left )*0.75};if !_fcb {_bad =&Rectangle {Top :_adad (12.5),Bottom :_dec .Bottom -_adad (15),Left :_adad (10),Right :_dec .Right -_adad (5)};};_cff =true ;case _fcg .ST_LegendPosB :_agcf =&Rectangle {Top :_dec .Bottom -_adad (7.5),Bottom :_dec .Bottom -_adad (2.5),Left :(_dec .Right -_dec .Left )*0.25,Right :(_dec .Right -_dec .Left )*0.75};if !_fcb {_bad =&Rectangle {Top :_adad (5),Bottom :_dec .Bottom -_adad (15),Left :_adad (10),Right :_dec .Right -_adad (5)};};_cff =true ;case _fcg .ST_LegendPosR :_agcf =&Rectangle {Top :(_dec .Bottom -_dec .Top )/2-_adad (10),Bottom :(_dec .Bottom -_dec .Top )/2+_adad (10),Left :_dec .Right -_adad (22.5),Right :_dec .Right -_adad (2.5)};if !_fcb {_bad =&Rectangle {Top :_adad (5),Bottom :_dec .Bottom -_adad (12.5),Left :_adad (10),Right :_dec .Right -_adad (25)};};case _fcg .ST_LegendPosL :_agcf =&Rectangle {Top :(_dec .Bottom -_dec .Top )/2-_adad (10),Bottom :(_dec .Bottom -_dec .Top )/2+_adad (10),Left :_adad (2.5),Right :_adad (22.5)};if !_fcb {_bad =&Rectangle {Top :_adad (5),Bottom :_dec .Bottom -_adad (12.5),Left :_adad (30),Right :_dec .Right -_adad (5)};};default:_agcf =&Rectangle {Top :(_dec .Bottom -_dec .Top )/2-_adad (10),Bottom :(_dec .Bottom -_dec .Top )/2+_adad (10),Left :_dec .Right -_adad (25),Right :_dec .Right -_adad (5)};if !_fcb {_bad =&Rectangle {Top :_adad (5),Bottom :_dec .Bottom -_adad (12.5),Left :_adad (100),Right :_dec .Right -_adad (25)};};};};};_bad .scale (_egg );_da .drawBorderWithProps (_ddc .SpPr ,_bad ,_eafd );_feea :=[]*legendItem {};var _dcc error ;_ddag :=_ddc .CChoice ;for _ ,_deg :=range _ddc .Choice {if _ecg :=_deg .BarChart ;_ecg !=nil {_feea ,_dcc =_da .drawBarChart (_ecg ,_bad ,_ddag );if _dcc !=nil {return nil ,_dcc ;};};};if _bebba !=nil {_agcf .scale (_egg );_da .drawBorderWithProps (_bebba .SpPr ,_agcf ,_eafd );if len (_feea )!=0{_da .drawLegend (_agcf ,_feea ,_cff );};};};_dec .scale (_egg );_da .drawBorderWithProps (_gfa .SpPr ,_dec ,_eafd );return _bf ,nil ;};var _ageb =_adad (7.5);type barSerByOrder []*_fcg .CT_BarSer ;var _eafd =_adad (0.125);func AssignStdFontByName (style _g .TextStyle ,fontName string )*_e .PdfFont {_fbgg :=_e .StdFontName (fontName );return _e .NewStandard14FontMustCompile (_fbgg );};func (_ceg *creatorContext )drawBorderWithProps (_cgcdc *_ec .CT_ShapeProperties ,_ccac *Rectangle ,_bdd float64 ){if _ccac !=nil &&_cgcdc !=nil &&_cgcdc .Ln !=nil &&_cgcdc .Ln .SolidFill !=nil {_dgeg :=_ceg .getPdfColorFromSolidFill (_cgcdc .Ln .SolidFill );DrawRectangle (_ceg ._cebdb ,_ccac ,_bdd ,_dgeg );};};func RegisterFont (name string ,style FontStyle ,font *_e .PdfFont ){_deeb ._bfad .Lock ();if _deeb ._edgb [name ]==nil {_deeb ._edgb [name ]=map[FontStyle ]*_e .PdfFont {};};_deeb ._edgb [name ][style ]=font ;_deeb ._bfad .Unlock ();};func GetRegisteredFont (name string ,style FontStyle )*_e .PdfFont {_deeb ._bfad .Lock ();defer _deeb ._bfad .Unlock ();if _fcge ,_edef :=_deeb ._edgb [name ];_edef {if _ddfd ,_cfa :=_fcge [style ];_cfa {return _ddfd ;};};return nil ;};func GetOpacityFromColorTransform (trs []*_ec .EG_ColorTransform )float64 {for _ ,_cfg :=range trs {if _cfg !=nil {if _adf :=_cfg .Alpha ;_adf !=nil {if _dcag :=_adf .ValAttr .ST_PositiveFixedPercentageDecimal ;_dcag !=nil {return float64 (*_dcag )/100000;};};};};return 1.0;};func PointsFromTwips (twips int64 )float64 {return float64 (int64 (float64 (twips )*_fb .Twips *10+0.5))/10;};type serValue struct{_bgb string ;_efa float64 ;_efac *_ec .CT_ShapeProperties ;};func _gda (_dgef ,_adag ,_cee uint8 )(float64 ,float64 ,float64 ){_fdcf ,_efd ,_cgee :=float64 (_dgef )/255,float64 (_adag )/255,float64 (_cee )/255;_ddcf :=_fdcf ;if _efd < _ddcf {_ddcf =_efd ;};if _cgee < _ddcf {_ddcf =_cgee ;};var _deb ,_eeag bool ;_dea :=_fdcf ;if _efd > _dea {_dea =_efd ;_deb =true ;};if _cgee > _dea {_dea =_cgee ;_deb =false ;_eeag =true ;};_acf :=(_ddcf +_dea )/2;var _adae float64 ;if _ddcf !=_dea {if _acf <=0.5{_adae =(_dea -_ddcf )/(_dea +_ddcf );}else {_adae =(_dea -_ddcf )/(2.0-_dea -_ddcf );};};var _ggaf float64 ;if _ddcf !=_dea {if _deb {_ggaf =2.0+(_cgee -_fdcf )/(_dea -_ddcf );}else if _eeag {_ggaf =4.0+(_fdcf -_efd )/(_dea -_ddcf );}else {_ggaf =(_efd -_cgee )/(_dea -_ddcf );};_ggaf *=60;if _ggaf < 0{_ggaf +=360;};};return _ggaf ,_adae ,_acf ;};func (_eee *creatorContext )drawLineWithProps (_ccfa *_ec .CT_ShapeProperties ,_adaf ,_fcfe ,_gde ,_bab float64 ,_gadd bool ){if _ccfa !=nil {if _gege :=_ccfa .Ln ;_gege !=nil {_eca :=_eee .getPdfColorFromSolidFill (_gege .SolidFill );if _eca ==nil &&_gadd {_eca =_g .ColorBlack ;};if _eca !=nil {var _bdg float64 ;if _abe :=_gege .WAttr ;_abe !=nil {_bdg =_fb .FromEMU (int64 (*_abe ));}else {_bdg =_eafd ;};DrawLine (_eee ._cebdb ,_adaf ,_fcfe ,_gde ,_bab ,_bdg ,_eca );};};};};func RegisterFontsFromFiles (files []string )error {for _ ,_ddcfe :=range files {if _bga .HasSuffix (_ddcfe ,"\u002e\u0074\u0074\u0066"){_egc ,_bcc :=_eggb (_ddcfe );if _egc ==""||_bcc ==""{continue ;};_cca ,_fdee :=_e .NewCompositePdfFontFromTTFFile (_ddcfe );if _fdee !=nil {_beb .Log .Debug ("C\u0061\u006e\u006e\u006f\u0074\u0020m\u0061\u006b\u0065\u0020\u0061\u0020f\u006f\u006e\u0074\u0020\u0066\u0072\u006fm\u0020\u0054\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020%\u0073",_fdee );continue ;};RegisterFont (_egc ,_bda [_bcc ],_cca );};};return nil ;};func _gea (_ffcg *_fcg .CT_ValAx )(uint32 ,_fcg .ST_AxPos ,_fcg .ST_TickMark ,_fcg .ST_TickLblPos ,*_fcg .CT_ChartLines ,uint32 ,*_ec .CT_ShapeProperties ,error ){var _ddgf ,_bea uint32 ;var _fag _fcg .ST_AxPos ;var _bgbb _fcg .ST_TickMark ;var _bbcg *_fcg .CT_ChartLines ;var _agfd _fcg .ST_TickLblPos ;if _ffcg .AxId ==nil {return _ddgf ,_fag ,_bgbb ,_agfd ,_bbcg ,_bea ,_ffcg .SpPr ,_ba .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_ddgf =_ffcg .AxId .ValAttr ;};if _ffcg .AxPos ==nil {return _ddgf ,_fag ,_bgbb ,_agfd ,_bbcg ,_bea ,_ffcg .SpPr ,_ba .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_fag =_ffcg .AxPos .ValAttr ;};if _ffcg .MajorTickMark !=nil {_bgbb =_ffcg .MajorTickMark .ValAttr ;};if _ffcg .TickLblPos !=nil {_agfd =_ffcg .TickLblPos .ValAttr ;};if _ffcg .CrossAx ==nil {return _ddgf ,_fag ,_bgbb ,_agfd ,_bbcg ,_bea ,_ffcg .SpPr ,_ba .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_bea =_ffcg .CrossAx .ValAttr ;};_bbcg =_ffcg .MajorGridlines ;return _ddgf ,_fag ,_bgbb ,_agfd ,_bbcg ,_bea ,_ffcg .SpPr ,nil ;};func FromSTPercentage (st *_ec .ST_Percentage )float64 {if _bfadd :=st .ST_PercentageDecimal ;_bfadd !=nil {return float64 (*_bfadd )/100000;};return 0;};func DrawRectangle (c *_g .Creator ,r *Rectangle ,w float64 ,color _g .Color ){if color ==nil {return ;};DrawLine (c ,r .Left ,r .Top ,r .Right ,r .Top ,w ,color );DrawLine (c ,r .Left ,r .Top ,r .Left ,r .Bottom ,w ,color );DrawLine (c ,r .Left ,r .Bottom ,r .Right ,r .Bottom ,w ,color );DrawLine (c ,r .Right ,r .Top ,r .Right ,r .Bottom ,w ,color );};func MakeBlockFromCreator (c *_g .Creator )(*_g .Block ,error ){_fge ,_daf :=GetPageFromCreator (c );if _daf !=nil {return nil ,_daf ;};_dead ,_daf :=_g .NewBlockFromPage (_fge );if _daf !=nil {return nil ,_daf ;};return _dead ,nil ;};func RegisterFontsFromDirectory (dirName string )error {_bfge ,_aag :=_a .Open (dirName );if _aag !=nil {return _aag ;};defer _bfge .Close ();_cdgb ,_aag :=_bfge .Readdirnames (0);if _aag !=nil {return _aag ;};for _ ,_dac :=range _cdgb {if _bga .HasSuffix (_dac ,"\u002e\u0074\u0074\u0066"){_aacd :=dirName +"\u002f"+_dac ;_bee ,_gbd :=_eggb (_aacd );if _bee ==""||_gbd ==""{continue ;};_dgf ,_dad :=_e .NewCompositePdfFontFromTTFFile (_aacd );if _dad !=nil {_beb .Log .Debug ("C\u0061\u006e\u006e\u006f\u0074\u0020m\u0061\u006b\u0065\u0020\u0061\u0020f\u006f\u006e\u0074\u0020\u0066\u0072\u006fm\u0020\u0054\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020%\u0073",_dad );continue ;};RegisterFont (_bee ,_bda [_gbd ],_dgf );};};return nil ;};func _adad (_gdae float64 )float64 {return _gdae *_fb .Millimeter };func DrawLine (c *_g .Creator ,x0 ,y0 ,x1 ,y1 ,width float64 ,color _g .Color ){if color ==nil {return ;};_eda :=c .NewLine (x0 ,y0 ,x1 ,y1 );_eda .SetLineWidth (width );_eda .SetColor (color );c .Draw (_eda );};func IsNoSpaceLanguage (symbol string )bool {for _ ,_bfe :=range symbol {if _c .Is (_c .Han ,_bfe ){return true ;};};return false ;};func GetImage (c *_g .Creator ,goImg _d .Image ,imgHeight ,imgWidth ,left ,top ,dividerX ,dividerY float64 ,part ImgPart )(*_g .Image ,error ){if goImg ==nil {return nil ,nil ;};_cfea :=goImg .Bounds ().Size ();_eae :=_cfea .X ;_adde :=_cfea .Y ;if dividerX !=0{dividerX =dividerX /imgWidth *float64 (_eae );};if dividerY !=0{dividerY =dividerY /imgHeight *float64 (_adde );};var _bcdb _d .Rectangle ;switch part {case ImgPart_t :_bcdb =_d .Rect (0,0,_eae ,int (dividerY ));case ImgPart_b :_bcdb =_d .Rect (0,int (dividerY ),_eae ,_adde );case ImgPart_l :_bcdb =_d .Rect (0,0,int (dividerX ),_adde );case ImgPart_r :_bcdb =_d .Rect (int (dividerX ),0,_eae ,_adde );case ImgPart_lt :_bcdb =_d .Rect (0,0,int (dividerX ),int (dividerY ));case ImgPart_rt :_bcdb =_d .Rect (int (dividerX ),0,_eae ,int (dividerY ));case ImgPart_lb :_bcdb =_d .Rect (0,int (dividerY ),int (dividerX ),_adde );case ImgPart_rb :_bcdb =_d .Rect (int (dividerX ),int (dividerY ),_eae ,_adde );default:_bcdb =_d .Rect (0,0,_eae ,_adde );};_ccdf :=CropImageByRect (goImg ,_bcdb );_fgd ,_cacb :=c .NewImageFromGoImage (_ccdf );if _cacb !=nil {return nil ,_cacb ;};_fgd .Scale (imgWidth /float64 (_eae ),imgHeight /float64 (_adde ));_fgd .SetPos (left ,top );return _fgd ,nil ;};func GetDataFromXfrm (xfrm *_ec .CT_Transform2D )(float64 ,float64 ,float64 ,float64 ){var _ecbd ,_gfc ,_gcef ,_edfbc float64 ;if _bfd :=xfrm .Off ;_bfd !=nil {_ecbd =_fb .FromEMU (FromSTCoordinate (_bfd .XAttr ));_gfc =_fb .FromEMU (FromSTCoordinate (_bfd .YAttr ));};if _gafg :=xfrm .Ext ;_gafg !=nil {_gcef =_fb .FromEMU (_gafg .CxAttr );_edfbc =_fb .FromEMU (_gafg .CyAttr );};return _ecbd ,_gfc ,_gcef ,_edfbc ;};func (_becd *creatorContext )drawAxes (_ebab *_fcg .CT_PlotAreaChoice1 ,_gfae ,_aecd ,_ggbd float64 ,_ada []string ,_agbg *Rectangle ,_efae bool )error {_gbff :=_becd ._cebdb ;_fdff :=_becd ._aagb ;if _ebab ==nil {return _ba .New ("\u004e\u006f\u0020\u0061xi\u0073\u0020\u0069\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e");};if len (_ebab .ValAx )==0||(len (_ebab .CatAx )==0&&len (_ebab .DateAx )==0&&len (_ebab .SerAx )==0){return _ba .New ("\u004e\u006f\u0020\u0078\u0020\u006f\u0072\u0020\u0079 \u0061\u0078\u0069\u0073");};var _dbea ,_fbe ,_fgg ,_fba uint32 ;var _gab ,_fcc _fcg .ST_AxPos ;var _gebd ,_gdg _fcg .ST_TickMark ;var _bfg ,_cged *_fcg .CT_ChartLines ;var _edf ,_gfd _fcg .ST_TickLblPos ;var _cfbg ,_fcdd *_ec .CT_ShapeProperties ;var _gfg error ;_ddf :=_agbg .Right -_agbg .Left ;_acdd :=_agbg .Bottom -_agbg .Top ;if len (_ebab .ValAx )> 0{_fbe ,_fcc ,_gdg ,_gfd ,_cged ,_fba ,_fcdd ,_gfg =_gea (_ebab .ValAx [0]);};if _fcc !=_fcg .ST_AxPosL &&_fcc !=_fcg .ST_AxPosB {return _ba .New ("\u004f\u006e\u006c\u0079\u0020l\u0065\u0066\u0074\u0020\u006f\u0072\u0020\u0062\u006f\u0074\u0074\u006f\u006d \u0079\u0020\u0061\u0078\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0073\u006f\u0020\u0066\u0061\u0072");};_eeg :=_aecd -_gfae ;_gegd :=int (_eeg /_ggbd )+1;var _cbg ,_gee float64 ;switch _gdg {case _fcg .ST_TickMarkIn :_cbg ,_gee =_eab ,0;case _fcg .ST_TickMarkOut :_cbg ,_gee =0,_eab ;case _fcg .ST_TickMarkCross :_cbg ,_gee =_eab ,_eab ;};_cbg =_cbg *_fdff ;_gee =_gee *_fdff ;var _gad *_ec .CT_ShapeProperties ;if _cged !=nil {_gad =_cged .SpPr ;};_dgb ,_dca :=_edf !=_fcg .ST_TickLblPosNone ,_gfd !=_fcg .ST_TickLblPosNone ;_bdc :=_gfae ;if len (_ebab .CatAx )> 0{_dbea ,_gab ,_gebd ,_edf ,_bfg ,_fgg ,_cfbg ,_gfg =_bebf (_ebab .CatAx [0]);}else if len (_ebab .DateAx )> 0{_dbea ,_gab ,_gebd ,_edf ,_bfg ,_fgg ,_cfbg ,_gfg =_dcbg (_ebab .DateAx [0]);}else if len (_ebab .SerAx )> 0{_dbea ,_gab ,_gebd ,_edf ,_bfg ,_fgg ,_cfbg ,_gfg =_gcea (_ebab .SerAx [0]);};if _gfg !=nil {return _gfg ;};if _gab !=_fcg .ST_AxPosL &&_gab !=_fcg .ST_AxPosB {return _ba .New ("\u004f\u006e\u006c\u0079\u0020l\u0065\u0066\u0074\u0020\u006f\u0072\u0020\u0062\u006f\u0074\u0074\u006f\u006d \u0078\u0020\u0061\u0078\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0073\u006f\u0020\u0066\u0061\u0072");};if _dbea !=_fba ||_fbe !=_fgg {return _ba .New ("a\u0078i\u0073\u0020\u0069\u0064\u0073\u0020\u0064\u006fn\u0027\u0074\u0020\u006dat\u0063\u0068");};_badf :=len (_ada )+1;var _gaf ,_fcf float64 ;switch _gebd {case _fcg .ST_TickMarkIn :_gaf ,_fcf =_eab ,0;case _fcg .ST_TickMarkOut :_gaf ,_fcf =0,_eab ;case _fcg .ST_TickMarkCross :_gaf ,_fcf =_eab ,_eab ;};_gaf =_gaf *_fdff ;_fcf =_fcf *_fdff ;var _gfb *_ec .CT_ShapeProperties ;if _bfg !=nil {_gfb =_bfg .SpPr ;};if _efae {_acaf :=_acdd /float64 (len (_ada ));_bcab :=_agbg .Left -_gfae *_ddf /_eeg ;_gcdc :=_bcab -_ageb *_fdff ;if _dgb {var _cffa float64 ;for _edbe :=0;_edbe < _badf ;_edbe ++{_fdc :=_agbg .Bottom -float64 (_edbe )*_acaf ;if _edbe < _badf -1{_caf :=_gbff .NewParagraph (_ada [_edbe ]);_caf .SetFontSize (_ede *_fdff );_caf .SetPos (_gcdc ,_fdc -_acaf /2-_geg *_fdff );_gbff .Draw (_caf );_efaa :=(_caf .Width ()/1000-_ageb )*_fdff ;if _efaa > 0&&_efaa > _cffa {_cffa =_efaa ;};};};if _cffa > 0{_agbg .Left +=_cffa +_ee ;_bcab =_agbg .Left -_gfae *_ddf /_eeg ;_ddf =_agbg .Right -_agbg .Left ;};};_edd :=_bcab -_fcf ;_gga :=_bcab +_gaf ;_adg :=_agbg .Left ;_agdc :=_agbg .Right ;for _aaab :=0;_aaab < _badf ;_aaab ++{_abg :=_agbg .Bottom -float64 (_aaab )*_acaf ;_becd .drawLineWithProps (_cfbg ,_edd ,_abg ,_gga ,_abg ,true );_becd .drawLineWithProps (_gfb ,_adg ,_abg ,_agdc ,_abg ,true );};_agdg :=_ddf /_eeg ;_ceb :=_agbg .Bottom -_cbg ;_egbc :=_agbg .Bottom +_gee ;_fdfa :=_agbg .Top ;_eadc :=_agbg .Bottom ;for _feb :=0;_feb < _gegd ;_feb ++{_cd :=_agbg .Left +(_bdc -_gfae )*_agdg ;_becd .drawLineWithProps (_fcdd ,_cd ,_ceb ,_cd ,_egbc ,true );_becd .drawLineWithProps (_gad ,_cd ,_fdfa ,_cd ,_eadc ,true );if _dca {_eadg :=_gbff .NewParagraph (_fc .FormatFloat (_bdc ,'g',-1,64));_eadg .SetFontSize (_ede *_fdff );_eadg .SetPos (_cd -_cfd *_fdff ,_eadc +_ege *_fdff );_gbff .Draw (_eadg );};_bdc +=_ggbd ;};}else {_abb :=_acdd /_eeg ;_effd :=_agbg .Left ;if _dca {var _gafa float64 ;for _gcgb :=0;_gcgb < _gegd ;_gcgb ++{_dcda :=_agbg .Bottom -(_bdc -_gfae )*_abb ;_dge :=_gbff .NewParagraph (_fc .FormatFloat (_bdc ,'g',-1,64));_dge .SetFontSize (_ede *_fdff );_dge .SetPos (_effd -_ageb *_fdff ,_dcda -_geg *_fdff );_gbff .Draw (_dge );_efe :=(_dge .Width ()/1000-_ageb )*_fdff ;if _efe > 0&&_efe > _gafa {_gafa =_efe ;};_bdc +=_ggbd ;};if _gafa > 0{_agbg .Left +=_gafa +_ee ;_ddf =_agbg .Right -_agbg .Left ;};};_bdc =_gfae ;_fbcc :=_agbg .Left -_gee ;_agebc :=_agbg .Left +_cbg ;_effd =_agbg .Left ;_eea :=_agbg .Right ;for _bfa :=0;_bfa < _gegd ;_bfa ++{_ddg :=_agbg .Bottom -(_bdc -_gfae )*_abb ;_becd .drawLineWithProps (_fcdd ,_fbcc ,_ddg ,_agebc ,_ddg ,true );_becd .drawLineWithProps (_gad ,_effd ,_ddg ,_eea ,_ddg ,true );_bdc +=_ggbd ;};_ded :=_ddf /float64 (len (_ada ));_baca :=_agbg .Bottom +_gfae *_acdd /_eeg ;_effc :=_baca -_gaf ;_aeb :=_baca +_fcf ;_gcee :=_agbg .Top ;_dfg :=_agbg .Bottom ;_gef :=_baca +_ege *_fdff ;for _fbgd :=0;_fbgd < _badf ;_fbgd ++{_efacc :=_agbg .Left +float64 (_fbgd )*_ded ;_becd .drawLineWithProps (_cfbg ,_efacc ,_effc ,_efacc ,_aeb ,true );_becd .drawLineWithProps (_gfb ,_efacc ,_gcee ,_efacc ,_dfg ,true );if _dgb &&_fbgd < _badf -1{_aga :=_gbff .NewParagraph (_ada [_fbgd ]);_aga .SetFontSize (_ede *_fdff );_aga .SetPos (_efacc +_egb *_fdff ,_gef );_gbff .Draw (_aga );};};};return nil ;};type FontStyle byte ;func _bebf (_cdb *_fcg .CT_CatAx )(uint32 ,_fcg .ST_AxPos ,_fcg .ST_TickMark ,_fcg .ST_TickLblPos ,*_fcg .CT_ChartLines ,uint32 ,*_ec .CT_ShapeProperties ,error ){var _gcbe ,_cdg uint32 ;var _dce _fcg .ST_AxPos ;var _ccc _fcg .ST_TickMark ;var _cec *_fcg .CT_ChartLines ;var _agba _fcg .ST_TickLblPos ;if _cdb .AxId ==nil {return _gcbe ,_dce ,_ccc ,_agba ,_cec ,_cdg ,_cdb .SpPr ,_ba .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_gcbe =_cdb .AxId .ValAttr ;};if _cdb .AxPos ==nil {return _gcbe ,_dce ,_ccc ,_agba ,_cec ,_cdg ,_cdb .SpPr ,_ba .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_dce =_cdb .AxPos .ValAttr ;};if _cdb .MajorTickMark !=nil {_ccc =_cdb .MajorTickMark .ValAttr ;};if _cdb .TickLblPos !=nil {_agba =_cdb .TickLblPos .ValAttr ;};if _cdb .CrossAx ==nil {return _gcbe ,_dce ,_ccc ,_agba ,_cec ,_cdg ,_cdb .SpPr ,_ba .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_cdg =_cdb .CrossAx .ValAttr ;};_cec =_cdb .MajorGridlines ;return _gcbe ,_dce ,_ccc ,_agba ,_cec ,_cdg ,_cdb .SpPr ,nil ;};func (_ecgd *Rectangle )scale (_dbg float64 ){_ecgd .Top *=_dbg ;_ecgd .Bottom *=_dbg ;_ecgd .Left *=_dbg ;_ecgd .Right *=_dbg ;};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);func (_gcb barSerByOrder )Less (i ,j int )bool {return _gcb [i ].Order .ValAttr < _gcb [j ].Order .ValAttr };func (_fg barSerByOrder )Swap (i ,j int ){_fg [i ],_fg [j ]=_fg [j ],_fg [i ]};func CropImageByRect (sourceImg _d .Image ,rect _d .Rectangle )_d .Image {_accf ,_fdbb ,_fef ,_gebf :=rect .Min .X ,rect .Min .Y ,rect .Max .X ,rect .Max .Y ;_ccfaf :=_d .NewNRGBA (_d .Rect (0,0,_fef -_accf ,_gebf -_fdbb ));for _dacb :=_accf ;_dacb < _fef ;_dacb ++{for _gec :=_fdbb ;_gec < _gebf ;_gec ++{_ccfaf .Set (_dacb -_accf ,_gec -_fdbb ,sourceImg .At (_dacb ,_gec ));};};return _ccfaf ;};func AdjustColor (colorStr string ,EG_ColorTransform []*_ec .EG_ColorTransform )string {for _ ,_edfb :=range EG_ColorTransform {if _edg :=_edfb .Tint ;_edg !=nil {if _feeb :=_edg .ValAttr .ST_PositiveFixedPercentageDecimal ;_feeb !=nil {colorStr =AdjustColorByTint (colorStr ,float64 (*_feeb )/100000);};};if _ebaf :=_edfb .Shade ;_ebaf !=nil {if _febe :=_ebaf .ValAttr .ST_PositiveFixedPercentageDecimal ;_febe !=nil {colorStr =AdjustColorByShade (colorStr ,float64 (*_febe )/100000);};};if _cebe :=_edfb .LumMod ;_cebe !=nil {if _ffee :=_cebe .ValAttr .ST_PercentageDecimal ;_ffee !=nil {colorStr =AdjustColorByLumMod (colorStr ,float64 (*_ffee )/100000);};};};return colorStr ;};func FromSTCoordinate (st _ec .ST_Coordinate )int64 {if _fbag :=st .ST_CoordinateUnqualified ;_fbag !=nil {return *_fbag ;};return 0;};type BorderPosition byte ;func GetPageFromCreator (c *_g .Creator )(*_e .PdfPage ,error ){_fgcg :=_bd .NewBuffer ([]byte {});_cfc :=c .Write (_fgcg );if _cfc !=nil {return nil ,_cfc ;};_bbce :=_bd .NewReader (_fgcg .Bytes ());_fdcfc ,_cfc :=_e .NewPdfReader (_bbce );if _cfc !=nil {return nil ,_cfc ;};return _fdcfc .GetPage (1);};func MakeTempCreator (width ,height float64 )*_g .Creator {_dbc :=_g .New ();_dbc .SetPageSize (_g .PageSize {width ,height });_dbc .SetPageMargins (0,0,0,0);return _dbc ;};var StdFontsMap =map[string ][]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0043o\u0075\u0072\u0069\u0065\u0072":[]string {"\u0043o\u0075\u0072\u0069\u0065\u0072","\u0043\u006f\u0075r\u0069\u0065\u0072\u002d\u0042\u006f\u006c\u0064","\u0043o\u0075r\u0069\u0065\u0072\u002d\u004f\u0062\u006c\u0069\u0071\u0075\u0065","\u0043\u006f\u0075\u0072ie\u0072\u002d\u0042\u006f\u006c\u0064\u004f\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0054i\u006de\u0073\u0020\u004e\u0065\u0077\u0020\u0052\u006f\u006d\u0061\u006e":[]string {"T\u0069\u006d\u0065\u0073\u002d\u0052\u006f\u006d\u0061\u006e","\u0054\u0069\u006d\u0065\u0073\u002d\u0042\u006f\u006c\u0064","\u0054\u0069\u006de\u0073\u002d\u0049\u0074\u0061\u006c\u0069\u0063","\u0054\u0069m\u0065\u0073\u002dB\u006f\u006c\u0064\u0049\u0074\u0061\u006c\u0069\u0063"},"\u0064e\u0066\u0061\u0075\u006c\u0074":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"}};func (_cgf FontStyle )String ()string {return []string {"\u0052e\u0067\u0075\u006c\u0061\u0072","\u0042\u006f\u006c\u0064","\u0049\u0074\u0061\u006c\u0069\u0063","\u0042\u006f\u006c\u0064\u0049\u0074\u0061\u006c\u0069\u0063"}[int (_cgf )];};var _ee =_adad (2);func _fagg (_edba _ec .ST_SchemeColorVal ,_cebg *_ec .Theme )string {if _eafdd :=_cebg .ThemeElements ;_eafdd !=nil {if _bcg :=_eafdd .ClrScheme ;_bcg !=nil {switch _edba {case _ec .ST_SchemeColorValLt1 :return GetColorStringFromDmlColor (_bcg .Lt1 );case _ec .ST_SchemeColorValDk1 ,_ec .ST_SchemeColorValTx1 :return GetColorStringFromDmlColor (_bcg .Dk1 );case _ec .ST_SchemeColorValLt2 :return GetColorStringFromDmlColor (_bcg .Lt2 );case _ec .ST_SchemeColorValDk2 :return GetColorStringFromDmlColor (_bcg .Dk2 );case _ec .ST_SchemeColorValAccent1 :return GetColorStringFromDmlColor (_bcg .Accent1 );case _ec .ST_SchemeColorValAccent2 :return GetColorStringFromDmlColor (_bcg .Accent2 );case _ec .ST_SchemeColorValAccent3 :return GetColorStringFromDmlColor (_bcg .Accent3 );case _ec .ST_SchemeColorValAccent4 :return GetColorStringFromDmlColor (_bcg .Accent4 );case _ec .ST_SchemeColorValAccent5 :return GetColorStringFromDmlColor (_bcg .Accent5 );case _ec .ST_SchemeColorValAccent6 :return GetColorStringFromDmlColor (_bcg .Accent6 );};};};return "";};type Rectangle struct{Top float64 ;Bottom float64 ;Left float64 ;Right float64 ;};const _ede =6.0;func _bbd (_acfc float64 )float64 {if _acfc < 0{_acfc +=float64 (-int (_acfc )+1);}else if _acfc > 1{_acfc -=float64 (int (_acfc ));};return _acfc ;};func (_gbg *Rectangle )Translate (x ,y float64 ){_gbg .Left +=x ;_gbg .Right +=x ;_gbg .Top +=y ;_gbg .Bottom +=y ;};func (_ag *creatorContext )drawBarChart (_fbg *_fcg .CT_BarChart ,_eb *Rectangle ,_gc *_fcg .CT_PlotAreaChoice1 )([]*legendItem ,error ){var _aaa bool ;if _ae :=_fbg .BarDir ;_ae !=nil {_aaa =_ae .ValAttr ==_fcg .ST_BarDirBar ;};_cc :=_fbg .Ser ;_bge .Sort (barSerByOrder (_cc ));_afb :=map[string ]serCategory {};_aae :=[]string {};_ea :=[]*legendItem {};_gd :=_be .Inf (1);_fbc :=_be .Inf (-1);for _ ,_dc :=range _cc {var _cf string ;if _ac :=_dc .Tx ;_ac !=nil {if _ce :=_ac .Choice ;_ce !=nil {if _ce .V !=nil {_cf =*_ce .V ;}else if _dg :=_ce .StrRef ;_dg !=nil {if _de :=_dg .StrCache ;_de !=nil {for _ ,_fd :=range _de .Pt {_cf =_fd .V ;};};};};};if _ecb :=_dc .Cat ;_ecb !=nil {if _ge :=_ecb .Choice ;_ge !=nil {if _agf :=_ge .StrRef ;_agf !=nil {if _dd :=_agf .StrCache ;_dd !=nil {for _ ,_dee :=range _dd .Pt {_gcg :=_dee .V ;if _ ,_geb :=_afb [_gcg ];!_geb {_afb [_gcg ]=serCategory {_gbc :_gcg ,_eff :[]serValue {}};_aae =append (_aae ,_gcg );};};};}else if _bebb :=_ge .NumRef ;_bebb !=nil {if _gb :=_bebb .NumCache ;_gb !=nil {var _ffc string ;if _gb .FormatCode !=nil {_ffc =*_gb .FormatCode ;};for _ ,_dcb :=range _gb .Pt {var _gbf string ;if _dcb .FormatCodeAttr ==nil {_gbf =_ffc ;}else {_gbf =*_dcb .FormatCodeAttr ;};var _bec string ;_dgd ,_dcd :=_fc .ParseFloat (_dcb .V ,64);if _dcd !=nil {_bec =_dcb .V ;}else {_bec =_ff .Number (_dgd ,_gbf );};if _ ,_fbb :=_afb [_bec ];!_fbb {_afb [_bec ]=serCategory {_gbc :_bec ,_eff :[]serValue {}};_aae =append (_aae ,_bec );};};};};};};if _ffe :=_dc .Val ;_ffe !=nil {if _dcba :=_ffe .Choice ;_dcba !=nil {if _afa :=_dcba .NumRef ;_afa !=nil {if _gcgc :=_afa .NumCache ;_gcgc !=nil {for _ced ,_ebe :=range _gcgc .Pt {_ab ,_bb :=_fc .ParseFloat (_ebe .V ,64);if _bb !=nil {_ab =0;_beb .Log .Debug ("\u0070a\u0072s\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",_bb );};if _ab > _fbc {_fbc =_ab ;};if _ab < _gd {_gd =_ab ;};_bdb :=_afb [_aae [_ced ]];_bdb ._eff =append (_bdb ._eff ,serValue {_bgb :_cf ,_efa :_ab ,_efac :_dc .SpPr });_afb [_aae [_ced ]]=_bdb ;};};};};};_ea =append (_ea ,&legendItem {_bce :_cf ,_fee :_dc .SpPr });};var _cg float64 ;var _eade ,_ef float64 ;if _fbc ==0&&_gd ==0{_cg =0.2;_ef =0;_eade =1;}else {var _aec float64 ;if _fce :=_be .Abs (_gd );_fbc < _fce {_aec =_fce ;}else {_aec =_fbc ;};_gg :=_be .Pow (10,_be .Floor (_be .Log10 (_aec )));_ed :=_aec /_gg ;if _ed >=1.715&&_ed < 4.29{_cg =0.5;}else if _ed >=4.29&&_ed < 8.58{_cg =1;}else {_cg =2;};_cg *=_gg ;if _fbc <=0{_eade =0;}else {_eade =(_be .Ceil (_fbc /_cg )+1)*_cg ;};if _gd >=0{_ef =0;}else {_ef =(_be .Floor (_gd /_cg )-1)*_cg ;};};_ad :=_ag .drawAxes (_gc ,_ef ,_eade ,_cg ,_aae ,_eb ,_aaa );if _ad !=nil {return nil ,_ad ;};_beca :=0.0;if _fbg .GapWidth !=nil {if _ca :=_fbg .GapWidth .ValAttr ;_ca !=nil {if _cgd :=_ca .ST_GapAmountUShort ;_cgd !=nil {_beca =float64 (*_cgd )/100.0;};};};_ecd :=_eb .Right -_eb .Left ;_agd :=_eb .Bottom -_eb .Top ;_fcgc :=float64 (len (_aae ));if _aaa {_cag :=_eade /(_eade -_ef )*_ecd ;_gce :=-_ef /(_eade -_ef )*_ecd ;_fdg :=_eb .Left +_gce ;_fff :=_agd /_fcgc ;for _cce ,_eaa :=range _aae {_ece :=_afb [_eaa ];_fa :=float64 (len (_ece ._eff ))+_beca ;_ggb :=_fff /_fa ;_aad :=_ggb *_beca ;_db :=_eb .Bottom -float64 (_cce )*_fff -_aad /2-_ggb ;for _ ,_adc :=range _ece ._eff {if _adc ._efa ==0{continue ;};var _dbe ,_ccee float64 ;if _adc ._efa > 0{_ccee =_adc ._efa /_eade *_cag ;_ag .drawRectangleWithProps (_adc ._efac ,_fdg ,_db ,_ccee ,_ggb ,false );}else {_ccee =_adc ._efa /_ef *_gce ;_dbe =_fdg -_ccee ;_ag .drawRectangleWithProps (_adc ._efac ,_dbe ,_db ,_ccee ,_ggb ,false );};_db -=_ggb ;};};}else {_df :=_eade /(_eade -_ef )*_agd ;_bc :=-_ef /(_eade -_ef )*_agd ;_age :=_eb .Top +_df ;_ffg :=_ecd /_fcgc ;for _gf ,_faa :=range _aae {_eaf :=_afb [_faa ];_afd :=float64 (len (_eaf ._eff ))+_beca ;_ebb :=_ffg /_afd ;_fffe :=_ebb *_beca ;_ccf :=_eb .Left +float64 (_gf )*_ffg +_fffe /2;for _ ,_acd :=range _eaf ._eff {var _dfd ,_bgd float64 ;if _acd ._efa > 0{_bgd =_acd ._efa /_eade *_df ;_dfd =_age -_bgd ;_ag .drawRectangleWithProps (_acd ._efac ,_ccf ,_dfd ,_ebb ,_bgd ,false );}else {_bgd =_acd ._efa /_ef *_bc ;_ag .drawRectangleWithProps (_acd ._efac ,_ccf ,_age ,_ebb ,_bgd ,false );};_ccf +=_ebb ;};};};return _ea ,nil ;};func GetColorStringFromDmlColor (dmlColor *_ec .CT_Color )string {var _cfgc string ;if _abbe :=dmlColor .SrgbClr ;_abbe !=nil {_cfgc =_abbe .ValAttr ;}else if _acbe :=dmlColor .SysClr ;_acbe !=nil {return "\u0030\u0030\u0030\u0030\u0030\u0030";};return _cfgc ;};var _deeb =fontsMap {_bfad :&_bg .Mutex {},_edgb :map[string ]map[FontStyle ]*_e .PdfFont {}};func (_agb barSerByOrder )Len ()int {return len (_agb )};var _dda =_adad (1.5);func AdjustColorByShade (colorStr string ,shade float64 )string {var _efad ,_bbcb ,_eafdc uint8 ;_aee ,_ :=_f .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_efad ,&_bbcb ,&_eafdc );if _aee !=3{return "";};return _gceb (_efad ,shade )+_gceb (_bbcb ,shade )+_gceb (_eafdc ,shade );};func _eggb (_dffg string )(string ,string ){if !_bga .HasSuffix (_dffg ,"\u002e\u0074\u0074\u0066"){_beb .Log .Debug ("\u0055\u006es\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0069\u006c\u0065\u0020\u0066\u006f\u0072ma\u0074\u002e");return "","";};_ddb ,_feead :=_af .ParseFile (_dffg );if _feead !=nil {_beb .Log .Debug ("\u0043a\u006e\u006e\u006f\u0074\u0020\u0070\u0061\u0072\u0073\u0065\u0020T\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_feead );return "","";};_bfgf :=_ddb .GetNameByID (1);if _bfgf ==""{_beb .Log .Debug ("\u004e\u006f\u0020\u0066\u006fn\u0074\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u0069\u006e\u0066\u006fr\u006d\u0061\u0074\u0069\u006f\u006e\u0020\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_dffg );return "","";};_afc :=make ([]byte ,0);for _agce :=0;_agce < len (_bfgf );_agce ++{if _bfgf [_agce ]==39||_bfgf [_agce ]==92{continue ;};_ddfdc :=4;if _agce +_ddfdc < len (_bfgf ){if _bfgf [_agce :_agce +_ddfdc ]=="\u0000"{_agce =_agce +_ddfdc +1;continue ;};};_afc =append (_afc ,_bfgf [_agce ]);};_bfgf =_bga .Replace (string (_afc ),"\u0078\u0030\u0030","",-1);_cgcd :=_ddb .GetNameByID (2);if _cgcd ==""{_beb .Log .Debug ("N\u006f\u0020\u0073\u0074\u0079\u006ce\u0020\u0069\u006e\u0066\u006f\u0072m\u0061\u0074\u0069\u006f\u006e\u0020\u0069n\u0020\u0074\u0068\u0065\u0020\u0066\u0069\u006c\u0065\u0020%\u0073",_dffg );return "","";};_afc =make ([]byte ,0);for _ccd :=0;_ccd < len (_cgcd );_ccd ++{if _cgcd [_ccd ]==39||_cgcd [_ccd ]==92{continue ;};_gdc :=4;if _ccd +_gdc < len (_cgcd ){if _cgcd [_ccd :_ccd +_gdc ]=="\u0000"{_ccd =_ccd +_gdc +1;continue ;};};_afc =append (_afc ,_cgcd [_ccd ]);};_cgcd =_bga .Replace (string (_afc ),"\u0078\u0030\u0030","",-1);return _bfgf ,_cgcd ;};func _dcbg (_aefd *_fcg .CT_DateAx )(uint32 ,_fcg .ST_AxPos ,_fcg .ST_TickMark ,_fcg .ST_TickLblPos ,*_fcg .CT_ChartLines ,uint32 ,*_ec .CT_ShapeProperties ,error ){var _feg ,_bbg uint32 ;var _agfb _fcg .ST_AxPos ;var _feef _fcg .ST_TickMark ;var _fdde *_fcg .CT_ChartLines ;var _fcgb _fcg .ST_TickLblPos ;if _aefd .AxId ==nil {return _feg ,_agfb ,_feef ,_fcgb ,_fdde ,_bbg ,_aefd .SpPr ,_ba .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_feg =_aefd .AxId .ValAttr ;};if _aefd .AxPos ==nil {return _feg ,_agfb ,_feef ,_fcgb ,_fdde ,_bbg ,_aefd .SpPr ,_ba .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_agfb =_aefd .AxPos .ValAttr ;};if _aefd .MajorTickMark !=nil {_feef =_aefd .MajorTickMark .ValAttr ;};if _aefd .TickLblPos !=nil {_fcgb =_aefd .TickLblPos .ValAttr ;};if _aefd .CrossAx ==nil {return _feg ,_agfb ,_feef ,_fcgb ,_fdde ,_bbg ,_aefd .SpPr ,_ba .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_bbg =_aefd .CrossAx .ValAttr ;};_fdde =_aefd .MajorGridlines ;return _feg ,_agfb ,_feef ,_fcgb ,_fdde ,_bbg ,_aefd .SpPr ,nil ;};func _dbf (_cae ,_gfe ,_bgdg float64 )float64 {if _cae *6< 1{return _bgdg +(_gfe -_bgdg )*6*_cae ;}else if _cae *2< 1{return _gfe ;}else if _cae *3< 2{return _bgdg +(_gfe -_bgdg )*(2.0/3.0-_cae )*6;}else {return _bgdg ;};};var _cfd =_adad (0.5);