ELF>H@@@?$%'()*+,67AWAVAUATUSHdH%(HD$x1HH\$@Ht$HD$HFHl$`HD$$D$ H\$0HD$8D$@Hl$PHD$XD$`D$Ll$HT$H5L|$IteLt$0LLtQL|$PLLt=D$ 9D$(}Ht$Lt"L$LLLAHtrfE1H|$PH9tH|$0H9tHD$xdH+%(uMHĈL[]A\A]A^A_f.H|$f.AIIAWAVAUATUSHdH%(H$1HH\$PHt$ HD$(HFHl$pL$HD$4D$0H\$@HD$HD$PHl$`HD$hD$pL$HDŽ$Ƅ$D$Ll$@Lt$ LLL|$`LLtpH$LHHD$tTD$09D$8}Ht$Lt9L$HT$LLAHHDE1H$L9tH|$`H9tH|$@H9tH$dH+%(udHĸL[]A\A]A^A_DH|$ f.AIrL1LCIDAVAUATUSH`fnFdH%(HD$X1HHt$HD$HGfnȉD$(fbfD$ Hl$Lw(1HD$HH|$04AHcLl$0EusMD$ +D$$HH|$0E1HtHD$8H9tHD$XdH+%(H`L[]A\A]A^IcI\fDHH.H|$E1HD$H|$04HcH|$0IcLE1XHt$H4Ht$HDLH EIUHH)H AD$D1HfATHH9uDAt@ADHHA9~"ADDA9~ ADDT$Ht$LLAE~EIc1fDHH9t/AD.ztHuDLHHAH|$0I@D1ADHH9uUHDUH@dH%(HD$81HHt$HD$HFHD$$D$ t0H|$1HT$8dH+%(uhH@]@HT$H|$H5|$HtHt+HH5HPtHuH1Huff.fHFHwHHH=fDHH51Hff.@HGI~H)ǃuHH=LHH51HÐUSHHdH%(HD$81HHt$HD$HFHD$$D$ HD$t6H|$1HT$8dH+%(utHH[]fHt$H|$tHl$H=HtHH=uHuHc@HSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=HG(HtL$9L$t:H111HT$(dH+%(u7H0[fDHHuӐHuSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=HG(HtL$9L$t:H111HT$(dH+%(u3H0[fDHHuӐXpHuHc@SH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uUH0[fDHHuӐtHu뵐HHH;tЉfUH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uVH0]fDHHuӐtHo@HuH@HHH;tHUH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uVH0]fDHHuӐtHo0HuH@HHH;tHUH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uVH0]fDHHuӐtHo8HuH@HHH;tHUH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uVH0]fDHHuӐtHoHHuH@HHH;tHUH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHo(Ht!D$ +D$$tFH|$1HT$8dH+%(u_H@]f.HHuϐH5HT$H|$|$HtHHuHHff.UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHo(Ht!D$ +D$$tFH|$1HT$8dH+%(u_H@]f.HHuϐH5HT$H|$|$HtHHuHHff.UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHo(Ht!D$ +D$$tFH|$1HT$8dH+%(u_H@]f.HHuϐH5HT$H|$|$HtHHuHHff.UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHo(Ht!D$ +D$$tFH|$1HT$8dH+%(u_H@]f.HHuϐH5HT$H|$|$HtHHuHHff.UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHo(Ht!D$ +D$$tFH|$1HT$8dH+%(u_H@]f.HHuϐH5HT$H|$|$HtHHuHHff.UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHD$Ho(Ht!D$ +D$$t=H|$1HT$8dH+%(uNH@]ÐHHuؐHt$H|$tHt$HHu@@UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHD$Ho(Ht!D$ +D$$t=H|$1HT$8dH+%(uNH@]ÐHHuؐHt$H|$tHt$HHu@@UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHD$Ho(Ht!D$ +D$$t=H|$1HT$8dH+%(uNH@]ÐHHuؐHt$H|$tHt$HHu@@UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHD$Ho(Ht!D$ +D$$t=H|$1HT$8dH+%(uNH@]ÐHHuؐHt$H|$tHt$HHu@@ATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$uCH(HtD$9D$tHH111HT$(dH+%(H8]A\fDHHuftLHHuHtVHHHIHuLH|fDHHH;tHfDHHFff.AUATUH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uXHD$Ho(Ht!D$ +D$$tIH|$1HT$8dH+%(u|H@]A\A]fHHu̐Ld$Ht$LtLl$0LLtHt$HLHu@tfAUATUH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uXHD$Ho(Ht!D$ +D$$tIH|$1HT$8dH+%(u|H@]A\A]fHHu̐Ld$Ht$LtLl$5LLtHt$HLHu@tfAUATUH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uXHD$Ho(Ht!D$ +D$$tIH|$1HT$8dH+%(u|H@]A\A]fHHu̐Ld$Ht$LtLl$4LLtHt$HLHu@tfAUATUHPfnFdH%(HD$H1HHt$HD$HGfnȉD$(fbfD$ uXHD$Ho(Ht!D$ +D$$tIH|$1HT$HdH+%(u|HP]A\A]fHHu̐Ld$Ht$LtLl$0LLtHt$HLHu@tfAUATUHPfnFdH%(HD$H1HHt$HD$HGfnȉD$(fbfD$ uXHD$Ho(Ht!D$ +D$$tIH|$1HT$HdH+%(u|HP]A\A]fHHu̐Ld$Ht$LtLl$0LLtHt$HLHu@tfAUATUH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uXHD$Ho(Ht!D$ +D$$tIH|$1HT$8dH+%(u|H@]A\A]fHHu̐Ld$Ht$LtLl$0LLtHt$HLHu@tfATUHHfnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uRHD$Ho(Ht!D$ +D$$tKH|$1HT$8dH+%(uwHH]A\DHHufLd$Ht$LtHt$LtT$Ht$HHu@yfATUHHfnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uRHD$Ho(Ht!D$ +D$$tKH|$1HT$8dH+%(uyHH]A\DHHufLd$Ht$LtHt$LtD$Ht$HHu@wATUHHfnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uZHD$Ho(Ht!D$ +D$$tKH|$1HT$8dH+%(HH]A\fHHuʐLd$Ht$LtHT$H5L|$HtHt$HHx@lff.ATUHHfnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uZHD$Ho(Ht!D$ +D$$tKH|$1HT$8dH+%(HH]A\fHHuʐLd$Ht$LtHT$H5L|$HtHt$HHx@lff.ATUSHPfnFdH%(HD$H1HH4$HD$HGfnȉD$fbfD$uzLg(H\$0D$0Hl$ H\$ HD$(MteD$+D$HtdE1H|$ H9tHD$HdH+%(ugHPL[]A\HHuE1f.HtI|$PHHuL%I$zHff.UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHo(Ht!D$ +D$$tFH|$1HT$8dH+%(H@]fDHHuϐHt$ H|$tD$$t$ t99tHEHHuHH|@HEHH;u;tƉHHff.H8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u>H(HtD$9D$t;H111HT$(dH+%(H8@HHuҐHtAHH;uIt ƇHuHH@HH;t@1DUH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHo(D$Ht!D$ +D$$tAH|$1HT$8dH+%(H@]ÐHHuԐHt$H|$tD$$t$t8@8tHE@HHuHH@HEHH;u$@8t@HfH@H8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u>H(HtD$9D$t;H111HT$(dH+%(H8@HHuҐHtAHH;uIu ƇHuHH@HH;t@fATUSH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uYHD$Ho(Ht!\$ +\$$tJH|$1HT$8dH+%(H@[]A\HHuːHt$H|$tD$$Ld$uXHELH@H;u\H=tLH=u)HeHcZfDLL@HЉfATH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$uDH(HtD$9D$tIH11E1HD$(dH+%(H0LA\@HHufHHRxH;IMtoI$H5LPtZHuLIHoHbL1HHP@L8fE1H"DIjfAVAUATUHhfnFdH%(HD$X1HHt$HD$HGfnȉD$(fbfD$ Ll$Lw(HD$LH|$0HcIHl$0Mt(D$ +D$$LHl$0E1HtHD$8H9tHHD$XdH+%(HhL]A\A]A^@HHMH|$E1HD$H|$0HcHl$0Ht$LeHt$LPDHL:T$Ht$HLAHl$0HAHl$0IHff.@AVAUATUHhfnFdH%(HD$X1HHt$HD$HGfnȉD$(fbfD$ Ll$Lw(HD$LH|$0HcIHl$0Mt(D$ +D$$LHl$0E1HtHD$8H9tHHD$XdH+%(HhL]A\A]A^@HHMH|$E1HD$H|$0HcHl$0Ht$LeHt$LPDHL:T$Ht$HLAHl$0HAHl$0IHff.@ATUHXfnFdH%(HD$H1HHt$ HD$(HGfnȉD$8fbfD$0uZHD$Ho(Ht!D$0+D$4tKH|$ 1HT$HdH+%(HX]A\fHHuʐLd$ Ht$LtHt$LtHt$LtHt$LtHt$ LkHT$H5L|$LHHPDL$DD$HL$(T$Ht$ XZH@ fAVAUATUSH`fnFdH%(HD$X1HHt$HD$HGfnȉD$(fbfD$ Hl$Lw(1HD$HH|$04AHcLl$0EusMD$ +D$$HH|$0E1HtHD$8H9tHD$XdH+%(H`L[]A\A]A^IcI\fDHH.H|$E1HD$H|$04HcH|$0IcLE1XHt$H4DLHEIUHH)HAD$D1HfDATHH9uDAt@ADHHA9~"ADDA9~ ADDHt$LLAE~3Ic1f.HH9tAD.ztHt$H)AH|$0IDLHDD1ADHH9uUHff.fAVAUATUSH`fnFdH%(HD$X1HHt$HD$HGfnȉD$(fbfD$ Hl$Lw(1HD$HH|$04AHcLl$0EusMD$ +D$$HH|$0E1HtHD$8H9tHD$XdH+%(H`L[]A\A]A^IcI\fDHH.H|$E1HD$H|$04HcH|$0IcLE1XHt$H4DLHEIUHH)HAD$D1HfDATHH9uDAt@ADHHA9~"ADDA9~ ADDHt$LLAE~3Ic1f.HH9tAD.ztHt$H)AH|$0IDLHDD1ADHH9uUHff.fAUATUSHHfnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uWHD$Ho(Ht!D$ +D$$tHH|$1HT$8dH+%(HH[]A\A]HHu͐Ht$H|$tD$$Ld$lHEHH;LMM{LLLLLhHLIL$HHH)HHHL1HAoHH9uLLHH :IFAHt1FAHt$FALHDžHEHHHHfMDMGDLH1@A  HHH9u1A  HHH9ujLHL1uLHL1fATUSHpfnFdH%(HD$h1HHt$ HD$(HGfnȉD$8fbfD$0uIHG(HtT$49T$0tFH|$ 111HT$hdH+%(3Hp[]A\fHHuɐHH\$PH|$@LH\$@HLH!ȄLd$IwWIED$PHLd$HB IHl$@1MtlH9MHHD$HD$6@Ht$1HD$@HHD$HD$PLHLd$HD$@MuMHyLd$HHLHt Hl$@uLHH=HHff.fATUSHpfnFdH%(HD$h1HHt$ HD$(HGfnȉD$8fbfD$0uIHG(HtT$49T$0tFH|$ 111HT$hdH+%(+Hp[]A\fHHuɐHhPL`XH\$PH|$@H\$@HLH!ȄLd$IwUIED$PHLd$HB IHl$@1MtjH9SHHD$HD$x9kx9k{>{>s2$s2$HHvtkObjectUH=Hu]ÐHH=tH]HHH;u!uƇHHH;u!tƇ1vtkShaderProgram.NormalizeOptionbasic_string::_M_construct null not validvtkShaderProgram - a glsl shader program Superclass: vtkObject This class contains the vertex, fragment, geometry shaders that combine to make a shader program vtkRenderingOpenGL2Python.vtkShaderProgramV.IsTypeOf(string) -> int C++: static vtkTypeBool IsTypeOf(const char *type) Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h. V.IsA(string) -> int C++: vtkTypeBool IsA(const char *type) override; Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h. V.SafeDownCast(vtkObjectBase) -> vtkShaderProgram C++: static vtkShaderProgram *SafeDownCast(vtkObjectBase *o) V.NewInstance() -> vtkShaderProgram C++: vtkShaderProgram *NewInstance() V.GetVertexShader() -> vtkShader C++: virtual vtkShader *GetVertexShader() Get the vertex shader for this program V.SetVertexShader(vtkShader) C++: void SetVertexShader(vtkShader *) Get the vertex shader for this program V.GetFragmentShader() -> vtkShader C++: virtual vtkShader *GetFragmentShader() Get the fragment shader for this program V.SetFragmentShader(vtkShader) C++: void SetFragmentShader(vtkShader *) Get the fragment shader for this program V.GetGeometryShader() -> vtkShader C++: virtual vtkShader *GetGeometryShader() Get the geometry shader for this program V.SetGeometryShader(vtkShader) C++: void SetGeometryShader(vtkShader *) Get the geometry shader for this program V.GetTransformFeedback() -> vtkTransformFeedback C++: virtual vtkTransformFeedback *GetTransformFeedback() Get/Set a TransformFeedbackCapture object on this shader program. V.SetTransformFeedback(vtkTransformFeedback) C++: void SetTransformFeedback(vtkTransformFeedback *tfc) Get/Set a TransformFeedbackCapture object on this shader program. V.GetCompiled() -> bool C++: virtual bool GetCompiled() Set/Get flag for if this program is compiled V.SetCompiled(bool) C++: virtual void SetCompiled(bool _arg) Set/Get flag for if this program is compiled V.CompiledOn() C++: virtual void CompiledOn() Set/Get flag for if this program is compiled V.CompiledOff() C++: virtual void CompiledOff() Set/Get flag for if this program is compiled V.GetMD5Hash() -> string C++: std::string GetMD5Hash() Set/Get the md5 hash of this program V.SetMD5Hash(string) C++: void SetMD5Hash(const std::string &hash) V.isBound() -> bool C++: bool isBound() Check if the program is currently bound, or not. @return True if the program is bound, false otherwise. V.ReleaseGraphicsResources(vtkWindow) C++: void ReleaseGraphicsResources(vtkWindow *win) release any graphics resources this class is using. V.GetHandle() -> int C++: int GetHandle() Get the handle of the shader program. V.GetError() -> string C++: std::string GetError() Get the error message (empty if none) for the shader program. V.EnableAttributeArray(string) -> bool C++: bool EnableAttributeArray(const char *name) Enable the named attribute array. Return false if the attribute array is not contained in the linked shader program. V.DisableAttributeArray(string) -> bool C++: bool DisableAttributeArray(const char *name) Disable the named attribute array. Return false if the attribute array is not contained in the linked shader program. V.UseAttributeArray(string, int, int, int, int, NormalizeOption) -> bool C++: bool UseAttributeArray(const char *name, int offset, size_t stride, int elementType, int elementTupleSize, NormalizeOption normalize) Use the named attribute array with the bound BufferObject. @param name of the attribute (as seen in the shader program). @param offset into the bound BufferObject. @param stride The stride of the element access (i.e. the size of each element in the currently bound BufferObject). 0 may be used to indicate tightly packed data. @param elementType Tag identifying the memory representation of the element. @param elementTupleSize The number of elements per vertex (e.g. a 3D position attribute would be 3). @param normalize Indicates the range used by the attribute data. See NormalizeOption for more information. @return false if the attribute array does not exist. V.SetUniformi(string, int) -> bool C++: bool SetUniformi(const char *name, int v) Set the name uniform value to int v. V.SetUniformf(string, float) -> bool C++: bool SetUniformf(const char *name, float v) V.SetUniform2i(string, (int, int)) -> bool C++: bool SetUniform2i(const char *name, const int v[2]) V.SetUniform2f(string, (float, float)) -> bool C++: bool SetUniform2f(const char *name, const float v[2]) V.SetUniform3f(string, (float, float, float)) -> bool C++: bool SetUniform3f(const char *name, const double v[3]) V.SetUniform4f(string, (float, float, float, float)) -> bool C++: bool SetUniform4f(const char *name, const float v[4]) V.SetUniform3uc(string, (int, int, int)) -> bool C++: bool SetUniform3uc(const char *name, const unsigned char v[3]) V.SetUniform4uc(string, (int, int, int, int)) -> bool C++: bool SetUniform4uc(const char *name, const unsigned char v[4]) V.SetUniformMatrix(string, vtkMatrix3x3) -> bool C++: bool SetUniformMatrix(const char *name, vtkMatrix3x3 *v) V.SetUniformMatrix(string, vtkMatrix4x4) -> bool C++: bool SetUniformMatrix(const char *name, vtkMatrix4x4 *v) V.SetUniformMatrix3x3(string, [float, ...]) -> bool C++: bool SetUniformMatrix3x3(const char *name, float *v) V.SetUniformMatrix4x4(string, [float, ...]) -> bool C++: bool SetUniformMatrix4x4(const char *name, float *v) V.SetUniform1iv(string, int, (int, ...)) -> bool C++: bool SetUniform1iv(const char *name, const int count, const int *f) Set the name uniform array to f with count elements V.SetUniform1fv(string, int, (float, ...)) -> bool C++: bool SetUniform1fv(const char *name, const int count, const float *f) V.SetUniformMatrix4x4v(string, int, [float, ...]) -> bool C++: bool SetUniformMatrix4x4v(const char *name, const int count, float *v) V.SetNumberOfOutputs(int) C++: virtual void SetNumberOfOutputs(unsigned int _arg) V.Substitute(string, string, string, bool) -> bool C++: static bool Substitute(std::string &source, const std::string &search, const std::string &replace, bool all=true) V.Substitute(vtkShader, string, string, bool) -> bool C++: static bool Substitute(vtkShader *shader, const std::string &search, const std::string &replace, bool all=true) perform in place string substitutions, indicate if a substitution was done this is useful for building up shader strings which typically involve lots of string substitutions. \param[in] shader The source shader object to perform substitutions on \param[in] search The string to search for \param[in] replace The string replacement \param[in] all Whether to replace all matches or just the first one \return A boolean indicating whether the replacement was successful V.IsUniformUsed(string) -> bool C++: bool IsUniformUsed(const char *) methods to inquire as to what uniforms/attributes are used by this shader. This can save some compute time if the uniforms or attributes are expensive to compute V.IsAttributeUsed(string) -> bool C++: bool IsAttributeUsed(const char *name) Return true if the compiled and linked shader has an attribute matching @a name. V.SetFileNamePrefixForDebugging(string) C++: virtual void SetFileNamePrefixForDebugging(const char *_arg) When developing shaders, it's often convenient to tweak the shader and re-render incrementally. This provides a mechanism to do the same. To debug any shader program, set `FileNamePrefixForDebugging` to a file path e.g. `/tmp/myshaders`. Subsequently, when `Bind()` is called on the shader program, it will check for files named `VS.glsl`, `GS.glsl` and `FS.glsl` for vertex shader, geometry shader and fragment shader codes respectively. If a file doesn't exist, then it dumps out the current code to that file. If the file exists, then the shader is recompiled to use the contents of that file. Thus, after the files have been dumped in the first render, you can open the files in a text editor and update as needed. On following render, the modified contexts from the file will be used. This is only intended for debugging during development and should not be used in production. V.GetFileNamePrefixForDebugging() -> string C++: virtual char *GetFileNamePrefixForDebugging() When developing shaders, it's often convenient to tweak the shader and re-render incrementally. This provides a mechanism to do the same. To debug any shader program, set `FileNamePrefixForDebugging` to a file path e.g. `/tmp/myshaders`. Subsequently, when `Bind()` is called on the shader program, it will check for files named `VS.glsl`, `GS.glsl` and `FS.glsl` for vertex shader, geometry shader and fragment shader codes respectively. If a file doesn't exist, then it dumps out the current code to that file. If the file exists, then the shader is recompiled to use the contents of that file. Thus, after the files have been dumped in the first render, you can open the files in a text editor and update as needed. On following render, the modified contexts from the file will be used. This is only intended for debugging during development and should not be used in production. vtkRenderingOpenGL2Python.vtkShaderProgram.NormalizeOptionATL%UH-HHH=LHH=LH5HHH]A\HD !!GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0GNUzRx  0 D X l !!   4FBD Y BBO ^BBzPLRx P$FBB B(A0A8G3 8D0A(B BBBK x&P FBB B(A0A8G 8D0A(B BBBF 8DFBB A(A0D 0D(A BBBH \! EDPa AE HIAlTO|R<EY B W(?<<(PEAD`j AAJ |ED@ AG ED@ AG ED@ AG ED@ AG ED@ AG 0ED@ AG TED@ AG xEDP AK EDP AK EDP AK EDP AK EDP AK ,EDP AB PEDP AB tEDP AB EDP AB (5FADP ABG 0FBA D`  ABBJ 0FBA D`  ABBJ 0PFBA D`  ABBJ 0FBA Dp  ABBJ 0FBA Dp  ABBJ 0FBA D`  ABBJ ( FAD` ABF (LFAD` ABF (x$FAD` ABJ ($FAD` ABJ 45FAA Dp  DABH p (DEDP AG L H@ E hLEDP AB H@ E 0^FAA D`  AABH gFD@ EE <FBB A(D (D BBBE (!<HFBB A(D (D BBBE !8 FADp ABJ xD`xApDFBB A(A0D 0D(A BBBH , !DP FBB A(A0D 0D(A BBBH !8 ^FBA A(Dp (A ABBD 4 FAA D  AABJ 0 4P FAA D  AABJ  $ `EO l AG VA8 -FPO U BBB  BBD 0$ OFDD n ABA DDB(X dFHN DAB   !$#V!& !&8/!^!m$A4`O-4 `')+^`P    K p P0"0[0000= q50PPpGw!0"$`#$$5F!z%D ' 0(L )@ *^h +g `- !! @/3 !!-j  1 2 !! 5M !! 8^ 0= !+  ?Z !1 2 2 4. .d" D 24o t y ~ * 7 E V g & p x  # 5 N X m }      " ( . 4 : @ 'F 4L AR LX _^ kd wj p v |  -    -(    . 8-X " " J" u" " "!"!" Pl" "!6=%,Qar:[{Bd"$"$Sz"'<")?"+<'ZiS$0Jj -XX  4T:kA`.<HT`A-pBO/MZ#6FV_ZL28PyvtkShaderProgram_StaticNewv_ZL32PyvtkShaderProgram_Substitute_s2P7_objectS0__ZL32PyvtkShaderProgram_Substitute_s2P7_objectS0_.cold_ZL32PyvtkShaderProgram_Substitute_s1P7_objectS0__ZL32PyvtkShaderProgram_Substitute_s1P7_objectS0_.cold_ZL39PyvtkShaderProgram_SetUniformMatrix4x4vP7_objectS0__ZL39PyvtkShaderProgram_SetUniformMatrix4x4vP7_objectS0_.cold_ZL31PyvtkShaderProgram_SafeDownCastP7_objectS0__ZL29PyvtkShaderProgram_SubstituteP7_objectS0__ZL37PyvtkShaderProgram_Substitute_Methods_ZL35PyvtkShaderProgram_SetUniformMatrixP7_objectS0__ZL43PyvtkShaderProgram_SetUniformMatrix_Methods_ZL27PyvtkShaderProgram_IsTypeOfP7_objectS0__ZL26PyvtkShaderProgram_isBoundP7_objectS0__ZL28PyvtkShaderProgram_GetHandleP7_objectS0__ZL30PyvtkShaderProgram_GetCompiledP7_objectS0__ZL36PyvtkShaderProgram_GetGeometryShaderP7_objectS0__ZL34PyvtkShaderProgram_GetVertexShaderP7_objectS0__ZL36PyvtkShaderProgram_GetFragmentShaderP7_objectS0__ZL39PyvtkShaderProgram_GetTransformFeedbackP7_objectS0__ZL34PyvtkShaderProgram_SetVertexShaderP7_objectS0__ZL39PyvtkShaderProgram_SetTransformFeedbackP7_objectS0__ZL36PyvtkShaderProgram_SetGeometryShaderP7_objectS0__ZL36PyvtkShaderProgram_SetFragmentShaderP7_objectS0__ZL43PyvtkShaderProgram_ReleaseGraphicsResourcesP7_objectS0__ZL39PyvtkShaderProgram_EnableAttributeArrayP7_objectS0__ZL34PyvtkShaderProgram_IsAttributeUsedP7_objectS0__ZL40PyvtkShaderProgram_DisableAttributeArrayP7_objectS0__ZL32PyvtkShaderProgram_IsUniformUsedP7_objectS0__ZL48PyvtkShaderProgram_GetFileNamePrefixForDebuggingP7_objectS0__ZL31PyvtkShaderProgram_SetUniform2iP7_objectS0__ZL32PyvtkShaderProgram_SetUniform3ucP7_objectS0__ZL32PyvtkShaderProgram_SetUniform4ucP7_objectS0__ZL31PyvtkShaderProgram_SetUniform3fP7_objectS0__ZL31PyvtkShaderProgram_SetUniform4fP7_objectS0__ZL31PyvtkShaderProgram_SetUniform2fP7_objectS0__ZL30PyvtkShaderProgram_SetUniformiP7_objectS0__ZL30PyvtkShaderProgram_SetUniformfP7_objectS0__ZL38PyvtkShaderProgram_SetUniformMatrix_s1P7_objectS0__ZL38PyvtkShaderProgram_SetUniformMatrix_s2P7_objectS0__ZL29PyvtkShaderProgram_SetMD5HashP7_objectS0__ZL29PyvtkShaderProgram_SetMD5HashP7_objectS0_.cold_ZL37PyvtkShaderProgram_SetNumberOfOutputsP7_objectS0__ZL30PyvtkShaderProgram_CompiledOffP7_objectS0__ZL30PyvtkShaderProgram_SetCompiledP7_objectS0__ZL29PyvtkShaderProgram_CompiledOnP7_objectS0__ZL22PyvtkShaderProgram_IsAP7_objectS0__ZL30PyvtkShaderProgram_NewInstanceP7_objectS0__ZL32PyvtkShaderProgram_SetUniform1ivP7_objectS0__ZL32PyvtkShaderProgram_SetUniform1ivP7_objectS0_.cold_ZL32PyvtkShaderProgram_SetUniform1fvP7_objectS0__ZL32PyvtkShaderProgram_SetUniform1fvP7_objectS0_.cold_ZL36PyvtkShaderProgram_UseAttributeArrayP7_objectS0__ZL38PyvtkShaderProgram_SetUniformMatrix3x3P7_objectS0__ZL38PyvtkShaderProgram_SetUniformMatrix3x3P7_objectS0_.cold_ZL38PyvtkShaderProgram_SetUniformMatrix4x4P7_objectS0__ZL38PyvtkShaderProgram_SetUniformMatrix4x4P7_objectS0_.cold_ZL48PyvtkShaderProgram_SetFileNamePrefixForDebuggingP7_objectS0__ZL27PyvtkShaderProgram_GetErrorP7_objectS0__ZL27PyvtkShaderProgram_GetErrorP7_objectS0_.cold_ZL29PyvtkShaderProgram_GetMD5HashP7_objectS0__ZL29PyvtkShaderProgram_GetMD5HashP7_objectS0_.cold_ZL39PyvtkShaderProgram_NormalizeOption_Type_ZL23PyvtkShaderProgram_Type_ZL26PyvtkShaderProgram_Methods_GLOBAL__sub_I_vtkShaderProgramPython.cxx_ZL28vtkDebugLeaksManagerInstance_ZL37vtkRenderingOpenGL2_AutoInit_Instance.LC0.LC1.LC4.LC6.LC7.LC8.LC9.LC11.LC10.LC12.LC13.LC14.LC15.LC16.LC17.LC18.LC19.LC20.LC21.LC22.LC23.LC24.LC25.LC26.LC27.LC28.LC29.LC30.LC31.LC32.LC33.LC34.LC35.LC36.LC37.LC38.LC39.LC40.LC41.LC43.LC44.LC45.LC46.LC47.LC48.LC49.LC51.LC53.LC54.LC55.LC57.LC59.LC60.LC61.LC63.LC65.LC66.LC67.LC68.LC69_ZN28vtkRenderingOpenGL2_AutoInitD5Ev_ZN16vtkShaderProgram15GetVertexShaderEv_ZN16vtkShaderProgram17GetFragmentShaderEv_ZN16vtkShaderProgram17GetGeometryShaderEv_ZN16vtkShaderProgram20GetTransformFeedbackEv_ZN16vtkShaderProgram11GetCompiledEv_ZN16vtkShaderProgram11SetCompiledEb_ZN16vtkShaderProgram18SetNumberOfOutputsEj_ZN16vtkShaderProgram29GetFileNamePrefixForDebuggingEv_ZN16vtkShaderProgram3NewEv_ZNK16vtkShaderProgram19NewInstanceInternalEv_ZN16vtkShaderProgram29SetFileNamePrefixForDebuggingEPKcstrcmp_ZdaPvstrlen_ZnammemcpyDW.ref.__gxx_personality_v0_ZN13vtkPythonArgs17GetArgAsVTKObjectEPKcRb_ZN13vtkPythonArgs8GetValueERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN13vtkPythonArgs8GetValueERb_ZN16vtkShaderProgram10SubstituteEP9vtkShaderRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_bPyErr_Occurred_ZdlPv_ZN13vtkPythonArgs13ArgCountErrorEiiPyBool_FromLong__stack_chk_fail_Unwind_Resume_ZN16vtkShaderProgram10SubstituteERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS5_S8_b_ZN13vtkPythonArgs11SetArgValueEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN13vtkPythonArgs10GetArgSizeEi_ZN13vtkPythonArgs5ArrayIfEC1El_ZN13vtkPythonArgs19GetSelfFromFirstArgEP7_objectS1__ZN13vtkPythonArgs8GetValueERPc_ZN13vtkPythonArgs8GetValueERi_ZN13vtkPythonArgs8GetArrayEPfi_ZN16vtkShaderProgram20SetUniformMatrix4x4vEPKciPf_ZN13vtkPythonArgs8SetArrayEiPKfi_ZN13vtkPythonUtil20GetObjectFromPointerEP13vtkObjectBase_ZN28vtkRenderingOpenGL2_AutoInitD2Ev_Z37vtkRenderingOpenGL2_AutoInit_Destructv_ZN28vtkRenderingOpenGL2_AutoInitD1Ev_ZN17vtkPythonOverload10CallMethodEP11PyMethodDefP7_objectS3__ZN13vtkPythonArgs13ArgCountErrorEiPKc_ZN16vtkShaderProgram3IsAEPKc_ZN13vtkObjectBase8IsTypeOfEPKc_ZN16vtkShaderProgram10CompiledOnEv_GLOBAL_OFFSET_TABLE__ZN16vtkShaderProgram11CompiledOffEvPyLong_FromLong_ZN16vtkShaderProgram15SetVertexShaderEP9vtkShader_Py_NoneStruct_ZN16vtkShaderProgram20SetTransformFeedbackEP20vtkTransformFeedback_ZN16vtkShaderProgram17SetGeometryShaderEP9vtkShader_ZN16vtkShaderProgram17SetFragmentShaderEP9vtkShader_ZN16vtkShaderProgram24ReleaseGraphicsResourcesEP9vtkWindow_ZN16vtkShaderProgram20EnableAttributeArrayEPKc_ZN16vtkShaderProgram15IsAttributeUsedEPKc_ZN16vtkShaderProgram21DisableAttributeArrayEPKc_ZN16vtkShaderProgram13IsUniformUsedEPKcPyUnicode_FromStringAndSizePyErr_ClearPyBytes_FromStringAndSize_ZN13vtkPythonArgs8GetArrayEPii_ZN16vtkShaderProgram12SetUniform2iEPKcPKi_ZN13vtkPythonArgs8GetArrayEPhi_ZN16vtkShaderProgram13SetUniform3ucEPKcPKh_ZN16vtkShaderProgram13SetUniform4ucEPKcPKh_ZN13vtkPythonArgs8GetArrayEPdi_ZN16vtkShaderProgram12SetUniform3fEPKcPKd_ZN16vtkShaderProgram12SetUniform4fEPKcPKf_ZN16vtkShaderProgram12SetUniform2fEPKcPKf_ZN16vtkShaderProgram11SetUniformiEPKci_ZN13vtkPythonArgs8GetValueERf_ZN16vtkShaderProgram11SetUniformfEPKcf_ZN16vtkShaderProgram16SetUniformMatrixEPKcP12vtkMatrix3x3_ZN16vtkShaderProgram16SetUniformMatrixEPKcP12vtkMatrix4x4_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4__ZN13vtkPythonArgs8GetValueERjPyVTKObject_CheckPyVTKObject_GetObjectPyVTKObject_SetFlag_ZN13vtkPythonArgs5ArrayIiEC1El_ZN16vtkShaderProgram13SetUniform1ivEPKciPKi_ZN16vtkShaderProgram13SetUniform1fvEPKciPKf_ZN13vtkPythonArgs8GetValueERm_ZN13vtkPythonArgs12GetArgAsEnumEPKcRb_ZN16vtkShaderProgram17UseAttributeArrayEPKcimiiNS_15NormalizeOptionE_ZN16vtkShaderProgram19SetUniformMatrix3x3EPKcPf_ZN16vtkShaderProgram19SetUniformMatrix4x4EPKcPf_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm_ZSt19__throw_logic_errorPKc_Z43PyvtkShaderProgram_NormalizeOption_FromEnumiPy_BuildValuePyLong_Type_Py_DeallocPyvtkShaderProgram_ClassNewPyVTKClass_AddPyvtkObject_ClassNewPyType_Ready_ZN13vtkPythonUtil12AddEnumToMapEP11_typeobjectPyDict_SetItemStringPyVTKAddFile_vtkShaderProgram__dso_handle_ZN20vtkDebugLeaksManagerC1Ev_ZN20vtkDebugLeaksManagerD1Ev__cxa_atexit_Z38vtkRenderingOpenGL2_AutoInit_ConstructvPyType_TypePyVTKObject_DeletePyVTKObject_ReprPyVTKObject_StringPyObject_GenericGetAttrPyObject_GenericSetAttrPyVTKObject_AsBufferPyVTKObject_TraversePyVTKObject_GetSetPyVTKObject_NewPyObject_GC_DelPyObject_Free8]^ .=]p /p_<OI^t/ay`0]ab{b\]5\OcT}db  e ! . < E q f     1 g~      h> a |   *  i A Y f } *  j ! 9 F ] *k  k &=*Kql*+Qm^ * Qno * Qp^ * Qq^ * Qrs * QtAu1v!wx`**!Uy+2@Juz7KR`j{!>Wkr|A^w}7a~~W u       !3!!!!!" ""%"S"c"""##-#4#F#P##c#$.$>$F$]$d$v$$$'%9%a%%%%%*%%J&q&&&&*&*'@''''*''*(*'(Q(((()*)*F)*x)))*1**N*Z**r****+A+[+~+*+b++e+++++,_,,,*,,b,,,-%-4-S----.5.a......../!/g////0A0h0u00000001C111112!222F2N2~22222,3?3u3333 494O4595C5U5u555<6O666677I7_78I8S8e8888X9999*99::@;P;X;g;d<<<**=T===A>f>>>>>>>>>D???+@P@h@@@@@@@@ AAA[+A*QApAbyA[A\AA[AA[A[A[AA[AAAA[ABB'B9BABPBdBtBBBBbB"Z=%{-/ 158?@-B$08DY| "4CRZs{%-<D b&e+8** $*/4;*EJQX[WI0X     8@I%g`I0 (*8I8@*HXI0`h+xI I0Ipp I#0I` I (08IX@HPXI`h0xI I0k0(Iw)I _ 'Ih  ?I A($8I( @pHP XIp `5h0xI x I 0=I X0Ih }I8  1I (8I@H!XI`h0xIpIIHIPI@pI V(8I@@H2XI `h5xI`-I@/II@L%II( (8Ix@mH XIh`h8xII!DJ(0"8[H`#Xm 4H\p    +@I  &09&x^@H ,@ T`P     4p XP|0000 000T x0 PTp$P!|0"`#$L a,%P 'l0()*+ `- iD M d @/m     1 2 H Q l 5u    8 0= L U  l  ?u  1 3 A `A( B\ W.symtab.strtab.shstrtab.rela.text.data.bss.text._ZN16vtkShaderProgram15GetVertexShaderEv.text._ZN16vtkShaderProgram17GetFragmentShaderEv.text._ZN16vtkShaderProgram17GetGeometryShaderEv.text._ZN16vtkShaderProgram20GetTransformFeedbackEv.text._ZN16vtkShaderProgram11GetCompiledEv.text._ZN16vtkShaderProgram11SetCompiledEb.text._ZN16vtkShaderProgram18SetNumberOfOutputsEj.text._ZN16vtkShaderProgram29GetFileNamePrefixForDebuggingEv.rela.text._ZNK16vtkShaderProgram19NewInstanceInternalEv.rela.text._ZN16vtkShaderProgram29SetFileNamePrefixForDebuggingEPKc.rodata.str1.1.rela.text.unlikely.gcc_except_table.rela.text._ZN28vtkRenderingOpenGL2_AutoInitD2Ev.rodata._ZN16vtkShaderProgram3IsAEPKc.str1.1.rela.text._ZN16vtkShaderProgram3IsAEPKc.rela.text._ZN16vtkShaderProgram10CompiledOnEv.rela.text._ZN16vtkShaderProgram11CompiledOffEv.rodata.str1.8.rela.text.startup.rela.init_array.rela.data.rel.rela.data.rel.local.rela.data.rel.local.DW.ref.__gxx_personality_v0.comment.note.GNU-stack.note.gnu.property.rela.eh_frame.group@=H=P=X=`=h=p=x= = = = = = = = B@P1=&C,C1C `C C C D !D!L@D!~pD D @=D@0=82+ELHHG@(=![I;r0Km@=$2BK PK<@x='K?@x=)(K<#@=+S2L &g rdb@=.zru@=0r8 @=2u @Hh =4`|@=60h|,||  | @` =;8> d(