#! C:/Program Files/Nuke15.0v3/nuke-15.0.3.dll -nx
version 15.0 v3
define_window_layout_xml {<?xml version="1.0" encoding="UTF-8"?>
<layout version="1.0">
    <window x="-1" y="-7" w="2560" h="1377" maximized="1" screen="0">
        <splitter orientation="1">
            <split size="1620"/>
            <splitter orientation="2">
                <split size="1010"/>
                <splitter orientation="1">
                    <split size="40"/>
                    <dock id="" activePageId="Toolbar.1">
                        <page id="Toolbar.1"/>
                    </dock>
                    <split size="1576"/>
                    <dock id="" activePageId="Viewer.1">
                        <page id="Viewer.1"/>
                    </dock>
                </splitter>
                <split size="325"/>
                <splitter orientation="1">
                    <split size="994"/>
                    <dock id="" activePageId="uk.co.thefoundry.waveformscope.1">
                        <page id="uk.co.thefoundry.scripteditor.1"/>
                        <page id="DopeSheet.1"/>
                        <page id="Curve Editor.1"/>
                        <page id="uk.co.thefoundry.waveformscope.1"/>
                        <page id="uk.co.thefoundry.histogram.1"/>
                    </dock>
                    <split size="622"/>
                    <dock id="" activePageId="uk.co.thefoundry.vectorscope.1">
                        <page id="Pixel Analyzer.1"/>
                        <page id="uk.co.thefoundry.vectorscope.1"/>
                    </dock>
                </splitter>
            </splitter>
            <split size="936"/>
            <splitter orientation="2">
                <split size="1339"/>
                <dock id="" hideTitles="1" activePageId="DAG.1" focus="true">
                    <page id="DAG.1"/>
                    <page id="DAG.2"/>
                </dock>
            </splitter>
        </splitter>
    </window>
</layout>
}
Root {
 inputs 0
 name "Z:/Biohazard Nextcloud 2/_Tools/Nuke/Biohazard/Master Template/Covert Template/Covert Template.nk"
 frame 5
 last_frame 1250
 format "4448 3096 0 0 4448 3096 1 "
 proxy_type scale
 proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)"
 colorManagement OCIO
 OCIO_config fn-nuke_studio-config-v1.0.0_aces-v1.3_ocio-v2.1
 defaultViewerLUT "OCIO LUTs"
 workingSpaceLUT ACES2065-1
 monitorLut "ACES 1.0 - SDR Video (Rec.1886 Rec.709 - Display)"
 monitorOutLUT "ACES 1.0 - SDR Video (Rec.1886 Rec.709 - Display)"
 int8Lut "Gamma 2.4 Rec.709 - Texture"
 int16Lut aces_interchange
 logLut "Gamma 1.8 Rec.709 - Texture"
 floatLut Gamma2.6
 set_by_user_template true
 addUserKnob {20 User}
}
BackdropNode {
 inputs 0
 name BackdropNode17
 tile_color 0x232323ff
 label <center>IN
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0xafafafff
 xpos -4852
 ypos -9259
 bdwidth 9925
 bdheight 7669
 z_order -4
}
BackdropNode {
 inputs 0
 name BackdropNode18
 tile_color 0x232323ff
 label <center>OUT
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0xafafafff
 xpos -4852
 ypos 21271
 bdwidth 9925
 bdheight 5169
 z_order -4
}
BackdropNode {
 inputs 0
 name " "
 tile_color 0x222222ff
 label <center>VIEWERS
 note_font "Arial Black"
 note_font_size 100
 note_font_color 0xaeaeaeff
 xpos -517
 ypos -10439
 bdwidth 1255
 bdheight 574
}
BackdropNode {
 inputs 0
 name " 1"
 tile_color 0x222222ff
 label <center>PIPELINE
 note_font "Arial Black"
 note_font_size 100
 note_font_color 0xaeaeaeff
 xpos -241
 ypos -11428
 bdwidth 703
 bdheight 631
}
BackdropNode {
 inputs 0
 name " 3"
 tile_color 0x878787ff
 label <center>NEGATIVE
 note_font "Arial Black"
 note_font_size 100
 note_font_color 0x3f3f3fff
 xpos -410
 ypos 19309
 bdwidth 1040
 bdheight 405
}
BackdropNode {
 inputs 0
 name " 4"
 tile_color 0x878787ff
 label "<center>FRAME RANGE"
 note_font "Arial Black"
 note_font_size 100
 note_font_color 0x3f3f3fff
 xpos -409
 ypos 19729
 bdwidth 1038
 bdheight 429
}
BackdropNode {
 inputs 0
 name " 5"
 tile_color 0x769fb4ff
 label <center>METADATA
 note_font "Arial Black"
 note_font_size 88
 note_font_color 0x2e566fff
 xpos -516
 ypos 18374
 bdwidth 1252
 bdheight 499
}
BackdropNode {
 inputs 0
 name BackdropNode1
 tile_color 0x769fb4ff
 gl_color 0x446f84ff
 label <center>PLATES
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x2f5770ff
 xpos -1846
 ypos -6093
 bdwidth 4133
 bdheight 3882
}
BackdropNode {
 inputs 0
 name BackdropNode10
 tile_color 0xbababaff
 label "<center>MASTER FG"
 note_font "Century Gothic Bold"
 note_font_size 60
 note_font_color 0x3b3b3bff
 xpos -916
 ypos -5516
 bdwidth 293
 bdheight 328
}
BackdropNode {
 inputs 0
 name BackdropNode11
 tile_color 0xde7c76ff
 label <center>CG
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x631414ff
 xpos -4243
 ypos -8544
 bdwidth 2767
 bdheight 1776
}
BackdropNode {
 inputs 0
 name BackdropNode12
 tile_color 0x5eac60ff
 label <center>ROTO
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x254222ff
 xpos -1273
 ypos -8544
 bdwidth 2767
 bdheight 1776
}
BackdropNode {
 inputs 0
 name BackdropNode13
 tile_color 0x7987d9ff
 label "<center>MISC ASSETS"
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x293f63ff
 xpos 1697
 ypos -8544
 bdwidth 2767
 bdheight 1776
}
BackdropNode {
 inputs 0
 name BackdropNode14
 tile_color 0xbababaff
 label "<center>MASTER BG"
 note_font "Century Gothic Bold"
 note_font_size 60
 note_font_color 0x3b3b3bff
 xpos 844
 ypos -5516
 bdwidth 293
 bdheight 328
}
BackdropNode {
 inputs 0
 name BackdropNode15
 tile_color 0x4d7a89ff
 label "<center>BG DEGRAIN"
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x234154ff
 xpos 514
 ypos -4524
 bdwidth 952
 bdheight 1416
}
BackdropNode {
 inputs 0
 name BackdropNode16
 tile_color 0xb9babaff
 label <center>REF
 note_font "Century Gothic Bold"
 note_font_size 60
 note_font_color 0x3b3b3bff
 xpos -429
 ypos -5506
 bdwidth 1078
 bdheight 547
}
BackdropNode {
 inputs 0
 name BackdropNode19
 tile_color 0x5c7f3dff
 label <center>MATTES
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0xacd68bff
 xpos 2324
 ypos 22619
 bdwidth 1292
 bdheight 2665
}
BackdropNode {
 inputs 0
 name BackdropNode2
 tile_color 0x4d7a89ff
 label "<center>FG DEGRAIN"
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x234154ff
 xpos -1246
 ypos -4524
 bdwidth 952
 bdheight 1416
}
BackdropNode {
 inputs 0
 name BackdropNode20
 tile_color 0x7f7f7fff
 label <center>QC
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x363636ff
 xpos -3506
 ypos 22619
 bdwidth 1292
 bdheight 2665
}
BackdropNode {
 inputs 0
 name BackdropNode25
 tile_color 0xb9b9b9ff
 label <center>TRANSFORMS
 note_font "Arial Black"
 note_font_size 96
 note_font_color 0x3b3b3bff
 xpos -3151
 ypos -6110
 bdwidth 1242
 bdheight 988
}
BackdropNode {
 inputs 0
 name BackdropNode3
 tile_color 0x99b860ff
 label <center>TRACK
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0xeeff6dff
 xpos -1434
 ypos -270
 bdwidth 3088
 bdheight 1548
}
BackdropNode {
 inputs 0
 name BackdropNode4
 tile_color 0x5d9349ff
 label <center>CLEANUP
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x74ff6dff
 xpos -1437
 ypos 1858
 bdwidth 3095
 bdheight 3435
}
BackdropNode {
 inputs 0
 name BackdropNode5
 tile_color 0x7f7f7fff
 label <center>ASSET
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x2f2f2fff
 xpos -6060
 ypos 5948
 bdwidth 5741
 bdheight 4999
}
BackdropNode {
 inputs 0
 name BackdropNode6
 tile_color 0x4d7a89ff
 label "<center>PLATE BACK OVER"
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x234154ff
 xpos 780
 ypos 7520
 bdwidth 5041
 bdheight 5599
}
BackdropNode {
 inputs 0
 name BackdropNode7
 tile_color 0x689f38ff
 label "<center>MASTER OUTPUT"
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x152f00ff
 xpos -1776
 ypos 22624
 bdwidth 3773
 bdheight 2656
}
BackdropNode {
 inputs 0
 name BackdropNode8
 tile_color 0x6e7aa2ff
 label <center>REGRAIN
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x393f54ff
 xpos -732
 ypos 17225
 bdwidth 1685
 bdheight 733
}
BackdropNode {
 inputs 0
 name BackdropNode9
 tile_color 0x9f8ad5ff
 label "<center>LENS FX"
 note_font "Century Gothic Bold"
 note_font_size 200
 note_font_color 0x4b4675ff
 xpos -1198
 ypos 13927
 bdwidth 2617
 bdheight 1761
}
BackdropNode {
 inputs 0
 name " 6"
 tile_color 0x73af81ff
 label <center>log2lin
 note_font "Arial Black"
 note_font_size 100
 note_font_color 0x344f38ff
 xpos -2626
 ypos -5694
 bdwidth 407
 bdheight 300
 z_order 1
}
BackdropNode {
 inputs 0
 name " 7"
 tile_color 0xa28bd3ff
 label <center>lin2log
 note_font "Arial Black"
 note_font_size 100
 note_font_color 0x4e4366ff
 xpos -3063
 ypos -5694
 bdwidth 407
 bdheight 300
 z_order 1
}
BackdropNode {
 inputs 0
 name BackdropNode21
 tile_color 0xaaaaaaff
 label <center>EXR
 note_font "Century Gothic Bold"
 note_font_size 100
 note_font_color 0xffffffff
 xpos -1395
 ypos 23699
 bdwidth 590
 bdheight 841
 z_order 3
}
BackdropNode {
 inputs 0
 name BackdropNode22
 tile_color 0xaaaaaaff
 label "<center>QT Dailies"
 note_font "Century Gothic Bold"
 note_font_size 100
 note_font_color 0xffffffff
 xpos 1033
 ypos 23700
 bdwidth 795
 bdheight 840
 z_order 3
}
BackdropNode {
 inputs 0
 name BackdropNode23
 tile_color 0xaaaaaaff
 label "<center>QT LOG"
 note_font "Century Gothic Bold"
 note_font_size 100
 note_font_color 0xffffffff
 xpos -515
 ypos 23723
 bdwidth 590
 bdheight 841
 z_order 3
}
BackdropNode {
 inputs 0
 name BackdropNode30
 tile_color 0xaaaaaaff
 label "<center>QT Rec.709"
 note_font "Century Gothic Bold"
 note_font_size 100
 note_font_color 0xffffffff
 xpos 255
 ypos 23723
 bdwidth 590
 bdheight 841
 z_order 3
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard7
 xpos -810
 ypos -5289
}
AppendClip {
 firstFrame {{root.first_frame}}
 meta_from_first false
 time ""
 name AppendClip1
 xpos -810
 ypos -5097
}
OCIODisplay {
 colorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 invert true
 name INVERSE_DISPLAY_TRANSFORM2
 xpos -810
 ypos -5025
 addUserKnob {20 User}
 addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
NoOp {
 name SET_PROJECT1
 tile_color 0x8a39dbff
 note_font "Verdana Bold"
 note_font_size 24
 xpos -810
 ypos -4912
 addUserKnob {20 User}
 addUserKnob {22 set_range l "SET RANGE" t "Sets the project's frame range to the input's first and last frames.\nThe range will automatically reset to start at frame 1001." T "def remap_range(input_start, input_end, desired_start=1001):\n\tinput_start = int(input_start)\n\tinput_end = int(input_end)\n\toffset = desired_start - input_start\n\tremapped_range = range(input_start + offset, input_end + offset + 1)\n\n\treturn list(remapped_range)\n\nrange_first = 1001\nrange_last = 1250\n\nif nuke.thisNode().input(0):\n\tremapped_range = remap_range(nuke.thisNode().firstFrame(), nuke.thisNode().lastFrame())\n\t\t\n\trange_first = remapped_range\[0]\n\trange_last = \tremapped_range\[-1]\n\n\tnuke.root().knob(\"first_frame\").setValue(range_first)\n\tnuke.root().knob(\"last_frame\").setValue(range_last)\n\n\tnuke.frame(range_first)" +STARTLINE}
 addUserKnob {22 reset_range l RESET t "Resets the project's frame range to 1001-1250." -STARTLINE T "range_first = 1001\nrange_last = 1250\n\nnuke.root().knob(\"first_frame\").setValue(range_first)\nnuke.root().knob(\"last_frame\").setValue(range_last)\n\nnuke.frame(range_first)"}
 addUserKnob {22 set_format l "SET FORMAT" t "Matches the project's format with the input's format." T "if nuke.thisNode().input(0):\n\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(0).name())\n\ttopnode = nuke.toNode(topnode_name)\n\n\tif topnode:\n\t\tif topnode.knob(\"format\"):\n\t\t\tformat = topnode.knob(\"format\").value()\n\t\t\twidth = format.width()\n\t\t\theight = format.height()\n\t\t\taspect = format.pixelAspect()\n\t\t\tformat_name = f\"\{width\}x\{height\}\"\n\n\t\t\texisting_formats = \[f.name() for f in nuke.formats()]\n\n\t\t\tif format_name not in existing_formats:\n\t\t\t\tnew_format = nuke.addFormat(f\"\{width\} \{height\} \{aspect\} \{format_name\}\")\n\n\t\t\tnuke.root().knob(\"format\").setValue(format_name)\n\t\telse:\n\t\t\tprint(\"Not\")" +STARTLINE}
 addUserKnob {22 reset_format l RESET t "Resets the project's format to \"UHD_4K\"." -STARTLINE T "format_name = \"UHD_4K\"\nexisting_formats = \[f.name() for f in nuke.formats()]\n\nif format_name not in existing_formats:\n\tnew_format = nuke.addFormat(f\"\{3840\} \{2160\} \{1.0\} \{format_name\}\")\n\nnuke.root().knob(\"format\").setValue(format_name)"}
}
Dot {
 name Dot4
 xpos -788
 ypos -4770
}
set Naecde000 [stack 0]
ViewMetaData {
 name ViewMetaData1
 xpos -590
 ypos -4761
}
Dot {
 inputs 0
 name Dot21
 xpos 202
 ypos -7338
}
NoOp {
 name Anchor_d807bb6e7
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 180
 ypos -7238
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title roto_mb
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto_mb}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_d807bb6e7}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naecdec00 [stack 0]
PostageStamp {
 name Stamp5
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 180
 ypos -7166
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title roto_mb
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto_mb}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_d807bb6e7
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
 inputs 0
 name Dot20
 xpos 3062
 ypos -7338
}
NoOp {
 name Anchor_1e04d64fa2
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 3040
 ypos -7238
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title assets
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T assets}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_1e04d64fa2}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naecdf800 [stack 0]
PostageStamp {
 name Stamp7
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 3040
 ypos -7166
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title assets
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T assets}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>MISC ASSETS</i>"}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_1e04d64fa2
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
 inputs 0
 name Dot18
 xpos -2878
 ypos -7338
}
NoOp {
 name Anchor_21fbe55a0b
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos -2900
 ypos -7238
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title cg
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T cg}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_21fbe55a0b}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naed06400 [stack 0]
PostageStamp {
 name Stamp8
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -2900
 ypos -7166
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title cg
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T cg}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CG</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_21fbe55a0b
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naecde000
Dot {
 name Dot1
 xpos -788
 ypos -3978
}
OFXcom.absoft.neatvideo5_v5 {
 DNP ""
 ProfileName "no profile"
 NFP ""
 PresetName default
 ParamsHash1 0
 ParamsHash2 0
 ParamsHash3 0
 name "Reduce Noise v5_1"
 xpos -810
 ypos -3873
}
Write {
 file "\[getenv CVRT_SHOT_ROOT]/Input/plates/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn.%04d.exr"
 file_type exr
 compression "Zip (16 scanlines)"
 first_part rgba
 colorspace Gamma2.6
 create_directories true
 checkHashOnRead false
 version 44
 ocioColorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 name Write6
 label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
 xpos -810
 ypos -3819
}
Dot {
 name Dot7
 xpos -788
 ypos -3474
}
NoOp {
 name Anchor_7da7cf1af
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos -810
 ypos -3374
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_dn}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_7da7cf1af}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naebbc000 [stack 0]
PostageStamp {
 name Stamp13
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 70
 ypos 130
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_7da7cf1af
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
 name Dot2
 xpos 92
 ypos 414
}
set Naebbc800 [stack 0]
Dot {
 name Dot23
 xpos -678
 ypos 414
}
push $Naebbc800
Dot {
 name Dot22
 xpos 862
 ypos 414
}
push $Naecdf800
PostageStamp {
 name Stamp9
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -3120
 ypos 6514
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title assets
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T assets}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>MISC ASSETS</i>"}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_1e04d64fa2
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naed06400
PostageStamp {
 name Stamp10
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -3340
 ypos 6514
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title cg
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T cg}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CG</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_21fbe55a0b
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard6
 xpos 950
 ypos -5313
}
AppendClip {
 firstFrame {{root.first_frame}}
 time ""
 name AppendClip2
 xpos 950
 ypos -5097
}
OCIODisplay {
 colorspace ACEScg
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 invert true
 name INVERSE_DISPLAY_TRANSFORM3
 xpos 950
 ypos -5001
 addUserKnob {20 User}
 addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
NoOp {
 name SET_PROJECT2
 tile_color 0x8a39dbff
 note_font "Verdana Bold"
 note_font_size 24
 xpos 950
 ypos -4912
 addUserKnob {20 User}
 addUserKnob {22 set_range l "SET RANGE" t "Sets the project's frame range to the input's first and last frames.\nThe range will automatically reset to start at frame 1001." T "def remap_range(input_start, input_end, desired_start=1001):\n\tinput_start = int(input_start)\n\tinput_end = int(input_end)\n\toffset = desired_start - input_start\n\tremapped_range = range(input_start + offset, input_end + offset + 1)\n\n\treturn list(remapped_range)\n\nrange_first = 1001\nrange_last = 1250\n\nif nuke.thisNode().input(0):\n\tremapped_range = remap_range(nuke.thisNode().firstFrame(), nuke.thisNode().lastFrame())\n\t\t\n\trange_first = remapped_range\[0]\n\trange_last = \tremapped_range\[-1]\n\n\tnuke.root().knob(\"first_frame\").setValue(range_first)\n\tnuke.root().knob(\"last_frame\").setValue(range_last)\n\n\tnuke.frame(range_first)" +STARTLINE}
 addUserKnob {22 reset_range l RESET t "Resets the project's frame range to 1001-1250." -STARTLINE T "range_first = 1001\nrange_last = 1250\n\nnuke.root().knob(\"first_frame\").setValue(range_first)\nnuke.root().knob(\"last_frame\").setValue(range_last)\n\nnuke.frame(range_first)"}
 addUserKnob {22 set_format l "SET FORMAT" t "Matches the project's format with the input's format." T "if nuke.thisNode().input(0):\n\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(0).name())\n\ttopnode = nuke.toNode(topnode_name)\n\n\tif topnode:\n\t\tif topnode.knob(\"format\"):\n\t\t\tformat = topnode.knob(\"format\").value()\n\t\t\twidth = format.width()\n\t\t\theight = format.height()\n\t\t\taspect = format.pixelAspect()\n\t\t\tformat_name = f\"\{width\}x\{height\}\"\n\n\t\t\texisting_formats = \[f.name() for f in nuke.formats()]\n\n\t\t\tif format_name not in existing_formats:\n\t\t\t\tnew_format = nuke.addFormat(f\"\{width\} \{height\} \{aspect\} \{format_name\}\")\n\n\t\t\tnuke.root().knob(\"format\").setValue(format_name)\n\t\telse:\n\t\t\tprint(\"Not\")" +STARTLINE}
 addUserKnob {22 reset_format l RESET t "Resets the project's format to \"UHD_4K\"." -STARTLINE T "format_name = \"UHD_4K\"\nexisting_formats = \[f.name() for f in nuke.formats()]\n\nif format_name not in existing_formats:\n\tnew_format = nuke.addFormat(f\"\{3840\} \{2160\} \{1.0\} \{format_name\}\")\n\nnuke.root().knob(\"format\").setValue(format_name)"}
}
Dot {
 name Dot24
 xpos 972
 ypos -4770
}
set Naebeb000 [stack 0]
ViewMetaData {
 name ViewMetaData2
 xpos 1170
 ypos -4761
}
push $Naebeb000
NoOp {
 name Anchor_2d7fd1
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 730
 ypos -4766
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title BG_plate
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T plate}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_2d7fd1}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
 name Stamp14
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 730
 ypos -4718
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title BG_plate
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T BG_plate}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_2d7fd1
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebeb000
Dot {
 name Dot25
 xpos 972
 ypos -3978
}
OFXcom.absoft.neatvideo5_v5 {
 DNP ""
 ProfileName "no profile"
 NFP ""
 PresetName default
 ParamsHash1 0
 ParamsHash2 0
 ParamsHash3 0
 name "Reduce Noise v5_2"
 xpos 950
 ypos -3873
}
Write {
 file "\[getenv CVRT_SHOT_ROOT]/Input/plates/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn/\[string range \[file tail \[value \[topnode].file]] 0 \[expr \{\[string first \".\" \[file tail \[value \[topnode].file]]] - 1\}]]_dn.%04d.exr"
 file_type exr
 compression "Zip (16 scanlines)"
 first_part rgba
 create_directories true
 checkHashOnRead false
 version 44
 in_colorspace ACES2065-1
 out_colorspace scene_linear
 ocioColorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 name Write3
 label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
 xpos 950
 ypos -3819
}
Dot {
 name Dot26
 xpos 972
 ypos -3474
}
NoOp {
 name Anchor_7da7cf1af1
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 950
 ypos -3374
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title BG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T dn}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_7da7cf1af1}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
 name Stamp15
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 950
 ypos -3326
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title BG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T BG_degrained}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_7da7cf1af1
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebbc000
PostageStamp {
 name Stamp2
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -810
 ypos -3326
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE,<center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_7da7cf1af
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard3
 xpos 400
 ypos -5289
}
NoOp {
 name Anchor_3da2192eb2
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 400
 ypos -5150
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title ref_3
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb2}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
 name Stamp18
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 400
 ypos -5102
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title ref_3
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_3}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_3da2192eb2
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naecde000
NoOp {
 name Anchor_2d7fd50644
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos -1030
 ypos -4766
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_plate
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_2d7fd50644}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Na70e8c00 [stack 0]
PostageStamp {
 name Stamp1
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -1030
 ypos -4718
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_plate
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATES,<center>IN</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_2d7fd50644
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebbc000
PostageStamp {
 name Stamp21
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 70
 ypos 1666
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_7da7cf1af
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
 name Dot3
 xpos 92
 ypos 2190
}
NoOp {
 name Anchor_feb4243e5
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 70
 ypos 5074
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_cleanup
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_cleanup}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_feb4243e5}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Na70e9c00 [stack 0]
PostageStamp {
 name Stamp23
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 70
 ypos 5122
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_cleanup
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_cleanup}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CLEANUP</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_feb4243e5
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na70e8c00
PostageStamp {
 name Stamp22
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -260
 ypos 18634
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_plate
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_2d7fd50644
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naebbc000
PostageStamp {
 name Stamp6
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 400
 ypos 17722
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_7da7cf1af
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na70e8c00
PostageStamp {
 name Stamp3
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -260
 ypos 17722
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_plate
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_2d7fd50644
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naecdec00
PostageStamp {
 name Stamp12
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 4690
 ypos 9850
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title roto_mb
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto_mb}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_d807bb6e7
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
 name Dot48
 xpos 4712
 ypos 10182
}
Dot {
 inputs 0
 name Dot19
 xpos -18
 ypos -7338
}
NoOp {
 name Anchor_232b89ffe3
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos -40
 ypos -7238
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title roto
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_232b89ffe3}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naea49c00 [stack 0]
PostageStamp {
 name Stamp11
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 4250
 ypos 9850
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title roto
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_232b89ffe3
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Switch {
 inputs 2
 which 1
 name Switch2
 xpos 4250
 ypos 10191
}
Dot {
 name Dot31
 xpos 4272
 ypos 11046
}
push $Na70e9c00
PostageStamp {
 name Stamp28
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 70
 ypos 7413
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_cleanup
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_cleanup}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>CLEANUP</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_feb4243e5
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Dot {
 name Dot9
 xpos 92
 ypos 8262
}
set Naea83000 [stack 0]
Dot {
 name Dot10
 xpos 3282
 ypos 8262
}
Copy {
 inputs 2
 from0 rgba.alpha
 to0 rgba.alpha
 name Copy1
 xpos 3260
 ypos 11049
}
Premult {
 name Premult1
 xpos 3260
 ypos 11127
}
Dot {
 name Dot11
 xpos 3282
 ypos 12462
}
Dot {
 inputs 0
 name Dot6
 xpos -3208
 ypos 6726
}
Dot {
 name Dot5
 xpos -3208
 ypos 10254
}
push $Naea83000
Merge2 {
 inputs 2
 name Merge1
 xpos 70
 ypos 10263
}
Merge2 {
 inputs 2
 name Merge2
 xpos 70
 ypos 12471
 disable true
}
Reformat {
 name Reformat1
 xpos 70
 ypos 16503
}
Remove {
 operation keep
 channels rgb
 name Remove1
 xpos 70
 ypos 16527
}
NoOp {
 name Anchor_12ba88c423
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 70
 ypos 16906
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MAIN_COMP_DEGRAINED
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_DEGRAINED}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_12ba88c423}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Na74fa000 [stack 0]
PostageStamp {
 name Stamp31
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 70
 ypos 16954
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MAIN_COMP_DEGRAINED
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP_DEGRAINED}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." +HIDDEN T " "}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_12ba88c423
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Group {
 inputs 3
 name DasGrain
 help "DasGrain makes regraining as simple as clicking a few buttons.\n\nFollow the steps in the Help tab and you'll have a perfect regrain in no time!"
 onCreate "import random\n\ntestimonials = \[\n    \"Such an elegant solution, love it!\",\n    \"Your gizmo is beyond expectation\",\n    \"Totally awesome!\",\n    \"DasGrain is officially the best thing ever\",\n    \"It's really working!\",\n    \"Das bringt Tr&auml;nen in meine Augen\",\n    \"DasGrain is the salvation we waited for\",\n    \"I save a lot of time, and definitely my nerves :)\",\n    \"It's alright\",\n    \"My new favourite node, thanks!<br>Having said that, ...\"\n    ]\n\nnode = nuke.thisNode()\nnode\['testimonial'].setValue('<br><br><br><i>&laquo;%s&raquo;</i><br>&mdash; anonymous<br><br>' % random.choice(testimonials))\nnode\['box'].setFlag(nuke.NO_ANIMATION)"
 knobChanged "n = nuke.thisNode()\nk = nuke.thisKnob()\n\nif k.name() == 'box':\n    this_frame = nuke.frame()\n    n\['sample_frame'].setValue(this_frame)\n\nif k.name() == 'scatter':\n    n\['divider04'].setVisible(k.value() == False)\n    n\['divider05'].setVisible(k.value() == True)"
 tile_color 0x7f7f7fff
 xpos 70
 ypos 17721
 addUserKnob {20 DasGrain_tab l DasGrain}
 addUserKnob {41 output t "<strong>regrained comp</strong> it is what it sais\n<strong>plate grain</strong> plate minus degrained plate\n<strong>normalised grain</strong> check if the normalization worked. It should be as even as possible. This is what you want to output if you want to prerender a grain plate. Later you can plug it into the <i>external grain</i> input of another DasGrain\n<strong>adapted grain</strong> check if the adaptation worked. Output this if you want to further manipulate the grain (who knows what the sup is gonna come up with...). After, simply plus it to your comp (at that point the comp has to be in the <i>camera</i> colorspace, as set in the <i>Analyze</i> tab).\n<strong>grain QC</strong> check if voronoi seams are visible (&#8594; edgeblend), or the scattered grain looks different to the original plate grain (&#8594; maybe bad sample area or wrong luminance degrain amount)" T Output.output}
 addUserKnob {4 meta l "metadata from" t "Chances are you want to use the metadata from the plate, but who am I to assume :)" M {COMP PLATE}}
 addUserKnob {26 spacer01_1 l " " T " "}
 addUserKnob {20 GrainGroupBegin l "" +STARTLINE n -2}
 addUserKnob {20 Analyze_tab l Analyze}
 addUserKnob {26 text l <strong>Colorspace}
 addUserKnob {41 project_colorspace l project t "set this to the project color space" T OCIOColorSpace1.in_colorspace}
 addUserKnob {22 python_button l "What's this all about?" -STARTLINE T "nuke.message(\"Regraining in other color spaces than the camera native linear space can lead to unexpected behaviour.\\n\\nFor example converting Alexa plates to ACEScg might introduce negative values due to ACEScg's smaller gamut. In that case converting back to ARRI Linear ALEXA Wide Gamut will probably help.\\nJust set <i>project</i> to ACEScg and <i>camera</i> to ARRI Linear ALEXA Wide Gamut.\\n\\nThis might be transferable to other cameras, but I've only tested with Alexas.\\n---------\\nBypass by setting both knobs to the same value.\")"}
 addUserKnob {41 camera_colorspace l camera t "set this to the camera native linear space" T OCIOColorSpace1.out_colorspace}
 addUserKnob {26 text_2 l " " T " "}
 addUserKnob {26 level l "<strong>Degrain amount"}
 addUserKnob {78 luminance t "Leave this at 1 if you're working on a completely degrained plate.\n\nIn case you decided to leave some luminance grain in the degrained plate (use the DegrainHelper node for this!), set this to the same value as in the DegrainHelper in order to compensate.\n\nIf the luminance degrain amount was set to 0.8, this needs to be set to 0.8 as well.\n\nYou need to select a mask of all elements that cover the plate, otherwise the grain of whole comp will be too strong " n 1}
 luminance 1
 addUserKnob {26 divider01 l " "}
 addUserKnob {41 degrain_amount_mask l "degrain amount mask" t "Use this channel from the mask input to specify in what area of the comp the missing luminance grain needs to be compensated." T Multiply1.maskChannelMask}
 addUserKnob {41 invert_mask l invert -STARTLINE T Multiply1.invert_mask}
 addUserKnob {26 spacer02 l " " T " "}
 addUserKnob {26 divider02 l <strong>Analyze}
 addUserKnob {3 number_of_frames l "number of frames" t "Set the number of sample frames to be spread across the input range.\n\nMore frames lead to higher accuracy.\n\nIf there are particularly bright or dark frames, set them manually in the knob below to make sure they are part of the analysis.\n\nIf you want to set all sample frames manually, set this to 0 and add the frames in the knob below."}
 number_of_frames 10
 addUserKnob {1 additional_frames l "additional frames" t "Set additional frames like this:\n\n1001,1020,1053 (single frames)\n1020-1040 (frame ranges)\n1020-1040x4 (frame ranges with step)"}
 addUserKnob {3 sample_count l "sample count" t "The samples are spread across the sample range (which gets calculated automatically) based on the AlexaV3LogC curve. This results in more samples in the dark areas and less samples in the brights.\n\nMore samples lead to a more detailed response curve (while the accuracy is limited by the quality of the degrain)."}
 sample_count 20
 addUserKnob {22 analyze l Analyze t "this is where the magic happens" T "import base64\nthis = nuke.thisNode()\n\n\ndef _sample_count(this):\n    \"\"\"returns the sample count\"\"\"\n\n    sample_count = int(this\['sample_count'].value())\n\n    if sample_count <= 0:\n        raise RuntimeError('Enter a sample count greater than 0')\n\n    else:\n        return sample_count\n\n\ndef _generate_frame_list(this):\n    \"\"\"converts the frames submitted by the user into a list\"\"\"\n\n    frame_list = \[]\n    number_of_frames = int(this\['number_of_frames'].value())\n    additional_frames = this\['additional_frames'].value()\n\n    if number_of_frames < 1 and additional_frames is '':\n        raise RuntimeError('Either set the number of frames > 0\\nor define additional frames')\n\n    first_frame = max(this.input(1).firstFrame(), this.input(2).firstFrame())\n    last_frame = min(this.input(1).lastFrame(), this.input(2).lastFrame())\n\n    if number_of_frames > 0:\n        distance = (last_frame - first_frame) / (number_of_frames)\n        frame = first_frame + distance / 2\n\n        for x in range(number_of_frames):\n            int_frame = int(round(frame))\n            if int_frame not in frame_list:\n                frame_list.append(int_frame)\n\n            frame += distance\n\n    frange = nuke.FrameRanges(additional_frames.split(','))\n\n    for r in frange:\n        for f in r:\n            if f >= first_frame and f <= last_frame:\n                if f not in frame_list:\n                    frame_list.append(f)\n\n    frame_list.sort()\n\n    return frame_list\n\n\ndef _setup_for_multiframe(frame_list):\n    \"\"\" arranges all sample frames next to each other, starting at frame 0\n    and sets the frame number knob of the FrameBlend node\"\"\"\n\n    time_warp = nuke.toNode('TimeWarp1')\n    time_warp\['lookup'].clearAnimated()\n    time_warp\['lookup'].setAnimated()\n    anim_list = \[]\n\n    for n, frame in enumerate(frame_list):\n        anim_list.append(nuke.AnimationKey(n, frame))\n\n    anim = time_warp\['lookup'].animation(0)\n    anim.addKey(anim_list)\n\n    frame_blend = nuke.toNode('FrameBlend1')\n    frame_blend\['endframe'].setValue(len(frame_list)-1)\n\n\ndef _generate_sample_list(sample_count, sample_range, sample_radius):\n    \"\"\"generate a list of sample values spread equally between the\n    min and max values of the sample range\"\"\"\n\n    sample_list = \[]\n\n    for item in range(0, sample_count):\n        sample_list.append(float(item) / sample_count * (sample_range\[1] - sample_range\[0]) + sample_range\[0] + sample_radius)\n\n    return sample_list\n\n\ndef _get_sample_range(channel, channel_list, frame_list):\n    \"\"\" samples the minimum and maximum values of the given frame range and\n    sets the sample range to those values\"\"\"\n\n    curve_tool = nuke.toNode('CurveTool_Range')\n    min_knob = curve_tool\['minlumapixvalue']\n    max_knob = curve_tool\['maxlumapixvalue']\n\n    min_knob.setAnimated()\n    max_knob.setAnimated()\n\n    curve_tool\['channels'].setValue(channel)\n\n    nuke.execute(curve_tool, nuke.FrameRanges(frame_list))\n\n    index = channel_list.index(channel)\n    min_list = \[key.y for key in min_knob.animation(index).keys()]\n    max_list = \[key.y for key in max_knob.animation(index).keys()]\n\n    min_value = min(min_list)\n    max_value = max(max_list)\n\n    min_knob.clearAnimated()\n    max_knob.clearAnimated()\n    curve_tool\['minlumapixdata'].clearAnimated()\n    curve_tool\['maxlumapixdata'].clearAnimated()\n\n    return \[min_value, max_value]\n\n\ndef _sample_it(keyer, curve_tool, sample, sample_radius):\n    \"\"\"analyze the grain level per channel and sample value in the sample range\"\"\"\n\n    keyer\['temp_expr0'].setValue(str(sample - sample_radius))\n    keyer\['temp_expr1'].setValue(str(sample + sample_radius))\n\n    intensity_knob = curve_tool\['intensitydata']\n    intensity_knob.clearAnimated()\n    intensity_knob.setAnimated()\n\n    nuke.execute(curve_tool, nuke.frame(), nuke.frame())\n    sample_values = intensity_knob.value()\n    intensity_knob.clearAnimated()\n\n    return sample_values\n\n\ndef check_inputs(this):\n    if this.input(1) is None:\n        raise RuntimeError('no plate connected')\n\n    if this.input(2) is None:\n        raise RuntimeError('no degrained plate connected')\n\n    def format_tuple(node):\n        return node.format().width(), node.format().height(), node.format().pixelAspect()\n\n    if format_tuple(this.input(1)) != format_tuple(this.input(2)):\n        raise RuntimeError(\"Format missmatch: Make sure the formats of plate and degrained plate match.\")\n\n\ndef start(this):\n    \"\"\"let's do this!\"\"\"\n\n    check_inputs(this)\n\n    with this:\n        frame_list = _generate_frame_list(this)\n        _setup_for_multiframe(frame_list)\n        sample_count = _sample_count(this)\n\n        blank = base64.b64decode('cmVkIHtjdXJ2ZX0KZ3JlZW4ge2N1cnZlfQpibHVlIHtjdXJ2ZX0=').decode('ascii')\n\n        lut = nuke.toNode('Sampler1')\['lut']\n        lut.fromScript(blank)\n\n        channel_list = \['red', 'green', 'blue']\n\n        keyer = nuke.toNode('Expression2')\n        copy = nuke.toNode('Copy2')\n\n        curve_tool = nuke.toNode('CurveTool')\n        pixel = curve_tool\['ROI'].value()\[2] * curve_tool\['ROI'].value()\[3]\n\n        task = nuke.ProgressTask('Analysing...')\n        step = 100.0 / 3 / sample_count\n        progress = step\n\n        time_warp = nuke.toNode('TimeWarp1')\n        frame_blend = nuke.toNode('FrameBlend1')\n\n        time_warp\['disable'].setValue(False)\n        frame_blend\['disable'].setValue(False)\n\n        for channel in channel_list:\n            task.setMessage('\{\} range'.format(channel))\n\n            copy\['from0'].setValue('rgba.\{\}'.format(channel))\n\n            sample_range = _get_sample_range(channel, channel_list, frame_list)\n            sample_radius = (sample_range\[1] - sample_range\[0]) / sample_count / 2\n            sample_list = _generate_sample_list(sample_count, sample_range, sample_radius)\n\n            for sample in sample_list:\n                if task.isCancelled():\n                    return\n\n                task.setProgress(int(progress))\n\n                sample_values = _sample_it(keyer, curve_tool, sample, sample_radius)\n\n                task.setMessage('\{\} channel at \{\}'.format(channel, round(sample, 2)))\n\n                if sample_values\[3] * pixel >= 10:\n                    lut.setValueAt(sample_values\[0] / sample_values\[3], sample_values\[1] / sample_values\[3], channel_list.index(channel))\n\n                progress += step\n\n        time_warp\['lookup'].clearAnimated()\n        time_warp\['disable'].setValue(True)  # hopefully prevents slowing down the comp\n        frame_blend\['disable'].setValue(True)  # hopefully prevents slowing down the comp\n\n    del task\n\n\nstart(this)\n" +STARTLINE}
 addUserKnob {26 divider03 l " "}
 addUserKnob {41 analysis_mask l "analysis mask" t "Use this channel from the mask input to control what area of the plate will be analyzed.\n\nUsefull if the degrain is obviously bad in some areas." T ChannelMerge1.A}
 addUserKnob {6 invert_1 l invert -STARTLINE}
 addUserKnob {20 Adjust_tab l Adjust}
 addUserKnob {22 whatsthis l "What am I looking at?" T "nuke.message(\"After the analysis you'll see the sampled grain response curves here. On the x-axis is the brightness of the image and on the y-axis the grain intensity. Grain increases with brightness, so <strong>the slope of the curves should always be positive</strong> (they should always go up &#8599;).<br><br>The quality of the curves depends entirely on the quality of the degrain. If the curves look wrong (for example they go up and down), try to improve the degrain first. If they still look wrong and the resulting regrain doesn't work well enough, you can try to improve the curves here by deleting/correcting all points that don't follow an upwards trend.<br><br>You can also extend the curves (again: with an upwards trend) if the comp has values that don't exist in the plate.<br><br>Note: The curve is used for both the normalization as well as the adaptation of the grain, so it doesn't give direct control of the grain intensity.\")" +STARTLINE}
 addUserKnob {41 lut l "" +STARTLINE T Sampler1.lut}
 addUserKnob {20 Replace_tab l Replace}
 addUserKnob {6 external_grain l "use external grain" t "Use external grain from a second DasGrain, with the output set to 'normalised grain', to replace masked area.\nConnect it to the 'external grain' input of this DasGrain (it's a bit hidden on the left side of the node)." +STARTLINE}
 addUserKnob {26 divider04 l <strong>Scatter}
 addUserKnob {26 divider05 l <strong>Scatter +HIDDEN T "<span style=\"color:red\">Make sure you're sampling an area without any plate detail.</a>"}
 addUserKnob {6 scatter l activate t "Activates the scatter function. It generates a new grain based on the plate grain in the sample box using a Voronoi noise." +STARTLINE}
 addUserKnob {41 useGPUIfAvailable l "Use GPU if available" -STARTLINE T VoronoiScatter.useGPUIfAvailable}
 addUserKnob {15 box l "sample box" t "Define an area that is used as a source for the scatter function. The plate grain in this area should be as even as possible, without any visible detail."}
 box {100 100 500 300}
 addUserKnob {3 sample_frame l "sample frame" t "The frame at which the grain is being sampled. Is set automatically once the sample box is changed." +DISABLED}
 sample_frame 1
 addUserKnob {4 stereo l "stereo behaviour" t "randomize offset per view: same voronoy pattern for all views, but different offset\n\nrandomize pattern per view: different voronoy pattern for every view" M {none "randomize offset per view" "randomize pattern per view" ""}}
 addUserKnob {26 spacer06 l "" +STARTLINE T " "}
 addUserKnob {6 overlay l "overlay cell pattern" t "Overlay the cell pattern of the voronoy noise. Useful to check where the seams are and if distortion or blending is necessary." +STARTLINE}
 addUserKnob {7 cell_size l "cell size" t "Cell size of the scatter. Shoudn't be too small, as lower grain frequencies might break.\nCan't be too big either, to prevent it from breaking the border of the samplebox (will error if it does)." R 5 100}
 cell_size 40
 addUserKnob {26 spacer07 l "" +STARTLINE T " "}
 addUserKnob {20 concealer l "edge concealer" n 1}
 concealer 0
 addUserKnob {26 concealer_help l " " T "If you can see the voronoi pattern in the grain QC output,\nincrease the edge blend size."}
 addUserKnob {3 edge_blend_size l "edge blend size" t "Set the output to grain QC. If you see the cell seams, increase the edge blend size to conceal them.\n\nThis is a bit hacky and slow."}
 addUserKnob {26 tip l "" -STARTLINE T "sloooow - keep this below 3 if possible"}
 addUserKnob {26 distortion_help l " " T "\nDistortion might help as well, if somehow the straight\nseams are visible (you might want to toggle the overlay\nwhile adjusting)."}
 addUserKnob {7 amplitude R 0 50}
 addUserKnob {7 frequency R 0 50}
 frequency 15
 addUserKnob {20 endGroup n -1}
 addUserKnob {26 divider06 l "" +STARTLINE}
 addUserKnob {41 replace_mask l "replace mask" t "Use this channel from the mask input to specify where you want to use scattered grain instead of the adapted plate grain." -STARTLINE T Merge9.maskChannelMask}
 addUserKnob {41 invert_mask_1 l invert -STARTLINE T Merge9.invert_mask}
 addUserKnob {20 GrainGroupEnd l "" +STARTLINE n -3}
 addUserKnob {20 Help_tab l Help}
 addUserKnob {26 basic_setup l "" +STARTLINE T "<font size=\"5\">Basic setup</font>"}
 addUserKnob {26 ""}
 addUserKnob {26 explanation l "" +STARTLINE T "<strong>Bold</strong> steps are always necessary"}
 addUserKnob {26 steps l "" +STARTLINE T "<br><strong>1. This should be the only regrain node in your comp.<br>2. Connect <i>plate</i>, <i>degrained plate</i> and <i>comp</i>.<br>&nbsp;&nbsp;&nbsp;&nbsp;The comp should be done on the degrained plate!</strong><br>3. Set the <i>luminance degrain amount</i>.<br><strong>4. Press the <i>Analyze</i> button.</strong><br>5. Correct the response curves in the <i>Adjust</i> tab.<br>6. Move the <i>sample box</i> to an area without any plate detail and activate <i>scatter</i>.<br>7. If necessary, activate <i>edge blend</i> and/or <i>distortion</i> to conceal seams."}
 addUserKnob {26 in_depth l "" +STARTLINE T "<br>For an in depth explanation of the steps, read the tooltips and check out this video:<br><a href=\"https://vimeo.com/284820390/\"><span style=\"color:#C8C8C8;\">https://vimeo.com/284820390</a>"}
 addUserKnob {26 pushthebutton l "" +STARTLINE T "<br><br>If the result is not as expected and you don't know why, push this button:"}
 addUserKnob {22 troubleshoot l Troubleshoot t HEEEEEEELP T "import base64\n\nmessages = \[]\n\nthis = nuke.thisNode()\n\n#########################\n\nif this.input(0) is None or this.input(1) is None or this.input(2) is None:\n    messages.append(\"<font color='red'><strong>ERROR</strong></font> Plate, degrained plate and comp need to be connected to the appropriate inputs.\")\n\n#########################\n\nelse:\n\n    def format_to_tuple(g):\n        \"\"\"returns (1024, 786, 2.0)\n        \"\"\"\n        return (g.format().width(), g.format().height(), g.format().pixelAspect())\n\n    format_set = set(\[\n        format_to_tuple(this.input(0)),\n        format_to_tuple(this.input(1)),\n        format_to_tuple(this.input(2)),\n        ])\n    if len(format_set) != 1:\n        messages.append(\"<font color='orange'><strong>WARNING</strong></font> Format missmatch: Make sure formats of plate, degrained plate and comp match.\")\n\n    if (this.input(1).firstFrame() != this.input(2).firstFrame()) or (this.input(1).lastFrame() != this.input(2).lastFrame()):\n        messages.append(\"<font color='orange'><strong>WARNING</strong></font> The frame ranges of plate and degrained plate don't match. Double check that they belong together.\")\n\n#########################\n\nmessages.append(\"Double check that plate and degrained plate haven't been modified in any way (paint, despill, etc).\")\n\n#########################\n\nif this\['luminance'].getValue() == 1:\n    messages.append(\"Are you working on a completely degrained plate? If not, you might have to set the luminance degrain amount.\")\n\n#########################\n\nblank = base64.b64decode('cmVkIHtjdXJ2ZX0KZ3JlZW4ge2N1cnZlfQpibHVlIHtjdXJ2ZX0=').decode('ascii')\n\nwith this:\n    Sampler = nuke.toNode('Sampler1')     \n    if Sampler\['lut'].toScript() == blank:\n        messages.append(\"<font color='red'><strong>ERROR</strong></font> You haven't pressed the Analyze button yet!\")\n\n#########################\n\nclass BadThings(Exception): pass\n\ndef thingy():\n    with this:\n        Sampler = nuke.toNode('Sampler1')\n        list = this\['lut'].toScript().replace('\}','').split('\\n')\n        for item in list:\n            sample_value = 0\n            for value in item.split(' '):\n                try:\n                    value == float(value)\n                    if value < sample_value:\n                        raise BadThings(\"<font color='orange'><strong>WARNING</strong></font> Check and fix the response curves. Their slopes should always be positive (the curves should always go up &#8599;).\")\n                        \n                    else:\n                        sample_value = value\n                except ValueError:\n                    # Ignore non-numeric things like x-values of \"x5.46\" and channel names like \"red\{\" etc\n                    pass\ntry:\n    thingy()\nexcept BadThings as e:\n    messages.append(str(e))\n    \n#########################\n\nif this\['scatter'].value() == True:\n    if this\['box'].getValue() == \[100.0, 100.0, 500.0, 300.0]:\n        messages.append(\"<font color='orange'><strong>WARNING</strong></font> Scatter has been activated, but the sample box is still in its default position. Are you sure that's a good area to sample?\")\n\n#########################\n\nmessages.append(\"Did you copy/paste DasGrain from another script? Make sure to reanalyze and to reset the sample area if you are using scatter.\")\n\n#########################\n\nif len(messages) > 0:\n    nuke.message(\"<font size=\\\"5\\\">Things worth checking</font><br><br>\"\n                               \"%s<br><br><br>If any of this doesn't make sense to you, it might be worth checking out the video on vimeo.\" % (\n                                  \"<hr>\".join(\"%s: %s\" % (i+1, m) for i, m in enumerate(messages))))\n" +STARTLINE}
 addUserKnob {26 dont_despair l "" +STARTLINE T "<br>If it still doesn't work and you're about to flip the table, send me a <a href=\"mailto:holtzf+nuke@gmail.com?subject=Help with DasGrain v1.7.8\"><span style=\"color:#C8C8C8;\">mail</a>.<br>I'm happy to help! :)"}
 addUserKnob {20 Info_tab l Info}
 addUserKnob {26 dasname l "" +STARTLINE T "<font size='5'>DasGrain</font> v1.8<br>"}
 addUserKnob {26 text_1 l "" +STARTLINE T "DasGrain makes regraining as simple as clicking a few buttons.<br>Follow the steps in the <i>Help</i> tab and you'll have a perfect\nregrain<br>in no time!"}
 addUserKnob {26 ""}
 addUserKnob {26 info l "" +STARTLINE T "Last change: 2021-03-07\n\n"}
 addUserKnob {26 name_1 l "" +STARTLINE T "Fabian Holtz"}
 addUserKnob {26 mail l "" +STARTLINE T "<a href=\"mailto:holtzf+nuke@gmail.com?subject=Help with DasGrain v1.7.8\"><span style=\"color:#C8C8C8;\">holtzf+nuke@gmail.com</a>"}
 addUserKnob {26 testimonial l "" +STARTLINE T "<br><br><br><i>&laquo;Das bringt Tr&auml;nen in meine Augen&raquo;</i><br>&mdash; anonymous<br><br>"}
 addUserKnob {26 ""}
 addUserKnob {26 credit l "" +STARTLINE T "<br>VoronoiScatter based on <a href=\"http://www.nukepedia.com/blink/image/voronoi/\"><span style=\"color:#C8C8C8;\">Ivan Busquets' implementation</a> of<br> libNoise's\nVoronoi generator"}
 addUserKnob {26 thanks l "" +STARTLINE T "<br>Special thanks to Ben Dickson for bearing with my questions and<br>problems and RSP comp for the valuable feedback."}
}
 BackdropNode {
  inputs 0
  name BackdropNode1
  tile_color 0x7f7f7fff
  label "normalise grain"
  note_font_size 30
  xpos 170
  ypos 1662
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode11
  tile_color 0x7f7f7fff
  label "add grain"
  note_font_size 30
  xpos 830
  ypos 2766
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode13
  tile_color 0x7f7f7fff
  label scatter
  note_font_size 30
  xpos -50
  ypos 2022
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode14
  tile_color 0x7f7f7fff
  label "analyze grain"
  note_font_size 30
  xpos -159
  ypos 606
  bdwidth 319
  bdheight 877
 }
 BackdropNode {
  inputs 0
  name BackdropNode2
  tile_color 0x7f7f7fff
  label "grain response curve"
  note_font_size 30
  xpos 610
  ypos 2574
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode3
  tile_color 0x7f7f7fff
  label QC
  note_font_size 30
  xpos 1050
  ypos 3222
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode4
  tile_color 0x7f7f7fff
  label "grain response curve"
  note_font_size 30
  xpos 610
  ypos 1422
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode5
  tile_color 0x7f7f7fff
  label "adapt grain"
  note_font_size 30
  xpos 170
  ypos 2574
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode6
  tile_color 0x7f7f7fff
  label "sample range"
  note_font_size 30
  xpos -490
  ypos 606
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode7
  tile_color 0x7f7f7fff
  label "luminance level"
  note_font_size 30
  xpos 280
  ypos -282
  bdwidth 760
  bdheight 685
 }
 BackdropNode {
  inputs 0
  name BackdropNode8
  tile_color 0x7f7f7fff
  label "plate grain"
  note_font_size 30
  xpos 170
  ypos 606
  bdwidth 320
  bdheight 110
 }
 BackdropNode {
  inputs 0
  name BackdropNode9
  tile_color 0x7f7f7fff
  label replace
  note_font_size 30
  xpos 60
  ypos 2191
  bdwidth 540
  bdheight 226
 }
 Input {
  inputs 0
  name DEGRAINED_PLATE
  label "\[value number]"
  note_font_size 30
  xpos 730
  ypos -896
  number 2
 }
 OCIOColorSpace {
  in_colorspace {{OCIOColorSpace1.in_colorspace x17 7}}
  out_colorspace {{OCIOColorSpace1.out_colorspace x17 7}}
  name OCIOColorSpace2
  xpos 730
  ypos -490
 }
 Dot {
  name Dot9
  xpos 764
  ypos -390
 }
set Na754e000 [stack 0]
 Dot {
  name Dot28
  xpos 764
  ypos -198
 }
set Na754e400 [stack 0]
 Dot {
  name Dot32
  xpos 764
  ypos 234
 }
set Na754e800 [stack 0]
push $Na754e400
 Dot {
  name Dot27
  xpos 624
  ypos -198
 }
 Colorspace {
  colorspace_out YCbCr
  name Colorspace1
  xpos 590
  ypos -130
 }
 Dot {
  name Dot7
  xpos 624
  ypos -54
 }
set Na754f400 [stack 0]
 Input {
  inputs 0
  name PLATE
  label "\[value number]"
  note_font_size 30
  xpos 290
  ypos -892
  number 1
 }
 Dot {
  name Dot50
  xpos 324
  ypos -726
 }
set Na754fc00 [stack 0]
 OCIOColorSpace {
  in_colorspace scene_linear
  out_colorspace scene_linear
  name OCIOColorSpace1
  xpos 290
  ypos -490
 }
 Dot {
  name Dot29
  xpos 324
  ypos -198
 }
set Na732e400 [stack 0]
 Dot {
  name Dot6
  xpos 464
  ypos -198
 }
 Colorspace {
  colorspace_out YCbCr
  name Colorspace2
  xpos 430
  ypos -130
 }
 Merge2 {
  inputs 2
  operation from
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge4
  xpos 430
  ypos -58
 }
 Multiply {
  channels rgb
  value {{"1 / parent.luminance - 1"} 0 0 0}
  name Multiply6
  xpos 430
  ypos 14
 }
 Dot {
  name Dot31
  xpos 464
  ypos 90
 }
push $Na754f400
 Merge2 {
  inputs 2
  operation plus
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge5
  xpos 590
  ypos 86
 }
 Colorspace {
  colorspace_in YCbCr
  name Colorspace3
  xpos 590
  ypos 158
 }
 Merge2 {
  inputs 2
  operation from
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge6
  xpos 590
  ypos 230
 }
 Dot {
  name Dot35
  xpos 624
  ypos 306
 }
set Na7360800 [stack 0]
push $Na754e800
 Merge2 {
  inputs 2
  operation from
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge7
  xpos 730
  ypos 302
  disable {{"Multiply6.value.r == 0"}}
 }
 Dot {
  name Dot2
  xpos 764
  ypos 522
 }
set Na7361000 [stack 0]
 Dot {
  name Dot30
  xpos 764
  ypos 690
 }
set Na7361400 [stack 0]
 Dot {
  name Dot55
  xpos 764
  ypos 1170
 }
set Na7361800 [stack 0]
 Input {
  inputs 0
  name mask
  label "\[value number]"
  note_font_size 30
  xpos 1170
  ypos -896
  number 3
 }
 Dot {
  name Dot39
  xpos 1204
  ypos 258
 }
set Na738c000 [stack 0]
 Dot {
  name Dot26
  xpos 1204
  ypos 1074
 }
set Na738c400 [stack 0]
 Invert {
  name Invert2
  xpos 180
  ypos 1064
  disable {{!parent.invert_1}}
 }
push $Na7361400
push $Na732e400
 Merge2 {
  inputs 2
  operation from
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge27
  xpos 290
  ypos 686
 }
 Dot {
  name Dot3
  xpos 324
  ypos 786
 }
set Na738d000 [stack 0]
 Dot {
  name Dot5
  xpos 104
  ypos 786
 }
set Na738d400 [stack 0]
push $Na738d400
 Copy {
  inputs 2
  from0 {{{parent.Copy2.from0}}}
  to0 rgba.red
  name Copy3
  xpos 70
  ypos 848
 }
 Expression {
  expr0 abs(r)
  channel1 {none none none rgba.alpha}
  expr1 "r == 0"
  channel2 none
  channel3 none
  name Expression4
  xpos 70
  ypos 926
 }
set Na738dc00 [stack 0]
push $Na7361000
 Colorspace {
  colorspace_out AlexaV3LogC
  name Colorspace5
  xpos 70
  ypos 518
 }
 Clamp {
  maximum_enable false
  name Clamp2
  xpos -40
  ypos 512
 }
 Dot {
  name Dot1
  xpos -116
  ypos 522
 }
set Naed4e800 [stack 0]
 Dot {
  name Dot48
  xpos -116
  ypos 786
 }
set Naed4ec00 [stack 0]
push $Naed4ec00
 Copy {
  inputs 2
  from0 rgba.blue
  to0 rgba.red
  name Copy2
  xpos -150
  ypos 848
 }
 Expression {
  temp_name0 min
  temp_name1 max
  channel0 {none none none rgba.alpha}
  expr0 "r >= min && r <= max"
  channel1 none
  channel2 none
  channel3 none
  name Expression2
  xpos -150
  ypos 926
 }
 Dot {
  name Dot4
  xpos -116
  ypos 1002
 }
 ChannelMerge {
  inputs 2
  operation stencil
  name ChannelMerge2
  xpos -40
  ypos 985
 }
push $Na738dc00
 Copy {
  inputs 2
  from0 rgba.alpha
  to0 rgba.alpha
  name Copy1
  xpos 70
  ypos 992
 }
 ChannelMerge {
  inputs 2
  A -rgba.green
  operation multiply
  name ChannelMerge1
  xpos 70
  ypos 1057
  disable {{!A}}
 }
 Copy {
  inputs 2
  from0 {{{parent.Copy2.from0}}}
  to0 rgba.green
  name Copy4
  xpos 70
  ypos 1160
 }
 Premult {
  channels {rgba.red rgba.green -rgba.blue none}
  name Premult1
  xpos 70
  ypos 1238
 }
 TimeWarp {
  lookup 1081
  time ""
  filter nearest
  name TimeWarp1
  xpos 70
  ypos 1286
  disable true
 }
 FrameBlend {
  channels {rgba.red rgba.green -rgba.blue rgba.alpha}
  startframe 0
  endframe 9
  userange true
  name FrameBlend1
  xpos 70
  ypos 1352
  disable true
 }
 CurveTool {
  avgframes 0
  channels {rgba.red rgba.green -rgba.blue rgba.alpha}
  ROI {0 0 {width} {height}}
  name CurveTool
  xpos 70
  ypos 1424
 }
push $Naed4e800
 Dot {
  name Dot16
  xpos -336
  ypos 522
 }
 CurveTool {
  operation "Max Luma Pixel"
  channels {-rgba.red -rgba.green rgba.blue none}
  ROI {0 0 {width} {height}}
  name CurveTool_Range
  xpos -370
  ypos 680
 }
 Sampler {
  inputs 0
  lut {red {curve}
    green {curve}
    blue {curve}}
  name Sampler1
  onCreate "n = nuke.thisNode()\nn\['sampler'].setEnabled(False)"
  knobChanged "n = nuke.thisNode()\nk = nuke.thisKnob()\np = nuke.thisParent()\n\nif k.name() == 'lut':\n    with p:\n        for c in \['ColorLookup1','ColorLookup2']:\n           nuke.toNode(c)\['lut'].fromScript(k.toScript())"
  xpos 840
  ypos 1502
 }
push $Na754fc00
 Dot {
  name Dot51
  xpos 115
  ypos -726
 }
 Input {
  inputs 0
  name COMP
  label "\[value number]"
  note_font_size 30
  xpos 950
  ypos -896
 }
 Dot {
  name Dot49
  xpos 984
  ypos -605
 }
set Na7127000 [stack 0]
 Switch {
  inputs 2
  which {{parent.meta}}
  name Switch1
  xpos 81
  ypos -609
 }
 Dot {
  name Dot54
  xpos 115
  ypos -486
 }
 Dot {
  name Dot52
  xpos -685
  ypos -486
 }
 Dot {
  name Dot53
  xpos -685
  ypos 3762
 }
push $Na738c000
 Dot {
  name Dot40
  xpos 874
  ypos 258
 }
push $Na7360800
 Dot {
  name Dot34
  xpos 624
  ypos 378
 }
 Multiply {
  inputs 1+1
  channels rgb
  value 0
  maskChannelMask -rgba.red
  name Multiply1
  xpos 840
  ypos 374
 }
push $Na7127000
 OCIOColorSpace {
  in_colorspace {{OCIOColorSpace1.in_colorspace x17 7}}
  out_colorspace {{OCIOColorSpace1.out_colorspace x17 7}}
  name OCIOColorSpace3
  xpos 950
  ypos -490
 }
 Dot {
  name Dot44
  xpos 984
  ypos -390
 }
set Na714b400 [stack 0]
 Merge2 {
  inputs 2
  operation from
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge8
  xpos 950
  ypos 374
  disable {{"Multiply6.value.r == 0"}}
 }
 Dot {
  name Dot18
  xpos 984
  ypos 2658
 }
set Na714bc00 [stack 0]
 ColorLookup {
  lut {master {}
    red {curve}
    green {curve}
    blue {curve}
    alpha {}}
  name ColorLookup2
  xpos 730
  ypos 2654
 }
push $Na738c400
 Dot {
  name Dot38
  xpos 1204
  ypos 1842
 }
 Dot {
  name Dot37
  xpos 544
  ypos 1842
 }
 Dot {
  name Dot22
  xpos 544
  ypos 2271
 }
set Na7178c00 [stack 0]
 Dot {
  name Dot20
  xpos 544
  ypos 2391
 }
push $Na7178c00
 Dot {
  name Dot17
  xpos 434
  ypos 2271
 }
set Na7179400 [stack 0]
 Dot {
  name Dot13
  xpos 214
  ypos 2271
 }
 Input {
  inputs 0
  name external_grain
  label "\[value number]"
  note_font_size 30
  xpos -150
  ypos 1716
  number 4
 }
 Dot {
  name Dot21
  xpos -116
  ypos 1938
 }
push $Na7361800
 ColorLookup {
  channels rgb
  lut {master {}
    red {curve}
    green {curve}
    blue {curve}
    alpha {}}
  name ColorLookup1
  xpos 730
  ypos 1502
 }
 Dot {
  name Dot24
  xpos 764
  ypos 1746
 }
push $Na738d000
 Dot {
  name Dot33
  xpos 324
  ypos 1386
 }
 MergeExpression {
  inputs 2
  temp_name0 target
  temp_expr0 .01
  expr0 "Br * (target / Ar)"
  expr1 "Bg * (target / Ag)"
  expr2 "Bb * (target / Ab)"
  channel3 none
  name MergeExpression1
  xpos 290
  ypos 1742
 }
 Dot {
  name Dot15
  xpos 324
  ypos 1842
 }
set Na7195400 [stack 0]
 Dot {
  name Dot25
  xpos 104
  ypos 1842
 }
 Switch {
  inputs 2
  which {{parent.external_grain}}
  name Switch2
  xpos 70
  ypos 1934
 }
 Group {
  name VoronoiScatter
  xpos 70
  ypos 2102
  disable {{!parent.scatter}}
  addUserKnob {20 User}
  addUserKnob {41 useGPUIfAvailable l "Use GPU if available" T VoroNoise.useGPUIfAvailable}
  addUserKnob {41 vectorize l "Vectorize on CPU" -STARTLINE T VoroNoise.vectorize}
  addUserKnob {15 box}
  box {{parent.box x1004 0 x1036 -75} {parent.box x1004 100 x1036 120} {parent.box x1004 496 x1036 325} {parent.box x1004 916 x1036 320}}
  addUserKnob {3 sample_frame l "sample frame"}
  sample_frame {{parent.sample_frame}}
  addUserKnob {7 cell_size l "cell size" R 0 100}
  cell_size {{parent.cell_size}}
  addUserKnob {6 overlay_pattern l "overlay pattern" -STARTLINE}
  overlay_pattern {{parent.overlay}}
  addUserKnob {3 edge_blend_size l "edge blend size"}
  edge_blend_size {{parent.edge_blend_size}}
  addUserKnob {7 amplitude R 0 100}
  amplitude {{parent.amplitude}}
  addUserKnob {7 frequency R 0 100}
  frequency {{parent.frequency}}
  addUserKnob {41 VoroNoise_Seed l Seed T VoroNoise.VoroNoise_Seed}
 }
  Input {
   inputs 0
   name Input1
   xpos 180
   ypos -879
  }
  Dot {
   name Dot14
   xpos 214
   ypos -750
  }
set Na71be400 [stack 0]
  Dot {
   name Dot16
   xpos 434
   ypos -750
  }
  Remove {
   name Remove1
   xpos 400
   ypos -687
  }
  Dot {
   name Dot6
   xpos 434
   ypos -606
  }
set Na71bf000 [stack 0]
  Dot {
   name Dot15
   xpos 654
   ypos -606
  }
set Na71bf400 [stack 0]
  Dot {
   name Dot7
   xpos 874
   ypos -606
  }
  Noise {
   output {rgba.red -rgba.green -rgba.blue none}
   replace true
   size {{parent.frequency} {"parent.frequency * pixel_aspect"}}
   zoffset {{"x + 1000"}}
   gamma 1
   name Noise1
   xpos 840
   ypos -514
  }
  Noise {
   output {-rgba.red rgba.green -rgba.blue none}
   replace true
   size {{parent.Noise1.size} {parent.Noise1.size}}
   zoffset {{x}}
   gamma 1
   name Noise2
   xpos 840
   ypos -466
  }
  Clamp {
   name Clamp1
   xpos 840
   ypos -424
  }
  Dot {
   name Dot11
   xpos 874
   ypos -366
  }
push $Na71bf400
  BlinkScript {
   ProgramGroup 1
   KernelDescription "2 \"VoroNoise\" iterate pixelWise c117be128a07c11b6d82fd34148d66b3bcac41976ec9c2082affe38e890c2c0f 2 \"src\" Read Point \"dst\" Write Point 6 \"Frequency\" Float 1 AABIQg== \"Seed\" Int 1 AAAAAA== \"aspect ratio\" Float 1 AACAPw== \"width\" Int 1 AAAAAA== \"height\" Int 1 AAAAAA== \"Randomness\" Float 1 AAAAPw== 6 \"frequency\" 1 1 \"seed\" 1 1 \"aspect_ratio\" 1 1 \"width\" 1 1 \"height\" 1 1 \"randomness\" 1 1 0"
   kernelSource "// Voronoi.blink\n// A test implementation of libNoise's Voronoi generator using Blink\n// Ivan Busquets - August 2013\n// Modified for DasGrain by Fabian Holtz - April 2019\n\n#define X_NOISE_GEN  1619\n#define Y_NOISE_GEN  31337\n#define Z_NOISE_GEN  6971\n#define SEED_NOISE_GEN  1013\n#define SQRT_3 1.73205081\n\ninline int IntValueNoise3D (int x, int y, int z, int seed)\n\{\n  // All constants are primes and must remain prime in order for this noise\n  // function to work correctly.\n  int n = (\n      X_NOISE_GEN    * x\n    + Y_NOISE_GEN    * y\n    + Z_NOISE_GEN    * z\n    + SEED_NOISE_GEN * seed)\n    & 0x7fffffff;\n  n = (n >> 13) ^ n;\n  return (n * (n * n * 60493 + 19990303) + 1376312589) & 0x7fffffff;\n\}\n\ninline float ValueNoise3D (int x, int y, int z, int seed)\n\{\n  return 1.0 - ((float)IntValueNoise3D (x, y, z, seed) / 1073741824.0);\n\}\n\nkernel VoroNoise : ImageComputationKernel<ePixelWise>\n\{\n  Image<eRead> src;\n  Image<eWrite, eAccessPoint> dst;\n\nparam:\n  float frequency;\n  int seed;\n  float aspect_ratio;\n  int width;\n  int height;\n  float randomness;\n\n\n  void define() \{\n    defineParam(frequency, \"Frequency\", 50.0f);\n    defineParam(aspect_ratio, \"aspect ratio\", 1.0f);\n    defineParam(seed, \"Seed\", 0);\n    defineParam(randomness, \"Randomness\", 0.5f);\n  \}\n\n\n\n\n  void process(int2 pos) \{\n   float x = pos.x * aspect_ratio * frequency / width;\n   float y = pos.y * frequency / width;\n   int xInt = (x > 0.0) ? x : x - 1;\n   int yInt = (y > 0.0) ? y : y - 1;\n\n\n    float minDist = 2147483647.0;\n    float xCandidate = 0;\n    float yCandidate = 0;\n\n    float dist;\n\nfor (int yCur = yInt - 2; yCur <= yInt + 2; yCur++) \{\n      for (int xCur = xInt - 2; xCur <= xInt + 2; xCur++) \{\n\n        // Calculate the position and distance to the seed point inside of\n        // this unit cube. Limited by the randomness value\n        float xPos = xCur + (ValueNoise3D (xCur, yCur, 0, seed    ) + 1 ) * randomness + (1-randomness) - 1;\n        float yPos = yCur + (ValueNoise3D (xCur, yCur, 0, seed + 1) + 1 ) * randomness + (1-randomness) - 1;\n\n        float xDist = xPos - x;\n        float yDist = yPos - y;\n\n        dist = pow(xDist, 2) + pow(yDist, 2);\n        if (dist < minDist) \{\n          // This seed point is closer to any others found so far, so record\n          // this seed point.\n          minDist = dist;\n          xCandidate = xPos;\n          yCandidate = yPos;\n\t\}\n    \}\n\}\n\n    SampleType(dst) sample(0.0f);\n\n    sample.x = xCandidate / aspect_ratio / frequency;\n    sample.y = yCandidate / height * width / frequency;\n    sample.z = 0;\n\n    dst() = sample;\n\}\n\};"
   rebuild ""
   VoroNoise_Frequency {{"width / parent.cell_size"}}
   VoroNoise_Seed {{"(x + (parent.parent.stereo == 2 ? \[lsearch \[value root.views] \[view]] / 2 : 0)) * 5"}}
   "VoroNoise_aspect ratio" {{pixel_aspect}}
   VoroNoise_width {{width}}
   VoroNoise_height {{height}}
   rebuild_finalise ""
   name VoroNoise
   xpos 620
   ypos -520
  }
  Copy {
   inputs 2
   from0 rgba.red
   to0 forward.u
   from1 rgba.green
   to1 forward.v
   name Copy1
   xpos 620
   ypos -382
   disable {{"parent.amplitude == 0"}}
  }
  IDistort {
   uv forward
   uv_offset 0.5
   uv_scale {{parent.amplitude} {"uv_scale.w * pixel_aspect"}}
   filter impulse
   name IDistort1
   xpos 620
   ypos -280
   disable {{"parent.amplitude == 0"}}
  }
  Dot {
   name Dot5
   xpos 654
   ypos -246
  }
  NoTimeBlur {
   rounding floor
   name NoTimeBlur3
   xpos 620
   ypos -154
  }
  Transform {
   translate {{"floor((x * size) % 1 * (size)) - int(size / 2)"} {"floor(x % 1 * (size)) - int(size/2)"}}
   filter impulse
   black_outside false
   name Transform1
   xpos 620
   ypos -58
   disable {{"parent.edge_blend_size < 1"}}
   addUserKnob {20 User}
   addUserKnob {3 size}
   size {{"parent.edge_blend_size + 1"}}
  }
  Dot {
   name Dot9
   xpos 654
   ypos 42
  }
set Nae9e2400 [stack 0]
push $Na71bf000
  Expression {
   expr0 "(x + .5) / width"
   expr1 "(y + .5) / height"
   expr2 0
   name STMapGenerator
   xpos 400
   ypos -514
  }
  NoTimeBlur {
   rounding floor
   name NoTimeBlur2
   xpos 400
   ypos -154
  }
  Merge2 {
   inputs 2
   operation from
   Achannels {rgba.red rgba.green -rgba.blue none}
   Bchannels {rgba.red rgba.green -rgba.blue none}
   output {rgba.red rgba.green -rgba.blue none}
   name Merge2
   xpos 400
   ypos 38
  }
  Dot {
   name Dot10
   xpos 434
   ypos 210
  }
push $Nae9e2400
  Expression {
   temp_name0 view_index
   temp_expr0 "parent.parent.stereo == 1 ? \[lsearch \[value root.views] \[view]] / 2 : 0"
   expr0 "random((r + view_index) * 1000000, 0) * (maxx - minx) + minx"
   expr1 "random((g + view_index) * 1000000, 0) * (maxy - miny) + miny"
   channel2 none
   channel3 none
   name Expression3
   xpos 620
   ypos 110
   addUserKnob {20 User}
   addUserKnob {7 frequency R 0 100}
   frequency {{parent.parent.cell_size}}
   addUserKnob {7 multiplier R 0 3}
   multiplier 0.5
   addUserKnob {15 shrink}
   shrink {{"frequency * multiplier + ceil(parent.edge_blend_size / 2) + IDistort1.uv_scale.w / 2"} {"frequency * multiplier + ceil(parent.edge_blend_size / 2) + IDistort1.uv_scale.h / 2"} {"frequency * multiplier + floor(parent.edge_blend_size / 2) + IDistort1.uv_scale.w / 2"} {"frequency * multiplier + floor(parent.edge_blend_size / 2) + IDistort1.uv_scale.h / 2"}}
   addUserKnob {26 ""}
   addUserKnob {7 minx}
   minx {{"(parent.box.x + shrink.x + .5) / width"}}
   addUserKnob {7 maxx}
   maxx {{"(parent.box.r - shrink.r - .5) / width"}}
   addUserKnob {7 miny}
   miny {{"(parent.box.y + shrink.y + .5) / height"}}
   addUserKnob {7 maxy}
   maxy {{"(parent.box.t - shrink.t - .5) / height"}}
  }
  Merge2 {
   inputs 2
   operation plus
   Achannels {rgba.red rgba.green -rgba.blue none}
   Bchannels {rgba.red rgba.green -rgba.blue none}
   output {rgba.red rgba.green -rgba.blue none}
   name Merge3
   xpos 620
   ypos 206
  }
  Expression {
   expr0 "(r + (maxx - minx) - minx) % (maxx - minx) + minx"
   expr1 "(g + (maxy - miny) - miny) % (maxy - miny) + miny"
   channel2 none
   channel3 none
   name Expression7
   xpos 620
   ypos 278
   addUserKnob {20 User}
   addUserKnob {7 minx}
   minx {{"(parent.box.x + rint(x % 1 * parent.edge_blend_size) + .5) / width"}}
   addUserKnob {7 maxx}
   maxx {{"(parent.box.r + rint(x % 1 * parent.edge_blend_size) - .5) / width"}}
   addUserKnob {7 miny}
   miny {{"(parent.box.y + rint(x % 1 * parent.edge_blend_size) + .5) / height"}}
   addUserKnob {7 maxy}
   maxy {{"(parent.box.t + rint(x % 1 * parent.edge_blend_size) - .5) / height"}}
  }
  Dot {
   name Dot3
   xpos 654
   ypos 354
  }
set Naea1e400 [stack 0]
  Dot {
   name Dot13
   xpos 654
   ypos 546
  }
push $Naea1e400
  Dot {
   name Dot8
   xpos 874
   ypos 354
  }
  Blur {
   channels rgb
   size {{pixel_aspect} 1}
   name Blur1
   label "\[value size]"
   xpos 840
   ypos 440
  }
  Difference {
   inputs 2
   name Difference2
   xpos 840
   ypos 536
  }
  Expression {
   channel0 {none none none rgba.alpha}
   expr0 "a > 1e-9"
   channel1 none
   channel2 none
   channel3 none
   name Expression2
   xpos 840
   ypos 614
  }
  Shuffle {
   red alpha
   green alpha
   blue alpha
   name Shuffle1
   label "\[value in]:\[value out]"
   xpos 840
   ypos 680
  }
  Dot {
   name Dot4
   xpos 874
   ypos 762
  }
push $Naea1e400
push $Na71be400
  FrameHold {
   firstFrame {{parent.sample_frame}}
   name FrameHold1
   xpos 180
   ypos -256
  }
  NoTimeBlur {
   rounding floor
   name NoTimeBlur1
   xpos 180
   ypos -154
  }
  STMap {
   inputs 2
   channels rgb
   uv rgb
   filter impulse
   name STMap1
   xpos 180
   ypos 350
  }
set Naec30800 [stack 0]
  TimeBlur {
   divisions {{"max(Transform1.size == 1 ? 2 : pow2(Transform1.size), 1)"}}
   shutter 1
   shuttercustomoffset {{"1 / divisions / 2"}}
   name TimeBlur1
   xpos 180
   ypos 446
   disable {{"parent.edge_blend_size < 1"}}
  }
set Naec30c00 [stack 0]
push $Naec30800
  Dot {
   name Dot1
   xpos -6
   ypos 354
  }
  Difference {
   inputs 2
   name Difference1
   xpos -40
   ypos 440
  }
  Expression {
   channel0 {none none none rgba.alpha}
   expr0 "a > 1e-10"
   channel1 none
   channel2 none
   channel3 none
   name Expression1
   xpos -40
   ypos 494
  }
  Blur {
   channels alpha
   size {{parent.parent.edge_blend_size}}
   name Blur2
   xpos -40
   ypos 536
  }
  Grade {
   channels alpha
   blackpoint 0.5
   white_clamp true
   name Grade2
   xpos -40
   ypos 584
  }
  Dot {
   name Dot2
   xpos -6
   ypos 666
  }
push $Naec30c00
  Grade {
   inputs 1+1
   white 1.4
   black_clamp false
   name Grade1
   xpos 180
   ypos 662
   disable {{"parent.edge_blend_size < 1"}}
  }
  Merge2 {
   inputs 2
   Achannels rgb
   Bchannels rgb
   output rgb
   name Merge1
   xpos 180
   ypos 758
   disable {{!parent.overlay_pattern}}
  }
  Assert {
   expression {{"Expression3.maxx > Expression3.minx && Expression3.maxy > Expression3.miny"}}
   message "increase sample box size or decrease cell size"
   name error
   xpos 180
   ypos 854
  }
  Output {
   name Output1
   xpos 180
   ypos 950
  }
 end_group
 Multiply {
  inputs 1+1
  channels rgb
  value 1.8
  maskChannelMask {{{parent.Merge9.maskChannelMask}}}
  invert_mask {{!Merge9.invert_mask}}
  name Multiply7
  xpos 70
  ypos 2315
  disable {{"!maskChannelMask || !\[exists parent.input3.name]"}}
 }
 Dot {
  name Dot23
  xpos 104
  ypos 2391
 }
push $Na7179400
push $Na7195400
 Multiply {
  inputs 1+1
  channels rgb
  value 1.8
  maskChannelMask {{{parent.Merge9.maskChannelMask}}}
  invert_mask {{parent.Merge9.invert_mask}}
  name Multiply2
  xpos 290
  ypos 2315
  disable {{"!maskChannelMask || (!parent.scatter && !parent.external_grain)"}}
 }
 Merge2 {
  inputs 2+1
  operation copy
  Achannels rgb
  Bchannels rgb
  output rgb
  maskChannelMask -rgba.alpha
  name Merge9
  xpos 290
  ypos 2387
  disable {{"!(parent.scatter || parent.external_grain)"}}
 }
 Dot {
  name Dot11
  xpos 324
  ypos 2490
 }
set Naec9c800 [stack 0]
 MergeExpression {
  inputs 2
  temp_name0 reverse
  temp_expr0 "1 / MergeExpression1.temp_expr0"
  expr0 "Br * Ar * reverse"
  expr1 "Bg * Ag * reverse"
  expr2 "Bb * Ab * reverse"
  name MergeExpression2
  xpos 290
  ypos 2654
 }
 Dot {
  name Dot8
  xpos 324
  ypos 2850
 }
push $Na714bc00
 Merge2 {
  inputs 2
  operation plus
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge3
  xpos 950
  ypos 2846
 }
 Dot {
  name Dot42
  xpos 984
  ypos 3018
 }
set Naec9d800 [stack 0]
 OCIOColorSpace {
  in_colorspace {{OCIOColorSpace1.out_colorspace x17 7}}
  out_colorspace {{OCIOColorSpace1.in_colorspace x17 7}}
  name OCIOColorSpace4
  xpos 950
  ypos 3086
 }
 Dot {
  name Dot19
  xpos 984
  ypos 3162
 }
set Naefde000 [stack 0]
 Dot {
  name Dot41
  xpos 1204
  ypos 3162
 }
set Naefde400 [stack 0]
 Dot {
  name Dot36
  xpos 1314
  ypos 3162
 }
 Blur {
  channels rgb
  size 1
  name Blur1
  xpos 1280
  ypos 3254
 }
push $Naefde400
 Merge2 {
  inputs 2
  operation difference
  bbox B
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge10
  xpos 1170
  ypos 3254
 }
 Multiply {
  channels rgb
  value 50
  name Multiply3
  xpos 1170
  ypos 3302
 }
 Dot {
  name Dot43
  xpos 1204
  ypos 3402
 }
push $Na714b400
 Dot {
  name Dot45
  xpos 1424
  ypos -390
 }
push $Naec9d800
 Merge2 {
  inputs 2
  operation from
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge11
  xpos 1390
  ypos 3014
 }
 Dot {
  name Dot46
  xpos 1424
  ypos 3522
 }
push $Naec9c800
 Dot {
  name Dot14
  xpos 104
  ypos 2490
 }
 Dot {
  name Dot12
  xpos 104
  ypos 3402
 }
push $Na754e000
 Dot {
  name Dot47
  xpos -556
  ypos -390
 }
push $Na732e400
 Merge2 {
  inputs 2
  operation from
  Achannels rgb
  Bchannels rgb
  output rgb
  name Merge12
  xpos -590
  ypos -202
 }
 Dot {
  name Dot10
  xpos -556
  ypos 3522
 }
push $Naefde000
 Switch {
  inputs 5
  which {{output}}
  name Output
  xpos 950
  ypos 3656
  addUserKnob {20 User}
  addUserKnob {4 output M {"regrained comp" "plate grain" "normalised grain" "adapted grain" "grain QC"}}
 }
 CopyMetaData {
  inputs 2
  mergeMode "Meta only"
  name CopyMetaData1
  xpos 950
  ypos 3758
 }
 Output {
  name Output1
  xpos 950
  ypos 3854
 }
end_group
CopyMetaData {
 inputs 2
 name CopyMetaData1
 xpos 70
 ypos 18639
}
ModifyMetaData {
 metadata {
  {set exr/autodeskColorSpace "\[value WRITE_EXR.colorspace]"}
  {set exr/scriptPath "\[python os.getenv(\"CVRT_SCRIPT_PATH\")]"}
  {set exr/vendor "\[python os.getenv(\"CVRT_VENDOR\")]"}
  {set exr/showName "\[python os.getenv(\"CVRT_SHOW_NAME\")]"}
  {set exr/showId "\[python os.getenv(\"CVRT_SHOW_ID\")]"}
  {set exr/sequence "\[python os.getenv(\"CVRT_SEQUENCE\")]"}
  {set exr/shot "\[python os.getenv(\"CVRT_SHOT\")]"}
  {set exr/scope "\[python os.getenv(\"CVRT_SCOPE\")]"}
  {set exr/author "\[python os.getenv(\"CVRT_AUTHOR\")]"}
 }
 name ModifyMetaData1
 xpos 70
 ypos 18735
}
set Naf030c00 [stack 0]
Grade {
 name NEGATIVE
 xpos 70
 ypos 19551
}
FrameRange {
 first_frame {{root.first_frame}}
 last_frame {{root.last_frame}}
 time ""
 name FrameRange1
 xpos 70
 ypos 20055
}
NoOp {
 name Anchor_24e470df3b
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 70
 ypos 20986
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MAIN_COMP
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_24e470df3b}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naf031400 [stack 0]
PostageStamp {
 name Stamp36
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -1140
 ypos 23290
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MAIN_COMP
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." +HIDDEN T <i><center>METADATA</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_24e470df3b
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
 file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]/\[getenv CVRT_FILENAME].%04d.exr"
 file_type exr
 compression DWAA
 metadata "default metadata and exr/*"
 first_part rgba
 colorspace ACES2065-1
 create_directories true
 checkHashOnRead false
 version 39
 in_colorspace ACES2065-1
 out_colorspace ACES2065-1
 ocioColorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 name WRITE_EXR
 label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
 note_font "Verdana Bold"
 xpos -1140
 ypos 23985
}
NoOp {
 name Anchor_1f620af31
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos -1140
 ypos 24394
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MASTER_COMP_EXR
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_ACES}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_1f620af31}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
set Naf062400 [stack 0]
PostageStamp {
 name Stamp24
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -1140
 ypos 24466
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MASTER_COMP_EXR
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_1f620af31
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
 inputs 0
 name StickyNote4
 tile_color 0xff
 label "  REPLACE WITH YOUR DENOISER  "
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos 1036
 ypos -3878
}
push $Naf031400
PostageStamp {
 name Stamp29
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 70
 ypos 21034
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MAIN_COMP
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>METADATA</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_24e470df3b
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard4
 xpos -260
 ypos -5289
}
NoOp {
 name Anchor_3da2192eb4
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos -260
 ypos -5150
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title EDIT_REF
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb4}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
 name Stamp26
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -260
 ypos -5102
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title EDIT_REF
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T EDIT_REF}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_3da2192eb4
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard2
 xpos 180
 ypos -5289
}
NoOp {
 name Anchor_3da2192eb1
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos 180
 ypos -5150
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title ref_2
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb1}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
 name Stamp17
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 180
 ypos -5102
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title ref_2
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_2}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_3da2192eb1
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
 inputs 0
 name StickyNote8
 tile_color 0x2c3249ff
 label "   HIT ANALYZE   "
 note_font_size 30
 note_font_color 0x100024ff
 xpos -21
 ypos 17620
}
StickyNote {
 inputs 0
 name StickyNote3
 tile_color 0xff
 label "  REPLACE WITH YOUR DENOISER  "
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos -724
 ypos -3878
}
StickyNote {
 inputs 0
 name StickyNote12
 tile_color 0xff
 label "   IMPORT THE RENDER BY SELECTING\nTHE WRITE NODE AND PRESSING Alt + R   "
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos 778
 ypos -3577
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard1
 xpos -40
 ypos -5289
}
NoOp {
 name Anchor_3da2192eb6
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.anchorOnCreate()\n    except:\n        pass"
 knobChanged stamps.anchorKnobChanged()
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0xffffff01
 note_font_size 20
 xpos -40
 ypos -5150
 addUserKnob {20 anchor_tab l "Anchor Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T anchor}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title ref_1
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
 addUserKnob {26 prev_name l "" +STARTLINE +HIDDEN T Anchor_3da2192eb6}
 addUserKnob {3 showing l "" +STARTLINE +HIDDEN}
 addUserKnob {1 tags l Tags t "Comma-separated tags you can define for each Anchor, that will help you find it when invoking the Stamp Selector by pressing the Stamps shortkey with nothing selected."}
 tags 2D,
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 createStamp l new t "Create a new Stamp for this Anchor." -STARTLINE T stamps.stampCreateWired(nuke.thisNode())}
 addUserKnob {22 selectStamps l select t "Reconnect all of this Anchor's Stamps." -STARTLINE T stamps.wiredSelectSimilar(nuke.thisNode().name())}
 addUserKnob {22 reconnectStamps l reconnect -STARTLINE T stamps.anchorReconnectWired()}
 addUserKnob {22 zoomNext l "zoom next" t "Navigate to this Anchor's next Stamp on the Node Graph." -STARTLINE T stamps.wiredZoomNext(nuke.thisNode().name())}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
PostageStamp {
 name Stamp16
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -40
 ypos -5102
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title ref_1
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T ref_1}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>REF,<center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_3da2192eb6
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
 inputs 0
 name StickyNote16
 tile_color 0xff9a23ff
 label "  CHANGE QC STATUS AFTER VERIFYING  "
 note_font "Verdana Bold"
 note_font_size 48
 note_font_color 0x100024ff
 xpos -3403
 ypos 24114
}
StickyNote {
 inputs 0
 name StickyNote6
 tile_color 0x212d16ff
 label "USE STAMPS TO BRING MATTES IN"
 note_font_size 60
 note_font_color 0xacd68bff
 xpos 2456
 ypos 22979
}
StickyNote {
 inputs 0
 name StickyNote15
 tile_color 0xff
 label "   IMPORT THE RENDER BY SELECTING\nTHE WRITE NODE AND PRESSING Alt + R   "
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos -982
 ypos -3577
}
push $Naea49c00
PostageStamp {
 name Stamp4
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -40
 ypos -7166
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title roto
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T roto}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>ROTO,<center>IN</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_232b89ffe3
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
StickyNote {
 inputs 0
 name StickyNote2
 tile_color 0xff
 label "    SET THE INPUT TRANSFORM TO\nACES2065-1 OR RAW    "
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos -1269
 ypos -5281
}
push $Naf030c00
ViewMetaData {
 name ViewMetaData3
 xpos 290
 ypos 18735
}
StickyNote {
 inputs 0
 name StickyNote1
 tile_color 0x283d15ff
 label "   IMPORT THE RENDER BY SELECTING\nTHE WRITE NODE AND PRESSING Alt + R   "
 note_font_size 20
 note_font_color 0xacd68bff
 xpos -1312
 ypos 24287
}
StickyNote {
 inputs 0
 name StickyNote5
 tile_color 0xff
 label "    SET THE INPUT TRANSFORM TO\nACES2065-1 OR RAW    "
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos 1151
 ypos -5305
}
StickyNote {
 inputs 0
 name StickyNote10
 tile_color 0xff
 label "      SET THE INPUT TRANSFORM TO ACES2065-1 OR RAW      \nAND USE THE DISPLAY TRANSFORM NODE    "
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos 3426
 ypos -7369
}
StickyNote {
 inputs 0
 name StickyNote9
 tile_color 0xff
 label "    SET THE CORRECT INPUT TRANSFORM    \n    e.g. ACEScg"
 note_font_size 20
 note_font_color 0x63e5ffff
 xpos -2734
 ypos -7441
}
StickyNote {
 inputs 0
 name StickyNote7
 tile_color 0xff
 label "   CORRECT YOUR FRAME RANGE, FORMAT AND FPS IN PROJECT SETTINGS (S)   \n\nUSE THE \"SET_PROJECT\" GIZMO"
 note_font_size 70
 note_font_color 0x63e5ffff
 xpos -1006
 ypos -5784
}
Group {
 inputs 0
 name lin2log1
 knobChanged "\nif nuke.thisKnob().name() == \"working_space\":\n\tprint(\"test\")\n"
 tile_color 0xa28bd3ff
 note_font "Verdana Bold"
 note_font_size 48
 note_font_color 0x4e4366ff
 xpos -2900
 ypos -5502
 addUserKnob {20 User}
 addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"knobChanged\").setValue('''\nif nuke.thisKnob().name() == \"working_space\":\n\tprint(\"test\")\n''')" +STARTLINE}
 addUserKnob {41 display l "display device" T OCIODisplay1.display}
 addUserKnob {41 in_colorspace l colorspace T OCIOColorSpace1.in_colorspace}
}
 Input {
  inputs 0
  name Input1
  xpos -598
  ypos -498
 }
 OCIODisplay {
  colorspace ACES2065-1
  display "sRGB - Display"
  view "ACES 1.0 - SDR Video"
  name OCIODisplay1
  knobChanged "\nnuke.toNode(\"OCIOColorSpace1\").knob(\"out_colorspace\").setValue(nuke.thisNode().knob(\"colorspace\").value())\n"
  tile_color 0x4e4366ff
  selected true
  xpos -598
  ypos -465
  addUserKnob {20 User}
  addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
 }
 OCIOColorSpace {
  in_colorspace "ARRI LogC3 (EI800)"
  out_colorspace ACES2065-1
  name OCIOColorSpace1
  tile_color 0x4e4366ff
  label "\nchange the input to the correct colorspace\n."
  xpos -598
  ypos -428
  addUserKnob {20 User}
  addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"out_colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
 }
 Output {
  name Output1
  xpos -598
  ypos -328
 }
end_group
push $Naf062400
PostageStamp {
 name Stamp19
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 510
 ypos 23962
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MASTER_COMP_EXR
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_1f620af31
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
 file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]_Rec709.mov"
 file_type mov
 mov64_format "mov (QuickTime / MOV)"
 mov64_codec appr
 mov_prores_codec_profile "ProRes 4:4:4:4 XQ 12-bit"
 mov_h264_codec_profile "High 4:2:0 8-bit"
 mov64_pixel_format {{0} "yuv420p\tYCbCr 4:2:0 8-bit"}
 mov64_quality High
 mov64_fast_start true
 mov64_write_timecode true
 mov64_gop_size 12
 mov64_b_frames 0
 mov64_bitrate 28000
 mov64_bitrate_tolerance 0
 mov64_quality_min 1
 mov64_quality_max 3
 transformType display
 colorspace "ARRI LogC3 (EI800)"
 create_directories true
 checkHashOnRead false
 version 48
 in_colorspace ACES2065-1
 out_colorspace "ARRI LogC3 (EI800)"
 ocioColorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 name WRITE_QT_Rec709
 label "\n\n!!! Check that the framerate is correct !!!\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
 note_font "Verdana Bold"
 xpos 510
 ypos 24333
}
push $Naf062400
PostageStamp {
 name Stamp25
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos 1390
 ypos 23962
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MASTER_COMP_EXR
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_1f620af31
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
 file "\[getenv CVRT_SHOT_ROOT]/Export/dailies/\[getenv CVRT_FILENAME]_PREVIEW.mov"
 file_type mov
 mov64_format "mov (QuickTime / MOV)"
 mov64_codec appr
 mov_prores_codec_profile "ProRes 4:2:2 Proxy 10-bit"
 mov_h264_codec_profile "High 4:2:0 8-bit"
 mov64_pixel_format {{0} "yuv420p\tYCbCr 4:2:0 8-bit"}
 mov64_quality High
 mov64_fast_start true
 mov64_write_timecode true
 mov64_gop_size 12
 mov64_b_frames 0
 mov64_bitrate 28000
 mov64_bitrate_tolerance 0
 mov64_quality_min 1
 mov64_quality_max 3
 transformType display
 colorspace "ARRI LogC3 (EI800)"
 create_directories true
 checkHashOnRead false
 version 31
 in_colorspace ACES2065-1
 out_colorspace "ARRI LogC3 (EI800)"
 ocioColorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 name WRITE_QT_DAILIES
 label "\nPREVIEW\n!!! Check that the framerate is correct !!!\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
 note_font "Verdana Bold"
 xpos 1390
 ypos 24329
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard8
 xpos 2600
 ypos 23247
}
Shuffle2 {
 fromInput1 {{0} B}
 fromInput2 {{0} B}
 mappings "4 black -1 -1 rgba.red 0 0 rgba.alpha 0 3 rgba.alpha 0 3 black -1 -1 rgba.green 0 1 rgba.alpha 0 3 rgba.blue 0 2"
 name Shuffle4
 xpos 2600
 ypos 23679
}
Dot {
 name Dot28
 xpos 2622
 ypos 24126
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard10
 xpos 3260
 ypos 23247
}
Shuffle2 {
 fromInput1 {{0} B}
 fromInput2 {{0} B}
 mappings "4 black -1 -1 rgba.blue 0 2 black -1 -1 rgba.red 0 0 rgba.alpha 0 3 rgba.green 0 1 rgba.alpha 0 3 rgba.alpha 0 3"
 name Shuffle2
 xpos 3260
 ypos 23679
}
Dot {
 name Dot29
 xpos 3282
 ypos 23958
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard9
 xpos 2930
 ypos 23247
}
Shuffle2 {
 fromInput1 {{0} B}
 fromInput2 {{0} B}
 mappings "4 rgba.alpha 0 3 rgba.red 0 0 black -1 -1 rgba.green 0 1 black -1 -1 rgba.blue 0 2 rgba.alpha 0 3 rgba.alpha 0 3"
 name Shuffle1
 xpos 2930
 ypos 23679
}
Merge2 {
 inputs 2
 operation screen
 name Merge4
 xpos 2930
 ypos 23967
}
Merge2 {
 inputs 2
 operation screen
 name Merge5
 xpos 2930
 ypos 24135
}
Write {
 file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]/\[getenv CVRT_FILENAME]_MATTES/\[getenv CVRT_FILENAME]_MATTES.%04d.exr"
 file_type exr
 compression DWAA
 first_part rgba
 transformType display
 colorspace ACES2065-1
 create_directories true
 checkHashOnRead false
 version 39
 in_colorspace ACES2065-1
 out_colorspace ACES2065-1
 ocioColorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 name WRITE_EXR_MATTES
 label "\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
 note_font "Verdana Bold"
 xpos 2930
 ypos 24681
}
push $Naebbc000
PostageStamp {
 name Stamp20
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -2460
 ypos 23866
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_degrained
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_degrained}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>DENOISE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_7da7cf1af
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na74fa000
PostageStamp {
 name Stamp32
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -3340
 ypos 23866
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MAIN_COMP_DEGRAINED
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP_DEGRAINED}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." +HIDDEN T " "}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_12ba88c423
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Naf031400
PostageStamp {
 name Stamp33
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -3120
 ypos 23578
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MAIN_COMP
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MAIN_COMP}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>METADATA</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_24e470df3b
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
push $Na70e8c00
PostageStamp {
 name Stamp34
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -2680
 ypos 23578
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title FG_plate
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T FG_plate}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T <i><center>PLATE</i>}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_2d7fd50644
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Group {
 inputs 4
 name QC_1
 knobChanged "\n# hide/show \[orientation] knob\nif nuke.thisKnob().name() == \"check_type\":\n\tnuke.thisNode().knob(\"orientation\").setVisible(nuke.thisKnob().getValue() == 0)\n\tnuke.thisNode().knob(\"switch\").setVisible(nuke.thisKnob().getValue() == 1)\n\tnuke.thisNode().knob(\"highlight\").setVisible(nuke.thisKnob().getValue() == 4)\n\n# change node color\nif nuke.thisKnob().name() == \"status\":\n\tcolors = \[1283457023, 16711935, 4278190335]\n\tnuke.thisNode().knob(\"tile_color\").setValue(colors\[int(nuke.thisKnob().getValue())])\n\tnuke.thisNode().knob(\"label\").setValue(nuke.thisKnob().value())\n"
 tile_color 0x4c7fffff
 label PENDING
 note_font_size 48
 xpos -2900
 ypos 23824
 addUserKnob {20 options l OPTIONS}
 addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"knobChanged\").setValue('''\n# hide/show \[orientation] knob\nif nuke.thisKnob().name() == \"check_type\":\n\tnuke.thisNode().knob(\"orientation\").setVisible(nuke.thisKnob().getValue() == 0)\n\tnuke.thisNode().knob(\"switch\").setVisible(nuke.thisKnob().getValue() == 1)\n\tnuke.thisNode().knob(\"highlight\").setVisible(nuke.thisKnob().getValue() == 4)\n\n# change node color\nif nuke.thisKnob().name() == \"status\":\n\tcolors = \[1283457023, 16711935, 4278190335]\n\tnuke.thisNode().knob(\"tile_color\").setValue(colors\[int(nuke.thisKnob().getValue())])\n\tnuke.thisNode().knob(\"label\").setValue(nuke.thisKnob().value())\n''')" +STARTLINE}
 addUserKnob {4 status l Status: M {PENDING PASSED FAILED}}
 addUserKnob {22 set_range l "SET RANGE FROM" T "source = nuke.thisNode().knob(\"range_source\").value()\nrange_first = 1001\nrange_last = 1250\n\nif source == \"PLATE\":\n\tif nuke.thisNode().input(0):\n\t\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(0).name())\n\t\ttopnode = nuke.toNode(topnode_name)\n\t\trange_first = topnode.knob(\"first\").value()\n\t\trange_last = topnode.knob(\"last\").value()\n\nelif source == \"COMP\":\n\tif nuke.thisNode().input(1):\n\t\ttopnode_name = nuke.tcl(\"full_name \[topnode %s]\" % nuke.thisNode().input(1).name())\n\t\ttopnode = nuke.toNode(topnode_name)\n\t\trange_first = topnode.knob(\"first\").value()\n\t\trange_last = topnode.knob(\"last\").value()\n\nnuke.root().knob(\"first_frame\").setValue(range_first)\nnuke.root().knob(\"last_frame\").setValue(range_last)" +STARTLINE}
 addUserKnob {4 range_source l "" -STARTLINE M {PLATE COMP ""}}
 addUserKnob {4 check_type l Check M {side-by-side "switch PLATE/COMP" "frame size | TC | frame range" grain "difference \[highlighted]" difference neg/high NaN "" "" "" "" "" "" ""}}
 addUserKnob {4 orientation l "" -STARTLINE M {Vertical Horizontal "" ""}}
 addUserKnob {6 switch l "" -STARTLINE +HIDDEN}
 addUserKnob {18 highlight l "" -STARTLINE +HIDDEN}
 highlight {0 1 0}
 addUserKnob {6 highlight_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
 addUserKnob {26 separator l "" +STARTLINE}
 addUserKnob {26 copyright l "" +STARTLINE T "QC_AM v1.1 - Alex Munteanu"}
}
 BackdropNode {
  inputs 0
  name " "
  tile_color 0x222222ff
  label <center>
  note_font "Arial Black"
  note_font_size 100
  note_font_color 0xaeaeaeff
  xpos -1637
  ypos -759
  bdwidth 2640
  bdheight 633
 }
 BackdropNode {
  inputs 0
  name BackdropNode20
  tile_color 0x7f7f7fff
  label <center>QC
  note_font "Century Gothic Bold"
  note_font_size 200
  note_font_color 0x363636ff
  xpos -3745
  ypos 142
  bdwidth 4533
  bdheight 5503
 }
 BackdropNode {
  inputs 0
  name " 1"
  tile_color 0xb9b9b9ff
  label <center>SIDE-BY-SIDE
  note_font "Arial Black"
  note_font_size 100
  note_font_color 0x3b3b3bff
  xpos -3100
  ypos 458
  bdwidth 781
  bdheight 772
  z_order 1
 }
 BackdropNode {
  inputs 0
  name " 2"
  tile_color 0xb9b9b9ff
  label "<center>FRAME WIDTH/HEIGHT & FRAME RANGE"
  note_font "Arial Black"
  note_font_size 24
  note_font_color 0x3b3b3bff
  xpos -1361
  ypos 493
  bdwidth 592
  bdheight 737
  z_order 1
 }
 BackdropNode {
  inputs 0
  name " 3"
  tile_color 0xb9b9b9ff
  label <center>PLATE
  note_font "Arial Black"
  note_font_size 100
  note_font_color 0x3b3b3bff
  xpos -3221
  ypos -824
  bdwidth 605
  bdheight 758
  z_order 1
 }
 BackdropNode {
  inputs 0
  name " 4"
  tile_color 0xb9b9b9ff
  label <center>COMP
  note_font "Arial Black"
  note_font_size 100
  note_font_color 0x3b3b3bff
  xpos -2516
  ypos -826
  bdwidth 595
  bdheight 754
  z_order 1
 }
 BackdropNode {
  inputs 0
  name " 5"
  tile_color 0xb9b9b9ff
  label "<center>1) This will show all the differences between your plate and comp\nAdjust the gain in the difference node to effect the sensitvitiy.\n\nThis is great for checking that you're only adjusting areas that should be changed."
  note_font "Arial Black"
  note_font_size 24
  note_font_color 0x3b3b3bff
  xpos -2947
  ypos 3017
  bdwidth 1444
  bdheight 1330
  z_order 1
 }
 BackdropNode {
  inputs 0
  name " 6"
  tile_color 0xb9b9b9ff
  label "<center>Check Nan Values\n\nThese will be highlighted in Red"
  note_font "Arial Black"
  note_font_size 24
  note_font_color 0x3b3b3bff
  xpos -1397
  ypos 3072
  bdwidth 1127
  bdheight 1017
  z_order 1
 }
 BackdropNode {
  inputs 0
  name " 7"
  tile_color 0xb9b9b9ff
  label "<center>Check Negative Values/Super High Values (marked in white)\n\nCheck you are not creating negative values \nor super high values"
  note_font "Arial Black"
  note_font_size 24
  note_font_color 0x3b3b3bff
  xpos -1416
  ypos 1617
  bdwidth 1137
  bdheight 964
  z_order 1
 }
 BackdropNode {
  inputs 0
  name " 8"
  tile_color 0xb9b9b9ff
  label "<center>GRAIN check\nFrame should be completely black if nothing has been added/changed in comp"
  note_font "Arial Black"
  note_font_size 24
  note_font_color 0x3b3b3bff
  xpos -2991
  ypos 1594
  bdwidth 1466
  bdheight 1126
  z_order 1
 }
 Constant {
  inputs 0
  channels rgb
  color {{"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 0 : 1\}]"} {"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 1 : 0\}]"} 0 0}
  color_panelDropped true
  format "256 256 0 0 256 256 1 square_256"
  name Constant4
  note_font_size 24
  xpos -3592
  ypos 304
 }
 Dot {
  name Dot9
  xpos -3570
  ypos 438
 }
set Na48ce400 [stack 0]
 PostageStamp {
  name PostageStamp14
  label STATUS_ICON
  xpos -889
  ypos 3729
  hide_input true
 }
 Transform {
  translate {0 {"parent.height - height"}}
  center {128 128}
  name Transform7
  xpos -889
  ypos 3807
 }
 Input {
  inputs 0
  name COMP
  xpos -2257
  ypos -635
  number 1
 }
 Dot {
  name Dot1
  xpos -2235
  ypos -552
 }
set Na48cf400 [stack 0]
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  message "\[file tail \[value \[topnode parent.input1].file]]\nTC: \[metadata input/timecode] | fps: \[metadata input/frame_rate] | frame range: \[value \[topnode parent.input1].first] - \[value \[topnode parent.input1].last]"
  old_message {{91 102 105 108 101 32 116 97 105 108 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 108 101 93 93 10 84 67 58 32 32 124 32 102 112 115 58 32 32 124 32 102 114 97 109 101 32 114 97 110 103 101 58 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 114 115 116 93 32 45 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 108 97 115 116 93}
    }
  old_expression_markers {{18 32 45 44 53 52 76 90 108 122}
    }
  box {{"0.025 * width"} {"0.05 * height"} {"0.975 * width"} {"0.2 * height"}}
  yjustify bottom
  transforms {{0 2}
    }
  cursor_position 48
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  leading 0.2
  scale {1 1}
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{20 314.5}
    }
  group_animations {{0} imported: 0 selected: items: "root transform"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  enable_background true
  background_opacity 0.9
  background_border_x 20
  background_border_y 10
  name COMP_INFO
  xpos -2409
  ypos -465
  disable {{"parent.check_type != 0" x1043 1}}
 }
push $Na48cf400
 Switch {
  inputs 2
  which {{"\[exists parent.input1]"}}
  name Switch6
  xpos -2257
  ypos -465
 }
 Dot {
  name Dot6
  xpos -2235
  ypos -354
 }
set Na73e0000 [stack 0]
 PostageStamp {
  name PostageStamp23
  label COMP
  xpos -712
  ypos 3249
  hide_input true
 }
 Dot {
  name Dot12
  xpos -690
  ypos 3366
 }
set Na73e0800 [stack 0]
 Expression {
  expr0 "isnan(r) ? 10000 : 0"
  expr1 "isnan(g) ? 10000 : 0"
  expr2 "isnan(b) ? 10000 : 0"
  expr3 "isnan(a) ? 10000 : 0"
  name ISNAN
  xpos -712
  ypos 3567
 }
 Merge2 {
  inputs 2
  name Merge12
  xpos -712
  ypos 3807
 }
 Dot {
  name Dot29
  xpos -690
  ypos 3918
 }
set Na73e1400 [stack 0]
 PostageStamp {
  name PostageStamp52
  label NaN
  xpos 685
  ypos -495
  hide_input true
 }
push $Na48ce400
 PostageStamp {
  name PostageStamp11
  label STATUS_ICON
  xpos -709
  ypos 2217
  hide_input true
 }
 Transform {
  translate {0 {"parent.height - height"}}
  center {128 128}
  name Transform6
  xpos -709
  ypos 2302
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp22
  label COMP
  xpos -931
  ypos 1929
  hide_input true
 }
 Dot {
  name Dot7
  xpos -909
  ypos 2101
 }
set Na740a800 [stack 0]
 Dot {
  name Dot8
  xpos -1138
  ypos 2101
 }
 Expression {
  expr0 "r > 50 ? 10000 : 0"
  expr1 "g > 50 ? 10000 : 0"
  expr2 "b > 50 ? 10000 : 0"
  expr3 "a > 50 ? 10000 : 0"
  name HIGH
  xpos -1160
  ypos 2223
 }
 Dot {
  name Dot21
  xpos -1138
  ypos 2286
 }
set Na740b400 [stack 0]
 PostageStamp {
  name PostageStamp38
  label QC_HIGH
  xpos -700
  ypos 2114
  hide_input true
 }
push $Na740a800
 Expression {
  expr0 "r < 0 ? 10000 : 0"
  expr1 "g < 0 ? 10000 : 0"
  expr2 "b < 0 ? 10000 : 0"
  expr3 "a < 0 ? 10000 : 0"
  name NEGATIVE
  xpos -931
  ypos 2223
 }
 Dot {
  name Dot22
  xpos -909
  ypos 2286
 }
set Na7434000 [stack 0]
 PostageStamp {
  name PostageStamp37
  label QC_NEG
  xpos -532
  ypos 1986
  hide_input true
 }
 Merge2 {
  inputs 2
  operation plus
  name Merge2
  xpos -532
  ypos 2120
 }
 Merge2 {
  inputs 2
  name Merge11
  xpos -532
  ypos 2302
 }
 Dot {
  name Dot23
  xpos -510
  ypos 2406
 }
set Na7435000 [stack 0]
 PostageStamp {
  name PostageStamp40
  label QC_NEG_HIGH
  xpos 430
  ypos -495
  hide_input true
 }
push $Na48ce400
 PostageStamp {
  name PostageStamp13
  label STATUS_ICON
  xpos -2055
  ypos 3849
  hide_input true
 }
 Transform {
  translate {0 {"parent.height - height"}}
  center {128 128}
  name Transform5
  xpos -2055
  ypos 3927
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp29
  label COMP
  xpos -2047
  ypos 3472
  hide_input true
 }
 Input {
  inputs 0
  name PLATE
  xpos -2952
  ypos -633
 }
 Dot {
  name Dot2
  xpos -2930
  ypos -546
 }
set Na7466800 [stack 0]
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  message "\[file tail \[value \[topnode parent.input0].file]]\nTC: \[metadata input/timecode] | fps: \[metadata input/frame_rate] | frame range:\[value \[topnode parent.input0].first] - \[value \[topnode parent.input0].last]"
  old_message {{91 102 105 108 101 32 116 97 105 108 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 108 101 93 93 10 84 67 58 32 32 124 32 102 112 115 58 32 32 124 32 102 114 97 109 101 32 114 97 110 103 101 58 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 102 105 114 115 116 93 32 45 32 91 118 97 108 117 101 32 110 111 100 101 50 56 53 97 55 53 56 54 99 48 48 46 108 97 115 116 93}
    }
  old_expression_markers {{18 32 45 44 53 52 75 89 107 121}
    }
  box {{"0.025 * width"} {"0.05 * height"} {"0.975 * width"} {"0.2 * height"}}
  yjustify bottom
  transforms {{0 2}
    }
  cursor_position 165
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  leading 0.2
  scale {1 1}
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{20 314.5}
    }
  group_animations {{0} imported: 0 selected: items: "root transform"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  enable_background true
  background_opacity 0.9
  background_border_x 20
  background_border_y 10
  name PLATE_INFO
  xpos -3088
  ypos -465
  disable {{"parent.check_type != 0"}}
 }
push $Na7466800
 Switch {
  inputs 2
  which {{"\[exists parent.input0]"}}
  name Switch5
  xpos -2952
  ypos -465
 }
 Dot {
  name Dot5
  xpos -2930
  ypos -330
 }
set Na7467400 [stack 0]
 PostageStamp {
  name PostageStamp18
  label PLATE
  xpos -1878
  ypos 3369
  hide_input true
 }
 Merge2 {
  inputs 2
  operation difference
  sRGB true
  name Merge4
  xpos -1878
  ypos 3478
 }
 Merge2 {
  inputs 2
  name Merge10
  xpos -1878
  ypos 3927
 }
 Dot {
  name Dot28
  xpos -1856
  ypos 4014
 }
set Na749a400 [stack 0]
 PostageStamp {
  name PostageStamp50
  label DIFFERENCE
  xpos 180
  ypos -495
  hide_input true
 }
push $Na48ce400
 PostageStamp {
  name PostageStamp12
  label STATUS_ICON
  xpos -2847
  ypos 3849
  hide_input true
 }
 Transform {
  translate {0 {"parent.height - height"}}
  center {128 128}
  name Transform4
  xpos -2847
  ypos 3927
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp28
  label COMP
  xpos -2670
  ypos 3273
  hide_input true
 }
 Dot {
  name Dot14
  xpos -2648
  ypos 3397
 }
set Na749b800 [stack 0]
 Dot {
  name Dot15
  xpos -2363
  ypos 3397
 }
push $Na7467400
 PostageStamp {
  name PostageStamp19
  label PLATE
  xpos -2221
  ypos 3472
  hide_input true
 }
 Difference {
  inputs 2
  gain 100
  name Difference7
  xpos -2385
  ypos 3472
 }
 Shuffle2 {
  fromInput1 {{0} B}
  fromInput2 {{0} B}
  mappings "4 rgba.alpha 0 3 rgba.red 0 0 rgba.alpha 0 3 rgba.green 0 1 rgba.alpha 0 3 rgba.blue 0 2 rgba.alpha 0 3 rgba.alpha 0 3"
  name Shuffle1
  xpos -2385
  ypos 3561
 }
 Dot {
  name Dot16
  xpos -2363
  ypos 3637
 }
set Na71d2c00 [stack 0]
 Constant {
  inputs 0
  channels rgb
  color {{parent.highlight.r} {parent.highlight.g} {parent.highlight.b} 1}
  color_panelDropped true
  format "256 256 0 0 256 256 1 square_256"
  name Constant1
  xpos -2873
  ypos 3622
 }
push $Na749b800
 Keymix {
  inputs 3
  name Keymix1
  xpos -2670
  ypos 3640
 }
 Merge2 {
  inputs 2
  name Merge9
  xpos -2670
  ypos 3927
 }
 Dot {
  name Dot26
  xpos -2648
  ypos 4014
 }
set Na71d3c00 [stack 0]
 PostageStamp {
  name PostageStamp48
  label DIFFERENCE_HIGHLIGHT
  xpos -136
  ypos -495
  hide_input true
 }
push $Na48ce400
 PostageStamp {
  name PostageStamp10
  label STATUS_ICON
  xpos -2038
  ypos 2361
  hide_input true
 }
 Transform {
  translate {0 {"parent.height - height"}}
  center {128 128}
  name Transform3
  xpos -2038
  ypos 2422
 }
 Input {
  inputs 0
  name DEGRAINED_PLATE
  label optional
  xpos -2925
  ypos 2223
  number 3
 }
push $Na7467400
 PostageStamp {
  name PostageStamp16
  label PLATE
  xpos -2659
  ypos 1857
  hide_input true
 }
 Dot {
  name Dot37
  xpos -2637
  ypos 2022
 }
set Na7201400 [stack 0]
 Dot {
  name Dot38
  xpos -2747
  ypos 2022
 }
 Blur {
  size 7
  name Blur1
  xpos -2769
  ypos 2145
 }
 set Ca7201c00 [stack 0]
 Switch {
  inputs 2
  which {{"\[expr \{\[exists parent.input2] && \[exists parent.input3]\}]"}}
  name Switch2
  xpos -2769
  ypos 2229
 }
 set Ca7222000 [stack 0]
push $Na7201400
 Merge2 {
  inputs 2
  operation from
  name Merge3
  xpos -2659
  ypos 2229
 }
 Grade {
  white 30
  name Grade1
  xpos -2659
  ypos 2397
 }
 set Ca7222800 [stack 0]
 Dot {
  name Dot18
  xpos -2637
  ypos 2454
 }
set Na7222c00 [stack 0]
 PostageStamp {
  name PostageStamp31
  label PLATE_GRAIN
  xpos -2020
  ypos 2241
  hide_input true
 }
 Input {
  inputs 0
  name DEGRAINED_COMP
  label optional
  xpos -2501
  ypos 2301
  number 2
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp21
  label COMP
  xpos -2208
  ypos 1857
  hide_input true
 }
 Dot {
  name Dot39
  xpos -2186
  ypos 2016
 }
set Na7223c00 [stack 0]
 Dot {
  name Dot40
  xpos -2296
  ypos 2016
 }
clone $Ca7201c00 {
  xpos -2318
  ypos 2139
  selected false
 }
clone $Ca7222000 {
  inputs 2
  xpos -2318
  ypos 2307
  selected false
 }
push $Na7223c00
 Merge2 {
  inputs 2
  operation from
  name Merge6
  xpos -2208
  ypos 2307
 }
clone $Ca7222800 {
  xpos -2208
  ypos 2391
  selected false
 }
 Dot {
  name Dot19
  xpos -2186
  ypos 2454
 }
set Na7255400 [stack 0]
 PostageStamp {
  name PostageStamp33
  label COMP_GRAIN
  xpos -1861
  ypos 2128
  hide_input true
 }
 Merge2 {
  inputs 2
  operation difference
  sRGB true
  name Merge5
  xpos -1861
  ypos 2247
 }
 Merge2 {
  inputs 2
  name Merge8
  xpos -1861
  ypos 2422
 }
 Dot {
  name Dot20
  xpos -1839
  ypos 2502
 }
set Na7280400 [stack 0]
 PostageStamp {
  name PostageStamp41
  label QC_GRAIN
  xpos -466
  ypos -495
  hide_input true
 }
 Constant {
  inputs 0
  channels rgb
  color {{"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 0 : 1\}]"} {"\[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] && \[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] && \[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] && \[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] && \[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? 1 : 0\}]"} 0 0}
  color_panelDropped true
  name Constant3
  note_font_size 24
  xpos -1105
  ypos 608
 }
set Na7280c00 [stack 0]
 Reformat {
  type "to box"
  box_width {{"\[topnode parent.input1].width"}}
  box_height {{"\[topnode parent.input1].height"}}
  box_fixed true
  center false
  name REFORMAT_TO_PLATE
  xpos -1255
  ypos 759
 }
push $Na7280c00
 Switch {
  inputs 2
  which {{"\[exists parent.input0]"}}
  name Switch3
  xpos -1105
  ypos 836
 }
set Na7281800 [stack 0]
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  cliptype union
  message "WIDTH: \[expr \{\[value \[topnode parent.input0].width] == \[value \[topnode parent.input1].width] ? \"OK\" : \"MISMATCH\"\}]\nHEIGHT: \[expr \{\[value \[topnode parent.input0].height] == \[value \[topnode parent.input1].height] ? \"OK\" : \"MISMATCH\"\}]\n\nTC: \[expr \{\[metadata -n parent.input0 input/timecode] == \[metadata -n parent.input1 input/timecode] ? \"OK\" : \"MISMATCH\"\}]\n\nRANGE START: \[expr \{\[value \[topnode parent.input0].first] == \[value \[topnode parent.input1].first] ? \"OK\" : \"MISMATCH\"\}]\nRANGE END: \[expr \{\[value \[topnode parent.input0].last] == \[value \[topnode parent.input1].last] ? \"OK\" : \"MISMATCH\"\}]"
  old_message {{87 73 68 84 72 58 32 79 75 10 72 69 73 71 72 84 58 32 79 75 10 10 84 67 58 32 77 73 83 77 65 84 67 72 10 10 82 65 78 71 69 32 83 84 65 82 84 58 32 79 75 10 82 65 78 71 69 32 69 78 68 58 32 79 75}
    }
  old_expression_markers {{7 8 18 19 26 33 49 50 63 64}
    }
  box {0 0 {width} {height}}
  xjustify center
  yjustify center
  transforms {{0 2}
    }
  cursor_position 317
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  global_font_scale 2
  leading 0.2
  scale {1 1}
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{20 314.5}
    }
  group_animations {{0} imported: 0 selected: items: "root transform"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  enable_background true
  background_opacity 0.9
  background_border_x 20
  background_border_y 10
  name CHECK_WIDTH_HEIGHT_FRAMERANGE
  xpos -1273
  ypos 946
 }
push $Na7281800
 Switch {
  inputs 2
  which {{"\[expr \{\[exists parent.input0] && \[exists parent.input1]\}]"}}
  name Switch4
  xpos -1105
  ypos 946
 }
 Dot {
  name Dot25
  xpos -1083
  ypos 1046
 }
set Na72ba400 [stack 0]
 PostageStamp {
  name PostageStamp45
  label WIDTH_HEIGHT_FRAMERANGE
  xpos -810
  ypos -495
  hide_input true
 }
push $Na48ce400
 PostageStamp {
  name PostageStamp7
  label STATUS_ICON
  xpos -1867
  ypos 763
  hide_input true
 }
 Transform {
  translate {0 {"parent.height - height"}}
  center {128 128}
  name Transform2
  xpos -1867
  ypos 838
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp20
  label COMP
  xpos -1690
  ypos 633
  hide_input true
 }
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  message COMP
  old_message {{67 79 77 80}
    }
  box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
  xjustify center
  yjustify bottom
  transforms {{0 2}
    }
  cursor_position 4
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  global_font_scale 2
  leading 0.2
  scale {1 1}
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{20 314.5}
    }
  group_animations {{0} imported: 0 selected: items: "root transform"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  enable_background true
  background_opacity 0.9
  background_border_x 20
  background_border_y 10
  name Text1
  xpos -1690
  ypos 735
 }
 Merge2 {
  inputs 2
  name Merge7
  xpos -1690
  ypos 838
 }
 Dot {
  name Dot3
  xpos -1668
  ypos 957
 }
push $Na7467400
 PostageStamp {
  name PostageStamp15
  label PLATE
  xpos -2041
  ypos 633
  hide_input true
 }
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  message PLATE
  old_message {{80 76 65 84 69}
    }
  box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
  xjustify center
  yjustify bottom
  transforms {{0 2}
    }
  cursor_position 5
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  global_font_scale 2
  leading 0.2
  scale {1 1}
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{20 314.5}
    }
  group_animations {{0} imported: 0 selected: items: "root transform"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  enable_background true
  background_opacity 0.9
  background_border_x 20
  background_border_y 10
  name Text2
  xpos -2041
  ypos 735
 }
 Dot {
  name Dot4
  xpos -2019
  ypos 957
 }
 Switch {
  inputs 2
  which {{parent.switch}}
  name Switch1
  xpos -1846
  ypos 966
 }
 Dot {
  name Dot24
  xpos -1824
  ypos 1062
 }
set Na72f9400 [stack 0]
 PostageStamp {
  name PostageStamp43
  label SWITCH_PLATE_COMP
  xpos -1140
  ypos -495
  hide_input true
 }
push $Na48ce400
 PostageStamp {
  name PostageStamp6
  label STATUS_ICON
  xpos -3010
  ypos 897
  hide_input true
 }
 Transform {
  translate {0 {"parent.height - width"}}
  center {128 128}
  name Transform1
  xpos -3010
  ypos 985
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp4
  label COMP
  xpos -2655
  ypos 657
  hide_input true
 }
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  message COMP
  old_message {{67 79 77 80}
    }
  box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
  xjustify center
  yjustify bottom
  transforms {{0 2}
    }
  cursor_position 4
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  global_font_scale 2
  leading 0.2
  scale {1 1}
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{20 314.5}
    }
  group_animations {{0} imported: 0 selected: items: "root transform"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  enable_background true
  background_opacity 0.9
  background_border_x 20
  background_border_y 10
  name Text5
  xpos -2655
  ypos 748
 }
push $Na7467400
 PostageStamp {
  name PostageStamp3
  label PLATE
  xpos -2844
  ypos 657
  hide_input true
 }
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  message PLATE
  old_message {{80 76 65 84 69}
    }
  box {{"0.025 * width"} {"0.9 * height"} {"0.975 * width"} {"1 * height"}}
  xjustify center
  yjustify bottom
  transforms {{0 2}
    }
  cursor_position 5
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  global_font_scale 2
  leading 0.2
  scale {1 1}
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{20 314.5}
    }
  group_animations {{0} imported: 0 selected: items: "root transform"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  enable_background true
  background_opacity 0.9
  background_border_x 20
  background_border_y 10
  name Text4
  xpos -2844
  ypos 752
 }
 ContactSheet {
  inputs 2
  width {{"columns * input.width"}}
  height {{"rows * input.height"}}
  rows {{"parent.orientation == 0 ? 2 : 1"}}
  columns {{"parent.orientation == 1 ? 2 : 1"}}
  center true
  roworder TopBottom
  name ContactSheet1
  xpos -2767
  ypos 872
 }
 Merge2 {
  inputs 2
  name Merge1
  xpos -2767
  ypos 985
 }
 Dot {
  name Dot10
  xpos -2745
  ypos 1040
 }
set Nafa7bc00 [stack 0]
 PostageStamp {
  name PostageStamp9
  label SIDE_BY_SIDE
  xpos -1392
  ypos -484
  hide_input true
 }
 Switch {
  inputs 8
  which {{parent.check_type}}
  name check_type
  xpos -706
  ypos -273
 }
 Output {
  name Output1
  xpos -706
  ypos -211
 }
push $Nafa7bc00
 PostageStamp {
  name PostageStamp8
  label SIDE_BY_SIDE
  xpos -2767
  ypos 1154
  hide_input true
 }
push $Na48ce400
 PostageStamp {
  name PostageStamp5
  label STATUS_ICON
  xpos -3592
  ypos 573
  hide_input true
 }
push $Na7467400
 PostageStamp {
  name PostageStamp1
  label PLATE
  xpos -2952
  ypos -217
  hide_input true
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp2
  label COMP
  xpos -2257
  ypos -231
  hide_input true
 }
push $Na7467400
 PostageStamp {
  name PostageStamp17
  label PLATE
  xpos -810
  ypos 1929
  hide_input true
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp24
  label COMP
  xpos -1078
  ypos 4257
  hide_input true
 }
 ColorCorrect {
  saturation 0
  contrast 2.5
  name ColorCorrect1
  xpos -1078
  ypos 4383
 }
 Dot {
  name Dot13
  xpos -1055
  ypos 4446
 }
 PostageStamp {
  name PostageStamp26
  label B&W
  xpos -1077
  ypos 4577
  hide_input true
 }
push $Na73e0000
 PostageStamp {
  name PostageStamp25
  label COMP
  xpos -480
  ypos 4257
  hide_input true
 }
 Saturation {
  saturation 9
  name Saturation1
  xpos -480
  ypos 4383
 }
 Dot {
  name Dot17
  xpos -458
  ypos 4446
 }
 PostageStamp {
  name PostageStamp27
  label SATURATION
  xpos -480
  ypos 4569
  hide_input true
 }
push $Na7222c00
 PostageStamp {
  name PostageStamp30
  label PLATE_GRAIN
  xpos -2659
  ypos 2536
  hide_input true
 }
push $Na7255400
 PostageStamp {
  name PostageStamp32
  label COMP_GRAIN
  xpos -2208
  ypos 2545
  hide_input true
 }
push $Na7280400
 PostageStamp {
  name PostageStamp34
  label QC_GRAIN
  xpos -1861
  ypos 2601
  hide_input true
 }
push $Na740b400
 PostageStamp {
  name PostageStamp35
  label QC_HIGH
  xpos -1160
  ypos 2361
  hide_input true
 }
push $Na7434000
 PostageStamp {
  name PostageStamp36
  label QC_NEG
  xpos -931
  ypos 2361
  hide_input true
 }
push $Na72f9400
 PostageStamp {
  name PostageStamp42
  label SWITCH_PLATE_COMP
  xpos -1846
  ypos 1241
  hide_input true
 }
push $Na72ba400
 PostageStamp {
  name PostageStamp44
  label WIDTH_HEIGHT_FRAMERANGE
  xpos -1105
  ypos 1161
  hide_input true
 }
push $Na71d2c00
 Dot {
  name Dot27
  xpos -2363
  ypos 4014
 }
 PostageStamp {
  name PostageStamp47
  label DIFFERENCE_ALPHA
  xpos -2385
  ypos 4137
  hide_input true
 }
push $Na71d3c00
 PostageStamp {
  name PostageStamp46
  label DIFFERENCE_HIGHLIGHT
  xpos -2670
  ypos 4137
  hide_input true
 }
push $Na749a400
 PostageStamp {
  name PostageStamp49
  label DIFFERENCE
  xpos -1878
  ypos 4137
  hide_input true
 }
push $Na73e1400
 PostageStamp {
  name PostageStamp51
  label NaN
  xpos -712
  ypos 4017
  hide_input true
 }
push $Na73e0800
 Expression {
  channel0 rgba
  expr0 isnan(r)
  channel1 rgba
  expr1 isnan(g)
  channel2 rgba
  expr2 isnan(b)
  name Expression4
  xpos -840
  ypos 3464
  disable true
 }
 Expression {
  channel0 rgba
  expr0 clamp(r+g+b)
  channel1 rgba
  expr1 clamp(r+g+b)
  channel2 rgba
  expr2 clamp(r+g+b)
  channel3 rgba
  expr3 clamp(r+g+b)
  name Expression5
  xpos -840
  ypos 3511
  disable true
 }
 Constant {
  inputs 0
  channels rgb
  color {1 0 0 0}
  color_panelDropped true
  name Constant2
  xpos -1250
  ypos 3487
  disable true
 }
push $Na73e0800
 Dot {
  name Dot11
  xpos -994
  ypos 3366
 }
 Keymix {
  inputs 3
  name Keymix2
  xpos -1016
  ypos 3505
  disable true
 }
push $Na7435000
 PostageStamp {
  name PostageStamp39
  label QC_NEG_HIGH
  xpos -532
  ypos 2505
  hide_input true
 }
push $Na48cf400
 PostageStamp {
  name PostageStamp54
  label COMP
  xpos -2036
  ypos 4579
  hide_input true
 }
 Dot {
  name Dot31
  xpos -2014
  ypos 4734
 }
set Nafb80c00 [stack 0]
 TimeOffset {
  time_offset 1
  time ""
  name TimeOffset2
  xpos -2192
  ypos 4877
 }
push $Nafb80c00
 Merge2 {
  inputs 2
  operation difference
  sRGB true
  name Merge14
  xpos -2036
  ypos 4877
 }
 Expression {
  expr0 "r == 0 ? 10000 : 0"
  expr1 "g == 0 ? 10000 : 0"
  expr2 "b == 0 ? 10000 : 0"
  expr3 "a == 0 ? 10000 : 0"
  name DISPLAY2
  xpos -2036
  ypos 4965
 }
push $Na7466800
 PostageStamp {
  name PostageStamp53
  label PLATE
  xpos -2731
  ypos 4593
  hide_input true
 }
 Dot {
  name Dot30
  xpos -2709
  ypos 4744
 }
set Nafb81c00 [stack 0]
 TimeOffset {
  time_offset 1
  time ""
  name TimeOffset1
  xpos -2887
  ypos 4887
 }
set Naed1d700 [stack 0]
push $Nafb81c00
 Merge2 {
  inputs 2
  operation difference
  sRGB true
  name Merge13
  xpos -2731
  ypos 4887
 }
 Expression {
  expr0 "r == 0 ? 10000 : 0"
  expr1 "g == 0 ? 10000 : 0"
  expr2 "b == 0 ? 10000 : 0"
  expr3 "a == 0 ? 10000 : 0"
  name DISPLAY1
  xpos -2731
  ypos 4975
 }
 BlinkScript {
  inputs 0
  recompileCount 2
  ProgramGroup 1
  KernelDescription "3 \"DuplicatedFrames\" iterate pixelWise 8bf42c540d2893ab01859b6f1ba0969a366c433fcf6f5cc7644c5acabe4a6134 2 \"src\" Read Point \"dst\" Write Point 0 0 0"
  kernelSource "\nkernel DuplicatedFrames : ImageComputationKernel<ePixelWise>\n\{\n  Image<eRead, eAccessPoint, eEdgeClamped> src; // the input image\n  Image<eWrite> dst; // the output image\n\n  param:\n\n\n  // In define(), parameters can be given labels and default values.\n  void define() \{\n\n  \}\n\n  // The init() function is run before any calls to process().\n  // Local variables can be initialized here.\n  void init() \{\n  \}\n\n  void process() \{\n    // Read the input image\n    SampleType(src) input = src();\n\n    // Isolate the RGBA components\n    float4 srcPixel(input.x, input.y, input.z, input.w);\n    \n    float mark = 0.0f;\n\n    if (srcPixel.x > 0.0f || srcPixel.y > 0.0f || srcPixel.z > 0.0f || srcPixel.w > 0.0f) \{\n      mark = 1.0f;\n    \}\n\n    dst() = float4(mark, 0.0f, 0.0f, 0.0f);\n  \}\n\};\n"
  rebuild ""
  rebuild_finalise ""
  name BlinkScript2
  xpos -2509
  ypos 4938
 }
 BlinkScript {
  inputs 0
  recompileCount 13
  ProgramGroup 1
  KernelDescription "3 \"DuplicatedFrames\" iterate pixelWise 4bc177c43a4f70507460cb63ecb623c7d194e2c006c37326230da1462f1523ab 3 \"current_frame\" Read Point \"previous_frame\" Read Point \"dst\" Write Point 0 0 0"
  kernelSource "\nkernel DuplicatedFrames : ImageComputationKernel<ePixelWise>\n\{\n    Image<eRead, eAccessPoint, eEdgeClamped> current_frame;\n    Image<eRead, eAccessPoint, eEdgeClamped> previous_frame;\n    Image<eWrite> dst; // the output image\n    \n    param:\n        \n    void define()\n    \{\n    \n    \}\n    \n    void init()\n    \{\n    \n    \}\n    \n    void process()\n    \{\n        float4 rgba = current_frame();\n    \n        float mark = 0.0f;\n\n        if (rgba.x == 0.0f && rgba.y == 0.0f && rgba.z == 0.0f) \{\n            mark = 1.0f;\n        \} else \{\n            mark = 0.0f;\n        \}\n\n        dst() = mark;\n    \}\n\};\n"
  rebuild ""
  rebuild_finalise ""
  name BlinkScript3
  xpos -2462
  ypos 4819
 }
push $Nafb81c00
push $Naed1d700
push $Nafb81c00
 BlinkScript {
  inputs 2
  recompileCount 16
  ProgramGroup 1
  KernelDescription "3 \"DuplicatedFrames\" iterate pixelWise 4bc177c43a4f70507460cb63ecb623c7d194e2c006c37326230da1462f1523ab 3 \"current_frame\" Read Point \"previous_frame\" Read Point \"dst\" Write Point 0 0 0"
  kernelSource "\nkernel DuplicatedFrames : ImageComputationKernel<ePixelWise>\n\{\n    Image<eRead, eAccessPoint, eEdgeClamped> current_frame;\n    Image<eRead, eAccessPoint, eEdgeClamped> next_frame;\n    Image<eWrite> dst; // the output image\n    \n    param:\n        \n    void define()\n    \{\n    \n    \}\n    \n    void init()\n    \{\n    \n    \}\n    \n    void process()\n    \{\n        float4 rgba_current = current_frame();\n        float4 rgba_next = next_frame();\n    \n        float mark = 0.0f;\n\n        if (rgba_current == rgba_next) \{\n            mark = 1.0f;\n        \} else \{\n            mark = 0.0f;\n        \}\n\n        dst() = mark;\n    \}\n\};\n"
  rebuild ""
  rebuild_finalise ""
  name BlinkScript1
  xpos -2556
  ypos 5033
 }
push 0
 Viewer {
  inputs 3
  frame_range 1001-1142
  fps 25
  input_number 1
  colour_sample_bbox {0.8237410188 -0.3687050343 0.8241906762 -0.3660072088}
  viewerProcess "ACES 1.0 - SDR Video (sRGB - Display)"
  name Viewer1
  xpos -4621
  ypos 5823
 }
end_group
push $Naf062400
PostageStamp {
 name Stamp27
 help "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021"
 onCreate "if nuke.GUI:\n    try:\n        import stamps; stamps.wiredOnCreate()\n    except:\n        pass\n"
 knobChanged "import stamps; stamps.wiredKnobChanged()"
 autolabel "nuke.thisNode().knob(\"title\").value()"
 tile_color 0x1000001
 note_font Verdana
 note_font_size 20
 xpos -260
 ypos 23962
 hide_input true
 addUserKnob {20 wired_tab l "Wired Stamp"}
 addUserKnob {26 identifier -STARTLINE +HIDDEN T wired}
 addUserKnob {3 lockCallbacks l "" +STARTLINE +HIDDEN}
 addUserKnob {6 toReconnect -STARTLINE +HIDDEN}
 addUserKnob {1 title l Title: t "Displayed name on the Node Graph for this Stamp and its Anchor.\nIMPORTANT: This is only for display purposes, and is different from the real/internal name of the Stamps."}
 title MASTER_COMP_EXR
 addUserKnob {26 prev_title l "" +STARTLINE +HIDDEN T MASTER_COMP_EXR}
 addUserKnob {26 tags l Tags: t "Tags of this stamp's Anchor, for information purpose only.\nClick \"show anchor\" to change them." T <i>2D</i>}
 addUserKnob {26 backdrops l Backdrops: t "Labels of backdrop nodes which contain this stamp's Anchor." T "<i><center>ACES,<center>MASTER OUTPUT,<center>OUT</i>"}
 addUserKnob {26 line1 l "" +STARTLINE}
 addUserKnob {6 postageStamp_show l "postage stamp" t "Enable the postage stamp thumbnail in this node.\nYou're seeing this because the class of this node includes the postage_stamp knob." +STARTLINE}
 addUserKnob {26 anchor_label l Anchor: T " "}
 addUserKnob {22 show_anchor l " show anchor " t "Show the properties panel for this Stamp's Anchor." -STARTLINE T stamps.wiredShowAnchor()}
 addUserKnob {22 zoom_anchor l "zoom anchor" t "Navigate to this Stamp's Anchor on the Node Graph." -STARTLINE T stamps.wiredZoomAnchor()}
 addUserKnob {26 stamps_label l Stamps: T " "}
 addUserKnob {22 zoomNext l " zoom next " t "Navigate to this Stamp's next sibling on the Node Graph." -STARTLINE T stamps.wiredZoomNext()}
 addUserKnob {22 selectSimilar l " select similar " t "Select all similar Stamps to this one on the Node Graph." -STARTLINE T stamps.wiredSelectSimilar()}
 addUserKnob {26 space_1 l "" +STARTLINE T " "}
 addUserKnob {26 reconnect_label l Reconnect: t "Reconnect by the stored Anchor name." T " "}
 addUserKnob {22 reconnect_this l this t "Reconnect this Stamp to its Anchor, by its stored Anchor name." -STARTLINE T "n = nuke.thisNode()\ntry:\n    n.setInput(0,nuke.toNode(n.knob(\"anchor\").value()))\nexcept:\n    nuke.message(\"Unable to reconnect.\")\ntry:\n    import stamps\n    stamps.wiredGetStyle(n)\nexcept:\n    pass\n"}
 addUserKnob {22 reconnect_similar l similar t "Reconnect this Stamp and similar ones to their Anchor, by their stored anchor name." -STARTLINE T stamps.wiredReconnectSimilar()}
 addUserKnob {22 reconnect_all l all t "Reconnect all the Stamps to their Anchors, by their stored anchor names." -STARTLINE T stamps.wiredReconnectAll()}
 addUserKnob {26 space_2 l "" +STARTLINE T " "}
 addUserKnob {20 advanced_reconnection l "Advanced Reconnection" n 2}
 addUserKnob {26 reconnect_by_title_label l "<font color=gold>By Title:" t "Reconnect by searching for a matching title." T " "}
 addUserKnob {22 reconnect_by_title_this l this t "Look for an Anchor that shares this Stamp's title, and connect this Stamp to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitle()}
 addUserKnob {22 reconnect_by_title_similar l similar t "Look for an Anchor that shares this Stamp's title, and connect this Stamp and similar ones to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSimilar()}
 addUserKnob {22 reconnect_by_title_selected l selected t "For each Stamp selected, look for an Anchor that shares its title, and connect to it.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectByTitleSelected()}
 addUserKnob {26 reconnect_by_selection_label l "<font color=orangered>By Selection:" t "Force reconnect to a selected Anchor." T " "}
 addUserKnob {22 reconnect_by_selection_this l this t "Force reconnect this Stamp to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelection()}
 addUserKnob {22 reconnect_by_selection_similar l similar t "Force reconnect this Stamp and similar ones to a selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSimilar()}
 addUserKnob {22 reconnect_by_selection_selected l selected t "Force reconnect all selected Stamps to an also selected Anchor, whatever its name or title.\nIMPORTANT: Use this carefully, and only when the normal reconnection doesn't work." -STARTLINE T stamps.wiredReconnectBySelectionSelected()}
 addUserKnob {1 anchor l Anchor}
 anchor Anchor_1f620af31
 addUserKnob {6 auto_reconnect_by_title l "<font color=#ED9977>&nbsp; auto-reconnect by title" t "When creating this stamp again (like on copy-paste), auto-reconnect it by title instead of doing it by the saved anchor's name, and auto-turn this off immediately.\nIMPORTANT: Should be off by default. Only use this for setting up templates." +STARTLINE}
 addUserKnob {26 line2 l "" +STARTLINE}
 addUserKnob {22 buttonHelp l Help -STARTLINE T stamps.showHelp()}
 addUserKnob {26 version l " " t "Stamps by Adrian Pueyo and Alexey Kuchinski.\nUpdated May 18 2021." -STARTLINE T "<a href=\"http://www.nukepedia.com/gizmos/other/stamps\" style=\"color:#666;text-decoration: none;\"><span style=\"color:#666\"> <big>Stamps v1.1</big></b></a>"}
}
Write {
 file "\[getenv CVRT_SHOT_ROOT]/Export/sends/\[getenv CVRT_FILENAME]_\[regsub -all \{^_+|_+\$\} \[regsub -all \{\[^a-zA-Z0-9]+\} \[regsub -all \{\[\\s.]+\} \[value this.colorspace] \"\"] \"_\"] \"\"].mov"
 file_type mov
 mov64_format "mov (QuickTime / MOV)"
 mov64_codec appr
 mov_prores_codec_profile "ProRes 4:4:4:4 XQ 12-bit"
 mov_h264_codec_profile "High 4:2:0 8-bit"
 mov64_pixel_format {{0} "yuv420p\tYCbCr 4:2:0 8-bit"}
 mov64_quality High
 mov64_fast_start true
 mov64_write_timecode true
 mov64_gop_size 12
 mov64_b_frames 0
 mov64_bitrate 28000
 mov64_bitrate_tolerance 0
 mov64_quality_min 1
 mov64_quality_max 3
 colorspace "ARRI LogC3 (EI800)"
 create_directories true
 checkHashOnRead false
 version 31
 in_colorspace ACES2065-1
 out_colorspace "ARRI LogC3 (EI800)"
 ocioColorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 name WRITE_QT_LOG
 label "\n\n!!! Please set the correct output transform !!!\n!!! Check that the framerate is correct !!!\n\n\n\[python os.path.normpath(nuke.thisNode().knob(\"file\").evaluate())]"
 note_font "Verdana Bold"
 xpos -260
 ypos 24316
}
Input {
 inputs 0
 name PIPELINE
 onCreate "\nif nuke.thisNode():\n    try:\n        import os\n        import re\n        from pathlib import Path, PureWindowsPath\n    \n    \n        # SET ENVIRONMENT VARIABLES\n        class get_env_vars_from_node:\n            def sanitize_str(self, str):\n                return (\n                    re.sub(\n                        r\"_\{2,\}\",\n                        \"_\",\n                        re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n                    ).strip(\"_\")\n                    if str\n                    else \"\"\n                )\n        \n        \n            def get_version(self, str):\n                pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n                match = re.search(pattern, str.lower())\n        \n        \n        \n                if match:\n                    return match.group(1).zfill(3)\n                else:\n                    return None\n        \n        \n            def __init__(self, node):\n                node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n                self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n                self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n                self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n        \n        \n                self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n                node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n                node.knob(\"shot_root_display\").setValue(self.shot_root)\n        \n        \n                self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n                # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n        \n        \n                self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n                self.show_name = (\n                    node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n                )\n                self.show_id = (\n                    self.sanitize_str(node.knob(\"show_id\").getValue())\n                    if node.knob(\"show_id\")\n                    else \"\"\n                )\n                self.sequence = (\n                    self.sanitize_str(node.knob(\"sequence\").getValue())\n                    if node.knob(\"sequence\")\n                    else \"\"\n                )\n                self.shot = (\n                    self.sanitize_str(node.knob(\"shot\").getValue())\n                    if node.knob(\"shot\")\n                    else \"\"\n                )\n                self.scope = (\n                    self.sanitize_str(node.knob(\"scope\").getValue())\n                    if node.knob(\"scope\")\n                    else \"\"\n                )\n        \n        \n                #self.username = os.getenv(\"USERNAME\")\n                #self.machine = os.getenv(\"COMPUTERNAME\")\n                self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n                self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n        \n                if node\[\"use_upper\"].value():\n                    self.filename = \"_\".join(\n                        filter(\n                            None,\n                            \[\n                                self.show_id.upper(),\n                                self.sequence.upper(),\n                                self.shot.upper(),\n                                self.scope.upper(),\n                                self.script_version,\n                            ],\n                        )\n                    )\n                else:\n                    self.filename = \"_\".join(\n                        filter(\n                            None,\n                            \[\n                                self.show_id.lower(),\n                                self.sequence.lower(),\n                                self.shot.lower(),\n                                self.scope.lower(),\n                                self.script_version,\n                            ],\n                        )\n                    )\n        \n        \n        env_vars = get_env_vars_from_node(node=nuke.thisNode())\n        \n        \n        os.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\n        os.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\n        os.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\n        os.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\n        os.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\n        os.environ\[\"CVRT_SHOT\"] = env_vars.shot\n        os.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\n        os.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\n        os.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\n        os.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\n        os.environ\[\"CVRT_SCOPE\"] = env_vars.scope\n        os.environ\[\"CVRT_FILENAME\"] = env_vars.filename\n        os.environ\[\"CVRT_AUTHOR\"] = env_vars.author\n        os.environ\[\"CVRT_NOTES\"] = env_vars.notes\n        #os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n        #os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n    except:\n        pass\n"
 knobChanged "\nimport os\nimport re\nfrom pathlib import Path, PureWindowsPath\n\n# SET ENVIRONMENT VARIABLES\nclass get_env_vars_from_node:\n    def sanitize_str(self, str):\n        return (\n            re.sub(\n                r\"_\{2,\}\",\n                \"_\",\n                re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n            ).strip(\"_\")\n            if str\n            else \"\"\n        )\n\n    def get_version(self, str):\n        pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n        match = re.search(pattern, str.lower())\n\n\n        if match:\n            return match.group(1).zfill(3)\n        else:\n            return None\n\n    def __init__(self, node):\n        node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n        self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n        self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n        self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n\n        self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n        node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n        node.knob(\"shot_root_display\").setValue(self.shot_root)\n\n        self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n        # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n\n        self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n        self.show_name = (\n            node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n        )\n        self.show_id = (\n            self.sanitize_str(node.knob(\"show_id\").getValue())\n            if node.knob(\"show_id\")\n            else \"\"\n        )\n        self.sequence = (\n            self.sanitize_str(node.knob(\"sequence\").getValue())\n            if node.knob(\"sequence\")\n            else \"\"\n        )\n        self.shot = (\n            self.sanitize_str(node.knob(\"shot\").getValue())\n            if node.knob(\"shot\")\n            else \"\"\n        )\n        self.scope = (\n            self.sanitize_str(node.knob(\"scope\").getValue())\n            if node.knob(\"scope\")\n            else \"\"\n        )\n\n        #self.username = os.getenv(\"USERNAME\")\n        #self.machine = os.getenv(\"COMPUTERNAME\")\n        self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n        self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n\n        if node\[\"use_upper\"].value():\n            self.filename = \"_\".join(\n                filter(\n                    None,\n                    \[\n                        self.show_id.upper(),\n                        self.sequence.upper(),\n                        self.shot.upper(),\n                        self.scope.upper(),\n                        self.script_version,\n                    ],\n                )\n            )\n        else:\n            self.filename = \"_\".join(\n                filter(\n                    None,\n                    \[\n                        self.show_id.lower(),\n                        self.sequence.lower(),\n                        self.shot.lower(),\n                        self.scope.lower(),\n                        self.script_version,\n                    ],\n                )\n            )\n\nenv_vars = get_env_vars_from_node(node=nuke.thisNode())\n\nos.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\nos.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\nos.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\nos.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\nos.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\nos.environ\[\"CVRT_SHOT\"] = env_vars.shot\nos.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\nos.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\nos.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\nos.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\nos.environ\[\"CVRT_SCOPE\"] = env_vars.scope\nos.environ\[\"CVRT_FILENAME\"] = env_vars.filename\nos.environ\[\"CVRT_AUTHOR\"] = env_vars.author\nos.environ\[\"CVRT_NOTES\"] = env_vars.notes\n#os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n#os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n"
 tile_color 0x8a39dbff
 note_font "Verdana Bold"
 note_font_size 96
 note_font_color 0xdbd8ddff
 xpos 70
 ypos -11145
 addUserKnob {20 env_vars l "Environment Variables"}
 addUserKnob {1 uuid +INVISIBLE}
 uuid 675ecf52-769b-4980-b482-108617f2742a
 addUserKnob {52 init_env_vars l "" +STARTLINE T "nuke.thisNode().knob(\"onCreate\").setValue(\n\"\"\"\nif nuke.thisNode():\n    try:\n        import os\n        import re\n        from pathlib import Path, PureWindowsPath\n    \n    \n        # SET ENVIRONMENT VARIABLES\n        class get_env_vars_from_node:\n            def sanitize_str(self, str):\n                return (\n                    re.sub(\n                        r\"_\{2,\}\",\n                        \"_\",\n                        re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n                    ).strip(\"_\")\n                    if str\n                    else \"\"\n                )\n        \n        \n            def get_version(self, str):\n                pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n                match = re.search(pattern, str.lower())\n        \n        \n        \n                if match:\n                    return match.group(1).zfill(3)\n                else:\n                    return None\n        \n        \n            def __init__(self, node):\n                node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n                self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n                self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n                self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n        \n        \n                self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n                node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n                node.knob(\"shot_root_display\").setValue(self.shot_root)\n        \n        \n                self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n                # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n        \n        \n                self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n                self.show_name = (\n                    node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n                )\n                self.show_id = (\n                    self.sanitize_str(node.knob(\"show_id\").getValue())\n                    if node.knob(\"show_id\")\n                    else \"\"\n                )\n                self.sequence = (\n                    self.sanitize_str(node.knob(\"sequence\").getValue())\n                    if node.knob(\"sequence\")\n                    else \"\"\n                )\n                self.shot = (\n                    self.sanitize_str(node.knob(\"shot\").getValue())\n                    if node.knob(\"shot\")\n                    else \"\"\n                )\n                self.scope = (\n                    self.sanitize_str(node.knob(\"scope\").getValue())\n                    if node.knob(\"scope\")\n                    else \"\"\n                )\n        \n        \n                #self.username = os.getenv(\"USERNAME\")\n                #self.machine = os.getenv(\"COMPUTERNAME\")\n                self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n                self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n        \n                if node\[\"use_upper\"].value():\n                    self.filename = \"_\".join(\n                        filter(\n                            None,\n                            \[\n                                self.show_id.upper(),\n                                self.sequence.upper(),\n                                self.shot.upper(),\n                                self.scope.upper(),\n                                self.script_version,\n                            ],\n                        )\n                    )\n                else:\n                    self.filename = \"_\".join(\n                        filter(\n                            None,\n                            \[\n                                self.show_id.lower(),\n                                self.sequence.lower(),\n                                self.shot.lower(),\n                                self.scope.lower(),\n                                self.script_version,\n                            ],\n                        )\n                    )\n        \n        \n        env_vars = get_env_vars_from_node(node=nuke.thisNode())\n        \n        \n        os.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\n        os.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\n        os.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\n        os.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\n        os.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\n        os.environ\[\"CVRT_SHOT\"] = env_vars.shot\n        os.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\n        os.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\n        os.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\n        os.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\n        os.environ\[\"CVRT_SCOPE\"] = env_vars.scope\n        os.environ\[\"CVRT_FILENAME\"] = env_vars.filename\n        os.environ\[\"CVRT_AUTHOR\"] = env_vars.author\n        os.environ\[\"CVRT_NOTES\"] = env_vars.notes\n        #os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n        #os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n    except:\n        pass\n\"\"\")" +STARTLINE}
 addUserKnob {52 update_env_vars l "" +STARTLINE T "nuke.thisNode().knob(\"knobChanged\").setValue('''\nimport os\nimport re\nfrom pathlib import Path, PureWindowsPath\n\n# SET ENVIRONMENT VARIABLES\nclass get_env_vars_from_node:\n    def sanitize_str(self, str):\n        return (\n            re.sub(\n                r\"_\{2,\}\",\n                \"_\",\n                re.sub(r\"\[^a-zA-Z0-9-]\", \"_\", str.replace(\" \", \"\").replace(\".\", \"\")),\n            ).strip(\"_\")\n            if str\n            else \"\"\n        )\n\n    def get_version(self, str):\n        pattern = r\"(?<!\[a-zA-Z0-9])v(\\d+)\"\n        match = re.search(pattern, str.lower())\n\n\n        if match:\n            return match.group(1).zfill(3)\n        else:\n            return None\n\n    def __init__(self, node):\n        node.knob(\"uuid\").setValue(\"675ecf52-769b-4980-b482-108617f2742a\")\n        self.script_path = nuke.scriptName() if nuke.root().name() != \"Root\" else \"\"\n        self.script_name = self.sanitize_str(Path(nuke.scriptName()).stem) if nuke.root().name() != \"Root\" else \"\"\n        self.script_version = f\"v\{self.get_version(self.script_name)\}\"\n\n        self.shot_root = PureWindowsPath(os.path.normpath(os.path.join(os.path.dirname(self.script_path), node.knob(\"shot_root\").getValue()))).as_posix()\n        node.knob(\"shot_root\").setTooltip(f\"The shot's root folder path relative to the current script path.<br><br>\{self.shot_root\}\")\n        node.knob(\"shot_root_display\").setValue(self.shot_root)\n\n        self.working_space = nuke.Root()\[\"workingSpaceLUT\"].value()\n        # self.working_space = nuke.Root()\[\"workingSpaceLUT\"].toScript()\n\n        self.vendor = node.knob(\"vendor\").getValue() if node.knob(\"vendor\") else \"\"\n        self.show_name = (\n            node.knob(\"show_name\").getValue() if node.knob(\"show_name\") else \"\"\n        )\n        self.show_id = (\n            self.sanitize_str(node.knob(\"show_id\").getValue())\n            if node.knob(\"show_id\")\n            else \"\"\n        )\n        self.sequence = (\n            self.sanitize_str(node.knob(\"sequence\").getValue())\n            if node.knob(\"sequence\")\n            else \"\"\n        )\n        self.shot = (\n            self.sanitize_str(node.knob(\"shot\").getValue())\n            if node.knob(\"shot\")\n            else \"\"\n        )\n        self.scope = (\n            self.sanitize_str(node.knob(\"scope\").getValue())\n            if node.knob(\"scope\")\n            else \"\"\n        )\n\n        #self.username = os.getenv(\"USERNAME\")\n        #self.machine = os.getenv(\"COMPUTERNAME\")\n        self.author = node.knob(\"author\").getValue() if node.knob(\"author\") else \"\"\n        self.notes = node.knob(\"notes\").getValue() if node.knob(\"notes\") else \"\"\n\n        if node\[\"use_upper\"].value():\n            self.filename = \"_\".join(\n                filter(\n                    None,\n                    \[\n                        self.show_id.upper(),\n                        self.sequence.upper(),\n                        self.shot.upper(),\n                        self.scope.upper(),\n                        self.script_version,\n                    ],\n                )\n            )\n        else:\n            self.filename = \"_\".join(\n                filter(\n                    None,\n                    \[\n                        self.show_id.lower(),\n                        self.sequence.lower(),\n                        self.shot.lower(),\n                        self.scope.lower(),\n                        self.script_version,\n                    ],\n                )\n            )\n\nenv_vars = get_env_vars_from_node(node=nuke.thisNode())\n\nos.environ\[\"CVRT_WORKING_SPACE\"] = env_vars.working_space\nos.environ\[\"CVRT_VENDOR\"] = env_vars.vendor\nos.environ\[\"CVRT_SHOW_NAME\"] = env_vars.show_name\nos.environ\[\"CVRT_SHOW_ID\"] = env_vars.show_id\nos.environ\[\"CVRT_SEQUENCE\"] = env_vars.sequence\nos.environ\[\"CVRT_SHOT\"] = env_vars.shot\nos.environ\[\"CVRT_SCRIPT_PATH\"] = env_vars.script_path\nos.environ\[\"CVRT_SCRIPT_NAME\"] = env_vars.script_name\nos.environ\[\"CVRT_SCRIPT_VERSION\"] = env_vars.script_version\nos.environ\[\"CVRT_SHOT_ROOT\"] = env_vars.shot_root\nos.environ\[\"CVRT_SCOPE\"] = env_vars.scope\nos.environ\[\"CVRT_FILENAME\"] = env_vars.filename\nos.environ\[\"CVRT_AUTHOR\"] = env_vars.author\nos.environ\[\"CVRT_NOTES\"] = env_vars.notes\n#os.environ\[\"CVRT_USERNAME\"] = env_vars.username\n#os.environ\[\"CVRT_MACHINE\"] = env_vars.machine\n''')" +STARTLINE}
 addUserKnob {1 shot_root l "Shot root" t "The shot's root folder path relative to the current script path.<br><br>Z:/Biohazard Nextcloud 2/_Tools/Nuke/Biohazard"}
 shot_root ../../
 addUserKnob {26 shot_root_display l "Shot root:" T "Z:/Biohazard Nextcloud 2/_Tools/Nuke/Biohazard"}
 addUserKnob {26 divider_1 l "" +STARTLINE}
 addUserKnob {1 vendor l Vendor}
 vendor COVERT
 addUserKnob {1 show_name l "Show name"}
 addUserKnob {1 show_id l "Show Id (*)"}
 addUserKnob {1 sequence l Sequence}
 addUserKnob {1 shot l "Shot (*)"}
 addUserKnob {1 scope l "Scope (*)"}
 scope comp
 addUserKnob {26 divider01 l "" +STARTLINE}
 addUserKnob {1 notes l Notes}
 addUserKnob {26 divider02 l "" +STARTLINE}
 addUserKnob {1 author l Author}
 addUserKnob {26 ""}
 addUserKnob {6 use_upper l Uppercase +STARTLINE}
 addUserKnob {26 divider l "" +STARTLINE}
 addUserKnob {26 required l "" +STARTLINE T " (*) Required fields.\n\nPress \"Shift + D\" to enable/disable the knobs."}
 addUserKnob {26 ""}
 addUserKnob {26 version l "" +STARTLINE T v1.3}
}
set Nafc34800 [stack 0]
Viewer {
 frame_range 1-41
 colour_sample_bbox {-0.2437050343 0.5773381591 -0.2428057492 0.5782374144}
 viewerProcess "ACES 1.0 - SDR Video (sRGB - Display)"
 monitorOutNDISenderName "NukeX - Covert Template - Viewer1"
 monitorOutOutputTransform "ACES 1.0 - SDR Video (Rec.1886 Rec.709 - Display)"
 name Viewer1
 xpos -291
 ypos -10056
}
push $Nafc34800
Group {
 name ENV_VARS_CHECK
 tile_color 0x666565ff
 note_font "Verdana Bold"
 note_font_size 32
 note_font_color 0xf2f2f2ff
 xpos 70
 ypos -10990
 addUserKnob {20 User l "" +STARTLINE}
 addUserKnob {41 message l "" +STARTLINE T ENV_VARS_CHECK.message}
}
 Input {
  inputs 0
  name Input1
  xpos 93
  ypos -511
 }
 Text2 {
  font_size_toolbar 100
  font_width_toolbar 100
  font_height_toolbar 100
  message "CVRT_VENDOR: \[python os.getenv(\"CVRT_VENDOR\")]\nCVRT_SHOW_NAME: \[python os.getenv(\"CVRT_SHOW_NAME\")]\nCVRT_SHOW_ID: \[python os.getenv(\"CVRT_SHOW_ID\")]\nCVRT_SEQUENCE: \[python os.getenv(\"CVRT_SEQUENCE\")]\nCVRT_SHOT: \[python os.getenv(\"CVRT_SHOT\")]\nCVRT_SCRIPT_PATH:  \[python os.getenv(\"CVRT_SCRIPT_PATH\")]\nCVRT_SHOT_ROOT:  \[python os.getenv(\"CVRT_SHOT_ROOT\")]\nCVRT_SCRIPT_NAME:  \[python os.getenv(\"CVRT_SCRIPT_NAME\")]\nCVRT_SCRIPT_VERSION:  \[python os.getenv(\"CVRT_SCRIPT_VERSION\")]\nCVRT_SCOPE: \[python os.getenv(\"CVRT_SCOPE\")]\nCVRT_NOTES: \[python os.getenv(\"CVRT_NOTES\")]\nCVRT_WORKING_SPACE: \[python os.getenv(\"CVRT_WORKING_SPACE\")]\nCVRT_AUTHOR: \[python os.getenv(\"CVRT_AUTHOR\")]\nCVRT_FILENAME: \[python os.getenv(\"CVRT_FILENAME\")]\n"
  old_message {{67 86 82 84 95 86 69 78 68 79 82 58 32 67 79 86 69 82 84 10 67 86 82 84 95 83 72 79 87 95 78 65 77 69 58 32 10 67 86 82 84 95 83 72 79 87 95 73 68 58 32 10 67 86 82 84 95 83 69 81 85 69 78 67 69 58 32 10 67 86 82 84 95 83 72 79 84 58 32 10 67 86 82 84 95 83 67 82 73 80 84 95 80 65 84 72 58 32 32 90 58 47 66 105 111 104 97 122 97 114 100 32 78 101 120 116 99 108 111 117 100 32 50 47 95 84 111 111 108 115 47 78 117 107 101 47 66 105 111 104 97 122 97 114 100 47 77 97 115 116 101 114 32 84 101 109 112 108 97 116 101 47 67 111 118 101 114 116 32 84 101 109 112 108 97 116 101 47 67 111 118 101 114 116 32 84 101 109 112 108 97 116 101 46 110 107 10 67 86 82 84 95 83 72 79 84 95 82 79 79 84 58 32 32 90 58 47 66 105 111 104 97 122 97 114 100 32 78 101 120 116 99 108 111 117 100 32 50 47 95 84 111 111 108 115 47 78 117 107 101 47 66 105 111 104 97 122 97 114 100 10 67 86 82 84 95 83 67 82 73 80 84 95 78 65 77 69 58 32 32 67 111 118 101 114 116 84 101 109 112 108 97 116 101 10 67 86 82 84 95 83 67 82 73 80 84 95 86 69 82 83 73 79 78 58 32 32 118 78 111 110 101 10 67 86 82 84 95 83 67 79 80 69 58 32 99 111 109 112 10 67 86 82 84 95 78 79 84 69 83 58 32 10 67 86 82 84 95 87 79 82 75 73 78 71 95 83 80 65 67 69 58 32 65 67 69 83 50 48 54 53 45 49 10 67 86 82 84 95 65 85 84 72 79 82 58 32 10 67 86 82 84 95 70 73 76 69 78 65 77 69 58 32 99 111 109 112 95 118 78 111 110 101 10}
    }
  old_expression_markers {{13 18 36 35 51 50 67 66 79 78 99 195 214 259 280 293 317 321 335 338 352 351 373 382 397 396 413 422}
    }
  box {0 0 {root.width} {root.height}}
  xjustify center
  yjustify center
  transforms {{0 2}
    }
  cursor_position 351
  font {{ Utopia : Bold : UtopiaBold.pfa : 0 }}
  global_font_scale 0.5
  leading 0.35
  center {1920 1080}
  cursor_initialised true
  autofit_bbox false
  initial_cursor_position {{0 2160}
    }
  group_animations {{0} imported: 0 selected: items: "root transform/"}
  animation_layers {{1 11 1920 1080 0 0 1 1 0 0 0 0}
    }
  name ENV_VARS_CHECK
  tile_color 0x666565ff
  note_font Verdana
  note_font_size 32
  note_font_color 0xf2f2f2ff
  selected true
  xpos 93
  ypos -454
  addUserKnob {20 User}
 }
 Output {
  name Output1
  xpos 93
  ypos -371
 }
end_group
Group {
 inputs 0
 name log2lin1
 tile_color 0x73af81ff
 note_font "Verdana Bold"
 note_font_size 48
 note_font_color 0x344f38ff
 xpos -2460
 ypos -5502
 addUserKnob {20 User}
 addUserKnob {41 display l "display device" T OCIODisplay1.display}
 addUserKnob {41 out_colorspace l colorspace T OCIOColorSpace1.out_colorspace}
}
 Input {
  inputs 0
  name Input1
  xpos -598
  ypos -498
 }
 OCIOColorSpace {
  in_colorspace ACES2065-1
  out_colorspace "ARRI LogC3 (EI800)"
  name OCIOColorSpace1
  tile_color 0x223425ff
  label "\nchange the output to the correct colorspace\n."
  xpos -598
  ypos -459
  addUserKnob {20 User}
  addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"in_colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
 }
 OCIODisplay {
  colorspace ACES2065-1
  display "sRGB - Display"
  view "ACES 1.0 - SDR Video"
  invert true
  name OCIODisplay1
  knobChanged "\nnuke.toNode(\"OCIOColorSpace1\").knob(\"in_colorspace\").setValue(nuke.thisNode().knob(\"colorspace\").value())\n"
  tile_color 0x223425ff
  selected true
  xpos -598
  ypos -369
  addUserKnob {20 User}
  addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
 }
 Output {
  name Output1
  xpos -598
  ypos -291
 }
end_group
OCIODisplay {
 inputs 0
 colorspace ACES2065-1
 display "sRGB - Display"
 view "ACES 1.0 - SDR Video"
 invert true
 name INVERSE_DISPLAY_TRANSFORM1
 selected true
 xpos -2130
 ypos -5481
 addUserKnob {20 User}
 addUserKnob {52 python l "" +STARTLINE T "nuke.thisNode().knob(\"colorspace\").setValue(nuke.root().knob(\"workingSpaceLUT\").value())" +STARTLINE}
}
