Official Blackmagic Design Press Release: Muse VFX Uses Fusion Studio on FX Networks’ Legion

Show us your bits!

Moderator: Dunn

User avatar
KennaL
Posts: 26
Joined: Fri Jul 10, 2015 6:03 am
Been thanked: 2 times
Contact:

Official Blackmagic Design Press Release: Muse VFX Uses Fusion Studio on FX Networks’ Legion

#1

Post by KennaL » Fri Sep 28, 2018 7:37 am

Muse VFX Uses Fusion Studio on FX Networks’ Critically Acclaimed Drama Series, Legion

https://www.blackmagicdesign.com/media/ ... 0180928-02
1-legion@2x.jpg

Fremont, CA - September 28, 2018 - Blackmagic Design today announced that Los Angeles based visual effects (VFX) house Muse VFX used Fusion 9 Studio, its VFX and motion graphics software, on FX’s critically acclaimed drama Legion.

Led by Founders and VFX Supervisors John Gross and Fred Pienkos, the Muse VFX team used Fusion Studio for the second season of the hit television series. “A lot of our work on the show’s VFX revolved around characters and creatures, everything from monsters to mice,” said Pienkos.

One of those creatures was the "Delusion Monster," which began in the season’s first episode by hatching from an egg and grew over the season run to gigantic proportions.

“The baby 'Delusion Monster' was always covered in sticky black goo and it left footprints wherever it went, so I came up with a way to create them in Fusion Studio,” said VFX Generalist Bryan Ray. “The Ambient Occlusion (AO) buffer from the render showed where the creature's feet touched the floor, so I used the Trails tool to make the footprints linger after he took another step. Then I used a couple of custom macros to give the footprints some volume and reflectivity.”

2-legion@2x.jpg

By episode six, the “Delusion Monster” had grown in scale to fill entire rooms. To help with its lighting, Muse VFX used Fusion Studio’s SDK to create MultiMerge Fuse for performing merges, which is now available for public use through Reactor, a free and open source package manager for Fusion and DaVinci Resolve.

Ray explained, “The 'Delusion Monster' was black and shiny, like tar, and in some scenes the lights were strobing; all of which made lighting him a challenge. The detail in the surface quality and lighting required many revisions in order to achieve the look and there just wasn't time to push that many new renders through.

3-legion@2x.jpg

“We gave ourselves more flexibility by rendering lighting passes, and in some cases we had as many as seven lighting renders. Achieving the desired look usually required balancing them against one another, but with so many individual Blend controls to adjust, compositors were spending a lot of time clicking between the Merges. I used Fusion Studio's SDK to create a MultiMerge Fuse to alleviate that problem. MultiMerge presents the artist with a list of inputs and Blend sliders all in one control panel, not unlike a studio's lighting console.”

According to Muse VFX, Fusion Studio’s 3D compositing environment was a critical component of several shots throughout the season. For one shot, Muse VFX had to add a CG needle to a compass. “We were still working out the design with the client, so we knew that modeling, animating and rendering in 3D software would take too much time. Instead, we used a plugin in Fusion Studio to build the needle from a spline. This allowed us to quickly iterate the shape and decoration of the needle, turning around a dozen versions in less than a week,” noted Ray.

In season two, David Haller and his friends joined forces with the government agency, Division 3, to combat their common enemy, the Shadow King. A long establishing shot of the Division 3 building required a handoff from a 3D camera move to the camera motion produced on set. Ray explained, “The camera started in an extreme wide shot of the city skyline, dominated by the Division 3 building. It flew in through a window, down a long hallway, and ended on a view through a barred jail cell window. The ability to import an Alembic camera file and match its position to a camera created with Fusion Studio’s Camera Tracker made the handoff seamless.”

4-legion@2x.jpg

Based on the Marvel Comics by Chris Claremont and Bill Sienkiewicz, Legion is the story of “David Haller” (Dan Stevens), a man who believed himself to be schizophrenic only to discover that he may actually be the most powerful mutant the world has ever seen. The series also stars Rachel Keller, Aubrey Plaza, Bill Irwin, Navid Negahban, Jemaine Clement, Jeremie Harris, Amber Midthunder, Hamish Linklater and Jean Smart.

Press Photography
Product photos of Fusion Studio, DaVinci Resolve and all other Blackmagic Design products are available at www.blackmagicdesign.com/media/images

About Muse VFX
Muse VFX is an award-winning team of artists and producers specializing in the design and creation of imagery for television, feature film, commercials, special venue projects and online entertainment. For more information, visit: www.musevfx.com

About Blackmagic Design
Blackmagic Design creates the world’s highest quality video editing products, digital film cameras, color correctors, video converters, video monitoring, routers, live production switchers, disk recorders, waveform monitors and real time film scanners for the feature film, post production and television broadcast industries. Blackmagic Design’s DeckLink capture cards launched a revolution in quality and affordability in post production, while the company’s Emmy™ award winning DaVinci color correction products have dominated the television and film industry since 1984. Blackmagic Design continues ground breaking innovations including 6G-SDI and 12G-SDI products and stereoscopic 3D and Ultra HD workflows. Founded by world leading post production editors and engineers, Blackmagic Design has offices in the USA, UK, Japan, Singapore and Australia. For more information, please go to www.blackmagicdesign.com
Last edited by KennaL on Mon Oct 01, 2018 6:39 am, edited 2 times in total.

User avatar
SecondMan
Site Admin
Posts: 2707
Joined: Thu Jul 31, 2014 5:31 pm
Location: Vancouver, Canada
Been thanked: 104 times
Contact:

Re: Official Blackmagic Design Press Release: Muse VFX Uses Fusion Studio on FX Networks’ Legion

#2

Post by SecondMan » Fri Sep 28, 2018 10:09 am

Terrific job, and a great article!

Kudos and thanks to @Midgardsormr and @fpienkos for sharing a peek at Muse's internal kitchen. Always a pleasure to see your work :)

User avatar
Midgardsormr
Fusionista
Posts: 745
Joined: Wed Nov 26, 2014 8:04 pm
Location: Los Angeles, CA, USA
Been thanked: 76 times
Contact:

Re: Official Blackmagic Design Press Release: Muse VFX Uses Fusion Studio on FX Networks’ Legion

#3

Post by Midgardsormr » Fri Sep 28, 2018 10:44 am

I was disappointed that they 'sanitized' the reference to Krokodove, so I'll just rectify that. Krokodove is the unnamed plug-in, and here's a punch-in on the finished frame where I used it:

compass.jpg

And a sample from five versions earlier (I really liked this perforated and unpainted design):

compass2.jpg

And for good measure, here's a portion of the comp that created it:

  1. {
  2.     Tools = ordered() {
  3.         Gamut1_6_2 = GamutConvert {
  4.             NameSet = true,
  5.             CurrentSettings = 2,
  6.             CustomData = {
  7.                 Settings = {
  8.                     [1] = {
  9.                         Tools = ordered() {
  10.                             Gamut1_6_2 = GamutConvert {
  11.                                 Inputs = {
  12.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  13.                                     RemoveGamma = Input { Value = 0 },
  14.                                     Input = Input {
  15.                                         SourceOp = "ColorCorrector3",
  16.                                         Source = "Output"
  17.                                     }
  18.                                 },
  19.                                 CtrlWZoom = false,
  20.                                 NameSet = true,
  21.                                 ViewInfo = OperatorInfo { Pos = { 1045, 82.5 } },
  22.                                 CustomData = {
  23.                                 }
  24.                             }
  25.                         }
  26.                     },
  27.                     [2] = {
  28.                         Tools = ordered() {
  29.                             Gamut1_6 = GamutConvert {
  30.                                 Inputs = {
  31.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  32.                                     Input = Input {
  33.                                         SourceOp = "SHOTCDL",
  34.                                         Source = "Output"
  35.                                     }
  36.                                 },
  37.                                 Name = "Gamut1_6",
  38.                                 CtrlWZoom = false,
  39.                                 NameSet = true,
  40.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  41.                                 CustomData = {
  42.                                 }
  43.                             }
  44.                         }
  45.                     },
  46.                     [3] = {
  47.                         Tools = ordered() {
  48.                             Gamut1_6 = GamutConvert {
  49.                                 Inputs = {
  50.                                     OutputSpace = Input { Value = FuID { "Rec709" } },
  51.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  52.                                     RemoveGamma = Input { Value = 0 },
  53.                                     Input = Input {
  54.                                         SourceOp = "SHOTCDL",
  55.                                         Source = "Output"
  56.                                     }
  57.                                 },
  58.                                 CtrlWZoom = false,
  59.                                 NameSet = true,
  60.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  61.                                 CustomData = {
  62.                                 }
  63.                             }
  64.                         }
  65.                     },
  66.                     [4] = {
  67.                         Tools = ordered() {
  68.                             Gamut1_6 = GamutConvert {
  69.                                 Inputs = {
  70.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  71.                                     SourceSpace = Input { Value = FuID { "Rec709" } },
  72.                                     Input = Input {
  73.                                         SourceOp = "SHOTCDL",
  74.                                         Source = "Output"
  75.                                     }
  76.                                 },
  77.                                 CtrlWZoom = false,
  78.                                 NameSet = true,
  79.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  80.                                 CustomData = {
  81.                                 }
  82.                             }
  83.                         }
  84.                     },
  85.                 }
  86.             },
  87.             Inputs = {
  88.                 SourceSpace = Input { Value = FuID { "sRGB" }, },
  89.                 Input = Input {
  90.                     SourceOp = "ColorCorrector4",
  91.                     Source = "Output",
  92.                 },
  93.             },
  94.             ViewInfo = OperatorInfo { Pos = { 1430, 49.5 } },
  95.         },
  96.         Gamut1_6_3 = GamutConvert {
  97.             NameSet = true,
  98.             CurrentSettings = 2,
  99.             CustomData = {
  100.                 Settings = {
  101.                     [1] = {
  102.                         Tools = ordered() {
  103.                             Gamut1_6 = GamutConvert {
  104.                                 Inputs = {
  105.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  106.                                     RemoveGamma = Input { Value = 0 },
  107.                                     Input = Input {
  108.                                         SourceOp = "Renderer3D1",
  109.                                         Source = "Output"
  110.                                     }
  111.                                 },
  112.                                 CtrlWZoom = false,
  113.                                 NameSet = true,
  114.                                 ViewInfo = OperatorInfo { Pos = { 1540, 82.5 } },
  115.                                 CustomData = {
  116.                                 }
  117.                             }
  118.                         }
  119.                     },
  120.                     [2] = {
  121.                         Tools = ordered() {
  122.                             Gamut1_6 = GamutConvert {
  123.                                 Inputs = {
  124.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  125.                                     Input = Input {
  126.                                         SourceOp = "SHOTCDL",
  127.                                         Source = "Output"
  128.                                     }
  129.                                 },
  130.                                 Name = "Gamut1_6",
  131.                                 CtrlWZoom = false,
  132.                                 NameSet = true,
  133.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  134.                                 CustomData = {
  135.                                 }
  136.                             }
  137.                         }
  138.                     },
  139.                     [3] = {
  140.                         Tools = ordered() {
  141.                             Gamut1_6 = GamutConvert {
  142.                                 Inputs = {
  143.                                     OutputSpace = Input { Value = FuID { "Rec709" } },
  144.                                     RemoveGamma = Input { Value = 0 },
  145.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  146.                                     Input = Input {
  147.                                         SourceOp = "SHOTCDL",
  148.                                         Source = "Output"
  149.                                     }
  150.                                 },
  151.                                 CtrlWZoom = false,
  152.                                 NameSet = true,
  153.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  154.                                 CustomData = {
  155.                                 }
  156.                             }
  157.                         }
  158.                     },
  159.                     [4] = {
  160.                         Tools = ordered() {
  161.                             Gamut1_6 = GamutConvert {
  162.                                 Inputs = {
  163.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  164.                                     SourceSpace = Input { Value = FuID { "Rec709" } },
  165.                                     Input = Input {
  166.                                         SourceOp = "SHOTCDL",
  167.                                         Source = "Output"
  168.                                     }
  169.                                 },
  170.                                 CtrlWZoom = false,
  171.                                 NameSet = true,
  172.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  173.                                 CustomData = {
  174.                                 }
  175.                             }
  176.                         }
  177.                     }
  178.                 }
  179.             },
  180.             Inputs = {
  181.                 UseOpenCL = Input { Value = 0, },
  182.                 SourceSpace = Input { Value = FuID { "sRGB" }, },
  183.                 Input = Input {
  184.                     SourceOp = "ColorCorrector2_1_1",
  185.                     Source = "Output",
  186.                 },
  187.             },
  188.             ViewInfo = OperatorInfo { Pos = { 1155, 49.5 } },
  189.         },
  190.         Merge6 = Merge {
  191.             Inputs = {
  192.                 Background = Input {
  193.                     SourceOp = "ColorCorrector2_2",
  194.                     Source = "Output",
  195.                 },
  196.                 Foreground = Input {
  197.                     SourceOp = "Gamut1_6_2",
  198.                     Source = "Output",
  199.                 },
  200.                 PerformDepthMerge = Input { Value = 0, },
  201.             },
  202.             ViewInfo = OperatorInfo { Pos = { 1155, 115.5 } },
  203.         },
  204.         Instance_Blur1_3 = Blur {
  205.             SourceOp = "Blur1_3",
  206.             Inputs = {
  207.                 Input = Input {
  208.                     SourceOp = "Merge6",
  209.                     Source = "Output",
  210.                 },
  211.                 StartEndRenderScripts = Input { },
  212.                 EffectMask = Input { }
  213.             },
  214.             ViewInfo = OperatorInfo { Pos = { 1155, 181.5 } },
  215.         },
  216.         ColorCorrector2_2 = ColorCorrector {
  217.             Inputs = {
  218.                 UseOpenCL = Input { Value = 0, },
  219.                 CorrectionRange = Input { Value = 3, },
  220.                 WheelHue1 = Input { Value = -0.015, },
  221.                 WheelRangeDummy1 = Input { Value = 3, },
  222.                 Channel = Input { Value = 2, },
  223.                 MasterRGBGain = Input { Value = 3.738, },
  224.                 MasterRedGain = Input { Value = 1.04, },
  225.                 MasterGreenGain = Input { Value = 0.7485, },
  226.                 MasterBlueGain = Input { Value = 0.931, },
  227.                 SuppressionRangeDummy = Input { Value = 3, },
  228.                 ColorRanges = Input {
  229.                     Value = ColorCurves {
  230.                         Curves = {
  231.                             {
  232.                                 Points = {
  233.                                     { 0, 1 },
  234.                                     { 0.079, 0.084 },
  235.                                     { 0.346, 0 },
  236.                                     { 1, 0 }
  237.                                 }
  238.                             },
  239.                             {
  240.                                 Points = {
  241.                                     { 0, 0 },
  242.                                     { 0.19, 0.027 },
  243.                                     { 0.13, 0.119 },
  244.                                     { 0.19, 1 }
  245.                                 }
  246.                             }
  247.                         }
  248.                     },
  249.                 },
  250.                 HistogramIgnoreTransparent = Input { Value = 1, },
  251.                 Input = Input {
  252.                     SourceOp = "Gamut1_6_3",
  253.                     Source = "Output",
  254.                 },
  255.             },
  256.             ViewInfo = OperatorInfo { Pos = { 1155, 82.5 } },
  257.         },
  258.         ColorCorrector4 = ColorCorrector {
  259.             Inputs = {
  260.                 WheelSaturation1 = Input { Value = 0.9, },
  261.                 MasterRGBGain = Input { Value = 1.431, },
  262.                 ColorRanges = Input {
  263.                     Value = ColorCurves {
  264.                         Curves = {
  265.                             {
  266.                                 Points = {
  267.                                     { 0, 1 },
  268.                                     { 0.4, 0.2 },
  269.                                     { 0.6, 0 },
  270.                                     { 1, 0 }
  271.                                 }
  272.                             },
  273.                             {
  274.                                 Points = {
  275.                                     { 0, 0 },
  276.                                     { 0.4, 0 },
  277.                                     { 0.6, 0.2 },
  278.                                     { 1, 1 }
  279.                                 }
  280.                             }
  281.                         }
  282.                     },
  283.                 },
  284.                 HistogramIgnoreTransparent = Input { Value = 1, },
  285.                 Input = Input {
  286.                     SourceOp = "Renderer3D1_1_1_1",
  287.                     Source = "Output",
  288.                 },
  289.             },
  290.             ViewInfo = OperatorInfo { Pos = { 1430, -49.5 } },
  291.         },
  292.         Instance_ColorCorrector3 = ColorCorrector {
  293.             SourceOp = "ColorCorrector3",
  294.             Inputs = {
  295.                 SnapshotMatch = Input { },
  296.                 ReleaseMatch = Input { },
  297.                 MatchNest = Input { },
  298.                 ResetAllHistogramChanges = Input { },
  299.                 ResetAllColorChanges = Input { },
  300.                 ResetAllLevels = Input { },
  301.                 ResetAllSuppression = Input { },
  302.                 PresetSimpleRanges = Input { },
  303.                 PresetSmoothRanges = Input { },
  304.                 Input = Input {
  305.                     SourceOp = "Renderer3D1_1_1",
  306.                     Source = "Output",
  307.                 },
  308.                 MatchReference = Input { },
  309.                 StartEndRenderScripts = Input { },
  310.                 EffectMask = Input { },
  311.                 MatchMask = Input { }
  312.             },
  313.             ViewInfo = OperatorInfo { Pos = { 1155, -49.5 } },
  314.         },
  315.         Blur1_2 = Blur {
  316.             Inputs = {
  317.                 UseOpenCL = Input { Value = 0, },
  318.                 XBlurSize = Input { Value = 0.3, },
  319.                 Input = Input {
  320.                     SourceOp = "Renderer3D1_1",
  321.                     Source = "Output",
  322.                 },
  323.             },
  324.             ViewInfo = OperatorInfo { Pos = { 990, -49.5 } },
  325.         },
  326.         ColorCorrector2_1_1 = ColorCorrector {
  327.             Inputs = {
  328.                 UseOpenCL = Input { Value = 0, },
  329.                 MasterRGBGain = Input { Value = 0.569, },
  330.                 MasterRGBGamma = Input { Value = 1.169, },
  331.                 MasterRedGain = Input { Value = 0.962, },
  332.                 MasterRedGamma = Input { Value = 0.969, },
  333.                 MasterGreenGain = Input { Value = 1.03, },
  334.                 MasterGreenGamma = Input { Value = 0.938, },
  335.                 MasterBlueGain = Input { Value = 0.992, },
  336.                 MasterBlueGamma = Input { Value = 0.915, },
  337.                 HighlightsRedGain = Input { Value = 0.869, },
  338.                 HighlightsGreenGain = Input { Value = 0.95, },
  339.                 HighlightsBlueGain = Input { Value = 0.8, },
  340.                 ColorRanges = Input {
  341.                     Value = ColorCurves {
  342.                         Curves = {
  343.                             {
  344.                                 Points = {
  345.                                     { 0, 1 },
  346.                                     { 0.079, 0.084 },
  347.                                     { 0.346, 0 },
  348.                                     { 1, 0 }
  349.                                 }
  350.                             },
  351.                             {
  352.                                 Points = {
  353.                                     { 0, 0 },
  354.                                     { 0.19, 0.027 },
  355.                                     { 0.13, 0.119 },
  356.                                     { 0.19, 1 }
  357.                                 }
  358.                             }
  359.                         }
  360.                     },
  361.                 },
  362.                 HistogramIgnoreTransparent = Input { Value = 1, },
  363.                 Input = Input {
  364.                     SourceOp = "Instance_ColorCorrector3",
  365.                     Source = "Output",
  366.                 },
  367.             },
  368.             ViewInfo = OperatorInfo { Pos = { 1155, -16.5 } },
  369.         },
  370.         Renderer3D1_1_1_1 = Renderer3D {
  371.             CustomData = {
  372.                 ToolVersion = 2
  373.             },
  374.             Inputs = {
  375.                 GlobalIn = Input { Value = 1001, },
  376.                 GlobalOut = Input { Value = 1090, },
  377.                 Width = Input { Value = 3840, },
  378.                 Height = Input { Value = 2160, },
  379.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  380.                 SceneInput = Input {
  381.                     SourceOp = "Merge3D2_1_1",
  382.                     Source = "Output",
  383.                 },
  384.                 CameraSelector = Input { Value = FuID { "Camera3D1" }, },
  385.                 RendererType = Input { Value = FuID { "RendererOpenGL" }, },
  386.                 ["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
  387.                 ["RendererOpenGL.Channels.RGBASS"] = Input { Value = 1, },
  388.             },
  389.             ViewInfo = OperatorInfo { Pos = { 1430, -82.5 } },
  390.         },
  391.         Renderer3D1_1 = Renderer3D {
  392.             CustomData = {
  393.                 ToolVersion = 2,
  394.             },
  395.             Inputs = {
  396.                 GlobalIn = Input { Value = 1001, },
  397.                 GlobalOut = Input { Value = 1090, },
  398.                 Width = Input { Value = 3840, },
  399.                 Height = Input { Value = 2160, },
  400.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  401.                 SceneInput = Input {
  402.                     SourceOp = "Merge3D2",
  403.                     Source = "Output",
  404.                 },
  405.                 CameraSelector = Input { Value = FuID { "Camera3D1" }, },
  406.             },
  407.             ViewInfo = OperatorInfo { Pos = { 990, -82.5 } },
  408.         },
  409.         Renderer3D1 = Renderer3D {
  410.             CustomData = {
  411.                 ToolVersion = 2,
  412.             },
  413.             Inputs = {
  414.                 GlobalIn = Input { Value = 1001, },
  415.                 GlobalOut = Input { Value = 1090, },
  416.                 Width = Input { Value = 3840, },
  417.                 Height = Input { Value = 2160, },
  418.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  419.                 SceneInput = Input {
  420.                     SourceOp = "Merge3D1",
  421.                     Source = "Output",
  422.                 },
  423.                 CameraSelector = Input { Value = FuID { "Camera3D1" }, },
  424.                 RendererType = Input { Value = FuID { "RendererOpenGL" }, },
  425.                 ["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
  426.                 ["RendererOpenGL.Channels.RGBASS"] = Input { Value = 1, },
  427.             },
  428.             ViewInfo = OperatorInfo { Pos = { 825, -82.5 } },
  429.         },
  430.         ColorCorrector2 = ColorCorrector {
  431.             Inputs = {
  432.                 UseOpenCL = Input { Value = 0, },
  433.                 CorrectionRange = Input { Value = 3, },
  434.                 WheelHue1 = Input { Value = -0.015, },
  435.                 WheelRangeDummy1 = Input { Value = 3, },
  436.                 Channel = Input { Value = 2, },
  437.                 MasterRGBGain = Input { Value = 3.738, },
  438.                 MasterRedGain = Input { Value = 1.04, },
  439.                 MasterGreenGain = Input { Value = 0.7485, },
  440.                 MasterBlueGain = Input { Value = 0.931, },
  441.                 SuppressionRangeDummy = Input { Value = 3, },
  442.                 ColorRanges = Input {
  443.                     Value = ColorCurves {
  444.                         Curves = {
  445.                             {
  446.                                 Points = {
  447.                                     { 0, 1 },
  448.                                     { 0.079, 0.084 },
  449.                                     { 0.346, 0 },
  450.                                     { 1, 0 }
  451.                                 }
  452.                             },
  453.                             {
  454.                                 Points = {
  455.                                     { 0, 0 },
  456.                                     { 0.19, 0.027 },
  457.                                     { 0.13, 0.119 },
  458.                                     { 0.19, 1 }
  459.                                 }
  460.                             }
  461.                         }
  462.                     },
  463.                 },
  464.                 HistogramIgnoreTransparent = Input { Value = 1, },
  465.                 Input = Input {
  466.                     SourceOp = "Gamut1_6",
  467.                     Source = "Output",
  468.                 },
  469.             },
  470.             ViewInfo = OperatorInfo { Pos = { 825, 115.5 } },
  471.         },
  472.         Gamut1_6 = GamutConvert {
  473.             NameSet = true,
  474.             CurrentSettings = 2,
  475.             CustomData = {
  476.                 Settings = {
  477.                     [1] = {
  478.                         Tools = ordered() {
  479.                             Gamut1_6 = GamutConvert {
  480.                                 Inputs = {
  481.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  482.                                     RemoveGamma = Input { Value = 0 },
  483.                                     Input = Input {
  484.                                         SourceOp = "Renderer3D1",
  485.                                         Source = "Output"
  486.                                     }
  487.                                 },
  488.                                 CtrlWZoom = false,
  489.                                 NameSet = true,
  490.                                 ViewInfo = OperatorInfo { Pos = { 1540, 82.5 } },
  491.                                 CustomData = {
  492.                                 }
  493.                             }
  494.                         }
  495.                     },
  496.                     [2] = {
  497.                         Tools = ordered() {
  498.                             Gamut1_6 = GamutConvert {
  499.                                 Inputs = {
  500.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  501.                                     Input = Input {
  502.                                         SourceOp = "SHOTCDL",
  503.                                         Source = "Output"
  504.                                     }
  505.                                 },
  506.                                 Name = "Gamut1_6",
  507.                                 CtrlWZoom = false,
  508.                                 NameSet = true,
  509.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  510.                                 CustomData = {
  511.                                 }
  512.                             }
  513.                         }
  514.                     },
  515.                     [3] = {
  516.                         Tools = ordered() {
  517.                             Gamut1_6 = GamutConvert {
  518.                                 Inputs = {
  519.                                     OutputSpace = Input { Value = FuID { "Rec709" } },
  520.                                     RemoveGamma = Input { Value = 0 },
  521.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  522.                                     Input = Input {
  523.                                         SourceOp = "SHOTCDL",
  524.                                         Source = "Output"
  525.                                     }
  526.                                 },
  527.                                 CtrlWZoom = false,
  528.                                 NameSet = true,
  529.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  530.                                 CustomData = {
  531.                                 }
  532.                             }
  533.                         }
  534.                     },
  535.                     [4] = {
  536.                         Tools = ordered() {
  537.                             Gamut1_6 = GamutConvert {
  538.                                 Inputs = {
  539.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  540.                                     SourceSpace = Input { Value = FuID { "Rec709" } },
  541.                                     Input = Input {
  542.                                         SourceOp = "SHOTCDL",
  543.                                         Source = "Output"
  544.                                     }
  545.                                 },
  546.                                 CtrlWZoom = false,
  547.                                 NameSet = true,
  548.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  549.                                 CustomData = {
  550.                                 }
  551.                             }
  552.                         }
  553.                     }
  554.                 }
  555.             },
  556.             Inputs = {
  557.                 UseOpenCL = Input { Value = 0, },
  558.                 SourceSpace = Input { Value = FuID { "sRGB" }, },
  559.                 Input = Input {
  560.                     SourceOp = "ColorCorrector2_1",
  561.                     Source = "Output",
  562.                 },
  563.             },
  564.             ViewInfo = OperatorInfo { Pos = { 825, 82.5 } },
  565.         },
  566.         Renderer3D1_1_1 = Renderer3D {
  567.             CustomData = {
  568.                 ToolVersion = 2
  569.             },
  570.             Inputs = {
  571.                 GlobalIn = Input { Value = 1001, },
  572.                 GlobalOut = Input { Value = 1090, },
  573.                 Width = Input { Value = 3840, },
  574.                 Height = Input { Value = 2160, },
  575.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  576.                 SceneInput = Input {
  577.                     SourceOp = "Merge3D2_1",
  578.                     Source = "Output",
  579.                 },
  580.                 CameraSelector = Input { Value = FuID { "Camera3D1" }, },
  581.                 RendererType = Input { Value = FuID { "RendererOpenGL" }, },
  582.                 ["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
  583.                 ["RendererOpenGL.Channels.RGBASS"] = Input { Value = 1, },
  584.             },
  585.             ViewInfo = OperatorInfo { Pos = { 1155, -82.5 } },
  586.         },
  587.         Merge5 = Merge {
  588.             Inputs = {
  589.                 UseOpenCL = Input { Value = 0, },
  590.                 Background = Input {
  591.                     SourceOp = "ColorCorrector2",
  592.                     Source = "Output",
  593.                 },
  594.                 Foreground = Input {
  595.                     SourceOp = "Instance_Blur1_3",
  596.                     Source = "Output",
  597.                 },
  598.                 PerformDepthMerge = Input { Value = 0, },
  599.             },
  600.             ViewInfo = OperatorInfo { Pos = { 825, 181.5 } },
  601.         },
  602.         Blur1_3 = Blur {
  603.             Inputs = {
  604.                 UseOpenCL = Input { Value = 0, },
  605.                 XBlurSize = Input { Value = 0.1, },
  606.                 Input = Input {
  607.                     SourceOp = "ColorCorrector3",
  608.                     Source = "Output",
  609.                 },
  610.             },
  611.             ViewInfo = OperatorInfo { Pos = { 825, -16.5 } },
  612.         },
  613.         Background3 = Background {
  614.             Inputs = {
  615.                 GlobalIn = Input { Value = 1001, },
  616.                 GlobalOut = Input { Value = 1090, },
  617.                 Width = Input { Value = 3840, },
  618.                 Height = Input { Value = 2160, },
  619.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  620.                 TopLeftRed = Input { Value = 0.00372325791977346, },
  621.                 TopLeftGreen = Input { Value = 0.00210973690263927, },
  622.                 TopLeftBlue = Input { Value = 0.000727094186004251, },
  623.                 EffectMask = Input {
  624.                     SourceOp = "Blur1_3",
  625.                     Source = "Output",
  626.                 }
  627.             },
  628.             ViewInfo = OperatorInfo { Pos = { 715, 16.5 } },
  629.         },
  630.         Transform3 = Transform {
  631.             Inputs = {
  632.                 UseOpenCL = Input { Value = 0, },
  633.                 Center = Input { Value = { 0.500077916366096, 0.497656188329714 }, },
  634.                 Input = Input {
  635.                     SourceOp = "Blur1_1",
  636.                     Source = "Output",
  637.                 },
  638.             },
  639.             ViewInfo = OperatorInfo { Pos = { 715, 82.5 } },
  640.         },
  641.         ColorCorrector2_1 = ColorCorrector {
  642.             Inputs = {
  643.                 UseOpenCL = Input { Value = 0, },
  644.                 CorrectionRange = Input { Value = 3, },
  645.                 WheelRangeDummy1 = Input { Value = 3, },
  646.                 Channel = Input { Value = 3, },
  647.                 MasterRGBGain = Input { Value = 1.215, },
  648.                 MasterRedGain = Input { Value = 0.98, },
  649.                 MasterGreenGain = Input { Value = 1.03, },
  650.                 MasterBlueGain = Input { Value = 0.977, },
  651.                 HighlightsRedGain = Input { Value = 0.869, },
  652.                 HighlightsGreenGain = Input { Value = 0.95, },
  653.                 HighlightsBlueGain = Input { Value = 0.8, },
  654.                 SuppressionRangeDummy = Input { Value = 3, },
  655.                 ColorRanges = Input {
  656.                     Value = ColorCurves {
  657.                         Curves = {
  658.                             {
  659.                                 Points = {
  660.                                     { 0, 1 },
  661.                                     { 0.079, 0.084 },
  662.                                     { 0.346, 0 },
  663.                                     { 1, 0 }
  664.                                 }
  665.                             },
  666.                             {
  667.                                 Points = {
  668.                                     { 0, 0 },
  669.                                     { 0.19, 0.027 },
  670.                                     { 0.13, 0.119 },
  671.                                     { 0.19, 1 }
  672.                                 }
  673.                             }
  674.                         }
  675.                     },
  676.                 },
  677.                 HistogramIgnoreTransparent = Input { Value = 1, },
  678.                 Input = Input {
  679.                     SourceOp = "Blur1_3",
  680.                     Source = "Output",
  681.                 },
  682.             },
  683.             ViewInfo = OperatorInfo { Pos = { 825, 49.5 } },
  684.         },
  685.         Blur1_1 = Blur {
  686.             Inputs = {
  687.                 UseOpenCL = Input { Value = 0, },
  688.                 XBlurSize = Input { Value = 0.28, },
  689.                 Input = Input {
  690.                     SourceOp = "Background3",
  691.                     Source = "Output",
  692.                 },
  693.             },
  694.             ViewInfo = OperatorInfo { Pos = { 715, 49.5 } },
  695.         },
  696.         ColorCorrector3 = ColorCorrector {
  697.             Inputs = {
  698.                 Blend = Input { Value = 0.831, },
  699.                 WheelHue1 = Input { Value = 0.0755257875107634, },
  700.                 WheelSaturation1 = Input { Value = 0.920646524883462, },
  701.                 MasterRGBGain = Input { Value = 0.277, },
  702.                 ColorRanges = Input {
  703.                     Value = ColorCurves {
  704.                         Curves = {
  705.                             {
  706.                                 Points = {
  707.                                     { 0, 1 },
  708.                                     { 0.4, 0.2 },
  709.                                     { 0.6, 0 },
  710.                                     { 1, 0 }
  711.                                 }
  712.                             },
  713.                             {
  714.                                 Points = {
  715.                                     { 0, 0 },
  716.                                     { 0.4, 0 },
  717.                                     { 0.6, 0.2 },
  718.                                     { 1, 1 }
  719.                                 }
  720.                             }
  721.                         }
  722.                     },
  723.                 },
  724.                 HistogramIgnoreTransparent = Input { Value = 1, },
  725.                 Input = Input {
  726.                     SourceOp = "Renderer3D1",
  727.                     Source = "Output",
  728.                 },
  729.             },
  730.             ViewInfo = OperatorInfo { Pos = { 825, -49.5 } },
  731.         },
  732.         Camera3D1 = Camera3D {
  733.             Inputs = {
  734.                 ["Transform3DOp.Translate.X"] = Input { Value = 0.382, },
  735.                 ["Transform3DOp.Translate.Y"] = Input { Value = 0.546, },
  736.                 ["Transform3DOp.Translate.Z"] = Input { Value = 0.634, },
  737.                 ["Transform3DOp.Rotate.X"] = Input { Value = -28.4000015258789, },
  738.                 ["Transform3DOp.Rotate.Y"] = Input { Value = 26.8000049591064, },
  739.                 FLength = Input { Value = 18.2123442718302, },
  740.                 ["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
  741.                 FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
  742.                 ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
  743.                 ["MtlStdInputs.MaterialID"] = Input { Value = 5, },
  744.             },
  745.             ViewInfo = OperatorInfo { Pos = { 660, -181.5 } },
  746.         },
  747.         Merge3D2_1 = Merge3D {
  748.             Inputs = {
  749.                 SceneInput1 = Input {
  750.                     SourceOp = "Camera3D1",
  751.                     Source = "Output",
  752.                 },
  753.                 SceneInput2 = Input {
  754.                     SourceOp = "Displace3D1",
  755.                     Source = "Output",
  756.                 },
  757.             },
  758.             ViewInfo = OperatorInfo { Pos = { 1155, -181.5 } },
  759.         },
  760.         Merge3D2_1_1 = Merge3D {
  761.             Inputs = {
  762.                 SceneInput1 = Input {
  763.                     SourceOp = "Override3D1",
  764.                     Source = "Output",
  765.                 },
  766.                 SceneInput2 = Input {
  767.                     SourceOp = "Shape3D1_1_1",
  768.                     Source = "Output",
  769.                 },
  770.                 SceneInput3 = Input {
  771.                     SourceOp = "Camera3D1",
  772.                     Source = "Output",
  773.                 },
  774.             },
  775.             ViewInfo = OperatorInfo { Pos = { 1430, -181.5 } },
  776.         },
  777.         Merge3D2 = Merge3D {
  778.             Inputs = {
  779.                 SceneInput1 = Input {
  780.                     SourceOp = "Camera3D1",
  781.                     Source = "Output",
  782.                 },
  783.                 SceneInput2 = Input {
  784.                     SourceOp = "Shape3D1",
  785.                     Source = "Output",
  786.                 },
  787.             },
  788.             ViewInfo = OperatorInfo { Pos = { 990, -181.5 } },
  789.         },
  790.         Merge3D1 = Merge3D {
  791.             Inputs = {
  792.                 SceneInput1 = Input {
  793.                     SourceOp = "Transform3D2",
  794.                     Source = "Output",
  795.                 },
  796.                 SceneInput2 = Input {
  797.                     SourceOp = "Camera3D1",
  798.                     Source = "Output",
  799.                 },
  800.             },
  801.             ViewInfo = OperatorInfo { Pos = { 825, -181.5 } },
  802.         },
  803.         Transform3D2 = Transform3D {
  804.             Inputs = {
  805.                 SceneInput = Input {
  806.                     SourceOp = "Bender3D2",
  807.                     Source = "Output",
  808.                 },
  809.                 ["Transform3DOp.Rotate.Y"] = Input {
  810.                     SourceOp = "Transform3D2YRotation",
  811.                     Source = "Value",
  812.                 },
  813.             },
  814.             ViewInfo = OperatorInfo { Pos = { 825, -214.5 } },
  815.             Colors = {
  816.                 TileColor = { R = 1, G = 1, B = 0 },
  817.                 TextColor = { R = 0, G = 0, B = 0 },
  818.             }
  819.         },
  820.         Transform3D2YRotation = BezierSpline {
  821.             SplineColor = { Red = 128, Green = 255, Blue = 128 },
  822.             NameSet = true,
  823.             KeyFrames = {
  824.                 [1001] = { -26, RH = { 1004.6, -19 }, Flags = { Linear = true } },
  825.                 [1011] = { -1.7, LH = { 1008.59118465241, -9.62901718581977 }, RH = { 1018.2, 22 } },
  826.                 [1032] = { 78, LH = { 1024.86, 65.505 }, RH = { 1038.11813618553, 88.7067383246566 } },
  827.                 [1060] = { 84.5, LH = { 1050.66760015488, 83.9615923166265 }, RH = { 1066.66599988937, 84.884576916695 } },
  828.                 [1080] = { 77, LH = { 1073.33333333333, 77 } }
  829.             }
  830.         },
  831.         Override3D1 = Override3D {
  832.             Inputs = {
  833.                 SceneInput = Input {
  834.                     SourceOp = "Displace3D1",
  835.                     Source = "Output",
  836.                 },
  837.                 ["Matte.DoMatte"] = Input { Value = 1, },
  838.                 ["Matte.IsMatte"] = Input { Value = 1, },
  839.             },
  840.             ViewInfo = OperatorInfo { Pos = { 1430, -214.5 } },
  841.         },
  842.         Shape3D1 = Shape3D {
  843.             Inputs = {
  844.                 ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, },
  845.                 ["SurfaceCubeInputs.Height"] = Input { Value = 0.02, },
  846.                 ["SurfaceCubeInputs.Depth"] = Input { Value = 0.01, },
  847.                 ["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 4, },
  848.                 ["SurfaceCubeInputs.Width"] = Input { Value = 0.02, },
  849.                 Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
  850.                 ["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0.36, },
  851.                 ["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0.36, },
  852.                 ["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.36, },
  853.                 ["MtlStdInputs.MaterialID"] = Input { Value = 6, },
  854.                 ["SurfaceCylinderInputs.Radius"] = Input { Value = 0.015, },
  855.                 ["SurfaceCylinderInputs.Height"] = Input { Value = 0.004, },
  856.                 ["SurfaceCylinderInputs.SubdivisionLevelBase"] = Input { Value = 100, },
  857.                 ["SurfaceCylinderInputs.SubdivisionLevelHeight"] = Input { Value = 30, },
  858.                 ["SurfaceCylinderInputs.BottomCap"] = Input { Value = 1, },
  859.                 ["SurfaceCylinderInputs.TopCap"] = Input { Value = 1, },
  860.                 ["SurfaceCylinderInputs.Matte.Nest"] = Input { Value = 1, },
  861.                 ["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 5, }
  862.             },
  863.             ViewInfo = OperatorInfo { Pos = { 990, -214.5 } },
  864.         },
  865.         Shape3D1_1_1 = Shape3D {
  866.             Inputs = {
  867.                 ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, },
  868.                 ["SurfaceCylinderInputs.Height"] = Input { Value = 0.004, },
  869.                 ["SurfaceCylinderInputs.Matte.Nest"] = Input { Value = 1, },
  870.                 ["SurfaceCylinderInputs.Radius"] = Input { Value = 0.015, },
  871.                 ["SurfaceCubeInputs.Height"] = Input { Value = 0.02, },
  872.                 ["SurfaceCubeInputs.Depth"] = Input { Value = 0.01, },
  873.                 ["SurfaceCylinderInputs.SubdivisionLevelBase"] = Input { Value = 100, },
  874.                 ["SurfaceCylinderInputs.BottomCap"] = Input { Value = 1, },
  875.                 ["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 4, },
  876.                 ["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 5, },
  877.                 ["SurfaceCylinderInputs.SubdivisionLevelHeight"] = Input { Value = 30, },
  878.                 ["SurfaceCylinderInputs.TopCap"] = Input { Value = 1, },
  879.                 ["SurfaceCubeInputs.Width"] = Input { Value = 0.02, },
  880.                 ["Transform3DOp.Translate.Y"] = Input { Value = 0.0008, },
  881.                 ["Transform3DOp.ScaleLock"] = Input { Value = 0, },
  882.                 ["Transform3DOp.Scale.Y"] = Input { Value = 0.9, },
  883.                 Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
  884.                 MaterialInput = Input {
  885.                     SourceOp = "Reflect1_2",
  886.                     Source = "MaterialOutput",
  887.                 },
  888.                 ["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0.36, },
  889.                 ["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0.36, },
  890.                 ["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.36, },
  891.                 ["MtlStdInputs.MaterialID"] = Input { Value = 6, },
  892.                 ["SurfaceSphereInputs.Radius"] = Input { Value = 0.01, },
  893.                 ["SurfaceSphereInputs.SubdivisionLevelBase"] = Input { Value = 7, },
  894.                 ["SurfaceSphereInputs.SubdivisionLevelHeight"] = Input { Value = 5, },
  895.                 ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 4, }
  896.             },
  897.             ViewInfo = OperatorInfo { Pos = { 1430, -247.5 } },
  898.         },
  899.         Bender3D2 = Bender3D {
  900.             PassThrough = true,
  901.             Inputs = {
  902.                 SceneInput = Input {
  903.                     SourceOp = "Bender3D1",
  904.                     Source = "Output",
  905.                 },
  906.                 Amount = Input { Value = 0.0175, },
  907.             },
  908.             ViewInfo = OperatorInfo { Pos = { 825, -247.5 } },
  909.         },
  910.         Bender3D1 = Bender3D {
  911.             Inputs = {
  912.                 SceneInput = Input {
  913.                     SourceOp = "UVMap3D2",
  914.                     Source = "Output",
  915.                 },
  916.                 Bender = Input { Value = FuID { "Twist" }, },
  917.                 Amount = Input { Value = 0.0159, },
  918.                 Axis = Input { Value = 2, },
  919.             },
  920.             ViewInfo = OperatorInfo { Pos = { 825, -280.5 } },
  921.         },
  922.         Reflect1_2 = MtlReflect {
  923.             CtrlWZoom = false,
  924.             Inputs = {
  925.                 BackgroundMaterial = Input {
  926.                     SourceOp = "CookTorrance1_2",
  927.                     Source = "MaterialOutput",
  928.                 },
  929.                 ["Reflection.GlancingStrength"] = Input { Value = 0.942, },
  930.                 ["Reflection.Falloff"] = Input { Value = 0.25, },
  931.                 ["Reflection.Color.Material"] = Input {
  932.                     SourceOp = "SphereMap1_1",
  933.                     Source = "MaterialOutput",
  934.                 },
  935.                 ["Refraction.RefractiveIndex.RGB"] = Input { Value = 1.77, },
  936.                 ["Refraction.Tint.Material"] = Input {
  937.                     SourceOp = "SphereMap1_1",
  938.                     Source = "MaterialOutput",
  939.                 },
  940.                 MaterialID = Input { Value = 3, },
  941.             },
  942.             ViewInfo = OperatorInfo { Pos = { 1430, -313.5 } },
  943.         },
  944.         Resize1_1 = BetterResize {
  945.             Inputs = {
  946.                 UseOpenCL = Input { Value = 0, },
  947.                 Width = Input { Value = 512, },
  948.                 Height = Input { Value = 512, },
  949.                 PixelAspect = Input { Value = { 1, 1 }, },
  950.                 Input = Input {
  951.                     SourceOp = "Transform6",
  952.                     Source = "Output",
  953.                 },
  954.             },
  955.             ViewInfo = OperatorInfo { Pos = { 1265, -313.5 } },
  956.         },
  957.         CookTorrance1_2 = MtlCookTorrance {
  958.             Inputs = {
  959.                 ["Diffuse.Color.Red"] = Input { Value = 0, },
  960.                 ["Diffuse.Color.Green"] = Input { Value = 0, },
  961.                 ["Diffuse.Color.Blue"] = Input { Value = 0, },
  962.                 ["Diffuse.Opacity"] = Input { Value = 0, },
  963.                 ["Specular.Nest"] = Input { Value = 1, },
  964.                 ["Specular.Roughness"] = Input { Value = 0.1, },
  965.                 ["Specular.RefractiveIndex"] = Input { Value = 1.77, },
  966.                 MaterialID = Input { Value = 2, },
  967.             },
  968.             ViewInfo = OperatorInfo { Pos = { 1540, -313.5 } },
  969.         },
  970.         Displace3D1 = Displace3D {
  971.             Inputs = {
  972.                 SceneInput = Input {
  973.                     SourceOp = "Transform3D3",
  974.                     Source = "Output",
  975.                 },
  976.                 Scale = Input { Value = 0.0008, },
  977.                 Bias = Input { Value = -1, },
  978.                 Input = Input {
  979.                     SourceOp = "Resize1_1",
  980.                     Source = "Output",
  981.                 },
  982.             },
  983.             ViewInfo = OperatorInfo { Pos = { 1155, -313.5 } },
  984.         },
  985.         Transform6 = Transform {
  986.             Inputs = {
  987.                 UseOpenCL = Input { Value = 0, },
  988.                 Size = Input { Value = 9.37, },
  989.                 Input = Input {
  990.                     SourceOp = "CropRectangle1",
  991.                     Source = "Output",
  992.                 },
  993.             },
  994.             ViewInfo = OperatorInfo { Pos = { 1265, -346.5 } },
  995.         },
  996.         UVMap3D2 = UVMap {
  997.             Inputs = {
  998.                 SceneInput = Input {
  999.                     SourceOp = "Transform3D1",
  1000.                     Source = "Output",
  1001.                 },
  1002.                 LockUVs = Input { Value = 1, },
  1003.                 RefTime = Input { Value = 1074, },
  1004.                 ["Size.X"] = Input { Value = 0.5, },
  1005.                 ["Size.Y"] = Input { Value = 0.5, },
  1006.                 ["Size.Z"] = Input { Value = 0.5, },
  1007.                 ["Center.Z"] = Input { Value = 0.0245881974697113, },
  1008.             },
  1009.             ViewInfo = OperatorInfo { Pos = { 825, -346.5 } },
  1010.         },
  1011.         Transform3D3 = Transform3D {
  1012.             Inputs = {
  1013.                 SceneInput = Input {
  1014.                     SourceOp = "UVMap3D1",
  1015.                     Source = "Output",
  1016.                 },
  1017.                 ["Transform3DOp.Translate.Y"] = Input { Value = 0.001, },
  1018.                 ["Transform3DOp.ScaleLock"] = Input { Value = 0, },
  1019.                 ["Transform3DOp.Scale.Y"] = Input { Value = 0.334, },
  1020.             },
  1021.             ViewInfo = OperatorInfo { Pos = { 1155, -346.5 } },
  1022.         },
  1023.         Transform3D1 = Transform3D {
  1024.             Inputs = {
  1025.                 SceneInput = Input {
  1026.                     SourceOp = "ReplaceNormals3D1",
  1027.                     Source = "Output",
  1028.                 },
  1029.                 ["Transform3DOp.Translate.Z"] = Input { Value = 0.0245882, },
  1030.                 ["Transform3DOp.Rotate.X"] = Input { Value = -90, },
  1031.                 ["Transform3DOp.ScaleLock"] = Input { Value = 0, },
  1032.                 ["Transform3DOp.Scale.X"] = Input { Value = 0.4229, },
  1033.                 ["Transform3DOp.Scale.Y"] = Input { Value = 0.584, },
  1034.                 ["Transform3DOp.Scale.Z"] = Input { Value = 0.4229, },
  1035.             },
  1036.             ViewInfo = OperatorInfo { Pos = { 825, -379.5 } },
  1037.         },
  1038.         SphereMap1_1 = SphereMap {
  1039.             Inputs = {
  1040.                 Rotation = Input { Value = 1, },
  1041.                 ["Rotate.Y"] = Input { Value = 70, },
  1042.                 Image = Input {
  1043.                     SourceOp = "ColorCorrector1_1",
  1044.                     Source = "Output",
  1045.                 },
  1046.                 MaterialID = Input { Value = 4, },
  1047.             },
  1048.             ViewInfo = OperatorInfo { Pos = { 1430, -379.5 } },
  1049.         },
  1050.         CropRectangle1 = Fuse.CropRectangle {
  1051.             Inputs = {
  1052.                 Show = Input { Value = 1, },
  1053.                 Center = Input { Value = { 0.52076977370612, 0.53015873015873 }, },
  1054.                 Width = Input { Value = 0.287285193667805, },
  1055.                 Height = Input { Value = 0.619291819291819, },
  1056.                 Input = Input {
  1057.                     SourceOp = "GridWarp1",
  1058.                     Source = "Output",
  1059.                 },
  1060.             },
  1061.             ViewInfo = OperatorInfo { Pos = { 1265, -412.5 } },
  1062.         },
  1063.         ReplaceNormals3D1 = ReplaceNormals3D {
  1064.             Inputs = {
  1065.                 SceneInput = Input {
  1066.                     SourceOp = "ShapeCreate3D1",
  1067.                     Source = "Output",
  1068.                 },
  1069.                 ["Tangents.Recompute"] = Input { Value = 0, },
  1070.                 ["Tangents.SmoothingAngle"] = Input { Value = 90, },
  1071.             },
  1072.             ViewInfo = OperatorInfo { Pos = { 825, -412.5 } },
  1073.         },
  1074.         ColorCorrector1_1 = ColorCorrector {
  1075.             Inputs = {
  1076.                 UseOpenCL = Input { Value = 0, },
  1077.                 WheelHue1 = Input { Value = 0.085, },
  1078.                 WheelSaturation4 = Input { Value = 0, },
  1079.                 Channel = Input { Value = 1, },
  1080.                 MasterRedGain = Input { Value = 1.892, },
  1081.                 MasterGreenGain = Input { Value = 0.8, },
  1082.                 MasterBlueGain = Input { Value = 2.046, },
  1083.                 ColorRanges = Input {
  1084.                     Value = ColorCurves {
  1085.                         Curves = {
  1086.                             {
  1087.                                 Points = {
  1088.                                     { 0, 1 },
  1089.                                     { 0.4, 0.2 },
  1090.                                     { 0.6, 0 },
  1091.                                     { 1, 0 }
  1092.                                 }
  1093.                             },
  1094.                             {
  1095.                                 Points = {
  1096.                                     { 0, 0 },
  1097.                                     { 0.4, 0 },
  1098.                                     { 0.6, 0.2 },
  1099.                                     { 1, 1 }
  1100.                                 }
  1101.                             }
  1102.                         }
  1103.                     },
  1104.                 },
  1105.                 HistogramIgnoreTransparent = Input { Value = 1, },
  1106.                 Input = Input {
  1107.                     SourceOp = "Blur1_5",
  1108.                     Source = "Output",
  1109.                 },
  1110.             },
  1111.             ViewInfo = OperatorInfo { Pos = { 1430, -412.5 } },
  1112.         },
  1113.         UVMap3D1 = UVMap {
  1114.             Inputs = {
  1115.                 SceneInput = Input {
  1116.                     SourceOp = "Shape3D1_1",
  1117.                     Source = "Output",
  1118.                 },
  1119.                 RefTime = Input { Value = 1041, },
  1120.                 ["Size.X"] = Input { Value = 0.0299999993294477, },
  1121.                 ["Size.Y"] = Input { Value = 0.0299999993294477, },
  1122.                 ["Size.Z""Gamut1_6_1",
  1123.                     Source = "Output",
  1124.                 },
  1125.             },
  1126.             ViewInfo = OperatorInfo { Pos = { 1265, -445.5 } },
  1127.         },
  1128.         Shape3D1_1 = Shape3D {
  1129.             Inputs = {
  1130.                 ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, },
  1131.                 ["SurfaceCylinderInputs.Height"] = Input { Value = 0.004, },
  1132.                 ["SurfaceCylinderInputs.Matte.Nest"] = Input { Value = 1, },
  1133.                 ["SurfaceCylinderInputs.Radius"] = Input { Value = 0.015, },
  1134.                 ["SurfaceCubeInputs.Height"] = Input { Value = 0.02, },
  1135.                 ["SurfaceCubeInputs.Depth"] = Input { Value = 0.01, },
  1136.                 ["SurfaceCylinderInputs.SubdivisionLevelBase"] = Input { Value = 100, },
  1137.                 ["SurfaceCylinderInputs.BottomCap"] = Input { Value = 1, },
  1138.                 ["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 5, },
  1139.                 ["SurfaceCubeInputs.ObjectID.ObjectID"] = Input { Value = 4, },
  1140.                 ["SurfaceCylinderInputs.SubdivisionLevelHeight"] = Input { Value = 30, },
  1141.                 ["SurfaceCylinderInputs.TopCap"] = Input { Value = 1, },
  1142.                 ["SurfaceCubeInputs.Width"] = Input { Value = 0.02, },
  1143.                 Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
  1144.                 MaterialInput = Input {
  1145.                     SourceOp = "Reflect1",
  1146.                     Source = "MaterialOutput",
  1147.                 },
  1148.                 ["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0.36, },
  1149.                 ["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0.36, },
  1150.                 ["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0.36, },
  1151.                 ["MtlStdInputs.MaterialID"] = Input { Value = 6, },
  1152.                 ["SurfaceSphereInputs.Radius"] = Input { Value = 0.015, },
  1153.                 ["SurfaceSphereInputs.SubdivisionLevelBase"] = Input { Value = 85, },
  1154.                 ["SurfaceSphereInputs.SubdivisionLevelHeight"] = Input { Value = 100, },
  1155.                 ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 4, }
  1156.             },
  1157.             ViewInfo = OperatorInfo { Pos = { 1155, -445.5 } },
  1158.         },
  1159.         Reflect1 = MtlReflect {
  1160.             Inputs = {
  1161.                 BackgroundMaterial = Input {
  1162.                     SourceOp = "MaterialMerge1",
  1163.                     Source = "MaterialOutput",
  1164.                 },
  1165.                 ["Reflection.FaceOnStrength"] = Input { Value = 0.208, },
  1166.                 ["Reflection.Falloff"] = Input { Value = 0.25, },
  1167.                 ["Reflection.Color.Material"] = Input {
  1168.                     SourceOp = "SphereMap1",
  1169.                     Source = "MaterialOutput",
  1170.                 },
  1171.                 MaterialID = Input { Value = 3, },
  1172.             },
  1173.             ViewInfo = OperatorInfo { Pos = { 220, -445.5 } },
  1174.         },
  1175.         ShapeCreate3D1 = KomkomDoorn.KD_ShapeCreate3D {
  1176.             Inputs = {
  1177.                 ["KomkomDoorn.KD_InputsShapeCreate3D.Shape"] = Input {
  1178.                     SourceOp = "sTraceCreate1",
  1179.                     Source = "Output",
  1180.                 },
  1181.                 ["KomkomDoorn.KD_InputsShapeCreate3D.Extrude"] = Input { Value = 0.0028, },
  1182.                 ["KomkomDoorn.KD_InputsShapeCreate3D.ExtrudeSteps"] = Input { Value = 3, },
  1183.                 ["KomkomDoorn.KD_InputsShapeCreate3D.EdgeType"] = Input { Value = 1, },
  1184.                 ["KomkomDoorn.KD_InputsShapeCreate3D.BevelWidth"] = Input { Value = 0.0008, },
  1185.                 ["KomkomDoorn.KD_InputsShapeCreate3D.NormalsSmoothAngle"] = Input { Value = 52.62, },
  1186.                 ["KomkomDoorn.KD_InputsShapeCreate3D.Visibility.Nest"] = Input { Value = 1, },
  1187.                 ["KomkomDoorn.KD_InputsShapeCreate3D.Lighting.Nest"] = Input { Value = 1, },
  1188.                 ["KomkomDoorn.KD_InputsShapeCreate3D.ObjectID.Nest"] = Input { Value = 1, },
  1189.                 ["KomkomDoorn.KD_InputsShapeCreate3D.ObjectID.ObjectID"] = Input { Value = 1, },
  1190.                 ["KomkomDoorn.MaterialInput"] = Input {
  1191.                     SourceOp = "Reflect1",
  1192.                     Source = "MaterialOutput",
  1193.                 },
  1194.                 ["KomkomDoorn.MtlStdInputs.MaterialID"] = Input { Value = 1, },
  1195.             },
  1196.             ViewInfo = OperatorInfo { Pos = { 825, -445.5 } },
  1197.         },
  1198.         Blur1_5 = Blur {
  1199.             Inputs = {
  1200.                 UseOpenCL = Input { Value = 0, },
  1201.                 Filter = Input { Value = FuID { "Multi-box" }, },
  1202.                 Passes = Input { Value = 16, },
  1203.                 Input = Input {
  1204.                     SourceOp = "HueCurves1_1",
  1205.                     Source = "Output",
  1206.                 },
  1207.             },
  1208.             ViewInfo = OperatorInfo { Pos = { 1430, -445.5 } },
  1209.         },
  1210.         Gamut1_6_1 = GamutConvert {
  1211.             NameSet = true,
  1212.             CurrentSettings = 2,
  1213.             CustomData = {
  1214.                 Settings = {
  1215.                     [1] = {
  1216.                         Tools = ordered() {
  1217.                             Gamut1_6 = GamutConvert {
  1218.                                 Inputs = {
  1219.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  1220.                                     RemoveGamma = Input { Value = 0 },
  1221.                                     Input = Input {
  1222.                                         SourceOp = "Loader1_1",
  1223.                                         Source = "Output"
  1224.                                     }
  1225.                                 },
  1226.                                 CtrlWZoom = false,
  1227.                                 NameSet = true,
  1228.                                 ViewInfo = OperatorInfo { Pos = { 1265, 412.5 } },
  1229.                                 CustomData = {
  1230.                                 }
  1231.                             }
  1232.                         }
  1233.                     },
  1234.                     [2] = {
  1235.                         Tools = ordered() {
  1236.                             Gamut1_6 = GamutConvert {
  1237.                                 Inputs = {
  1238.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  1239.                                     Input = Input {
  1240.                                         SourceOp = "SHOTCDL",
  1241.                                         Source = "Output"
  1242.                                     }
  1243.                                 },
  1244.                                 Name = "Gamut1_6",
  1245.                                 CtrlWZoom = false,
  1246.                                 NameSet = true,
  1247.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  1248.                                 CustomData = {
  1249.                                 }
  1250.                             }
  1251.                         }
  1252.                     },
  1253.                     [3] = {
  1254.                         Tools = ordered() {
  1255.                             Gamut1_6 = GamutConvert {
  1256.                                 Inputs = {
  1257.                                     OutputSpace = Input { Value = FuID { "Rec709" } },
  1258.                                     Input = Input {
  1259.                                         SourceOp = "SHOTCDL",
  1260.                                         Source = "Output"
  1261.                                     },
  1262.                                     SourceSpace = Input { Value = FuID { "sRGB" } },
  1263.                                     RemoveGamma = Input { Value = 0 }
  1264.                                 },
  1265.                                 CtrlWZoom = false,
  1266.                                 NameSet = true,
  1267.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  1268.                                 CustomData = {
  1269.                                 }
  1270.                             }
  1271.                         }
  1272.                     },
  1273.                     [4] = {
  1274.                         Tools = ordered() {
  1275.                             Gamut1_6 = GamutConvert {
  1276.                                 Inputs = {
  1277.                                     OutputSpace = Input { Value = FuID { "sRGB" } },
  1278.                                     SourceSpace = Input { Value = FuID { "Rec709" } },
  1279.                                     Input = Input {
  1280.                                         SourceOp = "SHOTCDL",
  1281.                                         Source = "Output"
  1282.                                     }
  1283.                                 },
  1284.                                 CtrlWZoom = false,
  1285.                                 NameSet = true,
  1286.                                 ViewInfo = OperatorInfo { Pos = { 5720, 1237.5 } },
  1287.                                 CustomData = {
  1288.                                 }
  1289.                             }
  1290.                         }
  1291.                     }
  1292.                 }
  1293.             },
  1294.             Inputs = {
  1295.                 UseOpenCL = Input { Value = 0, },
  1296.                 SourceSpace = Input { Value = FuID { "sRGB" }, },
  1297.                 Input = Input {
  1298.                     SourceOp = "Loader1_1_1",
  1299.                     Source = "Output",
  1300.                 },
  1301.             },
  1302.             ViewInfo = OperatorInfo { Pos = { 1265, -478.5 } },
  1303.         },
  1304.         sTraceCreate1 = KomkomDoorn.KD_ShapeTraceCreate {
  1305.             Inputs = {
  1306.                 Image = Input {
  1307.                     SourceOp = "Background1",
  1308.                     Source = "Output",
  1309.                 },
  1310.                 MapChannel = Input { Value = 3, },
  1311.                 BrushColorGreen = Input { Value = 0.660553030024278, },
  1312.                 BrushColorBlue = Input { Value = 0.328000004887581, },
  1313.                 PenEnabled = Input { Value = 0, },
  1314.                 PenThickness = Input { Value = 0.23, },
  1315.             },
  1316.             ViewInfo = OperatorInfo { Pos = { 825, -478.5 } },
  1317.         },
  1318.         HueCurves1_1 = HueCurves {
  1319.             Inputs = {
  1320.                 UseOpenCL = Input { Value = 0, },
  1321.                 Hue = Input {
  1322.                     SourceOp = "HueCurves1Hue_1",
  1323.                     Source = "Value",
  1324.                 },
  1325.                 Sat = Input {
  1326.                     SourceOp = "HueCurves1Sat_1",
  1327.                     Source = "Value",
  1328.                 },
  1329.                 Lum = Input {
  1330.                     SourceOp = "HueCurves1Lum_1",
  1331.                     Source = "Value",
  1332.                 },
  1333.                 Red = Input {
  1334.                     SourceOp = "HueCurves1Red_1",
  1335.                     Source = "Value",
  1336.                 },
  1337.                 Green = Input {
  1338.                     SourceOp = "HueCurves1Green_1",
  1339.                     Source = "Value",
  1340.                 },
  1341.                 Blue = Input {
  1342.                     SourceOp = "HueCurves1Blue_1",
  1343.                     Source = "Value",
  1344.                 },
  1345.                 RedSuppress = Input {
  1346.                     SourceOp = "HueCurves1RedSuppress_1",
  1347.                     Source = "Value",
  1348.                 },
  1349.                 GreenSuppress = Input {
  1350.                     SourceOp = "HueCurves1GreenSuppress_1",
  1351.                     Source = "Value",
  1352.                 },
  1353.                 BlueSuppress = Input {
  1354.                     SourceOp = "HueCurves1BlueSuppress_1",
  1355.                     Source = "Value",
  1356.                 },
  1357.                 Input = Input {
  1358.                     SourceOp = "Loader1_1_3",
  1359.                     Source = "Output",
  1360.                 },
  1361.             },
  1362.             ViewInfo = OperatorInfo { Pos = { 1430, -478.5 } },
  1363.             Tools = {
  1364.                 HueCurves1Red_1 = LUTBezier {
  1365.                     SmoothEndsTransition = true,
  1366.                     KeyColorSplines = {
  1367.                         [0] = {
  1368.                             [0] = { 1, RH = { 0.333, 1 } },
  1369.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1370.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1371.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1372.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1373.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1374.                             [6] = { 1, LH = { 5.667, 1 } }
  1375.                         }
  1376.                     },
  1377.                     SplineColor = { Red = 204, Green = 42, Blue = 42 },
  1378.                     CtrlWShown = false,
  1379.                 },
  1380.                 HueCurves1Lum_1 = LUTBezier {
  1381.                     SmoothEndsTransition = true,
  1382.                     KeyColorSplines = {
  1383.                         [0] = {
  1384.                             [0] = { 1, RH = { 0.333, 1 } },
  1385.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1386.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1387.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1388.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1389.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1390.                             [6] = { 1, LH = { 5.667, 1 } }
  1391.                         }
  1392.                     },
  1393.                     SplineColor = { Red = 204, Green = 204, Blue = 204 },
  1394.                     CtrlWShown = false,
  1395.                 },
  1396.                 HueCurves1Blue_1 = LUTBezier {
  1397.                     SmoothEndsTransition = true,
  1398.                     KeyColorSplines = {
  1399.                         [0] = {
  1400.                             [0] = { 1, RH = { 0.333, 1 } },
  1401.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1402.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1403.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1404.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1405.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1406.                             [6] = { 1, LH = { 5.667, 1 } }
  1407.                         }
  1408.                     },
  1409.                     SplineColor = { Red = 54, Green = 54, Blue = 204 },
  1410.                     CtrlWShown = false,
  1411.                 },
  1412.                 HueCurves1Green_1 = LUTBezier {
  1413.                     SmoothEndsTransition = true,
  1414.                     KeyColorSplines = {
  1415.                         [0] = {
  1416.                             [0] = { 1, RH = { 0.333, 1 } },
  1417.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1418.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1419.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1420.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1421.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1422.                             [6] = { 1, LH = { 5.667, 1 } }
  1423.                         }
  1424.                     },
  1425.                     SplineColor = { Red = 0, Green = 204, Blue = 0 },
  1426.                     CtrlWShown = false,
  1427.                 },
  1428.                 HueCurves1Hue_1 = LUTBezier {
  1429.                     SmoothEndsTransition = true,
  1430.                     KeyColorSplines = {
  1431.                         [0] = {
  1432.                             [0] = { 1, RH = { 0.333, 1 } },
  1433.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1434.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1435.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1436.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1437.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1438.                             [6] = { 1, LH = { 5.667, 1 } }
  1439.                         }
  1440.                     },
  1441.                     SplineColor = { Red = 204, Green = 0, Blue = 204 },
  1442.                     CtrlWShown = false,
  1443.                 },
  1444.                 HueCurves1GreenSuppress_1 = LUTBezier {
  1445.                     SmoothEndsTransition = true,
  1446.                     KeyColorSplines = {
  1447.                         [0] = {
  1448.                             [0] = { 1, RH = { 0.333, 1 } },
  1449.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1450.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1451.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1452.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1453.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1454.                             [6] = { 1, LH = { 5.667, 1 } }
  1455.                         }
  1456.                     },
  1457.                     SplineColor = { Red = 102, Green = 204, Blue = 102 },
  1458.                     CtrlWShown = false,
  1459.                 },
  1460.                 HueCurves1BlueSuppress_1 = LUTBezier {
  1461.                     SmoothEndsTransition = true,
  1462.                     KeyColorSplines = {
  1463.                         [0] = {
  1464.                             [0] = { 1, RH = { 0.333, 1 } },
  1465.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1466.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1467.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1468.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1469.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1470.                             [6] = { 1, LH = { 5.667, 1 } }
  1471.                         }
  1472.                     },
  1473.                     SplineColor = { Red = 134, Green = 134, Blue = 204 },
  1474.                     CtrlWShown = false,
  1475.                 },
  1476.                 HueCurves1RedSuppress_1 = LUTBezier {
  1477.                     SmoothEndsTransition = true,
  1478.                     KeyColorSplines = {
  1479.                         [0] = {
  1480.                             [0] = { 1, RH = { 0.333, 1 } },
  1481.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1482.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1483.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1484.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1485.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1486.                             [6] = { 1, LH = { 5.667, 1 } }
  1487.                         }
  1488.                     },
  1489.                     SplineColor = { Red = 204, Green = 102, Blue = 102 },
  1490.                     CtrlWShown = false,
  1491.                 },
  1492.                 HueCurves1Sat_1 = LUTBezier {
  1493.                     SmoothEndsTransition = true,
  1494.                     KeyColorSplines = {
  1495.                         [0] = {
  1496.                             [0] = { 1, RH = { 0.333, 1 } },
  1497.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.32039432176656, 1 } },
  1498.                             [1.96214511041009] = { 0.32089552238806, LH = { 1.64175078864353, 0.32089552238806 }, RH = { 2.33926498422713, 0.32089552238806 } },
  1499.                             [3.09463722397476] = { 0.276119402985074, LH = { 2.71751735015773, 0.276119402985074 }, RH = { 3.42763722397476, 0.276119402985074 } },
  1500.                             [4.09463722397476] = { 0.276119402985075, LH = { 3.76163722397476, 0.276119402985075 }, RH = { 4.37721451104101, 0.276119402985075 } },
  1501.                             [4.94321766561514] = { 0.611940298507463, LH = { 4.75527760252366, 0.522388059701492 }, RH = { 5.16756260011732, 0.718839225851492 } },
  1502.                             [6] = { 1, LH = { 5.64809148264984, 1 } }
  1503.                         }
  1504.                     },
  1505.                     SplineColor = { Red = 204, Green = 204, Blue = 0 },
  1506.                     CtrlWShown = false,
  1507.                 }
  1508.             },
  1509.         },
  1510.         Loader1_1_3 = Loader {
  1511.             Clips = {
  1512.                 Clip {
  1513.                     ID = "Clip1",
  1514.                     Filename = "L:\\environments\\HDRI\\smartIBL\\Blochi\\OfficeEden\\Eden_REF.hdr",
  1515.                     FormatID = "HDRFormat",
  1516.                     StartFrame = -1,
  1517.                     LengthSetManually = true,
  1518.                     TrimIn = 0,
  1519.                     TrimOut = 0,
  1520.                     ExtendFirst = 0,
  1521.                     ExtendLast = 0,
  1522.                     Loop = 0,
  1523.                     AspectMode = 1,
  1524.                     Depth = 1,
  1525.                     TimeCode = 0,
  1526.                     GlobalStart = 1001,
  1527.                     GlobalEnd = 1001
  1528.                 }
  1529.             },
  1530.             Inputs = {
  1531.                 Depth = Input { Value = 1, },
  1532.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  1533.             },
  1534.             ViewInfo = OperatorInfo { Pos = { 1430, -511.5 } },
  1535.             UserControls = ordered() {
  1536.                 MakeLocal = {
  1537.                     LINKS_Name = "Make Local",
  1538.                     INPID_InputControl = "ButtonControl",
  1539.                     BTNCS_Execute = "                       -- Get clip path\n                      attrs=tool:GetAttrs()\n                     path = attrs.TOOLST_Clip_Name[1]\n                      elemtable = eyeon.split(path, \"\\\\\")\n                       \n                      -- Store current Trim points\n                      trimIn = attrs.TOOLIT_Clip_TrimIn[1]\n                      print(\"Trim In: \"..trimIn + 1)\n                      trimOut = attrs.TOOLIT_Clip_TrimOut[1]\n                        print(\"Trim Out: \"..trimOut + 1)\n                        \n                      sequence = 1\n                      \n                      -- Check for single frame element\n                     if trimOut == trimIn then\n                         sequence = 0 -- Will be used to pre-set the Sequence flag\n                     end\n                       \n                      print(\"Parsing element path:\")\n                      k = 0\n                     \n                      -- Find last entry in table\n                       for i,j in ipairs(elemtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      -- Initialize file extension\n                      extension = \"\"\n                      \n                      elemname = elemtable[k]\n                       elfile = elemtable[k]\n                     elemtable[k] = nil\n                        \n                      -- find last ., which should indicate file extension.\n                     i = 0\n                     while i do\n                            k = i\n                         i = string.find(elfile, \"%.\", i+1)\n                      end\n                       \n                      -- Scan and store file extension\n                      extension = string.sub(elfile, k+1)\n                       \n                      -- Table of recognized video extensions\n                       video = {\"mov\", \"avi\", \"mxf\", \"mkv\", \"vdr\", \"wav\", \"mp4\", \"qt\", \"3gp\", \"mpg\", \"mpeg\", \"m4v\", }\n                        \n                      -- Compare extension against the table\n                        -- If matched, sequence = 0\n                       for i,j in ipairs(video) do \n                          if j == extension then\n                                sequence = 0\n                          end\n                       end\n\n                     print(\"Parsing comp path:\")\n                     fp = eyeon.parseFilename(composition:GetAttrs().COMPS_FileName)\n                       pathtable = eyeon.split(fp.FullPath, \"\\\\\")\n                        k = 0\n\n                       for i,j in ipairs(pathtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      pathdepth = k\n                     \n                      k = 0\n                     if elemtable[6] == pathtable[6] then\n                          oops = composition:AskUser(\"Asset is already local. Aborting.\", {})\n                         error(\"Already Local\")\n                      end\n                       \n                      dialog = composition:AskUser(\"\", { \n                         {\"Element Name\", \"Text\", Lines = 1, Default = elemname},\n                          {\"Sequence\", \"Checkbox\", Default = sequence},\n                         })\n                            \n                      path = \"\"\n                       \n                      for i,j in ipairs(elemtable) do\n                           path = path..j..\"\\\\\"\n                      end\n                       \n                      newlocation = \"\"\n                        \n                      for i=1, pathdepth-3 do\n                           newlocation = newlocation .. pathtable[i].. \"\\\\\"\n                      end\n                       \n                      newlocation = newlocation .. \"04_elements\\\\\"..dialog[\"Element Name\"]\n                        \n                      os.execute(\"md \"..newlocation)\n                      \n                      if dialog[\"Sequence\"] == 1 then\n                         print(\"Copying Sequence\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\\\" \\\"\"..newlocation..\"\\\\\\\"\")\n                     else\n                          print(\"Copying File\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\"..elfile..\"\\\" \\\"\"..newlocation..\"\\\"\")\n                       end\n                       \n                      tool.Clip = newlocation..\"\\\\\"..elfile\n                     print(\"Setting Trim In to \"..trimIn + 1)\n                        tool.ClipTimeStart = trimIn\n                       print(\"Setting Trim Out to \"..trimOut + 1)\n                      tool.ClipTimeEnd = trimOut\n                        ",
  1540.                     IC_ControlPage = 0,
  1541.                     LINKID_DataType = "Number",
  1542.                     INP_Default = 0,
  1543.                 }
  1544.             }
  1545.         },
  1546.         Loader1_1_1 = Loader {
  1547.             Clips = {
  1548.                 Clip {
  1549.                     ID = "Clip1",
  1550.                     Filename = "x:\\pm\\MSE\\02_shots\\PM_109_020\\04_elements\\engraving\\Untitled.png",
  1551.                     FormatID = "PNGFormat",
  1552.                     StartFrame = -1,
  1553.                     LengthSetManually = true,
  1554.                     TrimIn = 0,
  1555.                     TrimOut = 0,
  1556.                     ExtendFirst = 0,
  1557.                     ExtendLast = 0,
  1558.                     Loop = 0,
  1559.                     AspectMode = 1,
  1560.                     Depth = 1,
  1561.                     TimeCode = 0,
  1562.                     GlobalStart = 0,
  1563.                     GlobalEnd = 0
  1564.                 }
  1565.             },
  1566.             Inputs = {
  1567.                 Depth = Input { Value = 1, },
  1568.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  1569.             },
  1570.             ViewInfo = OperatorInfo { Pos = { 1265, -511.5 } },
  1571.             UserControls = ordered() {
  1572.                 MakeLocal = {
  1573.                     INP_Default = 0,
  1574.                     INPID_InputControl = "ButtonControl",
  1575.                     BTNCS_Execute = "                       -- Get clip path\n                      attrs=tool:GetAttrs()\n                     path = attrs.TOOLST_Clip_Name[1]\n                      elemtable = eyeon.split(path, \"\\\\\")\n                       \n                      -- Store current Trim points\n                      trimIn = attrs.TOOLIT_Clip_TrimIn[1]\n                      print(\"Trim In: \"..trimIn + 1)\n                      trimOut = attrs.TOOLIT_Clip_TrimOut[1]\n                        print(\"Trim Out: \"..trimOut + 1)\n                        \n                      sequence = 1\n                      \n                      -- Check for single frame element\n                     if trimOut == trimIn then\n                         sequence = 0 -- Will be used to pre-set the Sequence flag\n                     end\n                       \n                      print(\"Parsing element path:\")\n                      k = 0\n                     \n                      -- Find last entry in table\n                       for i,j in ipairs(elemtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      -- Initialize file extension\n                      extension = \"\"\n                      \n                      elemname = elemtable[k]\n                       elfile = elemtable[k]\n                     elemtable[k] = nil\n                        \n                      -- find last ., which should indicate file extension.\n                     i = 0\n                     while i do\n                            k = i\n                         i = string.find(elfile, \"%.\", i+1)\n                      end\n                       \n                      -- Scan and store file extension\n                      extension = string.sub(elfile, k+1)\n                       \n                      -- Table of recognized video extensions\n                       video = {\"mov\", \"avi\", \"mxf\", \"mkv\", \"vdr\", \"wav\", \"mp4\", \"qt\", \"3gp\", \"mpg\", \"mpeg\", \"m4v\", }\n                        \n                      -- Compare extension against the table\n                        -- If matched, sequence = 0\n                       for i,j in ipairs(video) do \n                          if j == extension then\n                                sequence = 0\n                          end\n                       end\n\n                     print(\"Parsing comp path:\")\n                     fp = eyeon.parseFilename(composition:GetAttrs().COMPS_FileName)\n                       pathtable = eyeon.split(fp.FullPath, \"\\\\\")\n                        k = 0\n\n                       for i,j in ipairs(pathtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      pathdepth = k\n                     \n                      k = 0\n                     if elemtable[6] == pathtable[6] then\n                          oops = composition:AskUser(\"Asset is already local. Aborting.\", {})\n                         error(\"Already Local\")\n                      end\n                       \n                      dialog = composition:AskUser(\"\", { \n                         {\"Element Name\", \"Text\", Lines = 1, Default = elemname},\n                          {\"Sequence\", \"Checkbox\", Default = sequence},\n                         })\n                            \n                      path = \"\"\n                       \n                      for i,j in ipairs(elemtable) do\n                           path = path..j..\"\\\\\"\n                      end\n                       \n                      newlocation = \"\"\n                        \n                      for i=1, pathdepth-3 do\n                           newlocation = newlocation .. pathtable[i].. \"\\\\\"\n                      end\n                       \n                      newlocation = newlocation .. \"04_elements\\\\\"..dialog[\"Element Name\"]\n                        \n                      os.execute(\"md \"..newlocation)\n                      \n                      if dialog[\"Sequence\"] == 1 then\n                         print(\"Copying Sequence\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\\\" \\\"\"..newlocation..\"\\\\\\\"\")\n                     else\n                          print(\"Copying File\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\"..elfile..\"\\\" \\\"\"..newlocation..\"\\\"\")\n                       end\n                       \n                      tool.Clip = newlocation..\"\\\\\"..elfile\n                     print(\"Setting Trim In to \"..trimIn + 1)\n                        tool.ClipTimeStart = trimIn\n                       print(\"Setting Trim Out to \"..trimOut + 1)\n                      tool.ClipTimeEnd = trimOut\n                        ",
  1576.                     IC_ControlPage = 0,
  1577.                     LINKID_DataType = "Number",
  1578.                     LINKS_Name = "Make Local",
  1579.                 }
  1580.             }
  1581.         },
  1582.         Background1 = Background {
  1583.             Inputs = {
  1584.                 GlobalIn = Input { Value = 1001, },
  1585.                 GlobalOut = Input { Value = 1090, },
  1586.                 Width = Input { Value = 3840, },
  1587.                 Height = Input { Value = 2160, },
  1588.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  1589.                 TopLeftRed = Input { Value = 0.312976717948914, },
  1590.                 TopLeftGreen = Input { Value = 0.200108304619789, },
  1591.                 TopLeftBlue = Input { Value = 0.082002118229866, },
  1592.                 EffectMask = Input {
  1593.                     SourceOp = "Bitmap4",
  1594.                     Source = "Mask",
  1595.                 }
  1596.             },
  1597.             ViewInfo = OperatorInfo { Pos = { 825, -511.5 } },
  1598.         },
  1599.         ErodeDilate2 = ErodeDilate {
  1600.             Inputs = {
  1601.                 UseOpenCL = Input { Value = 0, },
  1602.                 XAmount = Input { Value = 0.00054, },
  1603.                 Input = Input {
  1604.                     SourceOp = "Filter1_1",
  1605.                     Source = "Output",
  1606.                 },
  1607.             },
  1608.             ViewInfo = OperatorInfo { Pos = { 935, -544.5 } },
  1609.         },
  1610.         Bitmap4 = BitmapMask {
  1611.             Inputs = {
  1612.                 MaskWidth = Input { Value = 3840, },
  1613.                 MaskHeight = Input { Value = 2160, },
  1614.                 PixelAspect = Input { Value = { 1, 1 }, },
  1615.                 ClippingMode = Input { Value = FuID { "None" }, },
  1616.                 Image = Input {
  1617.                     SourceOp = "ErodeDilate2",
  1618.                     Source = "Output",
  1619.                 },
  1620.                 EffectMask = Input {
  1621.                     SourceOp = "Bitmap1",
  1622.                     Source = "Mask",
  1623.                 }
  1624.             },
  1625.             ViewInfo = OperatorInfo { Pos = { 825, -544.5 } },
  1626.         },
  1627.         LumaKeyer2 = LumaKeyer {
  1628.             Inputs = {
  1629.                 UseOpenCL = Input { Value = 0, },
  1630.                 High = Input { Value = 0.659, },
  1631.                 Low = Input { Value = 0.609, },
  1632.                 Invert = Input { Value = 1, },
  1633.                 Input = Input {
  1634.                     SourceOp = "BrightnessContrast2",
  1635.                     Source = "Output",
  1636.                 },
  1637.             },
  1638.             ViewInfo = OperatorInfo { Pos = { 495, -577.5 } },
  1639.         },
  1640.         CookTorrance1 = MtlCookTorrance {
  1641.             Inputs = {
  1642.                 ["Diffuse.Color.Red"] = Input { Value = 0.528, },
  1643.                 ["Diffuse.Color.Green"] = Input { Value = 0.528, },
  1644.                 ["Diffuse.Color.Blue"] = Input { Value = 0.528, },
  1645.                 ["Diffuse.Color.Material"] = Input {
  1646.                     SourceOp = "BrightnessContrast4",
  1647.                     Source = "Output",
  1648.                 },
  1649.                 ["Specular.Nest"] = Input { Value = 1, },
  1650.                 ["Specular.Color.Red"] = Input { Value = 0.917, },
  1651.                 ["Specular.Color.Green"] = Input { Value = 0.855847153392209, },
  1652.                 ["Specular.Color.Blue"] = Input { Value = 0.77028, },
  1653.                 ["Specular.Intensity"] = Input { Value = 0.846, },
  1654.                 ["Specular.Intensity.Material"] = Input {
  1655.                     SourceOp = "BrightnessContrast4",
  1656.                     Source = "Output",
  1657.                 },
  1658.                 ["Specular.Roughness"] = Input { Value = 0.7667, },
  1659.                 ["Specular.Roughness.Material"] = Input {
  1660.                     SourceOp = "ChannelBooleans1_1_2",
  1661.                     Source = "Output",
  1662.                 },
  1663.                 MaterialID = Input { Value = 2, },
  1664.             },
  1665.             ViewInfo = OperatorInfo { Pos = { 110, -511.5 } },
  1666.         },
  1667.         Transform5 = Transform {
  1668.             Inputs = {
  1669.                 UseOpenCL = Input { Value = 0, },
  1670.                 Center = Input { Value = { 0.489048596851472, 0.672749391727494 }, },
  1671.                 Aspect = Input { Value = 1.123, },
  1672.                 Input = Input {
  1673.                     SourceOp = "LumaKeyer2",
  1674.                     Source = "Output",
  1675.                 },
  1676.             },
  1677.             ViewInfo = OperatorInfo { Pos = { 605, -577.5 } },
  1678.         },
  1679.         MaterialMerge1 = MtlMerge3D {
  1680.             Inputs = {
  1681.                 BackgroundMaterial = Input {
  1682.                     SourceOp = "CookTorrance1",
  1683.                     Source = "MaterialOutput",
  1684.                 },
  1685.                 ForegroundMaterial = Input {
  1686.                     SourceOp = "CookTorrance1_3",
  1687.                     Source = "MaterialOutput",
  1688.                 },
  1689.                 MaterialID = Input { Value = 10, },
  1690.             },
  1691.             ViewInfo = OperatorInfo { Pos = { 110, -445.5 } },
  1692.         },
  1693.         Bitmap1 = BitmapMask {
  1694.             Inputs = {
  1695.                 PaintMode = Input { Value = FuID { "Multiply" }, },
  1696.                 MaskWidth = Input { Value = 3840, },
  1697.                 MaskHeight = Input { Value = 2160, },
  1698.                 PixelAspect = Input { Value = { 1, 1 }, },
  1699.                 ClippingMode = Input { Value = FuID { "None" }, },
  1700.                 Image = Input {
  1701.                     SourceOp = "Transform5",
  1702.                     Source = "Output",
  1703.                 },
  1704.                 EffectMask = Input {
  1705.                     SourceOp = "Bitmap3",
  1706.                     Source = "Mask",
  1707.                 }
  1708.             },
  1709.             ViewInfo = OperatorInfo { Pos = { 825, -577.5 } },
  1710.         },
  1711.         BrightnessContrast2 = BrightnessContrast {
  1712.             Inputs = {
  1713.                 UseOpenCL = Input { Value = 0, },
  1714.                 Gain = Input { Value = 0.8419, },
  1715.                 Input = Input {
  1716.                     SourceOp = "Blur1_4",
  1717.                     Source = "Output",
  1718.                 },
  1719.                 EffectMask = Input {
  1720.                     SourceOp = "Background6",
  1721.                     Source = "Output",
  1722.                 }
  1723.             },
  1724.             ViewInfo = OperatorInfo { Pos = { 495, -610.5 } },
  1725.         },
  1726.         SphereMap1 = SphereMap {
  1727.             Inputs = {
  1728.                 Rotation = Input { Value = 1, },
  1729.                 ["Rotate.Y"] = Input { Value = 70, },
  1730.                 Image = Input {
  1731.                     SourceOp = "ColorCorrector1",
  1732.                     Source = "Output",
  1733.                 },
  1734.                 MaterialID = Input { Value = 4, },
  1735.             },
  1736.             ViewInfo = OperatorInfo { Pos = { 220, -610.5 } },
  1737.         },
  1738.         Background6 = Background {
  1739.             Inputs = {
  1740.                 GlobalIn = Input { Value = 1001, },
  1741.                 GlobalOut = Input { Value = 1090, },
  1742.                 Width = Input { Value = 993, },
  1743.                 Height = Input { Value = 1245, },
  1744.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  1745.                 Type = Input { Value = FuID { "Gradient" }, },
  1746.                 Start = Input { Value = { 0.521428571428571, 0.00142450142450142 }, },
  1747.                 End = Input { Value = { 0.528571428571429, 0.992877492877493 }, },
  1748.                 Gradient = Input {
  1749.                     Value = Gradient {
  1750.                         Colors = {
  1751.                             [0] = { 0, 0, 0, 0 },
  1752.                             [0.503086419753086] = { 0.493827160493827, 0.493827160493827, 0.493827160493827, 1 },
  1753.                             [1] = { 1, 1, 1, 0 }
  1754.                         }
  1755.                     },
  1756.                 },
  1757.             },
  1758.             ViewInfo = OperatorInfo { Pos = { 605, -610.5 } },
  1759.         },
  1760.         ColorCorrector1 = ColorCorrector {
  1761.             Inputs = {
  1762.                 UseOpenCL = Input { Value = 0, },
  1763.                 WheelHue1 = Input { Value = 0.085, },
  1764.                 WheelSaturation4 = Input { Value = 0, },
  1765.                 MasterRGBGain = Input { Value = 1.462, },
  1766.                 ColorRanges = Input {
  1767.                     Value = ColorCurves {
  1768.                         Curves = {
  1769.                             {
  1770.                                 Points = {
  1771.                                     { 0, 1 },
  1772.                                     { 0.4, 0.2 },
  1773.                                     { 0.6, 0 },
  1774.                                     { 1, 0 }
  1775.                                 }
  1776.                             },
  1777.                             {
  1778.                                 Points = {
  1779.                                     { 0, 0 },
  1780.                                     { 0.4, 0 },
  1781.                                     { 0.6, 0.2 },
  1782.                                     { 1, 1 }
  1783.                                 }
  1784.                             }
  1785.                         }
  1786.                     },
  1787.                 },
  1788.                 HistogramIgnoreTransparent = Input { Value = 1, },
  1789.                 Input = Input {
  1790.                     SourceOp = "Blur1",
  1791.                     Source = "Output",
  1792.                 },
  1793.             },
  1794.             ViewInfo = OperatorInfo { Pos = { 220, -643.5 } },
  1795.         },
  1796.         Blur1_4 = Blur {
  1797.             Inputs = {
  1798.                 UseOpenCL = Input { Value = 0, },
  1799.                 XBlurSize = Input { Value = 4.2, },
  1800.                 Input = Input {
  1801.                     SourceOp = "ErodeDilate1",
  1802.                     Source = "Output",
  1803.                 },
  1804.             },
  1805.             ViewInfo = OperatorInfo { Pos = { 495, -643.5 } },
  1806.         },
  1807.         Filter1_1 = Filter {
  1808.             Inputs = {
  1809.                 FilterType = Input { Value = 3, },
  1810.                 Input = Input {
  1811.                     SourceOp = "Bitmap3",
  1812.                     Source = "Mask",
  1813.                 },
  1814.             },
  1815.             ViewInfo = OperatorInfo { Pos = { 935, -643.5 } },
  1816.         },
  1817.         ErodeDilate1 = ErodeDilate {
  1818.             Inputs = {
  1819.                 UseOpenCL = Input { Value = 0, },
  1820.                 Input = Input {
  1821.                     SourceOp = "Crop2",
  1822.                     Source = "Output",
  1823.                 },
  1824.             },
  1825.             ViewInfo = OperatorInfo { Pos = { 495, -676.5 } },
  1826.         },
  1827.         Bitmap3 = BitmapMask {
  1828.             Inputs = {
  1829.                 MaskWidth = Input { Value = 3840, },
  1830.                 MaskHeight = Input { Value = 2160, },
  1831.                 PixelAspect = Input { Value = { 1, 1 }, },
  1832.                 ClippingMode = Input { Value = FuID { "None" }, },
  1833.                 Image = Input {
  1834.                     SourceOp = "Transform2",
  1835.                     Source = "Output",
  1836.                 },
  1837.             },
  1838.             ViewInfo = OperatorInfo { Pos = { 825, -676.5 } },
  1839.         },
  1840.         Blur1 = Blur {
  1841.             Inputs = {
  1842.                 UseOpenCL = Input { Value = 0, },
  1843.                 Filter = Input { Value = FuID { "Multi-box" }, },
  1844.                 XBlurSize = Input { Value = 15.4, },
  1845.                 Passes = Input { Value = 16, },
  1846.                 Input = Input {
  1847.                     SourceOp = "HueCurves1",
  1848.                     Source = "Output",
  1849.                 },
  1850.             },
  1851.             ViewInfo = OperatorInfo { Pos = { 220, -676.5 } },
  1852.         },
  1853.         CookTorrance1_3 = MtlCookTorrance {
  1854.             Inputs = {
  1855.                 ["Diffuse.Color.Material"] = Input {
  1856.                     SourceOp = "ColorCorrector5",
  1857.                     Source = "Output",
  1858.                 },
  1859.                 ["Specular.Nest"] = Input { Value = 1, },
  1860.                 ["Specular.Color.Red"] = Input { Value = 0.822, },
  1861.                 ["Specular.Color.Green"] = Input { Value = 0.767182508275241, },
  1862.                 ["Specular.Color.Blue"] = Input { Value = 0.69048, },
  1863.                 ["Specular.Intensity"] = Input { Value = 0.504, },
  1864.                 ["Specular.Intensity.Material"] = Input {
  1865.                     SourceOp = "BrightnessContrast4",
  1866.                     Source = "Output",
  1867.                 },
  1868.                 ["Specular.Roughness"] = Input { Value = 0.9, },
  1869.                 ["Specular.Roughness.Material"] = Input {
  1870.                     SourceOp = "ChannelBooleans1_1_2",
  1871.                     Source = "Output",
  1872.                 },
  1873.                 MaterialID = Input { Value = 2, },
  1874.             },
  1875.             ViewInfo = OperatorInfo { Pos = { 0, -445.5 } },
  1876.         },
  1877.         BrightnessContrast4 = BrightnessContrast {
  1878.             Inputs = {
  1879.                 ClipBlack = Input { Value = 1, },
  1880.                 ClipWhite = Input { Value = 1, },
  1881.                 Input = Input {
  1882.                     SourceOp = "FastNoise2",
  1883.                     Source = "Output",
  1884.                 },
  1885.             },
  1886.             ViewInfo = OperatorInfo { Pos = { 0, -676.5 } },
  1887.         },
  1888.         FastNoise2 = FastNoise {
  1889.             Inputs = {
  1890.                 GlobalIn = Input { Value = 1001, },
  1891.                 GlobalOut = Input { Value = 1090, },
  1892.                 Width = Input { Value = 512, },
  1893.                 Height = Input { Value = 512, },
  1894.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  1895.                 Contrast = Input { Value = 1.985, },
  1896.                 LockXY = Input { Value = 0, },
  1897.                 XScale = Input { Value = 30, },
  1898.                 YScale = Input { Value = 15.46, },
  1899.                 Seethe = Input { Value = 0.441, },
  1900.                 Color1Red = Input { Value = 1, },
  1901.                 Color1Green = Input { Value = 0.759731317990101, },
  1902.                 Color1Blue = Input { Value = 0.63, },
  1903.                 Color1Alpha = Input { Value = 1, },
  1904.                 Color2Red = Input { Value = 0.004, },
  1905.                 Color2Green = Input { Value = 0.00313773104607287, },
  1906.                 Color2Blue = Input { Value = 0.00112266218515817, },
  1907.                 Color2Alpha = Input { Value = 0.016, },
  1908.             },
  1909.             ViewInfo = OperatorInfo { Pos = { 0, -709.5 } },
  1910.         },
  1911.         Crop2 = Crop {
  1912.             Inputs = {
  1913.                 UseOpenCL = Input { Value = 0, },
  1914.                 XOffset = Input { Value = 154, },
  1915.                 YOffset = Input { Value = 27, },
  1916.                 XSize = Input { Value = 993, },
  1917.                 YSize = Input { Value = 1245, },
  1918.                 KeepCentered = Input { Value = 1, },
  1919.                 Input = Input {
  1920.                     SourceOp = "Transform4",
  1921.                     Source = "Output",
  1922.                 },
  1923.             },
  1924.             ViewInfo = OperatorInfo { Pos = { 495, -709.5 } },
  1925.         },
  1926.         HueCurves1 = HueCurves {
  1927.             Inputs = {
  1928.                 UseOpenCL = Input { Value = 0, },
  1929.                 Hue = Input {
  1930.                     SourceOp = "HueCurves1Hue",
  1931.                     Source = "Value",
  1932.                 },
  1933.                 Sat = Input {
  1934.                     SourceOp = "HueCurves1Sat",
  1935.                     Source = "Value",
  1936.                 },
  1937.                 Lum = Input {
  1938.                     SourceOp = "HueCurves1Lum",
  1939.                     Source = "Value",
  1940.                 },
  1941.                 Red = Input {
  1942.                     SourceOp = "HueCurves1Red",
  1943.                     Source = "Value",
  1944.                 },
  1945.                 Green = Input {
  1946.                     SourceOp = "HueCurves1Green",
  1947.                     Source = "Value",
  1948.                 },
  1949.                 Blue = Input {
  1950.                     SourceOp = "HueCurves1Blue",
  1951.                     Source = "Value",
  1952.                 },
  1953.                 RedSuppress = Input {
  1954.                     SourceOp = "HueCurves1RedSuppress",
  1955.                     Source = "Value",
  1956.                 },
  1957.                 GreenSuppress = Input {
  1958.                     SourceOp = "HueCurves1GreenSuppress",
  1959.                     Source = "Value",
  1960.                 },
  1961.                 BlueSuppress = Input {
  1962.                     SourceOp = "HueCurves1BlueSuppress",
  1963.                     Source = "Value",
  1964.                 },
  1965.                 Input = Input {
  1966.                     SourceOp = "Loader1_1",
  1967.                     Source = "Output",
  1968.                 },
  1969.             },
  1970.             ViewInfo = OperatorInfo { Pos = { 220, -709.5 } },
  1971.             Tools = {
  1972.                 HueCurves1RedSuppress = LUTBezier {
  1973.                     SmoothEndsTransition = true,
  1974.                     KeyColorSplines = {
  1975.                         [0] = {
  1976.                             [0] = { 1, RH = { 0.333, 1 } },
  1977.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1978.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1979.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1980.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1981.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1982.                             [6] = { 1, LH = { 5.667, 1 } }
  1983.                         }
  1984.                     },
  1985.                     SplineColor = { Red = 204, Green = 102, Blue = 102 },
  1986.                     CtrlWShown = false,
  1987.                 },
  1988.                 HueCurves1Lum = LUTBezier {
  1989.                     SmoothEndsTransition = true,
  1990.                     KeyColorSplines = {
  1991.                         [0] = {
  1992.                             [0] = { 1, RH = { 0.333, 1 } },
  1993.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  1994.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  1995.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  1996.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  1997.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  1998.                             [6] = { 1, LH = { 5.667, 1 } }
  1999.                         }
  2000.                     },
  2001.                     SplineColor = { Red = 204, Green = 204, Blue = 204 },
  2002.                     CtrlWShown = false,
  2003.                 },
  2004.                 HueCurves1Sat = LUTBezier {
  2005.                     SmoothEndsTransition = true,
  2006.                     KeyColorSplines = {
  2007.                         [0] = {
  2008.                             [0] = { 1, RH = { 0.333, 1 } },
  2009.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.32039432176656, 1 } },
  2010.                             [1.96214511041009] = { 0.32089552238806, LH = { 1.64175078864353, 0.32089552238806 }, RH = { 2.33926498422713, 0.32089552238806 } },
  2011.                             [3.09463722397476] = { 0.276119402985074, LH = { 2.71751735015773, 0.276119402985074 }, RH = { 3.42763722397476, 0.276119402985074 } },
  2012.                             [4.09463722397476] = { 0.276119402985075, LH = { 3.76163722397476, 0.276119402985075 }, RH = { 4.37721451104101, 0.276119402985075 } },
  2013.                             [4.94321766561514] = { 0.611940298507463, LH = { 4.75527760252366, 0.522388059701492 }, RH = { 5.16756260011732, 0.718839225851492 } },
  2014.                             [6] = { 1, LH = { 5.64809148264984, 1 } }
  2015.                         }
  2016.                     },
  2017.                     SplineColor = { Red = 204, Green = 204, Blue = 0 },
  2018.                     CtrlWShown = false,
  2019.                 },
  2020.                 HueCurves1Red = LUTBezier {
  2021.                     SmoothEndsTransition = true,
  2022.                     KeyColorSplines = {
  2023.                         [0] = {
  2024.                             [0] = { 1, RH = { 0.333, 1 } },
  2025.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  2026.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  2027.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  2028.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  2029.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  2030.                             [6] = { 1, LH = { 5.667, 1 } }
  2031.                         }
  2032.                     },
  2033.                     SplineColor = { Red = 204, Green = 42, Blue = 42 },
  2034.                     CtrlWShown = false,
  2035.                 },
  2036.                 HueCurves1BlueSuppress = LUTBezier {
  2037.                     SmoothEndsTransition = true,
  2038.                     KeyColorSplines = {
  2039.                         [0] = {
  2040.                             [0] = { 1, RH = { 0.333, 1 } },
  2041.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  2042.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  2043.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  2044.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  2045.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  2046.                             [6] = { 1, LH = { 5.667, 1 } }
  2047.                         }
  2048.                     },
  2049.                     SplineColor = { Red = 134, Green = 134, Blue = 204 },
  2050.                     CtrlWShown = false,
  2051.                 },
  2052.                 HueCurves1Blue = LUTBezier {
  2053.                     SmoothEndsTransition = true,
  2054.                     KeyColorSplines = {
  2055.                         [0] = {
  2056.                             [0] = { 1, RH = { 0.333, 1 } },
  2057.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  2058.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  2059.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  2060.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  2061.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  2062.                             [6] = { 1, LH = { 5.667, 1 } }
  2063.                         }
  2064.                     },
  2065.                     SplineColor = { Red = 54, Green = 54, Blue = 204 },
  2066.                     CtrlWShown = false,
  2067.                 },
  2068.                 HueCurves1GreenSuppress = LUTBezier {
  2069.                     SmoothEndsTransition = true,
  2070.                     KeyColorSplines = {
  2071.                         [0] = {
  2072.                             [0] = { 1, RH = { 0.333, 1 } },
  2073.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  2074.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  2075.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  2076.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  2077.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  2078.                             [6] = { 1, LH = { 5.667, 1 } }
  2079.                         }
  2080.                     },
  2081.                     SplineColor = { Red = 102, Green = 204, Blue = 102 },
  2082.                     CtrlWShown = false,
  2083.                 },
  2084.                 HueCurves1Green = LUTBezier {
  2085.                     SmoothEndsTransition = true,
  2086.                     KeyColorSplines = {
  2087.                         [0] = {
  2088.                             [0] = { 1, RH = { 0.333, 1 } },
  2089.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  2090.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  2091.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  2092.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  2093.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  2094.                             [6] = { 1, LH = { 5.667, 1 } }
  2095.                         }
  2096.                     },
  2097.                     SplineColor = { Red = 0, Green = 204, Blue = 0 },
  2098.                     CtrlWShown = false,
  2099.                 },
  2100.                 HueCurves1Hue = LUTBezier {
  2101.                     SmoothEndsTransition = true,
  2102.                     KeyColorSplines = {
  2103.                         [0] = {
  2104.                             [0] = { 1, RH = { 0.333, 1 } },
  2105.                             [1] = { 1, LH = { 0.667, 1 }, RH = { 1.333, 1 } },
  2106.                             [2] = { 1, LH = { 1.667, 1 }, RH = { 2.333, 1 } },
  2107.                             [3] = { 1, LH = { 2.667, 1 }, RH = { 3.333, 1 } },
  2108.                             [4] = { 1, LH = { 3.667, 1 }, RH = { 4.333, 1 } },
  2109.                             [5] = { 1, LH = { 4.667, 1 }, RH = { 5.333, 1 } },
  2110.                             [6] = { 1, LH = { 5.667, 1 } }
  2111.                         }
  2112.                     },
  2113.                     SplineColor = { Red = 204, Green = 0, Blue = 204 },
  2114.                     CtrlWShown = false,
  2115.                 }
  2116.             },
  2117.         },
  2118.         Transform2 = Transform {
  2119.             Inputs = {
  2120.                 UseOpenCL = Input { Value = 0, },
  2121.                 Size = Input { Value = 2.908, },
  2122.                 Input = Input {
  2123.                     SourceOp = "ChannelBooleans1_1",
  2124.                     Source = "Output",
  2125.                 },
  2126.             },
  2127.             ViewInfo = OperatorInfo { Pos = { 825, -709.5 } },
  2128.         },
  2129.         Transform4 = Transform {
  2130.             Inputs = {
  2131.                 UseOpenCL = Input { Value = 0, },
  2132.                 Center = Input { Value = { 0.00837988826815642, 0.5 }, },
  2133.                 Edges = Input { Value = 1, },
  2134.                 Input = Input {
  2135.                     SourceOp = "Crop1",
  2136.                     Source = "Output",
  2137.                 },
  2138.             },
  2139.             ViewInfo = OperatorInfo { Pos = { 495, -742.5 } },
  2140.         },
  2141.         Loader1_1 = Loader {
  2142.             Clips = {
  2143.                 Clip {
  2144.                     ID = "Clip1",
  2145.                     Filename = "L:\\environments\\HDRI\\smartIBL\\Blochi\\OfficeEden\\Eden_REF.hdr",
  2146.                     FormatID = "HDRFormat",
  2147.                     StartFrame = -1,
  2148.                     LengthSetManually = true,
  2149.                     TrimIn = 0,
  2150.                     TrimOut = 0,
  2151.                     ExtendFirst = 0,
  2152.                     ExtendLast = 0,
  2153.                     Loop = 0,
  2154.                     AspectMode = 1,
  2155.                     Depth = 1,
  2156.                     TimeCode = 0,
  2157.                     GlobalStart = 1001,
  2158.                     GlobalEnd = 1001
  2159.                 }
  2160.             },
  2161.             Inputs = {
  2162.                 Depth = Input { Value = 1, },
  2163.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  2164.             },
  2165.             ViewInfo = OperatorInfo { Pos = { 220, -742.5 } },
  2166.             UserControls = ordered() {
  2167.                 MakeLocal = {
  2168.                     LINKS_Name = "Make Local",
  2169.                     INPID_InputControl = "ButtonControl",
  2170.                     BTNCS_Execute = "                       -- Get clip path\n                      attrs=tool:GetAttrs()\n                     path = attrs.TOOLST_Clip_Name[1]\n                      elemtable = eyeon.split(path, \"\\\\\")\n                       \n                      -- Store current Trim points\n                      trimIn = attrs.TOOLIT_Clip_TrimIn[1]\n                      print(\"Trim In: \"..trimIn + 1)\n                      trimOut = attrs.TOOLIT_Clip_TrimOut[1]\n                        print(\"Trim Out: \"..trimOut + 1)\n                        \n                      sequence = 1\n                      \n                      -- Check for single frame element\n                     if trimOut == trimIn then\n                         sequence = 0 -- Will be used to pre-set the Sequence flag\n                     end\n                       \n                      print(\"Parsing element path:\")\n                      k = 0\n                     \n                      -- Find last entry in table\n                       for i,j in ipairs(elemtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      -- Initialize file extension\n                      extension = \"\"\n                      \n                      elemname = elemtable[k]\n                       elfile = elemtable[k]\n                     elemtable[k] = nil\n                        \n                      -- find last ., which should indicate file extension.\n                     i = 0\n                     while i do\n                            k = i\n                         i = string.find(elfile, \"%.\", i+1)\n                      end\n                       \n                      -- Scan and store file extension\n                      extension = string.sub(elfile, k+1)\n                       \n                      -- Table of recognized video extensions\n                       video = {\"mov\", \"avi\", \"mxf\", \"mkv\", \"vdr\", \"wav\", \"mp4\", \"qt\", \"3gp\", \"mpg\", \"mpeg\", \"m4v\", }\n                        \n                      -- Compare extension against the table\n                        -- If matched, sequence = 0\n                       for i,j in ipairs(video) do \n                          if j == extension then\n                                sequence = 0\n                          end\n                       end\n\n                     print(\"Parsing comp path:\")\n                     fp = eyeon.parseFilename(composition:GetAttrs().COMPS_FileName)\n                       pathtable = eyeon.split(fp.FullPath, \"\\\\\")\n                        k = 0\n\n                       for i,j in ipairs(pathtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      pathdepth = k\n                     \n                      k = 0\n                     if elemtable[6] == pathtable[6] then\n                          oops = composition:AskUser(\"Asset is already local. Aborting.\", {})\n                         error(\"Already Local\")\n                      end\n                       \n                      dialog = composition:AskUser(\"\", { \n                         {\"Element Name\", \"Text\", Lines = 1, Default = elemname},\n                          {\"Sequence\", \"Checkbox\", Default = sequence},\n                         })\n                            \n                      path = \"\"\n                       \n                      for i,j in ipairs(elemtable) do\n                           path = path..j..\"\\\\\"\n                      end\n                       \n                      newlocation = \"\"\n                        \n                      for i=1, pathdepth-3 do\n                           newlocation = newlocation .. pathtable[i].. \"\\\\\"\n                      end\n                       \n                      newlocation = newlocation .. \"04_elements\\\\\"..dialog[\"Element Name\"]\n                        \n                      os.execute(\"md \"..newlocation)\n                      \n                      if dialog[\"Sequence\"] == 1 then\n                         print(\"Copying Sequence\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\\\" \\\"\"..newlocation..\"\\\\\\\"\")\n                     else\n                          print(\"Copying File\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\"..elfile..\"\\\" \\\"\"..newlocation..\"\\\"\")\n                       end\n                       \n                      tool.Clip = newlocation..\"\\\\\"..elfile\n                     print(\"Setting Trim In to \"..trimIn + 1)\n                        tool.ClipTimeStart = trimIn\n                       print(\"Setting Trim Out to \"..trimOut + 1)\n                      tool.ClipTimeEnd = trimOut\n                        ",
  2171.                     IC_ControlPage = 0,
  2172.                     LINKID_DataType = "Number",
  2173.                     INP_Default = 0,
  2174.                 }
  2175.             }
  2176.         },
  2177.         ChannelBooleans1_1 = ChannelBoolean {
  2178.             CustomData = {
  2179.                 Settings = {
  2180.                     [1] = {
  2181.                         Tools = ordered() {
  2182.                             ChannelBooleans1_1 = ChannelBoolean {
  2183.                                 Inputs = {
  2184.                                     Background = Input {
  2185.                                         SourceOp = "RsAmbientOcclusion_090_MonumentValley_Car_BTY_",
  2186.                                         Source = "Output"
  2187.                                     }
  2188.                                 },
  2189.                                 Name = "ChannelBooleans1_1",
  2190.                                 CtrlWZoom = false,
  2191.                                 ViewInfo = OperatorInfo { Pos = { 440, -313.5 } },
  2192.                                 CustomData = {
  2193.                                 }
  2194.                             }
  2195.                         }
  2196.                     },
  2197.                     [2] = {
  2198.                         Tools = ordered() {
  2199.                             ChannelBooleans1 = ChannelBoolean {
  2200.                                 Inputs = {
  2201.                                     Operation = Input { Value = 1 },
  2202.                                     ToAlpha = Input { Value = 4 }
  2203.                                 },
  2204.                                 CtrlWZoom = false,
  2205.                                 ViewInfo = OperatorInfo { Pos = { 1265, 181.5 } },
  2206.                                 CustomData = {
  2207.                                 }
  2208.                             }
  2209.                         }
  2210.                     },
  2211.                     [3] = {
  2212.                         Tools = ordered() {
  2213.                             ChannelBooleans1 = ChannelBoolean {
  2214.                                 Inputs = {
  2215.                                     Operation = Input { Value = 2 },
  2216.                                     ToAlpha = Input { Value = 4 }
  2217.                                 },
  2218.                                 CtrlWZoom = false,
  2219.                                 ViewInfo = OperatorInfo { Pos = { 1265, 181.5 } },
  2220.                                 CustomData = {
  2221.                                 }
  2222.                             }
  2223.                         }
  2224.                     },
  2225.                     [4] = {
  2226.                         Tools = ordered() {
  2227.                             ChannelBooleans1 = ChannelBoolean {
  2228.                                 Inputs = {
  2229.                                     Operation = Input { Value = 6 },
  2230.                                     ToAlpha = Input { Value = 4 }
  2231.                                 },
  2232.                                 CtrlWZoom = false,
  2233.                                 ViewInfo = OperatorInfo { Pos = { 1265, 181.5 } },
  2234.                                 CustomData = {
  2235.                                 }
  2236.                             }
  2237.                         }
  2238.                     },
  2239.                     [5] = {
  2240.                         Tools = ordered() {
  2241.                             ChannelBooleans1_1 = ChannelBoolean {
  2242.                                 Inputs = {
  2243.                                     ToRed = Input { Value = 3 },
  2244.                                     ToGreen = Input { Value = 3 },
  2245.                                     Operation = Input { Value = 7 },
  2246.                                     Background = Input {
  2247.                                         SourceOp = "RsAmbientOcclusion_090_MonumentValley_Car_BTY_",
  2248.                                         Source = "Output"
  2249.                                     },
  2250.                                     ToBlue = Input { Value = 3 },
  2251.                                     ToAlpha = Input { Value = 4 }
  2252.                                 },
  2253.                                 CtrlWZoom = false,
  2254.                                 ViewInfo = OperatorInfo { Pos = { 440, -313.5 } },
  2255.                                 CustomData = {
  2256.                                 }
  2257.                             }
  2258.                         }
  2259.                     }
  2260.                 }
  2261.             },
  2262.             Inputs = {
  2263.                 UseOpenCL = Input { Value = 0, },
  2264.                 Operation = Input { Value = 12, },
  2265.                 Background = Input {
  2266.                     SourceOp = "Merge2",
  2267.                     Source = "Output",
  2268.                 },
  2269.                 EffectMask = Input {
  2270.                     SourceOp = "Merge2_1",
  2271.                     Source = "Output",
  2272.                 },
  2273.             },
  2274.             ViewInfo = OperatorInfo { Pos = { 825, -742.5 } },
  2275.         },
  2276.         Crop1 = Crop {
  2277.             Inputs = {
  2278.                 UseOpenCL = Input { Value = 0, },
  2279.                 YOffset = Input { Value = 92, },
  2280.                 XSize = Input { Value = 1300, },
  2281.                 YSize = Input { Value = 1299, },
  2282.                 Input = Input {
  2283.                     SourceOp = "Loader1_1_2",
  2284.                     Source = "Output",
  2285.                 },
  2286.             },
  2287.             ViewInfo = OperatorInfo { Pos = { 495, -775.5 } },
  2288.         },
  2289.         ChannelBooleans1_1_2 = ChannelBoolean {
  2290.             CustomData = {
  2291.                 Settings = {
  2292.                     [1] = {
  2293.                         Tools = ordered() {
  2294.                             ChannelBooleans1_1 = ChannelBoolean {
  2295.                                 Inputs = {
  2296.                                     Background = Input {
  2297.                                         SourceOp = "RsAmbientOcclusion_090_MonumentValley_Car_BTY_",
  2298.                                         Source = "Output"
  2299.                                     }
  2300.                                 },
  2301.                                 Name = "ChannelBooleans1_1",
  2302.                                 CtrlWZoom = false,
  2303.                                 ViewInfo = OperatorInfo { Pos = { 440, -313.5 } },
  2304.                                 CustomData = {
  2305.                                 }
  2306.                             }
  2307.                         }
  2308.                     },
  2309.                     [2] = {
  2310.                         Tools = ordered() {
  2311.                             ChannelBooleans1 = ChannelBoolean {
  2312.                                 Inputs = {
  2313.                                     Operation = Input { Value = 1 },
  2314.                                     ToAlpha = Input { Value = 4 }
  2315.                                 },
  2316.                                 CtrlWZoom = false,
  2317.                                 ViewInfo = OperatorInfo { Pos = { 1265, 181.5 } },
  2318.                                 CustomData = {
  2319.                                 }
  2320.                             }
  2321.                         }
  2322.                     },
  2323.                     [3] = {
  2324.                         Tools = ordered() {
  2325.                             ChannelBooleans1 = ChannelBoolean {
  2326.                                 Inputs = {
  2327.                                     Operation = Input { Value = 2 },
  2328.                                     ToAlpha = Input { Value = 4 }
  2329.                                 },
  2330.                                 CtrlWZoom = false,
  2331.                                 ViewInfo = OperatorInfo { Pos = { 1265, 181.5 } },
  2332.                                 CustomData = {
  2333.                                 }
  2334.                             }
  2335.                         }
  2336.                     },
  2337.                     [4] = {
  2338.                         Tools = ordered() {
  2339.                             ChannelBooleans1 = ChannelBoolean {
  2340.                                 Inputs = {
  2341.                                     Operation = Input { Value = 6 },
  2342.                                     ToAlpha = Input { Value = 4 }
  2343.                                 },
  2344.                                 CtrlWZoom = false,
  2345.                                 ViewInfo = OperatorInfo { Pos = { 1265, 181.5 } },
  2346.                                 CustomData = {
  2347.                                 }
  2348.                             }
  2349.                         }
  2350.                     },
  2351.                     [5] = {
  2352.                         Tools = ordered() {
  2353.                             ChannelBooleans1_1 = ChannelBoolean {
  2354.                                 Inputs = {
  2355.                                     ToRed = Input { Value = 3 },
  2356.                                     ToGreen = Input { Value = 3 },
  2357.                                     Operation = Input { Value = 7 },
  2358.                                     Background = Input {
  2359.                                         SourceOp = "RsAmbientOcclusion_090_MonumentValley_Car_BTY_",
  2360.                                         Source = "Output"
  2361.                                     },
  2362.                                     ToBlue = Input { Value = 3 },
  2363.                                     ToAlpha = Input { Value = 4 }
  2364.                                 },
  2365.                                 CtrlWZoom = false,
  2366.                                 ViewInfo = OperatorInfo { Pos = { 440, -313.5 } },
  2367.                                 CustomData = {
  2368.                                 }
  2369.                             }
  2370.                         }
  2371.                     },
  2372.                 }
  2373.             },
  2374.             Inputs = {
  2375.                 Operation = Input { Value = 10, },
  2376.                 ToAlpha = Input { Value = 15, },
  2377.                 Background = Input {
  2378.                     SourceOp = "BrightnessContrast4",
  2379.                     Source = "Output",
  2380.                 },
  2381.             },
  2382.             ViewInfo = OperatorInfo { Pos = { -110, -610.5 } },
  2383.         },
  2384.         Loader1_1_2 = Loader {
  2385.             Clips = {
  2386.                 Clip {
  2387.                     ID = "Clip1",
  2388.                     Filename = "x:\\club\\s02\\201\\02_shots\\CLUB_201_081_010\\04_elements\\VictorianPattern\\vector-seamless-border-victorian-style-element-design-ornament-endless-pattern-can-be-used-decorating-wedding-37785110.jpg",
  2389.                     FormatID = "JpegFormat",
  2390.                     StartFrame = 37785110,
  2391.                     LengthSetManually = true,
  2392.                     TrimIn = 0,
  2393.                     TrimOut = 0,
  2394.                     ExtendFirst = 0,
  2395.                     ExtendLast = 0,
  2396.                     Loop = 0,
  2397.                     AspectMode = 1,
  2398.                     Depth = 1,
  2399.                     TimeCode = 0,
  2400.                     GlobalStart = 0,
  2401.                     GlobalEnd = 0
  2402.                 }
  2403.             },
  2404.             Inputs = {
  2405.                 Depth = Input { Value = 1, },
  2406.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  2407.             },
  2408.             ViewInfo = OperatorInfo { Pos = { 495, -808.5 } },
  2409.             UserControls = ordered() {
  2410.                 MakeLocal = {
  2411.                     LINKS_Name = "Make Local",
  2412.                     INPID_InputControl = "ButtonControl",
  2413.                     BTNCS_Execute = "                       -- Get clip path\n                      attrs=tool:GetAttrs()\n                     path = attrs.TOOLST_Clip_Name[1]\n                      elemtable = eyeon.split(path, \"\\\\\")\n                       \n                      -- Store current Trim points\n                      trimIn = attrs.TOOLIT_Clip_TrimIn[1]\n                      print(\"Trim In: \"..trimIn + 1)\n                      trimOut = attrs.TOOLIT_Clip_TrimOut[1]\n                        print(\"Trim Out: \"..trimOut + 1)\n                        \n                      sequence = 1\n                      \n                      -- Check for single frame element\n                     if trimOut == trimIn then\n                         sequence = 0 -- Will be used to pre-set the Sequence flag\n                     end\n                       \n                      print(\"Parsing element path:\")\n                      k = 0\n                     \n                      -- Find last entry in table\n                       for i,j in ipairs(elemtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      -- Initialize file extension\n                      extension = \"\"\n                      \n                      elemname = elemtable[k]\n                       elfile = elemtable[k]\n                     elemtable[k] = nil\n                        \n                      -- find last ., which should indicate file extension.\n                     i = 0\n                     while i do\n                            k = i\n                         i = string.find(elfile, \"%.\", i+1)\n                      end\n                       \n                      -- Scan and store file extension\n                      extension = string.sub(elfile, k+1)\n                       \n                      -- Table of recognized video extensions\n                       video = {\"mov\", \"avi\", \"mxf\", \"mkv\", \"vdr\", \"wav\", \"mp4\", \"qt\", \"3gp\", \"mpg\", \"mpeg\", \"m4v\", }\n                        \n                      -- Compare extension against the table\n                        -- If matched, sequence = 0\n                       for i,j in ipairs(video) do \n                          if j == extension then\n                                sequence = 0\n                          end\n                       end\n\n                     print(\"Parsing comp path:\")\n                     fp = eyeon.parseFilename(composition:GetAttrs().COMPS_FileName)\n                       pathtable = eyeon.split(fp.FullPath, \"\\\\\")\n                        k = 0\n\n                       for i,j in ipairs(pathtable) do\n                           print(j)\n                          k = i\n                     end\n                       \n                      pathdepth = k\n                     \n                      k = 0\n                     if elemtable[6] == pathtable[6] then\n                          oops = composition:AskUser(\"Asset is already local. Aborting.\", {})\n                         error(\"Already Local\")\n                      end\n                       \n                      dialog = composition:AskUser(\"\", { \n                         {\"Element Name\", \"Text\", Lines = 1, Default = elemname},\n                          {\"Sequence\", \"Checkbox\", Default = sequence},\n                         })\n                            \n                      path = \"\"\n                       \n                      for i,j in ipairs(elemtable) do\n                           path = path..j..\"\\\\\"\n                      end\n                       \n                      newlocation = \"\"\n                        \n                      for i=1, pathdepth-3 do\n                           newlocation = newlocation .. pathtable[i].. \"\\\\\"\n                      end\n                       \n                      newlocation = newlocation .. \"04_elements\\\\\"..dialog[\"Element Name\"]\n                        \n                      os.execute(\"md \"..newlocation)\n                      \n                      if dialog[\"Sequence\"] == 1 then\n                         print(\"Copying Sequence\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\\\" \\\"\"..newlocation..\"\\\\\\\"\")\n                     else\n                          print(\"Copying File\")\n                           os.execute(\"copy \\\"\"..path..\"\\\\\"..elfile..\"\\\" \\\"\"..newlocation..\"\\\"\")\n                       end\n                       \n                      tool.Clip = newlocation..\"\\\\\"..elfile\n                     print(\"Setting Trim In to \"..trimIn + 1)\n                        tool.ClipTimeStart = trimIn\n                       print(\"Setting Trim Out to \"..trimOut + 1)\n                      tool.ClipTimeEnd = trimOut\n                        ",
  2414.                     IC_ControlPage = 0,
  2415.                     LINKID_DataType = "Number",
  2416.                     INP_Default = 0,
  2417.                 }
  2418.             }
  2419.         },
  2420.         Transform1_1 = Transform {
  2421.             Inputs = {
  2422.                 UseOpenCL