Unreal build guide
A fixed pool of particles mapped onto ribbon trajectories from array data — NS_ProjectileTrajectory.
C++ pushes N trajectories in as arrays; each particle becomes one point on a trajectory and the ribbon joins them up. The particles are a fixed pool that never dies, and any left over beyond the active trajectory count are folded to zero width instead.
Particles.ID.IndexParticles.RibbonID keeps the trajectories apart so the ribbons cannot tangleStage order and module order were read off the shipped asset. TrajParams is the scratch pad module that holds the effect itself; everything else is an engine module.
NS_ProjectileTrajectoryRibbon Renderer · CPUSim · Fixed Bounds
Splits the particle index into a trajectory number and a position along it, then reads that trajectory's parameters out of the arrays to produce a position and a fill ratio. The real module reads five arrays the same way; only two are drawn below — the rest add one Get node each and change nothing about the shape.
This is the text Unreal itself writes when you copy nodes in a scratch pad. Select it and press Ctrl+C, then open a scratch pad module and press Ctrl+V — the nodes arrive with their wiring and layout intact.
Begin Object Class=/Script/NiagaraEditor.NiagaraClipboardContent Name="NiagaraClipboardContent_0" ExportPath="/Script/NiagaraEditor.NiagaraClipboardContent'/Engine/Transient.NiagaraClipboardContent_0'" ExportedNodes="QmVnaW4gT2JqZWN0IENsYXNzPS9TY3JpcHQvTmlhZ2FyYUVkaXRvci5OaWFnYXJhTm9kZUlucHV0IE5hbWU9Ik5pYWdhcmFOb2RlSW5wdXRfMCIgRXhwb3J0UGF0aD0iL1NjcmlwdC9OaWFnYXJhRWRpdG9yLk5pYWdhcmFOb2RlSW5wdXQnL0VuZ2luZS9UcmFuc2llbnQuVHJhalBhcmFtczpOaWFnYXJhU2NyaXB0U291cmNlXzAuTmlhZ2FyYUdyYXBoXzAuTmlhZ2FyYU5vZGVJbnB1dF8wJyINCiAgIElucHV0PShWYXJEYXRhPSgwKSxOYW1lPSJJbnB1dE1hcCIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD05NSkpDQogICBDYWxsU29ydFByaW9yaXR5PTENCiAgIENoYW5nZUlkPUY2MzlEMUNCNUM3MkUyQUIzNEM2MzE5MzEwMjhDQUMzDQogICBOb2RlUG9zWD0wDQogICBOb2RlUG9zWT0wDQogICBOb2RlR3VpZD1FQjM1NUJGRkIyRDlBRUFGM0JGQjNCQjM1RkVDQUJGMw0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTAzNkE2QzY3MDExMTBERjEwRTk3NTYxQjZGNDc4MEM5LFBpbk5hbWU9IklucHV0IixEaXJlY3Rpb249IkVHUERfT3V0cHV0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSIiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhUGFyYW1ldGVyTWFwJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZVBhcmFtZXRlck1hcEdldF8xIDEyMUMwQ0M0MTI5NEE1QzgxREM3ODMyQzk5MTcxQzAwLE5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwU2V0XzcgMkU2RTk5NTgyQUU1Q0QwQzcwMUU3Q0M4QTI3QkEwRDQsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCkVuZCBPYmplY3QNCkJlZ2luIE9iamVjdCBDbGFzcz0vU2NyaXB0L05pYWdhcmFFZGl0b3IuTmlhZ2FyYU5vZGVQYXJhbWV0ZXJNYXBHZXQgTmFtZT0iTmlhZ2FyYU5vZGVQYXJhbWV0ZXJNYXBHZXRfMSIgRXhwb3J0UGF0aD0iL1NjcmlwdC9OaWFnYXJhRWRpdG9yLk5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwR2V0Jy9FbmdpbmUvVHJhbnNpZW50LlRyYWpQYXJhbXM6TmlhZ2FyYVNjcmlwdFNvdXJjZV8wLk5pYWdhcmFHcmFwaF8wLk5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwR2V0XzEnIg0KICAgUGluT3V0cHV0VG9QaW5EZWZhdWx0UGVyc2lzdGVudElkPSgoNzEwRDhBMzJDMjczRkVGODg5QkM1Nzc2MTc1RTc5MDAsIEU2NTk2QjkzRDhCNDgwMDVGNDU0ODkyQjFGMEEzRjY5KSwoNjQ4ODQ1MTM5NTc5NjQxRjRGMTdDNUU3OEZFOTQwQkIsIDgwQ0I5OUZBMUVEMjkzMDIyQ0Q1NTRDMjM1QTlGNTRBKSwoMzc0OUUxQUNCOEUxMEE2RTkyNEFCRDhDODkxODY1OUEsIDk0RDE2OTM1NjAxQzhFMEJBREQzOEQzOTY2OEMwNDgzKSwoRDEwNDk5NDk5MTY3M0Y3NUM1QzZCQjg1RDU0QkFFQzEsIEIxNjM2NDQwNUQ3OUUyMzA0NThBRDkyODhGRURGMDkwKSwoMDBEMzZFNjQxQjQ5QUE3MkM4NjBFRTU4QThDMTA1MDIsIDdGNDRBQUNEN0YyMjdCQzdBMzc5M0Q0REZEMjYyNjBCKSwoMEY4QTgxNzlCQzk3RUE5MzkzQTU1MTYxM0Q3MEFFRDcsIDNFMTkwNTcwNzBFOUU2NkU4MzRENkVGQzc5NzUzODVFKSkNCiAgIENoYW5nZUlkPTc2N0I0QjE1MzQ5RjUwRDlFQ0M1MkMzNUFERkVBRkQ5DQogICBOb2RlUG9zWD0yODANCiAgIE5vZGVQb3NZPTANCiAgIE5vZGVHdWlkPTY5QTdCQ0ZEODUxQzMwNDkwNkNENjE2MTcwQkQxRjFEDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9MTIxQzBDQzQxMjk0QTVDODFEQzc4MzJDOTkxNzFDMDAsUGluTmFtZT0iU291cmNlIixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSIiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhUGFyYW1ldGVyTWFwJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZUlucHV0XzAgMDM2QTZDNjcwMTExMERGMTBFOTc1NjFCNkY0NzgwQzksKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD0wQjBGMUUwOTczODU3Mzc5REY3OTkxMUQyMUUyRjVENSxQaW5OYW1lPSJQYXJ0aWNsZXMuSUQuSW5kZXgiLFBpbkZyaWVuZGx5TmFtZT1JTlZURVhUKCJQYXJ0aWNsZXMuSUQuSW5kZXgiKSxEaXJlY3Rpb249IkVHUERfT3V0cHV0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSJQYXJhbWV0ZXJQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhSW50MzInIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlT3BfMiA0NDA1MDFFRDYyMjBDNDE5ODA0ODhBNUQ5OEMzNDZFMSxOaWFnYXJhTm9kZUN1c3RvbUhsc2xfNiA5NjA0QjI1MkVDNjRBOUU0QThCRjgwODZCREJCN0JBNCwpLFBlcnNpc3RlbnRHdWlkPTcxMEQ4QTMyQzI3M0ZFRjg4OUJDNTc3NjE3NUU3OTAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPUE2NjA0N0E4RjVDNDIyQzAzMUU0NjQyMDZDRkQwRUU4LFBpblRvb2xUaXA9IkRlZmF1bHQgdmFsdWUgZm9yIFBhcnRpY2xlcy5JRC5JbmRleCBpZiBubyBvdGhlciBtb2R1bGUgaGFzIHNldCBpdCBwcmV2aW91c2x5IGluIHRoZSBzdGFjay4iLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IlBhcmFtZXRlclBpbiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFJbnQzMiciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxEZWZhdWx0VmFsdWU9IjAiLEF1dG9nZW5lcmF0ZWREZWZhdWx0VmFsdWU9IjAiLFBlcnNpc3RlbnRHdWlkPUU2NTk2QjkzRDhCNDgwMDVGNDU0ODkyQjFGMEEzRjY5LGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTI2OEU3MUM4ODlFQzQyMUEwOEE3RkVBNDkwNzQxNzgyLFBpbk5hbWU9IkVuZ2luZS5UaW1lIixQaW5GcmllbmRseU5hbWU9SU5WVEVYVCgiRW5naW5lLlRpbWUiKSxEaXJlY3Rpb249IkVHUERfT3V0cHV0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSJQYXJhbWV0ZXJQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhRmxvYXQnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlQ3VzdG9tSGxzbF82IDNCQzhFRjhGNTNFRDExODNEQjkzMThGQkQ4QkFFODJGLCksUGVyc2lzdGVudEd1aWQ9NjQ4ODQ1MTM5NTc5NjQxRjRGMTdDNUU3OEZFOTQwQkIsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9QjdEMjY1MEU5Njg0Mzc1RTI0NzI0RDA2NEY5RTY2NTYsUGluVG9vbFRpcD0iRGVmYXVsdCB2YWx1ZSBmb3IgRW5naW5lLlRpbWUgaWYgbm8gb3RoZXIgbW9kdWxlIGhhcyBzZXQgaXQgcHJldmlvdXNseSBpbiB0aGUgc3RhY2suIixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSJQYXJhbWV0ZXJQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhRmxvYXQnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsRGVmYXVsdFZhbHVlPSIwLjAwMDAwMCIsQXV0b2dlbmVyYXRlZERlZmF1bHRWYWx1ZT0iMC4wMDAwMDAiLFBlcnNpc3RlbnRHdWlkPTgwQ0I5OUZBMUVEMjkzMDIyQ0Q1NTRDMjM1QTlGNTRBLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTkyMjJGOUVCMTM4MjdFODdCRkEyOEE4QkJFNkM2NEQ3LFBpbk5hbWU9Ik1vZHVsZS5TZWdtZW50c1BlclRyYWplY3RvcnkiLFBpbkZyaWVuZGx5TmFtZT1JTlZURVhUKCJNb2R1bGUuU2VnbWVudHNQZXJUcmFqZWN0b3J5IiksRGlyZWN0aW9uPSJFR1BEX091dHB1dCIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iUGFyYW1ldGVyUGluIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYUludDMyJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZU9wXzIgQjkxOTU5RDBBRjcxMzcyNDJDRjgwREUwN0U0RDRENkMsTmlhZ2FyYU5vZGVDdXN0b21IbHNsXzYgRTM5RDMyNUJEMUREODIzNTY1OUE0NTgzQzMxNDgyMDEsKSxQZXJzaXN0ZW50R3VpZD0zNzQ5RTFBQ0I4RTEwQTZFOTI0QUJEOEM4OTE4NjU5QSxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD1FMjk5NEE1NDMxNUY1NEFDOTVBQUNBNTRCMEMzNDJCQyxQaW5Ub29sVGlwPSJEZWZhdWx0IHZhbHVlIGZvciBNb2R1bGUuU2VnbWVudHNQZXJUcmFqZWN0b3J5IGlmIG5vIG90aGVyIG1vZHVsZSBoYXMgc2V0IGl0IHByZXZpb3VzbHkgaW4gdGhlIHN0YWNrLiIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iUGFyYW1ldGVyUGluIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYUludDMyJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLERlZmF1bHRWYWx1ZT0iMCIsQXV0b2dlbmVyYXRlZERlZmF1bHRWYWx1ZT0iMCIsUGVyc2lzdGVudEd1aWQ9OTREMTY5MzU2MDFDOEUwQkFERDM4RDM5NjY4QzA0ODMsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9NDUzRkIxOUVCMjg4RjhFQzhGRERCMEUyRkRBQTY0M0MsUGluTmFtZT0iTW9kdWxlLkxpbmVBcmNSYXRpbyIsUGluRnJpZW5kbHlOYW1lPUlOVlRFWFQoIk1vZHVsZS5MaW5lQXJjUmF0aW8iKSxEaXJlY3Rpb249IkVHUERfT3V0cHV0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSJQYXJhbWV0ZXJQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhRmxvYXQnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlQ3VzdG9tSGxzbF82IDQyMDYyMzcxNzlBNDQyQTk5QjNFQTE5OTczMjhDMTI5LCksUGVyc2lzdGVudEd1aWQ9RDEwNDk5NDk5MTY3M0Y3NUM1QzZCQjg1RDU0QkFFQzEsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9MjVBMDY1NkEwNDUyMzdCQTU2QTNCNThBMzQwMzY2Q0EsUGluVG9vbFRpcD0iRGVmYXVsdCB2YWx1ZSBmb3IgTW9kdWxlLkxpbmVBcmNSYXRpbyBpZiBubyBvdGhlciBtb2R1bGUgaGFzIHNldCBpdCBwcmV2aW91c2x5IGluIHRoZSBzdGFjay4iLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IlBhcmFtZXRlclBpbiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFGbG9hdCciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxEZWZhdWx0VmFsdWU9IjAuMDAwMDAwIixBdXRvZ2VuZXJhdGVkRGVmYXVsdFZhbHVlPSIwLjAwMDAwMCIsUGVyc2lzdGVudEd1aWQ9QjE2MzY0NDA1RDc5RTIzMDQ1OEFEOTI4OEZFREYwOTAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9OTFENzk2ODM4NzUyNDg2RjE3MTBEMEU3QURBODY3RDMsUGluTmFtZT0iTW9kdWxlLlBvc2l0aW9ucyIsUGluRnJpZW5kbHlOYW1lPUlOVlRFWFQoIk1vZHVsZS5Qb3NpdGlvbnMiKSxEaXJlY3Rpb249IkVHUERfT3V0cHV0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJDbGFzcyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iUGFyYW1ldGVyUGluIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LkNsYXNzJy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhRGF0YUludGVyZmFjZUFycmF5RmxvYXQzJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZUZ1bmN0aW9uQ2FsbF8zIDc5ODQxMDk4RDAwNTM2NDZGMDk1NzQ5NDc1MzYyNTdFLE5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzQgNDBFNDE0NzMwQTgyQjRDRDgwNDQ1RDVCODE0RUREQzksKSxQZXJzaXN0ZW50R3VpZD0wMEQzNkU2NDFCNDlBQTcyQzg2MEVFNThBOEMxMDUwMixiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD05MDVFQzE1MTBCMjE4QjIzRDkxRThBODUwN0UzM0VCMyxQaW5Ub29sVGlwPSJEZWZhdWx0IHZhbHVlIGZvciBNb2R1bGUuUG9zaXRpb25zIGlmIG5vIG90aGVyIG1vZHVsZSBoYXMgc2V0IGl0IHByZXZpb3VzbHkgaW4gdGhlIHN0YWNrLiIsUGluVHlwZS5QaW5DYXRlZ29yeT0iQ2xhc3MiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IlBhcmFtZXRlclBpbiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5DbGFzcycvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYURhdGFJbnRlcmZhY2VBcnJheUZsb2F0MyciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxQZXJzaXN0ZW50R3VpZD03RjQ0QUFDRDdGMjI3QkM3QTM3OTNENERGRDI2MjYwQixiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD1BQjM0REE5RTM2RUIxOTQ2NzgyNEZERUU3RDAxMkU1NixQaW5OYW1lPSJNb2R1bGUuU2hhcGVEYXRhIixQaW5GcmllbmRseU5hbWU9SU5WVEVYVCgiTW9kdWxlLlNoYXBlRGF0YSIpLERpcmVjdGlvbj0iRUdQRF9PdXRwdXQiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IkNsYXNzIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSJQYXJhbWV0ZXJQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuQ2xhc3MnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFEYXRhSW50ZXJmYWNlQXJyYXlGbG9hdDQnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzUgMUE2MUY5MDIyMThGODlGQzgxNkQwNEUyQzJFMDAxNTgsKSxQZXJzaXN0ZW50R3VpZD0wRjhBODE3OUJDOTdFQTkzOTNBNTUxNjEzRDcwQUVENyxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD0yOUZDQUExRjgxOTc0MzNEM0I4MDlCNkJCNjBCOTAwNSxQaW5Ub29sVGlwPSJEZWZhdWx0IHZhbHVlIGZvciBNb2R1bGUuU2hhcGVEYXRhIGlmIG5vIG90aGVyIG1vZHVsZSBoYXMgc2V0IGl0IHByZXZpb3VzbHkgaW4gdGhlIHN0YWNrLiIsUGluVHlwZS5QaW5DYXRlZ29yeT0iQ2xhc3MiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IlBhcmFtZXRlclBpbiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5DbGFzcycvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYURhdGFJbnRlcmZhY2VBcnJheUZsb2F0NCciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxQZXJzaXN0ZW50R3VpZD0zRTE5MDU3MDcwRTlFNjZFODM0RDZFRkM3OTc1Mzg1RSxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD0xMEExM0IzMkU5NTIzNjA0RUFBNzlCNjI2MzM2MEFDMCxQaW5OYW1lPSJBZGQiLERpcmVjdGlvbj0iRUdQRF9PdXRwdXQiLFBpblR5cGUuUGluQ2F0ZWdvcnk9Ik1pc2MiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IkR5bmFtaWNBZGRQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Tm9uZSxQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQpFbmQgT2JqZWN0DQpCZWdpbiBPYmplY3QgQ2xhc3M9L1NjcmlwdC9OaWFnYXJhRWRpdG9yLk5pYWdhcmFOb2RlT3AgTmFtZT0iTmlhZ2FyYU5vZGVPcF8yIiBFeHBvcnRQYXRoPSIvU2NyaXB0L05pYWdhcmFFZGl0b3IuTmlhZ2FyYU5vZGVPcCcvRW5naW5lL1RyYW5zaWVudC5UcmFqUGFyYW1zOk5pYWdhcmFTY3JpcHRTb3VyY2VfMC5OaWFnYXJhR3JhcGhfMC5OaWFnYXJhTm9kZU9wXzInIg0KICAgT3BOYW1lPSJOdW1lcmljOjpEaXYiDQogICBDaGFuZ2VJZD0xMDFCRjk0NDU1MEYzNzM2MzY2NUEzRDhEMEY0NzY4RQ0KICAgTm9kZVBvc1g9ODIwDQogICBOb2RlUG9zWT0wDQogICBOb2RlR3VpZD02Njk0NzI3MEEzRTRFQjk2MkEwNzY2NDhFQTRFNDVDMg0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTQ0MDUwMUVENjIyMEM0MTk4MDQ4OEE1RDk4QzM0NkUxLFBpbk5hbWU9IkEiLFBpblRvb2xUaXA9IkEiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFOdW1lcmljJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZVBhcmFtZXRlck1hcEdldF8xIDBCMEYxRTA5NzM4NTczNzlERjc5OTExRDIxRTJGNUQ1LCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9QjkxOTU5RDBBRjcxMzcyNDJDRjgwREUwN0U0RDRENkMsUGluTmFtZT0iQiIsUGluVG9vbFRpcD0iQiIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYU51bWVyaWMnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwR2V0XzEgOTIyMkY5RUIxMzgyN0U4N0JGQTI4QThCQkU2QzY0RDcsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD1GQjhFNTJCMTg2MzQ1MzBGOUJFQTEyRjU0RDVFMjVBRixQaW5OYW1lPSJSZXN1bHQiLFBpblRvb2xUaXA9IlJlc3VsdCIsRGlyZWN0aW9uPSJFR1BEX091dHB1dCIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYU51bWVyaWMnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzQgRjFFQ0U2RDE4NTJCQ0UxQjRDQjAzNDIxRUEzN0VCNEYsTmlhZ2FyYU5vZGVGdW5jdGlvbkNhbGxfNSA5OUVFNThGMDVGRTIzODZBNTRCNTAwNjg5NERENTcxRSxOaWFnYXJhTm9kZVBhcmFtZXRlck1hcFNldF83IDU2Nzg2RDVGMzVGNEFGRUJCNDMyMzgxMzk5NjIzN0U3LCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQpFbmQgT2JqZWN0DQpCZWdpbiBPYmplY3QgQ2xhc3M9L1NjcmlwdC9OaWFnYXJhRWRpdG9yLk5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsIE5hbWU9Ik5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzMiIEV4cG9ydFBhdGg9Ii9TY3JpcHQvTmlhZ2FyYUVkaXRvci5OaWFnYXJhTm9kZUZ1bmN0aW9uQ2FsbCcvRW5naW5lL1RyYW5zaWVudC5UcmFqUGFyYW1zOk5pYWdhcmFTY3JpcHRTb3VyY2VfMC5OaWFnYXJhR3JhcGhfMC5OaWFnYXJhTm9kZUZ1bmN0aW9uQ2FsbF8zJyINCiAgIFNpZ25hdHVyZT0oTmFtZT0iTGVuZ3RoIixJbnB1dHM9KChOYW1lPSJBcnJheSBpbnRlcmZhY2UiLFR5cGVEZWZIYW5kbGU9KFJlZ2lzdGVyZWRUeXBlSW5kZXg9NzEpKSksT3V0cHV0cz0oKE5hbWU9Ik51bSIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD0xMDEpKSksYk1lbWJlckZ1bmN0aW9uPVRydWUsRnVuY3Rpb25WZXJzaW9uPTEpDQogICBGdW5jdGlvbkRpc3BsYXlOYW1lPSJMZW5ndGgiDQogICBDaGFuZ2VJZD1FRENFQzg4NDlGRjY2Qzc0N0FCN0JBODgxQ0YzOUU3OA0KICAgTm9kZVBvc1g9ODIwDQogICBOb2RlUG9zWT0xOTANCiAgIE5vZGVHdWlkPTNBQjE1MEIwMzg2NUZGNDA1RUM0NzIzODZDOTY1MTE4DQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9Nzk4NDEwOThEMDA1MzY0NkYwOTU3NDk0NzUzNjI1N0UsUGluTmFtZT0iQXJyYXkgaW50ZXJmYWNlIixQaW5UeXBlLlBpbkNhdGVnb3J5PSJDbGFzcyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LkNsYXNzJy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhRGF0YUludGVyZmFjZUFycmF5RmxvYXQzJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZVBhcmFtZXRlck1hcEdldF8xIDkxRDc5NjgzODc1MjQ4NkYxNzEwRDBFN0FEQTg2N0QzLCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9NzEzRUVBODJBQjMxNEVBNDlGODEwMjc2RUE1NDY1NjQsUGluTmFtZT0iTnVtIixEaXJlY3Rpb249IkVHUERfT3V0cHV0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSIiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhSW50MzInIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlQ3VzdG9tSGxzbF82IDBGN0MzODIxRkQxQjdDRkYxODkzQjc3RDgwNjY2RUU3LCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1UcnVlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCkVuZCBPYmplY3QNCkJlZ2luIE9iamVjdCBDbGFzcz0vU2NyaXB0L05pYWdhcmFFZGl0b3IuTmlhZ2FyYU5vZGVGdW5jdGlvbkNhbGwgTmFtZT0iTmlhZ2FyYU5vZGVGdW5jdGlvbkNhbGxfNCIgRXhwb3J0UGF0aD0iL1NjcmlwdC9OaWFnYXJhRWRpdG9yLk5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsJy9FbmdpbmUvVHJhbnNpZW50LlRyYWpQYXJhbXM6TmlhZ2FyYVNjcmlwdFNvdXJjZV8wLk5pYWdhcmFHcmFwaF8wLk5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzQnIg0KICAgU2lnbmF0dXJlPShOYW1lPSJHZXQiLElucHV0cz0oKE5hbWU9IkFycmF5IGludGVyZmFjZSIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD03MSkpLChOYW1lPSJJbmRleCIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD0xMDEpKSksT3V0cHV0cz0oKE5hbWU9IlZhbHVlIixUeXBlRGVmSGFuZGxlPShSZWdpc3RlcmVkVHlwZUluZGV4PTEwNCkpKSxiTWVtYmVyRnVuY3Rpb249VHJ1ZSxGdW5jdGlvblZlcnNpb249MSkNCiAgIEZ1bmN0aW9uRGlzcGxheU5hbWU9IkdldCINCiAgIENoYW5nZUlkPTI5RDUwNTM5MzZEODc1QzFGOTUxMUZGNTAzMTlGRDM1DQogICBOb2RlUG9zWD04MjANCiAgIE5vZGVQb3NZPTMzMA0KICAgTm9kZUd1aWQ9ODNGNDdCNTlCMDg3QTk3MUQ1RkYwRjIxQkQ3MUExNDENCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD00MEU0MTQ3MzBBODJCNENEODA0NDVENUI4MTRFRERDOSxQaW5OYW1lPSJBcnJheSBpbnRlcmZhY2UiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IkNsYXNzIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSIiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuQ2xhc3MnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFEYXRhSW50ZXJmYWNlQXJyYXlGbG9hdDMnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwR2V0XzEgOTFENzk2ODM4NzUyNDg2RjE3MTBEMEU3QURBODY3RDMsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD1GMUVDRTZEMTg1MkJDRTFCNENCMDM0MjFFQTM3RUI0RixQaW5OYW1lPSJJbmRleCIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYUludDMyJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZU9wXzIgRkI4RTUyQjE4NjM0NTMwRjlCRUExMkY1NEQ1RTI1QUYsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD0wMjQyRkFBNDFGNzZGRDNFNjY0NEExMDg5OTFEODg4NixQaW5OYW1lPSJWYWx1ZSIsRGlyZWN0aW9uPSJFR1BEX091dHB1dCIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L0NvcmVVT2JqZWN0LlZlY3RvcjNmJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZUN1c3RvbUhsc2xfNiBGRkU2MDdCQTE3Q0ZEN0M0MTBDQjkxNkFFNTE0NjNDOCwpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9VHJ1ZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQpFbmQgT2JqZWN0DQpCZWdpbiBPYmplY3QgQ2xhc3M9L1NjcmlwdC9OaWFnYXJhRWRpdG9yLk5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsIE5hbWU9Ik5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzUiIEV4cG9ydFBhdGg9Ii9TY3JpcHQvTmlhZ2FyYUVkaXRvci5OaWFnYXJhTm9kZUZ1bmN0aW9uQ2FsbCcvRW5naW5lL1RyYW5zaWVudC5UcmFqUGFyYW1zOk5pYWdhcmFTY3JpcHRTb3VyY2VfMC5OaWFnYXJhR3JhcGhfMC5OaWFnYXJhTm9kZUZ1bmN0aW9uQ2FsbF81JyINCiAgIFNpZ25hdHVyZT0oTmFtZT0iR2V0IixJbnB1dHM9KChOYW1lPSJBcnJheSBpbnRlcmZhY2UiLFR5cGVEZWZIYW5kbGU9KFJlZ2lzdGVyZWRUeXBlSW5kZXg9NzMpKSwoTmFtZT0iSW5kZXgiLFR5cGVEZWZIYW5kbGU9KFJlZ2lzdGVyZWRUeXBlSW5kZXg9MTAxKSkpLE91dHB1dHM9KChOYW1lPSJWYWx1ZSIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD0xMDUpKSksYk1lbWJlckZ1bmN0aW9uPVRydWUsRnVuY3Rpb25WZXJzaW9uPTEpDQogICBGdW5jdGlvbkRpc3BsYXlOYW1lPSJHZXQiDQogICBDaGFuZ2VJZD00OTVGNzJCNjdCMUM2RTJBM0UxOTMxQjZFMDk4Q0RCMg0KICAgTm9kZVBvc1g9ODIwDQogICBOb2RlUG9zWT01MDANCiAgIE5vZGVHdWlkPUU2OTE4MEU2M0U2MjgyMTIwOTlCNTVCQURCNEVCQzFFDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9MUE2MUY5MDIyMThGODlGQzgxNkQwNEUyQzJFMDAxNTgsUGluTmFtZT0iQXJyYXkgaW50ZXJmYWNlIixQaW5UeXBlLlBpbkNhdGVnb3J5PSJDbGFzcyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LkNsYXNzJy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhRGF0YUludGVyZmFjZUFycmF5RmxvYXQ0JyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZVBhcmFtZXRlck1hcEdldF8xIEFCMzREQTlFMzZFQjE5NDY3ODI0RkRFRTdEMDEyRTU2LCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9OTlFRTU4RjA1RkUyMzg2QTU0QjUwMDY4OTRERDU3MUUsUGluTmFtZT0iSW5kZXgiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFJbnQzMiciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxMaW5rZWRUbz0oTmlhZ2FyYU5vZGVPcF8yIEZCOEU1MkIxODYzNDUzMEY5QkVBMTJGNTRENUUyNUFGLCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9QUE5Q0E1RjlFNTRDNjg3QjIxRDJBNUFEOEI5MEEzQ0IsUGluTmFtZT0iVmFsdWUiLERpcmVjdGlvbj0iRUdQRF9PdXRwdXQiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9Db3JlVU9iamVjdC5WZWN0b3I0ZiciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxMaW5rZWRUbz0oTmlhZ2FyYU5vZGVDdXN0b21IbHNsXzYgQkRCNTI0RjI1OThENTg5OEM0NEY3MkJBMDFDMEU5QzQsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPVRydWUsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KRW5kIE9iamVjdA0KQmVnaW4gT2JqZWN0IENsYXNzPS9TY3JpcHQvTmlhZ2FyYUVkaXRvci5OaWFnYXJhTm9kZUN1c3RvbUhsc2wgTmFtZT0iTmlhZ2FyYU5vZGVDdXN0b21IbHNsXzYiIEV4cG9ydFBhdGg9Ii9TY3JpcHQvTmlhZ2FyYUVkaXRvci5OaWFnYXJhTm9kZUN1c3RvbUhsc2wnL0VuZ2luZS9UcmFuc2llbnQuVHJhalBhcmFtczpOaWFnYXJhU2NyaXB0U291cmNlXzAuTmlhZ2FyYUdyYXBoXzAuTmlhZ2FyYU5vZGVDdXN0b21IbHNsXzYnIg0KICAgQ3VzdG9tSGxzbD0iZmxvYXQgVCA9IChmbG9hdCkoSW5kZXggJSBLKSAvIChmbG9hdCkoSyAtIDEpO1xyXG5pbnQgdHJhaiA9IEluZGV4IC8gSztcclxuaWYgKHRyYWogPj0gQ291bnQpIHsgUG9zID0gU3RhcnQ7IEZpbGwgPSAwLjA7IFdpZHRoID0gMC4wOyByZXR1cm47IH0gIC8vIGNvbGxhcHNlIHRoZSBzcGFyZVxyXG5mbG9hdCB5YXcgPSByYWRpYW5zKFAudyk7XHJcbmZsb2F0MyBlbmRQdCA9IGZsb2F0MyhQLnksIFAueiwgU3RhcnQueik7ICAgLy8gQysrIHBhc3NlcyB0aGUgaW1wYWN0IFhZIGluIHRoZSBhcnJheVxyXG5mbG9hdDMgcG9zID0gbGVycChTdGFydCwgZW5kUHQsIFQpO1xyXG5mbG9hdCBhcmNIID0gKFAueCA+PSAwLjUpID8gUC56IDogKFAueSAqIExpbmVBcmNSYXRpbyk7ICAvLyBhIExpbmUgYXJjcyB0b28sIG9ubHkgZmFpbnRseVxyXG5wb3MueiArPSA0LjAgKiBhcmNIICogVCAqICgxLjAgLSBUKTtcclxuUG9zID0gcG9zO1xyXG5GaWxsID0gRW5naW5lVGltZTtcclxuV2lkdGggPSA4LjA7Ig0KICAgU2lnbmF0dXJlPShJbnB1dHM9KChOYW1lPSJJbmRleCIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD0xMDEpKSwoTmFtZT0iSyIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD0xMDEpKSwoTmFtZT0iRW5naW5lVGltZSIsVHlwZURlZkhhbmRsZT0oUmVnaXN0ZXJlZFR5cGVJbmRleD05OSkpLChOYW1lPSJMaW5lQXJjUmF0aW8iLFR5cGVEZWZIYW5kbGU9KFJlZ2lzdGVyZWRUeXBlSW5kZXg9OTkpKSwoTmFtZT0iQ291bnQiLFR5cGVEZWZIYW5kbGU9KFJlZ2lzdGVyZWRUeXBlSW5kZXg9MTAxKSksKE5hbWU9IlN0YXJ0IixUeXBlRGVmSGFuZGxlPShSZWdpc3RlcmVkVHlwZUluZGV4PTEwNCkpLChOYW1lPSJQIixUeXBlRGVmSGFuZGxlPShSZWdpc3RlcmVkVHlwZUluZGV4PTEwNSkpKSxPdXRwdXRzPSgoTmFtZT0iUG9zIixUeXBlRGVmSGFuZGxlPShSZWdpc3RlcmVkVHlwZUluZGV4PTEwNCkpLChOYW1lPSJGaWxsIixUeXBlRGVmSGFuZGxlPShSZWdpc3RlcmVkVHlwZUluZGV4PTk5KSksKE5hbWU9IldpZHRoIixUeXBlRGVmSGFuZGxlPShSZWdpc3RlcmVkVHlwZUluZGV4PTk5KSkpLE5hbWU9ImN1cnZlIikNCiAgIENoYW5nZUlkPTVEOEIyQzZDRUEyRUNFODAyNzAwMzJDMDg2RTY0OUE0DQogICBOb2RlUG9zWD0xNDAwDQogICBOb2RlUG9zWT0yMDANCiAgIE5vZGVHdWlkPTQ3MzlENTM4RDE3QjIzRjQ4RTU2OUEzMEExODM5RDBDDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9OTYwNEIyNTJFQzY0QTlFNEE4QkY4MDg2QkRCQjdCQTQsUGluTmFtZT0iSW5kZXgiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFJbnQzMiciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxMaW5rZWRUbz0oTmlhZ2FyYU5vZGVQYXJhbWV0ZXJNYXBHZXRfMSAwQjBGMUUwOTczODU3Mzc5REY3OTkxMUQyMUUyRjVENSwpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPUUzOUQzMjVCRDFERDgyMzU2NTlBNDU4M0MzMTQ4MjAxLFBpbk5hbWU9IksiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFJbnQzMiciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxMaW5rZWRUbz0oTmlhZ2FyYU5vZGVQYXJhbWV0ZXJNYXBHZXRfMSA5MjIyRjlFQjEzODI3RTg3QkZBMjhBOEJCRTZDNjRENywpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTNCQzhFRjhGNTNFRDExODNEQjkzMThGQkQ4QkFFODJGLFBpbk5hbWU9IkVuZ2luZVRpbWUiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFGbG9hdCciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxMaW5rZWRUbz0oTmlhZ2FyYU5vZGVQYXJhbWV0ZXJNYXBHZXRfMSAyNjhFNzFDODg5RUM0MjFBMDhBN0ZFQTQ5MDc0MTc4MiwpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTQyMDYyMzcxNzlBNDQyQTk5QjNFQTE5OTczMjhDMTI5LFBpbk5hbWU9IkxpbmVBcmNSYXRpbyIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYUZsb2F0JyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZVBhcmFtZXRlck1hcEdldF8xIDQ1M0ZCMTlFQjI4OEY4RUM4RkREQjBFMkZEQUE2NDNDLCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9MEY3QzM4MjFGRDFCN0NGRjE4OTNCNzdEODA2NjZFRTcsUGluTmFtZT0iQ291bnQiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFJbnQzMiciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxMaW5rZWRUbz0oTmlhZ2FyYU5vZGVGdW5jdGlvbkNhbGxfMyA3MTNFRUE4MkFCMzE0RUE0OUY4MTAyNzZFQTU0NjU2NCwpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPUZGRTYwN0JBMTdDRkQ3QzQxMENCOTE2QUU1MTQ2M0M4LFBpbk5hbWU9IlN0YXJ0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSIiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvQ29yZVVPYmplY3QuVmVjdG9yM2YnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzQgMDI0MkZBQTQxRjc2RkQzRTY2NDRBMTA4OTkxRDg4ODYsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD1CREI1MjRGMjU5OEQ1ODk4QzQ0RjcyQkEwMUMwRTlDNCxQaW5OYW1lPSJQIixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSIiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvQ29yZVVPYmplY3QuVmVjdG9yNGYnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlRnVuY3Rpb25DYWxsXzUgQUE5Q0E1RjlFNTRDNjg3QjIxRDJBNUFEOEI5MEEzQ0IsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD0wNTRGMTM1OEFDMDAwM0FFRkU4NjA4NENBOERENUQyNixQaW5OYW1lPSJQb3MiLERpcmVjdGlvbj0iRUdQRF9PdXRwdXQiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9Db3JlVU9iamVjdC5WZWN0b3IzZiciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD1FODc4RUQ5MTBEQjYzMjQ1MjE2RDVBQjEyNkI5Q0Q3NSxQaW5OYW1lPSJGaWxsIixEaXJlY3Rpb249IkVHUERfT3V0cHV0IixQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSIiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhRmxvYXQnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwU2V0XzcgREVBNkU5RDBGRTQzNjkzODgxOTc0QTRDQkM5MTU0RDQsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD1ENzY2N0IxRUI2MDNGMUQ0RDBBQzA0NEE5Mzk5RDhBQyxQaW5OYW1lPSJXaWR0aCIsRGlyZWN0aW9uPSJFR1BEX091dHB1dCIsUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYUZsb2F0JyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZVBhcmFtZXRlck1hcFNldF83IEVDRTM0MTc4NUU3QjcyNDZEQjUzQTM3Q0U0RDIxNkVFLCksUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9MEU4Q0Y2MDU5MjUzQkYxM0IwNkFCRTFEQzQ0RjZFNzcsUGluTmFtZT0iQWRkIixQaW5UeXBlLlBpbkNhdGVnb3J5PSJNaXNjIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSJEeW5hbWljQWRkUGluIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PU5vbmUsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTBFOENGNjA1OTI1M0JGMTNCMDZBQkUxREM0NEY2RTc3LFBpbk5hbWU9IkFkZCIsRGlyZWN0aW9uPSJFR1BEX091dHB1dCIsUGluVHlwZS5QaW5DYXRlZ29yeT0iTWlzYyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iRHluYW1pY0FkZFBpbiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD1Ob25lLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCkVuZCBPYmplY3QNCkJlZ2luIE9iamVjdCBDbGFzcz0vU2NyaXB0L05pYWdhcmFFZGl0b3IuTmlhZ2FyYU5vZGVQYXJhbWV0ZXJNYXBTZXQgTmFtZT0iTmlhZ2FyYU5vZGVQYXJhbWV0ZXJNYXBTZXRfNyIgRXhwb3J0UGF0aD0iL1NjcmlwdC9OaWFnYXJhRWRpdG9yLk5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwU2V0Jy9FbmdpbmUvVHJhbnNpZW50LlRyYWpQYXJhbXM6TmlhZ2FyYVNjcmlwdFNvdXJjZV8wLk5pYWdhcmFHcmFwaF8wLk5pYWdhcmFOb2RlUGFyYW1ldGVyTWFwU2V0XzcnIg0KICAgQ2hhbmdlSWQ9Q0ZBRTUwQTk0OTZCMDYzREI4OTEzM0UxNDhDRDE3NkQNCiAgIE5vZGVQb3NYPTIwMDANCiAgIE5vZGVQb3NZPTIwMA0KICAgTm9kZUd1aWQ9RTdBRkU1MDlFN0Y5NjJBNUU5RTNBOTE1MjhERTcyMTkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD0yRTZFOTk1ODJBRTVDRDBDNzAxRTdDQzhBMjdCQTBENCxQaW5OYW1lPSJTb3VyY2UiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFQYXJhbWV0ZXJNYXAnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlSW5wdXRfMCAwMzZBNkM2NzAxMTEwREYxMEU5NzU2MUI2RjQ3ODBDOSwpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPTFDQzcyMDU1ODU2N0QwNjU1RkU1MzRCREIxM0Y3OEVELFBpbk5hbWU9IkRlc3QiLERpcmVjdGlvbj0iRUdQRF9PdXRwdXQiLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFQYXJhbWV0ZXJNYXAnIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQogICBDdXN0b21Qcm9wZXJ0aWVzIFBpbiAoUGluSWQ9QkRGRTI3MTk0QUNCNDE3MTNDRjUwMkE1NDFEMDYyRjUsUGluTmFtZT0iUGFydGljbGVzLlBvc2l0aW9uIixQaW5GcmllbmRseU5hbWU9SU5WVEVYVCgiUGFydGljbGVzLlBvc2l0aW9uIiksUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iUGFyYW1ldGVyUGluIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYVBvc2l0aW9uJyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLERlZmF1bHRWYWx1ZT0iMC4wMDAsMC4wMDAsMC4wMDAiLEF1dG9nZW5lcmF0ZWREZWZhdWx0VmFsdWU9IjAuMDAwLDAuMDAwLDAuMDAwIixQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD01Njc4NkQ1RjM1RjRBRkVCQjQzMjM4MTM5OTYyMzdFNyxQaW5OYW1lPSJQYXJ0aWNsZXMuUmliYm9uSUQiLFBpbkZyaWVuZGx5TmFtZT1JTlZURVhUKCJQYXJ0aWNsZXMuUmliYm9uSUQiKSxQaW5UeXBlLlBpbkNhdGVnb3J5PSJUeXBlIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5PSJQYXJhbWV0ZXJQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Ii9TY3JpcHQvQ29yZVVPYmplY3QuU2NyaXB0U3RydWN0Jy9TY3JpcHQvTmlhZ2FyYS5OaWFnYXJhSW50MzInIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsTGlua2VkVG89KE5pYWdhcmFOb2RlT3BfMiBGQjhFNTJCMTg2MzQ1MzBGOUJFQTEyRjU0RDVFMjVBRiwpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPURFQTZFOUQwRkU0MzY5Mzg4MTk3NEE0Q0JDOTE1NEQ0LFBpbk5hbWU9IlBhcnRpY2xlcy5GaWxsUHJvZ3Jlc3MiLFBpbkZyaWVuZGx5TmFtZT1JTlZURVhUKCJQYXJ0aWNsZXMuRmlsbFByb2dyZXNzIiksUGluVHlwZS5QaW5DYXRlZ29yeT0iVHlwZSIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeT0iUGFyYW1ldGVyUGluIixQaW5UeXBlLlBpblN1YkNhdGVnb3J5T2JqZWN0PSIvU2NyaXB0L0NvcmVVT2JqZWN0LlNjcmlwdFN0cnVjdCcvU2NyaXB0L05pYWdhcmEuTmlhZ2FyYUZsb2F0JyIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU1lbWJlclJlZmVyZW5jZT0oKSxQaW5UeXBlLlBpblZhbHVlVHlwZT0oKSxQaW5UeXBlLkNvbnRhaW5lclR5cGU9Tm9uZSxQaW5UeXBlLmJJc1JlZmVyZW5jZT1GYWxzZSxQaW5UeXBlLmJJc0NvbnN0PUZhbHNlLFBpblR5cGUuYklzV2Vha1BvaW50ZXI9RmFsc2UsUGluVHlwZS5iSXNVT2JqZWN0V3JhcHBlcj1GYWxzZSxQaW5UeXBlLmJTZXJpYWxpemVBc1NpbmdsZVByZWNpc2lvbkZsb2F0PUZhbHNlLExpbmtlZFRvPShOaWFnYXJhTm9kZUN1c3RvbUhsc2xfNiBFODc4RUQ5MTBEQjYzMjQ1MjE2RDVBQjEyNkI5Q0Q3NSwpLFBlcnNpc3RlbnRHdWlkPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGJIaWRkZW49RmFsc2UsYk5vdENvbm5lY3RhYmxlPUZhbHNlLGJEZWZhdWx0VmFsdWVJc1JlYWRPbmx5PUZhbHNlLGJEZWZhdWx0VmFsdWVJc0lnbm9yZWQ9RmFsc2UsYkFkdmFuY2VkVmlldz1GYWxzZSxiT3JwaGFuZWRQaW49RmFsc2UsKQ0KICAgQ3VzdG9tUHJvcGVydGllcyBQaW4gKFBpbklkPUVDRTM0MTc4NUU3QjcyNDZEQjUzQTM3Q0U0RDIxNkVFLFBpbk5hbWU9IlBhcnRpY2xlcy5SaWJib25XaWR0aCIsUGluRnJpZW5kbHlOYW1lPUlOVlRFWFQoIlBhcnRpY2xlcy5SaWJib25XaWR0aCIpLFBpblR5cGUuUGluQ2F0ZWdvcnk9IlR5cGUiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IlBhcmFtZXRlclBpbiIsUGluVHlwZS5QaW5TdWJDYXRlZ29yeU9iamVjdD0iL1NjcmlwdC9Db3JlVU9iamVjdC5TY3JpcHRTdHJ1Y3QnL1NjcmlwdC9OaWFnYXJhLk5pYWdhcmFGbG9hdCciLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlNZW1iZXJSZWZlcmVuY2U9KCksUGluVHlwZS5QaW5WYWx1ZVR5cGU9KCksUGluVHlwZS5Db250YWluZXJUeXBlPU5vbmUsUGluVHlwZS5iSXNSZWZlcmVuY2U9RmFsc2UsUGluVHlwZS5iSXNDb25zdD1GYWxzZSxQaW5UeXBlLmJJc1dlYWtQb2ludGVyPUZhbHNlLFBpblR5cGUuYklzVU9iamVjdFdyYXBwZXI9RmFsc2UsUGluVHlwZS5iU2VyaWFsaXplQXNTaW5nbGVQcmVjaXNpb25GbG9hdD1GYWxzZSxMaW5rZWRUbz0oTmlhZ2FyYU5vZGVDdXN0b21IbHNsXzYgRDc2NjdCMUVCNjAzRjFENEQwQUMwNDRBOTM5OUQ4QUMsKSxQZXJzaXN0ZW50R3VpZD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxiSGlkZGVuPUZhbHNlLGJOb3RDb25uZWN0YWJsZT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNSZWFkT25seT1GYWxzZSxiRGVmYXVsdFZhbHVlSXNJZ25vcmVkPUZhbHNlLGJBZHZhbmNlZFZpZXc9RmFsc2UsYk9ycGhhbmVkUGluPUZhbHNlLCkNCiAgIEN1c3RvbVByb3BlcnRpZXMgUGluIChQaW5JZD01QUVBODE3NkM3RkFEQjI4QjNEM0UzM0UzMURCQTQ0NCxQaW5OYW1lPSJBZGQiLFBpblR5cGUuUGluQ2F0ZWdvcnk9Ik1pc2MiLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnk9IkR5bmFtaWNBZGRQaW4iLFBpblR5cGUuUGluU3ViQ2F0ZWdvcnlPYmplY3Q9Tm9uZSxQaW5UeXBlLlBpblN1YkNhdGVnb3J5TWVtYmVyUmVmZXJlbmNlPSgpLFBpblR5cGUuUGluVmFsdWVUeXBlPSgpLFBpblR5cGUuQ29udGFpbmVyVHlwZT1Ob25lLFBpblR5cGUuYklzUmVmZXJlbmNlPUZhbHNlLFBpblR5cGUuYklzQ29uc3Q9RmFsc2UsUGluVHlwZS5iSXNXZWFrUG9pbnRlcj1GYWxzZSxQaW5UeXBlLmJJc1VPYmplY3RXcmFwcGVyPUZhbHNlLFBpblR5cGUuYlNlcmlhbGl6ZUFzU2luZ2xlUHJlY2lzaW9uRmxvYXQ9RmFsc2UsUGVyc2lzdGVudEd1aWQ9MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsYkhpZGRlbj1GYWxzZSxiTm90Q29ubmVjdGFibGU9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzUmVhZE9ubHk9RmFsc2UsYkRlZmF1bHRWYWx1ZUlzSWdub3JlZD1GYWxzZSxiQWR2YW5jZWRWaWV3PUZhbHNlLGJPcnBoYW5lZFBpbj1GYWxzZSwpDQpFbmQgT2JqZWN0DQo=" End Object
Takes the ribbon's UV and composites the core glow, the travelling highlight and the about-to-land flash in one pass. The maths sits in a single Custom node, and its float2 result is split by a mask into Emissive and Opacity. All seven tuning knobs are scalar parameters, so they are set on the MI.
This is the text Unreal itself writes when you copy nodes. Select it and press Ctrl+C, then open a material and press Ctrl+V — the network arrives with its wiring and layout intact.
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_1" ExportPath=/Script/UnrealEd.MaterialGraphNode_Comment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_1"'
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_M_ProjectileTrajectory_1" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_1.MaterialExpressionComment_M_ProjectileTrajectory_1"'
End Object
Begin Object Name="MaterialExpressionComment_M_ProjectileTrajectory_1" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_1.MaterialExpressionComment_M_ProjectileTrajectory_1"'
SizeX=872
SizeY=460
Text="Inputs"
CommentColor=(R=0.160000,G=0.280000,B=0.420000,A=0.300000)
MaterialExpressionEditorX=-56
MaterialExpressionEditorY=-104
MaterialExpressionGuid=B6BA783F0835EE7F61EFB4C7E4C2AD1F
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpressionComment=/Script/Engine.MaterialExpressionComment'"MaterialExpressionComment_M_ProjectileTrajectory_1"'
NodePosX=-56
NodePosY=-104
NodeWidth=872
NodeHeight=460
CommentColor=(R=0.160000,G=0.280000,B=0.420000,A=0.300000)
NodeComment="Inputs"
MoveMode=GroupMovement
NodeGuid=980086991CD6CD57C95C2211897AA25B
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_2" ExportPath=/Script/UnrealEd.MaterialGraphNode_Comment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_2"'
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_M_ProjectileTrajectory_2" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_2.MaterialExpressionComment_M_ProjectileTrajectory_2"'
End Object
Begin Object Name="MaterialExpressionComment_M_ProjectileTrajectory_2" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_2.MaterialExpressionComment_M_ProjectileTrajectory_2"'
SizeX=352
SizeY=1310
Text="Tuning"
CommentColor=(R=0.140000,G=0.360000,B=0.320000,A=0.300000)
MaterialExpressionEditorX=1244
MaterialExpressionEditorY=-104
MaterialExpressionGuid=5647650AA9B623B63C5A9F96FBEDE2BA
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpressionComment=/Script/Engine.MaterialExpressionComment'"MaterialExpressionComment_M_ProjectileTrajectory_2"'
NodePosX=1244
NodePosY=-104
NodeWidth=352
NodeHeight=1310
CommentColor=(R=0.140000,G=0.360000,B=0.320000,A=0.300000)
NodeComment="Tuning"
MoveMode=GroupMovement
NodeGuid=02EBFC569FFEC2FC2433F6E69BF08F38
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_3" ExportPath=/Script/UnrealEd.MaterialGraphNode_Comment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_3"'
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_M_ProjectileTrajectory_3" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_3.MaterialExpressionComment_M_ProjectileTrajectory_3"'
End Object
Begin Object Name="MaterialExpressionComment_M_ProjectileTrajectory_3" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_3.MaterialExpressionComment_M_ProjectileTrajectory_3"'
SizeX=1132
SizeY=460
Text="Composite"
CommentColor=(R=0.220000,G=0.340000,B=0.180000,A=0.300000)
MaterialExpressionEditorX=2024
MaterialExpressionEditorY=66
MaterialExpressionGuid=CD86ECB1C7C1A595507C815134C88D55
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpressionComment=/Script/Engine.MaterialExpressionComment'"MaterialExpressionComment_M_ProjectileTrajectory_3"'
NodePosX=2024
NodePosY=66
NodeWidth=1132
NodeHeight=460
CommentColor=(R=0.220000,G=0.340000,B=0.180000,A=0.300000)
NodeComment="Composite"
MoveMode=GroupMovement
NodeGuid=D23D3C07720F1E912BBE32F7370522ED
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_4" ExportPath=/Script/UnrealEd.MaterialGraphNode_Comment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_4"'
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_M_ProjectileTrajectory_4" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_4.MaterialExpressionComment_M_ProjectileTrajectory_4"'
End Object
Begin Object Name="MaterialExpressionComment_M_ProjectileTrajectory_4" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_4.MaterialExpressionComment_M_ProjectileTrajectory_4"'
SizeX=872
SizeY=800
Text="Colour"
CommentColor=(R=0.420000,G=0.320000,B=0.120000,A=0.300000)
MaterialExpressionEditorX=-56
MaterialExpressionEditorY=1426
MaterialExpressionGuid=B7E381543BB112246DDEB2600DD881C0
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpressionComment=/Script/Engine.MaterialExpressionComment'"MaterialExpressionComment_M_ProjectileTrajectory_4"'
NodePosX=-56
NodePosY=1426
NodeWidth=872
NodeHeight=800
CommentColor=(R=0.420000,G=0.320000,B=0.120000,A=0.300000)
NodeComment="Colour"
MoveMode=GroupMovement
NodeGuid=ADB3AB1C0523A5AE16AA72343ACBB2D2
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_5" ExportPath=/Script/UnrealEd.MaterialGraphNode_Comment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_5"'
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_M_ProjectileTrajectory_5" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_5.MaterialExpressionComment_M_ProjectileTrajectory_5"'
End Object
Begin Object Name="MaterialExpressionComment_M_ProjectileTrajectory_5" ExportPath=/Script/Engine.MaterialExpressionComment'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_Comment_5.MaterialExpressionComment_M_ProjectileTrajectory_5"'
SizeX=612
SizeY=460
Text="Output"
CommentColor=(R=0.440000,G=0.220000,B=0.140000,A=0.300000)
MaterialExpressionEditorX=1244
MaterialExpressionEditorY=1766
MaterialExpressionGuid=A8A95FDB5463686B53C2FD9BBAB7FF2B
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpressionComment=/Script/Engine.MaterialExpressionComment'"MaterialExpressionComment_M_ProjectileTrajectory_5"'
NodePosX=1244
NodePosY=1766
NodeWidth=612
NodeHeight=460
CommentColor=(R=0.440000,G=0.220000,B=0.140000,A=0.300000)
NodeComment="Output"
MoveMode=GroupMovement
NodeGuid=FD04214DE13B9B6B04F753FDCDE039EF
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_1" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_1"'
Begin Object Class=/Script/Engine.MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_M_ProjectileTrajectory_1" ExportPath=/Script/Engine.MaterialExpressionTextureCoordinate'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_1.MaterialExpressionTextureCoordinate_M_ProjectileTrajectory_1"'
End Object
Begin Object Name="MaterialExpressionTextureCoordinate_M_ProjectileTrajectory_1" ExportPath=/Script/Engine.MaterialExpressionTextureCoordinate'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_1.MaterialExpressionTextureCoordinate_M_ProjectileTrajectory_1"'
MaterialExpressionEditorX=520
MaterialExpressionEditorY=0
MaterialExpressionGuid=0C6E7FF09C965D5AC498EA209CE886FE
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionTextureCoordinate'"MaterialExpressionTextureCoordinate_M_ProjectileTrajectory_1"'
NodePosX=520
NodePosY=0
NodeGuid=F6A3245B06B876F9ACAE57EFA54C0741
CustomProperties Pin (PinId=8432EEDA0A75EE64CEC3429623147034,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 3E549144BE2F9CE2E96FDFA40EADBA2E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_2" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_2"'
Begin Object Class=/Script/Engine.MaterialExpressionDynamicParameter Name="MaterialExpressionDynamicParameter_M_ProjectileTrajectory_2" ExportPath=/Script/Engine.MaterialExpressionDynamicParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_2.MaterialExpressionDynamicParameter_M_ProjectileTrajectory_2"'
End Object
Begin Object Name="MaterialExpressionDynamicParameter_M_ProjectileTrajectory_2" ExportPath=/Script/Engine.MaterialExpressionDynamicParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_2.MaterialExpressionDynamicParameter_M_ProjectileTrajectory_2"'
MaterialExpressionEditorX=0
MaterialExpressionEditorY=170
MaterialExpressionGuid=68AB0488FABF32A4C8B2EE4C3F5C0048
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionDynamicParameter'"MaterialExpressionDynamicParameter_M_ProjectileTrajectory_2"'
NodePosX=0
NodePosY=170
bCanRenameNode=True
NodeGuid=DAA42CC354201C7FC2ED7103855D5DEF
CustomProperties Pin (PinId=D5A116D206B2E29682A1274223A15B6E,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_3 4D9FA639ACD33145B1A3128157E99FCD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=649DD8BAFB2AC018E6CE943AB8847F44,PinName="Output2",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=F9B262FD58029813EB57F2C5256FF827,PinName="Output3",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=AAFFBD8C7D27D6D67C6C76BC12FA0B4A,PinName="Output4",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=FB481DFC4C559FBA22447F748C4EFD1E,PinName="RGB",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9953F6C1A8F1D2E9816875F9387F53D9,PinName="RGBA",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="rgba",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_3" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_3"'
Begin Object Class=/Script/Engine.MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_M_ProjectileTrajectory_3" ExportPath=/Script/Engine.MaterialExpressionComponentMask'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_3.MaterialExpressionComponentMask_M_ProjectileTrajectory_3"'
End Object
Begin Object Name="MaterialExpressionComponentMask_M_ProjectileTrajectory_3" ExportPath=/Script/Engine.MaterialExpressionComponentMask'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_3.MaterialExpressionComponentMask_M_ProjectileTrajectory_3"'
Input=(Expression=/Script/Engine.MaterialExpressionDynamicParameter'"MaterialExpressionDynamicParameter_M_ProjectileTrajectory_2"',OutputIndex=0,Mask=1,MaskR=1)
R=True
G=False
B=False
A=False
MaterialExpressionEditorX=260
MaterialExpressionEditorY=170
MaterialExpressionGuid=044F4F1AB8F3C71003F4502E89A0BFB0
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionComponentMask'"MaterialExpressionComponentMask_M_ProjectileTrajectory_3"'
NodePosX=260
NodePosY=170
NodeGuid=DE9B55814699096375ED7869214F6EE7
CustomProperties Pin (PinId=4D9FA639ACD33145B1A3128157E99FCD,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_2 D5A116D206B2E29682A1274223A15B6E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A439E4841C7DF6B2303CD02C43360C16,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_4 7A756781997BD391F4C670ADF47EC8CD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_4" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_4"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_4" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_4.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_4"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_4" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_4.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_4"'
Input=(Expression=/Script/Engine.MaterialExpressionComponentMask'"MaterialExpressionComponentMask_M_ProjectileTrajectory_3"',OutputIndex=0)
Name="FillProgress"
VariableGuid=763AD9B226D29996F0F7D1EA9B596E96
MaterialExpressionEditorX=520
MaterialExpressionEditorY=170
MaterialExpressionGuid=FE6AB4429C3428D40AF501B2F2D492B0
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_4"'
NodePosX=520
NodePosY=170
bCanRenameNode=True
NodeGuid=BC025D190492108F60128A058A8341E7
CustomProperties Pin (PinId=7A756781997BD391F4C670ADF47EC8CD,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_3 A439E4841C7DF6B2303CD02C43360C16,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=EE9BECAC55082306D5653EE0C2059716,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_5" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_5"'
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_5" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_5.MaterialExpressionScalarParameter_M_ProjectileTrajectory_5"'
End Object
Begin Object Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_5" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_5.MaterialExpressionScalarParameter_M_ProjectileTrajectory_5"'
DefaultValue=3.000000
ParameterName="SweepCount"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=0
MaterialExpressionGuid=B026FB4DA7E3338181117C99B8E93355
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_5"'
NodePosX=1300
NodePosY=0
bCanRenameNode=True
NodeGuid=9849DB465221D45AF68FD926955DAA22
CustomProperties Pin (PinId=7909BAB8487DA00E729E1190E609A3C2,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="3.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=F2529017DA45EFCBE3673BEFC4BEF743,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 EEAEC2A85440F07A101FB66863AF23D6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_6" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_6"'
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_6" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_6.MaterialExpressionScalarParameter_M_ProjectileTrajectory_6"'
End Object
Begin Object Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_6" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_6.MaterialExpressionScalarParameter_M_ProjectileTrajectory_6"'
DefaultValue=0.250000
ParameterName="BaseOpacity"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=170
MaterialExpressionGuid=6AB065EF7C2258F52BDD3067C64DCDD9
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_6"'
NodePosX=1300
NodePosY=170
bCanRenameNode=True
NodeGuid=68B5FBF41FAA7E26E7C0FF606C1C7B7E
CustomProperties Pin (PinId=F40377C23C8FF0F282A9039E2AA51A96,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.25",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=1FA1FEA16CA89D9F4641477DC05C7B37,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 B81BCA6972214E8DFE7F5F4D9F2E1E71,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_7" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_7"'
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_7" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_7.MaterialExpressionScalarParameter_M_ProjectileTrajectory_7"'
End Object
Begin Object Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_7" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_7.MaterialExpressionScalarParameter_M_ProjectileTrajectory_7"'
DefaultValue=0.150000
ParameterName="FlowWidth"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=340
MaterialExpressionGuid=D75F47EAE435775E4220E8BE3926949A
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_7"'
NodePosX=1300
NodePosY=340
bCanRenameNode=True
NodeGuid=399D07F1404BA025F77800994A0973D5
CustomProperties Pin (PinId=5BD0D6CD78EE36CF50A86B21759EE627,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.15",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=20CB82142B4A7AF8107262FCFA983040,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 482F1EAB2419DA4BCB3D531B12752873,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_8" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_8"'
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_8" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_8.MaterialExpressionScalarParameter_M_ProjectileTrajectory_8"'
End Object
Begin Object Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_8" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_8.MaterialExpressionScalarParameter_M_ProjectileTrajectory_8"'
DefaultValue=1.500000
ParameterName="CoreGlow"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=510
MaterialExpressionGuid=62C1CD0CD329E09ED9A706844D16AD02
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_8"'
NodePosX=1300
NodePosY=510
bCanRenameNode=True
NodeGuid=B7DF555FB43757659DA0C38B4D1C462D
CustomProperties Pin (PinId=F6ABBB5F3386B68FF16F81E7A7376EAF,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="1.5",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E3CEF486D9A34D384D90B1FAD7B37B68,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 73B0ECBD60520777492A116D4AA16F8B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_9" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_9"'
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_9" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_9.MaterialExpressionScalarParameter_M_ProjectileTrajectory_9"'
End Object
Begin Object Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_9" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_9.MaterialExpressionScalarParameter_M_ProjectileTrajectory_9"'
DefaultValue=0.900000
ParameterName="ImpactThreshold"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=680
MaterialExpressionGuid=B9A04F6362AC8D51CFEDAD1F7F4CF579
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_9"'
NodePosX=1300
NodePosY=680
bCanRenameNode=True
NodeGuid=45458E90B524BD0ADFDD0E88A659A11E
CustomProperties Pin (PinId=C84A722683FE655E3FB6A736C12DDCB6,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.9",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=377F8F05190DA45BA06600953F875197,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 6FED5F0A3C3BC6D2AE3F199E07A5B6FE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_10" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_10"'
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_10" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_10.MaterialExpressionScalarParameter_M_ProjectileTrajectory_10"'
End Object
Begin Object Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_10" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_10.MaterialExpressionScalarParameter_M_ProjectileTrajectory_10"'
DefaultValue=0.200000
ParameterName="ImpactBoost"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=850
MaterialExpressionGuid=96F058E9B25CCF1F7F252D1DC0B04A07
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_10"'
NodePosX=1300
NodePosY=850
bCanRenameNode=True
NodeGuid=2C9F04FA057A544C7DCDD6D298FC4D48
CustomProperties Pin (PinId=C2553AF4772D334C98206904F1C06AC4,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.2",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=929EF303019F2A99F9F855C3855679BD,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 591357DE1E8F300A3A7BA9E6094750B2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_11" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_11"'
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_11" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_11.MaterialExpressionScalarParameter_M_ProjectileTrajectory_11"'
End Object
Begin Object Name="MaterialExpressionScalarParameter_M_ProjectileTrajectory_11" ExportPath=/Script/Engine.MaterialExpressionScalarParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_11.MaterialExpressionScalarParameter_M_ProjectileTrajectory_11"'
DefaultValue=0.400000
ParameterName="EndFadeStart"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=1020
MaterialExpressionGuid=A65E93F8C41F033CAAD629680CAF2D1C
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_11"'
NodePosX=1300
NodePosY=1020
bCanRenameNode=True
NodeGuid=DCF216D397E58B674A562A67548DF60B
CustomProperties Pin (PinId=628A76DB3A5BBA3558F5E09BC46B4959,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.4",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=22BEB5426AA740AEFC1F0FBE19ECED92,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 4783C5AEADC3F8E47AFF294645439298,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_12" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_12"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteUsage Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_12" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_12.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_12"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_12" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_12.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_12"'
DeclarationGuid=763AD9B226D29996F0F7D1EA9B596E96
Desc="FillProgress"
MaterialExpressionEditorX=2080
MaterialExpressionEditorY=170
MaterialExpressionGuid=8F07E03795966C73C1A0614FC4C5F0CB
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_12"'
NodePosX=2080
NodePosY=170
NodeGuid=E668C6ECC9602818C1F36118E9C1DB04
CustomProperties Pin (PinId=6A79702954362F1D74C34C858C0163E1,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 97654F6D0B805C37DC5A16C188ABC9AF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_13" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_13"'
Begin Object Class=/Script/Engine.MaterialExpressionCustom Name="MaterialExpressionCustom_M_ProjectileTrajectory_13" ExportPath=/Script/Engine.MaterialExpressionCustom'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_13.MaterialExpressionCustom_M_ProjectileTrajectory_13"'
End Object
Begin Object Name="MaterialExpressionCustom_M_ProjectileTrajectory_13" ExportPath=/Script/Engine.MaterialExpressionCustom'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_13.MaterialExpressionCustom_M_ProjectileTrajectory_13"'
Code="float U = UV.x; // along the path: 0 at the socket, 1 at the impact\r\nfloat V = UV.y; // across the ribbon, 0..1\r\nfloat pr = saturate(FillProgress);\r\n\r\n// core glow: brightest down the middle, transparent at the edges\r\nfloat core = pow(1.0 - abs(V - 0.5) * 2.0, 2.0);\r\n\r\n// travelling highlight, accelerating and brightening with FillProgress\r\nfloat flowPhase = frac(pr * pr * SweepCount);\r\nfloat d = frac(U - flowPhase);\r\nfloat band = smoothstep(FlowWidth, 0.0, min(d, 1.0 - d));\r\nfloat hi = band * (0.5 + pr);\r\n\r\n// wash the whole ribbon just before impact\r\nfloat impact = smoothstep(ImpactThreshold, 1.0, pr);\r\nfloat reveal = max(hi, impact);\r\n\r\nfloat emissiveScalar = BaseOpacity + CoreGlow * core + reveal + impact * ImpactBoost;\r\nfloat opacity = max(BaseOpacity, max(reveal, core * BaseOpacity));\r\nfloat endFade = saturate((1.0 - U) / max(1.0 - EndFadeStart, 1e-4));\r\nopacity *= endFade;\r\nreturn float2(emissiveScalar, opacity);"
OutputType=CMOT_Float2
Description="TrajectoryShape"
Inputs(0)=(InputName="UV",Input=(Expression=/Script/Engine.MaterialExpressionTextureCoordinate'"MaterialExpressionTextureCoordinate_M_ProjectileTrajectory_1"',OutputIndex=0))
Inputs(1)=(InputName="FillProgress",Input=(Expression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_12"',OutputIndex=0))
Inputs(2)=(InputName="SweepCount",Input=(Expression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_5"',OutputIndex=0))
Inputs(3)=(InputName="BaseOpacity",Input=(Expression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_6"',OutputIndex=0))
Inputs(4)=(InputName="FlowWidth",Input=(Expression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_7"',OutputIndex=0))
Inputs(5)=(InputName="CoreGlow",Input=(Expression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_8"',OutputIndex=0))
Inputs(6)=(InputName="ImpactThreshold",Input=(Expression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_9"',OutputIndex=0))
Inputs(7)=(InputName="ImpactBoost",Input=(Expression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_10"',OutputIndex=0))
Inputs(8)=(InputName="EndFadeStart",Input=(Expression=/Script/Engine.MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_M_ProjectileTrajectory_11"',OutputIndex=0))
MaterialExpressionEditorX=2340
MaterialExpressionEditorY=170
MaterialExpressionGuid=C9C12F5826B8EBA658ED7330E1601F92
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionCustom'"MaterialExpressionCustom_M_ProjectileTrajectory_13"'
NodePosX=2340
NodePosY=170
NodeGuid=AB5758338878367DB849C01F89D8389D
CustomProperties Pin (PinId=3E549144BE2F9CE2E96FDFA40EADBA2E,PinName="UV",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_1 8432EEDA0A75EE64CEC3429623147034,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=97654F6D0B805C37DC5A16C188ABC9AF,PinName="FillProgress",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_12 6A79702954362F1D74C34C858C0163E1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=EEAEC2A85440F07A101FB66863AF23D6,PinName="SweepCount",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_5 F2529017DA45EFCBE3673BEFC4BEF743,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B81BCA6972214E8DFE7F5F4D9F2E1E71,PinName="BaseOpacity",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_6 1FA1FEA16CA89D9F4641477DC05C7B37,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=482F1EAB2419DA4BCB3D531B12752873,PinName="FlowWidth",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 20CB82142B4A7AF8107262FCFA983040,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=73B0ECBD60520777492A116D4AA16F8B,PinName="CoreGlow",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_8 E3CEF486D9A34D384D90B1FAD7B37B68,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6FED5F0A3C3BC6D2AE3F199E07A5B6FE,PinName="ImpactThreshold",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_9 377F8F05190DA45BA06600953F875197,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=591357DE1E8F300A3A7BA9E6094750B2,PinName="ImpactBoost",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_10 929EF303019F2A99F9F855C3855679BD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4783C5AEADC3F8E47AFF294645439298,PinName="EndFadeStart",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_11 22BEB5426AA740AEFC1F0FBE19ECED92,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=45E3CBE2AA26760074673E261931C4F8,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_14 9688A972A498955EFB54E5C6DEDB0BF2,MaterialGraphNode_15 DF5598DBE3F6CB535D24E9C7013B2077,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_14" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_14"'
Begin Object Class=/Script/Engine.MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_M_ProjectileTrajectory_14" ExportPath=/Script/Engine.MaterialExpressionComponentMask'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_14.MaterialExpressionComponentMask_M_ProjectileTrajectory_14"'
End Object
Begin Object Name="MaterialExpressionComponentMask_M_ProjectileTrajectory_14" ExportPath=/Script/Engine.MaterialExpressionComponentMask'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_14.MaterialExpressionComponentMask_M_ProjectileTrajectory_14"'
Input=(Expression=/Script/Engine.MaterialExpressionCustom'"MaterialExpressionCustom_M_ProjectileTrajectory_13"',OutputIndex=0)
R=True
G=False
B=False
A=False
MaterialExpressionEditorX=2600
MaterialExpressionEditorY=170
MaterialExpressionGuid=A1360E63DD796565F59C9957E905035D
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionComponentMask'"MaterialExpressionComponentMask_M_ProjectileTrajectory_14"'
NodePosX=2600
NodePosY=170
NodeGuid=2CDB4D90D5B3E4F655065870B4C941DA
CustomProperties Pin (PinId=9688A972A498955EFB54E5C6DEDB0BF2,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 45E3CBE2AA26760074673E261931C4F8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0EF0E6053A68DD4F02A1272D6CD5CB0B,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_16 8674F6BE9EE44296143DF9A6CCFF592E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_15" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_15"'
Begin Object Class=/Script/Engine.MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_M_ProjectileTrajectory_15" ExportPath=/Script/Engine.MaterialExpressionComponentMask'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_15.MaterialExpressionComponentMask_M_ProjectileTrajectory_15"'
End Object
Begin Object Name="MaterialExpressionComponentMask_M_ProjectileTrajectory_15" ExportPath=/Script/Engine.MaterialExpressionComponentMask'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_15.MaterialExpressionComponentMask_M_ProjectileTrajectory_15"'
Input=(Expression=/Script/Engine.MaterialExpressionCustom'"MaterialExpressionCustom_M_ProjectileTrajectory_13"',OutputIndex=0)
R=False
G=True
B=False
A=False
MaterialExpressionEditorX=2600
MaterialExpressionEditorY=340
MaterialExpressionGuid=99938D884A653FCA23514D50CE623DEE
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionComponentMask'"MaterialExpressionComponentMask_M_ProjectileTrajectory_15"'
NodePosX=2600
NodePosY=340
NodeGuid=0B8CB5C32BCFCB899BFA4F3F740707D1
CustomProperties Pin (PinId=DF5598DBE3F6CB535D24E9C7013B2077,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 45E3CBE2AA26760074673E261931C4F8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C84B47D294CB56940E914706F9991524,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_17 8C4BF843260733470A95233BFD2EF497,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_16" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_16"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_16" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_16.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_16"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_16" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_16.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_16"'
Input=(Expression=/Script/Engine.MaterialExpressionComponentMask'"MaterialExpressionComponentMask_M_ProjectileTrajectory_14"',OutputIndex=0)
Name="EmissiveScalar"
VariableGuid=C5E4C40B7600A7ABD733591B75382C93
MaterialExpressionEditorX=2860
MaterialExpressionEditorY=170
MaterialExpressionGuid=5D4B732770A17E3DD52321F7B6B67F01
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_16"'
NodePosX=2860
NodePosY=170
bCanRenameNode=True
NodeGuid=6AF11ABC329B381E2F965C906C3B6A16
CustomProperties Pin (PinId=8674F6BE9EE44296143DF9A6CCFF592E,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_14 0EF0E6053A68DD4F02A1272D6CD5CB0B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A6FA98593F17DB67A6DA230DF513B0FF,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_17" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_17"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_17" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_17.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_17"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_17" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_17.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_17"'
Input=(Expression=/Script/Engine.MaterialExpressionComponentMask'"MaterialExpressionComponentMask_M_ProjectileTrajectory_15"',OutputIndex=0)
Name="Opacity"
VariableGuid=5149A49FAD08B7B134F0A20B1C4D4D31
MaterialExpressionEditorX=2860
MaterialExpressionEditorY=340
MaterialExpressionGuid=D5A9B3500CB242364FB730BC1001244E
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_17"'
NodePosX=2860
NodePosY=340
bCanRenameNode=True
NodeGuid=C11B8C3B339933EDF53F5913266DABB1
CustomProperties Pin (PinId=8C4BF843260733470A95233BFD2EF497,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_15 C84B47D294CB56940E914706F9991524,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=65C7897A26DCAE101ACC0FB285D98E44,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_18" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_18"'
Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_M_ProjectileTrajectory_18" ExportPath=/Script/Engine.MaterialExpressionVectorParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_18.MaterialExpressionVectorParameter_M_ProjectileTrajectory_18"'
End Object
Begin Object Name="MaterialExpressionVectorParameter_M_ProjectileTrajectory_18" ExportPath=/Script/Engine.MaterialExpressionVectorParameter'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_18.MaterialExpressionVectorParameter_M_ProjectileTrajectory_18"'
ParameterName="FlashColor"
MaterialExpressionEditorX=260
MaterialExpressionEditorY=1530
MaterialExpressionGuid=D6EF3C1F9476E56F72A5294F4D22C2C7
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionVectorParameter'"MaterialExpressionVectorParameter_M_ProjectileTrajectory_18"'
NodePosX=260
NodePosY=1530
bCanRenameNode=True
NodeGuid=E5589B049D2A6D3C72F8291851ADD708
CustomProperties Pin (PinId=0C9D45729D4CDC5CB9238A66600A8404,PinName="Default Value",PinType.PinCategory="optional",PinType.PinSubCategory="rgba",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="(R=0.000000,G=0.000000,B=0.000000,A=1.000000)",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=16494F359389457B6F40E31D59BC828F,PinName="RGB",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_19 3718AB8A83E24420191229261973A430,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A032CDCCA73D0A22E72673C0A0C7A622,PinName="R",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D78CF89B9ECD5181AF0BCA47AFD1B021,PinName="G",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=EE9E999C75A80C72B630D9D0EE940E32,PinName="B",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D8EB75198D5B341B0981564DBD43C73B,PinName="A",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5493728E333C7F929FEFDE0AF45955BE,PinName="RGBA",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="rgba",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_19" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_19"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_19" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_19.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_19"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_19" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_19.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_19"'
Input=(Expression=/Script/Engine.MaterialExpressionVectorParameter'"MaterialExpressionVectorParameter_M_ProjectileTrajectory_18"',OutputIndex=0,Mask=1,MaskR=1,MaskG=1,MaskB=1)
Name="FlashColor"
VariableGuid=582E21EDAE4E5099AF5FE511B2AD771D
MaterialExpressionEditorX=520
MaterialExpressionEditorY=1530
MaterialExpressionGuid=F20A7CDBB9182CB39039E47713F946D7
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_19"'
NodePosX=520
NodePosY=1530
bCanRenameNode=True
NodeGuid=95AF43985EE6DA58EAAD1F10743703B8
CustomProperties Pin (PinId=3718AB8A83E24420191229261973A430,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_18 16494F359389457B6F40E31D59BC828F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B5588E5D6012B05DC0E0E98DCD32BB4D,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_20" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_20"'
Begin Object Class=/Script/Engine.MaterialExpressionParticleColor Name="MaterialExpressionParticleColor_M_ProjectileTrajectory_20" ExportPath=/Script/Engine.MaterialExpressionParticleColor'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_20.MaterialExpressionParticleColor_M_ProjectileTrajectory_20"'
End Object
Begin Object Name="MaterialExpressionParticleColor_M_ProjectileTrajectory_20" ExportPath=/Script/Engine.MaterialExpressionParticleColor'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_20.MaterialExpressionParticleColor_M_ProjectileTrajectory_20"'
MaterialExpressionEditorX=0
MaterialExpressionEditorY=1870
MaterialExpressionGuid=A498B0D42B24FC52AC16BBE098AAA13A
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionParticleColor'"MaterialExpressionParticleColor_M_ProjectileTrajectory_20"'
NodePosX=0
NodePosY=1870
NodeGuid=A1BE7297C0CE7A61942C29AFA8504BF5
CustomProperties Pin (PinId=E81951C01BF2D034C1B479F039029364,PinName="RGB",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_22 6A271936601AFE4E2336B2BA9670E56A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DC2C9EAD64192FC9D8D3C5018BC8372D,PinName="R",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=144748268D26EB8AA1799A32858892D6,PinName="G",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0E5F6D1D950EC9B98B075CF13D5C6B5D,PinName="B",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=02D52AC0626006445717AF14A2E73B68,PinName="A",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=2AF8262D90C6E46754FB668D05821873,PinName="RGBA",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="rgba",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_21" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_21"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteUsage Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_21" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_21.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_21"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_21" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_21.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_21"'
DeclarationGuid=C5E4C40B7600A7ABD733591B75382C93
Desc="EmissiveScalar"
MaterialExpressionEditorX=0
MaterialExpressionEditorY=2040
MaterialExpressionGuid=BA04AAFA154254E678F0888275F88D4E
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_21"'
NodePosX=0
NodePosY=2040
NodeGuid=158EAF611E4962BD83A413758C6514B1
CustomProperties Pin (PinId=72CCB1A49938C740528B6470125D9F44,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_22 B9778F67F69027F78A22222BC51FA293,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_22" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_22"'
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_M_ProjectileTrajectory_22" ExportPath=/Script/Engine.MaterialExpressionMultiply'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_22.MaterialExpressionMultiply_M_ProjectileTrajectory_22"'
End Object
Begin Object Name="MaterialExpressionMultiply_M_ProjectileTrajectory_22" ExportPath=/Script/Engine.MaterialExpressionMultiply'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_22.MaterialExpressionMultiply_M_ProjectileTrajectory_22"'
A=(Expression=/Script/Engine.MaterialExpressionParticleColor'"MaterialExpressionParticleColor_M_ProjectileTrajectory_20"',OutputIndex=0,Mask=1,MaskR=1,MaskG=1,MaskB=1)
B=(Expression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_21"',OutputIndex=0)
MaterialExpressionEditorX=260
MaterialExpressionEditorY=1870
MaterialExpressionGuid=2376DC625AD0CFD44128D70E45E96D2C
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionMultiply'"MaterialExpressionMultiply_M_ProjectileTrajectory_22"'
NodePosX=260
NodePosY=1870
NodeGuid=C8FF04B9C32EB78FB321FF49DB92EB3B
CustomProperties Pin (PinId=6A271936601AFE4E2336B2BA9670E56A,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_20 E81951C01BF2D034C1B479F039029364,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B9778F67F69027F78A22222BC51FA293,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_21 72CCB1A49938C740528B6470125D9F44,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C7B5290C78DEA206C464A1CC14DEFDE2,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_23 D9462E3277008A3C31EA898A04F83158,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_23" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_23"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_23" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_23.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_23"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_23" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_23.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_23"'
Input=(Expression=/Script/Engine.MaterialExpressionMultiply'"MaterialExpressionMultiply_M_ProjectileTrajectory_22"',OutputIndex=0)
Name="EmissiveOutput"
VariableGuid=E9B384A2B3DA46EE91412F7ED5832EAA
MaterialExpressionEditorX=520
MaterialExpressionEditorY=1870
MaterialExpressionGuid=602DE02307A478870A59E0B320462B9F
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_23"'
NodePosX=520
NodePosY=1870
bCanRenameNode=True
NodeGuid=EBD31F508406A224EA185EE457EC3330
CustomProperties Pin (PinId=D9462E3277008A3C31EA898A04F83158,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_22 C7B5290C78DEA206C464A1CC14DEFDE2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=29849BC510E896C1A673CF9902C72295,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_24" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_24"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteUsage Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_24" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_24.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_24"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_24" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_24.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_24"'
DeclarationGuid=5149A49FAD08B7B134F0A20B1C4D4D31
Desc="Opacity"
MaterialExpressionEditorX=260
MaterialExpressionEditorY=2040
MaterialExpressionGuid=A71B16399F5E3C79131E964DFE6EEF65
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_24"'
NodePosX=260
NodePosY=2040
NodeGuid=06DA5DEAF778992220C43DE252C9A912
CustomProperties Pin (PinId=03F348932A43E1E343D2B533D21DFCD3,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_25 98FCEC197EBB66BBD330858D65FB768B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_25" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_25"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_25" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_25.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_25"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_25" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_25.MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_25"'
Input=(Expression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_24"',OutputIndex=0)
Name="OpacityOutput"
VariableGuid=C0664FBA2EA018A4F9E96FFE19AF2E54
MaterialExpressionEditorX=520
MaterialExpressionEditorY=2040
MaterialExpressionGuid=9A7640BAF18E535233A1F452CF3B705A
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteDeclaration'"MaterialExpressionNamedRerouteDeclaration_M_ProjectileTrajectory_25"'
NodePosX=520
NodePosY=2040
bCanRenameNode=True
NodeGuid=9D4808218737D16189FCB125E01E4F95
CustomProperties Pin (PinId=98FCEC197EBB66BBD330858D65FB768B,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_24 03F348932A43E1E343D2B533D21DFCD3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9FB6B66401AE15BC6A24A5C0BCAF2700,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_26" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_26"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteUsage Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_26" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_26.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_26"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_26" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_26.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_26"'
DeclarationGuid=E9B384A2B3DA46EE91412F7ED5832EAA
Desc="EmissiveOutput"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=1870
MaterialExpressionGuid=0074C8E48A6CF022A00343000322335A
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_26"'
NodePosX=1300
NodePosY=1870
NodeGuid=CE390A87B8FF04118818B0CF14051295
CustomProperties Pin (PinId=A7D464DE42EB510C3144A8B685432200,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_28 1F85509A370567C273D0692AC75C3F5A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_27" ExportPath=/Script/UnrealEd.MaterialGraphNode'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_27"'
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteUsage Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_27" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_27.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_27"'
End Object
Begin Object Name="MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_27" ExportPath=/Script/Engine.MaterialExpressionNamedRerouteUsage'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_27.MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_27"'
DeclarationGuid=C0664FBA2EA018A4F9E96FFE19AF2E54
Desc="OpacityOutput"
MaterialExpressionEditorX=1300
MaterialExpressionEditorY=2040
MaterialExpressionGuid=16C7E975F7A4810370684349738B49C3
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
End Object
MaterialExpression=/Script/Engine.MaterialExpressionNamedRerouteUsage'"MaterialExpressionNamedRerouteUsage_M_ProjectileTrajectory_27"'
NodePosX=1300
NodePosY=2040
NodeGuid=171AE93EDFD92248FC0D8276D0E7938C
CustomProperties Pin (PinId=6D5AD65F501BBBED8F35F89FD8A59CB9,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_28 3E2C601938E72333691AF2410609FBBF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Root Name="MaterialGraphNode_28" ExportPath=/Script/UnrealEd.MaterialGraphNode_Root'"/Engine/Transient.M_ProjectileTrajectory:MaterialGraph_0.MaterialGraphNode_28"'
Material=/Script/UnrealEd.PreviewMaterial'"/Engine/Transient.M_ProjectileTrajectory"'
NodePosX=1560
NodePosY=1870
NodeGuid=CB2F4A922E13C30225CF535EFEBD429E
CustomProperties Pin (PinId=CFEBBA3030B60478BC5E0DE08A1485C0,PinName="Base Color",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=BA81D8CFD3E102633898F97B79601A0F,PinName="Metallic",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=1D2D5FF7CB532D47874687FB0B1ACA7B,PinName="Specular",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=76D2F68A54172B08A4ADF662C07BE094,PinName="Roughness",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=8056F6E2D3BB6BE2B3C3995258B058E2,PinName="Anisotropy",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=1F85509A370567C273D0692AC75C3F5A,PinName="Emissive Color",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_26 A7D464DE42EB510C3144A8B685432200,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=3E2C601938E72333691AF2410609FBBF,PinName="Opacity",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_27 6D5AD65F501BBBED8F35F89FD8A59CB9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0C45E94D67310959A0F902F948F9A41D,PinName="Opacity Mask",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=8F8F338D962A4425425521F5BDD3C50D,PinName="Normal",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=81D1B5B5D9CC4F83536395396F58A9F3,PinName="Tangent",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=EADC9DB215B1F33CDEA6AD8680765204,PinName="World Position Offset",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D22532A4E868592C395F669C16EF14AC,PinName="Subsurface Color",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=00852429480198BFE64C62E921713CEB,PinName="Ambient Occlusion",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=8455599D23E982EDFD605DC13C520589,PinName="Refraction",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=ADF8CFEE5EE9DAA25349370A3B03974E,PinName="Pixel Depth Offset",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Engine.Emitter.ExecutionIndex as the particle index. In a single emitter it is always 0, so every particle reads array[0]. The per-particle index is Particles.ID.IndexParticles.RibbonID differs per trajectoryParticles.RibbonWidth = 0 — a ribbon has no Scale 0Rendered with bue-render (MIT), embedded in full — this page makes no network requests.