--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.0... --------------------------------------------------------------------------------------------------------------- [12:23:55.488] Vidbot :: start() [12:23:55.489] Vidbot :: _next(), _stepIndex:0 of 4 [12:23:55.489] index :: _onStepStarted_vidbot(), step: 1 [12:23:55.491] Vidbot :: step[0], label:Initializing Core [12:23:55.502] index :: _onStepProgress_vidbot(), percent: 20 [12:23:55.502] Vidbot :: _parse() [12:23:55.503] index :: _onStepProgress_vidbot(), percent: 40 [12:23:55.504] Vidbot :: _validate() [12:23:55.504] index :: _onStepProgress_vidbot(), percent: 60 [12:23:55.504] Vidbot :: _fonts() [12:23:55.505] FabricFontManager :: add(), id: SourceSansPro-Bold [12:23:55.505] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [12:23:55.513] FabricFontManager :: add(), id: SourceSansPro-Light [12:23:55.513] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [12:23:55.514] FabricFontManager :: add(), id: DINOT-Bold [12:23:55.514] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [12:23:55.515] FabricFontManager :: add(), id: DINOT-Light [12:23:55.515] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [12:23:55.516] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [12:23:55.516] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [12:23:55.517] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [12:23:55.517] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [12:23:55.518] index :: _onStepProgress_vidbot(), percent: 80 [12:23:55.519] Vidbot :: _clips() [12:23:55.519] StreamManager :: add(), id:audio_vo, type:audio [12:23:55.520] AudioClip[audio_vo] :: constructor() [12:23:55.520] InputStream[audio_vo] :: constructor() [12:23:55.520] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [12:23:55.523] StreamManager :: add(), id:bg_music, type:audio [12:23:55.523] AudioClip[bg_music] :: constructor() [12:23:55.523] InputStream[bg_music] :: constructor() [12:23:55.523] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [12:23:55.523] StreamManager :: add(), id:simplefadedisplay, type:canvas [12:23:55.524] CanvasStream[canvas_880794585969] :: constructor() [12:23:55.524] InputStream[canvas_880794585969] :: constructor() [12:23:55.606] KenBurnsSlideshow[simplefadedisplay] :: constructor() [12:23:55.607] Overlay[simplefadedisplay] :: constructor() [12:23:55.607] CanvasClip[simplefadedisplay] :: constructor() [12:23:55.607] Clip[simplefadedisplay] :: constructor() [12:23:55.607] clip:"simplefadedisplay" added to stream:"canvas_880794585969" [12:23:55.607] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_880794585969', clipId: 'simplefadedisplay' } [12:23:55.607] StreamManager :: add(), id:caption, type:canvas [12:23:55.608] RenCaption[caption] :: constructor() [12:23:55.608] Ren[caption] :: constructor() [12:23:55.608] Overlay[caption] :: constructor() [12:23:55.608] CanvasClip[caption] :: constructor() [12:23:55.608] Clip[caption] :: constructor() [12:23:55.608] clip:"caption" added to stream:"canvas_880794585969" [12:23:55.608] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_880794585969', clipId: 'caption' } [12:23:55.608] StreamManager :: add(), id:carfax, type:video [12:23:55.608] VideoStream[carfax] :: constructor() [12:23:55.609] InputStream[carfax] :: constructor() [12:23:55.609] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'carfax', clipId: null } [12:23:55.609] all added... [12:23:55.609] Vidbot :: _next(), _stepIndex:1 of 4 [12:23:55.609] index :: _onStepCompleted_vidbot(), step: 1 [12:23:55.609] index :: _onStepStarted_vidbot(), step: 2 [12:23:55.610] Vidbot :: step[1], label:Initializing Input Streams [12:23:55.610] StreamManager :: init() [12:23:55.610] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.25 } [12:23:55.610] index :: _onStepProgress_vidbot(), percent: 25 [12:23:55.610] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.5 } [12:23:55.611] index :: _onStepProgress_vidbot(), percent: 50 [12:23:55.611] CanvasStream[canvas_880794585969] :: _init(), BEGIN [12:23:55.611] i:0, c.id:simplefadedisplay [12:23:55.611] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [12:23:55.612] KenBurnsSlideshow[simplefadedisplay] :: _validate() [12:23:55.612] KenBurnsSlideshow[undefined] :: _validateAnim() [12:23:55.613] KenBurnsSlideshow[undefined] :: _validateTheme() [12:23:55.614] i:1, c.id:caption [12:23:55.614] RenCaption[caption] :: _init() [12:23:55.614] RenCaption[caption] :: _validate() [12:23:55.615] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'carfax', progress: 0.75 } [12:23:55.615] index :: _onStepProgress_vidbot(), percent: 75 [12:23:55.616] KenBurnsSlideshow[simplefadedisplay] :: _build() [12:23:55.621] AnimatedImageFrame[aif] :: constructor() [12:23:55.622] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.622] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_1.jpg [12:23:55.634] RenCaption[caption] :: _build() [12:23:55.654] Overlay[caption] :: _animate() [12:23:55.657] CanvasStream[caption] :: _init(), p.then() [12:23:55.680] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.683] AnimatedImageFrame[aif] :: _init(), END [12:23:55.684] AnimatedImageFrame[aif] :: constructor() [12:23:55.685] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.685] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_2.jpg [12:23:55.709] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.710] AnimatedImageFrame[aif] :: _init(), END [12:23:55.711] AnimatedImageFrame[aif] :: constructor() [12:23:55.711] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.711] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_3.jpg [12:23:55.736] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.737] AnimatedImageFrame[aif] :: _init(), END [12:23:55.738] AnimatedImageFrame[aif] :: constructor() [12:23:55.738] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.738] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_4.jpg [12:23:55.761] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.762] AnimatedImageFrame[aif] :: _init(), END [12:23:55.762] AnimatedImageFrame[aif] :: constructor() [12:23:55.763] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.763] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_5.jpg [12:23:55.786] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.787] AnimatedImageFrame[aif] :: _init(), END [12:23:55.787] AnimatedImageFrame[aif] :: constructor() [12:23:55.788] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.788] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_6.jpg [12:23:55.812] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.814] AnimatedImageFrame[aif] :: _init(), END [12:23:55.814] AnimatedImageFrame[aif] :: constructor() [12:23:55.814] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.814] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_7.jpg [12:23:55.838] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.839] AnimatedImageFrame[aif] :: _init(), END [12:23:55.839] AnimatedImageFrame[aif] :: constructor() [12:23:55.839] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.839] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_8.jpg [12:23:55.861] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.862] AnimatedImageFrame[aif] :: _init(), END [12:23:55.863] AnimatedImageFrame[aif] :: constructor() [12:23:55.863] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.863] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_9.jpg [12:23:55.883] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.884] AnimatedImageFrame[aif] :: _init(), END [12:23:55.885] AnimatedImageFrame[aif] :: constructor() [12:23:55.885] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.885] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_10.jpg [12:23:55.903] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.904] AnimatedImageFrame[aif] :: _init(), END [12:23:55.905] AnimatedImageFrame[aif] :: constructor() [12:23:55.905] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.905] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_11.jpg [12:23:55.925] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.926] AnimatedImageFrame[aif] :: _init(), END [12:23:55.926] AnimatedImageFrame[aif] :: constructor() [12:23:55.926] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.926] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_12.jpg [12:23:55.947] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.948] AnimatedImageFrame[aif] :: _init(), END [12:23:55.948] AnimatedImageFrame[aif] :: constructor() [12:23:55.948] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.949] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_13.jpg [12:23:55.968] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.969] AnimatedImageFrame[aif] :: _init(), END [12:23:55.970] AnimatedImageFrame[aif] :: constructor() [12:23:55.970] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.970] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_14.jpg [12:23:55.990] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:55.991] AnimatedImageFrame[aif] :: _init(), END [12:23:55.991] AnimatedImageFrame[aif] :: constructor() [12:23:55.991] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:55.992] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_15.jpg [12:23:56.014] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:56.015] AnimatedImageFrame[aif] :: _init(), END [12:23:56.016] AnimatedImageFrame[aif] :: constructor() [12:23:56.016] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:56.016] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_16.jpg [12:23:56.034] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:56.035] AnimatedImageFrame[aif] :: _init(), END [12:23:56.035] AnimatedImageFrame[aif] :: constructor() [12:23:56.035] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:56.035] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_17.jpg [12:23:56.053] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:56.054] AnimatedImageFrame[aif] :: _init(), END [12:23:56.055] AnimatedImageFrame[aif] :: constructor() [12:23:56.055] AnimatedImageFrame[aif] :: _init(), BEGIN [12:23:56.055] CanvasClip :: LoadImageWithPromise(), src: F4738481-6BA7-DBCC-868F-BF66DB7FDE05_18.jpg [12:23:56.082] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [12:23:56.083] AnimatedImageFrame[aif] :: _init(), END [12:23:56.083] Overlay[simplefadedisplay] :: _animate() [12:23:56.084] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [12:23:56.084] CanvasStream[simplefadedisplay] :: _init(), p.then() [12:23:56.084] CanvasStream[canvas_880794585969] :: _init(), promise.all.then() [12:23:56.086] CanvasStream[canvas_880794585969] :: _init(), END [12:23:56.086] StreamMangaer :: init(), stream[canvas_880794585969].then() [12:23:56.087] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_880794585969', progress: 1 } [12:23:56.087] index :: _onStepProgress_vidbot(), percent: 100 [12:23:56.087] StreamManager :: init(), promise.all.then... [12:23:56.087] Vidbot :: StreamMgr.on( 'INITED' ) [12:23:56.087] Vidbot :: _next(), _stepIndex:2 of 4 [12:23:56.087] index :: _onStepCompleted_vidbot(), step: 2 [12:23:56.087] index :: _onStepStarted_vidbot(), step: 3 [12:23:56.088] Vidbot :: step[2], label:Rendering Canvas Streams [12:23:56.088] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [12:23:56.088] StreamManager :: render() [12:23:56.089] CanvasStream[canvas_880794585969] :: render() [12:23:56.121] index :: _onStepProgress_vidbot(), percent: 0 [12:24:10.442] index :: _onStepProgress_vidbot(), percent: 5 [12:24:27.357] index :: _onStepProgress_vidbot(), percent: 10 [12:24:44.408] index :: _onStepProgress_vidbot(), percent: 15 [12:25:01.362] index :: _onStepProgress_vidbot(), percent: 20 [12:25:19.399] index :: _onStepProgress_vidbot(), percent: 25 [12:25:36.630] index :: _onStepProgress_vidbot(), percent: 30 [12:25:52.897] index :: _onStepProgress_vidbot(), percent: 35 [12:26:09.194] index :: _onStepProgress_vidbot(), percent: 40 [12:26:24.824] index :: _onStepProgress_vidbot(), percent: 45 [12:26:40.430] index :: _onStepProgress_vidbot(), percent: 50 [12:26:55.641] index :: _onStepProgress_vidbot(), percent: 55 [12:27:11.139] index :: _onStepProgress_vidbot(), percent: 60 [12:27:27.369] index :: _onStepProgress_vidbot(), percent: 65 [12:27:43.336] index :: _onStepProgress_vidbot(), percent: 70 [12:27:59.609] index :: _onStepProgress_vidbot(), percent: 75 [12:28:16.047] index :: _onStepProgress_vidbot(), percent: 80 [12:28:32.889] index :: _onStepProgress_vidbot(), percent: 85 [12:28:49.961] index :: _onStepProgress_vidbot(), percent: 90 [12:29:09.253] index :: _onStepProgress_vidbot(), percent: 95 [12:29:24.444] index :: _onStepProgress_vidbot(), percent: 100 [12:29:24.708] StreamManager :: render(), Promise.all.then... [12:29:24.709] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [12:29:24.709] Vidbot :: _next(), _stepIndex:3 of 4 [12:29:24.709] index :: _onStepCompleted_vidbot(), step: 3 [12:29:24.710] index :: _onStepStarted_vidbot(), step: 4 [12:29:24.711] Vidbot :: step[3], label:Encoding Media [12:29:24.713] CanvasFilters :: Overlay() [12:29:24.714] VideoStream[carfax] :: inputOptions() [12:29:24.714] VideoFilters :: Tpad() [12:29:24.714] VideoFilters :: Scale() [12:29:24.715] VideoFilters :: Overlay() [12:29:24.716] AudioStream[audio_vo] :: inputOptions() [12:29:24.716] AudioFilters :: Volume() [12:29:24.716] filter: [3:a]volume=1[3_vol] [12:29:24.716] AudioFilters :: Delay() [12:29:24.716] filter: [3_vol]adelay=0|0[3_del] [12:29:24.716] AudioStream[bg_music] :: inputOptions() [12:29:24.716] AudioFilters :: Volume() [12:29:24.716] filter: [4:a]volume=0.25[4_vol] [12:29:24.717] AudioFilters :: FadeOut() [12:29:24.717] filter: [4_vol]afade=t=out:st=54:d=1[4_fadeout] [12:29:24.717] AudioFilters :: Delay() [12:29:24.717] filter: [4_fadeout]adelay=0|0[4_del] [12:29:24.717] VideoStream[carfax] :: inputOptions() [12:29:24.717] AudioFilters :: Volume() [12:29:24.717] filter: [5:a]volume=1[5_vol] [12:29:24.717] AudioFilters :: Delay() [12:29:24.717] filter: [5_vol]adelay=54000|54000[5_del] [12:29:24.717] AudioFilters :: Mix() [12:29:24.718] filter: [3_del][4_del][5_del]amix=inputs=3:duration=longest[a_out] [12:29:24.718] mixed filter: [3_del][4_del][5_del]amix=inputs=3:duration=longest[a_out] [12:29:24.720] hang.time: 60 [12:29:24.808] Vidbot :: ffmpeg.on( 'start' ) [12:29:24.808] ffmpeg -f lavfi -i color=c=000000:s=640x360:r=30:duration=68.63 -r 30 -i ./tmp/canvas_880794585969_%05d.png -to 00:00:14.630 -i file:///var/app/video_ [12:29:24.808] pre_processor/assets/cpo/carfax/carfax_360.mp4 -to 00:00:54.000 -i file:///var/www/html/clients/1829/audio/F4738481-6BA7-DBCC-868F-BF66DB7FDE05.mp3 -t [12:29:24.808] o 00:00:54.000 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Concept7.mp3 -to 00:00:14.630 -i file:///var/app/video_pre_processor/ [12:29:24.808] assets/cpo/carfax/carfax_360.mp4 -y -filter_complex [0:v][1:v]overlay=x=0:y=0[1_out];[2:v]tpad=start_duration=53.95[2_tpad];[2_tpad]scale=w=640:h=360[ [12:29:24.808] 2_scaled];[1_out][2_scaled]overlay=x=0:y=0:enable='between(t,54,68.63)'[2_out];[3:a]volume=1[3_vol];[3_vol]adelay=0|0[3_del];[4:a]volume=0.25[4_vol];[ [12:29:24.808] 4_vol]afade=t=out:st=54:d=1[4_fadeout];[4_fadeout]adelay=0|0[4_del];[5:a]volume=1[5_vol];[5_vol]adelay=54000|54000[5_del];[3_del][4_del][5_del]amix=in [12:29:24.808] puts=3:duration=longest[a_out] -acodec aac -vcodec libx264 -r 30 -f mp4 -map [a_out] -map [2_out] -preset veryfast -crf 18 -movflags frag_keyframe+emp [12:29:24.808] ty_moov -pix_fmt yuv420p /var/www/html/clients/1829/video/F4738481-6BA7-DBCC-868F-BF66DB7FDE05.mp4 [12:29:25.013] index :: _onStepProgress_vidbot(), percent: -3026735330 [12:29:25.454] index :: _onStepProgress_vidbot(), percent: 2 [12:29:25.955] index :: _onStepProgress_vidbot(), percent: 7 [12:29:26.455] index :: _onStepProgress_vidbot(), percent: 12 [12:29:26.967] index :: _onStepProgress_vidbot(), percent: 16 [12:29:27.491] index :: _onStepProgress_vidbot(), percent: 22 [12:29:27.998] index :: _onStepProgress_vidbot(), percent: 26 [12:29:28.514] index :: _onStepProgress_vidbot(), percent: 30 [12:29:29.006] index :: _onStepProgress_vidbot(), percent: 35 [12:29:30.015] index :: _onStepProgress_vidbot(), percent: 45 [12:29:31.027] index :: _onStepProgress_vidbot(), percent: 53 [12:29:31.528] index :: _onStepProgress_vidbot(), percent: 57 [12:29:32.028] index :: _onStepProgress_vidbot(), percent: 62 [12:29:32.535] index :: _onStepProgress_vidbot(), percent: 66 [12:29:33.052] index :: _onStepProgress_vidbot(), percent: 70 [12:29:34.048] index :: _onStepProgress_vidbot(), percent: 78 [12:29:34.551] index :: _onStepProgress_vidbot(), percent: 82 [12:29:35.053] index :: _onStepProgress_vidbot(), percent: 87 [12:29:35.558] index :: _onStepProgress_vidbot(), percent: 93 [12:29:36.058] index :: _onStepProgress_vidbot(), percent: 100 [12:29:36.121] Vidbot :: ffmpeg.on( 'end' ), Done! [12:29:36.121] StreamManager :: dispose() [12:29:36.122] CanvasStream[canvas_880794585969] :: dispose() [12:29:36.127] Vidbot :: fflog.on( 'finish' ) [12:29:36.127] fflog.path: /var/www/html/clients/1829/video/F4738481-6BA7-DBCC-868F-BF66DB7FDE05.mp4.fflog [12:29:36.127] Vidbot :: _next(), _stepIndex:4 of 4 [12:29:36.127] index :: _onStepCompleted_vidbot(), step: 4 [12:29:36.128] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 340.66, output: '/var/www/html/clients/1829/video/F4738481-6BA7-DBCC-868F-BF66DB7FDE05.mp4', duration: 68.63 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/1829/video/F4738481-6BA7-DBCC-868F-BF66DB7FDE05.mp4 Media Duration : 00:01:08.629 Generation Time : 00:05:40.660 ---------------------------------------------------------------------------------------------------------------