Gauche-gl-0.6/0000755000076400007640000000000012371574452012227 5ustar shiroshiroGauche-gl-0.6/cg/0000755000076400007640000000000012371574452012620 5ustar shiroshiroGauche-gl-0.6/cg/gl/0000755000076400007640000000000011533026402013204 5ustar shiroshiroGauche-gl-0.6/cg/gl/cg.scm0000644000076400007640000000142611533026402014304 0ustar shiroshiro;;; ;;; cg.scm - Gauche CG binding ;;; ;;; Copyright(C) 2005 by Issac Trotts (ijtrotts@ucdavis.edu) ;;; ;;; Permission to use, copy, modify, distribute this software and ;;; accompanying documentation for any purpose is hereby granted, ;;; provided that existing copyright notices are retained in all ;;; copies and that this notice is included verbatim in all ;;; distributions. ;;; This software is provided as is, without express or implied ;;; warranty. In no circumstances the author(s) shall be liable ;;; for any damages arising out of the use of this software. ;;; ;;; $Id: cg.scm,v 1.1 2005-06-14 21:53:09 shirok Exp $ ;;; (define-module gl.cg (use gl) (use gl.math3d) (export-all) ) (select-module gl.cg) (dynamic-load "libgauche-gl-cg") (provide "gl/cg") Gauche-gl-0.6/cg/gauche-cg.c0000644000076400007640000000333511533026402014575 0ustar shiroshiro/* * gauche-cg.c - Gauche Cg binding * * Copyright(C) 2005 by Issac Trotts (ijtrotts@ucdavis.edu) * * Permission to use, copy, modify, distribute this software and * accompanying documentation for any purpose is hereby granted, * provided that existing copyright notices are retained in all * copies and that this notice is included verbatim in all * distributions. * This software is provided as is, without express or implied * warranty. In no circumstances the author(s) shall be liable * for any damages arising out of the use of this software. * * $Id: gauche-cg.c,v 1.2 2005-08-02 04:21:48 shirok Exp $ */ #include #include #include #include "gauche-cg.h" CGcontext gauche_cg_context = NULL; SCM_DEFINE_BUILTIN_CLASS(Scm_CGcontextClass, NULL, NULL, NULL, NULL, NULL); SCM_DEFINE_BUILTIN_CLASS(Scm_CGprogramClass, NULL, NULL, NULL, NULL, NULL); SCM_DEFINE_BUILTIN_CLASS(Scm_CGparameterClass, NULL, NULL, NULL, NULL, NULL); /* Error handling */ static void error_callback(void) { CGerror e = cgGetError(); if(e == CG_COMPILER_ERROR) { Scm_Error("%s",cgGetLastListing(gauche_cg_context)); } else { Scm_Error("%s",cgGetErrorString(e)); } } /* Initialization */ extern void Scm_Init_cg_lib(ScmModule *mod); void Scm_Init_libgauche_gl_cg(void) { ScmModule *mod; SCM_INIT_EXTENSION(libgauche_gl_cg); mod = SCM_MODULE(SCM_FIND_MODULE("gl.cg", TRUE)); Scm_InitBuiltinClass(&Scm_CGcontextClass, "", NULL, 0, mod); Scm_InitBuiltinClass(&Scm_CGprogramClass, "", NULL, 0, mod); Scm_InitBuiltinClass(&Scm_CGparameterClass, "", NULL, 0, mod); Scm_Init_cg_lib(mod); cgSetErrorCallback(error_callback); } Gauche-gl-0.6/cg/gauche-cg.h0000644000076400007640000000354711533026402014607 0ustar shiroshiro/* * gauche-cg.h - Gauche CG extension * * Copyright(C) 2005 by Issac Trotts (ijtrotts@ucdavis.edu) * * Permission to use, copy, modify, distribute this software and * accompanying documentation for any purpose is hereby granted, * provided that existing copyright notices are retained in all * copies and that this notice is included verbatim in all * distributions. * This software is provided as is, without express or implied * warranty. In no circumstances the author(s) shall be liable * for any damages arising out of the use of this software. * * $Id: gauche-cg.h,v 1.1 2005-06-14 21:53:09 shirok Exp $ */ #ifndef GAUCHE_CG_H #define GAUCHE_CG_H #include #include /* This is the context that was most recently used during a compilation. */ extern CGcontext gauche_cg_context; /* Context */ typedef struct Scm_CGcontextRec { SCM_HEADER; int is_valid; CGcontext context; } Scm_CGcontext; SCM_CLASS_DECL(Scm_CGcontextClass); #define SCM_CLASS_CG_CONTEXT (&Scm_CGcontextClass) #define SCM_CG_CONTEXT(obj) ((Scm_CGcontext*)(obj)) /* unboxer */ #define SCM_CG_CONTEXT_P(obj) SCM_XTYPEP(obj, SCM_CLASS_CG_CONTEXT) /* Program */ typedef struct Scm_CGprogramRec { SCM_HEADER; int is_valid; CGprogram program; } Scm_CGprogram; SCM_CLASS_DECL(Scm_CGprogramClass); #define SCM_CLASS_CG_PROGRAM (&Scm_CGprogramClass) #define SCM_CG_PROGRAM(obj) ((Scm_CGprogram*)(obj)) #define SCM_CG_PROGRAM_P(obj) SCM_XTYPEP(obj, SCM_CLASS_CG_PROGRAM) /* Parameter */ typedef struct Scm_CGparameterRec { SCM_HEADER; CGparameter parameter; } Scm_CGparameter; SCM_CLASS_DECL(Scm_CGparameterClass); #define SCM_CLASS_CG_PARAMETER (&Scm_CGparameterClass) #define SCM_CG_PARAMETER(obj) ((Scm_CGparameter*)(obj)) #define SCM_CG_PARAMETER_P(obj) SCM_XTYPEP(obj, SCM_CLASS_CG_PARAMETER) #endif /* GAUCHE_CG_H */ Gauche-gl-0.6/cg/test.scm0000644000076400007640000000027011533026402014264 0ustar shiroshiro;; test for gl.cg (use gauche.test) (add-load-path "../lib") (add-load-path "../src") (test-start "gl.cg") (test-section "loading cg") (use gl.cg) (test-module 'gl.cg) (test-end) Gauche-gl-0.6/cg/Makefile.in0000644000076400007640000000455611533026402014661 0ustar shiroshiro# # Makefile.in for Gauche-gl/src # $Id: Makefile.in,v 1.4 2005-08-31 09:47:25 shirok Exp $ # # prelude --------------------------------------------- SHELL = @SHELL@ srcdir = @srcdir@ VPATH = $(srcdir) top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # These may be overridden by make invocators DESTDIR = # These are set by configure # NB: cc and various flags must match the ones used to compile Gauche, # so the make invocator shouldn't casually override them. CFLAGS = @DEFS@ @CFLAGS@ @X_CFLAGS@ @GLUT_INCDIR@ -I../src LDFLAGS = -I../src @LDFLAGS@ OBJEXT = @OBJEXT@ SOEXT = @SOEXT@ OLIBS = @LIBS@ LIBS = @CG_LIBS@ @GL_EXTRALIBS@ @GL_LIBS@ @LIBS@ \ @X_LIBS@ @X_PRE_LIBS@ @X_EXTRA_LIBS@ @X_LIBS@ GOSH = "@GOSH@" GAUCHE_CONFIG = "@GAUCHE_CONFIG@" GAUCHE_INSTALL = "@GAUCHE_INSTALL@" GAUCHE_PACKAGE = "@GAUCHE_PACKAGE@" HEADER_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --siteincdir`" SCM_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --sitelibdir`" ARCH_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --sitearchdir`" # build ----------------------------------------------- ARCHFILES = libgauche-gl-cg.$(SOEXT) SCMFILES = gl/cg.scm HEADERS = TARGET = $(ARCHFILES) cg_SRCS = gauche-cg.c cg-lib.stub CONFIG_GENERATED = Makefile config.cache config.log config.status GENERATED = all : $(TARGET) libgauche-gl-cg.$(SOEXT) : $(cg_SRCS) $(GAUCHE_PACKAGE) compile --verbose \ --cflags="$(CFLAGS)" --ldflags="$(LDFLAGS)" --libs="$(LIBS)" \ libgauche-gl-cg $(cg_SRCS) # tests ----------------------------------------------- check : all @rm -f test.log $(GOSH) -I. -I../lib test.scm >> test.log # install ---------------------------------------------- install : all $(GAUCHE_INSTALL) -m 444 -T $(HEADER_INSTALL_DIR) $(HEADERS) $(GAUCHE_INSTALL) -m 444 -T $(SCM_INSTALL_DIR) $(SCMFILES) $(GAUCHE_INSTALL) -m 555 -T $(ARCH_INSTALL_DIR) $(ARCHFILES) uninstall : all $(GAUCHE_INSTALL) -U $(HEADER_INSTALL_DIR) $(HEADERS) $(GAUCHE_INSTALL) -U $(SCM_INSTALL_DIR) $(SCMFILES) $(GAUCHE_INSTALL) -U $(ARCH_INSTALL_DIR) $(ARCHFILES) # clean ------------------------------------------------ clean : $(GAUCHE_PACKAGE) compile --clean libgauche-gl-cg $(cg_SRCS) rm -rf core $(TARGET) $(GENERATED) *~ gl/*~ test.log so_locations distclean : clean rm -rf $(CONFIG_GENERATED) maintainer-clean : clean rm -rf $(CONFIG_GENERATED) configure Gauche-gl-0.6/cg/cg-lib.stub0000644000076400007640000012414711533026402014647 0ustar shiroshiro;;; ;;; cg-lib.stub - glue functions for Cg ;;; ;;; Copyright(C) 2005 by Issac Trotts (ijtrotts@ucdavis.edu) ;;; ;;; Permission to use, copy, modify, distribute this software and ;;; accompanying documentation for any purpose is hereby granted, ;;; provided that existing copyright notices are retained in all ;;; copies and that this notice is included verbatim in all ;;; distributions. ;;; This software is provided as is, without express or implied ;;; warranty. In no circumstances the author(s) shall be liable ;;; for any damages arising out of the use of this software. ;;; ;;; $Id: cg-lib.stub,v 1.4 2007-01-15 10:26:57 shirok Exp $ ;;; " #include \"gauche-gl.h\" #include \"gauche-cg.h\" #include #include #include #include #include " ;; This little section is a stop-gap until Gauche-gl stabilizes again. (define-cproc auto-generate-mipmaps! (yes-or-no::) (body "glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, yes_or_no);")) (define-type "Scm_CGcontext*" #f "SCM_CG_CONTEXT_P" "SCM_CG_CONTEXT") (define-type "Scm_CGprogram*" #f "SCM_CG_PROGRAM_P" "SCM_CG_PROGRAM") (define-type "Scm_CGparameter*" #f "SCM_CG_PARAMETER_P" "SCM_CG_PARAMETER") (define-type "ScmF32Vector*" "f32vector" "SCM_F32VECTORP" "SCM_F32VECTOR") ;; ;; Cg/cg_datatypes.h ;; (define-enum CG_UNKNOWN_TYPE) (define-enum CG_STRUCT) (define-enum CG_ARRAY) (define-enum CG_TYPE_START_ENUM ) (define-enum CG_HALF) (define-enum CG_HALF2) (define-enum CG_HALF3) (define-enum CG_HALF4) (define-enum CG_HALF1x1) (define-enum CG_HALF1x2) (define-enum CG_HALF1x3) (define-enum CG_HALF1x4) (define-enum CG_HALF2x1) (define-enum CG_HALF2x2) (define-enum CG_HALF2x3) (define-enum CG_HALF2x4) (define-enum CG_HALF3x1) (define-enum CG_HALF3x2) (define-enum CG_HALF3x3) (define-enum CG_HALF3x4) (define-enum CG_HALF4x1) (define-enum CG_HALF4x2) (define-enum CG_HALF4x3) (define-enum CG_HALF4x4) (define-enum CG_FLOAT) (define-enum CG_FLOAT2) (define-enum CG_FLOAT3) (define-enum CG_FLOAT4) (define-enum CG_FLOAT1x1) (define-enum CG_FLOAT1x2) (define-enum CG_FLOAT1x3) (define-enum CG_FLOAT1x4) (define-enum CG_FLOAT2x1) (define-enum CG_FLOAT2x2) (define-enum CG_FLOAT2x3) (define-enum CG_FLOAT2x4) (define-enum CG_FLOAT3x1) (define-enum CG_FLOAT3x2) (define-enum CG_FLOAT3x3) (define-enum CG_FLOAT3x4) (define-enum CG_FLOAT4x1) (define-enum CG_FLOAT4x2) (define-enum CG_FLOAT4x3) (define-enum CG_FLOAT4x4) (define-enum CG_SAMPLER1D) (define-enum CG_SAMPLER2D) (define-enum CG_SAMPLER3D) (define-enum CG_SAMPLERRECT) (define-enum CG_SAMPLERCUBE) (define-enum CG_FIXED) (define-enum CG_FIXED2) (define-enum CG_FIXED3) (define-enum CG_FIXED4) (define-enum CG_FIXED1x1) (define-enum CG_FIXED1x2) (define-enum CG_FIXED1x3) (define-enum CG_FIXED1x4) (define-enum CG_FIXED2x1) (define-enum CG_FIXED2x2) (define-enum CG_FIXED2x3) (define-enum CG_FIXED2x4) (define-enum CG_FIXED3x1) (define-enum CG_FIXED3x2) (define-enum CG_FIXED3x3) (define-enum CG_FIXED3x4) (define-enum CG_FIXED4x1) (define-enum CG_FIXED4x2) (define-enum CG_FIXED4x3) (define-enum CG_FIXED4x4) (define-enum CG_HALF1) (define-enum CG_FLOAT1) (define-enum CG_FIXED1) (define-enum CG_INT) (define-enum CG_INT1) (define-enum CG_INT2) (define-enum CG_INT3) (define-enum CG_INT4) (define-enum CG_INT1x1) (define-enum CG_INT1x2) (define-enum CG_INT1x3) (define-enum CG_INT1x4) (define-enum CG_INT2x1) (define-enum CG_INT2x2) (define-enum CG_INT2x3) (define-enum CG_INT2x4) (define-enum CG_INT3x1) (define-enum CG_INT3x2) (define-enum CG_INT3x3) (define-enum CG_INT3x4) (define-enum CG_INT4x1) (define-enum CG_INT4x2) (define-enum CG_INT4x3) (define-enum CG_INT4x4) (define-enum CG_BOOL) (define-enum CG_BOOL1) (define-enum CG_BOOL2) (define-enum CG_BOOL3) (define-enum CG_BOOL4) (define-enum CG_BOOL1x1) (define-enum CG_BOOL1x2) (define-enum CG_BOOL1x3) (define-enum CG_BOOL1x4) (define-enum CG_BOOL2x1) (define-enum CG_BOOL2x2) (define-enum CG_BOOL2x3) (define-enum CG_BOOL2x4) (define-enum CG_BOOL3x1) (define-enum CG_BOOL3x2) (define-enum CG_BOOL3x3) (define-enum CG_BOOL3x4) (define-enum CG_BOOL4x1) (define-enum CG_BOOL4x2) (define-enum CG_BOOL4x3) (define-enum CG_BOOL4x4) ;; ;; Cg/cg_bindlocations.h ;; (define-enum CG_TEXUNIT0) (define-enum CG_TEXUNIT1) (define-enum CG_TEXUNIT2) (define-enum CG_TEXUNIT3) (define-enum CG_TEXUNIT4) (define-enum CG_TEXUNIT5) (define-enum CG_TEXUNIT6) (define-enum CG_TEXUNIT7) (define-enum CG_TEXUNIT8) (define-enum CG_TEXUNIT9) (define-enum CG_TEXUNIT10) (define-enum CG_TEXUNIT11) (define-enum CG_TEXUNIT12) (define-enum CG_TEXUNIT13) (define-enum CG_TEXUNIT14) (define-enum CG_TEXUNIT15) (define-enum CG_ATTR0) (define-enum CG_ATTR1) (define-enum CG_ATTR2) (define-enum CG_ATTR3) (define-enum CG_ATTR4) (define-enum CG_ATTR5) (define-enum CG_ATTR6) (define-enum CG_ATTR7) (define-enum CG_ATTR8) (define-enum CG_ATTR9) (define-enum CG_ATTR10) (define-enum CG_ATTR11) (define-enum CG_ATTR12) (define-enum CG_ATTR13) (define-enum CG_ATTR14) (define-enum CG_ATTR15) (define-enum CG_C) (define-enum CG_TEX0) (define-enum CG_TEX1) (define-enum CG_TEX2) (define-enum CG_TEX3) (define-enum CG_TEX4) (define-enum CG_TEX5) (define-enum CG_TEX6) (define-enum CG_TEX7) (define-enum CG_HPOS) (define-enum CG_COL0) (define-enum CG_COL1) (define-enum CG_COL2) (define-enum CG_COL3) (define-enum CG_PSIZ) (define-enum CG_WPOS) (define-enum CG_POSITION0) (define-enum CG_POSITION1) (define-enum CG_POSITION2) (define-enum CG_POSITION3) (define-enum CG_POSITION4) (define-enum CG_POSITION5) (define-enum CG_POSITION6) (define-enum CG_POSITION7) (define-enum CG_POSITION8) (define-enum CG_POSITION9) (define-enum CG_POSITION10) (define-enum CG_POSITION11) (define-enum CG_POSITION12) (define-enum CG_POSITION13) (define-enum CG_POSITION14) (define-enum CG_POSITION15) (define-enum CG_DIFFUSE0) (define-enum CG_TANGENT0) (define-enum CG_TANGENT1) (define-enum CG_TANGENT2) (define-enum CG_TANGENT3) (define-enum CG_TANGENT4) (define-enum CG_TANGENT5) (define-enum CG_TANGENT6) (define-enum CG_TANGENT7) (define-enum CG_TANGENT8) (define-enum CG_TANGENT9) (define-enum CG_TANGENT10) (define-enum CG_TANGENT11) (define-enum CG_TANGENT12) (define-enum CG_TANGENT13) (define-enum CG_TANGENT14) (define-enum CG_TANGENT15) (define-enum CG_SPECULAR0) (define-enum CG_BLENDINDICES0) (define-enum CG_BLENDINDICES1) (define-enum CG_BLENDINDICES2) (define-enum CG_BLENDINDICES3) (define-enum CG_BLENDINDICES4) (define-enum CG_BLENDINDICES5) (define-enum CG_BLENDINDICES6) (define-enum CG_BLENDINDICES7) (define-enum CG_BLENDINDICES8) (define-enum CG_BLENDINDICES9) (define-enum CG_BLENDINDICES10) (define-enum CG_BLENDINDICES11) (define-enum CG_BLENDINDICES12) (define-enum CG_BLENDINDICES13) (define-enum CG_BLENDINDICES14) (define-enum CG_BLENDINDICES15) (define-enum CG_COLOR0) (define-enum CG_COLOR1) (define-enum CG_COLOR2) (define-enum CG_COLOR3) (define-enum CG_COLOR4) (define-enum CG_COLOR5) (define-enum CG_COLOR6) (define-enum CG_COLOR7) (define-enum CG_COLOR8) (define-enum CG_COLOR9) (define-enum CG_COLOR10) (define-enum CG_COLOR11) (define-enum CG_COLOR12) (define-enum CG_COLOR13) (define-enum CG_COLOR14) (define-enum CG_COLOR15) (define-enum CG_PSIZE0) (define-enum CG_PSIZE1) (define-enum CG_PSIZE2) (define-enum CG_PSIZE3) (define-enum CG_PSIZE4) (define-enum CG_PSIZE5) (define-enum CG_PSIZE6) (define-enum CG_PSIZE7) (define-enum CG_PSIZE8) (define-enum CG_PSIZE9) (define-enum CG_PSIZE10) (define-enum CG_PSIZE11) (define-enum CG_PSIZE12) (define-enum CG_PSIZE13) (define-enum CG_PSIZE14) (define-enum CG_PSIZE15) (define-enum CG_BINORMAL0) (define-enum CG_BINORMAL1) (define-enum CG_BINORMAL2) (define-enum CG_BINORMAL3) (define-enum CG_BINORMAL4) (define-enum CG_BINORMAL5) (define-enum CG_BINORMAL6) (define-enum CG_BINORMAL7) (define-enum CG_BINORMAL8) (define-enum CG_BINORMAL9) (define-enum CG_BINORMAL10) (define-enum CG_BINORMAL11) (define-enum CG_BINORMAL12) (define-enum CG_BINORMAL13) (define-enum CG_BINORMAL14) (define-enum CG_BINORMAL15) (define-enum CG_FOG0) (define-enum CG_FOG1) (define-enum CG_FOG2) (define-enum CG_FOG3) (define-enum CG_FOG4) (define-enum CG_FOG5) (define-enum CG_FOG6) (define-enum CG_FOG7) (define-enum CG_FOG8) (define-enum CG_FOG9) (define-enum CG_FOG10) (define-enum CG_FOG11) (define-enum CG_FOG12) (define-enum CG_FOG13) (define-enum CG_FOG14) (define-enum CG_FOG15) (define-enum CG_DEPTH0) (define-enum CG_DEPTH1) (define-enum CG_DEPTH2) (define-enum CG_DEPTH3) (define-enum CG_DEPTH4) (define-enum CG_DEPTH5) (define-enum CG_DEPTH6) (define-enum CG_DEPTH7) (define-enum CG_DEPTH8) (define-enum CG_DEPTH9) (define-enum CG_DEPTH10) (define-enum CG_DEPTH11) (define-enum CG_DEPTH12) (define-enum CG_DEPTH13) (define-enum CG_DEPTH14) (define-enum CG_DEPTH15) (define-enum CG_SAMPLE0) (define-enum CG_SAMPLE1) (define-enum CG_SAMPLE2) (define-enum CG_SAMPLE3) (define-enum CG_SAMPLE4) (define-enum CG_SAMPLE5) (define-enum CG_SAMPLE6) (define-enum CG_SAMPLE7) (define-enum CG_SAMPLE8) (define-enum CG_SAMPLE9) (define-enum CG_SAMPLE10) (define-enum CG_SAMPLE11) (define-enum CG_SAMPLE12) (define-enum CG_SAMPLE13) (define-enum CG_SAMPLE14) (define-enum CG_SAMPLE15) (define-enum CG_BLENDWEIGHT0) (define-enum CG_BLENDWEIGHT1) (define-enum CG_BLENDWEIGHT2) (define-enum CG_BLENDWEIGHT3) (define-enum CG_BLENDWEIGHT4) (define-enum CG_BLENDWEIGHT5) (define-enum CG_BLENDWEIGHT6) (define-enum CG_BLENDWEIGHT7) (define-enum CG_BLENDWEIGHT8) (define-enum CG_BLENDWEIGHT9) (define-enum CG_BLENDWEIGHT10) (define-enum CG_BLENDWEIGHT11) (define-enum CG_BLENDWEIGHT12) (define-enum CG_BLENDWEIGHT13) (define-enum CG_BLENDWEIGHT14) (define-enum CG_BLENDWEIGHT15) (define-enum CG_NORMAL0) (define-enum CG_NORMAL1) (define-enum CG_NORMAL2) (define-enum CG_NORMAL3) (define-enum CG_NORMAL4) (define-enum CG_NORMAL5) (define-enum CG_NORMAL6) (define-enum CG_NORMAL7) (define-enum CG_NORMAL8) (define-enum CG_NORMAL9) (define-enum CG_NORMAL10) (define-enum CG_NORMAL11) (define-enum CG_NORMAL12) (define-enum CG_NORMAL13) (define-enum CG_NORMAL14) (define-enum CG_NORMAL15) (define-enum CG_FOGCOORD) (define-enum CG_TEXCOORD0) (define-enum CG_TEXCOORD1) (define-enum CG_TEXCOORD2) (define-enum CG_TEXCOORD3) (define-enum CG_TEXCOORD4) (define-enum CG_TEXCOORD5) (define-enum CG_TEXCOORD6) (define-enum CG_TEXCOORD7) (define-enum CG_TEXCOORD8) (define-enum CG_TEXCOORD9) (define-enum CG_TEXCOORD10) (define-enum CG_TEXCOORD11) (define-enum CG_TEXCOORD12) (define-enum CG_TEXCOORD13) (define-enum CG_TEXCOORD14) (define-enum CG_TEXCOORD15) (define-enum CG_COMBINER_CONST0) (define-enum CG_COMBINER_CONST1) (define-enum CG_COMBINER_STAGE_CONST0) (define-enum CG_COMBINER_STAGE_CONST1) (define-enum CG_OFFSET_TEXTURE_MATRIX) (define-enum CG_OFFSET_TEXTURE_SCALE) (define-enum CG_OFFSET_TEXTURE_BIAS) (define-enum CG_CONST_EYE) (define-enum CG_TESSFACTOR) ;; ;; Cg/cg_profiles.h ;; (define-enum CG_PROFILE_START) (define-enum CG_PROFILE_UNKNOWN) (define-enum CG_PROFILE_VS_1_1) (define-enum CG_PROFILE_VS_2_0) (define-enum CG_PROFILE_VS_2_X) (define-enum CG_PROFILE_PS_1_1) (define-enum CG_PROFILE_PS_1_2) (define-enum CG_PROFILE_PS_1_3) (define-enum CG_PROFILE_PS_2_0) (define-enum CG_PROFILE_PS_2_X) (define-enum CG_PROFILE_MAX) ;; ;; Cg/cg_errors.h ;; (define-enum CG_NO_ERROR) (define-enum CG_COMPILER_ERROR) (define-enum CG_INVALID_PARAMETER_ERROR) (define-enum CG_INVALID_PROFILE_ERROR) (define-enum CG_PROGRAM_LOAD_ERROR) (define-enum CG_PROGRAM_BIND_ERROR) (define-enum CG_PROGRAM_NOT_LOADED_ERROR) (define-enum CG_UNSUPPORTED_GL_EXTENSION_ERROR) (define-enum CG_INVALID_VALUE_TYPE_ERROR) (define-enum CG_NOT_MATRIX_PARAM_ERROR) (define-enum CG_INVALID_ENUMERANT_ERROR) (define-enum CG_NOT_4x4_MATRIX_ERROR) (define-enum CG_FILE_READ_ERROR) (define-enum CG_FILE_WRITE_ERROR) (define-enum CG_NVPARSE_ERROR) (define-enum CG_MEMORY_ALLOC_ERROR) (define-enum CG_INVALID_CONTEXT_HANDLE_ERROR) (define-enum CG_INVALID_PROGRAM_HANDLE_ERROR) (define-enum CG_INVALID_PARAM_HANDLE_ERROR) (define-enum CG_UNKNOWN_PROFILE_ERROR) (define-enum CG_VAR_ARG_ERROR) (define-enum CG_INVALID_DIMENSION_ERROR) (define-enum CG_ARRAY_PARAM_ERROR) (define-enum CG_OUT_OF_ARRAY_BOUNDS_ERROR) (define-enum CG_CONFLICTING_TYPES_ERROR) (define-enum CG_CONFLICTING_PARAMETER_TYPES_ERROR) (define-enum CG_PARAMETER_IS_NOT_SHARED_ERROR) (define-enum CG_INVALID_PARAMETER_VARIABILITY_ERROR) (define-enum CG_CANNOT_DESTROY_PARAMETER_ERROR) (define-enum CG_NOT_ROOT_PARAMETER_ERROR) (define-enum CG_PARAMETERS_DO_NOT_MATCH_ERROR) (define-enum CG_IS_NOT_PROGRAM_PARAMETER_ERROR) (define-enum CG_INVALID_PARAMETER_TYPE_ERROR) (define-enum CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR) (define-enum CG_INVALID_SIZE_ERROR) (define-enum CG_BIND_CREATES_CYCLE_ERROR) (define-enum CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR) (define-enum CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR) (define-enum CG_ARRAY_HAS_WRONG_DIMENSION_ERROR) (define-enum CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR) ;; ;; Cg/cg_enums.h ;; (define-enum CG_UNKNOWN) (define-enum CG_IN) (define-enum CG_OUT) (define-enum CG_INOUT) (define-enum CG_MIXED) (define-enum CG_VARYING) (define-enum CG_UNIFORM) (define-enum CG_CONSTANT) (define-enum CG_PROGRAM_SOURCE) (define-enum CG_PROGRAM_ENTRY) (define-enum CG_COMPILED_PROGRAM) (define-enum CG_PROGRAM_PROFILE) (define-enum CG_GLOBAL) (define-enum CG_PROGRAM) (define-enum CG_DEFAULT) (define-enum CG_ERROR) (define-enum CG_SOURCE) (define-enum CG_OBJECT) (define-enum CG_COMPILE_MANUAL) (define-enum CG_COMPILE_IMMEDIATE) (define-enum CG_COMPILE_LAZY) (define-enum CG_CURRENT) (define-enum CG_LITERAL) (define-enum CG_VERSION) ;; ;; Cg/cg.h ;; ;;;;; Context ;;;;; " static void context_finalize(ScmObj obj, void* data) { fprintf(stderr,\"context_finalize\\n\"); Scm_CGcontext* c = (Scm_CGcontext*)obj; if(c->is_valid) { cgDestroyContext(c->context); c->is_valid = 0; } } " (define-cproc cg-create-context () "Scm_CGcontext* c = SCM_NEW(Scm_CGcontext); SCM_SET_CLASS(c, SCM_CLASS_CG_CONTEXT); c->context = cgCreateContext(); gauche_cg_context = c->context; c->is_valid = 1; Scm_RegisterFinalizer(SCM_OBJ(c), context_finalize, NULL); SCM_RETURN(SCM_OBJ(c)); ") ;; Calling this is optional, since the garbage collector will eventually ;; call cgDestroyContext() anyway. (define-cproc cg-destroy-context (c::) " if(c->is_valid) { cgDestroyContext(c->context); c->is_valid = 0; } SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-is-context (c::) "SCM_RETURN(SCM_MAKE_BOOL(cgIsContext(c->context)));") (define-cproc cg-get-last-listing (c::) "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetLastListing(c->context)));") (define-cproc cg-set-auto-compile (c:: flag::) "cgSetAutoCompile(c->context,flag); SCM_RETURN(SCM_UNDEFINED);") ;;;;; Program ;;;;; " static void program_finalize(ScmObj obj, void* data) { Scm_CGprogram* p = (Scm_CGprogram*)obj; if(p->is_valid) { cgDestroyProgram(p->program); p->is_valid = 0; } } " " static const char** convert_compiler_args(ScmObj compiler_arg_list) { int i,n; const char **args; if(SCM_LISTP(compiler_arg_list)) { n = Scm_Length(compiler_arg_list); args = (const char**)malloc((n+1)*sizeof(const char*)); for(i=0;i program-type:: program-string:: profile:: entry-func-name ; #f denotes "main", otherwise pass in a string compiler-arg-list ; #f or a list of strings ) " const char **args = convert_compiler_args(compiler_arg_list); Scm_CGprogram* p = SCM_NEW(Scm_CGprogram); SCM_SET_CLASS(p, SCM_CLASS_CG_PROGRAM); p->is_valid = 1; p->program = cgCreateProgram(c->context, program_type, (char*)SCM_STRING_START(program_string), profile, SCM_STRINGP(entry_func_name)?(char*)SCM_STRING_START(entry_func_name):NULL, args); if(args) { free(args); } Scm_RegisterFinalizer(SCM_OBJ(p), program_finalize, NULL); SCM_RETURN(SCM_OBJ(p)); ") (define-cproc cg-create-program-from-file (c:: program-type:: ; usually CG_SOURCE program-filename:: profile:: ; e.g., CG_PROFILE_VP20 or CG_PROFILE_FP20 entry-func-name ; #f denotes "main", otherwise pass in a string compiler-arg-list ; #f or a list of strings ) " const char **args = convert_compiler_args(compiler_arg_list); Scm_CGprogram* p = SCM_NEW(Scm_CGprogram); SCM_SET_CLASS(p, SCM_CLASS_CG_PROGRAM); p->is_valid = 1; p->program = cgCreateProgramFromFile(c->context, program_type, (char*)SCM_STRING_START(program_filename), profile, SCM_STRINGP(entry_func_name)?(char*)SCM_STRING_START(entry_func_name):NULL, args); if(args) { free(args); } /* Scm_RegisterFinalizer(SCM_OBJ(p), program_finalize, NULL); */ SCM_RETURN(SCM_OBJ(p)); ") ;(define-cproc cg-copy-program (p::) ; (return "cgCopyProgram")) (define-cproc cg-destroy-program (p::) "cgDestroyProgram(p->program); p->is_valid = 0; SCM_RETURN(SCM_UNDEFINED);") ; (define-cproc cg-get-first-program (p::) ; (return "cgGetFirstProgram")) ; (define-cproc cg-get-next-program (p::) ; (return "cgGetNextProgram")) ; (define-cproc cg-get-program-context (p::) ; (return "cgGetProgramContext")) ; (define-cproc cg-is-program (p::) ; (return "cgIsProgram")) (define-cproc cg-compile-program (p::) " cgCompileProgram(p->program); SCM_RETURN(SCM_UNDEFINED); ") (define-cproc cg-is-program-compiled (p::) " SCM_RETURN(SCM_MAKE_BOOL(cgIsProgramCompiled(p->program))); ") (define-cproc cg-get-program-string (p:: pname::) "SCM_RETURN(SCM_OBJ(SCM_MAKE_STR_COPYING( cgGetProgramString(p->program, pname))));") ; (define-cproc cg-get-program-profile (prog:: "cgGetProgramProfile")) ; ;;;; Parameter functions ;;;;; ; (define-cproc cg-create-parameter (ctx:: type::) ; (return "cgCreateParameter")) ; (define-cproc cg-destroy-parameter (p::) ; (return "cgDestroyParameter")) ; (define-cproc cg-create-parameter-array (ctx:: length::) ; (return "cgCreateParameterArray")) ; (define-cproc cg-create-parameter-multi-dim-array ; (ctx:: type:: length-list) ; "CGparameter param; ; int i,dim; ; int* lengths; ; if(!SCM_LISTP(length_list)) { ; Scm_Error(\"Expected a list for third argument\"); ; } ; dim = Scm_Length(length_list); ; lengths = (int*)malloc(dim*sizeof(int)); ; for(i=0;i to::) ; (return "cgConnectParameter")) ; (define-cproc cg-disconnect-parameter (p::) ; (return "cgDisconnectParameter")) ; (define-cproc cg-get-connected-parameter (p::) ; (return "cgGetConnectedParameter")) ; (define-cproc cg-get-num-connected-to-parameters (p::) ; (return "cgGetNumConnectedToParameters")) ; (define-cproc cg-get-connected-to-parameter ; (p:: index::) ; (return "cgGetConnectedToParameter")) ;; The reference document Cg_Toolkit.pdf discusses the cgGLSetParameter functions ;; but does not mention the cgSetParameter functions. So, for now, I'm ;; only binding the cgGLSetParameter functions. -ijt ; ; (define-cproc cg-set-parameter (p:: value &rest args) ; ... ; ; Set a matrix parameter in row order. The caller must make sure the matrix ; ; argument has the right number of elements. ; (define-cproc cg-set-named-matrix-parameter-r (param:: mat) ; "if(SCM_F32VECTORP(mat)) { ; cgSetMatrixParameterfr(param, SCM_F32VECTOR_ELEMENTS(mat)); ; } else if(SCM_F64VECTORP(mat)) { ; cgSetMatrixParameterdr(param, SCM_F64VECTOR_ELEMENTS(mat)); ; } else { ; Scm_Error(\"Bad matrix argument type (expected f32vector or f64vector)\"); ; } ; SCM_RETURN(SCM_UNDEFINED);") ; ; Set a matrix parameter in column order. ; (define-cproc set-matrix-parameter-c (param:: mat) ; "if(SCM_F32VECTORP(mat)) { ; cgSetMatrixParameterfc(param, SCM_F32VECTOR_ELEMENTS(mat)); ; } else if(SCM_F64VECTORP(mat)) { ; cgSetMatrixParameterdc(param, SCM_F64VECTOR_ELEMENTS(mat)); ; } else { ; Scm_Error(\"Bad matrix argument type (expected f32vector or f64vector)\"); ; } ; SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-get-named-parameter (prog:: name::) " Scm_CGparameter* ret = SCM_NEW(Scm_CGparameter); SCM_SET_CLASS(ret, SCM_CLASS_CG_PARAMETER); ret->parameter = cgGetNamedParameter(prog->program, (char*)SCM_STRING_START(name)); SCM_RETURN(SCM_OBJ(ret)); ") (define-cproc cg-get-named-program-parameter (prog:: name-space:: name::) " Scm_CGparameter* ret = SCM_NEW(Scm_CGparameter); SCM_SET_CLASS(ret, SCM_CLASS_CG_PARAMETER); ret->parameter = cgGetNamedProgramParameter(prog->program, name_space, (char*)SCM_STRING_START(name)); SCM_RETURN(SCM_OBJ(ret)); ") ; (define-cproc cg-get-first-parameter ; (prog:: name-space::) ; (return "cgGetFirstParameter")) ; (define-cproc cg-get-next-parameter (current::) ; (return "cgGetNextParameter")) ; (define-cproc cg-get-first-leaf-parameter ; (prog:: name-space::) ; (return "cgGetFirstLeafParameter")) ; (define-cproc cg-get-next-leaf-parameter (current::) ; (return "cgGetNextLeafParameter")) ; (define-cproc cg-get-first-struct-parameter (param::) ; (return "cgGetFirstStructParameter")) ; (define-cproc cg-get-named-struct-parameter ; (param:: name::) ; (return "cgGetNamedStructParameter")) ; (define-cproc cg-get-first-dependent-parameter (param::) ; (return "cgGetFirstDependentParameter")) ; (define-cproc cg-get-array-parameter (aparam:: index::) ; (return "cgGetArrayParameter")) ; (define-cproc cg-get-array-dimension (p::) ; (return "cgGetArrayDimension")) ; (define-cproc cg-get-array-type (p::) ; (return "cgGetArrayType")) ; (define-cproc cg-get-array-size (p:: dimension::) ; (return "cgGetArraySize")) ; (define-cproc cg-set-array-size (p:: size::) ; (return "cgSetArraySize")) ; (define-cproc cg-set-multi-dim-array-size (p:: size-list) ; " ; int i,n; ; int *sizes; ; if(!SCM_LISTP(size_list)) { ; Scm_Error(\"Expected a list for second argument\"); ; } ; n = Scm_Length(list); ; sizes = (int*) malloc(n*sizeof(int)); ; for(i=0;i) ; (return "cgGetParameterProgram")) ; (define-cproc cg-get-parameter-context (p::) ; (return "cgGetParameterContext")) ; (define-cproc cg-is-parameter (p::) ; (return "cgIsParameter")) ; (define-cproc cg-get-parameter-name (p::) ; "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetParameterName(p)));") ; (define-cproc cg-get-parameter-type (p::) ; (return "cgGetParameterType")) ; (define-cproc cg-get-parameter-named-type (p::) ; (return "cgGetParameterNamedType")) ; (define-cproc cg-get-parameter-semantic (p::) ; "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetParameterSemantic(p)));") ; (define-cproc cg-get-parameter-resource (p::) ; (return "cgGetParameterResource")) ; (define-cproc cg-get-parameter-base-resource (p::) ; (return "cgGetParameterBaseResource")) ; (define-cproc cg-get-parameter-resource-index (p::) ; (return "cgGetParameterResourceIndex")) ; (define-cproc cg-get-parameter-variability (p::) ; (return "cgGetParameterVariability")) ; (define-cproc cg-get-parameter-direction (p::) ; (return "cgGetParameterDirection")) ; (define-cproc cg-is-parameter-referenced (p::) ; (return "cgIsParameterReferenced")) ; (define-cproc cg-get-parameter-values (p::) ; "int nvals; ; double* vals; ; vals = cgGetParameterValues(p,&nvals); ; SCM_RETURN(Scm_MakeF64VectorFromArray(nvals,vals));") ; (define-cproc cg-get-parameter-ordinal-number (p::) ; (return "cgGetParameterOrdinalNumber")) ; (define-cproc cg-is-parameter-global (p::) ; (return "cgIsParameterGlobal")) ; (define-cproc cg-get-parameter-index (p::) ; (return "cgGetParameterIndex")) ; (define-cproc cg-set-parameter-variability (p:: vary::) ; (return "cgSetParameterVariability")) ; (define-cproc cg-set-parameter-semantic (p:: semantic::) ; (return "cgSetParameterSemantic")) ; ;;;; Type Functions ;;;;; ; (define-cproc cg-get-type-string (t::) ; "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetTypeString(t)));") ; (define-cproc cg-get-type (s::) ; (return "cgGetType")) ; (define-cproc cg-get-named-user-type (p:: name::) ; (return "cgGetNamedUserType")) ; (define-cproc cg-get-num-user-types (p::) ; (return "cgGetNumUserTypes")) ; (define-cproc cg-get-user-type (p:: index::) ; (return "cgGetUserType")) ; (define-cproc cg-get-num-parent-types (t::) ; (return "cgGetNumParentTypes")) ; (define-cproc cg-get-parent-type (t:: index::) ; (return "cgGetParentType")) ; (define-cproc cg-is-parent-type (parent:: child::) ; (return "cgIsParentType")) ; (define-cproc cg-is-interface-type (type::) ; (return "cgIsInterfaceType")) ; ;;;; Resource Functions ;;;;; ; (define-cproc cg-get-resource-string (resource::) ; "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetResourceString(resource)));") ; (define-cproc cg-get-resource (s::) ; (return "cgGetResource")) ; ;;;; Enum Functions ;;;;; ; (define-cproc cg-get-enum-string (en::) ; "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetEnumString(en)));") ; (define-cproc cg-get-enum (enum-string::) ; (return "cgGetEnum")) ; ;;;; Profile Functions ;;;;; ; (define-cproc cg-get-profile-string (profile::) ; "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetProfileString(profile)));") ; (define-cproc cg-get-profile (profile-string::) ; (return "cgGetProfile")) ;;;; Error Functions ;;;;; (define-cproc cg-get-error () (return "cgGetError")) (define-cproc cg-get-error-string (error::) "SCM_RETURN(SCM_MAKE_STR_COPYING(cgGetErrorString(error)));") (define-cproc cg-get-last-error-string () "CGerror e; const char *s; s=cgGetLastErrorString(&e); SCM_RETURN( SCM_LIST2( SCM_MAKE_STR_COPYING(s), Scm_MakeInteger(e))); ") ; ;; Error callback ----------- "static ScmObj error_fn = SCM_FALSE; static void error_callback(void) { if(SCM_PROCEDUREP(error_fn)) { Scm_ApplyRec(error_fn, SCM_NIL); } }" (define-cproc cg-set-error-callback (fn::) " error_fn = SCM_OBJ(fn); cgSetErrorCallback(error_callback); SCM_RETURN(SCM_UNDEFINED); ") (define-cproc cg-get-error-callback () "SCM_RETURN(SCM_OBJ(error_fn));") ;;;;; Misc Functions ;;;;; (define-cproc cg-get-string (sname::) (return "cgGetString")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cgGL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Cg/cgGL_profiles.h (define-enum CG_PROFILE_VP20) (define-enum CG_PROFILE_FP20) (define-enum CG_PROFILE_VP30) (define-enum CG_PROFILE_FP30) (define-enum CG_PROFILE_ARBVP1) (define-enum CG_PROFILE_FP40) (define-enum CG_PROFILE_ARBFP1) (define-enum CG_PROFILE_VP40) ;; CGGLenum type (define-enum CG_GL_MATRIX_IDENTITY) (define-enum CG_GL_MATRIX_TRANSPOSE) (define-enum CG_GL_MATRIX_INVERSE) (define-enum CG_GL_MATRIX_INVERSE_TRANSPOSE) (define-enum CG_GL_MODELVIEW_MATRIX) (define-enum CG_GL_PROJECTION_MATRIX) (define-enum CG_GL_TEXTURE_MATRIX) (define-enum CG_GL_MODELVIEW_PROJECTION_MATRIX) (define-enum CG_GL_VERTEX) (define-enum CG_GL_FRAGMENT) ;; Profile Functions (define-cproc cg-gl-is-profile-supported (profile::) "SCM_RETURN(SCM_MAKE_BOOL(cgGLIsProfileSupported(profile)));") (define-cproc cg-gl-enable-profile (profile::) (return "cgGLEnableProfile")) (define-cproc cg-gl-disable-profile (profile::) (return "cgGLDisableProfile")) (define-cproc cg-gl-get-latest-profile (profile_type::) (return "cgGLGetLatestProfile")) (define-cproc cg-gl-set-optimal-options (profile::) (return "cgGLSetOptimalOptions")) ;; Program Managment Functions (define-cproc cg-gl-load-program (p::) "cgGLLoadProgram(p->program); SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-is-program-loaded (p::) "SCM_RETURN(SCM_MAKE_BOOL(cgGLIsProgramLoaded(p->program)));") (define-cproc cg-gl-bind-program (p::) "cgGLBindProgram(p->program); SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-unbind-program (profile::) (return "cgGLUnbindProgram")) (define-cproc cg-gl-get-program-id (p::) "SCM_RETURN(SCM_MAKE_INT(cgGLGetProgramID(p->program)));") ;; Parameter Managment Functions (define-cproc cg-gl-set-parameter (p:: value &rest args) " CGparameter param = p->parameter; if (SCM_VECTOR4FP(value)) { cgGLSetParameter4fv(param, SCM_VECTOR4F_D(value)); } else if(SCM_F32VECTORP(value)) { switch(SCM_F32VECTOR_SIZE(value)) { case 1: cgGLSetParameter1fv(param,SCM_F32VECTOR_ELEMENTS(value)); break; case 2: cgGLSetParameter2fv(param,SCM_F32VECTOR_ELEMENTS(value)); break; case 3: cgGLSetParameter3fv(param,SCM_F32VECTOR_ELEMENTS(value)); break; case 4: cgGLSetParameter4fv(param,SCM_F32VECTOR_ELEMENTS(value)); break; default: Scm_Error(\"Bad vector size: %i\",(int)SCM_F32VECTOR_SIZE(value)); break; } } else if(SCM_F64VECTORP(value)) { switch(SCM_F64VECTOR_SIZE(value)) { case 1: cgGLSetParameter1dv(param,SCM_F64VECTOR_ELEMENTS(value)); break; case 2: cgGLSetParameter2dv(param,SCM_F64VECTOR_ELEMENTS(value)); break; case 3: cgGLSetParameter3dv(param,SCM_F64VECTOR_ELEMENTS(value)); break; case 4: cgGLSetParameter4dv(param,SCM_F64VECTOR_ELEMENTS(value)); break; default: Scm_Error(\"Bad vector size: %i\",(int)SCM_F64VECTOR_SIZE(value)); break; } } else if(SCM_MATRIX4FP(value)) { /* Should this be cgGLSetMatrixParameterfr? -ijt */ cgGLSetMatrixParameterfc(param,SCM_MATRIX4F_D(value)); } else { double array[4]; int nvals = Scm_GLGetDoubles(value, args, array, 4, 1); switch(nvals) { case 1: cgGLSetParameter1dv(param,array); break; case 2: cgGLSetParameter2dv(param,array); break; case 3: cgGLSetParameter3dv(param,array); break; case 4: cgGLSetParameter4dv(param,array); break; default: Scm_Error(\"Bad number of args: %i\",nvals); break; } } SCM_RETURN(SCM_UNDEFINED);") ; void cg-gl-set-parameter-array1f(CGparameter param, ; long offset, ; long nelements, ; const float *v); ; void cg-gl-set-parameter-array2f(CGparameter param, ; long offset, ; long nelements, ; const float *v); ; void cg-gl-set-parameter-array3f(CGparameter param, ; long offset, ; long nelements, ; const float *v); ; void cg-gl-set-parameter-array4f(CGparameter param, ; long offset, ; long nelements, ; const float *v); ; void cg-gl-set-parameter-array1d(CGparameter param, ; long offset, ; long nelements, ; const double *v); ; void cg-gl-set-parameter-array2d(CGparameter param, ; long offset, ; long nelements, ; const double *v); ; void cg-gl-set-parameter-array3d(CGparameter param, ; long offset, ; long nelements, ; const double *v); ; void cg-gl-set-parameter-array4d(CGparameter param, ; long offset, ; long nelements, ; const double *v); ; void cg-gl-get-parameter-array1f(CGparameter param, ; long offset, ; long nelements, ; float *v); ; void cg-gl-get-parameter-array2f(CGparameter param, ; long offset, ; long nelements, ; float *v); ; void cg-gl-get-parameter-array3f(CGparameter param, ; long offset, ; long nelements, ; float *v); ; void cg-gl-get-parameter-array4f(CGparameter param, ; long offset, ; long nelements, ; float *v); ; void cg-gl-get-parameter-array1d(CGparameter param, ; long offset, ; long nelements, ; double *v); ; void cg-gl-get-parameter-array2d(CGparameter param, ; long offset, ; long nelements, ; double *v); ; void cg-gl-get-parameter-array3d(CGparameter param, ; long offset, ; long nelements, ; double *v); ; void cg-gl-get-parameter-array4d(CGparameter param, ; long offset, ; long nelements, ; double *v); ;; Please be sure not to pass temporary values to this function since ;; it points to the original data without copying. (Shiro, how can we ;; make sure that the pointer object does not get garbage collected ;; before the parameter object does? -ijt) ;; ;; (define-cproc cg-gl-set-parameter-pointer (p:: fsize:: type:: stride:: pointer::) (body "cgGLSetParameterPointer(p->parameter, (GLint)fsize, (GLenum)type, (GLsizei)stride, SCM_F32VECTOR_ELEMENTS(pointer));")) (define-cproc cg-gl-enable-client-state (p::) "cgGLEnableClientState(p->parameter); SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-disable-client-state (p::) "cgGLDisableClientState(p->parameter); SCM_RETURN(SCM_UNDEFINED);") ;; Matrix Parameter Managment Functions (define-cproc cg-gl-set-named-matrix-parameter-r (p:: mat) "CGparameter param = p->parameter; if(SCM_F32VECTORP(mat)) { cgGLSetMatrixParameterfr(param, SCM_F32VECTOR_ELEMENTS(mat)); } else if(SCM_F64VECTORP(mat)) { cgGLSetMatrixParameterdr(param, SCM_F64VECTOR_ELEMENTS(mat)); } else { Scm_Error(\"Bad matrix argument type (expected f32vector or f64vector)\"); } SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-set-named-matrix-parameter-c (p:: mat) "CGparameter param = p->parameter; if(SCM_F32VECTORP(mat)) { cgGLSetMatrixParameterfc(param, SCM_F32VECTOR_ELEMENTS(mat)); } else if(SCM_F64VECTORP(mat)) { cgGLSetMatrixParameterdc(param, SCM_F64VECTOR_ELEMENTS(mat)); } else { Scm_Error(\"Bad matrix argument type (expected f32vector or f64vector)\"); } SCM_RETURN(SCM_UNDEFINED);") ; void cg-gl-get-matrix-parameterdr(CGparameter param, double *matrix); ; void cg-gl-get-matrix-parameterfr(CGparameter param, float *matrix); ; void cg-gl-get-matrix-parameterdc(CGparameter param, double *matrix); ; void cg-gl-get-matrix-parameterfc(CGparameter param, float *matrix); (define-cproc cg-gl-set-state-matrix-parameter (p:: matrix-enum:: transform-enum::) "cgGLSetStateMatrixParameter(p->parameter, matrix_enum, transform_enum); SCM_RETURN(SCM_UNDEFINED);") ; void cg-gl-set-matrix-parameter-arrayfc(CGparameter param, ; long offset, ; long nelements, ; const float *matrices); ; void cg-gl-set-matrix-parameter-arrayfr(CGparameter param, ; long offset, ; long nelements, ; const float *matrices); ; void cg-gl-set-matrix-parameter-arraydc(CGparameter param, ; long offset, ; long nelements, ; const double *matrices); ; void cg-gl-set-matrix-parameter-arraydr(CGparameter param, ; long offset, ; long nelements, ; const double *matrices); ; void cg-gl-get-matrix-parameter-arrayfc(CGparameter param, ; long offset, ; long nelements, ; float *matrices); ; void cg-gl-get-matrix-parameter-arrayfr(CGparameter param, ; long offset, ; long nelements, ; float *matrices); ; void cg-gl-get-matrix-parameter-arraydc(CGparameter param, ; long offset, ; long nelements, ; double *matrices); ; void cg-gl-get-matrix-parameter-arraydr(CGparameter param, ; long offset, ; long nelements, ; double *matrices); ;; Texture Parameter Managment Functions (define-cproc cg-gl-set-texture-parameter (param:: texobj::) "cgGLSetTextureParameter(param->parameter, texobj); SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-get-texture-parameter (param::) "SCM_RETURN(SCM_MAKE_INT(cgGLGetTextureParameter(param->parameter)));") (define-cproc cg-gl-enable-texture-parameter (param::) "cgGLEnableTextureParameter(param->parameter); SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-disable-texture-parameter (p::) "cgGLDisableTextureParameter(p->parameter); SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-get-texture-enum (p::) "SCM_RETURN(SCM_MAKE_INT(cgGLGetTextureEnum(p->parameter)));") (define-cproc cg-gl-set-manage-texture-parameters (c:: flag::) "cgGLSetManageTextureParameters(c->context,flag); SCM_RETURN(SCM_UNDEFINED);") (define-cproc cg-gl-get-manage-texture-parameters (c::) "SCM_RETURN(SCM_MAKE_BOOL(cgGLGetManageTextureParameters(c->context)));") ;; Local variables: ;; mode: scheme ;; end: Gauche-gl-0.6/doc/0000755000076400007640000000000012371574452012774 5ustar shiroshiroGauche-gl-0.6/doc/gauche-gl-refe.html0000664000076400007640000142627512371574447016464 0ustar shiroshiro Gauche-gl : OpenGL binding for Gauche
[Top] [Contents] [Index] [ ? ]

Gauche-gl : OpenGL binding for Gauche

This is a reference manual of Gauche-gl, an OpenGL binding for the Gauche Scheme implementation. This manual is for version 0.6.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Introduction

Gauche-gl is an extension module of Gauche Scheme implementation. It provides the following modules:

gl

This module provides bindings to OpenGL API. It covers most functions in OpenGL 1.0 through 2.0, and GLU. The functions are described in OpenGL API.

gl.glut

This module provides bindings to most functions in GLUT. The functions are described in GLUT API.

gl.math3d

This module provides vector and matrix calculations optimized for 3D homogeneous coordinates. The vector and matrix objects here can be directly passed to Gauche-gl functions. The functions are descrbied in Vectors and matrices.

gl.simple.*

These modules provide simple APIs for programmers to hack up a very simple OpenGL application. They are by no means intended for general application development, but would be handy for throwaway script. See Simple utilities for the details.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Installation

Installing Gauche-gl is usually straightforward on Unix variants.

You have to have the following programs installed on your machine.

  • Gauche 0.8.5 or later
  • OpenGL 1.1 equivalent library; the auther checked with Mesa 3.4 and NVidia’s GLX driver.
  • GLUT 3.7 or later.

The standard way to compile and install Gauche-gl is as follows:

 
% gzcat Gauche-gl-0.6.tgz | tar xf -
% cd Gauche-gl-0.6
% ./configure
% make
% make test
% make install

Or you can use ‘gauche-package’ command:

 
% gauche-package install -C=<configure-option> Gauche-gl-0.6.tgz

The confiugre script figures out the location Gauche is installed, and install Gauche-gl in the same place.

If you have GLUT installed in non-standard place, you have to tell the configure script where it is.

 
% ./configure --with-glut=DIR

Since version 0.4, Gauche-gl can be configured to include bindings to NVidia’s Cg Toolkit. The binding code is contributed by Issac Trotts. To enable Cg binding, give --enable-cg option to the configure script.

 
% ./configure --enable-cg

It is reported that Mesa in FreeBSD ports is compiled with pthreads enabled, and Gauche-gl can’t be linked unless Gauche itself is compiled with pthreads. The configure script of Gauche prints warning if you specify pthreads, but it is safe as far as you don’t call make-thread in your program.

There are various examples under ‘examples/’ directory. If you want to run the examples before installing Gauche-gl, you have to tell the location of the library to gosh command, e.g. gosh -I../src -I../lib gears.scm. Some demos under subdirectories have a shell script that invokes gosh with proper command-line options.

gears.scm

Brian Paul’s 3D gear wheels.

mandelbrot.scm

Simple calculated texture.

glbook/

This subdirectory contains examples found in "OpenGL Programming Guide", a.k.a. Redbook.

slbook/

This subdirectory contains examples found in "OpenGL Shading Language". Each demo is under its own subdirectories. You need to have proper driver/hardware that supports GLSL to run these demos.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Getting Started


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 GL calls in Scheme

I assume you have basic knowledge of OpenGL API. Gauche-gl maps OpenGL calls to Scheme procedures pretty straightforwardly. For example, the very first example of "OpenGL Programming Guide", the pseudo code of OpenGL application, can be written in Gauche-gl like this:

 
(use gl)

(define (main args)
  (initialize-a-window-please)

  (gl-clear-color 0.0 0.0 0.0 0.0)
  (gl-clear GL_COLOR_BUFFER_BIT)
  (gl-color 1.0 1.0 1.0)
  (gl-ortho 0.0 1.0 0.0 1.0 -1.0 1.0)
  (gl-begin* GL_POLYGON
    (gl-vertex 0.25 0.25 0.0)
    (gl-vertex 0.75 0.25 0.0)
    (gl-vertex 0.75 0.75 0.0)
    (gl-vertex 0.25 0.75 0.0)
    )
  (gl-flush)
  (update-the-window-and-check-for-events)
  0)

Note that initialize-a-window-please and update-the-window-and-check-for-events are function calls dependent on the windowing system. Gauche-gl comes with GLUT binding and you can use it to do basic stuff. In the separate package Gauche-gtk, a binding to GtkGLExt is provided, which allows you to do GL rendering inside Gtk widgets.

For the time being, let’s focus on the pure GL part.

The mapping of GL call name is straightforward. The mixed case names in OpenGL C API is expanded to hyphenated name, e.g. glClearColorgl-clear-color. OpenGL enums are mapped as is, e.g. GL_POLYGON. (Note that Gauche is case-sensitive by default. Also note the underscore, not hyphen, in constants).

A few convenience macros, such as gl-begin*, is defined. There are straight bindings of gl-begin and gl-end, so you can write the drawing part in the same way as in C:

 
  (gl-begin GL_POLYGON)
    (gl-vertex 0.25 0.25 0.0)
    (gl-vertex 0.75 0.25 0.0)
    (gl-vertex 0.75 0.75 0.0)
    (gl-vertex 0.25 0.75 0.0)
  (gl-end)

Actually gl-begin* macro expands into the above calls. It’s a matter of taste, but the macro version guarantees begin and end match, and the syntax-aware editor can indent internal calls accordingly.

You might have noticed that the type suffix in C API is not in Gauche binding. The Scheme function figures out the type of passed arguments and calls appropriate C API. SRFI-4 uniform numeric vectors are used to represent arrays of numbers.

 
  (gl-vertex 1.0 2.0 3.0)    ⇒ glVertex3d
  (gl-vertex '#f32(1.0 2.0)) ⇒ glVertex2fv
  (gl-vertex '#s32(3 2 5))   ⇒ glVertex3iv

Generally, passing uniform vectors is much more efficient than giving individual numbers, for the former can eliminate the cost of type checking and unboxing.

Some GL calls can also take gl.math3d primitive objects such as vector4f, point4f or matrix4f (See section Vectors and matrices). For example, you can pass point4f object to gl-vertex, vector4f to gl-normal, and matrix4f to gl-mult-matrix. They are efficient since calculations on those types are defined natively in gl.math3d, and passing it to GL call doesn’t cost unboxing.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Advanced GL features

Although Gauche-gl supports up to OpenGL 2.0, all functionalities may not be available on the target machine’s driver/hardware. The application needs to check the availability of the extension and/or GL version before using the features that are only supported by the extension/version.

Gauche-gl provides a couple of utility procedures to check the feature sets at runtime. For example, you can switch behavior depending on OpenGL 1.3 feature availability:

 
(if (gl-version>=? "1.3")
  (code-using-features-available-in-OpenGL-1.3-and-later ...)
  (alternative-code ...))

Or you can check the availability of extensions:

 
(unless (gl-extension-supported? 'GL_ARB_shader_objects
                                 'GL_ARB_fragment_shader
                                 'GL_ARB_vertex_shader
                                 'GL_ARB_shading_language_100)
   (error "OpenGL Shading Language extensions not available"))

See GL feature checking for the details.

If the client program calls a GL API that are not supported on the platform, an error is signalled.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Using GLUT

In order to make a runnable script, you need to use some windowing system interface. GLUT binding provides a simple way for it.

Here is a complete runnable Scheme script, ported from Example 1-2 in "OpenGL Programming Guide":

 
(use gl)
(use gl.glut)

(define (disp)
  (gl-clear GL_COLOR_BUFFER_BIT)
  (gl-color '#f32(1.0 1.0 1.0))
  (gl-begin* GL_POLYGON
    (gl-vertex '#f32(0.25 0.25 0.0))
    (gl-vertex '#f32(0.75 0.25 0.0))
    (gl-vertex '#f32(0.75 0.75 0.0))
    (gl-vertex '#f32(0.25 0.75 0.0))
    )
  (gl-flush)
  )

(define (init)
  (gl-clear-color 0.0 0.0 0.0 0.0)
  (gl-matrix-mode GL_PROJECTION)
  (gl-load-identity)
  (gl-ortho 0.0 1.0 0.0 1.0 -1.0 1.0)
  )

(define (keyboard key x y)
  (cond
   ((= key 27) (exit 0))
   ))

(define (main args)
  (glut-init args)
  (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB))
  (glut-init-window-size 250 250)
  (glut-init-window-position 100 100)
  (glut-create-window "hello")
  (init)
  (glut-display-func disp)
  (glut-keyboard-func keyboard)
  (glut-main-loop)
  0)

The (use gl.glut) form loads GLUT binding. The name mapping is the same as GL’s: mixed case names to hyphenated names.

In order to handle various events, you can pass a closure to glut-display-func etc. In the keyboard and mouse event callback, all arguments are integers.

There are more examples under the ‘examples/’ directory which uses GLUT.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Performance tips

If you want to display millions of polygons in 30 fps, Gauche-gl is not for you. Consider using implementations that compiles into native code. The purpose of Gauche-gl is to provide reasonable performance for interactive development and experiment.

However, if you know some tips, actually you can go quite far, especially with recent processors and graphics chips.

Avoid alocation within the inner loop.

The functional (non-destructive) operations tend to return newly-allocated objects. Use linear-update (destructive) versions instead, such as matrix-mul!, u8vector-add!, etc, whenever possible. Pre-allocating temporary vectors is also effective.

Reduce the number of calls within the inner loop.

Vertex arrays are much better than calling gl-vertex over and over. Also consider using display lists if you’re displaying rigid objects.

Keep numbers within a uniform vector.

Every time you take a number out of a uniform vector (or <vector4f> etc.), Gauche has to wrap the number by a tag (boxing). Also when you store a number into a uniform vector, Gauche has to check the type of the object, then strip a tag (unboxing). Those are all overhead you wouldn’t have if you operate directly on uniform vectors (or <vector4f> etc).

Write extensions to accelerate.

If the above strategies are not enough, consider writing computation-intensive part in C as an extension. The easier way is to make C routines operate on uniform vectors, which is essentially a pointer to an array of numbers from C, and let Scheme handle higher-level data structures. (It could be viewed like relations between a coprocessor and a processor; the former does simple, iterative calculations fast, and the latter handles complicated logic).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. OpenGL API

In this chapter we list a GL and GLU procedures accessible from Gauche-gl, with brief descriptions to help programmers to remind what the functions are. We don’t intend to make this an OpenGL reference, though; you should look at the OpenGL book for the details of what each API do.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 GL data types

GL doesn’t define many data structures: some scalar primitives (e.g. GLint) and arrays of them.

For scalar values, Gauche-gl has natural mappings:

GLboolean

Scheme booleans.

GLbyte, GLubyte, GLshort, GLushort, GLint, GLuint, GLenum, GLbitfield

Scheme exact integers.

GLfloat, GLdouble, GLclampf, GLclampd

Scheme real numbers.

For arrays, Gauche-gl uses uniform (srfi-4) vector whenever possible. For float arrays, however, Gauche-gl allows more structured types, such as points or matrices, when they are relevant. Such types are provided in gl.math3d module (see Vectors and matrices), which also provides common arithmetics between those types. Another exception is an array of GLboolean—it doesn’t have corresponding uniform vector representation. Gauche-gl defines a new type, <gl-boolean-vector>, to represent an array of GLboolean. See below for operations provided on it.

GLbyte[]

<s8vector>

GLubyte[]

<u8vector>

GLshort[]

<s16vector>

GLushort[]

<u16vector>

GLint[]

<s32vector>

GLuint[]

<u32vector>

GLfloat[], GLclampf[]

<f32vector>, <point4f>, <vector-4f>, <point4f-array>, <vector4f-array>, <matrix4f>, <quatf>.

GLdouble[], GLclampd[]

<f64vector>

GLboolean[]

<gl-boolean-vector>

GL boolean vectors

Class: <gl-boolean-vector>

A class for an array of boolean values. You can pass its instance to the GL APIs that expect an array of GLbooleans. Its internal representation is bitwise compatible to GLbooean array, so passing it is quite efficient.

This class inherits <sequence>, so you can use generic sequence operations on it.

The external representation of GL boolean vector uses srfi-10 notation, and can be read back. For example, a GL boolean vector of length 5 may be written something like this:

 
#,(gl-boolean-vector #t #f #t #f #t)
Function: make-gl-boolean-vector size &optional init

Returns a GL boolean vector of size elements. Elements are initialized by either #f or #t, according to init.

 
(make-gl-boolean-vector 3 #t) ⇒ #,(gl-boolean-vector #t #t #t)
Function: gl-boolean-vector bool …

Returns a GL boolean vector, whose elements are bool ….

 
(gl-boolean-vector #f #t #t) ⇒ #,(gl-boolean-vector #f #t #t)
Function: gl-boolean-vector? obj

Returns #t if obj is a GL boolean vector, #f otherwise.

Function: gl-boolean-vector-length v

Returns length of a GL boolean vector v. You can also use the sequence generic function size-of.

Function: gl-boolean-vector-fill! v bool

Fills a GL boolean vector v with a boolean value bool.

Function: list->gl-boolean-vector bools

Coerce list of boolean values to a GL boolean vector.

You can also use the coerce-to generic function to convert between GL boolean vectors and other sequences.

Function: gl-boolean-vector-ref v k &optional fallback

Returns k-th element of a GL boolean vector v. If k is out of range and fallback is provided, it is returned. If k is out of range and fallback is omitted, an error is signalled.

You can also use generic function ref to access a GL boolean vector.

Function: gl-boolean-vector-set! v k bool

Sets k-th element of a GL boolean vector v by a boolean value bool.

You can also use generic function (setter ref) to modify a GL boolean vector.

Function: gl-boolean-vector-copy v

Returns a copy of a GL boolean vector v.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 GL feature checking

If you want to use a feature that are in OpenGL 1.2 or later, or in a GL extension, you have to check its availability before actually calling the API function. You can use the following utility procedures.

Note that those functions may return #f if the connection to the display subsystem isn’t established yet. Usually you have to initialize and open an window before checking the features.

Function: gl-extension-available? extension-name …

Returns #t if GL extensions listed in extension-name … are all available. Extension-name can be a symbol or a string (e.g. GL_ARB_multisample).

Function: gl-version<? version
Function: gl-version<=? version
Function: gl-version>? version
Function: gl-version>=? version
Function: gl-version=? version

Returns #t if the runtime OpenGL version is less than, less thanor equal to, greater than, greater than or equal to, and equal to, the given version, respectively.

Give version in a string, e.g. "1.3".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 Drawing functions

Macro: gl-begin* mode gl-commands …

Executes gl-commands between (gl-begin mode) and (gl-end). Mode can be one of the following constants.

GL_POINTS

Individual points.

GL_LINES

Pairs of vertices interpreted as individual line segments.

GL_LINE_STRIP

Series of connected line segments.

GL_LINE_LOOP

Same as above, with a segment added between last and first vertices.

GL_TRIANGLES

Triples of vertices interpreted as triangles.

GL_TRIANGLE_STRIP

Linked trip of triangles.

GL_TRIANGLE_FAN

Linked fan of triangles.

GL_QUADS

Quadruples of vertices interpreted as four-sided polygons.

GL_QUAD_STRIP

Linked strip of quadrilaterals.

GL_POLYGON

Boundary of a simple, convex polygon.

Function: gl-begin mode
Function: gl-end

Corresponds to glBegin and glEnd. Use of gl-begin* macro is recommended, though.

Function: gl-flush

Flush the GL command buffer.

Function: gl-finish

Make sure all previously issued GL commands are completed.

Function: gl-rect point1 point2
Function: gl-rect x1 y1 x2 y2

Draws a rectangle. In the first form, point1 and point2 can be either <point4f>, or f32, f64, s32, or s16vector of length 2. Types of both args should match. In the second form, all args should be a real numbers (glRectd is used).

Function: gl-vertex point
Function: gl-vertex x y &optional z w

Specify vertices. In the first form, point can be either <point4f>, or f32, f64, s32 or s16vector of length 2, 3 or 4. In the second form, all args should be a real numbers.

Function: gl-normal vector
Function: gl-normal x y z

Sets vertex normal vector. In the first form, vector can be either <vector4f> (the fourth element is ignored), or f32, f64, s32 ro s16vector of length 3. In the second form, all args should be a real numbers.

Function: gl-color color
Function: gl-color r g b &optional a

Sets the current color. In the first form, color can be either f32, f64, u8, u16, u32, s8, s16, or s32vector of length 3 or 4. In the second form, all args should be a real numbers.

Function: gl-tex-coord coord
Function: gl-tex-coord u v &optional s t

Sets the current texture coordinates. In the first form, coord can be either f32, f64, s32 or s16vector of length 1, 2, 3, or 4. In the second form, all args should be a real numbers.

Function: gl-raster-pos pos
Function: gl-raster-pos x y &optional z w

Sets the current raster position. In the first form, pos can be eitehr f32, f64, s32 or s16vector. In the second form, all args should be a real numbers.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 GL state control

Capabilities

Function: gl-enable cap
Function: gl-disable cap

Turns on and off a capability cap. Check out OpenGL reference for the list of capabilities.

Function: gl-is-enabled cap

Returns #t of #f depending on cap is enabled or not.

Function: gl-enable-client-state array
Function: gl-disable-client-state array

Enable/disable a client-side array (e.g. vertex array) specified by array. Array can be one of the following constants.

GL_VERTEX_ARRAY
GL_COLOR_ARRAY
GL_INDEX_ARRAY
GL_NORMAL_ARRAY
GL_TEXTURE_COORD_ARRAY
GL_EDGE_FLAG_ARRAY

State values

Gauche has two variations for each type of OpenGL glGetTYPE APIs; nondestructive version and destructive versions. Nondestructive versions such as gl-get-boolean allocates and returns the vector of appropriate type for the state. For destructive versions such as gl-get-boolean!, you need to pass a vector to be filled in.

The destructive version is non-allocating operation, so it is suitable if you call it within the drawing loop.

If the state has a scalar value, the non-destructive version of query function returns a scalar value, but you need to pass a (uniform) vector of length 1 for the destructive version.

Function: gl-state-vector-size state

[Gauche specific] Returns the required size of the vector to retrieve GL state state. It is useful to prepare the vector to pass to the destructive version of glGetTYPE API.

Function: gl-get-boolean state
Function: gl-get-boolean! gl-boolean-vector state

Get (a) boolean state value(s).

Function: gl-get-integer state
Function: gl-get-integer! s32vector state

Get (an) integer state value(s).

Function: gl-get-float state
Function: gl-get-float! f32vector state

Get (a) single-precision floating-point state value(s).

Function: gl-get-double state
Function: gl-get-double! f64vector state

Get (a) double-precision floating-point state value(s).

Push/pop attributes

Function: gl-push-attrib mask
Function: gl-pop-attrib

Push/pop attributes indicated by mask. Valid mask can be logior of the following bits (GLL_ALL_ATTRIB_BITS is logior of all the bits).

GL_ACCUM_BUFFER_BIT
GL_COLOR_BUFFER_BIT
GL_CURRENT_BIT
GL_DEPTH_BUFFER_BIT
GL_ENABLE_BIT
GL_EVAL_BIT
GL_FOG_BIT
GL_HINT_BIT
GL_LIGHTING_BIT
GL_LINE_BIT
GL_LIST_BIT
GL_PIXEL_MODE_BIT
GL_POINT_BIT
GL_POLYGON_BIT
GL_POLYGON_STIPPLE_BIT
GL_SCISSOR_BIT
GL_STENCIL_BUFFER_BIT
GL_TEXTURE_BIT
GL_TRANSFORM_BIT
GL_VIEWPORT_BIT
GL_ALL_ATTRIB_BITS

All of the above.

Function: gl-push-client-attrib mask
Function: gl-pop-client-attrib

Push/pop client attributes. Valid mask can be logior of the following

GL_CLIENT_PIXEL_STORE_BIT
GL_CLIENT_VERTEX_ARRAY_BIT
GL_ALL_CLIENT_ATTRIB_BITS

All of the above.

Other queries

Function: gl-get-error

Returns the value of the error flag. Returned an integer value. Check out the OpenGL documentation for the possible error values.

This function resets the error flag to GL_NO_ERROR.

Function: glu-error-string error-code

Returns a descriptive string for error-code returned by gl-get-error.

Function: gl-get-string name

Returns informative string about name of the GL library. Name can be one of the following.

GL_VENDOR
GL_RENDERER
GL_VERSION
GL_EXTENSIONS

To check a specific version or extension, you can also use the utility procedure gl-version>? etc. See GL feature checking.

Function: glu-get-string name

Returns informative string about name of the GLU library. Name can be one of the following.

GLU_VERSION
GLU_EXTENSIONS

Hints

Function: gl-hint target hint

Controls quality of target by hint. Target can be one of the following:

GL_POINT_SMOOTH_HINT
GL_LINE_SMOOTH_HINT
GL_POLYGON_SMOOTH_HINT
GL_FOG_HINT
GL_PERSPECTIVE_CORRECTION_HINT

And hint can be one of the following:

GL_FASTEST
GL_NICEST
GL_DONT_CARE

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5 GL states for drawing

Function: gl-point-size size

Sets the width in pixels for rendered points. The possible range of size on the running GL implementation can be obtained by passing either GL_ALIASED_POINT_SIZE_RANGE or GL_SMOOTH_POINT_SIZE_RANGE to gl-get-float.

Function: gl-line-width width

Sets the width in pixels for rendered lines. The possible range of width on the running GL implementation can be obtained by passing either GL_ALIASED_LINE_WIDTH_RANGE or GL_SMOOTH_LINE_WIDTH_RANGE to gl-get-float.

Function: gl-line-stipple factor pat

Sets the current stippling pattern for lines. pat must be an exact integer, and its lower 16 bits are used to specify the stipple pattern. Factor is an integer factor to specify how many pixels corresponds to one bit in pat.

You have to enable GL_LINE_STIPPLE to use face culling.

Function: gl-polygon-mode face mode

Specifies the drawing mode for a polygon’s front and back faces. Face can be one of the followings:

GL_FRONT_AND_BACK
GL_FRONT
GL_BACK

Mode can be one of the followings:

GL_POINT
GL_LINE
GL_FILL
Function: gl-front-face mode

Controls how OpenGL determine front face of a polygon Mode can be one of the followings:

GL_CCW

Front face is where ordered vertices appear in a counterclockwise orientation (default).

GL_CW

Front face is where ordered vertices appear in a clockwise orientation.

Function: gl-cull-face mode

Indicates which face of polygons should be culled. Mode can be one of the followings:

GL_FRONT
GL_BACK
GL_FRONT_AND_BACK

You have to enable GL_CULL_FACE to use face culling.

Function: gl-polygon-stipple mask

Defines the current stipple pattern for filled polygons. Mask has to be a u8vector of length 128, specifying a 32x32 bitmap pattern. You have to enable GL_POLYGON_STIPPLE to use this feature.

Function: gl-edge-flag flag

Sets the edge flag(s) of vertices. When flag is a GL boolean vector, glEdgeFlagv is called. Otherwise flag is used as a single boolean value for glEdgeFlag.

Function: gl-blend-func sfactor dfactor

Controls how color values in the fragment being processed (the source) are combined with the ones in the framebuffer (the destination).

Possible values for the sfactor and dfactor arguments are as follows.

GL_ZERO
GL_ONE
GL_DST_COLOR
GL_SRC_COLOR
GL_ONE_MINUS_DST_COLOR
GL_ONE_MINUS_SRC_COLOR
GL_SRC_ALPHA
GL_ONE_MINUS_SRC_ALPHA
GL_DST_ALPHA
GL_ONE_MINUS_DST_ALPHA
GL_SRC_ALPHA_SATURATE
GL_CONSTANT_COLOR
GL_ONE_MINUS_CONSTANT_COLOR
GL_CONSTANT_ALPHA
GL_ONE_MINUS_CONSTANT_ALPHA
Function: gl-blend-equation mode

[GL_ARB_imaging] By default, the source and destination colors are added after processed as specified by gl-blend-func. With this extension API you can change the function. Mode can be one of the following values:

GL_FUNC_ADD
GL_FUNC_SUBTRACT
GL_FUNC_REVERSE_SUBTRACT
GL_MIN
GL_MAX
Function: gl-blend-color red green blue alpha

[GL_ARB_imaging] Sets the constant color used in the blending function.

Function: gl-polygon-offset factor units

[GL1.1] Offset the depth value of each fragment. Useful to avoid artifacts when you draw polygon edges over its surfaces, for example.

Function: gl-clip-plane plane equation

Defines a clipping plane. Plane specifies which clipping plane you’re defining. Use GL_MAX_CLIP_PLANES to gl-get-integer to obtain the number of clipping planes you can use. You have to enable the specific clipping plane (e.g. (gl-enable GL_CLIP_PLANE0)) to use the clipping plane.

Equation must be an f64vector of size 4, specifying four coefficients of the plane equation, Ax + By + Cz + D = 0.

Function: gl-get-clip-plane plane

Returns the four coefficients of the equation of clipping plane plane, in f64vector.

Function: gl-fog pname param

Sets the parameters and function for the fog effect. Possible values for pname and accepted param for each pname are shown below.

GL_FOG_MODE

Either GL_EXP, GL_EXP2, GL_LINEAR to select the fog factors.

GL_FOG_DENSITY
GL_FOG_START
GL_FO_END

A real number to specify those parametes.

GL_FOG_COLOR

An f32vector of size 4 to specify the color.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.6 Transformation

Function: gl-matrix-mode mode

Speficies whether the modelview, projection, or texture matrix will be modified. Mode can be one of the followings:

GL_MODELVIEW
GL_PROJECTION
GL_TEXTURE
Function: gl-load-identity

Loads an identity matrix to the current modifiable matrix.

Function: gl-load-matrix mat

Loads the matrix mat to the current modifiable matrix. Mat can be a <matrix4f> instance, or f32 or f64vector of length 16.

Function: gl-mult-matrix mat

Multiplies the matrix mat to the current modifiable matrix. Mat can be a <matrix4f> instance, or f32 or f64vector of length 16.

Function: gl-translate x y z

Multiplies the current matrix by a matrix taht translates an object by (x, y, z). Internally, glTranslated is called.

Function: gl-rotate angle x y z

Multiplies the current matrix by a matrix that rotates an object in a counterclockwise direction about the ray from the origin through the point (x, y, z) by angle degrees. Internally, glRotated is called.

Function: gl-scale x y z

Multiplies the current matrix by a matrix that scales an object by (x, y, z). Internally, glScaled is called.

Function: glu-look-at eyex eyey eyez ctrx ctry ctrz upx upy upz

Defines a viewing matrix and multiplies it to the right of the current matrix.

Function: gl-frustum left right bottom top nearv farv

Creates a matrix for a perspective-view frustum and multiplies the current matrix by it.

Function: glu-perspective fovy aspect znear zfar

Creates a matrix for a symmetrix perspective-view frustum and multiplies the current matrix by it.

Function: gl-ortho left right bottom top nearv farv

Creates a matrix for an orthographic parallel viewing volume nand multiplies the current matrix by it.

Function: glu-ortho-2d left right bottom top

Convenience procedure for 2D drawing; it is the same as gl-ortho except nearv and farv are fixed (along Z axis) to -1.0 and 1.0, respectively.

Function: gl-viewport x y width height

Defines a pixel rectangle in the window into which the final image is mapped.

Function: gl-push-matrix
Function: gl-pop-matrix

Pushes/pops the current matrix.

Macro: gl-push-matrix* expr …

A convenience macro. Pushes the current matrix, executes exprs, then pop the current matrix.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.7 Display lists

Function: gl-gen-lists range

Allocates range number of contiguous display list indices. Returns an integer which is the smallest display list index you can use.

Function: gl-new-list list-no mode

Starts a display list construction. Mode may be one of the constants GL_COMPILE or GL_COMPILE_AND_EXECUTE.

Function: gl-end-list

Ends a display list construction.

Function: gl-call-list list-no

Calls a display list.

Function: gl-is-list list-no

Returns #t if list-no is an already used display list number, #f otherwise.

Function: gl-delete-lists list-no-start range

Deletes range display list, beginning from list-no-start.

Function: gl-list-base base

Specifies the offset that’s added to the display list indices in gl-call-list.

Function: gl-call-lists size type lists
Function: gl-call-lists size lists
Function: gl-call-lists lists

Executes size display list, whose indices are contained in lists. You can pass a u8, s8, u16, s16, u32, s32 or f32vector, or a string, as lists. If it is a string, each byte consists of the string is interpreted as an unsigned integer specifying a display list. It is useful for the technique to display character strings by creating display lists for each ASCII characters. But be aware that it doesn’t work for multibyte characters.

Usually you can use the simplest form (the third form) and Gauche-gl infers the size and type from the passed lists. You can explicitly specify size if you want to use just a beginning portion of lists. An error is signalled if you specify size that is larger than the size of lists.

Specifying type is useful only if lists is a u8vector, and you want to use one of three special types allowed to glCallLists, namely GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.8 Vertex arrays

Scheme version of APIs doesn’t have GLenum type argument in C API, since Gauche-gl can figure out the type by passed vectors.

Scheme API of gl-*-array has offset optional argument, by which you can pass the GL the values beginning from the offset-th element of the passed uniform vector. This isn’t in GL C API, since you can just offset the pointer in C.

NOTE: it is caller’s responsibility to guarantee the passed vector has enough length. GL doesn’t have an interface to specify the boundary, so Gauche can’t detect an invalid length vector.

Function: gl-vertex-pointer size vec &optional stride offset

Sets the vertex array. Size specifies the number of scalar values per vertex (2, 3, or 4), and vec provides the actual value in either f32, f64, s32 or s16vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-normal-pointer vec &optional stride offset

Sets the normal array. Vec should be either a f32, f64, s32 or s16vector, where each consecutive triplet specifies a normal vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-color-pointer size vec &optional stride offset

Sets the color array. Size specifies the number of scalar values per color (3 or 4), and vec provides the actual values in either f32, f64, u32, u16, u8, s32, s16, or s8vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-index-pointer vec &optional stride offset

Sets the index array. Vec can be either s32, s16, u8, f32, or f64vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-tex-coord-pointer size vec &optional stride offset

Sets the texture coordinate array. Size specifies the number of scalar values per texture coordinate (1, 2, 3 or 4), and vec provides the actual values in either f32, f64, s32 or s16vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-edge-flag-pointer vec &optional stride offset

Sets the edge flag array. Vec must be a GL boolean vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-array-element ith

Dereference ith vertex information of the currently enabled arrays.

Function: gl-draw-elements mode indices

Issues geometric primitive calls consists of the vertex information of the currently enabled arrays, each of which is specified by indices, which should be either a u8, u16 or u32vector.

Mode is the same as of gl-begin.

Function: gl-draw-range-elements mode start end indices

[GL1.2] Like gl-draw-elements, but limits the range of indices between start and end, inclusive. GL driver may take advantage of the information for better performance.

Function: gl-draw-arrays mode first count

This is more straightforward. Starting from first index, count vertices is wrtten in the drawing mode mode (same as of gl-begin), taken from the current enabled arrays.

Function: gl-interleaved-arrays format vec &optional stride offset

Vec must be a f32vector. It contains various information (e.g. vertex position, color and texture coordinate) interleaved, in the way specified by format.

In Scheme API, we only allow uniform vector as vec, so you can’t use the format that mixes float and integer, such as GL_C4UB_V2F.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.9 Lighting

Function: gl-shade-model mode

Sets the shading model, either GL_SMOOTH or GL_FLAT.

Function: gl-light light pname param

Creates a light specified by light, which is one of GL_LIGHT0, …, GL_LIGHT7, and sets a characteristics named by pname with the value param.

Possible values as pname and acceptable types of param are as follows.

GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION

Accepts an f32 or s32vector of size 4.

GL_SPOT_DIRECTION

Accepts an f32 or s32vector of size 3.

GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTNAT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION

Accepts a real number (glLightf is used).

Function: gl-get-light light pname

Returns the value of the property pname of the light light. Returned value can be f32vector or a real number.

Function: gl-light-model pname param

Sets the value of the property pname of the lighting model. Possible pname and its allowed param is as follows.

GL_LIGHT_MODEL_AMBIENT

Accepts f32 or s32vector of size 4.

GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_TWO_SIDE

Accepts any Scheme value, which is interpreted as a boolean value. (That is, you have to pass #f to turn off these properties, and any other value to turn on.

GL_LIGHT_MODEL_COLOR_CONTROL

Accepts an enum value either GL_SINGLE_COLOR or GL_SEPARATE_SPECULAR_COLOR.

Function: gl-material face pname param

Sets the current material property. Face may be either GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Possible values of pname and acceptable param types are as follows.

GL_AMBIENT, GL_DIFFUSE, GL_AMBIENT_AND_DIFFUSE, GL_SPECULAR, GL_EMISSION

Accepts f32 or s32vector of size 4.

GL_SHININESS

Accepts a single real number (glMaterialf is called).

GL_COLOR_INDEXES

Accepts f32 or s32vector of size 3.

Function: gl-get-material face pname

Returns the current material property of face and pname. The type of returned value may be f32vector, s32vector (only for GL_COLOR_INDEXES), or a real number.

Function: gl-color-material face mode

Makes the material property mode (e.g. GL_AMBIENT etc.) of the face face follow the current color set by gl-color.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.10 Pixels, bitmaps and images

Pixel operations

Function: gl-bitmap width height xbo ybo xbi ybi bitmap

Draws a bitmap. Width and height gives the dimension of the bitmap. Xbo, ybo, xbi, and ybi specifies the origin and increment of the current raster position. Bitmap is the actual bitmap data, packed in a u8vector.

Function: gl-read-pixels x y width height format type

Reads pixel data from the framebuffer. Returns the pixel data in a uniform vector of the type determined by format and type (check out OpenGL doc to find out the actual data format).

Function: gl-draw-pixels width height format type pixels

Draws a pixel data pixels at the current raster position. Pixels must be a uniform vector compatible to the specified format and type values.

Function: gl-copy-pixels x y width height buffer

Copies pixel data in a rectangle area of the framebuffer, specified by lower-left corner (x, y) and dimensions (width, height). Buffer specifies which buffer is used, and should be one of GL_COLOR, GL_STENCIL or GL_DEPTH.

Function: gl-pixel-store pname param

Sets the pixel stroage models. Check out the OpenGL doc for the possible pname and param values.

Function: gl-pixel-transfer pname param

Sets the pixel transfer modes. Check out the OpenGL doc for the possible pname and param values.

Function: gl-pixel-map map values

Sets the pixel map table map with values, which must be either u16, u32 or f32vecotor. Check out the OpenGL doc for the possible map values.

Function: gl-pixel-zoom xfactor yfactor

Sets the magnification/reduction factors for pixel-write operations.

Function: gl-get-pixel-map map &optional type

Returns the current pixel map table as an uniform vector specified by type, which must be either a class <u32vector> (default), <u16vector>, or <f32vector>.

Function: gl-get-pixel-map! map values

Like gl-get-pixel-map, but instead of allocating a new vector, it stores the result to a uniform vector passed to values. It is a caller’s responsibility to ensure values has enough size.

Color tables

Function: gl-color-table target internal-format width format type data

[GL_ARB_imaging] Specifies one of the color table target. Data should be a uniform vector compatible to the format and type parameters.

Function: gl-color-table-parameter target pname param

[GL_ARB_imaging] Sets the color table parameter pname (either GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS), of the color table target. Param must be an f32 or s32vector of size 4.

Function: gl-copy-color-table target internal-format x y width

[GL_ARB_imaging] Creates a color table target using framebuffer data. The pixels are read from the current buffer for read (specified by glReadBuffer).

Function: gl-color-sub-table target start count format type data

[GL_ARB_imaging] Replaces a part of color table target, starting start and count entries. Values are given in data as a uniform vector compatible to the format and type arguments.

Function: gl-copy-color-sub-table target start x y width

[GL_ARB_imaging] Replaces a part of color table entries using framebuffer data.

Function: gl-get-color-table! target format type data

[GL_ARB_imaging] Reads the color table target and store it in data, in the format specified by format and type. Data must be a uniform vector compatible to the format and type arguments. The caller must ensure that data has enough size to contain the result.

Convolutions

Function: gl-convolution-filter-2d target internal-format width height format type data

[GL_ARB_imaging] Defines a 2D convolution filter. Target must be GL_CONVOLUTION_2D. Data must be a uniform vector compatible to the format and type arguments, and must have enough size.

Function: gl-copy-convolution-filter-2d target internal-format x y width height

[GL_ARB_imaging] Defines a 2D convolution filter, taking the convolution filter data from the current color buffer to read.

Function: gl-separable-filetr-2d target internal-format width height format type row column

[GL_ARB_imaging] Defines a 2D convolution filter by a product of a 1D row vector and 1D column vector. Target must be GL_SEPARABLE_2D. Both row and column must be a uniform vector, compatible with the format and type arguments, and must have enough size.

Function: gl-convolution-filter-1d target internal-format width format type data

[GL_ARB_imaging] Defines 1D convolution filter. Target must be GL_CONVOLUTION_1D. Data must be a uniform vector compatible to the format and type arguments, and must have enough size.

Function: gl-copy-convolution-filter-1d target internal-format x y width

[GL_ARB_imaging] Defines 1D convolution filter, taking the convolution filter data from the current color buffer to read.

Function: gl-convolution-parameter target pname param

[GL_ARB_imaging] Sets a parameter for a convolution filter target, which can be either GL_CONVOLUTION_2D, GL_SEPARABLE_2D, or GL_CONVOLUTION_1D. Possible values of pname and their acceptable param are as follows.

GL_CONVOLUTION_BORDER_MODE

Either one of the constants: GL_REDUCE, GL_CONSTNAT_BORDER, GL_REPLICATE_BORDER

GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS

An s32 or f32vector of size 4, specifying color values.

Histogram

Function: gl-histogram target width internal-format sink

[GL_ARB_imaging] Specifies the way the histogram data is stored. Target must be either GL_HISTOGRAM or GL_PROXY_HISTOGRAM. Width is the number of entires of the histogram, and has to be a power of 2. Sink is a boolean value to indicate whether pixels should be discarded or sent down further to the pipeline.

Function: gl-reset-histogram target

[GL_ARB_imaging] Resets the histogram counters. Target must be GL_HISTOGRAM.

Function: gl-get-histogram target reset format type

[GL_ARB_imaging] Returns histogram data in a uniform vector, whose type and size are determined by format and type. A boolean value reset specifies whether the histogram should be reset or not.

Function: gl-get-histogram-parameter target pname

[GL_ARB_imaging] Returns the parameter value of the histogram. Pname can be either one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. The returned value is an integer, except the case of GL_HISTOGRAM_SINK, which returns a boolean value.

Minmax

Function: gl-minmax target internal-format sink

[GL_ARB_imaging] Computes the minimum and maximum pixel values for an image. Target must be GL_MINMAX. Sink is a boolean value to indicate whether pixels should be discarded or sent down further to the pipeline.

Function: gl-get-minmax target reset format type

[GL_ARB_imaging] Returns the results of the minmax operation in a uniform vector, whose type and size are determined by the format and type arguments. A boolean value reset specifies whether the histogram should be reset or not.

Function: gl-reset-minmax target

[GL_ARB_imaging] Resets the minmax counter.

Function: gl-get-minmax-parameter target pname

[GL_ARB_imaging] Returns the parameter value of the histogram. Pname can be either GL_MINMAX_SINK (returns a boolean value) or GL_MINMAX_FORMAT (returns an integer).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.11 Texture mapping

Defining textures

Function: gl-tex-image-1d target level internalformat width border format type texels
Function: gl-tex-image-2d target level internalformat width height border format type texels
Function: gl-tex-image-3d target level internalformat width height depth border format type texels

Defines an 1D, 2D or 3D texture. 3D texture is available only if the GL version is 1.2 or later. The target parameter can be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D for gl-tex-image-1d, etc. The level parameter can be used for multiresolution textures; if this is a single resolution texture, pass 0.

Width, height, and depth specify the dimensions of the texture. Border can be 0 or 1, specifying the border.

The actual texture data is passed to the texels argument in a uniform vector, which should be compatible with the format and type parameters and match the size calculated by width, height and depth (and possibly the pixel store setting).

Function: gl-copy-tex-image-1d target level internal-format x y width border
Function: gl-copy-tex-image-2d target level internal-format x y width height border

Cerates a 1D or 2D texture from the framebuffer data.

Function: gl-tex-sub-image-1d target level xoffset width format type texels
Function: gl-tex-sub-image-2d target level xoffset yoffset width height format type texels
Function: gl-tex-sub-image-3d target level xoffset yoffset zoffset width height depth format type texels

Replaces a part of the current 1D, 2D or 3D texture image by texels. 3D texture is available only if the GL version is 1.2 or later.

Function: gl-copy-tex-sub-image-1d target level xoffset x y width
Function: gl-copy-tex-sub-image-2d target level xoffset yoffset x y width height
Function: gl-copy-tex-sub-image-3d target level xoffset yoffset zoffset x y width height

Replaces a part of the current 1D, 2D or 3D texture image by the data from the framebuffer. 3D texture is available only if the GL version is 1.2 or later.

Texture parameters

Function: gl-tex-parameter target pname param

Sets parameters for the current texture. Target can be either GL_TEXTURE_1D, GL_TEXTURE_2D or GL_TEXTURE_3D. Possible values for pname, and accepted type of param for each pname, are shown below.

GL_TEXTURE_WRAP_S
GL_TEXTURE_WRAP_T
GL_TEXTURE_WRAP_R
GL_TEXTURE_BASE_LEVEL
GL_TEXTURE_MAX_LEVEL
GL_TEXTURE_MAG_FILTER
GL_TEXTURE_MIN_FILTER

Param must be an integer.

GL_TEXTURE_PRIORITY
GL_TEXTURE_MIN_LOD
GL_TEXTURE_MAX_LOD

Param must be a real number.

GL_TEXTURE_BORDER_COLOR

Param must be an f32vector of size 4, representing a color.

Function: gl-get-tex-parameter target pname

Obtains the parameter of the current texture, set by gl-tex-parameter.

Function: gl-get-tex-level-parameter target level pname

Obtains the parameter of the level level of the current texture specified by target, which can be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, or GL_PROXY_TEXTURE_3D.

Possible values for pname is either one of the following constants: GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_BORDER, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, or GL_TEXTURE_INTENSITY_SIZE. This procedure returns an integer.

Mipmaps

Function: glu-build-1d-mipmaps target internal-format width format type texels
Function: glu-build-2d-mipmaps target internal-format width height format type texels
Function: glu-build-3d-mipmaps target internal-format width height depth format type texels

Constructs a serids of mipmaps and calls gl-tex-image-*d to load the images. Returns 0 on success, or a GLU error code on failure. Texels is a uniform vector, that must be compatible with format and type arguments, and must have the enough length as specified by width, height and depth parameters.

Function: glu-build-1d-mipmap-levels target internal-format width format type level base max texels
Function: glu-build-2d-mipmap-levels target internal-format width height format type level base max texels
Function: glu-build-3d-mipmap-levels target internal-format width height depth format type level base max texels

Like glu-build-*d-mipmaps, but you can specify the level of texels, and the range of levels to be generated by the base and max parameters. It is used to generate a subset of mipmaps.

Returns 0 on success, or a GLU error code on failure. Texels is a uniform vector, that must be compatible with format and type arguments, and must have the enough length as specified by width, height and depth parameters.

Texture objects

Function: gl-gen-textures size

Returns size new names for texture objects in a u32vector.

Function: gl-is-texture name

Returns #t if an integer name is the name of a texture that has been bound and not deleted yet, #f otherwise.

Function: gl-bind-texture target name

Bind the current texture (specified by target, e.g. GL_TEXTURE_2D) to the integer name. If there’s already a texture bound to name, it becomes current. Otherwise a new texture object is created and made current.

Function: gl-delete-textures names

Delets textures. Names must be a u32vector contains integer names of the texture objects to be deleted.

Function: gl-are-textures-resident! names residences

Names must be a u32vector contains integer names of the texture objects, and residences must be a GL boolean vector of the same length as names. If all textures named in names are resident, #t is returned and residences is not modified. Othewise, #f is returned and residences is modified to contain #t if the corresponding texture in names is resident, #f othewise.

Function: gl-prioritize-textures names priorities

Sets the prioridies of texture objects named by names to the corresponding entry of priorities Names must be a u32vectore and priorities must be an f32vector, and the lengths of both vectors must match.

Texture environment and coordinates

Function: gl-tex-env target pname param

Sets the current texturing function. Target must be GL_TEXTURE_ENV. Possible values of pname and accepted param for each value is as follows.

GL_TEXTURE_ENV_MODE

One of GL_DECAL, GL_REPLACE, GL_MODULATE or GL_BLEND.

GL_TEXTURE_ENV_COLOR

f32vector of size 4 to specify the color.

Function: gl-tex-gen coord pname param

Specifies the functions for automatic texture coordinate generation. Coord specifies the coordinates, either one of GL_S, GL_T, GL_R or GL_Q. Possible values of pname and accepted param for each value is as follows.

GL_TEXTURE_GEN_MODE

Either GL_OBJECT_LINEAR, GL_EYE_LINEAR or GL_SPHERE_MAP.

GL_OBJECT_PLANE
GL_EYE_PLANE

An s32, f32 or f64vector of size 4 to specify the plane.

Multitexturing

Function: gl-active-texture-arb texunit

[GL_ARB_multitexture] Selects the texture unit that is currently modified by texturing routines. Texunit is a constant GL_TEXTUREi_ARB, where i is 0 to the maximum number of the supported texture units.

Function: gl-multi-tex-coord-arb texunit coords
Function: gl-multi-tex-coord-arb texunit s &optional t r q

[GL_ARB_multitexture] Specifies the texture coordinate of the texture unit texunit. In the first form, you can pass either an f32, f64, s32, or s16vector of length 1 to 4. In the second form, s, t, r and q must be real numbers.

Function: gl-client-active-texture-arb texunit

Selects the current texture unit for specifying texutre-coordinate data with vertex arrays.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.12 Framebuffers

Clearing buffers

Function: gl-clear-color r g b a

Sets the current clearing color. Each color value sould be a real number, and is clamped to [0.0,1.0].

Function: gl-clear-index c

Sets the current clearing color (in color index mode). c must be a real number.

Function: gl-clear-depth depth

Sets the current clearing depth value. Depth must be a real number and clamped to [0.0,1.0].

Function: gl-clear-stencil s

Sets the current clearing value of the stencil buffer.

Function: gl-clear-accum r g b a

Sets the current clearing value of accumulation buffer.

Function: gl-clear mask

Clears the specified buffer. Mask is a logical-or of the following constants.

GL_COLOR_BUFFER_BIT
GL_DEPTH_BUFFER_BIT
GL_ACCUM_BUFFER_BIT
GL_STENCIL_BUFFER_BIT

Selecting color buffers

Function: gl-draw-buffer mode

Selects (a) buffer(s) to which the image is rendered. Possible mode values are: GL_FRONT, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK, GL_BACK_LEFT, GL_BACK_RIGHT, GL_LEFT, GL_RIGHT, GL_AUXi, GL_FRONT_AND_BACK, and GL_NONE.

Function: gl-read-buffer mode

Selects a color buffer as the source for reading pixels. Possible mode values are the same as gl-draw-buffer except GL_FRONT_AND_BACK and GL_NONE.

Masking buffers

Function: gl-index-mask mask

In color index mode, sets the mask of the color-index buffer. Mask is an exact integer.

Function: gl-color-mask r g b a

R, g, b and a are boolean values to specify whether the corresponding color channel should be written to the color buffer or not.

Function: gl-depth-mask flag

Flag is a boolean value specifies whether depth buffer should be written or not.

Function: gl-stencil-mask mask

Sets the mask bit pattern for the stencil buffer. Mask is an exact integer.

Testing and operating on fragments

Function: gl-scissor x y width height

Sets the scissor rectangle. If the scissor test is enabled (use (gl-enable GL_SCISSOR_TEST)), only the pixels that lie inside the rectangle are written.

Function: gl-alpha-func func ref

Sets the reference value and comparison function for the alpha test. Func may be either one of GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GEQUAL, GL_GREATER, or GL_NOTEQUAL. Ref sets the reference value, a real number clamped to be between 0.0 and 1.0.

Function: gl-stencil-func func ref mask

Sets the comparison function, the reference value, and a mask for stencil test. Func specifies the funciton, and its possible value is the same as gl-alpha-func’s. Ref is an integer reference value, and mask is an integer specifying bitwise mask. Before the comparison, the reference value and the fragment value are taken bitwise AND by mask.

Function: gl-stencil-op func zfail zpass

Speficies how the stencil buffer should be modified by the result of the stencil test. Each three parameter can take one of the following values independently: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_DECR, or GL_INVERT.

Function: gl-depth-func func

Sets the comparison function for the depth test. Func may be one of the following constant value: GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GEQUAL, GL_GREATER, or GL_NOTEQUAL.

Function: gl-depth-range nearv farv

Defines an encoding for z-coordinates. Nearv and farv define the minimum and maximum values that can be stored in the depth buffer. By default, they’re 0.0 and 1.0, respectively.

Function: gl-logic-op opcode

Selects the logical operation to be performed, given an incoming (source) fragment and the pixel currently in the color buffer (destination). Opcode may be one of the following values: GL_CLEAR, GL_COPY, GL_NOOP, GL_SET, GL_COPY_INVERTED, GL_INVERT, GL_AND_REVERSE, GL_OR_REVERSE, GL_AND, GL_OR, GL_NAND, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_INVERTED or GL_OR_INVERTED.

Function: gl-accum op value

Sets the accumulation buffer operation mode. Op may be one of the following values:

GL_ACCUM

Reads each pixel from the current selected buffer to read (by gl-read-buffer), multiplies its values by value, and adds the result into the accumulation buffer.

GL_LOAD

Same as GL_ACCUM but replacing the accumulation buffer by the result of multiplication, instead of adding it.

GL_RETURN

Takes the values from accumulation buffer, multiplies them with value, then write it to the current color buffer to write (by gl-draw-buffer).

GL_ADD

Adds value to each pixel in the accumulation buffer and write it back.

GL_MULT

Multiplies value to each pixel in the accumulation buffer and write it back. The result value is clamped to [-1.0, 1.0].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.13 Selection and feedback

Function: gl-feedback-buffer type buffer
Function: gl-select-buffer buffer
Function: gl-render-mode mode
Function: gl-pass-through token
Function: gl-init-names
Function: gl-load-name name
Function: gl-push-name name
Function: gl-pop-name

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.14 Projection

Function: glu-pick-matrix x y w h vp
Function: glu-project objx objy objz model-mat proj-mat vp
Function: glu-un-project winx winy winz model-mat proj-mat vp
Function: glu-project! win obj model-mat proj-mat vp
Function: glu-un-project! obj win model-map proj-mat vp

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.15 Quadrics

Class: <glu-quadric>
Function: glu-quadric-draw-style quad style
Constant: GLU_POINT
Constant: GLU_LINE
Constant: GLU_FILL
Constant: GLU_SILHUETTE
Function: glu-quadric-orientation quad orientation
Constant: GLU_OUTSIDE
Constant: GLU_INSIDE
Function: glu-quadric-normals quad normals
Constant: GLU_SMOOTH
Constant: GLU_FLAT
Constant: GLU_NONE
Function: glu-quadric-texture quad texcoords
Function: glu-cylinder quad base-radius top-radius height slices stacks
Function: glu-sphere quad radius slices stacks
Function: glu-disk quad inner-radius outer-radius slices loops
Function: glu-partial-disk quad inner-radius outer-radius slices loops start-angle sweep-angle

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.16 Nurbs

Class: <glu-nurbs>
Function: glu-load-sampling-matrices nurbs model-matrix proj-matrix viewport
Function: glu-nurbs-property nurbs property value
Function: glu-get-nurbs-property nurbs property
Function: glu-begin-curve nurbs
Function: glu-end-curve nurbs
Function: glu-nurbs-curve nurbs knot stride ctlarray order type
Function: glu-begin-surface nurbs
Function: glu-end-surface nurbs

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.17 Polygon tesselation

Class: <glu-tesselator>

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.18 Programmable shaders

Shader objects

Function: gl-create-shader-object-arb type

[GL_ARB_shader_objects] Creates a new shader object and returns its handle. Type can be either GL_VERTEX_SHADER_ARB or GL_FRAGMENT_SHADER_ARB.

Function: gl-shader-source-arb shader strings

[GL_ARB_shader_objects] Sets the source code of the shader, whose handle is shader. You can give the source code as a list of strings to strings. All strings are concatenated internally in the OpenGL driver.

Function: gl-compile-shader-arb shader

[GL_ARB_shader_objects] Compile the source code attached to the shader, whose handle is shader. You can query the result of the compilation by passing GL_OBJECT_COMPILE_STATUS_ARB to gl-get-object-parameter-arb; it returns #t if the compilation succeeded, or #f if failed. The information about the compilation can be obtained by gl-get-info-log-arb.

Function: gl-create-program-object-arb

[GL_ARB_shader_objects] Creates a new program object and returns its handle.

Function: gl-attach-object-arb program shader

[GL_ARB_shader_objects] Attach a shader whose handle is shader to the program whose handle is program.

Function: gl-detach-object-arb program shader

[GL_ARB_shader_objects] Detach a shader from a program.

Function: gl-link-program-arb program

[GL_ARB_shader_objects] Link the program object. The result of linking can be queried by passing GL_OBJECT_LINK_STATUS_ARB to gl-get-object-parameter-arb.

Function: gl-use-program-object-arb program

[GL_ARB_shader_objects] Installs the program to the current rendering state.

Function: gl-delete-object-arb handle

[GL_ARB_shader_objects] Deletes either a shader object or a program object specified by handle.

Function: gl-get-object-parameter-arb object pname

[GL_ARB_shader_objects] Queries the value of pname of the shader or the program specified by object. The following values are accepted as pname: GL_OBJECT_TYPE_ARB, GL_OBJECT_SUBTYPE_ARB, GL_OBJECT_DELETE_STATUS_ARB, GL_OBJECT_COMPILE_STATUS_ARB, GL_OBJECT_LINK_STATUS_ARB, GL_OBJECT_VALIDATE_STATUS_ARB, GL_OBJECT_INFO_LOG_LENGTH_ARB, GL_OBJECT_ATTACHED_OBJECTS_ARB, GL_OBJECT_ACTIVE_ATTRIBUTES_ARB, GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB, GL_OBJECT_ACTIVE_UNIFORMS_ARB, GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB, and GL_OBJECT_SHADER_SOURCE_LENGTH_ARB. The procedure returns an integer value.

Function: gl-get-shader-source-arb shader

[GL_ARB_shader_objects] Returns the shader source code of a shader object shader in a string.

Function: gl-get-info-log-arb handle

[GL_ARB_shader_objects] Returns the information log of an object pointed by handle.

Function: gl-get-handle-arb pname

[GL_ARB_shader_objects] Returns the handle to an object that is used in the current state. The only argument accepted currently as pname is GL_PROGRAM_OBJECT_ARB, which returns the handle to the current program object.

Function: gl-get-attached-objects-arb program

[GL_ARB_shader_objects] Rethrns a vector of GL object handles that are attached to the program.

Function: gl-validate-program-arb program

[GL_ARB_shader_objects] Checks whether the program can execute in the current GL state. The result is stored in program’s log.

Specifying vertex attributes

Function: gl-vertex-attrib-arb index values
Function: gl-vertex-attrib-arb index v0 &rest v1 v2 v3

[GL_ARB_vertex_program] Sets the generic vertex attribute specified by index. In the first form, you can pass f32, f64, or s16vector of size 1 to 4, or u8, s8, u16, s32, or u32vector of size 4. In the second form, you can pass 1 to 4 real numbers (they are interpreted as C doubles and glVertexAttrib4dARB is called).

Function: gl-vertex-attrib-4n-arb index values
Function: gl-vertex-attrib-4n-arb index v0 v1 v2 v3

[GL_ARB_vertex_program] These variations can be used to pass normalized values. The first form accepts s8, u8, s16, u16, s32, u32, f32 and f64vector of size 4. The second value takes four integers, whose lower 8bits are taken as unsigned byte and passed to glVertexAttrib4NubARB.

Function: gl-vertex-attrib-pointer-arb index size vec &optional normalized stride offset

[GL_ARB_vertex_program] This is the generic version of vertex arrays. Index names the attribute, size specifies the number of components (1, 2, 3 or 4), and vec is a uniform vector that contains the array of values.

The optional boolean normalized argument tells whether the passed integer values should be mapped to normalized range (#t or taken as are #f, default). The optional stride argument specifies the gap between each set of values within vec. The optional offset argument tells GL to take values beginning from the offset-th element of vec.

Function: gl-enable-vertex-attrib-array-arb index
Function: gl-disable-vertex-attrib-array-arb index

[GL_ARB_vertex_program] Enable or disable a vertex attribute array specified by index.

Function: gl-bind-attrib-location-arb program index name

[GL_ARB_vertex_shader] Associates a user-defined attribute variable in the program object program with an index-th generic vertex attribute. Name is a string of the name of user-defined attribute as appears in the shader program.

Function: gl-get-attrib-location-arb program name

[GL_ARB_vertex_shader] Returns an integer index of the user-defined attribute name in the program. Must be called after program is linked.

Function: gl-get-active-attrib-arb program index

[GL_ARB_vertex_shader] Obtains information about the index-th user-defined attribute in the program. Must be called after program is linked.

It returns three values: the size of the attribute (1, 2, 3 or 4), the type of the attribute (an integer that matches one of the following constants: GL_FLOAT, GL_FLOAT_VEC2_ARB, GL_FLOAT_VEC3_ARB, GL_FLOAT_VEC4_ARB, GL_FLOAT_MAT2_ARB, GL_FLOAT_MAT3_ARB, or GL_FLOAT_MAT4_ARB.), and the name of the attribute.

Specifying uniform variables

Function: gl-get-uniform-location-arb program name

[GL_ARB_shader_objects] Returns an integer location of the uniform variable name of the program program.

Function: gl-uniform1-arb location vec
Function: gl-uniform1-arb location v0
Function: gl-uniform2-arb location vec
Function: gl-uniform2-arb location v0 v1
Function: gl-uniform3-arb location vec
Function: gl-uniform3-arb location v0 v1 v2
Function: gl-uniform4-arb location vec
Function: gl-uniform4-arb location v0 v1 v1 v3

[GL_ARB_shader_objects] Sets a value of the uniform variable specified by location. gl-uniform1-arb sets a single component value (e.g. float) gl-uniform2-arb sets a double component value (e.g. vec2) etc.

The first form of each function takes either an s32vector or f32vector. It can have a size multiple of the number of components to set an array uniform variable (e.g. you can pass an f32vector of size 8 to fill vec2[2]).

The second form just sets the component(s) of a single uniform variable. The arguments v0 to v3 must be real numbers, and coerced to C float (i.e. glUniform*fARB is used).

Function: gl-uniform-matrix2-arb location transpose v
Function: gl-uniform-matrix3-arb location transpose v
Function: gl-uniform-matrix4-arb location transpose v

[GL_ARB_shader_objects] Sets a matrix uniform variable (or an array of matrix uniform variables) specified by location. A boolean flag transpose specifies whether the matrix should be transposed. The v argument must be a f32vector of size multiple of 4, 9, or 16, respectively.

Function: gl-get-active-uniform-arb program index

[GL_ARB_shader_objects] Returns informaton about the index-th uniform variable of program.

Returns three values. The first one is the size, either 1, 2, 3 or 4. The second value is the type, which is an integer that matches one of the following constants: GL_FLOAT, GL_FLOAT_VEC(1|2|3|4)_ARB, GL_INT, GL_INT_VEC(1|2|3|4)_ARB, GL_BOOL, GL_BOOL_VEC(1|2|3|4)_ARB, GL_FLOAT_MAT(2|3|4)_ARB. And the third value is the name of the uniform variable.

Vertex and fragment programs

These APIs are for low-level vertex/fragment pipeline programming.

Function: gl-gen-programs-arb n

[GL_ARB_vertex_program] Generates N names (integers) for the new programs and returns them in an s32vector.

Function: gl-delete-programs-arb programs

[GL_ARB_vertex_program] Deletes programs whose names are specified by an s32vector programs.

Function: gl-is-program-arb prog-id

[GL_ARB_vertex_program] Returns #t if an integer prog-id refers to a valid program.

Function: gl-bind-program-arb target prog-id

[GL_ARB_vertex_program] Binds a program specified by prog-id to a target, which is either GL_VERTEX_PROGRAM_ARB or GL_FRAGMENT_PROGRAM_ARB.

Function: gl-program-string-arb target format text

[GL_ARB_vertex_program] Sets the source code of the program currently bound to the target (GL_VERTEX_PROGRAM_ARB or GL_FRAGMENT_PROGRAM_ARB).

Format must be GL_PROGRAM_FORMAT_ASCII_ARB. Text is a string for the program source.

Function: gl-program-env-parameter-arb target param-id args
Function: gl-program-env-parameter-arb target param-id arg0 arg1 arg2 arg3
Function: gl-program-local-parameter-arb target param-id args
Function: gl-program-local-parameter-arb target param-id arg0 arg1 arg2 arg3

[GL_ARB_vertex_program] Sets the value of the environment and local parameter specified by param-id of the program currently bount to the target. In the first form of each, args must be either f32 or f64vector of size 4 or <vector4f> object.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. GLUT API


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1 GLUT window manipulation

Function: glut-init args
Function: glut-init-display-mode mode
Constant: GLUT_RGB
Constant: GLUT_RGBA
Constant: GLUT_INDEX
Constant: GLUT_SINGLE
Constant: GLUT_DOUBLE
Constant: GLUT_ACCUM
Constant: GLUT_ALPHA
Constant: GLUT_DEPTH
Constant: GLUT_STENCIL
Constant: GLUT_MULTISAMPLE
Constant: GLUT_STEREO
Constant: GLUT_LUMINANCE
Function: glut-init-display-string string
Function: glut-init-window-size width height
Function: glut-init-window-position x y
Function: glut-main-loop
Function: glut-create-widnow name
Function: glut-create-sub-window win x y width height
Function: glut-destroy-window win
Function: glut-post-redisplay
Function: glut-post-window-redisplay win
Function: glut-swap-buffers
Function: glut-get-window
Function: glut-set-window win
Function: glut-set-window-title title
Function: glut-set-icon-title title
Function: glut-position-window x y
Function: glut-reshape-window width height
Function: glut-push-window
Function: glut-pop-window
Function: glut-iconify-window
Function: glut-show-window
Function: glut-hide-window
Function: glut-full-screen
Function: glut-set-cursor cursor
Constant: GLUT_CURSOR_RIGHT_ARROW
Constant: GLUT_CURSOR_LEFT_ARROW
Constant: GLUT_CURSOR_INFO
Constant: GLUT_CURSOR_DESTROY
Constant: GLUT_CURSOR_HELP
Constant: GLUT_CURSOR_CYCLE
Constant: GLUT_CURSOR_SPRAY
Constant: GLUT_CURSOR_WAIT
Constant: GLUT_CURSOR_TEXT
Constant: GLUT_CURSOR_CROSSHAIR
Constant: GLUT_CURSOR_UP_DOWN
Constant: GLUT_CURSOR_LEFT_RIGHT
Constant: GLUT_CURSOR_TOP_SIDE
Constant: GLUT_CURSOR_BOTTOM_SIDE
Constant: GLUT_CURSOR_LEFT_SIDE
Constant: GLUT_CURSOR_RIGHT_SIDE
Constant: GLUT_CURSOR_TOP_LEFT_CORNER
Constant: GLUT_CURSOR_TOP_RIGHT_CORNER
Constant: GLUT_CURSOR_BOTTOM_RIGHT_CORNER
Constant: GLUT_CURSOR_BOTTOM_LEFT_CORNER
Constant: GLUT_CURSOR_INHERIT
Constant: GLUT_CURSOR_NONE
Constant: GLUT_CURSOR_FULL_CROSSHAIR
Function: glut-warp-pointer x y

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.2 GLUT overlay

Function: glut-establish-overlay
Function: glut-remove-overlay
Function: glut-use-layer layer
Function: glut-post-overlay-redisplay
Function: glut-post-window-overlay-redisplay win
Function: glut-show-overlay
Function: glut-hide-overlay

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.3 GLUT menu API

Function: glut-create-menu callback
Function: glut-destroy-menu menu
Function: glut-get-emnu
Function: glut-set-menu menu
Function: glut-add-menu-entry label value
Function: glut-add-sub-menu label submenu
Function: glut-change-to-menu-entry item label value
Function: glut-change-to-sub-menu item label submenu
Function: glut-remove-menu-item item
Function: gult-attach-menu button
Function: glut-detach-menu button

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.4 GLUT callbacks

Function: glut-display-func fn
Function: glut-reshape-func fn
Function: glut-keyboard-func fn
Constant: GLUT_KEY_F1
Constant: GLUT_KEY_F2
Constant: GLUT_KEY_F3
Constant: GLUT_KEY_F4
Constant: GLUT_KEY_F5
Constant: GLUT_KEY_F6
Constant: GLUT_KEY_F7
Constant: GLUT_KEY_F8
Constant: GLUT_KEY_F9
Constant: GLUT_KEY_F10
Constant: GLUT_KEY_F11
Constant: GLUT_KEY_F12
Constant: GLUT_KEY_LEFT
Constant: GLUT_KEY_UP
Constant: GLUT_KEY_RIGHT
Constant: GLUT_KEY_DOWN
Constant: GLUT_KEY_PAGE_UP
Constant: GLUT_KEY_PAGE_DOWN
Constant: GLUT_KEY_HOME
Constant: GLUT_KEY_END
Constant: GLUT_KEY_INSERT
Function: glut-mouse-func fn
Constant: GLUT_LEFT_BUTTON
Constant: GLUT_MIDDLE_BUTTON
Constant: GLUT_RIGHT_BUTTON
Constant: GLUT_DOWN
Constant: GLUT_UP
Function: glut-motion-func fn
Function: glut-passive-motion-func fn
Function: glut-entry-func fn
Constant: GLUT_LEFT
Constant: GLUT_ENTERED
Function: glut-visibility-func fn
Constant: GLUT_NOT_VISIBLE
Constant: GLUT_VISIBLE
Function: glut-idle-func fn
Function: glut-timer-func millis fn value
Function: glut-menu-state-func fn
Function: glut-special-func fn
Function: glut-spaceball-motion-func fn
Function: glut-spaceball-rotate-func fn
Function: glut-spaceball-button-func fn
Function: glut-button-box-func fn
Function: glut-dials-func fn
Function: glut-tablet-motion-func fn
Function: glut-tablet-button-func fn
Function: glut-menu-status-func fn
Function: glut-overlay-dislay-func fn
Function: glut-window-status-func fn
Function: glut-keyboard-up-func fn
Function: glut-special-up-func fn
Function: glut-joystick-func fn interval

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.5 GLUT colormap

Function: glut-set-color index r g b
Function: glut-get-color index component
Constant: GLUT_RED
Constant: GLUT_GREEN
Constant: GLUT_BLUE
Function: glut-copy-colormap win

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.6 GLUT state retrieval

Function: glut-get type
Constant: GLUT_WINDOW_X
Constant: GLUT_WINDOW_Y
Constant: GLUT_WINDOW_WIDTH
Constant: GLUT_WINDOW_HEIGHT
Constant: GLUT_WINDOW_BUFFER_SIZE
Constant: GLUT_WINDOW_STENCIL_SIZE
Constant: GLUT_WINDOW_DEPTH_SIZE
Constant: GLUT_WINDOW_RED_SIZE
Constant: GLUT_WINDOW_GREEN_SIZE
Constant: GLUT_WINDOW_BLUE_SIZE
Constant: GLUT_WINDOW_ALPHA_SIZE
Constant: GLUT_WINDOW_ACCUM_RED_SIZE
Constant: GLUT_WINDOW_ACCUM_GREEN_SIZE
Constant: GLUT_WINDOW_ACCUM_BLUE_SIZE
Constant: GLUT_WINDOW_ACCUM_ALPHA_SIZE
Constant: GLUT_WINDOW_DOUBLEBUFFER
Constant: GLUT_WINDOW_RGBA
Constant: GLUT_WINDOW_PARENT
Constant: GLUT_WINDOW_NUM_CHILDREN
Constant: GLUT_WINDOW_COLORMAP_SIZE
Constant: GLUT_WINDOW_NUM_SAMPLES
Constant: GLUT_WINDOW_STEREO
Constant: GLUT_WINDOW_CURSOR
Constant: GLUT_SCREEN_WIDTH
Constant: GLUT_SCREEN_HEIGHT
Constant: GLUT_SCREEN_WIDTH_MM
Constant: GLUT_SCREEN_HEIGHT_MM
Constant: GLUT_MENU_NUM_ITEMS
Constant: GLUT_DISPLAY_MODE_POSSIBLE
Constant: GLUT_INIT_WINDOW_X
Constant: GLUT_INIT_WINDOW_Y
Constant: GLUT_INIT_WINDOW_WIDTH
Constant: GLUT_INIT_WINDOW_HEIGHT
Constant: GLUT_INIT_DISPLAY_MODE
Constant: GLUT_ELAPSED_TIME
Constant: GLUT_WINDOW_FORMAT_ID
Function: glut-device-get type
Constant: GLUT_HAS_KEYBOARD
Constant: GLUT_HAS_MOUSE
Constant: GLUT_HAS_SPACEBALL
Constant: GLUT_HAS_DIAL_AND_BUTTON_BOX
Constant: GLUT_HAS_TABLET
Constant: GLUT_NUM_MOUSE_BUTTONS
Constant: GLUT_NUM_SPACEBALL_BUTTONS
Constant: GLUT_NUM_BUTTON_BOX_BUTTONS
Constant: GLUT_NUM_DIALS
Constant: GLUT_NUM_TABLET_BUTTONS
Constant: GLUT_DEVICE_IGNORE_KEY_REPEAT
Constant: GLUT_DEVICE_KEY_REPEAT
Constant: GLUT_HAS_JOYSTICK
Constant: GLUT_OWNS_JOYSTICK
Constant: GLUT_JOYSTICK_BUTTONS
Constant: GLUT_JOYSTICK_AXES
Constant: GLUT_JOYSTICK_POLL_RATE
Function: glut-extension-supported name
Function: glut-get-modifiers
Constant: GLUT_ACTIVE_SHIFT
Constant: GLUT_ACTIVE_CTRL
Constant: GLUT_ACTIVE_ALT
Function: glut-layer-get type
Constant: GLUT_OVERLAY_POSSIBLE
Constant: GLUT_LAYER_IN_USE
Constant: GLUT_HAS_OVERLAY
Constant: GLUT_TRANSPARENT_INDEX
Constant: GLUT_NORMAL_DAMAGED
Constant: GLUT_OVERLAY_DAMAGED

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.7 GLUT font

Class: <glut-font>
Function: glut-bitmap-character font character
Function: glut-bitmap-width font character
Function: glut-stroke-character font character
Function: glut-stroke-width font character
Function: glut-bitmap-length font string
Function: glut-stroke-length font string

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.8 GLUT pre-built models

Function: glut-wire-sphere radius slices stacks
Function: glut-solid-sphere radius slices stacks
Function: glut-wire-cone radius height slices stacks
Function: glut-solid-cone radius height slices stacks
Function: glut-wire-cube size
Function: glut-solid-cube size
Function: glut-wire-torus inner outer sides rings
Function: glut-solid-torus inner outer sides rings
Function: glut-wire-dodecahedron
Function: glut-solid-dodecahedron
Function: glut-wire-teapot size
Function: glut-soild-teapot size
Function: glut-wire-octahedron
Function: glut-solid-octahedron
Function: glut-wire-tetrahedron
Function: glut-solid-tetrahedron
Function: glut-wire-icosahedron
Function: glut-solid-icosahedron

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Vectors and matrices

Module: gl.math3d

The module provides vector and matrix operations useful for 3D computer graphics.

Actually this module itself doesn’t depend on GL; you can use this module alone to do matrix calculations. However, the structure of objects are designed so that they can be passed directly to Gauche-gl functions, reducing the overhead of type conversions.

The purpose of this module is to provide reasonable performance. So the operations are fixed to 3D homogeneous coordinates, i.e. a vector is 4-element column vector, and a matrix is 4x4 square matrix. If you want more flexibility, <array> class in gauche.array provides much more generic structures, trading performance.

Elements of vectors and matrices are represented in float internally. When you retrieve each element individually, it is converted to double, so you might see some precision errors. There are lots of operations directly manipulate group of elements without retrieving each element to Scheme world, avoiding overhead of conversion.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 Vectors and points

Class: <vector4f>
Class: <point4f>

4x1 column vectors. Vector4f is intended to be used to represent a vector, and point4f is to a point, but as far as OpenGL concerns, both are just an array of four floats, x, y, z and w.

These classes inherit <sequence> and <collection> classes. So if you import gauche.sequence module, you can use generic function such as ref and (setter ref) to get/set individual elements. The generic version of map and for-each can also be used on the vector4f and point4f instances.

Aside from the type, the only difference is that the default value of w component— it’s 0.0 for vectors, and 1.0 for points. So usual transformation produces expected results; for example point plus vector becomes point, vector plus vector becomes vector, and translating point changes its coordinates but translating vectors doesn’t, and so on. However, you can set w component to other value to do nontrivial operations.

Reader syntax: #,(vector4f x y z w)
Reader syntax: #,(point4f x y z w)

These SRFI-10 syntax can be used to denote literal <vector4f> and <point4f> instance, respectively.

The write methods are defined so that the instance is written out in this form, and can be read back later.

Function: vector4f? obj
Function: point4f? obj

Returns true iff obj is vector4f and point4f, respectively.

Function: vector4f x y z &optional (w 0.0)
Function: point4f x y z &optional (w 1.0)

Creates a vector4f and point4f instance with given values, respectively.

Function: make-vector4f
Function: make-point4f

Another way to create a vector4f and a point4f. The first returns #,(vector4f 0.0 0.0 0.0 0.0), and the latter returns #,(point4f 0.0 0.0 0.0 1.0).

Function: list->vector4f l
Function: list->point4f l

Convert a list of three or four real numbers to a vector4f and a point4f, respectively. If l is not a list of three or four real numbers, an error is signalled.

 
(list->vector4f l)
  ≡ (apply vector4f l)
  ≡ (coerce-to <vector4f> l)
Function: vector4f->list v
Function: point4f->list p

Convert a vector4f and a point4f to a list of four real numbers, respectively.

 
(vector4f->list v)
  ≡ (coerce-to <list> v)
  ≡ (map (cut ref v <>) (iota 4))
Function: f32vector->vector4f v &optional start
Function: f32vector->point4f v &optional start

Creates a vector4f or a point4f, initializing by the elements of f32vector v. V must be at least 4 elements long, and the first four elements are used to initialize the created vector or point.

If optional start argument is given, it specifies an index of v from which the initial values are taken; that is, start, start+1, start+2 and start+3-th elements are used to create a vector or a point. This allows to create vectors from plain float array:

 
(map (lambda (off) (f32vector->vector4f vec (* off 4)))
     (iota (/ (size-of vec) 4)))

The conversion can be done using coerce-to, as well.

 
(f32vector->vector4f vec)
  ≡ (coerce-to <vector4f> vec)
Function: vector4f->f32vector v
Function: point4f->f32vector p

Convert a vector4f v or a point4f p to four-element f32vector.

 
(vector4f->f32vector v)
 ≡ (coerce-to <f32vector> v)
Function: vector4f-copy v
Function: point4f-copy p

Returns a new copy of vector4f v or point4f p, respectively.

Function: vector4f-copy! dstv srcv
Function: point4f-copy! dstp srcp

Destructively sets the content of srcv or srcp to dstv or dstp, respectively.

Function: vector4f-set! v k value
Function: point4f-set! p k value

Sets a real number value to k-th element of a vector4f v or a point4f p.

 
(vector4f-set! v k value)
  ≡ (set! (ref v k) value)
Function: vector4f-ref v k &optional fallback
Function: point4f-ref p k &optional fallback

Gets a value of k-th element of a vector4f v or a point4f p. If k is out of range, an error is signalled, unless fallback is provided, in such a case fallback is returned.

 
(vector4f-ref v k)
  ≡ (ref v k)
Function: vector4f-dot x y

Returns a dot product of two vector4fs, x and y.

Function: vector4f-cross x y

Returns a cross product of two vector4fs, x and y. (w element is ignored).

Function: vector4f-norm v

Returns the norm (length) of the vector v.

Function: vector4f-normalize x
Function: vector4f-normalize! x

Returns a normalized vector of vector4f x. Vector4f-normalize allocates a new vector, while vector4f-normalize! modifies the original vector.

As a special case, if x is a vector of length 0, a vector of length 0 is returned.

Function: vector4f-add x y
Function: vector4f-sub x y
Function: vector4f-add! x y
Function: vector4f-sub! x y

Returns a sum of two vector4fs, x and y. The destructive version modifies x.

Function: point4f-add x y
Function: point4f-add! x y

Adds a point4f x and a vector4f y, and returns a translated point. The destructive version modifies x.

Function: point4f-sub x y

Subtracts either a vector4f or a point4f y from a point4f x. If y is a vector4f, returns a translated point. If y is a point4f, returns a vector4f from point y to point x.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Vector arrays and point arrays

Class: <vector4f-array>
Class: <point4f-array>

Represents an array of vector4fs and point4fs. This is an efficient way to keep an array of vectors or points, for the elements are packed in a simple float array. They are especially useful to work with GL’s vertex array feature. gl-vertex-pointer can take <point4f-array>, and gl-normal-pointer can take <vector4f-array>.

It is also possible to "view" a plain f32vector as <vector4f-array> or <point4f-array> without copying its content, by f32vector->vector4f-array/shared and f32vector->point4f-array/shared. Combined to read-block!, you can do efficient binary I/O of vertex arrays, for example.

Inherits <sequence> and <collection>. When viewed as a sequence or a collection, they behaves like sequence or collection of vector4f and point4f objects, respectively.

Function: make-vector4f-array len &optional init-vector
Function: make-point4f-array len &optional init-point

Creates a vector4f-array or point4f-array with len elements. Each element is initialized by a vector4f init-vector or a point4f init-point if provided.

Function: vector4f-array? obj
Function: point4f-array? obj

Returns true iff obj is a vector4f-array or a point4f-array, respectively.

Function: vector4f-array-length array
Function: point4f-array-length array

Returns length (number of vectors/points) in array array.

Reader syntax: #,(vector4f-array len elt …)
Reader syntax: #,(point4f-array len elt …)

Vector4f-array and point4f-array have external representation using this SRFI-10 syntax. Len is a length of array, and each elt is a list of four floats representing each element of the array.

 
(f32vector->vector4f-array #f32(1 2 3 4 6 7 4 3))
  ⇒ #,(vector4f-array 2 (1 2 3 4) (6 7 4 3) )
Function: list->vector4f-array list
Function: list->point4f-array list

From given list of vector4fs or point4fs, creates and returns a vector4f-array or point4f-array, respectively.

Function: f32vector->vector4f-array v
Function: f32vector->point4f-array v

Converts f32vector v to a vector4f-array or a point4f-array. The length of v must be multiple of four. The content of v is copied.

 
(f32vector->vector4f-array v)
  ≡ (coerce-to <vector4f-array> v)
Function: f32vector->vector4f-array/shared v
Function: f32vector->point4f-array/shared v

Like above, but the content of v is shared by the result array, instead of being copied. So the modification of result array will be visible from original f32vector v and vice versa. It will allow efficient handling of large vertex arrays.

Function: vector4f-array->f32vector array
Function: point4f-array->f32vector array

Converts a vector4f-array or a point4f-array array to a f32vector.

 
(vector4f-array->f32vector array)
  ≡ (coerce-to <f32vector> array)
Function: vector4f-array-set! array i vector
Function: point4f-array-set! array i point

Sets a vector4f vector or a point4f point to i-th element of vector4f-array or point4f-array array, respectively.

 
(vector4f-array-set! array i vector)
  ≡ (set! (ref array i) vector)
Function: vector4f-array-ref array i &optional fallback
Function: point4f-array-ref array i &optional fallback

Returns a vector4f or a point4f which is the i-th element of array array, respectively. If k is out of range, an error is signalled, unless fallback is provided, in such a case fallback is returned.

 
(vector4f-array-ref array i)
  ≡ (ref array i)

(ref #,(vector4f-array 2 (1 2 3 4) (6 7 4 3))  1)
  ⇒ #,(vector4f 6 7 4 3)
Function: vector4f-array-ref/shared array i &optional fallback
Function: point4f-array-ref/shared array i &optional fallback

Like above, but the returned vector4f or point4f shares the storage with the original array. Thus the modification of the result vector or point will be visible from array, and vice versa.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 Matrices

Class: <matrix4f>

4x4 matrix. Internally it is represented as an array of 16 floats, stored in column-major order. (It is the same order OpenGL uses, so it can be passed to OpenGL calls without overhead).

Inherits <sequence> and <collection>. When a matrix4f is treated as a sequence, it works as if it is a single sequence of floats in column-major order.

Function: make-matrix4f &optional init

Returns a new matrix4f instance. If init is omitted, the matrix is a unit matrix. Otherwise, init must be a f32vector of length 16, and the elements in the matrix is initialized by ones in f32vector.

 
;; Creates a matrix like this:
;;    1 2 3 4
;;    0 1 0 5
;;    0 0 1 6
;;    0 0 0 1

(make-matrix4f '#f32vector(1 0 0 0
                           2 1 0 0
                           3 0 1 0
                           4 5 6 1))
Function: matrix4f m00 m10 m20 m30 m01 m11 m21 m31 m02 m12 m22 m32 m03 m13 m23 m33

Creates a new matrix4f instance with give values.

Function: matrix4f? obj

Returns true iff obj is a matrix4f.

Reader syntax: #,(matrix4f elt …)

A matrix4f is represented extrenally using SRFI-10 syntax. The elements are listed in column-major order.

Function: list->matrix4f l
Function: matrix4f->list m

Converts between list of 16 real numbers and matrix4f.

Function: f32vector->matrix4f v &optional start

Creates a new matrix4f and initializes it with 16 elements in f32vector v. If optional start is given, it specifies the start offset in vector v to be used as initial values. The f32vector v must have enough length.

Function: f32vector->matrix4f! m v &optional (start 0)

Extract 16 flonums in the f32vector v starting from the index start, and fill the matrix4f m with them. The f32vector v must have enough length.

Function: matrix4f->f32vector m

Returns a new f32vector that has elements from matrix4f m.

Function: matrix4f-copy m

Returns a new copy of m.

Function: matrix4f-copy! dstm srcm

Copies contents of srcm to dstm.

Function: matrix4f-set! m i value

Sets a real number value to i-th element of matrix m. Since the matrix is laid out in column-major order, the one-dimensional index m{i} and two-dimensional index m(i,j) corresponds as follows:

 
  m(0,0) = m{0}   m(0,1) = m{4}   m(0,2) = m{8}   m(0,3) = m{12}
  m(1,0) = m{1}   m(1,1) = m{5}   m(1,2) = m{9}   m(1,3) = m{13}
  m(2,0) = m{2}   m(2,1) = m{6}   m(2,2) = m{10}  m(2,3) = m{14}
  m(3,0) = m{3}   m(3,1) = m{7}   m(3,2) = m{11}  m(3,3) = m{15}
Function: matrix4f-ref m i &optional fallback

Returns the i-th element of matrix m. If i is out of range, an error is signalled, unless fallback is provided, in such a case fallback is returned.

Function: matrix4f-set2! m i j value

Sets value to (i, j) element of matrix m.

Function: matrix4f-ref2 m i j

Returns the (i, j) element of matrix m.

Function: matrix4f-row m i
Function: matrix4f-column m i
Function: matrix4f-column/shared m i

Returns i-th row vector or i-th column vector of matrix m, as a vector4f instance.

Furthermore, the returned vector from matrix4f-column/shared shares the storage with m.

Function: matrix4f-mul m obj

Obj may be a scalar (real number), a vector4f, a point4f, or a matrix4f. Returns m x obj.

Function: matrix4f-mul! m obj

Obj may be a scalar or a matrix4f. Matrix m is multiplied by obj, and the result is set to m destructively.

Function: matrix4f-transpose m
Function: matrix4f-transpose! m

Returns a transposed matrix of m. The destructive version modifies m.

Function: matrix4f-determinant m

Returns a determinant of m.

Function: matrix4f-inverse m &optional (error-on-singular? #t)
Function: matrix4f-inverse! m &optional (error-on-singular? #t)

Returns a inverse matrix of m. The destructive version modifies m. If given m is a singular matrix, an error is signalled by default. However, if #f is given to the optional error-on-singular? argument, #f is returned in such a case.

Function: translation->matrix4f translation-vector
Function: translation->matrix4f! m translation-vector

Returns a matrix which represents a translation by translation-vector, which must be either a vector4f, a point4f, or a f32vector of length 3 or 4. Only the first three elements in translation-vector is used. The destructive version updates m.

Function: rotation->matrix4f axis angle
Function: rotation->matrix4f! m axis angle

Returns a matrix which represents a rotation around axis by angle radian. Axis must be a vector4f or a f32vector of length 3 or 4, and must be normalized. The result is undefined if anormalized vector is passed as axis. The destructive version updates m.

Function: scale->matrix4f scale-vector
Function: scale->matrix4f! m scale-vector

Returns a matrix which represents a scale by scale-vector, which must be either a vector4f, a point4f, or a f32vector of length 3 or 4. Only the first three elements in scale-vector is used. Each element of scale-vector represents the scale factor along x, y, and z axis. The destructive version updates m.

Function: trs->matrix4f translation rotation-axis rotation-angle scale
Function: trs->matrix4f! m translation rotation-axis rotation-angle scale

This combines above three procedure. Returns a matrix that represents translation, rotation and scale, specified by translation, rotation-axis, rotation-angle and scale. The destructive version updates m.

If T, R and S, are the matrices that represent translation, rotation and scale, respectively, then these procedures effectively calculates a matrix TRS.

Function: tqs->matrix4f translation rotation-quat scale
Function: tqs->matrix4f! m translation rotation-quat scale

A variation of trs->matrix4f. Instead of axis and angle, rotation is represented by a quaternion rotation-quat. See section Quaternions, for more details about quaternions.

Function: euler-angle->matrix4f xangle yangle zangle &optional order
Function: euler-angle->matrix4f! m xangle yangle zangle &optional order

Returns a matrix that represents rotation along x, y and z axis by xangle, yangle, and zangle, respectively.

The order of rotation can be specified by the optional argument order, which may be one of the symbols xyz, xzy, yzx, yxz, zxy, or zyx. For example, symbol xyz means rotation around x-axis, then y-axis, then z-axis. Thus, if we write each rotation as Rx, Ry, and Rz, the returned matrix is RzRyRx. The default value of order is xyz.

The desrtuctive version modifies m.

Function: matrix4f-decompose m

Matrix m is a composition of translation, rotation, shear and scale. Suppose transformation is applied in the reverse order. This procedure decompose m into each individual transformation.

Returns five values.

  • A flag to indicate if m is non-singular.
  • A translation vector t, in vector4f. The first three elements of t are for x, y, and z translations.
  • A rotation matrix r, in matrix4f. This is an orthogonal matrix represents rotation component.
  • A shear vector h, in vector4f. The first three elements of h are for xy, xz and yz shear factors.
  • A scale vector s, in vector4f. The first three elements of s are fof x, y, and z scale factors.

If m is singular, certain part of rotation matrix can’t be recovered. In such a case, r becomes also singular matrix.

If the original matrix has negative scale factor in any of x, y, or z scale, the decomposed scale factor will have all negative components. The signs of elements of r are adjusted accordingly.

Due to the precision errors, you will see small values appear in shear component even m is pure TRS matrix.

Function: matrix4f-decompose! m t r h s

Linear update version of matrix4f-decompose. The result vectors and matrices are stored in t, r, h and s. The return value is a boolean value indicates m is non-singular or not.

Function: matrix4f->translation m

Extract the translation component from the given TRS matrix m and returns it as a <vector4f>.

Function: matrix4f->translation! v m

Extract the translation component from the given TRS matrix m and stores the result into a <vector4f> v. Returns v.

Function: matrix4f->rotation m

From given orthogonal matrix m, extracts and returns and rotation axis and angle, as a vector4f and a real number.

Function: matrix4f->rotation! v m

Same as above, except the storage of vector4f v is reused to store the result axis.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 Quaternions

Class: <quatf>

Quaternions. Internally quaternions are represented as just an array of four floats; the first three are the vector component and the last is the scalar component.

Inherits <sequence> and <collection>. When viewed as sequence, it is just like a vector of four floats.

Function: quatf? obj

Returns true iff obj is a quaternion.

Reader syntax: #,(quatf x y z w)

External representation of quaternion xi+yj+zk+w.

Function: make-quatf &optional axis (angle 0)

Returns a new unit quaternion that represents a rotation around vector axis by angle radians. Axis can be a vector4f, a point4f or a f32vector (only first three component is used). Axis must be a unit vector; if axis is anormalized, the result is undefined.

If both axis and angle is omitted, #,(quatf 0 0 0 1) is returned.

Function: quatf x y z w

Returns a new quaternion whose elements are initialized by x, y, z, w.

Function: list->quatf l
Function: quatf->list q

Converts between a list of four real numbers and a quaternion.

Function: f32vector->quatf x &optional start

Returns a new quaternion whose elements are initialized by the first four elements of f32vector x. If start is given, the initial value is taken starting from start-th index in x.

Function: quatf->f32vector q

Returns a new f32vector whose contents is the same as a quaternion q.

Function: quatf-copy q

Returns a fresh copy of a quaternion q.

Function: quatf-copy! dstq srcq

Copies contents of a quaternion srcq to a quaternion dstq.

Function: rotation->quatf! quat axis angle

Sets a quaternion quat so that it represents a rotation around a unit vector axis by angle angle radians. Axis can be a vector4f, a point4f or a f32vector (only first three component is used).

Function: vectors->quatf v w
Function: vectors->quatf! q v w

Given two unit vectors v and w, calculates and returns a quaternion that represents a rotation from v to w. The destructive version vectors->quatf! modifies q.

Function: axes->quatf v1 v2 w1 w2
Function: axes->quatf! q v1 v2 w1 w2

The arguments must be all unit vectors, v1 and v2 must be perpendicular, and also w1 and w2 must be perpendicular.

Calculates and returns a quaternion that represents a rotation which transforms v1 to w1, and v2 to w2, respectively. The destructive version stores the result into q.

Function: quatf-add p q
Function: quatf-add! p q
Function: quatf-sub p q
Function: quatf-sub! p q

Addition and subtraction of quaternions. The destructive version modifies the first argument.

Function: quatf-scale q s
Function: quatf-scale! q s

Multiplies a quaternion q by a scalar value s. The destructive version modifies q.

Function: quatf-mul p q
Function: quatf-mul! p q

Multiply two quaternions p and q. The destructive version modifies p as well.

Function: quatf-conjugate p
Function: quatf-conjugate! q p

Returns a conjugate of a quaternion p. The destructive version modifies q as well.

Function: quatf-transform q p

Transforms a vector or a point p by quaternion q, that is, returns qpq*, where q* is a conjugate of q.

This procedure assumes q is normalized.

P can be a vector4f, a point4f or a f32vector (only first three elements are used). Returns the same type of object as p.

Function: quatf-norm q

Returns norm of q.

Function: quatf-normalize q
Function: quatf-normalize! q

Returns normalized quaternion of q. The destructive version modifies q.

Function: quatf->matrix4f q
Function: quatf->matrix4f! m q

Returns a matrix that represents a rotation specified by a unit quaternion q. The behavior is undefined if q is not normalized. The destructive version modifies m.

Function: matrix4f->quatf m
Function: matrix4f->quatf! q m

Extracts the rotation component of a matrix m and returns a quaterion that represents the rotation. Matrix4f->quatf! also uses q as the storage to store the result.

Function: quatf-slerp p q t
Function: quatf-slerp! r p q t

Returns a quaternion that interpolates between two unit quaternions p and q, by a scalar value t. The destructive version modifies r.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. Simple utilities

This chapter covers gl.simple.* modules. They are provided for the convenience of those who wants quick experiment with Gauche-gl alone, without a hassle to install a bunch of other modules. Their features are pretty limited, but you may find them handy when you need to hack up some throwaway script that need to show some graphics on the screen.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 Simple image handling

Module: gl.simple.image

OpenGL doesn’t provide any means of reading/writing image data, and it should be covered by other Gauche extensions. However, it is sometimes handy to have simple means to handle external image data, so that you can do some experiment with Gauche-gl alone.

This module provides a minimal support to handle external image data, so that one can do some experiment in Gauche-gl alone.

The functionality might be extended over time, but this is never intended to be a full featured image library. A separate Gauche extension should be a better place to have it.

Currently, only reading from 8bit SGI image file is supported. It is written in pure Scheme, so don’t expect the performance.

Function: read-sgi-image filename
Function: read-sgi-image-from-port port

Reads an image data in SGI format from the named file or the input port, respectively.

Only 8bit-per-channel, direct color mode is supported.

Returns four values: the image’s width in pixels, its height in pixels, number of channels (e.g. 1 for grayscale, 3 for RGB, 4 for RGBA), and the image data in u8vector. The pixel data is packed, i.e. there’s no padding between each pixel nor each scanline.

Warning: be careful to call this function interactively. The image data vector is usually huge, and you have to wait long for the REPL to display the entire result.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 Simple viewer

Module: gl.simple.viewer

This module packages common operations to allow users to view 3D objects, controlling the camera by the mouse, and have some interactions with the keyboard.

A typical way of using the viewer is like the following:

 
(use gl)
(use gl.glut)
(use gl.simple.viewer)

(define (main args)
  (glut-init args)
  (simple-viewer-display <your-display-thunk>)
  (simple-viewer-set-key! <key> <handler> ...)
  (simple-viewer-window <name> :title <title> ...)
  (simple-viewer-run) ; loop forever.  type ESC to exit.
  0)

The viewer handles mouse drag (to move the camera), and also draws reference grid and axes by default for your convenience. You have to provide a thunk, which must draw your 3D object.

For the keyboard events, you can use a convenient API to associate handler to the key (character for normal keys, and constants like GL_LEFT_ARROW for special keys).

The reshape event is handled implicitly, though you can override it.

If you call simple-viewer-run, it enters the event loop and never returns. If you wish to keep REPL and/or other parts of your application run concurrently, the convenient way is to run simple-viewer-run in a separate thread.

 
(use gauche.threads)

(define (run-viewer)
  (thread-start! (make-thread simple-viewer-run #f)))

See also the code under ‘examples/simple’ directory of the source tree for more examples.

Function: simple-viewer-window name &key title mode parent width height x y

Creates a new GL window with name, which must be a symbol to identify the window later in the simple viewer framework. The window won’t be shown until simple-viewer-run is called.

Each window

Function: simple-viewer-display &optional display-thunk

Gets/sets the display thunk, which is called every time the GL window is redrawn. You can change the display thunk any time, even while the viewer thread is running.

If no argument is given, returns the current display thunk. It can be #f if no display thunk is set.

When the display thunk is called, the matrix mode is MODELVIEW and the camera transformation is already applied. The grid and axes are also drawn, unless you’ve customized them.

In the display thunk you can just write your model in the world coordinate system. It is guaranteed that the current color is white and line width is 1.0, but the states of other GL contexts are undefined, so you have to set them explicitly.

Function: simple-viewer-reshape &optional reshape-proc

Gets/sets the reshape procedure which is called every time the GL window configuration is changed. (It is also called when the GL window is shown first time.) You can change the reshape procedure any time, even while the viewer thread is running.

If no argument is given, returns the current reshape proc.

A reshape procedure is called with two arguments, the width and the height (in pixels) of the new GL window configuration. By default, gl.simple.viewer sets a procedure that changes viewport and projection matrix apopropriately; you need to change it only if you want a different behavior.

Function: simple-viewer-grid &optional grid-proc
Function: simple-viewer-axis &optional axis-proc

Gets/sets a procedure to draw a grid and axes. You can change these procedures any time, even while the viewer thread is running.

The grid-proc and axis-proc are called with no arguments every time the GL window is redrawn, before the display thunk is invoked. The matrix mode is MODELVIEW, the camera transformation is already applied, and lighting is disabled.

The default grid proc draws 10x10 grid on X-Z plane centered at the origin. The default axis proc draws a red line from origin to +X, a green line from origin to +Y, and a blue line from origin to +Z.

You can pass #f to disable grid and/or axis display.

If no argument is given, returns the current grid/axis proc, respectively.

Function: simple-viewer-set-key! key handler …

Even number of arguments must be given; the first of every two specifies the key, and the next one specifies the action when the key is pressed.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. Indices


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.1 Function and Syntax Index

Jump to:   A   E   F   G   L   M   P   Q   R   S   T   V  
Index Entry Section

A
axes->quatf6.4 Quaternions
axes->quatf!6.4 Quaternions

E
euler-angle->matrix4f6.3 Matrices
euler-angle->matrix4f!6.3 Matrices

F
f32vector->matrix4f6.3 Matrices
f32vector->matrix4f!6.3 Matrices
f32vector->point4f6.1 Vectors and points
f32vector->point4f-array6.2 Vector arrays and point arrays
f32vector->point4f-array/shared6.2 Vector arrays and point arrays
f32vector->quatf6.4 Quaternions
f32vector->vector4f6.1 Vectors and points
f32vector->vector4f-array6.2 Vector arrays and point arrays
f32vector->vector4f-array/shared6.2 Vector arrays and point arrays

G
gl-accumTesting and operating on fragments
gl-active-texture-arbMultitexturing
gl-alpha-funcTesting and operating on fragments
gl-are-textures-resident!Texture objects
gl-array-element4.8 Vertex arrays
gl-attach-object-arbShader objects
gl-begin4.3 Drawing functions
gl-begin*4.3 Drawing functions
gl-bind-attrib-location-arbSpecifying vertex attributes
gl-bind-program-arbVertex and fragment programs
gl-bind-textureTexture objects
gl-bitmapPixel operations
gl-blend-color4.5 GL states for drawing
gl-blend-equation4.5 GL states for drawing
gl-blend-func4.5 GL states for drawing
gl-boolean-vectorGL boolean vectors
gl-boolean-vector-copyGL boolean vectors
gl-boolean-vector-fill!GL boolean vectors
gl-boolean-vector-lengthGL boolean vectors
gl-boolean-vector-refGL boolean vectors
gl-boolean-vector-set!GL boolean vectors
gl-boolean-vector?GL boolean vectors
gl-call-list4.7 Display lists
gl-call-lists4.7 Display lists
gl-call-lists4.7 Display lists
gl-call-lists4.7 Display lists
gl-clearClearing buffers
gl-clear-accumClearing buffers
gl-clear-colorClearing buffers
gl-clear-depthClearing buffers
gl-clear-indexClearing buffers
gl-clear-stencilClearing buffers
gl-client-active-texture-arbMultitexturing
gl-clip-plane4.5 GL states for drawing
gl-color4.3 Drawing functions
gl-color4.3 Drawing functions
gl-color-maskMasking buffers
gl-color-material4.9 Lighting
gl-color-pointer4.8 Vertex arrays
gl-color-sub-tableColor tables
gl-color-tableColor tables
gl-color-table-parameterColor tables
gl-compile-shader-arbShader objects
gl-convolution-filter-1dConvolutions
gl-convolution-filter-2dConvolutions
gl-convolution-parameterConvolutions
gl-copy-color-sub-tableColor tables
gl-copy-color-tableColor tables
gl-copy-convolution-filter-1dConvolutions
gl-copy-convolution-filter-2dConvolutions
gl-copy-pixelsPixel operations
gl-copy-tex-image-1dDefining textures
gl-copy-tex-image-2dDefining textures
gl-copy-tex-sub-image-1dDefining textures
gl-copy-tex-sub-image-2dDefining textures
gl-copy-tex-sub-image-3dDefining textures
gl-create-program-object-arbShader objects
gl-create-shader-object-arbShader objects
gl-cull-face4.5 GL states for drawing
gl-delete-lists4.7 Display lists
gl-delete-object-arbShader objects
gl-delete-programs-arbVertex and fragment programs
gl-delete-texturesTexture objects
gl-depth-funcTesting and operating on fragments
gl-depth-maskMasking buffers
gl-depth-rangeTesting and operating on fragments
gl-detach-object-arbShader objects
gl-disableCapabilities
gl-disable-client-stateCapabilities
gl-disable-vertex-attrib-array-arbSpecifying vertex attributes
gl-draw-arrays4.8 Vertex arrays
gl-draw-bufferSelecting color buffers
gl-draw-elements4.8 Vertex arrays
gl-draw-pixelsPixel operations
gl-draw-range-elements4.8 Vertex arrays
gl-edge-flag4.5 GL states for drawing
gl-edge-flag-pointer4.8 Vertex arrays
gl-enableCapabilities
gl-enable-client-stateCapabilities
gl-enable-vertex-attrib-array-arbSpecifying vertex attributes
gl-end4.3 Drawing functions
gl-end-list4.7 Display lists
gl-extension-available?4.2 GL feature checking
gl-feedback-buffer4.13 Selection and feedback
gl-finish4.3 Drawing functions
gl-flush4.3 Drawing functions
gl-fog4.5 GL states for drawing
gl-front-face4.5 GL states for drawing
gl-frustum4.6 Transformation
gl-gen-lists4.7 Display lists
gl-gen-programs-arbVertex and fragment programs
gl-gen-texturesTexture objects
gl-get-active-attrib-arbSpecifying vertex attributes
gl-get-active-uniform-arbSpecifying uniform variables
gl-get-attached-objects-arbShader objects
gl-get-attrib-location-arbSpecifying vertex attributes
gl-get-booleanState values
gl-get-boolean!State values
gl-get-clip-plane4.5 GL states for drawing
gl-get-color-table!Color tables
gl-get-doubleState values
gl-get-double!State values
gl-get-errorOther queries
gl-get-floatState values
gl-get-float!State values
gl-get-handle-arbShader objects
gl-get-histogramHistogram
gl-get-histogram-parameterHistogram
gl-get-info-log-arbShader objects
gl-get-integerState values
gl-get-integer!State values
gl-get-light4.9 Lighting
gl-get-material4.9 Lighting
gl-get-minmaxMinmax
gl-get-minmax-parameterMinmax
gl-get-object-parameter-arbShader objects
gl-get-pixel-mapPixel operations
gl-get-pixel-map!Pixel operations
gl-get-shader-source-arbShader objects
gl-get-stringOther queries
gl-get-tex-level-parameterTexture parameters
gl-get-tex-parameterTexture parameters
gl-get-uniform-location-arbSpecifying uniform variables
gl-hintHints
gl-histogramHistogram
gl-index-maskMasking buffers
gl-index-pointer4.8 Vertex arrays
gl-init-names4.13 Selection and feedback
gl-interleaved-arrays4.8 Vertex arrays
gl-is-enabledCapabilities
gl-is-list4.7 Display lists
gl-is-program-arbVertex and fragment programs
gl-is-textureTexture objects
gl-light4.9 Lighting
gl-light-model4.9 Lighting
gl-line-stipple4.5 GL states for drawing
gl-line-width4.5 GL states for drawing
gl-link-program-arbShader objects
gl-list-base4.7 Display lists
gl-load-identity4.6 Transformation
gl-load-matrix4.6 Transformation
gl-load-name4.13 Selection and feedback
gl-logic-opTesting and operating on fragments
gl-material4.9 Lighting
gl-matrix-mode4.6 Transformation
gl-minmaxMinmax
gl-mult-matrix4.6 Transformation
gl-multi-tex-coord-arbMultitexturing
gl-multi-tex-coord-arbMultitexturing
gl-new-list4.7 Display lists
gl-normal4.3 Drawing functions
gl-normal4.3 Drawing functions
gl-normal-pointer4.8 Vertex arrays
gl-ortho4.6 Transformation
gl-pass-through4.13 Selection and feedback
gl-pixel-mapPixel operations
gl-pixel-storePixel operations
gl-pixel-transferPixel operations
gl-pixel-zoomPixel operations
gl-point-size4.5 GL states for drawing
gl-polygon-mode4.5 GL states for drawing
gl-polygon-offset4.5 GL states for drawing
gl-polygon-stipple4.5 GL states for drawing
gl-pop-attribPush/pop attributes
gl-pop-client-attribPush/pop attributes
gl-pop-matrix4.6 Transformation
gl-pop-name4.13 Selection and feedback
gl-prioritize-texturesTexture objects
gl-program-env-parameter-arbVertex and fragment programs
gl-program-env-parameter-arbVertex and fragment programs
gl-program-local-parameter-arbVertex and fragment programs
gl-program-local-parameter-arbVertex and fragment programs
gl-program-string-arbVertex and fragment programs
gl-push-attribPush/pop attributes
gl-push-client-attribPush/pop attributes
gl-push-matrix4.6 Transformation
gl-push-matrix*4.6 Transformation
gl-push-name4.13 Selection and feedback
gl-raster-pos4.3 Drawing functions
gl-raster-pos4.3 Drawing functions
gl-read-bufferSelecting color buffers
gl-read-pixelsPixel operations
gl-rect4.3 Drawing functions
gl-rect4.3 Drawing functions
gl-render-mode4.13 Selection and feedback
gl-reset-histogramHistogram
gl-reset-minmaxMinmax
gl-rotate4.6 Transformation
gl-scale4.6 Transformation
gl-scissorTesting and operating on fragments
gl-select-buffer4.13 Selection and feedback
gl-separable-filetr-2dConvolutions
gl-shade-model4.9 Lighting
gl-shader-source-arbShader objects
gl-state-vector-sizeState values
gl-stencil-funcTesting and operating on fragments
gl-stencil-maskMasking buffers
gl-stencil-opTesting and operating on fragments
gl-tex-coord4.3 Drawing functions
gl-tex-coord4.3 Drawing functions
gl-tex-coord-pointer4.8 Vertex arrays
gl-tex-envTexture environment and coordinates
gl-tex-genTexture environment and coordinates
gl-tex-image-1dDefining textures
gl-tex-image-2dDefining textures
gl-tex-image-3dDefining textures
gl-tex-parameterTexture parameters
gl-tex-sub-image-1dDefining textures
gl-tex-sub-image-2dDefining textures
gl-tex-sub-image-3dDefining textures
gl-translate4.6 Transformation
gl-uniform-matrix2-arbSpecifying uniform variables
gl-uniform-matrix3-arbSpecifying uniform variables
gl-uniform-matrix4-arbSpecifying uniform variables
gl-uniform1-arbSpecifying uniform variables
gl-uniform1-arbSpecifying uniform variables
gl-uniform2-arbSpecifying uniform variables
gl-uniform2-arbSpecifying uniform variables
gl-uniform3-arbSpecifying uniform variables
gl-uniform3-arbSpecifying uniform variables
gl-uniform4-arbSpecifying uniform variables
gl-uniform4-arbSpecifying uniform variables
gl-use-program-object-arbShader objects
gl-validate-program-arbShader objects
gl-version<=?4.2 GL feature checking
gl-version<?4.2 GL feature checking
gl-version=?4.2 GL feature checking
gl-version>=?4.2 GL feature checking
gl-version>?4.2 GL feature checking
gl-vertex4.3 Drawing functions
gl-vertex4.3 Drawing functions
gl-vertex-attrib-4n-arbSpecifying vertex attributes
gl-vertex-attrib-4n-arbSpecifying vertex attributes
gl-vertex-attrib-arbSpecifying vertex attributes
gl-vertex-attrib-arbSpecifying vertex attributes
gl-vertex-attrib-pointer-arbSpecifying vertex attributes
gl-vertex-pointer4.8 Vertex arrays
gl-viewport4.6 Transformation
glu-begin-curve4.16 Nurbs
glu-begin-surface4.16 Nurbs
glu-build-1d-mipmap-levelsMipmaps
glu-build-1d-mipmapsMipmaps
glu-build-2d-mipmap-levelsMipmaps
glu-build-2d-mipmapsMipmaps
glu-build-3d-mipmap-levelsMipmaps
glu-build-3d-mipmapsMipmaps
glu-cylinder4.15 Quadrics
glu-disk4.15 Quadrics
glu-end-curve4.16 Nurbs
glu-end-surface4.16 Nurbs
glu-error-stringOther queries
glu-get-nurbs-property4.16 Nurbs
glu-get-stringOther queries
glu-load-sampling-matrices4.16 Nurbs
glu-look-at4.6 Transformation
glu-nurbs-curve4.16 Nurbs
glu-nurbs-property4.16 Nurbs
glu-ortho-2d4.6 Transformation
glu-partial-disk4.15 Quadrics
glu-perspective4.6 Transformation
glu-pick-matrix4.14 Projection
glu-project4.14 Projection
glu-project!4.14 Projection
glu-quadric-draw-style4.15 Quadrics
glu-quadric-normals4.15 Quadrics
glu-quadric-orientation4.15 Quadrics
glu-quadric-texture4.15 Quadrics
glu-sphere4.15 Quadrics
glu-un-project4.14 Projection
glu-un-project!4.14 Projection
glut-add-menu-entry5.3 GLUT menu API
glut-add-sub-menu5.3 GLUT menu API
glut-bitmap-character5.7 GLUT font
glut-bitmap-length5.7 GLUT font
glut-bitmap-width5.7 GLUT font
glut-button-box-func5.4 GLUT callbacks
glut-change-to-menu-entry5.3 GLUT menu API
glut-change-to-sub-menu5.3 GLUT menu API
glut-copy-colormap5.5 GLUT colormap
glut-create-menu5.3 GLUT menu API
glut-create-sub-window5.1 GLUT window manipulation
glut-create-widnow5.1 GLUT window manipulation
glut-destroy-menu5.3 GLUT menu API
glut-destroy-window5.1 GLUT window manipulation
glut-detach-menu5.3 GLUT menu API
glut-device-get5.6 GLUT state retrieval
glut-dials-func5.4 GLUT callbacks
glut-display-func5.4 GLUT callbacks
glut-entry-func5.4 GLUT callbacks
glut-establish-overlay5.2 GLUT overlay
glut-extension-supported5.6 GLUT state retrieval
glut-full-screen5.1 GLUT window manipulation
glut-get5.6 GLUT state retrieval
glut-get-color5.5 GLUT colormap
glut-get-emnu5.3 GLUT menu API
glut-get-modifiers5.6 GLUT state retrieval
glut-get-window5.1 GLUT window manipulation
glut-hide-overlay5.2 GLUT overlay
glut-hide-window5.1 GLUT window manipulation
glut-iconify-window5.1 GLUT window manipulation
glut-idle-func5.4 GLUT callbacks
glut-init5.1 GLUT window manipulation
glut-init-display-mode5.1 GLUT window manipulation
glut-init-display-string5.1 GLUT window manipulation
glut-init-window-position5.1 GLUT window manipulation
glut-init-window-size5.1 GLUT window manipulation
glut-joystick-func5.4 GLUT callbacks
glut-keyboard-func5.4 GLUT callbacks
glut-keyboard-up-func5.4 GLUT callbacks
glut-layer-get5.6 GLUT state retrieval
glut-main-loop5.1 GLUT window manipulation
glut-menu-state-func5.4 GLUT callbacks
glut-menu-status-func5.4 GLUT callbacks
glut-motion-func5.4 GLUT callbacks
glut-mouse-func5.4 GLUT callbacks
glut-overlay-dislay-func5.4 GLUT callbacks
glut-passive-motion-func5.4 GLUT callbacks
glut-pop-window5.1 GLUT window manipulation
glut-position-window5.1 GLUT window manipulation
glut-post-overlay-redisplay5.2 GLUT overlay
glut-post-redisplay5.1 GLUT window manipulation
glut-post-window-overlay-redisplay5.2 GLUT overlay
glut-post-window-redisplay5.1 GLUT window manipulation
glut-push-window5.1 GLUT window manipulation
glut-remove-menu-item5.3 GLUT menu API
glut-remove-overlay5.2 GLUT overlay
glut-reshape-func5.4 GLUT callbacks
glut-reshape-window5.1 GLUT window manipulation
glut-set-color5.5 GLUT colormap
glut-set-cursor5.1 GLUT window manipulation
glut-set-icon-title5.1 GLUT window manipulation
glut-set-menu5.3 GLUT menu API
glut-set-window5.1 GLUT window manipulation
glut-set-window-title5.1 GLUT window manipulation
glut-show-overlay5.2 GLUT overlay
glut-show-window5.1 GLUT window manipulation
glut-soild-teapot5.8 GLUT pre-built models
glut-solid-cone5.8 GLUT pre-built models
glut-solid-cube5.8 GLUT pre-built models
glut-solid-dodecahedron5.8 GLUT pre-built models
glut-solid-icosahedron5.8 GLUT pre-built models
glut-solid-octahedron5.8 GLUT pre-built models
glut-solid-sphere5.8 GLUT pre-built models
glut-solid-tetrahedron5.8 GLUT pre-built models
glut-solid-torus5.8 GLUT pre-built models
glut-spaceball-button-func5.4 GLUT callbacks
glut-spaceball-motion-func5.4 GLUT callbacks
glut-spaceball-rotate-func5.4 GLUT callbacks
glut-special-func5.4 GLUT callbacks
glut-special-up-func5.4 GLUT callbacks
glut-stroke-character5.7 GLUT font
glut-stroke-length5.7 GLUT font
glut-stroke-width5.7 GLUT font
glut-swap-buffers5.1 GLUT window manipulation
glut-tablet-button-func5.4 GLUT callbacks
glut-tablet-motion-func5.4 GLUT callbacks
glut-timer-func5.4 GLUT callbacks
glut-use-layer5.2 GLUT overlay
glut-visibility-func5.4 GLUT callbacks
glut-warp-pointer5.1 GLUT window manipulation
glut-window-status-func5.4 GLUT callbacks
glut-wire-cone5.8 GLUT pre-built models
glut-wire-cube5.8 GLUT pre-built models
glut-wire-dodecahedron5.8 GLUT pre-built models
glut-wire-icosahedron5.8 GLUT pre-built models
glut-wire-octahedron5.8 GLUT pre-built models
glut-wire-sphere5.8 GLUT pre-built models
glut-wire-teapot5.8 GLUT pre-built models
glut-wire-tetrahedron5.8 GLUT pre-built models
glut-wire-torus5.8 GLUT pre-built models
gult-attach-menu5.3 GLUT menu API

L
list->gl-boolean-vectorGL boolean vectors
list->matrix4f6.3 Matrices
list->point4f6.1 Vectors and points
list->point4f-array6.2 Vector arrays and point arrays
list->quatf6.4 Quaternions
list->vector4f6.1 Vectors and points
list->vector4f-array6.2 Vector arrays and point arrays

M
make-gl-boolean-vectorGL boolean vectors
make-matrix4f6.3 Matrices
make-point4f6.1 Vectors and points
make-point4f-array6.2 Vector arrays and point arrays
make-quatf6.4 Quaternions
make-vector4f6.1 Vectors and points
make-vector4f-array6.2 Vector arrays and point arrays
matrix4f6.3 Matrices
matrix4f->f32vector6.3 Matrices
matrix4f->list6.3 Matrices
matrix4f->quatf6.4 Quaternions
matrix4f->quatf!6.4 Quaternions
matrix4f->rotation6.3 Matrices
matrix4f->rotation!6.3 Matrices
matrix4f->translation6.3 Matrices
matrix4f->translation!6.3 Matrices
matrix4f-column6.3 Matrices
matrix4f-column/shared6.3 Matrices
matrix4f-copy6.3 Matrices
matrix4f-copy!6.3 Matrices
matrix4f-decompose6.3 Matrices
matrix4f-decompose!6.3 Matrices
matrix4f-determinant6.3 Matrices
matrix4f-inverse6.3 Matrices
matrix4f-inverse!6.3 Matrices
matrix4f-mul6.3 Matrices
matrix4f-mul!6.3 Matrices
matrix4f-ref6.3 Matrices
matrix4f-ref26.3 Matrices
matrix4f-row6.3 Matrices
matrix4f-set!6.3 Matrices
matrix4f-set2!6.3 Matrices
matrix4f-transpose6.3 Matrices
matrix4f-transpose!6.3 Matrices
matrix4f?6.3 Matrices

P
point4f6.1 Vectors and points
point4f->f32vector6.1 Vectors and points
point4f->list6.1 Vectors and points
point4f-add6.1 Vectors and points
point4f-add!6.1 Vectors and points
point4f-array->f32vector6.2 Vector arrays and point arrays
point4f-array-length6.2 Vector arrays and point arrays
point4f-array-ref6.2 Vector arrays and point arrays
point4f-array-ref/shared6.2 Vector arrays and point arrays
point4f-array-set!6.2 Vector arrays and point arrays
point4f-array?6.2 Vector arrays and point arrays
point4f-copy6.1 Vectors and points
point4f-copy!6.1 Vectors and points
point4f-ref6.1 Vectors and points
point4f-set!6.1 Vectors and points
point4f-sub6.1 Vectors and points
point4f?6.1 Vectors and points

Q
quatf6.4 Quaternions
quatf->f32vector6.4 Quaternions
quatf->list6.4 Quaternions
quatf->matrix4f6.4 Quaternions
quatf->matrix4f!6.4 Quaternions
quatf-add6.4 Quaternions
quatf-add!6.4 Quaternions
quatf-conjugate6.4 Quaternions
quatf-conjugate!6.4 Quaternions
quatf-copy6.4 Quaternions
quatf-copy!6.4 Quaternions
quatf-mul6.4 Quaternions
quatf-mul!6.4 Quaternions
quatf-norm6.4 Quaternions
quatf-normalize6.4 Quaternions
quatf-normalize!6.4 Quaternions
quatf-scale6.4 Quaternions
quatf-scale!6.4 Quaternions
quatf-slerp6.4 Quaternions
quatf-slerp!6.4 Quaternions
quatf-sub6.4 Quaternions
quatf-sub!6.4 Quaternions
quatf-transform6.4 Quaternions
quatf?6.4 Quaternions

R
read-sgi-image7.1 Simple image handling
read-sgi-image-from-port7.1 Simple image handling
rotation->matrix4f6.3 Matrices
rotation->matrix4f!6.3 Matrices
rotation->quatf!6.4 Quaternions

S
scale->matrix4f6.3 Matrices
scale->matrix4f!6.3 Matrices
simple-viewer-axis7.2 Simple viewer
simple-viewer-display7.2 Simple viewer
simple-viewer-grid7.2 Simple viewer
simple-viewer-reshape7.2 Simple viewer
simple-viewer-set-key!7.2 Simple viewer
simple-viewer-window7.2 Simple viewer

T
tqs->matrix4f6.3 Matrices
tqs->matrix4f!6.3 Matrices
translation->matrix4f6.3 Matrices
translation->matrix4f!6.3 Matrices
trs->matrix4f6.3 Matrices
trs->matrix4f!6.3 Matrices

V
vector4f6.1 Vectors and points
vector4f->f32vector6.1 Vectors and points
vector4f->list6.1 Vectors and points
vector4f-add6.1 Vectors and points
vector4f-add!6.1 Vectors and points
vector4f-array->f32vector6.2 Vector arrays and point arrays
vector4f-array-length6.2 Vector arrays and point arrays
vector4f-array-ref6.2 Vector arrays and point arrays
vector4f-array-ref/shared6.2 Vector arrays and point arrays
vector4f-array-set!6.2 Vector arrays and point arrays
vector4f-array?6.2 Vector arrays and point arrays
vector4f-copy6.1 Vectors and points
vector4f-copy!6.1 Vectors and points
vector4f-cross6.1 Vectors and points
vector4f-dot6.1 Vectors and points
vector4f-norm6.1 Vectors and points
vector4f-normalize6.1 Vectors and points
vector4f-normalize!6.1 Vectors and points
vector4f-ref6.1 Vectors and points
vector4f-set!6.1 Vectors and points
vector4f-sub6.1 Vectors and points
vector4f-sub!6.1 Vectors and points
vector4f?6.1 Vectors and points
vectors->quatf6.4 Quaternions
vectors->quatf!6.4 Quaternions

Jump to:   A   E   F   G   L   M   P   Q   R   S   T   V  

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.2 Module Index

Jump to:   G  
Index Entry Section

G
gl.math3d6. Vectors and matrices
gl.simple.image7.1 Simple image handling
gl.simple.viewer7.2 Simple viewer

Jump to:   G  

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.3 Class Index

For readability, the surrounding < and > are stripped off.

Jump to:   G   M   P   Q   V  
Index Entry Section

G
glut-font5.7 GLUT font

M
matrix4f6.3 Matrices

P
point4f6.1 Vectors and points
point4f-array6.2 Vector arrays and point arrays

Q
quatf6.4 Quaternions

V
vector4f6.1 Vectors and points
vector4f-array6.2 Vector arrays and point arrays

Jump to:   G   M   P   Q   V  

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.4 Variable Index

Jump to:   G  
Index Entry Section

G
GLUT_ACCUM5.1 GLUT window manipulation
GLUT_ACTIVE_ALT5.6 GLUT state retrieval
GLUT_ACTIVE_CTRL5.6 GLUT state retrieval
GLUT_ACTIVE_SHIFT5.6 GLUT state retrieval
GLUT_ALPHA5.1 GLUT window manipulation
GLUT_BLUE5.5 GLUT colormap
GLUT_CURSOR_BOTTOM_LEFT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_BOTTOM_RIGHT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_BOTTOM_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_CROSSHAIR5.1 GLUT window manipulation
GLUT_CURSOR_CYCLE5.1 GLUT window manipulation
GLUT_CURSOR_DESTROY5.1 GLUT window manipulation
GLUT_CURSOR_FULL_CROSSHAIR5.1 GLUT window manipulation
GLUT_CURSOR_HELP5.1 GLUT window manipulation
GLUT_CURSOR_INFO5.1 GLUT window manipulation
GLUT_CURSOR_INHERIT5.1 GLUT window manipulation
GLUT_CURSOR_LEFT_ARROW5.1 GLUT window manipulation
GLUT_CURSOR_LEFT_RIGHT5.1 GLUT window manipulation
GLUT_CURSOR_LEFT_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_NONE5.1 GLUT window manipulation
GLUT_CURSOR_RIGHT_ARROW5.1 GLUT window manipulation
GLUT_CURSOR_RIGHT_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_SPRAY5.1 GLUT window manipulation
GLUT_CURSOR_TEXT5.1 GLUT window manipulation
GLUT_CURSOR_TOP_LEFT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_TOP_RIGHT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_TOP_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_UP_DOWN5.1 GLUT window manipulation
GLUT_CURSOR_WAIT5.1 GLUT window manipulation
GLUT_DEPTH5.1 GLUT window manipulation
GLUT_DEVICE_IGNORE_KEY_REPEAT5.6 GLUT state retrieval
GLUT_DEVICE_KEY_REPEAT5.6 GLUT state retrieval
GLUT_DISPLAY_MODE_POSSIBLE5.6 GLUT state retrieval
GLUT_DOUBLE5.1 GLUT window manipulation
GLUT_DOWN5.4 GLUT callbacks
GLUT_ELAPSED_TIME5.6 GLUT state retrieval
GLUT_ENTERED5.4 GLUT callbacks
GLUT_GREEN5.5 GLUT colormap
GLUT_HAS_DIAL_AND_BUTTON_BOX5.6 GLUT state retrieval
GLUT_HAS_JOYSTICK5.6 GLUT state retrieval
GLUT_HAS_KEYBOARD5.6 GLUT state retrieval
GLUT_HAS_MOUSE5.6 GLUT state retrieval
GLUT_HAS_OVERLAY5.6 GLUT state retrieval
GLUT_HAS_SPACEBALL5.6 GLUT state retrieval
GLUT_HAS_TABLET5.6 GLUT state retrieval
GLUT_INDEX5.1 GLUT window manipulation
GLUT_INIT_DISPLAY_MODE5.6 GLUT state retrieval
GLUT_INIT_WINDOW_HEIGHT5.6 GLUT state retrieval
GLUT_INIT_WINDOW_WIDTH5.6 GLUT state retrieval
GLUT_INIT_WINDOW_X5.6 GLUT state retrieval
GLUT_INIT_WINDOW_Y5.6 GLUT state retrieval
GLUT_JOYSTICK_AXES5.6 GLUT state retrieval
GLUT_JOYSTICK_BUTTONS5.6 GLUT state retrieval
GLUT_JOYSTICK_POLL_RATE5.6 GLUT state retrieval
GLUT_KEY_DOWN5.4 GLUT callbacks
GLUT_KEY_END5.4 GLUT callbacks
GLUT_KEY_F15.4 GLUT callbacks
GLUT_KEY_F105.4 GLUT callbacks
GLUT_KEY_F115.4 GLUT callbacks
GLUT_KEY_F125.4 GLUT callbacks
GLUT_KEY_F25.4 GLUT callbacks
GLUT_KEY_F35.4 GLUT callbacks
GLUT_KEY_F45.4 GLUT callbacks
GLUT_KEY_F55.4 GLUT callbacks
GLUT_KEY_F65.4 GLUT callbacks
GLUT_KEY_F75.4 GLUT callbacks
GLUT_KEY_F85.4 GLUT callbacks
GLUT_KEY_F95.4 GLUT callbacks
GLUT_KEY_HOME5.4 GLUT callbacks
GLUT_KEY_INSERT5.4 GLUT callbacks
GLUT_KEY_LEFT5.4 GLUT callbacks
GLUT_KEY_PAGE_DOWN5.4 GLUT callbacks
GLUT_KEY_PAGE_UP5.4 GLUT callbacks
GLUT_KEY_RIGHT5.4 GLUT callbacks
GLUT_KEY_UP5.4 GLUT callbacks
GLUT_LAYER_IN_USE5.6 GLUT state retrieval
GLUT_LEFT5.4 GLUT callbacks
GLUT_LEFT_BUTTON5.4 GLUT callbacks
GLUT_LUMINANCE5.1 GLUT window manipulation
GLUT_MENU_NUM_ITEMS5.6 GLUT state retrieval
GLUT_MIDDLE_BUTTON5.4 GLUT callbacks
GLUT_MULTISAMPLE5.1 GLUT window manipulation
GLUT_NORMAL_DAMAGED5.6 GLUT state retrieval
GLUT_NOT_VISIBLE5.4 GLUT callbacks
GLUT_NUM_BUTTON_BOX_BUTTONS5.6 GLUT state retrieval
GLUT_NUM_DIALS5.6 GLUT state retrieval
GLUT_NUM_MOUSE_BUTTONS5.6 GLUT state retrieval
GLUT_NUM_SPACEBALL_BUTTONS5.6 GLUT state retrieval
GLUT_NUM_TABLET_BUTTONS5.6 GLUT state retrieval
GLUT_OVERLAY_DAMAGED5.6 GLUT state retrieval
GLUT_OVERLAY_POSSIBLE5.6 GLUT state retrieval
GLUT_OWNS_JOYSTICK5.6 GLUT state retrieval
GLUT_RED5.5 GLUT colormap
GLUT_RGB5.1 GLUT window manipulation
GLUT_RGBA5.1 GLUT window manipulation
GLUT_RIGHT_BUTTON5.4 GLUT callbacks
GLUT_SCREEN_HEIGHT5.6 GLUT state retrieval
GLUT_SCREEN_HEIGHT_MM5.6 GLUT state retrieval
GLUT_SCREEN_WIDTH5.6 GLUT state retrieval
GLUT_SCREEN_WIDTH_MM5.6 GLUT state retrieval
GLUT_SINGLE5.1 GLUT window manipulation
GLUT_STENCIL5.1 GLUT window manipulation
GLUT_STEREO5.1 GLUT window manipulation
GLUT_TRANSPARENT_INDEX5.6 GLUT state retrieval
GLUT_UP5.4 GLUT callbacks
GLUT_VISIBLE5.4 GLUT callbacks
GLUT_WINDOW_ACCUM_ALPHA_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ACCUM_BLUE_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ACCUM_GREEN_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ACCUM_RED_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ALPHA_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_BLUE_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_BUFFER_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_COLORMAP_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_CURSOR5.6 GLUT state retrieval
GLUT_WINDOW_DEPTH_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_DOUBLEBUFFER5.6 GLUT state retrieval
GLUT_WINDOW_FORMAT_ID5.6 GLUT state retrieval
GLUT_WINDOW_GREEN_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_HEIGHT5.6 GLUT state retrieval
GLUT_WINDOW_NUM_CHILDREN5.6 GLUT state retrieval
GLUT_WINDOW_NUM_SAMPLES5.6 GLUT state retrieval
GLUT_WINDOW_PARENT5.6 GLUT state retrieval
GLUT_WINDOW_RED_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_RGBA5.6 GLUT state retrieval
GLUT_WINDOW_STENCIL_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_STEREO5.6 GLUT state retrieval
GLUT_WINDOW_WIDTH5.6 GLUT state retrieval
GLUT_WINDOW_X5.6 GLUT state retrieval
GLUT_WINDOW_Y5.6 GLUT state retrieval
GLU_FILL4.15 Quadrics
GLU_FLAT4.15 Quadrics
GLU_INSIDE4.15 Quadrics
GLU_LINE4.15 Quadrics
GLU_NONE4.15 Quadrics
GLU_OUTSIDE4.15 Quadrics
GLU_POINT4.15 Quadrics
GLU_SILHUETTE4.15 Quadrics
GLU_SMOOTH4.15 Quadrics
GL_LINES4.3 Drawing functions
GL_LINE_LOOP4.3 Drawing functions
GL_LINE_STRIP4.3 Drawing functions
GL_POINTS4.3 Drawing functions
GL_POLYGON4.3 Drawing functions
GL_QUADS4.3 Drawing functions
GL_QUAD_STRIP4.3 Drawing functions
GL_TRIANGLES4.3 Drawing functions
GL_TRIANGLE_FAN4.3 Drawing functions
GL_TRIANGLE_STRIP4.3 Drawing functions

Jump to:   G  

[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

About This Document

This document was generated on August 9, 2014 using texi2html 1.82.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back Previous section in reading order 1.2.2
[ > ] Forward Next section in reading order 1.2.4
[ << ] FastBack Beginning of this chapter or previous chapter 1
[ Up ] Up Up section 1.2
[ >> ] FastForward Next chapter 2
[Top] Top Cover (top) of document  
[Contents] Contents Table of contents  
[Index] Index Index  
[ ? ] About About (help)  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

  • 1. Section One
    • 1.1 Subsection One-One
      • ...
    • 1.2 Subsection One-Two
      • 1.2.1 Subsubsection One-Two-One
      • 1.2.2 Subsubsection One-Two-Two
      • 1.2.3 Subsubsection One-Two-Three     <== Current Position
      • 1.2.4 Subsubsection One-Two-Four
    • 1.3 Subsection One-Three
      • ...
    • 1.4 Subsection One-Four

This document was generated on August 9, 2014 using texi2html 1.82.

Gauche-gl-0.6/doc/gauche-gl-refj.html0000664000076400007640000144340012371574450016450 0ustar shiroshiro Gauche-gl : OpenGL binding for Gauche
[Top] [Contents] [Index] [ ? ]

Gauche-gl : OpenGL binding for Gauche

This is a reference manual of Gauche-gl, an OpenGL binding for the Gauche Scheme implementation. This manual is for version 0.6.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. ã¯ã˜ã‚ã«

Gauche-gl is an extension module of Gauche Scheme implementation. It provides the following modules:

gl

This module provides bindings to OpenGL API. It covers most functions in OpenGL 1.0 through 2.0, and GLU. The functions are described in OpenGL API.

gl.glut

This module provides bindings to most functions in GLUT. The functions are described in GLUT API.

gl.math3d

This module provides vector and matrix calculations optimized for 3D homogeneous coordinates. The vector and matrix objects here can be directly passed to Gauche-gl functions. The functions are descrbied in Vectors and matrices.

gl.simple.*

These modules provide simple APIs for programmers to hack up a very simple OpenGL application. They are by no means intended for general application development, but would be handy for throwaway script. See Simple utilities for the details.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Installation

Installing Gauche-gl is usually straightforward on Unix variants.

You have to have the following programs installed on your machine.

  • Gauche 0.8.5 or later
  • OpenGL 1.1 equivalent library; the auther checked with Mesa 3.4 and NVidia’s GLX driver.
  • GLUT 3.7 or later.

The standard way to compile and install Gauche-gl is as follows:

 
% gzcat Gauche-gl-0.6.tgz | tar xf -
% cd Gauche-gl-0.6
% ./configure
% make
% make test
% make install

Or you can use ‘gauche-package’ command:

 
% gauche-package install -C=<configure-option> Gauche-gl-0.6.tgz

The confiugre script figures out the location Gauche is installed, and install Gauche-gl in the same place.

If you have GLUT installed in non-standard place, you have to tell the configure script where it is.

 
% ./configure --with-glut=DIR

Since version 0.4, Gauche-gl can be configured to include bindings to NVidia’s Cg Toolkit. The binding code is contributed by Issac Trotts. To enable Cg binding, give --enable-cg option to the configure script.

 
% ./configure --enable-cg

It is reported that Mesa in FreeBSD ports is compiled with pthreads enabled, and Gauche-gl can’t be linked unless Gauche itself is compiled with pthreads. The configure script of Gauche prints warning if you specify pthreads, but it is safe as far as you don’t call make-thread in your program.

There are various examples under ‘examples/’ directory. If you want to run the examples before installing Gauche-gl, you have to tell the location of the library to gosh command, e.g. gosh -I../src -I../lib gears.scm. Some demos under subdirectories have a shell script that invokes gosh with proper command-line options.

gears.scm

Brian Paul’s 3D gear wheels.

mandelbrot.scm

Simple calculated texture.

glbook/

This subdirectory contains examples found in "OpenGL Programming Guide", a.k.a. Redbook.

slbook/

This subdirectory contains examples found in "OpenGL Shading Language". Each demo is under its own subdirectories. You need to have proper driver/hardware that supports GLSL to run these demos.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Getting Started


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 GL calls in Scheme

I assume you have basic knowledge of OpenGL API. Gauche-gl maps OpenGL calls to Scheme procedures pretty straightforwardly. For example, the very first example of "OpenGL Programming Guide", the pseudo code of OpenGL application, can be written in Gauche-gl like this:

 
(use gl)

(define (main args)
  (initialize-a-window-please)

  (gl-clear-color 0.0 0.0 0.0 0.0)
  (gl-clear GL_COLOR_BUFFER_BIT)
  (gl-color 1.0 1.0 1.0)
  (gl-ortho 0.0 1.0 0.0 1.0 -1.0 1.0)
  (gl-begin* GL_POLYGON
    (gl-vertex 0.25 0.25 0.0)
    (gl-vertex 0.75 0.25 0.0)
    (gl-vertex 0.75 0.75 0.0)
    (gl-vertex 0.25 0.75 0.0)
    )
  (gl-flush)
  (update-the-window-and-check-for-events)
  0)

Note that initialize-a-window-please and update-the-window-and-check-for-events are function calls dependent on the windowing system. Gauche-gl comes with GLUT binding and you can use it to do basic stuff. In the separate package Gauche-gtk, a binding to GtkGLExt is provided, which allows you to do GL rendering inside Gtk widgets.

For the time being, let’s focus on the pure GL part.

The mapping of GL call name is straightforward. The mixed case names in OpenGL C API is expanded to hyphenated name, e.g. glClearColorgl-clear-color. OpenGL enums are mapped as is, e.g. GL_POLYGON. (Note that Gauche is case-sensitive by default. Also note the underscore, not hyphen, in constants).

A few convenience macros, such as gl-begin*, is defined. There are straight bindings of gl-begin and gl-end, so you can write the drawing part in the same way as in C:

 
  (gl-begin GL_POLYGON)
    (gl-vertex 0.25 0.25 0.0)
    (gl-vertex 0.75 0.25 0.0)
    (gl-vertex 0.75 0.75 0.0)
    (gl-vertex 0.25 0.75 0.0)
  (gl-end)

Actually gl-begin* macro expands into the above calls. It’s a matter of taste, but the macro version guarantees begin and end match, and the syntax-aware editor can indent internal calls accordingly.

You might have noticed that the type suffix in C API is not in Gauche binding. The Scheme function figures out the type of passed arguments and calls appropriate C API. SRFI-4 uniform numeric vectors are used to represent arrays of numbers.

 
  (gl-vertex 1.0 2.0 3.0)    ⇒ glVertex3d
  (gl-vertex '#f32(1.0 2.0)) ⇒ glVertex2fv
  (gl-vertex '#s32(3 2 5))   ⇒ glVertex3iv

Generally, passing uniform vectors is much more efficient than giving individual numbers, for the former can eliminate the cost of type checking and unboxing.

Some GL calls can also take gl.math3d primitive objects such as vector4f, point4f or matrix4f (See section Vectors and matrices). For example, you can pass point4f object to gl-vertex, vector4f to gl-normal, and matrix4f to gl-mult-matrix. They are efficient since calculations on those types are defined natively in gl.math3d, and passing it to GL call doesn’t cost unboxing.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Advanced GL features

Although Gauche-gl supports up to OpenGL 2.0, all functionalities may not be available on the target machine’s driver/hardware. The application needs to check the availability of the extension and/or GL version before using the features that are only supported by the extension/version.

Gauche-gl provides a couple of utility procedures to check the feature sets at runtime. For example, you can switch behavior depending on OpenGL 1.3 feature availability:

 
(if (gl-version>=? "1.3")
  (code-using-features-available-in-OpenGL-1.3-and-later ...)
  (alternative-code ...))

Or you can check the availability of extensions:

 
(unless (gl-extension-supported? 'GL_ARB_shader_objects
                                 'GL_ARB_fragment_shader
                                 'GL_ARB_vertex_shader
                                 'GL_ARB_shading_language_100)
   (error "OpenGL Shading Language extensions not available"))

See GL feature checking for the details.

If the client program calls a GL API that are not supported on the platform, an error is signalled.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Using GLUT

In order to make a runnable script, you need to use some windowing system interface. GLUT binding provides a simple way for it.

Here is a complete runnable Scheme script, ported from Example 1-2 in "OpenGL Programming Guide":

 
(use gl)
(use gl.glut)

(define (disp)
  (gl-clear GL_COLOR_BUFFER_BIT)
  (gl-color '#f32(1.0 1.0 1.0))
  (gl-begin* GL_POLYGON
    (gl-vertex '#f32(0.25 0.25 0.0))
    (gl-vertex '#f32(0.75 0.25 0.0))
    (gl-vertex '#f32(0.75 0.75 0.0))
    (gl-vertex '#f32(0.25 0.75 0.0))
    )
  (gl-flush)
  )

(define (init)
  (gl-clear-color 0.0 0.0 0.0 0.0)
  (gl-matrix-mode GL_PROJECTION)
  (gl-load-identity)
  (gl-ortho 0.0 1.0 0.0 1.0 -1.0 1.0)
  )

(define (keyboard key x y)
  (cond
   ((= key 27) (exit 0))
   ))

(define (main args)
  (glut-init args)
  (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB))
  (glut-init-window-size 250 250)
  (glut-init-window-position 100 100)
  (glut-create-window "hello")
  (init)
  (glut-display-func disp)
  (glut-keyboard-func keyboard)
  (glut-main-loop)
  0)

The (use gl.glut) form loads GLUT binding. The name mapping is the same as GL’s: mixed case names to hyphenated names.

In order to handle various events, you can pass a closure to glut-display-func etc. In the keyboard and mouse event callback, all arguments are integers.

There are more examples under the ‘examples/’ directory which uses GLUT.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Performance tips

If you want to display millions of polygons in 30 fps, Gauche-gl is not for you. Consider using implementations that compiles into native code. The purpose of Gauche-gl is to provide reasonable performance for interactive development and experiment.

However, if you know some tips, actually you can go quite far, especially with recent processors and graphics chips.

Avoid alocation within the inner loop.

The functional (non-destructive) operations tend to return newly-allocated objects. Use linear-update (destructive) versions instead, such as matrix-mul!, u8vector-add!, etc, whenever possible. Pre-allocating temporary vectors is also effective.

Reduce the number of calls within the inner loop.

Vertex arrays are much better than calling gl-vertex over and over. Also consider using display lists if you’re displaying rigid objects.

Keep numbers within a uniform vector.

Every time you take a number out of a uniform vector (or <vector4f> etc.), Gauche has to wrap the number by a tag (boxing). Also when you store a number into a uniform vector, Gauche has to check the type of the object, then strip a tag (unboxing). Those are all overhead you wouldn’t have if you operate directly on uniform vectors (or <vector4f> etc).

Write extensions to accelerate.

If the above strategies are not enough, consider writing computation-intensive part in C as an extension. The easier way is to make C routines operate on uniform vectors, which is essentially a pointer to an array of numbers from C, and let Scheme handle higher-level data structures. (It could be viewed like relations between a coprocessor and a processor; the former does simple, iterative calculations fast, and the latter handles complicated logic).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. OpenGL API

In this chapter we list a GL and GLU procedures accessible from Gauche-gl, with brief descriptions to help programmers to remind what the functions are. We don’t intend to make this an OpenGL reference, though; you should look at the OpenGL book for the details of what each API do.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 GL data types

GL doesn’t define many data structures: some scalar primitives (e.g. GLint) and arrays of them.

For scalar values, Gauche-gl has natural mappings:

GLboolean

Scheme booleans.

GLbyte, GLubyte, GLshort, GLushort, GLint, GLuint, GLenum, GLbitfield

Scheme exact integers.

GLfloat, GLdouble, GLclampf, GLclampd

Scheme real numbers.

For arrays, Gauche-gl uses uniform (srfi-4) vector whenever possible. For float arrays, however, Gauche-gl allows more structured types, such as points or matrices, when they are relevant. Such types are provided in gl.math3d module (see Vectors and matrices), which also provides common arithmetics between those types. Another exception is an array of GLboolean—it doesn’t have corresponding uniform vector representation. Gauche-gl defines a new type, <gl-boolean-vector>, to represent an array of GLboolean. See below for operations provided on it.

GLbyte[]

<s8vector>

GLubyte[]

<u8vector>

GLshort[]

<s16vector>

GLushort[]

<u16vector>

GLint[]

<s32vector>

GLuint[]

<u32vector>

GLfloat[], GLclampf[]

<f32vector>, <point4f>, <vector-4f>, <point4f-array>, <vector4f-array>, <matrix4f>, <quatf>.

GLdouble[], GLclampd[]

<f64vector>

GLboolean[]

<gl-boolean-vector>

GL boolean vectors

Class: <gl-boolean-vector>

A class for an array of boolean values. You can pass its instance to the GL APIs that expect an array of GLbooleans. Its internal representation is bitwise compatible to GLbooean array, so passing it is quite efficient.

This class inherits <sequence>, so you can use generic sequence operations on it.

The external representation of GL boolean vector uses srfi-10 notation, and can be read back. For example, a GL boolean vector of length 5 may be written something like this:

 
#,(gl-boolean-vector #t #f #t #f #t)
Function: make-gl-boolean-vector size &optional init

Returns a GL boolean vector of size elements. Elements are initialized by either #f or #t, according to init.

 
(make-gl-boolean-vector 3 #t) ⇒ #,(gl-boolean-vector #t #t #t)
Function: gl-boolean-vector bool …

Returns a GL boolean vector, whose elements are bool ….

 
(gl-boolean-vector #f #t #t) ⇒ #,(gl-boolean-vector #f #t #t)
Function: gl-boolean-vector? obj

Returns #t if obj is a GL boolean vector, #f otherwise.

Function: gl-boolean-vector-length v

Returns length of a GL boolean vector v. You can also use the sequence generic function size-of.

Function: gl-boolean-vector-fill! v bool

Fills a GL boolean vector v with a boolean value bool.

Function: list->gl-boolean-vector bools

Coerce list of boolean values to a GL boolean vector.

You can also use the coerce-to generic function to convert between GL boolean vectors and other sequences.

Function: gl-boolean-vector-ref v k &optional fallback

Returns k-th element of a GL boolean vector v. If k is out of range and fallback is provided, it is returned. If k is out of range and fallback is omitted, an error is signalled.

You can also use generic function ref to access a GL boolean vector.

Function: gl-boolean-vector-set! v k bool

Sets k-th element of a GL boolean vector v by a boolean value bool.

You can also use generic function (setter ref) to modify a GL boolean vector.

Function: gl-boolean-vector-copy v

Returns a copy of a GL boolean vector v.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 GL feature checking

If you want to use a feature that are in OpenGL 1.2 or later, or in a GL extension, you have to check its availability before actually calling the API function. You can use the following utility procedures.

Note that those functions may return #f if the connection to the display subsystem isn’t established yet. Usually you have to initialize and open an window before checking the features.

Function: gl-extension-available? extension-name …

Returns #t if GL extensions listed in extension-name … are all available. Extension-name can be a symbol or a string (e.g. GL_ARB_multisample).

Function: gl-version<? version
Function: gl-version<=? version
Function: gl-version>? version
Function: gl-version>=? version
Function: gl-version=? version

Returns #t if the runtime OpenGL version is less than, less thanor equal to, greater than, greater than or equal to, and equal to, the given version, respectively.

Give version in a string, e.g. "1.3".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 Drawing functions

Macro: gl-begin* mode gl-commands …

Executes gl-commands between (gl-begin mode) and (gl-end). Mode can be one of the following constants.

GL_POINTS

Individual points.

GL_LINES

Pairs of vertices interpreted as individual line segments.

GL_LINE_STRIP

Series of connected line segments.

GL_LINE_LOOP

Same as above, with a segment added between last and first vertices.

GL_TRIANGLES

Triples of vertices interpreted as triangles.

GL_TRIANGLE_STRIP

Linked trip of triangles.

GL_TRIANGLE_FAN

Linked fan of triangles.

GL_QUADS

Quadruples of vertices interpreted as four-sided polygons.

GL_QUAD_STRIP

Linked strip of quadrilaterals.

GL_POLYGON

Boundary of a simple, convex polygon.

Function: gl-begin mode
Function: gl-end

Corresponds to glBegin and glEnd. Use of gl-begin* macro is recommended, though.

Function: gl-flush

Flush the GL command buffer.

Function: gl-finish

Make sure all previously issued GL commands are completed.

Function: gl-rect point1 point2
Function: gl-rect x1 y1 x2 y2

Draws a rectangle. In the first form, point1 and point2 can be either <point4f>, or f32, f64, s32, or s16vector of length 2. Types of both args should match. In the second form, all args should be a real numbers (glRectd is used).

Function: gl-vertex point
Function: gl-vertex x y &optional z w

Specify vertices. In the first form, point can be either <point4f>, or f32, f64, s32 or s16vector of length 2, 3 or 4. In the second form, all args should be a real numbers.

Function: gl-normal vector
Function: gl-normal x y z

Sets vertex normal vector. In the first form, vector can be either <vector4f> (the fourth element is ignored), or f32, f64, s32 ro s16vector of length 3. In the second form, all args should be a real numbers.

Function: gl-color color
Function: gl-color r g b &optional a

Sets the current color. In the first form, color can be either f32, f64, u8, u16, u32, s8, s16, or s32vector of length 3 or 4. In the second form, all args should be a real numbers.

Function: gl-tex-coord coord
Function: gl-tex-coord u v &optional s t

Sets the current texture coordinates. In the first form, coord can be either f32, f64, s32 or s16vector of length 1, 2, 3, or 4. In the second form, all args should be a real numbers.

Function: gl-raster-pos pos
Function: gl-raster-pos x y &optional z w

Sets the current raster position. In the first form, pos can be eitehr f32, f64, s32 or s16vector. In the second form, all args should be a real numbers.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 GL state control

Capabilities

Function: gl-enable cap
Function: gl-disable cap

Turns on and off a capability cap. Check out OpenGL reference for the list of capabilities.

Function: gl-is-enabled cap

Returns #t of #f depending on cap is enabled or not.

Function: gl-enable-client-state array
Function: gl-disable-client-state array

Enable/disable a client-side array (e.g. vertex array) specified by array. Array can be one of the following constants.

GL_VERTEX_ARRAY
GL_COLOR_ARRAY
GL_INDEX_ARRAY
GL_NORMAL_ARRAY
GL_TEXTURE_COORD_ARRAY
GL_EDGE_FLAG_ARRAY

State values

Gauche has two variations for each type of OpenGL glGetTYPE APIs; nondestructive version and destructive versions. Nondestructive versions such as gl-get-boolean allocates and returns the vector of appropriate type for the state. For destructive versions such as gl-get-boolean!, you need to pass a vector to be filled in.

The destructive version is non-allocating operation, so it is suitable if you call it within the drawing loop.

If the state has a scalar value, the non-destructive version of query function returns a scalar value, but you need to pass a (uniform) vector of length 1 for the destructive version.

Function: gl-state-vector-size state

[Gauche specific] Returns the required size of the vector to retrieve GL state state. It is useful to prepare the vector to pass to the destructive version of glGetTYPE API.

Function: gl-get-boolean state
Function: gl-get-boolean! gl-boolean-vector state

Get (a) boolean state value(s).

Function: gl-get-integer state
Function: gl-get-integer! s32vector state

Get (an) integer state value(s).

Function: gl-get-float state
Function: gl-get-float! f32vector state

Get (a) single-precision floating-point state value(s).

Function: gl-get-double state
Function: gl-get-double! f64vector state

Get (a) double-precision floating-point state value(s).

Push/pop attributes

Function: gl-push-attrib mask
Function: gl-pop-attrib

Push/pop attributes indicated by mask. Valid mask can be logior of the following bits (GLL_ALL_ATTRIB_BITS is logior of all the bits).

GL_ACCUM_BUFFER_BIT
GL_COLOR_BUFFER_BIT
GL_CURRENT_BIT
GL_DEPTH_BUFFER_BIT
GL_ENABLE_BIT
GL_EVAL_BIT
GL_FOG_BIT
GL_HINT_BIT
GL_LIGHTING_BIT
GL_LINE_BIT
GL_LIST_BIT
GL_PIXEL_MODE_BIT
GL_POINT_BIT
GL_POLYGON_BIT
GL_POLYGON_STIPPLE_BIT
GL_SCISSOR_BIT
GL_STENCIL_BUFFER_BIT
GL_TEXTURE_BIT
GL_TRANSFORM_BIT
GL_VIEWPORT_BIT
GL_ALL_ATTRIB_BITS

All of the above.

Function: gl-push-client-attrib mask
Function: gl-pop-client-attrib

Push/pop client attributes. Valid mask can be logior of the following

GL_CLIENT_PIXEL_STORE_BIT
GL_CLIENT_VERTEX_ARRAY_BIT
GL_ALL_CLIENT_ATTRIB_BITS

All of the above.

Other queries

Function: gl-get-error

Returns the value of the error flag. Returned an integer value. Check out the OpenGL documentation for the possible error values.

This function resets the error flag to GL_NO_ERROR.

Function: glu-error-string error-code

Returns a descriptive string for error-code returned by gl-get-error.

Function: gl-get-string name

Returns informative string about name of the GL library. Name can be one of the following.

GL_VENDOR
GL_RENDERER
GL_VERSION
GL_EXTENSIONS

To check a specific version or extension, you can also use the utility procedure gl-version>? etc. See GL feature checking.

Function: glu-get-string name

Returns informative string about name of the GLU library. Name can be one of the following.

GLU_VERSION
GLU_EXTENSIONS

Hints

Function: gl-hint target hint

Controls quality of target by hint. Target can be one of the following:

GL_POINT_SMOOTH_HINT
GL_LINE_SMOOTH_HINT
GL_POLYGON_SMOOTH_HINT
GL_FOG_HINT
GL_PERSPECTIVE_CORRECTION_HINT

And hint can be one of the following:

GL_FASTEST
GL_NICEST
GL_DONT_CARE

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5 GL states for drawing

Function: gl-point-size size

Sets the width in pixels for rendered points. The possible range of size on the running GL implementation can be obtained by passing either GL_ALIASED_POINT_SIZE_RANGE or GL_SMOOTH_POINT_SIZE_RANGE to gl-get-float.

Function: gl-line-width width

Sets the width in pixels for rendered lines. The possible range of width on the running GL implementation can be obtained by passing either GL_ALIASED_LINE_WIDTH_RANGE or GL_SMOOTH_LINE_WIDTH_RANGE to gl-get-float.

Function: gl-line-stipple factor pat

Sets the current stippling pattern for lines. pat must be an exact integer, and its lower 16 bits are used to specify the stipple pattern. Factor is an integer factor to specify how many pixels corresponds to one bit in pat.

You have to enable GL_LINE_STIPPLE to use face culling.

Function: gl-polygon-mode face mode

Specifies the drawing mode for a polygon’s front and back faces. Face can be one of the followings:

GL_FRONT_AND_BACK
GL_FRONT
GL_BACK

Mode can be one of the followings:

GL_POINT
GL_LINE
GL_FILL
Function: gl-front-face mode

Controls how OpenGL determine front face of a polygon Mode can be one of the followings:

GL_CCW

Front face is where ordered vertices appear in a counterclockwise orientation (default).

GL_CW

Front face is where ordered vertices appear in a clockwise orientation.

Function: gl-cull-face mode

Indicates which face of polygons should be culled. Mode can be one of the followings:

GL_FRONT
GL_BACK
GL_FRONT_AND_BACK

You have to enable GL_CULL_FACE to use face culling.

Function: gl-polygon-stipple mask

Defines the current stipple pattern for filled polygons. Mask has to be a u8vector of length 128, specifying a 32x32 bitmap pattern. You have to enable GL_POLYGON_STIPPLE to use this feature.

Function: gl-edge-flag flag

Sets the edge flag(s) of vertices. When flag is a GL boolean vector, glEdgeFlagv is called. Otherwise flag is used as a single boolean value for glEdgeFlag.

Function: gl-blend-func sfactor dfactor

Controls how color values in the fragment being processed (the source) are combined with the ones in the framebuffer (the destination).

Possible values for the sfactor and dfactor arguments are as follows.

GL_ZERO
GL_ONE
GL_DST_COLOR
GL_SRC_COLOR
GL_ONE_MINUS_DST_COLOR
GL_ONE_MINUS_SRC_COLOR
GL_SRC_ALPHA
GL_ONE_MINUS_SRC_ALPHA
GL_DST_ALPHA
GL_ONE_MINUS_DST_ALPHA
GL_SRC_ALPHA_SATURATE
GL_CONSTANT_COLOR
GL_ONE_MINUS_CONSTANT_COLOR
GL_CONSTANT_ALPHA
GL_ONE_MINUS_CONSTANT_ALPHA
Function: gl-blend-equation mode

[GL_ARB_imaging] By default, the source and destination colors are added after processed as specified by gl-blend-func. With this extension API you can change the function. Mode can be one of the following values:

GL_FUNC_ADD
GL_FUNC_SUBTRACT
GL_FUNC_REVERSE_SUBTRACT
GL_MIN
GL_MAX
Function: gl-blend-color red green blue alpha

[GL_ARB_imaging] Sets the constant color used in the blending function.

Function: gl-polygon-offset factor units

[GL1.1] Offset the depth value of each fragment. Useful to avoid artifacts when you draw polygon edges over its surfaces, for example.

Function: gl-clip-plane plane equation

Defines a clipping plane. Plane specifies which clipping plane you’re defining. Use GL_MAX_CLIP_PLANES to gl-get-integer to obtain the number of clipping planes you can use. You have to enable the specific clipping plane (e.g. (gl-enable GL_CLIP_PLANE0)) to use the clipping plane.

Equation must be an f64vector of size 4, specifying four coefficients of the plane equation, Ax + By + Cz + D = 0.

Function: gl-get-clip-plane plane

Returns the four coefficients of the equation of clipping plane plane, in f64vector.

Function: gl-fog pname param

Sets the parameters and function for the fog effect. Possible values for pname and accepted param for each pname are shown below.

GL_FOG_MODE

Either GL_EXP, GL_EXP2, GL_LINEAR to select the fog factors.

GL_FOG_DENSITY
GL_FOG_START
GL_FO_END

A real number to specify those parametes.

GL_FOG_COLOR

An f32vector of size 4 to specify the color.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.6 Transformation

Function: gl-matrix-mode mode

Speficies whether the modelview, projection, or texture matrix will be modified. Mode can be one of the followings:

GL_MODELVIEW
GL_PROJECTION
GL_TEXTURE
Function: gl-load-identity

Loads an identity matrix to the current modifiable matrix.

Function: gl-load-matrix mat

Loads the matrix mat to the current modifiable matrix. Mat can be a <matrix4f> instance, or f32 or f64vector of length 16.

Function: gl-mult-matrix mat

Multiplies the matrix mat to the current modifiable matrix. Mat can be a <matrix4f> instance, or f32 or f64vector of length 16.

Function: gl-translate x y z

Multiplies the current matrix by a matrix taht translates an object by (x, y, z). Internally, glTranslated is called.

Function: gl-rotate angle x y z

Multiplies the current matrix by a matrix that rotates an object in a counterclockwise direction about the ray from the origin through the point (x, y, z) by angle degrees. Internally, glRotated is called.

Function: gl-scale x y z

Multiplies the current matrix by a matrix that scales an object by (x, y, z). Internally, glScaled is called.

Function: glu-look-at eyex eyey eyez ctrx ctry ctrz upx upy upz

Defines a viewing matrix and multiplies it to the right of the current matrix.

Function: gl-frustum left right bottom top nearv farv

Creates a matrix for a perspective-view frustum and multiplies the current matrix by it.

Function: glu-perspective fovy aspect znear zfar

Creates a matrix for a symmetrix perspective-view frustum and multiplies the current matrix by it.

Function: gl-ortho left right bottom top nearv farv

Creates a matrix for an orthographic parallel viewing volume nand multiplies the current matrix by it.

Function: glu-ortho-2d left right bottom top

Convenience procedure for 2D drawing; it is the same as gl-ortho except nearv and farv are fixed (along Z axis) to -1.0 and 1.0, respectively.

Function: gl-viewport x y width height

Defines a pixel rectangle in the window into which the final image is mapped.

Function: gl-push-matrix
Function: gl-pop-matrix

Pushes/pops the current matrix.

Macro: gl-push-matrix* expr …

A convenience macro. Pushes the current matrix, executes exprs, then pop the current matrix.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.7 Display lists

Function: gl-gen-lists range

Allocates range number of contiguous display list indices. Returns an integer which is the smallest display list index you can use.

Function: gl-new-list list-no mode

Starts a display list construction. Mode may be one of the constants GL_COMPILE or GL_COMPILE_AND_EXECUTE.

Function: gl-end-list

Ends a display list construction.

Function: gl-call-list list-no

Calls a display list.

Function: gl-is-list list-no

Returns #t if list-no is an already used display list number, #f otherwise.

Function: gl-delete-lists list-no-start range

Deletes range display list, beginning from list-no-start.

Function: gl-list-base base

Specifies the offset that’s added to the display list indices in gl-call-list.

Function: gl-call-lists size type lists
Function: gl-call-lists size lists
Function: gl-call-lists lists

Executes size display list, whose indices are contained in lists. You can pass a u8, s8, u16, s16, u32, s32 or f32vector, or a string, as lists. If it is a string, each byte consists of the string is interpreted as an unsigned integer specifying a display list. It is useful for the technique to display character strings by creating display lists for each ASCII characters. But be aware that it doesn’t work for multibyte characters.

Usually you can use the simplest form (the third form) and Gauche-gl infers the size and type from the passed lists. You can explicitly specify size if you want to use just a beginning portion of lists. An error is signalled if you specify size that is larger than the size of lists.

Specifying type is useful only if lists is a u8vector, and you want to use one of three special types allowed to glCallLists, namely GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.8 Vertex arrays

Scheme version of APIs doesn’t have GLenum type argument in C API, since Gauche-gl can figure out the type by passed vectors.

Scheme API of gl-*-array has offset optional argument, by which you can pass the GL the values beginning from the offset-th element of the passed uniform vector. This isn’t in GL C API, since you can just offset the pointer in C.

NOTE: it is caller’s responsibility to guarantee the passed vector has enough length. GL doesn’t have an interface to specify the boundary, so Gauche can’t detect an invalid length vector.

Function: gl-vertex-pointer size vec &optional stride offset

Sets the vertex array. Size specifies the number of scalar values per vertex (2, 3, or 4), and vec provides the actual value in either f32, f64, s32 or s16vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-normal-pointer vec &optional stride offset

Sets the normal array. Vec should be either a f32, f64, s32 or s16vector, where each consecutive triplet specifies a normal vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-color-pointer size vec &optional stride offset

Sets the color array. Size specifies the number of scalar values per color (3 or 4), and vec provides the actual values in either f32, f64, u32, u16, u8, s32, s16, or s8vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-index-pointer vec &optional stride offset

Sets the index array. Vec can be either s32, s16, u8, f32, or f64vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-tex-coord-pointer size vec &optional stride offset

Sets the texture coordinate array. Size specifies the number of scalar values per texture coordinate (1, 2, 3 or 4), and vec provides the actual values in either f32, f64, s32 or s16vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-edge-flag-pointer vec &optional stride offset

Sets the edge flag array. Vec must be a GL boolean vector. Stride and offset can be used to tell GL to access vec sparsely.

Function: gl-array-element ith

Dereference ith vertex information of the currently enabled arrays.

Function: gl-draw-elements mode indices

Issues geometric primitive calls consists of the vertex information of the currently enabled arrays, each of which is specified by indices, which should be either a u8, u16 or u32vector.

Mode is the same as of gl-begin.

Function: gl-draw-range-elements mode start end indices

[GL1.2] Like gl-draw-elements, but limits the range of indices between start and end, inclusive. GL driver may take advantage of the information for better performance.

Function: gl-draw-arrays mode first count

This is more straightforward. Starting from first index, count vertices is wrtten in the drawing mode mode (same as of gl-begin), taken from the current enabled arrays.

Function: gl-interleaved-arrays format vec &optional stride offset

Vec must be a f32vector. It contains various information (e.g. vertex position, color and texture coordinate) interleaved, in the way specified by format.

In Scheme API, we only allow uniform vector as vec, so you can’t use the format that mixes float and integer, such as GL_C4UB_V2F.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.9 Lighting

Function: gl-shade-model mode

Sets the shading model, either GL_SMOOTH or GL_FLAT.

Function: gl-light light pname param

Creates a light specified by light, which is one of GL_LIGHT0, …, GL_LIGHT7, and sets a characteristics named by pname with the value param.

Possible values as pname and acceptable types of param are as follows.

GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION

Accepts an f32 or s32vector of size 4.

GL_SPOT_DIRECTION

Accepts an f32 or s32vector of size 3.

GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTNAT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION

Accepts a real number (glLightf is used).

Function: gl-get-light light pname

Returns the value of the property pname of the light light. Returned value can be f32vector or a real number.

Function: gl-light-model pname param

Sets the value of the property pname of the lighting model. Possible pname and its allowed param is as follows.

GL_LIGHT_MODEL_AMBIENT

Accepts f32 or s32vector of size 4.

GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_TWO_SIDE

Accepts any Scheme value, which is interpreted as a boolean value. (That is, you have to pass #f to turn off these properties, and any other value to turn on.

GL_LIGHT_MODEL_COLOR_CONTROL

Accepts an enum value either GL_SINGLE_COLOR or GL_SEPARATE_SPECULAR_COLOR.

Function: gl-material face pname param

Sets the current material property. Face may be either GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. Possible values of pname and acceptable param types are as follows.

GL_AMBIENT, GL_DIFFUSE, GL_AMBIENT_AND_DIFFUSE, GL_SPECULAR, GL_EMISSION

Accepts f32 or s32vector of size 4.

GL_SHININESS

Accepts a single real number (glMaterialf is called).

GL_COLOR_INDEXES

Accepts f32 or s32vector of size 3.

Function: gl-get-material face pname

Returns the current material property of face and pname. The type of returned value may be f32vector, s32vector (only for GL_COLOR_INDEXES), or a real number.

Function: gl-color-material face mode

Makes the material property mode (e.g. GL_AMBIENT etc.) of the face face follow the current color set by gl-color.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.10 Pixels, bitmaps and images

Pixel operations

Function: gl-bitmap width height xbo ybo xbi ybi bitmap

Draws a bitmap. Width and height gives the dimension of the bitmap. Xbo, ybo, xbi, and ybi specifies the origin and increment of the current raster position. Bitmap is the actual bitmap data, packed in a u8vector.

Function: gl-read-pixels x y width height format type

Reads pixel data from the framebuffer. Returns the pixel data in a uniform vector of the type determined by format and type (check out OpenGL doc to find out the actual data format).

Function: gl-draw-pixels width height format type pixels

Draws a pixel data pixels at the current raster position. Pixels must be a uniform vector compatible to the specified format and type values.

Function: gl-copy-pixels x y width height buffer

Copies pixel data in a rectangle area of the framebuffer, specified by lower-left corner (x, y) and dimensions (width, height). Buffer specifies which buffer is used, and should be one of GL_COLOR, GL_STENCIL or GL_DEPTH.

Function: gl-pixel-store pname param

Sets the pixel stroage models. Check out the OpenGL doc for the possible pname and param values.

Function: gl-pixel-transfer pname param

Sets the pixel transfer modes. Check out the OpenGL doc for the possible pname and param values.

Function: gl-pixel-map map values

Sets the pixel map table map with values, which must be either u16, u32 or f32vecotor. Check out the OpenGL doc for the possible map values.

Function: gl-pixel-zoom xfactor yfactor

Sets the magnification/reduction factors for pixel-write operations.

Function: gl-get-pixel-map map &optional type

Returns the current pixel map table as an uniform vector specified by type, which must be either a class <u32vector> (default), <u16vector>, or <f32vector>.

Function: gl-get-pixel-map! map values

Like gl-get-pixel-map, but instead of allocating a new vector, it stores the result to a uniform vector passed to values. It is a caller’s responsibility to ensure values has enough size.

Color tables

Function: gl-color-table target internal-format width format type data

[GL_ARB_imaging] Specifies one of the color table target. Data should be a uniform vector compatible to the format and type parameters.

Function: gl-color-table-parameter target pname param

[GL_ARB_imaging] Sets the color table parameter pname (either GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS), of the color table target. Param must be an f32 or s32vector of size 4.

Function: gl-copy-color-table target internal-format x y width

[GL_ARB_imaging] Creates a color table target using framebuffer data. The pixels are read from the current buffer for read (specified by glReadBuffer).

Function: gl-color-sub-table target start count format type data

[GL_ARB_imaging] Replaces a part of color table target, starting start and count entries. Values are given in data as a uniform vector compatible to the format and type arguments.

Function: gl-copy-color-sub-table target start x y width

[GL_ARB_imaging] Replaces a part of color table entries using framebuffer data.

Function: gl-get-color-table! target format type data

[GL_ARB_imaging] Reads the color table target and store it in data, in the format specified by format and type. Data must be a uniform vector compatible to the format and type arguments. The caller must ensure that data has enough size to contain the result.

Convolutions

Function: gl-convolution-filter-2d target internal-format width height format type data

[GL_ARB_imaging] Defines a 2D convolution filter. Target must be GL_CONVOLUTION_2D. Data must be a uniform vector compatible to the format and type arguments, and must have enough size.

Function: gl-copy-convolution-filter-2d target internal-format x y width height

[GL_ARB_imaging] Defines a 2D convolution filter, taking the convolution filter data from the current color buffer to read.

Function: gl-separable-filetr-2d target internal-format width height format type row column

[GL_ARB_imaging] Defines a 2D convolution filter by a product of a 1D row vector and 1D column vector. Target must be GL_SEPARABLE_2D. Both row and column must be a uniform vector, compatible with the format and type arguments, and must have enough size.

Function: gl-convolution-filter-1d target internal-format width format type data

[GL_ARB_imaging] Defines 1D convolution filter. Target must be GL_CONVOLUTION_1D. Data must be a uniform vector compatible to the format and type arguments, and must have enough size.

Function: gl-copy-convolution-filter-1d target internal-format x y width

[GL_ARB_imaging] Defines 1D convolution filter, taking the convolution filter data from the current color buffer to read.

Function: gl-convolution-parameter target pname param

[GL_ARB_imaging] Sets a parameter for a convolution filter target, which can be either GL_CONVOLUTION_2D, GL_SEPARABLE_2D, or GL_CONVOLUTION_1D. Possible values of pname and their acceptable param are as follows.

GL_CONVOLUTION_BORDER_MODE

Either one of the constants: GL_REDUCE, GL_CONSTNAT_BORDER, GL_REPLICATE_BORDER

GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS

An s32 or f32vector of size 4, specifying color values.

Histogram

Function: gl-histogram target width internal-format sink

[GL_ARB_imaging] Specifies the way the histogram data is stored. Target must be either GL_HISTOGRAM or GL_PROXY_HISTOGRAM. Width is the number of entires of the histogram, and has to be a power of 2. Sink is a boolean value to indicate whether pixels should be discarded or sent down further to the pipeline.

Function: gl-reset-histogram target

[GL_ARB_imaging] Resets the histogram counters. Target must be GL_HISTOGRAM.

Function: gl-get-histogram target reset format type

[GL_ARB_imaging] Returns histogram data in a uniform vector, whose type and size are determined by format and type. A boolean value reset specifies whether the histogram should be reset or not.

Function: gl-get-histogram-parameter target pname

[GL_ARB_imaging] Returns the parameter value of the histogram. Pname can be either one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. The returned value is an integer, except the case of GL_HISTOGRAM_SINK, which returns a boolean value.

Minmax

Function: gl-minmax target internal-format sink

[GL_ARB_imaging] Computes the minimum and maximum pixel values for an image. Target must be GL_MINMAX. Sink is a boolean value to indicate whether pixels should be discarded or sent down further to the pipeline.

Function: gl-get-minmax target reset format type

[GL_ARB_imaging] Returns the results of the minmax operation in a uniform vector, whose type and size are determined by the format and type arguments. A boolean value reset specifies whether the histogram should be reset or not.

Function: gl-reset-minmax target

[GL_ARB_imaging] Resets the minmax counter.

Function: gl-get-minmax-parameter target pname

[GL_ARB_imaging] Returns the parameter value of the histogram. Pname can be either GL_MINMAX_SINK (returns a boolean value) or GL_MINMAX_FORMAT (returns an integer).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.11 Texture mapping

Defining textures

Function: gl-tex-image-1d target level internalformat width border format type texels
Function: gl-tex-image-2d target level internalformat width height border format type texels
Function: gl-tex-image-3d target level internalformat width height depth border format type texels

Defines an 1D, 2D or 3D texture. 3D texture is available only if the GL version is 1.2 or later. The target parameter can be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D for gl-tex-image-1d, etc. The level parameter can be used for multiresolution textures; if this is a single resolution texture, pass 0.

Width, height, and depth specify the dimensions of the texture. Border can be 0 or 1, specifying the border.

The actual texture data is passed to the texels argument in a uniform vector, which should be compatible with the format and type parameters and match the size calculated by width, height and depth (and possibly the pixel store setting).

Function: gl-copy-tex-image-1d target level internal-format x y width border
Function: gl-copy-tex-image-2d target level internal-format x y width height border

Cerates a 1D or 2D texture from the framebuffer data.

Function: gl-tex-sub-image-1d target level xoffset width format type texels
Function: gl-tex-sub-image-2d target level xoffset yoffset width height format type texels
Function: gl-tex-sub-image-3d target level xoffset yoffset zoffset width height depth format type texels

Replaces a part of the current 1D, 2D or 3D texture image by texels. 3D texture is available only if the GL version is 1.2 or later.

Function: gl-copy-tex-sub-image-1d target level xoffset x y width
Function: gl-copy-tex-sub-image-2d target level xoffset yoffset x y width height
Function: gl-copy-tex-sub-image-3d target level xoffset yoffset zoffset x y width height

Replaces a part of the current 1D, 2D or 3D texture image by the data from the framebuffer. 3D texture is available only if the GL version is 1.2 or later.

Texture parameters

Function: gl-tex-parameter target pname param

Sets parameters for the current texture. Target can be either GL_TEXTURE_1D, GL_TEXTURE_2D or GL_TEXTURE_3D. Possible values for pname, and accepted type of param for each pname, are shown below.

GL_TEXTURE_WRAP_S
GL_TEXTURE_WRAP_T
GL_TEXTURE_WRAP_R
GL_TEXTURE_BASE_LEVEL
GL_TEXTURE_MAX_LEVEL
GL_TEXTURE_MAG_FILTER
GL_TEXTURE_MIN_FILTER

Param must be an integer.

GL_TEXTURE_PRIORITY
GL_TEXTURE_MIN_LOD
GL_TEXTURE_MAX_LOD

Param must be a real number.

GL_TEXTURE_BORDER_COLOR

Param must be an f32vector of size 4, representing a color.

Function: gl-get-tex-parameter target pname

Obtains the parameter of the current texture, set by gl-tex-parameter.

Function: gl-get-tex-level-parameter target level pname

Obtains the parameter of the level level of the current texture specified by target, which can be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, or GL_PROXY_TEXTURE_3D.

Possible values for pname is either one of the following constants: GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_BORDER, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, or GL_TEXTURE_INTENSITY_SIZE. This procedure returns an integer.

Mipmaps

Function: glu-build-1d-mipmaps target internal-format width format type texels
Function: glu-build-2d-mipmaps target internal-format width height format type texels
Function: glu-build-3d-mipmaps target internal-format width height depth format type texels

Constructs a serids of mipmaps and calls gl-tex-image-*d to load the images. Returns 0 on success, or a GLU error code on failure. Texels is a uniform vector, that must be compatible with format and type arguments, and must have the enough length as specified by width, height and depth parameters.

Function: glu-build-1d-mipmap-levels target internal-format width format type level base max texels
Function: glu-build-2d-mipmap-levels target internal-format width height format type level base max texels
Function: glu-build-3d-mipmap-levels target internal-format width height depth format type level base max texels

Like glu-build-*d-mipmaps, but you can specify the level of texels, and the range of levels to be generated by the base and max parameters. It is used to generate a subset of mipmaps.

Returns 0 on success, or a GLU error code on failure. Texels is a uniform vector, that must be compatible with format and type arguments, and must have the enough length as specified by width, height and depth parameters.

Texture objects

Function: gl-gen-textures size

Returns size new names for texture objects in a u32vector.

Function: gl-is-texture name

Returns #t if an integer name is the name of a texture that has been bound and not deleted yet, #f otherwise.

Function: gl-bind-texture target name

Bind the current texture (specified by target, e.g. GL_TEXTURE_2D) to the integer name. If there’s already a texture bound to name, it becomes current. Otherwise a new texture object is created and made current.

Function: gl-delete-textures names

Delets textures. Names must be a u32vector contains integer names of the texture objects to be deleted.

Function: gl-are-textures-resident! names residences

Names must be a u32vector contains integer names of the texture objects, and residences must be a GL boolean vector of the same length as names. If all textures named in names are resident, #t is returned and residences is not modified. Othewise, #f is returned and residences is modified to contain #t if the corresponding texture in names is resident, #f othewise.

Function: gl-prioritize-textures names priorities

Sets the prioridies of texture objects named by names to the corresponding entry of priorities Names must be a u32vectore and priorities must be an f32vector, and the lengths of both vectors must match.

Texture environment and coordinates

Function: gl-tex-env target pname param

Sets the current texturing function. Target must be GL_TEXTURE_ENV. Possible values of pname and accepted param for each value is as follows.

GL_TEXTURE_ENV_MODE

One of GL_DECAL, GL_REPLACE, GL_MODULATE or GL_BLEND.

GL_TEXTURE_ENV_COLOR

f32vector of size 4 to specify the color.

Function: gl-tex-gen coord pname param

Specifies the functions for automatic texture coordinate generation. Coord specifies the coordinates, either one of GL_S, GL_T, GL_R or GL_Q. Possible values of pname and accepted param for each value is as follows.

GL_TEXTURE_GEN_MODE

Either GL_OBJECT_LINEAR, GL_EYE_LINEAR or GL_SPHERE_MAP.

GL_OBJECT_PLANE
GL_EYE_PLANE

An s32, f32 or f64vector of size 4 to specify the plane.

Multitexturing

Function: gl-active-texture-arb texunit

[GL_ARB_multitexture] Selects the texture unit that is currently modified by texturing routines. Texunit is a constant GL_TEXTUREi_ARB, where i is 0 to the maximum number of the supported texture units.

Function: gl-multi-tex-coord-arb texunit coords
Function: gl-multi-tex-coord-arb texunit s &optional t r q

[GL_ARB_multitexture] Specifies the texture coordinate of the texture unit texunit. In the first form, you can pass either an f32, f64, s32, or s16vector of length 1 to 4. In the second form, s, t, r and q must be real numbers.

Function: gl-client-active-texture-arb texunit

Selects the current texture unit for specifying texutre-coordinate data with vertex arrays.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.12 Framebuffers

Clearing buffers

Function: gl-clear-color r g b a

Sets the current clearing color. Each color value sould be a real number, and is clamped to [0.0,1.0].

Function: gl-clear-index c

Sets the current clearing color (in color index mode). c must be a real number.

Function: gl-clear-depth depth

Sets the current clearing depth value. Depth must be a real number and clamped to [0.0,1.0].

Function: gl-clear-stencil s

Sets the current clearing value of the stencil buffer.

Function: gl-clear-accum r g b a

Sets the current clearing value of accumulation buffer.

Function: gl-clear mask

Clears the specified buffer. Mask is a logical-or of the following constants.

GL_COLOR_BUFFER_BIT
GL_DEPTH_BUFFER_BIT
GL_ACCUM_BUFFER_BIT
GL_STENCIL_BUFFER_BIT

Selecting color buffers

Function: gl-draw-buffer mode

Selects (a) buffer(s) to which the image is rendered. Possible mode values are: GL_FRONT, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK, GL_BACK_LEFT, GL_BACK_RIGHT, GL_LEFT, GL_RIGHT, GL_AUXi, GL_FRONT_AND_BACK, and GL_NONE.

Function: gl-read-buffer mode

Selects a color buffer as the source for reading pixels. Possible mode values are the same as gl-draw-buffer except GL_FRONT_AND_BACK and GL_NONE.

Masking buffers

Function: gl-index-mask mask

In color index mode, sets the mask of the color-index buffer. Mask is an exact integer.

Function: gl-color-mask r g b a

R, g, b and a are boolean values to specify whether the corresponding color channel should be written to the color buffer or not.

Function: gl-depth-mask flag

Flag is a boolean value specifies whether depth buffer should be written or not.

Function: gl-stencil-mask mask

Sets the mask bit pattern for the stencil buffer. Mask is an exact integer.

Testing and operating on fragments

Function: gl-scissor x y width height

Sets the scissor rectangle. If the scissor test is enabled (use (gl-enable GL_SCISSOR_TEST)), only the pixels that lie inside the rectangle are written.

Function: gl-alpha-func func ref

Sets the reference value and comparison function for the alpha test. Func may be either one of GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GEQUAL, GL_GREATER, or GL_NOTEQUAL. Ref sets the reference value, a real number clamped to be between 0.0 and 1.0.

Function: gl-stencil-func func ref mask

Sets the comparison function, the reference value, and a mask for stencil test. Func specifies the funciton, and its possible value is the same as gl-alpha-func’s. Ref is an integer reference value, and mask is an integer specifying bitwise mask. Before the comparison, the reference value and the fragment value are taken bitwise AND by mask.

Function: gl-stencil-op func zfail zpass

Speficies how the stencil buffer should be modified by the result of the stencil test. Each three parameter can take one of the following values independently: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_DECR, or GL_INVERT.

Function: gl-depth-func func

Sets the comparison function for the depth test. Func may be one of the following constant value: GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GEQUAL, GL_GREATER, or GL_NOTEQUAL.

Function: gl-depth-range nearv farv

Defines an encoding for z-coordinates. Nearv and farv define the minimum and maximum values that can be stored in the depth buffer. By default, they’re 0.0 and 1.0, respectively.

Function: gl-logic-op opcode

Selects the logical operation to be performed, given an incoming (source) fragment and the pixel currently in the color buffer (destination). Opcode may be one of the following values: GL_CLEAR, GL_COPY, GL_NOOP, GL_SET, GL_COPY_INVERTED, GL_INVERT, GL_AND_REVERSE, GL_OR_REVERSE, GL_AND, GL_OR, GL_NAND, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_INVERTED or GL_OR_INVERTED.

Function: gl-accum op value

Sets the accumulation buffer operation mode. Op may be one of the following values:

GL_ACCUM

Reads each pixel from the current selected buffer to read (by gl-read-buffer), multiplies its values by value, and adds the result into the accumulation buffer.

GL_LOAD

Same as GL_ACCUM but replacing the accumulation buffer by the result of multiplication, instead of adding it.

GL_RETURN

Takes the values from accumulation buffer, multiplies them with value, then write it to the current color buffer to write (by gl-draw-buffer).

GL_ADD

Adds value to each pixel in the accumulation buffer and write it back.

GL_MULT

Multiplies value to each pixel in the accumulation buffer and write it back. The result value is clamped to [-1.0, 1.0].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.13 Selection and feedback

Function: gl-feedback-buffer type buffer
Function: gl-select-buffer buffer
Function: gl-render-mode mode
Function: gl-pass-through token
Function: gl-init-names
Function: gl-load-name name
Function: gl-push-name name
Function: gl-pop-name

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.14 Projection

Function: glu-pick-matrix x y w h vp
Function: glu-project objx objy objz model-mat proj-mat vp
Function: glu-un-project winx winy winz model-mat proj-mat vp
Function: glu-project! win obj model-mat proj-mat vp
Function: glu-un-project! obj win model-map proj-mat vp

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.15 Quadrics

Class: <glu-quadric>
Function: glu-quadric-draw-style quad style
Constant: GLU_POINT
Constant: GLU_LINE
Constant: GLU_FILL
Constant: GLU_SILHUETTE
Function: glu-quadric-orientation quad orientation
Constant: GLU_OUTSIDE
Constant: GLU_INSIDE
Function: glu-quadric-normals quad normals
Constant: GLU_SMOOTH
Constant: GLU_FLAT
Constant: GLU_NONE
Function: glu-quadric-texture quad texcoords
Function: glu-cylinder quad base-radius top-radius height slices stacks
Function: glu-sphere quad radius slices stacks
Function: glu-disk quad inner-radius outer-radius slices loops
Function: glu-partial-disk quad inner-radius outer-radius slices loops start-angle sweep-angle

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.16 Nurbs

Class: <glu-nurbs>
Function: glu-load-sampling-matrices nurbs model-matrix proj-matrix viewport
Function: glu-nurbs-property nurbs property value
Function: glu-get-nurbs-property nurbs property
Function: glu-begin-curve nurbs
Function: glu-end-curve nurbs
Function: glu-nurbs-curve nurbs knot stride ctlarray order type
Function: glu-begin-surface nurbs
Function: glu-end-surface nurbs

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.17 Polygon tesselation

Class: <glu-tesselator>

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.18 Programmable shaders

Shader objects

Function: gl-create-shader-object-arb type

[GL_ARB_shader_objects] Creates a new shader object and returns its handle. Type can be either GL_VERTEX_SHADER_ARB or GL_FRAGMENT_SHADER_ARB.

Function: gl-shader-source-arb shader strings

[GL_ARB_shader_objects] Sets the source code of the shader, whose handle is shader. You can give the source code as a list of strings to strings. All strings are concatenated internally in the OpenGL driver.

Function: gl-compile-shader-arb shader

[GL_ARB_shader_objects] Compile the source code attached to the shader, whose handle is shader. You can query the result of the compilation by passing GL_OBJECT_COMPILE_STATUS_ARB to gl-get-object-parameter-arb; it returns #t if the compilation succeeded, or #f if failed. The information about the compilation can be obtained by gl-get-info-log-arb.

Function: gl-create-program-object-arb

[GL_ARB_shader_objects] Creates a new program object and returns its handle.

Function: gl-attach-object-arb program shader

[GL_ARB_shader_objects] Attach a shader whose handle is shader to the program whose handle is program.

Function: gl-detach-object-arb program shader

[GL_ARB_shader_objects] Detach a shader from a program.

Function: gl-link-program-arb program

[GL_ARB_shader_objects] Link the program object. The result of linking can be queried by passing GL_OBJECT_LINK_STATUS_ARB to gl-get-object-parameter-arb.

Function: gl-use-program-object-arb program

[GL_ARB_shader_objects] Installs the program to the current rendering state.

Function: gl-delete-object-arb handle

[GL_ARB_shader_objects] Deletes either a shader object or a program object specified by handle.

Function: gl-get-object-parameter-arb object pname

[GL_ARB_shader_objects] Queries the value of pname of the shader or the program specified by object. The following values are accepted as pname: GL_OBJECT_TYPE_ARB, GL_OBJECT_SUBTYPE_ARB, GL_OBJECT_DELETE_STATUS_ARB, GL_OBJECT_COMPILE_STATUS_ARB, GL_OBJECT_LINK_STATUS_ARB, GL_OBJECT_VALIDATE_STATUS_ARB, GL_OBJECT_INFO_LOG_LENGTH_ARB, GL_OBJECT_ATTACHED_OBJECTS_ARB, GL_OBJECT_ACTIVE_ATTRIBUTES_ARB, GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB, GL_OBJECT_ACTIVE_UNIFORMS_ARB, GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB, and GL_OBJECT_SHADER_SOURCE_LENGTH_ARB. The procedure returns an integer value.

Function: gl-get-shader-source-arb shader

[GL_ARB_shader_objects] Returns the shader source code of a shader object shader in a string.

Function: gl-get-info-log-arb handle

[GL_ARB_shader_objects] Returns the information log of an object pointed by handle.

Function: gl-get-handle-arb pname

[GL_ARB_shader_objects] Returns the handle to an object that is used in the current state. The only argument accepted currently as pname is GL_PROGRAM_OBJECT_ARB, which returns the handle to the current program object.

Function: gl-get-attached-objects-arb program

[GL_ARB_shader_objects] Rethrns a vector of GL object handles that are attached to the program.

Function: gl-validate-program-arb program

[GL_ARB_shader_objects] Checks whether the program can execute in the current GL state. The result is stored in program’s log.

Specifying vertex attributes

Function: gl-vertex-attrib-arb index values
Function: gl-vertex-attrib-arb index v0 &rest v1 v2 v3

[GL_ARB_vertex_program] Sets the generic vertex attribute specified by index. In the first form, you can pass f32, f64, or s16vector of size 1 to 4, or u8, s8, u16, s32, or u32vector of size 4. In the second form, you can pass 1 to 4 real numbers (they are interpreted as C doubles and glVertexAttrib4dARB is called).

Function: gl-vertex-attrib-4n-arb index values
Function: gl-vertex-attrib-4n-arb index v0 v1 v2 v3

[GL_ARB_vertex_program] These variations can be used to pass normalized values. The first form accepts s8, u8, s16, u16, s32, u32, f32 and f64vector of size 4. The second value takes four integers, whose lower 8bits are taken as unsigned byte and passed to glVertexAttrib4NubARB.

Function: gl-vertex-attrib-pointer-arb index size vec &optional normalized stride offset

[GL_ARB_vertex_program] This is the generic version of vertex arrays. Index names the attribute, size specifies the number of components (1, 2, 3 or 4), and vec is a uniform vector that contains the array of values.

The optional boolean normalized argument tells whether the passed integer values should be mapped to normalized range (#t or taken as are #f, default). The optional stride argument specifies the gap between each set of values within vec. The optional offset argument tells GL to take values beginning from the offset-th element of vec.

Function: gl-enable-vertex-attrib-array-arb index
Function: gl-disable-vertex-attrib-array-arb index

[GL_ARB_vertex_program] Enable or disable a vertex attribute array specified by index.

Function: gl-bind-attrib-location-arb program index name

[GL_ARB_vertex_shader] Associates a user-defined attribute variable in the program object program with an index-th generic vertex attribute. Name is a string of the name of user-defined attribute as appears in the shader program.

Function: gl-get-attrib-location-arb program name

[GL_ARB_vertex_shader] Returns an integer index of the user-defined attribute name in the program. Must be called after program is linked.

Function: gl-get-active-attrib-arb program index

[GL_ARB_vertex_shader] Obtains information about the index-th user-defined attribute in the program. Must be called after program is linked.

It returns three values: the size of the attribute (1, 2, 3 or 4), the type of the attribute (an integer that matches one of the following constants: GL_FLOAT, GL_FLOAT_VEC2_ARB, GL_FLOAT_VEC3_ARB, GL_FLOAT_VEC4_ARB, GL_FLOAT_MAT2_ARB, GL_FLOAT_MAT3_ARB, or GL_FLOAT_MAT4_ARB.), and the name of the attribute.

Specifying uniform variables

Function: gl-get-uniform-location-arb program name

[GL_ARB_shader_objects] Returns an integer location of the uniform variable name of the program program.

Function: gl-uniform1-arb location vec
Function: gl-uniform1-arb location v0
Function: gl-uniform2-arb location vec
Function: gl-uniform2-arb location v0 v1
Function: gl-uniform3-arb location vec
Function: gl-uniform3-arb location v0 v1 v2
Function: gl-uniform4-arb location vec
Function: gl-uniform4-arb location v0 v1 v1 v3

[GL_ARB_shader_objects] Sets a value of the uniform variable specified by location. gl-uniform1-arb sets a single component value (e.g. float) gl-uniform2-arb sets a double component value (e.g. vec2) etc.

The first form of each function takes either an s32vector or f32vector. It can have a size multiple of the number of components to set an array uniform variable (e.g. you can pass an f32vector of size 8 to fill vec2[2]).

The second form just sets the component(s) of a single uniform variable. The arguments v0 to v3 must be real numbers, and coerced to C float (i.e. glUniform*fARB is used).

Function: gl-uniform-matrix2-arb location transpose v
Function: gl-uniform-matrix3-arb location transpose v
Function: gl-uniform-matrix4-arb location transpose v

[GL_ARB_shader_objects] Sets a matrix uniform variable (or an array of matrix uniform variables) specified by location. A boolean flag transpose specifies whether the matrix should be transposed. The v argument must be a f32vector of size multiple of 4, 9, or 16, respectively.

Function: gl-get-active-uniform-arb program index

[GL_ARB_shader_objects] Returns informaton about the index-th uniform variable of program.

Returns three values. The first one is the size, either 1, 2, 3 or 4. The second value is the type, which is an integer that matches one of the following constants: GL_FLOAT, GL_FLOAT_VEC(1|2|3|4)_ARB, GL_INT, GL_INT_VEC(1|2|3|4)_ARB, GL_BOOL, GL_BOOL_VEC(1|2|3|4)_ARB, GL_FLOAT_MAT(2|3|4)_ARB. And the third value is the name of the uniform variable.

Vertex and fragment programs

These APIs are for low-level vertex/fragment pipeline programming.

Function: gl-gen-programs-arb n

[GL_ARB_vertex_program] Generates N names (integers) for the new programs and returns them in an s32vector.

Function: gl-delete-programs-arb programs

[GL_ARB_vertex_program] Deletes programs whose names are specified by an s32vector programs.

Function: gl-is-program-arb prog-id

[GL_ARB_vertex_program] Returns #t if an integer prog-id refers to a valid program.

Function: gl-bind-program-arb target prog-id

[GL_ARB_vertex_program] Binds a program specified by prog-id to a target, which is either GL_VERTEX_PROGRAM_ARB or GL_FRAGMENT_PROGRAM_ARB.

Function: gl-program-string-arb target format text

[GL_ARB_vertex_program] Sets the source code of the program currently bound to the target (GL_VERTEX_PROGRAM_ARB or GL_FRAGMENT_PROGRAM_ARB).

Format must be GL_PROGRAM_FORMAT_ASCII_ARB. Text is a string for the program source.

Function: gl-program-env-parameter-arb target param-id args
Function: gl-program-env-parameter-arb target param-id arg0 arg1 arg2 arg3
Function: gl-program-local-parameter-arb target param-id args
Function: gl-program-local-parameter-arb target param-id arg0 arg1 arg2 arg3

[GL_ARB_vertex_program] Sets the value of the environment and local parameter specified by param-id of the program currently bount to the target. In the first form of each, args must be either f32 or f64vector of size 4 or <vector4f> object.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. GLUT API


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1 GLUT window manipulation

Function: glut-init args
Function: glut-init-display-mode mode
Constant: GLUT_RGB
Constant: GLUT_RGBA
Constant: GLUT_INDEX
Constant: GLUT_SINGLE
Constant: GLUT_DOUBLE
Constant: GLUT_ACCUM
Constant: GLUT_ALPHA
Constant: GLUT_DEPTH
Constant: GLUT_STENCIL
Constant: GLUT_MULTISAMPLE
Constant: GLUT_STEREO
Constant: GLUT_LUMINANCE
Function: glut-init-display-string string
Function: glut-init-window-size width height
Function: glut-init-window-position x y
Function: glut-main-loop
Function: glut-create-widnow name
Function: glut-create-sub-window win x y width height
Function: glut-destroy-window win
Function: glut-post-redisplay
Function: glut-post-window-redisplay win
Function: glut-swap-buffers
Function: glut-get-window
Function: glut-set-window win
Function: glut-set-window-title title
Function: glut-set-icon-title title
Function: glut-position-window x y
Function: glut-reshape-window width height
Function: glut-push-window
Function: glut-pop-window
Function: glut-iconify-window
Function: glut-show-window
Function: glut-hide-window
Function: glut-full-screen
Function: glut-set-cursor cursor
Constant: GLUT_CURSOR_RIGHT_ARROW
Constant: GLUT_CURSOR_LEFT_ARROW
Constant: GLUT_CURSOR_INFO
Constant: GLUT_CURSOR_DESTROY
Constant: GLUT_CURSOR_HELP
Constant: GLUT_CURSOR_CYCLE
Constant: GLUT_CURSOR_SPRAY
Constant: GLUT_CURSOR_WAIT
Constant: GLUT_CURSOR_TEXT
Constant: GLUT_CURSOR_CROSSHAIR
Constant: GLUT_CURSOR_UP_DOWN
Constant: GLUT_CURSOR_LEFT_RIGHT
Constant: GLUT_CURSOR_TOP_SIDE
Constant: GLUT_CURSOR_BOTTOM_SIDE
Constant: GLUT_CURSOR_LEFT_SIDE
Constant: GLUT_CURSOR_RIGHT_SIDE
Constant: GLUT_CURSOR_TOP_LEFT_CORNER
Constant: GLUT_CURSOR_TOP_RIGHT_CORNER
Constant: GLUT_CURSOR_BOTTOM_RIGHT_CORNER
Constant: GLUT_CURSOR_BOTTOM_LEFT_CORNER
Constant: GLUT_CURSOR_INHERIT
Constant: GLUT_CURSOR_NONE
Constant: GLUT_CURSOR_FULL_CROSSHAIR
Function: glut-warp-pointer x y

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.2 GLUT overlay

Function: glut-establish-overlay
Function: glut-remove-overlay
Function: glut-use-layer layer
Function: glut-post-overlay-redisplay
Function: glut-post-window-overlay-redisplay win
Function: glut-show-overlay
Function: glut-hide-overlay

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.3 GLUT menu API

Function: glut-create-menu callback
Function: glut-destroy-menu menu
Function: glut-get-emnu
Function: glut-set-menu menu
Function: glut-add-menu-entry label value
Function: glut-add-sub-menu label submenu
Function: glut-change-to-menu-entry item label value
Function: glut-change-to-sub-menu item label submenu
Function: glut-remove-menu-item item
Function: gult-attach-menu button
Function: glut-detach-menu button

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.4 GLUT callbacks

Function: glut-display-func fn
Function: glut-reshape-func fn
Function: glut-keyboard-func fn
Constant: GLUT_KEY_F1
Constant: GLUT_KEY_F2
Constant: GLUT_KEY_F3
Constant: GLUT_KEY_F4
Constant: GLUT_KEY_F5
Constant: GLUT_KEY_F6
Constant: GLUT_KEY_F7
Constant: GLUT_KEY_F8
Constant: GLUT_KEY_F9
Constant: GLUT_KEY_F10
Constant: GLUT_KEY_F11
Constant: GLUT_KEY_F12
Constant: GLUT_KEY_LEFT
Constant: GLUT_KEY_UP
Constant: GLUT_KEY_RIGHT
Constant: GLUT_KEY_DOWN
Constant: GLUT_KEY_PAGE_UP
Constant: GLUT_KEY_PAGE_DOWN
Constant: GLUT_KEY_HOME
Constant: GLUT_KEY_END
Constant: GLUT_KEY_INSERT
Function: glut-mouse-func fn
Constant: GLUT_LEFT_BUTTON
Constant: GLUT_MIDDLE_BUTTON
Constant: GLUT_RIGHT_BUTTON
Constant: GLUT_DOWN
Constant: GLUT_UP
Function: glut-motion-func fn
Function: glut-passive-motion-func fn
Function: glut-entry-func fn
Constant: GLUT_LEFT
Constant: GLUT_ENTERED
Function: glut-visibility-func fn
Constant: GLUT_NOT_VISIBLE
Constant: GLUT_VISIBLE
Function: glut-idle-func fn
Function: glut-timer-func millis fn value
Function: glut-menu-state-func fn
Function: glut-special-func fn
Function: glut-spaceball-motion-func fn
Function: glut-spaceball-rotate-func fn
Function: glut-spaceball-button-func fn
Function: glut-button-box-func fn
Function: glut-dials-func fn
Function: glut-tablet-motion-func fn
Function: glut-tablet-button-func fn
Function: glut-menu-status-func fn
Function: glut-overlay-dislay-func fn
Function: glut-window-status-func fn
Function: glut-keyboard-up-func fn
Function: glut-special-up-func fn
Function: glut-joystick-func fn interval

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.5 GLUT colormap

Function: glut-set-color index r g b
Function: glut-get-color index component
Constant: GLUT_RED
Constant: GLUT_GREEN
Constant: GLUT_BLUE
Function: glut-copy-colormap win

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.6 GLUT state retrieval

Function: glut-get type
Constant: GLUT_WINDOW_X
Constant: GLUT_WINDOW_Y
Constant: GLUT_WINDOW_WIDTH
Constant: GLUT_WINDOW_HEIGHT
Constant: GLUT_WINDOW_BUFFER_SIZE
Constant: GLUT_WINDOW_STENCIL_SIZE
Constant: GLUT_WINDOW_DEPTH_SIZE
Constant: GLUT_WINDOW_RED_SIZE
Constant: GLUT_WINDOW_GREEN_SIZE
Constant: GLUT_WINDOW_BLUE_SIZE
Constant: GLUT_WINDOW_ALPHA_SIZE
Constant: GLUT_WINDOW_ACCUM_RED_SIZE
Constant: GLUT_WINDOW_ACCUM_GREEN_SIZE
Constant: GLUT_WINDOW_ACCUM_BLUE_SIZE
Constant: GLUT_WINDOW_ACCUM_ALPHA_SIZE
Constant: GLUT_WINDOW_DOUBLEBUFFER
Constant: GLUT_WINDOW_RGBA
Constant: GLUT_WINDOW_PARENT
Constant: GLUT_WINDOW_NUM_CHILDREN
Constant: GLUT_WINDOW_COLORMAP_SIZE
Constant: GLUT_WINDOW_NUM_SAMPLES
Constant: GLUT_WINDOW_STEREO
Constant: GLUT_WINDOW_CURSOR
Constant: GLUT_SCREEN_WIDTH
Constant: GLUT_SCREEN_HEIGHT
Constant: GLUT_SCREEN_WIDTH_MM
Constant: GLUT_SCREEN_HEIGHT_MM
Constant: GLUT_MENU_NUM_ITEMS
Constant: GLUT_DISPLAY_MODE_POSSIBLE
Constant: GLUT_INIT_WINDOW_X
Constant: GLUT_INIT_WINDOW_Y
Constant: GLUT_INIT_WINDOW_WIDTH
Constant: GLUT_INIT_WINDOW_HEIGHT
Constant: GLUT_INIT_DISPLAY_MODE
Constant: GLUT_ELAPSED_TIME
Constant: GLUT_WINDOW_FORMAT_ID
Function: glut-device-get type
Constant: GLUT_HAS_KEYBOARD
Constant: GLUT_HAS_MOUSE
Constant: GLUT_HAS_SPACEBALL
Constant: GLUT_HAS_DIAL_AND_BUTTON_BOX
Constant: GLUT_HAS_TABLET
Constant: GLUT_NUM_MOUSE_BUTTONS
Constant: GLUT_NUM_SPACEBALL_BUTTONS
Constant: GLUT_NUM_BUTTON_BOX_BUTTONS
Constant: GLUT_NUM_DIALS
Constant: GLUT_NUM_TABLET_BUTTONS
Constant: GLUT_DEVICE_IGNORE_KEY_REPEAT
Constant: GLUT_DEVICE_KEY_REPEAT
Constant: GLUT_HAS_JOYSTICK
Constant: GLUT_OWNS_JOYSTICK
Constant: GLUT_JOYSTICK_BUTTONS
Constant: GLUT_JOYSTICK_AXES
Constant: GLUT_JOYSTICK_POLL_RATE
Function: glut-extension-supported name
Function: glut-get-modifiers
Constant: GLUT_ACTIVE_SHIFT
Constant: GLUT_ACTIVE_CTRL
Constant: GLUT_ACTIVE_ALT
Function: glut-layer-get type
Constant: GLUT_OVERLAY_POSSIBLE
Constant: GLUT_LAYER_IN_USE
Constant: GLUT_HAS_OVERLAY
Constant: GLUT_TRANSPARENT_INDEX
Constant: GLUT_NORMAL_DAMAGED
Constant: GLUT_OVERLAY_DAMAGED

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.7 GLUT font

Class: <glut-font>
Function: glut-bitmap-character font character
Function: glut-bitmap-width font character
Function: glut-stroke-character font character
Function: glut-stroke-width font character
Function: glut-bitmap-length font string
Function: glut-stroke-length font string

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.8 GLUT pre-built models

Function: glut-wire-sphere radius slices stacks
Function: glut-solid-sphere radius slices stacks
Function: glut-wire-cone radius height slices stacks
Function: glut-solid-cone radius height slices stacks
Function: glut-wire-cube size
Function: glut-solid-cube size
Function: glut-wire-torus inner outer sides rings
Function: glut-solid-torus inner outer sides rings
Function: glut-wire-dodecahedron
Function: glut-solid-dodecahedron
Function: glut-wire-teapot size
Function: glut-soild-teapot size
Function: glut-wire-octahedron
Function: glut-solid-octahedron
Function: glut-wire-tetrahedron
Function: glut-solid-tetrahedron
Function: glut-wire-icosahedron
Function: glut-solid-icosahedron

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Vectors and matrices

Module: gl.math3d

The module provides vector and matrix operations useful for 3D computer graphics.

Actually this module itself doesn’t depend on GL; you can use this module alone to do matrix calculations. However, the structure of objects are designed so that they can be passed directly to Gauche-gl functions, reducing the overhead of type conversions.

The purpose of this module is to provide reasonable performance. So the operations are fixed to 3D homogeneous coordinates, i.e. a vector is 4-element column vector, and a matrix is 4x4 square matrix. If you want more flexibility, <array> class in gauche.array provides much more generic structures, trading performance.

Elements of vectors and matrices are represented in float internally. When you retrieve each element individually, it is converted to double, so you might see some precision errors. There are lots of operations directly manipulate group of elements without retrieving each element to Scheme world, avoiding overhead of conversion.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 Vectors and points

Class: <vector4f>
Class: <point4f>

4x1 column vectors. Vector4f is intended to be used to represent a vector, and point4f is to a point, but as far as OpenGL concerns, both are just an array of four floats, x, y, z and w.

These classes inherit <sequence> and <collection> classes. So if you import gauche.sequence module, you can use generic function such as ref and (setter ref) to get/set individual elements. The generic version of map and for-each can also be used on the vector4f and point4f instances.

Aside from the type, the only difference is that the default value of w component— it’s 0.0 for vectors, and 1.0 for points. So usual transformation produces expected results; for example point plus vector becomes point, vector plus vector becomes vector, and translating point changes its coordinates but translating vectors doesn’t, and so on. However, you can set w component to other value to do nontrivial operations.

Reader syntax: #,(vector4f x y z w)
Reader syntax: #,(point4f x y z w)

These SRFI-10 syntax can be used to denote literal <vector4f> and <point4f> instance, respectively.

The write methods are defined so that the instance is written out in this form, and can be read back later.

Function: vector4f? obj
Function: point4f? obj

Returns true iff obj is vector4f and point4f, respectively.

Function: vector4f x y z &optional (w 0.0)
Function: point4f x y z &optional (w 1.0)

Creates a vector4f and point4f instance with given values, respectively.

Function: make-vector4f
Function: make-point4f

Another way to create a vector4f and a point4f. The first returns #,(vector4f 0.0 0.0 0.0 0.0), and the latter returns #,(point4f 0.0 0.0 0.0 1.0).

Function: list->vector4f l
Function: list->point4f l

Convert a list of three or four real numbers to a vector4f and a point4f, respectively. If l is not a list of three or four real numbers, an error is signalled.

 
(list->vector4f l)
  ≡ (apply vector4f l)
  ≡ (coerce-to <vector4f> l)
Function: vector4f->list v
Function: point4f->list p

Convert a vector4f and a point4f to a list of four real numbers, respectively.

 
(vector4f->list v)
  ≡ (coerce-to <list> v)
  ≡ (map (cut ref v <>) (iota 4))
Function: f32vector->vector4f v &optional start
Function: f32vector->point4f v &optional start

Creates a vector4f or a point4f, initializing by the elements of f32vector v. V must be at least 4 elements long, and the first four elements are used to initialize the created vector or point.

If optional start argument is given, it specifies an index of v from which the initial values are taken; that is, start, start+1, start+2 and start+3-th elements are used to create a vector or a point. This allows to create vectors from plain float array:

 
(map (lambda (off) (f32vector->vector4f vec (* off 4)))
     (iota (/ (size-of vec) 4)))

The conversion can be done using coerce-to, as well.

 
(f32vector->vector4f vec)
  ≡ (coerce-to <vector4f> vec)
Function: vector4f->f32vector v
Function: point4f->f32vector p

Convert a vector4f v or a point4f p to four-element f32vector.

 
(vector4f->f32vector v)
 ≡ (coerce-to <f32vector> v)
Function: vector4f-copy v
Function: point4f-copy p

Returns a new copy of vector4f v or point4f p, respectively.

Function: vector4f-copy! dstv srcv
Function: point4f-copy! dstp srcp

Destructively sets the content of srcv or srcp to dstv or dstp, respectively.

Function: vector4f-set! v k value
Function: point4f-set! p k value

Sets a real number value to k-th element of a vector4f v or a point4f p.

 
(vector4f-set! v k value)
  ≡ (set! (ref v k) value)
Function: vector4f-ref v k &optional fallback
Function: point4f-ref p k &optional fallback

Gets a value of k-th element of a vector4f v or a point4f p. If k is out of range, an error is signalled, unless fallback is provided, in such a case fallback is returned.

 
(vector4f-ref v k)
  ≡ (ref v k)
Function: vector4f-dot x y

Returns a dot product of two vector4fs, x and y.

Function: vector4f-cross x y

Returns a cross product of two vector4fs, x and y. (w element is ignored).

Function: vector4f-norm v

Returns the norm (length) of the vector v.

Function: vector4f-normalize x
Function: vector4f-normalize! x

Returns a normalized vector of vector4f x. Vector4f-normalize allocates a new vector, while vector4f-normalize! modifies the original vector.

As a special case, if x is a vector of length 0, a vector of length 0 is returned.

Function: vector4f-add x y
Function: vector4f-sub x y
Function: vector4f-add! x y
Function: vector4f-sub! x y

Returns a sum of two vector4fs, x and y. The destructive version modifies x.

Function: point4f-add x y
Function: point4f-add! x y

Adds a point4f x and a vector4f y, and returns a translated point. The destructive version modifies x.

Function: point4f-sub x y

Subtracts either a vector4f or a point4f y from a point4f x. If y is a vector4f, returns a translated point. If y is a point4f, returns a vector4f from point y to point x.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Vector arrays and point arrays

Class: <vector4f-array>
Class: <point4f-array>

Represents an array of vector4fs and point4fs. This is an efficient way to keep an array of vectors or points, for the elements are packed in a simple float array. They are especially useful to work with GL’s vertex array feature. gl-vertex-pointer can take <point4f-array>, and gl-normal-pointer can take <vector4f-array>.

It is also possible to "view" a plain f32vector as <vector4f-array> or <point4f-array> without copying its content, by f32vector->vector4f-array/shared and f32vector->point4f-array/shared. Combined to read-block!, you can do efficient binary I/O of vertex arrays, for example.

Inherits <sequence> and <collection>. When viewed as a sequence or a collection, they behaves like sequence or collection of vector4f and point4f objects, respectively.

Function: make-vector4f-array len &optional init-vector
Function: make-point4f-array len &optional init-point

Creates a vector4f-array or point4f-array with len elements. Each element is initialized by a vector4f init-vector or a point4f init-point if provided.

Function: vector4f-array? obj
Function: point4f-array? obj

Returns true iff obj is a vector4f-array or a point4f-array, respectively.

Function: vector4f-array-length array
Function: point4f-array-length array

Returns length (number of vectors/points) in array array.

Reader syntax: #,(vector4f-array len elt …)
Reader syntax: #,(point4f-array len elt …)

Vector4f-array and point4f-array have external representation using this SRFI-10 syntax. Len is a length of array, and each elt is a list of four floats representing each element of the array.

 
(f32vector->vector4f-array #f32(1 2 3 4 6 7 4 3))
  ⇒ #,(vector4f-array 2 (1 2 3 4) (6 7 4 3) )
Function: list->vector4f-array list
Function: list->point4f-array list

From given list of vector4fs or point4fs, creates and returns a vector4f-array or point4f-array, respectively.

Function: f32vector->vector4f-array v
Function: f32vector->point4f-array v

Converts f32vector v to a vector4f-array or a point4f-array. The length of v must be multiple of four. The content of v is copied.

 
(f32vector->vector4f-array v)
  ≡ (coerce-to <vector4f-array> v)
Function: f32vector->vector4f-array/shared v
Function: f32vector->point4f-array/shared v

Like above, but the content of v is shared by the result array, instead of being copied. So the modification of result array will be visible from original f32vector v and vice versa. It will allow efficient handling of large vertex arrays.

Function: vector4f-array->f32vector array
Function: point4f-array->f32vector array

Converts a vector4f-array or a point4f-array array to a f32vector.

 
(vector4f-array->f32vector array)
  ≡ (coerce-to <f32vector> array)
Function: vector4f-array-set! array i vector
Function: point4f-array-set! array i point

Sets a vector4f vector or a point4f point to i-th element of vector4f-array or point4f-array array, respectively.

 
(vector4f-array-set! array i vector)
  ≡ (set! (ref array i) vector)
Function: vector4f-array-ref array i &optional fallback
Function: point4f-array-ref array i &optional fallback

Returns a vector4f or a point4f which is the i-th element of array array, respectively. If k is out of range, an error is signalled, unless fallback is provided, in such a case fallback is returned.

 
(vector4f-array-ref array i)
  ≡ (ref array i)

(ref #,(vector4f-array 2 (1 2 3 4) (6 7 4 3))  1)
  ⇒ #,(vector4f 6 7 4 3)
Function: vector4f-array-ref/shared array i &optional fallback
Function: point4f-array-ref/shared array i &optional fallback

Like above, but the returned vector4f or point4f shares the storage with the original array. Thus the modification of the result vector or point will be visible from array, and vice versa.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 Matrices

Class: <matrix4f>

4x4 matrix. Internally it is represented as an array of 16 floats, stored in column-major order. (It is the same order OpenGL uses, so it can be passed to OpenGL calls without overhead).

Inherits <sequence> and <collection>. When a matrix4f is treated as a sequence, it works as if it is a single sequence of floats in column-major order.

Function: make-matrix4f &optional init

Returns a new matrix4f instance. If init is omitted, the matrix is a unit matrix. Otherwise, init must be a f32vector of length 16, and the elements in the matrix is initialized by ones in f32vector.

 
;; Creates a matrix like this:
;;    1 2 3 4
;;    0 1 0 5
;;    0 0 1 6
;;    0 0 0 1

(make-matrix4f '#f32vector(1 0 0 0
                           2 1 0 0
                           3 0 1 0
                           4 5 6 1))
Function: matrix4f m00 m10 m20 m30 m01 m11 m21 m31 m02 m12 m22 m32 m03 m13 m23 m33

Creates a new matrix4f instance with give values.

Function: matrix4f? obj

Returns true iff obj is a matrix4f.

Reader syntax: #,(matrix4f elt …)

A matrix4f is represented extrenally using SRFI-10 syntax. The elements are listed in column-major order.

Function: list->matrix4f l
Function: matrix4f->list m

Converts between list of 16 real numbers and matrix4f.

Function: f32vector->matrix4f v &optional start

Creates a new matrix4f and initializes it with 16 elements in f32vector v. If optional start is given, it specifies the start offset in vector v to be used as initial values. The f32vector v must have enough length.

Function: f32vector->matrix4f! m v &optional (start 0)

Extract 16 flonums in the f32vector v starting from the index start, and fill the matrix4f m with them. The f32vector v must have enough length.

Function: matrix4f->f32vector m

Returns a new f32vector that has elements from matrix4f m.

Function: matrix4f-copy m

Returns a new copy of m.

Function: matrix4f-copy! dstm srcm

Copies contents of srcm to dstm.

Function: matrix4f-set! m i value

Sets a real number value to i-th element of matrix m. Since the matrix is laid out in column-major order, the one-dimensional index m{i} and two-dimensional index m(i,j) corresponds as follows:

 
  m(0,0) = m{0}   m(0,1) = m{4}   m(0,2) = m{8}   m(0,3) = m{12}
  m(1,0) = m{1}   m(1,1) = m{5}   m(1,2) = m{9}   m(1,3) = m{13}
  m(2,0) = m{2}   m(2,1) = m{6}   m(2,2) = m{10}  m(2,3) = m{14}
  m(3,0) = m{3}   m(3,1) = m{7}   m(3,2) = m{11}  m(3,3) = m{15}
Function: matrix4f-ref m i &optional fallback

Returns the i-th element of matrix m. If i is out of range, an error is signalled, unless fallback is provided, in such a case fallback is returned.

Function: matrix4f-set2! m i j value

Sets value to (i, j) element of matrix m.

Function: matrix4f-ref2 m i j

Returns the (i, j) element of matrix m.

Function: matrix4f-row m i
Function: matrix4f-column m i
Function: matrix4f-column/shared m i

Returns i-th row vector or i-th column vector of matrix m, as a vector4f instance.

Furthermore, the returned vector from matrix4f-column/shared shares the storage with m.

Function: matrix4f-mul m obj

Obj may be a scalar (real number), a vector4f, a point4f, or a matrix4f. Returns m x obj.

Function: matrix4f-mul! m obj

Obj may be a scalar or a matrix4f. Matrix m is multiplied by obj, and the result is set to m destructively.

Function: matrix4f-transpose m
Function: matrix4f-transpose! m

Returns a transposed matrix of m. The destructive version modifies m.

Function: matrix4f-determinant m

Returns a determinant of m.

Function: matrix4f-inverse m &optional (error-on-singular? #t)
Function: matrix4f-inverse! m &optional (error-on-singular? #t)

Returns a inverse matrix of m. The destructive version modifies m. If given m is a singular matrix, an error is signalled by default. However, if #f is given to the optional error-on-singular? argument, #f is returned in such a case.

Function: translation->matrix4f translation-vector
Function: translation->matrix4f! m translation-vector

Returns a matrix which represents a translation by translation-vector, which must be either a vector4f, a point4f, or a f32vector of length 3 or 4. Only the first three elements in translation-vector is used. The destructive version updates m.

Function: rotation->matrix4f axis angle
Function: rotation->matrix4f! m axis angle

Returns a matrix which represents a rotation around axis by angle radian. Axis must be a vector4f or a f32vector of length 3 or 4, and must be normalized. The result is undefined if anormalized vector is passed as axis. The destructive version updates m.

Function: scale->matrix4f scale-vector
Function: scale->matrix4f! m scale-vector

Returns a matrix which represents a scale by scale-vector, which must be either a vector4f, a point4f, or a f32vector of length 3 or 4. Only the first three elements in scale-vector is used. Each element of scale-vector represents the scale factor along x, y, and z axis. The destructive version updates m.

Function: trs->matrix4f translation rotation-axis rotation-angle scale
Function: trs->matrix4f! m translation rotation-axis rotation-angle scale

This combines above three procedure. Returns a matrix that represents translation, rotation and scale, specified by translation, rotation-axis, rotation-angle and scale. The destructive version updates m.

If T, R and S, are the matrices that represent translation, rotation and scale, respectively, then these procedures effectively calculates a matrix TRS.

Function: tqs->matrix4f translation rotation-quat scale
Function: tqs->matrix4f! m translation rotation-quat scale

A variation of trs->matrix4f. Instead of axis and angle, rotation is represented by a quaternion rotation-quat. See section Quaternions, for more details about quaternions.

Function: euler-angle->matrix4f xangle yangle zangle &optional order
Function: euler-angle->matrix4f! m xangle yangle zangle &optional order

Returns a matrix that represents rotation along x, y and z axis by xangle, yangle, and zangle, respectively.

The order of rotation can be specified by the optional argument order, which may be one of the symbols xyz, xzy, yzx, yxz, zxy, or zyx. For example, symbol xyz means rotation around x-axis, then y-axis, then z-axis. Thus, if we write each rotation as Rx, Ry, and Rz, the returned matrix is RzRyRx. The default value of order is xyz.

The desrtuctive version modifies m.

Function: matrix4f-decompose m

Matrix m is a composition of translation, rotation, shear and scale. Suppose transformation is applied in the reverse order. This procedure decompose m into each individual transformation.

Returns five values.

  • A flag to indicate if m is non-singular.
  • A translation vector t, in vector4f. The first three elements of t are for x, y, and z translations.
  • A rotation matrix r, in matrix4f. This is an orthogonal matrix represents rotation component.
  • A shear vector h, in vector4f. The first three elements of h are for xy, xz and yz shear factors.
  • A scale vector s, in vector4f. The first three elements of s are fof x, y, and z scale factors.

If m is singular, certain part of rotation matrix can’t be recovered. In such a case, r becomes also singular matrix.

If the original matrix has negative scale factor in any of x, y, or z scale, the decomposed scale factor will have all negative components. The signs of elements of r are adjusted accordingly.

Due to the precision errors, you will see small values appear in shear component even m is pure TRS matrix.

Function: matrix4f-decompose! m t r h s

Linear update version of matrix4f-decompose. The result vectors and matrices are stored in t, r, h and s. The return value is a boolean value indicates m is non-singular or not.

Function: matrix4f->translation m

Extract the translation component from the given TRS matrix m and returns it as a <vector4f>.

Function: matrix4f->translation! v m

Extract the translation component from the given TRS matrix m and stores the result into a <vector4f> v. Returns v.

Function: matrix4f->rotation m

From given orthogonal matrix m, extracts and returns and rotation axis and angle, as a vector4f and a real number.

Function: matrix4f->rotation! v m

Same as above, except the storage of vector4f v is reused to store the result axis.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 Quaternions

Class: <quatf>

Quaternions. Internally quaternions are represented as just an array of four floats; the first three are the vector component and the last is the scalar component.

Inherits <sequence> and <collection>. When viewed as sequence, it is just like a vector of four floats.

Function: quatf? obj

Returns true iff obj is a quaternion.

Reader syntax: #,(quatf x y z w)

External representation of quaternion xi+yj+zk+w.

Function: make-quatf &optional axis (angle 0)

Returns a new unit quaternion that represents a rotation around vector axis by angle radians. Axis can be a vector4f, a point4f or a f32vector (only first three component is used). Axis must be a unit vector; if axis is anormalized, the result is undefined.

If both axis and angle is omitted, #,(quatf 0 0 0 1) is returned.

Function: quatf x y z w

Returns a new quaternion whose elements are initialized by x, y, z, w.

Function: list->quatf l
Function: quatf->list q

Converts between a list of four real numbers and a quaternion.

Function: f32vector->quatf x &optional start

Returns a new quaternion whose elements are initialized by the first four elements of f32vector x. If start is given, the initial value is taken starting from start-th index in x.

Function: quatf->f32vector q

Returns a new f32vector whose contents is the same as a quaternion q.

Function: quatf-copy q

Returns a fresh copy of a quaternion q.

Function: quatf-copy! dstq srcq

Copies contents of a quaternion srcq to a quaternion dstq.

Function: rotation->quatf! quat axis angle

Sets a quaternion quat so that it represents a rotation around a unit vector axis by angle angle radians. Axis can be a vector4f, a point4f or a f32vector (only first three component is used).

Function: vectors->quatf v w
Function: vectors->quatf! q v w

Given two unit vectors v and w, calculates and returns a quaternion that represents a rotation from v to w. The destructive version vectors->quatf! modifies q.

Function: axes->quatf v1 v2 w1 w2
Function: axes->quatf! q v1 v2 w1 w2

The arguments must be all unit vectors, v1 and v2 must be perpendicular, and also w1 and w2 must be perpendicular.

Calculates and returns a quaternion that represents a rotation which transforms v1 to w1, and v2 to w2, respectively. The destructive version stores the result into q.

Function: quatf-add p q
Function: quatf-add! p q
Function: quatf-sub p q
Function: quatf-sub! p q

Addition and subtraction of quaternions. The destructive version modifies the first argument.

Function: quatf-scale q s
Function: quatf-scale! q s

Multiplies a quaternion q by a scalar value s. The destructive version modifies q.

Function: quatf-mul p q
Function: quatf-mul! p q

Multiply two quaternions p and q. The destructive version modifies p as well.

Function: quatf-conjugate p
Function: quatf-conjugate! q p

Returns a conjugate of a quaternion p. The destructive version modifies q as well.

Function: quatf-transform q p

Transforms a vector or a point p by quaternion q, that is, returns qpq*, where q* is a conjugate of q.

This procedure assumes q is normalized.

P can be a vector4f, a point4f or a f32vector (only first three elements are used). Returns the same type of object as p.

Function: quatf-norm q

Returns norm of q.

Function: quatf-normalize q
Function: quatf-normalize! q

Returns normalized quaternion of q. The destructive version modifies q.

Function: quatf->matrix4f q
Function: quatf->matrix4f! m q

Returns a matrix that represents a rotation specified by a unit quaternion q. The behavior is undefined if q is not normalized. The destructive version modifies m.

Function: matrix4f->quatf m
Function: matrix4f->quatf! q m

Extracts the rotation component of a matrix m and returns a quaterion that represents the rotation. Matrix4f->quatf! also uses q as the storage to store the result.

Function: quatf-slerp p q t
Function: quatf-slerp! r p q t

Returns a quaternion that interpolates between two unit quaternions p and q, by a scalar value t. The destructive version modifies r.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. Simple utilities

This chapter covers gl.simple.* modules. They are provided for the convenience of those who wants quick experiment with Gauche-gl alone, without a hassle to install a bunch of other modules. Their features are pretty limited, but you may find them handy when you need to hack up some throwaway script that need to show some graphics on the screen.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 Simple image handling

Module: gl.simple.image

OpenGL doesn’t provide any means of reading/writing image data, and it should be covered by other Gauche extensions. However, it is sometimes handy to have simple means to handle external image data, so that you can do some experiment with Gauche-gl alone.

This module provides a minimal support to handle external image data, so that one can do some experiment in Gauche-gl alone.

The functionality might be extended over time, but this is never intended to be a full featured image library. A separate Gauche extension should be a better place to have it.

Currently, only reading from 8bit SGI image file is supported. It is written in pure Scheme, so don’t expect the performance.

Function: read-sgi-image filename
Function: read-sgi-image-from-port port

Reads an image data in SGI format from the named file or the input port, respectively.

Only 8bit-per-channel, direct color mode is supported.

Returns four values: the image’s width in pixels, its height in pixels, number of channels (e.g. 1 for grayscale, 3 for RGB, 4 for RGBA), and the image data in u8vector. The pixel data is packed, i.e. there’s no padding between each pixel nor each scanline.

Warning: be careful to call this function interactively. The image data vector is usually huge, and you have to wait long for the REPL to display the entire result.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 Simple viewer

Module: gl.simple.viewer

This module packages common operations to allow users to view 3D objects, controlling the camera by the mouse, and have some interactions with the keyboard.

A typical way of using the viewer is like the following:

 
(use gl)
(use gl.glut)
(use gl.simple.viewer)

(define (main args)
  (glut-init args)
  (simple-viewer-display <your-display-thunk>)
  (simple-viewer-set-key! <key> <handler> ...)
  (simple-viewer-window <name> :title <title> ...)
  (simple-viewer-run) ; loop forever.  type ESC to exit.
  0)

The viewer handles mouse drag (to move the camera), and also draws reference grid and axes by default for your convenience. You have to provide a thunk, which must draw your 3D object.

For the keyboard events, you can use a convenient API to associate handler to the key (character for normal keys, and constants like GL_LEFT_ARROW for special keys).

The reshape event is handled implicitly, though you can override it.

If you call simple-viewer-run, it enters the event loop and never returns. If you wish to keep REPL and/or other parts of your application run concurrently, the convenient way is to run simple-viewer-run in a separate thread.

 
(use gauche.threads)

(define (run-viewer)
  (thread-start! (make-thread simple-viewer-run #f)))

See also the code under ‘examples/simple’ directory of the source tree for more examples.

Function: simple-viewer-window name &key title mode parent width height x y

Creates a new GL window with name, which must be a symbol to identify the window later in the simple viewer framework. The window won’t be shown until simple-viewer-run is called.

Each window

Function: simple-viewer-display &optional display-thunk

Gets/sets the display thunk, which is called every time the GL window is redrawn. You can change the display thunk any time, even while the viewer thread is running.

If no argument is given, returns the current display thunk. It can be #f if no display thunk is set.

When the display thunk is called, the matrix mode is MODELVIEW and the camera transformation is already applied. The grid and axes are also drawn, unless you’ve customized them.

In the display thunk you can just write your model in the world coordinate system. It is guaranteed that the current color is white and line width is 1.0, but the states of other GL contexts are undefined, so you have to set them explicitly.

Function: simple-viewer-reshape &optional reshape-proc

Gets/sets the reshape procedure which is called every time the GL window configuration is changed. (It is also called when the GL window is shown first time.) You can change the reshape procedure any time, even while the viewer thread is running.

If no argument is given, returns the current reshape proc.

A reshape procedure is called with two arguments, the width and the height (in pixels) of the new GL window configuration. By default, gl.simple.viewer sets a procedure that changes viewport and projection matrix apopropriately; you need to change it only if you want a different behavior.

Function: simple-viewer-grid &optional grid-proc
Function: simple-viewer-axis &optional axis-proc

Gets/sets a procedure to draw a grid and axes. You can change these procedures any time, even while the viewer thread is running.

The grid-proc and axis-proc are called with no arguments every time the GL window is redrawn, before the display thunk is invoked. The matrix mode is MODELVIEW, the camera transformation is already applied, and lighting is disabled.

The default grid proc draws 10x10 grid on X-Z plane centered at the origin. The default axis proc draws a red line from origin to +X, a green line from origin to +Y, and a blue line from origin to +Z.

You can pass #f to disable grid and/or axis display.

If no argument is given, returns the current grid/axis proc, respectively.

Function: simple-viewer-set-key! key handler …

Even number of arguments must be given; the first of every two specifies the key, and the next one specifies the action when the key is pressed.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. 索引


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.1 手続ãã¨æ§‹æ–‡ç´¢å¼•

Jump to:   A   E   F   G   L   M   P   Q   R   S   T   V  
Index Entry Section

A
axes->quatf6.4 Quaternions
axes->quatf!6.4 Quaternions

E
euler-angle->matrix4f6.3 Matrices
euler-angle->matrix4f!6.3 Matrices

F
f32vector->matrix4f6.3 Matrices
f32vector->matrix4f!6.3 Matrices
f32vector->point4f6.1 Vectors and points
f32vector->point4f-array6.2 Vector arrays and point arrays
f32vector->point4f-array/shared6.2 Vector arrays and point arrays
f32vector->quatf6.4 Quaternions
f32vector->vector4f6.1 Vectors and points
f32vector->vector4f-array6.2 Vector arrays and point arrays
f32vector->vector4f-array/shared6.2 Vector arrays and point arrays

G
gl-accumTesting and operating on fragments
gl-active-texture-arbMultitexturing
gl-alpha-funcTesting and operating on fragments
gl-are-textures-resident!Texture objects
gl-array-element4.8 Vertex arrays
gl-attach-object-arbShader objects
gl-begin4.3 Drawing functions
gl-begin*4.3 Drawing functions
gl-bind-attrib-location-arbSpecifying vertex attributes
gl-bind-program-arbVertex and fragment programs
gl-bind-textureTexture objects
gl-bitmapPixel operations
gl-blend-color4.5 GL states for drawing
gl-blend-equation4.5 GL states for drawing
gl-blend-func4.5 GL states for drawing
gl-boolean-vectorGL boolean vectors
gl-boolean-vector-copyGL boolean vectors
gl-boolean-vector-fill!GL boolean vectors
gl-boolean-vector-lengthGL boolean vectors
gl-boolean-vector-refGL boolean vectors
gl-boolean-vector-set!GL boolean vectors
gl-boolean-vector?GL boolean vectors
gl-call-list4.7 Display lists
gl-call-lists4.7 Display lists
gl-call-lists4.7 Display lists
gl-call-lists4.7 Display lists
gl-clearClearing buffers
gl-clear-accumClearing buffers
gl-clear-colorClearing buffers
gl-clear-depthClearing buffers
gl-clear-indexClearing buffers
gl-clear-stencilClearing buffers
gl-client-active-texture-arbMultitexturing
gl-clip-plane4.5 GL states for drawing
gl-color4.3 Drawing functions
gl-color4.3 Drawing functions
gl-color-maskMasking buffers
gl-color-material4.9 Lighting
gl-color-pointer4.8 Vertex arrays
gl-color-sub-tableColor tables
gl-color-tableColor tables
gl-color-table-parameterColor tables
gl-compile-shader-arbShader objects
gl-convolution-filter-1dConvolutions
gl-convolution-filter-2dConvolutions
gl-convolution-parameterConvolutions
gl-copy-color-sub-tableColor tables
gl-copy-color-tableColor tables
gl-copy-convolution-filter-1dConvolutions
gl-copy-convolution-filter-2dConvolutions
gl-copy-pixelsPixel operations
gl-copy-tex-image-1dDefining textures
gl-copy-tex-image-2dDefining textures
gl-copy-tex-sub-image-1dDefining textures
gl-copy-tex-sub-image-2dDefining textures
gl-copy-tex-sub-image-3dDefining textures
gl-create-program-object-arbShader objects
gl-create-shader-object-arbShader objects
gl-cull-face4.5 GL states for drawing
gl-delete-lists4.7 Display lists
gl-delete-object-arbShader objects
gl-delete-programs-arbVertex and fragment programs
gl-delete-texturesTexture objects
gl-depth-funcTesting and operating on fragments
gl-depth-maskMasking buffers
gl-depth-rangeTesting and operating on fragments
gl-detach-object-arbShader objects
gl-disableCapabilities
gl-disable-client-stateCapabilities
gl-disable-vertex-attrib-array-arbSpecifying vertex attributes
gl-draw-arrays4.8 Vertex arrays
gl-draw-bufferSelecting color buffers
gl-draw-elements4.8 Vertex arrays
gl-draw-pixelsPixel operations
gl-draw-range-elements4.8 Vertex arrays
gl-edge-flag4.5 GL states for drawing
gl-edge-flag-pointer4.8 Vertex arrays
gl-enableCapabilities
gl-enable-client-stateCapabilities
gl-enable-vertex-attrib-array-arbSpecifying vertex attributes
gl-end4.3 Drawing functions
gl-end-list4.7 Display lists
gl-extension-available?4.2 GL feature checking
gl-feedback-buffer4.13 Selection and feedback
gl-finish4.3 Drawing functions
gl-flush4.3 Drawing functions
gl-fog4.5 GL states for drawing
gl-front-face4.5 GL states for drawing
gl-frustum4.6 Transformation
gl-gen-lists4.7 Display lists
gl-gen-programs-arbVertex and fragment programs
gl-gen-texturesTexture objects
gl-get-active-attrib-arbSpecifying vertex attributes
gl-get-active-uniform-arbSpecifying uniform variables
gl-get-attached-objects-arbShader objects
gl-get-attrib-location-arbSpecifying vertex attributes
gl-get-booleanState values
gl-get-boolean!State values
gl-get-clip-plane4.5 GL states for drawing
gl-get-color-table!Color tables
gl-get-doubleState values
gl-get-double!State values
gl-get-errorOther queries
gl-get-floatState values
gl-get-float!State values
gl-get-handle-arbShader objects
gl-get-histogramHistogram
gl-get-histogram-parameterHistogram
gl-get-info-log-arbShader objects
gl-get-integerState values
gl-get-integer!State values
gl-get-light4.9 Lighting
gl-get-material4.9 Lighting
gl-get-minmaxMinmax
gl-get-minmax-parameterMinmax
gl-get-object-parameter-arbShader objects
gl-get-pixel-mapPixel operations
gl-get-pixel-map!Pixel operations
gl-get-shader-source-arbShader objects
gl-get-stringOther queries
gl-get-tex-level-parameterTexture parameters
gl-get-tex-parameterTexture parameters
gl-get-uniform-location-arbSpecifying uniform variables
gl-hintHints
gl-histogramHistogram
gl-index-maskMasking buffers
gl-index-pointer4.8 Vertex arrays
gl-init-names4.13 Selection and feedback
gl-interleaved-arrays4.8 Vertex arrays
gl-is-enabledCapabilities
gl-is-list4.7 Display lists
gl-is-program-arbVertex and fragment programs
gl-is-textureTexture objects
gl-light4.9 Lighting
gl-light-model4.9 Lighting
gl-line-stipple4.5 GL states for drawing
gl-line-width4.5 GL states for drawing
gl-link-program-arbShader objects
gl-list-base4.7 Display lists
gl-load-identity4.6 Transformation
gl-load-matrix4.6 Transformation
gl-load-name4.13 Selection and feedback
gl-logic-opTesting and operating on fragments
gl-material4.9 Lighting
gl-matrix-mode4.6 Transformation
gl-minmaxMinmax
gl-mult-matrix4.6 Transformation
gl-multi-tex-coord-arbMultitexturing
gl-multi-tex-coord-arbMultitexturing
gl-new-list4.7 Display lists
gl-normal4.3 Drawing functions
gl-normal4.3 Drawing functions
gl-normal-pointer4.8 Vertex arrays
gl-ortho4.6 Transformation
gl-pass-through4.13 Selection and feedback
gl-pixel-mapPixel operations
gl-pixel-storePixel operations
gl-pixel-transferPixel operations
gl-pixel-zoomPixel operations
gl-point-size4.5 GL states for drawing
gl-polygon-mode4.5 GL states for drawing
gl-polygon-offset4.5 GL states for drawing
gl-polygon-stipple4.5 GL states for drawing
gl-pop-attribPush/pop attributes
gl-pop-client-attribPush/pop attributes
gl-pop-matrix4.6 Transformation
gl-pop-name4.13 Selection and feedback
gl-prioritize-texturesTexture objects
gl-program-env-parameter-arbVertex and fragment programs
gl-program-env-parameter-arbVertex and fragment programs
gl-program-local-parameter-arbVertex and fragment programs
gl-program-local-parameter-arbVertex and fragment programs
gl-program-string-arbVertex and fragment programs
gl-push-attribPush/pop attributes
gl-push-client-attribPush/pop attributes
gl-push-matrix4.6 Transformation
gl-push-matrix*4.6 Transformation
gl-push-name4.13 Selection and feedback
gl-raster-pos4.3 Drawing functions
gl-raster-pos4.3 Drawing functions
gl-read-bufferSelecting color buffers
gl-read-pixelsPixel operations
gl-rect4.3 Drawing functions
gl-rect4.3 Drawing functions
gl-render-mode4.13 Selection and feedback
gl-reset-histogramHistogram
gl-reset-minmaxMinmax
gl-rotate4.6 Transformation
gl-scale4.6 Transformation
gl-scissorTesting and operating on fragments
gl-select-buffer4.13 Selection and feedback
gl-separable-filetr-2dConvolutions
gl-shade-model4.9 Lighting
gl-shader-source-arbShader objects
gl-state-vector-sizeState values
gl-stencil-funcTesting and operating on fragments
gl-stencil-maskMasking buffers
gl-stencil-opTesting and operating on fragments
gl-tex-coord4.3 Drawing functions
gl-tex-coord4.3 Drawing functions
gl-tex-coord-pointer4.8 Vertex arrays
gl-tex-envTexture environment and coordinates
gl-tex-genTexture environment and coordinates
gl-tex-image-1dDefining textures
gl-tex-image-2dDefining textures
gl-tex-image-3dDefining textures
gl-tex-parameterTexture parameters
gl-tex-sub-image-1dDefining textures
gl-tex-sub-image-2dDefining textures
gl-tex-sub-image-3dDefining textures
gl-translate4.6 Transformation
gl-uniform-matrix2-arbSpecifying uniform variables
gl-uniform-matrix3-arbSpecifying uniform variables
gl-uniform-matrix4-arbSpecifying uniform variables
gl-uniform1-arbSpecifying uniform variables
gl-uniform1-arbSpecifying uniform variables
gl-uniform2-arbSpecifying uniform variables
gl-uniform2-arbSpecifying uniform variables
gl-uniform3-arbSpecifying uniform variables
gl-uniform3-arbSpecifying uniform variables
gl-uniform4-arbSpecifying uniform variables
gl-uniform4-arbSpecifying uniform variables
gl-use-program-object-arbShader objects
gl-validate-program-arbShader objects
gl-version<=?4.2 GL feature checking
gl-version<?4.2 GL feature checking
gl-version=?4.2 GL feature checking
gl-version>=?4.2 GL feature checking
gl-version>?4.2 GL feature checking
gl-vertex4.3 Drawing functions
gl-vertex4.3 Drawing functions
gl-vertex-attrib-4n-arbSpecifying vertex attributes
gl-vertex-attrib-4n-arbSpecifying vertex attributes
gl-vertex-attrib-arbSpecifying vertex attributes
gl-vertex-attrib-arbSpecifying vertex attributes
gl-vertex-attrib-pointer-arbSpecifying vertex attributes
gl-vertex-pointer4.8 Vertex arrays
gl-viewport4.6 Transformation
glu-begin-curve4.16 Nurbs
glu-begin-surface4.16 Nurbs
glu-build-1d-mipmap-levelsMipmaps
glu-build-1d-mipmapsMipmaps
glu-build-2d-mipmap-levelsMipmaps
glu-build-2d-mipmapsMipmaps
glu-build-3d-mipmap-levelsMipmaps
glu-build-3d-mipmapsMipmaps
glu-cylinder4.15 Quadrics
glu-disk4.15 Quadrics
glu-end-curve4.16 Nurbs
glu-end-surface4.16 Nurbs
glu-error-stringOther queries
glu-get-nurbs-property4.16 Nurbs
glu-get-stringOther queries
glu-load-sampling-matrices4.16 Nurbs
glu-look-at4.6 Transformation
glu-nurbs-curve4.16 Nurbs
glu-nurbs-property4.16 Nurbs
glu-ortho-2d4.6 Transformation
glu-partial-disk4.15 Quadrics
glu-perspective4.6 Transformation
glu-pick-matrix4.14 Projection
glu-project4.14 Projection
glu-project!4.14 Projection
glu-quadric-draw-style4.15 Quadrics
glu-quadric-normals4.15 Quadrics
glu-quadric-orientation4.15 Quadrics
glu-quadric-texture4.15 Quadrics
glu-sphere4.15 Quadrics
glu-un-project4.14 Projection
glu-un-project!4.14 Projection
glut-add-menu-entry5.3 GLUT menu API
glut-add-sub-menu5.3 GLUT menu API
glut-bitmap-character5.7 GLUT font
glut-bitmap-length5.7 GLUT font
glut-bitmap-width5.7 GLUT font
glut-button-box-func5.4 GLUT callbacks
glut-change-to-menu-entry5.3 GLUT menu API
glut-change-to-sub-menu5.3 GLUT menu API
glut-copy-colormap5.5 GLUT colormap
glut-create-menu5.3 GLUT menu API
glut-create-sub-window5.1 GLUT window manipulation
glut-create-widnow5.1 GLUT window manipulation
glut-destroy-menu5.3 GLUT menu API
glut-destroy-window5.1 GLUT window manipulation
glut-detach-menu5.3 GLUT menu API
glut-device-get5.6 GLUT state retrieval
glut-dials-func5.4 GLUT callbacks
glut-display-func5.4 GLUT callbacks
glut-entry-func5.4 GLUT callbacks
glut-establish-overlay5.2 GLUT overlay
glut-extension-supported5.6 GLUT state retrieval
glut-full-screen5.1 GLUT window manipulation
glut-get5.6 GLUT state retrieval
glut-get-color5.5 GLUT colormap
glut-get-emnu5.3 GLUT menu API
glut-get-modifiers5.6 GLUT state retrieval
glut-get-window5.1 GLUT window manipulation
glut-hide-overlay5.2 GLUT overlay
glut-hide-window5.1 GLUT window manipulation
glut-iconify-window5.1 GLUT window manipulation
glut-idle-func5.4 GLUT callbacks
glut-init5.1 GLUT window manipulation
glut-init-display-mode5.1 GLUT window manipulation
glut-init-display-string5.1 GLUT window manipulation
glut-init-window-position5.1 GLUT window manipulation
glut-init-window-size5.1 GLUT window manipulation
glut-joystick-func5.4 GLUT callbacks
glut-keyboard-func5.4 GLUT callbacks
glut-keyboard-up-func5.4 GLUT callbacks
glut-layer-get5.6 GLUT state retrieval
glut-main-loop5.1 GLUT window manipulation
glut-menu-state-func5.4 GLUT callbacks
glut-menu-status-func5.4 GLUT callbacks
glut-motion-func5.4 GLUT callbacks
glut-mouse-func5.4 GLUT callbacks
glut-overlay-dislay-func5.4 GLUT callbacks
glut-passive-motion-func5.4 GLUT callbacks
glut-pop-window5.1 GLUT window manipulation
glut-position-window5.1 GLUT window manipulation
glut-post-overlay-redisplay5.2 GLUT overlay
glut-post-redisplay5.1 GLUT window manipulation
glut-post-window-overlay-redisplay5.2 GLUT overlay
glut-post-window-redisplay5.1 GLUT window manipulation
glut-push-window5.1 GLUT window manipulation
glut-remove-menu-item5.3 GLUT menu API
glut-remove-overlay5.2 GLUT overlay
glut-reshape-func5.4 GLUT callbacks
glut-reshape-window5.1 GLUT window manipulation
glut-set-color5.5 GLUT colormap
glut-set-cursor5.1 GLUT window manipulation
glut-set-icon-title5.1 GLUT window manipulation
glut-set-menu5.3 GLUT menu API
glut-set-window5.1 GLUT window manipulation
glut-set-window-title5.1 GLUT window manipulation
glut-show-overlay5.2 GLUT overlay
glut-show-window5.1 GLUT window manipulation
glut-soild-teapot5.8 GLUT pre-built models
glut-solid-cone5.8 GLUT pre-built models
glut-solid-cube5.8 GLUT pre-built models
glut-solid-dodecahedron5.8 GLUT pre-built models
glut-solid-icosahedron5.8 GLUT pre-built models
glut-solid-octahedron5.8 GLUT pre-built models
glut-solid-sphere5.8 GLUT pre-built models
glut-solid-tetrahedron5.8 GLUT pre-built models
glut-solid-torus5.8 GLUT pre-built models
glut-spaceball-button-func5.4 GLUT callbacks
glut-spaceball-motion-func5.4 GLUT callbacks
glut-spaceball-rotate-func5.4 GLUT callbacks
glut-special-func5.4 GLUT callbacks
glut-special-up-func5.4 GLUT callbacks
glut-stroke-character5.7 GLUT font
glut-stroke-length5.7 GLUT font
glut-stroke-width5.7 GLUT font
glut-swap-buffers5.1 GLUT window manipulation
glut-tablet-button-func5.4 GLUT callbacks
glut-tablet-motion-func5.4 GLUT callbacks
glut-timer-func5.4 GLUT callbacks
glut-use-layer5.2 GLUT overlay
glut-visibility-func5.4 GLUT callbacks
glut-warp-pointer5.1 GLUT window manipulation
glut-window-status-func5.4 GLUT callbacks
glut-wire-cone5.8 GLUT pre-built models
glut-wire-cube5.8 GLUT pre-built models
glut-wire-dodecahedron5.8 GLUT pre-built models
glut-wire-icosahedron5.8 GLUT pre-built models
glut-wire-octahedron5.8 GLUT pre-built models
glut-wire-sphere5.8 GLUT pre-built models
glut-wire-teapot5.8 GLUT pre-built models
glut-wire-tetrahedron5.8 GLUT pre-built models
glut-wire-torus5.8 GLUT pre-built models
gult-attach-menu5.3 GLUT menu API

L
list->gl-boolean-vectorGL boolean vectors
list->matrix4f6.3 Matrices
list->point4f6.1 Vectors and points
list->point4f-array6.2 Vector arrays and point arrays
list->quatf6.4 Quaternions
list->vector4f6.1 Vectors and points
list->vector4f-array6.2 Vector arrays and point arrays

M
make-gl-boolean-vectorGL boolean vectors
make-matrix4f6.3 Matrices
make-point4f6.1 Vectors and points
make-point4f-array6.2 Vector arrays and point arrays
make-quatf6.4 Quaternions
make-vector4f6.1 Vectors and points
make-vector4f-array6.2 Vector arrays and point arrays
matrix4f6.3 Matrices
matrix4f->f32vector6.3 Matrices
matrix4f->list6.3 Matrices
matrix4f->quatf6.4 Quaternions
matrix4f->quatf!6.4 Quaternions
matrix4f->rotation6.3 Matrices
matrix4f->rotation!6.3 Matrices
matrix4f->translation6.3 Matrices
matrix4f->translation!6.3 Matrices
matrix4f-column6.3 Matrices
matrix4f-column/shared6.3 Matrices
matrix4f-copy6.3 Matrices
matrix4f-copy!6.3 Matrices
matrix4f-decompose6.3 Matrices
matrix4f-decompose!6.3 Matrices
matrix4f-determinant6.3 Matrices
matrix4f-inverse6.3 Matrices
matrix4f-inverse!6.3 Matrices
matrix4f-mul6.3 Matrices
matrix4f-mul!6.3 Matrices
matrix4f-ref6.3 Matrices
matrix4f-ref26.3 Matrices
matrix4f-row6.3 Matrices
matrix4f-set!6.3 Matrices
matrix4f-set2!6.3 Matrices
matrix4f-transpose6.3 Matrices
matrix4f-transpose!6.3 Matrices
matrix4f?6.3 Matrices

P
point4f6.1 Vectors and points
point4f->f32vector6.1 Vectors and points
point4f->list6.1 Vectors and points
point4f-add6.1 Vectors and points
point4f-add!6.1 Vectors and points
point4f-array->f32vector6.2 Vector arrays and point arrays
point4f-array-length6.2 Vector arrays and point arrays
point4f-array-ref6.2 Vector arrays and point arrays
point4f-array-ref/shared6.2 Vector arrays and point arrays
point4f-array-set!6.2 Vector arrays and point arrays
point4f-array?6.2 Vector arrays and point arrays
point4f-copy6.1 Vectors and points
point4f-copy!6.1 Vectors and points
point4f-ref6.1 Vectors and points
point4f-set!6.1 Vectors and points
point4f-sub6.1 Vectors and points
point4f?6.1 Vectors and points

Q
quatf6.4 Quaternions
quatf->f32vector6.4 Quaternions
quatf->list6.4 Quaternions
quatf->matrix4f6.4 Quaternions
quatf->matrix4f!6.4 Quaternions
quatf-add6.4 Quaternions
quatf-add!6.4 Quaternions
quatf-conjugate6.4 Quaternions
quatf-conjugate!6.4 Quaternions
quatf-copy6.4 Quaternions
quatf-copy!6.4 Quaternions
quatf-mul6.4 Quaternions
quatf-mul!6.4 Quaternions
quatf-norm6.4 Quaternions
quatf-normalize6.4 Quaternions
quatf-normalize!6.4 Quaternions
quatf-scale6.4 Quaternions
quatf-scale!6.4 Quaternions
quatf-slerp6.4 Quaternions
quatf-slerp!6.4 Quaternions
quatf-sub6.4 Quaternions
quatf-sub!6.4 Quaternions
quatf-transform6.4 Quaternions
quatf?6.4 Quaternions

R
read-sgi-image7.1 Simple image handling
read-sgi-image-from-port7.1 Simple image handling
rotation->matrix4f6.3 Matrices
rotation->matrix4f!6.3 Matrices
rotation->quatf!6.4 Quaternions

S
scale->matrix4f6.3 Matrices
scale->matrix4f!6.3 Matrices
simple-viewer-axis7.2 Simple viewer
simple-viewer-display7.2 Simple viewer
simple-viewer-grid7.2 Simple viewer
simple-viewer-reshape7.2 Simple viewer
simple-viewer-set-key!7.2 Simple viewer
simple-viewer-window7.2 Simple viewer

T
tqs->matrix4f6.3 Matrices
tqs->matrix4f!6.3 Matrices
translation->matrix4f6.3 Matrices
translation->matrix4f!6.3 Matrices
trs->matrix4f6.3 Matrices
trs->matrix4f!6.3 Matrices

V
vector4f6.1 Vectors and points
vector4f->f32vector6.1 Vectors and points
vector4f->list6.1 Vectors and points
vector4f-add6.1 Vectors and points
vector4f-add!6.1 Vectors and points
vector4f-array->f32vector6.2 Vector arrays and point arrays
vector4f-array-length6.2 Vector arrays and point arrays
vector4f-array-ref6.2 Vector arrays and point arrays
vector4f-array-ref/shared6.2 Vector arrays and point arrays
vector4f-array-set!6.2 Vector arrays and point arrays
vector4f-array?6.2 Vector arrays and point arrays
vector4f-copy6.1 Vectors and points
vector4f-copy!6.1 Vectors and points
vector4f-cross6.1 Vectors and points
vector4f-dot6.1 Vectors and points
vector4f-norm6.1 Vectors and points
vector4f-normalize6.1 Vectors and points
vector4f-normalize!6.1 Vectors and points
vector4f-ref6.1 Vectors and points
vector4f-set!6.1 Vectors and points
vector4f-sub6.1 Vectors and points
vector4f-sub!6.1 Vectors and points
vector4f?6.1 Vectors and points
vectors->quatf6.4 Quaternions
vectors->quatf!6.4 Quaternions

Jump to:   A   E   F   G   L   M   P   Q   R   S   T   V  

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.2 モジュール索引

Jump to:   G  
Index Entry Section

G
gl.math3d6. Vectors and matrices
gl.simple.image7.1 Simple image handling
gl.simple.viewer7.2 Simple viewer

Jump to:   G  

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.3 クラス索引

For readability, the surrounding < and > are stripped off.

Jump to:   G   M   P   Q   V  
Index Entry Section

G
glut-font5.7 GLUT font

M
matrix4f6.3 Matrices

P
point4f6.1 Vectors and points
point4f-array6.2 Vector arrays and point arrays

Q
quatf6.4 Quaternions

V
vector4f6.1 Vectors and points
vector4f-array6.2 Vector arrays and point arrays

Jump to:   G   M   P   Q   V  

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.4 変数索引

Jump to:   G  
Index Entry Section

G
GLUT_ACCUM5.1 GLUT window manipulation
GLUT_ACTIVE_ALT5.6 GLUT state retrieval
GLUT_ACTIVE_CTRL5.6 GLUT state retrieval
GLUT_ACTIVE_SHIFT5.6 GLUT state retrieval
GLUT_ALPHA5.1 GLUT window manipulation
GLUT_BLUE5.5 GLUT colormap
GLUT_CURSOR_BOTTOM_LEFT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_BOTTOM_RIGHT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_BOTTOM_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_CROSSHAIR5.1 GLUT window manipulation
GLUT_CURSOR_CYCLE5.1 GLUT window manipulation
GLUT_CURSOR_DESTROY5.1 GLUT window manipulation
GLUT_CURSOR_FULL_CROSSHAIR5.1 GLUT window manipulation
GLUT_CURSOR_HELP5.1 GLUT window manipulation
GLUT_CURSOR_INFO5.1 GLUT window manipulation
GLUT_CURSOR_INHERIT5.1 GLUT window manipulation
GLUT_CURSOR_LEFT_ARROW5.1 GLUT window manipulation
GLUT_CURSOR_LEFT_RIGHT5.1 GLUT window manipulation
GLUT_CURSOR_LEFT_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_NONE5.1 GLUT window manipulation
GLUT_CURSOR_RIGHT_ARROW5.1 GLUT window manipulation
GLUT_CURSOR_RIGHT_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_SPRAY5.1 GLUT window manipulation
GLUT_CURSOR_TEXT5.1 GLUT window manipulation
GLUT_CURSOR_TOP_LEFT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_TOP_RIGHT_CORNER5.1 GLUT window manipulation
GLUT_CURSOR_TOP_SIDE5.1 GLUT window manipulation
GLUT_CURSOR_UP_DOWN5.1 GLUT window manipulation
GLUT_CURSOR_WAIT5.1 GLUT window manipulation
GLUT_DEPTH5.1 GLUT window manipulation
GLUT_DEVICE_IGNORE_KEY_REPEAT5.6 GLUT state retrieval
GLUT_DEVICE_KEY_REPEAT5.6 GLUT state retrieval
GLUT_DISPLAY_MODE_POSSIBLE5.6 GLUT state retrieval
GLUT_DOUBLE5.1 GLUT window manipulation
GLUT_DOWN5.4 GLUT callbacks
GLUT_ELAPSED_TIME5.6 GLUT state retrieval
GLUT_ENTERED5.4 GLUT callbacks
GLUT_GREEN5.5 GLUT colormap
GLUT_HAS_DIAL_AND_BUTTON_BOX5.6 GLUT state retrieval
GLUT_HAS_JOYSTICK5.6 GLUT state retrieval
GLUT_HAS_KEYBOARD5.6 GLUT state retrieval
GLUT_HAS_MOUSE5.6 GLUT state retrieval
GLUT_HAS_OVERLAY5.6 GLUT state retrieval
GLUT_HAS_SPACEBALL5.6 GLUT state retrieval
GLUT_HAS_TABLET5.6 GLUT state retrieval
GLUT_INDEX5.1 GLUT window manipulation
GLUT_INIT_DISPLAY_MODE5.6 GLUT state retrieval
GLUT_INIT_WINDOW_HEIGHT5.6 GLUT state retrieval
GLUT_INIT_WINDOW_WIDTH5.6 GLUT state retrieval
GLUT_INIT_WINDOW_X5.6 GLUT state retrieval
GLUT_INIT_WINDOW_Y5.6 GLUT state retrieval
GLUT_JOYSTICK_AXES5.6 GLUT state retrieval
GLUT_JOYSTICK_BUTTONS5.6 GLUT state retrieval
GLUT_JOYSTICK_POLL_RATE5.6 GLUT state retrieval
GLUT_KEY_DOWN5.4 GLUT callbacks
GLUT_KEY_END5.4 GLUT callbacks
GLUT_KEY_F15.4 GLUT callbacks
GLUT_KEY_F105.4 GLUT callbacks
GLUT_KEY_F115.4 GLUT callbacks
GLUT_KEY_F125.4 GLUT callbacks
GLUT_KEY_F25.4 GLUT callbacks
GLUT_KEY_F35.4 GLUT callbacks
GLUT_KEY_F45.4 GLUT callbacks
GLUT_KEY_F55.4 GLUT callbacks
GLUT_KEY_F65.4 GLUT callbacks
GLUT_KEY_F75.4 GLUT callbacks
GLUT_KEY_F85.4 GLUT callbacks
GLUT_KEY_F95.4 GLUT callbacks
GLUT_KEY_HOME5.4 GLUT callbacks
GLUT_KEY_INSERT5.4 GLUT callbacks
GLUT_KEY_LEFT5.4 GLUT callbacks
GLUT_KEY_PAGE_DOWN5.4 GLUT callbacks
GLUT_KEY_PAGE_UP5.4 GLUT callbacks
GLUT_KEY_RIGHT5.4 GLUT callbacks
GLUT_KEY_UP5.4 GLUT callbacks
GLUT_LAYER_IN_USE5.6 GLUT state retrieval
GLUT_LEFT5.4 GLUT callbacks
GLUT_LEFT_BUTTON5.4 GLUT callbacks
GLUT_LUMINANCE5.1 GLUT window manipulation
GLUT_MENU_NUM_ITEMS5.6 GLUT state retrieval
GLUT_MIDDLE_BUTTON5.4 GLUT callbacks
GLUT_MULTISAMPLE5.1 GLUT window manipulation
GLUT_NORMAL_DAMAGED5.6 GLUT state retrieval
GLUT_NOT_VISIBLE5.4 GLUT callbacks
GLUT_NUM_BUTTON_BOX_BUTTONS5.6 GLUT state retrieval
GLUT_NUM_DIALS5.6 GLUT state retrieval
GLUT_NUM_MOUSE_BUTTONS5.6 GLUT state retrieval
GLUT_NUM_SPACEBALL_BUTTONS5.6 GLUT state retrieval
GLUT_NUM_TABLET_BUTTONS5.6 GLUT state retrieval
GLUT_OVERLAY_DAMAGED5.6 GLUT state retrieval
GLUT_OVERLAY_POSSIBLE5.6 GLUT state retrieval
GLUT_OWNS_JOYSTICK5.6 GLUT state retrieval
GLUT_RED5.5 GLUT colormap
GLUT_RGB5.1 GLUT window manipulation
GLUT_RGBA5.1 GLUT window manipulation
GLUT_RIGHT_BUTTON5.4 GLUT callbacks
GLUT_SCREEN_HEIGHT5.6 GLUT state retrieval
GLUT_SCREEN_HEIGHT_MM5.6 GLUT state retrieval
GLUT_SCREEN_WIDTH5.6 GLUT state retrieval
GLUT_SCREEN_WIDTH_MM5.6 GLUT state retrieval
GLUT_SINGLE5.1 GLUT window manipulation
GLUT_STENCIL5.1 GLUT window manipulation
GLUT_STEREO5.1 GLUT window manipulation
GLUT_TRANSPARENT_INDEX5.6 GLUT state retrieval
GLUT_UP5.4 GLUT callbacks
GLUT_VISIBLE5.4 GLUT callbacks
GLUT_WINDOW_ACCUM_ALPHA_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ACCUM_BLUE_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ACCUM_GREEN_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ACCUM_RED_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_ALPHA_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_BLUE_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_BUFFER_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_COLORMAP_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_CURSOR5.6 GLUT state retrieval
GLUT_WINDOW_DEPTH_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_DOUBLEBUFFER5.6 GLUT state retrieval
GLUT_WINDOW_FORMAT_ID5.6 GLUT state retrieval
GLUT_WINDOW_GREEN_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_HEIGHT5.6 GLUT state retrieval
GLUT_WINDOW_NUM_CHILDREN5.6 GLUT state retrieval
GLUT_WINDOW_NUM_SAMPLES5.6 GLUT state retrieval
GLUT_WINDOW_PARENT5.6 GLUT state retrieval
GLUT_WINDOW_RED_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_RGBA5.6 GLUT state retrieval
GLUT_WINDOW_STENCIL_SIZE5.6 GLUT state retrieval
GLUT_WINDOW_STEREO5.6 GLUT state retrieval
GLUT_WINDOW_WIDTH5.6 GLUT state retrieval
GLUT_WINDOW_X5.6 GLUT state retrieval
GLUT_WINDOW_Y5.6 GLUT state retrieval
GLU_FILL4.15 Quadrics
GLU_FLAT4.15 Quadrics
GLU_INSIDE4.15 Quadrics
GLU_LINE4.15 Quadrics
GLU_NONE4.15 Quadrics
GLU_OUTSIDE4.15 Quadrics
GLU_POINT4.15 Quadrics
GLU_SILHUETTE4.15 Quadrics
GLU_SMOOTH4.15 Quadrics
GL_LINES4.3 Drawing functions
GL_LINE_LOOP4.3 Drawing functions
GL_LINE_STRIP4.3 Drawing functions
GL_POINTS4.3 Drawing functions
GL_POLYGON4.3 Drawing functions
GL_QUADS4.3 Drawing functions
GL_QUAD_STRIP4.3 Drawing functions
GL_TRIANGLES4.3 Drawing functions
GL_TRIANGLE_FAN4.3 Drawing functions
GL_TRIANGLE_STRIP4.3 Drawing functions

Jump to:   G  

[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

About This Document

This document was generated on August 9, 2014 using texi2html 1.82.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back Previous section in reading order 1.2.2
[ > ] Forward Next section in reading order 1.2.4
[ << ] FastBack Beginning of this chapter or previous chapter 1
[ Up ] Up Up section 1.2
[ >> ] FastForward Next chapter 2
[Top] Top Cover (top) of document  
[Contents] Contents Table of contents  
[Index] Index Index  
[ ? ] About About (help)  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

  • 1. Section One
    • 1.1 Subsection One-One
      • ...
    • 1.2 Subsection One-Two
      • 1.2.1 Subsubsection One-Two-One
      • 1.2.2 Subsubsection One-Two-Two
      • 1.2.3 Subsubsection One-Two-Three     <== Current Position
      • 1.2.4 Subsubsection One-Two-Four
    • 1.3 Subsection One-Three
      • ...
    • 1.4 Subsection One-Four

This document was generated on August 9, 2014 using texi2html 1.82.

Gauche-gl-0.6/doc/extract0000755000076400007640000001265412342250123014364 0ustar shiroshiro;;; ;;; extract - filter bilingual texinfo document ;;; ;;; Copyright(C) 2001-2014 by Shiro Kawai (shiro@acm.org) ;;; ;;; Permission to use, copy, modify, distribute this software and ;;; accompanying documentation for any purpose is hereby granted, ;;; provided that existing copyright notices are retained in all ;;; copies and that this notice is included verbatim in all ;;; distributions. ;;; This software is provided as is, without express or implied ;;; warranty. In no circumstances the author(s) shall be liable ;;; for any damages arising out of the use of this software. ;;; ;;; $Id: extract,v 1.5 2006-11-09 23:56:20 shirok Exp $ ;;; (use gauche.parseopt) (use gauche.charconv) (use srfi-1) (use srfi-13) (use file.util) (define *outfile* #f) (define *lang* 'en) (define *version* (string-trim-both (file->string (or (find (cut sys-access <> R_OK) '("../VERSION" "./VERSION")) (error "No VERSION file?"))))) (define *node-table* '()) (define *header-table* '()) (define (scan-nodes) (let ((current-node #f) (current-header #f)) (port-for-each (lambda (line) (rxmatch-case line (#/^@node\s+([^,]+)/ (#f node) (set! current-node (string-trim-right node))) (#/^@(chapter|(sub)*section|appendix\w*)\s+(.*)/ (#f #f #f header) (set! current-header (string-trim-right header))) (#/^@c NODE\s+([^,]*)(,(.*))?/ (#f jnode #f jheader) (let* ((jn (string-trim-right jnode)) (jh (if jheader (string-trim-both jheader) jn))) (push! *node-table* (cons current-node jn)) (push! *header-table* (cons current-header jh)))) (#/^@include\s+(\S+)/ (#f file) (with-input-from-file file (cut scan-nodes) :encoding 'utf-8)) )) read-line))) (define (filter pattern-in pattern-out) (define (in line) (rxmatch-case line (test eof-object?) (pattern-in () (in (read-line))) (pattern-out () (out (read-line))) (#/^@include\s+(\S+)/ (#f file) (with-input-from-file file (cut filter pattern-in pattern-out) :encoding 'utf-8) (in (read-line))) (#/^@c COMMON$/ () (in (read-line))) (test (lambda _ (eq? *lang* 'en)) (display (regexp-replace-all #/@VERSION@/ line *version*)) (newline) (in (read-line))) (#/^@c / () (in (read-line))) ; other comment line (#/^@node\s+(.*)$/ (#f nodedesc) (process-node nodedesc) (in (read-line))) (#/^@(chapter|(sub)*section|appendix\w*)\s+(.*)/ (#f cmd #f header) (process-header cmd header) (in (read-line))) (#/^\* ([^:]+)::(.*)?/ (#f node desc) (process-menu node #f desc) (in (read-line))) (#/^\* ([^:]+):\s+([^)]+\))\.(.*)?/ (#f tag node desc) (process-menu node tag desc) (in (read-line))) (else (display (regexp-replace-all #/@VERSION@/ (regexp-replace-all #/(@x?ref)\{([^\}]+)\}/ line process-ref) *version*)) (newline) (in (read-line))))) (define (out line) (rxmatch-case line (test eof-object?) (pattern-in () (in (read-line))) (#/^@c COMMON$/ () (in (read-line))) (else (out (read-line))))) (in (read-line))) (define (process-node nodedesc) (display "@node ") (display (string-join (map (lambda (name) (cond ((assoc (string-trim-both name) *node-table*) => cdr) (else name))) (string-split nodedesc #\,)) ", ")) (newline)) (define (process-header cmd header) (format #t "@~a ~a\n" cmd (cond ((assoc (string-trim-both header) *header-table*) => cdr) (else header)))) (define (process-menu node tag desc) (if tag (format #t "* ~a: ~a. ~a\n" tag (cond ((assoc (string-trim-both node) *node-table*) => cdr) (else node)) (string-trim-both (or desc ""))) (format #t "* ~a:: ~a\n" (cond ((assoc (string-trim-both node) *node-table*) => cdr) (else node)) (string-trim-both (or desc ""))))) (define (process-ref match) (let ((cmd (rxmatch-substring match 1)) (node (rxmatch-substring match 2))) (format #f "~a{~a}" cmd (cond ((assoc (string-trim-both node) *node-table*) => cdr) (else node))))) (define (usage) (display "Usage: extract [-en|-jp][-o outfile] infile\n") (exit 1)) (define (main args) (let ((a (parse-options (cdr args) (("o=s" (outfile) (set! *outfile* outfile)) ("en" () (set! *lang* 'en)) ("jp" () (set! *lang* 'jp)) (else _ (usage)))))) (define (do-it) (case *lang* ((en) (filter #/^@c EN$/ #/^@c JP$/)) ((jp) (filter #/^@c JP$/ #/^@c EN$/)))) (unless (= (length a) 1) (usage)) (when (eq? *lang* 'jp) (with-input-from-file (car a) scan-nodes :encoding 'utf-8)) (with-input-from-file (car a) (lambda () (if *outfile* (with-output-to-file *outfile* do-it :encoding 'utf-8) (let1 out (open-output-conversion-port (current-output-port) 'utf-8) (with-output-to-port out do-it) (close-output-port out)))) :encoding 'utf-8) 0)) ;; Local variables: ;; mode: Scheme ;; end: Gauche-gl-0.6/doc/Makefile.in0000644000076400007640000000546312342247216015042 0ustar shiroshiroSHELL = @SHELL@ srcdir = @srcdir@ VPATH = $(srcdir) top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MANPAGES = EXTRACTED = gauche-gl-refe.texi gauche-gl-refj.texi GENERATED = Makefile $(MANPAGES) GOSH = "@GOSH@" GAUCHE_CONFIG = "@GAUCHE_CONFIG@" INSTALL = "@GAUCHE_INSTALL@" MAKEINFO = "@MAKEINFO@" GZIP_PROGRAM = "@GZIP_PROGRAM@" # Manual page destination. mandir = "$(DESTDIR)`$(GAUCHE_CONFIG) --mandir`" infodir = "$(DESTDIR)`$(GAUCHE_CONFIG) --infodir`" all: info install: all if test -f gauche-gl-refe.info.gz -o -f gauche-gl-refj.info.gz; then \ for info in *.info*; do \ $(INSTALL) -m 444 -T $(infodir) $$info; \ done; \ fi uninstall: (cd $(infodir); \ if test -f gauche-gl-refe.info -o -f gauche-gl-refe.info.gz; \ then rm -rf gauche-gl-refe.*; \ fi; \ if test -f gauche-gl-refj.info -o -f gauche-gl-refj.info.gz; \ then rm -rf gauche-gl-refj.*; \ fi) texi : gauche-gl-refe.texi gauche-gl-refj.texi html : gauche-gl-refe.html gauche-gl-refj.html htmls : gauche-gl-refe_toc.html gauche-gl-refj_toc.html dvi : gauche-gl-refe.dvi pdf : gauche-gl-refe.pdf info : gauche-gl-refe.info.gz gauche-gl-refj.info.gz gauche-gl-refe.html : gauche-gl-refe.texi texi2html -number gauche-gl-refe.texi gauche-gl-refe_toc.html : gauche-gl-refe.texi texi2html -split section -number gauche-gl-refe.texi gauche-gl-refe.dvi : gauche-gl-refe.texi texi2dvi gauche-gl-refe.texi gauche-gl-refe.pdf : gauche-gl-refe.texi texi2pdf gauche-gl-refe.texi gauche-gl-refe.texi : gauche-gl-ref.texi extract gosh ./extract -en -o gauche-gl-refe.texi gauche-gl-ref.texi gauche-gl-refe.info.gz : gauche-gl-refe.texi if test "X$(MAKEINFO)" != X -a "X$(GZIP_PROGRAM)" != X; then \ $(MAKEINFO) --no-warn gauche-gl-refe.texi; \ rm -rf gauche-gl-refe.info*.gz; \ $(GZIP_PROGRAM) gauche-gl-refe.info; \ fi gauche-gl-refj.html : gauche-gl-refj.texi texi2html -number gauche-gl-refj.texi gauche-gl-refj_toc.html : gauche-gl-refj.texi texi2html -split section -number gauche-gl-refj.texi gauche-gl-refj.dvi : gauche-gl-refj.texi texi2dvi gauche-gl-refj.texi gauche-gl-refj.pdf : gauche-gl-refj.texi texi2pdf gauche-gl-refj.texi gauche-gl-refj.texi : gauche-gl-ref.texi extract gosh ./extract -jp -o gauche-gl-refj.texi gauche-gl-ref.texi gauche-gl-refj.info.gz : gauche-gl-refj.texi if test "X$(MAKEINFO)" != X -a "X$(GZIP_PROGRAM)" != X; then \ $(MAKEINFO) --no-warn gauche-gl-refj.texi; \ rm -rf gauche-gl-refj.info*.gz; \ $(GZIP_PROGRAM) gauche-gl-refj.info ; \ fi clean: rm -rf core *~ *.aux *.cl *.cls *.cp *.fn *.fns *.ky *.log *.md *.mds \ *.pg *.toc *.tp *.tps *.vr *.vrs *.pdf *.dvi *.info* $(EXTRACTED) distclean : clean rm -rf $(GENERATED) maintainer-clean : clean rm -f gauche-gl-ref*.html gauche-gl-ref.dvi Makefile $(GENERATED) $(EXTRACTED) Gauche-gl-0.6/doc/gauche-gl-ref.texi0000664000076400007640000036432612342247676016320 0ustar shiroshiro\input texinfo @c -*- mode:texinfo coding:utf-8 -*- @comment %**start of header @c EN @setfilename gauche-gl-refe.info @settitle Gauche-gl : OpenGL binding for Gauche @dircategory The Algorithmic Language Scheme @direntry * Gauche-gl Reference: (gauche-gl-refe.info). Gauche OpenGL binding @end direntry @c JP @setfilename gauche-gl-refj.info @settitle Gauche-gl : OpenGL binding for Gauche @dircategory The Algorithmic Language Scheme @direntry * Gauche-gl Reference (ja): (gauche-gl-refj.info). Gauche OpenGL binding @end direntry @c COMMON @comment %**end of header @c module and class index @defcodeindex md @defcodeindex cl @iftex @finalout @parskip 4pt plus 1pt @end iftex @titlepage @c EN @title Gauche-gl : OpenGL binding for Gauche @c JP @title Gauche-gl : OpenGL binding for Gauche @c COMMON @subtitle version @VERSION@ @author Shiro Kawai (shiro@@acm.org) @page @vskip 0pt plus 1filll Copyright @copyright{} 2002-2012 Shiro Kawai (shiro@@acm.org) @end titlepage @node Top, Introduction, (dir), (dir) @ifnottex This is a reference manual of Gauche-gl, an OpenGL binding for the Gauche Scheme implementation. This manual is for version @VERSION@. @end ifnottex @c ====================================================================== @menu * Introduction:: * Installation:: * Getting Started:: * OpenGL API:: * GLUT API:: * Vectors and matrices:: * Simple utilities:: * Indices:: @end menu @node Introduction, Installation, Top, Top @chapter Introduction @c NODE ã¯ã˜ã‚ã« Gauche-gl is an extension module of Gauche Scheme implementation. It provides the following modules: @table @code @item gl This module provides bindings to OpenGL API. It covers most functions in OpenGL 1.0 through 2.0, and GLU. The functions are described in @ref{OpenGL API}. @item gl.glut This module provides bindings to most functions in GLUT. The functions are described in @ref{GLUT API}. @item gl.math3d This module provides vector and matrix calculations optimized for 3D homogeneous coordinates. The vector and matrix objects here can be directly passed to Gauche-gl functions. The functions are descrbied in @ref{Vectors and matrices}. @item gl.simple.* These modules provide simple APIs for programmers to hack up a very simple OpenGL application. They are by no means intended for general application development, but would be handy for throwaway script. See @ref{Simple utilities} for the details. @end table @c ====================================================================== @node Installation, Getting Started, Introduction, Top @chapter Installation Installing Gauche-gl is usually straightforward on Unix variants. You have to have the following programs installed on your machine. @itemize @bullet @item Gauche 0.8.5 or later @item OpenGL 1.1 equivalent library; the auther checked with Mesa 3.4 and NVidia's GLX driver. @item GLUT 3.7 or later. @end itemize The standard way to compile and install Gauche-gl is as follows: @example % gzcat Gauche-gl-@VERSION@.tgz | tar xf - % cd Gauche-gl-@VERSION@ % ./configure % make % make test % make install @end example Or you can use @file{gauche-package} command: @example % gauche-package install -C= Gauche-gl-@VERSION@.tgz @end example The confiugre script figures out the location Gauche is installed, and install Gauche-gl in the same place. If you have GLUT installed in non-standard place, you have to tell the configure script where it is. @example % ./configure --with-glut=DIR @end example Since version 0.4, Gauche-gl can be configured to include bindings to NVidia's Cg Toolkit. The binding code is contributed by Issac Trotts. To enable Cg binding, give @code{--enable-cg} option to the configure script. @example % ./configure --enable-cg @end example It is reported that Mesa in FreeBSD ports is compiled with pthreads enabled, and Gauche-gl can't be linked unless Gauche itself is compiled with pthreads. The configure script of Gauche prints warning if you specify pthreads, but it is safe as far as you don't call make-thread in your program. There are various examples under @file{examples/} directory. If you want to run the examples before installing Gauche-gl, you have to tell the location of the library to @code{gosh} command, e.g. @code{gosh -I../src -I../lib gears.scm}. Some demos under subdirectories have a shell script that invokes @code{gosh} with proper command-line options. @table @file @item gears.scm Brian Paul's 3D gear wheels. @item mandelbrot.scm Simple calculated texture. @item glbook/ This subdirectory contains examples found in "OpenGL Programming Guide", a.k.a. Redbook. @item slbook/ This subdirectory contains examples found in "OpenGL Shading Language". Each demo is under its own subdirectories. You need to have proper driver/hardware that supports GLSL to run these demos. @end table @c ====================================================================== @node Getting Started, OpenGL API, Installation, Top @chapter Getting Started @menu * GL calls in Scheme:: * Advanced GL features:: * Using GLUT:: * Performance tips:: @end menu @c ---------------------------------------------------------------------- @node GL calls in Scheme, Advanced GL features, Getting Started, Getting Started @section GL calls in Scheme I assume you have basic knowledge of OpenGL API. Gauche-gl maps OpenGL calls to Scheme procedures pretty straightforwardly. For example, the very first example of "OpenGL Programming Guide", the pseudo code of OpenGL application, can be written in Gauche-gl like this: @example (use gl) (define (main args) (@i{initialize-a-window-please}) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color 1.0 1.0 1.0) (gl-ortho 0.0 1.0 0.0 1.0 -1.0 1.0) (gl-begin* GL_POLYGON (gl-vertex 0.25 0.25 0.0) (gl-vertex 0.75 0.25 0.0) (gl-vertex 0.75 0.75 0.0) (gl-vertex 0.25 0.75 0.0) ) (gl-flush) (@i{update-the-window-and-check-for-events}) 0) @end example Note that @i{initialize-a-window-please} and @i{update-the-window-and-check-for-events} are function calls dependent on the windowing system. Gauche-gl comes with GLUT binding and you can use it to do basic stuff. In the separate package Gauche-gtk, a binding to GtkGLExt is provided, which allows you to do GL rendering inside Gtk widgets. For the time being, let's focus on the pure GL part. The mapping of GL call name is straightforward. The mixed case names in OpenGL C API is expanded to hyphenated name, e.g. @code{glClearColor} @result{} @code{gl-clear-color}. OpenGL enums are mapped as is, e.g. @code{GL_POLYGON}. (Note that Gauche is case-sensitive by default. Also note the underscore, not hyphen, in constants). A few convenience macros, such as @code{gl-begin*}, is defined. There are straight bindings of @code{gl-begin} and @code{gl-end}, so you can write the drawing part in the same way as in C: @example (gl-begin GL_POLYGON) (gl-vertex 0.25 0.25 0.0) (gl-vertex 0.75 0.25 0.0) (gl-vertex 0.75 0.75 0.0) (gl-vertex 0.25 0.75 0.0) (gl-end) @end example Actually @code{gl-begin*} macro expands into the above calls. It's a matter of taste, but the macro version guarantees begin and end match, and the syntax-aware editor can indent internal calls accordingly. You might have noticed that the type suffix in C API is not in Gauche binding. The Scheme function figures out the type of passed arguments and calls appropriate C API. SRFI-4 uniform numeric vectors are used to represent arrays of numbers. @example (gl-vertex 1.0 2.0 3.0) @result{} glVertex3d (gl-vertex '#f32(1.0 2.0)) @result{} glVertex2fv (gl-vertex '#s32(3 2 5)) @result{} glVertex3iv @end example Generally, passing uniform vectors is much more efficient than giving individual numbers, for the former can eliminate the cost of type checking and unboxing. Some GL calls can also take @code{gl.math3d} primitive objects such as @code{vector4f}, @code{point4f} or @code{matrix4f} (@xref{Vectors and matrices}). For example, you can pass @code{point4f} object to @code{gl-vertex}, @code{vector4f} to @code{gl-normal}, and @code{matrix4f} to @code{gl-mult-matrix}. They are efficient since calculations on those types are defined natively in @code{gl.math3d}, and passing it to GL call doesn't cost unboxing. @c ---------------------------------------------------------------------- @node Advanced GL features, Using GLUT, GL calls in Scheme, Getting Started @section Advanced GL features Although Gauche-gl supports up to OpenGL 2.0, all functionalities may not be available on the target machine's driver/hardware. The application needs to check the availability of the extension and/or GL version before using the features that are only supported by the extension/version. Gauche-gl provides a couple of utility procedures to check the feature sets at runtime. For example, you can switch behavior depending on OpenGL 1.3 feature availability: @example (if (gl-version>=? "1.3") (code-using-features-available-in-OpenGL-1.3-and-later ...) (alternative-code ...)) @end example Or you can check the availability of extensions: @example (unless (gl-extension-supported? 'GL_ARB_shader_objects 'GL_ARB_fragment_shader 'GL_ARB_vertex_shader 'GL_ARB_shading_language_100) (error "OpenGL Shading Language extensions not available")) @end example See @ref{GL feature checking} for the details. If the client program calls a GL API that are not supported on the platform, an error is signalled. @c ---------------------------------------------------------------------- @node Using GLUT, Performance tips, Advanced GL features, Getting Started @section Using GLUT In order to make a runnable script, you need to use some windowing system interface. GLUT binding provides a simple way for it. Here is a complete runnable Scheme script, ported from Example 1-2 in "OpenGL Programming Guide": @example (use gl) (use gl.glut) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-begin* GL_POLYGON (gl-vertex '#f32(0.25 0.25 0.0)) (gl-vertex '#f32(0.75 0.25 0.0)) (gl-vertex '#f32(0.75 0.75 0.0)) (gl-vertex '#f32(0.25 0.75 0.0)) ) (gl-flush) ) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho 0.0 1.0 0.0 1.0 -1.0 1.0) ) (define (keyboard key x y) (cond ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window "hello") (init) (glut-display-func disp) (glut-keyboard-func keyboard) (glut-main-loop) 0) @end example The @code{(use gl.glut)} form loads GLUT binding. The name mapping is the same as GL's: mixed case names to hyphenated names. In order to handle various events, you can pass a closure to @code{glut-display-func} etc. In the keyboard and mouse event callback, all arguments are integers. There are more examples under the @file{examples/} directory which uses GLUT. @c ---------------------------------------------------------------------- @node Performance tips, , Using GLUT, Getting Started @section Performance tips If you want to display millions of polygons in 30 fps, Gauche-gl is not for you. Consider using implementations that compiles into native code. The purpose of Gauche-gl is to provide reasonable performance for interactive development and experiment. However, if you know some tips, actually you can go quite far, especially with recent processors and graphics chips. @table @emph @item Avoid alocation within the inner loop. The functional (non-destructive) operations tend to return newly-allocated objects. Use linear-update (destructive) versions instead, such as @code{matrix-mul!}, @code{u8vector-add!}, etc, whenever possible. Pre-allocating temporary vectors is also effective. @item Reduce the number of calls within the inner loop. Vertex arrays are much better than calling @code{gl-vertex} over and over. Also consider using display lists if you're displaying rigid objects. @item Keep numbers within a uniform vector. Every time you take a number out of a uniform vector (or @code{} etc.), Gauche has to wrap the number by a tag (boxing). Also when you store a number into a uniform vector, Gauche has to check the type of the object, then strip a tag (unboxing). Those are all overhead you wouldn't have if you operate directly on uniform vectors (or @code{} etc). @item Write extensions to accelerate. If the above strategies are not enough, consider writing computation-intensive part in C as an extension. The easier way is to make C routines operate on uniform vectors, which is essentially a pointer to an array of numbers from C, and let Scheme handle higher-level data structures. (It could be viewed like relations between a coprocessor and a processor; the former does simple, iterative calculations fast, and the latter handles complicated logic). @end table @c ====================================================================== @node OpenGL API, GLUT API, Getting Started, Top @chapter OpenGL API In this chapter we list a GL and GLU procedures accessible from Gauche-gl, with brief descriptions to help programmers to remind what the functions are. We don't intend to make this an OpenGL reference, though; you should look at the OpenGL book for the details of what each API do. @menu * GL data types:: * GL feature checking:: * Drawing functions:: * GL state control:: * GL states for drawing:: * Transformation:: * Display lists:: * Vertex arrays:: * Lighting:: * Pixels:: * Texture mapping:: * Framebuffers:: * Selection and feedback:: * Projection:: * Quadrics:: * Nurbs:: * Polygon tesselation:: * Programmable shaders:: @end menu @c ---------------------------------------------------------------------- @node GL data types, GL feature checking, OpenGL API, OpenGL API @section GL data types GL doesn't define many data structures: some scalar primitives (e.g. @code{GLint}) and arrays of them. For scalar values, Gauche-gl has natural mappings: @table @code @item GLboolean Scheme booleans. @item GLbyte, GLubyte, GLshort, GLushort, GLint, GLuint, GLenum, GLbitfield Scheme exact integers. @item GLfloat, GLdouble, GLclampf, GLclampd Scheme real numbers. @end table For arrays, Gauche-gl uses uniform (srfi-4) vector whenever possible. For float arrays, however, Gauche-gl allows more structured types, such as points or matrices, when they are relevant. Such types are provided in @code{gl.math3d} module (see @ref{Vectors and matrices}), which also provides common arithmetics between those types. Another exception is an array of GLboolean---it doesn't have corresponding uniform vector representation. Gauche-gl defines a new type, @code{}, to represent an array of GLboolean. See below for operations provided on it. @table @code @item GLbyte[] @code{} @item GLubyte[] @code{} @item GLshort[] @code{} @item GLushort[] @code{} @item GLint[] @code{} @item GLuint[] @code{} @item GLfloat[], GLclampf[] @code{}, @code{}, @code{}, @code{}, @code{}, @code{}, @code{}. @item GLdouble[], GLclampd[] @code{} @item GLboolean[] @code{} @end table @subheading GL boolean vectors @deftp {Class} A class for an array of boolean values. You can pass its instance to the GL APIs that expect an array of GLbooleans. Its internal representation is bitwise compatible to GLbooean array, so passing it is quite efficient. This class inherits @code{}, so you can use generic sequence operations on it. The external representation of GL boolean vector uses srfi-10 notation, and can be read back. For example, a GL boolean vector of length 5 may be written something like this: @example #,(gl-boolean-vector #t #f #t #f #t) @end example @end deftp @defun make-gl-boolean-vector size &optional init Returns a GL boolean vector of @var{size} elements. Elements are initialized by either @code{#f} or @code{#t}, according to @var{init}. @example (make-gl-boolean-vector 3 #t) @result{} #,(gl-boolean-vector #t #t #t) @end example @end defun @defun gl-boolean-vector bool @dots{} Returns a GL boolean vector, whose elements are @var{bool} @dots{}. @example (gl-boolean-vector #f #t #t) @result{} #,(gl-boolean-vector #f #t #t) @end example @end defun @defun gl-boolean-vector? obj Returns @code{#t} if @var{obj} is a GL boolean vector, @code{#f} otherwise. @end defun @defun gl-boolean-vector-length v Returns length of a GL boolean vector @var{v}. You can also use the sequence generic function @code{size-of}. @end defun @defun gl-boolean-vector-fill! v bool Fills a GL boolean vector @var{v} with a boolean value @var{bool}. @end defun @defun list->gl-boolean-vector bools Coerce list of boolean values to a GL boolean vector. You can also use the @code{coerce-to} generic function to convert between GL boolean vectors and other sequences. @end defun @defun gl-boolean-vector-ref v k &optional fallback Returns @var{k}-th element of a GL boolean vector @var{v}. If @var{k} is out of range and @var{fallback} is provided, it is returned. If @var{k} is out of range and @var{fallback} is omitted, an error is signalled. You can also use generic function @code{ref} to access a GL boolean vector. @end defun @defun gl-boolean-vector-set! v k bool Sets @var{k}-th element of a GL boolean vector @var{v} by a boolean value @var{bool}. You can also use generic function @code{(setter ref)} to modify a GL boolean vector. @end defun @defun gl-boolean-vector-copy v Returns a copy of a GL boolean vector @var{v}. @end defun @c ---------------------------------------------------------------------- @node GL feature checking, Drawing functions, GL data types, OpenGL API @section GL feature checking If you want to use a feature that are in OpenGL 1.2 or later, or in a GL extension, you have to check its availability before actually calling the API function. You can use the following utility procedures. Note that those functions may return @code{#f} if the connection to the display subsystem isn't established yet. Usually you have to initialize and open an window before checking the features. @defun gl-extension-available? extension-name @dots{} Returns @code{#t} if GL extensions listed in @var{extension-name} @dots{} are all available. @var{Extension-name} can be a symbol or a string (e.g. @code{GL_ARB_multisample}). @end defun @defun gl-version? version @defunx gl-version>=? version @defunx gl-version=? version Returns @code{#t} if the runtime OpenGL version is less than, less thanor equal to, greater than, greater than or equal to, and equal to, the given @var{version}, respectively. Give @var{version} in a string, e.g. @code{"1.3"}. @end defun @c ---------------------------------------------------------------------- @node Drawing functions, GL state control, GL feature checking, OpenGL API @section Drawing functions @defmac gl-begin* mode gl-commands @dots{} @vindex GL_POINTS @vindex GL_LINES @vindex GL_LINE_STRIP @vindex GL_LINE_LOOP @vindex GL_TRIANGLES @vindex GL_TRIANGLE_STRIP @vindex GL_TRIANGLE_FAN @vindex GL_QUADS @vindex GL_QUAD_STRIP @vindex GL_POLYGON Executes @var{gl-commands} between @code{(gl-begin @var{mode})} and @code{(gl-end)}. @var{Mode} can be one of the following constants. @table @code @item GL_POINTS Individual points. @item GL_LINES Pairs of vertices interpreted as individual line segments. @item GL_LINE_STRIP Series of connected line segments. @item GL_LINE_LOOP Same as above, with a segment added between last and first vertices. @item GL_TRIANGLES Triples of vertices interpreted as triangles. @item GL_TRIANGLE_STRIP Linked trip of triangles. @item GL_TRIANGLE_FAN Linked fan of triangles. @item GL_QUADS Quadruples of vertices interpreted as four-sided polygons. @item GL_QUAD_STRIP Linked strip of quadrilaterals. @item GL_POLYGON Boundary of a simple, convex polygon. @end table @end defmac @defun gl-begin mode @defunx gl-end Corresponds to @code{glBegin} and @code{glEnd}. Use of @code{gl-begin*} macro is recommended, though. @end defun @defun gl-flush Flush the GL command buffer. @end defun @defun gl-finish Make sure all previously issued GL commands are completed. @end defun @defun gl-rect point1 point2 @defunx gl-rect x1 y1 x2 y2 Draws a rectangle. In the first form, @var{point1} and @var{point2} can be either @code{}, or f32, f64, s32, or s16vector of length 2. Types of both args should match. In the second form, all args should be a real numbers (@code{glRectd} is used). @end defun @defun gl-vertex point @defunx gl-vertex x y &optional z w Specify vertices. In the first form, @var{point} can be either @code{}, or f32, f64, s32 or s16vector of length 2, 3 or 4. In the second form, all args should be a real numbers. @end defun @defun gl-normal vector @defunx gl-normal x y z Sets vertex normal vector. In the first form, @var{vector} can be either @code{} (the fourth element is ignored), or f32, f64, s32 ro s16vector of length 3. In the second form, all args should be a real numbers. @end defun @defun gl-color color @defunx gl-color r g b &optional a Sets the current color. In the first form, @var{color} can be either f32, f64, u8, u16, u32, s8, s16, or s32vector of length 3 or 4. In the second form, all args should be a real numbers. @end defun @defun gl-tex-coord coord @defunx gl-tex-coord u v &optional s t Sets the current texture coordinates. In the first form, @var{coord} can be either f32, f64, s32 or s16vector of length 1, 2, 3, or 4. In the second form, all args should be a real numbers. @end defun @defun gl-raster-pos pos @defunx gl-raster-pos x y &optional z w Sets the current raster position. In the first form, @var{pos} can be eitehr f32, f64, s32 or s16vector. In the second form, all args should be a real numbers. @end defun @c ---------------------------------------------------------------------- @node GL state control, GL states for drawing, Drawing functions, OpenGL API @section GL state control @subsubheading Capabilities @defun gl-enable cap @defunx gl-disable cap Turns on and off a capability @var{cap}. Check out OpenGL reference for the list of capabilities. @end defun @defun gl-is-enabled cap Returns @code{#t} of @code{#f} depending on @var{cap} is enabled or not. @end defun @defun gl-enable-client-state array @defunx gl-disable-client-state array Enable/disable a client-side array (e.g. vertex array) specified by @var{array}. @var{Array} can be one of the following constants. @table @code @item GL_VERTEX_ARRAY @item GL_COLOR_ARRAY @item GL_INDEX_ARRAY @item GL_NORMAL_ARRAY @item GL_TEXTURE_COORD_ARRAY @item GL_EDGE_FLAG_ARRAY @end table @end defun @subsubheading State values Gauche has two variations for each type of OpenGL @code{glGetTYPE} APIs; nondestructive version and destructive versions. Nondestructive versions such as @code{gl-get-boolean} allocates and returns the vector of appropriate type for the state. For destructive versions such as @code{gl-get-boolean!}, you need to pass a vector to be filled in. The destructive version is non-allocating operation, so it is suitable if you call it within the drawing loop. If the state has a scalar value, the non-destructive version of query function returns a scalar value, but you need to pass a (uniform) vector of length 1 for the destructive version. @defun gl-state-vector-size state [Gauche specific] Returns the required size of the vector to retrieve GL state @var{state}. It is useful to prepare the vector to pass to the destructive version of @code{glGetTYPE} API. @end defun @defun gl-get-boolean state @defunx gl-get-boolean! gl-boolean-vector state Get (a) boolean state value(s). @end defun @defun gl-get-integer state @defunx gl-get-integer! s32vector state Get (an) integer state value(s). @end defun @defun gl-get-float state @defunx gl-get-float! f32vector state Get (a) single-precision floating-point state value(s). @end defun @defun gl-get-double state @defunx gl-get-double! f64vector state Get (a) double-precision floating-point state value(s). @end defun @subsubheading Push/pop attributes @defun gl-push-attrib mask @defunx gl-pop-attrib Push/pop attributes indicated by @var{mask}. Valid @var{mask} can be @code{logior} of the following bits (GLL_ALL_ATTRIB_BITS is @code{logior} of all the bits). @table @code @item GL_ACCUM_BUFFER_BIT @item GL_COLOR_BUFFER_BIT @item GL_CURRENT_BIT @item GL_DEPTH_BUFFER_BIT @item GL_ENABLE_BIT @item GL_EVAL_BIT @item GL_FOG_BIT @item GL_HINT_BIT @item GL_LIGHTING_BIT @item GL_LINE_BIT @item GL_LIST_BIT @item GL_PIXEL_MODE_BIT @item GL_POINT_BIT @item GL_POLYGON_BIT @item GL_POLYGON_STIPPLE_BIT @item GL_SCISSOR_BIT @item GL_STENCIL_BUFFER_BIT @item GL_TEXTURE_BIT @item GL_TRANSFORM_BIT @item GL_VIEWPORT_BIT @item GL_ALL_ATTRIB_BITS All of the above. @end table @end defun @defun gl-push-client-attrib mask @defunx gl-pop-client-attrib Push/pop client attributes. Valid @var{mask} can be @code{logior} of the following @table @code @item GL_CLIENT_PIXEL_STORE_BIT @item GL_CLIENT_VERTEX_ARRAY_BIT @item GL_ALL_CLIENT_ATTRIB_BITS All of the above. @end table @end defun @subsubheading Other queries @defun gl-get-error Returns the value of the error flag. Returned an integer value. Check out the OpenGL documentation for the possible error values. This function resets the error flag to @code{GL_NO_ERROR}. @end defun @defun glu-error-string error-code Returns a descriptive string for @var{error-code} returned by @code{gl-get-error}. @end defun @defun gl-get-string name Returns informative string about @var{name} of the GL library. @var{Name} can be one of the following. @table @code @item GL_VENDOR @item GL_RENDERER @item GL_VERSION @item GL_EXTENSIONS @end table To check a specific version or extension, you can also use the utility procedure @code{gl-version>?} etc. See @ref{GL feature checking}. @end defun @defun glu-get-string name Returns informative string about @var{name} of the GLU library. @var{Name} can be one of the following. @table @code @item GLU_VERSION @item GLU_EXTENSIONS @end table @end defun @subsubheading Hints @defun gl-hint target hint Controls quality of @var{target} by @var{hint}. @var{Target} can be one of the following: @table @code @item GL_POINT_SMOOTH_HINT @item GL_LINE_SMOOTH_HINT @item GL_POLYGON_SMOOTH_HINT @item GL_FOG_HINT @item GL_PERSPECTIVE_CORRECTION_HINT @end table And @var{hint} can be one of the following: @table @code @item GL_FASTEST @item GL_NICEST @item GL_DONT_CARE @end table @end defun @c ---------------------------------------------------------------------- @node GL states for drawing, Transformation, GL state control, OpenGL API @section GL states for drawing @defun gl-point-size size Sets the width in pixels for rendered points. The possible range of @var{size} on the running GL implementation can be obtained by passing either @code{GL_ALIASED_POINT_SIZE_RANGE} or @code{GL_SMOOTH_POINT_SIZE_RANGE} to @code{gl-get-float}. @end defun @defun gl-line-width width Sets the width in pixels for rendered lines. The possible range of @var{width} on the running GL implementation can be obtained by passing either @code{GL_ALIASED_LINE_WIDTH_RANGE} or @code{GL_SMOOTH_LINE_WIDTH_RANGE} to @code{gl-get-float}. @end defun @defun gl-line-stipple factor pat Sets the current stippling pattern for lines. @code{pat} must be an exact integer, and its lower 16 bits are used to specify the stipple pattern. @var{Factor} is an integer factor to specify how many pixels corresponds to one bit in @var{pat}. You have to enable @var{GL_LINE_STIPPLE} to use face culling. @end defun @defun gl-polygon-mode face mode Specifies the drawing mode for a polygon's front and back faces. @var{Face} can be one of the followings: @table @code @item GL_FRONT_AND_BACK @item GL_FRONT @item GL_BACK @end table @var{Mode} can be one of the followings: @table @code @item GL_POINT @item GL_LINE @item GL_FILL @end table @end defun @defun gl-front-face mode Controls how OpenGL determine front face of a polygon @var{Mode} can be one of the followings: @table @code @item GL_CCW Front face is where ordered vertices appear in a counterclockwise orientation (default). @item GL_CW Front face is where ordered vertices appear in a clockwise orientation. @end table @end defun @defun gl-cull-face mode Indicates which face of polygons should be culled. @var{Mode} can be one of the followings: @table @code @item GL_FRONT @item GL_BACK @item GL_FRONT_AND_BACK @end table You have to enable @var{GL_CULL_FACE} to use face culling. @end defun @defun gl-polygon-stipple mask Defines the current stipple pattern for filled polygons. @var{Mask} has to be a u8vector of length 128, specifying a 32x32 bitmap pattern. You have to enable @var{GL_POLYGON_STIPPLE} to use this feature. @end defun @defun gl-edge-flag flag Sets the edge flag(s) of vertices. When @var{flag} is a GL boolean vector, @code{glEdgeFlagv} is called. Otherwise @var{flag} is used as a single boolean value for @code{glEdgeFlag}. @end defun @defun gl-blend-func sfactor dfactor Controls how color values in the fragment being processed (the source) are combined with the ones in the framebuffer (the destination). Possible values for the @var{sfactor} and @var{dfactor} arguments are as follows. @table @code @item GL_ZERO @item GL_ONE @item GL_DST_COLOR @item GL_SRC_COLOR @item GL_ONE_MINUS_DST_COLOR @item GL_ONE_MINUS_SRC_COLOR @item GL_SRC_ALPHA @item GL_ONE_MINUS_SRC_ALPHA @item GL_DST_ALPHA @item GL_ONE_MINUS_DST_ALPHA @item GL_SRC_ALPHA_SATURATE @item GL_CONSTANT_COLOR @item GL_ONE_MINUS_CONSTANT_COLOR @item GL_CONSTANT_ALPHA @item GL_ONE_MINUS_CONSTANT_ALPHA @end table @end defun @defun gl-blend-equation mode [GL_ARB_imaging] By default, the source and destination colors are added after processed as specified by @var{gl-blend-func}. With this extension API you can change the function. @var{Mode} can be one of the following values: @table @code @item GL_FUNC_ADD @item GL_FUNC_SUBTRACT @item GL_FUNC_REVERSE_SUBTRACT @item GL_MIN @item GL_MAX @end table @end defun @defun gl-blend-color red green blue alpha [GL_ARB_imaging] Sets the constant color used in the blending function. @end defun @defun gl-polygon-offset factor units [GL1.1] Offset the depth value of each fragment. Useful to avoid artifacts when you draw polygon edges over its surfaces, for example. @end defun @defun gl-clip-plane plane equation Defines a clipping plane. @var{Plane} specifies which clipping plane you're defining. Use @code{GL_MAX_CLIP_PLANES} to @code{gl-get-integer} to obtain the number of clipping planes you can use. You have to enable the specific clipping plane (e.g. @code{(gl-enable GL_CLIP_PLANE0)}) to use the clipping plane. @var{Equation} must be an f64vector of size 4, specifying four coefficients of the plane equation, @code{Ax + By + Cz + D = 0}. @end defun @defun gl-get-clip-plane plane Returns the four coefficients of the equation of clipping plane @var{plane}, in f64vector. @end defun @defun gl-fog pname param Sets the parameters and function for the fog effect. Possible values for @var{pname} and accepted @var{param} for each @var{pname} are shown below. @table @code @item GL_FOG_MODE Either @code{GL_EXP}, @code{GL_EXP2}, @code{GL_LINEAR} to select the fog factors. @item GL_FOG_DENSITY @item GL_FOG_START @item GL_FO_END A real number to specify those parametes. @item GL_FOG_COLOR An f32vector of size 4 to specify the color. @end table @end defun @c ---------------------------------------------------------------------- @node Transformation, Display lists, GL states for drawing, OpenGL API @section Transformation @defun gl-matrix-mode mode Speficies whether the modelview, projection, or texture matrix will be modified. @var{Mode} can be one of the followings: @table @code @item GL_MODELVIEW @item GL_PROJECTION @item GL_TEXTURE @end table @end defun @defun gl-load-identity Loads an identity matrix to the current modifiable matrix. @end defun @defun gl-load-matrix mat Loads the matrix @var{mat} to the current modifiable matrix. @var{Mat} can be a @code{} instance, or f32 or f64vector of length 16. @end defun @defun gl-mult-matrix mat Multiplies the matrix @var{mat} to the current modifiable matrix. @var{Mat} can be a @code{} instance, or f32 or f64vector of length 16. @end defun @defun gl-translate x y z Multiplies the current matrix by a matrix taht translates an object by (@var{x}, @var{y}, @var{z}). Internally, @code{glTranslated} is called. @end defun @defun gl-rotate angle x y z Multiplies the current matrix by a matrix that rotates an object in a counterclockwise direction about the ray from the origin through the point (@var{x}, @var{y}, @var{z}) by @var{angle} degrees. Internally, @code{glRotated} is called. @end defun @defun gl-scale x y z Multiplies the current matrix by a matrix that scales an object by (@var{x}, @var{y}, @var{z}). Internally, @code{glScaled} is called. @end defun @defun glu-look-at eyex eyey eyez ctrx ctry ctrz upx upy upz Defines a viewing matrix and multiplies it to the right of the current matrix. @end defun @defun gl-frustum left right bottom top nearv farv Creates a matrix for a perspective-view frustum and multiplies the current matrix by it. @end defun @defun glu-perspective fovy aspect znear zfar Creates a matrix for a symmetrix perspective-view frustum and multiplies the current matrix by it. @end defun @defun gl-ortho left right bottom top nearv farv Creates a matrix for an orthographic parallel viewing volume nand multiplies the current matrix by it. @end defun @defun glu-ortho-2d left right bottom top Convenience procedure for 2D drawing; it is the same as @code{gl-ortho} except nearv and farv are fixed (along Z axis) to -1.0 and 1.0, respectively. @end defun @defun gl-viewport x y width height Defines a pixel rectangle in the window into which the final image is mapped. @end defun @defun gl-push-matrix @defunx gl-pop-matrix Pushes/pops the current matrix. @end defun @defmac gl-push-matrix* expr @dots{} A convenience macro. Pushes the current matrix, executes @var{expr}s, then pop the current matrix. @end defmac @c ---------------------------------------------------------------------- @node Display lists, Vertex arrays, Transformation, OpenGL API @section Display lists @defun gl-gen-lists range Allocates @var{range} number of contiguous display list indices. Returns an integer which is the smallest display list index you can use. @end defun @defun gl-new-list list-no mode Starts a display list construction. @var{Mode} may be one of the constants @code{GL_COMPILE} or @code{GL_COMPILE_AND_EXECUTE}. @end defun @defun gl-end-list Ends a display list construction. @end defun @defun gl-call-list list-no Calls a display list. @end defun @defun gl-is-list list-no Returns @code{#t} if @var{list-no} is an already used display list number, @code{#f} otherwise. @end defun @defun gl-delete-lists list-no-start range Deletes @var{range} display list, beginning from @var{list-no-start}. @end defun @defun gl-list-base base Specifies the offset that's added to the display list indices in @code{gl-call-list}. @end defun @defun gl-call-lists size type lists @defunx gl-call-lists size lists @defunx gl-call-lists lists Executes @var{size} display list, whose indices are contained in @var{lists}. You can pass a u8, s8, u16, s16, u32, s32 or f32vector, or a string, as @var{lists}. If it is a string, each byte consists of the string is interpreted as an unsigned integer specifying a display list. It is useful for the technique to display character strings by creating display lists for each ASCII characters. But be aware that it doesn't work for multibyte characters. Usually you can use the simplest form (the third form) and Gauche-gl infers the @var{size} and @var{type} from the passed @var{lists}. You can explicitly specify @var{size} if you want to use just a beginning portion of @var{lists}. An error is signalled if you specify @var{size} that is larger than the size of @var{lists}. Specifying @var{type} is useful only if @var{lists} is a u8vector, and you want to use one of three special types allowed to @code{glCallLists}, namely @code{GL_2_BYTES}, @code{GL_3_BYTES}, and @code{GL_4_BYTES}. @end defun @c ---------------------------------------------------------------------- @node Vertex arrays, Lighting, Display lists, OpenGL API @section Vertex arrays Scheme version of APIs doesn't have @var{GLenum type} argument in C API, since Gauche-gl can figure out the type by passed vectors. Scheme API of @code{gl-*-array} has @var{offset} optional argument, by which you can pass the GL the values beginning from the @var{offset}-th element of the passed uniform vector. This isn't in GL C API, since you can just offset the pointer in C. NOTE: it is caller's responsibility to guarantee the passed vector has enough length. GL doesn't have an interface to specify the boundary, so Gauche can't detect an invalid length vector. @defun gl-vertex-pointer size vec &optional stride offset Sets the vertex array. @var{Size} specifies the number of scalar values per vertex (2, 3, or 4), and @var{vec} provides the actual value in either f32, f64, s32 or s16vector. @code{Stride} and @var{offset} can be used to tell GL to access @var{vec} sparsely. @end defun @defun gl-normal-pointer vec &optional stride offset Sets the normal array. @var{Vec} should be either a f32, f64, s32 or s16vector, where each consecutive triplet specifies a normal vector. @code{Stride} and @var{offset} can be used to tell GL to access @var{vec} sparsely. @end defun @defun gl-color-pointer size vec &optional stride offset Sets the color array. @var{Size} specifies the number of scalar values per color (3 or 4), and @var{vec} provides the actual values in either f32, f64, u32, u16, u8, s32, s16, or s8vector. @code{Stride} and @var{offset} can be used to tell GL to access @var{vec} sparsely. @end defun @defun gl-index-pointer vec &optional stride offset Sets the index array. @var{Vec} can be either s32, s16, u8, f32, or f64vector. @code{Stride} and @var{offset} can be used to tell GL to access @var{vec} sparsely. @end defun @defun gl-tex-coord-pointer size vec &optional stride offset Sets the texture coordinate array. @var{Size} specifies the number of scalar values per texture coordinate (1, 2, 3 or 4), and @var{vec} provides the actual values in either f32, f64, s32 or s16vector. @code{Stride} and @var{offset} can be used to tell GL to access @var{vec} sparsely. @end defun @defun gl-edge-flag-pointer vec &optional stride offset Sets the edge flag array. @var{Vec} must be a GL boolean vector. @code{Stride} and @var{offset} can be used to tell GL to access @var{vec} sparsely. @end defun @defun gl-array-element ith Dereference @var{ith} vertex information of the currently enabled arrays. @end defun @defun gl-draw-elements mode indices Issues geometric primitive calls consists of the vertex information of the currently enabled arrays, each of which is specified by @var{indices}, which should be either a u8, u16 or u32vector. @var{Mode} is the same as of @code{gl-begin}. @end defun @defun gl-draw-range-elements mode start end indices [GL1.2] Like @code{gl-draw-elements}, but limits the range of indices between @var{start} and @var{end}, inclusive. GL driver may take advantage of the information for better performance. @end defun @defun gl-draw-arrays mode first count This is more straightforward. Starting from @var{first} index, @var{count} vertices is wrtten in the drawing mode @var{mode} (same as of @code{gl-begin}), taken from the current enabled arrays. @end defun @defun gl-interleaved-arrays format vec &optional stride offset @var{Vec} must be a f32vector. It contains various information (e.g. vertex position, color and texture coordinate) interleaved, in the way specified by @var{format}. In Scheme API, we only allow uniform vector as @var{vec}, so you can't use the format that mixes float and integer, such as @code{GL_C4UB_V2F}. @end defun @c ---------------------------------------------------------------------- @node Lighting, Pixels, Vertex arrays, OpenGL API @section Lighting @defun gl-shade-model mode Sets the shading model, either @code{GL_SMOOTH} or @code{GL_FLAT}. @end defun @defun gl-light light pname param Creates a light specified by @var{light}, which is one of @code{GL_LIGHT0}, @dots{}, @code{GL_LIGHT7}, and sets a characteristics named by @var{pname} with the value @var{param}. Possible values as @var{pname} and acceptable types of @var{param} are as follows. @table @asis @item @code{GL_AMBIENT}, @code{GL_DIFFUSE}, @code{GL_SPECULAR}, @code{GL_POSITION} Accepts an f32 or s32vector of size 4. @item @code{GL_SPOT_DIRECTION} Accepts an f32 or s32vector of size 3. @item @code{GL_SPOT_EXPONENT}, @code{GL_SPOT_CUTOFF}, @code{GL_CONSTNAT_ATTENUATION}, @code{GL_LINEAR_ATTENUATION}, @code{GL_QUADRATIC_ATTENUATION} Accepts a real number (@code{glLightf} is used). @end table @end defun @defun gl-get-light light pname Returns the value of the property @var{pname} of the light @var{light}. Returned value can be f32vector or a real number. @end defun @defun gl-light-model pname param Sets the value of the property @var{pname} of the lighting model. Possible @var{pname} and its allowed @var{param} is as follows. @table @asis @item @code{GL_LIGHT_MODEL_AMBIENT} Accepts f32 or s32vector of size 4. @item @code{GL_LIGHT_MODEL_LOCAL_VIEWER}, @code{GL_LIGHT_MODEL_TWO_SIDE} Accepts any Scheme value, which is interpreted as a boolean value. (That is, you have to pass @code{#f} to turn off these properties, and any other value to turn on. @item @code{GL_LIGHT_MODEL_COLOR_CONTROL} Accepts an enum value either @code{GL_SINGLE_COLOR} or @code{GL_SEPARATE_SPECULAR_COLOR}. @end table @end defun @defun gl-material face pname param Sets the current material property. @var{Face} may be either @code{GL_FRONT}, @code{GL_BACK}, or @code{GL_FRONT_AND_BACK}. Possible values of @var{pname} and acceptable @var{param} types are as follows. @table @asis @item @code{GL_AMBIENT}, @code{GL_DIFFUSE}, @code{GL_AMBIENT_AND_DIFFUSE}, @code{GL_SPECULAR}, @code{GL_EMISSION} Accepts f32 or s32vector of size 4. @item @code{GL_SHININESS} Accepts a single real number (@code{glMaterialf} is called). @item @code{GL_COLOR_INDEXES} Accepts f32 or s32vector of size 3. @end table @end defun @defun gl-get-material face pname Returns the current material property of @var{face} and @var{pname}. The type of returned value may be f32vector, s32vector (only for @code{GL_COLOR_INDEXES}), or a real number. @end defun @defun gl-color-material face mode Makes the material property @var{mode} (e.g. @code{GL_AMBIENT} etc.) of the face @var{face} follow the current color set by @code{gl-color}. @end defun @c ---------------------------------------------------------------------- @node Pixels, Texture mapping, Lighting, OpenGL API @section Pixels, bitmaps and images @subheading Pixel operations @defun gl-bitmap width height xbo ybo xbi ybi bitmap Draws a bitmap. @var{Width} and @var{height} gives the dimension of the bitmap. @var{Xbo}, @var{ybo}, @var{xbi}, and @var{ybi} specifies the origin and increment of the current raster position. @var{Bitmap} is the actual bitmap data, packed in a u8vector. @end defun @defun gl-read-pixels x y width height format type Reads pixel data from the framebuffer. Returns the pixel data in a uniform vector of the type determined by @var{format} and @var{type} (check out OpenGL doc to find out the actual data format). @end defun @defun gl-draw-pixels width height format type pixels Draws a pixel data @var{pixels} at the current raster position. @var{Pixels} must be a uniform vector compatible to the specified @var{format} and @var{type} values. @end defun @defun gl-copy-pixels x y width height buffer Copies pixel data in a rectangle area of the framebuffer, specified by lower-left corner (@var{x}, @var{y}) and dimensions (@var{width}, @var{height}). @var{Buffer} specifies which buffer is used, and should be one of @code{GL_COLOR}, @code{GL_STENCIL} or @code{GL_DEPTH}. @end defun @defun gl-pixel-store pname param Sets the pixel stroage models. Check out the OpenGL doc for the possible @var{pname} and @var{param} values. @end defun @defun gl-pixel-transfer pname param Sets the pixel transfer modes. Check out the OpenGL doc for the possible @var{pname} and @var{param} values. @end defun @defun gl-pixel-map map values Sets the pixel map table @var{map} with @var{values}, which must be either u16, u32 or f32vecotor. Check out the OpenGL doc for the possible @var{map} values. @end defun @defun gl-pixel-zoom xfactor yfactor Sets the magnification/reduction factors for pixel-write operations. @end defun @defun gl-get-pixel-map map &optional type Returns the current pixel map table as an uniform vector specified by @var{type}, which must be either a class @code{} (default), @code{}, or @code{}. @end defun @defun gl-get-pixel-map! map values Like @code{gl-get-pixel-map}, but instead of allocating a new vector, it stores the result to a uniform vector passed to @var{values}. It is a caller's responsibility to ensure @var{values} has enough size. @end defun @subheading Color tables @defun gl-color-table target internal-format width format type data [GL_ARB_imaging] Specifies one of the color table @var{target}. @var{Data} should be a uniform vector compatible to the @var{format} and @var{type} parameters. @end defun @defun gl-color-table-parameter target pname param [GL_ARB_imaging] Sets the color table parameter @var{pname} (either @code{GL_COLOR_TABLE_SCALE} or @code{GL_COLOR_TABLE_BIAS}), of the color table @var{target}. @var{Param} must be an f32 or s32vector of size 4. @end defun @defun gl-copy-color-table target internal-format x y width [GL_ARB_imaging] Creates a color table @var{target} using framebuffer data. The pixels are read from the current buffer for read (specified by @code{glReadBuffer}). @end defun @defun gl-color-sub-table target start count format type data [GL_ARB_imaging] Replaces a part of color table @var{target}, starting @var{start} and @var{count} entries. Values are given in @var{data} as a uniform vector compatible to the @var{format} and @var{type} arguments. @end defun @defun gl-copy-color-sub-table target start x y width [GL_ARB_imaging] Replaces a part of color table entries using framebuffer data. @end defun @defun gl-get-color-table! target format type data [GL_ARB_imaging] Reads the color table @var{target} and store it in @var{data}, in the format specified by @var{format} and @var{type}. @var{Data} must be a uniform vector compatible to the @var{format} and @var{type} arguments. The caller must ensure that @var{data} has enough size to contain the result. @end defun @subheading Convolutions @defun gl-convolution-filter-2d target internal-format width height format type data [GL_ARB_imaging] Defines a 2D convolution filter. @var{Target} must be GL_CONVOLUTION_2D. @code{Data} must be a uniform vector compatible to the @var{format} and @var{type} arguments, and must have enough size. @end defun @defun gl-copy-convolution-filter-2d target internal-format x y width height [GL_ARB_imaging] Defines a 2D convolution filter, taking the convolution filter data from the current color buffer to read. @end defun @defun gl-separable-filetr-2d target internal-format width height format type row column [GL_ARB_imaging] Defines a 2D convolution filter by a product of a 1D row vector and 1D column vector. @var{Target} must be GL_SEPARABLE_2D. Both @var{row} and @var{column} must be a uniform vector, compatible with the @var{format} and @var{type} arguments, and must have enough size. @end defun @defun gl-convolution-filter-1d target internal-format width format type data [GL_ARB_imaging] Defines 1D convolution filter. @var{Target} must be GL_CONVOLUTION_1D. @code{Data} must be a uniform vector compatible to the @var{format} and @var{type} arguments, and must have enough size. @end defun @defun gl-copy-convolution-filter-1d target internal-format x y width [GL_ARB_imaging] Defines 1D convolution filter, taking the convolution filter data from the current color buffer to read. @end defun @defun gl-convolution-parameter target pname param [GL_ARB_imaging] Sets a parameter for a convolution filter @var{target}, which can be either @code{GL_CONVOLUTION_2D}, @code{GL_SEPARABLE_2D}, or @code{GL_CONVOLUTION_1D}. Possible values of @var{pname} and their acceptable @var{param} are as follows. @table @asis @item @code{GL_CONVOLUTION_BORDER_MODE} Either one of the constants: @code{GL_REDUCE}, @code{GL_CONSTNAT_BORDER}, @code{GL_REPLICATE_BORDER} @item @code{GL_CONVOLUTION_FILTER_SCALE}, @code{GL_CONVOLUTION_FILTER_BIAS} An s32 or f32vector of size 4, specifying color values. @end table @end defun @subheading Histogram @defun gl-histogram target width internal-format sink [GL_ARB_imaging] Specifies the way the histogram data is stored. @var{Target} must be either @code{GL_HISTOGRAM} or @code{GL_PROXY_HISTOGRAM}. @var{Width} is the number of entires of the histogram, and has to be a power of 2. @var{Sink} is a boolean value to indicate whether pixels should be discarded or sent down further to the pipeline. @end defun @defun gl-reset-histogram target [GL_ARB_imaging] Resets the histogram counters. @var{Target} must be @code{GL_HISTOGRAM}. @end defun @defun gl-get-histogram target reset format type [GL_ARB_imaging] Returns histogram data in a uniform vector, whose type and size are determined by @var{format} and @var{type}. A boolean value @var{reset} specifies whether the histogram should be reset or not. @end defun @defun gl-get-histogram-parameter target pname [GL_ARB_imaging] Returns the parameter value of the histogram. @var{Pname} can be either one of @code{GL_HISTOGRAM_WIDTH}, @code{GL_HISTOGRAM_FORMAT}, @code{GL_HISTOGRAM_RED_SIZE}, @code{GL_HISTOGRAM_GREEN_SIZE}, @code{GL_HISTOGRAM_BLUE_SIZE}, @code{GL_HISTOGRAM_ALPHA_SIZE}, @code{GL_HISTOGRAM_LUMINANCE_SIZE}, or @code{GL_HISTOGRAM_SINK}. The returned value is an integer, except the case of @code{GL_HISTOGRAM_SINK}, which returns a boolean value. @end defun @subheading Minmax @defun gl-minmax target internal-format sink [GL_ARB_imaging] Computes the minimum and maximum pixel values for an image. @var{Target} must be @code{GL_MINMAX}. @var{Sink} is a boolean value to indicate whether pixels should be discarded or sent down further to the pipeline. @end defun @defun gl-get-minmax target reset format type [GL_ARB_imaging] Returns the results of the minmax operation in a uniform vector, whose type and size are determined by the @var{format} and @var{type} arguments. A boolean value @var{reset} specifies whether the histogram should be reset or not. @end defun @defun gl-reset-minmax target [GL_ARB_imaging] Resets the minmax counter. @end defun @defun gl-get-minmax-parameter target pname [GL_ARB_imaging] Returns the parameter value of the histogram. @var{Pname} can be either @code{GL_MINMAX_SINK} (returns a boolean value) or @code{GL_MINMAX_FORMAT} (returns an integer). @end defun @c ---------------------------------------------------------------------- @node Texture mapping, Framebuffers, Pixels, OpenGL API @section Texture mapping @subheading Defining textures @defun gl-tex-image-1d target level internalformat width border format type texels @defunx gl-tex-image-2d target level internalformat width height border format type texels @defunx gl-tex-image-3d target level internalformat width height depth border format type texels Defines an 1D, 2D or 3D texture. 3D texture is available only if the GL version is 1.2 or later. The @var{target} parameter can be @code{GL_TEXTURE_1D} or @code{GL_PROXY_TEXTURE_1D} for @code{gl-tex-image-1d}, etc. The @var{level} parameter can be used for multiresolution textures; if this is a single resolution texture, pass 0. @var{Width}, @var{height}, and @var{depth} specify the dimensions of the texture. @var{Border} can be 0 or 1, specifying the border. The actual texture data is passed to the @var{texels} argument in a uniform vector, which should be compatible with the @var{format} and @var{type} parameters and match the size calculated by @var{width}, @var{height} and @var{depth} (and possibly the pixel store setting). @end defun @defun gl-copy-tex-image-1d target level internal-format x y width border @defunx gl-copy-tex-image-2d target level internal-format x y width height border Cerates a 1D or 2D texture from the framebuffer data. @end defun @defun gl-tex-sub-image-1d target level xoffset width format type texels @defunx gl-tex-sub-image-2d target level xoffset yoffset width height format type texels @defunx gl-tex-sub-image-3d target level xoffset yoffset zoffset width height depth format type texels Replaces a part of the current 1D, 2D or 3D texture image by @var{texels}. 3D texture is available only if the GL version is 1.2 or later. @end defun @defun gl-copy-tex-sub-image-1d target level xoffset x y width @defunx gl-copy-tex-sub-image-2d target level xoffset yoffset x y width height @defunx gl-copy-tex-sub-image-3d target level xoffset yoffset zoffset x y width height Replaces a part of the current 1D, 2D or 3D texture image by the data from the framebuffer. 3D texture is available only if the GL version is 1.2 or later. @end defun @subheading Texture parameters @defun gl-tex-parameter target pname param Sets parameters for the current texture. @var{Target} can be either @var{GL_TEXTURE_1D}, @code{GL_TEXTURE_2D} or @var{GL_TEXTURE_3D}. Possible values for @var{pname}, and accepted type of @var{param} for each @var{pname}, are shown below. @table @code @item GL_TEXTURE_WRAP_S @item GL_TEXTURE_WRAP_T @item GL_TEXTURE_WRAP_R @item GL_TEXTURE_BASE_LEVEL @item GL_TEXTURE_MAX_LEVEL @item GL_TEXTURE_MAG_FILTER @item GL_TEXTURE_MIN_FILTER @var{Param} must be an integer. @item GL_TEXTURE_PRIORITY @item GL_TEXTURE_MIN_LOD @item GL_TEXTURE_MAX_LOD @var{Param} must be a real number. @item GL_TEXTURE_BORDER_COLOR @var{Param} must be an f32vector of size 4, representing a color. @end table @end defun @defun gl-get-tex-parameter target pname Obtains the parameter of the current texture, set by @code{gl-tex-parameter}. @end defun @defun gl-get-tex-level-parameter target level pname Obtains the parameter of the level @var{level} of the current texture specified by @var{target}, which can be either @code{GL_TEXTURE_1D}, @code{GL_TEXTURE_2D}, @code{GL_TEXTURE_3D}, @code{GL_PROXY_TEXTURE_1D}, @code{GL_PROXY_TEXTURE_2D}, or @code{GL_PROXY_TEXTURE_3D}. Possible values for @var{pname} is either one of the following constants: @code{GL_TEXTURE_WIDTH}, @code{GL_TEXTURE_HEIGHT}, @code{GL_TEXTURE_DEPTH}, @code{GL_TEXTURE_BORDER}, @code{GL_TEXTURE_INTERNAL_FORMAT}, @code{GL_TEXTURE_RED_SIZE}, @code{GL_TEXTURE_GREEN_SIZE}, @code{GL_TEXTURE_BLUE_SIZE}, @code{GL_TEXTURE_ALPHA_SIZE}, @code{GL_TEXTURE_LUMINANCE_SIZE}, or @code{GL_TEXTURE_INTENSITY_SIZE}. This procedure returns an integer. @end defun @subheading Mipmaps @defun glu-build-1d-mipmaps target internal-format width format type texels @defunx glu-build-2d-mipmaps target internal-format width height format type texels @defunx glu-build-3d-mipmaps target internal-format width height depth format type texels Constructs a serids of mipmaps and calls @code{gl-tex-image-*d} to load the images. Returns 0 on success, or a GLU error code on failure. @var{Texels} is a uniform vector, that must be compatible with @var{format} and @var{type} arguments, and must have the enough length as specified by @var{width}, @var{height} and @var{depth} parameters. @end defun @defun glu-build-1d-mipmap-levels target internal-format width format type level base max texels @defunx glu-build-2d-mipmap-levels target internal-format width height format type level base max texels @defunx glu-build-3d-mipmap-levels target internal-format width height depth format type level base max texels Like @code{glu-build-*d-mipmaps}, but you can specify the level of @var{texels}, and the range of levels to be generated by the @var{base} and @var{max} parameters. It is used to generate a subset of mipmaps. Returns 0 on success, or a GLU error code on failure. @var{Texels} is a uniform vector, that must be compatible with @var{format} and @var{type} arguments, and must have the enough length as specified by @var{width}, @var{height} and @var{depth} parameters. @end defun @subheading Texture objects @defun gl-gen-textures size Returns @var{size} new names for texture objects in a u32vector. @end defun @defun gl-is-texture name Returns @code{#t} if an integer @var{name} is the name of a texture that has been bound and not deleted yet, @code{#f} otherwise. @end defun @defun gl-bind-texture target name Bind the current texture (specified by @var{target}, e.g. @code{GL_TEXTURE_2D}) to the integer @var{name}. If there's already a texture bound to @var{name}, it becomes current. Otherwise a new texture object is created and made current. @end defun @defun gl-delete-textures names Delets textures. @var{Names} must be a u32vector contains integer names of the texture objects to be deleted. @end defun @defun gl-are-textures-resident! names residences @var{Names} must be a u32vector contains integer names of the texture objects, and @var{residences} must be a GL boolean vector of the same length as @var{names}. If all textures named in @var{names} are resident, @code{#t} is returned and @var{residences} is not modified. Othewise, @code{#f} is returned and @var{residences} is modified to contain @code{#t} if the corresponding texture in @var{names} is resident, @code{#f} othewise. @end defun @defun gl-prioritize-textures names priorities Sets the prioridies of texture objects named by @var{names} to the corresponding entry of @var{priorities} @var{Names} must be a u32vectore and @var{priorities} must be an f32vector, and the lengths of both vectors must match. @end defun @subheading Texture environment and coordinates @defun gl-tex-env target pname param Sets the current texturing function. @var{Target} must be @code{GL_TEXTURE_ENV}. Possible values of @var{pname} and accepted @var{param} for each value is as follows. @table @code @item GL_TEXTURE_ENV_MODE One of @code{GL_DECAL}, @code{GL_REPLACE}, @code{GL_MODULATE} or @code{GL_BLEND}. @item GL_TEXTURE_ENV_COLOR f32vector of size 4 to specify the color. @end table @end defun @defun gl-tex-gen coord pname param Specifies the functions for automatic texture coordinate generation. @var{Coord} specifies the coordinates, either one of @code{GL_S}, @code{GL_T}, @code{GL_R} or @code{GL_Q}. Possible values of @var{pname} and accepted @var{param} for each value is as follows. @table @code @item GL_TEXTURE_GEN_MODE Either @code{GL_OBJECT_LINEAR}, @code{GL_EYE_LINEAR} or @code{GL_SPHERE_MAP}. @item GL_OBJECT_PLANE @item GL_EYE_PLANE An s32, f32 or f64vector of size 4 to specify the plane. @end table @end defun @subheading Multitexturing @defun gl-active-texture-arb texunit [GL_ARB_multitexture] Selects the texture unit that is currently modified by texturing routines. @var{Texunit} is a constant @code{GL_TEXTUREi_ARB}, where @var{i} is 0 to the maximum number of the supported texture units. @end defun @defun gl-multi-tex-coord-arb texunit coords @defunx gl-multi-tex-coord-arb texunit s &optional t r q [GL_ARB_multitexture] Specifies the texture coordinate of the texture unit @var{texunit}. In the first form, you can pass either an f32, f64, s32, or s16vector of length 1 to 4. In the second form, @var{s}, @var{t}, @var{r} and @var{q} must be real numbers. @end defun @defun gl-client-active-texture-arb texunit Selects the current texture unit for specifying texutre-coordinate data with vertex arrays. @end defun @c ---------------------------------------------------------------------- @node Framebuffers, Selection and feedback, Texture mapping, OpenGL API @section Framebuffers @subheading Clearing buffers @defun gl-clear-color r g b a Sets the current clearing color. Each color value sould be a real number, and is clamped to @code{[0.0,1.0]}. @end defun @defun gl-clear-index c Sets the current clearing color (in color index mode). @var{c} must be a real number. @end defun @defun gl-clear-depth depth Sets the current clearing depth value. @var{Depth} must be a real number and clamped to @code{[0.0,1.0]}. @end defun @defun gl-clear-stencil s Sets the current clearing value of the stencil buffer. @end defun @defun gl-clear-accum r g b a Sets the current clearing value of accumulation buffer. @end defun @defun gl-clear mask Clears the specified buffer. @var{Mask} is a logical-or of the following constants. @table @code @item GL_COLOR_BUFFER_BIT @item GL_DEPTH_BUFFER_BIT @item GL_ACCUM_BUFFER_BIT @item GL_STENCIL_BUFFER_BIT @end table @end defun @subheading Selecting color buffers @defun gl-draw-buffer mode Selects (a) buffer(s) to which the image is rendered. Possible @var{mode} values are: @code{GL_FRONT}, @code{GL_FRONT_LEFT}, @code{GL_FRONT_RIGHT}, @code{GL_BACK}, @var{GL_BACK_LEFT}, @var{GL_BACK_RIGHT}, @code{GL_LEFT}, @code{GL_RIGHT}, @code{GL_AUXi}, @code{GL_FRONT_AND_BACK}, and @code{GL_NONE}. @end defun @defun gl-read-buffer mode Selects a color buffer as the source for reading pixels. Possible @var{mode} values are the same as @code{gl-draw-buffer} except @code{GL_FRONT_AND_BACK} and @code{GL_NONE}. @end defun @subheading Masking buffers @defun gl-index-mask mask In color index mode, sets the mask of the color-index buffer. @var{Mask} is an exact integer. @end defun @defun gl-color-mask r g b a @var{R}, @var{g}, @var{b} and @var{a} are boolean values to specify whether the corresponding color channel should be written to the color buffer or not. @end defun @defun gl-depth-mask flag @var{Flag} is a boolean value specifies whether depth buffer should be written or not. @end defun @defun gl-stencil-mask mask Sets the mask bit pattern for the stencil buffer. @var{Mask} is an exact integer. @end defun @subheading Testing and operating on fragments @defun gl-scissor x y width height Sets the scissor rectangle. If the scissor test is enabled (use @code{(gl-enable GL_SCISSOR_TEST)}), only the pixels that lie inside the rectangle are written. @end defun @defun gl-alpha-func func ref Sets the reference value and comparison function for the alpha test. @var{Func} may be either one of @code{GL_NEVER}, @code{GL_ALWAYS}, @code{GL_LESS}, @code{GL_LEQUAL}, @code{GL_EQUAL}, @code{GL_GEQUAL}, @code{GL_GREATER}, or @code{GL_NOTEQUAL}. @var{Ref} sets the reference value, a real number clamped to be between 0.0 and 1.0. @end defun @defun gl-stencil-func func ref mask Sets the comparison function, the reference value, and a mask for stencil test. @var{Func} specifies the funciton, and its possible value is the same as @code{gl-alpha-func}'s. @var{Ref} is an integer reference value, and @var{mask} is an integer specifying bitwise mask. Before the comparison, the reference value and the fragment value are taken bitwise AND by @var{mask}. @end defun @defun gl-stencil-op func zfail zpass Speficies how the stencil buffer should be modified by the result of the stencil test. Each three parameter can take one of the following values independently: @code{GL_KEEP}, @code{GL_ZERO}, @code{GL_REPLACE}, @code{GL_INCR}, @code{GL_DECR}, or @code{GL_INVERT}. @end defun @defun gl-depth-func func Sets the comparison function for the depth test. @var{Func} may be one of the following constant value: @code{GL_NEVER}, @code{GL_ALWAYS}, @code{GL_LESS}, @code{GL_LEQUAL}, @code{GL_EQUAL}, @code{GL_GEQUAL}, @code{GL_GREATER}, or @code{GL_NOTEQUAL}. @end defun @defun gl-depth-range nearv farv Defines an encoding for z-coordinates. @var{Nearv} and @var{farv} define the minimum and maximum values that can be stored in the depth buffer. By default, they're 0.0 and 1.0, respectively. @end defun @defun gl-logic-op opcode Selects the logical operation to be performed, given an incoming (source) fragment and the pixel currently in the color buffer (destination). @var{Opcode} may be one of the following values: @code{GL_CLEAR}, @code{GL_COPY}, @code{GL_NOOP}, @code{GL_SET}, @code{GL_COPY_INVERTED}, @code{GL_INVERT}, @code{GL_AND_REVERSE}, @code{GL_OR_REVERSE}, @code{GL_AND}, @code{GL_OR}, @code{GL_NAND}, @code{GL_NOR}, @code{GL_XOR}, @code{GL_EQUIV}, @code{GL_AND_INVERTED} or @code{GL_OR_INVERTED}. @end defun @defun gl-accum op value Sets the accumulation buffer operation mode. @var{Op} may be one of the following values: @table @code @item GL_ACCUM Reads each pixel from the current selected buffer to read (by @code{gl-read-buffer}), multiplies its values by @var{value}, and adds the result into the accumulation buffer. @item GL_LOAD Same as @code{GL_ACCUM} but replacing the accumulation buffer by the result of multiplication, instead of adding it. @item GL_RETURN Takes the values from accumulation buffer, multiplies them with @var{value}, then write it to the current color buffer to write (by @code{gl-draw-buffer}). @item GL_ADD Adds @var{value} to each pixel in the accumulation buffer and write it back. @item GL_MULT Multiplies @var{value} to each pixel in the accumulation buffer and write it back. The result value is clamped to [-1.0, 1.0]. @end table @end defun @c ---------------------------------------------------------------------- @node Selection and feedback, Projection, Framebuffers, OpenGL API @section Selection and feedback @defun gl-feedback-buffer type buffer @end defun @defun gl-select-buffer buffer @end defun @defun gl-render-mode mode @end defun @defun gl-pass-through token @end defun @defun gl-init-names @end defun @defun gl-load-name name @end defun @defun gl-push-name name @end defun @defun gl-pop-name @end defun @c ---------------------------------------------------------------------- @node Projection, Quadrics, Selection and feedback, OpenGL API @section Projection @defun glu-pick-matrix x y w h vp @end defun @defun glu-project objx objy objz model-mat proj-mat vp @end defun @defun glu-un-project winx winy winz model-mat proj-mat vp @end defun @defun glu-project! win obj model-mat proj-mat vp @end defun @defun glu-un-project! obj win model-map proj-mat vp @end defun @c ---------------------------------------------------------------------- @node Quadrics, Nurbs, Projection, OpenGL API @section Quadrics @deftp {Class} @end deftp @defun glu-quadric-draw-style quad style @defvr {Constant} GLU_POINT @defvrx {Constant} GLU_LINE @defvrx {Constant} GLU_FILL @defvrx {Constant} GLU_SILHUETTE @end defvr @end defun @defun glu-quadric-orientation quad orientation @defvr {Constant} GLU_OUTSIDE @defvrx {Constant} GLU_INSIDE @end defvr @end defun @defun glu-quadric-normals quad normals @defvr {Constant} GLU_SMOOTH @defvrx {Constant} GLU_FLAT @defvrx {Constant} GLU_NONE @end defvr @end defun @defun glu-quadric-texture quad texcoords @end defun @defun glu-cylinder quad base-radius top-radius height slices stacks @end defun @defun glu-sphere quad radius slices stacks @end defun @defun glu-disk quad inner-radius outer-radius slices loops @end defun @defun glu-partial-disk quad inner-radius outer-radius slices loops start-angle sweep-angle @end defun @c ---------------------------------------------------------------------- @node Nurbs, Polygon tesselation, Quadrics, OpenGL API @section Nurbs @deftp {Class} @end deftp @defun glu-load-sampling-matrices nurbs model-matrix proj-matrix viewport @end defun @defun glu-nurbs-property nurbs property value @end defun @defun glu-get-nurbs-property nurbs property @end defun @defun glu-begin-curve nurbs @end defun @defun glu-end-curve nurbs @end defun @defun glu-nurbs-curve nurbs knot stride ctlarray order type @end defun @defun glu-begin-surface nurbs @end defun @defun glu-end-surface nurbs @end defun @c ---------------------------------------------------------------------- @node Polygon tesselation, Programmable shaders, Nurbs, OpenGL API @section Polygon tesselation @deftp {Class} @end deftp @c ---------------------------------------------------------------------- @node Programmable shaders, , Polygon tesselation, OpenGL API @section Programmable shaders @subheading Shader objects @defun gl-create-shader-object-arb type [GL_ARB_shader_objects] Creates a new shader object and returns its handle. @var{Type} can be either @code{GL_VERTEX_SHADER_ARB} or @code{GL_FRAGMENT_SHADER_ARB}. @end defun @defun gl-shader-source-arb shader strings [GL_ARB_shader_objects] Sets the source code of the shader, whose handle is @var{shader}. You can give the source code as a list of strings to @var{strings}. All strings are concatenated internally in the OpenGL driver. @end defun @defun gl-compile-shader-arb shader [GL_ARB_shader_objects] Compile the source code attached to the shader, whose handle is @var{shader}. You can query the result of the compilation by passing @code{GL_OBJECT_COMPILE_STATUS_ARB} to @code{gl-get-object-parameter-arb}; it returns @code{#t} if the compilation succeeded, or @code{#f} if failed. The information about the compilation can be obtained by @code{gl-get-info-log-arb}. @end defun @defun gl-create-program-object-arb [GL_ARB_shader_objects] Creates a new program object and returns its handle. @end defun @defun gl-attach-object-arb program shader [GL_ARB_shader_objects] Attach a shader whose handle is @var{shader} to the program whose handle is @var{program}. @end defun @defun gl-detach-object-arb program shader [GL_ARB_shader_objects] Detach a shader from a program. @end defun @defun gl-link-program-arb program [GL_ARB_shader_objects] Link the program object. The result of linking can be queried by passing @code{GL_OBJECT_LINK_STATUS_ARB} to @code{gl-get-object-parameter-arb}. @end defun @defun gl-use-program-object-arb program [GL_ARB_shader_objects] Installs the program to the current rendering state. @end defun @defun gl-delete-object-arb handle [GL_ARB_shader_objects] Deletes either a shader object or a program object specified by @var{handle}. @end defun @defun gl-get-object-parameter-arb object pname [GL_ARB_shader_objects] Queries the value of @var{pname} of the shader or the program specified by @var{object}. The following values are accepted as @var{pname}: @code{GL_OBJECT_TYPE_ARB}, @code{GL_OBJECT_SUBTYPE_ARB}, @code{GL_OBJECT_DELETE_STATUS_ARB}, @code{GL_OBJECT_COMPILE_STATUS_ARB}, @code{GL_OBJECT_LINK_STATUS_ARB}, @code{GL_OBJECT_VALIDATE_STATUS_ARB}, @code{GL_OBJECT_INFO_LOG_LENGTH_ARB}, @code{GL_OBJECT_ATTACHED_OBJECTS_ARB}, @code{GL_OBJECT_ACTIVE_ATTRIBUTES_ARB}, @code{GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB}, @code{GL_OBJECT_ACTIVE_UNIFORMS_ARB}, @code{GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB}, and @code{GL_OBJECT_SHADER_SOURCE_LENGTH_ARB}. The procedure returns an integer value. @end defun @defun gl-get-shader-source-arb shader [GL_ARB_shader_objects] Returns the shader source code of a shader object @var{shader} in a string. @end defun @defun gl-get-info-log-arb handle [GL_ARB_shader_objects] Returns the information log of an object pointed by @var{handle}. @end defun @defun gl-get-handle-arb pname [GL_ARB_shader_objects] Returns the handle to an object that is used in the current state. The only argument accepted currently as @var{pname} is @code{GL_PROGRAM_OBJECT_ARB}, which returns the handle to the current program object. @end defun @defun gl-get-attached-objects-arb program [GL_ARB_shader_objects] Rethrns a vector of GL object handles that are attached to the @var{program}. @end defun @defun gl-validate-program-arb program [GL_ARB_shader_objects] Checks whether the @var{program} can execute in the current GL state. The result is stored in @var{program}'s log. @end defun @subheading Specifying vertex attributes @defun gl-vertex-attrib-arb index values @defunx gl-vertex-attrib-arb index v0 &rest v1 v2 v3 [GL_ARB_vertex_program] Sets the generic vertex attribute specified by @var{index}. In the first form, you can pass f32, f64, or s16vector of size 1 to 4, or u8, s8, u16, s32, or u32vector of size 4. In the second form, you can pass 1 to 4 real numbers (they are interpreted as C doubles and @code{glVertexAttrib4dARB} is called). @end defun @defun gl-vertex-attrib-4n-arb index values @defunx gl-vertex-attrib-4n-arb index v0 v1 v2 v3 [GL_ARB_vertex_program] These variations can be used to pass normalized values. The first form accepts s8, u8, s16, u16, s32, u32, f32 and f64vector of size 4. The second value takes four integers, whose lower 8bits are taken as unsigned byte and passed to @code{glVertexAttrib4NubARB}. @end defun @defun gl-vertex-attrib-pointer-arb index size vec &optional normalized stride offset [GL_ARB_vertex_program] This is the generic version of vertex arrays. @var{Index} names the attribute, @var{size} specifies the number of components (1, 2, 3 or 4), and @var{vec} is a uniform vector that contains the array of values. The optional boolean @var{normalized} argument tells whether the passed integer values should be mapped to normalized range (@code{#t} or taken as are @code{#f}, default). The optional @var{stride} argument specifies the gap between each set of values within @var{vec}. The optional @var{offset} argument tells GL to take values beginning from the @var{offset}-th element of @var{vec}. @end defun @defun gl-enable-vertex-attrib-array-arb index @defunx gl-disable-vertex-attrib-array-arb index [GL_ARB_vertex_program] Enable or disable a vertex attribute array specified by @var{index}. @end defun @defun gl-bind-attrib-location-arb program index name [GL_ARB_vertex_shader] Associates a user-defined attribute variable in the program object @var{program} with an @var{index}-th generic vertex attribute. @var{Name} is a string of the name of user-defined attribute as appears in the shader program. @end defun @defun gl-get-attrib-location-arb program name [GL_ARB_vertex_shader] Returns an integer index of the user-defined attribute @var{name} in the @var{program}. Must be called after @var{program} is linked. @end defun @defun gl-get-active-attrib-arb program index [GL_ARB_vertex_shader] Obtains information about the @var{index}-th user-defined attribute in the @var{program}. Must be called after @var{program} is linked. It returns three values: the size of the attribute (1, 2, 3 or 4), the type of the attribute (an integer that matches one of the following constants: @code{GL_FLOAT}, @code{GL_FLOAT_VEC2_ARB}, @code{GL_FLOAT_VEC3_ARB}, @code{GL_FLOAT_VEC4_ARB}, @code{GL_FLOAT_MAT2_ARB}, @code{GL_FLOAT_MAT3_ARB}, or @code{GL_FLOAT_MAT4_ARB}.), and the name of the attribute. @end defun @subheading Specifying uniform variables @defun gl-get-uniform-location-arb program name [GL_ARB_shader_objects] Returns an integer location of the uniform variable @var{name} of the program @var{program}. @end defun @defun gl-uniform1-arb location vec @defunx gl-uniform1-arb location v0 @defunx gl-uniform2-arb location vec @defunx gl-uniform2-arb location v0 v1 @defunx gl-uniform3-arb location vec @defunx gl-uniform3-arb location v0 v1 v2 @defunx gl-uniform4-arb location vec @defunx gl-uniform4-arb location v0 v1 v1 v3 [GL_ARB_shader_objects] Sets a value of the uniform variable specified by @var{location}. @var{gl-uniform1-arb} sets a single component value (e.g. @code{float}) @var{gl-uniform2-arb} sets a double component value (e.g. @code{vec2}) etc. The first form of each function takes either an s32vector or f32vector. It can have a size multiple of the number of components to set an array uniform variable (e.g. you can pass an f32vector of size 8 to fill @code{vec2[2]}). The second form just sets the component(s) of a single uniform variable. The arguments @var{v0} to @var{v3} must be real numbers, and coerced to C @code{float} (i.e. @code{glUniform*fARB} is used). @end defun @defun gl-uniform-matrix2-arb location transpose v @defunx gl-uniform-matrix3-arb location transpose v @defunx gl-uniform-matrix4-arb location transpose v [GL_ARB_shader_objects] Sets a matrix uniform variable (or an array of matrix uniform variables) specified by @var{location}. A boolean flag @var{transpose} specifies whether the matrix should be transposed. The @var{v} argument must be a f32vector of size multiple of 4, 9, or 16, respectively. @end defun @defun gl-get-active-uniform-arb program index [GL_ARB_shader_objects] Returns informaton about the @var{index}-th uniform variable of @var{program}. Returns three values. The first one is the size, either 1, 2, 3 or 4. The second value is the type, which is an integer that matches one of the following constants: @code{GL_FLOAT}, @code{GL_FLOAT_VEC(1|2|3|4)_ARB}, @code{GL_INT}, @code{GL_INT_VEC(1|2|3|4)_ARB}, @code{GL_BOOL}, @code{GL_BOOL_VEC(1|2|3|4)_ARB}, @code{GL_FLOAT_MAT(2|3|4)_ARB}. And the third value is the name of the uniform variable. @end defun @subheading Vertex and fragment programs These APIs are for low-level vertex/fragment pipeline programming. @defun gl-gen-programs-arb n [GL_ARB_vertex_program] Generates @var{N} names (integers) for the new programs and returns them in an s32vector. @end defun @defun gl-delete-programs-arb programs [GL_ARB_vertex_program] Deletes programs whose names are specified by an s32vector @var{programs}. @end defun @defun gl-is-program-arb prog-id [GL_ARB_vertex_program] Returns @code{#t} if an integer @var{prog-id} refers to a valid program. @end defun @defun gl-bind-program-arb target prog-id [GL_ARB_vertex_program] Binds a program specified by @var{prog-id} to a @var{target}, which is either @code{GL_VERTEX_PROGRAM_ARB} or @var{GL_FRAGMENT_PROGRAM_ARB}. @end defun @defun gl-program-string-arb target format text [GL_ARB_vertex_program] Sets the source code of the program currently bound to the @var{target} (@code{GL_VERTEX_PROGRAM_ARB} or @var{GL_FRAGMENT_PROGRAM_ARB}). @var{Format} must be @code{GL_PROGRAM_FORMAT_ASCII_ARB}. @var{Text} is a string for the program source. @end defun @defun gl-program-env-parameter-arb target param-id args @defunx gl-program-env-parameter-arb target param-id arg0 arg1 arg2 arg3 @defunx gl-program-local-parameter-arb target param-id args @defunx gl-program-local-parameter-arb target param-id arg0 arg1 arg2 arg3 [GL_ARB_vertex_program] Sets the value of the environment and local parameter specified by @var{param-id} of the program currently bount to the @var{target}. In the first form of each, @var{args} must be either f32 or f64vector of size 4 or @code{} object. @end defun @c ====================================================================== @node GLUT API, Vectors and matrices, OpenGL API, Top @chapter GLUT API @c ---------------------------------------------------------------------- @menu * GLUT window manipulation:: * GLUT overlay:: * GLUT menu API:: * GLUT callbacks:: * GLUT colormap:: * GLUT state retrieval:: * GLUT font:: * GLUT pre-built models:: @end menu @node GLUT window manipulation, GLUT overlay, GLUT API, GLUT API @section GLUT window manipulation @defun glut-init args @end defun @defun glut-init-display-mode mode @end defun @defvr {Constant} GLUT_RGB @defvrx {Constant} GLUT_RGBA @defvrx {Constant} GLUT_INDEX @defvrx {Constant} GLUT_SINGLE @defvrx {Constant} GLUT_DOUBLE @defvrx {Constant} GLUT_ACCUM @defvrx {Constant} GLUT_ALPHA @defvrx {Constant} GLUT_DEPTH @defvrx {Constant} GLUT_STENCIL @defvrx {Constant} GLUT_MULTISAMPLE @defvrx {Constant} GLUT_STEREO @defvrx {Constant} GLUT_LUMINANCE @end defvr @defun glut-init-display-string string @end defun @defun glut-init-window-size width height @end defun @defun glut-init-window-position x y @end defun @defun glut-main-loop @end defun @defun glut-create-widnow name @end defun @defun glut-create-sub-window win x y width height @end defun @defun glut-destroy-window win @end defun @defun glut-post-redisplay @end defun @defun glut-post-window-redisplay win @end defun @defun glut-swap-buffers @end defun @defun glut-get-window @end defun @defun glut-set-window win @end defun @defun glut-set-window-title title @end defun @defun glut-set-icon-title title @end defun @defun glut-position-window x y @end defun @defun glut-reshape-window width height @end defun @defun glut-push-window @defunx glut-pop-window @end defun @defun glut-iconify-window @end defun @defun glut-show-window @defunx glut-hide-window @end defun @defun glut-full-screen @end defun @defun glut-set-cursor cursor @end defun @defvr {Constant} GLUT_CURSOR_RIGHT_ARROW @defvrx {Constant} GLUT_CURSOR_LEFT_ARROW @defvrx {Constant} GLUT_CURSOR_INFO @defvrx {Constant} GLUT_CURSOR_DESTROY @defvrx {Constant} GLUT_CURSOR_HELP @defvrx {Constant} GLUT_CURSOR_CYCLE @defvrx {Constant} GLUT_CURSOR_SPRAY @defvrx {Constant} GLUT_CURSOR_WAIT @defvrx {Constant} GLUT_CURSOR_TEXT @defvrx {Constant} GLUT_CURSOR_CROSSHAIR @defvrx {Constant} GLUT_CURSOR_UP_DOWN @defvrx {Constant} GLUT_CURSOR_LEFT_RIGHT @defvrx {Constant} GLUT_CURSOR_TOP_SIDE @defvrx {Constant} GLUT_CURSOR_BOTTOM_SIDE @defvrx {Constant} GLUT_CURSOR_LEFT_SIDE @defvrx {Constant} GLUT_CURSOR_RIGHT_SIDE @defvrx {Constant} GLUT_CURSOR_TOP_LEFT_CORNER @defvrx {Constant} GLUT_CURSOR_TOP_RIGHT_CORNER @defvrx {Constant} GLUT_CURSOR_BOTTOM_RIGHT_CORNER @defvrx {Constant} GLUT_CURSOR_BOTTOM_LEFT_CORNER @defvrx {Constant} GLUT_CURSOR_INHERIT @defvrx {Constant} GLUT_CURSOR_NONE @defvrx {Constant} GLUT_CURSOR_FULL_CROSSHAIR @end defvr @defun glut-warp-pointer x y @end defun @c ---------------------------------------------------------------------- @node GLUT overlay, GLUT menu API, GLUT window manipulation, GLUT API @section GLUT overlay @defun glut-establish-overlay @end defun @defun glut-remove-overlay @end defun @defun glut-use-layer layer @end defun @defun glut-post-overlay-redisplay @end defun @defun glut-post-window-overlay-redisplay win @end defun @defun glut-show-overlay @end defun @defun glut-hide-overlay @end defun @c ---------------------------------------------------------------------- @node GLUT menu API, GLUT callbacks, GLUT overlay, GLUT API @section GLUT menu API @defun glut-create-menu callback @end defun @defun glut-destroy-menu menu @end defun @defun glut-get-emnu @end defun @defun glut-set-menu menu @end defun @defun glut-add-menu-entry label value @end defun @defun glut-add-sub-menu label submenu @end defun @defun glut-change-to-menu-entry item label value @end defun @defun glut-change-to-sub-menu item label submenu @end defun @defun glut-remove-menu-item item @end defun @defun gult-attach-menu button @end defun @defun glut-detach-menu button @end defun @c ---------------------------------------------------------------------- @node GLUT callbacks, GLUT colormap, GLUT menu API, GLUT API @section GLUT callbacks @defun glut-display-func fn @end defun @defun glut-reshape-func fn @end defun @defun glut-keyboard-func fn @end defun @defvr {Constant} GLUT_KEY_F1 @defvrx {Constant} GLUT_KEY_F2 @defvrx {Constant} GLUT_KEY_F3 @defvrx {Constant} GLUT_KEY_F4 @defvrx {Constant} GLUT_KEY_F5 @defvrx {Constant} GLUT_KEY_F6 @defvrx {Constant} GLUT_KEY_F7 @defvrx {Constant} GLUT_KEY_F8 @defvrx {Constant} GLUT_KEY_F9 @defvrx {Constant} GLUT_KEY_F10 @defvrx {Constant} GLUT_KEY_F11 @defvrx {Constant} GLUT_KEY_F12 @defvrx {Constant} GLUT_KEY_LEFT @defvrx {Constant} GLUT_KEY_UP @defvrx {Constant} GLUT_KEY_RIGHT @defvrx {Constant} GLUT_KEY_DOWN @defvrx {Constant} GLUT_KEY_PAGE_UP @defvrx {Constant} GLUT_KEY_PAGE_DOWN @defvrx {Constant} GLUT_KEY_HOME @defvrx {Constant} GLUT_KEY_END @defvrx {Constant} GLUT_KEY_INSERT @end defvr @defun glut-mouse-func fn @end defun @defvr {Constant} GLUT_LEFT_BUTTON @defvrx {Constant} GLUT_MIDDLE_BUTTON @defvrx {Constant} GLUT_RIGHT_BUTTON @defvrx {Constant} GLUT_DOWN @defvrx {Constant} GLUT_UP @end defvr @defun glut-motion-func fn @end defun @defun glut-passive-motion-func fn @end defun @defun glut-entry-func fn @end defun @defvr {Constant} GLUT_LEFT @defvrx {Constant} GLUT_ENTERED @end defvr @defun glut-visibility-func fn @end defun @defvr {Constant} GLUT_NOT_VISIBLE @defvrx {Constant} GLUT_VISIBLE @end defvr @defun glut-idle-func fn @end defun @defun glut-timer-func millis fn value @end defun @defun glut-menu-state-func fn @end defun @defun glut-special-func fn @end defun @defun glut-spaceball-motion-func fn @end defun @defun glut-spaceball-rotate-func fn @end defun @defun glut-spaceball-button-func fn @end defun @defun glut-button-box-func fn @end defun @defun glut-dials-func fn @end defun @defun glut-tablet-motion-func fn @end defun @defun glut-tablet-button-func fn @end defun @defun glut-menu-status-func fn @end defun @defun glut-overlay-dislay-func fn @end defun @defun glut-window-status-func fn @end defun @defun glut-keyboard-up-func fn @end defun @defun glut-special-up-func fn @end defun @defun glut-joystick-func fn interval @end defun @c ---------------------------------------------------------------------- @node GLUT colormap, GLUT state retrieval, GLUT callbacks, GLUT API @section GLUT colormap @defun glut-set-color index r g b @end defun @defun glut-get-color index component @end defun @defvr {Constant} GLUT_RED @defvrx {Constant} GLUT_GREEN @defvrx {Constant} GLUT_BLUE @end defvr @defun glut-copy-colormap win @end defun @c ---------------------------------------------------------------------- @node GLUT state retrieval, GLUT font, GLUT colormap, GLUT API @section GLUT state retrieval @defun glut-get type @end defun @defvr {Constant} GLUT_WINDOW_X @defvrx {Constant} GLUT_WINDOW_Y @defvrx {Constant} GLUT_WINDOW_WIDTH @defvrx {Constant} GLUT_WINDOW_HEIGHT @defvrx {Constant} GLUT_WINDOW_BUFFER_SIZE @defvrx {Constant} GLUT_WINDOW_STENCIL_SIZE @defvrx {Constant} GLUT_WINDOW_DEPTH_SIZE @defvrx {Constant} GLUT_WINDOW_RED_SIZE @defvrx {Constant} GLUT_WINDOW_GREEN_SIZE @defvrx {Constant} GLUT_WINDOW_BLUE_SIZE @defvrx {Constant} GLUT_WINDOW_ALPHA_SIZE @defvrx {Constant} GLUT_WINDOW_ACCUM_RED_SIZE @defvrx {Constant} GLUT_WINDOW_ACCUM_GREEN_SIZE @defvrx {Constant} GLUT_WINDOW_ACCUM_BLUE_SIZE @defvrx {Constant} GLUT_WINDOW_ACCUM_ALPHA_SIZE @defvrx {Constant} GLUT_WINDOW_DOUBLEBUFFER @defvrx {Constant} GLUT_WINDOW_RGBA @defvrx {Constant} GLUT_WINDOW_PARENT @defvrx {Constant} GLUT_WINDOW_NUM_CHILDREN @defvrx {Constant} GLUT_WINDOW_COLORMAP_SIZE @defvrx {Constant} GLUT_WINDOW_NUM_SAMPLES @defvrx {Constant} GLUT_WINDOW_STEREO @defvrx {Constant} GLUT_WINDOW_CURSOR @defvrx {Constant} GLUT_SCREEN_WIDTH @defvrx {Constant} GLUT_SCREEN_HEIGHT @defvrx {Constant} GLUT_SCREEN_WIDTH_MM @defvrx {Constant} GLUT_SCREEN_HEIGHT_MM @defvrx {Constant} GLUT_MENU_NUM_ITEMS @defvrx {Constant} GLUT_DISPLAY_MODE_POSSIBLE @defvrx {Constant} GLUT_INIT_WINDOW_X @defvrx {Constant} GLUT_INIT_WINDOW_Y @defvrx {Constant} GLUT_INIT_WINDOW_WIDTH @defvrx {Constant} GLUT_INIT_WINDOW_HEIGHT @defvrx {Constant} GLUT_INIT_DISPLAY_MODE @defvrx {Constant} GLUT_ELAPSED_TIME @defvrx {Constant} GLUT_WINDOW_FORMAT_ID @end defvr @defun glut-device-get type @end defun @defvr {Constant} GLUT_HAS_KEYBOARD @defvrx {Constant} GLUT_HAS_MOUSE @defvrx {Constant} GLUT_HAS_SPACEBALL @defvrx {Constant} GLUT_HAS_DIAL_AND_BUTTON_BOX @defvrx {Constant} GLUT_HAS_TABLET @defvrx {Constant} GLUT_NUM_MOUSE_BUTTONS @defvrx {Constant} GLUT_NUM_SPACEBALL_BUTTONS @defvrx {Constant} GLUT_NUM_BUTTON_BOX_BUTTONS @defvrx {Constant} GLUT_NUM_DIALS @defvrx {Constant} GLUT_NUM_TABLET_BUTTONS @defvrx {Constant} GLUT_DEVICE_IGNORE_KEY_REPEAT @defvrx {Constant} GLUT_DEVICE_KEY_REPEAT @defvrx {Constant} GLUT_HAS_JOYSTICK @defvrx {Constant} GLUT_OWNS_JOYSTICK @defvrx {Constant} GLUT_JOYSTICK_BUTTONS @defvrx {Constant} GLUT_JOYSTICK_AXES @defvrx {Constant} GLUT_JOYSTICK_POLL_RATE @end defvr @defun glut-extension-supported name @end defun @defun glut-get-modifiers @end defun @defvr {Constant} GLUT_ACTIVE_SHIFT @defvrx {Constant} GLUT_ACTIVE_CTRL @defvrx {Constant} GLUT_ACTIVE_ALT @end defvr @defun glut-layer-get type @end defun @defvr {Constant} GLUT_OVERLAY_POSSIBLE @defvrx {Constant} GLUT_LAYER_IN_USE @defvrx {Constant} GLUT_HAS_OVERLAY @defvrx {Constant} GLUT_TRANSPARENT_INDEX @defvrx {Constant} GLUT_NORMAL_DAMAGED @defvrx {Constant} GLUT_OVERLAY_DAMAGED @end defvr @c ---------------------------------------------------------------------- @node GLUT font, GLUT pre-built models, GLUT state retrieval, GLUT API @section GLUT font @deftp {Class} @clindex glut-font @end deftp @defun glut-bitmap-character font character @end defun @defun glut-bitmap-width font character @end defun @defun glut-stroke-character font character @end defun @defun glut-stroke-width font character @end defun @defun glut-bitmap-length font string @end defun @defun glut-stroke-length font string @end defun @c ---------------------------------------------------------------------- @node GLUT pre-built models, , GLUT font, GLUT API @section GLUT pre-built models @defun glut-wire-sphere radius slices stacks @defunx glut-solid-sphere radius slices stacks @end defun @defun glut-wire-cone radius height slices stacks @defunx glut-solid-cone radius height slices stacks @end defun @defun glut-wire-cube size @defunx glut-solid-cube size @end defun @defun glut-wire-torus inner outer sides rings @defunx glut-solid-torus inner outer sides rings @end defun @defun glut-wire-dodecahedron @defunx glut-solid-dodecahedron @end defun @defun glut-wire-teapot size @defunx glut-soild-teapot size @end defun @defun glut-wire-octahedron @defunx glut-solid-octahedron @end defun @defun glut-wire-tetrahedron @defunx glut-solid-tetrahedron @end defun @defun glut-wire-icosahedron @defunx glut-solid-icosahedron @end defun @c ====================================================================== @node Vectors and matrices, Simple utilities, GLUT API, Top @chapter Vectors and matrices @deftp {Module} gl.math3d @mdindex gl.math3d The module provides vector and matrix operations useful for 3D computer graphics. Actually this module itself doesn't depend on GL; you can use this module alone to do matrix calculations. However, the structure of objects are designed so that they can be passed directly to Gauche-gl functions, reducing the overhead of type conversions. The purpose of this module is to provide reasonable performance. So the operations are fixed to 3D homogeneous coordinates, i.e. a vector is 4-element column vector, and a matrix is 4x4 square matrix. If you want more flexibility, @code{} class in @code{gauche.array} provides much more generic structures, trading performance. Elements of vectors and matrices are represented in @code{float} internally. When you retrieve each element individually, it is converted to @code{double}, so you might see some precision errors. There are lots of operations directly manipulate group of elements without retrieving each element to Scheme world, avoiding overhead of conversion. @end deftp @c ---------------------------------------------------------------------- @menu * Vectors and points:: * Vector arrays and point arrays:: * Matrices:: * Quaternions:: @end menu @node Vectors and points, Vector arrays and point arrays, Vectors and matrices, Vectors and matrices @section Vectors and points @deftp {Class} @deftpx {Class} @clindex vector4f @clindex point4f 4x1 column vectors. @code{Vector4f} is intended to be used to represent a vector, and @code{point4f} is to a point, but as far as OpenGL concerns, both are just an array of four floats, @var{x}, @var{y}, @var{z} and @var{w}. These classes inherit @code{} and @code{} classes. So if you import @code{gauche.sequence} module, you can use generic function such as @code{ref} and @code{(setter ref)} to get/set individual elements. The generic version of @code{map} and @code{for-each} can also be used on the vector4f and point4f instances. Aside from the type, the only difference is that the default value of @var{w} component--- it's 0.0 for vectors, and 1.0 for points. So usual transformation produces expected results; for example point plus vector becomes point, vector plus vector becomes vector, and translating point changes its coordinates but translating vectors doesn't, and so on. However, you can set @var{w} component to other value to do nontrivial operations. @end deftp @deftp {Reader syntax} @code{#,(vector4f @var{x} @var{y} @var{z} @var{w})} @deftpx {Reader syntax} @code{#,(point4f @var{x} @var{y} @var{z} @var{w})} These SRFI-10 syntax can be used to denote literal @code{} and @code{} instance, respectively. The write methods are defined so that the instance is written out in this form, and can be read back later. @end deftp @defun vector4f? obj @defunx point4f? obj Returns true iff @var{obj} is vector4f and point4f, respectively. @end defun @defun vector4f x y z &optional (w 0.0) @defunx point4f x y z &optional (w 1.0) Creates a vector4f and point4f instance with given values, respectively. @end defun @defun make-vector4f @defunx make-point4f Another way to create a vector4f and a point4f. The first returns @code{#,(vector4f 0.0 0.0 0.0 0.0)}, and the latter returns @code{#,(point4f 0.0 0.0 0.0 1.0)}. @end defun @defun list->vector4f l @defunx list->point4f l Convert a list of three or four real numbers to a vector4f and a point4f, respectively. If @var{l} is not a list of three or four real numbers, an error is signalled. @example (list->vector4f l) @equiv{} (apply vector4f l) @equiv{} (coerce-to l) @end example @end defun @defun vector4f->list v @defunx point4f->list p Convert a vector4f and a point4f to a list of four real numbers, respectively. @example (vector4f->list v) @equiv{} (coerce-to v) @equiv{} (map (cut ref v <>) (iota 4)) @end example @end defun @defun f32vector->vector4f v &optional start @defunx f32vector->point4f v &optional start Creates a vector4f or a point4f, initializing by the elements of f32vector @var{v}. @var{V} must be at least 4 elements long, and the first four elements are used to initialize the created vector or point. If optional @var{start} argument is given, it specifies an index of @var{v} from which the initial values are taken; that is, @var{start}, @var{start+1}, @var{start+2} and @var{start+3}-th elements are used to create a vector or a point. This allows to create vectors from plain float array: @example (map (lambda (off) (f32vector->vector4f vec (* off 4))) (iota (/ (size-of vec) 4))) @end example The conversion can be done using @code{coerce-to}, as well. @example (f32vector->vector4f vec) @equiv{} (coerce-to vec) @end example @end defun @defun vector4f->f32vector v @defunx point4f->f32vector p Convert a vector4f @var{v} or a point4f @var{p} to four-element f32vector. @example (vector4f->f32vector v) @equiv{} (coerce-to v) @end example @end defun @defun vector4f-copy v @defunx point4f-copy p Returns a new copy of vector4f @var{v} or point4f @var{p}, respectively. @end defun @defun vector4f-copy! dstv srcv @defunx point4f-copy! dstp srcp Destructively sets the content of @var{srcv} or @var{srcp} to @var{dstv} or @var{dstp}, respectively. @end defun @defun vector4f-set! v k value @defunx point4f-set! p k value Sets a real number @var{value} to @var{k}-th element of a vector4f @var{v} or a point4f @var{p}. @example (vector4f-set! v k value) @equiv{} (set! (ref v k) value) @end example @end defun @defun vector4f-ref v k &optional fallback @defunx point4f-ref p k &optional fallback Gets a value of @var{k}-th element of a vector4f @var{v} or a point4f @var{p}. If @var{k} is out of range, an error is signalled, unless @var{fallback} is provided, in such a case @var{fallback} is returned. @example (vector4f-ref v k) @equiv{} (ref v k) @end example @end defun @defun vector4f-dot x y Returns a dot product of two vector4fs, @var{x} and @var{y}. @end defun @defun vector4f-cross x y Returns a cross product of two vector4fs, @var{x} and @var{y}. (@var{w} element is ignored). @end defun @defun vector4f-norm v Returns the norm (length) of the vector @var{v}. @end defun @defun vector4f-normalize x @defunx vector4f-normalize! x Returns a normalized vector of vector4f @var{x}. @code{Vector4f-normalize} allocates a new vector, while @code{vector4f-normalize!} modifies the original vector. As a special case, if @var{x} is a vector of length 0, a vector of length 0 is returned. @end defun @defun vector4f-add x y @defunx vector4f-sub x y @defunx vector4f-add! x y @defunx vector4f-sub! x y Returns a sum of two vector4fs, @var{x} and @var{y}. The destructive version modifies @var{x}. @end defun @defun point4f-add x y @defunx point4f-add! x y Adds a point4f @var{x} and a vector4f @var{y}, and returns a translated point. The destructive version modifies @var{x}. @end defun @defun point4f-sub x y Subtracts either a vector4f or a point4f @var{y} from a point4f @var{x}. If @var{y} is a vector4f, returns a translated point. If @var{y} is a point4f, returns a vector4f from point @var{y} to point @var{x}. @end defun @c ---------------------------------------------------------------------- @node Vector arrays and point arrays, Matrices, Vectors and points, Vectors and matrices @section Vector arrays and point arrays @deftp {Class} @deftpx {Class} @clindex vector4f-array @clindex point4f-array Represents an array of vector4fs and point4fs. This is an efficient way to keep an array of vectors or points, for the elements are packed in a simple float array. They are especially useful to work with GL's vertex array feature. @code{gl-vertex-pointer} can take @code{}, and @code{gl-normal-pointer} can take @code{}. It is also possible to "view" a plain f32vector as @code{} or @code{} without copying its content, by @code{f32vector->vector4f-array/shared} and @code{f32vector->point4f-array/shared}. Combined to @code{read-block!}, you can do efficient binary I/O of vertex arrays, for example. Inherits @code{} and @code{}. When viewed as a sequence or a collection, they behaves like sequence or collection of @code{vector4f} and @code{point4f} objects, respectively. @end deftp @defun make-vector4f-array len &optional init-vector @defunx make-point4f-array len &optional init-point Creates a vector4f-array or point4f-array with @var{len} elements. Each element is initialized by a vector4f @var{init-vector} or a point4f @var{init-point} if provided. @end defun @defun vector4f-array? obj @defunx point4f-array? obj Returns true iff @var{obj} is a vector4f-array or a point4f-array, respectively. @end defun @defun vector4f-array-length array @defunx point4f-array-length array Returns length (number of vectors/points) in array @var{array}. @end defun @deftp {Reader syntax} @code{#,(vector4f-array @var{len} @var{elt} @dots{})} @deftpx {Reader syntax} @code{#,(point4f-array @var{len} @var{elt} @dots{})} Vector4f-array and point4f-array have external representation using this SRFI-10 syntax. @var{Len} is a length of array, and each @var{elt} is a list of four floats representing each element of the array. @example (f32vector->vector4f-array #f32(1 2 3 4 6 7 4 3)) @result{} #,(vector4f-array 2 (1 2 3 4) (6 7 4 3) ) @end example @end deftp @defun list->vector4f-array list @defunx list->point4f-array list From given list of vector4fs or point4fs, creates and returns a vector4f-array or point4f-array, respectively. @end defun @defun f32vector->vector4f-array v @defunx f32vector->point4f-array v Converts f32vector @var{v} to a vector4f-array or a point4f-array. The length of @var{v} must be multiple of four. The content of @var{v} is copied. @example (f32vector->vector4f-array v) @equiv{} (coerce-to v) @end example @end defun @defun f32vector->vector4f-array/shared v @defunx f32vector->point4f-array/shared v Like above, but the content of @var{v} is shared by the result array, instead of being copied. So the modification of result array will be visible from original f32vector @var{v} and vice versa. It will allow efficient handling of large vertex arrays. @end defun @defun vector4f-array->f32vector array @defunx point4f-array->f32vector array Converts a vector4f-array or a point4f-array @var{array} to a f32vector. @example (vector4f-array->f32vector array) @equiv{} (coerce-to array) @end example @end defun @defun vector4f-array-set! array i vector @defunx point4f-array-set! array i point Sets a vector4f @var{vector} or a point4f @var{point} to @var{i}-th element of vector4f-array or point4f-array @var{array}, respectively. @example (vector4f-array-set! array i vector) @equiv{} (set! (ref array i) vector) @end example @end defun @defun vector4f-array-ref array i &optional fallback @defunx point4f-array-ref array i &optional fallback Returns a vector4f or a point4f which is the @var{i}-th element of array @var{array}, respectively. If @var{k} is out of range, an error is signalled, unless @var{fallback} is provided, in such a case @var{fallback} is returned. @example (vector4f-array-ref array i) @equiv{} (ref array i) (ref #,(vector4f-array 2 (1 2 3 4) (6 7 4 3)) 1) @result{} #,(vector4f 6 7 4 3) @end example @end defun @defun vector4f-array-ref/shared array i &optional fallback @defunx point4f-array-ref/shared array i &optional fallback Like above, but the returned vector4f or point4f shares the storage with the original array. Thus the modification of the result vector or point will be visible from @var{array}, and vice versa. @end defun @c ---------------------------------------------------------------------- @node Matrices, Quaternions, Vector arrays and point arrays, Vectors and matrices @section Matrices @deftp {Class} @clindex matrix4f 4x4 matrix. Internally it is represented as an array of 16 floats, stored in column-major order. (It is the same order OpenGL uses, so it can be passed to OpenGL calls without overhead). Inherits @code{} and @code{}. When a matrix4f is treated as a sequence, it works as if it is a single sequence of floats in column-major order. @end deftp @defun make-matrix4f &optional init Returns a new matrix4f instance. If @var{init} is omitted, the matrix is a unit matrix. Otherwise, @var{init} must be a f32vector of length 16, and the elements in the matrix is initialized by ones in f32vector. @example ;; Creates a matrix like this: ;; 1 2 3 4 ;; 0 1 0 5 ;; 0 0 1 6 ;; 0 0 0 1 (make-matrix4f '#f32vector(1 0 0 0 2 1 0 0 3 0 1 0 4 5 6 1)) @end example @end defun @defun matrix4f m00 m10 m20 m30 m01 m11 m21 m31 m02 m12 m22 m32 m03 m13 m23 m33 Creates a new matrix4f instance with give values. @end defun @defun matrix4f? obj Returns true iff @var{obj} is a matrix4f. @end defun @deftp {Reader syntax} @code{#,(matrix4f @var{elt} @dots{})} A matrix4f is represented extrenally using SRFI-10 syntax. The elements are listed in column-major order. @end deftp @defun list->matrix4f l @defunx matrix4f->list m Converts between list of 16 real numbers and matrix4f. @end defun @defun f32vector->matrix4f v &optional start Creates a new matrix4f and initializes it with 16 elements in f32vector @var{v}. If optional @var{start} is given, it specifies the start offset in vector @var{v} to be used as initial values. The f32vector @var{v} must have enough length. @end defun @defun f32vector->matrix4f! m v &optional (start 0) Extract 16 flonums in the f32vector @var{v} starting from the index @var{start}, and fill the matrix4f @var{m} with them. The f32vector @var{v} must have enough length. @end defun @defun matrix4f->f32vector m Returns a new f32vector that has elements from matrix4f @var{m}. @end defun @defun matrix4f-copy m Returns a new copy of @var{m}. @end defun @defun matrix4f-copy! dstm srcm Copies contents of @var{srcm} to @var{dstm}. @end defun @defun matrix4f-set! m i value Sets a real number @var{value} to @var{i}-th element of matrix @var{m}. Since the matrix is laid out in column-major order, the one-dimensional index @code{m@{@var{i}@}} and two-dimensional index @code{m(@var{i},@var{j})} corresponds as follows: @example m(0,0) = m@{0@} m(0,1) = m@{4@} m(0,2) = m@{8@} m(0,3) = m@{12@} m(1,0) = m@{1@} m(1,1) = m@{5@} m(1,2) = m@{9@} m(1,3) = m@{13@} m(2,0) = m@{2@} m(2,1) = m@{6@} m(2,2) = m@{10@} m(2,3) = m@{14@} m(3,0) = m@{3@} m(3,1) = m@{7@} m(3,2) = m@{11@} m(3,3) = m@{15@} @end example @end defun @defun matrix4f-ref m i &optional fallback Returns the @var{i}-th element of matrix @var{m}. If @var{i} is out of range, an error is signalled, unless @var{fallback} is provided, in such a case @var{fallback} is returned. @end defun @defun matrix4f-set2! m i j value Sets @var{value} to @code{(@var{i}, @var{j})} element of matrix @var{m}. @end defun @defun matrix4f-ref2 m i j Returns the @code{(@var{i}, @var{j})} element of matrix @var{m}. @end defun @defun matrix4f-row m i @defunx matrix4f-column m i @defunx matrix4f-column/shared m i Returns @var{i}-th row vector or @var{i}-th column vector of matrix @var{m}, as a vector4f instance. Furthermore, the returned vector from @code{matrix4f-column/shared} shares the storage with @code{m}. @end defun @defun matrix4f-mul m obj @var{Obj} may be a scalar (real number), a vector4f, a point4f, or a matrix4f. Returns @var{m} x @var{obj}. @end defun @defun matrix4f-mul! m obj @var{Obj} may be a scalar or a matrix4f. Matrix @var{m} is multiplied by @var{obj}, and the result is set to @var{m} destructively. @end defun @defun matrix4f-transpose m @defunx matrix4f-transpose! m Returns a transposed matrix of @var{m}. The destructive version modifies @var{m}. @end defun @defun matrix4f-determinant m Returns a determinant of @var{m}. @end defun @defun matrix4f-inverse m &optional (error-on-singular? #t) @defunx matrix4f-inverse! m &optional (error-on-singular? #t) Returns a inverse matrix of @var{m}. The destructive version modifies @var{m}. If given @var{m} is a singular matrix, an error is signalled by default. However, if @code{#f} is given to the optional @var{error-on-singular?} argument, @code{#f} is returned in such a case. @end defun @defun translation->matrix4f translation-vector @defunx translation->matrix4f! m translation-vector Returns a matrix which represents a translation by @var{translation-vector}, which must be either a vector4f, a point4f, or a f32vector of length 3 or 4. Only the first three elements in @var{translation-vector} is used. The destructive version updates @var{m}. @end defun @defun rotation->matrix4f axis angle @defunx rotation->matrix4f! m axis angle Returns a matrix which represents a rotation around @var{axis} by @var{angle} radian. @var{Axis} must be a vector4f or a f32vector of length 3 or 4, and must be normalized. The result is undefined if anormalized vector is passed as @var{axis}. The destructive version updates @var{m}. @end defun @defun scale->matrix4f scale-vector @defunx scale->matrix4f! m scale-vector Returns a matrix which represents a scale by @var{scale-vector}, which must be either a vector4f, a point4f, or a f32vector of length 3 or 4. Only the first three elements in @var{scale-vector} is used. Each element of @var{scale-vector} represents the scale factor along x, y, and z axis. The destructive version updates @var{m}. @end defun @defun trs->matrix4f translation rotation-axis rotation-angle scale @defunx trs->matrix4f! m translation rotation-axis rotation-angle scale This combines above three procedure. Returns a matrix that represents translation, rotation and scale, specified by @var{translation}, @var{rotation-axis}, @var{rotation-angle} and @var{scale}. The destructive version updates @var{m}. If @code{@i{T}}, @code{@i{R}} and @code{@i{S}}, are the matrices that represent translation, rotation and scale, respectively, then these procedures effectively calculates a matrix @code{@i{TRS}}. @end defun @defun tqs->matrix4f translation rotation-quat scale @defunx tqs->matrix4f! m translation rotation-quat scale A variation of @code{trs->matrix4f}. Instead of axis and angle, rotation is represented by a quaternion @var{rotation-quat}. @xref{Quaternions}, for more details about quaternions. @end defun @defun euler-angle->matrix4f xangle yangle zangle &optional order @defunx euler-angle->matrix4f! m xangle yangle zangle &optional order Returns a matrix that represents rotation along x, y and z axis by @var{xangle}, @var{yangle}, and @var{zangle}, respectively. The order of rotation can be specified by the optional argument @var{order}, which may be one of the symbols @code{xyz}, @code{xzy}, @code{yzx}, @code{yxz}, @code{zxy}, or @code{zyx}. For example, symbol @code{xyz} means rotation around x-axis, then y-axis, then z-axis. Thus, if we write each rotation as @i{Rx}, @i{Ry}, and @i{Rz}, the returned matrix is @i{RzRyRx}. The default value of @var{order} is @code{xyz}. The desrtuctive version modifies @var{m}. @end defun @defun matrix4f-decompose m Matrix @var{m} is a composition of translation, rotation, shear and scale. Suppose transformation is applied in the reverse order. This procedure decompose @var{m} into each individual transformation. Returns five values. @itemize @bullet @item A flag to indicate if @var{m} is non-singular. @item A translation vector @var{t}, in vector4f. The first three elements of @var{t} are for x, y, and z translations. @item A rotation matrix @var{r}, in matrix4f. This is an orthogonal matrix represents rotation component. @item A shear vector @var{h}, in vector4f. The first three elements of @var{h} are for xy, xz and yz shear factors. @item A scale vector @var{s}, in vector4f. The first three elements of @var{s} are fof x, y, and z scale factors. @end itemize If @var{m} is singular, certain part of rotation matrix can't be recovered. In such a case, @var{r} becomes also singular matrix. If the original matrix has negative scale factor in any of x, y, or z scale, the decomposed scale factor will have all negative components. The signs of elements of @var{r} are adjusted accordingly. Due to the precision errors, you will see small values appear in shear component even @var{m} is pure TRS matrix. @end defun @defun matrix4f-decompose! m t r h s Linear update version of @code{matrix4f-decompose}. The result vectors and matrices are stored in @var{t}, @var{r}, @var{h} and @var{s}. The return value is a boolean value indicates @var{m} is non-singular or not. @end defun @defun matrix4f->translation m Extract the translation component from the given TRS matrix @var{m} and returns it as a @code{}. @end defun @defun matrix4f->translation! v m Extract the translation component from the given TRS matrix @var{m} and stores the result into a @code{} @var{v}. Returns @var{v}. @end defun @defun matrix4f->rotation m From given orthogonal matrix @var{m}, extracts and returns and rotation axis and angle, as a vector4f and a real number. @end defun @defun matrix4f->rotation! v m Same as above, except the storage of vector4f @var{v} is reused to store the result axis. @end defun @c ---------------------------------------------------------------------- @node Quaternions, , Matrices, Vectors and matrices @section Quaternions @deftp {Class} @clindex quatf Quaternions. Internally quaternions are represented as just an array of four floats; the first three are the vector component and the last is the scalar component. Inherits @code{} and @code{}. When viewed as sequence, it is just like a vector of four floats. @end deftp @defun quatf? obj Returns true iff @var{obj} is a quaternion. @end defun @deftp {Reader syntax} @code{#,(quatf @var{x} @var{y} @var{z} @var{w})} External representation of quaternion @i{x}@b{i}+@i{y}@b{j}+@i{z}@b{k}+@i{w}. @end deftp @defun make-quatf &optional axis (angle 0) Returns a new unit quaternion that represents a rotation around vector @var{axis} by @var{angle} radians. @var{Axis} can be a vector4f, a point4f or a f32vector (only first three component is used). @var{Axis} must be a unit vector; if @var{axis} is anormalized, the result is undefined. If both @var{axis} and @var{angle} is omitted, @code{#,(quatf 0 0 0 1)} is returned. @end defun @defun quatf x y z w Returns a new quaternion whose elements are initialized by @var{x}, @var{y}, @var{z}, @var{w}. @end defun @defun list->quatf l @defunx quatf->list q Converts between a list of four real numbers and a quaternion. @end defun @defun f32vector->quatf x &optional start Returns a new quaternion whose elements are initialized by the first four elements of f32vector @var{x}. If @var{start} is given, the initial value is taken starting from @var{start}-th index in @var{x}. @end defun @defun quatf->f32vector q Returns a new f32vector whose contents is the same as a quaternion @var{q}. @end defun @defun quatf-copy q Returns a fresh copy of a quaternion @var{q}. @end defun @defun quatf-copy! dstq srcq Copies contents of a quaternion @var{srcq} to a quaternion @var{dstq}. @end defun @defun rotation->quatf! quat axis angle Sets a quaternion @var{quat} so that it represents a rotation around a unit vector @var{axis} by angle @var{angle} radians. @var{Axis} can be a vector4f, a point4f or a f32vector (only first three component is used). @end defun @defun vectors->quatf v w @defunx vectors->quatf! q v w Given two unit vectors @var{v} and @var{w}, calculates and returns a quaternion that represents a rotation from @var{v} to @var{w}. The destructive version @code{vectors->quatf!} modifies @var{q}. @end defun @defun axes->quatf v1 v2 w1 w2 @defunx axes->quatf! q v1 v2 w1 w2 The arguments must be all unit vectors, @var{v1} and @var{v2} must be perpendicular, and also @var{w1} and @var{w2} must be perpendicular. Calculates and returns a quaternion that represents a rotation which transforms @var{v1} to @var{w1}, and @var{v2} to @var{w2}, respectively. The destructive version stores the result into @var{q}. @end defun @defun quatf-add p q @defunx quatf-add! p q @defunx quatf-sub p q @defunx quatf-sub! p q Addition and subtraction of quaternions. The destructive version modifies the first argument. @end defun @defun quatf-scale q s @defunx quatf-scale! q s Multiplies a quaternion @var{q} by a scalar value @var{s}. The destructive version modifies @var{q}. @end defun @defun quatf-mul p q @defunx quatf-mul! p q Multiply two quaternions @var{p} and @var{q}. The destructive version modifies @var{p} as well. @end defun @defun quatf-conjugate p @defunx quatf-conjugate! q p Returns a conjugate of a quaternion @var{p}. The destructive version modifies @var{q} as well. @end defun @defun quatf-transform q p Transforms a vector or a point @var{p} by quaternion @var{q}, that is, returns @var{qpq*}, where @var{q*} is a conjugate of @var{q}. This procedure assumes @var{q} is normalized. @var{P} can be a vector4f, a point4f or a f32vector (only first three elements are used). Returns the same type of object as @var{p}. @end defun @defun quatf-norm q Returns norm of @var{q}. @end defun @defun quatf-normalize q @defunx quatf-normalize! q Returns normalized quaternion of @var{q}. The destructive version modifies @var{q}. @end defun @defun quatf->matrix4f q @defunx quatf->matrix4f! m q Returns a matrix that represents a rotation specified by a unit quaternion @var{q}. The behavior is undefined if @var{q} is not normalized. The destructive version modifies @var{m}. @end defun @defun matrix4f->quatf m @defunx matrix4f->quatf! q m Extracts the rotation component of a matrix @var{m} and returns a quaterion that represents the rotation. @code{Matrix4f->quatf!} also uses @var{q} as the storage to store the result. @end defun @defun quatf-slerp p q t @defunx quatf-slerp! r p q t Returns a quaternion that interpolates between two unit quaternions @var{p} and @var{q}, by a scalar value @var{t}. The destructive version modifies @var{r}. @end defun @c ====================================================================== @node Simple utilities, Indices, Vectors and matrices, Top @chapter Simple utilities This chapter covers @code{gl.simple.*} modules. They are provided for the convenience of those who wants quick experiment with Gauche-gl alone, without a hassle to install a bunch of other modules. Their features are pretty limited, but you may find them handy when you need to hack up some throwaway script that need to show some graphics on the screen. @menu * Simple image handling:: * Simple viewer:: @end menu @node Simple image handling, Simple viewer, Simple utilities, Simple utilities @section Simple image handling @deftp {Module} gl.simple.image @mdindex gl.simple.image OpenGL doesn't provide any means of reading/writing image data, and it should be covered by other Gauche extensions. However, it is sometimes handy to have simple means to handle external image data, so that you can do some experiment with Gauche-gl alone. This module provides a minimal support to handle external image data, so that one can do some experiment in Gauche-gl alone. The functionality might be extended over time, but this is never intended to be a full featured image library. A separate Gauche extension should be a better place to have it. @end deftp Currently, only reading from 8bit SGI image file is supported. It is written in pure Scheme, so don't expect the performance. @defun read-sgi-image filename @defunx read-sgi-image-from-port port Reads an image data in SGI format from the named file or the input port, respectively. Only 8bit-per-channel, direct color mode is supported. Returns four values: the image's width in pixels, its height in pixels, number of channels (e.g. 1 for grayscale, 3 for RGB, 4 for RGBA), and the image data in u8vector. The pixel data is packed, i.e. there's no padding between each pixel nor each scanline. Warning: be careful to call this function interactively. The image data vector is usually huge, and you have to wait long for the REPL to display the entire result. @end defun @node Simple viewer, , Simple image handling, Simple utilities @section Simple viewer @deftp {Module} gl.simple.viewer @mdindex gl.simple.viewer This module packages common operations to allow users to view 3D objects, controlling the camera by the mouse, and have some interactions with the keyboard. A typical way of using the viewer is like the following: @example (use gl) (use gl.glut) (use gl.simple.viewer) (define (main args) (glut-init args) (simple-viewer-display ) (simple-viewer-set-key! ...) (simple-viewer-window :title ...) (simple-viewer-run) ; loop forever. type ESC to exit. 0) @end example The viewer handles mouse drag (to move the camera), and also draws reference grid and axes by default for your convenience. You have to provide a thunk, which must draw your 3D object. For the keyboard events, you can use a convenient API to associate handler to the key (character for normal keys, and constants like @code{GL_LEFT_ARROW} for special keys). The reshape event is handled implicitly, though you can override it. If you call @code{simple-viewer-run}, it enters the event loop and never returns. If you wish to keep REPL and/or other parts of your application run concurrently, the convenient way is to run @code{simple-viewer-run} in a separate thread. @example (use gauche.threads) (define (run-viewer) (thread-start! (make-thread simple-viewer-run #f))) @end example See also the code under @file{examples/simple} directory of the source tree for more examples. @end deftp @defun simple-viewer-window name &key title mode parent width height x y Creates a new GL window with @var{name}, which must be a symbol to identify the window later in the simple viewer framework. The window won't be shown until @code{simple-viewer-run} is called. Each window @end defun @defun simple-viewer-display &optional display-thunk Gets/sets the display thunk, which is called every time the GL window is redrawn. You can change the display thunk any time, even while the viewer thread is running. If no argument is given, returns the current display thunk. It can be @code{#f} if no display thunk is set. When the display thunk is called, the matrix mode is @code{MODELVIEW} and the camera transformation is already applied. The grid and axes are also drawn, unless you've customized them. In the display thunk you can just write your model in the world coordinate system. It is guaranteed that the current color is white and line width is 1.0, but the states of other GL contexts are undefined, so you have to set them explicitly. @end defun @defun simple-viewer-reshape &optional reshape-proc Gets/sets the reshape procedure which is called every time the GL window configuration is changed. (It is also called when the GL window is shown first time.) You can change the reshape procedure any time, even while the viewer thread is running. If no argument is given, returns the current reshape proc. A reshape procedure is called with two arguments, the width and the height (in pixels) of the new GL window configuration. By default, @code{gl.simple.viewer} sets a procedure that changes viewport and projection matrix apopropriately; you need to change it only if you want a different behavior. @end defun @defun simple-viewer-grid &optional grid-proc @defunx simple-viewer-axis &optional axis-proc Gets/sets a procedure to draw a grid and axes. You can change these procedures any time, even while the viewer thread is running. The @var{grid-proc} and @var{axis-proc} are called with no arguments every time the GL window is redrawn, before the display thunk is invoked. The matrix mode is @code{MODELVIEW}, the camera transformation is already applied, and lighting is disabled. The default grid proc draws 10x10 grid on X-Z plane centered at the origin. The default axis proc draws a red line from origin to +X, a green line from origin to +Y, and a blue line from origin to +Z. You can pass @code{#f} to disable grid and/or axis display. If no argument is given, returns the current grid/axis proc, respectively. @end defun @defun simple-viewer-set-key! key handler @dots{} Even number of arguments must be given; the first of every two specifies the key, and the next one specifies the action when the key is pressed. @end defun @c ====================================================================== @node Indices, , Simple utilities, Top @appendix Indices @c NODE 索引 @menu * Function and Syntax Index:: * Module Index:: * Class Index:: * Variable Index:: @end menu @node Function and Syntax Index, Module Index, Indices, Indices @appendixsec Function and Syntax Index @c NODE 手続ãã¨æ§‹æ–‡ç´¢å¼• @printindex fn @node Module Index, Class Index, Function and Syntax Index, Indices @appendixsec Module Index @c NODE モジュール索引 @printindex md @node Class Index, Variable Index, Module Index, Indices @appendixsec Class Index @c NODE クラス索引 For readability, the surrounding @code{<} and @code{>} are stripped off. @printindex cl @node Variable Index, , Class Index, Indices @appendixsec Variable Index @c NODE 変数索引 @printindex vr @contents @bye @c Local variables: @c outline-regexp: "@chap\\|@unnu\\|@\\(sub\\)*section" @c end: ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/����������������������������������������������������������������������������������0000755�0000764�0000764�00000000000�12371574452�012775� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/gl/�������������������������������������������������������������������������������0000755�0000764�0000764�00000000000�12342246772�013376� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/gl/math3d.scm���������������������������������������������������������������������0000644�0000764�0000764�00000026216�12342246772�015271� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; gl/math3d.scm - auxiliary vector arithmetics for 3D graphics ;;; ;;; Copyright (c) 2002-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; (define-module gl.math3d (use gauche.uvector) (use gauche.sequence) (export-all)) (select-module gl.math3d) (dynamic-load "libgauche-math3d" :export-symbols #t) (define-reader-ctor 'vector4f vector4f) (define-reader-ctor 'point4f point4f) (define-reader-ctor 'matrix4f matrix4f) (define-reader-ctor 'quatf quatf) (define-reader-ctor 'vector4f-array (^[length . vectors] (rlet1 arr (make-vector4f-array length) (let loop ([i 0] [v vectors]) (when (< i length) (vector4f-array-set! arr i (list->vector4f (car v))) (loop (+ i 1) (cdr v))))))) (define-reader-ctor 'point4f-array (^[length . points] (rlet1 arr (make-point4f-array length) (let loop ((i 0) (p points)) (when (< i length) (point4f-array-set! arr i (list->point4f (car p))) (loop (+ i 1) (cdr p))))))) ;;================================================================= ;; Auxiliary fns ;; (define (f32vector->vector4f-array v) (check-arg f32vector? v) (f32vector->vector4f-array/shared (f32vector-copy v))) (define (f32vector->point4f-array v) (check-arg f32vector? v) (f32vector->point4f-array/shared (f32vector-copy v))) (define (list->vector4f-array l) (let* ([len (length l)] [a (make-vector4f-array len)] [i 0]) (dolist [elt l] (unless (vector4f? elt) (error "vector4f required, but got" elt)) (vector4f-array-set! a i elt) (inc! i)) a)) (define (list->point4f-array l) (let* ([len (length l)] [a (make-point4f-array len)] [i 0]) (dolist [elt l] (unless (point4f? elt) (error "point4f required, but got" elt)) (point4f-array-set! a i elt) (inc! i)) a)) ;;================================================================= ;; sequence framework ;; (define-method size-of ((x <vector4f>)) 4) (define-method size-of ((x <point4f>)) 4) (define-method size-of ((x <matrix4f>)) 16) (define-method size-of ((x <quatf>)) 4) (define-method size-of ((x <vector4f-array>)) (vector4f-array-length x)) (define-method size-of ((x <point4f-array>)) (point4f-array-length x)) ;;----------------------------------------------------------------- ;; accessors and modifiers ;; (define-method ref ((x <vector4f>) (i <integer>)) (vector4f-ref x i)) (define-method (setter ref) ((x <vector4f>) (i <integer>) v) (set! (vector4f-ref x i) v)) (define-method ref ((x <point4f>) (i <integer>)) (point4f-ref x i)) (define-method (setter ref) ((x <point4f>) (i <integer>) v) (set! (point4f-ref x i) v)) (define-method ref ((x <matrix4f>) (i <integer>)) (matrix4f-ref x i)) (define-method (setter ref) ((x <matrix4f>) (i <integer>) v) (set! (matrix4f-ref x i) v)) (define-method ref ((x <quatf>) (i <integer>)) (quatf-ref x i)) (define-method (setter ref) ((x <quatf>) (i <integer>) v) (set! (quatf-ref x i) v)) (define-method ref ((x <vector4f-array>) (i <integer>)) (vector4f-array-ref x i)) (define-method (setter ref) ((x <vector4f-array>) (i <integer>) v) (vector4f-array-set! x i v)) (define-method ref ((x <point4f-array>) (i <integer>)) (point4f-array-ref x i)) (define-method (setter ref) ((x <point4f-array>) (i <integer>) v) (point4f-array-set! x i v)) ;;----------------------------------------------------------------- ;; conversions ;; (define-method coerce-to ((c <list-meta>) (v <vector4f>)) (vector4f->list v)) (define-method coerce-to ((c <f32vector-meta>) (v <vector4f>)) (vector4f->f32vector v)) (define-method coerce-to ((c <vector-meta>) (v <vector4f>)) (list->vector (vector4f->list v))) (define-method coerce-to ((c <vector4f-meta>) (v <list>)) (list->vector4f v)) (define-method coerce-to ((c <vector4f-meta>) (v <f32vector>)) (f32vector->vector4f v)) (define-method coerce-to ((c <vector4f-meta>) (v <vector>)) (list->vector4f (vector->list v))) (define-method coerce-to ((c <list-meta>) (v <point4f>)) (point4f->list v)) (define-method coerce-to ((c <f32vector-meta>) (v <point4f>)) (point4f->f32vector v)) (define-method coerce-to ((c <vector-meta>) (v <point4f>)) (list->vector (point4f->list v))) (define-method coerce-to ((c <point4f-meta>) (v <list>)) (list->point4f v)) (define-method coerce-to ((c <point4f-meta>) (v <f32vector>)) (f32vector->point4f v)) (define-method coerce-to ((c <point4f-meta>) (v <vector>)) (list->point4f (vector->list v))) (define-method coerce-to ((c <list-meta>) (v <matrix4f>)) (matrix4f->list v)) (define-method coerce-to ((c <f32vector-meta>) (v <matrix4f>)) (matrix4f->f32vector v)) (define-method coerce-to ((c <vector-meta>) (v <matrix4f>)) (list->vector (matrix4f->list v))) (define-method coerce-to ((c <matrix4f-meta>) (v <list>)) (list->matrix4f v)) (define-method coerce-to ((c <matrix4f-meta>) (v <f32vector>)) (f32vector->matrix4f v)) (define-method coerce-to ((c <matrix4f-meta>) (v <vector>)) (list->matrix4f (vector->list v))) (define-method coerce-to ((c <list-meta>) (v <quatf>)) (quatf->list v)) (define-method coerce-to ((c <f32vector-meta>) (v <quatf>)) (quatf->f32vector v)) (define-method coerce-to ((c <vector-meta>) (v <quatf>)) (list->vector (quatf->list v))) (define-method coerce-to ((c <quatf-meta>) (v <list>)) (list->quatf v)) (define-method coerce-to ((c <quatf-meta>) (v <f32vector>)) (f32vector->quatf v)) (define-method coerce-to ((c <quatf-meta>) (v <vector>)) (list->quatf (vector->list v))) ;;----------------------------------------------------------------- ;; iterators ;; ;; Iterator common pattern. We treat literal length separately, for it would ;; generate more efficient code. (define-syntax %math3dobj-iterator (syntax-rules () [(_ (size-expr . args) ref obj proc) (let ((len (size-expr . args)) (i 0)) (proc (^[] (>= i len)) (^[] (begin0 (ref obj i) (inc! i)))))] [(_ len ref obj proc) (let ((i 0)) (proc (^[] (>= i len)) (^[] (begin0 (ref obj i) (inc! i)))))] )) (define-method call-with-iterator ((v <vector4f>) proc . args) (%math3dobj-iterator 4 vector4f-ref v proc)) (define-method call-with-iterator ((p <point4f>) proc . args) (%math3dobj-iterator 4 point4f-ref p proc)) (define-method call-with-iterator ((m <matrix4f>) proc . args) (%math3dobj-iterator 16 matrix4f-ref m proc)) (define-method call-with-iterator ((q <quatf>) proc . args) (%math3dobj-iterator 4 quatf-ref q proc)) (define-method call-with-iterator ((a <vector4f-array>) proc . args) (%math3dobj-iterator (vector4f-array-length a) vector4f-array-ref a proc)) (define-method call-with-iterator ((a <point4f-array>) proc . args) (%math3dobj-iterator (point4f-array-length a) point4f-array-ref a proc)) ;; Iterator builder pattern. (define-syntax %math3dobj-builder (syntax-rules () ((_ len new set proc) (let ([v (new)] [i 0]) (proc (^[item] (when (>= i len) (set v i item) (inc! i))) (^[] v)))))) (define-method call-with-builder ((class <vector4f-meta>) proc . args) (%math3dobj-builder 4 make-vector4f vector4f-set! proc)) (define-method call-with-builder ((class <point4f-meta>) proc . args) (%math3dobj-builder 4 make-point4f point4f-set! proc)) (define-method call-with-builder ((class <matrix4f-meta>) proc . args) (%math3dobj-builder 16 make-matrix4f matrix4f-set! proc)) (define-method call-with-builder ((class <quatf-meta>) proc . args) (%math3dobj-builder 4 make-quatf quatf-set! proc)) (define-syntax %math3dobj-builder* (syntax-rules () [(_ new list-> set proc args) (if-let1 size (get-keyword :size args #f) (let ([v (new size)] [i 0]) (proc (^[item] (when (< i size) (set v i item) (inc! i))) (^[] v))) (let ([r '()]) (proc (^[item] (push! r item)) (^[] (list-> r)))))])) (define-method call-with-builder ((class <vector4f-array-meta>) proc . args) (%math3dobj-builder* make-vector4f-array list->vector4f-array vector4f-array-set! proc args)) (define-method call-with-builder ((class <point4f-array-meta>) proc . args) (%math3dobj-builder* make-point4f-array list->point4f-array point4f-array-set! proc args)) ;;----------------------------------------------------------------- ;; operator overload ;; (define-method object-+ ((x <vector4f>) (y <vector4f>)) (vector4f-add x y)) (define-method object-+ ((x <point4f>) (y <vector4f>)) (point4f-add x y)) (define-method object-+ ((y <vector4f>) (x <point4f>)) (point4f-add x y)) (define-method object-+ ((x <quatf>) (y <quatf>)) (quatf-add x y)) (define-method object-- ((x <vector4f>) (y <vector4f>)) (vector4f-sub x y)) (define-method object-- ((x <point4f>) (y <vector4f>)) (point4f-sub x y)) (define-method object-- ((x <point4f>) (y <point4f>)) (point4f-sub x y)) (define-method object-- ((x <quatf>) (y <quatf>)) (quatf-sub x y)) (define-method object-- ((x <vector4f>)) (vector4f-sub #,(vector4f 0 0 0) x)) (define-method object-* ((v <vector4f>) (f <real>)) (vector4f-mul v f)) (define-method object-* ((f <real>) (v <vector4f>)) (vector4f-mul v f)) (define-method object-/ ((v <vector4f>) (f <real>)) (vector4f-div v f)) (define-method object-* ((m <matrix4f>) (v <vector4f>)) (matrix4f-mul m v)) (define-method object-* ((m <matrix4f>) (v <point4f>)) (matrix4f-mul m v)) (define-method object-* ((m <matrix4f>) (n <matrix4f>)) (matrix4f-mul m n)) (define-method object-* ((m <matrix4f>) (s <real>)) (matrix4f-mul m s)) (define-method object-* ((s <real>) (m <matrix4f>)) (matrix4f-mul m s)) (define-method object-* ((x <quatf>) (y <quatf>)) (quatf-mul x y)) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/gl/glut.scm�����������������������������������������������������������������������0000644�0000764�0000764�00000003351�12342246772�015057� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; glut.scm - Gauche GLUT binding ;;; ;;; Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; (define-module gl.glut (export-all)) (select-module gl.glut) (dynamic-load "libgauche-glut") ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/gl/simple/������������������������������������������������������������������������0000755�0000764�0000764�00000000000�12342246772�014667� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/gl/simple/image.scm���������������������������������������������������������������0000644�0000764�0000764�00000011676�12342246772�016470� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; gl.simple.image - simple image I/O ;;; ;;; Copyright (c) 2005-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; ;;; $Id: simple-image.scm,v 1.2 2008-06-04 11:46:27 shirok Exp $ ;;; ;; For serious image handling, I'd recommend you to use a serious ;; library (e.g. Gauche-gd). ;; This module provides a minimal routines to do some experiment ;; and testing with Gauche-gl alone. (define-module gl.simple.image (export read-sgi-image read-sgi-image-from-port) (use gauche.uvector) (use gauche.sequence) (use util.match) (use binary.pack) (use srfi-42) ) (select-module gl.simple.image) (define (read-sgi-image file) (call-with-input-file file read-sgi-image-from-port)) ;; read-sgi-image-from-port :: port -> (width, height, nchannels, data) (define (read-sgi-image-from-port port) (match-let1 (magic compr bpp dim x y z min max pad1 name cmap . pad2) (unpack "nccnnnnNNNA80Nc404" :input port) (and (= magic 474) (= bpp 1) ;; we only support 8bit/channel for now. (= cmap 0) ;; we only support direct pixel values for now. (if (= compr 1) (read-sgi-rle port dim x y z) (read-sgi-raw port dim x y z))))) (define (read-sgi-raw port dim x y z) (case dim [(1) (let1 v (make-u8vector x) (read-block! v port) (list x 1 1 v))] [(2) (let1 v (make-u8vector (* x y)) (read-block! v port) (list x y 1 v))] [(3) (let ([planes (list-ec (: i z) (rlet1 v (make-u8vector (* x y)) (read-block! v port)))] [vec (make-u8vector (* x y z))]) (do-ec (: i (* x y)) (: plane (index j) planes) (u8vector-set! vec (+ (* i z) j) (u8vector-ref plane i))) (list x y z vec))] (else #f))) (define (read-sgi-rle port dim x y z) (let ([starts (make-u32vector (* y z))] ; scan line start indexes [sizes (make-u32vector (* y z))] ; compressed scan line sizes [compressed #f] [offset (+ 512 (* 2 4 y z))] ; offset to the compressed data [vec (make-u8vector (* x y z))]) ; result vector (read-block! starts port 0 -1 'big-endian) (read-block! sizes port 0 -1 'big-endian) (set! compressed (string->u8vector (call-with-output-string (cut copy-port port <>)))) (do-ec [: zz z] [: yy y] (let ([start (- (u32vector-ref starts (+ (* zz y) yy)) offset)] [size (u32vector-ref sizes (+ (* zz y) yy))]) (let1 line (uvector-alias <u8vector> compressed start (+ start size)) (do ([xx (+ (* x yy z) zz) xx] [k 0 k]) [(>= k size)] (let1 b (u8vector-ref line k) (inc! k) (cond [(= b 0)] [(< b 128) ;; repeat next byte to b times (let1 bb (u8vector-ref line k) (inc! k) (dotimes (n b) (u8vector-set! vec xx bb) (inc! xx z)))] [else ;; copy (- b 128) bytes (dotimes [n (- b 128)] (u8vector-set! vec xx (u8vector-ref line k)) (inc! k) (inc! xx z))])) )))) (list x y z vec))) ������������������������������������������������������������������Gauche-gl-0.6/lib/gl/simple/viewer.scm��������������������������������������������������������������0000664�0000764�0000764�00000045404�12342246772�016705� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; simple/viewer.scm - simple viewer ;;; ;;; Copyright (c) 2008-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; ;; This is a simple viewer skeleton. It is by no means intended for ;; general applications; it's rather a handy tool to quickly hack up ;; a throwaway script to visualize some data. ;; The API may seem a bit unusual. When you create a viewer window, you don't ;; get a viewer object you draw in. You register callbacks that are called ;; whenever the viewer needs to redraw its content, but you're mostly agnostic ;; about internal state of viewer; the concept is that you draw your world ;; in the model space, and viewers are user-controlled autonomous observers. ;; Not requiring accessing viewer's internal state in the display callbacks ;; has a performance advantage, though we lose some flexilibility. ;; Using simple viewers: ;; * You can create multiple GL windows (viewers), each has a unique name. ;; Viewers are specified by its name. Each viewer has reasonable ;; default behaviors. ;; ;; API: simple-viewer-window ;; simple-viewer-window-2d ;; ;; * You can associate callback functions for display, reshape, key event, etc. ;; for each viewer, or as a default behavior. ;; ;; API: simple-viewer-display ;; simple-viewer-reshape ;; simple-viewer-grid ;; simple-viewer-axis ;; simple-viewer-set-key! ;; ;; Those callback receives a vector as the state of the viewer. ;; The first element is the dimension (2 or 3), followed by ;; elements about projection, and the following 9 ;; elements about camera position & orientation. ;; ;; #f32(<dim> <left> <right> <bottom> <top> <near> <far> ;; <tx> <ty> <tz> <rx> <ry> <rz> <sx> <sy> <sz>) ;; ;; * Calling simple-viewer-run enters main loop. ;; ;; API: simple-viewer-run ;; (define-module gl.simple.viewer (use gauche.uvector) (use gl) (use gl.glut) (use gl.math3d) (use util.match) (use util.list) (use srfi-42) (export simple-viewer-window simple-viewer-window-2d simple-viewer-set-window simple-viewer-get-window simple-viewer-display simple-viewer-reshape simple-viewer-grid simple-viewer-axis simple-viewer-set-key! simple-viewer-run *projection-perspective* *projection-orthographic* ) ) (select-module gl.simple.viewer) (define *default-key-handlers* (make-hash-table 'eqv?)) (define *default-display-proc* #f) (define *default-grid2-proc* (^[v] (default-grid2 v))) (define *default-grid3-proc* (^[v] (default-grid3 v))) (define *default-axis-proc* (^[v] (default-axis v))) (define *default-reshape3-proc* (^[w h v] (default-reshape3 w h v))) (define *default-reshape2-proc* (^[w h v] (default-reshape2 w h v))) ;; Accessors to the viewer state vector ;; NB: If we make gauche.record inline pseudo-rtd accessors, we can ;; replace those procedures with cleaner record definition! ;; ;; The first element indicates the type of projection (define-constant *projection-perspective* 0.0) (define-constant *projection-orthographic* 1.0) (define-macro (define-viewer-accessors slots) (define (gen slot k) (let ([access (string->symbol #`"viewer-,|slot|")] [modify (string->symbol #`"viewer-,|slot|-set!")]) `((define-inline (,access v) (f32vector-ref v ,k)) (define-inline (,modify v n) (f32vector-set! v ,k n))))) `(begin ,@(append-ec (: slot (index k) slots) (gen slot k)))) (define-viewer-accessors (projection left right bottom top near far tx ty tz rx ry rz sx sy sz)) ;;============================================================= ;; Wrapper of GLUT window ;; ;; We internally maintain <simple-viewer-window> instance to manage ;; GLUT windows created by simple viewer. However, we only expose ;; window names (symbols) to the users. (define-class <simple-viewer-window> () (;; all slots private. use API. (name :init-keyword :name) ; window name (symbol) (id :init-keyword :id) ; GLUT window id (parent :init-keyword :parent) ; parent window, if this is sub (closure :init-keyword :closure) ; a closure to maintain the ; internal state. (name-tab :allocation :class ; name -> window :init-form (make-hash-table 'eq?)) (id-tab :allocation :class ; id -> window :init-form (make-hash-table 'eqv?)) )) (define-method initialize ((win <simple-viewer-window>) args) (next-method) (hash-table-put! (ref win'name-tab) (ref win'name) win) (hash-table-put! (ref win'id-tab) (ref win'id) win)) (define (name->window name) (hash-table-get (class-slot-ref <simple-viewer-window> 'name-tab) name #f)) (define (id->window id) (hash-table-get (class-slot-ref <simple-viewer-window> 'id-tab) id #f)) (define (name->window-id name) (and-let* [(win (name->window name))] (ref win'id))) (define (id->window-name id) (and-let* [(win (id->window id))] (ref win'name))) ;;============================================================= ;; Viewer constructor ;; ;; PROJECTION may be :perspective or :orthographic (define (make-viewer name projection :key (parent #f) (mode (logior GLUT_DOUBLE GLUT_RGBA (ecase projection [(:perspective) GLUT_DEPTH] [(:orthographic) 0]))) (title (x->string name)) (width 300) (height 300) (x #f) (y #f) (zoom 1.0)) (define proj-mode (ecase projection [(:perspective) *projection-perspective*] [(:orthographic) *projection-orthographic*])) (define (proj-choose pers ortho) (if (= proj-mode *projection-perspective*) pers ortho)) ;; Internal state (define prev-x -1) (define prev-y -1) (define prev-b #f) (define rotx 20.0) (define roty -30.0) (define rotz 0.0) (define xlatx 0.0) (define xlaty 0.0) ;; Viewer info to pass to callbacks (define viewer-info (rlet1 v (make-f32vector 16) (viewer-projection-set! v proj-mode) (viewer-sx-set! v zoom) (viewer-sy-set! v zoom) (viewer-sz-set! v (proj-choose zoom 1)))) (define key-handlers (hash-table-copy *default-key-handlers*)) (define grid-proc (proj-choose *default-grid3-proc* *default-grid2-proc*)) (define axis-proc *default-axis-proc*) (define display-proc (if (and *default-display-proc* (eqv? (arity *default-display-proc*) 0)) (^_ (*default-display-proc*)) ; for the backward compatibility *default-display-proc*)) (define reshape-proc (if (= proj-mode *projection-perspective*) *default-reshape3-proc* *default-reshape2-proc*)) (define (display-setup-3d) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-push-matrix) (gl-scale zoom zoom zoom) (gl-translate xlatx xlaty 0.0) (gl-rotate rotx 1.0 0.0 0.0) (gl-rotate roty 0.0 1.0 0.0) (gl-rotate rotz 0.0 0.0 1.0)) (define (display-setup-2d) (gl-clear (logior GL_COLOR_BUFFER_BIT)) (gl-push-matrix) (gl-scale zoom zoom 1.0) (gl-translate xlatx xlaty 0.0)) (define (display-common) (gl-disable GL_LIGHTING) (and grid-proc (grid-proc viewer-info)) (and axis-proc (axis-proc viewer-info)) (gl-color 1.0 1.0 1.0 1.0) (gl-line-width 1.0) (and display-proc (display-proc viewer-info)) (gl-pop-matrix) (glut-swap-buffers)) ;; Callback closures (define (display-fn3) (display-setup-3d) (display-common)) (define (display-fn2) (display-setup-2d) (display-common)) (define (reshape-fn w h) (set! height h) (set! width w) (and reshape-proc (reshape-proc w h viewer-info))) (define (mouse-fn button state x y) (cond [(= state GLUT_UP) (set! prev-x -1) (set! prev-y -1) (set! prev-b #f)] [else (set! prev-x x) (set! prev-y y) (set! prev-b button)])) (define (motion-fn3 x y) (cond [(eqv? prev-b GLUT_LEFT_BUTTON) (inc! rotx (* (/. (- y prev-y) height) 90.0)) (inc! roty (* (/. (- x prev-x) width) 90.0)) (viewer-rx-set! viewer-info rotx) (viewer-ry-set! viewer-info roty)] [(eqv? prev-b GLUT_MIDDLE_BUTTON) (inc! xlatx (* (/. (- x prev-x) width (sqrt zoom)) 12.0)) (inc! xlaty (* (/. (- prev-y y) height (sqrt zoom)) 12.0)) (viewer-tx-set! viewer-info xlatx) (viewer-ty-set! viewer-info xlaty)] [(eqv? prev-b GLUT_RIGHT_BUTTON) (set! zoom (clamp (* (+ 1.0 (* (/. (- prev-y y) height) 2.0)) zoom) 0.1 1000.0)) (viewer-sx-set! viewer-info zoom) (viewer-sy-set! viewer-info zoom) (viewer-sz-set! viewer-info zoom)]) (set! prev-x x) (set! prev-y y) (glut-post-redisplay)) (define (motion-fn2 x y) (cond [(or (= prev-b GLUT_LEFT_BUTTON) (= prev-b GLUT_MIDDLE_BUTTON)) (inc! xlatx (/. (* 2 (- x prev-x)) zoom)) (inc! xlaty (/. (* 2 (- prev-y y)) zoom)) (viewer-tx-set! viewer-info xlatx) (viewer-ty-set! viewer-info xlaty)] [(= prev-b GLUT_RIGHT_BUTTON) (set! zoom (clamp (* (+ 1.0 (* (/. (- prev-y y) height) 2.0)) zoom) 0.1 1000.0)) (viewer-sx-set! viewer-info zoom) (viewer-sy-set! viewer-info zoom)]) (set! prev-x x) (set! prev-y y) (glut-post-redisplay)) (define (keyboard-fn key x y) (common-keyboard-func key-handlers key x y)) (define (special-fn key x y) (common-special-func key-handlers key x y)) (define (closure . args) (match args [('grid proc) (set! grid-proc proc)] [('axis proc) (set! axis-proc proc)] [('display proc) ;; hack for the backward compatibility (if (eqv? (arity proc) 0) (set! display-proc (^_ (proc))) ; old API (set! display-proc proc))] [('reshape proc) (set! reshape-proc proc)] [('key-handlers) key-handlers] [_ (error "unrecognized simple-viewer-window message:" args)])) (glut-init-display-mode mode) ;; Register GLUT window id. (let* ([pwin (and parent (name->window parent))] [id (cond [pwin (glut-create-sub-window (ref pwin'id ) (or x 0) (or y 0) width height)] [else (glut-init-window-size width height) (when (and x y) (glut-init-window-position x y)) (glut-create-window title)])]) (make <simple-viewer-window> :name name :id id :parent pwin :closure closure)) ;; Set up handlers. (glut-display-func (if (= proj-mode *projection-perspective*) display-fn3 display-fn2)) (glut-reshape-func reshape-fn) (glut-mouse-func mouse-fn) (glut-motion-func (if (= proj-mode *projection-perspective*) motion-fn3 motion-fn2)) (glut-keyboard-func keyboard-fn) (glut-special-func special-fn) ;; Enable some commonly used stuff ;; TODO: make them customizable (if (= proj-mode *projection-perspective*) (begin (gl-enable GL_CULL_FACE) (gl-enable GL_DEPTH_TEST) (gl-enable GL_NORMALIZE)) (begin (gl-enable GL_LINE_SMOOTH) (gl-enable GL_BLEND) (gl-blend-func GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA) (gl-hint GL_LINE_SMOOTH_HINT GL_NICEST))) name) ;; Creates a GL window, 3D view (define (simple-viewer-window name . keys) (apply make-viewer name :perspective keys)) (define (simple-viewer-window-2d name . keys) (apply make-viewer name :orthographic keys)) (define (simple-viewer-get-window) (id->window-name (glut-get-window))) (define (simple-viewer-set-window name) (cond [(name->window-id name) => glut-set-window])) ;; Callback registrar. (define-syntax define-registrar (syntax-rules () [(_ varname key default2-var default3-var) (define (varname proc . opts) (match opts [() (set! default3-var proc)] [(':perspective) (set! default3-var proc)] [(':orthographic) (set! default3-var proc)] [(name) (cond [(name->window name) => (^[win] (ref win'closure) 'key proc)] [else (errorf "~a: no such window with name: ~a" 'varname name)])] ))])) (define-registrar simple-viewer-display display *default-display-proc* *default-display-proc*) (define-registrar simple-viewer-reshape reshape *default-reshape3-proc* *default-reshape2-proc*) (define-registrar simple-viewer-grid grid *default-grid3-proc* *default-grid2-proc*) (define-registrar simple-viewer-axis axis *default-axis-proc* *default-axis-proc*) (define (simple-viewer-set-key! window . args) (let1 tab (cond [(not window) *default-key-handlers*] [(name->window window) => (cut ref <> 'key-handlers)] [else (error "simple-viewer-set-key!: no such window:" window)]) (let loop ([args args]) (match args [() '()] [(key proc . rest) (if proc (hash-table-put! tab key proc) (hash-table-delete! tab key)) (loop rest)] [else '()])))) (define (simple-viewer-run :key (rescue-errors #t)) (if rescue-errors (let1 eport (current-error-port) (let loop () (guard (e [else (format eport "*** SIMPLE-VIEWER: ~a\n" (ref e'message))]) (glut-main-loop)) (loop))) (glut-main-loop))) ;; ;; Default handlers (private) ;; (define (default-reshape3 w h v) (let1 ratio (/ h w) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum -1.0 1.0 (- ratio) ratio 5.0 10000.0) (viewer-left-set! v -1.0) (viewer-right-set! v -1.0) (viewer-bottom-set! v (- ratio)) (viewer-top-set! v ratio) (viewer-near-set! v 5.0) (viewer-far-set! v 10000.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -40.0) )) (define (default-reshape2 w h v) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d (- w) w (- h) h) (viewer-left-set! v (- w)) (viewer-right-set! v w) (viewer-bottom-set! v (- h)) (viewer-top-set! v h) (viewer-near-set! v 1.0) (viewer-far-set! v -1.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 1.0)) (define-inline (default-grid-common v) (gl-color 0.5 0.5 0.5) (gl-line-width 0.6)) (define (default-grid2 v) (default-grid-common v) ;; For 2D: we draw grid to cover entire viewport (let ([sx (viewer-sx v)] [sy (viewer-sy v)]) (let ([xmin (floor (- (/ (viewer-left v) sx) (viewer-tx v)))] [xmax (ceiling (- (/ (viewer-right v) sx) (viewer-tx v)))] [ymin (floor (- (/ (viewer-bottom v) sy) (viewer-ty v)))] [ymax (ceiling (- (/ (viewer-top v) sy) (viewer-ty v)))]) (gl-begin* GL_LINES (do-ec (: x xmin (+ xmax 1)) (begin (gl-vertex x ymin) (gl-vertex x ymax))) (do-ec (: y ymin (+ ymax 1)) (begin (gl-vertex xmin y) (gl-vertex xmax y))))))) (define (default-grid3 v) (default-grid-common v) ;; For 3D: we draw planes near the origin (gl-begin* GL_LINES (do-ec (: i -5 6) (begin (gl-vertex i 0 -5) (gl-vertex i 0 5) (gl-vertex -5 0 i) (gl-vertex 5 0 i))))) (define (default-axis v) (if (= (viewer-projection v) *projection-perspective*) (let () (define (axis a b c) (gl-color a b c) (gl-begin* GL_LINES (gl-vertex 0 0 0) (gl-vertex a b c))) (gl-line-width 3.0) (axis 1.0 0.0 0.0) (axis 0.0 1.0 0.0) (axis 0.0 0.0 1.0)) (begin (gl-line-width 1.0) (gl-color 1 0 0) (gl-begin* GL_LINES (gl-vertex (- (/ (viewer-left v) (viewer-sx v)) (viewer-tx v)) 0) (gl-vertex (- (/ (viewer-right v) (viewer-sx v)) (viewer-tx v)) 0)) (gl-color 0 1 0) (gl-begin* GL_LINES (gl-vertex 0 (- (/ (viewer-bottom v) (viewer-sy v)) (viewer-ty v))) (gl-vertex 0 (- (/ (viewer-top v) (viewer-sy v)) (viewer-ty v))))))) (define (quit-loop) (cond-expand [gauche.sys.pthreads ;; If we're in primordial thread, just terminating the current thread ;; lets other threads linger, which may cause unwanted behavior. ;; NB: There should be a more certain way to determine if we're in ;; primordial thread or not. (if (equal? (slot-ref (current-thread) 'name) "root") (exit) (thread-terminate! (current-thread)))] [else (exit)])) ;; common key handler (define (common-keyboard-func table keycode x y) (cond [(hash-table-get table (integer->char keycode) #f) => (cut <> x y)]) (glut-post-redisplay)) (define (common-special-func table keycode x y) (cond [(hash-table-get table keycode #f) => (cut <> x y)]) (glut-post-redisplay)) ;; ;; Set up default keymaps ;; (simple-viewer-set-key! #f #\escape (^ _ (quit-loop))) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/gl/simple-image.scm���������������������������������������������������������������0000644�0000764�0000764�00000000311�12144150067�016435� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; simple-image.scm - simple image I/O ;;; ;;; This is obsoleted. Use gl.simple.image instead. ;;; (define-module gl.simple-image (extend gl.simple.image)) ; for backward compatibility �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/gl.scm����������������������������������������������������������������������������0000644�0000764�0000764�00000011353�12342246772�014105� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; gl.scm - Gauche GL binding ;;; ;;; Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; (define-module gl (use srfi-1) (use gauche.uvector) (use gauche.version) (use gauche.sequence) (extend gl.math3d) (export-all) ) (select-module gl) (dynamic-load "libgauche-gl") ;;------------------------------------------------------------------- ;; <gl-boolean-vector> stuff ;; (define-method ref ((vec <gl-boolean-vector>) k . maybe-default) (apply gl-boolean-vector-ref vec k maybe-default)) (define-method (setter ref) ((vec <gl-boolean-vector>) k value) (gl-boolean-vector-set! vec k value)) (define-method call-with-iterator ((vec <gl-boolean-vector>) proc . args) (let ([len (gl-boolean-vector-length vec)] [i (get-keyword :start args 0)]) (proc (cut >= i len) (^[] (begin0 (gl-boolean-vector-ref vec i) (inc! i)))))) (define-method call-with-builder ((vec <gl-boolean-vector-meta>) proc . args) (if-let1 size (get-keyword :size args #f) (let ([v (make-gl-boolean-vector size)] [i 0]) (proc (^[item] (when (< i size) (gl-boolean-vector-set! v i item) (inc! i))) (^[] v))) (let1 q (make-queue) (proc (cut enqueue! q <>) (cut list->gl-boolean-vector (dequeue-all! q)))))) (define-method size-of ((vec <gl-boolean-vector>)) (gl-boolean-vector-length vec)) (define-reader-ctor 'gl-boolean-vector gl-boolean-vector) ;;------------------------------------------------------------------- ;; Utilities ;; (define-syntax gl-begin* (syntax-rules () [(_ mode commands ...) (begin (gl-begin mode) commands ... (gl-end))] )) (define-syntax gl-push-matrix* (syntax-rules () [(_ commands ...) (begin (gl-push-matrix) commands ... (gl-pop-matrix))] )) ;; Check GL version and extensions (define-values (gl-extension-available? gl-version<? gl-version<=? gl-version>? gl-version>=? gl-version=?) (let ([gl-vers #f] [gl-exts #f]) (define (ensure-version) (or gl-vers (rlet1 v (and-let* ([verstr (gl-get-string GL_VERSION)] [m (#/^\d+\.\d+\.\d+/ verstr)]) (m 0)) (set! gl-vers v)))) (define (ensure-extensions) (or gl-exts (rlet1 exts (and-let* ([extstr (gl-get-string GL_EXTENSIONS)]) (string-split extstr #[\s])) (set! gl-exts exts)))) (define (gl-extension-available? . required) (and-let* ([exts (ensure-extensions)]) (every (cut member <> exts) (map x->string required)))) (define (gl-version<? v) (and-let* ([vers (ensure-version)]) (version<? vers v))) (define (gl-version<=? v) (and-let* ([vers (ensure-version)]) (version<=? vers v))) (define (gl-version>? v) (and-let* ([vers (ensure-version)]) (version>? vers v))) (define (gl-version>=? v) (and-let* ([vers (ensure-version)]) (version>=? vers v))) (define (gl-version=? v) (and-let* ([vers (ensure-version)]) (version=? vers v))) (values gl-extension-available? gl-version<? gl-version<=? gl-version>? gl-version>=? gl-version=?) )) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/lib/Makefile.in�����������������������������������������������������������������������0000644�0000764�0000764�00000001425�11533026402�015026� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.PHONY: all check clean install distclean maintainer-clean SHELL = @SHELL@ srcdir = @srcdir@ VPATH = $(srcdir) top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ GAUCHE_CONFIG = "@GAUCHE_CONFIG@" GAUCHE_INSTALL = "@GAUCHE_INSTALL@" SCM_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --sitelibdir`" SCMFILES = gl.scm \ gl/math3d.scm \ gl/glut.scm \ gl/simple-image.scm \ gl/simple/viewer.scm \ gl/simple/image.scm CONFIG_GENERATED = Makefile all : check : install : $(GAUCHE_INSTALL) -m 444 -T $(SCM_INSTALL_DIR) $(SCMFILES) uninstall : $(GAUCHE_INSTALL) -U $(SCM_INSTALL_DIR) $(SCMFILES) clean : rm -rf core *~ gl/*~ distclean : clean rm -rf $(CONFIG_GENERATED) maintainer-clean : clean rm -rf $(CONFIG_GENERATED) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/����������������������������������������������������������������������������������0000755�0000764�0000764�00000000000�12371574452�013016� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/glext-lib.stub��������������������������������������������������������������������0000664�0000764�0000764�00000154312�12367117212�015604� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; glext-lib.stub - glue functions for GL extensions ;;; ;;; Copyright (c) 2004-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; " #include \"gauche-gl.h\" #include \"gl-syms.h\" #include \"gl-ptrs.h\" " (include "glcase.scm") "#define CHECK_ERROR(msg__) \\ do { \\ GLenum e = glGetError(); \\ if (e != GL_NO_ERROR) { \\ Scm_Error(\"%s: %s\", msg__, gluErrorString(e)); \\ } \\ } while (0) /* GLhandle is either typedef'ed to uint or void*; for the time being, we treat cast it to intptr_t */ #define SCM_GL_HANDLE_P(obj) SCM_INTEGERP(obj) #define SCM_MAKE_GL_HANDLE(handle) Scm_MakeIntegerU((intptr_t)(handle)) #define SCM_GL_HANDLE_VALUE(shandle) (GLhandleARB)(intptr_t)Scm_GetIntegerU(shandle) " ;; NB: this should be taken care of by genstub. (define-type <uvector> "ScmUVector*" "uniform vector" "SCM_UVECTORP" "SCM_UVECTOR") (define-type <u32vector> "ScmU32Vector*" "u32vector" "SCM_U32VECTORP" "SCM_U32VECTOR") (define-type <s32vector> "ScmS32Vector*" "s32vector" "SCM_S32VECTORP" "SCM_S32VECTOR") (define-type <f32vector> "ScmF32Vector*" "f32vector" "SCM_F32VECTORP" "SCM_F32VECTOR") ;;============================================================= ;; GL 1.2 ;; (define-cproc gl-tex-image-3d (target::<fixnum> level::<fixnum> internal-format::<fixnum> width::<fixnum> height::<fixnum> depth::<fixnum> border::<fixnum> format::<fixnum> type::<fixnum> texels) ::<void> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype (* size depth))]) (when texelptr (ENSURE glTexImage3D) (glTexImage3D target level internal_format width height depth border format type texelptr)))) (define-cproc gl-tex-sub-image-3d (target::<fixnum> level::<fixnum> xoffset::<fixnum> yoffset::<fixnum> zoffset::<fixnum> width::<fixnum> height::<fixnum> depth::<fixnum> format::<fixnum> type::<fixnum> texels) ::<void> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype (* size depth))]) (when texelptr (ENSURE glTexSubImage3D) (glTexSubImage3D target level xoffset yoffset zoffset width height depth format type texelptr)))) (define-cproc gl-copy-tex-sub-image-3d (target::<fixnum> level::<fixnum> xoffset::<fixnum> yoffset::<fixnum> zoffset::<fixnum> x::<fixnum> y::<fixnum> width::<fixnum> height::<fixnum>) ::<void> (ENSURE glCopyTexSubImage3D) (glCopyTexSubImage3D target level xoffset yoffset zoffset x y width height)) (define-cproc gl-draw-range-elements (mode::<fixnum> start::<uint> end::<uint> indices) ::<void> (ENSURE glDrawRangeElements) (gl-case (indices) (glDrawRangeElements mode start end (SCM_UVECTOR_SIZE indices) ~E ~X) ((u8) (u16) (u32)) "bad argument for indices; must be u8, u16 or u32vector, but got %S")) ;;============================================================= ;; GL_ARB_imaging ;; (define-cproc gl-color-table (target::<fixnum> internal-format::<fixnum> width::<int> format::<int> type::<int> data) ::<void> (let* ([elttype::int] [packed::int] [size::int (Scm_GLPixelDataSize width 1 format type (& elttype) (& packed))]) (ENSURE glColorTable) (glColorTable target internal_format width format type (Scm_GLPixelDataCheck data elttype size)))) (define-cproc gl-color-sub-table (target::<fixnum> start::<int> count::<int> format::<int> type::<int> data) ::<void> (let* ([elttype::int] [packed::int] [size::int (Scm_GLPixelDataSize count 1 format type (& elttype) (& packed))]) (ENSURE glColorSubTable) (glColorSubTable target start count format type (Scm_GLPixelDataCheck data elttype size)))) (define-cproc gl-color-table-parameter (target::<fixnum> pname::<fixnum> param) ::<void> (gl-case (param) (begin (ENSURE "glColorTableParameter~v") ("glColorTableParameter~v" target pname ~X)) ((f32 4) (s32 4)) "f32 or s32 vector of size 4 required, but got %S")) (define-cproc gl-copy-color-sub-table (target::<fixnum> start::<fixnum> x::<int> y::<int> width::<int>) ::<void> (ENSURE glCopyColorSubTable) (glCopyColorSubTable target start x y width)) (define-cproc gl-copy-color-table (target::<fixnum> internal-format::<fixnum> x::<int> y::<int> width::<int>) ::<void> (ENSURE glCopyColorTable) (glCopyColorTable target internal_format x y width)) (define-cproc gl-get-color-table! (target::<fixnum> format::<fixnum> type::<fixnum> data::<uvector>) ;; TODO: check the type and size vailidity of data (ENSURE glGetColorTable) (glGetColorTable target format type (SCM_UVECTOR_ELEMENTS data)) (result (SCM_OBJ data))) ; gl-get-color-table-parameter (define-cproc gl-blend-equation (mode::<fixnum>) ::<void> (ENSURE glBlendEquation) (glBlendEquation mode)) (define-cproc gl-blend-color (red::<float> green::<float> blue::<float> alpha::<float>) ::<void> (ENSURE glBlendColor) (glBlendColor red green blue alpha)) (define-cproc gl-histogram (target::<fixnum> width::<int> internal-format::<fixnum> sink::<boolean>) ::<void> (ENSURE glHistogram) (glHistogram target width internal_format sink)) (define-cproc gl-reset-histogram (target::<fixnum>) ::<void> (ENSURE glResetHistogram) (glResetHistogram target)) (define-cproc gl-get-histogram (target::<fixnum> reset::<boolean> format::<fixnum> type::<fixnum>) (ENSURE glGetHistogramParameteriv) (ENSURE glGetHistogram) (let* ([elttype::int] [width::GLint]) (glGetHistogramParameteriv GL_HISTOGRAM GL_HISTOGRAM_WIDTH (& width)) (let* ([size::int (Scm_GLPixelDataSize width 1 format type (& elttype) NULL)] [vec (Scm_GLAllocUVector elttype size)]) (unless (SCM_UVECTORP vec) (Scm_Error "invalid format or type (%S, %S)" format type)) (glGetHistogram target reset format type (SCM_UVECTOR_ELEMENTS vec)) (result vec)))) (define-cproc gl-get-histogram-parameter (target::<fixnum> pname::<fixnum>) (ENSURE glGetHistogramParameteriv) (let* ([param::GLint]) (case pname [(GL_HISTOGRAM_SINK) (glGetHistogramParameteriv target pname (& param)) (result (SCM_MAKE_BOOL param))] [else (glGetHistogramParameteriv target pname (& param)) (result (Scm_MakeInteger param))]))) (define-cproc gl-minmax (target::<fixnum> internal-format::<fixnum> sink::<boolean>) ::<void> (ENSURE glMinmax) (glMinmax target internal_format sink)) (define-cproc gl-reset-minmax (target::<fixnum>) ::<void> (ENSURE glResetMinmax) (glResetMinmax target)) (define-cproc gl-get-minmax (target::<fixnum> reset::<boolean> format::<fixnum> type::<fixnum>) (let* ([elttype::GLint] [size::int (Scm_GLPixelDataSize 2 1 format type (& elttype) NULL)] [vec (Scm_GLAllocUVector elttype size)]) (unless (SCM_UVECTORP vec) (Scm_Error "invalid format or type (%S, %S)" format type)) (ENSURE glGetMinmax) (glGetMinmax target reset format type (SCM_UVECTOR_ELEMENTS vec)) (result vec))) (define-cproc gl-get-minmax-parameter (target::<fixnum> pname::<fixnum>) (ENSURE glGetMinmaxParameteriv) (let* ([param::GLint]) (case pname [(GL_MINMAX_SINK) (glGetMinmaxParameteriv target pname (& param)) (result (SCM_MAKE_BOOL param))] [else (glGetMinmaxParameteriv target pname (& param)) (result (Scm_MakeInteger param))]))) (define-cproc gl-convolution-filter-2d (target::<fixnum> internal-format::<fixnum> width::<fixnum> height::<fixnum> format::<fixnum> type::<fixnum> data::<uvector>) ::<void> (let* ([elttype::GLint] [size::int (Scm_GLPixelDataSize width height format type (& elttype) NULL)]) (when (< (SCM_UVECTOR_SIZE data) size) (Scm_Error "given vector is too short (minimum %d elements): %S" size data)) (ENSURE glConvolutionFilter2D) (glConvolutionFilter2D target internal_format width height format type (SCM_UVECTOR_ELEMENTS data)))) (define-cproc gl-copy-convolution-filter-2d (target::<fixnum> internal-format::<fixnum> x::<fixnum> y::<fixnum> width::<fixnum> height::<fixnum>) ::<void> (ENSURE glCopyConvolutionFilter2D) (glCopyConvolutionFilter2D target internal_format x y width height)) (define-cproc gl-separable-filter-2d (target::<fixnum> internal-format::<fixnum> width::<fixnum> height::<fixnum> format::<fixnum> type::<fixnum> row::<uvector> column::<uvector>) ::<void> (ENSURE glSeparableFilter2D) (glSeparableFilter2D target internal_format width height format type (SCM_UVECTOR_ELEMENTS row) (SCM_UVECTOR_ELEMENTS column))) (define-cproc gl-convolution-filter-1d (target::<fixnum> internal-format::<fixnum> width::<fixnum> format::<fixnum> type::<fixnum> data::<uvector>) ::<void> (let* ([elttype::GLint] [size::int (Scm_GLPixelDataSize width 1 format type (& elttype) NULL)]) (when (< (SCM_UVECTOR_SIZE data) size) (Scm_Error "given vector is too short (minimum %d elements): %S" size data)) (ENSURE glConvolutionFilter1D) (glConvolutionFilter1D target internal_format width format type (SCM_UVECTOR_ELEMENTS data)))) (define-cproc gl-copy-convolution-filter-1d (target::<fixnum> internal-format::<fixnum> x::<fixnum> y::<fixnum> width::<fixnum>) ::<void> (ENSURE glCopyConvolutionFilter1D) (glCopyConvolutionFilter1D target internal_format x y width)) (define-cfn gl-convolution-parameter-1 (target::int pname::int pname-string::(const char*) param) ::void (unless (SCM_INTP param) (Scm_Error "bad type of param value for %s (int required): %S" pname-string param)) (ENSURE glConvolutionParameteri) (glConvolutionParameteri target pname (SCM_INT_VALUE param))) (define-cfn gl-convolution-parameter-4 (target::int pname::int pname-string::(const char*) param) ::void (gl-case (param) (begin (ENSURE "glConvolutionParameter~v") ("glConvolutionParameter~v" target pname ~X)) ((f32 4) (s32 4)) (Scm_Error "bad type of param value for %s (s32 or f32vector of size 4 required), but got: %S" pname-string param))) (define-cise-expr gl-convolution-parameter-dispatch [(_ (enum-name type) ...) (define (gen-call enum-name type) (ecase type [(s) ; scalar `((,enum-name) (gl-convolution-parameter-1 target ,enum-name ,(x->string enum-name) param))] [(v) ; vector `((,enum-name) (gl-convolution-parameter-4 target ,enum-name ,(x->string enum-name) param))])) `(case pname ,@(map gen-call enum-name type) [else (Scm_Error "Invalid pname parameter for gl-convolution-parameter: %d" pname)])]) (define-cproc gl-convolution-parameter (target::<fixnum> pname::<fixnum> param) ::<void> (gl-convolution-parameter-dispatch (GL_CONVOLUTION_BORDER_MODE s) (GL_CONVOLUTION_BORDER_COLOR v) (GL_CONVOLUTION_FILTER_SCALE v) (GL_CONVOLUTION_FILTER_BIAS v) )) ; gl-get-convolution-filter (define-cproc gl-get-convolution-parameter (target::<fixnum> pname::<fixnum>) (case pname [(GL_CONVOLUTION_BORDER_MODE GL_CONVOLUTION_FORMAT GL_CONVOLUTION_WIDTH GL_CONVOLUTION_HEIGHT GL_MAX_CONVOLUTION_WIDTH GL_MAX_CONVOLUTION_HEIGHT) (ENSURE glGetConvolutionParameteriv) (let* ([r::GLint]) (glGetConvolutionParameteriv target pname (& r)) (result (Scm_MakeInteger r)))] [(GL_CONVOLUTION_BORDER_COLOR GL_CONVOLUTION_FILTER_SCALE GL_CONVOLUTION_FILTER_BIAS) (ENSURE glGetConvolutionParameterfv) (let* ([v (Scm_MakeF32Vector 4 0)]) (glGetConvolutionParameterfv target pname (SCM_F32VECTOR_ELEMENTS v)) (result v))] [else (Scm_Error "Invalid pname parameter for gl-get-convolution-parameter: %d" pname)])) ; gl-get-separable-filter ;;============================================================= ;; GL_ARB_depth_texture ;; ;;============================================================= ;; GL_ARB_fragment_program ;; ;;============================================================= ;; GL_ARB_fragment_program_shadow ;; ;;============================================================= ;; GL_ARB_fragment_shader ;; ;;============================================================= ;; GL_ARB_matrix_palette ;; ;;============================================================= ;; GL_ARB_multisample ;; (define-cproc gl-sample-coverage-arb (value::<float> invert::<boolean>) ::<void> (ENSURE glSampleCoverageARB) (glSampleCoverageARB value invert)) ;;============================================================= ;; GL_ARB_multitexture ;; (define-cproc gl-active-texture-arb (texture::<int>) ::<void> (ENSURE glActiveTextureARB) (glActiveTextureARB texture)) (define-cproc gl-active-texture (texture::<int>) ::<void> ; GL 1.3 (ENSURE glActiveTexture) (glActiveTexture texture)) (define-cproc gl-client-active-texture-arb (texture::<int>) ::<void> (ENSURE glClientActiveTextureARB) (glClientActiveTextureARB texture)) (define-cproc gl-client-active-texture (texture::<int>) ::<void>; GL 1.3 (ENSURE glClientActiveTexture) (glClientActiveTexture texture)) (define-cproc gl-multi-tex-coord-arb (texunit::<int> v &rest args) ::<void> (gl-case (v args) (begin (ENSURE "glMultiTexCoord~n~vARB") ("glMultiTexCoord~n~vARB" texunit ~X)) ((f32 2 1 3 4) (f64 2 1 3 4) (s32 2 1 3 4) (s16 2 1 3 4) (args 2 1 3 4)) "bad argument for v: %S, must be one of f32, f64, s32 or s16 vector of length 1, 2, 3, or 4.")) ;;============================================================= ;; GL_ARB_occlusion_query ;; ;; gl-genqueries-arb ;; gl-delete-queries-arb (define-cproc gl-is-query-arb (query::<uint>) ::<boolean> (ENSURE glIsQueryARB) (result (glIsQueryARB query))) (define-cproc gl-begin-query-arb (op::<uint> query::<uint>) ::<void> (ENSURE glBeginQueryARB) (glBeginQueryARB op query)) (define-cproc gl-end-query-arb (op::<uint>) ::<void> (ENSURE glEndQueryARB) (glEndQueryARB op)) ;; gl-get-query-arb ;; gl-get-query-object-arb ;;============================================================= ;; GL_ARB_point_parameters ;; ;;============================================================= ;; GL_ARB_point_sprite ;; ;;============================================================= ;; GL_ARB_shader_objects ;; (define-type <gl-handle> "GLhandleARB" "glhandle" "SCM_GL_HANDLE_P" "SCM_GL_HANDLE_VALUE" "SCM_MAKE_GL_HANDLE") (define-cproc gl-delete-object-arb (h::<gl-handle>) ::<void> (ENSURE glDeleteObjectARB) (glDeleteObjectARB h)) (define-cproc gl-get-handle-arb (type::<uint>) ::<gl-handle> (ENSURE glGetHandleARB) (result (glGetHandleARB type))) (define-cproc gl-create-shader-object-arb (type::<uint>) ::<gl-handle> (ENSURE glCreateShaderObjectARB) (result (glCreateShaderObjectARB type))) (define-cproc gl-shader-source-arb (shader::<gl-handle> strings) ::<void> (let* ([nstrings::GLint (Scm_Length strings)] [i::int 0]) (ENSURE glShaderSourceARB) (when (< nstrings 0) (label einval) (Scm_Error "list of strings required, but got %S" strings)) (let* ([lengths::GLint* (SCM_NEW_ATOMIC2 (GLint*) (* nstrings (sizeof GLint)))] ;; NB: we can use atomic here, since all strings are pointed by the ;; input parameter, and we don't need this array after calling ;; glShaderSourceARB. [ss::GLcharARB** (SCM_NEW_ATOMIC2 (GLcharARB**) (* nstrings (sizeof (GLcharARB*))))]) (dolist [s strings] (unless (SCM_STRINGP s) (goto einval)) (set! (aref lengths i) (SCM_STRING_SIZE s)) (set! (aref ss i) (cast GLcharARB* (SCM_STRING_START s))) (inc! i)) (glShaderSourceARB shader nstrings (cast (const GLcharARB**) ss) lengths)))) (define-cproc gl-compile-shader-arb (shader::<gl-handle>) ::<void> (ENSURE glCompileShaderARB) (glCompileShaderARB shader)) (define-cproc gl-create-program-object-arb () ::<gl-handle> (ENSURE glCreateProgramObjectARB) (result (glCreateProgramObjectARB))) (define-cproc gl-attach-object-arb (program::<gl-handle> shader::<gl-handle>) ::<void> (ENSURE glAttachObjectARB) (glAttachObjectARB program shader)) (define-cproc gl-detach-object-arb (program::<gl-handle> shader::<gl-handle>) ::<void> (ENSURE glDetachObjectARB) (glDetachObjectARB program shader)) (define-cproc gl-link-program-arb (program::<gl-handle>) ::<void> (ENSURE glLinkProgramARB) (glLinkProgramARB program)) (define-cproc gl-use-program-object-arb (program::<gl-handle>) ::<void> (ENSURE glUseProgramObjectARB) (glUseProgramObjectARB program)) (define-cproc gl-validate-program-arb (program::<gl-handle>) ::<void> (ENSURE glValidateProgramARB) (glValidateProgramARB program)) (define-cproc gl-uniform1-arb (location::<int> v0) ::<void> (cond [(SCM_F32VECTORP v0) (let* ([count::int (SCM_F32VECTOR_SIZE v0)]) (ENSURE glUniform1fvARB) (glUniform1fvARB location count (SCM_F32VECTOR_ELEMENTS v0)))] [(SCM_S32VECTORP v0) (let* ([count::int (SCM_S32VECTOR_SIZE v0)]) (ENSURE glUniform1ivARB) (glUniform1ivARB location count (SCM_S32VECTOR_ELEMENTS v0)))] [else (ENSURE glUniform1fARB) (glUniform1fARB location (cast GLfloat (Scm_GetDouble v0)))])) (define-cproc gl-uniform2-arb (location::<int> v0 &optional v1) ::<void> (cond [(SCM_F32VECTORP v0) (let* ([count::int (/ (SCM_F32VECTOR_SIZE v0) 2)]) (ENSURE glUniform2fvARB) (glUniform2fvARB location count (SCM_F32VECTOR_ELEMENTS v0)))] [(SCM_S32VECTORP v0) (let* ([count::int (/ (SCM_S32VECTOR_SIZE v0) 2)]) (ENSURE glUniform2ivARB) (glUniform2ivARB location count (SCM_S32VECTOR_ELEMENTS v0)))] [(SCM_UNBOUNDP v1) (Scm_Error "Not enough arguments for gl-uniform2-arb")] [else (ENSURE glUniform2fARB) (glUniform2fARB location (cast GLfloat (Scm_GetDouble v0)) (cast GLfloat (Scm_GetDouble v1)))])) (define-cproc gl-uniform3-arb (location::<int> v0 &optional v1 v2) ::<void> (cond [(SCM_F32VECTORP v0) (let* ([count::int (/ (SCM_F32VECTOR_SIZE v0) 3)]) (ENSURE glUniform3fvARB) (glUniform3fvARB location count (SCM_F32VECTOR_ELEMENTS v0)))] [(SCM_S32VECTORP v0) (let* ([count::int (/ (SCM_S32VECTOR_SIZE v0) 3)]) (ENSURE glUniform3ivARB) (glUniform3ivARB location count (SCM_S32VECTOR_ELEMENTS v0)))] [(SCM_UNBOUNDP v2) (Scm_Error "Not enough arguments for gl-uniform3-arb")] [else (ENSURE glUniform3fARB) (glUniform3fARB location (cast GLfloat (Scm_GetDouble v0)) (cast GLfloat (Scm_GetDouble v1)) (cast GLfloat (Scm_GetDouble v2)))])) (define-cproc gl-uniform4-arb (location::<int> v0 &optional v1 v2 v3) ::<void> (cond [(SCM_F32VECTORP v0) (let* ([count::int (/ (SCM_F32VECTOR_SIZE v0) 4)]) (ENSURE glUniform4fvARB) (glUniform4fvARB location count (SCM_F32VECTOR_ELEMENTS v0)))] [(SCM_S32VECTORP v0) (let* ([count::int (/ (SCM_S32VECTOR_SIZE v0) 4)]) (ENSURE glUniform4ivARB) (glUniform4ivARB location count (SCM_S32VECTOR_ELEMENTS v0)))] [(SCM_UNBOUNDP v3) (Scm_Error "Not enough arguments for gl-uniform4-arb")] [else (ENSURE glUniform4fARB) (glUniform4fARB location (cast GLfloat (Scm_GetDouble v0)) (cast GLfloat (Scm_GetDouble v1)) (cast GLfloat (Scm_GetDouble v2)) (cast GLfloat (Scm_GetDouble v3)))])) (define-cproc gl-uniform-matrix2-arb (location::<int> transpose::<boolean> v::<f32vector>) ::<void> (let* ([count::int (/ (SCM_F32VECTOR_SIZE v) 4)]) (ENSURE glUniformMatrix2fvARB) (glUniformMatrix2fvARB location count transpose (SCM_F32VECTOR_ELEMENTS v)))) (define-cproc gl-uniform-matrix3-arb (location::<int> transpose::<boolean> v::<f32vector>) ::<void> (let* ([count::int (/ (SCM_F32VECTOR_SIZE v) 9)]) (ENSURE glUniformMatrix3fvARB) (glUniformMatrix3fvARB location count transpose (SCM_F32VECTOR_ELEMENTS v)))) (define-cproc gl-uniform-matrix4-arb (location::<int> transpose::<boolean> v::<f32vector>) ::<void> (let* ([count::int (/ (SCM_F32VECTOR_SIZE v) 16)]) (ENSURE glUniformMatrix4fvARB) (glUniformMatrix4fvARB location count transpose (SCM_F32VECTOR_ELEMENTS v)))) (define-cproc gl-get-object-parameter-arb (object::<gl-handle> pname::<uint>) (ENSURE glGetObjectParameterfvARB) (ENSURE glGetObjectParameterivARB) (case pname [(GL_OBJECT_TYPE_ARB GL_OBJECT_SUBTYPE_ARB GL_OBJECT_DELETE_STATUS_ARB GL_OBJECT_COMPILE_STATUS_ARB GL_OBJECT_LINK_STATUS_ARB GL_OBJECT_VALIDATE_STATUS_ARB GL_OBJECT_INFO_LOG_LENGTH_ARB GL_OBJECT_ATTACHED_OBJECTS_ARB GL_OBJECT_ACTIVE_ATTRIBUTES_ARB GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB GL_OBJECT_ACTIVE_UNIFORMS_ARB GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB GL_OBJECT_SHADER_SOURCE_LENGTH_ARB) (let* ([i::GLint]) (glGetObjectParameterivARB object pname (& i)) (result (Scm_MakeInteger i)))] [else (Scm_Error "invalid pname for gl-get-object-parameter-arb: %d" pname)])) (define-cproc gl-get-info-log-arb (object::<gl-handle>) (let* ([loglen::GLint 0]) (ENSURE glGetObjectParameterivARB) (ENSURE glGetInfoLogARB) (glGetObjectParameterivARB object GL_OBJECT_INFO_LOG_LENGTH_ARB (& loglen)) (let* ([logstr::GLcharARB* (SCM_NEW_ATOMIC2 (char*) (* (+ loglen 1) (sizeof GLcharARB)))]) (glGetInfoLogARB object loglen NULL logstr) (CHECK_ERROR glGetInfoLogARB) (result (Scm_MakeString (cast (const char*) logstr) (- loglen 1) -1 0))))) (define-cproc gl-get-attached-objects-arb (program::<gl-handle>) (ENSURE glGetObjectParameterivARB) (ENSURE glGetAttachedObjectsARB) (let* ([numobjs::GLint]) (glGetObjectParameterivARB program GL_OBJECT_ATTACHED_OBJECTS_ARB (& numobjs)) (CHECK_ERROR "glGetObjectParameterivARB") (let* ([objs::GLhandleARB* (SCM_NEW_ATOMIC2 (GLhandleARB*) (* numobjs (sizeof GLhandleARB)))]) (glGetAttachedObjectsARB program numobjs NULL objs) (CHECK_ERROR "glGetInfoLogARB") (let* ([r (Scm_MakeVector numobjs SCM_FALSE)]) (dotimes [i numobjs] (set! (SCM_VECTOR_ELEMENT r i) (SCM_MAKE_GL_HANDLE (aref objs i)))) (result r))))) (define-cproc gl-get-uniform-location-arb (program::<gl-handle> expr::<string>) (ENSURE glGetUniformLocationARB) (let* ([r::GLint (glGetUniformLocationARB program (cast (const GLcharARB*) (Scm_GetStringConst expr)))]) (CHECK_ERROR "glGetUniformLocationARB") (result (Scm_MakeInteger r)))) ;; returns (size, type, name) (define-cproc gl-get-active-uniform-arb (program::<gl-handle> index::<uint>) ::(<int> <int> <top>) (ENSURE glGetObjectParameterivARB) (ENSURE glGetActiveUniformARB) (let* ([maxlen::GLint]) (glGetObjectParameterivARB program GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB (& maxlen)) (CHECK_ERROR "glGetObjectParameterivARB") (let* ([len::GLsizei] [size::GLint] [type::GLenum] [namebuf::GLcharARB* (SCM_NEW_ATOMIC2 (GLcharARB*) (* (+ maxlen 1) (sizeof (GLcharARB*))))]) (glGetActiveUniformARB program index maxlen (& len) (& size) (& type) namebuf) (CHECK_ERROR "glGetActiveUniformARB") (result size type (Scm_MakeString namebuf len -1 0))))) ; get-uniform-f-arb ; get-uniform-i-arb (define-cproc gl-get-shader-source-arb (object::<gl-handle>) (ENSURE glGetObjectParameterivARB) (ENSURE glGetShaderSourceARB) (let* ([srclen::GLint]) (glGetObjectParameterivARB object GL_OBJECT_SHADER_SOURCE_LENGTH_ARB (& srclen)) (CHECK_ERROR "glGetObjectParameterivARB") (let* ([srcstr::GLcharARB* (SCM_NEW_ATOMIC2 (char*) (* (+ srclen 1) (sizeof GLcharARB)))]) (glGetShaderSourceARB object srclen NULL srcstr) (result (Scm_MakeString (cast (char*) srcstr) (- srclen 1) -1 0))))) ;;============================================================= ;; GL_ARB_shading_language_100 ;; ;;============================================================= ;; GL_ARB_shadow ;; ;;============================================================= ;; GL_ARB_shadow_ambient ;; ;;============================================================= ;; GL_ARB_texture_border_clamp ;; ;;============================================================= ;; GL_ARB_texture_compression ;; ; gl-compressed-tex-image-3d-arb ; gl-compressed-tex-image-2d-arb ; gl-compressed-tex-image-1d-arb ; gl-compressed-tex-subimage-3d-arb ; gl-compressed-tex-subimage-2d-arb ; gl-compressed-tex-subimage-1d-arb ; gl-get-compressed-tex-image-arb ;;============================================================= ;; GL_ARB_texture_cube_map ;; ;;============================================================= ;; GL_ARB_texture_env_add ;; ;;============================================================= ;; GL_ARB_texture_env_combine ;; ;;============================================================= ;; GL_ARB_texture_env_dot3 ;; ;;============================================================= ;; GL_ARB_texture_mirrored_repeat ;; ;;============================================================= ;; GL_ARB_texture_non_power_of_two ;; ;;============================================================= ;; GL_ARB_transpose_matrix ;; (define-cproc gl-load-transpose-matrix-arb (m) ::<void> (gl-case (m) (begin (ENSURE "glLoadTransposeMatrix~tARB") ("glLoadTransposeMatrix~tARB" ~X)) ((m4f) (f32 16) (f64 16)) "matrix4f, f32vector or f64vector of length 16 is required, but got %S")) (define-cproc gl-mult-transpose-matrix-arb (m) ::<void> (gl-case (m) (begin (ENSURE "glMultTransposeMatrix~tARB") ("glMultTransposeMatrix~tARB" ~X)) ((m4f) (f32 16) (f64 16)) "matrix4f, or f32vector or f64vector of length 16 is required, but got %S")) ;;============================================================= ;; GL_ARB_vertex_buffer_object ;; (define-cproc gl-bind-buffer-arb (target::<int> buffer::<uint>) ::<void> (ENSURE glBindBufferARB) (glBindBufferARB target buffer)) (define-cproc gl-delete-buffers-arb (buffers::<u32vector>) ::<void> (ENSURE glDeleteBuffersARB) (glDeleteBuffersARB (SCM_U32VECTOR_SIZE buffers) (SCM_U32VECTOR_ELEMENTS buffers))) (define-cproc gl-gen-buffers-arb (n::<uint>) (let* ([v (Scm_MakeU32Vector n 0)]) (ENSURE glGenBuffersARB) (glGenBuffersARB n (SCM_U32VECTOR_ELEMENTS v)) (result v))) (define-cproc gl-is-buffer-arb (buffer::<uint>) ::<boolean> (ENSURE glIsBufferARB) (result (glIsBufferARB buffer))) ; gl-buffer-data-arb ; gl-buffer-sub-data-arb ; gl-get-buffer-sub-data-arb ; gl-map-buffer-arb (define-cproc gl-unmap-buffer-arb (target::<int>) ::<boolean> (ENSURE glUnmapBufferARB) (result (glUnmapBufferARB target))) ; glGetBufferParameterivARB ; glGetBufferPointervARB ;;============================================================= ;; GL_ARB_vertex_program ;; (define-cproc gl-vertex-attrib-arb (index::<uint> arg0 &rest args) ::<void> (gl-case (arg0 args) (begin (ENSURE "glVertexAttrib~n~vARB") ("glVertexAttrib~n~vARB" index ~X)) ((p4f) (v4f) (f32 1 2 3 4) (s16 1 2 3 4) (f64 1 2 3 4) (s8 4) (u8 4) (u16 4) (s32 4) (u32 4) (args 1 2 3 4)) "bad argument for gl-vertex-attrib-arb: %S")) (define-cproc gl-vertex-attrib-4n-arb (index::<uint> arg0 &rest args) ::<void> (gl-case (arg0) (begin (ENSURE "glVertexAttrib4N~vARB") ("glVertexAttrib4N~vARB" index ~X)) ((s16 4) (s8 4) (u8 4) (u16 4) (s32 4) (u32 4)) "bad argument for gl-vertex-attrib-4n-arb: %S" ;; We can't use 'args' as a fallback, for we need to coerce ;; arguments into GLubyte (cond [(== (Scm_Length args) 3) (ENSURE glVertexAttrib4NubARB) (glVertexAttrib4NubARB index (cast GLubyte (Scm_GetIntegerU arg0)) (cast GLubyte (Scm_GetIntegerU (SCM_CAR args))) (cast GLubyte (Scm_GetIntegerU (SCM_CADR args))) (cast GLubyte (Scm_GetIntegerU (SCM_CAR (SCM_CDDR args)))))] [else (Scm_Error "bad arguments for gl-vertex-attrib-4n-arb: %S" (Scm_Cons arg0 args))]))) (define-cproc gl-vertex-attrib-pointer-arb (index::<uint> size::<int> vec &optional (normalized::<boolean> #f) (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (unless (and (<= 1 size) (<= size 4)) (Scm_Error "bad argument for size: %d, must be 1, 2, 3 or 4" size)) (gl-case (vec) (begin (ENSURE glVertexAttribPointerARB) (glVertexAttribPointerARB index size ~E normalized stride (cast GLvoid* (+ ~X offset)))) ((p4farray) (v4farray) (f32) (f64) (s32) (u32) (s16) (u16) (s8) (u8)) "bad argument for vec: %S, must be an uniform vector, <pointer4f-array> or <vector4f-array>")) (define-cproc gl-is-program-arb (prog-id::<int>) ::<boolean> (ENSURE glIsProgramARB) (result (glIsProgramARB prog_id))) (define-cproc gl-enable-vertex-attrib-array-arb (index::<uint>) ::<void> (ENSURE glEnableVertexAttribArrayARB) (glEnableVertexAttribArrayARB index)) (define-cproc gl-disable-vertex-attrib-array-arb (index::<uint>) ::<void> (ENSURE glDisableVertexAttribArrayARB) (glDisableVertexAttribArrayARB index)) (define-cproc gl-program-string-arb (target::<int> format::<int> text::<const-cstring>) ::<void> (let* ([errorPos::GLint]) (ENSURE glProgramStringARB) (glProgramStringARB target format (strlen text) text) (glGetIntegerv GL_PROGRAM_ERROR_POSITION_ARB (& errorPos)) (unless (== errorPos -1) (Scm_Error "Error in shader: %s" (glGetString GL_PROGRAM_ERROR_STRING_ARB))))) (define-cproc gl-bind-program-arb (target::<int> id::<int>) ::<void> (ENSURE glBindProgramARB) (glBindProgramARB target id)) (define-cproc gl-delete-programs-arb (arg0) ::<void> (cond [(SCM_INTEGERP arg0) (let* ([prog::GLuint (Scm_GetInteger arg0)]) (ENSURE glDeleteProgramsARB) (glDeleteProgramsARB 1 (& prog)))] [(SCM_U32VECTORP arg0) (ENSURE glDeleteProgramsARB) (glDeleteProgramsARB (SCM_S32VECTOR_SIZE arg0) (SCM_U32VECTOR_ELEMENTS arg0))])) (define-cproc gl-gen-programs-arb (n::<int>) (let* ([v::ScmU32Vector* (SCM_U32VECTOR (Scm_MakeU32Vector n 0))]) (ENSURE glGenProgramsARB) (glGenProgramsARB n (SCM_U32VECTOR_ELEMENTS v)) (result (SCM_OBJ v)))) ; target should be GL_FRAGMENT_PROGRAM_ARB or GL_VERTEX_PROGRAM_ARB (define-cproc gl-program-env-parameter-arb (target::<int> param-id::<int> arg0 &rest args) ::<void> (gl-case (arg0 args) (begin (ENSURE "glProgramEnvParameter~n~vARB") ("glProgramEnvParameter~n~vARB" target param_id ~X)) ((v4f) (f32 4) (f64 4) (args 4)) "bad argument for gl-program-env-parameter-arb: %S")) ; target should be GL_FRAGMENT_PROGRAM_ARB or GL_VERTEX_PROGRAM_ARB (define-cproc gl-program-local-parameter-arb (target::<int> param-id::<int> arg0 &rest args) ::<void> (gl-case (arg0 args) (begin (ENSURE "glProgramLocalParameter~n~vARB") ("glProgramLocalParameter~n~vARB" target param_id ~X)) ((v4f) (f32 4) (f64 4) (args 4)) "vector4f, f32vector or f64vector of length 4 required, but got: %S")) ; gl-get-program-env-parameter-arb ; gl-get-program-local-parameter-arb ; gl-get-program-arb ; gl-get-program-string-arb ; gl-get-vertex-attrib-arb ; gl-get-vertex-attrib-pointer-arb ;;============================================================= ;; GL_ARB_vertex_shader ;; (define-cproc gl-bind-attrib-location-arb (program::<gl-handle> index::<uint> name::<string>) ::<void> (ENSURE glBindAttribLocationARB) (glBindAttribLocationARB program index (Scm_GetStringConst name))) ;; NB: should be dynamically adjusted, using GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB "#define MAXNAMEBUFLEN 1024" ;; returns three values: size, type and name (define-cproc gl-get-active-attrib-arb (program::<gl-handle> index::<uint>) ::(<int> <int> <top>) (let* ([namebuf::(.array GLcharARB (MAXNAMEBUFLEN))] (attrsize::GLint 0) (attrtype::GLenum 0)) (ENSURE glGetActiveAttribARB) (glGetActiveAttribARB program index (- MAXNAMEBUFLEN 1) NULL (& attrsize) (& attrtype) namebuf) (result attrsize attrtype (SCM_MAKE_STR_COPYING namebuf)))) (define-cproc gl-get-attrib-location-arb (program::<gl-handle> name::<string>) ::<int> (ENSURE glGetAttribLocationARB) (result (glGetAttribLocationARB program (Scm_GetStringConst name)))) ;;============================================================= ;; GL_ARB_window_pos ;; (define-cproc gl-window-pos-arb (arg0 &rest args) ::<void> (gl-case (arg0 args) (begin (ENSURE "glWindowPos~n~vARB") ("glWindowPos~n~vARB" ~X)) ((f32 2 3) (s32 2 3) (s16 2 3) (f64 2 3) (args 2 3)) "bad arguments for gl-window-pos: %S")) ;;============================================================= ;; GL_ATI_texture_float ;; ;;============================================================= ;; GL_ATI_draw_buffers ;; (define-cproc gl-draw-buffers-ati (bufs::<s32vector>) ::<void> (ENSURE glDrawBuffersATI) (glDrawBuffersATI (SCM_S32VECTOR_SIZE bufs) (cast (const GLenum*) (SCM_S32VECTOR_ELEMENTS bufs)))) ;;============================================================= ;; GL_EXT_422_pixels ;; ;;============================================================= ;; GL_EXT_abgr ;; ;;============================================================= ;; GL_EXT_bgra ;; ;;============================================================= ;; GL_EXT_blend_color ;; (define-cproc gl-blend-color-ext (red::<float> green::<float> blue::<float> alpha::<float>) ::<void> (ENSURE glBlendColorEXT) (glBlendColorEXT red green blue alpha)) ;;============================================================= ;; GL_EXT_blend_equation_separate ;; (define-cproc gl-blend-equation-separate-ext (mode-rgb::<int> mode-alpha::<int>) ::<void> (ENSURE glBlendEquationSeparateEXT) (glBlendEquationSeparateEXT mode_rgb mode_alpha)) ;;============================================================= ;; GL_EXT_blend_func_separate ;; (define-cproc gl-blend-func-separate-ext (sfactor-rgb::<int> dfactor-rgb::<int> sfactor-alpha::<int> dfactor-alpha::<int>) ::<void> (ENSURE glBlendFuncSeparateEXT) (glBlendFuncSeparateEXT sfactor_rgb dfactor_rgb sfactor_alpha dfactor_alpha)) ;;============================================================= ;; GL_EXT_blend_logic_op ;; ;;============================================================= ;; GL_EXT_blend_minmax ;; (define-cproc gl-blend-equation-ext (mode::<int>) ::<void> (ENSURE glBlendEquationEXT) (glBlendEquationEXT mode)) ;;============================================================= ;; GL_EXT_blend_subtract ;; ;;============================================================= ;; GL_EXT_Cg_shader ;; ;;============================================================= ;; GL_EXT_polygon_offset ;; ;;============================================================= ;; GL_EXT_clip_volume_hint ;; ;;============================================================= ;; GL_EXT_cmyka ;; ;;============================================================= ;; GL_EXT_color_subtable ;; ;;============================================================= ;; GL_EXT_compiled_vertex_array ;; (define-cproc gl-lock-arrays-ext (first::<int> count::<uint>) ::<void> (ENSURE glLockArraysEXT) (glLockArraysEXT first count)) (define-cproc gl-unlock-arrays-ext () ::<void> (ENSURE glUnlockArraysEXT) (glUnlockArraysEXT)) ;;============================================================= ;; GL_EXT_convolution ;; ;;============================================================= ;; GL_EXT_copy_texture ;; ;;============================================================= ;; GL_EXT_cull_vertex ;; ;;============================================================= ;; GL_EXT_depth_bounds_test ;; (define-cproc gl-depth-bounds-ext (zmin::<double> zmax::<double>) ::<void> (ENSURE glDepthBoundsEXT) (glDepthBoundsEXT zmin zmax)) ;;============================================================= ;; GL_EXT_draw_range_elements ;; ; gl-draw-range-elements-ext ;;============================================================= ;; GL_EXT_fog_coord ;; ; gl-fog-coord-ext ; gl-fog-coord-pointer-ext ;;============================================================= ;; GL_EXT_histogram ;; ;;============================================================= ;; GL_EXT_misc_attribute ;; ;;============================================================= ;; GL_EXT_index_array_formats ;; ;;============================================================= ;; GL_EXT_index_func ;; ;;============================================================= ;; GL_EXT_index_material ;; ;;============================================================= ;; GL_EXT_index_texture ;; ;;============================================================= ;; GL_EXT_light_texture ;; ;;============================================================= ;; GL_EXT_multi_draw_arrays ;; ; gl-multi-draw-arrays-ext ; gl-multi-draw-elements-ext ;;============================================================= ;; GL_EXT_packed_pixels ;; ;;============================================================= ;; GL_EXT_paletted_texture ;; ; gl-color-table-ext ; gl-color-sub-table-ext ; gl-get-color-table-ext ; gl-get-color-table-parameter-ext ;;============================================================= ;; GL_EXT_pixel_buffer_object ;; ;;============================================================= ;; GL_EXT_pixel_transform ;; ;;============================================================= ;; GL_EXT_pixel_transform_color_table ;; ;;============================================================= ;; GL_EXT_point_parameters ;; ; gl-point-parameter-ext ;;============================================================= ;; GL_EXT_rescale_normal ;; ;;============================================================= ;; GL_EXT_secondary_color ;; ;;============================================================= ;; GL_EXT_separate_specular_color ;; ;;============================================================= ;; GL_EXT_shadow_funcs ;; ;;============================================================= ;; GL_EXT_shared_texture_palette ;; ;;============================================================= ;; GL_EXT_stencil_two_side ;; ;;============================================================= ;; GL_EXT_stencil_wrap ;; ;;============================================================= ;; GL_EXT_subtexture ;; ;;============================================================= ;; GL_EXT_texture ;; ;;============================================================= ;; GL_EXT_texture_compression_s3tc ;; ;;============================================================= ;; GL_EXT_texture_cube_map ;; ;;============================================================= ;; GL_EXT_coordinate_frame ;; ;;============================================================= ;; GL_EXT_texture_edge_clamp ;; ;;============================================================= ;; GL_EXT_texture_env_add ;; ;;============================================================= ;; GL_EXT_texture_env_combine ;; ;;============================================================= ;; GL_EXT_texture_env_dot3 ;; ;;============================================================= ;; GL_EXT_texture_filter_anisotropic ;; ;;============================================================= ;; GL_EXT_texture_lod_bias ;; ;;============================================================= ;; GL_EXT_texture_object ;; ;;============================================================= ;; GL_EXT_texture_perturb_normal ;; ;;============================================================= ;; GL_EXT_texture3D ;; ;;============================================================= ;; GL_EXT_texture_rectangle ;; ;;============================================================= ;; GL_EXT_vertex_array ;; ;;============================================================= ;; GL_EXT_vertex_weighting ;; ;;============================================================= ;; GL_NV_blend_square ;; ;;============================================================= ;; GL_NV_copy_depth_to_color ;; ;;============================================================= ;; GL_NV_depth_clamp ;; ;;============================================================= ;; GL_NV_element_array ;; ;;============================================================= ;; GL_NV_fence ;; ;;============================================================= ;; GL_NV_float_buffer ;; ;;============================================================= ;; GL_NV_fog_distance ;; ;;============================================================= ;; GL_NV_fragment_program ;; ;;============================================================= ;; GL_NV_fragment_program2 ;; ;;============================================================= ;; GL_NV_half_float ;; ;;============================================================= ;; GL_NV_light_max_exponent ;; ;;============================================================= ;; GL_NV_multisample_filter_hint ;; ;;============================================================= ;; GL_NV_occlusion_query ;; ;;============================================================= ;; GL_NV_packed_depth_stencil ;; ;;============================================================= ;; GL_NV_pixel_buffer_object ;; ;;============================================================= ;; GL_NV_pixel_data_range ;; ;;============================================================= ;; GL_NV_point_sprite ;; ;;============================================================= ;; GL_NV_primitive_restart ;; ;;============================================================= ;; GL_NV_register_combiners ;; ;;============================================================= ;; GL_NV_register_combiners2 ;; ;;============================================================= ;; GL_NV_stencil_two_side ;; ;;============================================================= ;; GL_NV_texgen_emboss ;; ;;============================================================= ;; GL_NV_texgen_reflection ;; ;;============================================================= ;; GL_NV_texture_compression_vtc ;; ;;============================================================= ;; GL_NV_texture_env_combine4 ;; ;;============================================================= ;; GL_NV_texture_expand_normal ;; ;;============================================================= ;; GL_NV_texture_rectangle ;; ;;============================================================= ;; GL_NV_texture_shader ;; ;;============================================================= ;; GL_NV_texture_shader2 ;; ;;============================================================= ;; GL_NV_texture_shader3 ;; ;;============================================================= ;; GL_NV_vertex_array_range ;; ;;============================================================= ;; GL_NV_vertex_array_range2 ;; ;;============================================================= ;; GL_NV_vertex_program ;; ;;============================================================= ;; GL_NV_vertex_program1_1 ;; ;;============================================================= ;; GL_NV_vertex_program2 ;; ;;============================================================= ;; GL_NV_vertex_program2_option ;; ;;============================================================= ;; GL_NV_vertex_program3 ;; ;;============================================================= ;; GL_EXT_framebuffer_object ;; (define-cproc gl-is-renderbuffer-ext (renderbuffer::<uint>) ::<boolean> (ENSURE glIsRenderbufferEXT) (result (glIsRenderbufferEXT renderbuffer))) (define-cproc gl-bind-renderbuffer-ext (target::<int> renderbuffer::<uint>) ::<void> (ENSURE glBindRenderbufferEXT) (glBindRenderbufferEXT target renderbuffer)) (define-cproc gl-gen-renderbuffers-ext (size::<int>) (ENSURE glGenRenderbuffersEXT) (when (<= size 0) (Scm_Error "size must be a positive integer, but got %d" size)) (let* ([vec (Scm_MakeU32Vector size 0)]) (glGenRenderbuffersEXT size (cast GLuint* (SCM_U32VECTOR_ELEMENTS vec))) (result vec))) (define-cproc gl-renderbuffer-storage-ext (target::<int> internalformat::<int> width::<uint> height::<uint>) ::<void> (ENSURE glRenderbufferStorageEXT) (glRenderbufferStorageEXT target internalformat width height)) (define-cproc gl-get-renderbuffer-parameter-ext (target::<int> pname::<int>) (ENSURE glGetRenderbufferParameterivEXT) (case pname [(GL_RENDERBUFFER_WIDTH_EXT GL_RENDERBUFFER_HEIGHT_EXT GL_RENDERBUFFER_INTERNAL_FORMAT_EXT GL_RENDERBUFFER_RED_SIZE_EXT GL_RENDERBUFFER_GREEN_SIZE_EXT GL_RENDERBUFFER_BLUE_SIZE_EXT GL_RENDERBUFFER_ALPHA_SIZE_EXT GL_RENDERBUFFER_DEPTH_SIZE_EXT GL_RENDERBUFFER_STENCIL_SIZE_EXT) (let* ([val::GLint]) (glGetRenderbufferParameterivEXT target pname (& val)) (result (Scm_MakeInteger val)))] [else (Scm_Error "unsupported pname for gl-get-renderbuffer-parameter-ext: %S" pname)])) (define-cproc gl-bind-framebuffer-ext (target::<int> framebuffer::<uint>) ::<void> (ENSURE glBindFramebufferEXT) (glBindFramebufferEXT target framebuffer)) (define-cproc gl-delete-framebuffers-ext (fbs::<u32vector>) ::<void> (ENSURE glDeleteFramebuffersEXT) (glDeleteFramebuffersEXT (SCM_U32VECTOR_SIZE fbs) (cast GLuint* (SCM_U32VECTOR_ELEMENTS fbs)))) (define-cproc gl-gen-framebuffers-ext (size::<int>) (ENSURE glGenFramebuffersEXT) (when (<= size 0) (Scm_Error "size must be a positive integer, but got %d" size)) (let* ([vec (Scm_MakeU32Vector size 0)]) (glGenFramebuffersEXT size (cast GLuint* (SCM_U32VECTOR_ELEMENTS vec))) (result vec))) (define-cproc gl-check-framebuffer-status-ext (target::<int>) ::<int> (ENSURE glCheckFramebufferStatusEXT) (result (glCheckFramebufferStatusEXT target))) (define-cproc gl-framebuffer-texture-1d-ext (target::<int> attachment::<int> textarget::<int> texture::<uint> level::<int>) ::<void> (ENSURE glFramebufferTexture1DEXT) (glFramebufferTexture1DEXT target attachment textarget texture level)) (define-cproc gl-framebuffer-texture-2d-ext (target::<int> attachment::<int> textarget::<int> texture::<uint> level::<int>) ::<void> (ENSURE glFramebufferTexture2DEXT) (glFramebufferTexture2DEXT target attachment textarget texture level)) (define-cproc gl-framebuffer-texture-3d-ext (target::<int> attachment::<int> textarget::<int> texture::<uint> level::<int> zoffset::<int>) ::<void> (ENSURE glFramebufferTexture3DEXT) (glFramebufferTexture3DEXT target attachment textarget texture level zoffset)) (define-cproc gl-framebuffer-renderbuffer-ext (target::<int> attachment::<int> renderbuffertarget::<int> renderbuffer::<uint>) ::<void> (ENSURE glFramebufferRenderbufferEXT) (glFramebufferRenderbufferEXT target attachment renderbuffertarget renderbuffer)) (define-cproc gl-get-framebuffer-attachment-parameter-ext (target::<int> attachment::<int> pname::<int>) (ENSURE glGetFramebufferAttachmentParameterivEXT) (case pname [(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT) (let* ([val::GLint]) (glGetFramebufferAttachmentParameterivEXT target attachment pname (& val)) (result (Scm_MakeInteger val)))] [else (Scm_Error "unsupported pname for gl-get-renderbuffer-parameter-ext: %S" pname)])) (define-cproc gl-generate-mipmap-ext (target::<int>) ::<void> (ENSURE glGenerateMipmapEXT) (glGenerateMipmapEXT target)) ;; Local variables: ;; mode: scheme ;; end: ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gauche-gl.c�����������������������������������������������������������������������0000644�0000764�0000764�00000035664�12342246752�015031� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * gauche-gl.c - Gauche GL binding * * Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 3. Neither the name of the authors nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <gauche.h> #include <gauche/class.h> #include <gauche/extend.h> #include "gauche-gl.h" #include "gl-syms.h" /* * GLboolean vector */ static void glboolvec_print(ScmObj obj, ScmPort *port, ScmWriteContext *ctx); static int glboolvec_compare(ScmObj x, ScmObj y, int equalp); static ScmClass *sequenceCPL[] = { SCM_CLASS_STATIC_PTR(Scm_SequenceClass), SCM_CLASS_STATIC_PTR(Scm_CollectionClass), SCM_CLASS_STATIC_PTR(Scm_TopClass), NULL }; SCM_DEFINE_BUILTIN_CLASS(Scm_GLBooleanVectorClass, glboolvec_print, glboolvec_compare, NULL, NULL, sequenceCPL); static ScmGLBooleanVector *glboolvec_allocate(int size, GLboolean *elts) { ScmGLBooleanVector *v = SCM_NEW(ScmGLBooleanVector); SCM_SET_CLASS(v, SCM_CLASS_GL_BOOLEAN_VECTOR); if (elts == NULL) { elts = SCM_NEW_ATOMIC2(GLboolean*, size*sizeof(GLboolean)); } v->size = size; v->elements = elts; return v; } ScmObj Scm_MakeGLBooleanVector(int size, GLboolean fill) { int i; ScmGLBooleanVector *v = glboolvec_allocate(size, NULL); for (i=0; i<size; i++) { v->elements[i] = fill; } return SCM_OBJ(v); } ScmObj Scm_MakeGLBooleanVectorFromArray(int size, const GLboolean arr[]) { int i; ScmGLBooleanVector *v = glboolvec_allocate(size, NULL); for (i=0; i<size; i++) { v->elements[i] = arr[i]; } return SCM_OBJ(v); } ScmObj Scm_MakeGLBooleanVectorFromArrayShared(int size, GLboolean arr[]) { ScmGLBooleanVector *v = glboolvec_allocate(size, arr); return SCM_OBJ(v); } ScmObj Scm_ListToGLBooleanVector(ScmObj lis) { int len = Scm_Length(lis), i; ScmObj lp; ScmGLBooleanVector *v; if (len < 0) Scm_Error("proper list required, but got %S", lis); v = glboolvec_allocate(len, NULL); i = 0; SCM_FOR_EACH(lp, lis) { v->elements[i++] = SCM_FALSEP(SCM_CAR(lp))? GL_FALSE : GL_TRUE; } return SCM_OBJ(v); } static void glboolvec_print(ScmObj obj, ScmPort *port, ScmWriteContext *ctx) { ScmGLBooleanVector *v = SCM_GL_BOOLEAN_VECTOR(obj); int i, size = v->size; Scm_Printf(port, "#,(gl-boolean-vector"); for (i=0; i<size; i++) { Scm_Printf(port, (v->elements[i]? " #t" : " #f")); } Scm_Printf(port, ")"); } static int glboolvec_compare(ScmObj x, ScmObj y, int equalp) { int i, xsize, ysize; if (!equalp) { Scm_Error("cannot compare <gl-boolean-vector>s: %S, %S", x, y); } xsize = SCM_GL_BOOLEAN_VECTOR(x)->size; ysize = SCM_GL_BOOLEAN_VECTOR(y)->size; if (xsize != ysize) return 1; for (i=0; i<xsize; i++) { if ((!SCM_GL_BOOLEAN_VECTOR(x)->elements[i]) != (!SCM_GL_BOOLEAN_VECTOR(y)->elements[i])) { return 1; } } return 0; } /* Utility functions */ /* Get extention procedure address. The way to get procedure address differs by platforms: wglGetProcAddress() glXGetProcAddress() / glXGetProcAddressARB() This function is to hide the difference. The coverage is incomplete, though. NB: It seems that we'd better to use glXGetProcAddressARB. http://lists.freedesktop.org/archives/xorg/2005-November/011279.html */ void *Scm_GLGetProcAddress(const char *name) { #if defined(GLX_ARB_get_proc_address) if (glXGetProcAddressARB != NULL) { return glXGetProcAddressARB((const GLubyte*)name); } #elif defined(GLX_VERSION_1_4) if (glXGetProcAddress != NULL) { return glXGetProcAddress(name); } #elif defined(MacOSX) return glutGetProcAddress(name); #elif defined(__CYGWIN__) && defined(X_DISPLAY_MISSING) if (wglGetProcAddress != NULL) { return wglGetProcAddress(name); } #endif /* !defined(GLX_VERSION_1_4) && !defined(GLX_ARB_get_proc_address) */ Scm_Error("GL extension %s is not supported on this platform", name); } /* List of numbers -> array of doubles. Returns # of elements. */ int Scm_GLGetDoubles(ScmObj val1, ScmObj list, double *result, int maxresult, int minresult) { int i = 0; ScmObj lp; if (!SCM_UNBOUNDP(val1)) { if (!SCM_NUMBERP(val1)) { Scm_Error("number required, but got %S", val1); } result[0] = Scm_GetDouble(val1); i++; } SCM_FOR_EACH(lp, list) { if (i >= maxresult) { Scm_Error("too many arguments: %S, at most %d allowed", list, maxresult); } if (!SCM_NUMBERP(SCM_CAR(lp))) { Scm_Error("number required, but got %S", SCM_CAR(lp)); } result[i] = Scm_GetDouble(SCM_CAR(lp)); i++; } if (i < minresult) { Scm_Error("too few argument: %S, at least %d required", list, minresult); } return i; } /* returns # of values returned by glGetTYPEv call for given state. -1 if the state can't be queried by glGetTYPEv. */ int Scm_GLStateInfoSize(GLenum state) { switch(state) { #include "gettype-sizes.c" } return -1; } /* given pixel data type GLenum, returns the appropriate data type. */ int Scm_GLPixelDataType(GLenum type, int *packed) { if (packed) *packed = FALSE; /* default */ switch (type) { case GL_BYTE:; return SCM_GL_BYTE; case GL_BITMAP: #if !defined(__CYGWIN__) case GL_UNSIGNED_BYTE_3_3_2:; case GL_UNSIGNED_BYTE_2_3_3_REV:; #endif /*!defined(__CYGWIN__)*/ if (packed) *packed = TRUE; /* FALLTHROUGH */ case GL_UNSIGNED_BYTE:; return SCM_GL_UBYTE; case GL_SHORT:; return SCM_GL_SHORT; #if !defined(__CYGWIN__) case GL_UNSIGNED_SHORT_5_6_5:; case GL_UNSIGNED_SHORT_5_6_5_REV:; case GL_UNSIGNED_SHORT_4_4_4_4:; case GL_UNSIGNED_SHORT_4_4_4_4_REV:; case GL_UNSIGNED_SHORT_5_5_5_1:; case GL_UNSIGNED_SHORT_1_5_5_5_REV:; if (packed) *packed = TRUE; #endif /*!defined(__CYGWIN__)*/ /* FALLTHROUGH */ case GL_UNSIGNED_SHORT:; return SCM_GL_USHORT; case GL_INT:; return SCM_GL_INT; #if !defined(__CYGWIN__) case GL_UNSIGNED_INT_8_8_8_8:; case GL_UNSIGNED_INT_8_8_8_8_REV:; case GL_UNSIGNED_INT_10_10_10_2:; case GL_UNSIGNED_INT_2_10_10_10_REV:; if (packed) *packed = TRUE; #endif /*!defined(__CYGWIN__)*/ /* FALLTHROUGH */ case GL_UNSIGNED_INT:; return SCM_GL_UINT; case GL_FLOAT:; return SCM_GL_FLOAT; default: /* TODO: packedsize types added to GL1.2 */ Scm_Error("unsupported or invalid pixel data type: %d", type); } return 0; /* NOTREACHED */ } /* given pixel format and pixel type, return # of elements used for pixel data. */ /* TODO: need to take into account the pixel store settings! */ int Scm_GLPixelDataSize(GLsizei w, GLsizei h, GLenum format, GLenum type, int *elttype, int *packedp) { int components = 0, packed = FALSE; *elttype = Scm_GLPixelDataType(type, &packed); if (packedp) *packedp = packed; switch (format) { case GL_COLOR_INDEX:; case GL_RED:; case GL_GREEN:; case GL_BLUE:; case GL_ALPHA:; case GL_LUMINANCE:; case GL_STENCIL_INDEX:; case GL_DEPTH_COMPONENT:; components = 1; break; case GL_RGB:; /*case GL_BGR:;*/ components = 3; break; case GL_LUMINANCE_ALPHA:; components = 2; break; case GL_RGBA:; /*case GL_BGRA:;*/ components = 4; break; } if (type == GL_BITMAP) { /* bitmap. each raster line is rounded up to byte boundary. */ return ((components*w+7)/8)*h; } if (packed) { return w*h; } else { return w*h*components; } } /* Given pixel element type and data size (obtained by Scm_GLPixelDataSize), checks the validity of pixel data, and returns a pointer to the data area of the pixel data. */ /* TODO: size is not checked yet */ void *Scm_GLPixelDataCheck(ScmObj pixels, int elttype, int size) { switch (elttype) { case SCM_GL_BYTE: if (!SCM_S8VECTORP(pixels)) { Scm_Error("s8vector required, but got %S", pixels); } return (void*)SCM_S8VECTOR_ELEMENTS(pixels); case SCM_GL_UBYTE: if (!SCM_U8VECTORP(pixels)) { Scm_Error("u8vector required, but got %S", pixels); } return (void*)SCM_U8VECTOR_ELEMENTS(pixels); case SCM_GL_SHORT: if (!SCM_S16VECTORP(pixels)) { Scm_Error("s16vector required, but got %S", pixels); } return (void*)SCM_S16VECTOR_ELEMENTS(pixels); case SCM_GL_USHORT: if (!SCM_U16VECTORP(pixels)) { Scm_Error("u16vector required, but got %S", pixels); } return (void*)SCM_U16VECTOR_ELEMENTS(pixels); case SCM_GL_INT: if (!SCM_S32VECTORP(pixels)) { Scm_Error("s32vector required, but got %S", pixels); } return (void*)SCM_S32VECTOR_ELEMENTS(pixels); case SCM_GL_UINT: if (!SCM_U32VECTORP(pixels)) { Scm_Error("u32vector required, but got %S", pixels); } return (void*)SCM_U32VECTOR_ELEMENTS(pixels); case SCM_GL_FLOAT: if (!SCM_F32VECTORP(pixels)) { Scm_Error("f32vector required, but got %S", pixels); } return (void*)SCM_F32VECTOR_ELEMENTS(pixels); case SCM_GL_FLOAT_OR_INT: if (SCM_F32VECTORP(pixels)) { return (void*)SCM_F32VECTOR_ELEMENTS(pixels); } else if (SCM_S32VECTORP(pixels)) { return (void*)SCM_S32VECTOR_ELEMENTS(pixels); } Scm_Error("f32vector or s32vector required, but got %S", pixels); return NULL; default: Scm_Error("Scm_GLPixelDataCheck: unknown element type: %d", elttype); return NULL; } } /* Allocates a uvector of SIZE. The type of uvector is specified by ELTTYPE (SCM_GL_BYTE, SCM_GL_UBYTE, etc.) Useful for generic handling of getting image data. May return SCM_FALSE if the type is ambiguous. */ ScmObj Scm_GLAllocUVector(int elttype, int size) { switch (elttype) { case SCM_GL_BYTE: return Scm_MakeS8Vector(size, 0); case SCM_GL_UBYTE: return Scm_MakeU8Vector(size, 0); case SCM_GL_SHORT: return Scm_MakeS16Vector(size, 0); case SCM_GL_USHORT: return Scm_MakeU16Vector(size, 0); case SCM_GL_INT: return Scm_MakeS32Vector(size, 0); case SCM_GL_UINT: return Scm_MakeU32Vector(size, 0); case SCM_GL_FLOAT: return Scm_MakeF32Vector(size, 0); case SCM_GL_DOUBLE: return Scm_MakeF64Vector(size, 0); default: return SCM_FALSE; } } /* GLU objects */ /* Quadric */ static void quadric_finalize(ScmObj obj, void *data) { gluDeleteQuadric(SCM_GLU_QUADRIC(obj)->quadric); } static ScmObj quadric_allocate(ScmClass *klass, ScmObj initargs) { ScmGluQuadric *q = SCM_NEW(ScmGluQuadric); SCM_SET_CLASS(q, SCM_CLASS_GLU_QUADRIC); if ((q->quadric = gluNewQuadric()) == NULL) { Scm_Error("gluNewQuadric failed"); } Scm_RegisterFinalizer(SCM_OBJ(q), quadric_finalize, NULL); return SCM_OBJ(q); } SCM_DEFINE_BUILTIN_CLASS(Scm_GluQuadricClass, NULL, NULL, NULL, quadric_allocate, NULL); /* Nurbs */ static void nurbs_finalize(ScmObj obj, void *data) { gluDeleteNurbsRenderer(SCM_GLU_NURBS(obj)->nurbs); } static ScmObj nurbs_allocate(ScmClass *klass, ScmObj initargs) { ScmGluNurbs *n = SCM_NEW(ScmGluNurbs); SCM_SET_CLASS(n, SCM_CLASS_GLU_NURBS); if ((n->nurbs = gluNewNurbsRenderer()) == NULL) { Scm_Error("gluNewNurbsRenderer failed"); } Scm_RegisterFinalizer(SCM_OBJ(n), nurbs_finalize, NULL); return SCM_OBJ(n); } SCM_DEFINE_BUILTIN_CLASS(Scm_GluNurbsClass, NULL, NULL, NULL, nurbs_allocate, NULL); /* Tesselator */ static void tesselator_finalize(ScmObj obj, void* data) { gluDeleteTess(SCM_GLU_TESSELATOR(obj)->tesselator); } static ScmObj tesselator_allocate(ScmClass *klass, ScmObj initargs) { ScmGluTesselator *q = SCM_NEW(ScmGluTesselator); SCM_SET_CLASS(q, SCM_CLASS_GLU_TESSELATOR); if ((q->tesselator = gluNewTess()) == NULL) { Scm_Error("gluNewTess failed"); } Scm_RegisterFinalizer(SCM_OBJ(q), tesselator_finalize, NULL); return SCM_OBJ(q); } SCM_DEFINE_BUILTIN_CLASS(Scm_GluTesselatorClass, NULL, NULL, NULL, tesselator_allocate, NULL); /* Initialization */ extern void Scm_Init_gl_lib(ScmModule *mod); extern void Scm_Init_gl_syms(ScmModule *mod); extern void Scm_Init_glext_lib(ScmModule *mod); extern void Scm_Init_glu_lib(ScmModule *mod); void Scm_Init_libgauche_gl(void) { ScmModule *mod; SCM_INIT_EXTENSION(libgauche_gl); mod = SCM_MODULE(SCM_FIND_MODULE("gl", TRUE)); Scm_InitStaticClassWithMeta(&Scm_GLBooleanVectorClass, "<gl-boolean-vector>", mod, NULL, SCM_NIL, NULL, 0); Scm_InitStaticClass(&Scm_GluQuadricClass, "<glu-quadric>", mod, NULL, 0); Scm_InitStaticClass(&Scm_GluNurbsClass, "<glu-nurbs>", mod, NULL, 0); Scm_InitStaticClass(&Scm_GluTesselatorClass, "<glu-tesselator>", mod, NULL, 0); Scm_Init_gl_lib(mod); Scm_Init_gl_syms(mod); Scm_Init_glext_lib(mod); Scm_Init_glu_lib(mod); } ����������������������������������������������������������������������������Gauche-gl-0.6/src/gauche-gl.h�����������������������������������������������������������������������0000664�0000764�0000764�00000012435�12342246752�015027� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * gauche-gl.h - Gauche GL extension * * Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 3. Neither the name of the authors nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef GAUCHE_GL_H #define GAUCHE_GL_H #if MacOSX #include <OpenGL/gl.h> #include <OpenGL/glu.h> #include <GLUT/glut.h> /* for glutGetProcAddress. */ #elif HAVE_GL_GLEW_H #include <GL/glew.h> #else #include <GL/gl.h> #include <GL/glu.h> #endif #ifdef HAVE_GL_GLX_H #define GLX_GLXEXT_PROTOTYPES #include <GL/glx.h> #endif #if defined(__CYGWIN__) && defined(X_DISPLAY_MISSING) #include <windows.h> /* for wglGetProcAddress */ #endif #include <gauche/uvector.h> #include "gauche/math3d.h" /* * GL auxiliary routines */ /* get extension function pointer */ void *Scm_GLGetProcAddress(const char *name); /* acceptable data type */ enum { SCM_GL_BYTE, SCM_GL_UBYTE, SCM_GL_SHORT, SCM_GL_USHORT, SCM_GL_INT, SCM_GL_UINT, SCM_GL_FLOAT, SCM_GL_FLOAT_OR_INT, SCM_GL_DOUBLE }; extern int Scm_GLGetDoubles(ScmObj val1, ScmObj list, double *result, int maxresult, int minresult); extern int Scm_GLStateInfoSize(GLenum state); extern int Scm_GLPixelDataType(GLenum type, int *packed); extern int Scm_GLPixelDataSize(GLsizei w, GLsizei h, GLenum format, GLenum type, int *elttype, int *packed); extern void *Scm_GLPixelDataCheck(ScmObj pixels, int elttype, int size); extern ScmObj Scm_GLAllocUVector(int type, int size); /* GLBoolean vector */ typedef struct ScmGLBooleanVectorRec { SCM_HEADER; int size; GLboolean *elements; } ScmGLBooleanVector; SCM_CLASS_DECL(Scm_GLBooleanVectorClass); #define SCM_CLASS_GL_BOOLEAN_VECTOR (&Scm_GLBooleanVectorClass) #define SCM_GL_BOOLEAN_VECTOR(obj) ((ScmGLBooleanVector*)(obj)) #define SCM_GL_BOOLEAN_VECTOR_P(obj) SCM_XTYPEP(obj, SCM_CLASS_GL_BOOLEAN_VECTOR) #define SCM_GL_BOOLEAN_VECTOR_SIZE(obj) (SCM_GL_BOOLEAN_VECTOR(obj)->size) #define SCM_GL_BOOLEAN_VECTOR_ELEMENTS(obj) (SCM_GL_BOOLEAN_VECTOR(obj)->elements) extern ScmObj Scm_MakeGLBooleanVector(int size, GLboolean fill); extern ScmObj Scm_MakeGLBooleanVectorFromArray(int size, const GLboolean arr[]); extern ScmObj Scm_MakeGLBooleanVectorFromArrayShared(int size, GLboolean arr[]); extern ScmObj Scm_ListToGLBooleanVector(ScmObj lis); extern ScmObj Scm_GLBooleanVectorToUVector(ScmObj klass, ScmGLBooleanVector *src); extern ScmObj Scm_UVectorToGLBooleanVector(ScmObj src); /* GLU objects */ /* Quadrics */ typedef struct ScmGluQuadricRec { SCM_HEADER; GLUquadricObj* quadric; } ScmGluQuadric; SCM_CLASS_DECL(Scm_GluQuadricClass); #define SCM_CLASS_GLU_QUADRIC (&Scm_GluQuadricClass) #define SCM_GLU_QUADRIC(obj) ((ScmGluQuadric*)(obj)) #define SCM_GLU_QUADRIC_P(obj) SCM_XTYPEP(obj, SCM_CLASS_GLU_QUADRIC) /* Nurbs */ typedef struct ScmGluNurbsRec { SCM_HEADER; GLUnurbsObj* nurbs; } ScmGluNurbs; SCM_CLASS_DECL(Scm_GluNurbsClass); #define SCM_CLASS_GLU_NURBS (&Scm_GluNurbsClass) #define SCM_GLU_NURBS(obj) ((ScmGluNurbs*)(obj)) #define SCM_GLU_NURBS_P(obj) SCM_XTYPEP(obj, SCM_CLASS_GLU_NURBS) extern ScmObj Scm_GLUMakeNurbs(GLUnurbsObj*); /* Tessalator */ /* GLU 1.0 and 1.1 interface */ typedef struct ScmGluTesselatorRec { SCM_HEADER; GLUtriangulatorObj* tesselator; } ScmGluTesselator; SCM_CLASS_DECL(Scm_GluTesselatorClass); #define SCM_CLASS_GLU_TESSELATOR (&Scm_GluTesselatorClass) #define SCM_GLU_TESSELATOR(obj) ((ScmGluTesselator*)(obj)) #define SCM_GLU_TESSELATOR_P(obj) SCM_XTYPEP(obj, SCM_CLASS_GLU_TESSELATOR) extern ScmObj Scm_GLUMakeTesselator(GLUtriangulatorObj*); /* GLU 1.2 and later uses GLUtesselator. (not yet implemented */ #endif /* GAUCHE_GL_H */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/glut-lib.stub���������������������������������������������������������������������0000664�0000764�0000764�00000053020�12367117212�015426� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; glut-lib.stub - glue functions for GLUT ;;; ;;; Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; " #include \"gauche-gl.h\" #ifdef HAVE_GLUT_GLUT_H #include <GLUT/glut.h> #else #include <GL/glut.h> #endif #include \"gauche-glut.h\" " (include "glcase.scm") ;;======================================================== ;; Window manipulation ;; ;; glut-init ;; Takes list of args instead of C-style argc/argv, and returns ;; (possibly modified) args. (define-cproc glut-init (args) (let* ([argc::int (Scm_Length args)] [argv::char**]) (when (< argc 0) (SCM_TYPE_ERROR args "list")) (set! argv (Scm_ListToCStringArray args TRUE NULL)) (glutInit (& argc) argv) (.if "defined(HAVE_GL_GLEW_H)" (let* ([r::GLenum (glewInit)]) (unless (!= r GLEW_OK) (Scm_Error "Initializing GLEW failed.")))) (result (Scm_CStringArrayToList (cast (const char**) argv) argc 0)))) (define-cproc glut-init-display-mode (mode::<fixnum>) ::<void> glutInitDisplayMode) (if "!(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)" "#define glutInitDisplayString(x) /*ignore*/") (define-cproc glut-init-display-string (string::<const-cstring>) ::<void> glutInitDisplayString) (define-cproc glut-init-window-size (width::<int> height::<int>) ::<void> glutInitWindowSize) (define-cproc glut-init-window-position (x::<int> y::<int>) ::<void> glutInitWindowPosition) (define-cproc glut-main-loop () ::<void> glutMainLoop) (define-cproc glut-create-window (name::<const-cstring>) ::<int> glutCreateWindow) (define-cproc glut-create-sub-window (win::<int> x::<int> y::<int> width::<int> height::<int>) ::<int> glutCreateSubWindow) (define-cproc glut-destroy-window (win::<int>) ::<void> glutDestroyWindow) (define-cproc glut-post-redisplay () ::<void> glutPostRedisplay) (if "!(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)" "#define glutPostWindowRedisplay(win) /*ignore*/") (define-cproc glut-post-window-redisplay (win::<int>) ::<void> glutPostWindowRedisplay) (define-cproc glut-swap-buffers () ::<void> glutSwapBuffers) (define-cproc glut-get-window () ::<int> glutGetWindow) (define-cproc glut-set-window (win::<int>) ::<void> glutSetWindow) (define-cproc glut-set-window-title (title::<const-cstring>) ::<void> glutSetWindowTitle) (define-cproc glut-set-icon-title (title::<const-cstring>) ::<void> glutSetIconTitle) (define-cproc glut-position-window (x::<int> y::<int>) ::<void> glutPositionWindow) (define-cproc glut-reshape-window (width::<int> height::<int>) ::<void> glutReshapeWindow) (define-cproc glut-push-window () ::<void> glutPushWindow) (define-cproc glut-pop-window () ::<void> glutPopWindow) (define-cproc glut-iconify-window () ::<void> glutIconifyWindow) (define-cproc glut-show-window () ::<void> glutShowWindow) (define-cproc glut-hide-window () ::<void> glutHideWindow) (if "!(GLUT_API_VERSION >= 3)" "#define glutFullScreen(x) /*ignore*/") (define-cproc glut-full-screen () ::<void> glutFullScreen) (if "!(GLUT_API_VERSION >= 3)" "#define glutSetCursor(x) /*ignore*/") (define-cproc glut-set-cursor (cursor::<int>) ::<void> glutSetCursor) (if "!(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)" "#define glutWarpPointer(x, y) /*ignore*/") (define-cproc glut-warp-pointer (x::<int> y::<int>) ::<void> glutWarpPointer) ;;======================================================== ;; Overlay APIs ;; (define-cproc glut-establish-overlay () "#if (GLUT_API_VERSION >= 3) glutEstablishOverlay(); #endif SCM_RETURN(SCM_UNDEFINED);") (define-cproc glut-remove-overlay () "#if (GLUT_API_VERSION >= 3) glutRemoveOverlay(); #endif SCM_RETURN(SCM_UNDEFINED);") (define-cproc glut-use-layer (layer::<fixnum>) "#if (GLUT_API_VERSION >= 3) glutUseLayer(layer); #endif SCM_RETURN(SCM_UNDEFINED);") (define-cproc glut-post-overlay-redisplay () "#if (GLUT_API_VERSION >= 3) glutPostOverlayRedisplay(); #endif SCM_RETURN(SCM_UNDEFINED);") (define-cproc glut-post-window-overlay-redisplay (win::<int>) "#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) glutPostWindowOverlayRedisplay(win); #endif SCM_RETURN(SCM_UNDEFINED);") (define-cproc glut-show-overlay () "#if (GLUT_API_VERSION >= 3) glutShowOverlay(); #endif SCM_RETURN(SCM_UNDEFINED);") (define-cproc glut-hide-overlay () "#if (GLUT_API_VERSION >= 3) glutHideOverlay(); #endif SCM_RETURN(SCM_UNDEFINED);") ;;======================================================== ;; Menu APIs ;; ;; Glut menu API doesn't passes the callback function which menu ;; it is invoked. We need to keep an assoc list of menu id and ;; callback fn. "static ScmObj menu_fn_assoc = SCM_NIL;" (define-cfn menu-callback (item::int) ::void (let* ([menu::int (glutGetMenu)] [p (Scm_Assoc (SCM_MAKE_INT menu) menu_fn_assoc SCM_CMP_EQV)]) (when (and (SCM_PAIRP p) (SCM_PROCEDUREP (SCM_CDR p))) (Scm_ApplyRec (SCM_CDR p) (SCM_LIST1 (SCM_MAKE_INT item)))))) (define-cproc glut-create-menu (callback::<procedure>) (let* ([menu::int (glutCreateMenu menu_callback)]) (if (>= menu 0) (begin (set! menu_fn_assoc (Scm_Acons (SCM_MAKE_INT menu) (SCM_OBJ callback) menu_fn_assoc)) (result (SCM_MAKE_INT menu))) (result '#f)))) (define-cproc glut-destroy-menu (menu::<fixnum>) ::<void> (set! menu_fn_assoc (Scm_AssocDelete (SCM_MAKE_INT menu) menu_fn_assoc SCM_CMP_EQV)) (glutDestroyMenu menu)) (define-cproc glut-get-menu () ::<int> glutGetMenu) (define-cproc glut-set-menu (menu::<fixnum>)::<void> glutSetMenu) (define-cproc glut-add-menu-entry (label::<const-cstring> value::<int>)::<void> glutAddMenuEntry) (define-cproc glut-add-sub-menu (label::<const-cstring> submenu::<int>)::<void> glutAddSubMenu) (define-cproc glut-change-to-menu-entry (item::<int> label::<const-cstring> value::<int>) ::<void> glutChangeToMenuEntry) (define-cproc glut-change-to-sub-menu (item::<int> label::<const-cstring> submenu::<int>) ::<void> glutChangeToSubMenu) (define-cproc glut-remove-menu-item (item::<int>) ::<void> glutRemoveMenuItem) (define-cproc glut-attach-menu (button::<int>) ::<void> glutAttachMenu) (define-cproc glut-detach-menu (button::<int>) ::<void> glutDetachMenu) ;;======================================================== ;; Callbacks ;; ;; Most Glut callbacks are associated to the "current window". ;; Scm_GlutRegisterCallback handles the association. (define-cproc glut-display-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_DISPLAY fn 0 0)) (define-cproc glut-overlay-display-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_OVERLAY_DISPLAY fn 0 0)) (define-cproc glut-reshape-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_RESHAPE fn 0 0)) (define-cproc glut-keyboard-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_KEYBOARD fn 0 0)) (define-cproc glut-keyboard-up-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_KEYBOARD_UP fn 0 0)) (define-cproc glut-mouse-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_MOUSE fn 0 0)) (define-cproc glut-motion-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_MOTION fn 0 0)) (define-cproc glut-passive-motion-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_PASSIVE_MOTION fn 0 0)) (define-cproc glut-visibility-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_VISIBILITY fn 0 0)) (define-cproc glut-entry-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_ENTRY fn 0 0)) (define-cproc glut-special-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_SPECIAL fn 0 0)) (define-cproc glut-special-up-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_SPECIAL_UP fn 0 0)) (define-cproc glut-spaceball-motion-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_SPACEBALL_MOTION fn 0 0)) (define-cproc glut-spaceball-rotate-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_SPACEBALL_ROTATE fn 0 0)) (define-cproc glut-spaceball-button-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_SPACEBALL_BUTTON fn 0 0)) (define-cproc glut-button-box-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_BUTTON_BOX fn 0 0)) (define-cproc glut-dials (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_DIALS fn 0 0)) (define-cproc glut-tablet-motion-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_TABLET_MOTION fn 0 0)) (define-cproc glut-tablet-button-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_TABLET_BUTTON fn 0 0)) (define-cproc glut-menu-status (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_MENU_STATUS fn 0 0)) (define-cproc glut-window-status (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_WINDOW_STATUS fn 0 0)) (define-cproc glut-joystick-func (fn interval::<int>) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_JOYSTICK fn interval 0)) (define-cproc glut-idle-func (fn) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_IDLE fn 0 0)) (define-cproc glut-timer-func (millis::<int> fn value::<int>) ::<void> (Scm_GlutRegisterCallback SCM_GLUT_CB_TIMER fn millis value)) ;;======================================================== ;; Colormap ;; (define-cproc glut-set-color (index::<int> r::<float> g::<float> b::<float>) ::<void> glutSetColor) (define-cproc glut-get-color (index::<int> component::<fixnum>) ::<double> (result (cast double (glutGetColor index component)))) (define-cproc glut-copy-colormap (win::<int>) ::<void> glutCopyColormap) ;;======================================================== ;; state retrieval ;; (define-cproc glut-get (type::<int>) ::<int> glutGet) (define-cproc glut-device-get (type::<int>) ::<int> glutDeviceGet) (if "!(GLUT_API_VERSION >= 2)" "#define glutExtensionSupported(x) FALSE") (define-cproc glut-extension-supported (name::<const-cstring>) ::<boolean> glutExtensionSupported) (if "!(GLUT_API_VERSION >= 3)" "#define glutGetModifiers() 0") (define-cproc glut-get-modifiers () ::<int> glutGetModifiers) (if "!(GLUT_API_VERSION >= 3)" "#define glutLayerGet(x) 0") (define-cproc glut-layer-get (type::<int>) ::<int> glutLayerGet) ;;======================================================== ;; Font ;; (define-type <glut-font> "ScmGlutFont*" #f "SCM_GLUT_FONT_P" "SCM_GLUT_FONT") (define-cproc glut-bitmap-character (font::<glut-font> character::<int>) ::<void> (glutBitmapCharacter (-> font font) character)) (define-cproc glut-bitmap-width (font::<glut-font> character::<int>) ::<int> (result (glutBitmapWidth (-> font font) character))) (define-cproc glut-stroke-character (font::<glut-font> character::<int>) ::<void> (glutStrokeCharacter (-> font font) character)) (define-cproc glut-stroke-width (font::<glut-font> character::<int>) ::<int> (result (glutStrokeWidth (-> font font) character))) (if "!(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)" "#define glutBitmapLength(x, y) 0") (define-cproc glut-bitmap-length (font::<glut-font> string::<const-cstring>) ::<int> (result (glutBitmapLength (-> font font) (cast (const unsigned char*) string)))) (if "!(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)" "#define glutStrokeLength(x, y) 0") (define-cproc glut-stroke-length (font::<glut-font> string::<const-cstring>) ::<int> (result (glutStrokeLength (-> font font) (cast (const unsigned char*) string)))) ;;======================================================== ;; pre-built models ;; (define-cproc glut-wire-sphere (radius::<real> slices::<int> stacks::<int>) ::<void> glutWireSphere) (define-cproc glut-solid-sphere (radius::<real> slices::<int> stacks::<int>) ::<void> glutSolidSphere) (define-cproc glut-wire-cone (radius::<real> height::<real> slices::<int> stacks::<int>) ::<void> glutWireCone) (define-cproc glut-solid-cone (radius::<real> height::<real> slices::<int> stacks::<int>) ::<void> glutSolidCone) (define-cproc glut-wire-cube (size::<real>) ::<void> glutWireCube) (define-cproc glut-solid-cube (size::<real>) ::<void> glutSolidCube) (define-cproc glut-wire-torus (inner::<real> outer::<real> sides::<int> rings::<int>) ::<void> glutWireTorus) (define-cproc glut-solid-torus (inner::<real> outer::<real> sides::<int> rings::<int>) ::<void> glutSolidTorus) (define-cproc glut-wire-dodecahedron () ::<void> glutWireDodecahedron) (define-cproc glut-solid-dodecahedron () ::<void> glutSolidDodecahedron) (define-cproc glut-wire-teapot (size::<real>) ::<void> glutWireTeapot) (define-cproc glut-solid-teapot (size::<real>) ::<void> glutSolidTeapot) (define-cproc glut-wire-octahedron () ::<void> glutWireOctahedron) (define-cproc glut-solid-octahedron () ::<void> glutSolidOctahedron) (define-cproc glut-wire-tetrahedron () ::<void> glutWireTetrahedron) (define-cproc glut-solid-tetrahedron () ::<void> glutSolidTetrahedron) (define-cproc glut-wire-icosahedron () ::<void> glutWireIcosahedron) (define-cproc glut-solid-icosahedron () ::<void> glutSolidIcosahedron) ;;======================================================== ;; Video resize ;; ;;======================================================== ;; Debug ;; ;;======================================================== ;; Device control ;; ;;======================================================== ;; Constants ;; ;; Display mode bit masks (define-enum GLUT_RGB) (define-enum GLUT_RGBA) (define-enum GLUT_INDEX) (define-enum GLUT_SINGLE) (define-enum GLUT_DOUBLE) (define-enum GLUT_ACCUM) (define-enum GLUT_ALPHA) (define-enum GLUT_DEPTH) (define-enum GLUT_STENCIL) (if "(GLUT_API_VERSION >= 2)" (begin (define-enum GLUT_MULTISAMPLE) (define-enum GLUT_STEREO) )) (if "(GLUT_API_VERSION >= 3)" (define-enum GLUT_LUMINANCE)) ;; Mouse (define-enum GLUT_LEFT_BUTTON) (define-enum GLUT_MIDDLE_BUTTON) (define-enum GLUT_RIGHT_BUTTON) (define-enum GLUT_DOWN) (define-enum GLUT_UP) ;; Function Keys (if "(GLUT_API_VERSION >= 2)" (begin (define-enum GLUT_KEY_F1) (define-enum GLUT_KEY_F2) (define-enum GLUT_KEY_F3) (define-enum GLUT_KEY_F4) (define-enum GLUT_KEY_F5) (define-enum GLUT_KEY_F6) (define-enum GLUT_KEY_F7) (define-enum GLUT_KEY_F8) (define-enum GLUT_KEY_F9) (define-enum GLUT_KEY_F10) (define-enum GLUT_KEY_F11) (define-enum GLUT_KEY_F12) (define-enum GLUT_KEY_LEFT) (define-enum GLUT_KEY_UP) (define-enum GLUT_KEY_RIGHT) (define-enum GLUT_KEY_DOWN) (define-enum GLUT_KEY_PAGE_UP) (define-enum GLUT_KEY_PAGE_DOWN) (define-enum GLUT_KEY_HOME) (define-enum GLUT_KEY_END) (define-enum GLUT_KEY_INSERT) )) ;; Entry/exit state. (define-enum GLUT_LEFT) (define-enum GLUT_ENTERED) ;; Menu usage state. (define-enum GLUT_MENU_NOT_IN_USE) (define-enum GLUT_MENU_IN_USE) ;; Visibility state. (define-enum GLUT_NOT_VISIBLE) (define-enum GLUT_VISIBLE) ;; Window status state. (define-enum GLUT_HIDDEN) (define-enum GLUT_FULLY_RETAINED) (define-enum GLUT_PARTIALLY_RETAINED) (define-enum GLUT_FULLY_COVERED) ;; Color index component selection values (define-enum GLUT_RED) (define-enum GLUT_GREEN) (define-enum GLUT_BLUE) ;; Layers for use (define-enum GLUT_NORMAL) (define-enum GLUT_OVERLAY) ;; glutGet parameters (define-enum GLUT_WINDOW_X) (define-enum GLUT_WINDOW_Y) (define-enum GLUT_WINDOW_WIDTH) (define-enum GLUT_WINDOW_HEIGHT) (define-enum GLUT_WINDOW_BUFFER_SIZE) (define-enum GLUT_WINDOW_STENCIL_SIZE) (define-enum GLUT_WINDOW_DEPTH_SIZE) (define-enum GLUT_WINDOW_RED_SIZE) (define-enum GLUT_WINDOW_GREEN_SIZE) (define-enum GLUT_WINDOW_BLUE_SIZE) (define-enum GLUT_WINDOW_ALPHA_SIZE) (define-enum GLUT_WINDOW_ACCUM_RED_SIZE) (define-enum GLUT_WINDOW_ACCUM_GREEN_SIZE) (define-enum GLUT_WINDOW_ACCUM_BLUE_SIZE) (define-enum GLUT_WINDOW_ACCUM_ALPHA_SIZE) (define-enum GLUT_WINDOW_DOUBLEBUFFER) (define-enum GLUT_WINDOW_RGBA) (define-enum GLUT_WINDOW_PARENT) (define-enum GLUT_WINDOW_NUM_CHILDREN) (define-enum GLUT_WINDOW_COLORMAP_SIZE) (if "(GLUT_API_VERSION >= 2)" (begin (define-enum GLUT_WINDOW_NUM_SAMPLES) (define-enum GLUT_WINDOW_STEREO) )) (if "(GLUT_API_VERSION >= 3)" (begin (define-enum GLUT_WINDOW_CURSOR) )) (define-enum GLUT_SCREEN_WIDTH) (define-enum GLUT_SCREEN_HEIGHT) (define-enum GLUT_SCREEN_WIDTH_MM) (define-enum GLUT_SCREEN_HEIGHT_MM) (define-enum GLUT_MENU_NUM_ITEMS) (define-enum GLUT_DISPLAY_MODE_POSSIBLE) (define-enum GLUT_INIT_WINDOW_X) (define-enum GLUT_INIT_WINDOW_Y) (define-enum GLUT_INIT_WINDOW_WIDTH) (define-enum GLUT_INIT_WINDOW_HEIGHT) (define-enum GLUT_INIT_DISPLAY_MODE) (if "(GLUT_API_VERSION >= 2)" (define-enum GLUT_ELAPSED_TIME) ) (if "(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)" (define-enum GLUT_WINDOW_FORMAT_ID) ) ;; glutDeviceGet parameters (if "(GLUT_API_VERSION >= 2)" (begin (define-enum GLUT_HAS_KEYBOARD) (define-enum GLUT_HAS_MOUSE) (define-enum GLUT_HAS_SPACEBALL) (define-enum GLUT_HAS_DIAL_AND_BUTTON_BOX) (define-enum GLUT_HAS_TABLET) (define-enum GLUT_NUM_MOUSE_BUTTONS) (define-enum GLUT_NUM_SPACEBALL_BUTTONS) (define-enum GLUT_NUM_BUTTON_BOX_BUTTONS) (define-enum GLUT_NUM_DIALS) (define-enum GLUT_NUM_TABLET_BUTTONS) )) (if "(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)" (begin (define-enum GLUT_DEVICE_IGNORE_KEY_REPEAT) (define-enum GLUT_DEVICE_KEY_REPEAT) (define-enum GLUT_HAS_JOYSTICK) (define-enum GLUT_OWNS_JOYSTICK) (define-enum GLUT_JOYSTICK_BUTTONS) (define-enum GLUT_JOYSTICK_AXES) (define-enum GLUT_JOYSTICK_POLL_RATE) )) ;; glutLayerGet parameters. (if "(GLUT_API_VERSION >= 3)" (begin (define-enum GLUT_OVERLAY_POSSIBLE) (define-enum GLUT_LAYER_IN_USE) (define-enum GLUT_HAS_OVERLAY) (define-enum GLUT_TRANSPARENT_INDEX) (define-enum GLUT_NORMAL_DAMAGED) (define-enum GLUT_OVERLAY_DAMAGED) )) ;; glutVideoResizeGet parameters (if "(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)" (begin (define-enum GLUT_VIDEO_RESIZE_POSSIBLE) (define-enum GLUT_VIDEO_RESIZE_IN_USE) (define-enum GLUT_VIDEO_RESIZE_X_DELTA) (define-enum GLUT_VIDEO_RESIZE_Y_DELTA) (define-enum GLUT_VIDEO_RESIZE_WIDTH_DELTA) (define-enum GLUT_VIDEO_RESIZE_HEIGHT_DELTA) (define-enum GLUT_VIDEO_RESIZE_X) (define-enum GLUT_VIDEO_RESIZE_Y) (define-enum GLUT_VIDEO_RESIZE_WIDTH) (define-enum GLUT_VIDEO_RESIZE_HEIGHT) )) ;; glutGetModifiers return mask (if "(GLUT_API_VERSION >= 3)" (begin (define-enum GLUT_ACTIVE_SHIFT) (define-enum GLUT_ACTIVE_CTRL) (define-enum GLUT_ACTIVE_ALT) )) ;; glutSetCursor parameters (if "(GLUT_API_VERSION >= 3)" (begin ;; Basic arrows (define-enum GLUT_CURSOR_RIGHT_ARROW) (define-enum GLUT_CURSOR_LEFT_ARROW) ;; Symbolic cursor shapes (define-enum GLUT_CURSOR_INFO) (define-enum GLUT_CURSOR_DESTROY) (define-enum GLUT_CURSOR_HELP) (define-enum GLUT_CURSOR_CYCLE) (define-enum GLUT_CURSOR_SPRAY) (define-enum GLUT_CURSOR_WAIT) (define-enum GLUT_CURSOR_TEXT) (define-enum GLUT_CURSOR_CROSSHAIR) ;; Directional cursors (define-enum GLUT_CURSOR_UP_DOWN) (define-enum GLUT_CURSOR_LEFT_RIGHT) ;; Sizing cursors (define-enum GLUT_CURSOR_TOP_SIDE) (define-enum GLUT_CURSOR_BOTTOM_SIDE) (define-enum GLUT_CURSOR_LEFT_SIDE) (define-enum GLUT_CURSOR_RIGHT_SIDE) (define-enum GLUT_CURSOR_TOP_LEFT_CORNER) (define-enum GLUT_CURSOR_TOP_RIGHT_CORNER) (define-enum GLUT_CURSOR_BOTTOM_RIGHT_CORNER) (define-enum GLUT_CURSOR_BOTTOM_LEFT_CORNER) ;; Inherit from parent window (define-enum GLUT_CURSOR_INHERIT) ;; Blank cursor (define-enum GLUT_CURSOR_NONE) ;; Fullscreen crosshair (if available) (define-enum GLUT_CURSOR_FULL_CROSSHAIR) )) ;; Local variables: ;; mode: scheme ;; end: ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gen-syms.scm����������������������������������������������������������������������0000644�0000764�0000764�00000005563�12342246752�015272� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; gen-syms.scm - Generate gl-syms.[ch] ;;; ;;; Copyright (c) 2005-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; (use util.match) (use gauche.cgen) (use gauche.parameter) (define *glext-abi* "glext-abi.scm") (cgen-current-unit (make <cgen-unit> :name "gl-syms" :h-file "gl-syms.h" :preamble "/* generated by gen-syms.scm. DO NOT EDIT */" :init-prologue "void Scm_Init_gl_syms(ScmModule *m)\n{" )) (define (main args) (cgen-decl "#include <gauche.h>") (with-input-from-file *glext-abi* (cut port-for-each gen read)) (cgen-emit-h (cgen-current-unit)) (cgen-emit-c (cgen-current-unit)) 0) (define (gen expr) (match expr (('define-extension-name var) (let ((varname-literal (cgen-literal (symbol->string var)))) (cgen-init (format " Scm_Define(m, SCM_SYMBOL(Scm_Intern(SCM_STRING(~a))), SCM_UNDEFINED);" (cgen-cexpr varname-literal))) )) (('define-constant var val) (let ((varname-literal (cgen-literal (symbol->string var))) (val-literal (cgen-literal val))) (cgen-extern (format "#undef ~a" var) (format "#define ~a ~a" var val)) (cgen-init (format " Scm_DefineConst(m, SCM_SYMBOL(Scm_Intern(SCM_STRING(~a))), ~a);" (cgen-cexpr varname-literal) (cgen-cexpr val-literal))))) (else #f))) ���������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/glext-abi.scm���������������������������������������������������������������������0000664�0000764�0000764�00002126367�12151062574�015412� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; This file should reflect the newest OpenGL extension ABI ;; You can regenarate this by feeding glext.h to extract-abi.scm ;; To obtain the newest glext.h, see ;; http://oss.sgi.com/projects/ogl-sample/ABI/ ;; Extensions (define-extension-name GL_VERSION_1_2) (define-extension-name GL_VERSION_1_2_DEPRECATED) (define-extension-name GL_ARB_imaging) (define-extension-name GL_ARB_imaging_DEPRECATED) (define-extension-name GL_VERSION_1_3) (define-extension-name GL_VERSION_1_3_DEPRECATED) (define-extension-name GL_VERSION_1_4) (define-extension-name GL_VERSION_1_4_DEPRECATED) (define-extension-name GL_VERSION_1_5) (define-extension-name GL_VERSION_1_5_DEPRECATED) (define-extension-name GL_VERSION_2_0) (define-extension-name GL_VERSION_2_0_DEPRECATED) (define-extension-name GL_VERSION_2_1) (define-extension-name GL_VERSION_2_1_DEPRECATED) (define-extension-name GL_VERSION_3_0) (define-extension-name GL_VERSION_3_0_DEPRECATED) (define-extension-name GL_VERSION_3_1) (define-extension-name GL_VERSION_3_2) (define-extension-name GL_VERSION_3_3) (define-extension-name GL_VERSION_4_0) (define-extension-name GL_VERSION_4_1) (define-extension-name GL_VERSION_4_2) (define-extension-name GL_ARB_multitexture) (define-extension-name GL_ARB_transpose_matrix) (define-extension-name GL_ARB_multisample) (define-extension-name GL_ARB_texture_env_add) (define-extension-name GL_ARB_texture_cube_map) (define-extension-name GL_ARB_texture_compression) (define-extension-name GL_ARB_texture_border_clamp) (define-extension-name GL_ARB_point_parameters) (define-extension-name GL_ARB_vertex_blend) (define-extension-name GL_ARB_matrix_palette) (define-extension-name GL_ARB_texture_env_combine) (define-extension-name GL_ARB_texture_env_crossbar) (define-extension-name GL_ARB_texture_env_dot3) (define-extension-name GL_ARB_texture_mirrored_repeat) (define-extension-name GL_ARB_depth_texture) (define-extension-name GL_ARB_shadow) (define-extension-name GL_ARB_shadow_ambient) (define-extension-name GL_ARB_window_pos) (define-extension-name GL_ARB_vertex_program) (define-extension-name GL_ARB_fragment_program) (define-extension-name GL_ARB_vertex_buffer_object) (define-extension-name GL_ARB_occlusion_query) (define-extension-name GL_ARB_shader_objects) (define-extension-name GL_ARB_vertex_shader) (define-extension-name GL_ARB_fragment_shader) (define-extension-name GL_ARB_shading_language_100) (define-extension-name GL_ARB_texture_non_power_of_two) (define-extension-name GL_ARB_point_sprite) (define-extension-name GL_ARB_fragment_program_shadow) (define-extension-name GL_ARB_draw_buffers) (define-extension-name GL_ARB_texture_rectangle) (define-extension-name GL_ARB_color_buffer_float) (define-extension-name GL_ARB_half_float_pixel) (define-extension-name GL_ARB_texture_float) (define-extension-name GL_ARB_pixel_buffer_object) (define-extension-name GL_ARB_depth_buffer_float) (define-extension-name GL_ARB_draw_instanced) (define-extension-name GL_ARB_framebuffer_object) (define-extension-name GL_ARB_framebuffer_object_DEPRECATED) (define-extension-name GL_ARB_framebuffer_sRGB) (define-extension-name GL_ARB_geometry_shader4) (define-extension-name GL_ARB_half_float_vertex) (define-extension-name GL_ARB_instanced_arrays) (define-extension-name GL_ARB_map_buffer_range) (define-extension-name GL_ARB_texture_buffer_object) (define-extension-name GL_ARB_texture_compression_rgtc) (define-extension-name GL_ARB_texture_rg) (define-extension-name GL_ARB_vertex_array_object) (define-extension-name GL_ARB_uniform_buffer_object) (define-extension-name GL_ARB_compatibility) (define-extension-name GL_ARB_copy_buffer) (define-extension-name GL_ARB_shader_texture_lod) (define-extension-name GL_ARB_depth_clamp) (define-extension-name GL_ARB_draw_elements_base_vertex) (define-extension-name GL_ARB_fragment_coord_conventions) (define-extension-name GL_ARB_provoking_vertex) (define-extension-name GL_ARB_seamless_cube_map) (define-extension-name GL_ARB_sync) (define-extension-name GL_ARB_texture_multisample) (define-extension-name GL_ARB_vertex_array_bgra) (define-extension-name GL_ARB_draw_buffers_blend) (define-extension-name GL_ARB_sample_shading) (define-extension-name GL_ARB_texture_cube_map_array) (define-extension-name GL_ARB_texture_gather) (define-extension-name GL_ARB_texture_query_lod) (define-extension-name GL_ARB_shading_language_include) (define-extension-name GL_ARB_texture_compression_bptc) (define-extension-name GL_ARB_blend_func_extended) (define-extension-name GL_ARB_explicit_attrib_location) (define-extension-name GL_ARB_occlusion_query2) (define-extension-name GL_ARB_sampler_objects) (define-extension-name GL_ARB_shader_bit_encoding) (define-extension-name GL_ARB_texture_rgb10_a2ui) (define-extension-name GL_ARB_texture_swizzle) (define-extension-name GL_ARB_timer_query) (define-extension-name GL_ARB_vertex_type_2_10_10_10_rev) (define-extension-name GL_ARB_draw_indirect) (define-extension-name GL_ARB_gpu_shader5) (define-extension-name GL_ARB_gpu_shader_fp64) (define-extension-name GL_ARB_shader_subroutine) (define-extension-name GL_ARB_tessellation_shader) (define-extension-name GL_ARB_texture_buffer_object_rgb32) (define-extension-name GL_ARB_transform_feedback2) (define-extension-name GL_ARB_transform_feedback3) (define-extension-name GL_ARB_ES2_compatibility) (define-extension-name GL_ARB_get_program_binary) (define-extension-name GL_ARB_separate_shader_objects) (define-extension-name GL_ARB_shader_precision) (define-extension-name GL_ARB_vertex_attrib_64bit) (define-extension-name GL_ARB_viewport_array) (define-extension-name GL_ARB_cl_event) (define-extension-name GL_ARB_debug_output) (define-extension-name GL_ARB_robustness) (define-extension-name GL_ARB_shader_stencil_export) (define-extension-name GL_ARB_base_instance) (define-extension-name GL_ARB_shading_language_420pack) (define-extension-name GL_ARB_transform_feedback_instanced) (define-extension-name GL_ARB_compressed_texture_pixel_storage) (define-extension-name GL_ARB_conservative_depth) (define-extension-name GL_ARB_internalformat_query) (define-extension-name GL_ARB_map_buffer_alignment) (define-extension-name GL_ARB_shader_atomic_counters) (define-extension-name GL_ARB_shader_image_load_store) (define-extension-name GL_ARB_shading_language_packing) (define-extension-name GL_ARB_texture_storage) (define-extension-name GL_EXT_abgr) (define-extension-name GL_EXT_blend_color) (define-extension-name GL_EXT_polygon_offset) (define-extension-name GL_EXT_texture) (define-extension-name GL_EXT_texture3D) (define-extension-name GL_SGIS_texture_filter4) (define-extension-name GL_EXT_subtexture) (define-extension-name GL_EXT_copy_texture) (define-extension-name GL_EXT_histogram) (define-extension-name GL_EXT_convolution) (define-extension-name GL_SGI_color_matrix) (define-extension-name GL_SGI_color_table) (define-extension-name GL_SGIS_pixel_texture) (define-extension-name GL_SGIX_pixel_texture) (define-extension-name GL_SGIS_texture4D) (define-extension-name GL_SGI_texture_color_table) (define-extension-name GL_EXT_cmyka) (define-extension-name GL_EXT_texture_object) (define-extension-name GL_SGIS_detail_texture) (define-extension-name GL_SGIS_sharpen_texture) (define-extension-name GL_EXT_packed_pixels) (define-extension-name GL_SGIS_texture_lod) (define-extension-name GL_SGIS_multisample) (define-extension-name GL_EXT_rescale_normal) (define-extension-name GL_EXT_vertex_array) (define-extension-name GL_EXT_misc_attribute) (define-extension-name GL_SGIS_generate_mipmap) (define-extension-name GL_SGIX_clipmap) (define-extension-name GL_SGIX_shadow) (define-extension-name GL_SGIS_texture_edge_clamp) (define-extension-name GL_SGIS_texture_border_clamp) (define-extension-name GL_EXT_blend_minmax) (define-extension-name GL_EXT_blend_subtract) (define-extension-name GL_EXT_blend_logic_op) (define-extension-name GL_SGIX_interlace) (define-extension-name GL_SGIX_pixel_tiles) (define-extension-name GL_SGIS_texture_select) (define-extension-name GL_SGIX_sprite) (define-extension-name GL_SGIX_texture_multi_buffer) (define-extension-name GL_EXT_point_parameters) (define-extension-name GL_SGIS_point_parameters) (define-extension-name GL_SGIX_instruments) (define-extension-name GL_SGIX_texture_scale_bias) (define-extension-name GL_SGIX_framezoom) (define-extension-name GL_SGIX_tag_sample_buffer) (define-extension-name GL_FfdMaskSGIX) (define-extension-name GL_SGIX_polynomial_ffd) (define-extension-name GL_SGIX_reference_plane) (define-extension-name GL_SGIX_flush_raster) (define-extension-name GL_SGIX_depth_texture) (define-extension-name GL_SGIS_fog_function) (define-extension-name GL_SGIX_fog_offset) (define-extension-name GL_HP_image_transform) (define-extension-name GL_HP_convolution_border_modes) (define-extension-name GL_INGR_palette_buffer) (define-extension-name GL_SGIX_texture_add_env) (define-extension-name GL_EXT_color_subtable) (define-extension-name GL_PGI_vertex_hints) (define-extension-name GL_PGI_misc_hints) (define-extension-name GL_EXT_paletted_texture) (define-extension-name GL_EXT_clip_volume_hint) (define-extension-name GL_SGIX_list_priority) (define-extension-name GL_SGIX_ir_instrument1) (define-extension-name GL_SGIX_calligraphic_fragment) (define-extension-name GL_SGIX_texture_lod_bias) (define-extension-name GL_SGIX_shadow_ambient) (define-extension-name GL_EXT_index_texture) (define-extension-name GL_EXT_index_material) (define-extension-name GL_EXT_index_func) (define-extension-name GL_EXT_index_array_formats) (define-extension-name GL_EXT_compiled_vertex_array) (define-extension-name GL_EXT_cull_vertex) (define-extension-name GL_SGIX_ycrcb) (define-extension-name GL_SGIX_fragment_lighting) (define-extension-name GL_IBM_rasterpos_clip) (define-extension-name GL_HP_texture_lighting) (define-extension-name GL_EXT_draw_range_elements) (define-extension-name GL_WIN_phong_shading) (define-extension-name GL_WIN_specular_fog) (define-extension-name GL_EXT_light_texture) (define-extension-name GL_SGIX_blend_alpha_minmax) (define-extension-name GL_SGIX_impact_pixel_texture) (define-extension-name GL_EXT_bgra) (define-extension-name GL_SGIX_async) (define-extension-name GL_SGIX_async_pixel) (define-extension-name GL_SGIX_async_histogram) (define-extension-name GL_INTEL_texture_scissor) (define-extension-name GL_INTEL_parallel_arrays) (define-extension-name GL_HP_occlusion_test) (define-extension-name GL_EXT_pixel_transform) (define-extension-name GL_EXT_pixel_transform_color_table) (define-extension-name GL_EXT_shared_texture_palette) (define-extension-name GL_EXT_separate_specular_color) (define-extension-name GL_EXT_secondary_color) (define-extension-name GL_EXT_texture_perturb_normal) (define-extension-name GL_EXT_multi_draw_arrays) (define-extension-name GL_EXT_fog_coord) (define-extension-name GL_REND_screen_coordinates) (define-extension-name GL_EXT_coordinate_frame) (define-extension-name GL_EXT_texture_env_combine) (define-extension-name GL_APPLE_specular_vector) (define-extension-name GL_APPLE_transform_hint) (define-extension-name GL_SGIX_fog_scale) (define-extension-name GL_SUNX_constant_data) (define-extension-name GL_SUN_global_alpha) (define-extension-name GL_SUN_triangle_list) (define-extension-name GL_SUN_vertex) (define-extension-name GL_EXT_blend_func_separate) (define-extension-name GL_INGR_color_clamp) (define-extension-name GL_INGR_interlace_read) (define-extension-name GL_EXT_stencil_wrap) (define-extension-name GL_EXT_422_pixels) (define-extension-name GL_NV_texgen_reflection) (define-extension-name GL_EXT_texture_cube_map) (define-extension-name GL_SUN_convolution_border_modes) (define-extension-name GL_EXT_texture_env_add) (define-extension-name GL_EXT_texture_lod_bias) (define-extension-name GL_EXT_texture_filter_anisotropic) (define-extension-name GL_EXT_vertex_weighting) (define-extension-name GL_NV_light_max_exponent) (define-extension-name GL_NV_vertex_array_range) (define-extension-name GL_NV_register_combiners) (define-extension-name GL_NV_fog_distance) (define-extension-name GL_NV_texgen_emboss) (define-extension-name GL_NV_blend_square) (define-extension-name GL_NV_texture_env_combine4) (define-extension-name GL_MESA_resize_buffers) (define-extension-name GL_MESA_window_pos) (define-extension-name GL_EXT_texture_compression_s3tc) (define-extension-name GL_IBM_cull_vertex) (define-extension-name GL_IBM_multimode_draw_arrays) (define-extension-name GL_IBM_vertex_array_lists) (define-extension-name GL_SGIX_subsample) (define-extension-name GL_SGIX_ycrcb_subsample) (define-extension-name GL_SGIX_ycrcba) (define-extension-name GL_SGI_depth_pass_instrument) (define-extension-name GL_3DFX_texture_compression_FXT1) (define-extension-name GL_3DFX_multisample) (define-extension-name GL_3DFX_tbuffer) (define-extension-name GL_EXT_multisample) (define-extension-name GL_SGIX_vertex_preclip) (define-extension-name GL_SGIX_convolution_accuracy) (define-extension-name GL_SGIX_resample) (define-extension-name GL_SGIS_point_line_texgen) (define-extension-name GL_SGIS_texture_color_mask) (define-extension-name GL_EXT_texture_env_dot3) (define-extension-name GL_ATI_texture_mirror_once) (define-extension-name GL_NV_fence) (define-extension-name GL_IBM_texture_mirrored_repeat) (define-extension-name GL_NV_evaluators) (define-extension-name GL_NV_packed_depth_stencil) (define-extension-name GL_NV_register_combiners2) (define-extension-name GL_NV_texture_compression_vtc) (define-extension-name GL_NV_texture_rectangle) (define-extension-name GL_NV_texture_shader) (define-extension-name GL_NV_texture_shader2) (define-extension-name GL_NV_vertex_array_range2) (define-extension-name GL_NV_vertex_program) (define-extension-name GL_SGIX_texture_coordinate_clamp) (define-extension-name GL_SGIX_scalebias_hint) (define-extension-name GL_OML_interlace) (define-extension-name GL_OML_subsample) (define-extension-name GL_OML_resample) (define-extension-name GL_NV_copy_depth_to_color) (define-extension-name GL_ATI_envmap_bumpmap) (define-extension-name GL_ATI_fragment_shader) (define-extension-name GL_ATI_pn_triangles) (define-extension-name GL_ATI_vertex_array_object) (define-extension-name GL_EXT_vertex_shader) (define-extension-name GL_ATI_vertex_streams) (define-extension-name GL_ATI_element_array) (define-extension-name GL_SUN_mesh_array) (define-extension-name GL_SUN_slice_accum) (define-extension-name GL_NV_multisample_filter_hint) (define-extension-name GL_NV_depth_clamp) (define-extension-name GL_NV_occlusion_query) (define-extension-name GL_NV_point_sprite) (define-extension-name GL_NV_texture_shader3) (define-extension-name GL_NV_vertex_program1_1) (define-extension-name GL_EXT_shadow_funcs) (define-extension-name GL_EXT_stencil_two_side) (define-extension-name GL_ATI_text_fragment_shader) (define-extension-name GL_APPLE_client_storage) (define-extension-name GL_APPLE_element_array) (define-extension-name GL_APPLE_fence) (define-extension-name GL_APPLE_vertex_array_object) (define-extension-name GL_APPLE_vertex_array_range) (define-extension-name GL_APPLE_ycbcr_422) (define-extension-name GL_S3_s3tc) (define-extension-name GL_ATI_draw_buffers) (define-extension-name GL_ATI_pixel_format_float) (define-extension-name GL_ATI_texture_env_combine3) (define-extension-name GL_ATI_texture_float) (define-extension-name GL_NV_float_buffer) (define-extension-name GL_NV_fragment_program) (define-extension-name GL_NV_half_float) (define-extension-name GL_NV_pixel_data_range) (define-extension-name GL_NV_primitive_restart) (define-extension-name GL_NV_texture_expand_normal) (define-extension-name GL_NV_vertex_program2) (define-extension-name GL_ATI_map_object_buffer) (define-extension-name GL_ATI_separate_stencil) (define-extension-name GL_ATI_vertex_attrib_array_object) (define-extension-name GL_OES_read_format) (define-extension-name GL_EXT_depth_bounds_test) (define-extension-name GL_EXT_texture_mirror_clamp) (define-extension-name GL_EXT_blend_equation_separate) (define-extension-name GL_MESA_pack_invert) (define-extension-name GL_MESA_ycbcr_texture) (define-extension-name GL_EXT_pixel_buffer_object) (define-extension-name GL_NV_fragment_program_option) (define-extension-name GL_NV_fragment_program2) (define-extension-name GL_NV_vertex_program2_option) (define-extension-name GL_NV_vertex_program3) (define-extension-name GL_EXT_framebuffer_object) (define-extension-name GL_GREMEDY_string_marker) (define-extension-name GL_EXT_packed_depth_stencil) (define-extension-name GL_EXT_stencil_clear_tag) (define-extension-name GL_EXT_texture_sRGB) (define-extension-name GL_EXT_framebuffer_blit) (define-extension-name GL_EXT_framebuffer_multisample) (define-extension-name GL_MESAX_texture_stack) (define-extension-name GL_EXT_timer_query) (define-extension-name GL_EXT_gpu_program_parameters) (define-extension-name GL_APPLE_flush_buffer_range) (define-extension-name GL_NV_gpu_program4) (define-extension-name GL_NV_geometry_program4) (define-extension-name GL_EXT_geometry_shader4) (define-extension-name GL_NV_vertex_program4) (define-extension-name GL_EXT_gpu_shader4) (define-extension-name GL_EXT_draw_instanced) (define-extension-name GL_EXT_packed_float) (define-extension-name GL_EXT_texture_array) (define-extension-name GL_EXT_texture_buffer_object) (define-extension-name GL_EXT_texture_compression_latc) (define-extension-name GL_EXT_texture_compression_rgtc) (define-extension-name GL_EXT_texture_shared_exponent) (define-extension-name GL_NV_depth_buffer_float) (define-extension-name GL_NV_fragment_program4) (define-extension-name GL_NV_framebuffer_multisample_coverage) (define-extension-name GL_EXT_framebuffer_sRGB) (define-extension-name GL_NV_geometry_shader4) (define-extension-name GL_NV_parameter_buffer_object) (define-extension-name GL_EXT_draw_buffers2) (define-extension-name GL_NV_transform_feedback) (define-extension-name GL_EXT_bindable_uniform) (define-extension-name GL_EXT_texture_integer) (define-extension-name GL_GREMEDY_frame_terminator) (define-extension-name GL_NV_conditional_render) (define-extension-name GL_NV_present_video) (define-extension-name GL_EXT_transform_feedback) (define-extension-name GL_EXT_direct_state_access) (define-extension-name GL_EXT_vertex_array_bgra) (define-extension-name GL_EXT_texture_swizzle) (define-extension-name GL_NV_explicit_multisample) (define-extension-name GL_NV_transform_feedback2) (define-extension-name GL_ATI_meminfo) (define-extension-name GL_AMD_performance_monitor) (define-extension-name GL_AMD_texture_texture4) (define-extension-name GL_AMD_vertex_shader_tesselator) (define-extension-name GL_EXT_provoking_vertex) (define-extension-name GL_EXT_texture_snorm) (define-extension-name GL_AMD_draw_buffers_blend) (define-extension-name GL_APPLE_texture_range) (define-extension-name GL_APPLE_float_pixels) (define-extension-name GL_APPLE_vertex_program_evaluators) (define-extension-name GL_APPLE_aux_depth_stencil) (define-extension-name GL_APPLE_object_purgeable) (define-extension-name GL_APPLE_row_bytes) (define-extension-name GL_APPLE_rgb_422) (define-extension-name GL_NV_video_capture) (define-extension-name GL_NV_copy_image) (define-extension-name GL_EXT_separate_shader_objects) (define-extension-name GL_NV_parameter_buffer_object2) (define-extension-name GL_NV_shader_buffer_load) (define-extension-name GL_NV_vertex_buffer_unified_memory) (define-extension-name GL_NV_texture_barrier) (define-extension-name GL_AMD_shader_stencil_export) (define-extension-name GL_AMD_seamless_cubemap_per_texture) (define-extension-name GL_AMD_conservative_depth) (define-extension-name GL_EXT_shader_image_load_store) (define-extension-name GL_EXT_vertex_attrib_64bit) (define-extension-name GL_NV_gpu_program5) (define-extension-name GL_NV_gpu_shader5) (define-extension-name GL_NV_shader_buffer_store) (define-extension-name GL_NV_tessellation_program5) (define-extension-name GL_NV_vertex_attrib_integer_64bit) (define-extension-name GL_NV_multisample_coverage) (define-extension-name GL_AMD_name_gen_delete) (define-extension-name GL_AMD_debug_output) (define-extension-name GL_NV_vdpau_interop) (define-extension-name GL_AMD_transform_feedback3_lines_triangles) (define-extension-name GL_AMD_depth_clamp_separate) (define-extension-name GL_EXT_texture_sRGB_decode) (define-extension-name GL_NV_texture_multisample) (define-extension-name GL_AMD_blend_minmax_factor) (define-extension-name GL_AMD_sample_positions) (define-extension-name GL_EXT_x11_sync_object) (define-extension-name GL_AMD_multi_draw_indirect) (define-extension-name GL_EXT_framebuffer_multisample_blit_scaled) (define-extension-name GL_SGIX_texture_select) (define-extension-name GL_INGR_blend_func_separate) (define-extension-name GL_SGIX_depth_pass_instrument) (define-extension-name GL_SGIX_igloo_interface) ;; Constants (define-constant GL_FALSE #x0000) (define-constant GL_TRUE #x0001) (define-constant GL_BYTE #x1400) (define-constant GL_UNSIGNED_BYTE #x1401) (define-constant GL_SHORT #x1402) (define-constant GL_UNSIGNED_SHORT #x1403) (define-constant GL_INT #x1404) (define-constant GL_UNSIGNED_INT #x1405) (define-constant GL_FLOAT #x1406) (define-constant GL_DOUBLE #x140a) (define-constant GL_2_BYTES #x1407) (define-constant GL_3_BYTES #x1408) (define-constant GL_4_BYTES #x1409) (define-constant GL_POINTS #x0000) (define-constant GL_LINES #x0001) (define-constant GL_LINE_LOOP #x0002) (define-constant GL_LINE_STRIP #x0003) (define-constant GL_TRIANGLES #x0004) (define-constant GL_TRIANGLE_STRIP #x0005) (define-constant GL_TRIANGLE_FAN #x0006) (define-constant GL_QUADS #x0007) (define-constant GL_QUAD_STRIP #x0008) (define-constant GL_POLYGON #x0009) (define-constant GL_VERTEX_ARRAY #x8074) (define-constant GL_NORMAL_ARRAY #x8075) (define-constant GL_COLOR_ARRAY #x8076) (define-constant GL_INDEX_ARRAY #x8077) (define-constant GL_TEXTURE_COORD_ARRAY #x8078) (define-constant GL_EDGE_FLAG_ARRAY #x8079) (define-constant GL_VERTEX_ARRAY_SIZE #x807a) (define-constant GL_VERTEX_ARRAY_TYPE #x807b) (define-constant GL_VERTEX_ARRAY_STRIDE #x807c) (define-constant GL_NORMAL_ARRAY_TYPE #x807e) (define-constant GL_NORMAL_ARRAY_STRIDE #x807f) (define-constant GL_COLOR_ARRAY_SIZE #x8081) (define-constant GL_COLOR_ARRAY_TYPE #x8082) (define-constant GL_COLOR_ARRAY_STRIDE #x8083) (define-constant GL_INDEX_ARRAY_TYPE #x8085) (define-constant GL_INDEX_ARRAY_STRIDE #x8086) (define-constant GL_TEXTURE_COORD_ARRAY_SIZE #x8088) (define-constant GL_TEXTURE_COORD_ARRAY_TYPE #x8089) (define-constant GL_TEXTURE_COORD_ARRAY_STRIDE #x808a) (define-constant GL_EDGE_FLAG_ARRAY_STRIDE #x808c) (define-constant GL_VERTEX_ARRAY_POINTER #x808e) (define-constant GL_NORMAL_ARRAY_POINTER #x808f) (define-constant GL_COLOR_ARRAY_POINTER #x8090) (define-constant GL_INDEX_ARRAY_POINTER #x8091) (define-constant GL_TEXTURE_COORD_ARRAY_POINTER #x8092) (define-constant GL_EDGE_FLAG_ARRAY_POINTER #x8093) (define-constant GL_V2F #x2a20) (define-constant GL_V3F #x2a21) (define-constant GL_C4UB_V2F #x2a22) (define-constant GL_C4UB_V3F #x2a23) (define-constant GL_C3F_V3F #x2a24) (define-constant GL_N3F_V3F #x2a25) (define-constant GL_C4F_N3F_V3F #x2a26) (define-constant GL_T2F_V3F #x2a27) (define-constant GL_T4F_V4F #x2a28) (define-constant GL_T2F_C4UB_V3F #x2a29) (define-constant GL_T2F_C3F_V3F #x2a2a) (define-constant GL_T2F_N3F_V3F #x2a2b) (define-constant GL_T2F_C4F_N3F_V3F #x2a2c) (define-constant GL_T4F_C4F_N3F_V4F #x2a2d) (define-constant GL_MATRIX_MODE #x0ba0) (define-constant GL_MODELVIEW #x1700) (define-constant GL_PROJECTION #x1701) (define-constant GL_TEXTURE #x1702) (define-constant GL_POINT_SMOOTH #x0b10) (define-constant GL_POINT_SIZE #x0b11) (define-constant GL_POINT_SIZE_GRANULARITY #x0b13) (define-constant GL_POINT_SIZE_RANGE #x0b12) (define-constant GL_LINE_SMOOTH #x0b20) (define-constant GL_LINE_STIPPLE #x0b24) (define-constant GL_LINE_STIPPLE_PATTERN #x0b25) (define-constant GL_LINE_STIPPLE_REPEAT #x0b26) (define-constant GL_LINE_WIDTH #x0b21) (define-constant GL_LINE_WIDTH_GRANULARITY #x0b23) (define-constant GL_LINE_WIDTH_RANGE #x0b22) (define-constant GL_POINT #x1b00) (define-constant GL_LINE #x1b01) (define-constant GL_FILL #x1b02) (define-constant GL_CW #x0900) (define-constant GL_CCW #x0901) (define-constant GL_FRONT #x0404) (define-constant GL_BACK #x0405) (define-constant GL_POLYGON_MODE #x0b40) (define-constant GL_POLYGON_SMOOTH #x0b41) (define-constant GL_POLYGON_STIPPLE #x0b42) (define-constant GL_EDGE_FLAG #x0b43) (define-constant GL_CULL_FACE #x0b44) (define-constant GL_CULL_FACE_MODE #x0b45) (define-constant GL_FRONT_FACE #x0b46) (define-constant GL_POLYGON_OFFSET_FACTOR #x8038) (define-constant GL_POLYGON_OFFSET_UNITS #x2a00) (define-constant GL_POLYGON_OFFSET_POINT #x2a01) (define-constant GL_POLYGON_OFFSET_LINE #x2a02) (define-constant GL_POLYGON_OFFSET_FILL #x8037) (define-constant GL_COMPILE #x1300) (define-constant GL_COMPILE_AND_EXECUTE #x1301) (define-constant GL_LIST_BASE #x0b32) (define-constant GL_LIST_INDEX #x0b33) (define-constant GL_LIST_MODE #x0b30) (define-constant GL_NEVER #x0200) (define-constant GL_LESS #x0201) (define-constant GL_EQUAL #x0202) (define-constant GL_LEQUAL #x0203) (define-constant GL_GREATER #x0204) (define-constant GL_NOTEQUAL #x0205) (define-constant GL_GEQUAL #x0206) (define-constant GL_ALWAYS #x0207) (define-constant GL_DEPTH_TEST #x0b71) (define-constant GL_DEPTH_BITS #x0d56) (define-constant GL_DEPTH_CLEAR_VALUE #x0b73) (define-constant GL_DEPTH_FUNC #x0b74) (define-constant GL_DEPTH_RANGE #x0b70) (define-constant GL_DEPTH_WRITEMASK #x0b72) (define-constant GL_DEPTH_COMPONENT #x1902) (define-constant GL_LIGHTING #x0b50) (define-constant GL_LIGHT0 #x4000) (define-constant GL_LIGHT1 #x4001) (define-constant GL_LIGHT2 #x4002) (define-constant GL_LIGHT3 #x4003) (define-constant GL_LIGHT4 #x4004) (define-constant GL_LIGHT5 #x4005) (define-constant GL_LIGHT6 #x4006) (define-constant GL_LIGHT7 #x4007) (define-constant GL_SPOT_EXPONENT #x1205) (define-constant GL_SPOT_CUTOFF #x1206) (define-constant GL_CONSTANT_ATTENUATION #x1207) (define-constant GL_LINEAR_ATTENUATION #x1208) (define-constant GL_QUADRATIC_ATTENUATION #x1209) (define-constant GL_AMBIENT #x1200) (define-constant GL_DIFFUSE #x1201) (define-constant GL_SPECULAR #x1202) (define-constant GL_SHININESS #x1601) (define-constant GL_EMISSION #x1600) (define-constant GL_POSITION #x1203) (define-constant GL_SPOT_DIRECTION #x1204) (define-constant GL_AMBIENT_AND_DIFFUSE #x1602) (define-constant GL_COLOR_INDEXES #x1603) (define-constant GL_LIGHT_MODEL_TWO_SIDE #x0b52) (define-constant GL_LIGHT_MODEL_LOCAL_VIEWER #x0b51) (define-constant GL_LIGHT_MODEL_AMBIENT #x0b53) (define-constant GL_FRONT_AND_BACK #x0408) (define-constant GL_SHADE_MODEL #x0b54) (define-constant GL_FLAT #x1d00) (define-constant GL_SMOOTH #x1d01) (define-constant GL_COLOR_MATERIAL #x0b57) (define-constant GL_COLOR_MATERIAL_FACE #x0b55) (define-constant GL_COLOR_MATERIAL_PARAMETER #x0b56) (define-constant GL_NORMALIZE #x0ba1) (define-constant GL_CLIP_PLANE0 #x3000) (define-constant GL_CLIP_PLANE1 #x3001) (define-constant GL_CLIP_PLANE2 #x3002) (define-constant GL_CLIP_PLANE3 #x3003) (define-constant GL_CLIP_PLANE4 #x3004) (define-constant GL_CLIP_PLANE5 #x3005) (define-constant GL_ACCUM_RED_BITS #x0d58) (define-constant GL_ACCUM_GREEN_BITS #x0d59) (define-constant GL_ACCUM_BLUE_BITS #x0d5a) (define-constant GL_ACCUM_ALPHA_BITS #x0d5b) (define-constant GL_ACCUM_CLEAR_VALUE #x0b80) (define-constant GL_ACCUM #x0100) (define-constant GL_ADD #x0104) (define-constant GL_LOAD #x0101) (define-constant GL_MULT #x0103) (define-constant GL_RETURN #x0102) (define-constant GL_ALPHA_TEST #x0bc0) (define-constant GL_ALPHA_TEST_REF #x0bc2) (define-constant GL_ALPHA_TEST_FUNC #x0bc1) (define-constant GL_BLEND #x0be2) (define-constant GL_BLEND_SRC #x0be1) (define-constant GL_BLEND_DST #x0be0) (define-constant GL_ZERO #x0000) (define-constant GL_ONE #x0001) (define-constant GL_SRC_COLOR #x0300) (define-constant GL_ONE_MINUS_SRC_COLOR #x0301) (define-constant GL_SRC_ALPHA #x0302) (define-constant GL_ONE_MINUS_SRC_ALPHA #x0303) (define-constant GL_DST_ALPHA #x0304) (define-constant GL_ONE_MINUS_DST_ALPHA #x0305) (define-constant GL_DST_COLOR #x0306) (define-constant GL_ONE_MINUS_DST_COLOR #x0307) (define-constant GL_SRC_ALPHA_SATURATE #x0308) (define-constant GL_CONSTANT_COLOR #x8001) (define-constant GL_ONE_MINUS_CONSTANT_COLOR #x8002) (define-constant GL_CONSTANT_ALPHA #x8003) (define-constant GL_ONE_MINUS_CONSTANT_ALPHA #x8004) (define-constant GL_FEEDBACK #x1c01) (define-constant GL_RENDER #x1c00) (define-constant GL_SELECT #x1c02) (define-constant GL_2D #x0600) (define-constant GL_3D #x0601) (define-constant GL_3D_COLOR #x0602) (define-constant GL_3D_COLOR_TEXTURE #x0603) (define-constant GL_4D_COLOR_TEXTURE #x0604) (define-constant GL_POINT_TOKEN #x0701) (define-constant GL_LINE_TOKEN #x0702) (define-constant GL_LINE_RESET_TOKEN #x0707) (define-constant GL_POLYGON_TOKEN #x0703) (define-constant GL_BITMAP_TOKEN #x0704) (define-constant GL_DRAW_PIXEL_TOKEN #x0705) (define-constant GL_COPY_PIXEL_TOKEN #x0706) (define-constant GL_PASS_THROUGH_TOKEN #x0700) (define-constant GL_FEEDBACK_BUFFER_POINTER #x0df0) (define-constant GL_FEEDBACK_BUFFER_SIZE #x0df1) (define-constant GL_FEEDBACK_BUFFER_TYPE #x0df2) (define-constant GL_SELECTION_BUFFER_POINTER #x0df3) (define-constant GL_SELECTION_BUFFER_SIZE #x0df4) (define-constant GL_FOG #x0b60) (define-constant GL_FOG_MODE #x0b65) (define-constant GL_FOG_DENSITY #x0b62) (define-constant GL_FOG_COLOR #x0b66) (define-constant GL_FOG_INDEX #x0b61) (define-constant GL_FOG_START #x0b63) (define-constant GL_FOG_END #x0b64) (define-constant GL_LINEAR #x2601) (define-constant GL_EXP #x0800) (define-constant GL_EXP2 #x0801) (define-constant GL_LOGIC_OP #x0bf1) (define-constant GL_INDEX_LOGIC_OP #x0bf1) (define-constant GL_COLOR_LOGIC_OP #x0bf2) (define-constant GL_LOGIC_OP_MODE #x0bf0) (define-constant GL_CLEAR #x1500) (define-constant GL_SET #x150f) (define-constant GL_COPY #x1503) (define-constant GL_COPY_INVERTED #x150c) (define-constant GL_NOOP #x1505) (define-constant GL_INVERT #x150a) (define-constant GL_AND #x1501) (define-constant GL_NAND #x150e) (define-constant GL_OR #x1507) (define-constant GL_NOR #x1508) (define-constant GL_XOR #x1506) (define-constant GL_EQUIV #x1509) (define-constant GL_AND_REVERSE #x1502) (define-constant GL_AND_INVERTED #x1504) (define-constant GL_OR_REVERSE #x150b) (define-constant GL_OR_INVERTED #x150d) (define-constant GL_STENCIL_TEST #x0b90) (define-constant GL_STENCIL_WRITEMASK #x0b98) (define-constant GL_STENCIL_BITS #x0d57) (define-constant GL_STENCIL_FUNC #x0b92) (define-constant GL_STENCIL_VALUE_MASK #x0b93) (define-constant GL_STENCIL_REF #x0b97) (define-constant GL_STENCIL_FAIL #x0b94) (define-constant GL_STENCIL_PASS_DEPTH_PASS #x0b96) (define-constant GL_STENCIL_PASS_DEPTH_FAIL #x0b95) (define-constant GL_STENCIL_CLEAR_VALUE #x0b91) (define-constant GL_STENCIL_INDEX #x1901) (define-constant GL_KEEP #x1e00) (define-constant GL_REPLACE #x1e01) (define-constant GL_INCR #x1e02) (define-constant GL_DECR #x1e03) (define-constant GL_NONE #x0000) (define-constant GL_LEFT #x0406) (define-constant GL_RIGHT #x0407) (define-constant GL_FRONT_LEFT #x0400) (define-constant GL_FRONT_RIGHT #x0401) (define-constant GL_BACK_LEFT #x0402) (define-constant GL_BACK_RIGHT #x0403) (define-constant GL_AUX0 #x0409) (define-constant GL_AUX1 #x040a) (define-constant GL_AUX2 #x040b) (define-constant GL_AUX3 #x040c) (define-constant GL_COLOR_INDEX #x1900) (define-constant GL_RED #x1903) (define-constant GL_GREEN #x1904) (define-constant GL_BLUE #x1905) (define-constant GL_ALPHA #x1906) (define-constant GL_LUMINANCE #x1909) (define-constant GL_LUMINANCE_ALPHA #x190a) (define-constant GL_ALPHA_BITS #x0d55) (define-constant GL_RED_BITS #x0d52) (define-constant GL_GREEN_BITS #x0d53) (define-constant GL_BLUE_BITS #x0d54) (define-constant GL_INDEX_BITS #x0d51) (define-constant GL_SUBPIXEL_BITS #x0d50) (define-constant GL_AUX_BUFFERS #x0c00) (define-constant GL_READ_BUFFER #x0c02) (define-constant GL_DRAW_BUFFER #x0c01) (define-constant GL_DOUBLEBUFFER #x0c32) (define-constant GL_STEREO #x0c33) (define-constant GL_BITMAP #x1a00) (define-constant GL_COLOR #x1800) (define-constant GL_DEPTH #x1801) (define-constant GL_STENCIL #x1802) (define-constant GL_DITHER #x0bd0) (define-constant GL_RGB #x1907) (define-constant GL_RGBA #x1908) (define-constant GL_MAX_LIST_NESTING #x0b31) (define-constant GL_MAX_ATTRIB_STACK_DEPTH #x0d35) (define-constant GL_MAX_MODELVIEW_STACK_DEPTH #x0d36) (define-constant GL_MAX_NAME_STACK_DEPTH #x0d37) (define-constant GL_MAX_PROJECTION_STACK_DEPTH #x0d38) (define-constant GL_MAX_TEXTURE_STACK_DEPTH #x0d39) (define-constant GL_MAX_EVAL_ORDER #x0d30) (define-constant GL_MAX_LIGHTS #x0d31) (define-constant GL_MAX_CLIP_PLANES #x0d32) (define-constant GL_MAX_TEXTURE_SIZE #x0d33) (define-constant GL_MAX_PIXEL_MAP_TABLE #x0d34) (define-constant GL_MAX_VIEWPORT_DIMS #x0d3a) (define-constant GL_MAX_CLIENT_ATTRIB_STACK_DEPTH #x0d3b) (define-constant GL_ATTRIB_STACK_DEPTH #x0bb0) (define-constant GL_CLIENT_ATTRIB_STACK_DEPTH #x0bb1) (define-constant GL_COLOR_CLEAR_VALUE #x0c22) (define-constant GL_COLOR_WRITEMASK #x0c23) (define-constant GL_CURRENT_INDEX #x0b01) (define-constant GL_CURRENT_COLOR #x0b00) (define-constant GL_CURRENT_NORMAL #x0b02) (define-constant GL_CURRENT_RASTER_COLOR #x0b04) (define-constant GL_CURRENT_RASTER_DISTANCE #x0b09) (define-constant GL_CURRENT_RASTER_INDEX #x0b05) (define-constant GL_CURRENT_RASTER_POSITION #x0b07) (define-constant GL_CURRENT_RASTER_TEXTURE_COORDS #x0b06) (define-constant GL_CURRENT_RASTER_POSITION_VALID #x0b08) (define-constant GL_CURRENT_TEXTURE_COORDS #x0b03) (define-constant GL_INDEX_CLEAR_VALUE #x0c20) (define-constant GL_INDEX_MODE #x0c30) (define-constant GL_INDEX_WRITEMASK #x0c21) (define-constant GL_MODELVIEW_MATRIX #x0ba6) (define-constant GL_MODELVIEW_STACK_DEPTH #x0ba3) (define-constant GL_NAME_STACK_DEPTH #x0d70) (define-constant GL_PROJECTION_MATRIX #x0ba7) (define-constant GL_PROJECTION_STACK_DEPTH #x0ba4) (define-constant GL_RENDER_MODE #x0c40) (define-constant GL_RGBA_MODE #x0c31) (define-constant GL_TEXTURE_MATRIX #x0ba8) (define-constant GL_TEXTURE_STACK_DEPTH #x0ba5) (define-constant GL_VIEWPORT #x0ba2) (define-constant GL_AUTO_NORMAL #x0d80) (define-constant GL_MAP1_COLOR_4 #x0d90) (define-constant GL_MAP1_GRID_DOMAIN #x0dd0) (define-constant GL_MAP1_GRID_SEGMENTS #x0dd1) (define-constant GL_MAP1_INDEX #x0d91) (define-constant GL_MAP1_NORMAL #x0d92) (define-constant GL_MAP1_TEXTURE_COORD_1 #x0d93) (define-constant GL_MAP1_TEXTURE_COORD_2 #x0d94) (define-constant GL_MAP1_TEXTURE_COORD_3 #x0d95) (define-constant GL_MAP1_TEXTURE_COORD_4 #x0d96) (define-constant GL_MAP1_VERTEX_3 #x0d97) (define-constant GL_MAP1_VERTEX_4 #x0d98) (define-constant GL_MAP2_COLOR_4 #x0db0) (define-constant GL_MAP2_GRID_DOMAIN #x0dd2) (define-constant GL_MAP2_GRID_SEGMENTS #x0dd3) (define-constant GL_MAP2_INDEX #x0db1) (define-constant GL_MAP2_NORMAL #x0db2) (define-constant GL_MAP2_TEXTURE_COORD_1 #x0db3) (define-constant GL_MAP2_TEXTURE_COORD_2 #x0db4) (define-constant GL_MAP2_TEXTURE_COORD_3 #x0db5) (define-constant GL_MAP2_TEXTURE_COORD_4 #x0db6) (define-constant GL_MAP2_VERTEX_3 #x0db7) (define-constant GL_MAP2_VERTEX_4 #x0db8) (define-constant GL_COEFF #x0a00) (define-constant GL_DOMAIN #x0a02) (define-constant GL_ORDER #x0a01) (define-constant GL_FOG_HINT #x0c54) (define-constant GL_LINE_SMOOTH_HINT #x0c52) (define-constant GL_PERSPECTIVE_CORRECTION_HINT #x0c50) (define-constant GL_POINT_SMOOTH_HINT #x0c51) (define-constant GL_POLYGON_SMOOTH_HINT #x0c53) (define-constant GL_DONT_CARE #x1100) (define-constant GL_FASTEST #x1101) (define-constant GL_NICEST #x1102) (define-constant GL_SCISSOR_TEST #x0c11) (define-constant GL_SCISSOR_BOX #x0c10) (define-constant GL_MAP_COLOR #x0d10) (define-constant GL_MAP_STENCIL #x0d11) (define-constant GL_INDEX_SHIFT #x0d12) (define-constant GL_INDEX_OFFSET #x0d13) (define-constant GL_RED_SCALE #x0d14) (define-constant GL_RED_BIAS #x0d15) (define-constant GL_GREEN_SCALE #x0d18) (define-constant GL_GREEN_BIAS #x0d19) (define-constant GL_BLUE_SCALE #x0d1a) (define-constant GL_BLUE_BIAS #x0d1b) (define-constant GL_ALPHA_SCALE #x0d1c) (define-constant GL_ALPHA_BIAS #x0d1d) (define-constant GL_DEPTH_SCALE #x0d1e) (define-constant GL_DEPTH_BIAS #x0d1f) (define-constant GL_PIXEL_MAP_S_TO_S_SIZE #x0cb1) (define-constant GL_PIXEL_MAP_I_TO_I_SIZE #x0cb0) (define-constant GL_PIXEL_MAP_I_TO_R_SIZE #x0cb2) (define-constant GL_PIXEL_MAP_I_TO_G_SIZE #x0cb3) (define-constant GL_PIXEL_MAP_I_TO_B_SIZE #x0cb4) (define-constant GL_PIXEL_MAP_I_TO_A_SIZE #x0cb5) (define-constant GL_PIXEL_MAP_R_TO_R_SIZE #x0cb6) (define-constant GL_PIXEL_MAP_G_TO_G_SIZE #x0cb7) (define-constant GL_PIXEL_MAP_B_TO_B_SIZE #x0cb8) (define-constant GL_PIXEL_MAP_A_TO_A_SIZE #x0cb9) (define-constant GL_PIXEL_MAP_S_TO_S #x0c71) (define-constant GL_PIXEL_MAP_I_TO_I #x0c70) (define-constant GL_PIXEL_MAP_I_TO_R #x0c72) (define-constant GL_PIXEL_MAP_I_TO_G #x0c73) (define-constant GL_PIXEL_MAP_I_TO_B #x0c74) (define-constant GL_PIXEL_MAP_I_TO_A #x0c75) (define-constant GL_PIXEL_MAP_R_TO_R #x0c76) (define-constant GL_PIXEL_MAP_G_TO_G #x0c77) (define-constant GL_PIXEL_MAP_B_TO_B #x0c78) (define-constant GL_PIXEL_MAP_A_TO_A #x0c79) (define-constant GL_PACK_ALIGNMENT #x0d05) (define-constant GL_PACK_LSB_FIRST #x0d01) (define-constant GL_PACK_ROW_LENGTH #x0d02) (define-constant GL_PACK_SKIP_PIXELS #x0d04) (define-constant GL_PACK_SKIP_ROWS #x0d03) (define-constant GL_PACK_SWAP_BYTES #x0d00) (define-constant GL_UNPACK_ALIGNMENT #x0cf5) (define-constant GL_UNPACK_LSB_FIRST #x0cf1) (define-constant GL_UNPACK_ROW_LENGTH #x0cf2) (define-constant GL_UNPACK_SKIP_PIXELS #x0cf4) (define-constant GL_UNPACK_SKIP_ROWS #x0cf3) (define-constant GL_UNPACK_SWAP_BYTES #x0cf0) (define-constant GL_ZOOM_X #x0d16) (define-constant GL_ZOOM_Y #x0d17) (define-constant GL_TEXTURE_ENV #x2300) (define-constant GL_TEXTURE_ENV_MODE #x2200) (define-constant GL_TEXTURE_1D #x0de0) (define-constant GL_TEXTURE_2D #x0de1) (define-constant GL_TEXTURE_WRAP_S #x2802) (define-constant GL_TEXTURE_WRAP_T #x2803) (define-constant GL_TEXTURE_MAG_FILTER #x2800) (define-constant GL_TEXTURE_MIN_FILTER #x2801) (define-constant GL_TEXTURE_ENV_COLOR #x2201) (define-constant GL_TEXTURE_GEN_S #x0c60) (define-constant GL_TEXTURE_GEN_T #x0c61) (define-constant GL_TEXTURE_GEN_MODE #x2500) (define-constant GL_TEXTURE_BORDER_COLOR #x1004) (define-constant GL_TEXTURE_WIDTH #x1000) (define-constant GL_TEXTURE_HEIGHT #x1001) (define-constant GL_TEXTURE_BORDER #x1005) (define-constant GL_TEXTURE_COMPONENTS #x1003) (define-constant GL_TEXTURE_RED_SIZE #x805c) (define-constant GL_TEXTURE_GREEN_SIZE #x805d) (define-constant GL_TEXTURE_BLUE_SIZE #x805e) (define-constant GL_TEXTURE_ALPHA_SIZE #x805f) (define-constant GL_TEXTURE_LUMINANCE_SIZE #x8060) (define-constant GL_TEXTURE_INTENSITY_SIZE #x8061) (define-constant GL_NEAREST_MIPMAP_NEAREST #x2700) (define-constant GL_NEAREST_MIPMAP_LINEAR #x2702) (define-constant GL_LINEAR_MIPMAP_NEAREST #x2701) (define-constant GL_LINEAR_MIPMAP_LINEAR #x2703) (define-constant GL_OBJECT_LINEAR #x2401) (define-constant GL_OBJECT_PLANE #x2501) (define-constant GL_EYE_LINEAR #x2400) (define-constant GL_EYE_PLANE #x2502) (define-constant GL_SPHERE_MAP #x2402) (define-constant GL_DECAL #x2101) (define-constant GL_MODULATE #x2100) (define-constant GL_NEAREST #x2600) (define-constant GL_REPEAT #x2901) (define-constant GL_CLAMP #x2900) (define-constant GL_S #x2000) (define-constant GL_T #x2001) (define-constant GL_R #x2002) (define-constant GL_Q #x2003) (define-constant GL_TEXTURE_GEN_R #x0c62) (define-constant GL_TEXTURE_GEN_Q #x0c63) (define-constant GL_VENDOR #x1f00) (define-constant GL_RENDERER #x1f01) (define-constant GL_VERSION #x1f02) (define-constant GL_EXTENSIONS #x1f03) (define-constant GL_NO_ERROR #x0000) (define-constant GL_INVALID_VALUE #x0501) (define-constant GL_INVALID_ENUM #x0500) (define-constant GL_INVALID_OPERATION #x0502) (define-constant GL_STACK_OVERFLOW #x0503) (define-constant GL_STACK_UNDERFLOW #x0504) (define-constant GL_OUT_OF_MEMORY #x0505) (define-constant GL_CURRENT_BIT #x0001) (define-constant GL_POINT_BIT #x0002) (define-constant GL_LINE_BIT #x0004) (define-constant GL_POLYGON_BIT #x0008) (define-constant GL_POLYGON_STIPPLE_BIT #x0010) (define-constant GL_PIXEL_MODE_BIT #x0020) (define-constant GL_LIGHTING_BIT #x0040) (define-constant GL_FOG_BIT #x0080) (define-constant GL_DEPTH_BUFFER_BIT #x0100) (define-constant GL_ACCUM_BUFFER_BIT #x0200) (define-constant GL_STENCIL_BUFFER_BIT #x0400) (define-constant GL_VIEWPORT_BIT #x0800) (define-constant GL_TRANSFORM_BIT #x1000) (define-constant GL_ENABLE_BIT #x2000) (define-constant GL_COLOR_BUFFER_BIT #x4000) (define-constant GL_HINT_BIT #x8000) (define-constant GL_EVAL_BIT #x10000) (define-constant GL_LIST_BIT #x20000) (define-constant GL_TEXTURE_BIT #x40000) (define-constant GL_SCISSOR_BIT #x80000) (define-constant GL_ALL_ATTRIB_BITS #xfffff) (define-constant GL_PROXY_TEXTURE_1D #x8063) (define-constant GL_PROXY_TEXTURE_2D #x8064) (define-constant GL_TEXTURE_PRIORITY #x8066) (define-constant GL_TEXTURE_RESIDENT #x8067) (define-constant GL_TEXTURE_BINDING_1D #x8068) (define-constant GL_TEXTURE_BINDING_2D #x8069) (define-constant GL_TEXTURE_INTERNAL_FORMAT #x1003) (define-constant GL_ALPHA4 #x803b) (define-constant GL_ALPHA8 #x803c) (define-constant GL_ALPHA12 #x803d) (define-constant GL_ALPHA16 #x803e) (define-constant GL_LUMINANCE4 #x803f) (define-constant GL_LUMINANCE8 #x8040) (define-constant GL_LUMINANCE12 #x8041) (define-constant GL_LUMINANCE16 #x8042) (define-constant GL_LUMINANCE4_ALPHA4 #x8043) (define-constant GL_LUMINANCE6_ALPHA2 #x8044) (define-constant GL_LUMINANCE8_ALPHA8 #x8045) (define-constant GL_LUMINANCE12_ALPHA4 #x8046) (define-constant GL_LUMINANCE12_ALPHA12 #x8047) (define-constant GL_LUMINANCE16_ALPHA16 #x8048) (define-constant GL_INTENSITY #x8049) (define-constant GL_INTENSITY4 #x804a) (define-constant GL_INTENSITY8 #x804b) (define-constant GL_INTENSITY12 #x804c) (define-constant GL_INTENSITY16 #x804d) (define-constant GL_R3_G3_B2 #x2a10) (define-constant GL_RGB4 #x804f) (define-constant GL_RGB5 #x8050) (define-constant GL_RGB8 #x8051) (define-constant GL_RGB10 #x8052) (define-constant GL_RGB12 #x8053) (define-constant GL_RGB16 #x8054) (define-constant GL_RGBA2 #x8055) (define-constant GL_RGBA4 #x8056) (define-constant GL_RGB5_A1 #x8057) (define-constant GL_RGBA8 #x8058) (define-constant GL_RGB10_A2 #x8059) (define-constant GL_RGBA12 #x805a) (define-constant GL_RGBA16 #x805b) (define-constant GL_CLIENT_PIXEL_STORE_BIT #x0001) (define-constant GL_CLIENT_VERTEX_ARRAY_BIT #x0002) (define-constant GL_ALL_CLIENT_ATTRIB_BITS #xffffffff) (define-constant GL_CLIENT_ALL_ATTRIB_BITS #xffffffff) (define-constant GL_GLEXT_VERSION #x0048) (define-constant GL_UNSIGNED_BYTE_3_3_2 #x8032) (define-constant GL_UNSIGNED_SHORT_4_4_4_4 #x8033) (define-constant GL_UNSIGNED_SHORT_5_5_5_1 #x8034) (define-constant GL_UNSIGNED_INT_8_8_8_8 #x8035) (define-constant GL_UNSIGNED_INT_10_10_10_2 #x8036) (define-constant GL_TEXTURE_BINDING_3D #x806a) (define-constant GL_PACK_SKIP_IMAGES #x806b) (define-constant GL_PACK_IMAGE_HEIGHT #x806c) (define-constant GL_UNPACK_SKIP_IMAGES #x806d) (define-constant GL_UNPACK_IMAGE_HEIGHT #x806e) (define-constant GL_TEXTURE_3D #x806f) (define-constant GL_PROXY_TEXTURE_3D #x8070) (define-constant GL_TEXTURE_DEPTH #x8071) (define-constant GL_TEXTURE_WRAP_R #x8072) (define-constant GL_MAX_3D_TEXTURE_SIZE #x8073) (define-constant GL_UNSIGNED_BYTE_2_3_3_REV #x8362) (define-constant GL_UNSIGNED_SHORT_5_6_5 #x8363) (define-constant GL_UNSIGNED_SHORT_5_6_5_REV #x8364) (define-constant GL_UNSIGNED_SHORT_4_4_4_4_REV #x8365) (define-constant GL_UNSIGNED_SHORT_1_5_5_5_REV #x8366) (define-constant GL_UNSIGNED_INT_8_8_8_8_REV #x8367) (define-constant GL_UNSIGNED_INT_2_10_10_10_REV #x8368) (define-constant GL_BGR #x80e0) (define-constant GL_BGRA #x80e1) (define-constant GL_MAX_ELEMENTS_VERTICES #x80e8) (define-constant GL_MAX_ELEMENTS_INDICES #x80e9) (define-constant GL_CLAMP_TO_EDGE #x812f) (define-constant GL_TEXTURE_MIN_LOD #x813a) (define-constant GL_TEXTURE_MAX_LOD #x813b) (define-constant GL_TEXTURE_BASE_LEVEL #x813c) (define-constant GL_TEXTURE_MAX_LEVEL #x813d) (define-constant GL_SMOOTH_POINT_SIZE_RANGE #x0b12) (define-constant GL_SMOOTH_POINT_SIZE_GRANULARITY #x0b13) (define-constant GL_SMOOTH_LINE_WIDTH_RANGE #x0b22) (define-constant GL_SMOOTH_LINE_WIDTH_GRANULARITY #x0b23) (define-constant GL_ALIASED_LINE_WIDTH_RANGE #x846e) (define-constant GL_RESCALE_NORMAL #x803a) (define-constant GL_LIGHT_MODEL_COLOR_CONTROL #x81f8) (define-constant GL_SINGLE_COLOR #x81f9) (define-constant GL_SEPARATE_SPECULAR_COLOR #x81fa) (define-constant GL_ALIASED_POINT_SIZE_RANGE #x846d) (define-constant GL_BLEND_COLOR #x8005) (define-constant GL_FUNC_ADD #x8006) (define-constant GL_MIN #x8007) (define-constant GL_MAX #x8008) (define-constant GL_BLEND_EQUATION #x8009) (define-constant GL_FUNC_SUBTRACT #x800a) (define-constant GL_FUNC_REVERSE_SUBTRACT #x800b) (define-constant GL_CONVOLUTION_1D #x8010) (define-constant GL_CONVOLUTION_2D #x8011) (define-constant GL_SEPARABLE_2D #x8012) (define-constant GL_CONVOLUTION_BORDER_MODE #x8013) (define-constant GL_CONVOLUTION_FILTER_SCALE #x8014) (define-constant GL_CONVOLUTION_FILTER_BIAS #x8015) (define-constant GL_REDUCE #x8016) (define-constant GL_CONVOLUTION_FORMAT #x8017) (define-constant GL_CONVOLUTION_WIDTH #x8018) (define-constant GL_CONVOLUTION_HEIGHT #x8019) (define-constant GL_MAX_CONVOLUTION_WIDTH #x801a) (define-constant GL_MAX_CONVOLUTION_HEIGHT #x801b) (define-constant GL_POST_CONVOLUTION_RED_SCALE #x801c) (define-constant GL_POST_CONVOLUTION_GREEN_SCALE #x801d) (define-constant GL_POST_CONVOLUTION_BLUE_SCALE #x801e) (define-constant GL_POST_CONVOLUTION_ALPHA_SCALE #x801f) (define-constant GL_POST_CONVOLUTION_RED_BIAS #x8020) (define-constant GL_POST_CONVOLUTION_GREEN_BIAS #x8021) (define-constant GL_POST_CONVOLUTION_BLUE_BIAS #x8022) (define-constant GL_POST_CONVOLUTION_ALPHA_BIAS #x8023) (define-constant GL_HISTOGRAM #x8024) (define-constant GL_PROXY_HISTOGRAM #x8025) (define-constant GL_HISTOGRAM_WIDTH #x8026) (define-constant GL_HISTOGRAM_FORMAT #x8027) (define-constant GL_HISTOGRAM_RED_SIZE #x8028) (define-constant GL_HISTOGRAM_GREEN_SIZE #x8029) (define-constant GL_HISTOGRAM_BLUE_SIZE #x802a) (define-constant GL_HISTOGRAM_ALPHA_SIZE #x802b) (define-constant GL_HISTOGRAM_LUMINANCE_SIZE #x802c) (define-constant GL_HISTOGRAM_SINK #x802d) (define-constant GL_MINMAX #x802e) (define-constant GL_MINMAX_FORMAT #x802f) (define-constant GL_MINMAX_SINK #x8030) (define-constant GL_TABLE_TOO_LARGE #x8031) (define-constant GL_COLOR_MATRIX #x80b1) (define-constant GL_COLOR_MATRIX_STACK_DEPTH #x80b2) (define-constant GL_MAX_COLOR_MATRIX_STACK_DEPTH #x80b3) (define-constant GL_POST_COLOR_MATRIX_RED_SCALE #x80b4) (define-constant GL_POST_COLOR_MATRIX_GREEN_SCALE #x80b5) (define-constant GL_POST_COLOR_MATRIX_BLUE_SCALE #x80b6) (define-constant GL_POST_COLOR_MATRIX_ALPHA_SCALE #x80b7) (define-constant GL_POST_COLOR_MATRIX_RED_BIAS #x80b8) (define-constant GL_POST_COLOR_MATRIX_GREEN_BIAS #x80b9) (define-constant GL_POST_COLOR_MATRIX_BLUE_BIAS #x80ba) (define-constant GL_POST_COLOR_MATRIX_ALPHA_BIAS #x80bb) (define-constant GL_COLOR_TABLE #x80d0) (define-constant GL_POST_CONVOLUTION_COLOR_TABLE #x80d1) (define-constant GL_POST_COLOR_MATRIX_COLOR_TABLE #x80d2) (define-constant GL_PROXY_COLOR_TABLE #x80d3) (define-constant GL_PROXY_POST_CONVOLUTION_COLOR_TABLE #x80d4) (define-constant GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE #x80d5) (define-constant GL_COLOR_TABLE_SCALE #x80d6) (define-constant GL_COLOR_TABLE_BIAS #x80d7) (define-constant GL_COLOR_TABLE_FORMAT #x80d8) (define-constant GL_COLOR_TABLE_WIDTH #x80d9) (define-constant GL_COLOR_TABLE_RED_SIZE #x80da) (define-constant GL_COLOR_TABLE_GREEN_SIZE #x80db) (define-constant GL_COLOR_TABLE_BLUE_SIZE #x80dc) (define-constant GL_COLOR_TABLE_ALPHA_SIZE #x80dd) (define-constant GL_COLOR_TABLE_LUMINANCE_SIZE #x80de) (define-constant GL_COLOR_TABLE_INTENSITY_SIZE #x80df) (define-constant GL_CONSTANT_BORDER #x8151) (define-constant GL_REPLICATE_BORDER #x8153) (define-constant GL_CONVOLUTION_BORDER_COLOR #x8154) (define-constant GL_TEXTURE0 #x84c0) (define-constant GL_TEXTURE1 #x84c1) (define-constant GL_TEXTURE2 #x84c2) (define-constant GL_TEXTURE3 #x84c3) (define-constant GL_TEXTURE4 #x84c4) (define-constant GL_TEXTURE5 #x84c5) (define-constant GL_TEXTURE6 #x84c6) (define-constant GL_TEXTURE7 #x84c7) (define-constant GL_TEXTURE8 #x84c8) (define-constant GL_TEXTURE9 #x84c9) (define-constant GL_TEXTURE10 #x84ca) (define-constant GL_TEXTURE11 #x84cb) (define-constant GL_TEXTURE12 #x84cc) (define-constant GL_TEXTURE13 #x84cd) (define-constant GL_TEXTURE14 #x84ce) (define-constant GL_TEXTURE15 #x84cf) (define-constant GL_TEXTURE16 #x84d0) (define-constant GL_TEXTURE17 #x84d1) (define-constant GL_TEXTURE18 #x84d2) (define-constant GL_TEXTURE19 #x84d3) (define-constant GL_TEXTURE20 #x84d4) (define-constant GL_TEXTURE21 #x84d5) (define-constant GL_TEXTURE22 #x84d6) (define-constant GL_TEXTURE23 #x84d7) (define-constant GL_TEXTURE24 #x84d8) (define-constant GL_TEXTURE25 #x84d9) (define-constant GL_TEXTURE26 #x84da) (define-constant GL_TEXTURE27 #x84db) (define-constant GL_TEXTURE28 #x84dc) (define-constant GL_TEXTURE29 #x84dd) (define-constant GL_TEXTURE30 #x84de) (define-constant GL_TEXTURE31 #x84df) (define-constant GL_ACTIVE_TEXTURE #x84e0) (define-constant GL_MULTISAMPLE #x809d) (define-constant GL_SAMPLE_ALPHA_TO_COVERAGE #x809e) (define-constant GL_SAMPLE_ALPHA_TO_ONE #x809f) (define-constant GL_SAMPLE_COVERAGE #x80a0) (define-constant GL_SAMPLE_BUFFERS #x80a8) (define-constant GL_SAMPLES #x80a9) (define-constant GL_SAMPLE_COVERAGE_VALUE #x80aa) (define-constant GL_SAMPLE_COVERAGE_INVERT #x80ab) (define-constant GL_TEXTURE_CUBE_MAP #x8513) (define-constant GL_TEXTURE_BINDING_CUBE_MAP #x8514) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_X #x8515) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_X #x8516) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_Y #x8517) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_Y #x8518) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_Z #x8519) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_Z #x851a) (define-constant GL_PROXY_TEXTURE_CUBE_MAP #x851b) (define-constant GL_MAX_CUBE_MAP_TEXTURE_SIZE #x851c) (define-constant GL_COMPRESSED_RGB #x84ed) (define-constant GL_COMPRESSED_RGBA #x84ee) (define-constant GL_TEXTURE_COMPRESSION_HINT #x84ef) (define-constant GL_TEXTURE_COMPRESSED_IMAGE_SIZE #x86a0) (define-constant GL_TEXTURE_COMPRESSED #x86a1) (define-constant GL_NUM_COMPRESSED_TEXTURE_FORMATS #x86a2) (define-constant GL_COMPRESSED_TEXTURE_FORMATS #x86a3) (define-constant GL_CLAMP_TO_BORDER #x812d) (define-constant GL_CLIENT_ACTIVE_TEXTURE #x84e1) (define-constant GL_MAX_TEXTURE_UNITS #x84e2) (define-constant GL_TRANSPOSE_MODELVIEW_MATRIX #x84e3) (define-constant GL_TRANSPOSE_PROJECTION_MATRIX #x84e4) (define-constant GL_TRANSPOSE_TEXTURE_MATRIX #x84e5) (define-constant GL_TRANSPOSE_COLOR_MATRIX #x84e6) (define-constant GL_MULTISAMPLE_BIT #x20000000) (define-constant GL_NORMAL_MAP #x8511) (define-constant GL_REFLECTION_MAP #x8512) (define-constant GL_COMPRESSED_ALPHA #x84e9) (define-constant GL_COMPRESSED_LUMINANCE #x84ea) (define-constant GL_COMPRESSED_LUMINANCE_ALPHA #x84eb) (define-constant GL_COMPRESSED_INTENSITY #x84ec) (define-constant GL_COMBINE #x8570) (define-constant GL_COMBINE_RGB #x8571) (define-constant GL_COMBINE_ALPHA #x8572) (define-constant GL_SOURCE0_RGB #x8580) (define-constant GL_SOURCE1_RGB #x8581) (define-constant GL_SOURCE2_RGB #x8582) (define-constant GL_SOURCE0_ALPHA #x8588) (define-constant GL_SOURCE1_ALPHA #x8589) (define-constant GL_SOURCE2_ALPHA #x858a) (define-constant GL_OPERAND0_RGB #x8590) (define-constant GL_OPERAND1_RGB #x8591) (define-constant GL_OPERAND2_RGB #x8592) (define-constant GL_OPERAND0_ALPHA #x8598) (define-constant GL_OPERAND1_ALPHA #x8599) (define-constant GL_OPERAND2_ALPHA #x859a) (define-constant GL_RGB_SCALE #x8573) (define-constant GL_ADD_SIGNED #x8574) (define-constant GL_INTERPOLATE #x8575) (define-constant GL_SUBTRACT #x84e7) (define-constant GL_CONSTANT #x8576) (define-constant GL_PRIMARY_COLOR #x8577) (define-constant GL_PREVIOUS #x8578) (define-constant GL_DOT3_RGB #x86ae) (define-constant GL_DOT3_RGBA #x86af) (define-constant GL_BLEND_DST_RGB #x80c8) (define-constant GL_BLEND_SRC_RGB #x80c9) (define-constant GL_BLEND_DST_ALPHA #x80ca) (define-constant GL_BLEND_SRC_ALPHA #x80cb) (define-constant GL_POINT_FADE_THRESHOLD_SIZE #x8128) (define-constant GL_DEPTH_COMPONENT16 #x81a5) (define-constant GL_DEPTH_COMPONENT24 #x81a6) (define-constant GL_DEPTH_COMPONENT32 #x81a7) (define-constant GL_MIRRORED_REPEAT #x8370) (define-constant GL_MAX_TEXTURE_LOD_BIAS #x84fd) (define-constant GL_TEXTURE_LOD_BIAS #x8501) (define-constant GL_INCR_WRAP #x8507) (define-constant GL_DECR_WRAP #x8508) (define-constant GL_TEXTURE_DEPTH_SIZE #x884a) (define-constant GL_TEXTURE_COMPARE_MODE #x884c) (define-constant GL_TEXTURE_COMPARE_FUNC #x884d) (define-constant GL_POINT_SIZE_MIN #x8126) (define-constant GL_POINT_SIZE_MAX #x8127) (define-constant GL_POINT_DISTANCE_ATTENUATION #x8129) (define-constant GL_GENERATE_MIPMAP #x8191) (define-constant GL_GENERATE_MIPMAP_HINT #x8192) (define-constant GL_FOG_COORDINATE_SOURCE #x8450) (define-constant GL_FOG_COORDINATE #x8451) (define-constant GL_FRAGMENT_DEPTH #x8452) (define-constant GL_CURRENT_FOG_COORDINATE #x8453) (define-constant GL_FOG_COORDINATE_ARRAY_TYPE #x8454) (define-constant GL_FOG_COORDINATE_ARRAY_STRIDE #x8455) (define-constant GL_FOG_COORDINATE_ARRAY_POINTER #x8456) (define-constant GL_FOG_COORDINATE_ARRAY #x8457) (define-constant GL_COLOR_SUM #x8458) (define-constant GL_CURRENT_SECONDARY_COLOR #x8459) (define-constant GL_SECONDARY_COLOR_ARRAY_SIZE #x845a) (define-constant GL_SECONDARY_COLOR_ARRAY_TYPE #x845b) (define-constant GL_SECONDARY_COLOR_ARRAY_STRIDE #x845c) (define-constant GL_SECONDARY_COLOR_ARRAY_POINTER #x845d) (define-constant GL_SECONDARY_COLOR_ARRAY #x845e) (define-constant GL_TEXTURE_FILTER_CONTROL #x8500) (define-constant GL_DEPTH_TEXTURE_MODE #x884b) (define-constant GL_COMPARE_R_TO_TEXTURE #x884e) (define-constant GL_BUFFER_SIZE #x8764) (define-constant GL_BUFFER_USAGE #x8765) (define-constant GL_QUERY_COUNTER_BITS #x8864) (define-constant GL_CURRENT_QUERY #x8865) (define-constant GL_QUERY_RESULT #x8866) (define-constant GL_QUERY_RESULT_AVAILABLE #x8867) (define-constant GL_ARRAY_BUFFER #x8892) (define-constant GL_ELEMENT_ARRAY_BUFFER #x8893) (define-constant GL_ARRAY_BUFFER_BINDING #x8894) (define-constant GL_ELEMENT_ARRAY_BUFFER_BINDING #x8895) (define-constant GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING #x889f) (define-constant GL_READ_ONLY #x88b8) (define-constant GL_WRITE_ONLY #x88b9) (define-constant GL_READ_WRITE #x88ba) (define-constant GL_BUFFER_ACCESS #x88bb) (define-constant GL_BUFFER_MAPPED #x88bc) (define-constant GL_BUFFER_MAP_POINTER #x88bd) (define-constant GL_STREAM_DRAW #x88e0) (define-constant GL_STREAM_READ #x88e1) (define-constant GL_STREAM_COPY #x88e2) (define-constant GL_STATIC_DRAW #x88e4) (define-constant GL_STATIC_READ #x88e5) (define-constant GL_STATIC_COPY #x88e6) (define-constant GL_DYNAMIC_DRAW #x88e8) (define-constant GL_DYNAMIC_READ #x88e9) (define-constant GL_DYNAMIC_COPY #x88ea) (define-constant GL_SAMPLES_PASSED #x8914) (define-constant GL_VERTEX_ARRAY_BUFFER_BINDING #x8896) (define-constant GL_NORMAL_ARRAY_BUFFER_BINDING #x8897) (define-constant GL_COLOR_ARRAY_BUFFER_BINDING #x8898) (define-constant GL_INDEX_ARRAY_BUFFER_BINDING #x8899) (define-constant GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING #x889a) (define-constant GL_EDGE_FLAG_ARRAY_BUFFER_BINDING #x889b) (define-constant GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING #x889c) (define-constant GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING #x889d) (define-constant GL_WEIGHT_ARRAY_BUFFER_BINDING #x889e) (define-constant GL_FOG_COORD_SRC #x8450) (define-constant GL_FOG_COORD #x8451) (define-constant GL_CURRENT_FOG_COORD #x8453) (define-constant GL_FOG_COORD_ARRAY_TYPE #x8454) (define-constant GL_FOG_COORD_ARRAY_STRIDE #x8455) (define-constant GL_FOG_COORD_ARRAY_POINTER #x8456) (define-constant GL_FOG_COORD_ARRAY #x8457) (define-constant GL_FOG_COORD_ARRAY_BUFFER_BINDING #x889d) (define-constant GL_SRC0_RGB #x8580) (define-constant GL_SRC1_RGB #x8581) (define-constant GL_SRC2_RGB #x8582) (define-constant GL_SRC0_ALPHA #x8588) (define-constant GL_SRC1_ALPHA #x8589) (define-constant GL_SRC2_ALPHA #x858a) (define-constant GL_BLEND_EQUATION_RGB #x8009) (define-constant GL_VERTEX_ATTRIB_ARRAY_ENABLED #x8622) (define-constant GL_VERTEX_ATTRIB_ARRAY_SIZE #x8623) (define-constant GL_VERTEX_ATTRIB_ARRAY_STRIDE #x8624) (define-constant GL_VERTEX_ATTRIB_ARRAY_TYPE #x8625) (define-constant GL_CURRENT_VERTEX_ATTRIB #x8626) (define-constant GL_VERTEX_PROGRAM_POINT_SIZE #x8642) (define-constant GL_VERTEX_ATTRIB_ARRAY_POINTER #x8645) (define-constant GL_STENCIL_BACK_FUNC #x8800) (define-constant GL_STENCIL_BACK_FAIL #x8801) (define-constant GL_STENCIL_BACK_PASS_DEPTH_FAIL #x8802) (define-constant GL_STENCIL_BACK_PASS_DEPTH_PASS #x8803) (define-constant GL_MAX_DRAW_BUFFERS #x8824) (define-constant GL_DRAW_BUFFER0 #x8825) (define-constant GL_DRAW_BUFFER1 #x8826) (define-constant GL_DRAW_BUFFER2 #x8827) (define-constant GL_DRAW_BUFFER3 #x8828) (define-constant GL_DRAW_BUFFER4 #x8829) (define-constant GL_DRAW_BUFFER5 #x882a) (define-constant GL_DRAW_BUFFER6 #x882b) (define-constant GL_DRAW_BUFFER7 #x882c) (define-constant GL_DRAW_BUFFER8 #x882d) (define-constant GL_DRAW_BUFFER9 #x882e) (define-constant GL_DRAW_BUFFER10 #x882f) (define-constant GL_DRAW_BUFFER11 #x8830) (define-constant GL_DRAW_BUFFER12 #x8831) (define-constant GL_DRAW_BUFFER13 #x8832) (define-constant GL_DRAW_BUFFER14 #x8833) (define-constant GL_DRAW_BUFFER15 #x8834) (define-constant GL_BLEND_EQUATION_ALPHA #x883d) (define-constant GL_MAX_VERTEX_ATTRIBS #x8869) (define-constant GL_VERTEX_ATTRIB_ARRAY_NORMALIZED #x886a) (define-constant GL_MAX_TEXTURE_IMAGE_UNITS #x8872) (define-constant GL_FRAGMENT_SHADER #x8b30) (define-constant GL_VERTEX_SHADER #x8b31) (define-constant GL_MAX_FRAGMENT_UNIFORM_COMPONENTS #x8b49) (define-constant GL_MAX_VERTEX_UNIFORM_COMPONENTS #x8b4a) (define-constant GL_MAX_VARYING_FLOATS #x8b4b) (define-constant GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS #x8b4c) (define-constant GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS #x8b4d) (define-constant GL_SHADER_TYPE #x8b4f) (define-constant GL_FLOAT_VEC2 #x8b50) (define-constant GL_FLOAT_VEC3 #x8b51) (define-constant GL_FLOAT_VEC4 #x8b52) (define-constant GL_INT_VEC2 #x8b53) (define-constant GL_INT_VEC3 #x8b54) (define-constant GL_INT_VEC4 #x8b55) (define-constant GL_BOOL #x8b56) (define-constant GL_BOOL_VEC2 #x8b57) (define-constant GL_BOOL_VEC3 #x8b58) (define-constant GL_BOOL_VEC4 #x8b59) (define-constant GL_FLOAT_MAT2 #x8b5a) (define-constant GL_FLOAT_MAT3 #x8b5b) (define-constant GL_FLOAT_MAT4 #x8b5c) (define-constant GL_SAMPLER_1D #x8b5d) (define-constant GL_SAMPLER_2D #x8b5e) (define-constant GL_SAMPLER_3D #x8b5f) (define-constant GL_SAMPLER_CUBE #x8b60) (define-constant GL_SAMPLER_1D_SHADOW #x8b61) (define-constant GL_SAMPLER_2D_SHADOW #x8b62) (define-constant GL_DELETE_STATUS #x8b80) (define-constant GL_COMPILE_STATUS #x8b81) (define-constant GL_LINK_STATUS #x8b82) (define-constant GL_VALIDATE_STATUS #x8b83) (define-constant GL_INFO_LOG_LENGTH #x8b84) (define-constant GL_ATTACHED_SHADERS #x8b85) (define-constant GL_ACTIVE_UNIFORMS #x8b86) (define-constant GL_ACTIVE_UNIFORM_MAX_LENGTH #x8b87) (define-constant GL_SHADER_SOURCE_LENGTH #x8b88) (define-constant GL_ACTIVE_ATTRIBUTES #x8b89) (define-constant GL_ACTIVE_ATTRIBUTE_MAX_LENGTH #x8b8a) (define-constant GL_FRAGMENT_SHADER_DERIVATIVE_HINT #x8b8b) (define-constant GL_SHADING_LANGUAGE_VERSION #x8b8c) (define-constant GL_CURRENT_PROGRAM #x8b8d) (define-constant GL_POINT_SPRITE_COORD_ORIGIN #x8ca0) (define-constant GL_LOWER_LEFT #x8ca1) (define-constant GL_UPPER_LEFT #x8ca2) (define-constant GL_STENCIL_BACK_REF #x8ca3) (define-constant GL_STENCIL_BACK_VALUE_MASK #x8ca4) (define-constant GL_STENCIL_BACK_WRITEMASK #x8ca5) (define-constant GL_VERTEX_PROGRAM_TWO_SIDE #x8643) (define-constant GL_POINT_SPRITE #x8861) (define-constant GL_COORD_REPLACE #x8862) (define-constant GL_MAX_TEXTURE_COORDS #x8871) (define-constant GL_PIXEL_PACK_BUFFER #x88eb) (define-constant GL_PIXEL_UNPACK_BUFFER #x88ec) (define-constant GL_PIXEL_PACK_BUFFER_BINDING #x88ed) (define-constant GL_PIXEL_UNPACK_BUFFER_BINDING #x88ef) (define-constant GL_FLOAT_MAT2x3 #x8b65) (define-constant GL_FLOAT_MAT2x4 #x8b66) (define-constant GL_FLOAT_MAT3x2 #x8b67) (define-constant GL_FLOAT_MAT3x4 #x8b68) (define-constant GL_FLOAT_MAT4x2 #x8b69) (define-constant GL_FLOAT_MAT4x3 #x8b6a) (define-constant GL_SRGB #x8c40) (define-constant GL_SRGB8 #x8c41) (define-constant GL_SRGB_ALPHA #x8c42) (define-constant GL_SRGB8_ALPHA8 #x8c43) (define-constant GL_COMPRESSED_SRGB #x8c48) (define-constant GL_COMPRESSED_SRGB_ALPHA #x8c49) (define-constant GL_CURRENT_RASTER_SECONDARY_COLOR #x845f) (define-constant GL_SLUMINANCE_ALPHA #x8c44) (define-constant GL_SLUMINANCE8_ALPHA8 #x8c45) (define-constant GL_SLUMINANCE #x8c46) (define-constant GL_SLUMINANCE8 #x8c47) (define-constant GL_COMPRESSED_SLUMINANCE #x8c4a) (define-constant GL_COMPRESSED_SLUMINANCE_ALPHA #x8c4b) (define-constant GL_COMPARE_REF_TO_TEXTURE #x884e) (define-constant GL_CLIP_DISTANCE0 #x3000) (define-constant GL_CLIP_DISTANCE1 #x3001) (define-constant GL_CLIP_DISTANCE2 #x3002) (define-constant GL_CLIP_DISTANCE3 #x3003) (define-constant GL_CLIP_DISTANCE4 #x3004) (define-constant GL_CLIP_DISTANCE5 #x3005) (define-constant GL_CLIP_DISTANCE6 #x3006) (define-constant GL_CLIP_DISTANCE7 #x3007) (define-constant GL_MAX_CLIP_DISTANCES #x0d32) (define-constant GL_MAJOR_VERSION #x821b) (define-constant GL_MINOR_VERSION #x821c) (define-constant GL_NUM_EXTENSIONS #x821d) (define-constant GL_CONTEXT_FLAGS #x821e) (define-constant GL_DEPTH_BUFFER #x8223) (define-constant GL_STENCIL_BUFFER #x8224) (define-constant GL_COMPRESSED_RED #x8225) (define-constant GL_COMPRESSED_RG #x8226) (define-constant GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT #x0001) (define-constant GL_RGBA32F #x8814) (define-constant GL_RGB32F #x8815) (define-constant GL_RGBA16F #x881a) (define-constant GL_RGB16F #x881b) (define-constant GL_VERTEX_ATTRIB_ARRAY_INTEGER #x88fd) (define-constant GL_MAX_ARRAY_TEXTURE_LAYERS #x88ff) (define-constant GL_MIN_PROGRAM_TEXEL_OFFSET #x8904) (define-constant GL_MAX_PROGRAM_TEXEL_OFFSET #x8905) (define-constant GL_CLAMP_READ_COLOR #x891c) (define-constant GL_FIXED_ONLY #x891d) (define-constant GL_MAX_VARYING_COMPONENTS #x8b4b) (define-constant GL_TEXTURE_1D_ARRAY #x8c18) (define-constant GL_PROXY_TEXTURE_1D_ARRAY #x8c19) (define-constant GL_TEXTURE_2D_ARRAY #x8c1a) (define-constant GL_PROXY_TEXTURE_2D_ARRAY #x8c1b) (define-constant GL_TEXTURE_BINDING_1D_ARRAY #x8c1c) (define-constant GL_TEXTURE_BINDING_2D_ARRAY #x8c1d) (define-constant GL_R11F_G11F_B10F #x8c3a) (define-constant GL_UNSIGNED_INT_10F_11F_11F_REV #x8c3b) (define-constant GL_RGB9_E5 #x8c3d) (define-constant GL_UNSIGNED_INT_5_9_9_9_REV #x8c3e) (define-constant GL_TEXTURE_SHARED_SIZE #x8c3f) (define-constant GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH #x8c76) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_MODE #x8c7f) (define-constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS #x8c80) (define-constant GL_TRANSFORM_FEEDBACK_VARYINGS #x8c83) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_START #x8c84) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_SIZE #x8c85) (define-constant GL_PRIMITIVES_GENERATED #x8c87) (define-constant GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN #x8c88) (define-constant GL_RASTERIZER_DISCARD #x8c89) (define-constant GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS #x8c8a) (define-constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS #x8c8b) (define-constant GL_INTERLEAVED_ATTRIBS #x8c8c) (define-constant GL_SEPARATE_ATTRIBS #x8c8d) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER #x8c8e) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_BINDING #x8c8f) (define-constant GL_RGBA32UI #x8d70) (define-constant GL_RGB32UI #x8d71) (define-constant GL_RGBA16UI #x8d76) (define-constant GL_RGB16UI #x8d77) (define-constant GL_RGBA8UI #x8d7c) (define-constant GL_RGB8UI #x8d7d) (define-constant GL_RGBA32I #x8d82) (define-constant GL_RGB32I #x8d83) (define-constant GL_RGBA16I #x8d88) (define-constant GL_RGB16I #x8d89) (define-constant GL_RGBA8I #x8d8e) (define-constant GL_RGB8I #x8d8f) (define-constant GL_RED_INTEGER #x8d94) (define-constant GL_GREEN_INTEGER #x8d95) (define-constant GL_BLUE_INTEGER #x8d96) (define-constant GL_RGB_INTEGER #x8d98) (define-constant GL_RGBA_INTEGER #x8d99) (define-constant GL_BGR_INTEGER #x8d9a) (define-constant GL_BGRA_INTEGER #x8d9b) (define-constant GL_SAMPLER_1D_ARRAY #x8dc0) (define-constant GL_SAMPLER_2D_ARRAY #x8dc1) (define-constant GL_SAMPLER_1D_ARRAY_SHADOW #x8dc3) (define-constant GL_SAMPLER_2D_ARRAY_SHADOW #x8dc4) (define-constant GL_SAMPLER_CUBE_SHADOW #x8dc5) (define-constant GL_UNSIGNED_INT_VEC2 #x8dc6) (define-constant GL_UNSIGNED_INT_VEC3 #x8dc7) (define-constant GL_UNSIGNED_INT_VEC4 #x8dc8) (define-constant GL_INT_SAMPLER_1D #x8dc9) (define-constant GL_INT_SAMPLER_2D #x8dca) (define-constant GL_INT_SAMPLER_3D #x8dcb) (define-constant GL_INT_SAMPLER_CUBE #x8dcc) (define-constant GL_INT_SAMPLER_1D_ARRAY #x8dce) (define-constant GL_INT_SAMPLER_2D_ARRAY #x8dcf) (define-constant GL_UNSIGNED_INT_SAMPLER_1D #x8dd1) (define-constant GL_UNSIGNED_INT_SAMPLER_2D #x8dd2) (define-constant GL_UNSIGNED_INT_SAMPLER_3D #x8dd3) (define-constant GL_UNSIGNED_INT_SAMPLER_CUBE #x8dd4) (define-constant GL_UNSIGNED_INT_SAMPLER_1D_ARRAY #x8dd6) (define-constant GL_UNSIGNED_INT_SAMPLER_2D_ARRAY #x8dd7) (define-constant GL_QUERY_WAIT #x8e13) (define-constant GL_QUERY_NO_WAIT #x8e14) (define-constant GL_QUERY_BY_REGION_WAIT #x8e15) (define-constant GL_QUERY_BY_REGION_NO_WAIT #x8e16) (define-constant GL_BUFFER_ACCESS_FLAGS #x911f) (define-constant GL_BUFFER_MAP_LENGTH #x9120) (define-constant GL_BUFFER_MAP_OFFSET #x9121) (define-constant GL_CLAMP_VERTEX_COLOR #x891a) (define-constant GL_CLAMP_FRAGMENT_COLOR #x891b) (define-constant GL_ALPHA_INTEGER #x8d97) (define-constant GL_SAMPLER_2D_RECT #x8b63) (define-constant GL_SAMPLER_2D_RECT_SHADOW #x8b64) (define-constant GL_SAMPLER_BUFFER #x8dc2) (define-constant GL_INT_SAMPLER_2D_RECT #x8dcd) (define-constant GL_INT_SAMPLER_BUFFER #x8dd0) (define-constant GL_UNSIGNED_INT_SAMPLER_2D_RECT #x8dd5) (define-constant GL_UNSIGNED_INT_SAMPLER_BUFFER #x8dd8) (define-constant GL_TEXTURE_BUFFER #x8c2a) (define-constant GL_MAX_TEXTURE_BUFFER_SIZE #x8c2b) (define-constant GL_TEXTURE_BINDING_BUFFER #x8c2c) (define-constant GL_TEXTURE_BUFFER_DATA_STORE_BINDING #x8c2d) (define-constant GL_TEXTURE_BUFFER_FORMAT #x8c2e) (define-constant GL_TEXTURE_RECTANGLE #x84f5) (define-constant GL_TEXTURE_BINDING_RECTANGLE #x84f6) (define-constant GL_PROXY_TEXTURE_RECTANGLE #x84f7) (define-constant GL_MAX_RECTANGLE_TEXTURE_SIZE #x84f8) (define-constant GL_RED_SNORM #x8f90) (define-constant GL_RG_SNORM #x8f91) (define-constant GL_RGB_SNORM #x8f92) (define-constant GL_RGBA_SNORM #x8f93) (define-constant GL_R8_SNORM #x8f94) (define-constant GL_RG8_SNORM #x8f95) (define-constant GL_RGB8_SNORM #x8f96) (define-constant GL_RGBA8_SNORM #x8f97) (define-constant GL_R16_SNORM #x8f98) (define-constant GL_RG16_SNORM #x8f99) (define-constant GL_RGB16_SNORM #x8f9a) (define-constant GL_RGBA16_SNORM #x8f9b) (define-constant GL_SIGNED_NORMALIZED #x8f9c) (define-constant GL_PRIMITIVE_RESTART #x8f9d) (define-constant GL_PRIMITIVE_RESTART_INDEX #x8f9e) (define-constant GL_CONTEXT_CORE_PROFILE_BIT #x0001) (define-constant GL_CONTEXT_COMPATIBILITY_PROFILE_BIT #x0002) (define-constant GL_LINES_ADJACENCY #x000a) (define-constant GL_LINE_STRIP_ADJACENCY #x000b) (define-constant GL_TRIANGLES_ADJACENCY #x000c) (define-constant GL_TRIANGLE_STRIP_ADJACENCY #x000d) (define-constant GL_PROGRAM_POINT_SIZE #x8642) (define-constant GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS #x8c29) (define-constant GL_FRAMEBUFFER_ATTACHMENT_LAYERED #x8da7) (define-constant GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS #x8da8) (define-constant GL_GEOMETRY_SHADER #x8dd9) (define-constant GL_GEOMETRY_VERTICES_OUT #x8916) (define-constant GL_GEOMETRY_INPUT_TYPE #x8917) (define-constant GL_GEOMETRY_OUTPUT_TYPE #x8918) (define-constant GL_MAX_GEOMETRY_UNIFORM_COMPONENTS #x8ddf) (define-constant GL_MAX_GEOMETRY_OUTPUT_VERTICES #x8de0) (define-constant GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS #x8de1) (define-constant GL_MAX_VERTEX_OUTPUT_COMPONENTS #x9122) (define-constant GL_MAX_GEOMETRY_INPUT_COMPONENTS #x9123) (define-constant GL_MAX_GEOMETRY_OUTPUT_COMPONENTS #x9124) (define-constant GL_MAX_FRAGMENT_INPUT_COMPONENTS #x9125) (define-constant GL_CONTEXT_PROFILE_MASK #x9126) (define-constant GL_VERTEX_ATTRIB_ARRAY_DIVISOR #x88fe) (define-constant GL_SAMPLE_SHADING #x8c36) (define-constant GL_MIN_SAMPLE_SHADING_VALUE #x8c37) (define-constant GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET #x8e5e) (define-constant GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET #x8e5f) (define-constant GL_TEXTURE_CUBE_MAP_ARRAY #x9009) (define-constant GL_TEXTURE_BINDING_CUBE_MAP_ARRAY #x900a) (define-constant GL_PROXY_TEXTURE_CUBE_MAP_ARRAY #x900b) (define-constant GL_SAMPLER_CUBE_MAP_ARRAY #x900c) (define-constant GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW #x900d) (define-constant GL_INT_SAMPLER_CUBE_MAP_ARRAY #x900e) (define-constant GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY #x900f) (define-constant GL_TEXTURE0_ARB #x84c0) (define-constant GL_TEXTURE1_ARB #x84c1) (define-constant GL_TEXTURE2_ARB #x84c2) (define-constant GL_TEXTURE3_ARB #x84c3) (define-constant GL_TEXTURE4_ARB #x84c4) (define-constant GL_TEXTURE5_ARB #x84c5) (define-constant GL_TEXTURE6_ARB #x84c6) (define-constant GL_TEXTURE7_ARB #x84c7) (define-constant GL_TEXTURE8_ARB #x84c8) (define-constant GL_TEXTURE9_ARB #x84c9) (define-constant GL_TEXTURE10_ARB #x84ca) (define-constant GL_TEXTURE11_ARB #x84cb) (define-constant GL_TEXTURE12_ARB #x84cc) (define-constant GL_TEXTURE13_ARB #x84cd) (define-constant GL_TEXTURE14_ARB #x84ce) (define-constant GL_TEXTURE15_ARB #x84cf) (define-constant GL_TEXTURE16_ARB #x84d0) (define-constant GL_TEXTURE17_ARB #x84d1) (define-constant GL_TEXTURE18_ARB #x84d2) (define-constant GL_TEXTURE19_ARB #x84d3) (define-constant GL_TEXTURE20_ARB #x84d4) (define-constant GL_TEXTURE21_ARB #x84d5) (define-constant GL_TEXTURE22_ARB #x84d6) (define-constant GL_TEXTURE23_ARB #x84d7) (define-constant GL_TEXTURE24_ARB #x84d8) (define-constant GL_TEXTURE25_ARB #x84d9) (define-constant GL_TEXTURE26_ARB #x84da) (define-constant GL_TEXTURE27_ARB #x84db) (define-constant GL_TEXTURE28_ARB #x84dc) (define-constant GL_TEXTURE29_ARB #x84dd) (define-constant GL_TEXTURE30_ARB #x84de) (define-constant GL_TEXTURE31_ARB #x84df) (define-constant GL_ACTIVE_TEXTURE_ARB #x84e0) (define-constant GL_CLIENT_ACTIVE_TEXTURE_ARB #x84e1) (define-constant GL_MAX_TEXTURE_UNITS_ARB #x84e2) (define-constant GL_TRANSPOSE_MODELVIEW_MATRIX_ARB #x84e3) (define-constant GL_TRANSPOSE_PROJECTION_MATRIX_ARB #x84e4) (define-constant GL_TRANSPOSE_TEXTURE_MATRIX_ARB #x84e5) (define-constant GL_TRANSPOSE_COLOR_MATRIX_ARB #x84e6) (define-constant GL_MULTISAMPLE_ARB #x809d) (define-constant GL_SAMPLE_ALPHA_TO_COVERAGE_ARB #x809e) (define-constant GL_SAMPLE_ALPHA_TO_ONE_ARB #x809f) (define-constant GL_SAMPLE_COVERAGE_ARB #x80a0) (define-constant GL_SAMPLE_BUFFERS_ARB #x80a8) (define-constant GL_SAMPLES_ARB #x80a9) (define-constant GL_SAMPLE_COVERAGE_VALUE_ARB #x80aa) (define-constant GL_SAMPLE_COVERAGE_INVERT_ARB #x80ab) (define-constant GL_MULTISAMPLE_BIT_ARB #x20000000) (define-constant GL_NORMAL_MAP_ARB #x8511) (define-constant GL_REFLECTION_MAP_ARB #x8512) (define-constant GL_TEXTURE_CUBE_MAP_ARB #x8513) (define-constant GL_TEXTURE_BINDING_CUBE_MAP_ARB #x8514) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB #x8515) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB #x8516) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB #x8517) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB #x8518) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB #x8519) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB #x851a) (define-constant GL_PROXY_TEXTURE_CUBE_MAP_ARB #x851b) (define-constant GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB #x851c) (define-constant GL_COMPRESSED_ALPHA_ARB #x84e9) (define-constant GL_COMPRESSED_LUMINANCE_ARB #x84ea) (define-constant GL_COMPRESSED_LUMINANCE_ALPHA_ARB #x84eb) (define-constant GL_COMPRESSED_INTENSITY_ARB #x84ec) (define-constant GL_COMPRESSED_RGB_ARB #x84ed) (define-constant GL_COMPRESSED_RGBA_ARB #x84ee) (define-constant GL_TEXTURE_COMPRESSION_HINT_ARB #x84ef) (define-constant GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB #x86a0) (define-constant GL_TEXTURE_COMPRESSED_ARB #x86a1) (define-constant GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB #x86a2) (define-constant GL_COMPRESSED_TEXTURE_FORMATS_ARB #x86a3) (define-constant GL_CLAMP_TO_BORDER_ARB #x812d) (define-constant GL_POINT_SIZE_MIN_ARB #x8126) (define-constant GL_POINT_SIZE_MAX_ARB #x8127) (define-constant GL_POINT_FADE_THRESHOLD_SIZE_ARB #x8128) (define-constant GL_POINT_DISTANCE_ATTENUATION_ARB #x8129) (define-constant GL_MAX_VERTEX_UNITS_ARB #x86a4) (define-constant GL_ACTIVE_VERTEX_UNITS_ARB #x86a5) (define-constant GL_WEIGHT_SUM_UNITY_ARB #x86a6) (define-constant GL_VERTEX_BLEND_ARB #x86a7) (define-constant GL_CURRENT_WEIGHT_ARB #x86a8) (define-constant GL_WEIGHT_ARRAY_TYPE_ARB #x86a9) (define-constant GL_WEIGHT_ARRAY_STRIDE_ARB #x86aa) (define-constant GL_WEIGHT_ARRAY_SIZE_ARB #x86ab) (define-constant GL_WEIGHT_ARRAY_POINTER_ARB #x86ac) (define-constant GL_WEIGHT_ARRAY_ARB #x86ad) (define-constant GL_MODELVIEW0_ARB #x1700) (define-constant GL_MODELVIEW1_ARB #x850a) (define-constant GL_MODELVIEW2_ARB #x8722) (define-constant GL_MODELVIEW3_ARB #x8723) (define-constant GL_MODELVIEW4_ARB #x8724) (define-constant GL_MODELVIEW5_ARB #x8725) (define-constant GL_MODELVIEW6_ARB #x8726) (define-constant GL_MODELVIEW7_ARB #x8727) (define-constant GL_MODELVIEW8_ARB #x8728) (define-constant GL_MODELVIEW9_ARB #x8729) (define-constant GL_MODELVIEW10_ARB #x872a) (define-constant GL_MODELVIEW11_ARB #x872b) (define-constant GL_MODELVIEW12_ARB #x872c) (define-constant GL_MODELVIEW13_ARB #x872d) (define-constant GL_MODELVIEW14_ARB #x872e) (define-constant GL_MODELVIEW15_ARB #x872f) (define-constant GL_MODELVIEW16_ARB #x8730) (define-constant GL_MODELVIEW17_ARB #x8731) (define-constant GL_MODELVIEW18_ARB #x8732) (define-constant GL_MODELVIEW19_ARB #x8733) (define-constant GL_MODELVIEW20_ARB #x8734) (define-constant GL_MODELVIEW21_ARB #x8735) (define-constant GL_MODELVIEW22_ARB #x8736) (define-constant GL_MODELVIEW23_ARB #x8737) (define-constant GL_MODELVIEW24_ARB #x8738) (define-constant GL_MODELVIEW25_ARB #x8739) (define-constant GL_MODELVIEW26_ARB #x873a) (define-constant GL_MODELVIEW27_ARB #x873b) (define-constant GL_MODELVIEW28_ARB #x873c) (define-constant GL_MODELVIEW29_ARB #x873d) (define-constant GL_MODELVIEW30_ARB #x873e) (define-constant GL_MODELVIEW31_ARB #x873f) (define-constant GL_MATRIX_PALETTE_ARB #x8840) (define-constant GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB #x8841) (define-constant GL_MAX_PALETTE_MATRICES_ARB #x8842) (define-constant GL_CURRENT_PALETTE_MATRIX_ARB #x8843) (define-constant GL_MATRIX_INDEX_ARRAY_ARB #x8844) (define-constant GL_CURRENT_MATRIX_INDEX_ARB #x8845) (define-constant GL_MATRIX_INDEX_ARRAY_SIZE_ARB #x8846) (define-constant GL_MATRIX_INDEX_ARRAY_TYPE_ARB #x8847) (define-constant GL_MATRIX_INDEX_ARRAY_STRIDE_ARB #x8848) (define-constant GL_MATRIX_INDEX_ARRAY_POINTER_ARB #x8849) (define-constant GL_COMBINE_ARB #x8570) (define-constant GL_COMBINE_RGB_ARB #x8571) (define-constant GL_COMBINE_ALPHA_ARB #x8572) (define-constant GL_SOURCE0_RGB_ARB #x8580) (define-constant GL_SOURCE1_RGB_ARB #x8581) (define-constant GL_SOURCE2_RGB_ARB #x8582) (define-constant GL_SOURCE0_ALPHA_ARB #x8588) (define-constant GL_SOURCE1_ALPHA_ARB #x8589) (define-constant GL_SOURCE2_ALPHA_ARB #x858a) (define-constant GL_OPERAND0_RGB_ARB #x8590) (define-constant GL_OPERAND1_RGB_ARB #x8591) (define-constant GL_OPERAND2_RGB_ARB #x8592) (define-constant GL_OPERAND0_ALPHA_ARB #x8598) (define-constant GL_OPERAND1_ALPHA_ARB #x8599) (define-constant GL_OPERAND2_ALPHA_ARB #x859a) (define-constant GL_RGB_SCALE_ARB #x8573) (define-constant GL_ADD_SIGNED_ARB #x8574) (define-constant GL_INTERPOLATE_ARB #x8575) (define-constant GL_SUBTRACT_ARB #x84e7) (define-constant GL_CONSTANT_ARB #x8576) (define-constant GL_PRIMARY_COLOR_ARB #x8577) (define-constant GL_PREVIOUS_ARB #x8578) (define-constant GL_DOT3_RGB_ARB #x86ae) (define-constant GL_DOT3_RGBA_ARB #x86af) (define-constant GL_MIRRORED_REPEAT_ARB #x8370) (define-constant GL_DEPTH_COMPONENT16_ARB #x81a5) (define-constant GL_DEPTH_COMPONENT24_ARB #x81a6) (define-constant GL_DEPTH_COMPONENT32_ARB #x81a7) (define-constant GL_TEXTURE_DEPTH_SIZE_ARB #x884a) (define-constant GL_DEPTH_TEXTURE_MODE_ARB #x884b) (define-constant GL_TEXTURE_COMPARE_MODE_ARB #x884c) (define-constant GL_TEXTURE_COMPARE_FUNC_ARB #x884d) (define-constant GL_COMPARE_R_TO_TEXTURE_ARB #x884e) (define-constant GL_TEXTURE_COMPARE_FAIL_VALUE_ARB #x80bf) (define-constant GL_COLOR_SUM_ARB #x8458) (define-constant GL_VERTEX_PROGRAM_ARB #x8620) (define-constant GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB #x8622) (define-constant GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB #x8623) (define-constant GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB #x8624) (define-constant GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB #x8625) (define-constant GL_CURRENT_VERTEX_ATTRIB_ARB #x8626) (define-constant GL_PROGRAM_LENGTH_ARB #x8627) (define-constant GL_PROGRAM_STRING_ARB #x8628) (define-constant GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB #x862e) (define-constant GL_MAX_PROGRAM_MATRICES_ARB #x862f) (define-constant GL_CURRENT_MATRIX_STACK_DEPTH_ARB #x8640) (define-constant GL_CURRENT_MATRIX_ARB #x8641) (define-constant GL_VERTEX_PROGRAM_POINT_SIZE_ARB #x8642) (define-constant GL_VERTEX_PROGRAM_TWO_SIDE_ARB #x8643) (define-constant GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB #x8645) (define-constant GL_PROGRAM_ERROR_POSITION_ARB #x864b) (define-constant GL_PROGRAM_BINDING_ARB #x8677) (define-constant GL_MAX_VERTEX_ATTRIBS_ARB #x8869) (define-constant GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB #x886a) (define-constant GL_PROGRAM_ERROR_STRING_ARB #x8874) (define-constant GL_PROGRAM_FORMAT_ASCII_ARB #x8875) (define-constant GL_PROGRAM_FORMAT_ARB #x8876) (define-constant GL_PROGRAM_INSTRUCTIONS_ARB #x88a0) (define-constant GL_MAX_PROGRAM_INSTRUCTIONS_ARB #x88a1) (define-constant GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB #x88a2) (define-constant GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB #x88a3) (define-constant GL_PROGRAM_TEMPORARIES_ARB #x88a4) (define-constant GL_MAX_PROGRAM_TEMPORARIES_ARB #x88a5) (define-constant GL_PROGRAM_NATIVE_TEMPORARIES_ARB #x88a6) (define-constant GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB #x88a7) (define-constant GL_PROGRAM_PARAMETERS_ARB #x88a8) (define-constant GL_MAX_PROGRAM_PARAMETERS_ARB #x88a9) (define-constant GL_PROGRAM_NATIVE_PARAMETERS_ARB #x88aa) (define-constant GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB #x88ab) (define-constant GL_PROGRAM_ATTRIBS_ARB #x88ac) (define-constant GL_MAX_PROGRAM_ATTRIBS_ARB #x88ad) (define-constant GL_PROGRAM_NATIVE_ATTRIBS_ARB #x88ae) (define-constant GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB #x88af) (define-constant GL_PROGRAM_ADDRESS_REGISTERS_ARB #x88b0) (define-constant GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB #x88b1) (define-constant GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB #x88b2) (define-constant GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB #x88b3) (define-constant GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB #x88b4) (define-constant GL_MAX_PROGRAM_ENV_PARAMETERS_ARB #x88b5) (define-constant GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB #x88b6) (define-constant GL_TRANSPOSE_CURRENT_MATRIX_ARB #x88b7) (define-constant GL_MATRIX0_ARB #x88c0) (define-constant GL_MATRIX1_ARB #x88c1) (define-constant GL_MATRIX2_ARB #x88c2) (define-constant GL_MATRIX3_ARB #x88c3) (define-constant GL_MATRIX4_ARB #x88c4) (define-constant GL_MATRIX5_ARB #x88c5) (define-constant GL_MATRIX6_ARB #x88c6) (define-constant GL_MATRIX7_ARB #x88c7) (define-constant GL_MATRIX8_ARB #x88c8) (define-constant GL_MATRIX9_ARB #x88c9) (define-constant GL_MATRIX10_ARB #x88ca) (define-constant GL_MATRIX11_ARB #x88cb) (define-constant GL_MATRIX12_ARB #x88cc) (define-constant GL_MATRIX13_ARB #x88cd) (define-constant GL_MATRIX14_ARB #x88ce) (define-constant GL_MATRIX15_ARB #x88cf) (define-constant GL_MATRIX16_ARB #x88d0) (define-constant GL_MATRIX17_ARB #x88d1) (define-constant GL_MATRIX18_ARB #x88d2) (define-constant GL_MATRIX19_ARB #x88d3) (define-constant GL_MATRIX20_ARB #x88d4) (define-constant GL_MATRIX21_ARB #x88d5) (define-constant GL_MATRIX22_ARB #x88d6) (define-constant GL_MATRIX23_ARB #x88d7) (define-constant GL_MATRIX24_ARB #x88d8) (define-constant GL_MATRIX25_ARB #x88d9) (define-constant GL_MATRIX26_ARB #x88da) (define-constant GL_MATRIX27_ARB #x88db) (define-constant GL_MATRIX28_ARB #x88dc) (define-constant GL_MATRIX29_ARB #x88dd) (define-constant GL_MATRIX30_ARB #x88de) (define-constant GL_MATRIX31_ARB #x88df) (define-constant GL_FRAGMENT_PROGRAM_ARB #x8804) (define-constant GL_PROGRAM_ALU_INSTRUCTIONS_ARB #x8805) (define-constant GL_PROGRAM_TEX_INSTRUCTIONS_ARB #x8806) (define-constant GL_PROGRAM_TEX_INDIRECTIONS_ARB #x8807) (define-constant GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB #x8808) (define-constant GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB #x8809) (define-constant GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB #x880a) (define-constant GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB #x880b) (define-constant GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB #x880c) (define-constant GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB #x880d) (define-constant GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB #x880e) (define-constant GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB #x880f) (define-constant GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB #x8810) (define-constant GL_MAX_TEXTURE_COORDS_ARB #x8871) (define-constant GL_MAX_TEXTURE_IMAGE_UNITS_ARB #x8872) (define-constant GL_BUFFER_SIZE_ARB #x8764) (define-constant GL_BUFFER_USAGE_ARB #x8765) (define-constant GL_ARRAY_BUFFER_ARB #x8892) (define-constant GL_ELEMENT_ARRAY_BUFFER_ARB #x8893) (define-constant GL_ARRAY_BUFFER_BINDING_ARB #x8894) (define-constant GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB #x8895) (define-constant GL_VERTEX_ARRAY_BUFFER_BINDING_ARB #x8896) (define-constant GL_NORMAL_ARRAY_BUFFER_BINDING_ARB #x8897) (define-constant GL_COLOR_ARRAY_BUFFER_BINDING_ARB #x8898) (define-constant GL_INDEX_ARRAY_BUFFER_BINDING_ARB #x8899) (define-constant GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB #x889a) (define-constant GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB #x889b) (define-constant GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB #x889c) (define-constant GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB #x889d) (define-constant GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB #x889e) (define-constant GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB #x889f) (define-constant GL_READ_ONLY_ARB #x88b8) (define-constant GL_WRITE_ONLY_ARB #x88b9) (define-constant GL_READ_WRITE_ARB #x88ba) (define-constant GL_BUFFER_ACCESS_ARB #x88bb) (define-constant GL_BUFFER_MAPPED_ARB #x88bc) (define-constant GL_BUFFER_MAP_POINTER_ARB #x88bd) (define-constant GL_STREAM_DRAW_ARB #x88e0) (define-constant GL_STREAM_READ_ARB #x88e1) (define-constant GL_STREAM_COPY_ARB #x88e2) (define-constant GL_STATIC_DRAW_ARB #x88e4) (define-constant GL_STATIC_READ_ARB #x88e5) (define-constant GL_STATIC_COPY_ARB #x88e6) (define-constant GL_DYNAMIC_DRAW_ARB #x88e8) (define-constant GL_DYNAMIC_READ_ARB #x88e9) (define-constant GL_DYNAMIC_COPY_ARB #x88ea) (define-constant GL_QUERY_COUNTER_BITS_ARB #x8864) (define-constant GL_CURRENT_QUERY_ARB #x8865) (define-constant GL_QUERY_RESULT_ARB #x8866) (define-constant GL_QUERY_RESULT_AVAILABLE_ARB #x8867) (define-constant GL_SAMPLES_PASSED_ARB #x8914) (define-constant GL_PROGRAM_OBJECT_ARB #x8b40) (define-constant GL_SHADER_OBJECT_ARB #x8b48) (define-constant GL_OBJECT_TYPE_ARB #x8b4e) (define-constant GL_OBJECT_SUBTYPE_ARB #x8b4f) (define-constant GL_FLOAT_VEC2_ARB #x8b50) (define-constant GL_FLOAT_VEC3_ARB #x8b51) (define-constant GL_FLOAT_VEC4_ARB #x8b52) (define-constant GL_INT_VEC2_ARB #x8b53) (define-constant GL_INT_VEC3_ARB #x8b54) (define-constant GL_INT_VEC4_ARB #x8b55) (define-constant GL_BOOL_ARB #x8b56) (define-constant GL_BOOL_VEC2_ARB #x8b57) (define-constant GL_BOOL_VEC3_ARB #x8b58) (define-constant GL_BOOL_VEC4_ARB #x8b59) (define-constant GL_FLOAT_MAT2_ARB #x8b5a) (define-constant GL_FLOAT_MAT3_ARB #x8b5b) (define-constant GL_FLOAT_MAT4_ARB #x8b5c) (define-constant GL_SAMPLER_1D_ARB #x8b5d) (define-constant GL_SAMPLER_2D_ARB #x8b5e) (define-constant GL_SAMPLER_3D_ARB #x8b5f) (define-constant GL_SAMPLER_CUBE_ARB #x8b60) (define-constant GL_SAMPLER_1D_SHADOW_ARB #x8b61) (define-constant GL_SAMPLER_2D_SHADOW_ARB #x8b62) (define-constant GL_SAMPLER_2D_RECT_ARB #x8b63) (define-constant GL_SAMPLER_2D_RECT_SHADOW_ARB #x8b64) (define-constant GL_OBJECT_DELETE_STATUS_ARB #x8b80) (define-constant GL_OBJECT_COMPILE_STATUS_ARB #x8b81) (define-constant GL_OBJECT_LINK_STATUS_ARB #x8b82) (define-constant GL_OBJECT_VALIDATE_STATUS_ARB #x8b83) (define-constant GL_OBJECT_INFO_LOG_LENGTH_ARB #x8b84) (define-constant GL_OBJECT_ATTACHED_OBJECTS_ARB #x8b85) (define-constant GL_OBJECT_ACTIVE_UNIFORMS_ARB #x8b86) (define-constant GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB #x8b87) (define-constant GL_OBJECT_SHADER_SOURCE_LENGTH_ARB #x8b88) (define-constant GL_VERTEX_SHADER_ARB #x8b31) (define-constant GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB #x8b4a) (define-constant GL_MAX_VARYING_FLOATS_ARB #x8b4b) (define-constant GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB #x8b4c) (define-constant GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB #x8b4d) (define-constant GL_OBJECT_ACTIVE_ATTRIBUTES_ARB #x8b89) (define-constant GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB #x8b8a) (define-constant GL_FRAGMENT_SHADER_ARB #x8b30) (define-constant GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB #x8b49) (define-constant GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB #x8b8b) (define-constant GL_SHADING_LANGUAGE_VERSION_ARB #x8b8c) (define-constant GL_POINT_SPRITE_ARB #x8861) (define-constant GL_COORD_REPLACE_ARB #x8862) (define-constant GL_MAX_DRAW_BUFFERS_ARB #x8824) (define-constant GL_DRAW_BUFFER0_ARB #x8825) (define-constant GL_DRAW_BUFFER1_ARB #x8826) (define-constant GL_DRAW_BUFFER2_ARB #x8827) (define-constant GL_DRAW_BUFFER3_ARB #x8828) (define-constant GL_DRAW_BUFFER4_ARB #x8829) (define-constant GL_DRAW_BUFFER5_ARB #x882a) (define-constant GL_DRAW_BUFFER6_ARB #x882b) (define-constant GL_DRAW_BUFFER7_ARB #x882c) (define-constant GL_DRAW_BUFFER8_ARB #x882d) (define-constant GL_DRAW_BUFFER9_ARB #x882e) (define-constant GL_DRAW_BUFFER10_ARB #x882f) (define-constant GL_DRAW_BUFFER11_ARB #x8830) (define-constant GL_DRAW_BUFFER12_ARB #x8831) (define-constant GL_DRAW_BUFFER13_ARB #x8832) (define-constant GL_DRAW_BUFFER14_ARB #x8833) (define-constant GL_DRAW_BUFFER15_ARB #x8834) (define-constant GL_TEXTURE_RECTANGLE_ARB #x84f5) (define-constant GL_TEXTURE_BINDING_RECTANGLE_ARB #x84f6) (define-constant GL_PROXY_TEXTURE_RECTANGLE_ARB #x84f7) (define-constant GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB #x84f8) (define-constant GL_RGBA_FLOAT_MODE_ARB #x8820) (define-constant GL_CLAMP_VERTEX_COLOR_ARB #x891a) (define-constant GL_CLAMP_FRAGMENT_COLOR_ARB #x891b) (define-constant GL_CLAMP_READ_COLOR_ARB #x891c) (define-constant GL_FIXED_ONLY_ARB #x891d) (define-constant GL_HALF_FLOAT_ARB #x140b) (define-constant GL_TEXTURE_RED_TYPE_ARB #x8c10) (define-constant GL_TEXTURE_GREEN_TYPE_ARB #x8c11) (define-constant GL_TEXTURE_BLUE_TYPE_ARB #x8c12) (define-constant GL_TEXTURE_ALPHA_TYPE_ARB #x8c13) (define-constant GL_TEXTURE_LUMINANCE_TYPE_ARB #x8c14) (define-constant GL_TEXTURE_INTENSITY_TYPE_ARB #x8c15) (define-constant GL_TEXTURE_DEPTH_TYPE_ARB #x8c16) (define-constant GL_UNSIGNED_NORMALIZED_ARB #x8c17) (define-constant GL_RGBA32F_ARB #x8814) (define-constant GL_RGB32F_ARB #x8815) (define-constant GL_ALPHA32F_ARB #x8816) (define-constant GL_INTENSITY32F_ARB #x8817) (define-constant GL_LUMINANCE32F_ARB #x8818) (define-constant GL_LUMINANCE_ALPHA32F_ARB #x8819) (define-constant GL_RGBA16F_ARB #x881a) (define-constant GL_RGB16F_ARB #x881b) (define-constant GL_ALPHA16F_ARB #x881c) (define-constant GL_INTENSITY16F_ARB #x881d) (define-constant GL_LUMINANCE16F_ARB #x881e) (define-constant GL_LUMINANCE_ALPHA16F_ARB #x881f) (define-constant GL_PIXEL_PACK_BUFFER_ARB #x88eb) (define-constant GL_PIXEL_UNPACK_BUFFER_ARB #x88ec) (define-constant GL_PIXEL_PACK_BUFFER_BINDING_ARB #x88ed) (define-constant GL_PIXEL_UNPACK_BUFFER_BINDING_ARB #x88ef) (define-constant GL_DEPTH_COMPONENT32F #x8cac) (define-constant GL_DEPTH32F_STENCIL8 #x8cad) (define-constant GL_FLOAT_32_UNSIGNED_INT_24_8_REV #x8dad) (define-constant GL_INVALID_FRAMEBUFFER_OPERATION #x0506) (define-constant GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING #x8210) (define-constant GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE #x8211) (define-constant GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE #x8212) (define-constant GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE #x8213) (define-constant GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE #x8214) (define-constant GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE #x8215) (define-constant GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE #x8216) (define-constant GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE #x8217) (define-constant GL_FRAMEBUFFER_DEFAULT #x8218) (define-constant GL_FRAMEBUFFER_UNDEFINED #x8219) (define-constant GL_DEPTH_STENCIL_ATTACHMENT #x821a) (define-constant GL_MAX_RENDERBUFFER_SIZE #x84e8) (define-constant GL_DEPTH_STENCIL #x84f9) (define-constant GL_UNSIGNED_INT_24_8 #x84fa) (define-constant GL_DEPTH24_STENCIL8 #x88f0) (define-constant GL_TEXTURE_STENCIL_SIZE #x88f1) (define-constant GL_TEXTURE_RED_TYPE #x8c10) (define-constant GL_TEXTURE_GREEN_TYPE #x8c11) (define-constant GL_TEXTURE_BLUE_TYPE #x8c12) (define-constant GL_TEXTURE_ALPHA_TYPE #x8c13) (define-constant GL_TEXTURE_DEPTH_TYPE #x8c16) (define-constant GL_UNSIGNED_NORMALIZED #x8c17) (define-constant GL_FRAMEBUFFER_BINDING #x8ca6) (define-constant GL_DRAW_FRAMEBUFFER_BINDING #x8ca6) (define-constant GL_RENDERBUFFER_BINDING #x8ca7) (define-constant GL_READ_FRAMEBUFFER #x8ca8) (define-constant GL_DRAW_FRAMEBUFFER #x8ca9) (define-constant GL_READ_FRAMEBUFFER_BINDING #x8caa) (define-constant GL_RENDERBUFFER_SAMPLES #x8cab) (define-constant GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE #x8cd0) (define-constant GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME #x8cd1) (define-constant GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL #x8cd2) (define-constant GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE #x8cd3) (define-constant GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER #x8cd4) (define-constant GL_FRAMEBUFFER_COMPLETE #x8cd5) (define-constant GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT #x8cd6) (define-constant GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT #x8cd7) (define-constant GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER #x8cdb) (define-constant GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER #x8cdc) (define-constant GL_FRAMEBUFFER_UNSUPPORTED #x8cdd) (define-constant GL_MAX_COLOR_ATTACHMENTS #x8cdf) (define-constant GL_COLOR_ATTACHMENT0 #x8ce0) (define-constant GL_COLOR_ATTACHMENT1 #x8ce1) (define-constant GL_COLOR_ATTACHMENT2 #x8ce2) (define-constant GL_COLOR_ATTACHMENT3 #x8ce3) (define-constant GL_COLOR_ATTACHMENT4 #x8ce4) (define-constant GL_COLOR_ATTACHMENT5 #x8ce5) (define-constant GL_COLOR_ATTACHMENT6 #x8ce6) (define-constant GL_COLOR_ATTACHMENT7 #x8ce7) (define-constant GL_COLOR_ATTACHMENT8 #x8ce8) (define-constant GL_COLOR_ATTACHMENT9 #x8ce9) (define-constant GL_COLOR_ATTACHMENT10 #x8cea) (define-constant GL_COLOR_ATTACHMENT11 #x8ceb) (define-constant GL_COLOR_ATTACHMENT12 #x8cec) (define-constant GL_COLOR_ATTACHMENT13 #x8ced) (define-constant GL_COLOR_ATTACHMENT14 #x8cee) (define-constant GL_COLOR_ATTACHMENT15 #x8cef) (define-constant GL_DEPTH_ATTACHMENT #x8d00) (define-constant GL_STENCIL_ATTACHMENT #x8d20) (define-constant GL_FRAMEBUFFER #x8d40) (define-constant GL_RENDERBUFFER #x8d41) (define-constant GL_RENDERBUFFER_WIDTH #x8d42) (define-constant GL_RENDERBUFFER_HEIGHT #x8d43) (define-constant GL_RENDERBUFFER_INTERNAL_FORMAT #x8d44) (define-constant GL_STENCIL_INDEX1 #x8d46) (define-constant GL_STENCIL_INDEX4 #x8d47) (define-constant GL_STENCIL_INDEX8 #x8d48) (define-constant GL_STENCIL_INDEX16 #x8d49) (define-constant GL_RENDERBUFFER_RED_SIZE #x8d50) (define-constant GL_RENDERBUFFER_GREEN_SIZE #x8d51) (define-constant GL_RENDERBUFFER_BLUE_SIZE #x8d52) (define-constant GL_RENDERBUFFER_ALPHA_SIZE #x8d53) (define-constant GL_RENDERBUFFER_DEPTH_SIZE #x8d54) (define-constant GL_RENDERBUFFER_STENCIL_SIZE #x8d55) (define-constant GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE #x8d56) (define-constant GL_MAX_SAMPLES #x8d57) (define-constant GL_INDEX #x8222) (define-constant GL_TEXTURE_LUMINANCE_TYPE #x8c14) (define-constant GL_TEXTURE_INTENSITY_TYPE #x8c15) (define-constant GL_FRAMEBUFFER_SRGB #x8db9) (define-constant GL_LINES_ADJACENCY_ARB #x000a) (define-constant GL_LINE_STRIP_ADJACENCY_ARB #x000b) (define-constant GL_TRIANGLES_ADJACENCY_ARB #x000c) (define-constant GL_TRIANGLE_STRIP_ADJACENCY_ARB #x000d) (define-constant GL_PROGRAM_POINT_SIZE_ARB #x8642) (define-constant GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB #x8c29) (define-constant GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB #x8da7) (define-constant GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB #x8da8) (define-constant GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB #x8da9) (define-constant GL_GEOMETRY_SHADER_ARB #x8dd9) (define-constant GL_GEOMETRY_VERTICES_OUT_ARB #x8dda) (define-constant GL_GEOMETRY_INPUT_TYPE_ARB #x8ddb) (define-constant GL_GEOMETRY_OUTPUT_TYPE_ARB #x8ddc) (define-constant GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB #x8ddd) (define-constant GL_MAX_VERTEX_VARYING_COMPONENTS_ARB #x8dde) (define-constant GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB #x8ddf) (define-constant GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB #x8de0) (define-constant GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB #x8de1) (define-constant GL_HALF_FLOAT #x140b) (define-constant GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB #x88fe) (define-constant GL_MAP_READ_BIT #x0001) (define-constant GL_MAP_WRITE_BIT #x0002) (define-constant GL_MAP_INVALIDATE_RANGE_BIT #x0004) (define-constant GL_MAP_INVALIDATE_BUFFER_BIT #x0008) (define-constant GL_MAP_FLUSH_EXPLICIT_BIT #x0010) (define-constant GL_MAP_UNSYNCHRONIZED_BIT #x0020) (define-constant GL_TEXTURE_BUFFER_ARB #x8c2a) (define-constant GL_MAX_TEXTURE_BUFFER_SIZE_ARB #x8c2b) (define-constant GL_TEXTURE_BINDING_BUFFER_ARB #x8c2c) (define-constant GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB #x8c2d) (define-constant GL_TEXTURE_BUFFER_FORMAT_ARB #x8c2e) (define-constant GL_COMPRESSED_RED_RGTC1 #x8dbb) (define-constant GL_COMPRESSED_SIGNED_RED_RGTC1 #x8dbc) (define-constant GL_COMPRESSED_RG_RGTC2 #x8dbd) (define-constant GL_COMPRESSED_SIGNED_RG_RGTC2 #x8dbe) (define-constant GL_RG #x8227) (define-constant GL_RG_INTEGER #x8228) (define-constant GL_R8 #x8229) (define-constant GL_R16 #x822a) (define-constant GL_RG8 #x822b) (define-constant GL_RG16 #x822c) (define-constant GL_R16F #x822d) (define-constant GL_R32F #x822e) (define-constant GL_RG16F #x822f) (define-constant GL_RG32F #x8230) (define-constant GL_R8I #x8231) (define-constant GL_R8UI #x8232) (define-constant GL_R16I #x8233) (define-constant GL_R16UI #x8234) (define-constant GL_R32I #x8235) (define-constant GL_R32UI #x8236) (define-constant GL_RG8I #x8237) (define-constant GL_RG8UI #x8238) (define-constant GL_RG16I #x8239) (define-constant GL_RG16UI #x823a) (define-constant GL_RG32I #x823b) (define-constant GL_RG32UI #x823c) (define-constant GL_VERTEX_ARRAY_BINDING #x85b5) (define-constant GL_UNIFORM_BUFFER #x8a11) (define-constant GL_UNIFORM_BUFFER_BINDING #x8a28) (define-constant GL_UNIFORM_BUFFER_START #x8a29) (define-constant GL_UNIFORM_BUFFER_SIZE #x8a2a) (define-constant GL_MAX_VERTEX_UNIFORM_BLOCKS #x8a2b) (define-constant GL_MAX_GEOMETRY_UNIFORM_BLOCKS #x8a2c) (define-constant GL_MAX_FRAGMENT_UNIFORM_BLOCKS #x8a2d) (define-constant GL_MAX_COMBINED_UNIFORM_BLOCKS #x8a2e) (define-constant GL_MAX_UNIFORM_BUFFER_BINDINGS #x8a2f) (define-constant GL_MAX_UNIFORM_BLOCK_SIZE #x8a30) (define-constant GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS #x8a31) (define-constant GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS #x8a32) (define-constant GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS #x8a33) (define-constant GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT #x8a34) (define-constant GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH #x8a35) (define-constant GL_ACTIVE_UNIFORM_BLOCKS #x8a36) (define-constant GL_UNIFORM_TYPE #x8a37) (define-constant GL_UNIFORM_SIZE #x8a38) (define-constant GL_UNIFORM_NAME_LENGTH #x8a39) (define-constant GL_UNIFORM_BLOCK_INDEX #x8a3a) (define-constant GL_UNIFORM_OFFSET #x8a3b) (define-constant GL_UNIFORM_ARRAY_STRIDE #x8a3c) (define-constant GL_UNIFORM_MATRIX_STRIDE #x8a3d) (define-constant GL_UNIFORM_IS_ROW_MAJOR #x8a3e) (define-constant GL_UNIFORM_BLOCK_BINDING #x8a3f) (define-constant GL_UNIFORM_BLOCK_DATA_SIZE #x8a40) (define-constant GL_UNIFORM_BLOCK_NAME_LENGTH #x8a41) (define-constant GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS #x8a42) (define-constant GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES #x8a43) (define-constant GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER #x8a44) (define-constant GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER #x8a45) (define-constant GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER #x8a46) (define-constant GL_INVALID_INDEX #xffffffff) (define-constant GL_COPY_READ_BUFFER #x8f36) (define-constant GL_COPY_WRITE_BUFFER #x8f37) (define-constant GL_DEPTH_CLAMP #x864f) (define-constant GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION #x8e4c) (define-constant GL_FIRST_VERTEX_CONVENTION #x8e4d) (define-constant GL_LAST_VERTEX_CONVENTION #x8e4e) (define-constant GL_PROVOKING_VERTEX #x8e4f) (define-constant GL_TEXTURE_CUBE_MAP_SEAMLESS #x884f) (define-constant GL_MAX_SERVER_WAIT_TIMEOUT #x9111) (define-constant GL_OBJECT_TYPE #x9112) (define-constant GL_SYNC_CONDITION #x9113) (define-constant GL_SYNC_STATUS #x9114) (define-constant GL_SYNC_FLAGS #x9115) (define-constant GL_SYNC_FENCE #x9116) (define-constant GL_SYNC_GPU_COMMANDS_COMPLETE #x9117) (define-constant GL_UNSIGNALED #x9118) (define-constant GL_SIGNALED #x9119) (define-constant GL_ALREADY_SIGNALED #x911a) (define-constant GL_TIMEOUT_EXPIRED #x911b) (define-constant GL_CONDITION_SATISFIED #x911c) (define-constant GL_WAIT_FAILED #x911d) (define-constant GL_SYNC_FLUSH_COMMANDS_BIT #x0001) (define-constant GL_TIMEOUT_IGNORED #xffffffffffffffff) (define-constant GL_SAMPLE_POSITION #x8e50) (define-constant GL_SAMPLE_MASK #x8e51) (define-constant GL_SAMPLE_MASK_VALUE #x8e52) (define-constant GL_MAX_SAMPLE_MASK_WORDS #x8e59) (define-constant GL_TEXTURE_2D_MULTISAMPLE #x9100) (define-constant GL_PROXY_TEXTURE_2D_MULTISAMPLE #x9101) (define-constant GL_TEXTURE_2D_MULTISAMPLE_ARRAY #x9102) (define-constant GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY #x9103) (define-constant GL_TEXTURE_BINDING_2D_MULTISAMPLE #x9104) (define-constant GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY #x9105) (define-constant GL_TEXTURE_SAMPLES #x9106) (define-constant GL_TEXTURE_FIXED_SAMPLE_LOCATIONS #x9107) (define-constant GL_SAMPLER_2D_MULTISAMPLE #x9108) (define-constant GL_INT_SAMPLER_2D_MULTISAMPLE #x9109) (define-constant GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE #x910a) (define-constant GL_SAMPLER_2D_MULTISAMPLE_ARRAY #x910b) (define-constant GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY #x910c) (define-constant GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY #x910d) (define-constant GL_MAX_COLOR_TEXTURE_SAMPLES #x910e) (define-constant GL_MAX_DEPTH_TEXTURE_SAMPLES #x910f) (define-constant GL_MAX_INTEGER_SAMPLES #x9110) (define-constant GL_SAMPLE_SHADING_ARB #x8c36) (define-constant GL_MIN_SAMPLE_SHADING_VALUE_ARB #x8c37) (define-constant GL_TEXTURE_CUBE_MAP_ARRAY_ARB #x9009) (define-constant GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB #x900a) (define-constant GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB #x900b) (define-constant GL_SAMPLER_CUBE_MAP_ARRAY_ARB #x900c) (define-constant GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB #x900d) (define-constant GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB #x900e) (define-constant GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB #x900f) (define-constant GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB #x8e5e) (define-constant GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB #x8e5f) (define-constant GL_SHADER_INCLUDE_ARB #x8dae) (define-constant GL_NAMED_STRING_LENGTH_ARB #x8de9) (define-constant GL_NAMED_STRING_TYPE_ARB #x8dea) (define-constant GL_COMPRESSED_RGBA_BPTC_UNORM_ARB #x8e8c) (define-constant GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB #x8e8d) (define-constant GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB #x8e8e) (define-constant GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB #x8e8f) (define-constant GL_SRC1_COLOR #x88f9) (define-constant GL_ONE_MINUS_SRC1_COLOR #x88fa) (define-constant GL_ONE_MINUS_SRC1_ALPHA #x88fb) (define-constant GL_MAX_DUAL_SOURCE_DRAW_BUFFERS #x88fc) (define-constant GL_ANY_SAMPLES_PASSED #x8c2f) (define-constant GL_SAMPLER_BINDING #x8919) (define-constant GL_RGB10_A2UI #x906f) (define-constant GL_TEXTURE_SWIZZLE_R #x8e42) (define-constant GL_TEXTURE_SWIZZLE_G #x8e43) (define-constant GL_TEXTURE_SWIZZLE_B #x8e44) (define-constant GL_TEXTURE_SWIZZLE_A #x8e45) (define-constant GL_TEXTURE_SWIZZLE_RGBA #x8e46) (define-constant GL_TIME_ELAPSED #x88bf) (define-constant GL_TIMESTAMP #x8e28) (define-constant GL_INT_2_10_10_10_REV #x8d9f) (define-constant GL_DRAW_INDIRECT_BUFFER #x8f3f) (define-constant GL_DRAW_INDIRECT_BUFFER_BINDING #x8f43) (define-constant GL_GEOMETRY_SHADER_INVOCATIONS #x887f) (define-constant GL_MAX_GEOMETRY_SHADER_INVOCATIONS #x8e5a) (define-constant GL_MIN_FRAGMENT_INTERPOLATION_OFFSET #x8e5b) (define-constant GL_MAX_FRAGMENT_INTERPOLATION_OFFSET #x8e5c) (define-constant GL_FRAGMENT_INTERPOLATION_OFFSET_BITS #x8e5d) (define-constant GL_DOUBLE_VEC2 #x8ffc) (define-constant GL_DOUBLE_VEC3 #x8ffd) (define-constant GL_DOUBLE_VEC4 #x8ffe) (define-constant GL_DOUBLE_MAT2 #x8f46) (define-constant GL_DOUBLE_MAT3 #x8f47) (define-constant GL_DOUBLE_MAT4 #x8f48) (define-constant GL_DOUBLE_MAT2x3 #x8f49) (define-constant GL_DOUBLE_MAT2x4 #x8f4a) (define-constant GL_DOUBLE_MAT3x2 #x8f4b) (define-constant GL_DOUBLE_MAT3x4 #x8f4c) (define-constant GL_DOUBLE_MAT4x2 #x8f4d) (define-constant GL_DOUBLE_MAT4x3 #x8f4e) (define-constant GL_ACTIVE_SUBROUTINES #x8de5) (define-constant GL_ACTIVE_SUBROUTINE_UNIFORMS #x8de6) (define-constant GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS #x8e47) (define-constant GL_ACTIVE_SUBROUTINE_MAX_LENGTH #x8e48) (define-constant GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH #x8e49) (define-constant GL_MAX_SUBROUTINES #x8de7) (define-constant GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS #x8de8) (define-constant GL_NUM_COMPATIBLE_SUBROUTINES #x8e4a) (define-constant GL_COMPATIBLE_SUBROUTINES #x8e4b) (define-constant GL_PATCHES #x000e) (define-constant GL_PATCH_VERTICES #x8e72) (define-constant GL_PATCH_DEFAULT_INNER_LEVEL #x8e73) (define-constant GL_PATCH_DEFAULT_OUTER_LEVEL #x8e74) (define-constant GL_TESS_CONTROL_OUTPUT_VERTICES #x8e75) (define-constant GL_TESS_GEN_MODE #x8e76) (define-constant GL_TESS_GEN_SPACING #x8e77) (define-constant GL_TESS_GEN_VERTEX_ORDER #x8e78) (define-constant GL_TESS_GEN_POINT_MODE #x8e79) (define-constant GL_ISOLINES #x8e7a) (define-constant GL_FRACTIONAL_ODD #x8e7b) (define-constant GL_FRACTIONAL_EVEN #x8e7c) (define-constant GL_MAX_PATCH_VERTICES #x8e7d) (define-constant GL_MAX_TESS_GEN_LEVEL #x8e7e) (define-constant GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS #x8e7f) (define-constant GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS #x8e80) (define-constant GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS #x8e81) (define-constant GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS #x8e82) (define-constant GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS #x8e83) (define-constant GL_MAX_TESS_PATCH_COMPONENTS #x8e84) (define-constant GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS #x8e85) (define-constant GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS #x8e86) (define-constant GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS #x8e89) (define-constant GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS #x8e8a) (define-constant GL_MAX_TESS_CONTROL_INPUT_COMPONENTS #x886c) (define-constant GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS #x886d) (define-constant GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS #x8e1e) (define-constant GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS #x8e1f) (define-constant GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER #x84f0) (define-constant GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER #x84f1) (define-constant GL_TESS_EVALUATION_SHADER #x8e87) (define-constant GL_TESS_CONTROL_SHADER #x8e88) (define-constant GL_TRANSFORM_FEEDBACK #x8e22) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED #x8e23) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE #x8e24) (define-constant GL_TRANSFORM_FEEDBACK_BINDING #x8e25) (define-constant GL_MAX_TRANSFORM_FEEDBACK_BUFFERS #x8e70) (define-constant GL_MAX_VERTEX_STREAMS #x8e71) (define-constant GL_FIXED #x140c) (define-constant GL_IMPLEMENTATION_COLOR_READ_TYPE #x8b9a) (define-constant GL_IMPLEMENTATION_COLOR_READ_FORMAT #x8b9b) (define-constant GL_LOW_FLOAT #x8df0) (define-constant GL_MEDIUM_FLOAT #x8df1) (define-constant GL_HIGH_FLOAT #x8df2) (define-constant GL_LOW_INT #x8df3) (define-constant GL_MEDIUM_INT #x8df4) (define-constant GL_HIGH_INT #x8df5) (define-constant GL_SHADER_COMPILER #x8dfa) (define-constant GL_NUM_SHADER_BINARY_FORMATS #x8df9) (define-constant GL_MAX_VERTEX_UNIFORM_VECTORS #x8dfb) (define-constant GL_MAX_VARYING_VECTORS #x8dfc) (define-constant GL_MAX_FRAGMENT_UNIFORM_VECTORS #x8dfd) (define-constant GL_PROGRAM_BINARY_RETRIEVABLE_HINT #x8257) (define-constant GL_PROGRAM_BINARY_LENGTH #x8741) (define-constant GL_NUM_PROGRAM_BINARY_FORMATS #x87fe) (define-constant GL_PROGRAM_BINARY_FORMATS #x87ff) (define-constant GL_VERTEX_SHADER_BIT #x0001) (define-constant GL_FRAGMENT_SHADER_BIT #x0002) (define-constant GL_GEOMETRY_SHADER_BIT #x0004) (define-constant GL_TESS_CONTROL_SHADER_BIT #x0008) (define-constant GL_TESS_EVALUATION_SHADER_BIT #x0010) (define-constant GL_ALL_SHADER_BITS #xffffffff) (define-constant GL_PROGRAM_SEPARABLE #x8258) (define-constant GL_ACTIVE_PROGRAM #x8259) (define-constant GL_PROGRAM_PIPELINE_BINDING #x825a) (define-constant GL_MAX_VIEWPORTS #x825b) (define-constant GL_VIEWPORT_SUBPIXEL_BITS #x825c) (define-constant GL_VIEWPORT_BOUNDS_RANGE #x825d) (define-constant GL_LAYER_PROVOKING_VERTEX #x825e) (define-constant GL_VIEWPORT_INDEX_PROVOKING_VERTEX #x825f) (define-constant GL_UNDEFINED_VERTEX #x8260) (define-constant GL_SYNC_CL_EVENT_ARB #x8240) (define-constant GL_SYNC_CL_EVENT_COMPLETE_ARB #x8241) (define-constant GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB #x8242) (define-constant GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB #x8243) (define-constant GL_DEBUG_CALLBACK_FUNCTION_ARB #x8244) (define-constant GL_DEBUG_CALLBACK_USER_PARAM_ARB #x8245) (define-constant GL_DEBUG_SOURCE_API_ARB #x8246) (define-constant GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB #x8247) (define-constant GL_DEBUG_SOURCE_SHADER_COMPILER_ARB #x8248) (define-constant GL_DEBUG_SOURCE_THIRD_PARTY_ARB #x8249) (define-constant GL_DEBUG_SOURCE_APPLICATION_ARB #x824a) (define-constant GL_DEBUG_SOURCE_OTHER_ARB #x824b) (define-constant GL_DEBUG_TYPE_ERROR_ARB #x824c) (define-constant GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB #x824d) (define-constant GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB #x824e) (define-constant GL_DEBUG_TYPE_PORTABILITY_ARB #x824f) (define-constant GL_DEBUG_TYPE_PERFORMANCE_ARB #x8250) (define-constant GL_DEBUG_TYPE_OTHER_ARB #x8251) (define-constant GL_MAX_DEBUG_MESSAGE_LENGTH_ARB #x9143) (define-constant GL_MAX_DEBUG_LOGGED_MESSAGES_ARB #x9144) (define-constant GL_DEBUG_LOGGED_MESSAGES_ARB #x9145) (define-constant GL_DEBUG_SEVERITY_HIGH_ARB #x9146) (define-constant GL_DEBUG_SEVERITY_MEDIUM_ARB #x9147) (define-constant GL_DEBUG_SEVERITY_LOW_ARB #x9148) (define-constant GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB #x0004) (define-constant GL_LOSE_CONTEXT_ON_RESET_ARB #x8252) (define-constant GL_GUILTY_CONTEXT_RESET_ARB #x8253) (define-constant GL_INNOCENT_CONTEXT_RESET_ARB #x8254) (define-constant GL_UNKNOWN_CONTEXT_RESET_ARB #x8255) (define-constant GL_RESET_NOTIFICATION_STRATEGY_ARB #x8256) (define-constant GL_NO_RESET_NOTIFICATION_ARB #x8261) (define-constant GL_UNPACK_COMPRESSED_BLOCK_WIDTH #x9127) (define-constant GL_UNPACK_COMPRESSED_BLOCK_HEIGHT #x9128) (define-constant GL_UNPACK_COMPRESSED_BLOCK_DEPTH #x9129) (define-constant GL_UNPACK_COMPRESSED_BLOCK_SIZE #x912a) (define-constant GL_PACK_COMPRESSED_BLOCK_WIDTH #x912b) (define-constant GL_PACK_COMPRESSED_BLOCK_HEIGHT #x912c) (define-constant GL_PACK_COMPRESSED_BLOCK_DEPTH #x912d) (define-constant GL_PACK_COMPRESSED_BLOCK_SIZE #x912e) (define-constant GL_NUM_SAMPLE_COUNTS #x9380) (define-constant GL_MIN_MAP_BUFFER_ALIGNMENT #x90bc) (define-constant GL_ATOMIC_COUNTER_BUFFER #x92c0) (define-constant GL_ATOMIC_COUNTER_BUFFER_BINDING #x92c1) (define-constant GL_ATOMIC_COUNTER_BUFFER_START #x92c2) (define-constant GL_ATOMIC_COUNTER_BUFFER_SIZE #x92c3) (define-constant GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE #x92c4) (define-constant GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS #x92c5) (define-constant GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES #x92c6) (define-constant GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER #x92c7) (define-constant GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER #x92c8) (define-constant GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER #x92c9) (define-constant GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER #x92ca) (define-constant GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER #x92cb) (define-constant GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS #x92cc) (define-constant GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS #x92cd) (define-constant GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS #x92ce) (define-constant GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS #x92cf) (define-constant GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS #x92d0) (define-constant GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS #x92d1) (define-constant GL_MAX_VERTEX_ATOMIC_COUNTERS #x92d2) (define-constant GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS #x92d3) (define-constant GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS #x92d4) (define-constant GL_MAX_GEOMETRY_ATOMIC_COUNTERS #x92d5) (define-constant GL_MAX_FRAGMENT_ATOMIC_COUNTERS #x92d6) (define-constant GL_MAX_COMBINED_ATOMIC_COUNTERS #x92d7) (define-constant GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE #x92d8) (define-constant GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS #x92dc) (define-constant GL_ACTIVE_ATOMIC_COUNTER_BUFFERS #x92d9) (define-constant GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX #x92da) (define-constant GL_UNSIGNED_INT_ATOMIC_COUNTER #x92db) (define-constant GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT #x0001) (define-constant GL_ELEMENT_ARRAY_BARRIER_BIT #x0002) (define-constant GL_UNIFORM_BARRIER_BIT #x0004) (define-constant GL_TEXTURE_FETCH_BARRIER_BIT #x0008) (define-constant GL_SHADER_IMAGE_ACCESS_BARRIER_BIT #x0020) (define-constant GL_COMMAND_BARRIER_BIT #x0040) (define-constant GL_PIXEL_BUFFER_BARRIER_BIT #x0080) (define-constant GL_TEXTURE_UPDATE_BARRIER_BIT #x0100) (define-constant GL_BUFFER_UPDATE_BARRIER_BIT #x0200) (define-constant GL_FRAMEBUFFER_BARRIER_BIT #x0400) (define-constant GL_TRANSFORM_FEEDBACK_BARRIER_BIT #x0800) (define-constant GL_ATOMIC_COUNTER_BARRIER_BIT #x1000) (define-constant GL_ALL_BARRIER_BITS #xffffffff) (define-constant GL_MAX_IMAGE_UNITS #x8f38) (define-constant GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS #x8f39) (define-constant GL_IMAGE_BINDING_NAME #x8f3a) (define-constant GL_IMAGE_BINDING_LEVEL #x8f3b) (define-constant GL_IMAGE_BINDING_LAYERED #x8f3c) (define-constant GL_IMAGE_BINDING_LAYER #x8f3d) (define-constant GL_IMAGE_BINDING_ACCESS #x8f3e) (define-constant GL_IMAGE_1D #x904c) (define-constant GL_IMAGE_2D #x904d) (define-constant GL_IMAGE_3D #x904e) (define-constant GL_IMAGE_2D_RECT #x904f) (define-constant GL_IMAGE_CUBE #x9050) (define-constant GL_IMAGE_BUFFER #x9051) (define-constant GL_IMAGE_1D_ARRAY #x9052) (define-constant GL_IMAGE_2D_ARRAY #x9053) (define-constant GL_IMAGE_CUBE_MAP_ARRAY #x9054) (define-constant GL_IMAGE_2D_MULTISAMPLE #x9055) (define-constant GL_IMAGE_2D_MULTISAMPLE_ARRAY #x9056) (define-constant GL_INT_IMAGE_1D #x9057) (define-constant GL_INT_IMAGE_2D #x9058) (define-constant GL_INT_IMAGE_3D #x9059) (define-constant GL_INT_IMAGE_2D_RECT #x905a) (define-constant GL_INT_IMAGE_CUBE #x905b) (define-constant GL_INT_IMAGE_BUFFER #x905c) (define-constant GL_INT_IMAGE_1D_ARRAY #x905d) (define-constant GL_INT_IMAGE_2D_ARRAY #x905e) (define-constant GL_INT_IMAGE_CUBE_MAP_ARRAY #x905f) (define-constant GL_INT_IMAGE_2D_MULTISAMPLE #x9060) (define-constant GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY #x9061) (define-constant GL_UNSIGNED_INT_IMAGE_1D #x9062) (define-constant GL_UNSIGNED_INT_IMAGE_2D #x9063) (define-constant GL_UNSIGNED_INT_IMAGE_3D #x9064) (define-constant GL_UNSIGNED_INT_IMAGE_2D_RECT #x9065) (define-constant GL_UNSIGNED_INT_IMAGE_CUBE #x9066) (define-constant GL_UNSIGNED_INT_IMAGE_BUFFER #x9067) (define-constant GL_UNSIGNED_INT_IMAGE_1D_ARRAY #x9068) (define-constant GL_UNSIGNED_INT_IMAGE_2D_ARRAY #x9069) (define-constant GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY #x906a) (define-constant GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE #x906b) (define-constant GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY #x906c) (define-constant GL_MAX_IMAGE_SAMPLES #x906d) (define-constant GL_IMAGE_BINDING_FORMAT #x906e) (define-constant GL_IMAGE_FORMAT_COMPATIBILITY_TYPE #x90c7) (define-constant GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE #x90c8) (define-constant GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS #x90c9) (define-constant GL_MAX_VERTEX_IMAGE_UNIFORMS #x90ca) (define-constant GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS #x90cb) (define-constant GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS #x90cc) (define-constant GL_MAX_GEOMETRY_IMAGE_UNIFORMS #x90cd) (define-constant GL_MAX_FRAGMENT_IMAGE_UNIFORMS #x90ce) (define-constant GL_MAX_COMBINED_IMAGE_UNIFORMS #x90cf) (define-constant GL_TEXTURE_IMMUTABLE_FORMAT #x912f) (define-constant GL_ABGR_EXT #x8000) (define-constant GL_CONSTANT_COLOR_EXT #x8001) (define-constant GL_ONE_MINUS_CONSTANT_COLOR_EXT #x8002) (define-constant GL_CONSTANT_ALPHA_EXT #x8003) (define-constant GL_ONE_MINUS_CONSTANT_ALPHA_EXT #x8004) (define-constant GL_BLEND_COLOR_EXT #x8005) (define-constant GL_POLYGON_OFFSET_EXT #x8037) (define-constant GL_POLYGON_OFFSET_FACTOR_EXT #x8038) (define-constant GL_POLYGON_OFFSET_BIAS_EXT #x8039) (define-constant GL_ALPHA4_EXT #x803b) (define-constant GL_ALPHA8_EXT #x803c) (define-constant GL_ALPHA12_EXT #x803d) (define-constant GL_ALPHA16_EXT #x803e) (define-constant GL_LUMINANCE4_EXT #x803f) (define-constant GL_LUMINANCE8_EXT #x8040) (define-constant GL_LUMINANCE12_EXT #x8041) (define-constant GL_LUMINANCE16_EXT #x8042) (define-constant GL_LUMINANCE4_ALPHA4_EXT #x8043) (define-constant GL_LUMINANCE6_ALPHA2_EXT #x8044) (define-constant GL_LUMINANCE8_ALPHA8_EXT #x8045) (define-constant GL_LUMINANCE12_ALPHA4_EXT #x8046) (define-constant GL_LUMINANCE12_ALPHA12_EXT #x8047) (define-constant GL_LUMINANCE16_ALPHA16_EXT #x8048) (define-constant GL_INTENSITY_EXT #x8049) (define-constant GL_INTENSITY4_EXT #x804a) (define-constant GL_INTENSITY8_EXT #x804b) (define-constant GL_INTENSITY12_EXT #x804c) (define-constant GL_INTENSITY16_EXT #x804d) (define-constant GL_RGB2_EXT #x804e) (define-constant GL_RGB4_EXT #x804f) (define-constant GL_RGB5_EXT #x8050) (define-constant GL_RGB8_EXT #x8051) (define-constant GL_RGB10_EXT #x8052) (define-constant GL_RGB12_EXT #x8053) (define-constant GL_RGB16_EXT #x8054) (define-constant GL_RGBA2_EXT #x8055) (define-constant GL_RGBA4_EXT #x8056) (define-constant GL_RGB5_A1_EXT #x8057) (define-constant GL_RGBA8_EXT #x8058) (define-constant GL_RGB10_A2_EXT #x8059) (define-constant GL_RGBA12_EXT #x805a) (define-constant GL_RGBA16_EXT #x805b) (define-constant GL_TEXTURE_RED_SIZE_EXT #x805c) (define-constant GL_TEXTURE_GREEN_SIZE_EXT #x805d) (define-constant GL_TEXTURE_BLUE_SIZE_EXT #x805e) (define-constant GL_TEXTURE_ALPHA_SIZE_EXT #x805f) (define-constant GL_TEXTURE_LUMINANCE_SIZE_EXT #x8060) (define-constant GL_TEXTURE_INTENSITY_SIZE_EXT #x8061) (define-constant GL_REPLACE_EXT #x8062) (define-constant GL_PROXY_TEXTURE_1D_EXT #x8063) (define-constant GL_PROXY_TEXTURE_2D_EXT #x8064) (define-constant GL_TEXTURE_TOO_LARGE_EXT #x8065) (define-constant GL_PACK_SKIP_IMAGES_EXT #x806b) (define-constant GL_PACK_IMAGE_HEIGHT_EXT #x806c) (define-constant GL_UNPACK_SKIP_IMAGES_EXT #x806d) (define-constant GL_UNPACK_IMAGE_HEIGHT_EXT #x806e) (define-constant GL_TEXTURE_3D_EXT #x806f) (define-constant GL_PROXY_TEXTURE_3D_EXT #x8070) (define-constant GL_TEXTURE_DEPTH_EXT #x8071) (define-constant GL_TEXTURE_WRAP_R_EXT #x8072) (define-constant GL_MAX_3D_TEXTURE_SIZE_EXT #x8073) (define-constant GL_FILTER4_SGIS #x8146) (define-constant GL_TEXTURE_FILTER4_SIZE_SGIS #x8147) (define-constant GL_HISTOGRAM_EXT #x8024) (define-constant GL_PROXY_HISTOGRAM_EXT #x8025) (define-constant GL_HISTOGRAM_WIDTH_EXT #x8026) (define-constant GL_HISTOGRAM_FORMAT_EXT #x8027) (define-constant GL_HISTOGRAM_RED_SIZE_EXT #x8028) (define-constant GL_HISTOGRAM_GREEN_SIZE_EXT #x8029) (define-constant GL_HISTOGRAM_BLUE_SIZE_EXT #x802a) (define-constant GL_HISTOGRAM_ALPHA_SIZE_EXT #x802b) (define-constant GL_HISTOGRAM_LUMINANCE_SIZE_EXT #x802c) (define-constant GL_HISTOGRAM_SINK_EXT #x802d) (define-constant GL_MINMAX_EXT #x802e) (define-constant GL_MINMAX_FORMAT_EXT #x802f) (define-constant GL_MINMAX_SINK_EXT #x8030) (define-constant GL_TABLE_TOO_LARGE_EXT #x8031) (define-constant GL_CONVOLUTION_1D_EXT #x8010) (define-constant GL_CONVOLUTION_2D_EXT #x8011) (define-constant GL_SEPARABLE_2D_EXT #x8012) (define-constant GL_CONVOLUTION_BORDER_MODE_EXT #x8013) (define-constant GL_CONVOLUTION_FILTER_SCALE_EXT #x8014) (define-constant GL_CONVOLUTION_FILTER_BIAS_EXT #x8015) (define-constant GL_REDUCE_EXT #x8016) (define-constant GL_CONVOLUTION_FORMAT_EXT #x8017) (define-constant GL_CONVOLUTION_WIDTH_EXT #x8018) (define-constant GL_CONVOLUTION_HEIGHT_EXT #x8019) (define-constant GL_MAX_CONVOLUTION_WIDTH_EXT #x801a) (define-constant GL_MAX_CONVOLUTION_HEIGHT_EXT #x801b) (define-constant GL_POST_CONVOLUTION_RED_SCALE_EXT #x801c) (define-constant GL_POST_CONVOLUTION_GREEN_SCALE_EXT #x801d) (define-constant GL_POST_CONVOLUTION_BLUE_SCALE_EXT #x801e) (define-constant GL_POST_CONVOLUTION_ALPHA_SCALE_EXT #x801f) (define-constant GL_POST_CONVOLUTION_RED_BIAS_EXT #x8020) (define-constant GL_POST_CONVOLUTION_GREEN_BIAS_EXT #x8021) (define-constant GL_POST_CONVOLUTION_BLUE_BIAS_EXT #x8022) (define-constant GL_POST_CONVOLUTION_ALPHA_BIAS_EXT #x8023) (define-constant GL_COLOR_MATRIX_SGI #x80b1) (define-constant GL_COLOR_MATRIX_STACK_DEPTH_SGI #x80b2) (define-constant GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI #x80b3) (define-constant GL_POST_COLOR_MATRIX_RED_SCALE_SGI #x80b4) (define-constant GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI #x80b5) (define-constant GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI #x80b6) (define-constant GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI #x80b7) (define-constant GL_POST_COLOR_MATRIX_RED_BIAS_SGI #x80b8) (define-constant GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI #x80b9) (define-constant GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI #x80ba) (define-constant GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI #x80bb) (define-constant GL_COLOR_TABLE_SGI #x80d0) (define-constant GL_POST_CONVOLUTION_COLOR_TABLE_SGI #x80d1) (define-constant GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI #x80d2) (define-constant GL_PROXY_COLOR_TABLE_SGI #x80d3) (define-constant GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI #x80d4) (define-constant GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI #x80d5) (define-constant GL_COLOR_TABLE_SCALE_SGI #x80d6) (define-constant GL_COLOR_TABLE_BIAS_SGI #x80d7) (define-constant GL_COLOR_TABLE_FORMAT_SGI #x80d8) (define-constant GL_COLOR_TABLE_WIDTH_SGI #x80d9) (define-constant GL_COLOR_TABLE_RED_SIZE_SGI #x80da) (define-constant GL_COLOR_TABLE_GREEN_SIZE_SGI #x80db) (define-constant GL_COLOR_TABLE_BLUE_SIZE_SGI #x80dc) (define-constant GL_COLOR_TABLE_ALPHA_SIZE_SGI #x80dd) (define-constant GL_COLOR_TABLE_LUMINANCE_SIZE_SGI #x80de) (define-constant GL_COLOR_TABLE_INTENSITY_SIZE_SGI #x80df) (define-constant GL_PIXEL_TEXTURE_SGIS #x8353) (define-constant GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS #x8354) (define-constant GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS #x8355) (define-constant GL_PIXEL_GROUP_COLOR_SGIS #x8356) (define-constant GL_PIXEL_TEX_GEN_SGIX #x8139) (define-constant GL_PIXEL_TEX_GEN_MODE_SGIX #x832b) (define-constant GL_PACK_SKIP_VOLUMES_SGIS #x8130) (define-constant GL_PACK_IMAGE_DEPTH_SGIS #x8131) (define-constant GL_UNPACK_SKIP_VOLUMES_SGIS #x8132) (define-constant GL_UNPACK_IMAGE_DEPTH_SGIS #x8133) (define-constant GL_TEXTURE_4D_SGIS #x8134) (define-constant GL_PROXY_TEXTURE_4D_SGIS #x8135) (define-constant GL_TEXTURE_4DSIZE_SGIS #x8136) (define-constant GL_TEXTURE_WRAP_Q_SGIS #x8137) (define-constant GL_MAX_4D_TEXTURE_SIZE_SGIS #x8138) (define-constant GL_TEXTURE_4D_BINDING_SGIS #x814f) (define-constant GL_TEXTURE_COLOR_TABLE_SGI #x80bc) (define-constant GL_PROXY_TEXTURE_COLOR_TABLE_SGI #x80bd) (define-constant GL_CMYK_EXT #x800c) (define-constant GL_CMYKA_EXT #x800d) (define-constant GL_PACK_CMYK_HINT_EXT #x800e) (define-constant GL_UNPACK_CMYK_HINT_EXT #x800f) (define-constant GL_TEXTURE_PRIORITY_EXT #x8066) (define-constant GL_TEXTURE_RESIDENT_EXT #x8067) (define-constant GL_TEXTURE_1D_BINDING_EXT #x8068) (define-constant GL_TEXTURE_2D_BINDING_EXT #x8069) (define-constant GL_TEXTURE_3D_BINDING_EXT #x806a) (define-constant GL_DETAIL_TEXTURE_2D_SGIS #x8095) (define-constant GL_DETAIL_TEXTURE_2D_BINDING_SGIS #x8096) (define-constant GL_LINEAR_DETAIL_SGIS #x8097) (define-constant GL_LINEAR_DETAIL_ALPHA_SGIS #x8098) (define-constant GL_LINEAR_DETAIL_COLOR_SGIS #x8099) (define-constant GL_DETAIL_TEXTURE_LEVEL_SGIS #x809a) (define-constant GL_DETAIL_TEXTURE_MODE_SGIS #x809b) (define-constant GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS #x809c) (define-constant GL_LINEAR_SHARPEN_SGIS #x80ad) (define-constant GL_LINEAR_SHARPEN_ALPHA_SGIS #x80ae) (define-constant GL_LINEAR_SHARPEN_COLOR_SGIS #x80af) (define-constant GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS #x80b0) (define-constant GL_UNSIGNED_BYTE_3_3_2_EXT #x8032) (define-constant GL_UNSIGNED_SHORT_4_4_4_4_EXT #x8033) (define-constant GL_UNSIGNED_SHORT_5_5_5_1_EXT #x8034) (define-constant GL_UNSIGNED_INT_8_8_8_8_EXT #x8035) (define-constant GL_UNSIGNED_INT_10_10_10_2_EXT #x8036) (define-constant GL_TEXTURE_MIN_LOD_SGIS #x813a) (define-constant GL_TEXTURE_MAX_LOD_SGIS #x813b) (define-constant GL_TEXTURE_BASE_LEVEL_SGIS #x813c) (define-constant GL_TEXTURE_MAX_LEVEL_SGIS #x813d) (define-constant GL_MULTISAMPLE_SGIS #x809d) (define-constant GL_SAMPLE_ALPHA_TO_MASK_SGIS #x809e) (define-constant GL_SAMPLE_ALPHA_TO_ONE_SGIS #x809f) (define-constant GL_SAMPLE_MASK_SGIS #x80a0) (define-constant GL_1PASS_SGIS #x80a1) (define-constant GL_2PASS_0_SGIS #x80a2) (define-constant GL_2PASS_1_SGIS #x80a3) (define-constant GL_4PASS_0_SGIS #x80a4) (define-constant GL_4PASS_1_SGIS #x80a5) (define-constant GL_4PASS_2_SGIS #x80a6) (define-constant GL_4PASS_3_SGIS #x80a7) (define-constant GL_SAMPLE_BUFFERS_SGIS #x80a8) (define-constant GL_SAMPLES_SGIS #x80a9) (define-constant GL_SAMPLE_MASK_VALUE_SGIS #x80aa) (define-constant GL_SAMPLE_MASK_INVERT_SGIS #x80ab) (define-constant GL_SAMPLE_PATTERN_SGIS #x80ac) (define-constant GL_RESCALE_NORMAL_EXT #x803a) (define-constant GL_VERTEX_ARRAY_EXT #x8074) (define-constant GL_NORMAL_ARRAY_EXT #x8075) (define-constant GL_COLOR_ARRAY_EXT #x8076) (define-constant GL_INDEX_ARRAY_EXT #x8077) (define-constant GL_TEXTURE_COORD_ARRAY_EXT #x8078) (define-constant GL_EDGE_FLAG_ARRAY_EXT #x8079) (define-constant GL_VERTEX_ARRAY_SIZE_EXT #x807a) (define-constant GL_VERTEX_ARRAY_TYPE_EXT #x807b) (define-constant GL_VERTEX_ARRAY_STRIDE_EXT #x807c) (define-constant GL_VERTEX_ARRAY_COUNT_EXT #x807d) (define-constant GL_NORMAL_ARRAY_TYPE_EXT #x807e) (define-constant GL_NORMAL_ARRAY_STRIDE_EXT #x807f) (define-constant GL_NORMAL_ARRAY_COUNT_EXT #x8080) (define-constant GL_COLOR_ARRAY_SIZE_EXT #x8081) (define-constant GL_COLOR_ARRAY_TYPE_EXT #x8082) (define-constant GL_COLOR_ARRAY_STRIDE_EXT #x8083) (define-constant GL_COLOR_ARRAY_COUNT_EXT #x8084) (define-constant GL_INDEX_ARRAY_TYPE_EXT #x8085) (define-constant GL_INDEX_ARRAY_STRIDE_EXT #x8086) (define-constant GL_INDEX_ARRAY_COUNT_EXT #x8087) (define-constant GL_TEXTURE_COORD_ARRAY_SIZE_EXT #x8088) (define-constant GL_TEXTURE_COORD_ARRAY_TYPE_EXT #x8089) (define-constant GL_TEXTURE_COORD_ARRAY_STRIDE_EXT #x808a) (define-constant GL_TEXTURE_COORD_ARRAY_COUNT_EXT #x808b) (define-constant GL_EDGE_FLAG_ARRAY_STRIDE_EXT #x808c) (define-constant GL_EDGE_FLAG_ARRAY_COUNT_EXT #x808d) (define-constant GL_VERTEX_ARRAY_POINTER_EXT #x808e) (define-constant GL_NORMAL_ARRAY_POINTER_EXT #x808f) (define-constant GL_COLOR_ARRAY_POINTER_EXT #x8090) (define-constant GL_INDEX_ARRAY_POINTER_EXT #x8091) (define-constant GL_TEXTURE_COORD_ARRAY_POINTER_EXT #x8092) (define-constant GL_EDGE_FLAG_ARRAY_POINTER_EXT #x8093) (define-constant GL_GENERATE_MIPMAP_SGIS #x8191) (define-constant GL_GENERATE_MIPMAP_HINT_SGIS #x8192) (define-constant GL_LINEAR_CLIPMAP_LINEAR_SGIX #x8170) (define-constant GL_TEXTURE_CLIPMAP_CENTER_SGIX #x8171) (define-constant GL_TEXTURE_CLIPMAP_FRAME_SGIX #x8172) (define-constant GL_TEXTURE_CLIPMAP_OFFSET_SGIX #x8173) (define-constant GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX #x8174) (define-constant GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX #x8175) (define-constant GL_TEXTURE_CLIPMAP_DEPTH_SGIX #x8176) (define-constant GL_MAX_CLIPMAP_DEPTH_SGIX #x8177) (define-constant GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX #x8178) (define-constant GL_NEAREST_CLIPMAP_NEAREST_SGIX #x844d) (define-constant GL_NEAREST_CLIPMAP_LINEAR_SGIX #x844e) (define-constant GL_LINEAR_CLIPMAP_NEAREST_SGIX #x844f) (define-constant GL_TEXTURE_COMPARE_SGIX #x819a) (define-constant GL_TEXTURE_COMPARE_OPERATOR_SGIX #x819b) (define-constant GL_TEXTURE_LEQUAL_R_SGIX #x819c) (define-constant GL_TEXTURE_GEQUAL_R_SGIX #x819d) (define-constant GL_CLAMP_TO_EDGE_SGIS #x812f) (define-constant GL_CLAMP_TO_BORDER_SGIS #x812d) (define-constant GL_FUNC_ADD_EXT #x8006) (define-constant GL_MIN_EXT #x8007) (define-constant GL_MAX_EXT #x8008) (define-constant GL_BLEND_EQUATION_EXT #x8009) (define-constant GL_FUNC_SUBTRACT_EXT #x800a) (define-constant GL_FUNC_REVERSE_SUBTRACT_EXT #x800b) (define-constant GL_INTERLACE_SGIX #x8094) (define-constant GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX #x813e) (define-constant GL_PIXEL_TILE_CACHE_INCREMENT_SGIX #x813f) (define-constant GL_PIXEL_TILE_WIDTH_SGIX #x8140) (define-constant GL_PIXEL_TILE_HEIGHT_SGIX #x8141) (define-constant GL_PIXEL_TILE_GRID_WIDTH_SGIX #x8142) (define-constant GL_PIXEL_TILE_GRID_HEIGHT_SGIX #x8143) (define-constant GL_PIXEL_TILE_GRID_DEPTH_SGIX #x8144) (define-constant GL_PIXEL_TILE_CACHE_SIZE_SGIX #x8145) (define-constant GL_DUAL_ALPHA4_SGIS #x8110) (define-constant GL_DUAL_ALPHA8_SGIS #x8111) (define-constant GL_DUAL_ALPHA12_SGIS #x8112) (define-constant GL_DUAL_ALPHA16_SGIS #x8113) (define-constant GL_DUAL_LUMINANCE4_SGIS #x8114) (define-constant GL_DUAL_LUMINANCE8_SGIS #x8115) (define-constant GL_DUAL_LUMINANCE12_SGIS #x8116) (define-constant GL_DUAL_LUMINANCE16_SGIS #x8117) (define-constant GL_DUAL_INTENSITY4_SGIS #x8118) (define-constant GL_DUAL_INTENSITY8_SGIS #x8119) (define-constant GL_DUAL_INTENSITY12_SGIS #x811a) (define-constant GL_DUAL_INTENSITY16_SGIS #x811b) (define-constant GL_DUAL_LUMINANCE_ALPHA4_SGIS #x811c) (define-constant GL_DUAL_LUMINANCE_ALPHA8_SGIS #x811d) (define-constant GL_QUAD_ALPHA4_SGIS #x811e) (define-constant GL_QUAD_ALPHA8_SGIS #x811f) (define-constant GL_QUAD_LUMINANCE4_SGIS #x8120) (define-constant GL_QUAD_LUMINANCE8_SGIS #x8121) (define-constant GL_QUAD_INTENSITY4_SGIS #x8122) (define-constant GL_QUAD_INTENSITY8_SGIS #x8123) (define-constant GL_DUAL_TEXTURE_SELECT_SGIS #x8124) (define-constant GL_QUAD_TEXTURE_SELECT_SGIS #x8125) (define-constant GL_SPRITE_SGIX #x8148) (define-constant GL_SPRITE_MODE_SGIX #x8149) (define-constant GL_SPRITE_AXIS_SGIX #x814a) (define-constant GL_SPRITE_TRANSLATION_SGIX #x814b) (define-constant GL_SPRITE_AXIAL_SGIX #x814c) (define-constant GL_SPRITE_OBJECT_ALIGNED_SGIX #x814d) (define-constant GL_SPRITE_EYE_ALIGNED_SGIX #x814e) (define-constant GL_TEXTURE_MULTI_BUFFER_HINT_SGIX #x812e) (define-constant GL_POINT_SIZE_MIN_EXT #x8126) (define-constant GL_POINT_SIZE_MAX_EXT #x8127) (define-constant GL_POINT_FADE_THRESHOLD_SIZE_EXT #x8128) (define-constant GL_DISTANCE_ATTENUATION_EXT #x8129) (define-constant GL_POINT_SIZE_MIN_SGIS #x8126) (define-constant GL_POINT_SIZE_MAX_SGIS #x8127) (define-constant GL_POINT_FADE_THRESHOLD_SIZE_SGIS #x8128) (define-constant GL_DISTANCE_ATTENUATION_SGIS #x8129) (define-constant GL_INSTRUMENT_BUFFER_POINTER_SGIX #x8180) (define-constant GL_INSTRUMENT_MEASUREMENTS_SGIX #x8181) (define-constant GL_POST_TEXTURE_FILTER_BIAS_SGIX #x8179) (define-constant GL_POST_TEXTURE_FILTER_SCALE_SGIX #x817a) (define-constant GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX #x817b) (define-constant GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX #x817c) (define-constant GL_FRAMEZOOM_SGIX #x818b) (define-constant GL_FRAMEZOOM_FACTOR_SGIX #x818c) (define-constant GL_MAX_FRAMEZOOM_FACTOR_SGIX #x818d) (define-constant GL_TEXTURE_DEFORMATION_BIT_SGIX #x0001) (define-constant GL_GEOMETRY_DEFORMATION_BIT_SGIX #x0002) (define-constant GL_GEOMETRY_DEFORMATION_SGIX #x8194) (define-constant GL_TEXTURE_DEFORMATION_SGIX #x8195) (define-constant GL_DEFORMATIONS_MASK_SGIX #x8196) (define-constant GL_MAX_DEFORMATION_ORDER_SGIX #x8197) (define-constant GL_REFERENCE_PLANE_SGIX #x817d) (define-constant GL_REFERENCE_PLANE_EQUATION_SGIX #x817e) (define-constant GL_DEPTH_COMPONENT16_SGIX #x81a5) (define-constant GL_DEPTH_COMPONENT24_SGIX #x81a6) (define-constant GL_DEPTH_COMPONENT32_SGIX #x81a7) (define-constant GL_FOG_FUNC_SGIS #x812a) (define-constant GL_FOG_FUNC_POINTS_SGIS #x812b) (define-constant GL_MAX_FOG_FUNC_POINTS_SGIS #x812c) (define-constant GL_FOG_OFFSET_SGIX #x8198) (define-constant GL_FOG_OFFSET_VALUE_SGIX #x8199) (define-constant GL_IMAGE_SCALE_X_HP #x8155) (define-constant GL_IMAGE_SCALE_Y_HP #x8156) (define-constant GL_IMAGE_TRANSLATE_X_HP #x8157) (define-constant GL_IMAGE_TRANSLATE_Y_HP #x8158) (define-constant GL_IMAGE_ROTATE_ANGLE_HP #x8159) (define-constant GL_IMAGE_ROTATE_ORIGIN_X_HP #x815a) (define-constant GL_IMAGE_ROTATE_ORIGIN_Y_HP #x815b) (define-constant GL_IMAGE_MAG_FILTER_HP #x815c) (define-constant GL_IMAGE_MIN_FILTER_HP #x815d) (define-constant GL_IMAGE_CUBIC_WEIGHT_HP #x815e) (define-constant GL_CUBIC_HP #x815f) (define-constant GL_AVERAGE_HP #x8160) (define-constant GL_IMAGE_TRANSFORM_2D_HP #x8161) (define-constant GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP #x8162) (define-constant GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP #x8163) (define-constant GL_IGNORE_BORDER_HP #x8150) (define-constant GL_CONSTANT_BORDER_HP #x8151) (define-constant GL_REPLICATE_BORDER_HP #x8153) (define-constant GL_CONVOLUTION_BORDER_COLOR_HP #x8154) (define-constant GL_TEXTURE_ENV_BIAS_SGIX #x80be) (define-constant GL_VERTEX_DATA_HINT_PGI #x1a22a) (define-constant GL_VERTEX_CONSISTENT_HINT_PGI #x1a22b) (define-constant GL_MATERIAL_SIDE_HINT_PGI #x1a22c) (define-constant GL_MAX_VERTEX_HINT_PGI #x1a22d) (define-constant GL_COLOR3_BIT_PGI #x10000) (define-constant GL_COLOR4_BIT_PGI #x20000) (define-constant GL_EDGEFLAG_BIT_PGI #x40000) (define-constant GL_INDEX_BIT_PGI #x80000) (define-constant GL_MAT_AMBIENT_BIT_PGI #x100000) (define-constant GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI #x200000) (define-constant GL_MAT_DIFFUSE_BIT_PGI #x400000) (define-constant GL_MAT_EMISSION_BIT_PGI #x800000) (define-constant GL_MAT_COLOR_INDEXES_BIT_PGI #x1000000) (define-constant GL_MAT_SHININESS_BIT_PGI #x2000000) (define-constant GL_MAT_SPECULAR_BIT_PGI #x4000000) (define-constant GL_NORMAL_BIT_PGI #x8000000) (define-constant GL_TEXCOORD1_BIT_PGI #x10000000) (define-constant GL_TEXCOORD2_BIT_PGI #x20000000) (define-constant GL_TEXCOORD3_BIT_PGI #x40000000) (define-constant GL_TEXCOORD4_BIT_PGI #x80000000) (define-constant GL_VERTEX23_BIT_PGI #x0004) (define-constant GL_VERTEX4_BIT_PGI #x0008) (define-constant GL_PREFER_DOUBLEBUFFER_HINT_PGI #x1a1f8) (define-constant GL_CONSERVE_MEMORY_HINT_PGI #x1a1fd) (define-constant GL_RECLAIM_MEMORY_HINT_PGI #x1a1fe) (define-constant GL_NATIVE_GRAPHICS_HANDLE_PGI #x1a202) (define-constant GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI #x1a203) (define-constant GL_NATIVE_GRAPHICS_END_HINT_PGI #x1a204) (define-constant GL_ALWAYS_FAST_HINT_PGI #x1a20c) (define-constant GL_ALWAYS_SOFT_HINT_PGI #x1a20d) (define-constant GL_ALLOW_DRAW_OBJ_HINT_PGI #x1a20e) (define-constant GL_ALLOW_DRAW_WIN_HINT_PGI #x1a20f) (define-constant GL_ALLOW_DRAW_FRG_HINT_PGI #x1a210) (define-constant GL_ALLOW_DRAW_MEM_HINT_PGI #x1a211) (define-constant GL_STRICT_DEPTHFUNC_HINT_PGI #x1a216) (define-constant GL_STRICT_LIGHTING_HINT_PGI #x1a217) (define-constant GL_STRICT_SCISSOR_HINT_PGI #x1a218) (define-constant GL_FULL_STIPPLE_HINT_PGI #x1a219) (define-constant GL_CLIP_NEAR_HINT_PGI #x1a220) (define-constant GL_CLIP_FAR_HINT_PGI #x1a221) (define-constant GL_WIDE_LINE_HINT_PGI #x1a222) (define-constant GL_BACK_NORMALS_HINT_PGI #x1a223) (define-constant GL_COLOR_INDEX1_EXT #x80e2) (define-constant GL_COLOR_INDEX2_EXT #x80e3) (define-constant GL_COLOR_INDEX4_EXT #x80e4) (define-constant GL_COLOR_INDEX8_EXT #x80e5) (define-constant GL_COLOR_INDEX12_EXT #x80e6) (define-constant GL_COLOR_INDEX16_EXT #x80e7) (define-constant GL_TEXTURE_INDEX_SIZE_EXT #x80ed) (define-constant GL_CLIP_VOLUME_CLIPPING_HINT_EXT #x80f0) (define-constant GL_LIST_PRIORITY_SGIX #x8182) (define-constant GL_IR_INSTRUMENT1_SGIX #x817f) (define-constant GL_CALLIGRAPHIC_FRAGMENT_SGIX #x8183) (define-constant GL_TEXTURE_LOD_BIAS_S_SGIX #x818e) (define-constant GL_TEXTURE_LOD_BIAS_T_SGIX #x818f) (define-constant GL_TEXTURE_LOD_BIAS_R_SGIX #x8190) (define-constant GL_SHADOW_AMBIENT_SGIX #x80bf) (define-constant GL_INDEX_MATERIAL_EXT #x81b8) (define-constant GL_INDEX_MATERIAL_PARAMETER_EXT #x81b9) (define-constant GL_INDEX_MATERIAL_FACE_EXT #x81ba) (define-constant GL_INDEX_TEST_EXT #x81b5) (define-constant GL_INDEX_TEST_FUNC_EXT #x81b6) (define-constant GL_INDEX_TEST_REF_EXT #x81b7) (define-constant GL_IUI_V2F_EXT #x81ad) (define-constant GL_IUI_V3F_EXT #x81ae) (define-constant GL_IUI_N3F_V2F_EXT #x81af) (define-constant GL_IUI_N3F_V3F_EXT #x81b0) (define-constant GL_T2F_IUI_V2F_EXT #x81b1) (define-constant GL_T2F_IUI_V3F_EXT #x81b2) (define-constant GL_T2F_IUI_N3F_V2F_EXT #x81b3) (define-constant GL_T2F_IUI_N3F_V3F_EXT #x81b4) (define-constant GL_ARRAY_ELEMENT_LOCK_FIRST_EXT #x81a8) (define-constant GL_ARRAY_ELEMENT_LOCK_COUNT_EXT #x81a9) (define-constant GL_CULL_VERTEX_EXT #x81aa) (define-constant GL_CULL_VERTEX_EYE_POSITION_EXT #x81ab) (define-constant GL_CULL_VERTEX_OBJECT_POSITION_EXT #x81ac) (define-constant GL_YCRCB_422_SGIX #x81bb) (define-constant GL_YCRCB_444_SGIX #x81bc) (define-constant GL_FRAGMENT_LIGHTING_SGIX #x8400) (define-constant GL_FRAGMENT_COLOR_MATERIAL_SGIX #x8401) (define-constant GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX #x8402) (define-constant GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX #x8403) (define-constant GL_MAX_FRAGMENT_LIGHTS_SGIX #x8404) (define-constant GL_MAX_ACTIVE_LIGHTS_SGIX #x8405) (define-constant GL_CURRENT_RASTER_NORMAL_SGIX #x8406) (define-constant GL_LIGHT_ENV_MODE_SGIX #x8407) (define-constant GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX #x8408) (define-constant GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX #x8409) (define-constant GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX #x840a) (define-constant GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX #x840b) (define-constant GL_FRAGMENT_LIGHT0_SGIX #x840c) (define-constant GL_FRAGMENT_LIGHT1_SGIX #x840d) (define-constant GL_FRAGMENT_LIGHT2_SGIX #x840e) (define-constant GL_FRAGMENT_LIGHT3_SGIX #x840f) (define-constant GL_FRAGMENT_LIGHT4_SGIX #x8410) (define-constant GL_FRAGMENT_LIGHT5_SGIX #x8411) (define-constant GL_FRAGMENT_LIGHT6_SGIX #x8412) (define-constant GL_FRAGMENT_LIGHT7_SGIX #x8413) (define-constant GL_RASTER_POSITION_UNCLIPPED_IBM #x19262) (define-constant GL_TEXTURE_LIGHTING_MODE_HP #x8167) (define-constant GL_TEXTURE_POST_SPECULAR_HP #x8168) (define-constant GL_TEXTURE_PRE_SPECULAR_HP #x8169) (define-constant GL_MAX_ELEMENTS_VERTICES_EXT #x80e8) (define-constant GL_MAX_ELEMENTS_INDICES_EXT #x80e9) (define-constant GL_PHONG_WIN #x80ea) (define-constant GL_PHONG_HINT_WIN #x80eb) (define-constant GL_FOG_SPECULAR_TEXTURE_WIN #x80ec) (define-constant GL_FRAGMENT_MATERIAL_EXT #x8349) (define-constant GL_FRAGMENT_NORMAL_EXT #x834a) (define-constant GL_FRAGMENT_COLOR_EXT #x834c) (define-constant GL_ATTENUATION_EXT #x834d) (define-constant GL_SHADOW_ATTENUATION_EXT #x834e) (define-constant GL_TEXTURE_APPLICATION_MODE_EXT #x834f) (define-constant GL_TEXTURE_LIGHT_EXT #x8350) (define-constant GL_TEXTURE_MATERIAL_FACE_EXT #x8351) (define-constant GL_TEXTURE_MATERIAL_PARAMETER_EXT #x8352) (define-constant GL_ALPHA_MIN_SGIX #x8320) (define-constant GL_ALPHA_MAX_SGIX #x8321) (define-constant GL_PIXEL_TEX_GEN_Q_CEILING_SGIX #x8184) (define-constant GL_PIXEL_TEX_GEN_Q_ROUND_SGIX #x8185) (define-constant GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX #x8186) (define-constant GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX #x8187) (define-constant GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX #x8188) (define-constant GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX #x8189) (define-constant GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX #x818a) (define-constant GL_BGR_EXT #x80e0) (define-constant GL_BGRA_EXT #x80e1) (define-constant GL_ASYNC_MARKER_SGIX #x8329) (define-constant GL_ASYNC_TEX_IMAGE_SGIX #x835c) (define-constant GL_ASYNC_DRAW_PIXELS_SGIX #x835d) (define-constant GL_ASYNC_READ_PIXELS_SGIX #x835e) (define-constant GL_MAX_ASYNC_TEX_IMAGE_SGIX #x835f) (define-constant GL_MAX_ASYNC_DRAW_PIXELS_SGIX #x8360) (define-constant GL_MAX_ASYNC_READ_PIXELS_SGIX #x8361) (define-constant GL_ASYNC_HISTOGRAM_SGIX #x832c) (define-constant GL_MAX_ASYNC_HISTOGRAM_SGIX #x832d) (define-constant GL_PARALLEL_ARRAYS_INTEL #x83f4) (define-constant GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL #x83f5) (define-constant GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL #x83f6) (define-constant GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL #x83f7) (define-constant GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL #x83f8) (define-constant GL_OCCLUSION_TEST_HP #x8165) (define-constant GL_OCCLUSION_TEST_RESULT_HP #x8166) (define-constant GL_PIXEL_TRANSFORM_2D_EXT #x8330) (define-constant GL_PIXEL_MAG_FILTER_EXT #x8331) (define-constant GL_PIXEL_MIN_FILTER_EXT #x8332) (define-constant GL_PIXEL_CUBIC_WEIGHT_EXT #x8333) (define-constant GL_CUBIC_EXT #x8334) (define-constant GL_AVERAGE_EXT #x8335) (define-constant GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT #x8336) (define-constant GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT #x8337) (define-constant GL_PIXEL_TRANSFORM_2D_MATRIX_EXT #x8338) (define-constant GL_SHARED_TEXTURE_PALETTE_EXT #x81fb) (define-constant GL_LIGHT_MODEL_COLOR_CONTROL_EXT #x81f8) (define-constant GL_SINGLE_COLOR_EXT #x81f9) (define-constant GL_SEPARATE_SPECULAR_COLOR_EXT #x81fa) (define-constant GL_COLOR_SUM_EXT #x8458) (define-constant GL_CURRENT_SECONDARY_COLOR_EXT #x8459) (define-constant GL_SECONDARY_COLOR_ARRAY_SIZE_EXT #x845a) (define-constant GL_SECONDARY_COLOR_ARRAY_TYPE_EXT #x845b) (define-constant GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT #x845c) (define-constant GL_SECONDARY_COLOR_ARRAY_POINTER_EXT #x845d) (define-constant GL_SECONDARY_COLOR_ARRAY_EXT #x845e) (define-constant GL_PERTURB_EXT #x85ae) (define-constant GL_TEXTURE_NORMAL_EXT #x85af) (define-constant GL_FOG_COORDINATE_SOURCE_EXT #x8450) (define-constant GL_FOG_COORDINATE_EXT #x8451) (define-constant GL_FRAGMENT_DEPTH_EXT #x8452) (define-constant GL_CURRENT_FOG_COORDINATE_EXT #x8453) (define-constant GL_FOG_COORDINATE_ARRAY_TYPE_EXT #x8454) (define-constant GL_FOG_COORDINATE_ARRAY_STRIDE_EXT #x8455) (define-constant GL_FOG_COORDINATE_ARRAY_POINTER_EXT #x8456) (define-constant GL_FOG_COORDINATE_ARRAY_EXT #x8457) (define-constant GL_SCREEN_COORDINATES_REND #x8490) (define-constant GL_INVERTED_SCREEN_W_REND #x8491) (define-constant GL_TANGENT_ARRAY_EXT #x8439) (define-constant GL_BINORMAL_ARRAY_EXT #x843a) (define-constant GL_CURRENT_TANGENT_EXT #x843b) (define-constant GL_CURRENT_BINORMAL_EXT #x843c) (define-constant GL_TANGENT_ARRAY_TYPE_EXT #x843e) (define-constant GL_TANGENT_ARRAY_STRIDE_EXT #x843f) (define-constant GL_BINORMAL_ARRAY_TYPE_EXT #x8440) (define-constant GL_BINORMAL_ARRAY_STRIDE_EXT #x8441) (define-constant GL_TANGENT_ARRAY_POINTER_EXT #x8442) (define-constant GL_BINORMAL_ARRAY_POINTER_EXT #x8443) (define-constant GL_MAP1_TANGENT_EXT #x8444) (define-constant GL_MAP2_TANGENT_EXT #x8445) (define-constant GL_MAP1_BINORMAL_EXT #x8446) (define-constant GL_MAP2_BINORMAL_EXT #x8447) (define-constant GL_COMBINE_EXT #x8570) (define-constant GL_COMBINE_RGB_EXT #x8571) (define-constant GL_COMBINE_ALPHA_EXT #x8572) (define-constant GL_RGB_SCALE_EXT #x8573) (define-constant GL_ADD_SIGNED_EXT #x8574) (define-constant GL_INTERPOLATE_EXT #x8575) (define-constant GL_CONSTANT_EXT #x8576) (define-constant GL_PRIMARY_COLOR_EXT #x8577) (define-constant GL_PREVIOUS_EXT #x8578) (define-constant GL_SOURCE0_RGB_EXT #x8580) (define-constant GL_SOURCE1_RGB_EXT #x8581) (define-constant GL_SOURCE2_RGB_EXT #x8582) (define-constant GL_SOURCE0_ALPHA_EXT #x8588) (define-constant GL_SOURCE1_ALPHA_EXT #x8589) (define-constant GL_SOURCE2_ALPHA_EXT #x858a) (define-constant GL_OPERAND0_RGB_EXT #x8590) (define-constant GL_OPERAND1_RGB_EXT #x8591) (define-constant GL_OPERAND2_RGB_EXT #x8592) (define-constant GL_OPERAND0_ALPHA_EXT #x8598) (define-constant GL_OPERAND1_ALPHA_EXT #x8599) (define-constant GL_OPERAND2_ALPHA_EXT #x859a) (define-constant GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE #x85b0) (define-constant GL_TRANSFORM_HINT_APPLE #x85b1) (define-constant GL_FOG_SCALE_SGIX #x81fc) (define-constant GL_FOG_SCALE_VALUE_SGIX #x81fd) (define-constant GL_UNPACK_CONSTANT_DATA_SUNX #x81d5) (define-constant GL_TEXTURE_CONSTANT_DATA_SUNX #x81d6) (define-constant GL_GLOBAL_ALPHA_SUN #x81d9) (define-constant GL_GLOBAL_ALPHA_FACTOR_SUN #x81da) (define-constant GL_RESTART_SUN #x0001) (define-constant GL_REPLACE_MIDDLE_SUN #x0002) (define-constant GL_REPLACE_OLDEST_SUN #x0003) (define-constant GL_TRIANGLE_LIST_SUN #x81d7) (define-constant GL_REPLACEMENT_CODE_SUN #x81d8) (define-constant GL_REPLACEMENT_CODE_ARRAY_SUN #x85c0) (define-constant GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN #x85c1) (define-constant GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN #x85c2) (define-constant GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN #x85c3) (define-constant GL_R1UI_V3F_SUN #x85c4) (define-constant GL_R1UI_C4UB_V3F_SUN #x85c5) (define-constant GL_R1UI_C3F_V3F_SUN #x85c6) (define-constant GL_R1UI_N3F_V3F_SUN #x85c7) (define-constant GL_R1UI_C4F_N3F_V3F_SUN #x85c8) (define-constant GL_R1UI_T2F_V3F_SUN #x85c9) (define-constant GL_R1UI_T2F_N3F_V3F_SUN #x85ca) (define-constant GL_R1UI_T2F_C4F_N3F_V3F_SUN #x85cb) (define-constant GL_BLEND_DST_RGB_EXT #x80c8) (define-constant GL_BLEND_SRC_RGB_EXT #x80c9) (define-constant GL_BLEND_DST_ALPHA_EXT #x80ca) (define-constant GL_BLEND_SRC_ALPHA_EXT #x80cb) (define-constant GL_RED_MIN_CLAMP_INGR #x8560) (define-constant GL_GREEN_MIN_CLAMP_INGR #x8561) (define-constant GL_BLUE_MIN_CLAMP_INGR #x8562) (define-constant GL_ALPHA_MIN_CLAMP_INGR #x8563) (define-constant GL_RED_MAX_CLAMP_INGR #x8564) (define-constant GL_GREEN_MAX_CLAMP_INGR #x8565) (define-constant GL_BLUE_MAX_CLAMP_INGR #x8566) (define-constant GL_ALPHA_MAX_CLAMP_INGR #x8567) (define-constant GL_INTERLACE_READ_INGR #x8568) (define-constant GL_INCR_WRAP_EXT #x8507) (define-constant GL_DECR_WRAP_EXT #x8508) (define-constant GL_422_EXT #x80cc) (define-constant GL_422_REV_EXT #x80cd) (define-constant GL_422_AVERAGE_EXT #x80ce) (define-constant GL_422_REV_AVERAGE_EXT #x80cf) (define-constant GL_NORMAL_MAP_NV #x8511) (define-constant GL_REFLECTION_MAP_NV #x8512) (define-constant GL_NORMAL_MAP_EXT #x8511) (define-constant GL_REFLECTION_MAP_EXT #x8512) (define-constant GL_TEXTURE_CUBE_MAP_EXT #x8513) (define-constant GL_TEXTURE_BINDING_CUBE_MAP_EXT #x8514) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT #x8515) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT #x8516) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT #x8517) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT #x8518) (define-constant GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT #x8519) (define-constant GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT #x851a) (define-constant GL_PROXY_TEXTURE_CUBE_MAP_EXT #x851b) (define-constant GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT #x851c) (define-constant GL_WRAP_BORDER_SUN #x81d4) (define-constant GL_MAX_TEXTURE_LOD_BIAS_EXT #x84fd) (define-constant GL_TEXTURE_FILTER_CONTROL_EXT #x8500) (define-constant GL_TEXTURE_LOD_BIAS_EXT #x8501) (define-constant GL_TEXTURE_MAX_ANISOTROPY_EXT #x84fe) (define-constant GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT #x84ff) (define-constant GL_MODELVIEW0_STACK_DEPTH_EXT #x0ba3) (define-constant GL_MODELVIEW1_STACK_DEPTH_EXT #x8502) (define-constant GL_MODELVIEW0_MATRIX_EXT #x0ba6) (define-constant GL_MODELVIEW1_MATRIX_EXT #x8506) (define-constant GL_VERTEX_WEIGHTING_EXT #x8509) (define-constant GL_MODELVIEW0_EXT #x1700) (define-constant GL_MODELVIEW1_EXT #x850a) (define-constant GL_CURRENT_VERTEX_WEIGHT_EXT #x850b) (define-constant GL_VERTEX_WEIGHT_ARRAY_EXT #x850c) (define-constant GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT #x850d) (define-constant GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT #x850e) (define-constant GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT #x850f) (define-constant GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT #x8510) (define-constant GL_MAX_SHININESS_NV #x8504) (define-constant GL_MAX_SPOT_EXPONENT_NV #x8505) (define-constant GL_VERTEX_ARRAY_RANGE_NV #x851d) (define-constant GL_VERTEX_ARRAY_RANGE_LENGTH_NV #x851e) (define-constant GL_VERTEX_ARRAY_RANGE_VALID_NV #x851f) (define-constant GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV #x8520) (define-constant GL_VERTEX_ARRAY_RANGE_POINTER_NV #x8521) (define-constant GL_REGISTER_COMBINERS_NV #x8522) (define-constant GL_VARIABLE_A_NV #x8523) (define-constant GL_VARIABLE_B_NV #x8524) (define-constant GL_VARIABLE_C_NV #x8525) (define-constant GL_VARIABLE_D_NV #x8526) (define-constant GL_VARIABLE_E_NV #x8527) (define-constant GL_VARIABLE_F_NV #x8528) (define-constant GL_VARIABLE_G_NV #x8529) (define-constant GL_CONSTANT_COLOR0_NV #x852a) (define-constant GL_CONSTANT_COLOR1_NV #x852b) (define-constant GL_PRIMARY_COLOR_NV #x852c) (define-constant GL_SECONDARY_COLOR_NV #x852d) (define-constant GL_SPARE0_NV #x852e) (define-constant GL_SPARE1_NV #x852f) (define-constant GL_DISCARD_NV #x8530) (define-constant GL_E_TIMES_F_NV #x8531) (define-constant GL_SPARE0_PLUS_SECONDARY_COLOR_NV #x8532) (define-constant GL_UNSIGNED_IDENTITY_NV #x8536) (define-constant GL_UNSIGNED_INVERT_NV #x8537) (define-constant GL_EXPAND_NORMAL_NV #x8538) (define-constant GL_EXPAND_NEGATE_NV #x8539) (define-constant GL_HALF_BIAS_NORMAL_NV #x853a) (define-constant GL_HALF_BIAS_NEGATE_NV #x853b) (define-constant GL_SIGNED_IDENTITY_NV #x853c) (define-constant GL_SIGNED_NEGATE_NV #x853d) (define-constant GL_SCALE_BY_TWO_NV #x853e) (define-constant GL_SCALE_BY_FOUR_NV #x853f) (define-constant GL_SCALE_BY_ONE_HALF_NV #x8540) (define-constant GL_BIAS_BY_NEGATIVE_ONE_HALF_NV #x8541) (define-constant GL_COMBINER_INPUT_NV #x8542) (define-constant GL_COMBINER_MAPPING_NV #x8543) (define-constant GL_COMBINER_COMPONENT_USAGE_NV #x8544) (define-constant GL_COMBINER_AB_DOT_PRODUCT_NV #x8545) (define-constant GL_COMBINER_CD_DOT_PRODUCT_NV #x8546) (define-constant GL_COMBINER_MUX_SUM_NV #x8547) (define-constant GL_COMBINER_SCALE_NV #x8548) (define-constant GL_COMBINER_BIAS_NV #x8549) (define-constant GL_COMBINER_AB_OUTPUT_NV #x854a) (define-constant GL_COMBINER_CD_OUTPUT_NV #x854b) (define-constant GL_COMBINER_SUM_OUTPUT_NV #x854c) (define-constant GL_MAX_GENERAL_COMBINERS_NV #x854d) (define-constant GL_NUM_GENERAL_COMBINERS_NV #x854e) (define-constant GL_COLOR_SUM_CLAMP_NV #x854f) (define-constant GL_COMBINER0_NV #x8550) (define-constant GL_COMBINER1_NV #x8551) (define-constant GL_COMBINER2_NV #x8552) (define-constant GL_COMBINER3_NV #x8553) (define-constant GL_COMBINER4_NV #x8554) (define-constant GL_COMBINER5_NV #x8555) (define-constant GL_COMBINER6_NV #x8556) (define-constant GL_COMBINER7_NV #x8557) (define-constant GL_FOG_DISTANCE_MODE_NV #x855a) (define-constant GL_EYE_RADIAL_NV #x855b) (define-constant GL_EYE_PLANE_ABSOLUTE_NV #x855c) (define-constant GL_EMBOSS_LIGHT_NV #x855d) (define-constant GL_EMBOSS_CONSTANT_NV #x855e) (define-constant GL_EMBOSS_MAP_NV #x855f) (define-constant GL_COMBINE4_NV #x8503) (define-constant GL_SOURCE3_RGB_NV #x8583) (define-constant GL_SOURCE3_ALPHA_NV #x858b) (define-constant GL_OPERAND3_RGB_NV #x8593) (define-constant GL_OPERAND3_ALPHA_NV #x859b) (define-constant GL_COMPRESSED_RGB_S3TC_DXT1_EXT #x83f0) (define-constant GL_COMPRESSED_RGBA_S3TC_DXT1_EXT #x83f1) (define-constant GL_COMPRESSED_RGBA_S3TC_DXT3_EXT #x83f2) (define-constant GL_COMPRESSED_RGBA_S3TC_DXT5_EXT #x83f3) (define-constant GL_CULL_VERTEX_IBM #x1928a) (define-constant GL_VERTEX_ARRAY_LIST_IBM #x1929e) (define-constant GL_NORMAL_ARRAY_LIST_IBM #x1929f) (define-constant GL_COLOR_ARRAY_LIST_IBM #x192a0) (define-constant GL_INDEX_ARRAY_LIST_IBM #x192a1) (define-constant GL_TEXTURE_COORD_ARRAY_LIST_IBM #x192a2) (define-constant GL_EDGE_FLAG_ARRAY_LIST_IBM #x192a3) (define-constant GL_FOG_COORDINATE_ARRAY_LIST_IBM #x192a4) (define-constant GL_SECONDARY_COLOR_ARRAY_LIST_IBM #x192a5) (define-constant GL_VERTEX_ARRAY_LIST_STRIDE_IBM #x192a8) (define-constant GL_NORMAL_ARRAY_LIST_STRIDE_IBM #x192a9) (define-constant GL_COLOR_ARRAY_LIST_STRIDE_IBM #x192aa) (define-constant GL_INDEX_ARRAY_LIST_STRIDE_IBM #x192ab) (define-constant GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM #x192ac) (define-constant GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM #x192ad) (define-constant GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM #x192ae) (define-constant GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM #x192af) (define-constant GL_PACK_SUBSAMPLE_RATE_SGIX #x85a0) (define-constant GL_UNPACK_SUBSAMPLE_RATE_SGIX #x85a1) (define-constant GL_PIXEL_SUBSAMPLE_4444_SGIX #x85a2) (define-constant GL_PIXEL_SUBSAMPLE_2424_SGIX #x85a3) (define-constant GL_PIXEL_SUBSAMPLE_4242_SGIX #x85a4) (define-constant GL_YCRCB_SGIX #x8318) (define-constant GL_YCRCBA_SGIX #x8319) (define-constant GL_DEPTH_PASS_INSTRUMENT_SGIX #x8310) (define-constant GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX #x8311) (define-constant GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX #x8312) (define-constant GL_COMPRESSED_RGB_FXT1_3DFX #x86b0) (define-constant GL_COMPRESSED_RGBA_FXT1_3DFX #x86b1) (define-constant GL_MULTISAMPLE_3DFX #x86b2) (define-constant GL_SAMPLE_BUFFERS_3DFX #x86b3) (define-constant GL_SAMPLES_3DFX #x86b4) (define-constant GL_MULTISAMPLE_BIT_3DFX #x20000000) (define-constant GL_MULTISAMPLE_EXT #x809d) (define-constant GL_SAMPLE_ALPHA_TO_MASK_EXT #x809e) (define-constant GL_SAMPLE_ALPHA_TO_ONE_EXT #x809f) (define-constant GL_SAMPLE_MASK_EXT #x80a0) (define-constant GL_1PASS_EXT #x80a1) (define-constant GL_2PASS_0_EXT #x80a2) (define-constant GL_2PASS_1_EXT #x80a3) (define-constant GL_4PASS_0_EXT #x80a4) (define-constant GL_4PASS_1_EXT #x80a5) (define-constant GL_4PASS_2_EXT #x80a6) (define-constant GL_4PASS_3_EXT #x80a7) (define-constant GL_SAMPLE_BUFFERS_EXT #x80a8) (define-constant GL_SAMPLES_EXT #x80a9) (define-constant GL_SAMPLE_MASK_VALUE_EXT #x80aa) (define-constant GL_SAMPLE_MASK_INVERT_EXT #x80ab) (define-constant GL_SAMPLE_PATTERN_EXT #x80ac) (define-constant GL_MULTISAMPLE_BIT_EXT #x20000000) (define-constant GL_VERTEX_PRECLIP_SGIX #x83ee) (define-constant GL_VERTEX_PRECLIP_HINT_SGIX #x83ef) (define-constant GL_CONVOLUTION_HINT_SGIX #x8316) (define-constant GL_PACK_RESAMPLE_SGIX #x842c) (define-constant GL_UNPACK_RESAMPLE_SGIX #x842d) (define-constant GL_RESAMPLE_REPLICATE_SGIX #x842e) (define-constant GL_RESAMPLE_ZERO_FILL_SGIX #x842f) (define-constant GL_RESAMPLE_DECIMATE_SGIX #x8430) (define-constant GL_EYE_DISTANCE_TO_POINT_SGIS #x81f0) (define-constant GL_OBJECT_DISTANCE_TO_POINT_SGIS #x81f1) (define-constant GL_EYE_DISTANCE_TO_LINE_SGIS #x81f2) (define-constant GL_OBJECT_DISTANCE_TO_LINE_SGIS #x81f3) (define-constant GL_EYE_POINT_SGIS #x81f4) (define-constant GL_OBJECT_POINT_SGIS #x81f5) (define-constant GL_EYE_LINE_SGIS #x81f6) (define-constant GL_OBJECT_LINE_SGIS #x81f7) (define-constant GL_TEXTURE_COLOR_WRITEMASK_SGIS #x81ef) (define-constant GL_DOT3_RGB_EXT #x8740) (define-constant GL_DOT3_RGBA_EXT #x8741) (define-constant GL_MIRROR_CLAMP_ATI #x8742) (define-constant GL_MIRROR_CLAMP_TO_EDGE_ATI #x8743) (define-constant GL_ALL_COMPLETED_NV #x84f2) (define-constant GL_FENCE_STATUS_NV #x84f3) (define-constant GL_FENCE_CONDITION_NV #x84f4) (define-constant GL_MIRRORED_REPEAT_IBM #x8370) (define-constant GL_EVAL_2D_NV #x86c0) (define-constant GL_EVAL_TRIANGULAR_2D_NV #x86c1) (define-constant GL_MAP_TESSELLATION_NV #x86c2) (define-constant GL_MAP_ATTRIB_U_ORDER_NV #x86c3) (define-constant GL_MAP_ATTRIB_V_ORDER_NV #x86c4) (define-constant GL_EVAL_FRACTIONAL_TESSELLATION_NV #x86c5) (define-constant GL_EVAL_VERTEX_ATTRIB0_NV #x86c6) (define-constant GL_EVAL_VERTEX_ATTRIB1_NV #x86c7) (define-constant GL_EVAL_VERTEX_ATTRIB2_NV #x86c8) (define-constant GL_EVAL_VERTEX_ATTRIB3_NV #x86c9) (define-constant GL_EVAL_VERTEX_ATTRIB4_NV #x86ca) (define-constant GL_EVAL_VERTEX_ATTRIB5_NV #x86cb) (define-constant GL_EVAL_VERTEX_ATTRIB6_NV #x86cc) (define-constant GL_EVAL_VERTEX_ATTRIB7_NV #x86cd) (define-constant GL_EVAL_VERTEX_ATTRIB8_NV #x86ce) (define-constant GL_EVAL_VERTEX_ATTRIB9_NV #x86cf) (define-constant GL_EVAL_VERTEX_ATTRIB10_NV #x86d0) (define-constant GL_EVAL_VERTEX_ATTRIB11_NV #x86d1) (define-constant GL_EVAL_VERTEX_ATTRIB12_NV #x86d2) (define-constant GL_EVAL_VERTEX_ATTRIB13_NV #x86d3) (define-constant GL_EVAL_VERTEX_ATTRIB14_NV #x86d4) (define-constant GL_EVAL_VERTEX_ATTRIB15_NV #x86d5) (define-constant GL_MAX_MAP_TESSELLATION_NV #x86d6) (define-constant GL_MAX_RATIONAL_EVAL_ORDER_NV #x86d7) (define-constant GL_DEPTH_STENCIL_NV #x84f9) (define-constant GL_UNSIGNED_INT_24_8_NV #x84fa) (define-constant GL_PER_STAGE_CONSTANTS_NV #x8535) (define-constant GL_TEXTURE_RECTANGLE_NV #x84f5) (define-constant GL_TEXTURE_BINDING_RECTANGLE_NV #x84f6) (define-constant GL_PROXY_TEXTURE_RECTANGLE_NV #x84f7) (define-constant GL_MAX_RECTANGLE_TEXTURE_SIZE_NV #x84f8) (define-constant GL_OFFSET_TEXTURE_RECTANGLE_NV #x864c) (define-constant GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV #x864d) (define-constant GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV #x864e) (define-constant GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV #x86d9) (define-constant GL_UNSIGNED_INT_S8_S8_8_8_NV #x86da) (define-constant GL_UNSIGNED_INT_8_8_S8_S8_REV_NV #x86db) (define-constant GL_DSDT_MAG_INTENSITY_NV #x86dc) (define-constant GL_SHADER_CONSISTENT_NV #x86dd) (define-constant GL_TEXTURE_SHADER_NV #x86de) (define-constant GL_SHADER_OPERATION_NV #x86df) (define-constant GL_CULL_MODES_NV #x86e0) (define-constant GL_OFFSET_TEXTURE_MATRIX_NV #x86e1) (define-constant GL_OFFSET_TEXTURE_SCALE_NV #x86e2) (define-constant GL_OFFSET_TEXTURE_BIAS_NV #x86e3) (define-constant GL_OFFSET_TEXTURE_2D_MATRIX_NV #x86e1) (define-constant GL_OFFSET_TEXTURE_2D_SCALE_NV #x86e2) (define-constant GL_OFFSET_TEXTURE_2D_BIAS_NV #x86e3) (define-constant GL_PREVIOUS_TEXTURE_INPUT_NV #x86e4) (define-constant GL_CONST_EYE_NV #x86e5) (define-constant GL_PASS_THROUGH_NV #x86e6) (define-constant GL_CULL_FRAGMENT_NV #x86e7) (define-constant GL_OFFSET_TEXTURE_2D_NV #x86e8) (define-constant GL_DEPENDENT_AR_TEXTURE_2D_NV #x86e9) (define-constant GL_DEPENDENT_GB_TEXTURE_2D_NV #x86ea) (define-constant GL_DOT_PRODUCT_NV #x86ec) (define-constant GL_DOT_PRODUCT_DEPTH_REPLACE_NV #x86ed) (define-constant GL_DOT_PRODUCT_TEXTURE_2D_NV #x86ee) (define-constant GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV #x86f0) (define-constant GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV #x86f1) (define-constant GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV #x86f2) (define-constant GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV #x86f3) (define-constant GL_HILO_NV #x86f4) (define-constant GL_DSDT_NV #x86f5) (define-constant GL_DSDT_MAG_NV #x86f6) (define-constant GL_DSDT_MAG_VIB_NV #x86f7) (define-constant GL_HILO16_NV #x86f8) (define-constant GL_SIGNED_HILO_NV #x86f9) (define-constant GL_SIGNED_HILO16_NV #x86fa) (define-constant GL_SIGNED_RGBA_NV #x86fb) (define-constant GL_SIGNED_RGBA8_NV #x86fc) (define-constant GL_SIGNED_RGB_NV #x86fe) (define-constant GL_SIGNED_RGB8_NV #x86ff) (define-constant GL_SIGNED_LUMINANCE_NV #x8701) (define-constant GL_SIGNED_LUMINANCE8_NV #x8702) (define-constant GL_SIGNED_LUMINANCE_ALPHA_NV #x8703) (define-constant GL_SIGNED_LUMINANCE8_ALPHA8_NV #x8704) (define-constant GL_SIGNED_ALPHA_NV #x8705) (define-constant GL_SIGNED_ALPHA8_NV #x8706) (define-constant GL_SIGNED_INTENSITY_NV #x8707) (define-constant GL_SIGNED_INTENSITY8_NV #x8708) (define-constant GL_DSDT8_NV #x8709) (define-constant GL_DSDT8_MAG8_NV #x870a) (define-constant GL_DSDT8_MAG8_INTENSITY8_NV #x870b) (define-constant GL_SIGNED_RGB_UNSIGNED_ALPHA_NV #x870c) (define-constant GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV #x870d) (define-constant GL_HI_SCALE_NV #x870e) (define-constant GL_LO_SCALE_NV #x870f) (define-constant GL_DS_SCALE_NV #x8710) (define-constant GL_DT_SCALE_NV #x8711) (define-constant GL_MAGNITUDE_SCALE_NV #x8712) (define-constant GL_VIBRANCE_SCALE_NV #x8713) (define-constant GL_HI_BIAS_NV #x8714) (define-constant GL_LO_BIAS_NV #x8715) (define-constant GL_DS_BIAS_NV #x8716) (define-constant GL_DT_BIAS_NV #x8717) (define-constant GL_MAGNITUDE_BIAS_NV #x8718) (define-constant GL_VIBRANCE_BIAS_NV #x8719) (define-constant GL_TEXTURE_BORDER_VALUES_NV #x871a) (define-constant GL_TEXTURE_HI_SIZE_NV #x871b) (define-constant GL_TEXTURE_LO_SIZE_NV #x871c) (define-constant GL_TEXTURE_DS_SIZE_NV #x871d) (define-constant GL_TEXTURE_DT_SIZE_NV #x871e) (define-constant GL_TEXTURE_MAG_SIZE_NV #x871f) (define-constant GL_DOT_PRODUCT_TEXTURE_3D_NV #x86ef) (define-constant GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV #x8533) (define-constant GL_VERTEX_PROGRAM_NV #x8620) (define-constant GL_VERTEX_STATE_PROGRAM_NV #x8621) (define-constant GL_ATTRIB_ARRAY_SIZE_NV #x8623) (define-constant GL_ATTRIB_ARRAY_STRIDE_NV #x8624) (define-constant GL_ATTRIB_ARRAY_TYPE_NV #x8625) (define-constant GL_CURRENT_ATTRIB_NV #x8626) (define-constant GL_PROGRAM_LENGTH_NV #x8627) (define-constant GL_PROGRAM_STRING_NV #x8628) (define-constant GL_MODELVIEW_PROJECTION_NV #x8629) (define-constant GL_IDENTITY_NV #x862a) (define-constant GL_INVERSE_NV #x862b) (define-constant GL_TRANSPOSE_NV #x862c) (define-constant GL_INVERSE_TRANSPOSE_NV #x862d) (define-constant GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV #x862e) (define-constant GL_MAX_TRACK_MATRICES_NV #x862f) (define-constant GL_MATRIX0_NV #x8630) (define-constant GL_MATRIX1_NV #x8631) (define-constant GL_MATRIX2_NV #x8632) (define-constant GL_MATRIX3_NV #x8633) (define-constant GL_MATRIX4_NV #x8634) (define-constant GL_MATRIX5_NV #x8635) (define-constant GL_MATRIX6_NV #x8636) (define-constant GL_MATRIX7_NV #x8637) (define-constant GL_CURRENT_MATRIX_STACK_DEPTH_NV #x8640) (define-constant GL_CURRENT_MATRIX_NV #x8641) (define-constant GL_VERTEX_PROGRAM_POINT_SIZE_NV #x8642) (define-constant GL_VERTEX_PROGRAM_TWO_SIDE_NV #x8643) (define-constant GL_PROGRAM_PARAMETER_NV #x8644) (define-constant GL_ATTRIB_ARRAY_POINTER_NV #x8645) (define-constant GL_PROGRAM_TARGET_NV #x8646) (define-constant GL_PROGRAM_RESIDENT_NV #x8647) (define-constant GL_TRACK_MATRIX_NV #x8648) (define-constant GL_TRACK_MATRIX_TRANSFORM_NV #x8649) (define-constant GL_VERTEX_PROGRAM_BINDING_NV #x864a) (define-constant GL_PROGRAM_ERROR_POSITION_NV #x864b) (define-constant GL_VERTEX_ATTRIB_ARRAY0_NV #x8650) (define-constant GL_VERTEX_ATTRIB_ARRAY1_NV #x8651) (define-constant GL_VERTEX_ATTRIB_ARRAY2_NV #x8652) (define-constant GL_VERTEX_ATTRIB_ARRAY3_NV #x8653) (define-constant GL_VERTEX_ATTRIB_ARRAY4_NV #x8654) (define-constant GL_VERTEX_ATTRIB_ARRAY5_NV #x8655) (define-constant GL_VERTEX_ATTRIB_ARRAY6_NV #x8656) (define-constant GL_VERTEX_ATTRIB_ARRAY7_NV #x8657) (define-constant GL_VERTEX_ATTRIB_ARRAY8_NV #x8658) (define-constant GL_VERTEX_ATTRIB_ARRAY9_NV #x8659) (define-constant GL_VERTEX_ATTRIB_ARRAY10_NV #x865a) (define-constant GL_VERTEX_ATTRIB_ARRAY11_NV #x865b) (define-constant GL_VERTEX_ATTRIB_ARRAY12_NV #x865c) (define-constant GL_VERTEX_ATTRIB_ARRAY13_NV #x865d) (define-constant GL_VERTEX_ATTRIB_ARRAY14_NV #x865e) (define-constant GL_VERTEX_ATTRIB_ARRAY15_NV #x865f) (define-constant GL_MAP1_VERTEX_ATTRIB0_4_NV #x8660) (define-constant GL_MAP1_VERTEX_ATTRIB1_4_NV #x8661) (define-constant GL_MAP1_VERTEX_ATTRIB2_4_NV #x8662) (define-constant GL_MAP1_VERTEX_ATTRIB3_4_NV #x8663) (define-constant GL_MAP1_VERTEX_ATTRIB4_4_NV #x8664) (define-constant GL_MAP1_VERTEX_ATTRIB5_4_NV #x8665) (define-constant GL_MAP1_VERTEX_ATTRIB6_4_NV #x8666) (define-constant GL_MAP1_VERTEX_ATTRIB7_4_NV #x8667) (define-constant GL_MAP1_VERTEX_ATTRIB8_4_NV #x8668) (define-constant GL_MAP1_VERTEX_ATTRIB9_4_NV #x8669) (define-constant GL_MAP1_VERTEX_ATTRIB10_4_NV #x866a) (define-constant GL_MAP1_VERTEX_ATTRIB11_4_NV #x866b) (define-constant GL_MAP1_VERTEX_ATTRIB12_4_NV #x866c) (define-constant GL_MAP1_VERTEX_ATTRIB13_4_NV #x866d) (define-constant GL_MAP1_VERTEX_ATTRIB14_4_NV #x866e) (define-constant GL_MAP1_VERTEX_ATTRIB15_4_NV #x866f) (define-constant GL_MAP2_VERTEX_ATTRIB0_4_NV #x8670) (define-constant GL_MAP2_VERTEX_ATTRIB1_4_NV #x8671) (define-constant GL_MAP2_VERTEX_ATTRIB2_4_NV #x8672) (define-constant GL_MAP2_VERTEX_ATTRIB3_4_NV #x8673) (define-constant GL_MAP2_VERTEX_ATTRIB4_4_NV #x8674) (define-constant GL_MAP2_VERTEX_ATTRIB5_4_NV #x8675) (define-constant GL_MAP2_VERTEX_ATTRIB6_4_NV #x8676) (define-constant GL_MAP2_VERTEX_ATTRIB7_4_NV #x8677) (define-constant GL_MAP2_VERTEX_ATTRIB8_4_NV #x8678) (define-constant GL_MAP2_VERTEX_ATTRIB9_4_NV #x8679) (define-constant GL_MAP2_VERTEX_ATTRIB10_4_NV #x867a) (define-constant GL_MAP2_VERTEX_ATTRIB11_4_NV #x867b) (define-constant GL_MAP2_VERTEX_ATTRIB12_4_NV #x867c) (define-constant GL_MAP2_VERTEX_ATTRIB13_4_NV #x867d) (define-constant GL_MAP2_VERTEX_ATTRIB14_4_NV #x867e) (define-constant GL_MAP2_VERTEX_ATTRIB15_4_NV #x867f) (define-constant GL_TEXTURE_MAX_CLAMP_S_SGIX #x8369) (define-constant GL_TEXTURE_MAX_CLAMP_T_SGIX #x836a) (define-constant GL_TEXTURE_MAX_CLAMP_R_SGIX #x836b) (define-constant GL_SCALEBIAS_HINT_SGIX #x8322) (define-constant GL_INTERLACE_OML #x8980) (define-constant GL_INTERLACE_READ_OML #x8981) (define-constant GL_FORMAT_SUBSAMPLE_24_24_OML #x8982) (define-constant GL_FORMAT_SUBSAMPLE_244_244_OML #x8983) (define-constant GL_PACK_RESAMPLE_OML #x8984) (define-constant GL_UNPACK_RESAMPLE_OML #x8985) (define-constant GL_RESAMPLE_REPLICATE_OML #x8986) (define-constant GL_RESAMPLE_ZERO_FILL_OML #x8987) (define-constant GL_RESAMPLE_AVERAGE_OML #x8988) (define-constant GL_RESAMPLE_DECIMATE_OML #x8989) (define-constant GL_DEPTH_STENCIL_TO_RGBA_NV #x886e) (define-constant GL_DEPTH_STENCIL_TO_BGRA_NV #x886f) (define-constant GL_BUMP_ROT_MATRIX_ATI #x8775) (define-constant GL_BUMP_ROT_MATRIX_SIZE_ATI #x8776) (define-constant GL_BUMP_NUM_TEX_UNITS_ATI #x8777) (define-constant GL_BUMP_TEX_UNITS_ATI #x8778) (define-constant GL_DUDV_ATI #x8779) (define-constant GL_DU8DV8_ATI #x877a) (define-constant GL_BUMP_ENVMAP_ATI #x877b) (define-constant GL_BUMP_TARGET_ATI #x877c) (define-constant GL_FRAGMENT_SHADER_ATI #x8920) (define-constant GL_REG_0_ATI #x8921) (define-constant GL_REG_1_ATI #x8922) (define-constant GL_REG_2_ATI #x8923) (define-constant GL_REG_3_ATI #x8924) (define-constant GL_REG_4_ATI #x8925) (define-constant GL_REG_5_ATI #x8926) (define-constant GL_REG_6_ATI #x8927) (define-constant GL_REG_7_ATI #x8928) (define-constant GL_REG_8_ATI #x8929) (define-constant GL_REG_9_ATI #x892a) (define-constant GL_REG_10_ATI #x892b) (define-constant GL_REG_11_ATI #x892c) (define-constant GL_REG_12_ATI #x892d) (define-constant GL_REG_13_ATI #x892e) (define-constant GL_REG_14_ATI #x892f) (define-constant GL_REG_15_ATI #x8930) (define-constant GL_REG_16_ATI #x8931) (define-constant GL_REG_17_ATI #x8932) (define-constant GL_REG_18_ATI #x8933) (define-constant GL_REG_19_ATI #x8934) (define-constant GL_REG_20_ATI #x8935) (define-constant GL_REG_21_ATI #x8936) (define-constant GL_REG_22_ATI #x8937) (define-constant GL_REG_23_ATI #x8938) (define-constant GL_REG_24_ATI #x8939) (define-constant GL_REG_25_ATI #x893a) (define-constant GL_REG_26_ATI #x893b) (define-constant GL_REG_27_ATI #x893c) (define-constant GL_REG_28_ATI #x893d) (define-constant GL_REG_29_ATI #x893e) (define-constant GL_REG_30_ATI #x893f) (define-constant GL_REG_31_ATI #x8940) (define-constant GL_CON_0_ATI #x8941) (define-constant GL_CON_1_ATI #x8942) (define-constant GL_CON_2_ATI #x8943) (define-constant GL_CON_3_ATI #x8944) (define-constant GL_CON_4_ATI #x8945) (define-constant GL_CON_5_ATI #x8946) (define-constant GL_CON_6_ATI #x8947) (define-constant GL_CON_7_ATI #x8948) (define-constant GL_CON_8_ATI #x8949) (define-constant GL_CON_9_ATI #x894a) (define-constant GL_CON_10_ATI #x894b) (define-constant GL_CON_11_ATI #x894c) (define-constant GL_CON_12_ATI #x894d) (define-constant GL_CON_13_ATI #x894e) (define-constant GL_CON_14_ATI #x894f) (define-constant GL_CON_15_ATI #x8950) (define-constant GL_CON_16_ATI #x8951) (define-constant GL_CON_17_ATI #x8952) (define-constant GL_CON_18_ATI #x8953) (define-constant GL_CON_19_ATI #x8954) (define-constant GL_CON_20_ATI #x8955) (define-constant GL_CON_21_ATI #x8956) (define-constant GL_CON_22_ATI #x8957) (define-constant GL_CON_23_ATI #x8958) (define-constant GL_CON_24_ATI #x8959) (define-constant GL_CON_25_ATI #x895a) (define-constant GL_CON_26_ATI #x895b) (define-constant GL_CON_27_ATI #x895c) (define-constant GL_CON_28_ATI #x895d) (define-constant GL_CON_29_ATI #x895e) (define-constant GL_CON_30_ATI #x895f) (define-constant GL_CON_31_ATI #x8960) (define-constant GL_MOV_ATI #x8961) (define-constant GL_ADD_ATI #x8963) (define-constant GL_MUL_ATI #x8964) (define-constant GL_SUB_ATI #x8965) (define-constant GL_DOT3_ATI #x8966) (define-constant GL_DOT4_ATI #x8967) (define-constant GL_MAD_ATI #x8968) (define-constant GL_LERP_ATI #x8969) (define-constant GL_CND_ATI #x896a) (define-constant GL_CND0_ATI #x896b) (define-constant GL_DOT2_ADD_ATI #x896c) (define-constant GL_SECONDARY_INTERPOLATOR_ATI #x896d) (define-constant GL_NUM_FRAGMENT_REGISTERS_ATI #x896e) (define-constant GL_NUM_FRAGMENT_CONSTANTS_ATI #x896f) (define-constant GL_NUM_PASSES_ATI #x8970) (define-constant GL_NUM_INSTRUCTIONS_PER_PASS_ATI #x8971) (define-constant GL_NUM_INSTRUCTIONS_TOTAL_ATI #x8972) (define-constant GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI #x8973) (define-constant GL_NUM_LOOPBACK_COMPONENTS_ATI #x8974) (define-constant GL_COLOR_ALPHA_PAIRING_ATI #x8975) (define-constant GL_SWIZZLE_STR_ATI #x8976) (define-constant GL_SWIZZLE_STQ_ATI #x8977) (define-constant GL_SWIZZLE_STR_DR_ATI #x8978) (define-constant GL_SWIZZLE_STQ_DQ_ATI #x8979) (define-constant GL_SWIZZLE_STRQ_ATI #x897a) (define-constant GL_SWIZZLE_STRQ_DQ_ATI #x897b) (define-constant GL_RED_BIT_ATI #x0001) (define-constant GL_GREEN_BIT_ATI #x0002) (define-constant GL_BLUE_BIT_ATI #x0004) (define-constant GL_2X_BIT_ATI #x0001) (define-constant GL_4X_BIT_ATI #x0002) (define-constant GL_8X_BIT_ATI #x0004) (define-constant GL_HALF_BIT_ATI #x0008) (define-constant GL_QUARTER_BIT_ATI #x0010) (define-constant GL_EIGHTH_BIT_ATI #x0020) (define-constant GL_SATURATE_BIT_ATI #x0040) (define-constant GL_COMP_BIT_ATI #x0002) (define-constant GL_NEGATE_BIT_ATI #x0004) (define-constant GL_BIAS_BIT_ATI #x0008) (define-constant GL_PN_TRIANGLES_ATI #x87f0) (define-constant GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI #x87f1) (define-constant GL_PN_TRIANGLES_POINT_MODE_ATI #x87f2) (define-constant GL_PN_TRIANGLES_NORMAL_MODE_ATI #x87f3) (define-constant GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI #x87f4) (define-constant GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI #x87f5) (define-constant GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI #x87f6) (define-constant GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI #x87f7) (define-constant GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI #x87f8) (define-constant GL_STATIC_ATI #x8760) (define-constant GL_DYNAMIC_ATI #x8761) (define-constant GL_PRESERVE_ATI #x8762) (define-constant GL_DISCARD_ATI #x8763) (define-constant GL_OBJECT_BUFFER_SIZE_ATI #x8764) (define-constant GL_OBJECT_BUFFER_USAGE_ATI #x8765) (define-constant GL_ARRAY_OBJECT_BUFFER_ATI #x8766) (define-constant GL_ARRAY_OBJECT_OFFSET_ATI #x8767) (define-constant GL_VERTEX_SHADER_EXT #x8780) (define-constant GL_VERTEX_SHADER_BINDING_EXT #x8781) (define-constant GL_OP_INDEX_EXT #x8782) (define-constant GL_OP_NEGATE_EXT #x8783) (define-constant GL_OP_DOT3_EXT #x8784) (define-constant GL_OP_DOT4_EXT #x8785) (define-constant GL_OP_MUL_EXT #x8786) (define-constant GL_OP_ADD_EXT #x8787) (define-constant GL_OP_MADD_EXT #x8788) (define-constant GL_OP_FRAC_EXT #x8789) (define-constant GL_OP_MAX_EXT #x878a) (define-constant GL_OP_MIN_EXT #x878b) (define-constant GL_OP_SET_GE_EXT #x878c) (define-constant GL_OP_SET_LT_EXT #x878d) (define-constant GL_OP_CLAMP_EXT #x878e) (define-constant GL_OP_FLOOR_EXT #x878f) (define-constant GL_OP_ROUND_EXT #x8790) (define-constant GL_OP_EXP_BASE_2_EXT #x8791) (define-constant GL_OP_LOG_BASE_2_EXT #x8792) (define-constant GL_OP_POWER_EXT #x8793) (define-constant GL_OP_RECIP_EXT #x8794) (define-constant GL_OP_RECIP_SQRT_EXT #x8795) (define-constant GL_OP_SUB_EXT #x8796) (define-constant GL_OP_CROSS_PRODUCT_EXT #x8797) (define-constant GL_OP_MULTIPLY_MATRIX_EXT #x8798) (define-constant GL_OP_MOV_EXT #x8799) (define-constant GL_OUTPUT_VERTEX_EXT #x879a) (define-constant GL_OUTPUT_COLOR0_EXT #x879b) (define-constant GL_OUTPUT_COLOR1_EXT #x879c) (define-constant GL_OUTPUT_TEXTURE_COORD0_EXT #x879d) (define-constant GL_OUTPUT_TEXTURE_COORD1_EXT #x879e) (define-constant GL_OUTPUT_TEXTURE_COORD2_EXT #x879f) (define-constant GL_OUTPUT_TEXTURE_COORD3_EXT #x87a0) (define-constant GL_OUTPUT_TEXTURE_COORD4_EXT #x87a1) (define-constant GL_OUTPUT_TEXTURE_COORD5_EXT #x87a2) (define-constant GL_OUTPUT_TEXTURE_COORD6_EXT #x87a3) (define-constant GL_OUTPUT_TEXTURE_COORD7_EXT #x87a4) (define-constant GL_OUTPUT_TEXTURE_COORD8_EXT #x87a5) (define-constant GL_OUTPUT_TEXTURE_COORD9_EXT #x87a6) (define-constant GL_OUTPUT_TEXTURE_COORD10_EXT #x87a7) (define-constant GL_OUTPUT_TEXTURE_COORD11_EXT #x87a8) (define-constant GL_OUTPUT_TEXTURE_COORD12_EXT #x87a9) (define-constant GL_OUTPUT_TEXTURE_COORD13_EXT #x87aa) (define-constant GL_OUTPUT_TEXTURE_COORD14_EXT #x87ab) (define-constant GL_OUTPUT_TEXTURE_COORD15_EXT #x87ac) (define-constant GL_OUTPUT_TEXTURE_COORD16_EXT #x87ad) (define-constant GL_OUTPUT_TEXTURE_COORD17_EXT #x87ae) (define-constant GL_OUTPUT_TEXTURE_COORD18_EXT #x87af) (define-constant GL_OUTPUT_TEXTURE_COORD19_EXT #x87b0) (define-constant GL_OUTPUT_TEXTURE_COORD20_EXT #x87b1) (define-constant GL_OUTPUT_TEXTURE_COORD21_EXT #x87b2) (define-constant GL_OUTPUT_TEXTURE_COORD22_EXT #x87b3) (define-constant GL_OUTPUT_TEXTURE_COORD23_EXT #x87b4) (define-constant GL_OUTPUT_TEXTURE_COORD24_EXT #x87b5) (define-constant GL_OUTPUT_TEXTURE_COORD25_EXT #x87b6) (define-constant GL_OUTPUT_TEXTURE_COORD26_EXT #x87b7) (define-constant GL_OUTPUT_TEXTURE_COORD27_EXT #x87b8) (define-constant GL_OUTPUT_TEXTURE_COORD28_EXT #x87b9) (define-constant GL_OUTPUT_TEXTURE_COORD29_EXT #x87ba) (define-constant GL_OUTPUT_TEXTURE_COORD30_EXT #x87bb) (define-constant GL_OUTPUT_TEXTURE_COORD31_EXT #x87bc) (define-constant GL_OUTPUT_FOG_EXT #x87bd) (define-constant GL_SCALAR_EXT #x87be) (define-constant GL_VECTOR_EXT #x87bf) (define-constant GL_MATRIX_EXT #x87c0) (define-constant GL_VARIANT_EXT #x87c1) (define-constant GL_INVARIANT_EXT #x87c2) (define-constant GL_LOCAL_CONSTANT_EXT #x87c3) (define-constant GL_LOCAL_EXT #x87c4) (define-constant GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT #x87c5) (define-constant GL_MAX_VERTEX_SHADER_VARIANTS_EXT #x87c6) (define-constant GL_MAX_VERTEX_SHADER_INVARIANTS_EXT #x87c7) (define-constant GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT #x87c8) (define-constant GL_MAX_VERTEX_SHADER_LOCALS_EXT #x87c9) (define-constant GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT #x87ca) (define-constant GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT #x87cb) (define-constant GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT #x87cc) (define-constant GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT #x87cd) (define-constant GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT #x87ce) (define-constant GL_VERTEX_SHADER_INSTRUCTIONS_EXT #x87cf) (define-constant GL_VERTEX_SHADER_VARIANTS_EXT #x87d0) (define-constant GL_VERTEX_SHADER_INVARIANTS_EXT #x87d1) (define-constant GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT #x87d2) (define-constant GL_VERTEX_SHADER_LOCALS_EXT #x87d3) (define-constant GL_VERTEX_SHADER_OPTIMIZED_EXT #x87d4) (define-constant GL_X_EXT #x87d5) (define-constant GL_Y_EXT #x87d6) (define-constant GL_Z_EXT #x87d7) (define-constant GL_W_EXT #x87d8) (define-constant GL_NEGATIVE_X_EXT #x87d9) (define-constant GL_NEGATIVE_Y_EXT #x87da) (define-constant GL_NEGATIVE_Z_EXT #x87db) (define-constant GL_NEGATIVE_W_EXT #x87dc) (define-constant GL_ZERO_EXT #x87dd) (define-constant GL_ONE_EXT #x87de) (define-constant GL_NEGATIVE_ONE_EXT #x87df) (define-constant GL_NORMALIZED_RANGE_EXT #x87e0) (define-constant GL_FULL_RANGE_EXT #x87e1) (define-constant GL_CURRENT_VERTEX_EXT #x87e2) (define-constant GL_MVP_MATRIX_EXT #x87e3) (define-constant GL_VARIANT_VALUE_EXT #x87e4) (define-constant GL_VARIANT_DATATYPE_EXT #x87e5) (define-constant GL_VARIANT_ARRAY_STRIDE_EXT #x87e6) (define-constant GL_VARIANT_ARRAY_TYPE_EXT #x87e7) (define-constant GL_VARIANT_ARRAY_EXT #x87e8) (define-constant GL_VARIANT_ARRAY_POINTER_EXT #x87e9) (define-constant GL_INVARIANT_VALUE_EXT #x87ea) (define-constant GL_INVARIANT_DATATYPE_EXT #x87eb) (define-constant GL_LOCAL_CONSTANT_VALUE_EXT #x87ec) (define-constant GL_LOCAL_CONSTANT_DATATYPE_EXT #x87ed) (define-constant GL_MAX_VERTEX_STREAMS_ATI #x876b) (define-constant GL_VERTEX_STREAM0_ATI #x876c) (define-constant GL_VERTEX_STREAM1_ATI #x876d) (define-constant GL_VERTEX_STREAM2_ATI #x876e) (define-constant GL_VERTEX_STREAM3_ATI #x876f) (define-constant GL_VERTEX_STREAM4_ATI #x8770) (define-constant GL_VERTEX_STREAM5_ATI #x8771) (define-constant GL_VERTEX_STREAM6_ATI #x8772) (define-constant GL_VERTEX_STREAM7_ATI #x8773) (define-constant GL_VERTEX_SOURCE_ATI #x8774) (define-constant GL_ELEMENT_ARRAY_ATI #x8768) (define-constant GL_ELEMENT_ARRAY_TYPE_ATI #x8769) (define-constant GL_ELEMENT_ARRAY_POINTER_ATI #x876a) (define-constant GL_QUAD_MESH_SUN #x8614) (define-constant GL_TRIANGLE_MESH_SUN #x8615) (define-constant GL_SLICE_ACCUM_SUN #x85cc) (define-constant GL_MULTISAMPLE_FILTER_HINT_NV #x8534) (define-constant GL_DEPTH_CLAMP_NV #x864f) (define-constant GL_PIXEL_COUNTER_BITS_NV #x8864) (define-constant GL_CURRENT_OCCLUSION_QUERY_ID_NV #x8865) (define-constant GL_PIXEL_COUNT_NV #x8866) (define-constant GL_PIXEL_COUNT_AVAILABLE_NV #x8867) (define-constant GL_POINT_SPRITE_NV #x8861) (define-constant GL_COORD_REPLACE_NV #x8862) (define-constant GL_POINT_SPRITE_R_MODE_NV #x8863) (define-constant GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV #x8850) (define-constant GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV #x8851) (define-constant GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV #x8852) (define-constant GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV #x8853) (define-constant GL_OFFSET_HILO_TEXTURE_2D_NV #x8854) (define-constant GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV #x8855) (define-constant GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV #x8856) (define-constant GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV #x8857) (define-constant GL_DEPENDENT_HILO_TEXTURE_2D_NV #x8858) (define-constant GL_DEPENDENT_RGB_TEXTURE_3D_NV #x8859) (define-constant GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV #x885a) (define-constant GL_DOT_PRODUCT_PASS_THROUGH_NV #x885b) (define-constant GL_DOT_PRODUCT_TEXTURE_1D_NV #x885c) (define-constant GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV #x885d) (define-constant GL_HILO8_NV #x885e) (define-constant GL_SIGNED_HILO8_NV #x885f) (define-constant GL_FORCE_BLUE_TO_ONE_NV #x8860) (define-constant GL_STENCIL_TEST_TWO_SIDE_EXT #x8910) (define-constant GL_ACTIVE_STENCIL_FACE_EXT #x8911) (define-constant GL_TEXT_FRAGMENT_SHADER_ATI #x8200) (define-constant GL_UNPACK_CLIENT_STORAGE_APPLE #x85b2) (define-constant GL_ELEMENT_ARRAY_APPLE #x8a0c) (define-constant GL_ELEMENT_ARRAY_TYPE_APPLE #x8a0d) (define-constant GL_ELEMENT_ARRAY_POINTER_APPLE #x8a0e) (define-constant GL_DRAW_PIXELS_APPLE #x8a0a) (define-constant GL_FENCE_APPLE #x8a0b) (define-constant GL_VERTEX_ARRAY_BINDING_APPLE #x85b5) (define-constant GL_VERTEX_ARRAY_RANGE_APPLE #x851d) (define-constant GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE #x851e) (define-constant GL_VERTEX_ARRAY_STORAGE_HINT_APPLE #x851f) (define-constant GL_VERTEX_ARRAY_RANGE_POINTER_APPLE #x8521) (define-constant GL_STORAGE_CLIENT_APPLE #x85b4) (define-constant GL_STORAGE_CACHED_APPLE #x85be) (define-constant GL_STORAGE_SHARED_APPLE #x85bf) (define-constant GL_YCBCR_422_APPLE #x85b9) (define-constant GL_UNSIGNED_SHORT_8_8_APPLE #x85ba) (define-constant GL_UNSIGNED_SHORT_8_8_REV_APPLE #x85bb) (define-constant GL_RGB_S3TC #x83a0) (define-constant GL_RGB4_S3TC #x83a1) (define-constant GL_RGBA_S3TC #x83a2) (define-constant GL_RGBA4_S3TC #x83a3) (define-constant GL_MAX_DRAW_BUFFERS_ATI #x8824) (define-constant GL_DRAW_BUFFER0_ATI #x8825) (define-constant GL_DRAW_BUFFER1_ATI #x8826) (define-constant GL_DRAW_BUFFER2_ATI #x8827) (define-constant GL_DRAW_BUFFER3_ATI #x8828) (define-constant GL_DRAW_BUFFER4_ATI #x8829) (define-constant GL_DRAW_BUFFER5_ATI #x882a) (define-constant GL_DRAW_BUFFER6_ATI #x882b) (define-constant GL_DRAW_BUFFER7_ATI #x882c) (define-constant GL_DRAW_BUFFER8_ATI #x882d) (define-constant GL_DRAW_BUFFER9_ATI #x882e) (define-constant GL_DRAW_BUFFER10_ATI #x882f) (define-constant GL_DRAW_BUFFER11_ATI #x8830) (define-constant GL_DRAW_BUFFER12_ATI #x8831) (define-constant GL_DRAW_BUFFER13_ATI #x8832) (define-constant GL_DRAW_BUFFER14_ATI #x8833) (define-constant GL_DRAW_BUFFER15_ATI #x8834) (define-constant GL_TYPE_RGBA_FLOAT_ATI #x8820) (define-constant GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI #x8835) (define-constant GL_MODULATE_ADD_ATI #x8744) (define-constant GL_MODULATE_SIGNED_ADD_ATI #x8745) (define-constant GL_MODULATE_SUBTRACT_ATI #x8746) (define-constant GL_RGBA_FLOAT32_ATI #x8814) (define-constant GL_RGB_FLOAT32_ATI #x8815) (define-constant GL_ALPHA_FLOAT32_ATI #x8816) (define-constant GL_INTENSITY_FLOAT32_ATI #x8817) (define-constant GL_LUMINANCE_FLOAT32_ATI #x8818) (define-constant GL_LUMINANCE_ALPHA_FLOAT32_ATI #x8819) (define-constant GL_RGBA_FLOAT16_ATI #x881a) (define-constant GL_RGB_FLOAT16_ATI #x881b) (define-constant GL_ALPHA_FLOAT16_ATI #x881c) (define-constant GL_INTENSITY_FLOAT16_ATI #x881d) (define-constant GL_LUMINANCE_FLOAT16_ATI #x881e) (define-constant GL_LUMINANCE_ALPHA_FLOAT16_ATI #x881f) (define-constant GL_FLOAT_R_NV #x8880) (define-constant GL_FLOAT_RG_NV #x8881) (define-constant GL_FLOAT_RGB_NV #x8882) (define-constant GL_FLOAT_RGBA_NV #x8883) (define-constant GL_FLOAT_R16_NV #x8884) (define-constant GL_FLOAT_R32_NV #x8885) (define-constant GL_FLOAT_RG16_NV #x8886) (define-constant GL_FLOAT_RG32_NV #x8887) (define-constant GL_FLOAT_RGB16_NV #x8888) (define-constant GL_FLOAT_RGB32_NV #x8889) (define-constant GL_FLOAT_RGBA16_NV #x888a) (define-constant GL_FLOAT_RGBA32_NV #x888b) (define-constant GL_TEXTURE_FLOAT_COMPONENTS_NV #x888c) (define-constant GL_FLOAT_CLEAR_COLOR_VALUE_NV #x888d) (define-constant GL_FLOAT_RGBA_MODE_NV #x888e) (define-constant GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV #x8868) (define-constant GL_FRAGMENT_PROGRAM_NV #x8870) (define-constant GL_MAX_TEXTURE_COORDS_NV #x8871) (define-constant GL_MAX_TEXTURE_IMAGE_UNITS_NV #x8872) (define-constant GL_FRAGMENT_PROGRAM_BINDING_NV #x8873) (define-constant GL_PROGRAM_ERROR_STRING_NV #x8874) (define-constant GL_HALF_FLOAT_NV #x140b) (define-constant GL_WRITE_PIXEL_DATA_RANGE_NV #x8878) (define-constant GL_READ_PIXEL_DATA_RANGE_NV #x8879) (define-constant GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV #x887a) (define-constant GL_READ_PIXEL_DATA_RANGE_LENGTH_NV #x887b) (define-constant GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV #x887c) (define-constant GL_READ_PIXEL_DATA_RANGE_POINTER_NV #x887d) (define-constant GL_PRIMITIVE_RESTART_NV #x8558) (define-constant GL_PRIMITIVE_RESTART_INDEX_NV #x8559) (define-constant GL_TEXTURE_UNSIGNED_REMAP_MODE_NV #x888f) (define-constant GL_STENCIL_BACK_FUNC_ATI #x8800) (define-constant GL_STENCIL_BACK_FAIL_ATI #x8801) (define-constant GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI #x8802) (define-constant GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI #x8803) (define-constant GL_IMPLEMENTATION_COLOR_READ_TYPE_OES #x8b9a) (define-constant GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES #x8b9b) (define-constant GL_DEPTH_BOUNDS_TEST_EXT #x8890) (define-constant GL_DEPTH_BOUNDS_EXT #x8891) (define-constant GL_MIRROR_CLAMP_EXT #x8742) (define-constant GL_MIRROR_CLAMP_TO_EDGE_EXT #x8743) (define-constant GL_MIRROR_CLAMP_TO_BORDER_EXT #x8912) (define-constant GL_BLEND_EQUATION_RGB_EXT #x8009) (define-constant GL_BLEND_EQUATION_ALPHA_EXT #x883d) (define-constant GL_PACK_INVERT_MESA #x8758) (define-constant GL_UNSIGNED_SHORT_8_8_MESA #x85ba) (define-constant GL_UNSIGNED_SHORT_8_8_REV_MESA #x85bb) (define-constant GL_YCBCR_MESA #x8757) (define-constant GL_PIXEL_PACK_BUFFER_EXT #x88eb) (define-constant GL_PIXEL_UNPACK_BUFFER_EXT #x88ec) (define-constant GL_PIXEL_PACK_BUFFER_BINDING_EXT #x88ed) (define-constant GL_PIXEL_UNPACK_BUFFER_BINDING_EXT #x88ef) (define-constant GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV #x88f4) (define-constant GL_MAX_PROGRAM_CALL_DEPTH_NV #x88f5) (define-constant GL_MAX_PROGRAM_IF_DEPTH_NV #x88f6) (define-constant GL_MAX_PROGRAM_LOOP_DEPTH_NV #x88f7) (define-constant GL_MAX_PROGRAM_LOOP_COUNT_NV #x88f8) (define-constant GL_INVALID_FRAMEBUFFER_OPERATION_EXT #x0506) (define-constant GL_MAX_RENDERBUFFER_SIZE_EXT #x84e8) (define-constant GL_FRAMEBUFFER_BINDING_EXT #x8ca6) (define-constant GL_RENDERBUFFER_BINDING_EXT #x8ca7) (define-constant GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT #x8cd0) (define-constant GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT #x8cd1) (define-constant GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT #x8cd2) (define-constant GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT #x8cd3) (define-constant GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT #x8cd4) (define-constant GL_FRAMEBUFFER_COMPLETE_EXT #x8cd5) (define-constant GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT #x8cd6) (define-constant GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT #x8cd7) (define-constant GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT #x8cd9) (define-constant GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT #x8cda) (define-constant GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT #x8cdb) (define-constant GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT #x8cdc) (define-constant GL_FRAMEBUFFER_UNSUPPORTED_EXT #x8cdd) (define-constant GL_MAX_COLOR_ATTACHMENTS_EXT #x8cdf) (define-constant GL_COLOR_ATTACHMENT0_EXT #x8ce0) (define-constant GL_COLOR_ATTACHMENT1_EXT #x8ce1) (define-constant GL_COLOR_ATTACHMENT2_EXT #x8ce2) (define-constant GL_COLOR_ATTACHMENT3_EXT #x8ce3) (define-constant GL_COLOR_ATTACHMENT4_EXT #x8ce4) (define-constant GL_COLOR_ATTACHMENT5_EXT #x8ce5) (define-constant GL_COLOR_ATTACHMENT6_EXT #x8ce6) (define-constant GL_COLOR_ATTACHMENT7_EXT #x8ce7) (define-constant GL_COLOR_ATTACHMENT8_EXT #x8ce8) (define-constant GL_COLOR_ATTACHMENT9_EXT #x8ce9) (define-constant GL_COLOR_ATTACHMENT10_EXT #x8cea) (define-constant GL_COLOR_ATTACHMENT11_EXT #x8ceb) (define-constant GL_COLOR_ATTACHMENT12_EXT #x8cec) (define-constant GL_COLOR_ATTACHMENT13_EXT #x8ced) (define-constant GL_COLOR_ATTACHMENT14_EXT #x8cee) (define-constant GL_COLOR_ATTACHMENT15_EXT #x8cef) (define-constant GL_DEPTH_ATTACHMENT_EXT #x8d00) (define-constant GL_STENCIL_ATTACHMENT_EXT #x8d20) (define-constant GL_FRAMEBUFFER_EXT #x8d40) (define-constant GL_RENDERBUFFER_EXT #x8d41) (define-constant GL_RENDERBUFFER_WIDTH_EXT #x8d42) (define-constant GL_RENDERBUFFER_HEIGHT_EXT #x8d43) (define-constant GL_RENDERBUFFER_INTERNAL_FORMAT_EXT #x8d44) (define-constant GL_STENCIL_INDEX1_EXT #x8d46) (define-constant GL_STENCIL_INDEX4_EXT #x8d47) (define-constant GL_STENCIL_INDEX8_EXT #x8d48) (define-constant GL_STENCIL_INDEX16_EXT #x8d49) (define-constant GL_RENDERBUFFER_RED_SIZE_EXT #x8d50) (define-constant GL_RENDERBUFFER_GREEN_SIZE_EXT #x8d51) (define-constant GL_RENDERBUFFER_BLUE_SIZE_EXT #x8d52) (define-constant GL_RENDERBUFFER_ALPHA_SIZE_EXT #x8d53) (define-constant GL_RENDERBUFFER_DEPTH_SIZE_EXT #x8d54) (define-constant GL_RENDERBUFFER_STENCIL_SIZE_EXT #x8d55) (define-constant GL_DEPTH_STENCIL_EXT #x84f9) (define-constant GL_UNSIGNED_INT_24_8_EXT #x84fa) (define-constant GL_DEPTH24_STENCIL8_EXT #x88f0) (define-constant GL_TEXTURE_STENCIL_SIZE_EXT #x88f1) (define-constant GL_STENCIL_TAG_BITS_EXT #x88f2) (define-constant GL_STENCIL_CLEAR_TAG_VALUE_EXT #x88f3) (define-constant GL_SRGB_EXT #x8c40) (define-constant GL_SRGB8_EXT #x8c41) (define-constant GL_SRGB_ALPHA_EXT #x8c42) (define-constant GL_SRGB8_ALPHA8_EXT #x8c43) (define-constant GL_SLUMINANCE_ALPHA_EXT #x8c44) (define-constant GL_SLUMINANCE8_ALPHA8_EXT #x8c45) (define-constant GL_SLUMINANCE_EXT #x8c46) (define-constant GL_SLUMINANCE8_EXT #x8c47) (define-constant GL_COMPRESSED_SRGB_EXT #x8c48) (define-constant GL_COMPRESSED_SRGB_ALPHA_EXT #x8c49) (define-constant GL_COMPRESSED_SLUMINANCE_EXT #x8c4a) (define-constant GL_COMPRESSED_SLUMINANCE_ALPHA_EXT #x8c4b) (define-constant GL_COMPRESSED_SRGB_S3TC_DXT1_EXT #x8c4c) (define-constant GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT #x8c4d) (define-constant GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT #x8c4e) (define-constant GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT #x8c4f) (define-constant GL_READ_FRAMEBUFFER_EXT #x8ca8) (define-constant GL_DRAW_FRAMEBUFFER_EXT #x8ca9) (define-constant GL_DRAW_FRAMEBUFFER_BINDING_EXT #x8ca6) (define-constant GL_READ_FRAMEBUFFER_BINDING_EXT #x8caa) (define-constant GL_RENDERBUFFER_SAMPLES_EXT #x8cab) (define-constant GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT #x8d56) (define-constant GL_MAX_SAMPLES_EXT #x8d57) (define-constant GL_TEXTURE_1D_STACK_MESAX #x8759) (define-constant GL_TEXTURE_2D_STACK_MESAX #x875a) (define-constant GL_PROXY_TEXTURE_1D_STACK_MESAX #x875b) (define-constant GL_PROXY_TEXTURE_2D_STACK_MESAX #x875c) (define-constant GL_TEXTURE_1D_STACK_BINDING_MESAX #x875d) (define-constant GL_TEXTURE_2D_STACK_BINDING_MESAX #x875e) (define-constant GL_TIME_ELAPSED_EXT #x88bf) (define-constant GL_BUFFER_SERIALIZED_MODIFY_APPLE #x8a12) (define-constant GL_BUFFER_FLUSHING_UNMAP_APPLE #x8a13) (define-constant GL_MIN_PROGRAM_TEXEL_OFFSET_NV #x8904) (define-constant GL_MAX_PROGRAM_TEXEL_OFFSET_NV #x8905) (define-constant GL_PROGRAM_ATTRIB_COMPONENTS_NV #x8906) (define-constant GL_PROGRAM_RESULT_COMPONENTS_NV #x8907) (define-constant GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV #x8908) (define-constant GL_MAX_PROGRAM_RESULT_COMPONENTS_NV #x8909) (define-constant GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV #x8da5) (define-constant GL_MAX_PROGRAM_GENERIC_RESULTS_NV #x8da6) (define-constant GL_LINES_ADJACENCY_EXT #x000a) (define-constant GL_LINE_STRIP_ADJACENCY_EXT #x000b) (define-constant GL_TRIANGLES_ADJACENCY_EXT #x000c) (define-constant GL_TRIANGLE_STRIP_ADJACENCY_EXT #x000d) (define-constant GL_GEOMETRY_PROGRAM_NV #x8c26) (define-constant GL_MAX_PROGRAM_OUTPUT_VERTICES_NV #x8c27) (define-constant GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV #x8c28) (define-constant GL_GEOMETRY_VERTICES_OUT_EXT #x8dda) (define-constant GL_GEOMETRY_INPUT_TYPE_EXT #x8ddb) (define-constant GL_GEOMETRY_OUTPUT_TYPE_EXT #x8ddc) (define-constant GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT #x8c29) (define-constant GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT #x8da7) (define-constant GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT #x8da8) (define-constant GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT #x8da9) (define-constant GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT #x8cd4) (define-constant GL_PROGRAM_POINT_SIZE_EXT #x8642) (define-constant GL_GEOMETRY_SHADER_EXT #x8dd9) (define-constant GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT #x8ddd) (define-constant GL_MAX_VERTEX_VARYING_COMPONENTS_EXT #x8dde) (define-constant GL_MAX_VARYING_COMPONENTS_EXT #x8b4b) (define-constant GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT #x8ddf) (define-constant GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT #x8de0) (define-constant GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT #x8de1) (define-constant GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV #x88fd) (define-constant GL_SAMPLER_1D_ARRAY_EXT #x8dc0) (define-constant GL_SAMPLER_2D_ARRAY_EXT #x8dc1) (define-constant GL_SAMPLER_BUFFER_EXT #x8dc2) (define-constant GL_SAMPLER_1D_ARRAY_SHADOW_EXT #x8dc3) (define-constant GL_SAMPLER_2D_ARRAY_SHADOW_EXT #x8dc4) (define-constant GL_SAMPLER_CUBE_SHADOW_EXT #x8dc5) (define-constant GL_UNSIGNED_INT_VEC2_EXT #x8dc6) (define-constant GL_UNSIGNED_INT_VEC3_EXT #x8dc7) (define-constant GL_UNSIGNED_INT_VEC4_EXT #x8dc8) (define-constant GL_INT_SAMPLER_1D_EXT #x8dc9) (define-constant GL_INT_SAMPLER_2D_EXT #x8dca) (define-constant GL_INT_SAMPLER_3D_EXT #x8dcb) (define-constant GL_INT_SAMPLER_CUBE_EXT #x8dcc) (define-constant GL_INT_SAMPLER_2D_RECT_EXT #x8dcd) (define-constant GL_INT_SAMPLER_1D_ARRAY_EXT #x8dce) (define-constant GL_INT_SAMPLER_2D_ARRAY_EXT #x8dcf) (define-constant GL_INT_SAMPLER_BUFFER_EXT #x8dd0) (define-constant GL_UNSIGNED_INT_SAMPLER_1D_EXT #x8dd1) (define-constant GL_UNSIGNED_INT_SAMPLER_2D_EXT #x8dd2) (define-constant GL_UNSIGNED_INT_SAMPLER_3D_EXT #x8dd3) (define-constant GL_UNSIGNED_INT_SAMPLER_CUBE_EXT #x8dd4) (define-constant GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT #x8dd5) (define-constant GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT #x8dd6) (define-constant GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT #x8dd7) (define-constant GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT #x8dd8) (define-constant GL_R11F_G11F_B10F_EXT #x8c3a) (define-constant GL_UNSIGNED_INT_10F_11F_11F_REV_EXT #x8c3b) (define-constant GL_RGBA_SIGNED_COMPONENTS_EXT #x8c3c) (define-constant GL_TEXTURE_1D_ARRAY_EXT #x8c18) (define-constant GL_PROXY_TEXTURE_1D_ARRAY_EXT #x8c19) (define-constant GL_TEXTURE_2D_ARRAY_EXT #x8c1a) (define-constant GL_PROXY_TEXTURE_2D_ARRAY_EXT #x8c1b) (define-constant GL_TEXTURE_BINDING_1D_ARRAY_EXT #x8c1c) (define-constant GL_TEXTURE_BINDING_2D_ARRAY_EXT #x8c1d) (define-constant GL_MAX_ARRAY_TEXTURE_LAYERS_EXT #x88ff) (define-constant GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT #x884e) (define-constant GL_TEXTURE_BUFFER_EXT #x8c2a) (define-constant GL_MAX_TEXTURE_BUFFER_SIZE_EXT #x8c2b) (define-constant GL_TEXTURE_BINDING_BUFFER_EXT #x8c2c) (define-constant GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT #x8c2d) (define-constant GL_TEXTURE_BUFFER_FORMAT_EXT #x8c2e) (define-constant GL_COMPRESSED_LUMINANCE_LATC1_EXT #x8c70) (define-constant GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT #x8c71) (define-constant GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT #x8c72) (define-constant GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT #x8c73) (define-constant GL_COMPRESSED_RED_RGTC1_EXT #x8dbb) (define-constant GL_COMPRESSED_SIGNED_RED_RGTC1_EXT #x8dbc) (define-constant GL_COMPRESSED_RED_GREEN_RGTC2_EXT #x8dbd) (define-constant GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT #x8dbe) (define-constant GL_RGB9_E5_EXT #x8c3d) (define-constant GL_UNSIGNED_INT_5_9_9_9_REV_EXT #x8c3e) (define-constant GL_TEXTURE_SHARED_SIZE_EXT #x8c3f) (define-constant GL_DEPTH_COMPONENT32F_NV #x8dab) (define-constant GL_DEPTH32F_STENCIL8_NV #x8dac) (define-constant GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV #x8dad) (define-constant GL_DEPTH_BUFFER_FLOAT_MODE_NV #x8daf) (define-constant GL_RENDERBUFFER_COVERAGE_SAMPLES_NV #x8cab) (define-constant GL_RENDERBUFFER_COLOR_SAMPLES_NV #x8e10) (define-constant GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV #x8e11) (define-constant GL_MULTISAMPLE_COVERAGE_MODES_NV #x8e12) (define-constant GL_FRAMEBUFFER_SRGB_EXT #x8db9) (define-constant GL_FRAMEBUFFER_SRGB_CAPABLE_EXT #x8dba) (define-constant GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV #x8da0) (define-constant GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV #x8da1) (define-constant GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV #x8da2) (define-constant GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV #x8da3) (define-constant GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV #x8da4) (define-constant GL_BACK_PRIMARY_COLOR_NV #x8c77) (define-constant GL_BACK_SECONDARY_COLOR_NV #x8c78) (define-constant GL_TEXTURE_COORD_NV #x8c79) (define-constant GL_CLIP_DISTANCE_NV #x8c7a) (define-constant GL_VERTEX_ID_NV #x8c7b) (define-constant GL_PRIMITIVE_ID_NV #x8c7c) (define-constant GL_GENERIC_ATTRIB_NV #x8c7d) (define-constant GL_TRANSFORM_FEEDBACK_ATTRIBS_NV #x8c7e) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV #x8c7f) (define-constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV #x8c80) (define-constant GL_ACTIVE_VARYINGS_NV #x8c81) (define-constant GL_ACTIVE_VARYING_MAX_LENGTH_NV #x8c82) (define-constant GL_TRANSFORM_FEEDBACK_VARYINGS_NV #x8c83) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_START_NV #x8c84) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV #x8c85) (define-constant GL_TRANSFORM_FEEDBACK_RECORD_NV #x8c86) (define-constant GL_PRIMITIVES_GENERATED_NV #x8c87) (define-constant GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV #x8c88) (define-constant GL_RASTERIZER_DISCARD_NV #x8c89) (define-constant GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV #x8c8a) (define-constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV #x8c8b) (define-constant GL_INTERLEAVED_ATTRIBS_NV #x8c8c) (define-constant GL_SEPARATE_ATTRIBS_NV #x8c8d) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_NV #x8c8e) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV #x8c8f) (define-constant GL_LAYER_NV #x8daa) (define-constant GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT #x8de2) (define-constant GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT #x8de3) (define-constant GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT #x8de4) (define-constant GL_MAX_BINDABLE_UNIFORM_SIZE_EXT #x8ded) (define-constant GL_UNIFORM_BUFFER_EXT #x8dee) (define-constant GL_UNIFORM_BUFFER_BINDING_EXT #x8def) (define-constant GL_RGBA32UI_EXT #x8d70) (define-constant GL_RGB32UI_EXT #x8d71) (define-constant GL_ALPHA32UI_EXT #x8d72) (define-constant GL_INTENSITY32UI_EXT #x8d73) (define-constant GL_LUMINANCE32UI_EXT #x8d74) (define-constant GL_LUMINANCE_ALPHA32UI_EXT #x8d75) (define-constant GL_RGBA16UI_EXT #x8d76) (define-constant GL_RGB16UI_EXT #x8d77) (define-constant GL_ALPHA16UI_EXT #x8d78) (define-constant GL_INTENSITY16UI_EXT #x8d79) (define-constant GL_LUMINANCE16UI_EXT #x8d7a) (define-constant GL_LUMINANCE_ALPHA16UI_EXT #x8d7b) (define-constant GL_RGBA8UI_EXT #x8d7c) (define-constant GL_RGB8UI_EXT #x8d7d) (define-constant GL_ALPHA8UI_EXT #x8d7e) (define-constant GL_INTENSITY8UI_EXT #x8d7f) (define-constant GL_LUMINANCE8UI_EXT #x8d80) (define-constant GL_LUMINANCE_ALPHA8UI_EXT #x8d81) (define-constant GL_RGBA32I_EXT #x8d82) (define-constant GL_RGB32I_EXT #x8d83) (define-constant GL_ALPHA32I_EXT #x8d84) (define-constant GL_INTENSITY32I_EXT #x8d85) (define-constant GL_LUMINANCE32I_EXT #x8d86) (define-constant GL_LUMINANCE_ALPHA32I_EXT #x8d87) (define-constant GL_RGBA16I_EXT #x8d88) (define-constant GL_RGB16I_EXT #x8d89) (define-constant GL_ALPHA16I_EXT #x8d8a) (define-constant GL_INTENSITY16I_EXT #x8d8b) (define-constant GL_LUMINANCE16I_EXT #x8d8c) (define-constant GL_LUMINANCE_ALPHA16I_EXT #x8d8d) (define-constant GL_RGBA8I_EXT #x8d8e) (define-constant GL_RGB8I_EXT #x8d8f) (define-constant GL_ALPHA8I_EXT #x8d90) (define-constant GL_INTENSITY8I_EXT #x8d91) (define-constant GL_LUMINANCE8I_EXT #x8d92) (define-constant GL_LUMINANCE_ALPHA8I_EXT #x8d93) (define-constant GL_RED_INTEGER_EXT #x8d94) (define-constant GL_GREEN_INTEGER_EXT #x8d95) (define-constant GL_BLUE_INTEGER_EXT #x8d96) (define-constant GL_ALPHA_INTEGER_EXT #x8d97) (define-constant GL_RGB_INTEGER_EXT #x8d98) (define-constant GL_RGBA_INTEGER_EXT #x8d99) (define-constant GL_BGR_INTEGER_EXT #x8d9a) (define-constant GL_BGRA_INTEGER_EXT #x8d9b) (define-constant GL_LUMINANCE_INTEGER_EXT #x8d9c) (define-constant GL_LUMINANCE_ALPHA_INTEGER_EXT #x8d9d) (define-constant GL_RGBA_INTEGER_MODE_EXT #x8d9e) (define-constant GL_QUERY_WAIT_NV #x8e13) (define-constant GL_QUERY_NO_WAIT_NV #x8e14) (define-constant GL_QUERY_BY_REGION_WAIT_NV #x8e15) (define-constant GL_QUERY_BY_REGION_NO_WAIT_NV #x8e16) (define-constant GL_FRAME_NV #x8e26) (define-constant GL_FIELDS_NV #x8e27) (define-constant GL_CURRENT_TIME_NV #x8e28) (define-constant GL_NUM_FILL_STREAMS_NV #x8e29) (define-constant GL_PRESENT_TIME_NV #x8e2a) (define-constant GL_PRESENT_DURATION_NV #x8e2b) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_EXT #x8c8e) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT #x8c84) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT #x8c85) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT #x8c8f) (define-constant GL_INTERLEAVED_ATTRIBS_EXT #x8c8c) (define-constant GL_SEPARATE_ATTRIBS_EXT #x8c8d) (define-constant GL_PRIMITIVES_GENERATED_EXT #x8c87) (define-constant GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT #x8c88) (define-constant GL_RASTERIZER_DISCARD_EXT #x8c89) (define-constant GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT #x8c8a) (define-constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT #x8c8b) (define-constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT #x8c80) (define-constant GL_TRANSFORM_FEEDBACK_VARYINGS_EXT #x8c83) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT #x8c7f) (define-constant GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT #x8c76) (define-constant GL_PROGRAM_MATRIX_EXT #x8e2d) (define-constant GL_TRANSPOSE_PROGRAM_MATRIX_EXT #x8e2e) (define-constant GL_PROGRAM_MATRIX_STACK_DEPTH_EXT #x8e2f) (define-constant GL_TEXTURE_SWIZZLE_R_EXT #x8e42) (define-constant GL_TEXTURE_SWIZZLE_G_EXT #x8e43) (define-constant GL_TEXTURE_SWIZZLE_B_EXT #x8e44) (define-constant GL_TEXTURE_SWIZZLE_A_EXT #x8e45) (define-constant GL_TEXTURE_SWIZZLE_RGBA_EXT #x8e46) (define-constant GL_SAMPLE_POSITION_NV #x8e50) (define-constant GL_SAMPLE_MASK_NV #x8e51) (define-constant GL_SAMPLE_MASK_VALUE_NV #x8e52) (define-constant GL_TEXTURE_BINDING_RENDERBUFFER_NV #x8e53) (define-constant GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV #x8e54) (define-constant GL_TEXTURE_RENDERBUFFER_NV #x8e55) (define-constant GL_SAMPLER_RENDERBUFFER_NV #x8e56) (define-constant GL_INT_SAMPLER_RENDERBUFFER_NV #x8e57) (define-constant GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV #x8e58) (define-constant GL_MAX_SAMPLE_MASK_WORDS_NV #x8e59) (define-constant GL_TRANSFORM_FEEDBACK_NV #x8e22) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV #x8e23) (define-constant GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV #x8e24) (define-constant GL_TRANSFORM_FEEDBACK_BINDING_NV #x8e25) (define-constant GL_VBO_FREE_MEMORY_ATI #x87fb) (define-constant GL_TEXTURE_FREE_MEMORY_ATI #x87fc) (define-constant GL_RENDERBUFFER_FREE_MEMORY_ATI #x87fd) (define-constant GL_COUNTER_TYPE_AMD #x8bc0) (define-constant GL_COUNTER_RANGE_AMD #x8bc1) (define-constant GL_UNSIGNED_INT64_AMD #x8bc2) (define-constant GL_PERCENTAGE_AMD #x8bc3) (define-constant GL_PERFMON_RESULT_AVAILABLE_AMD #x8bc4) (define-constant GL_PERFMON_RESULT_SIZE_AMD #x8bc5) (define-constant GL_PERFMON_RESULT_AMD #x8bc6) (define-constant GL_SAMPLER_BUFFER_AMD #x9001) (define-constant GL_INT_SAMPLER_BUFFER_AMD #x9002) (define-constant GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD #x9003) (define-constant GL_TESSELLATION_MODE_AMD #x9004) (define-constant GL_TESSELLATION_FACTOR_AMD #x9005) (define-constant GL_DISCRETE_AMD #x9006) (define-constant GL_CONTINUOUS_AMD #x9007) (define-constant GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT #x8e4c) (define-constant GL_FIRST_VERTEX_CONVENTION_EXT #x8e4d) (define-constant GL_LAST_VERTEX_CONVENTION_EXT #x8e4e) (define-constant GL_PROVOKING_VERTEX_EXT #x8e4f) (define-constant GL_ALPHA_SNORM #x9010) (define-constant GL_LUMINANCE_SNORM #x9011) (define-constant GL_LUMINANCE_ALPHA_SNORM #x9012) (define-constant GL_INTENSITY_SNORM #x9013) (define-constant GL_ALPHA8_SNORM #x9014) (define-constant GL_LUMINANCE8_SNORM #x9015) (define-constant GL_LUMINANCE8_ALPHA8_SNORM #x9016) (define-constant GL_INTENSITY8_SNORM #x9017) (define-constant GL_ALPHA16_SNORM #x9018) (define-constant GL_LUMINANCE16_SNORM #x9019) (define-constant GL_LUMINANCE16_ALPHA16_SNORM #x901a) (define-constant GL_INTENSITY16_SNORM #x901b) (define-constant GL_TEXTURE_RANGE_LENGTH_APPLE #x85b7) (define-constant GL_TEXTURE_RANGE_POINTER_APPLE #x85b8) (define-constant GL_TEXTURE_STORAGE_HINT_APPLE #x85bc) (define-constant GL_STORAGE_PRIVATE_APPLE #x85bd) (define-constant GL_HALF_APPLE #x140b) (define-constant GL_RGBA_FLOAT32_APPLE #x8814) (define-constant GL_RGB_FLOAT32_APPLE #x8815) (define-constant GL_ALPHA_FLOAT32_APPLE #x8816) (define-constant GL_INTENSITY_FLOAT32_APPLE #x8817) (define-constant GL_LUMINANCE_FLOAT32_APPLE #x8818) (define-constant GL_LUMINANCE_ALPHA_FLOAT32_APPLE #x8819) (define-constant GL_RGBA_FLOAT16_APPLE #x881a) (define-constant GL_RGB_FLOAT16_APPLE #x881b) (define-constant GL_ALPHA_FLOAT16_APPLE #x881c) (define-constant GL_INTENSITY_FLOAT16_APPLE #x881d) (define-constant GL_LUMINANCE_FLOAT16_APPLE #x881e) (define-constant GL_LUMINANCE_ALPHA_FLOAT16_APPLE #x881f) (define-constant GL_COLOR_FLOAT_APPLE #x8a0f) (define-constant GL_VERTEX_ATTRIB_MAP1_APPLE #x8a00) (define-constant GL_VERTEX_ATTRIB_MAP2_APPLE #x8a01) (define-constant GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE #x8a02) (define-constant GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE #x8a03) (define-constant GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE #x8a04) (define-constant GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE #x8a05) (define-constant GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE #x8a06) (define-constant GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE #x8a07) (define-constant GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE #x8a08) (define-constant GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE #x8a09) (define-constant GL_AUX_DEPTH_STENCIL_APPLE #x8a14) (define-constant GL_BUFFER_OBJECT_APPLE #x85b3) (define-constant GL_RELEASED_APPLE #x8a19) (define-constant GL_VOLATILE_APPLE #x8a1a) (define-constant GL_RETAINED_APPLE #x8a1b) (define-constant GL_UNDEFINED_APPLE #x8a1c) (define-constant GL_PURGEABLE_APPLE #x8a1d) (define-constant GL_PACK_ROW_BYTES_APPLE #x8a15) (define-constant GL_UNPACK_ROW_BYTES_APPLE #x8a16) (define-constant GL_RGB_422_APPLE #x8a1f) (define-constant GL_VIDEO_BUFFER_NV #x9020) (define-constant GL_VIDEO_BUFFER_BINDING_NV #x9021) (define-constant GL_FIELD_UPPER_NV #x9022) (define-constant GL_FIELD_LOWER_NV #x9023) (define-constant GL_NUM_VIDEO_CAPTURE_STREAMS_NV #x9024) (define-constant GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV #x9025) (define-constant GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV #x9026) (define-constant GL_LAST_VIDEO_CAPTURE_STATUS_NV #x9027) (define-constant GL_VIDEO_BUFFER_PITCH_NV #x9028) (define-constant GL_VIDEO_COLOR_CONVERSION_MATRIX_NV #x9029) (define-constant GL_VIDEO_COLOR_CONVERSION_MAX_NV #x902a) (define-constant GL_VIDEO_COLOR_CONVERSION_MIN_NV #x902b) (define-constant GL_VIDEO_COLOR_CONVERSION_OFFSET_NV #x902c) (define-constant GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV #x902d) (define-constant GL_PARTIAL_SUCCESS_NV #x902e) (define-constant GL_SUCCESS_NV #x902f) (define-constant GL_FAILURE_NV #x9030) (define-constant GL_YCBYCR8_422_NV #x9031) (define-constant GL_YCBAYCR8A_4224_NV #x9032) (define-constant GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV #x9033) (define-constant GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV #x9034) (define-constant GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV #x9035) (define-constant GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV #x9036) (define-constant GL_Z4Y12Z4CB12Z4CR12_444_NV #x9037) (define-constant GL_VIDEO_CAPTURE_FRAME_WIDTH_NV #x9038) (define-constant GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV #x9039) (define-constant GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV #x903a) (define-constant GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV #x903b) (define-constant GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV #x903c) (define-constant GL_ACTIVE_PROGRAM_EXT #x8b8d) (define-constant GL_BUFFER_GPU_ADDRESS_NV #x8f1d) (define-constant GL_GPU_ADDRESS_NV #x8f34) (define-constant GL_MAX_SHADER_BUFFER_ADDRESS_NV #x8f35) (define-constant GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV #x8f1e) (define-constant GL_ELEMENT_ARRAY_UNIFIED_NV #x8f1f) (define-constant GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV #x8f20) (define-constant GL_VERTEX_ARRAY_ADDRESS_NV #x8f21) (define-constant GL_NORMAL_ARRAY_ADDRESS_NV #x8f22) (define-constant GL_COLOR_ARRAY_ADDRESS_NV #x8f23) (define-constant GL_INDEX_ARRAY_ADDRESS_NV #x8f24) (define-constant GL_TEXTURE_COORD_ARRAY_ADDRESS_NV #x8f25) (define-constant GL_EDGE_FLAG_ARRAY_ADDRESS_NV #x8f26) (define-constant GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV #x8f27) (define-constant GL_FOG_COORD_ARRAY_ADDRESS_NV #x8f28) (define-constant GL_ELEMENT_ARRAY_ADDRESS_NV #x8f29) (define-constant GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV #x8f2a) (define-constant GL_VERTEX_ARRAY_LENGTH_NV #x8f2b) (define-constant GL_NORMAL_ARRAY_LENGTH_NV #x8f2c) (define-constant GL_COLOR_ARRAY_LENGTH_NV #x8f2d) (define-constant GL_INDEX_ARRAY_LENGTH_NV #x8f2e) (define-constant GL_TEXTURE_COORD_ARRAY_LENGTH_NV #x8f2f) (define-constant GL_EDGE_FLAG_ARRAY_LENGTH_NV #x8f30) (define-constant GL_SECONDARY_COLOR_ARRAY_LENGTH_NV #x8f31) (define-constant GL_FOG_COORD_ARRAY_LENGTH_NV #x8f32) (define-constant GL_ELEMENT_ARRAY_LENGTH_NV #x8f33) (define-constant GL_DRAW_INDIRECT_UNIFIED_NV #x8f40) (define-constant GL_DRAW_INDIRECT_ADDRESS_NV #x8f41) (define-constant GL_DRAW_INDIRECT_LENGTH_NV #x8f42) (define-constant GL_MAX_IMAGE_UNITS_EXT #x8f38) (define-constant GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT #x8f39) (define-constant GL_IMAGE_BINDING_NAME_EXT #x8f3a) (define-constant GL_IMAGE_BINDING_LEVEL_EXT #x8f3b) (define-constant GL_IMAGE_BINDING_LAYERED_EXT #x8f3c) (define-constant GL_IMAGE_BINDING_LAYER_EXT #x8f3d) (define-constant GL_IMAGE_BINDING_ACCESS_EXT #x8f3e) (define-constant GL_IMAGE_1D_EXT #x904c) (define-constant GL_IMAGE_2D_EXT #x904d) (define-constant GL_IMAGE_3D_EXT #x904e) (define-constant GL_IMAGE_2D_RECT_EXT #x904f) (define-constant GL_IMAGE_CUBE_EXT #x9050) (define-constant GL_IMAGE_BUFFER_EXT #x9051) (define-constant GL_IMAGE_1D_ARRAY_EXT #x9052) (define-constant GL_IMAGE_2D_ARRAY_EXT #x9053) (define-constant GL_IMAGE_CUBE_MAP_ARRAY_EXT #x9054) (define-constant GL_IMAGE_2D_MULTISAMPLE_EXT #x9055) (define-constant GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT #x9056) (define-constant GL_INT_IMAGE_1D_EXT #x9057) (define-constant GL_INT_IMAGE_2D_EXT #x9058) (define-constant GL_INT_IMAGE_3D_EXT #x9059) (define-constant GL_INT_IMAGE_2D_RECT_EXT #x905a) (define-constant GL_INT_IMAGE_CUBE_EXT #x905b) (define-constant GL_INT_IMAGE_BUFFER_EXT #x905c) (define-constant GL_INT_IMAGE_1D_ARRAY_EXT #x905d) (define-constant GL_INT_IMAGE_2D_ARRAY_EXT #x905e) (define-constant GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT #x905f) (define-constant GL_INT_IMAGE_2D_MULTISAMPLE_EXT #x9060) (define-constant GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT #x9061) (define-constant GL_UNSIGNED_INT_IMAGE_1D_EXT #x9062) (define-constant GL_UNSIGNED_INT_IMAGE_2D_EXT #x9063) (define-constant GL_UNSIGNED_INT_IMAGE_3D_EXT #x9064) (define-constant GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT #x9065) (define-constant GL_UNSIGNED_INT_IMAGE_CUBE_EXT #x9066) (define-constant GL_UNSIGNED_INT_IMAGE_BUFFER_EXT #x9067) (define-constant GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT #x9068) (define-constant GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT #x9069) (define-constant GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT #x906a) (define-constant GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT #x906b) (define-constant GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT #x906c) (define-constant GL_MAX_IMAGE_SAMPLES_EXT #x906d) (define-constant GL_IMAGE_BINDING_FORMAT_EXT #x906e) (define-constant GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT #x0001) (define-constant GL_ELEMENT_ARRAY_BARRIER_BIT_EXT #x0002) (define-constant GL_UNIFORM_BARRIER_BIT_EXT #x0004) (define-constant GL_TEXTURE_FETCH_BARRIER_BIT_EXT #x0008) (define-constant GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT #x0020) (define-constant GL_COMMAND_BARRIER_BIT_EXT #x0040) (define-constant GL_PIXEL_BUFFER_BARRIER_BIT_EXT #x0080) (define-constant GL_TEXTURE_UPDATE_BARRIER_BIT_EXT #x0100) (define-constant GL_BUFFER_UPDATE_BARRIER_BIT_EXT #x0200) (define-constant GL_FRAMEBUFFER_BARRIER_BIT_EXT #x0400) (define-constant GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT #x0800) (define-constant GL_ATOMIC_COUNTER_BARRIER_BIT_EXT #x1000) (define-constant GL_ALL_BARRIER_BITS_EXT #xffffffff) (define-constant GL_DOUBLE_VEC2_EXT #x8ffc) (define-constant GL_DOUBLE_VEC3_EXT #x8ffd) (define-constant GL_DOUBLE_VEC4_EXT #x8ffe) (define-constant GL_DOUBLE_MAT2_EXT #x8f46) (define-constant GL_DOUBLE_MAT3_EXT #x8f47) (define-constant GL_DOUBLE_MAT4_EXT #x8f48) (define-constant GL_DOUBLE_MAT2x3_EXT #x8f49) (define-constant GL_DOUBLE_MAT2x4_EXT #x8f4a) (define-constant GL_DOUBLE_MAT3x2_EXT #x8f4b) (define-constant GL_DOUBLE_MAT3x4_EXT #x8f4c) (define-constant GL_DOUBLE_MAT4x2_EXT #x8f4d) (define-constant GL_DOUBLE_MAT4x3_EXT #x8f4e) (define-constant GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV #x8e5a) (define-constant GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV #x8e5b) (define-constant GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV #x8e5c) (define-constant GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV #x8e5d) (define-constant GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV #x8e5e) (define-constant GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV #x8e5f) (define-constant GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV #x8f44) (define-constant GL_MAX_PROGRAM_SUBROUTINE_NUM_NV #x8f45) (define-constant GL_INT64_NV #x140e) (define-constant GL_UNSIGNED_INT64_NV #x140f) (define-constant GL_INT8_NV #x8fe0) (define-constant GL_INT8_VEC2_NV #x8fe1) (define-constant GL_INT8_VEC3_NV #x8fe2) (define-constant GL_INT8_VEC4_NV #x8fe3) (define-constant GL_INT16_NV #x8fe4) (define-constant GL_INT16_VEC2_NV #x8fe5) (define-constant GL_INT16_VEC3_NV #x8fe6) (define-constant GL_INT16_VEC4_NV #x8fe7) (define-constant GL_INT64_VEC2_NV #x8fe9) (define-constant GL_INT64_VEC3_NV #x8fea) (define-constant GL_INT64_VEC4_NV #x8feb) (define-constant GL_UNSIGNED_INT8_NV #x8fec) (define-constant GL_UNSIGNED_INT8_VEC2_NV #x8fed) (define-constant GL_UNSIGNED_INT8_VEC3_NV #x8fee) (define-constant GL_UNSIGNED_INT8_VEC4_NV #x8fef) (define-constant GL_UNSIGNED_INT16_NV #x8ff0) (define-constant GL_UNSIGNED_INT16_VEC2_NV #x8ff1) (define-constant GL_UNSIGNED_INT16_VEC3_NV #x8ff2) (define-constant GL_UNSIGNED_INT16_VEC4_NV #x8ff3) (define-constant GL_UNSIGNED_INT64_VEC2_NV #x8ff5) (define-constant GL_UNSIGNED_INT64_VEC3_NV #x8ff6) (define-constant GL_UNSIGNED_INT64_VEC4_NV #x8ff7) (define-constant GL_FLOAT16_NV #x8ff8) (define-constant GL_FLOAT16_VEC2_NV #x8ff9) (define-constant GL_FLOAT16_VEC3_NV #x8ffa) (define-constant GL_FLOAT16_VEC4_NV #x8ffb) (define-constant GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV #x0010) (define-constant GL_MAX_PROGRAM_PATCH_ATTRIBS_NV #x86d8) (define-constant GL_TESS_CONTROL_PROGRAM_NV #x891e) (define-constant GL_TESS_EVALUATION_PROGRAM_NV #x891f) (define-constant GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV #x8c74) (define-constant GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV #x8c75) (define-constant GL_COVERAGE_SAMPLES_NV #x80a9) (define-constant GL_COLOR_SAMPLES_NV #x8e20) (define-constant GL_DATA_BUFFER_AMD #x9151) (define-constant GL_PERFORMANCE_MONITOR_AMD #x9152) (define-constant GL_QUERY_OBJECT_AMD #x9153) (define-constant GL_VERTEX_ARRAY_OBJECT_AMD #x9154) (define-constant GL_SAMPLER_OBJECT_AMD #x9155) (define-constant GL_MAX_DEBUG_LOGGED_MESSAGES_AMD #x9144) (define-constant GL_DEBUG_LOGGED_MESSAGES_AMD #x9145) (define-constant GL_DEBUG_SEVERITY_HIGH_AMD #x9146) (define-constant GL_DEBUG_SEVERITY_MEDIUM_AMD #x9147) (define-constant GL_DEBUG_SEVERITY_LOW_AMD #x9148) (define-constant GL_DEBUG_CATEGORY_API_ERROR_AMD #x9149) (define-constant GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD #x914a) (define-constant GL_DEBUG_CATEGORY_DEPRECATION_AMD #x914b) (define-constant GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD #x914c) (define-constant GL_DEBUG_CATEGORY_PERFORMANCE_AMD #x914d) (define-constant GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD #x914e) (define-constant GL_DEBUG_CATEGORY_APPLICATION_AMD #x914f) (define-constant GL_DEBUG_CATEGORY_OTHER_AMD #x9150) (define-constant GL_SURFACE_STATE_NV #x86eb) (define-constant GL_SURFACE_REGISTERED_NV #x86fd) (define-constant GL_SURFACE_MAPPED_NV #x8700) (define-constant GL_WRITE_DISCARD_NV #x88be) (define-constant GL_DEPTH_CLAMP_NEAR_AMD #x901e) (define-constant GL_DEPTH_CLAMP_FAR_AMD #x901f) (define-constant GL_TEXTURE_SRGB_DECODE_EXT #x8a48) (define-constant GL_DECODE_EXT #x8a49) (define-constant GL_SKIP_DECODE_EXT #x8a4a) (define-constant GL_TEXTURE_COVERAGE_SAMPLES_NV #x9045) (define-constant GL_TEXTURE_COLOR_SAMPLES_NV #x9046) (define-constant GL_FACTOR_MIN_AMD #x901c) (define-constant GL_FACTOR_MAX_AMD #x901d) (define-constant GL_SUBSAMPLE_DISTANCE_AMD #x883f) (define-constant GL_SYNC_X11_FENCE_EXT #x90e1) (define-constant GL_SCALED_RESOLVE_FASTEST_EXT #x90ba) (define-constant GL_SCALED_RESOLVE_NICEST_EXT #x90bb) ;; API entry points (define-entry-point glBlendColor PFNGLBLENDCOLORPROC "typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);") (define-entry-point glBlendEquation PFNGLBLENDEQUATIONPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);") (define-entry-point glDrawRangeElements PFNGLDRAWRANGEELEMENTSPROC "typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);") (define-entry-point glTexImage3D PFNGLTEXIMAGE3DPROC "typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTexSubImage3D PFNGLTEXSUBIMAGE3DPROC "typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glCopyTexSubImage3D PFNGLCOPYTEXSUBIMAGE3DPROC "typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glColorTable PFNGLCOLORTABLEPROC "typedef void (APIENTRYP PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);") (define-entry-point glColorTableParameterfv PFNGLCOLORTABLEPARAMETERFVPROC "typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glColorTableParameteriv PFNGLCOLORTABLEPARAMETERIVPROC "typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glCopyColorTable PFNGLCOPYCOLORTABLEPROC "typedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);") (define-entry-point glGetColorTable PFNGLGETCOLORTABLEPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);") (define-entry-point glGetColorTableParameterfv PFNGLGETCOLORTABLEPARAMETERFVPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetColorTableParameteriv PFNGLGETCOLORTABLEPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glColorSubTable PFNGLCOLORSUBTABLEPROC "typedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);") (define-entry-point glCopyColorSubTable PFNGLCOPYCOLORSUBTABLEPROC "typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);") (define-entry-point glConvolutionFilter1D PFNGLCONVOLUTIONFILTER1DPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);") (define-entry-point glConvolutionFilter2D PFNGLCONVOLUTIONFILTER2DPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);") (define-entry-point glConvolutionParameterf PFNGLCONVOLUTIONPARAMETERFPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);") (define-entry-point glConvolutionParameterfv PFNGLCONVOLUTIONPARAMETERFVPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glConvolutionParameteri PFNGLCONVOLUTIONPARAMETERIPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);") (define-entry-point glConvolutionParameteriv PFNGLCONVOLUTIONPARAMETERIVPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glCopyConvolutionFilter1D PFNGLCOPYCONVOLUTIONFILTER1DPROC "typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);") (define-entry-point glCopyConvolutionFilter2D PFNGLCOPYCONVOLUTIONFILTER2DPROC "typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glGetConvolutionFilter PFNGLGETCONVOLUTIONFILTERPROC "typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);") (define-entry-point glGetConvolutionParameterfv PFNGLGETCONVOLUTIONPARAMETERFVPROC "typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetConvolutionParameteriv PFNGLGETCONVOLUTIONPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetSeparableFilter PFNGLGETSEPARABLEFILTERPROC "typedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);") (define-entry-point glSeparableFilter2D PFNGLSEPARABLEFILTER2DPROC "typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);") (define-entry-point glGetHistogram PFNGLGETHISTOGRAMPROC "typedef void (APIENTRYP PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);") (define-entry-point glGetHistogramParameterfv PFNGLGETHISTOGRAMPARAMETERFVPROC "typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetHistogramParameteriv PFNGLGETHISTOGRAMPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetMinmax PFNGLGETMINMAXPROC "typedef void (APIENTRYP PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);") (define-entry-point glGetMinmaxParameterfv PFNGLGETMINMAXPARAMETERFVPROC "typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetMinmaxParameteriv PFNGLGETMINMAXPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glHistogram PFNGLHISTOGRAMPROC "typedef void (APIENTRYP PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);") (define-entry-point glMinmax PFNGLMINMAXPROC "typedef void (APIENTRYP PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);") (define-entry-point glResetHistogram PFNGLRESETHISTOGRAMPROC "typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) (GLenum target);") (define-entry-point glResetMinmax PFNGLRESETMINMAXPROC "typedef void (APIENTRYP PFNGLRESETMINMAXPROC) (GLenum target);") (define-entry-point glActiveTexture PFNGLACTIVETEXTUREPROC "typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);") (define-entry-point glSampleCoverage PFNGLSAMPLECOVERAGEPROC "typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);") (define-entry-point glCompressedTexImage3D PFNGLCOMPRESSEDTEXIMAGE3DPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexImage2D PFNGLCOMPRESSEDTEXIMAGE2DPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexImage1D PFNGLCOMPRESSEDTEXIMAGE1DPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexSubImage3D PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexSubImage2D PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexSubImage1D PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);") (define-entry-point glGetCompressedTexImage PFNGLGETCOMPRESSEDTEXIMAGEPROC "typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);") (define-entry-point glClientActiveTexture PFNGLCLIENTACTIVETEXTUREPROC "typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);") (define-entry-point glMultiTexCoord1d PFNGLMULTITEXCOORD1DPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);") (define-entry-point glMultiTexCoord1dv PFNGLMULTITEXCOORD1DVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord1f PFNGLMULTITEXCOORD1FPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);") (define-entry-point glMultiTexCoord1fv PFNGLMULTITEXCOORD1FVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord1i PFNGLMULTITEXCOORD1IPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);") (define-entry-point glMultiTexCoord1iv PFNGLMULTITEXCOORD1IVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord1s PFNGLMULTITEXCOORD1SPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);") (define-entry-point glMultiTexCoord1sv PFNGLMULTITEXCOORD1SVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);") (define-entry-point glMultiTexCoord2d PFNGLMULTITEXCOORD2DPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);") (define-entry-point glMultiTexCoord2dv PFNGLMULTITEXCOORD2DVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord2f PFNGLMULTITEXCOORD2FPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);") (define-entry-point glMultiTexCoord2fv PFNGLMULTITEXCOORD2FVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord2i PFNGLMULTITEXCOORD2IPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);") (define-entry-point glMultiTexCoord2iv PFNGLMULTITEXCOORD2IVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord2s PFNGLMULTITEXCOORD2SPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);") (define-entry-point glMultiTexCoord2sv PFNGLMULTITEXCOORD2SVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);") (define-entry-point glMultiTexCoord3d PFNGLMULTITEXCOORD3DPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);") (define-entry-point glMultiTexCoord3dv PFNGLMULTITEXCOORD3DVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord3f PFNGLMULTITEXCOORD3FPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);") (define-entry-point glMultiTexCoord3fv PFNGLMULTITEXCOORD3FVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord3i PFNGLMULTITEXCOORD3IPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);") (define-entry-point glMultiTexCoord3iv PFNGLMULTITEXCOORD3IVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord3s PFNGLMULTITEXCOORD3SPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);") (define-entry-point glMultiTexCoord3sv PFNGLMULTITEXCOORD3SVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);") (define-entry-point glMultiTexCoord4d PFNGLMULTITEXCOORD4DPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);") (define-entry-point glMultiTexCoord4dv PFNGLMULTITEXCOORD4DVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord4f PFNGLMULTITEXCOORD4FPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);") (define-entry-point glMultiTexCoord4fv PFNGLMULTITEXCOORD4FVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord4i PFNGLMULTITEXCOORD4IPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);") (define-entry-point glMultiTexCoord4iv PFNGLMULTITEXCOORD4IVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord4s PFNGLMULTITEXCOORD4SPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);") (define-entry-point glMultiTexCoord4sv PFNGLMULTITEXCOORD4SVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);") (define-entry-point glLoadTransposeMatrixf PFNGLLOADTRANSPOSEMATRIXFPROC "typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);") (define-entry-point glLoadTransposeMatrixd PFNGLLOADTRANSPOSEMATRIXDPROC "typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);") (define-entry-point glMultTransposeMatrixf PFNGLMULTTRANSPOSEMATRIXFPROC "typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);") (define-entry-point glMultTransposeMatrixd PFNGLMULTTRANSPOSEMATRIXDPROC "typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);") (define-entry-point glBlendFuncSeparate PFNGLBLENDFUNCSEPARATEPROC "typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);") (define-entry-point glMultiDrawArrays PFNGLMULTIDRAWARRAYSPROC "typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);") (define-entry-point glMultiDrawElements PFNGLMULTIDRAWELEMENTSPROC "typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);") (define-entry-point glPointParameterf PFNGLPOINTPARAMETERFPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);") (define-entry-point glPointParameterfv PFNGLPOINTPARAMETERFVPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glPointParameteri PFNGLPOINTPARAMETERIPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);") (define-entry-point glPointParameteriv PFNGLPOINTPARAMETERIVPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);") (define-entry-point glFogCoordf PFNGLFOGCOORDFPROC "typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);") (define-entry-point glFogCoordfv PFNGLFOGCOORDFVPROC "typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord);") (define-entry-point glFogCoordd PFNGLFOGCOORDDPROC "typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord);") (define-entry-point glFogCoorddv PFNGLFOGCOORDDVPROC "typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord);") (define-entry-point glFogCoordPointer PFNGLFOGCOORDPOINTERPROC "typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glSecondaryColor3b PFNGLSECONDARYCOLOR3BPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);") (define-entry-point glSecondaryColor3bv PFNGLSECONDARYCOLOR3BVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);") (define-entry-point glSecondaryColor3d PFNGLSECONDARYCOLOR3DPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);") (define-entry-point glSecondaryColor3dv PFNGLSECONDARYCOLOR3DVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);") (define-entry-point glSecondaryColor3f PFNGLSECONDARYCOLOR3FPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);") (define-entry-point glSecondaryColor3fv PFNGLSECONDARYCOLOR3FVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);") (define-entry-point glSecondaryColor3i PFNGLSECONDARYCOLOR3IPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);") (define-entry-point glSecondaryColor3iv PFNGLSECONDARYCOLOR3IVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);") (define-entry-point glSecondaryColor3s PFNGLSECONDARYCOLOR3SPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);") (define-entry-point glSecondaryColor3sv PFNGLSECONDARYCOLOR3SVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);") (define-entry-point glSecondaryColor3ub PFNGLSECONDARYCOLOR3UBPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);") (define-entry-point glSecondaryColor3ubv PFNGLSECONDARYCOLOR3UBVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);") (define-entry-point glSecondaryColor3ui PFNGLSECONDARYCOLOR3UIPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);") (define-entry-point glSecondaryColor3uiv PFNGLSECONDARYCOLOR3UIVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);") (define-entry-point glSecondaryColor3us PFNGLSECONDARYCOLOR3USPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);") (define-entry-point glSecondaryColor3usv PFNGLSECONDARYCOLOR3USVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);") (define-entry-point glSecondaryColorPointer PFNGLSECONDARYCOLORPOINTERPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glWindowPos2d PFNGLWINDOWPOS2DPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);") (define-entry-point glWindowPos2dv PFNGLWINDOWPOS2DVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);") (define-entry-point glWindowPos2f PFNGLWINDOWPOS2FPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);") (define-entry-point glWindowPos2fv PFNGLWINDOWPOS2FVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);") (define-entry-point glWindowPos2i PFNGLWINDOWPOS2IPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);") (define-entry-point glWindowPos2iv PFNGLWINDOWPOS2IVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v);") (define-entry-point glWindowPos2s PFNGLWINDOWPOS2SPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);") (define-entry-point glWindowPos2sv PFNGLWINDOWPOS2SVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v);") (define-entry-point glWindowPos3d PFNGLWINDOWPOS3DPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glWindowPos3dv PFNGLWINDOWPOS3DVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);") (define-entry-point glWindowPos3f PFNGLWINDOWPOS3FPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glWindowPos3fv PFNGLWINDOWPOS3FVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);") (define-entry-point glWindowPos3i PFNGLWINDOWPOS3IPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);") (define-entry-point glWindowPos3iv PFNGLWINDOWPOS3IVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v);") (define-entry-point glWindowPos3s PFNGLWINDOWPOS3SPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);") (define-entry-point glWindowPos3sv PFNGLWINDOWPOS3SVPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v);") (define-entry-point glGenQueries PFNGLGENQUERIESPROC "typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);") (define-entry-point glDeleteQueries PFNGLDELETEQUERIESPROC "typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);") (define-entry-point glIsQuery PFNGLISQUERYPROC "typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);") (define-entry-point glBeginQuery PFNGLBEGINQUERYPROC "typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);") (define-entry-point glEndQuery PFNGLENDQUERYPROC "typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);") (define-entry-point glGetQueryiv PFNGLGETQUERYIVPROC "typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetQueryObjectiv PFNGLGETQUERYOBJECTIVPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);") (define-entry-point glGetQueryObjectuiv PFNGLGETQUERYOBJECTUIVPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);") (define-entry-point glBindBuffer PFNGLBINDBUFFERPROC "typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);") (define-entry-point glDeleteBuffers PFNGLDELETEBUFFERSPROC "typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);") (define-entry-point glGenBuffers PFNGLGENBUFFERSPROC "typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);") (define-entry-point glIsBuffer PFNGLISBUFFERPROC "typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);") (define-entry-point glBufferData PFNGLBUFFERDATAPROC "typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);") (define-entry-point glBufferSubData PFNGLBUFFERSUBDATAPROC "typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);") (define-entry-point glGetBufferSubData PFNGLGETBUFFERSUBDATAPROC "typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);") (define-entry-point glMapBuffer PFNGLMAPBUFFERPROC "typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);") (define-entry-point glUnmapBuffer PFNGLUNMAPBUFFERPROC "typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);") (define-entry-point glGetBufferParameteriv PFNGLGETBUFFERPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetBufferPointerv PFNGLGETBUFFERPOINTERVPROC "typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);") (define-entry-point glBlendEquationSeparate PFNGLBLENDEQUATIONSEPARATEPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);") (define-entry-point glDrawBuffers PFNGLDRAWBUFFERSPROC "typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);") (define-entry-point glStencilOpSeparate PFNGLSTENCILOPSEPARATEPROC "typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);") (define-entry-point glStencilFuncSeparate PFNGLSTENCILFUNCSEPARATEPROC "typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);") (define-entry-point glStencilMaskSeparate PFNGLSTENCILMASKSEPARATEPROC "typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);") (define-entry-point glAttachShader PFNGLATTACHSHADERPROC "typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);") (define-entry-point glBindAttribLocation PFNGLBINDATTRIBLOCATIONPROC "typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);") (define-entry-point glCompileShader PFNGLCOMPILESHADERPROC "typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);") (define-entry-point glCreateProgram PFNGLCREATEPROGRAMPROC "typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);") (define-entry-point glCreateShader PFNGLCREATESHADERPROC "typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);") (define-entry-point glDeleteProgram PFNGLDELETEPROGRAMPROC "typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);") (define-entry-point glDeleteShader PFNGLDELETESHADERPROC "typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);") (define-entry-point glDetachShader PFNGLDETACHSHADERPROC "typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);") (define-entry-point glDisableVertexAttribArray PFNGLDISABLEVERTEXATTRIBARRAYPROC "typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);") (define-entry-point glEnableVertexAttribArray PFNGLENABLEVERTEXATTRIBARRAYPROC "typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);") (define-entry-point glGetActiveAttrib PFNGLGETACTIVEATTRIBPROC "typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);") (define-entry-point glGetActiveUniform PFNGLGETACTIVEUNIFORMPROC "typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);") (define-entry-point glGetAttachedShaders PFNGLGETATTACHEDSHADERSPROC "typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);") (define-entry-point glGetAttribLocation PFNGLGETATTRIBLOCATIONPROC "typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);") (define-entry-point glGetProgramiv PFNGLGETPROGRAMIVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);") (define-entry-point glGetProgramInfoLog PFNGLGETPROGRAMINFOLOGPROC "typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);") (define-entry-point glGetShaderiv PFNGLGETSHADERIVPROC "typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);") (define-entry-point glGetShaderInfoLog PFNGLGETSHADERINFOLOGPROC "typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);") (define-entry-point glGetShaderSource PFNGLGETSHADERSOURCEPROC "typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);") (define-entry-point glGetUniformLocation PFNGLGETUNIFORMLOCATIONPROC "typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);") (define-entry-point glGetUniformfv PFNGLGETUNIFORMFVPROC "typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);") (define-entry-point glGetUniformiv PFNGLGETUNIFORMIVPROC "typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);") (define-entry-point glGetVertexAttribdv PFNGLGETVERTEXATTRIBDVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);") (define-entry-point glGetVertexAttribfv PFNGLGETVERTEXATTRIBFVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);") (define-entry-point glGetVertexAttribiv PFNGLGETVERTEXATTRIBIVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);") (define-entry-point glGetVertexAttribPointerv PFNGLGETVERTEXATTRIBPOINTERVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);") (define-entry-point glIsProgram PFNGLISPROGRAMPROC "typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);") (define-entry-point glIsShader PFNGLISSHADERPROC "typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);") (define-entry-point glLinkProgram PFNGLLINKPROGRAMPROC "typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);") (define-entry-point glShaderSource PFNGLSHADERSOURCEPROC "typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);") (define-entry-point glUseProgram PFNGLUSEPROGRAMPROC "typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);") (define-entry-point glUniform1f PFNGLUNIFORM1FPROC "typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);") (define-entry-point glUniform2f PFNGLUNIFORM2FPROC "typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);") (define-entry-point glUniform3f PFNGLUNIFORM3FPROC "typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);") (define-entry-point glUniform4f PFNGLUNIFORM4FPROC "typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);") (define-entry-point glUniform1i PFNGLUNIFORM1IPROC "typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);") (define-entry-point glUniform2i PFNGLUNIFORM2IPROC "typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);") (define-entry-point glUniform3i PFNGLUNIFORM3IPROC "typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);") (define-entry-point glUniform4i PFNGLUNIFORM4IPROC "typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);") (define-entry-point glUniform1fv PFNGLUNIFORM1FVPROC "typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform2fv PFNGLUNIFORM2FVPROC "typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform3fv PFNGLUNIFORM3FVPROC "typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform4fv PFNGLUNIFORM4FVPROC "typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform1iv PFNGLUNIFORM1IVPROC "typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniform2iv PFNGLUNIFORM2IVPROC "typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniform3iv PFNGLUNIFORM3IVPROC "typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniform4iv PFNGLUNIFORM4IVPROC "typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniformMatrix2fv PFNGLUNIFORMMATRIX2FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix3fv PFNGLUNIFORMMATRIX3FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix4fv PFNGLUNIFORMMATRIX4FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glValidateProgram PFNGLVALIDATEPROGRAMPROC "typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);") (define-entry-point glVertexAttrib1d PFNGLVERTEXATTRIB1DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);") (define-entry-point glVertexAttrib1dv PFNGLVERTEXATTRIB1DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib1f PFNGLVERTEXATTRIB1FPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);") (define-entry-point glVertexAttrib1fv PFNGLVERTEXATTRIB1FVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib1s PFNGLVERTEXATTRIB1SPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);") (define-entry-point glVertexAttrib1sv PFNGLVERTEXATTRIB1SVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib2d PFNGLVERTEXATTRIB2DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);") (define-entry-point glVertexAttrib2dv PFNGLVERTEXATTRIB2DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib2f PFNGLVERTEXATTRIB2FPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);") (define-entry-point glVertexAttrib2fv PFNGLVERTEXATTRIB2FVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib2s PFNGLVERTEXATTRIB2SPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);") (define-entry-point glVertexAttrib2sv PFNGLVERTEXATTRIB2SVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib3d PFNGLVERTEXATTRIB3DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glVertexAttrib3dv PFNGLVERTEXATTRIB3DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib3f PFNGLVERTEXATTRIB3FPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glVertexAttrib3fv PFNGLVERTEXATTRIB3FVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib3s PFNGLVERTEXATTRIB3SPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);") (define-entry-point glVertexAttrib3sv PFNGLVERTEXATTRIB3SVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4Nbv PFNGLVERTEXATTRIB4NBVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);") (define-entry-point glVertexAttrib4Niv PFNGLVERTEXATTRIB4NIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttrib4Nsv PFNGLVERTEXATTRIB4NSVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4Nub PFNGLVERTEXATTRIB4NUBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);") (define-entry-point glVertexAttrib4Nubv PFNGLVERTEXATTRIB4NUBVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);") (define-entry-point glVertexAttrib4Nuiv PFNGLVERTEXATTRIB4NUIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttrib4Nusv PFNGLVERTEXATTRIB4NUSVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);") (define-entry-point glVertexAttrib4bv PFNGLVERTEXATTRIB4BVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);") (define-entry-point glVertexAttrib4d PFNGLVERTEXATTRIB4DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glVertexAttrib4dv PFNGLVERTEXATTRIB4DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib4f PFNGLVERTEXATTRIB4FPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glVertexAttrib4fv PFNGLVERTEXATTRIB4FVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib4iv PFNGLVERTEXATTRIB4IVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttrib4s PFNGLVERTEXATTRIB4SPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);") (define-entry-point glVertexAttrib4sv PFNGLVERTEXATTRIB4SVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4ubv PFNGLVERTEXATTRIB4UBVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);") (define-entry-point glVertexAttrib4uiv PFNGLVERTEXATTRIB4UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttrib4usv PFNGLVERTEXATTRIB4USVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);") (define-entry-point glVertexAttribPointer PFNGLVERTEXATTRIBPOINTERPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);") (define-entry-point glUniformMatrix2x3fv PFNGLUNIFORMMATRIX2X3FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix3x2fv PFNGLUNIFORMMATRIX3X2FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix2x4fv PFNGLUNIFORMMATRIX2X4FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix4x2fv PFNGLUNIFORMMATRIX4X2FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix3x4fv PFNGLUNIFORMMATRIX3X4FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix4x3fv PFNGLUNIFORMMATRIX4X3FVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glColorMaski PFNGLCOLORMASKIPROC "typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);") (define-entry-point glGetBooleani_v PFNGLGETBOOLEANI_VPROC "typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);") (define-entry-point glGetIntegeri_v PFNGLGETINTEGERI_VPROC "typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);") (define-entry-point glEnablei PFNGLENABLEIPROC "typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);") (define-entry-point glDisablei PFNGLDISABLEIPROC "typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);") (define-entry-point glIsEnabledi PFNGLISENABLEDIPROC "typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);") (define-entry-point glBeginTransformFeedback PFNGLBEGINTRANSFORMFEEDBACKPROC "typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);") (define-entry-point glEndTransformFeedback PFNGLENDTRANSFORMFEEDBACKPROC "typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);") (define-entry-point glBindBufferRange PFNGLBINDBUFFERRANGEPROC "typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);") (define-entry-point glBindBufferBase PFNGLBINDBUFFERBASEPROC "typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);") (define-entry-point glTransformFeedbackVaryings PFNGLTRANSFORMFEEDBACKVARYINGSPROC "typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);") (define-entry-point glGetTransformFeedbackVarying PFNGLGETTRANSFORMFEEDBACKVARYINGPROC "typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);") (define-entry-point glClampColor PFNGLCLAMPCOLORPROC "typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);") (define-entry-point glBeginConditionalRender PFNGLBEGINCONDITIONALRENDERPROC "typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);") (define-entry-point glEndConditionalRender PFNGLENDCONDITIONALRENDERPROC "typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);") (define-entry-point glVertexAttribIPointer PFNGLVERTEXATTRIBIPOINTERPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glGetVertexAttribIiv PFNGLGETVERTEXATTRIBIIVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);") (define-entry-point glGetVertexAttribIuiv PFNGLGETVERTEXATTRIBIUIVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);") (define-entry-point glVertexAttribI1i PFNGLVERTEXATTRIBI1IPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);") (define-entry-point glVertexAttribI2i PFNGLVERTEXATTRIBI2IPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);") (define-entry-point glVertexAttribI3i PFNGLVERTEXATTRIBI3IPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);") (define-entry-point glVertexAttribI4i PFNGLVERTEXATTRIBI4IPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);") (define-entry-point glVertexAttribI1ui PFNGLVERTEXATTRIBI1UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);") (define-entry-point glVertexAttribI2ui PFNGLVERTEXATTRIBI2UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);") (define-entry-point glVertexAttribI3ui PFNGLVERTEXATTRIBI3UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);") (define-entry-point glVertexAttribI4ui PFNGLVERTEXATTRIBI4UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);") (define-entry-point glVertexAttribI1iv PFNGLVERTEXATTRIBI1IVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI2iv PFNGLVERTEXATTRIBI2IVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI3iv PFNGLVERTEXATTRIBI3IVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI4iv PFNGLVERTEXATTRIBI4IVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI1uiv PFNGLVERTEXATTRIBI1UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI2uiv PFNGLVERTEXATTRIBI2UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI3uiv PFNGLVERTEXATTRIBI3UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI4uiv PFNGLVERTEXATTRIBI4UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI4bv PFNGLVERTEXATTRIBI4BVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);") (define-entry-point glVertexAttribI4sv PFNGLVERTEXATTRIBI4SVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttribI4ubv PFNGLVERTEXATTRIBI4UBVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);") (define-entry-point glVertexAttribI4usv PFNGLVERTEXATTRIBI4USVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);") (define-entry-point glGetUniformuiv PFNGLGETUNIFORMUIVPROC "typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);") (define-entry-point glBindFragDataLocation PFNGLBINDFRAGDATALOCATIONPROC "typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);") (define-entry-point glGetFragDataLocation PFNGLGETFRAGDATALOCATIONPROC "typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);") (define-entry-point glUniform1ui PFNGLUNIFORM1UIPROC "typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);") (define-entry-point glUniform2ui PFNGLUNIFORM2UIPROC "typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);") (define-entry-point glUniform3ui PFNGLUNIFORM3UIPROC "typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);") (define-entry-point glUniform4ui PFNGLUNIFORM4UIPROC "typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);") (define-entry-point glUniform1uiv PFNGLUNIFORM1UIVPROC "typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glUniform2uiv PFNGLUNIFORM2UIVPROC "typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glUniform3uiv PFNGLUNIFORM3UIVPROC "typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glUniform4uiv PFNGLUNIFORM4UIVPROC "typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glTexParameterIiv PFNGLTEXPARAMETERIIVPROC "typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glTexParameterIuiv PFNGLTEXPARAMETERIUIVPROC "typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);") (define-entry-point glGetTexParameterIiv PFNGLGETTEXPARAMETERIIVPROC "typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetTexParameterIuiv PFNGLGETTEXPARAMETERIUIVPROC "typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);") (define-entry-point glClearBufferiv PFNGLCLEARBUFFERIVPROC "typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);") (define-entry-point glClearBufferuiv PFNGLCLEARBUFFERUIVPROC "typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);") (define-entry-point glClearBufferfv PFNGLCLEARBUFFERFVPROC "typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);") (define-entry-point glClearBufferfi PFNGLCLEARBUFFERFIPROC "typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);") (define-entry-point glGetStringi PFNGLGETSTRINGIPROC "typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);") (define-entry-point glDrawArraysInstanced PFNGLDRAWARRAYSINSTANCEDPROC "typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);") (define-entry-point glDrawElementsInstanced PFNGLDRAWELEMENTSINSTANCEDPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);") (define-entry-point glTexBuffer PFNGLTEXBUFFERPROC "typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);") (define-entry-point glPrimitiveRestartIndex PFNGLPRIMITIVERESTARTINDEXPROC "typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);") (define-entry-point glGetInteger64i_v PFNGLGETINTEGER64I_VPROC "typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);") (define-entry-point glGetBufferParameteri64v PFNGLGETBUFFERPARAMETERI64VPROC "typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);") (define-entry-point glFramebufferTexture PFNGLFRAMEBUFFERTEXTUREPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);") (define-entry-point glVertexAttribDivisor PFNGLVERTEXATTRIBDIVISORPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);") (define-entry-point glMinSampleShading PFNGLMINSAMPLESHADINGPROC "typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLclampf value);") (define-entry-point glBlendEquationi PFNGLBLENDEQUATIONIPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);") (define-entry-point glBlendEquationSeparatei PFNGLBLENDEQUATIONSEPARATEIPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);") (define-entry-point glBlendFunci PFNGLBLENDFUNCIPROC "typedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);") (define-entry-point glBlendFuncSeparatei PFNGLBLENDFUNCSEPARATEIPROC "typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);") (define-entry-point glActiveTextureARB PFNGLACTIVETEXTUREARBPROC "typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);") (define-entry-point glClientActiveTextureARB PFNGLCLIENTACTIVETEXTUREARBPROC "typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);") (define-entry-point glMultiTexCoord1dARB PFNGLMULTITEXCOORD1DARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);") (define-entry-point glMultiTexCoord1dvARB PFNGLMULTITEXCOORD1DVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord1fARB PFNGLMULTITEXCOORD1FARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);") (define-entry-point glMultiTexCoord1fvARB PFNGLMULTITEXCOORD1FVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord1iARB PFNGLMULTITEXCOORD1IARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);") (define-entry-point glMultiTexCoord1ivARB PFNGLMULTITEXCOORD1IVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord1sARB PFNGLMULTITEXCOORD1SARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);") (define-entry-point glMultiTexCoord1svARB PFNGLMULTITEXCOORD1SVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);") (define-entry-point glMultiTexCoord2dARB PFNGLMULTITEXCOORD2DARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);") (define-entry-point glMultiTexCoord2dvARB PFNGLMULTITEXCOORD2DVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord2fARB PFNGLMULTITEXCOORD2FARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);") (define-entry-point glMultiTexCoord2fvARB PFNGLMULTITEXCOORD2FVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord2iARB PFNGLMULTITEXCOORD2IARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);") (define-entry-point glMultiTexCoord2ivARB PFNGLMULTITEXCOORD2IVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord2sARB PFNGLMULTITEXCOORD2SARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);") (define-entry-point glMultiTexCoord2svARB PFNGLMULTITEXCOORD2SVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);") (define-entry-point glMultiTexCoord3dARB PFNGLMULTITEXCOORD3DARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);") (define-entry-point glMultiTexCoord3dvARB PFNGLMULTITEXCOORD3DVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord3fARB PFNGLMULTITEXCOORD3FARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);") (define-entry-point glMultiTexCoord3fvARB PFNGLMULTITEXCOORD3FVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord3iARB PFNGLMULTITEXCOORD3IARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);") (define-entry-point glMultiTexCoord3ivARB PFNGLMULTITEXCOORD3IVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord3sARB PFNGLMULTITEXCOORD3SARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);") (define-entry-point glMultiTexCoord3svARB PFNGLMULTITEXCOORD3SVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);") (define-entry-point glMultiTexCoord4dARB PFNGLMULTITEXCOORD4DARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);") (define-entry-point glMultiTexCoord4dvARB PFNGLMULTITEXCOORD4DVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);") (define-entry-point glMultiTexCoord4fARB PFNGLMULTITEXCOORD4FARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);") (define-entry-point glMultiTexCoord4fvARB PFNGLMULTITEXCOORD4FVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);") (define-entry-point glMultiTexCoord4iARB PFNGLMULTITEXCOORD4IARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);") (define-entry-point glMultiTexCoord4ivARB PFNGLMULTITEXCOORD4IVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);") (define-entry-point glMultiTexCoord4sARB PFNGLMULTITEXCOORD4SARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);") (define-entry-point glMultiTexCoord4svARB PFNGLMULTITEXCOORD4SVARBPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);") (define-entry-point glLoadTransposeMatrixfARB PFNGLLOADTRANSPOSEMATRIXFARBPROC "typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);") (define-entry-point glLoadTransposeMatrixdARB PFNGLLOADTRANSPOSEMATRIXDARBPROC "typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);") (define-entry-point glMultTransposeMatrixfARB PFNGLMULTTRANSPOSEMATRIXFARBPROC "typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);") (define-entry-point glMultTransposeMatrixdARB PFNGLMULTTRANSPOSEMATRIXDARBPROC "typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);") (define-entry-point glSampleCoverageARB PFNGLSAMPLECOVERAGEARBPROC "typedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);") (define-entry-point glCompressedTexImage3DARB PFNGLCOMPRESSEDTEXIMAGE3DARBPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexImage2DARB PFNGLCOMPRESSEDTEXIMAGE2DARBPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexImage1DARB PFNGLCOMPRESSEDTEXIMAGE1DARBPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexSubImage3DARB PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexSubImage2DARB PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);") (define-entry-point glCompressedTexSubImage1DARB PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);") (define-entry-point glGetCompressedTexImageARB PFNGLGETCOMPRESSEDTEXIMAGEARBPROC "typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid *img);") (define-entry-point glPointParameterfARB PFNGLPOINTPARAMETERFARBPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);") (define-entry-point glPointParameterfvARB PFNGLPOINTPARAMETERFVARBPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glWeightbvARB PFNGLWEIGHTBVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);") (define-entry-point glWeightsvARB PFNGLWEIGHTSVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);") (define-entry-point glWeightivARB PFNGLWEIGHTIVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);") (define-entry-point glWeightfvARB PFNGLWEIGHTFVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);") (define-entry-point glWeightdvARB PFNGLWEIGHTDVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);") (define-entry-point glWeightubvARB PFNGLWEIGHTUBVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);") (define-entry-point glWeightusvARB PFNGLWEIGHTUSVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);") (define-entry-point glWeightuivARB PFNGLWEIGHTUIVARBPROC "typedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);") (define-entry-point glWeightPointerARB PFNGLWEIGHTPOINTERARBPROC "typedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glVertexBlendARB PFNGLVERTEXBLENDARBPROC "typedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC) (GLint count);") (define-entry-point glCurrentPaletteMatrixARB PFNGLCURRENTPALETTEMATRIXARBPROC "typedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);") (define-entry-point glMatrixIndexubvARB PFNGLMATRIXINDEXUBVARBPROC "typedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);") (define-entry-point glMatrixIndexusvARB PFNGLMATRIXINDEXUSVARBPROC "typedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);") (define-entry-point glMatrixIndexuivARB PFNGLMATRIXINDEXUIVARBPROC "typedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);") (define-entry-point glMatrixIndexPointerARB PFNGLMATRIXINDEXPOINTERARBPROC "typedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glWindowPos2dARB PFNGLWINDOWPOS2DARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);") (define-entry-point glWindowPos2dvARB PFNGLWINDOWPOS2DVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);") (define-entry-point glWindowPos2fARB PFNGLWINDOWPOS2FARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);") (define-entry-point glWindowPos2fvARB PFNGLWINDOWPOS2FVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);") (define-entry-point glWindowPos2iARB PFNGLWINDOWPOS2IARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);") (define-entry-point glWindowPos2ivARB PFNGLWINDOWPOS2IVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);") (define-entry-point glWindowPos2sARB PFNGLWINDOWPOS2SARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);") (define-entry-point glWindowPos2svARB PFNGLWINDOWPOS2SVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);") (define-entry-point glWindowPos3dARB PFNGLWINDOWPOS3DARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glWindowPos3dvARB PFNGLWINDOWPOS3DVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);") (define-entry-point glWindowPos3fARB PFNGLWINDOWPOS3FARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glWindowPos3fvARB PFNGLWINDOWPOS3FVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);") (define-entry-point glWindowPos3iARB PFNGLWINDOWPOS3IARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);") (define-entry-point glWindowPos3ivARB PFNGLWINDOWPOS3IVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);") (define-entry-point glWindowPos3sARB PFNGLWINDOWPOS3SARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);") (define-entry-point glWindowPos3svARB PFNGLWINDOWPOS3SVARBPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);") (define-entry-point glVertexAttrib1dARB PFNGLVERTEXATTRIB1DARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);") (define-entry-point glVertexAttrib1dvARB PFNGLVERTEXATTRIB1DVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib1fARB PFNGLVERTEXATTRIB1FARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);") (define-entry-point glVertexAttrib1fvARB PFNGLVERTEXATTRIB1FVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib1sARB PFNGLVERTEXATTRIB1SARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);") (define-entry-point glVertexAttrib1svARB PFNGLVERTEXATTRIB1SVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib2dARB PFNGLVERTEXATTRIB2DARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);") (define-entry-point glVertexAttrib2dvARB PFNGLVERTEXATTRIB2DVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib2fARB PFNGLVERTEXATTRIB2FARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);") (define-entry-point glVertexAttrib2fvARB PFNGLVERTEXATTRIB2FVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib2sARB PFNGLVERTEXATTRIB2SARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);") (define-entry-point glVertexAttrib2svARB PFNGLVERTEXATTRIB2SVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib3dARB PFNGLVERTEXATTRIB3DARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glVertexAttrib3dvARB PFNGLVERTEXATTRIB3DVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib3fARB PFNGLVERTEXATTRIB3FARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glVertexAttrib3fvARB PFNGLVERTEXATTRIB3FVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib3sARB PFNGLVERTEXATTRIB3SARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);") (define-entry-point glVertexAttrib3svARB PFNGLVERTEXATTRIB3SVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4NbvARB PFNGLVERTEXATTRIB4NBVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);") (define-entry-point glVertexAttrib4NivARB PFNGLVERTEXATTRIB4NIVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttrib4NsvARB PFNGLVERTEXATTRIB4NSVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4NubARB PFNGLVERTEXATTRIB4NUBARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);") (define-entry-point glVertexAttrib4NubvARB PFNGLVERTEXATTRIB4NUBVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);") (define-entry-point glVertexAttrib4NuivARB PFNGLVERTEXATTRIB4NUIVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttrib4NusvARB PFNGLVERTEXATTRIB4NUSVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);") (define-entry-point glVertexAttrib4bvARB PFNGLVERTEXATTRIB4BVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);") (define-entry-point glVertexAttrib4dARB PFNGLVERTEXATTRIB4DARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glVertexAttrib4dvARB PFNGLVERTEXATTRIB4DVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib4fARB PFNGLVERTEXATTRIB4FARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glVertexAttrib4fvARB PFNGLVERTEXATTRIB4FVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib4ivARB PFNGLVERTEXATTRIB4IVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttrib4sARB PFNGLVERTEXATTRIB4SARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);") (define-entry-point glVertexAttrib4svARB PFNGLVERTEXATTRIB4SVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4ubvARB PFNGLVERTEXATTRIB4UBVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);") (define-entry-point glVertexAttrib4uivARB PFNGLVERTEXATTRIB4UIVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttrib4usvARB PFNGLVERTEXATTRIB4USVARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);") (define-entry-point glVertexAttribPointerARB PFNGLVERTEXATTRIBPOINTERARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);") (define-entry-point glEnableVertexAttribArrayARB PFNGLENABLEVERTEXATTRIBARRAYARBPROC "typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);") (define-entry-point glDisableVertexAttribArrayARB PFNGLDISABLEVERTEXATTRIBARRAYARBPROC "typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);") (define-entry-point glProgramStringARB PFNGLPROGRAMSTRINGARBPROC "typedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);") (define-entry-point glBindProgramARB PFNGLBINDPROGRAMARBPROC "typedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);") (define-entry-point glDeleteProgramsARB PFNGLDELETEPROGRAMSARBPROC "typedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);") (define-entry-point glGenProgramsARB PFNGLGENPROGRAMSARBPROC "typedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);") (define-entry-point glProgramEnvParameter4dARB PFNGLPROGRAMENVPARAMETER4DARBPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glProgramEnvParameter4dvARB PFNGLPROGRAMENVPARAMETER4DVARBPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);") (define-entry-point glProgramEnvParameter4fARB PFNGLPROGRAMENVPARAMETER4FARBPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glProgramEnvParameter4fvARB PFNGLPROGRAMENVPARAMETER4FVARBPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);") (define-entry-point glProgramLocalParameter4dARB PFNGLPROGRAMLOCALPARAMETER4DARBPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glProgramLocalParameter4dvARB PFNGLPROGRAMLOCALPARAMETER4DVARBPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);") (define-entry-point glProgramLocalParameter4fARB PFNGLPROGRAMLOCALPARAMETER4FARBPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glProgramLocalParameter4fvARB PFNGLPROGRAMLOCALPARAMETER4FVARBPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);") (define-entry-point glGetProgramEnvParameterdvARB PFNGLGETPROGRAMENVPARAMETERDVARBPROC "typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);") (define-entry-point glGetProgramEnvParameterfvARB PFNGLGETPROGRAMENVPARAMETERFVARBPROC "typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);") (define-entry-point glGetProgramLocalParameterdvARB PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC "typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);") (define-entry-point glGetProgramLocalParameterfvARB PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC "typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);") (define-entry-point glGetProgramivARB PFNGLGETPROGRAMIVARBPROC "typedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetProgramStringARB PFNGLGETPROGRAMSTRINGARBPROC "typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);") (define-entry-point glGetVertexAttribdvARB PFNGLGETVERTEXATTRIBDVARBPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);") (define-entry-point glGetVertexAttribfvARB PFNGLGETVERTEXATTRIBFVARBPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);") (define-entry-point glGetVertexAttribivARB PFNGLGETVERTEXATTRIBIVARBPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);") (define-entry-point glGetVertexAttribPointervARB PFNGLGETVERTEXATTRIBPOINTERVARBPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);") (define-entry-point glIsProgramARB PFNGLISPROGRAMARBPROC "typedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC) (GLuint program);") (define-entry-point glBindBufferARB PFNGLBINDBUFFERARBPROC "typedef void (APIENTRYP PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);") (define-entry-point glDeleteBuffersARB PFNGLDELETEBUFFERSARBPROC "typedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);") (define-entry-point glGenBuffersARB PFNGLGENBUFFERSARBPROC "typedef void (APIENTRYP PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);") (define-entry-point glIsBufferARB PFNGLISBUFFERARBPROC "typedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC) (GLuint buffer);") (define-entry-point glBufferDataARB PFNGLBUFFERDATAARBPROC "typedef void (APIENTRYP PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);") (define-entry-point glBufferSubDataARB PFNGLBUFFERSUBDATAARBPROC "typedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);") (define-entry-point glGetBufferSubDataARB PFNGLGETBUFFERSUBDATAARBPROC "typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);") (define-entry-point glMapBufferARB PFNGLMAPBUFFERARBPROC "typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);") (define-entry-point glUnmapBufferARB PFNGLUNMAPBUFFERARBPROC "typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC) (GLenum target);") (define-entry-point glGetBufferParameterivARB PFNGLGETBUFFERPARAMETERIVARBPROC "typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetBufferPointervARB PFNGLGETBUFFERPOINTERVARBPROC "typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);") (define-entry-point glGenQueriesARB PFNGLGENQUERIESARBPROC "typedef void (APIENTRYP PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);") (define-entry-point glDeleteQueriesARB PFNGLDELETEQUERIESARBPROC "typedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);") (define-entry-point glIsQueryARB PFNGLISQUERYARBPROC "typedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC) (GLuint id);") (define-entry-point glBeginQueryARB PFNGLBEGINQUERYARBPROC "typedef void (APIENTRYP PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);") (define-entry-point glEndQueryARB PFNGLENDQUERYARBPROC "typedef void (APIENTRYP PFNGLENDQUERYARBPROC) (GLenum target);") (define-entry-point glGetQueryivARB PFNGLGETQUERYIVARBPROC "typedef void (APIENTRYP PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetQueryObjectivARB PFNGLGETQUERYOBJECTIVARBPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);") (define-entry-point glGetQueryObjectuivARB PFNGLGETQUERYOBJECTUIVARBPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);") (define-entry-point glDeleteObjectARB PFNGLDELETEOBJECTARBPROC "typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);") (define-entry-point glGetHandleARB PFNGLGETHANDLEARBPROC "typedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC) (GLenum pname);") (define-entry-point glDetachObjectARB PFNGLDETACHOBJECTARBPROC "typedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);") (define-entry-point glCreateShaderObjectARB PFNGLCREATESHADEROBJECTARBPROC "typedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);") (define-entry-point glShaderSourceARB PFNGLSHADERSOURCEARBPROC "typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);") (define-entry-point glCompileShaderARB PFNGLCOMPILESHADERARBPROC "typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);") (define-entry-point glCreateProgramObjectARB PFNGLCREATEPROGRAMOBJECTARBPROC "typedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC) (void);") (define-entry-point glAttachObjectARB PFNGLATTACHOBJECTARBPROC "typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);") (define-entry-point glLinkProgramARB PFNGLLINKPROGRAMARBPROC "typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);") (define-entry-point glUseProgramObjectARB PFNGLUSEPROGRAMOBJECTARBPROC "typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);") (define-entry-point glValidateProgramARB PFNGLVALIDATEPROGRAMARBPROC "typedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);") (define-entry-point glUniform1fARB PFNGLUNIFORM1FARBPROC "typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);") (define-entry-point glUniform2fARB PFNGLUNIFORM2FARBPROC "typedef void (APIENTRYP PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);") (define-entry-point glUniform3fARB PFNGLUNIFORM3FARBPROC "typedef void (APIENTRYP PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);") (define-entry-point glUniform4fARB PFNGLUNIFORM4FARBPROC "typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);") (define-entry-point glUniform1iARB PFNGLUNIFORM1IARBPROC "typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);") (define-entry-point glUniform2iARB PFNGLUNIFORM2IARBPROC "typedef void (APIENTRYP PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);") (define-entry-point glUniform3iARB PFNGLUNIFORM3IARBPROC "typedef void (APIENTRYP PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);") (define-entry-point glUniform4iARB PFNGLUNIFORM4IARBPROC "typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);") (define-entry-point glUniform1fvARB PFNGLUNIFORM1FVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform2fvARB PFNGLUNIFORM2FVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform3fvARB PFNGLUNIFORM3FVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform4fvARB PFNGLUNIFORM4FVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glUniform1ivARB PFNGLUNIFORM1IVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniform2ivARB PFNGLUNIFORM2IVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniform3ivARB PFNGLUNIFORM3IVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniform4ivARB PFNGLUNIFORM4IVARBPROC "typedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);") (define-entry-point glUniformMatrix2fvARB PFNGLUNIFORMMATRIX2FVARBPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix3fvARB PFNGLUNIFORMMATRIX3FVARBPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glUniformMatrix4fvARB PFNGLUNIFORMMATRIX4FVARBPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glGetObjectParameterfvARB PFNGLGETOBJECTPARAMETERFVARBPROC "typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);") (define-entry-point glGetObjectParameterivARB PFNGLGETOBJECTPARAMETERIVARBPROC "typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);") (define-entry-point glGetInfoLogARB PFNGLGETINFOLOGARBPROC "typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);") (define-entry-point glGetAttachedObjectsARB PFNGLGETATTACHEDOBJECTSARBPROC "typedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);") (define-entry-point glGetUniformLocationARB PFNGLGETUNIFORMLOCATIONARBPROC "typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);") (define-entry-point glGetActiveUniformARB PFNGLGETACTIVEUNIFORMARBPROC "typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);") (define-entry-point glGetUniformfvARB PFNGLGETUNIFORMFVARBPROC "typedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);") (define-entry-point glGetUniformivARB PFNGLGETUNIFORMIVARBPROC "typedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);") (define-entry-point glGetShaderSourceARB PFNGLGETSHADERSOURCEARBPROC "typedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);") (define-entry-point glBindAttribLocationARB PFNGLBINDATTRIBLOCATIONARBPROC "typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);") (define-entry-point glGetActiveAttribARB PFNGLGETACTIVEATTRIBARBPROC "typedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);") (define-entry-point glGetAttribLocationARB PFNGLGETATTRIBLOCATIONARBPROC "typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);") (define-entry-point glDrawBuffersARB PFNGLDRAWBUFFERSARBPROC "typedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);") (define-entry-point glClampColorARB PFNGLCLAMPCOLORARBPROC "typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);") (define-entry-point glDrawArraysInstancedARB PFNGLDRAWARRAYSINSTANCEDARBPROC "typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);") (define-entry-point glDrawElementsInstancedARB PFNGLDRAWELEMENTSINSTANCEDARBPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);") (define-entry-point glIsRenderbuffer PFNGLISRENDERBUFFERPROC "typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);") (define-entry-point glBindRenderbuffer PFNGLBINDRENDERBUFFERPROC "typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);") (define-entry-point glDeleteRenderbuffers PFNGLDELETERENDERBUFFERSPROC "typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);") (define-entry-point glGenRenderbuffers PFNGLGENRENDERBUFFERSPROC "typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);") (define-entry-point glRenderbufferStorage PFNGLRENDERBUFFERSTORAGEPROC "typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glGetRenderbufferParameteriv PFNGLGETRENDERBUFFERPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glIsFramebuffer PFNGLISFRAMEBUFFERPROC "typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);") (define-entry-point glBindFramebuffer PFNGLBINDFRAMEBUFFERPROC "typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);") (define-entry-point glDeleteFramebuffers PFNGLDELETEFRAMEBUFFERSPROC "typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);") (define-entry-point glGenFramebuffers PFNGLGENFRAMEBUFFERSPROC "typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);") (define-entry-point glCheckFramebufferStatus PFNGLCHECKFRAMEBUFFERSTATUSPROC "typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);") (define-entry-point glFramebufferTexture1D PFNGLFRAMEBUFFERTEXTURE1DPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);") (define-entry-point glFramebufferTexture2D PFNGLFRAMEBUFFERTEXTURE2DPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);") (define-entry-point glFramebufferTexture3D PFNGLFRAMEBUFFERTEXTURE3DPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);") (define-entry-point glFramebufferRenderbuffer PFNGLFRAMEBUFFERRENDERBUFFERPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);") (define-entry-point glGetFramebufferAttachmentParameteriv PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);") (define-entry-point glGenerateMipmap PFNGLGENERATEMIPMAPPROC "typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);") (define-entry-point glBlitFramebuffer PFNGLBLITFRAMEBUFFERPROC "typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);") (define-entry-point glRenderbufferStorageMultisample PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC "typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glFramebufferTextureLayer PFNGLFRAMEBUFFERTEXTURELAYERPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);") (define-entry-point glProgramParameteriARB PFNGLPROGRAMPARAMETERIARBPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);") (define-entry-point glFramebufferTextureARB PFNGLFRAMEBUFFERTEXTUREARBPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);") (define-entry-point glFramebufferTextureLayerARB PFNGLFRAMEBUFFERTEXTURELAYERARBPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);") (define-entry-point glFramebufferTextureFaceARB PFNGLFRAMEBUFFERTEXTUREFACEARBPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);") (define-entry-point glVertexAttribDivisorARB PFNGLVERTEXATTRIBDIVISORARBPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);") (define-entry-point glMapBufferRange PFNGLMAPBUFFERRANGEPROC "typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);") (define-entry-point glFlushMappedBufferRange PFNGLFLUSHMAPPEDBUFFERRANGEPROC "typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);") (define-entry-point glTexBufferARB PFNGLTEXBUFFERARBPROC "typedef void (APIENTRYP PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);") (define-entry-point glBindVertexArray PFNGLBINDVERTEXARRAYPROC "typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);") (define-entry-point glDeleteVertexArrays PFNGLDELETEVERTEXARRAYSPROC "typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);") (define-entry-point glGenVertexArrays PFNGLGENVERTEXARRAYSPROC "typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);") (define-entry-point glIsVertexArray PFNGLISVERTEXARRAYPROC "typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);") (define-entry-point glGetUniformIndices PFNGLGETUNIFORMINDICESPROC "typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);") (define-entry-point glGetActiveUniformsiv PFNGLGETACTIVEUNIFORMSIVPROC "typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);") (define-entry-point glGetActiveUniformName PFNGLGETACTIVEUNIFORMNAMEPROC "typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);") (define-entry-point glGetUniformBlockIndex PFNGLGETUNIFORMBLOCKINDEXPROC "typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);") (define-entry-point glGetActiveUniformBlockiv PFNGLGETACTIVEUNIFORMBLOCKIVPROC "typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);") (define-entry-point glGetActiveUniformBlockName PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC "typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);") (define-entry-point glUniformBlockBinding PFNGLUNIFORMBLOCKBINDINGPROC "typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);") (define-entry-point glCopyBufferSubData PFNGLCOPYBUFFERSUBDATAPROC "typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);") (define-entry-point glDrawElementsBaseVertex PFNGLDRAWELEMENTSBASEVERTEXPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);") (define-entry-point glDrawRangeElementsBaseVertex PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC "typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);") (define-entry-point glDrawElementsInstancedBaseVertex PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);") (define-entry-point glMultiDrawElementsBaseVertex PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC "typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, const GLint *basevertex);") (define-entry-point glProvokingVertex PFNGLPROVOKINGVERTEXPROC "typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode);") (define-entry-point glFenceSync PFNGLFENCESYNCPROC "typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);") (define-entry-point glIsSync PFNGLISSYNCPROC "typedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync);") (define-entry-point glDeleteSync PFNGLDELETESYNCPROC "typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);") (define-entry-point glClientWaitSync PFNGLCLIENTWAITSYNCPROC "typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);") (define-entry-point glWaitSync PFNGLWAITSYNCPROC "typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);") (define-entry-point glGetInteger64v PFNGLGETINTEGER64VPROC "typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params);") (define-entry-point glGetSynciv PFNGLGETSYNCIVPROC "typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);") (define-entry-point glTexImage2DMultisample PFNGLTEXIMAGE2DMULTISAMPLEPROC "typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);") (define-entry-point glTexImage3DMultisample PFNGLTEXIMAGE3DMULTISAMPLEPROC "typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);") (define-entry-point glGetMultisamplefv PFNGLGETMULTISAMPLEFVPROC "typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);") (define-entry-point glSampleMaski PFNGLSAMPLEMASKIPROC "typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);") (define-entry-point glBlendEquationiARB PFNGLBLENDEQUATIONIARBPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);") (define-entry-point glBlendEquationSeparateiARB PFNGLBLENDEQUATIONSEPARATEIARBPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);") (define-entry-point glBlendFunciARB PFNGLBLENDFUNCIARBPROC "typedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);") (define-entry-point glBlendFuncSeparateiARB PFNGLBLENDFUNCSEPARATEIARBPROC "typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);") (define-entry-point glMinSampleShadingARB PFNGLMINSAMPLESHADINGARBPROC "typedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value);") (define-entry-point glNamedStringARB PFNGLNAMEDSTRINGARBPROC "typedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);") (define-entry-point glDeleteNamedStringARB PFNGLDELETENAMEDSTRINGARBPROC "typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);") (define-entry-point glCompileShaderIncludeARB PFNGLCOMPILESHADERINCLUDEARBPROC "typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);") (define-entry-point glIsNamedStringARB PFNGLISNAMEDSTRINGARBPROC "typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);") (define-entry-point glGetNamedStringARB PFNGLGETNAMEDSTRINGARBPROC "typedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);") (define-entry-point glGetNamedStringivARB PFNGLGETNAMEDSTRINGIVARBPROC "typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar *name, GLenum pname, GLint *params);") (define-entry-point glBindFragDataLocationIndexed PFNGLBINDFRAGDATALOCATIONINDEXEDPROC "typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);") (define-entry-point glGetFragDataIndex PFNGLGETFRAGDATAINDEXPROC "typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name);") (define-entry-point glGenSamplers PFNGLGENSAMPLERSPROC "typedef void (APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);") (define-entry-point glDeleteSamplers PFNGLDELETESAMPLERSPROC "typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);") (define-entry-point glIsSampler PFNGLISSAMPLERPROC "typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);") (define-entry-point glBindSampler PFNGLBINDSAMPLERPROC "typedef void (APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);") (define-entry-point glSamplerParameteri PFNGLSAMPLERPARAMETERIPROC "typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);") (define-entry-point glSamplerParameteriv PFNGLSAMPLERPARAMETERIVPROC "typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);") (define-entry-point glSamplerParameterf PFNGLSAMPLERPARAMETERFPROC "typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);") (define-entry-point glSamplerParameterfv PFNGLSAMPLERPARAMETERFVPROC "typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);") (define-entry-point glSamplerParameterIiv PFNGLSAMPLERPARAMETERIIVPROC "typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);") (define-entry-point glSamplerParameterIuiv PFNGLSAMPLERPARAMETERIUIVPROC "typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);") (define-entry-point glGetSamplerParameteriv PFNGLGETSAMPLERPARAMETERIVPROC "typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);") (define-entry-point glGetSamplerParameterIiv PFNGLGETSAMPLERPARAMETERIIVPROC "typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);") (define-entry-point glGetSamplerParameterfv PFNGLGETSAMPLERPARAMETERFVPROC "typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);") (define-entry-point glGetSamplerParameterIuiv PFNGLGETSAMPLERPARAMETERIUIVPROC "typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);") (define-entry-point glQueryCounter PFNGLQUERYCOUNTERPROC "typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);") (define-entry-point glGetQueryObjecti64v PFNGLGETQUERYOBJECTI64VPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params);") (define-entry-point glGetQueryObjectui64v PFNGLGETQUERYOBJECTUI64VPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params);") (define-entry-point glVertexP2ui PFNGLVERTEXP2UIPROC "typedef void (APIENTRYP PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);") (define-entry-point glVertexP2uiv PFNGLVERTEXP2UIVPROC "typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint *value);") (define-entry-point glVertexP3ui PFNGLVERTEXP3UIPROC "typedef void (APIENTRYP PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);") (define-entry-point glVertexP3uiv PFNGLVERTEXP3UIVPROC "typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint *value);") (define-entry-point glVertexP4ui PFNGLVERTEXP4UIPROC "typedef void (APIENTRYP PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);") (define-entry-point glVertexP4uiv PFNGLVERTEXP4UIVPROC "typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint *value);") (define-entry-point glTexCoordP1ui PFNGLTEXCOORDP1UIPROC "typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);") (define-entry-point glTexCoordP1uiv PFNGLTEXCOORDP1UIVPROC "typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint *coords);") (define-entry-point glTexCoordP2ui PFNGLTEXCOORDP2UIPROC "typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);") (define-entry-point glTexCoordP2uiv PFNGLTEXCOORDP2UIVPROC "typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint *coords);") (define-entry-point glTexCoordP3ui PFNGLTEXCOORDP3UIPROC "typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);") (define-entry-point glTexCoordP3uiv PFNGLTEXCOORDP3UIVPROC "typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint *coords);") (define-entry-point glTexCoordP4ui PFNGLTEXCOORDP4UIPROC "typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);") (define-entry-point glTexCoordP4uiv PFNGLTEXCOORDP4UIVPROC "typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint *coords);") (define-entry-point glMultiTexCoordP1ui PFNGLMULTITEXCOORDP1UIPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);") (define-entry-point glMultiTexCoordP1uiv PFNGLMULTITEXCOORDP1UIVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);") (define-entry-point glMultiTexCoordP2ui PFNGLMULTITEXCOORDP2UIPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);") (define-entry-point glMultiTexCoordP2uiv PFNGLMULTITEXCOORDP2UIVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);") (define-entry-point glMultiTexCoordP3ui PFNGLMULTITEXCOORDP3UIPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);") (define-entry-point glMultiTexCoordP3uiv PFNGLMULTITEXCOORDP3UIVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);") (define-entry-point glMultiTexCoordP4ui PFNGLMULTITEXCOORDP4UIPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);") (define-entry-point glMultiTexCoordP4uiv PFNGLMULTITEXCOORDP4UIVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);") (define-entry-point glNormalP3ui PFNGLNORMALP3UIPROC "typedef void (APIENTRYP PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);") (define-entry-point glNormalP3uiv PFNGLNORMALP3UIVPROC "typedef void (APIENTRYP PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint *coords);") (define-entry-point glColorP3ui PFNGLCOLORP3UIPROC "typedef void (APIENTRYP PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);") (define-entry-point glColorP3uiv PFNGLCOLORP3UIVPROC "typedef void (APIENTRYP PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint *color);") (define-entry-point glColorP4ui PFNGLCOLORP4UIPROC "typedef void (APIENTRYP PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);") (define-entry-point glColorP4uiv PFNGLCOLORP4UIVPROC "typedef void (APIENTRYP PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint *color);") (define-entry-point glSecondaryColorP3ui PFNGLSECONDARYCOLORP3UIPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);") (define-entry-point glSecondaryColorP3uiv PFNGLSECONDARYCOLORP3UIVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint *color);") (define-entry-point glVertexAttribP1ui PFNGLVERTEXATTRIBP1UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);") (define-entry-point glVertexAttribP1uiv PFNGLVERTEXATTRIBP1UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);") (define-entry-point glVertexAttribP2ui PFNGLVERTEXATTRIBP2UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);") (define-entry-point glVertexAttribP2uiv PFNGLVERTEXATTRIBP2UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);") (define-entry-point glVertexAttribP3ui PFNGLVERTEXATTRIBP3UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);") (define-entry-point glVertexAttribP3uiv PFNGLVERTEXATTRIBP3UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);") (define-entry-point glVertexAttribP4ui PFNGLVERTEXATTRIBP4UIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);") (define-entry-point glVertexAttribP4uiv PFNGLVERTEXATTRIBP4UIVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);") (define-entry-point glDrawArraysIndirect PFNGLDRAWARRAYSINDIRECTPROC "typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid *indirect);") (define-entry-point glDrawElementsIndirect PFNGLDRAWELEMENTSINDIRECTPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid *indirect);") (define-entry-point glUniform1d PFNGLUNIFORM1DPROC "typedef void (APIENTRYP PFNGLUNIFORM1DPROC) (GLint location, GLdouble x);") (define-entry-point glUniform2d PFNGLUNIFORM2DPROC "typedef void (APIENTRYP PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y);") (define-entry-point glUniform3d PFNGLUNIFORM3DPROC "typedef void (APIENTRYP PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glUniform4d PFNGLUNIFORM4DPROC "typedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glUniform1dv PFNGLUNIFORM1DVPROC "typedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glUniform2dv PFNGLUNIFORM2DVPROC "typedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glUniform3dv PFNGLUNIFORM3DVPROC "typedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glUniform4dv PFNGLUNIFORM4DVPROC "typedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glUniformMatrix2dv PFNGLUNIFORMMATRIX2DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix3dv PFNGLUNIFORMMATRIX3DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix4dv PFNGLUNIFORMMATRIX4DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix2x3dv PFNGLUNIFORMMATRIX2X3DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix2x4dv PFNGLUNIFORMMATRIX2X4DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix3x2dv PFNGLUNIFORMMATRIX3X2DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix3x4dv PFNGLUNIFORMMATRIX3X4DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix4x2dv PFNGLUNIFORMMATRIX4X2DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glUniformMatrix4x3dv PFNGLUNIFORMMATRIX4X3DVPROC "typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glGetUniformdv PFNGLGETUNIFORMDVPROC "typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params);") (define-entry-point glGetSubroutineUniformLocation PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC "typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name);") (define-entry-point glGetSubroutineIndex PFNGLGETSUBROUTINEINDEXPROC "typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name);") (define-entry-point glGetActiveSubroutineUniformiv PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC "typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);") (define-entry-point glGetActiveSubroutineUniformName PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC "typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);") (define-entry-point glGetActiveSubroutineName PFNGLGETACTIVESUBROUTINENAMEPROC "typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);") (define-entry-point glUniformSubroutinesuiv PFNGLUNIFORMSUBROUTINESUIVPROC "typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices);") (define-entry-point glGetUniformSubroutineuiv PFNGLGETUNIFORMSUBROUTINEUIVPROC "typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params);") (define-entry-point glGetProgramStageiv PFNGLGETPROGRAMSTAGEIVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);") (define-entry-point glPatchParameteri PFNGLPATCHPARAMETERIPROC "typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);") (define-entry-point glPatchParameterfv PFNGLPATCHPARAMETERFVPROC "typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values);") (define-entry-point glBindTransformFeedback PFNGLBINDTRANSFORMFEEDBACKPROC "typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);") (define-entry-point glDeleteTransformFeedbacks PFNGLDELETETRANSFORMFEEDBACKSPROC "typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);") (define-entry-point glGenTransformFeedbacks PFNGLGENTRANSFORMFEEDBACKSPROC "typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);") (define-entry-point glIsTransformFeedback PFNGLISTRANSFORMFEEDBACKPROC "typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);") (define-entry-point glPauseTransformFeedback PFNGLPAUSETRANSFORMFEEDBACKPROC "typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);") (define-entry-point glResumeTransformFeedback PFNGLRESUMETRANSFORMFEEDBACKPROC "typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);") (define-entry-point glDrawTransformFeedback PFNGLDRAWTRANSFORMFEEDBACKPROC "typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);") (define-entry-point glDrawTransformFeedbackStream PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC "typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);") (define-entry-point glBeginQueryIndexed PFNGLBEGINQUERYINDEXEDPROC "typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);") (define-entry-point glEndQueryIndexed PFNGLENDQUERYINDEXEDPROC "typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);") (define-entry-point glGetQueryIndexediv PFNGLGETQUERYINDEXEDIVPROC "typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);") (define-entry-point glReleaseShaderCompiler PFNGLRELEASESHADERCOMPILERPROC "typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);") (define-entry-point glShaderBinary PFNGLSHADERBINARYPROC "typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);") (define-entry-point glGetShaderPrecisionFormat PFNGLGETSHADERPRECISIONFORMATPROC "typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);") (define-entry-point glDepthRangef PFNGLDEPTHRANGEFPROC "typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f);") (define-entry-point glClearDepthf PFNGLCLEARDEPTHFPROC "typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLclampf d);") (define-entry-point glGetProgramBinary PFNGLGETPROGRAMBINARYPROC "typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);") (define-entry-point glProgramBinary PFNGLPROGRAMBINARYPROC "typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);") (define-entry-point glProgramParameteri PFNGLPROGRAMPARAMETERIPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);") (define-entry-point glUseProgramStages PFNGLUSEPROGRAMSTAGESPROC "typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);") (define-entry-point glActiveShaderProgram PFNGLACTIVESHADERPROGRAMPROC "typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);") (define-entry-point glCreateShaderProgramv PFNGLCREATESHADERPROGRAMVPROC "typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar* *strings);") (define-entry-point glBindProgramPipeline PFNGLBINDPROGRAMPIPELINEPROC "typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);") (define-entry-point glDeleteProgramPipelines PFNGLDELETEPROGRAMPIPELINESPROC "typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);") (define-entry-point glGenProgramPipelines PFNGLGENPROGRAMPIPELINESPROC "typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);") (define-entry-point glIsProgramPipeline PFNGLISPROGRAMPIPELINEPROC "typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);") (define-entry-point glGetProgramPipelineiv PFNGLGETPROGRAMPIPELINEIVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);") (define-entry-point glProgramUniform1i PFNGLPROGRAMUNIFORM1IPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);") (define-entry-point glProgramUniform1iv PFNGLPROGRAMUNIFORM1IVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniform1f PFNGLPROGRAMUNIFORM1FPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);") (define-entry-point glProgramUniform1fv PFNGLPROGRAMUNIFORM1FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform1d PFNGLPROGRAMUNIFORM1DPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0);") (define-entry-point glProgramUniform1dv PFNGLPROGRAMUNIFORM1DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniform1ui PFNGLPROGRAMUNIFORM1UIPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);") (define-entry-point glProgramUniform1uiv PFNGLPROGRAMUNIFORM1UIVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glProgramUniform2i PFNGLPROGRAMUNIFORM2IPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);") (define-entry-point glProgramUniform2iv PFNGLPROGRAMUNIFORM2IVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniform2f PFNGLPROGRAMUNIFORM2FPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);") (define-entry-point glProgramUniform2fv PFNGLPROGRAMUNIFORM2FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform2d PFNGLPROGRAMUNIFORM2DPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1);") (define-entry-point glProgramUniform2dv PFNGLPROGRAMUNIFORM2DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniform2ui PFNGLPROGRAMUNIFORM2UIPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);") (define-entry-point glProgramUniform2uiv PFNGLPROGRAMUNIFORM2UIVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glProgramUniform3i PFNGLPROGRAMUNIFORM3IPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);") (define-entry-point glProgramUniform3iv PFNGLPROGRAMUNIFORM3IVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniform3f PFNGLPROGRAMUNIFORM3FPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);") (define-entry-point glProgramUniform3fv PFNGLPROGRAMUNIFORM3FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform3d PFNGLPROGRAMUNIFORM3DPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);") (define-entry-point glProgramUniform3dv PFNGLPROGRAMUNIFORM3DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniform3ui PFNGLPROGRAMUNIFORM3UIPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);") (define-entry-point glProgramUniform3uiv PFNGLPROGRAMUNIFORM3UIVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glProgramUniform4i PFNGLPROGRAMUNIFORM4IPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);") (define-entry-point glProgramUniform4iv PFNGLPROGRAMUNIFORM4IVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniform4f PFNGLPROGRAMUNIFORM4FPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);") (define-entry-point glProgramUniform4fv PFNGLPROGRAMUNIFORM4FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform4d PFNGLPROGRAMUNIFORM4DPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);") (define-entry-point glProgramUniform4dv PFNGLPROGRAMUNIFORM4DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniform4ui PFNGLPROGRAMUNIFORM4UIPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);") (define-entry-point glProgramUniform4uiv PFNGLPROGRAMUNIFORM4UIVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glProgramUniformMatrix2fv PFNGLPROGRAMUNIFORMMATRIX2FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix3fv PFNGLPROGRAMUNIFORMMATRIX3FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix4fv PFNGLPROGRAMUNIFORMMATRIX4FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix2dv PFNGLPROGRAMUNIFORMMATRIX2DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix3dv PFNGLPROGRAMUNIFORMMATRIX3DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix4dv PFNGLPROGRAMUNIFORMMATRIX4DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix2x3fv PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix3x2fv PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix2x4fv PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix4x2fv PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix3x4fv PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix4x3fv PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix2x3dv PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix3x2dv PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix2x4dv PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix4x2dv PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix3x4dv PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix4x3dv PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glValidateProgramPipeline PFNGLVALIDATEPROGRAMPIPELINEPROC "typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);") (define-entry-point glGetProgramPipelineInfoLog PFNGLGETPROGRAMPIPELINEINFOLOGPROC "typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);") (define-entry-point glVertexAttribL1d PFNGLVERTEXATTRIBL1DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x);") (define-entry-point glVertexAttribL2d PFNGLVERTEXATTRIBL2DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y);") (define-entry-point glVertexAttribL3d PFNGLVERTEXATTRIBL3DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glVertexAttribL4d PFNGLVERTEXATTRIBL4DPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glVertexAttribL1dv PFNGLVERTEXATTRIBL1DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribL2dv PFNGLVERTEXATTRIBL2DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribL3dv PFNGLVERTEXATTRIBL3DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribL4dv PFNGLVERTEXATTRIBL4DVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribLPointer PFNGLVERTEXATTRIBLPOINTERPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glGetVertexAttribLdv PFNGLGETVERTEXATTRIBLDVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params);") (define-entry-point glViewportArrayv PFNGLVIEWPORTARRAYVPROC "typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v);") (define-entry-point glViewportIndexedf PFNGLVIEWPORTINDEXEDFPROC "typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);") (define-entry-point glViewportIndexedfv PFNGLVIEWPORTINDEXEDFVPROC "typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glScissorArrayv PFNGLSCISSORARRAYVPROC "typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v);") (define-entry-point glScissorIndexed PFNGLSCISSORINDEXEDPROC "typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);") (define-entry-point glScissorIndexedv PFNGLSCISSORINDEXEDVPROC "typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v);") (define-entry-point glDepthRangeArrayv PFNGLDEPTHRANGEARRAYVPROC "typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd *v);") (define-entry-point glDepthRangeIndexed PFNGLDEPTHRANGEINDEXEDPROC "typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f);") (define-entry-point glGetFloati_v PFNGLGETFLOATI_VPROC "typedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data);") (define-entry-point glGetDoublei_v PFNGLGETDOUBLEI_VPROC "typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);") (define-entry-point glCreateSyncFromCLeventARB PFNGLCREATESYNCFROMCLEVENTARBPROC "typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);") (define-entry-point glDebugMessageControlARB PFNGLDEBUGMESSAGECONTROLARBPROC "typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);") (define-entry-point glDebugMessageInsertARB PFNGLDEBUGMESSAGEINSERTARBPROC "typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);") (define-entry-point glDebugMessageCallbackARB PFNGLDEBUGMESSAGECALLBACKARBPROC "typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const GLvoid *userParam);") (define-entry-point glGetDebugMessageLogARB PFNGLGETDEBUGMESSAGELOGARBPROC "typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);") (define-entry-point glGetGraphicsResetStatusARB PFNGLGETGRAPHICSRESETSTATUSARBPROC "typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void);") (define-entry-point glGetnMapdvARB PFNGLGETNMAPDVARBPROC "typedef void (APIENTRYP PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);") (define-entry-point glGetnMapfvARB PFNGLGETNMAPFVARBPROC "typedef void (APIENTRYP PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);") (define-entry-point glGetnMapivARB PFNGLGETNMAPIVARBPROC "typedef void (APIENTRYP PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v);") (define-entry-point glGetnPixelMapfvARB PFNGLGETNPIXELMAPFVARBPROC "typedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat *values);") (define-entry-point glGetnPixelMapuivARB PFNGLGETNPIXELMAPUIVARBPROC "typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint *values);") (define-entry-point glGetnPixelMapusvARB PFNGLGETNPIXELMAPUSVARBPROC "typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort *values);") (define-entry-point glGetnPolygonStippleARB PFNGLGETNPOLYGONSTIPPLEARBPROC "typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte *pattern);") (define-entry-point glGetnColorTableARB PFNGLGETNCOLORTABLEARBPROC "typedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);") (define-entry-point glGetnConvolutionFilterARB PFNGLGETNCONVOLUTIONFILTERARBPROC "typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);") (define-entry-point glGetnSeparableFilterARB PFNGLGETNSEPARABLEFILTERARBPROC "typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);") (define-entry-point glGetnHistogramARB PFNGLGETNHISTOGRAMARBPROC "typedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);") (define-entry-point glGetnMinmaxARB PFNGLGETNMINMAXARBPROC "typedef void (APIENTRYP PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);") (define-entry-point glGetnTexImageARB PFNGLGETNTEXIMAGEARBPROC "typedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);") (define-entry-point glReadnPixelsARB PFNGLREADNPIXELSARBPROC "typedef void (APIENTRYP PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);") (define-entry-point glGetnCompressedTexImageARB PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC "typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);") (define-entry-point glGetnUniformfvARB PFNGLGETNUNIFORMFVARBPROC "typedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);") (define-entry-point glGetnUniformivARB PFNGLGETNUNIFORMIVARBPROC "typedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);") (define-entry-point glGetnUniformuivARB PFNGLGETNUNIFORMUIVARBPROC "typedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);") (define-entry-point glGetnUniformdvARB PFNGLGETNUNIFORMDVARBPROC "typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);") (define-entry-point glDrawArraysInstancedBaseInstance PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC "typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);") (define-entry-point glDrawElementsInstancedBaseInstance PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance);") (define-entry-point glDrawElementsInstancedBaseVertexBaseInstance PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);") (define-entry-point glDrawTransformFeedbackInstanced PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC "typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei primcount);") (define-entry-point glDrawTransformFeedbackStreamInstanced PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC "typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei primcount);") (define-entry-point glGetInternalformativ PFNGLGETINTERNALFORMATIVPROC "typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);") (define-entry-point glGetActiveAtomicCounterBufferiv PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC "typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);") (define-entry-point glBindImageTexture PFNGLBINDIMAGETEXTUREPROC "typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);") (define-entry-point glMemoryBarrier PFNGLMEMORYBARRIERPROC "typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);") (define-entry-point glTexStorage1D PFNGLTEXSTORAGE1DPROC "typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);") (define-entry-point glTexStorage2D PFNGLTEXSTORAGE2DPROC "typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glTexStorage3D PFNGLTEXSTORAGE3DPROC "typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);") (define-entry-point glTextureStorage1DEXT PFNGLTEXTURESTORAGE1DEXTPROC "typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);") (define-entry-point glTextureStorage2DEXT PFNGLTEXTURESTORAGE2DEXTPROC "typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glTextureStorage3DEXT PFNGLTEXTURESTORAGE3DEXTPROC "typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);") (define-entry-point glBlendColorEXT PFNGLBLENDCOLOREXTPROC "typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);") (define-entry-point glPolygonOffsetEXT PFNGLPOLYGONOFFSETEXTPROC "typedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);") (define-entry-point glTexImage3DEXT PFNGLTEXIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTexSubImage3DEXT PFNGLTEXSUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glGetTexFilterFuncSGIS PFNGLGETTEXFILTERFUNCSGISPROC "typedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);") (define-entry-point glTexFilterFuncSGIS PFNGLTEXFILTERFUNCSGISPROC "typedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);") (define-entry-point glTexSubImage1DEXT PFNGLTEXSUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTexSubImage2DEXT PFNGLTEXSUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glCopyTexImage1DEXT PFNGLCOPYTEXIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);") (define-entry-point glCopyTexImage2DEXT PFNGLCOPYTEXIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);") (define-entry-point glCopyTexSubImage1DEXT PFNGLCOPYTEXSUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);") (define-entry-point glCopyTexSubImage2DEXT PFNGLCOPYTEXSUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glCopyTexSubImage3DEXT PFNGLCOPYTEXSUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glGetHistogramEXT PFNGLGETHISTOGRAMEXTPROC "typedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);") (define-entry-point glGetHistogramParameterfvEXT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetHistogramParameterivEXT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetMinmaxEXT PFNGLGETMINMAXEXTPROC "typedef void (APIENTRYP PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);") (define-entry-point glGetMinmaxParameterfvEXT PFNGLGETMINMAXPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetMinmaxParameterivEXT PFNGLGETMINMAXPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glHistogramEXT PFNGLHISTOGRAMEXTPROC "typedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);") (define-entry-point glMinmaxEXT PFNGLMINMAXEXTPROC "typedef void (APIENTRYP PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);") (define-entry-point glResetHistogramEXT PFNGLRESETHISTOGRAMEXTPROC "typedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);") (define-entry-point glResetMinmaxEXT PFNGLRESETMINMAXEXTPROC "typedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC) (GLenum target);") (define-entry-point glConvolutionFilter1DEXT PFNGLCONVOLUTIONFILTER1DEXTPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);") (define-entry-point glConvolutionFilter2DEXT PFNGLCONVOLUTIONFILTER2DEXTPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);") (define-entry-point glConvolutionParameterfEXT PFNGLCONVOLUTIONPARAMETERFEXTPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);") (define-entry-point glConvolutionParameterfvEXT PFNGLCONVOLUTIONPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glConvolutionParameteriEXT PFNGLCONVOLUTIONPARAMETERIEXTPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);") (define-entry-point glConvolutionParameterivEXT PFNGLCONVOLUTIONPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glCopyConvolutionFilter1DEXT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC "typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);") (define-entry-point glCopyConvolutionFilter2DEXT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC "typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glGetConvolutionFilterEXT PFNGLGETCONVOLUTIONFILTEREXTPROC "typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);") (define-entry-point glGetConvolutionParameterfvEXT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetConvolutionParameterivEXT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetSeparableFilterEXT PFNGLGETSEPARABLEFILTEREXTPROC "typedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);") (define-entry-point glSeparableFilter2DEXT PFNGLSEPARABLEFILTER2DEXTPROC "typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);") (define-entry-point glColorTableSGI PFNGLCOLORTABLESGIPROC "typedef void (APIENTRYP PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);") (define-entry-point glColorTableParameterfvSGI PFNGLCOLORTABLEPARAMETERFVSGIPROC "typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glColorTableParameterivSGI PFNGLCOLORTABLEPARAMETERIVSGIPROC "typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glCopyColorTableSGI PFNGLCOPYCOLORTABLESGIPROC "typedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);") (define-entry-point glGetColorTableSGI PFNGLGETCOLORTABLESGIPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);") (define-entry-point glGetColorTableParameterfvSGI PFNGLGETCOLORTABLEPARAMETERFVSGIPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetColorTableParameterivSGI PFNGLGETCOLORTABLEPARAMETERIVSGIPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glPixelTexGenSGIX PFNGLPIXELTEXGENSGIXPROC "typedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);") (define-entry-point glPixelTexGenParameteriSGIS PFNGLPIXELTEXGENPARAMETERISGISPROC "typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);") (define-entry-point glPixelTexGenParameterivSGIS PFNGLPIXELTEXGENPARAMETERIVSGISPROC "typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);") (define-entry-point glPixelTexGenParameterfSGIS PFNGLPIXELTEXGENPARAMETERFSGISPROC "typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);") (define-entry-point glPixelTexGenParameterfvSGIS PFNGLPIXELTEXGENPARAMETERFVSGISPROC "typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glGetPixelTexGenParameterivSGIS PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC "typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);") (define-entry-point glGetPixelTexGenParameterfvSGIS PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC "typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);") (define-entry-point glTexImage4DSGIS PFNGLTEXIMAGE4DSGISPROC "typedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTexSubImage4DSGIS PFNGLTEXSUBIMAGE4DSGISPROC "typedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glAreTexturesResidentEXT PFNGLARETEXTURESRESIDENTEXTPROC "typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);") (define-entry-point glBindTextureEXT PFNGLBINDTEXTUREEXTPROC "typedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);") (define-entry-point glDeleteTexturesEXT PFNGLDELETETEXTURESEXTPROC "typedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);") (define-entry-point glGenTexturesEXT PFNGLGENTEXTURESEXTPROC "typedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);") (define-entry-point glIsTextureEXT PFNGLISTEXTUREEXTPROC "typedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC) (GLuint texture);") (define-entry-point glPrioritizeTexturesEXT PFNGLPRIORITIZETEXTURESEXTPROC "typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);") (define-entry-point glDetailTexFuncSGIS PFNGLDETAILTEXFUNCSGISPROC "typedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);") (define-entry-point glGetDetailTexFuncSGIS PFNGLGETDETAILTEXFUNCSGISPROC "typedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);") (define-entry-point glSharpenTexFuncSGIS PFNGLSHARPENTEXFUNCSGISPROC "typedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);") (define-entry-point glGetSharpenTexFuncSGIS PFNGLGETSHARPENTEXFUNCSGISPROC "typedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);") (define-entry-point glSampleMaskSGIS PFNGLSAMPLEMASKSGISPROC "typedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);") (define-entry-point glSamplePatternSGIS PFNGLSAMPLEPATTERNSGISPROC "typedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);") (define-entry-point glArrayElementEXT PFNGLARRAYELEMENTEXTPROC "typedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC) (GLint i);") (define-entry-point glColorPointerEXT PFNGLCOLORPOINTEREXTPROC "typedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);") (define-entry-point glDrawArraysEXT PFNGLDRAWARRAYSEXTPROC "typedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);") (define-entry-point glEdgeFlagPointerEXT PFNGLEDGEFLAGPOINTEREXTPROC "typedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);") (define-entry-point glGetPointervEXT PFNGLGETPOINTERVEXTPROC "typedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);") (define-entry-point glIndexPointerEXT PFNGLINDEXPOINTEREXTPROC "typedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);") (define-entry-point glNormalPointerEXT PFNGLNORMALPOINTEREXTPROC "typedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);") (define-entry-point glTexCoordPointerEXT PFNGLTEXCOORDPOINTEREXTPROC "typedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);") (define-entry-point glVertexPointerEXT PFNGLVERTEXPOINTEREXTPROC "typedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);") (define-entry-point glBlendEquationEXT PFNGLBLENDEQUATIONEXTPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);") (define-entry-point glSpriteParameterfSGIX PFNGLSPRITEPARAMETERFSGIXPROC "typedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);") (define-entry-point glSpriteParameterfvSGIX PFNGLSPRITEPARAMETERFVSGIXPROC "typedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glSpriteParameteriSGIX PFNGLSPRITEPARAMETERISGIXPROC "typedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);") (define-entry-point glSpriteParameterivSGIX PFNGLSPRITEPARAMETERIVSGIXPROC "typedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);") (define-entry-point glPointParameterfEXT PFNGLPOINTPARAMETERFEXTPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);") (define-entry-point glPointParameterfvEXT PFNGLPOINTPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glPointParameterfSGIS PFNGLPOINTPARAMETERFSGISPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);") (define-entry-point glPointParameterfvSGIS PFNGLPOINTPARAMETERFVSGISPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glGetInstrumentsSGIX PFNGLGETINSTRUMENTSSGIXPROC "typedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC) (void);") (define-entry-point glInstrumentsBufferSGIX PFNGLINSTRUMENTSBUFFERSGIXPROC "typedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);") (define-entry-point glPollInstrumentsSGIX PFNGLPOLLINSTRUMENTSSGIXPROC "typedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);") (define-entry-point glReadInstrumentsSGIX PFNGLREADINSTRUMENTSSGIXPROC "typedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);") (define-entry-point glStartInstrumentsSGIX PFNGLSTARTINSTRUMENTSSGIXPROC "typedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC) (void);") (define-entry-point glStopInstrumentsSGIX PFNGLSTOPINSTRUMENTSSGIXPROC "typedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);") (define-entry-point glFrameZoomSGIX PFNGLFRAMEZOOMSGIXPROC "typedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC) (GLint factor);") (define-entry-point glTagSampleBufferSGIX PFNGLTAGSAMPLEBUFFERSGIXPROC "typedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);") (define-entry-point glDeformationMap3dSGIX PFNGLDEFORMATIONMAP3DSGIXPROC "typedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);") (define-entry-point glDeformationMap3fSGIX PFNGLDEFORMATIONMAP3FSGIXPROC "typedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);") (define-entry-point glDeformSGIX PFNGLDEFORMSGIXPROC "typedef void (APIENTRYP PFNGLDEFORMSGIXPROC) (GLbitfield mask);") (define-entry-point glLoadIdentityDeformationMapSGIX PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC "typedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);") (define-entry-point glReferencePlaneSGIX PFNGLREFERENCEPLANESGIXPROC "typedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);") (define-entry-point glFlushRasterSGIX PFNGLFLUSHRASTERSGIXPROC "typedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC) (void);") (define-entry-point glFogFuncSGIS PFNGLFOGFUNCSGISPROC "typedef void (APIENTRYP PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);") (define-entry-point glGetFogFuncSGIS PFNGLGETFOGFUNCSGISPROC "typedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);") (define-entry-point glImageTransformParameteriHP PFNGLIMAGETRANSFORMPARAMETERIHPPROC "typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);") (define-entry-point glImageTransformParameterfHP PFNGLIMAGETRANSFORMPARAMETERFHPPROC "typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);") (define-entry-point glImageTransformParameterivHP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC "typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glImageTransformParameterfvHP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC "typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glGetImageTransformParameterivHP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC "typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetImageTransformParameterfvHP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC "typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glColorSubTableEXT PFNGLCOLORSUBTABLEEXTPROC "typedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);") (define-entry-point glCopyColorSubTableEXT PFNGLCOPYCOLORSUBTABLEEXTPROC "typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);") (define-entry-point glHintPGI PFNGLHINTPGIPROC "typedef void (APIENTRYP PFNGLHINTPGIPROC) (GLenum target, GLint mode);") (define-entry-point glColorTableEXT PFNGLCOLORTABLEEXTPROC "typedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);") (define-entry-point glGetColorTableEXT PFNGLGETCOLORTABLEEXTPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);") (define-entry-point glGetColorTableParameterivEXT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetColorTableParameterfvEXT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetListParameterfvSGIX PFNGLGETLISTPARAMETERFVSGIXPROC "typedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);") (define-entry-point glGetListParameterivSGIX PFNGLGETLISTPARAMETERIVSGIXPROC "typedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);") (define-entry-point glListParameterfSGIX PFNGLLISTPARAMETERFSGIXPROC "typedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);") (define-entry-point glListParameterfvSGIX PFNGLLISTPARAMETERFVSGIXPROC "typedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);") (define-entry-point glListParameteriSGIX PFNGLLISTPARAMETERISGIXPROC "typedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);") (define-entry-point glListParameterivSGIX PFNGLLISTPARAMETERIVSGIXPROC "typedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);") (define-entry-point glIndexMaterialEXT PFNGLINDEXMATERIALEXTPROC "typedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);") (define-entry-point glIndexFuncEXT PFNGLINDEXFUNCEXTPROC "typedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);") (define-entry-point glLockArraysEXT PFNGLLOCKARRAYSEXTPROC "typedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);") (define-entry-point glUnlockArraysEXT PFNGLUNLOCKARRAYSEXTPROC "typedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC) (void);") (define-entry-point glCullParameterdvEXT PFNGLCULLPARAMETERDVEXTPROC "typedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);") (define-entry-point glCullParameterfvEXT PFNGLCULLPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);") (define-entry-point glFragmentColorMaterialSGIX PFNGLFRAGMENTCOLORMATERIALSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);") (define-entry-point glFragmentLightfSGIX PFNGLFRAGMENTLIGHTFSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);") (define-entry-point glFragmentLightfvSGIX PFNGLFRAGMENTLIGHTFVSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);") (define-entry-point glFragmentLightiSGIX PFNGLFRAGMENTLIGHTISGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);") (define-entry-point glFragmentLightivSGIX PFNGLFRAGMENTLIGHTIVSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);") (define-entry-point glFragmentLightModelfSGIX PFNGLFRAGMENTLIGHTMODELFSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);") (define-entry-point glFragmentLightModelfvSGIX PFNGLFRAGMENTLIGHTMODELFVSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glFragmentLightModeliSGIX PFNGLFRAGMENTLIGHTMODELISGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);") (define-entry-point glFragmentLightModelivSGIX PFNGLFRAGMENTLIGHTMODELIVSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);") (define-entry-point glFragmentMaterialfSGIX PFNGLFRAGMENTMATERIALFSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);") (define-entry-point glFragmentMaterialfvSGIX PFNGLFRAGMENTMATERIALFVSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);") (define-entry-point glFragmentMaterialiSGIX PFNGLFRAGMENTMATERIALISGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);") (define-entry-point glFragmentMaterialivSGIX PFNGLFRAGMENTMATERIALIVSGIXPROC "typedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);") (define-entry-point glGetFragmentLightfvSGIX PFNGLGETFRAGMENTLIGHTFVSGIXPROC "typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);") (define-entry-point glGetFragmentLightivSGIX PFNGLGETFRAGMENTLIGHTIVSGIXPROC "typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);") (define-entry-point glGetFragmentMaterialfvSGIX PFNGLGETFRAGMENTMATERIALFVSGIXPROC "typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);") (define-entry-point glGetFragmentMaterialivSGIX PFNGLGETFRAGMENTMATERIALIVSGIXPROC "typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);") (define-entry-point glLightEnviSGIX PFNGLLIGHTENVISGIXPROC "typedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);") (define-entry-point glDrawRangeElementsEXT PFNGLDRAWRANGEELEMENTSEXTPROC "typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);") (define-entry-point glApplyTextureEXT PFNGLAPPLYTEXTUREEXTPROC "typedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);") (define-entry-point glTextureLightEXT PFNGLTEXTURELIGHTEXTPROC "typedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);") (define-entry-point glTextureMaterialEXT PFNGLTEXTUREMATERIALEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);") (define-entry-point glAsyncMarkerSGIX PFNGLASYNCMARKERSGIXPROC "typedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC) (GLuint marker);") (define-entry-point glFinishAsyncSGIX PFNGLFINISHASYNCSGIXPROC "typedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);") (define-entry-point glPollAsyncSGIX PFNGLPOLLASYNCSGIXPROC "typedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);") (define-entry-point glGenAsyncMarkersSGIX PFNGLGENASYNCMARKERSSGIXPROC "typedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);") (define-entry-point glDeleteAsyncMarkersSGIX PFNGLDELETEASYNCMARKERSSGIXPROC "typedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);") (define-entry-point glIsAsyncMarkerSGIX PFNGLISASYNCMARKERSGIXPROC "typedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);") (define-entry-point glVertexPointervINTEL PFNGLVERTEXPOINTERVINTELPROC "typedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);") (define-entry-point glNormalPointervINTEL PFNGLNORMALPOINTERVINTELPROC "typedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);") (define-entry-point glColorPointervINTEL PFNGLCOLORPOINTERVINTELPROC "typedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);") (define-entry-point glTexCoordPointervINTEL PFNGLTEXCOORDPOINTERVINTELPROC "typedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);") (define-entry-point glPixelTransformParameteriEXT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC "typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);") (define-entry-point glPixelTransformParameterfEXT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC "typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);") (define-entry-point glPixelTransformParameterivEXT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glPixelTransformParameterfvEXT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glSecondaryColor3bEXT PFNGLSECONDARYCOLOR3BEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);") (define-entry-point glSecondaryColor3bvEXT PFNGLSECONDARYCOLOR3BVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);") (define-entry-point glSecondaryColor3dEXT PFNGLSECONDARYCOLOR3DEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);") (define-entry-point glSecondaryColor3dvEXT PFNGLSECONDARYCOLOR3DVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);") (define-entry-point glSecondaryColor3fEXT PFNGLSECONDARYCOLOR3FEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);") (define-entry-point glSecondaryColor3fvEXT PFNGLSECONDARYCOLOR3FVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);") (define-entry-point glSecondaryColor3iEXT PFNGLSECONDARYCOLOR3IEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);") (define-entry-point glSecondaryColor3ivEXT PFNGLSECONDARYCOLOR3IVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);") (define-entry-point glSecondaryColor3sEXT PFNGLSECONDARYCOLOR3SEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);") (define-entry-point glSecondaryColor3svEXT PFNGLSECONDARYCOLOR3SVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);") (define-entry-point glSecondaryColor3ubEXT PFNGLSECONDARYCOLOR3UBEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);") (define-entry-point glSecondaryColor3ubvEXT PFNGLSECONDARYCOLOR3UBVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);") (define-entry-point glSecondaryColor3uiEXT PFNGLSECONDARYCOLOR3UIEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);") (define-entry-point glSecondaryColor3uivEXT PFNGLSECONDARYCOLOR3UIVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);") (define-entry-point glSecondaryColor3usEXT PFNGLSECONDARYCOLOR3USEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);") (define-entry-point glSecondaryColor3usvEXT PFNGLSECONDARYCOLOR3USVEXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);") (define-entry-point glSecondaryColorPointerEXT PFNGLSECONDARYCOLORPOINTEREXTPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glTextureNormalEXT PFNGLTEXTURENORMALEXTPROC "typedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC) (GLenum mode);") (define-entry-point glMultiDrawArraysEXT PFNGLMULTIDRAWARRAYSEXTPROC "typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);") (define-entry-point glMultiDrawElementsEXT PFNGLMULTIDRAWELEMENTSEXTPROC "typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);") (define-entry-point glFogCoordfEXT PFNGLFOGCOORDFEXTPROC "typedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC) (GLfloat coord);") (define-entry-point glFogCoordfvEXT PFNGLFOGCOORDFVEXTPROC "typedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);") (define-entry-point glFogCoorddEXT PFNGLFOGCOORDDEXTPROC "typedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC) (GLdouble coord);") (define-entry-point glFogCoorddvEXT PFNGLFOGCOORDDVEXTPROC "typedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);") (define-entry-point glFogCoordPointerEXT PFNGLFOGCOORDPOINTEREXTPROC "typedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glTangent3bEXT PFNGLTANGENT3BEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);") (define-entry-point glTangent3bvEXT PFNGLTANGENT3BVEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);") (define-entry-point glTangent3dEXT PFNGLTANGENT3DEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);") (define-entry-point glTangent3dvEXT PFNGLTANGENT3DVEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);") (define-entry-point glTangent3fEXT PFNGLTANGENT3FEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);") (define-entry-point glTangent3fvEXT PFNGLTANGENT3FVEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);") (define-entry-point glTangent3iEXT PFNGLTANGENT3IEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);") (define-entry-point glTangent3ivEXT PFNGLTANGENT3IVEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC) (const GLint *v);") (define-entry-point glTangent3sEXT PFNGLTANGENT3SEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);") (define-entry-point glTangent3svEXT PFNGLTANGENT3SVEXTPROC "typedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC) (const GLshort *v);") (define-entry-point glBinormal3bEXT PFNGLBINORMAL3BEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);") (define-entry-point glBinormal3bvEXT PFNGLBINORMAL3BVEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);") (define-entry-point glBinormal3dEXT PFNGLBINORMAL3DEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);") (define-entry-point glBinormal3dvEXT PFNGLBINORMAL3DVEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);") (define-entry-point glBinormal3fEXT PFNGLBINORMAL3FEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);") (define-entry-point glBinormal3fvEXT PFNGLBINORMAL3FVEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);") (define-entry-point glBinormal3iEXT PFNGLBINORMAL3IEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);") (define-entry-point glBinormal3ivEXT PFNGLBINORMAL3IVEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC) (const GLint *v);") (define-entry-point glBinormal3sEXT PFNGLBINORMAL3SEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);") (define-entry-point glBinormal3svEXT PFNGLBINORMAL3SVEXTPROC "typedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);") (define-entry-point glTangentPointerEXT PFNGLTANGENTPOINTEREXTPROC "typedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glBinormalPointerEXT PFNGLBINORMALPOINTEREXTPROC "typedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glFinishTextureSUNX PFNGLFINISHTEXTURESUNXPROC "typedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC) (void);") (define-entry-point glGlobalAlphaFactorbSUN PFNGLGLOBALALPHAFACTORBSUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);") (define-entry-point glGlobalAlphaFactorsSUN PFNGLGLOBALALPHAFACTORSSUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);") (define-entry-point glGlobalAlphaFactoriSUN PFNGLGLOBALALPHAFACTORISUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);") (define-entry-point glGlobalAlphaFactorfSUN PFNGLGLOBALALPHAFACTORFSUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);") (define-entry-point glGlobalAlphaFactordSUN PFNGLGLOBALALPHAFACTORDSUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);") (define-entry-point glGlobalAlphaFactorubSUN PFNGLGLOBALALPHAFACTORUBSUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);") (define-entry-point glGlobalAlphaFactorusSUN PFNGLGLOBALALPHAFACTORUSSUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);") (define-entry-point glGlobalAlphaFactoruiSUN PFNGLGLOBALALPHAFACTORUISUNPROC "typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);") (define-entry-point glReplacementCodeuiSUN PFNGLREPLACEMENTCODEUISUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);") (define-entry-point glReplacementCodeusSUN PFNGLREPLACEMENTCODEUSSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);") (define-entry-point glReplacementCodeubSUN PFNGLREPLACEMENTCODEUBSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);") (define-entry-point glReplacementCodeuivSUN PFNGLREPLACEMENTCODEUIVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);") (define-entry-point glReplacementCodeusvSUN PFNGLREPLACEMENTCODEUSVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);") (define-entry-point glReplacementCodeubvSUN PFNGLREPLACEMENTCODEUBVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);") (define-entry-point glReplacementCodePointerSUN PFNGLREPLACEMENTCODEPOINTERSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);") (define-entry-point glColor4ubVertex2fSUN PFNGLCOLOR4UBVERTEX2FSUNPROC "typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);") (define-entry-point glColor4ubVertex2fvSUN PFNGLCOLOR4UBVERTEX2FVSUNPROC "typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);") (define-entry-point glColor4ubVertex3fSUN PFNGLCOLOR4UBVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glColor4ubVertex3fvSUN PFNGLCOLOR4UBVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);") (define-entry-point glColor3fVertex3fSUN PFNGLCOLOR3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glColor3fVertex3fvSUN PFNGLCOLOR3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);") (define-entry-point glNormal3fVertex3fSUN PFNGLNORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glNormal3fVertex3fvSUN PFNGLNORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);") (define-entry-point glColor4fNormal3fVertex3fSUN PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glColor4fNormal3fVertex3fvSUN PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);") (define-entry-point glTexCoord2fVertex3fSUN PFNGLTEXCOORD2FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glTexCoord2fVertex3fvSUN PFNGLTEXCOORD2FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);") (define-entry-point glTexCoord4fVertex4fSUN PFNGLTEXCOORD4FVERTEX4FSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glTexCoord4fVertex4fvSUN PFNGLTEXCOORD4FVERTEX4FVSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);") (define-entry-point glTexCoord2fColor4ubVertex3fSUN PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glTexCoord2fColor4ubVertex3fvSUN PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);") (define-entry-point glTexCoord2fColor3fVertex3fSUN PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glTexCoord2fColor3fVertex3fvSUN PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);") (define-entry-point glTexCoord2fNormal3fVertex3fSUN PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glTexCoord2fNormal3fVertex3fvSUN PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);") (define-entry-point glTexCoord2fColor4fNormal3fVertex3fSUN PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glTexCoord2fColor4fNormal3fVertex3fvSUN PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);") (define-entry-point glTexCoord4fColor4fNormal3fVertex4fSUN PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glTexCoord4fColor4fNormal3fVertex4fvSUN PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC "typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);") (define-entry-point glReplacementCodeuiVertex3fSUN PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiVertex3fvSUN PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);") (define-entry-point glReplacementCodeuiColor4ubVertex3fSUN PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiColor4ubVertex3fvSUN PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);") (define-entry-point glReplacementCodeuiColor3fVertex3fSUN PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiColor3fVertex3fvSUN PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);") (define-entry-point glReplacementCodeuiNormal3fVertex3fSUN PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiNormal3fVertex3fvSUN PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);") (define-entry-point glReplacementCodeuiColor4fNormal3fVertex3fSUN PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiColor4fNormal3fVertex3fvSUN PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);") (define-entry-point glReplacementCodeuiTexCoord2fVertex3fSUN PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiTexCoord2fVertex3fvSUN PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);") (define-entry-point glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);") (define-entry-point glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC "typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);") (define-entry-point glBlendFuncSeparateEXT PFNGLBLENDFUNCSEPARATEEXTPROC "typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);") (define-entry-point glBlendFuncSeparateINGR PFNGLBLENDFUNCSEPARATEINGRPROC "typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);") (define-entry-point glVertexWeightfEXT PFNGLVERTEXWEIGHTFEXTPROC "typedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);") (define-entry-point glVertexWeightfvEXT PFNGLVERTEXWEIGHTFVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);") (define-entry-point glVertexWeightPointerEXT PFNGLVERTEXWEIGHTPOINTEREXTPROC "typedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glFlushVertexArrayRangeNV PFNGLFLUSHVERTEXARRAYRANGENVPROC "typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);") (define-entry-point glVertexArrayRangeNV PFNGLVERTEXARRAYRANGENVPROC "typedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);") (define-entry-point glCombinerParameterfvNV PFNGLCOMBINERPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);") (define-entry-point glCombinerParameterfNV PFNGLCOMBINERPARAMETERFNVPROC "typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);") (define-entry-point glCombinerParameterivNV PFNGLCOMBINERPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);") (define-entry-point glCombinerParameteriNV PFNGLCOMBINERPARAMETERINVPROC "typedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);") (define-entry-point glCombinerInputNV PFNGLCOMBINERINPUTNVPROC "typedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);") (define-entry-point glCombinerOutputNV PFNGLCOMBINEROUTPUTNVPROC "typedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);") (define-entry-point glFinalCombinerInputNV PFNGLFINALCOMBINERINPUTNVPROC "typedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);") (define-entry-point glGetCombinerInputParameterfvNV PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);") (define-entry-point glGetCombinerInputParameterivNV PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);") (define-entry-point glGetCombinerOutputParameterfvNV PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);") (define-entry-point glGetCombinerOutputParameterivNV PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);") (define-entry-point glGetFinalCombinerInputParameterfvNV PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);") (define-entry-point glGetFinalCombinerInputParameterivNV PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);") (define-entry-point glResizeBuffersMESA PFNGLRESIZEBUFFERSMESAPROC "typedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC) (void);") (define-entry-point glWindowPos2dMESA PFNGLWINDOWPOS2DMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);") (define-entry-point glWindowPos2dvMESA PFNGLWINDOWPOS2DVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);") (define-entry-point glWindowPos2fMESA PFNGLWINDOWPOS2FMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);") (define-entry-point glWindowPos2fvMESA PFNGLWINDOWPOS2FVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);") (define-entry-point glWindowPos2iMESA PFNGLWINDOWPOS2IMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);") (define-entry-point glWindowPos2ivMESA PFNGLWINDOWPOS2IVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);") (define-entry-point glWindowPos2sMESA PFNGLWINDOWPOS2SMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);") (define-entry-point glWindowPos2svMESA PFNGLWINDOWPOS2SVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);") (define-entry-point glWindowPos3dMESA PFNGLWINDOWPOS3DMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glWindowPos3dvMESA PFNGLWINDOWPOS3DVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);") (define-entry-point glWindowPos3fMESA PFNGLWINDOWPOS3FMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glWindowPos3fvMESA PFNGLWINDOWPOS3FVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);") (define-entry-point glWindowPos3iMESA PFNGLWINDOWPOS3IMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);") (define-entry-point glWindowPos3ivMESA PFNGLWINDOWPOS3IVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);") (define-entry-point glWindowPos3sMESA PFNGLWINDOWPOS3SMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);") (define-entry-point glWindowPos3svMESA PFNGLWINDOWPOS3SVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);") (define-entry-point glWindowPos4dMESA PFNGLWINDOWPOS4DMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glWindowPos4dvMESA PFNGLWINDOWPOS4DVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);") (define-entry-point glWindowPos4fMESA PFNGLWINDOWPOS4FMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glWindowPos4fvMESA PFNGLWINDOWPOS4FVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);") (define-entry-point glWindowPos4iMESA PFNGLWINDOWPOS4IMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);") (define-entry-point glWindowPos4ivMESA PFNGLWINDOWPOS4IVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);") (define-entry-point glWindowPos4sMESA PFNGLWINDOWPOS4SMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);") (define-entry-point glWindowPos4svMESA PFNGLWINDOWPOS4SVMESAPROC "typedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);") (define-entry-point glMultiModeDrawArraysIBM PFNGLMULTIMODEDRAWARRAYSIBMPROC "typedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);") (define-entry-point glMultiModeDrawElementsIBM PFNGLMULTIMODEDRAWELEMENTSIBMPROC "typedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);") (define-entry-point glColorPointerListIBM PFNGLCOLORPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);") (define-entry-point glSecondaryColorPointerListIBM PFNGLSECONDARYCOLORPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);") (define-entry-point glEdgeFlagPointerListIBM PFNGLEDGEFLAGPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);") (define-entry-point glFogCoordPointerListIBM PFNGLFOGCOORDPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);") (define-entry-point glIndexPointerListIBM PFNGLINDEXPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);") (define-entry-point glNormalPointerListIBM PFNGLNORMALPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);") (define-entry-point glTexCoordPointerListIBM PFNGLTEXCOORDPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);") (define-entry-point glVertexPointerListIBM PFNGLVERTEXPOINTERLISTIBMPROC "typedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);") (define-entry-point glTbufferMask3DFX PFNGLTBUFFERMASK3DFXPROC "typedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);") (define-entry-point glSampleMaskEXT PFNGLSAMPLEMASKEXTPROC "typedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);") (define-entry-point glSamplePatternEXT PFNGLSAMPLEPATTERNEXTPROC "typedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);") (define-entry-point glTextureColorMaskSGIS PFNGLTEXTURECOLORMASKSGISPROC "typedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);") (define-entry-point glIglooInterfaceSGIX PFNGLIGLOOINTERFACESGIXPROC "typedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);") (define-entry-point glDeleteFencesNV PFNGLDELETEFENCESNVPROC "typedef void (APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);") (define-entry-point glGenFencesNV PFNGLGENFENCESNVPROC "typedef void (APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);") (define-entry-point glIsFenceNV PFNGLISFENCENVPROC "typedef GLboolean (APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);") (define-entry-point glTestFenceNV PFNGLTESTFENCENVPROC "typedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);") (define-entry-point glGetFenceivNV PFNGLGETFENCEIVNVPROC "typedef void (APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);") (define-entry-point glFinishFenceNV PFNGLFINISHFENCENVPROC "typedef void (APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);") (define-entry-point glSetFenceNV PFNGLSETFENCENVPROC "typedef void (APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);") (define-entry-point glMapControlPointsNV PFNGLMAPCONTROLPOINTSNVPROC "typedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);") (define-entry-point glMapParameterivNV PFNGLMAPPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glMapParameterfvNV PFNGLMAPPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glGetMapControlPointsNV PFNGLGETMAPCONTROLPOINTSNVPROC "typedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);") (define-entry-point glGetMapParameterivNV PFNGLGETMAPPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetMapParameterfvNV PFNGLGETMAPPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetMapAttribParameterivNV PFNGLGETMAPATTRIBPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);") (define-entry-point glGetMapAttribParameterfvNV PFNGLGETMAPATTRIBPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);") (define-entry-point glEvalMapsNV PFNGLEVALMAPSNVPROC "typedef void (APIENTRYP PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);") (define-entry-point glCombinerStageParameterfvNV PFNGLCOMBINERSTAGEPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);") (define-entry-point glGetCombinerStageParameterfvNV PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);") (define-entry-point glAreProgramsResidentNV PFNGLAREPROGRAMSRESIDENTNVPROC "typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);") (define-entry-point glBindProgramNV PFNGLBINDPROGRAMNVPROC "typedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);") (define-entry-point glDeleteProgramsNV PFNGLDELETEPROGRAMSNVPROC "typedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);") (define-entry-point glExecuteProgramNV PFNGLEXECUTEPROGRAMNVPROC "typedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);") (define-entry-point glGenProgramsNV PFNGLGENPROGRAMSNVPROC "typedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);") (define-entry-point glGetProgramParameterdvNV PFNGLGETPROGRAMPARAMETERDVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);") (define-entry-point glGetProgramParameterfvNV PFNGLGETPROGRAMPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);") (define-entry-point glGetProgramivNV PFNGLGETPROGRAMIVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);") (define-entry-point glGetProgramStringNV PFNGLGETPROGRAMSTRINGNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);") (define-entry-point glGetTrackMatrixivNV PFNGLGETTRACKMATRIXIVNVPROC "typedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);") (define-entry-point glGetVertexAttribdvNV PFNGLGETVERTEXATTRIBDVNVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);") (define-entry-point glGetVertexAttribfvNV PFNGLGETVERTEXATTRIBFVNVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);") (define-entry-point glGetVertexAttribivNV PFNGLGETVERTEXATTRIBIVNVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);") (define-entry-point glGetVertexAttribPointervNV PFNGLGETVERTEXATTRIBPOINTERVNVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);") (define-entry-point glIsProgramNV PFNGLISPROGRAMNVPROC "typedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC) (GLuint id);") (define-entry-point glLoadProgramNV PFNGLLOADPROGRAMNVPROC "typedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);") (define-entry-point glProgramParameter4dNV PFNGLPROGRAMPARAMETER4DNVPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glProgramParameter4dvNV PFNGLPROGRAMPARAMETER4DVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);") (define-entry-point glProgramParameter4fNV PFNGLPROGRAMPARAMETER4FNVPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glProgramParameter4fvNV PFNGLPROGRAMPARAMETER4FVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);") (define-entry-point glProgramParameters4dvNV PFNGLPROGRAMPARAMETERS4DVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);") (define-entry-point glProgramParameters4fvNV PFNGLPROGRAMPARAMETERS4FVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);") (define-entry-point glRequestResidentProgramsNV PFNGLREQUESTRESIDENTPROGRAMSNVPROC "typedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);") (define-entry-point glTrackMatrixNV PFNGLTRACKMATRIXNVPROC "typedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);") (define-entry-point glVertexAttribPointerNV PFNGLVERTEXATTRIBPOINTERNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glVertexAttrib1dNV PFNGLVERTEXATTRIB1DNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);") (define-entry-point glVertexAttrib1dvNV PFNGLVERTEXATTRIB1DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib1fNV PFNGLVERTEXATTRIB1FNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);") (define-entry-point glVertexAttrib1fvNV PFNGLVERTEXATTRIB1FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib1sNV PFNGLVERTEXATTRIB1SNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);") (define-entry-point glVertexAttrib1svNV PFNGLVERTEXATTRIB1SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib2dNV PFNGLVERTEXATTRIB2DNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);") (define-entry-point glVertexAttrib2dvNV PFNGLVERTEXATTRIB2DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib2fNV PFNGLVERTEXATTRIB2FNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);") (define-entry-point glVertexAttrib2fvNV PFNGLVERTEXATTRIB2FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib2sNV PFNGLVERTEXATTRIB2SNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);") (define-entry-point glVertexAttrib2svNV PFNGLVERTEXATTRIB2SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib3dNV PFNGLVERTEXATTRIB3DNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glVertexAttrib3dvNV PFNGLVERTEXATTRIB3DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib3fNV PFNGLVERTEXATTRIB3FNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glVertexAttrib3fvNV PFNGLVERTEXATTRIB3FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib3sNV PFNGLVERTEXATTRIB3SNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);") (define-entry-point glVertexAttrib3svNV PFNGLVERTEXATTRIB3SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4dNV PFNGLVERTEXATTRIB4DNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glVertexAttrib4dvNV PFNGLVERTEXATTRIB4DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttrib4fNV PFNGLVERTEXATTRIB4FNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glVertexAttrib4fvNV PFNGLVERTEXATTRIB4FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);") (define-entry-point glVertexAttrib4sNV PFNGLVERTEXATTRIB4SNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);") (define-entry-point glVertexAttrib4svNV PFNGLVERTEXATTRIB4SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttrib4ubNV PFNGLVERTEXATTRIB4UBNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);") (define-entry-point glVertexAttrib4ubvNV PFNGLVERTEXATTRIB4UBVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);") (define-entry-point glVertexAttribs1dvNV PFNGLVERTEXATTRIBS1DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);") (define-entry-point glVertexAttribs1fvNV PFNGLVERTEXATTRIBS1FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);") (define-entry-point glVertexAttribs1svNV PFNGLVERTEXATTRIBS1SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);") (define-entry-point glVertexAttribs2dvNV PFNGLVERTEXATTRIBS2DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);") (define-entry-point glVertexAttribs2fvNV PFNGLVERTEXATTRIBS2FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);") (define-entry-point glVertexAttribs2svNV PFNGLVERTEXATTRIBS2SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);") (define-entry-point glVertexAttribs3dvNV PFNGLVERTEXATTRIBS3DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);") (define-entry-point glVertexAttribs3fvNV PFNGLVERTEXATTRIBS3FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);") (define-entry-point glVertexAttribs3svNV PFNGLVERTEXATTRIBS3SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);") (define-entry-point glVertexAttribs4dvNV PFNGLVERTEXATTRIBS4DVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);") (define-entry-point glVertexAttribs4fvNV PFNGLVERTEXATTRIBS4FVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);") (define-entry-point glVertexAttribs4svNV PFNGLVERTEXATTRIBS4SVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);") (define-entry-point glVertexAttribs4ubvNV PFNGLVERTEXATTRIBS4UBVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);") (define-entry-point glTexBumpParameterivATI PFNGLTEXBUMPPARAMETERIVATIPROC "typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);") (define-entry-point glTexBumpParameterfvATI PFNGLTEXBUMPPARAMETERFVATIPROC "typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);") (define-entry-point glGetTexBumpParameterivATI PFNGLGETTEXBUMPPARAMETERIVATIPROC "typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);") (define-entry-point glGetTexBumpParameterfvATI PFNGLGETTEXBUMPPARAMETERFVATIPROC "typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);") (define-entry-point glGenFragmentShadersATI PFNGLGENFRAGMENTSHADERSATIPROC "typedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);") (define-entry-point glBindFragmentShaderATI PFNGLBINDFRAGMENTSHADERATIPROC "typedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);") (define-entry-point glDeleteFragmentShaderATI PFNGLDELETEFRAGMENTSHADERATIPROC "typedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);") (define-entry-point glBeginFragmentShaderATI PFNGLBEGINFRAGMENTSHADERATIPROC "typedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC) (void);") (define-entry-point glEndFragmentShaderATI PFNGLENDFRAGMENTSHADERATIPROC "typedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC) (void);") (define-entry-point glPassTexCoordATI PFNGLPASSTEXCOORDATIPROC "typedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);") (define-entry-point glSampleMapATI PFNGLSAMPLEMAPATIPROC "typedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);") (define-entry-point glColorFragmentOp1ATI PFNGLCOLORFRAGMENTOP1ATIPROC "typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);") (define-entry-point glColorFragmentOp2ATI PFNGLCOLORFRAGMENTOP2ATIPROC "typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);") (define-entry-point glColorFragmentOp3ATI PFNGLCOLORFRAGMENTOP3ATIPROC "typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);") (define-entry-point glAlphaFragmentOp1ATI PFNGLALPHAFRAGMENTOP1ATIPROC "typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);") (define-entry-point glAlphaFragmentOp2ATI PFNGLALPHAFRAGMENTOP2ATIPROC "typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);") (define-entry-point glAlphaFragmentOp3ATI PFNGLALPHAFRAGMENTOP3ATIPROC "typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);") (define-entry-point glSetFragmentShaderConstantATI PFNGLSETFRAGMENTSHADERCONSTANTATIPROC "typedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);") (define-entry-point glPNTrianglesiATI PFNGLPNTRIANGLESIATIPROC "typedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);") (define-entry-point glPNTrianglesfATI PFNGLPNTRIANGLESFATIPROC "typedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);") (define-entry-point glNewObjectBufferATI PFNGLNEWOBJECTBUFFERATIPROC "typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);") (define-entry-point glIsObjectBufferATI PFNGLISOBJECTBUFFERATIPROC "typedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);") (define-entry-point glUpdateObjectBufferATI PFNGLUPDATEOBJECTBUFFERATIPROC "typedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);") (define-entry-point glGetObjectBufferfvATI PFNGLGETOBJECTBUFFERFVATIPROC "typedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);") (define-entry-point glGetObjectBufferivATI PFNGLGETOBJECTBUFFERIVATIPROC "typedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);") (define-entry-point glFreeObjectBufferATI PFNGLFREEOBJECTBUFFERATIPROC "typedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);") (define-entry-point glArrayObjectATI PFNGLARRAYOBJECTATIPROC "typedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);") (define-entry-point glGetArrayObjectfvATI PFNGLGETARRAYOBJECTFVATIPROC "typedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);") (define-entry-point glGetArrayObjectivATI PFNGLGETARRAYOBJECTIVATIPROC "typedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);") (define-entry-point glVariantArrayObjectATI PFNGLVARIANTARRAYOBJECTATIPROC "typedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);") (define-entry-point glGetVariantArrayObjectfvATI PFNGLGETVARIANTARRAYOBJECTFVATIPROC "typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);") (define-entry-point glGetVariantArrayObjectivATI PFNGLGETVARIANTARRAYOBJECTIVATIPROC "typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);") (define-entry-point glBeginVertexShaderEXT PFNGLBEGINVERTEXSHADEREXTPROC "typedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC) (void);") (define-entry-point glEndVertexShaderEXT PFNGLENDVERTEXSHADEREXTPROC "typedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC) (void);") (define-entry-point glBindVertexShaderEXT PFNGLBINDVERTEXSHADEREXTPROC "typedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);") (define-entry-point glGenVertexShadersEXT PFNGLGENVERTEXSHADERSEXTPROC "typedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);") (define-entry-point glDeleteVertexShaderEXT PFNGLDELETEVERTEXSHADEREXTPROC "typedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);") (define-entry-point glShaderOp1EXT PFNGLSHADEROP1EXTPROC "typedef void (APIENTRYP PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);") (define-entry-point glShaderOp2EXT PFNGLSHADEROP2EXTPROC "typedef void (APIENTRYP PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);") (define-entry-point glShaderOp3EXT PFNGLSHADEROP3EXTPROC "typedef void (APIENTRYP PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);") (define-entry-point glSwizzleEXT PFNGLSWIZZLEEXTPROC "typedef void (APIENTRYP PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);") (define-entry-point glWriteMaskEXT PFNGLWRITEMASKEXTPROC "typedef void (APIENTRYP PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);") (define-entry-point glInsertComponentEXT PFNGLINSERTCOMPONENTEXTPROC "typedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);") (define-entry-point glExtractComponentEXT PFNGLEXTRACTCOMPONENTEXTPROC "typedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);") (define-entry-point glGenSymbolsEXT PFNGLGENSYMBOLSEXTPROC "typedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);") (define-entry-point glSetInvariantEXT PFNGLSETINVARIANTEXTPROC "typedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);") (define-entry-point glSetLocalConstantEXT PFNGLSETLOCALCONSTANTEXTPROC "typedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);") (define-entry-point glVariantbvEXT PFNGLVARIANTBVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);") (define-entry-point glVariantsvEXT PFNGLVARIANTSVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);") (define-entry-point glVariantivEXT PFNGLVARIANTIVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);") (define-entry-point glVariantfvEXT PFNGLVARIANTFVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);") (define-entry-point glVariantdvEXT PFNGLVARIANTDVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);") (define-entry-point glVariantubvEXT PFNGLVARIANTUBVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);") (define-entry-point glVariantusvEXT PFNGLVARIANTUSVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);") (define-entry-point glVariantuivEXT PFNGLVARIANTUIVEXTPROC "typedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);") (define-entry-point glVariantPointerEXT PFNGLVARIANTPOINTEREXTPROC "typedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);") (define-entry-point glEnableVariantClientStateEXT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC "typedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);") (define-entry-point glDisableVariantClientStateEXT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC "typedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);") (define-entry-point glBindLightParameterEXT PFNGLBINDLIGHTPARAMETEREXTPROC "typedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);") (define-entry-point glBindMaterialParameterEXT PFNGLBINDMATERIALPARAMETEREXTPROC "typedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);") (define-entry-point glBindTexGenParameterEXT PFNGLBINDTEXGENPARAMETEREXTPROC "typedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);") (define-entry-point glBindTextureUnitParameterEXT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC "typedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);") (define-entry-point glBindParameterEXT PFNGLBINDPARAMETEREXTPROC "typedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC) (GLenum value);") (define-entry-point glIsVariantEnabledEXT PFNGLISVARIANTENABLEDEXTPROC "typedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);") (define-entry-point glGetVariantBooleanvEXT PFNGLGETVARIANTBOOLEANVEXTPROC "typedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);") (define-entry-point glGetVariantIntegervEXT PFNGLGETVARIANTINTEGERVEXTPROC "typedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);") (define-entry-point glGetVariantFloatvEXT PFNGLGETVARIANTFLOATVEXTPROC "typedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);") (define-entry-point glGetVariantPointervEXT PFNGLGETVARIANTPOINTERVEXTPROC "typedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);") (define-entry-point glGetInvariantBooleanvEXT PFNGLGETINVARIANTBOOLEANVEXTPROC "typedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);") (define-entry-point glGetInvariantIntegervEXT PFNGLGETINVARIANTINTEGERVEXTPROC "typedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);") (define-entry-point glGetInvariantFloatvEXT PFNGLGETINVARIANTFLOATVEXTPROC "typedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);") (define-entry-point glGetLocalConstantBooleanvEXT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC "typedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);") (define-entry-point glGetLocalConstantIntegervEXT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC "typedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);") (define-entry-point glGetLocalConstantFloatvEXT PFNGLGETLOCALCONSTANTFLOATVEXTPROC "typedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);") (define-entry-point glVertexStream1sATI PFNGLVERTEXSTREAM1SATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);") (define-entry-point glVertexStream1svATI PFNGLVERTEXSTREAM1SVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);") (define-entry-point glVertexStream1iATI PFNGLVERTEXSTREAM1IATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);") (define-entry-point glVertexStream1ivATI PFNGLVERTEXSTREAM1IVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);") (define-entry-point glVertexStream1fATI PFNGLVERTEXSTREAM1FATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);") (define-entry-point glVertexStream1fvATI PFNGLVERTEXSTREAM1FVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);") (define-entry-point glVertexStream1dATI PFNGLVERTEXSTREAM1DATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);") (define-entry-point glVertexStream1dvATI PFNGLVERTEXSTREAM1DVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);") (define-entry-point glVertexStream2sATI PFNGLVERTEXSTREAM2SATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);") (define-entry-point glVertexStream2svATI PFNGLVERTEXSTREAM2SVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);") (define-entry-point glVertexStream2iATI PFNGLVERTEXSTREAM2IATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);") (define-entry-point glVertexStream2ivATI PFNGLVERTEXSTREAM2IVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);") (define-entry-point glVertexStream2fATI PFNGLVERTEXSTREAM2FATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);") (define-entry-point glVertexStream2fvATI PFNGLVERTEXSTREAM2FVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);") (define-entry-point glVertexStream2dATI PFNGLVERTEXSTREAM2DATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);") (define-entry-point glVertexStream2dvATI PFNGLVERTEXSTREAM2DVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);") (define-entry-point glVertexStream3sATI PFNGLVERTEXSTREAM3SATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);") (define-entry-point glVertexStream3svATI PFNGLVERTEXSTREAM3SVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);") (define-entry-point glVertexStream3iATI PFNGLVERTEXSTREAM3IATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);") (define-entry-point glVertexStream3ivATI PFNGLVERTEXSTREAM3IVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);") (define-entry-point glVertexStream3fATI PFNGLVERTEXSTREAM3FATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glVertexStream3fvATI PFNGLVERTEXSTREAM3FVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);") (define-entry-point glVertexStream3dATI PFNGLVERTEXSTREAM3DATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glVertexStream3dvATI PFNGLVERTEXSTREAM3DVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);") (define-entry-point glVertexStream4sATI PFNGLVERTEXSTREAM4SATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);") (define-entry-point glVertexStream4svATI PFNGLVERTEXSTREAM4SVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);") (define-entry-point glVertexStream4iATI PFNGLVERTEXSTREAM4IATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);") (define-entry-point glVertexStream4ivATI PFNGLVERTEXSTREAM4IVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);") (define-entry-point glVertexStream4fATI PFNGLVERTEXSTREAM4FATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glVertexStream4fvATI PFNGLVERTEXSTREAM4FVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);") (define-entry-point glVertexStream4dATI PFNGLVERTEXSTREAM4DATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glVertexStream4dvATI PFNGLVERTEXSTREAM4DVATIPROC "typedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);") (define-entry-point glNormalStream3bATI PFNGLNORMALSTREAM3BATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);") (define-entry-point glNormalStream3bvATI PFNGLNORMALSTREAM3BVATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);") (define-entry-point glNormalStream3sATI PFNGLNORMALSTREAM3SATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);") (define-entry-point glNormalStream3svATI PFNGLNORMALSTREAM3SVATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);") (define-entry-point glNormalStream3iATI PFNGLNORMALSTREAM3IATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);") (define-entry-point glNormalStream3ivATI PFNGLNORMALSTREAM3IVATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);") (define-entry-point glNormalStream3fATI PFNGLNORMALSTREAM3FATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);") (define-entry-point glNormalStream3fvATI PFNGLNORMALSTREAM3FVATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);") (define-entry-point glNormalStream3dATI PFNGLNORMALSTREAM3DATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);") (define-entry-point glNormalStream3dvATI PFNGLNORMALSTREAM3DVATIPROC "typedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);") (define-entry-point glClientActiveVertexStreamATI PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC "typedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);") (define-entry-point glVertexBlendEnviATI PFNGLVERTEXBLENDENVIATIPROC "typedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);") (define-entry-point glVertexBlendEnvfATI PFNGLVERTEXBLENDENVFATIPROC "typedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);") (define-entry-point glElementPointerATI PFNGLELEMENTPOINTERATIPROC "typedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);") (define-entry-point glDrawElementArrayATI PFNGLDRAWELEMENTARRAYATIPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);") (define-entry-point glDrawRangeElementArrayATI PFNGLDRAWRANGEELEMENTARRAYATIPROC "typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);") (define-entry-point glDrawMeshArraysSUN PFNGLDRAWMESHARRAYSSUNPROC "typedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);") (define-entry-point glGenOcclusionQueriesNV PFNGLGENOCCLUSIONQUERIESNVPROC "typedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);") (define-entry-point glDeleteOcclusionQueriesNV PFNGLDELETEOCCLUSIONQUERIESNVPROC "typedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);") (define-entry-point glIsOcclusionQueryNV PFNGLISOCCLUSIONQUERYNVPROC "typedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);") (define-entry-point glBeginOcclusionQueryNV PFNGLBEGINOCCLUSIONQUERYNVPROC "typedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);") (define-entry-point glEndOcclusionQueryNV PFNGLENDOCCLUSIONQUERYNVPROC "typedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC) (void);") (define-entry-point glGetOcclusionQueryivNV PFNGLGETOCCLUSIONQUERYIVNVPROC "typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);") (define-entry-point glGetOcclusionQueryuivNV PFNGLGETOCCLUSIONQUERYUIVNVPROC "typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);") (define-entry-point glPointParameteriNV PFNGLPOINTPARAMETERINVPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);") (define-entry-point glPointParameterivNV PFNGLPOINTPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);") (define-entry-point glActiveStencilFaceEXT PFNGLACTIVESTENCILFACEEXTPROC "typedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);") (define-entry-point glElementPointerAPPLE PFNGLELEMENTPOINTERAPPLEPROC "typedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer);") (define-entry-point glDrawElementArrayAPPLE PFNGLDRAWELEMENTARRAYAPPLEPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);") (define-entry-point glDrawRangeElementArrayAPPLE PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC "typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);") (define-entry-point glMultiDrawElementArrayAPPLE PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC "typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);") (define-entry-point glMultiDrawRangeElementArrayAPPLE PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC "typedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);") (define-entry-point glGenFencesAPPLE PFNGLGENFENCESAPPLEPROC "typedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences);") (define-entry-point glDeleteFencesAPPLE PFNGLDELETEFENCESAPPLEPROC "typedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences);") (define-entry-point glSetFenceAPPLE PFNGLSETFENCEAPPLEPROC "typedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC) (GLuint fence);") (define-entry-point glIsFenceAPPLE PFNGLISFENCEAPPLEPROC "typedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC) (GLuint fence);") (define-entry-point glTestFenceAPPLE PFNGLTESTFENCEAPPLEPROC "typedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC) (GLuint fence);") (define-entry-point glFinishFenceAPPLE PFNGLFINISHFENCEAPPLEPROC "typedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);") (define-entry-point glTestObjectAPPLE PFNGLTESTOBJECTAPPLEPROC "typedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);") (define-entry-point glFinishObjectAPPLE PFNGLFINISHOBJECTAPPLEPROC "typedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);") (define-entry-point glBindVertexArrayAPPLE PFNGLBINDVERTEXARRAYAPPLEPROC "typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);") (define-entry-point glDeleteVertexArraysAPPLE PFNGLDELETEVERTEXARRAYSAPPLEPROC "typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);") (define-entry-point glGenVertexArraysAPPLE PFNGLGENVERTEXARRAYSAPPLEPROC "typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);") (define-entry-point glIsVertexArrayAPPLE PFNGLISVERTEXARRAYAPPLEPROC "typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);") (define-entry-point glVertexArrayRangeAPPLE PFNGLVERTEXARRAYRANGEAPPLEPROC "typedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);") (define-entry-point glFlushVertexArrayRangeAPPLE PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC "typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);") (define-entry-point glVertexArrayParameteriAPPLE PFNGLVERTEXARRAYPARAMETERIAPPLEPROC "typedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);") (define-entry-point glDrawBuffersATI PFNGLDRAWBUFFERSATIPROC "typedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);") (define-entry-point glProgramNamedParameter4fNV PFNGLPROGRAMNAMEDPARAMETER4FNVPROC "typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glProgramNamedParameter4dNV PFNGLPROGRAMNAMEDPARAMETER4DNVPROC "typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glProgramNamedParameter4fvNV PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);") (define-entry-point glProgramNamedParameter4dvNV PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);") (define-entry-point glGetProgramNamedParameterfvNV PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);") (define-entry-point glGetProgramNamedParameterdvNV PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);") (define-entry-point glVertex2hNV PFNGLVERTEX2HNVPROC "typedef void (APIENTRYP PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);") (define-entry-point glVertex2hvNV PFNGLVERTEX2HVNVPROC "typedef void (APIENTRYP PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v);") (define-entry-point glVertex3hNV PFNGLVERTEX3HNVPROC "typedef void (APIENTRYP PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);") (define-entry-point glVertex3hvNV PFNGLVERTEX3HVNVPROC "typedef void (APIENTRYP PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v);") (define-entry-point glVertex4hNV PFNGLVERTEX4HNVPROC "typedef void (APIENTRYP PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);") (define-entry-point glVertex4hvNV PFNGLVERTEX4HVNVPROC "typedef void (APIENTRYP PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v);") (define-entry-point glNormal3hNV PFNGLNORMAL3HNVPROC "typedef void (APIENTRYP PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);") (define-entry-point glNormal3hvNV PFNGLNORMAL3HVNVPROC "typedef void (APIENTRYP PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v);") (define-entry-point glColor3hNV PFNGLCOLOR3HNVPROC "typedef void (APIENTRYP PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);") (define-entry-point glColor3hvNV PFNGLCOLOR3HVNVPROC "typedef void (APIENTRYP PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v);") (define-entry-point glColor4hNV PFNGLCOLOR4HNVPROC "typedef void (APIENTRYP PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);") (define-entry-point glColor4hvNV PFNGLCOLOR4HVNVPROC "typedef void (APIENTRYP PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v);") (define-entry-point glTexCoord1hNV PFNGLTEXCOORD1HNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC) (GLhalfNV s);") (define-entry-point glTexCoord1hvNV PFNGLTEXCOORD1HVNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v);") (define-entry-point glTexCoord2hNV PFNGLTEXCOORD2HNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);") (define-entry-point glTexCoord2hvNV PFNGLTEXCOORD2HVNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v);") (define-entry-point glTexCoord3hNV PFNGLTEXCOORD3HNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);") (define-entry-point glTexCoord3hvNV PFNGLTEXCOORD3HVNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v);") (define-entry-point glTexCoord4hNV PFNGLTEXCOORD4HNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);") (define-entry-point glTexCoord4hvNV PFNGLTEXCOORD4HVNVPROC "typedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v);") (define-entry-point glMultiTexCoord1hNV PFNGLMULTITEXCOORD1HNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);") (define-entry-point glMultiTexCoord1hvNV PFNGLMULTITEXCOORD1HVNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);") (define-entry-point glMultiTexCoord2hNV PFNGLMULTITEXCOORD2HNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);") (define-entry-point glMultiTexCoord2hvNV PFNGLMULTITEXCOORD2HVNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);") (define-entry-point glMultiTexCoord3hNV PFNGLMULTITEXCOORD3HNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);") (define-entry-point glMultiTexCoord3hvNV PFNGLMULTITEXCOORD3HVNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);") (define-entry-point glMultiTexCoord4hNV PFNGLMULTITEXCOORD4HNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);") (define-entry-point glMultiTexCoord4hvNV PFNGLMULTITEXCOORD4HVNVPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);") (define-entry-point glFogCoordhNV PFNGLFOGCOORDHNVPROC "typedef void (APIENTRYP PFNGLFOGCOORDHNVPROC) (GLhalfNV fog);") (define-entry-point glFogCoordhvNV PFNGLFOGCOORDHVNVPROC "typedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog);") (define-entry-point glSecondaryColor3hNV PFNGLSECONDARYCOLOR3HNVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);") (define-entry-point glSecondaryColor3hvNV PFNGLSECONDARYCOLOR3HVNVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);") (define-entry-point glVertexWeighthNV PFNGLVERTEXWEIGHTHNVPROC "typedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight);") (define-entry-point glVertexWeighthvNV PFNGLVERTEXWEIGHTHVNVPROC "typedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);") (define-entry-point glVertexAttrib1hNV PFNGLVERTEXATTRIB1HNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);") (define-entry-point glVertexAttrib1hvNV PFNGLVERTEXATTRIB1HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);") (define-entry-point glVertexAttrib2hNV PFNGLVERTEXATTRIB2HNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);") (define-entry-point glVertexAttrib2hvNV PFNGLVERTEXATTRIB2HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);") (define-entry-point glVertexAttrib3hNV PFNGLVERTEXATTRIB3HNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);") (define-entry-point glVertexAttrib3hvNV PFNGLVERTEXATTRIB3HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);") (define-entry-point glVertexAttrib4hNV PFNGLVERTEXATTRIB4HNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);") (define-entry-point glVertexAttrib4hvNV PFNGLVERTEXATTRIB4HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);") (define-entry-point glVertexAttribs1hvNV PFNGLVERTEXATTRIBS1HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);") (define-entry-point glVertexAttribs2hvNV PFNGLVERTEXATTRIBS2HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);") (define-entry-point glVertexAttribs3hvNV PFNGLVERTEXATTRIBS3HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);") (define-entry-point glVertexAttribs4hvNV PFNGLVERTEXATTRIBS4HVNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);") (define-entry-point glPixelDataRangeNV PFNGLPIXELDATARANGENVPROC "typedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, GLvoid *pointer);") (define-entry-point glFlushPixelDataRangeNV PFNGLFLUSHPIXELDATARANGENVPROC "typedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);") (define-entry-point glPrimitiveRestartNV PFNGLPRIMITIVERESTARTNVPROC "typedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC) (void);") (define-entry-point glPrimitiveRestartIndexNV PFNGLPRIMITIVERESTARTINDEXNVPROC "typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);") (define-entry-point glMapObjectBufferATI PFNGLMAPOBJECTBUFFERATIPROC "typedef GLvoid* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);") (define-entry-point glUnmapObjectBufferATI PFNGLUNMAPOBJECTBUFFERATIPROC "typedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);") (define-entry-point glStencilOpSeparateATI PFNGLSTENCILOPSEPARATEATIPROC "typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);") (define-entry-point glStencilFuncSeparateATI PFNGLSTENCILFUNCSEPARATEATIPROC "typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);") (define-entry-point glVertexAttribArrayObjectATI PFNGLVERTEXATTRIBARRAYOBJECTATIPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);") (define-entry-point glGetVertexAttribArrayObjectfvATI PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params);") (define-entry-point glGetVertexAttribArrayObjectivATI PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params);") (define-entry-point glDepthBoundsEXT PFNGLDEPTHBOUNDSEXTPROC "typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);") (define-entry-point glBlendEquationSeparateEXT PFNGLBLENDEQUATIONSEPARATEEXTPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);") (define-entry-point glIsRenderbufferEXT PFNGLISRENDERBUFFEREXTPROC "typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);") (define-entry-point glBindRenderbufferEXT PFNGLBINDRENDERBUFFEREXTPROC "typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);") (define-entry-point glDeleteRenderbuffersEXT PFNGLDELETERENDERBUFFERSEXTPROC "typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);") (define-entry-point glGenRenderbuffersEXT PFNGLGENRENDERBUFFERSEXTPROC "typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);") (define-entry-point glRenderbufferStorageEXT PFNGLRENDERBUFFERSTORAGEEXTPROC "typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glGetRenderbufferParameterivEXT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glIsFramebufferEXT PFNGLISFRAMEBUFFEREXTPROC "typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);") (define-entry-point glBindFramebufferEXT PFNGLBINDFRAMEBUFFEREXTPROC "typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);") (define-entry-point glDeleteFramebuffersEXT PFNGLDELETEFRAMEBUFFERSEXTPROC "typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);") (define-entry-point glGenFramebuffersEXT PFNGLGENFRAMEBUFFERSEXTPROC "typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);") (define-entry-point glCheckFramebufferStatusEXT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC "typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);") (define-entry-point glFramebufferTexture1DEXT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);") (define-entry-point glFramebufferTexture2DEXT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);") (define-entry-point glFramebufferTexture3DEXT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);") (define-entry-point glFramebufferRenderbufferEXT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);") (define-entry-point glGetFramebufferAttachmentParameterivEXT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);") (define-entry-point glGenerateMipmapEXT PFNGLGENERATEMIPMAPEXTPROC "typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);") (define-entry-point glStringMarkerGREMEDY PFNGLSTRINGMARKERGREMEDYPROC "typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string);") (define-entry-point glStencilClearTagEXT PFNGLSTENCILCLEARTAGEXTPROC "typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag);") (define-entry-point glBlitFramebufferEXT PFNGLBLITFRAMEBUFFEREXTPROC "typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);") (define-entry-point glRenderbufferStorageMultisampleEXT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC "typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glGetQueryObjecti64vEXT PFNGLGETQUERYOBJECTI64VEXTPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params);") (define-entry-point glGetQueryObjectui64vEXT PFNGLGETQUERYOBJECTUI64VEXTPROC "typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params);") (define-entry-point glProgramEnvParameters4fvEXT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);") (define-entry-point glProgramLocalParameters4fvEXT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);") (define-entry-point glBufferParameteriAPPLE PFNGLBUFFERPARAMETERIAPPLEPROC "typedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);") (define-entry-point glFlushMappedBufferRangeAPPLE PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC "typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);") (define-entry-point glProgramLocalParameterI4iNV PFNGLPROGRAMLOCALPARAMETERI4INVPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);") (define-entry-point glProgramLocalParameterI4ivNV PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);") (define-entry-point glProgramLocalParametersI4ivNV PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);") (define-entry-point glProgramLocalParameterI4uiNV PFNGLPROGRAMLOCALPARAMETERI4UINVPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);") (define-entry-point glProgramLocalParameterI4uivNV PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);") (define-entry-point glProgramLocalParametersI4uivNV PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);") (define-entry-point glProgramEnvParameterI4iNV PFNGLPROGRAMENVPARAMETERI4INVPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);") (define-entry-point glProgramEnvParameterI4ivNV PFNGLPROGRAMENVPARAMETERI4IVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);") (define-entry-point glProgramEnvParametersI4ivNV PFNGLPROGRAMENVPARAMETERSI4IVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);") (define-entry-point glProgramEnvParameterI4uiNV PFNGLPROGRAMENVPARAMETERI4UINVPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);") (define-entry-point glProgramEnvParameterI4uivNV PFNGLPROGRAMENVPARAMETERI4UIVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);") (define-entry-point glProgramEnvParametersI4uivNV PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);") (define-entry-point glGetProgramLocalParameterIivNV PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);") (define-entry-point glGetProgramLocalParameterIuivNV PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);") (define-entry-point glGetProgramEnvParameterIivNV PFNGLGETPROGRAMENVPARAMETERIIVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);") (define-entry-point glGetProgramEnvParameterIuivNV PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);") (define-entry-point glProgramVertexLimitNV PFNGLPROGRAMVERTEXLIMITNVPROC "typedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);") (define-entry-point glFramebufferTextureEXT PFNGLFRAMEBUFFERTEXTUREEXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);") (define-entry-point glFramebufferTextureLayerEXT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);") (define-entry-point glFramebufferTextureFaceEXT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);") (define-entry-point glProgramParameteriEXT PFNGLPROGRAMPARAMETERIEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);") (define-entry-point glVertexAttribI1iEXT PFNGLVERTEXATTRIBI1IEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x);") (define-entry-point glVertexAttribI2iEXT PFNGLVERTEXATTRIBI2IEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y);") (define-entry-point glVertexAttribI3iEXT PFNGLVERTEXATTRIBI3IEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z);") (define-entry-point glVertexAttribI4iEXT PFNGLVERTEXATTRIBI4IEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);") (define-entry-point glVertexAttribI1uiEXT PFNGLVERTEXATTRIBI1UIEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x);") (define-entry-point glVertexAttribI2uiEXT PFNGLVERTEXATTRIBI2UIEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y);") (define-entry-point glVertexAttribI3uiEXT PFNGLVERTEXATTRIBI3UIEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z);") (define-entry-point glVertexAttribI4uiEXT PFNGLVERTEXATTRIBI4UIEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);") (define-entry-point glVertexAttribI1ivEXT PFNGLVERTEXATTRIBI1IVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI2ivEXT PFNGLVERTEXATTRIBI2IVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI3ivEXT PFNGLVERTEXATTRIBI3IVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI4ivEXT PFNGLVERTEXATTRIBI4IVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v);") (define-entry-point glVertexAttribI1uivEXT PFNGLVERTEXATTRIBI1UIVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI2uivEXT PFNGLVERTEXATTRIBI2UIVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI3uivEXT PFNGLVERTEXATTRIBI3UIVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI4uivEXT PFNGLVERTEXATTRIBI4UIVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v);") (define-entry-point glVertexAttribI4bvEXT PFNGLVERTEXATTRIBI4BVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v);") (define-entry-point glVertexAttribI4svEXT PFNGLVERTEXATTRIBI4SVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v);") (define-entry-point glVertexAttribI4ubvEXT PFNGLVERTEXATTRIBI4UBVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v);") (define-entry-point glVertexAttribI4usvEXT PFNGLVERTEXATTRIBI4USVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v);") (define-entry-point glVertexAttribIPointerEXT PFNGLVERTEXATTRIBIPOINTEREXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glGetVertexAttribIivEXT PFNGLGETVERTEXATTRIBIIVEXTPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params);") (define-entry-point glGetVertexAttribIuivEXT PFNGLGETVERTEXATTRIBIUIVEXTPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params);") (define-entry-point glGetUniformuivEXT PFNGLGETUNIFORMUIVEXTPROC "typedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params);") (define-entry-point glBindFragDataLocationEXT PFNGLBINDFRAGDATALOCATIONEXTPROC "typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);") (define-entry-point glGetFragDataLocationEXT PFNGLGETFRAGDATALOCATIONEXTPROC "typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name);") (define-entry-point glUniform1uiEXT PFNGLUNIFORM1UIEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0);") (define-entry-point glUniform2uiEXT PFNGLUNIFORM2UIEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1);") (define-entry-point glUniform3uiEXT PFNGLUNIFORM3UIEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);") (define-entry-point glUniform4uiEXT PFNGLUNIFORM4UIEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);") (define-entry-point glUniform1uivEXT PFNGLUNIFORM1UIVEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glUniform2uivEXT PFNGLUNIFORM2UIVEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glUniform3uivEXT PFNGLUNIFORM3UIVEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glUniform4uivEXT PFNGLUNIFORM4UIVEXTPROC "typedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);") (define-entry-point glDrawArraysInstancedEXT PFNGLDRAWARRAYSINSTANCEDEXTPROC "typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);") (define-entry-point glDrawElementsInstancedEXT PFNGLDRAWELEMENTSINSTANCEDEXTPROC "typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);") (define-entry-point glTexBufferEXT PFNGLTEXBUFFEREXTPROC "typedef void (APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);") (define-entry-point glDepthRangedNV PFNGLDEPTHRANGEDNVPROC "typedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);") (define-entry-point glClearDepthdNV PFNGLCLEARDEPTHDNVPROC "typedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);") (define-entry-point glDepthBoundsdNV PFNGLDEPTHBOUNDSDNVPROC "typedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);") (define-entry-point glRenderbufferStorageMultisampleCoverageNV PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC "typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glProgramBufferParametersfvNV PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);") (define-entry-point glProgramBufferParametersIivNV PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);") (define-entry-point glProgramBufferParametersIuivNV PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);") (define-entry-point glColorMaskIndexedEXT PFNGLCOLORMASKINDEXEDEXTPROC "typedef void (APIENTRYP PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);") (define-entry-point glGetBooleanIndexedvEXT PFNGLGETBOOLEANINDEXEDVEXTPROC "typedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data);") (define-entry-point glGetIntegerIndexedvEXT PFNGLGETINTEGERINDEXEDVEXTPROC "typedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data);") (define-entry-point glEnableIndexedEXT PFNGLENABLEINDEXEDEXTPROC "typedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index);") (define-entry-point glDisableIndexedEXT PFNGLDISABLEINDEXEDEXTPROC "typedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index);") (define-entry-point glIsEnabledIndexedEXT PFNGLISENABLEDINDEXEDEXTPROC "typedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index);") (define-entry-point glBeginTransformFeedbackNV PFNGLBEGINTRANSFORMFEEDBACKNVPROC "typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);") (define-entry-point glEndTransformFeedbackNV PFNGLENDTRANSFORMFEEDBACKNVPROC "typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);") (define-entry-point glTransformFeedbackAttribsNV PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC "typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);") (define-entry-point glBindBufferRangeNV PFNGLBINDBUFFERRANGENVPROC "typedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);") (define-entry-point glBindBufferOffsetNV PFNGLBINDBUFFEROFFSETNVPROC "typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);") (define-entry-point glBindBufferBaseNV PFNGLBINDBUFFERBASENVPROC "typedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);") (define-entry-point glTransformFeedbackVaryingsNV PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC "typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);") (define-entry-point glActiveVaryingNV PFNGLACTIVEVARYINGNVPROC "typedef void (APIENTRYP PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name);") (define-entry-point glGetVaryingLocationNV PFNGLGETVARYINGLOCATIONNVPROC "typedef GLint (APIENTRYP PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name);") (define-entry-point glGetActiveVaryingNV PFNGLGETACTIVEVARYINGNVPROC "typedef void (APIENTRYP PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);") (define-entry-point glGetTransformFeedbackVaryingNV PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC "typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location);") (define-entry-point glTransformFeedbackStreamAttribsNV PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC "typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);") (define-entry-point glUniformBufferEXT PFNGLUNIFORMBUFFEREXTPROC "typedef void (APIENTRYP PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer);") (define-entry-point glGetUniformBufferSizeEXT PFNGLGETUNIFORMBUFFERSIZEEXTPROC "typedef GLint (APIENTRYP PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location);") (define-entry-point glGetUniformOffsetEXT PFNGLGETUNIFORMOFFSETEXTPROC "typedef GLintptr (APIENTRYP PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location);") (define-entry-point glTexParameterIivEXT PFNGLTEXPARAMETERIIVEXTPROC "typedef void (APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);") (define-entry-point glTexParameterIuivEXT PFNGLTEXPARAMETERIUIVEXTPROC "typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);") (define-entry-point glGetTexParameterIivEXT PFNGLGETTEXPARAMETERIIVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetTexParameterIuivEXT PFNGLGETTEXPARAMETERIUIVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);") (define-entry-point glClearColorIiEXT PFNGLCLEARCOLORIIEXTPROC "typedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha);") (define-entry-point glClearColorIuiEXT PFNGLCLEARCOLORIUIEXTPROC "typedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);") (define-entry-point glFrameTerminatorGREMEDY PFNGLFRAMETERMINATORGREMEDYPROC "typedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC) (void);") (define-entry-point glBeginConditionalRenderNV PFNGLBEGINCONDITIONALRENDERNVPROC "typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);") (define-entry-point glEndConditionalRenderNV PFNGLENDCONDITIONALRENDERNVPROC "typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);") (define-entry-point glPresentFrameKeyedNV PFNGLPRESENTFRAMEKEYEDNVPROC "typedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);") (define-entry-point glPresentFrameDualFillNV PFNGLPRESENTFRAMEDUALFILLNVPROC "typedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);") (define-entry-point glGetVideoivNV PFNGLGETVIDEOIVNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params);") (define-entry-point glGetVideouivNV PFNGLGETVIDEOUIVNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params);") (define-entry-point glGetVideoi64vNV PFNGLGETVIDEOI64VNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params);") (define-entry-point glGetVideoui64vNV PFNGLGETVIDEOUI64VNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params);") (define-entry-point glBeginTransformFeedbackEXT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC "typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);") (define-entry-point glEndTransformFeedbackEXT PFNGLENDTRANSFORMFEEDBACKEXTPROC "typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);") (define-entry-point glBindBufferRangeEXT PFNGLBINDBUFFERRANGEEXTPROC "typedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);") (define-entry-point glBindBufferOffsetEXT PFNGLBINDBUFFEROFFSETEXTPROC "typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);") (define-entry-point glBindBufferBaseEXT PFNGLBINDBUFFERBASEEXTPROC "typedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);") (define-entry-point glTransformFeedbackVaryingsEXT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC "typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);") (define-entry-point glGetTransformFeedbackVaryingEXT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC "typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);") (define-entry-point glClientAttribDefaultEXT PFNGLCLIENTATTRIBDEFAULTEXTPROC "typedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);") (define-entry-point glPushClientAttribDefaultEXT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC "typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);") (define-entry-point glMatrixLoadfEXT PFNGLMATRIXLOADFEXTPROC "typedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);") (define-entry-point glMatrixLoaddEXT PFNGLMATRIXLOADDEXTPROC "typedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);") (define-entry-point glMatrixMultfEXT PFNGLMATRIXMULTFEXTPROC "typedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);") (define-entry-point glMatrixMultdEXT PFNGLMATRIXMULTDEXTPROC "typedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);") (define-entry-point glMatrixLoadIdentityEXT PFNGLMATRIXLOADIDENTITYEXTPROC "typedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);") (define-entry-point glMatrixRotatefEXT PFNGLMATRIXROTATEFEXTPROC "typedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glMatrixRotatedEXT PFNGLMATRIXROTATEDEXTPROC "typedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glMatrixScalefEXT PFNGLMATRIXSCALEFEXTPROC "typedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glMatrixScaledEXT PFNGLMATRIXSCALEDEXTPROC "typedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glMatrixTranslatefEXT PFNGLMATRIXTRANSLATEFEXTPROC "typedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);") (define-entry-point glMatrixTranslatedEXT PFNGLMATRIXTRANSLATEDEXTPROC "typedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glMatrixFrustumEXT PFNGLMATRIXFRUSTUMEXTPROC "typedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);") (define-entry-point glMatrixOrthoEXT PFNGLMATRIXORTHOEXTPROC "typedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);") (define-entry-point glMatrixPopEXT PFNGLMATRIXPOPEXTPROC "typedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);") (define-entry-point glMatrixPushEXT PFNGLMATRIXPUSHEXTPROC "typedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);") (define-entry-point glMatrixLoadTransposefEXT PFNGLMATRIXLOADTRANSPOSEFEXTPROC "typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);") (define-entry-point glMatrixLoadTransposedEXT PFNGLMATRIXLOADTRANSPOSEDEXTPROC "typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);") (define-entry-point glMatrixMultTransposefEXT PFNGLMATRIXMULTTRANSPOSEFEXTPROC "typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);") (define-entry-point glMatrixMultTransposedEXT PFNGLMATRIXMULTTRANSPOSEDEXTPROC "typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);") (define-entry-point glTextureParameterfEXT PFNGLTEXTUREPARAMETERFEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);") (define-entry-point glTextureParameterfvEXT PFNGLTEXTUREPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glTextureParameteriEXT PFNGLTEXTUREPARAMETERIEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);") (define-entry-point glTextureParameterivEXT PFNGLTEXTUREPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);") (define-entry-point glTextureImage1DEXT PFNGLTEXTUREIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTextureImage2DEXT PFNGLTEXTUREIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTextureSubImage1DEXT PFNGLTEXTURESUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTextureSubImage2DEXT PFNGLTEXTURESUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glCopyTextureImage1DEXT PFNGLCOPYTEXTUREIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);") (define-entry-point glCopyTextureImage2DEXT PFNGLCOPYTEXTUREIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);") (define-entry-point glCopyTextureSubImage1DEXT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);") (define-entry-point glCopyTextureSubImage2DEXT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glGetTextureImageEXT PFNGLGETTEXTUREIMAGEEXTPROC "typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);") (define-entry-point glGetTextureParameterfvEXT PFNGLGETTEXTUREPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetTextureParameterivEXT PFNGLGETTEXTUREPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetTextureLevelParameterfvEXT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);") (define-entry-point glGetTextureLevelParameterivEXT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);") (define-entry-point glTextureImage3DEXT PFNGLTEXTUREIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glTextureSubImage3DEXT PFNGLTEXTURESUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glCopyTextureSubImage3DEXT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glMultiTexParameterfEXT PFNGLMULTITEXPARAMETERFEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);") (define-entry-point glMultiTexParameterfvEXT PFNGLMULTITEXPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glMultiTexParameteriEXT PFNGLMULTITEXPARAMETERIEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);") (define-entry-point glMultiTexParameterivEXT PFNGLMULTITEXPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);") (define-entry-point glMultiTexImage1DEXT PFNGLMULTITEXIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glMultiTexImage2DEXT PFNGLMULTITEXIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glMultiTexSubImage1DEXT PFNGLMULTITEXSUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glMultiTexSubImage2DEXT PFNGLMULTITEXSUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glCopyMultiTexImage1DEXT PFNGLCOPYMULTITEXIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);") (define-entry-point glCopyMultiTexImage2DEXT PFNGLCOPYMULTITEXIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);") (define-entry-point glCopyMultiTexSubImage1DEXT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);") (define-entry-point glCopyMultiTexSubImage2DEXT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glGetMultiTexImageEXT PFNGLGETMULTITEXIMAGEEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);") (define-entry-point glGetMultiTexParameterfvEXT PFNGLGETMULTITEXPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetMultiTexParameterivEXT PFNGLGETMULTITEXPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetMultiTexLevelParameterfvEXT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);") (define-entry-point glGetMultiTexLevelParameterivEXT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);") (define-entry-point glMultiTexImage3DEXT PFNGLMULTITEXIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glMultiTexSubImage3DEXT PFNGLMULTITEXSUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);") (define-entry-point glCopyMultiTexSubImage3DEXT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);") (define-entry-point glBindMultiTextureEXT PFNGLBINDMULTITEXTUREEXTPROC "typedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);") (define-entry-point glEnableClientStateIndexedEXT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC "typedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);") (define-entry-point glDisableClientStateIndexedEXT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC "typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);") (define-entry-point glMultiTexCoordPointerEXT PFNGLMULTITEXCOORDPOINTEREXTPROC "typedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glMultiTexEnvfEXT PFNGLMULTITEXENVFEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);") (define-entry-point glMultiTexEnvfvEXT PFNGLMULTITEXENVFVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);") (define-entry-point glMultiTexEnviEXT PFNGLMULTITEXENVIEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);") (define-entry-point glMultiTexEnvivEXT PFNGLMULTITEXENVIVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);") (define-entry-point glMultiTexGendEXT PFNGLMULTITEXGENDEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);") (define-entry-point glMultiTexGendvEXT PFNGLMULTITEXGENDVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);") (define-entry-point glMultiTexGenfEXT PFNGLMULTITEXGENFEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);") (define-entry-point glMultiTexGenfvEXT PFNGLMULTITEXGENFVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);") (define-entry-point glMultiTexGeniEXT PFNGLMULTITEXGENIEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);") (define-entry-point glMultiTexGenivEXT PFNGLMULTITEXGENIVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);") (define-entry-point glGetMultiTexEnvfvEXT PFNGLGETMULTITEXENVFVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);") (define-entry-point glGetMultiTexEnvivEXT PFNGLGETMULTITEXENVIVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetMultiTexGendvEXT PFNGLGETMULTITEXGENDVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);") (define-entry-point glGetMultiTexGenfvEXT PFNGLGETMULTITEXGENFVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);") (define-entry-point glGetMultiTexGenivEXT PFNGLGETMULTITEXGENIVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params);") (define-entry-point glGetFloatIndexedvEXT PFNGLGETFLOATINDEXEDVEXTPROC "typedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data);") (define-entry-point glGetDoubleIndexedvEXT PFNGLGETDOUBLEINDEXEDVEXTPROC "typedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data);") (define-entry-point glGetPointerIndexedvEXT PFNGLGETPOINTERINDEXEDVEXTPROC "typedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* *data);") (define-entry-point glCompressedTextureImage3DEXT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedTextureImage2DEXT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedTextureImage1DEXT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedTextureSubImage3DEXT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedTextureSubImage2DEXT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedTextureSubImage1DEXT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glGetCompressedTextureImageEXT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC "typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid *img);") (define-entry-point glCompressedMultiTexImage3DEXT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedMultiTexImage2DEXT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedMultiTexImage1DEXT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedMultiTexSubImage3DEXT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedMultiTexSubImage2DEXT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glCompressedMultiTexSubImage1DEXT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC "typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);") (define-entry-point glGetCompressedMultiTexImageEXT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC "typedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid *img);") (define-entry-point glNamedProgramStringEXT PFNGLNAMEDPROGRAMSTRINGEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);") (define-entry-point glNamedProgramLocalParameter4dEXT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glNamedProgramLocalParameter4dvEXT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params);") (define-entry-point glNamedProgramLocalParameter4fEXT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);") (define-entry-point glNamedProgramLocalParameter4fvEXT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params);") (define-entry-point glGetNamedProgramLocalParameterdvEXT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params);") (define-entry-point glGetNamedProgramLocalParameterfvEXT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params);") (define-entry-point glGetNamedProgramivEXT PFNGLGETNAMEDPROGRAMIVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetNamedProgramStringEXT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string);") (define-entry-point glNamedProgramLocalParameters4fvEXT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);") (define-entry-point glNamedProgramLocalParameterI4iEXT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);") (define-entry-point glNamedProgramLocalParameterI4ivEXT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params);") (define-entry-point glNamedProgramLocalParametersI4ivEXT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);") (define-entry-point glNamedProgramLocalParameterI4uiEXT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);") (define-entry-point glNamedProgramLocalParameterI4uivEXT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params);") (define-entry-point glNamedProgramLocalParametersI4uivEXT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC "typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);") (define-entry-point glGetNamedProgramLocalParameterIivEXT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params);") (define-entry-point glGetNamedProgramLocalParameterIuivEXT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params);") (define-entry-point glTextureParameterIivEXT PFNGLTEXTUREPARAMETERIIVEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);") (define-entry-point glTextureParameterIuivEXT PFNGLTEXTUREPARAMETERIUIVEXTPROC "typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params);") (define-entry-point glGetTextureParameterIivEXT PFNGLGETTEXTUREPARAMETERIIVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetTextureParameterIuivEXT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC "typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params);") (define-entry-point glMultiTexParameterIivEXT PFNGLMULTITEXPARAMETERIIVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);") (define-entry-point glMultiTexParameterIuivEXT PFNGLMULTITEXPARAMETERIUIVEXTPROC "typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);") (define-entry-point glGetMultiTexParameterIivEXT PFNGLGETMULTITEXPARAMETERIIVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);") (define-entry-point glGetMultiTexParameterIuivEXT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC "typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params);") (define-entry-point glProgramUniform1fEXT PFNGLPROGRAMUNIFORM1FEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);") (define-entry-point glProgramUniform2fEXT PFNGLPROGRAMUNIFORM2FEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);") (define-entry-point glProgramUniform3fEXT PFNGLPROGRAMUNIFORM3FEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);") (define-entry-point glProgramUniform4fEXT PFNGLPROGRAMUNIFORM4FEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);") (define-entry-point glProgramUniform1iEXT PFNGLPROGRAMUNIFORM1IEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);") (define-entry-point glProgramUniform2iEXT PFNGLPROGRAMUNIFORM2IEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);") (define-entry-point glProgramUniform3iEXT PFNGLPROGRAMUNIFORM3IEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);") (define-entry-point glProgramUniform4iEXT PFNGLPROGRAMUNIFORM4IEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);") (define-entry-point glProgramUniform1fvEXT PFNGLPROGRAMUNIFORM1FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform2fvEXT PFNGLPROGRAMUNIFORM2FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform3fvEXT PFNGLPROGRAMUNIFORM3FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform4fvEXT PFNGLPROGRAMUNIFORM4FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);") (define-entry-point glProgramUniform1ivEXT PFNGLPROGRAMUNIFORM1IVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniform2ivEXT PFNGLPROGRAMUNIFORM2IVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniform3ivEXT PFNGLPROGRAMUNIFORM3IVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniform4ivEXT PFNGLPROGRAMUNIFORM4IVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);") (define-entry-point glProgramUniformMatrix2fvEXT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix3fvEXT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix4fvEXT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix2x3fvEXT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix3x2fvEXT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix2x4fvEXT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix4x2fvEXT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix3x4fvEXT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniformMatrix4x3fvEXT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);") (define-entry-point glProgramUniform1uiEXT PFNGLPROGRAMUNIFORM1UIEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);") (define-entry-point glProgramUniform2uiEXT PFNGLPROGRAMUNIFORM2UIEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);") (define-entry-point glProgramUniform3uiEXT PFNGLPROGRAMUNIFORM3UIEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);") (define-entry-point glProgramUniform4uiEXT PFNGLPROGRAMUNIFORM4UIEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);") (define-entry-point glProgramUniform1uivEXT PFNGLPROGRAMUNIFORM1UIVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glProgramUniform2uivEXT PFNGLPROGRAMUNIFORM2UIVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glProgramUniform3uivEXT PFNGLPROGRAMUNIFORM3UIVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glProgramUniform4uivEXT PFNGLPROGRAMUNIFORM4UIVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);") (define-entry-point glNamedBufferDataEXT PFNGLNAMEDBUFFERDATAEXTPROC "typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);") (define-entry-point glNamedBufferSubDataEXT PFNGLNAMEDBUFFERSUBDATAEXTPROC "typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);") (define-entry-point glMapNamedBufferEXT PFNGLMAPNAMEDBUFFEREXTPROC "typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);") (define-entry-point glUnmapNamedBufferEXT PFNGLUNMAPNAMEDBUFFEREXTPROC "typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);") (define-entry-point glMapNamedBufferRangeEXT PFNGLMAPNAMEDBUFFERRANGEEXTPROC "typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);") (define-entry-point glFlushMappedNamedBufferRangeEXT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC "typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);") (define-entry-point glNamedCopyBufferSubDataEXT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC "typedef void (APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);") (define-entry-point glGetNamedBufferParameterivEXT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params);") (define-entry-point glGetNamedBufferPointervEXT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* *params);") (define-entry-point glGetNamedBufferSubDataEXT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);") (define-entry-point glTextureBufferEXT PFNGLTEXTUREBUFFEREXTPROC "typedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);") (define-entry-point glMultiTexBufferEXT PFNGLMULTITEXBUFFEREXTPROC "typedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);") (define-entry-point glNamedRenderbufferStorageEXT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC "typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glGetNamedRenderbufferParameterivEXT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params);") (define-entry-point glCheckNamedFramebufferStatusEXT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC "typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);") (define-entry-point glNamedFramebufferTexture1DEXT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC "typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);") (define-entry-point glNamedFramebufferTexture2DEXT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC "typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);") (define-entry-point glNamedFramebufferTexture3DEXT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC "typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);") (define-entry-point glNamedFramebufferRenderbufferEXT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC "typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);") (define-entry-point glGetNamedFramebufferAttachmentParameterivEXT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);") (define-entry-point glGenerateTextureMipmapEXT PFNGLGENERATETEXTUREMIPMAPEXTPROC "typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);") (define-entry-point glGenerateMultiTexMipmapEXT PFNGLGENERATEMULTITEXMIPMAPEXTPROC "typedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);") (define-entry-point glFramebufferDrawBufferEXT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);") (define-entry-point glFramebufferDrawBuffersEXT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);") (define-entry-point glFramebufferReadBufferEXT PFNGLFRAMEBUFFERREADBUFFEREXTPROC "typedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);") (define-entry-point glGetFramebufferParameterivEXT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC "typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);") (define-entry-point glNamedRenderbufferStorageMultisampleEXT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC "typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glNamedRenderbufferStorageMultisampleCoverageEXT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC "typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);") (define-entry-point glNamedFramebufferTextureEXT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC "typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);") (define-entry-point glNamedFramebufferTextureLayerEXT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC "typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);") (define-entry-point glNamedFramebufferTextureFaceEXT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC "typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);") (define-entry-point glTextureRenderbufferEXT PFNGLTEXTURERENDERBUFFEREXTPROC "typedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);") (define-entry-point glMultiTexRenderbufferEXT PFNGLMULTITEXRENDERBUFFEREXTPROC "typedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);") (define-entry-point glProgramUniform1dEXT PFNGLPROGRAMUNIFORM1DEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x);") (define-entry-point glProgramUniform2dEXT PFNGLPROGRAMUNIFORM2DEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y);") (define-entry-point glProgramUniform3dEXT PFNGLPROGRAMUNIFORM3DEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glProgramUniform4dEXT PFNGLPROGRAMUNIFORM4DEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glProgramUniform1dvEXT PFNGLPROGRAMUNIFORM1DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniform2dvEXT PFNGLPROGRAMUNIFORM2DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniform3dvEXT PFNGLPROGRAMUNIFORM3DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniform4dvEXT PFNGLPROGRAMUNIFORM4DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);") (define-entry-point glProgramUniformMatrix2dvEXT PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix3dvEXT PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix4dvEXT PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix2x3dvEXT PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix2x4dvEXT PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix3x2dvEXT PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix3x4dvEXT PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix4x2dvEXT PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glProgramUniformMatrix4x3dvEXT PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);") (define-entry-point glGetMultisamplefvNV PFNGLGETMULTISAMPLEFVNVPROC "typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *val);") (define-entry-point glSampleMaskIndexedNV PFNGLSAMPLEMASKINDEXEDNVPROC "typedef void (APIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask);") (define-entry-point glTexRenderbufferNV PFNGLTEXRENDERBUFFERNVPROC "typedef void (APIENTRYP PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);") (define-entry-point glBindTransformFeedbackNV PFNGLBINDTRANSFORMFEEDBACKNVPROC "typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id);") (define-entry-point glDeleteTransformFeedbacksNV PFNGLDELETETRANSFORMFEEDBACKSNVPROC "typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint *ids);") (define-entry-point glGenTransformFeedbacksNV PFNGLGENTRANSFORMFEEDBACKSNVPROC "typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint *ids);") (define-entry-point glIsTransformFeedbackNV PFNGLISTRANSFORMFEEDBACKNVPROC "typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id);") (define-entry-point glPauseTransformFeedbackNV PFNGLPAUSETRANSFORMFEEDBACKNVPROC "typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void);") (define-entry-point glResumeTransformFeedbackNV PFNGLRESUMETRANSFORMFEEDBACKNVPROC "typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void);") (define-entry-point glDrawTransformFeedbackNV PFNGLDRAWTRANSFORMFEEDBACKNVPROC "typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id);") (define-entry-point glGetPerfMonitorGroupsAMD PFNGLGETPERFMONITORGROUPSAMDPROC "typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);") (define-entry-point glGetPerfMonitorCountersAMD PFNGLGETPERFMONITORCOUNTERSAMDPROC "typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);") (define-entry-point glGetPerfMonitorGroupStringAMD PFNGLGETPERFMONITORGROUPSTRINGAMDPROC "typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);") (define-entry-point glGetPerfMonitorCounterStringAMD PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC "typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);") (define-entry-point glGetPerfMonitorCounterInfoAMD PFNGLGETPERFMONITORCOUNTERINFOAMDPROC "typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);") (define-entry-point glGenPerfMonitorsAMD PFNGLGENPERFMONITORSAMDPROC "typedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);") (define-entry-point glDeletePerfMonitorsAMD PFNGLDELETEPERFMONITORSAMDPROC "typedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);") (define-entry-point glSelectPerfMonitorCountersAMD PFNGLSELECTPERFMONITORCOUNTERSAMDPROC "typedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);") (define-entry-point glBeginPerfMonitorAMD PFNGLBEGINPERFMONITORAMDPROC "typedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);") (define-entry-point glEndPerfMonitorAMD PFNGLENDPERFMONITORAMDPROC "typedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);") (define-entry-point glGetPerfMonitorCounterDataAMD PFNGLGETPERFMONITORCOUNTERDATAAMDPROC "typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);") (define-entry-point glTessellationFactorAMD PFNGLTESSELLATIONFACTORAMDPROC "typedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);") (define-entry-point glTessellationModeAMD PFNGLTESSELLATIONMODEAMDPROC "typedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);") (define-entry-point glProvokingVertexEXT PFNGLPROVOKINGVERTEXEXTPROC "typedef void (APIENTRYP PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode);") (define-entry-point glBlendFuncIndexedAMD PFNGLBLENDFUNCINDEXEDAMDPROC "typedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);") (define-entry-point glBlendFuncSeparateIndexedAMD PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC "typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);") (define-entry-point glBlendEquationIndexedAMD PFNGLBLENDEQUATIONINDEXEDAMDPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode);") (define-entry-point glBlendEquationSeparateIndexedAMD PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC "typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);") (define-entry-point glTextureRangeAPPLE PFNGLTEXTURERANGEAPPLEPROC "typedef void (APIENTRYP PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const GLvoid *pointer);") (define-entry-point glGetTexParameterPointervAPPLE PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC "typedef void (APIENTRYP PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid* *params);") (define-entry-point glEnableVertexAttribAPPLE PFNGLENABLEVERTEXATTRIBAPPLEPROC "typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);") (define-entry-point glDisableVertexAttribAPPLE PFNGLDISABLEVERTEXATTRIBAPPLEPROC "typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);") (define-entry-point glIsVertexAttribEnabledAPPLE PFNGLISVERTEXATTRIBENABLEDAPPLEPROC "typedef GLboolean (APIENTRYP PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname);") (define-entry-point glMapVertexAttrib1dAPPLE PFNGLMAPVERTEXATTRIB1DAPPLEPROC "typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);") (define-entry-point glMapVertexAttrib1fAPPLE PFNGLMAPVERTEXATTRIB1FAPPLEPROC "typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);") (define-entry-point glMapVertexAttrib2dAPPLE PFNGLMAPVERTEXATTRIB2DAPPLEPROC "typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);") (define-entry-point glMapVertexAttrib2fAPPLE PFNGLMAPVERTEXATTRIB2FAPPLEPROC "typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);") (define-entry-point glObjectPurgeableAPPLE PFNGLOBJECTPURGEABLEAPPLEPROC "typedef GLenum (APIENTRYP PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);") (define-entry-point glObjectUnpurgeableAPPLE PFNGLOBJECTUNPURGEABLEAPPLEPROC "typedef GLenum (APIENTRYP PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);") (define-entry-point glGetObjectParameterivAPPLE PFNGLGETOBJECTPARAMETERIVAPPLEPROC "typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint *params);") (define-entry-point glBeginVideoCaptureNV PFNGLBEGINVIDEOCAPTURENVPROC "typedef void (APIENTRYP PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot);") (define-entry-point glBindVideoCaptureStreamBufferNV PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC "typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);") (define-entry-point glBindVideoCaptureStreamTextureNV PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC "typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);") (define-entry-point glEndVideoCaptureNV PFNGLENDVIDEOCAPTURENVPROC "typedef void (APIENTRYP PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot);") (define-entry-point glGetVideoCaptureivNV PFNGLGETVIDEOCAPTUREIVNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint *params);") (define-entry-point glGetVideoCaptureStreamivNV PFNGLGETVIDEOCAPTURESTREAMIVNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);") (define-entry-point glGetVideoCaptureStreamfvNV PFNGLGETVIDEOCAPTURESTREAMFVNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);") (define-entry-point glGetVideoCaptureStreamdvNV PFNGLGETVIDEOCAPTURESTREAMDVNVPROC "typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);") (define-entry-point glVideoCaptureNV PFNGLVIDEOCAPTURENVPROC "typedef GLenum (APIENTRYP PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);") (define-entry-point glVideoCaptureStreamParameterivNV PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC "typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);") (define-entry-point glVideoCaptureStreamParameterfvNV PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC "typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);") (define-entry-point glVideoCaptureStreamParameterdvNV PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC "typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);") (define-entry-point glCopyImageSubDataNV PFNGLCOPYIMAGESUBDATANVPROC "typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);") (define-entry-point glUseShaderProgramEXT PFNGLUSESHADERPROGRAMEXTPROC "typedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);") (define-entry-point glActiveProgramEXT PFNGLACTIVEPROGRAMEXTPROC "typedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);") (define-entry-point glCreateShaderProgramEXT PFNGLCREATESHADERPROGRAMEXTPROC "typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar *string);") (define-entry-point glMakeBufferResidentNV PFNGLMAKEBUFFERRESIDENTNVPROC "typedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);") (define-entry-point glMakeBufferNonResidentNV PFNGLMAKEBUFFERNONRESIDENTNVPROC "typedef void (APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target);") (define-entry-point glIsBufferResidentNV PFNGLISBUFFERRESIDENTNVPROC "typedef GLboolean (APIENTRYP PFNGLISBUFFERRESIDENTNVPROC) (GLenum target);") (define-entry-point glMakeNamedBufferResidentNV PFNGLMAKENAMEDBUFFERRESIDENTNVPROC "typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);") (define-entry-point glMakeNamedBufferNonResidentNV PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC "typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer);") (define-entry-point glIsNamedBufferResidentNV PFNGLISNAMEDBUFFERRESIDENTNVPROC "typedef GLboolean (APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer);") (define-entry-point glGetBufferParameterui64vNV PFNGLGETBUFFERPARAMETERUI64VNVPROC "typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT *params);") (define-entry-point glGetNamedBufferParameterui64vNV PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC "typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT *params);") (define-entry-point glGetIntegerui64vNV PFNGLGETINTEGERUI64VNVPROC "typedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result);") (define-entry-point glUniformui64NV PFNGLUNIFORMUI64NVPROC "typedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);") (define-entry-point glUniformui64vNV PFNGLUNIFORMUI64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glGetUniformui64vNV PFNGLGETUNIFORMUI64VNVPROC "typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params);") (define-entry-point glProgramUniformui64NV PFNGLPROGRAMUNIFORMUI64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);") (define-entry-point glProgramUniformui64vNV PFNGLPROGRAMUNIFORMUI64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glBufferAddressRangeNV PFNGLBUFFERADDRESSRANGENVPROC "typedef void (APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);") (define-entry-point glVertexFormatNV PFNGLVERTEXFORMATNVPROC "typedef void (APIENTRYP PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);") (define-entry-point glNormalFormatNV PFNGLNORMALFORMATNVPROC "typedef void (APIENTRYP PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride);") (define-entry-point glColorFormatNV PFNGLCOLORFORMATNVPROC "typedef void (APIENTRYP PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);") (define-entry-point glIndexFormatNV PFNGLINDEXFORMATNVPROC "typedef void (APIENTRYP PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride);") (define-entry-point glTexCoordFormatNV PFNGLTEXCOORDFORMATNVPROC "typedef void (APIENTRYP PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);") (define-entry-point glEdgeFlagFormatNV PFNGLEDGEFLAGFORMATNVPROC "typedef void (APIENTRYP PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride);") (define-entry-point glSecondaryColorFormatNV PFNGLSECONDARYCOLORFORMATNVPROC "typedef void (APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);") (define-entry-point glFogCoordFormatNV PFNGLFOGCOORDFORMATNVPROC "typedef void (APIENTRYP PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride);") (define-entry-point glVertexAttribFormatNV PFNGLVERTEXATTRIBFORMATNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);") (define-entry-point glVertexAttribIFormatNV PFNGLVERTEXATTRIBIFORMATNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);") (define-entry-point glGetIntegerui64i_vNV PFNGLGETINTEGERUI64I_VNVPROC "typedef void (APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT *result);") (define-entry-point glTextureBarrierNV PFNGLTEXTUREBARRIERNVPROC "typedef void (APIENTRYP PFNGLTEXTUREBARRIERNVPROC) (void);") (define-entry-point glBindImageTextureEXT PFNGLBINDIMAGETEXTUREEXTPROC "typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);") (define-entry-point glMemoryBarrierEXT PFNGLMEMORYBARRIEREXTPROC "typedef void (APIENTRYP PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers);") (define-entry-point glVertexAttribL1dEXT PFNGLVERTEXATTRIBL1DEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x);") (define-entry-point glVertexAttribL2dEXT PFNGLVERTEXATTRIBL2DEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y);") (define-entry-point glVertexAttribL3dEXT PFNGLVERTEXATTRIBL3DEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);") (define-entry-point glVertexAttribL4dEXT PFNGLVERTEXATTRIBL4DEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);") (define-entry-point glVertexAttribL1dvEXT PFNGLVERTEXATTRIBL1DVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribL2dvEXT PFNGLVERTEXATTRIBL2DVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribL3dvEXT PFNGLVERTEXATTRIBL3DVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribL4dvEXT PFNGLVERTEXATTRIBL4DVEXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble *v);") (define-entry-point glVertexAttribLPointerEXT PFNGLVERTEXATTRIBLPOINTEREXTPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);") (define-entry-point glGetVertexAttribLdvEXT PFNGLGETVERTEXATTRIBLDVEXTPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble *params);") (define-entry-point glVertexArrayVertexAttribLOffsetEXT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC "typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);") (define-entry-point glProgramSubroutineParametersuivNV PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC "typedef void (APIENTRYP PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC) (GLenum target, GLsizei count, const GLuint *params);") (define-entry-point glGetProgramSubroutineParameteruivNV PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC "typedef void (APIENTRYP PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC) (GLenum target, GLuint index, GLuint *param);") (define-entry-point glUniform1i64NV PFNGLUNIFORM1I64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);") (define-entry-point glUniform2i64NV PFNGLUNIFORM2I64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);") (define-entry-point glUniform3i64NV PFNGLUNIFORM3I64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);") (define-entry-point glUniform4i64NV PFNGLUNIFORM4I64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);") (define-entry-point glUniform1i64vNV PFNGLUNIFORM1I64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glUniform2i64vNV PFNGLUNIFORM2I64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glUniform3i64vNV PFNGLUNIFORM3I64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glUniform4i64vNV PFNGLUNIFORM4I64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glUniform1ui64NV PFNGLUNIFORM1UI64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);") (define-entry-point glUniform2ui64NV PFNGLUNIFORM2UI64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);") (define-entry-point glUniform3ui64NV PFNGLUNIFORM3UI64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);") (define-entry-point glUniform4ui64NV PFNGLUNIFORM4UI64NVPROC "typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);") (define-entry-point glUniform1ui64vNV PFNGLUNIFORM1UI64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glUniform2ui64vNV PFNGLUNIFORM2UI64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glUniform3ui64vNV PFNGLUNIFORM3UI64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glUniform4ui64vNV PFNGLUNIFORM4UI64VNVPROC "typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glGetUniformi64vNV PFNGLGETUNIFORMI64VNVPROC "typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);") (define-entry-point glProgramUniform1i64NV PFNGLPROGRAMUNIFORM1I64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);") (define-entry-point glProgramUniform2i64NV PFNGLPROGRAMUNIFORM2I64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);") (define-entry-point glProgramUniform3i64NV PFNGLPROGRAMUNIFORM3I64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);") (define-entry-point glProgramUniform4i64NV PFNGLPROGRAMUNIFORM4I64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);") (define-entry-point glProgramUniform1i64vNV PFNGLPROGRAMUNIFORM1I64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glProgramUniform2i64vNV PFNGLPROGRAMUNIFORM2I64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glProgramUniform3i64vNV PFNGLPROGRAMUNIFORM3I64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glProgramUniform4i64vNV PFNGLPROGRAMUNIFORM4I64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);") (define-entry-point glProgramUniform1ui64NV PFNGLPROGRAMUNIFORM1UI64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);") (define-entry-point glProgramUniform2ui64NV PFNGLPROGRAMUNIFORM2UI64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);") (define-entry-point glProgramUniform3ui64NV PFNGLPROGRAMUNIFORM3UI64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);") (define-entry-point glProgramUniform4ui64NV PFNGLPROGRAMUNIFORM4UI64NVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);") (define-entry-point glProgramUniform1ui64vNV PFNGLPROGRAMUNIFORM1UI64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glProgramUniform2ui64vNV PFNGLPROGRAMUNIFORM2UI64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glProgramUniform3ui64vNV PFNGLPROGRAMUNIFORM3UI64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glProgramUniform4ui64vNV PFNGLPROGRAMUNIFORM4UI64VNVPROC "typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);") (define-entry-point glVertexAttribL1i64NV PFNGLVERTEXATTRIBL1I64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x);") (define-entry-point glVertexAttribL2i64NV PFNGLVERTEXATTRIBL2I64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y);") (define-entry-point glVertexAttribL3i64NV PFNGLVERTEXATTRIBL3I64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);") (define-entry-point glVertexAttribL4i64NV PFNGLVERTEXATTRIBL4I64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);") (define-entry-point glVertexAttribL1i64vNV PFNGLVERTEXATTRIBL1I64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT *v);") (define-entry-point glVertexAttribL2i64vNV PFNGLVERTEXATTRIBL2I64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT *v);") (define-entry-point glVertexAttribL3i64vNV PFNGLVERTEXATTRIBL3I64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT *v);") (define-entry-point glVertexAttribL4i64vNV PFNGLVERTEXATTRIBL4I64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT *v);") (define-entry-point glVertexAttribL1ui64NV PFNGLVERTEXATTRIBL1UI64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x);") (define-entry-point glVertexAttribL2ui64NV PFNGLVERTEXATTRIBL2UI64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y);") (define-entry-point glVertexAttribL3ui64NV PFNGLVERTEXATTRIBL3UI64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);") (define-entry-point glVertexAttribL4ui64NV PFNGLVERTEXATTRIBL4UI64NVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);") (define-entry-point glVertexAttribL1ui64vNV PFNGLVERTEXATTRIBL1UI64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT *v);") (define-entry-point glVertexAttribL2ui64vNV PFNGLVERTEXATTRIBL2UI64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT *v);") (define-entry-point glVertexAttribL3ui64vNV PFNGLVERTEXATTRIBL3UI64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT *v);") (define-entry-point glVertexAttribL4ui64vNV PFNGLVERTEXATTRIBL4UI64VNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT *v);") (define-entry-point glGetVertexAttribLi64vNV PFNGLGETVERTEXATTRIBLI64VNVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT *params);") (define-entry-point glGetVertexAttribLui64vNV PFNGLGETVERTEXATTRIBLUI64VNVPROC "typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT *params);") (define-entry-point glVertexAttribLFormatNV PFNGLVERTEXATTRIBLFORMATNVPROC "typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);") (define-entry-point glGenNamesAMD PFNGLGENNAMESAMDPROC "typedef void (APIENTRYP PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint *names);") (define-entry-point glDeleteNamesAMD PFNGLDELETENAMESAMDPROC "typedef void (APIENTRYP PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint *names);") (define-entry-point glIsNameAMD PFNGLISNAMEAMDPROC "typedef GLboolean (APIENTRYP PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name);") (define-entry-point glDebugMessageEnableAMD PFNGLDEBUGMESSAGEENABLEAMDPROC "typedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);") (define-entry-point glDebugMessageInsertAMD PFNGLDEBUGMESSAGEINSERTAMDPROC "typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);") (define-entry-point glDebugMessageCallbackAMD PFNGLDEBUGMESSAGECALLBACKAMDPROC "typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, GLvoid *userParam);") (define-entry-point glGetDebugMessageLogAMD PFNGLGETDEBUGMESSAGELOGAMDPROC "typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);") (define-entry-point glVDPAUInitNV PFNGLVDPAUINITNVPROC "typedef void (APIENTRYP PFNGLVDPAUINITNVPROC) (const GLvoid *vdpDevice, const GLvoid *getProcAddress);") (define-entry-point glVDPAUFiniNV PFNGLVDPAUFININVPROC "typedef void (APIENTRYP PFNGLVDPAUFININVPROC) (void);") (define-entry-point glVDPAURegisterVideoSurfaceNV PFNGLVDPAUREGISTERVIDEOSURFACENVPROC "typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);") (define-entry-point glVDPAURegisterOutputSurfaceNV PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC "typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);") (define-entry-point glVDPAUIsSurfaceNV PFNGLVDPAUISSURFACENVPROC "typedef void (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);") (define-entry-point glVDPAUUnregisterSurfaceNV PFNGLVDPAUUNREGISTERSURFACENVPROC "typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);") (define-entry-point glVDPAUGetSurfaceivNV PFNGLVDPAUGETSURFACEIVNVPROC "typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);") (define-entry-point glVDPAUSurfaceAccessNV PFNGLVDPAUSURFACEACCESSNVPROC "typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);") (define-entry-point glVDPAUMapSurfacesNV PFNGLVDPAUMAPSURFACESNVPROC "typedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);") (define-entry-point glVDPAUUnmapSurfacesNV PFNGLVDPAUUNMAPSURFACESNVPROC "typedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);") (define-entry-point glTexImage2DMultisampleCoverageNV PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC "typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);") (define-entry-point glTexImage3DMultisampleCoverageNV PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC "typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);") (define-entry-point glTextureImage2DMultisampleNV PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC "typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);") (define-entry-point glTextureImage3DMultisampleNV PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC "typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);") (define-entry-point glTextureImage2DMultisampleCoverageNV PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC "typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);") (define-entry-point glTextureImage3DMultisampleCoverageNV PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC "typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);") (define-entry-point glSetMultisamplefvAMD PFNGLSETMULTISAMPLEFVAMDPROC "typedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat *val);") (define-entry-point glImportSyncEXT PFNGLIMPORTSYNCEXTPROC "typedef GLsync (APIENTRYP PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);") (define-entry-point glMultiDrawArraysIndirectAMD PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC "typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);") (define-entry-point glMultiDrawElementsIndirectAMD PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC "typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);") �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/glstate.scm�����������������������������������������������������������������������0000755�0000764�0000764�00000055111�12342246753�015171� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /usr/bin/env gosh ;;; ;;; glstate.scm - state variable table ;;; ;;; Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; ;; ;; Generate several C source code that includes information about ;; dimensions of state variables ;; (use srfi-13) (use gauche.parseopt) ;; Data ;; (name dimension type [version ...]) ;; type: 'getf - available via glGetFloatv ;; 'geti - available via glGetIntegerv ;; 'getb - available via glGetBooleanv ;; 'texp - available via glGetTextureParameter ;; 'texl - available via glGetTexLevelParameter ;; 'texe - available via glGetTexEnv ;; 'texg - available via glGetTexGen ;; 'colp - available via glGetColroTableParameter ;; 'conp - available via glGetConvolutionParameter ;; 'hisp - available via glGetHistogramParameter ;; #f - others ;; version: (none) - OpenGL v1.1 and v1.2 ;; 'v1.1 - OpenGL v1.1 only ;; 'v1.2 - OpenGL v1.2 only ;; 'no-cygwin - Cygwin OpenGL (1.1.0-6) doesn't have this symbol ;; Source of this list is the table is the Appendix B: State Variables ;; of OpenGL Programming Guide. (define *state* '(;; Current Values and Associated Data (gl_current_color 4 getf) (gl_current_index 1 geti) (gl_current_texture_coords 4 getf) (gl_current_normal 3 getf) (gl_current_raster_position 4 getf) (gl_current_raster_distance 1 getf) (gl_current_raster_color 4 getf) (gl_current_raster_index 1 geti) (gl_current_raster_texture_coords 4 getf) (gl_current_raster_position_valid 1 getb) (gl_edge_flag 1 getb) ;; Vertex Array (gl_vertex_array 1 getb) (gl_vertex_array_size 1 geti) (gl_vertex_array_type 1 geti) (gl_vertex_array_stride 1 geti) (gl_vertex_array_pointer #f getp) (gl_normal_array 1 getb) (gl_normal_array_type 1 geti) (gl_normal_array_stride 1 geti) (gl_normal_array_pointer #f getp) (gl_color_array 1 getb) (gl_color_array_size 1 geti) (gl_color_array_type 1 geti) (gl_color_array_stride 1 geti) (gl_color_array_pointer #f getp) (gl_index_array 1 getb) (gl_index_array_type 1 geti) (gl_index_array_stride 1 geti) (gl_index_array_pointer #f getp) (gl_texture_coord_array 1 getb) (gl_texture_coord_array_size 1 geti) (gl_texture_coord_array_type 1 geti) (gl_texture_coord_array_stride 1 geti) (gl_texture_coord_array_pointer #f getp) (gl_edge_flag_array 1 getb) (gl_edge_flag_array_stride 1 geti) (gl_edge_flag_array_pointer 1 getp) (gl_client_active_texture_arb 1 geti) ;; Transformation (gl_color_matrix 16 getf) (gl_modelview_matrix 16 getf) (gl_projection_matrix 16 getf) (gl_texture_matrix 16 getf) (gl_viewport 4 geti) (gl_depth_range 2 getf) ;(gl_color_stack_depth 1 geti v1.2) ; Mesa missing this (gl_modelview_stack_depth 1 geti) (gl_projection_stack_depth 1 geti) (gl_texture_stack_depth 1 geti) (gl_matrix_mode 1 geti) (gl_normalize 1 getb) (gl_rescale_normal 1 getb) (gl_clip_plane0 1 getb) (gl_clip_plane1 1 getb) (gl_clip_plane2 1 getb) (gl_clip_plane3 1 getb) (gl_clip_plane4 1 getb) (gl_clip_plane5 1 getb) ;; Coloring (gl_fog_color 4 getf) (gl_fog_index 1 getf) (gl_fog_density 1 getf) (gl_fog_start 1 getf) (gl_fog_end 1 getf) (gl_fog_mode 1 geti) (gl_fog 1 getb) (gl_shade_model 1 geti) ;; Lighting (gl_lighting 1 getb) (gl_color_material 1 getb) (gl_color_material_parameter 1 geti) (gl_color_material_face 1 geti) (gl_light_model_ambient 4 getf) (gl_light_model_local_viewer 1 getb) (gl_light_model_two_side 1 getb) (gl_light_model_color_control 1 geti) (gl_light0 1 getb) (gl_light1 1 getb) (gl_light2 1 getb) (gl_light3 1 getb) (gl_light4 1 getb) (gl_light5 1 getb) (gl_light6 1 getb) (gl_light7 1 getb) ;; Rasterization (gl_point_size 1 getf) (gl_point_smooth 1 getb) (gl_line_width 1 getf) (gl_line_smooth 1 getb) (gl_line_stipple_pattern 1 geti) (gl_line_stipple_repeat 1 geti) (gl_line_stipple 1 getb) (gl_cull_face 1 getb) (gl_cull_face_mode 1 geti) (gl_front_face 1 geti) (gl_polygon_smooth 1 getb) (gl_polygon_mode 1 geti) (gl_polygon_offset_factor 1 getf) (gl_polygon_offset_bias_ext 1 getf) (gl_polygon_offset_point 1 getb) (gl_polygon_offset_line 1 getb) (gl_polygon_offset_fill 1 getb) (gl_polygon_stipple 1 getb) ;; Texturing (gl_texture_1d 1 getb) (gl_texture_2d 1 getb) (gl_texture_3d 1 getb) (gl_texture_binding_1d 1 geti) (gl_texture_binding_2d 1 geti) (gl_texture_binding_3d 1 geti) (gl_texture_width 1 texl) (gl_texture_height 1 texl) (gl_texture_depth 1 texl) (gl_texture_border 1 texl) (gl_texture_internal_format 1 texl) (gl_texture_red_size 1 texl) (gl_texture_green_size 1 texl) (gl_texture_blue_size 1 texl) (gl_texture_alpha_size 1 texl) (gl_texture_luminance_size 1 texl) (gl_texture_intensity_size 1 texl) (gl_texture_border_color 4 texp) (gl_texture_min_filter 1 texp) (gl_texture_mag_filter 1 texp) (gl_texture_wrap_s 1 texp) (gl_texture_wrap_t 1 texp) (gl_texture_wrap_u 1 texp) (gl_texture_priority 1 texp) (gl_texture_resident 1 texp) (gl_texture_min_lod 1 texp) (gl_texture_max_lod 1 texp) (gl_texture_base_level 1 texp) (gl_texture_max_level 1 texp) (gl_texture_env_mode 1 texe) (gl_texture_env_color 4 texe) (gl_texture_gen_s 1 getb) (gl_texture_gen_t 1 getb) (gl_texture_gen_r 1 getb) (gl_texture_gen_q 1 getb) (gl_eye_plane 4 texg) (gl_object_plane 4 texg) (gl_texture_gen_mode 1 texg) (gl_active_texture 1 geti) ;; Pixel Operations (gl_scissor_test 1 getb) (gl_scissor_box 4 geti) (gl_alpha_test 1 getb) (gl_alpha_test_func 1 geti) (gl_stencil_test 1 getb) (gl_stencil_func 1 geti) (gl_stencil_value_mask 1 geti) (gl_stencil_ref 1 geti) (gl_stencil_fail 1 geti) (gl_stencil_pass_depth_fail 1 geti) (gl_stencil_pass_depth_pass 1 geti) (gl_depth_test 1 getb) (gl_depth_func 1 geti) (gl_blend 1 getb) (gl_blend_src 1 geti) (gl_blend_dst 1 geti) (gl_blend_equation 1 geti) (gl_blend_color 4 getf) (gl_dither 1 getb) (gl_index_logic_op 1 getb) (gl_color_logic_op 1 getb) (gl_logic_op_mode 1 geti) ;; Framebuffer Control (gl_draw_buffer 1 geti) (gl_index_writemask 1 geti) (gl_color_writemask 4 getb) (gl_depth_writemask 1 getb) (gl_stencil_writemask 1 geti) (gl_color_clear_value 4 getf) (gl_index_clear_value 1 getf) (gl_depth_clear_value 1 geti) (gl_stencil_clear_value 1 geti) (gl_accum_clear_value 1 getf) ;; Pixels (gl_unpack_swap_bytes 1 getb) (gl_unpack_lsb_first 1 getb) (gl_unpack_image_height 1 geti) (gl_unpack_skip_images 1 geti) (gl_unpack_row_length 1 geti) (gl_unpack_skip_rows 1 geti) (gl_unpack_skip_pixels 1 geti) (gl_unpack_alignment 1 geti) (gl_pack_swap_bytes 1 getb) (gl_pack_lsb_first 1 getb) (gl_pack_image_height 1 geti) (gl_pack_skip_images 1 geti) (gl_pack_row_length 1 geti) (gl_pack_skip_rows 1 geti) (gl_pack_skip_pixels 1 geti) (gl_pack_alignment 1 geti) (gl_map_color 1 getb) (gl_map_stencil 1 getb) (gl_index_shift 1 geti) (gl_index_offset 1 geti) (gl_red_scale 1 getf) (gl_green_scale 1 getf) (gl_blue_scale 1 getf) (gl_alpha_scale 1 getf) (gl_depth_scale 1 getf) (gl_red_bias 1 getf) (gl_green_bias 1 getf) (gl_blue_bias 1 getf) (gl_alpha_bias 1 getf) (gl_depth_bias 1 getf) (gl_color_table 1 getb) (gl_post_convolution_color_table 1 getb) (gl_post_color_matrix_color_table 1 getb) (gl_color_table_format 1 colp) (gl_color_table_width 1 colp) (gl_color_table_red_size 1 colp) (gl_color_table_green_size 1 colp) (gl_color_table_blue_size 1 colp) (gl_color_table_alpha_size 1 colp) (gl_color_table_luminance_size 1 colp) (gl_color_table_intensity_size 1 colp) (gl_color_table_scale 4 colp) (gl_color_table_bias 4 colp) (gl_convolution_1d 1 getb) (gl_convolution_2d 1 getb) (gl_separable_2d 1 getb) (gl_convolution_border_color 4 conp) (gl_convolution_border_mode 1 conp) (gl_convolution_filter_scale 4 conp) (gl_convolution_filter_bias 4 conp) (gl_convolution_format 1 conp) (gl_convolution_width 1 conp) (gl_convolution_height 1 conp) (gl_post_convolution_red_scale 1 conp) (gl_post_convolution_green_scale 1 conp) (gl_post_convolution_blue_scale 1 conp) (gl_post_convolution_alpha_scale 1 conp) (gl_post_convolution_red_bias 1 conp) (gl_post_convolution_green_bias 1 conp) (gl_post_convolution_blue_bias 1 conp) (gl_post_convolution_alpha_bias 1 conp) (gl_post_color_matrix_red_scale 1 conp) (gl_post_color_matrix_green_scale 1 conp) (gl_post_color_matrix_blue_scale 1 conp) (gl_post_color_matrix_alpha_scale 1 conp) (gl_post_color_matrix_red_bias 1 conp) (gl_post_color_matrix_green_bias 1 conp) (gl_post_color_matrix_blue_bias 1 conp) (gl_post_color_matrix_alpha_bias 1 conp) (gl_histogram 1 getb) (gl_histogram_width 1 hisp) (gl_histogram_format 1 hisp) (gl_histogram_red_size 1 hisp) (gl_histogram_green_size 1 hisp) (gl_histogram_blue_size 1 hisp) (gl_histogram_alpha_size 1 hisp) (gl_histogram_luminance_size 1 hisp) (gl_histogram_sink 1 hisp) (gl_minmax 1 getb) (gl_zoom_x 1 getf) (gl_zoom_y 1 getf) (gl_pixel_map_i_to_i_size 1 geti) (gl_pixel_map_s_to_s_size 1 geti) (gl_pixel_map_i_to_r_size 1 geti) (gl_pixel_map_i_to_g_size 1 geti) (gl_pixel_map_i_to_b_size 1 geti) (gl_pixel_map_i_to_a_size 1 geti) (gl_pixel_map_r_to_r_size 1 geti) (gl_pixel_map_g_to_g_size 1 geti) (gl_pixel_map_b_to_b_size 1 geti) (gl_pixel_map_a_to_a_size 1 geti) (gl_read_buffer 1 geti) ;; Evaluators (gl_map1_vertex_3 1 getb) (gl_map1_vertex_4 1 getb) (gl_map1_index 1 getb) (gl_map1_color_4 1 getb) (gl_map1_normal 1 getb) (gl_map1_texture_coord_1 1 getb) (gl_map1_texture_coord_2 1 getb) (gl_map1_texture_coord_3 1 getb) (gl_map1_texture_coord_4 1 getb) (gl_map2_vertex_3 1 getb) (gl_map2_vertex_4 1 getb) (gl_map2_index 1 getb) (gl_map2_color_4 1 getb) (gl_map2_normal 1 getb) (gl_map2_texture_coord_1 1 getb) (gl_map2_texture_coord_2 1 getb) (gl_map2_texture_coord_3 1 getb) (gl_map2_texture_coord_4 1 getb) (gl_map1_grid_domain 2 getf) (gl_map2_grid_domain 4 getf) (gl_map1_grid_segments 1 getf) (gl_map2_grid_segments 2 getf) (gl_auto_normal 1 getb) ;; Hints (gl_perspective_correction_hint 1 geti) (gl_point_smooth_hint 1 geti) (gl_line_smooth_hint 1 geti) (gl_polygon_smooth_hint 1 geti) (gl_fog_hint 1 geti) ;; Implementation-Dependent Values (gl_max_lights 1 geti) (gl_max_clip_planes 1 geti) (gl_max_modelview_stack_depth 1 geti) (gl_max_projection_stack_depth 1 geti) (gl_max_texture_stack_depth 1 geti) (gl_subpixel_bits 1 geti) (gl_max_3d_texture_size 1 geti) (gl_max_texture_size 1 geti) (gl_max_pixel_map_table 1 geti) (gl_max_name_stack_depth 1 geti) (gl_max_list_nesting 1 geti) (gl_max_eval_order 1 geti) (gl_max_viewport_dims 1 geti) (gl_max_attrib_stack_depth 1 geti) (gl_max_client_attrib_stack_depth 1 geti) (gl_aux_buffers 1 geti) (gl_rgba_mode 1 getb) (gl_indeX_mode 1 getb) (gl_doublebuffer 1 getb) (gl_stereo 1 getb) (gl_point_size_range 2 getf) (gl_point_size_granularity 1 getf) (gl_aliased_point_size_range 2 getf) ;(gl_smooth_point_size_range 2 getf) ;; same as point_size_range ;(gl_smooth_point_size_granularity 1 getf) ;; same as point_size_granularity (gl_aliased_line_width_range 2 getf) (gl_smooth_line_width_range 2 getf) (gl_smooth_line_width_granularity 1 getf) (gl_max_convolution_width 1 conp) (gl_max_convolution_height 1 conp) (gl_max_elements_indices 1 geti) (gl_max_elements_vertices 1 geti) (gl_max_texture_units_arb 1 geti) ;; Implementation-Dependent Pixel Depths (gl_red_bits 1 geti) (gl_green_bits 1 geti) (gl_blue_bits 1 geti) (gl_alpha_bits 1 geti) (gl_index_bits 1 geti) (gl_depth_bits 1 geti) (gl_stencil_bits 1 geti) (gl_accum_red_bits 1 geti) (gl_accum_green_bits 1 geti) (gl_accum_blue_bits 1 geti) (gl_accum_alpha_bits 1 geti) ;; Miscellaneous (gl_list_base 1 geti) (gl_list_index 1 geti) (gl_list_mode 1 geti) (gl_attrib_stack_depth 1 geti) (gl_client_attrib_stack_depth 1 geti) (gl_name_stack_depth 1 geti) (gl_render_mode 1 geti) (gl_selection_buffer_pointer 1 getp) (gl_selection_buffer_size 1 geti) (gl_feedback_buffer_pointer 1 getp) (gl_feedback_buffer_size 1 geti) (gl_feedback_buffer_type 1 geti) ) ) ;; generate case statements for size of values of getTYPEv calls (define (gen-getTYPEv-size-table) (let ((tab '())) (for-each (lambda (e) (when (memq (caddr e) '(geti getf getb)) (cond ((assv (cadr e) tab) => (lambda (p) (push! (cdr p) e))) (else (push! tab (list (cadr e) e)))))) *state*) (for-each (lambda (n) (for-each (lambda (e) (gen-case-label (string-upcase (symbol->string (car e))) (cdddr e))) (reverse (cdr n))) (print #`" return ,(car n);")) (reverse tab)))) ;; output case label, optionally wrapping by #if-#endif (define (gen-case-label name versions) (if (null? versions) (print #`" case ,|name|:;") (let ((condition (case (car versions) ((v1.1) "defined(GL_VERSION_1_1) && !defined(GL_VERSION_1_2)") ((v1.2) "defined(GL_VERSION_1_2)") ((no-cygwin) "!defined(__CYGWIN__)") (else (error "unknown version identifier:" (car versions)))))) (print #`"#if ,condition") (gen-case-label name (cdr versions)) (print "#endif")))) ;;----------------------------- (define *outfile* #f) (define (usage) (format (current-error-port) "Usage: gosh glstate.scm -- [-o outfile] function\n") (format (current-error-port) " possible function : gettype\n") (exit 1)) (define (main args) (let ((arg (parse-options (cdr args) (("o=s" (file) (set! *outfile* file)) (else _ (usage)))))) (unless (= (length arg) 1) (usage)) (if *outfile* (with-output-to-file *outfile* (lambda () (dispatch (car arg)))) (dispatch (car arg)))) 0) (define (dispatch function) (cond ((equal? function "gettype") (gen-getTYPEv-size-table)) (else (usage)))) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/test.scm��������������������������������������������������������������������������0000644�0000764�0000764�00000001773�11533026402�014473� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; test for gl module ;; Note: this only tests if the gl and glut module is loadable or not, ;; and some basic tests. (use gauche.test) (use gauche.sequence) (add-load-path "../lib") (test-start "GL") (test-section "loading gl") (use gl) (test-section "loading glut") (use gl.glut) (test-section "gl-boolean-vector") (test* "constructor, predicate and length" (list #t 5) (let ((v (make-gl-boolean-vector 5))) (list (gl-boolean-vector? v) (gl-boolean-vector-length v)))) (test* "ref" '(#t #f #f #t) (let ((v (gl-boolean-vector #t #f #f #t))) (list (ref v 0) (ref v 1) (ref v 2) (ref v 3)))) (test* "set!" '(#t #f #f) (let ((v (make-gl-boolean-vector 3))) (set! (ref v 0) #t) (set! (ref v 1) #f) (set! (ref v 2) #f) (coerce-to <list> v))) (test* "coercion & reader" #,(gl-boolean-vector #f #t #f #f #t) (coerce-to <gl-boolean-vector> '(#f #t #f #f #t))) (test-end) �����Gauche-gl-0.6/src/glu-lib.stub����������������������������������������������������������������������0000664�0000764�0000764�00000045503�12342246753�015257� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; glu-lib.stub - glue functions for GLU ;;; ;;; Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; " #include <gauche/uvector.h> #include \"gauche-gl.h\" " (include "glcase.scm") (define-type <uvector> "ScmUVector*" "uniform vector" "SCM_UVECTORP" "SCM_UVECTOR") ;;================================================================ ;; Miscellaneous ;; (define-cproc glu-look-at (eyex::<real> eyey::<real> eyez::<real> ctrx::<real> ctry::<real> ctrz::<real> upx::<real> upy::<real> upz::<real>) ::<void> gluLookAt) (define-cproc glu-ortho-2d (left::<real> right::<real> bottom::<real> top::<real>) ::<void> gluOrtho2D) (define-cproc glu-perspective (fovy::<real> aspect::<real> znear::<real> zfar::<real>) ::<void> gluPerspective) (define-cproc glu-pick-matrix (x::<real> y::<real> w::<real> h::<real> vp) ::<void> (gl-case (vp) (gluPickMatrix x y w h ~X) ((s32 4)) "s32 vector of size 4 required for vp, but got %S")) (define-cproc glu-error-string (code::<int>) (let* ([s::(const GLubyte*) (gluErrorString code)]) (if s (result (Scm_MakeString (cast (const char*) s) -1 -1 0)) (result SCM_FALSE)))) ;; common routine for glu-project and glu-un-project (define-cise-stmt glu-xproject [(_ fn srcx srcy srcz) `(let* ([dstx::GLdouble] [dsty::GLdouble] [dstz::GLdouble]) (assert-vector-type&size f64 16 model-mat) (assert-vector-type&size f64 16 proj-mat) (assert-vector-type&size s32 4 vp) (if (== GL_TRUE (,fn ,srcx ,srcy ,srcz (SCM_F64VECTOR_ELEMENTS model-mat) (SCM_F64VECTOR_ELEMENTS proj-mat) (cast GLint* (SCM_S32VECTOR_ELEMENTS vp)) (& dstx) (& dsty) (& dstz))) (result (Scm_MakeFlonum dstx)(Scm_MakeFlonum dsty)(Scm_MakeFlonum dstz)) (result '#f '#f '#f)))]) (define-cproc glu-project (objx::<real> objy::<real> objz::<real> model-mat proj-mat vp) ::(<top> <top> <top>) (glu-xproject gluProject objx objy objz)) (define-cproc glu-un-project (winx::<real> winy::<real> winz::<real> model-mat proj-mat vp) ::(<top> <top> <top>) (glu-xproject gluUnProject winx winy winz)) ;; common routine for glu-project! and glu-un-project! (define-cise-stmt glu-xproject! [(_ fn dst src) `(let* ([dstfp::float* NULL] [srcfp::float* NULL] [dstdp::double* NULL] [srcdp::double* NULL] [dstx::GLdouble] [dsty::GLdouble] [dstz::GLdouble]) ;; We allow f64 vector as well as float vector-likes (f32, point4f, ;; vector4f, quatf), so it's a bit complicated here. (if (and (SCM_F64VECTORP ,dst) (== (SCM_F64VECTOR_SIZE ,dst) 4)) (set! dstdp (SCM_F64VECTOR_ELEMENTS ,dst)) (SCM_MATH3D_X4FP dstfp ,dst)) (if (and (SCM_F64VECTORP ,src) (== (SCM_F64VECTOR_SIZE ,src) 4)) (set! srcdp (SCM_F64VECTOR_ELEMENTS ,src)) (SCM_MATH3D_X4FP srcfp ,src)) (assert-vector-type&size f64 16 model-mat) (assert-vector-type&size f64 16 proj-mat) (assert-vector-type&size s32 4 vp) (if (== GL_TRUE (?: srcfp (,fn (aref srcfp 0) (aref srcfp 1) (aref srcfp 2) (SCM_F64VECTOR_ELEMENTS model-mat) (SCM_F64VECTOR_ELEMENTS proj-mat) (cast GLint* (SCM_S32VECTOR_ELEMENTS vp)) (& dstx) (& dsty) (& dstz)) (,fn (aref srcdp 0) (aref srcdp 1) (aref srcdp 2) (SCM_F64VECTOR_ELEMENTS model-mat) (SCM_F64VECTOR_ELEMENTS proj-mat) (cast GLint* (SCM_S32VECTOR_ELEMENTS vp)) (& dstx) (& dsty) (& dstz)))) (begin (if dstfp (set! (aref dstfp 0) dstx (aref dstfp 1) dsty (aref dstfp 2) dstz) (set! (aref dstdp 0) dstx (aref dstdp 1) dsty (aref dstdp 2) dstz)) (result (SCM_OBJ ,dst))) (result '#f)))]) (define-cproc glu-project! (win obj model-mat proj-mat vp) (glu-xproject! gluProject win obj)) (define-cproc glu-un-project! (obj win model-mat proj-mat vp) (glu-xproject! gluUnProject obj win)) ;;============================================================= ;; Mipmapping and image scaling ;; ;(define-cproc glu-scale-image! (format::<fixnum> ; width-in::<fixnum> height-in::<fixnum> ; type-in::<fixnum> data-in::<uvector> ; width-out::<fixnum> height-out::<fixnum> ; type-out::<fixnum> data-out::<uvector>) ;;============================================================= ;; Quadrics ;; (define-type <glu-quadric> "ScmGluQuadric*" #f "SCM_GLU_QUADRIC_P" "SCM_GLU_QUADRIC") ;; gluNewQuadric : (make <glu-quadric>) ;; gluDeleteQuadric : GC takes care of this (define-cproc glu-quadric-draw-style (quad::<glu-quadric> style::<fixnum>) ::<void> (gluQuadricDrawStyle (-> quad quadric) style)) (define-cproc glu-quadric-orientation (quad::<glu-quadric> orientation::<fixnum>) ::<void> (gluQuadricOrientation (-> quad quadric) orientation)) (define-cproc glu-quadric-normals (quad::<glu-quadric> normals::<fixnum>) ::<void> (gluQuadricNormals (-> quad quadric) normals)) (define-cproc glu-quadric-texture (quad::<glu-quadric> texcoords::<fixnum>) ::<void> (gluQuadricTexture (-> quad quadric) texcoords)) ;; glu-quadric-callback - gluQuadricCallback doesn't pass the closure ;; information, so it is practially impossible to implement this in ;; reasonable way. (define-cproc glu-cylinder (quad::<glu-quadric> base-radius::<real> top-radius::<real> height::<real> slices::<fixnum> stacks::<fixnum>) ::<void> (gluCylinder (-> quad quadric) base_radius top_radius height slices stacks)) (define-cproc glu-sphere (quad::<glu-quadric> radius::<real> slices::<fixnum> stacks::<fixnum>) ::<void> (gluSphere (-> quad quadric) radius slices stacks)) (define-cproc glu-disk (quad::<glu-quadric> inner-radius::<real> outer-radius::<real> slices::<fixnum> loops::<fixnum>) ::<void> (gluDisk (-> quad quadric) inner_radius outer_radius slices loops)) (define-cproc glu-partial-disk (quad::<glu-quadric> inner-radius::<real> outer-radius::<real> slices::<fixnum> loops::<fixnum> start-angle::<real> sweep-angle::<real>) ::<void> (gluPartialDisk (-> quad quadric) inner_radius outer_radius slices loops start_angle sweep_angle)) ;;============================================================= ;; Nurbs ;; (define-type <glu-nurbs> "ScmGluNurbs*" #f "SCM_GLU_NURBS_P" "SCM_GLU_NURBS") ;; glu-new-nurbs-renderer : (make <glu-nurbs>) ;; glu-delete-nurbs-renderer : GC takes care of this. (define-cproc glu-load-sampling-matrices (nurbs::<glu-nurbs> model-matrix proj-matrix viewport) ::<void> (assert-vector-type&size f32 16 model-matrix) (assert-vector-type&size f32 16 proj-matrix) (assert-vector-type&size s32 4 viewport) (gluLoadSamplingMatrices (-> nurbs nurbs) (SCM_F32VECTOR_ELEMENTS model_matrix) (SCM_F32VECTOR_ELEMENTS proj_matrix) (cast GLint* (SCM_S32VECTOR_ELEMENTS viewport)))) (define-cproc glu-nurbs-property (nurbs::<glu-nurbs> property::<fixnum> value::<real>) ::<void> (gluNurbsProperty (-> nurbs nurbs) property value)) (define-cproc glu-get-nurbs-property (nurbs::<glu-nurbs> property::<fixnum>) ::<float> (let* ([value::GLfloat]) (gluGetNurbsProperty (-> nurbs nurbs) property (& value)) (result value))) (define-cproc glu-begin-curve (nurbs::<glu-nurbs>) ::<void> (gluBeginCurve (-> nurbs nurbs))) (define-cproc glu-end-curve (nurbs::<glu-nurbs>) ::<void> (gluEndCurve (-> nurbs nurbs))) (define-cproc glu-nurbs-curve (nurbs::<glu-nurbs> knot::<f32vector> stride::<fixnum> ctlarray::<f32vector> order::<fixnum> type::<fixnum>) ::<void> (let* ([nknots::int (SCM_F32VECTOR_SIZE knot)] [nctlarray::int (* stride (- nknots order))]) (unless (== nctlarray (SCM_F32VECTOR_SIZE ctlarray)) (Scm_Error "f32vector of length %d is required for control points, but got %S" nctlarray ctlarray)) (gluNurbsCurve (-> nurbs nurbs) nknots (SCM_F32VECTOR_ELEMENTS knot) stride (SCM_F32VECTOR_ELEMENTS ctlarray) order type))) (define-cproc glu-begin-surface (nurbs::<glu-nurbs>) ::<void> (gluBeginSurface (-> nurbs nurbs))) (define-cproc glu-end-surface (nurbs::<glu-nurbs>) ::<void> (gluEndSurface (-> nurbs nurbs))) ;;================================================================ ;; Polygon tesselation ;; (define-type <glu-tesselator> "ScmGluTesselator*" #f "SCM_GLU_TESSELATOR_P" "SCM_GLU_TESSELATOR") ;;============================================================= ;; Mipmapping and image scaling ;; ;; caller must ensure vector has enough length (define-cproc glu-build-1d-mipmaps (target::<fixnum> internalformat::<fixnum> width::<fixnum> format::<fixnum> type::<fixnum> texels) ::<int> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width 1 format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (result (gluBuild1DMipmaps target internalformat width format type texelptr)))) (define-cproc glu-build-2d-mipmaps (target::<fixnum> internalformat::<fixnum> width::<fixnum> height::<fixnum> format::<fixnum> type::<fixnum> texels) ::<int> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (result (gluBuild2DMipmaps target internalformat width height format type texelptr)))) ;; NB: We exclude HAVE_GL_GLEW_H case since glew defines GL_VERSION_1_2, ;; although MinGW's glu header doesn't have entry for these APIs. (if "defined(GL_VERSION_1_2) && !defined(HAVE_GL_GLEW_H)" (begin (define-cproc glu-build-3d-mipmaps (target::<fixnum> internalformat::<fixnum> width::<fixnum> height::<fixnum> depth::<fixnum> format::<fixnum> type::<fixnum> texels) ::<int> ;; NB: does Scm_GLPxielDataSize work to pass height*depth as height? ;; need to think over it. (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width (* height depth) format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (result (gluBuild3DMipmaps target internalformat width height depth format type texelptr)))) (define-cproc glu-build-1d-mipmap-levels (target::<fixnum> internalformat::<fixnum> width::<fixnum> format::<fixnum> type::<fixnum> level::<fixnum> base::<fixnum> max::<fixnum> texels) ::<int> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width 1 format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (result (gluBuild1DMipmapLevels target internalformat width format type level base max texelptr)))) (define-cproc glu-build-2d-mipmap-levels (target::<fixnum> internalformat::<fixnum> width::<fixnum> height::<fixnum> format::<fixnum> type::<fixnum> level::<fixnum> base::<fixnum> max::<fixnum> texels) ::<int> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (result (gluBuild2DMipmapLevels target internalformat width height format type level base max texelptr)))) (define-cproc glu-build-3d-mipmap-levels (target::<fixnum> internalformat::<fixnum> width::<fixnum> height::<fixnum> depth::<fixnum> format::<fixnum> type::<fixnum> level::<fixnum> base::<fixnum> max::<fixnum> texels) ::<int> ;; NB: does Scm_GLPxielDataSize work to pass height*depth as height? ;; need to think over it. (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width (* height depth) format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (result (gluBuild3DMipmapLevels target internalformat width height depth format type level base max texelptr)))) )) ;; if defined(GL_VERSION_1_2) ;;================================================================ ;; New function in GLU 1.1 ;; (define-cproc glu-get-string (name::<fixnum>) (let* ([p::(const GLubyte*) (gluGetString name)]) (if p (result (Scm_MakeString (cast (const char*) p) -1 -1 0)) (result SCM_FALSE)))) ;;================================================================ ;; Constants ;; ;; Normal vectors (define-enum GLU_SMOOTH) (define-enum GLU_FLAT) (define-enum GLU_NONE) ;; Quadric draw styles (define-enum GLU_POINT) (define-enum GLU_LINE) (define-enum GLU_FILL) (define-enum GLU_SILHOUETTE) ;; Quadric orientation (define-enum GLU_OUTSIDE) (define-enum GLU_INSIDE) ;; Tesselator (if "!defined(__CYGWIN__)" (begin (define-enum GLU_BEGIN) (define-enum GLU_VERTEX) (define-enum GLU_END) (define-enum GLU_ERROR) (define-enum GLU_EDGE_FLAG))) ;; Contour types (if "!defined(__CYGWIN__)" (begin (define-enum GLU_CW) (define-enum GLU_CCW) (define-enum GLU_INTERIOR) (define-enum GLU_EXTERIOR) (define-enum GLU_UNKNOWN))) ;; Tesselation errors (define-enum GLU_TESS_ERROR1) (define-enum GLU_TESS_ERROR2) (define-enum GLU_TESS_ERROR3) (define-enum GLU_TESS_ERROR4) (define-enum GLU_TESS_ERROR5) (define-enum GLU_TESS_ERROR6) (define-enum GLU_TESS_ERROR7) (define-enum GLU_TESS_ERROR8) ;(define-enum GLU_TESS_ERROR9) ;; NURBS (define-enum GLU_AUTO_LOAD_MATRIX) (define-enum GLU_CULLING) (define-enum GLU_PARAMETRIC_TOLERANCE) (define-enum GLU_SAMPLING_TOLERANCE) (define-enum GLU_DISPLAY_MODE) (define-enum GLU_SAMPLING_METHOD) (define-enum GLU_U_STEP) (define-enum GLU_V_STEP) (define-enum GLU_PATH_LENGTH) (define-enum GLU_PARAMETRIC_ERROR) (define-enum GLU_DOMAIN_DISTANCE) (define-enum GLU_MAP1_TRIM_2) (define-enum GLU_MAP1_TRIM_3) (define-enum GLU_OUTLINE_POLYGON) (define-enum GLU_OUTLINE_PATCH) (define-enum GLU_NURBS_ERROR1) (define-enum GLU_NURBS_ERROR2) (define-enum GLU_NURBS_ERROR3) (define-enum GLU_NURBS_ERROR4) (define-enum GLU_NURBS_ERROR5) (define-enum GLU_NURBS_ERROR6) (define-enum GLU_NURBS_ERROR7) (define-enum GLU_NURBS_ERROR8) (define-enum GLU_NURBS_ERROR9) (define-enum GLU_NURBS_ERROR10) (define-enum GLU_NURBS_ERROR11) (define-enum GLU_NURBS_ERROR12) (define-enum GLU_NURBS_ERROR13) (define-enum GLU_NURBS_ERROR14) (define-enum GLU_NURBS_ERROR15) (define-enum GLU_NURBS_ERROR16) (define-enum GLU_NURBS_ERROR17) (define-enum GLU_NURBS_ERROR18) (define-enum GLU_NURBS_ERROR19) (define-enum GLU_NURBS_ERROR20) (define-enum GLU_NURBS_ERROR21) (define-enum GLU_NURBS_ERROR22) (define-enum GLU_NURBS_ERROR23) (define-enum GLU_NURBS_ERROR24) (define-enum GLU_NURBS_ERROR25) (define-enum GLU_NURBS_ERROR26) (define-enum GLU_NURBS_ERROR27) (define-enum GLU_NURBS_ERROR28) (define-enum GLU_NURBS_ERROR29) (define-enum GLU_NURBS_ERROR30) (define-enum GLU_NURBS_ERROR31) (define-enum GLU_NURBS_ERROR32) (define-enum GLU_NURBS_ERROR33) (define-enum GLU_NURBS_ERROR34) (define-enum GLU_NURBS_ERROR35) (define-enum GLU_NURBS_ERROR36) (define-enum GLU_NURBS_ERROR37) ;; Errors (define-enum GLU_INVALID_ENUM) (define-enum GLU_INVALID_VALUE) (define-enum GLU_OUT_OF_MEMORY) (if "defined(GLU_INCOMPATIBLE_GL_VERSION)" (define-enum GLU_INCOMPATIBLE_GL_VERSION) ) ;; New in GLU 1.1 (define-enum GLU_VERSION) (define-enum GLU_EXTENSIONS) ;; Local variables: ;; mode: scheme ;; end: ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/math3d-lib.stub�������������������������������������������������������������������0000644�0000764�0000764�00000070031�12342246753�015640� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; math3d-lib.stub - 3d vector arithmetics ;;; ;;; Copyright (c) 2002-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; " #include <math.h> #include <gauche/uvector.h> #include \"gauche/math3d.h\" " (include "glcase.scm") (define-type <vector4f> "ScmVector4f*" #f "SCM_VECTOR4FP" "SCM_VECTOR4F") (define-type <vector4f-array> "ScmVector4fArray*" #f "SCM_VECTOR4F_ARRAY_P" "SCM_VECTOR4F_ARRAY") (define-type <point4f> "ScmPoint4f*" #f "SCM_POINT4FP" "SCM_POINT4F") (define-type <point4f-array> "ScmPoint4fArray*" #f "SCM_POINT4F_ARRAY_P" "SCM_POINT4F_ARRAY") (define-type <matrix4f> "ScmMatrix4f*" #f "SCM_MATRIX4FP" "SCM_MATRIX4F") (define-type <quatf> "ScmQuatf*" #f "SCM_QUATFP" "SCM_QUATF") (define-type <f32vector> "ScmF32Vector*") ;; Use it as (when (index-ok? i 0 3) ...do-something...), ;; although if it's not ok the macro throws an error instead of returning ;; false. (define-cise-expr index-ok? [(_ var min max) `(or (and (<= ,min ,var) (<= ,var ,max)) (begin (Scm_Error ,#`"index ,var out of range: %d" ,var) FALSE))]) (define-cise-expr index-ok/fallback? [(_ var min max fallback-var) `(or (and (<= ,min ,var) (<= ,var ,max)) (and (SCM_UNBOUNDP ,fallback-var) (begin (Scm_Error ,#`"index ,var out of range: %d" ,var) FALSE)) (begin (result ,fallback-var) FALSE))]) ;; Check the 'start' offset against the uniform vector vec. ;; Again, you can use it as (when (start-ok? ...) ...) but the failure ;; case throws an error instead of returning false. (define-cise-expr start-ok? [(_ start vec count) `(or (and (<= 0 ,start) (<= (+ ,start ,count) (SCM_UVECTOR_SIZE ,vec))) (begin (Scm_Error "uvector too small: %S (start=%d)" ,vec ,start) FALSE))]) ;;================================================================ ;; Vector4f ;; (define-cproc vector4f (x::<real> y::<real> z::<real> &optional (w::<real> 0.0)) Scm_MakeVector4f) (define-cproc vector4f? (obj) ::<boolean> SCM_VECTOR4FP) (define-cproc make-vector4f () (result (Scm_MakeVector4fv NULL))) (define-cproc list->vector4f (l::<list>) Scm_ListToVector4f) (define-cproc vector4f->list (v::<vector4f>) Scm_Vector4fToList) (define-cproc f32vector->vector4f (v::<f32vector> &optional (start::<fixnum> 0)) (when (start-ok? start v 4) (result (Scm_MakeVector4fv (+ (SCM_F32VECTOR_ELEMENTS v) start))))) (define-cproc vector4f->f32vector (v::<vector4f>) (result (Scm_MakeF32VectorFromArray 4 (SCM_VECTOR4F_D v)))) (define-cproc vector4f-copy (v::<vector4f>) (result (Scm_MakeVector4fv (SCM_VECTOR4F_D v)))) (define-cproc vector4f-copy! (dst::<vector4f> src::<vector4f>) (result (Scm_Vector4fSetv dst (SCM_VECTOR4F_D src)))) (define-cproc vector4f-set! (x::<vector4f> i::<fixnum> v::<real>) ::<void> (when (index-ok? i 0 3) (set! (aref (SCM_VECTOR4F_D x) i) v))) (define-cproc vector4f-ref (x::<vector4f> i::<fixnum> &optional fallback) (setter vector4f-set!) (when (index-ok/fallback? i 0 3 fallback) (result (Scm_MakeFlonum (SCM_VECTOR4F_REF x i))))) (define-cproc vector4f-dot (x::<vector4f> y::<vector4f>) ::<float> Scm_Vector4fDot) (define-cproc vector4f-cross (x::<vector4f> y::<vector4f>) Scm_Vector4fCross) (define-cproc vector4f-norm (v::<vector4f>) ::<real> (result (SCM_VECTOR4F_NORMV (SCM_VECTOR4F_D v)))) (define-cproc vector4f-normalize (x::<vector4f>) Scm_Vector4fNormalize) (define-cproc vector4f-normalize! (x::<vector4f>) Scm_Vector4fNormalizeX) (define-cproc vector4f-add (x::<vector4f> y::<vector4f>) Scm_Vector4fAdd) (define-cproc vector4f-add! (x::<vector4f> y::<vector4f>) (Scm_Vector4fAddv (SCM_VECTOR4F_D x) (SCM_VECTOR4F_D x) (SCM_VECTOR4F_D y)) (result (SCM_OBJ x))) (define-cproc vector4f-sub (x::<vector4f> y::<vector4f>) Scm_Vector4fSub) (define-cproc vector4f-sub! (x::<vector4f> y::<vector4f>) (Scm_Vector4fSubv (SCM_VECTOR4F_D x) (SCM_VECTOR4F_D x) (SCM_VECTOR4F_D y)) (result (SCM_OBJ x))) (define-cise-stmt vec4-eltwise [(_ stmts ...) (letrec ((replace (lambda (form i) (match form ['_ i] [(xs ...) (map (cut replace <> i) xs)] [_ form])))) `(begin ,@(append-map (lambda (stmt) (map (cute replace stmt <>) '(0 1 2 3))) stmts)))]) (define-cproc vector4f-mul (x::<vector4f> f::<real>) (let* ([r::(.array float (4))]) (vec4-eltwise (set! (aref r _) (* (SCM_VECTOR4F_REF x _) f))) (result (Scm_MakeVector4fv r)))) (define-cproc vector4f-mul! (x::<vector4f> f::<real>) (vec4-eltwise (set! (SCM_VECTOR4F_REF x _) (* (SCM_VECTOR4F_REF x _) f))) (result (SCM_OBJ x))) (define-cproc vector4f-div (x::<vector4f> f::<real>) (let* ([r::(.array float [4])]) (vec4-eltwise (set! (aref r _) (/ (SCM_VECTOR4F_REF x _) f))) (result (Scm_MakeVector4fv r)))) (define-cproc vector4f-div! (x::<vector4f> f::<real>) (vec4-eltwise (set! (SCM_VECTOR4F_REF x _) (/ (SCM_VECTOR4F_REF x _) f))) (result (SCM_OBJ x))) ;; VectorArray -------------------------------------------------- (define-cproc make-vector4f-array (len::<fixnum> &optional init) (when (< len 0) (Scm_Error "vector4f-array length must be positive: %d" len)) (cond [(SCM_VECTOR4FP init) (result (Scm_MakeVector4fArrayv len (SCM_VECTOR4F_D init)))] [(SCM_UNBOUNDP init) (result (Scm_MakeVector4fArrayv len NULL))] [else (Scm_Error "bad initializer for vector array: must be <vector4f>, but got %S" init)])) (define-cproc vector4f-array? (obj) ::<boolean> SCM_VECTOR4F_ARRAY_P) (define-cproc vector4f-array-length (v::<vector4f-array>) ::<fixnum> SCM_VECTOR4F_ARRAY_SIZE) (define-cproc f32vector->vector4f-array/shared (v::<f32vector>) Scm_MakeVector4fArrayV) (define-cproc vector4f-array->f32vector (a::<vector4f-array>) (result (Scm_MakeF32VectorFromArray (* (SCM_VECTOR4F_ARRAY_SIZE a) 4) (SCM_VECTOR4F_ARRAY_D a)))) (define-cproc vector4f-array-set! (a::<vector4f-array> i::<fixnum> x::<vector4f>) ::<void> Scm_Vector4fArraySet) (define-cproc vector4f-array-ref (a::<vector4f-array> i::<fixnum> &optional fallback) (setter vector4f-array-set!) Scm_Vector4fArrayRef) (define-cproc vector4f-array-ref/shared (a::<vector4f-array> i::<fixnum> &optional fallback) Scm_Vector4fArrayRefShared) ;; point4f ------------------------------------------------------ (define-cproc point4f (x::<real> y::<real> z::<real> &optional (w::<real> 1.0)) Scm_MakePoint4f) (define-cproc point4f? (obj) ::<boolean> SCM_POINT4FP) (define-cproc make-point4f () (result (Scm_MakePoint4fv NULL))) (define-cproc list->point4f (l::<list>) Scm_ListToPoint4f) (define-cproc point4f->list (x::<point4f>) Scm_Point4fToList) (define-cproc f32vector->point4f (v::<f32vector> &optional (start::<fixnum> 0)) (when (start-ok? start v 4) (result (Scm_MakePoint4fv (+ (SCM_F32VECTOR_ELEMENTS v) start))))) (define-cproc point4f->f32vector (v::<point4f>) (result (Scm_MakeF32VectorFromArray 4 (SCM_POINT4F_D v)))) (define-cproc point4f-copy (v::<point4f>) (result (Scm_MakePoint4fv (SCM_POINT4F_D v)))) (define-cproc point4f-copy! (dst::<point4f> src::<point4f>) (result (Scm_Point4fSetv dst (SCM_POINT4F_D src)))) (define-cproc point4f-set! (x::<point4f> i::<fixnum> v::<real>) ::<void> (when (index-ok? i 0 3) (set! (aref (SCM_POINT4F_D x) i) v))) (define-cproc point4f-ref (x::<point4f> i::<fixnum>) (setter point4f-set!) (when (index-ok? i 0 3) (result (Scm_MakeFlonum (SCM_POINT4F_REF x i))))) (define-cproc point4f-add (x::<point4f> y::<vector4f>) Scm_Point4fAdd) (define-cproc point4f-add! (x::<point4f> y::<vector4f>) (Scm_Vector4fAddv (SCM_POINT4F_D x) (SCM_POINT4F_D x) (SCM_VECTOR4F_D y)) (result (SCM_OBJ x))) (define-cproc point4f-sub (x::<point4f> y) Scm_Point4fSub) ;point4f-sub! ;; Point4fArray --------------------------------------------------- (define-cproc make-point4f-array (len::<fixnum> &optional init) (when (< len 0) (Scm_Error "point4f-array length must be positive: %d" len)) (cond [(SCM_POINT4FP init) (result (Scm_MakePoint4fArrayv len (SCM_POINT4F_D init)))] [(SCM_UNBOUNDP init) (result (Scm_MakePoint4fArrayv len NULL))] [else (Scm_Error "bad initializer for point array: must be <point4f>, but got %S" init)])) (define-cproc point4f-array? (obj) ::<boolean> SCM_POINT4F_ARRAY_P) (define-cproc point4f-array-length (v::<point4f-array>)::<fixnum> SCM_POINT4F_ARRAY_SIZE) (define-cproc f32vector->point4f-array/shared (v::<f32vector>) Scm_MakePoint4fArrayV) (define-cproc point4f-array->f32vector (a::<point4f-array>) (result (Scm_MakeF32VectorFromArray (* (SCM_POINT4F_ARRAY_SIZE a) 4) (SCM_POINT4F_ARRAY_D a)))) (define-cproc point4f-array-set! (a::<point4f-array> i::<fixnum> x::<point4f>) ::<void> Scm_Point4fArraySet) (define-cproc point4f-array-ref (a::<point4f-array> i::<fixnum> &optional fallback) (setter point4f-array-set!) Scm_Point4fArrayRef) (define-cproc point4f-array-ref/shared (a::<point4f-array> i::<fixnum> &optional fallback) Scm_Point4fArrayRefShared) ;; Matrix4f ------------------------------------------------------- "static float matrix4f_unit[] = { 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 };" (define-cproc make-matrix4f (&optional init) (if (SCM_UNBOUNDP init) (result (Scm_MakeMatrix4fv matrix4f_unit)) (begin (assert-vector-type&size f32 16 init) (result (Scm_MakeMatrix4fv (SCM_F32VECTOR_ELEMENTS init)))))) (define-cproc matrix4f (&rest args) Scm_ListToMatrix4f) (define-cproc matrix4f? (obj)::<boolean> SCM_MATRIX4FP) (define-cproc list->matrix4f (l::<list>) Scm_ListToMatrix4f) (define-cproc matrix4f->list (m::<matrix4f>) Scm_Matrix4fToList) (define-cproc f32vector->matrix4f (v::<f32vector> &optional (start::<fixnum> 0)) (when (start-ok? start v 16) (result (Scm_MakeMatrix4fv (+ (SCM_F32VECTOR_ELEMENTS v) start))))) (define-cproc f32vector->matrix4f! (m::<matrix4f> v::<f32vector> &optional (start::<fixnum> 0)) (when (start-ok? start v 16) (Scm_Matrix4fSetv m (+ (SCM_F32VECTOR_ELEMENTS v) start)) (result (SCM_OBJ m)))) (define-cproc matrix4f->f32vector (m::<matrix4f>) (result (Scm_MakeF32VectorFromArray 16 (SCM_MATRIX4F_D m)))) (define-cproc matrix4f-copy (m::<matrix4f>) (result (Scm_MakeMatrix4fv (SCM_MATRIX4F_D m)))) (define-cproc matrix4f-copy! (dst::<matrix4f> src::<matrix4f>) (result (Scm_Matrix4fSetv dst (SCM_MATRIX4F_D src)))) (define-cproc matrix4f-mul (p::<matrix4f> q) (cond [(SCM_MATRIX4FP q) (result (Scm_Matrix4fMulMatrix4f p (SCM_MATRIX4F q)))] [(SCM_VECTOR4FP q) (result (Scm_Matrix4fMulVector4f p (SCM_VECTOR4F q)))] [(SCM_POINT4FP q) (result (Scm_Matrix4fMulPoint4f p (SCM_POINT4F q)))] [(SCM_REALP q) (result (Scm_Matrix4fScale p (Scm_GetDouble q)))] [else (Scm_Error "bad object, matrix4f, vector4f, point4f or real number required, but got %S" q)])) (define-cproc matrix4f-mul! (p::<matrix4f> q::<matrix4f>) (let* ([r::(.array float (16))]) (Scm_Matrix4fMulMatrix4fv r (SCM_MATRIX4F_D p) (SCM_MATRIX4F_D q)) (Scm_Matrix4fSetv p r) (result (SCM_OBJ p)))) (define-cproc matrix4f-transpose (m::<matrix4f>) (let* ([r::(.array float (16))]) (Scm_Matrix4fTransposev r (SCM_MATRIX4F_D m)) (result (Scm_MakeMatrix4fv r)))) (define-cproc matrix4f-transpose! (m::<matrix4f>) (let* ([r::(.array float (16))] [p::float* (SCM_MATRIX4F_D m)]) (Scm_Matrix4fTransposev r p) (Scm_Matrix4fSetv m r) (result (SCM_OBJ m)))) (define-cproc matrix4f-set! (m::<matrix4f> i::<fixnum> v::<real>) ::<void> (when (index-ok? i 0 15) (set! (aref (SCM_MATRIX4F_D m) i) v))) (define-cproc matrix4f-ref (m::<matrix4f> i::<fixnum> &optional fallback) (setter matrix4f-set!) (when (index-ok/fallback? i 0 15 fallback) (result (Scm_MakeFlonum (aref (SCM_MATRIX4F_D m) i))))) (define-cproc matrix4f-set2! (m::<matrix4f> i::<fixnum> j::<fixnum> v::<real>) ::<void> (when (index-ok? i 0 3) (when (index-ok? j 0 3) (SCM_MATRIX4F_SET m i j v)))) (define-cproc matrix4f-ref2 (m::<matrix4f> i::<fixnum> j::<fixnum>) ::<float> (setter matrix4f-set2!) (when (index-ok? i 0 3) (when (index-ok? j 0 3) (result (SCM_MATRIX4F_REF m i j))))) (define-cproc matrix4f-row (m::<matrix4f> i::<fixnum>) (setter (m::<matrix4f> i::<fixnum> v) ::<void> (when (index-ok? i 0 3) (let* ([fv::float*]) (SCM_MATH3D_X4FP fv v) (SCM_MATRIX4F_SET m i 0 (aref fv 0)) (SCM_MATRIX4F_SET m i 1 (aref fv 1)) (SCM_MATRIX4F_SET m i 2 (aref fv 2)) (SCM_MATRIX4F_SET m i 3 (aref fv 3))))) (when (index-ok? i 0 3) (result (Scm_MakeVector4f (SCM_MATRIX4F_REF m i 0) (SCM_MATRIX4F_REF m i 1) (SCM_MATRIX4F_REF m i 2) (SCM_MATRIX4F_REF m i 3))))) (define-cproc matrix4f-column (m::<matrix4f> i::<fixnum>) (setter (m::<matrix4f> i::<fixnum> v) ::<void> (when (index-ok? i 0 3) (let* ([fv::float*]) (SCM_MATH3D_X4FP fv v) (SCM_MATRIX4F_SET m 0 i (aref fv 0)) (SCM_MATRIX4F_SET m 1 i (aref fv 1)) (SCM_MATRIX4F_SET m 2 i (aref fv 2)) (SCM_MATRIX4F_SET m 3 i (aref fv 3))))) (when (index-ok? i 0 3) (result (Scm_MakeVector4fv (SCM_MATRIX4F_COLVEC m i))))) (define-cproc matrix4f-column/shared (m::<matrix4f> i::<fixnum>) (when (index-ok? i 0 3) (result (Scm_MakeVector4fvShared (SCM_MATRIX4F_COLVEC m i))))) ;; determinant and inverse (define-cproc matrix4f-determinant (m::<matrix4f>) ::<double> (result (Scm_Matrix4fDeterminantv (SCM_MATRIX4F_D m)))) (define-cproc matrix4f-inverse (m::<matrix4f> &optional (error-on-singular #t)) (let* ([r (Scm_MakeMatrix4fv NULL)] [code::int (Scm_Matrix4fInversev (SCM_MATRIX4F_D r) (SCM_MATRIX4F_D m))]) (when (and (not code) (not (SCM_FALSEP error-on-singular))) (Scm_Error "attempt to inverse singular matrix: %S" m)) (result (?: code r SCM_FALSE)))) (define-cproc matrix4f-inverse! (m::<matrix4f> &optional (error-on-singular #t)) (let* ([r::(.array float (16))] [code::int (Scm_Matrix4fInversev r (SCM_MATRIX4F_D m))]) (when (and (not code) (not (SCM_FALSEP error-on-singular))) (Scm_Error "attempt to inverse singular matrix: %S" m)) (cond [code (dotimes [i 16] (set! (aref (SCM_MATRIX4F_D m) i) (aref r i))) (result (SCM_OBJ m))] [else (result '#f)]))) ;; basic transformation (define-cproc translation->matrix4f (t) (let* ([r::(.array float [16])] [p::float*]) (SCM_MATH3D_X3FP p t) (Scm_TranslationToMatrix4fv r p) (result (Scm_MakeMatrix4fv r)))) (define-cproc translation->matrix4f! (m::<matrix4f> t) (let* ([p::float*]) (SCM_MATH3D_X3FP p t) (Scm_TranslationToMatrix4fv (SCM_MATRIX4F_D m) p) (result (SCM_OBJ m)))) (define-cproc rotation->matrix4f (v angle::<real>) (let* ([r::(.array float [16])] [p::float*]) (SCM_MATH3D_X3FP p v) (Scm_RotationToMatrix4fv r p angle) (result (Scm_MakeMatrix4fv r)))) (define-cproc rotation->matrix4f! (m::<matrix4f> v angle::<real>) (let* ([p::float*]) (SCM_MATH3D_X3FP p v) (Scm_RotationToMatrix4fv (SCM_MATRIX4F_D m) p angle) (result (SCM_OBJ m)))) (define-cproc scale->matrix4f (s) (let* ([r::(.array float[16])] [p::float* NULL]) (SCM_MATH3D_X3FP p s) (Scm_ScaleToMatrix4fv r p) (result (Scm_MakeMatrix4fv r)))) (define-cproc scale->matrix4f! (m::<matrix4f> s) (let* ([p::float*]) (SCM_MATH3D_X3FP p s) (Scm_ScaleToMatrix4fv (SCM_MATRIX4F_D m) p) (result (SCM_OBJ m)))) (define-cproc trs->matrix4f (t v angle::<real> s) (let* ([r::(.array float [16])] [pt::float*] [pv::float*] [ps::float*]) (SCM_MATH3D_X3FP pt t) (SCM_MATH3D_X3FP pv v) (SCM_MATH3D_X3FP ps s) (Scm_TRSToMatrix4fv r pt pv angle ps) (result (Scm_MakeMatrix4fv r)))) (define-cproc trs->matrix4f! (m::<matrix4f> t v angle::<real> s) (let* ([pt::float*] [pv::float*] [ps::float*]) (SCM_MATH3D_X3FP pt t) (SCM_MATH3D_X3FP pv v) (SCM_MATH3D_X3FP ps s) (Scm_TRSToMatrix4fv (SCM_MATRIX4F_D m) pt pv angle ps) (result (SCM_OBJ m)))) (define-cproc tqs->matrix4f (t q s) (let* ([r::(.array float [16])] [pt::float*] [pq::float*] [ps::float*]) (SCM_MATH3D_X3FP pt t) (SCM_MATH3D_X4FP pq q) (SCM_MATH3D_X3FP ps s) (Scm_TQSToMatrix4fv r pt pq ps) (result (Scm_MakeMatrix4fv r)))) (define-cproc tqs->matrix4f! (m::<matrix4f> t q s) (let* ([pt::float*] [pq::float*] [ps::float*]) (SCM_MATH3D_X3FP pt t) (SCM_MATH3D_X4FP pq q) (SCM_MATH3D_X3FP ps s) (Scm_TQSToMatrix4fv (SCM_MATRIX4F_D m) pt pq ps) (result (SCM_OBJ m)))) (define-cfn rotation-order (sym) ::int (cond [(SCM_UNBOUNDP sym) (return SCM_MATH3D_ROTATE_XYZ)] ;; default [(SCM_EQ sym 'xyz) (return SCM_MATH3D_ROTATE_XYZ)] [(SCM_EQ sym 'xzy) (return SCM_MATH3D_ROTATE_XZY)] [(SCM_EQ sym 'yzx) (return SCM_MATH3D_ROTATE_YZX)] [(SCM_EQ sym 'yxz) (return SCM_MATH3D_ROTATE_YXZ)] [(SCM_EQ sym 'zxy) (return SCM_MATH3D_ROTATE_ZXY)] [(SCM_EQ sym 'zyx) (return SCM_MATH3D_ROTATE_ZYX)] [else (Scm_Error "bad rotation order: must be either one of xyz, xzy, yzx, yxz, zxy, or zyx, but got %S" sym) (return 0)])) ;dummy (define-cproc euler-angle->matrix4f (x::<real> y::<real> z::<real> &optional order) (let* ([m::(.array float[16])]) (Scm_EulerToMatrix4fv m x y z (rotation_order order)) (result (Scm_MakeMatrix4fv m)))) (define-cproc euler-angle->matrix4f! (m::<matrix4f> x::<real> y::<real> z::<real> &optional order) ::<void> (Scm_EulerToMatrix4fv (SCM_MATRIX4F_D m) x y z (rotation_order order))) (define-cproc matrix4f-decompose (m::<matrix4f>) ::(<boolean> <top> <top> <top> <top>) (let* ([T::(.array float[4])] [S::(.array float[4])] [H::(.array float[4])] [R::(.array float[16])] [r::int (Scm_Matrix4fDecomposev (SCM_MATRIX4F_D m) T R H S)]) ;; NB: This should be ;; (result r (Scm_MakeVector4fv T) (Scm_MakeMatrix4fv R) ;; (Scm_MakeVector4fv H) (Scm_MakeVector4fv S)))) ;; but 0.9.3.3's cise doesn't support this many return values. (set! SCM_RESULT0 r SCM_RESULT1 (Scm_MakeVector4fv T) SCM_RESULT2 (Scm_MakeMatrix4fv R) SCM_RESULT3 (Scm_MakeVector4fv H) SCM_RESULT4 (Scm_MakeVector4fv S)))) (define-cproc matrix4f-decompose! (m::<matrix4f> T::<vector4f> R::<matrix4f> H::<vector4f> S::<vector4f>) ::<boolean> (result (Scm_Matrix4fDecomposev (SCM_MATRIX4F_D m) (SCM_VECTOR4F_D T) (SCM_MATRIX4F_D R) (SCM_VECTOR4F_D H) (SCM_VECTOR4F_D S)))) (define-cproc matrix4f->translation (m::<matrix4f>) (result (Scm_MakeVector4f (aref (SCM_MATRIX4F_D m) 12) (aref (SCM_MATRIX4F_D m) 13) (aref (SCM_MATRIX4F_D m) 14) 0.0))) (define-cproc matrix4f->translation! (v::<vector4f> m::<matrix4f>) (set! (SCM_VECTOR4F_REF v 0) (aref (SCM_MATRIX4F_D m) 12)) (set! (SCM_VECTOR4F_REF v 1) (aref (SCM_MATRIX4F_D m) 13)) (set! (SCM_VECTOR4F_REF v 2) (aref (SCM_MATRIX4F_D m) 14)) (set! (SCM_VECTOR4F_REF v 3) 0.0) (result (SCM_OBJ v))) (define-cproc matrix4f->rotation (m::<matrix4f>) ::(<top> <double>) (let* ([v::(.array float[4])] [angle::float (Scm_Matrix4fToRotationv (SCM_MATRIX4F_D m) v)]) (result (Scm_MakeVector4fv v) angle))) (define-cproc matrix4f->rotation! (v::<vector4f> m::<matrix4f>) ::(<top> <double>) (let* ([angle::float (Scm_Matrix4fToRotationv (SCM_MATRIX4F_D m) (SCM_VECTOR4F_D v))]) (result (SCM_OBJ v) angle))) ;; Quatf ---------------------------------------------------- (define-cproc quatf (x::<real> y::<real> z::<real> w::<real>) Scm_MakeQuatf) (define-cproc quatf? (obj) ::<boolean> SCM_QUATFP) (define-cproc make-quatf (&optional vec (angle::<real> 0)) (if (SCM_UNBOUNDP vec) (result (Scm_MakeQuatf 0.0 0.0 0.0 1.0)) (let* ([q::float*]) (SCM_MATH3D_X3FP q vec) (let* ([sint::double (sin (/ angle 2.0))] [cost::double (cos (/ angle 2.0))]) (result (Scm_MakeQuatf (* sint (aref q 0)) (* sint (aref q 1)) (* sint (aref q 2)) cost)))))) (define-cproc list->quatf (x) Scm_ListToQuatf) (define-cproc quatf->list (q::<quatf>) Scm_QuatfToList) (define-cproc f32vector->quatf (x::<f32vector> &optional (start::<fixnum> 0)) (when (start-ok? start x 4) (result (Scm_MakeQuatfv (+ (SCM_F32VECTOR_ELEMENTS x) start))))) (define-cproc quatf->f32vector (q::<quatf>) (result (Scm_MakeF32VectorFromArray 4 (SCM_QUATF_D q)))) (define-cproc quatf-copy (q::<quatf>) (result (Scm_MakeQuatfv (SCM_QUATF_D q)))) (define-cproc quatf-copy! (dst::<quatf> src::<quatf>) (result (Scm_QuatfSetv dst (SCM_QUATF_D src)))) (define-cproc quatf-ref (q::<quatf> i::<fixnum> &optional fallback) (when (index-ok/fallback? i 0 3 fallback) (result (Scm_MakeFlonum (aref (SCM_QUATF_D q) i))))) (define-cproc quatf-set! (q::<quatf> i::<fixnum> val::<real>) (when (index-ok? i 0 3) (set! (aref (SCM_QUATF_D q) i) (cast float val)) (result (SCM_OBJ q)))) (define-cproc quatf-set4! (q::<quatf> x::<real> y::<real> z::<real> w::<real>) (set! (aref (SCM_QUATF_D q) 0) x (aref (SCM_QUATF_D q) 1) y (aref (SCM_QUATF_D q) 2) z (aref (SCM_QUATF_D q) 3) w) (result (SCM_OBJ q))) (define-cproc rotation->quatf! (q::<quatf> v angle::<real>) (let* ([qv::float* (SCM_QUATF_D q)] [vv::float*]) (SCM_MATH3D_X3FP vv v) (let* ([sint::double (sin (/ angle 2.0))] [cost::double (cos (/ angle 2.0))]) (set! (aref qv 0) (* sint (aref vv 0))) (set! (aref qv 1) (* sint (aref vv 1))) (set! (aref qv 2) (* sint (aref vv 2))) (set! (aref qv 3) cost))) (result (SCM_OBJ q))) (define-cproc quatf-add (p::<quatf> q::<quatf>) Scm_QuatfAdd) (define-cproc quatf-add! (p::<quatf> q::<quatf>) (let* ([r::(.array float [4])]) (Scm_QuatfAddv r (SCM_QUATF_D p) (SCM_QUATF_D q)) (result (Scm_QuatfSetv p r)))) (define-cproc quatf-sub (p::<quatf> q::<quatf>) Scm_QuatfSub) (define-cproc quatf-sub! (p::<quatf> q::<quatf>) (let* ([r::(.array float [4])]) (Scm_QuatfSubv r (SCM_QUATF_D p) (SCM_QUATF_D q)) (result (Scm_QuatfSetv p r)))) (define-cproc quatf-scale (q::<quatf> s::<real>) (let* ([d::float* (SCM_QUATF_D q)]) (when (== s 0.0) (Scm_Error "divide by zero")) (result (Scm_MakeQuatf (/ (aref d 0) s) (/ (aref d 1) s) (/ (aref d 2) s) (/ (aref d 3) s))))) (define-cproc quatf-scale! (q::<quatf> s::<real>) (let* ([d::float* (SCM_QUATF_D q)]) (when (== s 0.0) (Scm_Error "divide by zero")) (dotimes [i 4] (/= (aref d i) s)) (result (SCM_OBJ q)))) (define-cproc quatf-mul (p::<quatf> q::<quatf>) Scm_QuatfMul) (define-cproc quatf-mul! (p::<quatf> q::<quatf>) (let* ([r::(.array float [4])]) (Scm_QuatfMulv r (SCM_QUATF_D p) (SCM_QUATF_D q)) (result (Scm_QuatfSetv p r)))) ;; calculate qpq* (define-cproc quatf-transform (quat::<quatf> v) (let* ([d::float*] [r::(.array float [4])]) (SCM_MATH3D_X4FP d v) (Scm_QuatfTransformv r (SCM_QUATF_D quat) d) (cond [(SCM_VECTOR4FP v) (result (Scm_MakeVector4fv r))] [(SCM_POINT4FP v) (result (Scm_MakePoint4fv r))] [else (result (Scm_MakeF32VectorFromArray 4 r))]))) (define-cproc quatf-conjugate (q::<quatf>) (let* ([d::float* (SCM_QUATF_D q)]) (result (Scm_MakeQuatf (- (aref d 0)) (- (aref d 1)) (- (aref d 2)) (aref d 3))))) (define-cproc quatf-conjugate! (q::<quatf> p::<quatf>) (let* ([s::float* (SCM_QUATF_D p)] [d::float* (SCM_QUATF_D q)]) (SCM_QUATF_CONJUGATEV d s) (result (SCM_OBJ q)))) (define-cproc quatf-norm (q::<quatf>) (result (Scm_MakeFlonum (SCM_QUATF_NORMV (SCM_QUATF_D q))))) (define-cproc quatf-normalize (q::<quatf>) Scm_QuatfNormalize) (define-cproc quatf-normalize! (q::<quatf>) Scm_QuatfNormalizeX) (define-cproc quatf->matrix4f (q::<quatf>) (let* ([m::(.array float [16])]) (Scm_QuatfToMatrix4fv m (SCM_QUATF_D q)) (result (Scm_MakeMatrix4fv m)))) (define-cproc quatf->matrix4f! (m::<matrix4f> q::<quatf>) (Scm_QuatfToMatrix4fv (SCM_MATRIX4F_D m) (SCM_QUATF_D q)) (result (SCM_OBJ m))) (define-cproc matrix4f->quatf (m::<matrix4f>) (let* ([q::(.array float [4])]) (Scm_Matrix4fToQuatfv q (SCM_MATRIX4F_D m)) (result (Scm_MakeQuatfv q)))) (define-cproc matrix4f->quatf! (q::<quatf> m::<matrix4f>) (Scm_Matrix4fToQuatfv (SCM_QUATF_D q) (SCM_MATRIX4F_D m)) (result (SCM_OBJ q))) (define-cproc quatf-slerp (p::<quatf> q::<quatf> t::<real>) (let* ([r::(.array float [4])]) (Scm_QuatfSlerp r (SCM_QUATF_D p) (SCM_QUATF_D q) t) (result (Scm_MakeQuatfv r)))) (define-cproc quatf-slerp! (r::<quatf> p::<quatf> q::<quatf> t::<real>) (Scm_QuatfSlerp (SCM_QUATF_D r) (SCM_QUATF_D p) (SCM_QUATF_D q) t) (result (SCM_OBJ r))) (define-cproc vectors->quatf (v::<vector4f> w::<vector4f>) (let* ([r::(.array float [4])]) (Scm_VectorsToQuatfv r (SCM_VECTOR4F_D v) (SCM_VECTOR4F_D w)) (result (Scm_MakeQuatfv r)))) (define-cproc vectors->quatf! (q::<quatf> v::<vector4f> w::<vector4f>) (Scm_VectorsToQuatfv (SCM_QUATF_D q) (SCM_VECTOR4F_D v) (SCM_VECTOR4F_D w)) (result (SCM_OBJ q))) (define-cproc axes->quatf (v1::<vector4f> v2::<vector4f> w1::<vector4f> w2::<vector4f>) (let* ([r::(.array float [4])]) (Scm_AxesToQuatfv r (SCM_VECTOR4F_D v1) (SCM_VECTOR4F_D v2) (SCM_VECTOR4F_D w1) (SCM_VECTOR4F_D w2)) (result (Scm_MakeQuatfv r)))) (define-cproc axes->quatf! (q::<quatf> v1::<vector4f> v2::<vector4f> w1::<vector4f> w2::<vector4f>) (Scm_AxesToQuatfv (SCM_QUATF_D q) (SCM_VECTOR4F_D v1) (SCM_VECTOR4F_D v2) (SCM_VECTOR4F_D w1) (SCM_VECTOR4F_D w2)) (result (SCM_OBJ q))) ;; Local variables: ;; mode: scheme ;; end: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gauche/���������������������������������������������������������������������������0000755�0000764�0000764�00000000000�12342246752�014247� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gauche/math3d.h�������������������������������������������������������������������0000644�0000764�0000764�00000044046�12342246752�015610� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * gauche/math3d.h - 3D vector and matrix arithmetic * * Copyright (c) 2002-2014 Shiro Kawai <shiro@acm.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 3. Neither the name of the authors nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Vector and matrix arithmetics, specialized for 3D graphics calculation. */ #ifndef GAUCHE_MATH3D_H #define GAUCHE_MATH3D_H #include <gauche.h> #include <gauche/uvector.h> #include <math.h> /*============================================================= * Common utility macros */ /* vector operation */ #define SCM_VECTOR4F_OP(var, expr) \ do { \ int var; \ var = 0; { expr; } \ var = 1; { expr; } \ var = 2; { expr; } \ var = 3; { expr; } \ } while (0) /* Check the given ScmObj val can be accepted as triple or quadraple of floats. If so, sets ptr to the pointer to the floats. Otherwise, report an error. */ #define SCM_MATH3D_X3FP(ptr, val) \ do { \ if (SCM_VECTOR4FP(val)) \ (ptr) = SCM_VECTOR4F_D(val); \ else if (SCM_POINT4FP(val)) \ (ptr) = SCM_POINT4F_D(val); \ else if (SCM_F32VECTORP(val) && SCM_F32VECTOR_SIZE(val) >= 3) \ (ptr) = SCM_F32VECTOR_ELEMENTS(val); \ else { \ Scm_Error("vector4f, point4f or f32vector required," \ " but got %S", val); \ (ptr) = NULL; \ } \ } while (0) #define SCM_MATH3D_X4FP(ptr, val) \ do { \ if (SCM_VECTOR4FP(val)) \ (ptr) = SCM_VECTOR4F_D(val); \ else if (SCM_POINT4FP(val)) \ (ptr) = SCM_POINT4F_D(val); \ else if (SCM_QUATFP(val)) \ (ptr) = SCM_QUATF_D(val); \ else if (SCM_F32VECTORP(val) && SCM_F32VECTOR_SIZE(val) >= 4) \ (ptr) = SCM_F32VECTOR_ELEMENTS(val); \ else { \ Scm_Error("vector4f, point4f, quatf or f32vector required," \ " but got %S", val); \ (ptr) = NULL; \ } \ } while (0) #define SCM_MATH3D_X16FP(ptr, val) \ do { \ if (SCM_MATRIX4FP(val)) \ (ptr) = SCM_MATRIX4F_D(val); \ else if (SCM_F64VECTORP(val) && SCM_F64VECTOR_SIZE(val) >= 16) \ (ptr) = SCM_F64VECTOR_ELEMENTS(val); \ else { \ Scm_Error("matrix4f or f32vector of length 16 required," \ " but got %S", val); \ (ptr) = NULL; \ } \ } while (0) /* Rotation order, used in Euler->rotation conversion */ enum { SCM_MATH3D_ROTATE_XYZ, SCM_MATH3D_ROTATE_XZY, SCM_MATH3D_ROTATE_YZX, SCM_MATH3D_ROTATE_YXZ, SCM_MATH3D_ROTATE_ZXY, SCM_MATH3D_ROTATE_ZYX }; /*============================================================= * 3D Vector (homogeneous coordinates) */ typedef struct ScmVector4fRec { SCM_HEADER; float *v; } ScmVector4f; SCM_CLASS_DECL(Scm_Vector4fClass); #define SCM_CLASS_VECTOR4F (&Scm_Vector4fClass) #define SCM_VECTOR4FP(obj) SCM_XTYPEP(obj, SCM_CLASS_VECTOR4F) #define SCM_VECTOR4F(obj) ((ScmVector4f*)(obj)) #define SCM_VECTOR4F_D(obj) (SCM_VECTOR4F(obj)->v) #define SCM_VECTOR4F_REF(obj, i) (SCM_VECTOR4F_D(obj)[i]) extern ScmObj Scm_MakeVector4fv(const float d[]); extern ScmObj Scm_MakeVector4fvShared(float d[]); extern ScmObj Scm_MakeVector4f(float x, float y, float z, float w); extern ScmObj Scm_Vector4fSetv(ScmVector4f *v, float *d); extern ScmObj Scm_ListToVector4f(ScmObj l); extern ScmObj Scm_Vector4fToList(const ScmVector4f *v); /* SCM_VECTOR4F_DOT(float p[4], float q[4]) */ #define SCM_VECTOR4F_DOTV(p, q) (p[0]*q[0]+p[1]*q[1]+p[2]*q[2]+p[3]*q[3]) /* SCM_VECTOR4F_CROSS(float r[4], float p[4], float q[4]); r <- p x q */ #define SCM_VECTOR4F_CROSSV(r, p, q) \ (r[0] = p[1]*q[2]-p[2]*q[1], \ r[1] = p[2]*q[0]-p[0]*q[2], \ r[2] = p[0]*q[1]-p[1]*q[0], \ r[3] = 0.0) /* SCM_VECTOR4F_NORMV(float p[4]) */ #define SCM_VECTOR4F_NORMV(p) sqrtf(SCM_VECTOR4F_DOTV(p, p)) /* SCM_VECTOR4F_NORMALIZE(float p[4]) */ #define SCM_VECTOR4F_NORMALIZEV(p) \ do { \ float siz__ = SCM_VECTOR4F_NORMV(p); \ if (siz__ != 0.0) { \ SCM_VECTOR4F_OP(i__, p[i__] /= siz__); \ } \ } while (0) /* SCM_VECTOR4F_ADD(float r[4], p[4], q[4]) */ #define SCM_VECTOR4F_ADDV(r, p, q) \ SCM_VECTOR4F_OP(i__, r[i__] = p[i__] + q[i__]) /* SCM_VECTOR4F_SUB(float r[4], p[4], q[4]) */ #define SCM_VECTOR4F_SUBV(r, p, q) \ SCM_VECTOR4F_OP(i__, r[i__] = p[i__] - q[i__]) extern float Scm_Vector4fDot(const ScmVector4f *p, const ScmVector4f *q); extern float Scm_Vector4fDotv(const float *p, const float *q); extern ScmObj Scm_Vector4fCross(const ScmVector4f *p, const ScmVector4f *q); extern void Scm_Vector4fCrossv(float *r, const float *p, const float *q); extern ScmObj Scm_Vector4fNormalize(const ScmVector4f *p); extern void Scm_Vector4fNormalizev(float *p); extern ScmObj Scm_Vector4fNormalizeX(ScmVector4f *p); extern ScmObj Scm_Vector4fAdd(const ScmVector4f *p, const ScmVector4f *q); extern void Scm_Vector4fAddv(float *r, const float *p, const float *q); extern ScmObj Scm_Vector4fSub(const ScmVector4f *p, const ScmVector4f *q); extern void Scm_Vector4fSubv(float *r, const float *p, const float *q); /*============================================================= * VectorArray */ typedef struct ScmVector4fArrayRec { SCM_HEADER; int size; /* # of vectors */ float *v; } ScmVector4fArray; SCM_CLASS_DECL(Scm_Vector4fArrayClass); #define SCM_CLASS_VECTOR4F_ARRAY (&Scm_Vector4fArrayClass) #define SCM_VECTOR4F_ARRAY_P(obj) SCM_XTYPEP(obj, SCM_CLASS_VECTOR4F_ARRAY) #define SCM_VECTOR4F_ARRAY(obj) ((ScmVector4fArray*)(obj)) #define SCM_VECTOR4F_ARRAY_SIZE(obj) (SCM_VECTOR4F_ARRAY(obj)->size) #define SCM_VECTOR4F_ARRAY_D(obj) (SCM_VECTOR4F_ARRAY(obj)->v) extern ScmObj Scm_MakeVector4fArrayv(int nvecs, const float *init); extern ScmObj Scm_MakeVector4fArrayV(ScmF32Vector *src); #define SCM_VECTOR4F_ARRAY_REFV(obj, n) (&(SCM_VECTOR4F_ARRAY_D(obj)[(n)*4])) #define SCM_VECTOR4F_ARRAY_SET(obj, n, x, y, z, w) \ (SCM_VECTOR4F_ARRAY_D(obj)[(n)*4] = (x), \ SCM_VECTOR4F_ARRAY_D(obj)[(n)*4+1] = (y), \ SCM_VECTOR4F_ARRAY_D(obj)[(n)*4+2] = (z), \ SCM_VECTOR4F_ARRAY_D(obj)[(n)*4+3] = (w)) extern ScmObj Scm_Vector4fArrayRef(const ScmVector4fArray *obj, int n, ScmObj fallback); extern ScmObj Scm_Vector4fArrayRefShared(ScmVector4fArray *obj, int n, ScmObj fallback); extern float *Scm_Vector4fArrayRefv(ScmVector4fArray *obj, int n); extern void Scm_Vector4fArraySet(ScmVector4fArray *obj, int n, ScmVector4f *v); extern void Scm_Vector4fArraySetv(ScmVector4fArray *obj, int n, float d[]); /*============================================================= * Point is really a vector, with w = 1.0 by default */ typedef ScmVector4f ScmPoint4f; SCM_CLASS_DECL(Scm_Point4fClass); #define SCM_CLASS_POINT4F (&Scm_Point4fClass) #define SCM_POINT4FP(obj) SCM_XTYPEP(obj, SCM_CLASS_POINT4F) #define SCM_POINT4F(obj) ((ScmPoint4f*)(obj)) #define SCM_POINT4F_D(obj) (SCM_POINT4F(obj)->v) #define SCM_POINT4F_REF(obj, i) (SCM_POINT4F_D(obj)[i]) extern ScmObj Scm_MakePoint4f(float x, float y, float z, float w); extern ScmObj Scm_MakePoint4fv(const float d[]); extern ScmObj Scm_MakePoint4fvShared(float d[]); extern ScmObj Scm_Point4fSetv(ScmPoint4f *v, float *d); extern ScmObj Scm_ListToPoint4f(ScmObj l); extern ScmObj Scm_Point4fToList(const ScmPoint4f *p); extern ScmObj Scm_Point4fAdd(const ScmPoint4f *p, const ScmVector4f *q); extern ScmObj Scm_Point4fSub(const ScmPoint4f *p, const ScmObj q); /*============================================================= * PointArray */ typedef ScmVector4fArray ScmPoint4fArray; SCM_CLASS_DECL(Scm_Point4fArrayClass); #define SCM_CLASS_POINT4F_ARRAY (&Scm_Point4fArrayClass) #define SCM_POINT4F_ARRAY_P(obj) SCM_XTYPEP(obj, SCM_CLASS_POINT4F_ARRAY) #define SCM_POINT4F_ARRAY(obj) ((ScmPoint4fArray*)(obj)) #define SCM_POINT4F_ARRAY_SIZE(obj) (SCM_POINT4F_ARRAY(obj)->size) #define SCM_POINT4F_ARRAY_D(obj) (SCM_POINT4F_ARRAY(obj)->v) extern ScmObj Scm_MakePoint4fArrayv(int nvecs, const float *init); extern ScmObj Scm_MakePoint4fArrayV(ScmF32Vector *src); #define SCM_POINT4F_ARRAY_REFV(obj, n) (&(SCM_POINT4F_ARRAY_D(obj)[(n)*4])) #define SCM_POINT4F_ARRAY_SET(obj, n, x, y, z, w) \ (SCM_POINT4F_ARRAY_D(obj)[(n)*4] = (x), \ SCM_POINT4F_ARRAY_D(obj)[(n)*4+1] = (y), \ SCM_POINT4F_ARRAY_D(obj)[(n)*4+2] = (z), \ SCM_POINT4F_ARRAY_D(obj)[(n)*4+3] = (w)) extern ScmObj Scm_Point4fArrayRef(const ScmPoint4fArray *obj, int n, ScmObj fallback); extern ScmObj Scm_Point4fArrayRefShared(ScmPoint4fArray *obj, int n, ScmObj fallback); extern float *Scm_Point4fArrayRefv(ScmPoint4fArray *obj, int n); extern void Scm_Point4fArraySet(ScmPoint4fArray *obj, int n, ScmPoint4f *v); extern void Scm_Point4fArraySetv(ScmPoint4fArray *obj, int n, float d[]); /*============================================================= * Quaternions */ typedef struct ScmQuatfRec { SCM_HEADER; float *v; } ScmQuatf; SCM_CLASS_DECL(Scm_QuatfClass); #define SCM_CLASS_QUATF (&Scm_QuatfClass) #define SCM_QUATFP(obj) SCM_XTYPEP(obj, SCM_CLASS_QUATF) #define SCM_QUATF(obj) ((ScmQuatf*)(obj)) #define SCM_QUATF_D(obj) (SCM_QUATF(obj)->v) #define SCM_QUATF_NORMV(p) SCM_VECTOR4F_NORMV(p) /* SCM_QUATF_NORMALIZE(float p[4]) */ #define SCM_QUATF_NORMALIZEV(p) \ do { \ float siz__ = SCM_QUATF_NORMV(p); \ if (siz__ != 0.0) { \ SCM_VECTOR4F_OP(i__, p[i__] /= siz__); \ } else { \ p[0]=p[1]=p[2]=0.0; \ p[3]=1.0; \ } \ } while (0) #define SCM_QUATF_CONJUGATEV(q, p) \ do { \ q[0] = -p[0]; \ q[1] = -p[1]; \ q[2] = -p[2]; \ q[3] = p[3]; \ } while (0) extern ScmObj Scm_MakeQuatf(float x, float y, float z, float w); extern ScmObj Scm_MakeQuatfv(const float d[4]); extern ScmObj Scm_MakeQuatfvShared(float d[4]); extern ScmObj Scm_ListToQuatf(ScmObj l); extern ScmObj Scm_QuatfToList(const ScmQuatf *q); extern ScmObj Scm_QuatfSetv(ScmQuatf *q, const float d[4]); extern ScmObj Scm_QuatfAdd(const ScmQuatf *p, const ScmQuatf *q); extern void Scm_QuatfAddv(float *r, const float *p, const float *q); extern ScmObj Scm_QuatfSub(const ScmQuatf *p, const ScmQuatf *q); extern void Scm_QuatfSubv(float *r, const float *p, const float *q); extern ScmObj Scm_QuatfMul(const ScmQuatf *p, const ScmQuatf *q); extern void Scm_QuatfMulv(float *r, const float *p, const float *q); extern ScmObj Scm_QuatfNormalize(const ScmQuatf *q); extern ScmObj Scm_QuatfNormalizeX(ScmQuatf *q); /* q[] must be a unit quaternion */ extern void Scm_QuatfToMatrix4fv(float *m, const float *q); /* m[] must be an orthogonal matrix */ extern void Scm_Matrix4fToQuatfv(float *q, const float *m); /* q[] must be a unit quaternion */ extern void Scm_QuatfTransformv(float r[], const float q[], const float v[]); /* p[] and q[] must be unit quaternions */ extern void Scm_QuatfSlerp(float *r, const float *p, const float *q, float t); /* v[], v1[], v2[], w[], w1[] and w2[] must be unit vectors */ extern void Scm_VectorsToQuatfv(float *r, const float *v, const float *w); extern void Scm_AxesToQuatfv(float r[], const float v1[], const float v2[], const float w1[], const float w2[]); /*============================================================= * Matrix */ /* 4x4 matrix of floats. The elements is stored in the same order * as OpenGL, that is, * * M(0,0) = d[0] M(0,1) = d[4] M(0,2) = d[8] M(0,3) = d[12] * M(1,0) = d[1] M(1,1) = d[5] M(1,2) = d[9] M(1,3) = d[13] * M(2,0) = d[2] M(2,1) = d[6] M(2,2) = d[10] M(2,3) = d[14] * M(3,0) = d[3] M(3,1) = d[7] M(3,2) = d[11] M(3,3) = d[15] */ typedef struct ScmMatrix4fRec { SCM_HEADER; float *v; } ScmMatrix4f; SCM_CLASS_DECL(Scm_Matrix4fClass); #define SCM_CLASS_MATRIX4F (&Scm_Matrix4fClass) #define SCM_MATRIX4FP(obj) SCM_XTYPEP(obj, SCM_CLASS_MATRIX4F) #define SCM_MATRIX4F(obj) ((ScmMatrix4f*)(obj)) #define SCM_MATRIX4F_D(obj) (SCM_MATRIX4F(obj)->v) #define SCM_MATRIX4F_REF(obj, i, j) (SCM_MATRIX4F_D(obj)[(i)+(j)*4]) #define SCM_MATRIX4F_SET(obj, i, j, v) (SCM_MATRIX4F_D(obj)[(i)+(j)*4] = (v)) #define SCM_MATRIX4F_COLVEC(obj, i) (SCM_MATRIX4F_D(obj) + (i)*4) extern ScmObj Scm_MakeMatrix4fv(const float *d); extern ScmObj Scm_MakeMatrix4fvShared(float *d); extern ScmObj Scm_Matrix4fSetv(ScmMatrix4f *m, float *d); extern void Scm_Matrix4fSetIdentityv(float *p); extern ScmObj Scm_ListToMatrix4f(ScmObj l); extern ScmObj Scm_Matrix4fToList(const ScmMatrix4f *m); extern void Scm_Matrix4fMulMatrix4fv(float *, const float *, const float*); extern ScmObj Scm_Matrix4fMulMatrix4f(const ScmMatrix4f *, const ScmMatrix4f *); extern void Scm_Matrix4fMulVector4fv(float *, const float *m, const float *v); extern ScmObj Scm_Matrix4fMulVector4f(const ScmMatrix4f *, const ScmVector4f *); extern ScmObj Scm_Matrix4fMulPoint4f(const ScmMatrix4f *, const ScmPoint4f *); extern void Scm_Matrix4fScalev(float *, double f); extern ScmObj Scm_Matrix4fScale(const ScmMatrix4f *, double f); extern void Scm_Matrix4fTransposev(float *r, const float *m); extern float Scm_Matrix4fDeterminantv(const float *m); extern int Scm_Matrix4fInversev(float *r, const float *m); extern void Scm_TranslationToMatrix4fv(float *m, const float *t); extern void Scm_RotationToMatrix4fv(float *m, const float *v, float phi); extern void Scm_ScaleToMatrix4fv(float *m, const float *s); extern void Scm_TRSToMatrix4fv(float *m, const float *t, const float *v, float phi, const float *s); extern void Scm_TQSToMatrix4fv(float *m, const float *t, const float *q, const float *s); extern void Scm_EulerToMatrix4fv(float m[], float x, float y, float z, int order); /* Decompose matrix m to translation vector T, rotation matrix R, shear vector H, and scale vector S. */ extern int Scm_Matrix4fDecomposev(const float m[], float T[], float R[], float H[], float S[]); /* Recover rotation from orthogonal matrix */ extern float Scm_Matrix4fToRotationv(const float m[], float v[]); /* Factorize Euler angles from orthogonal matrix */ extern void Scm_Matrix4fToEuler(const float m[], float xyz[], int order); #endif /* GAUCHE_MATH3D_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/extract-abi.scm�������������������������������������������������������������������0000664�0000764�0000764�00000077647�12342246752�015751� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; extract-abi.scm - Extract ABI of GL extension ;;; ;;; Copyright (c) 2005-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; ;;; $Id: extract-abi.scm,v 1.4 2008-06-04 11:50:01 shirok Exp $ ;;; ;; We no longer count on glext.h on the target platform, since ;; it may be out of date and it is too much hassle to support ;; all variations. Instead of putting #ifdef's here and there, ;; we shifted everthing to runtime---so we include all the ;; declarations of the most recent GL extension ABI, and the ;; code queries availability of each of them at runtime. ;; ;; This program scans glext.h as the authoritative source of GL ;; extension ABI. We can use the most recent version from here: ;; http://oss.sgi.com/projects/ogl-sample/ABI/ ;; ;; It generates glext-abi.scm, which contains necessary information ;; in S-expressions. ;; ;; The format of glext-abi.scm is as follows. ;; ;; * Constants ;; ;; (define-constant GL_UNSIGNED_BYTE_3_3_2 #x8032) ;; ;; * Extensions ;; ;; (define-extension-name GL_ARB_fragment_program) ;; ;; * Entry points ;; ;; (define-entry-point glBindProgramNV "... typedef ...") ;; (use srfi-1) (use srfi-13) ;; Predefined OpenGL 1.0 and 1.1 symbols (define *gl-syms* '( ;; Boolean values (GL_FALSE . #x0) (GL_TRUE . #x1) ;; Data types (GL_BYTE . #x1400) (GL_UNSIGNED_BYTE . #x1401) (GL_SHORT . #x1402) (GL_UNSIGNED_SHORT . #x1403) (GL_INT . #x1404) (GL_UNSIGNED_INT . #x1405) (GL_FLOAT . #x1406) (GL_DOUBLE . #x140A) (GL_2_BYTES . #x1407) (GL_3_BYTES . #x1408) (GL_4_BYTES . #x1409) ;; Primitives (GL_POINTS . #x0000) (GL_LINES . #x0001) (GL_LINE_LOOP . #x0002) (GL_LINE_STRIP . #x0003) (GL_TRIANGLES . #x0004) (GL_TRIANGLE_STRIP . #x0005) (GL_TRIANGLE_FAN . #x0006) (GL_QUADS . #x0007) (GL_QUAD_STRIP . #x0008) (GL_POLYGON . #x0009) ;; Vertex Arrays (GL_VERTEX_ARRAY . #x8074) (GL_NORMAL_ARRAY . #x8075) (GL_COLOR_ARRAY . #x8076) (GL_INDEX_ARRAY . #x8077) (GL_TEXTURE_COORD_ARRAY . #x8078) (GL_EDGE_FLAG_ARRAY . #x8079) (GL_VERTEX_ARRAY_SIZE . #x807A) (GL_VERTEX_ARRAY_TYPE . #x807B) (GL_VERTEX_ARRAY_STRIDE . #x807C) (GL_NORMAL_ARRAY_TYPE . #x807E) (GL_NORMAL_ARRAY_STRIDE . #x807F) (GL_COLOR_ARRAY_SIZE . #x8081) (GL_COLOR_ARRAY_TYPE . #x8082) (GL_COLOR_ARRAY_STRIDE . #x8083) (GL_INDEX_ARRAY_TYPE . #x8085) (GL_INDEX_ARRAY_STRIDE . #x8086) (GL_TEXTURE_COORD_ARRAY_SIZE . #x8088) (GL_TEXTURE_COORD_ARRAY_TYPE . #x8089) (GL_TEXTURE_COORD_ARRAY_STRIDE . #x808A) (GL_EDGE_FLAG_ARRAY_STRIDE . #x808C) (GL_VERTEX_ARRAY_POINTER . #x808E) (GL_NORMAL_ARRAY_POINTER . #x808F) (GL_COLOR_ARRAY_POINTER . #x8090) (GL_INDEX_ARRAY_POINTER . #x8091) (GL_TEXTURE_COORD_ARRAY_POINTER . #x8092) (GL_EDGE_FLAG_ARRAY_POINTER . #x8093) (GL_V2F . #x2A20) (GL_V3F . #x2A21) (GL_C4UB_V2F . #x2A22) (GL_C4UB_V3F . #x2A23) (GL_C3F_V3F . #x2A24) (GL_N3F_V3F . #x2A25) (GL_C4F_N3F_V3F . #x2A26) (GL_T2F_V3F . #x2A27) (GL_T4F_V4F . #x2A28) (GL_T2F_C4UB_V3F . #x2A29) (GL_T2F_C3F_V3F . #x2A2A) (GL_T2F_N3F_V3F . #x2A2B) (GL_T2F_C4F_N3F_V3F . #x2A2C) (GL_T4F_C4F_N3F_V4F . #x2A2D) ;; Matrix Mode (GL_MATRIX_MODE . #x0BA0) (GL_MODELVIEW . #x1700) (GL_PROJECTION . #x1701) (GL_TEXTURE . #x1702) ;; Points (GL_POINT_SMOOTH . #x0B10) (GL_POINT_SIZE . #x0B11) (GL_POINT_SIZE_GRANULARITY . #x0B13) (GL_POINT_SIZE_RANGE . #x0B12) ;; Lines (GL_LINE_SMOOTH . #x0B20) (GL_LINE_STIPPLE . #x0B24) (GL_LINE_STIPPLE_PATTERN . #x0B25) (GL_LINE_STIPPLE_REPEAT . #x0B26) (GL_LINE_WIDTH . #x0B21) (GL_LINE_WIDTH_GRANULARITY . #x0B23) (GL_LINE_WIDTH_RANGE . #x0B22) ;; Polygons (GL_POINT . #x1B00) (GL_LINE . #x1B01) (GL_FILL . #x1B02) (GL_CW . #x0900) (GL_CCW . #x0901) (GL_FRONT . #x0404) (GL_BACK . #x0405) (GL_POLYGON_MODE . #x0B40) (GL_POLYGON_SMOOTH . #x0B41) (GL_POLYGON_STIPPLE . #x0B42) (GL_EDGE_FLAG . #x0B43) (GL_CULL_FACE . #x0B44) (GL_CULL_FACE_MODE . #x0B45) (GL_FRONT_FACE . #x0B46) (GL_POLYGON_OFFSET_FACTOR . #x8038) (GL_POLYGON_OFFSET_UNITS . #x2A00) (GL_POLYGON_OFFSET_POINT . #x2A01) (GL_POLYGON_OFFSET_LINE . #x2A02) (GL_POLYGON_OFFSET_FILL . #x8037) ;; Display Lists (GL_COMPILE . #x1300) (GL_COMPILE_AND_EXECUTE . #x1301) (GL_LIST_BASE . #x0B32) (GL_LIST_INDEX . #x0B33) (GL_LIST_MODE . #x0B30) ;; Depth buffer (GL_NEVER . #x0200) (GL_LESS . #x0201) (GL_EQUAL . #x0202) (GL_LEQUAL . #x0203) (GL_GREATER . #x0204) (GL_NOTEQUAL . #x0205) (GL_GEQUAL . #x0206) (GL_ALWAYS . #x0207) (GL_DEPTH_TEST . #x0B71) (GL_DEPTH_BITS . #x0D56) (GL_DEPTH_CLEAR_VALUE . #x0B73) (GL_DEPTH_FUNC . #x0B74) (GL_DEPTH_RANGE . #x0B70) (GL_DEPTH_WRITEMASK . #x0B72) (GL_DEPTH_COMPONENT . #x1902) ;; Lighting (GL_LIGHTING . #x0B50) (GL_LIGHT0 . #x4000) (GL_LIGHT1 . #x4001) (GL_LIGHT2 . #x4002) (GL_LIGHT3 . #x4003) (GL_LIGHT4 . #x4004) (GL_LIGHT5 . #x4005) (GL_LIGHT6 . #x4006) (GL_LIGHT7 . #x4007) (GL_SPOT_EXPONENT . #x1205) (GL_SPOT_CUTOFF . #x1206) (GL_CONSTANT_ATTENUATION . #x1207) (GL_LINEAR_ATTENUATION . #x1208) (GL_QUADRATIC_ATTENUATION . #x1209) (GL_AMBIENT . #x1200) (GL_DIFFUSE . #x1201) (GL_SPECULAR . #x1202) (GL_SHININESS . #x1601) (GL_EMISSION . #x1600) (GL_POSITION . #x1203) (GL_SPOT_DIRECTION . #x1204) (GL_AMBIENT_AND_DIFFUSE . #x1602) (GL_COLOR_INDEXES . #x1603) (GL_LIGHT_MODEL_TWO_SIDE . #x0B52) (GL_LIGHT_MODEL_LOCAL_VIEWER . #x0B51) (GL_LIGHT_MODEL_AMBIENT . #x0B53) (GL_FRONT_AND_BACK . #x0408) (GL_SHADE_MODEL . #x0B54) (GL_FLAT . #x1D00) (GL_SMOOTH . #x1D01) (GL_COLOR_MATERIAL . #x0B57) (GL_COLOR_MATERIAL_FACE . #x0B55) (GL_COLOR_MATERIAL_PARAMETER . #x0B56) (GL_NORMALIZE . #x0BA1) ;; User clipping planes (GL_CLIP_PLANE0 . #x3000) (GL_CLIP_PLANE1 . #x3001) (GL_CLIP_PLANE2 . #x3002) (GL_CLIP_PLANE3 . #x3003) (GL_CLIP_PLANE4 . #x3004) (GL_CLIP_PLANE5 . #x3005) ;; Accumulation buffer (GL_ACCUM_RED_BITS . #x0D58) (GL_ACCUM_GREEN_BITS . #x0D59) (GL_ACCUM_BLUE_BITS . #x0D5A) (GL_ACCUM_ALPHA_BITS . #x0D5B) (GL_ACCUM_CLEAR_VALUE . #x0B80) (GL_ACCUM . #x0100) (GL_ADD . #x0104) (GL_LOAD . #x0101) (GL_MULT . #x0103) (GL_RETURN . #x0102) ;; Alpha testing (GL_ALPHA_TEST . #x0BC0) (GL_ALPHA_TEST_REF . #x0BC2) (GL_ALPHA_TEST_FUNC . #x0BC1) ;; Blending (GL_BLEND . #x0BE2) (GL_BLEND_SRC . #x0BE1) (GL_BLEND_DST . #x0BE0) (GL_ZERO . #x0) (GL_ONE . #x1) (GL_SRC_COLOR . #x0300) (GL_ONE_MINUS_SRC_COLOR . #x0301) (GL_SRC_ALPHA . #x0302) (GL_ONE_MINUS_SRC_ALPHA . #x0303) (GL_DST_ALPHA . #x0304) (GL_ONE_MINUS_DST_ALPHA . #x0305) (GL_DST_COLOR . #x0306) (GL_ONE_MINUS_DST_COLOR . #x0307) (GL_SRC_ALPHA_SATURATE . #x0308) (GL_CONSTANT_COLOR . #x8001) (GL_ONE_MINUS_CONSTANT_COLOR . #x8002) (GL_CONSTANT_ALPHA . #x8003) (GL_ONE_MINUS_CONSTANT_ALPHA . #x8004) ;; Render Mode (GL_FEEDBACK . #x1C01) (GL_RENDER . #x1C00) (GL_SELECT . #x1C02) ;; Feedback (GL_2D . #x0600) (GL_3D . #x0601) (GL_3D_COLOR . #x0602) (GL_3D_COLOR_TEXTURE . #x0603) (GL_4D_COLOR_TEXTURE . #x0604) (GL_POINT_TOKEN . #x0701) (GL_LINE_TOKEN . #x0702) (GL_LINE_RESET_TOKEN . #x0707) (GL_POLYGON_TOKEN . #x0703) (GL_BITMAP_TOKEN . #x0704) (GL_DRAW_PIXEL_TOKEN . #x0705) (GL_COPY_PIXEL_TOKEN . #x0706) (GL_PASS_THROUGH_TOKEN . #x0700) (GL_FEEDBACK_BUFFER_POINTER . #x0DF0) (GL_FEEDBACK_BUFFER_SIZE . #x0DF1) (GL_FEEDBACK_BUFFER_TYPE . #x0DF2) ;; Selection (GL_SELECTION_BUFFER_POINTER . #x0DF3) (GL_SELECTION_BUFFER_SIZE . #x0DF4) ;; Fog (GL_FOG . #x0B60) (GL_FOG_MODE . #x0B65) (GL_FOG_DENSITY . #x0B62) (GL_FOG_COLOR . #x0B66) (GL_FOG_INDEX . #x0B61) (GL_FOG_START . #x0B63) (GL_FOG_END . #x0B64) (GL_LINEAR . #x2601) (GL_EXP . #x0800) (GL_EXP2 . #x0801) ;; Logic Ops (GL_LOGIC_OP . #x0BF1) (GL_INDEX_LOGIC_OP . #x0BF1) (GL_COLOR_LOGIC_OP . #x0BF2) (GL_LOGIC_OP_MODE . #x0BF0) (GL_CLEAR . #x1500) (GL_SET . #x150F) (GL_COPY . #x1503) (GL_COPY_INVERTED . #x150C) (GL_NOOP . #x1505) (GL_INVERT . #x150A) (GL_AND . #x1501) (GL_NAND . #x150E) (GL_OR . #x1507) (GL_NOR . #x1508) (GL_XOR . #x1506) (GL_EQUIV . #x1509) (GL_AND_REVERSE . #x1502) (GL_AND_INVERTED . #x1504) (GL_OR_REVERSE . #x150B) (GL_OR_INVERTED . #x150D) ;; Stencil (GL_STENCIL_TEST . #x0B90) (GL_STENCIL_WRITEMASK . #x0B98) (GL_STENCIL_BITS . #x0D57) (GL_STENCIL_FUNC . #x0B92) (GL_STENCIL_VALUE_MASK . #x0B93) (GL_STENCIL_REF . #x0B97) (GL_STENCIL_FAIL . #x0B94) (GL_STENCIL_PASS_DEPTH_PASS . #x0B96) (GL_STENCIL_PASS_DEPTH_FAIL . #x0B95) (GL_STENCIL_CLEAR_VALUE . #x0B91) (GL_STENCIL_INDEX . #x1901) (GL_KEEP . #x1E00) (GL_REPLACE . #x1E01) (GL_INCR . #x1E02) (GL_DECR . #x1E03) ;; Buffers, Pixel Drawing/Reading (GL_NONE . #x0) (GL_LEFT . #x0406) (GL_RIGHT . #x0407) ;;GL_FRONT . #x0404 ;;GL_BACK . #x0405 ;;GL_FRONT_AND_BACK . #x0408 (GL_FRONT_LEFT . #x0400) (GL_FRONT_RIGHT . #x0401) (GL_BACK_LEFT . #x0402) (GL_BACK_RIGHT . #x0403) (GL_AUX0 . #x0409) (GL_AUX1 . #x040A) (GL_AUX2 . #x040B) (GL_AUX3 . #x040C) (GL_COLOR_INDEX . #x1900) (GL_RED . #x1903) (GL_GREEN . #x1904) (GL_BLUE . #x1905) (GL_ALPHA . #x1906) (GL_LUMINANCE . #x1909) (GL_LUMINANCE_ALPHA . #x190A) (GL_ALPHA_BITS . #x0D55) (GL_RED_BITS . #x0D52) (GL_GREEN_BITS . #x0D53) (GL_BLUE_BITS . #x0D54) (GL_INDEX_BITS . #x0D51) (GL_SUBPIXEL_BITS . #x0D50) (GL_AUX_BUFFERS . #x0C00) (GL_READ_BUFFER . #x0C02) (GL_DRAW_BUFFER . #x0C01) (GL_DOUBLEBUFFER . #x0C32) (GL_STEREO . #x0C33) (GL_BITMAP . #x1A00) (GL_COLOR . #x1800) (GL_DEPTH . #x1801) (GL_STENCIL . #x1802) (GL_DITHER . #x0BD0) (GL_RGB . #x1907) (GL_RGBA . #x1908) ;; Implementation limits (GL_MAX_LIST_NESTING . #x0B31) (GL_MAX_ATTRIB_STACK_DEPTH . #x0D35) (GL_MAX_MODELVIEW_STACK_DEPTH . #x0D36) (GL_MAX_NAME_STACK_DEPTH . #x0D37) (GL_MAX_PROJECTION_STACK_DEPTH . #x0D38) (GL_MAX_TEXTURE_STACK_DEPTH . #x0D39) (GL_MAX_EVAL_ORDER . #x0D30) (GL_MAX_LIGHTS . #x0D31) (GL_MAX_CLIP_PLANES . #x0D32) (GL_MAX_TEXTURE_SIZE . #x0D33) (GL_MAX_PIXEL_MAP_TABLE . #x0D34) (GL_MAX_VIEWPORT_DIMS . #x0D3A) (GL_MAX_CLIENT_ATTRIB_STACK_DEPTH . #x0D3B) ;; Gets (GL_ATTRIB_STACK_DEPTH . #x0BB0) (GL_CLIENT_ATTRIB_STACK_DEPTH . #x0BB1) (GL_COLOR_CLEAR_VALUE . #x0C22) (GL_COLOR_WRITEMASK . #x0C23) (GL_CURRENT_INDEX . #x0B01) (GL_CURRENT_COLOR . #x0B00) (GL_CURRENT_NORMAL . #x0B02) (GL_CURRENT_RASTER_COLOR . #x0B04) (GL_CURRENT_RASTER_DISTANCE . #x0B09) (GL_CURRENT_RASTER_INDEX . #x0B05) (GL_CURRENT_RASTER_POSITION . #x0B07) (GL_CURRENT_RASTER_TEXTURE_COORDS . #x0B06) (GL_CURRENT_RASTER_POSITION_VALID . #x0B08) (GL_CURRENT_TEXTURE_COORDS . #x0B03) (GL_INDEX_CLEAR_VALUE . #x0C20) (GL_INDEX_MODE . #x0C30) (GL_INDEX_WRITEMASK . #x0C21) (GL_MODELVIEW_MATRIX . #x0BA6) (GL_MODELVIEW_STACK_DEPTH . #x0BA3) (GL_NAME_STACK_DEPTH . #x0D70) (GL_PROJECTION_MATRIX . #x0BA7) (GL_PROJECTION_STACK_DEPTH . #x0BA4) (GL_RENDER_MODE . #x0C40) (GL_RGBA_MODE . #x0C31) (GL_TEXTURE_MATRIX . #x0BA8) (GL_TEXTURE_STACK_DEPTH . #x0BA5) (GL_VIEWPORT . #x0BA2) ;; Evaluators (GL_AUTO_NORMAL . #x0D80) (GL_MAP1_COLOR_4 . #x0D90) (GL_MAP1_GRID_DOMAIN . #x0DD0) (GL_MAP1_GRID_SEGMENTS . #x0DD1) (GL_MAP1_INDEX . #x0D91) (GL_MAP1_NORMAL . #x0D92) (GL_MAP1_TEXTURE_COORD_1 . #x0D93) (GL_MAP1_TEXTURE_COORD_2 . #x0D94) (GL_MAP1_TEXTURE_COORD_3 . #x0D95) (GL_MAP1_TEXTURE_COORD_4 . #x0D96) (GL_MAP1_VERTEX_3 . #x0D97) (GL_MAP1_VERTEX_4 . #x0D98) (GL_MAP2_COLOR_4 . #x0DB0) (GL_MAP2_GRID_DOMAIN . #x0DD2) (GL_MAP2_GRID_SEGMENTS . #x0DD3) (GL_MAP2_INDEX . #x0DB1) (GL_MAP2_NORMAL . #x0DB2) (GL_MAP2_TEXTURE_COORD_1 . #x0DB3) (GL_MAP2_TEXTURE_COORD_2 . #x0DB4) (GL_MAP2_TEXTURE_COORD_3 . #x0DB5) (GL_MAP2_TEXTURE_COORD_4 . #x0DB6) (GL_MAP2_VERTEX_3 . #x0DB7) (GL_MAP2_VERTEX_4 . #x0DB8) (GL_COEFF . #x0A00) (GL_DOMAIN . #x0A02) (GL_ORDER . #x0A01) ;; Hints (GL_FOG_HINT . #x0C54) (GL_LINE_SMOOTH_HINT . #x0C52) (GL_PERSPECTIVE_CORRECTION_HINT . #x0C50) (GL_POINT_SMOOTH_HINT . #x0C51) (GL_POLYGON_SMOOTH_HINT . #x0C53) (GL_DONT_CARE . #x1100) (GL_FASTEST . #x1101) (GL_NICEST . #x1102) ;; Scissor box (GL_SCISSOR_TEST . #x0C11) (GL_SCISSOR_BOX . #x0C10) ;; Pixel Mode / Transfer (GL_MAP_COLOR . #x0D10) (GL_MAP_STENCIL . #x0D11) (GL_INDEX_SHIFT . #x0D12) (GL_INDEX_OFFSET . #x0D13) (GL_RED_SCALE . #x0D14) (GL_RED_BIAS . #x0D15) (GL_GREEN_SCALE . #x0D18) (GL_GREEN_BIAS . #x0D19) (GL_BLUE_SCALE . #x0D1A) (GL_BLUE_BIAS . #x0D1B) (GL_ALPHA_SCALE . #x0D1C) (GL_ALPHA_BIAS . #x0D1D) (GL_DEPTH_SCALE . #x0D1E) (GL_DEPTH_BIAS . #x0D1F) (GL_PIXEL_MAP_S_TO_S_SIZE . #x0CB1) (GL_PIXEL_MAP_I_TO_I_SIZE . #x0CB0) (GL_PIXEL_MAP_I_TO_R_SIZE . #x0CB2) (GL_PIXEL_MAP_I_TO_G_SIZE . #x0CB3) (GL_PIXEL_MAP_I_TO_B_SIZE . #x0CB4) (GL_PIXEL_MAP_I_TO_A_SIZE . #x0CB5) (GL_PIXEL_MAP_R_TO_R_SIZE . #x0CB6) (GL_PIXEL_MAP_G_TO_G_SIZE . #x0CB7) (GL_PIXEL_MAP_B_TO_B_SIZE . #x0CB8) (GL_PIXEL_MAP_A_TO_A_SIZE . #x0CB9) (GL_PIXEL_MAP_S_TO_S . #x0C71) (GL_PIXEL_MAP_I_TO_I . #x0C70) (GL_PIXEL_MAP_I_TO_R . #x0C72) (GL_PIXEL_MAP_I_TO_G . #x0C73) (GL_PIXEL_MAP_I_TO_B . #x0C74) (GL_PIXEL_MAP_I_TO_A . #x0C75) (GL_PIXEL_MAP_R_TO_R . #x0C76) (GL_PIXEL_MAP_G_TO_G . #x0C77) (GL_PIXEL_MAP_B_TO_B . #x0C78) (GL_PIXEL_MAP_A_TO_A . #x0C79) (GL_PACK_ALIGNMENT . #x0D05) (GL_PACK_LSB_FIRST . #x0D01) (GL_PACK_ROW_LENGTH . #x0D02) (GL_PACK_SKIP_PIXELS . #x0D04) (GL_PACK_SKIP_ROWS . #x0D03) (GL_PACK_SWAP_BYTES . #x0D00) (GL_UNPACK_ALIGNMENT . #x0CF5) (GL_UNPACK_LSB_FIRST . #x0CF1) (GL_UNPACK_ROW_LENGTH . #x0CF2) (GL_UNPACK_SKIP_PIXELS . #x0CF4) (GL_UNPACK_SKIP_ROWS . #x0CF3) (GL_UNPACK_SWAP_BYTES . #x0CF0) (GL_ZOOM_X . #x0D16) (GL_ZOOM_Y . #x0D17) ;; Texture mapping (GL_TEXTURE_ENV . #x2300) (GL_TEXTURE_ENV_MODE . #x2200) (GL_TEXTURE_1D . #x0DE0) (GL_TEXTURE_2D . #x0DE1) (GL_TEXTURE_WRAP_S . #x2802) (GL_TEXTURE_WRAP_T . #x2803) (GL_TEXTURE_MAG_FILTER . #x2800) (GL_TEXTURE_MIN_FILTER . #x2801) (GL_TEXTURE_ENV_COLOR . #x2201) (GL_TEXTURE_GEN_S . #x0C60) (GL_TEXTURE_GEN_T . #x0C61) (GL_TEXTURE_GEN_MODE . #x2500) (GL_TEXTURE_BORDER_COLOR . #x1004) (GL_TEXTURE_WIDTH . #x1000) (GL_TEXTURE_HEIGHT . #x1001) (GL_TEXTURE_BORDER . #x1005) (GL_TEXTURE_COMPONENTS . #x1003) (GL_TEXTURE_RED_SIZE . #x805C) (GL_TEXTURE_GREEN_SIZE . #x805D) (GL_TEXTURE_BLUE_SIZE . #x805E) (GL_TEXTURE_ALPHA_SIZE . #x805F) (GL_TEXTURE_LUMINANCE_SIZE . #x8060) (GL_TEXTURE_INTENSITY_SIZE . #x8061) (GL_NEAREST_MIPMAP_NEAREST . #x2700) (GL_NEAREST_MIPMAP_LINEAR . #x2702) (GL_LINEAR_MIPMAP_NEAREST . #x2701) (GL_LINEAR_MIPMAP_LINEAR . #x2703) (GL_OBJECT_LINEAR . #x2401) (GL_OBJECT_PLANE . #x2501) (GL_EYE_LINEAR . #x2400) (GL_EYE_PLANE . #x2502) (GL_SPHERE_MAP . #x2402) (GL_DECAL . #x2101) (GL_MODULATE . #x2100) (GL_NEAREST . #x2600) (GL_REPEAT . #x2901) (GL_CLAMP . #x2900) (GL_S . #x2000) (GL_T . #x2001) (GL_R . #x2002) (GL_Q . #x2003) (GL_TEXTURE_GEN_R . #x0C62) (GL_TEXTURE_GEN_Q . #x0C63) ;; Utility (GL_VENDOR . #x1F00) (GL_RENDERER . #x1F01) (GL_VERSION . #x1F02) (GL_EXTENSIONS . #x1F03) ;; Errors (GL_NO_ERROR . #x0) (GL_INVALID_VALUE . #x0501) (GL_INVALID_ENUM . #x0500) (GL_INVALID_OPERATION . #x0502) (GL_STACK_OVERFLOW . #x0503) (GL_STACK_UNDERFLOW . #x0504) (GL_OUT_OF_MEMORY . #x0505) ;; glPush/PopAttrib bits (GL_CURRENT_BIT . #x00000001) (GL_POINT_BIT . #x00000002) (GL_LINE_BIT . #x00000004) (GL_POLYGON_BIT . #x00000008) (GL_POLYGON_STIPPLE_BIT . #x00000010) (GL_PIXEL_MODE_BIT . #x00000020) (GL_LIGHTING_BIT . #x00000040) (GL_FOG_BIT . #x00000080) (GL_DEPTH_BUFFER_BIT . #x00000100) (GL_ACCUM_BUFFER_BIT . #x00000200) (GL_STENCIL_BUFFER_BIT . #x00000400) (GL_VIEWPORT_BIT . #x00000800) (GL_TRANSFORM_BIT . #x00001000) (GL_ENABLE_BIT . #x00002000) (GL_COLOR_BUFFER_BIT . #x00004000) (GL_HINT_BIT . #x00008000) (GL_EVAL_BIT . #x00010000) (GL_LIST_BIT . #x00020000) (GL_TEXTURE_BIT . #x00040000) (GL_SCISSOR_BIT . #x00080000) (GL_ALL_ATTRIB_BITS . #x000FFFFF) ;; OpenGL 1.1 (GL_PROXY_TEXTURE_1D . #x8063) (GL_PROXY_TEXTURE_2D . #x8064) (GL_TEXTURE_PRIORITY . #x8066) (GL_TEXTURE_RESIDENT . #x8067) (GL_TEXTURE_BINDING_1D . #x8068) (GL_TEXTURE_BINDING_2D . #x8069) (GL_TEXTURE_INTERNAL_FORMAT . #x1003) (GL_ALPHA4 . #x803B) (GL_ALPHA8 . #x803C) (GL_ALPHA12 . #x803D) (GL_ALPHA16 . #x803E) (GL_LUMINANCE4 . #x803F) (GL_LUMINANCE8 . #x8040) (GL_LUMINANCE12 . #x8041) (GL_LUMINANCE16 . #x8042) (GL_LUMINANCE4_ALPHA4 . #x8043) (GL_LUMINANCE6_ALPHA2 . #x8044) (GL_LUMINANCE8_ALPHA8 . #x8045) (GL_LUMINANCE12_ALPHA4 . #x8046) (GL_LUMINANCE12_ALPHA12 . #x8047) (GL_LUMINANCE16_ALPHA16 . #x8048) (GL_INTENSITY . #x8049) (GL_INTENSITY4 . #x804A) (GL_INTENSITY8 . #x804B) (GL_INTENSITY12 . #x804C) (GL_INTENSITY16 . #x804D) (GL_R3_G3_B2 . #x2A10) (GL_RGB4 . #x804F) (GL_RGB5 . #x8050) (GL_RGB8 . #x8051) (GL_RGB10 . #x8052) (GL_RGB12 . #x8053) (GL_RGB16 . #x8054) (GL_RGBA2 . #x8055) (GL_RGBA4 . #x8056) (GL_RGB5_A1 . #x8057) (GL_RGBA8 . #x8058) (GL_RGB10_A2 . #x8059) (GL_RGBA12 . #x805A) (GL_RGBA16 . #x805B) (GL_CLIENT_PIXEL_STORE_BIT . #x00000001) (GL_CLIENT_VERTEX_ARRAY_BIT . #x00000002) (GL_ALL_CLIENT_ATTRIB_BITS . #xFFFFFFFF) (GL_CLIENT_ALL_ATTRIB_BITS . #xFFFFFFFF) )) (define (scan) (let loop ([x '()] ;; extensions name [c (reverse *gl-syms*)] ;; constants [(name . value)] [p '()]) ;; entry points [(name PFNNAMEPROC . typedef)] (rxmatch-case (read-line) [test eof-object? (values (reverse x) (reverse c) (reverse p))] [#/^#ifndef\s+(GL_\w+)/ (#f extname) (let1 en (string->symbol extname) (if (memq en x) (loop x c p) (loop (cons (string->symbol extname) x) c p)))] [#/^#define\s+(GL_\w+)\s+(?:0x([\da-fA-F]+)|(\d+)|(\w+))/ (#f cname xval dval ref) (let1 cn (string->symbol cname) (if (or (assq cn c) (memq cn x)) (loop x c p) (let1 const (cons cn (cond [xval (string->number xval 16)] [dval (string->number dval)] [else (string->symbol ref)])) (loop x (cons const c) p))))] [#/^(?:extern|GLAPI)\b.*?\b(?:APIENTRY\s+)?(gl\w+)/ (#f fname) (loop x c (cons (list fname (format "PFN~aPROC" (string-upcase fname))) p))] [#/^typedef.*(PFN.*?PROC\b).*/ (typedef name) (if-let1 apientry (find (^e (string=? name (cadr e))) p) (set-cdr! (cdr apientry) typedef)) (loop x c p)] [else (loop x c p)]))) (define (emit extensions constants entry-points) (print ";; This file should reflect the newest OpenGL extension ABI") (print ";; You can regenarate this by feeding glext.h to extract-abi.scm") (print ";; To obtain the newest glext.h, see") (print ";; http://oss.sgi.com/projects/ogl-sample/ABI/") (print) (print ";; Extensions") (dolist (e extensions) (format #t "(define-extension-name ~a)\n" e)) (print) (print ";; Constants") (dolist (c constants) (let loop ((val (cdr c))) (if (number? val) (format #t "(define-constant ~a #x~4,'0x)\n" (car c) val) (let1 p (assq val constants) (if p (loop (cdr p)) (error "huh? " val)))))) (print) (print ";; API entry points") (dolist (e entry-points) (format #t "(define-entry-point ~a ~a ~s)\n" (car e) (cadr e) (cddr e))) (print) ) (define (main args) (call-with-values scan emit) 0) �����������������������������������������������������������������������������������������Gauche-gl-0.6/src/Makefile.in�����������������������������������������������������������������������0000664�0000764�0000764�00000007317�12340277645�015075� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Makefile.in for Gauche-gl/src # $Id: Makefile.in,v 1.32 2005-08-02 04:21:48 shirok Exp $ # # prelude --------------------------------------------- SHELL = @SHELL@ srcdir = @srcdir@ VPATH = $(srcdir) top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # These may be overridden by make invocators DESTDIR = # These are set by configure # NB: cc and various flags must match the ones used to compile Gauche, # so the make invocator shouldn't casually override them. CFLAGS = @DEFS@ @X_CFLAGS@ @GLUT_INCDIR@ @GLEW_INCDIR@ LDFLAGS = @LDFLAGS@ OBJEXT = @OBJEXT@ SOEXT = @SOEXT@ OLIBS = @LIBS@ LIBS = @GL_LIBS@ @LIBS@ @X_LIBS@ @X_PRE_LIBS@ @X_EXTRA_LIBS@ @X_LIBS@ GOSH = "@GOSH@" GAUCHE_CONFIG = "@GAUCHE_CONFIG@" GAUCHE_PACKAGE = "@GAUCHE_PACKAGE@" GAUCHE_INSTALL = "@GAUCHE_INSTALL@" PACKAGE = Gauche-gl HEADER_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --siteincdir`" SCM_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --sitelibdir`" ARCH_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --sitearchdir`" # build ----------------------------------------------- ARCHFILES = libgauche-math3d.$(SOEXT) \ libgauche-gl.$(SOEXT) \ libgauche-glut.$(SOEXT) SCMFILES = HEADERS = gauche/math3d.h TARGET = $(ARCHFILES) CONFIG_GENERATED = Makefile config.cache config.log config.status \ configure.lineno autom4te*.cache $(PACKAGE).gpd GENERATED = gl-syms.c gl-syms.h gl-ptrs.h gettype-sizes.c all : $(TARGET) # math3d math3d_SRCS = gauche-math3d.c math3d-lib.stub libgauche-math3d.$(SOEXT) : $(math3d_SRCS) gauche/math3d.h $(GAUCHE_PACKAGE) compile --verbose \ --cflags="$(CFLAGS)" --ldflags="$(LDFLAGS)" --libs="$(OLIBS)" \ libgauche-math3d $(math3d_SRCS) # gl gl_SRCS = gauche-gl.c gl-syms.c gl-lib.stub glu-lib.stub glext-lib.stub \ @GLEW_SOURCE@ gl_LIBS = @GL_EXTRALIBS@ $(LIBS) gl_HDRS = gauche-gl.h gl-syms.h gl-ptrs.h gauche/math3d.h libgauche-gl.$(SOEXT) : $(gl_SRCS) gettype-sizes.c glcase.scm $(gl_HDRS) $(GAUCHE_PACKAGE) compile --verbose \ --cflags="$(CFLAGS)" --ldflags="$(LDFLAGS)" --libs="$(gl_LIBS)" \ libgauche-gl $(gl_SRCS) gl-syms.c gl-syms.h : gen-syms.scm glext-abi.scm $(GOSH) ./gen-syms.scm gl-ptrs.h : gen-ptrs.scm glext-abi.scm $(GOSH) ./gen-ptrs.scm gettype-sizes.c : glstate.scm $(GOSH) ./glstate.scm -o gettype-sizes.c gettype # glut glut_SRCS = gauche-glut.c glut-lib.stub glut_LIBS = @GLUT_LIBDIR@ @GLUT_LIB@ @GLUT_EXTRALIBS@ $(LIBS) libgauche-glut.$(SOEXT) : $(glut_SRCS) gauche-glut.h $(GAUCHE_PACKAGE) compile --verbose \ --cflags="$(CFLAGS)" --ldflags="$(LDFLAGS)" --libs="$(glut_LIBS)" \ libgauche-glut $(glut_SRCS) # tests ----------------------------------------------- check : all @rm -f test.log $(GOSH) -I. -I../lib test-math3d.scm > test.log $(GOSH) -I. -I../lib test.scm >> test.log $(GOSH) -I. -I../lib test-simple.scm >> test.log # install ---------------------------------------------- install : all $(GAUCHE_INSTALL) -m 444 -T $(HEADER_INSTALL_DIR) $(HEADERS) $(GAUCHE_INSTALL) -m 444 -T $(SCM_INSTALL_DIR) $(SCMFILES) $(GAUCHE_INSTALL) -m 555 -T $(ARCH_INSTALL_DIR) $(ARCHFILES) uninstall : all $(GAUCHE_INSTALL) -U $(HEADER_INSTALL_DIR) $(HEADERS) $(GAUCHE_INSTALL) -U $(SCM_INSTALL_DIR) $(SCMFILES) $(GAUCHE_INSTALL) -U $(ARCH_INSTALL_DIR) $(ARCHFILES) # clean ------------------------------------------------ clean : $(GAUCHE_PACKAGE) compile --clean libgauche-math3d $(math3d_SRCS) $(GAUCHE_PACKAGE) compile --clean libgauche-gl $(gl_SRCS) $(GAUCHE_PACKAGE) compile --clean libgauche-glut $(glut_SRCS) rm -rf core $(TARGET) $(GENERATED) *~ test.log so_locations distclean : clean rm -rf $(CONFIG_GENERATED) maintainer-clean : clean rm -rf $(CONFIG_GENERATED) configure �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/glcase.scm������������������������������������������������������������������������0000644�0000764�0000764�00000023472�12342246753�014766� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; Common cise macros ;;; ;;; Copyright (c) 2012-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; ;; This file is to be included by gl-lib.scm etc. ;; Quite a few Gauche-gl APIs are polymorphic, and we dispatch ;; to an appropriate GL APIs according to the argument type and ;; its size. Hence we see lots of code that matches the following ;; pattern: ;; ;; if (SCM_F32VECTORP(arg)) { ;; switch (SCM_F32VECTOR_SIZE(arg)) { ;; case 3: glFoo3fv((GLfloat*)SCM_F32VECTOR_ELEMENTS(arg)); break; ;; case 4: glFoo4fv((GLfloat*)SCM_F32VECTOR_ELEMENTS(arg)); break; ;; default: Scm_Error("blah blah blah, but got %S", arg) ;; } ;; } else if (SCM_F64VECTORP(arg)) { ;; switch (SCM_F64VECTOR_SIZE(arg)) { ;; ... ;; ;; The gl-case cise macro generates this pattern from a concise description, ;; as follows: ;; ;; (gl-case (v) "glFoo~n~v" ;; ((f32 3 4) (f64 3 4))) ;; "blah blah blah, but got %S" ;; ;; Here's the detailed spec: ;; ;; (gl-case <dispatch-variables> ;; <call-pattern> ;; <dispatches> ;; <error-format-string> ;; [<fallback-case>]) ;; ;; <dispatch-variables> : (<variable>) ;; | (<variable> <restvar>) ;; ;; This specifies which C variable gl-case should dispatch upon. ;; The simplest case is a single-variable one, just the varaible ;; we dispatch on. ;; ;; The second form is used for variable-arity api such as gl-vertex; ;; it accepts vector argument, e.g. (gl-vertex #f32(1.0 1.0 1.0)), and ;; individual real arguments, e.g. (gl-vertex 1.0 1.0 1.0). If more than ;; one argument are given, we gather the arguments as real numbers, and ;; handles it according to 'args' dispatch (see belop). Otherwise ;; we dispatch on the type of first variable. ;; ;; <call-pattern> : <function-template> ;; | (<function-template> <template> ...) ;; ;; <function-template> is a string of the name of GL function. It may ;; contain sequences like ~n, which will be substituted according to the ;; actual type of <variable>. The following sequences are recognized: ;; ~n : the number of elements, e.g. '3' in glVertex3f. ;; ~t : the type suffix, e.g. 'f' in glVertex3f. ;; ~v : the type suffix for vector argument, e.g. 'fv' in glVertex3fv. ;; ;; In the second form you can write a cise form of calling the gl function. ;; <template>s are cise expressions, but the following symbols are ;; substituted according to the actual type of <variable>. ;; ;; ~n : the number of elements, e.g. '3' in glVertex3f. ;; ~E : the GL type enum, e.g. GL_FLOAT ;; ~T : the C type, e.g. GLfloat ;; ~X : the function/macro to extract the pointer to the actual data, ;; e.g. SCM_F32VECTOR_ELEMENTS. ;; ;; <dispatches> : ((<type-tag> <count> ...) ...) ;; <type-tag> : u8 | s8 | u16 | s16 | u32 | s32 | f32 | f64 ;; | m4f | p4f | v4f | p4farray | v4farray | qf | args ;; ;; u8 - f64 : uvector ;; m4f : ScmMatrix4f ;; p4f : ScmPoint4f ;; v4f : ScmVector4f ;; p4farray : ScmPoint4fArray ;; v4farray : ScmVector4fArray ;; qf : ScmQuatf ;; args : indicates to handle :rest type. All args are coerced to ;; doubles, put into an array of double and passed to gl*dv API. ;; ;; <count> : Specifies the # of elements in the <variable>. m4f, p4f, ;; v4f and qf have fixed size, but you can specify <count> ;; if you want to give a different value to ~n. ;; ;; <fallback-case> : This code fragment is executed if the argument ;; doesn't match any <type-tag>s, and no 'args' type tag ;; is specified. (define-cise-stmt gl-case [(_ (var ...) template dispatches error-fmt . maybe-fallback) (define (type-pred tag) (string->symbol (ecase tag [(u8 s8 u16 s16 u32 s32 f32 f64) ($ format "SCM_~aVECTORP" $ string-upcase $ symbol->string tag)] [(m4f) "SCM_MATRIX4FP"] [(p4f) "SCM_POINT4FP"] [(v4f) "SCM_VECTOR4FP"] [(p4farray) "SCM_POINT4F_ARRAY_P"] [(v4farray) "SCM_VECTOR4F_ARRAY_P"] [(qf) "SCM_QUATFP"]))) (define (do-cast tag expr) `(cast ,(string->symbol #`",(tag->ctype tag)*") ,(tag->accessor tag expr))) (define (tag->ctype tag) (ecase tag [(u8) 'GLubyte] [(s8) 'GLbyte] [(u16) 'GLushort] [(s16) 'GLshort] [(u32) 'GLuint] [(s32) 'GLint] [(f32 m4f p4f v4f p4farray v4farray qf) 'GLfloat] [(f64 args) 'GLdouble])) (define (tag->suffix tag) (ecase tag [(s8) "b"] [(u8) "ub"] [(s16) "s"] [(u16) "us"] [(s32) "i"] [(u32) "ui"] [(f32 m4f p4f v4f p4farray v4farray qf) "f"] [(f64 args) "d"])) (define (tag->enum tag) (ecase tag [(u8) 'GL_UNSIGNED_BYTE] [(s8) 'GL_BYTE] [(u16) 'GL_UNSIGNED_SHORT] [(s16) 'GL_SHORT] [(u32) 'GL_UNSIGNED_INT] [(s32) 'GL_INT] [(f32 m4f p4f v4f p4farray v4farray qf) 'GL_FLOAT] [(f64 args) 'GL_DOUBLE])) (define (tag->accessor tag expr) (ecase tag [(u8 s8 u16 s16 u32 s32 f32 f64) `(SCM_UVECTOR_ELEMENTS ,expr)] [(m4f) `(SCM_MATRIX4F_D ,expr)] [(p4f v4f) `(SCM_VECTOR4F_D ,expr)] [(p4farray) `(SCM_POINT4F_ARRAY_D ,expr)] [(v4farray) `(SCM_VECTOR4F_ARRAY_D ,expr)] [(qf) `(SCM_QUATF_D ,expr)] [(args) expr])) (define (gen-fname tag nelems fname-template) (string->symbol (regexp-replace-all* fname-template #/~n/ (^_ (if nelems (x->string nelems) "")) #/~t/ (^_ (tag->suffix tag)) #/~v/ (^_ #`",(tag->suffix tag)v")))) (define (subst-template s tag nelems var) (match s ['~n nelems] ['~E (tag->enum tag)] ['~T (tag->ctype tag)] ['~X (tag->accessor tag var)] [(a . b) (cons (subst-template a tag nelems var) (subst-template b tag nelems var))] [(? string? fname) (gen-fname tag nelems fname)] [else s])) (define (gen-call tag nelems var) (match template [(? string? template) `(,(gen-fname tag nelems template) ,(do-cast tag var))] [exprs (subst-template exprs tag nelems var)])) (define (gen-dispatch-case tag nelems var) `[(,nelems) ,(gen-call tag nelems var)]) (define (gen-error var) (if (string? error-fmt) `(Scm_Error ,error-fmt ,var) error-fmt)) (define (gen-dispatch-tag tag nelems-list) (match nelems-list [() `[(,(type-pred tag) ,(car var)) ,(gen-call tag (case tag [(m4f) 16] [(p4f v4f qf) 4] [else #f]) (car var))]] [(nelems . nelems*) (case tag [(m4f p4f v4f p4farray v4farray qf) `[(,(type-pred tag) ,(car var)) ,(gen-call tag nelems (car var))]] [(args) (let ([val (gensym)] [nvals (gensym)]) `[else (let* ([,val :: (.array double (4))] [,nvals :: int (Scm_GLGetDoubles ,@var ,val ,(apply max nelems-list) ,(apply min nelems-list))]) (case ,nvals ,@(map (cut gen-dispatch-case tag <> val) nelems-list) ))])] [else `[(,(type-pred tag) ,(car var)) (case (SCM_UVECTOR_SIZE ,(car var)) ,@(map (cut gen-dispatch-case tag <> (car var)) nelems-list) (else ,(gen-error (car var))))]])])) `(cond ,@(map (^d (gen-dispatch-tag (car d) (cdr d))) dispatches) ,@(cond [(assq 'args dispatches) '()] [(null? maybe-fallback) `((else ,(gen-error (car var))))] [else `((else ,(car maybe-fallback)))]))]) ;; Other useful macros. ;; Check if var is a proper type of uvector with desired size (define-cise-stmt assert-vector-type&size [(_ type size var) (let* ([TYPE (string-upcase (x->string type))] [pred (string->symbol #`"SCM_,|TYPE|VECTORP")] [getsize (string->symbol #`"SCM_,|TYPE|VECTOR_SIZE")] [msg #`",type of size ,size required,, but got %S"]) `(when (or (not (,pred ,var)) (!= (,getsize ,var) ,size)) (Scm_Error ,msg ,var)))]) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/test-simple.scm�������������������������������������������������������������������0000644�0000764�0000764�00000000454�12325660675�015775� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; ;; test for gl.simple.* module ;; (use gauche.test) (add-load-path "../lib") (test-start "gl.simple.*") (test-section "gl.simple.viewer") (use gl.simple.viewer) (test-module 'gl.simple.viewer) (test-section "gl.simple.image") (use gl.simple.image) (test-module 'gl.simple.image) (test-end) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gauche-glut.c���������������������������������������������������������������������0000644�0000764�0000764�00000031143�12342246752�015366� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * gauche-glut.c - Gauche GLUT binding * * Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 3. Neither the name of the authors nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <gauche.h> #include <gauche/extend.h> #if MacOSX #include <GLUT/glut.h> #else #include <GL/glut.h> #endif #include "gauche-glut.h" extern void Scm_Init_glut_lib(ScmModule *mod); /*================================================================ * Glut font */ SCM_DEFINE_BUILTIN_CLASS_SIMPLE(Scm_GlutFontClass, NULL); static ScmObj makeGlutFont(void *ptr) { ScmGlutFont *gf = SCM_NEW(ScmGlutFont); SCM_SET_CLASS(gf, SCM_CLASS_GLUT_FONT); gf->font = ptr; return SCM_OBJ(gf); } /*================================================================ * Callback support. * * Glut callbacks are associated to the "current window". * unfortunately the callback interface doesn't allow us * to pass extra data pointer, so our C callback routine * doesn't know which Scheme closure to be called. We maintain * that information in our table. * * TODO: We don't want to use Scm_ApplyRec, for we need to cons * the arguments (display is ok, but motion and passiveMotion generates * garbages which will eventurally trigger GC.) Rewrite *_cb functions * after we implement Scm_ApplyRec0, Scm_ApplyRec1, .., etc. in * Gauche core. */ static ScmObj ScmGlutCallbackTable = SCM_UNDEFINED; /* set by init routine */ static ScmObj get_callback(int type) { int win = glutGetWindow(); ScmObj entry = Scm_HashTableRef(SCM_HASH_TABLE(ScmGlutCallbackTable), SCM_MAKE_INT(win), SCM_FALSE); SCM_ASSERT(type >= 0 && type < SCM_GLUT_NUM_WINDOW_CBS); if (SCM_VECTORP(entry)) { return SCM_VECTOR_ELEMENT(entry, type); } else { return SCM_FALSE; } } #define define_callback(name, num, arglist, args) \ static void SCM_CPP_CAT(name, _cb) arglist \ { \ ScmObj cb = get_callback(SCM_CPP_CAT(SCM_GLUT_CB_, num)); \ if (!SCM_FALSEP(cb)) { \ Scm_ApplyRec(cb, args); \ } \ } define_callback(display, DISPLAY, (void), SCM_NIL) define_callback(overlay_display, OVERLAY_DISPLAY, (void), SCM_NIL) define_callback(reshape, RESHAPE, (int w, int h), SCM_LIST2(SCM_MAKE_INT(w), SCM_MAKE_INT(h))); define_callback(keyboard, KEYBOARD, (unsigned char key, int w, int h), SCM_LIST3(SCM_MAKE_INT(key), SCM_MAKE_INT(w), SCM_MAKE_INT(h))) define_callback(keyboard_up, KEYBOARD_UP, (unsigned char key, int w, int h), SCM_LIST3(SCM_MAKE_INT(key), SCM_MAKE_INT(w), SCM_MAKE_INT(h))) define_callback(mouse, MOUSE, (int button, int state, int x, int y), SCM_LIST4(SCM_MAKE_INT(button), SCM_MAKE_INT(state), SCM_MAKE_INT(x), SCM_MAKE_INT(y))) define_callback(motion, MOTION, (int x, int y), SCM_LIST2(SCM_MAKE_INT(x), SCM_MAKE_INT(y))) define_callback(passive_motion, PASSIVE_MOTION, (int x, int y), SCM_LIST2(SCM_MAKE_INT(x), SCM_MAKE_INT(y))) define_callback(visibility, VISIBILITY, (int state), SCM_LIST1(SCM_MAKE_INT(state))) define_callback(entry, ENTRY, (int state), SCM_LIST1(SCM_MAKE_INT(state))) define_callback(special, SPECIAL, (int key, int w, int h), SCM_LIST3(SCM_MAKE_INT(key), SCM_MAKE_INT(w), SCM_MAKE_INT(h))) define_callback(special_up, SPECIAL_UP, (int key, int w, int h), SCM_LIST3(SCM_MAKE_INT(key), SCM_MAKE_INT(w), SCM_MAKE_INT(h))) define_callback(spaceball_motion, SPACEBALL_MOTION, (int x, int y, int z), SCM_LIST3(SCM_MAKE_INT(x), SCM_MAKE_INT(y), SCM_MAKE_INT(z))) define_callback(spaceball_rotate, SPACEBALL_ROTATE, (int x, int y, int z), SCM_LIST3(SCM_MAKE_INT(x), SCM_MAKE_INT(y), SCM_MAKE_INT(z))) define_callback(spaceball_button, SPACEBALL_BUTTON, (int button, int state), SCM_LIST2(SCM_MAKE_INT(button), SCM_MAKE_INT(state))) define_callback(button_box, BUTTON_BOX, (int button, int state), SCM_LIST2(SCM_MAKE_INT(button), SCM_MAKE_INT(state))) define_callback(dials, DIALS, (int dial, int value), SCM_LIST2(SCM_MAKE_INT(dial), SCM_MAKE_INT(value))) define_callback(tablet_motion, TABLET_MOTION, (int x, int y), SCM_LIST2(SCM_MAKE_INT(x), SCM_MAKE_INT(y))) define_callback(tablet_button, TABLET_BUTTON, (int button, int state, int x, int y), SCM_LIST4(SCM_MAKE_INT(button), SCM_MAKE_INT(state), SCM_MAKE_INT(x), SCM_MAKE_INT(y))) define_callback(menu_status, MENU_STATUS, (int status, int x, int y), SCM_LIST3(SCM_MAKE_INT(status), SCM_MAKE_INT(x), SCM_MAKE_INT(y))) define_callback(window_status, WINDOW_STATUS, (int status), SCM_LIST1(SCM_MAKE_INT(status))) define_callback(joystick, JOYSTICK, (unsigned int mask, int x, int y, int z), SCM_LIST4(SCM_MAKE_INT(mask), SCM_MAKE_INT(x), SCM_MAKE_INT(y), SCM_MAKE_INT(z))) /* global callbacks */ static ScmObj idle_closure = SCM_FALSE; static void idle_cb(void) { if (!SCM_FALSEP(idle_closure)) { Scm_ApplyRec(idle_closure, SCM_NIL); } } static ScmObj timer_closure = SCM_FALSE; static void timer_cb(int value) { if (!SCM_FALSEP(timer_closure)) { Scm_ApplyRec(timer_closure, SCM_LIST1(Scm_MakeInteger(value))); } } /* NB: these functions are new addition by freeglut. we provide dummy functions for older versions. */ #if !(GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) static void glutKeyboardUpFunc(void (*fn)(unsigned char, int, int)) { Scm_Warn("glutKeyboardUpFunc unsupported in this version of GLUT"); } static void glutSpecialUpFunc(void (*fn)(int, int, int)) { Scm_Warn("glutSpecialUpFunc unsupported in this version of GLUT"); } static void glutJoystickFunc(void (*fn)(unsigned int, int, int, int), int interval) { Scm_Warn("glutJoystickFunc unsupported in this version of GLUT"); } static void glutWindowStatusFunc(void (*fn)(unsigned int, int, int, int)) { Scm_Warn("glutWindowStatusFunc unsupported in this version of GLUT"); } #endif #define define_registrar(glutfn, cbname) \ static void SCM_CPP_CAT(register_, cbname)(int flag, int xtra) \ { \ if (flag) { \ glutfn(SCM_CPP_CAT(cbname, _cb)); \ } else { \ glutfn(NULL); \ } \ } define_registrar(glutDisplayFunc, display) define_registrar(glutOverlayDisplayFunc, overlay_display) define_registrar(glutReshapeFunc, reshape) define_registrar(glutKeyboardFunc, keyboard) define_registrar(glutKeyboardUpFunc, keyboard_up) define_registrar(glutMouseFunc, mouse) define_registrar(glutMotionFunc, motion) define_registrar(glutPassiveMotionFunc, passive_motion) define_registrar(glutVisibilityFunc, visibility) define_registrar(glutEntryFunc, entry) define_registrar(glutSpecialFunc, special) define_registrar(glutSpecialUpFunc, special_up) define_registrar(glutSpaceballMotionFunc, spaceball_motion) define_registrar(glutSpaceballRotateFunc, spaceball_rotate) define_registrar(glutSpaceballButtonFunc, spaceball_button) define_registrar(glutButtonBoxFunc, button_box) define_registrar(glutDialsFunc, dials) define_registrar(glutTabletMotionFunc, tablet_motion) define_registrar(glutTabletButtonFunc, tablet_button) define_registrar(glutMenuStatusFunc, menu_status) define_registrar(glutWindowStatusFunc, window_status) /* joystick fn is a bit different */ static void register_joystick(int flag, int interval) { if (flag) { glutJoystickFunc(joystick_cb, interval); } else { glutJoystickFunc(NULL, interval); } } /* NB: order must match SCM_GLUT_CB_* enums */ static void (*registrars[])(int flag, int xtra) = { register_display, register_overlay_display, register_reshape, register_keyboard, register_mouse, register_motion, register_passive_motion, register_visibility, register_entry, register_special, register_spaceball_motion, register_spaceball_rotate, register_spaceball_button, register_button_box, register_dials, register_tablet_motion, register_tablet_button, register_menu_status, register_window_status, register_keyboard_up, register_special_up, register_joystick, }; /* * External entry to manage registering callbacks * 'xtra1' and 'xtra2' are ignored by most callbacks; only the two callbacks * use them: * glutTimerFunc: xtra1 for millliseconds, xtra2 for value * glutJoystickFunc: xtra1 for interval */ void Scm_GlutRegisterCallback(int type, ScmObj closure, int xtra1, int xtra2) { SCM_ASSERT(type >= 0 && type < SCM_GLUT_NUM_CBS); if (type < SCM_GLUT_NUM_WINDOW_CBS) { int win = glutGetWindow(); ScmObj entry = Scm_HashTableRef(SCM_HASH_TABLE(ScmGlutCallbackTable), SCM_MAKE_INT(win), SCM_FALSE); if (SCM_EQ(entry, SCM_FALSE)) { entry = Scm_MakeVector(SCM_GLUT_NUM_WINDOW_CBS, SCM_FALSE); Scm_HashTableSet(SCM_HASH_TABLE(ScmGlutCallbackTable), SCM_MAKE_INT(win), entry, 0); } SCM_VECTOR_ELEMENT(entry, type) = closure; registrars[type](!SCM_FALSEP(closure), xtra1); } else if (type == SCM_GLUT_CB_IDLE) { idle_closure = closure; if (SCM_FALSEP(closure)) { glutIdleFunc(NULL); } else { glutIdleFunc(idle_cb); } } else { timer_closure = closure; if (!SCM_FALSEP(closure)) { glutTimerFunc(xtra1, timer_cb, xtra2); } } } /*================================================================ * Initialization */ void Scm_Init_libgauche_glut(void) { ScmModule *mod; SCM_INIT_EXTENSION(libgauche_glut); mod = SCM_MODULE(SCM_FIND_MODULE("gl.glut", TRUE)); Scm_Init_glut_lib(mod); /* Callback table */ ScmGlutCallbackTable = Scm_MakeHashTableSimple(SCM_HASH_EQV, 0); /* Glut built-in fonts */ #define DEFFONT(name) Scm_DefineConst(mod, SCM_SYMBOL(SCM_INTERN(#name)), makeGlutFont(name)) /* Stroke font constants (use these in GLUT program). */ DEFFONT(GLUT_STROKE_ROMAN); DEFFONT(GLUT_STROKE_MONO_ROMAN); /* Bitmap font constants (use these in GLUT program). */ DEFFONT(GLUT_BITMAP_9_BY_15); DEFFONT(GLUT_BITMAP_8_BY_13); DEFFONT(GLUT_BITMAP_TIMES_ROMAN_10); DEFFONT(GLUT_BITMAP_TIMES_ROMAN_24); #if (GLUT_API_VERSION >= 3) DEFFONT(GLUT_BITMAP_HELVETICA_10); DEFFONT(GLUT_BITMAP_HELVETICA_12); DEFFONT(GLUT_BITMAP_HELVETICA_18); #endif } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gauche-glut.h���������������������������������������������������������������������0000644�0000764�0000764�00000006247�12342246752�015402� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * gauche-glut.h - Gauche GLUT binding * * Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 3. Neither the name of the authors nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef GAUCHE_GLUT_H #define GAUCHE_GLUT_H /* opaque pointer for glut font */ typedef struct ScmGlutFontRec { SCM_HEADER; void *font; } ScmGlutFont; SCM_CLASS_DECL(Scm_GlutFontClass); #define SCM_CLASS_GLUT_FONT (&Scm_GlutFontClass) #define SCM_GLUT_FONT_P(obj) (SCM_XTYPEP(obj, SCM_CLASS_GLUT_FONT)) #define SCM_GLUT_FONT(obj) ((ScmGlutFont*)(obj)) /* glut callback table */ enum { /* per-window callbacks */ SCM_GLUT_CB_DISPLAY, SCM_GLUT_CB_OVERLAY_DISPLAY, SCM_GLUT_CB_RESHAPE, SCM_GLUT_CB_KEYBOARD, SCM_GLUT_CB_MOUSE, SCM_GLUT_CB_MOTION, SCM_GLUT_CB_PASSIVE_MOTION, SCM_GLUT_CB_VISIBILITY, SCM_GLUT_CB_ENTRY, SCM_GLUT_CB_SPECIAL, SCM_GLUT_CB_SPACEBALL_MOTION, SCM_GLUT_CB_SPACEBALL_ROTATE, SCM_GLUT_CB_SPACEBALL_BUTTON, SCM_GLUT_CB_BUTTON_BOX, SCM_GLUT_CB_DIALS, SCM_GLUT_CB_TABLET_MOTION, SCM_GLUT_CB_TABLET_BUTTON, SCM_GLUT_CB_MENU_STATUS, SCM_GLUT_CB_WINDOW_STATUS, /* freeglut addition (glut API version 4) */ SCM_GLUT_CB_KEYBOARD_UP, /* freeglut addition (glut API version 4) */ SCM_GLUT_CB_SPECIAL_UP, /* freeglut addition (glut API version 4) */ SCM_GLUT_CB_JOYSTICK, /* freeglut addition (glut API version 4) */ SCM_GLUT_NUM_WINDOW_CBS, /* marker */ /* global callbacks */ SCM_GLUT_CB_IDLE = SCM_GLUT_NUM_WINDOW_CBS, SCM_GLUT_CB_TIMER, SCM_GLUT_NUM_CBS }; extern void Scm_GlutRegisterCallback(int type, ScmObj closure, int xtra1, int xtra2); #endif /*GAUCHE_GLUT_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gauche-math3d.c�������������������������������������������������������������������0000644�0000764�0000764�00000121310�12342246752�015567� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * gauche-math3d.c - 3D vector and matrix arithmetics * * Copyright (c) 2002-2014 Shiro Kawai <shiro@acm.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 3. Neither the name of the authors nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <math.h> #include <gauche.h> #include <gauche/extend.h> #include <gauche/uvector.h> #include "gauche/math3d.h" /* * Sequence CPL */ static ScmClass *sequenceCPL[] = { SCM_CLASS_STATIC_PTR(Scm_SequenceClass), SCM_CLASS_STATIC_PTR(Scm_CollectionClass), SCM_CLASS_STATIC_PTR(Scm_TopClass), NULL }; #define ALLOC_FV(len) SCM_NEW_ATOMIC2(float*, (len)*sizeof(float)) #define CHECK_F32V(v, len) \ do { \ if (SCM_F32VECTOR_SIZE(v) != (len)) { \ Scm_Error("f32vector of size %d required, but got %S", \ (len), (v)); \ } \ } while (0) /*============================================================= * Vector4f */ static void vec_print(ScmObj obj, ScmPort *out, ScmWriteContext *ctx) { Scm_Printf(out, "#,(vector4f %g %g %g %g)", SCM_VECTOR4F_D(obj)[0], SCM_VECTOR4F_D(obj)[1], SCM_VECTOR4F_D(obj)[2], SCM_VECTOR4F_D(obj)[3]); } static int vec_compare(ScmObj x, ScmObj y, int equalp) { if (equalp) { if (SCM_VECTOR4F_D(x)[0] == SCM_VECTOR4F_D(y)[0] && SCM_VECTOR4F_D(x)[1] == SCM_VECTOR4F_D(y)[1] && SCM_VECTOR4F_D(x)[2] == SCM_VECTOR4F_D(y)[2] && SCM_VECTOR4F_D(x)[3] == SCM_VECTOR4F_D(y)[3]) { return 0; } else { return -1; } } else { Scm_Error("can't order %S and %S", x, y); return 0; /* dummy */ } } SCM_DEFINE_BUILTIN_CLASS(Scm_Vector4fClass, vec_print, vec_compare, NULL, NULL, sequenceCPL); ScmObj Scm_MakeVector4f(float x, float y, float z, float w) { ScmVector4f *v = SCM_NEW(ScmVector4f); SCM_SET_CLASS(v, SCM_CLASS_VECTOR4F); v->v = ALLOC_FV(4); SCM_VECTOR4F_D(v)[0] = x; SCM_VECTOR4F_D(v)[1] = y; SCM_VECTOR4F_D(v)[2] = z; SCM_VECTOR4F_D(v)[3] = w; return SCM_OBJ(v); } ScmObj Scm_MakeVector4fvShared(float d[]) { ScmVector4f *v; v = SCM_NEW(ScmVector4f); SCM_SET_CLASS(v, SCM_CLASS_VECTOR4F); v->v = d; return SCM_OBJ(v); } ScmObj Scm_MakeVector4fv(const float *d) { if (d) return Scm_MakeVector4f(d[0], d[1], d[2], d[3]); else return Scm_MakeVector4f(0.0, 0.0, 0.0, 0.0); } ScmObj Scm_Vector4fSetv(ScmVector4f *v, float *d) { float *fp = SCM_VECTOR4F_D(v); fp[0] = d[0]; fp[1] = d[1]; fp[2] = d[2]; fp[3] = d[3]; return SCM_OBJ(v); } /* common routine for list->vector4f and list->point4f */ static void list2vec(ScmObj l, float *d, float init3) { int i; ScmObj lp = l; for (i=0; i<3; i++, lp = SCM_CDR(lp)) { if (!SCM_PAIRP(lp)) goto badlist; if (!SCM_REALP(SCM_CAR(lp))) goto badlist; d[i] = (float)Scm_GetDouble(SCM_CAR(lp)); } if (SCM_PAIRP(lp)) { if (!SCM_REALP(SCM_CAR(lp))) goto badlist; d[3] = (float)Scm_GetDouble(SCM_CAR(lp)); lp = SCM_CDR(lp); } else { d[3] = init3; } if (SCM_NULLP(lp)) return; badlist: Scm_Error("list of 3 or 4 real numbers required, but got %S", l); } ScmObj Scm_ListToVector4f(ScmObj l) { float d[4]; list2vec(l, d, 0.0); return Scm_MakeVector4fv(d); } ScmObj Scm_Vector4fToList(const ScmVector4f *v) { return SCM_LIST4(Scm_MakeFlonum(SCM_VECTOR4F_D(v)[0]), Scm_MakeFlonum(SCM_VECTOR4F_D(v)[1]), Scm_MakeFlonum(SCM_VECTOR4F_D(v)[2]), Scm_MakeFlonum(SCM_VECTOR4F_D(v)[3])); } float Scm_Vector4fDot(const ScmVector4f *p, const ScmVector4f *q) { return (SCM_VECTOR4F_DOTV(SCM_VECTOR4F_D(p), SCM_VECTOR4F_D(q))); } float Scm_Vector4fDotv(const float *p, const float *q) { return SCM_VECTOR4F_DOTV(p, q); } ScmObj Scm_Vector4fCross(const ScmVector4f *p, const ScmVector4f *q) { float r[4]; SCM_VECTOR4F_CROSSV(r, SCM_VECTOR4F_D(p), SCM_VECTOR4F_D(q)); return Scm_MakeVector4fv(r); } void Scm_Vector4fCrossv(float *r, const float *p, const float *q) { SCM_VECTOR4F_CROSSV(r, p, q); } ScmObj Scm_Vector4fNormalize(const ScmVector4f *p) { float r[4]; r[0] = SCM_VECTOR4F_D(p)[0]; r[1] = SCM_VECTOR4F_D(p)[1]; r[2] = SCM_VECTOR4F_D(p)[2]; r[3] = SCM_VECTOR4F_D(p)[3]; SCM_VECTOR4F_NORMALIZEV(r); return Scm_MakeVector4fv(r); } void Scm_Vector4fNormalizev(float *p) { SCM_VECTOR4F_NORMALIZEV(p); } ScmObj Scm_Vector4fNormalizeX(ScmVector4f *p) { SCM_VECTOR4F_NORMALIZEV(SCM_VECTOR4F_D(p)); return SCM_OBJ(p); } ScmObj Scm_Vector4fAdd(const ScmVector4f *p, const ScmVector4f *q) { float r[4]; SCM_VECTOR4F_ADDV(r, SCM_VECTOR4F_D(p), SCM_VECTOR4F_D(q)); return Scm_MakeVector4fv(r); } void Scm_Vector4fAddv(float *r, const float *p, const float *q) { SCM_VECTOR4F_ADDV(r, p, q); } ScmObj Scm_Vector4fSub(const ScmVector4f *p, const ScmVector4f *q) { float r[4]; SCM_VECTOR4F_SUBV(r, SCM_VECTOR4F_D(p), SCM_VECTOR4F_D(q)); return Scm_MakeVector4fv(r); } void Scm_Vector4fSubv(float *r, const float *p, const float *q) { SCM_VECTOR4F_SUBV(r, p, q); } /*============================================================= * VectorArray */ static void vec_array_print(ScmObj obj, ScmPort *out, ScmWriteContext *ctx) { ScmVector4fArray *va = SCM_VECTOR4F_ARRAY(obj); int len = SCM_VECTOR4F_ARRAY_SIZE(va), i; Scm_Printf(out, "#,(vector4f-array %d ", len); for (i = 0; i < len; i++) { float *z = Scm_Vector4fArrayRefv(va, i); Scm_Printf(out, "(%g %g %g %g) ", z[0], z[1], z[2], z[3]); } Scm_Printf(out, ")"); } static int vec_array_compare(ScmObj x, ScmObj y, int equalp) { if (equalp) { int i, len = SCM_VECTOR4F_ARRAY_SIZE(x); float *p = SCM_VECTOR4F_ARRAY_D(x), *q = SCM_VECTOR4F_ARRAY_D(y); if (len != SCM_VECTOR4F_ARRAY_SIZE(y)) return 0; for (i=0; i<len*4; i++) { if (*p++ != *q++) return 0; } return -1; } else { Scm_Error("can't order %S and %S", x, y); return 0; /* dummy */ } } SCM_DEFINE_BUILTIN_CLASS(Scm_Vector4fArrayClass, vec_array_print, vec_array_compare, NULL, NULL, sequenceCPL); ScmObj Scm_MakeVector4fArrayv(int nvecs, const float *init) { int i; ScmVector4fArray *a; SCM_ASSERT(nvecs >= 0); a = SCM_NEW(ScmVector4fArray); SCM_SET_CLASS(a, SCM_CLASS_VECTOR4F_ARRAY); a->size = nvecs; a->v = ALLOC_FV(nvecs*4); if (init) { for (i=0;i<nvecs;i++) { SCM_VECTOR4F_ARRAY_SET(a, i, init[0], init[1], init[2], init[3]); } } else { for (i=0;i<nvecs*4;i++) SCM_VECTOR4F_ARRAY_D(a)[i] = 0.0; } return SCM_OBJ(a); } ScmObj Scm_MakeVector4fArrayV(ScmF32Vector *fv) { int size; ScmVector4fArray *a; size = SCM_F32VECTOR_SIZE(fv); if (size % 4 != 0) { Scm_Error("f32vector size must be multiple of 4, but got %S", fv); } a = SCM_NEW(ScmVector4fArray); SCM_SET_CLASS(a, SCM_CLASS_VECTOR4F_ARRAY); a->size = size/4; a->v = SCM_F32VECTOR_ELEMENTS(fv); /* share the storage */ return SCM_OBJ(a); } ScmObj Scm_Vector4fArrayRef(const ScmVector4fArray *a, int n, ScmObj fallback) { if (n < 0 || n >= SCM_VECTOR4F_ARRAY_SIZE(a)) { if (SCM_UNBOUNDP(fallback)) Scm_Error("index out of range"); return fallback; } return Scm_MakeVector4fv(SCM_VECTOR4F_ARRAY_REFV(a, n)); } ScmObj Scm_Vector4fArrayRefShared(ScmVector4fArray *a, int n, ScmObj fallback) { if (n < 0 || n >= SCM_VECTOR4F_ARRAY_SIZE(a)) { if (SCM_UNBOUNDP(fallback)) Scm_Error("index out of range"); return fallback; } return Scm_MakeVector4fvShared(SCM_VECTOR4F_ARRAY_REFV(a, n)); } float *Scm_Vector4fArrayRefv(ScmVector4fArray *a, int n) { return SCM_VECTOR4F_ARRAY_REFV(a, n); } void Scm_Vector4fArraySet(ScmVector4fArray *a, int n, ScmVector4f *v) { Scm_Vector4fArraySetv(a, n, SCM_VECTOR4F_D(v)); } void Scm_Vector4fArraySetv(ScmVector4fArray *a, int n, float d[]) { if (n < 0 || n >= SCM_VECTOR4F_ARRAY_SIZE(a)) { Scm_Error("index out of range"); } SCM_VECTOR4F_ARRAY_SET(a, n, d[0], d[1], d[2], d[3]); } /*============================================================= * Pointf - is just a vector with different default value. */ static void point_print(ScmObj obj, ScmPort *out, ScmWriteContext *ctx) { Scm_Printf(out, "#,(point4f %g %g %g %g)", SCM_VECTOR4F_D(obj)[0], SCM_VECTOR4F_D(obj)[1], SCM_VECTOR4F_D(obj)[2], SCM_VECTOR4F_D(obj)[3]); } #define point_compare vec_compare SCM_DEFINE_BUILTIN_CLASS(Scm_Point4fClass, point_print, point_compare, NULL, NULL, sequenceCPL); ScmObj Scm_MakePoint4f(float x, float y, float z, float w) { ScmPoint4f *v = SCM_NEW(ScmPoint4f); SCM_SET_CLASS(v, SCM_CLASS_POINT4F); v->v = ALLOC_FV(4); SCM_POINT4F_D(v)[0] = x; SCM_POINT4F_D(v)[1] = y; SCM_POINT4F_D(v)[2] = z; SCM_POINT4F_D(v)[3] = w; return SCM_OBJ(v); } ScmObj Scm_MakePoint4fv(const float *d) { if (d) return Scm_MakePoint4f(d[0], d[1], d[2], d[3]); else return Scm_MakePoint4f(0.0, 0.0, 0.0, 1.0); } ScmObj Scm_MakePoint4fvShared(float d[]) { ScmPoint4f *v; v = SCM_NEW(ScmPoint4f); SCM_SET_CLASS(v, SCM_CLASS_POINT4F); v->v = d; return SCM_OBJ(v); } ScmObj Scm_Point4fSetv(ScmPoint4f *v, float *d) { float *fp = SCM_POINT4F_D(v); fp[0] = d[0]; fp[1] = d[1]; fp[2] = d[2]; fp[3] = d[3]; return SCM_OBJ(v); } ScmObj Scm_ListToPoint4f(ScmObj l) { float d[4]; list2vec(l, d, 1.0); return Scm_MakePoint4fv(d); } ScmObj Scm_Point4fToList(const ScmPoint4f *p) { return SCM_LIST4(Scm_MakeFlonum(SCM_POINT4F_D(p)[0]), Scm_MakeFlonum(SCM_POINT4F_D(p)[1]), Scm_MakeFlonum(SCM_POINT4F_D(p)[2]), Scm_MakeFlonum(SCM_POINT4F_D(p)[3])); } ScmObj Scm_Point4fAdd(const ScmPoint4f *p, const ScmVector4f *q) { float r[4]; SCM_VECTOR4F_ADDV(r, SCM_POINT4F_D(p), SCM_VECTOR4F_D(q)); return Scm_MakePoint4fv(r); } ScmObj Scm_Point4fSub(const ScmVector4f *p, const ScmObj q) { float r[4]; if (SCM_POINT4FP(q)) { SCM_VECTOR4F_SUBV(r, SCM_POINT4F_D(p), SCM_POINT4F_D(q)); return Scm_MakeVector4fv(r); } if (SCM_VECTOR4FP(q)) { SCM_VECTOR4F_SUBV(r, SCM_POINT4F_D(p), SCM_VECTOR4F_D(q)); return Scm_MakePoint4fv(r); } Scm_Error("<point4f> or <vector4f> required, but got %S", q); return SCM_UNDEFINED; } /*============================================================= * Point4fArray */ static void point_array_print(ScmObj obj, ScmPort *out, ScmWriteContext *ctx) { ScmPoint4fArray *va = SCM_POINT4F_ARRAY(obj); int len = SCM_POINT4F_ARRAY_SIZE(va), i; Scm_Printf(out, "#,(point4f-array %d ", len); for (i = 0; i < len; i++) { float *z = Scm_Point4fArrayRefv(va, i); Scm_Printf(out, "(%g %g %g %g) ", z[0], z[1], z[2], z[3]); } Scm_Printf(out, ")"); } #define point_array_compare vec_array_compare SCM_DEFINE_BUILTIN_CLASS(Scm_Point4fArrayClass, point_array_print, point_array_compare, NULL, NULL, sequenceCPL); ScmObj Scm_MakePoint4fArrayv(int len, const float *init) { int i; ScmPoint4fArray *a; SCM_ASSERT(len >= 0); a = SCM_NEW(ScmPoint4fArray); SCM_SET_CLASS(a, SCM_CLASS_POINT4F_ARRAY); a->size = len; a->v = ALLOC_FV(len*4); if (init) { for (i=0;i<len;i++) { SCM_POINT4F_ARRAY_SET(a, i, init[0], init[1], init[2], init[3]); } } else { for (i=0;i<len*4;i++) SCM_POINT4F_ARRAY_D(a)[i] = 0.0; } return SCM_OBJ(a); } ScmObj Scm_MakePoint4fArrayV(ScmF32Vector *fv) { int size; ScmPoint4fArray *a; size = SCM_F32VECTOR_SIZE(fv); if (size % 4 != 0) { Scm_Error("f32vector size must be multiple of 4, but got %S", fv); } a = SCM_NEW(ScmPoint4fArray); SCM_SET_CLASS(a, SCM_CLASS_POINT4F_ARRAY); a->size = size/4; a->v = SCM_F32VECTOR_ELEMENTS(fv); return SCM_OBJ(a); } ScmObj Scm_Point4fArrayRef(const ScmPoint4fArray *a, int n, ScmObj fallback) { if (n < 0 || n >= SCM_POINT4F_ARRAY_SIZE(a)) { if (SCM_UNBOUNDP(fallback)) Scm_Error("index out of range"); return fallback; } return Scm_MakePoint4fv(SCM_POINT4F_ARRAY_REFV(a, n)); } ScmObj Scm_Point4fArrayRefShared(ScmPoint4fArray *a, int n, ScmObj fallback) { if (n < 0 || n >= SCM_POINT4F_ARRAY_SIZE(a)) { if (SCM_UNBOUNDP(fallback)) Scm_Error("index out of range"); return fallback; } return Scm_MakePoint4fvShared(SCM_POINT4F_ARRAY_REFV(a, n)); } float *Scm_Point4fArrayRefv(ScmPoint4fArray *a, int n) { return SCM_POINT4F_ARRAY_REFV(a, n); } void Scm_Point4fArraySet(ScmPoint4fArray *a, int n, ScmPoint4f *v) { if (n < 0 || n >= SCM_POINT4F_ARRAY_SIZE(a)) { Scm_Error("index out of range"); } SCM_POINT4F_ARRAY_SET(a, n, SCM_POINT4F_D(v)[0], SCM_POINT4F_D(v)[1], SCM_POINT4F_D(v)[2], SCM_POINT4F_D(v)[3]); } void Scm_Point4fArraySetv(ScmPoint4fArray *a, int n, float d[]) { SCM_POINT4F_ARRAY_SET(a, n, d[0], d[1], d[2], d[3]); } /*============================================================= * Matrix */ static void mat_print(ScmObj obj, ScmPort *out, ScmWriteContext *ctx) { int i; ScmMatrix4f *m = SCM_MATRIX4F(obj); Scm_Printf(out, "#,(matrix4f"); for (i=0; i<16; i++) { Scm_Printf(out, " %g", SCM_MATRIX4F_D(m)[i]); } Scm_Printf(out, ")"); } static int mat_compare(ScmObj x, ScmObj y, int equalp) { if (equalp) { int i; float *p = SCM_MATRIX4F_D(x), *q = SCM_MATRIX4F_D(y); for (i=0; i<16; i++) { if (*p++ != *q++) return -1; } return 0; } else { Scm_Error("can't order matrix %S and %S", x, y); return 0; /* dummy */ } } SCM_DEFINE_BUILTIN_CLASS(Scm_Matrix4fClass, mat_print, mat_compare, NULL, NULL, sequenceCPL); ScmObj Scm_MakeMatrix4fv(const float *d) { ScmMatrix4f *m = SCM_NEW(ScmMatrix4f); int i; SCM_SET_CLASS(m, SCM_CLASS_MATRIX4F); m->v = ALLOC_FV(16); if (d == NULL) { Scm_Matrix4fSetIdentityv(SCM_MATRIX4F_D(m)); } else { for (i=0; i<16; i++) SCM_MATRIX4F_D(m)[i] = d[i]; } return SCM_OBJ(m); } ScmObj Scm_MakeMatrix4fvShared(float *d) { ScmMatrix4f *m = SCM_NEW(ScmMatrix4f); SCM_MATRIX4F_D(m) = d; return SCM_OBJ(m); } ScmObj Scm_Matrix4fSetv(ScmMatrix4f *m, float *d) { int i; float *fp = SCM_MATRIX4F_D(m); for (i=0; i<16; i++) fp[i] = d[i]; return SCM_OBJ(m); } void Scm_Matrix4fSetIdentityv(float *p) { *p++ = 1.0; *p++ = 0.0; *p++ = 0.0; *p++ = 0.0; *p++ = 0.0; *p++ = 1.0; *p++ = 0.0; *p++ = 0.0; *p++ = 0.0; *p++ = 0.0; *p++ = 1.0; *p++ = 0.0; *p++ = 0.0; *p++ = 0.0; *p++ = 0.0; *p = 1.0; } ScmObj Scm_ListToMatrix4f(ScmObj l) { int i; ScmObj lp = l; float d[16]; for (i=0; i<16; i++, lp = SCM_CDR(lp)) { if (!SCM_PAIRP(lp)) goto badlist; if (!SCM_REALP(SCM_CAR(lp))) goto badlist; d[i] = (float)Scm_GetDouble(SCM_CAR(lp)); } if (!SCM_NULLP(lp)) goto badlist; return Scm_MakeMatrix4fv(d); badlist: Scm_Error("list of 16 real numbers required, but got %S", l); return SCM_UNDEFINED; /* dummy */ } ScmObj Scm_Matrix4fToList(const ScmMatrix4f *m) { ScmObj h = SCM_NIL, t = SCM_NIL; int i; float *p = SCM_MATRIX4F_D(m); for (i=0; i<16; i++) { SCM_APPEND1(h, t, Scm_MakeFlonum((double)p[i])); } return h; } /* Matrix X Matrix */ void Scm_Matrix4fMulMatrix4fv(float *r, const float *p, const float *q) { r[0] = p[0]*q[0]+p[4]*q[1]+p[8]*q[2]+p[12]*q[3]; r[1] = p[1]*q[0]+p[5]*q[1]+p[9]*q[2]+p[13]*q[3]; r[2] = p[2]*q[0]+p[6]*q[1]+p[10]*q[2]+p[14]*q[3]; r[3] = p[3]*q[0]+p[7]*q[1]+p[11]*q[2]+p[15]*q[3]; r[4] = p[0]*q[4]+p[4]*q[5]+p[8]*q[6]+p[12]*q[7]; r[5] = p[1]*q[4]+p[5]*q[5]+p[9]*q[6]+p[13]*q[7]; r[6] = p[2]*q[4]+p[6]*q[5]+p[10]*q[6]+p[14]*q[7]; r[7] = p[3]*q[4]+p[7]*q[5]+p[11]*q[6]+p[15]*q[7]; r[8] = p[0]*q[8]+p[4]*q[9]+p[8]*q[10]+p[12]*q[11]; r[9] = p[1]*q[8]+p[5]*q[9]+p[9]*q[10]+p[13]*q[11]; r[10] = p[2]*q[8]+p[6]*q[9]+p[10]*q[10]+p[14]*q[11]; r[11] = p[3]*q[8]+p[7]*q[9]+p[11]*q[10]+p[15]*q[11]; r[12] = p[0]*q[12]+p[4]*q[13]+p[8]*q[14]+p[12]*q[15]; r[13] = p[1]*q[12]+p[5]*q[13]+p[9]*q[14]+p[13]*q[15]; r[14] = p[2]*q[12]+p[6]*q[13]+p[10]*q[14]+p[14]*q[15]; r[15] = p[3]*q[12]+p[7]*q[13]+p[11]*q[14]+p[15]*q[15]; } ScmObj Scm_Matrix4fMulMatrix4f(const ScmMatrix4f *p, const ScmMatrix4f *q) { ScmMatrix4f *r = SCM_MATRIX4F(Scm_MakeMatrix4fv(NULL)); Scm_Matrix4fMulMatrix4fv(SCM_MATRIX4F_D(r), SCM_MATRIX4F_D(p), SCM_MATRIX4F_D(q)); return SCM_OBJ(r); } /* Matrix X Vector */ void Scm_Matrix4fMulVector4fv(float *r, const float *m, const float *v) { r[0] = m[0]*v[0]+m[4]*v[1]+m[8]*v[2]+m[12]*v[3]; r[1] = m[1]*v[0]+m[5]*v[1]+m[9]*v[2]+m[13]*v[3]; r[2] = m[2]*v[0]+m[6]*v[1]+m[10]*v[2]+m[14]*v[3]; r[3] = m[3]*v[0]+m[7]*v[1]+m[11]*v[2]+m[15]*v[3]; } ScmObj Scm_Matrix4fMulVector4f(const ScmMatrix4f *m, const ScmVector4f *v) { ScmVector4f *r = SCM_VECTOR4F(Scm_MakeVector4fv(NULL)); Scm_Matrix4fMulVector4fv(SCM_MATRIX4F_D(r), SCM_MATRIX4F_D(m), SCM_MATRIX4F_D(v)); return SCM_OBJ(r); } ScmObj Scm_Matrix4fMulPoint4f(const ScmMatrix4f *m, const ScmPoint4f *p) { ScmPoint4f *r = SCM_POINT4F(Scm_MakePoint4fv(NULL)); Scm_Matrix4fMulVector4fv(SCM_MATRIX4F_D(r), SCM_MATRIX4F_D(m), SCM_MATRIX4F_D(p)); return SCM_OBJ(r); } void Scm_Matrix4fScalev(float *r, double f) { int i; for (i=0; i<16; i++) r[i] *= f; } ScmObj Scm_Matrix4fScale(const ScmMatrix4f *m, double f) { ScmMatrix4f *r = SCM_MATRIX4F(Scm_MakeMatrix4fv(SCM_MATRIX4F_D(m))); Scm_Matrix4fScalev(SCM_MATRIX4F_D(r), f); return SCM_OBJ(r); } void Scm_Matrix4fTransposev(float *r, const float *m) { r[0] = m[0]; r[4] = m[1]; r[8] = m[2]; r[12]= m[3]; r[1] = m[4]; r[5] = m[5]; r[9] = m[6]; r[13]= m[7]; r[2] = m[8]; r[6] = m[9]; r[10]= m[10]; r[14]= m[11]; r[3] = m[12]; r[7] = m[13]; r[11]= m[14]; r[15]= m[15]; } /* * Determinant and inverse */ #define DET3(m00, m01, m02, m10, m11, m12, m20, m21, m22) \ ((m00)*(m11)*(m22) + (m10)*(m21)*(m02) + (m20)*(m01)*(m12) \ - (m00)*(m21)*(m12) - (m10)*(m01)*(m22) - (m20)*(m11)*(m02)) #define M00 m[0] #define M01 m[4] #define M02 m[8] #define M03 m[12] #define M10 m[1] #define M11 m[5] #define M12 m[9] #define M13 m[13] #define M20 m[2] #define M21 m[6] #define M22 m[10] #define M23 m[14] #define M30 m[3] #define M31 m[7] #define M32 m[11] #define M33 m[15] float Scm_Matrix4fDeterminantv(const float *m) { float d00, d10, d20, d30; d00 = M00 * DET3(M11, M12, M13, M21, M22, M23, M31, M32, M33); d10 = M10 * DET3(M01, M02, M03, M21, M22, M23, M31, M32, M33); d20 = M20 * DET3(M01, M02, M03, M11, M12, M13, M31, M32, M33); d30 = M30 * DET3(M01, M02, M03, M11, M12, M13, M21, M22, M23); return d00 - d10 + d20 - d30; } /* Returns FALSE if M is singular */ int Scm_Matrix4fInversev(float *r, const float *m) { float det = Scm_Matrix4fDeterminantv(m); if (det == 0.0) return FALSE; r[0] = DET3(M11, M12, M13, M21, M22, M23, M31, M32, M33)/det; /*d00*/ r[1] = -DET3(M10, M12, M13, M20, M22, M23, M30, M32, M33)/det; /*d01*/ r[2] = DET3(M10, M11, M13, M20, M21, M23, M30, M31, M33)/det; /*d02*/ r[3] = -DET3(M10, M11, M12, M20, M21, M22, M30, M31, M32)/det; /*d03*/ r[4] = -DET3(M01, M02, M03, M21, M22, M23, M31, M32, M33)/det; /*d10*/ r[5] = DET3(M00, M02, M03, M20, M22, M23, M30, M32, M33)/det; /*d11*/ r[6] = -DET3(M00, M01, M03, M20, M21, M23, M30, M31, M33)/det; /*d12*/ r[7] = DET3(M00, M01, M02, M20, M21, M22, M30, M31, M32)/det; /*d13*/ r[8] = DET3(M01, M02, M03, M11, M12, M13, M31, M32, M33)/det; /*d20*/ r[9] = -DET3(M00, M02, M03, M10, M12, M13, M30, M32, M33)/det; /*d21*/ r[10] = DET3(M00, M01, M03, M10, M11, M13, M30, M31, M33)/det; /*d22*/ r[11] = -DET3(M00, M01, M02, M10, M11, M12, M30, M31, M32)/det; /*d23*/ r[12] = -DET3(M01, M02, M03, M11, M12, M13, M21, M22, M23)/det; /*d30*/ r[13] = DET3(M00, M02, M03, M10, M12, M13, M20, M22, M23)/det; /*d31*/ r[14] = -DET3(M00, M01, M03, M10, M11, M13, M20, M21, M23)/det; /*d32*/ r[15] = DET3(M00, M01, M02, M10, M11, M12, M20, M21, M22)/det; /*d33*/ return TRUE; } /* * Transformation and matrices. */ void Scm_TRSToMatrix4fv(float *m, const float *t, const float *v, float phi, const float *s) { float cosp = cos(phi), sinp = sin(phi); float vxx = v[0]*v[0], vyy = v[1]*v[1], vzz = v[2]*v[2]; float vxy = v[0]*v[1], vyz = v[1]*v[2], vzx = v[2]*v[0]; m[0] = s[0] * (cosp + (1.0-cosp)*vxx); m[1] = s[0] * ((1.0-cosp)*vxy + v[2]*sinp); m[2] = s[0] * ((1.0-cosp)*vzx - v[1]*sinp); m[3] = 0.0; m[4] = s[1] * ((1.0-cosp)*vxy - v[2]*sinp); m[5] = s[1] * (cosp + (1.0-cosp)*vyy); m[6] = s[1] * ((1.0-cosp)*vyz + v[0]*sinp); m[7] = 0.0; m[8] = s[2] * ((1.0-cosp)*vzx + v[1]*sinp); m[9] = s[2] * ((1.0-cosp)*vyz - v[0]*sinp); m[10] = s[2] * (cosp + (1.0-cosp)*vzz); m[11] = 0.0; m[12] = t[0]; m[13] = t[1]; m[14] = t[2]; m[15] = 1.0; } void Scm_TQSToMatrix4fv(float *m, const float *t, const float *q, const float *s) { float x2 = q[0]*q[0], y2 = q[1]*q[1], z2 = q[2]*q[2]; float xy = q[0]*q[1], yz = q[1]*q[2], zx = q[2]*q[0]; float xw = q[0]*q[3], yw = q[1]*q[3], zw = q[2]*q[3]; m[0] = s[0] * (1-2*(y2+z2)); m[1] = s[0] * 2*(xy+zw); m[2] = s[0] * 2*(zx-yw); m[3] = 0.0; m[4] = s[1] * 2*(xy-zw); m[5] = s[1] * (1-2*(z2+x2)); m[6] = s[1] * 2*(yz+xw); m[7] = 0.0; m[8] = s[2] * 2*(zx+yw); m[9] = s[2] * 2*(yz-xw); m[10] = s[2] * (1-2*(x2+y2)); m[11] = 0.0; m[12] = t[0]; m[13] = t[1]; m[14] = t[2]; m[15] = 1.0; } void Scm_TranslationToMatrix4fv(float *m, const float *t) { m[0] = 1.0; m[4] = 0.0; m[8] = 0.0; m[12] = t[0]; m[1] = 0.0; m[5] = 1.0; m[9] = 0.0; m[13] = t[1]; m[2] = 0.0; m[6] = 0.0; m[10] = 1.0; m[14] = t[2]; m[3] = 0.0; m[7] = 0.0; m[11] = 0.0; m[15] = 1.0; } void Scm_RotationToMatrix4fv(float *m, const float *v, float phi) { static const float t[3] = { 0.0, 0.0, 0.0 }; static const float s[3] = { 1.0, 1.0, 1.0 }; Scm_TRSToMatrix4fv(m, t, v, phi, s); } void Scm_ScaleToMatrix4fv(float *m, const float *s) { m[0] = s[0]; m[4] = 0.0; m[8] = 0.0; m[12] = 0.0; m[1] = 0.0; m[5] = s[1]; m[9] = 0.0; m[13] = 0.0; m[2] = 0.0; m[6] = 0.0; m[10] = s[2]; m[14] = 0.0; m[3] = 0.0; m[7] = 0.0; m[11] = 0.0; m[15] = 1.0; } /* Euler angles -> rotation matrix. Rotation order is fixed. */ void Scm_EulerToMatrix4fv(float m[], float x, float y, float z, int order) { float cx = cosf(x), sx = sinf(x); float cy = cosf(y), sy = sinf(y); float cz = cosf(z), sz = sinf(z); switch (order) { /* Nobody wants to write down these expressions by hand. The code in this switch statement is generated by the script attached at the end of this source code. */ case SCM_MATH3D_ROTATE_XYZ: m[0] = cz*cy; m[1] = sz*cy; m[2] = -sy; m[4] = cz*sy*sx + -sz*cx; m[5] = sz*sy*sx + cz*cx; m[6] = cy*sx; m[8] = cz*sy*cx + sz*sx; m[9] = sz*sy*cx + -cz*sx; m[10] = cy*cx; break; case SCM_MATH3D_ROTATE_XZY: m[0] = cy*cz; m[1] = sz; m[2] = -sy*cz; m[4] = -cy*sz*cx + sy*sx; m[5] = cz*cx; m[6] = sy*sz*cx + cy*sx; m[8] = cy*sz*sx + sy*cx; m[9] = -cz*sx; m[10] = -sy*sz*sx + cy*cx; break; case SCM_MATH3D_ROTATE_YZX: m[0] = cz*cy; m[1] = cx*sz*cy + sx*sy; m[2] = sx*sz*cy + -cx*sy; m[4] = -sz; m[5] = cx*cz; m[6] = sx*cz; m[8] = cz*sy; m[9] = cx*sz*sy + -sx*cy; m[10] = sx*sz*sy + cx*cy; break; case SCM_MATH3D_ROTATE_YXZ: m[0] = cz*cy + -sz*sx*sy; m[1] = sz*cy + cz*sx*sy; m[2] = -cx*sy; m[4] = -sz*cx; m[5] = cz*cx; m[6] = sx; m[8] = cz*sy + sz*sx*cy; m[9] = sz*sy + -cz*sx*cy; m[10] = cx*cy; break; case SCM_MATH3D_ROTATE_ZXY: m[0] = cy*cz + sy*sx*sz; m[1] = cx*sz; m[2] = -sy*cz + cy*sx*sz; m[4] = -cy*sz + sy*sx*cz; m[5] = cx*cz; m[6] = sy*sz + cy*sx*cz; m[8] = sy*cx; m[9] = -sx; m[10] = cy*cx; break; case SCM_MATH3D_ROTATE_ZYX: m[0] = cy*cz; m[1] = cx*sz + sx*sy*cz; m[2] = sx*sz + -cx*sy*cz; m[4] = -cy*sz; m[5] = cx*cz + -sx*sy*sz; m[6] = sx*cz + cx*sy*sz; m[8] = sy; m[9] = -sx*cy; m[10] = cx*cy; break; default: Scm_Error("bad ordering parameter for euler->matrix4f: %d", order); } /* common part */ m[3] = 0.0; m[7] = 0.0; m[11] = 0.0; m[12] = 0.0; m[13] = 0.0; m[14] = 0.0; m[15] = 1.0; } /* * Matrix decomposition * * The algorithm is taken from Thomas, Spencer W., Decomposing a Matrix * Into Simple Transformations, Graphics Gems II, p. 320-323 * * Decompose matrix m to translation vector T, rotation matrix R, * shear vector H, and scale vector S. * Further decomposition of rotation matrix R can be done in separate * function. * * T = [tx, ty, tz, 0] * S = [sx, sy, sz, 0] * H = [shear_yz, shear_zx, shear_xy, 0] * * Returns TRUE if m is non-singular, or FALSE if m is singular. */ int Scm_Matrix4fDecomposev(const float m[], float T[], float R[], float H[], float S[]) { float r[3][4], temp[4], det; int i; /* Translation part is easy */ T[0] = m[12]; T[1] = m[13]; T[2] = m[14]; T[3] = 0.0; /* prepare three row vectors */ for (i=0; i<3; i++) { r[i][0] = m[i*4]; r[i][1] = m[i*4+1]; r[i][2] = m[i*4+2]; r[i][3] = 0.0; } /* Scale X */ S[0] = SCM_VECTOR4F_NORMV(r[0]); if (S[0] != 0.0) { SCM_VECTOR4F_OP(_, r[0][_] /= S[0]); /* normalize */ } /* Shear XY */ H[0] = SCM_VECTOR4F_DOTV(r[0], r[1]); r[1][0] -= H[0]*r[0][0]; r[1][1] -= H[0]*r[0][1]; r[1][2] -= H[0]*r[0][2]; /* Scale Y */ S[1] = SCM_VECTOR4F_NORMV(r[1]); if (S[1] != 0.0) { SCM_VECTOR4F_OP(_, r[1][_] /= S[1]); /* normalize */ H[2] /= S[1]; } /* Shear XZ */ H[1] = SCM_VECTOR4F_DOTV(r[0], r[2]); r[2][0] -= H[1]*r[0][0]; r[2][1] -= H[1]*r[0][1]; r[2][2] -= H[1]*r[0][2]; /* Shear YZ */ H[2] = SCM_VECTOR4F_DOTV(r[1], r[2]); r[2][0] -= H[2]*r[1][0]; r[2][1] -= H[2]*r[1][1]; r[2][2] -= H[2]*r[1][2]; /* Scale Z */ S[2] = SCM_VECTOR4F_NORMV(r[2]); if (S[2] != 0.0) { SCM_VECTOR4F_OP(_, r[2][_] /= S[2]); /* normalize */ H[1] /= S[2]; H[2] /= S[2]; } S[3] = H[3] = 0.0; /* Adjust if flipped */ SCM_VECTOR4F_CROSSV(temp, r[1], r[2]); det = SCM_VECTOR4F_DOTV(r[0], temp); if (det < 0.0) { for (i=0; i<3; i++) { S[i] = -S[i]; r[i][0] = -r[i][0]; r[i][1] = -r[i][1]; r[i][2] = -r[i][2]; } } if (r[0][2] < -1.0) r[0][2] = -1.0; if (r[0][2] > 1.0) r[0][2] = 1.0; /* Store rotation matrix */ for (i=0; i<3; i++) { R[i*4] = r[i][0]; R[i*4+1] = r[i][1]; R[i*4+2] = r[i][2]; R[i*4+3] = 0.0; } R[12] = R[13] = R[14] = 0.0; R[15] = 1.0; if (S[0] == 0.0 || S[1] == 0.0 || S[2] == 0.0) return FALSE; else return TRUE; } /* * Recover rotation from orthogonal matrix. */ float Scm_Matrix4fToRotationv(const float m[], float v[]) { float q[4]; float theta, sint; Scm_Matrix4fToQuatfv(q, m); theta = atan2f(sqrtf(q[0]*q[0]+q[1]*q[1]+q[2]*q[2]), q[3]); sint = sinf(theta); if (fabs(sint) < 1.0e-6) { v[0] = v[1] = v[2] = v[3] = 0.0; return 0.0; } else { v[0] = q[0]/sint; v[1] = q[1]/sint; v[2] = q[2]/sint; v[3] = 0.0; return theta*2; } } /*============================================================= * Quaternion */ static void quat_print(ScmObj obj, ScmPort *out, ScmWriteContext *ctx) { Scm_Printf(out, "#,(quatf %g %g %g %g)", SCM_QUATF_D(obj)[0], SCM_QUATF_D(obj)[1], SCM_QUATF_D(obj)[2], SCM_QUATF_D(obj)[3]); } static int quat_compare(ScmObj x, ScmObj y, int equalp) { if (equalp) { if (SCM_QUATF_D(x)[0] == SCM_QUATF_D(y)[0] && SCM_QUATF_D(x)[1] == SCM_QUATF_D(y)[1] && SCM_QUATF_D(x)[2] == SCM_QUATF_D(y)[2] && SCM_QUATF_D(x)[3] == SCM_QUATF_D(y)[3]) { return 0; } else { return -1; } } else { Scm_Error("can't order quat %S and %S", x, y); return 0; /* dummy */ } } SCM_DEFINE_BUILTIN_CLASS(Scm_QuatfClass, quat_print, quat_compare, NULL, NULL, sequenceCPL); /* * Constructors and converters */ ScmObj Scm_MakeQuatf(float x, float y, float z, float w) { ScmQuatf *v = SCM_NEW(ScmQuatf); SCM_SET_CLASS(v, SCM_CLASS_QUATF); SCM_QUATF_D(v) = ALLOC_FV(4); SCM_QUATF_D(v)[0] = x; SCM_QUATF_D(v)[1] = y; SCM_QUATF_D(v)[2] = z; SCM_QUATF_D(v)[3] = w; return SCM_OBJ(v); } ScmObj Scm_MakeQuatfv(const float d[]) { if (d) return Scm_MakeQuatf(d[0], d[1], d[2], d[3]); else return Scm_MakeQuatf(0.0, 0.0, 0.0, 1.0); } ScmObj Scm_MakeQuatfvShared(float d[]) { ScmQuatf *v = SCM_NEW(ScmQuatf); SCM_SET_CLASS(v, SCM_CLASS_QUATF); SCM_QUATF_D(v) = d; return SCM_OBJ(v); } ScmObj Scm_QuatfSetv(ScmQuatf *q, const float d[]) { float *fv = SCM_QUATF_D(q); fv[0]=d[0]; fv[1]=d[1]; fv[2]=d[2]; fv[3]=d[3]; SCM_RETURN(SCM_OBJ(q)); } ScmObj Scm_ListToQuatf(ScmObj l) { int i; float d[4]; ScmObj lp = l; for (i=0; i<4; i++, lp = SCM_CDR(lp)) { if (!SCM_PAIRP(lp)) goto badlist; if (!SCM_REALP(SCM_CAR(lp))) goto badlist; d[i] = (float)Scm_GetDouble(SCM_CAR(lp)); } return Scm_MakeQuatfv(d); badlist: Scm_Error("list of 3 or 4 real numbers required, but got %S", l); return SCM_UNDEFINED; } ScmObj Scm_QuatfToList(const ScmQuatf *p) { return SCM_LIST4(Scm_MakeFlonum(SCM_QUATF_D(p)[0]), Scm_MakeFlonum(SCM_QUATF_D(p)[1]), Scm_MakeFlonum(SCM_QUATF_D(p)[2]), Scm_MakeFlonum(SCM_QUATF_D(p)[3])); } void Scm_QuatfAddv(float *r, const float *p, const float *q) { SCM_VECTOR4F_OP(i, r[i] = p[i] + q[i]); } ScmObj Scm_QuatfAdd(const ScmQuatf *p, const ScmQuatf *q) { float r[4]; SCM_VECTOR4F_OP(i, r[i] = SCM_QUATF_D(p)[i] + SCM_QUATF_D(q)[i]); return Scm_MakeQuatfv(r); } void Scm_QuatfSubv(float *r, const float *p, const float *q) { SCM_VECTOR4F_OP(i, r[i] = p[i] - q[i]); } ScmObj Scm_QuatfSub(const ScmQuatf *p, const ScmQuatf *q) { float r[4]; SCM_VECTOR4F_OP(i, r[i] = SCM_QUATF_D(p)[i] - SCM_QUATF_D(q)[i]); return Scm_MakeQuatfv(r); } void Scm_QuatfMulv(float *r, const float *p, const float *q) { r[0] = p[0]*q[3]+p[1]*q[2]-p[2]*q[1]+p[3]*q[0]; r[1] = p[1]*q[3]+p[2]*q[0]-p[0]*q[2]+p[3]*q[1]; r[2] = p[2]*q[3]+p[0]*q[1]-p[1]*q[0]+p[3]*q[2]; r[3] = -p[0]*q[0]-p[1]*q[1]-p[2]*q[2]+p[3]*q[3]; } ScmObj Scm_QuatfMul(const ScmQuatf *p, const ScmQuatf *q) { float r[4]; Scm_QuatfMulv(r, SCM_QUATF_D(p), SCM_QUATF_D(q)); return Scm_MakeQuatfv(r); } ScmObj Scm_QuatfNormalize(const ScmQuatf *p) { float r[4]; r[0] = SCM_QUATF_D(p)[0]; r[1] = SCM_QUATF_D(p)[1]; r[2] = SCM_QUATF_D(p)[2]; r[3] = SCM_QUATF_D(p)[3]; SCM_QUATF_NORMALIZEV(r); return Scm_MakeQuatfv(r); } ScmObj Scm_QuatfNormalizeX(ScmQuatf *p) { SCM_QUATF_NORMALIZEV(SCM_QUATF_D(p)); return SCM_OBJ(p); } /* * Quaternion <-> Matrix */ void Scm_QuatfToMatrix4fv(float m[], const float q[]) { float x2 = q[0]*q[0], y2 = q[1]*q[1], z2 = q[2]*q[2]; float xy = q[0]*q[1], yz = q[1]*q[2], zx = q[2]*q[0]; float xw = q[0]*q[3], yw = q[1]*q[3], zw = q[2]*q[3]; m[0] = 1-2*(y2+z2); m[4] = 2*(xy-zw); m[8] = 2*(zx+yw); m[12] = 0; m[1] = 2*(xy+zw); m[5] = 1-2*(z2+x2); m[9] = 2*(yz-xw); m[13] = 0; m[2] = 2*(zx-yw); m[6] = 2*(yz+xw); m[10] = 1-2*(x2+y2); m[14] = 0; m[3] = 0; m[7] = 0; m[11] = 0; m[15] = 1; } void Scm_Matrix4fToQuatfv(float q[], const float m[]) { float trace = m[0] + m[5] + m[10]; float s; if (trace > 0.0) { s = 0.5 / sqrtf(trace + 1.0); q[0] = (m[6]-m[9])*s; q[1] = (m[8]-m[2])*s; q[2] = (m[1]-m[4])*s; q[3] = 0.25 / s; } else { static int next[] = { 1, 2, 0 }; /* to avoid modulo */ int i, j, k; /* find max elem in m(i,i) for i=0 to 2. */ if (m[0] >= m[5]) { if (m[0] >= m[10]) i = 0; else i = 2; } else { if (m[5] >= m[10]) i = 1; else i = 2; } j = next[i]; k = next[j]; s = sqrtf((m[i*5] - (m[j*5]+m[k*5])) + 1.0); if (m[j*4+k] < m[k*4+j]) s *= -1.0; q[i] = 0.5 * s; s = 0.5 / s; q[j] = (m[j*4+i] + m[i*4+j]) * s; q[k] = (m[k*4+i] + m[i*4+k]) * s; q[3] = (m[j*4+k] - m[k*4+j]) * s; } } /* * Transform a vector/point by quaternion * calculates qvq* */ void Scm_QuatfTransformv(float r[], const float q[], const float v[]) { float qconj[4], s[4]; SCM_QUATF_CONJUGATEV(qconj, q); Scm_QuatfMulv(s, q, v); Scm_QuatfMulv(r, s, qconj); } /* * Interpolation */ void Scm_QuatfSlerp(float r[], const float p[], const float q[], float t) { double cosphi = p[0]*q[0]+p[1]*q[1]+p[2]*q[2]+p[3]*q[3], phi, sinphi; float cp, cq; phi = acos(cosphi); sinphi = sin(phi); if (sinphi < 1.0e-5 && sinphi > -1.0e-5) { cp = 1.0 - t; cq = t; } else { cp = sin(phi*(1.0-t))/sinphi; cq = sin(phi*t)/sinphi; } SCM_VECTOR4F_OP(i, r[i] = cp*p[i] + cq*q[i]); } /* * Conversion between Euler angles and Quartenions */ /* * Vectors -> Quaternion * Return a quaternion that represents the rotation to rotate V to W. * NOTE: if V = -W, we can't determine a unique rotation. This routine * returns #,(quatf e0 e1 e2 e3) where eN is very small number. * It's caller's responsibility to detect the case. */ void Scm_VectorsToQuatfv(float r[], const float v[], const float w[]) { float p[4], c, s2, f; SCM_VECTOR4F_CROSSV(p, v, w); c = SCM_VECTOR4F_DOTV(v, w); /* cos(t) */ s2 = SCM_VECTOR4F_DOTV(p, p); /* sin^2(t) */ if (s2 > 0) { /* NB: should we consider epsilon? */ f = sqrtf((1-c) / (2*s2)); /* sin(t/2)/sin(t) sans sign */ } else { f = 0.0f; } r[0] = f*p[0]; r[1] = f*p[1]; r[2] = f*p[2]; r[3] = sqrtf((1+c)/2); } /* * Axes -> Quaternion * * (v1, v2) and (w1,w2) are pair of perpendicular unit vectors. Calculates * a rotation that transforms v1 to w1 and v2 to w2. */ void Scm_AxesToQuatfv(float r[], const float v1[], const float v2[], const float w1[], const float w2[]) { float q1[4], q2[4], c, t, s2, axis[4], wt[4]; Scm_VectorsToQuatfv(q1, v1, w1); Scm_QuatfTransformv(wt, q1, v2); SCM_VECTOR4F_CROSSV(axis, wt, w2); SCM_VECTOR4F_NORMALIZEV(axis); c = SCM_VECTOR4F_DOTV(w2, wt); /* cos(t) */ if (c < -1.0f) c = -1.0f; else if (c > 1.0f) c = 1.0f; t = acosf(c); s2 = sinf(t/2); q2[0] = axis[0] * s2; q2[1] = axis[1] * s2; q2[2] = axis[2] * s2; q2[3] = cosf(t/2); Scm_QuatfMulv(r, q2, q1); } /*============================================================= * Initialization */ extern void Scm_Init_math3d_lib(ScmModule *mod); void Scm_Init_libgauche_math3d(void) { ScmModule *mod; SCM_INIT_EXTENSION(libgauche_math3d); mod = SCM_MODULE(SCM_FIND_MODULE("gl.math3d", TRUE)); Scm_InitBuiltinClass(&Scm_Vector4fClass, "<vector4f>", NULL, sizeof(ScmVector4f)/sizeof(ScmObj), mod); Scm_InitBuiltinClass(&Scm_Vector4fArrayClass, "<vector4f-array>", NULL, sizeof(ScmVector4fArray)/sizeof(ScmObj), mod); Scm_InitBuiltinClass(&Scm_Point4fClass, "<point4f>", NULL, sizeof(ScmPoint4f)/sizeof(ScmObj), mod); Scm_InitBuiltinClass(&Scm_Point4fArrayClass, "<point4f-array>", NULL, sizeof(ScmPoint4fArray)/sizeof(ScmObj), mod); Scm_InitBuiltinClass(&Scm_Matrix4fClass, "<matrix4f>", NULL, sizeof(ScmMatrix4f)/sizeof(ScmObj), mod); Scm_InitBuiltinClass(&Scm_QuatfClass, "<quatf>", NULL, sizeof(ScmQuatf)/sizeof(ScmObj), mod); Scm_Init_math3d_lib(mod); } /* Appendix: a script to generate Euler->matrix4f calculation code. See the definition of Scm_EulerToMatrix4fv above. (use srfi-1) (define (mref m i j) (list-ref m (+ (* j 3) i))) (define (tmul t0 t1) (cond ((or (eqv? t0 0) (eqv? t1 0)) 0) ((eqv? t0 1) t1) ((eqv? t1 1) t0) ((eq? (car t0) '-) (if (eq? (car t1) '-) (append (cdr t0) (cdr t1)) (cons '- (append (cdr t0) t1)))) (else (if (eq? (car t1) '-) (cons '- (append t0 (cdr t1))) (append t0 t1))))) (define (mmul m n) (let ((r '())) (dotimes (j 3) (dotimes (i 3) (let1 term (delete 0 (map (lambda (k) (tmul (mref m i k) (mref n k j))) '(0 1 2))) (push! r (cond ((null? term) 0) ((null? (cdr term)) (car term)) (else (list (cons '+ term)))))))) (reverse r))) (define (mmul3 m n o) (mmul m (mmul n o))) (define (fmt m) (define (fmt-e e) (cond ((not (pair? e)) (x->string e)) ((eq? (car e) '-) (string-append "-" (string-join (map x->string (cdr e)) "*"))) ((symbol? (car e)) (string-join (map x->string e) "*")) (else (string-join (map fmt-e (cdar e)) " + ")))) (let ((elts (map fmt-e m)) (ind '(0 1 2 4 5 6 8 9 10))) (dotimes (i 9) (print #`" m[,(list-ref ind i)] = ,(list-ref elts i);"))) ) (define Rx '(1 0 0 0 (cx) (sx) 0 (- sx) (cx))) (define Ry '((cy) 0 (- sy) 0 1 0 (sy) 0 (cy))) (define Rz '((cz) (sz) 0 (- sz) (cz) 0 0 0 1)) (define R `((X ,Rx) (Y ,Ry) (Z ,Rz))) (define (pcase order) (apply format #t " case SCM_MATH3D_ROTATE_~a~a~a:\n" order) (fmt (apply mmul3 (reverse (map (lambda (key) (cond ((assoc key R) => cadr))) order)))) (print " break;")) (pcase '(X Y Z)) (pcase '(X Z Y)) (pcase '(Y Z X)) (pcase '(Y X Z)) (pcase '(Z X Y)) (pcase '(Z Y X)) */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gen-ptrs.scm����������������������������������������������������������������������0000664�0000764�0000764�00000012556�12367117212�015264� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; gen-ptrs.scm - Generate gl-ptrs.c ;;; ;;; Copyright (c) 2005-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; ;;; $Id: gen-ptrs.scm,v 1.5 2008-06-04 11:50:33 shirok Exp $ ;;; (use util.match) (use gauche.cgen) (define *glext-abi* "glext-abi.scm") (cgen-current-unit (make <cgen-unit> :name "gl-ptrs" :c-file "gl-ptrs.h" ;; hack :preamble "/* generated by gen-ptrs.scm $Revision: 1.5 $. DO NOT EDIT */" :init-prologue "" ;; we don't use init fn :init-epilogue "" ;; ditto )) (define (main args) (cgen-decl "#include <gauche.h>" "#ifndef HAVE_GL_GLEW_H" "#ifndef APIENTRY" "#define APIENTRY /*empty*/" "#endif" "#ifndef APIENTRYP" "#define APIENTRYP APIENTRY*" "#endif" ;; The following #ifndef are to compensate the target ;; environment if they have older versions of GL. They appear ;; after the constant definitions in the official glext.h. "#ifndef GL_VERSION_2_0" "typedef char GLchar;" "#endif" "#ifndef GL_VERSION_1_5" "typedef ptrdiff_t GLintptr;" "typedef ptrdiff_t GLsizeiptr;" "#endif" "#ifndef GL_ARB_vertex_buffer_object" "typedef ptrdiff_t GLintptrARB;" "typedef ptrdiff_t GLsizeiptrARB;" "#endif" "#ifndef GL_ARB_shader_objects" "typedef char GLcharARB;" "typedef unsigned int GLhandleARB;" "#endif" "#ifndef GL_ARB_half_float_pixel" "typedef unsigned short GLhalfARB;" "#endif" "#ifndef GL_NV_half_float" "typedef unsigned short GLhalfNV;" "#endif" "#ifndef GL_EXT_timer_query" "typedef int64_t GLint64EXT;" "typedef uint64_t GLuint64EXT;" "#endif" "#ifndef GL_ARB_sync" "typedef int64_t GLint64;" "typedef uint64_t GLuint64;" "typedef struct __GLsync *GLsync;" "#endif" "#ifndef GL_ARB_cl_event" "struct _cl_context;" "struct _cl_event;" "#endif" "#ifndef GL_ARB_debug_output" "typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*, GLvoid*);" "#endif" "#ifndef GL_AMD_debug_output" "typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint, GLenum, GLenum, GLsizei, const GLchar*, GLvoid*);" "#endif" "#ifndef GL_NV_vdpau_interop" "typedef GLintptr GLvdpauSurfaceNV;" "#endif" ;; Convenience macro "#define ENSURE(fn) \\" " do{if ((fn) == NULL){\\" " fn = (SCM_CPP_CAT(type__, fn))Scm_GLGetProcAddress(#fn);\\" " }} while (0)" "#else /*HAVE_GL_GLEW_H*/" "#define ENSURE(fn) /**/" "#endif /*HAVE_GL_GLEW_H*/" ) (with-input-from-file *glext-abi* (cut port-for-each gen read)) (cgen-emit-c (cgen-current-unit)) 0) (define (gen expr) (match expr (('define-entry-point fn typename typedef) ;; we won't use typename (PFN.*PROC), for it may be duplicated ;; if platform's glext.h is already included. Also we insert ;; #define to add 'ptr_' suffix to the function pointer, to avoid ;; possible name conflict. (let* ((ptrname #`"ptr__,fn") (ourtypename #`"type__,ptrname")) (receive (pre post) (string-scan typedef (x->string typename) 'both) (when pre (cgen-with-cpp-condition '(not (defined "HAVE_GL_GLEW_H")) (cgen-decl #`",|pre|,|ourtypename|,|post|") (cgen-decl #`"#define ,fn ,ptrname") (cgen-body #`"static ,|ourtypename| ,fn = NULL;")))))) (else #f))) ��������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/test-math3d.scm�������������������������������������������������������������������0000644�0000764�0000764�00000050163�11533026402�015646� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; ;; test for gl.math3d module ;; (use gauche.test) (add-load-path "../lib") (test-start "gl.math3d") (use gl.math3d) (use gauche.sequence) (use math.const) (use srfi-1) (define (nearly=? a b) (let ((sizea (size-of a)) (sizeb (size-of b))) (and (= sizea sizeb) (let loop ((i 0)) (cond ((>= i sizea) #t) ((< (abs (- (ref a i) (ref b i))) 1.0e-4) (loop (+ i 1))) (else #f)))))) ;;------------------------------------------------------------------ (test-section "vector4f") (test* "vector4f" #t (vector4f? (vector4f 0 1 2 3))) (test* "vector4f reader" #t (equal? (vector4f 0 1 2 3) #,(vector4f 0 1 2 3))) (test* "vector4f converters" #t (let1 v (vector4f 0 1 2 3) (and (equal? v (list->vector4f '(0 1 2 3))) (equal? v (f32vector->vector4f '#f32(0.0 1.0 2.0 3.0))) (equal? v (list->vector4f (vector4f->list v))) (equal? v (f32vector->vector4f (vector4f->f32vector v))) (equal? v (coerce-to <vector4f> '(0 1 2 3))) (equal? v (coerce-to <vector4f> '#(0 1 2 3))) (equal? v (coerce-to <vector4f> '#f32(0 1 2 3))) ))) (test* "vector4f ref" '(0.0 1.0 2.0 3.0) (let1 v (vector4f 0 1 2 3) (map (pa$ vector4f-ref v) '(0 1 2 3)))) (test* "vector4f set" #,(vector4f 3.0 2.0 1.0 0.0) (let1 v (vector4f 0 0 0 0) (set! (vector4f-ref v 0) 3.0) (set! (vector4f-ref v 1) 2.0) (set! (vector4f-ref v 2) 1.0) (set! (vector4f-ref v 3) 0.0) v)) (test* "vector4f +" #,(vector4f 3.0 5.0 7.0 9.0) (+ #,(vector4f 1.0 2.0 3.0 4.0) #,(vector4f 2.0 3.0 4.0 5.0))) (test* "vector4f +" #,(vector4f 1.0 1.0 1.0 1.0) (+ #,(vector4f 1.0 2.0 3.0 4.0) #,(vector4f 2.0 3.0 4.0 5.0) #,(vector4f -2.0 -4.0 -6.0 -8.0))) (test* "vector4f -" #,(vector4f -1.0 -2.0 -3.0 -4.0) (- #,(vector4f 1.0 2.0 3.0 4.0) #,(vector4f 2.0 4.0 6.0 8.0))) (test* "vector4f *" #,(vector4f 2 4 6 8) (* #,(vector4f 1 2 3 4) 2.0)) (test* "vector4f *" #,(vector4f 2 4 6 8) (* 2.0 #,(vector4f 1 2 3 4))) (test* "vector4f /" #,(vector4f 0.5 1.0 1.5 2.0) (/ #,(vector4f 1 2 3 4) 2.0)) (test* "vector4f dot" 40.0 (vector4f-dot #,(vector4f 1.0 2.0 3.0 4.0) #,(vector4f 2.0 3.0 4.0 5.0))) (test* "vector4f cross" #,(vector4f -4.0 8.0 -4.0 0.0) (vector4f-cross #,(vector4f 1.0 2.0 3.0 0.0) #,(vector4f 5.0 6.0 7.0 0.0))) (test* "vector4f normalize" #,(vector4f 0.5 0.5 0.5 0.5) (vector4f-normalize (vector4f 1 1 1 1))) (test* "vector4f normalize!" #,(vector4f 0.5 0.5 0.5 0.5) (let1 v (vector4f 4 4 4 4) (vector4f-normalize! v) v)) ;; sequence access (test* "sequence" '(1.0 2.0 3.0 4.0) (coerce-to <list> #,(vector4f 1.0 2.0 3.0 4.0))) (test* "sequence" #,(vector4f 1.0 2.0 3.0 4.0) (coerce-to <vector4f> '(1.0 2.0 3.0 4.0))) ;;------------------------------------------------------------------ (test-section "point4f") (test* "point4f" #t (point4f? (point4f 1 2 3))) (test* "point4f reader" #t (equal? (point4f 1 2 3) #,(point4f 1 2 3))) (test* "point4f converters" #t (let1 v (point4f 1 2 3) (and (equal? v (list->point4f '(1 2 3))) (equal? v (list->point4f (point4f->list v)))))) (test* "point4f ref" '(1.0 2.0 3.0) (let1 v (point4f 1 2 3) (map (pa$ point4f-ref v) '(0 1 2)))) (test* "point4f set" #,(point4f 3.0 2.0 1.0) (let1 v (point4f 0 0 0) (set! (point4f-ref v 0) 3.0) (set! (point4f-ref v 1) 2.0) (set! (point4f-ref v 2) 1.0) v)) (test* "point4f +" #,(point4f 3.0 5.0 7.0) (+ #,(point4f 1.0 2.0 3.0) #,(vector4f 2.0 3.0 4.0))) (test* "point4f +" #,(point4f 1.0 1.0 1.0) (+ #,(point4f 1.0 2.0 3.0) #,(vector4f 2.0 3.0 4.0) #,(vector4f -2.0 -4.0 -6.0))) (test* "point4f -" #,(point4f -1.0 -2.0 -3.0) (- #,(point4f 1.0 2.0 3.0) #,(vector4f 2.0 4.0 6.0))) (test* "point4f -" #,(vector4f -1.0 -2.0 -3.0) (- #,(point4f 1.0 2.0 3.0) #,(point4f 2.0 4.0 6.0))) ;; sequence access (test* "sequence" '(1.0 2.0 3.0 4.0) (coerce-to <list> #,(point4f 1.0 2.0 3.0 4.0))) (test* "sequence" #,(point4f 1.0 2.0 3.0 4.0) (coerce-to <point4f> '(1.0 2.0 3.0 4.0))) ;;------------------------------------------------------------------ (test-section "matrix4f") (test* "matrix4f" #,(matrix4f 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5) (matrix4f 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5)) (test* "matrix4f row" '(#,(vector4f 0 4 8 2) #,(vector4f 1 5 9 3) #,(vector4f 2 6 0 4) #,(vector4f 3 7 1 5)) (let1 m (matrix4f 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5) (map (pa$ matrix4f-row m) '(0 1 2 3)))) (test* "matrix4f row set!" #,(matrix4f 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5) (let1 m (make-matrix4f) (set! (matrix4f-row m 3) (vector4f 3 7 1 5)) (set! (matrix4f-row m 2) (vector4f 2 6 0 4)) (set! (matrix4f-row m 1) (vector4f 1 5 9 3)) (set! (matrix4f-row m 0) (vector4f 0 4 8 2)) m)) (test* "matrix4f column" '(#,(vector4f 0 1 2 3) #,(vector4f 4 5 6 7) #,(vector4f 8 9 0 1) #,(vector4f 2 3 4 5)) (let1 m (matrix4f 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5) (map (pa$ matrix4f-column m) '(0 1 2 3)))) (test* "matrix4f column set!" #,(matrix4f 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5) (let1 m (make-matrix4f) (set! (matrix4f-column m 3) (vector4f 2 3 4 5)) (set! (matrix4f-column m 2) (vector4f 8 9 0 1)) (set! (matrix4f-column m 1) (vector4f 4 5 6 7)) (set! (matrix4f-column m 0) (vector4f 0 1 2 3)) m)) (test* "matrix4f * matrix4f" (let ((A0 (vector4f 0 4 8 12)) (A1 (vector4f 1 5 9 13)) (A2 (vector4f 2 6 10 14)) (A3 (vector4f 3 7 11 15)) (B0 (vector4f 16 17 18 19)) (B1 (vector4f 20 21 22 23)) (B2 (vector4f 24 25 26 27)) (B3 (vector4f 28 29 30 31)) (dot vector4f-dot)) (matrix4f (dot A0 B0) (dot A1 B0) (dot A2 B0) (dot A3 B0) (dot A0 B1) (dot A1 B1) (dot A2 B1) (dot A3 B1) (dot A0 B2) (dot A1 B2) (dot A2 B2) (dot A3 B2) (dot A0 B3) (dot A1 B3) (dot A2 B3) (dot A3 B3))) (* (matrix4f 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (matrix4f 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31)) ) (test* "matrix4f * vector4f" (let ((V (vector4f 1 -2 3 -4))) (vector4f (vector4f-dot (vector4f 0 4 8 12) V) (vector4f-dot (vector4f 1 5 9 13) V) (vector4f-dot (vector4f 2 6 10 14) V) (vector4f-dot (vector4f 3 7 11 15) V))) (* (matrix4f 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (vector4f 1 -2 3 -4))) (test* "matrix4f * scalar" (matrix4f 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15) (* (matrix4f 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) -1)) (test* "matrix4f transpose" (matrix4f 0 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15) (matrix4f-transpose (matrix4f 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) (test* "matrix4f transpose!" (matrix4f 0 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15) (let1 m (matrix4f 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (matrix4f-transpose! m) m)) (test* "matrix4f determinant" 1.0 (matrix4f-determinant (matrix4f 1 0 0 0 0 2 4 9 0 3 2 6 0 2 3 7))) (test* "matrix4f determinant" -1.0 (matrix4f-determinant (matrix4f 0 1 0 0 2 0 3 9 3 0 2 5 5 0 3 7))) (test* "matrix4f determinant" 1.0 (matrix4f-determinant (matrix4f 0 0 1 0 2 3 0 17 3 2 0 11 6 3 0 16))) (test* "matrix4f determinant" -1.0 (matrix4f-determinant (matrix4f 0 0 0 1 2 3 17 0 3 2 11 0 6 3 16 0))) (test* "matrix4f determinant" -1.0 (matrix4f-determinant (matrix4f 0 2 4 9 1 0 0 0 0 3 2 6 0 2 3 7))) (test* "matrix4f determinant" 1.0 (matrix4f-determinant (matrix4f 0 2 4 9 0 3 2 6 1 0 0 0 0 2 3 7))) (test* "matrix4f inverse" (matrix4f 1 0 0 0 0 -4 -1 6 0 -9 -4 15 0 5 2 -8) (matrix4f-inverse (matrix4f 1 0 0 0 0 2 4 9 0 3 2 6 0 2 3 7)) nearly=?) (test* "matrix4f inverse, mul" (matrix4f 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1) (let ((m (matrix4f 0 2 4 9 0 3 2 6 1 0 0 0 0 2 3 7))) (matrix4f-mul m (matrix4f-inverse m))) nearly=?) (test* "matrix4f inverse, mul 2" (matrix4f 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1) (let* ((m (matrix4f 0 2 4 9 0 3 2 6 1 0 0 0 0 2 3 7)) (n (matrix4f 0 0 0 1 2 3 17 0 3 2 11 0 6 3 16 0)) (1/m (matrix4f-inverse m)) (1/n (matrix4f-inverse n))) (matrix4f-mul (matrix4f-mul m n) (matrix4f-mul 1/n 1/m))) nearly=?) (test* "matrix4f inverse!" (matrix4f 0 -1 6 -3 1 0 0 0 0 4 -31 17 0 -1 9 -5) (let ((m (matrix4f 0 1 0 0 2 0 3 9 3 0 2 5 5 0 3 7))) (matrix4f-inverse! m) m) nearly=?) (test* "matrix4f inverse (singular)" #f (matrix4f-inverse (matrix4f 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) #f)) (test* "matrix4f inverse (singular)" *test-error* (matrix4f-inverse (matrix4f 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))) (let ((t0 -2.0) (t1 -3.0) (t2 -4.0) (phi (* 60 pi/180)) (s0 1.1) (s1 1.2) (s2 1.3)) (test* "matrix4 and transform" (let* ((cosphi (cos phi)) (1-cosphi (- 1 cosphi)) (sinphi (sin phi)) (sqrt14 (sqrt 14)) (vx (/ 1 sqrt14)) (vy (/ 2 sqrt14)) (vz (/ 3 sqrt14)) (T (matrix4f 1 0 0 0 0 1 0 0 0 0 1 0 t0 t1 t2 1)) (R (matrix4f (+ cosphi (* 1-cosphi vx vx)) (+ (* 1-cosphi vx vy) (* sinphi vz)) (- (* 1-cosphi vx vz) (* sinphi vy)) 0.0 (- (* 1-cosphi vx vy) (* sinphi vz)) (+ cosphi (* 1-cosphi vy vy)) (+ (* 1-cosphi vy vz) (* sinphi vx)) 0.0 (+ (* 1-cosphi vx vz) (* sinphi vy)) (- (* 1-cosphi vy vz) (* sinphi vx)) (+ cosphi (* 1-cosphi vz vz)) 0.0 0.0 0.0 0.0 1.0)) (S (matrix4f s0 0 0 0 0 s1 0 0 0 0 s2 0 0 0 0 1)) ) (matrix4f-mul T (matrix4f-mul R S))) (trs->matrix4f (vector4f t0 t1 t2) (vector4f (/ 1 (sqrt 14)) (/ 2 (sqrt 14)) (/ 3 (sqrt 14))) phi (vector4f s0 s1 s2)) nearly=?)) ;; tests euler angles (let* ((rotx (* 23 pi/180)) (roty (* -66 pi/180)) (rotz (* 171 pi/180)) (Rx (rotation->matrix4f (vector4f 1 0 0) rotx)) (Ry (rotation->matrix4f (vector4f 0 1 0) roty)) (Rz (rotation->matrix4f (vector4f 0 0 1) rotz))) (define (euler-tester sig a b c) (test #`"euler->mat (,sig)" (matrix4f-mul c (matrix4f-mul b a)) (lambda () (euler-angle->matrix4f rotx roty rotz sig)) nearly=?)) (euler-tester 'xyz Rx Ry Rz) (euler-tester 'xzy Rx Rz Ry) (euler-tester 'yzx Ry Rz Rx) (euler-tester 'yxz Ry Rx Rz) (euler-tester 'zxy Rz Rx Ry) (euler-tester 'zyx Rz Ry Rx) ) ;; matrix decompose (define (matrix-decompose-tester name T R H S) (test name '(#t #t #t #t #t) (lambda () (let* ((tmat (translation->matrix4f T)) (smat (scale->matrix4f S)) (mat (matrix4f-mul tmat (matrix4f-mul R smat)))) (receive (f t r h s) (matrix4f-decompose mat) ;(print r) ;(print R) ;(print h) ;(print s) (list f (nearly=? t T) (nearly=? r R) (nearly=? h H) (nearly=? s S))))))) (matrix-decompose-tester "matrix-decompose" (vector4f 1 3 2) (rotation->matrix4f (vector4f-normalize (vector4f 3 8 -1)) (* 264 pi/180)) (vector4f 0 0 0 0) (vector4f 1.1 0.5 0.2)) (matrix-decompose-tester "matrix-decompose (flip)" (vector4f 9 2 4) (rotation->matrix4f (vector4f-normalize (vector4f 6 0 2)) (* 82 pi/180)) (vector4f 0 0 0 0) (vector4f -1 -2 -3)) (test* "matrix4f->rotation" #t (let* ((axis (vector4f-normalize (vector4f 1 2 3))) (angle (* 45 pi/180)) (m (rotation->matrix4f axis angle))) (receive (raxis rangle) (matrix4f->rotation m) (and (nearly=? axis raxis) (< (abs (- rangle angle)) 1.0e-4))))) ;; sequence access (test* "sequence" '(1.0 2.0 3.0 4.0 -1.0 -2.0 -3.0 -4.0 4.0 3.0 2.0 1.0 -4.0 -3.0 -2.0 -1.0) (coerce-to <list> #,(matrix4f 1 2 3 4 -1 -2 -3 -4 4 3 2 1 -4 -3 -2 -1))) (test* "sequence" #,(matrix4f 1.0 2.0 3.0 4.0 -1.0 -2.0 -3.0 -4.0 4.0 3.0 2.0 1.0 -4.0 -3.0 -2.0 -1.0) (coerce-to <matrix4f> '(1.0 2.0 3.0 4.0 -1.0 -2.0 -3.0 -4.0 4.0 3.0 2.0 1.0 -4.0 -3.0 -2.0 -1.0))) ;;------------------------------------------------------------------ (test-section "quatf") (test* "conjugate" (make-quatf (vector4f 0 (/ 1 (sqrt 5)) (/ 2 (sqrt 5))) -0.5) (quatf-conjugate (make-quatf (vector4f 0 (/ 1 (sqrt 5)) (/ 2 (sqrt 5))) 0.5))) (let ((p (make-quatf (vector4f-normalize (vector4f 3 2 1)) -1.6)) (q (make-quatf (vector4f-normalize (vector4f 0 2 5)) 0.7)) (r (make-quatf (vector4f-normalize (vector4f 2 1 3)) 0.1))) (test* "add, sub, and mul" (list (+ p q) (- p q) (* p q) p) (let ((p+ (quatf-copy p)) (p- (quatf-copy p)) (p* (quatf-copy p))) (quatf-add! p+ q) (quatf-sub! p- q) (quatf-mul! p* q) (list p+ p- p* p)))) (test* "rotation -> quaterion" (let* ((phi (* 75 pi/180)) (q (quatf (* (sin phi) (/ 1 (sqrt 14))) (* (sin phi) (/ 2 (sqrt 14))) (* (sin phi) (/ 3 (sqrt 14))) (cos phi)))) (list q q)) (let1 rotv (vector4f (/ 1 (sqrt 14)) (/ 2 (sqrt 14)) (/ 3 (sqrt 14))) (list (make-quatf rotv (* 150 pi/180)) (let1 q (make-quatf) (rotation->quatf! q rotv (* 150 pi/180))))) ) (test* "transform by quaternion" (* (rotation->matrix4f (vector4f 0 (/ 1 (sqrt 5)) (/ 2 (sqrt 5))) (* 15 pi/180)) (point4f 3.1 2.1 1.1)) (quatf-transform (make-quatf (vector4f 0 (/ 1 (sqrt 5)) (/ 2 (sqrt 5))) (* 15 pi/180)) (point4f 3.1 2.1 1.1)) nearly=?) (test* "tqs->matrix" (trs->matrix4f #,(vector4f 0 0 0) (vector4f (/ 2 (sqrt 29)) (/ 3 (sqrt 29)) (/ 4 (sqrt 29))) (* -41 pi/180) #,(vector4f 1 2 3)) (tqs->matrix4f #,(vector4f 0 0 0) (make-quatf (vector4f (/ 2 (sqrt 29)) (/ 3 (sqrt 29)) (/ 4 (sqrt 29))) (* -41 pi/180)) #,(vector4f 1 2 3)) nearly=?) ;; matrix <-> quaternion (test* "quatf->matrix" (rotation->matrix4f (vector4f (/ 3 (sqrt 14)) (/ 2 (sqrt 14)) (/ -1 (sqrt 14))) (* 75 pi/180)) (quatf->matrix4f (make-quatf (vector4f (/ 3 (sqrt 14)) (/ 2 (sqrt 14)) (/ -1 (sqrt 14))) (* 75 pi/180))) nearly=?) (test* "matrix->quatf" (make-quatf (vector4f (/ 7 (sqrt 66)) (/ -1 (sqrt 66)) (/ 4 (sqrt 66))) (* -13 pi/180)) (matrix4f->quatf (rotation->matrix4f (vector4f (/ 7 (sqrt 66)) (/ -1 (sqrt 66)) (/ 4 (sqrt 66))) (* -13 pi/180))) nearly=?) ;; rotation check (let () (define (rot-test q v) (let* ((nv (vector4f-normalize v))) (test* (format "rotation by quaternion ~s ~s" q v) (* (quatf->matrix4f q) nv) (quatf-transform q nv) nearly=?))) (define (rot-test* q) (for-each (cute rot-test (quatf-normalize q) <>) '(#,(vector4f 1 0 0 0) #,(vector4f 0 1 0 0) #,(vector4f 0 0 1 0) #,(vector4f 1 1 0 0) #,(vector4f 1 -1 0 0) #,(vector4f -1 0 1 0) #,(vector4f 1 0 -1 0) #,(vector4f 0 1 -1 0) #,(vector4f 0 -1 1 0) #,(vector4f 3 1 4 0)))) (for-each rot-test* '(#,(quatf 1 0 0 0) #,(quatf 0 1 0 0) #,(quatf 0 0 1 0) #,(quatf 0 0 0 1) #,(quatf 1 1 1 1) #,(quatf 1 -1 1 -1) #,(quatf 3 1 -4 5)))) ;; test case for small trace case (test* "matrix->quatf (small trace)" (make-quatf (vector4f 1 0 0) (- pi 0.1)) (matrix4f->quatf (rotation->matrix4f (vector4f 1 0 0) (- pi 0.1))) nearly=?) (test* "matrix->quatf (small trace)" (make-quatf (vector4f 0 1 0) (- pi 0.1)) (matrix4f->quatf (rotation->matrix4f (vector4f 0 1 0) (- pi 0.1))) nearly=?) (test* "matrix->quatf (small trace)" (make-quatf (vector4f 0 0 1) (- pi 0.1)) (matrix4f->quatf (rotation->matrix4f (vector4f 0 0 1) (- pi 0.1))) nearly=?) ;; two vectors -> quatf (let () (define (2vtest v w) (let ((nv (vector4f-normalize v)) (nw (vector4f-normalize w))) (test* (format "2vtest ~s ~s" v w) nw (quatf-transform (vectors->quatf nv nw) nv) nearly=?) (test* (format "2vtest ~s ~s" w v) nv (quatf-transform (vectors->quatf nw nv) nw) nearly=?))) (2vtest #,(vector4f 1 0 0 0) #,(vector4f 0 1 0 0)) (2vtest #,(vector4f 0 1 0 0) #,(vector4f 0 0 1 0)) (2vtest #,(vector4f 0 0 1 0) #,(vector4f 1 0 0 0)) (2vtest #,(vector4f 1 2 3 0) #,(vector4f 4 -5 6 0)) (2vtest #,(vector4f 1 1 0 0) #,(vector4f 1 1 0 0)) (2vtest #,(vector4f 1 1 0 0) #,(vector4f 1 1 0.001 0)) ) ;; four vectors -> quatf (let () (define (4vtest v1 v2 w1 w2) (let ((nv1 (vector4f-normalize v1)) (nv2 (vector4f-normalize v2)) (nw1 (vector4f-normalize w1)) (nw2 (vector4f-normalize w2))) (test* (format "4vtest (~s ~s) (~s ~s)" v1 v2 w1 w2) (list '(1.0) nw1 nw2 (+ nw1 nw2)) (let1 q (axes->quatf nv1 nv2 nw1 nw2) (list (list (quatf-norm q)) (quatf-transform q nv1) (quatf-transform q nv2) (quatf-transform q (+ nv1 nv2)))) (cut every nearly=? <> <>)) (test* (format "4vtest (~s ~s) (~s ~s)" w1 w2 v1 v2) (list '(1.0) nv1 nv2 (+ nv1 nv2)) (let1 q (axes->quatf nw1 nw2 nv1 nv2) (list (list (quatf-norm q)) (quatf-transform q nw1) (quatf-transform q nw2) (quatf-transform q (+ nw1 nw2)))) (cut every nearly=? <> <>)))) (4vtest #,(vector4f 1 0 0 0) #,(vector4f 0 1 0 0) #,(vector4f 0 1 0 0) #,(vector4f 0 0 1 0)) (4vtest #,(vector4f 1 0 0 0) #,(vector4f 0 1 0 0) #,(vector4f 0 0 -1 0) #,(vector4f 0 1 0 0)) (4vtest #,(vector4f 1 1 0 0) #,(vector4f 1 -1 0) #,(vector4f 1 0 0) #,(vector4f 0 0 1 0)) ) ;; sequence access (test* "sequence" '(1.0 2.0 3.0 4.0) (coerce-to <list> #,(quatf 1.0 2.0 3.0 4.0))) (test* "sequence" #,(quatf 1.0 2.0 3.0 4.0) (coerce-to <quatf> '(1.0 2.0 3.0 4.0))) (test-end) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/src/gl-lib.stub�����������������������������������������������������������������������0000644�0000764�0000764�00000127566�12342246752�015101� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; gl-lib.stub - glue functions for GL ;;; ;;; Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; ;;; 3. Neither the name of the authors nor the names of its contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; " #include \"gauche-gl.h\" #include \"gl-syms.h\" " (include "glcase.scm") ;; The functions are ordered in the same way as Mesa's header file. "#define CHECK_ERROR(msg__) \\ do { \\ GLenum e = glGetError(); \\ if (e != GL_NO_ERROR) { \\ Scm_Error(\"%s: %s\", msg__, gluErrorString(e)); \\ } \\ } while (0) " ;; NB: this should be taken care of by genstub. (define-type <uvector> "ScmUVector*" "uniform vector" "SCM_UVECTORP" "SCM_UVECTOR") (define-type <u32vector> "ScmU32Vector*" "u32vector" "SCM_U32VECTORP" "SCM_U32VECTOR") (define-type <f32vector> "ScmF32Vector*" "f32vector" "SCM_F32VECTORP" "SCM_F32VECTOR") (define-type <gl-boolean-vector> "ScmGLBooleanVector*" "GL boolean vector" "SCM_GL_BOOLEAN_VECTOR_P" "SCM_GL_BOOLEAN_VECTOR") ;;============================================================= ;; <gl-boolean-vector> stuff ;; (define-cproc list->gl-boolean-vector (lis) Scm_ListToGLBooleanVector) (define-cproc gl-boolean-vector (&rest lis) Scm_ListToGLBooleanVector) (define-cproc gl-boolean-vector? (obj) ::<boolean> SCM_GL_BOOLEAN_VECTOR_P) (define-cproc make-gl-boolean-vector (size::<uint> &optional (init::<boolean> #f)) Scm_MakeGLBooleanVector) (define-cproc gl-boolean-vector-copy (bv::<gl-boolean-vector>) (result (Scm_MakeGLBooleanVectorFromArray (-> bv size) (-> bv elements)))) (define-cproc gl-boolean-vector-ref (bv::<gl-boolean-vector> k::<int> &optional fallback) (cond [(or (< k 0) (>= k (-> bv size))) (when (SCM_UNBOUNDP fallback) (Scm_Error "argument out of bound: %d" k)) (result fallback)] [else (result (SCM_MAKE_BOOL (aref (-> bv elements) k)))])) (define-cproc gl-boolean-vector-set! (bv::<gl-boolean-vector> k::<int> value) ::<void> (if (or (< k 0) (>= k (-> bv size))) (Scm_Error "argument out of bound: %d" k) (= (aref (-> bv elements) k) (?: (SCM_FALSEP value) GL_FALSE GL_TRUE)))) (define-cproc gl-boolean-vector-length (bv::<gl-boolean-vector>) ::<int> (result (-> bv size))) (define-cproc gl-boolean-vector-fill! (bv::<gl-boolean-vector> fill) (let* ([val::GLboolean (?: (SCM_FALSEP fill) GL_FALSE GL_TRUE)]) (dotimes [i (-> bv size)] (= (aref (-> bv elements) i) val))) (result (SCM_OBJ bv))) ;;============================================================= ;; Miscellaneous ;; (define-cproc gl-clear-index (c::<float>) ::<void> glClearIndex) (define-cproc gl-clear-color (r::<float> g::<float> b::<float> a::<float>) ::<void> glClearColor) (define-cproc gl-clear (mask::<uint>) ::<void> glClear) (define-cproc gl-index-mask (mask::<uint>) ::<void> glIndexMask) (define-cproc gl-color-mask (r::<boolean> g::<boolean> b::<boolean> a::<boolean>) ::<void> glColorMask) (define-cproc gl-alpha-func (func::<fixnum> ref::<float>) ::<void> glAlphaFunc) (define-cproc gl-blend-func (sfactor::<fixnum> dfactor::<fixnum>) ::<void> glBlendFunc) (define-cproc gl-logic-op (opcode::<fixnum>) ::<void> glLogicOp) (define-cproc gl-cull-face (mode::<fixnum>) ::<void> glCullFace) (define-cproc gl-front-face (mode::<fixnum>) ::<void> glFrontFace) (define-cproc gl-point-size (size::<float>) ::<void> glPointSize) (define-cproc gl-line-width (width::<float>) ::<void> glLineWidth) (define-cproc gl-line-stipple (factor::<fixnum> pat::<ushort>) ::<void> glLineStipple) (define-cproc gl-polygon-mode (face::<fixnum> mode::<fixnum>) ::<void> glPolygonMode) (define-cproc gl-polygon-offset (factor::<float> units::<float>) ::<void> glPolygonOffset) (define-cproc gl-polygon-stipple (mask) ::<void> (assert-vector-type&size u8 128 mask) (glPolygonStipple (SCM_U8VECTOR_ELEMENTS mask))) (define-cproc gl-edge-flag (flag) ::<void> (if (SCM_GL_BOOLEAN_VECTOR_P flag) (glEdgeFlagv (-> (SCM_GL_BOOLEAN_VECTOR flag) elements)) (glEdgeFlag (not (SCM_FALSEP flag))))) (define-cproc gl-scissor (x::<int> y::<int> width::<int> height::<int>) ::<void> glScissor) (define-cproc gl-clip-plane (plane::<fixnum> equation) ::<void> (assert-vector-type&size f64 4 equation) (glClipPlane plane (SCM_F64VECTOR_ELEMENTS equation))) (define-cproc gl-get-clip-plane (plane::<fixnum>) (let* ([v::ScmF64Vector* (SCM_F64VECTOR (Scm_MakeF64Vector 4 0.0))]) (glGetClipPlane plane (SCM_F64VECTOR_ELEMENTS v)) (result (SCM_OBJ v)))) (define-cproc gl-draw-buffer (mode::<fixnum>) ::<void> glDrawBuffer) (define-cproc gl-read-buffer (mode::<fixnum>) ::<void> glReadBuffer) (define-cproc gl-enable (cap::<fixnum>) ::<void> glEnable) (define-cproc gl-disable (cap::<fixnum>) ::<void> glDisable) (define-cproc gl-is-enabled (cap::<fixnum>) ::<boolean> glIsEnabled) (define-cproc gl-enable-client-state (cap::<fixnum>) ::<void> glEnableClientState) (define-cproc gl-disable-client-state (cap::<fixnum>) ::<void> glDisableClientState) ;; Gauche-gl specific (define-cproc gl-state-vector-size (state::<fixnum>) ::<int> Scm_GLStateInfoSize) (define-cise-stmt with-state-info-size [(_ var state name . body) `(let* ([,var :: int (Scm_GLStateInfoSize ,state)]) (when (<= ,var 0) (Scm_Error ,#`"you can't query state %x by ,name" ,state)) ,@body)]) (define-cproc gl-get-boolean (state::<fixnum>) (with-state-info-size vsize state gl-get-boolean (if (== vsize 1) (let* ([b::GLboolean]) (glGetBooleanv (cast GLenum state) (& b)) (result (SCM_MAKE_BOOL b))) (let* ([v (Scm_MakeGLBooleanVector vsize GL_FALSE)]) (glGetBooleanv (cast GLenum state) (-> (SCM_GL_BOOLEAN_VECTOR v) elements)) (result v))))) (define-cproc gl-get-boolean! (vec::<gl-boolean-vector> state::<fixnum>) (with-state-info-size vsize state gl-get-boolean! (when (!= vsize (SCM_GL_BOOLEAN_VECTOR_SIZE vec)) (Scm_Error "state %x needs a vector of size %d, but got %S" state vsize (SCM_OBJ vec))) (glGetBooleanv (cast GLenum state) (-> vec elements)) (result (SCM_OBJ vec)))) (define-cproc gl-get-integer (state::<fixnum>) (with-state-info-size vsize state gl-get-integer (if (== vsize 1) (let* ([i::GLint]) (glGetIntegerv (cast GLenum state) (& i)) (result (Scm_MakeInteger i))) (let* ([v::ScmS32Vector* (SCM_S32VECTOR (Scm_MakeS32Vector vsize 0))]) (glGetIntegerv (cast GLenum state) (cast GLint* (SCM_S32VECTOR_ELEMENTS v))) (result (SCM_OBJ v)))))) (define-cproc gl-get-integer! (vec::<s32vector> state::<fixnum>) (with-state-info-size vsize state gl-get-integer! (when (!= vsize (SCM_S32VECTOR_SIZE vec)) (Scm_Error "state %x needs a vector of size %d, but got %S" state vsize vec)) (glGetIntegerv (cast GLenum state) (cast GLint* (SCM_S32VECTOR_ELEMENTS vec))) (result (SCM_OBJ vec)))) (define-cproc gl-get-float (state::<fixnum>) (with-state-info-size vsize state gl-get-float (if (== vsize 1) (let* ([v::GLfloat]) (glGetFloatv (cast GLenum state) (& v)) (result (Scm_MakeFlonum (cast double v)))) (let* ([v::ScmF32Vector* (SCM_F32VECTOR (Scm_MakeF32Vector vsize 0))]) (glGetFloatv (cast GLenum state) (SCM_F32VECTOR_ELEMENTS v)) (result (SCM_OBJ v)))))) (define-cproc gl-get-float! (vec::<f32vector> state::<fixnum>) (with-state-info-size vsize state gl-get-float! (when (!= vsize (SCM_F32VECTOR_SIZE vec)) (Scm_Error "state %x needs a vector of size %d, but got %S" state vsize vec)) (glGetFloatv (cast GLenum state) (SCM_F32VECTOR_ELEMENTS vec)) (result (SCM_OBJ vec)))) (define-cproc gl-get-double (state::<fixnum>) (with-state-info-size vsize state gl-get-double (if (== vsize 1) (let* ([v::GLdouble]) (glGetDoublev (cast GLenum state) (& v)) (result (Scm_MakeFlonum v))) (let* ([v::ScmF64Vector* (SCM_F64VECTOR (Scm_MakeF64Vector vsize 0))]) (glGetDoublev (cast GLenum state) (SCM_F64VECTOR_ELEMENTS v)) (result (SCM_OBJ v)))))) (define-cproc gl-get-double! (vec::<f64vector> state::<fixnum>) (with-state-info-size vsize state gl-get-double! (when (!= vsize (SCM_F64VECTOR_SIZE vec)) (Scm_Error "state %x needs a vector of size %d, but got %S" state vsize vec)) (glGetDoublev (cast GLenum state) (SCM_F64VECTOR_ELEMENTS vec)) (result (SCM_OBJ vec)))) ;; glGetPointerv (define-cproc gl-push-attrib (mask::<ulong>)::<void> glPushAttrib) (define-cproc gl-pop-attrib () ::<void> glPopAttrib) (define-cproc gl-push-client-attrib (mask::<ulong>)::<void> glPushClientAttrib) (define-cproc gl-pop-client-attrib () ::<void> glPopClientAttrib) (define-cproc gl-render-mode (mode::<fixnum>) ::<int> glRenderMode) (define-cproc gl-get-error () ::<int> glGetError) (define-cproc gl-get-string (name::<fixnum>) (let* ([s::(const GLubyte*) (glGetString name)]) (if s (result (Scm_MakeString (cast (const char*) s) -1 -1 SCM_MAKSTR_COPYING)) (result SCM_FALSE)))) (define-cproc gl-flush () ::<void> glFlush) (define-cproc gl-finish () ::<void> glFinish) (define-cproc gl-hint (target::<int> mode::<int>) ::<void> glHint) ;;============================================================= ;; Depth Buffer ;; (define-cproc gl-clear-depth (depth::<real>)::<void> glClearDepth) (define-cproc gl-depth-func (func::<fixnum>)::<void> glDepthFunc) (define-cproc gl-depth-mask (flag::<boolean>)::<void> glDepthMask) (define-cproc gl-depth-range (nearv::<real> farv::<real>)::<void> glDepthRange) ;;============================================================= ;; Accumulation Buffer ;; (define-cproc gl-clear-accum (r::<real> g::<real> b::<real> a::<real>) ::<void> glClearAccum) (define-cproc gl-accum (op::<fixnum> value::<real>) ::<void> glAccum) ;;============================================================= ;; Transformation ;; (define-cproc gl-matrix-mode (mode::<fixnum>) ::<void> glMatrixMode) (define-cproc gl-ortho (left::<real> right::<real> bottom::<real> top::<real> nearv::<real> farv::<real>) ::<void> glOrtho) (define-cproc gl-frustum (left::<real> right::<real> bottom::<real> top::<real> nearv::<real> farv::<real>) ::<void> glFrustum) (define-cproc gl-viewport (x::<fixnum> y::<fixnum> width::<fixnum> height::<fixnum>) ::<void> glViewport) (define-cproc gl-push-matrix () ::<void> glPushMatrix) (define-cproc gl-pop-matrix () ::<void> glPopMatrix) (define-cproc gl-load-identity () ::<void> glLoadIdentity) (define-cproc gl-load-matrix (m) ::<void> (gl-case (m) "glLoadMatrix~t" ((m4f) (f32 16) (f64 16)) "matrix4f, or f32vector or f64vector of length 16 is required, but got %S")) (define-cproc gl-mult-matrix (m) ::<void> (gl-case (m) "glMultMatrix~t" ((m4f) (f32 16) (f64 16)) "matrix4f, or f32vector or f64vector of length 16 is required, but got %S")) (define-cproc gl-rotate (angle::<real> x::<real> y::<real> z::<real>) ::<void> glRotated) (define-cproc gl-scale (x::<real> y::<real> z::<real>) ::<void> glScaled) (define-cproc gl-translate (x::<real> y::<real> z::<real>) ::<void> glTranslated) ;;============================================================= ;; Display lists ;; (define-cproc gl-is-list (list::<int>)::<boolean> glIsList) (define-cproc gl-delete-lists (list::<int> range::<int>) ::<void> glDeleteLists) (define-cproc gl-gen-lists (range::<int>) ::<ulong> glGenLists) (define-cproc gl-new-list (list::<int> mode::<int>) ::<void> glNewList) (define-cproc gl-end-list () ::<void> glEndList) (define-cproc gl-call-list (list::<int>) ::<void> glCallList) ;; this may be called as ;; (gl-call-lists array) ;; (gl-call-lists size array) ;; (gl-call-lists size type array) (define-cproc gl-call-lists (arg0 &optional arg1 arg2) ::<void> (let* ([size::GLsizei 0] [type::int -1] [array] [bad]) (if (SCM_UNBOUNDP arg2) (if (SCM_UNBOUNDP arg1) (set! array arg0) ; 1arg (if (not (SCM_INTP arg0)) (begin (set! bad arg0) (goto badarg)) (begin (set! size (SCM_INT_VALUE arg0)) (set! array arg1)))) ; 2args (begin ; 3args (unless (SCM_INTP arg0) (set! bad arg0) (goto badarg)) (set! size (SCM_INT_VALUE arg0)) (unless (SCM_INTP arg1) (set! bad arg1) (goto badarg)) (set! type (SCM_INT_VALUE arg1)) (set! array arg2))) (cond [(SCM_U8VECTORP array) (case type [(-1) (if (== size 0) (set! size (SCM_U8VECTOR_SIZE array)) (when (< (SCM_U8VECTOR_SIZE array) size) (goto nee))) (glCallLists size GL_UNSIGNED_BYTE (SCM_U8VECTOR_ELEMENTS array))] [(GL_2_BYTES) (if (== size 0) (set! size (/ (SCM_U8VECTOR_SIZE array) 2)) (when (< (/ (SCM_U8VECTOR_SIZE array) 2) size) (goto nee))) (glCallLists size GL_2_BYTES (SCM_U8VECTOR_ELEMENTS array))] [(GL_3_BYTES) (if (== size 0) (set! size (/ (SCM_U8VECTOR_SIZE array) 3)) (when (< (/ (SCM_U8VECTOR_SIZE array) 3) size) (goto nee))) (glCallLists size GL_3_BYTES (SCM_U8VECTOR_ELEMENTS array))] [(GL_4_BYTES) (if (== size 0) (set! size (/ (SCM_U8VECTOR_SIZE array) 4)) (when (< (/ (SCM_U8VECTOR_SIZE array) 4) size) (goto nee))) (glCallLists size GL_4_BYTES (SCM_U8VECTOR_ELEMENTS array))] [else (goto badtype)])] [(SCM_STRINGP array) ;; TODO: for MT safety, we should extract stringbody first (if (== size 0) (set! size (SCM_STRING_SIZE array)) (when (< (SCM_STRING_SIZE array) size) (goto nee))) (glCallLists size GL_UNSIGNED_BYTE (SCM_STRING_START array))] [else (gl-case (array) (begin (if (== size 0) (set! size (SCM_UVECTOR_SIZE array)) (when (< (SCM_UVECTOR_SIZE array) size) (goto nee))) (glCallLists size ~E ~X)) ((s8) (s16) (u16) (s32) (u32) (f32)) "bad argument to gl-call-lists: %S")]) (when 0 (label badarg) (Scm_Error "bad argument to gl-call-lists: %S" bad)) (when 0 (label nee) (Scm_Error "not enough elements passed to gl-call-lists: %S" array)) (when 0 (label badtype) (Scm_Error "given type %d doesn't match the passed array (u8vector)" type)) )) (define-cproc gl-list-base (base::<int>) ::<void> glListBase) ;;============================================================= ;; Drawing functions ;; (define-cproc gl-begin (mode::<int>) ::<void> glBegin) (define-cproc gl-end () ::<void> glEnd) (define-cproc gl-vertex (v &rest args) (gl-case (v args) "glVertex~n~v" ((p4f 3) (v4f 3) (f32 3 2 4) (f64 3 2 4) (s32 3 2 4) (s16 3 2 4) (args 3 2 4)) "bad argument for v: %S, must be one of point4f, vector4f, \ or f32, f64, s32 or s16 vector of length 2, 3, or 4.")) (define-cproc gl-normal (v &rest args) (gl-case (v args) "glNormal3~v" ((v4f) (f32 3) (f64 3) (s32 3) (s16 3) (args 3)) "bad argument for v: %S, must be one of vector4f, \ or f32, f64, s32 or s16 vector of length 3.")) (define-cproc gl-index (v) ::<void> (cond [(SCM_REALP v) (glIndexd (Scm_GetDouble v))] [(and (SCM_UVECTORP v) (>= (SCM_UVECTOR_SIZE v) 1)) (gl-case (v) "glIndex~v" ((s16) (s32) (f32) (f64)) "s16, s32, f32, f64 or u8vector is required, but got %S")] [else (SCM_TYPE_ERROR v "real number or s16, s32, f32, f64 or u8vector of at least one element")])) (define-cproc gl-color (v &rest args) ::<void> (gl-case (v args) "glColor~n~v" ((f32 3 4) (f64 3 4) (u8 3 4) (u16 3 4) (u32 3 4) (s8 3 4) (s16 3 4) (s32 3 4) (args 3 4)) "bad argument for color: %S, must be an uniform vector of \ length 3 or 4")) (define-cproc gl-tex-coord (v &rest args) ::<void> (gl-case (v args) "glTexCoord~n~v" ((f32 2 1 3 4) (f64 2 1 3 4) (s32 2 1 3 4) (s16 2 1 3 4) (args 2 1 3 4)) "bad argument for v: %S, must be one of f32, f64, s32 or s16 vector of length 1, 2, 3, or 4.")) (define-cproc gl-raster-pos (v &rest args) (gl-case (v args) "glRasterPos~n~v" ((f32 3 2 4) (f64 3 2 4) (s32 3 2 4) (s16 3 2 4) (args 3 2 4)) "bad argument for v: %S, must be one of f32, f64, s32 or s16 vector of length 2, 3, or 4.")) (define-cproc gl-rect (v1 v2 &rest args) (cond [(SCM_POINT4FP v1) (unless (SCM_POINT4FP v2) (goto badarg2)) (glRectfv (SCM_POINT4F_D v1) (SCM_POINT4F_D v2))] [(SCM_F32VECTORP v1) (unless (== (SCM_F32VECTOR_SIZE v1) 2) (goto badarg1)) (unless (and (SCM_F32VECTORP v2) (== (SCM_F32VECTOR_SIZE v2) 2)) (goto badarg2)) (glRectfv (SCM_F32VECTOR_ELEMENTS v1) (SCM_F32VECTOR_ELEMENTS v2))] [(SCM_F64VECTOR_SIZE v1) (unless (== (SCM_F64VECTOR_SIZE v1) 2) (goto badarg1)) (unless (and (SCM_F64VECTORP v2) (== (SCM_F64VECTOR_SIZE v2) 2)) (goto badarg2)) (glRectdv (SCM_F64VECTOR_ELEMENTS v1) (SCM_F64VECTOR_ELEMENTS v2))] [(SCM_S32VECTOR_SIZE v1) (unless (== (SCM_S32VECTOR_SIZE v1) 2) (goto badarg1)) (unless (and (SCM_S32VECTORP v2) (== (SCM_S32VECTOR_SIZE v2) 2)) (goto badarg2)) (glRectiv (SCM_S32VECTOR_ELEMENTS v1) (SCM_S32VECTOR_ELEMENTS v2))] [(SCM_S16VECTOR_SIZE v1) (unless (== (SCM_S16VECTOR_SIZE v1) 2) (goto badarg1)) (unless (and (SCM_S16VECTORP v2) (== (SCM_S16VECTOR_SIZE v2) 2)) (goto badarg2)) (glRectsv (SCM_S16VECTOR_ELEMENTS v1) (SCM_S16VECTOR_ELEMENTS v2))] [else (let* ([val::(.array double (4))]) (Scm_GLGetDoubles v1 (Scm_Cons v2 args) val 4 4) (glRectd (aref val 0) (aref val 1) (aref val 2) (aref val 3)))]) (when 0 (label badarg1) (Scm_Error "bad argument for v1: %S, must be one of f32, f64, s32 or s16 vector of length 2" v1)) (when 0 (label badarg2) (Scm_Error "bad argument for v2: %S, must be one of f32, f64, s32 or s16 vector of length 2" v2))) ;;============================================================= ;; Vertex Arrays ;; ;; NOTE: it is caller's responsibility to guarantee VEC has enough length. ;; GL doesn't have interface to specify the boundary, so I can't detect ;; invalid length vector. ;; Scheme version doesn't have TYPE - it's derived from vector type. ;; STRIDE argument refers to the # of elements, rather than bytes. (define-cproc gl-vertex-pointer (size::<fixnum> vec &optional (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (when (or (< size 2) (> size 4)) (Scm_Error "bad argument for size: %d, must be 2, 3 or 4" size)) (when (< stride 0) (Scm_Error "bad argument for stride: %d, must be 0 or positive" stride)) (when (< offset 0) (Scm_Error "bad argument for offset: %d, must be 0 or positive" offset)) (gl-case (vec) ("glVertexPointer" size ~E (* stride (sizeof ~T)) (cast void* (+ ~X offset))) ((p4farray) (f32) (f64) (s32) (s16)) "bad argument for vec: %S, must be f32, f64, s32 or s16vector")) (define-cproc gl-normal-pointer (vec &optional (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (when (< stride 0) (Scm_Error "bad argument for stride: %d, must be 0 or positive" stride)) (when (< offset 0) (Scm_Error "bad argument for offset: %d, must be 0 or positive" offset)) (gl-case (vec) ("glNormalPointer" ~E (* stride (sizeof ~T)) (cast void* (+ ~X offset))) ((v4farray) (f32) (f64) (s32) (s16) (s8)) "bad argument for vec: %S, must be f32, f64, s8, s16 or s32vector")) (define-cproc gl-color-pointer (size::<fixnum> vec &optional (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (when (or (< size 2) (> size 4)) (Scm_Error "bad argument for size: %d, must be 2, 3 or 4" size)) (when (< stride 0) (Scm_Error "bad argument for stride: %d, must be 0 or positive" stride)) (when (< offset 0) (Scm_Error "bad argument for offset: %d, must be 0 or positive" offset)) (gl-case (vec) ("glColorPointer" size ~E (* stride (sizeof ~T)) (cast void* (+ ~X offset))) ((f32) (f64) (u32) (u16) (u8) (s32) (s16) (s8)) "bad argument for vec: %S, must be f32, f64, s8, u8, s16, u16, s32 or u32vector")) (define-cproc gl-index-pointer (vec &optional (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (when (< stride 0) (Scm_Error "bad argument for stride: %d, must be 0 or positive" stride)) (when (< offset 0) (Scm_Error "bad argument for offset: %d, must be 0 or positive" offset)) (gl-case (vec) ("glIndexPointer" ~E (* stride (sizeof ~T)) (cast void* (+ ~X offset))) ((s32) (s16) (u8) (f32) (f64)) "bad argument for vec: %S, must be f32, f64, u8, s16 or s32 vector")) (define-cproc gl-tex-coord-pointer (size::<fixnum> vec &optional (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (when (or (< size 1) (> size 4)) (Scm_Error "bad argument for size: %d, must be 1, 2, 3 or 4" size)) (when (< stride 0) (Scm_Error "bad argument for stride: %d, must be 0 or positive" stride)) (when (< offset 0) (Scm_Error "bad argument for offset: %d, must be 0 or positive" offset)) (gl-case (vec) ("glTexCoordPointer" size ~E (* stride (sizeof ~T)) (cast void* (+ ~X offset))) ((f32) (f64) (s32) (s16)) "bad argument for vec: %S, must be f32, f64, s16 or s32vector")) (define-cproc gl-edge-flag-pointer (vec &optional (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (if (SCM_GL_BOOLEAN_VECTOR_P vec) (glEdgeFlagPointer stride (+ (SCM_GL_BOOLEAN_VECTOR_ELEMENTS vec) offset)) (Scm_Error "gl-boolean-vector required for vec, but got %S" vec))) (define-cproc gl-array-element (ith::<fixnum>) ::<void> (glArrayElement ith)) ;; count and type is derived from indices vector (define-cproc gl-draw-elements (mode::<fixnum> indices) ::<void> (gl-case (indices) ("glDrawElements" mode (SCM_UVECTOR_SIZE indices) ~E ~X) ((u8) (u16) (u32)) "bad argument for indices: %S, must be u8, u16 or u32vector")) (define-cproc gl-draw-arrays (mode::<fixnum> first::<fixnum> count::<fixnum>) ::<void> glDrawArrays) ;; Note: we don't allow non-uniform vector for the interleaved arrays, so ;; the color component must be float. (define-cproc gl-interleaved-arrays (format::<fixnum> vec &optional (stride::<fixnum> 0) (offset::<fixnum> 0)) ::<void> (case format [(GL_C4UB_V2F GL_C4UB_V3F GL_T2F_C4UB_V3F) (Scm_Error "interleaved arrays with integer color component is not supported.")]) (unless (SCM_F32VECTORP vec) (Scm_Error "bad argument for vec: %S, must be f32vector." vec)) (glInterleavedArrays format (* stride (sizeof GLfloat)) (SCM_F32VECTOR_ELEMENTS vec))) ;;============================================================= ;; Lighting ;; (define-cproc gl-shade-model (mode::<fixnum>) ::<void> glShadeModel) (define-cproc gl-light (light::<fixnum> pname::<fixnum> param) ::<void> (case pname [(GL_AMBIENT GL_DIFFUSE GL_SPECULAR GL_POSITION) (gl-case (param) ("glLight~v" light pname ~X) ((f32 4) (s32 4)) "f32 or s32 vector of length 4 expected, but got %S")] [(GL_SPOT_DIRECTION) (gl-case (param) ("glLight~v" light pname ~X) ((f32 3) (s32 3)) "f32 or s32 vector of length 3 expected, but got %S")] [else (if (SCM_REALP param) (glLightf light pname (cast GLfloat (Scm_GetDouble param))) (Scm_Error "real number required, but got %S" param))])) (define-cproc gl-get-light (light::<fixnum> pname::<fixnum>) (case pname [(GL_AMBIENT GL_DIFFUSE GL_SPECULAR GL_POSITION) (let* ([v (Scm_MakeF32Vector 4 0.0)]) (glGetLightfv light pname (SCM_F32VECTOR_ELEMENTS v)) (result v))] [(GL_SPOT_DIRECTION) (let* ([v (Scm_MakeF32Vector 3 0.0)]) (glGetLightfv light pname (SCM_F32VECTOR_ELEMENTS v)) (result v))] [else (let* ([f::GLfloat]) (glGetLightfv light pname (& f)) (result (Scm_MakeFlonum (cast double f))))])) (define-cproc gl-light-model (pname::<fixnum> param) ::<void> (case pname [(GL_LIGHT_MODEL_AMBIENT) (gl-case (param) ("glLightModel~v" pname ~X) ((f32 4) (s32 4)) "bad parameter for GL_LIGHT_MODEL_AMBIENT: f32 or s32 vector of length 4 is expected, but got %S")] [(GL_LIGHT_MODEL_COLOR_CONTROL) (if (SCM_INTP param) (glLightModeli pname (SCM_INT_VALUE param)) (Scm_Error "bad parameter for GL_LIGHT_MODEL_COLOR_CONTROL: an exact small integer is expected, but got %S" param))] [else (glLightModeli pname (not (SCM_FALSEP param)))])) (define-cproc gl-material (face::<fixnum> pname::<fixnum> param) ::<void> (case pname [(GL_AMBIENT GL_DIFFUSE GL_SPECULAR GL_EMISSION GL_AMBIENT_AND_DIFFUSE) (gl-case (param) ("glMaterial~v" face pname ~X) ((f32 4) (s32 4)) "f32 or s32 vector of length 4 expected, but got %S")] [(GL_COLOR_INDEXES) (gl-case (param) ("glMaterial~v" face pname ~X) ((f32 3) (s32 3)) "f32 or s32 vector of length 3 expected, but got %S")] [else (if (SCM_REALP param) (glMaterialf face pname (cast GLfloat (Scm_GetDouble param))) (Scm_Error "real number expected, but got %S" param))])) (define-cproc gl-get-material (face::<fixnum> pname::<fixnum>) (case pname [(GL_AMBIENT GL_DIFFUSE GL_SPECULAR GL_EMISSION) (let* ([v (Scm_MakeF32Vector 4 0.0)]) (glGetMaterialfv face pname (SCM_F32VECTOR_ELEMENTS v)) (result v))] [(GL_COLOR_INDEXES) (let* ([v (Scm_MakeS32Vector 4 0.0)]) (glGetMaterialiv face pname (SCM_S32VECTOR_ELEMENTS v)) (result v))] [(GL_SHININESS) (let* ([v::GLfloat]) (glGetMaterialfv face pname (& v)) (result (Scm_MakeFlonum (cast double v))))] [else (Scm_Error "bad pname: %d" pname)])) (define-cproc gl-color-material (face::<fixnum> mode::<fixnum>) ::<void> glColorMaterial) ;;============================================================= ;; Raster functions ;; (define-cproc gl-pixel-zoom (xfactor::<real> yfactor::<real>) ::<void> glPixelZoom) (define-cproc gl-pixel-store (pname::<fixnum> param) ::<void> (cond [(SCM_INTP param) (glPixelStorei pname (Scm_GetInteger param))] [(SCM_REALP param) (glPixelStoref pname (cast GLfloat (Scm_GetDouble param)))] [else (Scm_Error "real number required for param, but got %S" param)])) (define-cproc gl-pixel-transfer (pname::<fixnum> param) ::<void> (cond [(SCM_BOOLP param) (glPixelTransferi pname (SCM_BOOL_VALUE param))] [(SCM_INTP param) (glPixelTransferi pname (Scm_GetInteger param))] [(SCM_REALP param) (glPixelTransferf pname (cast GLfloat (Scm_GetDouble param)))] [else (Scm_Error "real number or boolean required for param, but got %S" param)])) (define-cproc gl-pixel-map (map::<fixnum> values) ::<void> (gl-case (values) ("glPixelMap~v" map (SCM_UVECTOR_SIZE values) ~X) ((u32) (u16) (f32)) "map value vector must be u16, u32 or f32 vector, but got %S")) ;; values must have enough size (define-cproc gl-get-pixel-map! (map::<fixnum> values) (gl-case (values) ("glGetPixelMap~v" map ~X) ((u32) (u16) (f32)) "map value vector must be u16, u32 or f32 vector, but got %S") (result values)) ;; allocate the vector in it. type can be a class ;; <u32vector> (default), <u16vector> or <f32vector> (define-cproc gl-get-pixel-map (map::<fixnum> &optional type) (let* ([size::int]) (glGetIntegerv map (& size)) (CHECK_ERROR "couldn't get pixel map size") (SCM_ASSERT (>= size 0)) (cond [(or (SCM_UNBOUNDP type) (== type (SCM_OBJ SCM_CLASS_U32VECTOR))) (let* ([vec (Scm_MakeU32Vector size 0)]) (glGetPixelMapuiv map (cast GLuint* (SCM_U32VECTOR_ELEMENTS vec))) (result vec))] [(== type (SCM_OBJ SCM_CLASS_U16VECTOR)) (let* ([vec (Scm_MakeU16Vector size 0)]) (glGetPixelMapusv map (cast GLushort* (SCM_U16VECTOR_ELEMENTS vec))) (result vec))] [(== type (SCM_OBJ SCM_CLASS_F32VECTOR)) (let* ([vec (Scm_MakeF32Vector size 0)]) (glGetPixelMapfv map (cast GLfloat* (SCM_F32VECTOR_ELEMENTS vec))) (result vec))] [else (Scm_Error "pixel map vector class must be either <u32vector>, <u16vector> or <f32vector>, but got %S" type)]))) (define-cproc gl-bitmap (width::<int> height::<int> xbo::<float> ybo::<float> xbi::<float> ybi::<float> bitmap) ::<void> (unless (SCM_U8VECTORP bitmap) (Scm_Error "bitmap must be an u8vector, but got %S" bitmap)) (unless (== (SCM_U8VECTOR_SIZE bitmap) (* height (/ (+ width 7) 8))) (Scm_Error "size (width=%d, height=%d) doesn't match bitmap vector %S" width height bitmap)) (glBitmap width height xbo ybo xbi ybi (SCM_U8VECTOR_ELEMENTS bitmap))) (define-cproc gl-read-pixels (x::<fixnum> y::<fixnum> width::<fixnum> height::<fixnum> format::<fixnum> type::<fixnum>) (let* ([elttype::int] [packed::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) (& packed))] [vec (Scm_GLAllocUVector elttype size)]) (unless (SCM_UVECTORP vec) (Scm_Error "invalid format or type (%S, %S)" format type)) (glReadPixels x y width height format type (SCM_UVECTOR_ELEMENTS vec)) (result vec))) ; gl-read-pixels! (define-cproc gl-draw-pixels (width::<fixnum> height::<fixnum> format::<fixnum> type::<fixnum> pixels) ::<void> (let* ([elttype::int] [packed::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) (& packed))]) (glDrawPixels width height format type (Scm_GLPixelDataCheck pixels elttype size)))) (define-cproc gl-copy-pixels (x::<fixnum> y::<fixnum> width::<fixnum> height::<fixnum> type::<fixnum>) ::<void> glCopyPixels) ;;============================================================= ;; Stenciling ;; (define-cproc gl-stencil-func (func::<fixnum> ref::<int> mask::<uint>) ::<void> glStencilFunc) (define-cproc gl-stencil-mask (mask::<uint>) ::<void> glStencilMask) (define-cproc gl-stencil-op (func::<fixnum> zfail::<fixnum> zpass::<fixnum>) ::<void> glStencilOp) (define-cproc gl-clear-stencil (s::<int>) ::<void> glClearStencil) ;;============================================================= ;; Texture mapping ;; (define-cproc gl-tex-gen (coord::<fixnum> pname::<fixnum> param) ::<void> (case pname [(GL_TEXTURE_GEN_MODE) (unless (SCM_INTP param) (Scm_Error "integer parameter required for GL_TEXTURE_GEN_MODE, but got %S" param)) (glTexGeni coord pname (SCM_INT_VALUE param))] [(GL_OBJECT_PLANE GL_EYE_PLANE) (gl-case (param) ("glTexGen~v" coord pname ~X) ((f32 4) (f64 4) (s32 4)) "s32, f32 or f64 vector of size 4 is required for parameter, but got %S")] [else (Scm_Error "unknown or unsupported glTexGen pname: %d" pname)])) (define-cproc gl-tex-env (target::<fixnum> pname::<fixnum> param) ::<void> (case pname [(GL_TEXTURE_ENV_MODE) (if (SCM_INTP param) (glTexEnvi target pname (SCM_INT_VALUE param)) (Scm_Error "integer parameter required for GL_TEXTURE_ENV_MODE, but got %S" param))] [(GL_TEXTURE_ENV_COLOR) (gl-case (param) ("glTexEnv~v" target pname ~X) ((f32 4)) "f32 vector of size 4 is required for GL_TEXTURE_ENV_COLOR parameter, but got %S")] [else (Scm_Error "unknown or unsupported glTexEnv pname: %d" pname)])) ;; Trick: CYGWIN GL missing some parameters. We define dummy here---even ;; with correct values, they'll fail at runtime anyway. "#ifndef GL_TEXTURE_WRAP_R #define GL_TEXTURE_WRAP_R 0 #endif #ifndef GL_TEXTURE_WRAP_BASE_LEVEL #define GL_TEXTURE_WRAP_BASE_LEVEL 0 #endif #ifndef GL_TEXTURE_WRAP_MAX_LEVEL #define GL_TEXTURE_WRAP_MAX_LEVEL 0 #endif #ifndef GL_TEXTURE_MIN_LOD #define GL_TEXTURE_MIN_LOD 0 #endif #ifndef GL_TEXTURE_MAX_LOD #define GL_TEXTURE_MAX_LOD 0 #endif " (define-cproc gl-tex-parameter (target::<fixnum> pname::<fixnum> param)::<void> (case pname [(GL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_T GL_TEXTURE_WRAP_R GL_TEXTURE_BASE_LEVEL GL_TEXTURE_MAX_LEVEL GL_TEXTURE_MAG_FILTER GL_TEXTURE_MIN_FILTER) (if (SCM_INTP param) (glTexParameteri target pname (Scm_GetInteger param)) (Scm_Error "integer parameter required, but got %S" param))] [(GL_TEXTURE_PRIORITY GL_TEXTURE_MIN_LOD GL_TEXTURE_MAX_LOD) (if (SCM_REALP param) (glTexParameterf target pname (cast GLfloat (Scm_GetDouble param))) (Scm_Error "real parameter required, but got %S" param))] [(GL_TEXTURE_BORDER_COLOR) (gl-case (param) ("glTexParameter~v" target pname ~X) ((f32 4) (s32 4)) "f32 or s32 vector parameter of size 4 required, but got %S")] [else (Scm_Error "unknown or unsupported glTexParameter pname: %d" pname)])) (define-cproc gl-get-tex-parameter (target::<fixnum> pname::<fixnum>) (case pname [(GL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_T GL_TEXTURE_WRAP_R GL_TEXTURE_BASE_LEVEL GL_TEXTURE_MAX_LEVEL GL_TEXTURE_MAG_FILTER GL_TEXTURE_MIN_FILTER) (let* ([i::GLint]) (glGetTexParameteriv target pname (& i)) (result (Scm_MakeInteger i)))] [(GL_TEXTURE_PRIORITY GL_TEXTURE_MIN_LOD GL_TEXTURE_MAX_LOD) (let* ([f::GLfloat]) (glGetTexParameterfv target pname (& f)) (result (Scm_MakeFlonum (cast double f))))] [(GL_TEXTURE_BORDER_COLOR) (let* ([vec (Scm_MakeF32Vector 4 0.0)]) (glGetTexParameterfv target pname (SCM_F32VECTOR_ELEMENTS vec)) (result vec))] [else (Scm_Error "unknown or unsupported glTexParameter pname: %d" pname)])) (define-cproc gl-get-tex-level-parameter (target::<fixnum> level::<fixnum> pname::<fixnum>) (case pname [(GL_TEXTURE_WIDTH GL_TEXTURE_HEIGHT GL_TEXTURE_DEPTH GL_TEXTURE_BORDER GL_TEXTURE_INTERNAL_FORMAT GL_TEXTURE_RED_SIZE GL_TEXTURE_GREEN_SIZE GL_TEXTURE_BLUE_SIZE GL_TEXTURE_ALPHA_SIZE GL_TEXTURE_LUMINANCE_SIZE GL_TEXTURE_INTENSITY_SIZE) (let* ([i::GLint]) (glGetTexLevelParameteriv target level pname (& i)) (result (Scm_MakeInteger i)))] [else (Scm_Error "unknown or unsupported glTexLevelParameter pname: %d" pname)])) ;; Caller must ensure vector has enough length, since we need to get ;; pixel store parameters to check that, which is expensive. ;; We allow #f to TEXELS just to allcate texture area (to be used ;; as a render target via framebuffer object). (define-cproc gl-tex-image-1d (target::<fixnum> level::<fixnum> internalformat::<fixnum> width::<fixnum> border::<fixnum> format::<fixnum> type::<fixnum> texels) ::<void> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width 1 format type (& elttype) NULL)] [data::void* NULL]) (unless (SCM_FALSEP texels) (set! data (Scm_GLPixelDataCheck texels elttype size))) (glTexImage1D target level internalformat width border format type data))) ;; Caller must ensure vector has enough length, since we need to get ;; pixel store parameters to check that, which is expensive. ;; We allow #f to TEXELS just to allcate texture area (to be used ;; as a render target via framebuffer object). (define-cproc gl-tex-image-2d (target::<fixnum> level::<fixnum> internalformat::<fixnum> width::<fixnum> height::<fixnum> border::<fixnum> format::<fixnum> type::<fixnum> texels) ::<void> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) NULL)] [data::void* NULL]) (unless (SCM_FALSEP texels) (set! data (Scm_GLPixelDataCheck texels elttype size))) (glTexImage2D target level internalformat width height border format type data))) ; gl-get-tex-image (define-cproc gl-gen-textures (size::<fixnum>) (when (<= size 0) (Scm_Error "size must be a positive integer, but got %d" size)) (let* ([vec (Scm_MakeU32Vector size 0)]) (glGenTextures size (cast GLuint* (SCM_U32VECTOR_ELEMENTS vec))) (result vec))) (define-cproc gl-delete-textures (names::<u32vector>) ::<void> (glDeleteTextures (SCM_U32VECTOR_SIZE names) (cast GLuint* (SCM_U32VECTOR_ELEMENTS names)))) (define-cproc gl-bind-texture (target::<fixnum> name::<int>) ::<void> glBindTexture) (define-cproc gl-prioritize-textures (names::<u32vector> priorities::<f32vector>) ::<void> (let* ([n::int (SCM_U32VECTOR_SIZE names)]) (when (!= n (SCM_F32VECTOR_SIZE priorities)) (Scm_Error "priority vector length doesn't match \ the names vector length %d: %S" n priorities)) (glPrioritizeTextures n (cast GLuint* (SCM_U32VECTOR_ELEMENTS names)) (SCM_F32VECTOR_ELEMENTS priorities)))) (define-cproc gl-are-textures-resident! (names::<u32vector> res::<gl-boolean-vector>) ::<boolean> (glAreTexturesResident (SCM_U32VECTOR_SIZE names) (cast GLuint* (SCM_U32VECTOR_ELEMENTS names)) (SCM_GL_BOOLEAN_VECTOR_ELEMENTS res))) (define-cproc gl-is-texture (name::<int>) ::<int> glIsTexture) (define-cproc gl-tex-sub-image-1d (target::<fixnum> level::<fixnum> xoffset::<fixnum> width::<fixnum> format::<fixnum> type::<fixnum> texels) ::<void> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width 1 format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (when texelptr (glTexSubImage1D target level xoffset width format type texelptr)))) (define-cproc gl-tex-sub-image-2d (target::<fixnum> level::<fixnum> xoffset::<fixnum> yoffset::<fixnum> width::<fixnum> height::<fixnum> format::<fixnum> type::<fixnum> texels) ::<void> (let* ([elttype::int] [size::int (Scm_GLPixelDataSize width height format type (& elttype) NULL)] [texelptr::void* (Scm_GLPixelDataCheck texels elttype size)]) (when texelptr (glTexSubImage2D target level xoffset yoffset width height format type texelptr)))) (define-cproc gl-copy-tex-image-1d (target::<fixnum> level::<fixnum> internal-format::<fixnum> x::<fixnum> y::<fixnum> width::<fixnum> border::<fixnum>) ::<void> glCopyTexImage1D) (define-cproc gl-copy-tex-image-2d (target::<fixnum> level::<fixnum> internal-format::<fixnum> x::<fixnum> y::<fixnum> width::<fixnum> height::<fixnum> border::<fixnum>) ::<void> glCopyTexImage2D) (define-cproc gl-copy-tex-sub-image-1d (target::<fixnum> level::<fixnum> xoffset::<fixnum> x::<fixnum> y::<fixnum> width::<fixnum>) ::<void> glCopyTexSubImage1D) (define-cproc gl-copy-tex-sub-image-2d (target::<fixnum> level::<fixnum> xoffset::<fixnum> yoffset::<fixnum> x::<fixnum> y::<fixnum> width::<fixnum> height::<fixnum>) ::<void> glCopyTexSubImage2D) ;;============================================================= ;; Evaluators ;; ; gl-map1 ; gl-map2 ; gl-get-map ; gl-eval-coord1 ; gl-eval-coord2 ; gl-map-grid ; gl-eval-point1 ; gl-eval-point2 ; gl-eval-mesh1 ; gl-eval-mesh2 ;;============================================================= ;; Fog ;; (define-cproc gl-fog (pname::<fixnum> param) ::<void> (case pname [(GL_FOG_MODE GL_FOG_INDEX) (if (SCM_INTP param) (glFogi pname (SCM_INT_VALUE param)) (Scm_Error "integer parameter required, but got %S" param))] [(GL_FOG_DENSITY GL_FOG_START GL_FOG_END) (if (SCM_REALP param) (glFogf pname (cast GLfloat (Scm_GetDouble param))) (Scm_Error "real number parameter required, but got %S" param))] [(GL_FOG_COLOR) (assert-vector-type&size f32 4 param) (glFogfv pname (SCM_F32VECTOR_ELEMENTS param))] [else (Scm_Error "unknown or unsupported glFog pname: %d" pname)])) ;;============================================================= ;; Selection and feedback ;; (define-cproc gl-feedback-buffer (type::<fixnum> buffer::<f32vector>) ::<void> (glFeedbackBuffer (SCM_F32VECTOR_SIZE buffer) type (SCM_F32VECTOR_ELEMENTS buffer))) (define-cproc gl-select-buffer (buffer::<u32vector>) ::<void> (glSelectBuffer (SCM_U32VECTOR_SIZE buffer) (cast GLuint* (SCM_U32VECTOR_ELEMENTS buffer)))) (define-cproc gl-pass-through (token::<float>) ::<void> glPassThrough) (define-cproc gl-init-names () ::<void> glInitNames) (define-cproc gl-load-name (name::<int>) ::<void> glLoadName) (define-cproc gl-push-name (name::<int>) ::<void> glPushName) (define-cproc gl-pop-name () ::<void> glPopName) ;; Local variables: ;; mode: scheme ;; end: ������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/INSTALL.utf-8�������������������������������������������������������������������������0000664�0000764�0000764�00000006436�12371574452�014235� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ Gauche-gl - Gauche OpenGL ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚° Gauche-glã®æœ€æ–°æƒ…å ±ã¯ä»¥ä¸‹ã®URLã§å¾—られã¾ã™ã€‚ http://practical-scheme.net/gauche/ å¿…è¦ãªæº–å‚™ ---------------------------------------------------------- * Gauche 0.9.3 以é™ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ * OpenGL 1.1以é™ã‚‚ã—ãã¯Mesa 3.0以é™ãŒå¿…è¦ã§ã™ã€‚ * GLUT 3.7以é™ãŒå¿…è¦ã§ã™ã€‚(ãŸã ã—ã€MinGW上ã§ã®ã‚³ãƒ³ãƒ‘イル時ã«ã¯ å¿…è¦ã‚りã¾ã›ã‚“。以下ã§èª¬æ˜Žã—ã¾ã™) ç°¡å˜ãªæ–¹æ³• ---------------------------------------------------------- % ./configure % make % make install Configureスクリプトã¯ã€æ—¢ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹Gaucheã®æƒ…報を元ã«ã€ å¿…è¦ãªã‚³ãƒ³ãƒ‘イラオプションやインストール先を設定ã—ã¾ã™ã€‚ GLUTライブラリã®å ´æ‰€ ---------------------------------------------------------- ã‚‚ã—GLUTãƒ©ã‚¤ãƒ–ãƒ©ãƒªãŒæ¨™æº–ã§ãªã„場所ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹å ´åˆã€ä»¥ä¸‹ã®ã‚ªãƒ—ション㧠ãã®å ´æ‰€ã‚’configureã‚¹ã‚¯ãƒªãƒ—ãƒˆã«æ¸¡ã—ã¦ä¸‹ã•ã„。 ./configure --with-glut=DIR MinGWã§ã¯ã€åˆ¥ã«GLUTをインストールã™ã‚‹ã‹ã‚りã«ã€ã‚½ãƒ¼ã‚¹ãƒ„リーã«å«ã¾ã‚Œã‚‹freeglut-2.6 を使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ã“ã®æ–¹æ³•を使ã£ãŸå ´åˆã€freeglutライブラリã¯ã‚¹ã‚¿ãƒ†ã‚£ãƒƒã‚¯ã« リンクã•れるãŸã‚ã€ã‚¹ã‚¯ãƒªãƒ—トをé…布ã™ã‚‹éš›ã«glutライブラリを別ã«å«ã‚ã‚‹å¿…è¦ã¯ ã‚りã¾ã›ã‚“。ã“ã®æ–¹æ³•ã‚’é¸ã¶å ´åˆã¯æ¬¡ã®ã‚ªãƒ—ションã§configureã—ã¦ãã ã•ã„。 ./configure --with-glut=mingw-static freeglutをリンクã—ãŸlibgauche-glut.dllをアプリケーションã¨å…±ã«é…布ã™ã‚‹å ´åˆã¯ã€ win32/freeglut-2.6.0-3/Copying.txt ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。freeglut㯠MITãƒ©ã‚¤ã‚»ãƒ³ã‚¹çš„ãªæ¡ä»¶ã§ä½¿ãˆã¾ã™ãŒã€é…布物ã«ã¯è‘—作権表示をå«ã‚ãªã‘れã°ãªã‚Šã¾ã›ã‚“。 NVidia Cg ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚° ---------------------------------------------------------- Issac Trottsæ°ã«ã‚ˆã‚‹ã€NVidiaã®Cg Toolkitを使ã†ãŸã‚ã®ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ãŒ ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã§æä¾›ã•れã¦ã„ã¾ã™ã€‚ã¾ã ä¸€éƒ¨ã®APIã—ã‹ã‚«ãƒãƒ¼ã•れã¦ã„ã¾ã›ã‚“㌠ã„ãã¤ã‹ã®ã‚µãƒ³ãƒ—ルを走らã›ã‚‹ã“ã¨ã¯ã§ãã¾ã™ã€‚Cgãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã‚’ビルド〠インストールã™ã‚‹ãŸã‚ã«ã¯ã€configure時ã«--enable-cgを指定ã—ã¦ãã ã•ã„。 ./configure --enable-cg ビルドã«ã¯ã€NVidiaã®Cg ToolkitãŒæ—¢ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ NVidiaã®Cg Toolkitã¯æ¬¡ã®URLã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã§ãã¾ã™ã€‚ http://developer.nvidia.com/object/cg_toolkit.html ãƒ—ãƒ©ãƒƒãƒˆãƒ•ã‚©ãƒ¼ãƒ ç‰¹æœ‰ã®æƒ…å ± ---------------------------------------------------------- FreeBSDã®portsã§ã¯MesaãŒpthreadsをイãƒãƒ¼ãƒ–ルã«ã—ã¦ã‚³ãƒ³ãƒ‘イルã•れã¦ã„ã‚‹ ãã†ãªã®ã§ã€Gauche本体もpthreadsをイãƒãƒ¼ãƒ–ルã«ã—ã¦ãŠã‹ãªã„ã¨Gauche-gl㌠リンクã§ãã¾ã›ã‚“。(pthreadsを指定ã™ã‚‹ã¨Gaucheã®configure時ã«è­¦å‘ŠãŒ 出ã¾ã™ãŒã€ãƒ—ログラム中ã§make-threadã—ãªã‘れã°å…¨ãå•題ã‚りã¾ã›ã‚“) OSX 10.9以é™ã§ã¯GLUTãŒéžæŽ¨å¥¨ã¨ãªã£ãŸãŸã‚ã€ã‚³ãƒ³ãƒ‘イル中ã«WarningãŒå¤§é‡ã«å‡ºã¾ã™ã€‚ 動作ã«å•題ã¯ã‚りã¾ã›ã‚“。近ã„å°†æ¥ä»£æ›¿æ‰‹æ®µã‚’æä¾›ã™ã‚‹äºˆå®šã§ã™ã€‚ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/��������������������������������������������������������������������������������0000755�0000764�0000764�00000000000�12340277645�013171� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/���������������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�015571� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/lib/�����������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�016337� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/lib/libfreeglut.a����������������������������������������������0000644�0000764�0000764�00000332000�11533026402�021003� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!<arch> / 1264195962 0 0 0 8194 ` ��$�� F��"Î��% ��% ��(T��(T��+��+��-Ò��-Ò��0Œ��0Œ��3b��3b��6@��6@��9��9��;Ê��;Ê��>’��>’��AP��AP��D���D���F²��F²��Iz��Iz��L4��L4��Nî��Nî��Q²��Q²��Tv��Tv��W2��W2��Yä��Yä��\”��\”��_H��_H��b��b��dØ��dØ��g’��g’��jL��jL��m��m��oÄ��oÄ��r€��r€��uF��uF��x��x��zÎ��zÎ��}ˆ��}ˆ��€Z��€Z��ƒ,��ƒ,��…þ��…þ��ˆ¸��ˆ¸��‹€��‹€��Ž:��Ž:��ö��ö��“Î��“Î��–®��–®��™t��™t��œ<��œ<��Ÿ��Ÿ��¡Æ��¡Æ��¤x��¤x��§,��§,��©ä��©ä��¬ž��¬ž��¯n��¯n��²2��²2��´ð��´ð��·¢��·¢��ºT��ºT��½��½��¿¼��¿¼��Âx��Âx��Å4��Å4��Çæ��Çæ��ʘ��ʘ��ÍV��ÍV��Ð��Ð��ÒÌ��ÒÌ��ÕŠ��ÕŠ��ØN��ØN��Û��Û��ÝØ��ÝØ��àÀ��àÀ��ã~��ã~��æR��æR��é��é��ëÈ��ëÈ��î’��î’��ñb��ñb��ô&��ô&��öØ��öØ��ù��ù��üT��üT��ÿ��ÿ�Ø�Ø�–�–�F�F� � � Â� Â�r�r�6�6�ò�ò�®�®�r�r�B�B� � �"Ò�"Ò�%¢�%¢�(r�(r�+:�+:�-Þ�-Þ�0¤�0¤�3T�3T�6�6�8Ê�8Ê�;„�;„�>B�>B�@ô�@ô�C¸�C¸�Ft�Ft�I2�I2�Kì�Kì�Nš�Nš�QJ�QJ�Sì�Sì�V°�V°�Yj�Yj�\2�\2�^ê�^ê�a´�a´�d„�d„�g(�g(�ið�ið�l¢�l¢�o`�o`�r�r�tÌ�tÌ�w~�w~�z6�z6�|ô�|ô�®�®�‚j�‚j�…2�…2�‡ê�‡ê�Ц�Ц�X�X� � �’ì�’ì�•ª�•ª�˜d�˜d�› �› �Ü�Ü� ˜� ˜�£^�£^�¦�¦�¨Î�¨Î�«Š�«Š�®P�®P�±,�±,__release_libfreeglut_a_iname�__head_release_libfreeglut_a�_glutWireTorus@24�__imp__glutWireTorus@24�_glutWireTetrahedron@0�__imp__glutWireTetrahedron@0�_glutWireTeapot@8�__imp__glutWireTeapot@8�_glutWireSphere@16�__imp__glutWireSphere@16�_glutWireSierpinskiSponge@16�__imp__glutWireSierpinskiSponge@16�_glutWireRhombicDodecahedron@0�__imp__glutWireRhombicDodecahedron@0�_glutWireOctahedron@0�__imp__glutWireOctahedron@0�_glutWireIcosahedron@0�__imp__glutWireIcosahedron@0�_glutWireDodecahedron@0�__imp__glutWireDodecahedron@0�_glutWireCylinder@24�__imp__glutWireCylinder@24�_glutWireCube@8�__imp__glutWireCube@8�_glutWireCone@24�__imp__glutWireCone@24�_glutWindowStatusFunc@4�__imp__glutWindowStatusFunc@4�_glutWarpPointer@8�__imp__glutWarpPointer@8�_glutWMCloseFunc@4�__imp__glutWMCloseFunc@4�_glutVisibilityFunc@4�__imp__glutVisibilityFunc@4�_glutVideoResizeGet@4�__imp__glutVideoResizeGet@4�_glutVideoResize@16�__imp__glutVideoResize@16�_glutVideoPan@16�__imp__glutVideoPan@16�_glutUseLayer@4�__imp__glutUseLayer@4�_glutTimerFunc@12�__imp__glutTimerFunc@12�_glutTabletMotionFunc@4�__imp__glutTabletMotionFunc@4�_glutTabletButtonFunc@4�__imp__glutTabletButtonFunc@4�_glutSwapBuffers@0�__imp__glutSwapBuffers@0�_glutStrokeWidth@8�__imp__glutStrokeWidth@8�_glutStrokeString@8�__imp__glutStrokeString@8�_glutStrokeLength@8�__imp__glutStrokeLength@8�_glutStrokeHeight@4�__imp__glutStrokeHeight@4�_glutStrokeCharacter@8�__imp__glutStrokeCharacter@8�_glutStopVideoResizing@0�__imp__glutStopVideoResizing@0�_glutSpecialUpFunc@4�__imp__glutSpecialUpFunc@4�_glutSpecialFunc@4�__imp__glutSpecialFunc@4�_glutSpaceballRotateFunc@4�__imp__glutSpaceballRotateFunc@4�_glutSpaceballMotionFunc@4�__imp__glutSpaceballMotionFunc@4�_glutSpaceballButtonFunc@4�__imp__glutSpaceballButtonFunc@4�_glutSolidTorus@24�__imp__glutSolidTorus@24�_glutSolidTetrahedron@0�__imp__glutSolidTetrahedron@0�_glutSolidTeapot@8�__imp__glutSolidTeapot@8�_glutSolidSphere@16�__imp__glutSolidSphere@16�_glutSolidSierpinskiSponge@16�__imp__glutSolidSierpinskiSponge@16�_glutSolidRhombicDodecahedron@0�__imp__glutSolidRhombicDodecahedron@0�_glutSolidOctahedron@0�__imp__glutSolidOctahedron@0�_glutSolidIcosahedron@0�__imp__glutSolidIcosahedron@0�_glutSolidDodecahedron@0�__imp__glutSolidDodecahedron@0�_glutSolidCylinder@24�__imp__glutSolidCylinder@24�_glutSolidCube@8�__imp__glutSolidCube@8�_glutSolidCone@24�__imp__glutSolidCone@24�_glutShowWindow@0�__imp__glutShowWindow@0�_glutShowOverlay@0�__imp__glutShowOverlay@0�_glutSetupVideoResizing@0�__imp__glutSetupVideoResizing@0�_glutSetWindowTitle@4�__imp__glutSetWindowTitle@4�_glutSetWindowData@4�__imp__glutSetWindowData@4�_glutSetWindow@4�__imp__glutSetWindow@4�_glutSetOption@8�__imp__glutSetOption@8�_glutSetMenuData@4�__imp__glutSetMenuData@4�_glutSetMenu@4�__imp__glutSetMenu@4�_glutSetKeyRepeat@4�__imp__glutSetKeyRepeat@4�_glutSetIconTitle@4�__imp__glutSetIconTitle@4�_glutSetCursor@4�__imp__glutSetCursor@4�_glutSetColor@16�__imp__glutSetColor@16�_glutReshapeWindow@8�__imp__glutReshapeWindow@8�_glutReshapeFunc@4�__imp__glutReshapeFunc@4�_glutReportErrors@0�__imp__glutReportErrors@0�_glutRemoveOverlay@0�__imp__glutRemoveOverlay@0�_glutRemoveMenuItem@4�__imp__glutRemoveMenuItem@4�_glutPushWindow@0�__imp__glutPushWindow@0�_glutPostWindowRedisplay@4�__imp__glutPostWindowRedisplay@4�_glutPostWindowOverlayRedisplay@4�__imp__glutPostWindowOverlayRedisplay@4�_glutPostRedisplay@0�__imp__glutPostRedisplay@0�_glutPostOverlayRedisplay@0�__imp__glutPostOverlayRedisplay@0�_glutPositionWindow@8�__imp__glutPositionWindow@8�_glutPopWindow@0�__imp__glutPopWindow@0�_glutPassiveMotionFunc@4�__imp__glutPassiveMotionFunc@4�_glutOverlayDisplayFunc@4�__imp__glutOverlayDisplayFunc@4�_glutMouseWheelFunc@4�__imp__glutMouseWheelFunc@4�_glutMouseFunc@4�__imp__glutMouseFunc@4�_glutMotionFunc@4�__imp__glutMotionFunc@4�_glutMenuStatusFunc@4�__imp__glutMenuStatusFunc@4�_glutMenuStateFunc@4�__imp__glutMenuStateFunc@4�_glutMenuDestroyFunc@4�__imp__glutMenuDestroyFunc@4�_glutMainLoopEvent@0�__imp__glutMainLoopEvent@0�_glutMainLoop@0�__imp__glutMainLoop@0�_glutLeaveMainLoop@0�__imp__glutLeaveMainLoop@0�_glutLeaveGameMode@0�__imp__glutLeaveGameMode@0�_glutLayerGet@4�__imp__glutLayerGet@4�_glutKeyboardUpFunc@4�__imp__glutKeyboardUpFunc@4�_glutKeyboardFunc@4�__imp__glutKeyboardFunc@4�_glutJoystickFunc@8�__imp__glutJoystickFunc@8�_glutInitWindowSize@8�__imp__glutInitWindowSize@8�_glutInitWindowPosition@8�__imp__glutInitWindowPosition@8�_glutInitDisplayString@4�__imp__glutInitDisplayString@4�_glutInitDisplayMode@4�__imp__glutInitDisplayMode@4�_glutInitContextVersion@8�__imp__glutInitContextVersion@8�_glutInitContextProfile@4�__imp__glutInitContextProfile@4�_glutInitContextFlags@4�__imp__glutInitContextFlags@4�_glutInit@8�__imp__glutInit@8�_glutIgnoreKeyRepeat@4�__imp__glutIgnoreKeyRepeat@4�_glutIdleFunc@4�__imp__glutIdleFunc@4�_glutIconifyWindow@0�__imp__glutIconifyWindow@0�_glutHideWindow@0�__imp__glutHideWindow@0�_glutHideOverlay@0�__imp__glutHideOverlay@0�_glutGetWindowData@0�__imp__glutGetWindowData@0�_glutGetWindow@0�__imp__glutGetWindow@0�_glutGetProcAddress@4�__imp__glutGetProcAddress@4�_glutGetModifiers@0�__imp__glutGetModifiers@0�_glutGetModeValues@8�__imp__glutGetModeValues@8�_glutGetMenuData@0�__imp__glutGetMenuData@0�_glutGetMenu@0�__imp__glutGetMenu@0�_glutGetColor@8�__imp__glutGetColor@8�_glutGet@4�__imp__glutGet@4�_glutGameModeString@4�__imp__glutGameModeString@4�_glutGameModeGet@4�__imp__glutGameModeGet@4�_glutFullScreenToggle@0�__imp__glutFullScreenToggle@0�_glutFullScreen@0�__imp__glutFullScreen@0�_glutForceJoystickFunc@0�__imp__glutForceJoystickFunc@0�_glutExtensionSupported@4�__imp__glutExtensionSupported@4�_glutExit@0�__imp__glutExit@0�_glutEstablishOverlay@0�__imp__glutEstablishOverlay@0�_glutEntryFunc@4�__imp__glutEntryFunc@4�_glutEnterGameMode@0�__imp__glutEnterGameMode@0�_glutDisplayFunc@4�__imp__glutDisplayFunc@4�_glutDialsFunc@4�__imp__glutDialsFunc@4�_glutDeviceGet@4�__imp__glutDeviceGet@4�_glutDetachMenu@4�__imp__glutDetachMenu@4�_glutDestroyWindow@4�__imp__glutDestroyWindow@4�_glutDestroyMenu@4�__imp__glutDestroyMenu@4�_glutCreateWindow@4�__imp__glutCreateWindow@4�_glutCreateSubWindow@20�__imp__glutCreateSubWindow@20�_glutCreateMenu@4�__imp__glutCreateMenu@4�_glutCopyColormap@4�__imp__glutCopyColormap@4�_glutCloseFunc@4�__imp__glutCloseFunc@4�_glutChangeToSubMenu@12�__imp__glutChangeToSubMenu@12�_glutChangeToMenuEntry@12�__imp__glutChangeToMenuEntry@12�_glutButtonBoxFunc@4�__imp__glutButtonBoxFunc@4�_glutBitmapWidth@8�__imp__glutBitmapWidth@8�_glutBitmapString@8�__imp__glutBitmapString@8�_glutBitmapLength@8�__imp__glutBitmapLength@8�_glutBitmapHeight@4�__imp__glutBitmapHeight@4�_glutBitmapCharacter@8�__imp__glutBitmapCharacter@8�_glutAttachMenu@4�__imp__glutAttachMenu@4�_glutAddSubMenu@8�__imp__glutAddSubMenu@8�_glutAddMenuEntry@8�__imp__glutAddMenuEntry@8�___glutInitWithExit@12�__imp____glutInitWithExit@12�___glutCreateWindowWithExit@8�__imp____glutCreateWindowWithExit@8�___glutCreateMenuWithExit@8�__imp____glutCreateMenuWithExit@8��ddldt.o/ 1264195962 500 500 100664 588 ` L������������.text������������������������������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$4�������������������������@�0À.idata$5�������������������������@�0À.idata$7����������� ��������������@�0À��������freeglut.dll����.file�������þÿ��gfake��������������.text����������������������������.data����������������������������.bss�����������������������������.idata$4������������������������.idata$5������������������������.idata$7������� ��������������������������������"���__release_libfreeglut_a_iname�ddldh.o/ 1264195962 500 500 100664 661 ` L�����6�������.text������������������������������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$2����������������������@�0À.idata$5����������������������������@�0À.idata$4����������������������������@�0À������������������������ ���� ���������� ����.file�������þÿ��gfake��������������hname�����������fthunk����������.text����������������������������.data����������������������������.bss�����������������������������.idata$2�����������������������.idata$4��������.idata$5���������������������������!������������?���__head_release_libfreeglut_a�__release_libfreeglut_a_iname� ddlds00144.o/ 1264195962 500 500 100664 631 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutWireTorus������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutWireTorus@24�__imp__glutWireTorus@24�__head_release_libfreeglut_a� ddlds00143.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutWireTetrahedron�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutWireTetrahedron@0�__imp__glutWireTetrahedron@0�__head_release_libfreeglut_a� ddlds00142.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������Ž�glutWireTeapot��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutWireTeapot@8�__imp__glutWireTeapot@8�__head_release_libfreeglut_a� ddlds00141.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutWireSphere��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutWireSphere@16�__imp__glutWireSphere@16�__head_release_libfreeglut_a� ddlds00140.o/ 1264195962 500 500 100664 665 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������Œ�glutWireSierpinskiSponge������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6���������������������������!���������������D������������a���_glutWireSierpinskiSponge@16�__imp__glutWireSierpinskiSponge@16�__head_release_libfreeglut_a� ddlds00139.o/ 1264195962 500 500 100664 673 ` L�����ˆ�� �����.text��������������,��`��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��j�����������0À.idata$5�����������8��t�����������0À.idata$4�����������<��~�����������0À.idata$6�����������@���������������� Àÿ%����������������‹�glutWireRhombicDodecahedron�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6���������������������������#���������������H������������e���_glutWireRhombicDodecahedron@0�__imp__glutWireRhombicDodecahedron@0�__head_release_libfreeglut_a� ddlds00138.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������Š�glutWireOctahedron��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutWireOctahedron@0�__imp__glutWireOctahedron@0�__head_release_libfreeglut_a� ddlds00137.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������‰�glutWireIcosahedron�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutWireIcosahedron@0�__imp__glutWireIcosahedron@0�__head_release_libfreeglut_a� ddlds00136.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������ˆ�glutWireDodecahedron������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutWireDodecahedron@0�__imp__glutWireDodecahedron@0�__head_release_libfreeglut_a� ddlds00135.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������‡�glutWireCylinder������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutWireCylinder@24�__imp__glutWireCylinder@24�__head_release_libfreeglut_a� ddlds00134.o/ 1264195962 500 500 100664 627 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������†�glutWireCube������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������*������������G���_glutWireCube@8�__imp__glutWireCube@8�__head_release_libfreeglut_a� ddlds00133.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������…�glutWireCone������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutWireCone@24�__imp__glutWireCone@24�__head_release_libfreeglut_a� ddlds00132.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������„�glutWindowStatusFunc������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutWindowStatusFunc@4�__imp__glutWindowStatusFunc@4�__head_release_libfreeglut_a� ddlds00131.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������ƒ�glutWarpPointer�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutWarpPointer@8�__imp__glutWarpPointer@8�__head_release_libfreeglut_a� ddlds00130.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������‚�glutWMCloseFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutWMCloseFunc@4�__imp__glutWMCloseFunc@4�__head_release_libfreeglut_a� ddlds00129.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutVisibilityFunc��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutVisibilityFunc@4�__imp__glutVisibilityFunc@4�__head_release_libfreeglut_a� ddlds00128.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������€�glutVideoResizeGet��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutVideoResizeGet@4�__imp__glutVideoResizeGet@4�__head_release_libfreeglut_a� ddlds00127.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutVideoResize�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutVideoResize@16�__imp__glutVideoResize@16�__head_release_libfreeglut_a� ddlds00126.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������~�glutVideoPan������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutVideoPan@16�__imp__glutVideoPan@16�__head_release_libfreeglut_a� ddlds00125.o/ 1264195962 500 500 100664 627 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������}�glutUseLayer������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������*������������G���_glutUseLayer@4�__imp__glutUseLayer@4�__head_release_libfreeglut_a� ddlds00124.o/ 1264195962 500 500 100664 631 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������|�glutTimerFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutTimerFunc@12�__imp__glutTimerFunc@12�__head_release_libfreeglut_a� ddlds00123.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������{�glutTabletMotionFunc������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutTabletMotionFunc@4�__imp__glutTabletMotionFunc@4�__head_release_libfreeglut_a� ddlds00122.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������z�glutTabletButtonFunc������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutTabletButtonFunc@4�__imp__glutTabletButtonFunc@4�__head_release_libfreeglut_a� ddlds00121.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������y�glutSwapBuffers�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutSwapBuffers@0�__imp__glutSwapBuffers@0�__head_release_libfreeglut_a� ddlds00120.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������x�glutStrokeWidth�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutStrokeWidth@8�__imp__glutStrokeWidth@8�__head_release_libfreeglut_a� ddlds00119.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������w�glutStrokeString������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutStrokeString@8�__imp__glutStrokeString@8�__head_release_libfreeglut_a� ddlds00118.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������v�glutStrokeLength������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutStrokeLength@8�__imp__glutStrokeLength@8�__head_release_libfreeglut_a� ddlds00117.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������u�glutStrokeHeight������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutStrokeHeight@4�__imp__glutStrokeHeight@4�__head_release_libfreeglut_a� ddlds00116.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������t�glutStrokeCharacter�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutStrokeCharacter@8�__imp__glutStrokeCharacter@8�__head_release_libfreeglut_a� ddlds00115.o/ 1264195962 500 500 100664 653 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������s�glutStopVideoResizing������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������<������������Y���_glutStopVideoResizing@0�__imp__glutStopVideoResizing@0�__head_release_libfreeglut_a� ddlds00114.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������r�glutSpecialUpFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutSpecialUpFunc@4�__imp__glutSpecialUpFunc@4�__head_release_libfreeglut_a� ddlds00113.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������q�glutSpecialFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutSpecialFunc@4�__imp__glutSpecialFunc@4�__head_release_libfreeglut_a� ddlds00112.o/ 1264195962 500 500 100664 661 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������p�glutSpaceballRotateFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������@������������]���_glutSpaceballRotateFunc@4�__imp__glutSpaceballRotateFunc@4�__head_release_libfreeglut_a� ddlds00111.o/ 1264195962 500 500 100664 661 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������o�glutSpaceballMotionFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������@������������]���_glutSpaceballMotionFunc@4�__imp__glutSpaceballMotionFunc@4�__head_release_libfreeglut_a� ddlds00110.o/ 1264195962 500 500 100664 661 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������n�glutSpaceballButtonFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������@������������]���_glutSpaceballButtonFunc@4�__imp__glutSpaceballButtonFunc@4�__head_release_libfreeglut_a� ddlds00109.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������m�glutSolidTorus��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutSolidTorus@24�__imp__glutSolidTorus@24�__head_release_libfreeglut_a� ddlds00108.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������l�glutSolidTetrahedron������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutSolidTetrahedron@0�__imp__glutSolidTetrahedron@0�__head_release_libfreeglut_a� ddlds00107.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������k�glutSolidTeapot�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutSolidTeapot@8�__imp__glutSolidTeapot@8�__head_release_libfreeglut_a� ddlds00106.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������j�glutSolidSphere�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutSolidSphere@16�__imp__glutSolidSphere@16�__head_release_libfreeglut_a� ddlds00105.o/ 1264195962 500 500 100664 667 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������i�glutSolidSierpinskiSponge������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6���������������������������"���������������F������������c���_glutSolidSierpinskiSponge@16�__imp__glutSolidSierpinskiSponge@16�__head_release_libfreeglut_a� ddlds00104.o/ 1264195962 500 500 100664 675 ` L�����ˆ�� �����.text��������������,��`��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��j�����������0À.idata$5�����������8��t�����������0À.idata$4�����������<��~�����������0À.idata$6�������� ���@���������������� Àÿ%����������������h�glutSolidRhombicDodecahedron������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6���������������������������$���������������J������������g���_glutSolidRhombicDodecahedron@0�__imp__glutSolidRhombicDodecahedron@0�__head_release_libfreeglut_a� ddlds00103.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������g�glutSolidOctahedron�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutSolidOctahedron@0�__imp__glutSolidOctahedron@0�__head_release_libfreeglut_a� ddlds00102.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������f�glutSolidIcosahedron������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutSolidIcosahedron@0�__imp__glutSolidIcosahedron@0�__head_release_libfreeglut_a� ddlds00101.o/ 1264195962 500 500 100664 653 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������e�glutSolidDodecahedron������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������<������������Y���_glutSolidDodecahedron@0�__imp__glutSolidDodecahedron@0�__head_release_libfreeglut_a� ddlds00100.o/ 1264195962 500 500 100664 643 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������d�glutSolidCylinder������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutSolidCylinder@24�__imp__glutSolidCylinder@24�__head_release_libfreeglut_a� ddlds00099.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������c�glutSolidCube������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutSolidCube@8�__imp__glutSolidCube@8�__head_release_libfreeglut_a� ddlds00098.o/ 1264195962 500 500 100664 631 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������b�glutSolidCone������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutSolidCone@24�__imp__glutSolidCone@24�__head_release_libfreeglut_a� ddlds00097.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������a�glutShowWindow��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutShowWindow@0�__imp__glutShowWindow@0�__head_release_libfreeglut_a� ddlds00096.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������`�glutShowOverlay�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutShowOverlay@0�__imp__glutShowOverlay@0�__head_release_libfreeglut_a� ddlds00095.o/ 1264195962 500 500 100664 659 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������_�glutSetupVideoResizing��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������>������������[���_glutSetupVideoResizing@0�__imp__glutSetupVideoResizing@0�__head_release_libfreeglut_a� ddlds00094.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������^�glutSetWindowTitle��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutSetWindowTitle@4�__imp__glutSetWindowTitle@4�__head_release_libfreeglut_a� ddlds00093.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������]�glutSetWindowData������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutSetWindowData@4�__imp__glutSetWindowData@4�__head_release_libfreeglut_a� ddlds00092.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������\�glutSetWindow������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutSetWindow@4�__imp__glutSetWindow@4�__head_release_libfreeglut_a� ddlds00091.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������[�glutSetOption������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutSetOption@8�__imp__glutSetOption@8�__head_release_libfreeglut_a� ddlds00090.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������Z�glutSetMenuData�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutSetMenuData@4�__imp__glutSetMenuData@4�__head_release_libfreeglut_a� ddlds00089.o/ 1264195962 500 500 100664 625 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������Y�glutSetMenu�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������(������������E���_glutSetMenu@4�__imp__glutSetMenu@4�__head_release_libfreeglut_a� ddlds00088.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������X�glutSetKeyRepeat������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutSetKeyRepeat@4�__imp__glutSetKeyRepeat@4�__head_release_libfreeglut_a� ddlds00087.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������W�glutSetIconTitle������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutSetIconTitle@4�__imp__glutSetIconTitle@4�__head_release_libfreeglut_a� ddlds00086.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������V�glutSetCursor������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutSetCursor@4�__imp__glutSetCursor@4�__head_release_libfreeglut_a� ddlds00085.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������U�glutSetColor������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutSetColor@16�__imp__glutSetColor@16�__head_release_libfreeglut_a� ddlds00084.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������T�glutReshapeWindow������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutReshapeWindow@8�__imp__glutReshapeWindow@8�__head_release_libfreeglut_a� ddlds00083.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������S�glutReshapeFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutReshapeFunc@4�__imp__glutReshapeFunc@4�__head_release_libfreeglut_a� ddlds00082.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������R�glutReportErrors������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutReportErrors@0�__imp__glutReportErrors@0�__head_release_libfreeglut_a� ddlds00081.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������Q�glutRemoveOverlay������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutRemoveOverlay@0�__imp__glutRemoveOverlay@0�__head_release_libfreeglut_a� ddlds00080.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������P�glutRemoveMenuItem��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutRemoveMenuItem@4�__imp__glutRemoveMenuItem@4�__head_release_libfreeglut_a� ddlds00079.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������O�glutPushWindow��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutPushWindow@0�__imp__glutPushWindow@0�__head_release_libfreeglut_a� ddlds00078.o/ 1264195962 500 500 100664 661 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������N�glutPostWindowRedisplay�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������@������������]���_glutPostWindowRedisplay@4�__imp__glutPostWindowRedisplay@4�__head_release_libfreeglut_a� ddlds00077.o/ 1264195962 500 500 100664 683 ` L�����Œ�� �����.text��������������,��d��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��n�����������0À.idata$5�����������8��x�����������0À.idata$4�����������<��‚�����������0À.idata$6��������"���@���������������� Àÿ%����������������M�glutPostWindowOverlayRedisplay��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6���������������������������&���������������N������������k���_glutPostWindowOverlayRedisplay@4�__imp__glutPostWindowOverlayRedisplay@4�__head_release_libfreeglut_a� ddlds00076.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������L�glutPostRedisplay������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutPostRedisplay@0�__imp__glutPostRedisplay@0�__head_release_libfreeglut_a� ddlds00075.o/ 1264195962 500 500 100664 663 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������K�glutPostOverlayRedisplay������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6��������������������������� ���������������B������������_���_glutPostOverlayRedisplay@0�__imp__glutPostOverlayRedisplay@0�__head_release_libfreeglut_a� ddlds00074.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������J�glutPositionWindow��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutPositionWindow@8�__imp__glutPositionWindow@8�__head_release_libfreeglut_a� ddlds00073.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������I�glutPopWindow������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutPopWindow@0�__imp__glutPopWindow@0�__head_release_libfreeglut_a� ddlds00072.o/ 1264195962 500 500 100664 653 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������H�glutPassiveMotionFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������<������������Y���_glutPassiveMotionFunc@4�__imp__glutPassiveMotionFunc@4�__head_release_libfreeglut_a� ddlds00071.o/ 1264195962 500 500 100664 659 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������G�glutOverlayDisplayFunc��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������>������������[���_glutOverlayDisplayFunc@4�__imp__glutOverlayDisplayFunc@4�__head_release_libfreeglut_a� ddlds00070.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������F�glutMouseWheelFunc��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutMouseWheelFunc@4�__imp__glutMouseWheelFunc@4�__head_release_libfreeglut_a� ddlds00069.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������E�glutMouseFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutMouseFunc@4�__imp__glutMouseFunc@4�__head_release_libfreeglut_a� ddlds00068.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������D�glutMotionFunc��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutMotionFunc@4�__imp__glutMotionFunc@4�__head_release_libfreeglut_a� ddlds00067.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������C�glutMenuStatusFunc��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutMenuStatusFunc@4�__imp__glutMenuStatusFunc@4�__head_release_libfreeglut_a� ddlds00066.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������B�glutMenuStateFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutMenuStateFunc@4�__imp__glutMenuStateFunc@4�__head_release_libfreeglut_a� ddlds00065.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������A�glutMenuDestroyFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutMenuDestroyFunc@4�__imp__glutMenuDestroyFunc@4�__head_release_libfreeglut_a� ddlds00064.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������@�glutMainLoopEvent������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutMainLoopEvent@0�__imp__glutMainLoopEvent@0�__head_release_libfreeglut_a� ddlds00063.o/ 1264195962 500 500 100664 627 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������?�glutMainLoop������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������*������������G���_glutMainLoop@0�__imp__glutMainLoop@0�__head_release_libfreeglut_a� ddlds00062.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������>�glutLeaveMainLoop������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutLeaveMainLoop@0�__imp__glutLeaveMainLoop@0�__head_release_libfreeglut_a� ddlds00061.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������=�glutLeaveGameMode������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutLeaveGameMode@0�__imp__glutLeaveGameMode@0�__head_release_libfreeglut_a� ddlds00060.o/ 1264195962 500 500 100664 627 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������<�glutLayerGet������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������*������������G���_glutLayerGet@4�__imp__glutLayerGet@4�__head_release_libfreeglut_a� ddlds00059.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������;�glutKeyboardUpFunc��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutKeyboardUpFunc@4�__imp__glutKeyboardUpFunc@4�__head_release_libfreeglut_a� ddlds00058.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������:�glutKeyboardFunc������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutKeyboardFunc@4�__imp__glutKeyboardFunc@4�__head_release_libfreeglut_a� ddlds00057.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������9�glutJoystickFunc������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutJoystickFunc@8�__imp__glutJoystickFunc@8�__head_release_libfreeglut_a� ddlds00056.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������8�glutInitWindowSize��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutInitWindowSize@8�__imp__glutInitWindowSize@8�__head_release_libfreeglut_a� ddlds00055.o/ 1264195962 500 500 100664 659 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������7�glutInitWindowPosition��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������>������������[���_glutInitWindowPosition@8�__imp__glutInitWindowPosition@8�__head_release_libfreeglut_a� ddlds00054.o/ 1264195962 500 500 100664 653 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������6�glutInitDisplayString������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������<������������Y���_glutInitDisplayString@4�__imp__glutInitDisplayString@4�__head_release_libfreeglut_a� ddlds00053.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������5�glutInitDisplayMode�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutInitDisplayMode@4�__imp__glutInitDisplayMode@4�__head_release_libfreeglut_a� ddlds00052.o/ 1264195962 500 500 100664 659 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������4�glutInitContextVersion��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������>������������[���_glutInitContextVersion@8�__imp__glutInitContextVersion@8�__head_release_libfreeglut_a� ddlds00051.o/ 1264195962 500 500 100664 659 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%����������������3�glutInitContextProfile��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������>������������[���_glutInitContextProfile@4�__imp__glutInitContextProfile@4�__head_release_libfreeglut_a� ddlds00050.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������2�glutInitContextFlags������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutInitContextFlags@4�__imp__glutInitContextFlags@4�__head_release_libfreeglut_a� ddlds00049.o/ 1264195962 500 500 100664 615 ` L�����t�� �����.text��������������,��L��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��V�����������0À.idata$5�����������8��`�����������0À.idata$4�����������<��j�����������0À.idata$6�������� ���@���������������� Àÿ%����������������1�glutInit������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������"������������?���_glutInit@8�__imp__glutInit@8�__head_release_libfreeglut_a� ddlds00048.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������0�glutIgnoreKeyRepeat�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutIgnoreKeyRepeat@4�__imp__glutIgnoreKeyRepeat@4�__head_release_libfreeglut_a� ddlds00047.o/ 1264195962 500 500 100664 627 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������/�glutIdleFunc������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������*������������G���_glutIdleFunc@4�__imp__glutIdleFunc@4�__head_release_libfreeglut_a� ddlds00046.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������.�glutIconifyWindow������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutIconifyWindow@0�__imp__glutIconifyWindow@0�__head_release_libfreeglut_a� ddlds00045.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������-�glutHideWindow��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutHideWindow@0�__imp__glutHideWindow@0�__head_release_libfreeglut_a� ddlds00044.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������,�glutHideOverlay�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutHideOverlay@0�__imp__glutHideOverlay@0�__head_release_libfreeglut_a� ddlds00043.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������+�glutGetWindowData������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutGetWindowData@0�__imp__glutGetWindowData@0�__head_release_libfreeglut_a� ddlds00042.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������*�glutGetWindow������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutGetWindow@0�__imp__glutGetWindow@0�__head_release_libfreeglut_a� ddlds00041.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������)�glutGetProcAddress��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutGetProcAddress@4�__imp__glutGetProcAddress@4�__head_release_libfreeglut_a� ddlds00040.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������(�glutGetModifiers������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutGetModifiers@0�__imp__glutGetModifiers@0�__head_release_libfreeglut_a� ddlds00039.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������'�glutGetModeValues������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutGetModeValues@8�__imp__glutGetModeValues@8�__head_release_libfreeglut_a� ddlds00038.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������&�glutGetMenuData�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutGetMenuData@0�__imp__glutGetMenuData@0�__head_release_libfreeglut_a� ddlds00037.o/ 1264195962 500 500 100664 625 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������%�glutGetMenu�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������(������������E���_glutGetMenu@0�__imp__glutGetMenu@0�__head_release_libfreeglut_a� ddlds00036.o/ 1264195962 500 500 100664 627 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%����������������$�glutGetColor������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������*������������G���_glutGetColor@8�__imp__glutGetColor@8�__head_release_libfreeglut_a� ddlds00035.o/ 1264195962 500 500 100664 613 ` L�����t�� �����.text��������������,��L��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��V�����������0À.idata$5�����������8��`�����������0À.idata$4�����������<��j�����������0À.idata$6�������� ���@���������������� Àÿ%����������������#�glutGet�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������ ������������=���_glutGet@4�__imp__glutGet@4�__head_release_libfreeglut_a� ddlds00034.o/ 1264195962 500 500 100664 647 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%����������������"�glutGameModeString��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������6������������S���_glutGameModeString@4�__imp__glutGameModeString@4�__head_release_libfreeglut_a� ddlds00033.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%����������������!�glutGameModeGet�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutGameModeGet@4�__imp__glutGameModeGet@4�__head_release_libfreeglut_a� ddlds00032.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%���������������� �glutFullScreenToggle������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutFullScreenToggle@0�__imp__glutFullScreenToggle@0�__head_release_libfreeglut_a� ddlds00031.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutFullScreen��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutFullScreen@0�__imp__glutFullScreen@0�__head_release_libfreeglut_a� ddlds00030.o/ 1264195962 500 500 100664 653 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutForceJoystickFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������<������������Y���_glutForceJoystickFunc@0�__imp__glutForceJoystickFunc@0�__head_release_libfreeglut_a� ddlds00029.o/ 1264195962 500 500 100664 659 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutExtensionSupported��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������>������������[���_glutExtensionSupported@4�__imp__glutExtensionSupported@4�__head_release_libfreeglut_a� ddlds00028.o/ 1264195962 500 500 100664 615 ` L�����t�� �����.text��������������,��L��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��V�����������0À.idata$5�����������8��`�����������0À.idata$4�����������<��j�����������0À.idata$6�������� ���@���������������� Àÿ%�����������������glutExit������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������"������������?���_glutExit@0�__imp__glutExit@0�__head_release_libfreeglut_a� ddlds00027.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutEstablishOverlay������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutEstablishOverlay@0�__imp__glutEstablishOverlay@0�__head_release_libfreeglut_a� ddlds00026.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutEntryFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutEntryFunc@4�__imp__glutEntryFunc@4�__head_release_libfreeglut_a� ddlds00025.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutEnterGameMode������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutEnterGameMode@0�__imp__glutEnterGameMode@0�__head_release_libfreeglut_a� ddlds00024.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutDisplayFunc�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutDisplayFunc@4�__imp__glutDisplayFunc@4�__head_release_libfreeglut_a� ddlds00023.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutDialsFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutDialsFunc@4�__imp__glutDialsFunc@4�__head_release_libfreeglut_a� ddlds00022.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutDeviceGet������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutDeviceGet@4�__imp__glutDeviceGet@4�__head_release_libfreeglut_a� ddlds00021.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutDetachMenu��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutDetachMenu@4�__imp__glutDetachMenu@4�__head_release_libfreeglut_a� ddlds00020.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutDestroyWindow������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutDestroyWindow@4�__imp__glutDestroyWindow@4�__head_release_libfreeglut_a� ddlds00019.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutDestroyMenu�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutDestroyMenu@4�__imp__glutDestroyMenu@4�__head_release_libfreeglut_a� ddlds00018.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutCreateWindow������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutCreateWindow@4�__imp__glutCreateWindow@4�__head_release_libfreeglut_a� ddlds00017.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutCreateSubWindow�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutCreateSubWindow@20�__imp__glutCreateSubWindow@20�__head_release_libfreeglut_a� ddlds00016.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutCreateMenu��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutCreateMenu@4�__imp__glutCreateMenu@4�__head_release_libfreeglut_a� ddlds00015.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutCopyColormap������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutCopyColormap@4�__imp__glutCopyColormap@4�__head_release_libfreeglut_a� ddlds00014.o/ 1264195962 500 500 100664 629 ` L�����x�� �����.text��������������,��P��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��Z�����������0À.idata$5�����������8��d�����������0À.idata$4�����������<��n�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutCloseFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������,������������I���_glutCloseFunc@4�__imp__glutCloseFunc@4�__head_release_libfreeglut_a� ddlds00013.o/ 1264195962 500 500 100664 651 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%���������������� �glutChangeToSubMenu�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������:������������W���_glutChangeToSubMenu@12�__imp__glutChangeToSubMenu@12�__head_release_libfreeglut_a� ddlds00012.o/ 1264195962 500 500 100664 655 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%���������������� �glutChangeToMenuEntry������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������>������������[���_glutChangeToMenuEntry@12�__imp__glutChangeToMenuEntry@12�__head_release_libfreeglut_a� ddlds00011.o/ 1264195962 500 500 100664 641 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%���������������� �glutButtonBoxFunc������������ ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������4������������Q���_glutButtonBoxFunc@4�__imp__glutButtonBoxFunc@4�__head_release_libfreeglut_a� ddlds00010.o/ 1264195962 500 500 100664 637 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%���������������� �glutBitmapWidth�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������0������������M���_glutBitmapWidth@8�__imp__glutBitmapWidth@8�__head_release_libfreeglut_a� ddlds00009.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%���������������� �glutBitmapString������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutBitmapString@8�__imp__glutBitmapString@8�__head_release_libfreeglut_a� ddlds00008.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutBitmapLength������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutBitmapLength@8�__imp__glutBitmapLength@8�__head_release_libfreeglut_a� ddlds00007.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutBitmapHeight������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutBitmapHeight@4�__imp__glutBitmapHeight@4�__head_release_libfreeglut_a� ddlds00006.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutBitmapCharacter�������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���_glutBitmapCharacter@8�__imp__glutBitmapCharacter@8�__head_release_libfreeglut_a� ddlds00005.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutAttachMenu��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutAttachMenu@4�__imp__glutAttachMenu@4�__head_release_libfreeglut_a� ddlds00004.o/ 1264195962 500 500 100664 635 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutAddSubMenu��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������.������������K���_glutAddSubMenu@8�__imp__glutAddSubMenu@8�__head_release_libfreeglut_a� ddlds00003.o/ 1264195962 500 500 100664 639 ` L�����|�� �����.text��������������,��T��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��^�����������0À.idata$5�����������8��h�����������0À.idata$4�����������<��r�����������0À.idata$6�����������@���������������� Àÿ%�����������������glutAddMenuEntry������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������2������������O���_glutAddMenuEntry@8�__imp__glutAddMenuEntry@8�__head_release_libfreeglut_a� ddlds00002.o/ 1264195962 500 500 100664 649 ` L�����€�� �����.text��������������,��X��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��b�����������0À.idata$5�����������8��l�����������0À.idata$4�����������<��v�����������0À.idata$6�����������@���������������� Àÿ%�����������������__glutInitWithExit��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6������������������������������������������8������������U���___glutInitWithExit@12�__imp____glutInitWithExit@12�__head_release_libfreeglut_a� ddlds00001.o/ 1264195962 500 500 100664 671 ` L�����ˆ�� �����.text��������������,��`��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��j�����������0À.idata$5�����������8��t�����������0À.idata$4�����������<��~�����������0À.idata$6�����������@���������������� Àÿ%�����������������__glutCreateWindowWithExit��������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6���������������������������"���������������F������������c���___glutCreateWindowWithExit@8�__imp____glutCreateWindowWithExit@8�__head_release_libfreeglut_a� ddlds00000.o/ 1264195962 500 500 100664 663 ` L�����„�� �����.text��������������,��\��������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.idata$7�����������4��f�����������0À.idata$5�����������8��p�����������0À.idata$4�����������<��z�����������0À.idata$6�����������@���������������� Àÿ%������������������__glutCreateMenuWithExit������������� ��������������������.text�����������.data�����������.bss������������.idata$7��������.idata$5��������.idata$4��������.idata$6��������������������������� ���������������B������������_���___glutCreateMenuWithExit@8�__imp____glutCreateMenuWithExit@8�__head_release_libfreeglut_a� Gauche-gl-0.6/win32/freeglut-2.6.0-3/lib/libfreeglut_static.a���������������������������������������0000644�0000764�0000764�00001245102�11533026402�022361� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!<arch> / 1264195966 0 0 0 4994 ` ���Û��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��–��0Â��0Â��0Â��A��A��A��Hx��Hx��“P��“P��“P��“P��“P��“P��“P��“P��“P��“P��§F��§F��§F��§F��§F��§F��§F�Ìð�Ìð�Ìð�Ìð�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�Ü>�S|�S|�S|�S|�S|�S|�S|�S|�S|�S|�S|�S|�S|�S|�v´�v´�v´�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º�„º� Ú� Ú� Ú� Ú� Ú� Ú� Ú� Ú�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�Õv�þ0�þ0�þ0�þ0�þ0�þ0�þ0�þ0� Ê� Ê� Ê� Ê� Ê� Ê� Ê� º� º� º� º� º� º�#H�ƒl�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�ãh�úf�úf�f�f�f�f�f�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�ø�Fú�Fú�Fú�Fú�Fú_glutTabletButtonFunc�_glutTabletMotionFunc�_glutDialsFunc�_glutButtonBoxFunc�_glutWindowStatusFunc�_glutOverlayDisplayFunc�_glutMenuStatusFunc�_glutMenuStateFunc�_glutMenuDestroyFunc�_glutCloseFunc�_glutWMCloseFunc�_glutEntryFunc�_glutPassiveMotionFunc�_glutMotionFunc�_glutMouseWheelFunc�_glutMouseFunc�_glutSpecialUpFunc�_glutKeyboardUpFunc�_glutVisibilityFunc�_glutIdleFunc�_glutSpecialFunc�_glutKeyboardFunc�_glutReshapeFunc�_glutDisplayFunc�_glutSpaceballButtonFunc�_glutSpaceballRotateFunc�_glutSpaceballMotionFunc�_glutJoystickFunc�_glutTimerFunc�_glutWarpPointer�_fgSetCursor�_glutSetCursor�_glutPostRedisplay�_glutPostWindowRedisplay�_glutSwapBuffers�_fghGetProcAddress�_glutGetProcAddress�_glutStrokeHeight�_glutStrokeLength�_glutStrokeWidth�_glutBitmapHeight�_glutBitmapLength�_glutBitmapWidth�_glutStrokeString�_glutStrokeCharacter�_glutBitmapString�_glutBitmapCharacter�_fgFontFixed8x13�_fgFontFixed9x15�_fgFontHelvetica10�_fgFontHelvetica12�_fgFontHelvetica18�_fgFontTimesRoman10�_fgFontTimesRoman24�_glutGameModeGet�_glutLeaveGameMode�_glutEnterGameMode�_glutGameModeString�_glutSolidSierpinskiSponge�_glutWireSierpinskiSponge�_glutSolidOctahedron�_glutWireOctahedron�_glutSolidDodecahedron�_glutWireDodecahedron�_glutSolidCube�_glutWireCube�_glutSolidRhombicDodecahedron�_glutWireRhombicDodecahedron�_glutSolidIcosahedron�_glutWireIcosahedron�_glutSolidTetrahedron�_glutWireTetrahedron�_glutWireCylinder�_glutSolidCylinder�_glutWireSphere�_glutSolidSphere�_glutSolidTorus�_glutWireTorus�_glutWireCone�_glutSolidCone�_glutInitWindowPosition�_glutInitWindowSize�_glutInitDisplayMode�_glutInitContextVersion�_glutInitContextFlags�_glutInitContextProfile�_glutInitDisplayString�_fgDeinitialize�_glutExit�_glutInit�___glutInitWithExit�_fgState�_fgDisplay�___glutExitFunc�_fgInputDeviceClose�_fgInitialiseInputDevices�_fgInputDeviceDetect�_glutJoystickSetSaturation�_glutJoystickGetSaturation�_glutJoystickSetDeadBand�_glutJoystickGetDeadBand�_glutJoystickNotWorking�_glutJoystickGetNumButtons�_glutJoystickGetNumAxes�_glutJoystickGetCenter�_glutJoystickGetMaxRange�_glutJoystickGetMinRange�_glutJoystickSetCenter�_glutJoystickSetMaxRange�_glutJoystickSetMinRange�_fgJoystickPollWindow�_fgJoystickClose�_fgInitialiseJoysticks�_fgJoystickDetect�_fgWarning�_fgError�_fgWindowProc@16�_glutLeaveMainLoop�_fgSystemTime�_fgElapsedTime�_glutMainLoopEvent�_glutMainLoop�_glutSetMenuData�_glutGetMenuData�_glutDetachMenu�_glutAttachMenu�_glutGetMenu�_glutSetMenu�_glutDestroyMenu�_glutCreateMenu�___glutCreateMenuWithExit�_fghCalculateMenuBoxSize�_glutRemoveMenuItem�_glutChangeToSubMenu�_glutChangeToMenuEntry�_glutAddSubMenu�_glutAddMenuEntry�_fgDeactivateMenu�_fgUpdateMenuHighlight�_fgCheckActiveMenu�_fgDisplayMenu�_glutCopyColormap�_glutGetColor�_glutSetColor�_glutSetKeyRepeat�_glutIgnoreKeyRepeat�_glutForceJoystickFunc�_glutReportErrors�_glutExtensionSupported�_glutEstablishOverlay�_glutRemoveOverlay�_glutUseLayer�_glutPostOverlayRedisplay�_glutPostWindowOverlayRedisplay�_glutShowOverlay�_glutHideOverlay�_glutGetModeValues�_glutLayerGet�_glutGetModifiers�_glutSetOption�_glutDeviceGet�_glutGet�_fgStrokeMonoRoman�_fgStrokeRoman�_fgCreateStructure�_fgMenuByID�_fgListInit�_fgListAppend�_fgListRemove�_fgListLength�_fgListInsert�_fgEnumSubWindows�_fgEnumWindows�_fgWindowByID�_fgWindowByHandle�_fgDestroyWindow�_fgDestroyMenu�_fgCloseWindows�_fgDestroyStructure�_fgAddToWindowDestroyList�_fgCreateWindow�_fgCreateMenu�_fgStructure�_glutSolidTeapot�_glutWireTeapot�_glutVideoResizeGet�_glutSetupVideoResizing�_glutStopVideoResizing�_glutVideoResize�_glutVideoPan�_glutGetWindow�_glutSetWindowData�_glutGetWindowData�_glutFullScreen�_glutFullScreenToggle�_glutReshapeWindow�_glutPopWindow�_glutPushWindow�_glutPositionWindow�_glutSetIconTitle�_glutSetWindowTitle�_glutIconifyWindow�_glutHideWindow�_glutShowWindow�_glutDestroyWindow�_glutCreateSubWindow�_glutCreateWindow�___glutCreateWindowWithExit�_fgCloseWindow�_fgSetWindow�_glutSetWindow�_fgOpenWindow�_fgSetupPixelFormat�_fgNewWGLCreateContext�_fgInitialiseSpaceball�_fgSpaceballClose�_fgSpaceballSetWindow�_fgSpaceballNumButtons�_fgHasSpaceball��// 404 ` freeglut_callbacks.o/ freeglut_cursor.o/ freeglut_display.o/ freeglut_font_data.o/ freeglut_gamemode.o/ freeglut_geometry.o/ freeglut_glutfont_definitions.o/ freeglut_input_devices.o/ freeglut_joystick.o/ freeglut_overlay.o/ freeglut_state.o/ freeglut_stroke_mono_roman.o/ freeglut_stroke_roman.o/ freeglut_structure.o/ freeglut_teapot.o/ freeglut_videoresize.o/ freeglut_window.o/ freeglut_spaceball.o/ /0 1264195962 500 500 100664 6896 ` L�����”��3�����.text�����������ð ��´���ð ������ª��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������L��¤ ��������������@�0@U‰åSƒì‹]€=����t¡���…Àt9˜¤���t‰˜¤���ƒÄ[]ÃÇD$����Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9˜ ���t‰˜ ���ƒÄ[]ÃÇD$X���Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9˜˜���t‰˜˜���ƒÄ[]ÃÇD$m���Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9˜œ���t‰˜œ���ƒÄ[]ÃÇD${���Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9Xxt‰XxƒÄ[]ö����ÇD$���Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9˜ˆ���t‰˜ˆ���ƒÄ[]ÃÇD$¢���Ç$���è����ëÍv�¼'����U‰åƒì€=����uÇD$¹���Ç$���è����‹E£\���ÉÃv�U‰åƒì€=����uÇD$Ì���Ç$���è����‹E£X���ÉÃv�U‰åƒì€=����t¡���…Àt‹U‰PÉÃÇD$Þ���Ç$���è����ëÙv�¼'����U‰åSƒì‹]€=����t¡���…Àt9˜€���t‰˜€���ƒÄ[]ÃÇD$ò���Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����uÇD$���Ç$���è����‰]ƒÄ[]é|ÿÿÿ¶����¿����U‰åSƒì‹]€=����t¡���…Àt9Xpt‰XpƒÄ[]ö����ÇD$��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9Xlt‰XlƒÄ[]ö����ÇD$��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9Xht‰XhƒÄ[]ö����ÇD$4��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9Xdt‰XdƒÄ[]ö����ÇD$C��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9X`t‰X`ƒÄ[]ö����ÇD$V��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9X\t‰X\ƒÄ[]ö����ÇD$d��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9XTt‰XTƒÄ[]ö����ÇD$v��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t-¡���…ÀtA9Xtt‰Xt…Ût;ÇE ��ƒÄ[]éÇûÿÿ´&����ÇD$‰��Ç$���è����¡���…Àu¿ƒÄ[]ÃÇE����ƒÄ[]éŒûÿÿ¶����¿����U‰åƒì€=����uÇD$œ��Ç$���è����‹E£P���ÉÃv�U‰åSƒì‹]€=����t¡���…Àt9XXt‰XXƒÄ[]ö����ÇD$©��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9XPt‰XPƒÄ[]ö����ÇD$¹��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t¡���…Àt9XLt‰XLƒÄ[]ö����ÇD$Ê��Ç$���è����ëÍv�¼'����U‰åSƒì‹]€=����t…Ût/¡���…Àt9XHt‰XHƒÄ[]ÃfÇD$Ú��Ç$���è����ëÍÇ$ì��è����ëö����¿����U‰åSƒì‹]€=����t"è����¡���…Àt9˜”���t‰˜”���ƒÄ[]ÃÇD$I��Ç$���è����ëÈt&�U‰åSƒì‹]€=����t"è����¡���…Àt9˜���t‰˜���ƒÄ[]ÃÇD$a��Ç$���è����ëÈt&�U‰åSƒì‹]€=����t"è����¡���…Àt9˜Œ���t‰˜Œ���ƒÄ[]ÃÇD$y��Ç$���è����ëÈt&�U‰åSƒì‹]€=����t=è����¡���…Àt(9X|t‰X|‹U ‰P4è����‹ ���+A4‰ÂÁú÷Ò!‰Q8ƒÄ[]ÃÇD$‘��Ç$���è����ë­v�¼'����U‰åƒì€=����‰uü‹u‰]øtH¡���…Àt2‹Xt…Ût+‰$è����ƒþ”À…ö‹uü” Ѓð¶À‰E‰Ø‹]ø‰ì]ÿà‹]ø‹uü‰ì]Ãv�ÇD$¢��Ç$¸��è����ë¢v�¼'����U‰åWVSƒì,‹E €=����‹u‹}‰Eätb‹L���…Ûtv‰\$Ç$H���è����‹Eä‰{‰C è����‹@���…Ò40‰suë ‹…Òt;r}õ‰]‰U ÇE@���ƒÄ,[^_]é����t&�ÇD$��Ç$���è����‹L���…ÛuŠÇ$���è����…À‰ÃuˆÇ$��è����éwÿÿÿglutTabletButtonFunc���� ERROR: Function <%s> called without first calling 'glutInit'.�glutTabletMotionFunc�glutDialsFunc�glutButtonBoxFunc�glutWindowStatusFunc�glutOverlayDisplayFunc�glutMenuStatusFunc�glutMenuStateFunc�glutMenuDestroyFunc�glutCloseFunc�glutWMCloseFunc�glutEntryFunc�glutPassiveMotionFunc�glutMotionFunc�glutMouseWheelFunc�glutMouseFunc�glutSpecialUpFunc�glutKeyboardUpFunc�glutVisibilityFunc�glutIdleFunc�glutSpecialFunc�glutKeyboardFunc�glutReshapeFunc�glutDisplayFunc���Fatal error in program. NULL display callback not permitted in GLUT 3.0+ or freeglut 2.0.1+�glutSpaceballButtonFunc�glutSpaceballRotateFunc�glutSpaceballMotionFunc�glutJoystickFunc�Visibility Callback��� ERROR: Internal <%s> function called without first calling 'glutInit'.�glutTimerFunc��Fatal error: Memory allocation failure in glutTimerFunc()��� ���)�������*����4���'����;���'����@���2����\���)����d���*����„���'����‹���'�������2����¬���)����´���*����Ô���'����Û���'����à���2����ü���)������*����$��'����+��'����0��2����L��)����T��*����t��'����{��'����€��2����œ��)����¤��*����Ä��'����Ë��'����Ð��2����è��)����ó��'����ú��'����ÿ��2������)������)����#��'����*��'����/��2����7��)����H��)����P��*����d��'����k��'����p��2����Œ��)����”��*����´��'����»��'����À��2����Ü��)����ç��'����î��'����ó��2������)����$��*����D��'����K��'����P��2����l��)����t��*����”��'����›��'���� ��2����¼��)����Ä��*����ä��'����ë��'����ð��2���� ��)������*����4��'����;��'����@��2����\��)����d��*����„��'����‹��'������2����¬��)����´��*����Ô��'����Û��'����à��2����ü��)������*����$��'����+��'����0��2����L��)����T��*����k��!����„��'����‹��'������2����•��*����È��)����Ó��'����Ú��'����ß��2����ç��)����ü��)������*����$��'����+��'����0��2����L��)����T��*����t��'����{��'����€��2����œ��)����¤��*����Ä��'����Ë��'����Ð��2����ì��)����ø��*������'������'���� ��2����)��'����.��2����L��)����T��+����Y��*����y��'����€��'����…��2����œ��)����¤��+����©��*����É��'����Ð��'����Õ��2����ì��)����ô��+����ù��*������'���� ��'����%��2����<��)����D��,����I��*����`��/����f��*����„��'����‹��'������2����¨��)����¹��*����Ì��-���� ��'���� ��'���� ��2����. ��)����@ ��)����O ��)����T ��.����b ��/����h ��)����Œ ��)����¤ ��'����« ��'����° ��2����¶ ��)����Æ ��1����Ó ��'����Ø ��2����˜ ��0����.file�������þÿ��g����������������������������� �����������������������/���P���� ������E��� ���� ������T���ð���� ������g���@��� ������}������ ������•���à��� ������©������ ������¼���@��� ������Ñ���€��� ������à���Ð��� ������ñ������ ���������`��� ��������°��� ������'������ ������;��P��� ������J�� ��� ������]��ð��� ������q��@��� ������…��À��� ������“��ð��� ������¤��@��� ������¶����� ������Ç��à��� ������Ø��@��� ������ñ����� ������ ��à��� ������#��0��� ������5�� ��� ������D�� ��� ��.text����������á ��ª�������������.data����������������������������.bss�����������������������������.rdata���������J����������������_fgState�������������S���������������`�������� ������w�������� ������Ž�������� ������›�������� ������©�������� ������¸�������� ��_malloc������� ��_fgError������ ��Æ��freeglut_callbacks.c�_glutTabletButtonFunc�_glutTabletMotionFunc�_glutDialsFunc�_glutButtonBoxFunc�_glutWindowStatusFunc�_glutOverlayDisplayFunc�_glutMenuStatusFunc�_glutMenuStateFunc�_glutMenuDestroyFunc�_glutCloseFunc�_glutWMCloseFunc�_glutEntryFunc�_glutPassiveMotionFunc�_glutMotionFunc�_glutMouseWheelFunc�_glutMouseFunc�_glutSpecialUpFunc�_glutKeyboardUpFunc�_glutVisibilityFunc�_glutIdleFunc�_glutSpecialFunc�_glutKeyboardFunc�_glutReshapeFunc�_glutDisplayFunc�_glutSpaceballButtonFunc�_glutSpaceballRotateFunc�_glutSpaceballMotionFunc�_glutJoystickFunc�_fghVisibility�_glutTimerFunc�_fgStructure�_fgInitialiseSpaceball�_fgInitialiseJoysticks�_fgSetWindow�_fgListRemove�_fgElapsedTime�_fgListInsert�/22 1264195962 500 500 100664 4116 ` L�����ú �������.text�����������€��´���ˆ������>��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������T��4��ô ������g���@�0@U‰åƒì(€=����tA¡���…ÀtU‹U‰Uð‹U ‰UôUð‰T$‹@ ‰$è����‹Eôƒì‰D$‹Eð‰$è����ƒìÉÃÇD$����Ç$���è����¡���…Àu«ÇD$����Ç$P���è����¡���ë´&����U‰åVSƒì‹] ‹uƒûfv‰\$Ç$Ž���è����‰^0eø[^]Ãv�ÿ$¨���ÇD$���Ç$����è����ƒì‰$è����ƒìÇD$���Ç$����è����ƒì‰D$ÇD$ôÿÿÿ‹F ‰$è����‰^0ƒì eø[^]ÃÇD$��Ç$����è����ƒì‰$è����ƒìÇD$��Ç$����è����ƒì‰D$ë¡ÇD$‹��Ç$����è����ƒì‰$è����ƒìÇD$‹��Ç$����è����ƒì‰D$é_ÿÿÿÇD$ƒ��Ç$����è����ƒì‰$è����ƒìÇD$ƒ��Ç$����è����ƒì‰D$éÿÿÿÇD$‚��Ç$����è����ƒì‰$è����ƒìÇD$‚��Ç$����è����ƒì‰D$éÛþÿÿ´&����ÇD$���Ç$����è����ƒì‰$è����ƒìÇD$���Ç$����è����ƒì‰D$é’þÿÿÇ$����è����ƒìÇD$����évþÿÿfÇD$†��Ç$����è����ƒì‰$è����ƒìÇD$†��Ç$����è����ƒì‰D$é2þÿÿÇD$��Ç$����è����ƒì‰$è����ƒìÇD$��éYÿÿÿÇD$��Ç$����è����ƒì‰$è����ƒìÇD$��Ç$����è����ƒì‰D$éÁýÿÿÇD$„��Ç$����è����ƒì‰$è����ƒìÇD$„��Ç$����è����ƒì‰D$éýÿÿÇD$…��Ç$����è����ƒì‰$è����ƒìÇD$…��Ç$����è����ƒì‰D$é=ýÿÿÇD$��Ç$����è����ƒì‰$è����ƒìÇD$��Ç$����è����ƒì‰D$éûüÿÿ´&����U‰åƒì€=����t!¡���…Àt5‹U‰$‰T$èYüÿÿÉô&����ÇD$D��Ç$���è����¡���…ÀuËÇD$D��Ç$P���è����¡���ë°glutWarpPointer� ERROR: Function <%s> called without first calling 'glutInit'.� ERROR: Function <%s> called with no current window defined.�Unknown cursor type: %d���0��0��c��$��c����$����Ç��$��…��C��Ç���Ç���Ç���Ç���ç��¥��ç��¥��£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���£���Ç���r��Ò��glutSetCursor�����������������2�������G�������T��� ����[��� ����`�������e�������q��� ����x��� ����}�������‚�������ª��� ����¯�������Ã��� ����×�������â�������ù�������������4������?������V������s������~������•������µ������À������×������÷������������������@������K������b������z������ ������«������Â������â������í������������������3������S������^������u������•������ ������·������×������â������ù������������ ������D�� ����K�� ����P������U������a�� ����h�� ����m������r������¨�������¬�������°�������´�������¸�������¼�������À�������Ä�������È�������Ì�������Ð�������Ô�������Ø�������Ü�������à�������ä�������è�������ì�������ð�������ô�������ø�������ü�������������������������� ������������������������������ ������$������(������,������0������4������8������<������@������D������H������L������P������T������X������\������`������d������h������l������p������t������x������|������€������„������ˆ������Œ������������”������˜������œ������ ������¤������¨������¬������°������´������¸������¼������À������Ä������È������Ì������Ð������Ô������Ø������Ü������à������ä������è������ì������ð������ô������ø������ü������������������������� ������������������������������ ������$������(������,������0������4������8������<������@������.file�������þÿ��gfreeglut_cursor.c������������� ������������������������������ ������"������ ��.text����������x��>�������������.data����������������������������.bss�����������������������������.rdata���������R��g�������������_fgState�������������1����������������>��������� ������P��������� ������`��������� ������r��������� ��������������� ��_fgError������ ��Ž���_glutWarpPointer�_fgSetCursor�_glutSetCursor�_fgStructure�_ClientToScreen@8�_SetCursorPos@8�_SetClassLongA@12�_SetCursor@4�_LoadCursorA@8�/41 1264195962 500 500 100664 1834 ` L����� �������.text�����������à��´���„������'��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������ð���”��������������@�0@U‰åƒì€=����t¡���…Àt%Æ@,ÉÃfÇD$����Ç$���è����¡���…ÀuÛÇD$����Ç$T���è����¡���Æ@,ÉÃt&�U‰åƒì€=����t‹E‰$è����…ÀtÆ@,ÉÃÇD$’���Ç$���è����ëÕ¶����U‰åƒìH€=����‰]ô‰uø‰}ü„Ô���‹ ���…É„æ���è����¡���‹P…Òu ‹]ô‹uø‹}ü‰ì]Ë@‰$è����¡0���ƒì…ÀtÜÇ$¼��è����‹4���ƒÂ‰4���‰Ã¡8���…À„§���‰Ù)Á; 0���v¦1ÿ¡����‰}ä1ÿ‰MàßmàØ ì���ƒÀ@‰Uà‰}ä‰T$ÇD$¼���‰$ßmàØñÝ\$Ý\$ è����‰8���Ç4�������éOÿÿÿt&�ÇD$ª���Ç$���è����éÿÿÿ´&����ÇD$ª���Ç$T���è����éÿÿÿ´&����‰8���é�ÿÿÿglutPostRedisplay��� ERROR: Function <%s> called without first calling 'glutInit'.� ERROR: Function <%s> called with no current window defined.�glutPostWindowRedisplay�glutSwapBuffers���freeglut: %d frames in %.2f seconds = %.2f FPS �oƒ:��������������$��� ����+��� ����0�������5�������A��� ����H��� ����M�������R�������h�������v�������ˆ��� ������� ����”�������¨�������¾�������Ë�������Ð�������ï�������ô������������� ������������������/������8������I�� ����^�� ����s������y������������”�� ����›�� ���� ������´�� ����»�� ����À������Ò������.file�������þÿ��gfreeglut_display.c������������ ��������������������������`���� ������0��� ���� ��.text����������Û��'�������������.data����������������������������.bss�����������������������������.rdata���������ð�����������������_fgState�������������A����������������N����������������Z��������� ������h��������� ������s��������� ��_glutGet������ ��_fprintf������ ��_fgError������ ��‚���_glutPostRedisplay�_glutPostWindowRedisplay�_glutSwapBuffers�_fgStructure�__imp___iob�_fgWindowByID�_glFlush@0�_SwapBuffers@4�freeglut_ext.o/ 1264195963 500 500 100664 19100 ` L�����2��¯�����.text�����������à��´���ð������Ð�� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������\ ��”��������������@�0@U‰åƒì‹EÇD$����‰$è����ÉÃt&�U‰åƒì‹EÇD$����‰$è����ÉÃt&�U‰åƒì‹E ÇD$����‰D$‹E‰$è����Éô&����¼'����U‰åƒì‹E‰$è����ƒìÉÃv�¼'����U‰åƒì(€=����‰]ô‹]‰uø‰}ü„ñ��¿T���¹���‰Þó¦…��¹ ���¿Y���‰Þ¸@���ó¦—Á’Â8Ñ„¬��¹���¿b���‰Þ¸����ó¦—Á’Â8Ñ„‹��¹���¿v���‰Þ¸����ó¦—Á’Â8Ñ„j��¹���¿Œ���‰Þ¸����ó¦—Á’Â8Ñ„I��¹���¿£���‰Þ¸����ó¦—Á’Â8Ñ„(��¹ ���¿¶���‰Þ¸����ó¦—Á’Â8Ñ„��¹ ���¿Ã���‰Þ¸����ó¦—Á’Â8Ñ„æ��¹���¿Ì���‰Þ¸ ���ó¦—Á’Â8Ñ„Å��¹���¿Ý���‰Þ¸����ó¦—Á’Â8Ñ„¤��¹���¿ñ���‰Þ¸����ó¦—Á’Â8Ñ„ƒ��¹���¿��‰Þ¸����ó¦—Á’Â8Ñ„b��¹���¿��‰Þ¸����ó¦—Á’Â8Ñ„A��¹���¿-��‰Þ¸����ó¦—Á’Â8Ñ„ ��¹���¿=��‰Þ¸����ó¦—Á’Â8Ñ„ÿ��ÇD$K��‰$è����‰Â¸����…Ò„à��ÇD$Y��‰$è����‰Â¸����…Ò„Á��ÇD$l��‰$è����‰Â¸����…Ò„¢��ÇD$}��‰$è����‰Â¸����…Ò„ƒ��ÇD$��‰$è����‰Â¸����…Ò„d��ÇD$¢��‰$è����‰Â¸����…Ò„E��ÇD$°��‰$è����‰Â¸����…Ò„&��ÇD$¿��‰$è����‰Â¸����…Ò„��ÇD$Ñ��‰$è����‰Â¸����…Ò„è��ÇD$à��‰$è����‰Â¸����…Ò„É��ÇD$ï��‰$è����‰Â¸����…Ò„ª��ÇD$þ��‰$è����‰Â¸����…Ò„‹��ÇD$ ��‰$è����‰Â¸����…Ò„l��ÇD$��‰$è����‰Â¸����…Ò„M��ÇD$1��‰$è����‰Â¸����…Ò„.��ÇD$C��‰$è����‰Â¸����…Ò„��ÇD$P��‰$è����‰Â¸����…Ò„ð��ÇD$l��‰$è����‰Â¸����…Ò„Ñ��ÇD$‹��‰$è����‰Â¸����…Ò„²��ÇD$›��‰$è����‰Â¸����…Ò„“��ÇD$«��‰$è����‰Â¸����…Ò„t��ÇD$º��‰$è����‰Â¸����…Ò„U��ÇD$Ê��‰$è����‰Â¸����…Ò„6��ÇD$Ö��‰$è����‰Â¸����…Ò„��ÇD$â��‰$è����‰Â¸����…Ò„ø ��ÇD$ó��‰$è����‰Â¸����…Ò„Ù ��ÇD$��‰$è����‰Â¸����…Ò„º ��ÇD$��‰$è����‰Â¸����…Ò„› ��ÇD$,��‰$è����‰Â¸����…Ò„| ��ÇD$?��‰$è����‰Â¸����…Ò„] ��ÇD$N��‰$è����‰Â¸����…Ò„> ��ÇD$]��‰$è����‰Â¸����…Ò„ ��ÇD$m��‰$è����‰Â¸����…Ò„� ��ÇD$}��‰$è����‰Â¸����…Ò„á ��ÇD$Ž��‰$è����‰Â¸����…Ò„ ��ÇD$œ��‰$è����‰Â¸����…Ò„£ ��ÇD$«��‰$è����‰Â¸����…Ò„„ ��ÇD$Á��‰$è����‰Â¸����…Ò„e ��ÇD$Ï��‰$è����‰Â¸����…Ò„F ��ÇD$â��‰$è����‰Â¸����…Ò„' ��ÇD$ï��‰$è����‰Â¸����…Ò„ ��ÇD$ý��‰$è����‰Â¸����…Ò„é ��ÇD$��‰$è����‰Â¸����…Ò„Ê ��ÇD$��‰$è����‰Â¸����…Ò„« ��ÇD$7��‰$è����‰Â¸����…Ò„Œ ��ÇD$O��‰$è����‰Â¸����…Ò„m ��ÇD$g��‰$è����‰Â¸����…Ò„N ��ÇD$y��‰$è����‰Â¸����…Ò„/ ��ÇD$‡��‰$è����‰Â¸����…Ò„ ��ÇD$œ��‰$è����‰Â¸����…Ò„ñ ��ÇD$±��‰$è����‰Â¸����…Ò„Ò ��ÇD$Ä��‰$è����‰Â¸����…Ò„³ ��ÇD$Û��‰$è����‰Â¸����…Ò„” ��ÇD$ð��‰$è����‰Â¸����…Ò„u ��ÇD$��‰$è����‰Â¸����…Ò„V ��ÇD$��‰$è����‰Â¸����…Ò„7 ��ÇD$&��‰$è����‰Â¸����…Ò„ ��ÇD$3��‰$è����‰Â¸����…Ò„ù ��ÇD$@��‰$è����‰Â¸����…Ò„Ú ��ÇD$Q��‰$è����‰Â¸����…Ò„» ��ÇD$Y��‰$è����‰Â¸����…Ò„œ ��ÇD$g��‰$è����‰Â¸����…Ò„} ��ÇD$~��‰$è����‰Â¸����…Ò„^ ��ÇD$��‰$è����‰Â¸����…Ò„? ��ÇD$œ��‰$è����‰Â¸����…Ò„ ��ÇD$°��‰$è����‰Â¸����…Ò„ ��ÇD$À��‰$è����‰Â¸����…Ò„â��ÇD$Ô��‰$è����‰Â¸����…Ò„Ã��ÇD$ä��‰$è����‰Â¸����…Ò„¤��ÇD$õ��‰$è����‰Â¸����…Ò„…��ÇD$��‰$è����‰Â¸����…Ò„f��ÇD$��‰$è����‰Â¸����…Ò„G��ÇD$%��‰$è����‰Â¸����…Ò„(��ÇD$2��‰$è����‰Â¸����…Ò„ ��ÇD$@��‰$è����‰Â¸����…Ò„ê��ÇD$M��‰$è����‰Â¸����…Ò„Ë��ÇD$[��‰$è����‰Â¸����…Ò„¬��ÇD$i��‰$è����‰Â¸����…Ò„��ÇD$x��‰$è����‰Â¸����…Ò„n��ÇD$��‰$è����‰Â¸����…Ò„O��ÇD$£��‰$è����‰Â¸����…Ò„0��ÇD$²��‰$è����‰Â¸����…Ò„��ÇD$Â��‰$è����‰Â¸����…Ò„ò��ÇD$Õ��‰$è����‰Â¸����…Ò„Ó��ÇD$é��‰$è����‰Â¸����…Ò„´��ÇD$ý��‰$è����‰Â¸����…Ò„•��ÇD$��‰$è����‰Â¸����…Ò„v��ÇD$&��‰$è����‰Â¸����…Ò„W��ÇD$;��‰$è����‰Â¸����…Ò„8��ÇD$N��‰$è����‰Â¸����…Ò„��ÇD$e��‰$è����‰Â¸����…Ò„ú��ÇD${��‰$è����‰Â¸����…Ò„Û��ÇD$‹��‰$è����‰Â¸����…Ò„¼��ÇD$˜��‰$è����‰Â¸����…Ò„��ÇD$©��‰$è����‰Â¸����…Ò„~��ÇD$½��‰$è����‰Â¸����…Ò„_��ÇD$Î��‰$è����‰Â¸����…Ò„@��ÇD$ä��‰$è����‰Â¸����…Ò„!��ÇD$÷��‰$è����‰Â¸����…Ò„��ÇD$ ��‰$è����‰Â¸����…Ò„ã��ÇD$��‰$è����‰Â¸����…Ò„Ä��ÇD$+��‰$è����‰Â¸����…Ò„¥��ÇD$=��‰$è����‰Â¸����…Ò„†��ÇD$O��‰$è����‰Â¸����…Ò„g��ÇD$]��‰$è����‰Â¸����…Ò„H��ÇD$m��‰$è����‰Â¸����…Ò„)��ÇD$��‰$è����‰Â¸����…Ò„ ��ÇD$–��‰$è����‰Â¸����…Ò„ë��ÇD$¤��‰$è����‰Â¸����…Ò„Ì��ÇD$¶��‰$è����‰Â¸����…Ò„­��ÇD$È��‰$è����‰Â¸����…Ò„Ž��ÇD$Ú��‰$è����‰Â¸����…Ò„o��ÇD$ê��‰$è����‰Â¸����…Ò„P��ÇD$ú��‰$è����‰Â¸����…Ò„1��ÇD$ ��‰$è����‰Â¸����…Ò„��ÇD$ ��‰$è����‰Â¸����…Ò„ó��ÇD$- ��‰$è����‰Â¸����…Ò„Ô��ÇD$> ��‰$è����‰Â¸����…Ò„µ��ÇD$Z ��‰$è����‰Â¸����…Ò„–��ÇD$w ��‰$è����‰Â¸����…Ò„w��ÇD$ ��‰$è����‰Â¸����…Ò„X��ÇD$ª ��‰$è����‰Â¸����…Ò„9��ÇD$» ��‰$è����‰Â¸����…Ò„��ÇD$����‰$è����‰Â¸���…Ò„û��ÇD$Í ��‰$è����‰Â¸����…Ò„Ü��ÇD$à ��‰$è����‰Â¸����…Ò„½��ÇD$÷ ��‰$è����‰Â¸����…Ò„ž��ÇD$ ��‰$è����‰Â¸����…Ò„��ÇD$( ��‰$è����‰Â¸����…Ò„`��ÇD$@ ��‰$è����‰Â¸����…Ò„A��ÇD$X ��‰$è����‰Â¸����…Ò„"��ÇD$r ��‰$è����‰Â¸����…Ò„��ÇD$Œ ��‰$è����‰Â¸����…Ò„ä���ÇD$¤ ��‰$è����‰Â¸����…Ò„Å���ÇD$¼ ��‰$è����‰Â¸����…Ò„¦���ÇD$Ò ��‰$è����‰Â¸����…Ò„‡���ÇD$ê ��‰$è����‰Â¸����…ÒtlÇD$ ��‰$è����‰Â¸����…ÒtQÇD$ ��‰$è����‰Â¸����…Òt6ÇD$/ ��‰$è����‰Â¸����…ÒtÇD$D ��‰$è����‰Â¸����…Òu8‹]ô‹uø‹}ü‰ì]Ãv�ÇD$����¿T���‰ÞÇ$���è����¹���ó¦„ûìÿÿ‰]‹uø‹]ô‹}ü‰ì]é”ìÿÿglutGetProcAddress�� ERROR: Function <%s> called without first calling 'glutInit'.�glut�glutInit�glutInitDisplayMode�glutInitDisplayString�glutInitWindowPosition�glutInitWindowSize�glutMainLoop�glutExit�glutCreateWindow�glutCreateSubWindow�glutDestroyWindow�glutPostRedisplay�glutPostWindowRedisplay�glutSwapBuffers�glutGetWindow�glutSetWindow�glutSetWindowTitle�glutSetIconTitle�glutPositionWindow�glutReshapeWindow�glutPopWindow�glutPushWindow�glutIconifyWindow�glutShowWindow�glutHideWindow�glutFullScreen�glutSetCursor�glutWarpPointer�glutEstablishOverlay�glutRemoveOverlay�glutUseLayer�glutPostOverlayRedisplay����glutPostWindowOverlayRedisplay�glutShowOverlay�glutHideOverlay�glutCreateMenu�glutDestroyMenu�glutGetMenu�glutSetMenu�glutAddMenuEntry�glutAddSubMenu�glutChangeToMenuEntry�glutChangeToSubMenu�glutRemoveMenuItem�glutAttachMenu�glutDetachMenu�glutDisplayFunc�glutReshapeFunc�glutKeyboardFunc�glutMouseFunc�glutMotionFunc�glutPassiveMotionFunc�glutEntryFunc�glutVisibilityFunc�glutIdleFunc�glutTimerFunc�glutMenuStateFunc�glutSpecialFunc�glutSpaceballMotionFunc�glutSpaceballRotateFunc�glutSpaceballButtonFunc�glutButtonBoxFunc�glutDialsFunc�glutTabletMotionFunc�glutTabletButtonFunc�glutMenuStatusFunc�glutOverlayDisplayFunc�glutWindowStatusFunc�glutKeyboardUpFunc�glutSpecialUpFunc�glutJoystickFunc�glutSetColor�glutGetColor�glutCopyColormap�glutGet�glutDeviceGet�glutExtensionSupported�glutGetModifiers�glutLayerGet�glutBitmapCharacter�glutBitmapWidth�glutStrokeCharacter�glutStrokeWidth�glutBitmapLength�glutStrokeLength�glutWireSphere�glutSolidSphere�glutWireCone�glutSolidCone�glutWireCube�glutSolidCube�glutWireTorus�glutSolidTorus�glutWireDodecahedron�glutSolidDodecahedron�glutWireTeapot�glutSolidTeapot�glutWireOctahedron�glutSolidOctahedron�glutWireTetrahedron�glutSolidTetrahedron�glutWireIcosahedron�glutSolidIcosahedron�glutVideoResizeGet�glutSetupVideoResizing�glutStopVideoResizing�glutVideoResize�glutVideoPan�glutReportErrors�glutIgnoreKeyRepeat�glutSetKeyRepeat�glutForceJoystickFunc�glutGameModeString�glutEnterGameMode�glutLeaveGameMode�glutGameModeGet�glutMainLoopEvent�glutLeaveMainLoop�glutCloseFunc�glutWMCloseFunc�glutMenuDestroyFunc�glutFullScreenToggle�glutSetOption�glutGetModeValues�glutSetWindowData�glutGetWindowData�glutSetMenuData�glutGetMenuData�glutBitmapHeight�glutStrokeHeight�glutBitmapString�glutStrokeString�glutWireRhombicDodecahedron�glutSolidRhombicDodecahedron�glutWireSierpinskiSponge�glutSolidSierpinskiSponge�glutWireCylinder�glutSolidCylinder�glutMouseWheelFunc�glutJoystickGetNumAxes�glutJoystickGetNumButtons�glutJoystickNotWorking�glutJoystickGetDeadBand�glutJoystickSetDeadBand�glutJoystickGetSaturation�glutJoystickSetSaturation�glutJoystickSetMinRange�glutJoystickSetMaxRange�glutJoystickSetCenter�glutJoystickGetMinRange�glutJoystickGetMaxRange�glutJoystickGetCenter�glutInitContextVersion�glutInitContextFlags�glutInitContextProfile�� ��������������-�������5�������M�������\�������}�������˜�������°�������É�������Ð�������ê�������ñ������� ������������,������3������M������T������n������u������������–������°������·������Ñ������Ø������ò������ù������������������4������;������U������\�� ����v������}��!����•��������¬����¤��"����´������¼��¬����Ã��#����Ó������Û��¬����â��$����ò������ú��¬������%������������¬���� ��&����0������8��¬����?��'����O������W��¬����^��(����n������v��¬����}��)����������•��¬����œ��*����¬������´��¬����»��+����Ë������Ó��¬����Ú��,����ê������ò��¬����ù��-���� ��������¬������.����(������0��¬����7��/����G������O��¬����V��0����f������n��¬����u��1����…��������¬����”��2����¤������¬��¬����³��3����Ã������Ë��¬����Ò��4����â������ê��¬����ñ��5���������� ��¬���������� ������(��¬����/��6����?������G��¬����N��7����^������f��¬����m��8����}������…��¬����Œ��9����œ������¤��¬����«��:����»������Ã��¬����Ê��;����Ú������â��¬����é��<����ù��������¬������=���������� ��¬����'��>����7������?��¬����F��?����V������^��¬����e��@����u������}��¬����„��A����”������œ��¬����£��B����³������»��¬����Â��C����Ò������Ú��¬����á��D����ñ������ù��¬�������E������������¬������F����/������7��¬����>��G����N������V��¬����]��H����m������u��¬����|��I����Œ������”��¬����›��J����«������³��¬����º��K����Ê������Ò��¬����Ù��L����é������ñ��¬����ø��M������������¬������N����'������/��¬����6��O����F������N��¬����U��P����e������m��¬����t��Q����„������Œ��¬����“��R����£������«��¬����²��S����Â������Ê��¬����Ñ��T����á������é��¬����ð��U����� ������ ��¬���� ��V���� ������' ��¬����. ��W����> ������F ��¬����M ��X����] ������e ��¬����l ��Y����| ������„ ��¬����‹ ��Z����› ������£ ��¬����ª ��[����º ������ ��¬����É ��\����Ù ������á ��¬����è ��]����ø ������� ��¬���� ��^���� ������ ��¬����& ��_����6 ������> ��¬����E ��`����U ������] ��¬����d ��a����t ������| ��¬����ƒ ��b����“ ������› ��¬����¢ ��c����² ������º ��¬����Á ��d����Ñ ������Ù ��¬����à ��e����ð ������ø ��¬����ÿ ��f���� ������ ��¬���� ��g����. ������6 ��¬����= ��h����M ������U ��¬����\ ��i����l ������t ��¬����{ ��j����‹ ������“ ��¬����š ��k����ª ������² ��¬����¹ ��l����É ������Ñ ��¬����Ø ��m����è ������ð ��¬����÷ ��n���� ������ ��¬���� ��o����& ������. ��¬����5 ��p����E ������M ��¬����T ��q����d ������l ��¬����s ��r����ƒ ������‹ ��¬����’ ��s����¢ ������ª ��¬����± ��t����Á ������É ��¬����Ð ��u����à ������è ��¬����ï ��v����ÿ ������ ��¬���� ��w���� ������& ��¬����- ��x����= ������E ��¬����L ��y����\ ������d ��¬����k ��z����{ ������ƒ ��¬����Š ��{����š ������¢ ��¬����© ��|����¹ ������Á ��¬����È ��}����Ø ������à ��¬����ç ��~����÷ ������ÿ ��¬������������������¬����%��€����5������=��¬����D������T������\��¬����c��‚����s������{��¬����‚��ƒ����’������š��¬����¡��„����±������¹��¬����À��…����Ð������Ø��¬����ß��†����ï������÷��¬����þ��‡������������¬������ˆ����-������5��¬����<��‰����L������T��¬����[��Š����k������s��¬����z��‹����Š������’��¬����™��Œ����©������±��¬����¸������È������Ð��¬����×��Ž����ç������ï��¬����ö��������������¬����������%������-��¬����4��‘����D������L��¬����S��’����c������k��¬����r��“����‚������Š��¬����‘��”����¡������©��¬����°��•����À������È��¬����Ï��–����ß������ç��¬����î��—����þ��������¬���� ��˜����������%��¬����,��™����<������D��¬����K��š����[������c��¬����j��›����z������‚��¬����‰������™������¡��¬����¨��œ����¸������À��¬����Ç������×������ß��¬����æ��ž����ö������þ��¬������Ÿ������������¬����$�� ����4������<��¬����C��¡����S������[��¬����b��¢����r������z��¬������£����‘������™��¬���� ��¤����°������¸��¬����¿��¥����Ï������×��¬����Þ��¦����î������ö��¬����ý��§���� ��������¬������¨����(������0��¬����7��©����C������K��¬����R��ª����^������f��¬����m��«����y��������¬����ˆ��­����¤������©������²������·��®����.file�������þÿ��gfreeglut_ext.c���������������� ����������������������� ��� ���� ������>���@���� ������T���p���� ������g������� ��.text����������Ü��Ð������������.data����������������������������.bss�����������������������������.rdata���������[ ����������������_fgState�������������{��������� ������•��������� ��_exit��������� ������±��������� ������Å��������� ������Ú��������� ������ï��������� �������������� �������������� ������2�������� ������@�������� ������J�������� ������_�������� ������r�������� ������…�������� ������ž�������� ������¯�������� ������¾�������� ������Í�������� ������á�������� ������ó�������� �������������� �������������� ������)�������� ������9�������� ������L�������� ������\�������� ������l�������� ������|�������� ������‹�������� ������œ�������� ������²�������� ������Å�������� ������Ó�������� ������í�������� ������ �������� �������������� ������/�������� ������@�������� ������M�������� ������Z�������� ������l�������� ������|�������� ������“�������� ������¨�������� ������¼�������� ������Ì�������� ������Ü�������� ������í�������� ������þ�������� �������������� �������������� ������/�������� ������F�������� ������U�������� ������i�������� ������w�������� ������†�������� ������™�������� ������ª�������� ������Ã�������� ������Ü�������� ������õ�������� �������������� �������������� ������-�������� ������C�������� ������W�������� ������o�������� ������…�������� ������™�������� ������¬�������� ������¾�������� ������Ì�������� ������Ú�������� ��_glutGet������ ������ì�������� ������û�������� �������������� ������%�������� ������3�������� ������H�������� ������Y�������� ������n�������� �������������� ������‘�������� ������£�������� ������³�������� ������Ä�������� ������Ò�������� ������á�������� ������ï�������� ������þ�������� ������ �������� �������������� ������3�������� ������J�������� ������Z�������� ������k�������� �������������� ������”�������� ������©�������� ������¿�������� ������Ô�������� ������ê�������� ������þ�������� �������������� ������-�������� ������>�������� ������L�������� ������^�������� ������s�������� ������…�������� ������œ�������� ������°�������� ������Ã�������� ������Ö�������� ������ç�������� ������ú�������� ������ �������� ������ �������� ������- �������� ������B �������� ������X �������� ������g �������� ������z �������� ������ �������� ������  �������� ������± �������� ������ �������� ������Ô �������� ������æ �������� ������ø �������� ������ �������� ������' �������� ������E �������� ������_ �������� ������z �������� ������Œ �������� ������Ÿ �������� ������³ �������� ������Ë �������� ������æ �������� ������þ �������� ������ �������� ������0 �������� ������K �������� ������f �������� ������ �������� ������˜ �������� ������¯ �������� ������È �������� ������á �������� ������ø �������� ������ �������� ��_strcmp������� ������& �������� ��_fgError������ ��> ��_glutCreateMenu_ATEXIT_HACK�_glutCreateWindow_ATEXIT_HACK�_glutInit_ATEXIT_HACK�_fghGetProcAddress�_glutGetProcAddress�___glutCreateMenuWithExit�___glutCreateWindowWithExit�___glutInitWithExit�_wglGetProcAddress@4�_glutInitDisplayMode�_glutInitDisplayString�_glutInitWindowPosition�_glutInitWindowSize�_glutMainLoop�_glutExit�_glutCreateSubWindow�_glutDestroyWindow�_glutPostRedisplay�_glutPostWindowRedisplay�_glutSwapBuffers�_glutGetWindow�_glutSetWindow�_glutSetWindowTitle�_glutSetIconTitle�_glutPositionWindow�_glutReshapeWindow�_glutPopWindow�_glutPushWindow�_glutIconifyWindow�_glutShowWindow�_glutHideWindow�_glutFullScreen�_glutSetCursor�_glutWarpPointer�_glutEstablishOverlay�_glutRemoveOverlay�_glutUseLayer�_glutPostOverlayRedisplay�_glutPostWindowOverlayRedisplay�_glutShowOverlay�_glutHideOverlay�_glutDestroyMenu�_glutGetMenu�_glutSetMenu�_glutAddMenuEntry�_glutAddSubMenu�_glutChangeToMenuEntry�_glutChangeToSubMenu�_glutRemoveMenuItem�_glutAttachMenu�_glutDetachMenu�_glutDisplayFunc�_glutReshapeFunc�_glutKeyboardFunc�_glutMouseFunc�_glutMotionFunc�_glutPassiveMotionFunc�_glutEntryFunc�_glutVisibilityFunc�_glutIdleFunc�_glutTimerFunc�_glutMenuStateFunc�_glutSpecialFunc�_glutSpaceballMotionFunc�_glutSpaceballRotateFunc�_glutSpaceballButtonFunc�_glutButtonBoxFunc�_glutDialsFunc�_glutTabletMotionFunc�_glutTabletButtonFunc�_glutMenuStatusFunc�_glutOverlayDisplayFunc�_glutWindowStatusFunc�_glutKeyboardUpFunc�_glutSpecialUpFunc�_glutJoystickFunc�_glutSetColor�_glutGetColor�_glutCopyColormap�_glutDeviceGet�_glutExtensionSupported�_glutGetModifiers�_glutLayerGet�_glutBitmapCharacter�_glutBitmapWidth�_glutStrokeCharacter�_glutStrokeWidth�_glutBitmapLength�_glutStrokeLength�_glutWireSphere�_glutSolidSphere�_glutWireCone�_glutSolidCone�_glutWireCube�_glutSolidCube�_glutWireTorus�_glutSolidTorus�_glutWireDodecahedron�_glutSolidDodecahedron�_glutWireTeapot�_glutSolidTeapot�_glutWireOctahedron�_glutSolidOctahedron�_glutWireTetrahedron�_glutSolidTetrahedron�_glutWireIcosahedron�_glutSolidIcosahedron�_glutVideoResizeGet�_glutSetupVideoResizing�_glutStopVideoResizing�_glutVideoResize�_glutVideoPan�_glutReportErrors�_glutIgnoreKeyRepeat�_glutSetKeyRepeat�_glutForceJoystickFunc�_glutGameModeString�_glutEnterGameMode�_glutLeaveGameMode�_glutGameModeGet�_glutMainLoopEvent�_glutLeaveMainLoop�_glutCloseFunc�_glutWMCloseFunc�_glutMenuDestroyFunc�_glutFullScreenToggle�_glutSetOption�_glutGetModeValues�_glutSetWindowData�_glutGetWindowData�_glutSetMenuData�_glutGetMenuData�_glutBitmapHeight�_glutStrokeHeight�_glutBitmapString�_glutStrokeString�_glutWireRhombicDodecahedron�_glutSolidRhombicDodecahedron�_glutWireSierpinskiSponge�_glutSolidSierpinskiSponge�_glutWireCylinder�_glutSolidCylinder�_glutMouseWheelFunc�_glutJoystickGetNumAxes�_glutJoystickGetNumButtons�_glutJoystickNotWorking�_glutJoystickGetDeadBand�_glutJoystickSetDeadBand�_glutJoystickGetSaturation�_glutJoystickSetSaturation�_glutJoystickSetMinRange�_glutJoystickSetMaxRange�_glutJoystickSetCenter�_glutJoystickGetMinRange�_glutJoystickGetMaxRange�_glutJoystickGetCenter�_glutInitContextVersion�_glutInitContextFlags�_glutInitContextProfile�freeglut_font.o/1264195963 500 500 100664 5049 ` L�����¸��+�����.text�����������€ ��´���\ ������V��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������(��4 ��������������@�0@U‰Â‰åƒì…Ò¸����t ƒú¸����uÉÃv�‰T$Ç$����è����1ÀÉö����¿����U‰åƒì€=����t‹Eè©ÿÿÿ…Àt%Ù@ÉÃÇD$���Ç$0���è����‹Eè„ÿÿÿ…ÀuÛÙîÉö����¿����U‰åWVSƒì<‹u €=����„Ç���‹EèOÿÿÿ…À‰Ã„•���…ö„���¶„À„‚���Ùî‹KÙÀVÙUÔ‹uÔë‹C ‹¸…ÀtØ�¶„Àt ƒÂ¶ø9Ï}ï< ußÝáßàžvXÝÙ¶Ùî„ÀuàÝáßàžvÝÙëfÝØÙ}æØ$��·Eæ´ f‰EäÙmäÛ]àÙmæ‹EàƒÄ<[^_]ô&����ƒÄ<1À[^_]ö����ÝØ‰uÔÙEÔë‚¶����ÇD$p���Ç$0���è����é ÿÿÿ´&����U‰åSƒì$‹] €=����tM‹EèUþÿÿ…Ûx6;X}1‹@ ‹˜…Àt'Ù$��Ø�Ù}ö·Eö´ f‰EôÙmôÛ]ðÙmö‹EðƒÄ$[]ÃÄ$1À[]Ãv�ÇD$���Ç$0���è����ëv�¼'����U‰Â‰åƒìƒú¸����t<ƒú¸����t2ƒú¸����t(ƒú¸����tƒú¸����tƒú¸����t ƒú¸����uÉÉT$Ç$‘���è����1ÀÉö����¿����U‰åƒì€=����t‹Eèyÿÿÿ‰Â1À…Òt‹BÉÃÇD$§���Ç$0���è����ëÕ¶����U‰åWVSƒì‹] €=����to‹Eè3ÿÿÿ…ÀtP…ÛtL¶„ÒtEƒÃ1É1öë‹x ¶Ò‹—¶Ñ¶„ÒtƒÃ€ú uã9Î}*¶‰Î1É„Òué9ñ‰È} ƒÄ‰ð[^_]Ã1ÀƒÄ[^_]Ãt&�1Éë¿ÇD$¸���Ç$0���è����éxÿÿÿv�U‰åSƒì‹] €=����t5‹Eè•þÿÿSÿúþ���w…Àt‹@ ‹˜¶�ƒÄ[]ô&����ƒÄ1À[]ÃÇD$É���Ç$0���è����ëµfU‰åWVSƒì,‹] €=����„%��‹Eèüÿÿ…À‰EÜ„æ���…Û„Þ���¶„À„Ó���ƒÃÙî‰]àÙ]ض����‹MܶÐ;Q ���< „³���‹MÜ‹A ‹…À‰Eä„„���‹P‹x…Ò~R1öÇ$���è����‹÷ƒì…À~*1ÛÝ����ƒÃD÷‹P‰T$‹�‰$è����ƒì9÷Ùè����‹EäƒÆ9p°‹UäÙÙEØØÁÇD$����ÇD$����Ù]ØÙ$è����ƒì ‹Uà¶„Àt ƒEàé>ÿÿÿeô[^_]Ã1Û‰\$ÙAÙàÙ\$ÙEØÙàÙ$è����‰]؃ì ëÁÇD$Ù���Ç$0���è����éÂþÿÿ‰ö¼'����U‰åWVSƒì,‹] €=����„þ���‹Eè¿úÿÿ…Ûˆæ���;XÝ���‹@ ‹˜…À‰Eä„Ì���‹p‹@…ÀŽž���1ÛÇ$���è����‹<Þƒì…ÿ~.1ÿt&�ý����ƒÇDÞ‹P‰T$‹�‰$è����ƒì9<ÞÙè����Ç$����è����‹ Þƒì…É~)1ÿý����ƒÇDÞ‹P‰T$‹�‰$è����ƒì9<ÞÙè����‹EäƒÃ9Xdÿÿÿ‹UäÇD$����ÇD$����‹‰$è����ƒì eô[^_]ÃÇD$ê���Ç$0���è����ééþÿÿU‰åWVSƒìL‹E€=����‹] „¤��èŸûÿÿ…À‰Æt …Ût€;�fueô[^_]ö����Ç$���è����ƒìÇD$����Ç$ð ��è����ƒìÇD$����Ç$ñ ��è����ƒìÇD$����Ç$ò ��è����ƒìÇD$����Ç$ó ��è����ƒìÇD$����Ç$ô ��è����ƒìÇD$���Ç$õ ��è����ƒìÙÄÒt{€ú „‚���‹F ¶Ò‹<¶W‰T$ÇD$����¶Ð¶Àf‰UæßEæÙ\$‹VÙ]ȉT$ ‹V‰T$‹V‰$‰T$è����¶f‰E涃ÃßEæƒìÙEÈ„ÒÞÁuÝØë¶����ÝØeô[^_]é����fÇD$����‹FÇD$ ����ÇD$����ÇD$����÷؉EàÛEàÙ\$ÙàÙ\$Ç$����è����ƒìÙîé ÿÿÿt&�‰EÈÇD$þ���Ç$0���è����‹EÈé=þÿÿU‰åVSƒì0‹E€=����‹] „��èÀùÿÿ‰ÆCÿ=þ���‡õ���…ö„í���‹F ‹˜Ç$���è����ƒìÇD$����Ç$ð ��è����ƒìÇD$����Ç$ñ ��è����ƒìÇD$����Ç$ò ��è����ƒìÇD$����Ç$ó ��è����ƒìÇD$����Ç$ô ��è����ƒìÇD$���Ç$õ ��è����¶ƒÃ¶Ð¶Àf‰UöƒìßEö‰\$Ù\$ÇD$����‹V‰T$ ‹V‰T$‹V‰$‰T$è����ƒìeø[^]é����eø[^]Ãt&�‰EðÇD$��Ç$0���è����‹EðéÌþÿÿstroke font 0x%08x not found�glutStrokeHeight��� ERROR: Function <%s> called without first calling 'glutInit'.�glutStrokeLength�glutStrokeWidth�font 0x%08x not found�glutBitmapHeight�glutBitmapLength�glutBitmapWidth�glutStrokeString�glutStrokeCharacter�glutBitmapString�glutBitmapCharacter�����? ��������������'�������,���!����H�������d�������k�������p���*����ž�������'������t������{������€��*����œ������À������ô������û���������*����������&������0������:������D������N������X�� ����g������l��!����ˆ������¨������¯������´��*����Î������H������O������T��*����l������¬������³������¸��*����Î������O��"����{��#����ˆ��$����¸��%����ò��%���������� ��������*����.������{��"����«��#����¸��$����Ä��"����ï��#����ü��$����(��%����;������B������G��*����^������˜��&����¯��'����Æ��'����Ý��'����ô��'���� ��'����"��'����†��(����ý��(����������������#��*����=������v��&������'����¤��'����»��'����Ò��'����é��'����� ��'����C ��(����g ������n ������s ��*����º��)����Q ��)����.file�������þÿ��gfreeglut_font.c��������������� ��������������������������@���� ������%������� ������7������ ������H������ ������U���€��� ������g���À��� ������y���`��� ������Š���À��� ������œ��� ��� ������±���P��� ������Ã���0��� ��.text���������� ��V�������������.data����������������������������.bss�����������������������������.rdata���������(��������������������Ø����������������ç������������_fgState�������������ú���������������� ������������������������������/���������������B���������������U���������������i���������������}�������� ������ˆ�������� ������“�������� ��_glEnd@0������ ������¡�������� ������²�������� ������È�������� ������Ù�������� ������æ�������� ��_fgError������ ��û��_fghStrokeByID�_glutStrokeHeight�_glutStrokeLength�_glutStrokeWidth�_fghFontByID�_glutBitmapHeight�_glutBitmapLength�_glutBitmapWidth�_glutStrokeString�_glutStrokeCharacter�_glutBitmapString�_glutBitmapCharacter�_fgStrokeRoman�_fgStrokeMonoRoman�_fgFontFixed8x13�_fgFontFixed9x15�_fgFontHelvetica10�_fgFontHelvetica12�_fgFontHelvetica18�_fgFontTimesRoman10�_fgFontTimesRoman24�_fgWarning�_glBegin@4�_glVertex2f@8�_glTranslatef@12�_glPushClientAttrib@4�_glPixelStorei@8�_glBitmap@28�_glPopClientAttrib@0� /61 1264195963 500 500 100664 140654 ` L����� .�‘����.text������������������������������� �0`.data�����������à��´���”ç���������@�`À.bss��������������������������������€�0À.rdata�����������Ê��”��”-��������@�`@X��g��v��…��”��£��²��Á��Ð��ß��î��ý�� ����*��9��H��W��f��u��„��“��¢��±��À��Ï��Þ��í��ü�� ����)��8��G��V��e��t��ƒ��’��¡��°��¿��Î��Ý��ì��û�� ����(��7��F��U��d��s��‚��‘�� ��¯��¾��Í��Ü��ë��ú�� ����'��6��E��T��c��r������Ÿ��®��½��Ì��Û��ê��ù������&��5��D��S��b��q��€����ž��­��¼��Ë��Ú��é��ø������%��4��C��R��a��p����Ž����¬��»��Ê��Ù��è��÷�� �� ��$ ��3 ��B ��Q ��` ��o ��~ �� ��œ ��« ��º ��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��É ��Ø ��ç ��ö �� �� ��# ��2 ��A ��P ��_ ��n ��} ��Œ ��› ��ª ��¹ ��È ��× ��æ ��õ �� �� ��" ��1 ��@ ��O ��^ ��m ��| ��‹ ��š ��© ��¸ ��Ç ��Ö ��å ��ô �� �� ��! ��0 ��? ��N ��] ��l ��{ ��Š ��™ ��¨ ��· ��Æ ��Õ ��ä ��ó �� �� �� ��/ ��> ��M ��\ ��k ��z ��‰ ��˜ ��§ ��¶ ��Å ��Ô ��ã ��ò ��������.��=��L��[��j��y��ˆ��—��¦��µ��Ä��Ó��â��ñ���������-��<��K��Z����������������������������������€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À�����@��€��À��� ��@ ��€ ��À ���!��@!��€!��À!���"��@"��€"��À"���#��@#��€#��À#���$��@$��€$��À$���%��@%��€%��À%���&��@&��€&��À&���'��@'��€'��À'���(��@(��€(��À(���)��@)��€)��À)���*��@*��€*��À*���+��@+��€+��À+���,��@,��€,��À,���-��@-��€-��À-���.��@.��€.��À.���/��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��€��@/��€/��À/���0��@0��€0��À0���1��@1��€1��À1���2��@2��€2��À2���3��@3��€3��À3���4��@4��€4��À4���5��@5��€5��À5���6��@6��€6��À6���7��@7��€7��À7���8��@8��€8��À8���9��@9��€9��À9���:��@:��€:��À:���;��@;��€;��À;���<��@<��€<��À<���=��@=��€=��À=���>��@>��€>��À>���?��@?��€?��À?���@��@@��€@��À@���A��@A��€A��ÀA���B��@B��€B��ÀB���C��@C��€C��ÀC���D��@D��€D��ÀD���E��@E��€E��ÀE���F��@F��€F��ÀF���G����������������������������������!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��0G��?G��NG��]G��lG��‰G��˜G��§G��¶G��ÅG��ÔG��ãG��òG��H��H��H��.H��=H��LH��[H��jH��yH��ˆH��—H��¦H��µH��ÄH��ÓH��âH��ñH���I��I��,I��;I��JI��YI��hI��wI��†I��•I��¤I��³I��ÂI��ÑI��àI��ýI�� J��J��*J��9J��HJ��WJ��fJ��uJ��„J��¡J��°J��¿J��ÎJ��ÝJ��ìJ��ûJ�� K��K��(K��7K��FK��UK��dK��sK��‚K��‘K�� K��¯K��¾K��ÍK��ÜK��ëK��úK�� L��L��'L��6L��EL��TL��cL��rL��L��L��ŸL��®L��½L��ÌL��ÛL��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��!G��êL��ùL��M��M��&M��5M��DM��SM��bM��qM��ŽM��M��¬M��»M��ÊM��çM��öM��N��N��#N��2N��AN��PN��_N��nN��}N��ŒN��›N��ªN��ÇN��äN��O��O��O��.O��=O��LO��[O��jO��‡O��–O��¥O��´O��ÃO��ÒO��áO��ðO��ÿO��P��P��,P��;P��JP��YP��hP��wP��†P��•P��¤P��³P��ÂP��ÑP��àP��ïP��þP�� Q��Q��+Q��:Q��IQ��XQ��gQ��vQ��…Q��”Q��£Q��²Q��ÁQ��ÐQ��ßQ��îQ��ýQ�� R��R��*R��9R��HR��WR��fR��uR��„R��“R��¢R��±R��ÀR��ÏR����������������������������������ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ïR���S��S��"S��@S��€S��¡S��²S��ÃS��ÔS��åS��öS��T��T��)T��:T��KT��\T��mT��~T��T�� T��±T��ÂT��ÓT��äT��õT��U��U��(U��9U��`U�� U��ÁU��àU�� V��AV��RV��€V��ÀV��áV��òV��W��W��@W��€W��ÀW��áW���X��!X��2X��CX��TX��€X��ÀX���Y��@Y��€Y��¡Y��²Y��ÃY��ÔY��åY��öY��Z��Z��)Z��:Z��KZ��\Z��mZ��~Z��Z�� Z��±Z��ÂZ��àZ��[��[��#[��4[��E[��V[��g[��x[��‰[�� [��Á[��Ò[��ã[��ô[��\��\��'\��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��ÞR��8\��I\��Z\��k\��|\��\��ž\��¯\��À\��à\��]��]��#]��4]��`]��]��’]��£]��´]��Å]��Ö]��ç]��ø]�� ^��^��+^��<^��M^��`^�� ^��à^��_�� _��`_�� _��à_�� `��``�� `��à`��a��a��#a��4a��Ea��Va��ga��xa�� a��àa�� b��`b�� b��àb�� c��Ac��`c��c��’c��£c��´c��àc��d��d��#d��4d��Ed��Vd��gd��xd�� d��Ád��Òd��ãd��ôd��e��e��'e��8e��Ie��Ze��ke��|e��e��že��¯e��Àe��Ñe��âe��óe��f��f��&f��7f��Hf��Yf����������������������������������jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��‚f��šf��Àf���g��@g��€g��¯g��Çg��ßg��÷g�� h��Oh��€h��¯h��Çh��àh�� i��`i�� i��ài�� j��`j�� j��àj�� k��Ok��gk��€k��Àk���l��@l��€l��àl�� m��`m�� m��àm�� n��`n�� n��Ïn���o��@o��€o��Ào���p��@p��€p��Àp���q��@q��€q��Àq���r��@r�� r��àr�� s��Os��gs��s�� s��às��t��@t��€t��Àt���u��@u��ou�� u��àu��v��'v��@v��ov�� v��àv�� w��`w�� w��Ïw���x��/x��`x�� x��àx�� y��`y�� y��Ïy��çy��ÿy�� z��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��jf��Oz��gz��€z��Àz���{��@{��o{�� {��Ï{���|��/|��`|�� |��Ï|���}��/}��G}��`}��}��§}��¿}��à}�� ~��O~��g~��~��—~��À~�����@��€��À���€��@€��€€��À€�����@��€��à�� ‚��`‚�� ‚��à‚��ƒ��'ƒ��?ƒ��Wƒ��€ƒ��Àƒ���„��@„��€„��À„���…��@…��€…��À…���†��@†��€†��À†���‡��@‡��€‡��À‡���ˆ��@ˆ��€ˆ��Àˆ���‰��@‰��€‰��À‰���Š��@Š��oŠ��‡Š��ŸŠ��·Š��àŠ�� ‹��`‹�� ‹��à‹�� Œ��`Œ�� Œ��àŒ�� ��`�� ��à�� Ž��`Ž�� Ž����������������������������������ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÞŽ��íŽ��üŽ�� ����)��8��G��V��e��t��ƒ��’��¡��°��¿��Î��Ý��ì��û�� ����(��7��F��U��d��s��‚��‘�� ��¯��Ì��Û��ê��ù��‘��‘��&‘��5‘��D‘��S‘��b‘��q‘��€‘��‘��¬‘��»‘��Ê‘��Ù‘��è‘��÷‘��’��’��$’��A’��P’��_’��n’��}’��Œ’��›’��ª’��¹’��È’��×’��æ’��õ’��“��“��"“��1“��@“��O“��^“��m“��|“��‹“��š“��©“��¸“��Ç“��Ö“��å“��ô“��”��”��!”��0”��?”��N”��]”��l”��{”��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��ÏŽ��Š”��™”��¨”��·”��Æ”��Õ”��ä”��ó”��•��•��.•��=•��L•��[•��j•��‡•��–•��¥•��´•��Õ��Ò•��á•��ð•��ÿ•��–��–��,–��;–��J–��Y–��h–��w–��†–��•–��¤–��³–��–��Ñ–��à–��ý–�� —��—��*—��9—��H—��W—��f—��u—��„—��“—��¢—��±—��À—��Ï—��Þ—��í—��ü—�� ˜��˜��)˜��8˜��G˜��V˜��e˜��t˜��ƒ˜��’˜��¡˜��°˜��¿˜��Θ��ݘ��ì˜��û˜�� ™��™��(™��7™��F™��U™��d™��s™��‚™��‘™�� ™��¯™��¾™��Í™��Ü™��ë™��ú™�� š��š��'š��6š��Eš����������������������������������Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��rš�� š��àš�� ›��`›��À›��œ��6œ��Tœ��€œ��Àœ��ûœ�� ��[��y�� ��à�� ž��`ž�� ž��àž�� Ÿ��`Ÿ�� Ÿ��àŸ�� ��9 ��` ��  ��à �� ¡��`¡��À¡�� ¢��`¢�� ¢���£��@£��€£��à£��8¤��`¤�� ¤���¥��@¥�� ¥���¦��`¦�� ¦���§��@§��€§��À§�� ¨��€¨��à¨��@©��€©��»©��Ù©��÷©�� ª��`ª��›ª��Àª���«��@«��€«��À«��û«�� ¬��`¬��›¬��¹¬��à¬��­��@­�� ­��à­�� ®��`®��›®��À®��û®�� ¯��`¯�� ¯���°��@°��€°��À°��û°�� ±��`±��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��Tš��›±��¹±��à±�� ²��`²�� ²��Û²���³��;³��`³��¸³��à³�� ´��`´�� ´��ø´�� µ��`µ��›µ��¹µ��×µ���¶��@¶��{¶��™¶��·¶��Õ¶���·��@·�� ·���¸��`¸�� ¸���¹��`¹��À¹�� º��€º��àº��@»��€»��À»���¼��@¼��{¼��™¼��·¼��Õ¼���½��`½��À½�� ¾��€¾��à¾��@¿�� ¿��à¿��@À�� À���Á��`Á��ÀÁ���Â��@Â��€Â��ÀÂ���Ã��@Ã��€Ã��ÀÃ���Ä��@Ä��€Ä��ÀÄ���Å��@Å��{Å��™Å��·Å��ÕÅ���Æ��@Æ��€Æ��ÀÆ���Ç��@Ç��€Ç��ÀÇ���È��@È��€È��ÀÈ���É��@É��€É��ÀÉ����������������������������������-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1������������������������@@-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1����T��������� ��������€@-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1���¨���������@��������@@-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1������������` ��������€@-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1���X��������€�������� @-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1���°�������� ��������€@-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1����������À��������à@���ª�‚�‚�‚�ª������8|þ|8����ªUªUªUªUªUªUª���® à  ����� Ž€À€à����� l€€€`����� €€����������$$������|�|������¨   À�����.PPˆˆ���������ð�ð���������������������ÿ�������������ÿ����������ÿ����������ÿ����������ÿ����������ÿ��������������ð�������ÿ�ÿ����������þ�0À0�������þ�àà�������DDDDDþ�������� ~~������Üb p "��������������������������������������������$$$������$$~$~$$������x8PP<�����D*$$R"�����:DJ0HH0�������������@08����������  �������$~$���������|������@08����������������~��������8������������€€@ �����$BBBBB$�����|P0�����~@ BB<�����<B~�����~DD$ �����<Bb\@@~�����<BBb\@@ ����� ~�����<BBB<BBB<�����8:FBB<����8��8������@08��8������� �������~��~��������@  @������BB<�����<@JVRNBB<�����BBB~BBB$�����üBBB|BBBü�����<B@@@@@B<�����üBBBBBBBü�����~@@@x@@@~�����@@@@x@@@~�����:FBN@@@B<�����BBBB~BBBB�����||�����8D�����BDHP`PHDB�����~@@@@@@@@�����‚‚‚’’ªÆ‚‚�����BBBFJRbBB�����<BBBBBBB<�����@@@@|BBB|����<JRBBBBB<�����BDHP|BBB|�����<B<@@B<�����þ�����<BBBBBBBB�����(((DDD‚‚�����Dª’’’‚‚‚‚�����‚‚D((D‚‚�����(D‚‚�����~@@ ~�����< <����� @€€�����xx�����������D(����þ��������������������8�����:FB><��������\bBBb\@@@�����<B@@B<��������:FBBF:�����<B@~B<�������� | "���<B<@8DD:��������BBBBb\@@@�����|0�����8DD �������BDHpHD@@@�����|0�����‚’’’’ì��������BBBBb\��������<BBBB<������@@@\bBb\������:FBF:�������� "\��������<B 0B<��������" | ������:DDDDD��������((DDD��������Dª’’‚‚��������B$$B������<B:FBBB��������~ ~��������0����������p p�����������HT$��������������������������8TPPT8�����Üb p "������B<$$<B�������||(D‚‚�����������$$$ $������������l������8D’ª¢ª’D8������|�<D<8������$HH$�������~�������������<����������8Dª²ªª’D8������������~����������$$������|�|����������x@0H0��������0HH0���������������@ZfBBBB��������4ttt>����������������������������������p ` �������x�0HH0������H$$H������ æB@@À@���� òL@@À@���� f’ `����<BB@ ������BB~BB$�����BB~BB$�����BB~BB$�$����BB~BB$�L2����BB~BB$�$$����BB~BB$$����žðœn���<B@@@@@B<�����~@@x@@~�����~@@x@@~�����~@@x@@~�$����~@@x@@~�$$����||� ����||�����||�$����||�((����xDBBâBBDx�����‚†Š’¢Â‚�˜d����|‚‚‚‚‚|� ����|‚‚‚‚‚|�����|‚‚‚‚‚|�$����|‚‚‚‚‚|�˜d����|‚‚‚‚‚|�((�����B$$B������@<bRRRJJF<����<BBBBBB�����<BBBBBB�����<BBBBBB�$����<BBBBBB�$$����(DD�����@@@|BBB|@�����\BBLPHDD8�����:FB><������:FB><������:FB><��$����:FB><��L2����:FB><��$$����:FB><�$����l’|l������<B@@B<��������<B@~B<������<B@~B<������<B@~B<��$����<B@~B<��$$����|0�� ����|0�� ����|0��H0����|0��((����<BBBB<($����BBBBb\��L2����<BBBB<�� ����<BBBB<������<BBBB<��$����<BBBB<��L2����<BBBB<��$$������|������@<bRJF<�������:DDDDD�� ����:DDDDD������:DDDDD��$����:DDDDD��((��<B:FBBB����@@\bBBb\@@����<B:FBBB��$$������������������������ ��������[�@��A�@��A�@��m������������������������������������ ����������>��ÿ€�>���������������������������������������� ��ª€U�ª€U�ª€U�ª€U�ª€U�ª€U�ª€U�ª€������������������������������� ���������������H�H�x�H�H���������������������������������� ������������H�O�@�p�@�x������������������������������������ �������� � �� ����8�@�@�@�8���������������������������������� ���������������x�@�@�@�@���������������������������������� �������������������� ��� ������������������������������������ ������������������������������������������������������� ���������������D�L�T�d�D���������������������������������� ����������������(�(�D�D���������������������������������� ����������������ø��������������������������������������� ���������ø���������������������������������������������� ���������€��������������������������������������������� ����������������€�������������������������������������� ���������ÿ€�������������������������������������� ������������������������������ÿ€������������������������������� ������������������������ÿ€������������������������������������� ����������������ÿ€��������������������������������������������� ��������ÿ€����������������������������������������������������� ��ÿ€����������������������������������������������������������� ���������€�������������������������������������� ���������ø��������������������������������������� ����������������ÿ€�������������������������������������� ���������ÿ€��������������������������������������������� ������������������������������������������������ ���������������`������������������������������������������ �������������`����`���������������������������������������� ��������"�"�"�"�"�"������������������������������������������� �������������������������������������������������������� ��������.�Q�0���|���������������������������������������� ���������������� � �������������������������������������������� ��������������������������������������������������������������� ������������������������������������������������������ ������������������������������������������������������������ ����������$�$�~�$�$�~�$�$�������������������������������������� �������>�I� � � ��(�H�I�>����������������������������������� ��������B�%�%����$�R�R�!������������������������������������ ��������1�J�D�J�1�0�H�H�H�0������������������������������������ ����������������������������������������������������������� ��������������������������������������������������� ��������������������������������������������������� �����������I�*��*�I����������������������������������������� �������������������������������������������������������� ����� � ���������������������������������������������������� �������������������������������������������������������������� �������� � ���������������������������������������������������� ��������@� � ������������������������������������������� ���������"�A�A�A�A�A�A�"������������������������������������� ��������������H�(�������������������������������������� ���������@� �����A�A�>������������������������������������ ��������>�A�������������������������������������������� ������������B�"�� �������������������������������������� ��������>�A����a�^�@�@������������������������������������� ��������>�A�A�A�a�^�@�@� ������������������������������������� �������� � �������������������������������������������� ���������"�A�A�"��"�A�"������������������������������������� ��������<����=�C�A�A�A�>������������������������������������ �������� � ������� � ������������������������������������������ ����� � ������� � ������������������������������������������ ������������ � ���������������������������������������� ������������������������������������������������������������� �������� ��������� ������������������������������������ ����������������A�A�>������������������������������������ ��������>�@�@�M�S�Q�O�A�A�>������������������������������������ ��������A�A�A��A�A�A�"�������������������������������������� ��������~�!�!�!�!�~�!�!�!�~������������������������������������ ��������>�A�@�@�@�@�@�@�A�>������������������������������������ ��������~�!�!�!�!�!�!�!�!�~������������������������������������ ��������� � � � �<� � � ������������������������������������� �������� � � � � �<� � � ������������������������������������� ��������>�A�A�A�G�@�@�@�A�>������������������������������������ ��������A�A�A�A�A��A�A�A�A������������������������������������ ��������>���������>������������������������������������ ��������<�B��������€����������������������������������� ��������A�B�D�H�P�p�H�D�B�A������������������������������������ ���������@�@�@�@�@�@�@�@�@������������������������������������ ��������A�A�A�I�I�U�U�c�A�A������������������������������������ ��������A�A�A�C�E�I�Q�a�A�A������������������������������������ ��������>�A�A�A�A�A�A�A�A�>������������������������������������ ��������@�@�@�@�@�~�A�A�A�~������������������������������������ ������>�I�Q�A�A�A�A�A�A�>������������������������������������ ��������A�A�B�D�H�~�A�A�A�~������������������������������������ ��������>�A�A���8�@�A�A�>������������������������������������ ����������������������������������������������������� ��������>�A�A�A�A�A�A�A�A�A������������������������������������ ������������"�"�"�A�A�A������������������������������������ ��������"�U�I�I�I�I�A�A�A�A������������������������������������ ��������A�A�"�����"�A�A������������������������������������ ���������������"�A�A������������������������������������ ���������@�@� ������������������������������������������ ��������������������������������������������������� ��������������� � �@������������������������������������ ������<�����������<���������������������������������� ��������������������A�"�������������������������������������� ������ÿ�������������������������������������������������������� �������������������������0���������������������������������� ��������=�C�A�?���>������������������������������������������ ��������^�a�A�A�A�a�^�@�@�@������������������������������������ ��������>�A�@�@�@�A�>������������������������������������������ ��������=�C�A�A�A�C�=��������������������������������������� ��������>�@�@��A�A�>������������������������������������������ ������������|����������������������������������������� ��>�A�A�>�@�<�B�B�B�=������������������������������������������ ��������A�A�A�A�A�a�^�@�@�@������������������������������������ ��������>������8����������������������������������������� ��<�B�B�B����������������������������������������������� ��������A�F�X�`�X�F�A�@�@�@������������������������������������ ��������>���������8������������������������������������ ��������A�I�I�I�I�I�v������������������������������������������ ��������A�A�A�A�A�a�^������������������������������������������ ��������>�A�A�A�A�A�>������������������������������������������ ��@�@�@�^�a�A�A�A�a�^������������������������������������������ �����=�C�A�A�A�C�=������������������������������������������ �������� � � � �!�1�N������������������������������������������ ��������>�A��>�@�A�>������������������������������������������ ��������������~���������������������������������������� ��������=�B�B�B�B�B�B������������������������������������������ �����������"�"�A�A������������������������������������������ ��������"�U�I�I�I�A�A������������������������������������������ ��������A�"����"�A������������������������������������������ ��<�B��:�F�B�B�B�B�B������������������������������������������ ��������� ����������������������������������������������� ��������������������������������������������������� ��������������������������������������������������� ������p����� � �����p���������������������������������� ����������������������F�I�1������������������������������������ ��������������������������������������������������������������� ������������������������������������������������������ �������� �<�R�P�H�J�<����������������������������������������� ��������.�Q�0���|���������������������������������������� ��������������A�>�"�"�>�A�������������������������������������� �����������>��>��"�A�A������������������������������������ ����������������������������������������������������� �������$���$�$�$�� �$������������������������������������� ��������������������������"�"���������������������������������� ����������<�B�™�¥�¡�¥�™�B�<������������������������������������ ��������������|���<�H�8�H�0������������������������������������ ���������� ��$�H�H�$�� �������������������������������������� ���������������~�������������������������������������������� ����������������>���������������������������������������������� ����������<�B�¥�©�¹�¥�¹�B�<������������������������������������ ��������������������������~������������������������������������ �������������������� ��� ������������������������������������ ������������������������������������������������������� ����������������x�@�0��H�0������������������������������������ ����������������0�H���H�0������������������������������������ ������������������������������������������������������������ ����@�@�]�c�A�A�A�A�A������������������������������������������ �������������=�E�E�E�?������������������������������������ ���������������� � �������������������������������������������� ���$� �������������������������������������������������������� ����������������p� � � �`� ������������������������������������ ����������������|���8�D�D�8������������������������������������ ����������H�$�� � ��$�H�������������������������������������� ��������� � ��s�!� � �`� ������������������������������������ ������������y�&� � �`� ������������������������������������ ��������� � ��3�I���H�0������������������������������������ ��������>�A�A�@� ������������������������������������������ ��������A�A�A��A�A�"������ �������������������������������� ��������A�A�A��A�A�"�������������������������������������� ��������A�A�A��A�A�"����"���������������������������������� ��������A�A�A��A�A�"����N�1���������������������������������� ��������A�A�A��A�A�"����"�"���������������������������������� ��������A�A�A��A�A�"���"����������������������������������� ��������O�H�H�H�~�H�H�H�H�7������������������������������������ ���$� �>�A�@�@�@�@�@�@�A�>������������������������������������ ��������� � � �<� � ������ �������������������������������� ��������� � � �<� � �������������������������������������� ��������� � � �<� � ����"���������������������������������� ��������� � � �<� � ����"�"���������������������������������� ��������>�������>����� �������������������������������� ��������>�������>������������������������������������� ��������>�������>���"���������������������������������� ��������>�������>���"�"���������������������������������� ��������|�!�!�!�!�á�!�!�!�|������������������������������������ ��������A�C�E�I�I�Q�a�A���N�1���������������������������������� ��������>�A�A�A�A�A�A�>����� �������������������������������� ��������>�A�A�A�A�A�A�>������������������������������������� ��������>�A�A�A�A�A�A�>���"���������������������������������� ��������>�A�A�A�A�A�A�>���N�1���������������������������������� ��������>�A�A�A�A�A�A�>���"�"���������������������������������� ����������A�"����"�A���������������������������������������� ������@�>�a�Q�Q�I�I�E�E�C�>����������������������������������� ��������>�A�A�A�A�A�A�A����� �������������������������������� ��������>�A�A�A�A�A�A�A������������������������������������� ��������>�A�A�A�A�A�A�A���"���������������������������������� ��������>�A�A�A�A�A�A�A���"�"���������������������������������� �������������"�A�A������������������������������������� ��������@�@�@�~�A�A�A�~�@�@������������������������������������ ��������,�"�"�"�$�h�$�"�"������������������������������������� ��������=�C�A�?���>��������������������������������������� ��������=�C�A�?���>��������������������������������������� ��������=�C�A�?���>���"������������������������������������ ��������=�C�A�?���>���&������������������������������������� ��������=�C�A�?���>���"�"������������������������������������ ��������=�C�A�?���>��� �� ���������������������������������� ��������7�I�H�>� �I�6������������������������������������������ ���$� �>�A�@�@�@�A�>������������������������������������������ ��������>�@�@��A�A�>����� ���������������������������������� ��������>�@�@��A�A�>��������������������������������������� ��������>�@�@��A�A�>���"������������������������������������ ��������>�@�@��A�A�>���"�"������������������������������������ ��������>������8����� ���������������������������������� ��������>������8��������������������������������������� ��������>������8���D�(����������������������������������� ��������>������8���$�$������������������������������������ ��������>�A�A�A�A�A�>��(��$���������������������������������� ��������A�A�A�A�A�a�^���N�1������������������������������������ ��������>�A�A�A�A�A�>����� ���������������������������������� ��������>�A�A�A�A�A�>��������������������������������������� ��������>�A�A�A�A�A�>���"������������������������������������ ��������>�A�A�A�A�A�>���N�1������������������������������������ ��������>�A�A�A�A�A�>���"�"������������������������������������ �������������������������������������������������������� ������@�>�Q�Q�I�E�E�>����������������������������������������� ��������=�B�B�B�B�B�B����� ���������������������������������� ��������=�B�B�B�B�B�B��������������������������������������� ��������=�B�B�B�B�B�B���"������������������������������������ ��������=�B�B�B�B�B�B���$�$������������������������������������ ��<�B��:�F�B�B�B�B�B��������������������������������������� ��@�@�@�^�a�A�A�a�^�@�@�@�������������������������������������� ��<�B��:�F�B�B�B�B�B���$�$����������������������@�@@@@@@������������PP������PPø(|((������ p¨(p ¨p ��� ������&�)����h�”�d����������2LLR0((�����������@ ���� @@€€€€@@ ����@  @����������� @ ������� ø ������€@@����������������|����������@�������������€€@@@@ ������pˆˆˆˆˆˆp������ ` ������ø€@0ˆp������pˆ0ˆp������øPP0������pˆð€€ø������pˆˆÈ°€ˆp������@@ ø������pˆˆˆpˆˆp������pˆh˜ˆˆp������@����@������€@@����@��������� @ ����������ð�ð����������@  @�������� � H0��� ��>�@�›�¤€¤€¢@’@M@ €����������‚‚|D((������xDDDxDDx������<B@@@@B<������xDBBBBDx������|@@@|@@|������@@@@x@@|������:FBF@@B<������BBBB~BBB������@@@@@@@@������`������DDHHpPHD������x@@@@@@@��� ������I�I�I�U�U�c�c�A����������FFJJRRbb������<BBBBBB<������@@@@xDDx�����>FJBBBB<������DDDDxDDx������8DD8@D8������ ø������<BBBBBBB������((DDD‚‚��� ������"�"�"�U�I�I�ˆ€ˆ€���������DD(((DD������((DD‚������|@ |����`@@@@@@@@`������ @@@@€€����À@@@@@@@@À���������ˆPP ����ü��������������������?@ ������hpà��������°ÈˆˆÈ°€€������`€€`��������h˜ˆˆ˜h������`€ð`��������@@@@@à@0����ph˜ˆˆ˜h��������ˆˆˆˆÈ°€€������€€€€€€�€�����€€€€€€€�€������ À €€������€€€€€€€€������’’’’’ì��������ˆˆˆˆÈ°��������pˆˆˆˆp������€€°ÈˆˆÈ°������h˜ˆˆ˜h��������€€€€À ��������```��������`@@@@à@@������p�������� PPˆˆ��������((TT’’��������ˆˆP Pˆ������€@@`  ��������ð€@ ð������ @@@@€@@@ ����@@@@@@@@@@����€@@@@ @@@€���������˜d���������������������@@@@@@�@�������@p¨  ¨p�������°H@@à@H0�������``������� ø øPPˆˆ����@@@@��@@@@����pˆpȘpÀˆp������������� ��� �������"�M�Q�M�"����������������à�  à������(P P(�����������|������������à������� �������"�U�Y�]�"��������������������à���������``�������ø� ø ����������à@ `����������À @à�������������€@����€€ð������(((((hèèè|���������À��������À@�����������������@@À@����������à�à à������ P(P ������ ������!�€� �H�D�Ä�B������� ������'��� �H�D�Ä�B������� ������!�€� �È�$�D�â��������0H@ ���������‚‚|D((� ���‚‚|D((����‚‚|D((�(���‚‚|D((�(���‚‚|D((�(����‚‚|D((( ������€ˆ�x�H�/€(��€�������<B@@@@B<������|@@@|@@|� ���|@@@|@@|����|@@|@@@|�(���|@@@|@@|�(����@@@@@@@@�@€���@@@@@@@@�@ ���@@@@@@@@� @���@@@@@@@@� ����xDBBòBDx������FFJJRRbb�(���<BBBBBB<����<BBBBBB<����<BBBBBB<����<BBBBBB<�(���<BBBBBB<�$�����ˆP Pˆ�������@<bRRJJF<�����<BBBBBBB����<BBBBBBB����<BBBBBBB����<BBBBBBB�$����((DD‚����@@xDDx@@������  `������hpà� @�����hpà� �����hpà�P �����hpà� P�����hpà�P������hpà P �����l’~ì������` `€€`��������`€ð`� @�����`€ð`�@ �����`€ð`�P �����`€ð`�P������€€€€€€�€������€€€€€€�€@�����€€€€€€�@€�����@@@@@@� ������pˆˆˆˆx`P�����à� P�����pˆˆˆˆp� @�����pˆˆˆˆp� �����pˆˆˆˆp�P �����pˆˆˆˆp�P(�����pˆˆˆˆp�P������� �ø� ��������pˆÈ¨˜t��������p� @�����p�@ �����p�P �����p�P����€@@`  � ���€€°ÈˆˆÈ°€€����€@@`  �P�����������������������@�@@@@@@@�������������PPP�������PPPü(ü((�������8TT8PT8���������������� ��������€ @ @ €�4�J�J�1�������������������������������������� ��������9�F�B�E�(��$�$������������������@ `���� @@@@@@ ����€@@ @@€�������������P P��������|��������@ ������������������|������������@���������������€€@@@ �������8DDDDDDD8�������p�������|@@ D8�������8DDD8�������üˆH((�������8DDx@@|�������8DDDdX@D8������� |�������8DDDD8DD8�������8D<DDD8�������@����@��������€@@����@����������� 0À0 ������������|�|������������``�����������DD8������������������������� ������� �M€S@Q Q I & 0@€������������������������������������� ��������A�A�A�>�"�"��������������|BBB|BBB|����������������� ���������!�@�@�@�@�@�!��������������������������������������� ��������|�B�A�A�A�A�A�B�|�����������~@@@~@@@~�������@@@@|@@@~�������������������������������� ���������#�A�A�G�@�@�!��������������������������������������� ��������A�A�A�A��A�A�A�A�����������@@@@@@@@@�������8DD�������ABDHpPHDB�������|@@@@@@@@������������������������������ ��������D@D@J@J@Q@Q@`À`À@@������������������������������������� ��������A�C�E�E�I�Q�Q�a�A�������������������������������������� ���������!�@€@€@€@€@€!������������@@@@|BBB|����������������� ��������€!�B€D€@€@€@€!������������BBBD|BBB|�������<BB 0@B<�������þ�������<BBBBBBBB������������������������������ ������������"�"�"�A�A�������������������������������������� �����������*€*€$€D@D@D@������������������������������������� ��������A�"�"����"�"�A�������������������������������������� �������������"�"�A�A�������������������������������������� ���������@� ��������������`@@@@@@@@@@`������� @@€€����À@@@@@@@@@@À������������ˆP ������þ�����������������������À€@�������:DD<D8���������XdDDDdX@@�������8D@@@D8���������4LDDDL4�������8D@|DD8���������@@@@@@à@0����8D4LDDDL4���������DDDDDdX@@�������@@@@@@@�@����€@@@@@@@@@�@�������DHP``PH@@�������@@@@@@@@@���������������� ��������I�I�I�I�I�m�R���������������DDDDDdX���������8DDDDD8������@@@XdDDDdX������4LDDDL4���������@@@@@`P���������0H0@H0���������`@@@@@à@@�������4LDDDDD���������((DDD����������� ��������"�"�U�I�I�ˆ€ˆ€��������������„„H00H„������@ ((HDDD���������x@ x������0@@@@@€@@@@0����@@@@@@@@@@@@����À  À����������˜d������������������������@@@@@@@@�@�������� 8dPPPT8��������X$x $��������„xHHx„���������||(DD�����@@@@���@@@@����pˆ0Hˆˆ`€ˆp��������������� ������������������ ��������� €N@Q@P@Q@N@ €���������������p�Pp��������(P(������������~�������������ð����������������������������������� ��������� €J@J@L@J@N@ €�������������������ð�����������``��������|�|������������ð@ `�����������À @ à����������������€@���@@@tLDDDDD������((((((hèèèh<����������@���������À @������������������ ` ������������p�pPp��������P((P�������� ��������A�'€��I�D�D�Â�A�������������������������������������� ��������G€"��€K�H�D�Â�A�������������������������������������� ��������!�€� �É�$�D�"�á��������8DD ��������������������� ��������A�A�A�>�"�"��������������������������������������� ��������A�A�A�>�"�"��������������������������������������� ��������A�A�A�>�"�"��������������������������������������� ��������A�A�A�>�"�"������� �������������������������������� ��������A�A�A�>�"�"���������������������������������������� ��������A�A�A�>�"�"�������������������������������������� ��������GÀD�D�<�'À$���À������������������������������������� ������!�@�@�@�@�@�!������������~@@@~@@@~�����~@@@~@@@~�����~@@@~@@@~�����~@@@~@@@~������@@@@@@@@@�@€����@@@@@@@@@�@ ����@@@@@@@@@� @����@@@@@@@@@� ������������������������ ��������|�B�A�A�ñ�A�A�B�|�������������������������������������� ��������A�C�E�E�I�Q�Q�a�A���� �������������������������������� ���������!�@€@€@€@€@€!������������������������������������� ���������!�@€@€@€@€@€!������������������������������������� ���������!�@€@€@€@€@€!���� ��������������������������������� ���������!�@€@€@€@€@€!����� �������������������������������� ���������!�@€@€@€@€@€!������������D((D�������������������� ������€�^�!�P€H€D€D€B€!�€�@��������<BBBBBBBB�����<BBBBBBBB�����<BBBBBBBB�����<BBBBBBBB�$���������������������������� �������������"�"�A�A���������@@|BBB|@@�������XDDDXDDD8�������:DD<D8�������:DD<D8�������:DD<D8�(������:DD<D8�(������:DD<D8�(�������:DD<D8$������������������������� ��������;€D@D�?À@D@;€�����������08D@@@D8���������8D@|DD8� ������8D@|DD8�������8D@|DD8�(������8D@|DD8�(�������@@@@@@@�@€������@@@@@@@�@ ������@@@@@@@� @������@@@@@@@� �������8DDDD<(4������DDDDDdX�(������8DDDDD8� ������8DDDDD8�������8DDDDD8�(������8DDDDD8�(������8DDDDD8�(���������|�����������¸DdTLD:���������4LDDDDD� ������4LDDDDD�������4LDDDDD�(������4LDDDDD�(����@ ((HDDD����@@@XdDDDdX@@����`(($DD�(�������������������������������00�� 00000000������������������ØØØ������������������ ����������$�$�$�ÿ€ÿ€���ÀÀ � � ���������������������������� ���������?€uÀdÀÀ€�<�t�d�e€?€������������������������������������� < ~ff~<€=€~ÀfÀf`~`<0��������������������������� ����������8?psàaÀaàc`w`>��3�3�?��������������������������@ ``�����00``````````00�����@`0000`@�����������������D88|��������������������� ���������� � � � �€€ � � � �������������������@ ``����������������������������������������� ������������������€€�����������������������������``���������������������ÀÀ@@`` 00����� �����������?�3�a€a€a€a€a€a€a€3�?����������������������������� ��������������������>�>����������������������������� ����������€€`�p�8����€€a€����������������������������� �����������?�c€a€€€���a€a€?����������������������������� ����������€€€ÀÀa€1€€€ €€€€��������������������������� ����������>��c€a€€€c€�~�`�`������������������������������ �����������?�q€a€a€a€�n�`�`�1€?€���������������������������� ����������0�0���� � ����€€€��������������������������� �����������?�s€a€a€3�?�3�a€a€s€?����������������������������� ����������>��c�€€€?€a€a€a€c€?�����������������``������``����������@ ``������``��������� ����������€€�8�`�8��€€����������������������������������� ��������������?€?€����?€?€������������������������������������� ����������`�x���€��x�`������������������������������������ ����������������������c�c��>��������������������������������ð�ø���8��3¸�gü�ff�f3�f3�f1€c€3¹€1Ù€��þ�ø��������������������������������������� ����������À0À0````à?À0À0À€€����������������������������� ����������Àà`p`0`0`pàÀ`À`````àÀ€�����������������������������������Àð880p�`�`�`�`�p�088ðÀ������������������������� ����������€À`à```0`0`0`0`0`0```àÀ€������������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ������������������������� ����������`�`�`�`�`�`�€€`�`�`�`�ÀÀ�����������������������������������Øø880p`ø`ø`�`�p088ðÀ������������������������� ����������`0`0`0`0`0`0ðð`0`0`0`0`0`0�������������00000000000000����������������������������� �����������?�s€a€a€€€€€€€€€€������������������������� ����������`8`p`àaÀc€g�~�|�n�g�c€aÀ`à`p������������������������� ����������€€`�`�`�`�`�`�`�`�`�`�`�`������������������������������������a†a†cÆbFffffl6l6xxpp``������������������������� ����������`0`p`ð`ða°c0c0f0f0l0x0x0p0`0�����������������������������������Àð880p` ` ` ` p088ðÀ������������������������� ����������`�`�`�`�`�`�€À`à`````àÀ€����������������������������������Øð8x0ØpÜ` ` ` ` p088ðÀ������������������������� ����������`````````À`À€À`à`````àÀ€������������������������� ����������€?àpp`0�0�pà€>�p�`0pp?à€������������������������� ����������������������àà������������������������� ����������€?à0``0`0`0`0`0`0`0`0`0`0`0������������������������������������€€ À À À```000000``���������������������������������������� � ���6�6�33�33�1#�1ã�aá€`Á€`Á€`Á€�������������������������������������� ����������`0pp0`8àÀ €�� €À8à0`pp`0�����������������������������������������€ À``0000``������������������������� ����������àà`�0�� ����€�À�`àà���������xx``````````````xx���������00 ``@@ÀÀ�����ðð00000000000000ðð������������� ��������������������������A�c�6������������������������������ ��ÿÀÿÀ������������������������������������������������������``@@ ����������������������������� ����������;�w�c�c�s�?��c�w�>���������������������������������� ����������o�€q€`À`À`À`Àq€€o�`�`�`�`�������������������������� �����������?€1€`�`�`�`�1€?€���������������������������������� ����������À?À1À`À`À`À`À1À?ÀÀ�À�À�À�À������������������������� �����������?€q€`�`�€a€a€?�����������������������00000000üü00<����������������������������� ���?€1€�ÀÀ?À1À`À`À`À`À0À?ÀÀ��������������������������������� ����������a€a€a€a€a€a€a€q€o€g�`�`�`�`��������������``````````��``�����Àà````````````��``����� ����������c€c�g�f�l�|�x�l�f�c�`�`�`�`��������������``````````````���������������������������������������cccccccs˜oxf0��������������������������������� ����������a€a€a€a€a€a€a€q€o€g���������������������������������� �����������?€1€`À`À`À`À1€?€���������������������������������� ��`�`�`�`�o�€q€`À`À`À`Àq€€o���������������������������������� ���À�À�À�ÀÀ?À1À`À`À`À`À1À?ÀÀ���������������������```````pll��������������������������������� ����������<�~�c���~�`�c�?�����������������������8000000üü000������������������������������ ����������9€}€c€a€a€a€a€a€a€a€��������������������������������� ���������� � ���3�3�3�a€a€a€������������������������������������������� À Àà 4°3030ccc��������������������������������� ����������a€s€3�� � ��3�s€a€��������������������������������� ��8�8� � � � ���3�3�3�a€a€a€��������������������������������� ������������`�0�� ���������������������� 000000`À`00000 �����``````````````````�����À`000000 00000`À������������� ������������������f�?�€����������������������������������������������00000000��00��������� ���������?€5€d�d�d�d�5€?€�������������������������������� ����������ß�ÿ€`€0���~�0�`�a€a€?����������������������������� ����������������a€€3�3�3�€a€��������������������������������� ���������� � � � �€ �€�3�3�3�a€a€������������``````����```````����������������������������� ���?�a€a€€��9€q€a€c€7�>�x�a€a€?��������������������������ØØ����������������������������������������À0 #ˆDDHHHDD#ˆ 0À���������������������|�4l$d8����������������������������� ������������ ��6�l�l�6�� ������������������������������������ �����������������À�À�ÀÀÀ�����������������������������||�����������������������������������������������À0 $(DDD„GÄD$D$'È 0À���������������������������ø������������������8lDl8������ ����������€€�� � � �€€ � � �������������������������øø`0˜øp���������������pø˜00˜øp���������������������À`0������������� ��`�`�`�`�m€€s€a€a€a€a€a€a€a€��������������������������������� �� � � � � � � � � � ��9�y�y�y�y�9�€�����������������``�������������ðØp`���������������������������00000pp0����������������|�8lDDl8��������������������� ������������H�l�6���6�l�H���������������������������������������������� üØx3811ˆ0À0Àp`p000�������������������������������������|| 0 3L1|1¸0À0Àp`p000������������������������������������� üØxs8ù™ˆ0À0À˜`ø0p0��������������������������� ��>��c�c�p�8�� � � ����� � ���������������������������������� ����������À0À0````à?À0À0À€€������� ������������������� ����������À0À0````à?À0À0À€€��������€����������������� ����������À0À0````à?À0À0À€€������€������������������� ����������À0À0````à?À0À0À€€�������€ €����������������� ����������À0À0````à?À0À0À€€������€€������������������� ����������À0À0````à?À0À0À€€�����€€���������������������������������`ÿ€`ÿ€0À�0À�?À�À�ÿ�ÿ� À� À�À�À�ÿ€ÿ€����������������������������������������� €€�Àð880p�`�`�`�`�p�088ðÀ������������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ��� ������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ����€����������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ��€������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ��€€�������00000000000000�0`À�����00000000000000�0 �����00000000000000�Ìx0�����00000000000000�ÌÌ������������������ ����������€À`à```0`0ü0ü0`0`0```àÀ€������������������������� ����������`0`p`ð`ða°c0c0f0f0l0l0x0p0p0�� € @@���������������������������Àð880p` ` ` ` p088ðÀ��€�����������������������������Àð880p` ` ` ` p088ðÀ��€�À�`���������������������������Àð880p` ` ` ` p088ðÀ��`À€���������������������������Àð880p` ` ` ` p088ðÀ��À  ���������������������������Àð880p` ` ` ` p088ðÀ��ÀÀ������������������� ����������ÀÀa€3�� ��3�a€ÀÀ���������������������������������������������ÇÀÿðx88ln g cŒaÌpÜ0x88üÌ������������������������� ����������€?à0``0`0`0`0`0`0`0`0`0`0`0���� ������������������ ����������€?à0``0`0`0`0`0`0`0`0`0`0`0����€����������������� ����������€?à0``0`0`0`0`0`0`0`0`0`0`0�� À€������������������ ����������€?à0``0`0`0`0`0`0`0`0`0`0`0�� À À�����������������������������������€ À``0000``���€�À����������������� ����������`�`�`�€À`à`````àÀ€`�`�`�������������������������� ����������n�o�c�c�c�c�n�n�c�c�c�c�>��������������������������� ����������;�w�c�c�s�?��c�w�>��� ��0�������������������������� ����������;�w�c�c�s�?��c�w�>���� ��������������������������� ����������;�w�c�c�s�?��c�w�>���3�� �������������������������� ����������;�w�c�c�s�?��c�w�>���&�-��������������������������� ����������;�w�c�c�s�?��c�w�>���6�6���������������������������� ����������;�w�c�c�s�?��c�w�>��6�6�������������������������������������:ðwücŒc�s�?ü c wø>ð��������������������������������� ��<�6����?€1€`�`�`�`�1€?€���������������������������������� �����������?€q€`�`�€a€a€?���� ��0�������������������������� �����������?€q€`�`�€a€a€?���� ���������������������������� �����������?€q€`�`�€a€a€?����3�� �������������������������� �����������?€q€`�`�€a€a€?���������������������``````````�0`À���������``````````�À`0���������``````````�ð`���������``````````�ØØ���������������������� �����������?€1€`À`À`À`À1€?€�&���0�������������������������� ����������a€a€a€a€a€a€a€q€o€g���&�-��������������������������� �����������?€1€`À`À`À`À1€?€���� ��������������������������� �����������?€1€`À`À`À`À1€?€��� ���������������������������� �����������?€1€`À`À`À`À1€?€���€��������������������������� �����������?€1€`À`À`À`À1€?€����€ €������������������������� �����������?€1€`À`À`À`À1€?€�������������������������������� ������������ � ���€€�� � ������������������������������������ ����������Î�€1€xÀlÀfÀcÀ1€?À`��������������������������������� ����������9€}€c€a€a€a€a€a€a€a€��� ��������������������������� ����������9€}€c€a€a€a€a€a€a€a€�� ���������������������������� ����������9€}€c€a€a€a€a€a€a€a€��3�� �������������������������� ����������9€}€c€a€a€a€a€a€a€a€��3�3���������������������������� ��8�8� � � � ���3�3�3�a€a€a€�� ���������������������������� ��`�`�`�`�o�€q€`À`À`À`Àq€€o�`�`�`�`�������������������������� ��8�8� � � � ���3�3�3�a€a€a€��3�3�����������������������������@�@@@@@������������  �������PPøPøPP������ à`€p ������D**V¨¤~�������v˜tnP0������������@À����� @@€€€@@ �����€@@ @@€����������� @ ������� ø �������@@@���������������x�����������@�������������€€@@@ �������``�������p ` �������ð@ `�������à``�������øP0�������àà@p�������`à@0�������@@@ ð�������```�������À p`�������@���@�������@@@���@��������� @ ����������ø�ø����������€@ @€���������@�@@  à��� ����>�@�’�­�¥�¥��B�<�����������îD|((8�������ðHHpHHð�������xÄ€€€Ä|�������øLDDDLø�������øH@p@Hø�������à@@p@Hø�������xÄ„œ€Ä|�������îDD|DDî�������à@@@@@à�������À  p�������ìHP`PHì�������øH@@@@à��� ��������ë€I�U�U�c�c�ã€����������äLLTTdî�������xÌ„„„Ìx�������à@@pHHð����� pÌ„„„Ìx�������ìHPpHHð�������à`Àp�������p ¨ø�������8lDDDDî�������((lDî��� ��������"�"�U�U�É€ˆ€ÝÀ����������îD((Dî�������8((Dî�������øˆ@ ˆø�����À€€€€€€€À������� @@@€€�����À@@@@@@@À�����������PP ����ø����������������������À€������à ` À���������àà€€�������`€€€`���������hp0�������`€À `���������à@@@à@0�����à`@  p���������Øà€€�������@@@@À�@�����€@@@@@À�@�������˜à €€�������à@@@@@À�������Û’’’ì���������Øà���������``�������À€àà�������8pp���������à@@` ���������à `€à���������0@@@à@��������h��������� `PØ���������(lT’Û���������ØP PØ�������€€@` ¸���������ð@ ð������� @@@€@@@ �����€€€€€€€€€�����€@@@ @@@€���������˜d����������������������@@@@@�@��������€à€p��������ðÈ@à@P0��������ˆpPPpˆ�������p ø ØPˆ�������€€€�€€€������à P @p������������P��� ���������"�M�Q�M�"��������������à�  À��������P  P����������|������������à������� ���������"�U�Y�]�"������������������à����������``�������ø� ø ����������à@ `����������À @à������������€@�����€€è�������((((hèèè|���������€��������À @�����������������à@À@���������à�@ @�������� PP ���������D>,ôHÈD�������N$*öHÈD�������D>,Ô(Hä�����à €@@�@���������îD|((8� ����îD|((8�����îD|((8�(����îD|((8�(����îD|((8�(�����îD|((8( ��������ï�I�x�.�(�9���������` xÄ€€€Ä|�������øH@p@Hø� @����øH@p@Hø� ����øH@p@Hø�P ����øH@p@Hø�P�����à@@@@@à�@€����à@@@@@à�@ ����à@@@@@à� @����à@@@@@à� �����øLDäDLø�������äLLTTdî�P(����xÌ„„„Ìx� @����xÌ„„„Ìx�����xÌ„„„Ìx�P ����xÌ„„„Ìx�P(����xÌ„„„Ìx�P�����ˆP Pˆ��������€|fRRJf>������8lDDDDî� ����8lDDDDî�����8lDDDDî�(����8lDDDDî�(�����8((Dî�����à@pHp@à�������àPP`PP �������à ` À�@€������à ` À�@ ������à ` À� @������à ` À� P������à ` À� �������à ` À@ @������Ø p(Ø������À @`€€€`���������`€À `�@€������`€À `�@ ������`€À `� @������`€À `� �������à@@@À�@€������à@@@À�@ ������à@@@À� @������à@@@À� �������`p p@������Øà� P������``� @������``�@ ������``� @������``� P������``� ������� �ø� ���������àp��������h� @������h�@ ������h�P ������h�P�����€À@` ¸� ����À€àà€€�����€À@` ¸� ��������������������������������������������������������������� ��������������������������������������D�f�f�f�f���������������� �������������������àà€€€?ð?ð@@@@@��������������� ������������?�åÀÄÀ„`„``àÀ€�<�t�d�d d`4à€����������������������������������� 9�0€0@0@˜@�ŒÀ�Ç€<`�r �a0�`˜�`ˆ�0Œ�þ��������������������������������������������������?¿�pð€``�`à�`Ð�1�ˆ� ��€�À� `� � �`�À���������������������������������� ��������00````````00�������@    @������������������� ��������������������������������2`:à�:à2`��������������������������������������øø���������������������������080�����������������������������������������������������øø�����������������������������������00������������������������ÀÀÀ@`` 00 �������������� ���������������€0À0Àpà````````````````0À0À€���������������� ��������������?À������������������������������� ��������������Àà0 � ����€€�À�À@À@À!À?€���������������� ��������������<�s�a€�€�À�À�ÀÀ€���A€A€#€?����������������� ��������������€€€€ààa€!€1€€€ € €€€€€��������������� ��������������?�qÀ`À�`�`�`�`�àÀÀ?�<�0���Àà��������������� ���������������=À0Àp``````````ÀyÀw�0�8�� ��à��������������� �������������� � ��������€€�€�À@À``à?à��������������� ���������������9ÀpÀ`````` à0À€��€0À0À0À€���������������� ��������������x���€À�ÀÀ9à0à`````````à0À;À������������������00�������00���������������080�������00�������������������� �����������������0�à€�8�`�8��€�à�0�����������������������������������������������øø����øø����������������������������� ����������������`�8��€�à�0�à€�8�`�������������������������� �������������� � �����������€À0À0À À1€�����������������������������ü�ƒ��� ��w€ÞÀ1Ž`1† 1†01†1ƒ0Ã0ã8;0� �`�ÀÀ�þ���������������������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€��������������������������������������ð<  ð    8à�����������������������������ð00�`�`�`�`�`�`�`�00ò������������������������������������à�8��������������8�à��������������������������������������ü ��  à  ��ø�����������������������������~������ð��ø������������������������������������ð���0�0�`�`�`€`��`��`��`��0�0���ò���������������������������������������������~À�������ÿ��������~À����������������������~~��������������� ��������������<�f�c��������������À������������������������������������~€���8�p�à�À�€���€�À�`�0�� �~?��������������������������������������ü ������������~�������������������������������������|ü0000h0h0Ä0Ä0„0‚00000�°�°�px�|��������������������������������������������|����2�2�b�Â�Â�‚�������x€��������������������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð��������������������������������������~��������à8   8à����������������������€���8��p��à�ð���0�0�`€`€`€`€`€`€`€0�0���ð��������������������������������������~80`àÀà8 8à��������������� ��������������O�xÀ``@0@0�0�pàÀ�<�p�` ` ``1à �����������������������������à€€€€€€€€€€€€A‚A‚a†þ������������������������������������ð�� ��������������~€��������������������������������������������€�€�€�À�@�`� � �0� � ��� �0�0�ü€��������������������������������������������ƒ�ƒ�ƒ€‡€F€FÀF@L@L` ,` , , 000ü~~��������������������������������������������üÀ0€�� ��8�p��à��À�À� ��� ��~€�������������������������������������à€€€€€€À@` 080 ü?�����������������������������üp 8� ����€€À�à@`@p`8ø�������������>0000000000000000000>������������ 00 ``@ÀÀ��������| |���������������� ������������������������������@@`À €1€�� ������������������ ����ÿøÿø���������������������������������������������������������������������0p@`0������������ ��������������8À}€c€a€a€1€€€€1€3€�������������������������� ��������������/�9À0À0`0`0`0`0`0`0À9À7�0�0�0�0�p���������������� ���������������?€8@p�`�`�`�`�`� À1À€������������������������� ��������������`9À0À`À`À`À`À`À`À0À9ÀÀ�À�À�À�ÀÀ��������������� ���������������?€8@p�`�`�`�À`À À1€����������������������������x0000000000þ000������������ ����€xà`0`00à?€0���€0À0À0À0À€à������������������������� ��������������xð0`0`0`0`0`0`0`0`8à7À3€0�0�0�0�p������������������x0000000000p���00�������Àà00000000000000p���00�������������� ��������������yð0à1À3€7�6�<�4�2�3�1€3à0�0�0�0�p������������������x000000000000000p���������������������������������xñà0`À0`À0`À0`À0`À0`À0`À0`À8ñÀ7Ï€s‡��������������������������������������� ��������������xð0`0`0`0`0`0`0`0`8à7Às€������������������������� ���������������9À0À````````````0À9À�������������������������� ����x�0�0�0�0�7�9À0À0`0`0`0`0`0`0À9Àw�������������������������� ����à�À�À�À�ÀÀ9À0À`À`À`À`À`À`À0À9ÀÀ���������������������������x00000000;7s����������������� ��������������|�c�A€€€�>�8�p�a�3�����������������������������2000000000þp0�������������� ��������������p`8à0`0`0`0`0`0`0`0`pà������������������������� ��������������������1�0€0€`€`Àñà�����������������������������������������������8�8�(�d�d�1d�0Â�0Â�`Â�`Ã�ñç€�������������������������������������� ��������������xð0`ÀÀ €�� �€À0`xð������������������������� ����à�ð��� �������1�0€0€`€`Àñà������������������������� ��������������€a€0€8��� ���C�a€€������������������������� ����€� � � � � � ����`���� � � � � ��€�����������������00000000000000000������������ ����p�� � � � � � ����€��� � � � � ��p���������������� ������������������������AÀcà>0��������������������������������������������������������� ��� ������������������� ���������� � ��?€8@h�d�d�d�b�b�!À1À€�€�€��������������������� ��������������sÀ_`< ������~�����À À€��������������� ��������������������`0wp?àÀ0`0`0`0`À?àwp`0���������������������������������À����à�à�€ € À@`0 p0ø|�����������������0000000���0000000������������ ������������€€€���8€0À À!À€����€ €������������������������������ff����������������������������������ø���0á€#¸€b ÀF�@D�@D�@D�@F�@b À#˜€0ñ€��ø�������������������������������~�vÌÌ| Ìx��������������� ���������������� ` À€3�3�€ À` ����������������������������������������������������øø����������������������������� ����������������������������������������������������������������������������������ø���0€#Œ€aÀA@A @Að@A@A@aÀ!€3ñ€��ø�������������������������������������~~���������������� �����������������������������������"�A�A�A�"�������������������������������øø�������øø���������������������������������üD 0 ŒL8�������������������pˆŒ 0ŒL8������������������������� ���������������� ���� �p�`� � �.p?`8à0`0`0`0`0`0`0`0`pà������������������������� ����€€€€€€€€€€€ €€<€<€|€|€|€<€<€€À�����������������������00���������������<f������������������������������������|P0��������������������~�<fffff<������������������ ����������������"�3�€ À`` À€3�"��������������������������������������������������� €"�2�� �}Ž�†�Â�`� �0��P�0 ����������������������������������������������?�� � ����}£�“�Î�`� �0��P�0 ������������������������������������������������ €"�2�� �qŽ�ˆ†�ŒÂ� `� �00��Œ�L �8������������������������ �����1€`€a€a€p�8��� � �������������������������������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€����� ��À�€��������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�������À��p��0������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�����`�À�€������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�������à����������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�������0�0���������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�À� � �À���������������������������������ùÿð0`0```�`�à€ `€€`€`€`�`�` ` à`ÿà�������������������������À`�`à€�€ð00�`�`�`�`�`�`�`�00ò�����������������������������ü ��  à  ��ø���€�� ��������������������ü ��  à  ��ø���€�à�`�������������������ü ��  à  ��ø��`À€�������������������ü ��  à  ��ø���� À À���������~~�p`�������~~� �������? ?�@3 �������~~��ff�����������������������������������à�8�������ÿ�������8�à���������������������������������������������|����2�2�b�Â�Â�‚�������x€������p�È���������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð����� ��À�€��������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�����€��`��8��������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�����0�à��À������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�������p�È���������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�������0�0���������������������������� 00` À€�€ À`00 ���������������������������������������������ð���4�2�a€a€`€`€`A€`A€`!€0#�0���ò��������������������������������������������ð�� ��������������~€���� ��À�€��������������������������������ð�� ��������������~€����€��`��8��������������������������������ð�� ��������������~€����0�à��À������������������������������ð�� ��������������~€���������������������������������à€€€€€€À@` 080 ü?����À�p�0�������������������~����à8   8à���~���������������� ��������������s€6@6`0`0`0à0À1À3€6�1€0À0À0À0À€���������������� ��������������8À}€c€a€a€1€€€€1€3€���� �8�0���������������� ��������������8À}€c€a€a€1€€€€1€3€�����€€��������������� ��������������8À}€c€a€a€1€€€€1€3€���!��� ���������������� ��������������8À}€c€a€a€1€€€€1€3€�����.������������������� ��������������8À}€c€a€a€1€€€€1€3€�����3�3������������������ ��������������8À}€c€a€a€1€€€€1€3€������������������������������������8x}ücÂa€a€1€€þ†1†3Ìx������������������������� ���3��� ���?€8@p�`�`�`�`�`� À1À€������������������������� ���������������?€8@p�`�`�`�À`À À1€���� �8�0���������������� ���������������?€8@p�`�`�`�À`À À1€�����€€��������������� ���������������?€8@p�`�`�`�À`À À1€���€ ������������������ ���������������?€8@p�`�`�`�À`À À1€�����€€�������������������x0000000000p�0àÀ������������x0000000000p�@0 ������������x0000000000p�„Hx0������������x0000000000p��ÌÌ������������������� ���������������9À0À````````````0À9À€c���8À`���������������� ��������������xð0`0`0`0`0`0`0`0`8à7Às€����€@����������������� ���������������9À0À````````````0À9À���������������������� ���������������9À0À````````````0À9À�����À�À��������������� ���������������9À0À````````````0À9À���€ ������������������ ���������������9À0À````````````0À9À�����€@����������������� ���������������9À0À````````````0À9À�����€€�����������������������������������������øø������������������������������� ������������`�o�9À8Àh`l`d`f`b`c`1À9À`�`����������������������� ��������������p`8à0`0`0`0`0`0`0`0`pà��������������������� ��������������p`8à0`0`0`0`0`0`0`0`pà����À�À��������������� ��������������p`8à0`0`0`0`0`0`0`0`pà��€ ������������������ ��������������p`8à0`0`0`0`0`0`0`0`pà����€€����������������� ����à�ð��� �������1�0€0€`€`Àñà����€€��������������� ����x�0�0�0�0�7�9À0À0`0`0`0`0`0`0À9À7�0�0�0�0�p���������������� ����à�ð��� �������1�0€0€`€`Àñà����3�3����������������������ˆ������ˆ������ˆ��� ���ˆ������ˆ������ˆ������ˆ������ˆ��� ���ˆ���$���ˆ���(���ˆ���,���ˆ���0���ˆ���4���ˆ���8���ˆ���<���ˆ���@���ˆ���D���ˆ���H���ˆ���L���ˆ���P���ˆ���T���ˆ���X���ˆ���\���ˆ���`���ˆ���d���ˆ���h���ˆ���l���ˆ���p���ˆ���t���ˆ���x���ˆ���|���ˆ���€���ˆ���„���ˆ���ˆ���ˆ���Œ���ˆ������ˆ���”���ˆ���˜���ˆ���œ���ˆ��� ���ˆ���¤���ˆ���¨���ˆ���¬���ˆ���°���ˆ���´���ˆ���¸���ˆ���¼���ˆ���À���ˆ���Ä���ˆ���È���ˆ���Ì���ˆ���Ð���ˆ���Ô���ˆ���Ø���ˆ���Ü���ˆ���à���ˆ���ä���ˆ���è���ˆ���ì���ˆ���ð���ˆ���ô���ˆ���ø���ˆ���ü���ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ���� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ���$ ��ˆ���( ��ˆ���, ��ˆ���0 ��ˆ���4 ��ˆ���8 ��ˆ���< ��ˆ���@ ��ˆ���D ��ˆ���H ��ˆ���L ��ˆ���P ��ˆ���T ��ˆ���X ��ˆ���\ ��ˆ���` ��ˆ���d ��ˆ���h ��ˆ���l ��ˆ���p ��ˆ���t ��ˆ���x ��ˆ���| ��ˆ���€ ��ˆ���„ ��ˆ���ˆ ��ˆ���Œ ��ˆ��� ��ˆ���” ��ˆ���˜ ��ˆ���œ ��ˆ���  ��ˆ���¤ ��ˆ���¨ ��ˆ���¬ ��ˆ���° ��ˆ���´ ��ˆ���¸ ��ˆ���¼ ��ˆ���À ��ˆ���Ä ��ˆ���È ��ˆ���Ì ��ˆ���Ð ��ˆ���Ô ��ˆ���Ø ��ˆ���Ü ��ˆ���à ��ˆ���ä ��ˆ���è ��ˆ���ì ��ˆ���ð ��ˆ���ô ��ˆ���ø ��ˆ���ü ��ˆ���� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ���$ ��ˆ���( ��ˆ���, ��ˆ���0 ��ˆ���4 ��ˆ���8 ��ˆ���< ��ˆ���@ ��ˆ���D ��ˆ���H ��ˆ���L ��ˆ���P ��ˆ���T ��ˆ���X ��ˆ���\ ��ˆ���` ��ˆ���d ��ˆ���h ��ˆ���l ��ˆ���p ��ˆ���t ��ˆ���x ��ˆ���| ��ˆ���€ ��ˆ���„ ��ˆ���ˆ ��ˆ���Œ ��ˆ��� ��ˆ���” ��ˆ���˜ ��ˆ���œ ��ˆ���  ��ˆ���¤ ��ˆ���¨ ��ˆ���¬ ��ˆ���° ��ˆ���´ ��ˆ���¸ ��ˆ���¼ ��ˆ���À ��ˆ���Ä ��ˆ���È ��ˆ���Ì ��ˆ���Ð ��ˆ���Ô ��ˆ���Ø ��ˆ���Ü ��ˆ���à ��ˆ���ä ��ˆ���è ��ˆ���ì ��ˆ���ð ��ˆ���ô ��ˆ���ø ��ˆ���ü ��ˆ���� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ���$ ��ˆ���( ��ˆ���, ��ˆ���0 ��ˆ���4 ��ˆ���8 ��ˆ���< ��ˆ���@ ��ˆ���D ��ˆ���H ��ˆ���L ��ˆ���P ��ˆ���T ��ˆ���X ��ˆ���\ ��ˆ���` ��ˆ���d ��ˆ���h ��ˆ���l ��ˆ���p ��ˆ���t ��ˆ���x ��ˆ���| ��ˆ���€ ��ˆ���„ ��ˆ���ˆ ��ˆ���Œ ��ˆ��� ��ˆ���” ��ˆ���˜ ��ˆ���œ ��ˆ���  ��ˆ���¤ ��ˆ���¨ ��ˆ���¬ ��ˆ���° ��ˆ���´ ��ˆ���¸ ��ˆ���¼ ��ˆ���À ��ˆ���Ä ��ˆ���È ��ˆ���Ì ��ˆ���Ð ��ˆ���Ô ��ˆ���Ø ��ˆ���Ü ��ˆ���à ��ˆ���ä ��ˆ���è ��ˆ���ì ��ˆ���ð ��ˆ���ô ��ˆ���ø ��ˆ���ü ��ˆ���� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ���$ ��ˆ���( ��ˆ���, ��ˆ���0 ��ˆ���4 ��ˆ���8 ��ˆ���< ��ˆ���` ��ˆ���d ��ˆ���h ��ˆ���l ��ˆ���p ��ˆ���t ��ˆ���x ��ˆ���| ��ˆ���€ ��ˆ���„ ��ˆ���ˆ ��ˆ���Œ ��ˆ��� ��ˆ���” ��ˆ���˜ ��ˆ���œ ��ˆ���  ��ˆ���¤ ��ˆ���¨ ��ˆ���¬ ��ˆ���° ��ˆ���´ ��ˆ���¸ ��ˆ���¼ ��ˆ���À ��ˆ���Ä ��ˆ���È ��ˆ���Ì ��ˆ���Ð ��ˆ���Ô ��ˆ���Ø ��ˆ���Ü ��ˆ���à ��ˆ���ä ��ˆ���è ��ˆ���ì ��ˆ���ð ��ˆ���ô ��ˆ���ø ��ˆ���ü ��ˆ���� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ��� ��ˆ���$ ��ˆ���( ��ˆ���, ��ˆ���0 ��ˆ���4 ��ˆ���8 ��ˆ���< ��ˆ���@ ��ˆ���D ��ˆ���H ��ˆ���L ��ˆ���P ��ˆ���T ��ˆ���X ��ˆ���\ ��ˆ���` ��ˆ���d ��ˆ���h ��ˆ���l ��ˆ���p ��ˆ���t ��ˆ���x ��ˆ���| ��ˆ���€ ��ˆ���„ ��ˆ���ˆ ��ˆ���Œ ��ˆ��� ��ˆ���” ��ˆ���˜ ��ˆ���œ ��ˆ���  ��ˆ���¤ ��ˆ���¨ ��ˆ���¬ ��ˆ���° ��ˆ���´ ��ˆ���¸ ��ˆ���¼ ��ˆ���À ��ˆ���Ä ��ˆ���È ��ˆ���Ì ��ˆ���Ð ��ˆ���Ô ��ˆ���Ø ��ˆ���Ü ��ˆ���à ��ˆ���ä ��ˆ���è ��ˆ���ì ��ˆ���ð ��ˆ���ô ��ˆ���ø ��ˆ���ü ��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���À��ˆ���Ä��ˆ���È��ˆ���Ì��ˆ���Ð��ˆ���Ô��ˆ���Ø��ˆ���Ü��ˆ���à��ˆ���ä��ˆ���è��ˆ���ì��ˆ���ð��ˆ���ô��ˆ���ø��ˆ���ü��ˆ������ˆ�����ˆ�����ˆ��� ��ˆ�����ˆ�����ˆ�����ˆ�����ˆ��� ��ˆ���$��ˆ���(��ˆ���,��ˆ���0��ˆ���4��ˆ���8��ˆ���<��ˆ���@��ˆ���D��ˆ���H��ˆ���L��ˆ���P��ˆ���T��ˆ���X��ˆ���\��ˆ���`��ˆ���d��ˆ���h��ˆ���l��ˆ���p��ˆ���t��ˆ���x��ˆ���|��ˆ���€��ˆ���„��ˆ���ˆ��ˆ���Œ��ˆ�����ˆ���”��ˆ���˜��ˆ���œ��ˆ��� ��ˆ���¤��ˆ���¨��ˆ���¬��ˆ���°��ˆ���´��ˆ���¸��ˆ���¼��ˆ���<���ˆ���H���„������ˆ���œ���„���è���ˆ���ô���„���@��ˆ���L��„���˜��ˆ���¤��„���ì��ˆ���ø��„���@��ˆ���L��„���.file�������þÿ��g������������������������������������2��� ����������K���@����������f���` �������������€����������œ��� ����������¸���À����������Ô���X����������í���g������������v������������…����������8��”����������Q��£����������j��²����������ƒ��Á����������œ��Ð����������µ��ß����������Î��î����������ç��ý������������� ����������������������2��*����������K��9����������d��H����������}��W����������–��f����������¯��u����������È��„����������á��“����������ú��¢������������±����������,��À����������E��Ï����������^��Þ����������w��í������������ü����������©�� ����������Â������������Û��)����������ô��8���������� ��G����������&��V����������?��e����������X��t����������q��ƒ����������Š��’����������£��¡����������¼��°����������Õ��¿����������î��Î������������Ý���������� ��ì����������9��û����������R�� ����������k������������„��(������������7����������¶��F����������Ï��U����������è��d������������s������������‚����������3��‘����������L�� ����������e��¯����������~��¾����������—��Í����������°��Ü����������É��ë����������â��ú����������û�� ����������������������-��'����������F��6����������_��E����������x��T����������‘��c����������ª��r����������Ã������������Ü������������õ��Ÿ������������®����������'��½����������@��Ì����������Y��Û����������r��ê����������‹��ù����������¤������������½������������Ö��&����������ï��5���������� ��D����������! ��S����������: ��b����������S ��q����������l ��€����������… ������������ž ��ž����������· ��­����������Ð ��¼����������é ��Ë���������� ��Ú���������� ��é����������4 ��ø����������M ������������f ������������ ��%����������˜ ��4����������± ��C����������Ê ��R����������ã ��a����������ü ��p���������� ������������. ��Ž����������G ������������` ��¬����������y ��»����������’ ��Ê����������« ��Ù����������Ä ��è����������Ý ��÷����������ö �� ���������� �� ����������( ��$ ����������A ��3 ����������Z ��B ����������s ��Q ����������Œ ��` ����������¥ ��o ����������¾ ��~ ����������× �� ����������ð ��œ ���������� ��« ����������" ��º ����������; ��É ����������T ��Ø ����������m ��ç ����������† ��ö ����������Ÿ �� ����������¸ �� ����������Ñ ��# ����������ê ��2 ������������A ������������P ����������5��_ ����������N��n ����������g��} ����������€��Œ ����������™��› ����������²��ª ����������Ë��¹ ����������ä��È ����������ý��× ������������æ ����������/��õ ����������H�� ����������a�� ����������z��" ����������“��1 ����������¬��@ ����������Å��O ����������Þ��^ ����������÷��m ������������| ����������)��‹ ����������B��š ����������[��© ����������t��¸ ������������Ç ����������¦��Ö ����������¿��å ����������Ø��ô ����������ñ�� ���������� �� ����������#��! ����������<��0 ����������U��? ����������n��N ����������‡��] ���������� ��l ����������¹��{ ����������Ò��Š ����������ë��™ ������������¨ ������������· ����������6��Æ ����������O��Õ ����������h��ä ������������ó ����������š�� ����������³�� ����������Ì�� ����������å��/ ����������þ��> ������������M ����������0��\ ����������I��k ����������b��z ����������{��‰ ����������”��˜ ����������­��§ ����������Æ��¶ ����������ß��Å ����������ø��Ô ������������ã ����������*��ò ����������C������������\������������u������������Ž��.����������§��=����������À��L����������Ù��[����������ò��j���������� ��y����������$��ˆ����������=��—����������V��¦����������o��µ����������ˆ��Ä����������¡��Ó����������º��â����������Ó��ñ����������ì�������������������������������������7��-����������P��<����������i��K����������‚��Z����������›��€����������´��À����������Í�������������æ��@����������ÿ��€������������À����������1�������������J��@����������c��€����������|��À����������•�������������®��@����������Ç��€����������à��À����������ù���������������@����������+��€����������D��À����������]�������������v��@������������€����������¨��À����������Á�������������Ú��@����������ó��€���������� ��À����������%�������������>��@����������W��€����������p��À����������‰�������������¢��@����������»��€����������Ô��À����������í���������������@������������€����������8��À����������Q�������������j��@����������ƒ��€����������œ��À����������µ�������������Î��@����������ç��€�������������À�����������������������2��@����������K��€����������d��À����������}�������������–��@����������¯��€����������È��À����������á�������������ú��@������������€����������,��À����������E�������������^��@����������w��€������������À����������©�������������Â��@����������Û��€����������ô��À���������� ��� ����������&��@ ����������?��€ ����������X��À ����������q���!����������Š��@!����������£��€!����������¼��À!����������Õ���"����������î��@"������������€"���������� ��À"����������9���#����������R��@#����������k��€#����������„��À#�������������$����������¶��@$����������Ï��€$����������è��À$�������������%������������@%����������3��€%����������L��À%����������e���&����������~��@&����������—��€&����������°��À&����������É���'����������â��@'����������û��€'���������� ��À'����������- ���(����������F ��@(����������_ ��€(����������x ��À(����������‘ ���)����������ª ��@)����������à ��€)����������Ü ��À)����������õ ���*����������!��@*����������'!��€*����������@!��À*����������Y!���+����������r!��@+����������‹!��€+����������¤!��À+����������½!���,����������Ö!��@,����������ï!��€,����������"��À,����������!"���-����������:"��@-����������S"��€-����������l"��À-����������…"���.����������ž"��@.����������·"��€.����������Ð"��À.����������é"���/����������#��@/����������#��€/����������4#��À/����������M#���0����������f#��@0����������#��€0����������˜#��À0����������±#���1����������Ê#��@1����������ã#��€1����������ü#��À1����������$���2����������.$��@2����������G$��€2����������`$��À2����������y$���3����������’$��@3����������«$��€3����������Ä$��À3����������Ý$���4����������ö$��@4����������%��€4����������(%��À4����������A%���5����������Z%��@5����������s%��€5����������Œ%��À5����������¥%���6����������¾%��@6����������×%��€6����������ð%��À6���������� &���7����������"&��@7����������;&��€7����������T&��À7����������m&���8����������†&��@8����������Ÿ&��€8����������¸&��À8����������Ñ&���9����������ê&��@9����������'��€9����������'��À9����������5'���:����������N'��@:����������g'��€:����������€'��À:����������™'���;����������²'��@;����������Ë'��€;����������ä'��À;����������ý'���<����������(��@<����������/(��€<����������H(��À<����������a(���=����������z(��@=����������“(��€=����������¬(��À=����������Å(���>����������Þ(��@>����������÷(��€>����������)��À>����������))���?����������B)��@?����������[)��€?����������t)��À?����������)���@����������¦)��@@����������¿)��€@����������Ø)��À@����������ñ)���A���������� *��@A����������#*��€A����������<*��ÀA����������U*���B����������n*��@B����������‡*��€B���������� *��ÀB����������¹*���C����������Ò*��@C����������ë*��€C����������+��ÀC����������+���D����������6+��@D����������O+��€D����������h+��ÀD����������+���E����������š+��@E����������³+��€E����������Ì+��ÀE����������å+���F����������þ+��@F����������,��€F����������0,��ÀF����������I,���G����������b,��!G����������},��0G����������˜,��?G����������³,��NG����������Î,��]G����������é,��lG����������-��‰G����������-��˜G����������:-��§G����������U-��¶G����������p-��ÅG����������‹-��ÔG����������¦-��ãG����������Á-��òG����������Ü-��H����������÷-��H����������.��H����������-.��.H����������H.��=H����������c.��LH����������~.��[H����������™.��jH����������´.��yH����������Ï.��ˆH����������ê.��—H����������/��¦H���������� /��µH����������;/��ÄH����������V/��ÓH����������q/��âH����������Œ/��ñH����������§/���I����������Â/��I����������Ý/��,I����������ø/��;I����������0��JI����������.0��YI����������I0��hI����������d0��wI����������0��†I����������š0��•I����������µ0��¤I����������Ð0��³I����������ë0��ÂI����������1��ÑI����������!1��àI����������<1��ýI����������W1�� J����������r1��J����������1��*J����������¨1��9J����������Ã1��HJ����������Þ1��WJ����������ù1��fJ����������2��uJ����������/2��„J����������J2��¡J����������e2��°J����������€2��¿J����������›2��ÎJ����������¶2��ÝJ����������Ñ2��ìJ����������ì2��ûJ����������3�� K����������"3��K����������=3��(K����������X3��7K����������s3��FK����������Ž3��UK����������©3��dK����������Ä3��sK����������ß3��‚K����������ú3��‘K����������4�� K����������04��¯K����������K4��¾K����������f4��ÍK����������4��ÜK����������œ4��ëK����������·4��úK����������Ò4�� L����������í4��L����������5��'L����������#5��6L����������>5��EL����������Y5��TL����������t5��cL����������5��rL����������ª5��L����������Å5��L����������à5��ŸL����������û5��®L����������6��½L����������16��ÌL����������L6��ÛL����������g6��êL����������‚6��ùL����������6��M����������¸6��M����������Ó6��&M����������î6��5M���������� 7��DM����������$7��SM����������?7��bM����������Z7��qM����������u7��ŽM����������7��M����������«7��¬M����������Æ7��»M����������á7��ÊM����������ü7��çM����������8��öM����������28��N����������M8��N����������h8��#N����������ƒ8��2N����������ž8��AN����������¹8��PN����������Ô8��_N����������ï8��nN���������� 9��}N����������%9��ŒN����������@9��›N����������[9��ªN����������v9��ÇN����������‘9��äN����������¬9��O����������Ç9��O����������â9��O����������ý9��.O����������:��=O����������3:��LO����������N:��[O����������i:��jO����������„:��‡O����������Ÿ:��–O����������º:��¥O����������Õ:��´O����������ð:��ÃO���������� ;��ÒO����������&;��áO����������A;��ðO����������\;��ÿO����������w;��P����������’;��P����������­;��,P����������È;��;P����������ã;��JP����������þ;��YP����������<��hP����������4<��wP����������O<��†P����������j<��•P����������…<��¤P���������� <��³P����������»<��ÂP����������Ö<��ÑP����������ñ<��àP���������� =��ïP����������'=��þP����������B=�� Q����������]=��Q����������x=��+Q����������“=��:Q����������®=��IQ����������É=��XQ����������ä=��gQ����������ÿ=��vQ����������>��…Q����������5>��”Q����������P>��£Q����������k>��²Q����������†>��ÁQ����������¡>��ÐQ����������¼>��ßQ����������×>��îQ����������ò>��ýQ���������� ?�� R����������(?��R����������C?��*R����������^?��9R����������y?��HR����������”?��WR����������¯?��fR����������Ê?��uR����������å?��„R�����������@��“R����������@��¢R����������6@��±R����������Q@��ÀR����������l@��ÏR����������‡@��ÞR����������¢@��ïR����������½@���S����������Ø@��S����������ó@��"S����������A��@S����������)A��€S����������DA��¡S����������_A��²S����������zA��ÃS����������•A��ÔS����������°A��åS����������ËA��öS����������æA��T����������B��T����������B��)T����������7B��:T����������RB��KT����������mB��\T����������ˆB��mT����������£B��~T����������¾B��T����������ÙB�� T����������ôB��±T����������C��ÂT����������*C��ÓT����������EC��äT����������`C��õT����������{C��U����������–C��U����������±C��(U����������ÌC��9U����������çC��`U����������D�� U����������D��ÁU����������8D��àU����������SD�� V����������nD��AV����������‰D��RV����������¤D��€V����������¿D��ÀV����������ÚD��áV����������õD��òV����������E��W����������+E��W����������FE��@W����������aE��€W����������|E��ÀW����������—E��áW����������²E���X����������ÍE��!X����������èE��2X����������F��CX����������F��TX����������9F��€X����������TF��ÀX����������oF���Y����������ŠF��@Y����������¥F��€Y����������ÀF��¡Y����������ÛF��²Y����������öF��ÃY����������G��ÔY����������,G��åY����������GG��öY����������bG��Z����������}G��Z����������˜G��)Z����������³G��:Z����������ÎG��KZ����������éG��\Z����������H��mZ����������H��~Z����������:H��Z����������UH�� Z����������pH��±Z����������‹H��ÂZ����������¦H��àZ����������ÁH��[����������ÜH��[����������÷H��#[����������I��4[����������-I��E[����������HI��V[����������cI��g[����������~I��x[����������™I��‰[����������´I�� [����������ÏI��Á[����������êI��Ò[����������J��ã[���������� J��ô[����������;J��\����������VJ��\����������qJ��'\����������ŒJ��8\����������§J��I\����������ÂJ��Z\����������ÝJ��k\����������øJ��|\����������K��\����������.K��ž\����������IK��¯\����������dK��À\����������K��à\����������šK��]����������µK��]����������ÐK��#]����������ëK��4]����������L��`]����������!L��]����������<L��’]����������WL��£]����������rL��´]����������L��Å]����������¨L��Ö]����������ÃL��ç]����������ÞL��ø]����������ùL�� ^����������M��^����������/M��+^����������JM��<^����������eM��M^����������€M��`^����������›M�� ^����������¶M��à^����������ÑM��_����������ìM�� _����������N��`_����������"N�� _����������=N��à_����������XN�� `����������sN��``����������ŽN�� `����������©N��à`����������ÄN��a����������ßN��a����������úN��#a����������O��4a����������0O��Ea����������KO��Va����������fO��ga����������O��xa����������œO�� a����������·O��àa����������ÒO�� b����������íO��`b����������P�� b����������#P��àb����������>P�� c����������YP��Ac����������tP��`c����������P��c����������ªP��’c����������ÅP��£c����������àP��´c����������ûP��àc����������Q��d����������1Q��d����������LQ��#d����������gQ��4d����������‚Q��Ed����������Q��Vd����������¸Q��gd����������ÓQ��xd����������îQ�� d���������� R��Ád����������$R��Òd����������?R��ãd����������ZR��ôd����������uR��e����������R��e����������«R��'e����������ÆR��8e����������áR��Ie����������üR��Ze����������S��ke����������2S��|e����������MS��e����������hS��že����������ƒS��¯e����������žS��Àe����������¹S��Ñe����������ÔS��âe����������ïS��óe���������� T��f����������%T��f����������@T��&f����������[T��7f����������vT��Hf����������‘T��Yf����������¬T��jf����������ÇT��‚f����������âT��šf����������ýT��Àf����������U���g����������3U��@g����������NU��€g����������iU��¯g����������„U��Çg����������ŸU��ßg����������ºU��÷g����������ÕU�� h����������ðU��Oh���������� V��€h����������&V��¯h����������AV��Çh����������\V��àh����������wV�� i����������’V��`i����������­V�� i����������ÈV��ài����������ãV�� j����������þV��`j����������W�� j����������4W��àj����������OW�� k����������jW��Ok����������…W��gk���������� W��€k����������»W��Àk����������ÖW���l����������ñW��@l���������� X��€l����������'X��àl����������BX�� m����������]X��`m����������xX�� m����������“X��àm����������®X�� n����������ÉX��`n����������äX�� n����������ÿX��Ïn����������Y���o����������5Y��@o����������PY��€o����������kY��Ào����������†Y���p����������¡Y��@p����������¼Y��€p����������×Y��Àp����������òY���q���������� Z��@q����������(Z��€q����������CZ��Àq����������^Z���r����������yZ��@r����������”Z�� r����������¯Z��àr����������ÊZ�� s����������åZ��Os�����������[��gs����������[��s����������6[�� s����������Q[��às����������l[��t����������‡[��@t����������¢[��€t����������½[��Àt����������Ø[���u����������ó[��@u����������\��ou����������)\�� u����������D\��àu����������_\��v����������z\��'v����������•\��@v����������°\��ov����������Ë\�� v����������æ\��àv����������]�� w����������]��`w����������7]�� w����������R]��Ïw����������m]���x����������ˆ]��/x����������£]��`x����������¾]�� x����������Ù]��àx����������ô]�� y����������^��`y����������*^�� y����������E^��Ïy����������`^��çy����������{^��ÿy����������–^�� z����������±^��Oz����������Ì^��gz����������ç^��€z����������_��Àz����������_���{����������8_��@{����������S_��o{����������n_�� {����������‰_��Ï{����������¤_���|����������¿_��/|����������Ú_��`|����������õ_�� |����������`��Ï|����������+`���}����������F`��/}����������a`��G}����������|`��`}����������—`��}����������²`��§}����������Í`��¿}����������è`��à}����������a�� ~����������a��O~����������9a��g~����������Ta��~����������oa��—~����������Ša��À~����������¥a�������������Àa��@����������Ûa��€����������öa��À����������b���€����������,b��@€����������Gb��€€����������bb��À€����������}b�������������˜b��@����������³b��€����������Îb��à����������éb�� ‚����������c��`‚����������c�� ‚����������:c��à‚����������Uc��ƒ����������pc��'ƒ����������‹c��?ƒ����������¦c��Wƒ����������Ác��€ƒ����������Üc��Àƒ����������÷c���„����������d��@„����������-d��€„����������Hd��À„����������cd���…����������~d��@…����������™d��€…����������´d��À…����������Ïd���†����������êd��@†����������e��€†���������� e��À†����������;e���‡����������Ve��@‡����������qe��€‡����������Œe��À‡����������§e���ˆ����������Âe��@ˆ����������Ýe��€ˆ����������øe��Àˆ����������f���‰����������.f��@‰����������If��€‰����������df��À‰����������f���Š����������šf��@Š����������µf��oŠ����������Ðf��‡Š����������ëf��ŸŠ����������g��·Š����������!g��àŠ����������<g�� ‹����������Wg��`‹����������rg�� ‹����������g��à‹����������¨g�� Œ����������Ãg��`Œ����������Þg�� Œ����������ùg��àŒ����������h�� ����������/h��`����������Jh�� ����������eh��à����������€h�� Ž����������›h��`Ž����������¶h�� Ž����������Ñh��ÏŽ����������íh��ÞŽ���������� i��íŽ����������%i��üŽ����������Ai�� ����������]i������������yi��)����������•i��8����������±i��G����������Íi��V����������éi��e����������j��t����������!j��ƒ����������=j��’����������Yj��¡����������uj��°����������‘j��¿����������­j��Î����������Éj��Ý����������åj��ì����������k��û����������k�� ����������9k������������Uk��(����������qk��7����������k��F����������©k��U����������Åk��d����������ák��s����������ýk��‚����������l��‘����������5l�� ����������Ql��¯����������ml��Ì����������‰l��Û����������¥l��ê����������Ál��ù����������Ýl��‘����������ùl��‘����������m��&‘����������1m��5‘����������Mm��D‘����������im��S‘����������…m��b‘����������¡m��q‘����������½m��€‘����������Ùm��‘����������õm��¬‘����������n��»‘����������-n��Ê‘����������In��Ù‘����������en��è‘����������n��÷‘����������n��’����������¹n��’����������Õn��$’����������ñn��A’���������� o��P’����������)o��_’����������Eo��n’����������ao��}’����������}o��Œ’����������™o��›’����������µo��ª’����������Ño��¹’����������ío��È’���������� p��×’����������%p��æ’����������Ap��õ’����������]p��“����������yp��“����������•p��"“����������±p��1“����������Íp��@“����������ép��O“����������q��^“����������!q��m“����������=q��|“����������Yq��‹“����������uq��š“����������‘q��©“����������­q��¸“����������Éq��Ç“����������åq��Ö“����������r��å“����������r��ô“����������9r��”����������Ur��”����������qr��!”����������r��0”����������©r��?”����������År��N”����������ár��]”����������ýr��l”����������s��{”����������5s��Š”����������Qs��™”����������ms��¨”����������‰s��·”����������¥s��Æ”����������Ás��Õ”����������Ýs��ä”����������ùs��ó”����������t��•����������1t��•����������Mt��.•����������it��=•����������…t��L•����������¡t��[•����������½t��j•����������Ùt��‡•����������õt��–•����������u��¥•����������-u��´•����������Iu��Õ����������eu��Ò•����������u��á•����������u��ð•����������¹u��ÿ•����������Õu��–����������ñu��–���������� v��,–����������)v��;–����������Ev��J–����������av��Y–����������}v��h–����������™v��w–����������µv��†–����������Ñv��•–����������ív��¤–���������� w��³–����������%w��–����������Aw��Ñ–����������]w��à–����������yw��ý–����������•w�� —����������±w��—����������Íw��*—����������éw��9—����������x��H—����������!x��W—����������=x��f—����������Yx��u—����������ux��„—����������‘x��“—����������­x��¢—����������Éx��±—����������åx��À—����������y��Ï—����������y��Þ—����������9y��í—����������Uy��ü—����������qy�� ˜����������y��˜����������©y��)˜����������Åy��8˜����������áy��G˜����������ýy��V˜����������z��e˜����������5z��t˜����������Qz��ƒ˜����������mz��’˜����������‰z��¡˜����������¥z��°˜����������Áz��¿˜����������Ýz��Θ����������ùz��ݘ����������{��ì˜����������1{��û˜����������M{�� ™����������i{��™����������…{��(™����������¡{��7™����������½{��F™����������Ù{��U™����������õ{��d™����������|��s™����������-|��‚™����������I|��‘™����������e|�� ™����������|��¯™����������|��¾™����������¹|��Í™����������Õ|��Ü™����������ñ|��ë™���������� }��ú™����������)}�� š����������E}��š����������a}��'š����������}}��6š����������™}��Eš����������µ}��Tš����������Ñ}��rš����������í}�� š���������� ~��àš����������%~�� ›����������A~��`›����������]~��À›����������y~��œ����������•~��6œ����������±~��Tœ����������Í~��€œ����������é~��Àœ������������ûœ����������!�� ����������=��[����������Y��y����������u�� ����������‘��à����������­�� ž����������É��`ž����������å�� ž����������€��àž����������€�� Ÿ����������9€��`Ÿ����������U€�� Ÿ����������q€��àŸ����������€�� ����������©€��9 ����������Å€��` ����������á€��  ����������ý€��à ������������ ¡����������5��`¡����������Q��À¡����������m�� ¢����������‰��`¢����������¥�� ¢����������Á���£����������Ý��@£����������ù��€£����������‚��à£����������1‚��8¤����������M‚��`¤����������i‚�� ¤����������…‚���¥����������¡‚��@¥����������½‚�� ¥����������Ù‚���¦����������õ‚��`¦����������ƒ�� ¦����������-ƒ���§����������Iƒ��@§����������eƒ��€§����������ƒ��À§����������ƒ�� ¨����������¹ƒ��€¨����������Õƒ��à¨����������ñƒ��@©���������� „��€©����������)„��»©����������E„��Ù©����������a„��÷©����������}„�� ª����������™„��`ª����������µ„��›ª����������Ñ„��Àª����������í„���«���������� …��@«����������%…��€«����������A…��À«����������]…��û«����������y…�� ¬����������•…��`¬����������±…��›¬����������Í…��¹¬����������é…��à¬����������†��­����������!†��@­����������=†�� ­����������Y†��à­����������u†�� ®����������‘†��`®����������­†��›®����������Ɇ��À®����������å†��û®����������‡�� ¯����������‡��`¯����������9‡�� ¯����������U‡���°����������q‡��@°����������‡��€°����������©‡��À°����������Ň��û°����������á‡�� ±����������ý‡��`±����������ˆ��›±����������5ˆ��¹±����������Qˆ��à±����������mˆ�� ²����������‰ˆ��`²����������¥ˆ�� ²����������Áˆ��Û²����������݈���³����������ùˆ��;³����������‰��`³����������1‰��¸³����������M‰��à³����������i‰�� ´����������…‰��`´����������¡‰�� ´����������½‰��ø´����������Ù‰�� µ����������õ‰��`µ����������Š��›µ����������-Š��¹µ����������IŠ��×µ����������eŠ���¶����������Š��@¶����������Š��{¶����������¹Š��™¶����������ÕŠ��·¶����������ñŠ��Õ¶���������� ‹���·����������)‹��@·����������E‹�� ·����������a‹���¸����������}‹��`¸����������™‹�� ¸����������µ‹���¹����������Ñ‹��`¹����������í‹��À¹���������� Œ�� º����������%Œ��€º����������AŒ��àº����������]Œ��@»����������yŒ��€»����������•Œ��À»����������±Œ���¼����������ÍŒ��@¼����������éŒ��{¼������������™¼����������!��·¼����������=��Õ¼����������Y���½����������u��`½����������‘��À½����������­�� ¾����������É��€¾����������å��à¾����������Ž��@¿����������Ž�� ¿����������9Ž��à¿����������UŽ��@À����������qŽ�� À����������Ž���Á����������©Ž��`Á����������ÅŽ��ÀÁ����������áŽ���Â����������ýŽ��@Â������������€Â����������5��ÀÂ����������Q���Ã����������m��@Ã����������‰��€Ã����������¥��ÀÃ����������Á���Ä����������Ý��@Ä����������ù��€Ä������������ÀÄ����������1���Å����������M��@Å����������i��{Å����������…��™Å����������¡��·Å����������½��ÕÅ����������Ù���Æ����������õ��@Æ����������‘��€Æ����������-‘��ÀÆ����������I‘���Ç����������e‘��@Ç����������‘��€Ç����������‘��ÀÇ����������¹‘���È����������Õ‘��@È����������ñ‘��€È���������� ’��ÀÈ����������)’���É����������E’��@É����������a’��€É����������}’��ÀÉ������.text����������������������������.data����������Ä���������������.bss�����������������������������.rdata���������ûÉ�������������������™’��<�����������ª’�������������»’��è�����������Î’��@����������á’��˜����������ô’��ì����������“��@������“��freeglut_font_data.c�_Fixed8x13_Character_Map�_Fixed9x15_Character_Map�_Helvetica10_Character_Map�_Helvetica12_Character_Map�_Helvetica18_Character_Map�_TimesRoman10_Character_Map�_TimesRoman24_Character_Map�_Fixed8x13_Character_000�_Fixed8x13_Character_001�_Fixed8x13_Character_002�_Fixed8x13_Character_003�_Fixed8x13_Character_004�_Fixed8x13_Character_005�_Fixed8x13_Character_006�_Fixed8x13_Character_007�_Fixed8x13_Character_008�_Fixed8x13_Character_009�_Fixed8x13_Character_010�_Fixed8x13_Character_011�_Fixed8x13_Character_012�_Fixed8x13_Character_013�_Fixed8x13_Character_014�_Fixed8x13_Character_015�_Fixed8x13_Character_016�_Fixed8x13_Character_017�_Fixed8x13_Character_018�_Fixed8x13_Character_019�_Fixed8x13_Character_020�_Fixed8x13_Character_021�_Fixed8x13_Character_022�_Fixed8x13_Character_023�_Fixed8x13_Character_024�_Fixed8x13_Character_025�_Fixed8x13_Character_026�_Fixed8x13_Character_027�_Fixed8x13_Character_028�_Fixed8x13_Character_029�_Fixed8x13_Character_030�_Fixed8x13_Character_031�_Fixed8x13_Character_032�_Fixed8x13_Character_033�_Fixed8x13_Character_034�_Fixed8x13_Character_035�_Fixed8x13_Character_036�_Fixed8x13_Character_037�_Fixed8x13_Character_038�_Fixed8x13_Character_039�_Fixed8x13_Character_040�_Fixed8x13_Character_041�_Fixed8x13_Character_042�_Fixed8x13_Character_043�_Fixed8x13_Character_044�_Fixed8x13_Character_045�_Fixed8x13_Character_046�_Fixed8x13_Character_047�_Fixed8x13_Character_048�_Fixed8x13_Character_049�_Fixed8x13_Character_050�_Fixed8x13_Character_051�_Fixed8x13_Character_052�_Fixed8x13_Character_053�_Fixed8x13_Character_054�_Fixed8x13_Character_055�_Fixed8x13_Character_056�_Fixed8x13_Character_057�_Fixed8x13_Character_058�_Fixed8x13_Character_059�_Fixed8x13_Character_060�_Fixed8x13_Character_061�_Fixed8x13_Character_062�_Fixed8x13_Character_063�_Fixed8x13_Character_064�_Fixed8x13_Character_065�_Fixed8x13_Character_066�_Fixed8x13_Character_067�_Fixed8x13_Character_068�_Fixed8x13_Character_069�_Fixed8x13_Character_070�_Fixed8x13_Character_071�_Fixed8x13_Character_072�_Fixed8x13_Character_073�_Fixed8x13_Character_074�_Fixed8x13_Character_075�_Fixed8x13_Character_076�_Fixed8x13_Character_077�_Fixed8x13_Character_078�_Fixed8x13_Character_079�_Fixed8x13_Character_080�_Fixed8x13_Character_081�_Fixed8x13_Character_082�_Fixed8x13_Character_083�_Fixed8x13_Character_084�_Fixed8x13_Character_085�_Fixed8x13_Character_086�_Fixed8x13_Character_087�_Fixed8x13_Character_088�_Fixed8x13_Character_089�_Fixed8x13_Character_090�_Fixed8x13_Character_091�_Fixed8x13_Character_092�_Fixed8x13_Character_093�_Fixed8x13_Character_094�_Fixed8x13_Character_095�_Fixed8x13_Character_096�_Fixed8x13_Character_097�_Fixed8x13_Character_098�_Fixed8x13_Character_099�_Fixed8x13_Character_100�_Fixed8x13_Character_101�_Fixed8x13_Character_102�_Fixed8x13_Character_103�_Fixed8x13_Character_104�_Fixed8x13_Character_105�_Fixed8x13_Character_106�_Fixed8x13_Character_107�_Fixed8x13_Character_108�_Fixed8x13_Character_109�_Fixed8x13_Character_110�_Fixed8x13_Character_111�_Fixed8x13_Character_112�_Fixed8x13_Character_113�_Fixed8x13_Character_114�_Fixed8x13_Character_115�_Fixed8x13_Character_116�_Fixed8x13_Character_117�_Fixed8x13_Character_118�_Fixed8x13_Character_119�_Fixed8x13_Character_120�_Fixed8x13_Character_121�_Fixed8x13_Character_122�_Fixed8x13_Character_123�_Fixed8x13_Character_124�_Fixed8x13_Character_125�_Fixed8x13_Character_126�_Fixed8x13_Character_160�_Fixed8x13_Character_161�_Fixed8x13_Character_162�_Fixed8x13_Character_163�_Fixed8x13_Character_164�_Fixed8x13_Character_165�_Fixed8x13_Character_166�_Fixed8x13_Character_167�_Fixed8x13_Character_168�_Fixed8x13_Character_169�_Fixed8x13_Character_170�_Fixed8x13_Character_171�_Fixed8x13_Character_172�_Fixed8x13_Character_173�_Fixed8x13_Character_174�_Fixed8x13_Character_175�_Fixed8x13_Character_176�_Fixed8x13_Character_177�_Fixed8x13_Character_178�_Fixed8x13_Character_179�_Fixed8x13_Character_180�_Fixed8x13_Character_181�_Fixed8x13_Character_182�_Fixed8x13_Character_183�_Fixed8x13_Character_184�_Fixed8x13_Character_185�_Fixed8x13_Character_186�_Fixed8x13_Character_187�_Fixed8x13_Character_188�_Fixed8x13_Character_189�_Fixed8x13_Character_190�_Fixed8x13_Character_191�_Fixed8x13_Character_192�_Fixed8x13_Character_193�_Fixed8x13_Character_194�_Fixed8x13_Character_195�_Fixed8x13_Character_196�_Fixed8x13_Character_197�_Fixed8x13_Character_198�_Fixed8x13_Character_199�_Fixed8x13_Character_200�_Fixed8x13_Character_201�_Fixed8x13_Character_202�_Fixed8x13_Character_203�_Fixed8x13_Character_204�_Fixed8x13_Character_205�_Fixed8x13_Character_206�_Fixed8x13_Character_207�_Fixed8x13_Character_208�_Fixed8x13_Character_209�_Fixed8x13_Character_210�_Fixed8x13_Character_211�_Fixed8x13_Character_212�_Fixed8x13_Character_213�_Fixed8x13_Character_214�_Fixed8x13_Character_215�_Fixed8x13_Character_216�_Fixed8x13_Character_217�_Fixed8x13_Character_218�_Fixed8x13_Character_219�_Fixed8x13_Character_220�_Fixed8x13_Character_221�_Fixed8x13_Character_222�_Fixed8x13_Character_223�_Fixed8x13_Character_224�_Fixed8x13_Character_225�_Fixed8x13_Character_226�_Fixed8x13_Character_227�_Fixed8x13_Character_228�_Fixed8x13_Character_229�_Fixed8x13_Character_230�_Fixed8x13_Character_231�_Fixed8x13_Character_232�_Fixed8x13_Character_233�_Fixed8x13_Character_234�_Fixed8x13_Character_235�_Fixed8x13_Character_236�_Fixed8x13_Character_237�_Fixed8x13_Character_238�_Fixed8x13_Character_239�_Fixed8x13_Character_240�_Fixed8x13_Character_241�_Fixed8x13_Character_242�_Fixed8x13_Character_243�_Fixed8x13_Character_244�_Fixed8x13_Character_245�_Fixed8x13_Character_246�_Fixed8x13_Character_247�_Fixed8x13_Character_248�_Fixed8x13_Character_249�_Fixed8x13_Character_250�_Fixed8x13_Character_251�_Fixed8x13_Character_252�_Fixed8x13_Character_253�_Fixed8x13_Character_254�_Fixed8x13_Character_255�_Fixed9x15_Character_000�_Fixed9x15_Character_001�_Fixed9x15_Character_002�_Fixed9x15_Character_003�_Fixed9x15_Character_004�_Fixed9x15_Character_005�_Fixed9x15_Character_006�_Fixed9x15_Character_007�_Fixed9x15_Character_008�_Fixed9x15_Character_009�_Fixed9x15_Character_010�_Fixed9x15_Character_011�_Fixed9x15_Character_012�_Fixed9x15_Character_013�_Fixed9x15_Character_014�_Fixed9x15_Character_015�_Fixed9x15_Character_016�_Fixed9x15_Character_017�_Fixed9x15_Character_018�_Fixed9x15_Character_019�_Fixed9x15_Character_020�_Fixed9x15_Character_021�_Fixed9x15_Character_022�_Fixed9x15_Character_023�_Fixed9x15_Character_024�_Fixed9x15_Character_025�_Fixed9x15_Character_026�_Fixed9x15_Character_027�_Fixed9x15_Character_028�_Fixed9x15_Character_029�_Fixed9x15_Character_030�_Fixed9x15_Character_031�_Fixed9x15_Character_032�_Fixed9x15_Character_033�_Fixed9x15_Character_034�_Fixed9x15_Character_035�_Fixed9x15_Character_036�_Fixed9x15_Character_037�_Fixed9x15_Character_038�_Fixed9x15_Character_039�_Fixed9x15_Character_040�_Fixed9x15_Character_041�_Fixed9x15_Character_042�_Fixed9x15_Character_043�_Fixed9x15_Character_044�_Fixed9x15_Character_045�_Fixed9x15_Character_046�_Fixed9x15_Character_047�_Fixed9x15_Character_048�_Fixed9x15_Character_049�_Fixed9x15_Character_050�_Fixed9x15_Character_051�_Fixed9x15_Character_052�_Fixed9x15_Character_053�_Fixed9x15_Character_054�_Fixed9x15_Character_055�_Fixed9x15_Character_056�_Fixed9x15_Character_057�_Fixed9x15_Character_058�_Fixed9x15_Character_059�_Fixed9x15_Character_060�_Fixed9x15_Character_061�_Fixed9x15_Character_062�_Fixed9x15_Character_063�_Fixed9x15_Character_064�_Fixed9x15_Character_065�_Fixed9x15_Character_066�_Fixed9x15_Character_067�_Fixed9x15_Character_068�_Fixed9x15_Character_069�_Fixed9x15_Character_070�_Fixed9x15_Character_071�_Fixed9x15_Character_072�_Fixed9x15_Character_073�_Fixed9x15_Character_074�_Fixed9x15_Character_075�_Fixed9x15_Character_076�_Fixed9x15_Character_077�_Fixed9x15_Character_078�_Fixed9x15_Character_079�_Fixed9x15_Character_080�_Fixed9x15_Character_081�_Fixed9x15_Character_082�_Fixed9x15_Character_083�_Fixed9x15_Character_084�_Fixed9x15_Character_085�_Fixed9x15_Character_086�_Fixed9x15_Character_087�_Fixed9x15_Character_088�_Fixed9x15_Character_089�_Fixed9x15_Character_090�_Fixed9x15_Character_091�_Fixed9x15_Character_092�_Fixed9x15_Character_093�_Fixed9x15_Character_094�_Fixed9x15_Character_095�_Fixed9x15_Character_096�_Fixed9x15_Character_097�_Fixed9x15_Character_098�_Fixed9x15_Character_099�_Fixed9x15_Character_100�_Fixed9x15_Character_101�_Fixed9x15_Character_102�_Fixed9x15_Character_103�_Fixed9x15_Character_104�_Fixed9x15_Character_105�_Fixed9x15_Character_106�_Fixed9x15_Character_107�_Fixed9x15_Character_108�_Fixed9x15_Character_109�_Fixed9x15_Character_110�_Fixed9x15_Character_111�_Fixed9x15_Character_112�_Fixed9x15_Character_113�_Fixed9x15_Character_114�_Fixed9x15_Character_115�_Fixed9x15_Character_116�_Fixed9x15_Character_117�_Fixed9x15_Character_118�_Fixed9x15_Character_119�_Fixed9x15_Character_120�_Fixed9x15_Character_121�_Fixed9x15_Character_122�_Fixed9x15_Character_123�_Fixed9x15_Character_124�_Fixed9x15_Character_125�_Fixed9x15_Character_126�_Fixed9x15_Character_160�_Fixed9x15_Character_161�_Fixed9x15_Character_162�_Fixed9x15_Character_163�_Fixed9x15_Character_164�_Fixed9x15_Character_165�_Fixed9x15_Character_166�_Fixed9x15_Character_167�_Fixed9x15_Character_168�_Fixed9x15_Character_169�_Fixed9x15_Character_170�_Fixed9x15_Character_171�_Fixed9x15_Character_172�_Fixed9x15_Character_173�_Fixed9x15_Character_174�_Fixed9x15_Character_175�_Fixed9x15_Character_176�_Fixed9x15_Character_177�_Fixed9x15_Character_178�_Fixed9x15_Character_179�_Fixed9x15_Character_180�_Fixed9x15_Character_181�_Fixed9x15_Character_182�_Fixed9x15_Character_183�_Fixed9x15_Character_184�_Fixed9x15_Character_185�_Fixed9x15_Character_186�_Fixed9x15_Character_187�_Fixed9x15_Character_188�_Fixed9x15_Character_189�_Fixed9x15_Character_190�_Fixed9x15_Character_191�_Fixed9x15_Character_192�_Fixed9x15_Character_193�_Fixed9x15_Character_194�_Fixed9x15_Character_195�_Fixed9x15_Character_196�_Fixed9x15_Character_197�_Fixed9x15_Character_198�_Fixed9x15_Character_199�_Fixed9x15_Character_200�_Fixed9x15_Character_201�_Fixed9x15_Character_202�_Fixed9x15_Character_203�_Fixed9x15_Character_204�_Fixed9x15_Character_205�_Fixed9x15_Character_206�_Fixed9x15_Character_207�_Fixed9x15_Character_208�_Fixed9x15_Character_209�_Fixed9x15_Character_210�_Fixed9x15_Character_211�_Fixed9x15_Character_212�_Fixed9x15_Character_213�_Fixed9x15_Character_214�_Fixed9x15_Character_215�_Fixed9x15_Character_216�_Fixed9x15_Character_217�_Fixed9x15_Character_218�_Fixed9x15_Character_219�_Fixed9x15_Character_220�_Fixed9x15_Character_221�_Fixed9x15_Character_222�_Fixed9x15_Character_223�_Fixed9x15_Character_224�_Fixed9x15_Character_225�_Fixed9x15_Character_226�_Fixed9x15_Character_227�_Fixed9x15_Character_228�_Fixed9x15_Character_229�_Fixed9x15_Character_230�_Fixed9x15_Character_231�_Fixed9x15_Character_232�_Fixed9x15_Character_233�_Fixed9x15_Character_234�_Fixed9x15_Character_235�_Fixed9x15_Character_236�_Fixed9x15_Character_237�_Fixed9x15_Character_238�_Fixed9x15_Character_239�_Fixed9x15_Character_240�_Fixed9x15_Character_241�_Fixed9x15_Character_242�_Fixed9x15_Character_243�_Fixed9x15_Character_244�_Fixed9x15_Character_245�_Fixed9x15_Character_246�_Fixed9x15_Character_247�_Fixed9x15_Character_248�_Fixed9x15_Character_249�_Fixed9x15_Character_250�_Fixed9x15_Character_251�_Fixed9x15_Character_252�_Fixed9x15_Character_253�_Fixed9x15_Character_254�_Fixed9x15_Character_255�_Helvetica10_Character_032�_Helvetica10_Character_033�_Helvetica10_Character_034�_Helvetica10_Character_035�_Helvetica10_Character_036�_Helvetica10_Character_037�_Helvetica10_Character_038�_Helvetica10_Character_039�_Helvetica10_Character_040�_Helvetica10_Character_041�_Helvetica10_Character_042�_Helvetica10_Character_043�_Helvetica10_Character_044�_Helvetica10_Character_045�_Helvetica10_Character_046�_Helvetica10_Character_047�_Helvetica10_Character_048�_Helvetica10_Character_049�_Helvetica10_Character_050�_Helvetica10_Character_051�_Helvetica10_Character_052�_Helvetica10_Character_053�_Helvetica10_Character_054�_Helvetica10_Character_055�_Helvetica10_Character_056�_Helvetica10_Character_057�_Helvetica10_Character_058�_Helvetica10_Character_059�_Helvetica10_Character_060�_Helvetica10_Character_061�_Helvetica10_Character_062�_Helvetica10_Character_063�_Helvetica10_Character_064�_Helvetica10_Character_065�_Helvetica10_Character_066�_Helvetica10_Character_067�_Helvetica10_Character_068�_Helvetica10_Character_069�_Helvetica10_Character_070�_Helvetica10_Character_071�_Helvetica10_Character_072�_Helvetica10_Character_073�_Helvetica10_Character_074�_Helvetica10_Character_075�_Helvetica10_Character_076�_Helvetica10_Character_077�_Helvetica10_Character_078�_Helvetica10_Character_079�_Helvetica10_Character_080�_Helvetica10_Character_081�_Helvetica10_Character_082�_Helvetica10_Character_083�_Helvetica10_Character_084�_Helvetica10_Character_085�_Helvetica10_Character_086�_Helvetica10_Character_087�_Helvetica10_Character_088�_Helvetica10_Character_089�_Helvetica10_Character_090�_Helvetica10_Character_091�_Helvetica10_Character_092�_Helvetica10_Character_093�_Helvetica10_Character_094�_Helvetica10_Character_095�_Helvetica10_Character_096�_Helvetica10_Character_097�_Helvetica10_Character_098�_Helvetica10_Character_099�_Helvetica10_Character_100�_Helvetica10_Character_101�_Helvetica10_Character_102�_Helvetica10_Character_103�_Helvetica10_Character_104�_Helvetica10_Character_105�_Helvetica10_Character_106�_Helvetica10_Character_107�_Helvetica10_Character_108�_Helvetica10_Character_109�_Helvetica10_Character_110�_Helvetica10_Character_111�_Helvetica10_Character_112�_Helvetica10_Character_113�_Helvetica10_Character_114�_Helvetica10_Character_115�_Helvetica10_Character_116�_Helvetica10_Character_117�_Helvetica10_Character_118�_Helvetica10_Character_119�_Helvetica10_Character_120�_Helvetica10_Character_121�_Helvetica10_Character_122�_Helvetica10_Character_123�_Helvetica10_Character_124�_Helvetica10_Character_125�_Helvetica10_Character_126�_Helvetica10_Character_160�_Helvetica10_Character_161�_Helvetica10_Character_162�_Helvetica10_Character_163�_Helvetica10_Character_164�_Helvetica10_Character_165�_Helvetica10_Character_166�_Helvetica10_Character_167�_Helvetica10_Character_168�_Helvetica10_Character_169�_Helvetica10_Character_170�_Helvetica10_Character_171�_Helvetica10_Character_172�_Helvetica10_Character_173�_Helvetica10_Character_174�_Helvetica10_Character_175�_Helvetica10_Character_176�_Helvetica10_Character_177�_Helvetica10_Character_178�_Helvetica10_Character_179�_Helvetica10_Character_180�_Helvetica10_Character_181�_Helvetica10_Character_182�_Helvetica10_Character_183�_Helvetica10_Character_184�_Helvetica10_Character_185�_Helvetica10_Character_186�_Helvetica10_Character_187�_Helvetica10_Character_188�_Helvetica10_Character_189�_Helvetica10_Character_190�_Helvetica10_Character_191�_Helvetica10_Character_192�_Helvetica10_Character_193�_Helvetica10_Character_194�_Helvetica10_Character_195�_Helvetica10_Character_196�_Helvetica10_Character_197�_Helvetica10_Character_198�_Helvetica10_Character_199�_Helvetica10_Character_200�_Helvetica10_Character_201�_Helvetica10_Character_202�_Helvetica10_Character_203�_Helvetica10_Character_204�_Helvetica10_Character_205�_Helvetica10_Character_206�_Helvetica10_Character_207�_Helvetica10_Character_208�_Helvetica10_Character_209�_Helvetica10_Character_210�_Helvetica10_Character_211�_Helvetica10_Character_212�_Helvetica10_Character_213�_Helvetica10_Character_214�_Helvetica10_Character_215�_Helvetica10_Character_216�_Helvetica10_Character_217�_Helvetica10_Character_218�_Helvetica10_Character_219�_Helvetica10_Character_220�_Helvetica10_Character_221�_Helvetica10_Character_222�_Helvetica10_Character_223�_Helvetica10_Character_224�_Helvetica10_Character_225�_Helvetica10_Character_226�_Helvetica10_Character_227�_Helvetica10_Character_228�_Helvetica10_Character_229�_Helvetica10_Character_230�_Helvetica10_Character_231�_Helvetica10_Character_232�_Helvetica10_Character_233�_Helvetica10_Character_234�_Helvetica10_Character_235�_Helvetica10_Character_236�_Helvetica10_Character_237�_Helvetica10_Character_238�_Helvetica10_Character_239�_Helvetica10_Character_240�_Helvetica10_Character_241�_Helvetica10_Character_242�_Helvetica10_Character_243�_Helvetica10_Character_244�_Helvetica10_Character_245�_Helvetica10_Character_246�_Helvetica10_Character_247�_Helvetica10_Character_248�_Helvetica10_Character_249�_Helvetica10_Character_250�_Helvetica10_Character_251�_Helvetica10_Character_252�_Helvetica10_Character_253�_Helvetica10_Character_254�_Helvetica10_Character_255�_Helvetica12_Character_032�_Helvetica12_Character_033�_Helvetica12_Character_034�_Helvetica12_Character_035�_Helvetica12_Character_036�_Helvetica12_Character_037�_Helvetica12_Character_038�_Helvetica12_Character_039�_Helvetica12_Character_040�_Helvetica12_Character_041�_Helvetica12_Character_042�_Helvetica12_Character_043�_Helvetica12_Character_044�_Helvetica12_Character_045�_Helvetica12_Character_046�_Helvetica12_Character_047�_Helvetica12_Character_048�_Helvetica12_Character_049�_Helvetica12_Character_050�_Helvetica12_Character_051�_Helvetica12_Character_052�_Helvetica12_Character_053�_Helvetica12_Character_054�_Helvetica12_Character_055�_Helvetica12_Character_056�_Helvetica12_Character_057�_Helvetica12_Character_058�_Helvetica12_Character_059�_Helvetica12_Character_060�_Helvetica12_Character_061�_Helvetica12_Character_062�_Helvetica12_Character_063�_Helvetica12_Character_064�_Helvetica12_Character_065�_Helvetica12_Character_066�_Helvetica12_Character_067�_Helvetica12_Character_068�_Helvetica12_Character_069�_Helvetica12_Character_070�_Helvetica12_Character_071�_Helvetica12_Character_072�_Helvetica12_Character_073�_Helvetica12_Character_074�_Helvetica12_Character_075�_Helvetica12_Character_076�_Helvetica12_Character_077�_Helvetica12_Character_078�_Helvetica12_Character_079�_Helvetica12_Character_080�_Helvetica12_Character_081�_Helvetica12_Character_082�_Helvetica12_Character_083�_Helvetica12_Character_084�_Helvetica12_Character_085�_Helvetica12_Character_086�_Helvetica12_Character_087�_Helvetica12_Character_088�_Helvetica12_Character_089�_Helvetica12_Character_090�_Helvetica12_Character_091�_Helvetica12_Character_092�_Helvetica12_Character_093�_Helvetica12_Character_094�_Helvetica12_Character_095�_Helvetica12_Character_096�_Helvetica12_Character_097�_Helvetica12_Character_098�_Helvetica12_Character_099�_Helvetica12_Character_100�_Helvetica12_Character_101�_Helvetica12_Character_102�_Helvetica12_Character_103�_Helvetica12_Character_104�_Helvetica12_Character_105�_Helvetica12_Character_106�_Helvetica12_Character_107�_Helvetica12_Character_108�_Helvetica12_Character_109�_Helvetica12_Character_110�_Helvetica12_Character_111�_Helvetica12_Character_112�_Helvetica12_Character_113�_Helvetica12_Character_114�_Helvetica12_Character_115�_Helvetica12_Character_116�_Helvetica12_Character_117�_Helvetica12_Character_118�_Helvetica12_Character_119�_Helvetica12_Character_120�_Helvetica12_Character_121�_Helvetica12_Character_122�_Helvetica12_Character_123�_Helvetica12_Character_124�_Helvetica12_Character_125�_Helvetica12_Character_126�_Helvetica12_Character_160�_Helvetica12_Character_161�_Helvetica12_Character_162�_Helvetica12_Character_163�_Helvetica12_Character_164�_Helvetica12_Character_165�_Helvetica12_Character_166�_Helvetica12_Character_167�_Helvetica12_Character_168�_Helvetica12_Character_169�_Helvetica12_Character_170�_Helvetica12_Character_171�_Helvetica12_Character_172�_Helvetica12_Character_173�_Helvetica12_Character_174�_Helvetica12_Character_175�_Helvetica12_Character_176�_Helvetica12_Character_177�_Helvetica12_Character_178�_Helvetica12_Character_179�_Helvetica12_Character_180�_Helvetica12_Character_181�_Helvetica12_Character_182�_Helvetica12_Character_183�_Helvetica12_Character_184�_Helvetica12_Character_185�_Helvetica12_Character_186�_Helvetica12_Character_187�_Helvetica12_Character_188�_Helvetica12_Character_189�_Helvetica12_Character_190�_Helvetica12_Character_191�_Helvetica12_Character_192�_Helvetica12_Character_193�_Helvetica12_Character_194�_Helvetica12_Character_195�_Helvetica12_Character_196�_Helvetica12_Character_197�_Helvetica12_Character_198�_Helvetica12_Character_199�_Helvetica12_Character_200�_Helvetica12_Character_201�_Helvetica12_Character_202�_Helvetica12_Character_203�_Helvetica12_Character_204�_Helvetica12_Character_205�_Helvetica12_Character_206�_Helvetica12_Character_207�_Helvetica12_Character_208�_Helvetica12_Character_209�_Helvetica12_Character_210�_Helvetica12_Character_211�_Helvetica12_Character_212�_Helvetica12_Character_213�_Helvetica12_Character_214�_Helvetica12_Character_215�_Helvetica12_Character_216�_Helvetica12_Character_217�_Helvetica12_Character_218�_Helvetica12_Character_219�_Helvetica12_Character_220�_Helvetica12_Character_221�_Helvetica12_Character_222�_Helvetica12_Character_223�_Helvetica12_Character_224�_Helvetica12_Character_225�_Helvetica12_Character_226�_Helvetica12_Character_227�_Helvetica12_Character_228�_Helvetica12_Character_229�_Helvetica12_Character_230�_Helvetica12_Character_231�_Helvetica12_Character_232�_Helvetica12_Character_233�_Helvetica12_Character_234�_Helvetica12_Character_235�_Helvetica12_Character_236�_Helvetica12_Character_237�_Helvetica12_Character_238�_Helvetica12_Character_239�_Helvetica12_Character_240�_Helvetica12_Character_241�_Helvetica12_Character_242�_Helvetica12_Character_243�_Helvetica12_Character_244�_Helvetica12_Character_245�_Helvetica12_Character_246�_Helvetica12_Character_247�_Helvetica12_Character_248�_Helvetica12_Character_249�_Helvetica12_Character_250�_Helvetica12_Character_251�_Helvetica12_Character_252�_Helvetica12_Character_253�_Helvetica12_Character_254�_Helvetica12_Character_255�_Helvetica18_Character_032�_Helvetica18_Character_033�_Helvetica18_Character_034�_Helvetica18_Character_035�_Helvetica18_Character_036�_Helvetica18_Character_037�_Helvetica18_Character_038�_Helvetica18_Character_039�_Helvetica18_Character_040�_Helvetica18_Character_041�_Helvetica18_Character_042�_Helvetica18_Character_043�_Helvetica18_Character_044�_Helvetica18_Character_045�_Helvetica18_Character_046�_Helvetica18_Character_047�_Helvetica18_Character_048�_Helvetica18_Character_049�_Helvetica18_Character_050�_Helvetica18_Character_051�_Helvetica18_Character_052�_Helvetica18_Character_053�_Helvetica18_Character_054�_Helvetica18_Character_055�_Helvetica18_Character_056�_Helvetica18_Character_057�_Helvetica18_Character_058�_Helvetica18_Character_059�_Helvetica18_Character_060�_Helvetica18_Character_061�_Helvetica18_Character_062�_Helvetica18_Character_063�_Helvetica18_Character_064�_Helvetica18_Character_065�_Helvetica18_Character_066�_Helvetica18_Character_067�_Helvetica18_Character_068�_Helvetica18_Character_069�_Helvetica18_Character_070�_Helvetica18_Character_071�_Helvetica18_Character_072�_Helvetica18_Character_073�_Helvetica18_Character_074�_Helvetica18_Character_075�_Helvetica18_Character_076�_Helvetica18_Character_077�_Helvetica18_Character_078�_Helvetica18_Character_079�_Helvetica18_Character_080�_Helvetica18_Character_081�_Helvetica18_Character_082�_Helvetica18_Character_083�_Helvetica18_Character_084�_Helvetica18_Character_085�_Helvetica18_Character_086�_Helvetica18_Character_087�_Helvetica18_Character_088�_Helvetica18_Character_089�_Helvetica18_Character_090�_Helvetica18_Character_091�_Helvetica18_Character_092�_Helvetica18_Character_093�_Helvetica18_Character_094�_Helvetica18_Character_095�_Helvetica18_Character_096�_Helvetica18_Character_097�_Helvetica18_Character_098�_Helvetica18_Character_099�_Helvetica18_Character_100�_Helvetica18_Character_101�_Helvetica18_Character_102�_Helvetica18_Character_103�_Helvetica18_Character_104�_Helvetica18_Character_105�_Helvetica18_Character_106�_Helvetica18_Character_107�_Helvetica18_Character_108�_Helvetica18_Character_109�_Helvetica18_Character_110�_Helvetica18_Character_111�_Helvetica18_Character_112�_Helvetica18_Character_113�_Helvetica18_Character_114�_Helvetica18_Character_115�_Helvetica18_Character_116�_Helvetica18_Character_117�_Helvetica18_Character_118�_Helvetica18_Character_119�_Helvetica18_Character_120�_Helvetica18_Character_121�_Helvetica18_Character_122�_Helvetica18_Character_123�_Helvetica18_Character_124�_Helvetica18_Character_125�_Helvetica18_Character_126�_Helvetica18_Character_160�_Helvetica18_Character_161�_Helvetica18_Character_162�_Helvetica18_Character_163�_Helvetica18_Character_164�_Helvetica18_Character_165�_Helvetica18_Character_166�_Helvetica18_Character_167�_Helvetica18_Character_168�_Helvetica18_Character_169�_Helvetica18_Character_170�_Helvetica18_Character_171�_Helvetica18_Character_172�_Helvetica18_Character_173�_Helvetica18_Character_174�_Helvetica18_Character_175�_Helvetica18_Character_176�_Helvetica18_Character_177�_Helvetica18_Character_178�_Helvetica18_Character_179�_Helvetica18_Character_180�_Helvetica18_Character_181�_Helvetica18_Character_182�_Helvetica18_Character_183�_Helvetica18_Character_184�_Helvetica18_Character_185�_Helvetica18_Character_186�_Helvetica18_Character_187�_Helvetica18_Character_188�_Helvetica18_Character_189�_Helvetica18_Character_190�_Helvetica18_Character_191�_Helvetica18_Character_192�_Helvetica18_Character_193�_Helvetica18_Character_194�_Helvetica18_Character_195�_Helvetica18_Character_196�_Helvetica18_Character_197�_Helvetica18_Character_198�_Helvetica18_Character_199�_Helvetica18_Character_200�_Helvetica18_Character_201�_Helvetica18_Character_202�_Helvetica18_Character_203�_Helvetica18_Character_204�_Helvetica18_Character_205�_Helvetica18_Character_206�_Helvetica18_Character_207�_Helvetica18_Character_208�_Helvetica18_Character_209�_Helvetica18_Character_210�_Helvetica18_Character_211�_Helvetica18_Character_212�_Helvetica18_Character_213�_Helvetica18_Character_214�_Helvetica18_Character_215�_Helvetica18_Character_216�_Helvetica18_Character_217�_Helvetica18_Character_218�_Helvetica18_Character_219�_Helvetica18_Character_220�_Helvetica18_Character_221�_Helvetica18_Character_222�_Helvetica18_Character_223�_Helvetica18_Character_224�_Helvetica18_Character_225�_Helvetica18_Character_226�_Helvetica18_Character_227�_Helvetica18_Character_228�_Helvetica18_Character_229�_Helvetica18_Character_230�_Helvetica18_Character_231�_Helvetica18_Character_232�_Helvetica18_Character_233�_Helvetica18_Character_234�_Helvetica18_Character_235�_Helvetica18_Character_236�_Helvetica18_Character_237�_Helvetica18_Character_238�_Helvetica18_Character_239�_Helvetica18_Character_240�_Helvetica18_Character_241�_Helvetica18_Character_242�_Helvetica18_Character_243�_Helvetica18_Character_244�_Helvetica18_Character_245�_Helvetica18_Character_246�_Helvetica18_Character_247�_Helvetica18_Character_248�_Helvetica18_Character_249�_Helvetica18_Character_250�_Helvetica18_Character_251�_Helvetica18_Character_252�_Helvetica18_Character_253�_Helvetica18_Character_254�_Helvetica18_Character_255�_TimesRoman10_Character_032�_TimesRoman10_Character_033�_TimesRoman10_Character_034�_TimesRoman10_Character_035�_TimesRoman10_Character_036�_TimesRoman10_Character_037�_TimesRoman10_Character_038�_TimesRoman10_Character_039�_TimesRoman10_Character_040�_TimesRoman10_Character_041�_TimesRoman10_Character_042�_TimesRoman10_Character_043�_TimesRoman10_Character_044�_TimesRoman10_Character_045�_TimesRoman10_Character_046�_TimesRoman10_Character_047�_TimesRoman10_Character_048�_TimesRoman10_Character_049�_TimesRoman10_Character_050�_TimesRoman10_Character_051�_TimesRoman10_Character_052�_TimesRoman10_Character_053�_TimesRoman10_Character_054�_TimesRoman10_Character_055�_TimesRoman10_Character_056�_TimesRoman10_Character_057�_TimesRoman10_Character_058�_TimesRoman10_Character_059�_TimesRoman10_Character_060�_TimesRoman10_Character_061�_TimesRoman10_Character_062�_TimesRoman10_Character_063�_TimesRoman10_Character_064�_TimesRoman10_Character_065�_TimesRoman10_Character_066�_TimesRoman10_Character_067�_TimesRoman10_Character_068�_TimesRoman10_Character_069�_TimesRoman10_Character_070�_TimesRoman10_Character_071�_TimesRoman10_Character_072�_TimesRoman10_Character_073�_TimesRoman10_Character_074�_TimesRoman10_Character_075�_TimesRoman10_Character_076�_TimesRoman10_Character_077�_TimesRoman10_Character_078�_TimesRoman10_Character_079�_TimesRoman10_Character_080�_TimesRoman10_Character_081�_TimesRoman10_Character_082�_TimesRoman10_Character_083�_TimesRoman10_Character_084�_TimesRoman10_Character_085�_TimesRoman10_Character_086�_TimesRoman10_Character_087�_TimesRoman10_Character_088�_TimesRoman10_Character_089�_TimesRoman10_Character_090�_TimesRoman10_Character_091�_TimesRoman10_Character_092�_TimesRoman10_Character_093�_TimesRoman10_Character_094�_TimesRoman10_Character_095�_TimesRoman10_Character_096�_TimesRoman10_Character_097�_TimesRoman10_Character_098�_TimesRoman10_Character_099�_TimesRoman10_Character_100�_TimesRoman10_Character_101�_TimesRoman10_Character_102�_TimesRoman10_Character_103�_TimesRoman10_Character_104�_TimesRoman10_Character_105�_TimesRoman10_Character_106�_TimesRoman10_Character_107�_TimesRoman10_Character_108�_TimesRoman10_Character_109�_TimesRoman10_Character_110�_TimesRoman10_Character_111�_TimesRoman10_Character_112�_TimesRoman10_Character_113�_TimesRoman10_Character_114�_TimesRoman10_Character_115�_TimesRoman10_Character_116�_TimesRoman10_Character_117�_TimesRoman10_Character_118�_TimesRoman10_Character_119�_TimesRoman10_Character_120�_TimesRoman10_Character_121�_TimesRoman10_Character_122�_TimesRoman10_Character_123�_TimesRoman10_Character_124�_TimesRoman10_Character_125�_TimesRoman10_Character_126�_TimesRoman10_Character_160�_TimesRoman10_Character_161�_TimesRoman10_Character_162�_TimesRoman10_Character_163�_TimesRoman10_Character_164�_TimesRoman10_Character_165�_TimesRoman10_Character_166�_TimesRoman10_Character_167�_TimesRoman10_Character_168�_TimesRoman10_Character_169�_TimesRoman10_Character_170�_TimesRoman10_Character_171�_TimesRoman10_Character_172�_TimesRoman10_Character_173�_TimesRoman10_Character_174�_TimesRoman10_Character_175�_TimesRoman10_Character_176�_TimesRoman10_Character_177�_TimesRoman10_Character_178�_TimesRoman10_Character_179�_TimesRoman10_Character_180�_TimesRoman10_Character_181�_TimesRoman10_Character_182�_TimesRoman10_Character_183�_TimesRoman10_Character_184�_TimesRoman10_Character_185�_TimesRoman10_Character_186�_TimesRoman10_Character_187�_TimesRoman10_Character_188�_TimesRoman10_Character_189�_TimesRoman10_Character_190�_TimesRoman10_Character_191�_TimesRoman10_Character_192�_TimesRoman10_Character_193�_TimesRoman10_Character_194�_TimesRoman10_Character_195�_TimesRoman10_Character_196�_TimesRoman10_Character_197�_TimesRoman10_Character_198�_TimesRoman10_Character_199�_TimesRoman10_Character_200�_TimesRoman10_Character_201�_TimesRoman10_Character_202�_TimesRoman10_Character_203�_TimesRoman10_Character_204�_TimesRoman10_Character_205�_TimesRoman10_Character_206�_TimesRoman10_Character_207�_TimesRoman10_Character_208�_TimesRoman10_Character_209�_TimesRoman10_Character_210�_TimesRoman10_Character_211�_TimesRoman10_Character_212�_TimesRoman10_Character_213�_TimesRoman10_Character_214�_TimesRoman10_Character_215�_TimesRoman10_Character_216�_TimesRoman10_Character_217�_TimesRoman10_Character_218�_TimesRoman10_Character_219�_TimesRoman10_Character_220�_TimesRoman10_Character_221�_TimesRoman10_Character_222�_TimesRoman10_Character_223�_TimesRoman10_Character_224�_TimesRoman10_Character_225�_TimesRoman10_Character_226�_TimesRoman10_Character_227�_TimesRoman10_Character_228�_TimesRoman10_Character_229�_TimesRoman10_Character_230�_TimesRoman10_Character_231�_TimesRoman10_Character_232�_TimesRoman10_Character_233�_TimesRoman10_Character_234�_TimesRoman10_Character_235�_TimesRoman10_Character_236�_TimesRoman10_Character_237�_TimesRoman10_Character_238�_TimesRoman10_Character_239�_TimesRoman10_Character_240�_TimesRoman10_Character_241�_TimesRoman10_Character_242�_TimesRoman10_Character_243�_TimesRoman10_Character_244�_TimesRoman10_Character_245�_TimesRoman10_Character_246�_TimesRoman10_Character_247�_TimesRoman10_Character_248�_TimesRoman10_Character_249�_TimesRoman10_Character_250�_TimesRoman10_Character_251�_TimesRoman10_Character_252�_TimesRoman10_Character_253�_TimesRoman10_Character_254�_TimesRoman10_Character_255�_TimesRoman24_Character_032�_TimesRoman24_Character_033�_TimesRoman24_Character_034�_TimesRoman24_Character_035�_TimesRoman24_Character_036�_TimesRoman24_Character_037�_TimesRoman24_Character_038�_TimesRoman24_Character_039�_TimesRoman24_Character_040�_TimesRoman24_Character_041�_TimesRoman24_Character_042�_TimesRoman24_Character_043�_TimesRoman24_Character_044�_TimesRoman24_Character_045�_TimesRoman24_Character_046�_TimesRoman24_Character_047�_TimesRoman24_Character_048�_TimesRoman24_Character_049�_TimesRoman24_Character_050�_TimesRoman24_Character_051�_TimesRoman24_Character_052�_TimesRoman24_Character_053�_TimesRoman24_Character_054�_TimesRoman24_Character_055�_TimesRoman24_Character_056�_TimesRoman24_Character_057�_TimesRoman24_Character_058�_TimesRoman24_Character_059�_TimesRoman24_Character_060�_TimesRoman24_Character_061�_TimesRoman24_Character_062�_TimesRoman24_Character_063�_TimesRoman24_Character_064�_TimesRoman24_Character_065�_TimesRoman24_Character_066�_TimesRoman24_Character_067�_TimesRoman24_Character_068�_TimesRoman24_Character_069�_TimesRoman24_Character_070�_TimesRoman24_Character_071�_TimesRoman24_Character_072�_TimesRoman24_Character_073�_TimesRoman24_Character_074�_TimesRoman24_Character_075�_TimesRoman24_Character_076�_TimesRoman24_Character_077�_TimesRoman24_Character_078�_TimesRoman24_Character_079�_TimesRoman24_Character_080�_TimesRoman24_Character_081�_TimesRoman24_Character_082�_TimesRoman24_Character_083�_TimesRoman24_Character_084�_TimesRoman24_Character_085�_TimesRoman24_Character_086�_TimesRoman24_Character_087�_TimesRoman24_Character_088�_TimesRoman24_Character_089�_TimesRoman24_Character_090�_TimesRoman24_Character_091�_TimesRoman24_Character_092�_TimesRoman24_Character_093�_TimesRoman24_Character_094�_TimesRoman24_Character_095�_TimesRoman24_Character_096�_TimesRoman24_Character_097�_TimesRoman24_Character_098�_TimesRoman24_Character_099�_TimesRoman24_Character_100�_TimesRoman24_Character_101�_TimesRoman24_Character_102�_TimesRoman24_Character_103�_TimesRoman24_Character_104�_TimesRoman24_Character_105�_TimesRoman24_Character_106�_TimesRoman24_Character_107�_TimesRoman24_Character_108�_TimesRoman24_Character_109�_TimesRoman24_Character_110�_TimesRoman24_Character_111�_TimesRoman24_Character_112�_TimesRoman24_Character_113�_TimesRoman24_Character_114�_TimesRoman24_Character_115�_TimesRoman24_Character_116�_TimesRoman24_Character_117�_TimesRoman24_Character_118�_TimesRoman24_Character_119�_TimesRoman24_Character_120�_TimesRoman24_Character_121�_TimesRoman24_Character_122�_TimesRoman24_Character_123�_TimesRoman24_Character_124�_TimesRoman24_Character_125�_TimesRoman24_Character_126�_TimesRoman24_Character_160�_TimesRoman24_Character_161�_TimesRoman24_Character_162�_TimesRoman24_Character_163�_TimesRoman24_Character_164�_TimesRoman24_Character_165�_TimesRoman24_Character_166�_TimesRoman24_Character_167�_TimesRoman24_Character_168�_TimesRoman24_Character_169�_TimesRoman24_Character_170�_TimesRoman24_Character_171�_TimesRoman24_Character_172�_TimesRoman24_Character_173�_TimesRoman24_Character_174�_TimesRoman24_Character_175�_TimesRoman24_Character_176�_TimesRoman24_Character_177�_TimesRoman24_Character_178�_TimesRoman24_Character_179�_TimesRoman24_Character_180�_TimesRoman24_Character_181�_TimesRoman24_Character_182�_TimesRoman24_Character_183�_TimesRoman24_Character_184�_TimesRoman24_Character_185�_TimesRoman24_Character_186�_TimesRoman24_Character_187�_TimesRoman24_Character_188�_TimesRoman24_Character_189�_TimesRoman24_Character_190�_TimesRoman24_Character_191�_TimesRoman24_Character_192�_TimesRoman24_Character_193�_TimesRoman24_Character_194�_TimesRoman24_Character_195�_TimesRoman24_Character_196�_TimesRoman24_Character_197�_TimesRoman24_Character_198�_TimesRoman24_Character_199�_TimesRoman24_Character_200�_TimesRoman24_Character_201�_TimesRoman24_Character_202�_TimesRoman24_Character_203�_TimesRoman24_Character_204�_TimesRoman24_Character_205�_TimesRoman24_Character_206�_TimesRoman24_Character_207�_TimesRoman24_Character_208�_TimesRoman24_Character_209�_TimesRoman24_Character_210�_TimesRoman24_Character_211�_TimesRoman24_Character_212�_TimesRoman24_Character_213�_TimesRoman24_Character_214�_TimesRoman24_Character_215�_TimesRoman24_Character_216�_TimesRoman24_Character_217�_TimesRoman24_Character_218�_TimesRoman24_Character_219�_TimesRoman24_Character_220�_TimesRoman24_Character_221�_TimesRoman24_Character_222�_TimesRoman24_Character_223�_TimesRoman24_Character_224�_TimesRoman24_Character_225�_TimesRoman24_Character_226�_TimesRoman24_Character_227�_TimesRoman24_Character_228�_TimesRoman24_Character_229�_TimesRoman24_Character_230�_TimesRoman24_Character_231�_TimesRoman24_Character_232�_TimesRoman24_Character_233�_TimesRoman24_Character_234�_TimesRoman24_Character_235�_TimesRoman24_Character_236�_TimesRoman24_Character_237�_TimesRoman24_Character_238�_TimesRoman24_Character_239�_TimesRoman24_Character_240�_TimesRoman24_Character_241�_TimesRoman24_Character_242�_TimesRoman24_Character_243�_TimesRoman24_Character_244�_TimesRoman24_Character_245�_TimesRoman24_Character_246�_TimesRoman24_Character_247�_TimesRoman24_Character_248�_TimesRoman24_Character_249�_TimesRoman24_Character_250�_TimesRoman24_Character_251�_TimesRoman24_Character_252�_TimesRoman24_Character_253�_TimesRoman24_Character_254�_TimesRoman24_Character_255�_fgFontFixed8x13�_fgFontFixed9x15�_fgFontHelvetica10�_fgFontHelvetica12�_fgFontHelvetica18�_fgFontTimesRoman10�_fgFontTimesRoman24�/83 1264195963 500 500 100664 3858 ` L����� �������.text�����������ð��´���L������S��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������¨��¤��Š ���������@�0@U‰åV‰ÆSìÀ���\ÿÿÿ‰\$ÇD$ÿÿÿÿÇ$����è����‹`���‰ðÇE„��\�‰UÈ‹d���ƒì <À‰UÌ‹l���ƒàƒÀÇD$����‰D$ ‰UÄ‹p���ÇD$����‰\$Ç$����‰UÔè����ƒÀƒìƒøv¸ä���´&����‰$è����eø1À[^]Ãÿ$…H��¸��ëá¸(���ëÙ¸����ëÒf¸À���ëɸˆ���ëÂf‰\$ÇD$ÿÿÿÿÇ$����è����‹EÈ£`���‹EÌƒì £d���‹EÄ£l���‹EÔ£p���eø¸���[^]Éö¼'����U‰åSƒì‹]€=����t?ƒûv‰\$Ç$´��è����ƒÄ¸ÿÿÿÿ[]Ãÿ$Ð��¶����1Àƒ=$����•ÀƒÄ[]ÃÇD$d��Ç$t��è����ë«¡l���ƒÄ[]áp���ƒÄ[]Ãf¸���èFþÿÿƒÄ[]¶Àá`���ƒÄ[]Ãf¡d���ƒÄ[]Ãt&�U‰åƒì€=����t4¡$���…Àt)‰$è����Ç$�������ÇD$����Ç$���è����ƒìÉÃÇD$ì��Ç$t��è����ë¶´&����U‰åƒì8€=����„­���¡$���…À„Á���‰$è����1Àè‘ýÿÿ„Àt}¡d���ÇD$$����ÇD$ ���ÇD$���‰D$¡`���ÇD$����ÇD$ ����ÇD$���‰D$ÇD$1��Ç$����è����‹`���‰P‹d���£$���Æ@F‰P ‹@Éô&����Ç$��è����1ÀÉÃÇD$þ��Ç$t��è����¡$���…À…?ÿÿÿÇD$���ÇD$ÿÿÿÿÇ$����è���� ,�����\�ƒì éÿÿÿU‰åWVSƒì<€=����ÇEä€��ÇEàà��ÇEÜ���ÇEØH���„F��E؉D$‹E}Üuà]ä‰|$‰t$ ‰\$ÇD$M��‰$è����ƒø„æ���‹E‰|$‰t$ ‰\$ÇD$Y��‰$è����ƒø„¾���E؉D$‹E‰t$ ‰\$ÇD$b��‰$è����ƒø„“���‹E‰t$ ‰\$ÇD$k��‰$è����ƒøtsE؉D$ ‹E‰|$ÇD$q��‰$è����ƒøtP‹E‰|$ÇD$x��‰$è����ƒøt4E؉D$‹EÇD$|��‰$è����ƒøt‹EÇ$€��‰D$è����f‹Eä£`���‹Eà£d���‹EÜ£l���‹EØ£p���ƒÄ<[^_]ÃÇD$:��Ç$t��è����é¡þÿÿAn invalid set of flags was passed in.��An invalid parameter was passed in. This can include an invalid flag or combination of flags.���The display driver failed the specified graphics mode.��The graphics mode is not supported.�Unknown error in graphics mode???���The computer must be restarted for the graphics mode to work.���À���Ç���”���Ð���×���à���¸���glutGameModeGet� ERROR: Function <%s> called without first calling 'glutInit'.�Unknown gamemode get: %d����p��°��Ã��Ð��˜��£��p��glutLeaveGameMode�glutEnterGameMode�failed to change screen settings�FREEGLUT�glutGameModeString�%ix%i:%i@%i�%ix%i:%i�%ix%i@%i�%ix%i�:%i@%i�:%i�@%i�unable to parse game mode string `%s'���'�������-�������?�������O�������j�������…�������•�������¤�������´�������¹�������Á�������È�������Ñ�������Ø�������ô�������ü�������������������������<������O������T������f������t������†������������’������™������¤������Ä������Ñ������è������ð������ü������������������������'������.������3������H������T������d������t������•������¹������Å������Ë������Ô������Ù������ó������ø������������ ������������������%������9������?������[������¥������­������Í������Õ������ø�������������������$������?������G������[������c������z������‚������‘������š������¤������¬������´������¼������Ì������Ó������Ø������H������L������P������T������X������\������`������Ð������Ô������Ø������Ü������à������ä������è������.file�������þÿ��g����������������������������� �����������������������.���0��� ������?���à��� ������R���@��� ������e���P��� ��.text����������á��S�������������.data����������������������������.bss�����������������������������.rdata���������¦���������������_fgState�������������y����������������†����������������‘��������� ������®��������� ������È��������� ������â��������� ������ò��������� ��_sscanf������� ������ �������� ��_fgError������ ����freeglut_gamemode.c�_fghChangeDisplayMode�_glutGameModeGet�_glutLeaveGameMode�_glutEnterGameMode�_glutGameModeString�_fgStructure�_fgDisplay�_ChangeDisplaySettingsExA@20�_ChangeDisplaySettingsA@8�_fgAddToWindowDestroyList�_fgCreateWindow�_EnumDisplaySettingsA@12�_fgWarning�/104 1264195964 500 500 100664 30085 ` L�����Lo��8�����.text�����������€H��´���tQ������ü�� �P`.data��������������4I��������������@�`À.bss��������������������������������€�0À.rdata����������@��4M��������������@�`@U‰åWVSƒìl‹]€=����‹} ÝE„‘���ƒû�„«���~vØ ��ƒë‰]Ä1ÛWG‰}¼uЉljUÀ݃����ØÉ‹E¼‹UÀÜ�‹EÄÝ]Ð݃���ØÉÜÝ]ØÝƒ���ƒÃØÉ܉t$‰$Ý]àÝT$Ý]¨èqÿÿÿƒû`ÝE¨u²ÝØët&�ÝØeô[^_]ö����Ý]¨ÇD$����Ç$���è����ƒû�ÝE¨…UÿÿÿÝ]¨Ç$���è����GW‰E´¸���‰}¼‰Ç‰UÀÇEÄ����ƒìÝE¨Ý1ÛÙàÝ\$ÝGøÙàÝ\$ÝGðÙàÝ$Ý]¨è����‹Uĉ}¸‹}´R4… ��ƒìÝE¨‹ƒÃƒÆ‹UÀ@ÝÅ���ØÉÜÝ\$ÝÅ���ØÉÜÝ\$ÝÅ����ØÉ‹E¼Ü�Ý$Ý]¨è����ƒìƒûÝE¨u°‹}¸ƒEăǃ}Ä…`ÿÿÿÝØè����eô[^_]ö����¿����U‰åWVSƒì|‹]€=����ÝE„t��ƒû�…ë���‹E 1ÿ‹U Ý]°‰}ăÀ‰EÀƒÂ¸���‰U¸‰ÇÇ$���1Ûè����݃ìÙàÝ\$ÝGøÙàÝ\$ÝGðÙàÝ$è����‹Uĉ}¼‹}¸R4… ��ƒìÝE°‹ƒÃƒÆ‹UÀ@ÝÅ���ØÉÜÝ\$ÝÅ���ØÉÜÝ\$ÝÅ����ØÉ‹E Ü�Ý$Ý]˜è����ƒìƒûÝE˜u°ÝØ‹}¼è����ƒEăǃ}Ä…Mÿÿÿët&�ÝØeô[^_]ö����~î‹U ƒëØ ��‹} ‰]ÄuÐ1ۃ‰UÀƒÇ݃����ØÉ‹E ‹UÀÜ�‹EÄÝ]Ð݃���ØÉÜÝ]ØÝƒ���ƒÃØÉ܉t$‰$Ý]àÝT$Ý]˜èˆþÿÿƒû`ÝE˜u²ÝØeô[^_]ö����Ý]˜ÇD$\���Ç$���è����ÝE˜émþÿÿU‰åƒìX€=����uÇD$u���Ç$���è����Ç$���è����Ý��ƒìÝT$ÝT$Ý$Ý]Øè����ƒìÙîÝT$ÝT$ÙèÝ$Ù]èè����ƒìÙEèÝT$ÙèÝ\$Ý$è����ƒìÙèÝ\$ÙEèÝT$Ý$è����Ý ��ƒìÝT$ÝEØÝT$Ý$Ý]Èè����ƒìÙEèÝT$Ý\$ÙèÝ$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÝ\$Ý$è����ÝE؃ìÝT$ÝEÈÝ\$Ý$è����ƒìÙEèÝT$Ý\$ÙèÝ$è����ƒìÙèÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ÝEȃìÝT$Ý\$ÝEØÝ$è����ƒìÙEèÝT$Ý\$ÙèÝ$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÝEØÝT$Ý\$ÝEÈÝ$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ƒìÙèÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÝ\$Ý$è����ÝEȃìÝT$ÝEØÝ\$Ý$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ƒìÙEèÝT$ÙèÝ\$Ý$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÝEØÝ\$ÝEÈÝT$Ý$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ÙèƒìÝ\$ÙEèÝT$Ý$è����ÝEȃìÝT$ÝT$Ý$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ƒìÉé����U‰åƒìX€=����uÇD$‰���Ç$���è����Ç$���è����Ý��ƒìÝT$ÝT$Ý$Ý]Øè����ƒìÙîÝT$ÝT$ÙèÝ$Ù]èè����ƒìÙEèÝT$ÙèÝ\$Ý$è����ƒìÙèÝ\$ÙEèÝT$Ý$è����Ý ��ƒìÝT$ÝEØÝT$Ý$Ý]Èè����ƒìÙEèÝT$Ý\$ÙèÝ$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÝ\$Ý$è����ÝE؃ìÝT$ÝEÈÝ\$Ý$è����ƒìÙEèÝT$Ý\$ÙèÝ$è����ƒìÙèÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ÝEȃìÝT$Ý\$ÝEØÝ$è����ƒìÙEèÝT$Ý\$ÙèÝ$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÝEØÝT$Ý\$ÝEÈÝ$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ƒìÙèÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÝ\$Ý$è����ÝEȃìÝT$ÝEØÝ\$Ý$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ƒìÙEèÝT$ÙèÝ\$Ý$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÝEØÝ\$ÝEÈÝT$Ý$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ÙèƒìÝ\$ÙEèÝT$Ý$è����ÝEȃìÝT$ÝT$Ý$è����ƒìÙEèÝT$Ý\$ÙèÙàÝ$è����ÙèƒìÙàÝ\$ÙEèÝT$Ý$è����ƒìÙEèÝT$ÙèÙàÝ\$Ý$è����ƒìÉé����U‰åƒìH€=����uÇD$œ���Ç$���è����Ç$ ���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è����ÙèƒìÝT$ÝT$ÙèÙàÝ$Ù]ØÙ]èè����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è����ÙEèƒìÝT$ÝT$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è����ƒìÙEØÝ\$ÙEèÝT$Ý$è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è����ƒìÙEØÝT$ÙEèÝ\$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è����ÙEèƒìÝT$ÙEØÝ\$Ý$è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è����ÙEèƒìÝ\$ÙEØÝT$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è����ƒìÙEØÝT$ÝT$Ý$è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è����ƒìÙEØÝT$Ý\$ÙEèÝ$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è����ÙEèƒìÝT$ÙEØÝ\$Ý$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è����ÙEèƒìÝT$ÝT$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è����ÙEèƒìÝT$Ý\$ÙEØÝ$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è����ÙEèƒìÝ\$ÙEØÝT$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è����ƒìÙEØÝ\$ÙEèÝT$Ý$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?è����ƒìÙEØÝT$Ý\$ÙEèÝ$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è����ƒìÙEØÝT$ÝT$Ý$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿è����ƒìÙEØÝT$ÙEèÝ\$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è����ƒìÙEØÝ\$ÙEèÝT$Ý$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è����ÙEèƒìÝT$ÝT$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?è����ÙEèƒìÝT$ÙEØÝ\$Ý$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è����ƒìÙEØÝT$Ý\$ÙEèÝ$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿è����ÙEèƒìÝT$Ý\$ÙEØÝ$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è����ƒìÙEØÝT$ÙEèÝ\$Ý$è����ƒìè����Ç$ ���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è����ƒìÙEØÝT$ÝT$Ý$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è����ƒìÙEèÝ\$ÙEØÝT$Ý$è����ƒìÉé����U‰åƒìH€=����uÇD$²���Ç$���è����Ç$���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è����ÙèƒìÝT$ÝT$ÙèÙàÝ$Ù]ØÙ]èè����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è����ÙEèƒìÝT$ÝT$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è����ƒìÙEØÝ\$ÙEèÝT$Ý$è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è����ƒìÙEØÝT$ÙEèÝ\$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è����ÙEèƒìÝT$ÙEØÝ\$Ý$è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è����ÙEèƒìÝ\$ÙEØÝT$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è����ƒìÙEØÝT$ÝT$Ý$è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è����ƒìÙEØÝT$Ý\$ÙEèÝ$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è����ÙEèƒìÝT$ÙEØÝ\$Ý$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è����ÙEèƒìÝT$ÝT$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è����ÙEèƒìÝT$Ý\$ÙEØÝ$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è����ÙEèƒìÝ\$ÙEØÝT$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë?è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è����ƒìÙEØÝ\$ÙEèÝT$Ý$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?è����ƒìÙEØÝT$Ý\$ÙEèÝ$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë¿è����ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è����ƒìÙEØÝT$ÝT$Ý$è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿è����ƒìÙEØÝT$ÙEèÝ\$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è����ƒìÙEØÝ\$ÙEèÝT$Ý$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è����ÙEèƒìÝT$ÝT$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà?è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?è����ÙEèƒìÝT$ÙEØÝ\$Ý$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è����ƒìÙEØÝT$Ý\$ÙEèÝ$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿è����ÙEèƒìÝT$Ý\$ÙEØÝ$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è����ƒìÙEØÝT$ÙEèÝ\$Ý$è����ƒìè����Ç$���è����ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà¿è����ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è����ƒìÙEØÝT$ÝT$Ý$è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è����ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è����ƒìÙEèÝ\$ÙEØÝT$Ý$è����ƒìÉé����U‰åƒìh€=����Ù��ÜMuÝ]èÇD$Ç���Ç$���è����ÝEèÝ]èÇ$���è����ÙîƒìÝT$ÝT$ÙèÝ$ÙÉÙ]ÈÙ]¸è����ÝEèƒìÙÀÙàÙÉÝT$ÙÉÝT$ÙÉÝ$Ý]Øè����ƒìÝEØÝT$Ý\$ÝEèÝ$è����ÝE؃ìÝ\$ÝEèÝT$Ý$è����ƒìÝEèÝT$ÝT$Ý$è����ÙEȃìÝT$ÙE¸Ý\$Ý$è����ƒìÝEèÝT$ÝT$Ý$è����ƒìÝEØÝ\$ÝEèÝT$Ý$è����ƒìÝEØÝT$ÝEèÝ\$Ý$è����ƒìÝEèÝT$Ý\$ÝEØÝ$è����ÙE¸ƒìÝ\$ÙEÈÝT$Ý$è����ƒìÝEèÝT$ÝT$Ý$è����ƒìÝEèÝT$Ý\$ÝEØÝ$è����ƒìÝEèÝ\$ÝEØÝT$Ý$è����ƒìÝEèÝT$ÝEØÝ\$Ý$è����ÙEȃìÝT$Ý\$ÙèÙàÝ$Ù]¸è����ƒìÝEèÝ\$ÝEØÝT$Ý$è����ƒìÝEèÝT$Ý\$ÝEØÝ$è����ÝE؃ìÝT$ÝEèÝ\$Ý$è����ÝE؃ìÝT$ÝT$Ý$è����ÙEȃìÝT$ÙE¸Ý\$Ý$è����ƒìÝEèÝ\$ÝEØÝT$Ý$è����ÝE؃ìÝT$ÝT$Ý$è����ÝE؃ìÝT$Ý\$ÝEèÝ$è����ƒìÝEèÝT$ÝEØÝ\$Ý$è����ÙE¸ƒìÝ\$ÙEÈÝT$Ý$è����ÝE؃ìÝT$ÝT$Ý$è����ÝE؃ìÝT$ÝEèÝ\$Ý$è����ƒìÝEØÝ\$ÝEèÝT$Ý$è����ƒìÝEØÝT$Ý\$ÝEèÝ$è����ƒìÉé����¶����U‰åƒìh€=����Ù��ÜMuÝ]èÇD$Õ���Ç$���è����ÝEèÝ]èÇ$���è����ÙîƒìÝT$ÝT$ÙèÝ$ÙÉÙ]ÈÙ]¸è����ÝEèƒìÙÀÙàÙÉÝT$ÙÉÝT$ÙÉÝ$Ý]Øè����ƒìÝEØÝT$Ý\$ÝEèÝ$è����ÝE؃ìÝ\$ÝEèÝT$Ý$è����ƒìÝEèÝT$ÝT$Ý$è����ƒìè����Ç$���è����ÙEȃìÝT$ÙE¸Ý\$Ý$è����ƒìÝEèÝT$ÝT$Ý$è����ƒìÝEØÝ\$ÝEèÝT$Ý$è����ƒìÝEØÝT$ÝEèÝ\$Ý$è����ƒìÝEèÝT$Ý\$ÝEØÝ$è����ƒìè����Ç$���è����ÙE¸ƒìÝ\$ÙEÈÝT$Ý$è����ƒìÝEèÝT$ÝT$Ý$è����ƒìÝEèÝT$Ý\$ÝEØÝ$è����ƒìÝEèÝ\$ÝEØÝT$Ý$è����ƒìÝEèÝT$ÝEØÝ\$Ý$è����ƒìè����Ç$���è����ÙEȃìÝT$Ý\$ÙèÙàÝ$Ù]¸è����ƒìÝEèÝ\$ÝEØÝT$Ý$è����ƒìÝEèÝT$Ý\$ÝEØÝ$è����ƒìÝEØÝT$ÝEèÝ\$Ý$è����ÝE؃ìÝT$ÝT$Ý$è����ƒìè����Ç$���è����ÙEȃìÝT$ÙE¸Ý\$Ý$è����ƒìÝEèÝ\$ÝEØÝT$Ý$è����ÝE؃ìÝT$ÝT$Ý$è����ƒìÝEØÝT$Ý\$ÝEèÝ$è����ƒìÝEèÝT$ÝEØÝ\$Ý$è����ƒìè����Ç$���è����ƒìÙE¸Ý\$ÙEÈÝT$Ý$è����ÝE؃ìÝT$ÝT$Ý$è����ÝE؃ìÝT$ÝEèÝ\$Ý$è����ƒìÝEØÝ\$ÝEèÝT$Ý$è����ƒìÝEØÝT$Ý\$ÝEèÝ$è����ƒìÉé����fU‰åVSƒì€=����„¯���Ç$���¾`���1Ûè����ƒìt&�‰4$ƒÆè����‹ƒ`��@Å€��ƒì‰$è����‹ƒd��@Å€��ƒì‰$è����‹ƒh��@Å€��ƒì‰$è����‹ƒl��ƒÃ@Å€��ƒì‰$è����ƒìûÀ���…wÿÿÿeø[^]é����ÇD$â���Ç$���è����é8ÿÿÿv�U‰åVSƒì€=����„¯���¾`���1Ût&�Ç$���è����ƒì‰4$ƒÆè����‹ƒ`��@Å€��ƒì‰$è����‹ƒd��@Å€��ƒì‰$è����‹ƒh��@Å€��ƒì‰$è����‹ƒl��ƒÃ@Å€��ƒì‰$è����ƒìè����ûÀ���…cÿÿÿeø[^]ÃÇD$ÿ���Ç$���è����é8ÿÿÿv�U‰åWVSƒìL€=����„��Ç$���1Ûè����ƒì‹“ ��‹ƒ$�� R‹“(��ƒÃ ÝÍè��@ÝÅè��<Í����ØáÇà��R4Õ����ÝÍð��ÝÕð��ØáÙɉuÄ4Å����Æà��Ü,Åð��ÙËÜ,Õè��ÙÂØÊÙÄØÊÞéÝ]ÐÝÍà��ÝÕà��ØáÙÉÜ,Åà��ÙÍEЉ$ØÉÙËØÍÞëÙÊÝ]ØÞËÞÉÞéÝ]àè����ƒì‰<$è����ƒì‰4$è����‹EÄà��ƒì‰$è����ƒìûð���… ÿÿÿè����eô[^_]ô&����ÇD$��Ç$���è����éÍþÿÿ´&����U‰åWVSƒìL€=����„��1Û‹“ ��‹ƒ$��Ç$��� R‹“(��ƒÃ ÝÍè��@ÝÅè��<Í����ØáÇà��R4Õ����ÝÍð��ÝÕð��ØáÙɉuÄ4Å����Æà��Ü,Åð��ÙËÜ,Õè��ÙÂØÊÙÄØÊÞéÝ]ÐÝÍà��ÝÕà��ØáÙÉÜ,Åà��ÙÍØÉÙËØÍÞëÙÊÝ]ØÞËÞÉÞéÝ]àè����EЃì‰$è����ƒì‰<$è����ƒì‰4$è����‹EÄà��ƒì‰$è����ƒìè����ûð���…÷þÿÿeô[^_]ô&����ÇD$0��Ç$���è����éÍþÿÿ´&����U‰åƒì(€=����uÇD$D��Ç$���è����Ç$���è����Ý���ƒìÙàÝ\$Ý���ÙàÝ\$Ý����ÙàÝ$è����ƒìÇ$���è����ƒìÇ$H���è����ƒìÇ$0���è����Ý(���ƒìÙàÝ\$Ý ���ÙàÝ\$Ý���ÙàÝ$è����ƒìÇ$����è����ƒìÇ$0���è����ƒìÇ$H���è����Ý@���ƒìÙàÝ\$Ý8���ÙàÝ\$Ý0���ÙàÝ$è����ƒìÇ$����è����ƒìÇ$H���è����ƒìÇ$���è����ÝX���ƒìÙàÝ\$ÝP���ÙàÝ\$ÝH���ÙàÝ$è����ƒìÇ$����è����ƒìÇ$���è����ƒìÇ$0���è����ƒìÉé����´&����U‰åƒì(€=����uÇD$Y��Ç$���è����Ç$���è����Ý���ƒìÙàÝ\$Ý���ÙàÝ\$Ý����ÙàÝ$è����ƒìÇ$���è����ƒìÇ$H���è����ƒìÇ$0���è����Ý(���ƒìÙàÝ\$Ý ���ÙàÝ\$Ý���ÙàÝ$è����ƒìÇ$����è����ƒìÇ$0���è����ƒìÇ$H���è����Ý@���ƒìÙàÝ\$Ý8���ÙàÝ\$Ý0���ÙàÝ$è����ƒìÇ$����è����ƒìÇ$H���è����ƒìÇ$���è����ÝX���ƒìÙàÝ\$ÝP���ÙàÝ\$ÝH���ÙàÝ$è����ƒìÇ$����è����ƒìÇ$���è����ƒìÇ$0���è����ƒìÉé����´&����U‰åWV‰ÖS‰Ã‰Èƒì<Áø‰Ç1Ï)Ç…É…¤���Ý(��Ý]ØW‰T$‰UÈÇ$���è����‹Uȉ‰T$Ç$���è����‰‹…Ò‰Uàty…Àtu‹UàÙîƒÿ‹6ÝÙèÝ~:»���¶����‰]äÛEäÜMØÝ$Ý]Èè����‹EàÝØÝEÈÝ$è����ÝÞƒÃ9ûuÑ‹UàÝÝúÝÝþƒÄ<[^_]ÉMäÛEäÜ=(��Ý]ØéQÿÿÿ‹Eà‰$è����‹‰$è����Ç$p��è����‹‰]àé`ÿÿÿ¶����¼'����U‰åWVSƒìl‹uÝEÝ]È‹]ÝE…ö‰ðÝ]°Ž£��‰EÔÛEÔÜ}°€=����Ý]¨„q��‰Ù÷ÙUàEäè£þÿÿ…öˆ«���ÇE¼����Ùî9u¼Ý]À„‹���¶����Ç$���è����ƒì…Û~R1ÿ‹EäÙîÝ\$Ýø‹EàÝ\$ÝøÝ$è����‹EäƒìÝEÀÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$è����ƒì9û°è����ƒE¼;u¼|ÝEÀÜE¨9u¼Ý]À…{ÿÿÿÝE°Ý]ÀépÿÿÿÇ$���è����ƒì…Û~y1ö‹EäÙîÝ\$Ýð‹EàÝ\$ÝðÝ$è����‹EäƒìÙîÝ\$ÝEÈÜ ð‹EàÝ\$ÝEÈÜ ðÝ$è����‹EäƒìÝE°Ý\$ÝEÈÜ ð‹EàÝ\$ÝEÈÜ ðƒÆÝ$è����ƒì9ó‰è����‹Eä‰$è����‹Eà‰$è����eô[^_]ÃÇD$œ��Ç$���è����évþÿÿ¸���éSþÿÿ´&����¼'����U‰åWVSìŒ���‹]ÝE€=����Ý]È‹uÝEÝ]¨„"��‰Ù÷ÙUàEäèÖüÿÿÇ$���è����ÙèƒìÙàÝ\$ÙîÝT$Ý$Ù]ˆè����ƒìÙEˆÝT$ÝT$Ý$è����ƒì…ÛÙEˆˆà��ÝØ1ÿ¶����Ùî‹EäÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$è����ƒì9û}Òè����<Ý����Ç$���è����ƒìÙèÝ\$ÙîÝT$Ý$è����ƒìÝE¨Ý\$ÙîÝT$Ý$è����‰]Àƒìt&�‹EäÝE¨Ý\$ÝEÈÜ 8‹EàÝ\$ÝEÈÜ 8ƒïÝ$è����ƒìƒmÀyÏè����…öŽá���‰uÔÛEÔÜ}¨ÇE´���9u´ÝU Ý]ÀÙîÝ]¸„²���Ç$���è����ƒì…Ûxz1ÿÙî‹EäÝ\$Ýø‹EàÝ\$ÝøÝ$è����‹EäƒìÝE¸Ý\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øÝ$è����‹EäƒìÝEÀÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$è����ƒì9û}ˆè����ƒE´;u´|"ÝEÀÝU¸ÝE ÞÁ9u´Ý]À…NÿÿÿÝE¨Ý]ÀéCÿÿÿ‹Eä‰$è����‹Eà‰$è����eô[^_]ÃÇD$­��Ç$���è����éÅýÿÿÙ]ˆè����Ç$���è����ÙèPÝ\$ÙEˆÝT$Ý$è����ƒìÝE¨Ý\$ÙEˆÝT$Ý$è����ƒìéþÿÿë U‰åWVSìŒ���‹u€=����ÝEÝ]Ћ]„±��‰ñ÷ÙUàEäèúÿÿ UØEÜèúÿÿƒûŽ¥���ÇE´���‹EØ‹U´ÝЋEÜÝ]ÀÝÐÝ]ÈÇ$���è����ƒì…öxdÝEÀ1ÿÜMÐÝ]¸‹EàÝø‹EäÝøƒÇÝEÀÝ\$ÝT$ÙÉÝ$Ý]˜Ý]¨è����ƒìÝE¸Ý\$ÝE¨ÜMÈÜMÐÝ\$ÝE˜ÜMÈÜMÐÝ$è����ƒì9þ}§è����ƒE´;]´bÿÿÿ…öŽª���ÇEÈ����Ç$���è����ƒì…Ûx}‹EÈ1ÿÁàt&�‹U܉E”Ýú‹UàÝØÉÙÉ‹UäÜ ‹UØÝúƒÇÝT$ÙÉÝT$ÙÊÝ$Ý]˜ÙÉÝ]¨Ý]ˆè����ÝEˆƒìÜMÐÝ\$ÝE¨ÜMÐÝ\$ÝE˜ÜMÐÝ$è����‹E”ƒì9û}è����ƒEÈ;uÈ^ÿÿÿ‹Eä‰$è����‹Eà‰$è����‹E܉$è����‹E؉$è����eô[^_]ÃÇD$¿��Ç$���è����é6þÿÿU‰åWVSìŒ���‹]€=����ÝEÝ]È‹u„2��‰Ù÷ÙUàEäè,øÿÿEÜ 6UØèøÿÿ…ö‹EØŽ#��‹UÜÝ@¸���Ý]ÀÝÝ]ÐÇ$���è����ƒìÙèÝ\$ÙîÝT$Ý$Ù]ˆè����ƒìÝEÈÝ\$ÙEˆÝT$Ý$è����ƒì…ÛxxÝEÀ<Ý����ÜMȉ]¸Ý]°¶����‹EäÝEÀÝ\$ÝEÐÜ 8‹EàÝ\$ÝEÐÜ 8Ý$è����‹EäƒìÝE°Ý\$ÝEÐÜ 8‹EàÜMÈÝ\$ÝEÐÜ 8ƒïÜMÈÝ$è����ƒìƒm¸y¡ƒîè����ƒþ‰u Ž9��ÝEÀ¿���Ý]¸ÇE¤���‹EØÝ8‹EÜÝ]ÀÝ8Ý]ˆÇ$���è����ƒì…ÛÝEˆˆÐ���ÝEÀ1öÜMÈÝ]°ÝE¸ÜMÈÝ]¨‹EäÝEÀÝ\$ÝðØÉ‹EàÝ\$ÝðØÉÝ$Ý]ˆè����‹EäƒìÝE°Ý\$ÝEˆÝðØÉ‹EàÜMÈÝ\$ÝðÞÉÜMÈÝ$è����‹EäƒìÝE¸Ý\$ÝEÐÜ ð‹EàÝ\$ÝEÐÜ ðÝ$è����‹EäƒìÝE¨Ý\$ÝEÐÜ ð‹EàÜMÈÝ\$ÝEÐÜ ðƒÆÜMÈÝ$è����ƒì9óÝEˆDÿÿÿÝ]ˆƒÇè����‹E ƒE¤9E¤ÝEˆ}Ý]ÐÝEÀÝ]¸éÜþÿÿÝ]ÐÇ$���è����ÙèƒìÙàÝ\$ÙîÝT$Ý$Ù]ˆè����ÝEȃìÙàÝ\$ÙEˆÝT$Ý$è����ƒì…ÛxhÝEÀ1öÜMÈÝ]°‹EäÝEÀÝ\$ÝEÐÜ ð‹EàÝ\$ÝEÐÜ ðÝ$è����‹EäƒìÝE°Ý\$ÝEÐÜ ð‹EàÜMÈÝ\$ÝEÐÜ ðƒÆÜMÈÝ$è����ƒì9ó}£è����‹Eä‰$è����‹Eà‰$è����‹E܉$è����‹E؉$è����eô[^_]ÃÇD$Î��Ç$���è����éµüÿÿÝ�1ÀÝ]À‹UÜéÜüÿÿU‰åWVSì¼���‹E‹U€=����ÝEÝEÝ]ЉE ‰U¬„ï��‹M …ÉŽ ��‹] ‹U¬ƒÃ…Ò4[Ž��‹E¬ƒÀ‰E¸¯u¸Ý]ˆÇ$���‰t$è����‰t$Ç$���‰Eœè����‰E˜è����[‹}œÁà‰EÜ‹E˜‰]àÇE¼����ÛE¬‰ÃÜ=(��Ý]°ÛE Ü=0��Ý]ÈÙîÙÀÙèÙÊÝ]ÀÝEˆ´&����Ùî1öÙÀ1ÀÙèëkt&�ÜEȉ…dÿÿÿÝ$ÝXÿÿÿÙÊÝxÿÿÿÝhÿÿÿÝ]ˆè����Ý…XÿÿÿÝ$ÝHÿÿÿè����‹…dÿÿÿÝ…HÿÿÿÝ…XÿÿÿÝ…xÿÿÿÝ…hÿÿÿÝEˆÙËÙÊÙÍÙÉÙÌÙÃÀØÉÜEÐÙÀØÏÝ7ØÍÝ\7ÙÃØÊÝ\7ÙÅØÉÝ3ØÌÝ\3Ý\3ƒÆ;EàŒ]ÿÿÿÝØÝÙÝÙƒE¼‹U¸}Ü]Ü9U¼}9ÝEÀÜE°ÝUÀÝ$Ý]ˆè����ÝEÀÝ$Ýxÿÿÿè����Ý…xÿÿÿÝEˆÙÉÙÊÙÉéüþÿÿÝØ‹]àÇ$���è����‹U˜ÇE¨����[ÁàÂEœƒì‰UȉEÐÇE¤����¶����‹Eœ1Û1ÿ‹U¨‹u˜u¨‰Uà‹UÈF‰E¸‹EЃÂ‰U¼‹UàƒÀ‰EÀƒÂ‰U°‰4$ƒÇè����‹Eàƒì‰$è����‹E¸؃ì‰$è����‹E°؃ì‰$è����‹E¼؃ì‰$è����‹EÀ؃ì‰$è����‹EÈ؃ì‰$è����‹EÐ؃ì‰$è����uÜ]܃ì9}¬rÿÿÿƒE¤‹E¤ƒE¨9E ~‹UÀ‹E¼‰UЉEÈéÿÿÿè����‹Eœ‰$è����‹U˜‰$è����eô[^_]é����Ý]ˆÇD$Þ��Ç$���è����‹M …ÉÝEˆ÷üÿÿ‹U¬¾���»���ÇE ���…ÒïüÿÿÇE¸���ÇE¬���éåüÿÿë U‰åWVSì¼���‹E€=����ÝEÝEÝ]Ћ]‰EÄ„’��…Û4[ެ��‹}Ä…ÿ޶��¯uÄÝ]ˆÇ$���‰t$è����‰t$Ç$���‰E°è����‰E¬è����[‹}°‰]äÁà‰EÜ‹E¬‰]àÇE´����ÛEĉÃÜ=(��Ý] ÛEäÜ=0��Ý]ÈÙîÙÀÙèÙÊÝ]¸ÝEˆÙî1öÙÀ1ÀÙèëgÜEȉ…dÿÿÿÝ$ÝXÿÿÿÙÊÝxÿÿÿÝhÿÿÿÝ]ˆè����Ý…XÿÿÿÝ$ÝHÿÿÿè����‹…dÿÿÿÝ…HÿÿÿÝ…XÿÿÿÝ…xÿÿÿÝ…hÿÿÿÝEˆÙËÙÊÙÍÙÉÙÌÙÃÀØÉÜEÐÙÆØÉÝ7ØÍÝ\7ÙÃØÊÝ\7ÙÅØÉÝ3ØÌÝ\3Ý\3ƒÆ9Eà]ÿÿÿÝØÝÙÝÙƒE´‹E´}Ü]Ü9EÄ~9ÝE¸ÜE ÝU¸Ý$Ý]ˆè����ÝE¸Ý$Ýxÿÿÿè����Ý…xÿÿÿÝEˆÙÉÙÊÙÉé�ÿÿÿÝØ‹]àÇEÐ����ÇEà����‰]Èv�Ç$���1Ûè����‹}¬‹u°}àuàƒìv�‰<$ƒÃè����ƒì‰4$è����}Üu܃ì9]ÄÜè����ƒEЋEЃEà9Eȧ‹]ÈÇEÐ����ÇEÈ����‰]àv�Ç$���1öè����‹]¬‹}°]Ð}Ѓìv�‰$ƒÆƒÃè����ƒì‰<$ƒÇè����ƒì9uàÜè����‹E܃EÈEЋEÈ9EÄ¥‹E°‰$è����‹E¬‰$è����eô[^_]é����Ý]ˆÇD$í��4[Ç$���è����…ÛÝEˆTýÿÿ‹}ľ���»���…ÿJýÿÿÇEÄ���é>ýÿÿ¶����¼'����U‰åWVSì¬���‹uÝEÝ]¨‹]ÝE…ö‰ðÝ] ŽV��‰EÔÛEÔÝE ØñÝ]ˆÜ}¨Ý]ÝE ØÈÝE¨ØÈÞÁÙÀÙúÙÀÝàßàžzt,ÝØÙÉëÝØÙÉÝ$ÝhÿÿÿÛ½xÿÿÿè����Û­xÿÿÿÝ…hÿÿÿÙÊÜ} Ý]¸ÝàßàžztÝØëÝØÝ$è����ëÝÙ€=����ÝE¨Þñ„£��‰Ù÷ÙUàEäÝxÿÿÿè…íÿÿ…öÝ…xÿÿÿŽº���ÝE¨Ý]ÈÙîÝ]ÀÇE´����Ý]˜fÇ$���è����ƒì…Û~h1ÿÝE˜‹EäÝE¸Ý\$ÝøØÉ‹EàÝ\$ÝøØÉÝ$Ýxÿÿÿè����‹EäƒìÝEÀÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$è����ƒì9ûÝ…xÿÿÿŸÝØè����ƒE´;u´~ÝEÀÜEˆÝ]ÀÝEÈÜeÝ]Èé`ÿÿÿÝE˜ÝxÿÿÿÇ$���è����ƒì…ÛÝ…xÿÿÿŽ~���1ö‹EäÝE¸Ý\$ÝðØÉ‹EàÝ\$ÝðØÉÝ$Ýxÿÿÿè����‹EäƒìÙîÝ\$ÝE¨Ü ð‹EàÝ\$ÝE¨Ü ðƒÆÝ$è����ƒìÝE Ý\$ÙîÝT$Ý$è����ƒì9óÝ…xÿÿÿˆÝØëÝØè����‹Eä‰$è����‹Eà‰$è����eô[^_]ÃÝxÿÿÿÇD$û��Ç$���è����Ý…xÿÿÿé8þÿÿ¸���é ýÿÿ´&����U‰åWVSìÌ���‹]ÝEÝEÝU‹uÙÀÞÉÙÁØÊÞÁÙÀÙúÙÀÝàßàžztBÝØÙÉëÝØÙÉÝ$ÙÊÝXÿÿÿÙÉÝhÿÿÿÛ½Hÿÿÿè����Û­HÿÿÿÝ…hÿÿÿÝ…XÿÿÿÙËÙÉÙÊÙÉÜ}Ý]°ÝàßàžztÝØëÝØÝ$ÝXÿÿÿè����Ý…XÿÿÿÙÉëÝÙØù€=����Ý] „þ��‰Ù÷ÙUàEäÝXÿÿÿèôêÿÿÇ$���è����ÙèƒìÙàÝ\$ÙîÝT$Ý$Ùhÿÿÿè����ƒìÙ…hÿÿÿÝT$ÝT$Ý$è����ƒì…ÛÝ…Xÿÿÿx;1ÿ‹EäÙîÝ\$ÝøØÉ‹EàÝ\$ÝøƒÇØÉÝ$ÝXÿÿÿè����ƒì9ûÝ…Xÿÿÿ}ÈÝXÿÿÿè����~ÿ…ÿÝ…XÿÿÿŽp��…öŽ^��‰uÔÛEÔÝEØñÇEœ����ÝU€ÙÉØúÝUˆØêÝ]ÈÙÉÝ]ÀÝ]¸ÙîÝ]¨¶����Ç$���è����ƒì…Ûˆ˜���1öÝE t&�‹EäÝE°Ý\$ÝðØÉ‹EàÝ\$ÝðØÉÝ$Ýhÿÿÿè����‹EäƒìÝE¨Ý\$ÝEÀÜ ð‹EàÝ\$ÝEÀÜ ðÝ$è����‹EäƒìÝE¸Ý\$ÝEÈÜ ð‹EàÝ\$ÝEÈÜ ðƒÆÝ$è����ƒì9óÝ…hÿÿÿsÿÿÿÝØè����ƒEœ;}œ~ÝE¸ÝU¨ÝEÈÝUÀÝEˆÞéÝ]ÈÜE€Ý]¸é$ÿÿÿÝEÈÝXÿÿÿÇ$���è����‹EäƒìÝE°Ý\$ÝE Ü‹EàÝ\$ÝE ÜÝ$è����ƒì…ÛÝ…Xÿÿÿޏ���¾���1ÿ‹EäÝE¸Ý\$ÝøØÉ‹EàÝ\$ÝøƒÇØÉÝ$ÝXÿÿÿè����ƒìÝEÝ\$ÙîÝT$Ý$è����‹EäƒìÝE°Ý\$ÝE Ü 0‹EàÝ\$ÝE Ü 0Ý$è����‹EäƒìÝE¸Ý\$Ý…XÿÿÿÝ0ØÉ‹EàÝ\$Ý0ƒÆÞÉÝ$è����ƒì9ûÝ…XÿÿÿTÿÿÿÝØëÝØè����‹Eä‰$è����‹Eà‰$è����eô[^_]ÃÝXÿÿÿÇD$��Ç$���è����Ý…XÿÿÿéÝüÿÿ¾���é˜ýÿÿÙîÝ]¸é¡þÿÿ������ð?����������������á=UUUUÕ¿+øþÝ}+î?��������á=UUUUÕ¿+øþÝ}+Þ¿â5 p½ ê?á=UUUUÕ¿+øþÝ}+Þ¿â5 p½ ê¿çnfž Ö?çnfž Ö?������à?çnfž Ö¿çnfž Ö?������à?çnfž Ö¿çnfž Ö¿������à?çnfž Ö?çnfž Ö¿������à?��������������ð?��������������ð¿������������������������������ð¿��������������ð?����������������çnfž Ö?çnfž Ö?������à¿çnfž Ö¿çnfž Ö?������à¿çnfž Ö¿çnfž Ö¿������à¿çnfž Ö?çnfž Ö¿������à¿����������������������ð?¸Kfž æ?��������������à?��������¸Kfž æ?������à?¸Kfž æ¿��������������à?��������¸Kfž æ¿������à?¸Kfž æ?¸Kfž æ?��������¸Kfž æ¿¸Kfž æ?��������¸Kfž æ¿¸Kfž æ¿��������¸Kfž æ?¸Kfž æ¿��������¸Kfž æ?��������������à¿��������¸Kfž æ?������࿸Kfž æ¿��������������à¿��������¸Kfž æ¿������à¿����������������������ð¿����������������������ð?����������������Ïð¿Å%ŸÜ?Ïð¿Å%Ÿì?��������Ïð¿Å%ŸÜ?U” m°Ñ?ÛHF ˆ8ë?Ïð¿Å%ŸÜ?ÕµoqÉ'ç¿ZN¡ ÊÒà?Ïð¿Å%ŸÜ?ÕµoqÉ'ç¿ZN¡ ÊÒà¿Ïð¿Å%ŸÜ?U” m°Ñ?ÛHF ˆ8ë¿Ïð¿Å%ŸÜ¿Ïð¿Å%Ÿì¿��������Ïð¿Å%ŸÜ¿U” m°Ñ¿ÛHF ˆ8ë?Ïð¿Å%ŸÜ¿ÕµoqÉ'ç?ZN¡ ÊÒà?Ïð¿Å%ŸÜ¿ÕµoqÉ'ç?ZN¡ ÊÒà¿Ïð¿Å%ŸÜ¿U” m°Ñ¿ÛHF ˆ8ë¿������ð¿����������������glutSolidSierpinskiSponge��� ERROR: Function <%s> called without first calling 'glutInit'.�glutWireSierpinskiSponge�glutSolidOctahedron�glutWireOctahedron�glutSolidDodecahedron�glutWireDodecahedron�glutSolidCube�glutWireCube�glutSolidRhombicDodecahedron�glutWireRhombicDodecahedron�glutSolidIcosahedron�glutWireIcosahedron�glutSolidTetrahedron�glutWireTetrahedron����Failed to allocate memory in fghCircleTable�glutWireCylinder�glutSolidCylinder�glutWireSphere�glutSolidSphere�glutSolidTorus�glutWireTorus�glutWireCone�glutSolidCone������������������������������������������������������������������������������������������������������������������������� ������������ ������������ ������������ ������������ ��� ��� ������ ��� ��� ������ ��� ��� ������ ��� ��� ����������������������������������������������������������������������������������� ��������� ��������� ������������������������������ ������ ��� ��� ��� ��� ��� ������ ��� ��������� ��������� ��� ���������?����E§yâ?E§yâ¿-DTû!@-DTû!À�����������)����,���'����K���#����a���#����n���#����·���'����¾���'����Ã���7����Þ���2����ì���#����$��3����7��'����R��#����a��#����p��#����‚��4����¨��5����Î��)����ý��#������2����1��3����D��'����_��#����n��#����}��#������4����¤��5����Ú��'����ô��#���� ��#������#����W��'����^��'����c��7����x��)����ƒ��'����Š��'������7����›��2����¡��'����·��3����Ñ��4����é��4������4������'���� ��3����8��4����R��4����j��4����ƒ��3����›��4����³��4����Í��4����æ��3����þ��4������4����2��4����K��3����e��4����}��4����•��4����®��3����È��4����à��4����ú��4������3����-��4����G��4����_��4����u��3������4����©��4����Ã��4����Ø��)����ã��'����ê��'����ï��7����û��2������'������3����1��4����I��4����a��4����g��'����€��3����˜��4����²��4����Ê��4����ã��3����û��4������4����-��4����F��3����^��4����x��4����’��4����«��3����Å��4����Ý��4����õ��4���� ��3����( ��4����@ ��4����Z ��4����s ��3���� ��4����§ ��4����¿ ��4����Õ ��3����ï ��4���� ��4����# ��4����8 ��)����C ��'����J ��'����O ��7����[ ��2����ˆ ��3����µ ��4����Ô ��4���� ��4����. ��4����D ��4����L ��5����X ��2����… ��3����² ��4����Ë ��4����ø ��4����% ��4����> ��4����F ��5����R ��2���� ��3����¬ ��4����Å ��4����ò ��4���� ��4����8 ��4����@ ��5����L ��2����y ��3����¦ ��4����¼ ��4����é ��4������4����/��4����7��5����C��2����p��3������4����¶��4����ã��4������4����&��4����.��5����:��2����g��3����”��4����­��4����Ú��4������4���� ��4����(��5����4��2����a��3����Ž��4����§��4����Ô��4������4������4����"��5����.��2����[��3����ˆ��4����ž��4����Ë��4����ø��4������4������5����%��2����R��3������4����˜��4����Å��4����ò��4������4������5������2����I��3����v��4������4����¼��4����é��4������4���� ��5������2����C��3����p��4����‰��4����¶��4����ã��4����ü��4������5������2����=��3����j��4����€��4����­��4����Ú��4����ó��4������)������'������'������7����+��2����X��3����…��4����¤��4����Ñ��4����þ��4������4������5����(��2����U��3����‚��4����›��4����È��4����õ��4������4������5����"��2����O��3����|��4����•��4����Â��4����ï��4������4������5������2����I��3����v��4����Œ��4����¹��4����æ��4����ÿ��4������5������2����@��3����m��4����†��4����³��4����à��4����ö��4����þ��5���� ��2����7��3����d��4����}��4����ª��4����×��4����ð��4����ø��5������2����1��3����^��4����w��4����¤��4����Ñ��4����ê��4����ò��5����þ��2����+��3����X��4����n��4����›��4����È��4����á��4����é��5����õ��2����"��3����O��4����h��4����•��4����Â��4����Ø��4����à��5����ì��2������3����F��4����_��4����Œ��4����¹��4����Ò��4����Ú��5����æ��2���� ��3����@ ��4����Y ��4����† ��4����³ ��4����Ì ��4����Ô ��5����à ��2���� !��3����:!��4����P!��4����}!��4����ª!��4����Ã!��4����Ø!��)����ß!��'����ï!��'����ö!��'����û!��7���� "��2����,"��3����O"��4����h"��4����"��4����—"��4����°"��3����Æ"��4����ß"��4����ø"��4����#��4����*#��3����@#��4����Y#��4����r#��4����‹#��4����¨#��3����Á#��4����Ú#��4����ó#��4���� $��4����"$��3����;$��4����Q$��4����j$��4����ƒ$��4����œ$��3����²$��4����Ë$��4����ä$��4����ý$��4����%��)����%��'����/%��'����6%��'����;%��7����M%��2����l%��3����%��4����¨%��4����Á%��4����×%��4����ß%��5����ë%��2����&��3����&��4����3&��4����L&��4����e&��4����m&��5����y&��2����’&��3����¨&��4����Á&��4����Ú&��4����ó&��4����û&��5����'��2����$'��3����='��4����V'��4����o'��4����…'��4����'��5����™'��2����²'��3����Ë'��4����á'��4����ú'��4����(��4����(��5����'(��2����@(��3����V(��4����o(��4����ˆ(��4����¡(��4����º(��)����Í(��#����Ô(��2����ç(��.����í(��'����÷(��#����)��/����)��'����)��#����)��/����#)��'����-)��#����8)��/����>)��'����K)��#����V)��/����x)��'����)��'����„)��7����š)��)����¦)��#����¸)��2����Æ)��.����Ì)��'����Ö)��#����á)��/����ç)��'����ñ)��#����ü)��/����*��'���� *��#����*��/����*��'����**��#����5*��/����=*��5����X*��'����_*��'����d*��7����{*��)����*��2����™*��'����Ÿ*��'����¨*��'����²*��#����¼*��#����Ë*��#����Ü*��#����ã*��#����÷*��#����þ*��#����+��#����+��#����"+��#����-+��#����P+��.����[+��/����f+��/����n+��#����y+��/����+��5����¤+��'����«+��'����°+��7����Ë+��)����Ú+��'����à+��'����ð+��'����ú+��#����,��#����,��#����$,��#����+,��#����?,��#����F,��#����O,��#����c,��#����j,��#����u,��#����’,��2���� ,��.����«,��/����¶,��/����¾,��#����É,��/����Ñ,��5����ô,��'����û,��'�����-��7����-��)����#-��'����*-��'����/-��7����;-��2����A-��#����P-��#����\-��#����f-��3����p-��#����u-��/����-��#����„-��/����Ž-��#����“-��/����™-��#����¨-��#����´-��#����¾-��3����È-��#����Í-��/����×-��#����Ü-��/����æ-��#����ë-��/����ñ-��#�����.��#���� .��#����.��3���� .��#����%.��/����/.��#����4.��/����>.��#����C.��/����I.��#����X.��#����d.��#����n.��3����x.��#����}.��/����‡.��#����Œ.��/����–.��#����›.��/����¸.��)����Ã.��'����Ê.��'����Ï.��7����Û.��2����á.��#����ð.��#����ü.��#����/��3����/��#����/��/����/��#����$/��/����./��#����3/��/����9/��#����H/��#����T/��#����^/��3����h/��#����m/��/����w/��#����|/��/����†/��#����‹/��/����‘/��#���� /��#����¬/��#����¶/��3����À/��#����Å/��/����Ï/��#����Ô/��/����Þ/��#����ã/��/����é/��#����ø/��#����0��#����0��3����0��#����0��/����'0��#����,0��/����60��#����;0��/����r0��'����‹0��*���� 0��*����à0��-����ñ0��,����1��'����/1��6����91��6����@1��'����E1��7����1��)����Ø1��2����ÿ1��3����*2��4����62��5����h2��2����2��3����¶2��4����á2��4����í2��5����ø2��6����3��6����3��'����3��'����3��7����T3��)����‚3��2����ž3��3����´3��4����ó3��4����ÿ3��5����4��2����)4��3����A4��4����t4��4����‚4��5����º4��2����á4��3���� 5��4����45��4����@5��5����v5��6����5��6����‘5��'����˜5��'����5��7����ª5��5����¶5��2����Ì5��3����å5��4����6��)����o6��2����«6��3����Ó6��4����ß6��5����7��2����]7��3����‚7��4����‘7��5����©7��6����´7��6����¿7��6����Ê7��6����Ú7��'����á7��'����æ7��7����8��)����Y8��2����s8��3����Œ8��4����Ñ8��3����9��4����9��5����O9��2����—9��3����Æ9��4����î9��3����:��4����8:��5����d:��2����€:��3����›:��4����Ò:��3����;��4����;��5����;��6����%;��6����0;��6����;;��6����K;��'����R;��'����W;��7����„;��)����Ù;��*����ì;��*����ô;��+����<��'����$<��'����t<��,����ˆ<��-����=��,����,=��-����Q=��2����¾=��.����Ï=��/����ß=��.����ï=��/����ÿ=��.����>��/����>��.����/>��/����g>��5����r>��6����}>��6����”>��'����›>��'���� >��7����?��)����D?��*����W?��*����_?��+����†?��'����’?��'����×?��,����ë?��-����~@��,����@��-����Ê@��2����ç@��.����ò@��/����A��5����:A��2����ZA��.����hA��/����uA��5����’A��6����A��6����´A��'����¾A��'����ÃA��7����qB��1����œB��1����¦B��)����øB��2����-C��3����XC��4����lC��5����¡C��2����ÝC��3����D��4����D��4����7D��5����BD��6����MD��6����cD��'����jD��'����oD��7����èD��1����%E��1����9E��)����dE��2����ƒE��3����œE��4����×E��4����ïE��5����HF��2����…F��3����­F��4����ØF��4����ðF��5����-G��2����SG��3����˜G��4����°G��4����ØG��3����H��4����#H��5����.H��6����9H��6����OH��'����VH��'����[H��7����Ì��5����, ��5����ü��5����Ì!��5����%��5����ª(��5����p)��5����¤.��5����D0��5����‰>��0����©A��0����.file�������þÿ��g����������������������������� �������������������_tet_r����������_tet_i�� ����������3���À��� ������M���p��� ������b���Ð��� ������v���0 ��� ������������� ������£���Ð!��� ������²���%��� ������À���°(��� ��_rdod_n�`�������_rdod_v�`������_rdod_r�€����������Þ���)��� ������û���p*��� ��_icos_v� ������_icos_r�à������������À+��� ������&��-��� ������<��°.��� ������Q��P0��� ������a��`1��� ������s��@3��� ������†���6��� ������–��ð7��� ������§��p;��� ������·��ð>��� ������Æ���B��� ������Ô��D��� ��.text����������~H��ü������������.data���������������������������.bss�����������������������������.rdata���������8����������������_fgState���������_calloc������� ������ã�������� ��_cos���������� ��_sin���������� ������ó�������� �������������� �������������� ��_sqrt��������� ������ �������� ������+�������� ������:�������� ��_glEnd@0������ ��_free��������� ��_fgError������ ��I��freeglut_geometry.c�_glutSolidSierpinskiSponge�_glutWireSierpinskiSponge�_glutSolidOctahedron�_glutWireOctahedron�_glutSolidDodecahedron�_glutWireDodecahedron�_glutSolidCube�_glutWireCube�_glutSolidRhombicDodecahedron�_glutWireRhombicDodecahedron�_glutSolidIcosahedron�_glutWireIcosahedron�_glutSolidTetrahedron�_glutWireTetrahedron�_fghCircleTable�_glutWireCylinder�_glutSolidCylinder�_glutWireSphere�_glutSolidSphere�_glutSolidTorus�_glutWireTorus�_glutWireCone�_glutSolidCone�_glPushMatrix@0�_glNormal3dv@4�_glVertex3dv@4�_glPopMatrix@0�_glBegin@4�_glNormal3d@24�_glVertex3d@24� /125 1264195964 500 500 100664 320 ` L�����Œ��������.text������������������������������� �0`.data�������������������������������@�0À.bss��������������������������������€�0À.file�������þÿ��g�����������������.text����������������������������.data����������������������������.bss�����������������������������$���freeglut_glutfont_definitions.c�freeglut_init.o/1264195964 500 500 100664 8955 ` L�����:��=�����.text����������� ��´���D������´��� �P`.data����������� ���Ä ��������������@�`À.bss�������������������������������€�0À.rdata����������à��d ��L������K���@�`@U‰åW‰×VS¶€ù+t@€ù-¾���tFQÐ1Û€ú w›¾ÉƒÀ\QжQЀú vèƒþÿ‰u÷Û‰Ø[^_]Ãt&�ƒÀ¾���¶ë½v�ƒÀ¾ÿÿÿÿ¶ë­v�U‰å‹E ‹U…À‰����£���x …Òx Æ���]ÃÆ����]ÃfU‰å‹E ‹U…À‰ ���£���~ …Ò~ Æ���]ÃÆ����]ÃfU‰å‹E]£���Ãv�U‰å‹E£Œ���‹E ]£���Ãt&�¼'����U‰å‹E]£”���Ãv�U‰å‹E]£˜���Ãv�U‰åWVSƒì,‹u‰4$è����‰Ã@‰$è����‰\$‰t$‰Eà‰$è����‹EàÆ�1ÛÇD$����‰$è����ÇEä����…À‰Ætz¶����ÇD$���1Û‰4$è����‰ÇëƒÃƒû%t)‹@��‰|$‰4$‰D$è����…Àu݃û%wfÿ$@���‰t$Ç$ ���è����ÇD$����Ç$����è����…À‰Æu‹]ä‹Eà‰$è����‰���ƒÄ,[^_]ÃMä���ëÁƒMäë»Mä€���벃Mä묃Mä릃Mä ë Mä���ë—Mä���뎃Mä눃Mäë‚t&�¼'����U‰åSƒì€=����„<��¡ ���…Àt‰$è����Ç �������è����‹@���…ÛtJf‰\$Ç$@���è����‰$è����‹@���…ÛuÞ‹H���…Ût&t&�‰\$Ç$H���è����‰$è����‹H���…ÛuÞ€=€����…‘��€=����…–��Æ€����Æ����ÇŒ������Ç�������Ç”�������ǘ�������Æ����Ç����ÿÿÿÿÇ���ÿÿÿÿÆ����Ç ���,��Ç���,��Æ���Ç������Ç ������Æ$����Æ%����Æ&����Æ'����Çt�������Çx�������Ç(������Ç,���ÿÿÿÿÇ`���€��Çd���à��Çl������Çp���H���Ç$@���è����Ç$H���è����¡|���ÇP�������ÇX�������Ç\�������…ÀÇ4�������Ç8�������Ç0�������t‰$è����Ç|�������Ç$���è����‹]üÆ����ƒìÉô&����è����€=����„jþÿÿè����é`þÿÿt&�Ç$Ø���è����‹]üÉÃë U‰åƒìÉé„ýÿÿt&�U‰åWVSƒìl‹E€=����‹U ‹�‰E¬…��…Àt…Òt‹…Àv�t €8�…ü��‰U è����è����Ç$u��£<���è����‹U …Àt*Mä‰L$ÇD$~��‰$è����‹Eä‹U …ÀŽx��£0���‰U Ç$��è����‹U ƒ}¬ÇE¨����Ž›���»���‰U´ë,ƒÃ9]¬Ž��‹E‹M´ƒ(ÇD™ü����Ç™����ƒÃ9]¬~b‹E´¿‰��¹ ���˜‰E°‹�‰Æó¦t¹¹ ���‰Æ¿È��ó¦…†���ƒÃ9]¬ŽÖ��‹U´š‹ÇDšü����ƒÃÇ�����‹E‰M¨ƒ(9]¬ž‹U´‹E¿���¾���ƒ8ŽÆ���f‹²NŠ…ÛtëƒÁ‹ƒÀ‰Î…Ûtò9÷t‰º‹MƒÇ99Ž‘���ƒÆëÈ¿��¹���‰Æó¦u=‹ ���…É„`��‹E°‹UÇ ������Ç�����ƒ*éÿÿÿÇ$”��è����éÞþÿÿ¿e��¹ ���‰Æó¦… ��ƒ= ���„—��‹M°‹EÇ �������Ç����ƒ(é·þÿÿÇ$����]¸è����ƒì£����‰\$ÇD$†��‰$è����ƒì f…À„��Ç$����è����ƒì£ ���Ç$���è����ƒì£¤���è����‰Æ‰$è����ƒì‰ÃÇD$���‰$è����ƒì£¨���ÇD$���‰$è����ƒì£¬���‰\$‰4$è����ƒìÇ$���è����Æ���ƒìè����‹E¨…À„ð���‹E¨¶„Ò„Î���€ú=„S��€ú-t.€ú+t)1ö1Û€úxt;‹E¨Uàèï÷ÿÿ‹Mà9M¨„›���‰Æ¶³ë‹M¨1ö1Û€úXt €úxÇE´����u#‰M¨‹}¨UàƒÇ‰øè¯÷ÿÿ‹Mà9Ït`‰E´¶ƒË€ú-…¹��ƒÁ}à‰È‰ú‰M°è„÷ÿÿ‹Mà9M°t4÷؃ˉE°¶ƒË€ú-…¹��ƒÁ‰ú‰È‰M èV÷ÿÿ‹Uà‹M 9Ñ…ü��Ç �������Ç�������eô[^_]ÃÇ$Ô��è����éýÿÿ¿o��¹���‰Æó¦u‹E°‹UÆ$���Ç�����ƒ*é«üÿÿ¿w��‰Æ¹ ���ó¦„È��¿€��¹���‰Æó¦…ƒüÿÿ‹U°‹MÆ'���Ç����ƒ)éhüÿÿ1À¹ ���‰ßó«¡����ÇE¼����ÇD$��‰Eȉ$è����ÇE¸#���ƒì…À‰EÌ„2��ÇD$���Ç$����è����ÇEÔ����ÇEØ����ÇE܆��ƒì‰EЉ$è����ƒìf…À…fýÿÿÇD$™��ÇD$§��Ç$Ä��è����éEýÿÿÇ$ ��è����éüÿÿ‰U Ç$��è����‹M‹U ‹éÞúÿÿ1À€ú+ÇE°����„Y��„Ò…{þÿÿöÃt ‹U°‰����öÃt£���öÄ©���öÃt‹M´‰M¤‹E¤‰5 ���£���‰Øƒà ƒø uÆ���öÃt¡ �������+ ���£����‰Øƒãƒà …Àt¡¤������+���£���ƒû…þýÿÿÆ���eô[^_]ÃÇ0���ˆ��é~úÿÿ‹M°‹EÆ&���Ç����ƒ(é´úÿÿ1ööÃ…QÿÿÿéRÿÿÿ‰U ‰$è����‹U …À£|���…éùÿÿÇ$D��è����‹U éÕùÿÿƒÀ‰E¨¶éŸüÿÿ1À€ú+…ÖþÿÿƒÁ‰ú‰È‰M è’ôÿÿ‹Uà‹M 9ÑuAé;ýÿÿÇ$ ��è����éXûÿÿƒÁ}à‰È‰ú‰M¬è`ôÿÿ‹Mà9M¬‰E°…Ýüÿÿéýÿÿ÷ØƒË ƒË¶éqþÿÿÇD$��Ç$����è����RR‰EÌé°ýÿÿ´&����¼'����U‰åƒì‹E£����ÉéÜøÿÿÿÿÿÿÿÿÿÿ����,��,����������������������ÿÿÿÿ������������������������������������������������€��à��������H�������������������������������������������� �=<>~!����WARNING - Display string token not recognized: %s��O��×��I��×��×��×��+��%��×����×��×��×��×��7��1��×�� ����×��×��×��×��×��×��×��×��×��×��×��×��×��×��×��×��×��@��Ç��fgDeinitialize(): no valid initialization has been performed����illegal glutInit() reinitialization attempt�Could not allocate space for the program's name.�GLUT_FPS�%d�DISPLAY�-display���-display parameter must be followed by display name�-geometry���-geometry parameter must be followed by window geometry settings�-direct����parameters ambiguity, -direct and -indirect cannot be both specified�-indirect�-iconic�-gldebug�-sync�FREEGLUT�GLUT_ICON�fghInitialize�Window Class Not Registered�� ERROR: Internal error <%s> in function %s�alpha�acca�acc�blue�buffer�conformant�depth�double�green�index�num�red�rgba�rgb�luminance�stencil�single�stereo�samples�slow�win32pdf�win32pfd�xvisual�xstaticgray�xgrayscale�xstaticcolor�xpseudocolor�xtruecolor�xdirectcolor�xstaticgrey�xgreyscale�xstaticcolour�xpseudocolour�xtruecolour�xdirectcolour�borderless�aux���������������������ð��ö��û��ÿ���� ������#��)��/��3��7��<��@��J��R��Y��`��h��m��v����‡��“��ž��«��¸��Ã��Ð��Ü��ç��õ��������(��������������}�������‚�������Ž�������—�������­�������²�������¾�������Ç�������Ø�������ç�������ð�������������������0������=������P������a������i��!����„������Ž������¡������±�� ����Ã������Î������Ó��)����Û������ç��!����û��%����������i������u��������%����‡��������"����–������§������¬��#����´��%����º������Ä������×������Ü��#����ä��%����ê������ô������������������������������&������0������:������D������K������U������_������f������p������z������������‹������•������œ������£������ª������±������»������Å������Ï������Ù������ã������í������÷��������������$������������$����������������(������2������>������H������R������`��%����f������v��&����������‘��'����—������£��(����³������¸��)����î��������*����$��+����+������0������5��-����K������S��,����f������p������u��-����Ç������æ������y������Š������ž������·������¼��;����Æ������Û������î��������.����������#������+��/����C��0����K������W��0����_������d��1����n��2����ƒ��3����‹������›��3����£������¯��4����¾��5����Ä������Í��6����º������Ä������×������Ü��;����æ������ý������ ������% ������@ ������_ ������f ��7����n ������y ��<����¢ ��8����· ������Å ��9����Ù ������á ������è ������í ��;����ù ������þ ��;���� ������ ��;����G ������Q ������n ������s ������ƒ ������Ž ������” ������š ������Ÿ ������° ������¶ ������¼ ������Á ������Ð ������ß ������ô ������ ��:����( ������5 ������: ��;����€ ������… ��;����Ô ��<����ú ������@�������D�������H�������L�������P�������T�������X�������\�������`�������d�������h�������l�������p�������t�������x�������|�������€�������„�������ˆ�������Œ��������������”�������˜�������œ������� �������¤�������¨�������¬�������°�������´�������¸�������¼�������À�������Ä�������È�������Ì�������Ð�������Ô�������@������D������H������L������P������T������X������\������`������d������h������l������p������t������x������|������€������„������ˆ������Œ������������”������˜������œ������ ������¤������¨������¬������°������´������¸������¼������À������Ä������È������Ì������Ð������.file�������þÿ��gfreeglut_init.c��������������� ��������������������������p���� ������)��� ���� ������=���Ð���� ������R���à���� ������j������� ������€������ ������˜��� ��� ��_Tokens�@����������¯���`��� ������¿���Ð��� ������É���à��� ������Ó���ð ��� ��.text���������� ��´�������������.data����������œ�����������������.bss����������������������������.rdata���������Ô��K�������������_fgState������������ç���°������������ò��������������������������_strlen������� ��_malloc������� ��_memcpy������� ��_strcspn������ ��_strncmp������ ��_strtok������� �������������� ������#�������� ������1�������� ��_free��������� ������=�������� ������N�������� ������_�������� ������s�������� ������~�������� ������‘�������� ��_sscanf������� ��_getenv������� ������Ÿ�������� ������³�������� ������Å�������� ������Ù�������� ��_GetDC@4������ ������í�������� ������þ�������� ������ �������� �������������� ������8�������� ������I�������� ������X�������� ��_strdup������� ��_fgError������ ������j�������� ��w��_ReadInteger�_glutInitWindowPosition�_glutInitWindowSize�_glutInitDisplayMode�_glutInitContextVersion�_glutInitContextFlags�_glutInitContextProfile�_glutInitDisplayString�_fgDeinitialize�_glutExit�_glutInit�___glutInitWithExit�_fgDisplay�___glutExitFunc�_fgStructure�_fgDestroyStructure�_fgListRemove�_fgListInit�_timeEndPeriod@4�_fgJoystickClose�_fgInputDeviceClose�_fgWarning�_fgCreateStructure�_fgSystemTime�_GetModuleHandleA@4�_GetClassInfoA@12�_GetSystemMetrics@4�_GetDesktopWindow@0�_GetDeviceCaps@8�_ReleaseDC@8�_timeBeginPeriod@4�_fgInitialiseInputDevices�_fgWindowProc@16�_LoadCursorA@8�_RegisterClassA@4�_LoadIconA@8� /158 1264195964 500 500 100664 3530 ` L�����¨��,�����.text�����������0��´���(������@��� �P`.data��������������ä��������������@�0À.bss������������`������������������€�`À.rdata����������@���è��������������@�0@U‰åSƒì€=����tX‹����…Ût=C‰D$‹‰$è����Cƒì‰D$‹‰$è����‹ƒì‰$è����ƒì‰$è����Ç��������Æ����‹]üÉÃv�U‰Á‰å1ÀƒìH…ɈUät+Eô‰D$ EäÇD$����ÇD$���‰D$‹‰$è����ƒìÉÃfU‰åìˆ���€=����‰]ô‰uø‰}üt ‹]ô‹uø‹}ü‰ì]ÃÇ$����è����…À„d��U¬1ÉÇ ����ƒÁƒùrñÇE¬���ÇD$����ÇD$€���ÇD$���ÇD$ ����ÇD$����ÇD$���À‰$‰U¤è����ƒì…À‰Æ„ò���Ç$4���è����¹ ���‰Ã1À‰ßó«C‰3‰4$‰D$è����Cƒì‰4$‰D$è����‹U¤ÇE¬���ƒì‰T$Ç$6���è����‹U¤ƒì‰T$‰4$è����EÈÇEÈ����ÇEÌ����ÇEÔ����ÇEÐ���ÇEØ���ƒì‰4$‰D$è����‹ƒì‰$è����º ���‰Ø‰����ƒìè_þÿÿÇD$����ÇD$€��Ç$ ���è����‹]ô‹uø‹}üÆ���‰ì]ÃÇ��������é{þÿÿEÜÇEä���ÇEà���‰D$ÇD$���Ç$��€è����ƒì …À…GþÿÿEä‰D$Eà‰D$ ‹EÜÇD$ ���ÇD$����ÇD$$���‰$è����ƒì…Àt‹E܉$è����ƒìéüýÿÿ‹E܉$è����¸ ���ƒìéþÿÿ‰ö¼'����U‰åƒìèµýÿÿ‹����1À…Òt 1À€=����•ÀÉÃt&�¼'����U‰åƒì(‰]ô‹]‰uø‹u ‰}ü‹»˜���…ÿt‰$è����‹F‹P‰T$‹�‰$ÿ׉t$‰$ÇD$ ��è����‹]ô‹uø‹}ü‰ì]ô&����U‰åWVSƒìL¡����…ÀtSuà]ç}Ðt&�ÇD$����‰t$ ÇD$���‰\$‹�‰$è����ƒì…Àu'ÇD$����ÇD$€��Ç$���è����eô[^_]Ãv�ƒ}àuÓ¡����¶Uç…À~4ƒø„Ä���ƒøtO…Àuƒê0‰D��Ç�������¡����…À…kÿÿÿë’JЃùvăú „ ���¡����‹�‰$è����ƒìëÌt&�¡@�� Ðf…À£@��y -���£@��‹D��ÆEØ�‰}ÜÇ$ ��‰• ��iÀh��ƒÂ‰UЉÂÁúÁêÁø‰EÔE؉D$è����Ç��������éZÿÿÿfÁâ‰@��Ç�������é@ÿÿÿ¡����²PÆ���Ç��������èkûÿÿ¡����ºÿ���è\ûÿÿ¡����ºÿ���èMûÿÿé�ÿÿÿÿÿÿÿGLUT_DIALS_SERIAL�SOFTWARE\FreeGLUT�DialboxSerialPort�96,n,8,1�� ��������������'���!����;���"����H�������S�������Y�������c�������¥�������»�������Û�������à�������>������W������u������‡������Ÿ������¤�� ����¶��!����ë��"����ø��*����������������)��)����8������C������i������u��#����™������©������±��$����Ã��%����Ö��%����Û������ý������ ������C��&����c������h��'����Š������¾��(����Õ������á��)����÷������������ ������)������I������S��*����a������k������w������}������‹������’������»��+����Á������Õ������Û������é������ñ������ø������������������.file�������þÿ��g����������������������������� �����������������������1���������������?���p���� ������O���°���� ������i��� �����������x���ð��� ��������� ��� ������¥���€��� ������±���������������Ã���D����������Õ���@����������ç��� ������.text����������(��@�������������.data���������������������������.bss�����������H����������������.rdata���������?�����������������_fgState�������������ô��������� ��_free��������� �������������� ��_getenv������� �������������� ��_malloc������� ������!�������� ������1�������� ������D�������� ������U�������� ������e�������� ������x�������� ������ˆ�������� �������������� ������¬�������� ������¹�������� ������Ë�������� ������Ø�������� ������ç�������� ������û�������� �� ��freeglut_input_devices.c�_fgInputDeviceClose�_dialbox_port�_serial_putchar�_fgInitialiseInputDevices�_devname.19684�_fgInputDeviceDetect�_fghcbEnumDialCallbacks�_poll_dials�_dial_state.19738�_dial_which.19739�_dial_value.19740�_dials.19741�_CloseHandle@4�_WriteFile@20�_CreateFileA@28�_GetCommState@8�_GetCommTimeouts@8�_BuildCommDCBA@8�_SetCommState@8�_SetCommTimeouts@8�_RegOpenKeyA@12�_RegQueryValueExA@24�_RegCloseKey@4�_fgSetWindow�_fgEnumSubWindows�_ReadFile@20�_glutTimerFunc�_FlushFileBuffers@4�_fgEnumWindows�/184 1264195964 500 500 100664 7140 ` L�����N��.�����.text�����������° ��´���D������x��� �P`.data�������������������������������@�0À.bss�������������������������������€�0À.rdata����������à��d��ô������ ���@�@@U‰åƒì€=����uÇD$����Ç$���è����‹E‹M‹U ‹…����‰Œ|��ÉÃt&�U‰åƒì€=����uÇD$\���Ç$���è����‹E‹U ‹…����Ù„|��Éô&����U‰åƒì€=����uÇD$v���Ç$���è����‹E‹M‹U ‹…����‰Œ\��ÉÃt&�U‰åƒì€=����uÇD$Ž���Ç$���è����‹E‹U ‹…����Ù„\��Éô&����U‰åƒì€=����uÇD$¦���Ç$���è����‹E‹…����¶€Ð��ÉÃv�¼'����U‰åƒì€=����uÇD$½���Ç$���è����‹E‹…����‹€X��ÉÃt&�¼'����U‰åƒì€=����uÇD$×���Ç$���è����‹E‹…����‹€T��ÉÃt&�¼'����U‰åƒì€=����uÇD$î���Ç$���è����‹E‹…����‹T��œ��‰D$‹E Áâ‰T$‰$è����ÉÃU‰åƒì€=����uÇD$��Ç$���è����‹E‹…����‹T��¼��‰D$‹E Áâ‰T$‰$è����ÉÃU‰åƒì€=����uÇD$��Ç$���è����‹E‹…����‹T��Ü��‰D$‹E Áâ‰T$‰$è����ÉÃU‰åƒì€=����uÇD$4��Ç$���è����‹E‹…����œ��‹€T��‰$Áà‰D$‹E ‰D$è����ÉÃë U‰åƒì€=����uÇD$J��Ç$���è����‹E‹…����¼��‹€T��‰$Áà‰D$‹E ‰D$è����ÉÃë U‰åƒì€=����uÇD$b��Ç$���è����‹E‹…����Ü��‹€T��‰$Áà‰D$‹E ‰D$è����ÉÃë U‰åWVSìœ���‹M…É„€��‹E‹P|…Ò„r��ÇE”����}Èu¨‹U”‹•����…Û„E��€»Ð���…Ä��‹ƒT��…ÀŽÙ��‹“T��1Àdž�€»DƒÀ9Ð|ò€»Ð���„¶��‹“T��‰Ñ‰]ˆÇE„����…Éމ���‹‹T��1ÒÙèë7Ü騤“Ü��ÞùÙ„“|��ÙÀÙàÝêßàž†×���ÝØÝØÙèÙàëÝØÙ—ƒÂ9Ê}Dٖل“œ��Ýáßàžw¸Ü騬“¼��ÞùÙ„“|��ÙÉÝáßàž†Ã���ÝØÝØÙèÙ—ƒÂ9Ê|ÀÝØëÝØ‹Uˆ€ºÐ���uX‹E‹X|…ÛtN‰$è����‹U„‰$Ù}¢ÙØ��ÙEÐØÉ·E¢´ f‰E Ùm Û\$ Ùm¢ÙEÌØÉÙm Û\$Ùm¢ØMÈÙm Û\$Ùm¢ÿÓƒE”ƒ}”…›þÿÿeô[^_]ÃÙ„“\��ÙÀÙàÙËÝãßàÝÛžwJÜÂÞéÞùÙèÙàÝáßàž†ÿÿÿÝÙéÿÿÿÙ„“\��Ýáßàžw(ÜéÞêÞñÝáßàž†äþÿÿÝØÙÀéÛþÿÿ¶����ÝØÝØÝØëÝØÝØÝØÙîéÀþÿÿ‹“T��…ÒŽeþÿÿ1ÀLJ����ƒÀ9Ð|òé-þÿÿƒ”��‰D$‹ƒÈ��‰$è����ƒì…À…E��‹‹T��‹“´��ƒù‰U„v‹E”‹…����‰Eˆéþÿÿÿ$|��·ƒ¼��=ÿÿ��„J��‰EˆÇEŒ����ßmˆÜ Ð��‰M€Ý$Ýhÿÿÿè����Ù]¤ÙE¤Ý…hÿÿÿÝ$Ùhÿÿÿè����‹M€Ù]¤ÙE¤Ù…hÿÿÿÙÀÙáÙÂÙáÚéßàž†Ì���ÙîÝêßàž†ð���Ùà¸��€¿ÞñÙ]À‰EÄ‹ƒ°��1Ò‰UŒ‰EˆßmˆÙ]¼‹ƒ¬��1Ò‰UŒ‰EˆßmˆÙ]¸‹ƒ¨��1Ò‰UŒ‰EˆßmˆÙ]´‹ƒ¤��1Ò‰UŒ‰EˆßmˆÙ]°‹ƒ ��1Ò‰UŒ‰EˆßmˆÙ]¬1Ò‹ƒœ��‰UŒ‹U”‰Eˆ‹•����ßmˆÙ]¨‰UˆéôüÿÿƃÐ��‹E”‹‹T��ÇE„����‹…����‰EˆéÎüÿÿÙîÝéßàžv7ÙÉÙàÞñÇEÀ��€¿Ù]Äé2ÿÿÿÇEÀ����ÇEÄ����éÿÿÿÞñ¸��€?Ù]Àé ÿÿÿÇEÀ��€?ÞùëËë U‰åƒì¡����…Àt‰$è����Ç��������¡���…Àt‰$è����Ç�������ÉÃfU‰åìX��‰]ô‰Ã‰}ü‰×‰uø€¸Ð���t1À‹]ô‹uø‹}ü‰ì]Ãf@pµàþÿÿÇD$ ��‰D$ÇD$ ¸��ÇD$ñ��ÇD$���‰4$è����Eä‰D$ÇD$ ���ÇD$����‰t$Ç$��€è����ƒì…ÀuŒÇD$ú��‹ƒÈ��àýÿÿÇD$��ÇD$���‰4$ƒÀ‰D$ ÇEà���è����Eà‰D$‹Eä‰\$ÇD$ ����ÇD$����‰t$‰$è����‰Â‹Eäƒì‰•Ôýÿÿ‰$è����‹•Ôýÿÿƒì…Ò…ÿÿÿ‰\$ÇD$ ��ÇD$`��ÇD$���‰4$è����Eä‰D$ÇD$ ���ÇD$����‰t$Ç$��€è����ƒì…À…«þÿÿEà‰D$‹EäÇEà€���‰|$ÇD$ ����ÇD$����ÇD$ú��‰$è����‰Ã‹Eäƒì‰$è����1Àƒì…Û”ÀéYþÿÿ´&����U‰åWVSƒì,€=€����…!��1ö‹µ����…Àt Ç$h��è����ÇD$���Ç$ü��è����ƒþ‰µ����‰ÃÇ€X������Ç€T������Æ€Ð��„ä���Ç€È������Æ€Ð���öÉßƃÐ��º”��ǃX������ǃT������ƃÑ���ǃ˜��ÿ���ǃ”��4���…y��÷Ç���…}��‰Ñ1ÀÁéöÂó«udƒâuZ‹ƒÈ��ÇD$”��‰\$‰$è����‹{hƒì …À•ƒÐ��…ÿu]ǃT������ƃÐ��ƒÆƒþ…èþÿÿÆ€���eô[^_]ÃÆ�ë¡fÇ��ƒÇƒât”ëìÇ€È�����Æ€Ð���éÿÿÿ¶����»Ñ��‰Ø‰úè±üÿÿ…À„��öC`…O��ǃT�����‹CX1Ò‰Uä1Ò‰Eà‹C\ßmàÙ›ð��‰Uä1Ò‰Eà‹CPßmàÙ›Ð��‰Uä1Ò‰Eà‹CTßmàÙ›ì��‰Uä1Ò‰Eà‹CHßmàÙ›Ì��‰Uä1Ò‰Eà‹CLßmàÙ›è��‰Uä1Ò‰Eà‹C4ßmàÙ›È��‰Uä1Ò‰EàßmàÙ›ä��‹C8‰Uä1Ò‰Eà‹C,ßmàÙ›Ä��‰Uä1Ò‰Eà‹C0ßmàÙ›à��‰Uä1Ò‰Eà‹C$ßmàÙ›À��‰Uä1Ò‰Eà‹C(ßmà‰Uä‹“T��Ù›Ü��‰Eàßmà…ÒÙ›¼��Ž‹þÿÿ1ÀÙÜ��Ù„ƒ¼��Ø„ƒÜ��Ç„ƒ\������Ç„ƒ|����€?ØÉÙœƒœ��ƒÀ9Ð|ÌÝØéHþÿÿt&�ǃT�����ǃø����€¿ÇƒØ����€?ǃô����€¿ÇƒÔ����€?é„þÿÿÇ$œ��è����CÇD$€���‰D$‰<$è����éHþÿÿÆ�{²“ézýÿÿv�fÇ��ƒêƒÇésýÿÿU‰åƒìè•üÿÿ€=€����t0‹����…Òt€ºÐ���¸���t¡���…Àt€¸Ð���”À¶ÀÉÃ1ÀÉÃglutJoystickSetSaturation��� ERROR: Function <%s> called without first calling 'glutInit'.�glutJoystickGetSaturation�glutJoystickSetDeadBand�glutJoystickGetDeadBand�glutJoystickNotWorking�glutJoystickGetNumButtons�glutJoystickGetNumAxes�glutJoystickGetCenter�glutJoystickGetMaxRange�glutJoystickGetMinRange�glutJoystickSetCenter�glutJoystickSetMaxRange�glutJoystickSetMinRange���?��J��6��"����ú��æ��?��X��CurrentJoystickSettings�System\CurrentControlSet\Control\MediaResources\Joystick�%s\%s\%s�OEMName�Joystick%d%s��System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM�%s\%s���illegal attempt to initialize joystick device again�JS: Failed to read joystick name from registry������A§ tZà&?��zD���?������������������������)����/�������H�������S�������Z�������_���)����l�������ˆ�������“�������š�������Ÿ���)����¯�������È�������Ó�������Ú�������ß���)����ì���������������������������)����)������H������S������Z������_��)����i������ˆ������“������š������Ÿ��)����©������È������Ó������Ú������ß��)����é������ ������������#������*������/��)����9������Z������h������s������z��������)����‰������ª������¸������Ã������Ê������Ï��)����Ù������û������������#������*������/��)����9������[������x������ƒ������Š��������)����™������»�������������� ������������!����E������T������y������Š��"����¤��#����^������Š������÷��������$���� ��������������$����$������m������y������������‘��%����¸��&����Ç������Û������ù��%����# ��'����9 ��(����V ������^ ������n ��%����• ��&����Í ������Õ ��'����å ��(���� ������ ������& ������+ ��)����? ��*����I ������ü ��+����2 ������ ������ ������ ��,����6 ��-����m ������v ������ ������|������€������„������ˆ������Œ������������”������˜������œ������.file�������þÿ��g����������������������������� �����������������������3���������������?���@���� ������Z���€���� ������s���À���� ������Œ������� ������¤���@��� ������¿���€��� ������×���À��� ������î������ ��������`��� ������ ��°��� ������7����� ������P��p��� ������i��Ð��� ��������ð��� ��������0��� ������¶��� ��� ������Í��` ��� ��.text����������¨ ��x�������������.data����������������������������.bss����������������������������.rdata���������à�� �������������_fgState���������_memcpy������� ������ß�������� ������ì�������� ��_sin���������� ��_cos���������� ��_free��������� ������û�������� �������������� �������������� ������-�������� ��_fgError������ ��_calloc������� ������<�������� ������O�������� ��_strncpy������ ��Z��freeglut_joystick.c�_glutJoystickSetSaturation�_fgJoystick�_glutJoystickGetSaturation�_glutJoystickSetDeadBand�_glutJoystickGetDeadBand�_glutJoystickNotWorking�_glutJoystickGetNumButtons�_glutJoystickGetNumAxes�_glutJoystickGetCenter�_glutJoystickGetMaxRange�_glutJoystickGetMinRange�_glutJoystickSetCenter�_glutJoystickSetMaxRange�_glutJoystickSetMinRange�_fgJoystickPollWindow�_fgJoystickClose�_fghJoystickGetOEMProductName.clone.0�_fgInitialiseJoysticks�_fgJoystickDetect�_fgSetWindow�_joyGetPosEx@8�__snprintf�_RegOpenKeyExA@20�_RegQueryValueExA@24�_RegCloseKey@4�_joyGetDevCapsA@12�_fgWarning�freeglut_main.o/1264195965 500 500 100664 13408 ` L�����î*��N�����.text�����������@��´���4������Ã��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������@��ô��Ò#������¶���@�`@U‰åVS»���ƒìÇ$ ���è����ƒìf…ÀxÇ$¡���è����¿ØƒìÁëÇ$¢���è����ƒìf…ÀxMÇ$£���1öè����ƒìf…Àx7Ç$¤���è����ƒìf…Àx,Ç$¥���è����1Òƒìf…Àx‰ð Øeø Ð[^]þ���ëÂf‰ðº��� Øeø Ð[^]ô&����¼'����U‰åƒì‹E‹U €x,�t €x-�tƉB‰T$ÇD$À���‰$è����Éö����¿����U‰åƒì‹E‹U ‹H|…ÉtƉB‰T$ÇD$���‰$è����ÉÃU‰åSƒì‹]€{,�t€{-�u‹E ‰$ÇD$0��‰D$è����‹]üÉÃÆC,�ÇD$ #��ÇD$����ÇD$����‹C ‰$è����ƒìë¸fU‰åVSƒì‹����ÇD$ ���u ÇD$���Ç$����ƒÃ@‰\$ è����¡|���…Àt‰D$ÇD$ ���‰$è����‹E‰t$‰$‰D$è����‰\$Ç$ ���è����ƒÄ[^]Ãt&�U‰åVSƒì‹����ÇD$ ���u ÇD$���Ç$����ƒÃ@‰\$ è����¡|���…Àt‰D$ÇD$ ���‰$è����‹E‰t$‰$‰D$è����‰\$Ç$ ���è����€=����uÇ$���è����´&����è����ëæ‰ö¼'����U‰åìØ��€=����‰uø‹u ‰}ü‹}‰]ô„l��‰<$è����…À‰Ã„€��þ���„��v;þ��†Ÿ��þ��‡×��þ��ƒ“��†üýÿÿƒø‡��é��v�ƒþ¸ ���„ô���f‡š��ƒþ„i��‡ü��0Àƒþ„Ñ���ƒþ„ì��ƒþ…½��‹M‹…Û„Õ��‰{ ‰<$è����ƒì€»È����‰C„„ ��‹5���ÇD$����Ç������ÇD$����‰$è����¡ ���‰5���…À„T��‹�‰D$‹C‰$è����ƒì‹C‰$è����ƒì‰C‹{ÆCF…ÿˆE ��‹s …öˆ: ��‹C‰D$‹C ‰$è����¸���ƒì‹]ô‹uø‹}ü‰ì]Â�ÇD$���Ç$ ���è»ýÿÿ‰<$è����…À‰Ã…€þÿÿƒþ„wþÿÿ‹E‹U‰t$‰<$‰D$ ‰T$è����‹]ô‹uø‹}üƒì‰ì]Â�t&�þ��‚œ��·E‹U‰C<Áê=ÿ��‰S@­��úÿ��~ ê���‰S@†ÿýÿÿƒøÇ…|þÿÿÿÿÿÿÆ…xþÿÿ�w¶–��‹… ��ˆ•xþÿÿ‰…|þÿÿÇ$���è����ƒì…À„Ë��‹…|þÿÿ…À…í ��Ç…|þÿÿ���‹C@‹•|þÿÿ‰D$‹C<‰T$‰$‰D$ ¶…xþÿÿ‰D$è����„À…$��€½xþÿÿ„ú ��è����‹s`…ö„��‰$è����èfúÿÿ‹s`…ö£,���„��‰$è����‹C@‹|þÿÿ‰D$ ‹C<‰ $‰D$1À€½xþÿÿ�”À‰D$ÿÖéæ���ƒþ„—��´&����†!��þ…���„.��þˆ���„ø��ƒþ …��fƒ}„à ��‹U‹MÇD$ ���‰<$‰T$ ‰L$è����ƒìéêýÿÿþ��„Ì��†–��þ��„+��þ���„Ï��þ��…²���‹5(���…ö„„��€{D„z��èeùÿÿ‹sP…ö£,���t‰$è����‹C@‰D$‹C<‰D$¶E‰$ÿÖ‹]ô¸���‹uø‹}üÇ,���ÿÿÿÿ‰ì]Â�þ ��„¢��þ��u8‹sH…ö„‘��‰$è����ÿÖ¸���éýÿÿƒþ„ó��‚ž��ƒþ„o��‹M‹E‰L$ ‰D$‰t$‰<$è����ƒìéàüÿÿƒþ „›��t&�‡j��ƒþuÅ‹M‹EÇD$���‰<$‰L$ ‰D$è����‹spƒì…öt‰…lþÿÿ‰$è����Ç$����ÿÖ‹…lþÿÿ€»È����„uüÿÿ‹“¸���…Ò„güÿÿ€z �„]üÿÿ‰…lþÿÿ‰$è����‹…lþÿÿéDüÿÿfþ��„‚þÿÿ‚��þ��…"ÿÿÿf‹=(���…ÿ„i��€{D„_��èÓ÷ÿÿu܉4$£,���è����ƒì‰t$‹C ‰$è����‹E܉C<‹Eàƒì‰C@‹Eƒè!ƒøZ‡Yþÿÿÿ$…¸���-���‰C<éFüÿÿ¿ ���‹sX…ö„5þÿÿ‰$è����‹C@‰D$‹C<‰<$‰D$ÿÖéþÿÿ¿ ���ëο ���ëÇ¿ ���ëÀ¿���빿���벿���ë«¿���뤿���ë¿���ë–¿���ë¿���눋sP…ö„½ýÿÿ‰$è����‹C@‰D$‹C<Ç$���‰D$ÿÖé™ýÿÿ¿l���éOÿÿÿ¿g���éEÿÿÿ¿f���é;ÿÿÿ¿e���é1ÿÿÿ¿d���é'ÿÿÿ¿j���éÿÿÿ¿k���éÿÿÿ¿i���é ÿÿÿ¿h���éÿþÿÿ÷E���@„”þÿÿ¸���é”úÿÿ‹E‹UÇD$���‰<$‰D$ ‰T$è����ƒìénúÿÿÆC-uŒ‰t$‰<$è����‹KH¡���‰…„þÿÿƒì…Ét€{-�ÆC,�…–��‰t$‰<$è����¸���ƒìéúÿÿ‰$è����ƒ=t���„lÿÿÿÇ$����è����¸���ƒìéñùÿÿ·U‹E‰S<Áèúÿ��‰C@~ ê���‰S<=ÿ��~-���‰C@‹ƒ¸���…À„½��‰$è����¸���é¡ùÿÿ‹E%ðÿ��= ð��uÆC-�‹E‹UÇD$��‰<$‰D$ ‰T$è����ƒìéhùÿÿ¶����‹U‹MÇD$ ���‰<$‰T$ ‰L$è����ƒìé<ùÿÿ‹M‹EÇD$ ���‰<$‰L$ ‰D$è����ƒìéùÿÿt&�èÛôÿÿu܉4$£,���è����ƒì‰t$‹C ‰$è����‹E܉C<‹Eàƒì‰C@‹Eƒè!ƒøZ†ÿ��µŒþÿÿ‰4$è����Eäƒì‰D$ ‹EÇD$����‰t$ÇD$����‰$è����ƒìƒø„^��‹sT…ö…ôúÿÿéûÿÿ‹E‹UÇD$���‰<$‰D$ ‰T$è����‹spƒì…ö„Nøÿÿ‰…lþÿÿ‰$è����Ç$���ÿÖ‹…lþÿÿé,øÿÿÆC,‹M‹EÇD$ˆ���‰<$‰L$ ‰D$è����ƒìéøÿÿ‹U‹MÇD$…���‰<$‰T$ ‰L$è����ƒìéÜ÷ÿÿ€{-�„4ýÿÿÆCF·E‰C‹EÁè‰C ¸���é´÷ÿÿfÆC-¸���ÆC,é ÷ÿÿ‹U·}Áê¿ÂiÀ‰ˆÿÿÁèfÁøfÁúf)ЉÂˆ@��¾���‹Kd…É„��‰•lþÿÿ‰$è����èóÿÿ‹•lþÿÿ‰½„þÿÿ£,���?‰÷HƒÀ‰xþÿÿ‰Ö‰…|þÿÿë7v�‰…lþÿÿ‰$è����‹S@‹…lþÿÿ‰T$ ‹S<‰|$‰T$‹•„þÿÿ‰$ÿЃîf…ö„yùÿÿ‹Cd…Àu¼‹|þÿÿƒÿÿ‰€þÿÿt ‹…xþÿÿ‰…€þÿÿ‹C`…Àtɉ…lþÿÿ‰$è����‹S@‹…lþÿÿ‰T$ ‹S<ÇD$����‰T$‹•€þÿÿ‰$ÿЋC`…Àt‰…lþÿÿ‰$è����‹S@‹€þÿÿ‹…lþÿÿ‰T$ ‹S<ÇD$���‰ $‰T$ÿÐéSÿÿÿfƒ½|þÿÿÿ…@÷ÿÿ‹M‹E‰L$ é.ùÿÿt&�÷E���@…wûÿÿétøÿÿÇD$����ÇD$����‰$è����€=%����„Ã��è����…À‰C„³��‰$è����éšõÿÿÿ$…$��¾ ���‹{\…ÿ„Køÿÿ‰$è����‹C@‰D$‹C<‰4$‰D$ÿ×é+øÿÿ¾ ���ëξ ���ëǾ ���ëÀ¾���ë¹¾���ë²¾���뫾���뤾���ë¾���ë–¾���ë¾���눋sT…ö…úÿÿéÎ÷ÿÿ¾l���énÿÿÿ¾g���édÿÿÿ¾f���éZÿÿÿ¾e���éPÿÿÿ¾d���éFÿÿÿ¾j���é<ÿÿÿ¾k���é2ÿÿÿ¾i���é(ÿÿÿ¾h���éÿÿÿ‹5���‰$è����Ç$f���è����‰CÇ$g���è����‰C ‰4$è����éôÿÿt&�‰$è����€{F�…è���‹CH…Àt‰…lþÿÿ‰$è����‹…lþÿÿÿЋ„þÿÿ‰ $è����é(úÿÿ‹C`…À…ñüÿÿv�é¯ùÿÿ‹C0‰$‰D$è����¸���é4ôÿÿ÷Ú¾ÿÿÿÿé¹üÿÿ‹C‰$è����ƒì‰Cé7þÿÿƒ½|þÿÿ…ÃýÿÿÇ…|þÿÿ����éõÿÿè¿ïÿÿöE£,���„Í��‹sh…ö„köÿÿ‰$è����‹C@‰D$‹C<‰$ÿÖéOöÿÿ‹C ‰$è����ƒìéøôÿÿ¡���‹S ‹K‰…tþÿÿẺD$‹C ‰•|þÿÿ‰€þÿÿ‰$è����‹‹¼���‹Ủxþÿÿ‰•Tþÿÿ‹UЃì…É„š��‹xþÿÿ…Œþÿÿ‰D$‰•lþÿÿ‹A ‰$è����ƒìÇ$ ���è����‹Œþÿÿ)TþÿÿƒìÀÇ$!���)…Tþÿÿè����‰…xþÿÿ‹…þÿÿƒìÇ$���‰…pþÿÿè����‹•lþÿÿ+•pþÿÿ‰Á‹…xþÿÿƒìÀ)‹…€þÿÿ)Ê‹|þÿÿ‰…xþÿÿ‰pþÿÿ‹…xþÿÿ‰T$ ‹pþÿÿ‹•TþÿÿÇD$��‰D$‰L$‰T$ÇD$����‹C ‰$è����‹CLƒì…À„B��‰…lþÿÿ‰$è����‹|þÿÿ‹•€þÿÿ‹…lþÿÿ‰L$‰$ÿЀ»È����ÆC,t‹•tþÿÿ‰$è����ÆCF�é…ýÿÿ‹sl…ö…3þÿÿé™ôÿÿÇ$���è����‰Æ£ ���‹C‰$è����ƒì‰é˜ñÿÿÇD$i���ÇD$v���Ç$Œ���èŸïÿÿé ñÿÿ€»È����uj;$���tb‰•lþÿÿÇ$ ���è����‹€þÿÿ AR‰xþÿÿÇ$!���è����Q‰…pþÿÿÇ$���è����‹pþÿÿ…|þÿÿ HR‹•lþÿÿ‰pþÿÿéœþÿÿ‹|þÿÿ‹…€þÿÿ‰pþÿÿ‰…xþÿÿéþÿÿ·Uä‰Ué–øÿÿ‰$è����‹|þÿÿ‹…€þÿÿÇD$����Ç$����‰L$ ‰D$è����ƒìé¯þÿÿ¶����U‰åƒì€=����uÇD$��Ç$¤��èîÿÿÇx������ÉÃU‰åƒìÉé����t&�U‰åƒìèåÿÿÿ+<���Éö����¼'����U‰åVSƒìP€=����]ÔuMé6��´&����ÇD$ ����ÇD$����ÇD$����‰$è����ƒì…À„å���‰$è����ƒì‰$è����ƒìÇD$����ÇD$ ����ÇD$����ÇD$����‰$è����ƒì…Àu¡@���…ÀtOèBÿÿÿ‹@���…Û‰Æu9ë<t&�‰\$Ç$@���è����‰\$Ç$H���è����‹S‰$ÿS ‹@���…Ût;s}È]ðÆEð�ÇEô����‰\$Ç$ð��è����ÆEð�ÇEô����‰\$Ç$0��è����è����eø[^]Ãv�¡t���…Àt/ƒøuèÇx������eø[^]ÃÇD$ä��Ç$¤��èýìÿÿéùþÿÿè����Ç$����è����´&����U‰åWVSƒì<‹����€=����„x��…Ût,‹st…öt‹=���‰$è����¶C-‰$ÿÖ‰<$è����‹…ÛuÔÇx������]àè"þÿÿ¡����…ÀuëW´&����‹�…ÀtJ€¸È����uñ‹ P���…Étl‹���…Òt €ºÈ����uIÿÑ‹5P���…ötM¡x���ƒøuèÉýÿÿ¡����…Àu¶Çx������‹t���è����…Û„Ð���eô[^_]É$è����‹ P���ë§ÆEà�ÇEä����‰\$Ç$À���è����‹Mä…Éu‘¡@���¾ÿ��…Àt‹pè3ýÿÿ)ƉðÁø÷Ð!ÆÆEà�ÇEä����‰\$Ç$���è����‹Uä…Òt ƒþ ~¾ ���ÇD$ÿ���‰t$ ÇD$����ÇD$����Ç$����è����ƒìéÿÿÿÇD$ö��Ç$¤��è8ëÿÿéoþÿÿÇ$����è����´&����U‰åƒì‰]ø‹]‰uüèŒüÿÿ‹S4S89ЉÆ| ‰$è����‰s8‹E ‰$ÇD$ð��‰D$è����‹]ø‹uü‰ì]Ãfreeglut �(%s): �Event Handler�� ERROR: Internal <%s> function called without first calling 'glutInit'.�fgWindowProc�Cannot create window�� ERROR: Internal error <%s> in function %s�} ��s ��i ��_ ��U ��K ��A ��7 ��Æ��Æ��Æ��Æ��- ��þ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��Æ��÷��ð��é��â��Û��Ô��Í��Æ��¿��¸��±����H��>��4��*�� ���� ����e ��e ��e ��e ��ø��è��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��e ��á��Ú��Ó��Ì��Å��¾��·��°��©��¢��›��k��glutLeaveMainLoop��� ERROR: Function <%s> called without first calling 'glutInit'.�glutMainLoopEvent�glutMainLoop�����������������������������������ÿÿÿÿ������ÿÿÿÿ�������������)�������>�������T�������h�������|�������æ�������î���M����!������)��M����P������Y��M����…������š������´������À������Å������Õ������Ý�� ����ð��!�������"����������4������@������E������U������]�� ����p��!����€��"����†������•��K����¡��G����»������Ù��&����‡��#���� ������®������Â��3����Ç������Í������æ��$����ô��<����&��%����E������L������Y��&����†��2����÷������þ��������=����d��'����~��(����‘��H���� ������®��H����<��2����€������¡������«��H����Ö��������H����F��2����…��2������H����ß��-����������4������9��.����K��/����p������•��H���� ��H����¸ ��2����Ó ��)����Û ������ ��*���� ��+���� ������0 ��,����ƒ ��-����¾ ��2����ê ��2���� ��2����, ������1 ��.����C ��/����o ��0����˜ ��1����Ò ��2����î ��H����$ ��2����J ��2����Ø ��H����î ������ ��H����‚ ��H����¾ ��H����6��3����<������H��4����[��5����g��������H����T������\��H����h��6����w��6����‚��H����”��H����³��H����É��H����ð��7������<����F������_��H����~��8����‹������µ��9����ù��9������=����+��=����L��=����¾��:����Ú��H������H����5��;����<������G��<����Y������a������h������������•��=����±��=����Ä��=������H����>��>����X������c������j������u������������º������ì��@����ÿ��A���� ��B����5��C����A������P������g������l��D����w������|��E����‹������­������²��I����È������Í��I����Ò��F����á������ð������������ ��������G����%��K����;������A������Y������a��H����r��H����~������������±������»������Ð������Ù������è������ò������ü��������G������H����������7������<��I����H������z��������I����¸��J����È������Ï������å��K������L����%������.��M����ˆ��?����¸�������¼�������À�������Ä�������È�������Ì�������Ð�������Ô�������Ø�������Ü�������à�������ä�������è�������ì�������ð�������ô�������ø�������ü�������������������������� ������������������������������ ������$������(������,������0������4������8������<������@������D������H������L������P������T������X������\������`������d������h������l������p������t������x������|������€������„������ˆ������Œ������������”������˜������œ������ ������¤������¨������¬������°������´������¸������¼������À������Ä������È������Ì������Ð������Ô������Ø������Ü������à������ä������è������ì������ð������ô������ø������ü������������������������� ������������������������������ ������$������(������,������0������4������8������<������@������D������H������L������P������T������X������\������`������d������h������l������p������t������x������|������€������„������ˆ������Œ������������”������˜������œ������ ������¤������¨������¬������°������´������¸������¼������À������Ä������È������Ì������Ð������Ô������Ø������Ü������à������ä������è������ì������ð������ô������ø������ü������������������������� ������������������������������ ������$������(������,������0������4������8������<������@������D������H������L������P������T������X������\������`������d������h������l������p������t������x������|������€������„������ˆ������Œ������.file�������þÿ��gfreeglut_main.c��������������� ��������������������������À���� ������<������� ������V���0��� ������j������ ��_fgError��� ������u���°��� ������†�������������‘��� ����������œ���P��� ������¯���€��� ������½������ ������Ì���°��� ������ß���0��� ������í���ð��� ��.text����������<��Ã�������������.data����������������������������.bss�����������������������������.rdata���������@��¶����������������������������_fgState������������������������������������ ������.�������� ��_fwrite������� ��_fprintf������ ������?�������� ��_fputc�������� ��_GetDC@4������ ������I�������� ������[�������� ������h�������� ������z�������� �������������� ������Ÿ�������� ������­�������� ������¹�������� ������Ê�������� ������Ý�������� ������ô�������� �������������� �������������� ������*�������� ������6�������� ������I�������� ������]�������� ������u�������� ��_glutGet������ ������Œ�������� ������™�������� ������§�������� ������¸�������� ��_malloc������� ������É�������� ������Ý�������� ������ñ�������� ��������������� �������������� �������������� ������3�������� ������G�������� ������X�������� ������f�������� ������t�������� ������„�������� ������”�������� ������¡�������� ������°�������� ��_exit��������� ������Î�������� ������ä�������� ��ö��_fghGetWin32Modifiers�_fghHavePendingRedisplaysCallback�_fghCheckJoystickCallback�_fghcbDisplayWindow�_fgWarning�_fgWindowProc@16�_CSWTCH.30�_CSWTCH.31�_glutLeaveMainLoop�_fgSystemTime�_fgElapsedTime�_glutMainLoopEvent�_glutMainLoop�_fghcbCheckJoystickPolls�__imp___iob�_fgStructure�_GetKeyState@4�_RedrawWindow@16�_vfprintf�_wglMakeCurrent@8�_ReleaseDC@8�_fgWindowByHandle�_fgCheckActiveMenu�_ReleaseCapture@0�_BeginPaint@8�_EndPaint@8�_fgDestroyWindow�_PostQuitMessage@4�_fgUpdateMenuHighlight�_GetCursorPos@4�_ScreenToClient@8�_GetKeyboardState@4�_ToAscii@20�_DefWindowProcA@16�_fgSetupPixelFormat�_wglGetCurrentContext@0�_fgNewWGLCreateContext�_fgSetCursor�_SetCapture@4�_GetWindowRect@8�_SetWindowPos@28�_wglCreateContext@4�_GetSystemMetrics@4�_glViewport@16�_timeGetTime@0�_GetMessageA@16�_TranslateMessage@4�_DispatchMessageA@4�_PeekMessageA@20�_fgListRemove�_fgListAppend�_fgCloseWindows�_fgDeinitialize�_fgSetWindow�_fgEnumWindows�_MsgWaitForMultipleObjects@20�_fgJoystickPollWindow�_fgEnumSubWindows�freeglut_menu.o/1264195965 500 500 100664 10366 ` L�����:��M�����.text�����������°��´���\������ã��� �P`.data�����������@���d��������������@�0À.bss��������������������������������€�0À.rdata����������¸��¤��������������@�@@U‰åV‰ÆS‹Z‰B<…Ût‹S…Òt‰ðèáÿÿÿ‹…Ûuì[^]ô&����U‰åƒì€=����uÇD$����Ç$���è����¡���‹U‰PÉÃU‰åƒì€=����uÇD$P���Ç$���è����¡���‹@ÉÃv�U‰åSƒì‹]€=����t-¡���…Àt‹���…Òt…Ûxƒû Ç„˜¬�������ƒÄ[]ÃÇD$`���Ç$���è����ë½v�¼'����U‰åSƒì‹]€=����t-¡���…Àt‹���…Òt…Ûx ƒû‰”˜¬���ƒÄ[]Ãt&�ÇD$o���Ç$���è����ë½v�¼'����U‰åƒì€=����t‹���1À…Òt‹B ÉÃÇD$~���Ç$���è����ëÙv�¼'����U‰åƒì€=����t‹E‰$è����…Àt£���ÉÃÇD$Š���Ç$���è����ëÔt&�U‰åSƒì‹]€=����t‰$è����…Àt1‰EƒÄ[]é����t&�ÇD$–���Ç$���è����‰$è����…ÀuσÄ[]Ãv�¼'����U‰åƒì€=����uÇD$¦���Ç$���è����‹E‰$è����‹@ Éö����¼'����U‰åƒì‹E £����Éë¯ë U‰åWVSƒì,¡���…À„„���‹X1ÿº���ÇEä����¹���…Ûtd‹CÇ$���‰D$è����‹K…ɉƉCtÇD$µ���Ç$���è����Ɖs9uä}‰uäÇ$���è����‹…Û|uª‹UäO¡���ƒÂ‰H(‰P$ƒÄ,[^_]ô&����¼'����U‰åVSƒì‹u€=����tb‹���…Òt ‹Z…Ûtƒþ¸���u ëƒÀ9Æt ‹…ÛuóƒÄ[^]É\$‰$è����‹C…Àt‰$è����‰$è����ƒÄ[^]éÚþÿÿÇD$·���Ç$���è����ëˆt&�U‰åWVSƒì,‹E €=����‹u‹]‰Eätu‰$è����‰Ç¡���…Àt$…ÿt ‹X…Ûtƒþ¸���u ëƒÀ9Æt‹…ÛuóƒÄ,[^_]Ãv�‹C…Àt‰$è����‹Eä‰$è����‰{ÇCÿÿÿÿ‰CƒÄ,[^_]é-þÿÿÇD$Ê���Ç$���è����érÿÿÿt&�U‰åWVSƒì,‹}€=����‹U ‹utk¡���…Àt ‹X…Ûtƒÿ¸���u ëƒÀ9Çt‹…ÛuóƒÄ,[^_]Ãt&�‹C…Àt‰Uä‰$è����‹Uä‰$è����‰sÇC����‰CƒÄ,[^_]éŠýÿÿ‰UäÇD$Þ���Ç$���è����‹Uäévÿÿÿt&�¼'����U‰åƒì(€=����‰uø‹u ‰}ü‹}‰]ôttÇD$���Ç$ ���è����‰4$‰Ãè����‰Æ¡���…Àt>…öt:‰<$è����‰s‰\$ÇCÿÿÿÿ‰C¡���ƒÀ‰$è����‹]ô‹uø‹}ü‰ì]éÛüÿÿ‹]ô‹uø‹}ü‰ì]ÃÇD$ô���Ç$���è����ésÿÿÿt&�U‰åƒì(€=����‰uø‹u ‰}ü‹}‰]ôtSÇD$���Ç$ ���è����‹���…Ò‰ÃtI‰<$è����‰s‰\$‰C¡���ƒÀ‰$è����‹]ô‹uø‹}ü‰ì]é?üÿÿÇD$��Ç$���è����ë—‹]ô‹uø‹}ü‰ì]ö����¿����U‰åV‰ÆSƒì‹@‹@8‰$è����è����‹F‹X‹P8Ç@4����…ÛÇ‚¸�������Æ@ �t‹KÆC�…Ét‰Øè®ÿÿÿ‹…Ûuè‹F‹@<‰$è����ƒÄ[^]Ãv�U‰åVSƒì‹E‹˜¸���…Ût{‹C8‹s<‰$è����è����‹C8‰ÚÇ€¸�������‹C<Ç€¸�������1ÀèÅøÿÿÆC �ÇC4����‹[ƒ-T���…Ût‹CÆC�…Àt‰Øèÿÿÿ‹…Ûuè‰uƒÄ[^]é����¶����ƒÄ[^]Éö¼'����U‰åƒì‰]ø‰Ó‹$���‰uü‰Î…Òt&Ç$È���è����Ç$É���‰è����‹]ø‰‹uü‰ì]á ���‹uü‰¡¤���‹]ø‰‰ì]ô&����U‰åWVS‰ÃƒìL‹p…öuëL‹6…ötF‹F…Àtò€~�tì‹{8‹S,‹H8W<+P,‰Q<‹S0W@+P0‰Q@èµÿÿÿ„ÀtŃÄL¸���[^_]Ãt&�‹S8‹z<‹B@ƒÿ‰EÔ~ ‹C$ƒè9øE‹C4…À„��€x�„��‹H…Ét €y �…ó���ÆB,Æ@�1ÀÇC4����ƒÄL[^_]ö����ƒ}Ô~µ‹C(ƒè9EÔ}ªÇ$���è����‹UÔ‹sƒêH‰ÐÁú÷ù…ö‰ÁtP¸���ƒúu ë1ƒÀ9Ât*‹6…öuó‰MÄ1öÇD$��ÇD$'��Ç$@��è����‹MÄÆF‹C4‰N …Àt9ðt&‹H…É„D��è8ýÿÿ‹C49Æt‹S8…ÀÆB,tÆ@�ÆC ‹F‰s4…À„Ïþÿÿ€x �tÆ@ ¸���éÿÿÿƒÄL1À[^_]Ë���Mà‰UÌUäÆ@ ‹C<èçýÿÿ‹V‹C$C,‰UĉB,‹C0‰EЋF Ç$���‰EÈè����‹UăÀ¯EÈEЉB0‹F‹H$‹P,Ê;Uä~‹S,)ʉP,‹P0‹H(Ñ;MàŠ���‹@8‰$è����‹F‹P0‰T$‹@,‰$è����‹F‹P(‰T$‹@$‰$è����è����è����‹F‹P8‰‚¸���‹Ủ$è����‹F{,‹MÔ‹P8+x,‰z<K0+H0‰J@èqýÿÿ‹Féïþÿÿ‹S8ÆB,éÇþÿÿ‰UÄÇ$���è����‹Uă‰Á‹F+P( ‰ÊÁú÷Ò!ʉP0éEÿÿÿ¶����¿����U‰åƒì‹EÉéýÿÿU‰åWVSƒì<‹]‹U ¶u‹ƒ¸���…À„��9X<„v��èáüÿÿ„Àu-‰ð„À…Å���€»È����¸���tƒÄ<[^_]ÃÆC,ƒÄ<[^_]á���‰EС���‰EÔ‹ƒ¸���‹x<‰<$è����‹³¸���‰5���‰ò‹B…Àuë8‹�…Àt2€x�tô‹H…Ét‰Êëà‹J…Ét‹@‰���‰$ÿщ5���¶����‰<$è8ûÿÿ‹EЉ$è����‹EÔ£���¸���€»È����…NÿÿÿéQÿÿÿ‹ƒ¸���‹@<‰$èýúÿÿ¸���€»È����…&ÿÿÿé)ÿÿÿ¶����ƒú‡\��‰ð„Àv�„O��ƒÂ(‹t“ …ö„@��ÆC,‹t“ ¡���‰EÔ‹F<…Àt Ç€¸�������‰³¸���‰ò‰ØÆF è—óÿÿ‹F<MàUäƒT���èûÿÿ‰$è����‹{<Ç$d���è����<8‰~,‹{@Ç$e���è����‹N,‹V$ø< ;}ä‰F0~)щN,‹V( ;Mà~)ЉÂÁú÷Ò!‰V0‹S<‹~8Ç$d���‰UÌè����‹UÌ+V,‹[@‰G<‹~8Ç$e���è����+^0‰G@‹F8‰$è����‹F0‰D$‹F,‰$è����‹F(‰D$‹F$‰$è����è����è����‹F8‰°¸���‰ðèúÿÿ‹EÔ‰$è����¸���é¶ýÿÿƒÄ<1À[^_]ËM‹P8+H,‰J<‹M+H0‰J@épýÿÿ¶����U‰åWVSƒì\¡���…À‰EÔ„Î��‹UÔ‹²¸���…ö„¤��‹F8‰$è����Ç$H�è����ƒìÇ$q ��è����ƒìÇ$á ��è����ƒìÇ$P ��è����ƒìÇ$D ��è����ƒìÇ$��è����ƒìè����è����Ç$g���è����Ç$f���‰Ãè����‰]äÙèÝT$(ÙèÙàÝ\$ ÙîÝT$ÛEäÝ\$‰EäÛEäÝ\$Ý$Ù]Èè����ƒì0Ç$���è����ƒìè����è����ÙEÈÙT$ ÙT$ÙT$Ù$è����ƒìÇ$���è����ƒìÇD$����‹F$‰$è����ƒìÇD$���‹F$ƒè‰$è����ƒìÇD$����Ç$����è����ƒìÇD$���Ç$���è����‹F(ƒì‰D$Ç$����è����‹F(ƒèƒì‰D$Ç$���è����ƒìè����ÇD$���?ÇD$���?Ç$���?ÙEÈÙ\$ è����ƒìÇ$���è����‹F(ƒì‰D$Ç$����è����‹F(ƒèƒì‰D$Ç$���è����‹F(ƒì‰D$‹F$‰$è����‹F(ƒèƒì‰D$‹F$ƒè‰$è����ƒìÇD$����‹F$‰$è����ƒìÇD$���‹F$ƒè‰$è����ƒìè����Ç$����è����ƒìÇ$���è����ƒìÇD$���Ç$���è����ƒìÇD$���‹F$ƒè‰$è����‹F(ƒèƒì‰D$‹F$ƒè‰$è����‹F(ƒèƒì‰D$Ç$���è����ƒìè����‹^…Ûuéç���‹…Û„Ý���€{�tð‹{ Ç$���è����ƒìÇ$���è����ƒìÇ$���è����Ç$���ƒÀ¯ÇƒÀ‰D$è����ƒìÇ$���è����ƒÀ¯ÇƒÇƒÀ‰D$‹F$ƒè‰$è����ƒìÇ$���è����ƒÀ¯ÇƒÀ‰D$‹F$ƒè‰$è����ƒìÇ$���è����Ç$���ƒÀ¯ÇƒÀ‰D$è����ƒìè����‹…Û…#ÿÿÿÇ$ ���è����‹^ƒì…Û„y��ÇEÜ����‰uØéL��‹uÜÇ$���è����Ç$���ƒÆ‰Çè����ƒÇ¯þÇ$���ƒÀ‰EäÛEäÜ ¨��Ù}â·EâØ%°��´ f‰EàÙmàÛ]äÙmâ‹Eä)lj|$è����‹Cƒì‰D$Ç$���è����‹{…ÿ„¶���ÇD$_���Ç$���è����‹UØ‹z$Ç$���ƒï)Çè����Ç$���ƒÀ¯EÜP‰U܉EÈè����‹EȃÀƒì‰D$‰<$è����ƒìÇ$���è����ƒÀ‰ÂÁê‹UØÑøE܉D$‹B$ƒè‰$è����ƒìÇ$���è����‰<$E܉D$è����ƒìè����€{�ul‹…Ût!‰uÜ€{�„ªþÿÿÇ$0���è����ƒìé–þÿÿè����Ç$��è����ƒìè����Ç$���è����ƒìè����è����‹EÔ‰$è����eô[^_]ÃÇ$ ���è����ƒìëƒÇD$l��ÇD$|��Ç$@��è����éúÿÿš™Y?š™Y?š™Y?��€?š™>š™>ffæ>��€?��������������€?��€?��€?��€?��€?glutSetMenuData� ERROR: Function <%s> called without first calling 'glutInit'.�glutGetMenuData�glutDetachMenu�glutAttachMenu�glutGetMenu�glutSetMenu�glutDestroyMenu�glutCreateMenu�_�glutRemoveMenuItem�glutChangeToSubMenu�glutChangeToMenuEntry�glutAddSubMenu�glutAddMenuEntry�fghCheckMenuStatus�Cannot find menu entry��� ERROR: Internal error <%s> in function %s�fgDisplayMenu���Displaying menu in nonexistent window�������333333Ó?���@����8���&����C���$����J���$����O���L����T���'����h���&����s���$����z���$�������L����„���'����œ���&����¤���'����®���'����Ô���$����Û���$����à���L����ü���&������'������'����4��$����;��$����@��L����X��&����a��'����t��$����{��$����€��L����˜��&����¦��/����¯��'����¹��$����À��$����Å��L����Ü��&����ç��/������$���� ��$������L������/����8��&����C��$����J��$����O��L����Z��+����z��(����š��'����Ï��,����ã��$����ï��,������C������'����M��&����V��'������-����Ÿ��.����§��.����º��$����Á��$����Æ��L����Þ��&����ò��/����ù��'����;��.����F��1����g��$����n��$����s��L����Ž��&����œ��'����Þ��.����é��1���� ��$������$������L����8��&����^��0����h��/����o��'������1����•��'���� ��2����Æ��$����Í��$����Ò��L����è��&������0������'����"��1����1��'����<��2����U��$����\��$����a��L����”��J����™��3����â��J������J������3����K��&������'����²��:����À��:����Ñ��)����Û��)����É��C���� ��$���� ��$���� ��$���� ��L���� ��'����Ì ��C���� ��J����% ��4����: ��5����? ��6����D ��7����[ ��J����ž ��C����A ��'����I ��'����] ��J����i ��'����› ��'����¦ ��'����¿ ��J����Ç ��'����> ��'����t ��&����‚ ��J����‘ ��:����¦ ��:����ì ��:���� ��:���� ��J����0 ��4����B ��5����G ��6����L ��7����g ��J����ª ��'����Ñ ��J����Ý ��8����ì ��9����û ��9���� ��9������9����(��G����0��<����5��=����A��:����O��:����‚��;����‘��G����™��<����ž��=����µ��>����Ä��B����Ú��D����ó��D���� ��D����!��D����7��D����P��D����X��E����{��>����Š��B���� ��D����¹��D����Î��D����é��D����ÿ��D������D���� ��E����'�� ����,��K����;��B����R��D����k��D����†��D����Ÿ��D����§��E����Í�� ����Ò��K����á��B����ð��C���� ��D������C����6��D����E��C����`��D����o��C����ˆ��D������E����¡�� ����¦��K����Ò��C����ã��C����ÿ��$���� ��$����)��?����?��@����^��A����u��C����‘��B����¦��D����µ��C����Ú��D����é��C����ø��D�������E���� �� ����%��K����2��F����>��G����F��H����R��G����Z��H����_��I����j��J����y�� ����~��K����‹��$����“��$����š��$����Ÿ��L����ø��*����v��J����.file�������þÿ��gfreeglut_menu.c��������������� ��������������������������0���� ������-���`���� ������>������� ������N���ð���� ������^���P��� ������k������ ������x���Ð��� ������‰���0��� ������™���p��� ������³������ ������Ì���@��� ������à���Ð��� ������õ���€��� ������ ��0��� ��������à��� ������.��€��� ������D��ð��� ������V����� ������h��ð��� ������|��Ð ��� ������“��à ��� ������¦��  ��� ������µ��������������Ä�������������Ô�� �����������ã��0�������.text����������¨��ã�������������.data����������@�����������������.bss�����������������������������.rdata���������´����������������_fgState�������������ó������������������������������������������������������ ������*�������� ������8�������� ������J�������� ��_free��������� ������X�������� ��_calloc������� ��_strdup������� ������d�������� ������r�������� ������‚�������� ������–�������� ������©�������� ������¸�������� ������È�������� ������Ø�������� ��_glutGet������ ������å�������� ������ñ�������� �������������� �������������� ������!�������� ������2�������� ������D�������� ������U�������� ������`�������� ������r�������� ��_glEnd@0������ ������€�������� �������������� ������Ÿ�������� ������®�������� ������¿�������� ������Ì�������� ��_fgError������ ��Ú��_fghSetMenuParentWindow�_glutSetMenuData�_glutGetMenuData�_glutDetachMenu�_glutAttachMenu�_glutGetMenu�_glutSetMenu�_glutDestroyMenu�_glutCreateMenu�___glutCreateMenuWithExit�_fghCalculateMenuBoxSize�_glutRemoveMenuItem�_glutChangeToSubMenu�_glutChangeToMenuEntry�_glutAddSubMenu�_glutAddMenuEntry�_fghDeactivateSubMenu�_fgDeactivateMenu�_fghGetVMaxExtent�_fghCheckMenuStatus�_fgUpdateMenuHighlight�_fgCheckActiveMenu�_fgDisplayMenu�_menu_pen_back�_menu_pen_hback�_menu_pen_fore�_menu_pen_hfore�_fgStructure�___glutExitFunc�_fgDisplay�_fgDestroyMenu�_fgCreateMenu�_glutBitmapLength�_fgListRemove�_fgMenuByID�_fgListAppend�_glutHideWindow�_glutPositionWindow�_glutReshapeWindow�_glutPopWindow�_glutShowWindow�_glPushAttrib@4�_glDisable@4�_glOrtho@48�_glPushMatrix@0�_glLoadIdentity@0�_glColor4f@16�_glRasterPos2i@8�_glutBitmapString�_glutBitmapWidth�_glBegin@4�_glutBitmapHeight�_glVertex2i@8�_glPopAttrib@0�_glMatrixMode@4�_glPopMatrix@0�_glutSwapBuffers�_fgSetWindow�_glColor4fv@4�freeglut_misc.o/1264195965 500 500 100664 2909 ` L�����n�������.text�����������P��´���ø������?��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������ô����������������@�0@U‰åƒì€=����tÉÃÇD$����Ç$���è����ÉÉö¼'����U‰åƒì€=����uÇD$T���Ç$���è����ÙîÉÉö¼'����U‰åƒì€=����tÉÃÇE a���ÇE���Éé����t&�¼'����U‰åSƒì‹]€=����tA…Ûx ƒû~ƒût"‰\$Ç$€���è����ƒÄ[]É(���ƒÄ[]ÃÇ(������ƒÄ[]ÃÇD$n���Ç$���è����ë©¶����U‰åƒì€=����t¡���…Àt(‹U…Ò•@DÉÃÇD$¢���Ç$���è����¡���…ÀuØÇD$¢���Ç$¸���è����‹U¡���…Ò•@DÉö����¿����U‰åƒì€=����t!¡���…Àt‹H|…Ét‰$è����Éô&����ÇD$ö���Ç$���è����ëÉv�¼'����U‰åƒì€=����u4é���=��º��twe=���º+��tº¼��‰T$Ç$Í��è����è����…ÀtU=��º^��tÛvº=��ºŒ��tͺn��rÆ=1€��º|��tº=e€��ºª��u©ë¬=��º=��t =��ºO��uë’ÉÃÇD$ ��Ç$���è����늴&����U‰åƒì(‰]ô‹]‰uø‰}ü‰$è����€=����‰Æt-‹=���…ÿtÇD$ ���‰$è����…Àt%1À‹]ô‹uø‹}ü‰ì]ÃÇD$Ú��Ç$���è����ë½Ç$��è����ƒì…À‰ÇtƉ\$‰$è����…Àt¶9Çt€xÿ tð‰\$‰$è����…Àtš9Çuäð¶„Òu ¸���ëˆv�€ú u¸ëïglutCopyColormap���� ERROR: Function <%s> called without first calling 'glutInit'.�glutGetColor�glutSetColor�glutSetKeyRepeat��Invalid glutSetKeyRepeat mode: %d�glutIgnoreKeyRepeat��� ERROR: Function <%s> called with no current window defined.�glutForceJoystickFunc�glutReportErrors�invalid value�invalid enumerant�invalid operation�stack overflow�stack underflow�out of memory�table too large�invalid framebuffer operation�texture too large�unknown GL error�GL error: %s�glutExtensionSupported�������������������������!�������8�������C�������J�������O�������h�������t�������{�������œ�������¹�������¾�������Ê�������Ö�������è�������ï�������ô�������������������'������.������3������8������D������K������P������X������x������€������“������¤������«������°������È������Ú������è������ï������ú������ÿ������������������ ������'������3������?������M������Y������g������n������s������–������œ������§������»������Ö������Ý������â������ð������������!�������������.file�������þÿ��gfreeglut_misc.c��������������� ��������������������������0���� ������$���`���� ������2������� ������D������� ������Y���p��� ������p���À��� ������‚���€��� ��.text����������G��?�������������.data����������������������������.bss�����������������������������.rdata���������ñ����������������_fgState�������������š����������������§��������� ������½��������� ������È��������� ��_strlen������� ��_strchr������� ��_fgError������ ������Ö��������� ��_strstr������� ��å���_glutCopyColormap�_glutGetColor�_glutSetColor�_glutSetKeyRepeat�_glutIgnoreKeyRepeat�_glutForceJoystickFunc�_glutReportErrors�_glutExtensionSupported�_fgStructure�_fgJoystickPollWindow�_fgWarning�_glGetError@0�_glGetString@4� /205 1264195965 500 500 100664 691 ` L�����ü��������.text�����������p���Œ��������������� �P`.data�������������������������������@�0À.bss��������������������������������€�0ÀU‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Ã.file�������þÿ��gfreeglut_overlay.c������������ ������������������������������ ������-��� ���� ������;���0���� ������U���@���� ������u���P���� ������†���`���� ��.text����������e�����������������.data����������������������������.bss�����������������������������—���_glutEstablishOverlay�_glutRemoveOverlay�_glutUseLayer�_glutPostOverlayRedisplay�_glutPostWindowOverlayRedisplay�_glutShowOverlay�_glutHideOverlay� /225 1264195965 500 500 100664 5713 ` L�����F��$�����.text�����������° ��´��� ������t��� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������°��d ��œ���������@�0@U‰åƒì€=����uÇD$����Ç$���è����‹E Ç�����1ÀÉÃU‰åSƒì‹]€=����t=û ��s‰\$Ç$d���è����¸ÿÿÿÿƒÄ[]Ã1Àû$��vðû%��¸ÿÿÿÿuÎëáÇD$T���Ç$���è����ë­v�¼'����U‰åƒì€=����t¡,���ƒøÿtÉÃt&�ÇD$‹���Ç$���è����ëÙÇ$œ���è����1ÀÉÃv�¼'����U‰åƒì€=����‰]ø‹]‰uü‹u „ƒ���û÷��„—���vCûý��„'��‡‘���ûø��„õ���ûù��„Ù���‰] ‹uüÇEà���‹]ø‰ì]é����ûô��„ô���vrûõ��„Æ���ûö��uʼn5 ���‹]ø‹uü‰ì]ÃÇD$Ð���Ç$���è����û÷��…iÿÿÿ‰5���ëζ����ûþ��t8û���…sÿÿÿ‰5„���ë¬t&�ƒûzt#û€���…Vÿÿÿ‰5ˆ���ë´&����‰5 ���뀡���…À„sÿÿÿ‰p0ékÿÿÿv�‰5t���é]ÿÿÿt&�‰5���éMÿÿÿt&�‰5���é=ÿÿÿt&�ƒþ”%���é)ÿÿÿ‰5����éÿÿÿt&�U‰åSƒì‹]€=����tBƒ¨ýÿÿƒøv‰\$Ç$��è����¸ÿÿÿÿ‹]üÉÃÿ$…@��€=����¸���uå1À‹]üÉÃÇD$��Ç$���è����ë¨t&�‹]üÉé����´&����ÇE����‹]üÉé����¡���…Àtµ¶@D딡(���댋]üÉé����¶€���éwÿÿÿt&�ÇE����‹]üÉé����¸���éYÿÿÿ¶����Ç$���è����ƒìé?ÿÿÿ‹]üÉé����v�‹]üÉé����´&����¡���…À„1ÿÿÿ‹@4éÿÿÿÇ$+���è����ƒìéúþÿÿ´&����U‰åƒìH‰]ô‹]‰uø‰}üÇEÜ����ƒû|„¢���û¼��„„���€=����„÷���ûÈ���„Ü��†‹���ûù��„g��†ñ���ûÿ��„u��t&�‡B��ûü��¸xP��t4‡g��ûú��„æ��ûû��…ï���Ç$���è����ƒìëè����‹]ô‹uø‹}ü‰ì]ö���‹]ô‹uø‹}ü‰ì]Ãûp„$��†É���ƒûv„¡��‡ú��ƒûs„��‡��ƒûq„;��ƒûru|Eà‰D$Ç$[ ��è����‹Eàƒìé…ÿÿÿÇD$„��Ç$���è����éðþÿÿt&�û��„Ô��t&�‡��ûÊ���„b��‚R��ûË���„w��û,��„N��‰\$Ç$Œ��è����¸ÿÿÿÿé ÿÿÿ¶����ƒûj„ç��w}ƒûh¸���„îþÿÿwƒûdrÀ¡���…Àu´&����1ÀéÐþÿÿỦT$‹@ ‰$è����¡���9$���VVt ƒ¸¼����„N��ƒûf„Ñ��ƒûg„½��ƒûe„¬��‹EÌéþÿÿƒûm„2��‡*��ƒûk„��ƒûl…7ÿÿÿEà‰D$Ç$S ��è����‹Eàƒìé@þÿÿûö��„å���‡2��ûô��„/��ûõ��…ïþÿÿ€=����„’���¡���éÿýÿÿû��„ö��‡D��û���„Ú��û��…®þÿÿ¡���éËýÿÿt&�ƒûz„���‡7��ƒûx„Ó��ƒûyt&�…zþÿÿEç‰D$Ç$3 ��è����1Àƒì€}ç�•Àé}ýÿÿ¶����¸ÿÿÿÿémýÿÿEà‰D$Ç$Z ��è����‹EàƒìéOýÿÿ€=����tÏ¡ ���é<ýÿÿÇ$ ���è����ƒìé(ýÿÿEç‰D$Ç$2 ��ë…Eà‰D$Ç$V ��è����‹Eàƒìéùüÿÿf¡t���éíüÿÿ¡¤���éãüÿÿ¡¨���éÙüÿÿ¡���…À„õýÿÿƒÀ‰$è����é¼üÿÿ¡¬���é²üÿÿEà‰D$Ç$Y ��è����‹Eàƒìé”üÿÿ¡ ���éŠüÿÿv�¡���ÇD$����ÇD$���‰$è����¶ÀébüÿÿEà‰D$Ç$R ��è����‹EàƒìéDüÿÿEà‰D$Ç$T ��è����‹Eàƒìé&üÿÿ¡���…À„BýÿÿÀ���‰$è����éüÿÿ¡Œ���éýûÿÿ¡”���éóûÿÿ€=����„oþÿÿ¡����éÜûÿÿE܉D$Ç$B ��è����‹E܃ìé¾ûÿÿ¡���…À„Úüÿÿ‹@0é©ûÿÿû��tû���…nüÿÿ¡„���é‹ûÿÿ¡˜���éûÿÿƒû{tû€���…Iüÿÿ¡ˆ���éfûÿÿ¡���…À„‚üÿÿ‹@‰$è����ƒìéFûÿÿƒûnt'ƒûo…üÿÿEà‰D$Ç$X ��è����‹EàƒìéûÿÿEà‰D$Ç$U ��è����‹Eàƒìéüúÿÿû÷��tûø��…Áûÿÿ¡���éÞúÿÿ€=����„Zýÿÿ¡���éÇúÿÿûý��tûþ��…Œûÿÿ¡ ���é©úÿÿ1À€=%����•Àé˜úÿÿƒûtt,ƒûu…cûÿÿ¡���…À„¦ûÿÿ‹€¼���…À„˜ûÿÿ‹@égúÿÿEç‰D$Ç$1 ��éÁüÿÿ€¸È����…¥ûÿÿ‹uÌÇ$ ���è����40Q‰uÌ‹uÔÇ$ ���è����)ÆR‰uÔ‹uÐÇ$!���è����W‰ÇÇ$���è����ÇQ47‰uЋuØÇ$!���è����)ÆR‰uØé9ûÿÿ‹EÐéÓùÿÿ‹EØ+EÐéÈùÿÿ‹EÔ+EÌé½ùÿÿglutGetModeValues��� ERROR: Function <%s> called without first calling 'glutInit'.�glutLayerGet����glutLayerGet(): missing enum handle %d�glutGetModifiers�glutGetModifiers() called outside an input callback�glutSetOption���glutSetOption(): missing enum handle %d�glutDeviceGet���glutDeviceGet(): missing enum handle %d�@��P��d��p��¾��•��à��¾��°��¾��������� ��0��ð��€��glutGet�glutGet(): missing enum handle %d�������������������������������<�������R�������W�������„�������‹��������������¨�������°�������Ä�������Ë�������Ð�������Ù�������Þ�������ø�������P������„������–������������¢������´������Ö������ó������������ ������"������2������B������V������b������|������•������š������«������²������É������Ð������Õ������������������#������X��#������������#����à������Y��#����c������w������Ó��"����æ������í������ò������G������L������������¥������ª������°��������"����S������_������“������Õ������ ��"����������"������3��#����_��"����q������{������…������������¢�� ����¬������Ä��"����Ô������á������ù��������"����2��"����B������W�� ����a������k������v������‚������š��"����ª������Ó������Ý������ø������ ������ ��!����> ��"����\ ��"����€ ������‹ ������— ������µ ������ ������Þ ������+ ��#����A ��#����V ��#����e ��#����} ��#����[������å������ü������������<������i������u������@�� ����D�� ����H�� ����L�� ����P�� ����T�� ����X�� ����\�� ����`�� ����d�� ����h�� ����l�� ����p�� ����t�� ����x�� ����|�� ����€�� ����.file�������þÿ��gfreeglut_state.c�������������� ��������������������������0���� ������%��� ���� ������7���ð���� ������F���p��� ��_glutGet°��� ��.text����������ª ��t�������������.data����������������������������.bss�����������������������������.rdata���������®���������������_fgState�������������U����������������b����������������m��������� ������„��������� ������œ��������� ������®��������� ������É��������� ������Ù��������� ������î��������� ��_fgError������ ������ý��������� �������������� �������������� ������*�������� ������>�������� ������L�������� ������^�������� ������o�������� ��ƒ��_glutGetModeValues�_glutLayerGet�_glutGetModifiers�_glutSetOption�_glutDeviceGet�_fgStructure�_fgDisplay�_fgSpaceballNumButtons�_glutJoystickGetNumAxes�_fgJoystickDetect�_glutJoystickGetNumButtons�_fgHasSpaceball�_fgInputDeviceDetect�_fgElapsedTime�_fgWarning�_GetWindowRect@8�_glGetBooleanv@8�_fgSetupPixelFormat�_fgListLength�_GetPixelFormat@4�_glGetIntegerv@8�_GetSystemMetrics@4� /243 1264195965 500 500 100664 24552 ` L�����àA��ˆ����.text������������������������������� �0`.data��������������´���ô2������`���@�`À.bss��������������������������������€�0À.rdata����������@0��´��´6��������@�`@�����������������������������������������������������������������������������������������������������������������������������������(���4���@���L���X���d���p���|���ˆ���”��� ���¬���¸���Ä���Ð���Ü���è���ô������ ����$��0��<��H��T��`��l��x��„����œ��¨��´��À��Ì��Ø��ä��ð��ü������ ��,��8��D��P��\��h��t��€��Œ��˜��¤��°��¼��È��Ô��à��ì��ø��������(��4��@��L��X��d��p��|��ˆ��”�� ��¬��¸��Ä��Ð��Ü��è��ô����� ����$��0��<��H��T��`��l��x��„����MonoRoman�������€���‰aC����%†ÑB����œ��%†ÑB���¤��%†ÑB���´��%†ÑB���à��%†ÑB������%†ÑB�����%†ÑB���0��%†ÑB���8��%†ÑB���@��%†ÑB���H��%†ÑB���P��%†ÑB���h��%†ÑB���x��%†ÑB���€��%†ÑB���ˆ��%†ÑB�����%†ÑB���˜��%†ÑB��� ��%†ÑB���¨��%†ÑB���°��%†ÑB���¸��%†ÑB���È��%†ÑB���Ð��%†ÑB���Ø��%†ÑB���è��%†ÑB���ð��%†ÑB���ø��%†ÑB�����%†ÑB�����%†ÑB��� ��%†ÑB���0��%†ÑB���8��%†ÑB���H��%†ÑB���X��%†ÑB���p��%†ÑB���ˆ��%†ÑB�����%†ÑB��� ��%†ÑB���À��%†ÑB���Ø��%†ÑB���è��%†ÑB������%†ÑB�����%†ÑB�����%†ÑB���(��%†ÑB���@��%†ÑB���`��%†ÑB���x��%†ÑB���€��%†ÑB�����%†ÑB��� ��%†ÑB���¸��%†ÑB���À��%†ÑB���Ð��%†ÑB���Ø��%†ÑB������%†ÑB��� ��%†ÑB���0��%†ÑB���@��%†ÑB���`��%†ÑB���€��%†ÑB��� ��%†ÑB���À��%†ÑB���Ð��%†ÑB���Ø��%†ÑB���è��%†ÑB���ø��%†ÑB��� ��%†ÑB��� ��%†ÑB��� ��%†ÑB���( ��%†ÑB���8 ��%†ÑB���H ��%†ÑB���X ��%†ÑB���h ��%†ÑB���x ��%†ÑB��� ��%†ÑB���˜ ��%†ÑB���° ��%†ÑB���À ��%†ÑB���È ��%†ÑB���Ø ��%†ÑB���è ��%†ÑB���ø ��%†ÑB���� ��%†ÑB��� ��%†ÑB��� ��%†ÑB���@ ��%†ÑB���` ��%†ÑB���p ��%†ÑB���€ ��%†ÑB���˜ ��%†ÑB���° ��%†ÑB���¸ ��%†ÑB���Ð ��%†ÑB���à �������������ð ������ �����( �����8 ���������������������������������H �����X �����h �����x �����ˆ �����˜ �����À �����` �����€ �� ���� ��"���` �����p�� ���€�� ���à�����0�����@�����P�����`�����p�����€�����À�����à���������� �����À�����à�����`�����Ø�����ð����������� �����X�����h�����€�����€�����@�����€�����À�����������@�����X�����h�����x����� ����� �����`����� �����8�����H�����X�����h�� ���€�� ���à�����@�����Ð�� ���à�����@�����P�����`�����p�����€���������� �����À�����X�����h�����x�����ˆ�����˜�� ���À���������� �����0�����@�����P�������������`�����p�����€���������� �����°�����À�����à�����ˆ�� ��� �����������¨�����¸�� ���à�����0�����@�����à�����ð�� ���� �����P �����` �����������������������������p �����€ ����� �����  �����° �����À �����Ð �����è �����ø �����!�����!�������������(!�����8!�����H!�����X!�����h!�����������������������������x!�����ˆ!�����˜!�����¨!�����¸!�����È!�����à!�����"�����"�����0"�����@"�����°"�����À"�����@#�����°#�����À#�����@$�����à$�����%����� %�����`%�����Ð%�����à%����� &�����H&�����`&����� &�����È&�����Ø&�����è&�����ø&�����'����� '�����`'�����˜'�����À'������(�����ˆ(����� (�����)����� )�����)����� )�����à)�����€*�����¨*�����À*�����ø*�����+�����+���������������������(+�����8+�����H+�����X+�����h+�����x+�����ˆ+����� +�����Ð+�����à+�����ð+�� ����,�����`,�� ����-�����P-�� ���`-�����À-�� ���`.�� ���À.�� ��� /�����x/����� /��%†QB��ÈB%†QBMUB%†QB|aAõy>B|a˜@%†QB����T’dB|a˜@%†QB|aAgUB��ÈBgUBZU…BqÛŽB��ÈBqÛŽBZU…B0 [B“îBÆm«AMU³ª¦B“îB��HBMUÂÆm«AT’dB¾0°BT’dBgU…A:’äA³ª¦B:’äA¬m+B“îB¬m+B|a˜ÁjžwB“îBjžwB|a˜Á������������������������¹m«B¹m«B‰a˜Bèy¾BjžwB��ÈB¬m+B��ÈB:’äAèy¾B|a˜A¹m«B|a˜A‰a˜BÛy¾AZU…B:’äA„žwB|aBT’dBMU…BÛy>B‰a˜B¬m+B¡ç¡B|aB¹m«B:’äA¹m«B:’dA‰a˜B|a˜@jžwB����¬m+B����:’äA|a˜@|a˜A:’dAèy¾B��ÈB|aA��������������������MUB��ÈB¬m+BÐó´B¬m+B¡ç¡B|aBqÛŽB:’äAZU…B|a˜AZU…B|aA‰a˜B|aA¹m«B:’dAèy¾BÛy¾A��ÈBMUB��ÈB¬m+Bèy¾B:’dBÐó´BqÛŽBÐó´B¹m«Bèy¾Bèy¾B��ÈB‰a˜BMUBZU…B:’äA„žwB|a˜A„žwB|aAqÛŽB����¡ç¡B����Ðó´B|a˜@èy¾B:’dAèy¾BÛy¾A¹m«BMUB‰a˜BMUB����������ÈBT’dB��ÈB„žwBèy¾BZU…BÐó´BZU…B¹m«B„žwB¡ç¡B%†QBqÛŽB:’äA„žwB:’dA †QB|a˜@¬m+B����Ûy¾A����:’dA|a˜@|aA|aA|a˜@|a˜A|a˜@:’äA|aA|aB:’dA¬m+BÛy>B„žwB †QBZU…BT’dB‰a˜BT’dB¹m«B †QBèy¾B¬m+B��ÈBMUBèy¾B:’äA¹m«B:’äA‰a˜BMUB„žwB¬m+BÛy>BZU…B:’dA‰a˜B|a˜@¹m«B����èy¾B������ÈB|a˜@��ÈB|aA%†QB��ÈB%†QBZU…B_ŠB“îB_nBJ ÛB��HBèy¾B¡ç!B‰a˜BqÛB%†QBqÛBMUB¡ç!B|aA��HB|aÁ_nBÛy¾Á_ŠBMUÂ����������������qÛB“îBÐó4BJ ÛB0 [Bèy¾BG’€B‰a˜B_ŠB%†QB_ŠBMUBG’€B|aA0 [B|aÁÐó4BÛy¾ÁqÛBMUÂ%†QBqÛŽB%†QB:’dAo’äAT’dB‰a˜B:’äA‰a˜BT’dBo’äA:’äA †QB¹m«B †QB����|aA¬m+Bèy¾B¬m+BT’dB|a˜@%†QB����õy>B|a˜@%†QB|aAT’dB|a˜@T’dB|a˜À%†QB:’dÁõy>B|a˜Á|aA¬m+Bèy¾B¬m+B����������������%†QB|aAõy>B|a˜@%†QB����T’dB|a˜@%†QB|aA|a˜A:’dÁ¹m«B��ÈB��������Ûy>B��ÈBMUBèy¾BÛy¾A¡ç¡B|a˜AT’dB|a˜A¬m+BÛy¾A|a˜AMUB|a˜@Ûy>B����:’dB����qÛŽB|a˜@¡ç¡B|a˜A¹m«B¬m+B¹m«BT’dB¡ç¡B¡ç¡BqÛŽBèy¾B:’dB��ÈBÛy>B��ÈB������������������������¡ç!B¡ç¡B��HB¹m«BG’€B��ÈBG’€B����Ûy¾A‰a˜BÛy¾A¡ç¡B:’äAÐó´BMUBèy¾B¬m+B��ÈBjžwB��ÈBqÛŽBèy¾B‰a˜BÐó´B¡ç¡B¡ç¡B¡ç¡BqÛŽB‰a˜B„žwBMU…BÛy>B|a˜A����¹m«B��������������������:’äA��ÈB¡ç¡B��ÈB †QB„žwBMU…B„žwB‰a˜BT’dB¡ç¡B%†QB¹m«B|aB¹m«B:’äA¡ç¡B:’dAqÛŽB|a˜@:’dB����¬m+B����:’äA|a˜@Ûy¾A|aA|a˜A|a˜AG’€B��ÈBgU…AMUB¾0°BMUBG’€B��ÈBG’€B����‰a˜B��ÈB:’äA��ÈBÛy¾AT’dB:’äA„žwB¬m+BZU…B:’dBZU…BqÛŽB„žwB¡ç¡B%†QB¹m«B|aB¹m«B:’äA¡ç¡B:’dAqÛŽB|a˜@:’dB����¬m+B����:’äA|a˜@Ûy¾A|aA|a˜A|a˜A������������������������$B¹m«B„ž“Bèy¾B_nB��ÈB��HB��ÈBqÛBèy¾B%†ÑA¡ç¡BÆm«AT’dBÆm«AMUB%†ÑA:’dAqÛB|a˜@��HB����0 [B����_ŠB|a˜@$B:’dA³ª¦B:’äA³ª¦BMUB$BÛy>B_ŠBT’dB0 [B„žwB��HB„žwBqÛBT’dB%†ÑAÛy>BÆm«AMUB¹m«B��ÈB|aB����|a˜A��ÈB¹m«B��ÈB��������¬m+B��ÈB:’äAèy¾BÛy¾A¹m«BÛy¾A‰a˜B:’äAZU…B|aB„žwB:’dBT’dBqÛŽB%†QB¡ç¡B¬m+B¹m«BMUB¹m«B|a˜A¡ç¡B|aA‰a˜B|a˜@jžwB����¬m+B����:’äA|a˜@Ûy¾A|aA|a˜A|a˜A|a˜AMUBÛy¾A¬m+BMUB%†QBÛy>BT’dBMU…B„žwB‰a˜BZU…B¡ç¡B‰a˜B¡ç¡B¹m«B‰a˜Bèy¾BjžwB��ÈB¬m+B��ÈB������������������������³ª¦BZU…B$B%†QB_ŠB¬m+B0 [B|aB��HB|aBqÛB¬m+B%†ÑA%†QBÆm«AZU…BÆm«AqÛŽB%†ÑA¹m«BqÛBèy¾B��HB��ÈB0 [B��ÈB_ŠBèy¾B$B¹m«B³ª¦BZU…B³ª¦B¬m+B$B|a˜A_ŠB|a˜@0 [B����Ðó4B����„ž÷A|a˜@%†ÑA:’dA��������%†QBZU…Bõy>B„žwB%†QBT’dBT’dB„žwB%†QBZU…B������������������������%†QB|aAõy>B|a˜@%†QB����T’dB|a˜@%†QB|aA������������������������%†QBZU…Bõy>B„žwB%†QBT’dBT’dB„žwB%†QBZU…B������������������������T’dB|a˜@%†QB����õy>B|a˜@%†QB|aAT’dB|a˜@T’dB|a˜À%†QB:’dÁõy>B|a˜ÁÐó´B¹m«B:’dA¬m+BÐó´B����|aAT’dBèy¾BT’dB|aA:’äAèy¾B:’äA:’dA¹m«BÐó´B¬m+B:’dA��������������������Ûy¾A‰a˜BÛy¾A¡ç¡B:’äAÐó´BMUBèy¾B¬m+B��ÈBjžwB��ÈBdÛŽBèy¾B‰a˜BÐó´B¡ç¡B¡ç¡B¡ç¡BqÛŽB‰a˜B„žwBdÛŽBT’dB †QBÛy>B †QBMUB���������������� †QB|aAÛy>B|a˜@ †QB����:’dB|a˜@ †QB|aA������������������������G’€B%†QB0 [BT’dBÐó4BT’dB¡ç!BÛy>B¡ç!B¬m+BÐó4BMUB0 [BMUBG’€B|aBG’€BT’dBG’€B|aB_ŠBMUB$BMUB³ª¦B¬m+B³ª¦BÛy>B$B„žwB_ŠBqÛŽB0 [B‰a˜B��HB‰a˜BqÛBqÛŽB%†ÑA„žwBÆm«AÛy>BÆm«A¬m+B%†ÑA:’äAqÛB|a˜A��HB:’dA0 [B:’dA_ŠB|a˜A †QB��ÈB:’dA���� †QB��ÈBÐó´B����:’äAMUB‰a˜BMUB|a˜A��ÈB|a˜A������������|a˜A��ÈBjžwB��ÈB‰a˜Bèy¾B¡ç¡BÐó´B¹m«B¡ç¡B¹m«BqÛŽB¡ç¡B„žwB‰a˜BT’dBjžwB%†QB������������������������|a˜A%†QBjžwB%†QB‰a˜BÛy>B¡ç¡B¬m+B¹m«BMUB¹m«B|a˜A¡ç¡B|aA‰a˜B|a˜@jžwB����|a˜A��������������������¾0°B‰a˜B³ª¦B¹m«B„ž“Bèy¾BG’€B��ÈBÐó4B��ÈBqÛBèy¾B%†ÑA¹m«BÆm«A‰a˜BgU…A„žwBgU…A|aBÆm«AÛy¾A%†ÑA:’dAqÛB|a˜@Ðó4B����G’€B����„ž“B|a˜@³ª¦B:’dA¾0°BÛy¾A|a˜A��ÈB|a˜A����|a˜A��ÈB †QB��ÈBMU…Bèy¾B‰a˜B¹m«B¡ç¡B‰a˜B¹m«B„žwB¹m«B|aB¡ç¡BÛy¾A‰a˜B:’dAMU…B|a˜@ †QB����|a˜A����Æm«A��ÈBÆm«A����Æm«A��ÈB³ª¦B��ÈBÆm«A%†QB_nB%†QBÆm«A����³ª¦B����Æm«A��ÈBÆm«A����Æm«A��ÈB³ª¦B��ÈBÆm«A%†QB_nB%†QB����������������¾0°B‰a˜B³ª¦B¹m«B„ž“Bèy¾BG’€B��ÈBÐó4B��ÈBqÛBèy¾B%†ÑA¹m«BÆm«A‰a˜BgU…A„žwBgU…A|aBÆm«AÛy¾A%†ÑA:’dAqÛB|a˜@Ðó4B����G’€B����„ž“B|a˜@³ª¦B:’dA¾0°BÛy¾A¾0°B|aBG’€B|aB¾0°B|aB|a˜A��ÈB|a˜A����¹m«B��ÈB¹m«B����|a˜A%†QB¹m«B%†QB%†QB��ÈB%†QB����������������������������‰a˜B��ÈB‰a˜BÛy¾AqÛŽB|aAZU…B|a˜@T’dB����õy>B����–aB|a˜@gUB|aAo’äAÛy¾Ao’äAMUB|a˜A��ÈB|a˜A����¹m«B��ÈB|a˜AMUB¬m+BT’dB¹m«B����Ûy¾A��ÈBÛy¾A����Ûy¾A����¡ç¡B����:’dA��ÈB:’dA����:’dA��ÈB †QB����Ðó´B��ÈB †QB����Ðó´B��ÈBÐó´B����|a˜A��ÈB|a˜A����|a˜A��ÈB¹m«B����¹m«B��ÈB¹m«B��������������������¬m+B��ÈBMUBèy¾BÛy¾A¹m«B|a˜A‰a˜B:’dA„žwB:’dA|aB|a˜AÛy¾AÛy¾A:’dAMUB|a˜@¬m+B����jžwB����qÛŽB|a˜@¡ç¡B:’dA¹m«BÛy¾AÐó´B|aBÐó´B„žwB¹m«B‰a˜B¡ç¡B¹m«BqÛŽBèy¾BjžwB��ÈB¬m+B��ÈB|a˜A��ÈB|a˜A������������|a˜A��ÈBjžwB��ÈB‰a˜Bèy¾B¡ç¡BÐó´B¹m«B¡ç¡B¹m«BZU…B¡ç¡BT’dB‰a˜B%†QBjžwBÛy>B|a˜AÛy>B����������������¬m+B��ÈBMUBèy¾BÛy¾A¹m«B|a˜A‰a˜B:’dA„žwB:’dA|aB|a˜AÛy¾AÛy¾A:’dAMUB|a˜@¬m+B����jžwB����qÛŽB|a˜@¡ç¡B:’dA¹m«BÛy¾AÐó´B|aBÐó´B„žwB¹m«B‰a˜B¡ç¡B¹m«BqÛŽBèy¾BjžwB��ÈB¬m+B��ÈB:’dB|a˜A¹m«B|aÁ|a˜A��ÈB|a˜A����������������������������|a˜A��ÈBjžwB��ÈB‰a˜Bèy¾B¡ç¡BÐó´B¹m«B¡ç¡B¹m«BqÛŽB¡ç¡B„žwB‰a˜BT’dBjžwB%†QB|a˜A%†QB †QB%†QB¹m«B����¹m«B¹m«B‰a˜Bèy¾BjžwB��ÈB¬m+B��ÈB:’äAèy¾B|a˜A¹m«B|a˜A‰a˜BÛy¾AZU…B:’äA„žwB|aBT’dBMU…BÛy>B‰a˜B¬m+B¡ç¡B|aB¹m«B:’äA¹m«B:’dA‰a˜B|a˜@jžwB����¬m+B����:’äA|a˜@|a˜A:’dA †QB��ÈB †QB����|a˜A��ÈB¹m«B��ÈB|a˜A��ÈB|a˜A:’äAÛy¾A:’dAMUB|a˜@Ûy>B����:’dB����qÛŽB|a˜@¡ç¡B:’dA¹m«B:’äA¹m«B��ÈB:’dA��ÈB †QB����Ðó´B��ÈB †QB����|a˜@��ÈB:’äA���� †QB��ÈB:’äA���� †QB��ÈB‰a˜B������ÈB��ÈB‰a˜B����|a˜A��ÈB¹m«B����¹m«B��ÈB|a˜A����:’dA��ÈB †QB%†QB †QB����Ðó´B��ÈB †QB%†QB¹m«B��ÈB|a˜A����|a˜A��ÈB¹m«B��ÈB|a˜A����¹m«B����qÛB“îBqÛBMU¡ç!B“îB¡ç!BMUÂqÛB“îB_ŠB“îBqÛBMUÂ_ŠBMUÂ|a˜A��ÈB¹m«B:’dÁG’€B“îBG’€BMUÂ_ŠB“îB_ŠBMUÂqÛB“îB_ŠB“îBqÛBMUÂ_ŠBMU †QBJ ÛB:’dA¬m+B †QBJ ÛBÐó´B¬m+B������������MUÂ%†ÑBMUÂ%†ÑB:’äÁ����:’äÁ����MUÂÆm+B��ÈBZU…BqÛŽBÆm+B��ÈB–aBèy¾BZU…BqÛŽB¡ç¡BZU…B¡ç¡B����¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dAÛy¾A��ÈBÛy¾A����Ûy¾A%†QBMUB„žwB¬m+BZU…B:’dBZU…BMU…B„žwB‰a˜B%†QB¡ç¡B|aB¡ç¡B:’äA‰a˜B:’dAMU…B|a˜@:’dB����¬m+B����MUB|a˜@Ûy¾A:’dA����������������¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA¡ç¡B��ÈB¡ç¡B����¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA����������������Ûy¾A|aB¡ç¡B|aB¡ç¡BÛy>B‰a˜BT’dBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA������������������������qÛŽB��ÈB„žwB��ÈB%†QBèy¾Bõy>B¡ç¡Bõy>B����gUBZU…BZU…BZU…B��������¡ç¡BZU…B¡ç¡B|aÁ‰a˜BÛy¾ÁdÛŽB:’äÁjžwBMUÂÛy>BMUÂ|aB:’äÁ��������¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA%†ÑA��ÈB%†ÑA����%†ÑAÛy>B¡ç!B„žwB��HBZU…BG’€BZU…Bwž“B„žwBœ$BÛy>Bœ$B������������õy>B��ÈB%†QBèy¾BT’dB��ÈB%†QB%†ÑBõy>B��ÈB%†QBZU…B%†QB������������T’dB��ÈB„žwBèy¾BZU…B��ÈB„žwB%†ÑBT’dB��ÈB������������������������„žwBZU…B„žwB:’dÁT’dB:’äÁõy>BMU–aBMUÂ%†ÑA��ÈB%†ÑA����wž“BZU…B%†ÑA|a˜AÐó4B|aBœ$B����%†QB��ÈB%†QB��������ZU…B��������������������Ûy>B:’dA„žwBÛy¾AZU…B|aBZU…BÛy>B„žwB%†QBÛy>B%†QB������������%†QBÛy>BZU…B„žwB‰a˜BZU…BÐó´BZU…B��ÈB„žwB%†ÑBÛy>B%†ÑB����%†ÑAZU…B%†ÑA����������������������������%†ÑAÛy>B¡ç!B„žwB��HBZU…BG’€BZU…Bwž“B„žwBœ$BÛy>Bœ$B������������Ðó4BZU…BqÛB„žwB%†ÑA%†QBÆm«A|aBÆm«A:’äA%†ÑA:’dAqÛB|a˜@Ðó4B����_nB����_ŠB|a˜@$B:’dA³ª¦B:’äA³ª¦B|aB$B%†QB_ŠB„žwB_nBZU…BÐó4BZU…BÛy¾AZU…BÛy¾AMUÂ��������Ûy¾A%†QBMUB„žwB¬m+BZU…B:’dBZU…BMU…B„žwB‰a˜B%†QB¡ç¡B|aB¡ç¡B:’äA‰a˜B:’dAMU…B|a˜@:’dB����¬m+B����MUB|a˜@Ûy¾A:’dA¡ç¡BZU…B¡ç¡BMU¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dAgUBZU…BgUB����gUB|aB–aB%†QBõy>B„žwBT’dBZU…BqÛŽBZU…B������������������������œ$B%†QBwž“B„žwB_nBZU…BÐó4BZU…B„ž÷A„žwB%†ÑA%†QB„ž÷A¬m+B¡ç!B|aBG’€BMUBwž“B:’äAœ$B|a˜Aœ$B:’dAwž“B|a˜@_nB����Ðó4B����„ž÷A|a˜@%†ÑA:’dA������������������������õy>B��ÈBõy>B|a˜A%†QB|a˜@„žwB����qÛŽB����gUBZU…BZU…BZU…B��������%†ÑAZU…B%†ÑA|a˜A„ž÷A|a˜@¡ç!B����0 [B����G’€B|a˜@œ$B|a˜Aœ$BZU…Bœ$B����Ûy¾AZU…B †QB����¡ç¡BZU…B †QB����:’dAZU…BMUB���� †QBZU…BMUB���� †QBZU…BqÛŽB����Ðó´BZU…BqÛŽB����%†ÑAZU…Bœ$B����œ$BZU…B%†ÑA����%†ÑAZU…B0 [B������������³ª¦BZU…B0 [B����Ðó4B|a˜ÁqÛB:’äÁ%†ÑAMUÂÆm«AMUœ$BZU…B%†ÑA����%†ÑAZU…Bœ$BZU…B%†ÑA����œ$B����G’€B“îB0 [Bo’äB��HBJ ÛBÐó4B��ÈBÐó4BÐó´B��HB¡ç¡B0 [B‰a˜B_nBZU…B_nBT’dB��HBÛy>B����������������0 [Bo’äB��HB%†ÑB��HBèy¾B0 [B¹m«B_nB¡ç¡BG’€BqÛŽBG’€B„žwB_nB%†QB¡ç!B¬m+B_nBMUBG’€BÛy¾AG’€B:’dA_nB|a˜@0 [B������HB|aÁ��HB|a˜Á0 [B:’äÁ��������������������������HB|aB_nB:’äA_nB|a˜A0 [B|aA��HB|a˜@Ðó4B|a˜ÀÐó4B:’dÁ��HBÛy¾Á0 [B:’äÁG’€BMUÂ%†QB“îB%†QBMU¡ç!B“îB��HBo’äB0 [BJ ÛB_nB��ÈB_nBÐó´B0 [B¡ç¡B��HB‰a˜BÐó4BZU…BÐó4BT’dB0 [BÛy>B������������������HBo’äB0 [B%†ÑB0 [Bèy¾B��HB¹m«BÐó4B¡ç¡B¡ç!BqÛŽB¡ç!B„žwBÐó4B%†QBG’€B¬m+BÐó4BMUB¡ç!BÛy¾A¡ç!B:’dAÐó4B|a˜@��HB����0 [B|aÁ0 [B|a˜Á��HB:’äÁ������������������������0 [B|aBÐó4B:’äAÐó4B|a˜A��HB|aA0 [B|a˜@_nB|a˜À_nB:’dÁ0 [BÛy¾Á��HB:’äÁ¡ç!BMUÂ����������������|aA:’äA|aA|aB:’dA%†QBÛy¾AT’dBMUBT’dB¬m+B%†QB„žwB|aBqÛŽBMUB¡ç¡BMUBÐó´B|aBèy¾BÛy>B��������|aA|aB:’dAÛy>BÛy¾A%†QBMUB%†QB¬m+BÛy>B„žwBMUBqÛŽB:’äA¡ç¡B:’äAÐó´BMUBèy¾BÛy>Bèy¾BT’dBqÛŽB��ÈBMUBMUÂ������������������������Ûy>BZU…BMUB„žwBÛy¾A%†QB|a˜A|aB|a˜AÛy¾AÛy¾A:’dAMUB|a˜@Ûy>B����:’dB����qÛŽB|a˜@¡ç¡B:’dA¹m«B:’äA¹m«B¬m+B¡ç¡B%†QBqÛŽB„žwB:’dBZU…BÛy>BZU…B������������������������€���…���„���…���ˆ���…���Œ���…������…���”���…���˜���…���œ���…��� ���…���¤���…���¨���…���¬���…���°���…���´���…���¸���…���¼���…���À���…���Ä���…���È���…���Ì���…���Ð���…���Ô���…���Ø���…���Ü���…���à���…���ä���…���è���…���ì���…���ð���…���ô���…���ø���…���ü���…������…�����…�����…��� ��…�����…�����…�����…�����…��� ��…���$��…���(��…���,��…���0��…���4��…���8��…���<��…���@��…���D��…���H��…���L��…���P��…���T��…���X��…���\��…���`��…���d��…���h��…���l��…���p��…���t��…���x��…���|��…���€��…���„��…���ˆ��…���Œ��…�����…���”��…���˜��…���œ��…��� ��…���¤��…���¨��…���¬��…���°��…���´��…���¸��…���¼��…���À��…���Ä��…���È��…���Ì��…���Ð��…���Ô��…���Ø��…���Ü��…���à��…���ä��…���è��…���ì��…���ð��…���ô��…���ø��…���ü��…��� ���…���������$���…���0���…���<���…���H���…���T���…���`���…���l���…���x���…���„���…������…���œ���…���¨���…���´���…���À���…���Ì���…���Ø���…���ä���…���ð���…���ü���…�����…�����…��� ��…���,��…���8��…���D��…���P��…���\��…���h��…���t��…���€��…���Œ��…���˜��…���¤��…���°��…���¼��…���È��…���Ô��…���à��…���ì��…���ø��…�����…�����…�����…���(��…���4��…���@��…���L��…���X��…���d��…���p��…���|��…���ˆ��…���”��…��� ��…���¬��…���¸��…���Ä��…���Ð��…���Ü��…���è��…���ô��…������…��� ��…�����…���$��…���0��…���<��…���H��…���T��…���`��…���l��…���x��…���„��…�����…���œ��…���¨��…���´��…���À��…���Ì��…���Ø��…���ä��…���ð��…���ü��…�����…�����…��� ��…���,��…���8��…���D��…���P��…���\��…���h��…���t��…���€��…���Œ��…���˜��…���¨��…���°��…���¸��…���À��…���ä��…���ì��…���ô��…���ü��…�����…��� ��…�����…�����…���$��…���,��…���4��…���<��…���D��…���L��…���T��…���\��…���d��…���l��…���t��…���|��…���„��…���Œ��…���”��…���œ��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…���ì��…���ô��…���ü��…�����…��� ��…�����…�����…���$��…���,��…���4��…���<��…���D��…���L��…���T��…���\��…���d��…���l��…���t��…���|��…���„��…���Œ��…���”��…���œ��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…���ì��…���ô��…���ü��…�����…��� ��…�����…�����…���$��…���,��…���4��…���D��…���L��…���T��…���\��…���d��…���l��…���t��…���|��…���„��…���Œ��…���”��…���œ��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…�����…��� ��…�����…�����…���$��…���,��…���4��…���<��…���D��…���L��…���T��…���d��…���l��…���t��…���|��…���„��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…���ì��…���ô��…���ü��…��� ��…��� ��…��� ��…��� ��…���$ ��…���, ��…���4 ��…���< ��…���D ��…���L ��…���T ��…���\ ��…���d ��…���l ��…���t ��…���| ��…���„ ��…���Œ ��…���” ��…���œ ��…���¤ ��…���¬ ��…���´ ��…���¼ ��…���Ä ��…���Ì ��…���Ô ��…���Ü ��…���ä ��…���ì ��…���ô ��…���ü ��…��� ��…��� ��…��� ��…��� ��…���$ ��…���, ��…���D ��…���L ��…���T ��…���\ ��…���d ��…���l ��…���t ��…���| ��…���„ ��…���Œ ��…���” ��…���œ ��…���¤ ��…���¬ ��…���´ ��…���¼ ��…���Ä ��…���Ì ��…���Ô ��…���Ü ��…���ä ��…���ì ��…���.file�������þÿ��g�����������������_chars����������_ch32����������_ch33���(�������_ch34���4�������_ch35���@�������_ch36���L�������_ch37���X�������_ch38���d�������_ch39���p�������_ch40���|�������_ch41���ˆ�������_ch42���”�������_ch43��� �������_ch44���¬�������_ch45���¸�������_ch46���Ä�������_ch47���Ð�������_ch48���Ü�������_ch49���è�������_ch50���ô�������_ch51����������_ch52��� ������_ch53���������_ch54���$������_ch55���0������_ch56���<������_ch57���H������_ch58���T������_ch59���`������_ch60���l������_ch61���x������_ch62���„������_ch63���������_ch64���œ������_ch65���¨������_ch66���´������_ch67���À������_ch68���Ì������_ch69���Ø������_ch70���ä������_ch71���ð������_ch72���ü������_ch73���������_ch74���������_ch75��� ������_ch76���,������_ch77���8������_ch78���D������_ch79���P������_ch80���\������_ch81���h������_ch82���t������_ch83���€������_ch84���Œ������_ch85���˜������_ch86���¤������_ch87���°������_ch88���¼������_ch89���È������_ch90���Ô������_ch91���à������_ch92���ì������_ch93���ø������_ch94���������_ch95���������_ch96���������_ch97���(������_ch98���4������_ch99���@������_ch100��L������_ch101��X������_ch102��d������_ch103��p������_ch104��|������_ch105��ˆ������_ch106��”������_ch107�� ������_ch108��¬������_ch109��¸������_ch110��Ä������_ch111��Ð������_ch112��Ü������_ch113��è������_ch114��ô������_ch115���������_ch116�� ������_ch117��������_ch118��$������_ch119��0������_ch120��<������_ch121��H������_ch122��T������_ch123��`������_ch124��l������_ch125��x������_ch126��„������_ch127��������_ch32st�œ������_ch33st�¤������_ch34st�´������_ch35st�à������_ch36st��������_ch37st�������_ch38st�0������_ch39st�8������_ch40st�@������_ch41st�H������_ch42st�P������_ch43st�h������_ch44st�x������_ch45st�€������_ch46st�ˆ������_ch47st�������_ch48st�˜������_ch49st� ������_ch50st�¨������_ch51st�°������_ch52st�¸������_ch53st�È������_ch54st�Ð������_ch55st�Ø������_ch56st�è������_ch57st�ð������_ch58st�ø������_ch59st�������_ch60st�������_ch61st� ������_ch62st�0������_ch63st�8������_ch64st�H������_ch65st�X������_ch66st�p������_ch67st�ˆ������_ch68st�������_ch69st� ������_ch70st�À������_ch71st�Ø������_ch72st�è������_ch73st��������_ch74st�������_ch75st�������_ch76st�(������_ch77st�@������_ch78st�`������_ch79st�x������_ch80st�€������_ch81st�������_ch82st� ������_ch83st�¸������_ch84st�À������_ch85st�Ð������_ch86st�Ø������_ch87st��������_ch88st� ������_ch89st�0������_ch90st�@������_ch91st�`������_ch92st�€������_ch93st� ������_ch94st�À������_ch95st�Ð������_ch96st�Ø������_ch97st�è������_ch98st�ø������_ch99st� ������_ch100st ������_ch101st ������_ch102st( ������_ch103st8 ������_ch104stH ������_ch105stX ������_ch106sth ������_ch107stx ������_ch108st ������_ch109st˜ ������_ch110st° ������_ch111stÀ ������_ch112stÈ ������_ch113stØ ������_ch114stè ������_ch115stø ������_ch116st� ������_ch117st ������_ch118st ������_ch119st@ ������_ch120st` ������_ch121stp ������_ch122st€ ������_ch123st˜ ������_ch124st° ������_ch125st¸ ������_ch126stÐ ������_ch127stà ������_ch33st0ð ������_ch33st1� ������_ch34st0( ������_ch34st18 ������_ch35st0H ������_ch35st1X ������_ch35st2h ������_ch35st3x ������_ch36st0ˆ ������_ch36st1˜ ������_ch36st2À ������_ch37st0` ������_ch37st1€ ������_ch37st2� ������_ch38st0` ������_ch39st0p������_ch40st0€������_ch41st0à������_ch42st00������_ch42st1@������_ch42st2P������_ch43st0`������_ch43st1p������_ch44st0€������_ch45st0À������_ch46st0à������_ch47st0������_ch48st0 ������_ch49st0À������_ch50st0à������_ch51st0`������_ch52st0Ø������_ch52st1ð������_ch53st0�������_ch54st0 ������_ch55st0X������_ch55st1h������_ch56st0€������_ch57st0€������_ch58st0@������_ch58st1€������_ch59st0À������_ch59st1�������_ch60st0@������_ch61st0X������_ch61st1h������_ch62st0x������_ch63st0 ������_ch63st1 ������_ch64st0`������_ch64st1 ������_ch65st08������_ch65st1H������_ch65st2X������_ch66st0h������_ch66st1€������_ch66st2à������_ch67st0@������_ch68st0Ð������_ch68st1à������_ch69st0@������_ch69st1P������_ch69st2`������_ch69st3p������_ch70st0€������_ch70st1������_ch70st2 ������_ch71st0À������_ch71st1X������_ch72st0h������_ch72st1x������_ch72st2ˆ������_ch73st0˜������_ch74st0À������_ch75st0������_ch75st1 ������_ch75st20������_ch76st0@������_ch76st1P������_ch77st0`������_ch77st1p������_ch77st2€������_ch77st3������_ch78st0 ������_ch78st1°������_ch78st2À������_ch79st0à������_ch80st0ˆ������_ch80st1 ������_ch81st0�������_ch81st1¨������_ch82st0¸������_ch82st1à������_ch82st20������_ch83st0@������_ch84st0à������_ch84st1ð������_ch85st0� ������_ch86st0P ������_ch86st1` ������_ch87st0p ������_ch87st1€ ������_ch87st2 ������_ch87st3  ������_ch88st0° ������_ch88st1À ������_ch89st0Ð ������_ch89st1è ������_ch90st0ø ������_ch90st1!������_ch90st2!������_ch91st0(!������_ch91st18!������_ch91st2H!������_ch91st3X!������_ch92st0h!������_ch93st0x!������_ch93st1ˆ!������_ch93st2˜!������_ch93st3¨!������_ch94st0¸!������_ch94st1È!������_ch95st0à!������_ch96st0"������_ch96st1"������_ch97st00"������_ch97st1@"������_ch98st0°"������_ch98st1À"������_ch99st0@#����������!���°#����������+���À#����������5���@$����������?���à$����������I���%����������S��� %����������]���`%����������g���Ð%����������q���à%����������{��� &����������…���H&�������������`&����������™��� &����������£���È&����������­���Ø&����������·���è&����������Á���ø&����������Ë���'����������Õ��� '����������ß���`'����������é���˜'����������ó���À'����������ý����(������������ˆ(������������ (������������)����������%�� )����������/��)����������9�� )����������C��à)����������M��€*����������W��¨*����������a��À*����������k��ø*����������u��+������������+����������‰��(+����������“��8+������������H+����������§��X+����������±��h+����������»��x+����������Å��ˆ+����������Ï�� +����������Ù��Ð+����������ã��à+����������í��ð+����������÷���,������������`,���������� ���-������������P-������������`-����������)��À-����������3��`.����������=��À.����������G�� /����������Q��x/����������[�� /������.text����������������������������.data�������������`�������������.bss�����������������������������.rdata���������(0������������������e�� �������x��freeglut_stroke_mono_roman.c�_ch100st0�_ch100st1�_ch101st0�_ch102st0�_ch102st1�_ch103st0�_ch103st1�_ch104st0�_ch104st1�_ch105st0�_ch105st1�_ch106st0�_ch106st1�_ch107st0�_ch107st1�_ch107st2�_ch108st0�_ch109st0�_ch109st1�_ch109st2�_ch110st0�_ch110st1�_ch111st0�_ch112st0�_ch112st1�_ch113st0�_ch113st1�_ch114st0�_ch114st1�_ch115st0�_ch116st0�_ch116st1�_ch117st0�_ch117st1�_ch118st0�_ch118st1�_ch119st0�_ch119st1�_ch119st2�_ch119st3�_ch120st0�_ch120st1�_ch121st0�_ch121st1�_ch122st0�_ch122st1�_ch122st2�_ch123st0�_ch123st1�_ch123st2�_ch124st0�_ch125st0�_ch125st1�_ch125st2�_ch126st0�_ch126st1�_ch127st0�_ch127st1�_fgStrokeMonoRoman�/273 1264195965 500 500 100664 24511 ` L�����ÀA��ˆ����.text������������������������������� �0`.data��������������´���Ô2������`���@�`À.bss��������������������������������€�0À.rdata���������� 0��´��”6��������@�`@�����������������������������������������������������������������������������������������������������������������������������������$���0���<���H���T���`���l���x���„������œ���¨���´���À���Ì���Ø���ä���ð���ü������� ��,��8��D��P��\��h��t��€��Œ��˜��¤��°��¼��È��Ô��à��ì��ø��������(��4��@��L��X��d��p��|��ˆ��”�� ��¬��¸��Ä��Ð��Ü��è��ô����� ����$��0��<��H��T��`��l��x��„����œ��¨��´��À��Ì��Ø��ä��ð��ü������ ��,��8��D��P��\��h��t��€��Œ��Roman�������€���‰aC����%†ÑB����˜��‹ýÔA��� ��¥½MB���°��*úžB���À��Õi˜B���à�� &ÁB���ø��„ËB�����…ëYA�����v±<B��� ��">B���(��‰ÁmB���0��4‚ÂB���H��ª‚ÐA���X�� ‚ÉB���`��ÓÞÓA���h��¡6¤B���p��'"šB���x��…B���€��K›B���ˆ��éšB�����SV B���˜��—_›B���¨��œ“B���°��tšB���¸��ZU›B���È��-!”B���Ð��XÊÑA���Ø��/nÒA���è��“8£B���ø��4‚ÂB������“8£B�����IΓB�����Ǻ”B���(��#û B���8��ß@§B���P��*ú¨B���h��Ê’ªB���p��ž^œB���€��V}B��� ��†‰³B���¸��d,²B���È��ffªA���à��úþoB���è��E§žB���ð��S¥ŽB�����ÇkÂB��� ��±B���@��7©±B���X��ZU«B���`��V.°B���p��À»¤B���€��E§¡B���˜��¶äB��� ��1ù²B���°��“8£B���¸��7 ÉB���à��À»B������MŸB�����O~“B��� ��t8B���@��ÕiœB���`��½’9B���€��v´B��� ��¾ÐB���°��$§B���¸��¯4…B���È��íŒB���Ø��†Ø‰B���è��›†ŒB���ð��º ‰B���� ��ížB��� ��?÷B��� ��Á ŽB���( ��éæA���8 ��ôìB���H ��zB���X ��R¸šA���p ��‹ì÷B���x ��ÃB��� ��V}B���  ��›B���¨ ��]|B���¸ ��ûEB���È ��´HyB���Ø ��ÄBB���à ��oRŽB���ð ��_irB���� ��#û B��� �� šaB���@ ��-!„B���P ��´HwB���` ��œ„&B���x ��q=¾A��� ��Åà%B���˜ ��qŒ¶B���° ��ZU…B���À �������������Ð �����à ����� ����� �����( �����8 �����H �����X �����h �����x �����  �����@ �����` �� ���à ��"���@ �����P�� ���`�� ���À���������� �����0�����@�����P�����`����� �����À�����è����������� �����À�����@�����¸�����Ð�����à�����€�����8�����H�����`�����`����� �����`����� �����à����� �����8�����H�����X�����€�����������@�����€����������(�����8�����H�� ���`�� ���À����� �����°�� ���À����� �����0�����@�����P�����`�����p�����€����� �����8�����H�����X�����h�����x�� ��� �����ð���������������� �����0�������������@�����P�����`�����p�����€���������� �����À�����h�� ���€�����à�����ˆ�����˜�� ���À���������� �����À�����Ð�� ���à�����0 �����@ �����������������������������P �����` �����p �����€ ����� �����  �����° �����È �����Ø �����è �����ø �������������!�����!�����(!�����8!�����H!�����������������������������X!�����h!�����x!�����ˆ!�����˜!�����¨!�����À!�����è!�����ø!�����"����� "�����"����� "����� #�����#����� #����� $�����À$�����è$������%�����@%�����°%�����À%������&�����(&�����@&�����€&�����¨&�����¸&�����È&�����Ø&�����è&������'�����@'�����x'����� '�����à'�����h(�����€(�����ð(������)�����p)�����€)�����À)�����`*�����ˆ*����� *�����Ø*�����è*�����ø*���������������������+�����+�����(+�����8+�����H+�����X+�����h+�����€+�����°+�����À+�����Ð+�� ���à+�����@,�� ���à,�����0-�� ���@-����� -�� ���@.�� ��� .�� ����/�����X/�����€/��CVA��ÈBCVAMUBCVA|aA…ë A|a˜@CVA����&‘A|a˜@CVA|aA×£€@��ÈB×£€@ZU…B÷u(B��ÈB÷u(BZU…BI.%B“îBãÇþ@MUÂÀ»‹B“îB"BMUÂãÇþ@T’dBØA•BT’dBÍÌL@:’äAÀ»‹B:’äA7 åA“îB7 åA|a˜ÁZµ>B“îBZµ>B|a˜Á������������������������1ùŽB¹m«BÚwBèy¾BZµ>B��ÈB7 åA��ÈB4€eAèy¾Bq=š@¹m«Bq=š@‰a˜BvOAZU…B4€eA„žwBØð¾AT’dB‰ÁQBÛy>BÚwB¬m+Bs…B|aB1ùŽB:’äA1ùŽB:’dAÚwB|a˜@Zµ>B����7 åA����4€eA|a˜@q=š@:’dA &¸B��ÈB…Ë@��������������������#[ñA��ÈBðÅBÐó´BðÅB¡ç¡BÁ¹ BqÛŽBÄBËAZU…B $~AZU…B…Ë@‰a˜B…Ë@¹m«BMó1Aèy¾Be*¥A��ÈB#[ñA��ÈBðÅBèy¾BêWBÐó´B”‡ˆBÐó´BÛ¥Bèy¾B &¸B��ÈB¬ ’BMUBø~B:’äAÉöjB|a˜AÉöjB|aA”‡ˆB����Ó›B����óŸ®B|a˜@ &¸B:’dA &¸BÛy¾AÛ¥BMUB¬ ’BMUB��������žoÊBT’dBžoÊB„žwB“éÀBZU…B{c·BZU…BdÝ­B„žwBLW¤B%†QBK‘B:’äAÙ}|B:’dA`eVB|a˜@M0B����†8ÈA����‘xA|a˜@ÓÞ+A|aA)\¿@|a˜A)\¿@:’äAÓÞ+A|aB‘xA¬m+B1YCB„žwB`eVBZU…BªqiB‰a˜BªqiB¹m«B`eVBèy¾BM0B��ÈB¢4 Bèy¾BåPîA¹m«BåPîA‰a˜B¢4 B„žwBM0BÛy>BŇB:’dA4ÑšB|a˜@dÝ­B����“éÀB����žoÊB|a˜@žoÊB|aA{Ž@��ÈB{Ž@ZU…B8§#B“îB²ûAJ ÛBôì®Aèy¾BlxEA‰a˜B\ò@%†QB\ò@MUBlxEA|aAôì®A|aÁ²ûAÛy¾Á8§#BMUÂ����������������Ãõ¨@“îB]ÜlAJ ÛBížÂAèy¾BÕgB‰a˜BtB%†QBtBMUBÕgB|aAížÂA|aÁ]ÜlAÛy¾ÁÃõ¨@MUÂð'öAqÛŽBð'öA:’dAR¸Þ@T’dBåPZB:’äAåPZBT’dBR¸Þ@:’äA1YCB¹m«B1YCB����)\¿@¬m+B{c·B¬m+B9E’A|a˜@´YXA����ö( A|a˜@´YXA|aA9E’A|a˜@9E’A|a˜À´YXA:’dÁö( A|a˜Áö(ì@¬m+BH0ºB¬m+B����������������b¡QA|aA¤pA|a˜@b¡QA����éŽA|a˜@b¡QA|aA®ç@:’dÁ;ГB��ÈB��������¢4B��ÈB' šAèy¾BÓÞA¡ç¡B)\Ÿ@T’dB)\Ÿ@¬m+BÓÞA|a˜A' šA|a˜@¢4B����M,B����ªqeB|a˜@Å…B|a˜AKB¬m+BKBT’dBÅ…B¡ç¡BªqeBèy¾BM,B��ÈB¢4B��ÈB������������������������¸=A¡ç¡BÀªA¹m«Bœ„B��ÈBœ„B����é"A‰a˜Bé"A¡ç¡BÎoAÐó´BF¥Aèy¾BÖéA��ÈBÀAB��ÈB94gBèy¾Bi@zBÐó´BL¦†B¡ç¡BL¦†BqÛŽBi@zB„žwBð'TBÛy>B¤p­@����d,B��������������������|ahA��ÈBBÏ…B��ÈBMUB„žwBÛyRB„žwBT’xBT’dBBÏ…B%†QBZUB|aBZUB:’äABÏ…B:’dA%†eB|a˜@|a,B����ÛyæA����|ahA|a˜@¾0A|aA�� @|a˜AúþMB��ÈBìQx@MUBž–BMUBúþMB��ÈBúþMB����øxB��ÈB $fA��ÈBMóAT’dB $fA„žwB#[åAZU…B Ò+BZU…BÉödB„žwB”‡…B%†QB¬ B|aB¬ B:’äA”‡…B:’dAÉödB|a˜@ Ò+B����#[åA���� $fA|a˜@MóA|aA…›@|a˜A������������������������@äzB¹m«BØgBèy¾Bh³.B��ÈB ›B��ÈBôìžAèy¾Blx%A¡ç¡B\²@T’dB\²@MUBlx%A:’dAôìžA|a˜@ ›B����8§B����ÇËTB|a˜@@äzB:’dA8ø†B:’äA8ø†BMUB@äzBÛy>BÇËTBT’dB8§B„žwB ›B„žwBôìžAT’dBlx%AÛy>B\²@MUBtB��ÈB]ÜÄA����…ë±@��ÈBtB��ÈB��������¨FëA��ÈBûqAèy¾BXÊ%A¹m«BXÊ%A‰a˜BûqAZU…BI.ÅA„žwBãÇ.BT’dB‹ìgB%†QBu‡B¬m+BˆBMUBˆB|a˜Au‡B|aA»øzB|a˜@ÔAB����¨FëA����ûqA|a˜@XÊ%A|aA33³@|a˜A33³@MUBXÊ%A¬m+BêŸA%†QBƒ¯BT’dBBàTB„žwB»øzBZU…Bu‡B‰a˜Bu‡B¹m«B»øzBèy¾BÔAB��ÈB¨FëA��ÈB������������������������u‰BZU…B»ø~B%†QBBàXB¬m+B³»B|aBƒ¯ B|aBê§A¬m+BXÊ5A%†QB33Ó@ZU…B33Ó@qÛŽBXÊ5A¹m«Bê§Aèy¾Bƒ¯ B��ÈB³»B��ÈBBàXBèy¾B»ø~B¹m«Bu‰BZU…Bu‰B¬m+B»ø~B|a˜ABàXB|a˜@³»B����¨FóA����‹ý€A|a˜@XÊ5A:’dA��������vOaAZU…B¸A„žwBvOaAT’dBÀ–A„žwBvOaAZU…B������������������������vOaA|aA¸A|a˜@vOaA����À–A|a˜@vOaA|aA������������������������ñcOAZU…B33A„žwBñcOAT’dBXÊA„žwBñcOAZU…B������������������������XÊA|a˜@ñcOA����33A|a˜@ñcOA|aAXÊA|a˜@XÊA|a˜ÀñcOA:’dÁ33A|a˜ÁB€žB¹m«B ×C@¬m+BB€žB����ff¶@T’dBÔ¶BT’dBff¶@:’äAÔ¶B:’äA…ë1@¹m«BåðB¬m+B…ë1@��������������������R¸A‰a˜BR¸A¡ç¡BéRAÐó´BçŒAèy¾B¥½ÛA��ÈB‘:B��ÈBð'`Bèy¾B94sBÐó´B4 ƒB¡ç¡B4 ƒBqÛŽB94sB„žwBð'`BT’dB2÷BÛy>B2÷BMUB����������������2÷B|aAë�B|a˜@2÷B����a'B|a˜@2÷B|aA������������������������OÞDB%†QBðÅBT’dB#[ñAT’dBÄBËAÛy>BÄBËA¬m+B#[ñAMUBðÅBMUBOÞDB|aBOÞDBT’dBOÞDB|aBêWBMUBø~BMUB”‡ˆB¬m+B”‡ˆBÛy>Bø~B„žwBêWBqÛŽBðÅB‰a˜BÁ¹ B‰a˜Be*¥AqÛŽBMó1A„žwB…Ë@Ûy>B…Ë@¬m+BMó1A:’äAe*¥A|a˜AÁ¹ B:’dAðÅB:’dAêWB|a˜A|a"B��ÈB�� @����|a"B��ÈB‰aB����I†AMUBBÏ€BMUBR¸6A��ÈBR¸6A������������R¸6A��ÈBÀYB��ÈB4 ‰Bèy¾BL¦’BÐó´Bd,œB¡ç¡Bd,œBqÛŽBL¦’B„žwB4 ‰BT’dBÀYB%†QB������������������������R¸6A%†QBÀYB%†QB4 ‰BÛy>BL¦’B¬m+Bd,œBMUBd,œB|a˜AL¦’B|aA4 ‰B|a˜@ÀYB����R¸6A��������������������]-œB‰a˜BE§’B¹m«B+6Bèy¾B²YB��ÈBôì B��ÈB*©ÍAèy¾BlxA¹m«BÀ6A‰a˜B¸Õ@„žwB¸Õ@|aBÀ6AÛy¾AlxA:’dA*©ÍA|a˜@ôì B����²YB����+6B|a˜@E§’B:’dA]-œBÛy¾A)\?A��ÈB)\?A����)\?A��ÈBW,5B��ÈBåPnBèy¾B¯4ŠB¹m«BǺ“B‰a˜Bß@B„žwBß@B|aBǺ“BÛy¾A¯4ŠB:’dAåPnB|a˜@W,5B����)\?A����R¸6A��ÈBR¸6A����R¸6A��ÈBL¦’B��ÈBR¸6A%†QB‘FB%†QBR¸6A����L¦’B����R¸6A��ÈBR¸6A����R¸6A��ÈBL¦’B��ÈBR¸6A%†QB‘FB%†QB����������������*úœB‰a˜Bt“B¹m«Bãg€Bèy¾BL·ZB��ÈBކB��ÈB]ÜÐAèy¾BŸ«„A¹m«B&=A‰a˜B…ëá@„žwB…ëá@|aB&=AÛy¾AŸ«„A:’dA]ÜÐA|a˜@ކB����L·ZB����ãg€B|a˜@t“B:’dA*úœBÛy¾A*úœB|aBL·ZB|aB*úœB|aBR¸6A��ÈBR¸6A����d,œB��ÈBd,œB����R¸6A%†QBd,œB%†QBÂ-A��ÈBÂ-A����������������������������ÛyHB��ÈBÛyHBÛy¾A¬m5B|aA|a"B|a˜@:’øA����|a¬A����|a@A|a˜@|aè@|aA�� @Ûy¾A�� @MUBáz4A��ÈBáz4A����¶ä›B��ÈBáz4AMUB¦[ BT’dB¶ä›B����Há:A��ÈBHá:A����Há:A����S¥‰B����Â-A��ÈBÂ-A����Â-A��ÈB ÒCB����Û®B��ÈB ÒCB����Û®B��ÈBÛ®B����q=2A��ÈBq=2A����q=2A��ÈB›B����›B��ÈB›B��������������������à> B��ÈBMÊAèy¾B†8|A¹m«BÈ0A‰a˜B®Ç@„žwB®Ç@|aBÈ0AÛy¾A†8|A:’dAMÊA|a˜@à> B����žoWB����ˆ}B|a˜@;БB:’dASV›BÛy¾AjܤB|aBjܤB„žwBSV›B‰a˜B;БB¹m«Bˆ}Bèy¾BžoWB��ÈBà> B��ÈBš™AA��ÈBš™AA������������š™AA��ÈBÔ[B��ÈB]|ŠBèy¾Bu”BÐó´BˆB¡ç¡BˆBZU…Bu”BT’dB]|ŠB%†QBÔ[BÛy>Bš™AAÛy>B����������������P|B��ÈBãÇÂAèy¾BI.mA¹m«B‹ý A‰a˜Bš™©@„žwBš™©@|aB‹ý AÛy¾AI.mA:’dAãÇÂA|a˜@P|B����­SB����ˆÅyB|a˜@óîB:’dA u™BÛy¾A#û¢B|aB#û¢B„žwB u™B‰a˜BóîB¹m«BˆÅyBèy¾B­SB��ÈBP|B��ÈBß @B|a˜A u™B|aÁHá:A��ÈBHá:A����������������������������Há:A��ÈBþ%ZB��ÈBS¥‰Bèy¾Bk+“BÐó´Bƒ±œB¡ç¡Bƒ±œBqÛŽBk+“B„žwBS¥‰BT’dBþ%ZB%†QBHá:A%†QBŸ 4B%†QBƒ±œB����ZU•B¹m«B*I‚Bèy¾B¬mKB��ÈBÛyþA��ÈB¾0ŒAèy¾B���A¹m«B���A‰a˜B¾0LAZU…B¾0ŒA„žwB|aØAT’dBÛy^BÛy>B*I‚B¬m+BBÏ‹B|aBZU•B:’äAZU•B:’dA*I‚B|a˜@¬mKB����ÛyþA����¾0ŒA|a˜@���A:’dAðÅB��ÈBðÅB����= @��ÈB¬ ŠB��ÈB×£8A��ÈB×£8A:’äAKj‚A:’dA ›ÎA|a˜@r B����rŠFB����¯B|a˜@½ã’B:’dAÕiœB:’äAÕiœB��ÈB= @��ÈB Ò!B����ÛB��ÈB Ò!B����{@��ÈBj<ÐA����#[GB��ÈBj<ÐA����#[GB��ÈBL“B����ŒêÂB��ÈBL“B������ @��ÈBZUŠB����ZUŠB��ÈB�� @����\Â?��ÈB÷uB%†QB÷uB����Çk›B��ÈB÷uB%†QBZUŠB��ÈB�� @������ @��ÈBZUŠB��ÈB�� @����ZUŠB����Ãõø@“îBÃõø@MUŸ«HA“îBŸ«HAMUÂÃõø@“îBt$B“îBÃõø@MUÂt$BMUÂHáº@��ÈBn‘B:’dÁ¬ B“îB¬ BMUÂÜB“îBÜBMUÂ{Ž@“îBÜB“îB{Ž@MUÂÜBMUÂM0BJ ÛB)\¿@¬m+BM0BJ ÛBLW¤B¬m+B��������ÍÌŒ¿MUÂòRÏBMUÂòRÏB:’äÁÍÌŒ¿:’äÁÍÌŒ¿MUÂmB��ÈB[ScBqÛŽBmB��ÈB{âAèy¾B[ScBqÛŽB¦JBZU…B¦JB����¦JB%†QB-2YB„žwBÎ3BZU…BêóAZU…BÁ¹§A„žwB7A%†QBÂÕ@|aBÂÕ@:’äA7A:’dAÁ¹§A|a˜@êóA����Î3B����-2YB|a˜@¦JB:’dAö( A��ÈBö( A����ö( A%†QB9E’A„žwB÷uÞAZU…BŠ_(BZU…BéwNB„žwBbtB%†QBI΃B|aBI΃B:’äAbtB:’dAéwNB|a˜@Š_(B����÷uÞA����9E’A|a˜@ö( A:’dA����������������ϦzB%†QBVŽTB„žwB÷u.BZU…BÑ¢êAZU…BržA„žwBª‚$A%†QB×£°@|aB×£°@:’äAª‚$A:’dAržA|a˜@Ñ¢êA����÷u.B����VŽTB|a˜@ϦzB:’dA±!wB��ÈB±!wB����±!wB%†QB7 QB„žwBØð*BZU…B“˜ãAZU…BÕg—A„žwB/nA%†QBáz”@|aBáz”@:’äA/nA:’dAÕg—A|a˜@“˜ãA����Øð*B����7 QB|a˜@±!wB:’dA����������������= ·@|aBœs{B|aBœs{BÛy>BmghBT’dB#[UB„žwBÄB/BZU…Bj<ìAZU…B¬  A„žwBݵ'A%†QB= ·@|aB= ·@:’äAݵ'A:’dA¬  A|a˜@j<ìA����ÄB/B����#[UB|a˜@œs{B:’dA������������������������ÎB��ÈBÞêA��ÈB ÒAèy¾B‚soA¡ç¡B‚soA����{.?ZU…BŸ BZU…B��������øzBZU…BøzB|aÁÉöfBÛy¾ÁêSB:’äÁ Ò-BMUÂ#[éAMUÂe*A:’äÁ��������øzB%†QBêSB„žwB Ò-BZU…B#[éAZU…Be*A„žwBMó!A%†QB…«@|aB…«@:’äAMó!A:’dAe*A|a˜@#[éA���� Ò-B����êSB|a˜@øzB:’dAš™A��ÈBš™A����š™AÛy>Bê¿A„žwBT£BZU…BãÇ>BZU…BBàdB„žwB‹ìwBÛy>B‹ìwB������������ìQ A��ÈBª‚lAèy¾B´YœA��ÈBª‚lA%†ÑBìQ A��ÈBª‚lAZU…Bª‚lA������������΋A��ÈB-2±Aèy¾BŒJ×A��ÈB-2±A%†ÑB΋A��ÈB������������������������-2±AZU…B-2±A:’dÁ΋A:’äÁ@¤û@MUÂázÔ¿MUš™A��ÈBš™A����BàdBZU…Bš™A|a˜AI.åA|aB‹ìwB����ìQ A��ÈBìQ A����š™AZU…Bš™A������������š™AÛy>Bê¿A„žwBT£BZU…BãÇ>BZU…BBàdB„žwB‹ìwBÛy>B‹ìwB������������‹ìwBÛy>Bˆ˜B„žwB¼”«BZU…Bé&ÈBZU…B33ÛB„žwBX¹äBÛy>BX¹äB����HáAZU…BHáA����������������������������HáAÛy>BÁ¹»A„žwB?õBZU…BÎ=BZU…B-2cB„žwBw>vBÛy>Bw>vB������������åPæAZU…B' šA„žwBÓÞA%†QB)\Ÿ@|aB)\Ÿ@:’äAÓÞA:’dA' šA|a˜@åPæA����M,B����`eRB|a˜@Ù}xB:’dAÅ…B:’äAÅ…B|aBÙ}xB%†QB`eRB„žwBM,BZU…BåPæAZU…B)\AZU…B)\AMUÂ��������)\A%†QBÓÞ—A„žwB‘äAZU…BW,+BZU…B¶DQB„žwB/]wB%†QB¯4…B|aB¯4…B:’äA/]wB:’dA¶DQB|a˜@W,+B����‘äA����ÓÞ—A|a˜@)\A:’dA}îwBZU…B}îwBMUÂ}îwB%†QBÖQB„žwB¥½+BZU…B-2åAZU…Bo™A„žwBb¡A%†QBHáš@|aBHáš@:’äAb¡A:’dAo™A|a˜@-2åA����¥½+B����ÖQB|a˜@}îwB:’dA)\AZU…B)\A����)\A|aBçŒcA%†QB2÷½A„žwBøBZU…B†8>BZU…B������������������������òRdB%†QB¨FQB„žwB"BZU…Bû½AZU…BñcA„žwBff–@%†QBñcA¬m+B·â—A|aBI.+BMUB¨FQB:’äAòRdB|a˜AòRdB:’dA¨FQB|a˜@"B����û½A����ñcA|a˜@ff–@:’dA������������������������6mA��ÈB6mA|a˜Ah³œA|a˜@&äèA����rŠB����q= ?ZU…BB~BZU…B��������)\AZU…B)\A|a˜AçŒcA|a˜@2÷½A����' B����†8>B|a˜@/]wB|a˜A/]wBZU…B/]wB����ffæ?ZU…B¡øòA����ˆÅkBZU…B¡øòA������ @ZU…B|a¬A����|a"BZU…B|a¬A����|a"BZU…BT’nB����‰aBZU…BT’nB����ázÔ?ZU…Bü)XB����ü)XBZU…BázÔ?����ûÑ@ZU…B€ˆ B������������·Ñ~BZU…B€ˆ B����BàÌA|a˜Áƒ¯€A:’äÁûÑ@MUÂffæ?MU´HcBZU…B{Ž@����{Ž@ZU…B´HcBZU…B{Ž@����´HcB����„ùA“îB[S­Ao’äBû:‡AJ ÛB9EBA��ÈB9EBAÐó´Bû:‡A¡ç¡B[S­A‰a˜BºkÓAZU…BºkÓAT’dBû:‡AÛy>B����������������[S­Ao’äBû:‡A%†ÑBû:‡Aèy¾B[S­A¹m«BºkÓA¡ç¡B„ùAqÛŽB„ùA„žwBºkÓA%†QBö(ì@¬m+BºkÓAMUB„ùAÛy¾A„ùA:’dAºkÓA|a˜@[S­A����û:‡A|aÁû:‡A|a˜Á[S­A:’äÁ������������������������û:‡A|aBºkÓA:’äAºkÓA|a˜A[S­A|aAû:‡A|a˜@9EBA|a˜À9EBA:’dÁû:‡AÛy¾Á[S­A:’äÁ„ùAMUÂ×£8A“îB×£8AMUÂHáA“îBb¡•Ao’äBÁ¹»AJ ÛB ÒáA��ÈB ÒáAÐó´BÁ¹»A¡ç¡Bb¡•A‰a˜B_AZU…B_AT’dBÁ¹»AÛy>B����������������b¡•Ao’äBÁ¹»A%†ÑBÁ¹»Aèy¾Bb¡•A¹m«B_A¡ç¡BHáAqÛŽBHáA„žwB_A%†QB?õB¬m+B_AMUBHáAÛy¾AHáA:’dA_A|a˜@b¡•A����Á¹»A|aÁÁ¹»A|a˜Áb¡•A:’äÁ������������������������Á¹»A|aB_A:’äA_A|a˜Ab¡•A|aAÁ¹»A|a˜@ ÒáA|a˜À ÒáA:’dÁÁ¹»AÛy¾Áb¡•A:’äÁHáAMUÂ����������������Há:@:’äAHá:@|aB Òõ@%†QBF¥‰AT’dBÖÕAT’dBaB%†QB94]B|aBL¦BMUB|²”BMUB«¾§B|aBÃD±BÛy>B��������Há:@|aB Òõ@Ûy>BF¥‰A%†QBÖÕA%†QBaBÛy>B94]BMUBL¦B:’äA|²”B:’äA«¾§BMUBÃD±BÛy>BÃD±BT’dB%†QB��ÈB:’dAMUÂ������������������������:’äAZU…B:’dA„žwB|a˜@%†QB����|aB����Ûy¾A|a˜@:’dA:’dA|a˜@:’äA����|aB����%†QB|a˜@„žwB:’dAZU…B:’äAZU…B¬m+B„žwB%†QB%†QB„žwB|aBZU…B:’äAZU…B������������������������€���…���„���…���ˆ���…���Œ���…������…���”���…���˜���…���œ���…��� ���…���¤���…���¨���…���¬���…���°���…���´���…���¸���…���¼���…���À���…���Ä���…���È���…���Ì���…���Ð���…���Ô���…���Ø���…���Ü���…���à���…���ä���…���è���…���ì���…���ð���…���ô���…���ø���…���ü���…������…�����…�����…��� ��…�����…�����…�����…�����…��� ��…���$��…���(��…���,��…���0��…���4��…���8��…���<��…���@��…���D��…���H��…���L��…���P��…���T��…���X��…���\��…���`��…���d��…���h��…���l��…���p��…���t��…���x��…���|��…���€��…���„��…���ˆ��…���Œ��…�����…���”��…���˜��…���œ��…��� ��…���¤��…���¨��…���¬��…���°��…���´��…���¸��…���¼��…���À��…���Ä��…���È��…���Ì��…���Ð��…���Ô��…���Ø��…���Ü��…���à��…���ä��…���è��…���ì��…���ð��…���ô��…���ø��…���ü��…������…��������� ���…���,���…���8���…���D���…���P���…���\���…���h���…���t���…���€���…���Œ���…���˜���…���¤���…���°���…���¼���…���È���…���Ô���…���à���…���ì���…���ø���…�����…�����…�����…���(��…���4��…���@��…���L��…���X��…���d��…���p��…���|��…���ˆ��…���”��…��� ��…���¬��…���¸��…���Ä��…���Ð��…���Ü��…���è��…���ô��…������…��� ��…�����…���$��…���0��…���<��…���H��…���T��…���`��…���l��…���x��…���„��…�����…���œ��…���¨��…���´��…���À��…���Ì��…���Ø��…���ä��…���ð��…���ü��…�����…�����…��� ��…���,��…���8��…���D��…���P��…���\��…���h��…���t��…���€��…���Œ��…���˜��…���¤��…���°��…���¼��…���È��…���Ô��…���à��…���ì��…���ø��…�����…�����…�����…���(��…���4��…���@��…���L��…���X��…���d��…���p��…���|��…���ˆ��…���”��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…���ì��…���ô��…���ü��…�����…��� ��…�����…�����…���$��…���,��…���4��…���<��…���D��…���L��…���T��…���\��…���d��…���l��…���t��…���|��…���„��…���Œ��…���”��…���œ��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…���ì��…���ô��…���ü��…�����…��� ��…�����…�����…���$��…���,��…���4��…���<��…���D��…���L��…���T��…���\��…���d��…���l��…���t��…���|��…���„��…���Œ��…���”��…���œ��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…���ì��…���ô��…���ü��…�����…��� ��…�����…���$��…���,��…���4��…���<��…���D��…���L��…���T��…���\��…���d��…���l��…���t��…���|��…���„��…���Œ��…���”��…���œ��…���¤��…���¬��…���´��…���¼��…���Ä��…���ä��…���ì��…���ô��…���ü��…�����…��� ��…�����…�����…���$��…���,��…���4��…���D��…���L��…���T��…���\��…���d��…���„��…���Œ��…���”��…���œ��…���¤��…���¬��…���´��…���¼��…���Ä��…���Ì��…���Ô��…���Ü��…���ä��…���ì��…���ô��…���ü��…��� ��…��� ��…��� ��…��� ��…���$ ��…���, ��…���4 ��…���< ��…���D ��…���L ��…���T ��…���\ ��…���d ��…���l ��…���t ��…���| ��…���„ ��…���Œ ��…���” ��…���œ ��…���¤ ��…���¬ ��…���´ ��…���¼ ��…���Ä ��…���Ì ��…���Ô ��…���Ü ��…���ä ��…���ì ��…���ô ��…���ü ��…��� ��…��� ��…���$ ��…���, ��…���4 ��…���< ��…���D ��…���L ��…���T ��…���\ ��…���d ��…���l ��…���t ��…���| ��…���„ ��…���Œ ��…���” ��…���œ ��…���¤ ��…���¬ ��…���´ ��…���¼ ��…���Ä ��…���Ì ��…���.file�������þÿ��g�����������������_chars����������_ch32����������_ch33���$�������_ch34���0�������_ch35���<�������_ch36���H�������_ch37���T�������_ch38���`�������_ch39���l�������_ch40���x�������_ch41���„�������_ch42����������_ch43���œ�������_ch44���¨�������_ch45���´�������_ch46���À�������_ch47���Ì�������_ch48���Ø�������_ch49���ä�������_ch50���ð�������_ch51���ü�������_ch52���������_ch53���������_ch54��� ������_ch55���,������_ch56���8������_ch57���D������_ch58���P������_ch59���\������_ch60���h������_ch61���t������_ch62���€������_ch63���Œ������_ch64���˜������_ch65���¤������_ch66���°������_ch67���¼������_ch68���È������_ch69���Ô������_ch70���à������_ch71���ì������_ch72���ø������_ch73���������_ch74���������_ch75���������_ch76���(������_ch77���4������_ch78���@������_ch79���L������_ch80���X������_ch81���d������_ch82���p������_ch83���|������_ch84���ˆ������_ch85���”������_ch86��� ������_ch87���¬������_ch88���¸������_ch89���Ä������_ch90���Ð������_ch91���Ü������_ch92���è������_ch93���ô������_ch94����������_ch95��� ������_ch96���������_ch97���$������_ch98���0������_ch99���<������_ch100��H������_ch101��T������_ch102��`������_ch103��l������_ch104��x������_ch105��„������_ch106��������_ch107��œ������_ch108��¨������_ch109��´������_ch110��À������_ch111��Ì������_ch112��Ø������_ch113��ä������_ch114��ð������_ch115��ü������_ch116��������_ch117��������_ch118�� ������_ch119��,������_ch120��8������_ch121��D������_ch122��P������_ch123��\������_ch124��h������_ch125��t������_ch126��€������_ch127��Œ������_ch32st�˜������_ch33st� ������_ch34st�°������_ch35st�À������_ch36st�à������_ch37st�ø������_ch38st�������_ch39st�������_ch40st� ������_ch41st�(������_ch42st�0������_ch43st�H������_ch44st�X������_ch45st�`������_ch46st�h������_ch47st�p������_ch48st�x������_ch49st�€������_ch50st�ˆ������_ch51st�������_ch52st�˜������_ch53st�¨������_ch54st�°������_ch55st�¸������_ch56st�È������_ch57st�Ð������_ch58st�Ø������_ch59st�è������_ch60st�ø������_ch61st��������_ch62st�������_ch63st�������_ch64st�(������_ch65st�8������_ch66st�P������_ch67st�h������_ch68st�p������_ch69st�€������_ch70st� ������_ch71st�¸������_ch72st�È������_ch73st�à������_ch74st�è������_ch75st�ð������_ch76st�������_ch77st� ������_ch78st�@������_ch79st�X������_ch80st�`������_ch81st�p������_ch82st�€������_ch83st�˜������_ch84st� ������_ch85st�°������_ch86st�¸������_ch87st�à������_ch88st��������_ch89st�������_ch90st� ������_ch91st�@������_ch92st�`������_ch93st�€������_ch94st� ������_ch95st�°������_ch96st�¸������_ch97st�È������_ch98st�Ø������_ch99st�è������_ch100stð������_ch101st� ������_ch102st ������_ch103st ������_ch104st( ������_ch105st8 ������_ch106stH ������_ch107stX ������_ch108stp ������_ch109stx ������_ch110st ������_ch111st  ������_ch112st¨ ������_ch113st¸ ������_ch114stÈ ������_ch115stØ ������_ch116stà ������_ch117stð ������_ch118st� ������_ch119st ������_ch120st@ ������_ch121stP ������_ch122st` ������_ch123stx ������_ch124st ������_ch125st˜ ������_ch126st° ������_ch127stÀ ������_ch33st0Ð ������_ch33st1à ������_ch34st0 ������_ch34st1 ������_ch35st0( ������_ch35st18 ������_ch35st2H ������_ch35st3X ������_ch36st0h ������_ch36st1x ������_ch36st2  ������_ch37st0@ ������_ch37st1` ������_ch37st2à ������_ch38st0@ ������_ch39st0P������_ch40st0`������_ch41st0À������_ch42st0������_ch42st1 ������_ch42st20������_ch43st0@������_ch43st1P������_ch44st0`������_ch45st0 ������_ch46st0À������_ch47st0è������_ch48st0�������_ch49st0 ������_ch50st0À������_ch51st0@������_ch52st0¸������_ch52st1Ð������_ch53st0à������_ch54st0€������_ch55st08������_ch55st1H������_ch56st0`������_ch57st0`������_ch58st0 ������_ch58st1`������_ch59st0 ������_ch59st1à������_ch60st0 ������_ch61st08������_ch61st1H������_ch62st0X������_ch63st0€������_ch63st1�������_ch64st0@������_ch64st1€������_ch65st0������_ch65st1(������_ch65st28������_ch66st0H������_ch66st1`������_ch66st2À������_ch67st0 ������_ch68st0°������_ch68st1À������_ch69st0 ������_ch69st10������_ch69st2@������_ch69st3P������_ch70st0`������_ch70st1p������_ch70st2€������_ch71st0 ������_ch71st18������_ch72st0H������_ch72st1X������_ch72st2h������_ch73st0x������_ch74st0 ������_ch75st0ð������_ch75st1�������_ch75st2������_ch76st0 ������_ch76st10������_ch77st0@������_ch77st1P������_ch77st2`������_ch77st3p������_ch78st0€������_ch78st1������_ch78st2 ������_ch79st0À������_ch80st0h������_ch80st1€������_ch81st0à������_ch81st1ˆ������_ch82st0˜������_ch82st1À������_ch82st2������_ch83st0 ������_ch84st0À������_ch84st1Ð������_ch85st0à������_ch86st00 ������_ch86st1@ ������_ch87st0P ������_ch87st1` ������_ch87st2p ������_ch87st3€ ������_ch88st0 ������_ch88st1  ������_ch89st0° ������_ch89st1È ������_ch90st0Ø ������_ch90st1è ������_ch90st2ø ������_ch91st0!������_ch91st1!������_ch91st2(!������_ch91st38!������_ch92st0H!������_ch93st0X!������_ch93st1h!������_ch93st2x!������_ch93st3ˆ!������_ch94st0˜!������_ch94st1¨!������_ch95st0À!������_ch96st0è!������_ch96st1ø!������_ch97st0"������_ch97st1 "������_ch98st0"������_ch98st1 "������_ch99st0 #�������������#����������&��� #����������0��� $����������:���À$����������D���è$����������N����%����������X���@%����������b���°%����������l���À%����������v����&����������€���(&����������Š���@&����������”���€&����������ž���¨&����������¨���¸&����������²���È&����������¼���Ø&����������Æ���è&����������Ð����'����������Ú���@'����������ä���x'����������î��� '����������ø���à'������������h(���������� ��€(������������ð(���������� ���)����������*��p)����������4��€)����������>��À)����������H��`*����������R��ˆ*����������\�� *����������f��Ø*����������p��è*����������z��ø*����������„��+����������Ž��+����������˜��(+����������¢��8+����������¬��H+����������¶��X+����������À��h+����������Ê��€+����������Ô��°+����������Þ��À+����������è��Ð+����������ò��à+����������ü��@,������������à,������������0-������������@-����������$�� -����������.��@.����������8�� .����������B���/����������L��X/����������V��€/������.text����������������������������.data�������������`�������������.bss�����������������������������.rdata���������0������������������`���������o��freeglut_stroke_roman.c�_ch100st0�_ch100st1�_ch101st0�_ch102st0�_ch102st1�_ch103st0�_ch103st1�_ch104st0�_ch104st1�_ch105st0�_ch105st1�_ch106st0�_ch106st1�_ch107st0�_ch107st1�_ch107st2�_ch108st0�_ch109st0�_ch109st1�_ch109st2�_ch110st0�_ch110st1�_ch111st0�_ch112st0�_ch112st1�_ch113st0�_ch113st1�_ch114st0�_ch114st1�_ch115st0�_ch116st0�_ch116st1�_ch117st0�_ch117st1�_ch118st0�_ch118st1�_ch119st0�_ch119st1�_ch119st2�_ch119st3�_ch120st0�_ch120st1�_ch121st0�_ch121st1�_ch122st0�_ch122st1�_ch122st2�_ch123st0�_ch123st1�_ch123st2�_ch124st0�_ch125st0�_ch125st1�_ch125st2�_ch126st0�_ch126st1�_ch127st0�_ch127st1�_fgStrokeRoman� /298 1264195966 500 500 100664 5825 ` L�����¦��-�����.text����������� ��´���x ������k��� �P`.data�������������������������������@�0À.bss������������@�������������������€�`À.rdata����������´��Ä ��������������@�0@U‰åV‰ÖS9¸���t59°¬���t?9°°���tI9°´���tY‹˜À���…Ût‰Ø‰òèÆÿÿÿ‹…Ûuñ[^]Ã9°¬���Ç€¸�������uÁ9°°���Ç€¬�������u·9°´���Ç€°�������u­¶����Ç€´�������ë›t&�U‰åÇ��������Ç�������Ç�������Ç �������Ç�������Ç�������Ç�������Ç�������Ç �������Ç$�������Ç(�������Ç,�������]Ãv�¡���U‰å‹U…Àuë ‹�…Àt9P uõ]v�Ãë U‰å‹EÇ�����Ç@����]Ãt&�¼'����U‰å‹M‹E ‹Q…Òt‰‰PÇ�����‰A]ÃÇ@����‰Ç�����‰A]ö����¿����U‰å‹E S‹M‹…Òt‹X‰Z‹X…Ût‰9t9At[]Ãt&�‹@‰A[]ô&����‹‰ëÝv�¼'����U‰å‹E‹1À…Òt f‹ƒÀ…Òu÷]Ãt&�U‰å‹U ‹ES‹]…Ò‰t‹J‰B…ɉHt‰[]É[]ö����‹K‰Cëá´&����U‰åWVSƒì‹u‹} …öt=…ÿt9€=����tU‹E‹˜À���…Ûu ë‹…Ût‰t$‰$ÿ×€>�tìƒÄ[^_]Ãt&�ÇD$����ÇD$���Ç$T���è����€=����u«ÇD$€���Ç$”���è����ë•t&�U‰åSƒì‹E ‹U€8�u‹H‹Z;t‰D$ÇD$à��‰$è@ÿÿÿƒÄ[]ÃÆ�‰PƒÄ[]ô&����¼'����U‰åƒì‹E ‹U€8�u‹J ;Ht‰D$ÇD$0��‰$èóþÿÿÉÃÆ�‰PÉô&����U‰åWVSƒì‹u ‹}…öt-…ÿt)‹����…Ûuë‹…Ût‰t$‰$ÿ×€>�tìƒÄ[^_]ÃÇD$Ý���ÇD$ì���Ç$T���è����ë¹fU‰åƒì(E‰EôEð‰D$ÆEð�Ç$à��è}ÿÿÿ€}ðÀ÷Ð#EôÉÃU‰åƒì(‹EÆEð�Ç$0��‰EôEð‰D$èMÿÿÿ€}ðÀ÷Ð#EôÉÃU‰åWVSƒì‹]…Ûu é��‰$èãÿÿÿ‹ƒÀ���…Àu€���‹=���…öt ‰$è����ÿÖ‰<$è����‹ƒ¼���…À„ƒ���‹…Òt‹K‰J‹K…Ét‰;˜À���„”���;˜Ä���„œ���‹ƒ¸���…Àt‰$è����1ÀÇDƒH����ƒÀƒøuð‰$è����‰$è����9���tƒÄ[^_]ÃÇ�������ƒÄ[^_]Ë…Òt‹C‰B‹C…Àt‰;����tU;���u…‹C£���éxÿÿÿ‹;˜Ä���‰À���…dÿÿÿ‰ˆÄ���éYÿÿÿÇD$'��ÇD$8��Ç$T���è����éÑþÿÿ‹£����ë¢t&�¼'����U‰åVSƒì‹]…Û„R��‹5����…ötv�‰ð‰ÚèGúÿÿ‹6…öuñ‹���…Òt5´&����‹B…Àuë´&����‹�…Àt;XuõÇ@����‹�…Àuî‹…ÒuÒ‹C…Àt>‹5���‰���ÿЉ5���ë(t&�;stK‹F…Àt‰$è����ÇF����‰4$è����‹s…öt.‹…Àt‹V‰P‹F…Àt‹‰;suº‹;s‰Cuµ‹F‰Cë­‹C89���„���‰$è¡ýÿÿ‹…Àt‹S‰P‹S…Òt‰;���t@; ���t.9���t‰]ƒÄ[^]é����‰]Ç�������ƒÄ[^]é����‹C£ ���ëÈ‹£���ë·ÇD$h��ÇD$x��Ç$T���è����éþÿÿÇ$����è����‹C8é]ÿÿÿ¶����U‰åSƒì‹���…Ûuë];���tK‰$è����‹���…ÛtC‹C‰$èÈüÿÿ‹…Àt‹S‰P‹C…Àt‹‰;���u¼‹;���£���uµ‹C£���뫃Ä[]Ãv�¼'����U‰åƒìèuÿÿÿ¡���…Àt$‰$èÄýÿÿ¡���…Àuï¡����…Àtf‰$èHüÿÿ¡����…ÀuïÉö����¼'����U‰åSƒì‹]Ç$ ���è����‹���…Ò‰XtD‰‰P9���Ç�����£���t:‹“€���1ÀÇDƒH����ƒÀƒøuð;“€���t‰“€���ƒÄ[]ÃÇ@����£���ë³Ç�������ëºë U‰åWVSƒìL¶U,¶E‹]¶uˆUà¶}(ˆEçÇD$���Ç$Ì���è����¶Uà…Àt1ÉÇDˆH����ƒÁƒùuð‹ (���Ç€À�������Ç€Ä�������ƒÁ…Û‰ (���‰HÇ@$ÿÿÿÿÇ@(ÿÿÿÿ„ž���‹‹Ä���…É„¯���‰‰HÇ�����‰ƒÄ���‰˜¼���ˆÈ���1Ò…Û•Âçÿ���Æ@D�æÿ���Æ@E�Æ@G�Ç@0d���‰T$$‹U$‰|$ ‰t$‰$‰T$‹U ‰Eà‰T$‹U‰T$‹U‰T$ ¶Uç‰T$‹U ‰T$è����‹EàƒÄL[^_]Ë ���…Ét'‰‰HÇ�����£���éhÿÿÿÇ@����‰ƒÀ���éDÿÿÿÇ@����£����ëд&����U‰åVSƒì0‹5���ÇD$���Ç$@���è����Ç@<����‰ÃÇD$$���ÇD$ ����ÇD$d���ÇD$d���ÇD$���ÇD$d���ÇD$ d���ÇD$���ÇD$¤��Ç$����èþÿÿ¡���Ç$����‰C8è����è����‰4$è����¡,���ÇC4����ÇC����ÇC����ƒÀ£,���‰C ‹E‰C¡ ���…Àt ‰‰CÇ����‰Ø‰ ���‰���ƒÄ0[^]ÃÇC����‰���ëÖfgEnumSubWindows����Enumerator or callback missing from subwindow enumerator call��� ERROR: Internal error <%s> in function %s�Window Enumeration�� ERROR: Internal <%s> function called without first calling 'glutInit'.�fgEnumWindows��Enumerator or callback missing from window enumerator call�fgDestroyWindow��Window destroy function called with null window�fgDestroyMenu���Menu destroy function called with null menu�freeglut menu���•�������Ÿ�������©�������³�������½�������Ç�������Ñ�������Û�������å�������ï�������ù�������������������i��!����¤������¬������³������¸��$����¾��!����É������Ð������Õ��$����������Q������‰������´������¼������Ã������È��$����ê������������_������k��,����u��,����Â��"����Ü��#����ä��%����ê������ú������!������)������3������_������g������n������s��$����������¥������Á������������ ������������0��%����?��%����}������¦������®������¶������Ï������æ������ï������ù������������������ ��$������,����9������E������O��%����U������������‹������������š������¼������Í������Ö������é��������&����������*������5������o������w������Â��(����â������ ������« ��'����¼ ������Ð ������ó ������ ������ ��(����o ������€ ������‡ ��)���� ��*����” ��+����œ ��,����¡ ������¾ ������Ì ������ã ������é ������ý ������Æ��%����Þ��%����.file�������þÿ��g����������������������������� �����������������������2������� ������E������ ������Q���@��� ������]���`��� ������k��� ��� ������y���ð��� ������‡������ ������•���P��� ������§���à��� ������¸���0��� ������Í���p��� ������Ü���Ð��� ������ê������� ������ü���0��� ������ ����� ��������0��� ������,��°��� ������@������ ������Z����� ������j��� ��� ��.text���������� ��k�������������.data����������������������������.bss�����������0�����������������.rdata���������²��������������������x����������_fgState�������������…�������� ������—�������� ��_fgError������ ��_free��������� ��_malloc������� ������¦�������� ��_calloc������� ������´�������� ������Ã�������� ������Ô�������� ������ä�������� ��ñ��freeglut_structure.c�_fghRemoveMenuFromWindow�_fgCreateStructure�_fgMenuByID�_fgListInit�_fgListAppend�_fgListRemove�_fgListLength�_fgListInsert�_fgEnumSubWindows�_fghcbWindowByID�_fghcbWindowByHandle�_fgEnumWindows�_fgWindowByID�_fgWindowByHandle�_fgDestroyWindow�_fgDestroyMenu�_fgCloseWindows�_fgDestroyStructure�_fgAddToWindowDestroyList�_fgCreateWindow�_fgCreateMenu�_fgStructure�_fgDeactivateMenu�_fgCloseWindow�_fgOpenWindow�_fgDisplayMenu�_glutDisplayFunc�_glutHideWindow�_fgSetWindow� /320 1264195966 500 500 100664 6851 ` L�����Ê�������.text�����������p��´���D������'��� �P`.data�����������@���$��������������@�`À.bss��������������������������������€�0À.rdata����������à��d��������������@�`@U‰åWVSì¼��ÝE‰…´ùÿÿݘùÿÿ‰•¨ùÿÿÇ$� �è����ƒìÇ$€ ��è����ƒìÇ$¡ ��è����ƒìÇ$· ��è����ƒìÇ$´ ��è����ƒìè����ÙîÝT$ÝT$ÙèÝ\$ÙÈ��Ý$Ùˆùÿÿè����Ý…˜ùÿÿƒì Ø Ì��ÝT$ÝT$Ý$è����ƒìÙÐ��Ý\$Ù…ˆùÿÿÝT$Ý$è����Ç…Øùÿÿ����ƒì‹•Øùÿÿ‹ØùÿÿÇ…Üùÿÿ����Ç…¸ùÿÿ���ÁâÁãÇ…¼ùÿÿ����‰•°ùÿÿ‰¬ùÿÿ‹…°ùÿÿ½hûÿÿ1É…¼ùÿÿ‹•¼ùÿÿ½ÜùÿÿÁà`���‰…Ðùÿÿ‹…¬ùÿÿ…¸ùÿÿ‰½Äùÿÿ…`���‰…ÔùÿÿR1ÒÁàœÅðùÿÿ‰àùÿÿ‰…äùÿÿ‹…Ðùÿÿ‹½Ôùÿÿ‹0‹‹½ÄùÿÿvÝÅà��…hþÿÿÏ…Üùÿÿ‰½Èùÿÿ½èùÿÿ½ÜùÿÿÝ[ÝÅà��Ï…èüÿÿ…Üùÿÿƒ½Øùÿÿ‰½Àùÿÿ‰…Ìùÿÿݸ��� ���ëÙÉ‹½ÈùÿÿÝTÇø‰Çƒï‰½„ùÿÿ…¡��‹½ÄùÿÿÙàÝ‹½àùÿÿÙàÝ_ø<vÇÝýà��<[ÇÝýà��<R½äùÿÿǃøÝ”ýèüÿÿu‹½ÌùÿÿÙÀÙàÝ\ÙÉëÙÉ<R½äùÿÿǃÀƒ½ØùÿÿÝ”ýhþÿÿŽhÿÿÿÝØÝØëÝØÝØƒø~ŒƒÂƒÁƒ…Ðùÿÿƒ­Ôùÿÿƒ…àùÿÿƒú…·þÿÿƒ…¼ùÿÿƒ…¸ùÿÿƒ…Üùÿÿ`ƒ½¼ùÿÿ…-þÿÿÙèÝT$$ÇD$4����ÙîÝT$ÙÉÇD$0���ÝT$ ÙÉÇD$,���ÝT$ÇD$���ÙˆùÿÿÙ˜ùÿÿÇD$���Ç$´ ��è����…hþÿÿƒì8Ù…˜ùÿÿÝT$$‰D$4Ù…ˆùÿÿÝT$ÙÉÇD$0���Ý\$ ÇD$, ���Ý\$ÇD$���ÇD$���Ç$· ��è����‹•´ùÿÿƒì8Ù…˜ùÿÿÝT$ ‰T$Ù…ˆùÿÿÝT$Ùɉ$Ý\$ Ý\$è����‹´ùÿÿ‹½¨ùÿÿƒì(‰\$ÇD$ ����‰\$ÇD$����‰<$è����…èüÿÿƒìÙ…˜ùÿÿÝT$$‰D$4Ù…ˆùÿÿÝT$ÙÉÇD$0���Ý\$ ÇD$, ���Ý\$ÇD$���ÇD$���Ç$· ��è����ƒì8‰\$ÇD$ ����‰\$ÇD$����‰<$è����ƒìÙ…ˆùÿÿƒ½ØùÿÿÙ…˜ùÿÿ~XÝØÝØƒ…Øùÿÿƒ½Øùÿÿ …6üÿÿè����è����eô[^_]Ãt&�ÝØ‹½Àùÿÿƒ½„ùÿÿÝ\Çø…Ëýÿÿ‹½àùÿÿÝÙàÝéKýÿÿÝT$$ÙÉ•hûÿÿÝT$ÙɉT$4Ý\$ ÇD$0���Ý\$ÇD$, ���ÇD$���ÇD$���Ç$· ��è����ƒì8‰\$‰\$èùÿÿ‰<$ÇD$ ����ÇD$����è����ƒìÙ…˜ùÿÿÝT$$‰\$4Ù…ˆùÿÿÝT$ÙÉÇD$0���Ý\$ ÇD$, ���Ý\$ÇD$���ÇD$���Ç$· ��è����‹½´ùÿÿ‹…¨ùÿÿƒì8‰|$ÇD$ ����‰|$ÇD$����‰$è����ƒìé±þÿÿt&�¼'����U‰åƒì(€=����ÝEuÝ]èÇD$����Ç$���è����ÝEèÝ]º��ɸ���éÑùÿÿU‰åƒì(€=����ÝEuÝ]èÇD$P���Ç$���è����ÝEèÝ]º��ɸ ���é‘ùÿÿ����������������������ð?����������������������ð?������ð?������ð?glutSolidTeapot� ERROR: Function <%s> called without first calling 'glutInit'.�glutWireTeapot��f���g���h���i������������������ ��� ��� ��� ��� ��������� ��� ������������������������������������������������������������������ ���!���"���#���$���%���&���'���(���`���`���`���`���a���b���c���d���e���e���e���e�����������������������������j���k���l���m���n���o���p���q���r���s���t���u���v���v���v���v���|���z���w���y���{���~���}���x���(���'���&���%���)���*���+���,���-���.���/���0���1���2���3���4���5���6���7���8���5���6���7���8���9���:���;���<���=���>���?���@������A���B���C���D���E���F���G���H���I���J���K���L���M���N���O���P���Q���R���S���P���Q���R���S���T���U���V���W���X���Y���Z���[���\���]���^���_���š™™™™™É?��������š™™™™™@š™™™™™É?yé&1¬¼¿š™™™™™@yé&1¬¼?š™™™™™É¿š™™™™™@��������š™™™™™É¿š™™™™™@ffffffõ?�������������@@ffffffõ?+‡ÙÎ÷ç¿�����@@+‡ÙÎ÷ç?ffffffõ¿�����@@��������ffffffõ¿�����@@������÷?�������������@@������÷?Ãõ(\Âé¿�����@@Ãõ(\Âé?������÷¿�����@@��������������÷¿�����@@������ø?��������333333@������ø?áz®Gáê¿333333@áz®Gáê?������ø¿333333@��������������ø¿333333@������ü?��������������þ?������ü?\Âõ(\ï¿������þ?\Âõ(\ï?������ü¿������þ?��������������ü¿������þ?�������@��������š™™™™™õ?�������@ìQ¸…ëñ¿š™™™™™õ?ìQ¸…ëñ?�������Àš™™™™™õ?���������������Àš™™™™™õ?�������@��������ÍÌÌÌÌÌì?�������@ìQ¸…ëñ¿ÍÌÌÌÌÌì?ìQ¸…ëñ?�������ÀÍÌÌÌÌÌì?���������������ÀÍÌÌÌÌÌì?�������À��������ÍÌÌÌÌÌì?�������@��������ÍÌÌÌÌÌÜ?�������@ìQ¸…ëñ¿ÍÌÌÌÌÌÜ?ìQ¸…ëñ?�������ÀÍÌÌÌÌÌÜ?���������������ÀÍÌÌÌÌÌÜ?������ø?��������ÍÌÌÌÌÌÌ?������ø?áz®Gáê¿ÍÌÌÌÌÌÌ?áz®Gáê?������ø¿ÍÌÌÌÌÌÌ?��������������ø¿ÍÌÌÌÌÌÌ?������ø?��������333333Ã?������ø?áz®Gáê¿333333Ã?áz®Gáê?������ø¿333333Ã?��������������ø¿333333Ã?š™™™™™ù¿��������333333�@š™™™™™ù¿333333Ó¿333333�@������ø¿333333Ó¿������@������ø¿��������������@ffffffÀ��������333333�@ffffffÀ333333Ó¿333333�@������À333333Ó¿������@������À��������������@š™™™™™À��������333333�@š™™™™™À333333Ó¿333333�@������À333333Ó¿������@������À��������������@š™™™™™À��������ÍÌÌÌÌÌü?š™™™™™À333333Ó¿ÍÌÌÌÌÌü?������À333333Ó¿ÍÌÌÌÌÌü?������À��������ÍÌÌÌÌÌü?š™™™™™À��������333333ù?š™™™™™À333333Ó¿333333ù?������À333333Ó¿š™™™™™õ?������À��������š™™™™™õ?������À��������������ò?������À333333Ó¿������ò?333333À333333Ó¿������î?333333À��������������î?�������À333333Ó¿ÍÌÌÌÌÌì?ffffffþ¿333333Ó¿333333ã?ffffffþ¿��������333333ã?333333û?��������ÍÌÌÌÌÌö?333333û?…ëQ¸å¿ÍÌÌÌÌÌö?333333û?…ëQ¸å¿333333ã?333333û?��������333333ã?ÍÌÌÌÌÌ@��������ÍÌÌÌÌÌö?ÍÌÌÌÌÌ@…ëQ¸å¿ÍÌÌÌÌÌö?ÍÌÌÌÌÌ@…ëQ¸å¿ffffffê?ÍÌÌÌÌÌ@��������ffffffê?ffffff@��������ÍÌÌÌÌÌ�@ffffff@������пÍÌÌÌÌÌ�@333333@������п333333�@333333@��������333333�@š™™™™™@��������333333@š™™™™™@������п333333@ffffff @������п333333@ffffff @��������333333@ffffff@��������ÍÌÌÌÌÌ@ffffff@������пÍÌÌÌÌÌ@333333 @������п33333ó@333333 @��������33333ó@333333@��������ÍÌÌÌÌÌ@333333@333333ÿÍÌÌÌÌÌ@š™™™™™ @333333Ã¿š™™™™@š™™™™™ @��������š™™™™@ffffff@��������333333@ffffff@333333ÿ333333@š™™™™™ @333333ÿ333333@š™™™™™ @��������333333@����������������333333 @š™™™™™é?��������333333 @š™™™™™é?ÍÌÌÌÌÌÜ¿333333 @ÍÌÌÌÌÌÜ?š™™™™™é¿333333 @��������š™™™™™é¿333333 @����������������ÍÌÌÌÌÌ@ffffffö?��������333333@ffffffö?J +‡é¿333333@J +‡é?ffffffö¿333333@��������ffffffö¿333333@š™™™™™Ù?��������ffffff@š™™™™™Ù?yé&1¬Ì¿ffffff@yé&1¬Ì?š™™™™™Ù¿ffffff@��������š™™™™™Ù¿ffffff@ÍÌÌÌÌÌô?��������ffffff@ÍÌÌÌÌÌô?²ï§ÆKç¿ffffff@²ï§ÆKç?ÍÌÌÌÌÌô¿ffffff@��������ÍÌÌÌÌÌô¿ffffff@ÍÌÌÌÌÌô?��������333333@ÍÌÌÌÌÌô?²ï§ÆKç¿333333@²ï§ÆKç?ÍÌÌÌÌÌô¿333333@��������ÍÌÌÌÌÌô¿333333@������������������������ÍÌÌÌÌÌö?ð§ÆK7‰é¿��������������ø?��������333333³?ÍÌÌÌÌÌö?����������������ð§ÆK7‰é?ÍÌÌÌÌÌö¿����������������������ø¿333333³?��������ÍÌÌÌÌÌö¿��������������ø?áz®Gáê¿333333³?áz®Gáê?������ø¿333333³?��‡C���?��À¿������������)�������8�������G�������V�������e�������m�������ƒ�������‘������� �������°�������¹�������Ï�������@������_������ ������Í������=������I������ù�� ����C������š������Í������ü������S������v������«������°������0������Y������ª������Ù������ø������ ������������������8������I������P������U������.file�������þÿ��gfreeglut_teapot.c������������� ��������������������������`�������_cpdata�à������_tex�������������������ð��� ������+���0��� ��.text����������o��'�������������.data����������@�����������������.bss�����������������������������.rdata���������Ô����������������_fgState�������������;��������� ������K��������� ������W��������� ������g��������� ������u��������� ������‚��������� ������“��������� ������£��������� ������²��������� ������Á��������� ������Í��������� ��_fgError������ ��Ý���_fghTeapot�_patchdata�_glutSolidTeapot�_glutWireTeapot�_glPushAttrib@4�_glEnable@4�_glPushMatrix@0�_glRotated@32�_glScaled@24�_glTranslated@24�_glMapGrid2d@40�_glPopMatrix@0�_glPopAttrib@0�_glMap2d@56�_glEvalMesh2@20� /339 1264195966 500 500 100664 597 ` L�����Ü��������.text�����������P���Œ��������������� �P`.data�������������������������������@�0À.bss��������������������������������€�0ÀU1À‰å]Éö¼'����U‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Ã.file�������þÿ��g����������������������������� �����������������������/������� ������G��� ���� ������^���0���� ������o���@���� ��.text����������E�����������������.data����������������������������.bss�����������������������������}���freeglut_videoresize.c�_glutVideoResizeGet�_glutSetupVideoResizing�_glutStopVideoResizing�_glutVideoResize�_glutVideoPan� /363 1264195966 500 500 100664 11973 ` L�����%��M�����.text�����������ð��´����������� �P`.data�������������������������������@�0À.bss��������������������������������€�0À.rdata����������`��¤��������������@�0@€=����U¡���‰åt…Àu ë‹€¼���…Àt€¸È����uí‹@]Ã1À]ö����¿����U‰åƒì€=����t¡���…Àt(‹U‰¨���ÉÃÇD$����Ç$���è����¡���…ÀuØÇD$����Ç$T���è����¡���‹U‰¨���Éö����¿����U‰åƒì€=����t¡���…Àt%‹€¨���ÉÃÇD$’���Ç$���è����¡���…ÀuÛÇD$’���Ç$T���è����¡���‹€¨���ÉÃfU‰åSƒì4€=����„¬���‹���…Û„¾���Ç$ÿ��è����…ÀtèÉ���¡ ���ÇEè����ÇEì����ÇD$����‰Eð¡¤���ÇD$��ωEôEè‰$è����‹Mì‹Eô‹Uè)Èƒì ‰D$‹EðÇD$��‰L$ ‰T$)ЉD$¡���ÇD$����‹@ ‰$è����ÆCG‹]üƒìÉÃÇD$¤���Ç$���è����é;ÿÿÿ´&����ÇD$¤���Ç$T���è����‹���é#ÿÿÿU‰åSƒì€=����t ‹���…Ût4èáþÿÿ€{G�”CGƒÄ[]Ãv�ÇD$³���Ç$���è����‹���…ÛuÌÇD$³���Ç$T���è����‹���ë°¶����U‰åƒì€=����t5¡���…ÀtHÇ$ÿ��è����…Àtècÿÿÿ¡���Æ@F‹U‰P‹U ‰P ÉÃÇD$È���Ç$���è����ëµ¶����ÇD$È���Ç$T���è����ë¢v�¼'����U‰åƒì(€=����tI¡���…Àt]ÇD$���ÇD$����ÇD$����ÇD$ ����ÇD$����ÇD$����‹@ ‰$è����ƒìÉÃÇD$Ú���Ç$���è����¡���…Àu£ÇD$Ú���Ç$T���è����¡���ëˆU‰åƒì(€=����tI¡���…Àt]ÇD$���ÇD$����ÇD$����ÇD$ ����ÇD$����ÇD$���‹@ ‰$è����ƒìÉÃÇD$è���Ç$���è����¡���…Àu£ÇD$è���Ç$T���è����¡���ëˆU‰åƒì8€=����„}���‹���…Ò„���Ç$ÿ��è����…ÀtèºýÿÿEè‰D$¡���‹@ ‰$è����‹Eô+Eìƒì‰D$‹Eð+EèÇD$���‰D$ ‹E ‰D$‹E‰D$¡���‹@ ‰$è����ƒìÉÃÇD$÷���Ç$���è����éjÿÿÿ´&����ÇD$÷���Ç$T���è����éXÿÿÿ´&����U‰åƒì€=����t¡���…Àt?‹ˆ¼���…ÉtÉÃÇD$ ��Ç$���è����ëÕ¶����‹U‰T$‹@ ‰$è����ƒìÉÃÇD$ ��Ç$T���è����¡���릴&����¼'����U‰åƒì€=����t¡���…Àt?‹¼���…ÒtÉÃÇD$��Ç$���è����ëÕ¶����‹U‰T$‹@ ‰$è����ƒìÉÃÇD$��Ç$T���è����¡���릴&����¼'����U‰åƒì€=����t1¡���…ÀtEÆ@-�ÇD$���‹@ ‰$è����¡���Æ@,�ƒìÉÃv�ÇD$.��Ç$���è����¡���…Àu»ÇD$.��Ç$T���è����¡���ë ´&����U‰åƒì€=����t1¡���…ÀtEÇD$����‹@ ‰$è����¡���Æ@,�ƒìÉô&����ÇD$@��Ç$���è����¡���…Àu»ÇD$@��Ç$T���è����¡���ë ´&����U‰åƒì€=����t1¡���…ÀtEÇD$���‹@ ‰$è����¡���Æ@,ƒìÉô&����ÇD$O��Ç$���è����¡���…Àu»ÇD$O��Ç$T���è����¡���ë ´&����U‰åSƒì€=����t0‹E‰$è����…Àt‹x���‰$è����‰x���ƒÄ[]ô&����ÇD$^��Ç$���è����ëºv�¼'����U‰åƒìX€=����‰]ô‹U‰uø‹] ‰}ü‹u‹}„ˆ���‹E‰Uä‰$è����1É‹Uä…Àt_…Ûˆ°���…ÿˆ¸���…öx}…Òˆ…���ÇD$$����ÇD$ ����‰T$‰|$ÇD$���‰t$‰\$ ÇD$���ÇD$„��‰$è����‹H‹]ô‰È‹uø‹}ü‰ì]Ãv�‰UäÇD$p��Ç$���è����‹UäéYÿÿÿ‹H Î…Òx )Öé{ÿÿÿ‹H )ò‰mÿÿÿÖ÷Úédÿÿÿ‹HË…ÿx )ûéHÿÿÿ‹H<9)߉:ÿÿÿû÷ßé1ÿÿÿfU‰åƒì8€=����uÇD$…��Ç$���è����¡���ÇD$$����ÇD$ ����Ç$����‰D$¡ ���‰D$¶���‰D$¡���‰D$¡����‰D$ ¶���‰D$‹E‰D$è����‹@ÉÃt&�¼'����U‰åƒì‹E £����Éé\ÿÿÿ¶����¿����U‰åSƒì‹]9���tI¡����…Àt0‹S1É9Øt 9Pu¹���‹�…Àuì…Ét‹C ‰$è����‹]üƒìÉËS‰$è����ƒìëÝÇD$����Ç$����è����ƒìëž¶����¿����U‰åSƒì¡���‹]…Àt‹P‰T$‹@ ‰$è����ƒì…Ût#‹C ‰$è����‹Sƒì‰C‰T$‰$è����ƒì‰���‹]üÉö����U‰åSƒì‹]€=����t-¡���…Àt9XtE‰$è����…Àt)‰EƒÄ[]éfÿÿÿ¶����ÇD$–��Ç$���è����뽉\$Ç$¤��è����ƒÄ[]Ãt&�U‰åWVSìŒ���¶E¶U‹]¶}(ˆE¯EÀ¶u,‰D$¡����ˆU®ÇD$Í��‰$è����ƒì f…À„Ê��‰ù„É„©��‹‹¼���…É„ò��ÇD$Ö��ÇD$,��Ç$���è����‹E$1É‹u ‹����‰U°‹“¼���…Ò„û��ÇE´���–‹R ‰U¤‹U°‰D$‹E‰\$,ÇD$$����‰T$(‹U¤‰D$‹E´‰t$ÇD$Í��‰T$ ‹U‰D$ ‰ $‰T$‹U ‰T$è����ƒì0…À‰C „w��‰ú„Ò„Î��ÇD$���ÇD$����ÇD$����ÇD$ ����ÇD$����ÇD$ÿÿÿÿ‰$è����‹C ƒìÇD$ðÿÿÿ‰$è����‹���ƒìöÆ…€��€æ…Ô��€=$���ÀƒàƒÀ‰D$‹C ‰$è����‹C ƒì‰$è����ƒìÇ$���è����ƒì‰$ènýÿÿ¡���Ñèƒà…À‰CuÇ$��è����ƒìÇ$��è����ƒìeô[^_]ô&����‰ð„À„†���‹E$‹u €}¯�uÇE���€ÇE���€€}®�… ��€»È���ÇC ÿÿÿÿÇCÿÿÿÿÀ%Ôþÿ,��‰Æ€»È����¹€���…&þÿÿ‹“¼���ÇE´��Ï…Ò„ì���‹ ����ÇE´���V‰M°1Ééþÿÿ€»È����…mÿÿÿÇ$ ���è����‹U ƒì4BÇ$!���è����ƒìÇ$���‰E¨è����‹U¨E$ƒìPé/ÿÿÿ€»È����„cþÿÿé þÿÿ%ÿÿ´ÿ‰D$ÇD$ðÿÿÿ‹C ‰$è����ƒì éeþÿÿÇD$Ö��ÇD$ã��Ç$���è����éýÿÿ‹M ‹U$‰K‰S éÿÿÿ´&����%ÿÿtÿë¡‹E$‹u ÇE´���–‹����1ÉÇE¤����‰U°é2ýÿÿt&�‹M Ç$T��‰L$è����‹C énýÿÿÇE´���–ÇE¤����éÿüÿÿfU‰åV‰ÖS‰ÃƒìÇ$t��è����ƒì…Àt'‰$ÿЃì…Àt‰t$‰$è����…À•À¶Àeø[^]Ãeø1À[^]ÃU‰åWVSìL��¶E ‹]¶uˆ…óýÿÿ¡���‹K‰ÂƒâƒúÒƒÂ%öÄtƒÊ¨fÇE°(�fÇE²�‰U´„à���ÆE¸ÆEº�ÆE¼�ÆE¾�ÆEÀ�f…Àº���xöÄ@º���„Ó���‰ðˆUɉ $ÆE¹ÆE»�ÆE½�ÆE¿�ÆEÁ�ÆEÂ�ÆEÃ�ÆEÄ�ÆEÅ�ÆEÆ�ÆEÇÆEȈEÊÆEË�ÇEÌ����ÇEÐ����ÇEÔ����ÇD$ ���è����M°ƒìˆE¹‰L$‹C‰$è����ƒì÷���€��‰…ôýÿÿuj‹µôýÿÿ1À…öt€½óýÿÿ�¸���„Ç��eô[^_]ɃâÆE¸�ÆEºÆE¼ÆE¾ˆUÀéÿÿÿföÄ º���…ÿÿÿ1ÒöÄ„ÿÿÿ¶„���éÿÿÿè����‰…äýÿÿè����Uˆ¹ ���‰×‰…èýÿÿ1Àó«¡����‰$ÇEŒ����ÇEˆ#���‰E˜ÇE¬Ž��è����¡����ƒìÇD$,����‰D$(ÇD$$����ÇD$ ����ÇD$����ÇD$����ÇD$����ÇD$����ÇD$ ��ÏÇD$„��ÇD$Ž��Ç$����è����ƒì0‰Ç‰$è����‹ôýÿÿƒì‰ÆE°‰L$‰D$‰4$è����ƒì ‰4$è����ƒì‰…ìýÿÿ‰D$‰4$è����º��‰ðƒìè0ýÿÿ…À…˜���‹èýÿÿ‹…äýÿÿ‰ $‰D$è����‹…ìýÿÿƒì‰$è����ƒì‰t$‰<$è����ƒì‰<$è����¡����ƒì‰D$Ç$Ž��è����ƒìé þÿÿt&�‹…ôýÿÿM°‰L$‰D$‹C‰$è����ƒì …À•Àeô[^_]Ãt&�Ç$±��è����ƒì…À‰Â„Oÿÿÿ¶E¹‹ ���Ç…øýÿÿ ��Ç…üýÿÿ���‰…þÿÿ¶EÀÇ…�þÿÿ ��Ç…þÿÿ���Ç…þÿÿ ��‰…þÿÿ¶EÇÇ… þÿÿ' ��Ç…þÿÿ ��Ç…þÿÿ ��‰…$þÿÿ¶EÈÇ… þÿÿ" ��Ç…(þÿÿ# ��Ç…0þÿÿ ��‰…,þÿÿ‰ÈÑèƒà€å‰…4þÿÿ…Õ���Ç…àýÿÿP���¹D���¸@���Ç…ÜýÿÿL���Ç…ØýÿÿH���Ç„øýÿÿA ��‹…ØýÿÿÇ„ øýÿÿ���‹ÜýÿÿÇEØ����ÇEÜ����Ç„øýÿÿB ��¡ˆ���‰„ øýÿÿ‹…àýÿÿ‹KÇD$ ���Ç„øýÿÿ����Eà‰D$Eä‰D$E؉D$…øýÿÿ‰D$‰ $ÿÒƒì…À„ãýÿÿ‹Eà…À„Øýÿÿ‹Mä‰ôýÿÿéÊýÿÿfÇ…8þÿÿ© ��¹L���¸H���Ç…<þÿÿ���Ç…àýÿÿX���Ç…ÜýÿÿT���Ç…ØýÿÿP���éÿÿÿë U‰åƒìxƒ=Œ���‰]ô‹]‰uø‰}ü„&��‹C‰D$‹C‰$è����‹CºI��ƒìè_úÿÿ…À„ï���¡Œ���ƒø„)��‹���‰Uй���ÇEÄ‘ ��UÔ‰EÈuÄÇEÌ’ ��‹=”���‰øƒàƒøÀƒç÷Ѓà øtÇ” ��‰DȃÁŽ‹=˜���‰øƒàƒøÀƒç÷Ѓà øtÇ&‘��TމDÈÇ����Ç$É��è����ƒì…À„à���‰t$ÇD$����‹S‰$ÿÐƒì …À‰Æ„Š���ÇD$����Ç$����è����‹Cƒì‰$è����‰sƒì‹]ô‹uø‹}ü‰ì]Ë5���…ö…Ìþÿÿ‹ ”���…É…¾þÿÿ‹˜���…Ò…°þÿÿ‹]ô‹uø‹}ü‰ì]Ãt&�‹���…Ò…ÏþÿÿuÄ1ɉòéâþÿÿ¡˜���Ç$ ��‰D$¡”���‰D$ ¡���‰D$¡Œ���‰D$è����éAÿÿÿ‰E´Ç$ä��è����‹E´é ÿÿÿglutSetWindowData��� ERROR: Function <%s> called without first calling 'glutInit'.� ERROR: Function <%s> called with no current window defined.�glutGetWindowData�glutFullScreen�glutFullScreenToggle�glutReshapeWindow�glutPopWindow�glutPushWindow�glutPositionWindow�glutSetIconTitle�glutSetWindowTitle�glutIconifyWindow�glutHideWindow�glutShowWindow�glutDestroyWindow�glutCreateSubWindow��glutCreateWindow�glutSetWindow�glutSetWindow(): window ID %d not found!�FREEGLUT�fgOpenWindow�Window Class Info Not Found�� ERROR: Internal error <%s> in function %s�Game mode being invoked on a subwindow��Failed to create a window (%s)!�wglGetExtensionsStringARB�FREEGLUT_dummy�WGL_ARB_multisample�wglChoosePixelFormatARB�wglCreateContextAttribsARB�wglCreateContextAttribsARB not found����Unable to create OpenGL %d.%d context (flags %x, profile %x)�WGL_ARB_create_context����$���� ���%����H���$����P���%����g���"����n���"����s���L����x���%����„���"����‹���"�������L����•���%����¸���$����À���%����Ô���"����Û���"����à���L����å���%����ñ���"����ø���"����ý���L������%������$����&��%����:��)����H��&����f��&����|��(����¬��%����¿��2����Ô��"����Û��"����à��L����ô��"����û��"�������L������%������$����"��%����D��"����K��"����P��L����V��%����b��"����i��"����n��L����t��%����ˆ��$������%���� ��)����®��%����È��"����Ï��"����Ô��L����ä��"����ë��"����ð��L������$������%����O��2����\��"����c��"����h��L����m��%����y��"����€��"����…��L����Š��%����˜��$���� ��%����ß��2����ì��"����ó��"����ø��L����ý��%���� ��"������"������L������%����(��$����5��%����I��)����^��%����i��*����›��%����¦��+����´��"����»��"����À��L����Ô��"����Û��"����à��L����ø��$�������%������"������"����$��L����>��,����K��"����R��"����W��L����\��%����x��$����€��%����˜��"����Ÿ��"����¤��L����¾��,����Ë��"����Ò��"����×��L����Ü��%����ø��$�������%������4���� ��%����4��"����;��"����@��L����E��%����Q��"����X��"����]��L����b��%����x��$����€��%����—��4����œ��%����´��"����»��"����À��L����Å��%����Ñ��"����Ø��"����Ý��L����â��%����ø��$�������%������4������%����4��"����;��"����@��L����E��%����Q��"����X��"����]��L����b��%����y��$����‡��/����‘��$����™��-����Ÿ��$����´��"����»��"����À��L����Ø��$������/����_��"����g��.����‡��"����Ž��"����“��L����ø��$���� ��"���� ��"���� ��L���� ��$����4 ��$����? ��$����H ��$����Q ��$����\ ��$����l ��.����Š ��'����¬ ��%����³ ��%����ß ��F����ò ��K���� ��J����( ��%����A ��E����S ��C����h ��J����q ��%����Œ ��$����” ��%����¥ ��/����Ä ��"����Ë ��"����Ð ��L����Ý ��"����â ��0���� ��&����% ��"����- ��1����Y ��"����a ��"����h ��"����m ��L����{ ��&����É ��"����ç ��B����7 ��2����M ��3����S ��$����n ��$����† ��4����” ��5����£ ��6����³ ��$����Ë ��7����Ú ��8����j ��&����• ��9����ª ��9����¼ ��9����û ��:���� ��"������"������"������L����V��&����v��"������L����¯��"����´��I����Ó��;������$����Ê��<����â��=����ë��$����\��$����f��>����q��?����Š��&����”��@����¥��"����ª��A����¯��&����þ��"������"������B������C����=��H����H��D����]��J����b��"����Œ��J������K����¬��E����·��F����¼��&����Ê��"����Ï��G����ø��H������"������I����/��$����?��$������$����-��J����5��"����J��$����Y��$����~��$����ª��$����Û��"����à��I���� ��J����.��K����G��$����U��$����c��$����‚��$����›��$����¢��"����«��$����´��$����½��$����Æ��L����Õ��"����Ú��L����.file�������þÿ��gfreeglut_window.c������������� ��������������������������@���� ������&���°���� ������9������ ������I������ ������_���€��� ������r������� ������������ ������‘��� ��� ������¥���ð��� ������·���p��� ������Ë���ð��� ������Þ���p��� ������î���ð��� ������þ���p��� ��������Ð��� ������&��ð��� ������8��€ ��� ������T��  ��� ������c�� ��� ������p��€ ��� ��������ð ��� �������� ��� ������¦��ð��� ������º������ ��.text����������æ��������������.data����������������������������.bss�����������������������������.rdata���������`����������������_fgState�������������Ñ���������������Þ���������������é���������������ù�������� ��_glutGet������ �������������� �������������� ������.�������� ������@�������� ������Z�������� ������j�������� ������x�������� ������ƒ�������� ������•�������� ������¦�������� ������¸�������� ������Æ�������� ������Ö�������� ������ä�������� ������ô�������� �������������� �������������� ��_strstr������� ������+�������� ������<�������� ������Q�������� ������i�������� ������|�������� �������������� ������¡�������� ��_GetDC@4������ ������µ�������� ������É�������� ������Ö�������� ������ç�������� ������û�������� �������������� ������#�������� ������5�������� ��_fgError������ ��I��_glutGetWindow�_glutSetWindowData�_glutGetWindowData�_glutFullScreen�_glutFullScreenToggle�_glutReshapeWindow�_glutPopWindow�_glutPushWindow�_glutPositionWindow�_glutSetIconTitle�_glutSetWindowTitle�_glutIconifyWindow�_glutHideWindow�_glutShowWindow�_glutDestroyWindow�_glutCreateSubWindow�_glutCreateWindow�___glutCreateWindowWithExit�_fgCloseWindow�_fgSetWindow�_glutSetWindow�_fgOpenWindow�_fghIsExtensionSupported�_fgSetupPixelFormat�_fgNewWGLCreateContext�_fgStructure�_fgDisplay�___glutExitFunc�_AdjustWindowRect@12�_GetWindowRect@8�_MoveWindow@24�_SetWindowTextA@8�_fgAddToWindowDestroyList�_fgCreateWindow�_fgWindowByID�_fgWarning�_GetClassInfoA@12�_SetWindowPos@28�_GetWindowLongA@8�_ShowWindow@8�_UpdateWindow@4�_ShowCursor@4�_glDrawBuffer@4�_glReadBuffer@4�_GetSystemMetrics@4�_SetWindowLongA@12�_GetDeviceCaps@8�_ChoosePixelFormat@8�_wglGetCurrentContext@0�_wglGetCurrentDC@0�_DefWindowProcA@16�_RegisterClassA@4�_CreateWindowExA@48�_wglCreateContext@4�_ReleaseDC@8�_DestroyWindow@4�_UnregisterClassA@8�_SetPixelFormat@12�_wglGetProcAddress@4�_wglMakeCurrent@8�_wglDeleteContext@4� /382 1264195966 500 500 100664 780 ` L�����l�������.text��������������Œ������������ �P`.data�������������������������������@�0À.bss�������������������������������€�0À¡����U‰å…Àu Ç�������]ô&����U‰å]Ãt&�¼'����‹����U‰å…Òu Ç�������]ô&����‹ ����U‰å…Éu Ç�������1À]Ãt&�¡����U‰å…Àu Ç�������1À]Ã��� ������� ����2��� ����?��� ����R��� ����_��� ����q��� ����~��� ����.file�������þÿ��g����������������������������� �����������������������0���������������C��� ���� ������U���0���� ������k���P���� ������‚���p���� ��.text����������Š����������������.data����������������������������.bss����������������������������’���freeglut_spaceball.c�_fgInitialiseSpaceball�_sball_initialized�_fgSpaceballClose�_fgSpaceballSetWindow�_fgSpaceballNumButtons�_fgHasSpaceball���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/Copying.txt����������������������������������������������������0000644�0000764�0000764�00000002672�11533026402�017751� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ Freeglut Copyright ------------------ Freeglut code without an explicit copyright is covered by the following copyright: Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies or substantial portions of the Software. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of Pawel W. Olszta shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Pawel W. Olszta. ����������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/Readme.txt�����������������������������������������������������0000644�0000764�0000764�00000010476�11533026402�017537� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeglut 2.6.0-3.mp for MinGW This package contains freeglut import libraries, headers, and a Windows DLL, allowing GLUT applications to be compiled on Windows using MinGW. Both static and shared versions of the library are included. For more information on freeglut, visit http://freeglut.sourceforge.net/. Installation Create a folder on your PC which is readable by all users, for example “C:\Program Files\Common Files\MinGW\freeglut\” on a typical Windows system. Copy the “lib\” and “include\” folders from this zip archive to that location. The freeglut DLL should either be placed in the same folder as your application, or can be installed in a system-wide folder which appears in your %PATH% environment variable. On a 32 bit Windows system this is typically “C:\Windows\System32\”, and on a 64 bit Windows system this is typically “C:\Windows\SysWOW64\”. Compiling Applications If you want your application to be compatible with GLUT, you should “#include <GL/glut.h>”. If you want to use freeglut specific extensions, you should “#include <GL/freeglut.h>” instead. Given a source file “test.c”, which you want to compile to an application “test.exe” dynamically linking to the DLL, you can compile and link it with the following commands (replacing the include and lib paths with the ones you created above if necessary): gcc -c -o test.o test.c -I"C:\Program Files\Common Files\MinGW\freeglut\include" gcc -o test.exe test.o -L"C:\Program Files\Common Files\MinGW\freeglut\lib" -lfreeglut -lopengl32 -Wl,--subsystem,windows Don’t forget to either include the freeglut DLL when distributing applications, or provide your users with some method of obtaining it if they don’t already have it! Static Linking To statically link the freeglut library into your application, it’s necessary to define “FREEGLUT_STATIC” when compiling the object files. It’s also necessary to link the static version of the freeglut library, along with the GDI and Windows multimedia libraries which freeglut depends upon: gcc -c -o test.o test.c -D FREEGLUT_STATIC -I"C:\Program Files\Common Files\MinGW\freeglut\include" gcc -o test.exe test.o -L"C:\Program Files\Common Files\MinGW\freeglut\lib" -lfreeglut_static -lopengl32 -lwinmm -lgdi32 -Wl,--subsystem,windows The “-Wl,--subsystem,windows” is needed in each case so that the application builds as a Windows GUI application rather than a console application. If you are using GLU functions you should also include “-lglu32” on the command line. Please visit http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/ for further information and usage. Cross-Compilation I’ve not covered the setup of freeglut for use in cross-compilation, i.e. when building Windows freeglut applications using a Linux system. Setting freeglut up with MinGW on other operating systems can be done following the instructions above, except that the paths will be different. Problems? If you have problems using these packages (runtime errors etc.), please contact me via http://www.transmissionzero.co.uk/contact/, providing as much detail as you can. Please don’t complain to the freeglut guys unless you’re sure it’s a freeglut bug, and have reproduced the issue after compiling freeglut from the latest SVN version—if that’s still the case, I’m sure they would appreciate a bug report or a patch. Changelog 2010–01–22: Release 2.6.0-3.mp • Rebuilt the package using the Fedora version of MinGW. 2009–12–22: Release 2.6.0-2.mp • Updated documentation to take into account the fact that 32 bit DLLs should be placed in the “SysWOW64” folder on 64 bit Windows versions, rather than “System32”. • There were some MinGW cross-compilation issues under Linux related with the fact that the #include of “Windows.h” didn’t match the case of the header file “windows.h”. I’ve changed the #include so that the header filename is all lowercase. 2009–11–29: Release 2.6.0-1.mp • First 2.6.0 MinGW release. I’ve built the package using MinGW, and the only change I’ve made is to the DLL version resource—I’ve changed the description so that my MinGW and MSVC builds are distinguishable from each other (and other builds) using Windows Explorer. Martin Payne 2010–01–22 http://www.transmissionzero.co.uk/ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/freeglut.dll���������������������������������������������������0000644�0000764�0000764�00000565000�11533026402�020111� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������MZ�������ÿÿ��¸�������@�����������������������������������€���º�´ Í!¸LÍ!This program cannot be run in DOS mode. $�������PE��L�zZK��������à�# 8���æ����À������ ���Üj��������������������@����y ������ ������������������Ð�����à�´�����\��������������������$&����������������������������������������������������������������������������������.text���ô���������������������`�P`.data���(&��� ��(����������������@�`À.rdata��@j��P��l��0�������������@�`@.bss����¼���À���������������������€�`À.edata������Ð�����œ�������������@�0@.idata��´���à�����¬�������������@�0À.rsrc���\���������¾�������������@�0À.reloc��$&�����(���Â�������������@�0B����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������U‰åƒì‹EÇD$ÀÞjÇD$�ÀÞj‰$èç��Éö����¼'����U‰åƒì‹EÇD$ÀÞjÇD$�ÀÞj‰$è·��ɃøÀô&����U‰åSƒì‹�ÀÞj…Òt4‹ÀÞjƒë9Úw‹…ÀtóÿЋ�ÀÞjƒë9Úvë‰$èu��Ç�ÀÞj����Ç$����èg��ƒÄ[]Éö¼'����U‰åƒì8‰]ô‹] ‰uø‹u‰}ü‹}ƒût;‰|$‰\$‰4$è��ƒì …Ûu‹�ÀÞj…Òth‰EäèZÿÿÿ‹Eä‹]ô‹uø‹}ü‰ì] �Ç$€���èüÿ��…À£�ÀÞjtCÇ�����£ÀÞjèÓþ��èŽÿ��‰|$ÇD$���‰4$èšÿ��ƒì …Àu¬èþþÿÿ1Àë£1À럶����è³ÿ��Ç� ���1ÀëŠU‰åƒì¡$FÝj…Àt:Ç$�PÝjè¥�‰Âƒì…Ò¸����tÇD$ PÝj‰$è�ƒì…Àt Ç$$FÝjÿÐÉÃt&�U‰å]ÃU‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9˜¤���t‰˜¤���ƒÄ[]Â�ÇD$$PÝjÇ$<PÝjèœ��ëË´&����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9˜ ���t‰˜ ���ƒÄ[]Â�ÇD$|PÝjÇ$<PÝjèÊ›��ëË´&����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9˜˜���t‰˜˜���ƒÄ[]Â�ÇD$‘PÝjÇ$<PÝjèz›��ëË´&����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9˜œ���t‰˜œ���ƒÄ[]Â�ÇD$ŸPÝjÇ$<PÝjè*›��ëË´&����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9Xxt‰XxƒÄ[]Â�t&�ÇD$±PÝjÇ$<PÝjèÜš��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9˜ˆ���t‰˜ˆ���ƒÄ[]Â�ÇD$ÆPÝjÇ$<PÝj芚��ëË´&����U‰åƒì€=ü@Ýj�uÇD$ÝPÝjÇ$<PÝjè]š��‹E£<AÝjÉÂ�U‰åƒì€=ü@Ýj�uÇD$ðPÝjÇ$<PÝjè-š��‹E£8AÝjÉÂ�U‰åƒì€=ü@Ýj�t¡¼ÁÞj…Àt‹U‰PÉÂ�ÇD$QÝjÇ$<PÝjèê™��ë×´&����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9˜€���t‰˜€���ƒÄ[]Â�ÇD$QÝjÇ$<PÝjèš™��ëË´&����U‰åSƒì‹]€=ü@Ýj�uÇD$$QÝjÇ$<PÝjèi™��‰]‹]üÉë€U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9Xpt‰XpƒÄ[]Â�t&�ÇD$4QÝjÇ$<PÝjè™��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9Xlt‰XlƒÄ[]Â�t&�ÇD$BQÝjÇ$<PÝjè̘��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9Xht‰XhƒÄ[]Â�t&�ÇD$XQÝjÇ$<PÝjè|˜��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9Xdt‰XdƒÄ[]Â�t&�ÇD$gQÝjÇ$<PÝjè,˜��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9X`t‰X`ƒÄ[]Â�t&�ÇD$zQÝjÇ$<PÝjèÜ—��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9X\t‰X\ƒÄ[]Â�t&�ÇD$ˆQÝjÇ$<PÝj茗��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9XTt‰XTƒÄ[]Â�t&�ÇD$šQÝjÇ$<PÝjè<—��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t%¡¸ÁÞj…Àt99Xtt‰Xt…Ût8ÇE`Üj‹]üÉéØûÿÿÇD$­QÝjÇ$<PÝjèä–��¡¸ÁÞj…ÀuÇ‹]üÉÂ�t&�ÇE����‹]üÉé ûÿÿU‰åƒì€=ü@Ýj�uÇD$ÀQÝjÇ$<PÝjè–��‹E£0AÝjÉÂ�U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9XXt‰XXƒÄ[]Â�t&�ÇD$ÍQÝjÇ$<PÝjèL–��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9XPt‰XPƒÄ[]Â�t&�ÇD$ÝQÝjÇ$<PÝjèü•��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t¡¸ÁÞj…Àt9XLt‰XLƒÄ[]Â�t&�ÇD$îQÝjÇ$<PÝj謕��ëÍv�¼'����U‰åSƒì‹]€=ü@Ýj�t…Ût/¡¸ÁÞj…Àt9XHt‰XHƒÄ[]Â�ÇD$þQÝjÇ$<PÝjè\•��ëÍÇ$RÝjèN•��ëö����¿����U‰åSƒì‹]€=ü@Ýj�t$è¨ô��¡¸ÁÞj…Àt9˜”���t‰˜”���ƒÄ[]Â�ÇD$mRÝjÇ$<PÝjèõ”��ëÆv�U‰åSƒì‹]€=ü@Ýj�t$èXô��¡¸ÁÞj…Àt9˜���t‰˜���ƒÄ[]Â�ÇD$…RÝjÇ$<PÝj襔��ëÆv�U‰åSƒì‹]€=ü@Ýj�t$èô��¡¸ÁÞj…Àt9˜Œ���t‰˜Œ���ƒÄ[]Â�ÇD$RÝjÇ$<PÝjèU”��ëÆv�U‰åSƒì‹]€=ü@Ýj�t>èxŽ��¡¸ÁÞj…Àt(9X|t‰X|‹U ‰P4蜥��‹ ¸ÁÞj+A4‰ÂÁú÷Ò!‰Q8ƒÄ[]Â�ÇD$µRÝjÇ$<PÝjèë“��묉ö¼'����U‰åƒì€=ü@Ýj�‰uü‹u‰]øtH¡¸ÁÞj…Àt2‹Xt…Ût+‰$è`ç��ƒþ”À…ö‹uü” Ѓð¶À‰E‰Ø‹]ø‰ì]ÿà‹]ø‹uü‰ì]Ãv�ÇD$ÆRÝjÇ$ÜRÝjèl“��ë¢v�¼'����U‰åSƒì€=ü@Ýj�tg‹,AÝj…Ût{‰\$Ç$(AÝjèvÌ��‹E ‰C ‹E‰C襤��‹ AÝjE…Ò‰Cu ëv�‹…Òt;B}õ‰\$‰T$Ç$ AÝjè¡Ì��ƒÄ[] �ÇD$%SÝjÇ$<PÝjèÕ’��‹,AÝj…Ûu…Ç$���èŸõ��…À‰ÃuƒÇ$4SÝjè­’��érÿÿÿU‰åƒì(€=ü@Ýj�tC¡¸ÁÞj…ÀtW‹U‰Uð‹U ‰UôUð‰T$‹@ ‰$èö��‹Eôƒì‰D$‹Eð‰$èõõ��ƒìÉÂ�ÇD$pSÝjÇ$€SÝjè:’��¡¸ÁÞj…Àu©ÇD$pSÝjÇ$ÀSÝjè’��¡¸ÁÞj뎶����U‰åVSƒì‹] ‹uƒûfv‰\$Ç$þSÝjèí‘��‰^0eø[^]Ãv�ÿ$TÝjÇD$���Ç$����è}õ��ƒì‰$èjõ��ƒìÇD$���Ç$����è[õ��ƒì‰D$ÇD$ôÿÿÿ‹F ‰$è1õ��‰^0ƒì eø[^]ÃÇD$��Ç$����è õ��ƒì‰$è õ��ƒìÇD$��Ç$����èþô��ƒì‰D$ë¡ÇD$‹��Ç$����èáô��ƒì‰$èÎô��ƒìÇD$‹��Ç$����è¿ô��ƒì‰D$é_ÿÿÿÇD$ƒ��Ç$����èŸô��ƒì‰$èŒô��ƒìÇD$ƒ��Ç$����è}ô��ƒì‰D$éÿÿÿÇD$‚��Ç$����è]ô��ƒì‰$èJô��ƒìÇD$‚��Ç$����è;ô��ƒì‰D$éÛþÿÿ´&����ÇD$���Ç$����èô��ƒì‰$èô��ƒìÇD$���Ç$����èòó��ƒì‰D$é’þÿÿÇ$����èÒó��ƒìÇD$����évþÿÿfÇD$†��Ç$����è´ó��ƒì‰$è¡ó��ƒìÇD$†��Ç$����è’ó��ƒì‰D$é2þÿÿÇD$��Ç$����èró��ƒì‰$è_ó��ƒìÇD$��éYÿÿÿÇD$��Ç$����èCó��ƒì‰$è0ó��ƒìÇD$��Ç$����è!ó��ƒì‰D$éÁýÿÿÇD$„��Ç$����èó��ƒì‰$èîò��ƒìÇD$„��Ç$����èßò��ƒì‰D$éýÿÿÇD$…��Ç$����è¿ò��ƒì‰$è¬ò��ƒìÇD$…��Ç$����èò��ƒì‰D$é=ýÿÿÇD$��Ç$����è}ò��ƒì‰$èjò��ƒìÇD$��Ç$����è[ò��ƒì‰D$éûüÿÿ´&����U‰åƒì€=ü@Ýj�t!¡¸ÁÞj…Àt5‹U‰$‰T$èYüÿÿÉÂ�t&�ÇD$´UÝjÇ$€SÝjèLŽ��¡¸ÁÞj…ÀuËÇD$´UÝjÇ$ÀSÝjè/Ž��¡¸ÁÞjë°U‰åƒì€=ü@Ýj�t¡¸ÁÞj…Àt%Æ@,ÉÃfÇD$ÄUÝjÇ$ØUÝjèì��¡¸ÁÞj…ÀuÛÇD$ÄUÝjÇ$VÝjèÏ��¡¸ÁÞjÆ@,ÉÃt&�U‰åƒì€=ü@Ýj�t‹E‰$èÉ��…ÀtÆ@,ÉÂ�ÇD$VVÝjÇ$ØUÝjè†��ëÓt&�U‰åƒìH€=ü@Ýj�‰]ô‰uø‰}ü„Ô���‹ ¸ÁÞj…É„æ���èaí��¡¸ÁÞj‹P…Òu ‹]ô‹uø‹}ü‰ì]Ë@‰$è¥î��¡AÝjƒì…ÀtÜÇ$¼��襽��‹AÝjƒÂ‰AÝj‰Ã¡AÝjƒì…À„¤���‰Ù)Á; AÝjv£1ÿ¡¸ãÞj‰}ä1ÿ‰MàßmàØ °VÝjƒÀ@‰Uà‰}ä‰T$ÇD$€VÝj‰$ßmàØñÝ\$Ý\$ è–ï��‰AÝjÇAÝj����éLÿÿÿÇD$nVÝjÇ$ØUÝjè|Œ��éÿÿÿ´&����ÇD$nVÝjÇ$VÝjè\Œ��éÿÿÿ´&����‰AÝjé�ÿÿÿU‰åƒì‹EÇD$8Ýj‰$èÇ£��ƒìÉÂ�U‰åƒì‹EÇD$8Ýj‰$èß��ƒìÉÂ�U‰åƒì‹E ÇD$8Ýj‰D$‹E‰$èÀv��ƒì ÉÂ�‰ö¼'����U‰åƒì‹E‰$è×ë��ƒìÉÃv�¼'����U‰åƒì(€=ü@Ýj�‰]ô‹]‰uø‰}ü„ñ��¿WÝj¹���‰Þó¦…��¹ ���¿ WÝj‰Þ¸@"Üjó¦—Á’Â8Ñ„¬��¹���¿WÝj‰Þ¸�ŽÜjó¦—Á’Â8Ñ„‹��¹���¿*WÝj‰Þ¸PŽÜjó¦—Á’Â8Ñ„j��¹���¿@WÝj‰Þ¸€Üjó¦—Á’Â8Ñ„I��¹���¿WWÝj‰Þ¸ÀÜjó¦—Á’Â8Ñ„(��¹ ���¿jWÝj‰Þ¸`ÁÜjó¦—Á’Â8Ñ„��¹ ���¿wWÝj‰Þ¸�’Üjó¦—Á’Â8Ñ„æ��¹���¿€WÝj‰Þ¸ "Üjó¦—Á’Â8Ñ„Å��¹���¿‘WÝj‰Þ¸ ÿÜjó¦—Á’Â8Ñ„¤��¹���¿¥WÝj‰Þ¸@ÿÜjó¦—Á’Â8Ñ„ƒ��¹���¿·WÝj‰Þ¸ Üjó¦—Á’Â8Ñ„b��¹���¿ÉWÝj‰Þ¸€ Üjó¦—Á’Â8Ñ„A��¹���¿áWÝj‰Þ¸À Üjó¦—Á’Â8Ñ„ ��¹���¿ñWÝj‰Þ¸Ð÷Üjó¦—Á’Â8Ñ„ÿ��ÇD$ÿWÝj‰$èŸì��‰Â¸PÝj…Ò„à��ÇD$ XÝj‰$è€ì��‰Â¸@ýÜj…Ò„Á��ÇD$ XÝj‰$èaì��‰Â¸ÀüÜj…Ò„¢��ÇD$1XÝj‰$èBì��‰Â¸ðûÜj…Ò„ƒ��ÇD$DXÝj‰$è#ì��‰Â¸PúÜj…Ò„d��ÇD$VXÝj‰$èì��‰Â¸ÐúÜj…Ò„E��ÇD$dXÝj‰$èåë��‰Â¸`ûÜj…Ò„&��ÇD$sXÝj‰$èÆë��‰Â¸ÀýÜj…Ò„��ÇD$…XÝj‰$è§ë��‰Â¸ÀþÜj…Ò„è��ÇD$”XÝj‰$èˆë��‰Â¸@þÜj…Ò„É��ÇD$£XÝj‰$èië��‰Â¸àøÜj…Ò„ª��ÇD$²XÝj‰$èJë��‰Â¸°Üj…Ò„‹��ÇD$ÀXÝj‰$è+ë��‰Â¸ Üj…Ò„l��ÇD$ÐXÝj‰$è ë��‰Â¸°ÚÜj…Ò„M��ÇD$åXÝj‰$èíê��‰Â¸ÀÚÜj…Ò„.��ÇD$÷XÝj‰$èÎê��‰Â¸ÐÚÜj…Ò„��ÇD$YÝj‰$è¯ê��‰Â¸àÚÜj…Ò„ð��ÇD$ YÝj‰$èê��‰Â¸ðÚÜj…Ò„Ñ��ÇD$?YÝj‰$èqê��‰Â¸�ÛÜj…Ò„²��ÇD$OYÝj‰$èRê��‰Â¸ÛÜj…Ò„“��ÇD$_YÝj‰$è3ê��‰Â¸�"Üj…Ò„t��ÇD$nYÝj‰$èê��‰Â¸PÅÜj…Ò„U��ÇD$~YÝj‰$èõé��‰Â¸ÐÄÜj…Ò„6��ÇD$ŠYÝj‰$èÖé��‰Â¸ÅÜj…Ò„��ÇD$–YÝj‰$è·é��‰Â¸@ÉÜj…Ò„ø ��ÇD$§YÝj‰$è˜é��‰Â¸ ÈÜj…Ò„Ù ��ÇD$¶YÝj‰$èyé��‰Â¸�ÈÜj…Ò„º ��ÇD$ÌYÝj‰$èZé��‰Â¸PÇÜj…Ò„› ��ÇD$àYÝj‰$è;é��‰Â¸°ÆÜj…Ò„| ��ÇD$óYÝj‰$èé��‰Â¸pÄÜj…Ò„] ��ÇD$ZÝj‰$èýè��‰Â¸ÄÜj…Ò„> ��ÇD$ZÝj‰$èÞè��‰Â¸ Üj…Ò„ ��ÇD$!ZÝj‰$è¿è��‰Â¸PÜj…Ò„� ��ÇD$1ZÝj‰$è è��‰Â¸�Üj…Ò„á ��ÇD$BZÝj‰$èè��‰Â¸ Üj…Ò„ ��ÇD$PZÝj‰$èbè��‰Â¸€Üj…Ò„£ ��ÇD$_ZÝj‰$èCè��‰Â¸0Üj…Ò„„ ��ÇD$uZÝj‰$è$è��‰Â¸àÜj…Ò„e ��ÇD$ƒZÝj‰$èè��‰Â¸Üj…Ò„F ��ÇD$–ZÝj‰$èæç��‰Â¸€Üj…Ò„' ��ÇD$£ZÝj‰$èÇç��‰Â¸àÜj…Ò„ ��ÇD$±ZÝj‰$è¨ç��‰Â¸ðÜj…Ò„é ��ÇD$ÃZÝj‰$è‰ç��‰Â¸°Üj…Ò„Ê ��ÇD$ÓZÝj‰$èjç��‰Â¸ Üj…Ò„« ��ÇD$ëZÝj‰$èKç��‰Â¸PÜj…Ò„Œ ��ÇD$[Ýj‰$è,ç��‰Â¸�Üj…Ò„m ��ÇD$[Ýj‰$è ç��‰Â¸ÐÜj…Ò„N ��ÇD$-[Ýj‰$èîæ��‰Â¸€Üj…Ò„/ ��ÇD$;[Ýj‰$èÏæ��‰Â¸0Üj…Ò„ ��ÇD$P[Ýj‰$è°æ��‰Â¸àÜj…Ò„ñ ��ÇD$e[Ýj‰$è‘æ��‰Â¸ÀÜj…Ò„Ò ��ÇD$x[Ýj‰$èræ��‰Â¸pÜj…Ò„³ ��ÇD$[Ýj‰$èSæ��‰Â¸ Üj…Ò„” ��ÇD$¤[Ýj‰$è4æ��‰Â¸ÀÜj…Ò„u ��ÇD$·[Ýj‰$èæ��‰Â¸pÜj…Ò„V ��ÇD$É[Ýj‰$èöå��‰Â¸ðÜj…Ò„7 ��ÇD$Ú[Ýj‰$è×å��‰Â¸ ×Üj…Ò„ ��ÇD$ç[Ýj‰$è¸å��‰Â¸p×Üj…Ò„ù ��ÇD$ô[Ýj‰$è™å��‰Â¸@×Üj…Ò„Ú ��ÇD$\Ýj‰$èzå��‰Â¸ÐÞÜj…Ò„» ��ÇD$ \Ýj‰$è[å��‰Â¸ÝÜj…Ò„œ ��ÇD$\Ýj‰$è<å��‰Â¸ÐÙÜj…Ò„} ��ÇD$2\Ýj‰$èå��‰Â¸ÐÛÜj…Ò„^ ��ÇD$C\Ýj‰$èþä��‰Â¸`ÛÜj…Ò„? ��ÇD$P\Ýj‰$èßä��‰Â¸0>Üj…Ò„ ��ÇD$d\Ýj‰$èÀä��‰Â¸@9Üj…Ò„ ��ÇD$t\Ýj‰$è¡ä��‰Â¸;Üj…Ò„â��ÇD$ˆ\Ýj‰$è‚ä��‰Â¸p7Üj…Ò„Ã��ÇD$˜\Ýj‰$ècä��‰Â¸ 8Üj…Ò„¤��ÇD$©\Ýj‰$èDä��‰Â¸p6Üj…Ò„…��ÇD$º\Ýj‰$è%ä��‰Â¸zÜj…Ò„f��ÇD$É\Ýj‰$èä��‰Â¸|Üj…Ò„G��ÇD$Ù\Ýj‰$èçã��‰Â¸†Üj…Ò„(��ÇD$æ\Ýj‰$èÈã��‰Â¸ ‰Üj…Ò„ ��ÇD$ô\Ýj‰$è©ã��‰Â¸iÜj…Ò„ê��ÇD$]Ýj‰$èŠã��‰Â¸PfÜj…Ò„Ë��ÇD$]Ýj‰$èkã��‰Â¸ƒÜj…Ò„¬��ÇD$]Ýj‰$èLã��‰Â¸ €Üj…Ò„��ÇD$,]Ýj‰$è-ã��‰Â¸€ZÜj…Ò„n��ÇD$A]Ýj‰$èã��‰Â¸°NÜj…Ò„O��ÇD$W]Ýj‰$èïâ��‰Â¸0÷Üj…Ò„0��ÇD$f]Ýj‰$èÐâ��‰Â¸àöÜj…Ò„��ÇD$v]Ýj‰$è±â��‰Â¸PKÜj…Ò„ò��ÇD$‰]Ýj‰$è’â��‰Â¸ðGÜj…Ò„Ó��ÇD$]Ýj‰$èsâ��‰Â¸@sÜj…Ò„´��ÇD$±]Ýj‰$èTâ��‰Â¸ qÜj…Ò„•��ÇD$Æ]Ýj‰$è5â��‰Â¸PpÜj…Ò„v��ÇD$Ú]Ýj‰$èâ��‰Â¸�oÜj…Ò„W��ÇD$ï]Ýj‰$è÷á��‰Â¸€÷Üj…Ò„8��ÇD$^Ýj‰$èØá��‰Â¸÷Üj…Ò„��ÇD$^Ýj‰$è¹á��‰Â¸ ÷Üj…Ò„ú��ÇD$/^Ýj‰$èšá��‰Â¸°÷Üj…Ò„Û��ÇD$?^Ýj‰$è{á��‰Â¸À÷Üj…Ò„¼��ÇD$L^Ýj‰$è\á��‰Â¸ÙÜj…Ò„��ÇD$]^Ýj‰$è=á��‰Â¸PØÜj…Ò„~��ÇD$q^Ýj‰$èá��‰Â¸Ð×Üj…Ò„_��ÇD$‚^Ýj‰$èÿà��‰Â¸ÀØÜj…Ò„@��ÇD$˜^Ýj‰$èàà��‰Â¸àBÜj…Ò„!��ÇD$«^Ýj‰$èÁà��‰Â¸ÐAÜj…Ò„��ÇD$½^Ýj‰$è¢à��‰Â¸pAÜj…Ò„ã��ÇD$Ï^Ýj‰$èƒà��‰Â¸°@Üj…Ò„Ä��ÇD$ß^Ýj‰$èdà��‰Â¸à¿Üj…Ò„¥��ÇD$ñ^Ýj‰$èEà��‰Â¸€¿Üj…Ò„†��ÇD$_Ýj‰$è&à��‰Â¸`Üj…Ò„g��ÇD$_Ýj‰$èà��‰Â¸°Üj…Ò„H��ÇD$!_Ýj‰$èèß��‰Â¸ Üj…Ò„)��ÇD$5_Ýj‰$èÉß��‰Â¸àùÜj…Ò„ ��ÇD$J_Ýj‰$èªß��‰Â¸ ÜÜj…Ò„ë��ÇD$X_Ýj‰$è‹ß��‰Â¸ ÛÜj…Ò„Ì��ÇD$j_Ýj‰$èlß��‰Â¸øÜj…Ò„­��ÇD$|_Ýj‰$èMß��‰Â¸€øÜj…Ò„Ž��ÇD$Ž_Ýj‰$è.ß��‰Â¸ ÃÜj…Ò„o��ÇD$ž_Ýj‰$èß��‰Â¸àÃÜj…Ò„P��ÇD$®_Ýj‰$èðÞ��‰Â¸`8Üj…Ò„1��ÇD$¿_Ýj‰$èÑÞ��‰Â¸ 6Üj…Ò„��ÇD$Ð_Ýj‰$è²Þ��‰Â¸P<Üj…Ò„ó��ÇD$á_Ýj‰$è“Þ��‰Â¸°9Üj…Ò„Ô��ÇD$ò_Ýj‰$ètÞ��‰Â¸ nÜj…Ò„µ��ÇD$`Ýj‰$èUÞ��‰Â¸@mÜj…Ò„–��ÇD$+`Ýj‰$è6Þ��‰Â¸@FÜj…Ò„w��ÇD$D`Ýj‰$èÞ��‰Â¸€DÜj…Ò„X��ÇD$^`Ýj‰$èøÝ��‰Â¸ðuÜj…Ò„9��ÇD$o`Ýj‰$èÙÝ��‰Â¸ÐwÜj…Ò„��ÇD$´VÝj‰$èºÝ��‰Â¸"Üj…Ò„û��ÇD$`Ýj‰$è›Ý��‰Â¸ÐÜj…Ò„Ü��ÇD$”`Ýj‰$è|Ý��‰Â¸� Üj…Ò„½��ÇD$«`Ýj‰$è]Ý��‰Â¸ÀŸÜj…Ò„ž��ÇD$Å`Ýj‰$è>Ý��‰Â¸€ŸÜj…Ò„��ÇD$Ü`Ýj‰$èÝ��‰Â¸@ŸÜj…Ò„`��ÇD$ô`Ýj‰$è�Ý��‰Â¸�ŸÜj…Ò„A��ÇD$ aÝj‰$èáÜ��‰Â¸ÀžÜj…Ò„"��ÇD$&aÝj‰$èÂÜ��‰Â¸€žÜj…Ò„��ÇD$@aÝj‰$è£Ü��‰Â¸ð¡Üj…Ò„ä���ÇD$XaÝj‰$è„Ü��‰Â¸¡Üj…Ò„Å���ÇD$paÝj‰$èeÜ��‰Â¸0¡Üj…Ò„¦���ÇD$†aÝj‰$èFÜ��‰Â¸à Üj…Ò„‡���ÇD$žaÝj‰$è'Ü��‰Â¸ Üj…ÒtlÇD$¶aÝj‰$è Ü��‰Â¸@ Üj…ÒtQÇD$ÌaÝj‰$èñÛ��‰Â¸ŽÜj…Òt6ÇD$ãaÝj‰$èÖÛ��‰Â¸0ŽÜj…ÒtÇD$øaÝj‰$è»Û��‰Â¸@ŽÜj…Òu8‹]ô‹uø‹}ü‰ì]Â�ÇD$´VÝj¿WÝj‰ÞÇ$ÈVÝjè…x��¹���ó¦„ûìÿÿ‰$è ìÿÿ‹]ô‹uø‹}ü‰ì]Â�U‰Â‰åƒì…Ò¸(vÞjt ƒú¸ìEÞjuÉÃv�‰T$Ç$bÝjè°w��1ÀÉö����¿����U‰åƒì€=ü@Ýj�t‹Eè©ÿÿÿ…Àt'Ù@ÉÂ�ÇD$-bÝjÇ$@bÝjèêw��‹Eè‚ÿÿÿ…ÀuÙÙîÉÂ�´&����U‰åWVSƒì<‹u €=ü@Ýj�„Ç���‹EèOÿÿÿ…À‰Ã„•���…ö„���¶„À„‚���Ùî‹KÙÀVÙUÔ‹uÔë‹C ‹¸…ÀtØ�¶„Àt ƒÂ¶ø9Ï}ï< ußÝáßàžvXÝÙ¶Ùî„ÀuàÝáßàžvÝÙëfÝØÙ}æØ4cÝj·Eæ´ f‰EäÙmäÛ]àÙmæ‹EàƒÄ<[^_]Â�t&�ƒÄ<1À[^_]Â�t&�ÝØ‰uÔÙEÔë‚¶����ÇD$€bÝjÇ$@bÝjèÜv��é ÿÿÿ´&����U‰åSƒì$‹] €=ü@Ýj�tN‹EèUþÿÿ…Ûx8;X}3‹@ ‹˜…Àt)Ù4cÝjØ�Ù}ö·Eö´ f‰EôÙmôÛ]ðÙmö‹EðƒÄ$[]Â�ƒÄ$1À[]Â�ÇD$‘bÝjÇ$@bÝjè[v��뜉ö¼'����U‰Â‰åƒìƒú¸|cÝjt<ƒú¸ÐcÝjt2ƒú¸(dÝjt(ƒú¸€dÝjtƒú¸ØdÝjtƒú¸,eÝjt ƒú¸€eÝjuÉÉT$Ç$¡bÝjèpu��1ÀÉö����¿����U‰åƒì€=ü@Ýj�t‹Eèyÿÿÿ‰Â1À…Òt‹BÉÂ�ÇD$·bÝjÇ$@bÝjè¦u��ëÓt&�U‰åWVSƒì‹] €=ü@Ýj�to‹Eè3ÿÿÿ…ÀtR…ÛtN¶„ÒtGƒÃ1É1öë‹x ¶Ò‹—¶Ñ¶„ÒtƒÃ€ú uã9Î}*¶‰Î1É„Òué9ñ‰È}ƒÄ‰ð[^_]Â�1ÀƒÄ[^_]Â�1Éë¿ÇD$ÈbÝjÇ$@bÝjèu��éxÿÿÿv�U‰åSƒì‹] €=ü@Ýj�t=‹Eè•þÿÿSÿúþ���w…Àt‹@ ‹˜¶�ƒÄ[]Â�t&�ƒÄ1À[]Â�¶����ÇD$ÙbÝjÇ$@bÝjèœt��ë­v�¼'����U‰åWVSƒì,‹] €=ü@Ýj�„'��‹Eèüÿÿ…À‰EÜ„æ���…Û„Þ���¶„À„Ó���ƒÃÙî‰]àÙ]ض����‹MܶÐ;Q ���< „µ���‹MÜ‹A ‹…À‰Eä„„���‹P‹x…Ò~R1öÇ$���èÔ��‹÷ƒì…À~*1ÛÝ����ƒÃD÷‹P‰T$‹�‰$èùÓ��ƒì9÷ÙèôÓ��‹EäƒÆ9p°‹UäÙÙEØØÁÇD$����ÇD$����Ù]ØÙ$èÌÓ��ƒì ‹Uà¶„Àt ƒEàé>ÿÿÿeô[^_]Â�1Û‰\$ÙAÙàÙ\$ÙEØÙàÙ$èÓ��‰]؃ì ë¿ÇD$ébÝjÇ$@bÝjè<s��éÀþÿÿ´&����U‰åWVSƒì,‹] €=ü@Ýj�„���‹Eè¯úÿÿ…Ûˆæ���;XÝ���‹@ ‹˜…À‰Eä„Ì���‹p‹@…ÀŽž���1ÛÇ$���èñÒ��‹<Þƒì…ÿ~.1ÿt&�ý����ƒÇDÞ‹P‰T$‹�‰$èÉÒ��ƒì9<ÞÙèÄÒ��Ç$����è¨Ò��‹ Þƒì…É~)1ÿý����ƒÇDÞ‹P‰T$‹�‰$è…Ò��ƒì9<ÞÙè€Ò��‹EäƒÃ9Xdÿÿÿ‹UäÇD$����ÇD$����‹‰$è\Ò��ƒì eô[^_]Â�ÇD$úbÝjÇ$@bÝjèr��éçþÿÿ´&����¼'����U‰åWVSƒìL‹] €=ü@Ýj�„§��‹Eèûÿÿ…À‰Æt …Ût€;�fueô[^_]Â�t&�Ç$���èäÑ��ƒìÇD$����Ç$ð ��èÕÑ��ƒìÇD$����Ç$ñ ��è¾Ñ��ƒìÇD$����Ç$ò ��è§Ñ��ƒìÇD$����Ç$ó ��èÑ��ƒìÇD$����Ç$ô ��èyÑ��ƒìÇD$���Ç$õ ��èbÑ��ƒìÙÄÒt{€ú „ƒ���‹F ¶Ò‹<¶W‰T$ÇD$����¶Ð¶Àf‰UæßEæÙ\$‹VÙ]ȉT$ ‹V‰T$‹V‰$‰T$èÑ��¶f‰E涃ÃßEæƒìÙEÈ„ÒÞÁuÝØë¶����ÝØèáÐ��eô[^_]Â�ÇD$����‹FÇD$ ����ÇD$����ÇD$����÷؉EàÛEàÙ\$ÙàÙ\$Ç$����èŽÐ��ƒìÙîéÿÿÿt&�ÇD$cÝjÇ$@bÝjèp��é@þÿÿ´&����U‰åVSƒì0‹] €=ü@Ýj�„��‹Eè ùÿÿ‰ÆCÿ=þ���‡ï���…ö„ç���‹F ‹˜Ç$���èÐ��ƒìÇD$����Ç$ð ��è÷Ï��ƒìÇD$����Ç$ñ ��èàÏ��ƒìÇD$����Ç$ò ��èÉÏ��ƒìÇD$����Ç$ó ��è²Ï��ƒìÇD$����Ç$ô ��è›Ï��ƒìÇD$���Ç$õ ��è„Ï��¶ƒÃ¶Ð¶Àf‰UöƒìßEö‰\$Ù\$ÇD$����‹V‰T$ ‹V‰T$‹V‰$‰T$èIÏ��ƒìèIÏ��eø[^]Â�ÇD$cÝjÇ$@bÝjèÔn��é×þÿÿU‰åV‰ÆSìÀ���\ÿÿÿ‰\$ÇD$ÿÿÿÿÇ$����èeÒ��‹@AÝj‰ðÇE„��\�‰UÈ‹DAÝjƒì <À‰UÌ‹LAÝjƒàƒÀÇD$����‰D$ ‰UÄ‹PAÝjÇD$����‰\$Ç$����‰UÔè÷Ñ��ƒÀƒìƒøv¸$.Þj´&����‰$è˜m��eø1À[^]Ãÿ$…ˆ.Þj¸H.Þjëá¸h-ÞjëÙ¸@-ÞjëÒf¸�.ÞjëɸÈ-ÞjëÂf‰\$ÇD$ÿÿÿÿÇ$����è˜Ñ��‹EÈ£@AÝj‹EÌƒì £DAÝj‹EÄ£LAÝj‹EÔ£PAÝjeø¸���[^]Éö¼'����U‰åSƒì‹]€=ü@Ýj�tAƒûv‰\$Ç$ô.Þjèèl��ƒÄ¸ÿÿÿÿ[]Â�ÿ$/Þjt&�1Àƒ=ÄÁÞj�•ÀƒÄ[]Â�ÇD$¤.ÞjÇ$´.Þjè(m��ë©¶����¡LAÝjƒÄ[]Â�v�¡PAÝjƒÄ[]Â�v�¸���è6þÿÿƒÄ[]¶ÀÂ�¡@AÝjƒÄ[]Â�¡DAÝjƒÄ[]Â�U‰åƒì€=ü@Ýj�t4¡ÄÁÞj…Àt)‰$èP¬��ÇÄÁÞj����ÇD$����Ç$ðÁÞjèZÐ��ƒìÉÃÇD$,/ÞjÇ$´.Þjèyl��ë¶´&����U‰åƒì8€=ü@Ýj�„­���¡ÄÁÞj…À„Á���‰$èè«��1Àèýÿÿ„Àt}¡DAÝjÇD$$����ÇD$ ���ÇD$���‰D$¡@AÝjÇD$����ÇD$ ����ÇD$���‰D$ÇD$q/ÞjÇ$����è¬��‹@AÝj‰P‹DAÝj£ÄÁÞjÆ@F‰P ‹@Éô&����Ç$P/Þjè4k��1ÀÉÃÇD$>/ÞjÇ$´.Þjèœk��¡ÄÁÞj…À…?ÿÿÿÇD$ðÁÞjÇD$ÿÿÿÿÇ$����èCÏ�� ÂÞj��\�ƒì éÿÿÿU‰åWVSƒì<€=ü@Ýj�ÇEä€��ÇEàà��ÇEÜ���ÇEØH���„N��E؉D$‹E}Üuà]ä‰|$‰t$ ‰\$ÇD$/Þj‰$èÎ��ƒø„æ���‹E‰|$‰t$ ‰\$ÇD$™/Þj‰$èßÍ��ƒø„¾���E؉D$‹E‰t$ ‰\$ÇD$¢/Þj‰$è´Í��ƒø„“���‹E‰t$ ‰\$ÇD$«/Þj‰$èÍ��ƒøtsE؉D$ ‹E‰|$ÇD$±/Þj‰$èmÍ��ƒøtP‹E‰|$ÇD$¸/Þj‰$èQÍ��ƒøt4E؉D$‹EÇD$¼/Þj‰$è2Í��ƒøt‹EÇ$À/Þj‰D$è’i��f‹Eä£@AÝj‹Eà£DAÝj‹EÜ£LAÝj‹EØ£PAÝjƒÄ<[^_]Â�¶����ÇD$z/ÞjÇ$´.ÞjèÌi��é™þÿÿU‰åWVSƒìl‹]€=ü@Ýj�‹} ÝE„‘���ƒû�„«���~vØ 4Þjƒë‰]Ä1ÛWG‰}¼uЉljUÀ݃à<ÝjØÉ‹E¼‹UÀÜ�‹EÄÝ]Ð݃è<ÝjØÉÜÝ]ØÝƒð<ÝjƒÃØÉ܉t$‰$Ý]àÝT$Ý]¨èqÿÿÿƒìƒû`ÝE¨u¯ÝØëfÝØeô[^_]Â�t&�Ý]¨ÇD$�0ÞjÇ$0Þjèùh��ƒû�ÝE¨…UÿÿÿÝ]¨Ç$���èþÈ��GW‰E´¸ð<Ýj‰}¼‰Ç‰UÀÇEÄ����ƒìÝE¨Ý1ÛÙàÝ\$ÝGøÙàÝ\$ÝGðÙàÝ$Ý]¨èÉ��‹Uĉ}¸‹}´R4… 2ÞjƒìÝE¨‹ƒÃƒÆ‹UÀ@ÝÅð<ÝjØÉÜÝ\$ÝÅè<ÝjØÉÜÝ\$ÝÅà<ÝjØÉ‹E¼Ü�Ý$Ý]¨èÂÈ��ƒìƒûÝE¨u°‹}¸ƒEăǃ}Ä…`ÿÿÿÝØèDÈ��eô[^_]Â�v�¼'����U‰åWVSƒì|‹]€=ü@Ýj�ÝE„t��ƒû�…ë���‹E 1ÿ‹U Ý]°‰}ăÀ‰EÀƒÂ¸ð<Ýj‰U¸‰ÇÇ$���1ÛèÌÇ��݃ìÙàÝ\$ÝGøÙàÝ\$ÝGðÙàÝ$è È��‹Uĉ}¼‹}¸R4… 2ÞjƒìÝE°‹ƒÃƒÆ‹UÀ@ÝÅð<ÝjØÉÜÝ\$ÝÅè<ÝjØÉÜÝ\$ÝÅà<ÝjØÉ‹E Ü�Ý$Ý]˜èµÇ��ƒìƒûÝE˜u°ÝØ‹}¼èHÇ��ƒEăǃ}Ä…Mÿÿÿët&�ÝØeô[^_]Â�t&�~î‹U ƒëØ 4Þj‹} ‰]ÄuÐ1ۃ‰UÀƒÇ݃à<ÝjØÉ‹E ‹UÀÜ�‹EÄÝ]Ð݃è<ÝjØÉÜÝ]ØÝƒð<ÝjƒÃØÉ܉t$‰$Ý]àÝT$Ý]˜èˆþÿÿƒìƒû`ÝE˜u¯ÝØeô[^_]Â�Ý]˜ÇD$\0ÞjÇ$0ÞjèYf��ÝE˜émþÿÿU‰åƒìX€=ü@Ýj�uÇD$u0ÞjÇ$0Þjè-f��Ç$���èAÆ��Ý4ÞjƒìÝT$ÝT$Ý$Ý]Øè…Æ��ƒìÙîÝT$ÝT$ÙèÝ$Ù]èèsÆ��ƒìÙEèÝT$ÙèÝ\$Ý$è[Æ��ƒìÙèÝ\$ÙEèÝT$Ý$èCÆ��Ý 4ÞjƒìÝT$ÝEØÝT$Ý$Ý]ÈèÆ��ƒìÙEèÝT$Ý\$ÙèÝ$è Æ��ÙèƒìÙàÝ\$ÙEèÝT$Ý$èòÅ��ƒìÙEèÝT$ÙèÝ\$Ý$èÚÅ��ÝE؃ìÝT$ÝEÈÝ\$Ý$è¹Å��ƒìÙEèÝT$Ý\$ÙèÝ$è©Å��ƒìÙèÝ\$ÙEèÝT$Ý$è‘Å��ƒìÙEèÝT$ÙèÙàÝ\$Ý$èwÅ��ÝEȃìÝT$Ý\$ÝEØÝ$èVÅ��ƒìÙEèÝT$Ý\$ÙèÝ$èFÅ��ƒìÙEèÝT$ÙèÙàÝ\$Ý$è,Å��ÙèƒìÙàÝ\$ÙEèÝT$Ý$èÅ��ƒìÝEØÝT$Ý\$ÝEÈÝ$èñÄ��ƒìÙEèÝT$Ý\$ÙèÙàÝ$èßÄ��ƒìÙèÝ\$ÙEèÝT$Ý$èÇÄ��ƒìÙEèÝT$ÙèÝ\$Ý$è¯Ä��ÝEȃìÝT$ÝEØÝ\$Ý$èŽÄ��ƒìÙEèÝT$Ý\$ÙèÙàÝ$è|Ä��ƒìÙEèÝT$ÙèÝ\$Ý$èdÄ��ÙèƒìÙàÝ\$ÙEèÝT$Ý$èJÄ��ƒìÝEØÝ\$ÝEÈÝT$Ý$è)Ä��ƒìÙEèÝT$Ý\$ÙèÙàÝ$èÄ��ƒìÙEèÝT$ÙèÙàÝ\$Ý$èýÃ��ÙèƒìÝ\$ÙEèÝT$Ý$èåÃ��ÝEȃìÝT$ÝT$Ý$èÇÃ��ƒìÙEèÝT$Ý\$ÙèÙàÝ$èµÃ��ÙèƒìÙàÝ\$ÙEèÝT$Ý$è›Ã��ƒìÙEèÝT$ÙèÙàÝ\$Ý$èÃ��ƒìÉé Ã��U‰åƒìX€=ü@Ýj�uÇD$‰0ÞjÇ$0ÞjèÍb��Ç$���èáÂ��Ý4ÞjƒìÝT$ÝT$Ý$Ý]Øè%Ã��ƒìÙîÝT$ÝT$ÙèÝ$Ù]èèÃ��ƒìÙEèÝT$ÙèÝ\$Ý$èûÂ��ƒìÙèÝ\$ÙEèÝT$Ý$èãÂ��Ý 4ÞjƒìÝT$ÝEØÝT$Ý$Ý]Èè¼Â��ƒìÙEèÝT$Ý\$ÙèÝ$è¬Â��ÙèƒìÙàÝ\$ÙEèÝT$Ý$è’Â��ƒìÙEèÝT$ÙèÝ\$Ý$èzÂ��ÝE؃ìÝT$ÝEÈÝ\$Ý$èYÂ��ƒìÙEèÝT$Ý\$ÙèÝ$èIÂ��ƒìÙèÝ\$ÙEèÝT$Ý$è1Â��ƒìÙEèÝT$ÙèÙàÝ\$Ý$èÂ��ÝEȃìÝT$Ý\$ÝEØÝ$èöÁ��ƒìÙEèÝT$Ý\$ÙèÝ$èæÁ��ƒìÙEèÝT$ÙèÙàÝ\$Ý$èÌÁ��ÙèƒìÙàÝ\$ÙEèÝT$Ý$è²Á��ƒìÝEØÝT$Ý\$ÝEÈÝ$è‘Á��ƒìÙEèÝT$Ý\$ÙèÙàÝ$èÁ��ƒìÙèÝ\$ÙEèÝT$Ý$ègÁ��ƒìÙEèÝT$ÙèÝ\$Ý$èOÁ��ÝEȃìÝT$ÝEØÝ\$Ý$è.Á��ƒìÙEèÝT$Ý\$ÙèÙàÝ$èÁ��ƒìÙEèÝT$ÙèÝ\$Ý$èÁ��ÙèƒìÙàÝ\$ÙEèÝT$Ý$èêÀ��ƒìÝEØÝ\$ÝEÈÝT$Ý$èÉÀ��ƒìÙEèÝT$Ý\$ÙèÙàÝ$è·À��ƒìÙEèÝT$ÙèÙàÝ\$Ý$èÀ��ÙèƒìÝ\$ÙEèÝT$Ý$è…À��ÝEȃìÝT$ÝT$Ý$ègÀ��ƒìÙEèÝT$Ý\$ÙèÙàÝ$èUÀ��ÙèƒìÙàÝ\$ÙEèÝT$Ý$è;À��ƒìÙEèÝT$ÙèÙàÝ\$Ý$è!À��ƒìÉéÀ¿��U‰åƒìH€=ü@Ýj�uÇD$œ0ÞjÇ$0Þjèm_��Ç$ ���è¿��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà?è´¿��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è¿��ÙèƒìÝT$ÝT$ÙèÙàÝ$Ù]ØÙ]èèp¿��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿èC¿��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è¿��ÙEèƒìÝT$ÝT$Ý$è�¿��ƒìè ¾��Ç$ ���脾��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà?è·¾��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è’¾��ƒìÙEØÝ\$ÙEèÝT$Ý$èy¾��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?èL¾��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è¾��ƒìÙEØÝT$ÙEèÝ\$Ý$è¾��ƒì覽��Ç$ ���芽��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà¿è½½��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è˜½��ÙEèƒìÝT$ÙEØÝ\$Ý$è½��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?èR½��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è%½��ÙEèƒìÝ\$ÙEØÝT$Ý$è ½��ƒì謼��Ç$ ���è¼��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà¿èü��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿èž¼��ƒìÙEØÝT$ÝT$Ý$舼��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è[¼��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è.¼��ƒìÙEØÝT$Ý\$ÙEèÝ$è¼��ƒìèµ»��Ç$ ���è™»��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë?èÌ»��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?è§»��ÙEèƒìÝT$ÙEØÝ\$Ý$莻��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?èa»��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è4»��ÙEèƒìÝT$ÝT$Ý$è»��ƒì辺��Ç$ ���袺��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë¿èÕº��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿è°º��ÙEèƒìÝT$Ý\$ÙEØÝ$è—º��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿èjº��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è=º��ÙEèƒìÝ\$ÙEØÝT$Ý$è$º��ƒìèĹ��Ç$ ���訹��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë?èÛ¹��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è¶¹��ƒìÙEØÝ\$ÙEèÝT$Ý$è¹��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?èp¹��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?èC¹��ƒìÙEØÝT$Ý\$ÙEèÝ$è*¹��ƒìèʸ��Ç$ ���许��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë¿èá¸��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è¼¸��ƒìÙEØÝT$ÝT$Ý$覸��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿èy¸��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿èL¸��ƒìÙEØÝT$ÙEèÝ\$Ý$è3¸��ƒìèÓ·��Ç$ ���è··��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà?èê·��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?èÅ·��ƒìÙEØÝ\$ÙEèÝT$Ý$謷��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è·��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?èR·��ÙEèƒìÝT$ÝT$Ý$è<·��ƒìèܶ��Ç$ ���èÀ¶��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà?èó¶��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?èζ��ÙEèƒìÝT$ÙEØÝ\$Ý$èµ¶��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿èˆ¶��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è[¶��ƒìÙEØÝT$Ý\$ÙEèÝ$èB¶��ƒìèâµ��Ç$ ���èÆµ��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà¿èùµ��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿èÔµ��ÙEèƒìÝT$Ý\$ÙEØÝ$軵��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?莵��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?èaµ��ƒìÙEØÝT$ÙEèÝ\$Ý$èHµ��ƒìèè´��Ç$ ���èÌ´��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà¿èÿ´��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿èÚ´��ƒìÙEØÝT$ÝT$Ý$èÄ´��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è—´��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿èj´��ƒìÙEèÝ\$ÙEØÝT$Ý$èQ´��ƒìÉéð³��U‰åƒìH€=ü@Ýj�uÇD$²0ÞjÇ$0ÞjèS��Ç$���è±³��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà?èä³��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?迳��ÙèƒìÝT$ÝT$ÙèÙàÝ$Ù]ØÙ]èè ³��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿ès³��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?èF³��ÙEèƒìÝT$ÝT$Ý$è0³��ƒìèв��Ç$���è´²��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà?èç²��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è²��ƒìÙEØÝ\$ÙEèÝT$Ý$該��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è|²��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿èO²��ƒìÙEØÝT$ÙEèÝ\$Ý$è6²��ƒìèÖ±��Ç$���躱��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë?ÇD$ZN¡ ÇD$ ÊÒà¿èí±��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿èȱ��ÙEèƒìÝT$ÙEØÝ\$Ý$诱��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?肱��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿èU±��ÙEèƒìÝ\$ÙEØÝT$Ý$è<±��ƒìèܰ��Ç$���èÀ°��ƒìÙîÝ$ÇD$ÛHF ÇD$ˆ8ë¿ÇD$ZN¡ ÇD$ ÊÒà¿èó°��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿èΰ��ƒìÙEØÝT$ÝT$Ý$踰��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿è‹°��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?è^°��ƒìÙEØÝT$Ý\$ÙEèÝ$èE°��ƒìèå¯��Ç$���èɯ��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë?èü¯��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã?èׯ��ÙEèƒìÝT$ÙEØÝ\$Ý$辯��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?葯��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?èd¯��ÙEèƒìÝT$ÝT$Ý$èN¯��ƒìèî®��Ç$���èÒ®��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà?Ç$ÛHF ÇD$ˆ8ë¿è¯��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù?Ç$í/7ÇD$ïÆã¿èà®��ÙEèƒìÝT$Ý\$ÙEØÝ$èÇ®��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿èš®��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿èm®��ÙEèƒìÝ\$ÙEØÝT$Ý$èT®��ƒìèô­��Ç$���èØ­��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë?è ®��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã?èæ­��ƒìÙEØÝ\$ÙEèÝT$Ý$èÍ­��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?è ­��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?ès­��ƒìÙEØÝT$Ý\$ÙEèÝ$èZ­��ƒìèú¬��Ç$���èÞ¬��ƒìÙîÝ\$ÇD$ZN¡ ÇD$ÊÒà¿Ç$ÛHF ÇD$ˆ8ë¿è­��ƒìÙîÝ\$ÇD$ö—›ÇD$wãù¿Ç$í/7ÇD$ïÆã¿èì¬��ƒìÙEØÝT$ÝT$Ý$èÖ¬��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è©¬��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿è|¬��ƒìÙEØÝT$ÙEèÝ\$Ý$èc¬��ƒìè¬��Ç$���èç«��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà?è¬��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù?èõ«��ƒìÙEØÝ\$ÙEèÝT$Ý$èÜ«��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?诫��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?è‚«��ÙEèƒìÝT$ÝT$Ý$èl«��ƒìè «��Ç$���èðª��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà?è#«��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù?èþª��ÙEèƒìÝT$ÙEØÝ\$Ý$èåª��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿è¸ª��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿è‹ª��ƒìÙEØÝT$Ý\$ÙEèÝ$èrª��ƒìèª��Ç$���èö©��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë?Ç$ZN¡ ÇD$ÊÒà¿è)ª��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã?Ç$ö—›ÇD$wãù¿èª��ÙEèƒìÝT$Ý\$ÙEØÝ$èë©��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù?辩��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù?è‘©��ƒìÙEØÝT$ÙEèÝ\$Ý$èx©��ƒìè©��Ç$���èü¨��ƒìÙîÝ\$ÇD$ÛHF ÇD$ ˆ8ë¿Ç$ZN¡ ÇD$ÊÒà¿è/©��ƒìÙîÝ\$ÇD$í/7ÇD$ ïÆã¿Ç$ö—›ÇD$wãù¿è ©��ƒìÙEØÝT$ÝT$Ý$èô¨��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã¿ÇD$ö—›ÇD$ wãù¿èǨ��ƒìÙîÝ$ÇD$í/7ÇD$ïÆã?ÇD$ö—›ÇD$ wãù¿èš¨��ƒìÙEèÝ\$ÙEØÝT$Ý$è¨��ƒìÉé ¨��U‰åƒìh€=ü@Ýj�Ù4ÞjÜMuÝ]èÇD$Ç0ÞjÇ$0ÞjèÁG��ÝEèÝ]èÇ$���èϧ��ÙîƒìÝT$ÝT$ÙèÝ$ÙÉÙ]ÈÙ]¸è¨��ÝEèƒìÙÀÙàÙÉÝT$ÙÉÝT$ÙÉÝ$Ý]Øèõ§��ƒìÝEØÝT$Ý\$ÝEèÝ$èܧ��ÝE؃ìÝ\$ÝEèÝT$Ý$èç��ƒìÝEèÝT$ÝT$Ý$è­§��ÙEȃìÝT$ÙE¸Ý\$Ý$茧��ƒìÝEèÝT$ÝT$Ý$è~§��ƒìÝEØÝ\$ÝEèÝT$Ý$èe§��ƒìÝEØÝT$ÝEèÝ\$Ý$èL§��ƒìÝEèÝT$Ý\$ÝEØÝ$è3§��ÙE¸ƒìÝ\$ÙEÈÝT$Ý$è§��ƒìÝEèÝT$ÝT$Ý$è§��ƒìÝEèÝT$Ý\$ÝEØÝ$èë¦��ƒìÝEèÝ\$ÝEØÝT$Ý$èÒ¦��ƒìÝEèÝT$ÝEØÝ\$Ý$蹦��ÙEȃìÝT$Ý\$ÙèÙàÝ$Ù]¸è”¦��ƒìÝEèÝ\$ÝEØÝT$Ý$胦��ƒìÝEèÝT$Ý\$ÝEØÝ$èj¦��ÝE؃ìÝT$ÝEèÝ\$Ý$èQ¦��ÝE؃ìÝT$ÝT$Ý$è;¦��ÙEȃìÝT$ÙE¸Ý\$Ý$è¦��ƒìÝEèÝ\$ÝEØÝT$Ý$è ¦��ÝE؃ìÝT$ÝT$Ý$èó¥��ÝE؃ìÝT$Ý\$ÝEèÝ$èÚ¥��ƒìÝEèÝT$ÝEØÝ\$Ý$èÁ¥��ÙE¸ƒìÝ\$ÙEÈÝT$Ý$è ¥��ÝE؃ìÝT$ÝT$Ý$è’¥��ÝE؃ìÝT$ÝEèÝ\$Ý$èy¥��ƒìÝEØÝ\$ÝEèÝT$Ý$è`¥��ÝE؃ìÝT$Ý\$ÝEèÝ$èG¥��ƒìèç¤��ÉÂ�v�U‰åƒìh€=ü@Ýj�Ù4ÞjÜMuÝ]èÇD$Õ0ÞjÇ$0ÞjèD��ÝEèÝ]èÇ$���è¤��ÙîƒìÝT$ÝT$ÙèÝ$ÙÉÙ]ÈÙ]¸èФ��ÝEèƒìÙÀÙàÙÉÝT$ÙÉÝT$ÙÉÝ$Ý]Øèµ¤��ƒìÝEØÝT$Ý\$ÝEèÝ$蜤��ÝE؃ìÝ\$ÝEèÝT$Ý$胤��ƒìÝEèÝT$ÝT$Ý$èm¤��ƒìè ¤��Ç$���èñ£��ÙEȃìÝT$ÙE¸Ý\$Ý$è8¤��ƒìÝEèÝT$ÝT$Ý$è*¤��ƒìÝEØÝ\$ÝEèÝT$Ý$è¤��ƒìÝEØÝT$ÝEèÝ\$Ý$èø£��ƒìÝEèÝT$Ý\$ÝEØÝ$èߣ��ƒìè£��Ç$���èc£��ÙE¸ƒìÝ\$ÙEÈÝT$Ý$誣��ƒìÝEèÝT$ÝT$Ý$蜣��ƒìÝEèÝT$Ý\$ÝEØÝ$胣��ƒìÝEèÝ\$ÝEØÝT$Ý$èj£��ƒìÝEèÝT$ÝEØÝ\$Ý$èQ£��ƒìèñ¢��Ç$���èÕ¢��ÙEȃìÝT$Ý\$ÙèÙàÝ$Ù]¸è£��ƒìÝEèÝ\$ÝEØÝT$Ý$è£��ƒìÝEèÝT$Ý\$ÝEØÝ$èî¢��ƒìÝEØÝT$ÝEèÝ\$Ý$èÕ¢��ÝE؃ìÝT$ÝT$Ý$è¿¢��ƒìè_¢��Ç$���èC¢��ÙEȃìÝT$ÙE¸Ý\$Ý$芢��ƒìÝEèÝ\$ÝEØÝT$Ý$èy¢��ÝE؃ìÝT$ÝT$Ý$èc¢��ƒìÝEØÝT$Ý\$ÝEèÝ$èJ¢��ƒìÝEèÝT$ÝEØÝ\$Ý$è1¢��ƒìèÑ¡��Ç$���赡��ƒìÙE¸Ý\$ÙEÈÝT$Ý$èü¡��ÝE؃ìÝT$ÝT$Ý$èî¡��ÝE؃ìÝT$ÝEèÝ\$Ý$èÕ¡��ƒìÝEØÝ\$ÝEèÝT$Ý$輡��ÝE؃ìÝT$Ý\$ÝEèÝ$裡��ƒìèC¡��ÉÂ�ë U‰åVSƒì€=ü@Ýj�„¯���Ç$���¾@=Ýj1Ûèø ��ƒìt&�‰4$ƒÆè-¡��‹ƒ`2Þj@Å`>Ýjƒì‰$è¡��‹ƒd2Þj@Å`>Ýjƒì‰$èÿ ��‹ƒh2Þj@Å`>Ýjƒì‰$èä ��‹ƒl2ÞjƒÃ@Å`>Ýjƒì‰$èÆ ��ƒìûÀ���…wÿÿÿeø[^]él ��ÇD$â0ÞjÇ$0Þjè(@��é8ÿÿÿv�U‰åVSƒì€=ü@Ýj�„¯���¾@=Ýj1Ût&�Ç$���è ��ƒì‰4$ƒÆèN ��‹ƒ`2Þj@Å`>Ýjƒì‰$è; ��‹ƒd2Þj@Å`>Ýjƒì‰$è  ��‹ƒh2Þj@Å`>Ýjƒì‰$è ��‹ƒl2ÞjƒÃ@Å`>Ýjƒì‰$èçŸ��ƒì蟟��ûÀ���…cÿÿÿeø[^]ÃÇD$ÿ0ÞjÇ$0ÞjèH?��é8ÿÿÿv�U‰åWVSƒìL€=ü@Ýj�„��Ç$���1Ûè<Ÿ��ƒì‹“ 3Þj‹ƒ$3Þj R‹“(3ÞjƒÃ ÝÍÈ?Ýj@ÝÅÈ?Ýj<Í����ØáÇÀ?ÝjR4Õ����ÝÍÐ?ÝjÝÕÐ?ÝjØáÙɉuÄ4Å����ÆÀ?ÝjÜ,ÅÐ?ÝjÙËÜ,ÕÈ?ÝjÙÂØÊÙÄØÊÞéÝ]ÐÝÍÀ?ÝjÝÕÀ?ÝjØáÙÉÜ,ÅÀ?ÝjÙÍEЉ$ØÉÙËØÍÞëÙÊÝ]ØÞËÞÉÞéÝ]àèÄž��ƒì‰<$èÁž��ƒì‰4$è¶ž��‹EÄÀ?Ýjƒì‰$裞��ƒìûð���… ÿÿÿèOž��eô[^_]ô&����ÇD$1ÞjÇ$0Þjèü=��éÍþÿÿ´&����U‰åWVSƒìL€=ü@Ýj�„��1Û‹“ 3Þj‹ƒ$3ÞjÇ$��� R‹“(3ÞjƒÃ ÝÍÈ?Ýj@ÝÅÈ?Ýj<Í����ØáÇÀ?ÝjR4Õ����ÝÍÐ?ÝjÝÕÐ?ÝjØáÙɉuÄ4Å����ÆÀ?ÝjÜ,ÅÐ?ÝjÙËÜ,ÕÈ?ÝjÙÂØÊÙÄØÊÞéÝ]ÐÝÍÀ?ÝjÝÕÀ?ÝjØáÙÉÜ,ÅÀ?ÝjÙÍØÉÙËØÍÞëÙÊÝ]ØÞËÞÉÞéÝ]àè:��EЃì‰$èt��ƒì‰<$èq��ƒì‰4$èf��‹EÄÀ?Ýjƒì‰$èS��ƒìè ��ûð���…÷þÿÿeô[^_]ô&����ÇD$01ÞjÇ$0Þjè¬<��éÍþÿÿ´&����U‰åƒì(€=ü@Ýj�uÇD$D1ÞjÇ$0Þjè}<��Ç$���葜��Ýð<ÝjƒìÙàÝ\$Ýè<ÝjÙàÝ\$Ýà<ÝjÙàÝ$èÆœ��ƒìÇ$ø<Ýjè§œ��ƒìÇ$(=Ýj蘜��ƒìÇ$=Ýj艜��Ý=ÝjƒìÙàÝ\$Ý�=ÝjÙàÝ\$Ýø<ÝjÙàÝ$ènœ��ƒìÇ$à<ÝjèOœ��ƒìÇ$=Ýjè@œ��ƒìÇ$(=Ýjè1œ��Ý =ÝjƒìÙàÝ\$Ý=ÝjÙàÝ\$Ý=ÝjÙàÝ$èœ��ƒìÇ$à<Ýjè÷›��ƒìÇ$(=Ýjèè›��ƒìÇ$ø<ÝjèÙ›��Ý8=ÝjƒìÙàÝ\$Ý0=ÝjÙàÝ\$Ý(=ÝjÙàÝ$è¾›��ƒìÇ$à<Ýj蟛��ƒìÇ$ø<Ýjè›��ƒìÇ$=Ýjè›��ƒìÉé8›��´&����U‰åƒì(€=ü@Ýj�uÇD$Y1ÞjÇ$0ÞjèÝ:��Ç$���èñš��Ýð<ÝjƒìÙàÝ\$Ýè<ÝjÙàÝ\$Ýà<ÝjÙàÝ$è&›��ƒìÇ$ø<Ýjè›��ƒìÇ$(=Ýjèøš��ƒìÇ$=Ýjèéš��Ý=ÝjƒìÙàÝ\$Ý�=ÝjÙàÝ\$Ýø<ÝjÙàÝ$èΚ��ƒìÇ$à<Ýj诚��ƒìÇ$=Ýjè š��ƒìÇ$(=Ýj葚��Ý =ÝjƒìÙàÝ\$Ý=ÝjÙàÝ\$Ý=ÝjÙàÝ$èvš��ƒìÇ$à<ÝjèWš��ƒìÇ$(=ÝjèHš��ƒìÇ$ø<Ýjè9š��Ý8=ÝjƒìÙàÝ\$Ý0=ÝjÙàÝ\$Ý(=ÝjÙàÝ$èš��ƒìÇ$à<Ýjèÿ™��ƒìÇ$ø<Ýjèð™��ƒìÇ$=Ýjèá™��ƒìÉ阙��´&����U‰åWV‰ÖS‰Ã‰Èƒì<Áø‰Ç1Ï)Ç…É…¤���Ý(4ÞjÝ]ØW‰T$‰UÈÇ$���è1œ��‹Uȉ‰T$Ç$���èœ��‰‹…Ò‰Uàty…Àtu‹UàÙîƒÿ‹6ÝÙèÝ~:»���¶����‰]äÛEäÜMØÝ$Ý]Èèì›��‹EàÝØÝEÈÝ$èÓ›��ÝÞƒÃ9ûuÑ‹UàÝÝúÝÝþƒÄ<[^_]ÉMäÛEäÜ=(4ÞjÝ]ØéQÿÿÿ‹Eà‰$èM›��‹‰$èC›��Ç$p1Þjèg8��‹‰]àé`ÿÿÿ¶����¼'����U‰åWVSƒìl‹uÝEÝ]È‹]ÝE…ö‰ðÝ]°Ž¥��‰EÔÛEÔÜ}°€=ü@Ýj�Ý]¨„s��‰Ù÷ÙUàEäè£þÿÿ…öˆ«���ÇE¼����Ùî9u¼Ý]À„‹���¶����Ç$���èô—��ƒì…Û~R1ÿ‹EäÙîÝ\$Ýø‹EàÝ\$ÝøÝ$è-˜��‹EäƒìÝEÀÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$è ˜��ƒì9û°è¦—��ƒE¼;u¼|ÝEÀÜE¨9u¼Ý]À…{ÿÿÿÝE°Ý]ÀépÿÿÿÇ$���èd—��ƒì…Û~y1ö‹EäÙîÝ\$Ýð‹EàÝ\$ÝðÝ$è—��‹EäƒìÙîÝ\$ÝEÈÜ ð‹EàÝ\$ÝEÈÜ ðÝ$è~—��‹EäƒìÝE°Ý\$ÝEÈÜ ð‹EàÝ\$ÝEÈÜ ðƒÆÝ$èS—��ƒì9ó‰èï–��‹Eä‰$è„™��‹Eà‰$èy™��eô[^_]Â�ÇD$œ1ÞjÇ$0Þjè‹6��étþÿÿ¸���éQþÿÿ¶����¿����U‰åWVSìŒ���‹]ÝE€=ü@Ýj�Ý]È‹uÝEÝ]¨„$��‰Ù÷ÙUàEäèÖüÿÿÇ$���èJ–��ÙèƒìÙàÝ\$ÙîÝT$Ý$Ù]ˆèŽ–��ƒìÙEˆÝT$ÝT$Ý$耖��ƒì…ÛÙEˆˆâ��ÝØ1ÿ¶����Ùî‹EäÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$èA–��ƒì9û}ÒèÝ•��<Ý����Ç$���躕��ƒìÙèÝ\$ÙîÝT$Ý$è–��ƒìÝE¨Ý\$ÙîÝT$Ý$èó•��‰]Àƒìt&�‹EäÝE¨Ý\$ÝEÈÜ 8‹EàÝ\$ÝEÈÜ 8ƒïÝ$èÀ•��ƒìƒmÀyÏèZ•��…öŽá���‰uÔÛEÔÜ}¨ÇE´���9u´ÝU Ý]ÀÙîÝ]¸„²���Ç$���è•��ƒì…Ûxz1ÿÙî‹EäÝ\$Ýø‹EàÝ\$ÝøÝ$èK•��‹EäƒìÝE¸Ý\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øÝ$è+•��‹EäƒìÝEÀÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$è�•��ƒì9û}ˆèœ”��ƒE´;u´|"ÝEÀÝU¸ÝE ÞÁ9u´Ý]À…NÿÿÿÝE¨Ý]ÀéCÿÿÿ‹Eä‰$è—��‹Eà‰$èû–��eô[^_]Â�ÇD$­1ÞjÇ$0Þjè 4��éÃýÿÿÙ]ˆè0”��Ç$���è”��ÙèPÝ\$ÙEˆÝT$Ý$è^”��ƒìÝE¨Ý\$ÙEˆÝT$Ý$èM”��ƒìéŽþÿÿ¶����¼'����U‰åWVSìŒ���‹u€=ü@Ýj�ÝEÝ]Ћ]„³��‰ñ÷ÙUàEäèúÿÿ UØEÜèúÿÿƒûŽ¥���ÇE´���‹EØ‹U´ÝЋEÜÝ]ÀÝÐÝ]ÈÇ$���è]“��ƒì…öxdÝEÀ1ÿÜMÐÝ]¸‹EàÝø‹EäÝøƒÇÝEÀÝ\$ÝT$ÙÉÝ$Ý]˜Ý]¨è“��ƒìÝE¸Ý\$ÝE¨ÜMÈÜMÐÝ\$ÝE˜ÜMÈÜMÐÝ$èa“��ƒì9þ}§èý’��ƒE´;]´bÿÿÿ…öŽª���ÇEÈ����Ç$���èÄ’��ƒì…Ûx}‹EÈ1ÿÁàt&�‹U܉E”Ýú‹UàÝØÉÙÉ‹UäÜ ‹UØÝúƒÇÝT$ÙÉÝT$ÙÊÝ$Ý]˜ÙÉÝ]¨Ý]ˆèÏ’��ÝEˆƒìÜMÐÝ\$ÝE¨ÜMÐÝ\$ÝE˜ÜMÐÝ$è²’��‹E”ƒì9û}èK’��ƒEÈ;uÈ^ÿÿÿ‹Eä‰$èÓ”��‹Eà‰$èÈ”��‹E܉$è½”��‹E؉$è²”��eô[^_]Â�ÇD$¿1ÞjÇ$0ÞjèÄ1��é4þÿÿë U‰åWVSìŒ���‹]€=ü@Ýj�ÝEÝ]È‹u„4��‰Ù÷ÙUàEäèøÿÿEÜ 6UØèøÿÿ…ö‹EØŽ%��‹UÜÝ@¸���Ý]ÀÝÝ]ÐÇ$���èc‘��ƒìÙèÝ\$ÙîÝT$Ý$Ù]ˆè©‘��ƒìÝEÈÝ\$ÙEˆÝT$Ý$蘑��ƒì…ÛxxÝEÀ<Ý����ÜMȉ]¸Ý]°¶����‹EäÝEÀÝ\$ÝEÐÜ 8‹EàÝ\$ÝEÐÜ 8Ý$èK‘��‹EäƒìÝE°Ý\$ÝEÐÜ 8‹EàÜMÈÝ\$ÝEÐÜ 8ƒïÜMÈÝ$è"‘��ƒìƒm¸y¡ƒîè¹��ƒþ‰u Ž9��ÝEÀ¿���Ý]¸ÇE¤���‹EØÝ8‹EÜÝ]ÀÝ8Ý]ˆÇ$���èm��ƒì…ÛÝEˆˆÐ���ÝEÀ1öÜMÈÝ]°ÝE¸ÜMÈÝ]¨‹EäÝEÀÝ\$ÝðØÉ‹EàÝ\$ÝðØÉÝ$Ý]ˆè…��‹EäƒìÝE°Ý\$ÝEˆÝðØÉ‹EàÜMÈÝ\$ÝðÞÉÜMÈÝ$è^��‹EäƒìÝE¸Ý\$ÝEÐÜ ð‹EàÝ\$ÝEÐÜ ðÝ$è.��‹EäƒìÝE¨Ý\$ÝEÐÜ ð‹EàÜMÈÝ\$ÝEÐÜ ðƒÆÜMÈÝ$è��ƒì9óÝEˆDÿÿÿÝ]ˆƒÇè”��‹E ƒE¤9E¤ÝEˆ}Ý]ÐÝEÀÝ]¸éÜþÿÿÝ]ÐÇ$���èX��ÙèƒìÙàÝ\$ÙîÝT$Ý$Ù]ˆèœ��ÝEȃìÙàÝ\$ÙEˆÝT$Ý$è‰��ƒì…ÛxhÝEÀ1öÜMÈÝ]°‹EäÝEÀÝ\$ÝEÐÜ ð‹EàÝ\$ÝEÐÜ ðÝ$èJ��‹EäƒìÝE°Ý\$ÝEÐÜ ð‹EàÜMÈÝ\$ÝEÐÜ ðƒÆÜMÈÝ$è!��ƒì9ó}£è½Ž��‹Eä‰$èR‘��‹Eà‰$èG‘��‹E܉$è<‘��‹E؉$è1‘��eô[^_]Â�ÇD$Î1ÞjÇ$0ÞjèC.��é³üÿÿÝ�1ÀÝ]À‹UÜéÚüÿÿë U‰åWVSì¼���€=ü@Ýj�ÝEÝEÝ]Єî��‹M…ÉŽ��‹]‹UƒÃ…Ò4[Ž��‹EƒÀ‰E¸¯u¸Ý]ˆÇ$���‰t$èÏ��‰t$Ç$���‰E¤è¼��‰E èŽ��[‹}¤Áà‰EÜ‹E ‰]àÇE¼����ÛE‰ÃÜ=(4ÞjÝ]°ÛEÜ=04ÞjÝ]ÈÙîÙÀÙèÙÊÝ]ÀÝEˆv�Ùî1öÙÀ1ÀÙèëkt&�ÜEȉ…dÿÿÿÝ$ÝXÿÿÿÙÊÝxÿÿÿÝhÿÿÿÝ]ˆè@��Ý…XÿÿÿÝ$ÝHÿÿÿè4��‹…dÿÿÿÝ…HÿÿÿÝ…XÿÿÿÝ…xÿÿÿÝ…hÿÿÿÝEˆÙËÙÊÙÍÙÉÙÌÙÃÀØÉÜEÐÙÀØÏÝ7ØÍÝ\7ÙÃØÊÝ\7ÙÅØÉÝ3ØÌÝ\3Ý\3ƒÆ;EàŒ]ÿÿÿÝØÝÙÝÙƒE¼‹U¸}Ü]Ü9U¼}9ÝEÀÜE°ÝUÀÝ$Ý]ˆè™��ÝEÀÝ$Ýxÿÿÿè��Ý…xÿÿÿÝEˆÙÉÙÊÙÉéüþÿÿÝØ‹]àÇ$���èkŒ��‹U ÇE¬����[ÁàÂE¤ƒì‰UȉEÐÇE¨����¶����‹E¤1Û1ÿ‹U¬‹u u¬‰Uà‹UÈF‰E¸‹EЃÂ‰U¼‹UàƒÀ‰EÀƒÂ‰U°‰4$ƒÇèFŒ��‹Eàƒì‰$è=Œ��‹E¸؃ì‰$è%Œ��‹E°؃ì‰$èŒ��‹E¼؃ì‰$èŒ��‹EÀ؃ì‰$èý‹��‹EÈ؃ì‰$èå‹��‹EÐ؃ì‰$èÝ‹��uÜ]܃ì9}rÿÿÿƒE¨‹E¨ƒE¬9E~‹UÀ‹E¼‰UЉEÈéÿÿÿèe‹��‹E¤‰$èú��‹U ‰$èï��è’‹��eô[^_]Â�Ý]ˆÇD$Þ1ÞjÇ$0Þjèù*��‹M…ÉÝEˆøüÿÿ‹U¾���»���ÇE���…ÒðüÿÿÇE¸���ÇE���éæüÿÿ¶����¿����U‰åWVSì¬���‹]€=ü@Ýj�ÝEÝEÝ]Є‹��…Û4[Ž¥��‹}…ÿޝ��¯uÝ]˜Ç$���‰t$èn��‰t$Ç$���‰E¸è[��‰E´è£Š��[‹}¸‰]äÁà‰EÜ‹E´‰]àÇE¼����ÛE‰ÃÜ=(4ÞjÝ]¨ÛEäÜ=04ÞjÝ]ÈÙîÙÀÙèÙÊÝ]ÀÝE˜Ùî1öÙÀ1ÀÙèëdv�ÜEȉ…tÿÿÿÝ$ÝhÿÿÿÙÊÝ]ˆÝxÿÿÿÝ]˜èãŒ��Ý…hÿÿÿÝ$ÝXÿÿÿè׌��‹…tÿÿÿÝ…XÿÿÿÝ…hÿÿÿÝEˆÝ…xÿÿÿÝE˜ÙËÙÊÙÍÙÉÙÌÙÃÀØÉÜEÐÙÆØÉÝ7ØÍÝ\7ÙÃØÊÝ\7ÙÅØÉÝ3ØÌÝ\3Ý\3ƒÆ9EàcÿÿÿÝØÝÙÝÙƒE¼‹E¼}Ü]Ü9E~3ÝEÀÜE¨ÝUÀÝ$Ý]˜è?Œ��ÝEÀÝ$Ý]ˆè9Œ��ÝEˆÝE˜ÙÉÙÊÙÉé ÿÿÿÝØ‹]àÇEÐ����ÇEà����‰]ÈfÇ$���1Ûè‰��‹}´‹u¸}àuàƒìv�‰<$ƒÃè-‰��ƒì‰4$è*‰��}Üu܃ì9]Üè׈��ƒEЋEЃEà9Eȧ‹]ÈÇEÐ����ÇEÈ����‰]àv�Ç$���1öè’ˆ��‹]´‹}¸]Ð}Ѓìv�‰$ƒÆƒÃ躈��ƒì‰<$ƒÇè´ˆ��ƒì9uàÜègˆ��‹E܃EÈEЋEÈ9E¥‹E¸‰$èêŠ��‹E´‰$èߊ��肈��eô[^_]Â�Ý]˜ÇD$í1Þj4[Ç$0Þjèæ'��…ÛÝE˜[ýÿÿ‹}¾���»���…ÿQýÿÿÇE���éEýÿÿv�¼'����U‰åWVSì¬���‹uÝEÝ]¨‹]ÝE…ö‰ðÝ] ŽX��‰EÔÛEÔÝE ØñÝ]ˆÜ}¨Ý]ÝE ØÈÝE¨ØÈÞÁÙÀÙúÙÀÝàßàžzt,ÝØÙÉëÝØÙÉÝ$ÝhÿÿÿÛ½xÿÿÿècŠ��Û­xÿÿÿÝ…hÿÿÿÙÊÜ} Ý]¸ÝàßàžztÝØëÝØÝ$è8Š��ëÝÙ€=ü@Ýj�ÝE¨Þñ„¥��‰Ù÷ÙUàEäÝxÿÿÿè…íÿÿ…öÝ…xÿÿÿŽº���ÝE¨Ý]ÈÙîÝ]ÀÇE´����Ý]˜fÇ$���èÔ†��ƒì…Û~h1ÿÝE˜‹EäÝE¸Ý\$ÝøØÉ‹EàÝ\$ÝøØÉÝ$Ýxÿÿÿèÿ†��‹EäƒìÝEÀÝ\$ÝEÈÜ ø‹EàÝ\$ÝEÈÜ øƒÇÝ$è܆��ƒì9ûÝ…xÿÿÿŸÝØèp†��ƒE´;u´~ÝEÀÜEˆÝ]ÀÝEÈÜeÝ]Èé`ÿÿÿÝE˜ÝxÿÿÿÇ$���è+†��ƒì…ÛÝ…xÿÿÿŽ~���1ö‹EäÝE¸Ý\$ÝðØÉ‹EàÝ\$ÝðØÉÝ$ÝxÿÿÿèO†��‹EäƒìÙîÝ\$ÝE¨Ü ð‹EàÝ\$ÝE¨Ü ðƒÆÝ$è-†��ƒìÝE Ý\$ÙîÝT$Ý$è†��ƒì9óÝ…xÿÿÿˆÝØëÝØè¥…��‹Eä‰$è:ˆ��‹Eà‰$è/ˆ��eô[^_]Â�ÝxÿÿÿÇD$û1ÞjÇ$0Þjè;%��Ý…xÿÿÿé6þÿÿ¸���éžýÿÿ¶����U‰åWVSìÌ���‹]ÝEÝEÝU‹uÙÀÞÉÙÁØÊÞÁÙÀÙúÙÀÝàßàžztBÝØÙÉëÝØÙÉÝ$ÙÊÝXÿÿÿÙÉÝhÿÿÿÛ½Hÿÿÿèì‡��Û­HÿÿÿÝ…hÿÿÿÝ…XÿÿÿÙËÙÉÙÊÙÉÜ}Ý]°ÝàßàžztÝØëÝØÝ$ÝXÿÿÿ诇��Ý…XÿÿÿÙÉëÝÙØù€=ü@Ýj�Ý] „���‰Ù÷ÙUàEäÝXÿÿÿèôêÿÿÇ$���èh„��ÙèƒìÙàÝ\$ÙîÝT$Ý$Ùhÿÿÿè©„��ƒìÙ…hÿÿÿÝT$ÝT$Ý$蘄��ƒì…ÛÝ…Xÿÿÿx;1ÿ‹EäÙîÝ\$ÝøØÉ‹EàÝ\$ÝøƒÇØÉÝ$ÝXÿÿÿè]„��ƒì9ûÝ…Xÿÿÿ}ÈÝXÿÿÿèíƒ��~ÿ…ÿÝ…XÿÿÿŽr��…öŽ`��‰uÔÛEÔÝEØñÇEœ����ÝU€ÙÉØúÝUˆØêÝ]ÈÙÉÝ]ÀÝ]¸ÙîÝ]¨¶����Ç$���脃��ƒì…Ûˆ˜���1öÝE t&�‹EäÝE°Ý\$ÝðØÉ‹EàÝ\$ÝðØÉÝ$Ýhÿÿÿ觃��‹EäƒìÝE¨Ý\$ÝEÀÜ ð‹EàÝ\$ÝEÀÜ ðÝ$臃��‹EäƒìÝE¸Ý\$ÝEÈÜ ð‹EàÝ\$ÝEÈÜ ðƒÆÝ$è\ƒ��ƒì9óÝ…hÿÿÿsÿÿÿÝØèì‚��ƒEœ;}œ~ÝE¸ÝU¨ÝEÈÝUÀÝEˆÞéÝ]ÈÜE€Ý]¸é$ÿÿÿÝEÈÝXÿÿÿÇ$���蟂��‹EäƒìÝE°Ý\$ÝE Ü‹EàÝ\$ÝE ÜÝ$èÙ‚��ƒì…ÛÝ…Xÿÿÿޏ���¾���1ÿ‹EäÝE¸Ý\$ÝøØÉ‹EàÝ\$ÝøƒÇØÉÝ$ÝXÿÿÿ蜂��ƒìÝEÝ\$ÙîÝT$Ý$è„‚��‹EäƒìÝE°Ý\$ÝE Ü 0‹EàÝ\$ÝE Ü 0Ý$èT‚��‹EäƒìÝE¸Ý\$Ý…XÿÿÿÝ0ØÉ‹EàÝ\$Ý0ƒÆÞÉÝ$è-‚��ƒì9ûÝ…XÿÿÿTÿÿÿÝØëÝØè¹��‹Eä‰$èN„��‹Eà‰$èC„��eô[^_]Â�ÝXÿÿÿÇD$2ÞjÇ$0ÞjèO!��Ý…XÿÿÿéÛüÿÿ¾���é–ýÿÿÙîÝ]¸éŸþÿÿU‰åW‰×VS¶€ù+t@€ù-¾���tFQÐ1Û€ú w›¾ÉƒÀ\QжQЀú vèƒþÿ‰u÷Û‰Ø[^_]Ãt&�ƒÀ¾���¶ë½v�ƒÀ¾ÿÿÿÿ¶ë­v�U‰å‹E ‹U…À‰à@Ýj£ä@Ýjx…Òx Æè@Ýj]Â�Æè@Ýj�]Â�´&����¼'����U‰å‹E ‹U…À‰ì@Ýj£ð@Ýj~…Ò~ Æô@Ýj]Â�Æô@Ýj�]Â�´&����¼'����U‰å‹E]£ø@ÝjÂ�U‰å‹E£lAÝj‹E ]£pAÝjÂ�‰ö¼'����U‰å‹E]£tAÝjÂ�U‰å‹E]£xAÝjÂ�U‰åWVSƒì,‹u‰4$è ƒ��‰Ã@‰$诂��‰\$‰t$‰Eà‰$èô‚��‹EàÆ�1ÛÇD$@4Þj‰$èó‚��ÇEä����…À‰Ætz¶����ÇD$C4Þj1Û‰4$辂��‰ÇëƒÃƒû%t)‹€8Þj‰|$‰4$‰D$裂��…Àu݃û%wfÿ$€4Þj‰t$Ç$L4Þjè¹��ÇD$@4ÞjÇ$����èu‚��…À‰Æu‹]ä‹Eà‰$èá��‰ø@ÝjƒÄ,[^_]Â�Mä���뿃Mäë¹Mä€���ë°ƒMä몃Mä뤃Mä ëžMä���ë•Mä���댃Mä놃Mä뀉ö¼'����U‰åSƒì€=ü@Ýj�„<��¡ÀÁÞj…Àt‰$è[��ÇÀÁÞj����èÌ]��‹ AÝj…ÛtJf‰\$Ç$ AÝjè W��‰$è(��‹ AÝj…ÛuÞ‹(AÝj…Ût&t&�‰\$Ç$(AÝjèpW��‰$èø€��‹(AÝj…ÛuÞ€=`AÝj�…‘��€=aAÝj�…–��Æ`AÝj�ÆaAÝj�ÇlAÝj���ÇpAÝj����ÇtAÝj����ÇxAÝj����Æü@Ýj�Çà@ÝjÿÿÿÿÇä@ÝjÿÿÿÿÆè@Ýj�Çì@Ýj,��Çð@Ýj,��Æô@ÝjÇø@Ýj���Ç�AÝj���ÆAÝj�ÆAÝj�ÆAÝj�ÆAÝj�ÇTAÝj����ÇXAÝj����ÇAÝj���Ç AÝjÿÿÿÿÇ@AÝj€��ÇDAÝjà��ÇLAÝj���ÇPAÝjH���Ç$ AÝjèåU��Ç$(AÝjèÙU��¡\AÝjÇ0AÝj����Ç8AÝj����Ç<AÝj����…ÀÇAÝj����ÇAÝj����ÇAÝj����t‰$è|��Ç\AÝj����Ç$���è6~��‹]üÆü@Ýj�ƒìÉô&����è«��€=aAÝj�„jþÿÿèy��é`þÿÿt&�Ç$5ÞjèÔ��‹]üÉÃë U‰åƒìÉé„ýÿÿt&�U‰åWVSƒìl‹E€=ü@Ýj�‹U ‹�‰E¬…��…Àt…Òt‹…Àv�t €8�…���‰U èT��èX-��Ç$µ5Þj£AÝjè/��‹U …Àt*Mä‰L$ÇD$¾5Þj‰$èÁ~��‹Eä‹U …ÀŽ|��£AÝj‰U Ç$Á5Þjèï~��‹U ƒ}¬ÇE¨����Ž›���»���‰U´ë,ƒÃ9]¬Ž��‹E‹M´ƒ(ÇD™ü����Ç™����ƒÃ9]¬~b‹E´¿É5Þj¹ ���˜‰E°‹�‰Æó¦t¹¹ ���‰Æ¿6Þjó¦…†���ƒÃ9]¬ŽØ��‹U´š‹ÇDšü����ƒÃÇ�����‹E‰M¨ƒ(9]¬ž‹U´‹E¿���¾���ƒ8ŽÆ���f‹²NŠ…ÛtëƒÁ‹ƒÀ‰Î…Ûtò9÷t‰º‹MƒÇ99Ž‘���ƒÆëÈ¿U6Þj¹���‰Æó¦u=‹ �AÝj…É„b��‹E°‹UÇ�AÝj���Ç�����ƒ*éÿÿÿÇ$Ô5ÞjèP��éÞþÿÿ¿¥6Þj¹ ���‰Æó¦…��ƒ=�AÝj„¡��‹M°‹EÇ�AÝj����Ç����ƒ(é·þÿÿÇ$����]¸èý~��ƒì£ìÁÞj‰\$ÇD$Æ6Þj‰$è¹}��ƒì f…À„��Ç$����è©}��ƒì£ŒÂÞjÇ$���è•}��ƒì£ÂÞjè}��‰Æ‰$èŽ}��ƒì‰ÃÇD$���‰$è {��ƒì£”ÂÞjÇD$���‰$èñz��ƒì£˜ÂÞj‰\$‰4$èU}��ƒìÇ$���èöz��Æü@Ýjƒìèÿ��‹E¨…À„ð���‹E¨¶„Ò„Î���€ú=„]��€ú-t.€ú+t)1ö1Û€úxt;‹E¨UàèÏ÷ÿÿ‹Mà9M¨„›���‰Æ¶³ë‹M¨1ö1Û€úXt €úxÇE´����u#‰M¨‹}¨UàƒÇ‰øè÷ÿÿ‹Mà9Ït`‰E´¶ƒË€ú-…»��ƒÁ}à‰È‰ú‰M°èd÷ÿÿ‹Mà9M°t4÷؃ˉE°¶ƒË€ú-…Ã��ƒÁ‰ú‰È‰M è6÷ÿÿ‹Uà‹M 9Ñ…��Çì@Ýj����Çð@Ýj����eô[^_]Â�Ç$6Þjè.��éýÿÿ¿¯6Þj¹���‰Æó¦u‹E°‹UÆAÝjÇ�����ƒ*é©üÿÿ¿·6Þj‰Æ¹ ���ó¦„Ê��¿À6Þj¹���‰Æó¦…üÿÿ‹U°‹MÆAÝjÇ����ƒ)éfüÿÿ1À¹ ���‰ßó«¡ìÁÞjÇE¼à®ÜjÇD$Ï6Þj‰Eȉ$è™{��ÇE¸#���ƒì…À‰EÌ„:��ÇD$���Ç$����è {��ÇEÔ����ÇEØ����ÇEÜÆ6Þjƒì‰EЉ$èE{��ƒìf…À…dýÿÿÇD$Ù6ÞjÇD$ç6ÞjÇ$7Þjè��éCýÿÿÇ$`6Þjè ��éüÿÿ‰U Ç$X5Þjèø��‹M‹U ‹éÜúÿÿ1À€ú+ÇE°����„a��„Ò…yþÿÿöÃt ‹U°‰à@ÝjöÃt£ä@ÝjöÄ«���öÃt‹M´‰M¤‹E¤‰5ì@Ýj£ð@Ýj‰Øƒà ƒø uÆô@ÝjöÃt¡ŒÂÞjà@Ýj+ì@Ýj£à@Ýj‰Øƒãƒà …Àt¡ÂÞjä@Ýj+ð@Ýj£ä@Ýjƒû…üýÿÿÆè@Ýjeô[^_]Â�ÇAÝjˆ��ézúÿÿ‹M°‹EÆAÝjÇ����ƒ(é°úÿÿ1ööÃ…OÿÿÿéPÿÿÿ‰U ‰$èªx��‹U …À£\AÝj…åùÿÿÇ$„5ÞjèÎ��‹U éÑùÿÿ¶����ƒÀ‰E¨¶é•üÿÿ1À€ú+…ÎþÿÿƒÁ‰ú‰È‰M èhôÿÿ‹Uà‹M 9ÑuAé1ýÿÿÇ$`6Þjè}��éNûÿÿƒÁ}à‰È‰ú‰M¬è6ôÿÿ‹Mà9M¬‰E°…Óüÿÿéúüÿÿ÷ØƒË ƒË¶éiþÿÿÇD$��Ç$����è6y��RR‰EÌé¨ýÿÿt&�U‰åƒì‹E£ÀÞj‹E ‰D$‹E‰$èÐøÿÿƒìÉ �U‰åSƒì€=aAÝj�tX‹ ÀÞj…Ût=C‰D$‹‰$èz��Cƒì‰D$‹‰$èùy��‹ƒì‰$è´y��ƒì‰$èiw��Ç ÀÞj����ÆaAÝj�‹]üÉÃv�U‰Á‰å1ÀƒìH…ɈUät+Eô‰D$ EäÇD$����ÇD$���‰D$‹‰$è_y��ƒìÉÃfU‰åìˆ���€=aAÝj�‰]ô‰uø‰}üt ‹]ô‹uø‹}ü‰ì]ÃÇ$ 9Þjèdw��…À„g��U¬1ÉÇ ����ƒÁƒùrñÇE¬���ÇD$����ÇD$€���ÇD$���ÇD$ ����ÇD$����ÇD$���À‰$‰U¤èÎx��ƒì…À‰Æ„õ���Ç$4���èuv��¹ ���‰Ã1À‰ßó«C‰3‰4$‰D$èŸx��Cƒì‰4$‰D$è•x��‹U¤ÇE¬���ƒì‰T$Ç$V9Þjè€x��‹U¤ƒì‰T$‰4$èvx��EÈÇEÈ����ÇEÌ����ÇEÔ����ÇEÐ���ÇEØ���ƒì‰4$‰D$èIx��‹ƒì‰$èLx��º ���‰Ø‰ ÀÞjƒìè_þÿÿÇD$����ÇD$МÜjÇ$ ���ècÿÿ‹]ô‹uø‹}üÆaAÝjƒì ‰ì]ÃÇ ÀÞj����éxþÿÿEÜÇEä���ÇEà���‰D$ÇD$29ÞjÇ$��€èÔw��ƒì …À…DþÿÿEä‰D$Eà‰D$ ‹EÜÇD$@ÀÞjÇD$����ÇD$D9Þj‰$è w��ƒì…Àt‹E܉$è–w��ƒìéùýÿÿ‹E܉$èƒw��¸@ÀÞjƒìéþÿÿ¶����U‰åƒìèµýÿÿ‹ ÀÞj1À…Òt 1À€=aAÝj�•ÀÉÃt&�¼'����U‰åƒì(‰]ô‹]‰uø‹u ‰}ü‹»˜���…ÿt‰$èYe��‹F‹P‰T$‹�‰$ÿ׉t$‰$ÇD$pœÜjètK��‹]ô‹uø‹}ü‰ì]ô&����U‰åWVSƒìL¡ ÀÞj…ÀtVuà]ç}Ðt&�ÇD$����‰t$ ÇD$���‰\$‹�‰$è~v��ƒì…Àu'ÇD$����ÇD$МÜjÇ$���è«}ÿÿƒì eô[^_]Ã}àuÓ¡€AÝj¶Uç…À~4ƒø„Ä���ƒøtO…Àuƒê0‰dÁÞjÇ€AÝj���¡ ÀÞj…À…kÿÿÿë’JЃùvăú „ ���¡ ÀÞj‹�‰$èñu��ƒìëÌt&�¡`ÁÞj Ðf…À£`ÁÞjy -���£`ÁÞj‹dÁÞjÆEØ�‰}ÜÇ$pœÜj‰•@ÁÞjiÀh��ƒÂ‰UЉÂÁúÁêÁø‰EÔE؉D$èAK��Ç€AÝj����éZÿÿÿfÁâ‰`ÁÞjÇ€AÝj���é@ÿÿÿ¡ ÀÞj²PÆaAÝjÇ€AÝj����èkûÿÿ¡ ÀÞjºÿ���è\ûÿÿ¡ ÀÞjºÿ���èMûÿÿé�ÿÿÿU‰åƒì€=ü@Ýj�uÇD$`9ÞjÇ$|9Þjè��‹E‹M‹U ‹…€ÁÞj‰Œ|��ÉÃt&�U‰åƒì€=ü@Ýj�uÇD$¼9ÞjÇ$|9Þjè]��‹E‹U ‹…€ÁÞjÙ„|��Éô&����U‰åƒì€=ü@Ýj�uÇD$Ö9ÞjÇ$|9Þjè��‹E‹M‹U ‹…€ÁÞj‰Œ\��ÉÃt&�U‰åƒì€=ü@Ýj�uÇD$î9ÞjÇ$|9ÞjèÝ��‹E‹U ‹…€ÁÞjÙ„\��Éô&����U‰åƒì€=ü@Ýj�uÇD$:ÞjÇ$|9Þjè��‹E‹…€ÁÞj¶€Ð��ÉÃv�¼'����U‰åƒì€=ü@Ýj�uÇD$:ÞjÇ$|9Þjè]��‹E‹…€ÁÞj‹€X��ÉÃt&�¼'����U‰åƒì€=ü@Ýj�uÇD$7:ÞjÇ$|9Þjè��‹E‹…€ÁÞj‹€T��ÉÃt&�¼'����U‰åƒì€=ü@Ýj�uÇD$N:ÞjÇ$|9ÞjèÝ ��‹E‹…€ÁÞj‹T��œ��‰D$‹E Áâ‰T$‰$èêp��ÉÃU‰åƒì€=ü@Ýj�uÇD$d:ÞjÇ$|9Þjè ��‹E‹…€ÁÞj‹T��¼��‰D$‹E Áâ‰T$‰$èšp��ÉÃU‰åƒì€=ü@Ýj�uÇD$|:ÞjÇ$|9Þjè= ��‹E‹…€ÁÞj‹T��Ü��‰D$‹E Áâ‰T$‰$èJp��ÉÃU‰åƒì€=ü@Ýj�uÇD$”:ÞjÇ$|9Þjèí ��‹E‹…€ÁÞjœ��‹€T��‰$Áà‰D$‹E ‰D$èùo��ÉÃë U‰åƒì€=ü@Ýj�uÇD$ª:ÞjÇ$|9Þjè ��‹E‹…€ÁÞj¼��‹€T��‰$Áà‰D$‹E ‰D$è™o��ÉÃë U‰åƒì€=ü@Ýj�uÇD$Â:ÞjÇ$|9Þjè- ��‹E‹…€ÁÞjÜ��‹€T��‰$Áà‰D$‹E ‰D$è9o��ÉÃë U‰åWVSìœ���‹M…É„€��‹E‹P|…Ò„r��ÇE”����}Èu¨‹U”‹•€ÁÞj…Û„E��€»Ð���…Ä��‹ƒT��…ÀŽÙ��‹“T��1Àdž�€»DƒÀ9Ð|ò€»Ð���„¶��‹“T��‰Ñ‰]ˆÇE„����…Éމ���‹‹T��1ÒÙèë7Ü騤“Ü��ÞùÙ„“|��ÙÀÙàÝêßàž†×���ÝØÝØÙèÙàëÝØÙ—ƒÂ9Ê}Dٖل“œ��Ýáßàžw¸Ü騬“¼��ÞùÙ„“|��ÙÉÝáßàž†Ã���ÝØÝØÙèÙ—ƒÂ9Ê|ÀÝØëÝØ‹Uˆ€ºÐ���uX‹E‹X|…ÛtN‰$è]^��‹U„‰$Ù}¢Ù8<ÞjÙEÐØÉ·E¢´ f‰E Ùm Û\$ Ùm¢ÙEÌØÉÙm Û\$Ùm¢ØMÈÙm Û\$Ùm¢ÿÓƒE”ƒ}”…›þÿÿeô[^_]ÃÙ„“\��ÙÀÙàÙËÝãßàÝÛžwJÜÂÞéÞùÙèÙàÝáßàž†ÿÿÿÝÙéÿÿÿÙ„“\��Ýáßàžw(ÜéÞêÞñÝáßàž†äþÿÿÝØÙÀéÛþÿÿ¶����ÝØÝØÝØëÝØÝØÝØÙîéÀþÿÿ‹“T��…ÒŽeþÿÿ1ÀLJ����ƒÀ9Ð|òé-þÿÿƒ”��‰D$‹ƒÈ��‰$èPk��ƒì…À…E��‹‹T��‹“´��ƒù‰U„v‹E”‹…€ÁÞj‰Eˆéþÿÿÿ$Ü:Þj·ƒ¼��=ÿÿ��„J��‰EˆÇEŒ����ßmˆÜ 0<Þj‰M€Ý$ÝhÿÿÿèRl��Ù]¤ÙE¤Ý…hÿÿÿÝ$Ùhÿÿÿè0l��‹M€Ù]¤ÙE¤Ù…hÿÿÿÙÀÙáÙÂÙáÚéßàž†Ì���ÙîÝêßàž†ð���Ùà¸��€¿ÞñÙ]À‰EÄ‹ƒ°��1Ò‰UŒ‰EˆßmˆÙ]¼‹ƒ¬��1Ò‰UŒ‰EˆßmˆÙ]¸‹ƒ¨��1Ò‰UŒ‰EˆßmˆÙ]´‹ƒ¤��1Ò‰UŒ‰EˆßmˆÙ]°‹ƒ ��1Ò‰UŒ‰EˆßmˆÙ]¬1Ò‹ƒœ��‰UŒ‹U”‰Eˆ‹•€ÁÞjßmˆÙ]¨‰UˆéôüÿÿƃÐ��‹E”‹‹T��ÇE„����‹…€ÁÞj‰EˆéÎüÿÿÙîÝéßàžv7ÙÉÙàÞñÇEÀ��€¿Ù]Äé2ÿÿÿÇEÀ����ÇEÄ����éÿÿÿÞñ¸��€?Ù]Àé ÿÿÿÇEÀ��€?ÞùëËë U‰åƒì¡€ÁÞj…Àt‰$è‰j��Ç€ÁÞj����¡„ÁÞj…Àt‰$ènj��Ç„ÁÞj����ÉÃfU‰åìX��‰]ô‰Ã‰}ü‰×‰uø€¸Ð���t1À‹]ô‹uø‹}ü‰ì]Ãf@pµàþÿÿÇD$�;Þj‰D$ÇD$ ;ÞjÇD$Q;ÞjÇD$���‰4$è‹j��Eä‰D$ÇD$ ���ÇD$����‰t$Ç$��€è|l��ƒì…ÀuŒÇD$Z;Þj‹ƒÈ��àýÿÿÇD$b;ÞjÇD$���‰4$ƒÀ‰D$ ÇEà���è#j��Eà‰D$‹Eä‰\$ÇD$ ����ÇD$����‰t$‰$èl��‰Â‹Eäƒì‰•Ôýÿÿ‰$èók��‹•Ôýÿÿƒì…Ò…ÿÿÿ‰\$ÇD$ p;ÞjÇD$À;ÞjÇD$���‰4$è®i��Eä‰D$ÇD$ ���ÇD$����‰t$Ç$��€èŸk��ƒì…À…«þÿÿEà‰D$‹EäÇEà€���‰|$ÇD$ ����ÇD$����ÇD$Z;Þj‰$èOk��‰Ã‹Eäƒì‰$èGk��1Àƒì…Û”ÀéYþÿÿ´&����U‰åWVSƒì,€=`AÝj�…!��1ö‹µ€ÁÞj…Àt Ç$È;Þjè‘��ÇD$���Ç$ü��èh��ƒþ‰µ€ÁÞj‰ÃÇ€X������Ç€T������Æ€Ð��„ä���Ç€È������Æ€Ð���öÉßƃÐ��º”��ǃX������ǃT������ƃÑ���ǃ˜��ÿ���ǃ”��4���…y��÷Ç���…}��‰Ñ1ÀÁéöÂó«udƒâuZ‹ƒÈ��ÇD$”��‰\$‰$èxf��‹{hƒì …À•ƒÐ��…ÿu]ǃT������ƃÐ��ƒÆƒþ…èþÿÿÆ`AÝjeô[^_]ÃÆ�ë¡fÇ��ƒÇƒât”ëìÇ€È�����Æ€Ð���éÿÿÿ¶����»Ñ��‰Ø‰úè±üÿÿ…À„��öC`…O��ǃT�����‹CX1Ò‰Uä1Ò‰Eà‹C\ßmàÙ›ð��‰Uä1Ò‰Eà‹CPßmàÙ›Ð��‰Uä1Ò‰Eà‹CTßmàÙ›ì��‰Uä1Ò‰Eà‹CHßmàÙ›Ì��‰Uä1Ò‰Eà‹CLßmàÙ›è��‰Uä1Ò‰Eà‹C4ßmàÙ›È��‰Uä1Ò‰EàßmàÙ›ä��‹C8‰Uä1Ò‰Eà‹C,ßmàÙ›Ä��‰Uä1Ò‰Eà‹C0ßmàÙ›à��‰Uä1Ò‰Eà‹C$ßmàÙ›À��‰Uä1Ò‰Eà‹C(ßmà‰Uä‹“T��Ù›Ü��‰Eàßmà…ÒÙ›¼��Ž‹þÿÿ1ÀÙ<<ÞjÙ„ƒ¼��Ø„ƒÜ��Ç„ƒ\������Ç„ƒ|����€?ØÉÙœƒœ��ƒÀ9Ð|ÌÝØéHþÿÿt&�ǃT�����ǃø����€¿ÇƒØ����€?ǃô����€¿ÇƒÔ����€?é„þÿÿÇ$ü;Þjè��CÇD$€���‰D$‰<$èîe��éHþÿÿÆ�{²“ézýÿÿv�fÇ��ƒêƒÇésýÿÿU‰åƒìè•üÿÿ€=`AÝj�t0‹€ÁÞj…Òt€ºÐ���¸���t¡„ÁÞj…Àt€¸Ð���”À¶ÀÉÃ1ÀÉÃU‰åVS»���ƒìÇ$ ���èf��ƒìf…ÀxÇ$¡���èóe��¿ØƒìÁëÇ$¢���èÞe��ƒìf…ÀxMÇ$£���1öèÈe��ƒìf…Àx7Ç$¤���è´e��ƒìf…Àx,Ç$¥���è e��1Òƒìf…Àx‰ð Øeø Ð[^]þ���ëÂf‰ðº��� Øeø Ð[^]ô&����¼'����U‰åƒì‹E‹U €x,�t €x-�tƉB‰T$ÇD$ð¬Üj‰$è;��Éö����¿����U‰åƒì‹E‹U ‹H|…ÉtƉB‰T$ÇD$0­Üj‰$èÓ:��ÉÃU‰åSƒì‹]€{,�t€{-�u‹E ‰$ÇD$`­Üj‰D$è£:��‹]üÉÃÆC,�ÇD$ #��ÇD$����ÇD$����‹C ‰$èŸd��ƒìë¸fU‰åVSƒì‹¸ãÞjÇD$ ���u ÇD$���Ç$@<ÞjƒÃ@‰\$ è¼c��¡\AÝj…Àt‰D$ÇD$J<Þj‰$èc��‹E‰t$‰$‰D$è”c��‰\$Ç$ ���èŒc��ƒÄ[^]Ãt&�U‰åVSƒì‹¸ãÞjÇD$ ���u ÇD$���Ç$@<ÞjƒÃ@‰\$ è<c��¡\AÝj…Àt‰D$ÇD$J<Þj‰$èŸb��‹E‰t$‰$‰D$èc��‰\$Ç$ ���è c��€=ü@Ýj�uÇ$���èob��´&����è»àÿÿëæ‰ö¼'����U‰åìØ��€=ü@Ýj�‰uø‹u ‰}ü‹}‰]ô„l��‰<$èÓ:��…À‰Ã„€��þ���„��v;þ��†Ÿ��þ��‡×��þ��ƒ“��†üýÿÿƒø‡��é��v�ƒþ¸ ���„ô���f‡š��ƒþ„i��‡ü��0Àƒþ„Ñ���ƒþ„ì��ƒþ…½��‹M‹…Û„Õ��‰{ ‰<$èub��ƒì€»È����‰C„„ ��‹5ø@ÝjÇD$����Çø@Ýj���ÇD$����‰$èÊV��¡ÀÁÞj‰5ø@Ýj…À„T��‹�‰D$‹C‰$è¶^��ƒì‹C‰$è¸^��ƒì‰C‹{ÆCF…ÿˆE ��‹s …öˆ: ��‹C‰D$‹C ‰$èÞa��¸���ƒì‹]ô‹uø‹}ü‰ì]Â�ÇD$Q<ÞjÇ$`<Þjè»ýÿÿ‰<$èS9��…À‰Ã…€þÿÿƒþ„wþÿÿ‹E‹U‰t$‰<$‰D$ ‰T$èæa��‹]ô‹uø‹}üƒì‰ì]Â�t&�þ��‚œ��·E‹U‰C<Áê=ÿ��‰S@­��úÿ��~ ê���‰S@†ÿýÿÿƒøÇ…|þÿÿÿÿÿÿÆ…xþÿÿ�w¶–B>Þj‹…`@Þjˆ•xþÿÿ‰…|þÿÿÇ$���èÖ`��ƒì…À„Ë��‹…|þÿÿ…À…í ��Ç…|þÿÿ���‹C@‹•|þÿÿ‰D$‹C<‰T$‰$‰D$ ¶…xþÿÿ‰D$è˜��„À…$��€½xþÿÿ„ú ��è®`��‹s`…ö„��‰$è+P��èfúÿÿ‹s`…ö£ AÝj„��‰$èP��‹C@‹|þÿÿ‰D$ ‹C<‰ $‰D$1À€½xþÿÿ�”À‰D$ÿÖéæ���ƒþ„—��´&����†!��þ…���„.��þˆ���„ø��ƒþ …��fƒ}„à ��‹U‹MÇD$ ���‰<$‰T$ ‰L$è0`��ƒìéêýÿÿþ��„Ì��†–��þ��„+��þ���„Ï��þ��…²���‹5AÝj…ö„„��€{D„z��èeùÿÿ‹sP…ö£ AÝjt‰$èO��‹C@‰D$‹C<‰D$¶E‰$ÿÖ‹]ô¸���‹uø‹}üÇ AÝjÿÿÿÿ‰ì]Â�þ ��„¢��þ��u8‹sH…ö„‘��‰$èµN��ÿÖ¸���éýÿÿƒþ„ó��‚ž��ƒþ„o��‹M‹E‰L$ ‰D$‰t$‰<$è&_��ƒìéàüÿÿƒþ „›��t&�‡j��ƒþuÅ‹M‹EÇD$���‰<$‰L$ ‰D$èç^��‹spƒì…öt‰…lþÿÿ‰$èN��Ç$����ÿÖ‹…lþÿÿ€»È����„uüÿÿ‹“¸���…Ò„güÿÿ€z �„]üÿÿ‰…lþÿÿ‰$è ��‹…lþÿÿéDüÿÿfþ��„‚þÿÿ‚��þ��…"ÿÿÿf‹=AÝj…ÿ„i��€{D„_��èÓ÷ÿÿu܉4$£ AÝjè^��ƒì‰t$‹C ‰$è ^��‹E܉C<‹Eàƒì‰C@‹Eƒè!ƒøZ‡Yþÿÿÿ$…ø<Þj-���‰C<éFüÿÿ¿ ���‹sX…ö„5þÿÿ‰$è'M��‹C@‰D$‹C<‰<$‰D$ÿÖéþÿÿ¿ ���ëο ���ëÇ¿ ���ëÀ¿���빿���벿���ë«¿���뤿���ë¿���ë–¿���ë¿���눋sP…ö„½ýÿÿ‰$è¯L��‹C@‰D$‹C<Ç$���‰D$ÿÖé™ýÿÿ¿l���éOÿÿÿ¿g���éEÿÿÿ¿f���é;ÿÿÿ¿e���é1ÿÿÿ¿d���é'ÿÿÿ¿j���éÿÿÿ¿k���éÿÿÿ¿i���é ÿÿÿ¿h���éÿþÿÿ÷E���@„”þÿÿ¸���é”úÿÿ‹E‹UÇD$���‰<$‰D$ ‰T$è´\��ƒìénúÿÿÆC-uŒ‰t$‰<$èa\��‹KH¡¸ÁÞj‰…„þÿÿƒì…Ét€{-�ÆC,�…—��‰t$‰<$è:\��¸���ƒìéúÿÿ‰$èÅ3��ƒ=TAÝj„lÿÿÿÇ$����è\��¸���ƒìéñùÿÿ·U‹E‰S<Áèúÿ��‰C@~ ê���‰S<=ÿ��~-���‰C@‹ƒ¸���…À„½��‰$èi��¸���é¡ùÿÿ‹E%ðÿ��= ð��uÆC-�‹E‹UÇD$��‰<$‰D$ ‰T$è®[��ƒìéhùÿÿ¶����‹U‹MÇD$ ���‰<$‰T$ ‰L$è‚[��ƒìé<ùÿÿ‹M‹EÇD$ ���‰<$‰L$ ‰D$è\[��ƒìéùÿÿt&�èÛôÿÿu܉4$£ AÝjè[��ƒì‰t$‹C ‰$è[��‹E܉C<‹Eàƒì‰C@‹Eƒè!ƒøZ†ÿ��µŒþÿÿ‰4$èíZ��Eäƒì‰D$ ‹EÇD$����‰t$ÇD$����‰$èÌZ��ƒìƒø„^��‹sT…ö…ôúÿÿéûÿÿ‹E‹UÇD$���‰<$‰D$ ‰T$èšZ��‹spƒì…ö„Nøÿÿ‰…lþÿÿ‰$èÎI��Ç$���ÿÖ‹…lþÿÿé,øÿÿÆC,‹M‹EÇD$ˆ���‰<$‰L$ ‰D$èHZ��ƒìéøÿÿ‹U‹MÇD$…���‰<$‰T$ ‰L$è"Z��ƒìéÜ÷ÿÿ€{-�„4ýÿÿÆCF·E‰C‹EÁè‰C ¸���é´÷ÿÿfÆC-¸���ÆC,é ÷ÿÿ‹U·}Áê¿ÂiÀ‰ˆÿÿÁèfÁøfÁúf)ЉÂˆ@��¾���‹Kd…É„��‰•lþÿÿ‰$èäH��èóÿÿ‹•lþÿÿ‰½„þÿÿ£ AÝj?‰÷HƒÀ‰xþÿÿ‰Ö‰…|þÿÿë7v�‰…lþÿÿ‰$è¢H��‹S@‹…lþÿÿ‰T$ ‹S<‰|$‰T$‹•„þÿÿ‰$ÿЃîf…ö„yùÿÿ‹Cd…Àu¼‹|þÿÿƒÿÿ‰€þÿÿt ‹…xþÿÿ‰…€þÿÿ‹C`…Àtɉ…lþÿÿ‰$è:H��‹S@‹…lþÿÿ‰T$ ‹S<ÇD$����‰T$‹•€þÿÿ‰$ÿЋC`…Àt‰…lþÿÿ‰$èþG��‹S@‹€þÿÿ‹…lþÿÿ‰T$ ‹S<ÇD$���‰ $‰T$ÿÐéSÿÿÿfƒ½|þÿÿÿ…@÷ÿÿ‹M‹E‰L$ é.ùÿÿt&�÷E���@…wûÿÿétøÿÿÇD$����ÇD$����‰$èVL��€=AÝj�„Ã��è\T��…À‰C„³��‰$èAQ��éšõÿÿÿ$…d>Þj¾ ���‹{\…ÿ„Køÿÿ‰$è=G��‹C@‰D$‹C<‰4$‰D$ÿ×é+øÿÿ¾ ���ëξ ���ëǾ ���ëÀ¾���ë¹¾���ë²¾���뫾���뤾���ë¾���ë–¾���ë¾���눋sT…ö…úÿÿéÎ÷ÿÿ¾l���énÿÿÿ¾g���édÿÿÿ¾f���éZÿÿÿ¾e���éPÿÿÿ¾d���éFÿÿÿ¾j���é<ÿÿÿ¾k���é2ÿÿÿ¾i���é(ÿÿÿ¾h���éÿÿÿ‹5¸ÁÞj‰$è`F��Ç$f���è4#��ƒì‰CÇ$g���è"#��ƒì‰C ‰4$è4F��é‡ôÿÿ‰$è'F��€{F�…ç���‹CH…Àt‰…lþÿÿ‰$èF��‹…lþÿÿÿЋ„þÿÿ‰ $èòE��é'úÿÿ‹C`…À…ðüÿÿfé¯ùÿÿ‹C0‰$‰D$è `ÿÿ¸���é4ôÿÿ÷Ú¾ÿÿÿÿé¹üÿÿ‹C‰$è›R��ƒì‰Cé7þÿÿƒ½|þÿÿ…ÃýÿÿÇ…|þÿÿ����éõÿÿè¿ïÿÿöE£ AÝj„Í��‹sh…ö„köÿÿ‰$è]E��‹C@‰D$‹C<‰$ÿÖéOöÿÿ‹C ‰$èöU��ƒìéøôÿÿ¡¸ÁÞj‹S ‹K‰…tþÿÿẺD$‹C ‰•|þÿÿ‰€þÿÿ‰$èÇU��‹‹¼���‹Ủxþÿÿ‰•Tþÿÿ‹UЃì…É„š��‹xþÿÿ…Œþÿÿ‰D$‰•lþÿÿ‹A ‰$èƒU��ƒìÇ$ ���èäT��‹Œþÿÿ)TþÿÿƒìÀÇ$!���)…TþÿÿèÁT��‰…xþÿÿ‹…þÿÿƒìÇ$���‰…pþÿÿè T��‹•lþÿÿ+•pþÿÿ‰Á‹…xþÿÿƒìÀ)‹…€þÿÿ)Ê‹|þÿÿ‰…xþÿÿ‰pþÿÿ‹…xþÿÿ‰T$ ‹pþÿÿ‹•TþÿÿÇD$��‰D$‰L$‰T$ÇD$����‹C ‰$èÆT��‹CLƒì…À„B��‰…lþÿÿ‰$èâC��‹|þÿÿ‹•€þÿÿ‹…lþÿÿ‰L$‰$ÿЀ»È����ÆC,t‹•tþÿÿ‰$è¬C��ÆCF�é†ýÿÿ‹sl…ö…3þÿÿé™ôÿÿÇ$���è·R��‰Æ£ÀÁÞj‹C‰$èeP��ƒì‰é˜ñÿÿÇD$©<ÞjÇD$¶<ÞjÇ$Ì<ÞjèŸïÿÿé ñÿÿ€»È����uj;ÄÁÞjtb‰•lþÿÿÇ$ ���èWS��‹€þÿÿ AR‰xþÿÿÇ$!���è;S��Q‰…pþÿÿÇ$���è(S��‹pþÿÿ…|þÿÿ HR‹•lþÿÿ‰pþÿÿéœþÿÿ‹|þÿÿ‹…€þÿÿ‰pþÿÿ‰…xþÿÿéþÿÿ·Uä‰Ué–øÿÿ‰$è¦B��‹|þÿÿ‹…€þÿÿÇD$����Ç$����‰L$ ‰D$èvO��ƒìé¯þÿÿ¶����U‰åƒì€=ü@Ýj�uÇD$Ð?ÞjÇ$ä?ÞjèîÿÿÇXAÝj���ÉÃU‰åƒìÉéDP��t&�U‰åƒìèåÿÿÿ+AÝjÉö����¼'����U‰åVSƒìP€=ü@Ýj�]ÔuMé6��´&����ÇD$ ����ÇD$����ÇD$����‰$è R��ƒì…À„å���‰$è•R��ƒì‰$è’R��ƒìÇD$����ÇD$ ����ÇD$����ÇD$����‰$èoR��ƒì…Àu¡ AÝj…ÀtOèBÿÿÿ‹ AÝj…Û‰Æu9ë<t&�‰\$Ç$ AÝjèà&��‰\$Ç$(AÝjè&��‹S‰$ÿS ‹ AÝj…Ût;s}È]ðÆEð�ÇEô����‰\$Ç$ ÃÜjèj(��ÆEð�ÇEô����‰\$Ç$`­ÜjèO(��è ,��eø[^]Ãv�¡TAÝj…Àt/ƒøuèÇXAÝj���eø[^]ÃÇD$$@ÞjÇ$ä?ÞjèýìÿÿéùþÿÿèCÎÿÿÇ$����èßO��´&����U‰åWVSƒì<‹ ÁÞj€=ü@Ýj�„x��…Ût,‹st…öt‹=¸ÁÞj‰$è[@��¶C-‰$ÿÖ‰<$èJ@��‹…ÛuÔÇXAÝj���]àè"þÿÿ¡ ÁÞj…ÀuëW´&����‹�…ÀtJ€¸È����uñ‹ 0AÝj…Étl‹¸ÁÞj…Òt €ºÈ����uIÿÑ‹50AÝj…ötM¡XAÝjƒøuèÉýÿÿ¡ ÁÞj…Àu¶ÇXAÝj���‹TAÝjè[Íÿÿ…Û„Ð���eô[^_]É$è£?��‹ 0AÝjë§ÆEà�ÇEä����‰\$Ç$ð¬Üjèà&��‹Mä…Éu‘¡ AÝj¾ÿ��…Àt‹pè3ýÿÿ)ƉðÁø÷Ð!ÆÆEà�ÇEä����‰\$Ç$0­Üjè&��‹Uä…Òt ƒþ ~¾ ���ÇD$ÿ���‰t$ ÇD$����ÇD$����Ç$����èôO��ƒìéÿÿÿÇD$6@ÞjÇ$ä?Þjè8ëÿÿéoþÿÿÇ$����èN��´&����U‰åƒì‰]ø‹]‰uüèŒüÿÿ‹S4S89ЉÆ| ‰$èßÿÿ‰s8‹E ‰$ÇD$ ÃÜj‰D$èÎ$��‹]ø‹uü‰ì]ÃU‰åV‰ÆS‹Z‰B<…Ût‹S…Òt‰ðèáÿÿÿ‹…Ûuì[^]ô&����U‰åƒì€=ü@Ýj�uÇD$€@ÞjÇ$@Þjè}êÿÿ¡¼ÁÞj‹U‰PÉÂ�´&����¼'����U‰åƒì€=ü@Ýj�uÇD$Ð@ÞjÇ$@Þjè=êÿÿ¡¼ÁÞj‹@ÉÃv�U‰åSƒì‹]€=ü@Ýj�t/¡¸ÁÞj…Àt‹¼ÁÞj…Òt…Ûxƒû Ç„˜¬�������ƒÄ[]Â�ÇD$à@ÞjÇ$@ÞjèÚéÿÿë»´&����U‰åSƒì‹]€=ü@Ýj�t-¡¸ÁÞj…Àt‹¼ÁÞj…Òt…Ûx ƒû‰”˜¬���ƒÄ[]Â�fÇD$ï@ÞjÇ$@Þjè|éÿÿë½v�¼'����U‰åƒì€=ü@Ýj�t‹¼ÁÞj1À…Òt‹B ÉÃÇD$þ@ÞjÇ$@Þjè<éÿÿëÙv�¼'����U‰åƒì€=ü@Ýj�t‹E‰$èÆ!��…Àt£¼ÁÞjÉÂ�ÇD$ AÞjÇ$@ÞjèõèÿÿëÒv�U‰åƒì€=ü@Ýj�t!‹E‰$è†!��…Àt‰$èú%��ÉÂ�¶����ÇD$AÞjÇ$@Þjè¬èÿÿëÉv�¼'����U‰åƒì€=ü@Ýj�uÇD$&AÞjÇ$@Þjè}èÿÿ‹E‰$è*��‹@ ÉÂ�t&�¼'����U‰åƒì‹E £ÀÞj‹E‰$è§ÿÿÿƒìÉÂ�U‰åWVSƒì,¡¼ÁÞj…À„���‹X1ÿº���ÇEä����¹���…Ûtm‹CÇ$���‰D$è]rÿÿ‹Kƒì…ɉƉCtÇD$5AÞjÇ$���è:rÿÿƃì‰s9uä}‰uäÇ$���èÞqÿÿ‹ƒì…Û|u¡‹UäO¡¼ÁÞjƒÂ‰H(‰P$eô[^_]Ãt&�U‰åVSƒì‹u€=ü@Ýj�tl‹¼ÁÞj…Òt ‹Z…Ûtƒþ¸���u ëƒÀ9Æt‹…ÛuóƒÄ[^]Â�ƒÂ‰\$‰$èz ��‹C…Àt‰$èûI��‰$èóI��èÞþÿÿƒÄ[^]Â�t&�ÇD$7AÞjÇ$@Þjèüæÿÿé{ÿÿÿ´&����U‰åWVSƒì‹u€=ü@Ýj�„}���‹E‰$è|��‰Ç¡¼ÁÞj…Àt$…ÿt ‹X…Ûtƒþ¸���u ëƒÀ9Æt‹…ÛuóƒÄ[^_] �v�‹C…Àt‰$èQI��‹E ‰$è6I��‰{ÇCÿÿÿÿ‰Cè$þÿÿƒÄ[^_] �ÇD$JAÞjÇ$@ÞjèFæÿÿéjÿÿÿU‰åVSƒì‹u€=ü@Ýj�tl¡¼ÁÞj…Àt ‹X…Ûtƒþ¸���u ëƒÀ9Æt‹…ÛuóƒÄ[^] �‹C…Àt‰$è»H��‹E ‰$è H��ÇC����‰C‹E‰Cè‹ýÿÿƒÄ[^] �fÇD$^AÞjÇ$@Þjè¬åÿÿé{ÿÿÿ´&����U‰åVSƒì€=ü@Ýj�toÇD$���Ç$ ���è‹H��‰Ã‹E ‰$è��‰Æ¡¼ÁÞj…Àt5…öt1‹E‰$èH��‰sÇCÿÿÿÿ‰\$‰C¡¼ÁÞjƒÀ‰$è3��èîüÿÿƒÄ[^]Â�t&�ÇD$tAÞjÇ$@Þjè åÿÿéxÿÿÿ´&����U‰åSƒì€=ü@Ýj�tUÇD$���Ç$ ���èìG��‹¼ÁÞj…Ò‰Ãt-‹E‰$è…G��‰\$‰C‹E ‰C¡¼ÁÞjƒÀ‰$è¨��ècüÿÿƒÄ[]Â�ÇD$ƒAÞjÇ$@Þjè‡äÿÿë•t&�U‰åV‰ÆSƒì‹@‹@8‰$è8��èc4��‹F‹X‹P8Ç@4����…ÛÇ‚¸�������Æ@ �t‹KÆC�…Ét‰Øè®ÿÿÿ‹…Ûuè‹F‹@<‰$èÊ7��ƒÄ[^]Ãv�U‰åVSƒì‹E‹˜¸���…Ût{‹C8‹s<‰$è7��èè3��‹C8‰ÚÇ€¸�������‹C<Ç€¸�������1ÀèõøÿÿÆC �ÇC4����‹[ƒ-4AÝj…Ût‹CÆC�…Àt‰Øèÿÿÿ‹…Ûuè‰uƒÄ[^]é67��¶����ƒÄ[^]Éö¼'����U‰åƒì‰]ø‰Ó‹ÄÁÞj‰uü‰Î…Òt,Ç$È���èÚ��ƒì‰Ç$É���èÉ��‹]ø‰ƒì‹uü‰ì]áŒÂÞj‹uü‰¡ÂÞj‹]ø‰‰ì]ÃfU‰åWVS‰ÃƒìL‹p…öuëL‹6…ötF‹F…Àtò€~�tì‹{8‹S,‹H8W<+P,‰Q<‹S0W@+P0‰Q@èµÿÿÿ„ÀtÅeô¸���[^_]Ãt&�‹S8‹z<‹B@ƒÿ‰EÔ~ ‹C$ƒè9øE‹C4…À„��€x�„��‹H…Ét €y �…ö���ÆB,Æ@�1ÀÇC4����eô[^_]ö����ƒ}Ô~µ‹C(ƒè9EÔ}ªÇ$���èSlÿÿ‹UÔ‹sƒêH‰ÐÁúƒì÷ù…ö‰ÁtP¸���ƒúu ë1ƒÀ9Ât*‹6…öuó‰MÄ1öÇD$”AÞjÇD$§AÞjÇ$ÀAÞjèÚáÿÿ‹MÄÆF‹C4‰N …Àt9ðt&‹P…Ò„M��è5ýÿÿ‹C49Æt‹S8…ÀÆB,tÆ@�ÆC ‹F‰s4…À„Ìþÿÿ€x �tÆ@ ¸���éÿÿÿeô1À[^_]˸ÁÞjMà‰UÌUäÆ@ ‹C<èäýÿÿ‹V‹C$C,‰UĉB,‹C0‰EЋF Ç$���‰EÈèMkÿÿ‹UăÀƒì¯EÈEЉB0‹F‹H$‹P,Ê;Uä~‹S,)ʉP,‹P0‹H(Ñ;Mà���‹@8‰$è–4��‹F‹P0‰T$‹@,‰$è.��‹F‹P(ƒì‰T$‹@$‰$èÉ,��ƒìèA-��è,1��‹F‹P8‰‚¸���‹Ủ$èE4��‹F{,‹MÔ‹P8+x,‰z<K0+H0‰J@èeýÿÿ‹Féæþÿÿ‹S8ÆB,é¾þÿÿ‰UÄÇ$���èrjÿÿ‹UăÂQ‰Á‹F+P( ‰ÊÁú÷Ò!ʉP0é>ÿÿÿë U‰åƒì‹EÉéýÿÿU‰åWVSƒì<‹]‹U ¶u‹ƒ¸���…À„��9X<„‡��èÑüÿÿ„Àu-‰ð„À…Å���€»È����¸���teô[^_]ÃÆC,eô[^_]á¸ÁÞj‰EС¼ÁÞj‰EÔ‹ƒ¸���‹x<‰<$è?3��‹³¸���‰5¼ÁÞj‰ò‹B…Àuë8‹�…Àt2€x�tô‹H…Ét‰Êëà‹J…Ét‹@‰¼ÁÞj‰$ÿщ5¼ÁÞj¶����‰<$è(ûÿÿ‹EЉ$èÝ2��‹EÔ£¼ÁÞj¸���€»È����…NÿÿÿéQÿÿÿ‹ƒ¸���‹@<‰$èíúÿÿ¸���€»È����…&ÿÿÿé)ÿÿÿ¶����ƒú‡n��‰ð„Àv�„a��ƒÂ(‹L“ …É„R��ÆC,‹t“ ¡¸ÁÞj‰EÔ‹F<…Àt Ç€¸�������‰³¸���‰ò‰ØÆF è·óÿÿ‹F<MàUäƒ4AÝjèûÿÿ‰$è2��‹{<Ç$d���èë��<8ƒì‰~,‹{@Ç$e���èÓ��‹N,‹V$øƒì< ;}ä‰F0~)щN,‹V( ;Mà~)ЉÂÁú÷Ò!‰V0‹S<‹~8Ç$d���‰UÌèŠ��‹UÌ+V,‹[@ƒì‰G<‹~8Ç$e���èi��+^0ƒì‰G@‹F8‰$èr1��‹F0‰D$‹F,‰$è`+��‹F(ƒì‰D$‹F$‰$è«)��ƒìè#*��è.��‹F8‰°¸���‰ðènúÿÿ‹EÔ‰$è#1��¸���é¤ýÿÿeô1À[^_]ËM‹P8+H,‰J<‹M+H0‰J@é_ýÿÿt&�U‰åWVSƒì\¡¸ÁÞj…À‰EÔ„ý��‹UÔ‹²¸���…ö„Ó��‹F8‰$è»0��Ç$H�è¯=��ƒìÇ$q ��è¨=��ƒìÇ$á ��è™=��ƒìÇ$P ��èŠ=��ƒìÇ$D ��è{=��ƒìÇ$��è¤=��ƒìè =��èo=��Ç$g���è+ ��ƒì‰ÃÇ$f���è ��‰]äƒìÙèÝT$(ÙèÙàÝ\$ ÙîÝT$ÛEäÝ\$‰EäÛEäÝ\$Ý$Ù]Èè=��ƒì0Ç$���è5=��ƒìè<��è�=��ÙEÈÙT$ ÙT$ÙT$Ù$èñ<��ƒìÇ$���è2<��ƒìÇD$����‹F$‰$èÜ<��ƒìÇD$���‹F$ƒè‰$èÃ<��ƒìÇD$����Ç$����è¬<��ƒìÇD$���Ç$���è•<��‹F(ƒì‰D$Ç$����è<��‹F(ƒèƒì‰D$Ç$���èf<��ƒìè®;��ÇD$���?ÇD$���?Ç$���?ÙEÈÙ\$ è+<��ƒìÇ$���èl;��‹F(ƒì‰D$Ç$����è<��‹F(ƒèƒì‰D$Ç$���èý;��‹F(ƒì‰D$‹F$‰$èè;��‹F(ƒèƒì‰D$‹F$ƒè‰$èÍ;��ƒìÇD$����‹F$‰$è·;��ƒìÇD$���‹F$ƒè‰$èž;��ƒìèæ:��Ç$„AÝjè¢;��ƒìÇ$���è»:��ƒìÇD$���Ç$���èd;��ƒìÇD$���‹F$ƒè‰$èK;��‹F(ƒèƒì‰D$‹F$ƒè‰$è0;��‹F(ƒèƒì‰D$Ç$���è;��ƒìè_:��‹^…Ûuéø���v�‹…Û„ë���€{�ftî‹{ Ç$”AÝjè÷:��ƒìÇ$���è:��ƒìÇ$���èdÿÿƒÀƒì¯ÇÇ$���ƒÀ‰D$è¥:��ƒìÇ$���èÖcÿÿƒÀƒì¯ÇƒÇƒÀ‰D$‹F$ƒè‰$èu:��ƒìÇ$���è¦cÿÿƒÀƒì¯ÇƒÀ‰D$‹F$ƒè‰$èH:��ƒìÇ$���èycÿÿƒÀƒì¯ÇÇ$���ƒÀ‰D$è:��ƒìèe9��‹…Û…ÿÿÿÇ$¤AÝjè:��‹^ƒì…Û„‘��ÇEÜ����‰uØéc��f‹uÜÇ$���ècÿÿƒÆƒì‰ÇÇ$���ƒÇèúbÿÿ¯þƒÀƒì‰EäÛEäÜ (BÞjÙ}âÇ$���·EâØ%0BÞj´ f‰EàÙmàÛ]äÙmâ‹Eä)lj|$èl9��‹Cƒì‰D$Ç$���èŽfÿÿ‹{ƒì…ÿ„Â���ÇD$_���Ç$���è\cÿÿ‹UØ‹z$ƒìÇ$���ƒï)ÇèbbÿÿƒÀƒì¯EÜÇ$���P‰U܉EÈèC8��‹EȃÀƒì‰D$‰<$èî8��ƒìÇ$���èbÿÿƒÀƒì‰ÂÁê‹UØÑøE܉D$‹B$ƒè‰$è·8��ƒìÇ$���èèaÿÿE܃ì‰D$‰<$è–8��ƒìèÞ7��€{�um‹…Ût"‰uÜ€{�„•þÿÿÇ$´AÝjè8��ƒìéþÿÿèc8��Ç$��è_8��ƒìèß7��Ç$���èK8��ƒìèË7��èÎIÿÿ‹EÔ‰$èó*��eô[^_]ÃÇ$¤AÝjè'8��ƒìë‚ÇD$ìAÞjÇD$üAÞjÇ$ÀAÞjè×ÿÿéâùÿÿU‰åƒì€=ü@Ýj�uÇD$8BÞjÇ$LBÞjèÝÖÿÿÉÂ�‰ö¼'����U‰åƒì€=ü@Ýj�uÇD$ŒBÞjÇ$LBÞjè­ÖÿÿÙîÉÂ�´&����U‰åƒì€=ü@Ýj�uÇD$™BÞjÇ$LBÞjè}ÖÿÿÉÂ�‰ö¼'����U‰åSƒì‹]€=ü@Ýj�tO…Ûx ƒû~$ƒût.‰\$Ç$¸BÞjè>ÖÿÿƒÄ[]Â�¶����‰AÝjƒÄ[]Â�fÇAÝj���ƒÄ[]Â�ÇD$¦BÞjÇ$LBÞjèúÕÿÿë›´&����U‰åƒì€=ü@Ýj�t¡¸ÁÞj…Àt*‹U…Ò•@DÉÂ�ÇD$ÚBÞjÇ$LBÞjè·Õÿÿ¡¸ÁÞj…ÀuÖÇD$ÚBÞjÇ$ðBÞjèšÕÿÿ‹U¡¸ÁÞj…Ò•@DÉÂ�´&����U‰åƒì€=ü@Ýj�t!¡¸ÁÞj…Àt‹H|…Ét‰$èiÉÿÿÉô&����ÇD$.CÞjÇ$LBÞjè<ÕÿÿëÉv�¼'����U‰åƒì€=ü@Ýj�u4é���=��ºUCÞjtwe=���ºcCÞjtºôCÞj‰T$Ç$DÞjèmÔÿÿèè5��…ÀtU=��º–CÞjtÛvº=��ºÄCÞjtͺ¦CÞjrÆ=1€��º´CÞjtº=e€��ºâCÞju©ë¬=��ºuCÞjt =��º‡CÞjuë’ÉÃÇD$DCÞjÇ$LBÞjèyÔÿÿ늴&����U‰åƒì(‰]ô‹]‰uø‰}ü‰$è†7��€=ü@Ýj�‰Æt/‹=¸ÁÞj…ÿtÇD$ ���‰$è¹7��…Àt-1À‹]ô‹uø‹}ü‰ì]Â�ÇD$DÞjÇ$LBÞjèÔÿÿë»¶����Ç$��èü4��ƒì…À‰Çt¾‰\$‰$èo7��…Àt®9Çt€xÿ v�tð‰\$‰$èP7��…Àt9Çuáð¶„Òu¸���ézÿÿÿt&�€ú u°ëêU‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Â�‰ö¼'����U‰å]Ãt&�¼'����U‰å]Â�‰ö¼'����U‰å]Ãt&�¼'����U‰å]ÃU‰åƒì€=ü@Ýj�uÇD$,DÞjÇ$@DÞjèýÒÿÿ‹E Ç�����1ÀÉÂ�´&����¼'����U‰åSƒì‹]€=ü@Ýj�t>û ��s‰\$Ç$DÞjè5Òÿÿ¸ÿÿÿÿƒÄ[]Â�1Àû$��vîû%��¸ÿÿÿÿuÌëßÇD$€DÞjÇ$@DÞjè{Òÿÿ묉ö¼'����U‰åƒì€=ü@Ýj�t¡ AÝjƒøÿtÉÃt&�ÇD$·DÞjÇ$@DÞjè<ÒÿÿëÙÇ$ÈDÞjè®Ñÿÿ1ÀÉÃv�¼'����U‰åƒì€=ü@Ýj�‰]ø‹]‰uü‹u „���û÷��„•���vFûý��„��‡‰���ûø��„å���ûù��„Î���‰\$Ç$ EÞjè9Ñÿÿ‹]ø‹uü‰ì]Â�ûô��„á���vfûõ��„³���ûö��u‰5ì@ÝjëÊv�ÇD$üDÞjÇ$@DÞjèlÑÿÿû÷��…kÿÿÿ‰5ð@ÝjëŸûþ��t3û���…{ÿÿÿ‰5dAÝjé€ÿÿÿƒûzt$û€���…_ÿÿÿ‰5hAÝjédÿÿÿ‰5�AÝjéYÿÿÿf¡¸ÁÞj…À„Jÿÿÿ‰p0éBÿÿÿ‰5TAÝjé7ÿÿÿ‰5ø@Ýjé,ÿÿÿt&�‰5ä@Ýjéÿÿÿt&�ƒþ”AÝjéÿÿÿ‰5à@Ýjéüþÿÿt&�U‰åSƒì‹]€=ü@Ýj�tMƒ¨ýÿÿƒøv"‰\$Ç$DEÞjèÐÿÿ¸ÿÿÿÿ‹]üÉÂ�¶����ÿ$…lEÞj€=aAÝj�¸���uÞ1À‹]üÉÂ�fÇD$4EÞjÇ$@DÞjè<Ðÿÿëè0��t&�ë±Ç$����èâÁÿÿ룡¸ÁÞj…Àt¼¶@D딡AÝjëŒè¤Íÿÿë…f¶`AÝjéwÿÿÿt&�Ç$����èdÁÿÿébÿÿÿ¸���éXÿÿÿt&�ÇE���‹]üÉé 3��è«/��é9ÿÿÿ¶����諽ÿÿé)ÿÿÿ¶����¡¸ÁÞj…À„8ÿÿÿ‹@4éÿÿÿÇE+���‹]üÉé[3��t&�¼'����U‰åƒìH‰]ô‹]‰uø‰}üÇEÜ����ƒû|„¤���û¼��„„���€=ü@Ýj�„��ûÈ���„ì��†“���ûù��„w��†��ûÿ��„…��t&�‡R��ûü��¸xP��t4‡w��ûú��„ö��ûû��…ÿ���Ç$���è£2��ƒìëè9àÿÿ‹]ô‹uø‹}ü‰ì]Â�¶ü@Ýj‹]ô‹uø‹}ü‰ì]Â�t&�ƒûp„,��†Ñ���ƒûv„©��´&����‡ú��ƒûs„��‡��ƒûq„;��ƒûru|Eà‰D$Ç$[ ��èQ/��‹EàƒìéuÿÿÿÇD$°EÞjÇ$@DÞjèÎÿÿéàþÿÿt&�û��„Ô��t&�‡��ûÊ���„b��‚R��ûË���„w��û,��„N��‰\$Ç$¸EÞjè@Íÿÿ¸ÿÿÿÿéýþÿÿ¶����ƒûj„ç��w}ƒûh¸���„ÞþÿÿwƒûdrÀ¡¸ÁÞj…Àu´&����1ÀéÀþÿÿỦT$‹@ ‰$è×1��¡¸ÁÞj9ÄÁÞjVVt ƒ¸¼����„N��ƒûf„Ñ��ƒûg„½��ƒûe„¬��‹EÌéoþÿÿƒûm„2��‡*��ƒûk„��ƒûl…7ÿÿÿEà‰D$Ç$S ��è .��‹Eàƒìé0þÿÿûö��„å���‡2��ûô��„/��ûõ��…ïþÿÿ€=è@Ýj�„’���¡ä@Ýjéïýÿÿû��„ö��‡D��û���„Ú��û��…®þÿÿ¡pAÝjé»ýÿÿt&�ƒûz„���‡7��ƒûx„Ó��ƒûyt&�…zþÿÿEç‰D$Ç$3 ��èG-��1Àƒì€}ç�•Àémýÿÿ¶����¸ÿÿÿÿé]ýÿÿEà‰D$Ç$Z ��è-��‹Eàƒìé?ýÿÿ€=ô@Ýj�tÏ¡ì@Ýjé,ýÿÿÇ$ ���è¹/��ƒìéýÿÿEç‰D$Ç$2 ��ë…Eà‰D$Ç$V ��èÅ,��‹Eàƒìééüÿÿf¡TAÝjéÝüÿÿ¡ÂÞjéÓüÿÿ¡”ÂÞjéÉüÿÿ¡¼ÁÞj…À„õýÿÿƒÀ‰$èú��é¬üÿÿ¡˜ÂÞjé¢üÿÿEà‰D$Ç$Y ��è`,��‹Eàƒìé„üÿÿ¡ŒÂÞjézüÿÿv�¡¸ÁÞjÇD$����ÇD$���‰$è“#��¶ÀéRüÿÿEà‰D$Ç$R ��è,��‹Eàƒìé4üÿÿEà‰D$Ç$T ��èò+��‹Eàƒìéüÿÿ¡¸ÁÞj…À„BýÿÿÀ���‰$èE��é÷ûÿÿ¡lAÝjéíûÿÿ¡tAÝjéãûÿÿ€=è@Ýj�„oþÿÿ¡à@ÝjéÌûÿÿE܉D$Ç$B ��èŠ+��‹E܃ìé®ûÿÿ¡¸ÁÞj…À„Úüÿÿ‹@0é™ûÿÿû��tû���…nüÿÿ¡dAÝjé{ûÿÿ¡xAÝjéqûÿÿƒû{tû€���…Iüÿÿ¡hAÝjéVûÿÿ¡¸ÁÞj…À„‚üÿÿ‹@‰$è+��ƒìé6ûÿÿƒûnt'ƒûo…üÿÿEà‰D$Ç$X ��èæ*��‹Eàƒìé ûÿÿEà‰D$Ç$U ��èÈ*��‹Eàƒìéìúÿÿû÷��tûø��…Áûÿÿ¡ø@ÝjéÎúÿÿ€=ô@Ýj�„Zýÿÿ¡ð@Ýjé·úÿÿûý��tûþ��…Œûÿÿ¡�AÝjé™úÿÿ1À€=AÝj�•Àéˆúÿÿƒûtt,ƒûu…cûÿÿ¡¸ÁÞj…À„¦ûÿÿ‹€¼���…À„˜ûÿÿ‹@éWúÿÿEç‰D$Ç$1 ��éÁüÿÿ€¸È����…¥ûÿÿ‹uÌÇ$ ���èÁ,��40Q‰uÌ‹uÔÇ$ ���è«,��)ÆR‰uÔ‹uÐÇ$!���è–,��W‰ÇÇ$���è‡,��ÇQ47‰uЋuØÇ$!���èo,��)ÆR‰uØé9ûÿÿ‹EÐéÃùÿÿ‹EØ+EÐé¸ùÿÿ‹EÔ+EÌé­ùÿÿU‰åV‰ÖS9¸���t59°¬���t?9°°���tI9°´���tY‹˜À���…Ût‰Ø‰òèÆÿÿÿ‹…Ûuñ[^]Ã9°¬���Ç€¸�������uÁ9°°���Ç€¬�������u·9°´���Ç€°�������u­¶����Ç€´�������ë›t&�U‰åÇ ÁÞj����ǤÁÞj����ǨÁÞj����ǬÁÞj����ǰÁÞj����Ç´ÁÞj����ǸÁÞj����ǼÁÞj����ÇÀÁÞj����ÇÄÁÞj����ÇÈÁÞj����ÇÌÁÞj����]Ãv�¡¨ÁÞjU‰å‹U…Àuë ‹�…Àt9P uõ]v�Ãë U‰å‹EÇ�����Ç@����]Ãt&�¼'����U‰å‹M‹E ‹Q…Òt‰‰PÇ�����‰A]ÃÇ@����‰Ç�����‰A]ö����¿����U‰å‹E S‹M‹…Òt‹X‰Z‹X…Ût‰9t9At[]Ãt&�‹@‰A[]ô&����‹‰ëÝv�¼'����U‰å‹E‹1À…Òt f‹ƒÀ…Òu÷]Ãt&�U‰å‹U ‹ES‹]…Ò‰t‹J‰B…ɉHt‰[]É[]ö����‹K‰Cëá´&����U‰åWVSƒì‹u‹} …öt=…ÿt9€=ü@Ýj�tU‹E‹˜À���…Ûu ë‹…Ût‰t$‰$ÿ×€>�tìƒÄ[^_]Ãt&�ÇD$@¦ÞjÇD$T¦ÞjÇ$”¦Þjè¤Åÿÿ€=ü@Ýj�u«ÇD$À¦ÞjÇ$Ô¦Þjè‡Åÿÿë•t&�U‰åSƒì‹E ‹U€8�u‹H‹Z;t‰D$ÇD$ÀèÜj‰$è@ÿÿÿƒÄ[]ÃÆ�‰PƒÄ[]ô&����¼'����U‰åƒì‹E ‹U€8�u‹J ;Ht‰D$ÇD$éÜj‰$èóþÿÿÉÃÆ�‰PÉô&����U‰åWVSƒì‹u ‹}…öt-…ÿt)‹ ÁÞj…Ûuë‹…Ût‰t$‰$ÿ×€>�tìƒÄ[^_]ÃÇD$§ÞjÇD$,§ÞjÇ$”¦Þjè”Äÿÿë¹fU‰åƒì(E‰EôEð‰D$ÆEð�Ç$ÀèÜjè}ÿÿÿ€}ðÀ÷Ð#EôÉÃU‰åƒì(‹EÆEð�Ç$éÜj‰EôEð‰D$èMÿÿÿ€}ðÀ÷Ð#EôÉÃU‰åWVSƒì‹]…Ûu é��‰$èãÿÿÿ‹ƒÀ���…Àu€���‹=¸ÁÞj…öt ‰$è¡��ÿÖ‰<$è—��‹ƒ¼���…À„ƒ���‹…Òt‹K‰J‹K…Ét‰;˜À���„”���;˜Ä���„œ���‹ƒ¸���…Àt‰$èŠßÿÿ1ÀÇDƒH����ƒÀƒøuð‰$è°��‰$èH&��9¸ÁÞjtƒÄ[^_]ÃǸÁÞj����ƒÄ[^_]Ë…Òt‹C‰B‹C…Àt‰; ÁÞjtU;¤ÁÞju…‹C£¤ÁÞjéxÿÿÿ‹;˜Ä���‰À���…dÿÿÿ‰ˆÄ���éYÿÿÿÇD$g§ÞjÇD$x§ÞjÇ$”¦ÞjèéÂÿÿéÑþÿÿ‹£ ÁÞjë¢t&�¼'����U‰åVSƒì‹]…Û„R��‹5 ÁÞj…ötv�‰ð‰ÚèGúÿÿ‹6…öuñ‹¨ÁÞj…Òt5´&����‹B…Àuë´&����‹�…Àt;XuõÇ@����‹�…Àuî‹…ÒuÒ‹C…Àt>‹5¼ÁÞj‰¼ÁÞjÿЉ5¼ÁÞjë(t&�;stK‹F…Àt‰$èü$��ÇF����‰4$èí$��‹s…öt.‹…Àt‹V‰P‹F…Àt‹‰;suº‹;s‰Cuµ‹F‰Cë­‹C89¸ÁÞj„���‰$è¡ýÿÿ‹…Àt‹S‰P‹S…Òt‰;¨ÁÞjt@;¬ÁÞjt.9¼ÁÞjt‰]ƒÄ[^]éf$��‰]ǼÁÞj����ƒÄ[^]éN$��‹C£¬ÁÞjëÈ‹£¨ÁÞjë·ÇD$¨§ÞjÇD$¸§ÞjÇ$”¦ÞjèOÁÿÿéþÿÿÇ$����èî��‹C8é]ÿÿÿ¶����U‰åSƒì‹°ÁÞj…Ûuë];´ÁÞjtK‰$èÝ#��‹°ÁÞj…ÛtC‹C‰$èÈüÿÿ‹…Àt‹S‰P‹C…Àt‹‰;°ÁÞju¼‹;´ÁÞj£°ÁÞjuµ‹C£´ÁÞj뫃Ä[]Ãv�¼'����U‰åƒìèuÿÿÿ¡¨ÁÞj…Àt$‰$èÄýÿÿ¡¨ÁÞj…Àuï¡ ÁÞj…Àtf‰$èHüÿÿ¡ ÁÞj…ÀuïÉö����¼'����U‰åSƒì‹]Ç$ ���è*#��‹´ÁÞj…Ò‰XtD‰‰P9¸ÁÞjÇ�����£´ÁÞjt:‹“€���1ÀÇDƒH����ƒÀƒøuð;“€���t‰“€���ƒÄ[]ÃÇ@����£°ÁÞjë³Ç¸ÁÞj����ëºë U‰åWVSƒìL¶U,¶E‹]¶uˆUà¶}(ˆEçÇD$���Ç$Ì���èª"��¶Uà…Àt1ÉÇDˆH����ƒÁƒùuð‹ ÈÁÞjÇ€À�������Ç€Ä�������ƒÁ…Û‰ ÈÁÞj‰HÇ@$ÿÿÿÿÇ@(ÿÿÿÿ„ž���‹‹Ä���…É„¯���‰‰HÇ�����‰ƒÄ���‰˜¼���ˆÈ���1Ò…Û•Âçÿ���Æ@D�æÿ���Æ@E�Æ@G�Ç@0d���‰T$$‹U$‰|$ ‰t$‰$‰T$‹U ‰Eà‰T$‹U‰T$‹U‰T$ ¶Uç‰T$‹U ‰T$è1��‹EàƒÄL[^_]Ë ¤ÁÞj…Ét'‰‰HÇ�����£¤ÁÞjéhÿÿÿÇ@����‰ƒÀ���éDÿÿÿÇ@����£ ÁÞjëд&����U‰åVSƒì0‹5¸ÁÞjÇD$���Ç$@���èN!��Ç@<����‰ÃÇD$$���ÇD$ ����ÇD$d���ÇD$d���ÇD$���ÇD$d���ÇD$ d���ÇD$���ÇD$ä§ÞjÇ$����èþÿÿ¡¸ÁÞjÇ$�ÑÜj‰C8è-(ÿÿƒìèÅ ��‰4$èm��¡ÌÁÞjÇC4����ÇC����ÇC����ƒÀ£ÌÁÞj‰C ‹E‰C¡¬ÁÞj…Àt ‰‰CÇ����‰Ø‰¬ÁÞj‰¼ÁÞjeø[^]ÃÇC����‰¨ÁÞjëÖU‰åWVSì¼��ÝE‰…´ùÿÿݘùÿÿ‰•¨ùÿÿÇ$� �èÓ��ƒìÇ$€ ��è4��ƒìÇ$¡ ��è%��ƒìÇ$· ��è��ƒìÇ$´ ��è��ƒìè?��ÙîÝT$ÝT$ÙèÝ\$ÙȶÞjÝ$Ùˆùÿÿèã��Ý…˜ùÿÿƒì Ø Ì¶ÞjÝT$ÝT$Ý$èÌ��ƒìÙжÞjÝ\$Ù…ˆùÿÿÝT$Ý$èµ��Ç…Øùÿÿ����ƒì‹•Øùÿÿ‹ØùÿÿÇ…Üùÿÿ����Ç…¸ùÿÿ���ÁâÁãÇ…¼ùÿÿ����‰•°ùÿÿ‰¬ùÿÿ‹…°ùÿÿ½hûÿÿ1É…¼ùÿÿ‹•¼ùÿÿ½ÜùÿÿÁà`¨Þj‰…Ðùÿÿ‹…¬ùÿÿ…¸ùÿÿ‰½Äùÿÿ…`¨Þj‰…ÔùÿÿR1ÒÁàœÅðùÿÿ‰àùÿÿ‰…äùÿÿ‹…Ðùÿÿ‹½Ôùÿÿ‹0‹‹½ÄùÿÿvÝÅàªÞj…hþÿÿÏ…Üùÿÿ‰½Èùÿÿ½èùÿÿ½ÜùÿÿÝ[ÝÅàªÞjÏ…èüÿÿ…Üùÿÿƒ½Øùÿÿ‰½Àùÿÿ‰…Ìùÿÿݸ��� ���ëÙÉ‹½ÈùÿÿÝTÇø‰Çƒï‰½„ùÿÿ…¡��‹½ÄùÿÿÙàÝ‹½àùÿÿÙàÝ_ø<vÇÝýàªÞj<[ÇÝýàªÞj<R½äùÿÿǃøÝ”ýèüÿÿu‹½ÌùÿÿÙÀÙàÝ\ÙÉëÙÉ<R½äùÿÿǃÀƒ½ØùÿÿÝ”ýhþÿÿŽhÿÿÿÝØÝØëÝØÝØƒø~ŒƒÂƒÁƒ…Ðùÿÿƒ­Ôùÿÿƒ…àùÿÿƒú…·þÿÿƒ…¼ùÿÿƒ…¸ùÿÿƒ…Üùÿÿ`ƒ½¼ùÿÿ…-þÿÿÙèÝT$$ÇD$4àEÝjÙîÝT$ÙÉÇD$0���ÝT$ ÙÉÇD$,���ÝT$ÇD$���ÙˆùÿÿÙ˜ùÿÿÇD$���Ç$´ ��èQ��…hþÿÿƒì8Ù…˜ùÿÿÝT$$‰D$4Ù…ˆùÿÿÝT$ÙÉÇD$0���Ý\$ ÇD$, ���Ý\$ÇD$���ÇD$���Ç$· ��èú��‹•´ùÿÿƒì8Ù…˜ùÿÿÝT$ ‰T$Ù…ˆùÿÿÝT$Ùɉ$Ý\$ Ý\$è¿��‹´ùÿÿ‹½¨ùÿÿƒì(‰\$ÇD$ ����‰\$ÇD$����‰<$è ��…èüÿÿƒìÙ…˜ùÿÿÝT$$‰D$4Ù…ˆùÿÿÝT$ÙÉÇD$0���Ý\$ ÇD$, ���Ý\$ÇD$���ÇD$���Ç$· ��èA��ƒì8‰\$ÇD$ ����‰\$ÇD$����‰<$è&��ƒìÙ…ˆùÿÿƒ½ØùÿÿÙ…˜ùÿÿ~XÝØÝØƒ…Øùÿÿƒ½Øùÿÿ …6üÿÿè��è„��eô[^_]Ãt&�ÝØ‹½Àùÿÿƒ½„ùÿÿÝ\Çø…Ëýÿÿ‹½àùÿÿÝÙàÝéKýÿÿÝT$$ÙÉ•hûÿÿÝT$ÙɉT$4Ý\$ ÇD$0���Ý\$ÇD$, ���ÇD$���ÇD$���Ç$· ��èd��ƒì8‰\$‰\$èùÿÿ‰<$ÇD$ ����ÇD$����èC��ƒìÙ…˜ùÿÿÝT$$‰\$4Ù…ˆùÿÿÝT$ÙÉÇD$0���Ý\$ ÇD$, ���Ý\$ÇD$���ÇD$���Ç$· ��èê��‹½´ùÿÿ‹…¨ùÿÿƒì8‰|$ÇD$ ����‰|$ÇD$����‰$èÃ��ƒìé±þÿÿt&�¼'����U‰åƒì(€=ü@Ýj�ÝEuÝ]èÇD$�¨ÞjÇ$¨Þjè7·ÿÿÝEèº��¸���Ý$èÒùÿÿÉÂ�´&����¼'����U‰åƒì(€=ü@Ýj�ÝEuÝ]èÇD$P¨ÞjÇ$¨Þjèç¶ÿÿÝEèº��¸ ���Ý$è‚ùÿÿÉÂ�U1À‰å]Â�´&����U‰å]Ãt&�¼'����U‰å]Ãt&�¼'����U‰å]Â�‰ö¼'����U‰å]Â�€=ü@Ýj�U¡¸ÁÞj‰åt…Àu ë‹€¼���…Àt€¸È����uí‹@]Ã1À]ö����¿����U‰åƒì€=ü@Ýj�t¡¸ÁÞj…Àt*‹U‰¨���ÉÂ�ÇD$à¶ÞjÇ$ô¶Þjè÷µÿÿ¡¸ÁÞj…ÀuÖÇD$à¶ÞjÇ$4·ÞjèÚµÿÿ¡¸ÁÞj‹U‰¨���ÉÂ�´&����U‰åƒì€=ü@Ýj�t¡¸ÁÞj…Àt%‹€¨���ÉÃÇD$r·ÞjÇ$ô¶Þj茵ÿÿ¡¸ÁÞj…ÀuÛÇD$r·ÞjÇ$4·Þjèoµÿÿ¡¸ÁÞj‹€¨���ÉÃfU‰åSƒì4€=ü@Ýj�„®���‹¸ÁÞj…Û„¾���Ç$ÿ��èÂåÿÿƒì…ÀtèÆ���¡ŒÂÞjÇEè����ÇEì����ÇD$����‰Eð¡ÂÞjÇD$��ωEôEè‰$è•��‹Mì‹Eô‹Uè)Èƒì ‰D$‹EðÇD$��‰L$ ‰T$)ЉD$¡¸ÁÞjÇD$����‹@ ‰$è"��ÆCG‹]üƒìÉÃÇD$„·ÞjÇ$ô¶Þj芴ÿÿé9ÿÿÿt&�ÇD$„·ÞjÇ$4·Þjèl´ÿÿ‹¸ÁÞjé#ÿÿÿU‰åSƒì€=ü@Ýj�t ‹¸ÁÞj…Ût4èáþÿÿ€{G�”CGƒÄ[]Ãv�ÇD$“·ÞjÇ$ô¶Þjè´ÿÿ‹¸ÁÞj…ÛuÌÇD$“·ÞjÇ$4·Þjèþ³ÿÿ‹¸ÁÞjë°¶����U‰åƒì€=ü@Ýj�tA¡¸ÁÞj…ÀtNÇ$ÿ��è\äÿÿƒì…Àtè`ÿÿÿ¡¸ÁÞjÆ@F‹U‰P‹U ‰P ÉÂ�´&����ÇD$¨·ÞjÇ$ô¶Þj茳ÿÿë©ÇD$¨·ÞjÇ$4·Þjèv³ÿÿëœt&�U‰åƒì(€=ü@Ýj�tI¡¸ÁÞj…Àt]ÇD$���ÇD$����ÇD$����ÇD$ ����ÇD$����ÇD$����‹@ ‰$è•��ƒìÉÃÇD$º·ÞjÇ$ô¶Þjè³ÿÿ¡¸ÁÞj…Àu£ÇD$º·ÞjÇ$4·Þjèç²ÿÿ¡¸ÁÞjëˆU‰åƒì(€=ü@Ýj�tI¡¸ÁÞj…Àt]ÇD$���ÇD$����ÇD$����ÇD$ ����ÇD$����ÇD$���‹@ ‰$è��ƒìÉÃÇD$È·ÞjÇ$ô¶Þjèt²ÿÿ¡¸ÁÞj…Àu£ÇD$È·ÞjÇ$4·ÞjèW²ÿÿ¡¸ÁÞjëˆU‰åƒì8€=ü@Ýj�„���‹¸ÁÞj…Ò„���Ç$ÿ��è³âÿÿƒì…Àtè·ýÿÿEè‰D$¡¸ÁÞj‹@ ‰$èp��‹Eô+Eìƒì‰D$‹Eð+EèÇD$���‰D$ ‹E ‰D$‹E‰D$¡¸ÁÞj‹@ ‰$ès��ƒìÉÂ�ÇD$×·ÞjÇ$ô¶Þj許ÿÿéfÿÿÿv�ÇD$×·ÞjÇ$4·Þj茱ÿÿéXÿÿÿ´&����U‰åƒì€=ü@Ýj�t¡¸ÁÞj…ÀtH‹ˆ¼���…ÉtÉÂ�ÇD$ê·ÞjÇ$ô¶ÞjèF±ÿÿëÓt&�‹U‰T$‹@ ‰$èæ��ƒìÉÂ�´&����ÇD$ê·ÞjÇ$4·Þjè ±ÿÿ¡¸ÁÞjët&�U‰åƒì€=ü@Ýj�t¡¸ÁÞj…ÀtH‹¼���…ÒtÉÂ�ÇD$û·ÞjÇ$ô¶ÞjèÆ°ÿÿëÓt&�‹U‰T$‹@ ‰$èf��ƒìÉÂ�´&����ÇD$û·ÞjÇ$4·Þj茰ÿÿ¡¸ÁÞjët&�U‰åƒì€=ü@Ýj�t1¡¸ÁÞj…ÀtEÆ@-�ÇD$���‹@ ‰$è��¡¸ÁÞjÆ@,�ƒìÉÃv�ÇD$¸ÞjÇ$ô¶Þjè,°ÿÿ¡¸ÁÞj…Àu»ÇD$¸ÞjÇ$4·Þjè°ÿÿ¡¸ÁÞjë ´&����U‰åƒì€=ü@Ýj�t1¡¸ÁÞj…ÀtEÇD$����‹@ ‰$è��¡¸ÁÞjÆ@,�ƒìÉô&����ÇD$ ¸ÞjÇ$ô¶Þj謯ÿÿ¡¸ÁÞj…Àu»ÇD$ ¸ÞjÇ$4·Þjè¯ÿÿ¡¸ÁÞjë ´&����U‰åƒì€=ü@Ýj�t1¡¸ÁÞj…ÀtEÇD$���‹@ ‰$è��¡¸ÁÞjÆ@,ƒìÉô&����ÇD$/¸ÞjÇ$ô¶Þjè,¯ÿÿ¡¸ÁÞj…Àu»ÇD$/¸ÞjÇ$4·Þjè¯ÿÿ¡¸ÁÞjë ´&����U‰åSƒì€=ü@Ýj�t0‹E‰$èUêÿÿ…Àt‹XAÝj‰$èsîÿÿ‰XAÝjƒÄ[]Â�t&�ÇD$>¸ÞjÇ$ô¶Þj謮ÿÿëºv�¼'����U‰åƒìX€=ü@Ýj�‰]ô‹U‰uø‹] ‰}ü‹u‹}„ˆ���‹E‰Uä‰$èÚéÿÿ1É‹Uä…Àt_…Ûˆ°���…ÿˆ¸���…öx}…Òˆ…���ÇD$$����ÇD$ ����‰T$‰|$ÇD$���‰t$‰\$ ÇD$���ÇD$d¸Þj‰$è5îÿÿ‹H‹]ô‰È‹uø‹}ü‰ì]Â�‰UäÇD$P¸ÞjÇ$ô¶ÞjèÙ­ÿÿ‹UäéYÿÿÿ‹H Î…Òx )Öé{ÿÿÿ‹H )ò‰mÿÿÿÖ÷Úédÿÿÿ‹HË…ÿx )ûéHÿÿÿ‹H<9)߉:ÿÿÿû÷ßé1ÿÿÿfU‰åƒì8€=ü@Ýj�uÇD$e¸ÞjÇ$ô¶Þjè]­ÿÿ¡ð@ÝjÇD$$����ÇD$ ����Ç$����‰D$¡ì@Ýj‰D$¶ô@Ýj‰D$¡ä@Ýj‰D$¡à@Ýj‰D$ ¶è@Ýj‰D$‹E‰D$è0íÿÿ‹@ÉÂ�‰ö¼'����U‰åƒì‹E £ÀÞj‹E‰$èWÿÿÿƒìÉÂ�U‰åSƒì‹]9¸ÁÞjtI¡ ÁÞj…Àt0‹S1É9Øt 9Pu¹���‹�…Àuì…Ét‹C ‰$è}��‹]üƒìÉËS‰$èê ��ƒìëÝÇD$����Ç$����èñ ��ƒìëž¶����¿����U‰åSƒì¡¸ÁÞj‹]…Àt‹P‰T$‹@ ‰$è#��ƒì…Ût#‹C ‰$è ��‹Sƒì‰C‰T$‰$è” ��ƒì‰¸ÁÞj‹]üÉö����U‰åSƒì‹]€=ü@Ýj�t-¡¸ÁÞj…Àt9Xt‰$è7çÿÿ…Àt)‰$èkÿÿÿƒÄ[]Â�v�ÇD$v¸ÞjÇ$ô¶Þj蜫ÿÿ뽉\$Ç$„¸Þjè «ÿÿëÍ´&����U‰åWVSìŒ���¶E¶U‹]¶}(ˆE¯EÀ¶u,‰D$¡ìÁÞjˆU®ÇD$­¸Þj‰$è��ƒì f…À„Ê��‰ù„É„©��‹‹¼���…É„ò��ÇD$¶¸ÞjÇD$ ¹ÞjÇ$à¸Þjèÿªÿÿ‹E$1É‹u ‹ìÁÞj‰U°‹“¼���…Ò„û��ÇE´���–‹R ‰U¤‹U°‰D$‹E‰\$,ÇD$$����‰T$(‹U¤‰D$‹E´‰t$ÇD$­¸Þj‰T$ ‹U‰D$ ‰ $‰T$‹U ‰T$èm��ƒì0…À‰C „w��‰ú„Ò„Î��ÇD$���ÇD$����ÇD$����ÇD$ ����ÇD$����ÇD$ÿÿÿÿ‰$è­��‹C ƒìÇD$ðÿÿÿ‰$èß��‹ø@ÝjƒìöÆ…€��€æ…Ô��€=AÝjÀƒàƒÀ‰D$‹C ‰$è®��‹C ƒì‰$è¨��ƒìÇ$���è¡��ƒì‰$ènýÿÿ¡ø@ÝjÑèƒà…À‰CuÇ$��èù ��ƒìÇ$��èò ��ƒìeô[^_]ô&����‰ð„À„†���‹E$‹u €}¯�uÇE���€ÇE���€€}®�… ��€»È���ÇC ÿÿÿÿÇCÿÿÿÿÀ%Ôþÿ,��‰Æ€»È����¹€���…&þÿÿ‹“¼���ÇE´��Ï…Ò„ì���‹ ìÁÞjÇE´���V‰M°1Ééþÿÿ€»È����…mÿÿÿÇ$ ���è· ��‹U ƒì4BÇ$!���è¢ ��ƒìÇ$���‰E¨è ��‹U¨E$ƒìPé/ÿÿÿ€»È����„cþÿÿé þÿÿ%ÿÿ´ÿ‰D$ÇD$ðÿÿÿ‹C ‰$èQ ��ƒì éeþÿÿÇD$¶¸ÞjÇD$øÞjÇ$à¸ÞjèM¨ÿÿéýÿÿ‹M ‹U$‰K‰S éÿÿÿ´&����%ÿÿtÿë¡‹E$‹u ÇE´���–‹ìÁÞj1ÉÇE¤����‰U°é2ýÿÿt&�‹M Ç$4¹Þj‰L$èí§ÿÿ‹C énýÿÿÇE´���–ÇE¤����éÿüÿÿfU‰åV‰ÖS‰ÃƒìÇ$T¹ÞjèÐ��ƒì…Àt'‰$ÿЃì…Àt‰t$‰$è) ��…À•À¶Àeø[^]Ãeø1À[^]ÃU‰åWVSìL��¶E ‹]¶uˆ…óýÿÿ¡ø@Ýj‹K‰ÂƒâƒúÒƒÂ%öÄtƒÊ¨fÇE°(�fÇE²�‰U´„à���ÆE¸ÆEº�ÆE¼�ÆE¾�ÆEÀ�f…Àº���xöÄ@º���„Ó���‰ðˆUɉ $ÆE¹ÆE»�ÆE½�ÆE¿�ÆEÁ�ÆEÂ�ÆEÃ�ÆEÄ�ÆEÅ�ÆEÆ�ÆEÇÆEȈEÊÆEË�ÇEÌ����ÇEÐ����ÇEÔ����ÇD$ ���è"��M°ƒìˆE¹‰L$‹C‰$è��ƒì÷ø@Ýj€��‰…ôýÿÿuj‹µôýÿÿ1À…öt€½óýÿÿ�¸���„Ç��eô[^_]ɃâÆE¸�ÆEºÆE¼ÆE¾ˆUÀéÿÿÿföÄ º���…ÿÿÿ1ÒöÄ„ÿÿÿ¶dAÝjéÿÿÿèž��‰…äýÿÿèc��Uˆ¹ ���‰×‰…èýÿÿ1Àó«¡ìÁÞj‰$ÇEŒ ÝjÇEˆ#���‰E˜ÇE¬n¹Þjè ��¡ìÁÞjƒìÇD$,����‰D$(ÇD$$����ÇD$ ����ÇD$����ÇD$����ÇD$����ÇD$����ÇD$ ��ÏÇD$d¸ÞjÇD$n¹ÞjÇ$����èB ��ƒì0‰Ç‰$è= ��‹ôýÿÿƒì‰ÆE°‰L$‰D$‰4$èÇ��ƒì ‰4$èÄ��ƒì‰…ìýÿÿ‰D$‰4$èŸ��º}¹Þj‰ðƒìè0ýÿÿ…À…˜���‹èýÿÿ‹…äýÿÿ‰ $‰D$èp��‹…ìýÿÿƒì‰$è?��ƒì‰t$‰<$è¸��ƒì‰<$è¥ ��¡ìÁÞjƒì‰D$Ç$n¹Þjè• ��ƒìé þÿÿt&�‹…ôýÿÿM°‰L$‰D$‹C‰$è ��ƒì …À•Àeô[^_]Ãt&�Ç$‘¹Þjèl��ƒì…À‰Â„Oÿÿÿ¶E¹‹ ø@ÝjÇ…øýÿÿ ��Ç…üýÿÿ���‰…þÿÿ¶EÀÇ…�þÿÿ ��Ç…þÿÿ���Ç…þÿÿ ��‰…þÿÿ¶EÇÇ… þÿÿ' ��Ç…þÿÿ ��Ç…þÿÿ ��‰…$þÿÿ¶EÈÇ… þÿÿ" ��Ç…(þÿÿ# ��Ç…0þÿÿ ��‰…,þÿÿ‰ÈÑèƒà€å‰…4þÿÿ…Õ���Ç…àýÿÿP���¹D���¸@���Ç…ÜýÿÿL���Ç…ØýÿÿH���Ç„øýÿÿA ��‹…ØýÿÿÇ„ øýÿÿ���‹ÜýÿÿÇEØ����ÇEÜ����Ç„øýÿÿB ��¡hAÝj‰„ øýÿÿ‹…àýÿÿ‹KÇD$ ���Ç„øýÿÿ����Eà‰D$Eä‰D$E؉D$…øýÿÿ‰D$‰ $ÿÒƒì…À„ãýÿÿ‹Eà…À„Øýÿÿ‹Mä‰ôýÿÿéÊýÿÿfÇ…8þÿÿ© ��¹L���¸H���Ç…<þÿÿ���Ç…àýÿÿX���Ç…ÜýÿÿT���Ç…ØýÿÿP���éÿÿÿë U‰åƒìxƒ=lAÝj‰]ô‹]‰uø‰}ü„&��‹C‰D$‹C‰$èÏ��‹Cº)ºÞjƒìè_úÿÿ…À„ï���¡lAÝjƒø„)��‹pAÝj‰Uй���ÇEÄ‘ ��UÔ‰EÈuÄÇEÌ’ ��‹=tAÝj‰øƒàƒøÀƒç÷Ѓà øtÇ” ��‰DȃÁŽ‹=xAÝj‰øƒàƒøÀƒç÷Ѓà øtÇ&‘��TމDÈÇ����Ç$©¹Þjè¤��ƒì…À„à���‰t$ÇD$����‹S‰$ÿÐƒì …À‰Æ„Š���ÇD$����Ç$����èÜ��‹Cƒì‰$è®��‰sƒì‹]ô‹uø‹}ü‰ì]Ë5pAÝj…ö…Ìþÿÿ‹ tAÝj…É…¾þÿÿ‹xAÝj…Ò…°þÿÿ‹]ô‹uø‹}ü‰ì]Ãt&�‹pAÝj…Ò…ÏþÿÿuÄ1ɉòéâþÿÿ¡xAÝjÇ$ì¹Þj‰D$¡tAÝj‰D$ ¡pAÝj‰D$¡lAÝj‰D$覠ÿÿéAÿÿÿ‰E´Ç$ĹÞjè’ ÿÿ‹E´é ÿÿÿ¡àÁÞjU‰å…Àu ÇàÁÞj���]ô&����U‰å]Ãt&�¼'����‹àÁÞjU‰å…Òu ÇàÁÞj���]ô&����‹ àÁÞjU‰å…Éu ÇàÁÞj���1À]Ãt&�¡àÁÞjU‰å…Àu ÇàÁÞj���1À]Ãÿ%HäÞjÿ%ÐäÞjÿ%$äÞjÿ%¬äÞjÿ%@äÞjÿ%¨äÞjÿ%ŒäÞjÿ%xäÞjÿ%(äÞjÿ%€äÞjÿ%äÞjÿ%päÞjÿ%¸äÞjÿ%„äÞjÿ%läÞjÿ%´äÞjÿ%ÔäÞjÿ%ÈäÞjÿ%ÀäÞjÿ%¼äÞjÿ%ˆäÞjÿ%4äÞjÿ%täÞjÿ%\äÞjÿ%,äÞjÿ%”äÞjÿ%°äÞjÿ%|äÞjÿ%häÞjÿ%0äÞjÿ%PäÞjÿ%XäÞjÿ%LäÞjÿ%TäÞjÿ%<äÞjÿ%œäÞjÿ% äÞjÿ%¤äÞjÿ%däÞjÿ%`äÞjÿ%DäÞjÿ%8äÞjÿ%˜äÞjÿ%ÌäÞjÿ%ÄäÞjÿ%`ãÞjÿ%TãÞjÿ%XãÞjÿ%PãÞjÿ%\ãÞjÿ%¨åÞjÿ%¤åÞjÿ% åÞjÿ%œåÞjÿ%¬åÞj��������¸@ºÞjU=@ºÞj‰åSs»��Üj‹P‹ƒÀÚ =@ºÞjrí[]ÃU‰åƒì¡ FÝj‹�…ÀtÿС FÝjP‹@‰ FÝj…ÀuéÉö����U‰åVSƒì‹àÝjƒûÿt-…Ût4àÝjfÿƒîƒëuöÇ$@ÝjèŠÿþÿƒÄ[^]Ãv�1Ûë‰ÃC‹…àÝj…Òuðë½v�¼'����U‰åƒì‹ äÁÞj…ÉtÉÃÇäÁÞj���ÉëU¸���‰å] �ÿ%¤ãÞjÿ%°ãÞjÿ%ØãÞjÿ%ÌãÞjÿ%äãÞjÿ%´ãÞjÿ%ÐãÞjÿ%ÈãÞjÿ%üãÞjÿ%ôãÞjÿ%ÀãÞjÿ%ÄãÞjÿ%ìãÞjÿ%ðãÞjÿ%äÞjÿ%èãÞjÿ%�äÞjÿ%äÞjÿ%äÞjÿ%àãÞjÿ%¼ãÞjÿ% äÞjÿ%ÜãÞjÿ%äÞjÿ%ÔãÞjÿ%øãÞjÿ%äÞjÿ%ðäÞjÿ%låÞjÿ%dåÞjÿ%håÞjÿ%4åÞjÿ%ìäÞjÿ%èäÞjÿ%åÞjÿ% åÞjÿ%(åÞjÿ%åÞjÿ%åÞjÿ%XåÞjÿ%PåÞjÿ%8åÞjÿ%åÞjÿ%LåÞjÿ%TåÞjÿ%ääÞjÿ%åÞjÿ%HåÞjÿ%åÞjÿ%\åÞjÿ% åÞjÿ%„åÞjÿ%øäÞjÿ%`åÞjÿ%0åÞjÿ%tåÞjÿ%$åÞjÿ%ˆåÞjÿ%�åÞjÿ%DåÞjÿ%@åÞjÿ%àäÞjÿ%<åÞjÿ%xåÞjÿ%,åÞjÿ%€åÞjÿ%åÞjÿ%|åÞjÿ%påÞjÿ%ôäÞjÿ%üäÞjÿ%ŒåÞjÿ%„ãÞjÿ%ˆãÞjÿ%pãÞjÿ%˜ãÞjÿ%tãÞjÿ%|ãÞjÿ%€ãÞjÿ%lãÞjÿ%ãÞjÿ%”ãÞjÿ%ŒãÞjÿ%xãÞjÿ%<ãÞjÿ%DãÞjÿ%8ãÞjÿ%@ãÞjU‰åƒìèµýþÿÇ$ÐÜjèYüþÿÉÃÿÿÿÿÀÝj����ÿÿÿÿ����������������˜eÝj§eÝj¶eÝjÅeÝjÔeÝjãeÝjòeÝjfÝjfÝjfÝj.fÝj=fÝjLfÝj[fÝjjfÝjyfÝjˆfÝj—fÝj¦fÝjµfÝjÄfÝjÓfÝjâfÝjñfÝj�gÝjgÝjgÝj-gÝj<gÝjKgÝjZgÝjigÝjxgÝj‡gÝj–gÝj¥gÝj´gÝjÃgÝjÒgÝjágÝjðgÝjÿgÝjhÝjhÝj,hÝj;hÝjJhÝjYhÝjhhÝjwhÝj†hÝj•hÝj¤hÝj³hÝjÂhÝjÑhÝjàhÝjïhÝjþhÝj iÝjiÝj+iÝj:iÝjIiÝjXiÝjgiÝjviÝj…iÝj”iÝj£iÝj²iÝjÁiÝjÐiÝjßiÝjîiÝjýiÝj jÝjjÝj*jÝj9jÝjHjÝjWjÝjfjÝjujÝj„jÝj“jÝj¢jÝj±jÝjÀjÝjÏjÝjÞjÝjíjÝjüjÝj kÝjkÝj)kÝj8kÝjGkÝjVkÝjekÝjtkÝjƒkÝj’kÝj¡kÝj°kÝj¿kÝjÎkÝjÝkÝjìkÝjûkÝj lÝjlÝj(lÝj7lÝjFlÝjUlÝjdlÝjslÝj‚lÝj‘lÝj lÝj¯lÝj¾lÝjÍlÝjÜlÝjëlÝjúlÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝjxgÝj mÝjmÝj'mÝj6mÝjEmÝjTmÝjcmÝjrmÝjmÝjmÝjŸmÝj®mÝj½mÝjÌmÝjÛmÝjêmÝjùmÝjnÝjnÝj&nÝj5nÝjDnÝjSnÝjbnÝjqnÝj€nÝjnÝjžnÝj­nÝj¼nÝjËnÝjÚnÝjénÝjønÝjoÝjoÝj%oÝj4oÝjCoÝjRoÝjaoÝjpoÝjoÝjŽoÝjoÝj¬oÝj»oÝjÊoÝjÙoÝjèoÝj÷oÝjpÝjpÝj$pÝj3pÝjBpÝjQpÝj`pÝjopÝj~pÝjpÝjœpÝj«pÝjºpÝjÉpÝjØpÝjçpÝjöpÝjqÝjqÝj#qÝj2qÝjAqÝjPqÝj_qÝjnqÝj}qÝjŒqÝj›qÝjªqÝj¹qÝjÈqÝj×qÝjæqÝjõqÝjrÝjrÝj"rÝj1rÝj@rÝjOrÝj^rÝjmrÝj|rÝj‹rÝjšrÝj��������������������������������ÀrÝj�sÝj@sÝj€sÝjÀsÝj�tÝj@tÝj€tÝjÀtÝj�uÝj@uÝj€uÝjÀuÝj�vÝj@vÝj€vÝjÀvÝj�wÝj@wÝj€wÝjÀwÝj�xÝj@xÝj€xÝjÀxÝj�yÝj@yÝj€yÝjÀyÝj�zÝj@zÝj€zÝjÀzÝj�{Ýj@{Ýj€{ÝjÀ{Ýj�|Ýj@|Ýj€|ÝjÀ|Ýj�}Ýj@}Ýj€}ÝjÀ}Ýj�~Ýj@~Ýj€~ÝjÀ~Ýj�Ýj@Ýj€ÝjÀÝj�€Ýj@€Ýj€€ÝjÀ€Ýj�Ýj@Ýj€ÝjÀÝj�‚Ýj@‚Ýj€‚ÝjÀ‚Ýj�ƒÝj@ƒÝj€ƒÝjÀƒÝj�„Ýj@„Ýj€„ÝjÀ„Ýj�…Ýj@…Ýj€…ÝjÀ…Ýj�†Ýj@†Ýj€†ÝjÀ†Ýj�‡Ýj@‡Ýj€‡ÝjÀ‡Ýj�ˆÝj@ˆÝj€ˆÝjÀˆÝj�‰Ýj@‰Ýj€‰ÝjÀ‰Ýj�ŠÝj@ŠÝj€ŠÝjÀŠÝj�‹Ýj@‹Ýj€‹ÝjÀ‹Ýj�ŒÝj@ŒÝj€ŒÝjÀŒÝj�Ýj@Ýj€ÝjÀÝj�ŽÝj@ŽÝj€ŽÝjÀŽÝj�Ýj@Ýj€ÝjÀÝj�Ýj@Ýj€ÝjÀÝj�‘Ýj@‘Ýj€‘ÝjÀ‘Ýj�’Ýj@’ÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝjÀzÝj€’ÝjÀ’Ýj�“Ýj@“Ýj€“ÝjÀ“Ýj�”Ýj@”Ýj€”ÝjÀ”Ýj�•Ýj@•Ýj€•ÝjÀ•Ýj�–Ýj@–Ýj€–ÝjÀ–Ýj�—Ýj@—Ýj€—ÝjÀ—Ýj�˜Ýj@˜Ýj€˜ÝjÀ˜Ýj�™Ýj@™Ýj€™ÝjÀ™Ýj�šÝj@šÝj€šÝjÀšÝj�›Ýj@›Ýj€›ÝjÀ›Ýj�œÝj@œÝj€œÝjÀœÝj�Ýj@Ýj€ÝjÀÝj�žÝj@žÝj€žÝjÀžÝj�ŸÝj@ŸÝj€ŸÝjÀŸÝj� Ýj@ Ýj€ ÝjÀ Ýj�¡Ýj@¡Ýj€¡ÝjÀ¡Ýj�¢Ýj@¢Ýj€¢ÝjÀ¢Ýj�£Ýj@£Ýj€£ÝjÀ£Ýj�¤Ýj@¤Ýj€¤ÝjÀ¤Ýj�¥Ýj@¥Ýj€¥ÝjÀ¥Ýj�¦Ýj@¦Ýj€¦ÝjÀ¦Ýj�§Ýj@§Ýj€§ÝjÀ§Ýj�¨Ýj@¨Ýj€¨ÝjÀ¨Ýj�©Ýj@©Ýj€©ÝjÀ©Ýj�ªÝj@ªÝj��������������������������������aªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjpªÝjªÝjŽªÝjªÝj¬ªÝjɪÝjتÝjçªÝjöªÝj«Ýj«Ýj#«Ýj2«ÝjA«ÝjP«Ýj_«Ýjn«Ýj}«ÝjŒ«Ýj›«Ýjª«Ýj¹«ÝjÈ«Ýj׫Ýjæ«Ýjõ«Ýj¬Ýj¬Ýj"¬Ýj1¬Ýj@¬ÝjO¬Ýjl¬Ýj{¬ÝjЬÝj™¬Ýj¨¬Ýj·¬ÝjƬÝjÕ¬Ýjä¬Ýjó¬Ýj­Ýj­Ýj ­Ýj=­ÝjL­Ýj[­Ýjj­Ýjy­Ýjˆ­Ýj—­Ýj¦­Ýjµ­ÝjÄ­Ýjá­Ýjð­Ýjÿ­Ýj®Ýj®Ýj,®Ýj;®ÝjJ®ÝjY®Ýjh®Ýjw®Ýj†®Ýj•®Ýj¤®Ýj³®Ýj®ÝjÑ®Ýjà®Ýjï®Ýjþ®Ýj ¯Ýj¯Ýj+¯Ýj:¯ÝjI¯ÝjX¯Ýjg¯Ýjv¯Ýj…¯Ýj”¯Ýj£¯Ýj²¯ÝjÁ¯ÝjЯÝj߯Ýjî¯Ýjý¯Ýj °Ýj°ÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝjaªÝj*°Ýj9°ÝjH°ÝjW°Ýjf°Ýju°Ýj„°Ýj“°Ýj¢°Ýj±°ÝjΰÝjݰÝjì°Ýjû°Ýj ±Ýj'±Ýj6±ÝjE±ÝjT±Ýjc±Ýjr±Ýj±Ýj±ÝjŸ±Ýj®±Ýj½±Ýj̱ÝjÛ±Ýjê±Ýj²Ýj$²ÝjA²ÝjP²Ýj_²Ýjn²Ýj}²ÝjŒ²Ýj›²Ýjª²ÝjDzÝjÖ²Ýjå²Ýjô²Ýj³Ýj³Ýj!³Ýj0³Ýj?³ÝjN³Ýj]³Ýjl³Ýj{³ÝjгÝj™³Ýj¨³Ýj·³ÝjƳÝjÕ³Ýjä³Ýjó³Ýj´Ýj´Ýj ´Ýj/´Ýj>´ÝjM´Ýj\´Ýjk´Ýjz´Ýj‰´Ýj˜´Ýj§´Ýj¶´ÝjÅ´ÝjÔ´Ýjã´Ýjò´ÝjµÝjµÝjµÝj.µÝj=µÝjLµÝj[µÝjjµÝjyµÝjˆµÝj—µÝj¦µÝjµµÝjĵÝjÓµÝjâµÝjñµÝj�¶Ýj¶Ýj��������������������������������¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj/¶Ýj@¶ÝjQ¶Ýjb¶Ýj€¶ÝjÀ¶Ýjá¶Ýjò¶Ýj·Ýj·Ýj%·Ýj6·ÝjG·ÝjX·Ýji·Ýjz·Ýj‹·Ýjœ·Ýj­·Ýj¾·ÝjÏ·Ýjà·Ýjñ·Ýj¸Ýj¸Ýj$¸Ýj5¸ÝjF¸ÝjW¸Ýjh¸Ýjy¸Ýj ¸Ýjà¸Ýj¹Ýj ¹Ýj`¹Ýj¹Ýj’¹ÝjÀ¹Ýj�ºÝj!ºÝj2ºÝjCºÝjTºÝj€ºÝjÀºÝj�»Ýj!»Ýj@»Ýja»Ýjr»Ýjƒ»Ýj”»ÝjÀ»Ýj�¼Ýj@¼Ýj€¼ÝjÀ¼Ýjá¼Ýjò¼Ýj½Ýj½Ýj%½Ýj6½ÝjG½ÝjX½Ýji½Ýjz½Ýj‹½Ýjœ½Ýj­½Ýj¾½ÝjϽÝjà½Ýjñ½Ýj¾Ýj ¾ÝjA¾ÝjR¾Ýjc¾Ýjt¾Ýj…¾Ýj–¾Ýj§¾Ýj¸¾ÝjɾÝjà¾Ýj¿Ýj¿Ýj#¿Ýj4¿ÝjE¿ÝjV¿Ýjg¿Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýj¶Ýjx¿Ýj‰¿Ýjš¿Ýj«¿Ýj¼¿ÝjÍ¿ÝjÞ¿Ýjï¿Ýj�ÀÝj ÀÝjAÀÝjRÀÝjcÀÝjtÀÝj ÀÝjÁÀÝjÒÀÝjãÀÝjôÀÝjÁÝjÁÝj'ÁÝj8ÁÝjIÁÝjZÁÝjkÁÝj|ÁÝjÁÝj ÁÝjàÁÝj ÂÝjAÂÝj`ÂÝj ÂÝjàÂÝj ÃÝj`ÃÝj ÃÝjàÃÝj ÄÝjAÄÝjRÄÝjcÄÝjtÄÝj…ÄÝj–ÄÝj§ÄÝj¸ÄÝjàÄÝj ÅÝj`ÅÝj ÅÝjàÅÝj ÆÝj`ÆÝjÆÝj ÆÝjÁÆÝjÒÆÝjãÆÝjôÆÝj ÇÝjAÇÝjRÇÝjcÇÝjtÇÝj…ÇÝj–ÇÝj§ÇÝj¸ÇÝjàÇÝjÈÝjÈÝj#ÈÝj4ÈÝjEÈÝjVÈÝjgÈÝjxÈÝj‰ÈÝjšÈÝj«ÈÝj¼ÈÝjÍÈÝjÞÈÝjïÈÝj�ÉÝjÉÝj"ÉÝj3ÉÝjDÉÝjUÉÝjfÉÝjwÉÝjˆÉÝj™ÉÝj��������������������������������ªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjÂÉÝjÚÉÝj�ÊÝj@ÊÝj€ÊÝjÀÊÝjïÊÝjËÝjËÝj7ËÝj`ËÝjËÝjÀËÝjïËÝjÌÝj ÌÝj`ÌÝj ÌÝjàÌÝj ÍÝj`ÍÝj ÍÝjàÍÝj ÎÝj`ÎÝjÎÝj§ÎÝjÀÎÝj�ÏÝj@ÏÝj€ÏÝjÀÏÝj ÐÝj`ÐÝj ÐÝjàÐÝj ÑÝj`ÑÝj ÑÝjàÑÝjÒÝj@ÒÝj€ÒÝjÀÒÝj�ÓÝj@ÓÝj€ÓÝjÀÓÝj�ÔÝj@ÔÝj€ÔÝjÀÔÝj�ÕÝj@ÕÝj€ÕÝjàÕÝj ÖÝj`ÖÝjÖÝj§ÖÝj¿ÖÝjàÖÝj ×ÝjO×Ýj€×ÝjÀ×Ýj�ØÝj@ØÝj€ØÝj¯ØÝjàØÝj ÙÝjOÙÝjgÙÝj€ÙÝj¯ÙÝjàÙÝj ÚÝj`ÚÝj ÚÝjàÚÝjÛÝj@ÛÝjoÛÝj ÛÝjàÛÝj ÜÝj`ÜÝj ÜÝjàÜÝjÝÝj'ÝÝj?ÝÝj`ÝÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjªÉÝjÝÝj§ÝÝjÀÝÝj�ÞÝj@ÞÝj€ÞÝj¯ÞÝjàÞÝjßÝj@ßÝjoßÝj ßÝjàßÝjàÝj@àÝjoàÝj‡àÝj àÝjÏàÝjçàÝjÿàÝj áÝj`áÝjáÝj§áÝj¿áÝj×áÝj�âÝj@âÝj€âÝjÀâÝj�ãÝj@ãÝj€ãÝjÀãÝj�äÝj@äÝj€äÝjÀäÝj åÝj`åÝj åÝjàåÝj æÝjOæÝjgæÝjæÝj—æÝjÀæÝj�çÝj@çÝj€çÝjÀçÝj�èÝj@èÝj€èÝjÀèÝj�éÝj@éÝj€éÝjÀéÝj�êÝj@êÝj€êÝjÀêÝj�ëÝj@ëÝj€ëÝjÀëÝj�ìÝj@ìÝj€ìÝjÀìÝj�íÝj@íÝj€íÝj¯íÝjÇíÝjßíÝj÷íÝj îÝj`îÝj îÝjàîÝj ïÝj`ïÝj ïÝjàïÝj ðÝj`ðÝj ðÝjàðÝj ñÝj`ñÝj ñÝjàñÝj��������������������������������òÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝj-òÝj<òÝjKòÝjZòÝjiòÝjxòÝj‡òÝj–òÝj¥òÝj´òÝjÃòÝjÒòÝjáòÝjðòÝjÿòÝjóÝjóÝj,óÝj;óÝjJóÝjYóÝjhóÝjwóÝj†óÝj•óÝj¤óÝj³óÝjÂóÝjÑóÝjàóÝjïóÝj ôÝjôÝj*ôÝj9ôÝjHôÝjWôÝjfôÝjuôÝj„ôÝj“ôÝj¢ôÝj±ôÝjÀôÝjÝôÝjìôÝjûôÝj õÝjõÝj(õÝj7õÝjFõÝjUõÝjdõÝjõÝjõÝjŸõÝj®õÝj½õÝjÌõÝjÛõÝjêõÝjùõÝjöÝjöÝj&öÝj5öÝjDöÝjSöÝjböÝjqöÝj€öÝjöÝjžöÝj­öÝj¼öÝjËöÝjÚöÝjéöÝjøöÝj÷Ýj÷Ýj%÷Ýj4÷ÝjC÷ÝjR÷Ýja÷Ýjp÷Ýj÷ÝjŽ÷Ýj÷Ýj¬÷Ýj»÷ÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjòÝjÊ÷ÝjÙ÷Ýjè÷Ýj÷÷ÝjøÝjøÝj$øÝj3øÝjBøÝjQøÝjnøÝj}øÝjŒøÝj›øÝjªøÝjÇøÝjÖøÝjåøÝjôøÝjùÝjùÝj!ùÝj0ùÝj?ùÝjNùÝj]ùÝjlùÝj{ùÝjŠùÝj™ùÝj¨ùÝj·ùÝjÆùÝjÕùÝjäùÝjóùÝjúÝjúÝj úÝj=úÝjLúÝj[úÝjjúÝjyúÝjˆúÝj—úÝj¦úÝjµúÝjÄúÝjÓúÝjâúÝjñúÝj�ûÝjûÝjûÝj-ûÝj<ûÝjKûÝjZûÝjiûÝjxûÝj‡ûÝj–ûÝj¥ûÝj´ûÝjÃûÝjÒûÝjáûÝjðûÝjÿûÝjüÝjüÝj,üÝj;üÝjJüÝjYüÝjhüÝjwüÝj†üÝj•üÝj¤üÝj³üÝjÂüÝjÑüÝjàüÝjïüÝjþüÝj ýÝjýÝj+ýÝj:ýÝjIýÝjXýÝjgýÝjvýÝj…ýÝj��������������������������������”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj²ýÝjàýÝj þÝj`þÝj þÝj�ÿÝjXÿÝjvÿÝj”ÿÝjÀÿÝj��Þj;�Þj`�Þj›�Þj¹�Þjà�Þj Þj`Þj ÞjàÞj Þj`Þj ÞjàÞj Þj[ÞjyÞj ÞjàÞj Þj`Þj Þj�Þj`Þj ÞjàÞj@Þj€ÞjÀÞj ÞjxÞj ÞjàÞj@Þj€ÞjàÞj@ Þj  Þjà Þj@ Þj€ ÞjÀ Þj� Þj` ÞjÀ Þj Þj€ ÞjÀ Þjû Þj Þj7 Þj` Þj  ÞjÛ Þj�Þj@Þj€ÞjÀÞj�Þj;Þj`Þj ÞjÛÞjùÞj Þj[Þj€ÞjàÞj Þj`Þj ÞjÛÞj�Þj;Þj`Þj ÞjàÞj@Þj€ÞjÀÞj�Þj;Þj`Þj Þj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝj”ýÝjÛÞjùÞj Þj`Þj ÞjàÞjÞj@Þj{Þj ÞjøÞj Þj`Þj ÞjàÞj8Þj`Þj ÞjÛÞjùÞjÞj@Þj€Þj»ÞjÙÞj÷ÞjÞj@Þj€ÞjàÞj@Þj ÞjàÞj@Þj Þj�Þj`ÞjÀÞj Þj€ÞjÀÞj�Þj@Þj€Þj»ÞjÙÞj÷Þj Þj@ Þj  Þj�!Þj`!ÞjÀ!Þj "Þj€"Þjà"Þj #Þj€#Þjà#Þj@$Þj $Þj�%Þj@%Þj€%ÞjÀ%Þj�&Þj@&Þj€&ÞjÀ&Þj�'Þj@'Þj€'ÞjÀ'Þj�(Þj@(Þj€(Þj»(ÞjÙ(Þj÷(Þj)Þj@)Þj€)ÞjÀ)Þj�*Þj@*Þj€*ÞjÀ*Þj�+Þj@+Þj€+ÞjÀ+Þj�,Þj@,Þj€,ÞjÀ,Þj�-Þj��������������������������������������ð?����������������á=UUUUÕ¿+øþÝ}+î?��������á=UUUUÕ¿+øþÝ}+Þ¿â5 p½ ê?á=UUUUÕ¿+øþÝ}+Þ¿â5 p½ ê¿çnfž Ö?çnfž Ö?������à?çnfž Ö¿çnfž Ö?������à?çnfž Ö¿çnfž Ö¿������à?çnfž Ö?çnfž Ö¿������à?��������������ð?��������������ð¿������������������������������ð¿��������������ð?����������������çnfž Ö?çnfž Ö?������à¿çnfž Ö¿çnfž Ö?������à¿çnfž Ö¿çnfž Ö¿������à¿çnfž Ö?çnfž Ö¿������à¿����������������������ð?¸Kfž æ?��������������à?��������¸Kfž æ?������à?¸Kfž æ¿��������������à?��������¸Kfž æ¿������à?¸Kfž æ?¸Kfž æ?��������¸Kfž æ¿¸Kfž æ?��������¸Kfž æ¿¸Kfž æ¿��������¸Kfž æ?¸Kfž æ¿��������¸Kfž æ?��������������à¿��������¸Kfž æ?������࿸Kfž æ¿��������������à¿��������¸Kfž æ¿������à¿����������������������ð¿����������������������ð?����������������Ïð¿Å%ŸÜ?Ïð¿Å%Ÿì?��������Ïð¿Å%ŸÜ?U” m°Ñ?ÛHF ˆ8ë?Ïð¿Å%ŸÜ?ÕµoqÉ'ç¿ZN¡ ÊÒà?Ïð¿Å%ŸÜ?ÕµoqÉ'ç¿ZN¡ ÊÒà¿Ïð¿Å%ŸÜ?U” m°Ñ?ÛHF ˆ8ë¿Ïð¿Å%ŸÜ¿Ïð¿Å%Ÿì¿��������Ïð¿Å%ŸÜ¿U” m°Ñ¿ÛHF ˆ8ë?Ïð¿Å%ŸÜ¿ÕµoqÉ'ç?ZN¡ ÊÒà?Ïð¿Å%ŸÜ¿ÕµoqÉ'ç?ZN¡ ÊÒà¿Ïð¿Å%ŸÜ¿U” m°Ñ¿ÛHF ˆ8ë¿������ð¿����������������ÿÿÿÿÿÿÿÿ����,��,����������������������ÿÿÿÿ������������������������������������������������€��à��������H��������������������������������������������ÿÿÿÿš™Y?š™Y?š™Y?��€?š™>š™>ffæ>��€?��������������€?��€?��€?��€?��€?������������������������������������������������������������������������������������������������������������������������������������������������������������üEÞjFÞjFÞj FÞj,FÞj8FÞjDFÞjPFÞj\FÞjhFÞjtFÞj€FÞjŒFÞj˜FÞj¤FÞj°FÞj¼FÞjÈFÞjÔFÞjàFÞjìFÞjøFÞjGÞjGÞjGÞj(GÞj4GÞj@GÞjLGÞjXGÞjdGÞjpGÞj|GÞjˆGÞj”GÞj GÞj¬GÞj¸GÞjÄGÞjÐGÞjÜGÞjèGÞjôGÞj�HÞj HÞjHÞj$HÞj0HÞj<HÞjHHÞjTHÞj`HÞjlHÞjxHÞj„HÞjHÞjœHÞj¨HÞj´HÞjÀHÞjÌHÞjØHÞjäHÞjðHÞjüHÞjIÞjIÞj IÞj,IÞj8IÞjDIÞjPIÞj\IÞjhIÞjtIÞj€IÞjŒIÞj˜IÞj¤IÞj°IÞj¼IÞjÈIÞjÔIÞjàIÞjìIÞjøIÞjJÞjJÞjJÞj(JÞj4JÞj@JÞjLJÞjXJÞjdJÞjpJÞj��������������������������������������������������������������������������������������������������������������������������������8vÞjDvÞjPvÞj\vÞjhvÞjtvÞj€vÞjŒvÞj˜vÞj¤vÞj°vÞj¼vÞjÈvÞjÔvÞjàvÞjìvÞjøvÞjwÞjwÞjwÞj(wÞj4wÞj@wÞjLwÞjXwÞjdwÞjpwÞj|wÞjˆwÞj”wÞj wÞj¬wÞj¸wÞjÄwÞjÐwÞjÜwÞjèwÞjôwÞj�xÞj xÞjxÞj$xÞj0xÞj<xÞjHxÞjTxÞj`xÞjlxÞjxxÞj„xÞjxÞjœxÞj¨xÞj´xÞjÀxÞjÌxÞjØxÞjäxÞjðxÞjüxÞjyÞjyÞj yÞj,yÞj8yÞjDyÞjPyÞj\yÞjhyÞjtyÞj€yÞjŒyÞj˜yÞj¤yÞj°yÞj¼yÞjÈyÞjÔyÞjàyÞjìyÞjøyÞjzÞjzÞjzÞj(zÞj4zÞj@zÞjLzÞjXzÞjdzÞjpzÞj|zÞjˆzÞj”zÞj zÞj¬zÞj����������������������ð?����������������������ð?������ð?������ð?ðÝj��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������libgcj_s.dll�_Jv_RegisterClasses����glutTabletButtonFunc���� ERROR: Function <%s> called without first calling 'glutInit'.�glutTabletMotionFunc�glutDialsFunc�glutButtonBoxFunc�glutWindowStatusFunc�glutOverlayDisplayFunc�glutMenuStatusFunc�glutMenuStateFunc�glutMenuDestroyFunc�glutCloseFunc�glutWMCloseFunc�glutEntryFunc�glutPassiveMotionFunc�glutMotionFunc�glutMouseWheelFunc�glutMouseFunc�glutSpecialUpFunc�glutKeyboardUpFunc�glutVisibilityFunc�glutIdleFunc�glutSpecialFunc�glutKeyboardFunc�glutReshapeFunc�glutDisplayFunc���Fatal error in program. NULL display callback not permitted in GLUT 3.0+ or freeglut 2.0.1+�glutSpaceballButtonFunc�glutSpaceballRotateFunc�glutSpaceballMotionFunc�glutJoystickFunc�Visibility Callback��� ERROR: Internal <%s> function called without first calling 'glutInit'.�glutTimerFunc��Fatal error: Memory allocation failure in glutTimerFunc()���glutWarpPointer� ERROR: Function <%s> called without first calling 'glutInit'.� ERROR: Function <%s> called with no current window defined.�Unknown cursor type: %d���ÐÜjÐÜjÜjÄÜjÜj0ÜjÄÜj¡ÜjgÜjÄÜj%ÜjãÜjgÜjgÜjgÜjgÜj‡ÜjEÜj‡ÜjEÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjCÜjgÜjÜjrÜjglutSetCursor���glutPostRedisplay��� ERROR: Function <%s> called without first calling 'glutInit'.� ERROR: Function <%s> called with no current window defined.�glutPostWindowRedisplay�glutSwapBuffers���freeglut: %d frames in %.2f seconds = %.2f FPS �oƒ:glutGetProcAddress�� ERROR: Function <%s> called without first calling 'glutInit'.�glut�glutInit�glutInitDisplayMode�glutInitDisplayString�glutInitWindowPosition�glutInitWindowSize�glutMainLoop�glutExit�glutCreateWindow�glutCreateSubWindow�glutDestroyWindow�glutPostRedisplay�glutPostWindowRedisplay�glutSwapBuffers�glutGetWindow�glutSetWindow�glutSetWindowTitle�glutSetIconTitle�glutPositionWindow�glutReshapeWindow�glutPopWindow�glutPushWindow�glutIconifyWindow�glutShowWindow�glutHideWindow�glutFullScreen�glutSetCursor�glutWarpPointer�glutEstablishOverlay�glutRemoveOverlay�glutUseLayer�glutPostOverlayRedisplay����glutPostWindowOverlayRedisplay�glutShowOverlay�glutHideOverlay�glutCreateMenu�glutDestroyMenu�glutGetMenu�glutSetMenu�glutAddMenuEntry�glutAddSubMenu�glutChangeToMenuEntry�glutChangeToSubMenu�glutRemoveMenuItem�glutAttachMenu�glutDetachMenu�glutDisplayFunc�glutReshapeFunc�glutKeyboardFunc�glutMouseFunc�glutMotionFunc�glutPassiveMotionFunc�glutEntryFunc�glutVisibilityFunc�glutIdleFunc�glutTimerFunc�glutMenuStateFunc�glutSpecialFunc�glutSpaceballMotionFunc�glutSpaceballRotateFunc�glutSpaceballButtonFunc�glutButtonBoxFunc�glutDialsFunc�glutTabletMotionFunc�glutTabletButtonFunc�glutMenuStatusFunc�glutOverlayDisplayFunc�glutWindowStatusFunc�glutKeyboardUpFunc�glutSpecialUpFunc�glutJoystickFunc�glutSetColor�glutGetColor�glutCopyColormap�glutGet�glutDeviceGet�glutExtensionSupported�glutGetModifiers�glutLayerGet�glutBitmapCharacter�glutBitmapWidth�glutStrokeCharacter�glutStrokeWidth�glutBitmapLength�glutStrokeLength�glutWireSphere�glutSolidSphere�glutWireCone�glutSolidCone�glutWireCube�glutSolidCube�glutWireTorus�glutSolidTorus�glutWireDodecahedron�glutSolidDodecahedron�glutWireTeapot�glutSolidTeapot�glutWireOctahedron�glutSolidOctahedron�glutWireTetrahedron�glutSolidTetrahedron�glutWireIcosahedron�glutSolidIcosahedron�glutVideoResizeGet�glutSetupVideoResizing�glutStopVideoResizing�glutVideoResize�glutVideoPan�glutReportErrors�glutIgnoreKeyRepeat�glutSetKeyRepeat�glutForceJoystickFunc�glutGameModeString�glutEnterGameMode�glutLeaveGameMode�glutGameModeGet�glutMainLoopEvent�glutLeaveMainLoop�glutCloseFunc�glutWMCloseFunc�glutMenuDestroyFunc�glutFullScreenToggle�glutSetOption�glutGetModeValues�glutSetWindowData�glutGetWindowData�glutSetMenuData�glutGetMenuData�glutBitmapHeight�glutStrokeHeight�glutBitmapString�glutStrokeString�glutWireRhombicDodecahedron�glutSolidRhombicDodecahedron�glutWireSierpinskiSponge�glutSolidSierpinskiSponge�glutWireCylinder�glutSolidCylinder�glutMouseWheelFunc�glutJoystickGetNumAxes�glutJoystickGetNumButtons�glutJoystickNotWorking�glutJoystickGetDeadBand�glutJoystickSetDeadBand�glutJoystickGetSaturation�glutJoystickSetSaturation�glutJoystickSetMinRange�glutJoystickSetMaxRange�glutJoystickSetCenter�glutJoystickGetMinRange�glutJoystickGetMaxRange�glutJoystickGetCenter�glutInitContextVersion�glutInitContextFlags�glutInitContextProfile��stroke font 0x%08x not found�glutStrokeHeight��� ERROR: Function <%s> called without first calling 'glutInit'.�glutStrokeLength�glutStrokeWidth�font 0x%08x not found�glutBitmapHeight�glutBitmapLength�glutBitmapWidth�glutStrokeString�glutStrokeCharacter�glutBitmapString�glutBitmapCharacter�����?��������-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1����@cÝj������� Ýj������@@-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1����”cÝj������ $Ýj������€@-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1���ècÝj������@(Ýj������@@-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1���@dÝj������`,Ýj������€@-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1���˜dÝj������€0Ýj������ @-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1���ðdÝj������ 4Ýj������€@-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1��DeÝj������À8Ýj������à@���ª�‚�‚�‚�ª������8|þ|8����ªUªUªUªUªUªUª���® à  ����� Ž€À€à����� l€€€`����� €€����������$$������|�|������¨   À�����.PPˆˆ���������ð�ð���������������������ÿ�������������ÿ����������ÿ����������ÿ����������ÿ����������ÿ��������������ð�������ÿ�ÿ����������þ�0À0�������þ�àà�������DDDDDþ�������� ~~������Üb p "��������������������������������������������$$$������$$~$~$$������x8PP<�����D*$$R"�����:DJ0HH0�������������@08����������  �������$~$���������|������@08����������������~��������8������������€€@ �����$BBBBB$�����|P0�����~@ BB<�����<B~�����~DD$ �����<Bb\@@~�����<BBb\@@ ����� ~�����<BBB<BBB<�����8:FBB<����8��8������@08��8������� �������~��~��������@  @������BB<�����<@JVRNBB<�����BBB~BBB$�����üBBB|BBBü�����<B@@@@@B<�����üBBBBBBBü�����~@@@x@@@~�����@@@@x@@@~�����:FBN@@@B<�����BBBB~BBBB�����||�����8D�����BDHP`PHDB�����~@@@@@@@@�����‚‚‚’’ªÆ‚‚�����BBBFJRbBB�����<BBBBBBB<�����@@@@|BBB|����<JRBBBBB<�����BDHP|BBB|�����<B<@@B<�����þ�����<BBBBBBBB�����(((DDD‚‚�����Dª’’’‚‚‚‚�����‚‚D((D‚‚�����(D‚‚�����~@@ ~�����< <����� @€€�����xx�����������D(����þ��������������������8�����:FB><��������\bBBb\@@@�����<B@@B<��������:FBBF:�����<B@~B<�������� | "���<B<@8DD:��������BBBBb\@@@�����|0�����8DD �������BDHpHD@@@�����|0�����‚’’’’ì��������BBBBb\��������<BBBB<������@@@\bBb\������:FBF:�������� "\��������<B 0B<��������" | ������:DDDDD��������((DDD��������Dª’’‚‚��������B$$B������<B:FBBB��������~ ~��������0����������p p�����������HT$��������������������������8TPPT8�����Üb p "������B<$$<B�������||(D‚‚�����������$$$ $������������l������8D’ª¢ª’D8������|�<D<8������$HH$�������~�������������<����������8Dª²ªª’D8������������~����������$$������|�|����������x@0H0��������0HH0���������������@ZfBBBB��������4ttt>����������������������������������p ` �������x�0HH0������H$$H������ æB@@À@���� òL@@À@���� f’ `����<BB@ ������BB~BB$�����BB~BB$�����BB~BB$�$����BB~BB$�L2����BB~BB$�$$����BB~BB$$����žðœn���<B@@@@@B<�����~@@x@@~�����~@@x@@~�����~@@x@@~�$����~@@x@@~�$$����||� ����||�����||�$����||�((����xDBBâBBDx�����‚†Š’¢Â‚�˜d����|‚‚‚‚‚|� ����|‚‚‚‚‚|�����|‚‚‚‚‚|�$����|‚‚‚‚‚|�˜d����|‚‚‚‚‚|�((�����B$$B������@<bRRRJJF<����<BBBBBB�����<BBBBBB�����<BBBBBB�$����<BBBBBB�$$����(DD�����@@@|BBB|@�����\BBLPHDD8�����:FB><������:FB><������:FB><��$����:FB><��L2����:FB><��$$����:FB><�$����l’|l������<B@@B<��������<B@~B<������<B@~B<������<B@~B<��$����<B@~B<��$$����|0�� ����|0�� ����|0��H0����|0��((����<BBBB<($����BBBBb\��L2����<BBBB<�� ����<BBBB<������<BBBB<��$����<BBBB<��L2����<BBBB<��$$������|������@<bRJF<�������:DDDDD�� ����:DDDDD������:DDDDD��$����:DDDDD��((��<B:FBBB����@@\bBBb\@@����<B:FBBB��$$������������������������ ��������[�@��A�@��A�@��m������������������������������������ ����������>��ÿ€�>���������������������������������������� ��ª€U�ª€U�ª€U�ª€U�ª€U�ª€U�ª€U�ª€������������������������������� ���������������H�H�x�H�H���������������������������������� ������������H�O�@�p�@�x������������������������������������ �������� � �� ����8�@�@�@�8���������������������������������� ���������������x�@�@�@�@���������������������������������� �������������������� ��� ������������������������������������ ������������������������������������������������������� ���������������D�L�T�d�D���������������������������������� ����������������(�(�D�D���������������������������������� ����������������ø��������������������������������������� ���������ø���������������������������������������������� ���������€��������������������������������������������� ����������������€�������������������������������������� ���������ÿ€�������������������������������������� ������������������������������ÿ€������������������������������� ������������������������ÿ€������������������������������������� ����������������ÿ€��������������������������������������������� ��������ÿ€����������������������������������������������������� ��ÿ€����������������������������������������������������������� ���������€�������������������������������������� ���������ø��������������������������������������� ����������������ÿ€�������������������������������������� ���������ÿ€��������������������������������������������� ������������������������������������������������ ���������������`������������������������������������������ �������������`����`���������������������������������������� ��������"�"�"�"�"�"������������������������������������������� �������������������������������������������������������� ��������.�Q�0���|���������������������������������������� ���������������� � �������������������������������������������� ��������������������������������������������������������������� ������������������������������������������������������ ������������������������������������������������������������ ����������$�$�~�$�$�~�$�$�������������������������������������� �������>�I� � � ��(�H�I�>����������������������������������� ��������B�%�%����$�R�R�!������������������������������������ ��������1�J�D�J�1�0�H�H�H�0������������������������������������ ����������������������������������������������������������� ��������������������������������������������������� ��������������������������������������������������� �����������I�*��*�I����������������������������������������� �������������������������������������������������������� ����� � ���������������������������������������������������� �������������������������������������������������������������� �������� � ���������������������������������������������������� ��������@� � ������������������������������������������� ���������"�A�A�A�A�A�A�"������������������������������������� ��������������H�(�������������������������������������� ���������@� �����A�A�>������������������������������������ ��������>�A�������������������������������������������� ������������B�"�� �������������������������������������� ��������>�A����a�^�@�@������������������������������������� ��������>�A�A�A�a�^�@�@� ������������������������������������� �������� � �������������������������������������������� ���������"�A�A�"��"�A�"������������������������������������� ��������<����=�C�A�A�A�>������������������������������������ �������� � ������� � ������������������������������������������ ����� � ������� � ������������������������������������������ ������������ � ���������������������������������������� ������������������������������������������������������������� �������� ��������� ������������������������������������ ����������������A�A�>������������������������������������ ��������>�@�@�M�S�Q�O�A�A�>������������������������������������ ��������A�A�A��A�A�A�"�������������������������������������� ��������~�!�!�!�!�~�!�!�!�~������������������������������������ ��������>�A�@�@�@�@�@�@�A�>������������������������������������ ��������~�!�!�!�!�!�!�!�!�~������������������������������������ ��������� � � � �<� � � ������������������������������������� �������� � � � � �<� � � ������������������������������������� ��������>�A�A�A�G�@�@�@�A�>������������������������������������ ��������A�A�A�A�A��A�A�A�A������������������������������������ ��������>���������>������������������������������������ ��������<�B��������€����������������������������������� ��������A�B�D�H�P�p�H�D�B�A������������������������������������ ���������@�@�@�@�@�@�@�@�@������������������������������������ ��������A�A�A�I�I�U�U�c�A�A������������������������������������ ��������A�A�A�C�E�I�Q�a�A�A������������������������������������ ��������>�A�A�A�A�A�A�A�A�>������������������������������������ ��������@�@�@�@�@�~�A�A�A�~������������������������������������ ������>�I�Q�A�A�A�A�A�A�>������������������������������������ ��������A�A�B�D�H�~�A�A�A�~������������������������������������ ��������>�A�A���8�@�A�A�>������������������������������������ ����������������������������������������������������� ��������>�A�A�A�A�A�A�A�A�A������������������������������������ ������������"�"�"�A�A�A������������������������������������ ��������"�U�I�I�I�I�A�A�A�A������������������������������������ ��������A�A�"�����"�A�A������������������������������������ ���������������"�A�A������������������������������������ ���������@�@� ������������������������������������������ ��������������������������������������������������� ��������������� � �@������������������������������������ ������<�����������<���������������������������������� ��������������������A�"�������������������������������������� ������ÿ�������������������������������������������������������� �������������������������0���������������������������������� ��������=�C�A�?���>������������������������������������������ ��������^�a�A�A�A�a�^�@�@�@������������������������������������ ��������>�A�@�@�@�A�>������������������������������������������ ��������=�C�A�A�A�C�=��������������������������������������� ��������>�@�@��A�A�>������������������������������������������ ������������|����������������������������������������� ��>�A�A�>�@�<�B�B�B�=������������������������������������������ ��������A�A�A�A�A�a�^�@�@�@������������������������������������ ��������>������8����������������������������������������� ��<�B�B�B����������������������������������������������� ��������A�F�X�`�X�F�A�@�@�@������������������������������������ ��������>���������8������������������������������������ ��������A�I�I�I�I�I�v������������������������������������������ ��������A�A�A�A�A�a�^������������������������������������������ ��������>�A�A�A�A�A�>������������������������������������������ ��@�@�@�^�a�A�A�A�a�^������������������������������������������ �����=�C�A�A�A�C�=������������������������������������������ �������� � � � �!�1�N������������������������������������������ ��������>�A��>�@�A�>������������������������������������������ ��������������~���������������������������������������� ��������=�B�B�B�B�B�B������������������������������������������ �����������"�"�A�A������������������������������������������ ��������"�U�I�I�I�A�A������������������������������������������ ��������A�"����"�A������������������������������������������ ��<�B��:�F�B�B�B�B�B������������������������������������������ ��������� ����������������������������������������������� ��������������������������������������������������� ��������������������������������������������������� ������p����� � �����p���������������������������������� ����������������������F�I�1������������������������������������ ��������������������������������������������������������������� ������������������������������������������������������ �������� �<�R�P�H�J�<����������������������������������������� ��������.�Q�0���|���������������������������������������� ��������������A�>�"�"�>�A�������������������������������������� �����������>��>��"�A�A������������������������������������ ����������������������������������������������������� �������$���$�$�$�� �$������������������������������������� ��������������������������"�"���������������������������������� ����������<�B�™�¥�¡�¥�™�B�<������������������������������������ ��������������|���<�H�8�H�0������������������������������������ ���������� ��$�H�H�$�� �������������������������������������� ���������������~�������������������������������������������� ����������������>���������������������������������������������� ����������<�B�¥�©�¹�¥�¹�B�<������������������������������������ ��������������������������~������������������������������������ �������������������� ��� ������������������������������������ ������������������������������������������������������� ����������������x�@�0��H�0������������������������������������ ����������������0�H���H�0������������������������������������ ������������������������������������������������������������ ����@�@�]�c�A�A�A�A�A������������������������������������������ �������������=�E�E�E�?������������������������������������ ���������������� � �������������������������������������������� ���$� �������������������������������������������������������� ����������������p� � � �`� ������������������������������������ ����������������|���8�D�D�8������������������������������������ ����������H�$�� � ��$�H�������������������������������������� ��������� � ��s�!� � �`� ������������������������������������ ������������y�&� � �`� ������������������������������������ ��������� � ��3�I���H�0������������������������������������ ��������>�A�A�@� ������������������������������������������ ��������A�A�A��A�A�"������ �������������������������������� ��������A�A�A��A�A�"�������������������������������������� ��������A�A�A��A�A�"����"���������������������������������� ��������A�A�A��A�A�"����N�1���������������������������������� ��������A�A�A��A�A�"����"�"���������������������������������� ��������A�A�A��A�A�"���"����������������������������������� ��������O�H�H�H�~�H�H�H�H�7������������������������������������ ���$� �>�A�@�@�@�@�@�@�A�>������������������������������������ ��������� � � �<� � ������ �������������������������������� ��������� � � �<� � �������������������������������������� ��������� � � �<� � ����"���������������������������������� ��������� � � �<� � ����"�"���������������������������������� ��������>�������>����� �������������������������������� ��������>�������>������������������������������������� ��������>�������>���"���������������������������������� ��������>�������>���"�"���������������������������������� ��������|�!�!�!�!�á�!�!�!�|������������������������������������ ��������A�C�E�I�I�Q�a�A���N�1���������������������������������� ��������>�A�A�A�A�A�A�>����� �������������������������������� ��������>�A�A�A�A�A�A�>������������������������������������� ��������>�A�A�A�A�A�A�>���"���������������������������������� ��������>�A�A�A�A�A�A�>���N�1���������������������������������� ��������>�A�A�A�A�A�A�>���"�"���������������������������������� ����������A�"����"�A���������������������������������������� ������@�>�a�Q�Q�I�I�E�E�C�>����������������������������������� ��������>�A�A�A�A�A�A�A����� �������������������������������� ��������>�A�A�A�A�A�A�A������������������������������������� ��������>�A�A�A�A�A�A�A���"���������������������������������� ��������>�A�A�A�A�A�A�A���"�"���������������������������������� �������������"�A�A������������������������������������� ��������@�@�@�~�A�A�A�~�@�@������������������������������������ ��������,�"�"�"�$�h�$�"�"������������������������������������� ��������=�C�A�?���>��������������������������������������� ��������=�C�A�?���>��������������������������������������� ��������=�C�A�?���>���"������������������������������������ ��������=�C�A�?���>���&������������������������������������� ��������=�C�A�?���>���"�"������������������������������������ ��������=�C�A�?���>��� �� ���������������������������������� ��������7�I�H�>� �I�6������������������������������������������ ���$� �>�A�@�@�@�A�>������������������������������������������ ��������>�@�@��A�A�>����� ���������������������������������� ��������>�@�@��A�A�>��������������������������������������� ��������>�@�@��A�A�>���"������������������������������������ ��������>�@�@��A�A�>���"�"������������������������������������ ��������>������8����� ���������������������������������� ��������>������8��������������������������������������� ��������>������8���D�(����������������������������������� ��������>������8���$�$������������������������������������ ��������>�A�A�A�A�A�>��(��$���������������������������������� ��������A�A�A�A�A�a�^���N�1������������������������������������ ��������>�A�A�A�A�A�>����� ���������������������������������� ��������>�A�A�A�A�A�>��������������������������������������� ��������>�A�A�A�A�A�>���"������������������������������������ ��������>�A�A�A�A�A�>���N�1������������������������������������ ��������>�A�A�A�A�A�>���"�"������������������������������������ �������������������������������������������������������� ������@�>�Q�Q�I�E�E�>����������������������������������������� ��������=�B�B�B�B�B�B����� ���������������������������������� ��������=�B�B�B�B�B�B��������������������������������������� ��������=�B�B�B�B�B�B���"������������������������������������ ��������=�B�B�B�B�B�B���$�$������������������������������������ ��<�B��:�F�B�B�B�B�B��������������������������������������� ��@�@�@�^�a�A�A�a�^�@�@�@�������������������������������������� ��<�B��:�F�B�B�B�B�B���$�$����������������������@�@@@@@@������������PP������PPø(|((������ p¨(p ¨p ��� ������&�)����h�”�d����������2LLR0((�����������@ ���� @@€€€€@@ ����@  @����������� @ ������� ø ������€@@����������������|����������@�������������€€@@@@ ������pˆˆˆˆˆˆp������ ` ������ø€@0ˆp������pˆ0ˆp������øPP0������pˆð€€ø������pˆˆÈ°€ˆp������@@ ø������pˆˆˆpˆˆp������pˆh˜ˆˆp������@����@������€@@����@��������� @ ����������ð�ð����������@  @�������� � H0��� ��>�@�›�¤€¤€¢@’@M@ €����������‚‚|D((������xDDDxDDx������<B@@@@B<������xDBBBBDx������|@@@|@@|������@@@@x@@|������:FBF@@B<������BBBB~BBB������@@@@@@@@������`������DDHHpPHD������x@@@@@@@��� ������I�I�I�U�U�c�c�A����������FFJJRRbb������<BBBBBB<������@@@@xDDx�����>FJBBBB<������DDDDxDDx������8DD8@D8������ ø������<BBBBBBB������((DDD‚‚��� ������"�"�"�U�I�I�ˆ€ˆ€���������DD(((DD������((DD‚������|@ |����`@@@@@@@@`������ @@@@€€����À@@@@@@@@À���������ˆPP ����ü��������������������?@ ������hpà��������°ÈˆˆÈ°€€������`€€`��������h˜ˆˆ˜h������`€ð`��������@@@@@à@0����ph˜ˆˆ˜h��������ˆˆˆˆÈ°€€������€€€€€€�€�����€€€€€€€�€������ À €€������€€€€€€€€������’’’’’ì��������ˆˆˆˆÈ°��������pˆˆˆˆp������€€°ÈˆˆÈ°������h˜ˆˆ˜h��������€€€€À ��������```��������`@@@@à@@������p�������� PPˆˆ��������((TT’’��������ˆˆP Pˆ������€@@`  ��������ð€@ ð������ @@@@€@@@ ����@@@@@@@@@@����€@@@@ @@@€���������˜d���������������������@@@@@@�@�������@p¨  ¨p�������°H@@à@H0�������``������� ø øPPˆˆ����@@@@��@@@@����pˆpȘpÀˆp������������� ��� �������"�M�Q�M�"����������������à�  à������(P P(�����������|������������à������� �������"�U�Y�]�"��������������������à���������``�������ø� ø ����������à@ `����������À @à�������������€@����€€ð������(((((hèèè|���������À��������À@�����������������@@À@����������à�à à������ P(P ������ ������!�€� �H�D�Ä�B������� ������'��� �H�D�Ä�B������� ������!�€� �È�$�D�â��������0H@ ���������‚‚|D((� ���‚‚|D((����‚‚|D((�(���‚‚|D((�(���‚‚|D((�(����‚‚|D((( ������€ˆ�x�H�/€(��€�������<B@@@@B<������|@@@|@@|� ���|@@@|@@|����|@@|@@@|�(���|@@@|@@|�(����@@@@@@@@�@€���@@@@@@@@�@ ���@@@@@@@@� @���@@@@@@@@� ����xDBBòBDx������FFJJRRbb�(���<BBBBBB<����<BBBBBB<����<BBBBBB<����<BBBBBB<�(���<BBBBBB<�$�����ˆP Pˆ�������@<bRRJJF<�����<BBBBBBB����<BBBBBBB����<BBBBBBB����<BBBBBBB�$����((DD‚����@@xDDx@@������  `������hpà� @�����hpà� �����hpà�P �����hpà� P�����hpà�P������hpà P �����l’~ì������` `€€`��������`€ð`� @�����`€ð`�@ �����`€ð`�P �����`€ð`�P������€€€€€€�€������€€€€€€�€@�����€€€€€€�@€�����@@@@@@� ������pˆˆˆˆx`P�����à� P�����pˆˆˆˆp� @�����pˆˆˆˆp� �����pˆˆˆˆp�P �����pˆˆˆˆp�P(�����pˆˆˆˆp�P������� �ø� ��������pˆÈ¨˜t��������p� @�����p�@ �����p�P �����p�P����€@@`  � ���€€°ÈˆˆÈ°€€����€@@`  �P�����������������������@�@@@@@@@�������������PPP�������PPPü(ü((�������8TT8PT8���������������� ��������€ @ @ €�4�J�J�1�������������������������������������� ��������9�F�B�E�(��$�$������������������@ `���� @@@@@@ ����€@@ @@€�������������P P��������|��������@ ������������������|������������@���������������€€@@@ �������8DDDDDDD8�������p�������|@@ D8�������8DDD8�������üˆH((�������8DDx@@|�������8DDDdX@D8������� |�������8DDDD8DD8�������8D<DDD8�������@����@��������€@@����@����������� 0À0 ������������|�|������������``�����������DD8������������������������� ������� �M€S@Q Q I & 0@€������������������������������������� ��������A�A�A�>�"�"��������������|BBB|BBB|����������������� ���������!�@�@�@�@�@�!��������������������������������������� ��������|�B�A�A�A�A�A�B�|�����������~@@@~@@@~�������@@@@|@@@~�������������������������������� ���������#�A�A�G�@�@�!��������������������������������������� ��������A�A�A�A��A�A�A�A�����������@@@@@@@@@�������8DD�������ABDHpPHDB�������|@@@@@@@@������������������������������ ��������D@D@J@J@Q@Q@`À`À@@������������������������������������� ��������A�C�E�E�I�Q�Q�a�A�������������������������������������� ���������!�@€@€@€@€@€!������������@@@@|BBB|����������������� ��������€!�B€D€@€@€@€!������������BBBD|BBB|�������<BB 0@B<�������þ�������<BBBBBBBB������������������������������ ������������"�"�"�A�A�������������������������������������� �����������*€*€$€D@D@D@������������������������������������� ��������A�"�"����"�"�A�������������������������������������� �������������"�"�A�A�������������������������������������� ���������@� ��������������`@@@@@@@@@@`������� @@€€����À@@@@@@@@@@À������������ˆP ������þ�����������������������À€@�������:DD<D8���������XdDDDdX@@�������8D@@@D8���������4LDDDL4�������8D@|DD8���������@@@@@@à@0����8D4LDDDL4���������DDDDDdX@@�������@@@@@@@�@����€@@@@@@@@@�@�������DHP``PH@@�������@@@@@@@@@���������������� ��������I�I�I�I�I�m�R���������������DDDDDdX���������8DDDDD8������@@@XdDDDdX������4LDDDL4���������@@@@@`P���������0H0@H0���������`@@@@@à@@�������4LDDDDD���������((DDD����������� ��������"�"�U�I�I�ˆ€ˆ€��������������„„H00H„������@ ((HDDD���������x@ x������0@@@@@€@@@@0����@@@@@@@@@@@@����À  À����������˜d������������������������@@@@@@@@�@�������� 8dPPPT8��������X$x $��������„xHHx„���������||(DD�����@@@@���@@@@����pˆ0Hˆˆ`€ˆp��������������� ������������������ ��������� €N@Q@P@Q@N@ €���������������p�Pp��������(P(������������~�������������ð����������������������������������� ��������� €J@J@L@J@N@ €�������������������ð�����������``��������|�|������������ð@ `�����������À @ à����������������€@���@@@tLDDDDD������((((((hèèèh<����������@���������À @������������������ ` ������������p�pPp��������P((P�������� ��������A�'€��I�D�D�Â�A�������������������������������������� ��������G€"��€K�H�D�Â�A�������������������������������������� ��������!�€� �É�$�D�"�á��������8DD ��������������������� ��������A�A�A�>�"�"��������������������������������������� ��������A�A�A�>�"�"��������������������������������������� ��������A�A�A�>�"�"��������������������������������������� ��������A�A�A�>�"�"������� �������������������������������� ��������A�A�A�>�"�"���������������������������������������� ��������A�A�A�>�"�"�������������������������������������� ��������GÀD�D�<�'À$���À������������������������������������� ������!�@�@�@�@�@�!������������~@@@~@@@~�����~@@@~@@@~�����~@@@~@@@~�����~@@@~@@@~������@@@@@@@@@�@€����@@@@@@@@@�@ ����@@@@@@@@@� @����@@@@@@@@@� ������������������������ ��������|�B�A�A�ñ�A�A�B�|�������������������������������������� ��������A�C�E�E�I�Q�Q�a�A���� �������������������������������� ���������!�@€@€@€@€@€!������������������������������������� ���������!�@€@€@€@€@€!������������������������������������� ���������!�@€@€@€@€@€!���� ��������������������������������� ���������!�@€@€@€@€@€!����� �������������������������������� ���������!�@€@€@€@€@€!������������D((D�������������������� ������€�^�!�P€H€D€D€B€!�€�@��������<BBBBBBBB�����<BBBBBBBB�����<BBBBBBBB�����<BBBBBBBB�$���������������������������� �������������"�"�A�A���������@@|BBB|@@�������XDDDXDDD8�������:DD<D8�������:DD<D8�������:DD<D8�(������:DD<D8�(������:DD<D8�(�������:DD<D8$������������������������� ��������;€D@D�?À@D@;€�����������08D@@@D8���������8D@|DD8� ������8D@|DD8�������8D@|DD8�(������8D@|DD8�(�������@@@@@@@�@€������@@@@@@@�@ ������@@@@@@@� @������@@@@@@@� �������8DDDD<(4������DDDDDdX�(������8DDDDD8� ������8DDDDD8�������8DDDDD8�(������8DDDDD8�(������8DDDDD8�(���������|�����������¸DdTLD:���������4LDDDDD� ������4LDDDDD�������4LDDDDD�(������4LDDDDD�(����@ ((HDDD����@@@XdDDDdX@@����`(($DD�(�������������������������������00�� 00000000������������������ØØØ������������������ ����������$�$�$�ÿ€ÿ€���ÀÀ � � ���������������������������� ���������?€uÀdÀÀ€�<�t�d�e€?€������������������������������������� < ~ff~<€=€~ÀfÀf`~`<0��������������������������� ����������8?psàaÀaàc`w`>��3�3�?��������������������������@ ``�����00``````````00�����@`0000`@�����������������D88|��������������������� ���������� � � � �€€ � � � �������������������@ ``����������������������������������������� ������������������€€�����������������������������``���������������������ÀÀ@@`` 00����� �����������?�3�a€a€a€a€a€a€a€3�?����������������������������� ��������������������>�>����������������������������� ����������€€`�p�8����€€a€����������������������������� �����������?�c€a€€€���a€a€?����������������������������� ����������€€€ÀÀa€1€€€ €€€€��������������������������� ����������>��c€a€€€c€�~�`�`������������������������������ �����������?�q€a€a€a€�n�`�`�1€?€���������������������������� ����������0�0���� � ����€€€��������������������������� �����������?�s€a€a€3�?�3�a€a€s€?����������������������������� ����������>��c�€€€?€a€a€a€c€?�����������������``������``����������@ ``������``��������� ����������€€�8�`�8��€€����������������������������������� ��������������?€?€����?€?€������������������������������������� ����������`�x���€��x�`������������������������������������ ����������������������c�c��>��������������������������������ð�ø���8��3¸�gü�ff�f3�f3�f1€c€3¹€1Ù€��þ�ø��������������������������������������� ����������À0À0````à?À0À0À€€����������������������������� ����������Àà`p`0`0`pàÀ`À`````àÀ€�����������������������������������Àð880p�`�`�`�`�p�088ðÀ������������������������� ����������€À`à```0`0`0`0`0`0```àÀ€������������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ������������������������� ����������`�`�`�`�`�`�€€`�`�`�`�ÀÀ�����������������������������������Øø880p`ø`ø`�`�p088ðÀ������������������������� ����������`0`0`0`0`0`0ðð`0`0`0`0`0`0�������������00000000000000����������������������������� �����������?�s€a€a€€€€€€€€€€������������������������� ����������`8`p`àaÀc€g�~�|�n�g�c€aÀ`à`p������������������������� ����������€€`�`�`�`�`�`�`�`�`�`�`�`������������������������������������a†a†cÆbFffffl6l6xxpp``������������������������� ����������`0`p`ð`ða°c0c0f0f0l0x0x0p0`0�����������������������������������Àð880p` ` ` ` p088ðÀ������������������������� ����������`�`�`�`�`�`�€À`à`````àÀ€����������������������������������Øð8x0ØpÜ` ` ` ` p088ðÀ������������������������� ����������`````````À`À€À`à`````àÀ€������������������������� ����������€?àpp`0�0�pà€>�p�`0pp?à€������������������������� ����������������������àà������������������������� ����������€?à0``0`0`0`0`0`0`0`0`0`0`0������������������������������������€€ À À À```000000``���������������������������������������� � ���6�6�33�33�1#�1ã�aá€`Á€`Á€`Á€�������������������������������������� ����������`0pp0`8àÀ €�� €À8à0`pp`0�����������������������������������������€ À``0000``������������������������� ����������àà`�0�� ����€�À�`àà���������xx``````````````xx���������00 ``@@ÀÀ�����ðð00000000000000ðð������������� ��������������������������A�c�6������������������������������ ��ÿÀÿÀ������������������������������������������������������``@@ ����������������������������� ����������;�w�c�c�s�?��c�w�>���������������������������������� ����������o�€q€`À`À`À`Àq€€o�`�`�`�`�������������������������� �����������?€1€`�`�`�`�1€?€���������������������������������� ����������À?À1À`À`À`À`À1À?ÀÀ�À�À�À�À������������������������� �����������?€q€`�`�€a€a€?�����������������������00000000üü00<����������������������������� ���?€1€�ÀÀ?À1À`À`À`À`À0À?ÀÀ��������������������������������� ����������a€a€a€a€a€a€a€q€o€g�`�`�`�`��������������``````````��``�����Àà````````````��``����� ����������c€c�g�f�l�|�x�l�f�c�`�`�`�`��������������``````````````���������������������������������������cccccccs˜oxf0��������������������������������� ����������a€a€a€a€a€a€a€q€o€g���������������������������������� �����������?€1€`À`À`À`À1€?€���������������������������������� ��`�`�`�`�o�€q€`À`À`À`Àq€€o���������������������������������� ���À�À�À�ÀÀ?À1À`À`À`À`À1À?ÀÀ���������������������```````pll��������������������������������� ����������<�~�c���~�`�c�?�����������������������8000000üü000������������������������������ ����������9€}€c€a€a€a€a€a€a€a€��������������������������������� ���������� � ���3�3�3�a€a€a€������������������������������������������� À Àà 4°3030ccc��������������������������������� ����������a€s€3�� � ��3�s€a€��������������������������������� ��8�8� � � � ���3�3�3�a€a€a€��������������������������������� ������������`�0�� ���������������������� 000000`À`00000 �����``````````````````�����À`000000 00000`À������������� ������������������f�?�€����������������������������������������������00000000��00��������� ���������?€5€d�d�d�d�5€?€�������������������������������� ����������ß�ÿ€`€0���~�0�`�a€a€?����������������������������� ����������������a€€3�3�3�€a€��������������������������������� ���������� � � � �€ �€�3�3�3�a€a€������������``````����```````����������������������������� ���?�a€a€€��9€q€a€c€7�>�x�a€a€?��������������������������ØØ����������������������������������������À0 #ˆDDHHHDD#ˆ 0À���������������������|�4l$d8����������������������������� ������������ ��6�l�l�6�� ������������������������������������ �����������������À�À�ÀÀÀ�����������������������������||�����������������������������������������������À0 $(DDD„GÄD$D$'È 0À���������������������������ø������������������8lDl8������ ����������€€�� � � �€€ � � �������������������������øø`0˜øp���������������pø˜00˜øp���������������������À`0������������� ��`�`�`�`�m€€s€a€a€a€a€a€a€a€��������������������������������� �� � � � � � � � � � ��9�y�y�y�y�9�€�����������������``�������������ðØp`���������������������������00000pp0����������������|�8lDDl8��������������������� ������������H�l�6���6�l�H���������������������������������������������� üØx3811ˆ0À0Àp`p000�������������������������������������|| 0 3L1|1¸0À0Àp`p000������������������������������������� üØxs8ù™ˆ0À0À˜`ø0p0��������������������������� ��>��c�c�p�8�� � � ����� � ���������������������������������� ����������À0À0````à?À0À0À€€������� ������������������� ����������À0À0````à?À0À0À€€��������€����������������� ����������À0À0````à?À0À0À€€������€������������������� ����������À0À0````à?À0À0À€€�������€ €����������������� ����������À0À0````à?À0À0À€€������€€������������������� ����������À0À0````à?À0À0À€€�����€€���������������������������������`ÿ€`ÿ€0À�0À�?À�À�ÿ�ÿ� À� À�À�À�ÿ€ÿ€����������������������������������������� €€�Àð880p�`�`�`�`�p�088ðÀ������������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ��� ������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ����€����������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ��€������������������� ����������ÀÀ`�`�`�`�€€`�`�`�`�ÀÀ��€€�������00000000000000�0`À�����00000000000000�0 �����00000000000000�Ìx0�����00000000000000�ÌÌ������������������ ����������€À`à```0`0ü0ü0`0`0```àÀ€������������������������� ����������`0`p`ð`ða°c0c0f0f0l0l0x0p0p0�� € @@���������������������������Àð880p` ` ` ` p088ðÀ��€�����������������������������Àð880p` ` ` ` p088ðÀ��€�À�`���������������������������Àð880p` ` ` ` p088ðÀ��`À€���������������������������Àð880p` ` ` ` p088ðÀ��À  ���������������������������Àð880p` ` ` ` p088ðÀ��ÀÀ������������������� ����������ÀÀa€3�� ��3�a€ÀÀ���������������������������������������������ÇÀÿðx88ln g cŒaÌpÜ0x88üÌ������������������������� ����������€?à0``0`0`0`0`0`0`0`0`0`0`0���� ������������������ ����������€?à0``0`0`0`0`0`0`0`0`0`0`0����€����������������� ����������€?à0``0`0`0`0`0`0`0`0`0`0`0�� À€������������������ ����������€?à0``0`0`0`0`0`0`0`0`0`0`0�� À À�����������������������������������€ À``0000``���€�À����������������� ����������`�`�`�€À`à`````àÀ€`�`�`�������������������������� ����������n�o�c�c�c�c�n�n�c�c�c�c�>��������������������������� ����������;�w�c�c�s�?��c�w�>��� ��0�������������������������� ����������;�w�c�c�s�?��c�w�>���� ��������������������������� ����������;�w�c�c�s�?��c�w�>���3�� �������������������������� ����������;�w�c�c�s�?��c�w�>���&�-��������������������������� ����������;�w�c�c�s�?��c�w�>���6�6���������������������������� ����������;�w�c�c�s�?��c�w�>��6�6�������������������������������������:ðwücŒc�s�?ü c wø>ð��������������������������������� ��<�6����?€1€`�`�`�`�1€?€���������������������������������� �����������?€q€`�`�€a€a€?���� ��0�������������������������� �����������?€q€`�`�€a€a€?���� ���������������������������� �����������?€q€`�`�€a€a€?����3�� �������������������������� �����������?€q€`�`�€a€a€?���������������������``````````�0`À���������``````````�À`0���������``````````�ð`���������``````````�ØØ���������������������� �����������?€1€`À`À`À`À1€?€�&���0�������������������������� ����������a€a€a€a€a€a€a€q€o€g���&�-��������������������������� �����������?€1€`À`À`À`À1€?€���� ��������������������������� �����������?€1€`À`À`À`À1€?€��� ���������������������������� �����������?€1€`À`À`À`À1€?€���€��������������������������� �����������?€1€`À`À`À`À1€?€����€ €������������������������� �����������?€1€`À`À`À`À1€?€�������������������������������� ������������ � ���€€�� � ������������������������������������ ����������Î�€1€xÀlÀfÀcÀ1€?À`��������������������������������� ����������9€}€c€a€a€a€a€a€a€a€��� ��������������������������� ����������9€}€c€a€a€a€a€a€a€a€�� ���������������������������� ����������9€}€c€a€a€a€a€a€a€a€��3�� �������������������������� ����������9€}€c€a€a€a€a€a€a€a€��3�3���������������������������� ��8�8� � � � ���3�3�3�a€a€a€�� ���������������������������� ��`�`�`�`�o�€q€`À`À`À`Àq€€o�`�`�`�`�������������������������� ��8�8� � � � ���3�3�3�a€a€a€��3�3�����������������������������@�@@@@@������������  �������PPøPøPP������ à`€p ������D**V¨¤~�������v˜tnP0������������@À����� @@€€€@@ �����€@@ @@€����������� @ ������� ø �������@@@���������������x�����������@�������������€€@@@ �������``�������p ` �������ð@ `�������à``�������øP0�������àà@p�������`à@0�������@@@ ð�������```�������À p`�������@���@�������@@@���@��������� @ ����������ø�ø����������€@ @€���������@�@@  à��� ����>�@�’�­�¥�¥��B�<�����������îD|((8�������ðHHpHHð�������xÄ€€€Ä|�������øLDDDLø�������øH@p@Hø�������à@@p@Hø�������xÄ„œ€Ä|�������îDD|DDî�������à@@@@@à�������À  p�������ìHP`PHì�������øH@@@@à��� ��������ë€I�U�U�c�c�ã€����������äLLTTdî�������xÌ„„„Ìx�������à@@pHHð����� pÌ„„„Ìx�������ìHPpHHð�������à`Àp�������p ¨ø�������8lDDDDî�������((lDî��� ��������"�"�U�U�É€ˆ€ÝÀ����������îD((Dî�������8((Dî�������øˆ@ ˆø�����À€€€€€€€À������� @@@€€�����À@@@@@@@À�����������PP ����ø����������������������À€������à ` À���������àà€€�������`€€€`���������hp0�������`€À `���������à@@@à@0�����à`@  p���������Øà€€�������@@@@À�@�����€@@@@@À�@�������˜à €€�������à@@@@@À�������Û’’’ì���������Øà���������``�������À€àà�������8pp���������à@@` ���������à `€à���������0@@@à@��������h��������� `PØ���������(lT’Û���������ØP PØ�������€€@` ¸���������ð@ ð������� @@@€@@@ �����€€€€€€€€€�����€@@@ @@@€���������˜d����������������������@@@@@�@��������€à€p��������ðÈ@à@P0��������ˆpPPpˆ�������p ø ØPˆ�������€€€�€€€������à P @p������������P��� ���������"�M�Q�M�"��������������à�  À��������P  P����������|������������à������� ���������"�U�Y�]�"������������������à����������``�������ø� ø ����������à@ `����������À @à������������€@�����€€è�������((((hèèè|���������€��������À @�����������������à@À@���������à�@ @�������� PP ���������D>,ôHÈD�������N$*öHÈD�������D>,Ô(Hä�����à €@@�@���������îD|((8� ����îD|((8�����îD|((8�(����îD|((8�(����îD|((8�(�����îD|((8( ��������ï�I�x�.�(�9���������` xÄ€€€Ä|�������øH@p@Hø� @����øH@p@Hø� ����øH@p@Hø�P ����øH@p@Hø�P�����à@@@@@à�@€����à@@@@@à�@ ����à@@@@@à� @����à@@@@@à� �����øLDäDLø�������äLLTTdî�P(����xÌ„„„Ìx� @����xÌ„„„Ìx�����xÌ„„„Ìx�P ����xÌ„„„Ìx�P(����xÌ„„„Ìx�P�����ˆP Pˆ��������€|fRRJf>������8lDDDDî� ����8lDDDDî�����8lDDDDî�(����8lDDDDî�(�����8((Dî�����à@pHp@à�������àPP`PP �������à ` À�@€������à ` À�@ ������à ` À� @������à ` À� P������à ` À� �������à ` À@ @������Ø p(Ø������À @`€€€`���������`€À `�@€������`€À `�@ ������`€À `� @������`€À `� �������à@@@À�@€������à@@@À�@ ������à@@@À� @������à@@@À� �������`p p@������Øà� P������``� @������``�@ ������``� @������``� P������``� ������� �ø� ���������àp��������h� @������h�@ ������h�P ������h�P�����€À@` ¸� ����À€àà€€�����€À@` ¸� ��������������������������������������������������������������� ��������������������������������������D�f�f�f�f���������������� �������������������àà€€€?ð?ð@@@@@��������������� ������������?�åÀÄÀ„`„``àÀ€�<�t�d�d d`4à€����������������������������������� 9�0€0@0@˜@�ŒÀ�Ç€<`�r �a0�`˜�`ˆ�0Œ�þ��������������������������������������������������?¿�pð€``�`à�`Ð�1�ˆ� ��€�À� `� � �`�À���������������������������������� ��������00````````00�������@    @������������������� ��������������������������������2`:à�:à2`��������������������������������������øø���������������������������080�����������������������������������������������������øø�����������������������������������00������������������������ÀÀÀ@`` 00 �������������� ���������������€0À0Àpà````````````````0À0À€���������������� ��������������?À������������������������������� ��������������Àà0 � ����€€�À�À@À@À!À?€���������������� ��������������<�s�a€�€�À�À�ÀÀ€���A€A€#€?����������������� ��������������€€€€ààa€!€1€€€ € €€€€€��������������� ��������������?�qÀ`À�`�`�`�`�àÀÀ?�<�0���Àà��������������� ���������������=À0Àp``````````ÀyÀw�0�8�� ��à��������������� �������������� � ��������€€�€�À@À``à?à��������������� ���������������9ÀpÀ`````` à0À€��€0À0À0À€���������������� ��������������x���€À�ÀÀ9à0à`````````à0À;À������������������00�������00���������������080�������00�������������������� �����������������0�à€�8�`�8��€�à�0�����������������������������������������������øø����øø����������������������������� ����������������`�8��€�à�0�à€�8�`�������������������������� �������������� � �����������€À0À0À À1€�����������������������������ü�ƒ��� ��w€ÞÀ1Ž`1† 1†01†1ƒ0Ã0ã8;0� �`�ÀÀ�þ���������������������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€��������������������������������������ð<  ð    8à�����������������������������ð00�`�`�`�`�`�`�`�00ò������������������������������������à�8��������������8�à��������������������������������������ü ��  à  ��ø�����������������������������~������ð��ø������������������������������������ð���0�0�`�`�`€`��`��`��`��0�0���ò���������������������������������������������~À�������ÿ��������~À����������������������~~��������������� ��������������<�f�c��������������À������������������������������������~€���8�p�à�À�€���€�À�`�0�� �~?��������������������������������������ü ������������~�������������������������������������|ü0000h0h0Ä0Ä0„0‚00000�°�°�px�|��������������������������������������������|����2�2�b�Â�Â�‚�������x€��������������������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð��������������������������������������~��������à8   8à����������������������€���8��p��à�ð���0�0�`€`€`€`€`€`€`€0�0���ð��������������������������������������~80`àÀà8 8à��������������� ��������������O�xÀ``@0@0�0�pàÀ�<�p�` ` ``1à �����������������������������à€€€€€€€€€€€€A‚A‚a†þ������������������������������������ð�� ��������������~€��������������������������������������������€�€�€�À�@�`� � �0� � ��� �0�0�ü€��������������������������������������������ƒ�ƒ�ƒ€‡€F€FÀF@L@L` ,` , , 000ü~~��������������������������������������������üÀ0€�� ��8�p��à��À�À� ��� ��~€�������������������������������������à€€€€€€À@` 080 ü?�����������������������������üp 8� ����€€À�à@`@p`8ø�������������>0000000000000000000>������������ 00 ``@ÀÀ��������| |���������������� ������������������������������@@`À €1€�� ������������������ ����ÿøÿø���������������������������������������������������������������������0p@`0������������ ��������������8À}€c€a€a€1€€€€1€3€�������������������������� ��������������/�9À0À0`0`0`0`0`0`0À9À7�0�0�0�0�p���������������� ���������������?€8@p�`�`�`�`�`� À1À€������������������������� ��������������`9À0À`À`À`À`À`À`À0À9ÀÀ�À�À�À�ÀÀ��������������� ���������������?€8@p�`�`�`�À`À À1€����������������������������x0000000000þ000������������ ����€xà`0`00à?€0���€0À0À0À0À€à������������������������� ��������������xð0`0`0`0`0`0`0`0`8à7À3€0�0�0�0�p������������������x0000000000p���00�������Àà00000000000000p���00�������������� ��������������yð0à1À3€7�6�<�4�2�3�1€3à0�0�0�0�p������������������x000000000000000p���������������������������������xñà0`À0`À0`À0`À0`À0`À0`À0`À8ñÀ7Ï€s‡��������������������������������������� ��������������xð0`0`0`0`0`0`0`0`8à7Às€������������������������� ���������������9À0À````````````0À9À�������������������������� ����x�0�0�0�0�7�9À0À0`0`0`0`0`0`0À9Àw�������������������������� ����à�À�À�À�ÀÀ9À0À`À`À`À`À`À`À0À9ÀÀ���������������������������x00000000;7s����������������� ��������������|�c�A€€€�>�8�p�a�3�����������������������������2000000000þp0�������������� ��������������p`8à0`0`0`0`0`0`0`0`pà������������������������� ��������������������1�0€0€`€`Àñà�����������������������������������������������8�8�(�d�d�1d�0Â�0Â�`Â�`Ã�ñç€�������������������������������������� ��������������xð0`ÀÀ €�� �€À0`xð������������������������� ����à�ð��� �������1�0€0€`€`Àñà������������������������� ��������������€a€0€8��� ���C�a€€������������������������� ����€� � � � � � ����`���� � � � � ��€�����������������00000000000000000������������ ����p�� � � � � � ����€��� � � � � ��p���������������� ������������������������AÀcà>0��������������������������������������������������������� ��� ������������������� ���������� � ��?€8@h�d�d�d�b�b�!À1À€�€�€��������������������� ��������������sÀ_`< ������~�����À À€��������������� ��������������������`0wp?àÀ0`0`0`0`À?àwp`0���������������������������������À����à�à�€ € À@`0 p0ø|�����������������0000000���0000000������������ ������������€€€���8€0À À!À€����€ €������������������������������ff����������������������������������ø���0á€#¸€b ÀF�@D�@D�@D�@F�@b À#˜€0ñ€��ø�������������������������������~�vÌÌ| Ìx��������������� ���������������� ` À€3�3�€ À` ����������������������������������������������������øø����������������������������� ����������������������������������������������������������������������������������ø���0€#Œ€aÀA@A @Að@A@A@aÀ!€3ñ€��ø�������������������������������������~~���������������� �����������������������������������"�A�A�A�"�������������������������������øø�������øø���������������������������������üD 0 ŒL8�������������������pˆŒ 0ŒL8������������������������� ���������������� ���� �p�`� � �.p?`8à0`0`0`0`0`0`0`0`pà������������������������� ����€€€€€€€€€€€ €€<€<€|€|€|€<€<€€À�����������������������00���������������<f������������������������������������|P0��������������������~�<fffff<������������������ ����������������"�3�€ À`` À€3�"��������������������������������������������������� €"�2�� �}Ž�†�Â�`� �0��P�0 ����������������������������������������������?�� � ����}£�“�Î�`� �0��P�0 ������������������������������������������������ €"�2�� �qŽ�ˆ†�ŒÂ� `� �00��Œ�L �8������������������������ �����1€`€a€a€p�8��� � �������������������������������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€����� ��À�€��������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�������À��p��0������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�����`�À�€������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�������à����������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�������0�0���������������������������������ü€0�� � � �ø� ��0�0�0�`�`�À�À��€�À� � �À���������������������������������ùÿð0`0```�`�à€ `€€`€`€`�`�` ` à`ÿà�������������������������À`�`à€�€ð00�`�`�`�`�`�`�`�00ò�����������������������������ü ��  à  ��ø���€�� ��������������������ü ��  à  ��ø���€�à�`�������������������ü ��  à  ��ø��`À€�������������������ü ��  à  ��ø���� À À���������~~�p`�������~~� �������? ?�@3 �������~~��ff�����������������������������������à�8�������ÿ�������8�à���������������������������������������������|����2�2�b�Â�Â�‚�������x€������p�È���������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð����� ��À�€��������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�����€��`��8��������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�����0�à��À������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�������p�È���������������������������������ð���0�0�`€`€`€`€`€`€`€0�0���ð�������0�0���������������������������� 00` À€�€ À`00 ���������������������������������������������ð���4�2�a€a€`€`€`A€`A€`!€0#�0���ò��������������������������������������������ð�� ��������������~€���� ��À�€��������������������������������ð�� ��������������~€����€��`��8��������������������������������ð�� ��������������~€����0�à��À������������������������������ð�� ��������������~€���������������������������������à€€€€€€À@` 080 ü?����À�p�0�������������������~����à8   8à���~���������������� ��������������s€6@6`0`0`0à0À1À3€6�1€0À0À0À0À€���������������� ��������������8À}€c€a€a€1€€€€1€3€���� �8�0���������������� ��������������8À}€c€a€a€1€€€€1€3€�����€€��������������� ��������������8À}€c€a€a€1€€€€1€3€���!��� ���������������� ��������������8À}€c€a€a€1€€€€1€3€�����.������������������� ��������������8À}€c€a€a€1€€€€1€3€�����3�3������������������ ��������������8À}€c€a€a€1€€€€1€3€������������������������������������8x}ücÂa€a€1€€þ†1†3Ìx������������������������� ���3��� ���?€8@p�`�`�`�`�`� À1À€������������������������� ���������������?€8@p�`�`�`�À`À À1€���� �8�0���������������� ���������������?€8@p�`�`�`�À`À À1€�����€€��������������� ���������������?€8@p�`�`�`�À`À À1€���€ ������������������ ���������������?€8@p�`�`�`�À`À À1€�����€€�������������������x0000000000p�0àÀ������������x0000000000p�@0 ������������x0000000000p�„Hx0������������x0000000000p��ÌÌ������������������� ���������������9À0À````````````0À9À€c���8À`���������������� ��������������xð0`0`0`0`0`0`0`0`8à7Às€����€@����������������� ���������������9À0À````````````0À9À���������������������� ���������������9À0À````````````0À9À�����À�À��������������� ���������������9À0À````````````0À9À���€ ������������������ ���������������9À0À````````````0À9À�����€@����������������� ���������������9À0À````````````0À9À�����€€�����������������������������������������øø������������������������������� ������������`�o�9À8Àh`l`d`f`b`c`1À9À`�`����������������������� ��������������p`8à0`0`0`0`0`0`0`0`pà��������������������� ��������������p`8à0`0`0`0`0`0`0`0`pà����À�À��������������� ��������������p`8à0`0`0`0`0`0`0`0`pà��€ ������������������ ��������������p`8à0`0`0`0`0`0`0`0`pà����€€����������������� ����à�ð��� �������1�0€0€`€`Àñà����€€��������������� ����x�0�0�0�0�7�9À0À0`0`0`0`0`0`0À9À7�0�0�0�0�p���������������� ����à�ð��� �������1�0€0€`€`Àñà����3�3������������������An invalid set of flags was passed in.��An invalid parameter was passed in. This can include an invalid flag or combination of flags.���The display driver failed the specified graphics mode.��The graphics mode is not supported.�Unknown error in graphics mode???���The computer must be restarted for the graphics mode to work.���@@ÜjG@Üj@ÜjP@ÜjW@Üj`@Üj8@ÜjglutGameModeGet� ERROR: Function <%s> called without first calling 'glutInit'.�Unknown gamemode get: %d����ð@Üj@AÜjUAÜjbAÜj AÜj0AÜjð@ÜjglutLeaveGameMode�glutEnterGameMode�failed to change screen settings�FREEGLUT�glutGameModeString�%ix%i:%i@%i�%ix%i:%i�%ix%i@%i�%ix%i�:%i@%i�:%i�@%i�unable to parse game mode string `%s'���������������������������glutSolidSierpinskiSponge��� ERROR: Function <%s> called without first calling 'glutInit'.�glutWireSierpinskiSponge�glutSolidOctahedron�glutWireOctahedron�glutSolidDodecahedron�glutWireDodecahedron�glutSolidCube�glutWireCube�glutSolidRhombicDodecahedron�glutWireRhombicDodecahedron�glutSolidIcosahedron�glutWireIcosahedron�glutSolidTetrahedron�glutWireTetrahedron����Failed to allocate memory in fghCircleTable�glutWireCylinder�glutSolidCylinder�glutWireSphere�glutSolidSphere�glutSolidTorus�glutWireTorus�glutWireCone�glutSolidCone������������������������������������������������������������������������������������������������������������������������� ������������ ������������ ������������ ������������ ��� ��� ������ ��� ��� ������ ��� ��� ������ ��� ��� ����������������������������������������������������������������������������������� ��������� ��������� ������������������������������ ������ ��� ��� ��� ��� ��� ������ ��� ��������� ��������� ��� ���������?����E§yâ?E§yâ¿-DTû!@-DTû!À�������� �=<>~!����WARNING - Display string token not recognized: %s��ÜjÜj{ÜjÜjÜjÜj]ÜjWÜjÜjHÜjÜjÜjÜjÜjiÜjcÜjÜj?ÜjNÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjrÜj÷ŽÜjfgDeinitialize(): no valid initialization has been performed����illegal glutInit() reinitialization attempt�Could not allocate space for the program's name.�GLUT_FPS�%d�DISPLAY�-display���-display parameter must be followed by display name�-geometry���-geometry parameter must be followed by window geometry settings�-direct����parameters ambiguity, -direct and -indirect cannot be both specified�-indirect�-iconic�-gldebug�-sync�FREEGLUT�GLUT_ICON�fghInitialize�Window Class Not Registered�� ERROR: Internal error <%s> in function %s�alpha�acca�acc�blue�buffer�conformant�depth�double�green�index�num�red�rgba�rgb�luminance�stencil�single�stereo�samples�slow�win32pdf�win32pfd�xvisual�xstaticgray�xgrayscale�xstaticcolor�xpseudocolor�xtruecolor�xdirectcolor�xstaticgrey�xgreyscale�xstaticcolour�xpseudocolour�xtruecolour�xdirectcolour�borderless�aux���������������������07Þj67Þj;7Þj?7ÞjD7ÞjK7ÞjV7Þj\7Þjc7Þji7Þjo7Þjs7Þjw7Þj|7Þj€7ÞjŠ7Þj’7Þj™7Þj 7Þj¨7Þj­7Þj¶7Þj¿7ÞjÇ7ÞjÓ7ÞjÞ7Þjë7Þjø7Þj8Þj8Þj8Þj'8Þj58ÞjC8ÞjO8Þj]8Þjh8Þj������������GLUT_DIALS_SERIAL�SOFTWARE\FreeGLUT�DialboxSerialPort�96,n,8,1��glutJoystickSetSaturation��� ERROR: Function <%s> called without first calling 'glutInit'.�glutJoystickGetSaturation�glutJoystickSetDeadBand�glutJoystickGetDeadBand�glutJoystickNotWorking�glutJoystickGetNumButtons�glutJoystickGetNumAxes�glutJoystickGetCenter�glutJoystickGetMaxRange�glutJoystickGetMinRange�glutJoystickSetCenter�glutJoystickSetMaxRange�glutJoystickSetMinRange���¿¤ÜjÊ¥Üj¶¥Üj¢¥ÜjŽ¥Üjz¥Üjf¥Üj¿¤ÜjؤÜjCurrentJoystickSettings�System\CurrentControlSet\Control\MediaResources\Joystick�%s\%s\%s�OEMName�Joystick%d%s��System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM�%s\%s���illegal attempt to initialize joystick device again�JS: Failed to read joystick name from registry������A§ tZà&?��zD���?freeglut �(%s): �Event Handler�� ERROR: Internal <%s> function called without first calling 'glutInit'.�fgWindowProc�Cannot create window�� ERROR: Internal error <%s> in function %s�­µÜj£µÜj™µÜjµÜj…µÜj{µÜjqµÜjgµÜjö²Üjö²Üjö²Üjö²Üj]µÜj.µÜjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üjö²Üj'µÜj µÜjµÜjµÜj µÜjµÜjý´Üjö´Üjï´Üjè´Üjá´Üj±´Üjx»Üjn»Üjd»ÜjZ»ÜjP»ÜjF»Üj<»Üj2»Üj•·Üj•·Üj•·Üj•·Üj(»Üj»Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj•·Üj»Üj »Üj»ÜjüºÜjõºÜjîºÜjçºÜjàºÜjÙºÜjÒºÜj˺Üj›ºÜjglutLeaveMainLoop��� ERROR: Function <%s> called without first calling 'glutInit'.�glutMainLoopEvent�glutMainLoop�����������������������������������ÿÿÿÿ������ÿÿÿÿ������glutSetMenuData� ERROR: Function <%s> called without first calling 'glutInit'.�glutGetMenuData�glutDetachMenu�glutAttachMenu�glutGetMenu�glutSetMenu�glutDestroyMenu�glutCreateMenu�_�glutRemoveMenuItem�glutChangeToSubMenu�glutChangeToMenuEntry�glutAddSubMenu�glutAddMenuEntry�fghCheckMenuStatus�Cannot find menu entry��� ERROR: Internal error <%s> in function %s�fgDisplayMenu���Displaying menu in nonexistent window�������333333Ó?���@����glutCopyColormap���� ERROR: Function <%s> called without first calling 'glutInit'.�glutGetColor�glutSetColor�glutSetKeyRepeat��Invalid glutSetKeyRepeat mode: %d�glutIgnoreKeyRepeat��� ERROR: Function <%s> called with no current window defined.�glutForceJoystickFunc�glutReportErrors�invalid value�invalid enumerant�invalid operation�stack overflow�stack underflow�out of memory�table too large�invalid framebuffer operation�texture too large�unknown GL error�GL error: %s�glutExtensionSupported����glutGetModeValues��� ERROR: Function <%s> called without first calling 'glutInit'.�glutLayerGet����glutLayerGet(): missing enum handle %d�glutGetModifiers�glutGetModifiers() called outside an input callback�glutSetOption���glutSetOption(): missing enum handle %d�glutDeviceGet���glutDeviceGet(): missing enum handle %d�aÞÜjpÞÜj€ÞÜjÞÜjåÝÜjµÞÜjÞÜjåÝÜj×ÝÜjåÝÜj ÞÜj0ÞÜj7ÞÜj@ÞÜjPÞÜjÞÜj ÞÜjglutGet�glutGet(): missing enum handle %d�������MonoRoman���àEÞj€���‰aCàAÝj%†ÑB����|JÞj%†ÑB���„JÞj%†ÑB���”JÞj%†ÑB���ÀJÞj%†ÑB���àJÞj%†ÑB���øJÞj%†ÑB���KÞj%†ÑB���KÞj%†ÑB��� KÞj%†ÑB���(KÞj%†ÑB���0KÞj%†ÑB���HKÞj%†ÑB���XKÞj%†ÑB���`KÞj%†ÑB���hKÞj%†ÑB���pKÞj%†ÑB���xKÞj%†ÑB���€KÞj%†ÑB���ˆKÞj%†ÑB���KÞj%†ÑB���˜KÞj%†ÑB���¨KÞj%†ÑB���°KÞj%†ÑB���¸KÞj%†ÑB���ÈKÞj%†ÑB���ÐKÞj%†ÑB���ØKÞj%†ÑB���èKÞj%†ÑB���øKÞj%†ÑB����LÞj%†ÑB���LÞj%†ÑB���LÞj%†ÑB���(LÞj%†ÑB���8LÞj%†ÑB���PLÞj%†ÑB���hLÞj%†ÑB���pLÞj%†ÑB���€LÞj%†ÑB��� LÞj%†ÑB���¸LÞj%†ÑB���ÈLÞj%†ÑB���àLÞj%†ÑB���èLÞj%†ÑB���ðLÞj%†ÑB���MÞj%†ÑB��� MÞj%†ÑB���@MÞj%†ÑB���XMÞj%†ÑB���`MÞj%†ÑB���pMÞj%†ÑB���€MÞj%†ÑB���˜MÞj%†ÑB��� MÞj%†ÑB���°MÞj%†ÑB���¸MÞj%†ÑB���àMÞj%†ÑB����NÞj%†ÑB���NÞj%†ÑB��� NÞj%†ÑB���@NÞj%†ÑB���`NÞj%†ÑB���€NÞj%†ÑB��� NÞj%†ÑB���°NÞj%†ÑB���¸NÞj%†ÑB���ÈNÞj%†ÑB���ØNÞj%†ÑB���èNÞj%†ÑB���ðNÞj%†ÑB����OÞj%†ÑB���OÞj%†ÑB���OÞj%†ÑB���(OÞj%†ÑB���8OÞj%†ÑB���HOÞj%†ÑB���XOÞj%†ÑB���pOÞj%†ÑB���xOÞj%†ÑB���OÞj%†ÑB��� OÞj%†ÑB���¨OÞj%†ÑB���¸OÞj%†ÑB���ÈOÞj%†ÑB���ØOÞj%†ÑB���àOÞj%†ÑB���ðOÞj%†ÑB����PÞj%†ÑB��� PÞj%†ÑB���@PÞj%†ÑB���PPÞj%†ÑB���`PÞj%†ÑB���xPÞj%†ÑB���PÞj%†ÑB���˜PÞj%†ÑB���°PÞj%†ÑB���ÀPÞj�����������ÐPÞj���àPÞj���QÞj���QÞj�������������������������������(QÞj���8QÞj���HQÞj���XQÞj���hQÞj���xQÞj��� QÞj���@RÞj���`RÞj ���àRÞj"���@SÞj���PTÞj ���`TÞj ���ÀTÞj���UÞj��� UÞj���0UÞj���@UÞj���PUÞj���`UÞj��� UÞj���ÀUÞj���èUÞj����VÞj��� VÞj���ÀVÞj���@WÞj���¸WÞj���ÐWÞj���àWÞj���€XÞj���8YÞj���HYÞj���`YÞj���`ZÞj��� [Þj���`[Þj��� [Þj���à[Þj��� \Þj���8\Þj���H\Þj���X\Þj���€\Þj����]Þj���@]Þj���€]Þj���^Þj���(^Þj���8^Þj���H^Þj ���`^Þj ���À^Þj��� _Þj���°_Þj ���À_Þj��� `Þj���0`Þj���@`Þj���P`Þj���``Þj���p`Þj���€`Þj��� `Þj���8aÞj���HaÞj���XaÞj���haÞj���xaÞj ��� aÞj���ðaÞj����bÞj���bÞj��� bÞj���0bÞj�����������@bÞj���PbÞj���`bÞj���pbÞj���€bÞj���bÞj��� bÞj���ÀbÞj���hcÞj ���€cÞj���àcÞj���ˆdÞj���˜dÞj ���ÀdÞj���eÞj��� eÞj���ÀeÞj���ÐeÞj ���àeÞj���0fÞj���@fÞj���������������������������PfÞj���`fÞj���pfÞj���€fÞj���fÞj��� fÞj���°fÞj���ÈfÞj���ØfÞj���èfÞj���øfÞj�����������gÞj���gÞj���(gÞj���8gÞj���HgÞj���������������������������XgÞj���hgÞj���xgÞj���ˆgÞj���˜gÞj���¨gÞj���ÀgÞj���ègÞj���øgÞj���hÞj��� hÞj���hÞj��� hÞj��� iÞj���iÞj��� iÞj��� jÞj���ÀjÞj���èjÞj����kÞj���@kÞj���°kÞj���ÀkÞj����lÞj���(lÞj���@lÞj���€lÞj���¨lÞj���¸lÞj���ÈlÞj���ØlÞj���èlÞj����mÞj���@mÞj���xmÞj��� mÞj���àmÞj���hnÞj���€nÞj���ðnÞj����oÞj���poÞj���€oÞj���ÀoÞj���`pÞj���ˆpÞj��� pÞj���ØpÞj���èpÞj���øpÞj�������������������qÞj���qÞj���(qÞj���8qÞj���HqÞj���XqÞj���hqÞj���€qÞj���°qÞj���ÀqÞj���ÐqÞj ���àqÞj���@rÞj ���àrÞj���0sÞj ���@sÞj��� sÞj ���@tÞj ��� tÞj ����uÞj���XuÞj���€uÞj%†QB��ÈB%†QBMUB%†QB|aAõy>B|a˜@%†QB����T’dB|a˜@%†QB|aAgUB��ÈBgUBZU…BqÛŽB��ÈBqÛŽBZU…B0 [B“îBÆm«AMU³ª¦B“îB��HBMUÂÆm«AT’dB¾0°BT’dBgU…A:’äA³ª¦B:’äA¬m+B“îB¬m+B|a˜ÁjžwB“îBjžwB|a˜Á������������������������¹m«B¹m«B‰a˜Bèy¾BjžwB��ÈB¬m+B��ÈB:’äAèy¾B|a˜A¹m«B|a˜A‰a˜BÛy¾AZU…B:’äA„žwB|aBT’dBMU…BÛy>B‰a˜B¬m+B¡ç¡B|aB¹m«B:’äA¹m«B:’dA‰a˜B|a˜@jžwB����¬m+B����:’äA|a˜@|a˜A:’dAèy¾B��ÈB|aA��������������������MUB��ÈB¬m+BÐó´B¬m+B¡ç¡B|aBqÛŽB:’äAZU…B|a˜AZU…B|aA‰a˜B|aA¹m«B:’dAèy¾BÛy¾A��ÈBMUB��ÈB¬m+Bèy¾B:’dBÐó´BqÛŽBÐó´B¹m«Bèy¾Bèy¾B��ÈB‰a˜BMUBZU…B:’äA„žwB|a˜A„žwB|aAqÛŽB����¡ç¡B����Ðó´B|a˜@èy¾B:’dAèy¾BÛy¾A¹m«BMUB‰a˜BMUB����������ÈBT’dB��ÈB„žwBèy¾BZU…BÐó´BZU…B¹m«B„žwB¡ç¡B%†QBqÛŽB:’äA„žwB:’dA †QB|a˜@¬m+B����Ûy¾A����:’dA|a˜@|aA|aA|a˜@|a˜A|a˜@:’äA|aA|aB:’dA¬m+BÛy>B„žwB †QBZU…BT’dB‰a˜BT’dB¹m«B †QBèy¾B¬m+B��ÈBMUBèy¾B:’äA¹m«B:’äA‰a˜BMUB„žwB¬m+BÛy>BZU…B:’dA‰a˜B|a˜@¹m«B����èy¾B������ÈB|a˜@��ÈB|aA%†QB��ÈB%†QBZU…B_ŠB“îB_nBJ ÛB��HBèy¾B¡ç!B‰a˜BqÛB%†QBqÛBMUB¡ç!B|aA��HB|aÁ_nBÛy¾Á_ŠBMUÂ����������������qÛB“îBÐó4BJ ÛB0 [Bèy¾BG’€B‰a˜B_ŠB%†QB_ŠBMUBG’€B|aA0 [B|aÁÐó4BÛy¾ÁqÛBMUÂ%†QBqÛŽB%†QB:’dAo’äAT’dB‰a˜B:’äA‰a˜BT’dBo’äA:’äA †QB¹m«B †QB����|aA¬m+Bèy¾B¬m+BT’dB|a˜@%†QB����õy>B|a˜@%†QB|aAT’dB|a˜@T’dB|a˜À%†QB:’dÁõy>B|a˜Á|aA¬m+Bèy¾B¬m+B����������������%†QB|aAõy>B|a˜@%†QB����T’dB|a˜@%†QB|aA|a˜A:’dÁ¹m«B��ÈB��������Ûy>B��ÈBMUBèy¾BÛy¾A¡ç¡B|a˜AT’dB|a˜A¬m+BÛy¾A|a˜AMUB|a˜@Ûy>B����:’dB����qÛŽB|a˜@¡ç¡B|a˜A¹m«B¬m+B¹m«BT’dB¡ç¡B¡ç¡BqÛŽBèy¾B:’dB��ÈBÛy>B��ÈB������������������������¡ç!B¡ç¡B��HB¹m«BG’€B��ÈBG’€B����Ûy¾A‰a˜BÛy¾A¡ç¡B:’äAÐó´BMUBèy¾B¬m+B��ÈBjžwB��ÈBqÛŽBèy¾B‰a˜BÐó´B¡ç¡B¡ç¡B¡ç¡BqÛŽB‰a˜B„žwBMU…BÛy>B|a˜A����¹m«B��������������������:’äA��ÈB¡ç¡B��ÈB †QB„žwBMU…B„žwB‰a˜BT’dB¡ç¡B%†QB¹m«B|aB¹m«B:’äA¡ç¡B:’dAqÛŽB|a˜@:’dB����¬m+B����:’äA|a˜@Ûy¾A|aA|a˜A|a˜AG’€B��ÈBgU…AMUB¾0°BMUBG’€B��ÈBG’€B����‰a˜B��ÈB:’äA��ÈBÛy¾AT’dB:’äA„žwB¬m+BZU…B:’dBZU…BqÛŽB„žwB¡ç¡B%†QB¹m«B|aB¹m«B:’äA¡ç¡B:’dAqÛŽB|a˜@:’dB����¬m+B����:’äA|a˜@Ûy¾A|aA|a˜A|a˜A������������������������$B¹m«B„ž“Bèy¾B_nB��ÈB��HB��ÈBqÛBèy¾B%†ÑA¡ç¡BÆm«AT’dBÆm«AMUB%†ÑA:’dAqÛB|a˜@��HB����0 [B����_ŠB|a˜@$B:’dA³ª¦B:’äA³ª¦BMUB$BÛy>B_ŠBT’dB0 [B„žwB��HB„žwBqÛBT’dB%†ÑAÛy>BÆm«AMUB¹m«B��ÈB|aB����|a˜A��ÈB¹m«B��ÈB��������¬m+B��ÈB:’äAèy¾BÛy¾A¹m«BÛy¾A‰a˜B:’äAZU…B|aB„žwB:’dBT’dBqÛŽB%†QB¡ç¡B¬m+B¹m«BMUB¹m«B|a˜A¡ç¡B|aA‰a˜B|a˜@jžwB����¬m+B����:’äA|a˜@Ûy¾A|aA|a˜A|a˜A|a˜AMUBÛy¾A¬m+BMUB%†QBÛy>BT’dBMU…B„žwB‰a˜BZU…B¡ç¡B‰a˜B¡ç¡B¹m«B‰a˜Bèy¾BjžwB��ÈB¬m+B��ÈB������������������������³ª¦BZU…B$B%†QB_ŠB¬m+B0 [B|aB��HB|aBqÛB¬m+B%†ÑA%†QBÆm«AZU…BÆm«AqÛŽB%†ÑA¹m«BqÛBèy¾B��HB��ÈB0 [B��ÈB_ŠBèy¾B$B¹m«B³ª¦BZU…B³ª¦B¬m+B$B|a˜A_ŠB|a˜@0 [B����Ðó4B����„ž÷A|a˜@%†ÑA:’dA��������%†QBZU…Bõy>B„žwB%†QBT’dBT’dB„žwB%†QBZU…B������������������������%†QB|aAõy>B|a˜@%†QB����T’dB|a˜@%†QB|aA������������������������%†QBZU…Bõy>B„žwB%†QBT’dBT’dB„žwB%†QBZU…B������������������������T’dB|a˜@%†QB����õy>B|a˜@%†QB|aAT’dB|a˜@T’dB|a˜À%†QB:’dÁõy>B|a˜ÁÐó´B¹m«B:’dA¬m+BÐó´B����|aAT’dBèy¾BT’dB|aA:’äAèy¾B:’äA:’dA¹m«BÐó´B¬m+B:’dA��������������������Ûy¾A‰a˜BÛy¾A¡ç¡B:’äAÐó´BMUBèy¾B¬m+B��ÈBjžwB��ÈBdÛŽBèy¾B‰a˜BÐó´B¡ç¡B¡ç¡B¡ç¡BqÛŽB‰a˜B„žwBdÛŽBT’dB †QBÛy>B †QBMUB���������������� †QB|aAÛy>B|a˜@ †QB����:’dB|a˜@ †QB|aA������������������������G’€B%†QB0 [BT’dBÐó4BT’dB¡ç!BÛy>B¡ç!B¬m+BÐó4BMUB0 [BMUBG’€B|aBG’€BT’dBG’€B|aB_ŠBMUB$BMUB³ª¦B¬m+B³ª¦BÛy>B$B„žwB_ŠBqÛŽB0 [B‰a˜B��HB‰a˜BqÛBqÛŽB%†ÑA„žwBÆm«AÛy>BÆm«A¬m+B%†ÑA:’äAqÛB|a˜A��HB:’dA0 [B:’dA_ŠB|a˜A †QB��ÈB:’dA���� †QB��ÈBÐó´B����:’äAMUB‰a˜BMUB|a˜A��ÈB|a˜A������������|a˜A��ÈBjžwB��ÈB‰a˜Bèy¾B¡ç¡BÐó´B¹m«B¡ç¡B¹m«BqÛŽB¡ç¡B„žwB‰a˜BT’dBjžwB%†QB������������������������|a˜A%†QBjžwB%†QB‰a˜BÛy>B¡ç¡B¬m+B¹m«BMUB¹m«B|a˜A¡ç¡B|aA‰a˜B|a˜@jžwB����|a˜A��������������������¾0°B‰a˜B³ª¦B¹m«B„ž“Bèy¾BG’€B��ÈBÐó4B��ÈBqÛBèy¾B%†ÑA¹m«BÆm«A‰a˜BgU…A„žwBgU…A|aBÆm«AÛy¾A%†ÑA:’dAqÛB|a˜@Ðó4B����G’€B����„ž“B|a˜@³ª¦B:’dA¾0°BÛy¾A|a˜A��ÈB|a˜A����|a˜A��ÈB †QB��ÈBMU…Bèy¾B‰a˜B¹m«B¡ç¡B‰a˜B¹m«B„žwB¹m«B|aB¡ç¡BÛy¾A‰a˜B:’dAMU…B|a˜@ †QB����|a˜A����Æm«A��ÈBÆm«A����Æm«A��ÈB³ª¦B��ÈBÆm«A%†QB_nB%†QBÆm«A����³ª¦B����Æm«A��ÈBÆm«A����Æm«A��ÈB³ª¦B��ÈBÆm«A%†QB_nB%†QB����������������¾0°B‰a˜B³ª¦B¹m«B„ž“Bèy¾BG’€B��ÈBÐó4B��ÈBqÛBèy¾B%†ÑA¹m«BÆm«A‰a˜BgU…A„žwBgU…A|aBÆm«AÛy¾A%†ÑA:’dAqÛB|a˜@Ðó4B����G’€B����„ž“B|a˜@³ª¦B:’dA¾0°BÛy¾A¾0°B|aBG’€B|aB¾0°B|aB|a˜A��ÈB|a˜A����¹m«B��ÈB¹m«B����|a˜A%†QB¹m«B%†QB%†QB��ÈB%†QB����������������������������‰a˜B��ÈB‰a˜BÛy¾AqÛŽB|aAZU…B|a˜@T’dB����õy>B����–aB|a˜@gUB|aAo’äAÛy¾Ao’äAMUB|a˜A��ÈB|a˜A����¹m«B��ÈB|a˜AMUB¬m+BT’dB¹m«B����Ûy¾A��ÈBÛy¾A����Ûy¾A����¡ç¡B����:’dA��ÈB:’dA����:’dA��ÈB †QB����Ðó´B��ÈB †QB����Ðó´B��ÈBÐó´B����|a˜A��ÈB|a˜A����|a˜A��ÈB¹m«B����¹m«B��ÈB¹m«B��������������������¬m+B��ÈBMUBèy¾BÛy¾A¹m«B|a˜A‰a˜B:’dA„žwB:’dA|aB|a˜AÛy¾AÛy¾A:’dAMUB|a˜@¬m+B����jžwB����qÛŽB|a˜@¡ç¡B:’dA¹m«BÛy¾AÐó´B|aBÐó´B„žwB¹m«B‰a˜B¡ç¡B¹m«BqÛŽBèy¾BjžwB��ÈB¬m+B��ÈB|a˜A��ÈB|a˜A������������|a˜A��ÈBjžwB��ÈB‰a˜Bèy¾B¡ç¡BÐó´B¹m«B¡ç¡B¹m«BZU…B¡ç¡BT’dB‰a˜B%†QBjžwBÛy>B|a˜AÛy>B����������������¬m+B��ÈBMUBèy¾BÛy¾A¹m«B|a˜A‰a˜B:’dA„žwB:’dA|aB|a˜AÛy¾AÛy¾A:’dAMUB|a˜@¬m+B����jžwB����qÛŽB|a˜@¡ç¡B:’dA¹m«BÛy¾AÐó´B|aBÐó´B„žwB¹m«B‰a˜B¡ç¡B¹m«BqÛŽBèy¾BjžwB��ÈB¬m+B��ÈB:’dB|a˜A¹m«B|aÁ|a˜A��ÈB|a˜A����������������������������|a˜A��ÈBjžwB��ÈB‰a˜Bèy¾B¡ç¡BÐó´B¹m«B¡ç¡B¹m«BqÛŽB¡ç¡B„žwB‰a˜BT’dBjžwB%†QB|a˜A%†QB †QB%†QB¹m«B����¹m«B¹m«B‰a˜Bèy¾BjžwB��ÈB¬m+B��ÈB:’äAèy¾B|a˜A¹m«B|a˜A‰a˜BÛy¾AZU…B:’äA„žwB|aBT’dBMU…BÛy>B‰a˜B¬m+B¡ç¡B|aB¹m«B:’äA¹m«B:’dA‰a˜B|a˜@jžwB����¬m+B����:’äA|a˜@|a˜A:’dA †QB��ÈB †QB����|a˜A��ÈB¹m«B��ÈB|a˜A��ÈB|a˜A:’äAÛy¾A:’dAMUB|a˜@Ûy>B����:’dB����qÛŽB|a˜@¡ç¡B:’dA¹m«B:’äA¹m«B��ÈB:’dA��ÈB †QB����Ðó´B��ÈB †QB����|a˜@��ÈB:’äA���� †QB��ÈB:’äA���� †QB��ÈB‰a˜B������ÈB��ÈB‰a˜B����|a˜A��ÈB¹m«B����¹m«B��ÈB|a˜A����:’dA��ÈB †QB%†QB †QB����Ðó´B��ÈB †QB%†QB¹m«B��ÈB|a˜A����|a˜A��ÈB¹m«B��ÈB|a˜A����¹m«B����qÛB“îBqÛBMU¡ç!B“îB¡ç!BMUÂqÛB“îB_ŠB“îBqÛBMUÂ_ŠBMUÂ|a˜A��ÈB¹m«B:’dÁG’€B“îBG’€BMUÂ_ŠB“îB_ŠBMUÂqÛB“îB_ŠB“îBqÛBMUÂ_ŠBMU †QBJ ÛB:’dA¬m+B †QBJ ÛBÐó´B¬m+B������������MUÂ%†ÑBMUÂ%†ÑB:’äÁ����:’äÁ����MUÂÆm+B��ÈBZU…BqÛŽBÆm+B��ÈB–aBèy¾BZU…BqÛŽB¡ç¡BZU…B¡ç¡B����¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dAÛy¾A��ÈBÛy¾A����Ûy¾A%†QBMUB„žwB¬m+BZU…B:’dBZU…BMU…B„žwB‰a˜B%†QB¡ç¡B|aB¡ç¡B:’äA‰a˜B:’dAMU…B|a˜@:’dB����¬m+B����MUB|a˜@Ûy¾A:’dA����������������¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA¡ç¡B��ÈB¡ç¡B����¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA����������������Ûy¾A|aB¡ç¡B|aB¡ç¡BÛy>B‰a˜BT’dBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA������������������������qÛŽB��ÈB„žwB��ÈB%†QBèy¾Bõy>B¡ç¡Bõy>B����gUBZU…BZU…BZU…B��������¡ç¡BZU…B¡ç¡B|aÁ‰a˜BÛy¾ÁdÛŽB:’äÁjžwBMUÂÛy>BMUÂ|aB:’äÁ��������¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dA%†ÑA��ÈB%†ÑA����%†ÑAÛy>B¡ç!B„žwB��HBZU…BG’€BZU…Bwž“B„žwBœ$BÛy>Bœ$B������������õy>B��ÈB%†QBèy¾BT’dB��ÈB%†QB%†ÑBõy>B��ÈB%†QBZU…B%†QB������������T’dB��ÈB„žwBèy¾BZU…B��ÈB„žwB%†ÑBT’dB��ÈB������������������������„žwBZU…B„žwB:’dÁT’dB:’äÁõy>BMU–aBMUÂ%†ÑA��ÈB%†ÑA����wž“BZU…B%†ÑA|a˜AÐó4B|aBœ$B����%†QB��ÈB%†QB��������ZU…B��������������������Ûy>B:’dA„žwBÛy¾AZU…B|aBZU…BÛy>B„žwB%†QBÛy>B%†QB������������%†QBÛy>BZU…B„žwB‰a˜BZU…BÐó´BZU…B��ÈB„žwB%†ÑBÛy>B%†ÑB����%†ÑAZU…B%†ÑA����������������������������%†ÑAÛy>B¡ç!B„žwB��HBZU…BG’€BZU…Bwž“B„žwBœ$BÛy>Bœ$B������������Ðó4BZU…BqÛB„žwB%†ÑA%†QBÆm«A|aBÆm«A:’äA%†ÑA:’dAqÛB|a˜@Ðó4B����_nB����_ŠB|a˜@$B:’dA³ª¦B:’äA³ª¦B|aB$B%†QB_ŠB„žwB_nBZU…BÐó4BZU…BÛy¾AZU…BÛy¾AMUÂ��������Ûy¾A%†QBMUB„žwB¬m+BZU…B:’dBZU…BMU…B„žwB‰a˜B%†QB¡ç¡B|aB¡ç¡B:’äA‰a˜B:’dAMU…B|a˜@:’dB����¬m+B����MUB|a˜@Ûy¾A:’dA¡ç¡BZU…B¡ç¡BMU¡ç¡B%†QBdÛŽB„žwBjžwBZU…BÛy>BZU…B|aB„žwB:’äA%†QBÛy¾A|aBÛy¾A:’äA:’äA:’dA|aB|a˜@Ûy>B����jžwB����dÛŽB|a˜@¡ç¡B:’dAgUBZU…BgUB����gUB|aB–aB%†QBõy>B„žwBT’dBZU…BqÛŽBZU…B������������������������œ$B%†QBwž“B„žwB_nBZU…BÐó4BZU…B„ž÷A„žwB%†ÑA%†QB„ž÷A¬m+B¡ç!B|aBG’€BMUBwž“B:’äAœ$B|a˜Aœ$B:’dAwž“B|a˜@_nB����Ðó4B����„ž÷A|a˜@%†ÑA:’dA������������������������õy>B��ÈBõy>B|a˜A%†QB|a˜@„žwB����qÛŽB����gUBZU…BZU…BZU…B��������%†ÑAZU…B%†ÑA|a˜A„ž÷A|a˜@¡ç!B����0 [B����G’€B|a˜@œ$B|a˜Aœ$BZU…Bœ$B����Ûy¾AZU…B †QB����¡ç¡BZU…B †QB����:’dAZU…BMUB���� †QBZU…BMUB���� †QBZU…BqÛŽB����Ðó´BZU…BqÛŽB����%†ÑAZU…Bœ$B����œ$BZU…B%†ÑA����%†ÑAZU…B0 [B������������³ª¦BZU…B0 [B����Ðó4B|a˜ÁqÛB:’äÁ%†ÑAMUÂÆm«AMUœ$BZU…B%†ÑA����%†ÑAZU…Bœ$BZU…B%†ÑA����œ$B����G’€B“îB0 [Bo’äB��HBJ ÛBÐó4B��ÈBÐó4BÐó´B��HB¡ç¡B0 [B‰a˜B_nBZU…B_nBT’dB��HBÛy>B����������������0 [Bo’äB��HB%†ÑB��HBèy¾B0 [B¹m«B_nB¡ç¡BG’€BqÛŽBG’€B„žwB_nB%†QB¡ç!B¬m+B_nBMUBG’€BÛy¾AG’€B:’dA_nB|a˜@0 [B������HB|aÁ��HB|a˜Á0 [B:’äÁ��������������������������HB|aB_nB:’äA_nB|a˜A0 [B|aA��HB|a˜@Ðó4B|a˜ÀÐó4B:’dÁ��HBÛy¾Á0 [B:’äÁG’€BMUÂ%†QB“îB%†QBMU¡ç!B“îB��HBo’äB0 [BJ ÛB_nB��ÈB_nBÐó´B0 [B¡ç¡B��HB‰a˜BÐó4BZU…BÐó4BT’dB0 [BÛy>B������������������HBo’äB0 [B%†ÑB0 [Bèy¾B��HB¹m«BÐó4B¡ç¡B¡ç!BqÛŽB¡ç!B„žwBÐó4B%†QBG’€B¬m+BÐó4BMUB¡ç!BÛy¾A¡ç!B:’dAÐó4B|a˜@��HB����0 [B|aÁ0 [B|a˜Á��HB:’äÁ������������������������0 [B|aBÐó4B:’äAÐó4B|a˜A��HB|aA0 [B|a˜@_nB|a˜À_nB:’dÁ0 [BÛy¾Á��HB:’äÁ¡ç!BMUÂ����������������|aA:’äA|aA|aB:’dA%†QBÛy¾AT’dBMUBT’dB¬m+B%†QB„žwB|aBqÛŽBMUB¡ç¡BMUBÐó´B|aBèy¾BÛy>B��������|aA|aB:’dAÛy>BÛy¾A%†QBMUB%†QB¬m+BÛy>B„žwBMUBqÛŽB:’äA¡ç¡B:’äAÐó´BMUBèy¾BÛy>Bèy¾BT’dBqÛŽB��ÈBMUBMUÂ������������������������Ûy>BZU…BMUB„žwBÛy¾A%†QB|a˜A|aB|a˜AÛy¾AÛy¾A:’dAMUB|a˜@Ûy>B����:’dB����qÛŽB|a˜@¡ç¡B:’dA¹m«B:’äA¹m«B¬m+B¡ç¡B%†QBqÛŽB„žwB:’dBZU…BÛy>BZU…B������������������������Roman��� vÞj€���‰aCàCÝj%†ÑB����¸zÞj‹ýÔA���ÀzÞj¥½MB���ÐzÞj*úžB���àzÞjÕi˜B����{Þj &ÁB���{Þj„ËB���0{Þj…ëYA���8{Þjv±<B���@{Þj">B���H{Þj‰ÁmB���P{Þj4‚ÂB���h{Þjª‚ÐA���x{Þj ‚ÉB���€{ÞjÓÞÓA���ˆ{Þj¡6¤B���{Þj'"šB���˜{Þj…B��� {ÞjK›B���¨{ÞjéšB���°{ÞjSV B���¸{Þj—_›B���È{Þjœ“B���Ð{ÞjtšB���Ø{ÞjZU›B���è{Þj-!”B���ð{ÞjXÊÑA���ø{Þj/nÒA���|Þj“8£B���|Þj4‚ÂB��� |Þj“8£B���0|ÞjIΓB���8|ÞjǺ”B���H|Þj#û B���X|Þjß@§B���p|Þj*ú¨B���ˆ|ÞjÊ’ªB���|Þjž^œB��� |ÞjV}B���À|Þj†‰³B���Ø|Þjd,²B���è|ÞjffªA����}ÞjúþoB���}ÞjE§žB���}ÞjS¥ŽB���(}ÞjÇkÂB���@}Þj±B���`}Þj7©±B���x}ÞjZU«B���€}ÞjV.°B���}ÞjÀ»¤B��� }ÞjE§¡B���¸}Þj¶äB���À}Þj1ù²B���Ð}Þj“8£B���Ø}Þj7 ÉB����~ÞjÀ»B��� ~ÞjMŸB���0~ÞjO~“B���@~Þjt8B���`~ÞjÕiœB���€~Þj½’9B��� ~Þjv´B���À~Þj¾ÐB���Ð~Þj$§B���Ø~Þj¯4…B���è~ÞjíŒB���ø~Þj†Ø‰B���Þj›†ŒB���Þjº ‰B��� ÞjížB���(Þj?÷B���8ÞjÁ ŽB���HÞjéæA���XÞjôìB���hÞjzB���xÞjR¸šA���Þj‹ì÷B���˜ÞjÃB���°ÞjV}B���ÀÞj›B���ÈÞj]|B���ØÞjûEB���èÞj´HyB���øÞjÄBB����€ÞjoRŽB���€Þj_irB��� €Þj#û B���@€Þj šaB���`€Þj-!„B���p€Þj´HwB���€€Þjœ„&B���˜€Þjq=¾A���°€ÞjÅà%B���¸€ÞjqŒ¶B���ЀÞjZU…B���à€Þj�����������ð€Þj����Þj���(Þj���8Þj���HÞj���XÞj���hÞj���xÞj���ˆÞj���˜Þj���ÀÞj���`‚Þj���€‚Þj ����ƒÞj"���`ƒÞj���p„Þj ���€„Þj ���à„Þj���0…Þj���@…Þj���P…Þj���`…Þj���p…Þj���€…Þj���À…Þj���à…Þj���†Þj��� †Þj���À†Þj���à†Þj���`‡Þj���؇Þj���ð‡Þj����ˆÞj��� ˆÞj���X‰Þj���h‰Þj���€‰Þj���€ŠÞj���@‹Þj���€‹Þj���À‹Þj����ŒÞj���@ŒÞj���XŒÞj���hŒÞj���xŒÞj��� ŒÞj��� Þj���`Þj��� Þj���8ŽÞj���HŽÞj���XŽÞj���hŽÞj ���€ŽÞj ���àŽÞj���@Þj���ÐÞj ���àÞj���@Þj���PÞj���`Þj���pÞj���€Þj���Þj��� Þj���ÀÞj���X‘Þj���h‘Þj���x‘Þj���ˆ‘Þj���˜‘Þj ���À‘Þj���’Þj��� ’Þj���0’Þj���@’Þj���P’Þj�����������`’Þj���p’Þj���€’Þj���’Þj��� ’Þj���°’Þj���À’Þj���à’Þj���ˆ“Þj ��� “Þj����”Þj���¨”Þj���¸”Þj ���à”Þj���0•Þj���@•Þj���à•Þj���ð•Þj ����–Þj���P–Þj���`–Þj���������������������������p–Þj���€–Þj���–Þj��� –Þj���°–Þj���À–Þj���ЖÞj���è–Þj���ø–Þj���—Þj���—Þj�����������(—Þj���8—Þj���H—Þj���X—Þj���h—Þj���������������������������x—Þj���ˆ—Þj���˜—Þj���¨—Þj���¸—Þj���È—Þj���à—Þj���˜Þj���˜Þj���0˜Þj���@˜Þj���°˜Þj���À˜Þj���@™Þj���°™Þj���À™Þj���@šÞj���àšÞj���›Þj��� ›Þj���`›Þj���ЛÞj���à›Þj��� œÞj���HœÞj���`œÞj��� œÞj���ÈœÞj���ØœÞj���èœÞj���øœÞj���Þj��� Þj���`Þj���˜Þj���ÀÞj����žÞj���ˆžÞj��� žÞj���ŸÞj��� ŸÞj���ŸÞj��� ŸÞj���àŸÞj���€ Þj���¨ Þj���À Þj���ø Þj���¡Þj���¡Þj�������������������(¡Þj���8¡Þj���H¡Þj���X¡Þj���h¡Þj���x¡Þj���ˆ¡Þj��� ¡Þj���СÞj���à¡Þj���ð¡Þj ����¢Þj���`¢Þj ����£Þj���P£Þj ���`£Þj���À£Þj ���`¤Þj ���À¤Þj ��� ¥Þj���x¥Þj��� ¥ÞjCVA��ÈBCVAMUBCVA|aA…ë A|a˜@CVA����&‘A|a˜@CVA|aA×£€@��ÈB×£€@ZU…B÷u(B��ÈB÷u(BZU…BI.%B“îBãÇþ@MUÂÀ»‹B“îB"BMUÂãÇþ@T’dBØA•BT’dBÍÌL@:’äAÀ»‹B:’äA7 åA“îB7 åA|a˜ÁZµ>B“îBZµ>B|a˜Á������������������������1ùŽB¹m«BÚwBèy¾BZµ>B��ÈB7 åA��ÈB4€eAèy¾Bq=š@¹m«Bq=š@‰a˜BvOAZU…B4€eA„žwBØð¾AT’dB‰ÁQBÛy>BÚwB¬m+Bs…B|aB1ùŽB:’äA1ùŽB:’dAÚwB|a˜@Zµ>B����7 åA����4€eA|a˜@q=š@:’dA &¸B��ÈB…Ë@��������������������#[ñA��ÈBðÅBÐó´BðÅB¡ç¡BÁ¹ BqÛŽBÄBËAZU…B $~AZU…B…Ë@‰a˜B…Ë@¹m«BMó1Aèy¾Be*¥A��ÈB#[ñA��ÈBðÅBèy¾BêWBÐó´B”‡ˆBÐó´BÛ¥Bèy¾B &¸B��ÈB¬ ’BMUBø~B:’äAÉöjB|a˜AÉöjB|aA”‡ˆB����Ó›B����óŸ®B|a˜@ &¸B:’dA &¸BÛy¾AÛ¥BMUB¬ ’BMUB��������žoÊBT’dBžoÊB„žwB“éÀBZU…B{c·BZU…BdÝ­B„žwBLW¤B%†QBK‘B:’äAÙ}|B:’dA`eVB|a˜@M0B����†8ÈA����‘xA|a˜@ÓÞ+A|aA)\¿@|a˜A)\¿@:’äAÓÞ+A|aB‘xA¬m+B1YCB„žwB`eVBZU…BªqiB‰a˜BªqiB¹m«B`eVBèy¾BM0B��ÈB¢4 Bèy¾BåPîA¹m«BåPîA‰a˜B¢4 B„žwBM0BÛy>BŇB:’dA4ÑšB|a˜@dÝ­B����“éÀB����žoÊB|a˜@žoÊB|aA{Ž@��ÈB{Ž@ZU…B8§#B“îB²ûAJ ÛBôì®Aèy¾BlxEA‰a˜B\ò@%†QB\ò@MUBlxEA|aAôì®A|aÁ²ûAÛy¾Á8§#BMUÂ����������������Ãõ¨@“îB]ÜlAJ ÛBížÂAèy¾BÕgB‰a˜BtB%†QBtBMUBÕgB|aAížÂA|aÁ]ÜlAÛy¾ÁÃõ¨@MUÂð'öAqÛŽBð'öA:’dAR¸Þ@T’dBåPZB:’äAåPZBT’dBR¸Þ@:’äA1YCB¹m«B1YCB����)\¿@¬m+B{c·B¬m+B9E’A|a˜@´YXA����ö( A|a˜@´YXA|aA9E’A|a˜@9E’A|a˜À´YXA:’dÁö( A|a˜Áö(ì@¬m+BH0ºB¬m+B����������������b¡QA|aA¤pA|a˜@b¡QA����éŽA|a˜@b¡QA|aA®ç@:’dÁ;ГB��ÈB��������¢4B��ÈB' šAèy¾BÓÞA¡ç¡B)\Ÿ@T’dB)\Ÿ@¬m+BÓÞA|a˜A' šA|a˜@¢4B����M,B����ªqeB|a˜@Å…B|a˜AKB¬m+BKBT’dBÅ…B¡ç¡BªqeBèy¾BM,B��ÈB¢4B��ÈB������������������������¸=A¡ç¡BÀªA¹m«Bœ„B��ÈBœ„B����é"A‰a˜Bé"A¡ç¡BÎoAÐó´BF¥Aèy¾BÖéA��ÈBÀAB��ÈB94gBèy¾Bi@zBÐó´BL¦†B¡ç¡BL¦†BqÛŽBi@zB„žwBð'TBÛy>B¤p­@����d,B��������������������|ahA��ÈBBÏ…B��ÈBMUB„žwBÛyRB„žwBT’xBT’dBBÏ…B%†QBZUB|aBZUB:’äABÏ…B:’dA%†eB|a˜@|a,B����ÛyæA����|ahA|a˜@¾0A|aA�� @|a˜AúþMB��ÈBìQx@MUBž–BMUBúþMB��ÈBúþMB����øxB��ÈB $fA��ÈBMóAT’dB $fA„žwB#[åAZU…B Ò+BZU…BÉödB„žwB”‡…B%†QB¬ B|aB¬ B:’äA”‡…B:’dAÉödB|a˜@ Ò+B����#[åA���� $fA|a˜@MóA|aA…›@|a˜A������������������������@äzB¹m«BØgBèy¾Bh³.B��ÈB ›B��ÈBôìžAèy¾Blx%A¡ç¡B\²@T’dB\²@MUBlx%A:’dAôìžA|a˜@ ›B����8§B����ÇËTB|a˜@@äzB:’dA8ø†B:’äA8ø†BMUB@äzBÛy>BÇËTBT’dB8§B„žwB ›B„žwBôìžAT’dBlx%AÛy>B\²@MUBtB��ÈB]ÜÄA����…ë±@��ÈBtB��ÈB��������¨FëA��ÈBûqAèy¾BXÊ%A¹m«BXÊ%A‰a˜BûqAZU…BI.ÅA„žwBãÇ.BT’dB‹ìgB%†QBu‡B¬m+BˆBMUBˆB|a˜Au‡B|aA»øzB|a˜@ÔAB����¨FëA����ûqA|a˜@XÊ%A|aA33³@|a˜A33³@MUBXÊ%A¬m+BêŸA%†QBƒ¯BT’dBBàTB„žwB»øzBZU…Bu‡B‰a˜Bu‡B¹m«B»øzBèy¾BÔAB��ÈB¨FëA��ÈB������������������������u‰BZU…B»ø~B%†QBBàXB¬m+B³»B|aBƒ¯ B|aBê§A¬m+BXÊ5A%†QB33Ó@ZU…B33Ó@qÛŽBXÊ5A¹m«Bê§Aèy¾Bƒ¯ B��ÈB³»B��ÈBBàXBèy¾B»ø~B¹m«Bu‰BZU…Bu‰B¬m+B»ø~B|a˜ABàXB|a˜@³»B����¨FóA����‹ý€A|a˜@XÊ5A:’dA��������vOaAZU…B¸A„žwBvOaAT’dBÀ–A„žwBvOaAZU…B������������������������vOaA|aA¸A|a˜@vOaA����À–A|a˜@vOaA|aA������������������������ñcOAZU…B33A„žwBñcOAT’dBXÊA„žwBñcOAZU…B������������������������XÊA|a˜@ñcOA����33A|a˜@ñcOA|aAXÊA|a˜@XÊA|a˜ÀñcOA:’dÁ33A|a˜ÁB€žB¹m«B ×C@¬m+BB€žB����ff¶@T’dBÔ¶BT’dBff¶@:’äAÔ¶B:’äA…ë1@¹m«BåðB¬m+B…ë1@��������������������R¸A‰a˜BR¸A¡ç¡BéRAÐó´BçŒAèy¾B¥½ÛA��ÈB‘:B��ÈBð'`Bèy¾B94sBÐó´B4 ƒB¡ç¡B4 ƒBqÛŽB94sB„žwBð'`BT’dB2÷BÛy>B2÷BMUB����������������2÷B|aAë�B|a˜@2÷B����a'B|a˜@2÷B|aA������������������������OÞDB%†QBðÅBT’dB#[ñAT’dBÄBËAÛy>BÄBËA¬m+B#[ñAMUBðÅBMUBOÞDB|aBOÞDBT’dBOÞDB|aBêWBMUBø~BMUB”‡ˆB¬m+B”‡ˆBÛy>Bø~B„žwBêWBqÛŽBðÅB‰a˜BÁ¹ B‰a˜Be*¥AqÛŽBMó1A„žwB…Ë@Ûy>B…Ë@¬m+BMó1A:’äAe*¥A|a˜AÁ¹ B:’dAðÅB:’dAêWB|a˜A|a"B��ÈB�� @����|a"B��ÈB‰aB����I†AMUBBÏ€BMUBR¸6A��ÈBR¸6A������������R¸6A��ÈBÀYB��ÈB4 ‰Bèy¾BL¦’BÐó´Bd,œB¡ç¡Bd,œBqÛŽBL¦’B„žwB4 ‰BT’dBÀYB%†QB������������������������R¸6A%†QBÀYB%†QB4 ‰BÛy>BL¦’B¬m+Bd,œBMUBd,œB|a˜AL¦’B|aA4 ‰B|a˜@ÀYB����R¸6A��������������������]-œB‰a˜BE§’B¹m«B+6Bèy¾B²YB��ÈBôì B��ÈB*©ÍAèy¾BlxA¹m«BÀ6A‰a˜B¸Õ@„žwB¸Õ@|aBÀ6AÛy¾AlxA:’dA*©ÍA|a˜@ôì B����²YB����+6B|a˜@E§’B:’dA]-œBÛy¾A)\?A��ÈB)\?A����)\?A��ÈBW,5B��ÈBåPnBèy¾B¯4ŠB¹m«BǺ“B‰a˜Bß@B„žwBß@B|aBǺ“BÛy¾A¯4ŠB:’dAåPnB|a˜@W,5B����)\?A����R¸6A��ÈBR¸6A����R¸6A��ÈBL¦’B��ÈBR¸6A%†QB‘FB%†QBR¸6A����L¦’B����R¸6A��ÈBR¸6A����R¸6A��ÈBL¦’B��ÈBR¸6A%†QB‘FB%†QB����������������*úœB‰a˜Bt“B¹m«Bãg€Bèy¾BL·ZB��ÈBކB��ÈB]ÜÐAèy¾BŸ«„A¹m«B&=A‰a˜B…ëá@„žwB…ëá@|aB&=AÛy¾AŸ«„A:’dA]ÜÐA|a˜@ކB����L·ZB����ãg€B|a˜@t“B:’dA*úœBÛy¾A*úœB|aBL·ZB|aB*úœB|aBR¸6A��ÈBR¸6A����d,œB��ÈBd,œB����R¸6A%†QBd,œB%†QBÂ-A��ÈBÂ-A����������������������������ÛyHB��ÈBÛyHBÛy¾A¬m5B|aA|a"B|a˜@:’øA����|a¬A����|a@A|a˜@|aè@|aA�� @Ûy¾A�� @MUBáz4A��ÈBáz4A����¶ä›B��ÈBáz4AMUB¦[ BT’dB¶ä›B����Há:A��ÈBHá:A����Há:A����S¥‰B����Â-A��ÈBÂ-A����Â-A��ÈB ÒCB����Û®B��ÈB ÒCB����Û®B��ÈBÛ®B����q=2A��ÈBq=2A����q=2A��ÈB›B����›B��ÈB›B��������������������à> B��ÈBMÊAèy¾B†8|A¹m«BÈ0A‰a˜B®Ç@„žwB®Ç@|aBÈ0AÛy¾A†8|A:’dAMÊA|a˜@à> B����žoWB����ˆ}B|a˜@;БB:’dASV›BÛy¾AjܤB|aBjܤB„žwBSV›B‰a˜B;БB¹m«Bˆ}Bèy¾BžoWB��ÈBà> B��ÈBš™AA��ÈBš™AA������������š™AA��ÈBÔ[B��ÈB]|ŠBèy¾Bu”BÐó´BˆB¡ç¡BˆBZU…Bu”BT’dB]|ŠB%†QBÔ[BÛy>Bš™AAÛy>B����������������P|B��ÈBãÇÂAèy¾BI.mA¹m«B‹ý A‰a˜Bš™©@„žwBš™©@|aB‹ý AÛy¾AI.mA:’dAãÇÂA|a˜@P|B����­SB����ˆÅyB|a˜@óîB:’dA u™BÛy¾A#û¢B|aB#û¢B„žwB u™B‰a˜BóîB¹m«BˆÅyBèy¾B­SB��ÈBP|B��ÈBß @B|a˜A u™B|aÁHá:A��ÈBHá:A����������������������������Há:A��ÈBþ%ZB��ÈBS¥‰Bèy¾Bk+“BÐó´Bƒ±œB¡ç¡Bƒ±œBqÛŽBk+“B„žwBS¥‰BT’dBþ%ZB%†QBHá:A%†QBŸ 4B%†QBƒ±œB����ZU•B¹m«B*I‚Bèy¾B¬mKB��ÈBÛyþA��ÈB¾0ŒAèy¾B���A¹m«B���A‰a˜B¾0LAZU…B¾0ŒA„žwB|aØAT’dBÛy^BÛy>B*I‚B¬m+BBÏ‹B|aBZU•B:’äAZU•B:’dA*I‚B|a˜@¬mKB����ÛyþA����¾0ŒA|a˜@���A:’dAðÅB��ÈBðÅB����= @��ÈB¬ ŠB��ÈB×£8A��ÈB×£8A:’äAKj‚A:’dA ›ÎA|a˜@r B����rŠFB����¯B|a˜@½ã’B:’dAÕiœB:’äAÕiœB��ÈB= @��ÈB Ò!B����ÛB��ÈB Ò!B����{@��ÈBj<ÐA����#[GB��ÈBj<ÐA����#[GB��ÈBL“B����ŒêÂB��ÈBL“B������ @��ÈBZUŠB����ZUŠB��ÈB�� @����\Â?��ÈB÷uB%†QB÷uB����Çk›B��ÈB÷uB%†QBZUŠB��ÈB�� @������ @��ÈBZUŠB��ÈB�� @����ZUŠB����Ãõø@“îBÃõø@MUŸ«HA“îBŸ«HAMUÂÃõø@“îBt$B“îBÃõø@MUÂt$BMUÂHáº@��ÈBn‘B:’dÁ¬ B“îB¬ BMUÂÜB“îBÜBMUÂ{Ž@“îBÜB“îB{Ž@MUÂÜBMUÂM0BJ ÛB)\¿@¬m+BM0BJ ÛBLW¤B¬m+B��������ÍÌŒ¿MUÂòRÏBMUÂòRÏB:’äÁÍÌŒ¿:’äÁÍÌŒ¿MUÂmB��ÈB[ScBqÛŽBmB��ÈB{âAèy¾B[ScBqÛŽB¦JBZU…B¦JB����¦JB%†QB-2YB„žwBÎ3BZU…BêóAZU…BÁ¹§A„žwB7A%†QBÂÕ@|aBÂÕ@:’äA7A:’dAÁ¹§A|a˜@êóA����Î3B����-2YB|a˜@¦JB:’dAö( A��ÈBö( A����ö( A%†QB9E’A„žwB÷uÞAZU…BŠ_(BZU…BéwNB„žwBbtB%†QBI΃B|aBI΃B:’äAbtB:’dAéwNB|a˜@Š_(B����÷uÞA����9E’A|a˜@ö( A:’dA����������������ϦzB%†QBVŽTB„žwB÷u.BZU…BÑ¢êAZU…BržA„žwBª‚$A%†QB×£°@|aB×£°@:’äAª‚$A:’dAržA|a˜@Ñ¢êA����÷u.B����VŽTB|a˜@ϦzB:’dA±!wB��ÈB±!wB����±!wB%†QB7 QB„žwBØð*BZU…B“˜ãAZU…BÕg—A„žwB/nA%†QBáz”@|aBáz”@:’äA/nA:’dAÕg—A|a˜@“˜ãA����Øð*B����7 QB|a˜@±!wB:’dA����������������= ·@|aBœs{B|aBœs{BÛy>BmghBT’dB#[UB„žwBÄB/BZU…Bj<ìAZU…B¬  A„žwBݵ'A%†QB= ·@|aB= ·@:’äAݵ'A:’dA¬  A|a˜@j<ìA����ÄB/B����#[UB|a˜@œs{B:’dA������������������������ÎB��ÈBÞêA��ÈB ÒAèy¾B‚soA¡ç¡B‚soA����{.?ZU…BŸ BZU…B��������øzBZU…BøzB|aÁÉöfBÛy¾ÁêSB:’äÁ Ò-BMUÂ#[éAMUÂe*A:’äÁ��������øzB%†QBêSB„žwB Ò-BZU…B#[éAZU…Be*A„žwBMó!A%†QB…«@|aB…«@:’äAMó!A:’dAe*A|a˜@#[éA���� Ò-B����êSB|a˜@øzB:’dAš™A��ÈBš™A����š™AÛy>Bê¿A„žwBT£BZU…BãÇ>BZU…BBàdB„žwB‹ìwBÛy>B‹ìwB������������ìQ A��ÈBª‚lAèy¾B´YœA��ÈBª‚lA%†ÑBìQ A��ÈBª‚lAZU…Bª‚lA������������΋A��ÈB-2±Aèy¾BŒJ×A��ÈB-2±A%†ÑB΋A��ÈB������������������������-2±AZU…B-2±A:’dÁ΋A:’äÁ@¤û@MUÂázÔ¿MUš™A��ÈBš™A����BàdBZU…Bš™A|a˜AI.åA|aB‹ìwB����ìQ A��ÈBìQ A����š™AZU…Bš™A������������š™AÛy>Bê¿A„žwBT£BZU…BãÇ>BZU…BBàdB„žwB‹ìwBÛy>B‹ìwB������������‹ìwBÛy>Bˆ˜B„žwB¼”«BZU…Bé&ÈBZU…B33ÛB„žwBX¹äBÛy>BX¹äB����HáAZU…BHáA����������������������������HáAÛy>BÁ¹»A„žwB?õBZU…BÎ=BZU…B-2cB„žwBw>vBÛy>Bw>vB������������åPæAZU…B' šA„žwBÓÞA%†QB)\Ÿ@|aB)\Ÿ@:’äAÓÞA:’dA' šA|a˜@åPæA����M,B����`eRB|a˜@Ù}xB:’dAÅ…B:’äAÅ…B|aBÙ}xB%†QB`eRB„žwBM,BZU…BåPæAZU…B)\AZU…B)\AMUÂ��������)\A%†QBÓÞ—A„žwB‘äAZU…BW,+BZU…B¶DQB„žwB/]wB%†QB¯4…B|aB¯4…B:’äA/]wB:’dA¶DQB|a˜@W,+B����‘äA����ÓÞ—A|a˜@)\A:’dA}îwBZU…B}îwBMUÂ}îwB%†QBÖQB„žwB¥½+BZU…B-2åAZU…Bo™A„žwBb¡A%†QBHáš@|aBHáš@:’äAb¡A:’dAo™A|a˜@-2åA����¥½+B����ÖQB|a˜@}îwB:’dA)\AZU…B)\A����)\A|aBçŒcA%†QB2÷½A„žwBøBZU…B†8>BZU…B������������������������òRdB%†QB¨FQB„žwB"BZU…Bû½AZU…BñcA„žwBff–@%†QBñcA¬m+B·â—A|aBI.+BMUB¨FQB:’äAòRdB|a˜AòRdB:’dA¨FQB|a˜@"B����û½A����ñcA|a˜@ff–@:’dA������������������������6mA��ÈB6mA|a˜Ah³œA|a˜@&äèA����rŠB����q= ?ZU…BB~BZU…B��������)\AZU…B)\A|a˜AçŒcA|a˜@2÷½A����' B����†8>B|a˜@/]wB|a˜A/]wBZU…B/]wB����ffæ?ZU…B¡øòA����ˆÅkBZU…B¡øòA������ @ZU…B|a¬A����|a"BZU…B|a¬A����|a"BZU…BT’nB����‰aBZU…BT’nB����ázÔ?ZU…Bü)XB����ü)XBZU…BázÔ?����ûÑ@ZU…B€ˆ B������������·Ñ~BZU…B€ˆ B����BàÌA|a˜Áƒ¯€A:’äÁûÑ@MUÂffæ?MU´HcBZU…B{Ž@����{Ž@ZU…B´HcBZU…B{Ž@����´HcB����„ùA“îB[S­Ao’äBû:‡AJ ÛB9EBA��ÈB9EBAÐó´Bû:‡A¡ç¡B[S­A‰a˜BºkÓAZU…BºkÓAT’dBû:‡AÛy>B����������������[S­Ao’äBû:‡A%†ÑBû:‡Aèy¾B[S­A¹m«BºkÓA¡ç¡B„ùAqÛŽB„ùA„žwBºkÓA%†QBö(ì@¬m+BºkÓAMUB„ùAÛy¾A„ùA:’dAºkÓA|a˜@[S­A����û:‡A|aÁû:‡A|a˜Á[S­A:’äÁ������������������������û:‡A|aBºkÓA:’äAºkÓA|a˜A[S­A|aAû:‡A|a˜@9EBA|a˜À9EBA:’dÁû:‡AÛy¾Á[S­A:’äÁ„ùAMUÂ×£8A“îB×£8AMUÂHáA“îBb¡•Ao’äBÁ¹»AJ ÛB ÒáA��ÈB ÒáAÐó´BÁ¹»A¡ç¡Bb¡•A‰a˜B_AZU…B_AT’dBÁ¹»AÛy>B����������������b¡•Ao’äBÁ¹»A%†ÑBÁ¹»Aèy¾Bb¡•A¹m«B_A¡ç¡BHáAqÛŽBHáA„žwB_A%†QB?õB¬m+B_AMUBHáAÛy¾AHáA:’dA_A|a˜@b¡•A����Á¹»A|aÁÁ¹»A|a˜Áb¡•A:’äÁ������������������������Á¹»A|aB_A:’äA_A|a˜Ab¡•A|aAÁ¹»A|a˜@ ÒáA|a˜À ÒáA:’dÁÁ¹»AÛy¾Áb¡•A:’äÁHáAMUÂ����������������Há:@:’äAHá:@|aB Òõ@%†QBF¥‰AT’dBÖÕAT’dBaB%†QB94]B|aBL¦BMUB|²”BMUB«¾§B|aBÃD±BÛy>B��������Há:@|aB Òõ@Ûy>BF¥‰A%†QBÖÕA%†QBaBÛy>B94]BMUBL¦B:’äA|²”B:’äA«¾§BMUBÃD±BÛy>BÃD±BT’dB%†QB��ÈB:’dAMUÂ������������������������:’äAZU…B:’dA„žwB|a˜@%†QB����|aB����Ûy¾A|a˜@:’dA:’dA|a˜@:’äA����|aB����%†QB|a˜@„žwB:’dAZU…B:’äAZU…B¬m+B„žwB%†QB%†QB„žwB|aBZU…B:’äAZU…B������������������������fgEnumSubWindows����Enumerator or callback missing from subwindow enumerator call��� ERROR: Internal error <%s> in function %s�Window Enumeration�� ERROR: Internal <%s> function called without first calling 'glutInit'.�fgEnumWindows��Enumerator or callback missing from window enumerator call�fgDestroyWindow��Window destroy function called with null window�fgDestroyMenu���Menu destroy function called with null menu�freeglut menu���������������glutSolidTeapot� ERROR: Function <%s> called without first calling 'glutInit'.�glutWireTeapot��f���g���h���i������������������ ��� ��� ��� ��� ��������� ��� ������������������������������������������������������������������ ���!���"���#���$���%���&���'���(���`���`���`���`���a���b���c���d���e���e���e���e�����������������������������j���k���l���m���n���o���p���q���r���s���t���u���v���v���v���v���|���z���w���y���{���~���}���x���(���'���&���%���)���*���+���,���-���.���/���0���1���2���3���4���5���6���7���8���5���6���7���8���9���:���;���<���=���>���?���@������A���B���C���D���E���F���G���H���I���J���K���L���M���N���O���P���Q���R���S���P���Q���R���S���T���U���V���W���X���Y���Z���[���\���]���^���_���š™™™™™É?��������š™™™™™@š™™™™™É?yé&1¬¼¿š™™™™™@yé&1¬¼?š™™™™™É¿š™™™™™@��������š™™™™™É¿š™™™™™@ffffffõ?�������������@@ffffffõ?+‡ÙÎ÷ç¿�����@@+‡ÙÎ÷ç?ffffffõ¿�����@@��������ffffffõ¿�����@@������÷?�������������@@������÷?Ãõ(\Âé¿�����@@Ãõ(\Âé?������÷¿�����@@��������������÷¿�����@@������ø?��������333333@������ø?áz®Gáê¿333333@áz®Gáê?������ø¿333333@��������������ø¿333333@������ü?��������������þ?������ü?\Âõ(\ï¿������þ?\Âõ(\ï?������ü¿������þ?��������������ü¿������þ?�������@��������š™™™™™õ?�������@ìQ¸…ëñ¿š™™™™™õ?ìQ¸…ëñ?�������Àš™™™™™õ?���������������Àš™™™™™õ?�������@��������ÍÌÌÌÌÌì?�������@ìQ¸…ëñ¿ÍÌÌÌÌÌì?ìQ¸…ëñ?�������ÀÍÌÌÌÌÌì?���������������ÀÍÌÌÌÌÌì?�������À��������ÍÌÌÌÌÌì?�������@��������ÍÌÌÌÌÌÜ?�������@ìQ¸…ëñ¿ÍÌÌÌÌÌÜ?ìQ¸…ëñ?�������ÀÍÌÌÌÌÌÜ?���������������ÀÍÌÌÌÌÌÜ?������ø?��������ÍÌÌÌÌÌÌ?������ø?áz®Gáê¿ÍÌÌÌÌÌÌ?áz®Gáê?������ø¿ÍÌÌÌÌÌÌ?��������������ø¿ÍÌÌÌÌÌÌ?������ø?��������333333Ã?������ø?áz®Gáê¿333333Ã?áz®Gáê?������ø¿333333Ã?��������������ø¿333333Ã?š™™™™™ù¿��������333333�@š™™™™™ù¿333333Ó¿333333�@������ø¿333333Ó¿������@������ø¿��������������@ffffffÀ��������333333�@ffffffÀ333333Ó¿333333�@������À333333Ó¿������@������À��������������@š™™™™™À��������333333�@š™™™™™À333333Ó¿333333�@������À333333Ó¿������@������À��������������@š™™™™™À��������ÍÌÌÌÌÌü?š™™™™™À333333Ó¿ÍÌÌÌÌÌü?������À333333Ó¿ÍÌÌÌÌÌü?������À��������ÍÌÌÌÌÌü?š™™™™™À��������333333ù?š™™™™™À333333Ó¿333333ù?������À333333Ó¿š™™™™™õ?������À��������š™™™™™õ?������À��������������ò?������À333333Ó¿������ò?333333À333333Ó¿������î?333333À��������������î?�������À333333Ó¿ÍÌÌÌÌÌì?ffffffþ¿333333Ó¿333333ã?ffffffþ¿��������333333ã?333333û?��������ÍÌÌÌÌÌö?333333û?…ëQ¸å¿ÍÌÌÌÌÌö?333333û?…ëQ¸å¿333333ã?333333û?��������333333ã?ÍÌÌÌÌÌ@��������ÍÌÌÌÌÌö?ÍÌÌÌÌÌ@…ëQ¸å¿ÍÌÌÌÌÌö?ÍÌÌÌÌÌ@…ëQ¸å¿ffffffê?ÍÌÌÌÌÌ@��������ffffffê?ffffff@��������ÍÌÌÌÌÌ�@ffffff@������пÍÌÌÌÌÌ�@333333@������п333333�@333333@��������333333�@š™™™™™@��������333333@š™™™™™@������п333333@ffffff @������п333333@ffffff @��������333333@ffffff@��������ÍÌÌÌÌÌ@ffffff@������пÍÌÌÌÌÌ@333333 @������п33333ó@333333 @��������33333ó@333333@��������ÍÌÌÌÌÌ@333333@333333ÿÍÌÌÌÌÌ@š™™™™™ @333333Ã¿š™™™™@š™™™™™ @��������š™™™™@ffffff@��������333333@ffffff@333333ÿ333333@š™™™™™ @333333ÿ333333@š™™™™™ @��������333333@����������������333333 @š™™™™™é?��������333333 @š™™™™™é?ÍÌÌÌÌÌÜ¿333333 @ÍÌÌÌÌÌÜ?š™™™™™é¿333333 @��������š™™™™™é¿333333 @����������������ÍÌÌÌÌÌ@ffffffö?��������333333@ffffffö?J +‡é¿333333@J +‡é?ffffffö¿333333@��������ffffffö¿333333@š™™™™™Ù?��������ffffff@š™™™™™Ù?yé&1¬Ì¿ffffff@yé&1¬Ì?š™™™™™Ù¿ffffff@��������š™™™™™Ù¿ffffff@ÍÌÌÌÌÌô?��������ffffff@ÍÌÌÌÌÌô?²ï§ÆKç¿ffffff@²ï§ÆKç?ÍÌÌÌÌÌô¿ffffff@��������ÍÌÌÌÌÌô¿ffffff@ÍÌÌÌÌÌô?��������333333@ÍÌÌÌÌÌô?²ï§ÆKç¿333333@²ï§ÆKç?ÍÌÌÌÌÌô¿333333@��������ÍÌÌÌÌÌô¿333333@������������������������ÍÌÌÌÌÌö?ð§ÆK7‰é¿��������������ø?��������333333³?ÍÌÌÌÌÌö?����������������ð§ÆK7‰é?ÍÌÌÌÌÌö¿����������������������ø¿333333³?��������ÍÌÌÌÌÌö¿��������������ø?áz®Gáê¿333333³?áz®Gáê?������ø¿333333³?��‡C���?��À¿������������glutSetWindowData��� ERROR: Function <%s> called without first calling 'glutInit'.� ERROR: Function <%s> called with no current window defined.�glutGetWindowData�glutFullScreen�glutFullScreenToggle�glutReshapeWindow�glutPopWindow�glutPushWindow�glutPositionWindow�glutSetIconTitle�glutSetWindowTitle�glutIconifyWindow�glutHideWindow�glutShowWindow�glutDestroyWindow�glutCreateSubWindow��glutCreateWindow�glutSetWindow�glutSetWindow(): window ID %d not found!�FREEGLUT�fgOpenWindow�Window Class Info Not Found�� ERROR: Internal error <%s> in function %s�Game mode being invoked on a subwindow��Failed to create a window (%s)!�wglGetExtensionsStringARB�FREEGLUT_dummy�WGL_ARB_multisample�wglChoosePixelFormatARB�wglCreateContextAttribsARB�wglCreateContextAttribsARB not found����Unable to create OpenGL %d.%d context (flags %x, profile %x)�WGL_ARB_create_context���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������zZK����ÒÕ����‘���‘���(Ð�lÒ�°Ô�àÅ��P� ™��@É�� È��pÄ��0>��`8�� 8��P<��@9��Ð���È��PÇ��`��@×�� Å�� ÿ��À��PÅ��@ÿ��Ä��Ý��€�� ��ÐA��à��°Ú���’��ÐÙ��ÀØ��àø��àù��°@��àB��ÐÞ��p×��ÐÄ��àÃ�� Û��ÐÛ��"��Ð÷��€ø��Û��@þ��Àý��€��PØ��’��0Ž��@Ž��Ž���Ž��PŽ��€��À��ð�����À��`Û��pA��€¿��`Á��à¿�� ��ð��À��€�� ��Ð��p��0��Ðú��ðû��àÚ�� ��ðÚ��€ ��`û��°Æ��ÀÚ��Ù��P��Pú�� ×��°��Àü��Ð×��Å�� Ã�� Ü��P�ø��@ý��÷���Û��Àþ�� ‰��Pf��Ðw��°N���o��ðG��@m��€D��|��àö�� q�� €����� ��P��°��p�� ÷��;�� 6��p6��°9��p7��À ��à��0��à��ÐÚ��À÷��°÷��€÷����°�� �� ��†��i��ðu��€Z��Pp��PK�� n��@F��z��0÷��@s��ƒ��ßÕ�øÕ�Ö�&Ö�7Ö�FÖ�UÖ�iÖ�zÖ�‹Ö�œÖ�¬Ö�¾Ö�ÔÖ�èÖ�öÖ�×�×�*×�;×�K×�]×�l×�z×�ˆ×�˜×�ª×�¸×�Í×�Ö×�í×�Ø�Ø�'Ø�7Ø�JØ�RØ�_Ø�kØ�{Ø�Ø�žØ�±Ø�¿Ø�ÑØ�áØ�ðØ�Ù�Ù�#Ù�,Ù�AÙ�XÙ�oÙ�ƒÙ�™Ù�°Ù�ÃÙ�ÔÙ�åÙ�øÙ�Ú�Ú�)Ú�6Ú�HÚ�\Ú�nÚ�Ú�Ú�žÚ�±Ú�ÈÚ�ÞÚ�ìÚ�ÿÚ�Û�*Û�IÛ�aÛ�pÛ�ƒÛ�•Û�¦Û�¶Û�ÈÛ�ÕÛ�ãÛ�ôÛ�Ü�Ü�!Ü�/Ü�=Ü�OÜ�bÜ�yÜ�‰Ü�˜Ü�¦Ü�´Ü�ÆÜ�ÜÜ�ñÜ�Ý�"Ý�<Ý�LÝ�\Ý�qÝ�€Ý�˜Ý�°Ý�ÈÝ�ØÝ�êÝ��Þ�Þ�%Þ�6Þ�GÞ�WÞ�gÞ�|Þ�‘Þ�ŸÞ�¬Þ�¹Þ�ÉÞ�ÜÞ�ïÞ�ÿÞ�ß�$ß�1ß�>ß�Oß�dß�xß�‹ß�§ß�Àß�Ïß�Þß�òß����������� � � � � ������������������� �!�"�#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}�~��€��‚�ƒ�„�…�†�‡�ˆ�‰�Š�‹�Œ��Ž���freeglut.dll�__glutCreateMenuWithExit�__glutCreateWindowWithExit�__glutInitWithExit�glutAddMenuEntry�glutAddSubMenu�glutAttachMenu�glutBitmapCharacter�glutBitmapHeight�glutBitmapLength�glutBitmapString�glutBitmapWidth�glutButtonBoxFunc�glutChangeToMenuEntry�glutChangeToSubMenu�glutCloseFunc�glutCopyColormap�glutCreateMenu�glutCreateSubWindow�glutCreateWindow�glutDestroyMenu�glutDestroyWindow�glutDetachMenu�glutDeviceGet�glutDialsFunc�glutDisplayFunc�glutEnterGameMode�glutEntryFunc�glutEstablishOverlay�glutExit�glutExtensionSupported�glutForceJoystickFunc�glutFullScreen�glutFullScreenToggle�glutGameModeGet�glutGameModeString�glutGet�glutGetColor�glutGetMenu�glutGetMenuData�glutGetModeValues�glutGetModifiers�glutGetProcAddress�glutGetWindow�glutGetWindowData�glutHideOverlay�glutHideWindow�glutIconifyWindow�glutIdleFunc�glutIgnoreKeyRepeat�glutInit�glutInitContextFlags�glutInitContextProfile�glutInitContextVersion�glutInitDisplayMode�glutInitDisplayString�glutInitWindowPosition�glutInitWindowSize�glutJoystickFunc�glutKeyboardFunc�glutKeyboardUpFunc�glutLayerGet�glutLeaveGameMode�glutLeaveMainLoop�glutMainLoop�glutMainLoopEvent�glutMenuDestroyFunc�glutMenuStateFunc�glutMenuStatusFunc�glutMotionFunc�glutMouseFunc�glutMouseWheelFunc�glutOverlayDisplayFunc�glutPassiveMotionFunc�glutPopWindow�glutPositionWindow�glutPostOverlayRedisplay�glutPostRedisplay�glutPostWindowOverlayRedisplay�glutPostWindowRedisplay�glutPushWindow�glutRemoveMenuItem�glutRemoveOverlay�glutReportErrors�glutReshapeFunc�glutReshapeWindow�glutSetColor�glutSetCursor�glutSetIconTitle�glutSetKeyRepeat�glutSetMenu�glutSetMenuData�glutSetOption�glutSetWindow�glutSetWindowData�glutSetWindowTitle�glutSetupVideoResizing�glutShowOverlay�glutShowWindow�glutSolidCone�glutSolidCube�glutSolidCylinder�glutSolidDodecahedron�glutSolidIcosahedron�glutSolidOctahedron�glutSolidRhombicDodecahedron�glutSolidSierpinskiSponge�glutSolidSphere�glutSolidTeapot�glutSolidTetrahedron�glutSolidTorus�glutSpaceballButtonFunc�glutSpaceballMotionFunc�glutSpaceballRotateFunc�glutSpecialFunc�glutSpecialUpFunc�glutStopVideoResizing�glutStrokeCharacter�glutStrokeHeight�glutStrokeLength�glutStrokeString�glutStrokeWidth�glutSwapBuffers�glutTabletButtonFunc�glutTabletMotionFunc�glutTimerFunc�glutUseLayer�glutVideoPan�glutVideoResize�glutVideoResizeGet�glutVisibilityFunc�glutWMCloseFunc�glutWarpPointer�glutWindowStatusFunc�glutWireCone�glutWireCube�glutWireCylinder�glutWireDodecahedron�glutWireIcosahedron�glutWireOctahedron�glutWireRhombicDodecahedron�glutWireSierpinskiSponge�glutWireSphere�glutWireTeapot�glutWireTetrahedron�glutWireTorus�¸à���������î�8ã�Ðà���������<î�Pã�ìà���������xî�lã�$á���������Œî�¤ã�0á���������ï�°ã�¤á���������Äï�$ä�`â���������ˆð�àä�ã���������¨ð�œå�������������������������´å�Âå�Ðå�àå���������ôå�æ�æ�*æ�<æ���������Jæ�Zæ�hæ�væ�Šæ�šæ�¬æ�Àæ�Òæ�Þæ�îæ��ç��������� ç���������ç�$ç�.ç�6ç�Bç�Lç�Rç�Zç�dç�nç�vç�~ç�ˆç�’ç�œç�¦ç�¬ç�´ç�¾ç�Èç�Òç�Üç�æç�ðç�úç�è�è���������è�$è�0è�<è�Jè�Vè�fè�rè�zè�ˆè�’è�¢è�°è�Àè�Îè�àè�êè�øè�é�é�$é�.é�>é�Lé�`é�né�~é�”é�¤é�´é�Äé�Ðé�Üé�ìé�üé� ê�ê�&ê�4ê�Bê�Vê�jê�‚ê�”ê�¨ê���������ºê�Îê�Üê�öê�ë�$ë�6ë�Hë�Xë�lë�xë�ë� ë�°ë�¸ë�Ìë�Úë�îë�üë�ì�"ì�2ì�@ì�Lì�Zì�vì�†ì�˜ì�¨ì�ºì�Ìì�Øì�êì�øì�í�í�$í�6í�Fí�Xí�fí�tí�~í�’í�¦í���������¶í�Èí�Öí�èí�øí���������´å�Âå�Ðå�àå���������ôå�æ�æ�*æ�<æ���������Jæ�Zæ�hæ�væ�Šæ�šæ�¬æ�Àæ�Òæ�Þæ�îæ��ç��������� ç���������ç�$ç�.ç�6ç�Bç�Lç�Rç�Zç�dç�nç�vç�~ç�ˆç�’ç�œç�¦ç�¬ç�´ç�¾ç�Èç�Òç�Üç�æç�ðç�úç�è�è���������è�$è�0è�<è�Jè�Vè�fè�rè�zè�ˆè�’è�¢è�°è�Àè�Îè�àè�êè�øè�é�é�$é�.é�>é�Lé�`é�né�~é�”é�¤é�´é�Äé�Ðé�Üé�ìé�üé� ê�ê�&ê�4ê�Bê�Vê�jê�‚ê�”ê�¨ê���������ºê�Îê�Üê�öê�ë�$ë�6ë�Hë�Xë�lë�xë�ë� ë�°ë�¸ë�Ìë�Úë�îë�üë�ì�"ì�2ì�@ì�Lì�Zì�vì�†ì�˜ì�¨ì�ºì�Ìì�Øì�êì�øì�í�í�$í�6í�Fí�Xí�fí�tí�~í�’í�¦í���������¶í�Èí�Öí�èí�øí�����‚RegCloseKey�œRegOpenKeyA�RegOpenKeyExA�§RegQueryValueExA���ChoosePixelFormat�’�GetDeviceCaps�¿�GetPixelFormat��7SetPixelFormat��PSwapBuffers��BuildCommDCBA�&�CloseHandle�D�CreateFileA�Ì�FlushFileBuffers��ë�GetCommState��ì�GetCommTimeouts�QGetModuleHandleA��lGetProcAddress��hReadFile��SetCommState��SetCommTimeouts�;WriteFile�P�_strdup�4�__dllonexit�¶�_errno�� _iob��­_snprintf�Scalloc��Wcos�\exit��bfflush��kfprintf�lfputc�qfree��yfwrite��}getenv��¤malloc��ªmemcpy��Ãsin�Æsqrt��Èsscanf��Êstrchr��Ëstrcmp��Îstrcspn�Ñstrlen��Óstrncmp�Ôstrncpy�Østrstr��Ústrtok��ìvfprintf�� �glBegin� �glBitmap��+�glColor4f�,�glColor4fv��F�glDisable�I�glDrawBuffer��O�glEnable��Q�glEnd�\�glEvalMesh2�a�glFlush�j�glGetBooleanv�m�glGetError��o�glGetIntegerv�|�glGetString�¤�glLoadIdentity��«�glMap2d�¯�glMapGrid2d�µ�glMatrixMode��»�glNormal3d��¼�glNormal3dv�Ä�glOrtho�Ê�glPixelStorei�Ò�glPopAttrib�Ó�glPopClientAttrib�Ô�glPopMatrix�×�glPushAttrib��Ø�glPushClientAttrib��Ù�glPushMatrix��ß�glRasterPos2i�ó�glReadBuffer��þ�glRotated��glScaled��;glTranslated��<glTranslatef��?glVertex2f��AglVertex2i��EglVertex3d��FglVertex3dv�VglViewport��YwglCreateContext��[wglDeleteContext��^wglGetCurrentContext��_wglGetCurrentDC�cwglGetProcAddress�dwglMakeCurrent���AdjustWindowRect�� �BeginPaint���ChangeDisplaySettingsA���ChangeDisplaySettingsExA��;�ClientToScreen��Y�CreateWindowExA�…�DefWindowProcA���DestroyWindow�”�DispatchMessageA��·�EndPaint��Á�EnumDisplaySettingsA��â�GetClassInfoA�ö�GetCursorPos��÷�GetDC�ù�GetDesktopWindow�� GetKeyState�GetKeyboardState��$GetMessageA�EGetSystemMetrics��TGetWindowLongA��ZGetWindowRect�’LoadCursorA�–LoadIconA�ºMoveWindow��»MsgWaitForMultipleObjects�ÍPeekMessageA��ÑPostQuitMessage�ÛRedrawWindow��ÜRegisterClassA��éReleaseCapture��êReleaseDC�ðScreenToClient��SetCapture��SetClassLongA� SetCursor� SetCursorPos��5SetWindowLongA��8SetWindowPos��:SetWindowTextA��BShowCursor��EShowWindow��QToAscii�\TranslateMessage��cUnregisterClassA��iUpdateWindow���joyGetDevCapsA���joyGetPosEx��timeBeginPeriod�‘�timeEndPeriod�”�timeGetTime����à��à��à��à�ADVAPI32.DLL����à�à�à�à�à�GDI32.dll���(à�(à�(à�(à�(à�(à�(à�(à�(à�(à�(à�(à�KERNEL32.dll����<à�msvcrt.dll��Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�Pà�msvcrt.dll��dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�dà�OPENGL32.DLL����xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�xà�USER32.dll��Œà�Œà�Œà�Œà�Œà�WINMM.DLL���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������zZK������������€����zZK����������0��€����zZK������� ��H���X������������4���V�S�_�V�E�R�S�I�O�N�_�I�N�F�O�����½ïþ����������������������������������������b����S�t�r�i�n�g�F�i�l�e�I�n�f�o���>����0�8�0�9�0�4�b�0���v�'��F�i�l�e�D�e�s�c�r�i�p�t�i�o�n�����f�r�e�e�g�l�u�t� �M�i�n�G�W� �b�u�i�l�d�,� �b�y� �M�a�r�t�i�n� �P�a�y�n�e�.�����6� ��F�i�l�e�V�e�r�s�i�o�n�����2�,� �6�,� �0�,� �0�����:� ��I�n�t�e�r�n�a�l�N�a�m�e���f�r�e�e�g�l�u�t�.�d�l�l�����Z���L�e�g�a�l�C�o�p�y�r�i�g�h�t���©�1�9�9�9� 2�0�1�0� �P�a�w�e�l� �W�.� �O�l�s�z�t�a�����B� ��O�r�i�g�i�n�a�l�F�i�l�e�n�a�m�e���f�r�e�e�g�l�u�t�.�d�l�l�����`� ��P�r�o�d�u�c�t�N�a�m�e�����F�r�e�e�g�l�u�t� �O�p�e�n�G�L� �U�t�i�l�i�t�y� �T�o�o�l�k�i�t���:� ��P�r�o�d�u�c�t�V�e�r�s�i�o�n���2�,� �6�,� �0�,� �0�����D�����V�a�r�F�i�l�e�I�n�f�o�����$����T�r�a�n�s�l�a�t�i�o�n����� °�����������������������������������������������������������������������������������������������������������������������������������������������������������������������D�� 00=0E0i0s0ˆ00ö0'141‡1’1­1Ã1ì1ô122<2D2f2m2Œ2”2¶2½2Ü2ä23 3,343T3[3|3„3¦3­3È3Ó3Ú3ç3ø34 44(404F4M4l4t4–44¼4Ç4Î4ì4ô455<5D5d5k5Œ5”5´5»5Ü5ä56 6,646T6[6|6„6¤6«6Ì6Ô6ô6û67$7;7L7S7]7ˆ7“7š7§7¼7Ä7ä7ë7 8848;8\8d8„8‹8¬8¸8Ô8Û8é8 99;9B9\9i9‹9’9¬9¹9Û9â9ü9 :&:E:L:h:y:Ä:Ë:é:ò:;;F;[;b;m;Š;¨;°;ö;ý;<<<$<J<c<¸?À?ä?ë?õ?� ����000(000D0K0U0a0h0r0ˆ0ª0±0È0Þ0ð01-161=1R1[1l11œ1¢1´1»1Ô1Û1ò1 2-2M2˜2°2É2Ð2ê2ñ2 33,333M3T3n3u33–3°3·3Ñ3Ø3ò3ù34444;4U4\4v4}4•4¤4´4Ã4Ó4â4ò455 505?5O5^5n5}55œ5¬5»5Ë5Ú5ê5ù5 66(676G6V6f6u6…6”6¤6³6Ã6Ò6â6ñ677 7/7?7N7^7m7}7Œ7œ7«7»7Ê7Ú7é7ù788'878F8V8e8u8„8”8£8³8Â8Ò8á8ñ8�999/9>9N9]9m9|9Œ9›9«9º9Ê9Ù9é9ø9::':6:F:U:e:t:„:“:£:²:Â:Ñ:á:ð:�;;;.;>;M;];l;|;‹;›;ª;º;É;Ù;è;ø;<<&<6<E<U<d<t<ƒ<“<¢<²<Á<Ñ<à<ð<ÿ<==.===M=\=l={=‹=š=ª=¹=É=Ø=è=÷=>>&>5>E>T>d>s>ƒ>’>¢>±>Á>Ð>à>ï>ÿ>??-?=?L?\?k?{?Š?š?©?¹?È?Ø?ç?÷?�0��(��00%050D0T0c0s0‚0’0¡0±0À0Ð0ß0ï0þ011-1<1L1[1k1z1Š1™1©1¸1È1×1ç1ö122%242D2S2c2r2‚2‘2¡2°2À2Ï2ß2î2þ2 33,3<3K3[3j3z3‰3™3¨3¸3Ç3×3æ3ö344$444C4S4b4r44‘4 4°4¿4Ï4Þ4î4ý4 55(575C5R5^5m5y5ˆ5¤5©5²5ë5õ56(6F6M6~67T7[7|7 7Õ7Ü7ü7888$8.888G8h8Š8‘8®8(9/9L9”9›9¾9ô:û:;-<4<^<>>=>\?c?­?¿?Ï?ê?���@��Ä���04090A0H0Q0X0|0‡00—0¼0Ï0è0ô011!111V1c1x1€1’1¥1·1¾1Ø1ä12%2I2[2d2i2ƒ2”2›2¥2µ2Ï2ë253]3ˆ3¬3Ï3ë3 4!444<4D4L4d4k4Ž4¬4Ë4á4î475>5l5·5Ò5á5ð5N6}6Ä6ß6î6ý6Z7t7Š7—7×7Þ7ø78 8!8‡8X;c;j;;ç;¸>Ã>Ê>���P�����ˆ:“:š:���`��h���X6_6o6v6˜9Ÿ9¯9¶9J=]=}=‡=˜=¢=³=½=Î=Û=>>*>6>\>f>w>>’>œ>­>º>è>ï> ?)?/?8?B?L?[?l?s?‡?Ž?—?«?²?½?þ?�p��¼���40;0[0j0p0€0Š0”0£0´0»0Ï0Ö0ß0ó0ú01N1„1‹1¨1³1º1Ñ1à1ì1�222)282D2X2g2v222œ2°2¿2Î2Ù2è2ô233&3H3S3Z3q3€3Œ3 3¯3¾3É3Ø3ä3ø344!404<4P4_4n4y4ˆ4”4¨4·4Æ45¬5Ð5 6¥7¬7ä7#:*:¡:l<s<¡<í?ô?���€��`���.0¼0È073>3¡3 4,4G6Q667õ8ü8É9á<è<=’=ž=©=Í=Ò=Þ=é=>> >8>H>‘>´>Ñ>ó>þ> ?1?™?¥?·?Æ?×?ê?ô?�����T��00$010>0E0L0V0`0j0t0{0…00–0 0ª0±0»0Å0Ì0Ó0Ú0á0ë0õ0ÿ0 111'121>1H1N1X1b1n1x1‚1–1¯1Ç1ã12[2`2{2–2 2÷23©3º3Î3ç3ö3 44G4S4{44»4Ó4ô4ê5ô5 66/6C6W6r6‘6˜6 6é6 777+7?7y7ƒ7 7¥7µ7À7Æ7Ì7Ñ7â7è7î7ó788(8\8i8º8*9Y9b9©9³9 :+:ï:U;m;ˆ;–;¼;ì;ü;.<M<[<³<Ú<%=G=j=p=y=™=±=»=Ç=Í=Û=â=>%>+>9>A>H>V>e>ˆ>“>š>¯>È>Ó>Ú>ì>???/?H?S?Z?l?ˆ?“?š?©?È?Ó?Ú?é?� ��œ���000)0H0S0Z0i0˜0£0ª0¹0è0ó0ú0 181C1J1Y1˜1£1ª1¹1ø12 22ˆ2ž3Å4Ô4ù4Þ5 6w6‰6’6¤6í6ù67G7[7Ö7Þ7M8‹8›8¦8É8²9;š;í;ö; <=Q=€=Ê=ä=õ=>J>d>u>…>¶>ë>Ð?Þ?÷?ý?�°��H���u0|0'1.1Ð1°2Ñ23B4d4 4 6M6\79l:—:„;v<»<l>‰>‘>˜>±>ˆ?“?š?¥?Í?ê?���À��Ø���q0€0—0§0»0Ý0ø01 131:1k1q1‰1®1¿1á1ë1�2 22"2,2O2g2x2ª2ø2ÿ2U3¨3³3º3Ä3è3ó3ú344$4.4V4]4|4„4Ž4´4»4Ø4á4ô4û45/5;5B5X5„5‹5¨5³5º5ê5 6V6–6½6Æ647;7^7w7ê7ñ7 88„8‹8ª8Õ8þ8$9+9I9f9‰9©9°9‹:Ý:;!;N<V<]<Ó<‘>™>¹>ë>ö>?Ž?Ä?�Ð��È��� 13845w5‹5®677"7)7H7S7Z7x7ƒ7Š7¨7³7º7Ü7ù78"868=8X8`8y8€8Š8–88ª8È8Ð8ô8û89*989?9J9b9p9w9ƒ999©9·9¾9ì9÷9(:/:(;3;:;l;‚;µ;¼;Ø;à;ô;û; <(<~<·<Ä<Ë<â<þ<=%=1=G=R=b=v=‚=œ=µ=Ó=Ù=ô=û=!>1>C>¡>�?™?���à��ä���00w0±0Ú0à0ƒ11Ã1J2R2¡2«2µ2¿2Ü233r3‘3›3¦3²3Ú34 4(424°4»4Ç4å4ò45u66‰6“66§6±6»6Å6Ï6Ù6ã6ñ6I8„8Œ8“8ž8©8°8ä819i9”9œ9£9Ê9ð9?:Ê:Ú:; ;;?;G;N;_;…;¡;ç;í;õ;]<†<Ž<–<¯<Æ<Ï<Ù<á<è<=%=5=a=k=p=z=œ=­=¶=É=ø= >>O>W>Â>á>œ?°?Ó?ê?���ð�� ��O0`0g0„0¡0¯0Æ0Ì0à0s11©102O22½2-393é3è6ù6�787I7P7Ò7Ù78 898@8J8V8]8g8ˆ88¤8«8µ8Á8È8Ò8é8ö89999¦9­9Ä9Ë9Ö9é9ò9::&:2:9:D:X:`::¤:«:º:Á:Ø:à:,;3;=;I;P;Z;h;p;¼;Ã;Í;Ù;à;ê;ø;<1<n<ˆ<<¤<«<È<Ð<ê<ñ<$=+=5=H=P=j=q=¤=«=µ=È=Ð=ð=> >>!>(>2>H>P>l>„>‹>•>¡>¨>²>È>Ð>ì>? ??!?(?2?I?a?o?„?‹?¨?�������/0W0^0È0Ó0Ú0ä0111!1,1Z1|1ƒ1ø1A2\2d2”2›2­2ê2õ2)31383K3™3#4>4ƒ4:5Û5ã5ê5&6F66Þ6»7,8Z8d8u88Î8Ö829Œ9š9ã9ÿ9;Ø;<<)<N<z<«<=%=3=R=k=r={=„==¥=Á=Î=ò=ÿ=>>1>>>R>Z>b>j>r>z>‚>Š>’>š>¢>ª>²>º>Â>Ê>Ò>Ú>â>ê>ò>ú>? ???"?*?2?:?B?J?R?Z?b?j?r?z?‚?Š?’?š?¢?ª?²?º?Â?Ê?Ò?Ú?â?ê?ò?ú?����Ø���000!020G0T0`0z0Š00¼0Ø0ä01 111"1*121:1B1J1R1Z1b1j1r1z1‚1Š1’1š1¢1ª1²1º1Â1Ê1Ò1Ú1â1ê1ò1ú12 222"2*222:2B2J2R2Z2b2j2r2z2‚2Š2’2š2¢2ª2²2º2Â2Ê2Ò2Ú2â2ê2ò2ú23 333"3*323:3B3J3R3Z3b3j3r3z3‚3Š3’3š3¢3ª3²3º3Î3ä3� �Ø���000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|0€0„0ˆ0Œ00”0˜0œ0 0¤0¨0¬0°0´0¸0¼0À0Ä0È0Ì0Ð0Ô0Ø0Ü0à0ä0è0ì0ð0ô0ø0ü0�111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|1€1„1ˆ1Œ11”1˜1œ1 1¤1¨1¬1°1´1¸1¼1À1Ä1È1Ì1Ð1Ô1Ø1Ü1à1ä1è1ì1ð1ô1ø1ü1�222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|2€2„2ˆ2Œ22”2˜2œ2 2¤2¨2¬2°2´2¸2¼2À2Ä2È2Ì2Ð2Ô2Ø2Ü2à2ä2è2ì2ð2ô2ø2ü2�333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3€3„3ˆ3Œ33”3˜3œ3 3¤3¨3¬3°3´3¸3¼3À3Ä3È3Ì3Ð3Ô3Ø3Ü3à3ä3è3ì3ð3ô3ø3ü3 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4€4„4ˆ4Œ44”4˜4œ4 4¤4¨4¬4°4´4¸4¼4À4Ä4È4Ì4Ð4Ô4Ø4Ü4à4ä4è4ì4ð4ô4ø4ü4�555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5€5„5ˆ5Œ55”5˜5œ5 5¤5¨5¬5°5´5¸5¼5À5Ä5È5Ì5Ð5Ô5Ø5Ü5à5ä5è5ì5ð5ô5ø5ü5�666 66666 6$6(6,6064686<6@6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|6€6„6ˆ6Œ66”6˜6œ6 6¤6¨6¬6°6´6¸6¼6À6Ä6È6Ì6Ð6Ô6Ø6Ü6à6ä6è6ì6ð6ô6ø6ü6�777 77777 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|7€7„7ˆ7Œ77”7˜7œ7 7¤7¨7¬7°7´7¸7¼7À7Ä7È7Ì7Ð7Ô7Ø7Ü7à7ä7è7ì7ð7ô7ø7ü7�888 88888@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|8€8„8ˆ8Œ88”8˜8œ8 8¤8¨8¬8°8´8¸8¼8À8Ä8È8Ì8Ð8Ô8Ø8Ü8à8ä8è8ì8ð8ô8ø8ü8�999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|9€9„9ˆ9Œ99”9˜9œ9 9¤9¨9¬9°9´9¸9¼9À9Ä9È9Ì9Ð9Ô9Ø9Ü9à9ä9è9ì9ð9ô9ø9ü9�::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:€:„:ˆ:Œ::”:˜:œ: :¤:¨:¬:°:´:¸:¼:À:Ä:È:Ì:Ð:Ô:Ø:Ü:à:ä:è:ì:ð:ô:ø:ü:�;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;€;„;ˆ;Œ;;”;˜;œ; ;¤;¨;¬;°;´;¸;¼;À;Ä;È;Ì;Ð;Ô;Ø;Ü;à;ä;è;ì;ð;ô;ø;ü;�<<< <<<<< <$<(<,<0<4<8<<<`<d<h<l<p<t<x<|<€<„<ˆ<Œ<<”<˜<œ< <¤<¨<¬<°<´<¸<¼<À<Ä<È<Ì<Ð<Ô<Ø<Ü<à<ä<è<ì<ð<ô<ø<ü<�=== ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|=€=„=ˆ=Œ==”=˜=œ= =¤=¨=¬=°=´=¸=¼=À=Ä=È=Ì=Ð=Ô=Ø=Ü=à=ä=è=ì=ð=ô=ø=ü=�>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>€>„>ˆ>Œ>>”>˜>œ> >¤>¨>¬>°>´>¸>¼>À>Ä>È>Ì>Ð>Ô>Ø>Ü>à>ä>è>ì>ð>ô>ø>ü>�??? ????? ?$?(?,?0?4?8?<?@?D?H?L?P?T?X?\?`?d?h?l?p?t?x?|?€?„?ˆ?Œ??”?˜?œ? ?¤?¨?¬?°?´?¸?¼?À?Ä?È?Ì?Ð?Ô?Ø?Ü?à?ä?è?ì?ð?ô?ø?ü?�0�8���000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0€0„0ˆ0Œ00”0˜0œ0 0¤0¨0¬0°0´0¸0¼0À0Ä0È0Ì0Ð0Ô0Ø0Ü0à0ä0è0ì0ð0ô0ø0ü0�111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|1€1„1ˆ1Œ11”1˜1œ1 1¤1¨1¬1°1´1¸1¼1À1Ä1È1Ì1Ð1Ô1Ø1Ü1à1ä1è1ì1ð1ô1ø1ü1�222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|2€2„2ˆ2Œ22”2˜2œ2 2¤2¨2¬2°2´2¸2¼2À2Ä2È2Ì2Ð2Ô2Ø2Ü2à2ä2è2ì2ð2ô2ø2ü2�333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3€3„3ˆ3Œ33”3˜3œ3 3¤3¨3¬3°3´3¸3¼3À3Ä3È3Ì3Ð3Ô3Ø3Ü3à3ä3è3ì3ð3ô3ø3ü3�444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4 4¤4¨4¬4°4´4¸4¼4À4Ä4È4Ì4Ð4Ô4Ø4Ü4à4ä4è4ì4ð4ô4ø4ü4�555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5€5„5ˆ5Œ55”5˜5œ5 5¤5¨5¬5°5´5¸5¼5À5Ä5È5Ì5Ð5Ô5Ø5Ü5à5ä5è5ì5ð5ô5ø5ü5�666 66666 6$6(6,6064686<6@6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|6€6„6ˆ6Œ66”6˜6œ6 6¤6¨6¬6°6´6¸6¼6À6Ä6È6Ì6Ð6Ô6Ø6Ü6à6ä6è6ì6ð6ô6ø6ü6�777 77777 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|7€7„7ˆ7Œ77”7˜7œ7 7¤7¨7¬7°7´7¸7¼7À7Ä7È7Ì7Ð7Ô7Ø7Ü7à7ä7è7ì7ð7ô7ø7ü7�888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|8€8„8ˆ8Œ88”8˜8œ8À8Ä8È8Ì8Ð8Ô8Ø8Ü8à8ä8è8ì8ð8ô8ø8ü8�999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|9€9„9ˆ9Œ99”9˜9œ9 9¤9¨9¬9°9´9¸9¼9À9Ä9È9Ì9Ð9Ô9Ø9Ü9à9ä9è9ì9ð9ô9ø9ü9�::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:€:„:ˆ:Œ::”:˜:œ: :¤:¨:¬:°:´:¸:¼:À:Ä:È:Ì:Ð:Ô:Ø:Ü:à:ä:è:ì:ð:ô:ø:ü:�;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;€;„;ˆ;Œ;;”;˜;œ; ;¤;¨;¬;°;´;¸;¼;À;Ä;È;Ì;Ð;Ô;Ø;Ü;à;ä;è;ì;ð;ô;ø;ü;�<<< <<<<< <$<(<,<0<4<8<<<@<D<H<L<P<T<X<\<`<d<h<l<p<t<x<|<€<„<ˆ<Œ<<”<˜<œ< <¤<¨<¬<°<´<¸<¼<�@�Œ��`2d2h2l2p2t2x2|2€2„2ˆ2Œ22”2˜2œ2 2¤2¨2¬2°2´2¸2¼2À2Ä2È2Ì2Ð2Ô2Ø2Ü2à2ä2è2ì2ð2ô2ø2ü2�333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3€3„3ˆ3Œ33”3˜3œ3 3¤3¨3¬3°3´3¸3¼3À3Ä3È3Ì3Ð3Ô3Ø3Ü3`4d4h4l4p4t4x4|4€4„4ˆ4Œ44”4˜4œ4 4¤4¨4¬4°4´4¸4¼4À4Ä4È4Ì4Ð4Ô4Ø4Ü4à4ä4è4ì4ð4ô4ø4ü4�555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5€5„5ˆ5Œ55”5˜5œ5 5¤5¨5¬5°5´5¸5¼5À5Ä5È5Ì5Ð5Ô5Ø5Ü5 6���P�Ø���44 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4€4„4ˆ4Œ44”4˜4œ4 4¤4¨4¬4°4´4¸4¼4À4Ä4È4Ì4Ð4Ô4Ø4Ü4à4ä4è4ì4ð4ô4ø4ü4�555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5€5„5ˆ5Œ55”5˜5œ5 5¤5¨5¬5°5���`�$���|3ˆ3Ð3Ü3(444€4Œ4Ø4ä4,585€5Œ5� �$���ˆ>Œ>>”>˜>œ> >???? ?$?(?�0���€4„4ˆ4Œ44”4˜4œ4 4¤4¨4¬4°4´4¸4¼4À4Ä4È4Ì4Ð4Ô4Ø4Ü4à4ä4è4ì4ð4ô4ø4ü4�555 555€8„8ˆ8Œ88”8˜8œ8 8¤8¨8¬8°8´8¸8¼8À8Ä8È8Ì8Ð8Ô8Ø8Ü8à8ä8è8ì8ð8ô8ø8ü8�999 99Ü:à:ä:è:ì:ð:ô:ø:ü:ø<ü<�=== ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|=€=„=ˆ=Œ==”=˜=œ= =¤=¨=¬=°=´=¸=¼=À=Ä=È=Ì=Ð=Ô=Ø=Ü=à=ä=è=ì=ð=ô=ø=ü=�>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>€>„>ˆ>Œ>>”>˜>œ> >¤>¨>¬>°>´>¸>¼>À>Ä>È>Ì>Ð>Ô>Ø>Ü>à>ä>è>ì>ð>ô>ø>ü>�??? ????? ?$?(?,?0?4?8?<?@?D?H?L?P?T?X?\?`?d?h?l?p?t?x?|?€?„?ˆ?Œ??”?˜?œ? ?¤?¨?¬?°?´?¸?¼?À?Ä?È?Ì?�@�8��l5p5t5x5|5€5„5ˆ5Œ55”5˜5œ5 5¤5¨5¬5ì5ø5666(646@6L6X6d6p6|6ˆ6”6 6¬6¸6Ä6Ð6Ü6è6ô6�7 77$707<7H7T7`7l7x7„77œ7¨7´7À7Ì7Ø7ä7ð7ü788 8,888D8P8\8h8t8€8Œ8˜8¤8°8¼8È8Ô8à8ì8ø8999(949@9L9X9d9p9|9ˆ9”9 9¬9¸9Ä9Ð9Ü9è9ô9�: ::$:0:<:H:T:`:l:x:ˆ::˜: :Ä:Ì:Ô:Ü:ä:ì:ô:ü:; ;;;$;,;4;<;D;L;T;\;d;l;t;|;„;Œ;”;œ;¤;¬;´;¼;Ä;Ì;Ô;Ü;ä;ì;ô;ü;< <<<$<,<4<<<D<L<T<\<d<l<t<|<„<Œ<”<œ<¤<¬<´<¼<Ä<Ì<Ô<Ü<ä<ì<ô<ü<= ==$=,=4=<=D=L=T=\=d=l=t=|=„=Œ=”=œ=¤=¬=´=¼=Ä=ä=ì=ô=ü=> >>>$>,>4>D>L>T>\>d>„>Œ>”>œ>¤>¬>´>¼>Ä>Ì>Ô>Ü>ä>ì>ô>ü>? ???$?,?4?<?D?L?T?\?d?l?t?|?„?Œ?”?œ?¤?¬?´?¼?Ä?Ì?Ô?Ü?ä?ì?ô?ü?���P�8���0 0$0,040<0D0L0T0\0d0l0t0|0„0Œ0”0œ0¤0¬0´0¼0Ä0Ì0�p� ��(646@6L6X6d6p6|6ˆ6”6 6¬6¸6Ä6Ð6Ü6è6ô6�7 77$707<7H7T7`7l7x7„77œ7¨7´7À7Ì7Ø7ä7ð7ü788 8,888D8P8\8h8t8€8Œ8˜8¤8°8¼8È8Ô8à8ì8ø8999(949@9L9X9d9p9|9ˆ9”9 9¬9¸9Ä9Ð9Ü9è9ô9�: ::$:0:<:H:T:`:l:x:„::œ:¨:´:Ä:Ì:Ô:Ü:ä:ì:ô:ü:; ;;;$;,;4;<;D;L;T;\;d;l;t;|;„;Œ;”;œ;¤;¬;´;¼;Ä;Ì;Ô;Ü;ä;ì;ô;ü;< <<<$<,<4<<<D<L<T<\<d<l<t<|<„<Œ<”<œ<¤<¬<´<¼<Ä<Ì<Ô<Ü<ä<ì<ô<ü<= ===$=,=4=D=L=T=\=d=l=t=|=„=Œ=”=œ=¤=¬=´=¼=Ä=Ì=Ô=Ü=ä=> >>>$>,>4><>D>L>T>d>l>t>|>„>¤>¬>´>¼>Ä>Ì>Ô>Ü>ä>ì>ô>ü>? ???$?,?4?<?D?L?T?\?d?l?t?|?„?Œ?”?œ?¤?¬?´?¼?Ä?Ì?Ô?Ü?ä?ì?ô?ü?�€�@���0 000$0,0D0L0T0\0d0l0t0|0„0Œ0”0œ0¤0¬0´0¼0Ä0Ì0Ô0Ü0ä0ì0��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/include/�������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�017214� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/include/GL/����������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�017516� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/include/GL/freeglut.h������������������������������������������0000644�0000764�0000764�00000001251�11533026402�021503� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef __FREEGLUT_H__ #define __FREEGLUT_H__ /* * freeglut.h * * The freeglut library include file * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "freeglut_std.h" #include "freeglut_ext.h" /*** END OF FILE ***/ #endif /* __FREEGLUT_H__ */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/include/GL/glut.h����������������������������������������������0000644�0000764�0000764�00000001177�11533026402�020650� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef __GLUT_H__ #define __GLUT_H__ /* * glut.h * * The freeglut library include file * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "freeglut_std.h" /*** END OF FILE ***/ #endif /* __GLUT_H__ */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/include/GL/freeglut_ext.h��������������������������������������0000644�0000764�0000764�00000017226�11533026402�022374� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef __FREEGLUT_EXT_H__ #define __FREEGLUT_EXT_H__ /* * freeglut_ext.h * * The non-GLUT-compatible extensions to the freeglut library include file * * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. * Written by Pawel W. Olszta, <olszta@sourceforge.net> * Creation date: Thu Dec 2 1999 * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifdef __cplusplus extern "C" { #endif /* * Additional GLUT Key definitions for the Special key function */ #define GLUT_KEY_NUM_LOCK 0x006D #define GLUT_KEY_BEGIN 0x006E #define GLUT_KEY_DELETE 0x006F /* * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window */ #define GLUT_ACTION_EXIT 0 #define GLUT_ACTION_GLUTMAINLOOP_RETURNS 1 #define GLUT_ACTION_CONTINUE_EXECUTION 2 /* * Create a new rendering context when the user opens a new window? */ #define GLUT_CREATE_NEW_CONTEXT 0 #define GLUT_USE_CURRENT_CONTEXT 1 /* * Direct/Indirect rendering context options (has meaning only in Unix/X11) */ #define GLUT_FORCE_INDIRECT_CONTEXT 0 #define GLUT_ALLOW_DIRECT_CONTEXT 1 #define GLUT_TRY_DIRECT_CONTEXT 2 #define GLUT_FORCE_DIRECT_CONTEXT 3 /* * GLUT API Extension macro definitions -- the glutGet parameters */ #define GLUT_INIT_STATE 0x007C #define GLUT_ACTION_ON_WINDOW_CLOSE 0x01F9 #define GLUT_WINDOW_BORDER_WIDTH 0x01FA #define GLUT_WINDOW_HEADER_HEIGHT 0x01FB #define GLUT_VERSION 0x01FC #define GLUT_RENDERING_CONTEXT 0x01FD #define GLUT_DIRECT_RENDERING 0x01FE #define GLUT_FULL_SCREEN 0x01FF /* * New tokens for glutInitDisplayMode. * Only one GLUT_AUXn bit may be used at a time. * Value 0x0400 is defined in OpenGLUT. */ #define GLUT_AUX 0x1000 #define GLUT_AUX1 0x1000 #define GLUT_AUX2 0x2000 #define GLUT_AUX3 0x4000 #define GLUT_AUX4 0x8000 /* * Context-related flags, see freeglut_state.c */ #define GLUT_INIT_MAJOR_VERSION 0x0200 #define GLUT_INIT_MINOR_VERSION 0x0201 #define GLUT_INIT_FLAGS 0x0202 #define GLUT_INIT_PROFILE 0x0203 /* * Flags for glutInitContextFlags, see freeglut_init.c */ #define GLUT_DEBUG 0x0001 #define GLUT_FORWARD_COMPATIBLE 0x0002 /* * Flags for glutInitContextProfile, see freeglut_init.c */ #define GLUT_CORE_PROFILE 0x0001 #define GLUT_COMPATIBILITY_PROFILE 0x0002 /* * Process loop function, see freeglut_main.c */ FGAPI void FGAPIENTRY glutMainLoopEvent( void ); FGAPI void FGAPIENTRY glutLeaveMainLoop( void ); FGAPI void FGAPIENTRY glutExit ( void ); /* * Window management functions, see freeglut_window.c */ FGAPI void FGAPIENTRY glutFullScreenToggle( void ); /* * Window-specific callback functions, see freeglut_callbacks.c */ FGAPI void FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) ); FGAPI void FGAPIENTRY glutCloseFunc( void (* callback)( void ) ); FGAPI void FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) ); /* A. Donev: Also a destruction callback for menus */ FGAPI void FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) ); /* * State setting and retrieval functions, see freeglut_state.c */ FGAPI void FGAPIENTRY glutSetOption ( GLenum option_flag, int value ); FGAPI int * FGAPIENTRY glutGetModeValues(GLenum mode, int * size); /* A.Donev: User-data manipulation */ FGAPI void* FGAPIENTRY glutGetWindowData( void ); FGAPI void FGAPIENTRY glutSetWindowData(void* data); FGAPI void* FGAPIENTRY glutGetMenuData( void ); FGAPI void FGAPIENTRY glutSetMenuData(void* data); /* * Font stuff, see freeglut_font.c */ FGAPI int FGAPIENTRY glutBitmapHeight( void* font ); FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font ); FGAPI void FGAPIENTRY glutBitmapString( void* font, const unsigned char *string ); FGAPI void FGAPIENTRY glutStrokeString( void* font, const unsigned char *string ); /* * Geometry functions, see freeglut_geometry.c */ FGAPI void FGAPIENTRY glutWireRhombicDodecahedron( void ); FGAPI void FGAPIENTRY glutSolidRhombicDodecahedron( void ); FGAPI void FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ); FGAPI void FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ); FGAPI void FGAPIENTRY glutWireCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks); FGAPI void FGAPIENTRY glutSolidCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks); /* * Extension functions, see freeglut_ext.c */ typedef void (*GLUTproc)(); FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); /* * Joystick functions, see freeglut_joystick.c */ /* USE OF THESE FUNCTIONS IS DEPRECATED !!!!! */ /* If you have a serious need for these functions in your application, please either * contact the "freeglut" developer community at freeglut-developer@lists.sourceforge.net, * switch to the OpenGLUT library, or else port your joystick functionality over to PLIB's * "js" library. */ int glutJoystickGetNumAxes( int ident ); int glutJoystickGetNumButtons( int ident ); int glutJoystickNotWorking( int ident ); float glutJoystickGetDeadBand( int ident, int axis ); void glutJoystickSetDeadBand( int ident, int axis, float db ); float glutJoystickGetSaturation( int ident, int axis ); void glutJoystickSetSaturation( int ident, int axis, float st ); void glutJoystickSetMinRange( int ident, float *axes ); void glutJoystickSetMaxRange( int ident, float *axes ); void glutJoystickSetCenter( int ident, float *axes ); void glutJoystickGetMinRange( int ident, float *axes ); void glutJoystickGetMaxRange( int ident, float *axes ); void glutJoystickGetCenter( int ident, float *axes ); /* * Initialization functions, see freeglut_init.c */ FGAPI void FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVersion ); FGAPI void FGAPIENTRY glutInitContextFlags( int flags ); FGAPI void FGAPIENTRY glutInitContextProfile( int profile ); /* * GLUT API macro definitions -- the display mode definitions */ #define GLUT_CAPTIONLESS 0x0400 #define GLUT_BORDERLESS 0x0800 #define GLUT_SRGB 0x1000 #ifdef __cplusplus } #endif /*** END OF FILE ***/ #endif /* __FREEGLUT_EXT_H__ */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/freeglut-2.6.0-3/include/GL/freeglut_std.h��������������������������������������0000644�0000764�0000764�00000063050�11533026402�022362� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef __FREEGLUT_STD_H__ #define __FREEGLUT_STD_H__ /* * freeglut_std.h * * The GLUT-compatible part of the freeglut library include file * * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. * Written by Pawel W. Olszta, <olszta@sourceforge.net> * Creation date: Thu Dec 2 1999 * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifdef __cplusplus extern "C" { #endif /* * Under windows, we have to differentiate between static and dynamic libraries */ #ifdef _WIN32 /* #pragma may not be supported by some compilers. * Discussion by FreeGLUT developers suggests that * Visual C++ specific code involving pragmas may * need to move to a separate header. 24th Dec 2003 */ /* Define FREEGLUT_LIB_PRAGMAS to 1 to include library * pragmas or to 1 to exclude library pragmas. * The default behavior depends on the compiler/platform. */ # ifndef FREEGLUT_LIB_PRAGMAS # if ( defined(_MSC_VER) || defined(__WATCOMC__) ) && !defined(_WIN32_WCE) # define FREEGLUT_LIB_PRAGMAS 1 # else # define FREEGLUT_LIB_PRAGMAS 0 # endif # endif # ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN 1 # endif # define NOMINMAX # include <windows.h> /* Windows static library */ # ifdef FREEGLUT_STATIC # define FGAPI # define FGAPIENTRY /* Link with Win32 static freeglut lib */ # if FREEGLUT_LIB_PRAGMAS # pragma comment (lib, "freeglut_static.lib") # endif /* Windows shared library (DLL) */ # else # define FGAPIENTRY __stdcall # if defined(FREEGLUT_EXPORTS) # define FGAPI __declspec(dllexport) # else # define FGAPI __declspec(dllimport) /* Link with Win32 shared freeglut lib */ # if FREEGLUT_LIB_PRAGMAS # pragma comment (lib, "freeglut.lib") # endif # endif # endif /* Drag in other Windows libraries as required by FreeGLUT */ # if FREEGLUT_LIB_PRAGMAS # pragma comment (lib, "glu32.lib") /* link OpenGL Utility lib */ # pragma comment (lib, "opengl32.lib") /* link Microsoft OpenGL lib */ # pragma comment (lib, "gdi32.lib") /* link Windows GDI lib */ # pragma comment (lib, "winmm.lib") /* link Windows MultiMedia lib */ # pragma comment (lib, "user32.lib") /* link Windows user lib */ # endif #else /* Non-Windows definition of FGAPI and FGAPIENTRY */ # define FGAPI # define FGAPIENTRY #endif /* * The freeglut and GLUT API versions */ #define FREEGLUT 1 #define GLUT_API_VERSION 4 #define FREEGLUT_VERSION_2_0 1 #define GLUT_XLIB_IMPLEMENTATION 13 /* * Always include OpenGL and GLU headers */ #include <GL/gl.h> #include <GL/glu.h> /* * GLUT API macro definitions -- the special key codes: */ #define GLUT_KEY_F1 0x0001 #define GLUT_KEY_F2 0x0002 #define GLUT_KEY_F3 0x0003 #define GLUT_KEY_F4 0x0004 #define GLUT_KEY_F5 0x0005 #define GLUT_KEY_F6 0x0006 #define GLUT_KEY_F7 0x0007 #define GLUT_KEY_F8 0x0008 #define GLUT_KEY_F9 0x0009 #define GLUT_KEY_F10 0x000A #define GLUT_KEY_F11 0x000B #define GLUT_KEY_F12 0x000C #define GLUT_KEY_LEFT 0x0064 #define GLUT_KEY_UP 0x0065 #define GLUT_KEY_RIGHT 0x0066 #define GLUT_KEY_DOWN 0x0067 #define GLUT_KEY_PAGE_UP 0x0068 #define GLUT_KEY_PAGE_DOWN 0x0069 #define GLUT_KEY_HOME 0x006A #define GLUT_KEY_END 0x006B #define GLUT_KEY_INSERT 0x006C /* * GLUT API macro definitions -- mouse state definitions */ #define GLUT_LEFT_BUTTON 0x0000 #define GLUT_MIDDLE_BUTTON 0x0001 #define GLUT_RIGHT_BUTTON 0x0002 #define GLUT_DOWN 0x0000 #define GLUT_UP 0x0001 #define GLUT_LEFT 0x0000 #define GLUT_ENTERED 0x0001 /* * GLUT API macro definitions -- the display mode definitions */ #define GLUT_RGB 0x0000 #define GLUT_RGBA 0x0000 #define GLUT_INDEX 0x0001 #define GLUT_SINGLE 0x0000 #define GLUT_DOUBLE 0x0002 #define GLUT_ACCUM 0x0004 #define GLUT_ALPHA 0x0008 #define GLUT_DEPTH 0x0010 #define GLUT_STENCIL 0x0020 #define GLUT_MULTISAMPLE 0x0080 #define GLUT_STEREO 0x0100 #define GLUT_LUMINANCE 0x0200 /* * GLUT API macro definitions -- windows and menu related definitions */ #define GLUT_MENU_NOT_IN_USE 0x0000 #define GLUT_MENU_IN_USE 0x0001 #define GLUT_NOT_VISIBLE 0x0000 #define GLUT_VISIBLE 0x0001 #define GLUT_HIDDEN 0x0000 #define GLUT_FULLY_RETAINED 0x0001 #define GLUT_PARTIALLY_RETAINED 0x0002 #define GLUT_FULLY_COVERED 0x0003 /* * GLUT API macro definitions -- fonts definitions * * Steve Baker suggested to make it binary compatible with GLUT: */ #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__WATCOMC__) # define GLUT_STROKE_ROMAN ((void *)0x0000) # define GLUT_STROKE_MONO_ROMAN ((void *)0x0001) # define GLUT_BITMAP_9_BY_15 ((void *)0x0002) # define GLUT_BITMAP_8_BY_13 ((void *)0x0003) # define GLUT_BITMAP_TIMES_ROMAN_10 ((void *)0x0004) # define GLUT_BITMAP_TIMES_ROMAN_24 ((void *)0x0005) # define GLUT_BITMAP_HELVETICA_10 ((void *)0x0006) # define GLUT_BITMAP_HELVETICA_12 ((void *)0x0007) # define GLUT_BITMAP_HELVETICA_18 ((void *)0x0008) #else /* * I don't really know if it's a good idea... But here it goes: */ extern void* glutStrokeRoman; extern void* glutStrokeMonoRoman; extern void* glutBitmap9By15; extern void* glutBitmap8By13; extern void* glutBitmapTimesRoman10; extern void* glutBitmapTimesRoman24; extern void* glutBitmapHelvetica10; extern void* glutBitmapHelvetica12; extern void* glutBitmapHelvetica18; /* * Those pointers will be used by following definitions: */ # define GLUT_STROKE_ROMAN ((void *) &glutStrokeRoman) # define GLUT_STROKE_MONO_ROMAN ((void *) &glutStrokeMonoRoman) # define GLUT_BITMAP_9_BY_15 ((void *) &glutBitmap9By15) # define GLUT_BITMAP_8_BY_13 ((void *) &glutBitmap8By13) # define GLUT_BITMAP_TIMES_ROMAN_10 ((void *) &glutBitmapTimesRoman10) # define GLUT_BITMAP_TIMES_ROMAN_24 ((void *) &glutBitmapTimesRoman24) # define GLUT_BITMAP_HELVETICA_10 ((void *) &glutBitmapHelvetica10) # define GLUT_BITMAP_HELVETICA_12 ((void *) &glutBitmapHelvetica12) # define GLUT_BITMAP_HELVETICA_18 ((void *) &glutBitmapHelvetica18) #endif /* * GLUT API macro definitions -- the glutGet parameters */ #define GLUT_WINDOW_X 0x0064 #define GLUT_WINDOW_Y 0x0065 #define GLUT_WINDOW_WIDTH 0x0066 #define GLUT_WINDOW_HEIGHT 0x0067 #define GLUT_WINDOW_BUFFER_SIZE 0x0068 #define GLUT_WINDOW_STENCIL_SIZE 0x0069 #define GLUT_WINDOW_DEPTH_SIZE 0x006A #define GLUT_WINDOW_RED_SIZE 0x006B #define GLUT_WINDOW_GREEN_SIZE 0x006C #define GLUT_WINDOW_BLUE_SIZE 0x006D #define GLUT_WINDOW_ALPHA_SIZE 0x006E #define GLUT_WINDOW_ACCUM_RED_SIZE 0x006F #define GLUT_WINDOW_ACCUM_GREEN_SIZE 0x0070 #define GLUT_WINDOW_ACCUM_BLUE_SIZE 0x0071 #define GLUT_WINDOW_ACCUM_ALPHA_SIZE 0x0072 #define GLUT_WINDOW_DOUBLEBUFFER 0x0073 #define GLUT_WINDOW_RGBA 0x0074 #define GLUT_WINDOW_PARENT 0x0075 #define GLUT_WINDOW_NUM_CHILDREN 0x0076 #define GLUT_WINDOW_COLORMAP_SIZE 0x0077 #define GLUT_WINDOW_NUM_SAMPLES 0x0078 #define GLUT_WINDOW_STEREO 0x0079 #define GLUT_WINDOW_CURSOR 0x007A #define GLUT_SCREEN_WIDTH 0x00C8 #define GLUT_SCREEN_HEIGHT 0x00C9 #define GLUT_SCREEN_WIDTH_MM 0x00CA #define GLUT_SCREEN_HEIGHT_MM 0x00CB #define GLUT_MENU_NUM_ITEMS 0x012C #define GLUT_DISPLAY_MODE_POSSIBLE 0x0190 #define GLUT_INIT_WINDOW_X 0x01F4 #define GLUT_INIT_WINDOW_Y 0x01F5 #define GLUT_INIT_WINDOW_WIDTH 0x01F6 #define GLUT_INIT_WINDOW_HEIGHT 0x01F7 #define GLUT_INIT_DISPLAY_MODE 0x01F8 #define GLUT_ELAPSED_TIME 0x02BC #define GLUT_WINDOW_FORMAT_ID 0x007B /* * GLUT API macro definitions -- the glutDeviceGet parameters */ #define GLUT_HAS_KEYBOARD 0x0258 #define GLUT_HAS_MOUSE 0x0259 #define GLUT_HAS_SPACEBALL 0x025A #define GLUT_HAS_DIAL_AND_BUTTON_BOX 0x025B #define GLUT_HAS_TABLET 0x025C #define GLUT_NUM_MOUSE_BUTTONS 0x025D #define GLUT_NUM_SPACEBALL_BUTTONS 0x025E #define GLUT_NUM_BUTTON_BOX_BUTTONS 0x025F #define GLUT_NUM_DIALS 0x0260 #define GLUT_NUM_TABLET_BUTTONS 0x0261 #define GLUT_DEVICE_IGNORE_KEY_REPEAT 0x0262 #define GLUT_DEVICE_KEY_REPEAT 0x0263 #define GLUT_HAS_JOYSTICK 0x0264 #define GLUT_OWNS_JOYSTICK 0x0265 #define GLUT_JOYSTICK_BUTTONS 0x0266 #define GLUT_JOYSTICK_AXES 0x0267 #define GLUT_JOYSTICK_POLL_RATE 0x0268 /* * GLUT API macro definitions -- the glutLayerGet parameters */ #define GLUT_OVERLAY_POSSIBLE 0x0320 #define GLUT_LAYER_IN_USE 0x0321 #define GLUT_HAS_OVERLAY 0x0322 #define GLUT_TRANSPARENT_INDEX 0x0323 #define GLUT_NORMAL_DAMAGED 0x0324 #define GLUT_OVERLAY_DAMAGED 0x0325 /* * GLUT API macro definitions -- the glutVideoResizeGet parameters */ #define GLUT_VIDEO_RESIZE_POSSIBLE 0x0384 #define GLUT_VIDEO_RESIZE_IN_USE 0x0385 #define GLUT_VIDEO_RESIZE_X_DELTA 0x0386 #define GLUT_VIDEO_RESIZE_Y_DELTA 0x0387 #define GLUT_VIDEO_RESIZE_WIDTH_DELTA 0x0388 #define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 0x0389 #define GLUT_VIDEO_RESIZE_X 0x038A #define GLUT_VIDEO_RESIZE_Y 0x038B #define GLUT_VIDEO_RESIZE_WIDTH 0x038C #define GLUT_VIDEO_RESIZE_HEIGHT 0x038D /* * GLUT API macro definitions -- the glutUseLayer parameters */ #define GLUT_NORMAL 0x0000 #define GLUT_OVERLAY 0x0001 /* * GLUT API macro definitions -- the glutGetModifiers parameters */ #define GLUT_ACTIVE_SHIFT 0x0001 #define GLUT_ACTIVE_CTRL 0x0002 #define GLUT_ACTIVE_ALT 0x0004 /* * GLUT API macro definitions -- the glutSetCursor parameters */ #define GLUT_CURSOR_RIGHT_ARROW 0x0000 #define GLUT_CURSOR_LEFT_ARROW 0x0001 #define GLUT_CURSOR_INFO 0x0002 #define GLUT_CURSOR_DESTROY 0x0003 #define GLUT_CURSOR_HELP 0x0004 #define GLUT_CURSOR_CYCLE 0x0005 #define GLUT_CURSOR_SPRAY 0x0006 #define GLUT_CURSOR_WAIT 0x0007 #define GLUT_CURSOR_TEXT 0x0008 #define GLUT_CURSOR_CROSSHAIR 0x0009 #define GLUT_CURSOR_UP_DOWN 0x000A #define GLUT_CURSOR_LEFT_RIGHT 0x000B #define GLUT_CURSOR_TOP_SIDE 0x000C #define GLUT_CURSOR_BOTTOM_SIDE 0x000D #define GLUT_CURSOR_LEFT_SIDE 0x000E #define GLUT_CURSOR_RIGHT_SIDE 0x000F #define GLUT_CURSOR_TOP_LEFT_CORNER 0x0010 #define GLUT_CURSOR_TOP_RIGHT_CORNER 0x0011 #define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 0x0012 #define GLUT_CURSOR_BOTTOM_LEFT_CORNER 0x0013 #define GLUT_CURSOR_INHERIT 0x0064 #define GLUT_CURSOR_NONE 0x0065 #define GLUT_CURSOR_FULL_CROSSHAIR 0x0066 /* * GLUT API macro definitions -- RGB color component specification definitions */ #define GLUT_RED 0x0000 #define GLUT_GREEN 0x0001 #define GLUT_BLUE 0x0002 /* * GLUT API macro definitions -- additional keyboard and joystick definitions */ #define GLUT_KEY_REPEAT_OFF 0x0000 #define GLUT_KEY_REPEAT_ON 0x0001 #define GLUT_KEY_REPEAT_DEFAULT 0x0002 #define GLUT_JOYSTICK_BUTTON_A 0x0001 #define GLUT_JOYSTICK_BUTTON_B 0x0002 #define GLUT_JOYSTICK_BUTTON_C 0x0004 #define GLUT_JOYSTICK_BUTTON_D 0x0008 /* * GLUT API macro definitions -- game mode definitions */ #define GLUT_GAME_MODE_ACTIVE 0x0000 #define GLUT_GAME_MODE_POSSIBLE 0x0001 #define GLUT_GAME_MODE_WIDTH 0x0002 #define GLUT_GAME_MODE_HEIGHT 0x0003 #define GLUT_GAME_MODE_PIXEL_DEPTH 0x0004 #define GLUT_GAME_MODE_REFRESH_RATE 0x0005 #define GLUT_GAME_MODE_DISPLAY_CHANGED 0x0006 /* * Initialization functions, see fglut_init.c */ FGAPI void FGAPIENTRY glutInit( int* pargc, char** argv ); FGAPI void FGAPIENTRY glutInitWindowPosition( int x, int y ); FGAPI void FGAPIENTRY glutInitWindowSize( int width, int height ); FGAPI void FGAPIENTRY glutInitDisplayMode( unsigned int displayMode ); FGAPI void FGAPIENTRY glutInitDisplayString( const char* displayMode ); /* * Process loop function, see freeglut_main.c */ FGAPI void FGAPIENTRY glutMainLoop( void ); /* * Window management functions, see freeglut_window.c */ FGAPI int FGAPIENTRY glutCreateWindow( const char* title ); FGAPI int FGAPIENTRY glutCreateSubWindow( int window, int x, int y, int width, int height ); FGAPI void FGAPIENTRY glutDestroyWindow( int window ); FGAPI void FGAPIENTRY glutSetWindow( int window ); FGAPI int FGAPIENTRY glutGetWindow( void ); FGAPI void FGAPIENTRY glutSetWindowTitle( const char* title ); FGAPI void FGAPIENTRY glutSetIconTitle( const char* title ); FGAPI void FGAPIENTRY glutReshapeWindow( int width, int height ); FGAPI void FGAPIENTRY glutPositionWindow( int x, int y ); FGAPI void FGAPIENTRY glutShowWindow( void ); FGAPI void FGAPIENTRY glutHideWindow( void ); FGAPI void FGAPIENTRY glutIconifyWindow( void ); FGAPI void FGAPIENTRY glutPushWindow( void ); FGAPI void FGAPIENTRY glutPopWindow( void ); FGAPI void FGAPIENTRY glutFullScreen( void ); /* * Display-connected functions, see freeglut_display.c */ FGAPI void FGAPIENTRY glutPostWindowRedisplay( int window ); FGAPI void FGAPIENTRY glutPostRedisplay( void ); FGAPI void FGAPIENTRY glutSwapBuffers( void ); /* * Mouse cursor functions, see freeglut_cursor.c */ FGAPI void FGAPIENTRY glutWarpPointer( int x, int y ); FGAPI void FGAPIENTRY glutSetCursor( int cursor ); /* * Overlay stuff, see freeglut_overlay.c */ FGAPI void FGAPIENTRY glutEstablishOverlay( void ); FGAPI void FGAPIENTRY glutRemoveOverlay( void ); FGAPI void FGAPIENTRY glutUseLayer( GLenum layer ); FGAPI void FGAPIENTRY glutPostOverlayRedisplay( void ); FGAPI void FGAPIENTRY glutPostWindowOverlayRedisplay( int window ); FGAPI void FGAPIENTRY glutShowOverlay( void ); FGAPI void FGAPIENTRY glutHideOverlay( void ); /* * Menu stuff, see freeglut_menu.c */ FGAPI int FGAPIENTRY glutCreateMenu( void (* callback)( int menu ) ); FGAPI void FGAPIENTRY glutDestroyMenu( int menu ); FGAPI int FGAPIENTRY glutGetMenu( void ); FGAPI void FGAPIENTRY glutSetMenu( int menu ); FGAPI void FGAPIENTRY glutAddMenuEntry( const char* label, int value ); FGAPI void FGAPIENTRY glutAddSubMenu( const char* label, int subMenu ); FGAPI void FGAPIENTRY glutChangeToMenuEntry( int item, const char* label, int value ); FGAPI void FGAPIENTRY glutChangeToSubMenu( int item, const char* label, int value ); FGAPI void FGAPIENTRY glutRemoveMenuItem( int item ); FGAPI void FGAPIENTRY glutAttachMenu( int button ); FGAPI void FGAPIENTRY glutDetachMenu( int button ); /* * Global callback functions, see freeglut_callbacks.c */ FGAPI void FGAPIENTRY glutTimerFunc( unsigned int time, void (* callback)( int ), int value ); FGAPI void FGAPIENTRY glutIdleFunc( void (* callback)( void ) ); /* * Window-specific callback functions, see freeglut_callbacks.c */ FGAPI void FGAPIENTRY glutKeyboardFunc( void (* callback)( unsigned char, int, int ) ); FGAPI void FGAPIENTRY glutSpecialFunc( void (* callback)( int, int, int ) ); FGAPI void FGAPIENTRY glutReshapeFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutVisibilityFunc( void (* callback)( int ) ); FGAPI void FGAPIENTRY glutDisplayFunc( void (* callback)( void ) ); FGAPI void FGAPIENTRY glutMouseFunc( void (* callback)( int, int, int, int ) ); FGAPI void FGAPIENTRY glutMotionFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutPassiveMotionFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutEntryFunc( void (* callback)( int ) ); FGAPI void FGAPIENTRY glutKeyboardUpFunc( void (* callback)( unsigned char, int, int ) ); FGAPI void FGAPIENTRY glutSpecialUpFunc( void (* callback)( int, int, int ) ); FGAPI void FGAPIENTRY glutJoystickFunc( void (* callback)( unsigned int, int, int, int ), int pollInterval ); FGAPI void FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) ); FGAPI void FGAPIENTRY glutMenuStatusFunc( void (* callback)( int, int, int ) ); FGAPI void FGAPIENTRY glutOverlayDisplayFunc( void (* callback)( void ) ); FGAPI void FGAPIENTRY glutWindowStatusFunc( void (* callback)( int ) ); FGAPI void FGAPIENTRY glutSpaceballMotionFunc( void (* callback)( int, int, int ) ); FGAPI void FGAPIENTRY glutSpaceballRotateFunc( void (* callback)( int, int, int ) ); FGAPI void FGAPIENTRY glutSpaceballButtonFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutButtonBoxFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutDialsFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutTabletMotionFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutTabletButtonFunc( void (* callback)( int, int, int, int ) ); /* * State setting and retrieval functions, see freeglut_state.c */ FGAPI int FGAPIENTRY glutGet( GLenum query ); FGAPI int FGAPIENTRY glutDeviceGet( GLenum query ); FGAPI int FGAPIENTRY glutGetModifiers( void ); FGAPI int FGAPIENTRY glutLayerGet( GLenum query ); /* * Font stuff, see freeglut_font.c */ FGAPI void FGAPIENTRY glutBitmapCharacter( void* font, int character ); FGAPI int FGAPIENTRY glutBitmapWidth( void* font, int character ); FGAPI void FGAPIENTRY glutStrokeCharacter( void* font, int character ); FGAPI int FGAPIENTRY glutStrokeWidth( void* font, int character ); FGAPI int FGAPIENTRY glutBitmapLength( void* font, const unsigned char* string ); FGAPI int FGAPIENTRY glutStrokeLength( void* font, const unsigned char* string ); /* * Geometry functions, see freeglut_geometry.c */ FGAPI void FGAPIENTRY glutWireCube( GLdouble size ); FGAPI void FGAPIENTRY glutSolidCube( GLdouble size ); FGAPI void FGAPIENTRY glutWireSphere( GLdouble radius, GLint slices, GLint stacks ); FGAPI void FGAPIENTRY glutSolidSphere( GLdouble radius, GLint slices, GLint stacks ); FGAPI void FGAPIENTRY glutWireCone( GLdouble base, GLdouble height, GLint slices, GLint stacks ); FGAPI void FGAPIENTRY glutSolidCone( GLdouble base, GLdouble height, GLint slices, GLint stacks ); FGAPI void FGAPIENTRY glutWireTorus( GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings ); FGAPI void FGAPIENTRY glutSolidTorus( GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings ); FGAPI void FGAPIENTRY glutWireDodecahedron( void ); FGAPI void FGAPIENTRY glutSolidDodecahedron( void ); FGAPI void FGAPIENTRY glutWireOctahedron( void ); FGAPI void FGAPIENTRY glutSolidOctahedron( void ); FGAPI void FGAPIENTRY glutWireTetrahedron( void ); FGAPI void FGAPIENTRY glutSolidTetrahedron( void ); FGAPI void FGAPIENTRY glutWireIcosahedron( void ); FGAPI void FGAPIENTRY glutSolidIcosahedron( void ); /* * Teapot rendering functions, found in freeglut_teapot.c */ FGAPI void FGAPIENTRY glutWireTeapot( GLdouble size ); FGAPI void FGAPIENTRY glutSolidTeapot( GLdouble size ); /* * Game mode functions, see freeglut_gamemode.c */ FGAPI void FGAPIENTRY glutGameModeString( const char* string ); FGAPI int FGAPIENTRY glutEnterGameMode( void ); FGAPI void FGAPIENTRY glutLeaveGameMode( void ); FGAPI int FGAPIENTRY glutGameModeGet( GLenum query ); /* * Video resize functions, see freeglut_videoresize.c */ FGAPI int FGAPIENTRY glutVideoResizeGet( GLenum query ); FGAPI void FGAPIENTRY glutSetupVideoResizing( void ); FGAPI void FGAPIENTRY glutStopVideoResizing( void ); FGAPI void FGAPIENTRY glutVideoResize( int x, int y, int width, int height ); FGAPI void FGAPIENTRY glutVideoPan( int x, int y, int width, int height ); /* * Colormap functions, see freeglut_misc.c */ FGAPI void FGAPIENTRY glutSetColor( int color, GLfloat red, GLfloat green, GLfloat blue ); FGAPI GLfloat FGAPIENTRY glutGetColor( int color, int component ); FGAPI void FGAPIENTRY glutCopyColormap( int window ); /* * Misc keyboard and joystick functions, see freeglut_misc.c */ FGAPI void FGAPIENTRY glutIgnoreKeyRepeat( int ignore ); FGAPI void FGAPIENTRY glutSetKeyRepeat( int repeatMode ); FGAPI void FGAPIENTRY glutForceJoystickFunc( void ); /* * Misc functions, see freeglut_misc.c */ FGAPI int FGAPIENTRY glutExtensionSupported( const char* extension ); FGAPI void FGAPIENTRY glutReportErrors( void ); /* Comment from glut.h of classic GLUT: Win32 has an annoying issue where there are multiple C run-time libraries (CRTs). If the executable is linked with a different CRT from the GLUT DLL, the GLUT DLL will not share the same CRT static data seen by the executable. In particular, atexit callbacks registered in the executable will not be called if GLUT calls its (different) exit routine). GLUT is typically built with the "/MD" option (the CRT with multithreading DLL support), but the Visual C++ linker default is "/ML" (the single threaded CRT). One workaround to this issue is requiring users to always link with the same CRT as GLUT is compiled with. That requires users supply a non-standard option. GLUT 3.7 has its own built-in workaround where the executable's "exit" function pointer is covertly passed to GLUT. GLUT then calls the executable's exit function pointer to ensure that any "atexit" calls registered by the application are called if GLUT needs to exit. Note that the __glut*WithExit routines should NEVER be called directly. To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */ /* to get the prototype for exit() */ #include <stdlib.h> #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) && !defined(__WATCOMC__) FGAPI void FGAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int)); FGAPI int FGAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int)); FGAPI int FGAPIENTRY __glutCreateMenuWithExit(void (* func)(int), void (__cdecl *exitfunc)(int)); #ifndef FREEGLUT_BUILDING_LIB #if defined(__GNUC__) #define FGUNUSED __attribute__((unused)) #else #define FGUNUSED #endif static void FGAPIENTRY FGUNUSED glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); } #define glutInit glutInit_ATEXIT_HACK static int FGAPIENTRY FGUNUSED glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); } #define glutCreateWindow glutCreateWindow_ATEXIT_HACK static int FGAPIENTRY FGUNUSED glutCreateMenu_ATEXIT_HACK(void (* func)(int)) { return __glutCreateMenuWithExit(func, exit); } #define glutCreateMenu glutCreateMenu_ATEXIT_HACK #endif #endif #ifdef __cplusplus } #endif /*** END OF FILE ***/ #endif /* __FREEGLUT_STD_H__ */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/��������������������������������������������������������������������0000775�0000764�0000764�00000000000�12340277645�014644� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/src/����������������������������������������������������������������0000775�0000764�0000764�00000000000�12340277645�015433� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/src/glew.c����������������������������������������������������������0000664�0000764�0000764�00003413072�12340277645�016547� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ** The OpenGL Extension Wrangler Library ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> ** Copyright (C) 2002, Lev Povalahev ** All rights reserved. ** ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are met: ** ** * Redistributions of source code must retain the above copyright notice, ** this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright notice, ** this list of conditions and the following disclaimer in the documentation ** and/or other materials provided with the distribution. ** * The name of the author may be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ** THE POSSIBILITY OF SUCH DAMAGE. */ #include <GL/glew.h> #if defined(_WIN32) # include <GL/wglew.h> #elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) # include <GL/glxew.h> #endif /* * Define glewGetContext and related helper macros. */ #ifdef GLEW_MX # define glewGetContext() ctx # ifdef _WIN32 # define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx # define GLEW_CONTEXT_ARG_VAR_INIT ctx # define wglewGetContext() ctx # define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx # define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx # else /* _WIN32 */ # define GLEW_CONTEXT_ARG_DEF_INIT void # define GLEW_CONTEXT_ARG_VAR_INIT # define glxewGetContext() ctx # define GLXEW_CONTEXT_ARG_DEF_INIT void # define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx # endif /* _WIN32 */ # define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx #else /* GLEW_MX */ # define GLEW_CONTEXT_ARG_DEF_INIT void # define GLEW_CONTEXT_ARG_VAR_INIT # define GLEW_CONTEXT_ARG_DEF_LIST void # define WGLEW_CONTEXT_ARG_DEF_INIT void # define WGLEW_CONTEXT_ARG_DEF_LIST void # define GLXEW_CONTEXT_ARG_DEF_INIT void # define GLXEW_CONTEXT_ARG_DEF_LIST void #endif /* GLEW_MX */ #if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX) #include <dlfcn.h> #include <stdio.h> #include <stdlib.h> void* dlGetProcAddress (const GLubyte* name) { static void* h = NULL; static void* gpa; if (h == NULL) { if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL; gpa = dlsym(h, "glXGetProcAddress"); } if (gpa != NULL) return ((void*(*)(const GLubyte*))gpa)(name); else return dlsym(h, (const char*)name); } #endif /* __sgi || __sun || GLEW_APPLE_GLX */ #if defined(__APPLE__) #include <stdlib.h> #include <string.h> #include <AvailabilityMacros.h> #ifdef MAC_OS_X_VERSION_10_3 #include <dlfcn.h> void* NSGLGetProcAddress (const GLubyte *name) { static void* image = NULL; void* addr; if (NULL == image) { #ifdef GLEW_REGAL image = dlopen("libRegal.dylib", RTLD_LAZY); #else image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY); #endif } if( !image ) return NULL; addr = dlsym(image, (const char*)name); if( addr ) return addr; #ifdef GLEW_APPLE_GLX return dlGetProcAddress( name ); // try next for glx symbols #else return NULL; #endif } #else #include <mach-o/dyld.h> void* NSGLGetProcAddress (const GLubyte *name) { static const struct mach_header* image = NULL; NSSymbol symbol; char* symbolName; if (NULL == image) { #ifdef GLEW_REGAL image = NSAddImage("libRegal.dylib", NSADDIMAGE_OPTION_RETURN_ON_ERROR); #else image = NSAddImage("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR); #endif } /* prepend a '_' for the Unix C symbol mangling convention */ symbolName = malloc(strlen((const char*)name) + 2); strcpy(symbolName+1, (const char*)name); symbolName[0] = '_'; symbol = NULL; /* if (NSIsSymbolNameDefined(symbolName)) symbol = NSLookupAndBindSymbol(symbolName); */ symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) : NULL; free(symbolName); if( symbol ) return NSAddressOfSymbol(symbol); #ifdef GLEW_APPLE_GLX return dlGetProcAddress( name ); // try next for glx symbols #else return NULL; #endif } #endif /* MAC_OS_X_VERSION_10_3 */ #endif /* __APPLE__ */ /* * Define glewGetProcAddress. */ #if defined(_WIN32) # define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name) #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) # define glewGetProcAddress(name) NSGLGetProcAddress(name) #elif defined(__sgi) || defined(__sun) # define glewGetProcAddress(name) dlGetProcAddress(name) #elif defined(__ANDROID__) # define glewGetProcAddress(name) NULL /* TODO */ #elif defined(__native_client__) # define glewGetProcAddress(name) NULL /* TODO */ #else /* __linux */ # define glewGetProcAddress(name) (*glXGetProcAddressARB)(name) #endif /* * Define GLboolean const cast. */ #define CONST_CAST(x) (*(GLboolean*)&x) /* * GLEW, just like OpenGL or GLU, does not rely on the standard C library. * These functions implement the functionality required in this file. */ static GLuint _glewStrLen (const GLubyte* s) { GLuint i=0; if (s == NULL) return 0; while (s[i] != '\0') i++; return i; } static GLuint _glewStrCLen (const GLubyte* s, GLubyte c) { GLuint i=0; if (s == NULL) return 0; while (s[i] != '\0' && s[i] != c) i++; return (s[i] == '\0' || s[i] == c) ? i : 0; } static GLboolean _glewStrSame (const GLubyte* a, const GLubyte* b, GLuint n) { GLuint i=0; if(a == NULL || b == NULL) return (a == NULL && b == NULL && n == 0) ? GL_TRUE : GL_FALSE; while (i < n && a[i] != '\0' && b[i] != '\0' && a[i] == b[i]) i++; return i == n ? GL_TRUE : GL_FALSE; } static GLboolean _glewStrSame1 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) { while (*na > 0 && (**a == ' ' || **a == '\n' || **a == '\r' || **a == '\t')) { (*a)++; (*na)--; } if(*na >= nb) { GLuint i=0; while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; if(i == nb) { *a = *a + nb; *na = *na - nb; return GL_TRUE; } } return GL_FALSE; } static GLboolean _glewStrSame2 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) { if(*na >= nb) { GLuint i=0; while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; if(i == nb) { *a = *a + nb; *na = *na - nb; return GL_TRUE; } } return GL_FALSE; } static GLboolean _glewStrSame3 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) { if(*na >= nb) { GLuint i=0; while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; if (i == nb && (*na == nb || (*a)[i] == ' ' || (*a)[i] == '\n' || (*a)[i] == '\r' || (*a)[i] == '\t')) { *a = *a + nb; *na = *na - nb; return GL_TRUE; } } return GL_FALSE; } /* * Search for name in the extensions string. Use of strstr() * is not sufficient because extension names can be prefixes of * other extension names. Could use strtok() but the constant * string returned by glGetString might be in read-only memory. */ static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end) { const GLubyte* p; GLuint len = _glewStrLen((const GLubyte*)name); p = start; while (p < end) { GLuint n = _glewStrCLen(p, ' '); if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE; p += n+1; } return GL_FALSE; } #if !defined(_WIN32) || !defined(GLEW_MX) PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D = NULL; PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements = NULL; PFNGLTEXIMAGE3DPROC __glewTexImage3D = NULL; PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D = NULL; PFNGLACTIVETEXTUREPROC __glewActiveTexture = NULL; PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture = NULL; PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D = NULL; PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D = NULL; PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D = NULL; PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D = NULL; PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D = NULL; PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D = NULL; PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage = NULL; PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd = NULL; PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf = NULL; PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd = NULL; PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf = NULL; PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d = NULL; PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv = NULL; PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f = NULL; PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv = NULL; PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i = NULL; PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv = NULL; PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s = NULL; PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv = NULL; PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d = NULL; PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv = NULL; PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f = NULL; PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv = NULL; PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i = NULL; PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv = NULL; PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s = NULL; PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv = NULL; PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d = NULL; PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv = NULL; PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f = NULL; PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv = NULL; PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i = NULL; PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv = NULL; PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s = NULL; PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv = NULL; PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d = NULL; PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv = NULL; PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f = NULL; PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv = NULL; PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i = NULL; PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv = NULL; PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s = NULL; PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv = NULL; PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage = NULL; PFNGLBLENDCOLORPROC __glewBlendColor = NULL; PFNGLBLENDEQUATIONPROC __glewBlendEquation = NULL; PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate = NULL; PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer = NULL; PFNGLFOGCOORDDPROC __glewFogCoordd = NULL; PFNGLFOGCOORDDVPROC __glewFogCoorddv = NULL; PFNGLFOGCOORDFPROC __glewFogCoordf = NULL; PFNGLFOGCOORDFVPROC __glewFogCoordfv = NULL; PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays = NULL; PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements = NULL; PFNGLPOINTPARAMETERFPROC __glewPointParameterf = NULL; PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv = NULL; PFNGLPOINTPARAMETERIPROC __glewPointParameteri = NULL; PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv = NULL; PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b = NULL; PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv = NULL; PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d = NULL; PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv = NULL; PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f = NULL; PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv = NULL; PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i = NULL; PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv = NULL; PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s = NULL; PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv = NULL; PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub = NULL; PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv = NULL; PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui = NULL; PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv = NULL; PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us = NULL; PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv = NULL; PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer = NULL; PFNGLWINDOWPOS2DPROC __glewWindowPos2d = NULL; PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv = NULL; PFNGLWINDOWPOS2FPROC __glewWindowPos2f = NULL; PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv = NULL; PFNGLWINDOWPOS2IPROC __glewWindowPos2i = NULL; PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv = NULL; PFNGLWINDOWPOS2SPROC __glewWindowPos2s = NULL; PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv = NULL; PFNGLWINDOWPOS3DPROC __glewWindowPos3d = NULL; PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv = NULL; PFNGLWINDOWPOS3FPROC __glewWindowPos3f = NULL; PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv = NULL; PFNGLWINDOWPOS3IPROC __glewWindowPos3i = NULL; PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv = NULL; PFNGLWINDOWPOS3SPROC __glewWindowPos3s = NULL; PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv = NULL; PFNGLBEGINQUERYPROC __glewBeginQuery = NULL; PFNGLBINDBUFFERPROC __glewBindBuffer = NULL; PFNGLBUFFERDATAPROC __glewBufferData = NULL; PFNGLBUFFERSUBDATAPROC __glewBufferSubData = NULL; PFNGLDELETEBUFFERSPROC __glewDeleteBuffers = NULL; PFNGLDELETEQUERIESPROC __glewDeleteQueries = NULL; PFNGLENDQUERYPROC __glewEndQuery = NULL; PFNGLGENBUFFERSPROC __glewGenBuffers = NULL; PFNGLGENQUERIESPROC __glewGenQueries = NULL; PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv = NULL; PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv = NULL; PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData = NULL; PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv = NULL; PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv = NULL; PFNGLGETQUERYIVPROC __glewGetQueryiv = NULL; PFNGLISBUFFERPROC __glewIsBuffer = NULL; PFNGLISQUERYPROC __glewIsQuery = NULL; PFNGLMAPBUFFERPROC __glewMapBuffer = NULL; PFNGLUNMAPBUFFERPROC __glewUnmapBuffer = NULL; PFNGLATTACHSHADERPROC __glewAttachShader = NULL; PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation = NULL; PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate = NULL; PFNGLCOMPILESHADERPROC __glewCompileShader = NULL; PFNGLCREATEPROGRAMPROC __glewCreateProgram = NULL; PFNGLCREATESHADERPROC __glewCreateShader = NULL; PFNGLDELETEPROGRAMPROC __glewDeleteProgram = NULL; PFNGLDELETESHADERPROC __glewDeleteShader = NULL; PFNGLDETACHSHADERPROC __glewDetachShader = NULL; PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray = NULL; PFNGLDRAWBUFFERSPROC __glewDrawBuffers = NULL; PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray = NULL; PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib = NULL; PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform = NULL; PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders = NULL; PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation = NULL; PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog = NULL; PFNGLGETPROGRAMIVPROC __glewGetProgramiv = NULL; PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog = NULL; PFNGLGETSHADERSOURCEPROC __glewGetShaderSource = NULL; PFNGLGETSHADERIVPROC __glewGetShaderiv = NULL; PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation = NULL; PFNGLGETUNIFORMFVPROC __glewGetUniformfv = NULL; PFNGLGETUNIFORMIVPROC __glewGetUniformiv = NULL; PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv = NULL; PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv = NULL; PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv = NULL; PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv = NULL; PFNGLISPROGRAMPROC __glewIsProgram = NULL; PFNGLISSHADERPROC __glewIsShader = NULL; PFNGLLINKPROGRAMPROC __glewLinkProgram = NULL; PFNGLSHADERSOURCEPROC __glewShaderSource = NULL; PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate = NULL; PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate = NULL; PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate = NULL; PFNGLUNIFORM1FPROC __glewUniform1f = NULL; PFNGLUNIFORM1FVPROC __glewUniform1fv = NULL; PFNGLUNIFORM1IPROC __glewUniform1i = NULL; PFNGLUNIFORM1IVPROC __glewUniform1iv = NULL; PFNGLUNIFORM2FPROC __glewUniform2f = NULL; PFNGLUNIFORM2FVPROC __glewUniform2fv = NULL; PFNGLUNIFORM2IPROC __glewUniform2i = NULL; PFNGLUNIFORM2IVPROC __glewUniform2iv = NULL; PFNGLUNIFORM3FPROC __glewUniform3f = NULL; PFNGLUNIFORM3FVPROC __glewUniform3fv = NULL; PFNGLUNIFORM3IPROC __glewUniform3i = NULL; PFNGLUNIFORM3IVPROC __glewUniform3iv = NULL; PFNGLUNIFORM4FPROC __glewUniform4f = NULL; PFNGLUNIFORM4FVPROC __glewUniform4fv = NULL; PFNGLUNIFORM4IPROC __glewUniform4i = NULL; PFNGLUNIFORM4IVPROC __glewUniform4iv = NULL; PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv = NULL; PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv = NULL; PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv = NULL; PFNGLUSEPROGRAMPROC __glewUseProgram = NULL; PFNGLVALIDATEPROGRAMPROC __glewValidateProgram = NULL; PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d = NULL; PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv = NULL; PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f = NULL; PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv = NULL; PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s = NULL; PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv = NULL; PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d = NULL; PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv = NULL; PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f = NULL; PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv = NULL; PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s = NULL; PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv = NULL; PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d = NULL; PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv = NULL; PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f = NULL; PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv = NULL; PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s = NULL; PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv = NULL; PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv = NULL; PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv = NULL; PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv = NULL; PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub = NULL; PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv = NULL; PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv = NULL; PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv = NULL; PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv = NULL; PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d = NULL; PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv = NULL; PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f = NULL; PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv = NULL; PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv = NULL; PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s = NULL; PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv = NULL; PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv = NULL; PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv = NULL; PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv = NULL; PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer = NULL; PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv = NULL; PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv = NULL; PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv = NULL; PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv = NULL; PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv = NULL; PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv = NULL; PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender = NULL; PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback = NULL; PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation = NULL; PFNGLCLAMPCOLORPROC __glewClampColor = NULL; PFNGLCLEARBUFFERFIPROC __glewClearBufferfi = NULL; PFNGLCLEARBUFFERFVPROC __glewClearBufferfv = NULL; PFNGLCLEARBUFFERIVPROC __glewClearBufferiv = NULL; PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv = NULL; PFNGLCOLORMASKIPROC __glewColorMaski = NULL; PFNGLDISABLEIPROC __glewDisablei = NULL; PFNGLENABLEIPROC __glewEnablei = NULL; PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender = NULL; PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback = NULL; PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v = NULL; PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation = NULL; PFNGLGETSTRINGIPROC __glewGetStringi = NULL; PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv = NULL; PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv = NULL; PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying = NULL; PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv = NULL; PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv = NULL; PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv = NULL; PFNGLISENABLEDIPROC __glewIsEnabledi = NULL; PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv = NULL; PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv = NULL; PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings = NULL; PFNGLUNIFORM1UIPROC __glewUniform1ui = NULL; PFNGLUNIFORM1UIVPROC __glewUniform1uiv = NULL; PFNGLUNIFORM2UIPROC __glewUniform2ui = NULL; PFNGLUNIFORM2UIVPROC __glewUniform2uiv = NULL; PFNGLUNIFORM3UIPROC __glewUniform3ui = NULL; PFNGLUNIFORM3UIVPROC __glewUniform3uiv = NULL; PFNGLUNIFORM4UIPROC __glewUniform4ui = NULL; PFNGLUNIFORM4UIVPROC __glewUniform4uiv = NULL; PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i = NULL; PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv = NULL; PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui = NULL; PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv = NULL; PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i = NULL; PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv = NULL; PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui = NULL; PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv = NULL; PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i = NULL; PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv = NULL; PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui = NULL; PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv = NULL; PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv = NULL; PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i = NULL; PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv = NULL; PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv = NULL; PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv = NULL; PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui = NULL; PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv = NULL; PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv = NULL; PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer = NULL; PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced = NULL; PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced = NULL; PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex = NULL; PFNGLTEXBUFFERPROC __glewTexBuffer = NULL; PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture = NULL; PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v = NULL; PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v = NULL; PFNGLVERTEXATTRIBDIVISORPROC __glewVertexAttribDivisor = NULL; PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei = NULL; PFNGLBLENDEQUATIONIPROC __glewBlendEquationi = NULL; PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei = NULL; PFNGLBLENDFUNCIPROC __glewBlendFunci = NULL; PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading = NULL; PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX = NULL; PFNGLDEBUGMESSAGECALLBACKAMDPROC __glewDebugMessageCallbackAMD = NULL; PFNGLDEBUGMESSAGEENABLEAMDPROC __glewDebugMessageEnableAMD = NULL; PFNGLDEBUGMESSAGEINSERTAMDPROC __glewDebugMessageInsertAMD = NULL; PFNGLGETDEBUGMESSAGELOGAMDPROC __glewGetDebugMessageLogAMD = NULL; PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD = NULL; PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD = NULL; PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD = NULL; PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD = NULL; PFNGLVERTEXATTRIBPARAMETERIAMDPROC __glewVertexAttribParameteriAMD = NULL; PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC __glewMultiDrawArraysIndirectAMD = NULL; PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC __glewMultiDrawElementsIndirectAMD = NULL; PFNGLDELETENAMESAMDPROC __glewDeleteNamesAMD = NULL; PFNGLGENNAMESAMDPROC __glewGenNamesAMD = NULL; PFNGLISNAMEAMDPROC __glewIsNameAMD = NULL; PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD = NULL; PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD = NULL; PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD = NULL; PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD = NULL; PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD = NULL; PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD = NULL; PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD = NULL; PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD = NULL; PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD = NULL; PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD = NULL; PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD = NULL; PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD = NULL; PFNGLTEXSTORAGESPARSEAMDPROC __glewTexStorageSparseAMD = NULL; PFNGLTEXTURESTORAGESPARSEAMDPROC __glewTextureStorageSparseAMD = NULL; PFNGLSTENCILOPVALUEAMDPROC __glewStencilOpValueAMD = NULL; PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD = NULL; PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD = NULL; PFNGLBLITFRAMEBUFFERANGLEPROC __glewBlitFramebufferANGLE = NULL; PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC __glewRenderbufferStorageMultisampleANGLE = NULL; PFNGLDRAWARRAYSINSTANCEDANGLEPROC __glewDrawArraysInstancedANGLE = NULL; PFNGLDRAWELEMENTSINSTANCEDANGLEPROC __glewDrawElementsInstancedANGLE = NULL; PFNGLVERTEXATTRIBDIVISORANGLEPROC __glewVertexAttribDivisorANGLE = NULL; PFNGLBEGINQUERYANGLEPROC __glewBeginQueryANGLE = NULL; PFNGLDELETEQUERIESANGLEPROC __glewDeleteQueriesANGLE = NULL; PFNGLENDQUERYANGLEPROC __glewEndQueryANGLE = NULL; PFNGLGENQUERIESANGLEPROC __glewGenQueriesANGLE = NULL; PFNGLGETQUERYOBJECTI64VANGLEPROC __glewGetQueryObjecti64vANGLE = NULL; PFNGLGETQUERYOBJECTIVANGLEPROC __glewGetQueryObjectivANGLE = NULL; PFNGLGETQUERYOBJECTUI64VANGLEPROC __glewGetQueryObjectui64vANGLE = NULL; PFNGLGETQUERYOBJECTUIVANGLEPROC __glewGetQueryObjectuivANGLE = NULL; PFNGLGETQUERYIVANGLEPROC __glewGetQueryivANGLE = NULL; PFNGLISQUERYANGLEPROC __glewIsQueryANGLE = NULL; PFNGLQUERYCOUNTERANGLEPROC __glewQueryCounterANGLE = NULL; PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC __glewGetTranslatedShaderSourceANGLE = NULL; PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE = NULL; PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE = NULL; PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE = NULL; PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE = NULL; PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE = NULL; PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE = NULL; PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE = NULL; PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE = NULL; PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE = NULL; PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE = NULL; PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE = NULL; PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE = NULL; PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE = NULL; PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE = NULL; PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE = NULL; PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE = NULL; PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE = NULL; PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE = NULL; PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE = NULL; PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE = NULL; PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE = NULL; PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE = NULL; PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE = NULL; PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE = NULL; PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE = NULL; PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE = NULL; PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE = NULL; PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE = NULL; PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE = NULL; PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE = NULL; PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE = NULL; PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE = NULL; PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE = NULL; PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE = NULL; PFNGLCLEARDEPTHFPROC __glewClearDepthf = NULL; PFNGLDEPTHRANGEFPROC __glewDepthRangef = NULL; PFNGLGETSHADERPRECISIONFORMATPROC __glewGetShaderPrecisionFormat = NULL; PFNGLRELEASESHADERCOMPILERPROC __glewReleaseShaderCompiler = NULL; PFNGLSHADERBINARYPROC __glewShaderBinary = NULL; PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC __glewDrawArraysInstancedBaseInstance = NULL; PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC __glewDrawElementsInstancedBaseInstance = NULL; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC __glewDrawElementsInstancedBaseVertexBaseInstance = NULL; PFNGLGETIMAGEHANDLEARBPROC __glewGetImageHandleARB = NULL; PFNGLGETTEXTUREHANDLEARBPROC __glewGetTextureHandleARB = NULL; PFNGLGETTEXTURESAMPLERHANDLEARBPROC __glewGetTextureSamplerHandleARB = NULL; PFNGLGETVERTEXATTRIBLUI64VARBPROC __glewGetVertexAttribLui64vARB = NULL; PFNGLISIMAGEHANDLERESIDENTARBPROC __glewIsImageHandleResidentARB = NULL; PFNGLISTEXTUREHANDLERESIDENTARBPROC __glewIsTextureHandleResidentARB = NULL; PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC __glewMakeImageHandleNonResidentARB = NULL; PFNGLMAKEIMAGEHANDLERESIDENTARBPROC __glewMakeImageHandleResidentARB = NULL; PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC __glewMakeTextureHandleNonResidentARB = NULL; PFNGLMAKETEXTUREHANDLERESIDENTARBPROC __glewMakeTextureHandleResidentARB = NULL; PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC __glewProgramUniformHandleui64ARB = NULL; PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC __glewProgramUniformHandleui64vARB = NULL; PFNGLUNIFORMHANDLEUI64ARBPROC __glewUniformHandleui64ARB = NULL; PFNGLUNIFORMHANDLEUI64VARBPROC __glewUniformHandleui64vARB = NULL; PFNGLVERTEXATTRIBL1UI64ARBPROC __glewVertexAttribL1ui64ARB = NULL; PFNGLVERTEXATTRIBL1UI64VARBPROC __glewVertexAttribL1ui64vARB = NULL; PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed = NULL; PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex = NULL; PFNGLBUFFERSTORAGEPROC __glewBufferStorage = NULL; PFNGLNAMEDBUFFERSTORAGEEXTPROC __glewNamedBufferStorageEXT = NULL; PFNGLCREATESYNCFROMCLEVENTARBPROC __glewCreateSyncFromCLeventARB = NULL; PFNGLCLEARBUFFERDATAPROC __glewClearBufferData = NULL; PFNGLCLEARBUFFERSUBDATAPROC __glewClearBufferSubData = NULL; PFNGLCLEARNAMEDBUFFERDATAEXTPROC __glewClearNamedBufferDataEXT = NULL; PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC __glewClearNamedBufferSubDataEXT = NULL; PFNGLCLEARTEXIMAGEPROC __glewClearTexImage = NULL; PFNGLCLEARTEXSUBIMAGEPROC __glewClearTexSubImage = NULL; PFNGLCLAMPCOLORARBPROC __glewClampColorARB = NULL; PFNGLDISPATCHCOMPUTEPROC __glewDispatchCompute = NULL; PFNGLDISPATCHCOMPUTEINDIRECTPROC __glewDispatchComputeIndirect = NULL; PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC __glewDispatchComputeGroupSizeARB = NULL; PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData = NULL; PFNGLCOPYIMAGESUBDATAPROC __glewCopyImageSubData = NULL; PFNGLDEBUGMESSAGECALLBACKARBPROC __glewDebugMessageCallbackARB = NULL; PFNGLDEBUGMESSAGECONTROLARBPROC __glewDebugMessageControlARB = NULL; PFNGLDEBUGMESSAGEINSERTARBPROC __glewDebugMessageInsertARB = NULL; PFNGLGETDEBUGMESSAGELOGARBPROC __glewGetDebugMessageLogARB = NULL; PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB = NULL; PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB = NULL; PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB = NULL; PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB = NULL; PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB = NULL; PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex = NULL; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex = NULL; PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex = NULL; PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex = NULL; PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect = NULL; PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect = NULL; PFNGLFRAMEBUFFERPARAMETERIPROC __glewFramebufferParameteri = NULL; PFNGLGETFRAMEBUFFERPARAMETERIVPROC __glewGetFramebufferParameteriv = NULL; PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC __glewGetNamedFramebufferParameterivEXT = NULL; PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC __glewNamedFramebufferParameteriEXT = NULL; PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer = NULL; PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer = NULL; PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer = NULL; PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus = NULL; PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers = NULL; PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers = NULL; PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer = NULL; PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D = NULL; PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D = NULL; PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D = NULL; PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer = NULL; PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers = NULL; PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers = NULL; PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap = NULL; PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv = NULL; PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv = NULL; PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer = NULL; PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer = NULL; PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage = NULL; PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample = NULL; PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB = NULL; PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB = NULL; PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB = NULL; PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB = NULL; PFNGLGETPROGRAMBINARYPROC __glewGetProgramBinary = NULL; PFNGLPROGRAMBINARYPROC __glewProgramBinary = NULL; PFNGLPROGRAMPARAMETERIPROC __glewProgramParameteri = NULL; PFNGLGETUNIFORMDVPROC __glewGetUniformdv = NULL; PFNGLUNIFORM1DPROC __glewUniform1d = NULL; PFNGLUNIFORM1DVPROC __glewUniform1dv = NULL; PFNGLUNIFORM2DPROC __glewUniform2d = NULL; PFNGLUNIFORM2DVPROC __glewUniform2dv = NULL; PFNGLUNIFORM3DPROC __glewUniform3d = NULL; PFNGLUNIFORM3DVPROC __glewUniform3dv = NULL; PFNGLUNIFORM4DPROC __glewUniform4d = NULL; PFNGLUNIFORM4DVPROC __glewUniform4dv = NULL; PFNGLUNIFORMMATRIX2DVPROC __glewUniformMatrix2dv = NULL; PFNGLUNIFORMMATRIX2X3DVPROC __glewUniformMatrix2x3dv = NULL; PFNGLUNIFORMMATRIX2X4DVPROC __glewUniformMatrix2x4dv = NULL; PFNGLUNIFORMMATRIX3DVPROC __glewUniformMatrix3dv = NULL; PFNGLUNIFORMMATRIX3X2DVPROC __glewUniformMatrix3x2dv = NULL; PFNGLUNIFORMMATRIX3X4DVPROC __glewUniformMatrix3x4dv = NULL; PFNGLUNIFORMMATRIX4DVPROC __glewUniformMatrix4dv = NULL; PFNGLUNIFORMMATRIX4X2DVPROC __glewUniformMatrix4x2dv = NULL; PFNGLUNIFORMMATRIX4X3DVPROC __glewUniformMatrix4x3dv = NULL; PFNGLCOLORSUBTABLEPROC __glewColorSubTable = NULL; PFNGLCOLORTABLEPROC __glewColorTable = NULL; PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv = NULL; PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv = NULL; PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D = NULL; PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D = NULL; PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf = NULL; PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv = NULL; PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri = NULL; PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv = NULL; PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable = NULL; PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable = NULL; PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D = NULL; PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D = NULL; PFNGLGETCOLORTABLEPROC __glewGetColorTable = NULL; PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv = NULL; PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv = NULL; PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter = NULL; PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv = NULL; PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv = NULL; PFNGLGETHISTOGRAMPROC __glewGetHistogram = NULL; PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv = NULL; PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv = NULL; PFNGLGETMINMAXPROC __glewGetMinmax = NULL; PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv = NULL; PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv = NULL; PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter = NULL; PFNGLHISTOGRAMPROC __glewHistogram = NULL; PFNGLMINMAXPROC __glewMinmax = NULL; PFNGLRESETHISTOGRAMPROC __glewResetHistogram = NULL; PFNGLRESETMINMAXPROC __glewResetMinmax = NULL; PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D = NULL; PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC __glewMultiDrawArraysIndirectCountARB = NULL; PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC __glewMultiDrawElementsIndirectCountARB = NULL; PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB = NULL; PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB = NULL; PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB = NULL; PFNGLGETINTERNALFORMATIVPROC __glewGetInternalformativ = NULL; PFNGLGETINTERNALFORMATI64VPROC __glewGetInternalformati64v = NULL; PFNGLINVALIDATEBUFFERDATAPROC __glewInvalidateBufferData = NULL; PFNGLINVALIDATEBUFFERSUBDATAPROC __glewInvalidateBufferSubData = NULL; PFNGLINVALIDATEFRAMEBUFFERPROC __glewInvalidateFramebuffer = NULL; PFNGLINVALIDATESUBFRAMEBUFFERPROC __glewInvalidateSubFramebuffer = NULL; PFNGLINVALIDATETEXIMAGEPROC __glewInvalidateTexImage = NULL; PFNGLINVALIDATETEXSUBIMAGEPROC __glewInvalidateTexSubImage = NULL; PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange = NULL; PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange = NULL; PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB = NULL; PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB = NULL; PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB = NULL; PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB = NULL; PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB = NULL; PFNGLBINDBUFFERSBASEPROC __glewBindBuffersBase = NULL; PFNGLBINDBUFFERSRANGEPROC __glewBindBuffersRange = NULL; PFNGLBINDIMAGETEXTURESPROC __glewBindImageTextures = NULL; PFNGLBINDSAMPLERSPROC __glewBindSamplers = NULL; PFNGLBINDTEXTURESPROC __glewBindTextures = NULL; PFNGLBINDVERTEXBUFFERSPROC __glewBindVertexBuffers = NULL; PFNGLMULTIDRAWARRAYSINDIRECTPROC __glewMultiDrawArraysIndirect = NULL; PFNGLMULTIDRAWELEMENTSINDIRECTPROC __glewMultiDrawElementsIndirect = NULL; PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB = NULL; PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB = NULL; PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB = NULL; PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB = NULL; PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB = NULL; PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB = NULL; PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB = NULL; PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB = NULL; PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB = NULL; PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB = NULL; PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB = NULL; PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB = NULL; PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB = NULL; PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB = NULL; PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB = NULL; PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB = NULL; PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB = NULL; PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB = NULL; PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB = NULL; PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB = NULL; PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB = NULL; PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB = NULL; PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB = NULL; PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB = NULL; PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB = NULL; PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB = NULL; PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB = NULL; PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB = NULL; PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB = NULL; PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB = NULL; PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB = NULL; PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB = NULL; PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB = NULL; PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB = NULL; PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB = NULL; PFNGLBEGINQUERYARBPROC __glewBeginQueryARB = NULL; PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB = NULL; PFNGLENDQUERYARBPROC __glewEndQueryARB = NULL; PFNGLGENQUERIESARBPROC __glewGenQueriesARB = NULL; PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB = NULL; PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB = NULL; PFNGLGETQUERYIVARBPROC __glewGetQueryivARB = NULL; PFNGLISQUERYARBPROC __glewIsQueryARB = NULL; PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB = NULL; PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB = NULL; PFNGLGETPROGRAMINTERFACEIVPROC __glewGetProgramInterfaceiv = NULL; PFNGLGETPROGRAMRESOURCEINDEXPROC __glewGetProgramResourceIndex = NULL; PFNGLGETPROGRAMRESOURCELOCATIONPROC __glewGetProgramResourceLocation = NULL; PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC __glewGetProgramResourceLocationIndex = NULL; PFNGLGETPROGRAMRESOURCENAMEPROC __glewGetProgramResourceName = NULL; PFNGLGETPROGRAMRESOURCEIVPROC __glewGetProgramResourceiv = NULL; PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex = NULL; PFNGLGETGRAPHICSRESETSTATUSARBPROC __glewGetGraphicsResetStatusARB = NULL; PFNGLGETNCOLORTABLEARBPROC __glewGetnColorTableARB = NULL; PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC __glewGetnCompressedTexImageARB = NULL; PFNGLGETNCONVOLUTIONFILTERARBPROC __glewGetnConvolutionFilterARB = NULL; PFNGLGETNHISTOGRAMARBPROC __glewGetnHistogramARB = NULL; PFNGLGETNMAPDVARBPROC __glewGetnMapdvARB = NULL; PFNGLGETNMAPFVARBPROC __glewGetnMapfvARB = NULL; PFNGLGETNMAPIVARBPROC __glewGetnMapivARB = NULL; PFNGLGETNMINMAXARBPROC __glewGetnMinmaxARB = NULL; PFNGLGETNPIXELMAPFVARBPROC __glewGetnPixelMapfvARB = NULL; PFNGLGETNPIXELMAPUIVARBPROC __glewGetnPixelMapuivARB = NULL; PFNGLGETNPIXELMAPUSVARBPROC __glewGetnPixelMapusvARB = NULL; PFNGLGETNPOLYGONSTIPPLEARBPROC __glewGetnPolygonStippleARB = NULL; PFNGLGETNSEPARABLEFILTERARBPROC __glewGetnSeparableFilterARB = NULL; PFNGLGETNTEXIMAGEARBPROC __glewGetnTexImageARB = NULL; PFNGLGETNUNIFORMDVARBPROC __glewGetnUniformdvARB = NULL; PFNGLGETNUNIFORMFVARBPROC __glewGetnUniformfvARB = NULL; PFNGLGETNUNIFORMIVARBPROC __glewGetnUniformivARB = NULL; PFNGLGETNUNIFORMUIVARBPROC __glewGetnUniformuivARB = NULL; PFNGLREADNPIXELSARBPROC __glewReadnPixelsARB = NULL; PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB = NULL; PFNGLBINDSAMPLERPROC __glewBindSampler = NULL; PFNGLDELETESAMPLERSPROC __glewDeleteSamplers = NULL; PFNGLGENSAMPLERSPROC __glewGenSamplers = NULL; PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv = NULL; PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv = NULL; PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv = NULL; PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv = NULL; PFNGLISSAMPLERPROC __glewIsSampler = NULL; PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv = NULL; PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv = NULL; PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf = NULL; PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv = NULL; PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri = NULL; PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv = NULL; PFNGLACTIVESHADERPROGRAMPROC __glewActiveShaderProgram = NULL; PFNGLBINDPROGRAMPIPELINEPROC __glewBindProgramPipeline = NULL; PFNGLCREATESHADERPROGRAMVPROC __glewCreateShaderProgramv = NULL; PFNGLDELETEPROGRAMPIPELINESPROC __glewDeleteProgramPipelines = NULL; PFNGLGENPROGRAMPIPELINESPROC __glewGenProgramPipelines = NULL; PFNGLGETPROGRAMPIPELINEINFOLOGPROC __glewGetProgramPipelineInfoLog = NULL; PFNGLGETPROGRAMPIPELINEIVPROC __glewGetProgramPipelineiv = NULL; PFNGLISPROGRAMPIPELINEPROC __glewIsProgramPipeline = NULL; PFNGLPROGRAMUNIFORM1DPROC __glewProgramUniform1d = NULL; PFNGLPROGRAMUNIFORM1DVPROC __glewProgramUniform1dv = NULL; PFNGLPROGRAMUNIFORM1FPROC __glewProgramUniform1f = NULL; PFNGLPROGRAMUNIFORM1FVPROC __glewProgramUniform1fv = NULL; PFNGLPROGRAMUNIFORM1IPROC __glewProgramUniform1i = NULL; PFNGLPROGRAMUNIFORM1IVPROC __glewProgramUniform1iv = NULL; PFNGLPROGRAMUNIFORM1UIPROC __glewProgramUniform1ui = NULL; PFNGLPROGRAMUNIFORM1UIVPROC __glewProgramUniform1uiv = NULL; PFNGLPROGRAMUNIFORM2DPROC __glewProgramUniform2d = NULL; PFNGLPROGRAMUNIFORM2DVPROC __glewProgramUniform2dv = NULL; PFNGLPROGRAMUNIFORM2FPROC __glewProgramUniform2f = NULL; PFNGLPROGRAMUNIFORM2FVPROC __glewProgramUniform2fv = NULL; PFNGLPROGRAMUNIFORM2IPROC __glewProgramUniform2i = NULL; PFNGLPROGRAMUNIFORM2IVPROC __glewProgramUniform2iv = NULL; PFNGLPROGRAMUNIFORM2UIPROC __glewProgramUniform2ui = NULL; PFNGLPROGRAMUNIFORM2UIVPROC __glewProgramUniform2uiv = NULL; PFNGLPROGRAMUNIFORM3DPROC __glewProgramUniform3d = NULL; PFNGLPROGRAMUNIFORM3DVPROC __glewProgramUniform3dv = NULL; PFNGLPROGRAMUNIFORM3FPROC __glewProgramUniform3f = NULL; PFNGLPROGRAMUNIFORM3FVPROC __glewProgramUniform3fv = NULL; PFNGLPROGRAMUNIFORM3IPROC __glewProgramUniform3i = NULL; PFNGLPROGRAMUNIFORM3IVPROC __glewProgramUniform3iv = NULL; PFNGLPROGRAMUNIFORM3UIPROC __glewProgramUniform3ui = NULL; PFNGLPROGRAMUNIFORM3UIVPROC __glewProgramUniform3uiv = NULL; PFNGLPROGRAMUNIFORM4DPROC __glewProgramUniform4d = NULL; PFNGLPROGRAMUNIFORM4DVPROC __glewProgramUniform4dv = NULL; PFNGLPROGRAMUNIFORM4FPROC __glewProgramUniform4f = NULL; PFNGLPROGRAMUNIFORM4FVPROC __glewProgramUniform4fv = NULL; PFNGLPROGRAMUNIFORM4IPROC __glewProgramUniform4i = NULL; PFNGLPROGRAMUNIFORM4IVPROC __glewProgramUniform4iv = NULL; PFNGLPROGRAMUNIFORM4UIPROC __glewProgramUniform4ui = NULL; PFNGLPROGRAMUNIFORM4UIVPROC __glewProgramUniform4uiv = NULL; PFNGLPROGRAMUNIFORMMATRIX2DVPROC __glewProgramUniformMatrix2dv = NULL; PFNGLPROGRAMUNIFORMMATRIX2FVPROC __glewProgramUniformMatrix2fv = NULL; PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC __glewProgramUniformMatrix2x3dv = NULL; PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC __glewProgramUniformMatrix2x3fv = NULL; PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC __glewProgramUniformMatrix2x4dv = NULL; PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC __glewProgramUniformMatrix2x4fv = NULL; PFNGLPROGRAMUNIFORMMATRIX3DVPROC __glewProgramUniformMatrix3dv = NULL; PFNGLPROGRAMUNIFORMMATRIX3FVPROC __glewProgramUniformMatrix3fv = NULL; PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC __glewProgramUniformMatrix3x2dv = NULL; PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC __glewProgramUniformMatrix3x2fv = NULL; PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC __glewProgramUniformMatrix3x4dv = NULL; PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC __glewProgramUniformMatrix3x4fv = NULL; PFNGLPROGRAMUNIFORMMATRIX4DVPROC __glewProgramUniformMatrix4dv = NULL; PFNGLPROGRAMUNIFORMMATRIX4FVPROC __glewProgramUniformMatrix4fv = NULL; PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC __glewProgramUniformMatrix4x2dv = NULL; PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC __glewProgramUniformMatrix4x2fv = NULL; PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC __glewProgramUniformMatrix4x3dv = NULL; PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC __glewProgramUniformMatrix4x3fv = NULL; PFNGLUSEPROGRAMSTAGESPROC __glewUseProgramStages = NULL; PFNGLVALIDATEPROGRAMPIPELINEPROC __glewValidateProgramPipeline = NULL; PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC __glewGetActiveAtomicCounterBufferiv = NULL; PFNGLBINDIMAGETEXTUREPROC __glewBindImageTexture = NULL; PFNGLMEMORYBARRIERPROC __glewMemoryBarrier = NULL; PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB = NULL; PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB = NULL; PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB = NULL; PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB = NULL; PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB = NULL; PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB = NULL; PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB = NULL; PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB = NULL; PFNGLGETHANDLEARBPROC __glewGetHandleARB = NULL; PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB = NULL; PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB = NULL; PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB = NULL; PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB = NULL; PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB = NULL; PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB = NULL; PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB = NULL; PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB = NULL; PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB = NULL; PFNGLUNIFORM1FARBPROC __glewUniform1fARB = NULL; PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB = NULL; PFNGLUNIFORM1IARBPROC __glewUniform1iARB = NULL; PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB = NULL; PFNGLUNIFORM2FARBPROC __glewUniform2fARB = NULL; PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB = NULL; PFNGLUNIFORM2IARBPROC __glewUniform2iARB = NULL; PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB = NULL; PFNGLUNIFORM3FARBPROC __glewUniform3fARB = NULL; PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB = NULL; PFNGLUNIFORM3IARBPROC __glewUniform3iARB = NULL; PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB = NULL; PFNGLUNIFORM4FARBPROC __glewUniform4fARB = NULL; PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB = NULL; PFNGLUNIFORM4IARBPROC __glewUniform4iARB = NULL; PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB = NULL; PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB = NULL; PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB = NULL; PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB = NULL; PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB = NULL; PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB = NULL; PFNGLSHADERSTORAGEBLOCKBINDINGPROC __glewShaderStorageBlockBinding = NULL; PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName = NULL; PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName = NULL; PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv = NULL; PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv = NULL; PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex = NULL; PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation = NULL; PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv = NULL; PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv = NULL; PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB = NULL; PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB = NULL; PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB = NULL; PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB = NULL; PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB = NULL; PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB = NULL; PFNGLTEXPAGECOMMITMENTARBPROC __glewTexPageCommitmentARB = NULL; PFNGLTEXTUREPAGECOMMITMENTEXTPROC __glewTexturePageCommitmentEXT = NULL; PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync = NULL; PFNGLDELETESYNCPROC __glewDeleteSync = NULL; PFNGLFENCESYNCPROC __glewFenceSync = NULL; PFNGLGETINTEGER64VPROC __glewGetInteger64v = NULL; PFNGLGETSYNCIVPROC __glewGetSynciv = NULL; PFNGLISSYNCPROC __glewIsSync = NULL; PFNGLWAITSYNCPROC __glewWaitSync = NULL; PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv = NULL; PFNGLPATCHPARAMETERIPROC __glewPatchParameteri = NULL; PFNGLTEXBUFFERARBPROC __glewTexBufferARB = NULL; PFNGLTEXBUFFERRANGEPROC __glewTexBufferRange = NULL; PFNGLTEXTUREBUFFERRANGEEXTPROC __glewTextureBufferRangeEXT = NULL; PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB = NULL; PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB = NULL; PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB = NULL; PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB = NULL; PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB = NULL; PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB = NULL; PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB = NULL; PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv = NULL; PFNGLSAMPLEMASKIPROC __glewSampleMaski = NULL; PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample = NULL; PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample = NULL; PFNGLTEXSTORAGE1DPROC __glewTexStorage1D = NULL; PFNGLTEXSTORAGE2DPROC __glewTexStorage2D = NULL; PFNGLTEXSTORAGE3DPROC __glewTexStorage3D = NULL; PFNGLTEXTURESTORAGE1DEXTPROC __glewTextureStorage1DEXT = NULL; PFNGLTEXTURESTORAGE2DEXTPROC __glewTextureStorage2DEXT = NULL; PFNGLTEXTURESTORAGE3DEXTPROC __glewTextureStorage3DEXT = NULL; PFNGLTEXSTORAGE2DMULTISAMPLEPROC __glewTexStorage2DMultisample = NULL; PFNGLTEXSTORAGE3DMULTISAMPLEPROC __glewTexStorage3DMultisample = NULL; PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC __glewTextureStorage2DMultisampleEXT = NULL; PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC __glewTextureStorage3DMultisampleEXT = NULL; PFNGLTEXTUREVIEWPROC __glewTextureView = NULL; PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v = NULL; PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v = NULL; PFNGLQUERYCOUNTERPROC __glewQueryCounter = NULL; PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback = NULL; PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks = NULL; PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback = NULL; PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks = NULL; PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback = NULL; PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback = NULL; PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback = NULL; PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed = NULL; PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream = NULL; PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed = NULL; PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv = NULL; PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC __glewDrawTransformFeedbackInstanced = NULL; PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC __glewDrawTransformFeedbackStreamInstanced = NULL; PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB = NULL; PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB = NULL; PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB = NULL; PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB = NULL; PFNGLBINDBUFFERBASEPROC __glewBindBufferBase = NULL; PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange = NULL; PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName = NULL; PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv = NULL; PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName = NULL; PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv = NULL; PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v = NULL; PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex = NULL; PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices = NULL; PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding = NULL; PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray = NULL; PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays = NULL; PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays = NULL; PFNGLISVERTEXARRAYPROC __glewIsVertexArray = NULL; PFNGLGETVERTEXATTRIBLDVPROC __glewGetVertexAttribLdv = NULL; PFNGLVERTEXATTRIBL1DPROC __glewVertexAttribL1d = NULL; PFNGLVERTEXATTRIBL1DVPROC __glewVertexAttribL1dv = NULL; PFNGLVERTEXATTRIBL2DPROC __glewVertexAttribL2d = NULL; PFNGLVERTEXATTRIBL2DVPROC __glewVertexAttribL2dv = NULL; PFNGLVERTEXATTRIBL3DPROC __glewVertexAttribL3d = NULL; PFNGLVERTEXATTRIBL3DVPROC __glewVertexAttribL3dv = NULL; PFNGLVERTEXATTRIBL4DPROC __glewVertexAttribL4d = NULL; PFNGLVERTEXATTRIBL4DVPROC __glewVertexAttribL4dv = NULL; PFNGLVERTEXATTRIBLPOINTERPROC __glewVertexAttribLPointer = NULL; PFNGLBINDVERTEXBUFFERPROC __glewBindVertexBuffer = NULL; PFNGLVERTEXATTRIBBINDINGPROC __glewVertexAttribBinding = NULL; PFNGLVERTEXATTRIBFORMATPROC __glewVertexAttribFormat = NULL; PFNGLVERTEXATTRIBIFORMATPROC __glewVertexAttribIFormat = NULL; PFNGLVERTEXATTRIBLFORMATPROC __glewVertexAttribLFormat = NULL; PFNGLVERTEXBINDINGDIVISORPROC __glewVertexBindingDivisor = NULL; PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB = NULL; PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB = NULL; PFNGLWEIGHTBVARBPROC __glewWeightbvARB = NULL; PFNGLWEIGHTDVARBPROC __glewWeightdvARB = NULL; PFNGLWEIGHTFVARBPROC __glewWeightfvARB = NULL; PFNGLWEIGHTIVARBPROC __glewWeightivARB = NULL; PFNGLWEIGHTSVARBPROC __glewWeightsvARB = NULL; PFNGLWEIGHTUBVARBPROC __glewWeightubvARB = NULL; PFNGLWEIGHTUIVARBPROC __glewWeightuivARB = NULL; PFNGLWEIGHTUSVARBPROC __glewWeightusvARB = NULL; PFNGLBINDBUFFERARBPROC __glewBindBufferARB = NULL; PFNGLBUFFERDATAARBPROC __glewBufferDataARB = NULL; PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB = NULL; PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB = NULL; PFNGLGENBUFFERSARBPROC __glewGenBuffersARB = NULL; PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB = NULL; PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB = NULL; PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB = NULL; PFNGLISBUFFERARBPROC __glewIsBufferARB = NULL; PFNGLMAPBUFFERARBPROC __glewMapBufferARB = NULL; PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB = NULL; PFNGLBINDPROGRAMARBPROC __glewBindProgramARB = NULL; PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB = NULL; PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB = NULL; PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB = NULL; PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB = NULL; PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB = NULL; PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB = NULL; PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB = NULL; PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB = NULL; PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB = NULL; PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB = NULL; PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB = NULL; PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB = NULL; PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB = NULL; PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB = NULL; PFNGLISPROGRAMARBPROC __glewIsProgramARB = NULL; PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB = NULL; PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB = NULL; PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB = NULL; PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB = NULL; PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB = NULL; PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB = NULL; PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB = NULL; PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB = NULL; PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB = NULL; PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB = NULL; PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB = NULL; PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB = NULL; PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB = NULL; PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB = NULL; PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB = NULL; PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB = NULL; PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB = NULL; PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB = NULL; PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB = NULL; PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB = NULL; PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB = NULL; PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB = NULL; PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB = NULL; PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB = NULL; PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB = NULL; PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB = NULL; PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB = NULL; PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB = NULL; PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB = NULL; PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB = NULL; PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB = NULL; PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB = NULL; PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB = NULL; PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB = NULL; PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB = NULL; PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB = NULL; PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB = NULL; PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB = NULL; PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB = NULL; PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB = NULL; PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB = NULL; PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB = NULL; PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB = NULL; PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB = NULL; PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB = NULL; PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB = NULL; PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB = NULL; PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB = NULL; PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB = NULL; PFNGLCOLORP3UIPROC __glewColorP3ui = NULL; PFNGLCOLORP3UIVPROC __glewColorP3uiv = NULL; PFNGLCOLORP4UIPROC __glewColorP4ui = NULL; PFNGLCOLORP4UIVPROC __glewColorP4uiv = NULL; PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui = NULL; PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv = NULL; PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui = NULL; PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv = NULL; PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui = NULL; PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv = NULL; PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui = NULL; PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv = NULL; PFNGLNORMALP3UIPROC __glewNormalP3ui = NULL; PFNGLNORMALP3UIVPROC __glewNormalP3uiv = NULL; PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui = NULL; PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv = NULL; PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui = NULL; PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv = NULL; PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui = NULL; PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv = NULL; PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui = NULL; PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv = NULL; PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui = NULL; PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv = NULL; PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui = NULL; PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv = NULL; PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui = NULL; PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv = NULL; PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui = NULL; PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv = NULL; PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui = NULL; PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv = NULL; PFNGLVERTEXP2UIPROC __glewVertexP2ui = NULL; PFNGLVERTEXP2UIVPROC __glewVertexP2uiv = NULL; PFNGLVERTEXP3UIPROC __glewVertexP3ui = NULL; PFNGLVERTEXP3UIVPROC __glewVertexP3uiv = NULL; PFNGLVERTEXP4UIPROC __glewVertexP4ui = NULL; PFNGLVERTEXP4UIVPROC __glewVertexP4uiv = NULL; PFNGLDEPTHRANGEARRAYVPROC __glewDepthRangeArrayv = NULL; PFNGLDEPTHRANGEINDEXEDPROC __glewDepthRangeIndexed = NULL; PFNGLGETDOUBLEI_VPROC __glewGetDoublei_v = NULL; PFNGLGETFLOATI_VPROC __glewGetFloati_v = NULL; PFNGLSCISSORARRAYVPROC __glewScissorArrayv = NULL; PFNGLSCISSORINDEXEDPROC __glewScissorIndexed = NULL; PFNGLSCISSORINDEXEDVPROC __glewScissorIndexedv = NULL; PFNGLVIEWPORTARRAYVPROC __glewViewportArrayv = NULL; PFNGLVIEWPORTINDEXEDFPROC __glewViewportIndexedf = NULL; PFNGLVIEWPORTINDEXEDFVPROC __glewViewportIndexedfv = NULL; PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB = NULL; PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB = NULL; PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB = NULL; PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB = NULL; PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB = NULL; PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB = NULL; PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB = NULL; PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB = NULL; PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB = NULL; PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB = NULL; PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB = NULL; PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB = NULL; PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB = NULL; PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB = NULL; PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB = NULL; PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB = NULL; PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI = NULL; PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI = NULL; PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI = NULL; PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI = NULL; PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI = NULL; PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI = NULL; PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI = NULL; PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI = NULL; PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI = NULL; PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI = NULL; PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI = NULL; PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI = NULL; PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI = NULL; PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI = NULL; PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI = NULL; PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI = NULL; PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI = NULL; PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI = NULL; PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI = NULL; PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI = NULL; PFNGLSAMPLEMAPATIPROC __glewSampleMapATI = NULL; PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI = NULL; PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI = NULL; PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI = NULL; PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI = NULL; PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI = NULL; PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI = NULL; PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI = NULL; PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI = NULL; PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI = NULL; PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI = NULL; PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI = NULL; PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI = NULL; PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI = NULL; PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI = NULL; PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI = NULL; PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI = NULL; PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI = NULL; PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI = NULL; PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI = NULL; PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI = NULL; PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI = NULL; PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI = NULL; PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI = NULL; PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI = NULL; PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI = NULL; PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI = NULL; PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI = NULL; PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI = NULL; PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI = NULL; PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI = NULL; PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI = NULL; PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI = NULL; PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI = NULL; PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI = NULL; PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI = NULL; PFNGLVERTEXSTREAM1DATIPROC __glewVertexStream1dATI = NULL; PFNGLVERTEXSTREAM1DVATIPROC __glewVertexStream1dvATI = NULL; PFNGLVERTEXSTREAM1FATIPROC __glewVertexStream1fATI = NULL; PFNGLVERTEXSTREAM1FVATIPROC __glewVertexStream1fvATI = NULL; PFNGLVERTEXSTREAM1IATIPROC __glewVertexStream1iATI = NULL; PFNGLVERTEXSTREAM1IVATIPROC __glewVertexStream1ivATI = NULL; PFNGLVERTEXSTREAM1SATIPROC __glewVertexStream1sATI = NULL; PFNGLVERTEXSTREAM1SVATIPROC __glewVertexStream1svATI = NULL; PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI = NULL; PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI = NULL; PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI = NULL; PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI = NULL; PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI = NULL; PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI = NULL; PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI = NULL; PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI = NULL; PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI = NULL; PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI = NULL; PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI = NULL; PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI = NULL; PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI = NULL; PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI = NULL; PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI = NULL; PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI = NULL; PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI = NULL; PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI = NULL; PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI = NULL; PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI = NULL; PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI = NULL; PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI = NULL; PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI = NULL; PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI = NULL; PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT = NULL; PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT = NULL; PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT = NULL; PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT = NULL; PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT = NULL; PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT = NULL; PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT = NULL; PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT = NULL; PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT = NULL; PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT = NULL; PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT = NULL; PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT = NULL; PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT = NULL; PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT = NULL; PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT = NULL; PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT = NULL; PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT = NULL; PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT = NULL; PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT = NULL; PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT = NULL; PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT = NULL; PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT = NULL; PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT = NULL; PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT = NULL; PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT = NULL; PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT = NULL; PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT = NULL; PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT = NULL; PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT = NULL; PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT = NULL; PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT = NULL; PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT = NULL; PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT = NULL; PFNGLINSERTEVENTMARKEREXTPROC __glewInsertEventMarkerEXT = NULL; PFNGLPOPGROUPMARKEREXTPROC __glewPopGroupMarkerEXT = NULL; PFNGLPUSHGROUPMARKEREXTPROC __glewPushGroupMarkerEXT = NULL; PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT = NULL; PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT = NULL; PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT = NULL; PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT = NULL; PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT = NULL; PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT = NULL; PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT = NULL; PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT = NULL; PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT = NULL; PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT = NULL; PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT = NULL; PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT = NULL; PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT = NULL; PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT = NULL; PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT = NULL; PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT = NULL; PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT = NULL; PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT = NULL; PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT = NULL; PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT = NULL; PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT = NULL; PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT = NULL; PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT = NULL; PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT = NULL; PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT = NULL; PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT = NULL; PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT = NULL; PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT = NULL; PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT = NULL; PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT = NULL; PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT = NULL; PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT = NULL; PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT = NULL; PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT = NULL; PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT = NULL; PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT = NULL; PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT = NULL; PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT = NULL; PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT = NULL; PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT = NULL; PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT = NULL; PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT = NULL; PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT = NULL; PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT = NULL; PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT = NULL; PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT = NULL; PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT = NULL; PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT = NULL; PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT = NULL; PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT = NULL; PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT = NULL; PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT = NULL; PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT = NULL; PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT = NULL; PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT = NULL; PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT = NULL; PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT = NULL; PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT = NULL; PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT = NULL; PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT = NULL; PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT = NULL; PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT = NULL; PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT = NULL; PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT = NULL; PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT = NULL; PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT = NULL; PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT = NULL; PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT = NULL; PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT = NULL; PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT = NULL; PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT = NULL; PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT = NULL; PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT = NULL; PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT = NULL; PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT = NULL; PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT = NULL; PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT = NULL; PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT = NULL; PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT = NULL; PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT = NULL; PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT = NULL; PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT = NULL; PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT = NULL; PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT = NULL; PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT = NULL; PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT = NULL; PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT = NULL; PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT = NULL; PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT = NULL; PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT = NULL; PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT = NULL; PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT = NULL; PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT = NULL; PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT = NULL; PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT = NULL; PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT = NULL; PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT = NULL; PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT = NULL; PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT = NULL; PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT = NULL; PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT = NULL; PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT = NULL; PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT = NULL; PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT = NULL; PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT = NULL; PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT = NULL; PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT = NULL; PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT = NULL; PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT = NULL; PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT = NULL; PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT = NULL; PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT = NULL; PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT = NULL; PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT = NULL; PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT = NULL; PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT = NULL; PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT = NULL; PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT = NULL; PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT = NULL; PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT = NULL; PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT = NULL; PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT = NULL; PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT = NULL; PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT = NULL; PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT = NULL; PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT = NULL; PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT = NULL; PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT = NULL; PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT = NULL; PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT = NULL; PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT = NULL; PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT = NULL; PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT = NULL; PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT = NULL; PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT = NULL; PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT = NULL; PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT = NULL; PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT = NULL; PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT = NULL; PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT = NULL; PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT = NULL; PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT = NULL; PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT = NULL; PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT = NULL; PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT = NULL; PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT = NULL; PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT = NULL; PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT = NULL; PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT = NULL; PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT = NULL; PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT = NULL; PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT = NULL; PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT = NULL; PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT = NULL; PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT = NULL; PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT = NULL; PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT = NULL; PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT = NULL; PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT = NULL; PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT = NULL; PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT = NULL; PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT = NULL; PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT = NULL; PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT = NULL; PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT = NULL; PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT = NULL; PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT = NULL; PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT = NULL; PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT = NULL; PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT = NULL; PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT = NULL; PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT = NULL; PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT = NULL; PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT = NULL; PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT = NULL; PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT = NULL; PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT = NULL; PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT = NULL; PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT = NULL; PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT = NULL; PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT = NULL; PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT = NULL; PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT = NULL; PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT = NULL; PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT = NULL; PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT = NULL; PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT = NULL; PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT = NULL; PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT = NULL; PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT = NULL; PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT = NULL; PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT = NULL; PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT = NULL; PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT = NULL; PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT = NULL; PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT = NULL; PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT = NULL; PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT = NULL; PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT = NULL; PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT = NULL; PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT = NULL; PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT = NULL; PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT = NULL; PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT = NULL; PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT = NULL; PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT = NULL; PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT = NULL; PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT = NULL; PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT = NULL; PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT = NULL; PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT = NULL; PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT = NULL; PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT = NULL; PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT = NULL; PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT = NULL; PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT = NULL; PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT = NULL; PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT = NULL; PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT = NULL; PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT = NULL; PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT = NULL; PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT = NULL; PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT = NULL; PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT = NULL; PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT = NULL; PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT = NULL; PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT = NULL; PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT = NULL; PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT = NULL; PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT = NULL; PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT = NULL; PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT = NULL; PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT = NULL; PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT = NULL; PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT = NULL; PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT = NULL; PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT = NULL; PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT = NULL; PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT = NULL; PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT = NULL; PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT = NULL; PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT = NULL; PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT = NULL; PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT = NULL; PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT = NULL; PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT = NULL; PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT = NULL; PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT = NULL; PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT = NULL; PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT = NULL; PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT = NULL; PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT = NULL; PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT = NULL; PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT = NULL; PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT = NULL; PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT = NULL; PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT = NULL; PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT = NULL; PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT = NULL; PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT = NULL; PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT = NULL; PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT = NULL; PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT = NULL; PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT = NULL; PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT = NULL; PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT = NULL; PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT = NULL; PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT = NULL; PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT = NULL; PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT = NULL; PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT = NULL; PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT = NULL; PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT = NULL; PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT = NULL; PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT = NULL; PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT = NULL; PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT = NULL; PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT = NULL; PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT = NULL; PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT = NULL; PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT = NULL; PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT = NULL; PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT = NULL; PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT = NULL; PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT = NULL; PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT = NULL; PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT = NULL; PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT = NULL; PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT = NULL; PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT = NULL; PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT = NULL; PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT = NULL; PFNGLHISTOGRAMEXTPROC __glewHistogramEXT = NULL; PFNGLMINMAXEXTPROC __glewMinmaxEXT = NULL; PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT = NULL; PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT = NULL; PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT = NULL; PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT = NULL; PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT = NULL; PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT = NULL; PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT = NULL; PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT = NULL; PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT = NULL; PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT = NULL; PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT = NULL; PFNGLCOLORTABLEEXTPROC __glewColorTableEXT = NULL; PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT = NULL; PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT = NULL; PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT = NULL; PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT = NULL; PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT = NULL; PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT = NULL; PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT = NULL; PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT = NULL; PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT = NULL; PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT = NULL; PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT = NULL; PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT = NULL; PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT = NULL; PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT = NULL; PFNGLENDSCENEEXTPROC __glewEndSceneEXT = NULL; PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT = NULL; PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT = NULL; PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT = NULL; PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT = NULL; PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT = NULL; PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT = NULL; PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT = NULL; PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT = NULL; PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT = NULL; PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT = NULL; PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT = NULL; PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT = NULL; PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT = NULL; PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT = NULL; PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT = NULL; PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT = NULL; PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT = NULL; PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT = NULL; PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT = NULL; PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT = NULL; PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT = NULL; PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT = NULL; PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT = NULL; PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT = NULL; PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT = NULL; PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT = NULL; PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT = NULL; PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT = NULL; PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT = NULL; PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT = NULL; PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT = NULL; PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT = NULL; PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT = NULL; PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT = NULL; PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT = NULL; PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT = NULL; PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT = NULL; PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT = NULL; PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT = NULL; PFNGLISTEXTUREEXTPROC __glewIsTextureEXT = NULL; PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT = NULL; PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT = NULL; PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT = NULL; PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT = NULL; PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT = NULL; PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT = NULL; PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT = NULL; PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT = NULL; PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT = NULL; PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT = NULL; PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT = NULL; PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT = NULL; PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT = NULL; PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT = NULL; PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT = NULL; PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT = NULL; PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT = NULL; PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT = NULL; PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT = NULL; PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT = NULL; PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT = NULL; PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT = NULL; PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT = NULL; PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT = NULL; PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT = NULL; PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT = NULL; PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT = NULL; PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT = NULL; PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT = NULL; PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT = NULL; PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT = NULL; PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT = NULL; PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT = NULL; PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT = NULL; PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT = NULL; PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT = NULL; PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT = NULL; PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT = NULL; PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT = NULL; PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT = NULL; PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT = NULL; PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT = NULL; PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT = NULL; PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT = NULL; PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT = NULL; PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT = NULL; PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT = NULL; PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT = NULL; PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT = NULL; PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT = NULL; PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT = NULL; PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT = NULL; PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT = NULL; PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT = NULL; PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT = NULL; PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT = NULL; PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT = NULL; PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT = NULL; PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT = NULL; PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT = NULL; PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT = NULL; PFNGLSWIZZLEEXTPROC __glewSwizzleEXT = NULL; PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT = NULL; PFNGLVARIANTBVEXTPROC __glewVariantbvEXT = NULL; PFNGLVARIANTDVEXTPROC __glewVariantdvEXT = NULL; PFNGLVARIANTFVEXTPROC __glewVariantfvEXT = NULL; PFNGLVARIANTIVEXTPROC __glewVariantivEXT = NULL; PFNGLVARIANTSVEXTPROC __glewVariantsvEXT = NULL; PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT = NULL; PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT = NULL; PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT = NULL; PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT = NULL; PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT = NULL; PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT = NULL; PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT = NULL; PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT = NULL; PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY = NULL; PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY = NULL; PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP = NULL; PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP = NULL; PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP = NULL; PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP = NULL; PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP = NULL; PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP = NULL; PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM = NULL; PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM = NULL; PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM = NULL; PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM = NULL; PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM = NULL; PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM = NULL; PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM = NULL; PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM = NULL; PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM = NULL; PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM = NULL; PFNGLMAPTEXTURE2DINTELPROC __glewMapTexture2DINTEL = NULL; PFNGLSYNCTEXTUREINTELPROC __glewSyncTextureINTEL = NULL; PFNGLUNMAPTEXTURE2DINTELPROC __glewUnmapTexture2DINTEL = NULL; PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL = NULL; PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL = NULL; PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL = NULL; PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL = NULL; PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL = NULL; PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL = NULL; PFNGLDEBUGMESSAGECALLBACKPROC __glewDebugMessageCallback = NULL; PFNGLDEBUGMESSAGECONTROLPROC __glewDebugMessageControl = NULL; PFNGLDEBUGMESSAGEINSERTPROC __glewDebugMessageInsert = NULL; PFNGLGETDEBUGMESSAGELOGPROC __glewGetDebugMessageLog = NULL; PFNGLGETOBJECTLABELPROC __glewGetObjectLabel = NULL; PFNGLGETOBJECTPTRLABELPROC __glewGetObjectPtrLabel = NULL; PFNGLOBJECTLABELPROC __glewObjectLabel = NULL; PFNGLOBJECTPTRLABELPROC __glewObjectPtrLabel = NULL; PFNGLPOPDEBUGGROUPPROC __glewPopDebugGroup = NULL; PFNGLPUSHDEBUGGROUPPROC __glewPushDebugGroup = NULL; PFNGLBUFFERREGIONENABLEDPROC __glewBufferRegionEnabled = NULL; PFNGLDELETEBUFFERREGIONPROC __glewDeleteBufferRegion = NULL; PFNGLDRAWBUFFERREGIONPROC __glewDrawBufferRegion = NULL; PFNGLNEWBUFFERREGIONPROC __glewNewBufferRegion = NULL; PFNGLREADBUFFERREGIONPROC __glewReadBufferRegion = NULL; PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA = NULL; PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA = NULL; PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA = NULL; PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA = NULL; PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA = NULL; PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA = NULL; PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA = NULL; PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA = NULL; PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA = NULL; PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA = NULL; PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA = NULL; PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA = NULL; PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA = NULL; PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA = NULL; PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA = NULL; PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA = NULL; PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA = NULL; PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA = NULL; PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA = NULL; PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA = NULL; PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA = NULL; PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA = NULL; PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA = NULL; PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA = NULL; PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA = NULL; PFNGLBEGINCONDITIONALRENDERNVXPROC __glewBeginConditionalRenderNVX = NULL; PFNGLENDCONDITIONALRENDERNVXPROC __glewEndConditionalRenderNVX = NULL; PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC __glewMultiDrawArraysIndirectBindlessNV = NULL; PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC __glewMultiDrawElementsIndirectBindlessNV = NULL; PFNGLGETIMAGEHANDLENVPROC __glewGetImageHandleNV = NULL; PFNGLGETTEXTUREHANDLENVPROC __glewGetTextureHandleNV = NULL; PFNGLGETTEXTURESAMPLERHANDLENVPROC __glewGetTextureSamplerHandleNV = NULL; PFNGLISIMAGEHANDLERESIDENTNVPROC __glewIsImageHandleResidentNV = NULL; PFNGLISTEXTUREHANDLERESIDENTNVPROC __glewIsTextureHandleResidentNV = NULL; PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC __glewMakeImageHandleNonResidentNV = NULL; PFNGLMAKEIMAGEHANDLERESIDENTNVPROC __glewMakeImageHandleResidentNV = NULL; PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC __glewMakeTextureHandleNonResidentNV = NULL; PFNGLMAKETEXTUREHANDLERESIDENTNVPROC __glewMakeTextureHandleResidentNV = NULL; PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC __glewProgramUniformHandleui64NV = NULL; PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC __glewProgramUniformHandleui64vNV = NULL; PFNGLUNIFORMHANDLEUI64NVPROC __glewUniformHandleui64NV = NULL; PFNGLUNIFORMHANDLEUI64VNVPROC __glewUniformHandleui64vNV = NULL; PFNGLBLENDBARRIERNVPROC __glewBlendBarrierNV = NULL; PFNGLBLENDPARAMETERINVPROC __glewBlendParameteriNV = NULL; PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV = NULL; PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV = NULL; PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV = NULL; PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV = NULL; PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV = NULL; PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV = NULL; PFNGLDRAWTEXTURENVPROC __glewDrawTextureNV = NULL; PFNGLEVALMAPSNVPROC __glewEvalMapsNV = NULL; PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV = NULL; PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV = NULL; PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV = NULL; PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV = NULL; PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV = NULL; PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV = NULL; PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV = NULL; PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV = NULL; PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV = NULL; PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV = NULL; PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV = NULL; PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV = NULL; PFNGLFINISHFENCENVPROC __glewFinishFenceNV = NULL; PFNGLGENFENCESNVPROC __glewGenFencesNV = NULL; PFNGLGETFENCEIVNVPROC __glewGetFenceivNV = NULL; PFNGLISFENCENVPROC __glewIsFenceNV = NULL; PFNGLSETFENCENVPROC __glewSetFenceNV = NULL; PFNGLTESTFENCENVPROC __glewTestFenceNV = NULL; PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV = NULL; PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV = NULL; PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV = NULL; PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV = NULL; PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV = NULL; PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV = NULL; PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV = NULL; PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV = NULL; PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV = NULL; PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV = NULL; PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV = NULL; PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV = NULL; PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV = NULL; PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV = NULL; PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV = NULL; PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV = NULL; PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV = NULL; PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV = NULL; PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV = NULL; PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV = NULL; PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV = NULL; PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV = NULL; PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV = NULL; PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV = NULL; PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV = NULL; PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV = NULL; PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV = NULL; PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV = NULL; PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV = NULL; PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV = NULL; PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV = NULL; PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV = NULL; PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV = NULL; PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV = NULL; PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV = NULL; PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV = NULL; PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV = NULL; PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV = NULL; PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV = NULL; PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV = NULL; PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV = NULL; PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV = NULL; PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV = NULL; PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV = NULL; PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV = NULL; PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV = NULL; PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV = NULL; PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV = NULL; PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV = NULL; PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV = NULL; PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV = NULL; PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV = NULL; PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV = NULL; PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV = NULL; PFNGLCOLOR3HNVPROC __glewColor3hNV = NULL; PFNGLCOLOR3HVNVPROC __glewColor3hvNV = NULL; PFNGLCOLOR4HNVPROC __glewColor4hNV = NULL; PFNGLCOLOR4HVNVPROC __glewColor4hvNV = NULL; PFNGLFOGCOORDHNVPROC __glewFogCoordhNV = NULL; PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV = NULL; PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV = NULL; PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV = NULL; PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV = NULL; PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV = NULL; PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV = NULL; PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV = NULL; PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV = NULL; PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV = NULL; PFNGLNORMAL3HNVPROC __glewNormal3hNV = NULL; PFNGLNORMAL3HVNVPROC __glewNormal3hvNV = NULL; PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV = NULL; PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV = NULL; PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV = NULL; PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV = NULL; PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV = NULL; PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV = NULL; PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV = NULL; PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV = NULL; PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV = NULL; PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV = NULL; PFNGLVERTEX2HNVPROC __glewVertex2hNV = NULL; PFNGLVERTEX2HVNVPROC __glewVertex2hvNV = NULL; PFNGLVERTEX3HNVPROC __glewVertex3hNV = NULL; PFNGLVERTEX3HVNVPROC __glewVertex3hvNV = NULL; PFNGLVERTEX4HNVPROC __glewVertex4hNV = NULL; PFNGLVERTEX4HVNVPROC __glewVertex4hvNV = NULL; PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV = NULL; PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV = NULL; PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV = NULL; PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV = NULL; PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV = NULL; PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV = NULL; PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV = NULL; PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV = NULL; PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV = NULL; PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV = NULL; PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV = NULL; PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV = NULL; PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV = NULL; PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV = NULL; PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV = NULL; PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV = NULL; PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV = NULL; PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV = NULL; PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV = NULL; PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV = NULL; PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV = NULL; PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV = NULL; PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV = NULL; PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV = NULL; PFNGLCOPYPATHNVPROC __glewCopyPathNV = NULL; PFNGLCOVERFILLPATHINSTANCEDNVPROC __glewCoverFillPathInstancedNV = NULL; PFNGLCOVERFILLPATHNVPROC __glewCoverFillPathNV = NULL; PFNGLCOVERSTROKEPATHINSTANCEDNVPROC __glewCoverStrokePathInstancedNV = NULL; PFNGLCOVERSTROKEPATHNVPROC __glewCoverStrokePathNV = NULL; PFNGLDELETEPATHSNVPROC __glewDeletePathsNV = NULL; PFNGLGENPATHSNVPROC __glewGenPathsNV = NULL; PFNGLGETPATHCOLORGENFVNVPROC __glewGetPathColorGenfvNV = NULL; PFNGLGETPATHCOLORGENIVNVPROC __glewGetPathColorGenivNV = NULL; PFNGLGETPATHCOMMANDSNVPROC __glewGetPathCommandsNV = NULL; PFNGLGETPATHCOORDSNVPROC __glewGetPathCoordsNV = NULL; PFNGLGETPATHDASHARRAYNVPROC __glewGetPathDashArrayNV = NULL; PFNGLGETPATHLENGTHNVPROC __glewGetPathLengthNV = NULL; PFNGLGETPATHMETRICRANGENVPROC __glewGetPathMetricRangeNV = NULL; PFNGLGETPATHMETRICSNVPROC __glewGetPathMetricsNV = NULL; PFNGLGETPATHPARAMETERFVNVPROC __glewGetPathParameterfvNV = NULL; PFNGLGETPATHPARAMETERIVNVPROC __glewGetPathParameterivNV = NULL; PFNGLGETPATHSPACINGNVPROC __glewGetPathSpacingNV = NULL; PFNGLGETPATHTEXGENFVNVPROC __glewGetPathTexGenfvNV = NULL; PFNGLGETPATHTEXGENIVNVPROC __glewGetPathTexGenivNV = NULL; PFNGLINTERPOLATEPATHSNVPROC __glewInterpolatePathsNV = NULL; PFNGLISPATHNVPROC __glewIsPathNV = NULL; PFNGLISPOINTINFILLPATHNVPROC __glewIsPointInFillPathNV = NULL; PFNGLISPOINTINSTROKEPATHNVPROC __glewIsPointInStrokePathNV = NULL; PFNGLPATHCOLORGENNVPROC __glewPathColorGenNV = NULL; PFNGLPATHCOMMANDSNVPROC __glewPathCommandsNV = NULL; PFNGLPATHCOORDSNVPROC __glewPathCoordsNV = NULL; PFNGLPATHCOVERDEPTHFUNCNVPROC __glewPathCoverDepthFuncNV = NULL; PFNGLPATHDASHARRAYNVPROC __glewPathDashArrayNV = NULL; PFNGLPATHFOGGENNVPROC __glewPathFogGenNV = NULL; PFNGLPATHGLYPHRANGENVPROC __glewPathGlyphRangeNV = NULL; PFNGLPATHGLYPHSNVPROC __glewPathGlyphsNV = NULL; PFNGLPATHPARAMETERFNVPROC __glewPathParameterfNV = NULL; PFNGLPATHPARAMETERFVNVPROC __glewPathParameterfvNV = NULL; PFNGLPATHPARAMETERINVPROC __glewPathParameteriNV = NULL; PFNGLPATHPARAMETERIVNVPROC __glewPathParameterivNV = NULL; PFNGLPATHSTENCILDEPTHOFFSETNVPROC __glewPathStencilDepthOffsetNV = NULL; PFNGLPATHSTENCILFUNCNVPROC __glewPathStencilFuncNV = NULL; PFNGLPATHSTRINGNVPROC __glewPathStringNV = NULL; PFNGLPATHSUBCOMMANDSNVPROC __glewPathSubCommandsNV = NULL; PFNGLPATHSUBCOORDSNVPROC __glewPathSubCoordsNV = NULL; PFNGLPATHTEXGENNVPROC __glewPathTexGenNV = NULL; PFNGLPOINTALONGPATHNVPROC __glewPointAlongPathNV = NULL; PFNGLSTENCILFILLPATHINSTANCEDNVPROC __glewStencilFillPathInstancedNV = NULL; PFNGLSTENCILFILLPATHNVPROC __glewStencilFillPathNV = NULL; PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC __glewStencilStrokePathInstancedNV = NULL; PFNGLSTENCILSTROKEPATHNVPROC __glewStencilStrokePathNV = NULL; PFNGLTRANSFORMPATHNVPROC __glewTransformPathNV = NULL; PFNGLWEIGHTPATHSNVPROC __glewWeightPathsNV = NULL; PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV = NULL; PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV = NULL; PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV = NULL; PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV = NULL; PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV = NULL; PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV = NULL; PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV = NULL; PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV = NULL; PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV = NULL; PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV = NULL; PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV = NULL; PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV = NULL; PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV = NULL; PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV = NULL; PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV = NULL; PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV = NULL; PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV = NULL; PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV = NULL; PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV = NULL; PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV = NULL; PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV = NULL; PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV = NULL; PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV = NULL; PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV = NULL; PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV = NULL; PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV = NULL; PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV = NULL; PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV = NULL; PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV = NULL; PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV = NULL; PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV = NULL; PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV = NULL; PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV = NULL; PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV = NULL; PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV = NULL; PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV = NULL; PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV = NULL; PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV = NULL; PFNGLUNIFORMUI64NVPROC __glewUniformui64NV = NULL; PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV = NULL; PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV = NULL; PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV = NULL; PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV = NULL; PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV = NULL; PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV = NULL; PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV = NULL; PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV = NULL; PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV = NULL; PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV = NULL; PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV = NULL; PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV = NULL; PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV = NULL; PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV = NULL; PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV = NULL; PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV = NULL; PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV = NULL; PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV = NULL; PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV = NULL; PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV = NULL; PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV = NULL; PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV = NULL; PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV = NULL; PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV = NULL; PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV = NULL; PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV = NULL; PFNGLVDPAUFININVPROC __glewVDPAUFiniNV = NULL; PFNGLVDPAUGETSURFACEIVNVPROC __glewVDPAUGetSurfaceivNV = NULL; PFNGLVDPAUINITNVPROC __glewVDPAUInitNV = NULL; PFNGLVDPAUISSURFACENVPROC __glewVDPAUIsSurfaceNV = NULL; PFNGLVDPAUMAPSURFACESNVPROC __glewVDPAUMapSurfacesNV = NULL; PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC __glewVDPAURegisterOutputSurfaceNV = NULL; PFNGLVDPAUREGISTERVIDEOSURFACENVPROC __glewVDPAURegisterVideoSurfaceNV = NULL; PFNGLVDPAUSURFACEACCESSNVPROC __glewVDPAUSurfaceAccessNV = NULL; PFNGLVDPAUUNMAPSURFACESNVPROC __glewVDPAUUnmapSurfacesNV = NULL; PFNGLVDPAUUNREGISTERSURFACENVPROC __glewVDPAUUnregisterSurfaceNV = NULL; PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV = NULL; PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV = NULL; PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV = NULL; PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV = NULL; PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV = NULL; PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV = NULL; PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV = NULL; PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV = NULL; PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV = NULL; PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV = NULL; PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV = NULL; PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV = NULL; PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV = NULL; PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV = NULL; PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV = NULL; PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV = NULL; PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV = NULL; PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV = NULL; PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV = NULL; PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV = NULL; PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV = NULL; PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV = NULL; PFNGLCOLORFORMATNVPROC __glewColorFormatNV = NULL; PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV = NULL; PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV = NULL; PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV = NULL; PFNGLINDEXFORMATNVPROC __glewIndexFormatNV = NULL; PFNGLNORMALFORMATNVPROC __glewNormalFormatNV = NULL; PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV = NULL; PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV = NULL; PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV = NULL; PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV = NULL; PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV = NULL; PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV = NULL; PFNGLBINDPROGRAMNVPROC __glewBindProgramNV = NULL; PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV = NULL; PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV = NULL; PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV = NULL; PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV = NULL; PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV = NULL; PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV = NULL; PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV = NULL; PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV = NULL; PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV = NULL; PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV = NULL; PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV = NULL; PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV = NULL; PFNGLISPROGRAMNVPROC __glewIsProgramNV = NULL; PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV = NULL; PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV = NULL; PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV = NULL; PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV = NULL; PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV = NULL; PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV = NULL; PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV = NULL; PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV = NULL; PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV = NULL; PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV = NULL; PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV = NULL; PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV = NULL; PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV = NULL; PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV = NULL; PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV = NULL; PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV = NULL; PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV = NULL; PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV = NULL; PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV = NULL; PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV = NULL; PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV = NULL; PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV = NULL; PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV = NULL; PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV = NULL; PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV = NULL; PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV = NULL; PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV = NULL; PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV = NULL; PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV = NULL; PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV = NULL; PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV = NULL; PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV = NULL; PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV = NULL; PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV = NULL; PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV = NULL; PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV = NULL; PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV = NULL; PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV = NULL; PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV = NULL; PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV = NULL; PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV = NULL; PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV = NULL; PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV = NULL; PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV = NULL; PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV = NULL; PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV = NULL; PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV = NULL; PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV = NULL; PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV = NULL; PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV = NULL; PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV = NULL; PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV = NULL; PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV = NULL; PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV = NULL; PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV = NULL; PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV = NULL; PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV = NULL; PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV = NULL; PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV = NULL; PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV = NULL; PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV = NULL; PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES = NULL; PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES = NULL; PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES = NULL; PFNGLFRUSTUMFOESPROC __glewFrustumfOES = NULL; PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES = NULL; PFNGLORTHOFOESPROC __glewOrthofOES = NULL; PFNGLALPHAFUNCXPROC __glewAlphaFuncx = NULL; PFNGLCLEARCOLORXPROC __glewClearColorx = NULL; PFNGLCLEARDEPTHXPROC __glewClearDepthx = NULL; PFNGLCOLOR4XPROC __glewColor4x = NULL; PFNGLDEPTHRANGEXPROC __glewDepthRangex = NULL; PFNGLFOGXPROC __glewFogx = NULL; PFNGLFOGXVPROC __glewFogxv = NULL; PFNGLFRUSTUMFPROC __glewFrustumf = NULL; PFNGLFRUSTUMXPROC __glewFrustumx = NULL; PFNGLLIGHTMODELXPROC __glewLightModelx = NULL; PFNGLLIGHTMODELXVPROC __glewLightModelxv = NULL; PFNGLLIGHTXPROC __glewLightx = NULL; PFNGLLIGHTXVPROC __glewLightxv = NULL; PFNGLLINEWIDTHXPROC __glewLineWidthx = NULL; PFNGLLOADMATRIXXPROC __glewLoadMatrixx = NULL; PFNGLMATERIALXPROC __glewMaterialx = NULL; PFNGLMATERIALXVPROC __glewMaterialxv = NULL; PFNGLMULTMATRIXXPROC __glewMultMatrixx = NULL; PFNGLMULTITEXCOORD4XPROC __glewMultiTexCoord4x = NULL; PFNGLNORMAL3XPROC __glewNormal3x = NULL; PFNGLORTHOFPROC __glewOrthof = NULL; PFNGLORTHOXPROC __glewOrthox = NULL; PFNGLPOINTSIZEXPROC __glewPointSizex = NULL; PFNGLPOLYGONOFFSETXPROC __glewPolygonOffsetx = NULL; PFNGLROTATEXPROC __glewRotatex = NULL; PFNGLSAMPLECOVERAGEXPROC __glewSampleCoveragex = NULL; PFNGLSCALEXPROC __glewScalex = NULL; PFNGLTEXENVXPROC __glewTexEnvx = NULL; PFNGLTEXENVXVPROC __glewTexEnvxv = NULL; PFNGLTEXPARAMETERXPROC __glewTexParameterx = NULL; PFNGLTRANSLATEXPROC __glewTranslatex = NULL; PFNGLCLIPPLANEFPROC __glewClipPlanef = NULL; PFNGLCLIPPLANEXPROC __glewClipPlanex = NULL; PFNGLGETCLIPPLANEFPROC __glewGetClipPlanef = NULL; PFNGLGETCLIPPLANEXPROC __glewGetClipPlanex = NULL; PFNGLGETFIXEDVPROC __glewGetFixedv = NULL; PFNGLGETLIGHTXVPROC __glewGetLightxv = NULL; PFNGLGETMATERIALXVPROC __glewGetMaterialxv = NULL; PFNGLGETTEXENVXVPROC __glewGetTexEnvxv = NULL; PFNGLGETTEXPARAMETERXVPROC __glewGetTexParameterxv = NULL; PFNGLPOINTPARAMETERXPROC __glewPointParameterx = NULL; PFNGLPOINTPARAMETERXVPROC __glewPointParameterxv = NULL; PFNGLPOINTSIZEPOINTEROESPROC __glewPointSizePointerOES = NULL; PFNGLTEXPARAMETERXVPROC __glewTexParameterxv = NULL; PFNGLERRORSTRINGREGALPROC __glewErrorStringREGAL = NULL; PFNGLGETEXTENSIONREGALPROC __glewGetExtensionREGAL = NULL; PFNGLISSUPPORTEDREGALPROC __glewIsSupportedREGAL = NULL; PFNGLLOGMESSAGECALLBACKREGALPROC __glewLogMessageCallbackREGAL = NULL; PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS = NULL; PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS = NULL; PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS = NULL; PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS = NULL; PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS = NULL; PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS = NULL; PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS = NULL; PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS = NULL; PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS = NULL; PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS = NULL; PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS = NULL; PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS = NULL; PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX = NULL; PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX = NULL; PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX = NULL; PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX = NULL; PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX = NULL; PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX = NULL; PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX = NULL; PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX = NULL; PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX = NULL; PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX = NULL; PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX = NULL; PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX = NULL; PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX = NULL; PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX = NULL; PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX = NULL; PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX = NULL; PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX = NULL; PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX = NULL; PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX = NULL; PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX = NULL; PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX = NULL; PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX = NULL; PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX = NULL; PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX = NULL; PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX = NULL; PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX = NULL; PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX = NULL; PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX = NULL; PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX = NULL; PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX = NULL; PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX = NULL; PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX = NULL; PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX = NULL; PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI = NULL; PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI = NULL; PFNGLCOLORTABLESGIPROC __glewColorTableSGI = NULL; PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI = NULL; PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI = NULL; PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI = NULL; PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI = NULL; PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX = NULL; PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN = NULL; PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN = NULL; PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN = NULL; PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN = NULL; PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN = NULL; PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN = NULL; PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN = NULL; PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN = NULL; PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN = NULL; PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN = NULL; PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN = NULL; PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN = NULL; PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN = NULL; PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN = NULL; PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN = NULL; PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN = NULL; PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN = NULL; PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN = NULL; PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN = NULL; PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN = NULL; PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN = NULL; PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN = NULL; PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN = NULL; PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN = NULL; PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN = NULL; PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN = NULL; PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN = NULL; PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN = NULL; PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN = NULL; PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN = NULL; PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN = NULL; PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN = NULL; PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN = NULL; PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN = NULL; PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN = NULL; PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN = NULL; PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN = NULL; PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN = NULL; PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN = NULL; PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN = NULL; PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN = NULL; PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN = NULL; PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN = NULL; #endif /* !WIN32 || !GLEW_MX */ #if !defined(GLEW_MX) GLboolean __GLEW_VERSION_1_1 = GL_FALSE; GLboolean __GLEW_VERSION_1_2 = GL_FALSE; GLboolean __GLEW_VERSION_1_2_1 = GL_FALSE; GLboolean __GLEW_VERSION_1_3 = GL_FALSE; GLboolean __GLEW_VERSION_1_4 = GL_FALSE; GLboolean __GLEW_VERSION_1_5 = GL_FALSE; GLboolean __GLEW_VERSION_2_0 = GL_FALSE; GLboolean __GLEW_VERSION_2_1 = GL_FALSE; GLboolean __GLEW_VERSION_3_0 = GL_FALSE; GLboolean __GLEW_VERSION_3_1 = GL_FALSE; GLboolean __GLEW_VERSION_3_2 = GL_FALSE; GLboolean __GLEW_VERSION_3_3 = GL_FALSE; GLboolean __GLEW_VERSION_4_0 = GL_FALSE; GLboolean __GLEW_VERSION_4_1 = GL_FALSE; GLboolean __GLEW_VERSION_4_2 = GL_FALSE; GLboolean __GLEW_VERSION_4_3 = GL_FALSE; GLboolean __GLEW_VERSION_4_4 = GL_FALSE; GLboolean __GLEW_3DFX_multisample = GL_FALSE; GLboolean __GLEW_3DFX_tbuffer = GL_FALSE; GLboolean __GLEW_3DFX_texture_compression_FXT1 = GL_FALSE; GLboolean __GLEW_AMD_blend_minmax_factor = GL_FALSE; GLboolean __GLEW_AMD_conservative_depth = GL_FALSE; GLboolean __GLEW_AMD_debug_output = GL_FALSE; GLboolean __GLEW_AMD_depth_clamp_separate = GL_FALSE; GLboolean __GLEW_AMD_draw_buffers_blend = GL_FALSE; GLboolean __GLEW_AMD_interleaved_elements = GL_FALSE; GLboolean __GLEW_AMD_multi_draw_indirect = GL_FALSE; GLboolean __GLEW_AMD_name_gen_delete = GL_FALSE; GLboolean __GLEW_AMD_performance_monitor = GL_FALSE; GLboolean __GLEW_AMD_pinned_memory = GL_FALSE; GLboolean __GLEW_AMD_query_buffer_object = GL_FALSE; GLboolean __GLEW_AMD_sample_positions = GL_FALSE; GLboolean __GLEW_AMD_seamless_cubemap_per_texture = GL_FALSE; GLboolean __GLEW_AMD_shader_stencil_export = GL_FALSE; GLboolean __GLEW_AMD_shader_trinary_minmax = GL_FALSE; GLboolean __GLEW_AMD_sparse_texture = GL_FALSE; GLboolean __GLEW_AMD_stencil_operation_extended = GL_FALSE; GLboolean __GLEW_AMD_texture_texture4 = GL_FALSE; GLboolean __GLEW_AMD_transform_feedback3_lines_triangles = GL_FALSE; GLboolean __GLEW_AMD_vertex_shader_layer = GL_FALSE; GLboolean __GLEW_AMD_vertex_shader_tessellator = GL_FALSE; GLboolean __GLEW_AMD_vertex_shader_viewport_index = GL_FALSE; GLboolean __GLEW_ANGLE_depth_texture = GL_FALSE; GLboolean __GLEW_ANGLE_framebuffer_blit = GL_FALSE; GLboolean __GLEW_ANGLE_framebuffer_multisample = GL_FALSE; GLboolean __GLEW_ANGLE_instanced_arrays = GL_FALSE; GLboolean __GLEW_ANGLE_pack_reverse_row_order = GL_FALSE; GLboolean __GLEW_ANGLE_program_binary = GL_FALSE; GLboolean __GLEW_ANGLE_texture_compression_dxt1 = GL_FALSE; GLboolean __GLEW_ANGLE_texture_compression_dxt3 = GL_FALSE; GLboolean __GLEW_ANGLE_texture_compression_dxt5 = GL_FALSE; GLboolean __GLEW_ANGLE_texture_usage = GL_FALSE; GLboolean __GLEW_ANGLE_timer_query = GL_FALSE; GLboolean __GLEW_ANGLE_translated_shader_source = GL_FALSE; GLboolean __GLEW_APPLE_aux_depth_stencil = GL_FALSE; GLboolean __GLEW_APPLE_client_storage = GL_FALSE; GLboolean __GLEW_APPLE_element_array = GL_FALSE; GLboolean __GLEW_APPLE_fence = GL_FALSE; GLboolean __GLEW_APPLE_float_pixels = GL_FALSE; GLboolean __GLEW_APPLE_flush_buffer_range = GL_FALSE; GLboolean __GLEW_APPLE_object_purgeable = GL_FALSE; GLboolean __GLEW_APPLE_pixel_buffer = GL_FALSE; GLboolean __GLEW_APPLE_rgb_422 = GL_FALSE; GLboolean __GLEW_APPLE_row_bytes = GL_FALSE; GLboolean __GLEW_APPLE_specular_vector = GL_FALSE; GLboolean __GLEW_APPLE_texture_range = GL_FALSE; GLboolean __GLEW_APPLE_transform_hint = GL_FALSE; GLboolean __GLEW_APPLE_vertex_array_object = GL_FALSE; GLboolean __GLEW_APPLE_vertex_array_range = GL_FALSE; GLboolean __GLEW_APPLE_vertex_program_evaluators = GL_FALSE; GLboolean __GLEW_APPLE_ycbcr_422 = GL_FALSE; GLboolean __GLEW_ARB_ES2_compatibility = GL_FALSE; GLboolean __GLEW_ARB_ES3_compatibility = GL_FALSE; GLboolean __GLEW_ARB_arrays_of_arrays = GL_FALSE; GLboolean __GLEW_ARB_base_instance = GL_FALSE; GLboolean __GLEW_ARB_bindless_texture = GL_FALSE; GLboolean __GLEW_ARB_blend_func_extended = GL_FALSE; GLboolean __GLEW_ARB_buffer_storage = GL_FALSE; GLboolean __GLEW_ARB_cl_event = GL_FALSE; GLboolean __GLEW_ARB_clear_buffer_object = GL_FALSE; GLboolean __GLEW_ARB_clear_texture = GL_FALSE; GLboolean __GLEW_ARB_color_buffer_float = GL_FALSE; GLboolean __GLEW_ARB_compatibility = GL_FALSE; GLboolean __GLEW_ARB_compressed_texture_pixel_storage = GL_FALSE; GLboolean __GLEW_ARB_compute_shader = GL_FALSE; GLboolean __GLEW_ARB_compute_variable_group_size = GL_FALSE; GLboolean __GLEW_ARB_conservative_depth = GL_FALSE; GLboolean __GLEW_ARB_copy_buffer = GL_FALSE; GLboolean __GLEW_ARB_copy_image = GL_FALSE; GLboolean __GLEW_ARB_debug_output = GL_FALSE; GLboolean __GLEW_ARB_depth_buffer_float = GL_FALSE; GLboolean __GLEW_ARB_depth_clamp = GL_FALSE; GLboolean __GLEW_ARB_depth_texture = GL_FALSE; GLboolean __GLEW_ARB_draw_buffers = GL_FALSE; GLboolean __GLEW_ARB_draw_buffers_blend = GL_FALSE; GLboolean __GLEW_ARB_draw_elements_base_vertex = GL_FALSE; GLboolean __GLEW_ARB_draw_indirect = GL_FALSE; GLboolean __GLEW_ARB_draw_instanced = GL_FALSE; GLboolean __GLEW_ARB_enhanced_layouts = GL_FALSE; GLboolean __GLEW_ARB_explicit_attrib_location = GL_FALSE; GLboolean __GLEW_ARB_explicit_uniform_location = GL_FALSE; GLboolean __GLEW_ARB_fragment_coord_conventions = GL_FALSE; GLboolean __GLEW_ARB_fragment_layer_viewport = GL_FALSE; GLboolean __GLEW_ARB_fragment_program = GL_FALSE; GLboolean __GLEW_ARB_fragment_program_shadow = GL_FALSE; GLboolean __GLEW_ARB_fragment_shader = GL_FALSE; GLboolean __GLEW_ARB_framebuffer_no_attachments = GL_FALSE; GLboolean __GLEW_ARB_framebuffer_object = GL_FALSE; GLboolean __GLEW_ARB_framebuffer_sRGB = GL_FALSE; GLboolean __GLEW_ARB_geometry_shader4 = GL_FALSE; GLboolean __GLEW_ARB_get_program_binary = GL_FALSE; GLboolean __GLEW_ARB_gpu_shader5 = GL_FALSE; GLboolean __GLEW_ARB_gpu_shader_fp64 = GL_FALSE; GLboolean __GLEW_ARB_half_float_pixel = GL_FALSE; GLboolean __GLEW_ARB_half_float_vertex = GL_FALSE; GLboolean __GLEW_ARB_imaging = GL_FALSE; GLboolean __GLEW_ARB_indirect_parameters = GL_FALSE; GLboolean __GLEW_ARB_instanced_arrays = GL_FALSE; GLboolean __GLEW_ARB_internalformat_query = GL_FALSE; GLboolean __GLEW_ARB_internalformat_query2 = GL_FALSE; GLboolean __GLEW_ARB_invalidate_subdata = GL_FALSE; GLboolean __GLEW_ARB_map_buffer_alignment = GL_FALSE; GLboolean __GLEW_ARB_map_buffer_range = GL_FALSE; GLboolean __GLEW_ARB_matrix_palette = GL_FALSE; GLboolean __GLEW_ARB_multi_bind = GL_FALSE; GLboolean __GLEW_ARB_multi_draw_indirect = GL_FALSE; GLboolean __GLEW_ARB_multisample = GL_FALSE; GLboolean __GLEW_ARB_multitexture = GL_FALSE; GLboolean __GLEW_ARB_occlusion_query = GL_FALSE; GLboolean __GLEW_ARB_occlusion_query2 = GL_FALSE; GLboolean __GLEW_ARB_pixel_buffer_object = GL_FALSE; GLboolean __GLEW_ARB_point_parameters = GL_FALSE; GLboolean __GLEW_ARB_point_sprite = GL_FALSE; GLboolean __GLEW_ARB_program_interface_query = GL_FALSE; GLboolean __GLEW_ARB_provoking_vertex = GL_FALSE; GLboolean __GLEW_ARB_query_buffer_object = GL_FALSE; GLboolean __GLEW_ARB_robust_buffer_access_behavior = GL_FALSE; GLboolean __GLEW_ARB_robustness = GL_FALSE; GLboolean __GLEW_ARB_robustness_application_isolation = GL_FALSE; GLboolean __GLEW_ARB_robustness_share_group_isolation = GL_FALSE; GLboolean __GLEW_ARB_sample_shading = GL_FALSE; GLboolean __GLEW_ARB_sampler_objects = GL_FALSE; GLboolean __GLEW_ARB_seamless_cube_map = GL_FALSE; GLboolean __GLEW_ARB_seamless_cubemap_per_texture = GL_FALSE; GLboolean __GLEW_ARB_separate_shader_objects = GL_FALSE; GLboolean __GLEW_ARB_shader_atomic_counters = GL_FALSE; GLboolean __GLEW_ARB_shader_bit_encoding = GL_FALSE; GLboolean __GLEW_ARB_shader_draw_parameters = GL_FALSE; GLboolean __GLEW_ARB_shader_group_vote = GL_FALSE; GLboolean __GLEW_ARB_shader_image_load_store = GL_FALSE; GLboolean __GLEW_ARB_shader_image_size = GL_FALSE; GLboolean __GLEW_ARB_shader_objects = GL_FALSE; GLboolean __GLEW_ARB_shader_precision = GL_FALSE; GLboolean __GLEW_ARB_shader_stencil_export = GL_FALSE; GLboolean __GLEW_ARB_shader_storage_buffer_object = GL_FALSE; GLboolean __GLEW_ARB_shader_subroutine = GL_FALSE; GLboolean __GLEW_ARB_shader_texture_lod = GL_FALSE; GLboolean __GLEW_ARB_shading_language_100 = GL_FALSE; GLboolean __GLEW_ARB_shading_language_420pack = GL_FALSE; GLboolean __GLEW_ARB_shading_language_include = GL_FALSE; GLboolean __GLEW_ARB_shading_language_packing = GL_FALSE; GLboolean __GLEW_ARB_shadow = GL_FALSE; GLboolean __GLEW_ARB_shadow_ambient = GL_FALSE; GLboolean __GLEW_ARB_sparse_texture = GL_FALSE; GLboolean __GLEW_ARB_stencil_texturing = GL_FALSE; GLboolean __GLEW_ARB_sync = GL_FALSE; GLboolean __GLEW_ARB_tessellation_shader = GL_FALSE; GLboolean __GLEW_ARB_texture_border_clamp = GL_FALSE; GLboolean __GLEW_ARB_texture_buffer_object = GL_FALSE; GLboolean __GLEW_ARB_texture_buffer_object_rgb32 = GL_FALSE; GLboolean __GLEW_ARB_texture_buffer_range = GL_FALSE; GLboolean __GLEW_ARB_texture_compression = GL_FALSE; GLboolean __GLEW_ARB_texture_compression_bptc = GL_FALSE; GLboolean __GLEW_ARB_texture_compression_rgtc = GL_FALSE; GLboolean __GLEW_ARB_texture_cube_map = GL_FALSE; GLboolean __GLEW_ARB_texture_cube_map_array = GL_FALSE; GLboolean __GLEW_ARB_texture_env_add = GL_FALSE; GLboolean __GLEW_ARB_texture_env_combine = GL_FALSE; GLboolean __GLEW_ARB_texture_env_crossbar = GL_FALSE; GLboolean __GLEW_ARB_texture_env_dot3 = GL_FALSE; GLboolean __GLEW_ARB_texture_float = GL_FALSE; GLboolean __GLEW_ARB_texture_gather = GL_FALSE; GLboolean __GLEW_ARB_texture_mirror_clamp_to_edge = GL_FALSE; GLboolean __GLEW_ARB_texture_mirrored_repeat = GL_FALSE; GLboolean __GLEW_ARB_texture_multisample = GL_FALSE; GLboolean __GLEW_ARB_texture_non_power_of_two = GL_FALSE; GLboolean __GLEW_ARB_texture_query_levels = GL_FALSE; GLboolean __GLEW_ARB_texture_query_lod = GL_FALSE; GLboolean __GLEW_ARB_texture_rectangle = GL_FALSE; GLboolean __GLEW_ARB_texture_rg = GL_FALSE; GLboolean __GLEW_ARB_texture_rgb10_a2ui = GL_FALSE; GLboolean __GLEW_ARB_texture_stencil8 = GL_FALSE; GLboolean __GLEW_ARB_texture_storage = GL_FALSE; GLboolean __GLEW_ARB_texture_storage_multisample = GL_FALSE; GLboolean __GLEW_ARB_texture_swizzle = GL_FALSE; GLboolean __GLEW_ARB_texture_view = GL_FALSE; GLboolean __GLEW_ARB_timer_query = GL_FALSE; GLboolean __GLEW_ARB_transform_feedback2 = GL_FALSE; GLboolean __GLEW_ARB_transform_feedback3 = GL_FALSE; GLboolean __GLEW_ARB_transform_feedback_instanced = GL_FALSE; GLboolean __GLEW_ARB_transpose_matrix = GL_FALSE; GLboolean __GLEW_ARB_uniform_buffer_object = GL_FALSE; GLboolean __GLEW_ARB_vertex_array_bgra = GL_FALSE; GLboolean __GLEW_ARB_vertex_array_object = GL_FALSE; GLboolean __GLEW_ARB_vertex_attrib_64bit = GL_FALSE; GLboolean __GLEW_ARB_vertex_attrib_binding = GL_FALSE; GLboolean __GLEW_ARB_vertex_blend = GL_FALSE; GLboolean __GLEW_ARB_vertex_buffer_object = GL_FALSE; GLboolean __GLEW_ARB_vertex_program = GL_FALSE; GLboolean __GLEW_ARB_vertex_shader = GL_FALSE; GLboolean __GLEW_ARB_vertex_type_10f_11f_11f_rev = GL_FALSE; GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev = GL_FALSE; GLboolean __GLEW_ARB_viewport_array = GL_FALSE; GLboolean __GLEW_ARB_window_pos = GL_FALSE; GLboolean __GLEW_ATIX_point_sprites = GL_FALSE; GLboolean __GLEW_ATIX_texture_env_combine3 = GL_FALSE; GLboolean __GLEW_ATIX_texture_env_route = GL_FALSE; GLboolean __GLEW_ATIX_vertex_shader_output_point_size = GL_FALSE; GLboolean __GLEW_ATI_draw_buffers = GL_FALSE; GLboolean __GLEW_ATI_element_array = GL_FALSE; GLboolean __GLEW_ATI_envmap_bumpmap = GL_FALSE; GLboolean __GLEW_ATI_fragment_shader = GL_FALSE; GLboolean __GLEW_ATI_map_object_buffer = GL_FALSE; GLboolean __GLEW_ATI_meminfo = GL_FALSE; GLboolean __GLEW_ATI_pn_triangles = GL_FALSE; GLboolean __GLEW_ATI_separate_stencil = GL_FALSE; GLboolean __GLEW_ATI_shader_texture_lod = GL_FALSE; GLboolean __GLEW_ATI_text_fragment_shader = GL_FALSE; GLboolean __GLEW_ATI_texture_compression_3dc = GL_FALSE; GLboolean __GLEW_ATI_texture_env_combine3 = GL_FALSE; GLboolean __GLEW_ATI_texture_float = GL_FALSE; GLboolean __GLEW_ATI_texture_mirror_once = GL_FALSE; GLboolean __GLEW_ATI_vertex_array_object = GL_FALSE; GLboolean __GLEW_ATI_vertex_attrib_array_object = GL_FALSE; GLboolean __GLEW_ATI_vertex_streams = GL_FALSE; GLboolean __GLEW_EXT_422_pixels = GL_FALSE; GLboolean __GLEW_EXT_Cg_shader = GL_FALSE; GLboolean __GLEW_EXT_abgr = GL_FALSE; GLboolean __GLEW_EXT_bgra = GL_FALSE; GLboolean __GLEW_EXT_bindable_uniform = GL_FALSE; GLboolean __GLEW_EXT_blend_color = GL_FALSE; GLboolean __GLEW_EXT_blend_equation_separate = GL_FALSE; GLboolean __GLEW_EXT_blend_func_separate = GL_FALSE; GLboolean __GLEW_EXT_blend_logic_op = GL_FALSE; GLboolean __GLEW_EXT_blend_minmax = GL_FALSE; GLboolean __GLEW_EXT_blend_subtract = GL_FALSE; GLboolean __GLEW_EXT_clip_volume_hint = GL_FALSE; GLboolean __GLEW_EXT_cmyka = GL_FALSE; GLboolean __GLEW_EXT_color_subtable = GL_FALSE; GLboolean __GLEW_EXT_compiled_vertex_array = GL_FALSE; GLboolean __GLEW_EXT_convolution = GL_FALSE; GLboolean __GLEW_EXT_coordinate_frame = GL_FALSE; GLboolean __GLEW_EXT_copy_texture = GL_FALSE; GLboolean __GLEW_EXT_cull_vertex = GL_FALSE; GLboolean __GLEW_EXT_debug_marker = GL_FALSE; GLboolean __GLEW_EXT_depth_bounds_test = GL_FALSE; GLboolean __GLEW_EXT_direct_state_access = GL_FALSE; GLboolean __GLEW_EXT_draw_buffers2 = GL_FALSE; GLboolean __GLEW_EXT_draw_instanced = GL_FALSE; GLboolean __GLEW_EXT_draw_range_elements = GL_FALSE; GLboolean __GLEW_EXT_fog_coord = GL_FALSE; GLboolean __GLEW_EXT_fragment_lighting = GL_FALSE; GLboolean __GLEW_EXT_framebuffer_blit = GL_FALSE; GLboolean __GLEW_EXT_framebuffer_multisample = GL_FALSE; GLboolean __GLEW_EXT_framebuffer_multisample_blit_scaled = GL_FALSE; GLboolean __GLEW_EXT_framebuffer_object = GL_FALSE; GLboolean __GLEW_EXT_framebuffer_sRGB = GL_FALSE; GLboolean __GLEW_EXT_geometry_shader4 = GL_FALSE; GLboolean __GLEW_EXT_gpu_program_parameters = GL_FALSE; GLboolean __GLEW_EXT_gpu_shader4 = GL_FALSE; GLboolean __GLEW_EXT_histogram = GL_FALSE; GLboolean __GLEW_EXT_index_array_formats = GL_FALSE; GLboolean __GLEW_EXT_index_func = GL_FALSE; GLboolean __GLEW_EXT_index_material = GL_FALSE; GLboolean __GLEW_EXT_index_texture = GL_FALSE; GLboolean __GLEW_EXT_light_texture = GL_FALSE; GLboolean __GLEW_EXT_misc_attribute = GL_FALSE; GLboolean __GLEW_EXT_multi_draw_arrays = GL_FALSE; GLboolean __GLEW_EXT_multisample = GL_FALSE; GLboolean __GLEW_EXT_packed_depth_stencil = GL_FALSE; GLboolean __GLEW_EXT_packed_float = GL_FALSE; GLboolean __GLEW_EXT_packed_pixels = GL_FALSE; GLboolean __GLEW_EXT_paletted_texture = GL_FALSE; GLboolean __GLEW_EXT_pixel_buffer_object = GL_FALSE; GLboolean __GLEW_EXT_pixel_transform = GL_FALSE; GLboolean __GLEW_EXT_pixel_transform_color_table = GL_FALSE; GLboolean __GLEW_EXT_point_parameters = GL_FALSE; GLboolean __GLEW_EXT_polygon_offset = GL_FALSE; GLboolean __GLEW_EXT_provoking_vertex = GL_FALSE; GLboolean __GLEW_EXT_rescale_normal = GL_FALSE; GLboolean __GLEW_EXT_scene_marker = GL_FALSE; GLboolean __GLEW_EXT_secondary_color = GL_FALSE; GLboolean __GLEW_EXT_separate_shader_objects = GL_FALSE; GLboolean __GLEW_EXT_separate_specular_color = GL_FALSE; GLboolean __GLEW_EXT_shader_image_load_store = GL_FALSE; GLboolean __GLEW_EXT_shadow_funcs = GL_FALSE; GLboolean __GLEW_EXT_shared_texture_palette = GL_FALSE; GLboolean __GLEW_EXT_stencil_clear_tag = GL_FALSE; GLboolean __GLEW_EXT_stencil_two_side = GL_FALSE; GLboolean __GLEW_EXT_stencil_wrap = GL_FALSE; GLboolean __GLEW_EXT_subtexture = GL_FALSE; GLboolean __GLEW_EXT_texture = GL_FALSE; GLboolean __GLEW_EXT_texture3D = GL_FALSE; GLboolean __GLEW_EXT_texture_array = GL_FALSE; GLboolean __GLEW_EXT_texture_buffer_object = GL_FALSE; GLboolean __GLEW_EXT_texture_compression_dxt1 = GL_FALSE; GLboolean __GLEW_EXT_texture_compression_latc = GL_FALSE; GLboolean __GLEW_EXT_texture_compression_rgtc = GL_FALSE; GLboolean __GLEW_EXT_texture_compression_s3tc = GL_FALSE; GLboolean __GLEW_EXT_texture_cube_map = GL_FALSE; GLboolean __GLEW_EXT_texture_edge_clamp = GL_FALSE; GLboolean __GLEW_EXT_texture_env = GL_FALSE; GLboolean __GLEW_EXT_texture_env_add = GL_FALSE; GLboolean __GLEW_EXT_texture_env_combine = GL_FALSE; GLboolean __GLEW_EXT_texture_env_dot3 = GL_FALSE; GLboolean __GLEW_EXT_texture_filter_anisotropic = GL_FALSE; GLboolean __GLEW_EXT_texture_integer = GL_FALSE; GLboolean __GLEW_EXT_texture_lod_bias = GL_FALSE; GLboolean __GLEW_EXT_texture_mirror_clamp = GL_FALSE; GLboolean __GLEW_EXT_texture_object = GL_FALSE; GLboolean __GLEW_EXT_texture_perturb_normal = GL_FALSE; GLboolean __GLEW_EXT_texture_rectangle = GL_FALSE; GLboolean __GLEW_EXT_texture_sRGB = GL_FALSE; GLboolean __GLEW_EXT_texture_sRGB_decode = GL_FALSE; GLboolean __GLEW_EXT_texture_shared_exponent = GL_FALSE; GLboolean __GLEW_EXT_texture_snorm = GL_FALSE; GLboolean __GLEW_EXT_texture_swizzle = GL_FALSE; GLboolean __GLEW_EXT_timer_query = GL_FALSE; GLboolean __GLEW_EXT_transform_feedback = GL_FALSE; GLboolean __GLEW_EXT_vertex_array = GL_FALSE; GLboolean __GLEW_EXT_vertex_array_bgra = GL_FALSE; GLboolean __GLEW_EXT_vertex_attrib_64bit = GL_FALSE; GLboolean __GLEW_EXT_vertex_shader = GL_FALSE; GLboolean __GLEW_EXT_vertex_weighting = GL_FALSE; GLboolean __GLEW_EXT_x11_sync_object = GL_FALSE; GLboolean __GLEW_GREMEDY_frame_terminator = GL_FALSE; GLboolean __GLEW_GREMEDY_string_marker = GL_FALSE; GLboolean __GLEW_HP_convolution_border_modes = GL_FALSE; GLboolean __GLEW_HP_image_transform = GL_FALSE; GLboolean __GLEW_HP_occlusion_test = GL_FALSE; GLboolean __GLEW_HP_texture_lighting = GL_FALSE; GLboolean __GLEW_IBM_cull_vertex = GL_FALSE; GLboolean __GLEW_IBM_multimode_draw_arrays = GL_FALSE; GLboolean __GLEW_IBM_rasterpos_clip = GL_FALSE; GLboolean __GLEW_IBM_static_data = GL_FALSE; GLboolean __GLEW_IBM_texture_mirrored_repeat = GL_FALSE; GLboolean __GLEW_IBM_vertex_array_lists = GL_FALSE; GLboolean __GLEW_INGR_color_clamp = GL_FALSE; GLboolean __GLEW_INGR_interlace_read = GL_FALSE; GLboolean __GLEW_INTEL_map_texture = GL_FALSE; GLboolean __GLEW_INTEL_parallel_arrays = GL_FALSE; GLboolean __GLEW_INTEL_texture_scissor = GL_FALSE; GLboolean __GLEW_KHR_debug = GL_FALSE; GLboolean __GLEW_KHR_texture_compression_astc_ldr = GL_FALSE; GLboolean __GLEW_KTX_buffer_region = GL_FALSE; GLboolean __GLEW_MESAX_texture_stack = GL_FALSE; GLboolean __GLEW_MESA_pack_invert = GL_FALSE; GLboolean __GLEW_MESA_resize_buffers = GL_FALSE; GLboolean __GLEW_MESA_window_pos = GL_FALSE; GLboolean __GLEW_MESA_ycbcr_texture = GL_FALSE; GLboolean __GLEW_NVX_conditional_render = GL_FALSE; GLboolean __GLEW_NVX_gpu_memory_info = GL_FALSE; GLboolean __GLEW_NV_bindless_multi_draw_indirect = GL_FALSE; GLboolean __GLEW_NV_bindless_texture = GL_FALSE; GLboolean __GLEW_NV_blend_equation_advanced = GL_FALSE; GLboolean __GLEW_NV_blend_equation_advanced_coherent = GL_FALSE; GLboolean __GLEW_NV_blend_square = GL_FALSE; GLboolean __GLEW_NV_compute_program5 = GL_FALSE; GLboolean __GLEW_NV_conditional_render = GL_FALSE; GLboolean __GLEW_NV_copy_depth_to_color = GL_FALSE; GLboolean __GLEW_NV_copy_image = GL_FALSE; GLboolean __GLEW_NV_deep_texture3D = GL_FALSE; GLboolean __GLEW_NV_depth_buffer_float = GL_FALSE; GLboolean __GLEW_NV_depth_clamp = GL_FALSE; GLboolean __GLEW_NV_depth_range_unclamped = GL_FALSE; GLboolean __GLEW_NV_draw_texture = GL_FALSE; GLboolean __GLEW_NV_evaluators = GL_FALSE; GLboolean __GLEW_NV_explicit_multisample = GL_FALSE; GLboolean __GLEW_NV_fence = GL_FALSE; GLboolean __GLEW_NV_float_buffer = GL_FALSE; GLboolean __GLEW_NV_fog_distance = GL_FALSE; GLboolean __GLEW_NV_fragment_program = GL_FALSE; GLboolean __GLEW_NV_fragment_program2 = GL_FALSE; GLboolean __GLEW_NV_fragment_program4 = GL_FALSE; GLboolean __GLEW_NV_fragment_program_option = GL_FALSE; GLboolean __GLEW_NV_framebuffer_multisample_coverage = GL_FALSE; GLboolean __GLEW_NV_geometry_program4 = GL_FALSE; GLboolean __GLEW_NV_geometry_shader4 = GL_FALSE; GLboolean __GLEW_NV_gpu_program4 = GL_FALSE; GLboolean __GLEW_NV_gpu_program5 = GL_FALSE; GLboolean __GLEW_NV_gpu_program5_mem_extended = GL_FALSE; GLboolean __GLEW_NV_gpu_program_fp64 = GL_FALSE; GLboolean __GLEW_NV_gpu_shader5 = GL_FALSE; GLboolean __GLEW_NV_half_float = GL_FALSE; GLboolean __GLEW_NV_light_max_exponent = GL_FALSE; GLboolean __GLEW_NV_multisample_coverage = GL_FALSE; GLboolean __GLEW_NV_multisample_filter_hint = GL_FALSE; GLboolean __GLEW_NV_occlusion_query = GL_FALSE; GLboolean __GLEW_NV_packed_depth_stencil = GL_FALSE; GLboolean __GLEW_NV_parameter_buffer_object = GL_FALSE; GLboolean __GLEW_NV_parameter_buffer_object2 = GL_FALSE; GLboolean __GLEW_NV_path_rendering = GL_FALSE; GLboolean __GLEW_NV_pixel_data_range = GL_FALSE; GLboolean __GLEW_NV_point_sprite = GL_FALSE; GLboolean __GLEW_NV_present_video = GL_FALSE; GLboolean __GLEW_NV_primitive_restart = GL_FALSE; GLboolean __GLEW_NV_register_combiners = GL_FALSE; GLboolean __GLEW_NV_register_combiners2 = GL_FALSE; GLboolean __GLEW_NV_shader_atomic_counters = GL_FALSE; GLboolean __GLEW_NV_shader_atomic_float = GL_FALSE; GLboolean __GLEW_NV_shader_buffer_load = GL_FALSE; GLboolean __GLEW_NV_shader_storage_buffer_object = GL_FALSE; GLboolean __GLEW_NV_tessellation_program5 = GL_FALSE; GLboolean __GLEW_NV_texgen_emboss = GL_FALSE; GLboolean __GLEW_NV_texgen_reflection = GL_FALSE; GLboolean __GLEW_NV_texture_barrier = GL_FALSE; GLboolean __GLEW_NV_texture_compression_vtc = GL_FALSE; GLboolean __GLEW_NV_texture_env_combine4 = GL_FALSE; GLboolean __GLEW_NV_texture_expand_normal = GL_FALSE; GLboolean __GLEW_NV_texture_multisample = GL_FALSE; GLboolean __GLEW_NV_texture_rectangle = GL_FALSE; GLboolean __GLEW_NV_texture_shader = GL_FALSE; GLboolean __GLEW_NV_texture_shader2 = GL_FALSE; GLboolean __GLEW_NV_texture_shader3 = GL_FALSE; GLboolean __GLEW_NV_transform_feedback = GL_FALSE; GLboolean __GLEW_NV_transform_feedback2 = GL_FALSE; GLboolean __GLEW_NV_vdpau_interop = GL_FALSE; GLboolean __GLEW_NV_vertex_array_range = GL_FALSE; GLboolean __GLEW_NV_vertex_array_range2 = GL_FALSE; GLboolean __GLEW_NV_vertex_attrib_integer_64bit = GL_FALSE; GLboolean __GLEW_NV_vertex_buffer_unified_memory = GL_FALSE; GLboolean __GLEW_NV_vertex_program = GL_FALSE; GLboolean __GLEW_NV_vertex_program1_1 = GL_FALSE; GLboolean __GLEW_NV_vertex_program2 = GL_FALSE; GLboolean __GLEW_NV_vertex_program2_option = GL_FALSE; GLboolean __GLEW_NV_vertex_program3 = GL_FALSE; GLboolean __GLEW_NV_vertex_program4 = GL_FALSE; GLboolean __GLEW_NV_video_capture = GL_FALSE; GLboolean __GLEW_OES_byte_coordinates = GL_FALSE; GLboolean __GLEW_OES_compressed_paletted_texture = GL_FALSE; GLboolean __GLEW_OES_read_format = GL_FALSE; GLboolean __GLEW_OES_single_precision = GL_FALSE; GLboolean __GLEW_OML_interlace = GL_FALSE; GLboolean __GLEW_OML_resample = GL_FALSE; GLboolean __GLEW_OML_subsample = GL_FALSE; GLboolean __GLEW_PGI_misc_hints = GL_FALSE; GLboolean __GLEW_PGI_vertex_hints = GL_FALSE; GLboolean __GLEW_REGAL_ES1_0_compatibility = GL_FALSE; GLboolean __GLEW_REGAL_ES1_1_compatibility = GL_FALSE; GLboolean __GLEW_REGAL_enable = GL_FALSE; GLboolean __GLEW_REGAL_error_string = GL_FALSE; GLboolean __GLEW_REGAL_extension_query = GL_FALSE; GLboolean __GLEW_REGAL_log = GL_FALSE; GLboolean __GLEW_REND_screen_coordinates = GL_FALSE; GLboolean __GLEW_S3_s3tc = GL_FALSE; GLboolean __GLEW_SGIS_color_range = GL_FALSE; GLboolean __GLEW_SGIS_detail_texture = GL_FALSE; GLboolean __GLEW_SGIS_fog_function = GL_FALSE; GLboolean __GLEW_SGIS_generate_mipmap = GL_FALSE; GLboolean __GLEW_SGIS_multisample = GL_FALSE; GLboolean __GLEW_SGIS_pixel_texture = GL_FALSE; GLboolean __GLEW_SGIS_point_line_texgen = GL_FALSE; GLboolean __GLEW_SGIS_sharpen_texture = GL_FALSE; GLboolean __GLEW_SGIS_texture4D = GL_FALSE; GLboolean __GLEW_SGIS_texture_border_clamp = GL_FALSE; GLboolean __GLEW_SGIS_texture_edge_clamp = GL_FALSE; GLboolean __GLEW_SGIS_texture_filter4 = GL_FALSE; GLboolean __GLEW_SGIS_texture_lod = GL_FALSE; GLboolean __GLEW_SGIS_texture_select = GL_FALSE; GLboolean __GLEW_SGIX_async = GL_FALSE; GLboolean __GLEW_SGIX_async_histogram = GL_FALSE; GLboolean __GLEW_SGIX_async_pixel = GL_FALSE; GLboolean __GLEW_SGIX_blend_alpha_minmax = GL_FALSE; GLboolean __GLEW_SGIX_clipmap = GL_FALSE; GLboolean __GLEW_SGIX_convolution_accuracy = GL_FALSE; GLboolean __GLEW_SGIX_depth_texture = GL_FALSE; GLboolean __GLEW_SGIX_flush_raster = GL_FALSE; GLboolean __GLEW_SGIX_fog_offset = GL_FALSE; GLboolean __GLEW_SGIX_fog_texture = GL_FALSE; GLboolean __GLEW_SGIX_fragment_specular_lighting = GL_FALSE; GLboolean __GLEW_SGIX_framezoom = GL_FALSE; GLboolean __GLEW_SGIX_interlace = GL_FALSE; GLboolean __GLEW_SGIX_ir_instrument1 = GL_FALSE; GLboolean __GLEW_SGIX_list_priority = GL_FALSE; GLboolean __GLEW_SGIX_pixel_texture = GL_FALSE; GLboolean __GLEW_SGIX_pixel_texture_bits = GL_FALSE; GLboolean __GLEW_SGIX_reference_plane = GL_FALSE; GLboolean __GLEW_SGIX_resample = GL_FALSE; GLboolean __GLEW_SGIX_shadow = GL_FALSE; GLboolean __GLEW_SGIX_shadow_ambient = GL_FALSE; GLboolean __GLEW_SGIX_sprite = GL_FALSE; GLboolean __GLEW_SGIX_tag_sample_buffer = GL_FALSE; GLboolean __GLEW_SGIX_texture_add_env = GL_FALSE; GLboolean __GLEW_SGIX_texture_coordinate_clamp = GL_FALSE; GLboolean __GLEW_SGIX_texture_lod_bias = GL_FALSE; GLboolean __GLEW_SGIX_texture_multi_buffer = GL_FALSE; GLboolean __GLEW_SGIX_texture_range = GL_FALSE; GLboolean __GLEW_SGIX_texture_scale_bias = GL_FALSE; GLboolean __GLEW_SGIX_vertex_preclip = GL_FALSE; GLboolean __GLEW_SGIX_vertex_preclip_hint = GL_FALSE; GLboolean __GLEW_SGIX_ycrcb = GL_FALSE; GLboolean __GLEW_SGI_color_matrix = GL_FALSE; GLboolean __GLEW_SGI_color_table = GL_FALSE; GLboolean __GLEW_SGI_texture_color_table = GL_FALSE; GLboolean __GLEW_SUNX_constant_data = GL_FALSE; GLboolean __GLEW_SUN_convolution_border_modes = GL_FALSE; GLboolean __GLEW_SUN_global_alpha = GL_FALSE; GLboolean __GLEW_SUN_mesh_array = GL_FALSE; GLboolean __GLEW_SUN_read_video_pixels = GL_FALSE; GLboolean __GLEW_SUN_slice_accum = GL_FALSE; GLboolean __GLEW_SUN_triangle_list = GL_FALSE; GLboolean __GLEW_SUN_vertex = GL_FALSE; GLboolean __GLEW_WIN_phong_shading = GL_FALSE; GLboolean __GLEW_WIN_specular_fog = GL_FALSE; GLboolean __GLEW_WIN_swap_hint = GL_FALSE; #endif /* !GLEW_MX */ #ifdef GL_VERSION_1_2 static GLboolean _glewInit_GL_VERSION_1_2 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage3D")) == NULL) || r; r = ((glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElements")) == NULL) || r; r = ((glTexImage3D = (PFNGLTEXIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexImage3D")) == NULL) || r; r = ((glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage3D")) == NULL) || r; return r; } #endif /* GL_VERSION_1_2 */ #ifdef GL_VERSION_1_2_1 #endif /* GL_VERSION_1_2_1 */ #ifdef GL_VERSION_1_3 static GLboolean _glewInit_GL_VERSION_1_3 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glActiveTexture = (PFNGLACTIVETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glActiveTexture")) == NULL) || r; r = ((glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glClientActiveTexture")) == NULL) || r; r = ((glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage1D")) == NULL) || r; r = ((glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage2D")) == NULL) || r; r = ((glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage3D")) == NULL) || r; r = ((glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage1D")) == NULL) || r; r = ((glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage2D")) == NULL) || r; r = ((glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage3D")) == NULL) || r; r = ((glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTexImage")) == NULL) || r; r = ((glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixd")) == NULL) || r; r = ((glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixf")) == NULL) || r; r = ((glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixd")) == NULL) || r; r = ((glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixf")) == NULL) || r; r = ((glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1d")) == NULL) || r; r = ((glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dv")) == NULL) || r; r = ((glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1f")) == NULL) || r; r = ((glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fv")) == NULL) || r; r = ((glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1i")) == NULL) || r; r = ((glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1iv")) == NULL) || r; r = ((glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1s")) == NULL) || r; r = ((glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1sv")) == NULL) || r; r = ((glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2d")) == NULL) || r; r = ((glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dv")) == NULL) || r; r = ((glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2f")) == NULL) || r; r = ((glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fv")) == NULL) || r; r = ((glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2i")) == NULL) || r; r = ((glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2iv")) == NULL) || r; r = ((glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2s")) == NULL) || r; r = ((glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2sv")) == NULL) || r; r = ((glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3d")) == NULL) || r; r = ((glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dv")) == NULL) || r; r = ((glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3f")) == NULL) || r; r = ((glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fv")) == NULL) || r; r = ((glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3i")) == NULL) || r; r = ((glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3iv")) == NULL) || r; r = ((glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3s")) == NULL) || r; r = ((glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3sv")) == NULL) || r; r = ((glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4d")) == NULL) || r; r = ((glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dv")) == NULL) || r; r = ((glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4f")) == NULL) || r; r = ((glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fv")) == NULL) || r; r = ((glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4i")) == NULL) || r; r = ((glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4iv")) == NULL) || r; r = ((glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4s")) == NULL) || r; r = ((glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4sv")) == NULL) || r; r = ((glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)glewGetProcAddress((const GLubyte*)"glSampleCoverage")) == NULL) || r; return r; } #endif /* GL_VERSION_1_3 */ #ifdef GL_VERSION_1_4 static GLboolean _glewInit_GL_VERSION_1_4 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendColor = (PFNGLBLENDCOLORPROC)glewGetProcAddress((const GLubyte*)"glBlendColor")) == NULL) || r; r = ((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)"glBlendEquation")) == NULL) || r; r = ((glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparate")) == NULL) || r; r = ((glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointer")) == NULL) || r; r = ((glFogCoordd = (PFNGLFOGCOORDDPROC)glewGetProcAddress((const GLubyte*)"glFogCoordd")) == NULL) || r; r = ((glFogCoorddv = (PFNGLFOGCOORDDVPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddv")) == NULL) || r; r = ((glFogCoordf = (PFNGLFOGCOORDFPROC)glewGetProcAddress((const GLubyte*)"glFogCoordf")) == NULL) || r; r = ((glFogCoordfv = (PFNGLFOGCOORDFVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfv")) == NULL) || r; r = ((glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArrays")) == NULL) || r; r = ((glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElements")) == NULL) || r; r = ((glPointParameterf = (PFNGLPOINTPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glPointParameterf")) == NULL) || r; r = ((glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfv")) == NULL) || r; r = ((glPointParameteri = (PFNGLPOINTPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glPointParameteri")) == NULL) || r; r = ((glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glPointParameteriv")) == NULL) || r; r = ((glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3b")) == NULL) || r; r = ((glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bv")) == NULL) || r; r = ((glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3d")) == NULL) || r; r = ((glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dv")) == NULL) || r; r = ((glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3f")) == NULL) || r; r = ((glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fv")) == NULL) || r; r = ((glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3i")) == NULL) || r; r = ((glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3iv")) == NULL) || r; r = ((glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3s")) == NULL) || r; r = ((glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3sv")) == NULL) || r; r = ((glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ub")) == NULL) || r; r = ((glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubv")) == NULL) || r; r = ((glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ui")) == NULL) || r; r = ((glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uiv")) == NULL) || r; r = ((glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3us")) == NULL) || r; r = ((glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usv")) == NULL) || r; r = ((glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointer")) == NULL) || r; r = ((glWindowPos2d = (PFNGLWINDOWPOS2DPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2d")) == NULL) || r; r = ((glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dv")) == NULL) || r; r = ((glWindowPos2f = (PFNGLWINDOWPOS2FPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2f")) == NULL) || r; r = ((glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fv")) == NULL) || r; r = ((glWindowPos2i = (PFNGLWINDOWPOS2IPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2i")) == NULL) || r; r = ((glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iv")) == NULL) || r; r = ((glWindowPos2s = (PFNGLWINDOWPOS2SPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2s")) == NULL) || r; r = ((glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sv")) == NULL) || r; r = ((glWindowPos3d = (PFNGLWINDOWPOS3DPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3d")) == NULL) || r; r = ((glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dv")) == NULL) || r; r = ((glWindowPos3f = (PFNGLWINDOWPOS3FPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3f")) == NULL) || r; r = ((glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fv")) == NULL) || r; r = ((glWindowPos3i = (PFNGLWINDOWPOS3IPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3i")) == NULL) || r; r = ((glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iv")) == NULL) || r; r = ((glWindowPos3s = (PFNGLWINDOWPOS3SPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3s")) == NULL) || r; r = ((glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sv")) == NULL) || r; return r; } #endif /* GL_VERSION_1_4 */ #ifdef GL_VERSION_1_5 static GLboolean _glewInit_GL_VERSION_1_5 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginQuery = (PFNGLBEGINQUERYPROC)glewGetProcAddress((const GLubyte*)"glBeginQuery")) == NULL) || r; r = ((glBindBuffer = (PFNGLBINDBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindBuffer")) == NULL) || r; r = ((glBufferData = (PFNGLBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glBufferData")) == NULL) || r; r = ((glBufferSubData = (PFNGLBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glBufferSubData")) == NULL) || r; r = ((glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteBuffers")) == NULL) || r; r = ((glDeleteQueries = (PFNGLDELETEQUERIESPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueries")) == NULL) || r; r = ((glEndQuery = (PFNGLENDQUERYPROC)glewGetProcAddress((const GLubyte*)"glEndQuery")) == NULL) || r; r = ((glGenBuffers = (PFNGLGENBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenBuffers")) == NULL) || r; r = ((glGenQueries = (PFNGLGENQUERIESPROC)glewGetProcAddress((const GLubyte*)"glGenQueries")) == NULL) || r; r = ((glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameteriv")) == NULL) || r; r = ((glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferPointerv")) == NULL) || r; r = ((glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glGetBufferSubData")) == NULL) || r; r = ((glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectiv")) == NULL) || r; r = ((glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuiv")) == NULL) || r; r = ((glGetQueryiv = (PFNGLGETQUERYIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryiv")) == NULL) || r; r = ((glIsBuffer = (PFNGLISBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsBuffer")) == NULL) || r; r = ((glIsQuery = (PFNGLISQUERYPROC)glewGetProcAddress((const GLubyte*)"glIsQuery")) == NULL) || r; r = ((glMapBuffer = (PFNGLMAPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glMapBuffer")) == NULL) || r; r = ((glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glUnmapBuffer")) == NULL) || r; return r; } #endif /* GL_VERSION_1_5 */ #ifdef GL_VERSION_2_0 static GLboolean _glewInit_GL_VERSION_2_0 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAttachShader = (PFNGLATTACHSHADERPROC)glewGetProcAddress((const GLubyte*)"glAttachShader")) == NULL) || r; r = ((glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glBindAttribLocation")) == NULL) || r; r = ((glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparate")) == NULL) || r; r = ((glCompileShader = (PFNGLCOMPILESHADERPROC)glewGetProcAddress((const GLubyte*)"glCompileShader")) == NULL) || r; r = ((glCreateProgram = (PFNGLCREATEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glCreateProgram")) == NULL) || r; r = ((glCreateShader = (PFNGLCREATESHADERPROC)glewGetProcAddress((const GLubyte*)"glCreateShader")) == NULL) || r; r = ((glDeleteProgram = (PFNGLDELETEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgram")) == NULL) || r; r = ((glDeleteShader = (PFNGLDELETESHADERPROC)glewGetProcAddress((const GLubyte*)"glDeleteShader")) == NULL) || r; r = ((glDetachShader = (PFNGLDETACHSHADERPROC)glewGetProcAddress((const GLubyte*)"glDetachShader")) == NULL) || r; r = ((glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribArray")) == NULL) || r; r = ((glDrawBuffers = (PFNGLDRAWBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffers")) == NULL) || r; r = ((glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribArray")) == NULL) || r; r = ((glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAttrib")) == NULL) || r; r = ((glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniform")) == NULL) || r; r = ((glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)glewGetProcAddress((const GLubyte*)"glGetAttachedShaders")) == NULL) || r; r = ((glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetAttribLocation")) == NULL) || r; r = ((glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetProgramInfoLog")) == NULL) || r; r = ((glGetProgramiv = (PFNGLGETPROGRAMIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramiv")) == NULL) || r; r = ((glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetShaderInfoLog")) == NULL) || r; r = ((glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)glewGetProcAddress((const GLubyte*)"glGetShaderSource")) == NULL) || r; r = ((glGetShaderiv = (PFNGLGETSHADERIVPROC)glewGetProcAddress((const GLubyte*)"glGetShaderiv")) == NULL) || r; r = ((glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetUniformLocation")) == NULL) || r; r = ((glGetUniformfv = (PFNGLGETUNIFORMFVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformfv")) == NULL) || r; r = ((glGetUniformiv = (PFNGLGETUNIFORMIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformiv")) == NULL) || r; r = ((glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointerv")) == NULL) || r; r = ((glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdv")) == NULL) || r; r = ((glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfv")) == NULL) || r; r = ((glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribiv")) == NULL) || r; r = ((glIsProgram = (PFNGLISPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glIsProgram")) == NULL) || r; r = ((glIsShader = (PFNGLISSHADERPROC)glewGetProcAddress((const GLubyte*)"glIsShader")) == NULL) || r; r = ((glLinkProgram = (PFNGLLINKPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glLinkProgram")) == NULL) || r; r = ((glShaderSource = (PFNGLSHADERSOURCEPROC)glewGetProcAddress((const GLubyte*)"glShaderSource")) == NULL) || r; r = ((glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilFuncSeparate")) == NULL) || r; r = ((glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilMaskSeparate")) == NULL) || r; r = ((glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilOpSeparate")) == NULL) || r; r = ((glUniform1f = (PFNGLUNIFORM1FPROC)glewGetProcAddress((const GLubyte*)"glUniform1f")) == NULL) || r; r = ((glUniform1fv = (PFNGLUNIFORM1FVPROC)glewGetProcAddress((const GLubyte*)"glUniform1fv")) == NULL) || r; r = ((glUniform1i = (PFNGLUNIFORM1IPROC)glewGetProcAddress((const GLubyte*)"glUniform1i")) == NULL) || r; r = ((glUniform1iv = (PFNGLUNIFORM1IVPROC)glewGetProcAddress((const GLubyte*)"glUniform1iv")) == NULL) || r; r = ((glUniform2f = (PFNGLUNIFORM2FPROC)glewGetProcAddress((const GLubyte*)"glUniform2f")) == NULL) || r; r = ((glUniform2fv = (PFNGLUNIFORM2FVPROC)glewGetProcAddress((const GLubyte*)"glUniform2fv")) == NULL) || r; r = ((glUniform2i = (PFNGLUNIFORM2IPROC)glewGetProcAddress((const GLubyte*)"glUniform2i")) == NULL) || r; r = ((glUniform2iv = (PFNGLUNIFORM2IVPROC)glewGetProcAddress((const GLubyte*)"glUniform2iv")) == NULL) || r; r = ((glUniform3f = (PFNGLUNIFORM3FPROC)glewGetProcAddress((const GLubyte*)"glUniform3f")) == NULL) || r; r = ((glUniform3fv = (PFNGLUNIFORM3FVPROC)glewGetProcAddress((const GLubyte*)"glUniform3fv")) == NULL) || r; r = ((glUniform3i = (PFNGLUNIFORM3IPROC)glewGetProcAddress((const GLubyte*)"glUniform3i")) == NULL) || r; r = ((glUniform3iv = (PFNGLUNIFORM3IVPROC)glewGetProcAddress((const GLubyte*)"glUniform3iv")) == NULL) || r; r = ((glUniform4f = (PFNGLUNIFORM4FPROC)glewGetProcAddress((const GLubyte*)"glUniform4f")) == NULL) || r; r = ((glUniform4fv = (PFNGLUNIFORM4FVPROC)glewGetProcAddress((const GLubyte*)"glUniform4fv")) == NULL) || r; r = ((glUniform4i = (PFNGLUNIFORM4IPROC)glewGetProcAddress((const GLubyte*)"glUniform4i")) == NULL) || r; r = ((glUniform4iv = (PFNGLUNIFORM4IVPROC)glewGetProcAddress((const GLubyte*)"glUniform4iv")) == NULL) || r; r = ((glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2fv")) == NULL) || r; r = ((glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3fv")) == NULL) || r; r = ((glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4fv")) == NULL) || r; r = ((glUseProgram = (PFNGLUSEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glUseProgram")) == NULL) || r; r = ((glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glValidateProgram")) == NULL) || r; r = ((glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1d")) == NULL) || r; r = ((glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dv")) == NULL) || r; r = ((glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1f")) == NULL) || r; r = ((glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fv")) == NULL) || r; r = ((glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1s")) == NULL) || r; r = ((glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sv")) == NULL) || r; r = ((glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2d")) == NULL) || r; r = ((glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dv")) == NULL) || r; r = ((glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2f")) == NULL) || r; r = ((glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fv")) == NULL) || r; r = ((glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2s")) == NULL) || r; r = ((glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sv")) == NULL) || r; r = ((glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3d")) == NULL) || r; r = ((glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dv")) == NULL) || r; r = ((glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3f")) == NULL) || r; r = ((glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fv")) == NULL) || r; r = ((glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3s")) == NULL) || r; r = ((glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sv")) == NULL) || r; r = ((glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nbv")) == NULL) || r; r = ((glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Niv")) == NULL) || r; r = ((glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nsv")) == NULL) || r; r = ((glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nub")) == NULL) || r; r = ((glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nubv")) == NULL) || r; r = ((glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nuiv")) == NULL) || r; r = ((glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nusv")) == NULL) || r; r = ((glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4bv")) == NULL) || r; r = ((glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4d")) == NULL) || r; r = ((glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dv")) == NULL) || r; r = ((glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4f")) == NULL) || r; r = ((glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fv")) == NULL) || r; r = ((glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4iv")) == NULL) || r; r = ((glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4s")) == NULL) || r; r = ((glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sv")) == NULL) || r; r = ((glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubv")) == NULL) || r; r = ((glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4uiv")) == NULL) || r; r = ((glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4usv")) == NULL) || r; r = ((glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointer")) == NULL) || r; return r; } #endif /* GL_VERSION_2_0 */ #ifdef GL_VERSION_2_1 static GLboolean _glewInit_GL_VERSION_2_1 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x3fv")) == NULL) || r; r = ((glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x4fv")) == NULL) || r; r = ((glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x2fv")) == NULL) || r; r = ((glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x4fv")) == NULL) || r; r = ((glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x2fv")) == NULL) || r; r = ((glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x3fv")) == NULL) || r; return r; } #endif /* GL_VERSION_2_1 */ #ifdef GL_VERSION_3_0 static GLboolean _glewInit_GL_VERSION_3_0 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRender")) == NULL) || r; r = ((glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedback")) == NULL) || r; r = ((glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocation")) == NULL) || r; r = ((glClampColor = (PFNGLCLAMPCOLORPROC)glewGetProcAddress((const GLubyte*)"glClampColor")) == NULL) || r; r = ((glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)glewGetProcAddress((const GLubyte*)"glClearBufferfi")) == NULL) || r; r = ((glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferfv")) == NULL) || r; r = ((glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferiv")) == NULL) || r; r = ((glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferuiv")) == NULL) || r; r = ((glColorMaski = (PFNGLCOLORMASKIPROC)glewGetProcAddress((const GLubyte*)"glColorMaski")) == NULL) || r; r = ((glDisablei = (PFNGLDISABLEIPROC)glewGetProcAddress((const GLubyte*)"glDisablei")) == NULL) || r; r = ((glEnablei = (PFNGLENABLEIPROC)glewGetProcAddress((const GLubyte*)"glEnablei")) == NULL) || r; r = ((glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRender")) == NULL) || r; r = ((glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedback")) == NULL) || r; r = ((glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)glewGetProcAddress((const GLubyte*)"glGetBooleani_v")) == NULL) || r; r = ((glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataLocation")) == NULL) || r; r = ((glGetStringi = (PFNGLGETSTRINGIPROC)glewGetProcAddress((const GLubyte*)"glGetStringi")) == NULL) || r; r = ((glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIiv")) == NULL) || r; r = ((glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIuiv")) == NULL) || r; r = ((glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVarying")) == NULL) || r; r = ((glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformuiv")) == NULL) || r; r = ((glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIiv")) == NULL) || r; r = ((glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIuiv")) == NULL) || r; r = ((glIsEnabledi = (PFNGLISENABLEDIPROC)glewGetProcAddress((const GLubyte*)"glIsEnabledi")) == NULL) || r; r = ((glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIiv")) == NULL) || r; r = ((glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIuiv")) == NULL) || r; r = ((glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryings")) == NULL) || r; r = ((glUniform1ui = (PFNGLUNIFORM1UIPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui")) == NULL) || r; r = ((glUniform1uiv = (PFNGLUNIFORM1UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform1uiv")) == NULL) || r; r = ((glUniform2ui = (PFNGLUNIFORM2UIPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui")) == NULL) || r; r = ((glUniform2uiv = (PFNGLUNIFORM2UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform2uiv")) == NULL) || r; r = ((glUniform3ui = (PFNGLUNIFORM3UIPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui")) == NULL) || r; r = ((glUniform3uiv = (PFNGLUNIFORM3UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform3uiv")) == NULL) || r; r = ((glUniform4ui = (PFNGLUNIFORM4UIPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui")) == NULL) || r; r = ((glUniform4uiv = (PFNGLUNIFORM4UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform4uiv")) == NULL) || r; r = ((glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1i")) == NULL) || r; r = ((glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1iv")) == NULL) || r; r = ((glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1ui")) == NULL) || r; r = ((glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uiv")) == NULL) || r; r = ((glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2i")) == NULL) || r; r = ((glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2iv")) == NULL) || r; r = ((glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2ui")) == NULL) || r; r = ((glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uiv")) == NULL) || r; r = ((glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3i")) == NULL) || r; r = ((glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3iv")) == NULL) || r; r = ((glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3ui")) == NULL) || r; r = ((glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uiv")) == NULL) || r; r = ((glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4bv")) == NULL) || r; r = ((glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4i")) == NULL) || r; r = ((glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4iv")) == NULL) || r; r = ((glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4sv")) == NULL) || r; r = ((glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ubv")) == NULL) || r; r = ((glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ui")) == NULL) || r; r = ((glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uiv")) == NULL) || r; r = ((glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4usv")) == NULL) || r; r = ((glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIPointer")) == NULL) || r; return r; } #endif /* GL_VERSION_3_0 */ #ifdef GL_VERSION_3_1 static GLboolean _glewInit_GL_VERSION_3_1 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstanced")) == NULL) || r; r = ((glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstanced")) == NULL) || r; r = ((glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartIndex")) == NULL) || r; r = ((glTexBuffer = (PFNGLTEXBUFFERPROC)glewGetProcAddress((const GLubyte*)"glTexBuffer")) == NULL) || r; return r; } #endif /* GL_VERSION_3_1 */ #ifdef GL_VERSION_3_2 static GLboolean _glewInit_GL_VERSION_3_2 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture")) == NULL) || r; r = ((glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameteri64v")) == NULL) || r; r = ((glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)glewGetProcAddress((const GLubyte*)"glGetInteger64i_v")) == NULL) || r; return r; } #endif /* GL_VERSION_3_2 */ #ifdef GL_VERSION_3_3 static GLboolean _glewInit_GL_VERSION_3_3 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisor")) == NULL) || r; return r; } #endif /* GL_VERSION_3_3 */ #ifdef GL_VERSION_4_0 static GLboolean _glewInit_GL_VERSION_4_0 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparatei")) == NULL) || r; r = ((glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationi")) == NULL) || r; r = ((glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparatei")) == NULL) || r; r = ((glBlendFunci = (PFNGLBLENDFUNCIPROC)glewGetProcAddress((const GLubyte*)"glBlendFunci")) == NULL) || r; r = ((glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)glewGetProcAddress((const GLubyte*)"glMinSampleShading")) == NULL) || r; return r; } #endif /* GL_VERSION_4_0 */ #ifdef GL_VERSION_4_1 #endif /* GL_VERSION_4_1 */ #ifdef GL_VERSION_4_2 #endif /* GL_VERSION_4_2 */ #ifdef GL_VERSION_4_3 #endif /* GL_VERSION_4_3 */ #ifdef GL_VERSION_4_4 #endif /* GL_VERSION_4_4 */ #ifdef GL_3DFX_multisample #endif /* GL_3DFX_multisample */ #ifdef GL_3DFX_tbuffer static GLboolean _glewInit_GL_3DFX_tbuffer (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTbufferMask3DFX = (PFNGLTBUFFERMASK3DFXPROC)glewGetProcAddress((const GLubyte*)"glTbufferMask3DFX")) == NULL) || r; return r; } #endif /* GL_3DFX_tbuffer */ #ifdef GL_3DFX_texture_compression_FXT1 #endif /* GL_3DFX_texture_compression_FXT1 */ #ifdef GL_AMD_blend_minmax_factor #endif /* GL_AMD_blend_minmax_factor */ #ifdef GL_AMD_conservative_depth #endif /* GL_AMD_conservative_depth */ #ifdef GL_AMD_debug_output static GLboolean _glewInit_GL_AMD_debug_output (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDebugMessageCallbackAMD = (PFNGLDEBUGMESSAGECALLBACKAMDPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageCallbackAMD")) == NULL) || r; r = ((glDebugMessageEnableAMD = (PFNGLDEBUGMESSAGEENABLEAMDPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageEnableAMD")) == NULL) || r; r = ((glDebugMessageInsertAMD = (PFNGLDEBUGMESSAGEINSERTAMDPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageInsertAMD")) == NULL) || r; r = ((glGetDebugMessageLogAMD = (PFNGLGETDEBUGMESSAGELOGAMDPROC)glewGetProcAddress((const GLubyte*)"glGetDebugMessageLogAMD")) == NULL) || r; return r; } #endif /* GL_AMD_debug_output */ #ifdef GL_AMD_depth_clamp_separate #endif /* GL_AMD_depth_clamp_separate */ #ifdef GL_AMD_draw_buffers_blend static GLboolean _glewInit_GL_AMD_draw_buffers_blend (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendEquationIndexedAMD = (PFNGLBLENDEQUATIONINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationIndexedAMD")) == NULL) || r; r = ((glBlendEquationSeparateIndexedAMD = (PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateIndexedAMD")) == NULL) || r; r = ((glBlendFuncIndexedAMD = (PFNGLBLENDFUNCINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncIndexedAMD")) == NULL) || r; r = ((glBlendFuncSeparateIndexedAMD = (PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateIndexedAMD")) == NULL) || r; return r; } #endif /* GL_AMD_draw_buffers_blend */ #ifdef GL_AMD_interleaved_elements static GLboolean _glewInit_GL_AMD_interleaved_elements (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glVertexAttribParameteriAMD = (PFNGLVERTEXATTRIBPARAMETERIAMDPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribParameteriAMD")) == NULL) || r; return r; } #endif /* GL_AMD_interleaved_elements */ #ifdef GL_AMD_multi_draw_indirect static GLboolean _glewInit_GL_AMD_multi_draw_indirect (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMultiDrawArraysIndirectAMD = (PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectAMD")) == NULL) || r; r = ((glMultiDrawElementsIndirectAMD = (PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectAMD")) == NULL) || r; return r; } #endif /* GL_AMD_multi_draw_indirect */ #ifdef GL_AMD_name_gen_delete static GLboolean _glewInit_GL_AMD_name_gen_delete (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDeleteNamesAMD = (PFNGLDELETENAMESAMDPROC)glewGetProcAddress((const GLubyte*)"glDeleteNamesAMD")) == NULL) || r; r = ((glGenNamesAMD = (PFNGLGENNAMESAMDPROC)glewGetProcAddress((const GLubyte*)"glGenNamesAMD")) == NULL) || r; r = ((glIsNameAMD = (PFNGLISNAMEAMDPROC)glewGetProcAddress((const GLubyte*)"glIsNameAMD")) == NULL) || r; return r; } #endif /* GL_AMD_name_gen_delete */ #ifdef GL_AMD_performance_monitor static GLboolean _glewInit_GL_AMD_performance_monitor (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginPerfMonitorAMD = (PFNGLBEGINPERFMONITORAMDPROC)glewGetProcAddress((const GLubyte*)"glBeginPerfMonitorAMD")) == NULL) || r; r = ((glDeletePerfMonitorsAMD = (PFNGLDELETEPERFMONITORSAMDPROC)glewGetProcAddress((const GLubyte*)"glDeletePerfMonitorsAMD")) == NULL) || r; r = ((glEndPerfMonitorAMD = (PFNGLENDPERFMONITORAMDPROC)glewGetProcAddress((const GLubyte*)"glEndPerfMonitorAMD")) == NULL) || r; r = ((glGenPerfMonitorsAMD = (PFNGLGENPERFMONITORSAMDPROC)glewGetProcAddress((const GLubyte*)"glGenPerfMonitorsAMD")) == NULL) || r; r = ((glGetPerfMonitorCounterDataAMD = (PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCounterDataAMD")) == NULL) || r; r = ((glGetPerfMonitorCounterInfoAMD = (PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCounterInfoAMD")) == NULL) || r; r = ((glGetPerfMonitorCounterStringAMD = (PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCounterStringAMD")) == NULL) || r; r = ((glGetPerfMonitorCountersAMD = (PFNGLGETPERFMONITORCOUNTERSAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorCountersAMD")) == NULL) || r; r = ((glGetPerfMonitorGroupStringAMD = (PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorGroupStringAMD")) == NULL) || r; r = ((glGetPerfMonitorGroupsAMD = (PFNGLGETPERFMONITORGROUPSAMDPROC)glewGetProcAddress((const GLubyte*)"glGetPerfMonitorGroupsAMD")) == NULL) || r; r = ((glSelectPerfMonitorCountersAMD = (PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)glewGetProcAddress((const GLubyte*)"glSelectPerfMonitorCountersAMD")) == NULL) || r; return r; } #endif /* GL_AMD_performance_monitor */ #ifdef GL_AMD_pinned_memory #endif /* GL_AMD_pinned_memory */ #ifdef GL_AMD_query_buffer_object #endif /* GL_AMD_query_buffer_object */ #ifdef GL_AMD_sample_positions static GLboolean _glewInit_GL_AMD_sample_positions (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glSetMultisamplefvAMD = (PFNGLSETMULTISAMPLEFVAMDPROC)glewGetProcAddress((const GLubyte*)"glSetMultisamplefvAMD")) == NULL) || r; return r; } #endif /* GL_AMD_sample_positions */ #ifdef GL_AMD_seamless_cubemap_per_texture #endif /* GL_AMD_seamless_cubemap_per_texture */ #ifdef GL_AMD_shader_stencil_export #endif /* GL_AMD_shader_stencil_export */ #ifdef GL_AMD_shader_trinary_minmax #endif /* GL_AMD_shader_trinary_minmax */ #ifdef GL_AMD_sparse_texture static GLboolean _glewInit_GL_AMD_sparse_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexStorageSparseAMD = (PFNGLTEXSTORAGESPARSEAMDPROC)glewGetProcAddress((const GLubyte*)"glTexStorageSparseAMD")) == NULL) || r; r = ((glTextureStorageSparseAMD = (PFNGLTEXTURESTORAGESPARSEAMDPROC)glewGetProcAddress((const GLubyte*)"glTextureStorageSparseAMD")) == NULL) || r; return r; } #endif /* GL_AMD_sparse_texture */ #ifdef GL_AMD_stencil_operation_extended static GLboolean _glewInit_GL_AMD_stencil_operation_extended (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glStencilOpValueAMD = (PFNGLSTENCILOPVALUEAMDPROC)glewGetProcAddress((const GLubyte*)"glStencilOpValueAMD")) == NULL) || r; return r; } #endif /* GL_AMD_stencil_operation_extended */ #ifdef GL_AMD_texture_texture4 #endif /* GL_AMD_texture_texture4 */ #ifdef GL_AMD_transform_feedback3_lines_triangles #endif /* GL_AMD_transform_feedback3_lines_triangles */ #ifdef GL_AMD_vertex_shader_layer #endif /* GL_AMD_vertex_shader_layer */ #ifdef GL_AMD_vertex_shader_tessellator static GLboolean _glewInit_GL_AMD_vertex_shader_tessellator (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTessellationFactorAMD = (PFNGLTESSELLATIONFACTORAMDPROC)glewGetProcAddress((const GLubyte*)"glTessellationFactorAMD")) == NULL) || r; r = ((glTessellationModeAMD = (PFNGLTESSELLATIONMODEAMDPROC)glewGetProcAddress((const GLubyte*)"glTessellationModeAMD")) == NULL) || r; return r; } #endif /* GL_AMD_vertex_shader_tessellator */ #ifdef GL_AMD_vertex_shader_viewport_index #endif /* GL_AMD_vertex_shader_viewport_index */ #ifdef GL_ANGLE_depth_texture #endif /* GL_ANGLE_depth_texture */ #ifdef GL_ANGLE_framebuffer_blit static GLboolean _glewInit_GL_ANGLE_framebuffer_blit (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlitFramebufferANGLE = (PFNGLBLITFRAMEBUFFERANGLEPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebufferANGLE")) == NULL) || r; return r; } #endif /* GL_ANGLE_framebuffer_blit */ #ifdef GL_ANGLE_framebuffer_multisample static GLboolean _glewInit_GL_ANGLE_framebuffer_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glRenderbufferStorageMultisampleANGLE = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleANGLE")) == NULL) || r; return r; } #endif /* GL_ANGLE_framebuffer_multisample */ #ifdef GL_ANGLE_instanced_arrays static GLboolean _glewInit_GL_ANGLE_instanced_arrays (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawArraysInstancedANGLE = (PFNGLDRAWARRAYSINSTANCEDANGLEPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedANGLE")) == NULL) || r; r = ((glDrawElementsInstancedANGLE = (PFNGLDRAWELEMENTSINSTANCEDANGLEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedANGLE")) == NULL) || r; r = ((glVertexAttribDivisorANGLE = (PFNGLVERTEXATTRIBDIVISORANGLEPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorANGLE")) == NULL) || r; return r; } #endif /* GL_ANGLE_instanced_arrays */ #ifdef GL_ANGLE_pack_reverse_row_order #endif /* GL_ANGLE_pack_reverse_row_order */ #ifdef GL_ANGLE_program_binary #endif /* GL_ANGLE_program_binary */ #ifdef GL_ANGLE_texture_compression_dxt1 #endif /* GL_ANGLE_texture_compression_dxt1 */ #ifdef GL_ANGLE_texture_compression_dxt3 #endif /* GL_ANGLE_texture_compression_dxt3 */ #ifdef GL_ANGLE_texture_compression_dxt5 #endif /* GL_ANGLE_texture_compression_dxt5 */ #ifdef GL_ANGLE_texture_usage #endif /* GL_ANGLE_texture_usage */ #ifdef GL_ANGLE_timer_query static GLboolean _glewInit_GL_ANGLE_timer_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginQueryANGLE = (PFNGLBEGINQUERYANGLEPROC)glewGetProcAddress((const GLubyte*)"glBeginQueryANGLE")) == NULL) || r; r = ((glDeleteQueriesANGLE = (PFNGLDELETEQUERIESANGLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueriesANGLE")) == NULL) || r; r = ((glEndQueryANGLE = (PFNGLENDQUERYANGLEPROC)glewGetProcAddress((const GLubyte*)"glEndQueryANGLE")) == NULL) || r; r = ((glGenQueriesANGLE = (PFNGLGENQUERIESANGLEPROC)glewGetProcAddress((const GLubyte*)"glGenQueriesANGLE")) == NULL) || r; r = ((glGetQueryObjecti64vANGLE = (PFNGLGETQUERYOBJECTI64VANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjecti64vANGLE")) == NULL) || r; r = ((glGetQueryObjectivANGLE = (PFNGLGETQUERYOBJECTIVANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectivANGLE")) == NULL) || r; r = ((glGetQueryObjectui64vANGLE = (PFNGLGETQUERYOBJECTUI64VANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectui64vANGLE")) == NULL) || r; r = ((glGetQueryObjectuivANGLE = (PFNGLGETQUERYOBJECTUIVANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuivANGLE")) == NULL) || r; r = ((glGetQueryivANGLE = (PFNGLGETQUERYIVANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetQueryivANGLE")) == NULL) || r; r = ((glIsQueryANGLE = (PFNGLISQUERYANGLEPROC)glewGetProcAddress((const GLubyte*)"glIsQueryANGLE")) == NULL) || r; r = ((glQueryCounterANGLE = (PFNGLQUERYCOUNTERANGLEPROC)glewGetProcAddress((const GLubyte*)"glQueryCounterANGLE")) == NULL) || r; return r; } #endif /* GL_ANGLE_timer_query */ #ifdef GL_ANGLE_translated_shader_source static GLboolean _glewInit_GL_ANGLE_translated_shader_source (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetTranslatedShaderSourceANGLE = (PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC)glewGetProcAddress((const GLubyte*)"glGetTranslatedShaderSourceANGLE")) == NULL) || r; return r; } #endif /* GL_ANGLE_translated_shader_source */ #ifdef GL_APPLE_aux_depth_stencil #endif /* GL_APPLE_aux_depth_stencil */ #ifdef GL_APPLE_client_storage #endif /* GL_APPLE_client_storage */ #ifdef GL_APPLE_element_array static GLboolean _glewInit_GL_APPLE_element_array (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawElementArrayAPPLE = (PFNGLDRAWELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementArrayAPPLE")) == NULL) || r; r = ((glDrawRangeElementArrayAPPLE = (PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementArrayAPPLE")) == NULL) || r; r = ((glElementPointerAPPLE = (PFNGLELEMENTPOINTERAPPLEPROC)glewGetProcAddress((const GLubyte*)"glElementPointerAPPLE")) == NULL) || r; r = ((glMultiDrawElementArrayAPPLE = (PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementArrayAPPLE")) == NULL) || r; r = ((glMultiDrawRangeElementArrayAPPLE = (PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawRangeElementArrayAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_element_array */ #ifdef GL_APPLE_fence static GLboolean _glewInit_GL_APPLE_fence (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDeleteFencesAPPLE = (PFNGLDELETEFENCESAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteFencesAPPLE")) == NULL) || r; r = ((glFinishFenceAPPLE = (PFNGLFINISHFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFinishFenceAPPLE")) == NULL) || r; r = ((glFinishObjectAPPLE = (PFNGLFINISHOBJECTAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFinishObjectAPPLE")) == NULL) || r; r = ((glGenFencesAPPLE = (PFNGLGENFENCESAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGenFencesAPPLE")) == NULL) || r; r = ((glIsFenceAPPLE = (PFNGLISFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsFenceAPPLE")) == NULL) || r; r = ((glSetFenceAPPLE = (PFNGLSETFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glSetFenceAPPLE")) == NULL) || r; r = ((glTestFenceAPPLE = (PFNGLTESTFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTestFenceAPPLE")) == NULL) || r; r = ((glTestObjectAPPLE = (PFNGLTESTOBJECTAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTestObjectAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_fence */ #ifdef GL_APPLE_float_pixels #endif /* GL_APPLE_float_pixels */ #ifdef GL_APPLE_flush_buffer_range static GLboolean _glewInit_GL_APPLE_flush_buffer_range (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBufferParameteriAPPLE = (PFNGLBUFFERPARAMETERIAPPLEPROC)glewGetProcAddress((const GLubyte*)"glBufferParameteriAPPLE")) == NULL) || r; r = ((glFlushMappedBufferRangeAPPLE = (PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedBufferRangeAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_flush_buffer_range */ #ifdef GL_APPLE_object_purgeable static GLboolean _glewInit_GL_APPLE_object_purgeable (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetObjectParameterivAPPLE = (PFNGLGETOBJECTPARAMETERIVAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterivAPPLE")) == NULL) || r; r = ((glObjectPurgeableAPPLE = (PFNGLOBJECTPURGEABLEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glObjectPurgeableAPPLE")) == NULL) || r; r = ((glObjectUnpurgeableAPPLE = (PFNGLOBJECTUNPURGEABLEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glObjectUnpurgeableAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_object_purgeable */ #ifdef GL_APPLE_pixel_buffer #endif /* GL_APPLE_pixel_buffer */ #ifdef GL_APPLE_rgb_422 #endif /* GL_APPLE_rgb_422 */ #ifdef GL_APPLE_row_bytes #endif /* GL_APPLE_row_bytes */ #ifdef GL_APPLE_specular_vector #endif /* GL_APPLE_specular_vector */ #ifdef GL_APPLE_texture_range static GLboolean _glewInit_GL_APPLE_texture_range (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetTexParameterPointervAPPLE = (PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterPointervAPPLE")) == NULL) || r; r = ((glTextureRangeAPPLE = (PFNGLTEXTURERANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTextureRangeAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_texture_range */ #ifdef GL_APPLE_transform_hint #endif /* GL_APPLE_transform_hint */ #ifdef GL_APPLE_vertex_array_object static GLboolean _glewInit_GL_APPLE_vertex_array_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindVertexArrayAPPLE = (PFNGLBINDVERTEXARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glBindVertexArrayAPPLE")) == NULL) || r; r = ((glDeleteVertexArraysAPPLE = (PFNGLDELETEVERTEXARRAYSAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexArraysAPPLE")) == NULL) || r; r = ((glGenVertexArraysAPPLE = (PFNGLGENVERTEXARRAYSAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGenVertexArraysAPPLE")) == NULL) || r; r = ((glIsVertexArrayAPPLE = (PFNGLISVERTEXARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsVertexArrayAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_vertex_array_object */ #ifdef GL_APPLE_vertex_array_range static GLboolean _glewInit_GL_APPLE_vertex_array_range (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFlushVertexArrayRangeAPPLE = (PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFlushVertexArrayRangeAPPLE")) == NULL) || r; r = ((glVertexArrayParameteriAPPLE = (PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayParameteriAPPLE")) == NULL) || r; r = ((glVertexArrayRangeAPPLE = (PFNGLVERTEXARRAYRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayRangeAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_vertex_array_range */ #ifdef GL_APPLE_vertex_program_evaluators static GLboolean _glewInit_GL_APPLE_vertex_program_evaluators (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDisableVertexAttribAPPLE = (PFNGLDISABLEVERTEXATTRIBAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribAPPLE")) == NULL) || r; r = ((glEnableVertexAttribAPPLE = (PFNGLENABLEVERTEXATTRIBAPPLEPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribAPPLE")) == NULL) || r; r = ((glIsVertexAttribEnabledAPPLE = (PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsVertexAttribEnabledAPPLE")) == NULL) || r; r = ((glMapVertexAttrib1dAPPLE = (PFNGLMAPVERTEXATTRIB1DAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib1dAPPLE")) == NULL) || r; r = ((glMapVertexAttrib1fAPPLE = (PFNGLMAPVERTEXATTRIB1FAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib1fAPPLE")) == NULL) || r; r = ((glMapVertexAttrib2dAPPLE = (PFNGLMAPVERTEXATTRIB2DAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib2dAPPLE")) == NULL) || r; r = ((glMapVertexAttrib2fAPPLE = (PFNGLMAPVERTEXATTRIB2FAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMapVertexAttrib2fAPPLE")) == NULL) || r; return r; } #endif /* GL_APPLE_vertex_program_evaluators */ #ifdef GL_APPLE_ycbcr_422 #endif /* GL_APPLE_ycbcr_422 */ #ifdef GL_ARB_ES2_compatibility static GLboolean _glewInit_GL_ARB_ES2_compatibility (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClearDepthf = (PFNGLCLEARDEPTHFPROC)glewGetProcAddress((const GLubyte*)"glClearDepthf")) == NULL) || r; r = ((glDepthRangef = (PFNGLDEPTHRANGEFPROC)glewGetProcAddress((const GLubyte*)"glDepthRangef")) == NULL) || r; r = ((glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)glewGetProcAddress((const GLubyte*)"glGetShaderPrecisionFormat")) == NULL) || r; r = ((glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)glewGetProcAddress((const GLubyte*)"glReleaseShaderCompiler")) == NULL) || r; r = ((glShaderBinary = (PFNGLSHADERBINARYPROC)glewGetProcAddress((const GLubyte*)"glShaderBinary")) == NULL) || r; return r; } #endif /* GL_ARB_ES2_compatibility */ #ifdef GL_ARB_ES3_compatibility #endif /* GL_ARB_ES3_compatibility */ #ifdef GL_ARB_arrays_of_arrays #endif /* GL_ARB_arrays_of_arrays */ #ifdef GL_ARB_base_instance static GLboolean _glewInit_GL_ARB_base_instance (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedBaseInstance")) == NULL) || r; r = ((glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseInstance")) == NULL) || r; r = ((glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseVertexBaseInstance")) == NULL) || r; return r; } #endif /* GL_ARB_base_instance */ #ifdef GL_ARB_bindless_texture static GLboolean _glewInit_GL_ARB_bindless_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetImageHandleARB = (PFNGLGETIMAGEHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetImageHandleARB")) == NULL) || r; r = ((glGetTextureHandleARB = (PFNGLGETTEXTUREHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetTextureHandleARB")) == NULL) || r; r = ((glGetTextureSamplerHandleARB = (PFNGLGETTEXTURESAMPLERHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetTextureSamplerHandleARB")) == NULL) || r; r = ((glGetVertexAttribLui64vARB = (PFNGLGETVERTEXATTRIBLUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLui64vARB")) == NULL) || r; r = ((glIsImageHandleResidentARB = (PFNGLISIMAGEHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glIsImageHandleResidentARB")) == NULL) || r; r = ((glIsTextureHandleResidentARB = (PFNGLISTEXTUREHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glIsTextureHandleResidentARB")) == NULL) || r; r = ((glMakeImageHandleNonResidentARB = (PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleNonResidentARB")) == NULL) || r; r = ((glMakeImageHandleResidentARB = (PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleResidentARB")) == NULL) || r; r = ((glMakeTextureHandleNonResidentARB = (PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleNonResidentARB")) == NULL) || r; r = ((glMakeTextureHandleResidentARB = (PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleResidentARB")) == NULL) || r; r = ((glProgramUniformHandleui64ARB = (PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64ARB")) == NULL) || r; r = ((glProgramUniformHandleui64vARB = (PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64vARB")) == NULL) || r; r = ((glUniformHandleui64ARB = (PFNGLUNIFORMHANDLEUI64ARBPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64ARB")) == NULL) || r; r = ((glUniformHandleui64vARB = (PFNGLUNIFORMHANDLEUI64VARBPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64vARB")) == NULL) || r; r = ((glVertexAttribL1ui64ARB = (PFNGLVERTEXATTRIBL1UI64ARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64ARB")) == NULL) || r; r = ((glVertexAttribL1ui64vARB = (PFNGLVERTEXATTRIBL1UI64VARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64vARB")) == NULL) || r; return r; } #endif /* GL_ARB_bindless_texture */ #ifdef GL_ARB_blend_func_extended static GLboolean _glewInit_GL_ARB_blend_func_extended (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocationIndexed")) == NULL) || r; r = ((glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataIndex")) == NULL) || r; return r; } #endif /* GL_ARB_blend_func_extended */ #ifdef GL_ARB_buffer_storage static GLboolean _glewInit_GL_ARB_buffer_storage (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBufferStorage = (PFNGLBUFFERSTORAGEPROC)glewGetProcAddress((const GLubyte*)"glBufferStorage")) == NULL) || r; r = ((glNamedBufferStorageEXT = (PFNGLNAMEDBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferStorageEXT")) == NULL) || r; return r; } #endif /* GL_ARB_buffer_storage */ #ifdef GL_ARB_cl_event static GLboolean _glewInit_GL_ARB_cl_event (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateSyncFromCLeventARB")) == NULL) || r; return r; } #endif /* GL_ARB_cl_event */ #ifdef GL_ARB_clear_buffer_object static GLboolean _glewInit_GL_ARB_clear_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glClearBufferData")) == NULL) || r; r = ((glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glClearBufferSubData")) == NULL) || r; r = ((glClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glClearNamedBufferDataEXT")) == NULL) || r; r = ((glClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glClearNamedBufferSubDataEXT")) == NULL) || r; return r; } #endif /* GL_ARB_clear_buffer_object */ #ifdef GL_ARB_clear_texture static GLboolean _glewInit_GL_ARB_clear_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glClearTexImage")) == NULL) || r; r = ((glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)glewGetProcAddress((const GLubyte*)"glClearTexSubImage")) == NULL) || r; return r; } #endif /* GL_ARB_clear_texture */ #ifdef GL_ARB_color_buffer_float static GLboolean _glewInit_GL_ARB_color_buffer_float (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClampColorARB = (PFNGLCLAMPCOLORARBPROC)glewGetProcAddress((const GLubyte*)"glClampColorARB")) == NULL) || r; return r; } #endif /* GL_ARB_color_buffer_float */ #ifdef GL_ARB_compatibility #endif /* GL_ARB_compatibility */ #ifdef GL_ARB_compressed_texture_pixel_storage #endif /* GL_ARB_compressed_texture_pixel_storage */ #ifdef GL_ARB_compute_shader static GLboolean _glewInit_GL_ARB_compute_shader (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)glewGetProcAddress((const GLubyte*)"glDispatchCompute")) == NULL) || r; r = ((glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glDispatchComputeIndirect")) == NULL) || r; return r; } #endif /* GL_ARB_compute_shader */ #ifdef GL_ARB_compute_variable_group_size static GLboolean _glewInit_GL_ARB_compute_variable_group_size (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDispatchComputeGroupSizeARB = (PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)glewGetProcAddress((const GLubyte*)"glDispatchComputeGroupSizeARB")) == NULL) || r; return r; } #endif /* GL_ARB_compute_variable_group_size */ #ifdef GL_ARB_conservative_depth #endif /* GL_ARB_conservative_depth */ #ifdef GL_ARB_copy_buffer static GLboolean _glewInit_GL_ARB_copy_buffer (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glCopyBufferSubData")) == NULL) || r; return r; } #endif /* GL_ARB_copy_buffer */ #ifdef GL_ARB_copy_image static GLboolean _glewInit_GL_ARB_copy_image (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)glewGetProcAddress((const GLubyte*)"glCopyImageSubData")) == NULL) || r; return r; } #endif /* GL_ARB_copy_image */ #ifdef GL_ARB_debug_output static GLboolean _glewInit_GL_ARB_debug_output (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageCallbackARB")) == NULL) || r; r = ((glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageControlARB")) == NULL) || r; r = ((glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageInsertARB")) == NULL) || r; r = ((glGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC)glewGetProcAddress((const GLubyte*)"glGetDebugMessageLogARB")) == NULL) || r; return r; } #endif /* GL_ARB_debug_output */ #ifdef GL_ARB_depth_buffer_float #endif /* GL_ARB_depth_buffer_float */ #ifdef GL_ARB_depth_clamp #endif /* GL_ARB_depth_clamp */ #ifdef GL_ARB_depth_texture #endif /* GL_ARB_depth_texture */ #ifdef GL_ARB_draw_buffers static GLboolean _glewInit_GL_ARB_draw_buffers (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersARB")) == NULL) || r; return r; } #endif /* GL_ARB_draw_buffers */ #ifdef GL_ARB_draw_buffers_blend static GLboolean _glewInit_GL_ARB_draw_buffers_blend (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateiARB")) == NULL) || r; r = ((glBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationiARB")) == NULL) || r; r = ((glBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateiARB")) == NULL) || r; r = ((glBlendFunciARB = (PFNGLBLENDFUNCIARBPROC)glewGetProcAddress((const GLubyte*)"glBlendFunciARB")) == NULL) || r; return r; } #endif /* GL_ARB_draw_buffers_blend */ #ifdef GL_ARB_draw_elements_base_vertex static GLboolean _glewInit_GL_ARB_draw_elements_base_vertex (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsBaseVertex")) == NULL) || r; r = ((glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedBaseVertex")) == NULL) || r; r = ((glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementsBaseVertex")) == NULL) || r; r = ((glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsBaseVertex")) == NULL) || r; return r; } #endif /* GL_ARB_draw_elements_base_vertex */ #ifdef GL_ARB_draw_indirect static GLboolean _glewInit_GL_ARB_draw_indirect (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysIndirect")) == NULL) || r; r = ((glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsIndirect")) == NULL) || r; return r; } #endif /* GL_ARB_draw_indirect */ #ifdef GL_ARB_draw_instanced #endif /* GL_ARB_draw_instanced */ #ifdef GL_ARB_enhanced_layouts #endif /* GL_ARB_enhanced_layouts */ #ifdef GL_ARB_explicit_attrib_location #endif /* GL_ARB_explicit_attrib_location */ #ifdef GL_ARB_explicit_uniform_location #endif /* GL_ARB_explicit_uniform_location */ #ifdef GL_ARB_fragment_coord_conventions #endif /* GL_ARB_fragment_coord_conventions */ #ifdef GL_ARB_fragment_layer_viewport #endif /* GL_ARB_fragment_layer_viewport */ #ifdef GL_ARB_fragment_program #endif /* GL_ARB_fragment_program */ #ifdef GL_ARB_fragment_program_shadow #endif /* GL_ARB_fragment_program_shadow */ #ifdef GL_ARB_fragment_shader #endif /* GL_ARB_fragment_shader */ #ifdef GL_ARB_framebuffer_no_attachments static GLboolean _glewInit_GL_ARB_framebuffer_no_attachments (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glFramebufferParameteri")) == NULL) || r; r = ((glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferParameteriv")) == NULL) || r; r = ((glGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferParameterivEXT")) == NULL) || r; r = ((glNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferParameteriEXT")) == NULL) || r; return r; } #endif /* GL_ARB_framebuffer_no_attachments */ #ifdef GL_ARB_framebuffer_object static GLboolean _glewInit_GL_ARB_framebuffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindFramebuffer")) == NULL) || r; r = ((glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindRenderbuffer")) == NULL) || r; r = ((glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebuffer")) == NULL) || r; r = ((glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)glewGetProcAddress((const GLubyte*)"glCheckFramebufferStatus")) == NULL) || r; r = ((glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteFramebuffers")) == NULL) || r; r = ((glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteRenderbuffers")) == NULL) || r; r = ((glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferRenderbuffer")) == NULL) || r; r = ((glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture1D")) == NULL) || r; r = ((glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2D")) == NULL) || r; r = ((glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture3D")) == NULL) || r; r = ((glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayer")) == NULL) || r; r = ((glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenFramebuffers")) == NULL) || r; r = ((glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenRenderbuffers")) == NULL) || r; r = ((glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)glewGetProcAddress((const GLubyte*)"glGenerateMipmap")) == NULL) || r; r = ((glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferAttachmentParameteriv")) == NULL) || r; r = ((glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetRenderbufferParameteriv")) == NULL) || r; r = ((glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsFramebuffer")) == NULL) || r; r = ((glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsRenderbuffer")) == NULL) || r; r = ((glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorage")) == NULL) || r; r = ((glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisample")) == NULL) || r; return r; } #endif /* GL_ARB_framebuffer_object */ #ifdef GL_ARB_framebuffer_sRGB #endif /* GL_ARB_framebuffer_sRGB */ #ifdef GL_ARB_geometry_shader4 static GLboolean _glewInit_GL_ARB_geometry_shader4 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureARB")) == NULL) || r; r = ((glFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureFaceARB")) == NULL) || r; r = ((glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerARB")) == NULL) || r; r = ((glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteriARB")) == NULL) || r; return r; } #endif /* GL_ARB_geometry_shader4 */ #ifdef GL_ARB_get_program_binary static GLboolean _glewInit_GL_ARB_get_program_binary (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)glewGetProcAddress((const GLubyte*)"glGetProgramBinary")) == NULL) || r; r = ((glProgramBinary = (PFNGLPROGRAMBINARYPROC)glewGetProcAddress((const GLubyte*)"glProgramBinary")) == NULL) || r; r = ((glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteri")) == NULL) || r; return r; } #endif /* GL_ARB_get_program_binary */ #ifdef GL_ARB_gpu_shader5 #endif /* GL_ARB_gpu_shader5 */ #ifdef GL_ARB_gpu_shader_fp64 static GLboolean _glewInit_GL_ARB_gpu_shader_fp64 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetUniformdv = (PFNGLGETUNIFORMDVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformdv")) == NULL) || r; r = ((glUniform1d = (PFNGLUNIFORM1DPROC)glewGetProcAddress((const GLubyte*)"glUniform1d")) == NULL) || r; r = ((glUniform1dv = (PFNGLUNIFORM1DVPROC)glewGetProcAddress((const GLubyte*)"glUniform1dv")) == NULL) || r; r = ((glUniform2d = (PFNGLUNIFORM2DPROC)glewGetProcAddress((const GLubyte*)"glUniform2d")) == NULL) || r; r = ((glUniform2dv = (PFNGLUNIFORM2DVPROC)glewGetProcAddress((const GLubyte*)"glUniform2dv")) == NULL) || r; r = ((glUniform3d = (PFNGLUNIFORM3DPROC)glewGetProcAddress((const GLubyte*)"glUniform3d")) == NULL) || r; r = ((glUniform3dv = (PFNGLUNIFORM3DVPROC)glewGetProcAddress((const GLubyte*)"glUniform3dv")) == NULL) || r; r = ((glUniform4d = (PFNGLUNIFORM4DPROC)glewGetProcAddress((const GLubyte*)"glUniform4d")) == NULL) || r; r = ((glUniform4dv = (PFNGLUNIFORM4DVPROC)glewGetProcAddress((const GLubyte*)"glUniform4dv")) == NULL) || r; r = ((glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2dv")) == NULL) || r; r = ((glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x3dv")) == NULL) || r; r = ((glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x4dv")) == NULL) || r; r = ((glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3dv")) == NULL) || r; r = ((glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x2dv")) == NULL) || r; r = ((glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x4dv")) == NULL) || r; r = ((glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4dv")) == NULL) || r; r = ((glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x2dv")) == NULL) || r; r = ((glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x3dv")) == NULL) || r; return r; } #endif /* GL_ARB_gpu_shader_fp64 */ #ifdef GL_ARB_half_float_pixel #endif /* GL_ARB_half_float_pixel */ #ifdef GL_ARB_half_float_vertex #endif /* GL_ARB_half_float_vertex */ #ifdef GL_ARB_imaging static GLboolean _glewInit_GL_ARB_imaging (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)"glBlendEquation")) == NULL) || r; r = ((glColorSubTable = (PFNGLCOLORSUBTABLEPROC)glewGetProcAddress((const GLubyte*)"glColorSubTable")) == NULL) || r; r = ((glColorTable = (PFNGLCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glColorTable")) == NULL) || r; r = ((glColorTableParameterfv = (PFNGLCOLORTABLEPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterfv")) == NULL) || r; r = ((glColorTableParameteriv = (PFNGLCOLORTABLEPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameteriv")) == NULL) || r; r = ((glConvolutionFilter1D = (PFNGLCONVOLUTIONFILTER1DPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter1D")) == NULL) || r; r = ((glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter2D")) == NULL) || r; r = ((glConvolutionParameterf = (PFNGLCONVOLUTIONPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterf")) == NULL) || r; r = ((glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfv")) == NULL) || r; r = ((glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteri")) == NULL) || r; r = ((glConvolutionParameteriv = (PFNGLCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteriv")) == NULL) || r; r = ((glCopyColorSubTable = (PFNGLCOPYCOLORSUBTABLEPROC)glewGetProcAddress((const GLubyte*)"glCopyColorSubTable")) == NULL) || r; r = ((glCopyColorTable = (PFNGLCOPYCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glCopyColorTable")) == NULL) || r; r = ((glCopyConvolutionFilter1D = (PFNGLCOPYCONVOLUTIONFILTER1DPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter1D")) == NULL) || r; r = ((glCopyConvolutionFilter2D = (PFNGLCOPYCONVOLUTIONFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter2D")) == NULL) || r; r = ((glGetColorTable = (PFNGLGETCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glGetColorTable")) == NULL) || r; r = ((glGetColorTableParameterfv = (PFNGLGETCOLORTABLEPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfv")) == NULL) || r; r = ((glGetColorTableParameteriv = (PFNGLGETCOLORTABLEPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameteriv")) == NULL) || r; r = ((glGetConvolutionFilter = (PFNGLGETCONVOLUTIONFILTERPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionFilter")) == NULL) || r; r = ((glGetConvolutionParameterfv = (PFNGLGETCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterfv")) == NULL) || r; r = ((glGetConvolutionParameteriv = (PFNGLGETCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameteriv")) == NULL) || r; r = ((glGetHistogram = (PFNGLGETHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glGetHistogram")) == NULL) || r; r = ((glGetHistogramParameterfv = (PFNGLGETHISTOGRAMPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterfv")) == NULL) || r; r = ((glGetHistogramParameteriv = (PFNGLGETHISTOGRAMPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameteriv")) == NULL) || r; r = ((glGetMinmax = (PFNGLGETMINMAXPROC)glewGetProcAddress((const GLubyte*)"glGetMinmax")) == NULL) || r; r = ((glGetMinmaxParameterfv = (PFNGLGETMINMAXPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterfv")) == NULL) || r; r = ((glGetMinmaxParameteriv = (PFNGLGETMINMAXPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameteriv")) == NULL) || r; r = ((glGetSeparableFilter = (PFNGLGETSEPARABLEFILTERPROC)glewGetProcAddress((const GLubyte*)"glGetSeparableFilter")) == NULL) || r; r = ((glHistogram = (PFNGLHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glHistogram")) == NULL) || r; r = ((glMinmax = (PFNGLMINMAXPROC)glewGetProcAddress((const GLubyte*)"glMinmax")) == NULL) || r; r = ((glResetHistogram = (PFNGLRESETHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glResetHistogram")) == NULL) || r; r = ((glResetMinmax = (PFNGLRESETMINMAXPROC)glewGetProcAddress((const GLubyte*)"glResetMinmax")) == NULL) || r; r = ((glSeparableFilter2D = (PFNGLSEPARABLEFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glSeparableFilter2D")) == NULL) || r; return r; } #endif /* GL_ARB_imaging */ #ifdef GL_ARB_indirect_parameters static GLboolean _glewInit_GL_ARB_indirect_parameters (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMultiDrawArraysIndirectCountARB = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectCountARB")) == NULL) || r; r = ((glMultiDrawElementsIndirectCountARB = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectCountARB")) == NULL) || r; return r; } #endif /* GL_ARB_indirect_parameters */ #ifdef GL_ARB_instanced_arrays static GLboolean _glewInit_GL_ARB_instanced_arrays (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedARB")) == NULL) || r; r = ((glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedARB")) == NULL) || r; r = ((glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorARB")) == NULL) || r; return r; } #endif /* GL_ARB_instanced_arrays */ #ifdef GL_ARB_internalformat_query static GLboolean _glewInit_GL_ARB_internalformat_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)glewGetProcAddress((const GLubyte*)"glGetInternalformativ")) == NULL) || r; return r; } #endif /* GL_ARB_internalformat_query */ #ifdef GL_ARB_internalformat_query2 static GLboolean _glewInit_GL_ARB_internalformat_query2 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)glewGetProcAddress((const GLubyte*)"glGetInternalformati64v")) == NULL) || r; return r; } #endif /* GL_ARB_internalformat_query2 */ #ifdef GL_ARB_invalidate_subdata static GLboolean _glewInit_GL_ARB_invalidate_subdata (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glInvalidateBufferData")) == NULL) || r; r = ((glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glInvalidateBufferSubData")) == NULL) || r; r = ((glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glInvalidateFramebuffer")) == NULL) || r; r = ((glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glInvalidateSubFramebuffer")) == NULL) || r; r = ((glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glInvalidateTexImage")) == NULL) || r; r = ((glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)glewGetProcAddress((const GLubyte*)"glInvalidateTexSubImage")) == NULL) || r; return r; } #endif /* GL_ARB_invalidate_subdata */ #ifdef GL_ARB_map_buffer_alignment #endif /* GL_ARB_map_buffer_alignment */ #ifdef GL_ARB_map_buffer_range static GLboolean _glewInit_GL_ARB_map_buffer_range (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedBufferRange")) == NULL) || r; r = ((glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glMapBufferRange")) == NULL) || r; return r; } #endif /* GL_ARB_map_buffer_range */ #ifdef GL_ARB_matrix_palette static GLboolean _glewInit_GL_ARB_matrix_palette (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCurrentPaletteMatrixARB = (PFNGLCURRENTPALETTEMATRIXARBPROC)glewGetProcAddress((const GLubyte*)"glCurrentPaletteMatrixARB")) == NULL) || r; r = ((glMatrixIndexPointerARB = (PFNGLMATRIXINDEXPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexPointerARB")) == NULL) || r; r = ((glMatrixIndexubvARB = (PFNGLMATRIXINDEXUBVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexubvARB")) == NULL) || r; r = ((glMatrixIndexuivARB = (PFNGLMATRIXINDEXUIVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexuivARB")) == NULL) || r; r = ((glMatrixIndexusvARB = (PFNGLMATRIXINDEXUSVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexusvARB")) == NULL) || r; return r; } #endif /* GL_ARB_matrix_palette */ #ifdef GL_ARB_multi_bind static GLboolean _glewInit_GL_ARB_multi_bind (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)glewGetProcAddress((const GLubyte*)"glBindBuffersBase")) == NULL) || r; r = ((glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)glewGetProcAddress((const GLubyte*)"glBindBuffersRange")) == NULL) || r; r = ((glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)glewGetProcAddress((const GLubyte*)"glBindImageTextures")) == NULL) || r; r = ((glBindSamplers = (PFNGLBINDSAMPLERSPROC)glewGetProcAddress((const GLubyte*)"glBindSamplers")) == NULL) || r; r = ((glBindTextures = (PFNGLBINDTEXTURESPROC)glewGetProcAddress((const GLubyte*)"glBindTextures")) == NULL) || r; r = ((glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glBindVertexBuffers")) == NULL) || r; return r; } #endif /* GL_ARB_multi_bind */ #ifdef GL_ARB_multi_draw_indirect static GLboolean _glewInit_GL_ARB_multi_draw_indirect (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirect")) == NULL) || r; r = ((glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirect")) == NULL) || r; return r; } #endif /* GL_ARB_multi_draw_indirect */ #ifdef GL_ARB_multisample static GLboolean _glewInit_GL_ARB_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC)glewGetProcAddress((const GLubyte*)"glSampleCoverageARB")) == NULL) || r; return r; } #endif /* GL_ARB_multisample */ #ifdef GL_ARB_multitexture static GLboolean _glewInit_GL_ARB_multitexture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glActiveTextureARB")) == NULL) || r; r = ((glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glClientActiveTextureARB")) == NULL) || r; r = ((glMultiTexCoord1dARB = (PFNGLMULTITEXCOORD1DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dARB")) == NULL) || r; r = ((glMultiTexCoord1dvARB = (PFNGLMULTITEXCOORD1DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dvARB")) == NULL) || r; r = ((glMultiTexCoord1fARB = (PFNGLMULTITEXCOORD1FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fARB")) == NULL) || r; r = ((glMultiTexCoord1fvARB = (PFNGLMULTITEXCOORD1FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fvARB")) == NULL) || r; r = ((glMultiTexCoord1iARB = (PFNGLMULTITEXCOORD1IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1iARB")) == NULL) || r; r = ((glMultiTexCoord1ivARB = (PFNGLMULTITEXCOORD1IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1ivARB")) == NULL) || r; r = ((glMultiTexCoord1sARB = (PFNGLMULTITEXCOORD1SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1sARB")) == NULL) || r; r = ((glMultiTexCoord1svARB = (PFNGLMULTITEXCOORD1SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1svARB")) == NULL) || r; r = ((glMultiTexCoord2dARB = (PFNGLMULTITEXCOORD2DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dARB")) == NULL) || r; r = ((glMultiTexCoord2dvARB = (PFNGLMULTITEXCOORD2DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dvARB")) == NULL) || r; r = ((glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fARB")) == NULL) || r; r = ((glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fvARB")) == NULL) || r; r = ((glMultiTexCoord2iARB = (PFNGLMULTITEXCOORD2IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2iARB")) == NULL) || r; r = ((glMultiTexCoord2ivARB = (PFNGLMULTITEXCOORD2IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2ivARB")) == NULL) || r; r = ((glMultiTexCoord2sARB = (PFNGLMULTITEXCOORD2SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2sARB")) == NULL) || r; r = ((glMultiTexCoord2svARB = (PFNGLMULTITEXCOORD2SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2svARB")) == NULL) || r; r = ((glMultiTexCoord3dARB = (PFNGLMULTITEXCOORD3DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dARB")) == NULL) || r; r = ((glMultiTexCoord3dvARB = (PFNGLMULTITEXCOORD3DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dvARB")) == NULL) || r; r = ((glMultiTexCoord3fARB = (PFNGLMULTITEXCOORD3FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fARB")) == NULL) || r; r = ((glMultiTexCoord3fvARB = (PFNGLMULTITEXCOORD3FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fvARB")) == NULL) || r; r = ((glMultiTexCoord3iARB = (PFNGLMULTITEXCOORD3IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3iARB")) == NULL) || r; r = ((glMultiTexCoord3ivARB = (PFNGLMULTITEXCOORD3IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3ivARB")) == NULL) || r; r = ((glMultiTexCoord3sARB = (PFNGLMULTITEXCOORD3SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3sARB")) == NULL) || r; r = ((glMultiTexCoord3svARB = (PFNGLMULTITEXCOORD3SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3svARB")) == NULL) || r; r = ((glMultiTexCoord4dARB = (PFNGLMULTITEXCOORD4DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dARB")) == NULL) || r; r = ((glMultiTexCoord4dvARB = (PFNGLMULTITEXCOORD4DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dvARB")) == NULL) || r; r = ((glMultiTexCoord4fARB = (PFNGLMULTITEXCOORD4FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fARB")) == NULL) || r; r = ((glMultiTexCoord4fvARB = (PFNGLMULTITEXCOORD4FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fvARB")) == NULL) || r; r = ((glMultiTexCoord4iARB = (PFNGLMULTITEXCOORD4IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4iARB")) == NULL) || r; r = ((glMultiTexCoord4ivARB = (PFNGLMULTITEXCOORD4IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4ivARB")) == NULL) || r; r = ((glMultiTexCoord4sARB = (PFNGLMULTITEXCOORD4SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4sARB")) == NULL) || r; r = ((glMultiTexCoord4svARB = (PFNGLMULTITEXCOORD4SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4svARB")) == NULL) || r; return r; } #endif /* GL_ARB_multitexture */ #ifdef GL_ARB_occlusion_query static GLboolean _glewInit_GL_ARB_occlusion_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginQueryARB = (PFNGLBEGINQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glBeginQueryARB")) == NULL) || r; r = ((glDeleteQueriesARB = (PFNGLDELETEQUERIESARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueriesARB")) == NULL) || r; r = ((glEndQueryARB = (PFNGLENDQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glEndQueryARB")) == NULL) || r; r = ((glGenQueriesARB = (PFNGLGENQUERIESARBPROC)glewGetProcAddress((const GLubyte*)"glGenQueriesARB")) == NULL) || r; r = ((glGetQueryObjectivARB = (PFNGLGETQUERYOBJECTIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectivARB")) == NULL) || r; r = ((glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuivARB")) == NULL) || r; r = ((glGetQueryivARB = (PFNGLGETQUERYIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryivARB")) == NULL) || r; r = ((glIsQueryARB = (PFNGLISQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glIsQueryARB")) == NULL) || r; return r; } #endif /* GL_ARB_occlusion_query */ #ifdef GL_ARB_occlusion_query2 #endif /* GL_ARB_occlusion_query2 */ #ifdef GL_ARB_pixel_buffer_object #endif /* GL_ARB_pixel_buffer_object */ #ifdef GL_ARB_point_parameters static GLboolean _glewInit_GL_ARB_point_parameters (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfARB")) == NULL) || r; r = ((glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfvARB")) == NULL) || r; return r; } #endif /* GL_ARB_point_parameters */ #ifdef GL_ARB_point_sprite #endif /* GL_ARB_point_sprite */ #ifdef GL_ARB_program_interface_query static GLboolean _glewInit_GL_ARB_program_interface_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramInterfaceiv")) == NULL) || r; r = ((glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceIndex")) == NULL) || r; r = ((glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceLocation")) == NULL) || r; r = ((glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceLocationIndex")) == NULL) || r; r = ((glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceName")) == NULL) || r; r = ((glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramResourceiv")) == NULL) || r; return r; } #endif /* GL_ARB_program_interface_query */ #ifdef GL_ARB_provoking_vertex static GLboolean _glewInit_GL_ARB_provoking_vertex (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)glewGetProcAddress((const GLubyte*)"glProvokingVertex")) == NULL) || r; return r; } #endif /* GL_ARB_provoking_vertex */ #ifdef GL_ARB_query_buffer_object #endif /* GL_ARB_query_buffer_object */ #ifdef GL_ARB_robust_buffer_access_behavior #endif /* GL_ARB_robust_buffer_access_behavior */ #ifdef GL_ARB_robustness static GLboolean _glewInit_GL_ARB_robustness (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC)glewGetProcAddress((const GLubyte*)"glGetGraphicsResetStatusARB")) == NULL) || r; r = ((glGetnColorTableARB = (PFNGLGETNCOLORTABLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnColorTableARB")) == NULL) || r; r = ((glGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnCompressedTexImageARB")) == NULL) || r; r = ((glGetnConvolutionFilterARB = (PFNGLGETNCONVOLUTIONFILTERARBPROC)glewGetProcAddress((const GLubyte*)"glGetnConvolutionFilterARB")) == NULL) || r; r = ((glGetnHistogramARB = (PFNGLGETNHISTOGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glGetnHistogramARB")) == NULL) || r; r = ((glGetnMapdvARB = (PFNGLGETNMAPDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMapdvARB")) == NULL) || r; r = ((glGetnMapfvARB = (PFNGLGETNMAPFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMapfvARB")) == NULL) || r; r = ((glGetnMapivARB = (PFNGLGETNMAPIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMapivARB")) == NULL) || r; r = ((glGetnMinmaxARB = (PFNGLGETNMINMAXARBPROC)glewGetProcAddress((const GLubyte*)"glGetnMinmaxARB")) == NULL) || r; r = ((glGetnPixelMapfvARB = (PFNGLGETNPIXELMAPFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPixelMapfvARB")) == NULL) || r; r = ((glGetnPixelMapuivARB = (PFNGLGETNPIXELMAPUIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPixelMapuivARB")) == NULL) || r; r = ((glGetnPixelMapusvARB = (PFNGLGETNPIXELMAPUSVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPixelMapusvARB")) == NULL) || r; r = ((glGetnPolygonStippleARB = (PFNGLGETNPOLYGONSTIPPLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnPolygonStippleARB")) == NULL) || r; r = ((glGetnSeparableFilterARB = (PFNGLGETNSEPARABLEFILTERARBPROC)glewGetProcAddress((const GLubyte*)"glGetnSeparableFilterARB")) == NULL) || r; r = ((glGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"glGetnTexImageARB")) == NULL) || r; r = ((glGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformdvARB")) == NULL) || r; r = ((glGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformfvARB")) == NULL) || r; r = ((glGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformivARB")) == NULL) || r; r = ((glGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetnUniformuivARB")) == NULL) || r; r = ((glReadnPixelsARB = (PFNGLREADNPIXELSARBPROC)glewGetProcAddress((const GLubyte*)"glReadnPixelsARB")) == NULL) || r; return r; } #endif /* GL_ARB_robustness */ #ifdef GL_ARB_robustness_application_isolation #endif /* GL_ARB_robustness_application_isolation */ #ifdef GL_ARB_robustness_share_group_isolation #endif /* GL_ARB_robustness_share_group_isolation */ #ifdef GL_ARB_sample_shading static GLboolean _glewInit_GL_ARB_sample_shading (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC)glewGetProcAddress((const GLubyte*)"glMinSampleShadingARB")) == NULL) || r; return r; } #endif /* GL_ARB_sample_shading */ #ifdef GL_ARB_sampler_objects static GLboolean _glewInit_GL_ARB_sampler_objects (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindSampler = (PFNGLBINDSAMPLERPROC)glewGetProcAddress((const GLubyte*)"glBindSampler")) == NULL) || r; r = ((glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteSamplers")) == NULL) || r; r = ((glGenSamplers = (PFNGLGENSAMPLERSPROC)glewGetProcAddress((const GLubyte*)"glGenSamplers")) == NULL) || r; r = ((glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameterIiv")) == NULL) || r; r = ((glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameterIuiv")) == NULL) || r; r = ((glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameterfv")) == NULL) || r; r = ((glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetSamplerParameteriv")) == NULL) || r; r = ((glIsSampler = (PFNGLISSAMPLERPROC)glewGetProcAddress((const GLubyte*)"glIsSampler")) == NULL) || r; r = ((glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterIiv")) == NULL) || r; r = ((glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterIuiv")) == NULL) || r; r = ((glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterf")) == NULL) || r; r = ((glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameterfv")) == NULL) || r; r = ((glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameteri")) == NULL) || r; r = ((glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glSamplerParameteriv")) == NULL) || r; return r; } #endif /* GL_ARB_sampler_objects */ #ifdef GL_ARB_seamless_cube_map #endif /* GL_ARB_seamless_cube_map */ #ifdef GL_ARB_seamless_cubemap_per_texture #endif /* GL_ARB_seamless_cubemap_per_texture */ #ifdef GL_ARB_separate_shader_objects static GLboolean _glewInit_GL_ARB_separate_shader_objects (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glActiveShaderProgram")) == NULL) || r; r = ((glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)glewGetProcAddress((const GLubyte*)"glBindProgramPipeline")) == NULL) || r; r = ((glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)glewGetProcAddress((const GLubyte*)"glCreateShaderProgramv")) == NULL) || r; r = ((glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramPipelines")) == NULL) || r; r = ((glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)glewGetProcAddress((const GLubyte*)"glGenProgramPipelines")) == NULL) || r; r = ((glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetProgramPipelineInfoLog")) == NULL) || r; r = ((glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramPipelineiv")) == NULL) || r; r = ((glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)glewGetProcAddress((const GLubyte*)"glIsProgramPipeline")) == NULL) || r; r = ((glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1d")) == NULL) || r; r = ((glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1dv")) == NULL) || r; r = ((glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1f")) == NULL) || r; r = ((glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fv")) == NULL) || r; r = ((glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i")) == NULL) || r; r = ((glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1iv")) == NULL) || r; r = ((glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui")) == NULL) || r; r = ((glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uiv")) == NULL) || r; r = ((glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2d")) == NULL) || r; r = ((glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2dv")) == NULL) || r; r = ((glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2f")) == NULL) || r; r = ((glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fv")) == NULL) || r; r = ((glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i")) == NULL) || r; r = ((glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2iv")) == NULL) || r; r = ((glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui")) == NULL) || r; r = ((glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uiv")) == NULL) || r; r = ((glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3d")) == NULL) || r; r = ((glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3dv")) == NULL) || r; r = ((glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3f")) == NULL) || r; r = ((glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fv")) == NULL) || r; r = ((glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i")) == NULL) || r; r = ((glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3iv")) == NULL) || r; r = ((glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui")) == NULL) || r; r = ((glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uiv")) == NULL) || r; r = ((glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4d")) == NULL) || r; r = ((glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4dv")) == NULL) || r; r = ((glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4f")) == NULL) || r; r = ((glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fv")) == NULL) || r; r = ((glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i")) == NULL) || r; r = ((glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4iv")) == NULL) || r; r = ((glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui")) == NULL) || r; r = ((glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uiv")) == NULL) || r; r = ((glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2dv")) == NULL) || r; r = ((glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2fv")) == NULL) || r; r = ((glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x3dv")) == NULL) || r; r = ((glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x3fv")) == NULL) || r; r = ((glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x4dv")) == NULL) || r; r = ((glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x4fv")) == NULL) || r; r = ((glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3dv")) == NULL) || r; r = ((glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3fv")) == NULL) || r; r = ((glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x2dv")) == NULL) || r; r = ((glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x2fv")) == NULL) || r; r = ((glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x4dv")) == NULL) || r; r = ((glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x4fv")) == NULL) || r; r = ((glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4dv")) == NULL) || r; r = ((glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4fv")) == NULL) || r; r = ((glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x2dv")) == NULL) || r; r = ((glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x2fv")) == NULL) || r; r = ((glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x3dv")) == NULL) || r; r = ((glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x3fv")) == NULL) || r; r = ((glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)glewGetProcAddress((const GLubyte*)"glUseProgramStages")) == NULL) || r; r = ((glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)glewGetProcAddress((const GLubyte*)"glValidateProgramPipeline")) == NULL) || r; return r; } #endif /* GL_ARB_separate_shader_objects */ #ifdef GL_ARB_shader_atomic_counters static GLboolean _glewInit_GL_ARB_shader_atomic_counters (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAtomicCounterBufferiv")) == NULL) || r; return r; } #endif /* GL_ARB_shader_atomic_counters */ #ifdef GL_ARB_shader_bit_encoding #endif /* GL_ARB_shader_bit_encoding */ #ifdef GL_ARB_shader_draw_parameters #endif /* GL_ARB_shader_draw_parameters */ #ifdef GL_ARB_shader_group_vote #endif /* GL_ARB_shader_group_vote */ #ifdef GL_ARB_shader_image_load_store static GLboolean _glewInit_GL_ARB_shader_image_load_store (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glBindImageTexture")) == NULL) || r; r = ((glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)glewGetProcAddress((const GLubyte*)"glMemoryBarrier")) == NULL) || r; return r; } #endif /* GL_ARB_shader_image_load_store */ #ifdef GL_ARB_shader_image_size #endif /* GL_ARB_shader_image_size */ #ifdef GL_ARB_shader_objects static GLboolean _glewInit_GL_ARB_shader_objects (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glAttachObjectARB")) == NULL) || r; r = ((glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)glewGetProcAddress((const GLubyte*)"glCompileShaderARB")) == NULL) || r; r = ((glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateProgramObjectARB")) == NULL) || r; r = ((glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateShaderObjectARB")) == NULL) || r; r = ((glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteObjectARB")) == NULL) || r; r = ((glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glDetachObjectARB")) == NULL) || r; r = ((glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformARB")) == NULL) || r; r = ((glGetAttachedObjectsARB = (PFNGLGETATTACHEDOBJECTSARBPROC)glewGetProcAddress((const GLubyte*)"glGetAttachedObjectsARB")) == NULL) || r; r = ((glGetHandleARB = (PFNGLGETHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetHandleARB")) == NULL) || r; r = ((glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC)glewGetProcAddress((const GLubyte*)"glGetInfoLogARB")) == NULL) || r; r = ((glGetObjectParameterfvARB = (PFNGLGETOBJECTPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterfvARB")) == NULL) || r; r = ((glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterivARB")) == NULL) || r; r = ((glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC)glewGetProcAddress((const GLubyte*)"glGetShaderSourceARB")) == NULL) || r; r = ((glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformLocationARB")) == NULL) || r; r = ((glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformfvARB")) == NULL) || r; r = ((glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformivARB")) == NULL) || r; r = ((glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glLinkProgramARB")) == NULL) || r; r = ((glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)glewGetProcAddress((const GLubyte*)"glShaderSourceARB")) == NULL) || r; r = ((glUniform1fARB = (PFNGLUNIFORM1FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1fARB")) == NULL) || r; r = ((glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1fvARB")) == NULL) || r; r = ((glUniform1iARB = (PFNGLUNIFORM1IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1iARB")) == NULL) || r; r = ((glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1ivARB")) == NULL) || r; r = ((glUniform2fARB = (PFNGLUNIFORM2FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2fARB")) == NULL) || r; r = ((glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2fvARB")) == NULL) || r; r = ((glUniform2iARB = (PFNGLUNIFORM2IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2iARB")) == NULL) || r; r = ((glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2ivARB")) == NULL) || r; r = ((glUniform3fARB = (PFNGLUNIFORM3FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3fARB")) == NULL) || r; r = ((glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3fvARB")) == NULL) || r; r = ((glUniform3iARB = (PFNGLUNIFORM3IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3iARB")) == NULL) || r; r = ((glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3ivARB")) == NULL) || r; r = ((glUniform4fARB = (PFNGLUNIFORM4FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4fARB")) == NULL) || r; r = ((glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4fvARB")) == NULL) || r; r = ((glUniform4iARB = (PFNGLUNIFORM4IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4iARB")) == NULL) || r; r = ((glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4ivARB")) == NULL) || r; r = ((glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2fvARB")) == NULL) || r; r = ((glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3fvARB")) == NULL) || r; r = ((glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4fvARB")) == NULL) || r; r = ((glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glUseProgramObjectARB")) == NULL) || r; r = ((glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glValidateProgramARB")) == NULL) || r; return r; } #endif /* GL_ARB_shader_objects */ #ifdef GL_ARB_shader_precision #endif /* GL_ARB_shader_precision */ #ifdef GL_ARB_shader_stencil_export #endif /* GL_ARB_shader_stencil_export */ #ifdef GL_ARB_shader_storage_buffer_object static GLboolean _glewInit_GL_ARB_shader_storage_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)glewGetProcAddress((const GLubyte*)"glShaderStorageBlockBinding")) == NULL) || r; return r; } #endif /* GL_ARB_shader_storage_buffer_object */ #ifdef GL_ARB_shader_subroutine static GLboolean _glewInit_GL_ARB_shader_subroutine (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveSubroutineName")) == NULL) || r; r = ((glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveSubroutineUniformName")) == NULL) || r; r = ((glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveSubroutineUniformiv")) == NULL) || r; r = ((glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStageiv")) == NULL) || r; r = ((glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetSubroutineIndex")) == NULL) || r; r = ((glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetSubroutineUniformLocation")) == NULL) || r; r = ((glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformSubroutineuiv")) == NULL) || r; r = ((glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)glewGetProcAddress((const GLubyte*)"glUniformSubroutinesuiv")) == NULL) || r; return r; } #endif /* GL_ARB_shader_subroutine */ #ifdef GL_ARB_shader_texture_lod #endif /* GL_ARB_shader_texture_lod */ #ifdef GL_ARB_shading_language_100 #endif /* GL_ARB_shading_language_100 */ #ifdef GL_ARB_shading_language_420pack #endif /* GL_ARB_shading_language_420pack */ #ifdef GL_ARB_shading_language_include static GLboolean _glewInit_GL_ARB_shading_language_include (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC)glewGetProcAddress((const GLubyte*)"glCompileShaderIncludeARB")) == NULL) || r; r = ((glDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteNamedStringARB")) == NULL) || r; r = ((glGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glGetNamedStringARB")) == NULL) || r; r = ((glGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetNamedStringivARB")) == NULL) || r; r = ((glIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glIsNamedStringARB")) == NULL) || r; r = ((glNamedStringARB = (PFNGLNAMEDSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glNamedStringARB")) == NULL) || r; return r; } #endif /* GL_ARB_shading_language_include */ #ifdef GL_ARB_shading_language_packing #endif /* GL_ARB_shading_language_packing */ #ifdef GL_ARB_shadow #endif /* GL_ARB_shadow */ #ifdef GL_ARB_shadow_ambient #endif /* GL_ARB_shadow_ambient */ #ifdef GL_ARB_sparse_texture static GLboolean _glewInit_GL_ARB_sparse_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexPageCommitmentARB = (PFNGLTEXPAGECOMMITMENTARBPROC)glewGetProcAddress((const GLubyte*)"glTexPageCommitmentARB")) == NULL) || r; r = ((glTexturePageCommitmentEXT = (PFNGLTEXTUREPAGECOMMITMENTEXTPROC)glewGetProcAddress((const GLubyte*)"glTexturePageCommitmentEXT")) == NULL) || r; return r; } #endif /* GL_ARB_sparse_texture */ #ifdef GL_ARB_stencil_texturing #endif /* GL_ARB_stencil_texturing */ #ifdef GL_ARB_sync static GLboolean _glewInit_GL_ARB_sync (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)glewGetProcAddress((const GLubyte*)"glClientWaitSync")) == NULL) || r; r = ((glDeleteSync = (PFNGLDELETESYNCPROC)glewGetProcAddress((const GLubyte*)"glDeleteSync")) == NULL) || r; r = ((glFenceSync = (PFNGLFENCESYNCPROC)glewGetProcAddress((const GLubyte*)"glFenceSync")) == NULL) || r; r = ((glGetInteger64v = (PFNGLGETINTEGER64VPROC)glewGetProcAddress((const GLubyte*)"glGetInteger64v")) == NULL) || r; r = ((glGetSynciv = (PFNGLGETSYNCIVPROC)glewGetProcAddress((const GLubyte*)"glGetSynciv")) == NULL) || r; r = ((glIsSync = (PFNGLISSYNCPROC)glewGetProcAddress((const GLubyte*)"glIsSync")) == NULL) || r; r = ((glWaitSync = (PFNGLWAITSYNCPROC)glewGetProcAddress((const GLubyte*)"glWaitSync")) == NULL) || r; return r; } #endif /* GL_ARB_sync */ #ifdef GL_ARB_tessellation_shader static GLboolean _glewInit_GL_ARB_tessellation_shader (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glPatchParameterfv")) == NULL) || r; r = ((glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glPatchParameteri")) == NULL) || r; return r; } #endif /* GL_ARB_tessellation_shader */ #ifdef GL_ARB_texture_border_clamp #endif /* GL_ARB_texture_border_clamp */ #ifdef GL_ARB_texture_buffer_object static GLboolean _glewInit_GL_ARB_texture_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexBufferARB = (PFNGLTEXBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glTexBufferARB")) == NULL) || r; return r; } #endif /* GL_ARB_texture_buffer_object */ #ifdef GL_ARB_texture_buffer_object_rgb32 #endif /* GL_ARB_texture_buffer_object_rgb32 */ #ifdef GL_ARB_texture_buffer_range static GLboolean _glewInit_GL_ARB_texture_buffer_range (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glTexBufferRange")) == NULL) || r; r = ((glTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureBufferRangeEXT")) == NULL) || r; return r; } #endif /* GL_ARB_texture_buffer_range */ #ifdef GL_ARB_texture_compression static GLboolean _glewInit_GL_ARB_texture_compression (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage1DARB")) == NULL) || r; r = ((glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage2DARB")) == NULL) || r; r = ((glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage3DARB")) == NULL) || r; r = ((glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage1DARB")) == NULL) || r; r = ((glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage2DARB")) == NULL) || r; r = ((glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage3DARB")) == NULL) || r; r = ((glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTexImageARB")) == NULL) || r; return r; } #endif /* GL_ARB_texture_compression */ #ifdef GL_ARB_texture_compression_bptc #endif /* GL_ARB_texture_compression_bptc */ #ifdef GL_ARB_texture_compression_rgtc #endif /* GL_ARB_texture_compression_rgtc */ #ifdef GL_ARB_texture_cube_map #endif /* GL_ARB_texture_cube_map */ #ifdef GL_ARB_texture_cube_map_array #endif /* GL_ARB_texture_cube_map_array */ #ifdef GL_ARB_texture_env_add #endif /* GL_ARB_texture_env_add */ #ifdef GL_ARB_texture_env_combine #endif /* GL_ARB_texture_env_combine */ #ifdef GL_ARB_texture_env_crossbar #endif /* GL_ARB_texture_env_crossbar */ #ifdef GL_ARB_texture_env_dot3 #endif /* GL_ARB_texture_env_dot3 */ #ifdef GL_ARB_texture_float #endif /* GL_ARB_texture_float */ #ifdef GL_ARB_texture_gather #endif /* GL_ARB_texture_gather */ #ifdef GL_ARB_texture_mirror_clamp_to_edge #endif /* GL_ARB_texture_mirror_clamp_to_edge */ #ifdef GL_ARB_texture_mirrored_repeat #endif /* GL_ARB_texture_mirrored_repeat */ #ifdef GL_ARB_texture_multisample static GLboolean _glewInit_GL_ARB_texture_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)glewGetProcAddress((const GLubyte*)"glGetMultisamplefv")) == NULL) || r; r = ((glSampleMaski = (PFNGLSAMPLEMASKIPROC)glewGetProcAddress((const GLubyte*)"glSampleMaski")) == NULL) || r; r = ((glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexImage2DMultisample")) == NULL) || r; r = ((glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DMultisample")) == NULL) || r; return r; } #endif /* GL_ARB_texture_multisample */ #ifdef GL_ARB_texture_non_power_of_two #endif /* GL_ARB_texture_non_power_of_two */ #ifdef GL_ARB_texture_query_levels #endif /* GL_ARB_texture_query_levels */ #ifdef GL_ARB_texture_query_lod #endif /* GL_ARB_texture_query_lod */ #ifdef GL_ARB_texture_rectangle #endif /* GL_ARB_texture_rectangle */ #ifdef GL_ARB_texture_rg #endif /* GL_ARB_texture_rg */ #ifdef GL_ARB_texture_rgb10_a2ui #endif /* GL_ARB_texture_rgb10_a2ui */ #ifdef GL_ARB_texture_stencil8 #endif /* GL_ARB_texture_stencil8 */ #ifdef GL_ARB_texture_storage static GLboolean _glewInit_GL_ARB_texture_storage (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)glewGetProcAddress((const GLubyte*)"glTexStorage1D")) == NULL) || r; r = ((glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)glewGetProcAddress((const GLubyte*)"glTexStorage2D")) == NULL) || r; r = ((glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexStorage3D")) == NULL) || r; r = ((glTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage1DEXT")) == NULL) || r; r = ((glTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage2DEXT")) == NULL) || r; r = ((glTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage3DEXT")) == NULL) || r; return r; } #endif /* GL_ARB_texture_storage */ #ifdef GL_ARB_texture_storage_multisample static GLboolean _glewInit_GL_ARB_texture_storage_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexStorage2DMultisample")) == NULL) || r; r = ((glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glTexStorage3DMultisample")) == NULL) || r; r = ((glTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage2DMultisampleEXT")) == NULL) || r; r = ((glTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureStorage3DMultisampleEXT")) == NULL) || r; return r; } #endif /* GL_ARB_texture_storage_multisample */ #ifdef GL_ARB_texture_swizzle #endif /* GL_ARB_texture_swizzle */ #ifdef GL_ARB_texture_view static GLboolean _glewInit_GL_ARB_texture_view (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTextureView = (PFNGLTEXTUREVIEWPROC)glewGetProcAddress((const GLubyte*)"glTextureView")) == NULL) || r; return r; } #endif /* GL_ARB_texture_view */ #ifdef GL_ARB_timer_query static GLboolean _glewInit_GL_ARB_timer_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjecti64v")) == NULL) || r; r = ((glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectui64v")) == NULL) || r; r = ((glQueryCounter = (PFNGLQUERYCOUNTERPROC)glewGetProcAddress((const GLubyte*)"glQueryCounter")) == NULL) || r; return r; } #endif /* GL_ARB_timer_query */ #ifdef GL_ARB_transform_feedback2 static GLboolean _glewInit_GL_ARB_transform_feedback2 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glBindTransformFeedback")) == NULL) || r; r = ((glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)glewGetProcAddress((const GLubyte*)"glDeleteTransformFeedbacks")) == NULL) || r; r = ((glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedback")) == NULL) || r; r = ((glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)glewGetProcAddress((const GLubyte*)"glGenTransformFeedbacks")) == NULL) || r; r = ((glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glIsTransformFeedback")) == NULL) || r; r = ((glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glPauseTransformFeedback")) == NULL) || r; r = ((glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glResumeTransformFeedback")) == NULL) || r; return r; } #endif /* GL_ARB_transform_feedback2 */ #ifdef GL_ARB_transform_feedback3 static GLboolean _glewInit_GL_ARB_transform_feedback3 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glBeginQueryIndexed")) == NULL) || r; r = ((glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackStream")) == NULL) || r; r = ((glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glEndQueryIndexed")) == NULL) || r; r = ((glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryIndexediv")) == NULL) || r; return r; } #endif /* GL_ARB_transform_feedback3 */ #ifdef GL_ARB_transform_feedback_instanced static GLboolean _glewInit_GL_ARB_transform_feedback_instanced (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackInstanced")) == NULL) || r; r = ((glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackStreamInstanced")) == NULL) || r; return r; } #endif /* GL_ARB_transform_feedback_instanced */ #ifdef GL_ARB_transpose_matrix static GLboolean _glewInit_GL_ARB_transpose_matrix (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glLoadTransposeMatrixdARB = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixdARB")) == NULL) || r; r = ((glLoadTransposeMatrixfARB = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixfARB")) == NULL) || r; r = ((glMultTransposeMatrixdARB = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixdARB")) == NULL) || r; r = ((glMultTransposeMatrixfARB = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixfARB")) == NULL) || r; return r; } #endif /* GL_ARB_transpose_matrix */ #ifdef GL_ARB_uniform_buffer_object static GLboolean _glewInit_GL_ARB_uniform_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBase")) == NULL) || r; r = ((glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRange")) == NULL) || r; r = ((glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformBlockName")) == NULL) || r; r = ((glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformBlockiv")) == NULL) || r; r = ((glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformName")) == NULL) || r; r = ((glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformsiv")) == NULL) || r; r = ((glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)glewGetProcAddress((const GLubyte*)"glGetIntegeri_v")) == NULL) || r; r = ((glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)glewGetProcAddress((const GLubyte*)"glGetUniformBlockIndex")) == NULL) || r; r = ((glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)glewGetProcAddress((const GLubyte*)"glGetUniformIndices")) == NULL) || r; r = ((glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)glewGetProcAddress((const GLubyte*)"glUniformBlockBinding")) == NULL) || r; return r; } #endif /* GL_ARB_uniform_buffer_object */ #ifdef GL_ARB_vertex_array_bgra #endif /* GL_ARB_vertex_array_bgra */ #ifdef GL_ARB_vertex_array_object static GLboolean _glewInit_GL_ARB_vertex_array_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)glewGetProcAddress((const GLubyte*)"glBindVertexArray")) == NULL) || r; r = ((glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexArrays")) == NULL) || r; r = ((glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)glewGetProcAddress((const GLubyte*)"glGenVertexArrays")) == NULL) || r; r = ((glIsVertexArray = (PFNGLISVERTEXARRAYPROC)glewGetProcAddress((const GLubyte*)"glIsVertexArray")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_array_object */ #ifdef GL_ARB_vertex_attrib_64bit static GLboolean _glewInit_GL_ARB_vertex_attrib_64bit (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLdv")) == NULL) || r; r = ((glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1d")) == NULL) || r; r = ((glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1dv")) == NULL) || r; r = ((glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2d")) == NULL) || r; r = ((glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2dv")) == NULL) || r; r = ((glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3d")) == NULL) || r; r = ((glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3dv")) == NULL) || r; r = ((glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4d")) == NULL) || r; r = ((glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4dv")) == NULL) || r; r = ((glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLPointer")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_attrib_64bit */ #ifdef GL_ARB_vertex_attrib_binding static GLboolean _glewInit_GL_ARB_vertex_attrib_binding (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindVertexBuffer")) == NULL) || r; r = ((glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribBinding")) == NULL) || r; r = ((glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribFormat")) == NULL) || r; r = ((glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIFormat")) == NULL) || r; r = ((glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLFormat")) == NULL) || r; r = ((glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)glewGetProcAddress((const GLubyte*)"glVertexBindingDivisor")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_attrib_binding */ #ifdef GL_ARB_vertex_blend static GLboolean _glewInit_GL_ARB_vertex_blend (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glVertexBlendARB = (PFNGLVERTEXBLENDARBPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendARB")) == NULL) || r; r = ((glWeightPointerARB = (PFNGLWEIGHTPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glWeightPointerARB")) == NULL) || r; r = ((glWeightbvARB = (PFNGLWEIGHTBVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightbvARB")) == NULL) || r; r = ((glWeightdvARB = (PFNGLWEIGHTDVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightdvARB")) == NULL) || r; r = ((glWeightfvARB = (PFNGLWEIGHTFVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightfvARB")) == NULL) || r; r = ((glWeightivARB = (PFNGLWEIGHTIVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightivARB")) == NULL) || r; r = ((glWeightsvARB = (PFNGLWEIGHTSVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightsvARB")) == NULL) || r; r = ((glWeightubvARB = (PFNGLWEIGHTUBVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightubvARB")) == NULL) || r; r = ((glWeightuivARB = (PFNGLWEIGHTUIVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightuivARB")) == NULL) || r; r = ((glWeightusvARB = (PFNGLWEIGHTUSVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightusvARB")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_blend */ #ifdef GL_ARB_vertex_buffer_object static GLboolean _glewInit_GL_ARB_vertex_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindBufferARB = (PFNGLBINDBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glBindBufferARB")) == NULL) || r; r = ((glBufferDataARB = (PFNGLBUFFERDATAARBPROC)glewGetProcAddress((const GLubyte*)"glBufferDataARB")) == NULL) || r; r = ((glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC)glewGetProcAddress((const GLubyte*)"glBufferSubDataARB")) == NULL) || r; r = ((glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteBuffersARB")) == NULL) || r; r = ((glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glGenBuffersARB")) == NULL) || r; r = ((glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameterivARB")) == NULL) || r; r = ((glGetBufferPointervARB = (PFNGLGETBUFFERPOINTERVARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferPointervARB")) == NULL) || r; r = ((glGetBufferSubDataARB = (PFNGLGETBUFFERSUBDATAARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferSubDataARB")) == NULL) || r; r = ((glIsBufferARB = (PFNGLISBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glIsBufferARB")) == NULL) || r; r = ((glMapBufferARB = (PFNGLMAPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glMapBufferARB")) == NULL) || r; r = ((glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glUnmapBufferARB")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_buffer_object */ #ifdef GL_ARB_vertex_program static GLboolean _glewInit_GL_ARB_vertex_program (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glBindProgramARB")) == NULL) || r; r = ((glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramsARB")) == NULL) || r; r = ((glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribArrayARB")) == NULL) || r; r = ((glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribArrayARB")) == NULL) || r; r = ((glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)glewGetProcAddress((const GLubyte*)"glGenProgramsARB")) == NULL) || r; r = ((glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramEnvParameterdvARB")) == NULL) || r; r = ((glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramEnvParameterfvARB")) == NULL) || r; r = ((glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramLocalParameterdvARB")) == NULL) || r; r = ((glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramLocalParameterfvARB")) == NULL) || r; r = ((glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStringARB")) == NULL) || r; r = ((glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramivARB")) == NULL) || r; r = ((glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointervARB")) == NULL) || r; r = ((glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdvARB")) == NULL) || r; r = ((glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfvARB")) == NULL) || r; r = ((glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribivARB")) == NULL) || r; r = ((glIsProgramARB = (PFNGLISPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glIsProgramARB")) == NULL) || r; r = ((glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4dARB")) == NULL) || r; r = ((glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4dvARB")) == NULL) || r; r = ((glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4fARB")) == NULL) || r; r = ((glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4fvARB")) == NULL) || r; r = ((glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4dARB")) == NULL) || r; r = ((glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4dvARB")) == NULL) || r; r = ((glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4fARB")) == NULL) || r; r = ((glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4fvARB")) == NULL) || r; r = ((glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glProgramStringARB")) == NULL) || r; r = ((glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dARB")) == NULL) || r; r = ((glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dvARB")) == NULL) || r; r = ((glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fARB")) == NULL) || r; r = ((glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fvARB")) == NULL) || r; r = ((glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sARB")) == NULL) || r; r = ((glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1svARB")) == NULL) || r; r = ((glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dARB")) == NULL) || r; r = ((glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dvARB")) == NULL) || r; r = ((glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fARB")) == NULL) || r; r = ((glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fvARB")) == NULL) || r; r = ((glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sARB")) == NULL) || r; r = ((glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2svARB")) == NULL) || r; r = ((glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dARB")) == NULL) || r; r = ((glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dvARB")) == NULL) || r; r = ((glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fARB")) == NULL) || r; r = ((glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fvARB")) == NULL) || r; r = ((glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sARB")) == NULL) || r; r = ((glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3svARB")) == NULL) || r; r = ((glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NbvARB")) == NULL) || r; r = ((glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NivARB")) == NULL) || r; r = ((glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NsvARB")) == NULL) || r; r = ((glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NubARB")) == NULL) || r; r = ((glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NubvARB")) == NULL) || r; r = ((glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NuivARB")) == NULL) || r; r = ((glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NusvARB")) == NULL) || r; r = ((glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4bvARB")) == NULL) || r; r = ((glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dARB")) == NULL) || r; r = ((glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dvARB")) == NULL) || r; r = ((glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fARB")) == NULL) || r; r = ((glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fvARB")) == NULL) || r; r = ((glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ivARB")) == NULL) || r; r = ((glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sARB")) == NULL) || r; r = ((glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4svARB")) == NULL) || r; r = ((glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubvARB")) == NULL) || r; r = ((glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4uivARB")) == NULL) || r; r = ((glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4usvARB")) == NULL) || r; r = ((glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointerARB")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_program */ #ifdef GL_ARB_vertex_shader static GLboolean _glewInit_GL_ARB_vertex_shader (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindAttribLocationARB = (PFNGLBINDATTRIBLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glBindAttribLocationARB")) == NULL) || r; r = ((glGetActiveAttribARB = (PFNGLGETACTIVEATTRIBARBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAttribARB")) == NULL) || r; r = ((glGetAttribLocationARB = (PFNGLGETATTRIBLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glGetAttribLocationARB")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_shader */ #ifdef GL_ARB_vertex_type_10f_11f_11f_rev #endif /* GL_ARB_vertex_type_10f_11f_11f_rev */ #ifdef GL_ARB_vertex_type_2_10_10_10_rev static GLboolean _glewInit_GL_ARB_vertex_type_2_10_10_10_rev (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColorP3ui = (PFNGLCOLORP3UIPROC)glewGetProcAddress((const GLubyte*)"glColorP3ui")) == NULL) || r; r = ((glColorP3uiv = (PFNGLCOLORP3UIVPROC)glewGetProcAddress((const GLubyte*)"glColorP3uiv")) == NULL) || r; r = ((glColorP4ui = (PFNGLCOLORP4UIPROC)glewGetProcAddress((const GLubyte*)"glColorP4ui")) == NULL) || r; r = ((glColorP4uiv = (PFNGLCOLORP4UIVPROC)glewGetProcAddress((const GLubyte*)"glColorP4uiv")) == NULL) || r; r = ((glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP1ui")) == NULL) || r; r = ((glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP1uiv")) == NULL) || r; r = ((glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP2ui")) == NULL) || r; r = ((glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP2uiv")) == NULL) || r; r = ((glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP3ui")) == NULL) || r; r = ((glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP3uiv")) == NULL) || r; r = ((glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP4ui")) == NULL) || r; r = ((glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordP4uiv")) == NULL) || r; r = ((glNormalP3ui = (PFNGLNORMALP3UIPROC)glewGetProcAddress((const GLubyte*)"glNormalP3ui")) == NULL) || r; r = ((glNormalP3uiv = (PFNGLNORMALP3UIVPROC)glewGetProcAddress((const GLubyte*)"glNormalP3uiv")) == NULL) || r; r = ((glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorP3ui")) == NULL) || r; r = ((glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorP3uiv")) == NULL) || r; r = ((glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP1ui")) == NULL) || r; r = ((glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP1uiv")) == NULL) || r; r = ((glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP2ui")) == NULL) || r; r = ((glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP2uiv")) == NULL) || r; r = ((glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP3ui")) == NULL) || r; r = ((glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP3uiv")) == NULL) || r; r = ((glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP4ui")) == NULL) || r; r = ((glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordP4uiv")) == NULL) || r; r = ((glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP1ui")) == NULL) || r; r = ((glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP1uiv")) == NULL) || r; r = ((glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP2ui")) == NULL) || r; r = ((glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP2uiv")) == NULL) || r; r = ((glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP3ui")) == NULL) || r; r = ((glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP3uiv")) == NULL) || r; r = ((glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP4ui")) == NULL) || r; r = ((glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribP4uiv")) == NULL) || r; r = ((glVertexP2ui = (PFNGLVERTEXP2UIPROC)glewGetProcAddress((const GLubyte*)"glVertexP2ui")) == NULL) || r; r = ((glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexP2uiv")) == NULL) || r; r = ((glVertexP3ui = (PFNGLVERTEXP3UIPROC)glewGetProcAddress((const GLubyte*)"glVertexP3ui")) == NULL) || r; r = ((glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexP3uiv")) == NULL) || r; r = ((glVertexP4ui = (PFNGLVERTEXP4UIPROC)glewGetProcAddress((const GLubyte*)"glVertexP4ui")) == NULL) || r; r = ((glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexP4uiv")) == NULL) || r; return r; } #endif /* GL_ARB_vertex_type_2_10_10_10_rev */ #ifdef GL_ARB_viewport_array static GLboolean _glewInit_GL_ARB_viewport_array (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)glewGetProcAddress((const GLubyte*)"glDepthRangeArrayv")) == NULL) || r; r = ((glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glDepthRangeIndexed")) == NULL) || r; r = ((glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)glewGetProcAddress((const GLubyte*)"glGetDoublei_v")) == NULL) || r; r = ((glGetFloati_v = (PFNGLGETFLOATI_VPROC)glewGetProcAddress((const GLubyte*)"glGetFloati_v")) == NULL) || r; r = ((glScissorArrayv = (PFNGLSCISSORARRAYVPROC)glewGetProcAddress((const GLubyte*)"glScissorArrayv")) == NULL) || r; r = ((glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)glewGetProcAddress((const GLubyte*)"glScissorIndexed")) == NULL) || r; r = ((glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)glewGetProcAddress((const GLubyte*)"glScissorIndexedv")) == NULL) || r; r = ((glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)glewGetProcAddress((const GLubyte*)"glViewportArrayv")) == NULL) || r; r = ((glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)glewGetProcAddress((const GLubyte*)"glViewportIndexedf")) == NULL) || r; r = ((glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)glewGetProcAddress((const GLubyte*)"glViewportIndexedfv")) == NULL) || r; return r; } #endif /* GL_ARB_viewport_array */ #ifdef GL_ARB_window_pos static GLboolean _glewInit_GL_ARB_window_pos (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glWindowPos2dARB = (PFNGLWINDOWPOS2DARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dARB")) == NULL) || r; r = ((glWindowPos2dvARB = (PFNGLWINDOWPOS2DVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dvARB")) == NULL) || r; r = ((glWindowPos2fARB = (PFNGLWINDOWPOS2FARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fARB")) == NULL) || r; r = ((glWindowPos2fvARB = (PFNGLWINDOWPOS2FVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fvARB")) == NULL) || r; r = ((glWindowPos2iARB = (PFNGLWINDOWPOS2IARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iARB")) == NULL) || r; r = ((glWindowPos2ivARB = (PFNGLWINDOWPOS2IVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2ivARB")) == NULL) || r; r = ((glWindowPos2sARB = (PFNGLWINDOWPOS2SARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sARB")) == NULL) || r; r = ((glWindowPos2svARB = (PFNGLWINDOWPOS2SVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2svARB")) == NULL) || r; r = ((glWindowPos3dARB = (PFNGLWINDOWPOS3DARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dARB")) == NULL) || r; r = ((glWindowPos3dvARB = (PFNGLWINDOWPOS3DVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dvARB")) == NULL) || r; r = ((glWindowPos3fARB = (PFNGLWINDOWPOS3FARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fARB")) == NULL) || r; r = ((glWindowPos3fvARB = (PFNGLWINDOWPOS3FVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fvARB")) == NULL) || r; r = ((glWindowPos3iARB = (PFNGLWINDOWPOS3IARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iARB")) == NULL) || r; r = ((glWindowPos3ivARB = (PFNGLWINDOWPOS3IVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3ivARB")) == NULL) || r; r = ((glWindowPos3sARB = (PFNGLWINDOWPOS3SARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sARB")) == NULL) || r; r = ((glWindowPos3svARB = (PFNGLWINDOWPOS3SVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3svARB")) == NULL) || r; return r; } #endif /* GL_ARB_window_pos */ #ifdef GL_ATIX_point_sprites #endif /* GL_ATIX_point_sprites */ #ifdef GL_ATIX_texture_env_combine3 #endif /* GL_ATIX_texture_env_combine3 */ #ifdef GL_ATIX_texture_env_route #endif /* GL_ATIX_texture_env_route */ #ifdef GL_ATIX_vertex_shader_output_point_size #endif /* GL_ATIX_vertex_shader_output_point_size */ #ifdef GL_ATI_draw_buffers static GLboolean _glewInit_GL_ATI_draw_buffers (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersATI")) == NULL) || r; return r; } #endif /* GL_ATI_draw_buffers */ #ifdef GL_ATI_element_array static GLboolean _glewInit_GL_ATI_element_array (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawElementArrayATI = (PFNGLDRAWELEMENTARRAYATIPROC)glewGetProcAddress((const GLubyte*)"glDrawElementArrayATI")) == NULL) || r; r = ((glDrawRangeElementArrayATI = (PFNGLDRAWRANGEELEMENTARRAYATIPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementArrayATI")) == NULL) || r; r = ((glElementPointerATI = (PFNGLELEMENTPOINTERATIPROC)glewGetProcAddress((const GLubyte*)"glElementPointerATI")) == NULL) || r; return r; } #endif /* GL_ATI_element_array */ #ifdef GL_ATI_envmap_bumpmap static GLboolean _glewInit_GL_ATI_envmap_bumpmap (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetTexBumpParameterfvATI = (PFNGLGETTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetTexBumpParameterfvATI")) == NULL) || r; r = ((glGetTexBumpParameterivATI = (PFNGLGETTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetTexBumpParameterivATI")) == NULL) || r; r = ((glTexBumpParameterfvATI = (PFNGLTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress((const GLubyte*)"glTexBumpParameterfvATI")) == NULL) || r; r = ((glTexBumpParameterivATI = (PFNGLTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress((const GLubyte*)"glTexBumpParameterivATI")) == NULL) || r; return r; } #endif /* GL_ATI_envmap_bumpmap */ #ifdef GL_ATI_fragment_shader static GLboolean _glewInit_GL_ATI_fragment_shader (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAlphaFragmentOp1ATI = (PFNGLALPHAFRAGMENTOP1ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp1ATI")) == NULL) || r; r = ((glAlphaFragmentOp2ATI = (PFNGLALPHAFRAGMENTOP2ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp2ATI")) == NULL) || r; r = ((glAlphaFragmentOp3ATI = (PFNGLALPHAFRAGMENTOP3ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp3ATI")) == NULL) || r; r = ((glBeginFragmentShaderATI = (PFNGLBEGINFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glBeginFragmentShaderATI")) == NULL) || r; r = ((glBindFragmentShaderATI = (PFNGLBINDFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glBindFragmentShaderATI")) == NULL) || r; r = ((glColorFragmentOp1ATI = (PFNGLCOLORFRAGMENTOP1ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp1ATI")) == NULL) || r; r = ((glColorFragmentOp2ATI = (PFNGLCOLORFRAGMENTOP2ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp2ATI")) == NULL) || r; r = ((glColorFragmentOp3ATI = (PFNGLCOLORFRAGMENTOP3ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp3ATI")) == NULL) || r; r = ((glDeleteFragmentShaderATI = (PFNGLDELETEFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glDeleteFragmentShaderATI")) == NULL) || r; r = ((glEndFragmentShaderATI = (PFNGLENDFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glEndFragmentShaderATI")) == NULL) || r; r = ((glGenFragmentShadersATI = (PFNGLGENFRAGMENTSHADERSATIPROC)glewGetProcAddress((const GLubyte*)"glGenFragmentShadersATI")) == NULL) || r; r = ((glPassTexCoordATI = (PFNGLPASSTEXCOORDATIPROC)glewGetProcAddress((const GLubyte*)"glPassTexCoordATI")) == NULL) || r; r = ((glSampleMapATI = (PFNGLSAMPLEMAPATIPROC)glewGetProcAddress((const GLubyte*)"glSampleMapATI")) == NULL) || r; r = ((glSetFragmentShaderConstantATI = (PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)glewGetProcAddress((const GLubyte*)"glSetFragmentShaderConstantATI")) == NULL) || r; return r; } #endif /* GL_ATI_fragment_shader */ #ifdef GL_ATI_map_object_buffer static GLboolean _glewInit_GL_ATI_map_object_buffer (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMapObjectBufferATI = (PFNGLMAPOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glMapObjectBufferATI")) == NULL) || r; r = ((glUnmapObjectBufferATI = (PFNGLUNMAPOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glUnmapObjectBufferATI")) == NULL) || r; return r; } #endif /* GL_ATI_map_object_buffer */ #ifdef GL_ATI_meminfo #endif /* GL_ATI_meminfo */ #ifdef GL_ATI_pn_triangles static GLboolean _glewInit_GL_ATI_pn_triangles (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPNTrianglesfATI = (PFNGLPNTRIANGLESFATIPROC)glewGetProcAddress((const GLubyte*)"glPNTrianglesfATI")) == NULL) || r; r = ((glPNTrianglesiATI = (PFNGLPNTRIANGLESIATIPROC)glewGetProcAddress((const GLubyte*)"glPNTrianglesiATI")) == NULL) || r; return r; } #endif /* GL_ATI_pn_triangles */ #ifdef GL_ATI_separate_stencil static GLboolean _glewInit_GL_ATI_separate_stencil (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glStencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC)glewGetProcAddress((const GLubyte*)"glStencilFuncSeparateATI")) == NULL) || r; r = ((glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC)glewGetProcAddress((const GLubyte*)"glStencilOpSeparateATI")) == NULL) || r; return r; } #endif /* GL_ATI_separate_stencil */ #ifdef GL_ATI_shader_texture_lod #endif /* GL_ATI_shader_texture_lod */ #ifdef GL_ATI_text_fragment_shader #endif /* GL_ATI_text_fragment_shader */ #ifdef GL_ATI_texture_compression_3dc #endif /* GL_ATI_texture_compression_3dc */ #ifdef GL_ATI_texture_env_combine3 #endif /* GL_ATI_texture_env_combine3 */ #ifdef GL_ATI_texture_float #endif /* GL_ATI_texture_float */ #ifdef GL_ATI_texture_mirror_once #endif /* GL_ATI_texture_mirror_once */ #ifdef GL_ATI_vertex_array_object static GLboolean _glewInit_GL_ATI_vertex_array_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glArrayObjectATI = (PFNGLARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glArrayObjectATI")) == NULL) || r; r = ((glFreeObjectBufferATI = (PFNGLFREEOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glFreeObjectBufferATI")) == NULL) || r; r = ((glGetArrayObjectfvATI = (PFNGLGETARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetArrayObjectfvATI")) == NULL) || r; r = ((glGetArrayObjectivATI = (PFNGLGETARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetArrayObjectivATI")) == NULL) || r; r = ((glGetObjectBufferfvATI = (PFNGLGETOBJECTBUFFERFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetObjectBufferfvATI")) == NULL) || r; r = ((glGetObjectBufferivATI = (PFNGLGETOBJECTBUFFERIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetObjectBufferivATI")) == NULL) || r; r = ((glGetVariantArrayObjectfvATI = (PFNGLGETVARIANTARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVariantArrayObjectfvATI")) == NULL) || r; r = ((glGetVariantArrayObjectivATI = (PFNGLGETVARIANTARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVariantArrayObjectivATI")) == NULL) || r; r = ((glIsObjectBufferATI = (PFNGLISOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glIsObjectBufferATI")) == NULL) || r; r = ((glNewObjectBufferATI = (PFNGLNEWOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glNewObjectBufferATI")) == NULL) || r; r = ((glUpdateObjectBufferATI = (PFNGLUPDATEOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glUpdateObjectBufferATI")) == NULL) || r; r = ((glVariantArrayObjectATI = (PFNGLVARIANTARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glVariantArrayObjectATI")) == NULL) || r; return r; } #endif /* GL_ATI_vertex_array_object */ #ifdef GL_ATI_vertex_attrib_array_object static GLboolean _glewInit_GL_ATI_vertex_attrib_array_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetVertexAttribArrayObjectfvATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribArrayObjectfvATI")) == NULL) || r; r = ((glGetVertexAttribArrayObjectivATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribArrayObjectivATI")) == NULL) || r; r = ((glVertexAttribArrayObjectATI = (PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribArrayObjectATI")) == NULL) || r; return r; } #endif /* GL_ATI_vertex_attrib_array_object */ #ifdef GL_ATI_vertex_streams static GLboolean _glewInit_GL_ATI_vertex_streams (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClientActiveVertexStreamATI = (PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)glewGetProcAddress((const GLubyte*)"glClientActiveVertexStreamATI")) == NULL) || r; r = ((glNormalStream3bATI = (PFNGLNORMALSTREAM3BATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3bATI")) == NULL) || r; r = ((glNormalStream3bvATI = (PFNGLNORMALSTREAM3BVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3bvATI")) == NULL) || r; r = ((glNormalStream3dATI = (PFNGLNORMALSTREAM3DATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3dATI")) == NULL) || r; r = ((glNormalStream3dvATI = (PFNGLNORMALSTREAM3DVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3dvATI")) == NULL) || r; r = ((glNormalStream3fATI = (PFNGLNORMALSTREAM3FATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3fATI")) == NULL) || r; r = ((glNormalStream3fvATI = (PFNGLNORMALSTREAM3FVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3fvATI")) == NULL) || r; r = ((glNormalStream3iATI = (PFNGLNORMALSTREAM3IATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3iATI")) == NULL) || r; r = ((glNormalStream3ivATI = (PFNGLNORMALSTREAM3IVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3ivATI")) == NULL) || r; r = ((glNormalStream3sATI = (PFNGLNORMALSTREAM3SATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3sATI")) == NULL) || r; r = ((glNormalStream3svATI = (PFNGLNORMALSTREAM3SVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3svATI")) == NULL) || r; r = ((glVertexBlendEnvfATI = (PFNGLVERTEXBLENDENVFATIPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendEnvfATI")) == NULL) || r; r = ((glVertexBlendEnviATI = (PFNGLVERTEXBLENDENVIATIPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendEnviATI")) == NULL) || r; r = ((glVertexStream1dATI = (PFNGLVERTEXSTREAM1DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1dATI")) == NULL) || r; r = ((glVertexStream1dvATI = (PFNGLVERTEXSTREAM1DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1dvATI")) == NULL) || r; r = ((glVertexStream1fATI = (PFNGLVERTEXSTREAM1FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1fATI")) == NULL) || r; r = ((glVertexStream1fvATI = (PFNGLVERTEXSTREAM1FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1fvATI")) == NULL) || r; r = ((glVertexStream1iATI = (PFNGLVERTEXSTREAM1IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1iATI")) == NULL) || r; r = ((glVertexStream1ivATI = (PFNGLVERTEXSTREAM1IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1ivATI")) == NULL) || r; r = ((glVertexStream1sATI = (PFNGLVERTEXSTREAM1SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1sATI")) == NULL) || r; r = ((glVertexStream1svATI = (PFNGLVERTEXSTREAM1SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream1svATI")) == NULL) || r; r = ((glVertexStream2dATI = (PFNGLVERTEXSTREAM2DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2dATI")) == NULL) || r; r = ((glVertexStream2dvATI = (PFNGLVERTEXSTREAM2DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2dvATI")) == NULL) || r; r = ((glVertexStream2fATI = (PFNGLVERTEXSTREAM2FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2fATI")) == NULL) || r; r = ((glVertexStream2fvATI = (PFNGLVERTEXSTREAM2FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2fvATI")) == NULL) || r; r = ((glVertexStream2iATI = (PFNGLVERTEXSTREAM2IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2iATI")) == NULL) || r; r = ((glVertexStream2ivATI = (PFNGLVERTEXSTREAM2IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2ivATI")) == NULL) || r; r = ((glVertexStream2sATI = (PFNGLVERTEXSTREAM2SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2sATI")) == NULL) || r; r = ((glVertexStream2svATI = (PFNGLVERTEXSTREAM2SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2svATI")) == NULL) || r; r = ((glVertexStream3dATI = (PFNGLVERTEXSTREAM3DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3dATI")) == NULL) || r; r = ((glVertexStream3dvATI = (PFNGLVERTEXSTREAM3DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3dvATI")) == NULL) || r; r = ((glVertexStream3fATI = (PFNGLVERTEXSTREAM3FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3fATI")) == NULL) || r; r = ((glVertexStream3fvATI = (PFNGLVERTEXSTREAM3FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3fvATI")) == NULL) || r; r = ((glVertexStream3iATI = (PFNGLVERTEXSTREAM3IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3iATI")) == NULL) || r; r = ((glVertexStream3ivATI = (PFNGLVERTEXSTREAM3IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3ivATI")) == NULL) || r; r = ((glVertexStream3sATI = (PFNGLVERTEXSTREAM3SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3sATI")) == NULL) || r; r = ((glVertexStream3svATI = (PFNGLVERTEXSTREAM3SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3svATI")) == NULL) || r; r = ((glVertexStream4dATI = (PFNGLVERTEXSTREAM4DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4dATI")) == NULL) || r; r = ((glVertexStream4dvATI = (PFNGLVERTEXSTREAM4DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4dvATI")) == NULL) || r; r = ((glVertexStream4fATI = (PFNGLVERTEXSTREAM4FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4fATI")) == NULL) || r; r = ((glVertexStream4fvATI = (PFNGLVERTEXSTREAM4FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4fvATI")) == NULL) || r; r = ((glVertexStream4iATI = (PFNGLVERTEXSTREAM4IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4iATI")) == NULL) || r; r = ((glVertexStream4ivATI = (PFNGLVERTEXSTREAM4IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4ivATI")) == NULL) || r; r = ((glVertexStream4sATI = (PFNGLVERTEXSTREAM4SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4sATI")) == NULL) || r; r = ((glVertexStream4svATI = (PFNGLVERTEXSTREAM4SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4svATI")) == NULL) || r; return r; } #endif /* GL_ATI_vertex_streams */ #ifdef GL_EXT_422_pixels #endif /* GL_EXT_422_pixels */ #ifdef GL_EXT_Cg_shader #endif /* GL_EXT_Cg_shader */ #ifdef GL_EXT_abgr #endif /* GL_EXT_abgr */ #ifdef GL_EXT_bgra #endif /* GL_EXT_bgra */ #ifdef GL_EXT_bindable_uniform static GLboolean _glewInit_GL_EXT_bindable_uniform (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetUniformBufferSizeEXT = (PFNGLGETUNIFORMBUFFERSIZEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformBufferSizeEXT")) == NULL) || r; r = ((glGetUniformOffsetEXT = (PFNGLGETUNIFORMOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformOffsetEXT")) == NULL) || r; r = ((glUniformBufferEXT = (PFNGLUNIFORMBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glUniformBufferEXT")) == NULL) || r; return r; } #endif /* GL_EXT_bindable_uniform */ #ifdef GL_EXT_blend_color static GLboolean _glewInit_GL_EXT_blend_color (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)glewGetProcAddress((const GLubyte*)"glBlendColorEXT")) == NULL) || r; return r; } #endif /* GL_EXT_blend_color */ #ifdef GL_EXT_blend_equation_separate static GLboolean _glewInit_GL_EXT_blend_equation_separate (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendEquationSeparateEXT = (PFNGLBLENDEQUATIONSEPARATEEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateEXT")) == NULL) || r; return r; } #endif /* GL_EXT_blend_equation_separate */ #ifdef GL_EXT_blend_func_separate static GLboolean _glewInit_GL_EXT_blend_func_separate (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateEXT")) == NULL) || r; return r; } #endif /* GL_EXT_blend_func_separate */ #ifdef GL_EXT_blend_logic_op #endif /* GL_EXT_blend_logic_op */ #ifdef GL_EXT_blend_minmax static GLboolean _glewInit_GL_EXT_blend_minmax (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationEXT")) == NULL) || r; return r; } #endif /* GL_EXT_blend_minmax */ #ifdef GL_EXT_blend_subtract #endif /* GL_EXT_blend_subtract */ #ifdef GL_EXT_clip_volume_hint #endif /* GL_EXT_clip_volume_hint */ #ifdef GL_EXT_cmyka #endif /* GL_EXT_cmyka */ #ifdef GL_EXT_color_subtable static GLboolean _glewInit_GL_EXT_color_subtable (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColorSubTableEXT = (PFNGLCOLORSUBTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glColorSubTableEXT")) == NULL) || r; r = ((glCopyColorSubTableEXT = (PFNGLCOPYCOLORSUBTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyColorSubTableEXT")) == NULL) || r; return r; } #endif /* GL_EXT_color_subtable */ #ifdef GL_EXT_compiled_vertex_array static GLboolean _glewInit_GL_EXT_compiled_vertex_array (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glLockArraysEXT = (PFNGLLOCKARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glLockArraysEXT")) == NULL) || r; r = ((glUnlockArraysEXT = (PFNGLUNLOCKARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glUnlockArraysEXT")) == NULL) || r; return r; } #endif /* GL_EXT_compiled_vertex_array */ #ifdef GL_EXT_convolution static GLboolean _glewInit_GL_EXT_convolution (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glConvolutionFilter1DEXT = (PFNGLCONVOLUTIONFILTER1DEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter1DEXT")) == NULL) || r; r = ((glConvolutionFilter2DEXT = (PFNGLCONVOLUTIONFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter2DEXT")) == NULL) || r; r = ((glConvolutionParameterfEXT = (PFNGLCONVOLUTIONPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfEXT")) == NULL) || r; r = ((glConvolutionParameterfvEXT = (PFNGLCONVOLUTIONPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfvEXT")) == NULL) || r; r = ((glConvolutionParameteriEXT = (PFNGLCONVOLUTIONPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteriEXT")) == NULL) || r; r = ((glConvolutionParameterivEXT = (PFNGLCONVOLUTIONPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterivEXT")) == NULL) || r; r = ((glCopyConvolutionFilter1DEXT = (PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter1DEXT")) == NULL) || r; r = ((glCopyConvolutionFilter2DEXT = (PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter2DEXT")) == NULL) || r; r = ((glGetConvolutionFilterEXT = (PFNGLGETCONVOLUTIONFILTEREXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionFilterEXT")) == NULL) || r; r = ((glGetConvolutionParameterfvEXT = (PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterfvEXT")) == NULL) || r; r = ((glGetConvolutionParameterivEXT = (PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterivEXT")) == NULL) || r; r = ((glGetSeparableFilterEXT = (PFNGLGETSEPARABLEFILTEREXTPROC)glewGetProcAddress((const GLubyte*)"glGetSeparableFilterEXT")) == NULL) || r; r = ((glSeparableFilter2DEXT = (PFNGLSEPARABLEFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glSeparableFilter2DEXT")) == NULL) || r; return r; } #endif /* GL_EXT_convolution */ #ifdef GL_EXT_coordinate_frame static GLboolean _glewInit_GL_EXT_coordinate_frame (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBinormalPointerEXT = (PFNGLBINORMALPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glBinormalPointerEXT")) == NULL) || r; r = ((glTangentPointerEXT = (PFNGLTANGENTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glTangentPointerEXT")) == NULL) || r; return r; } #endif /* GL_EXT_coordinate_frame */ #ifdef GL_EXT_copy_texture static GLboolean _glewInit_GL_EXT_copy_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCopyTexImage1DEXT = (PFNGLCOPYTEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexImage1DEXT")) == NULL) || r; r = ((glCopyTexImage2DEXT = (PFNGLCOPYTEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexImage2DEXT")) == NULL) || r; r = ((glCopyTexSubImage1DEXT = (PFNGLCOPYTEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage1DEXT")) == NULL) || r; r = ((glCopyTexSubImage2DEXT = (PFNGLCOPYTEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage2DEXT")) == NULL) || r; r = ((glCopyTexSubImage3DEXT = (PFNGLCOPYTEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage3DEXT")) == NULL) || r; return r; } #endif /* GL_EXT_copy_texture */ #ifdef GL_EXT_cull_vertex static GLboolean _glewInit_GL_EXT_cull_vertex (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCullParameterdvEXT = (PFNGLCULLPARAMETERDVEXTPROC)glewGetProcAddress((const GLubyte*)"glCullParameterdvEXT")) == NULL) || r; r = ((glCullParameterfvEXT = (PFNGLCULLPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glCullParameterfvEXT")) == NULL) || r; return r; } #endif /* GL_EXT_cull_vertex */ #ifdef GL_EXT_debug_marker static GLboolean _glewInit_GL_EXT_debug_marker (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glInsertEventMarkerEXT = (PFNGLINSERTEVENTMARKEREXTPROC)glewGetProcAddress((const GLubyte*)"glInsertEventMarkerEXT")) == NULL) || r; r = ((glPopGroupMarkerEXT = (PFNGLPOPGROUPMARKEREXTPROC)glewGetProcAddress((const GLubyte*)"glPopGroupMarkerEXT")) == NULL) || r; r = ((glPushGroupMarkerEXT = (PFNGLPUSHGROUPMARKEREXTPROC)glewGetProcAddress((const GLubyte*)"glPushGroupMarkerEXT")) == NULL) || r; return r; } #endif /* GL_EXT_debug_marker */ #ifdef GL_EXT_depth_bounds_test static GLboolean _glewInit_GL_EXT_depth_bounds_test (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDepthBoundsEXT = (PFNGLDEPTHBOUNDSEXTPROC)glewGetProcAddress((const GLubyte*)"glDepthBoundsEXT")) == NULL) || r; return r; } #endif /* GL_EXT_depth_bounds_test */ #ifdef GL_EXT_direct_state_access static GLboolean _glewInit_GL_EXT_direct_state_access (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindMultiTextureEXT = (PFNGLBINDMULTITEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindMultiTextureEXT")) == NULL) || r; r = ((glCheckNamedFramebufferStatusEXT = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)glewGetProcAddress((const GLubyte*)"glCheckNamedFramebufferStatusEXT")) == NULL) || r; r = ((glClientAttribDefaultEXT = (PFNGLCLIENTATTRIBDEFAULTEXTPROC)glewGetProcAddress((const GLubyte*)"glClientAttribDefaultEXT")) == NULL) || r; r = ((glCompressedMultiTexImage1DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage1DEXT")) == NULL) || r; r = ((glCompressedMultiTexImage2DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage2DEXT")) == NULL) || r; r = ((glCompressedMultiTexImage3DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage3DEXT")) == NULL) || r; r = ((glCompressedMultiTexSubImage1DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage1DEXT")) == NULL) || r; r = ((glCompressedMultiTexSubImage2DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage2DEXT")) == NULL) || r; r = ((glCompressedMultiTexSubImage3DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage3DEXT")) == NULL) || r; r = ((glCompressedTextureImage1DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage1DEXT")) == NULL) || r; r = ((glCompressedTextureImage2DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage2DEXT")) == NULL) || r; r = ((glCompressedTextureImage3DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage3DEXT")) == NULL) || r; r = ((glCompressedTextureSubImage1DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage1DEXT")) == NULL) || r; r = ((glCompressedTextureSubImage2DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage2DEXT")) == NULL) || r; r = ((glCompressedTextureSubImage3DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage3DEXT")) == NULL) || r; r = ((glCopyMultiTexImage1DEXT = (PFNGLCOPYMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexImage1DEXT")) == NULL) || r; r = ((glCopyMultiTexImage2DEXT = (PFNGLCOPYMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexImage2DEXT")) == NULL) || r; r = ((glCopyMultiTexSubImage1DEXT = (PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage1DEXT")) == NULL) || r; r = ((glCopyMultiTexSubImage2DEXT = (PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage2DEXT")) == NULL) || r; r = ((glCopyMultiTexSubImage3DEXT = (PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage3DEXT")) == NULL) || r; r = ((glCopyTextureImage1DEXT = (PFNGLCOPYTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureImage1DEXT")) == NULL) || r; r = ((glCopyTextureImage2DEXT = (PFNGLCOPYTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureImage2DEXT")) == NULL) || r; r = ((glCopyTextureSubImage1DEXT = (PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage1DEXT")) == NULL) || r; r = ((glCopyTextureSubImage2DEXT = (PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage2DEXT")) == NULL) || r; r = ((glCopyTextureSubImage3DEXT = (PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage3DEXT")) == NULL) || r; r = ((glDisableClientStateIndexedEXT = (PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableClientStateIndexedEXT")) == NULL) || r; r = ((glDisableClientStateiEXT = (PFNGLDISABLECLIENTSTATEIEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableClientStateiEXT")) == NULL) || r; r = ((glDisableVertexArrayAttribEXT = (PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexArrayAttribEXT")) == NULL) || r; r = ((glDisableVertexArrayEXT = (PFNGLDISABLEVERTEXARRAYEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexArrayEXT")) == NULL) || r; r = ((glEnableClientStateIndexedEXT = (PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableClientStateIndexedEXT")) == NULL) || r; r = ((glEnableClientStateiEXT = (PFNGLENABLECLIENTSTATEIEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableClientStateiEXT")) == NULL) || r; r = ((glEnableVertexArrayAttribEXT = (PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexArrayAttribEXT")) == NULL) || r; r = ((glEnableVertexArrayEXT = (PFNGLENABLEVERTEXARRAYEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexArrayEXT")) == NULL) || r; r = ((glFlushMappedNamedBufferRangeEXT = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedNamedBufferRangeEXT")) == NULL) || r; r = ((glFramebufferDrawBufferEXT = (PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferDrawBufferEXT")) == NULL) || r; r = ((glFramebufferDrawBuffersEXT = (PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferDrawBuffersEXT")) == NULL) || r; r = ((glFramebufferReadBufferEXT = (PFNGLFRAMEBUFFERREADBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferReadBufferEXT")) == NULL) || r; r = ((glGenerateMultiTexMipmapEXT = (PFNGLGENERATEMULTITEXMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateMultiTexMipmapEXT")) == NULL) || r; r = ((glGenerateTextureMipmapEXT = (PFNGLGENERATETEXTUREMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateTextureMipmapEXT")) == NULL) || r; r = ((glGetCompressedMultiTexImageEXT = (PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedMultiTexImageEXT")) == NULL) || r; r = ((glGetCompressedTextureImageEXT = (PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTextureImageEXT")) == NULL) || r; r = ((glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetDoubleIndexedvEXT")) == NULL) || r; r = ((glGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetDoublei_vEXT")) == NULL) || r; r = ((glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFloatIndexedvEXT")) == NULL) || r; r = ((glGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFloati_vEXT")) == NULL) || r; r = ((glGetFramebufferParameterivEXT = (PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferParameterivEXT")) == NULL) || r; r = ((glGetMultiTexEnvfvEXT = (PFNGLGETMULTITEXENVFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexEnvfvEXT")) == NULL) || r; r = ((glGetMultiTexEnvivEXT = (PFNGLGETMULTITEXENVIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexEnvivEXT")) == NULL) || r; r = ((glGetMultiTexGendvEXT = (PFNGLGETMULTITEXGENDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGendvEXT")) == NULL) || r; r = ((glGetMultiTexGenfvEXT = (PFNGLGETMULTITEXGENFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGenfvEXT")) == NULL) || r; r = ((glGetMultiTexGenivEXT = (PFNGLGETMULTITEXGENIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGenivEXT")) == NULL) || r; r = ((glGetMultiTexImageEXT = (PFNGLGETMULTITEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexImageEXT")) == NULL) || r; r = ((glGetMultiTexLevelParameterfvEXT = (PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexLevelParameterfvEXT")) == NULL) || r; r = ((glGetMultiTexLevelParameterivEXT = (PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexLevelParameterivEXT")) == NULL) || r; r = ((glGetMultiTexParameterIivEXT = (PFNGLGETMULTITEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterIivEXT")) == NULL) || r; r = ((glGetMultiTexParameterIuivEXT = (PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterIuivEXT")) == NULL) || r; r = ((glGetMultiTexParameterfvEXT = (PFNGLGETMULTITEXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterfvEXT")) == NULL) || r; r = ((glGetMultiTexParameterivEXT = (PFNGLGETMULTITEXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterivEXT")) == NULL) || r; r = ((glGetNamedBufferParameterivEXT = (PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferParameterivEXT")) == NULL) || r; r = ((glGetNamedBufferPointervEXT = (PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferPointervEXT")) == NULL) || r; r = ((glGetNamedBufferSubDataEXT = (PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferSubDataEXT")) == NULL) || r; r = ((glGetNamedFramebufferAttachmentParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferAttachmentParameterivEXT")) == NULL) || r; r = ((glGetNamedProgramLocalParameterIivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterIivEXT")) == NULL) || r; r = ((glGetNamedProgramLocalParameterIuivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterIuivEXT")) == NULL) || r; r = ((glGetNamedProgramLocalParameterdvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterdvEXT")) == NULL) || r; r = ((glGetNamedProgramLocalParameterfvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterfvEXT")) == NULL) || r; r = ((glGetNamedProgramStringEXT = (PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramStringEXT")) == NULL) || r; r = ((glGetNamedProgramivEXT = (PFNGLGETNAMEDPROGRAMIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramivEXT")) == NULL) || r; r = ((glGetNamedRenderbufferParameterivEXT = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedRenderbufferParameterivEXT")) == NULL) || r; r = ((glGetPointerIndexedvEXT = (PFNGLGETPOINTERINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPointerIndexedvEXT")) == NULL) || r; r = ((glGetPointeri_vEXT = (PFNGLGETPOINTERI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPointeri_vEXT")) == NULL) || r; r = ((glGetTextureImageEXT = (PFNGLGETTEXTUREIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureImageEXT")) == NULL) || r; r = ((glGetTextureLevelParameterfvEXT = (PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameterfvEXT")) == NULL) || r; r = ((glGetTextureLevelParameterivEXT = (PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameterivEXT")) == NULL) || r; r = ((glGetTextureParameterIivEXT = (PFNGLGETTEXTUREPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIivEXT")) == NULL) || r; r = ((glGetTextureParameterIuivEXT = (PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIuivEXT")) == NULL) || r; r = ((glGetTextureParameterfvEXT = (PFNGLGETTEXTUREPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterfvEXT")) == NULL) || r; r = ((glGetTextureParameterivEXT = (PFNGLGETTEXTUREPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterivEXT")) == NULL) || r; r = ((glGetVertexArrayIntegeri_vEXT = (PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayIntegeri_vEXT")) == NULL) || r; r = ((glGetVertexArrayIntegervEXT = (PFNGLGETVERTEXARRAYINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayIntegervEXT")) == NULL) || r; r = ((glGetVertexArrayPointeri_vEXT = (PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayPointeri_vEXT")) == NULL) || r; r = ((glGetVertexArrayPointervEXT = (PFNGLGETVERTEXARRAYPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexArrayPointervEXT")) == NULL) || r; r = ((glMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMapNamedBufferEXT")) == NULL) || r; r = ((glMapNamedBufferRangeEXT = (PFNGLMAPNAMEDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glMapNamedBufferRangeEXT")) == NULL) || r; r = ((glMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixFrustumEXT")) == NULL) || r; r = ((glMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadIdentityEXT")) == NULL) || r; r = ((glMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadTransposedEXT")) == NULL) || r; r = ((glMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadTransposefEXT")) == NULL) || r; r = ((glMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoaddEXT")) == NULL) || r; r = ((glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadfEXT")) == NULL) || r; r = ((glMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultTransposedEXT")) == NULL) || r; r = ((glMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultTransposefEXT")) == NULL) || r; r = ((glMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultdEXT")) == NULL) || r; r = ((glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultfEXT")) == NULL) || r; r = ((glMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixOrthoEXT")) == NULL) || r; r = ((glMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixPopEXT")) == NULL) || r; r = ((glMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixPushEXT")) == NULL) || r; r = ((glMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixRotatedEXT")) == NULL) || r; r = ((glMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixRotatefEXT")) == NULL) || r; r = ((glMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixScaledEXT")) == NULL) || r; r = ((glMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixScalefEXT")) == NULL) || r; r = ((glMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixTranslatedEXT")) == NULL) || r; r = ((glMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixTranslatefEXT")) == NULL) || r; r = ((glMultiTexBufferEXT = (PFNGLMULTITEXBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexBufferEXT")) == NULL) || r; r = ((glMultiTexCoordPointerEXT = (PFNGLMULTITEXCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordPointerEXT")) == NULL) || r; r = ((glMultiTexEnvfEXT = (PFNGLMULTITEXENVFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvfEXT")) == NULL) || r; r = ((glMultiTexEnvfvEXT = (PFNGLMULTITEXENVFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvfvEXT")) == NULL) || r; r = ((glMultiTexEnviEXT = (PFNGLMULTITEXENVIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnviEXT")) == NULL) || r; r = ((glMultiTexEnvivEXT = (PFNGLMULTITEXENVIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvivEXT")) == NULL) || r; r = ((glMultiTexGendEXT = (PFNGLMULTITEXGENDEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGendEXT")) == NULL) || r; r = ((glMultiTexGendvEXT = (PFNGLMULTITEXGENDVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGendvEXT")) == NULL) || r; r = ((glMultiTexGenfEXT = (PFNGLMULTITEXGENFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenfEXT")) == NULL) || r; r = ((glMultiTexGenfvEXT = (PFNGLMULTITEXGENFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenfvEXT")) == NULL) || r; r = ((glMultiTexGeniEXT = (PFNGLMULTITEXGENIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGeniEXT")) == NULL) || r; r = ((glMultiTexGenivEXT = (PFNGLMULTITEXGENIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenivEXT")) == NULL) || r; r = ((glMultiTexImage1DEXT = (PFNGLMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage1DEXT")) == NULL) || r; r = ((glMultiTexImage2DEXT = (PFNGLMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage2DEXT")) == NULL) || r; r = ((glMultiTexImage3DEXT = (PFNGLMULTITEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage3DEXT")) == NULL) || r; r = ((glMultiTexParameterIivEXT = (PFNGLMULTITEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterIivEXT")) == NULL) || r; r = ((glMultiTexParameterIuivEXT = (PFNGLMULTITEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterIuivEXT")) == NULL) || r; r = ((glMultiTexParameterfEXT = (PFNGLMULTITEXPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterfEXT")) == NULL) || r; r = ((glMultiTexParameterfvEXT = (PFNGLMULTITEXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterfvEXT")) == NULL) || r; r = ((glMultiTexParameteriEXT = (PFNGLMULTITEXPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameteriEXT")) == NULL) || r; r = ((glMultiTexParameterivEXT = (PFNGLMULTITEXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterivEXT")) == NULL) || r; r = ((glMultiTexRenderbufferEXT = (PFNGLMULTITEXRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexRenderbufferEXT")) == NULL) || r; r = ((glMultiTexSubImage1DEXT = (PFNGLMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage1DEXT")) == NULL) || r; r = ((glMultiTexSubImage2DEXT = (PFNGLMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage2DEXT")) == NULL) || r; r = ((glMultiTexSubImage3DEXT = (PFNGLMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage3DEXT")) == NULL) || r; r = ((glNamedBufferDataEXT = (PFNGLNAMEDBUFFERDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferDataEXT")) == NULL) || r; r = ((glNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferSubDataEXT")) == NULL) || r; r = ((glNamedCopyBufferSubDataEXT = (PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedCopyBufferSubDataEXT")) == NULL) || r; r = ((glNamedFramebufferRenderbufferEXT = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferRenderbufferEXT")) == NULL) || r; r = ((glNamedFramebufferTexture1DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture1DEXT")) == NULL) || r; r = ((glNamedFramebufferTexture2DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture2DEXT")) == NULL) || r; r = ((glNamedFramebufferTexture3DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture3DEXT")) == NULL) || r; r = ((glNamedFramebufferTextureEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureEXT")) == NULL) || r; r = ((glNamedFramebufferTextureFaceEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureFaceEXT")) == NULL) || r; r = ((glNamedFramebufferTextureLayerEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureLayerEXT")) == NULL) || r; r = ((glNamedProgramLocalParameter4dEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4dEXT")) == NULL) || r; r = ((glNamedProgramLocalParameter4dvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4dvEXT")) == NULL) || r; r = ((glNamedProgramLocalParameter4fEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4fEXT")) == NULL) || r; r = ((glNamedProgramLocalParameter4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4fvEXT")) == NULL) || r; r = ((glNamedProgramLocalParameterI4iEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4iEXT")) == NULL) || r; r = ((glNamedProgramLocalParameterI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4ivEXT")) == NULL) || r; r = ((glNamedProgramLocalParameterI4uiEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4uiEXT")) == NULL) || r; r = ((glNamedProgramLocalParameterI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4uivEXT")) == NULL) || r; r = ((glNamedProgramLocalParameters4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameters4fvEXT")) == NULL) || r; r = ((glNamedProgramLocalParametersI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParametersI4ivEXT")) == NULL) || r; r = ((glNamedProgramLocalParametersI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParametersI4uivEXT")) == NULL) || r; r = ((glNamedProgramStringEXT = (PFNGLNAMEDPROGRAMSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramStringEXT")) == NULL) || r; r = ((glNamedRenderbufferStorageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageEXT")) == NULL) || r; r = ((glNamedRenderbufferStorageMultisampleCoverageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageMultisampleCoverageEXT")) == NULL) || r; r = ((glNamedRenderbufferStorageMultisampleEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageMultisampleEXT")) == NULL) || r; r = ((glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fEXT")) == NULL) || r; r = ((glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fvEXT")) == NULL) || r; r = ((glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1iEXT")) == NULL) || r; r = ((glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ivEXT")) == NULL) || r; r = ((glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uiEXT")) == NULL) || r; r = ((glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uivEXT")) == NULL) || r; r = ((glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fEXT")) == NULL) || r; r = ((glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fvEXT")) == NULL) || r; r = ((glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2iEXT")) == NULL) || r; r = ((glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ivEXT")) == NULL) || r; r = ((glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uiEXT")) == NULL) || r; r = ((glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uivEXT")) == NULL) || r; r = ((glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fEXT")) == NULL) || r; r = ((glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fvEXT")) == NULL) || r; r = ((glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3iEXT")) == NULL) || r; r = ((glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ivEXT")) == NULL) || r; r = ((glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uiEXT")) == NULL) || r; r = ((glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uivEXT")) == NULL) || r; r = ((glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fEXT")) == NULL) || r; r = ((glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fvEXT")) == NULL) || r; r = ((glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4iEXT")) == NULL) || r; r = ((glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ivEXT")) == NULL) || r; r = ((glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uiEXT")) == NULL) || r; r = ((glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uivEXT")) == NULL) || r; r = ((glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x3fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x4fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x2fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x4fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x2fvEXT")) == NULL) || r; r = ((glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x3fvEXT")) == NULL) || r; r = ((glPushClientAttribDefaultEXT = (PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)glewGetProcAddress((const GLubyte*)"glPushClientAttribDefaultEXT")) == NULL) || r; r = ((glTextureBufferEXT = (PFNGLTEXTUREBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTextureBufferEXT")) == NULL) || r; r = ((glTextureImage1DEXT = (PFNGLTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage1DEXT")) == NULL) || r; r = ((glTextureImage2DEXT = (PFNGLTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DEXT")) == NULL) || r; r = ((glTextureImage3DEXT = (PFNGLTEXTUREIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DEXT")) == NULL) || r; r = ((glTextureParameterIivEXT = (PFNGLTEXTUREPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIivEXT")) == NULL) || r; r = ((glTextureParameterIuivEXT = (PFNGLTEXTUREPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIuivEXT")) == NULL) || r; r = ((glTextureParameterfEXT = (PFNGLTEXTUREPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterfEXT")) == NULL) || r; r = ((glTextureParameterfvEXT = (PFNGLTEXTUREPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterfvEXT")) == NULL) || r; r = ((glTextureParameteriEXT = (PFNGLTEXTUREPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameteriEXT")) == NULL) || r; r = ((glTextureParameterivEXT = (PFNGLTEXTUREPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterivEXT")) == NULL) || r; r = ((glTextureRenderbufferEXT = (PFNGLTEXTURERENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTextureRenderbufferEXT")) == NULL) || r; r = ((glTextureSubImage1DEXT = (PFNGLTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage1DEXT")) == NULL) || r; r = ((glTextureSubImage2DEXT = (PFNGLTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage2DEXT")) == NULL) || r; r = ((glTextureSubImage3DEXT = (PFNGLTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage3DEXT")) == NULL) || r; r = ((glUnmapNamedBufferEXT = (PFNGLUNMAPNAMEDBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glUnmapNamedBufferEXT")) == NULL) || r; r = ((glVertexArrayColorOffsetEXT = (PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayColorOffsetEXT")) == NULL) || r; r = ((glVertexArrayEdgeFlagOffsetEXT = (PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayEdgeFlagOffsetEXT")) == NULL) || r; r = ((glVertexArrayFogCoordOffsetEXT = (PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayFogCoordOffsetEXT")) == NULL) || r; r = ((glVertexArrayIndexOffsetEXT = (PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayIndexOffsetEXT")) == NULL) || r; r = ((glVertexArrayMultiTexCoordOffsetEXT = (PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayMultiTexCoordOffsetEXT")) == NULL) || r; r = ((glVertexArrayNormalOffsetEXT = (PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayNormalOffsetEXT")) == NULL) || r; r = ((glVertexArraySecondaryColorOffsetEXT = (PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArraySecondaryColorOffsetEXT")) == NULL) || r; r = ((glVertexArrayTexCoordOffsetEXT = (PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayTexCoordOffsetEXT")) == NULL) || r; r = ((glVertexArrayVertexAttribIOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribIOffsetEXT")) == NULL) || r; r = ((glVertexArrayVertexAttribOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribOffsetEXT")) == NULL) || r; r = ((glVertexArrayVertexOffsetEXT = (PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexOffsetEXT")) == NULL) || r; return r; } #endif /* GL_EXT_direct_state_access */ #ifdef GL_EXT_draw_buffers2 static GLboolean _glewInit_GL_EXT_draw_buffers2 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColorMaskIndexedEXT = (PFNGLCOLORMASKINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glColorMaskIndexedEXT")) == NULL) || r; r = ((glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableIndexedEXT")) == NULL) || r; r = ((glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableIndexedEXT")) == NULL) || r; r = ((glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetBooleanIndexedvEXT")) == NULL) || r; r = ((glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetIntegerIndexedvEXT")) == NULL) || r; r = ((glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glIsEnabledIndexedEXT")) == NULL) || r; return r; } #endif /* GL_EXT_draw_buffers2 */ #ifdef GL_EXT_draw_instanced static GLboolean _glewInit_GL_EXT_draw_instanced (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedEXT")) == NULL) || r; r = ((glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedEXT")) == NULL) || r; return r; } #endif /* GL_EXT_draw_instanced */ #ifdef GL_EXT_draw_range_elements static GLboolean _glewInit_GL_EXT_draw_range_elements (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementsEXT")) == NULL) || r; return r; } #endif /* GL_EXT_draw_range_elements */ #ifdef GL_EXT_fog_coord static GLboolean _glewInit_GL_EXT_fog_coord (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFogCoordPointerEXT = (PFNGLFOGCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointerEXT")) == NULL) || r; r = ((glFogCoorddEXT = (PFNGLFOGCOORDDEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddEXT")) == NULL) || r; r = ((glFogCoorddvEXT = (PFNGLFOGCOORDDVEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddvEXT")) == NULL) || r; r = ((glFogCoordfEXT = (PFNGLFOGCOORDFEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfEXT")) == NULL) || r; r = ((glFogCoordfvEXT = (PFNGLFOGCOORDFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfvEXT")) == NULL) || r; return r; } #endif /* GL_EXT_fog_coord */ #ifdef GL_EXT_fragment_lighting static GLboolean _glewInit_GL_EXT_fragment_lighting (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFragmentColorMaterialEXT = (PFNGLFRAGMENTCOLORMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentColorMaterialEXT")) == NULL) || r; r = ((glFragmentLightModelfEXT = (PFNGLFRAGMENTLIGHTMODELFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfEXT")) == NULL) || r; r = ((glFragmentLightModelfvEXT = (PFNGLFRAGMENTLIGHTMODELFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfvEXT")) == NULL) || r; r = ((glFragmentLightModeliEXT = (PFNGLFRAGMENTLIGHTMODELIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModeliEXT")) == NULL) || r; r = ((glFragmentLightModelivEXT = (PFNGLFRAGMENTLIGHTMODELIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelivEXT")) == NULL) || r; r = ((glFragmentLightfEXT = (PFNGLFRAGMENTLIGHTFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfEXT")) == NULL) || r; r = ((glFragmentLightfvEXT = (PFNGLFRAGMENTLIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfvEXT")) == NULL) || r; r = ((glFragmentLightiEXT = (PFNGLFRAGMENTLIGHTIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightiEXT")) == NULL) || r; r = ((glFragmentLightivEXT = (PFNGLFRAGMENTLIGHTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightivEXT")) == NULL) || r; r = ((glFragmentMaterialfEXT = (PFNGLFRAGMENTMATERIALFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfEXT")) == NULL) || r; r = ((glFragmentMaterialfvEXT = (PFNGLFRAGMENTMATERIALFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfvEXT")) == NULL) || r; r = ((glFragmentMaterialiEXT = (PFNGLFRAGMENTMATERIALIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialiEXT")) == NULL) || r; r = ((glFragmentMaterialivEXT = (PFNGLFRAGMENTMATERIALIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialivEXT")) == NULL) || r; r = ((glGetFragmentLightfvEXT = (PFNGLGETFRAGMENTLIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightfvEXT")) == NULL) || r; r = ((glGetFragmentLightivEXT = (PFNGLGETFRAGMENTLIGHTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightivEXT")) == NULL) || r; r = ((glGetFragmentMaterialfvEXT = (PFNGLGETFRAGMENTMATERIALFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialfvEXT")) == NULL) || r; r = ((glGetFragmentMaterialivEXT = (PFNGLGETFRAGMENTMATERIALIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialivEXT")) == NULL) || r; r = ((glLightEnviEXT = (PFNGLLIGHTENVIEXTPROC)glewGetProcAddress((const GLubyte*)"glLightEnviEXT")) == NULL) || r; return r; } #endif /* GL_EXT_fragment_lighting */ #ifdef GL_EXT_framebuffer_blit static GLboolean _glewInit_GL_EXT_framebuffer_blit (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebufferEXT")) == NULL) || r; return r; } #endif /* GL_EXT_framebuffer_blit */ #ifdef GL_EXT_framebuffer_multisample static GLboolean _glewInit_GL_EXT_framebuffer_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glRenderbufferStorageMultisampleEXT = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleEXT")) == NULL) || r; return r; } #endif /* GL_EXT_framebuffer_multisample */ #ifdef GL_EXT_framebuffer_multisample_blit_scaled #endif /* GL_EXT_framebuffer_multisample_blit_scaled */ #ifdef GL_EXT_framebuffer_object static GLboolean _glewInit_GL_EXT_framebuffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindFramebufferEXT = (PFNGLBINDFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindFramebufferEXT")) == NULL) || r; r = ((glBindRenderbufferEXT = (PFNGLBINDRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindRenderbufferEXT")) == NULL) || r; r = ((glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)glewGetProcAddress((const GLubyte*)"glCheckFramebufferStatusEXT")) == NULL) || r; r = ((glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteFramebuffersEXT")) == NULL) || r; r = ((glDeleteRenderbuffersEXT = (PFNGLDELETERENDERBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteRenderbuffersEXT")) == NULL) || r; r = ((glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferRenderbufferEXT")) == NULL) || r; r = ((glFramebufferTexture1DEXT = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture1DEXT")) == NULL) || r; r = ((glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2DEXT")) == NULL) || r; r = ((glFramebufferTexture3DEXT = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture3DEXT")) == NULL) || r; r = ((glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenFramebuffersEXT")) == NULL) || r; r = ((glGenRenderbuffersEXT = (PFNGLGENRENDERBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenRenderbuffersEXT")) == NULL) || r; r = ((glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateMipmapEXT")) == NULL) || r; r = ((glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferAttachmentParameterivEXT")) == NULL) || r; r = ((glGetRenderbufferParameterivEXT = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetRenderbufferParameterivEXT")) == NULL) || r; r = ((glIsFramebufferEXT = (PFNGLISFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glIsFramebufferEXT")) == NULL) || r; r = ((glIsRenderbufferEXT = (PFNGLISRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glIsRenderbufferEXT")) == NULL) || r; r = ((glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageEXT")) == NULL) || r; return r; } #endif /* GL_EXT_framebuffer_object */ #ifdef GL_EXT_framebuffer_sRGB #endif /* GL_EXT_framebuffer_sRGB */ #ifdef GL_EXT_geometry_shader4 static GLboolean _glewInit_GL_EXT_geometry_shader4 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureEXT")) == NULL) || r; r = ((glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureFaceEXT")) == NULL) || r; r = ((glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteriEXT")) == NULL) || r; return r; } #endif /* GL_EXT_geometry_shader4 */ #ifdef GL_EXT_gpu_program_parameters static GLboolean _glewInit_GL_EXT_gpu_program_parameters (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glProgramEnvParameters4fvEXT = (PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameters4fvEXT")) == NULL) || r; r = ((glProgramLocalParameters4fvEXT = (PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameters4fvEXT")) == NULL) || r; return r; } #endif /* GL_EXT_gpu_program_parameters */ #ifdef GL_EXT_gpu_shader4 static GLboolean _glewInit_GL_EXT_gpu_shader4 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindFragDataLocationEXT = (PFNGLBINDFRAGDATALOCATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocationEXT")) == NULL) || r; r = ((glGetFragDataLocationEXT = (PFNGLGETFRAGDATALOCATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataLocationEXT")) == NULL) || r; r = ((glGetUniformuivEXT = (PFNGLGETUNIFORMUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformuivEXT")) == NULL) || r; r = ((glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIivEXT")) == NULL) || r; r = ((glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIuivEXT")) == NULL) || r; r = ((glUniform1uiEXT = (PFNGLUNIFORM1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform1uiEXT")) == NULL) || r; r = ((glUniform1uivEXT = (PFNGLUNIFORM1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform1uivEXT")) == NULL) || r; r = ((glUniform2uiEXT = (PFNGLUNIFORM2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform2uiEXT")) == NULL) || r; r = ((glUniform2uivEXT = (PFNGLUNIFORM2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform2uivEXT")) == NULL) || r; r = ((glUniform3uiEXT = (PFNGLUNIFORM3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform3uiEXT")) == NULL) || r; r = ((glUniform3uivEXT = (PFNGLUNIFORM3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform3uivEXT")) == NULL) || r; r = ((glUniform4uiEXT = (PFNGLUNIFORM4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform4uiEXT")) == NULL) || r; r = ((glUniform4uivEXT = (PFNGLUNIFORM4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform4uivEXT")) == NULL) || r; r = ((glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1iEXT")) == NULL) || r; r = ((glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1ivEXT")) == NULL) || r; r = ((glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uiEXT")) == NULL) || r; r = ((glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uivEXT")) == NULL) || r; r = ((glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2iEXT")) == NULL) || r; r = ((glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2ivEXT")) == NULL) || r; r = ((glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uiEXT")) == NULL) || r; r = ((glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uivEXT")) == NULL) || r; r = ((glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3iEXT")) == NULL) || r; r = ((glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3ivEXT")) == NULL) || r; r = ((glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uiEXT")) == NULL) || r; r = ((glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uivEXT")) == NULL) || r; r = ((glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4bvEXT")) == NULL) || r; r = ((glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4iEXT")) == NULL) || r; r = ((glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ivEXT")) == NULL) || r; r = ((glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4svEXT")) == NULL) || r; r = ((glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ubvEXT")) == NULL) || r; r = ((glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uiEXT")) == NULL) || r; r = ((glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uivEXT")) == NULL) || r; r = ((glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4usvEXT")) == NULL) || r; r = ((glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIPointerEXT")) == NULL) || r; return r; } #endif /* GL_EXT_gpu_shader4 */ #ifdef GL_EXT_histogram static GLboolean _glewInit_GL_EXT_histogram (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetHistogramEXT = (PFNGLGETHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramEXT")) == NULL) || r; r = ((glGetHistogramParameterfvEXT = (PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterfvEXT")) == NULL) || r; r = ((glGetHistogramParameterivEXT = (PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterivEXT")) == NULL) || r; r = ((glGetMinmaxEXT = (PFNGLGETMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxEXT")) == NULL) || r; r = ((glGetMinmaxParameterfvEXT = (PFNGLGETMINMAXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterfvEXT")) == NULL) || r; r = ((glGetMinmaxParameterivEXT = (PFNGLGETMINMAXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterivEXT")) == NULL) || r; r = ((glHistogramEXT = (PFNGLHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glHistogramEXT")) == NULL) || r; r = ((glMinmaxEXT = (PFNGLMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glMinmaxEXT")) == NULL) || r; r = ((glResetHistogramEXT = (PFNGLRESETHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glResetHistogramEXT")) == NULL) || r; r = ((glResetMinmaxEXT = (PFNGLRESETMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glResetMinmaxEXT")) == NULL) || r; return r; } #endif /* GL_EXT_histogram */ #ifdef GL_EXT_index_array_formats #endif /* GL_EXT_index_array_formats */ #ifdef GL_EXT_index_func static GLboolean _glewInit_GL_EXT_index_func (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glIndexFuncEXT = (PFNGLINDEXFUNCEXTPROC)glewGetProcAddress((const GLubyte*)"glIndexFuncEXT")) == NULL) || r; return r; } #endif /* GL_EXT_index_func */ #ifdef GL_EXT_index_material static GLboolean _glewInit_GL_EXT_index_material (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glIndexMaterialEXT = (PFNGLINDEXMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glIndexMaterialEXT")) == NULL) || r; return r; } #endif /* GL_EXT_index_material */ #ifdef GL_EXT_index_texture #endif /* GL_EXT_index_texture */ #ifdef GL_EXT_light_texture static GLboolean _glewInit_GL_EXT_light_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glApplyTextureEXT = (PFNGLAPPLYTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glApplyTextureEXT")) == NULL) || r; r = ((glTextureLightEXT = (PFNGLTEXTURELIGHTEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureLightEXT")) == NULL) || r; r = ((glTextureMaterialEXT = (PFNGLTEXTUREMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureMaterialEXT")) == NULL) || r; return r; } #endif /* GL_EXT_light_texture */ #ifdef GL_EXT_misc_attribute #endif /* GL_EXT_misc_attribute */ #ifdef GL_EXT_multi_draw_arrays static GLboolean _glewInit_GL_EXT_multi_draw_arrays (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysEXT")) == NULL) || r; r = ((glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsEXT")) == NULL) || r; return r; } #endif /* GL_EXT_multi_draw_arrays */ #ifdef GL_EXT_multisample static GLboolean _glewInit_GL_EXT_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glSampleMaskEXT = (PFNGLSAMPLEMASKEXTPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskEXT")) == NULL) || r; r = ((glSamplePatternEXT = (PFNGLSAMPLEPATTERNEXTPROC)glewGetProcAddress((const GLubyte*)"glSamplePatternEXT")) == NULL) || r; return r; } #endif /* GL_EXT_multisample */ #ifdef GL_EXT_packed_depth_stencil #endif /* GL_EXT_packed_depth_stencil */ #ifdef GL_EXT_packed_float #endif /* GL_EXT_packed_float */ #ifdef GL_EXT_packed_pixels #endif /* GL_EXT_packed_pixels */ #ifdef GL_EXT_paletted_texture static GLboolean _glewInit_GL_EXT_paletted_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColorTableEXT = (PFNGLCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glColorTableEXT")) == NULL) || r; r = ((glGetColorTableEXT = (PFNGLGETCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableEXT")) == NULL) || r; r = ((glGetColorTableParameterfvEXT = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfvEXT")) == NULL) || r; r = ((glGetColorTableParameterivEXT = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterivEXT")) == NULL) || r; return r; } #endif /* GL_EXT_paletted_texture */ #ifdef GL_EXT_pixel_buffer_object #endif /* GL_EXT_pixel_buffer_object */ #ifdef GL_EXT_pixel_transform static GLboolean _glewInit_GL_EXT_pixel_transform (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetPixelTransformParameterfvEXT = (PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterfvEXT")) == NULL) || r; r = ((glGetPixelTransformParameterivEXT = (PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterivEXT")) == NULL) || r; r = ((glPixelTransformParameterfEXT = (PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfEXT")) == NULL) || r; r = ((glPixelTransformParameterfvEXT = (PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfvEXT")) == NULL) || r; r = ((glPixelTransformParameteriEXT = (PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameteriEXT")) == NULL) || r; r = ((glPixelTransformParameterivEXT = (PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterivEXT")) == NULL) || r; return r; } #endif /* GL_EXT_pixel_transform */ #ifdef GL_EXT_pixel_transform_color_table #endif /* GL_EXT_pixel_transform_color_table */ #ifdef GL_EXT_point_parameters static GLboolean _glewInit_GL_EXT_point_parameters (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfEXT")) == NULL) || r; r = ((glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfvEXT")) == NULL) || r; return r; } #endif /* GL_EXT_point_parameters */ #ifdef GL_EXT_polygon_offset static GLboolean _glewInit_GL_EXT_polygon_offset (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPolygonOffsetEXT = (PFNGLPOLYGONOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glPolygonOffsetEXT")) == NULL) || r; return r; } #endif /* GL_EXT_polygon_offset */ #ifdef GL_EXT_provoking_vertex static GLboolean _glewInit_GL_EXT_provoking_vertex (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glProvokingVertexEXT = (PFNGLPROVOKINGVERTEXEXTPROC)glewGetProcAddress((const GLubyte*)"glProvokingVertexEXT")) == NULL) || r; return r; } #endif /* GL_EXT_provoking_vertex */ #ifdef GL_EXT_rescale_normal #endif /* GL_EXT_rescale_normal */ #ifdef GL_EXT_scene_marker static GLboolean _glewInit_GL_EXT_scene_marker (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginSceneEXT = (PFNGLBEGINSCENEEXTPROC)glewGetProcAddress((const GLubyte*)"glBeginSceneEXT")) == NULL) || r; r = ((glEndSceneEXT = (PFNGLENDSCENEEXTPROC)glewGetProcAddress((const GLubyte*)"glEndSceneEXT")) == NULL) || r; return r; } #endif /* GL_EXT_scene_marker */ #ifdef GL_EXT_secondary_color static GLboolean _glewInit_GL_EXT_secondary_color (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glSecondaryColor3bEXT = (PFNGLSECONDARYCOLOR3BEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bEXT")) == NULL) || r; r = ((glSecondaryColor3bvEXT = (PFNGLSECONDARYCOLOR3BVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bvEXT")) == NULL) || r; r = ((glSecondaryColor3dEXT = (PFNGLSECONDARYCOLOR3DEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dEXT")) == NULL) || r; r = ((glSecondaryColor3dvEXT = (PFNGLSECONDARYCOLOR3DVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dvEXT")) == NULL) || r; r = ((glSecondaryColor3fEXT = (PFNGLSECONDARYCOLOR3FEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fEXT")) == NULL) || r; r = ((glSecondaryColor3fvEXT = (PFNGLSECONDARYCOLOR3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fvEXT")) == NULL) || r; r = ((glSecondaryColor3iEXT = (PFNGLSECONDARYCOLOR3IEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3iEXT")) == NULL) || r; r = ((glSecondaryColor3ivEXT = (PFNGLSECONDARYCOLOR3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ivEXT")) == NULL) || r; r = ((glSecondaryColor3sEXT = (PFNGLSECONDARYCOLOR3SEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3sEXT")) == NULL) || r; r = ((glSecondaryColor3svEXT = (PFNGLSECONDARYCOLOR3SVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3svEXT")) == NULL) || r; r = ((glSecondaryColor3ubEXT = (PFNGLSECONDARYCOLOR3UBEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubEXT")) == NULL) || r; r = ((glSecondaryColor3ubvEXT = (PFNGLSECONDARYCOLOR3UBVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubvEXT")) == NULL) || r; r = ((glSecondaryColor3uiEXT = (PFNGLSECONDARYCOLOR3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uiEXT")) == NULL) || r; r = ((glSecondaryColor3uivEXT = (PFNGLSECONDARYCOLOR3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uivEXT")) == NULL) || r; r = ((glSecondaryColor3usEXT = (PFNGLSECONDARYCOLOR3USEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usEXT")) == NULL) || r; r = ((glSecondaryColor3usvEXT = (PFNGLSECONDARYCOLOR3USVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usvEXT")) == NULL) || r; r = ((glSecondaryColorPointerEXT = (PFNGLSECONDARYCOLORPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointerEXT")) == NULL) || r; return r; } #endif /* GL_EXT_secondary_color */ #ifdef GL_EXT_separate_shader_objects static GLboolean _glewInit_GL_EXT_separate_shader_objects (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glActiveProgramEXT = (PFNGLACTIVEPROGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glActiveProgramEXT")) == NULL) || r; r = ((glCreateShaderProgramEXT = (PFNGLCREATESHADERPROGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glCreateShaderProgramEXT")) == NULL) || r; r = ((glUseShaderProgramEXT = (PFNGLUSESHADERPROGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glUseShaderProgramEXT")) == NULL) || r; return r; } #endif /* GL_EXT_separate_shader_objects */ #ifdef GL_EXT_separate_specular_color #endif /* GL_EXT_separate_specular_color */ #ifdef GL_EXT_shader_image_load_store static GLboolean _glewInit_GL_EXT_shader_image_load_store (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindImageTextureEXT = (PFNGLBINDIMAGETEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindImageTextureEXT")) == NULL) || r; r = ((glMemoryBarrierEXT = (PFNGLMEMORYBARRIEREXTPROC)glewGetProcAddress((const GLubyte*)"glMemoryBarrierEXT")) == NULL) || r; return r; } #endif /* GL_EXT_shader_image_load_store */ #ifdef GL_EXT_shadow_funcs #endif /* GL_EXT_shadow_funcs */ #ifdef GL_EXT_shared_texture_palette #endif /* GL_EXT_shared_texture_palette */ #ifdef GL_EXT_stencil_clear_tag #endif /* GL_EXT_stencil_clear_tag */ #ifdef GL_EXT_stencil_two_side static GLboolean _glewInit_GL_EXT_stencil_two_side (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glActiveStencilFaceEXT = (PFNGLACTIVESTENCILFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glActiveStencilFaceEXT")) == NULL) || r; return r; } #endif /* GL_EXT_stencil_two_side */ #ifdef GL_EXT_stencil_wrap #endif /* GL_EXT_stencil_wrap */ #ifdef GL_EXT_subtexture static GLboolean _glewInit_GL_EXT_subtexture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexSubImage1DEXT = (PFNGLTEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage1DEXT")) == NULL) || r; r = ((glTexSubImage2DEXT = (PFNGLTEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage2DEXT")) == NULL) || r; r = ((glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage3DEXT")) == NULL) || r; return r; } #endif /* GL_EXT_subtexture */ #ifdef GL_EXT_texture #endif /* GL_EXT_texture */ #ifdef GL_EXT_texture3D static GLboolean _glewInit_GL_EXT_texture3D (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DEXT")) == NULL) || r; return r; } #endif /* GL_EXT_texture3D */ #ifdef GL_EXT_texture_array static GLboolean _glewInit_GL_EXT_texture_array (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerEXT")) == NULL) || r; return r; } #endif /* GL_EXT_texture_array */ #ifdef GL_EXT_texture_buffer_object static GLboolean _glewInit_GL_EXT_texture_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTexBufferEXT")) == NULL) || r; return r; } #endif /* GL_EXT_texture_buffer_object */ #ifdef GL_EXT_texture_compression_dxt1 #endif /* GL_EXT_texture_compression_dxt1 */ #ifdef GL_EXT_texture_compression_latc #endif /* GL_EXT_texture_compression_latc */ #ifdef GL_EXT_texture_compression_rgtc #endif /* GL_EXT_texture_compression_rgtc */ #ifdef GL_EXT_texture_compression_s3tc #endif /* GL_EXT_texture_compression_s3tc */ #ifdef GL_EXT_texture_cube_map #endif /* GL_EXT_texture_cube_map */ #ifdef GL_EXT_texture_edge_clamp #endif /* GL_EXT_texture_edge_clamp */ #ifdef GL_EXT_texture_env #endif /* GL_EXT_texture_env */ #ifdef GL_EXT_texture_env_add #endif /* GL_EXT_texture_env_add */ #ifdef GL_EXT_texture_env_combine #endif /* GL_EXT_texture_env_combine */ #ifdef GL_EXT_texture_env_dot3 #endif /* GL_EXT_texture_env_dot3 */ #ifdef GL_EXT_texture_filter_anisotropic #endif /* GL_EXT_texture_filter_anisotropic */ #ifdef GL_EXT_texture_integer static GLboolean _glewInit_GL_EXT_texture_integer (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClearColorIiEXT = (PFNGLCLEARCOLORIIEXTPROC)glewGetProcAddress((const GLubyte*)"glClearColorIiEXT")) == NULL) || r; r = ((glClearColorIuiEXT = (PFNGLCLEARCOLORIUIEXTPROC)glewGetProcAddress((const GLubyte*)"glClearColorIuiEXT")) == NULL) || r; r = ((glGetTexParameterIivEXT = (PFNGLGETTEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIivEXT")) == NULL) || r; r = ((glGetTexParameterIuivEXT = (PFNGLGETTEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIuivEXT")) == NULL) || r; r = ((glTexParameterIivEXT = (PFNGLTEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIivEXT")) == NULL) || r; r = ((glTexParameterIuivEXT = (PFNGLTEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIuivEXT")) == NULL) || r; return r; } #endif /* GL_EXT_texture_integer */ #ifdef GL_EXT_texture_lod_bias #endif /* GL_EXT_texture_lod_bias */ #ifdef GL_EXT_texture_mirror_clamp #endif /* GL_EXT_texture_mirror_clamp */ #ifdef GL_EXT_texture_object static GLboolean _glewInit_GL_EXT_texture_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAreTexturesResidentEXT = (PFNGLARETEXTURESRESIDENTEXTPROC)glewGetProcAddress((const GLubyte*)"glAreTexturesResidentEXT")) == NULL) || r; r = ((glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindTextureEXT")) == NULL) || r; r = ((glDeleteTexturesEXT = (PFNGLDELETETEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteTexturesEXT")) == NULL) || r; r = ((glGenTexturesEXT = (PFNGLGENTEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glGenTexturesEXT")) == NULL) || r; r = ((glIsTextureEXT = (PFNGLISTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glIsTextureEXT")) == NULL) || r; r = ((glPrioritizeTexturesEXT = (PFNGLPRIORITIZETEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glPrioritizeTexturesEXT")) == NULL) || r; return r; } #endif /* GL_EXT_texture_object */ #ifdef GL_EXT_texture_perturb_normal static GLboolean _glewInit_GL_EXT_texture_perturb_normal (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTextureNormalEXT = (PFNGLTEXTURENORMALEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureNormalEXT")) == NULL) || r; return r; } #endif /* GL_EXT_texture_perturb_normal */ #ifdef GL_EXT_texture_rectangle #endif /* GL_EXT_texture_rectangle */ #ifdef GL_EXT_texture_sRGB #endif /* GL_EXT_texture_sRGB */ #ifdef GL_EXT_texture_sRGB_decode #endif /* GL_EXT_texture_sRGB_decode */ #ifdef GL_EXT_texture_shared_exponent #endif /* GL_EXT_texture_shared_exponent */ #ifdef GL_EXT_texture_snorm #endif /* GL_EXT_texture_snorm */ #ifdef GL_EXT_texture_swizzle #endif /* GL_EXT_texture_swizzle */ #ifdef GL_EXT_timer_query static GLboolean _glewInit_GL_EXT_timer_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetQueryObjecti64vEXT = (PFNGLGETQUERYOBJECTI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjecti64vEXT")) == NULL) || r; r = ((glGetQueryObjectui64vEXT = (PFNGLGETQUERYOBJECTUI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectui64vEXT")) == NULL) || r; return r; } #endif /* GL_EXT_timer_query */ #ifdef GL_EXT_transform_feedback static GLboolean _glewInit_GL_EXT_transform_feedback (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedbackEXT")) == NULL) || r; r = ((glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBaseEXT")) == NULL) || r; r = ((glBindBufferOffsetEXT = (PFNGLBINDBUFFEROFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferOffsetEXT")) == NULL) || r; r = ((glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRangeEXT")) == NULL) || r; r = ((glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedbackEXT")) == NULL) || r; r = ((glGetTransformFeedbackVaryingEXT = (PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVaryingEXT")) == NULL) || r; r = ((glTransformFeedbackVaryingsEXT = (PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryingsEXT")) == NULL) || r; return r; } #endif /* GL_EXT_transform_feedback */ #ifdef GL_EXT_vertex_array static GLboolean _glewInit_GL_EXT_vertex_array (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glArrayElementEXT = (PFNGLARRAYELEMENTEXTPROC)glewGetProcAddress((const GLubyte*)"glArrayElementEXT")) == NULL) || r; r = ((glColorPointerEXT = (PFNGLCOLORPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glColorPointerEXT")) == NULL) || r; r = ((glDrawArraysEXT = (PFNGLDRAWARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysEXT")) == NULL) || r; r = ((glEdgeFlagPointerEXT = (PFNGLEDGEFLAGPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagPointerEXT")) == NULL) || r; r = ((glIndexPointerEXT = (PFNGLINDEXPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glIndexPointerEXT")) == NULL) || r; r = ((glNormalPointerEXT = (PFNGLNORMALPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glNormalPointerEXT")) == NULL) || r; r = ((glTexCoordPointerEXT = (PFNGLTEXCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointerEXT")) == NULL) || r; r = ((glVertexPointerEXT = (PFNGLVERTEXPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexPointerEXT")) == NULL) || r; return r; } #endif /* GL_EXT_vertex_array */ #ifdef GL_EXT_vertex_array_bgra #endif /* GL_EXT_vertex_array_bgra */ #ifdef GL_EXT_vertex_attrib_64bit static GLboolean _glewInit_GL_EXT_vertex_attrib_64bit (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetVertexAttribLdvEXT = (PFNGLGETVERTEXATTRIBLDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLdvEXT")) == NULL) || r; r = ((glVertexArrayVertexAttribLOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayVertexAttribLOffsetEXT")) == NULL) || r; r = ((glVertexAttribL1dEXT = (PFNGLVERTEXATTRIBL1DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1dEXT")) == NULL) || r; r = ((glVertexAttribL1dvEXT = (PFNGLVERTEXATTRIBL1DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1dvEXT")) == NULL) || r; r = ((glVertexAttribL2dEXT = (PFNGLVERTEXATTRIBL2DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2dEXT")) == NULL) || r; r = ((glVertexAttribL2dvEXT = (PFNGLVERTEXATTRIBL2DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2dvEXT")) == NULL) || r; r = ((glVertexAttribL3dEXT = (PFNGLVERTEXATTRIBL3DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3dEXT")) == NULL) || r; r = ((glVertexAttribL3dvEXT = (PFNGLVERTEXATTRIBL3DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3dvEXT")) == NULL) || r; r = ((glVertexAttribL4dEXT = (PFNGLVERTEXATTRIBL4DEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4dEXT")) == NULL) || r; r = ((glVertexAttribL4dvEXT = (PFNGLVERTEXATTRIBL4DVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4dvEXT")) == NULL) || r; r = ((glVertexAttribLPointerEXT = (PFNGLVERTEXATTRIBLPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLPointerEXT")) == NULL) || r; return r; } #endif /* GL_EXT_vertex_attrib_64bit */ #ifdef GL_EXT_vertex_shader static GLboolean _glewInit_GL_EXT_vertex_shader (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginVertexShaderEXT = (PFNGLBEGINVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glBeginVertexShaderEXT")) == NULL) || r; r = ((glBindLightParameterEXT = (PFNGLBINDLIGHTPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindLightParameterEXT")) == NULL) || r; r = ((glBindMaterialParameterEXT = (PFNGLBINDMATERIALPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindMaterialParameterEXT")) == NULL) || r; r = ((glBindParameterEXT = (PFNGLBINDPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindParameterEXT")) == NULL) || r; r = ((glBindTexGenParameterEXT = (PFNGLBINDTEXGENPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindTexGenParameterEXT")) == NULL) || r; r = ((glBindTextureUnitParameterEXT = (PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindTextureUnitParameterEXT")) == NULL) || r; r = ((glBindVertexShaderEXT = (PFNGLBINDVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindVertexShaderEXT")) == NULL) || r; r = ((glDeleteVertexShaderEXT = (PFNGLDELETEVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexShaderEXT")) == NULL) || r; r = ((glDisableVariantClientStateEXT = (PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableVariantClientStateEXT")) == NULL) || r; r = ((glEnableVariantClientStateEXT = (PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableVariantClientStateEXT")) == NULL) || r; r = ((glEndVertexShaderEXT = (PFNGLENDVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glEndVertexShaderEXT")) == NULL) || r; r = ((glExtractComponentEXT = (PFNGLEXTRACTCOMPONENTEXTPROC)glewGetProcAddress((const GLubyte*)"glExtractComponentEXT")) == NULL) || r; r = ((glGenSymbolsEXT = (PFNGLGENSYMBOLSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenSymbolsEXT")) == NULL) || r; r = ((glGenVertexShadersEXT = (PFNGLGENVERTEXSHADERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenVertexShadersEXT")) == NULL) || r; r = ((glGetInvariantBooleanvEXT = (PFNGLGETINVARIANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantBooleanvEXT")) == NULL) || r; r = ((glGetInvariantFloatvEXT = (PFNGLGETINVARIANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantFloatvEXT")) == NULL) || r; r = ((glGetInvariantIntegervEXT = (PFNGLGETINVARIANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantIntegervEXT")) == NULL) || r; r = ((glGetLocalConstantBooleanvEXT = (PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantBooleanvEXT")) == NULL) || r; r = ((glGetLocalConstantFloatvEXT = (PFNGLGETLOCALCONSTANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantFloatvEXT")) == NULL) || r; r = ((glGetLocalConstantIntegervEXT = (PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantIntegervEXT")) == NULL) || r; r = ((glGetVariantBooleanvEXT = (PFNGLGETVARIANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantBooleanvEXT")) == NULL) || r; r = ((glGetVariantFloatvEXT = (PFNGLGETVARIANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantFloatvEXT")) == NULL) || r; r = ((glGetVariantIntegervEXT = (PFNGLGETVARIANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantIntegervEXT")) == NULL) || r; r = ((glGetVariantPointervEXT = (PFNGLGETVARIANTPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantPointervEXT")) == NULL) || r; r = ((glInsertComponentEXT = (PFNGLINSERTCOMPONENTEXTPROC)glewGetProcAddress((const GLubyte*)"glInsertComponentEXT")) == NULL) || r; r = ((glIsVariantEnabledEXT = (PFNGLISVARIANTENABLEDEXTPROC)glewGetProcAddress((const GLubyte*)"glIsVariantEnabledEXT")) == NULL) || r; r = ((glSetInvariantEXT = (PFNGLSETINVARIANTEXTPROC)glewGetProcAddress((const GLubyte*)"glSetInvariantEXT")) == NULL) || r; r = ((glSetLocalConstantEXT = (PFNGLSETLOCALCONSTANTEXTPROC)glewGetProcAddress((const GLubyte*)"glSetLocalConstantEXT")) == NULL) || r; r = ((glShaderOp1EXT = (PFNGLSHADEROP1EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp1EXT")) == NULL) || r; r = ((glShaderOp2EXT = (PFNGLSHADEROP2EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp2EXT")) == NULL) || r; r = ((glShaderOp3EXT = (PFNGLSHADEROP3EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp3EXT")) == NULL) || r; r = ((glSwizzleEXT = (PFNGLSWIZZLEEXTPROC)glewGetProcAddress((const GLubyte*)"glSwizzleEXT")) == NULL) || r; r = ((glVariantPointerEXT = (PFNGLVARIANTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVariantPointerEXT")) == NULL) || r; r = ((glVariantbvEXT = (PFNGLVARIANTBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantbvEXT")) == NULL) || r; r = ((glVariantdvEXT = (PFNGLVARIANTDVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantdvEXT")) == NULL) || r; r = ((glVariantfvEXT = (PFNGLVARIANTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantfvEXT")) == NULL) || r; r = ((glVariantivEXT = (PFNGLVARIANTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantivEXT")) == NULL) || r; r = ((glVariantsvEXT = (PFNGLVARIANTSVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantsvEXT")) == NULL) || r; r = ((glVariantubvEXT = (PFNGLVARIANTUBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantubvEXT")) == NULL) || r; r = ((glVariantuivEXT = (PFNGLVARIANTUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantuivEXT")) == NULL) || r; r = ((glVariantusvEXT = (PFNGLVARIANTUSVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantusvEXT")) == NULL) || r; r = ((glWriteMaskEXT = (PFNGLWRITEMASKEXTPROC)glewGetProcAddress((const GLubyte*)"glWriteMaskEXT")) == NULL) || r; return r; } #endif /* GL_EXT_vertex_shader */ #ifdef GL_EXT_vertex_weighting static GLboolean _glewInit_GL_EXT_vertex_weighting (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glVertexWeightPointerEXT = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightPointerEXT")) == NULL) || r; r = ((glVertexWeightfEXT = (PFNGLVERTEXWEIGHTFEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightfEXT")) == NULL) || r; r = ((glVertexWeightfvEXT = (PFNGLVERTEXWEIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightfvEXT")) == NULL) || r; return r; } #endif /* GL_EXT_vertex_weighting */ #ifdef GL_EXT_x11_sync_object static GLboolean _glewInit_GL_EXT_x11_sync_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glImportSyncEXT = (PFNGLIMPORTSYNCEXTPROC)glewGetProcAddress((const GLubyte*)"glImportSyncEXT")) == NULL) || r; return r; } #endif /* GL_EXT_x11_sync_object */ #ifdef GL_GREMEDY_frame_terminator static GLboolean _glewInit_GL_GREMEDY_frame_terminator (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFrameTerminatorGREMEDY = (PFNGLFRAMETERMINATORGREMEDYPROC)glewGetProcAddress((const GLubyte*)"glFrameTerminatorGREMEDY")) == NULL) || r; return r; } #endif /* GL_GREMEDY_frame_terminator */ #ifdef GL_GREMEDY_string_marker static GLboolean _glewInit_GL_GREMEDY_string_marker (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glStringMarkerGREMEDY = (PFNGLSTRINGMARKERGREMEDYPROC)glewGetProcAddress((const GLubyte*)"glStringMarkerGREMEDY")) == NULL) || r; return r; } #endif /* GL_GREMEDY_string_marker */ #ifdef GL_HP_convolution_border_modes #endif /* GL_HP_convolution_border_modes */ #ifdef GL_HP_image_transform static GLboolean _glewInit_GL_HP_image_transform (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetImageTransformParameterfvHP = (PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)glewGetProcAddress((const GLubyte*)"glGetImageTransformParameterfvHP")) == NULL) || r; r = ((glGetImageTransformParameterivHP = (PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)glewGetProcAddress((const GLubyte*)"glGetImageTransformParameterivHP")) == NULL) || r; r = ((glImageTransformParameterfHP = (PFNGLIMAGETRANSFORMPARAMETERFHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterfHP")) == NULL) || r; r = ((glImageTransformParameterfvHP = (PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterfvHP")) == NULL) || r; r = ((glImageTransformParameteriHP = (PFNGLIMAGETRANSFORMPARAMETERIHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameteriHP")) == NULL) || r; r = ((glImageTransformParameterivHP = (PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterivHP")) == NULL) || r; return r; } #endif /* GL_HP_image_transform */ #ifdef GL_HP_occlusion_test #endif /* GL_HP_occlusion_test */ #ifdef GL_HP_texture_lighting #endif /* GL_HP_texture_lighting */ #ifdef GL_IBM_cull_vertex #endif /* GL_IBM_cull_vertex */ #ifdef GL_IBM_multimode_draw_arrays static GLboolean _glewInit_GL_IBM_multimode_draw_arrays (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMultiModeDrawArraysIBM = (PFNGLMULTIMODEDRAWARRAYSIBMPROC)glewGetProcAddress((const GLubyte*)"glMultiModeDrawArraysIBM")) == NULL) || r; r = ((glMultiModeDrawElementsIBM = (PFNGLMULTIMODEDRAWELEMENTSIBMPROC)glewGetProcAddress((const GLubyte*)"glMultiModeDrawElementsIBM")) == NULL) || r; return r; } #endif /* GL_IBM_multimode_draw_arrays */ #ifdef GL_IBM_rasterpos_clip #endif /* GL_IBM_rasterpos_clip */ #ifdef GL_IBM_static_data #endif /* GL_IBM_static_data */ #ifdef GL_IBM_texture_mirrored_repeat #endif /* GL_IBM_texture_mirrored_repeat */ #ifdef GL_IBM_vertex_array_lists static GLboolean _glewInit_GL_IBM_vertex_array_lists (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColorPointerListIBM = (PFNGLCOLORPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glColorPointerListIBM")) == NULL) || r; r = ((glEdgeFlagPointerListIBM = (PFNGLEDGEFLAGPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagPointerListIBM")) == NULL) || r; r = ((glFogCoordPointerListIBM = (PFNGLFOGCOORDPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointerListIBM")) == NULL) || r; r = ((glIndexPointerListIBM = (PFNGLINDEXPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glIndexPointerListIBM")) == NULL) || r; r = ((glNormalPointerListIBM = (PFNGLNORMALPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glNormalPointerListIBM")) == NULL) || r; r = ((glSecondaryColorPointerListIBM = (PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointerListIBM")) == NULL) || r; r = ((glTexCoordPointerListIBM = (PFNGLTEXCOORDPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointerListIBM")) == NULL) || r; r = ((glVertexPointerListIBM = (PFNGLVERTEXPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glVertexPointerListIBM")) == NULL) || r; return r; } #endif /* GL_IBM_vertex_array_lists */ #ifdef GL_INGR_color_clamp #endif /* GL_INGR_color_clamp */ #ifdef GL_INGR_interlace_read #endif /* GL_INGR_interlace_read */ #ifdef GL_INTEL_map_texture static GLboolean _glewInit_GL_INTEL_map_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMapTexture2DINTEL = (PFNGLMAPTEXTURE2DINTELPROC)glewGetProcAddress((const GLubyte*)"glMapTexture2DINTEL")) == NULL) || r; r = ((glSyncTextureINTEL = (PFNGLSYNCTEXTUREINTELPROC)glewGetProcAddress((const GLubyte*)"glSyncTextureINTEL")) == NULL) || r; r = ((glUnmapTexture2DINTEL = (PFNGLUNMAPTEXTURE2DINTELPROC)glewGetProcAddress((const GLubyte*)"glUnmapTexture2DINTEL")) == NULL) || r; return r; } #endif /* GL_INTEL_map_texture */ #ifdef GL_INTEL_parallel_arrays static GLboolean _glewInit_GL_INTEL_parallel_arrays (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColorPointervINTEL = (PFNGLCOLORPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glColorPointervINTEL")) == NULL) || r; r = ((glNormalPointervINTEL = (PFNGLNORMALPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glNormalPointervINTEL")) == NULL) || r; r = ((glTexCoordPointervINTEL = (PFNGLTEXCOORDPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointervINTEL")) == NULL) || r; r = ((glVertexPointervINTEL = (PFNGLVERTEXPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glVertexPointervINTEL")) == NULL) || r; return r; } #endif /* GL_INTEL_parallel_arrays */ #ifdef GL_INTEL_texture_scissor static GLboolean _glewInit_GL_INTEL_texture_scissor (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexScissorFuncINTEL = (PFNGLTEXSCISSORFUNCINTELPROC)glewGetProcAddress((const GLubyte*)"glTexScissorFuncINTEL")) == NULL) || r; r = ((glTexScissorINTEL = (PFNGLTEXSCISSORINTELPROC)glewGetProcAddress((const GLubyte*)"glTexScissorINTEL")) == NULL) || r; return r; } #endif /* GL_INTEL_texture_scissor */ #ifdef GL_KHR_debug static GLboolean _glewInit_GL_KHR_debug (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageCallback")) == NULL) || r; r = ((glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageControl")) == NULL) || r; r = ((glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)glewGetProcAddress((const GLubyte*)"glDebugMessageInsert")) == NULL) || r; r = ((glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)glewGetProcAddress((const GLubyte*)"glGetDebugMessageLog")) == NULL) || r; r = ((glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)glewGetProcAddress((const GLubyte*)"glGetObjectLabel")) == NULL) || r; r = ((glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)glewGetProcAddress((const GLubyte*)"glGetObjectPtrLabel")) == NULL) || r; r = ((glObjectLabel = (PFNGLOBJECTLABELPROC)glewGetProcAddress((const GLubyte*)"glObjectLabel")) == NULL) || r; r = ((glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)glewGetProcAddress((const GLubyte*)"glObjectPtrLabel")) == NULL) || r; r = ((glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)glewGetProcAddress((const GLubyte*)"glPopDebugGroup")) == NULL) || r; r = ((glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)glewGetProcAddress((const GLubyte*)"glPushDebugGroup")) == NULL) || r; return r; } #endif /* GL_KHR_debug */ #ifdef GL_KHR_texture_compression_astc_ldr #endif /* GL_KHR_texture_compression_astc_ldr */ #ifdef GL_KTX_buffer_region static GLboolean _glewInit_GL_KTX_buffer_region (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBufferRegionEnabled = (PFNGLBUFFERREGIONENABLEDPROC)glewGetProcAddress((const GLubyte*)"glBufferRegionEnabled")) == NULL) || r; r = ((glDeleteBufferRegion = (PFNGLDELETEBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glDeleteBufferRegion")) == NULL) || r; r = ((glDrawBufferRegion = (PFNGLDRAWBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glDrawBufferRegion")) == NULL) || r; r = ((glNewBufferRegion = (PFNGLNEWBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glNewBufferRegion")) == NULL) || r; r = ((glReadBufferRegion = (PFNGLREADBUFFERREGIONPROC)glewGetProcAddress((const GLubyte*)"glReadBufferRegion")) == NULL) || r; return r; } #endif /* GL_KTX_buffer_region */ #ifdef GL_MESAX_texture_stack #endif /* GL_MESAX_texture_stack */ #ifdef GL_MESA_pack_invert #endif /* GL_MESA_pack_invert */ #ifdef GL_MESA_resize_buffers static GLboolean _glewInit_GL_MESA_resize_buffers (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glResizeBuffersMESA = (PFNGLRESIZEBUFFERSMESAPROC)glewGetProcAddress((const GLubyte*)"glResizeBuffersMESA")) == NULL) || r; return r; } #endif /* GL_MESA_resize_buffers */ #ifdef GL_MESA_window_pos static GLboolean _glewInit_GL_MESA_window_pos (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glWindowPos2dMESA = (PFNGLWINDOWPOS2DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dMESA")) == NULL) || r; r = ((glWindowPos2dvMESA = (PFNGLWINDOWPOS2DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dvMESA")) == NULL) || r; r = ((glWindowPos2fMESA = (PFNGLWINDOWPOS2FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fMESA")) == NULL) || r; r = ((glWindowPos2fvMESA = (PFNGLWINDOWPOS2FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fvMESA")) == NULL) || r; r = ((glWindowPos2iMESA = (PFNGLWINDOWPOS2IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iMESA")) == NULL) || r; r = ((glWindowPos2ivMESA = (PFNGLWINDOWPOS2IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2ivMESA")) == NULL) || r; r = ((glWindowPos2sMESA = (PFNGLWINDOWPOS2SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sMESA")) == NULL) || r; r = ((glWindowPos2svMESA = (PFNGLWINDOWPOS2SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2svMESA")) == NULL) || r; r = ((glWindowPos3dMESA = (PFNGLWINDOWPOS3DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dMESA")) == NULL) || r; r = ((glWindowPos3dvMESA = (PFNGLWINDOWPOS3DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dvMESA")) == NULL) || r; r = ((glWindowPos3fMESA = (PFNGLWINDOWPOS3FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fMESA")) == NULL) || r; r = ((glWindowPos3fvMESA = (PFNGLWINDOWPOS3FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fvMESA")) == NULL) || r; r = ((glWindowPos3iMESA = (PFNGLWINDOWPOS3IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iMESA")) == NULL) || r; r = ((glWindowPos3ivMESA = (PFNGLWINDOWPOS3IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3ivMESA")) == NULL) || r; r = ((glWindowPos3sMESA = (PFNGLWINDOWPOS3SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sMESA")) == NULL) || r; r = ((glWindowPos3svMESA = (PFNGLWINDOWPOS3SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3svMESA")) == NULL) || r; r = ((glWindowPos4dMESA = (PFNGLWINDOWPOS4DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4dMESA")) == NULL) || r; r = ((glWindowPos4dvMESA = (PFNGLWINDOWPOS4DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4dvMESA")) == NULL) || r; r = ((glWindowPos4fMESA = (PFNGLWINDOWPOS4FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4fMESA")) == NULL) || r; r = ((glWindowPos4fvMESA = (PFNGLWINDOWPOS4FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4fvMESA")) == NULL) || r; r = ((glWindowPos4iMESA = (PFNGLWINDOWPOS4IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4iMESA")) == NULL) || r; r = ((glWindowPos4ivMESA = (PFNGLWINDOWPOS4IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4ivMESA")) == NULL) || r; r = ((glWindowPos4sMESA = (PFNGLWINDOWPOS4SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4sMESA")) == NULL) || r; r = ((glWindowPos4svMESA = (PFNGLWINDOWPOS4SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4svMESA")) == NULL) || r; return r; } #endif /* GL_MESA_window_pos */ #ifdef GL_MESA_ycbcr_texture #endif /* GL_MESA_ycbcr_texture */ #ifdef GL_NVX_conditional_render static GLboolean _glewInit_GL_NVX_conditional_render (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginConditionalRenderNVX = (PFNGLBEGINCONDITIONALRENDERNVXPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRenderNVX")) == NULL) || r; r = ((glEndConditionalRenderNVX = (PFNGLENDCONDITIONALRENDERNVXPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRenderNVX")) == NULL) || r; return r; } #endif /* GL_NVX_conditional_render */ #ifdef GL_NVX_gpu_memory_info #endif /* GL_NVX_gpu_memory_info */ #ifdef GL_NV_bindless_multi_draw_indirect static GLboolean _glewInit_GL_NV_bindless_multi_draw_indirect (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glMultiDrawArraysIndirectBindlessNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysIndirectBindlessNV")) == NULL) || r; r = ((glMultiDrawElementsIndirectBindlessNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsIndirectBindlessNV")) == NULL) || r; return r; } #endif /* GL_NV_bindless_multi_draw_indirect */ #ifdef GL_NV_bindless_texture static GLboolean _glewInit_GL_NV_bindless_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetImageHandleNV = (PFNGLGETIMAGEHANDLENVPROC)glewGetProcAddress((const GLubyte*)"glGetImageHandleNV")) == NULL) || r; r = ((glGetTextureHandleNV = (PFNGLGETTEXTUREHANDLENVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureHandleNV")) == NULL) || r; r = ((glGetTextureSamplerHandleNV = (PFNGLGETTEXTURESAMPLERHANDLENVPROC)glewGetProcAddress((const GLubyte*)"glGetTextureSamplerHandleNV")) == NULL) || r; r = ((glIsImageHandleResidentNV = (PFNGLISIMAGEHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsImageHandleResidentNV")) == NULL) || r; r = ((glIsTextureHandleResidentNV = (PFNGLISTEXTUREHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsTextureHandleResidentNV")) == NULL) || r; r = ((glMakeImageHandleNonResidentNV = (PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleNonResidentNV")) == NULL) || r; r = ((glMakeImageHandleResidentNV = (PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeImageHandleResidentNV")) == NULL) || r; r = ((glMakeTextureHandleNonResidentNV = (PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleNonResidentNV")) == NULL) || r; r = ((glMakeTextureHandleResidentNV = (PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeTextureHandleResidentNV")) == NULL) || r; r = ((glProgramUniformHandleui64NV = (PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64NV")) == NULL) || r; r = ((glProgramUniformHandleui64vNV = (PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformHandleui64vNV")) == NULL) || r; r = ((glUniformHandleui64NV = (PFNGLUNIFORMHANDLEUI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64NV")) == NULL) || r; r = ((glUniformHandleui64vNV = (PFNGLUNIFORMHANDLEUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniformHandleui64vNV")) == NULL) || r; return r; } #endif /* GL_NV_bindless_texture */ #ifdef GL_NV_blend_equation_advanced static GLboolean _glewInit_GL_NV_blend_equation_advanced (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBlendBarrierNV = (PFNGLBLENDBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glBlendBarrierNV")) == NULL) || r; r = ((glBlendParameteriNV = (PFNGLBLENDPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glBlendParameteriNV")) == NULL) || r; return r; } #endif /* GL_NV_blend_equation_advanced */ #ifdef GL_NV_blend_equation_advanced_coherent #endif /* GL_NV_blend_equation_advanced_coherent */ #ifdef GL_NV_blend_square #endif /* GL_NV_blend_square */ #ifdef GL_NV_compute_program5 #endif /* GL_NV_compute_program5 */ #ifdef GL_NV_conditional_render static GLboolean _glewInit_GL_NV_conditional_render (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRenderNV")) == NULL) || r; r = ((glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRenderNV")) == NULL) || r; return r; } #endif /* GL_NV_conditional_render */ #ifdef GL_NV_copy_depth_to_color #endif /* GL_NV_copy_depth_to_color */ #ifdef GL_NV_copy_image static GLboolean _glewInit_GL_NV_copy_image (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCopyImageSubDataNV = (PFNGLCOPYIMAGESUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glCopyImageSubDataNV")) == NULL) || r; return r; } #endif /* GL_NV_copy_image */ #ifdef GL_NV_deep_texture3D #endif /* GL_NV_deep_texture3D */ #ifdef GL_NV_depth_buffer_float static GLboolean _glewInit_GL_NV_depth_buffer_float (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClearDepthdNV = (PFNGLCLEARDEPTHDNVPROC)glewGetProcAddress((const GLubyte*)"glClearDepthdNV")) == NULL) || r; r = ((glDepthBoundsdNV = (PFNGLDEPTHBOUNDSDNVPROC)glewGetProcAddress((const GLubyte*)"glDepthBoundsdNV")) == NULL) || r; r = ((glDepthRangedNV = (PFNGLDEPTHRANGEDNVPROC)glewGetProcAddress((const GLubyte*)"glDepthRangedNV")) == NULL) || r; return r; } #endif /* GL_NV_depth_buffer_float */ #ifdef GL_NV_depth_clamp #endif /* GL_NV_depth_clamp */ #ifdef GL_NV_depth_range_unclamped #endif /* GL_NV_depth_range_unclamped */ #ifdef GL_NV_draw_texture static GLboolean _glewInit_GL_NV_draw_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDrawTextureNV = (PFNGLDRAWTEXTURENVPROC)glewGetProcAddress((const GLubyte*)"glDrawTextureNV")) == NULL) || r; return r; } #endif /* GL_NV_draw_texture */ #ifdef GL_NV_evaluators static GLboolean _glewInit_GL_NV_evaluators (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glEvalMapsNV = (PFNGLEVALMAPSNVPROC)glewGetProcAddress((const GLubyte*)"glEvalMapsNV")) == NULL) || r; r = ((glGetMapAttribParameterfvNV = (PFNGLGETMAPATTRIBPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapAttribParameterfvNV")) == NULL) || r; r = ((glGetMapAttribParameterivNV = (PFNGLGETMAPATTRIBPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapAttribParameterivNV")) == NULL) || r; r = ((glGetMapControlPointsNV = (PFNGLGETMAPCONTROLPOINTSNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapControlPointsNV")) == NULL) || r; r = ((glGetMapParameterfvNV = (PFNGLGETMAPPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapParameterfvNV")) == NULL) || r; r = ((glGetMapParameterivNV = (PFNGLGETMAPPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapParameterivNV")) == NULL) || r; r = ((glMapControlPointsNV = (PFNGLMAPCONTROLPOINTSNVPROC)glewGetProcAddress((const GLubyte*)"glMapControlPointsNV")) == NULL) || r; r = ((glMapParameterfvNV = (PFNGLMAPPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glMapParameterfvNV")) == NULL) || r; r = ((glMapParameterivNV = (PFNGLMAPPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glMapParameterivNV")) == NULL) || r; return r; } #endif /* GL_NV_evaluators */ #ifdef GL_NV_explicit_multisample static GLboolean _glewInit_GL_NV_explicit_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetMultisamplefvNV = (PFNGLGETMULTISAMPLEFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMultisamplefvNV")) == NULL) || r; r = ((glSampleMaskIndexedNV = (PFNGLSAMPLEMASKINDEXEDNVPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskIndexedNV")) == NULL) || r; r = ((glTexRenderbufferNV = (PFNGLTEXRENDERBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glTexRenderbufferNV")) == NULL) || r; return r; } #endif /* GL_NV_explicit_multisample */ #ifdef GL_NV_fence static GLboolean _glewInit_GL_NV_fence (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDeleteFencesNV = (PFNGLDELETEFENCESNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteFencesNV")) == NULL) || r; r = ((glFinishFenceNV = (PFNGLFINISHFENCENVPROC)glewGetProcAddress((const GLubyte*)"glFinishFenceNV")) == NULL) || r; r = ((glGenFencesNV = (PFNGLGENFENCESNVPROC)glewGetProcAddress((const GLubyte*)"glGenFencesNV")) == NULL) || r; r = ((glGetFenceivNV = (PFNGLGETFENCEIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFenceivNV")) == NULL) || r; r = ((glIsFenceNV = (PFNGLISFENCENVPROC)glewGetProcAddress((const GLubyte*)"glIsFenceNV")) == NULL) || r; r = ((glSetFenceNV = (PFNGLSETFENCENVPROC)glewGetProcAddress((const GLubyte*)"glSetFenceNV")) == NULL) || r; r = ((glTestFenceNV = (PFNGLTESTFENCENVPROC)glewGetProcAddress((const GLubyte*)"glTestFenceNV")) == NULL) || r; return r; } #endif /* GL_NV_fence */ #ifdef GL_NV_float_buffer #endif /* GL_NV_float_buffer */ #ifdef GL_NV_fog_distance #endif /* GL_NV_fog_distance */ #ifdef GL_NV_fragment_program static GLboolean _glewInit_GL_NV_fragment_program (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetProgramNamedParameterdvNV = (PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramNamedParameterdvNV")) == NULL) || r; r = ((glGetProgramNamedParameterfvNV = (PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramNamedParameterfvNV")) == NULL) || r; r = ((glProgramNamedParameter4dNV = (PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4dNV")) == NULL) || r; r = ((glProgramNamedParameter4dvNV = (PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4dvNV")) == NULL) || r; r = ((glProgramNamedParameter4fNV = (PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4fNV")) == NULL) || r; r = ((glProgramNamedParameter4fvNV = (PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4fvNV")) == NULL) || r; return r; } #endif /* GL_NV_fragment_program */ #ifdef GL_NV_fragment_program2 #endif /* GL_NV_fragment_program2 */ #ifdef GL_NV_fragment_program4 #endif /* GL_NV_fragment_program4 */ #ifdef GL_NV_fragment_program_option #endif /* GL_NV_fragment_program_option */ #ifdef GL_NV_framebuffer_multisample_coverage static GLboolean _glewInit_GL_NV_framebuffer_multisample_coverage (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glRenderbufferStorageMultisampleCoverageNV = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleCoverageNV")) == NULL) || r; return r; } #endif /* GL_NV_framebuffer_multisample_coverage */ #ifdef GL_NV_geometry_program4 static GLboolean _glewInit_GL_NV_geometry_program4 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glProgramVertexLimitNV = (PFNGLPROGRAMVERTEXLIMITNVPROC)glewGetProcAddress((const GLubyte*)"glProgramVertexLimitNV")) == NULL) || r; return r; } #endif /* GL_NV_geometry_program4 */ #ifdef GL_NV_geometry_shader4 #endif /* GL_NV_geometry_shader4 */ #ifdef GL_NV_gpu_program4 static GLboolean _glewInit_GL_NV_gpu_program4 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glProgramEnvParameterI4iNV = (PFNGLPROGRAMENVPARAMETERI4INVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4iNV")) == NULL) || r; r = ((glProgramEnvParameterI4ivNV = (PFNGLPROGRAMENVPARAMETERI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4ivNV")) == NULL) || r; r = ((glProgramEnvParameterI4uiNV = (PFNGLPROGRAMENVPARAMETERI4UINVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4uiNV")) == NULL) || r; r = ((glProgramEnvParameterI4uivNV = (PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4uivNV")) == NULL) || r; r = ((glProgramEnvParametersI4ivNV = (PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParametersI4ivNV")) == NULL) || r; r = ((glProgramEnvParametersI4uivNV = (PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParametersI4uivNV")) == NULL) || r; r = ((glProgramLocalParameterI4iNV = (PFNGLPROGRAMLOCALPARAMETERI4INVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4iNV")) == NULL) || r; r = ((glProgramLocalParameterI4ivNV = (PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4ivNV")) == NULL) || r; r = ((glProgramLocalParameterI4uiNV = (PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4uiNV")) == NULL) || r; r = ((glProgramLocalParameterI4uivNV = (PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4uivNV")) == NULL) || r; r = ((glProgramLocalParametersI4ivNV = (PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParametersI4ivNV")) == NULL) || r; r = ((glProgramLocalParametersI4uivNV = (PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParametersI4uivNV")) == NULL) || r; return r; } #endif /* GL_NV_gpu_program4 */ #ifdef GL_NV_gpu_program5 #endif /* GL_NV_gpu_program5 */ #ifdef GL_NV_gpu_program5_mem_extended #endif /* GL_NV_gpu_program5_mem_extended */ #ifdef GL_NV_gpu_program_fp64 #endif /* GL_NV_gpu_program_fp64 */ #ifdef GL_NV_gpu_shader5 static GLboolean _glewInit_GL_NV_gpu_shader5 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetUniformi64vNV = (PFNGLGETUNIFORMI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformi64vNV")) == NULL) || r; r = ((glGetUniformui64vNV = (PFNGLGETUNIFORMUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformui64vNV")) == NULL) || r; r = ((glProgramUniform1i64NV = (PFNGLPROGRAMUNIFORM1I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i64NV")) == NULL) || r; r = ((glProgramUniform1i64vNV = (PFNGLPROGRAMUNIFORM1I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1i64vNV")) == NULL) || r; r = ((glProgramUniform1ui64NV = (PFNGLPROGRAMUNIFORM1UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui64NV")) == NULL) || r; r = ((glProgramUniform1ui64vNV = (PFNGLPROGRAMUNIFORM1UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ui64vNV")) == NULL) || r; r = ((glProgramUniform2i64NV = (PFNGLPROGRAMUNIFORM2I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i64NV")) == NULL) || r; r = ((glProgramUniform2i64vNV = (PFNGLPROGRAMUNIFORM2I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2i64vNV")) == NULL) || r; r = ((glProgramUniform2ui64NV = (PFNGLPROGRAMUNIFORM2UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui64NV")) == NULL) || r; r = ((glProgramUniform2ui64vNV = (PFNGLPROGRAMUNIFORM2UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ui64vNV")) == NULL) || r; r = ((glProgramUniform3i64NV = (PFNGLPROGRAMUNIFORM3I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i64NV")) == NULL) || r; r = ((glProgramUniform3i64vNV = (PFNGLPROGRAMUNIFORM3I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3i64vNV")) == NULL) || r; r = ((glProgramUniform3ui64NV = (PFNGLPROGRAMUNIFORM3UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui64NV")) == NULL) || r; r = ((glProgramUniform3ui64vNV = (PFNGLPROGRAMUNIFORM3UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ui64vNV")) == NULL) || r; r = ((glProgramUniform4i64NV = (PFNGLPROGRAMUNIFORM4I64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i64NV")) == NULL) || r; r = ((glProgramUniform4i64vNV = (PFNGLPROGRAMUNIFORM4I64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4i64vNV")) == NULL) || r; r = ((glProgramUniform4ui64NV = (PFNGLPROGRAMUNIFORM4UI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui64NV")) == NULL) || r; r = ((glProgramUniform4ui64vNV = (PFNGLPROGRAMUNIFORM4UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ui64vNV")) == NULL) || r; r = ((glUniform1i64NV = (PFNGLUNIFORM1I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform1i64NV")) == NULL) || r; r = ((glUniform1i64vNV = (PFNGLUNIFORM1I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform1i64vNV")) == NULL) || r; r = ((glUniform1ui64NV = (PFNGLUNIFORM1UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui64NV")) == NULL) || r; r = ((glUniform1ui64vNV = (PFNGLUNIFORM1UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui64vNV")) == NULL) || r; r = ((glUniform2i64NV = (PFNGLUNIFORM2I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform2i64NV")) == NULL) || r; r = ((glUniform2i64vNV = (PFNGLUNIFORM2I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform2i64vNV")) == NULL) || r; r = ((glUniform2ui64NV = (PFNGLUNIFORM2UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui64NV")) == NULL) || r; r = ((glUniform2ui64vNV = (PFNGLUNIFORM2UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui64vNV")) == NULL) || r; r = ((glUniform3i64NV = (PFNGLUNIFORM3I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform3i64NV")) == NULL) || r; r = ((glUniform3i64vNV = (PFNGLUNIFORM3I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform3i64vNV")) == NULL) || r; r = ((glUniform3ui64NV = (PFNGLUNIFORM3UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui64NV")) == NULL) || r; r = ((glUniform3ui64vNV = (PFNGLUNIFORM3UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui64vNV")) == NULL) || r; r = ((glUniform4i64NV = (PFNGLUNIFORM4I64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform4i64NV")) == NULL) || r; r = ((glUniform4i64vNV = (PFNGLUNIFORM4I64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform4i64vNV")) == NULL) || r; r = ((glUniform4ui64NV = (PFNGLUNIFORM4UI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui64NV")) == NULL) || r; r = ((glUniform4ui64vNV = (PFNGLUNIFORM4UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui64vNV")) == NULL) || r; return r; } #endif /* GL_NV_gpu_shader5 */ #ifdef GL_NV_half_float static GLboolean _glewInit_GL_NV_half_float (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColor3hNV = (PFNGLCOLOR3HNVPROC)glewGetProcAddress((const GLubyte*)"glColor3hNV")) == NULL) || r; r = ((glColor3hvNV = (PFNGLCOLOR3HVNVPROC)glewGetProcAddress((const GLubyte*)"glColor3hvNV")) == NULL) || r; r = ((glColor4hNV = (PFNGLCOLOR4HNVPROC)glewGetProcAddress((const GLubyte*)"glColor4hNV")) == NULL) || r; r = ((glColor4hvNV = (PFNGLCOLOR4HVNVPROC)glewGetProcAddress((const GLubyte*)"glColor4hvNV")) == NULL) || r; r = ((glFogCoordhNV = (PFNGLFOGCOORDHNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordhNV")) == NULL) || r; r = ((glFogCoordhvNV = (PFNGLFOGCOORDHVNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordhvNV")) == NULL) || r; r = ((glMultiTexCoord1hNV = (PFNGLMULTITEXCOORD1HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1hNV")) == NULL) || r; r = ((glMultiTexCoord1hvNV = (PFNGLMULTITEXCOORD1HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1hvNV")) == NULL) || r; r = ((glMultiTexCoord2hNV = (PFNGLMULTITEXCOORD2HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2hNV")) == NULL) || r; r = ((glMultiTexCoord2hvNV = (PFNGLMULTITEXCOORD2HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2hvNV")) == NULL) || r; r = ((glMultiTexCoord3hNV = (PFNGLMULTITEXCOORD3HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3hNV")) == NULL) || r; r = ((glMultiTexCoord3hvNV = (PFNGLMULTITEXCOORD3HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3hvNV")) == NULL) || r; r = ((glMultiTexCoord4hNV = (PFNGLMULTITEXCOORD4HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4hNV")) == NULL) || r; r = ((glMultiTexCoord4hvNV = (PFNGLMULTITEXCOORD4HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4hvNV")) == NULL) || r; r = ((glNormal3hNV = (PFNGLNORMAL3HNVPROC)glewGetProcAddress((const GLubyte*)"glNormal3hNV")) == NULL) || r; r = ((glNormal3hvNV = (PFNGLNORMAL3HVNVPROC)glewGetProcAddress((const GLubyte*)"glNormal3hvNV")) == NULL) || r; r = ((glSecondaryColor3hNV = (PFNGLSECONDARYCOLOR3HNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3hNV")) == NULL) || r; r = ((glSecondaryColor3hvNV = (PFNGLSECONDARYCOLOR3HVNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3hvNV")) == NULL) || r; r = ((glTexCoord1hNV = (PFNGLTEXCOORD1HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord1hNV")) == NULL) || r; r = ((glTexCoord1hvNV = (PFNGLTEXCOORD1HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord1hvNV")) == NULL) || r; r = ((glTexCoord2hNV = (PFNGLTEXCOORD2HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2hNV")) == NULL) || r; r = ((glTexCoord2hvNV = (PFNGLTEXCOORD2HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2hvNV")) == NULL) || r; r = ((glTexCoord3hNV = (PFNGLTEXCOORD3HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord3hNV")) == NULL) || r; r = ((glTexCoord3hvNV = (PFNGLTEXCOORD3HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord3hvNV")) == NULL) || r; r = ((glTexCoord4hNV = (PFNGLTEXCOORD4HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4hNV")) == NULL) || r; r = ((glTexCoord4hvNV = (PFNGLTEXCOORD4HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4hvNV")) == NULL) || r; r = ((glVertex2hNV = (PFNGLVERTEX2HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex2hNV")) == NULL) || r; r = ((glVertex2hvNV = (PFNGLVERTEX2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex2hvNV")) == NULL) || r; r = ((glVertex3hNV = (PFNGLVERTEX3HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex3hNV")) == NULL) || r; r = ((glVertex3hvNV = (PFNGLVERTEX3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex3hvNV")) == NULL) || r; r = ((glVertex4hNV = (PFNGLVERTEX4HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex4hNV")) == NULL) || r; r = ((glVertex4hvNV = (PFNGLVERTEX4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex4hvNV")) == NULL) || r; r = ((glVertexAttrib1hNV = (PFNGLVERTEXATTRIB1HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1hNV")) == NULL) || r; r = ((glVertexAttrib1hvNV = (PFNGLVERTEXATTRIB1HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1hvNV")) == NULL) || r; r = ((glVertexAttrib2hNV = (PFNGLVERTEXATTRIB2HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2hNV")) == NULL) || r; r = ((glVertexAttrib2hvNV = (PFNGLVERTEXATTRIB2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2hvNV")) == NULL) || r; r = ((glVertexAttrib3hNV = (PFNGLVERTEXATTRIB3HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3hNV")) == NULL) || r; r = ((glVertexAttrib3hvNV = (PFNGLVERTEXATTRIB3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3hvNV")) == NULL) || r; r = ((glVertexAttrib4hNV = (PFNGLVERTEXATTRIB4HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4hNV")) == NULL) || r; r = ((glVertexAttrib4hvNV = (PFNGLVERTEXATTRIB4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4hvNV")) == NULL) || r; r = ((glVertexAttribs1hvNV = (PFNGLVERTEXATTRIBS1HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1hvNV")) == NULL) || r; r = ((glVertexAttribs2hvNV = (PFNGLVERTEXATTRIBS2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2hvNV")) == NULL) || r; r = ((glVertexAttribs3hvNV = (PFNGLVERTEXATTRIBS3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3hvNV")) == NULL) || r; r = ((glVertexAttribs4hvNV = (PFNGLVERTEXATTRIBS4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4hvNV")) == NULL) || r; r = ((glVertexWeighthNV = (PFNGLVERTEXWEIGHTHNVPROC)glewGetProcAddress((const GLubyte*)"glVertexWeighthNV")) == NULL) || r; r = ((glVertexWeighthvNV = (PFNGLVERTEXWEIGHTHVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexWeighthvNV")) == NULL) || r; return r; } #endif /* GL_NV_half_float */ #ifdef GL_NV_light_max_exponent #endif /* GL_NV_light_max_exponent */ #ifdef GL_NV_multisample_coverage #endif /* GL_NV_multisample_coverage */ #ifdef GL_NV_multisample_filter_hint #endif /* GL_NV_multisample_filter_hint */ #ifdef GL_NV_occlusion_query static GLboolean _glewInit_GL_NV_occlusion_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginOcclusionQueryNV = (PFNGLBEGINOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glBeginOcclusionQueryNV")) == NULL) || r; r = ((glDeleteOcclusionQueriesNV = (PFNGLDELETEOCCLUSIONQUERIESNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteOcclusionQueriesNV")) == NULL) || r; r = ((glEndOcclusionQueryNV = (PFNGLENDOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glEndOcclusionQueryNV")) == NULL) || r; r = ((glGenOcclusionQueriesNV = (PFNGLGENOCCLUSIONQUERIESNVPROC)glewGetProcAddress((const GLubyte*)"glGenOcclusionQueriesNV")) == NULL) || r; r = ((glGetOcclusionQueryivNV = (PFNGLGETOCCLUSIONQUERYIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetOcclusionQueryivNV")) == NULL) || r; r = ((glGetOcclusionQueryuivNV = (PFNGLGETOCCLUSIONQUERYUIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetOcclusionQueryuivNV")) == NULL) || r; r = ((glIsOcclusionQueryNV = (PFNGLISOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glIsOcclusionQueryNV")) == NULL) || r; return r; } #endif /* GL_NV_occlusion_query */ #ifdef GL_NV_packed_depth_stencil #endif /* GL_NV_packed_depth_stencil */ #ifdef GL_NV_parameter_buffer_object static GLboolean _glewInit_GL_NV_parameter_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glProgramBufferParametersIivNV = (PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersIivNV")) == NULL) || r; r = ((glProgramBufferParametersIuivNV = (PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersIuivNV")) == NULL) || r; r = ((glProgramBufferParametersfvNV = (PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersfvNV")) == NULL) || r; return r; } #endif /* GL_NV_parameter_buffer_object */ #ifdef GL_NV_parameter_buffer_object2 #endif /* GL_NV_parameter_buffer_object2 */ #ifdef GL_NV_path_rendering static GLboolean _glewInit_GL_NV_path_rendering (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCopyPathNV = (PFNGLCOPYPATHNVPROC)glewGetProcAddress((const GLubyte*)"glCopyPathNV")) == NULL) || r; r = ((glCoverFillPathInstancedNV = (PFNGLCOVERFILLPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glCoverFillPathInstancedNV")) == NULL) || r; r = ((glCoverFillPathNV = (PFNGLCOVERFILLPATHNVPROC)glewGetProcAddress((const GLubyte*)"glCoverFillPathNV")) == NULL) || r; r = ((glCoverStrokePathInstancedNV = (PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glCoverStrokePathInstancedNV")) == NULL) || r; r = ((glCoverStrokePathNV = (PFNGLCOVERSTROKEPATHNVPROC)glewGetProcAddress((const GLubyte*)"glCoverStrokePathNV")) == NULL) || r; r = ((glDeletePathsNV = (PFNGLDELETEPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glDeletePathsNV")) == NULL) || r; r = ((glGenPathsNV = (PFNGLGENPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glGenPathsNV")) == NULL) || r; r = ((glGetPathColorGenfvNV = (PFNGLGETPATHCOLORGENFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathColorGenfvNV")) == NULL) || r; r = ((glGetPathColorGenivNV = (PFNGLGETPATHCOLORGENIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathColorGenivNV")) == NULL) || r; r = ((glGetPathCommandsNV = (PFNGLGETPATHCOMMANDSNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathCommandsNV")) == NULL) || r; r = ((glGetPathCoordsNV = (PFNGLGETPATHCOORDSNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathCoordsNV")) == NULL) || r; r = ((glGetPathDashArrayNV = (PFNGLGETPATHDASHARRAYNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathDashArrayNV")) == NULL) || r; r = ((glGetPathLengthNV = (PFNGLGETPATHLENGTHNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathLengthNV")) == NULL) || r; r = ((glGetPathMetricRangeNV = (PFNGLGETPATHMETRICRANGENVPROC)glewGetProcAddress((const GLubyte*)"glGetPathMetricRangeNV")) == NULL) || r; r = ((glGetPathMetricsNV = (PFNGLGETPATHMETRICSNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathMetricsNV")) == NULL) || r; r = ((glGetPathParameterfvNV = (PFNGLGETPATHPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathParameterfvNV")) == NULL) || r; r = ((glGetPathParameterivNV = (PFNGLGETPATHPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathParameterivNV")) == NULL) || r; r = ((glGetPathSpacingNV = (PFNGLGETPATHSPACINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathSpacingNV")) == NULL) || r; r = ((glGetPathTexGenfvNV = (PFNGLGETPATHTEXGENFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathTexGenfvNV")) == NULL) || r; r = ((glGetPathTexGenivNV = (PFNGLGETPATHTEXGENIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetPathTexGenivNV")) == NULL) || r; r = ((glInterpolatePathsNV = (PFNGLINTERPOLATEPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glInterpolatePathsNV")) == NULL) || r; r = ((glIsPathNV = (PFNGLISPATHNVPROC)glewGetProcAddress((const GLubyte*)"glIsPathNV")) == NULL) || r; r = ((glIsPointInFillPathNV = (PFNGLISPOINTINFILLPATHNVPROC)glewGetProcAddress((const GLubyte*)"glIsPointInFillPathNV")) == NULL) || r; r = ((glIsPointInStrokePathNV = (PFNGLISPOINTINSTROKEPATHNVPROC)glewGetProcAddress((const GLubyte*)"glIsPointInStrokePathNV")) == NULL) || r; r = ((glPathColorGenNV = (PFNGLPATHCOLORGENNVPROC)glewGetProcAddress((const GLubyte*)"glPathColorGenNV")) == NULL) || r; r = ((glPathCommandsNV = (PFNGLPATHCOMMANDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathCommandsNV")) == NULL) || r; r = ((glPathCoordsNV = (PFNGLPATHCOORDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathCoordsNV")) == NULL) || r; r = ((glPathCoverDepthFuncNV = (PFNGLPATHCOVERDEPTHFUNCNVPROC)glewGetProcAddress((const GLubyte*)"glPathCoverDepthFuncNV")) == NULL) || r; r = ((glPathDashArrayNV = (PFNGLPATHDASHARRAYNVPROC)glewGetProcAddress((const GLubyte*)"glPathDashArrayNV")) == NULL) || r; r = ((glPathFogGenNV = (PFNGLPATHFOGGENNVPROC)glewGetProcAddress((const GLubyte*)"glPathFogGenNV")) == NULL) || r; r = ((glPathGlyphRangeNV = (PFNGLPATHGLYPHRANGENVPROC)glewGetProcAddress((const GLubyte*)"glPathGlyphRangeNV")) == NULL) || r; r = ((glPathGlyphsNV = (PFNGLPATHGLYPHSNVPROC)glewGetProcAddress((const GLubyte*)"glPathGlyphsNV")) == NULL) || r; r = ((glPathParameterfNV = (PFNGLPATHPARAMETERFNVPROC)glewGetProcAddress((const GLubyte*)"glPathParameterfNV")) == NULL) || r; r = ((glPathParameterfvNV = (PFNGLPATHPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glPathParameterfvNV")) == NULL) || r; r = ((glPathParameteriNV = (PFNGLPATHPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glPathParameteriNV")) == NULL) || r; r = ((glPathParameterivNV = (PFNGLPATHPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glPathParameterivNV")) == NULL) || r; r = ((glPathStencilDepthOffsetNV = (PFNGLPATHSTENCILDEPTHOFFSETNVPROC)glewGetProcAddress((const GLubyte*)"glPathStencilDepthOffsetNV")) == NULL) || r; r = ((glPathStencilFuncNV = (PFNGLPATHSTENCILFUNCNVPROC)glewGetProcAddress((const GLubyte*)"glPathStencilFuncNV")) == NULL) || r; r = ((glPathStringNV = (PFNGLPATHSTRINGNVPROC)glewGetProcAddress((const GLubyte*)"glPathStringNV")) == NULL) || r; r = ((glPathSubCommandsNV = (PFNGLPATHSUBCOMMANDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathSubCommandsNV")) == NULL) || r; r = ((glPathSubCoordsNV = (PFNGLPATHSUBCOORDSNVPROC)glewGetProcAddress((const GLubyte*)"glPathSubCoordsNV")) == NULL) || r; r = ((glPathTexGenNV = (PFNGLPATHTEXGENNVPROC)glewGetProcAddress((const GLubyte*)"glPathTexGenNV")) == NULL) || r; r = ((glPointAlongPathNV = (PFNGLPOINTALONGPATHNVPROC)glewGetProcAddress((const GLubyte*)"glPointAlongPathNV")) == NULL) || r; r = ((glStencilFillPathInstancedNV = (PFNGLSTENCILFILLPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glStencilFillPathInstancedNV")) == NULL) || r; r = ((glStencilFillPathNV = (PFNGLSTENCILFILLPATHNVPROC)glewGetProcAddress((const GLubyte*)"glStencilFillPathNV")) == NULL) || r; r = ((glStencilStrokePathInstancedNV = (PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)glewGetProcAddress((const GLubyte*)"glStencilStrokePathInstancedNV")) == NULL) || r; r = ((glStencilStrokePathNV = (PFNGLSTENCILSTROKEPATHNVPROC)glewGetProcAddress((const GLubyte*)"glStencilStrokePathNV")) == NULL) || r; r = ((glTransformPathNV = (PFNGLTRANSFORMPATHNVPROC)glewGetProcAddress((const GLubyte*)"glTransformPathNV")) == NULL) || r; r = ((glWeightPathsNV = (PFNGLWEIGHTPATHSNVPROC)glewGetProcAddress((const GLubyte*)"glWeightPathsNV")) == NULL) || r; return r; } #endif /* GL_NV_path_rendering */ #ifdef GL_NV_pixel_data_range static GLboolean _glewInit_GL_NV_pixel_data_range (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFlushPixelDataRangeNV = (PFNGLFLUSHPIXELDATARANGENVPROC)glewGetProcAddress((const GLubyte*)"glFlushPixelDataRangeNV")) == NULL) || r; r = ((glPixelDataRangeNV = (PFNGLPIXELDATARANGENVPROC)glewGetProcAddress((const GLubyte*)"glPixelDataRangeNV")) == NULL) || r; return r; } #endif /* GL_NV_pixel_data_range */ #ifdef GL_NV_point_sprite static GLboolean _glewInit_GL_NV_point_sprite (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glPointParameteriNV")) == NULL) || r; r = ((glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterivNV")) == NULL) || r; return r; } #endif /* GL_NV_point_sprite */ #ifdef GL_NV_present_video static GLboolean _glewInit_GL_NV_present_video (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetVideoi64vNV = (PFNGLGETVIDEOI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoi64vNV")) == NULL) || r; r = ((glGetVideoivNV = (PFNGLGETVIDEOIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoivNV")) == NULL) || r; r = ((glGetVideoui64vNV = (PFNGLGETVIDEOUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoui64vNV")) == NULL) || r; r = ((glGetVideouivNV = (PFNGLGETVIDEOUIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideouivNV")) == NULL) || r; r = ((glPresentFrameDualFillNV = (PFNGLPRESENTFRAMEDUALFILLNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameDualFillNV")) == NULL) || r; r = ((glPresentFrameKeyedNV = (PFNGLPRESENTFRAMEKEYEDNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameKeyedNV")) == NULL) || r; return r; } #endif /* GL_NV_present_video */ #ifdef GL_NV_primitive_restart static GLboolean _glewInit_GL_NV_primitive_restart (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPrimitiveRestartIndexNV = (PFNGLPRIMITIVERESTARTINDEXNVPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartIndexNV")) == NULL) || r; r = ((glPrimitiveRestartNV = (PFNGLPRIMITIVERESTARTNVPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartNV")) == NULL) || r; return r; } #endif /* GL_NV_primitive_restart */ #ifdef GL_NV_register_combiners static GLboolean _glewInit_GL_NV_register_combiners (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCombinerInputNV = (PFNGLCOMBINERINPUTNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerInputNV")) == NULL) || r; r = ((glCombinerOutputNV = (PFNGLCOMBINEROUTPUTNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerOutputNV")) == NULL) || r; r = ((glCombinerParameterfNV = (PFNGLCOMBINERPARAMETERFNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterfNV")) == NULL) || r; r = ((glCombinerParameterfvNV = (PFNGLCOMBINERPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterfvNV")) == NULL) || r; r = ((glCombinerParameteriNV = (PFNGLCOMBINERPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameteriNV")) == NULL) || r; r = ((glCombinerParameterivNV = (PFNGLCOMBINERPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterivNV")) == NULL) || r; r = ((glFinalCombinerInputNV = (PFNGLFINALCOMBINERINPUTNVPROC)glewGetProcAddress((const GLubyte*)"glFinalCombinerInputNV")) == NULL) || r; r = ((glGetCombinerInputParameterfvNV = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerInputParameterfvNV")) == NULL) || r; r = ((glGetCombinerInputParameterivNV = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerInputParameterivNV")) == NULL) || r; r = ((glGetCombinerOutputParameterfvNV = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerOutputParameterfvNV")) == NULL) || r; r = ((glGetCombinerOutputParameterivNV = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerOutputParameterivNV")) == NULL) || r; r = ((glGetFinalCombinerInputParameterfvNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFinalCombinerInputParameterfvNV")) == NULL) || r; r = ((glGetFinalCombinerInputParameterivNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFinalCombinerInputParameterivNV")) == NULL) || r; return r; } #endif /* GL_NV_register_combiners */ #ifdef GL_NV_register_combiners2 static GLboolean _glewInit_GL_NV_register_combiners2 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glCombinerStageParameterfvNV = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerStageParameterfvNV")) == NULL) || r; r = ((glGetCombinerStageParameterfvNV = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerStageParameterfvNV")) == NULL) || r; return r; } #endif /* GL_NV_register_combiners2 */ #ifdef GL_NV_shader_atomic_counters #endif /* GL_NV_shader_atomic_counters */ #ifdef GL_NV_shader_atomic_float #endif /* GL_NV_shader_atomic_float */ #ifdef GL_NV_shader_buffer_load static GLboolean _glewInit_GL_NV_shader_buffer_load (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetBufferParameterui64vNV = (PFNGLGETBUFFERPARAMETERUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameterui64vNV")) == NULL) || r; r = ((glGetIntegerui64vNV = (PFNGLGETINTEGERUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetIntegerui64vNV")) == NULL) || r; r = ((glGetNamedBufferParameterui64vNV = (PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferParameterui64vNV")) == NULL) || r; r = ((glIsBufferResidentNV = (PFNGLISBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsBufferResidentNV")) == NULL) || r; r = ((glIsNamedBufferResidentNV = (PFNGLISNAMEDBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glIsNamedBufferResidentNV")) == NULL) || r; r = ((glMakeBufferNonResidentNV = (PFNGLMAKEBUFFERNONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeBufferNonResidentNV")) == NULL) || r; r = ((glMakeBufferResidentNV = (PFNGLMAKEBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeBufferResidentNV")) == NULL) || r; r = ((glMakeNamedBufferNonResidentNV = (PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeNamedBufferNonResidentNV")) == NULL) || r; r = ((glMakeNamedBufferResidentNV = (PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glMakeNamedBufferResidentNV")) == NULL) || r; r = ((glProgramUniformui64NV = (PFNGLPROGRAMUNIFORMUI64NVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformui64NV")) == NULL) || r; r = ((glProgramUniformui64vNV = (PFNGLPROGRAMUNIFORMUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformui64vNV")) == NULL) || r; r = ((glUniformui64NV = (PFNGLUNIFORMUI64NVPROC)glewGetProcAddress((const GLubyte*)"glUniformui64NV")) == NULL) || r; r = ((glUniformui64vNV = (PFNGLUNIFORMUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glUniformui64vNV")) == NULL) || r; return r; } #endif /* GL_NV_shader_buffer_load */ #ifdef GL_NV_shader_storage_buffer_object #endif /* GL_NV_shader_storage_buffer_object */ #ifdef GL_NV_tessellation_program5 #endif /* GL_NV_tessellation_program5 */ #ifdef GL_NV_texgen_emboss #endif /* GL_NV_texgen_emboss */ #ifdef GL_NV_texgen_reflection #endif /* GL_NV_texgen_reflection */ #ifdef GL_NV_texture_barrier static GLboolean _glewInit_GL_NV_texture_barrier (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTextureBarrierNV = (PFNGLTEXTUREBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glTextureBarrierNV")) == NULL) || r; return r; } #endif /* GL_NV_texture_barrier */ #ifdef GL_NV_texture_compression_vtc #endif /* GL_NV_texture_compression_vtc */ #ifdef GL_NV_texture_env_combine4 #endif /* GL_NV_texture_env_combine4 */ #ifdef GL_NV_texture_expand_normal #endif /* GL_NV_texture_expand_normal */ #ifdef GL_NV_texture_multisample static GLboolean _glewInit_GL_NV_texture_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexImage2DMultisampleCoverageNV = (PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTexImage2DMultisampleCoverageNV")) == NULL) || r; r = ((glTexImage3DMultisampleCoverageNV = (PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DMultisampleCoverageNV")) == NULL) || r; r = ((glTextureImage2DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DMultisampleCoverageNV")) == NULL) || r; r = ((glTextureImage2DMultisampleNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DMultisampleNV")) == NULL) || r; r = ((glTextureImage3DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DMultisampleCoverageNV")) == NULL) || r; r = ((glTextureImage3DMultisampleNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DMultisampleNV")) == NULL) || r; return r; } #endif /* GL_NV_texture_multisample */ #ifdef GL_NV_texture_rectangle #endif /* GL_NV_texture_rectangle */ #ifdef GL_NV_texture_shader #endif /* GL_NV_texture_shader */ #ifdef GL_NV_texture_shader2 #endif /* GL_NV_texture_shader2 */ #ifdef GL_NV_texture_shader3 #endif /* GL_NV_texture_shader3 */ #ifdef GL_NV_transform_feedback static GLboolean _glewInit_GL_NV_transform_feedback (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glActiveVaryingNV = (PFNGLACTIVEVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glActiveVaryingNV")) == NULL) || r; r = ((glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedbackNV")) == NULL) || r; r = ((glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBaseNV")) == NULL) || r; r = ((glBindBufferOffsetNV = (PFNGLBINDBUFFEROFFSETNVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferOffsetNV")) == NULL) || r; r = ((glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRangeNV")) == NULL) || r; r = ((glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedbackNV")) == NULL) || r; r = ((glGetActiveVaryingNV = (PFNGLGETACTIVEVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveVaryingNV")) == NULL) || r; r = ((glGetTransformFeedbackVaryingNV = (PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVaryingNV")) == NULL) || r; r = ((glGetVaryingLocationNV = (PFNGLGETVARYINGLOCATIONNVPROC)glewGetProcAddress((const GLubyte*)"glGetVaryingLocationNV")) == NULL) || r; r = ((glTransformFeedbackAttribsNV = (PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackAttribsNV")) == NULL) || r; r = ((glTransformFeedbackVaryingsNV = (PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryingsNV")) == NULL) || r; return r; } #endif /* GL_NV_transform_feedback */ #ifdef GL_NV_transform_feedback2 static GLboolean _glewInit_GL_NV_transform_feedback2 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBindTransformFeedbackNV = (PFNGLBINDTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glBindTransformFeedbackNV")) == NULL) || r; r = ((glDeleteTransformFeedbacksNV = (PFNGLDELETETRANSFORMFEEDBACKSNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteTransformFeedbacksNV")) == NULL) || r; r = ((glDrawTransformFeedbackNV = (PFNGLDRAWTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glDrawTransformFeedbackNV")) == NULL) || r; r = ((glGenTransformFeedbacksNV = (PFNGLGENTRANSFORMFEEDBACKSNVPROC)glewGetProcAddress((const GLubyte*)"glGenTransformFeedbacksNV")) == NULL) || r; r = ((glIsTransformFeedbackNV = (PFNGLISTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glIsTransformFeedbackNV")) == NULL) || r; r = ((glPauseTransformFeedbackNV = (PFNGLPAUSETRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glPauseTransformFeedbackNV")) == NULL) || r; r = ((glResumeTransformFeedbackNV = (PFNGLRESUMETRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glResumeTransformFeedbackNV")) == NULL) || r; return r; } #endif /* GL_NV_transform_feedback2 */ #ifdef GL_NV_vdpau_interop static GLboolean _glewInit_GL_NV_vdpau_interop (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glVDPAUFiniNV = (PFNGLVDPAUFININVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUFiniNV")) == NULL) || r; r = ((glVDPAUGetSurfaceivNV = (PFNGLVDPAUGETSURFACEIVNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUGetSurfaceivNV")) == NULL) || r; r = ((glVDPAUInitNV = (PFNGLVDPAUINITNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUInitNV")) == NULL) || r; r = ((glVDPAUIsSurfaceNV = (PFNGLVDPAUISSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUIsSurfaceNV")) == NULL) || r; r = ((glVDPAUMapSurfacesNV = (PFNGLVDPAUMAPSURFACESNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUMapSurfacesNV")) == NULL) || r; r = ((glVDPAURegisterOutputSurfaceNV = (PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAURegisterOutputSurfaceNV")) == NULL) || r; r = ((glVDPAURegisterVideoSurfaceNV = (PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAURegisterVideoSurfaceNV")) == NULL) || r; r = ((glVDPAUSurfaceAccessNV = (PFNGLVDPAUSURFACEACCESSNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUSurfaceAccessNV")) == NULL) || r; r = ((glVDPAUUnmapSurfacesNV = (PFNGLVDPAUUNMAPSURFACESNVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUUnmapSurfacesNV")) == NULL) || r; r = ((glVDPAUUnregisterSurfaceNV = (PFNGLVDPAUUNREGISTERSURFACENVPROC)glewGetProcAddress((const GLubyte*)"glVDPAUUnregisterSurfaceNV")) == NULL) || r; return r; } #endif /* GL_NV_vdpau_interop */ #ifdef GL_NV_vertex_array_range static GLboolean _glewInit_GL_NV_vertex_array_range (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFlushVertexArrayRangeNV = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)glewGetProcAddress((const GLubyte*)"glFlushVertexArrayRangeNV")) == NULL) || r; r = ((glVertexArrayRangeNV = (PFNGLVERTEXARRAYRANGENVPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayRangeNV")) == NULL) || r; return r; } #endif /* GL_NV_vertex_array_range */ #ifdef GL_NV_vertex_array_range2 #endif /* GL_NV_vertex_array_range2 */ #ifdef GL_NV_vertex_attrib_integer_64bit static GLboolean _glewInit_GL_NV_vertex_attrib_integer_64bit (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetVertexAttribLi64vNV = (PFNGLGETVERTEXATTRIBLI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLi64vNV")) == NULL) || r; r = ((glGetVertexAttribLui64vNV = (PFNGLGETVERTEXATTRIBLUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribLui64vNV")) == NULL) || r; r = ((glVertexAttribL1i64NV = (PFNGLVERTEXATTRIBL1I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1i64NV")) == NULL) || r; r = ((glVertexAttribL1i64vNV = (PFNGLVERTEXATTRIBL1I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1i64vNV")) == NULL) || r; r = ((glVertexAttribL1ui64NV = (PFNGLVERTEXATTRIBL1UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64NV")) == NULL) || r; r = ((glVertexAttribL1ui64vNV = (PFNGLVERTEXATTRIBL1UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL1ui64vNV")) == NULL) || r; r = ((glVertexAttribL2i64NV = (PFNGLVERTEXATTRIBL2I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2i64NV")) == NULL) || r; r = ((glVertexAttribL2i64vNV = (PFNGLVERTEXATTRIBL2I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2i64vNV")) == NULL) || r; r = ((glVertexAttribL2ui64NV = (PFNGLVERTEXATTRIBL2UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2ui64NV")) == NULL) || r; r = ((glVertexAttribL2ui64vNV = (PFNGLVERTEXATTRIBL2UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL2ui64vNV")) == NULL) || r; r = ((glVertexAttribL3i64NV = (PFNGLVERTEXATTRIBL3I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3i64NV")) == NULL) || r; r = ((glVertexAttribL3i64vNV = (PFNGLVERTEXATTRIBL3I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3i64vNV")) == NULL) || r; r = ((glVertexAttribL3ui64NV = (PFNGLVERTEXATTRIBL3UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3ui64NV")) == NULL) || r; r = ((glVertexAttribL3ui64vNV = (PFNGLVERTEXATTRIBL3UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL3ui64vNV")) == NULL) || r; r = ((glVertexAttribL4i64NV = (PFNGLVERTEXATTRIBL4I64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4i64NV")) == NULL) || r; r = ((glVertexAttribL4i64vNV = (PFNGLVERTEXATTRIBL4I64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4i64vNV")) == NULL) || r; r = ((glVertexAttribL4ui64NV = (PFNGLVERTEXATTRIBL4UI64NVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4ui64NV")) == NULL) || r; r = ((glVertexAttribL4ui64vNV = (PFNGLVERTEXATTRIBL4UI64VNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribL4ui64vNV")) == NULL) || r; r = ((glVertexAttribLFormatNV = (PFNGLVERTEXATTRIBLFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribLFormatNV")) == NULL) || r; return r; } #endif /* GL_NV_vertex_attrib_integer_64bit */ #ifdef GL_NV_vertex_buffer_unified_memory static GLboolean _glewInit_GL_NV_vertex_buffer_unified_memory (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBufferAddressRangeNV = (PFNGLBUFFERADDRESSRANGENVPROC)glewGetProcAddress((const GLubyte*)"glBufferAddressRangeNV")) == NULL) || r; r = ((glColorFormatNV = (PFNGLCOLORFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glColorFormatNV")) == NULL) || r; r = ((glEdgeFlagFormatNV = (PFNGLEDGEFLAGFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagFormatNV")) == NULL) || r; r = ((glFogCoordFormatNV = (PFNGLFOGCOORDFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordFormatNV")) == NULL) || r; r = ((glGetIntegerui64i_vNV = (PFNGLGETINTEGERUI64I_VNVPROC)glewGetProcAddress((const GLubyte*)"glGetIntegerui64i_vNV")) == NULL) || r; r = ((glIndexFormatNV = (PFNGLINDEXFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glIndexFormatNV")) == NULL) || r; r = ((glNormalFormatNV = (PFNGLNORMALFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glNormalFormatNV")) == NULL) || r; r = ((glSecondaryColorFormatNV = (PFNGLSECONDARYCOLORFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorFormatNV")) == NULL) || r; r = ((glTexCoordFormatNV = (PFNGLTEXCOORDFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoordFormatNV")) == NULL) || r; r = ((glVertexAttribFormatNV = (PFNGLVERTEXATTRIBFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribFormatNV")) == NULL) || r; r = ((glVertexAttribIFormatNV = (PFNGLVERTEXATTRIBIFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIFormatNV")) == NULL) || r; r = ((glVertexFormatNV = (PFNGLVERTEXFORMATNVPROC)glewGetProcAddress((const GLubyte*)"glVertexFormatNV")) == NULL) || r; return r; } #endif /* GL_NV_vertex_buffer_unified_memory */ #ifdef GL_NV_vertex_program static GLboolean _glewInit_GL_NV_vertex_program (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAreProgramsResidentNV = (PFNGLAREPROGRAMSRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glAreProgramsResidentNV")) == NULL) || r; r = ((glBindProgramNV = (PFNGLBINDPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glBindProgramNV")) == NULL) || r; r = ((glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramsNV")) == NULL) || r; r = ((glExecuteProgramNV = (PFNGLEXECUTEPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glExecuteProgramNV")) == NULL) || r; r = ((glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glGenProgramsNV")) == NULL) || r; r = ((glGetProgramParameterdvNV = (PFNGLGETPROGRAMPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramParameterdvNV")) == NULL) || r; r = ((glGetProgramParameterfvNV = (PFNGLGETPROGRAMPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramParameterfvNV")) == NULL) || r; r = ((glGetProgramStringNV = (PFNGLGETPROGRAMSTRINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStringNV")) == NULL) || r; r = ((glGetProgramivNV = (PFNGLGETPROGRAMIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramivNV")) == NULL) || r; r = ((glGetTrackMatrixivNV = (PFNGLGETTRACKMATRIXIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetTrackMatrixivNV")) == NULL) || r; r = ((glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointervNV")) == NULL) || r; r = ((glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdvNV")) == NULL) || r; r = ((glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfvNV")) == NULL) || r; r = ((glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribivNV")) == NULL) || r; r = ((glIsProgramNV = (PFNGLISPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glIsProgramNV")) == NULL) || r; r = ((glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glLoadProgramNV")) == NULL) || r; r = ((glProgramParameter4dNV = (PFNGLPROGRAMPARAMETER4DNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4dNV")) == NULL) || r; r = ((glProgramParameter4dvNV = (PFNGLPROGRAMPARAMETER4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4dvNV")) == NULL) || r; r = ((glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4fNV")) == NULL) || r; r = ((glProgramParameter4fvNV = (PFNGLPROGRAMPARAMETER4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4fvNV")) == NULL) || r; r = ((glProgramParameters4dvNV = (PFNGLPROGRAMPARAMETERS4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameters4dvNV")) == NULL) || r; r = ((glProgramParameters4fvNV = (PFNGLPROGRAMPARAMETERS4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameters4fvNV")) == NULL) || r; r = ((glRequestResidentProgramsNV = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glRequestResidentProgramsNV")) == NULL) || r; r = ((glTrackMatrixNV = (PFNGLTRACKMATRIXNVPROC)glewGetProcAddress((const GLubyte*)"glTrackMatrixNV")) == NULL) || r; r = ((glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dNV")) == NULL) || r; r = ((glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dvNV")) == NULL) || r; r = ((glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fNV")) == NULL) || r; r = ((glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fvNV")) == NULL) || r; r = ((glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sNV")) == NULL) || r; r = ((glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1svNV")) == NULL) || r; r = ((glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dNV")) == NULL) || r; r = ((glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dvNV")) == NULL) || r; r = ((glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fNV")) == NULL) || r; r = ((glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fvNV")) == NULL) || r; r = ((glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sNV")) == NULL) || r; r = ((glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2svNV")) == NULL) || r; r = ((glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dNV")) == NULL) || r; r = ((glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dvNV")) == NULL) || r; r = ((glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fNV")) == NULL) || r; r = ((glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fvNV")) == NULL) || r; r = ((glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sNV")) == NULL) || r; r = ((glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3svNV")) == NULL) || r; r = ((glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dNV")) == NULL) || r; r = ((glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dvNV")) == NULL) || r; r = ((glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fNV")) == NULL) || r; r = ((glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fvNV")) == NULL) || r; r = ((glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sNV")) == NULL) || r; r = ((glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4svNV")) == NULL) || r; r = ((glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubNV")) == NULL) || r; r = ((glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubvNV")) == NULL) || r; r = ((glVertexAttribPointerNV = (PFNGLVERTEXATTRIBPOINTERNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointerNV")) == NULL) || r; r = ((glVertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1dvNV")) == NULL) || r; r = ((glVertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1fvNV")) == NULL) || r; r = ((glVertexAttribs1svNV = (PFNGLVERTEXATTRIBS1SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1svNV")) == NULL) || r; r = ((glVertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2dvNV")) == NULL) || r; r = ((glVertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2fvNV")) == NULL) || r; r = ((glVertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2svNV")) == NULL) || r; r = ((glVertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3dvNV")) == NULL) || r; r = ((glVertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3fvNV")) == NULL) || r; r = ((glVertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3svNV")) == NULL) || r; r = ((glVertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4dvNV")) == NULL) || r; r = ((glVertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4fvNV")) == NULL) || r; r = ((glVertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4svNV")) == NULL) || r; r = ((glVertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4ubvNV")) == NULL) || r; return r; } #endif /* GL_NV_vertex_program */ #ifdef GL_NV_vertex_program1_1 #endif /* GL_NV_vertex_program1_1 */ #ifdef GL_NV_vertex_program2 #endif /* GL_NV_vertex_program2 */ #ifdef GL_NV_vertex_program2_option #endif /* GL_NV_vertex_program2_option */ #ifdef GL_NV_vertex_program3 #endif /* GL_NV_vertex_program3 */ #ifdef GL_NV_vertex_program4 #endif /* GL_NV_vertex_program4 */ #ifdef GL_NV_video_capture static GLboolean _glewInit_GL_NV_video_capture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glBeginVideoCaptureNV = (PFNGLBEGINVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glBeginVideoCaptureNV")) == NULL) || r; r = ((glBindVideoCaptureStreamBufferNV = (PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glBindVideoCaptureStreamBufferNV")) == NULL) || r; r = ((glBindVideoCaptureStreamTextureNV = (PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)glewGetProcAddress((const GLubyte*)"glBindVideoCaptureStreamTextureNV")) == NULL) || r; r = ((glEndVideoCaptureNV = (PFNGLENDVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glEndVideoCaptureNV")) == NULL) || r; r = ((glGetVideoCaptureStreamdvNV = (PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamdvNV")) == NULL) || r; r = ((glGetVideoCaptureStreamfvNV = (PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamfvNV")) == NULL) || r; r = ((glGetVideoCaptureStreamivNV = (PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureStreamivNV")) == NULL) || r; r = ((glGetVideoCaptureivNV = (PFNGLGETVIDEOCAPTUREIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoCaptureivNV")) == NULL) || r; r = ((glVideoCaptureNV = (PFNGLVIDEOCAPTURENVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureNV")) == NULL) || r; r = ((glVideoCaptureStreamParameterdvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterdvNV")) == NULL) || r; r = ((glVideoCaptureStreamParameterfvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterfvNV")) == NULL) || r; r = ((glVideoCaptureStreamParameterivNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoCaptureStreamParameterivNV")) == NULL) || r; return r; } #endif /* GL_NV_video_capture */ #ifdef GL_OES_byte_coordinates #endif /* GL_OES_byte_coordinates */ #ifdef GL_OES_compressed_paletted_texture #endif /* GL_OES_compressed_paletted_texture */ #ifdef GL_OES_read_format #endif /* GL_OES_read_format */ #ifdef GL_OES_single_precision static GLboolean _glewInit_GL_OES_single_precision (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClearDepthfOES = (PFNGLCLEARDEPTHFOESPROC)glewGetProcAddress((const GLubyte*)"glClearDepthfOES")) == NULL) || r; r = ((glClipPlanefOES = (PFNGLCLIPPLANEFOESPROC)glewGetProcAddress((const GLubyte*)"glClipPlanefOES")) == NULL) || r; r = ((glDepthRangefOES = (PFNGLDEPTHRANGEFOESPROC)glewGetProcAddress((const GLubyte*)"glDepthRangefOES")) == NULL) || r; r = ((glFrustumfOES = (PFNGLFRUSTUMFOESPROC)glewGetProcAddress((const GLubyte*)"glFrustumfOES")) == NULL) || r; r = ((glGetClipPlanefOES = (PFNGLGETCLIPPLANEFOESPROC)glewGetProcAddress((const GLubyte*)"glGetClipPlanefOES")) == NULL) || r; r = ((glOrthofOES = (PFNGLORTHOFOESPROC)glewGetProcAddress((const GLubyte*)"glOrthofOES")) == NULL) || r; return r; } #endif /* GL_OES_single_precision */ #ifdef GL_OML_interlace #endif /* GL_OML_interlace */ #ifdef GL_OML_resample #endif /* GL_OML_resample */ #ifdef GL_OML_subsample #endif /* GL_OML_subsample */ #ifdef GL_PGI_misc_hints #endif /* GL_PGI_misc_hints */ #ifdef GL_PGI_vertex_hints #endif /* GL_PGI_vertex_hints */ #ifdef GL_REGAL_ES1_0_compatibility static GLboolean _glewInit_GL_REGAL_ES1_0_compatibility (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAlphaFuncx = (PFNGLALPHAFUNCXPROC)glewGetProcAddress((const GLubyte*)"glAlphaFuncx")) == NULL) || r; r = ((glClearColorx = (PFNGLCLEARCOLORXPROC)glewGetProcAddress((const GLubyte*)"glClearColorx")) == NULL) || r; r = ((glClearDepthx = (PFNGLCLEARDEPTHXPROC)glewGetProcAddress((const GLubyte*)"glClearDepthx")) == NULL) || r; r = ((glColor4x = (PFNGLCOLOR4XPROC)glewGetProcAddress((const GLubyte*)"glColor4x")) == NULL) || r; r = ((glDepthRangex = (PFNGLDEPTHRANGEXPROC)glewGetProcAddress((const GLubyte*)"glDepthRangex")) == NULL) || r; r = ((glFogx = (PFNGLFOGXPROC)glewGetProcAddress((const GLubyte*)"glFogx")) == NULL) || r; r = ((glFogxv = (PFNGLFOGXVPROC)glewGetProcAddress((const GLubyte*)"glFogxv")) == NULL) || r; r = ((glFrustumf = (PFNGLFRUSTUMFPROC)glewGetProcAddress((const GLubyte*)"glFrustumf")) == NULL) || r; r = ((glFrustumx = (PFNGLFRUSTUMXPROC)glewGetProcAddress((const GLubyte*)"glFrustumx")) == NULL) || r; r = ((glLightModelx = (PFNGLLIGHTMODELXPROC)glewGetProcAddress((const GLubyte*)"glLightModelx")) == NULL) || r; r = ((glLightModelxv = (PFNGLLIGHTMODELXVPROC)glewGetProcAddress((const GLubyte*)"glLightModelxv")) == NULL) || r; r = ((glLightx = (PFNGLLIGHTXPROC)glewGetProcAddress((const GLubyte*)"glLightx")) == NULL) || r; r = ((glLightxv = (PFNGLLIGHTXVPROC)glewGetProcAddress((const GLubyte*)"glLightxv")) == NULL) || r; r = ((glLineWidthx = (PFNGLLINEWIDTHXPROC)glewGetProcAddress((const GLubyte*)"glLineWidthx")) == NULL) || r; r = ((glLoadMatrixx = (PFNGLLOADMATRIXXPROC)glewGetProcAddress((const GLubyte*)"glLoadMatrixx")) == NULL) || r; r = ((glMaterialx = (PFNGLMATERIALXPROC)glewGetProcAddress((const GLubyte*)"glMaterialx")) == NULL) || r; r = ((glMaterialxv = (PFNGLMATERIALXVPROC)glewGetProcAddress((const GLubyte*)"glMaterialxv")) == NULL) || r; r = ((glMultMatrixx = (PFNGLMULTMATRIXXPROC)glewGetProcAddress((const GLubyte*)"glMultMatrixx")) == NULL) || r; r = ((glMultiTexCoord4x = (PFNGLMULTITEXCOORD4XPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4x")) == NULL) || r; r = ((glNormal3x = (PFNGLNORMAL3XPROC)glewGetProcAddress((const GLubyte*)"glNormal3x")) == NULL) || r; r = ((glOrthof = (PFNGLORTHOFPROC)glewGetProcAddress((const GLubyte*)"glOrthof")) == NULL) || r; r = ((glOrthox = (PFNGLORTHOXPROC)glewGetProcAddress((const GLubyte*)"glOrthox")) == NULL) || r; r = ((glPointSizex = (PFNGLPOINTSIZEXPROC)glewGetProcAddress((const GLubyte*)"glPointSizex")) == NULL) || r; r = ((glPolygonOffsetx = (PFNGLPOLYGONOFFSETXPROC)glewGetProcAddress((const GLubyte*)"glPolygonOffsetx")) == NULL) || r; r = ((glRotatex = (PFNGLROTATEXPROC)glewGetProcAddress((const GLubyte*)"glRotatex")) == NULL) || r; r = ((glSampleCoveragex = (PFNGLSAMPLECOVERAGEXPROC)glewGetProcAddress((const GLubyte*)"glSampleCoveragex")) == NULL) || r; r = ((glScalex = (PFNGLSCALEXPROC)glewGetProcAddress((const GLubyte*)"glScalex")) == NULL) || r; r = ((glTexEnvx = (PFNGLTEXENVXPROC)glewGetProcAddress((const GLubyte*)"glTexEnvx")) == NULL) || r; r = ((glTexEnvxv = (PFNGLTEXENVXVPROC)glewGetProcAddress((const GLubyte*)"glTexEnvxv")) == NULL) || r; r = ((glTexParameterx = (PFNGLTEXPARAMETERXPROC)glewGetProcAddress((const GLubyte*)"glTexParameterx")) == NULL) || r; r = ((glTranslatex = (PFNGLTRANSLATEXPROC)glewGetProcAddress((const GLubyte*)"glTranslatex")) == NULL) || r; return r; } #endif /* GL_REGAL_ES1_0_compatibility */ #ifdef GL_REGAL_ES1_1_compatibility static GLboolean _glewInit_GL_REGAL_ES1_1_compatibility (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glClipPlanef = (PFNGLCLIPPLANEFPROC)glewGetProcAddress((const GLubyte*)"glClipPlanef")) == NULL) || r; r = ((glClipPlanex = (PFNGLCLIPPLANEXPROC)glewGetProcAddress((const GLubyte*)"glClipPlanex")) == NULL) || r; r = ((glGetClipPlanef = (PFNGLGETCLIPPLANEFPROC)glewGetProcAddress((const GLubyte*)"glGetClipPlanef")) == NULL) || r; r = ((glGetClipPlanex = (PFNGLGETCLIPPLANEXPROC)glewGetProcAddress((const GLubyte*)"glGetClipPlanex")) == NULL) || r; r = ((glGetFixedv = (PFNGLGETFIXEDVPROC)glewGetProcAddress((const GLubyte*)"glGetFixedv")) == NULL) || r; r = ((glGetLightxv = (PFNGLGETLIGHTXVPROC)glewGetProcAddress((const GLubyte*)"glGetLightxv")) == NULL) || r; r = ((glGetMaterialxv = (PFNGLGETMATERIALXVPROC)glewGetProcAddress((const GLubyte*)"glGetMaterialxv")) == NULL) || r; r = ((glGetTexEnvxv = (PFNGLGETTEXENVXVPROC)glewGetProcAddress((const GLubyte*)"glGetTexEnvxv")) == NULL) || r; r = ((glGetTexParameterxv = (PFNGLGETTEXPARAMETERXVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterxv")) == NULL) || r; r = ((glPointParameterx = (PFNGLPOINTPARAMETERXPROC)glewGetProcAddress((const GLubyte*)"glPointParameterx")) == NULL) || r; r = ((glPointParameterxv = (PFNGLPOINTPARAMETERXVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterxv")) == NULL) || r; r = ((glPointSizePointerOES = (PFNGLPOINTSIZEPOINTEROESPROC)glewGetProcAddress((const GLubyte*)"glPointSizePointerOES")) == NULL) || r; r = ((glTexParameterxv = (PFNGLTEXPARAMETERXVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterxv")) == NULL) || r; return r; } #endif /* GL_REGAL_ES1_1_compatibility */ #ifdef GL_REGAL_enable #endif /* GL_REGAL_enable */ #ifdef GL_REGAL_error_string static GLboolean _glewInit_GL_REGAL_error_string (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glErrorStringREGAL = (PFNGLERRORSTRINGREGALPROC)glewGetProcAddress((const GLubyte*)"glErrorStringREGAL")) == NULL) || r; return r; } #endif /* GL_REGAL_error_string */ #ifdef GL_REGAL_extension_query static GLboolean _glewInit_GL_REGAL_extension_query (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetExtensionREGAL = (PFNGLGETEXTENSIONREGALPROC)glewGetProcAddress((const GLubyte*)"glGetExtensionREGAL")) == NULL) || r; r = ((glIsSupportedREGAL = (PFNGLISSUPPORTEDREGALPROC)glewGetProcAddress((const GLubyte*)"glIsSupportedREGAL")) == NULL) || r; return r; } #endif /* GL_REGAL_extension_query */ #ifdef GL_REGAL_log static GLboolean _glewInit_GL_REGAL_log (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glLogMessageCallbackREGAL = (PFNGLLOGMESSAGECALLBACKREGALPROC)glewGetProcAddress((const GLubyte*)"glLogMessageCallbackREGAL")) == NULL) || r; return r; } #endif /* GL_REGAL_log */ #ifdef GL_REND_screen_coordinates #endif /* GL_REND_screen_coordinates */ #ifdef GL_S3_s3tc #endif /* GL_S3_s3tc */ #ifdef GL_SGIS_color_range #endif /* GL_SGIS_color_range */ #ifdef GL_SGIS_detail_texture static GLboolean _glewInit_GL_SGIS_detail_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glDetailTexFuncSGIS = (PFNGLDETAILTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glDetailTexFuncSGIS")) == NULL) || r; r = ((glGetDetailTexFuncSGIS = (PFNGLGETDETAILTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetDetailTexFuncSGIS")) == NULL) || r; return r; } #endif /* GL_SGIS_detail_texture */ #ifdef GL_SGIS_fog_function static GLboolean _glewInit_GL_SGIS_fog_function (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFogFuncSGIS = (PFNGLFOGFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glFogFuncSGIS")) == NULL) || r; r = ((glGetFogFuncSGIS = (PFNGLGETFOGFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetFogFuncSGIS")) == NULL) || r; return r; } #endif /* GL_SGIS_fog_function */ #ifdef GL_SGIS_generate_mipmap #endif /* GL_SGIS_generate_mipmap */ #ifdef GL_SGIS_multisample static GLboolean _glewInit_GL_SGIS_multisample (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glSampleMaskSGIS = (PFNGLSAMPLEMASKSGISPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskSGIS")) == NULL) || r; r = ((glSamplePatternSGIS = (PFNGLSAMPLEPATTERNSGISPROC)glewGetProcAddress((const GLubyte*)"glSamplePatternSGIS")) == NULL) || r; return r; } #endif /* GL_SGIS_multisample */ #ifdef GL_SGIS_pixel_texture #endif /* GL_SGIS_pixel_texture */ #ifdef GL_SGIS_point_line_texgen #endif /* GL_SGIS_point_line_texgen */ #ifdef GL_SGIS_sharpen_texture static GLboolean _glewInit_GL_SGIS_sharpen_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetSharpenTexFuncSGIS = (PFNGLGETSHARPENTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetSharpenTexFuncSGIS")) == NULL) || r; r = ((glSharpenTexFuncSGIS = (PFNGLSHARPENTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glSharpenTexFuncSGIS")) == NULL) || r; return r; } #endif /* GL_SGIS_sharpen_texture */ #ifdef GL_SGIS_texture4D static GLboolean _glewInit_GL_SGIS_texture4D (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTexImage4DSGIS = (PFNGLTEXIMAGE4DSGISPROC)glewGetProcAddress((const GLubyte*)"glTexImage4DSGIS")) == NULL) || r; r = ((glTexSubImage4DSGIS = (PFNGLTEXSUBIMAGE4DSGISPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage4DSGIS")) == NULL) || r; return r; } #endif /* GL_SGIS_texture4D */ #ifdef GL_SGIS_texture_border_clamp #endif /* GL_SGIS_texture_border_clamp */ #ifdef GL_SGIS_texture_edge_clamp #endif /* GL_SGIS_texture_edge_clamp */ #ifdef GL_SGIS_texture_filter4 static GLboolean _glewInit_GL_SGIS_texture_filter4 (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGetTexFilterFuncSGIS = (PFNGLGETTEXFILTERFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetTexFilterFuncSGIS")) == NULL) || r; r = ((glTexFilterFuncSGIS = (PFNGLTEXFILTERFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glTexFilterFuncSGIS")) == NULL) || r; return r; } #endif /* GL_SGIS_texture_filter4 */ #ifdef GL_SGIS_texture_lod #endif /* GL_SGIS_texture_lod */ #ifdef GL_SGIS_texture_select #endif /* GL_SGIS_texture_select */ #ifdef GL_SGIX_async static GLboolean _glewInit_GL_SGIX_async (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAsyncMarkerSGIX = (PFNGLASYNCMARKERSGIXPROC)glewGetProcAddress((const GLubyte*)"glAsyncMarkerSGIX")) == NULL) || r; r = ((glDeleteAsyncMarkersSGIX = (PFNGLDELETEASYNCMARKERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glDeleteAsyncMarkersSGIX")) == NULL) || r; r = ((glFinishAsyncSGIX = (PFNGLFINISHASYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glFinishAsyncSGIX")) == NULL) || r; r = ((glGenAsyncMarkersSGIX = (PFNGLGENASYNCMARKERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glGenAsyncMarkersSGIX")) == NULL) || r; r = ((glIsAsyncMarkerSGIX = (PFNGLISASYNCMARKERSGIXPROC)glewGetProcAddress((const GLubyte*)"glIsAsyncMarkerSGIX")) == NULL) || r; r = ((glPollAsyncSGIX = (PFNGLPOLLASYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glPollAsyncSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_async */ #ifdef GL_SGIX_async_histogram #endif /* GL_SGIX_async_histogram */ #ifdef GL_SGIX_async_pixel #endif /* GL_SGIX_async_pixel */ #ifdef GL_SGIX_blend_alpha_minmax #endif /* GL_SGIX_blend_alpha_minmax */ #ifdef GL_SGIX_clipmap #endif /* GL_SGIX_clipmap */ #ifdef GL_SGIX_convolution_accuracy #endif /* GL_SGIX_convolution_accuracy */ #ifdef GL_SGIX_depth_texture #endif /* GL_SGIX_depth_texture */ #ifdef GL_SGIX_flush_raster static GLboolean _glewInit_GL_SGIX_flush_raster (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFlushRasterSGIX = (PFNGLFLUSHRASTERSGIXPROC)glewGetProcAddress((const GLubyte*)"glFlushRasterSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_flush_raster */ #ifdef GL_SGIX_fog_offset #endif /* GL_SGIX_fog_offset */ #ifdef GL_SGIX_fog_texture static GLboolean _glewInit_GL_SGIX_fog_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTextureFogSGIX = (PFNGLTEXTUREFOGSGIXPROC)glewGetProcAddress((const GLubyte*)"glTextureFogSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_fog_texture */ #ifdef GL_SGIX_fragment_specular_lighting static GLboolean _glewInit_GL_SGIX_fragment_specular_lighting (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFragmentColorMaterialSGIX = (PFNGLFRAGMENTCOLORMATERIALSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentColorMaterialSGIX")) == NULL) || r; r = ((glFragmentLightModelfSGIX = (PFNGLFRAGMENTLIGHTMODELFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfSGIX")) == NULL) || r; r = ((glFragmentLightModelfvSGIX = (PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfvSGIX")) == NULL) || r; r = ((glFragmentLightModeliSGIX = (PFNGLFRAGMENTLIGHTMODELISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModeliSGIX")) == NULL) || r; r = ((glFragmentLightModelivSGIX = (PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelivSGIX")) == NULL) || r; r = ((glFragmentLightfSGIX = (PFNGLFRAGMENTLIGHTFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfSGIX")) == NULL) || r; r = ((glFragmentLightfvSGIX = (PFNGLFRAGMENTLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfvSGIX")) == NULL) || r; r = ((glFragmentLightiSGIX = (PFNGLFRAGMENTLIGHTISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightiSGIX")) == NULL) || r; r = ((glFragmentLightivSGIX = (PFNGLFRAGMENTLIGHTIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightivSGIX")) == NULL) || r; r = ((glFragmentMaterialfSGIX = (PFNGLFRAGMENTMATERIALFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfSGIX")) == NULL) || r; r = ((glFragmentMaterialfvSGIX = (PFNGLFRAGMENTMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfvSGIX")) == NULL) || r; r = ((glFragmentMaterialiSGIX = (PFNGLFRAGMENTMATERIALISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialiSGIX")) == NULL) || r; r = ((glFragmentMaterialivSGIX = (PFNGLFRAGMENTMATERIALIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialivSGIX")) == NULL) || r; r = ((glGetFragmentLightfvSGIX = (PFNGLGETFRAGMENTLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightfvSGIX")) == NULL) || r; r = ((glGetFragmentLightivSGIX = (PFNGLGETFRAGMENTLIGHTIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightivSGIX")) == NULL) || r; r = ((glGetFragmentMaterialfvSGIX = (PFNGLGETFRAGMENTMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialfvSGIX")) == NULL) || r; r = ((glGetFragmentMaterialivSGIX = (PFNGLGETFRAGMENTMATERIALIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialivSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_fragment_specular_lighting */ #ifdef GL_SGIX_framezoom static GLboolean _glewInit_GL_SGIX_framezoom (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFrameZoomSGIX = (PFNGLFRAMEZOOMSGIXPROC)glewGetProcAddress((const GLubyte*)"glFrameZoomSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_framezoom */ #ifdef GL_SGIX_interlace #endif /* GL_SGIX_interlace */ #ifdef GL_SGIX_ir_instrument1 #endif /* GL_SGIX_ir_instrument1 */ #ifdef GL_SGIX_list_priority #endif /* GL_SGIX_list_priority */ #ifdef GL_SGIX_pixel_texture static GLboolean _glewInit_GL_SGIX_pixel_texture (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glPixelTexGenSGIX = (PFNGLPIXELTEXGENSGIXPROC)glewGetProcAddress((const GLubyte*)"glPixelTexGenSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_pixel_texture */ #ifdef GL_SGIX_pixel_texture_bits #endif /* GL_SGIX_pixel_texture_bits */ #ifdef GL_SGIX_reference_plane static GLboolean _glewInit_GL_SGIX_reference_plane (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glReferencePlaneSGIX = (PFNGLREFERENCEPLANESGIXPROC)glewGetProcAddress((const GLubyte*)"glReferencePlaneSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_reference_plane */ #ifdef GL_SGIX_resample #endif /* GL_SGIX_resample */ #ifdef GL_SGIX_shadow #endif /* GL_SGIX_shadow */ #ifdef GL_SGIX_shadow_ambient #endif /* GL_SGIX_shadow_ambient */ #ifdef GL_SGIX_sprite static GLboolean _glewInit_GL_SGIX_sprite (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glSpriteParameterfSGIX = (PFNGLSPRITEPARAMETERFSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterfSGIX")) == NULL) || r; r = ((glSpriteParameterfvSGIX = (PFNGLSPRITEPARAMETERFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterfvSGIX")) == NULL) || r; r = ((glSpriteParameteriSGIX = (PFNGLSPRITEPARAMETERISGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameteriSGIX")) == NULL) || r; r = ((glSpriteParameterivSGIX = (PFNGLSPRITEPARAMETERIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterivSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_sprite */ #ifdef GL_SGIX_tag_sample_buffer static GLboolean _glewInit_GL_SGIX_tag_sample_buffer (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glTagSampleBufferSGIX = (PFNGLTAGSAMPLEBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glTagSampleBufferSGIX")) == NULL) || r; return r; } #endif /* GL_SGIX_tag_sample_buffer */ #ifdef GL_SGIX_texture_add_env #endif /* GL_SGIX_texture_add_env */ #ifdef GL_SGIX_texture_coordinate_clamp #endif /* GL_SGIX_texture_coordinate_clamp */ #ifdef GL_SGIX_texture_lod_bias #endif /* GL_SGIX_texture_lod_bias */ #ifdef GL_SGIX_texture_multi_buffer #endif /* GL_SGIX_texture_multi_buffer */ #ifdef GL_SGIX_texture_range #endif /* GL_SGIX_texture_range */ #ifdef GL_SGIX_texture_scale_bias #endif /* GL_SGIX_texture_scale_bias */ #ifdef GL_SGIX_vertex_preclip #endif /* GL_SGIX_vertex_preclip */ #ifdef GL_SGIX_vertex_preclip_hint #endif /* GL_SGIX_vertex_preclip_hint */ #ifdef GL_SGIX_ycrcb #endif /* GL_SGIX_ycrcb */ #ifdef GL_SGI_color_matrix #endif /* GL_SGI_color_matrix */ #ifdef GL_SGI_color_table static GLboolean _glewInit_GL_SGI_color_table (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColorTableParameterfvSGI = (PFNGLCOLORTABLEPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterfvSGI")) == NULL) || r; r = ((glColorTableParameterivSGI = (PFNGLCOLORTABLEPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterivSGI")) == NULL) || r; r = ((glColorTableSGI = (PFNGLCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableSGI")) == NULL) || r; r = ((glCopyColorTableSGI = (PFNGLCOPYCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glCopyColorTableSGI")) == NULL) || r; r = ((glGetColorTableParameterfvSGI = (PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfvSGI")) == NULL) || r; r = ((glGetColorTableParameterivSGI = (PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterivSGI")) == NULL) || r; r = ((glGetColorTableSGI = (PFNGLGETCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableSGI")) == NULL) || r; return r; } #endif /* GL_SGI_color_table */ #ifdef GL_SGI_texture_color_table #endif /* GL_SGI_texture_color_table */ #ifdef GL_SUNX_constant_data static GLboolean _glewInit_GL_SUNX_constant_data (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glFinishTextureSUNX = (PFNGLFINISHTEXTURESUNXPROC)glewGetProcAddress((const GLubyte*)"glFinishTextureSUNX")) == NULL) || r; return r; } #endif /* GL_SUNX_constant_data */ #ifdef GL_SUN_convolution_border_modes #endif /* GL_SUN_convolution_border_modes */ #ifdef GL_SUN_global_alpha static GLboolean _glewInit_GL_SUN_global_alpha (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glGlobalAlphaFactorbSUN = (PFNGLGLOBALALPHAFACTORBSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorbSUN")) == NULL) || r; r = ((glGlobalAlphaFactordSUN = (PFNGLGLOBALALPHAFACTORDSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactordSUN")) == NULL) || r; r = ((glGlobalAlphaFactorfSUN = (PFNGLGLOBALALPHAFACTORFSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorfSUN")) == NULL) || r; r = ((glGlobalAlphaFactoriSUN = (PFNGLGLOBALALPHAFACTORISUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactoriSUN")) == NULL) || r; r = ((glGlobalAlphaFactorsSUN = (PFNGLGLOBALALPHAFACTORSSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorsSUN")) == NULL) || r; r = ((glGlobalAlphaFactorubSUN = (PFNGLGLOBALALPHAFACTORUBSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorubSUN")) == NULL) || r; r = ((glGlobalAlphaFactoruiSUN = (PFNGLGLOBALALPHAFACTORUISUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactoruiSUN")) == NULL) || r; r = ((glGlobalAlphaFactorusSUN = (PFNGLGLOBALALPHAFACTORUSSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorusSUN")) == NULL) || r; return r; } #endif /* GL_SUN_global_alpha */ #ifdef GL_SUN_mesh_array #endif /* GL_SUN_mesh_array */ #ifdef GL_SUN_read_video_pixels static GLboolean _glewInit_GL_SUN_read_video_pixels (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glReadVideoPixelsSUN = (PFNGLREADVIDEOPIXELSSUNPROC)glewGetProcAddress((const GLubyte*)"glReadVideoPixelsSUN")) == NULL) || r; return r; } #endif /* GL_SUN_read_video_pixels */ #ifdef GL_SUN_slice_accum #endif /* GL_SUN_slice_accum */ #ifdef GL_SUN_triangle_list static GLboolean _glewInit_GL_SUN_triangle_list (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glReplacementCodePointerSUN = (PFNGLREPLACEMENTCODEPOINTERSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodePointerSUN")) == NULL) || r; r = ((glReplacementCodeubSUN = (PFNGLREPLACEMENTCODEUBSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeubSUN")) == NULL) || r; r = ((glReplacementCodeubvSUN = (PFNGLREPLACEMENTCODEUBVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeubvSUN")) == NULL) || r; r = ((glReplacementCodeuiSUN = (PFNGLREPLACEMENTCODEUISUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiSUN")) == NULL) || r; r = ((glReplacementCodeuivSUN = (PFNGLREPLACEMENTCODEUIVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuivSUN")) == NULL) || r; r = ((glReplacementCodeusSUN = (PFNGLREPLACEMENTCODEUSSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeusSUN")) == NULL) || r; r = ((glReplacementCodeusvSUN = (PFNGLREPLACEMENTCODEUSVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeusvSUN")) == NULL) || r; return r; } #endif /* GL_SUN_triangle_list */ #ifdef GL_SUN_vertex static GLboolean _glewInit_GL_SUN_vertex (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glColor3fVertex3fSUN = (PFNGLCOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor3fVertex3fSUN")) == NULL) || r; r = ((glColor3fVertex3fvSUN = (PFNGLCOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor3fVertex3fvSUN")) == NULL) || r; r = ((glColor4fNormal3fVertex3fSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4fNormal3fVertex3fSUN")) == NULL) || r; r = ((glColor4fNormal3fVertex3fvSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4fNormal3fVertex3fvSUN")) == NULL) || r; r = ((glColor4ubVertex2fSUN = (PFNGLCOLOR4UBVERTEX2FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex2fSUN")) == NULL) || r; r = ((glColor4ubVertex2fvSUN = (PFNGLCOLOR4UBVERTEX2FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex2fvSUN")) == NULL) || r; r = ((glColor4ubVertex3fSUN = (PFNGLCOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex3fSUN")) == NULL) || r; r = ((glColor4ubVertex3fvSUN = (PFNGLCOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex3fvSUN")) == NULL) || r; r = ((glNormal3fVertex3fSUN = (PFNGLNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glNormal3fVertex3fSUN")) == NULL) || r; r = ((glNormal3fVertex3fvSUN = (PFNGLNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glNormal3fVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiColor3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor3fVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiColor3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor3fVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4fNormal3fVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4fNormal3fVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiColor4ubVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4ubVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiColor4ubVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4ubVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiNormal3fVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiNormal3fVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiTexCoord2fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiTexCoord2fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fVertex3fvSUN")) == NULL) || r; r = ((glReplacementCodeuiVertex3fSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiVertex3fSUN")) == NULL) || r; r = ((glReplacementCodeuiVertex3fvSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiVertex3fvSUN")) == NULL) || r; r = ((glTexCoord2fColor3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor3fVertex3fSUN")) == NULL) || r; r = ((glTexCoord2fColor3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor3fVertex3fvSUN")) == NULL) || r; r = ((glTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4fNormal3fVertex3fSUN")) == NULL) || r; r = ((glTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4fNormal3fVertex3fvSUN")) == NULL) || r; r = ((glTexCoord2fColor4ubVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4ubVertex3fSUN")) == NULL) || r; r = ((glTexCoord2fColor4ubVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4ubVertex3fvSUN")) == NULL) || r; r = ((glTexCoord2fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fNormal3fVertex3fSUN")) == NULL) || r; r = ((glTexCoord2fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fNormal3fVertex3fvSUN")) == NULL) || r; r = ((glTexCoord2fVertex3fSUN = (PFNGLTEXCOORD2FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fVertex3fSUN")) == NULL) || r; r = ((glTexCoord2fVertex3fvSUN = (PFNGLTEXCOORD2FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fVertex3fvSUN")) == NULL) || r; r = ((glTexCoord4fColor4fNormal3fVertex4fSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fColor4fNormal3fVertex4fSUN")) == NULL) || r; r = ((glTexCoord4fColor4fNormal3fVertex4fvSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fColor4fNormal3fVertex4fvSUN")) == NULL) || r; r = ((glTexCoord4fVertex4fSUN = (PFNGLTEXCOORD4FVERTEX4FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fVertex4fSUN")) == NULL) || r; r = ((glTexCoord4fVertex4fvSUN = (PFNGLTEXCOORD4FVERTEX4FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fVertex4fvSUN")) == NULL) || r; return r; } #endif /* GL_SUN_vertex */ #ifdef GL_WIN_phong_shading #endif /* GL_WIN_phong_shading */ #ifdef GL_WIN_specular_fog #endif /* GL_WIN_specular_fog */ #ifdef GL_WIN_swap_hint static GLboolean _glewInit_GL_WIN_swap_hint (GLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glAddSwapHintRectWIN = (PFNGLADDSWAPHINTRECTWINPROC)glewGetProcAddress((const GLubyte*)"glAddSwapHintRectWIN")) == NULL) || r; return r; } #endif /* GL_WIN_swap_hint */ /* ------------------------------------------------------------------------- */ GLboolean GLEWAPIENTRY glewGetExtension (const char* name) { const GLubyte* start; const GLubyte* end; start = (const GLubyte*)glGetString(GL_EXTENSIONS); if (start == 0) return GL_FALSE; end = start + _glewStrLen(start); return _glewSearchExtension(name, start, end); } /* ------------------------------------------------------------------------- */ #ifndef GLEW_MX static #endif GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST) { const GLubyte* s; GLuint dot; GLint major, minor; const GLubyte* extStart; const GLubyte* extEnd; /* query opengl version */ s = glGetString(GL_VERSION); dot = _glewStrCLen(s, '.'); if (dot == 0) return GLEW_ERROR_NO_GL_VERSION; major = s[dot-1]-'0'; minor = s[dot+1]-'0'; if (minor < 0 || minor > 9) minor = 0; if (major<0 || major>9) return GLEW_ERROR_NO_GL_VERSION; if (major == 1 && minor == 0) { return GLEW_ERROR_GL_VERSION_10_ONLY; } else { CONST_CAST(GLEW_VERSION_4_4) = ( major > 4 ) || ( major == 4 && minor >= 4 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_4_3) = GLEW_VERSION_4_4 == GL_TRUE || ( major == 4 && minor >= 3 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_4_2) = GLEW_VERSION_4_3 == GL_TRUE || ( major == 4 && minor >= 2 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_4_1) = GLEW_VERSION_4_2 == GL_TRUE || ( major == 4 && minor >= 1 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_4_0) = GLEW_VERSION_4_1 == GL_TRUE || ( major == 4 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_3_3) = GLEW_VERSION_4_0 == GL_TRUE || ( major == 3 && minor >= 3 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_3_2) = GLEW_VERSION_3_3 == GL_TRUE || ( major == 3 && minor >= 2 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_3_1) = GLEW_VERSION_3_2 == GL_TRUE || ( major == 3 && minor >= 1 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_3_0) = GLEW_VERSION_3_1 == GL_TRUE || ( major == 3 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_2_1) = GLEW_VERSION_3_0 == GL_TRUE || ( major == 2 && minor >= 1 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_2_0) = GLEW_VERSION_2_1 == GL_TRUE || ( major == 2 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_1_5) = GLEW_VERSION_2_0 == GL_TRUE || ( major == 1 && minor >= 5 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_1_4) = GLEW_VERSION_1_5 == GL_TRUE || ( major == 1 && minor >= 4 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_1_3) = GLEW_VERSION_1_4 == GL_TRUE || ( major == 1 && minor >= 3 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_1_2_1) = GLEW_VERSION_1_3 == GL_TRUE ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_1_2) = GLEW_VERSION_1_2_1 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE; CONST_CAST(GLEW_VERSION_1_1) = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE; } /* query opengl extensions string */ extStart = glGetString(GL_EXTENSIONS); if (extStart == 0) extStart = (const GLubyte*)""; extEnd = extStart + _glewStrLen(extStart); /* initialize extensions */ #ifdef GL_VERSION_1_2 if (glewExperimental || GLEW_VERSION_1_2) CONST_CAST(GLEW_VERSION_1_2) = !_glewInit_GL_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_1_2 */ #ifdef GL_VERSION_1_2_1 #endif /* GL_VERSION_1_2_1 */ #ifdef GL_VERSION_1_3 if (glewExperimental || GLEW_VERSION_1_3) CONST_CAST(GLEW_VERSION_1_3) = !_glewInit_GL_VERSION_1_3(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_1_3 */ #ifdef GL_VERSION_1_4 if (glewExperimental || GLEW_VERSION_1_4) CONST_CAST(GLEW_VERSION_1_4) = !_glewInit_GL_VERSION_1_4(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_1_4 */ #ifdef GL_VERSION_1_5 if (glewExperimental || GLEW_VERSION_1_5) CONST_CAST(GLEW_VERSION_1_5) = !_glewInit_GL_VERSION_1_5(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_1_5 */ #ifdef GL_VERSION_2_0 if (glewExperimental || GLEW_VERSION_2_0) CONST_CAST(GLEW_VERSION_2_0) = !_glewInit_GL_VERSION_2_0(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_2_0 */ #ifdef GL_VERSION_2_1 if (glewExperimental || GLEW_VERSION_2_1) CONST_CAST(GLEW_VERSION_2_1) = !_glewInit_GL_VERSION_2_1(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_2_1 */ #ifdef GL_VERSION_3_0 if (glewExperimental || GLEW_VERSION_3_0) CONST_CAST(GLEW_VERSION_3_0) = !_glewInit_GL_VERSION_3_0(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_3_0 */ #ifdef GL_VERSION_3_1 if (glewExperimental || GLEW_VERSION_3_1) CONST_CAST(GLEW_VERSION_3_1) = !_glewInit_GL_VERSION_3_1(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_3_1 */ #ifdef GL_VERSION_3_2 if (glewExperimental || GLEW_VERSION_3_2) CONST_CAST(GLEW_VERSION_3_2) = !_glewInit_GL_VERSION_3_2(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_3_2 */ #ifdef GL_VERSION_3_3 if (glewExperimental || GLEW_VERSION_3_3) CONST_CAST(GLEW_VERSION_3_3) = !_glewInit_GL_VERSION_3_3(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_3_3 */ #ifdef GL_VERSION_4_0 if (glewExperimental || GLEW_VERSION_4_0) CONST_CAST(GLEW_VERSION_4_0) = !_glewInit_GL_VERSION_4_0(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_VERSION_4_0 */ #ifdef GL_VERSION_4_1 #endif /* GL_VERSION_4_1 */ #ifdef GL_VERSION_4_2 #endif /* GL_VERSION_4_2 */ #ifdef GL_VERSION_4_3 #endif /* GL_VERSION_4_3 */ #ifdef GL_VERSION_4_4 #endif /* GL_VERSION_4_4 */ #ifdef GL_3DFX_multisample CONST_CAST(GLEW_3DFX_multisample) = _glewSearchExtension("GL_3DFX_multisample", extStart, extEnd); #endif /* GL_3DFX_multisample */ #ifdef GL_3DFX_tbuffer CONST_CAST(GLEW_3DFX_tbuffer) = _glewSearchExtension("GL_3DFX_tbuffer", extStart, extEnd); if (glewExperimental || GLEW_3DFX_tbuffer) CONST_CAST(GLEW_3DFX_tbuffer) = !_glewInit_GL_3DFX_tbuffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_3DFX_tbuffer */ #ifdef GL_3DFX_texture_compression_FXT1 CONST_CAST(GLEW_3DFX_texture_compression_FXT1) = _glewSearchExtension("GL_3DFX_texture_compression_FXT1", extStart, extEnd); #endif /* GL_3DFX_texture_compression_FXT1 */ #ifdef GL_AMD_blend_minmax_factor CONST_CAST(GLEW_AMD_blend_minmax_factor) = _glewSearchExtension("GL_AMD_blend_minmax_factor", extStart, extEnd); #endif /* GL_AMD_blend_minmax_factor */ #ifdef GL_AMD_conservative_depth CONST_CAST(GLEW_AMD_conservative_depth) = _glewSearchExtension("GL_AMD_conservative_depth", extStart, extEnd); #endif /* GL_AMD_conservative_depth */ #ifdef GL_AMD_debug_output CONST_CAST(GLEW_AMD_debug_output) = _glewSearchExtension("GL_AMD_debug_output", extStart, extEnd); if (glewExperimental || GLEW_AMD_debug_output) CONST_CAST(GLEW_AMD_debug_output) = !_glewInit_GL_AMD_debug_output(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_debug_output */ #ifdef GL_AMD_depth_clamp_separate CONST_CAST(GLEW_AMD_depth_clamp_separate) = _glewSearchExtension("GL_AMD_depth_clamp_separate", extStart, extEnd); #endif /* GL_AMD_depth_clamp_separate */ #ifdef GL_AMD_draw_buffers_blend CONST_CAST(GLEW_AMD_draw_buffers_blend) = _glewSearchExtension("GL_AMD_draw_buffers_blend", extStart, extEnd); if (glewExperimental || GLEW_AMD_draw_buffers_blend) CONST_CAST(GLEW_AMD_draw_buffers_blend) = !_glewInit_GL_AMD_draw_buffers_blend(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_draw_buffers_blend */ #ifdef GL_AMD_interleaved_elements CONST_CAST(GLEW_AMD_interleaved_elements) = _glewSearchExtension("GL_AMD_interleaved_elements", extStart, extEnd); if (glewExperimental || GLEW_AMD_interleaved_elements) CONST_CAST(GLEW_AMD_interleaved_elements) = !_glewInit_GL_AMD_interleaved_elements(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_interleaved_elements */ #ifdef GL_AMD_multi_draw_indirect CONST_CAST(GLEW_AMD_multi_draw_indirect) = _glewSearchExtension("GL_AMD_multi_draw_indirect", extStart, extEnd); if (glewExperimental || GLEW_AMD_multi_draw_indirect) CONST_CAST(GLEW_AMD_multi_draw_indirect) = !_glewInit_GL_AMD_multi_draw_indirect(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_multi_draw_indirect */ #ifdef GL_AMD_name_gen_delete CONST_CAST(GLEW_AMD_name_gen_delete) = _glewSearchExtension("GL_AMD_name_gen_delete", extStart, extEnd); if (glewExperimental || GLEW_AMD_name_gen_delete) CONST_CAST(GLEW_AMD_name_gen_delete) = !_glewInit_GL_AMD_name_gen_delete(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_name_gen_delete */ #ifdef GL_AMD_performance_monitor CONST_CAST(GLEW_AMD_performance_monitor) = _glewSearchExtension("GL_AMD_performance_monitor", extStart, extEnd); if (glewExperimental || GLEW_AMD_performance_monitor) CONST_CAST(GLEW_AMD_performance_monitor) = !_glewInit_GL_AMD_performance_monitor(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_performance_monitor */ #ifdef GL_AMD_pinned_memory CONST_CAST(GLEW_AMD_pinned_memory) = _glewSearchExtension("GL_AMD_pinned_memory", extStart, extEnd); #endif /* GL_AMD_pinned_memory */ #ifdef GL_AMD_query_buffer_object CONST_CAST(GLEW_AMD_query_buffer_object) = _glewSearchExtension("GL_AMD_query_buffer_object", extStart, extEnd); #endif /* GL_AMD_query_buffer_object */ #ifdef GL_AMD_sample_positions CONST_CAST(GLEW_AMD_sample_positions) = _glewSearchExtension("GL_AMD_sample_positions", extStart, extEnd); if (glewExperimental || GLEW_AMD_sample_positions) CONST_CAST(GLEW_AMD_sample_positions) = !_glewInit_GL_AMD_sample_positions(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_sample_positions */ #ifdef GL_AMD_seamless_cubemap_per_texture CONST_CAST(GLEW_AMD_seamless_cubemap_per_texture) = _glewSearchExtension("GL_AMD_seamless_cubemap_per_texture", extStart, extEnd); #endif /* GL_AMD_seamless_cubemap_per_texture */ #ifdef GL_AMD_shader_stencil_export CONST_CAST(GLEW_AMD_shader_stencil_export) = _glewSearchExtension("GL_AMD_shader_stencil_export", extStart, extEnd); #endif /* GL_AMD_shader_stencil_export */ #ifdef GL_AMD_shader_trinary_minmax CONST_CAST(GLEW_AMD_shader_trinary_minmax) = _glewSearchExtension("GL_AMD_shader_trinary_minmax", extStart, extEnd); #endif /* GL_AMD_shader_trinary_minmax */ #ifdef GL_AMD_sparse_texture CONST_CAST(GLEW_AMD_sparse_texture) = _glewSearchExtension("GL_AMD_sparse_texture", extStart, extEnd); if (glewExperimental || GLEW_AMD_sparse_texture) CONST_CAST(GLEW_AMD_sparse_texture) = !_glewInit_GL_AMD_sparse_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_sparse_texture */ #ifdef GL_AMD_stencil_operation_extended CONST_CAST(GLEW_AMD_stencil_operation_extended) = _glewSearchExtension("GL_AMD_stencil_operation_extended", extStart, extEnd); if (glewExperimental || GLEW_AMD_stencil_operation_extended) CONST_CAST(GLEW_AMD_stencil_operation_extended) = !_glewInit_GL_AMD_stencil_operation_extended(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_stencil_operation_extended */ #ifdef GL_AMD_texture_texture4 CONST_CAST(GLEW_AMD_texture_texture4) = _glewSearchExtension("GL_AMD_texture_texture4", extStart, extEnd); #endif /* GL_AMD_texture_texture4 */ #ifdef GL_AMD_transform_feedback3_lines_triangles CONST_CAST(GLEW_AMD_transform_feedback3_lines_triangles) = _glewSearchExtension("GL_AMD_transform_feedback3_lines_triangles", extStart, extEnd); #endif /* GL_AMD_transform_feedback3_lines_triangles */ #ifdef GL_AMD_vertex_shader_layer CONST_CAST(GLEW_AMD_vertex_shader_layer) = _glewSearchExtension("GL_AMD_vertex_shader_layer", extStart, extEnd); #endif /* GL_AMD_vertex_shader_layer */ #ifdef GL_AMD_vertex_shader_tessellator CONST_CAST(GLEW_AMD_vertex_shader_tessellator) = _glewSearchExtension("GL_AMD_vertex_shader_tessellator", extStart, extEnd); if (glewExperimental || GLEW_AMD_vertex_shader_tessellator) CONST_CAST(GLEW_AMD_vertex_shader_tessellator) = !_glewInit_GL_AMD_vertex_shader_tessellator(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_AMD_vertex_shader_tessellator */ #ifdef GL_AMD_vertex_shader_viewport_index CONST_CAST(GLEW_AMD_vertex_shader_viewport_index) = _glewSearchExtension("GL_AMD_vertex_shader_viewport_index", extStart, extEnd); #endif /* GL_AMD_vertex_shader_viewport_index */ #ifdef GL_ANGLE_depth_texture CONST_CAST(GLEW_ANGLE_depth_texture) = _glewSearchExtension("GL_ANGLE_depth_texture", extStart, extEnd); #endif /* GL_ANGLE_depth_texture */ #ifdef GL_ANGLE_framebuffer_blit CONST_CAST(GLEW_ANGLE_framebuffer_blit) = _glewSearchExtension("GL_ANGLE_framebuffer_blit", extStart, extEnd); if (glewExperimental || GLEW_ANGLE_framebuffer_blit) CONST_CAST(GLEW_ANGLE_framebuffer_blit) = !_glewInit_GL_ANGLE_framebuffer_blit(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ANGLE_framebuffer_blit */ #ifdef GL_ANGLE_framebuffer_multisample CONST_CAST(GLEW_ANGLE_framebuffer_multisample) = _glewSearchExtension("GL_ANGLE_framebuffer_multisample", extStart, extEnd); if (glewExperimental || GLEW_ANGLE_framebuffer_multisample) CONST_CAST(GLEW_ANGLE_framebuffer_multisample) = !_glewInit_GL_ANGLE_framebuffer_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ANGLE_framebuffer_multisample */ #ifdef GL_ANGLE_instanced_arrays CONST_CAST(GLEW_ANGLE_instanced_arrays) = _glewSearchExtension("GL_ANGLE_instanced_arrays", extStart, extEnd); if (glewExperimental || GLEW_ANGLE_instanced_arrays) CONST_CAST(GLEW_ANGLE_instanced_arrays) = !_glewInit_GL_ANGLE_instanced_arrays(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ANGLE_instanced_arrays */ #ifdef GL_ANGLE_pack_reverse_row_order CONST_CAST(GLEW_ANGLE_pack_reverse_row_order) = _glewSearchExtension("GL_ANGLE_pack_reverse_row_order", extStart, extEnd); #endif /* GL_ANGLE_pack_reverse_row_order */ #ifdef GL_ANGLE_program_binary CONST_CAST(GLEW_ANGLE_program_binary) = _glewSearchExtension("GL_ANGLE_program_binary", extStart, extEnd); #endif /* GL_ANGLE_program_binary */ #ifdef GL_ANGLE_texture_compression_dxt1 CONST_CAST(GLEW_ANGLE_texture_compression_dxt1) = _glewSearchExtension("GL_ANGLE_texture_compression_dxt1", extStart, extEnd); #endif /* GL_ANGLE_texture_compression_dxt1 */ #ifdef GL_ANGLE_texture_compression_dxt3 CONST_CAST(GLEW_ANGLE_texture_compression_dxt3) = _glewSearchExtension("GL_ANGLE_texture_compression_dxt3", extStart, extEnd); #endif /* GL_ANGLE_texture_compression_dxt3 */ #ifdef GL_ANGLE_texture_compression_dxt5 CONST_CAST(GLEW_ANGLE_texture_compression_dxt5) = _glewSearchExtension("GL_ANGLE_texture_compression_dxt5", extStart, extEnd); #endif /* GL_ANGLE_texture_compression_dxt5 */ #ifdef GL_ANGLE_texture_usage CONST_CAST(GLEW_ANGLE_texture_usage) = _glewSearchExtension("GL_ANGLE_texture_usage", extStart, extEnd); #endif /* GL_ANGLE_texture_usage */ #ifdef GL_ANGLE_timer_query CONST_CAST(GLEW_ANGLE_timer_query) = _glewSearchExtension("GL_ANGLE_timer_query", extStart, extEnd); if (glewExperimental || GLEW_ANGLE_timer_query) CONST_CAST(GLEW_ANGLE_timer_query) = !_glewInit_GL_ANGLE_timer_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ANGLE_timer_query */ #ifdef GL_ANGLE_translated_shader_source CONST_CAST(GLEW_ANGLE_translated_shader_source) = _glewSearchExtension("GL_ANGLE_translated_shader_source", extStart, extEnd); if (glewExperimental || GLEW_ANGLE_translated_shader_source) CONST_CAST(GLEW_ANGLE_translated_shader_source) = !_glewInit_GL_ANGLE_translated_shader_source(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ANGLE_translated_shader_source */ #ifdef GL_APPLE_aux_depth_stencil CONST_CAST(GLEW_APPLE_aux_depth_stencil) = _glewSearchExtension("GL_APPLE_aux_depth_stencil", extStart, extEnd); #endif /* GL_APPLE_aux_depth_stencil */ #ifdef GL_APPLE_client_storage CONST_CAST(GLEW_APPLE_client_storage) = _glewSearchExtension("GL_APPLE_client_storage", extStart, extEnd); #endif /* GL_APPLE_client_storage */ #ifdef GL_APPLE_element_array CONST_CAST(GLEW_APPLE_element_array) = _glewSearchExtension("GL_APPLE_element_array", extStart, extEnd); if (glewExperimental || GLEW_APPLE_element_array) CONST_CAST(GLEW_APPLE_element_array) = !_glewInit_GL_APPLE_element_array(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_element_array */ #ifdef GL_APPLE_fence CONST_CAST(GLEW_APPLE_fence) = _glewSearchExtension("GL_APPLE_fence", extStart, extEnd); if (glewExperimental || GLEW_APPLE_fence) CONST_CAST(GLEW_APPLE_fence) = !_glewInit_GL_APPLE_fence(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_fence */ #ifdef GL_APPLE_float_pixels CONST_CAST(GLEW_APPLE_float_pixels) = _glewSearchExtension("GL_APPLE_float_pixels", extStart, extEnd); #endif /* GL_APPLE_float_pixels */ #ifdef GL_APPLE_flush_buffer_range CONST_CAST(GLEW_APPLE_flush_buffer_range) = _glewSearchExtension("GL_APPLE_flush_buffer_range", extStart, extEnd); if (glewExperimental || GLEW_APPLE_flush_buffer_range) CONST_CAST(GLEW_APPLE_flush_buffer_range) = !_glewInit_GL_APPLE_flush_buffer_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_flush_buffer_range */ #ifdef GL_APPLE_object_purgeable CONST_CAST(GLEW_APPLE_object_purgeable) = _glewSearchExtension("GL_APPLE_object_purgeable", extStart, extEnd); if (glewExperimental || GLEW_APPLE_object_purgeable) CONST_CAST(GLEW_APPLE_object_purgeable) = !_glewInit_GL_APPLE_object_purgeable(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_object_purgeable */ #ifdef GL_APPLE_pixel_buffer CONST_CAST(GLEW_APPLE_pixel_buffer) = _glewSearchExtension("GL_APPLE_pixel_buffer", extStart, extEnd); #endif /* GL_APPLE_pixel_buffer */ #ifdef GL_APPLE_rgb_422 CONST_CAST(GLEW_APPLE_rgb_422) = _glewSearchExtension("GL_APPLE_rgb_422", extStart, extEnd); #endif /* GL_APPLE_rgb_422 */ #ifdef GL_APPLE_row_bytes CONST_CAST(GLEW_APPLE_row_bytes) = _glewSearchExtension("GL_APPLE_row_bytes", extStart, extEnd); #endif /* GL_APPLE_row_bytes */ #ifdef GL_APPLE_specular_vector CONST_CAST(GLEW_APPLE_specular_vector) = _glewSearchExtension("GL_APPLE_specular_vector", extStart, extEnd); #endif /* GL_APPLE_specular_vector */ #ifdef GL_APPLE_texture_range CONST_CAST(GLEW_APPLE_texture_range) = _glewSearchExtension("GL_APPLE_texture_range", extStart, extEnd); if (glewExperimental || GLEW_APPLE_texture_range) CONST_CAST(GLEW_APPLE_texture_range) = !_glewInit_GL_APPLE_texture_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_texture_range */ #ifdef GL_APPLE_transform_hint CONST_CAST(GLEW_APPLE_transform_hint) = _glewSearchExtension("GL_APPLE_transform_hint", extStart, extEnd); #endif /* GL_APPLE_transform_hint */ #ifdef GL_APPLE_vertex_array_object CONST_CAST(GLEW_APPLE_vertex_array_object) = _glewSearchExtension("GL_APPLE_vertex_array_object", extStart, extEnd); if (glewExperimental || GLEW_APPLE_vertex_array_object) CONST_CAST(GLEW_APPLE_vertex_array_object) = !_glewInit_GL_APPLE_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_vertex_array_object */ #ifdef GL_APPLE_vertex_array_range CONST_CAST(GLEW_APPLE_vertex_array_range) = _glewSearchExtension("GL_APPLE_vertex_array_range", extStart, extEnd); if (glewExperimental || GLEW_APPLE_vertex_array_range) CONST_CAST(GLEW_APPLE_vertex_array_range) = !_glewInit_GL_APPLE_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_vertex_array_range */ #ifdef GL_APPLE_vertex_program_evaluators CONST_CAST(GLEW_APPLE_vertex_program_evaluators) = _glewSearchExtension("GL_APPLE_vertex_program_evaluators", extStart, extEnd); if (glewExperimental || GLEW_APPLE_vertex_program_evaluators) CONST_CAST(GLEW_APPLE_vertex_program_evaluators) = !_glewInit_GL_APPLE_vertex_program_evaluators(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_APPLE_vertex_program_evaluators */ #ifdef GL_APPLE_ycbcr_422 CONST_CAST(GLEW_APPLE_ycbcr_422) = _glewSearchExtension("GL_APPLE_ycbcr_422", extStart, extEnd); #endif /* GL_APPLE_ycbcr_422 */ #ifdef GL_ARB_ES2_compatibility CONST_CAST(GLEW_ARB_ES2_compatibility) = _glewSearchExtension("GL_ARB_ES2_compatibility", extStart, extEnd); if (glewExperimental || GLEW_ARB_ES2_compatibility) CONST_CAST(GLEW_ARB_ES2_compatibility) = !_glewInit_GL_ARB_ES2_compatibility(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_ES2_compatibility */ #ifdef GL_ARB_ES3_compatibility CONST_CAST(GLEW_ARB_ES3_compatibility) = _glewSearchExtension("GL_ARB_ES3_compatibility", extStart, extEnd); #endif /* GL_ARB_ES3_compatibility */ #ifdef GL_ARB_arrays_of_arrays CONST_CAST(GLEW_ARB_arrays_of_arrays) = _glewSearchExtension("GL_ARB_arrays_of_arrays", extStart, extEnd); #endif /* GL_ARB_arrays_of_arrays */ #ifdef GL_ARB_base_instance CONST_CAST(GLEW_ARB_base_instance) = _glewSearchExtension("GL_ARB_base_instance", extStart, extEnd); if (glewExperimental || GLEW_ARB_base_instance) CONST_CAST(GLEW_ARB_base_instance) = !_glewInit_GL_ARB_base_instance(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_base_instance */ #ifdef GL_ARB_bindless_texture CONST_CAST(GLEW_ARB_bindless_texture) = _glewSearchExtension("GL_ARB_bindless_texture", extStart, extEnd); if (glewExperimental || GLEW_ARB_bindless_texture) CONST_CAST(GLEW_ARB_bindless_texture) = !_glewInit_GL_ARB_bindless_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_bindless_texture */ #ifdef GL_ARB_blend_func_extended CONST_CAST(GLEW_ARB_blend_func_extended) = _glewSearchExtension("GL_ARB_blend_func_extended", extStart, extEnd); if (glewExperimental || GLEW_ARB_blend_func_extended) CONST_CAST(GLEW_ARB_blend_func_extended) = !_glewInit_GL_ARB_blend_func_extended(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_blend_func_extended */ #ifdef GL_ARB_buffer_storage CONST_CAST(GLEW_ARB_buffer_storage) = _glewSearchExtension("GL_ARB_buffer_storage", extStart, extEnd); if (glewExperimental || GLEW_ARB_buffer_storage) CONST_CAST(GLEW_ARB_buffer_storage) = !_glewInit_GL_ARB_buffer_storage(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_buffer_storage */ #ifdef GL_ARB_cl_event CONST_CAST(GLEW_ARB_cl_event) = _glewSearchExtension("GL_ARB_cl_event", extStart, extEnd); if (glewExperimental || GLEW_ARB_cl_event) CONST_CAST(GLEW_ARB_cl_event) = !_glewInit_GL_ARB_cl_event(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_cl_event */ #ifdef GL_ARB_clear_buffer_object CONST_CAST(GLEW_ARB_clear_buffer_object) = _glewSearchExtension("GL_ARB_clear_buffer_object", extStart, extEnd); if (glewExperimental || GLEW_ARB_clear_buffer_object) CONST_CAST(GLEW_ARB_clear_buffer_object) = !_glewInit_GL_ARB_clear_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_clear_buffer_object */ #ifdef GL_ARB_clear_texture CONST_CAST(GLEW_ARB_clear_texture) = _glewSearchExtension("GL_ARB_clear_texture", extStart, extEnd); if (glewExperimental || GLEW_ARB_clear_texture) CONST_CAST(GLEW_ARB_clear_texture) = !_glewInit_GL_ARB_clear_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_clear_texture */ #ifdef GL_ARB_color_buffer_float CONST_CAST(GLEW_ARB_color_buffer_float) = _glewSearchExtension("GL_ARB_color_buffer_float", extStart, extEnd); if (glewExperimental || GLEW_ARB_color_buffer_float) CONST_CAST(GLEW_ARB_color_buffer_float) = !_glewInit_GL_ARB_color_buffer_float(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_color_buffer_float */ #ifdef GL_ARB_compatibility CONST_CAST(GLEW_ARB_compatibility) = _glewSearchExtension("GL_ARB_compatibility", extStart, extEnd); #endif /* GL_ARB_compatibility */ #ifdef GL_ARB_compressed_texture_pixel_storage CONST_CAST(GLEW_ARB_compressed_texture_pixel_storage) = _glewSearchExtension("GL_ARB_compressed_texture_pixel_storage", extStart, extEnd); #endif /* GL_ARB_compressed_texture_pixel_storage */ #ifdef GL_ARB_compute_shader CONST_CAST(GLEW_ARB_compute_shader) = _glewSearchExtension("GL_ARB_compute_shader", extStart, extEnd); if (glewExperimental || GLEW_ARB_compute_shader) CONST_CAST(GLEW_ARB_compute_shader) = !_glewInit_GL_ARB_compute_shader(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_compute_shader */ #ifdef GL_ARB_compute_variable_group_size CONST_CAST(GLEW_ARB_compute_variable_group_size) = _glewSearchExtension("GL_ARB_compute_variable_group_size", extStart, extEnd); if (glewExperimental || GLEW_ARB_compute_variable_group_size) CONST_CAST(GLEW_ARB_compute_variable_group_size) = !_glewInit_GL_ARB_compute_variable_group_size(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_compute_variable_group_size */ #ifdef GL_ARB_conservative_depth CONST_CAST(GLEW_ARB_conservative_depth) = _glewSearchExtension("GL_ARB_conservative_depth", extStart, extEnd); #endif /* GL_ARB_conservative_depth */ #ifdef GL_ARB_copy_buffer CONST_CAST(GLEW_ARB_copy_buffer) = _glewSearchExtension("GL_ARB_copy_buffer", extStart, extEnd); if (glewExperimental || GLEW_ARB_copy_buffer) CONST_CAST(GLEW_ARB_copy_buffer) = !_glewInit_GL_ARB_copy_buffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_copy_buffer */ #ifdef GL_ARB_copy_image CONST_CAST(GLEW_ARB_copy_image) = _glewSearchExtension("GL_ARB_copy_image", extStart, extEnd); if (glewExperimental || GLEW_ARB_copy_image) CONST_CAST(GLEW_ARB_copy_image) = !_glewInit_GL_ARB_copy_image(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_copy_image */ #ifdef GL_ARB_debug_output CONST_CAST(GLEW_ARB_debug_output) = _glewSearchExtension("GL_ARB_debug_output", extStart, extEnd); if (glewExperimental || GLEW_ARB_debug_output) CONST_CAST(GLEW_ARB_debug_output) = !_glewInit_GL_ARB_debug_output(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_debug_output */ #ifdef GL_ARB_depth_buffer_float CONST_CAST(GLEW_ARB_depth_buffer_float) = _glewSearchExtension("GL_ARB_depth_buffer_float", extStart, extEnd); #endif /* GL_ARB_depth_buffer_float */ #ifdef GL_ARB_depth_clamp CONST_CAST(GLEW_ARB_depth_clamp) = _glewSearchExtension("GL_ARB_depth_clamp", extStart, extEnd); #endif /* GL_ARB_depth_clamp */ #ifdef GL_ARB_depth_texture CONST_CAST(GLEW_ARB_depth_texture) = _glewSearchExtension("GL_ARB_depth_texture", extStart, extEnd); #endif /* GL_ARB_depth_texture */ #ifdef GL_ARB_draw_buffers CONST_CAST(GLEW_ARB_draw_buffers) = _glewSearchExtension("GL_ARB_draw_buffers", extStart, extEnd); if (glewExperimental || GLEW_ARB_draw_buffers) CONST_CAST(GLEW_ARB_draw_buffers) = !_glewInit_GL_ARB_draw_buffers(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_draw_buffers */ #ifdef GL_ARB_draw_buffers_blend CONST_CAST(GLEW_ARB_draw_buffers_blend) = _glewSearchExtension("GL_ARB_draw_buffers_blend", extStart, extEnd); if (glewExperimental || GLEW_ARB_draw_buffers_blend) CONST_CAST(GLEW_ARB_draw_buffers_blend) = !_glewInit_GL_ARB_draw_buffers_blend(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_draw_buffers_blend */ #ifdef GL_ARB_draw_elements_base_vertex CONST_CAST(GLEW_ARB_draw_elements_base_vertex) = _glewSearchExtension("GL_ARB_draw_elements_base_vertex", extStart, extEnd); if (glewExperimental || GLEW_ARB_draw_elements_base_vertex) CONST_CAST(GLEW_ARB_draw_elements_base_vertex) = !_glewInit_GL_ARB_draw_elements_base_vertex(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_draw_elements_base_vertex */ #ifdef GL_ARB_draw_indirect CONST_CAST(GLEW_ARB_draw_indirect) = _glewSearchExtension("GL_ARB_draw_indirect", extStart, extEnd); if (glewExperimental || GLEW_ARB_draw_indirect) CONST_CAST(GLEW_ARB_draw_indirect) = !_glewInit_GL_ARB_draw_indirect(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_draw_indirect */ #ifdef GL_ARB_draw_instanced CONST_CAST(GLEW_ARB_draw_instanced) = _glewSearchExtension("GL_ARB_draw_instanced", extStart, extEnd); #endif /* GL_ARB_draw_instanced */ #ifdef GL_ARB_enhanced_layouts CONST_CAST(GLEW_ARB_enhanced_layouts) = _glewSearchExtension("GL_ARB_enhanced_layouts", extStart, extEnd); #endif /* GL_ARB_enhanced_layouts */ #ifdef GL_ARB_explicit_attrib_location CONST_CAST(GLEW_ARB_explicit_attrib_location) = _glewSearchExtension("GL_ARB_explicit_attrib_location", extStart, extEnd); #endif /* GL_ARB_explicit_attrib_location */ #ifdef GL_ARB_explicit_uniform_location CONST_CAST(GLEW_ARB_explicit_uniform_location) = _glewSearchExtension("GL_ARB_explicit_uniform_location", extStart, extEnd); #endif /* GL_ARB_explicit_uniform_location */ #ifdef GL_ARB_fragment_coord_conventions CONST_CAST(GLEW_ARB_fragment_coord_conventions) = _glewSearchExtension("GL_ARB_fragment_coord_conventions", extStart, extEnd); #endif /* GL_ARB_fragment_coord_conventions */ #ifdef GL_ARB_fragment_layer_viewport CONST_CAST(GLEW_ARB_fragment_layer_viewport) = _glewSearchExtension("GL_ARB_fragment_layer_viewport", extStart, extEnd); #endif /* GL_ARB_fragment_layer_viewport */ #ifdef GL_ARB_fragment_program CONST_CAST(GLEW_ARB_fragment_program) = _glewSearchExtension("GL_ARB_fragment_program", extStart, extEnd); #endif /* GL_ARB_fragment_program */ #ifdef GL_ARB_fragment_program_shadow CONST_CAST(GLEW_ARB_fragment_program_shadow) = _glewSearchExtension("GL_ARB_fragment_program_shadow", extStart, extEnd); #endif /* GL_ARB_fragment_program_shadow */ #ifdef GL_ARB_fragment_shader CONST_CAST(GLEW_ARB_fragment_shader) = _glewSearchExtension("GL_ARB_fragment_shader", extStart, extEnd); #endif /* GL_ARB_fragment_shader */ #ifdef GL_ARB_framebuffer_no_attachments CONST_CAST(GLEW_ARB_framebuffer_no_attachments) = _glewSearchExtension("GL_ARB_framebuffer_no_attachments", extStart, extEnd); if (glewExperimental || GLEW_ARB_framebuffer_no_attachments) CONST_CAST(GLEW_ARB_framebuffer_no_attachments) = !_glewInit_GL_ARB_framebuffer_no_attachments(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_framebuffer_no_attachments */ #ifdef GL_ARB_framebuffer_object CONST_CAST(GLEW_ARB_framebuffer_object) = _glewSearchExtension("GL_ARB_framebuffer_object", extStart, extEnd); if (glewExperimental || GLEW_ARB_framebuffer_object) CONST_CAST(GLEW_ARB_framebuffer_object) = !_glewInit_GL_ARB_framebuffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_framebuffer_object */ #ifdef GL_ARB_framebuffer_sRGB CONST_CAST(GLEW_ARB_framebuffer_sRGB) = _glewSearchExtension("GL_ARB_framebuffer_sRGB", extStart, extEnd); #endif /* GL_ARB_framebuffer_sRGB */ #ifdef GL_ARB_geometry_shader4 CONST_CAST(GLEW_ARB_geometry_shader4) = _glewSearchExtension("GL_ARB_geometry_shader4", extStart, extEnd); if (glewExperimental || GLEW_ARB_geometry_shader4) CONST_CAST(GLEW_ARB_geometry_shader4) = !_glewInit_GL_ARB_geometry_shader4(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_geometry_shader4 */ #ifdef GL_ARB_get_program_binary CONST_CAST(GLEW_ARB_get_program_binary) = _glewSearchExtension("GL_ARB_get_program_binary", extStart, extEnd); if (glewExperimental || GLEW_ARB_get_program_binary) CONST_CAST(GLEW_ARB_get_program_binary) = !_glewInit_GL_ARB_get_program_binary(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_get_program_binary */ #ifdef GL_ARB_gpu_shader5 CONST_CAST(GLEW_ARB_gpu_shader5) = _glewSearchExtension("GL_ARB_gpu_shader5", extStart, extEnd); #endif /* GL_ARB_gpu_shader5 */ #ifdef GL_ARB_gpu_shader_fp64 CONST_CAST(GLEW_ARB_gpu_shader_fp64) = _glewSearchExtension("GL_ARB_gpu_shader_fp64", extStart, extEnd); if (glewExperimental || GLEW_ARB_gpu_shader_fp64) CONST_CAST(GLEW_ARB_gpu_shader_fp64) = !_glewInit_GL_ARB_gpu_shader_fp64(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_gpu_shader_fp64 */ #ifdef GL_ARB_half_float_pixel CONST_CAST(GLEW_ARB_half_float_pixel) = _glewSearchExtension("GL_ARB_half_float_pixel", extStart, extEnd); #endif /* GL_ARB_half_float_pixel */ #ifdef GL_ARB_half_float_vertex CONST_CAST(GLEW_ARB_half_float_vertex) = _glewSearchExtension("GL_ARB_half_float_vertex", extStart, extEnd); #endif /* GL_ARB_half_float_vertex */ #ifdef GL_ARB_imaging CONST_CAST(GLEW_ARB_imaging) = _glewSearchExtension("GL_ARB_imaging", extStart, extEnd); if (glewExperimental || GLEW_ARB_imaging) CONST_CAST(GLEW_ARB_imaging) = !_glewInit_GL_ARB_imaging(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_imaging */ #ifdef GL_ARB_indirect_parameters CONST_CAST(GLEW_ARB_indirect_parameters) = _glewSearchExtension("GL_ARB_indirect_parameters", extStart, extEnd); if (glewExperimental || GLEW_ARB_indirect_parameters) CONST_CAST(GLEW_ARB_indirect_parameters) = !_glewInit_GL_ARB_indirect_parameters(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_indirect_parameters */ #ifdef GL_ARB_instanced_arrays CONST_CAST(GLEW_ARB_instanced_arrays) = _glewSearchExtension("GL_ARB_instanced_arrays", extStart, extEnd); if (glewExperimental || GLEW_ARB_instanced_arrays) CONST_CAST(GLEW_ARB_instanced_arrays) = !_glewInit_GL_ARB_instanced_arrays(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_instanced_arrays */ #ifdef GL_ARB_internalformat_query CONST_CAST(GLEW_ARB_internalformat_query) = _glewSearchExtension("GL_ARB_internalformat_query", extStart, extEnd); if (glewExperimental || GLEW_ARB_internalformat_query) CONST_CAST(GLEW_ARB_internalformat_query) = !_glewInit_GL_ARB_internalformat_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_internalformat_query */ #ifdef GL_ARB_internalformat_query2 CONST_CAST(GLEW_ARB_internalformat_query2) = _glewSearchExtension("GL_ARB_internalformat_query2", extStart, extEnd); if (glewExperimental || GLEW_ARB_internalformat_query2) CONST_CAST(GLEW_ARB_internalformat_query2) = !_glewInit_GL_ARB_internalformat_query2(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_internalformat_query2 */ #ifdef GL_ARB_invalidate_subdata CONST_CAST(GLEW_ARB_invalidate_subdata) = _glewSearchExtension("GL_ARB_invalidate_subdata", extStart, extEnd); if (glewExperimental || GLEW_ARB_invalidate_subdata) CONST_CAST(GLEW_ARB_invalidate_subdata) = !_glewInit_GL_ARB_invalidate_subdata(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_invalidate_subdata */ #ifdef GL_ARB_map_buffer_alignment CONST_CAST(GLEW_ARB_map_buffer_alignment) = _glewSearchExtension("GL_ARB_map_buffer_alignment", extStart, extEnd); #endif /* GL_ARB_map_buffer_alignment */ #ifdef GL_ARB_map_buffer_range CONST_CAST(GLEW_ARB_map_buffer_range) = _glewSearchExtension("GL_ARB_map_buffer_range", extStart, extEnd); if (glewExperimental || GLEW_ARB_map_buffer_range) CONST_CAST(GLEW_ARB_map_buffer_range) = !_glewInit_GL_ARB_map_buffer_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_map_buffer_range */ #ifdef GL_ARB_matrix_palette CONST_CAST(GLEW_ARB_matrix_palette) = _glewSearchExtension("GL_ARB_matrix_palette", extStart, extEnd); if (glewExperimental || GLEW_ARB_matrix_palette) CONST_CAST(GLEW_ARB_matrix_palette) = !_glewInit_GL_ARB_matrix_palette(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_matrix_palette */ #ifdef GL_ARB_multi_bind CONST_CAST(GLEW_ARB_multi_bind) = _glewSearchExtension("GL_ARB_multi_bind", extStart, extEnd); if (glewExperimental || GLEW_ARB_multi_bind) CONST_CAST(GLEW_ARB_multi_bind) = !_glewInit_GL_ARB_multi_bind(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_multi_bind */ #ifdef GL_ARB_multi_draw_indirect CONST_CAST(GLEW_ARB_multi_draw_indirect) = _glewSearchExtension("GL_ARB_multi_draw_indirect", extStart, extEnd); if (glewExperimental || GLEW_ARB_multi_draw_indirect) CONST_CAST(GLEW_ARB_multi_draw_indirect) = !_glewInit_GL_ARB_multi_draw_indirect(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_multi_draw_indirect */ #ifdef GL_ARB_multisample CONST_CAST(GLEW_ARB_multisample) = _glewSearchExtension("GL_ARB_multisample", extStart, extEnd); if (glewExperimental || GLEW_ARB_multisample) CONST_CAST(GLEW_ARB_multisample) = !_glewInit_GL_ARB_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_multisample */ #ifdef GL_ARB_multitexture CONST_CAST(GLEW_ARB_multitexture) = _glewSearchExtension("GL_ARB_multitexture", extStart, extEnd); if (glewExperimental || GLEW_ARB_multitexture) CONST_CAST(GLEW_ARB_multitexture) = !_glewInit_GL_ARB_multitexture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_multitexture */ #ifdef GL_ARB_occlusion_query CONST_CAST(GLEW_ARB_occlusion_query) = _glewSearchExtension("GL_ARB_occlusion_query", extStart, extEnd); if (glewExperimental || GLEW_ARB_occlusion_query) CONST_CAST(GLEW_ARB_occlusion_query) = !_glewInit_GL_ARB_occlusion_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_occlusion_query */ #ifdef GL_ARB_occlusion_query2 CONST_CAST(GLEW_ARB_occlusion_query2) = _glewSearchExtension("GL_ARB_occlusion_query2", extStart, extEnd); #endif /* GL_ARB_occlusion_query2 */ #ifdef GL_ARB_pixel_buffer_object CONST_CAST(GLEW_ARB_pixel_buffer_object) = _glewSearchExtension("GL_ARB_pixel_buffer_object", extStart, extEnd); #endif /* GL_ARB_pixel_buffer_object */ #ifdef GL_ARB_point_parameters CONST_CAST(GLEW_ARB_point_parameters) = _glewSearchExtension("GL_ARB_point_parameters", extStart, extEnd); if (glewExperimental || GLEW_ARB_point_parameters) CONST_CAST(GLEW_ARB_point_parameters) = !_glewInit_GL_ARB_point_parameters(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_point_parameters */ #ifdef GL_ARB_point_sprite CONST_CAST(GLEW_ARB_point_sprite) = _glewSearchExtension("GL_ARB_point_sprite", extStart, extEnd); #endif /* GL_ARB_point_sprite */ #ifdef GL_ARB_program_interface_query CONST_CAST(GLEW_ARB_program_interface_query) = _glewSearchExtension("GL_ARB_program_interface_query", extStart, extEnd); if (glewExperimental || GLEW_ARB_program_interface_query) CONST_CAST(GLEW_ARB_program_interface_query) = !_glewInit_GL_ARB_program_interface_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_program_interface_query */ #ifdef GL_ARB_provoking_vertex CONST_CAST(GLEW_ARB_provoking_vertex) = _glewSearchExtension("GL_ARB_provoking_vertex", extStart, extEnd); if (glewExperimental || GLEW_ARB_provoking_vertex) CONST_CAST(GLEW_ARB_provoking_vertex) = !_glewInit_GL_ARB_provoking_vertex(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_provoking_vertex */ #ifdef GL_ARB_query_buffer_object CONST_CAST(GLEW_ARB_query_buffer_object) = _glewSearchExtension("GL_ARB_query_buffer_object", extStart, extEnd); #endif /* GL_ARB_query_buffer_object */ #ifdef GL_ARB_robust_buffer_access_behavior CONST_CAST(GLEW_ARB_robust_buffer_access_behavior) = _glewSearchExtension("GL_ARB_robust_buffer_access_behavior", extStart, extEnd); #endif /* GL_ARB_robust_buffer_access_behavior */ #ifdef GL_ARB_robustness CONST_CAST(GLEW_ARB_robustness) = _glewSearchExtension("GL_ARB_robustness", extStart, extEnd); if (glewExperimental || GLEW_ARB_robustness) CONST_CAST(GLEW_ARB_robustness) = !_glewInit_GL_ARB_robustness(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_robustness */ #ifdef GL_ARB_robustness_application_isolation CONST_CAST(GLEW_ARB_robustness_application_isolation) = _glewSearchExtension("GL_ARB_robustness_application_isolation", extStart, extEnd); #endif /* GL_ARB_robustness_application_isolation */ #ifdef GL_ARB_robustness_share_group_isolation CONST_CAST(GLEW_ARB_robustness_share_group_isolation) = _glewSearchExtension("GL_ARB_robustness_share_group_isolation", extStart, extEnd); #endif /* GL_ARB_robustness_share_group_isolation */ #ifdef GL_ARB_sample_shading CONST_CAST(GLEW_ARB_sample_shading) = _glewSearchExtension("GL_ARB_sample_shading", extStart, extEnd); if (glewExperimental || GLEW_ARB_sample_shading) CONST_CAST(GLEW_ARB_sample_shading) = !_glewInit_GL_ARB_sample_shading(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_sample_shading */ #ifdef GL_ARB_sampler_objects CONST_CAST(GLEW_ARB_sampler_objects) = _glewSearchExtension("GL_ARB_sampler_objects", extStart, extEnd); if (glewExperimental || GLEW_ARB_sampler_objects) CONST_CAST(GLEW_ARB_sampler_objects) = !_glewInit_GL_ARB_sampler_objects(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_sampler_objects */ #ifdef GL_ARB_seamless_cube_map CONST_CAST(GLEW_ARB_seamless_cube_map) = _glewSearchExtension("GL_ARB_seamless_cube_map", extStart, extEnd); #endif /* GL_ARB_seamless_cube_map */ #ifdef GL_ARB_seamless_cubemap_per_texture CONST_CAST(GLEW_ARB_seamless_cubemap_per_texture) = _glewSearchExtension("GL_ARB_seamless_cubemap_per_texture", extStart, extEnd); #endif /* GL_ARB_seamless_cubemap_per_texture */ #ifdef GL_ARB_separate_shader_objects CONST_CAST(GLEW_ARB_separate_shader_objects) = _glewSearchExtension("GL_ARB_separate_shader_objects", extStart, extEnd); if (glewExperimental || GLEW_ARB_separate_shader_objects) CONST_CAST(GLEW_ARB_separate_shader_objects) = !_glewInit_GL_ARB_separate_shader_objects(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_separate_shader_objects */ #ifdef GL_ARB_shader_atomic_counters CONST_CAST(GLEW_ARB_shader_atomic_counters) = _glewSearchExtension("GL_ARB_shader_atomic_counters", extStart, extEnd); if (glewExperimental || GLEW_ARB_shader_atomic_counters) CONST_CAST(GLEW_ARB_shader_atomic_counters) = !_glewInit_GL_ARB_shader_atomic_counters(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_shader_atomic_counters */ #ifdef GL_ARB_shader_bit_encoding CONST_CAST(GLEW_ARB_shader_bit_encoding) = _glewSearchExtension("GL_ARB_shader_bit_encoding", extStart, extEnd); #endif /* GL_ARB_shader_bit_encoding */ #ifdef GL_ARB_shader_draw_parameters CONST_CAST(GLEW_ARB_shader_draw_parameters) = _glewSearchExtension("GL_ARB_shader_draw_parameters", extStart, extEnd); #endif /* GL_ARB_shader_draw_parameters */ #ifdef GL_ARB_shader_group_vote CONST_CAST(GLEW_ARB_shader_group_vote) = _glewSearchExtension("GL_ARB_shader_group_vote", extStart, extEnd); #endif /* GL_ARB_shader_group_vote */ #ifdef GL_ARB_shader_image_load_store CONST_CAST(GLEW_ARB_shader_image_load_store) = _glewSearchExtension("GL_ARB_shader_image_load_store", extStart, extEnd); if (glewExperimental || GLEW_ARB_shader_image_load_store) CONST_CAST(GLEW_ARB_shader_image_load_store) = !_glewInit_GL_ARB_shader_image_load_store(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_shader_image_load_store */ #ifdef GL_ARB_shader_image_size CONST_CAST(GLEW_ARB_shader_image_size) = _glewSearchExtension("GL_ARB_shader_image_size", extStart, extEnd); #endif /* GL_ARB_shader_image_size */ #ifdef GL_ARB_shader_objects CONST_CAST(GLEW_ARB_shader_objects) = _glewSearchExtension("GL_ARB_shader_objects", extStart, extEnd); if (glewExperimental || GLEW_ARB_shader_objects) CONST_CAST(GLEW_ARB_shader_objects) = !_glewInit_GL_ARB_shader_objects(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_shader_objects */ #ifdef GL_ARB_shader_precision CONST_CAST(GLEW_ARB_shader_precision) = _glewSearchExtension("GL_ARB_shader_precision", extStart, extEnd); #endif /* GL_ARB_shader_precision */ #ifdef GL_ARB_shader_stencil_export CONST_CAST(GLEW_ARB_shader_stencil_export) = _glewSearchExtension("GL_ARB_shader_stencil_export", extStart, extEnd); #endif /* GL_ARB_shader_stencil_export */ #ifdef GL_ARB_shader_storage_buffer_object CONST_CAST(GLEW_ARB_shader_storage_buffer_object) = _glewSearchExtension("GL_ARB_shader_storage_buffer_object", extStart, extEnd); if (glewExperimental || GLEW_ARB_shader_storage_buffer_object) CONST_CAST(GLEW_ARB_shader_storage_buffer_object) = !_glewInit_GL_ARB_shader_storage_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_shader_storage_buffer_object */ #ifdef GL_ARB_shader_subroutine CONST_CAST(GLEW_ARB_shader_subroutine) = _glewSearchExtension("GL_ARB_shader_subroutine", extStart, extEnd); if (glewExperimental || GLEW_ARB_shader_subroutine) CONST_CAST(GLEW_ARB_shader_subroutine) = !_glewInit_GL_ARB_shader_subroutine(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_shader_subroutine */ #ifdef GL_ARB_shader_texture_lod CONST_CAST(GLEW_ARB_shader_texture_lod) = _glewSearchExtension("GL_ARB_shader_texture_lod", extStart, extEnd); #endif /* GL_ARB_shader_texture_lod */ #ifdef GL_ARB_shading_language_100 CONST_CAST(GLEW_ARB_shading_language_100) = _glewSearchExtension("GL_ARB_shading_language_100", extStart, extEnd); #endif /* GL_ARB_shading_language_100 */ #ifdef GL_ARB_shading_language_420pack CONST_CAST(GLEW_ARB_shading_language_420pack) = _glewSearchExtension("GL_ARB_shading_language_420pack", extStart, extEnd); #endif /* GL_ARB_shading_language_420pack */ #ifdef GL_ARB_shading_language_include CONST_CAST(GLEW_ARB_shading_language_include) = _glewSearchExtension("GL_ARB_shading_language_include", extStart, extEnd); if (glewExperimental || GLEW_ARB_shading_language_include) CONST_CAST(GLEW_ARB_shading_language_include) = !_glewInit_GL_ARB_shading_language_include(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_shading_language_include */ #ifdef GL_ARB_shading_language_packing CONST_CAST(GLEW_ARB_shading_language_packing) = _glewSearchExtension("GL_ARB_shading_language_packing", extStart, extEnd); #endif /* GL_ARB_shading_language_packing */ #ifdef GL_ARB_shadow CONST_CAST(GLEW_ARB_shadow) = _glewSearchExtension("GL_ARB_shadow", extStart, extEnd); #endif /* GL_ARB_shadow */ #ifdef GL_ARB_shadow_ambient CONST_CAST(GLEW_ARB_shadow_ambient) = _glewSearchExtension("GL_ARB_shadow_ambient", extStart, extEnd); #endif /* GL_ARB_shadow_ambient */ #ifdef GL_ARB_sparse_texture CONST_CAST(GLEW_ARB_sparse_texture) = _glewSearchExtension("GL_ARB_sparse_texture", extStart, extEnd); if (glewExperimental || GLEW_ARB_sparse_texture) CONST_CAST(GLEW_ARB_sparse_texture) = !_glewInit_GL_ARB_sparse_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_sparse_texture */ #ifdef GL_ARB_stencil_texturing CONST_CAST(GLEW_ARB_stencil_texturing) = _glewSearchExtension("GL_ARB_stencil_texturing", extStart, extEnd); #endif /* GL_ARB_stencil_texturing */ #ifdef GL_ARB_sync CONST_CAST(GLEW_ARB_sync) = _glewSearchExtension("GL_ARB_sync", extStart, extEnd); if (glewExperimental || GLEW_ARB_sync) CONST_CAST(GLEW_ARB_sync) = !_glewInit_GL_ARB_sync(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_sync */ #ifdef GL_ARB_tessellation_shader CONST_CAST(GLEW_ARB_tessellation_shader) = _glewSearchExtension("GL_ARB_tessellation_shader", extStart, extEnd); if (glewExperimental || GLEW_ARB_tessellation_shader) CONST_CAST(GLEW_ARB_tessellation_shader) = !_glewInit_GL_ARB_tessellation_shader(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_tessellation_shader */ #ifdef GL_ARB_texture_border_clamp CONST_CAST(GLEW_ARB_texture_border_clamp) = _glewSearchExtension("GL_ARB_texture_border_clamp", extStart, extEnd); #endif /* GL_ARB_texture_border_clamp */ #ifdef GL_ARB_texture_buffer_object CONST_CAST(GLEW_ARB_texture_buffer_object) = _glewSearchExtension("GL_ARB_texture_buffer_object", extStart, extEnd); if (glewExperimental || GLEW_ARB_texture_buffer_object) CONST_CAST(GLEW_ARB_texture_buffer_object) = !_glewInit_GL_ARB_texture_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_texture_buffer_object */ #ifdef GL_ARB_texture_buffer_object_rgb32 CONST_CAST(GLEW_ARB_texture_buffer_object_rgb32) = _glewSearchExtension("GL_ARB_texture_buffer_object_rgb32", extStart, extEnd); #endif /* GL_ARB_texture_buffer_object_rgb32 */ #ifdef GL_ARB_texture_buffer_range CONST_CAST(GLEW_ARB_texture_buffer_range) = _glewSearchExtension("GL_ARB_texture_buffer_range", extStart, extEnd); if (glewExperimental || GLEW_ARB_texture_buffer_range) CONST_CAST(GLEW_ARB_texture_buffer_range) = !_glewInit_GL_ARB_texture_buffer_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_texture_buffer_range */ #ifdef GL_ARB_texture_compression CONST_CAST(GLEW_ARB_texture_compression) = _glewSearchExtension("GL_ARB_texture_compression", extStart, extEnd); if (glewExperimental || GLEW_ARB_texture_compression) CONST_CAST(GLEW_ARB_texture_compression) = !_glewInit_GL_ARB_texture_compression(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_texture_compression */ #ifdef GL_ARB_texture_compression_bptc CONST_CAST(GLEW_ARB_texture_compression_bptc) = _glewSearchExtension("GL_ARB_texture_compression_bptc", extStart, extEnd); #endif /* GL_ARB_texture_compression_bptc */ #ifdef GL_ARB_texture_compression_rgtc CONST_CAST(GLEW_ARB_texture_compression_rgtc) = _glewSearchExtension("GL_ARB_texture_compression_rgtc", extStart, extEnd); #endif /* GL_ARB_texture_compression_rgtc */ #ifdef GL_ARB_texture_cube_map CONST_CAST(GLEW_ARB_texture_cube_map) = _glewSearchExtension("GL_ARB_texture_cube_map", extStart, extEnd); #endif /* GL_ARB_texture_cube_map */ #ifdef GL_ARB_texture_cube_map_array CONST_CAST(GLEW_ARB_texture_cube_map_array) = _glewSearchExtension("GL_ARB_texture_cube_map_array", extStart, extEnd); #endif /* GL_ARB_texture_cube_map_array */ #ifdef GL_ARB_texture_env_add CONST_CAST(GLEW_ARB_texture_env_add) = _glewSearchExtension("GL_ARB_texture_env_add", extStart, extEnd); #endif /* GL_ARB_texture_env_add */ #ifdef GL_ARB_texture_env_combine CONST_CAST(GLEW_ARB_texture_env_combine) = _glewSearchExtension("GL_ARB_texture_env_combine", extStart, extEnd); #endif /* GL_ARB_texture_env_combine */ #ifdef GL_ARB_texture_env_crossbar CONST_CAST(GLEW_ARB_texture_env_crossbar) = _glewSearchExtension("GL_ARB_texture_env_crossbar", extStart, extEnd); #endif /* GL_ARB_texture_env_crossbar */ #ifdef GL_ARB_texture_env_dot3 CONST_CAST(GLEW_ARB_texture_env_dot3) = _glewSearchExtension("GL_ARB_texture_env_dot3", extStart, extEnd); #endif /* GL_ARB_texture_env_dot3 */ #ifdef GL_ARB_texture_float CONST_CAST(GLEW_ARB_texture_float) = _glewSearchExtension("GL_ARB_texture_float", extStart, extEnd); #endif /* GL_ARB_texture_float */ #ifdef GL_ARB_texture_gather CONST_CAST(GLEW_ARB_texture_gather) = _glewSearchExtension("GL_ARB_texture_gather", extStart, extEnd); #endif /* GL_ARB_texture_gather */ #ifdef GL_ARB_texture_mirror_clamp_to_edge CONST_CAST(GLEW_ARB_texture_mirror_clamp_to_edge) = _glewSearchExtension("GL_ARB_texture_mirror_clamp_to_edge", extStart, extEnd); #endif /* GL_ARB_texture_mirror_clamp_to_edge */ #ifdef GL_ARB_texture_mirrored_repeat CONST_CAST(GLEW_ARB_texture_mirrored_repeat) = _glewSearchExtension("GL_ARB_texture_mirrored_repeat", extStart, extEnd); #endif /* GL_ARB_texture_mirrored_repeat */ #ifdef GL_ARB_texture_multisample CONST_CAST(GLEW_ARB_texture_multisample) = _glewSearchExtension("GL_ARB_texture_multisample", extStart, extEnd); if (glewExperimental || GLEW_ARB_texture_multisample) CONST_CAST(GLEW_ARB_texture_multisample) = !_glewInit_GL_ARB_texture_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_texture_multisample */ #ifdef GL_ARB_texture_non_power_of_two CONST_CAST(GLEW_ARB_texture_non_power_of_two) = _glewSearchExtension("GL_ARB_texture_non_power_of_two", extStart, extEnd); #endif /* GL_ARB_texture_non_power_of_two */ #ifdef GL_ARB_texture_query_levels CONST_CAST(GLEW_ARB_texture_query_levels) = _glewSearchExtension("GL_ARB_texture_query_levels", extStart, extEnd); #endif /* GL_ARB_texture_query_levels */ #ifdef GL_ARB_texture_query_lod CONST_CAST(GLEW_ARB_texture_query_lod) = _glewSearchExtension("GL_ARB_texture_query_lod", extStart, extEnd); #endif /* GL_ARB_texture_query_lod */ #ifdef GL_ARB_texture_rectangle CONST_CAST(GLEW_ARB_texture_rectangle) = _glewSearchExtension("GL_ARB_texture_rectangle", extStart, extEnd); #endif /* GL_ARB_texture_rectangle */ #ifdef GL_ARB_texture_rg CONST_CAST(GLEW_ARB_texture_rg) = _glewSearchExtension("GL_ARB_texture_rg", extStart, extEnd); #endif /* GL_ARB_texture_rg */ #ifdef GL_ARB_texture_rgb10_a2ui CONST_CAST(GLEW_ARB_texture_rgb10_a2ui) = _glewSearchExtension("GL_ARB_texture_rgb10_a2ui", extStart, extEnd); #endif /* GL_ARB_texture_rgb10_a2ui */ #ifdef GL_ARB_texture_stencil8 CONST_CAST(GLEW_ARB_texture_stencil8) = _glewSearchExtension("GL_ARB_texture_stencil8", extStart, extEnd); #endif /* GL_ARB_texture_stencil8 */ #ifdef GL_ARB_texture_storage CONST_CAST(GLEW_ARB_texture_storage) = _glewSearchExtension("GL_ARB_texture_storage", extStart, extEnd); if (glewExperimental || GLEW_ARB_texture_storage) CONST_CAST(GLEW_ARB_texture_storage) = !_glewInit_GL_ARB_texture_storage(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_texture_storage */ #ifdef GL_ARB_texture_storage_multisample CONST_CAST(GLEW_ARB_texture_storage_multisample) = _glewSearchExtension("GL_ARB_texture_storage_multisample", extStart, extEnd); if (glewExperimental || GLEW_ARB_texture_storage_multisample) CONST_CAST(GLEW_ARB_texture_storage_multisample) = !_glewInit_GL_ARB_texture_storage_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_texture_storage_multisample */ #ifdef GL_ARB_texture_swizzle CONST_CAST(GLEW_ARB_texture_swizzle) = _glewSearchExtension("GL_ARB_texture_swizzle", extStart, extEnd); #endif /* GL_ARB_texture_swizzle */ #ifdef GL_ARB_texture_view CONST_CAST(GLEW_ARB_texture_view) = _glewSearchExtension("GL_ARB_texture_view", extStart, extEnd); if (glewExperimental || GLEW_ARB_texture_view) CONST_CAST(GLEW_ARB_texture_view) = !_glewInit_GL_ARB_texture_view(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_texture_view */ #ifdef GL_ARB_timer_query CONST_CAST(GLEW_ARB_timer_query) = _glewSearchExtension("GL_ARB_timer_query", extStart, extEnd); if (glewExperimental || GLEW_ARB_timer_query) CONST_CAST(GLEW_ARB_timer_query) = !_glewInit_GL_ARB_timer_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_timer_query */ #ifdef GL_ARB_transform_feedback2 CONST_CAST(GLEW_ARB_transform_feedback2) = _glewSearchExtension("GL_ARB_transform_feedback2", extStart, extEnd); if (glewExperimental || GLEW_ARB_transform_feedback2) CONST_CAST(GLEW_ARB_transform_feedback2) = !_glewInit_GL_ARB_transform_feedback2(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_transform_feedback2 */ #ifdef GL_ARB_transform_feedback3 CONST_CAST(GLEW_ARB_transform_feedback3) = _glewSearchExtension("GL_ARB_transform_feedback3", extStart, extEnd); if (glewExperimental || GLEW_ARB_transform_feedback3) CONST_CAST(GLEW_ARB_transform_feedback3) = !_glewInit_GL_ARB_transform_feedback3(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_transform_feedback3 */ #ifdef GL_ARB_transform_feedback_instanced CONST_CAST(GLEW_ARB_transform_feedback_instanced) = _glewSearchExtension("GL_ARB_transform_feedback_instanced", extStart, extEnd); if (glewExperimental || GLEW_ARB_transform_feedback_instanced) CONST_CAST(GLEW_ARB_transform_feedback_instanced) = !_glewInit_GL_ARB_transform_feedback_instanced(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_transform_feedback_instanced */ #ifdef GL_ARB_transpose_matrix CONST_CAST(GLEW_ARB_transpose_matrix) = _glewSearchExtension("GL_ARB_transpose_matrix", extStart, extEnd); if (glewExperimental || GLEW_ARB_transpose_matrix) CONST_CAST(GLEW_ARB_transpose_matrix) = !_glewInit_GL_ARB_transpose_matrix(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_transpose_matrix */ #ifdef GL_ARB_uniform_buffer_object CONST_CAST(GLEW_ARB_uniform_buffer_object) = _glewSearchExtension("GL_ARB_uniform_buffer_object", extStart, extEnd); if (glewExperimental || GLEW_ARB_uniform_buffer_object) CONST_CAST(GLEW_ARB_uniform_buffer_object) = !_glewInit_GL_ARB_uniform_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_uniform_buffer_object */ #ifdef GL_ARB_vertex_array_bgra CONST_CAST(GLEW_ARB_vertex_array_bgra) = _glewSearchExtension("GL_ARB_vertex_array_bgra", extStart, extEnd); #endif /* GL_ARB_vertex_array_bgra */ #ifdef GL_ARB_vertex_array_object CONST_CAST(GLEW_ARB_vertex_array_object) = _glewSearchExtension("GL_ARB_vertex_array_object", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_array_object) CONST_CAST(GLEW_ARB_vertex_array_object) = !_glewInit_GL_ARB_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_array_object */ #ifdef GL_ARB_vertex_attrib_64bit CONST_CAST(GLEW_ARB_vertex_attrib_64bit) = _glewSearchExtension("GL_ARB_vertex_attrib_64bit", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_attrib_64bit) CONST_CAST(GLEW_ARB_vertex_attrib_64bit) = !_glewInit_GL_ARB_vertex_attrib_64bit(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_attrib_64bit */ #ifdef GL_ARB_vertex_attrib_binding CONST_CAST(GLEW_ARB_vertex_attrib_binding) = _glewSearchExtension("GL_ARB_vertex_attrib_binding", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_attrib_binding) CONST_CAST(GLEW_ARB_vertex_attrib_binding) = !_glewInit_GL_ARB_vertex_attrib_binding(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_attrib_binding */ #ifdef GL_ARB_vertex_blend CONST_CAST(GLEW_ARB_vertex_blend) = _glewSearchExtension("GL_ARB_vertex_blend", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_blend) CONST_CAST(GLEW_ARB_vertex_blend) = !_glewInit_GL_ARB_vertex_blend(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_blend */ #ifdef GL_ARB_vertex_buffer_object CONST_CAST(GLEW_ARB_vertex_buffer_object) = _glewSearchExtension("GL_ARB_vertex_buffer_object", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_buffer_object) CONST_CAST(GLEW_ARB_vertex_buffer_object) = !_glewInit_GL_ARB_vertex_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_buffer_object */ #ifdef GL_ARB_vertex_program CONST_CAST(GLEW_ARB_vertex_program) = _glewSearchExtension("GL_ARB_vertex_program", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_program) CONST_CAST(GLEW_ARB_vertex_program) = !_glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_program */ #ifdef GL_ARB_vertex_shader CONST_CAST(GLEW_ARB_vertex_shader) = _glewSearchExtension("GL_ARB_vertex_shader", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_shader) CONST_CAST(GLEW_ARB_vertex_shader) = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_shader */ #ifdef GL_ARB_vertex_type_10f_11f_11f_rev CONST_CAST(GLEW_ARB_vertex_type_10f_11f_11f_rev) = _glewSearchExtension("GL_ARB_vertex_type_10f_11f_11f_rev", extStart, extEnd); #endif /* GL_ARB_vertex_type_10f_11f_11f_rev */ #ifdef GL_ARB_vertex_type_2_10_10_10_rev CONST_CAST(GLEW_ARB_vertex_type_2_10_10_10_rev) = _glewSearchExtension("GL_ARB_vertex_type_2_10_10_10_rev", extStart, extEnd); if (glewExperimental || GLEW_ARB_vertex_type_2_10_10_10_rev) CONST_CAST(GLEW_ARB_vertex_type_2_10_10_10_rev) = !_glewInit_GL_ARB_vertex_type_2_10_10_10_rev(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_vertex_type_2_10_10_10_rev */ #ifdef GL_ARB_viewport_array CONST_CAST(GLEW_ARB_viewport_array) = _glewSearchExtension("GL_ARB_viewport_array", extStart, extEnd); if (glewExperimental || GLEW_ARB_viewport_array) CONST_CAST(GLEW_ARB_viewport_array) = !_glewInit_GL_ARB_viewport_array(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_viewport_array */ #ifdef GL_ARB_window_pos CONST_CAST(GLEW_ARB_window_pos) = _glewSearchExtension("GL_ARB_window_pos", extStart, extEnd); if (glewExperimental || GLEW_ARB_window_pos) CONST_CAST(GLEW_ARB_window_pos) = !_glewInit_GL_ARB_window_pos(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ARB_window_pos */ #ifdef GL_ATIX_point_sprites CONST_CAST(GLEW_ATIX_point_sprites) = _glewSearchExtension("GL_ATIX_point_sprites", extStart, extEnd); #endif /* GL_ATIX_point_sprites */ #ifdef GL_ATIX_texture_env_combine3 CONST_CAST(GLEW_ATIX_texture_env_combine3) = _glewSearchExtension("GL_ATIX_texture_env_combine3", extStart, extEnd); #endif /* GL_ATIX_texture_env_combine3 */ #ifdef GL_ATIX_texture_env_route CONST_CAST(GLEW_ATIX_texture_env_route) = _glewSearchExtension("GL_ATIX_texture_env_route", extStart, extEnd); #endif /* GL_ATIX_texture_env_route */ #ifdef GL_ATIX_vertex_shader_output_point_size CONST_CAST(GLEW_ATIX_vertex_shader_output_point_size) = _glewSearchExtension("GL_ATIX_vertex_shader_output_point_size", extStart, extEnd); #endif /* GL_ATIX_vertex_shader_output_point_size */ #ifdef GL_ATI_draw_buffers CONST_CAST(GLEW_ATI_draw_buffers) = _glewSearchExtension("GL_ATI_draw_buffers", extStart, extEnd); if (glewExperimental || GLEW_ATI_draw_buffers) CONST_CAST(GLEW_ATI_draw_buffers) = !_glewInit_GL_ATI_draw_buffers(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_draw_buffers */ #ifdef GL_ATI_element_array CONST_CAST(GLEW_ATI_element_array) = _glewSearchExtension("GL_ATI_element_array", extStart, extEnd); if (glewExperimental || GLEW_ATI_element_array) CONST_CAST(GLEW_ATI_element_array) = !_glewInit_GL_ATI_element_array(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_element_array */ #ifdef GL_ATI_envmap_bumpmap CONST_CAST(GLEW_ATI_envmap_bumpmap) = _glewSearchExtension("GL_ATI_envmap_bumpmap", extStart, extEnd); if (glewExperimental || GLEW_ATI_envmap_bumpmap) CONST_CAST(GLEW_ATI_envmap_bumpmap) = !_glewInit_GL_ATI_envmap_bumpmap(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_envmap_bumpmap */ #ifdef GL_ATI_fragment_shader CONST_CAST(GLEW_ATI_fragment_shader) = _glewSearchExtension("GL_ATI_fragment_shader", extStart, extEnd); if (glewExperimental || GLEW_ATI_fragment_shader) CONST_CAST(GLEW_ATI_fragment_shader) = !_glewInit_GL_ATI_fragment_shader(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_fragment_shader */ #ifdef GL_ATI_map_object_buffer CONST_CAST(GLEW_ATI_map_object_buffer) = _glewSearchExtension("GL_ATI_map_object_buffer", extStart, extEnd); if (glewExperimental || GLEW_ATI_map_object_buffer) CONST_CAST(GLEW_ATI_map_object_buffer) = !_glewInit_GL_ATI_map_object_buffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_map_object_buffer */ #ifdef GL_ATI_meminfo CONST_CAST(GLEW_ATI_meminfo) = _glewSearchExtension("GL_ATI_meminfo", extStart, extEnd); #endif /* GL_ATI_meminfo */ #ifdef GL_ATI_pn_triangles CONST_CAST(GLEW_ATI_pn_triangles) = _glewSearchExtension("GL_ATI_pn_triangles", extStart, extEnd); if (glewExperimental || GLEW_ATI_pn_triangles) CONST_CAST(GLEW_ATI_pn_triangles) = !_glewInit_GL_ATI_pn_triangles(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_pn_triangles */ #ifdef GL_ATI_separate_stencil CONST_CAST(GLEW_ATI_separate_stencil) = _glewSearchExtension("GL_ATI_separate_stencil", extStart, extEnd); if (glewExperimental || GLEW_ATI_separate_stencil) CONST_CAST(GLEW_ATI_separate_stencil) = !_glewInit_GL_ATI_separate_stencil(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_separate_stencil */ #ifdef GL_ATI_shader_texture_lod CONST_CAST(GLEW_ATI_shader_texture_lod) = _glewSearchExtension("GL_ATI_shader_texture_lod", extStart, extEnd); #endif /* GL_ATI_shader_texture_lod */ #ifdef GL_ATI_text_fragment_shader CONST_CAST(GLEW_ATI_text_fragment_shader) = _glewSearchExtension("GL_ATI_text_fragment_shader", extStart, extEnd); #endif /* GL_ATI_text_fragment_shader */ #ifdef GL_ATI_texture_compression_3dc CONST_CAST(GLEW_ATI_texture_compression_3dc) = _glewSearchExtension("GL_ATI_texture_compression_3dc", extStart, extEnd); #endif /* GL_ATI_texture_compression_3dc */ #ifdef GL_ATI_texture_env_combine3 CONST_CAST(GLEW_ATI_texture_env_combine3) = _glewSearchExtension("GL_ATI_texture_env_combine3", extStart, extEnd); #endif /* GL_ATI_texture_env_combine3 */ #ifdef GL_ATI_texture_float CONST_CAST(GLEW_ATI_texture_float) = _glewSearchExtension("GL_ATI_texture_float", extStart, extEnd); #endif /* GL_ATI_texture_float */ #ifdef GL_ATI_texture_mirror_once CONST_CAST(GLEW_ATI_texture_mirror_once) = _glewSearchExtension("GL_ATI_texture_mirror_once", extStart, extEnd); #endif /* GL_ATI_texture_mirror_once */ #ifdef GL_ATI_vertex_array_object CONST_CAST(GLEW_ATI_vertex_array_object) = _glewSearchExtension("GL_ATI_vertex_array_object", extStart, extEnd); if (glewExperimental || GLEW_ATI_vertex_array_object) CONST_CAST(GLEW_ATI_vertex_array_object) = !_glewInit_GL_ATI_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_vertex_array_object */ #ifdef GL_ATI_vertex_attrib_array_object CONST_CAST(GLEW_ATI_vertex_attrib_array_object) = _glewSearchExtension("GL_ATI_vertex_attrib_array_object", extStart, extEnd); if (glewExperimental || GLEW_ATI_vertex_attrib_array_object) CONST_CAST(GLEW_ATI_vertex_attrib_array_object) = !_glewInit_GL_ATI_vertex_attrib_array_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_vertex_attrib_array_object */ #ifdef GL_ATI_vertex_streams CONST_CAST(GLEW_ATI_vertex_streams) = _glewSearchExtension("GL_ATI_vertex_streams", extStart, extEnd); if (glewExperimental || GLEW_ATI_vertex_streams) CONST_CAST(GLEW_ATI_vertex_streams) = !_glewInit_GL_ATI_vertex_streams(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_ATI_vertex_streams */ #ifdef GL_EXT_422_pixels CONST_CAST(GLEW_EXT_422_pixels) = _glewSearchExtension("GL_EXT_422_pixels", extStart, extEnd); #endif /* GL_EXT_422_pixels */ #ifdef GL_EXT_Cg_shader CONST_CAST(GLEW_EXT_Cg_shader) = _glewSearchExtension("GL_EXT_Cg_shader", extStart, extEnd); #endif /* GL_EXT_Cg_shader */ #ifdef GL_EXT_abgr CONST_CAST(GLEW_EXT_abgr) = _glewSearchExtension("GL_EXT_abgr", extStart, extEnd); #endif /* GL_EXT_abgr */ #ifdef GL_EXT_bgra CONST_CAST(GLEW_EXT_bgra) = _glewSearchExtension("GL_EXT_bgra", extStart, extEnd); #endif /* GL_EXT_bgra */ #ifdef GL_EXT_bindable_uniform CONST_CAST(GLEW_EXT_bindable_uniform) = _glewSearchExtension("GL_EXT_bindable_uniform", extStart, extEnd); if (glewExperimental || GLEW_EXT_bindable_uniform) CONST_CAST(GLEW_EXT_bindable_uniform) = !_glewInit_GL_EXT_bindable_uniform(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_bindable_uniform */ #ifdef GL_EXT_blend_color CONST_CAST(GLEW_EXT_blend_color) = _glewSearchExtension("GL_EXT_blend_color", extStart, extEnd); if (glewExperimental || GLEW_EXT_blend_color) CONST_CAST(GLEW_EXT_blend_color) = !_glewInit_GL_EXT_blend_color(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_blend_color */ #ifdef GL_EXT_blend_equation_separate CONST_CAST(GLEW_EXT_blend_equation_separate) = _glewSearchExtension("GL_EXT_blend_equation_separate", extStart, extEnd); if (glewExperimental || GLEW_EXT_blend_equation_separate) CONST_CAST(GLEW_EXT_blend_equation_separate) = !_glewInit_GL_EXT_blend_equation_separate(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_blend_equation_separate */ #ifdef GL_EXT_blend_func_separate CONST_CAST(GLEW_EXT_blend_func_separate) = _glewSearchExtension("GL_EXT_blend_func_separate", extStart, extEnd); if (glewExperimental || GLEW_EXT_blend_func_separate) CONST_CAST(GLEW_EXT_blend_func_separate) = !_glewInit_GL_EXT_blend_func_separate(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_blend_func_separate */ #ifdef GL_EXT_blend_logic_op CONST_CAST(GLEW_EXT_blend_logic_op) = _glewSearchExtension("GL_EXT_blend_logic_op", extStart, extEnd); #endif /* GL_EXT_blend_logic_op */ #ifdef GL_EXT_blend_minmax CONST_CAST(GLEW_EXT_blend_minmax) = _glewSearchExtension("GL_EXT_blend_minmax", extStart, extEnd); if (glewExperimental || GLEW_EXT_blend_minmax) CONST_CAST(GLEW_EXT_blend_minmax) = !_glewInit_GL_EXT_blend_minmax(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_blend_minmax */ #ifdef GL_EXT_blend_subtract CONST_CAST(GLEW_EXT_blend_subtract) = _glewSearchExtension("GL_EXT_blend_subtract", extStart, extEnd); #endif /* GL_EXT_blend_subtract */ #ifdef GL_EXT_clip_volume_hint CONST_CAST(GLEW_EXT_clip_volume_hint) = _glewSearchExtension("GL_EXT_clip_volume_hint", extStart, extEnd); #endif /* GL_EXT_clip_volume_hint */ #ifdef GL_EXT_cmyka CONST_CAST(GLEW_EXT_cmyka) = _glewSearchExtension("GL_EXT_cmyka", extStart, extEnd); #endif /* GL_EXT_cmyka */ #ifdef GL_EXT_color_subtable CONST_CAST(GLEW_EXT_color_subtable) = _glewSearchExtension("GL_EXT_color_subtable", extStart, extEnd); if (glewExperimental || GLEW_EXT_color_subtable) CONST_CAST(GLEW_EXT_color_subtable) = !_glewInit_GL_EXT_color_subtable(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_color_subtable */ #ifdef GL_EXT_compiled_vertex_array CONST_CAST(GLEW_EXT_compiled_vertex_array) = _glewSearchExtension("GL_EXT_compiled_vertex_array", extStart, extEnd); if (glewExperimental || GLEW_EXT_compiled_vertex_array) CONST_CAST(GLEW_EXT_compiled_vertex_array) = !_glewInit_GL_EXT_compiled_vertex_array(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_compiled_vertex_array */ #ifdef GL_EXT_convolution CONST_CAST(GLEW_EXT_convolution) = _glewSearchExtension("GL_EXT_convolution", extStart, extEnd); if (glewExperimental || GLEW_EXT_convolution) CONST_CAST(GLEW_EXT_convolution) = !_glewInit_GL_EXT_convolution(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_convolution */ #ifdef GL_EXT_coordinate_frame CONST_CAST(GLEW_EXT_coordinate_frame) = _glewSearchExtension("GL_EXT_coordinate_frame", extStart, extEnd); if (glewExperimental || GLEW_EXT_coordinate_frame) CONST_CAST(GLEW_EXT_coordinate_frame) = !_glewInit_GL_EXT_coordinate_frame(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_coordinate_frame */ #ifdef GL_EXT_copy_texture CONST_CAST(GLEW_EXT_copy_texture) = _glewSearchExtension("GL_EXT_copy_texture", extStart, extEnd); if (glewExperimental || GLEW_EXT_copy_texture) CONST_CAST(GLEW_EXT_copy_texture) = !_glewInit_GL_EXT_copy_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_copy_texture */ #ifdef GL_EXT_cull_vertex CONST_CAST(GLEW_EXT_cull_vertex) = _glewSearchExtension("GL_EXT_cull_vertex", extStart, extEnd); if (glewExperimental || GLEW_EXT_cull_vertex) CONST_CAST(GLEW_EXT_cull_vertex) = !_glewInit_GL_EXT_cull_vertex(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_cull_vertex */ #ifdef GL_EXT_debug_marker CONST_CAST(GLEW_EXT_debug_marker) = _glewSearchExtension("GL_EXT_debug_marker", extStart, extEnd); if (glewExperimental || GLEW_EXT_debug_marker) CONST_CAST(GLEW_EXT_debug_marker) = !_glewInit_GL_EXT_debug_marker(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_debug_marker */ #ifdef GL_EXT_depth_bounds_test CONST_CAST(GLEW_EXT_depth_bounds_test) = _glewSearchExtension("GL_EXT_depth_bounds_test", extStart, extEnd); if (glewExperimental || GLEW_EXT_depth_bounds_test) CONST_CAST(GLEW_EXT_depth_bounds_test) = !_glewInit_GL_EXT_depth_bounds_test(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_depth_bounds_test */ #ifdef GL_EXT_direct_state_access CONST_CAST(GLEW_EXT_direct_state_access) = _glewSearchExtension("GL_EXT_direct_state_access", extStart, extEnd); if (glewExperimental || GLEW_EXT_direct_state_access) CONST_CAST(GLEW_EXT_direct_state_access) = !_glewInit_GL_EXT_direct_state_access(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_direct_state_access */ #ifdef GL_EXT_draw_buffers2 CONST_CAST(GLEW_EXT_draw_buffers2) = _glewSearchExtension("GL_EXT_draw_buffers2", extStart, extEnd); if (glewExperimental || GLEW_EXT_draw_buffers2) CONST_CAST(GLEW_EXT_draw_buffers2) = !_glewInit_GL_EXT_draw_buffers2(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_draw_buffers2 */ #ifdef GL_EXT_draw_instanced CONST_CAST(GLEW_EXT_draw_instanced) = _glewSearchExtension("GL_EXT_draw_instanced", extStart, extEnd); if (glewExperimental || GLEW_EXT_draw_instanced) CONST_CAST(GLEW_EXT_draw_instanced) = !_glewInit_GL_EXT_draw_instanced(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_draw_instanced */ #ifdef GL_EXT_draw_range_elements CONST_CAST(GLEW_EXT_draw_range_elements) = _glewSearchExtension("GL_EXT_draw_range_elements", extStart, extEnd); if (glewExperimental || GLEW_EXT_draw_range_elements) CONST_CAST(GLEW_EXT_draw_range_elements) = !_glewInit_GL_EXT_draw_range_elements(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_draw_range_elements */ #ifdef GL_EXT_fog_coord CONST_CAST(GLEW_EXT_fog_coord) = _glewSearchExtension("GL_EXT_fog_coord", extStart, extEnd); if (glewExperimental || GLEW_EXT_fog_coord) CONST_CAST(GLEW_EXT_fog_coord) = !_glewInit_GL_EXT_fog_coord(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_fog_coord */ #ifdef GL_EXT_fragment_lighting CONST_CAST(GLEW_EXT_fragment_lighting) = _glewSearchExtension("GL_EXT_fragment_lighting", extStart, extEnd); if (glewExperimental || GLEW_EXT_fragment_lighting) CONST_CAST(GLEW_EXT_fragment_lighting) = !_glewInit_GL_EXT_fragment_lighting(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_fragment_lighting */ #ifdef GL_EXT_framebuffer_blit CONST_CAST(GLEW_EXT_framebuffer_blit) = _glewSearchExtension("GL_EXT_framebuffer_blit", extStart, extEnd); if (glewExperimental || GLEW_EXT_framebuffer_blit) CONST_CAST(GLEW_EXT_framebuffer_blit) = !_glewInit_GL_EXT_framebuffer_blit(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_framebuffer_blit */ #ifdef GL_EXT_framebuffer_multisample CONST_CAST(GLEW_EXT_framebuffer_multisample) = _glewSearchExtension("GL_EXT_framebuffer_multisample", extStart, extEnd); if (glewExperimental || GLEW_EXT_framebuffer_multisample) CONST_CAST(GLEW_EXT_framebuffer_multisample) = !_glewInit_GL_EXT_framebuffer_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_framebuffer_multisample */ #ifdef GL_EXT_framebuffer_multisample_blit_scaled CONST_CAST(GLEW_EXT_framebuffer_multisample_blit_scaled) = _glewSearchExtension("GL_EXT_framebuffer_multisample_blit_scaled", extStart, extEnd); #endif /* GL_EXT_framebuffer_multisample_blit_scaled */ #ifdef GL_EXT_framebuffer_object CONST_CAST(GLEW_EXT_framebuffer_object) = _glewSearchExtension("GL_EXT_framebuffer_object", extStart, extEnd); if (glewExperimental || GLEW_EXT_framebuffer_object) CONST_CAST(GLEW_EXT_framebuffer_object) = !_glewInit_GL_EXT_framebuffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_framebuffer_object */ #ifdef GL_EXT_framebuffer_sRGB CONST_CAST(GLEW_EXT_framebuffer_sRGB) = _glewSearchExtension("GL_EXT_framebuffer_sRGB", extStart, extEnd); #endif /* GL_EXT_framebuffer_sRGB */ #ifdef GL_EXT_geometry_shader4 CONST_CAST(GLEW_EXT_geometry_shader4) = _glewSearchExtension("GL_EXT_geometry_shader4", extStart, extEnd); if (glewExperimental || GLEW_EXT_geometry_shader4) CONST_CAST(GLEW_EXT_geometry_shader4) = !_glewInit_GL_EXT_geometry_shader4(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_geometry_shader4 */ #ifdef GL_EXT_gpu_program_parameters CONST_CAST(GLEW_EXT_gpu_program_parameters) = _glewSearchExtension("GL_EXT_gpu_program_parameters", extStart, extEnd); if (glewExperimental || GLEW_EXT_gpu_program_parameters) CONST_CAST(GLEW_EXT_gpu_program_parameters) = !_glewInit_GL_EXT_gpu_program_parameters(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_gpu_program_parameters */ #ifdef GL_EXT_gpu_shader4 CONST_CAST(GLEW_EXT_gpu_shader4) = _glewSearchExtension("GL_EXT_gpu_shader4", extStart, extEnd); if (glewExperimental || GLEW_EXT_gpu_shader4) CONST_CAST(GLEW_EXT_gpu_shader4) = !_glewInit_GL_EXT_gpu_shader4(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_gpu_shader4 */ #ifdef GL_EXT_histogram CONST_CAST(GLEW_EXT_histogram) = _glewSearchExtension("GL_EXT_histogram", extStart, extEnd); if (glewExperimental || GLEW_EXT_histogram) CONST_CAST(GLEW_EXT_histogram) = !_glewInit_GL_EXT_histogram(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_histogram */ #ifdef GL_EXT_index_array_formats CONST_CAST(GLEW_EXT_index_array_formats) = _glewSearchExtension("GL_EXT_index_array_formats", extStart, extEnd); #endif /* GL_EXT_index_array_formats */ #ifdef GL_EXT_index_func CONST_CAST(GLEW_EXT_index_func) = _glewSearchExtension("GL_EXT_index_func", extStart, extEnd); if (glewExperimental || GLEW_EXT_index_func) CONST_CAST(GLEW_EXT_index_func) = !_glewInit_GL_EXT_index_func(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_index_func */ #ifdef GL_EXT_index_material CONST_CAST(GLEW_EXT_index_material) = _glewSearchExtension("GL_EXT_index_material", extStart, extEnd); if (glewExperimental || GLEW_EXT_index_material) CONST_CAST(GLEW_EXT_index_material) = !_glewInit_GL_EXT_index_material(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_index_material */ #ifdef GL_EXT_index_texture CONST_CAST(GLEW_EXT_index_texture) = _glewSearchExtension("GL_EXT_index_texture", extStart, extEnd); #endif /* GL_EXT_index_texture */ #ifdef GL_EXT_light_texture CONST_CAST(GLEW_EXT_light_texture) = _glewSearchExtension("GL_EXT_light_texture", extStart, extEnd); if (glewExperimental || GLEW_EXT_light_texture) CONST_CAST(GLEW_EXT_light_texture) = !_glewInit_GL_EXT_light_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_light_texture */ #ifdef GL_EXT_misc_attribute CONST_CAST(GLEW_EXT_misc_attribute) = _glewSearchExtension("GL_EXT_misc_attribute", extStart, extEnd); #endif /* GL_EXT_misc_attribute */ #ifdef GL_EXT_multi_draw_arrays CONST_CAST(GLEW_EXT_multi_draw_arrays) = _glewSearchExtension("GL_EXT_multi_draw_arrays", extStart, extEnd); if (glewExperimental || GLEW_EXT_multi_draw_arrays) CONST_CAST(GLEW_EXT_multi_draw_arrays) = !_glewInit_GL_EXT_multi_draw_arrays(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_multi_draw_arrays */ #ifdef GL_EXT_multisample CONST_CAST(GLEW_EXT_multisample) = _glewSearchExtension("GL_EXT_multisample", extStart, extEnd); if (glewExperimental || GLEW_EXT_multisample) CONST_CAST(GLEW_EXT_multisample) = !_glewInit_GL_EXT_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_multisample */ #ifdef GL_EXT_packed_depth_stencil CONST_CAST(GLEW_EXT_packed_depth_stencil) = _glewSearchExtension("GL_EXT_packed_depth_stencil", extStart, extEnd); #endif /* GL_EXT_packed_depth_stencil */ #ifdef GL_EXT_packed_float CONST_CAST(GLEW_EXT_packed_float) = _glewSearchExtension("GL_EXT_packed_float", extStart, extEnd); #endif /* GL_EXT_packed_float */ #ifdef GL_EXT_packed_pixels CONST_CAST(GLEW_EXT_packed_pixels) = _glewSearchExtension("GL_EXT_packed_pixels", extStart, extEnd); #endif /* GL_EXT_packed_pixels */ #ifdef GL_EXT_paletted_texture CONST_CAST(GLEW_EXT_paletted_texture) = _glewSearchExtension("GL_EXT_paletted_texture", extStart, extEnd); if (glewExperimental || GLEW_EXT_paletted_texture) CONST_CAST(GLEW_EXT_paletted_texture) = !_glewInit_GL_EXT_paletted_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_paletted_texture */ #ifdef GL_EXT_pixel_buffer_object CONST_CAST(GLEW_EXT_pixel_buffer_object) = _glewSearchExtension("GL_EXT_pixel_buffer_object", extStart, extEnd); #endif /* GL_EXT_pixel_buffer_object */ #ifdef GL_EXT_pixel_transform CONST_CAST(GLEW_EXT_pixel_transform) = _glewSearchExtension("GL_EXT_pixel_transform", extStart, extEnd); if (glewExperimental || GLEW_EXT_pixel_transform) CONST_CAST(GLEW_EXT_pixel_transform) = !_glewInit_GL_EXT_pixel_transform(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_pixel_transform */ #ifdef GL_EXT_pixel_transform_color_table CONST_CAST(GLEW_EXT_pixel_transform_color_table) = _glewSearchExtension("GL_EXT_pixel_transform_color_table", extStart, extEnd); #endif /* GL_EXT_pixel_transform_color_table */ #ifdef GL_EXT_point_parameters CONST_CAST(GLEW_EXT_point_parameters) = _glewSearchExtension("GL_EXT_point_parameters", extStart, extEnd); if (glewExperimental || GLEW_EXT_point_parameters) CONST_CAST(GLEW_EXT_point_parameters) = !_glewInit_GL_EXT_point_parameters(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_point_parameters */ #ifdef GL_EXT_polygon_offset CONST_CAST(GLEW_EXT_polygon_offset) = _glewSearchExtension("GL_EXT_polygon_offset", extStart, extEnd); if (glewExperimental || GLEW_EXT_polygon_offset) CONST_CAST(GLEW_EXT_polygon_offset) = !_glewInit_GL_EXT_polygon_offset(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_polygon_offset */ #ifdef GL_EXT_provoking_vertex CONST_CAST(GLEW_EXT_provoking_vertex) = _glewSearchExtension("GL_EXT_provoking_vertex", extStart, extEnd); if (glewExperimental || GLEW_EXT_provoking_vertex) CONST_CAST(GLEW_EXT_provoking_vertex) = !_glewInit_GL_EXT_provoking_vertex(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_provoking_vertex */ #ifdef GL_EXT_rescale_normal CONST_CAST(GLEW_EXT_rescale_normal) = _glewSearchExtension("GL_EXT_rescale_normal", extStart, extEnd); #endif /* GL_EXT_rescale_normal */ #ifdef GL_EXT_scene_marker CONST_CAST(GLEW_EXT_scene_marker) = _glewSearchExtension("GL_EXT_scene_marker", extStart, extEnd); if (glewExperimental || GLEW_EXT_scene_marker) CONST_CAST(GLEW_EXT_scene_marker) = !_glewInit_GL_EXT_scene_marker(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_scene_marker */ #ifdef GL_EXT_secondary_color CONST_CAST(GLEW_EXT_secondary_color) = _glewSearchExtension("GL_EXT_secondary_color", extStart, extEnd); if (glewExperimental || GLEW_EXT_secondary_color) CONST_CAST(GLEW_EXT_secondary_color) = !_glewInit_GL_EXT_secondary_color(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_secondary_color */ #ifdef GL_EXT_separate_shader_objects CONST_CAST(GLEW_EXT_separate_shader_objects) = _glewSearchExtension("GL_EXT_separate_shader_objects", extStart, extEnd); if (glewExperimental || GLEW_EXT_separate_shader_objects) CONST_CAST(GLEW_EXT_separate_shader_objects) = !_glewInit_GL_EXT_separate_shader_objects(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_separate_shader_objects */ #ifdef GL_EXT_separate_specular_color CONST_CAST(GLEW_EXT_separate_specular_color) = _glewSearchExtension("GL_EXT_separate_specular_color", extStart, extEnd); #endif /* GL_EXT_separate_specular_color */ #ifdef GL_EXT_shader_image_load_store CONST_CAST(GLEW_EXT_shader_image_load_store) = _glewSearchExtension("GL_EXT_shader_image_load_store", extStart, extEnd); if (glewExperimental || GLEW_EXT_shader_image_load_store) CONST_CAST(GLEW_EXT_shader_image_load_store) = !_glewInit_GL_EXT_shader_image_load_store(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_shader_image_load_store */ #ifdef GL_EXT_shadow_funcs CONST_CAST(GLEW_EXT_shadow_funcs) = _glewSearchExtension("GL_EXT_shadow_funcs", extStart, extEnd); #endif /* GL_EXT_shadow_funcs */ #ifdef GL_EXT_shared_texture_palette CONST_CAST(GLEW_EXT_shared_texture_palette) = _glewSearchExtension("GL_EXT_shared_texture_palette", extStart, extEnd); #endif /* GL_EXT_shared_texture_palette */ #ifdef GL_EXT_stencil_clear_tag CONST_CAST(GLEW_EXT_stencil_clear_tag) = _glewSearchExtension("GL_EXT_stencil_clear_tag", extStart, extEnd); #endif /* GL_EXT_stencil_clear_tag */ #ifdef GL_EXT_stencil_two_side CONST_CAST(GLEW_EXT_stencil_two_side) = _glewSearchExtension("GL_EXT_stencil_two_side", extStart, extEnd); if (glewExperimental || GLEW_EXT_stencil_two_side) CONST_CAST(GLEW_EXT_stencil_two_side) = !_glewInit_GL_EXT_stencil_two_side(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_stencil_two_side */ #ifdef GL_EXT_stencil_wrap CONST_CAST(GLEW_EXT_stencil_wrap) = _glewSearchExtension("GL_EXT_stencil_wrap", extStart, extEnd); #endif /* GL_EXT_stencil_wrap */ #ifdef GL_EXT_subtexture CONST_CAST(GLEW_EXT_subtexture) = _glewSearchExtension("GL_EXT_subtexture", extStart, extEnd); if (glewExperimental || GLEW_EXT_subtexture) CONST_CAST(GLEW_EXT_subtexture) = !_glewInit_GL_EXT_subtexture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_subtexture */ #ifdef GL_EXT_texture CONST_CAST(GLEW_EXT_texture) = _glewSearchExtension("GL_EXT_texture", extStart, extEnd); #endif /* GL_EXT_texture */ #ifdef GL_EXT_texture3D CONST_CAST(GLEW_EXT_texture3D) = _glewSearchExtension("GL_EXT_texture3D", extStart, extEnd); if (glewExperimental || GLEW_EXT_texture3D) CONST_CAST(GLEW_EXT_texture3D) = !_glewInit_GL_EXT_texture3D(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_texture3D */ #ifdef GL_EXT_texture_array CONST_CAST(GLEW_EXT_texture_array) = _glewSearchExtension("GL_EXT_texture_array", extStart, extEnd); if (glewExperimental || GLEW_EXT_texture_array) CONST_CAST(GLEW_EXT_texture_array) = !_glewInit_GL_EXT_texture_array(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_texture_array */ #ifdef GL_EXT_texture_buffer_object CONST_CAST(GLEW_EXT_texture_buffer_object) = _glewSearchExtension("GL_EXT_texture_buffer_object", extStart, extEnd); if (glewExperimental || GLEW_EXT_texture_buffer_object) CONST_CAST(GLEW_EXT_texture_buffer_object) = !_glewInit_GL_EXT_texture_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_texture_buffer_object */ #ifdef GL_EXT_texture_compression_dxt1 CONST_CAST(GLEW_EXT_texture_compression_dxt1) = _glewSearchExtension("GL_EXT_texture_compression_dxt1", extStart, extEnd); #endif /* GL_EXT_texture_compression_dxt1 */ #ifdef GL_EXT_texture_compression_latc CONST_CAST(GLEW_EXT_texture_compression_latc) = _glewSearchExtension("GL_EXT_texture_compression_latc", extStart, extEnd); #endif /* GL_EXT_texture_compression_latc */ #ifdef GL_EXT_texture_compression_rgtc CONST_CAST(GLEW_EXT_texture_compression_rgtc) = _glewSearchExtension("GL_EXT_texture_compression_rgtc", extStart, extEnd); #endif /* GL_EXT_texture_compression_rgtc */ #ifdef GL_EXT_texture_compression_s3tc CONST_CAST(GLEW_EXT_texture_compression_s3tc) = _glewSearchExtension("GL_EXT_texture_compression_s3tc", extStart, extEnd); #endif /* GL_EXT_texture_compression_s3tc */ #ifdef GL_EXT_texture_cube_map CONST_CAST(GLEW_EXT_texture_cube_map) = _glewSearchExtension("GL_EXT_texture_cube_map", extStart, extEnd); #endif /* GL_EXT_texture_cube_map */ #ifdef GL_EXT_texture_edge_clamp CONST_CAST(GLEW_EXT_texture_edge_clamp) = _glewSearchExtension("GL_EXT_texture_edge_clamp", extStart, extEnd); #endif /* GL_EXT_texture_edge_clamp */ #ifdef GL_EXT_texture_env CONST_CAST(GLEW_EXT_texture_env) = _glewSearchExtension("GL_EXT_texture_env", extStart, extEnd); #endif /* GL_EXT_texture_env */ #ifdef GL_EXT_texture_env_add CONST_CAST(GLEW_EXT_texture_env_add) = _glewSearchExtension("GL_EXT_texture_env_add", extStart, extEnd); #endif /* GL_EXT_texture_env_add */ #ifdef GL_EXT_texture_env_combine CONST_CAST(GLEW_EXT_texture_env_combine) = _glewSearchExtension("GL_EXT_texture_env_combine", extStart, extEnd); #endif /* GL_EXT_texture_env_combine */ #ifdef GL_EXT_texture_env_dot3 CONST_CAST(GLEW_EXT_texture_env_dot3) = _glewSearchExtension("GL_EXT_texture_env_dot3", extStart, extEnd); #endif /* GL_EXT_texture_env_dot3 */ #ifdef GL_EXT_texture_filter_anisotropic CONST_CAST(GLEW_EXT_texture_filter_anisotropic) = _glewSearchExtension("GL_EXT_texture_filter_anisotropic", extStart, extEnd); #endif /* GL_EXT_texture_filter_anisotropic */ #ifdef GL_EXT_texture_integer CONST_CAST(GLEW_EXT_texture_integer) = _glewSearchExtension("GL_EXT_texture_integer", extStart, extEnd); if (glewExperimental || GLEW_EXT_texture_integer) CONST_CAST(GLEW_EXT_texture_integer) = !_glewInit_GL_EXT_texture_integer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_texture_integer */ #ifdef GL_EXT_texture_lod_bias CONST_CAST(GLEW_EXT_texture_lod_bias) = _glewSearchExtension("GL_EXT_texture_lod_bias", extStart, extEnd); #endif /* GL_EXT_texture_lod_bias */ #ifdef GL_EXT_texture_mirror_clamp CONST_CAST(GLEW_EXT_texture_mirror_clamp) = _glewSearchExtension("GL_EXT_texture_mirror_clamp", extStart, extEnd); #endif /* GL_EXT_texture_mirror_clamp */ #ifdef GL_EXT_texture_object CONST_CAST(GLEW_EXT_texture_object) = _glewSearchExtension("GL_EXT_texture_object", extStart, extEnd); if (glewExperimental || GLEW_EXT_texture_object) CONST_CAST(GLEW_EXT_texture_object) = !_glewInit_GL_EXT_texture_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_texture_object */ #ifdef GL_EXT_texture_perturb_normal CONST_CAST(GLEW_EXT_texture_perturb_normal) = _glewSearchExtension("GL_EXT_texture_perturb_normal", extStart, extEnd); if (glewExperimental || GLEW_EXT_texture_perturb_normal) CONST_CAST(GLEW_EXT_texture_perturb_normal) = !_glewInit_GL_EXT_texture_perturb_normal(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_texture_perturb_normal */ #ifdef GL_EXT_texture_rectangle CONST_CAST(GLEW_EXT_texture_rectangle) = _glewSearchExtension("GL_EXT_texture_rectangle", extStart, extEnd); #endif /* GL_EXT_texture_rectangle */ #ifdef GL_EXT_texture_sRGB CONST_CAST(GLEW_EXT_texture_sRGB) = _glewSearchExtension("GL_EXT_texture_sRGB", extStart, extEnd); #endif /* GL_EXT_texture_sRGB */ #ifdef GL_EXT_texture_sRGB_decode CONST_CAST(GLEW_EXT_texture_sRGB_decode) = _glewSearchExtension("GL_EXT_texture_sRGB_decode", extStart, extEnd); #endif /* GL_EXT_texture_sRGB_decode */ #ifdef GL_EXT_texture_shared_exponent CONST_CAST(GLEW_EXT_texture_shared_exponent) = _glewSearchExtension("GL_EXT_texture_shared_exponent", extStart, extEnd); #endif /* GL_EXT_texture_shared_exponent */ #ifdef GL_EXT_texture_snorm CONST_CAST(GLEW_EXT_texture_snorm) = _glewSearchExtension("GL_EXT_texture_snorm", extStart, extEnd); #endif /* GL_EXT_texture_snorm */ #ifdef GL_EXT_texture_swizzle CONST_CAST(GLEW_EXT_texture_swizzle) = _glewSearchExtension("GL_EXT_texture_swizzle", extStart, extEnd); #endif /* GL_EXT_texture_swizzle */ #ifdef GL_EXT_timer_query CONST_CAST(GLEW_EXT_timer_query) = _glewSearchExtension("GL_EXT_timer_query", extStart, extEnd); if (glewExperimental || GLEW_EXT_timer_query) CONST_CAST(GLEW_EXT_timer_query) = !_glewInit_GL_EXT_timer_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_timer_query */ #ifdef GL_EXT_transform_feedback CONST_CAST(GLEW_EXT_transform_feedback) = _glewSearchExtension("GL_EXT_transform_feedback", extStart, extEnd); if (glewExperimental || GLEW_EXT_transform_feedback) CONST_CAST(GLEW_EXT_transform_feedback) = !_glewInit_GL_EXT_transform_feedback(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_transform_feedback */ #ifdef GL_EXT_vertex_array CONST_CAST(GLEW_EXT_vertex_array) = _glewSearchExtension("GL_EXT_vertex_array", extStart, extEnd); if (glewExperimental || GLEW_EXT_vertex_array) CONST_CAST(GLEW_EXT_vertex_array) = !_glewInit_GL_EXT_vertex_array(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_vertex_array */ #ifdef GL_EXT_vertex_array_bgra CONST_CAST(GLEW_EXT_vertex_array_bgra) = _glewSearchExtension("GL_EXT_vertex_array_bgra", extStart, extEnd); #endif /* GL_EXT_vertex_array_bgra */ #ifdef GL_EXT_vertex_attrib_64bit CONST_CAST(GLEW_EXT_vertex_attrib_64bit) = _glewSearchExtension("GL_EXT_vertex_attrib_64bit", extStart, extEnd); if (glewExperimental || GLEW_EXT_vertex_attrib_64bit) CONST_CAST(GLEW_EXT_vertex_attrib_64bit) = !_glewInit_GL_EXT_vertex_attrib_64bit(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_vertex_attrib_64bit */ #ifdef GL_EXT_vertex_shader CONST_CAST(GLEW_EXT_vertex_shader) = _glewSearchExtension("GL_EXT_vertex_shader", extStart, extEnd); if (glewExperimental || GLEW_EXT_vertex_shader) CONST_CAST(GLEW_EXT_vertex_shader) = !_glewInit_GL_EXT_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_vertex_shader */ #ifdef GL_EXT_vertex_weighting CONST_CAST(GLEW_EXT_vertex_weighting) = _glewSearchExtension("GL_EXT_vertex_weighting", extStart, extEnd); if (glewExperimental || GLEW_EXT_vertex_weighting) CONST_CAST(GLEW_EXT_vertex_weighting) = !_glewInit_GL_EXT_vertex_weighting(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_vertex_weighting */ #ifdef GL_EXT_x11_sync_object CONST_CAST(GLEW_EXT_x11_sync_object) = _glewSearchExtension("GL_EXT_x11_sync_object", extStart, extEnd); if (glewExperimental || GLEW_EXT_x11_sync_object) CONST_CAST(GLEW_EXT_x11_sync_object) = !_glewInit_GL_EXT_x11_sync_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_EXT_x11_sync_object */ #ifdef GL_GREMEDY_frame_terminator CONST_CAST(GLEW_GREMEDY_frame_terminator) = _glewSearchExtension("GL_GREMEDY_frame_terminator", extStart, extEnd); if (glewExperimental || GLEW_GREMEDY_frame_terminator) CONST_CAST(GLEW_GREMEDY_frame_terminator) = !_glewInit_GL_GREMEDY_frame_terminator(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_GREMEDY_frame_terminator */ #ifdef GL_GREMEDY_string_marker CONST_CAST(GLEW_GREMEDY_string_marker) = _glewSearchExtension("GL_GREMEDY_string_marker", extStart, extEnd); if (glewExperimental || GLEW_GREMEDY_string_marker) CONST_CAST(GLEW_GREMEDY_string_marker) = !_glewInit_GL_GREMEDY_string_marker(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_GREMEDY_string_marker */ #ifdef GL_HP_convolution_border_modes CONST_CAST(GLEW_HP_convolution_border_modes) = _glewSearchExtension("GL_HP_convolution_border_modes", extStart, extEnd); #endif /* GL_HP_convolution_border_modes */ #ifdef GL_HP_image_transform CONST_CAST(GLEW_HP_image_transform) = _glewSearchExtension("GL_HP_image_transform", extStart, extEnd); if (glewExperimental || GLEW_HP_image_transform) CONST_CAST(GLEW_HP_image_transform) = !_glewInit_GL_HP_image_transform(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_HP_image_transform */ #ifdef GL_HP_occlusion_test CONST_CAST(GLEW_HP_occlusion_test) = _glewSearchExtension("GL_HP_occlusion_test", extStart, extEnd); #endif /* GL_HP_occlusion_test */ #ifdef GL_HP_texture_lighting CONST_CAST(GLEW_HP_texture_lighting) = _glewSearchExtension("GL_HP_texture_lighting", extStart, extEnd); #endif /* GL_HP_texture_lighting */ #ifdef GL_IBM_cull_vertex CONST_CAST(GLEW_IBM_cull_vertex) = _glewSearchExtension("GL_IBM_cull_vertex", extStart, extEnd); #endif /* GL_IBM_cull_vertex */ #ifdef GL_IBM_multimode_draw_arrays CONST_CAST(GLEW_IBM_multimode_draw_arrays) = _glewSearchExtension("GL_IBM_multimode_draw_arrays", extStart, extEnd); if (glewExperimental || GLEW_IBM_multimode_draw_arrays) CONST_CAST(GLEW_IBM_multimode_draw_arrays) = !_glewInit_GL_IBM_multimode_draw_arrays(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_IBM_multimode_draw_arrays */ #ifdef GL_IBM_rasterpos_clip CONST_CAST(GLEW_IBM_rasterpos_clip) = _glewSearchExtension("GL_IBM_rasterpos_clip", extStart, extEnd); #endif /* GL_IBM_rasterpos_clip */ #ifdef GL_IBM_static_data CONST_CAST(GLEW_IBM_static_data) = _glewSearchExtension("GL_IBM_static_data", extStart, extEnd); #endif /* GL_IBM_static_data */ #ifdef GL_IBM_texture_mirrored_repeat CONST_CAST(GLEW_IBM_texture_mirrored_repeat) = _glewSearchExtension("GL_IBM_texture_mirrored_repeat", extStart, extEnd); #endif /* GL_IBM_texture_mirrored_repeat */ #ifdef GL_IBM_vertex_array_lists CONST_CAST(GLEW_IBM_vertex_array_lists) = _glewSearchExtension("GL_IBM_vertex_array_lists", extStart, extEnd); if (glewExperimental || GLEW_IBM_vertex_array_lists) CONST_CAST(GLEW_IBM_vertex_array_lists) = !_glewInit_GL_IBM_vertex_array_lists(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_IBM_vertex_array_lists */ #ifdef GL_INGR_color_clamp CONST_CAST(GLEW_INGR_color_clamp) = _glewSearchExtension("GL_INGR_color_clamp", extStart, extEnd); #endif /* GL_INGR_color_clamp */ #ifdef GL_INGR_interlace_read CONST_CAST(GLEW_INGR_interlace_read) = _glewSearchExtension("GL_INGR_interlace_read", extStart, extEnd); #endif /* GL_INGR_interlace_read */ #ifdef GL_INTEL_map_texture CONST_CAST(GLEW_INTEL_map_texture) = _glewSearchExtension("GL_INTEL_map_texture", extStart, extEnd); if (glewExperimental || GLEW_INTEL_map_texture) CONST_CAST(GLEW_INTEL_map_texture) = !_glewInit_GL_INTEL_map_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_INTEL_map_texture */ #ifdef GL_INTEL_parallel_arrays CONST_CAST(GLEW_INTEL_parallel_arrays) = _glewSearchExtension("GL_INTEL_parallel_arrays", extStart, extEnd); if (glewExperimental || GLEW_INTEL_parallel_arrays) CONST_CAST(GLEW_INTEL_parallel_arrays) = !_glewInit_GL_INTEL_parallel_arrays(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_INTEL_parallel_arrays */ #ifdef GL_INTEL_texture_scissor CONST_CAST(GLEW_INTEL_texture_scissor) = _glewSearchExtension("GL_INTEL_texture_scissor", extStart, extEnd); if (glewExperimental || GLEW_INTEL_texture_scissor) CONST_CAST(GLEW_INTEL_texture_scissor) = !_glewInit_GL_INTEL_texture_scissor(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_INTEL_texture_scissor */ #ifdef GL_KHR_debug CONST_CAST(GLEW_KHR_debug) = _glewSearchExtension("GL_KHR_debug", extStart, extEnd); if (glewExperimental || GLEW_KHR_debug) CONST_CAST(GLEW_KHR_debug) = !_glewInit_GL_KHR_debug(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_KHR_debug */ #ifdef GL_KHR_texture_compression_astc_ldr CONST_CAST(GLEW_KHR_texture_compression_astc_ldr) = _glewSearchExtension("GL_KHR_texture_compression_astc_ldr", extStart, extEnd); #endif /* GL_KHR_texture_compression_astc_ldr */ #ifdef GL_KTX_buffer_region CONST_CAST(GLEW_KTX_buffer_region) = _glewSearchExtension("GL_KTX_buffer_region", extStart, extEnd); if (glewExperimental || GLEW_KTX_buffer_region) CONST_CAST(GLEW_KTX_buffer_region) = !_glewInit_GL_KTX_buffer_region(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_KTX_buffer_region */ #ifdef GL_MESAX_texture_stack CONST_CAST(GLEW_MESAX_texture_stack) = _glewSearchExtension("GL_MESAX_texture_stack", extStart, extEnd); #endif /* GL_MESAX_texture_stack */ #ifdef GL_MESA_pack_invert CONST_CAST(GLEW_MESA_pack_invert) = _glewSearchExtension("GL_MESA_pack_invert", extStart, extEnd); #endif /* GL_MESA_pack_invert */ #ifdef GL_MESA_resize_buffers CONST_CAST(GLEW_MESA_resize_buffers) = _glewSearchExtension("GL_MESA_resize_buffers", extStart, extEnd); if (glewExperimental || GLEW_MESA_resize_buffers) CONST_CAST(GLEW_MESA_resize_buffers) = !_glewInit_GL_MESA_resize_buffers(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_MESA_resize_buffers */ #ifdef GL_MESA_window_pos CONST_CAST(GLEW_MESA_window_pos) = _glewSearchExtension("GL_MESA_window_pos", extStart, extEnd); if (glewExperimental || GLEW_MESA_window_pos) CONST_CAST(GLEW_MESA_window_pos) = !_glewInit_GL_MESA_window_pos(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_MESA_window_pos */ #ifdef GL_MESA_ycbcr_texture CONST_CAST(GLEW_MESA_ycbcr_texture) = _glewSearchExtension("GL_MESA_ycbcr_texture", extStart, extEnd); #endif /* GL_MESA_ycbcr_texture */ #ifdef GL_NVX_conditional_render CONST_CAST(GLEW_NVX_conditional_render) = _glewSearchExtension("GL_NVX_conditional_render", extStart, extEnd); if (glewExperimental || GLEW_NVX_conditional_render) CONST_CAST(GLEW_NVX_conditional_render) = !_glewInit_GL_NVX_conditional_render(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NVX_conditional_render */ #ifdef GL_NVX_gpu_memory_info CONST_CAST(GLEW_NVX_gpu_memory_info) = _glewSearchExtension("GL_NVX_gpu_memory_info", extStart, extEnd); #endif /* GL_NVX_gpu_memory_info */ #ifdef GL_NV_bindless_multi_draw_indirect CONST_CAST(GLEW_NV_bindless_multi_draw_indirect) = _glewSearchExtension("GL_NV_bindless_multi_draw_indirect", extStart, extEnd); if (glewExperimental || GLEW_NV_bindless_multi_draw_indirect) CONST_CAST(GLEW_NV_bindless_multi_draw_indirect) = !_glewInit_GL_NV_bindless_multi_draw_indirect(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_bindless_multi_draw_indirect */ #ifdef GL_NV_bindless_texture CONST_CAST(GLEW_NV_bindless_texture) = _glewSearchExtension("GL_NV_bindless_texture", extStart, extEnd); if (glewExperimental || GLEW_NV_bindless_texture) CONST_CAST(GLEW_NV_bindless_texture) = !_glewInit_GL_NV_bindless_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_bindless_texture */ #ifdef GL_NV_blend_equation_advanced CONST_CAST(GLEW_NV_blend_equation_advanced) = _glewSearchExtension("GL_NV_blend_equation_advanced", extStart, extEnd); if (glewExperimental || GLEW_NV_blend_equation_advanced) CONST_CAST(GLEW_NV_blend_equation_advanced) = !_glewInit_GL_NV_blend_equation_advanced(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_blend_equation_advanced */ #ifdef GL_NV_blend_equation_advanced_coherent CONST_CAST(GLEW_NV_blend_equation_advanced_coherent) = _glewSearchExtension("GL_NV_blend_equation_advanced_coherent", extStart, extEnd); #endif /* GL_NV_blend_equation_advanced_coherent */ #ifdef GL_NV_blend_square CONST_CAST(GLEW_NV_blend_square) = _glewSearchExtension("GL_NV_blend_square", extStart, extEnd); #endif /* GL_NV_blend_square */ #ifdef GL_NV_compute_program5 CONST_CAST(GLEW_NV_compute_program5) = _glewSearchExtension("GL_NV_compute_program5", extStart, extEnd); #endif /* GL_NV_compute_program5 */ #ifdef GL_NV_conditional_render CONST_CAST(GLEW_NV_conditional_render) = _glewSearchExtension("GL_NV_conditional_render", extStart, extEnd); if (glewExperimental || GLEW_NV_conditional_render) CONST_CAST(GLEW_NV_conditional_render) = !_glewInit_GL_NV_conditional_render(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_conditional_render */ #ifdef GL_NV_copy_depth_to_color CONST_CAST(GLEW_NV_copy_depth_to_color) = _glewSearchExtension("GL_NV_copy_depth_to_color", extStart, extEnd); #endif /* GL_NV_copy_depth_to_color */ #ifdef GL_NV_copy_image CONST_CAST(GLEW_NV_copy_image) = _glewSearchExtension("GL_NV_copy_image", extStart, extEnd); if (glewExperimental || GLEW_NV_copy_image) CONST_CAST(GLEW_NV_copy_image) = !_glewInit_GL_NV_copy_image(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_copy_image */ #ifdef GL_NV_deep_texture3D CONST_CAST(GLEW_NV_deep_texture3D) = _glewSearchExtension("GL_NV_deep_texture3D", extStart, extEnd); #endif /* GL_NV_deep_texture3D */ #ifdef GL_NV_depth_buffer_float CONST_CAST(GLEW_NV_depth_buffer_float) = _glewSearchExtension("GL_NV_depth_buffer_float", extStart, extEnd); if (glewExperimental || GLEW_NV_depth_buffer_float) CONST_CAST(GLEW_NV_depth_buffer_float) = !_glewInit_GL_NV_depth_buffer_float(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_depth_buffer_float */ #ifdef GL_NV_depth_clamp CONST_CAST(GLEW_NV_depth_clamp) = _glewSearchExtension("GL_NV_depth_clamp", extStart, extEnd); #endif /* GL_NV_depth_clamp */ #ifdef GL_NV_depth_range_unclamped CONST_CAST(GLEW_NV_depth_range_unclamped) = _glewSearchExtension("GL_NV_depth_range_unclamped", extStart, extEnd); #endif /* GL_NV_depth_range_unclamped */ #ifdef GL_NV_draw_texture CONST_CAST(GLEW_NV_draw_texture) = _glewSearchExtension("GL_NV_draw_texture", extStart, extEnd); if (glewExperimental || GLEW_NV_draw_texture) CONST_CAST(GLEW_NV_draw_texture) = !_glewInit_GL_NV_draw_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_draw_texture */ #ifdef GL_NV_evaluators CONST_CAST(GLEW_NV_evaluators) = _glewSearchExtension("GL_NV_evaluators", extStart, extEnd); if (glewExperimental || GLEW_NV_evaluators) CONST_CAST(GLEW_NV_evaluators) = !_glewInit_GL_NV_evaluators(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_evaluators */ #ifdef GL_NV_explicit_multisample CONST_CAST(GLEW_NV_explicit_multisample) = _glewSearchExtension("GL_NV_explicit_multisample", extStart, extEnd); if (glewExperimental || GLEW_NV_explicit_multisample) CONST_CAST(GLEW_NV_explicit_multisample) = !_glewInit_GL_NV_explicit_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_explicit_multisample */ #ifdef GL_NV_fence CONST_CAST(GLEW_NV_fence) = _glewSearchExtension("GL_NV_fence", extStart, extEnd); if (glewExperimental || GLEW_NV_fence) CONST_CAST(GLEW_NV_fence) = !_glewInit_GL_NV_fence(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_fence */ #ifdef GL_NV_float_buffer CONST_CAST(GLEW_NV_float_buffer) = _glewSearchExtension("GL_NV_float_buffer", extStart, extEnd); #endif /* GL_NV_float_buffer */ #ifdef GL_NV_fog_distance CONST_CAST(GLEW_NV_fog_distance) = _glewSearchExtension("GL_NV_fog_distance", extStart, extEnd); #endif /* GL_NV_fog_distance */ #ifdef GL_NV_fragment_program CONST_CAST(GLEW_NV_fragment_program) = _glewSearchExtension("GL_NV_fragment_program", extStart, extEnd); if (glewExperimental || GLEW_NV_fragment_program) CONST_CAST(GLEW_NV_fragment_program) = !_glewInit_GL_NV_fragment_program(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_fragment_program */ #ifdef GL_NV_fragment_program2 CONST_CAST(GLEW_NV_fragment_program2) = _glewSearchExtension("GL_NV_fragment_program2", extStart, extEnd); #endif /* GL_NV_fragment_program2 */ #ifdef GL_NV_fragment_program4 CONST_CAST(GLEW_NV_fragment_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd); #endif /* GL_NV_fragment_program4 */ #ifdef GL_NV_fragment_program_option CONST_CAST(GLEW_NV_fragment_program_option) = _glewSearchExtension("GL_NV_fragment_program_option", extStart, extEnd); #endif /* GL_NV_fragment_program_option */ #ifdef GL_NV_framebuffer_multisample_coverage CONST_CAST(GLEW_NV_framebuffer_multisample_coverage) = _glewSearchExtension("GL_NV_framebuffer_multisample_coverage", extStart, extEnd); if (glewExperimental || GLEW_NV_framebuffer_multisample_coverage) CONST_CAST(GLEW_NV_framebuffer_multisample_coverage) = !_glewInit_GL_NV_framebuffer_multisample_coverage(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_framebuffer_multisample_coverage */ #ifdef GL_NV_geometry_program4 CONST_CAST(GLEW_NV_geometry_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd); if (glewExperimental || GLEW_NV_geometry_program4) CONST_CAST(GLEW_NV_geometry_program4) = !_glewInit_GL_NV_geometry_program4(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_geometry_program4 */ #ifdef GL_NV_geometry_shader4 CONST_CAST(GLEW_NV_geometry_shader4) = _glewSearchExtension("GL_NV_geometry_shader4", extStart, extEnd); #endif /* GL_NV_geometry_shader4 */ #ifdef GL_NV_gpu_program4 CONST_CAST(GLEW_NV_gpu_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd); if (glewExperimental || GLEW_NV_gpu_program4) CONST_CAST(GLEW_NV_gpu_program4) = !_glewInit_GL_NV_gpu_program4(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_gpu_program4 */ #ifdef GL_NV_gpu_program5 CONST_CAST(GLEW_NV_gpu_program5) = _glewSearchExtension("GL_NV_gpu_program5", extStart, extEnd); #endif /* GL_NV_gpu_program5 */ #ifdef GL_NV_gpu_program5_mem_extended CONST_CAST(GLEW_NV_gpu_program5_mem_extended) = _glewSearchExtension("GL_NV_gpu_program5_mem_extended", extStart, extEnd); #endif /* GL_NV_gpu_program5_mem_extended */ #ifdef GL_NV_gpu_program_fp64 CONST_CAST(GLEW_NV_gpu_program_fp64) = _glewSearchExtension("GL_NV_gpu_program_fp64", extStart, extEnd); #endif /* GL_NV_gpu_program_fp64 */ #ifdef GL_NV_gpu_shader5 CONST_CAST(GLEW_NV_gpu_shader5) = _glewSearchExtension("GL_NV_gpu_shader5", extStart, extEnd); if (glewExperimental || GLEW_NV_gpu_shader5) CONST_CAST(GLEW_NV_gpu_shader5) = !_glewInit_GL_NV_gpu_shader5(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_gpu_shader5 */ #ifdef GL_NV_half_float CONST_CAST(GLEW_NV_half_float) = _glewSearchExtension("GL_NV_half_float", extStart, extEnd); if (glewExperimental || GLEW_NV_half_float) CONST_CAST(GLEW_NV_half_float) = !_glewInit_GL_NV_half_float(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_half_float */ #ifdef GL_NV_light_max_exponent CONST_CAST(GLEW_NV_light_max_exponent) = _glewSearchExtension("GL_NV_light_max_exponent", extStart, extEnd); #endif /* GL_NV_light_max_exponent */ #ifdef GL_NV_multisample_coverage CONST_CAST(GLEW_NV_multisample_coverage) = _glewSearchExtension("GL_NV_multisample_coverage", extStart, extEnd); #endif /* GL_NV_multisample_coverage */ #ifdef GL_NV_multisample_filter_hint CONST_CAST(GLEW_NV_multisample_filter_hint) = _glewSearchExtension("GL_NV_multisample_filter_hint", extStart, extEnd); #endif /* GL_NV_multisample_filter_hint */ #ifdef GL_NV_occlusion_query CONST_CAST(GLEW_NV_occlusion_query) = _glewSearchExtension("GL_NV_occlusion_query", extStart, extEnd); if (glewExperimental || GLEW_NV_occlusion_query) CONST_CAST(GLEW_NV_occlusion_query) = !_glewInit_GL_NV_occlusion_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_occlusion_query */ #ifdef GL_NV_packed_depth_stencil CONST_CAST(GLEW_NV_packed_depth_stencil) = _glewSearchExtension("GL_NV_packed_depth_stencil", extStart, extEnd); #endif /* GL_NV_packed_depth_stencil */ #ifdef GL_NV_parameter_buffer_object CONST_CAST(GLEW_NV_parameter_buffer_object) = _glewSearchExtension("GL_NV_parameter_buffer_object", extStart, extEnd); if (glewExperimental || GLEW_NV_parameter_buffer_object) CONST_CAST(GLEW_NV_parameter_buffer_object) = !_glewInit_GL_NV_parameter_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_parameter_buffer_object */ #ifdef GL_NV_parameter_buffer_object2 CONST_CAST(GLEW_NV_parameter_buffer_object2) = _glewSearchExtension("GL_NV_parameter_buffer_object2", extStart, extEnd); #endif /* GL_NV_parameter_buffer_object2 */ #ifdef GL_NV_path_rendering CONST_CAST(GLEW_NV_path_rendering) = _glewSearchExtension("GL_NV_path_rendering", extStart, extEnd); if (glewExperimental || GLEW_NV_path_rendering) CONST_CAST(GLEW_NV_path_rendering) = !_glewInit_GL_NV_path_rendering(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_path_rendering */ #ifdef GL_NV_pixel_data_range CONST_CAST(GLEW_NV_pixel_data_range) = _glewSearchExtension("GL_NV_pixel_data_range", extStart, extEnd); if (glewExperimental || GLEW_NV_pixel_data_range) CONST_CAST(GLEW_NV_pixel_data_range) = !_glewInit_GL_NV_pixel_data_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_pixel_data_range */ #ifdef GL_NV_point_sprite CONST_CAST(GLEW_NV_point_sprite) = _glewSearchExtension("GL_NV_point_sprite", extStart, extEnd); if (glewExperimental || GLEW_NV_point_sprite) CONST_CAST(GLEW_NV_point_sprite) = !_glewInit_GL_NV_point_sprite(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_point_sprite */ #ifdef GL_NV_present_video CONST_CAST(GLEW_NV_present_video) = _glewSearchExtension("GL_NV_present_video", extStart, extEnd); if (glewExperimental || GLEW_NV_present_video) CONST_CAST(GLEW_NV_present_video) = !_glewInit_GL_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_present_video */ #ifdef GL_NV_primitive_restart CONST_CAST(GLEW_NV_primitive_restart) = _glewSearchExtension("GL_NV_primitive_restart", extStart, extEnd); if (glewExperimental || GLEW_NV_primitive_restart) CONST_CAST(GLEW_NV_primitive_restart) = !_glewInit_GL_NV_primitive_restart(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_primitive_restart */ #ifdef GL_NV_register_combiners CONST_CAST(GLEW_NV_register_combiners) = _glewSearchExtension("GL_NV_register_combiners", extStart, extEnd); if (glewExperimental || GLEW_NV_register_combiners) CONST_CAST(GLEW_NV_register_combiners) = !_glewInit_GL_NV_register_combiners(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_register_combiners */ #ifdef GL_NV_register_combiners2 CONST_CAST(GLEW_NV_register_combiners2) = _glewSearchExtension("GL_NV_register_combiners2", extStart, extEnd); if (glewExperimental || GLEW_NV_register_combiners2) CONST_CAST(GLEW_NV_register_combiners2) = !_glewInit_GL_NV_register_combiners2(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_register_combiners2 */ #ifdef GL_NV_shader_atomic_counters CONST_CAST(GLEW_NV_shader_atomic_counters) = _glewSearchExtension("GL_NV_shader_atomic_counters", extStart, extEnd); #endif /* GL_NV_shader_atomic_counters */ #ifdef GL_NV_shader_atomic_float CONST_CAST(GLEW_NV_shader_atomic_float) = _glewSearchExtension("GL_NV_shader_atomic_float", extStart, extEnd); #endif /* GL_NV_shader_atomic_float */ #ifdef GL_NV_shader_buffer_load CONST_CAST(GLEW_NV_shader_buffer_load) = _glewSearchExtension("GL_NV_shader_buffer_load", extStart, extEnd); if (glewExperimental || GLEW_NV_shader_buffer_load) CONST_CAST(GLEW_NV_shader_buffer_load) = !_glewInit_GL_NV_shader_buffer_load(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_shader_buffer_load */ #ifdef GL_NV_shader_storage_buffer_object CONST_CAST(GLEW_NV_shader_storage_buffer_object) = _glewSearchExtension("GL_NV_shader_storage_buffer_object", extStart, extEnd); #endif /* GL_NV_shader_storage_buffer_object */ #ifdef GL_NV_tessellation_program5 CONST_CAST(GLEW_NV_tessellation_program5) = _glewSearchExtension("GL_NV_gpu_program5", extStart, extEnd); #endif /* GL_NV_tessellation_program5 */ #ifdef GL_NV_texgen_emboss CONST_CAST(GLEW_NV_texgen_emboss) = _glewSearchExtension("GL_NV_texgen_emboss", extStart, extEnd); #endif /* GL_NV_texgen_emboss */ #ifdef GL_NV_texgen_reflection CONST_CAST(GLEW_NV_texgen_reflection) = _glewSearchExtension("GL_NV_texgen_reflection", extStart, extEnd); #endif /* GL_NV_texgen_reflection */ #ifdef GL_NV_texture_barrier CONST_CAST(GLEW_NV_texture_barrier) = _glewSearchExtension("GL_NV_texture_barrier", extStart, extEnd); if (glewExperimental || GLEW_NV_texture_barrier) CONST_CAST(GLEW_NV_texture_barrier) = !_glewInit_GL_NV_texture_barrier(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_texture_barrier */ #ifdef GL_NV_texture_compression_vtc CONST_CAST(GLEW_NV_texture_compression_vtc) = _glewSearchExtension("GL_NV_texture_compression_vtc", extStart, extEnd); #endif /* GL_NV_texture_compression_vtc */ #ifdef GL_NV_texture_env_combine4 CONST_CAST(GLEW_NV_texture_env_combine4) = _glewSearchExtension("GL_NV_texture_env_combine4", extStart, extEnd); #endif /* GL_NV_texture_env_combine4 */ #ifdef GL_NV_texture_expand_normal CONST_CAST(GLEW_NV_texture_expand_normal) = _glewSearchExtension("GL_NV_texture_expand_normal", extStart, extEnd); #endif /* GL_NV_texture_expand_normal */ #ifdef GL_NV_texture_multisample CONST_CAST(GLEW_NV_texture_multisample) = _glewSearchExtension("GL_NV_texture_multisample", extStart, extEnd); if (glewExperimental || GLEW_NV_texture_multisample) CONST_CAST(GLEW_NV_texture_multisample) = !_glewInit_GL_NV_texture_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_texture_multisample */ #ifdef GL_NV_texture_rectangle CONST_CAST(GLEW_NV_texture_rectangle) = _glewSearchExtension("GL_NV_texture_rectangle", extStart, extEnd); #endif /* GL_NV_texture_rectangle */ #ifdef GL_NV_texture_shader CONST_CAST(GLEW_NV_texture_shader) = _glewSearchExtension("GL_NV_texture_shader", extStart, extEnd); #endif /* GL_NV_texture_shader */ #ifdef GL_NV_texture_shader2 CONST_CAST(GLEW_NV_texture_shader2) = _glewSearchExtension("GL_NV_texture_shader2", extStart, extEnd); #endif /* GL_NV_texture_shader2 */ #ifdef GL_NV_texture_shader3 CONST_CAST(GLEW_NV_texture_shader3) = _glewSearchExtension("GL_NV_texture_shader3", extStart, extEnd); #endif /* GL_NV_texture_shader3 */ #ifdef GL_NV_transform_feedback CONST_CAST(GLEW_NV_transform_feedback) = _glewSearchExtension("GL_NV_transform_feedback", extStart, extEnd); if (glewExperimental || GLEW_NV_transform_feedback) CONST_CAST(GLEW_NV_transform_feedback) = !_glewInit_GL_NV_transform_feedback(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_transform_feedback */ #ifdef GL_NV_transform_feedback2 CONST_CAST(GLEW_NV_transform_feedback2) = _glewSearchExtension("GL_NV_transform_feedback2", extStart, extEnd); if (glewExperimental || GLEW_NV_transform_feedback2) CONST_CAST(GLEW_NV_transform_feedback2) = !_glewInit_GL_NV_transform_feedback2(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_transform_feedback2 */ #ifdef GL_NV_vdpau_interop CONST_CAST(GLEW_NV_vdpau_interop) = _glewSearchExtension("GL_NV_vdpau_interop", extStart, extEnd); if (glewExperimental || GLEW_NV_vdpau_interop) CONST_CAST(GLEW_NV_vdpau_interop) = !_glewInit_GL_NV_vdpau_interop(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_vdpau_interop */ #ifdef GL_NV_vertex_array_range CONST_CAST(GLEW_NV_vertex_array_range) = _glewSearchExtension("GL_NV_vertex_array_range", extStart, extEnd); if (glewExperimental || GLEW_NV_vertex_array_range) CONST_CAST(GLEW_NV_vertex_array_range) = !_glewInit_GL_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_vertex_array_range */ #ifdef GL_NV_vertex_array_range2 CONST_CAST(GLEW_NV_vertex_array_range2) = _glewSearchExtension("GL_NV_vertex_array_range2", extStart, extEnd); #endif /* GL_NV_vertex_array_range2 */ #ifdef GL_NV_vertex_attrib_integer_64bit CONST_CAST(GLEW_NV_vertex_attrib_integer_64bit) = _glewSearchExtension("GL_NV_vertex_attrib_integer_64bit", extStart, extEnd); if (glewExperimental || GLEW_NV_vertex_attrib_integer_64bit) CONST_CAST(GLEW_NV_vertex_attrib_integer_64bit) = !_glewInit_GL_NV_vertex_attrib_integer_64bit(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_vertex_attrib_integer_64bit */ #ifdef GL_NV_vertex_buffer_unified_memory CONST_CAST(GLEW_NV_vertex_buffer_unified_memory) = _glewSearchExtension("GL_NV_vertex_buffer_unified_memory", extStart, extEnd); if (glewExperimental || GLEW_NV_vertex_buffer_unified_memory) CONST_CAST(GLEW_NV_vertex_buffer_unified_memory) = !_glewInit_GL_NV_vertex_buffer_unified_memory(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_vertex_buffer_unified_memory */ #ifdef GL_NV_vertex_program CONST_CAST(GLEW_NV_vertex_program) = _glewSearchExtension("GL_NV_vertex_program", extStart, extEnd); if (glewExperimental || GLEW_NV_vertex_program) CONST_CAST(GLEW_NV_vertex_program) = !_glewInit_GL_NV_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_vertex_program */ #ifdef GL_NV_vertex_program1_1 CONST_CAST(GLEW_NV_vertex_program1_1) = _glewSearchExtension("GL_NV_vertex_program1_1", extStart, extEnd); #endif /* GL_NV_vertex_program1_1 */ #ifdef GL_NV_vertex_program2 CONST_CAST(GLEW_NV_vertex_program2) = _glewSearchExtension("GL_NV_vertex_program2", extStart, extEnd); #endif /* GL_NV_vertex_program2 */ #ifdef GL_NV_vertex_program2_option CONST_CAST(GLEW_NV_vertex_program2_option) = _glewSearchExtension("GL_NV_vertex_program2_option", extStart, extEnd); #endif /* GL_NV_vertex_program2_option */ #ifdef GL_NV_vertex_program3 CONST_CAST(GLEW_NV_vertex_program3) = _glewSearchExtension("GL_NV_vertex_program3", extStart, extEnd); #endif /* GL_NV_vertex_program3 */ #ifdef GL_NV_vertex_program4 CONST_CAST(GLEW_NV_vertex_program4) = _glewSearchExtension("GL_NV_gpu_program4", extStart, extEnd); #endif /* GL_NV_vertex_program4 */ #ifdef GL_NV_video_capture CONST_CAST(GLEW_NV_video_capture) = _glewSearchExtension("GL_NV_video_capture", extStart, extEnd); if (glewExperimental || GLEW_NV_video_capture) CONST_CAST(GLEW_NV_video_capture) = !_glewInit_GL_NV_video_capture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_NV_video_capture */ #ifdef GL_OES_byte_coordinates CONST_CAST(GLEW_OES_byte_coordinates) = _glewSearchExtension("GL_OES_byte_coordinates", extStart, extEnd); #endif /* GL_OES_byte_coordinates */ #ifdef GL_OES_compressed_paletted_texture CONST_CAST(GLEW_OES_compressed_paletted_texture) = _glewSearchExtension("GL_OES_compressed_paletted_texture", extStart, extEnd); #endif /* GL_OES_compressed_paletted_texture */ #ifdef GL_OES_read_format CONST_CAST(GLEW_OES_read_format) = _glewSearchExtension("GL_OES_read_format", extStart, extEnd); #endif /* GL_OES_read_format */ #ifdef GL_OES_single_precision CONST_CAST(GLEW_OES_single_precision) = _glewSearchExtension("GL_OES_single_precision", extStart, extEnd); if (glewExperimental || GLEW_OES_single_precision) CONST_CAST(GLEW_OES_single_precision) = !_glewInit_GL_OES_single_precision(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_OES_single_precision */ #ifdef GL_OML_interlace CONST_CAST(GLEW_OML_interlace) = _glewSearchExtension("GL_OML_interlace", extStart, extEnd); #endif /* GL_OML_interlace */ #ifdef GL_OML_resample CONST_CAST(GLEW_OML_resample) = _glewSearchExtension("GL_OML_resample", extStart, extEnd); #endif /* GL_OML_resample */ #ifdef GL_OML_subsample CONST_CAST(GLEW_OML_subsample) = _glewSearchExtension("GL_OML_subsample", extStart, extEnd); #endif /* GL_OML_subsample */ #ifdef GL_PGI_misc_hints CONST_CAST(GLEW_PGI_misc_hints) = _glewSearchExtension("GL_PGI_misc_hints", extStart, extEnd); #endif /* GL_PGI_misc_hints */ #ifdef GL_PGI_vertex_hints CONST_CAST(GLEW_PGI_vertex_hints) = _glewSearchExtension("GL_PGI_vertex_hints", extStart, extEnd); #endif /* GL_PGI_vertex_hints */ #ifdef GL_REGAL_ES1_0_compatibility CONST_CAST(GLEW_REGAL_ES1_0_compatibility) = _glewSearchExtension("GL_REGAL_ES1_0_compatibility", extStart, extEnd); if (glewExperimental || GLEW_REGAL_ES1_0_compatibility) CONST_CAST(GLEW_REGAL_ES1_0_compatibility) = !_glewInit_GL_REGAL_ES1_0_compatibility(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_REGAL_ES1_0_compatibility */ #ifdef GL_REGAL_ES1_1_compatibility CONST_CAST(GLEW_REGAL_ES1_1_compatibility) = _glewSearchExtension("GL_REGAL_ES1_1_compatibility", extStart, extEnd); if (glewExperimental || GLEW_REGAL_ES1_1_compatibility) CONST_CAST(GLEW_REGAL_ES1_1_compatibility) = !_glewInit_GL_REGAL_ES1_1_compatibility(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_REGAL_ES1_1_compatibility */ #ifdef GL_REGAL_enable CONST_CAST(GLEW_REGAL_enable) = _glewSearchExtension("GL_REGAL_enable", extStart, extEnd); #endif /* GL_REGAL_enable */ #ifdef GL_REGAL_error_string CONST_CAST(GLEW_REGAL_error_string) = _glewSearchExtension("GL_REGAL_error_string", extStart, extEnd); if (glewExperimental || GLEW_REGAL_error_string) CONST_CAST(GLEW_REGAL_error_string) = !_glewInit_GL_REGAL_error_string(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_REGAL_error_string */ #ifdef GL_REGAL_extension_query CONST_CAST(GLEW_REGAL_extension_query) = _glewSearchExtension("GL_REGAL_extension_query", extStart, extEnd); if (glewExperimental || GLEW_REGAL_extension_query) CONST_CAST(GLEW_REGAL_extension_query) = !_glewInit_GL_REGAL_extension_query(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_REGAL_extension_query */ #ifdef GL_REGAL_log CONST_CAST(GLEW_REGAL_log) = _glewSearchExtension("GL_REGAL_log", extStart, extEnd); if (glewExperimental || GLEW_REGAL_log) CONST_CAST(GLEW_REGAL_log) = !_glewInit_GL_REGAL_log(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_REGAL_log */ #ifdef GL_REND_screen_coordinates CONST_CAST(GLEW_REND_screen_coordinates) = _glewSearchExtension("GL_REND_screen_coordinates", extStart, extEnd); #endif /* GL_REND_screen_coordinates */ #ifdef GL_S3_s3tc CONST_CAST(GLEW_S3_s3tc) = _glewSearchExtension("GL_S3_s3tc", extStart, extEnd); #endif /* GL_S3_s3tc */ #ifdef GL_SGIS_color_range CONST_CAST(GLEW_SGIS_color_range) = _glewSearchExtension("GL_SGIS_color_range", extStart, extEnd); #endif /* GL_SGIS_color_range */ #ifdef GL_SGIS_detail_texture CONST_CAST(GLEW_SGIS_detail_texture) = _glewSearchExtension("GL_SGIS_detail_texture", extStart, extEnd); if (glewExperimental || GLEW_SGIS_detail_texture) CONST_CAST(GLEW_SGIS_detail_texture) = !_glewInit_GL_SGIS_detail_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIS_detail_texture */ #ifdef GL_SGIS_fog_function CONST_CAST(GLEW_SGIS_fog_function) = _glewSearchExtension("GL_SGIS_fog_function", extStart, extEnd); if (glewExperimental || GLEW_SGIS_fog_function) CONST_CAST(GLEW_SGIS_fog_function) = !_glewInit_GL_SGIS_fog_function(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIS_fog_function */ #ifdef GL_SGIS_generate_mipmap CONST_CAST(GLEW_SGIS_generate_mipmap) = _glewSearchExtension("GL_SGIS_generate_mipmap", extStart, extEnd); #endif /* GL_SGIS_generate_mipmap */ #ifdef GL_SGIS_multisample CONST_CAST(GLEW_SGIS_multisample) = _glewSearchExtension("GL_SGIS_multisample", extStart, extEnd); if (glewExperimental || GLEW_SGIS_multisample) CONST_CAST(GLEW_SGIS_multisample) = !_glewInit_GL_SGIS_multisample(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIS_multisample */ #ifdef GL_SGIS_pixel_texture CONST_CAST(GLEW_SGIS_pixel_texture) = _glewSearchExtension("GL_SGIS_pixel_texture", extStart, extEnd); #endif /* GL_SGIS_pixel_texture */ #ifdef GL_SGIS_point_line_texgen CONST_CAST(GLEW_SGIS_point_line_texgen) = _glewSearchExtension("GL_SGIS_point_line_texgen", extStart, extEnd); #endif /* GL_SGIS_point_line_texgen */ #ifdef GL_SGIS_sharpen_texture CONST_CAST(GLEW_SGIS_sharpen_texture) = _glewSearchExtension("GL_SGIS_sharpen_texture", extStart, extEnd); if (glewExperimental || GLEW_SGIS_sharpen_texture) CONST_CAST(GLEW_SGIS_sharpen_texture) = !_glewInit_GL_SGIS_sharpen_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIS_sharpen_texture */ #ifdef GL_SGIS_texture4D CONST_CAST(GLEW_SGIS_texture4D) = _glewSearchExtension("GL_SGIS_texture4D", extStart, extEnd); if (glewExperimental || GLEW_SGIS_texture4D) CONST_CAST(GLEW_SGIS_texture4D) = !_glewInit_GL_SGIS_texture4D(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIS_texture4D */ #ifdef GL_SGIS_texture_border_clamp CONST_CAST(GLEW_SGIS_texture_border_clamp) = _glewSearchExtension("GL_SGIS_texture_border_clamp", extStart, extEnd); #endif /* GL_SGIS_texture_border_clamp */ #ifdef GL_SGIS_texture_edge_clamp CONST_CAST(GLEW_SGIS_texture_edge_clamp) = _glewSearchExtension("GL_SGIS_texture_edge_clamp", extStart, extEnd); #endif /* GL_SGIS_texture_edge_clamp */ #ifdef GL_SGIS_texture_filter4 CONST_CAST(GLEW_SGIS_texture_filter4) = _glewSearchExtension("GL_SGIS_texture_filter4", extStart, extEnd); if (glewExperimental || GLEW_SGIS_texture_filter4) CONST_CAST(GLEW_SGIS_texture_filter4) = !_glewInit_GL_SGIS_texture_filter4(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIS_texture_filter4 */ #ifdef GL_SGIS_texture_lod CONST_CAST(GLEW_SGIS_texture_lod) = _glewSearchExtension("GL_SGIS_texture_lod", extStart, extEnd); #endif /* GL_SGIS_texture_lod */ #ifdef GL_SGIS_texture_select CONST_CAST(GLEW_SGIS_texture_select) = _glewSearchExtension("GL_SGIS_texture_select", extStart, extEnd); #endif /* GL_SGIS_texture_select */ #ifdef GL_SGIX_async CONST_CAST(GLEW_SGIX_async) = _glewSearchExtension("GL_SGIX_async", extStart, extEnd); if (glewExperimental || GLEW_SGIX_async) CONST_CAST(GLEW_SGIX_async) = !_glewInit_GL_SGIX_async(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_async */ #ifdef GL_SGIX_async_histogram CONST_CAST(GLEW_SGIX_async_histogram) = _glewSearchExtension("GL_SGIX_async_histogram", extStart, extEnd); #endif /* GL_SGIX_async_histogram */ #ifdef GL_SGIX_async_pixel CONST_CAST(GLEW_SGIX_async_pixel) = _glewSearchExtension("GL_SGIX_async_pixel", extStart, extEnd); #endif /* GL_SGIX_async_pixel */ #ifdef GL_SGIX_blend_alpha_minmax CONST_CAST(GLEW_SGIX_blend_alpha_minmax) = _glewSearchExtension("GL_SGIX_blend_alpha_minmax", extStart, extEnd); #endif /* GL_SGIX_blend_alpha_minmax */ #ifdef GL_SGIX_clipmap CONST_CAST(GLEW_SGIX_clipmap) = _glewSearchExtension("GL_SGIX_clipmap", extStart, extEnd); #endif /* GL_SGIX_clipmap */ #ifdef GL_SGIX_convolution_accuracy CONST_CAST(GLEW_SGIX_convolution_accuracy) = _glewSearchExtension("GL_SGIX_convolution_accuracy", extStart, extEnd); #endif /* GL_SGIX_convolution_accuracy */ #ifdef GL_SGIX_depth_texture CONST_CAST(GLEW_SGIX_depth_texture) = _glewSearchExtension("GL_SGIX_depth_texture", extStart, extEnd); #endif /* GL_SGIX_depth_texture */ #ifdef GL_SGIX_flush_raster CONST_CAST(GLEW_SGIX_flush_raster) = _glewSearchExtension("GL_SGIX_flush_raster", extStart, extEnd); if (glewExperimental || GLEW_SGIX_flush_raster) CONST_CAST(GLEW_SGIX_flush_raster) = !_glewInit_GL_SGIX_flush_raster(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_flush_raster */ #ifdef GL_SGIX_fog_offset CONST_CAST(GLEW_SGIX_fog_offset) = _glewSearchExtension("GL_SGIX_fog_offset", extStart, extEnd); #endif /* GL_SGIX_fog_offset */ #ifdef GL_SGIX_fog_texture CONST_CAST(GLEW_SGIX_fog_texture) = _glewSearchExtension("GL_SGIX_fog_texture", extStart, extEnd); if (glewExperimental || GLEW_SGIX_fog_texture) CONST_CAST(GLEW_SGIX_fog_texture) = !_glewInit_GL_SGIX_fog_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_fog_texture */ #ifdef GL_SGIX_fragment_specular_lighting CONST_CAST(GLEW_SGIX_fragment_specular_lighting) = _glewSearchExtension("GL_SGIX_fragment_specular_lighting", extStart, extEnd); if (glewExperimental || GLEW_SGIX_fragment_specular_lighting) CONST_CAST(GLEW_SGIX_fragment_specular_lighting) = !_glewInit_GL_SGIX_fragment_specular_lighting(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_fragment_specular_lighting */ #ifdef GL_SGIX_framezoom CONST_CAST(GLEW_SGIX_framezoom) = _glewSearchExtension("GL_SGIX_framezoom", extStart, extEnd); if (glewExperimental || GLEW_SGIX_framezoom) CONST_CAST(GLEW_SGIX_framezoom) = !_glewInit_GL_SGIX_framezoom(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_framezoom */ #ifdef GL_SGIX_interlace CONST_CAST(GLEW_SGIX_interlace) = _glewSearchExtension("GL_SGIX_interlace", extStart, extEnd); #endif /* GL_SGIX_interlace */ #ifdef GL_SGIX_ir_instrument1 CONST_CAST(GLEW_SGIX_ir_instrument1) = _glewSearchExtension("GL_SGIX_ir_instrument1", extStart, extEnd); #endif /* GL_SGIX_ir_instrument1 */ #ifdef GL_SGIX_list_priority CONST_CAST(GLEW_SGIX_list_priority) = _glewSearchExtension("GL_SGIX_list_priority", extStart, extEnd); #endif /* GL_SGIX_list_priority */ #ifdef GL_SGIX_pixel_texture CONST_CAST(GLEW_SGIX_pixel_texture) = _glewSearchExtension("GL_SGIX_pixel_texture", extStart, extEnd); if (glewExperimental || GLEW_SGIX_pixel_texture) CONST_CAST(GLEW_SGIX_pixel_texture) = !_glewInit_GL_SGIX_pixel_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_pixel_texture */ #ifdef GL_SGIX_pixel_texture_bits CONST_CAST(GLEW_SGIX_pixel_texture_bits) = _glewSearchExtension("GL_SGIX_pixel_texture_bits", extStart, extEnd); #endif /* GL_SGIX_pixel_texture_bits */ #ifdef GL_SGIX_reference_plane CONST_CAST(GLEW_SGIX_reference_plane) = _glewSearchExtension("GL_SGIX_reference_plane", extStart, extEnd); if (glewExperimental || GLEW_SGIX_reference_plane) CONST_CAST(GLEW_SGIX_reference_plane) = !_glewInit_GL_SGIX_reference_plane(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_reference_plane */ #ifdef GL_SGIX_resample CONST_CAST(GLEW_SGIX_resample) = _glewSearchExtension("GL_SGIX_resample", extStart, extEnd); #endif /* GL_SGIX_resample */ #ifdef GL_SGIX_shadow CONST_CAST(GLEW_SGIX_shadow) = _glewSearchExtension("GL_SGIX_shadow", extStart, extEnd); #endif /* GL_SGIX_shadow */ #ifdef GL_SGIX_shadow_ambient CONST_CAST(GLEW_SGIX_shadow_ambient) = _glewSearchExtension("GL_SGIX_shadow_ambient", extStart, extEnd); #endif /* GL_SGIX_shadow_ambient */ #ifdef GL_SGIX_sprite CONST_CAST(GLEW_SGIX_sprite) = _glewSearchExtension("GL_SGIX_sprite", extStart, extEnd); if (glewExperimental || GLEW_SGIX_sprite) CONST_CAST(GLEW_SGIX_sprite) = !_glewInit_GL_SGIX_sprite(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_sprite */ #ifdef GL_SGIX_tag_sample_buffer CONST_CAST(GLEW_SGIX_tag_sample_buffer) = _glewSearchExtension("GL_SGIX_tag_sample_buffer", extStart, extEnd); if (glewExperimental || GLEW_SGIX_tag_sample_buffer) CONST_CAST(GLEW_SGIX_tag_sample_buffer) = !_glewInit_GL_SGIX_tag_sample_buffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGIX_tag_sample_buffer */ #ifdef GL_SGIX_texture_add_env CONST_CAST(GLEW_SGIX_texture_add_env) = _glewSearchExtension("GL_SGIX_texture_add_env", extStart, extEnd); #endif /* GL_SGIX_texture_add_env */ #ifdef GL_SGIX_texture_coordinate_clamp CONST_CAST(GLEW_SGIX_texture_coordinate_clamp) = _glewSearchExtension("GL_SGIX_texture_coordinate_clamp", extStart, extEnd); #endif /* GL_SGIX_texture_coordinate_clamp */ #ifdef GL_SGIX_texture_lod_bias CONST_CAST(GLEW_SGIX_texture_lod_bias) = _glewSearchExtension("GL_SGIX_texture_lod_bias", extStart, extEnd); #endif /* GL_SGIX_texture_lod_bias */ #ifdef GL_SGIX_texture_multi_buffer CONST_CAST(GLEW_SGIX_texture_multi_buffer) = _glewSearchExtension("GL_SGIX_texture_multi_buffer", extStart, extEnd); #endif /* GL_SGIX_texture_multi_buffer */ #ifdef GL_SGIX_texture_range CONST_CAST(GLEW_SGIX_texture_range) = _glewSearchExtension("GL_SGIX_texture_range", extStart, extEnd); #endif /* GL_SGIX_texture_range */ #ifdef GL_SGIX_texture_scale_bias CONST_CAST(GLEW_SGIX_texture_scale_bias) = _glewSearchExtension("GL_SGIX_texture_scale_bias", extStart, extEnd); #endif /* GL_SGIX_texture_scale_bias */ #ifdef GL_SGIX_vertex_preclip CONST_CAST(GLEW_SGIX_vertex_preclip) = _glewSearchExtension("GL_SGIX_vertex_preclip", extStart, extEnd); #endif /* GL_SGIX_vertex_preclip */ #ifdef GL_SGIX_vertex_preclip_hint CONST_CAST(GLEW_SGIX_vertex_preclip_hint) = _glewSearchExtension("GL_SGIX_vertex_preclip_hint", extStart, extEnd); #endif /* GL_SGIX_vertex_preclip_hint */ #ifdef GL_SGIX_ycrcb CONST_CAST(GLEW_SGIX_ycrcb) = _glewSearchExtension("GL_SGIX_ycrcb", extStart, extEnd); #endif /* GL_SGIX_ycrcb */ #ifdef GL_SGI_color_matrix CONST_CAST(GLEW_SGI_color_matrix) = _glewSearchExtension("GL_SGI_color_matrix", extStart, extEnd); #endif /* GL_SGI_color_matrix */ #ifdef GL_SGI_color_table CONST_CAST(GLEW_SGI_color_table) = _glewSearchExtension("GL_SGI_color_table", extStart, extEnd); if (glewExperimental || GLEW_SGI_color_table) CONST_CAST(GLEW_SGI_color_table) = !_glewInit_GL_SGI_color_table(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SGI_color_table */ #ifdef GL_SGI_texture_color_table CONST_CAST(GLEW_SGI_texture_color_table) = _glewSearchExtension("GL_SGI_texture_color_table", extStart, extEnd); #endif /* GL_SGI_texture_color_table */ #ifdef GL_SUNX_constant_data CONST_CAST(GLEW_SUNX_constant_data) = _glewSearchExtension("GL_SUNX_constant_data", extStart, extEnd); if (glewExperimental || GLEW_SUNX_constant_data) CONST_CAST(GLEW_SUNX_constant_data) = !_glewInit_GL_SUNX_constant_data(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SUNX_constant_data */ #ifdef GL_SUN_convolution_border_modes CONST_CAST(GLEW_SUN_convolution_border_modes) = _glewSearchExtension("GL_SUN_convolution_border_modes", extStart, extEnd); #endif /* GL_SUN_convolution_border_modes */ #ifdef GL_SUN_global_alpha CONST_CAST(GLEW_SUN_global_alpha) = _glewSearchExtension("GL_SUN_global_alpha", extStart, extEnd); if (glewExperimental || GLEW_SUN_global_alpha) CONST_CAST(GLEW_SUN_global_alpha) = !_glewInit_GL_SUN_global_alpha(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SUN_global_alpha */ #ifdef GL_SUN_mesh_array CONST_CAST(GLEW_SUN_mesh_array) = _glewSearchExtension("GL_SUN_mesh_array", extStart, extEnd); #endif /* GL_SUN_mesh_array */ #ifdef GL_SUN_read_video_pixels CONST_CAST(GLEW_SUN_read_video_pixels) = _glewSearchExtension("GL_SUN_read_video_pixels", extStart, extEnd); if (glewExperimental || GLEW_SUN_read_video_pixels) CONST_CAST(GLEW_SUN_read_video_pixels) = !_glewInit_GL_SUN_read_video_pixels(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SUN_read_video_pixels */ #ifdef GL_SUN_slice_accum CONST_CAST(GLEW_SUN_slice_accum) = _glewSearchExtension("GL_SUN_slice_accum", extStart, extEnd); #endif /* GL_SUN_slice_accum */ #ifdef GL_SUN_triangle_list CONST_CAST(GLEW_SUN_triangle_list) = _glewSearchExtension("GL_SUN_triangle_list", extStart, extEnd); if (glewExperimental || GLEW_SUN_triangle_list) CONST_CAST(GLEW_SUN_triangle_list) = !_glewInit_GL_SUN_triangle_list(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SUN_triangle_list */ #ifdef GL_SUN_vertex CONST_CAST(GLEW_SUN_vertex) = _glewSearchExtension("GL_SUN_vertex", extStart, extEnd); if (glewExperimental || GLEW_SUN_vertex) CONST_CAST(GLEW_SUN_vertex) = !_glewInit_GL_SUN_vertex(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_SUN_vertex */ #ifdef GL_WIN_phong_shading CONST_CAST(GLEW_WIN_phong_shading) = _glewSearchExtension("GL_WIN_phong_shading", extStart, extEnd); #endif /* GL_WIN_phong_shading */ #ifdef GL_WIN_specular_fog CONST_CAST(GLEW_WIN_specular_fog) = _glewSearchExtension("GL_WIN_specular_fog", extStart, extEnd); #endif /* GL_WIN_specular_fog */ #ifdef GL_WIN_swap_hint CONST_CAST(GLEW_WIN_swap_hint) = _glewSearchExtension("GL_WIN_swap_hint", extStart, extEnd); if (glewExperimental || GLEW_WIN_swap_hint) CONST_CAST(GLEW_WIN_swap_hint) = !_glewInit_GL_WIN_swap_hint(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GL_WIN_swap_hint */ return GLEW_OK; } #if defined(_WIN32) #if !defined(GLEW_MX) PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL = NULL; PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC __wglewBlitContextFramebufferAMD = NULL; PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC __wglewCreateAssociatedContextAMD = NULL; PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __wglewCreateAssociatedContextAttribsAMD = NULL; PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD = NULL; PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD = NULL; PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD = NULL; PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD = NULL; PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD = NULL; PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD = NULL; PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB = NULL; PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB = NULL; PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB = NULL; PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB = NULL; PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB = NULL; PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB = NULL; PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB = NULL; PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB = NULL; PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB = NULL; PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB = NULL; PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB = NULL; PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB = NULL; PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB = NULL; PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB = NULL; PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB = NULL; PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB = NULL; PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB = NULL; PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB = NULL; PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB = NULL; PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT = NULL; PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT = NULL; PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT = NULL; PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT = NULL; PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT = NULL; PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT = NULL; PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT = NULL; PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT = NULL; PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT = NULL; PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT = NULL; PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT = NULL; PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT = NULL; PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT = NULL; PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT = NULL; PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT = NULL; PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT = NULL; PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT = NULL; PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D = NULL; PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D = NULL; PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D = NULL; PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D = NULL; PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D = NULL; PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D = NULL; PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D = NULL; PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D = NULL; PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D = NULL; PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D = NULL; PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D = NULL; PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D = NULL; PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D = NULL; PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D = NULL; PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D = NULL; PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D = NULL; PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D = NULL; PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D = NULL; PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D = NULL; PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D = NULL; PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D = NULL; PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D = NULL; PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D = NULL; PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D = NULL; PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D = NULL; PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D = NULL; PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D = NULL; PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D = NULL; PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D = NULL; PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D = NULL; PFNWGLDXCLOSEDEVICENVPROC __wglewDXCloseDeviceNV = NULL; PFNWGLDXLOCKOBJECTSNVPROC __wglewDXLockObjectsNV = NULL; PFNWGLDXOBJECTACCESSNVPROC __wglewDXObjectAccessNV = NULL; PFNWGLDXOPENDEVICENVPROC __wglewDXOpenDeviceNV = NULL; PFNWGLDXREGISTEROBJECTNVPROC __wglewDXRegisterObjectNV = NULL; PFNWGLDXSETRESOURCESHAREHANDLENVPROC __wglewDXSetResourceShareHandleNV = NULL; PFNWGLDXUNLOCKOBJECTSNVPROC __wglewDXUnlockObjectsNV = NULL; PFNWGLDXUNREGISTEROBJECTNVPROC __wglewDXUnregisterObjectNV = NULL; PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV = NULL; PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV = NULL; PFNWGLDELETEDCNVPROC __wglewDeleteDCNV = NULL; PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV = NULL; PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV = NULL; PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV = NULL; PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV = NULL; PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV = NULL; PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV = NULL; PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV = NULL; PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV = NULL; PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV = NULL; PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV = NULL; PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV = NULL; PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV = NULL; PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV = NULL; PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV = NULL; PFNWGLBINDVIDEOCAPTUREDEVICENVPROC __wglewBindVideoCaptureDeviceNV = NULL; PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC __wglewEnumerateVideoCaptureDevicesNV = NULL; PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC __wglewLockVideoCaptureDeviceNV = NULL; PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC __wglewQueryVideoCaptureDeviceNV = NULL; PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC __wglewReleaseVideoCaptureDeviceNV = NULL; PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV = NULL; PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV = NULL; PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV = NULL; PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV = NULL; PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV = NULL; PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV = NULL; PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML = NULL; PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML = NULL; PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML = NULL; PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML = NULL; PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML = NULL; PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML = NULL; GLboolean __WGLEW_3DFX_multisample = GL_FALSE; GLboolean __WGLEW_3DL_stereo_control = GL_FALSE; GLboolean __WGLEW_AMD_gpu_association = GL_FALSE; GLboolean __WGLEW_ARB_buffer_region = GL_FALSE; GLboolean __WGLEW_ARB_create_context = GL_FALSE; GLboolean __WGLEW_ARB_create_context_profile = GL_FALSE; GLboolean __WGLEW_ARB_create_context_robustness = GL_FALSE; GLboolean __WGLEW_ARB_extensions_string = GL_FALSE; GLboolean __WGLEW_ARB_framebuffer_sRGB = GL_FALSE; GLboolean __WGLEW_ARB_make_current_read = GL_FALSE; GLboolean __WGLEW_ARB_multisample = GL_FALSE; GLboolean __WGLEW_ARB_pbuffer = GL_FALSE; GLboolean __WGLEW_ARB_pixel_format = GL_FALSE; GLboolean __WGLEW_ARB_pixel_format_float = GL_FALSE; GLboolean __WGLEW_ARB_render_texture = GL_FALSE; GLboolean __WGLEW_ARB_robustness_application_isolation = GL_FALSE; GLboolean __WGLEW_ARB_robustness_share_group_isolation = GL_FALSE; GLboolean __WGLEW_ATI_pixel_format_float = GL_FALSE; GLboolean __WGLEW_ATI_render_texture_rectangle = GL_FALSE; GLboolean __WGLEW_EXT_create_context_es2_profile = GL_FALSE; GLboolean __WGLEW_EXT_create_context_es_profile = GL_FALSE; GLboolean __WGLEW_EXT_depth_float = GL_FALSE; GLboolean __WGLEW_EXT_display_color_table = GL_FALSE; GLboolean __WGLEW_EXT_extensions_string = GL_FALSE; GLboolean __WGLEW_EXT_framebuffer_sRGB = GL_FALSE; GLboolean __WGLEW_EXT_make_current_read = GL_FALSE; GLboolean __WGLEW_EXT_multisample = GL_FALSE; GLboolean __WGLEW_EXT_pbuffer = GL_FALSE; GLboolean __WGLEW_EXT_pixel_format = GL_FALSE; GLboolean __WGLEW_EXT_pixel_format_packed_float = GL_FALSE; GLboolean __WGLEW_EXT_swap_control = GL_FALSE; GLboolean __WGLEW_EXT_swap_control_tear = GL_FALSE; GLboolean __WGLEW_I3D_digital_video_control = GL_FALSE; GLboolean __WGLEW_I3D_gamma = GL_FALSE; GLboolean __WGLEW_I3D_genlock = GL_FALSE; GLboolean __WGLEW_I3D_image_buffer = GL_FALSE; GLboolean __WGLEW_I3D_swap_frame_lock = GL_FALSE; GLboolean __WGLEW_I3D_swap_frame_usage = GL_FALSE; GLboolean __WGLEW_NV_DX_interop = GL_FALSE; GLboolean __WGLEW_NV_DX_interop2 = GL_FALSE; GLboolean __WGLEW_NV_copy_image = GL_FALSE; GLboolean __WGLEW_NV_float_buffer = GL_FALSE; GLboolean __WGLEW_NV_gpu_affinity = GL_FALSE; GLboolean __WGLEW_NV_multisample_coverage = GL_FALSE; GLboolean __WGLEW_NV_present_video = GL_FALSE; GLboolean __WGLEW_NV_render_depth_texture = GL_FALSE; GLboolean __WGLEW_NV_render_texture_rectangle = GL_FALSE; GLboolean __WGLEW_NV_swap_group = GL_FALSE; GLboolean __WGLEW_NV_vertex_array_range = GL_FALSE; GLboolean __WGLEW_NV_video_capture = GL_FALSE; GLboolean __WGLEW_NV_video_output = GL_FALSE; GLboolean __WGLEW_OML_sync_control = GL_FALSE; #endif /* !GLEW_MX */ #ifdef WGL_3DFX_multisample #endif /* WGL_3DFX_multisample */ #ifdef WGL_3DL_stereo_control static GLboolean _glewInit_WGL_3DL_stereo_control (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)glewGetProcAddress((const GLubyte*)"wglSetStereoEmitterState3DL")) == NULL) || r; return r; } #endif /* WGL_3DL_stereo_control */ #ifdef WGL_AMD_gpu_association static GLboolean _glewInit_WGL_AMD_gpu_association (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBlitContextFramebufferAMD = (PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)glewGetProcAddress((const GLubyte*)"wglBlitContextFramebufferAMD")) == NULL) || r; r = ((wglCreateAssociatedContextAMD = (PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"wglCreateAssociatedContextAMD")) == NULL) || r; r = ((wglCreateAssociatedContextAttribsAMD = (PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)glewGetProcAddress((const GLubyte*)"wglCreateAssociatedContextAttribsAMD")) == NULL) || r; r = ((wglDeleteAssociatedContextAMD = (PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"wglDeleteAssociatedContextAMD")) == NULL) || r; r = ((wglGetContextGPUIDAMD = (PFNWGLGETCONTEXTGPUIDAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetContextGPUIDAMD")) == NULL) || r; r = ((wglGetCurrentAssociatedContextAMD = (PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentAssociatedContextAMD")) == NULL) || r; r = ((wglGetGPUIDsAMD = (PFNWGLGETGPUIDSAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetGPUIDsAMD")) == NULL) || r; r = ((wglGetGPUInfoAMD = (PFNWGLGETGPUINFOAMDPROC)glewGetProcAddress((const GLubyte*)"wglGetGPUInfoAMD")) == NULL) || r; r = ((wglMakeAssociatedContextCurrentAMD = (PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)glewGetProcAddress((const GLubyte*)"wglMakeAssociatedContextCurrentAMD")) == NULL) || r; return r; } #endif /* WGL_AMD_gpu_association */ #ifdef WGL_ARB_buffer_region static GLboolean _glewInit_WGL_ARB_buffer_region (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglCreateBufferRegionARB = (PFNWGLCREATEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglCreateBufferRegionARB")) == NULL) || r; r = ((wglDeleteBufferRegionARB = (PFNWGLDELETEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglDeleteBufferRegionARB")) == NULL) || r; r = ((wglRestoreBufferRegionARB = (PFNWGLRESTOREBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglRestoreBufferRegionARB")) == NULL) || r; r = ((wglSaveBufferRegionARB = (PFNWGLSAVEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglSaveBufferRegionARB")) == NULL) || r; return r; } #endif /* WGL_ARB_buffer_region */ #ifdef WGL_ARB_create_context static GLboolean _glewInit_WGL_ARB_create_context (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)glewGetProcAddress((const GLubyte*)"wglCreateContextAttribsARB")) == NULL) || r; return r; } #endif /* WGL_ARB_create_context */ #ifdef WGL_ARB_create_context_profile #endif /* WGL_ARB_create_context_profile */ #ifdef WGL_ARB_create_context_robustness #endif /* WGL_ARB_create_context_robustness */ #ifdef WGL_ARB_extensions_string static GLboolean _glewInit_WGL_ARB_extensions_string (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB")) == NULL) || r; return r; } #endif /* WGL_ARB_extensions_string */ #ifdef WGL_ARB_framebuffer_sRGB #endif /* WGL_ARB_framebuffer_sRGB */ #ifdef WGL_ARB_make_current_read static GLboolean _glewInit_WGL_ARB_make_current_read (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetCurrentReadDCARB = (PFNWGLGETCURRENTREADDCARBPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentReadDCARB")) == NULL) || r; r = ((wglMakeContextCurrentARB = (PFNWGLMAKECONTEXTCURRENTARBPROC)glewGetProcAddress((const GLubyte*)"wglMakeContextCurrentARB")) == NULL) || r; return r; } #endif /* WGL_ARB_make_current_read */ #ifdef WGL_ARB_multisample #endif /* WGL_ARB_multisample */ #ifdef WGL_ARB_pbuffer static GLboolean _glewInit_WGL_ARB_pbuffer (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglCreatePbufferARB")) == NULL) || r; r = ((wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglDestroyPbufferARB")) == NULL) || r; r = ((wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPbufferDCARB")) == NULL) || r; r = ((wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglQueryPbufferARB")) == NULL) || r; r = ((wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)glewGetProcAddress((const GLubyte*)"wglReleasePbufferDCARB")) == NULL) || r; return r; } #endif /* WGL_ARB_pbuffer */ #ifdef WGL_ARB_pixel_format static GLboolean _glewInit_WGL_ARB_pixel_format (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)glewGetProcAddress((const GLubyte*)"wglChoosePixelFormatARB")) == NULL) || r; r = ((wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribfvARB")) == NULL) || r; r = ((wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribivARB")) == NULL) || r; return r; } #endif /* WGL_ARB_pixel_format */ #ifdef WGL_ARB_pixel_format_float #endif /* WGL_ARB_pixel_format_float */ #ifdef WGL_ARB_render_texture static GLboolean _glewInit_WGL_ARB_render_texture (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBindTexImageARB = (PFNWGLBINDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"wglBindTexImageARB")) == NULL) || r; r = ((wglReleaseTexImageARB = (PFNWGLRELEASETEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"wglReleaseTexImageARB")) == NULL) || r; r = ((wglSetPbufferAttribARB = (PFNWGLSETPBUFFERATTRIBARBPROC)glewGetProcAddress((const GLubyte*)"wglSetPbufferAttribARB")) == NULL) || r; return r; } #endif /* WGL_ARB_render_texture */ #ifdef WGL_ARB_robustness_application_isolation #endif /* WGL_ARB_robustness_application_isolation */ #ifdef WGL_ARB_robustness_share_group_isolation #endif /* WGL_ARB_robustness_share_group_isolation */ #ifdef WGL_ATI_pixel_format_float #endif /* WGL_ATI_pixel_format_float */ #ifdef WGL_ATI_render_texture_rectangle #endif /* WGL_ATI_render_texture_rectangle */ #ifdef WGL_EXT_create_context_es2_profile #endif /* WGL_EXT_create_context_es2_profile */ #ifdef WGL_EXT_create_context_es_profile #endif /* WGL_EXT_create_context_es_profile */ #ifdef WGL_EXT_depth_float #endif /* WGL_EXT_depth_float */ #ifdef WGL_EXT_display_color_table static GLboolean _glewInit_WGL_EXT_display_color_table (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBindDisplayColorTableEXT = (PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglBindDisplayColorTableEXT")) == NULL) || r; r = ((wglCreateDisplayColorTableEXT = (PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglCreateDisplayColorTableEXT")) == NULL) || r; r = ((wglDestroyDisplayColorTableEXT = (PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglDestroyDisplayColorTableEXT")) == NULL) || r; r = ((wglLoadDisplayColorTableEXT = (PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglLoadDisplayColorTableEXT")) == NULL) || r; return r; } #endif /* WGL_EXT_display_color_table */ #ifdef WGL_EXT_extensions_string static GLboolean _glewInit_WGL_EXT_extensions_string (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT")) == NULL) || r; return r; } #endif /* WGL_EXT_extensions_string */ #ifdef WGL_EXT_framebuffer_sRGB #endif /* WGL_EXT_framebuffer_sRGB */ #ifdef WGL_EXT_make_current_read static GLboolean _glewInit_WGL_EXT_make_current_read (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetCurrentReadDCEXT = (PFNWGLGETCURRENTREADDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentReadDCEXT")) == NULL) || r; r = ((wglMakeContextCurrentEXT = (PFNWGLMAKECONTEXTCURRENTEXTPROC)glewGetProcAddress((const GLubyte*)"wglMakeContextCurrentEXT")) == NULL) || r; return r; } #endif /* WGL_EXT_make_current_read */ #ifdef WGL_EXT_multisample #endif /* WGL_EXT_multisample */ #ifdef WGL_EXT_pbuffer static GLboolean _glewInit_WGL_EXT_pbuffer (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglCreatePbufferEXT = (PFNWGLCREATEPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglCreatePbufferEXT")) == NULL) || r; r = ((wglDestroyPbufferEXT = (PFNWGLDESTROYPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglDestroyPbufferEXT")) == NULL) || r; r = ((wglGetPbufferDCEXT = (PFNWGLGETPBUFFERDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPbufferDCEXT")) == NULL) || r; r = ((wglQueryPbufferEXT = (PFNWGLQUERYPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglQueryPbufferEXT")) == NULL) || r; r = ((wglReleasePbufferDCEXT = (PFNWGLRELEASEPBUFFERDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglReleasePbufferDCEXT")) == NULL) || r; return r; } #endif /* WGL_EXT_pbuffer */ #ifdef WGL_EXT_pixel_format static GLboolean _glewInit_WGL_EXT_pixel_format (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglChoosePixelFormatEXT = (PFNWGLCHOOSEPIXELFORMATEXTPROC)glewGetProcAddress((const GLubyte*)"wglChoosePixelFormatEXT")) == NULL) || r; r = ((wglGetPixelFormatAttribfvEXT = (PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribfvEXT")) == NULL) || r; r = ((wglGetPixelFormatAttribivEXT = (PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribivEXT")) == NULL) || r; return r; } #endif /* WGL_EXT_pixel_format */ #ifdef WGL_EXT_pixel_format_packed_float #endif /* WGL_EXT_pixel_format_packed_float */ #ifdef WGL_EXT_swap_control static GLboolean _glewInit_WGL_EXT_swap_control (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetSwapIntervalEXT")) == NULL) || r; r = ((wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"wglSwapIntervalEXT")) == NULL) || r; return r; } #endif /* WGL_EXT_swap_control */ #ifdef WGL_EXT_swap_control_tear #endif /* WGL_EXT_swap_control_tear */ #ifdef WGL_I3D_digital_video_control static GLboolean _glewInit_WGL_I3D_digital_video_control (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetDigitalVideoParametersI3D = (PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetDigitalVideoParametersI3D")) == NULL) || r; r = ((wglSetDigitalVideoParametersI3D = (PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetDigitalVideoParametersI3D")) == NULL) || r; return r; } #endif /* WGL_I3D_digital_video_control */ #ifdef WGL_I3D_gamma static GLboolean _glewInit_WGL_I3D_gamma (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetGammaTableI3D = (PFNWGLGETGAMMATABLEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGammaTableI3D")) == NULL) || r; r = ((wglGetGammaTableParametersI3D = (PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGammaTableParametersI3D")) == NULL) || r; r = ((wglSetGammaTableI3D = (PFNWGLSETGAMMATABLEI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetGammaTableI3D")) == NULL) || r; r = ((wglSetGammaTableParametersI3D = (PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetGammaTableParametersI3D")) == NULL) || r; return r; } #endif /* WGL_I3D_gamma */ #ifdef WGL_I3D_genlock static GLboolean _glewInit_WGL_I3D_genlock (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglDisableGenlockI3D = (PFNWGLDISABLEGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglDisableGenlockI3D")) == NULL) || r; r = ((wglEnableGenlockI3D = (PFNWGLENABLEGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglEnableGenlockI3D")) == NULL) || r; r = ((wglGenlockSampleRateI3D = (PFNWGLGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSampleRateI3D")) == NULL) || r; r = ((wglGenlockSourceDelayI3D = (PFNWGLGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceDelayI3D")) == NULL) || r; r = ((wglGenlockSourceEdgeI3D = (PFNWGLGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceEdgeI3D")) == NULL) || r; r = ((wglGenlockSourceI3D = (PFNWGLGENLOCKSOURCEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceI3D")) == NULL) || r; r = ((wglGetGenlockSampleRateI3D = (PFNWGLGETGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSampleRateI3D")) == NULL) || r; r = ((wglGetGenlockSourceDelayI3D = (PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceDelayI3D")) == NULL) || r; r = ((wglGetGenlockSourceEdgeI3D = (PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceEdgeI3D")) == NULL) || r; r = ((wglGetGenlockSourceI3D = (PFNWGLGETGENLOCKSOURCEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceI3D")) == NULL) || r; r = ((wglIsEnabledGenlockI3D = (PFNWGLISENABLEDGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglIsEnabledGenlockI3D")) == NULL) || r; r = ((wglQueryGenlockMaxSourceDelayI3D = (PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryGenlockMaxSourceDelayI3D")) == NULL) || r; return r; } #endif /* WGL_I3D_genlock */ #ifdef WGL_I3D_image_buffer static GLboolean _glewInit_WGL_I3D_image_buffer (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglAssociateImageBufferEventsI3D = (PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress((const GLubyte*)"wglAssociateImageBufferEventsI3D")) == NULL) || r; r = ((wglCreateImageBufferI3D = (PFNWGLCREATEIMAGEBUFFERI3DPROC)glewGetProcAddress((const GLubyte*)"wglCreateImageBufferI3D")) == NULL) || r; r = ((wglDestroyImageBufferI3D = (PFNWGLDESTROYIMAGEBUFFERI3DPROC)glewGetProcAddress((const GLubyte*)"wglDestroyImageBufferI3D")) == NULL) || r; r = ((wglReleaseImageBufferEventsI3D = (PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress((const GLubyte*)"wglReleaseImageBufferEventsI3D")) == NULL) || r; return r; } #endif /* WGL_I3D_image_buffer */ #ifdef WGL_I3D_swap_frame_lock static GLboolean _glewInit_WGL_I3D_swap_frame_lock (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglDisableFrameLockI3D = (PFNWGLDISABLEFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglDisableFrameLockI3D")) == NULL) || r; r = ((wglEnableFrameLockI3D = (PFNWGLENABLEFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglEnableFrameLockI3D")) == NULL) || r; r = ((wglIsEnabledFrameLockI3D = (PFNWGLISENABLEDFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglIsEnabledFrameLockI3D")) == NULL) || r; r = ((wglQueryFrameLockMasterI3D = (PFNWGLQUERYFRAMELOCKMASTERI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameLockMasterI3D")) == NULL) || r; return r; } #endif /* WGL_I3D_swap_frame_lock */ #ifdef WGL_I3D_swap_frame_usage static GLboolean _glewInit_WGL_I3D_swap_frame_usage (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBeginFrameTrackingI3D = (PFNWGLBEGINFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglBeginFrameTrackingI3D")) == NULL) || r; r = ((wglEndFrameTrackingI3D = (PFNWGLENDFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglEndFrameTrackingI3D")) == NULL) || r; r = ((wglGetFrameUsageI3D = (PFNWGLGETFRAMEUSAGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetFrameUsageI3D")) == NULL) || r; r = ((wglQueryFrameTrackingI3D = (PFNWGLQUERYFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameTrackingI3D")) == NULL) || r; return r; } #endif /* WGL_I3D_swap_frame_usage */ #ifdef WGL_NV_DX_interop static GLboolean _glewInit_WGL_NV_DX_interop (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglDXCloseDeviceNV = (PFNWGLDXCLOSEDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglDXCloseDeviceNV")) == NULL) || r; r = ((wglDXLockObjectsNV = (PFNWGLDXLOCKOBJECTSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXLockObjectsNV")) == NULL) || r; r = ((wglDXObjectAccessNV = (PFNWGLDXOBJECTACCESSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXObjectAccessNV")) == NULL) || r; r = ((wglDXOpenDeviceNV = (PFNWGLDXOPENDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglDXOpenDeviceNV")) == NULL) || r; r = ((wglDXRegisterObjectNV = (PFNWGLDXREGISTEROBJECTNVPROC)glewGetProcAddress((const GLubyte*)"wglDXRegisterObjectNV")) == NULL) || r; r = ((wglDXSetResourceShareHandleNV = (PFNWGLDXSETRESOURCESHAREHANDLENVPROC)glewGetProcAddress((const GLubyte*)"wglDXSetResourceShareHandleNV")) == NULL) || r; r = ((wglDXUnlockObjectsNV = (PFNWGLDXUNLOCKOBJECTSNVPROC)glewGetProcAddress((const GLubyte*)"wglDXUnlockObjectsNV")) == NULL) || r; r = ((wglDXUnregisterObjectNV = (PFNWGLDXUNREGISTEROBJECTNVPROC)glewGetProcAddress((const GLubyte*)"wglDXUnregisterObjectNV")) == NULL) || r; return r; } #endif /* WGL_NV_DX_interop */ #ifdef WGL_NV_DX_interop2 #endif /* WGL_NV_DX_interop2 */ #ifdef WGL_NV_copy_image static GLboolean _glewInit_WGL_NV_copy_image (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglCopyImageSubDataNV = (PFNWGLCOPYIMAGESUBDATANVPROC)glewGetProcAddress((const GLubyte*)"wglCopyImageSubDataNV")) == NULL) || r; return r; } #endif /* WGL_NV_copy_image */ #ifdef WGL_NV_float_buffer #endif /* WGL_NV_float_buffer */ #ifdef WGL_NV_gpu_affinity static GLboolean _glewInit_WGL_NV_gpu_affinity (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglCreateAffinityDCNV = (PFNWGLCREATEAFFINITYDCNVPROC)glewGetProcAddress((const GLubyte*)"wglCreateAffinityDCNV")) == NULL) || r; r = ((wglDeleteDCNV = (PFNWGLDELETEDCNVPROC)glewGetProcAddress((const GLubyte*)"wglDeleteDCNV")) == NULL) || r; r = ((wglEnumGpuDevicesNV = (PFNWGLENUMGPUDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpuDevicesNV")) == NULL) || r; r = ((wglEnumGpusFromAffinityDCNV = (PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpusFromAffinityDCNV")) == NULL) || r; r = ((wglEnumGpusNV = (PFNWGLENUMGPUSNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpusNV")) == NULL) || r; return r; } #endif /* WGL_NV_gpu_affinity */ #ifdef WGL_NV_multisample_coverage #endif /* WGL_NV_multisample_coverage */ #ifdef WGL_NV_present_video static GLboolean _glewInit_WGL_NV_present_video (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBindVideoDeviceNV = (PFNWGLBINDVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoDeviceNV")) == NULL) || r; r = ((wglEnumerateVideoDevicesNV = (PFNWGLENUMERATEVIDEODEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumerateVideoDevicesNV")) == NULL) || r; r = ((wglQueryCurrentContextNV = (PFNWGLQUERYCURRENTCONTEXTNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryCurrentContextNV")) == NULL) || r; return r; } #endif /* WGL_NV_present_video */ #ifdef WGL_NV_render_depth_texture #endif /* WGL_NV_render_depth_texture */ #ifdef WGL_NV_render_texture_rectangle #endif /* WGL_NV_render_texture_rectangle */ #ifdef WGL_NV_swap_group static GLboolean _glewInit_WGL_NV_swap_group (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBindSwapBarrierNV = (PFNWGLBINDSWAPBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"wglBindSwapBarrierNV")) == NULL) || r; r = ((wglJoinSwapGroupNV = (PFNWGLJOINSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"wglJoinSwapGroupNV")) == NULL) || r; r = ((wglQueryFrameCountNV = (PFNWGLQUERYFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameCountNV")) == NULL) || r; r = ((wglQueryMaxSwapGroupsNV = (PFNWGLQUERYMAXSWAPGROUPSNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryMaxSwapGroupsNV")) == NULL) || r; r = ((wglQuerySwapGroupNV = (PFNWGLQUERYSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"wglQuerySwapGroupNV")) == NULL) || r; r = ((wglResetFrameCountNV = (PFNWGLRESETFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"wglResetFrameCountNV")) == NULL) || r; return r; } #endif /* WGL_NV_swap_group */ #ifdef WGL_NV_vertex_array_range static GLboolean _glewInit_WGL_NV_vertex_array_range (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"wglAllocateMemoryNV")) == NULL) || r; r = ((wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"wglFreeMemoryNV")) == NULL) || r; return r; } #endif /* WGL_NV_vertex_array_range */ #ifdef WGL_NV_video_capture static GLboolean _glewInit_WGL_NV_video_capture (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBindVideoCaptureDeviceNV = (PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoCaptureDeviceNV")) == NULL) || r; r = ((wglEnumerateVideoCaptureDevicesNV = (PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumerateVideoCaptureDevicesNV")) == NULL) || r; r = ((wglLockVideoCaptureDeviceNV = (PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglLockVideoCaptureDeviceNV")) == NULL) || r; r = ((wglQueryVideoCaptureDeviceNV = (PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglQueryVideoCaptureDeviceNV")) == NULL) || r; r = ((wglReleaseVideoCaptureDeviceNV = (PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoCaptureDeviceNV")) == NULL) || r; return r; } #endif /* WGL_NV_video_capture */ #ifdef WGL_NV_video_output static GLboolean _glewInit_WGL_NV_video_output (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglBindVideoImageNV = (PFNWGLBINDVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoImageNV")) == NULL) || r; r = ((wglGetVideoDeviceNV = (PFNWGLGETVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglGetVideoDeviceNV")) == NULL) || r; r = ((wglGetVideoInfoNV = (PFNWGLGETVIDEOINFONVPROC)glewGetProcAddress((const GLubyte*)"wglGetVideoInfoNV")) == NULL) || r; r = ((wglReleaseVideoDeviceNV = (PFNWGLRELEASEVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoDeviceNV")) == NULL) || r; r = ((wglReleaseVideoImageNV = (PFNWGLRELEASEVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoImageNV")) == NULL) || r; r = ((wglSendPbufferToVideoNV = (PFNWGLSENDPBUFFERTOVIDEONVPROC)glewGetProcAddress((const GLubyte*)"wglSendPbufferToVideoNV")) == NULL) || r; return r; } #endif /* WGL_NV_video_output */ #ifdef WGL_OML_sync_control static GLboolean _glewInit_WGL_OML_sync_control (WGLEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((wglGetMscRateOML = (PFNWGLGETMSCRATEOMLPROC)glewGetProcAddress((const GLubyte*)"wglGetMscRateOML")) == NULL) || r; r = ((wglGetSyncValuesOML = (PFNWGLGETSYNCVALUESOMLPROC)glewGetProcAddress((const GLubyte*)"wglGetSyncValuesOML")) == NULL) || r; r = ((wglSwapBuffersMscOML = (PFNWGLSWAPBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglSwapBuffersMscOML")) == NULL) || r; r = ((wglSwapLayerBuffersMscOML = (PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglSwapLayerBuffersMscOML")) == NULL) || r; r = ((wglWaitForMscOML = (PFNWGLWAITFORMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglWaitForMscOML")) == NULL) || r; r = ((wglWaitForSbcOML = (PFNWGLWAITFORSBCOMLPROC)glewGetProcAddress((const GLubyte*)"wglWaitForSbcOML")) == NULL) || r; return r; } #endif /* WGL_OML_sync_control */ /* ------------------------------------------------------------------------- */ static PFNWGLGETEXTENSIONSSTRINGARBPROC _wglewGetExtensionsStringARB = NULL; static PFNWGLGETEXTENSIONSSTRINGEXTPROC _wglewGetExtensionsStringEXT = NULL; GLboolean GLEWAPIENTRY wglewGetExtension (const char* name) { const GLubyte* start; const GLubyte* end; if (_wglewGetExtensionsStringARB == NULL) if (_wglewGetExtensionsStringEXT == NULL) return GL_FALSE; else start = (const GLubyte*)_wglewGetExtensionsStringEXT(); else start = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC()); if (start == 0) return GL_FALSE; end = start + _glewStrLen(start); return _glewSearchExtension(name, start, end); } GLenum GLEWAPIENTRY wglewContextInit (WGLEW_CONTEXT_ARG_DEF_LIST) { GLboolean crippled; const GLubyte* extStart; const GLubyte* extEnd; /* find wgl extension string query functions */ _wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB"); _wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT"); /* query wgl extension string */ if (_wglewGetExtensionsStringARB == NULL) if (_wglewGetExtensionsStringEXT == NULL) extStart = (const GLubyte*)""; else extStart = (const GLubyte*)_wglewGetExtensionsStringEXT(); else extStart = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC()); extEnd = extStart + _glewStrLen(extStart); /* initialize extensions */ crippled = _wglewGetExtensionsStringARB == NULL && _wglewGetExtensionsStringEXT == NULL; #ifdef WGL_3DFX_multisample CONST_CAST(WGLEW_3DFX_multisample) = _glewSearchExtension("WGL_3DFX_multisample", extStart, extEnd); #endif /* WGL_3DFX_multisample */ #ifdef WGL_3DL_stereo_control CONST_CAST(WGLEW_3DL_stereo_control) = _glewSearchExtension("WGL_3DL_stereo_control", extStart, extEnd); if (glewExperimental || WGLEW_3DL_stereo_control|| crippled) CONST_CAST(WGLEW_3DL_stereo_control)= !_glewInit_WGL_3DL_stereo_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_3DL_stereo_control */ #ifdef WGL_AMD_gpu_association CONST_CAST(WGLEW_AMD_gpu_association) = _glewSearchExtension("WGL_AMD_gpu_association", extStart, extEnd); if (glewExperimental || WGLEW_AMD_gpu_association|| crippled) CONST_CAST(WGLEW_AMD_gpu_association)= !_glewInit_WGL_AMD_gpu_association(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_AMD_gpu_association */ #ifdef WGL_ARB_buffer_region CONST_CAST(WGLEW_ARB_buffer_region) = _glewSearchExtension("WGL_ARB_buffer_region", extStart, extEnd); if (glewExperimental || WGLEW_ARB_buffer_region|| crippled) CONST_CAST(WGLEW_ARB_buffer_region)= !_glewInit_WGL_ARB_buffer_region(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_ARB_buffer_region */ #ifdef WGL_ARB_create_context CONST_CAST(WGLEW_ARB_create_context) = _glewSearchExtension("WGL_ARB_create_context", extStart, extEnd); if (glewExperimental || WGLEW_ARB_create_context|| crippled) CONST_CAST(WGLEW_ARB_create_context)= !_glewInit_WGL_ARB_create_context(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_ARB_create_context */ #ifdef WGL_ARB_create_context_profile CONST_CAST(WGLEW_ARB_create_context_profile) = _glewSearchExtension("WGL_ARB_create_context_profile", extStart, extEnd); #endif /* WGL_ARB_create_context_profile */ #ifdef WGL_ARB_create_context_robustness CONST_CAST(WGLEW_ARB_create_context_robustness) = _glewSearchExtension("WGL_ARB_create_context_robustness", extStart, extEnd); #endif /* WGL_ARB_create_context_robustness */ #ifdef WGL_ARB_extensions_string CONST_CAST(WGLEW_ARB_extensions_string) = _glewSearchExtension("WGL_ARB_extensions_string", extStart, extEnd); if (glewExperimental || WGLEW_ARB_extensions_string|| crippled) CONST_CAST(WGLEW_ARB_extensions_string)= !_glewInit_WGL_ARB_extensions_string(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_ARB_extensions_string */ #ifdef WGL_ARB_framebuffer_sRGB CONST_CAST(WGLEW_ARB_framebuffer_sRGB) = _glewSearchExtension("WGL_ARB_framebuffer_sRGB", extStart, extEnd); #endif /* WGL_ARB_framebuffer_sRGB */ #ifdef WGL_ARB_make_current_read CONST_CAST(WGLEW_ARB_make_current_read) = _glewSearchExtension("WGL_ARB_make_current_read", extStart, extEnd); if (glewExperimental || WGLEW_ARB_make_current_read|| crippled) CONST_CAST(WGLEW_ARB_make_current_read)= !_glewInit_WGL_ARB_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_ARB_make_current_read */ #ifdef WGL_ARB_multisample CONST_CAST(WGLEW_ARB_multisample) = _glewSearchExtension("WGL_ARB_multisample", extStart, extEnd); #endif /* WGL_ARB_multisample */ #ifdef WGL_ARB_pbuffer CONST_CAST(WGLEW_ARB_pbuffer) = _glewSearchExtension("WGL_ARB_pbuffer", extStart, extEnd); if (glewExperimental || WGLEW_ARB_pbuffer|| crippled) CONST_CAST(WGLEW_ARB_pbuffer)= !_glewInit_WGL_ARB_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_ARB_pbuffer */ #ifdef WGL_ARB_pixel_format CONST_CAST(WGLEW_ARB_pixel_format) = _glewSearchExtension("WGL_ARB_pixel_format", extStart, extEnd); if (glewExperimental || WGLEW_ARB_pixel_format|| crippled) CONST_CAST(WGLEW_ARB_pixel_format)= !_glewInit_WGL_ARB_pixel_format(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_ARB_pixel_format */ #ifdef WGL_ARB_pixel_format_float CONST_CAST(WGLEW_ARB_pixel_format_float) = _glewSearchExtension("WGL_ARB_pixel_format_float", extStart, extEnd); #endif /* WGL_ARB_pixel_format_float */ #ifdef WGL_ARB_render_texture CONST_CAST(WGLEW_ARB_render_texture) = _glewSearchExtension("WGL_ARB_render_texture", extStart, extEnd); if (glewExperimental || WGLEW_ARB_render_texture|| crippled) CONST_CAST(WGLEW_ARB_render_texture)= !_glewInit_WGL_ARB_render_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_ARB_render_texture */ #ifdef WGL_ARB_robustness_application_isolation CONST_CAST(WGLEW_ARB_robustness_application_isolation) = _glewSearchExtension("WGL_ARB_robustness_application_isolation", extStart, extEnd); #endif /* WGL_ARB_robustness_application_isolation */ #ifdef WGL_ARB_robustness_share_group_isolation CONST_CAST(WGLEW_ARB_robustness_share_group_isolation) = _glewSearchExtension("WGL_ARB_robustness_share_group_isolation", extStart, extEnd); #endif /* WGL_ARB_robustness_share_group_isolation */ #ifdef WGL_ATI_pixel_format_float CONST_CAST(WGLEW_ATI_pixel_format_float) = _glewSearchExtension("WGL_ATI_pixel_format_float", extStart, extEnd); #endif /* WGL_ATI_pixel_format_float */ #ifdef WGL_ATI_render_texture_rectangle CONST_CAST(WGLEW_ATI_render_texture_rectangle) = _glewSearchExtension("WGL_ATI_render_texture_rectangle", extStart, extEnd); #endif /* WGL_ATI_render_texture_rectangle */ #ifdef WGL_EXT_create_context_es2_profile CONST_CAST(WGLEW_EXT_create_context_es2_profile) = _glewSearchExtension("WGL_EXT_create_context_es2_profile", extStart, extEnd); #endif /* WGL_EXT_create_context_es2_profile */ #ifdef WGL_EXT_create_context_es_profile CONST_CAST(WGLEW_EXT_create_context_es_profile) = _glewSearchExtension("WGL_EXT_create_context_es_profile", extStart, extEnd); #endif /* WGL_EXT_create_context_es_profile */ #ifdef WGL_EXT_depth_float CONST_CAST(WGLEW_EXT_depth_float) = _glewSearchExtension("WGL_EXT_depth_float", extStart, extEnd); #endif /* WGL_EXT_depth_float */ #ifdef WGL_EXT_display_color_table CONST_CAST(WGLEW_EXT_display_color_table) = _glewSearchExtension("WGL_EXT_display_color_table", extStart, extEnd); if (glewExperimental || WGLEW_EXT_display_color_table|| crippled) CONST_CAST(WGLEW_EXT_display_color_table)= !_glewInit_WGL_EXT_display_color_table(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_EXT_display_color_table */ #ifdef WGL_EXT_extensions_string CONST_CAST(WGLEW_EXT_extensions_string) = _glewSearchExtension("WGL_EXT_extensions_string", extStart, extEnd); if (glewExperimental || WGLEW_EXT_extensions_string|| crippled) CONST_CAST(WGLEW_EXT_extensions_string)= !_glewInit_WGL_EXT_extensions_string(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_EXT_extensions_string */ #ifdef WGL_EXT_framebuffer_sRGB CONST_CAST(WGLEW_EXT_framebuffer_sRGB) = _glewSearchExtension("WGL_EXT_framebuffer_sRGB", extStart, extEnd); #endif /* WGL_EXT_framebuffer_sRGB */ #ifdef WGL_EXT_make_current_read CONST_CAST(WGLEW_EXT_make_current_read) = _glewSearchExtension("WGL_EXT_make_current_read", extStart, extEnd); if (glewExperimental || WGLEW_EXT_make_current_read|| crippled) CONST_CAST(WGLEW_EXT_make_current_read)= !_glewInit_WGL_EXT_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_EXT_make_current_read */ #ifdef WGL_EXT_multisample CONST_CAST(WGLEW_EXT_multisample) = _glewSearchExtension("WGL_EXT_multisample", extStart, extEnd); #endif /* WGL_EXT_multisample */ #ifdef WGL_EXT_pbuffer CONST_CAST(WGLEW_EXT_pbuffer) = _glewSearchExtension("WGL_EXT_pbuffer", extStart, extEnd); if (glewExperimental || WGLEW_EXT_pbuffer|| crippled) CONST_CAST(WGLEW_EXT_pbuffer)= !_glewInit_WGL_EXT_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_EXT_pbuffer */ #ifdef WGL_EXT_pixel_format CONST_CAST(WGLEW_EXT_pixel_format) = _glewSearchExtension("WGL_EXT_pixel_format", extStart, extEnd); if (glewExperimental || WGLEW_EXT_pixel_format|| crippled) CONST_CAST(WGLEW_EXT_pixel_format)= !_glewInit_WGL_EXT_pixel_format(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_EXT_pixel_format */ #ifdef WGL_EXT_pixel_format_packed_float CONST_CAST(WGLEW_EXT_pixel_format_packed_float) = _glewSearchExtension("WGL_EXT_pixel_format_packed_float", extStart, extEnd); #endif /* WGL_EXT_pixel_format_packed_float */ #ifdef WGL_EXT_swap_control CONST_CAST(WGLEW_EXT_swap_control) = _glewSearchExtension("WGL_EXT_swap_control", extStart, extEnd); if (glewExperimental || WGLEW_EXT_swap_control|| crippled) CONST_CAST(WGLEW_EXT_swap_control)= !_glewInit_WGL_EXT_swap_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_EXT_swap_control */ #ifdef WGL_EXT_swap_control_tear CONST_CAST(WGLEW_EXT_swap_control_tear) = _glewSearchExtension("WGL_EXT_swap_control_tear", extStart, extEnd); #endif /* WGL_EXT_swap_control_tear */ #ifdef WGL_I3D_digital_video_control CONST_CAST(WGLEW_I3D_digital_video_control) = _glewSearchExtension("WGL_I3D_digital_video_control", extStart, extEnd); if (glewExperimental || WGLEW_I3D_digital_video_control|| crippled) CONST_CAST(WGLEW_I3D_digital_video_control)= !_glewInit_WGL_I3D_digital_video_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_I3D_digital_video_control */ #ifdef WGL_I3D_gamma CONST_CAST(WGLEW_I3D_gamma) = _glewSearchExtension("WGL_I3D_gamma", extStart, extEnd); if (glewExperimental || WGLEW_I3D_gamma|| crippled) CONST_CAST(WGLEW_I3D_gamma)= !_glewInit_WGL_I3D_gamma(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_I3D_gamma */ #ifdef WGL_I3D_genlock CONST_CAST(WGLEW_I3D_genlock) = _glewSearchExtension("WGL_I3D_genlock", extStart, extEnd); if (glewExperimental || WGLEW_I3D_genlock|| crippled) CONST_CAST(WGLEW_I3D_genlock)= !_glewInit_WGL_I3D_genlock(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_I3D_genlock */ #ifdef WGL_I3D_image_buffer CONST_CAST(WGLEW_I3D_image_buffer) = _glewSearchExtension("WGL_I3D_image_buffer", extStart, extEnd); if (glewExperimental || WGLEW_I3D_image_buffer|| crippled) CONST_CAST(WGLEW_I3D_image_buffer)= !_glewInit_WGL_I3D_image_buffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_I3D_image_buffer */ #ifdef WGL_I3D_swap_frame_lock CONST_CAST(WGLEW_I3D_swap_frame_lock) = _glewSearchExtension("WGL_I3D_swap_frame_lock", extStart, extEnd); if (glewExperimental || WGLEW_I3D_swap_frame_lock|| crippled) CONST_CAST(WGLEW_I3D_swap_frame_lock)= !_glewInit_WGL_I3D_swap_frame_lock(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_I3D_swap_frame_lock */ #ifdef WGL_I3D_swap_frame_usage CONST_CAST(WGLEW_I3D_swap_frame_usage) = _glewSearchExtension("WGL_I3D_swap_frame_usage", extStart, extEnd); if (glewExperimental || WGLEW_I3D_swap_frame_usage|| crippled) CONST_CAST(WGLEW_I3D_swap_frame_usage)= !_glewInit_WGL_I3D_swap_frame_usage(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_I3D_swap_frame_usage */ #ifdef WGL_NV_DX_interop CONST_CAST(WGLEW_NV_DX_interop) = _glewSearchExtension("WGL_NV_DX_interop", extStart, extEnd); if (glewExperimental || WGLEW_NV_DX_interop|| crippled) CONST_CAST(WGLEW_NV_DX_interop)= !_glewInit_WGL_NV_DX_interop(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_DX_interop */ #ifdef WGL_NV_DX_interop2 CONST_CAST(WGLEW_NV_DX_interop2) = _glewSearchExtension("WGL_NV_DX_interop2", extStart, extEnd); #endif /* WGL_NV_DX_interop2 */ #ifdef WGL_NV_copy_image CONST_CAST(WGLEW_NV_copy_image) = _glewSearchExtension("WGL_NV_copy_image", extStart, extEnd); if (glewExperimental || WGLEW_NV_copy_image|| crippled) CONST_CAST(WGLEW_NV_copy_image)= !_glewInit_WGL_NV_copy_image(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_copy_image */ #ifdef WGL_NV_float_buffer CONST_CAST(WGLEW_NV_float_buffer) = _glewSearchExtension("WGL_NV_float_buffer", extStart, extEnd); #endif /* WGL_NV_float_buffer */ #ifdef WGL_NV_gpu_affinity CONST_CAST(WGLEW_NV_gpu_affinity) = _glewSearchExtension("WGL_NV_gpu_affinity", extStart, extEnd); if (glewExperimental || WGLEW_NV_gpu_affinity|| crippled) CONST_CAST(WGLEW_NV_gpu_affinity)= !_glewInit_WGL_NV_gpu_affinity(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_gpu_affinity */ #ifdef WGL_NV_multisample_coverage CONST_CAST(WGLEW_NV_multisample_coverage) = _glewSearchExtension("WGL_NV_multisample_coverage", extStart, extEnd); #endif /* WGL_NV_multisample_coverage */ #ifdef WGL_NV_present_video CONST_CAST(WGLEW_NV_present_video) = _glewSearchExtension("WGL_NV_present_video", extStart, extEnd); if (glewExperimental || WGLEW_NV_present_video|| crippled) CONST_CAST(WGLEW_NV_present_video)= !_glewInit_WGL_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_present_video */ #ifdef WGL_NV_render_depth_texture CONST_CAST(WGLEW_NV_render_depth_texture) = _glewSearchExtension("WGL_NV_render_depth_texture", extStart, extEnd); #endif /* WGL_NV_render_depth_texture */ #ifdef WGL_NV_render_texture_rectangle CONST_CAST(WGLEW_NV_render_texture_rectangle) = _glewSearchExtension("WGL_NV_render_texture_rectangle", extStart, extEnd); #endif /* WGL_NV_render_texture_rectangle */ #ifdef WGL_NV_swap_group CONST_CAST(WGLEW_NV_swap_group) = _glewSearchExtension("WGL_NV_swap_group", extStart, extEnd); if (glewExperimental || WGLEW_NV_swap_group|| crippled) CONST_CAST(WGLEW_NV_swap_group)= !_glewInit_WGL_NV_swap_group(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_swap_group */ #ifdef WGL_NV_vertex_array_range CONST_CAST(WGLEW_NV_vertex_array_range) = _glewSearchExtension("WGL_NV_vertex_array_range", extStart, extEnd); if (glewExperimental || WGLEW_NV_vertex_array_range|| crippled) CONST_CAST(WGLEW_NV_vertex_array_range)= !_glewInit_WGL_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_vertex_array_range */ #ifdef WGL_NV_video_capture CONST_CAST(WGLEW_NV_video_capture) = _glewSearchExtension("WGL_NV_video_capture", extStart, extEnd); if (glewExperimental || WGLEW_NV_video_capture|| crippled) CONST_CAST(WGLEW_NV_video_capture)= !_glewInit_WGL_NV_video_capture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_video_capture */ #ifdef WGL_NV_video_output CONST_CAST(WGLEW_NV_video_output) = _glewSearchExtension("WGL_NV_video_output", extStart, extEnd); if (glewExperimental || WGLEW_NV_video_output|| crippled) CONST_CAST(WGLEW_NV_video_output)= !_glewInit_WGL_NV_video_output(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_NV_video_output */ #ifdef WGL_OML_sync_control CONST_CAST(WGLEW_OML_sync_control) = _glewSearchExtension("WGL_OML_sync_control", extStart, extEnd); if (glewExperimental || WGLEW_OML_sync_control|| crippled) CONST_CAST(WGLEW_OML_sync_control)= !_glewInit_WGL_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* WGL_OML_sync_control */ return GLEW_OK; } #elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay = NULL; PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig = NULL; PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext = NULL; PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer = NULL; PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap = NULL; PFNGLXCREATEWINDOWPROC __glewXCreateWindow = NULL; PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer = NULL; PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap = NULL; PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow = NULL; PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable = NULL; PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib = NULL; PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs = NULL; PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent = NULL; PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig = NULL; PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent = NULL; PFNGLXQUERYCONTEXTPROC __glewXQueryContext = NULL; PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable = NULL; PFNGLXSELECTEVENTPROC __glewXSelectEvent = NULL; PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC __glewXBlitContextFramebufferAMD = NULL; PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC __glewXCreateAssociatedContextAMD = NULL; PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __glewXCreateAssociatedContextAttribsAMD = NULL; PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC __glewXDeleteAssociatedContextAMD = NULL; PFNGLXGETCONTEXTGPUIDAMDPROC __glewXGetContextGPUIDAMD = NULL; PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC __glewXGetCurrentAssociatedContextAMD = NULL; PFNGLXGETGPUIDSAMDPROC __glewXGetGPUIDsAMD = NULL; PFNGLXGETGPUINFOAMDPROC __glewXGetGPUInfoAMD = NULL; PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __glewXMakeAssociatedContextCurrentAMD = NULL; PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB = NULL; PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI = NULL; PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI = NULL; PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI = NULL; PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT = NULL; PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT = NULL; PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT = NULL; PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT = NULL; PFNGLXSWAPINTERVALEXTPROC __glewXSwapIntervalEXT = NULL; PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT = NULL; PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT = NULL; PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA = NULL; PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA = NULL; PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA = NULL; PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA = NULL; PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA = NULL; PFNGLXGETSWAPINTERVALMESAPROC __glewXGetSwapIntervalMESA = NULL; PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA = NULL; PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV = NULL; PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV = NULL; PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV = NULL; PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV = NULL; PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV = NULL; PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV = NULL; PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV = NULL; PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV = NULL; PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV = NULL; PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV = NULL; PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV = NULL; PFNGLXBINDVIDEOCAPTUREDEVICENVPROC __glewXBindVideoCaptureDeviceNV = NULL; PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC __glewXEnumerateVideoCaptureDevicesNV = NULL; PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC __glewXLockVideoCaptureDeviceNV = NULL; PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC __glewXQueryVideoCaptureDeviceNV = NULL; PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC __glewXReleaseVideoCaptureDeviceNV = NULL; PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV = NULL; PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV = NULL; PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV = NULL; PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV = NULL; PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV = NULL; PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV = NULL; PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML = NULL; PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML = NULL; PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML = NULL; PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML = NULL; PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML = NULL; PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX = NULL; PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX = NULL; PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX = NULL; PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX = NULL; PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX = NULL; PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX = NULL; PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX = NULL; PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX = NULL; PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX = NULL; PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX = NULL; PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX = NULL; PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX = NULL; PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX = NULL; PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX = NULL; PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX = NULL; PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX = NULL; PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX = NULL; PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX = NULL; PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX = NULL; PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX = NULL; PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX = NULL; PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX = NULL; PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX = NULL; PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX = NULL; PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX = NULL; PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX = NULL; PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX = NULL; PFNGLXCUSHIONSGIPROC __glewXCushionSGI = NULL; PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI = NULL; PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI = NULL; PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI = NULL; PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI = NULL; PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI = NULL; PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN = NULL; PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN = NULL; PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN = NULL; #if !defined(GLEW_MX) GLboolean __GLXEW_VERSION_1_0 = GL_FALSE; GLboolean __GLXEW_VERSION_1_1 = GL_FALSE; GLboolean __GLXEW_VERSION_1_2 = GL_FALSE; GLboolean __GLXEW_VERSION_1_3 = GL_FALSE; GLboolean __GLXEW_VERSION_1_4 = GL_FALSE; GLboolean __GLXEW_3DFX_multisample = GL_FALSE; GLboolean __GLXEW_AMD_gpu_association = GL_FALSE; GLboolean __GLXEW_ARB_create_context = GL_FALSE; GLboolean __GLXEW_ARB_create_context_profile = GL_FALSE; GLboolean __GLXEW_ARB_create_context_robustness = GL_FALSE; GLboolean __GLXEW_ARB_fbconfig_float = GL_FALSE; GLboolean __GLXEW_ARB_framebuffer_sRGB = GL_FALSE; GLboolean __GLXEW_ARB_get_proc_address = GL_FALSE; GLboolean __GLXEW_ARB_multisample = GL_FALSE; GLboolean __GLXEW_ARB_robustness_application_isolation = GL_FALSE; GLboolean __GLXEW_ARB_robustness_share_group_isolation = GL_FALSE; GLboolean __GLXEW_ARB_vertex_buffer_object = GL_FALSE; GLboolean __GLXEW_ATI_pixel_format_float = GL_FALSE; GLboolean __GLXEW_ATI_render_texture = GL_FALSE; GLboolean __GLXEW_EXT_buffer_age = GL_FALSE; GLboolean __GLXEW_EXT_create_context_es2_profile = GL_FALSE; GLboolean __GLXEW_EXT_create_context_es_profile = GL_FALSE; GLboolean __GLXEW_EXT_fbconfig_packed_float = GL_FALSE; GLboolean __GLXEW_EXT_framebuffer_sRGB = GL_FALSE; GLboolean __GLXEW_EXT_import_context = GL_FALSE; GLboolean __GLXEW_EXT_scene_marker = GL_FALSE; GLboolean __GLXEW_EXT_swap_control = GL_FALSE; GLboolean __GLXEW_EXT_swap_control_tear = GL_FALSE; GLboolean __GLXEW_EXT_texture_from_pixmap = GL_FALSE; GLboolean __GLXEW_EXT_visual_info = GL_FALSE; GLboolean __GLXEW_EXT_visual_rating = GL_FALSE; GLboolean __GLXEW_INTEL_swap_event = GL_FALSE; GLboolean __GLXEW_MESA_agp_offset = GL_FALSE; GLboolean __GLXEW_MESA_copy_sub_buffer = GL_FALSE; GLboolean __GLXEW_MESA_pixmap_colormap = GL_FALSE; GLboolean __GLXEW_MESA_release_buffers = GL_FALSE; GLboolean __GLXEW_MESA_set_3dfx_mode = GL_FALSE; GLboolean __GLXEW_MESA_swap_control = GL_FALSE; GLboolean __GLXEW_NV_copy_image = GL_FALSE; GLboolean __GLXEW_NV_float_buffer = GL_FALSE; GLboolean __GLXEW_NV_multisample_coverage = GL_FALSE; GLboolean __GLXEW_NV_present_video = GL_FALSE; GLboolean __GLXEW_NV_swap_group = GL_FALSE; GLboolean __GLXEW_NV_vertex_array_range = GL_FALSE; GLboolean __GLXEW_NV_video_capture = GL_FALSE; GLboolean __GLXEW_NV_video_output = GL_FALSE; GLboolean __GLXEW_OML_swap_method = GL_FALSE; GLboolean __GLXEW_OML_sync_control = GL_FALSE; GLboolean __GLXEW_SGIS_blended_overlay = GL_FALSE; GLboolean __GLXEW_SGIS_color_range = GL_FALSE; GLboolean __GLXEW_SGIS_multisample = GL_FALSE; GLboolean __GLXEW_SGIS_shared_multisample = GL_FALSE; GLboolean __GLXEW_SGIX_fbconfig = GL_FALSE; GLboolean __GLXEW_SGIX_hyperpipe = GL_FALSE; GLboolean __GLXEW_SGIX_pbuffer = GL_FALSE; GLboolean __GLXEW_SGIX_swap_barrier = GL_FALSE; GLboolean __GLXEW_SGIX_swap_group = GL_FALSE; GLboolean __GLXEW_SGIX_video_resize = GL_FALSE; GLboolean __GLXEW_SGIX_visual_select_group = GL_FALSE; GLboolean __GLXEW_SGI_cushion = GL_FALSE; GLboolean __GLXEW_SGI_make_current_read = GL_FALSE; GLboolean __GLXEW_SGI_swap_control = GL_FALSE; GLboolean __GLXEW_SGI_video_sync = GL_FALSE; GLboolean __GLXEW_SUN_get_transparent_index = GL_FALSE; GLboolean __GLXEW_SUN_video_resize = GL_FALSE; #endif /* !GLEW_MX */ #ifdef GLX_VERSION_1_2 static GLboolean _glewInit_GLX_VERSION_1_2 (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r; return r; } #endif /* GLX_VERSION_1_2 */ #ifdef GLX_VERSION_1_3 static GLboolean _glewInit_GLX_VERSION_1_3 (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXChooseFBConfig = (PFNGLXCHOOSEFBCONFIGPROC)glewGetProcAddress((const GLubyte*)"glXChooseFBConfig")) == NULL) || r; r = ((glXCreateNewContext = (PFNGLXCREATENEWCONTEXTPROC)glewGetProcAddress((const GLubyte*)"glXCreateNewContext")) == NULL) || r; r = ((glXCreatePbuffer = (PFNGLXCREATEPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glXCreatePbuffer")) == NULL) || r; r = ((glXCreatePixmap = (PFNGLXCREATEPIXMAPPROC)glewGetProcAddress((const GLubyte*)"glXCreatePixmap")) == NULL) || r; r = ((glXCreateWindow = (PFNGLXCREATEWINDOWPROC)glewGetProcAddress((const GLubyte*)"glXCreateWindow")) == NULL) || r; r = ((glXDestroyPbuffer = (PFNGLXDESTROYPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glXDestroyPbuffer")) == NULL) || r; r = ((glXDestroyPixmap = (PFNGLXDESTROYPIXMAPPROC)glewGetProcAddress((const GLubyte*)"glXDestroyPixmap")) == NULL) || r; r = ((glXDestroyWindow = (PFNGLXDESTROYWINDOWPROC)glewGetProcAddress((const GLubyte*)"glXDestroyWindow")) == NULL) || r; r = ((glXGetCurrentReadDrawable = (PFNGLXGETCURRENTREADDRAWABLEPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentReadDrawable")) == NULL) || r; r = ((glXGetFBConfigAttrib = (PFNGLXGETFBCONFIGATTRIBPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigAttrib")) == NULL) || r; r = ((glXGetFBConfigs = (PFNGLXGETFBCONFIGSPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigs")) == NULL) || r; r = ((glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC)glewGetProcAddress((const GLubyte*)"glXGetSelectedEvent")) == NULL) || r; r = ((glXGetVisualFromFBConfig = (PFNGLXGETVISUALFROMFBCONFIGPROC)glewGetProcAddress((const GLubyte*)"glXGetVisualFromFBConfig")) == NULL) || r; r = ((glXMakeContextCurrent = (PFNGLXMAKECONTEXTCURRENTPROC)glewGetProcAddress((const GLubyte*)"glXMakeContextCurrent")) == NULL) || r; r = ((glXQueryContext = (PFNGLXQUERYCONTEXTPROC)glewGetProcAddress((const GLubyte*)"glXQueryContext")) == NULL) || r; r = ((glXQueryDrawable = (PFNGLXQUERYDRAWABLEPROC)glewGetProcAddress((const GLubyte*)"glXQueryDrawable")) == NULL) || r; r = ((glXSelectEvent = (PFNGLXSELECTEVENTPROC)glewGetProcAddress((const GLubyte*)"glXSelectEvent")) == NULL) || r; return r; } #endif /* GLX_VERSION_1_3 */ #ifdef GLX_VERSION_1_4 #endif /* GLX_VERSION_1_4 */ #ifdef GLX_3DFX_multisample #endif /* GLX_3DFX_multisample */ #ifdef GLX_AMD_gpu_association static GLboolean _glewInit_GLX_AMD_gpu_association (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBlitContextFramebufferAMD = (PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)glewGetProcAddress((const GLubyte*)"glXBlitContextFramebufferAMD")) == NULL) || r; r = ((glXCreateAssociatedContextAMD = (PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"glXCreateAssociatedContextAMD")) == NULL) || r; r = ((glXCreateAssociatedContextAttribsAMD = (PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)glewGetProcAddress((const GLubyte*)"glXCreateAssociatedContextAttribsAMD")) == NULL) || r; r = ((glXDeleteAssociatedContextAMD = (PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"glXDeleteAssociatedContextAMD")) == NULL) || r; r = ((glXGetContextGPUIDAMD = (PFNGLXGETCONTEXTGPUIDAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetContextGPUIDAMD")) == NULL) || r; r = ((glXGetCurrentAssociatedContextAMD = (PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentAssociatedContextAMD")) == NULL) || r; r = ((glXGetGPUIDsAMD = (PFNGLXGETGPUIDSAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetGPUIDsAMD")) == NULL) || r; r = ((glXGetGPUInfoAMD = (PFNGLXGETGPUINFOAMDPROC)glewGetProcAddress((const GLubyte*)"glXGetGPUInfoAMD")) == NULL) || r; r = ((glXMakeAssociatedContextCurrentAMD = (PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)glewGetProcAddress((const GLubyte*)"glXMakeAssociatedContextCurrentAMD")) == NULL) || r; return r; } #endif /* GLX_AMD_gpu_association */ #ifdef GLX_ARB_create_context static GLboolean _glewInit_GLX_ARB_create_context (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glewGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB")) == NULL) || r; return r; } #endif /* GLX_ARB_create_context */ #ifdef GLX_ARB_create_context_profile #endif /* GLX_ARB_create_context_profile */ #ifdef GLX_ARB_create_context_robustness #endif /* GLX_ARB_create_context_robustness */ #ifdef GLX_ARB_fbconfig_float #endif /* GLX_ARB_fbconfig_float */ #ifdef GLX_ARB_framebuffer_sRGB #endif /* GLX_ARB_framebuffer_sRGB */ #ifdef GLX_ARB_get_proc_address #endif /* GLX_ARB_get_proc_address */ #ifdef GLX_ARB_multisample #endif /* GLX_ARB_multisample */ #ifdef GLX_ARB_robustness_application_isolation #endif /* GLX_ARB_robustness_application_isolation */ #ifdef GLX_ARB_robustness_share_group_isolation #endif /* GLX_ARB_robustness_share_group_isolation */ #ifdef GLX_ARB_vertex_buffer_object #endif /* GLX_ARB_vertex_buffer_object */ #ifdef GLX_ATI_pixel_format_float #endif /* GLX_ATI_pixel_format_float */ #ifdef GLX_ATI_render_texture static GLboolean _glewInit_GLX_ATI_render_texture (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindTexImageATI = (PFNGLXBINDTEXIMAGEATIPROC)glewGetProcAddress((const GLubyte*)"glXBindTexImageATI")) == NULL) || r; r = ((glXDrawableAttribATI = (PFNGLXDRAWABLEATTRIBATIPROC)glewGetProcAddress((const GLubyte*)"glXDrawableAttribATI")) == NULL) || r; r = ((glXReleaseTexImageATI = (PFNGLXRELEASETEXIMAGEATIPROC)glewGetProcAddress((const GLubyte*)"glXReleaseTexImageATI")) == NULL) || r; return r; } #endif /* GLX_ATI_render_texture */ #ifdef GLX_EXT_buffer_age #endif /* GLX_EXT_buffer_age */ #ifdef GLX_EXT_create_context_es2_profile #endif /* GLX_EXT_create_context_es2_profile */ #ifdef GLX_EXT_create_context_es_profile #endif /* GLX_EXT_create_context_es_profile */ #ifdef GLX_EXT_fbconfig_packed_float #endif /* GLX_EXT_fbconfig_packed_float */ #ifdef GLX_EXT_framebuffer_sRGB #endif /* GLX_EXT_framebuffer_sRGB */ #ifdef GLX_EXT_import_context static GLboolean _glewInit_GLX_EXT_import_context (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXFreeContextEXT = (PFNGLXFREECONTEXTEXTPROC)glewGetProcAddress((const GLubyte*)"glXFreeContextEXT")) == NULL) || r; r = ((glXGetContextIDEXT = (PFNGLXGETCONTEXTIDEXTPROC)glewGetProcAddress((const GLubyte*)"glXGetContextIDEXT")) == NULL) || r; r = ((glXImportContextEXT = (PFNGLXIMPORTCONTEXTEXTPROC)glewGetProcAddress((const GLubyte*)"glXImportContextEXT")) == NULL) || r; r = ((glXQueryContextInfoEXT = (PFNGLXQUERYCONTEXTINFOEXTPROC)glewGetProcAddress((const GLubyte*)"glXQueryContextInfoEXT")) == NULL) || r; return r; } #endif /* GLX_EXT_import_context */ #ifdef GLX_EXT_scene_marker #endif /* GLX_EXT_scene_marker */ #ifdef GLX_EXT_swap_control static GLboolean _glewInit_GLX_EXT_swap_control (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"glXSwapIntervalEXT")) == NULL) || r; return r; } #endif /* GLX_EXT_swap_control */ #ifdef GLX_EXT_swap_control_tear #endif /* GLX_EXT_swap_control_tear */ #ifdef GLX_EXT_texture_from_pixmap static GLboolean _glewInit_GLX_EXT_texture_from_pixmap (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindTexImageEXT = (PFNGLXBINDTEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glXBindTexImageEXT")) == NULL) || r; r = ((glXReleaseTexImageEXT = (PFNGLXRELEASETEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glXReleaseTexImageEXT")) == NULL) || r; return r; } #endif /* GLX_EXT_texture_from_pixmap */ #ifdef GLX_EXT_visual_info #endif /* GLX_EXT_visual_info */ #ifdef GLX_EXT_visual_rating #endif /* GLX_EXT_visual_rating */ #ifdef GLX_INTEL_swap_event #endif /* GLX_INTEL_swap_event */ #ifdef GLX_MESA_agp_offset static GLboolean _glewInit_GLX_MESA_agp_offset (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetAGPOffsetMESA = (PFNGLXGETAGPOFFSETMESAPROC)glewGetProcAddress((const GLubyte*)"glXGetAGPOffsetMESA")) == NULL) || r; return r; } #endif /* GLX_MESA_agp_offset */ #ifdef GLX_MESA_copy_sub_buffer static GLboolean _glewInit_GLX_MESA_copy_sub_buffer (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXCopySubBufferMESA = (PFNGLXCOPYSUBBUFFERMESAPROC)glewGetProcAddress((const GLubyte*)"glXCopySubBufferMESA")) == NULL) || r; return r; } #endif /* GLX_MESA_copy_sub_buffer */ #ifdef GLX_MESA_pixmap_colormap static GLboolean _glewInit_GLX_MESA_pixmap_colormap (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXCreateGLXPixmapMESA = (PFNGLXCREATEGLXPIXMAPMESAPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPixmapMESA")) == NULL) || r; return r; } #endif /* GLX_MESA_pixmap_colormap */ #ifdef GLX_MESA_release_buffers static GLboolean _glewInit_GLX_MESA_release_buffers (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXReleaseBuffersMESA = (PFNGLXRELEASEBUFFERSMESAPROC)glewGetProcAddress((const GLubyte*)"glXReleaseBuffersMESA")) == NULL) || r; return r; } #endif /* GLX_MESA_release_buffers */ #ifdef GLX_MESA_set_3dfx_mode static GLboolean _glewInit_GLX_MESA_set_3dfx_mode (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC)glewGetProcAddress((const GLubyte*)"glXSet3DfxModeMESA")) == NULL) || r; return r; } #endif /* GLX_MESA_set_3dfx_mode */ #ifdef GLX_MESA_swap_control static GLboolean _glewInit_GLX_MESA_swap_control (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetSwapIntervalMESA = (PFNGLXGETSWAPINTERVALMESAPROC)glewGetProcAddress((const GLubyte*)"glXGetSwapIntervalMESA")) == NULL) || r; r = ((glXSwapIntervalMESA = (PFNGLXSWAPINTERVALMESAPROC)glewGetProcAddress((const GLubyte*)"glXSwapIntervalMESA")) == NULL) || r; return r; } #endif /* GLX_MESA_swap_control */ #ifdef GLX_NV_copy_image static GLboolean _glewInit_GLX_NV_copy_image (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXCopyImageSubDataNV = (PFNGLXCOPYIMAGESUBDATANVPROC)glewGetProcAddress((const GLubyte*)"glXCopyImageSubDataNV")) == NULL) || r; return r; } #endif /* GLX_NV_copy_image */ #ifdef GLX_NV_float_buffer #endif /* GLX_NV_float_buffer */ #ifdef GLX_NV_multisample_coverage #endif /* GLX_NV_multisample_coverage */ #ifdef GLX_NV_present_video static GLboolean _glewInit_GLX_NV_present_video (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindVideoDeviceNV = (PFNGLXBINDVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoDeviceNV")) == NULL) || r; r = ((glXEnumerateVideoDevicesNV = (PFNGLXENUMERATEVIDEODEVICESNVPROC)glewGetProcAddress((const GLubyte*)"glXEnumerateVideoDevicesNV")) == NULL) || r; return r; } #endif /* GLX_NV_present_video */ #ifdef GLX_NV_swap_group static GLboolean _glewInit_GLX_NV_swap_group (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindSwapBarrierNV = (PFNGLXBINDSWAPBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glXBindSwapBarrierNV")) == NULL) || r; r = ((glXJoinSwapGroupNV = (PFNGLXJOINSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"glXJoinSwapGroupNV")) == NULL) || r; r = ((glXQueryFrameCountNV = (PFNGLXQUERYFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glXQueryFrameCountNV")) == NULL) || r; r = ((glXQueryMaxSwapGroupsNV = (PFNGLXQUERYMAXSWAPGROUPSNVPROC)glewGetProcAddress((const GLubyte*)"glXQueryMaxSwapGroupsNV")) == NULL) || r; r = ((glXQuerySwapGroupNV = (PFNGLXQUERYSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"glXQuerySwapGroupNV")) == NULL) || r; r = ((glXResetFrameCountNV = (PFNGLXRESETFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glXResetFrameCountNV")) == NULL) || r; return r; } #endif /* GLX_NV_swap_group */ #ifdef GLX_NV_vertex_array_range static GLboolean _glewInit_GLX_NV_vertex_array_range (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXAllocateMemoryNV = (PFNGLXALLOCATEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"glXAllocateMemoryNV")) == NULL) || r; r = ((glXFreeMemoryNV = (PFNGLXFREEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"glXFreeMemoryNV")) == NULL) || r; return r; } #endif /* GLX_NV_vertex_array_range */ #ifdef GLX_NV_video_capture static GLboolean _glewInit_GLX_NV_video_capture (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindVideoCaptureDeviceNV = (PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoCaptureDeviceNV")) == NULL) || r; r = ((glXEnumerateVideoCaptureDevicesNV = (PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"glXEnumerateVideoCaptureDevicesNV")) == NULL) || r; r = ((glXLockVideoCaptureDeviceNV = (PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXLockVideoCaptureDeviceNV")) == NULL) || r; r = ((glXQueryVideoCaptureDeviceNV = (PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXQueryVideoCaptureDeviceNV")) == NULL) || r; r = ((glXReleaseVideoCaptureDeviceNV = (PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoCaptureDeviceNV")) == NULL) || r; return r; } #endif /* GLX_NV_video_capture */ #ifdef GLX_NV_video_output static GLboolean _glewInit_GLX_NV_video_output (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindVideoImageNV = (PFNGLXBINDVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoImageNV")) == NULL) || r; r = ((glXGetVideoDeviceNV = (PFNGLXGETVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoDeviceNV")) == NULL) || r; r = ((glXGetVideoInfoNV = (PFNGLXGETVIDEOINFONVPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoInfoNV")) == NULL) || r; r = ((glXReleaseVideoDeviceNV = (PFNGLXRELEASEVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoDeviceNV")) == NULL) || r; r = ((glXReleaseVideoImageNV = (PFNGLXRELEASEVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoImageNV")) == NULL) || r; r = ((glXSendPbufferToVideoNV = (PFNGLXSENDPBUFFERTOVIDEONVPROC)glewGetProcAddress((const GLubyte*)"glXSendPbufferToVideoNV")) == NULL) || r; return r; } #endif /* GLX_NV_video_output */ #ifdef GLX_OML_swap_method #endif /* GLX_OML_swap_method */ #ifdef GLX_OML_sync_control static GLboolean _glewInit_GLX_OML_sync_control (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetMscRateOML = (PFNGLXGETMSCRATEOMLPROC)glewGetProcAddress((const GLubyte*)"glXGetMscRateOML")) == NULL) || r; r = ((glXGetSyncValuesOML = (PFNGLXGETSYNCVALUESOMLPROC)glewGetProcAddress((const GLubyte*)"glXGetSyncValuesOML")) == NULL) || r; r = ((glXSwapBuffersMscOML = (PFNGLXSWAPBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"glXSwapBuffersMscOML")) == NULL) || r; r = ((glXWaitForMscOML = (PFNGLXWAITFORMSCOMLPROC)glewGetProcAddress((const GLubyte*)"glXWaitForMscOML")) == NULL) || r; r = ((glXWaitForSbcOML = (PFNGLXWAITFORSBCOMLPROC)glewGetProcAddress((const GLubyte*)"glXWaitForSbcOML")) == NULL) || r; return r; } #endif /* GLX_OML_sync_control */ #ifdef GLX_SGIS_blended_overlay #endif /* GLX_SGIS_blended_overlay */ #ifdef GLX_SGIS_color_range #endif /* GLX_SGIS_color_range */ #ifdef GLX_SGIS_multisample #endif /* GLX_SGIS_multisample */ #ifdef GLX_SGIS_shared_multisample #endif /* GLX_SGIS_shared_multisample */ #ifdef GLX_SGIX_fbconfig static GLboolean _glewInit_GLX_SGIX_fbconfig (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXChooseFBConfigSGIX = (PFNGLXCHOOSEFBCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChooseFBConfigSGIX")) == NULL) || r; r = ((glXCreateContextWithConfigSGIX = (PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateContextWithConfigSGIX")) == NULL) || r; r = ((glXCreateGLXPixmapWithConfigSGIX = (PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPixmapWithConfigSGIX")) == NULL) || r; r = ((glXGetFBConfigAttribSGIX = (PFNGLXGETFBCONFIGATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigAttribSGIX")) == NULL) || r; r = ((glXGetFBConfigFromVisualSGIX = (PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigFromVisualSGIX")) == NULL) || r; r = ((glXGetVisualFromFBConfigSGIX = (PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetVisualFromFBConfigSGIX")) == NULL) || r; return r; } #endif /* GLX_SGIX_fbconfig */ #ifdef GLX_SGIX_hyperpipe static GLboolean _glewInit_GLX_SGIX_hyperpipe (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindHyperpipeSGIX = (PFNGLXBINDHYPERPIPESGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindHyperpipeSGIX")) == NULL) || r; r = ((glXDestroyHyperpipeConfigSGIX = (PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXDestroyHyperpipeConfigSGIX")) == NULL) || r; r = ((glXHyperpipeAttribSGIX = (PFNGLXHYPERPIPEATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXHyperpipeAttribSGIX")) == NULL) || r; r = ((glXHyperpipeConfigSGIX = (PFNGLXHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXHyperpipeConfigSGIX")) == NULL) || r; r = ((glXQueryHyperpipeAttribSGIX = (PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeAttribSGIX")) == NULL) || r; r = ((glXQueryHyperpipeBestAttribSGIX = (PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeBestAttribSGIX")) == NULL) || r; r = ((glXQueryHyperpipeConfigSGIX = (PFNGLXQUERYHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeConfigSGIX")) == NULL) || r; r = ((glXQueryHyperpipeNetworkSGIX = (PFNGLXQUERYHYPERPIPENETWORKSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeNetworkSGIX")) == NULL) || r; return r; } #endif /* GLX_SGIX_hyperpipe */ #ifdef GLX_SGIX_pbuffer static GLboolean _glewInit_GLX_SGIX_pbuffer (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXCreateGLXPbufferSGIX = (PFNGLXCREATEGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPbufferSGIX")) == NULL) || r; r = ((glXDestroyGLXPbufferSGIX = (PFNGLXDESTROYGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXDestroyGLXPbufferSGIX")) == NULL) || r; r = ((glXGetSelectedEventSGIX = (PFNGLXGETSELECTEDEVENTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetSelectedEventSGIX")) == NULL) || r; r = ((glXQueryGLXPbufferSGIX = (PFNGLXQUERYGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryGLXPbufferSGIX")) == NULL) || r; r = ((glXSelectEventSGIX = (PFNGLXSELECTEVENTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXSelectEventSGIX")) == NULL) || r; return r; } #endif /* GLX_SGIX_pbuffer */ #ifdef GLX_SGIX_swap_barrier static GLboolean _glewInit_GLX_SGIX_swap_barrier (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindSwapBarrierSGIX = (PFNGLXBINDSWAPBARRIERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindSwapBarrierSGIX")) == NULL) || r; r = ((glXQueryMaxSwapBarriersSGIX = (PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryMaxSwapBarriersSGIX")) == NULL) || r; return r; } #endif /* GLX_SGIX_swap_barrier */ #ifdef GLX_SGIX_swap_group static GLboolean _glewInit_GLX_SGIX_swap_group (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXJoinSwapGroupSGIX = (PFNGLXJOINSWAPGROUPSGIXPROC)glewGetProcAddress((const GLubyte*)"glXJoinSwapGroupSGIX")) == NULL) || r; return r; } #endif /* GLX_SGIX_swap_group */ #ifdef GLX_SGIX_video_resize static GLboolean _glewInit_GLX_SGIX_video_resize (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXBindChannelToWindowSGIX = (PFNGLXBINDCHANNELTOWINDOWSGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindChannelToWindowSGIX")) == NULL) || r; r = ((glXChannelRectSGIX = (PFNGLXCHANNELRECTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChannelRectSGIX")) == NULL) || r; r = ((glXChannelRectSyncSGIX = (PFNGLXCHANNELRECTSYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChannelRectSyncSGIX")) == NULL) || r; r = ((glXQueryChannelDeltasSGIX = (PFNGLXQUERYCHANNELDELTASSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryChannelDeltasSGIX")) == NULL) || r; r = ((glXQueryChannelRectSGIX = (PFNGLXQUERYCHANNELRECTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryChannelRectSGIX")) == NULL) || r; return r; } #endif /* GLX_SGIX_video_resize */ #ifdef GLX_SGIX_visual_select_group #endif /* GLX_SGIX_visual_select_group */ #ifdef GLX_SGI_cushion static GLboolean _glewInit_GLX_SGI_cushion (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXCushionSGI = (PFNGLXCUSHIONSGIPROC)glewGetProcAddress((const GLubyte*)"glXCushionSGI")) == NULL) || r; return r; } #endif /* GLX_SGI_cushion */ #ifdef GLX_SGI_make_current_read static GLboolean _glewInit_GLX_SGI_make_current_read (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetCurrentReadDrawableSGI = (PFNGLXGETCURRENTREADDRAWABLESGIPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentReadDrawableSGI")) == NULL) || r; r = ((glXMakeCurrentReadSGI = (PFNGLXMAKECURRENTREADSGIPROC)glewGetProcAddress((const GLubyte*)"glXMakeCurrentReadSGI")) == NULL) || r; return r; } #endif /* GLX_SGI_make_current_read */ #ifdef GLX_SGI_swap_control static GLboolean _glewInit_GLX_SGI_swap_control (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glewGetProcAddress((const GLubyte*)"glXSwapIntervalSGI")) == NULL) || r; return r; } #endif /* GLX_SGI_swap_control */ #ifdef GLX_SGI_video_sync static GLboolean _glewInit_GLX_SGI_video_sync (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetVideoSyncSGI = (PFNGLXGETVIDEOSYNCSGIPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoSyncSGI")) == NULL) || r; r = ((glXWaitVideoSyncSGI = (PFNGLXWAITVIDEOSYNCSGIPROC)glewGetProcAddress((const GLubyte*)"glXWaitVideoSyncSGI")) == NULL) || r; return r; } #endif /* GLX_SGI_video_sync */ #ifdef GLX_SUN_get_transparent_index static GLboolean _glewInit_GLX_SUN_get_transparent_index (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetTransparentIndexSUN = (PFNGLXGETTRANSPARENTINDEXSUNPROC)glewGetProcAddress((const GLubyte*)"glXGetTransparentIndexSUN")) == NULL) || r; return r; } #endif /* GLX_SUN_get_transparent_index */ #ifdef GLX_SUN_video_resize static GLboolean _glewInit_GLX_SUN_video_resize (GLXEW_CONTEXT_ARG_DEF_INIT) { GLboolean r = GL_FALSE; r = ((glXGetVideoResizeSUN = (PFNGLXGETVIDEORESIZESUNPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoResizeSUN")) == NULL) || r; r = ((glXVideoResizeSUN = (PFNGLXVIDEORESIZESUNPROC)glewGetProcAddress((const GLubyte*)"glXVideoResizeSUN")) == NULL) || r; return r; } #endif /* GLX_SUN_video_resize */ /* ------------------------------------------------------------------------ */ GLboolean glxewGetExtension (const char* name) { const GLubyte* start; const GLubyte* end; if (glXGetCurrentDisplay == NULL) return GL_FALSE; start = (const GLubyte*)glXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS); if (0 == start) return GL_FALSE; end = start + _glewStrLen(start); return _glewSearchExtension(name, start, end); } GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST) { int major, minor; const GLubyte* extStart; const GLubyte* extEnd; /* initialize core GLX 1.2 */ if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GLX_VERSION_11_ONLY; /* initialize flags */ CONST_CAST(GLXEW_VERSION_1_0) = GL_TRUE; CONST_CAST(GLXEW_VERSION_1_1) = GL_TRUE; CONST_CAST(GLXEW_VERSION_1_2) = GL_TRUE; CONST_CAST(GLXEW_VERSION_1_3) = GL_TRUE; CONST_CAST(GLXEW_VERSION_1_4) = GL_TRUE; /* query GLX version */ glXQueryVersion(glXGetCurrentDisplay(), &major, &minor); if (major == 1 && minor <= 3) { switch (minor) { case 3: CONST_CAST(GLXEW_VERSION_1_4) = GL_FALSE; break; case 2: CONST_CAST(GLXEW_VERSION_1_4) = GL_FALSE; CONST_CAST(GLXEW_VERSION_1_3) = GL_FALSE; break; default: return GLEW_ERROR_GLX_VERSION_11_ONLY; break; } } /* query GLX extension string */ extStart = 0; if (glXGetCurrentDisplay != NULL) extStart = (const GLubyte*)glXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS); if (extStart == 0) extStart = (const GLubyte *)""; extEnd = extStart + _glewStrLen(extStart); /* initialize extensions */ #ifdef GLX_VERSION_1_3 if (glewExperimental || GLXEW_VERSION_1_3) CONST_CAST(GLXEW_VERSION_1_3) = !_glewInit_GLX_VERSION_1_3(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_VERSION_1_3 */ #ifdef GLX_3DFX_multisample CONST_CAST(GLXEW_3DFX_multisample) = _glewSearchExtension("GLX_3DFX_multisample", extStart, extEnd); #endif /* GLX_3DFX_multisample */ #ifdef GLX_AMD_gpu_association CONST_CAST(GLXEW_AMD_gpu_association) = _glewSearchExtension("GLX_AMD_gpu_association", extStart, extEnd); if (glewExperimental || GLXEW_AMD_gpu_association) CONST_CAST(GLXEW_AMD_gpu_association) = !_glewInit_GLX_AMD_gpu_association(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_AMD_gpu_association */ #ifdef GLX_ARB_create_context CONST_CAST(GLXEW_ARB_create_context) = _glewSearchExtension("GLX_ARB_create_context", extStart, extEnd); if (glewExperimental || GLXEW_ARB_create_context) CONST_CAST(GLXEW_ARB_create_context) = !_glewInit_GLX_ARB_create_context(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_ARB_create_context */ #ifdef GLX_ARB_create_context_profile CONST_CAST(GLXEW_ARB_create_context_profile) = _glewSearchExtension("GLX_ARB_create_context_profile", extStart, extEnd); #endif /* GLX_ARB_create_context_profile */ #ifdef GLX_ARB_create_context_robustness CONST_CAST(GLXEW_ARB_create_context_robustness) = _glewSearchExtension("GLX_ARB_create_context_robustness", extStart, extEnd); #endif /* GLX_ARB_create_context_robustness */ #ifdef GLX_ARB_fbconfig_float CONST_CAST(GLXEW_ARB_fbconfig_float) = _glewSearchExtension("GLX_ARB_fbconfig_float", extStart, extEnd); #endif /* GLX_ARB_fbconfig_float */ #ifdef GLX_ARB_framebuffer_sRGB CONST_CAST(GLXEW_ARB_framebuffer_sRGB) = _glewSearchExtension("GLX_ARB_framebuffer_sRGB", extStart, extEnd); #endif /* GLX_ARB_framebuffer_sRGB */ #ifdef GLX_ARB_get_proc_address CONST_CAST(GLXEW_ARB_get_proc_address) = _glewSearchExtension("GLX_ARB_get_proc_address", extStart, extEnd); #endif /* GLX_ARB_get_proc_address */ #ifdef GLX_ARB_multisample CONST_CAST(GLXEW_ARB_multisample) = _glewSearchExtension("GLX_ARB_multisample", extStart, extEnd); #endif /* GLX_ARB_multisample */ #ifdef GLX_ARB_robustness_application_isolation CONST_CAST(GLXEW_ARB_robustness_application_isolation) = _glewSearchExtension("GLX_ARB_robustness_application_isolation", extStart, extEnd); #endif /* GLX_ARB_robustness_application_isolation */ #ifdef GLX_ARB_robustness_share_group_isolation CONST_CAST(GLXEW_ARB_robustness_share_group_isolation) = _glewSearchExtension("GLX_ARB_robustness_share_group_isolation", extStart, extEnd); #endif /* GLX_ARB_robustness_share_group_isolation */ #ifdef GLX_ARB_vertex_buffer_object CONST_CAST(GLXEW_ARB_vertex_buffer_object) = _glewSearchExtension("GLX_ARB_vertex_buffer_object", extStart, extEnd); #endif /* GLX_ARB_vertex_buffer_object */ #ifdef GLX_ATI_pixel_format_float CONST_CAST(GLXEW_ATI_pixel_format_float) = _glewSearchExtension("GLX_ATI_pixel_format_float", extStart, extEnd); #endif /* GLX_ATI_pixel_format_float */ #ifdef GLX_ATI_render_texture CONST_CAST(GLXEW_ATI_render_texture) = _glewSearchExtension("GLX_ATI_render_texture", extStart, extEnd); if (glewExperimental || GLXEW_ATI_render_texture) CONST_CAST(GLXEW_ATI_render_texture) = !_glewInit_GLX_ATI_render_texture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_ATI_render_texture */ #ifdef GLX_EXT_buffer_age CONST_CAST(GLXEW_EXT_buffer_age) = _glewSearchExtension("GLX_EXT_buffer_age", extStart, extEnd); #endif /* GLX_EXT_buffer_age */ #ifdef GLX_EXT_create_context_es2_profile CONST_CAST(GLXEW_EXT_create_context_es2_profile) = _glewSearchExtension("GLX_EXT_create_context_es2_profile", extStart, extEnd); #endif /* GLX_EXT_create_context_es2_profile */ #ifdef GLX_EXT_create_context_es_profile CONST_CAST(GLXEW_EXT_create_context_es_profile) = _glewSearchExtension("GLX_EXT_create_context_es_profile", extStart, extEnd); #endif /* GLX_EXT_create_context_es_profile */ #ifdef GLX_EXT_fbconfig_packed_float CONST_CAST(GLXEW_EXT_fbconfig_packed_float) = _glewSearchExtension("GLX_EXT_fbconfig_packed_float", extStart, extEnd); #endif /* GLX_EXT_fbconfig_packed_float */ #ifdef GLX_EXT_framebuffer_sRGB CONST_CAST(GLXEW_EXT_framebuffer_sRGB) = _glewSearchExtension("GLX_EXT_framebuffer_sRGB", extStart, extEnd); #endif /* GLX_EXT_framebuffer_sRGB */ #ifdef GLX_EXT_import_context CONST_CAST(GLXEW_EXT_import_context) = _glewSearchExtension("GLX_EXT_import_context", extStart, extEnd); if (glewExperimental || GLXEW_EXT_import_context) CONST_CAST(GLXEW_EXT_import_context) = !_glewInit_GLX_EXT_import_context(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_EXT_import_context */ #ifdef GLX_EXT_scene_marker CONST_CAST(GLXEW_EXT_scene_marker) = _glewSearchExtension("GLX_EXT_scene_marker", extStart, extEnd); #endif /* GLX_EXT_scene_marker */ #ifdef GLX_EXT_swap_control CONST_CAST(GLXEW_EXT_swap_control) = _glewSearchExtension("GLX_EXT_swap_control", extStart, extEnd); if (glewExperimental || GLXEW_EXT_swap_control) CONST_CAST(GLXEW_EXT_swap_control) = !_glewInit_GLX_EXT_swap_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_EXT_swap_control */ #ifdef GLX_EXT_swap_control_tear CONST_CAST(GLXEW_EXT_swap_control_tear) = _glewSearchExtension("GLX_EXT_swap_control_tear", extStart, extEnd); #endif /* GLX_EXT_swap_control_tear */ #ifdef GLX_EXT_texture_from_pixmap CONST_CAST(GLXEW_EXT_texture_from_pixmap) = _glewSearchExtension("GLX_EXT_texture_from_pixmap", extStart, extEnd); if (glewExperimental || GLXEW_EXT_texture_from_pixmap) CONST_CAST(GLXEW_EXT_texture_from_pixmap) = !_glewInit_GLX_EXT_texture_from_pixmap(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_EXT_texture_from_pixmap */ #ifdef GLX_EXT_visual_info CONST_CAST(GLXEW_EXT_visual_info) = _glewSearchExtension("GLX_EXT_visual_info", extStart, extEnd); #endif /* GLX_EXT_visual_info */ #ifdef GLX_EXT_visual_rating CONST_CAST(GLXEW_EXT_visual_rating) = _glewSearchExtension("GLX_EXT_visual_rating", extStart, extEnd); #endif /* GLX_EXT_visual_rating */ #ifdef GLX_INTEL_swap_event CONST_CAST(GLXEW_INTEL_swap_event) = _glewSearchExtension("GLX_INTEL_swap_event", extStart, extEnd); #endif /* GLX_INTEL_swap_event */ #ifdef GLX_MESA_agp_offset CONST_CAST(GLXEW_MESA_agp_offset) = _glewSearchExtension("GLX_MESA_agp_offset", extStart, extEnd); if (glewExperimental || GLXEW_MESA_agp_offset) CONST_CAST(GLXEW_MESA_agp_offset) = !_glewInit_GLX_MESA_agp_offset(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_MESA_agp_offset */ #ifdef GLX_MESA_copy_sub_buffer CONST_CAST(GLXEW_MESA_copy_sub_buffer) = _glewSearchExtension("GLX_MESA_copy_sub_buffer", extStart, extEnd); if (glewExperimental || GLXEW_MESA_copy_sub_buffer) CONST_CAST(GLXEW_MESA_copy_sub_buffer) = !_glewInit_GLX_MESA_copy_sub_buffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_MESA_copy_sub_buffer */ #ifdef GLX_MESA_pixmap_colormap CONST_CAST(GLXEW_MESA_pixmap_colormap) = _glewSearchExtension("GLX_MESA_pixmap_colormap", extStart, extEnd); if (glewExperimental || GLXEW_MESA_pixmap_colormap) CONST_CAST(GLXEW_MESA_pixmap_colormap) = !_glewInit_GLX_MESA_pixmap_colormap(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_MESA_pixmap_colormap */ #ifdef GLX_MESA_release_buffers CONST_CAST(GLXEW_MESA_release_buffers) = _glewSearchExtension("GLX_MESA_release_buffers", extStart, extEnd); if (glewExperimental || GLXEW_MESA_release_buffers) CONST_CAST(GLXEW_MESA_release_buffers) = !_glewInit_GLX_MESA_release_buffers(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_MESA_release_buffers */ #ifdef GLX_MESA_set_3dfx_mode CONST_CAST(GLXEW_MESA_set_3dfx_mode) = _glewSearchExtension("GLX_MESA_set_3dfx_mode", extStart, extEnd); if (glewExperimental || GLXEW_MESA_set_3dfx_mode) CONST_CAST(GLXEW_MESA_set_3dfx_mode) = !_glewInit_GLX_MESA_set_3dfx_mode(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_MESA_set_3dfx_mode */ #ifdef GLX_MESA_swap_control CONST_CAST(GLXEW_MESA_swap_control) = _glewSearchExtension("GLX_MESA_swap_control", extStart, extEnd); if (glewExperimental || GLXEW_MESA_swap_control) CONST_CAST(GLXEW_MESA_swap_control) = !_glewInit_GLX_MESA_swap_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_MESA_swap_control */ #ifdef GLX_NV_copy_image CONST_CAST(GLXEW_NV_copy_image) = _glewSearchExtension("GLX_NV_copy_image", extStart, extEnd); if (glewExperimental || GLXEW_NV_copy_image) CONST_CAST(GLXEW_NV_copy_image) = !_glewInit_GLX_NV_copy_image(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_NV_copy_image */ #ifdef GLX_NV_float_buffer CONST_CAST(GLXEW_NV_float_buffer) = _glewSearchExtension("GLX_NV_float_buffer", extStart, extEnd); #endif /* GLX_NV_float_buffer */ #ifdef GLX_NV_multisample_coverage CONST_CAST(GLXEW_NV_multisample_coverage) = _glewSearchExtension("GLX_NV_multisample_coverage", extStart, extEnd); #endif /* GLX_NV_multisample_coverage */ #ifdef GLX_NV_present_video CONST_CAST(GLXEW_NV_present_video) = _glewSearchExtension("GLX_NV_present_video", extStart, extEnd); if (glewExperimental || GLXEW_NV_present_video) CONST_CAST(GLXEW_NV_present_video) = !_glewInit_GLX_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_NV_present_video */ #ifdef GLX_NV_swap_group CONST_CAST(GLXEW_NV_swap_group) = _glewSearchExtension("GLX_NV_swap_group", extStart, extEnd); if (glewExperimental || GLXEW_NV_swap_group) CONST_CAST(GLXEW_NV_swap_group) = !_glewInit_GLX_NV_swap_group(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_NV_swap_group */ #ifdef GLX_NV_vertex_array_range CONST_CAST(GLXEW_NV_vertex_array_range) = _glewSearchExtension("GLX_NV_vertex_array_range", extStart, extEnd); if (glewExperimental || GLXEW_NV_vertex_array_range) CONST_CAST(GLXEW_NV_vertex_array_range) = !_glewInit_GLX_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_NV_vertex_array_range */ #ifdef GLX_NV_video_capture CONST_CAST(GLXEW_NV_video_capture) = _glewSearchExtension("GLX_NV_video_capture", extStart, extEnd); if (glewExperimental || GLXEW_NV_video_capture) CONST_CAST(GLXEW_NV_video_capture) = !_glewInit_GLX_NV_video_capture(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_NV_video_capture */ #ifdef GLX_NV_video_output CONST_CAST(GLXEW_NV_video_output) = _glewSearchExtension("GLX_NV_video_output", extStart, extEnd); if (glewExperimental || GLXEW_NV_video_output) CONST_CAST(GLXEW_NV_video_output) = !_glewInit_GLX_NV_video_output(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_NV_video_output */ #ifdef GLX_OML_swap_method CONST_CAST(GLXEW_OML_swap_method) = _glewSearchExtension("GLX_OML_swap_method", extStart, extEnd); #endif /* GLX_OML_swap_method */ #ifdef GLX_OML_sync_control CONST_CAST(GLXEW_OML_sync_control) = _glewSearchExtension("GLX_OML_sync_control", extStart, extEnd); if (glewExperimental || GLXEW_OML_sync_control) CONST_CAST(GLXEW_OML_sync_control) = !_glewInit_GLX_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_OML_sync_control */ #ifdef GLX_SGIS_blended_overlay CONST_CAST(GLXEW_SGIS_blended_overlay) = _glewSearchExtension("GLX_SGIS_blended_overlay", extStart, extEnd); #endif /* GLX_SGIS_blended_overlay */ #ifdef GLX_SGIS_color_range CONST_CAST(GLXEW_SGIS_color_range) = _glewSearchExtension("GLX_SGIS_color_range", extStart, extEnd); #endif /* GLX_SGIS_color_range */ #ifdef GLX_SGIS_multisample CONST_CAST(GLXEW_SGIS_multisample) = _glewSearchExtension("GLX_SGIS_multisample", extStart, extEnd); #endif /* GLX_SGIS_multisample */ #ifdef GLX_SGIS_shared_multisample CONST_CAST(GLXEW_SGIS_shared_multisample) = _glewSearchExtension("GLX_SGIS_shared_multisample", extStart, extEnd); #endif /* GLX_SGIS_shared_multisample */ #ifdef GLX_SGIX_fbconfig CONST_CAST(GLXEW_SGIX_fbconfig) = _glewSearchExtension("GLX_SGIX_fbconfig", extStart, extEnd); if (glewExperimental || GLXEW_SGIX_fbconfig) CONST_CAST(GLXEW_SGIX_fbconfig) = !_glewInit_GLX_SGIX_fbconfig(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGIX_fbconfig */ #ifdef GLX_SGIX_hyperpipe CONST_CAST(GLXEW_SGIX_hyperpipe) = _glewSearchExtension("GLX_SGIX_hyperpipe", extStart, extEnd); if (glewExperimental || GLXEW_SGIX_hyperpipe) CONST_CAST(GLXEW_SGIX_hyperpipe) = !_glewInit_GLX_SGIX_hyperpipe(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGIX_hyperpipe */ #ifdef GLX_SGIX_pbuffer CONST_CAST(GLXEW_SGIX_pbuffer) = _glewSearchExtension("GLX_SGIX_pbuffer", extStart, extEnd); if (glewExperimental || GLXEW_SGIX_pbuffer) CONST_CAST(GLXEW_SGIX_pbuffer) = !_glewInit_GLX_SGIX_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGIX_pbuffer */ #ifdef GLX_SGIX_swap_barrier CONST_CAST(GLXEW_SGIX_swap_barrier) = _glewSearchExtension("GLX_SGIX_swap_barrier", extStart, extEnd); if (glewExperimental || GLXEW_SGIX_swap_barrier) CONST_CAST(GLXEW_SGIX_swap_barrier) = !_glewInit_GLX_SGIX_swap_barrier(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGIX_swap_barrier */ #ifdef GLX_SGIX_swap_group CONST_CAST(GLXEW_SGIX_swap_group) = _glewSearchExtension("GLX_SGIX_swap_group", extStart, extEnd); if (glewExperimental || GLXEW_SGIX_swap_group) CONST_CAST(GLXEW_SGIX_swap_group) = !_glewInit_GLX_SGIX_swap_group(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGIX_swap_group */ #ifdef GLX_SGIX_video_resize CONST_CAST(GLXEW_SGIX_video_resize) = _glewSearchExtension("GLX_SGIX_video_resize", extStart, extEnd); if (glewExperimental || GLXEW_SGIX_video_resize) CONST_CAST(GLXEW_SGIX_video_resize) = !_glewInit_GLX_SGIX_video_resize(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGIX_video_resize */ #ifdef GLX_SGIX_visual_select_group CONST_CAST(GLXEW_SGIX_visual_select_group) = _glewSearchExtension("GLX_SGIX_visual_select_group", extStart, extEnd); #endif /* GLX_SGIX_visual_select_group */ #ifdef GLX_SGI_cushion CONST_CAST(GLXEW_SGI_cushion) = _glewSearchExtension("GLX_SGI_cushion", extStart, extEnd); if (glewExperimental || GLXEW_SGI_cushion) CONST_CAST(GLXEW_SGI_cushion) = !_glewInit_GLX_SGI_cushion(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGI_cushion */ #ifdef GLX_SGI_make_current_read CONST_CAST(GLXEW_SGI_make_current_read) = _glewSearchExtension("GLX_SGI_make_current_read", extStart, extEnd); if (glewExperimental || GLXEW_SGI_make_current_read) CONST_CAST(GLXEW_SGI_make_current_read) = !_glewInit_GLX_SGI_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGI_make_current_read */ #ifdef GLX_SGI_swap_control CONST_CAST(GLXEW_SGI_swap_control) = _glewSearchExtension("GLX_SGI_swap_control", extStart, extEnd); if (glewExperimental || GLXEW_SGI_swap_control) CONST_CAST(GLXEW_SGI_swap_control) = !_glewInit_GLX_SGI_swap_control(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGI_swap_control */ #ifdef GLX_SGI_video_sync CONST_CAST(GLXEW_SGI_video_sync) = _glewSearchExtension("GLX_SGI_video_sync", extStart, extEnd); if (glewExperimental || GLXEW_SGI_video_sync) CONST_CAST(GLXEW_SGI_video_sync) = !_glewInit_GLX_SGI_video_sync(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SGI_video_sync */ #ifdef GLX_SUN_get_transparent_index CONST_CAST(GLXEW_SUN_get_transparent_index) = _glewSearchExtension("GLX_SUN_get_transparent_index", extStart, extEnd); if (glewExperimental || GLXEW_SUN_get_transparent_index) CONST_CAST(GLXEW_SUN_get_transparent_index) = !_glewInit_GLX_SUN_get_transparent_index(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SUN_get_transparent_index */ #ifdef GLX_SUN_video_resize CONST_CAST(GLXEW_SUN_video_resize) = _glewSearchExtension("GLX_SUN_video_resize", extStart, extEnd); if (glewExperimental || GLXEW_SUN_video_resize) CONST_CAST(GLXEW_SUN_video_resize) = !_glewInit_GLX_SUN_video_resize(GLEW_CONTEXT_ARG_VAR_INIT); #endif /* GLX_SUN_video_resize */ return GLEW_OK; } #endif /* !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) */ /* ------------------------------------------------------------------------ */ const GLubyte * GLEWAPIENTRY glewGetErrorString (GLenum error) { static const GLubyte* _glewErrorString[] = { (const GLubyte*)"No error", (const GLubyte*)"Missing GL version", (const GLubyte*)"GL 1.1 and up are not supported", (const GLubyte*)"GLX 1.2 and up are not supported", (const GLubyte*)"Unknown error" }; const int max_error = sizeof(_glewErrorString)/sizeof(*_glewErrorString) - 1; return _glewErrorString[(int)error > max_error ? max_error : (int)error]; } const GLubyte * GLEWAPIENTRY glewGetString (GLenum name) { static const GLubyte* _glewString[] = { (const GLubyte*)NULL, (const GLubyte*)"1.10.0", (const GLubyte*)"1", (const GLubyte*)"10", (const GLubyte*)"0" }; const int max_string = sizeof(_glewString)/sizeof(*_glewString) - 1; return _glewString[(int)name > max_string ? 0 : (int)name]; } /* ------------------------------------------------------------------------ */ GLboolean glewExperimental = GL_FALSE; #if !defined(GLEW_MX) #if defined(_WIN32) extern GLenum GLEWAPIENTRY wglewContextInit (void); #elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) extern GLenum GLEWAPIENTRY glxewContextInit (void); #endif /* _WIN32 */ GLenum GLEWAPIENTRY glewInit (void) { GLenum r; r = glewContextInit(); if ( r != 0 ) return r; #if defined(_WIN32) return wglewContextInit(); #elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */ return glxewContextInit(); #else return r; #endif /* _WIN32 */ } #endif /* !GLEW_MX */ #ifdef GLEW_MX GLboolean GLEWAPIENTRY glewContextIsSupported (const GLEWContext* ctx, const char* name) #else GLboolean GLEWAPIENTRY glewIsSupported (const char* name) #endif { GLubyte* pos = (GLubyte*)name; GLuint len = _glewStrLen(pos); GLboolean ret = GL_TRUE; while (ret && len > 0) { if (_glewStrSame1(&pos, &len, (const GLubyte*)"GL_", 3)) { if (_glewStrSame2(&pos, &len, (const GLubyte*)"VERSION_", 8)) { #ifdef GL_VERSION_1_2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2", 3)) { ret = GLEW_VERSION_1_2; continue; } #endif #ifdef GL_VERSION_1_2_1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2_1", 5)) { ret = GLEW_VERSION_1_2_1; continue; } #endif #ifdef GL_VERSION_1_3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_3", 3)) { ret = GLEW_VERSION_1_3; continue; } #endif #ifdef GL_VERSION_1_4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_4", 3)) { ret = GLEW_VERSION_1_4; continue; } #endif #ifdef GL_VERSION_1_5 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_5", 3)) { ret = GLEW_VERSION_1_5; continue; } #endif #ifdef GL_VERSION_2_0 if (_glewStrSame3(&pos, &len, (const GLubyte*)"2_0", 3)) { ret = GLEW_VERSION_2_0; continue; } #endif #ifdef GL_VERSION_2_1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"2_1", 3)) { ret = GLEW_VERSION_2_1; continue; } #endif #ifdef GL_VERSION_3_0 if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_0", 3)) { ret = GLEW_VERSION_3_0; continue; } #endif #ifdef GL_VERSION_3_1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_1", 3)) { ret = GLEW_VERSION_3_1; continue; } #endif #ifdef GL_VERSION_3_2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_2", 3)) { ret = GLEW_VERSION_3_2; continue; } #endif #ifdef GL_VERSION_3_3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_3", 3)) { ret = GLEW_VERSION_3_3; continue; } #endif #ifdef GL_VERSION_4_0 if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_0", 3)) { ret = GLEW_VERSION_4_0; continue; } #endif #ifdef GL_VERSION_4_1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_1", 3)) { ret = GLEW_VERSION_4_1; continue; } #endif #ifdef GL_VERSION_4_2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_2", 3)) { ret = GLEW_VERSION_4_2; continue; } #endif #ifdef GL_VERSION_4_3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_3", 3)) { ret = GLEW_VERSION_4_3; continue; } #endif #ifdef GL_VERSION_4_4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"4_4", 3)) { ret = GLEW_VERSION_4_4; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) { #ifdef GL_3DFX_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = GLEW_3DFX_multisample; continue; } #endif #ifdef GL_3DFX_tbuffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"tbuffer", 7)) { ret = GLEW_3DFX_tbuffer; continue; } #endif #ifdef GL_3DFX_texture_compression_FXT1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_FXT1", 24)) { ret = GLEW_3DFX_texture_compression_FXT1; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"AMD_", 4)) { #ifdef GL_AMD_blend_minmax_factor if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_minmax_factor", 19)) { ret = GLEW_AMD_blend_minmax_factor; continue; } #endif #ifdef GL_AMD_conservative_depth if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_depth", 18)) { ret = GLEW_AMD_conservative_depth; continue; } #endif #ifdef GL_AMD_debug_output if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug_output", 12)) { ret = GLEW_AMD_debug_output; continue; } #endif #ifdef GL_AMD_depth_clamp_separate if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_clamp_separate", 20)) { ret = GLEW_AMD_depth_clamp_separate; continue; } #endif #ifdef GL_AMD_draw_buffers_blend if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers_blend", 18)) { ret = GLEW_AMD_draw_buffers_blend; continue; } #endif #ifdef GL_AMD_interleaved_elements if (_glewStrSame3(&pos, &len, (const GLubyte*)"interleaved_elements", 20)) { ret = GLEW_AMD_interleaved_elements; continue; } #endif #ifdef GL_AMD_multi_draw_indirect if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_indirect", 19)) { ret = GLEW_AMD_multi_draw_indirect; continue; } #endif #ifdef GL_AMD_name_gen_delete if (_glewStrSame3(&pos, &len, (const GLubyte*)"name_gen_delete", 15)) { ret = GLEW_AMD_name_gen_delete; continue; } #endif #ifdef GL_AMD_performance_monitor if (_glewStrSame3(&pos, &len, (const GLubyte*)"performance_monitor", 19)) { ret = GLEW_AMD_performance_monitor; continue; } #endif #ifdef GL_AMD_pinned_memory if (_glewStrSame3(&pos, &len, (const GLubyte*)"pinned_memory", 13)) { ret = GLEW_AMD_pinned_memory; continue; } #endif #ifdef GL_AMD_query_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"query_buffer_object", 19)) { ret = GLEW_AMD_query_buffer_object; continue; } #endif #ifdef GL_AMD_sample_positions if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_positions", 16)) { ret = GLEW_AMD_sample_positions; continue; } #endif #ifdef GL_AMD_seamless_cubemap_per_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"seamless_cubemap_per_texture", 28)) { ret = GLEW_AMD_seamless_cubemap_per_texture; continue; } #endif #ifdef GL_AMD_shader_stencil_export if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_stencil_export", 21)) { ret = GLEW_AMD_shader_stencil_export; continue; } #endif #ifdef GL_AMD_shader_trinary_minmax if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_trinary_minmax", 21)) { ret = GLEW_AMD_shader_trinary_minmax; continue; } #endif #ifdef GL_AMD_sparse_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture", 14)) { ret = GLEW_AMD_sparse_texture; continue; } #endif #ifdef GL_AMD_stencil_operation_extended if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_operation_extended", 26)) { ret = GLEW_AMD_stencil_operation_extended; continue; } #endif #ifdef GL_AMD_texture_texture4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_texture4", 16)) { ret = GLEW_AMD_texture_texture4; continue; } #endif #ifdef GL_AMD_transform_feedback3_lines_triangles if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback3_lines_triangles", 35)) { ret = GLEW_AMD_transform_feedback3_lines_triangles; continue; } #endif #ifdef GL_AMD_vertex_shader_layer if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_layer", 19)) { ret = GLEW_AMD_vertex_shader_layer; continue; } #endif #ifdef GL_AMD_vertex_shader_tessellator if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_tessellator", 25)) { ret = GLEW_AMD_vertex_shader_tessellator; continue; } #endif #ifdef GL_AMD_vertex_shader_viewport_index if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_viewport_index", 28)) { ret = GLEW_AMD_vertex_shader_viewport_index; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ANGLE_", 6)) { #ifdef GL_ANGLE_depth_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) { ret = GLEW_ANGLE_depth_texture; continue; } #endif #ifdef GL_ANGLE_framebuffer_blit if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_blit", 16)) { ret = GLEW_ANGLE_framebuffer_blit; continue; } #endif #ifdef GL_ANGLE_framebuffer_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample", 23)) { ret = GLEW_ANGLE_framebuffer_multisample; continue; } #endif #ifdef GL_ANGLE_instanced_arrays if (_glewStrSame3(&pos, &len, (const GLubyte*)"instanced_arrays", 16)) { ret = GLEW_ANGLE_instanced_arrays; continue; } #endif #ifdef GL_ANGLE_pack_reverse_row_order if (_glewStrSame3(&pos, &len, (const GLubyte*)"pack_reverse_row_order", 22)) { ret = GLEW_ANGLE_pack_reverse_row_order; continue; } #endif #ifdef GL_ANGLE_program_binary if (_glewStrSame3(&pos, &len, (const GLubyte*)"program_binary", 14)) { ret = GLEW_ANGLE_program_binary; continue; } #endif #ifdef GL_ANGLE_texture_compression_dxt1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt1", 24)) { ret = GLEW_ANGLE_texture_compression_dxt1; continue; } #endif #ifdef GL_ANGLE_texture_compression_dxt3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt3", 24)) { ret = GLEW_ANGLE_texture_compression_dxt3; continue; } #endif #ifdef GL_ANGLE_texture_compression_dxt5 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt5", 24)) { ret = GLEW_ANGLE_texture_compression_dxt5; continue; } #endif #ifdef GL_ANGLE_texture_usage if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_usage", 13)) { ret = GLEW_ANGLE_texture_usage; continue; } #endif #ifdef GL_ANGLE_timer_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"timer_query", 11)) { ret = GLEW_ANGLE_timer_query; continue; } #endif #ifdef GL_ANGLE_translated_shader_source if (_glewStrSame3(&pos, &len, (const GLubyte*)"translated_shader_source", 24)) { ret = GLEW_ANGLE_translated_shader_source; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"APPLE_", 6)) { #ifdef GL_APPLE_aux_depth_stencil if (_glewStrSame3(&pos, &len, (const GLubyte*)"aux_depth_stencil", 17)) { ret = GLEW_APPLE_aux_depth_stencil; continue; } #endif #ifdef GL_APPLE_client_storage if (_glewStrSame3(&pos, &len, (const GLubyte*)"client_storage", 14)) { ret = GLEW_APPLE_client_storage; continue; } #endif #ifdef GL_APPLE_element_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"element_array", 13)) { ret = GLEW_APPLE_element_array; continue; } #endif #ifdef GL_APPLE_fence if (_glewStrSame3(&pos, &len, (const GLubyte*)"fence", 5)) { ret = GLEW_APPLE_fence; continue; } #endif #ifdef GL_APPLE_float_pixels if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_pixels", 12)) { ret = GLEW_APPLE_float_pixels; continue; } #endif #ifdef GL_APPLE_flush_buffer_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"flush_buffer_range", 18)) { ret = GLEW_APPLE_flush_buffer_range; continue; } #endif #ifdef GL_APPLE_object_purgeable if (_glewStrSame3(&pos, &len, (const GLubyte*)"object_purgeable", 16)) { ret = GLEW_APPLE_object_purgeable; continue; } #endif #ifdef GL_APPLE_pixel_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer", 12)) { ret = GLEW_APPLE_pixel_buffer; continue; } #endif #ifdef GL_APPLE_rgb_422 if (_glewStrSame3(&pos, &len, (const GLubyte*)"rgb_422", 7)) { ret = GLEW_APPLE_rgb_422; continue; } #endif #ifdef GL_APPLE_row_bytes if (_glewStrSame3(&pos, &len, (const GLubyte*)"row_bytes", 9)) { ret = GLEW_APPLE_row_bytes; continue; } #endif #ifdef GL_APPLE_specular_vector if (_glewStrSame3(&pos, &len, (const GLubyte*)"specular_vector", 15)) { ret = GLEW_APPLE_specular_vector; continue; } #endif #ifdef GL_APPLE_texture_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_range", 13)) { ret = GLEW_APPLE_texture_range; continue; } #endif #ifdef GL_APPLE_transform_hint if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_hint", 14)) { ret = GLEW_APPLE_transform_hint; continue; } #endif #ifdef GL_APPLE_vertex_array_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) { ret = GLEW_APPLE_vertex_array_object; continue; } #endif #ifdef GL_APPLE_vertex_array_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) { ret = GLEW_APPLE_vertex_array_range; continue; } #endif #ifdef GL_APPLE_vertex_program_evaluators if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program_evaluators", 25)) { ret = GLEW_APPLE_vertex_program_evaluators; continue; } #endif #ifdef GL_APPLE_ycbcr_422 if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycbcr_422", 9)) { ret = GLEW_APPLE_ycbcr_422; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) { #ifdef GL_ARB_ES2_compatibility if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES2_compatibility", 17)) { ret = GLEW_ARB_ES2_compatibility; continue; } #endif #ifdef GL_ARB_ES3_compatibility if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES3_compatibility", 17)) { ret = GLEW_ARB_ES3_compatibility; continue; } #endif #ifdef GL_ARB_arrays_of_arrays if (_glewStrSame3(&pos, &len, (const GLubyte*)"arrays_of_arrays", 16)) { ret = GLEW_ARB_arrays_of_arrays; continue; } #endif #ifdef GL_ARB_base_instance if (_glewStrSame3(&pos, &len, (const GLubyte*)"base_instance", 13)) { ret = GLEW_ARB_base_instance; continue; } #endif #ifdef GL_ARB_bindless_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindless_texture", 16)) { ret = GLEW_ARB_bindless_texture; continue; } #endif #ifdef GL_ARB_blend_func_extended if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_func_extended", 19)) { ret = GLEW_ARB_blend_func_extended; continue; } #endif #ifdef GL_ARB_buffer_storage if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_storage", 14)) { ret = GLEW_ARB_buffer_storage; continue; } #endif #ifdef GL_ARB_cl_event if (_glewStrSame3(&pos, &len, (const GLubyte*)"cl_event", 8)) { ret = GLEW_ARB_cl_event; continue; } #endif #ifdef GL_ARB_clear_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"clear_buffer_object", 19)) { ret = GLEW_ARB_clear_buffer_object; continue; } #endif #ifdef GL_ARB_clear_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"clear_texture", 13)) { ret = GLEW_ARB_clear_texture; continue; } #endif #ifdef GL_ARB_color_buffer_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_buffer_float", 18)) { ret = GLEW_ARB_color_buffer_float; continue; } #endif #ifdef GL_ARB_compatibility if (_glewStrSame3(&pos, &len, (const GLubyte*)"compatibility", 13)) { ret = GLEW_ARB_compatibility; continue; } #endif #ifdef GL_ARB_compressed_texture_pixel_storage if (_glewStrSame3(&pos, &len, (const GLubyte*)"compressed_texture_pixel_storage", 32)) { ret = GLEW_ARB_compressed_texture_pixel_storage; continue; } #endif #ifdef GL_ARB_compute_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"compute_shader", 14)) { ret = GLEW_ARB_compute_shader; continue; } #endif #ifdef GL_ARB_compute_variable_group_size if (_glewStrSame3(&pos, &len, (const GLubyte*)"compute_variable_group_size", 27)) { ret = GLEW_ARB_compute_variable_group_size; continue; } #endif #ifdef GL_ARB_conservative_depth if (_glewStrSame3(&pos, &len, (const GLubyte*)"conservative_depth", 18)) { ret = GLEW_ARB_conservative_depth; continue; } #endif #ifdef GL_ARB_copy_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_buffer", 11)) { ret = GLEW_ARB_copy_buffer; continue; } #endif #ifdef GL_ARB_copy_image if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) { ret = GLEW_ARB_copy_image; continue; } #endif #ifdef GL_ARB_debug_output if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug_output", 12)) { ret = GLEW_ARB_debug_output; continue; } #endif #ifdef GL_ARB_depth_buffer_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_buffer_float", 18)) { ret = GLEW_ARB_depth_buffer_float; continue; } #endif #ifdef GL_ARB_depth_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_clamp", 11)) { ret = GLEW_ARB_depth_clamp; continue; } #endif #ifdef GL_ARB_depth_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) { ret = GLEW_ARB_depth_texture; continue; } #endif #ifdef GL_ARB_draw_buffers if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) { ret = GLEW_ARB_draw_buffers; continue; } #endif #ifdef GL_ARB_draw_buffers_blend if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers_blend", 18)) { ret = GLEW_ARB_draw_buffers_blend; continue; } #endif #ifdef GL_ARB_draw_elements_base_vertex if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_elements_base_vertex", 25)) { ret = GLEW_ARB_draw_elements_base_vertex; continue; } #endif #ifdef GL_ARB_draw_indirect if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_indirect", 13)) { ret = GLEW_ARB_draw_indirect; continue; } #endif #ifdef GL_ARB_draw_instanced if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_instanced", 14)) { ret = GLEW_ARB_draw_instanced; continue; } #endif #ifdef GL_ARB_enhanced_layouts if (_glewStrSame3(&pos, &len, (const GLubyte*)"enhanced_layouts", 16)) { ret = GLEW_ARB_enhanced_layouts; continue; } #endif #ifdef GL_ARB_explicit_attrib_location if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_attrib_location", 24)) { ret = GLEW_ARB_explicit_attrib_location; continue; } #endif #ifdef GL_ARB_explicit_uniform_location if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_uniform_location", 25)) { ret = GLEW_ARB_explicit_uniform_location; continue; } #endif #ifdef GL_ARB_fragment_coord_conventions if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_coord_conventions", 26)) { ret = GLEW_ARB_fragment_coord_conventions; continue; } #endif #ifdef GL_ARB_fragment_layer_viewport if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_layer_viewport", 23)) { ret = GLEW_ARB_fragment_layer_viewport; continue; } #endif #ifdef GL_ARB_fragment_program if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program", 16)) { ret = GLEW_ARB_fragment_program; continue; } #endif #ifdef GL_ARB_fragment_program_shadow if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program_shadow", 23)) { ret = GLEW_ARB_fragment_program_shadow; continue; } #endif #ifdef GL_ARB_fragment_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader", 15)) { ret = GLEW_ARB_fragment_shader; continue; } #endif #ifdef GL_ARB_framebuffer_no_attachments if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_no_attachments", 26)) { ret = GLEW_ARB_framebuffer_no_attachments; continue; } #endif #ifdef GL_ARB_framebuffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_object", 18)) { ret = GLEW_ARB_framebuffer_object; continue; } #endif #ifdef GL_ARB_framebuffer_sRGB if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) { ret = GLEW_ARB_framebuffer_sRGB; continue; } #endif #ifdef GL_ARB_geometry_shader4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) { ret = GLEW_ARB_geometry_shader4; continue; } #endif #ifdef GL_ARB_get_program_binary if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_program_binary", 18)) { ret = GLEW_ARB_get_program_binary; continue; } #endif #ifdef GL_ARB_gpu_shader5 if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader5", 11)) { ret = GLEW_ARB_gpu_shader5; continue; } #endif #ifdef GL_ARB_gpu_shader_fp64 if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader_fp64", 15)) { ret = GLEW_ARB_gpu_shader_fp64; continue; } #endif #ifdef GL_ARB_half_float_pixel if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float_pixel", 16)) { ret = GLEW_ARB_half_float_pixel; continue; } #endif #ifdef GL_ARB_half_float_vertex if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float_vertex", 17)) { ret = GLEW_ARB_half_float_vertex; continue; } #endif #ifdef GL_ARB_imaging if (_glewStrSame3(&pos, &len, (const GLubyte*)"imaging", 7)) { ret = GLEW_ARB_imaging; continue; } #endif #ifdef GL_ARB_indirect_parameters if (_glewStrSame3(&pos, &len, (const GLubyte*)"indirect_parameters", 19)) { ret = GLEW_ARB_indirect_parameters; continue; } #endif #ifdef GL_ARB_instanced_arrays if (_glewStrSame3(&pos, &len, (const GLubyte*)"instanced_arrays", 16)) { ret = GLEW_ARB_instanced_arrays; continue; } #endif #ifdef GL_ARB_internalformat_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"internalformat_query", 20)) { ret = GLEW_ARB_internalformat_query; continue; } #endif #ifdef GL_ARB_internalformat_query2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"internalformat_query2", 21)) { ret = GLEW_ARB_internalformat_query2; continue; } #endif #ifdef GL_ARB_invalidate_subdata if (_glewStrSame3(&pos, &len, (const GLubyte*)"invalidate_subdata", 18)) { ret = GLEW_ARB_invalidate_subdata; continue; } #endif #ifdef GL_ARB_map_buffer_alignment if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_buffer_alignment", 20)) { ret = GLEW_ARB_map_buffer_alignment; continue; } #endif #ifdef GL_ARB_map_buffer_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_buffer_range", 16)) { ret = GLEW_ARB_map_buffer_range; continue; } #endif #ifdef GL_ARB_matrix_palette if (_glewStrSame3(&pos, &len, (const GLubyte*)"matrix_palette", 14)) { ret = GLEW_ARB_matrix_palette; continue; } #endif #ifdef GL_ARB_multi_bind if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_bind", 10)) { ret = GLEW_ARB_multi_bind; continue; } #endif #ifdef GL_ARB_multi_draw_indirect if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_indirect", 19)) { ret = GLEW_ARB_multi_draw_indirect; continue; } #endif #ifdef GL_ARB_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = GLEW_ARB_multisample; continue; } #endif #ifdef GL_ARB_multitexture if (_glewStrSame3(&pos, &len, (const GLubyte*)"multitexture", 12)) { ret = GLEW_ARB_multitexture; continue; } #endif #ifdef GL_ARB_occlusion_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query", 15)) { ret = GLEW_ARB_occlusion_query; continue; } #endif #ifdef GL_ARB_occlusion_query2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query2", 16)) { ret = GLEW_ARB_occlusion_query2; continue; } #endif #ifdef GL_ARB_pixel_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer_object", 19)) { ret = GLEW_ARB_pixel_buffer_object; continue; } #endif #ifdef GL_ARB_point_parameters if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_parameters", 16)) { ret = GLEW_ARB_point_parameters; continue; } #endif #ifdef GL_ARB_point_sprite if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprite", 12)) { ret = GLEW_ARB_point_sprite; continue; } #endif #ifdef GL_ARB_program_interface_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"program_interface_query", 23)) { ret = GLEW_ARB_program_interface_query; continue; } #endif #ifdef GL_ARB_provoking_vertex if (_glewStrSame3(&pos, &len, (const GLubyte*)"provoking_vertex", 16)) { ret = GLEW_ARB_provoking_vertex; continue; } #endif #ifdef GL_ARB_query_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"query_buffer_object", 19)) { ret = GLEW_ARB_query_buffer_object; continue; } #endif #ifdef GL_ARB_robust_buffer_access_behavior if (_glewStrSame3(&pos, &len, (const GLubyte*)"robust_buffer_access_behavior", 29)) { ret = GLEW_ARB_robust_buffer_access_behavior; continue; } #endif #ifdef GL_ARB_robustness if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness", 10)) { ret = GLEW_ARB_robustness; continue; } #endif #ifdef GL_ARB_robustness_application_isolation if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_application_isolation", 32)) { ret = GLEW_ARB_robustness_application_isolation; continue; } #endif #ifdef GL_ARB_robustness_share_group_isolation if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_share_group_isolation", 32)) { ret = GLEW_ARB_robustness_share_group_isolation; continue; } #endif #ifdef GL_ARB_sample_shading if (_glewStrSame3(&pos, &len, (const GLubyte*)"sample_shading", 14)) { ret = GLEW_ARB_sample_shading; continue; } #endif #ifdef GL_ARB_sampler_objects if (_glewStrSame3(&pos, &len, (const GLubyte*)"sampler_objects", 15)) { ret = GLEW_ARB_sampler_objects; continue; } #endif #ifdef GL_ARB_seamless_cube_map if (_glewStrSame3(&pos, &len, (const GLubyte*)"seamless_cube_map", 17)) { ret = GLEW_ARB_seamless_cube_map; continue; } #endif #ifdef GL_ARB_seamless_cubemap_per_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"seamless_cubemap_per_texture", 28)) { ret = GLEW_ARB_seamless_cubemap_per_texture; continue; } #endif #ifdef GL_ARB_separate_shader_objects if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_shader_objects", 23)) { ret = GLEW_ARB_separate_shader_objects; continue; } #endif #ifdef GL_ARB_shader_atomic_counters if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_counters", 22)) { ret = GLEW_ARB_shader_atomic_counters; continue; } #endif #ifdef GL_ARB_shader_bit_encoding if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_bit_encoding", 19)) { ret = GLEW_ARB_shader_bit_encoding; continue; } #endif #ifdef GL_ARB_shader_draw_parameters if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_draw_parameters", 22)) { ret = GLEW_ARB_shader_draw_parameters; continue; } #endif #ifdef GL_ARB_shader_group_vote if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_group_vote", 17)) { ret = GLEW_ARB_shader_group_vote; continue; } #endif #ifdef GL_ARB_shader_image_load_store if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_image_load_store", 23)) { ret = GLEW_ARB_shader_image_load_store; continue; } #endif #ifdef GL_ARB_shader_image_size if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_image_size", 17)) { ret = GLEW_ARB_shader_image_size; continue; } #endif #ifdef GL_ARB_shader_objects if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_objects", 14)) { ret = GLEW_ARB_shader_objects; continue; } #endif #ifdef GL_ARB_shader_precision if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_precision", 16)) { ret = GLEW_ARB_shader_precision; continue; } #endif #ifdef GL_ARB_shader_stencil_export if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_stencil_export", 21)) { ret = GLEW_ARB_shader_stencil_export; continue; } #endif #ifdef GL_ARB_shader_storage_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_storage_buffer_object", 28)) { ret = GLEW_ARB_shader_storage_buffer_object; continue; } #endif #ifdef GL_ARB_shader_subroutine if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_subroutine", 17)) { ret = GLEW_ARB_shader_subroutine; continue; } #endif #ifdef GL_ARB_shader_texture_lod if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_texture_lod", 18)) { ret = GLEW_ARB_shader_texture_lod; continue; } #endif #ifdef GL_ARB_shading_language_100 if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_100", 20)) { ret = GLEW_ARB_shading_language_100; continue; } #endif #ifdef GL_ARB_shading_language_420pack if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_420pack", 24)) { ret = GLEW_ARB_shading_language_420pack; continue; } #endif #ifdef GL_ARB_shading_language_include if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_include", 24)) { ret = GLEW_ARB_shading_language_include; continue; } #endif #ifdef GL_ARB_shading_language_packing if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_packing", 24)) { ret = GLEW_ARB_shading_language_packing; continue; } #endif #ifdef GL_ARB_shadow if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow", 6)) { ret = GLEW_ARB_shadow; continue; } #endif #ifdef GL_ARB_shadow_ambient if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_ambient", 14)) { ret = GLEW_ARB_shadow_ambient; continue; } #endif #ifdef GL_ARB_sparse_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"sparse_texture", 14)) { ret = GLEW_ARB_sparse_texture; continue; } #endif #ifdef GL_ARB_stencil_texturing if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_texturing", 17)) { ret = GLEW_ARB_stencil_texturing; continue; } #endif #ifdef GL_ARB_sync if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync", 4)) { ret = GLEW_ARB_sync; continue; } #endif #ifdef GL_ARB_tessellation_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"tessellation_shader", 19)) { ret = GLEW_ARB_tessellation_shader; continue; } #endif #ifdef GL_ARB_texture_border_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_border_clamp", 20)) { ret = GLEW_ARB_texture_border_clamp; continue; } #endif #ifdef GL_ARB_texture_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object", 21)) { ret = GLEW_ARB_texture_buffer_object; continue; } #endif #ifdef GL_ARB_texture_buffer_object_rgb32 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object_rgb32", 27)) { ret = GLEW_ARB_texture_buffer_object_rgb32; continue; } #endif #ifdef GL_ARB_texture_buffer_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_range", 20)) { ret = GLEW_ARB_texture_buffer_range; continue; } #endif #ifdef GL_ARB_texture_compression if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression", 19)) { ret = GLEW_ARB_texture_compression; continue; } #endif #ifdef GL_ARB_texture_compression_bptc if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_bptc", 24)) { ret = GLEW_ARB_texture_compression_bptc; continue; } #endif #ifdef GL_ARB_texture_compression_rgtc if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_rgtc", 24)) { ret = GLEW_ARB_texture_compression_rgtc; continue; } #endif #ifdef GL_ARB_texture_cube_map if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map", 16)) { ret = GLEW_ARB_texture_cube_map; continue; } #endif #ifdef GL_ARB_texture_cube_map_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map_array", 22)) { ret = GLEW_ARB_texture_cube_map_array; continue; } #endif #ifdef GL_ARB_texture_env_add if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_add", 15)) { ret = GLEW_ARB_texture_env_add; continue; } #endif #ifdef GL_ARB_texture_env_combine if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine", 19)) { ret = GLEW_ARB_texture_env_combine; continue; } #endif #ifdef GL_ARB_texture_env_crossbar if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_crossbar", 20)) { ret = GLEW_ARB_texture_env_crossbar; continue; } #endif #ifdef GL_ARB_texture_env_dot3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_dot3", 16)) { ret = GLEW_ARB_texture_env_dot3; continue; } #endif #ifdef GL_ARB_texture_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_float", 13)) { ret = GLEW_ARB_texture_float; continue; } #endif #ifdef GL_ARB_texture_gather if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_gather", 14)) { ret = GLEW_ARB_texture_gather; continue; } #endif #ifdef GL_ARB_texture_mirror_clamp_to_edge if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_clamp_to_edge", 28)) { ret = GLEW_ARB_texture_mirror_clamp_to_edge; continue; } #endif #ifdef GL_ARB_texture_mirrored_repeat if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirrored_repeat", 23)) { ret = GLEW_ARB_texture_mirrored_repeat; continue; } #endif #ifdef GL_ARB_texture_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multisample", 19)) { ret = GLEW_ARB_texture_multisample; continue; } #endif #ifdef GL_ARB_texture_non_power_of_two if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_non_power_of_two", 24)) { ret = GLEW_ARB_texture_non_power_of_two; continue; } #endif #ifdef GL_ARB_texture_query_levels if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_query_levels", 20)) { ret = GLEW_ARB_texture_query_levels; continue; } #endif #ifdef GL_ARB_texture_query_lod if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_query_lod", 17)) { ret = GLEW_ARB_texture_query_lod; continue; } #endif #ifdef GL_ARB_texture_rectangle if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) { ret = GLEW_ARB_texture_rectangle; continue; } #endif #ifdef GL_ARB_texture_rg if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rg", 10)) { ret = GLEW_ARB_texture_rg; continue; } #endif #ifdef GL_ARB_texture_rgb10_a2ui if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rgb10_a2ui", 18)) { ret = GLEW_ARB_texture_rgb10_a2ui; continue; } #endif #ifdef GL_ARB_texture_stencil8 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_stencil8", 16)) { ret = GLEW_ARB_texture_stencil8; continue; } #endif #ifdef GL_ARB_texture_storage if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_storage", 15)) { ret = GLEW_ARB_texture_storage; continue; } #endif #ifdef GL_ARB_texture_storage_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_storage_multisample", 27)) { ret = GLEW_ARB_texture_storage_multisample; continue; } #endif #ifdef GL_ARB_texture_swizzle if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_swizzle", 15)) { ret = GLEW_ARB_texture_swizzle; continue; } #endif #ifdef GL_ARB_texture_view if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_view", 12)) { ret = GLEW_ARB_texture_view; continue; } #endif #ifdef GL_ARB_timer_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"timer_query", 11)) { ret = GLEW_ARB_timer_query; continue; } #endif #ifdef GL_ARB_transform_feedback2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback2", 19)) { ret = GLEW_ARB_transform_feedback2; continue; } #endif #ifdef GL_ARB_transform_feedback3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback3", 19)) { ret = GLEW_ARB_transform_feedback3; continue; } #endif #ifdef GL_ARB_transform_feedback_instanced if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback_instanced", 28)) { ret = GLEW_ARB_transform_feedback_instanced; continue; } #endif #ifdef GL_ARB_transpose_matrix if (_glewStrSame3(&pos, &len, (const GLubyte*)"transpose_matrix", 16)) { ret = GLEW_ARB_transpose_matrix; continue; } #endif #ifdef GL_ARB_uniform_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"uniform_buffer_object", 21)) { ret = GLEW_ARB_uniform_buffer_object; continue; } #endif #ifdef GL_ARB_vertex_array_bgra if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_bgra", 17)) { ret = GLEW_ARB_vertex_array_bgra; continue; } #endif #ifdef GL_ARB_vertex_array_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) { ret = GLEW_ARB_vertex_array_object; continue; } #endif #ifdef GL_ARB_vertex_attrib_64bit if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_64bit", 19)) { ret = GLEW_ARB_vertex_attrib_64bit; continue; } #endif #ifdef GL_ARB_vertex_attrib_binding if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_binding", 21)) { ret = GLEW_ARB_vertex_attrib_binding; continue; } #endif #ifdef GL_ARB_vertex_blend if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_blend", 12)) { ret = GLEW_ARB_vertex_blend; continue; } #endif #ifdef GL_ARB_vertex_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_buffer_object", 20)) { ret = GLEW_ARB_vertex_buffer_object; continue; } #endif #ifdef GL_ARB_vertex_program if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program", 14)) { ret = GLEW_ARB_vertex_program; continue; } #endif #ifdef GL_ARB_vertex_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader", 13)) { ret = GLEW_ARB_vertex_shader; continue; } #endif #ifdef GL_ARB_vertex_type_10f_11f_11f_rev if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_type_10f_11f_11f_rev", 27)) { ret = GLEW_ARB_vertex_type_10f_11f_11f_rev; continue; } #endif #ifdef GL_ARB_vertex_type_2_10_10_10_rev if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_type_2_10_10_10_rev", 26)) { ret = GLEW_ARB_vertex_type_2_10_10_10_rev; continue; } #endif #ifdef GL_ARB_viewport_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"viewport_array", 14)) { ret = GLEW_ARB_viewport_array; continue; } #endif #ifdef GL_ARB_window_pos if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_pos", 10)) { ret = GLEW_ARB_window_pos; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATIX_", 5)) { #ifdef GL_ATIX_point_sprites if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprites", 13)) { ret = GLEW_ATIX_point_sprites; continue; } #endif #ifdef GL_ATIX_texture_env_combine3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine3", 20)) { ret = GLEW_ATIX_texture_env_combine3; continue; } #endif #ifdef GL_ATIX_texture_env_route if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_route", 17)) { ret = GLEW_ATIX_texture_env_route; continue; } #endif #ifdef GL_ATIX_vertex_shader_output_point_size if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_output_point_size", 31)) { ret = GLEW_ATIX_vertex_shader_output_point_size; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) { #ifdef GL_ATI_draw_buffers if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) { ret = GLEW_ATI_draw_buffers; continue; } #endif #ifdef GL_ATI_element_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"element_array", 13)) { ret = GLEW_ATI_element_array; continue; } #endif #ifdef GL_ATI_envmap_bumpmap if (_glewStrSame3(&pos, &len, (const GLubyte*)"envmap_bumpmap", 14)) { ret = GLEW_ATI_envmap_bumpmap; continue; } #endif #ifdef GL_ATI_fragment_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader", 15)) { ret = GLEW_ATI_fragment_shader; continue; } #endif #ifdef GL_ATI_map_object_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_object_buffer", 17)) { ret = GLEW_ATI_map_object_buffer; continue; } #endif #ifdef GL_ATI_meminfo if (_glewStrSame3(&pos, &len, (const GLubyte*)"meminfo", 7)) { ret = GLEW_ATI_meminfo; continue; } #endif #ifdef GL_ATI_pn_triangles if (_glewStrSame3(&pos, &len, (const GLubyte*)"pn_triangles", 12)) { ret = GLEW_ATI_pn_triangles; continue; } #endif #ifdef GL_ATI_separate_stencil if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_stencil", 16)) { ret = GLEW_ATI_separate_stencil; continue; } #endif #ifdef GL_ATI_shader_texture_lod if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_texture_lod", 18)) { ret = GLEW_ATI_shader_texture_lod; continue; } #endif #ifdef GL_ATI_text_fragment_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"text_fragment_shader", 20)) { ret = GLEW_ATI_text_fragment_shader; continue; } #endif #ifdef GL_ATI_texture_compression_3dc if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_3dc", 23)) { ret = GLEW_ATI_texture_compression_3dc; continue; } #endif #ifdef GL_ATI_texture_env_combine3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine3", 20)) { ret = GLEW_ATI_texture_env_combine3; continue; } #endif #ifdef GL_ATI_texture_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_float", 13)) { ret = GLEW_ATI_texture_float; continue; } #endif #ifdef GL_ATI_texture_mirror_once if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_once", 19)) { ret = GLEW_ATI_texture_mirror_once; continue; } #endif #ifdef GL_ATI_vertex_array_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) { ret = GLEW_ATI_vertex_array_object; continue; } #endif #ifdef GL_ATI_vertex_attrib_array_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_array_object", 26)) { ret = GLEW_ATI_vertex_attrib_array_object; continue; } #endif #ifdef GL_ATI_vertex_streams if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_streams", 14)) { ret = GLEW_ATI_vertex_streams; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) { #ifdef GL_EXT_422_pixels if (_glewStrSame3(&pos, &len, (const GLubyte*)"422_pixels", 10)) { ret = GLEW_EXT_422_pixels; continue; } #endif #ifdef GL_EXT_Cg_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"Cg_shader", 9)) { ret = GLEW_EXT_Cg_shader; continue; } #endif #ifdef GL_EXT_abgr if (_glewStrSame3(&pos, &len, (const GLubyte*)"abgr", 4)) { ret = GLEW_EXT_abgr; continue; } #endif #ifdef GL_EXT_bgra if (_glewStrSame3(&pos, &len, (const GLubyte*)"bgra", 4)) { ret = GLEW_EXT_bgra; continue; } #endif #ifdef GL_EXT_bindable_uniform if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindable_uniform", 16)) { ret = GLEW_EXT_bindable_uniform; continue; } #endif #ifdef GL_EXT_blend_color if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_color", 11)) { ret = GLEW_EXT_blend_color; continue; } #endif #ifdef GL_EXT_blend_equation_separate if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_separate", 23)) { ret = GLEW_EXT_blend_equation_separate; continue; } #endif #ifdef GL_EXT_blend_func_separate if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_func_separate", 19)) { ret = GLEW_EXT_blend_func_separate; continue; } #endif #ifdef GL_EXT_blend_logic_op if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_logic_op", 14)) { ret = GLEW_EXT_blend_logic_op; continue; } #endif #ifdef GL_EXT_blend_minmax if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_minmax", 12)) { ret = GLEW_EXT_blend_minmax; continue; } #endif #ifdef GL_EXT_blend_subtract if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_subtract", 14)) { ret = GLEW_EXT_blend_subtract; continue; } #endif #ifdef GL_EXT_clip_volume_hint if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_volume_hint", 16)) { ret = GLEW_EXT_clip_volume_hint; continue; } #endif #ifdef GL_EXT_cmyka if (_glewStrSame3(&pos, &len, (const GLubyte*)"cmyka", 5)) { ret = GLEW_EXT_cmyka; continue; } #endif #ifdef GL_EXT_color_subtable if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_subtable", 14)) { ret = GLEW_EXT_color_subtable; continue; } #endif #ifdef GL_EXT_compiled_vertex_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"compiled_vertex_array", 21)) { ret = GLEW_EXT_compiled_vertex_array; continue; } #endif #ifdef GL_EXT_convolution if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution", 11)) { ret = GLEW_EXT_convolution; continue; } #endif #ifdef GL_EXT_coordinate_frame if (_glewStrSame3(&pos, &len, (const GLubyte*)"coordinate_frame", 16)) { ret = GLEW_EXT_coordinate_frame; continue; } #endif #ifdef GL_EXT_copy_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_texture", 12)) { ret = GLEW_EXT_copy_texture; continue; } #endif #ifdef GL_EXT_cull_vertex if (_glewStrSame3(&pos, &len, (const GLubyte*)"cull_vertex", 11)) { ret = GLEW_EXT_cull_vertex; continue; } #endif #ifdef GL_EXT_debug_marker if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug_marker", 12)) { ret = GLEW_EXT_debug_marker; continue; } #endif #ifdef GL_EXT_depth_bounds_test if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_bounds_test", 17)) { ret = GLEW_EXT_depth_bounds_test; continue; } #endif #ifdef GL_EXT_direct_state_access if (_glewStrSame3(&pos, &len, (const GLubyte*)"direct_state_access", 19)) { ret = GLEW_EXT_direct_state_access; continue; } #endif #ifdef GL_EXT_draw_buffers2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers2", 13)) { ret = GLEW_EXT_draw_buffers2; continue; } #endif #ifdef GL_EXT_draw_instanced if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_instanced", 14)) { ret = GLEW_EXT_draw_instanced; continue; } #endif #ifdef GL_EXT_draw_range_elements if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_range_elements", 19)) { ret = GLEW_EXT_draw_range_elements; continue; } #endif #ifdef GL_EXT_fog_coord if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_coord", 9)) { ret = GLEW_EXT_fog_coord; continue; } #endif #ifdef GL_EXT_fragment_lighting if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_lighting", 17)) { ret = GLEW_EXT_fragment_lighting; continue; } #endif #ifdef GL_EXT_framebuffer_blit if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_blit", 16)) { ret = GLEW_EXT_framebuffer_blit; continue; } #endif #ifdef GL_EXT_framebuffer_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample", 23)) { ret = GLEW_EXT_framebuffer_multisample; continue; } #endif #ifdef GL_EXT_framebuffer_multisample_blit_scaled if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample_blit_scaled", 35)) { ret = GLEW_EXT_framebuffer_multisample_blit_scaled; continue; } #endif #ifdef GL_EXT_framebuffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_object", 18)) { ret = GLEW_EXT_framebuffer_object; continue; } #endif #ifdef GL_EXT_framebuffer_sRGB if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) { ret = GLEW_EXT_framebuffer_sRGB; continue; } #endif #ifdef GL_EXT_geometry_shader4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) { ret = GLEW_EXT_geometry_shader4; continue; } #endif #ifdef GL_EXT_gpu_program_parameters if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program_parameters", 22)) { ret = GLEW_EXT_gpu_program_parameters; continue; } #endif #ifdef GL_EXT_gpu_shader4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader4", 11)) { ret = GLEW_EXT_gpu_shader4; continue; } #endif #ifdef GL_EXT_histogram if (_glewStrSame3(&pos, &len, (const GLubyte*)"histogram", 9)) { ret = GLEW_EXT_histogram; continue; } #endif #ifdef GL_EXT_index_array_formats if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_array_formats", 19)) { ret = GLEW_EXT_index_array_formats; continue; } #endif #ifdef GL_EXT_index_func if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_func", 10)) { ret = GLEW_EXT_index_func; continue; } #endif #ifdef GL_EXT_index_material if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_material", 14)) { ret = GLEW_EXT_index_material; continue; } #endif #ifdef GL_EXT_index_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_texture", 13)) { ret = GLEW_EXT_index_texture; continue; } #endif #ifdef GL_EXT_light_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"light_texture", 13)) { ret = GLEW_EXT_light_texture; continue; } #endif #ifdef GL_EXT_misc_attribute if (_glewStrSame3(&pos, &len, (const GLubyte*)"misc_attribute", 14)) { ret = GLEW_EXT_misc_attribute; continue; } #endif #ifdef GL_EXT_multi_draw_arrays if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_arrays", 17)) { ret = GLEW_EXT_multi_draw_arrays; continue; } #endif #ifdef GL_EXT_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = GLEW_EXT_multisample; continue; } #endif #ifdef GL_EXT_packed_depth_stencil if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_depth_stencil", 20)) { ret = GLEW_EXT_packed_depth_stencil; continue; } #endif #ifdef GL_EXT_packed_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_float", 12)) { ret = GLEW_EXT_packed_float; continue; } #endif #ifdef GL_EXT_packed_pixels if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_pixels", 13)) { ret = GLEW_EXT_packed_pixels; continue; } #endif #ifdef GL_EXT_paletted_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"paletted_texture", 16)) { ret = GLEW_EXT_paletted_texture; continue; } #endif #ifdef GL_EXT_pixel_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer_object", 19)) { ret = GLEW_EXT_pixel_buffer_object; continue; } #endif #ifdef GL_EXT_pixel_transform if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_transform", 15)) { ret = GLEW_EXT_pixel_transform; continue; } #endif #ifdef GL_EXT_pixel_transform_color_table if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_transform_color_table", 27)) { ret = GLEW_EXT_pixel_transform_color_table; continue; } #endif #ifdef GL_EXT_point_parameters if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_parameters", 16)) { ret = GLEW_EXT_point_parameters; continue; } #endif #ifdef GL_EXT_polygon_offset if (_glewStrSame3(&pos, &len, (const GLubyte*)"polygon_offset", 14)) { ret = GLEW_EXT_polygon_offset; continue; } #endif #ifdef GL_EXT_provoking_vertex if (_glewStrSame3(&pos, &len, (const GLubyte*)"provoking_vertex", 16)) { ret = GLEW_EXT_provoking_vertex; continue; } #endif #ifdef GL_EXT_rescale_normal if (_glewStrSame3(&pos, &len, (const GLubyte*)"rescale_normal", 14)) { ret = GLEW_EXT_rescale_normal; continue; } #endif #ifdef GL_EXT_scene_marker if (_glewStrSame3(&pos, &len, (const GLubyte*)"scene_marker", 12)) { ret = GLEW_EXT_scene_marker; continue; } #endif #ifdef GL_EXT_secondary_color if (_glewStrSame3(&pos, &len, (const GLubyte*)"secondary_color", 15)) { ret = GLEW_EXT_secondary_color; continue; } #endif #ifdef GL_EXT_separate_shader_objects if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_shader_objects", 23)) { ret = GLEW_EXT_separate_shader_objects; continue; } #endif #ifdef GL_EXT_separate_specular_color if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_specular_color", 23)) { ret = GLEW_EXT_separate_specular_color; continue; } #endif #ifdef GL_EXT_shader_image_load_store if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_image_load_store", 23)) { ret = GLEW_EXT_shader_image_load_store; continue; } #endif #ifdef GL_EXT_shadow_funcs if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_funcs", 12)) { ret = GLEW_EXT_shadow_funcs; continue; } #endif #ifdef GL_EXT_shared_texture_palette if (_glewStrSame3(&pos, &len, (const GLubyte*)"shared_texture_palette", 22)) { ret = GLEW_EXT_shared_texture_palette; continue; } #endif #ifdef GL_EXT_stencil_clear_tag if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_clear_tag", 17)) { ret = GLEW_EXT_stencil_clear_tag; continue; } #endif #ifdef GL_EXT_stencil_two_side if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_two_side", 16)) { ret = GLEW_EXT_stencil_two_side; continue; } #endif #ifdef GL_EXT_stencil_wrap if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_wrap", 12)) { ret = GLEW_EXT_stencil_wrap; continue; } #endif #ifdef GL_EXT_subtexture if (_glewStrSame3(&pos, &len, (const GLubyte*)"subtexture", 10)) { ret = GLEW_EXT_subtexture; continue; } #endif #ifdef GL_EXT_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture", 7)) { ret = GLEW_EXT_texture; continue; } #endif #ifdef GL_EXT_texture3D if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture3D", 9)) { ret = GLEW_EXT_texture3D; continue; } #endif #ifdef GL_EXT_texture_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_array", 13)) { ret = GLEW_EXT_texture_array; continue; } #endif #ifdef GL_EXT_texture_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object", 21)) { ret = GLEW_EXT_texture_buffer_object; continue; } #endif #ifdef GL_EXT_texture_compression_dxt1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt1", 24)) { ret = GLEW_EXT_texture_compression_dxt1; continue; } #endif #ifdef GL_EXT_texture_compression_latc if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_latc", 24)) { ret = GLEW_EXT_texture_compression_latc; continue; } #endif #ifdef GL_EXT_texture_compression_rgtc if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_rgtc", 24)) { ret = GLEW_EXT_texture_compression_rgtc; continue; } #endif #ifdef GL_EXT_texture_compression_s3tc if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_s3tc", 24)) { ret = GLEW_EXT_texture_compression_s3tc; continue; } #endif #ifdef GL_EXT_texture_cube_map if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map", 16)) { ret = GLEW_EXT_texture_cube_map; continue; } #endif #ifdef GL_EXT_texture_edge_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_edge_clamp", 18)) { ret = GLEW_EXT_texture_edge_clamp; continue; } #endif #ifdef GL_EXT_texture_env if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env", 11)) { ret = GLEW_EXT_texture_env; continue; } #endif #ifdef GL_EXT_texture_env_add if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_add", 15)) { ret = GLEW_EXT_texture_env_add; continue; } #endif #ifdef GL_EXT_texture_env_combine if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine", 19)) { ret = GLEW_EXT_texture_env_combine; continue; } #endif #ifdef GL_EXT_texture_env_dot3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_dot3", 16)) { ret = GLEW_EXT_texture_env_dot3; continue; } #endif #ifdef GL_EXT_texture_filter_anisotropic if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter_anisotropic", 26)) { ret = GLEW_EXT_texture_filter_anisotropic; continue; } #endif #ifdef GL_EXT_texture_integer if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_integer", 15)) { ret = GLEW_EXT_texture_integer; continue; } #endif #ifdef GL_EXT_texture_lod_bias if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod_bias", 16)) { ret = GLEW_EXT_texture_lod_bias; continue; } #endif #ifdef GL_EXT_texture_mirror_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_clamp", 20)) { ret = GLEW_EXT_texture_mirror_clamp; continue; } #endif #ifdef GL_EXT_texture_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_object", 14)) { ret = GLEW_EXT_texture_object; continue; } #endif #ifdef GL_EXT_texture_perturb_normal if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_perturb_normal", 22)) { ret = GLEW_EXT_texture_perturb_normal; continue; } #endif #ifdef GL_EXT_texture_rectangle if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) { ret = GLEW_EXT_texture_rectangle; continue; } #endif #ifdef GL_EXT_texture_sRGB if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_sRGB", 12)) { ret = GLEW_EXT_texture_sRGB; continue; } #endif #ifdef GL_EXT_texture_sRGB_decode if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_sRGB_decode", 19)) { ret = GLEW_EXT_texture_sRGB_decode; continue; } #endif #ifdef GL_EXT_texture_shared_exponent if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shared_exponent", 23)) { ret = GLEW_EXT_texture_shared_exponent; continue; } #endif #ifdef GL_EXT_texture_snorm if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_snorm", 13)) { ret = GLEW_EXT_texture_snorm; continue; } #endif #ifdef GL_EXT_texture_swizzle if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_swizzle", 15)) { ret = GLEW_EXT_texture_swizzle; continue; } #endif #ifdef GL_EXT_timer_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"timer_query", 11)) { ret = GLEW_EXT_timer_query; continue; } #endif #ifdef GL_EXT_transform_feedback if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback", 18)) { ret = GLEW_EXT_transform_feedback; continue; } #endif #ifdef GL_EXT_vertex_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array", 12)) { ret = GLEW_EXT_vertex_array; continue; } #endif #ifdef GL_EXT_vertex_array_bgra if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_bgra", 17)) { ret = GLEW_EXT_vertex_array_bgra; continue; } #endif #ifdef GL_EXT_vertex_attrib_64bit if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_64bit", 19)) { ret = GLEW_EXT_vertex_attrib_64bit; continue; } #endif #ifdef GL_EXT_vertex_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader", 13)) { ret = GLEW_EXT_vertex_shader; continue; } #endif #ifdef GL_EXT_vertex_weighting if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_weighting", 16)) { ret = GLEW_EXT_vertex_weighting; continue; } #endif #ifdef GL_EXT_x11_sync_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"x11_sync_object", 15)) { ret = GLEW_EXT_x11_sync_object; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"GREMEDY_", 8)) { #ifdef GL_GREMEDY_frame_terminator if (_glewStrSame3(&pos, &len, (const GLubyte*)"frame_terminator", 16)) { ret = GLEW_GREMEDY_frame_terminator; continue; } #endif #ifdef GL_GREMEDY_string_marker if (_glewStrSame3(&pos, &len, (const GLubyte*)"string_marker", 13)) { ret = GLEW_GREMEDY_string_marker; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"HP_", 3)) { #ifdef GL_HP_convolution_border_modes if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_border_modes", 24)) { ret = GLEW_HP_convolution_border_modes; continue; } #endif #ifdef GL_HP_image_transform if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_transform", 15)) { ret = GLEW_HP_image_transform; continue; } #endif #ifdef GL_HP_occlusion_test if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_test", 14)) { ret = GLEW_HP_occlusion_test; continue; } #endif #ifdef GL_HP_texture_lighting if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lighting", 16)) { ret = GLEW_HP_texture_lighting; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"IBM_", 4)) { #ifdef GL_IBM_cull_vertex if (_glewStrSame3(&pos, &len, (const GLubyte*)"cull_vertex", 11)) { ret = GLEW_IBM_cull_vertex; continue; } #endif #ifdef GL_IBM_multimode_draw_arrays if (_glewStrSame3(&pos, &len, (const GLubyte*)"multimode_draw_arrays", 21)) { ret = GLEW_IBM_multimode_draw_arrays; continue; } #endif #ifdef GL_IBM_rasterpos_clip if (_glewStrSame3(&pos, &len, (const GLubyte*)"rasterpos_clip", 14)) { ret = GLEW_IBM_rasterpos_clip; continue; } #endif #ifdef GL_IBM_static_data if (_glewStrSame3(&pos, &len, (const GLubyte*)"static_data", 11)) { ret = GLEW_IBM_static_data; continue; } #endif #ifdef GL_IBM_texture_mirrored_repeat if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirrored_repeat", 23)) { ret = GLEW_IBM_texture_mirrored_repeat; continue; } #endif #ifdef GL_IBM_vertex_array_lists if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_lists", 18)) { ret = GLEW_IBM_vertex_array_lists; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"INGR_", 5)) { #ifdef GL_INGR_color_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_clamp", 11)) { ret = GLEW_INGR_color_clamp; continue; } #endif #ifdef GL_INGR_interlace_read if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace_read", 14)) { ret = GLEW_INGR_interlace_read; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"INTEL_", 6)) { #ifdef GL_INTEL_map_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_texture", 11)) { ret = GLEW_INTEL_map_texture; continue; } #endif #ifdef GL_INTEL_parallel_arrays if (_glewStrSame3(&pos, &len, (const GLubyte*)"parallel_arrays", 15)) { ret = GLEW_INTEL_parallel_arrays; continue; } #endif #ifdef GL_INTEL_texture_scissor if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_scissor", 15)) { ret = GLEW_INTEL_texture_scissor; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"KHR_", 4)) { #ifdef GL_KHR_debug if (_glewStrSame3(&pos, &len, (const GLubyte*)"debug", 5)) { ret = GLEW_KHR_debug; continue; } #endif #ifdef GL_KHR_texture_compression_astc_ldr if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_astc_ldr", 28)) { ret = GLEW_KHR_texture_compression_astc_ldr; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"KTX_", 4)) { #ifdef GL_KTX_buffer_region if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_region", 13)) { ret = GLEW_KTX_buffer_region; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESAX_", 6)) { #ifdef GL_MESAX_texture_stack if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_stack", 13)) { ret = GLEW_MESAX_texture_stack; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESA_", 5)) { #ifdef GL_MESA_pack_invert if (_glewStrSame3(&pos, &len, (const GLubyte*)"pack_invert", 11)) { ret = GLEW_MESA_pack_invert; continue; } #endif #ifdef GL_MESA_resize_buffers if (_glewStrSame3(&pos, &len, (const GLubyte*)"resize_buffers", 14)) { ret = GLEW_MESA_resize_buffers; continue; } #endif #ifdef GL_MESA_window_pos if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_pos", 10)) { ret = GLEW_MESA_window_pos; continue; } #endif #ifdef GL_MESA_ycbcr_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycbcr_texture", 13)) { ret = GLEW_MESA_ycbcr_texture; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"NVX_", 4)) { #ifdef GL_NVX_conditional_render if (_glewStrSame3(&pos, &len, (const GLubyte*)"conditional_render", 18)) { ret = GLEW_NVX_conditional_render; continue; } #endif #ifdef GL_NVX_gpu_memory_info if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_memory_info", 15)) { ret = GLEW_NVX_gpu_memory_info; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) { #ifdef GL_NV_bindless_multi_draw_indirect if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindless_multi_draw_indirect", 28)) { ret = GLEW_NV_bindless_multi_draw_indirect; continue; } #endif #ifdef GL_NV_bindless_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindless_texture", 16)) { ret = GLEW_NV_bindless_texture; continue; } #endif #ifdef GL_NV_blend_equation_advanced if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_advanced", 23)) { ret = GLEW_NV_blend_equation_advanced; continue; } #endif #ifdef GL_NV_blend_equation_advanced_coherent if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_advanced_coherent", 32)) { ret = GLEW_NV_blend_equation_advanced_coherent; continue; } #endif #ifdef GL_NV_blend_square if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_square", 12)) { ret = GLEW_NV_blend_square; continue; } #endif #ifdef GL_NV_compute_program5 if (_glewStrSame3(&pos, &len, (const GLubyte*)"compute_program5", 16)) { ret = GLEW_NV_compute_program5; continue; } #endif #ifdef GL_NV_conditional_render if (_glewStrSame3(&pos, &len, (const GLubyte*)"conditional_render", 18)) { ret = GLEW_NV_conditional_render; continue; } #endif #ifdef GL_NV_copy_depth_to_color if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_depth_to_color", 19)) { ret = GLEW_NV_copy_depth_to_color; continue; } #endif #ifdef GL_NV_copy_image if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) { ret = GLEW_NV_copy_image; continue; } #endif #ifdef GL_NV_deep_texture3D if (_glewStrSame3(&pos, &len, (const GLubyte*)"deep_texture3D", 14)) { ret = GLEW_NV_deep_texture3D; continue; } #endif #ifdef GL_NV_depth_buffer_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_buffer_float", 18)) { ret = GLEW_NV_depth_buffer_float; continue; } #endif #ifdef GL_NV_depth_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_clamp", 11)) { ret = GLEW_NV_depth_clamp; continue; } #endif #ifdef GL_NV_depth_range_unclamped if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_range_unclamped", 21)) { ret = GLEW_NV_depth_range_unclamped; continue; } #endif #ifdef GL_NV_draw_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_texture", 12)) { ret = GLEW_NV_draw_texture; continue; } #endif #ifdef GL_NV_evaluators if (_glewStrSame3(&pos, &len, (const GLubyte*)"evaluators", 10)) { ret = GLEW_NV_evaluators; continue; } #endif #ifdef GL_NV_explicit_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_multisample", 20)) { ret = GLEW_NV_explicit_multisample; continue; } #endif #ifdef GL_NV_fence if (_glewStrSame3(&pos, &len, (const GLubyte*)"fence", 5)) { ret = GLEW_NV_fence; continue; } #endif #ifdef GL_NV_float_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) { ret = GLEW_NV_float_buffer; continue; } #endif #ifdef GL_NV_fog_distance if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_distance", 12)) { ret = GLEW_NV_fog_distance; continue; } #endif #ifdef GL_NV_fragment_program if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program", 16)) { ret = GLEW_NV_fragment_program; continue; } #endif #ifdef GL_NV_fragment_program2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program2", 17)) { ret = GLEW_NV_fragment_program2; continue; } #endif #ifdef GL_NV_fragment_program4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program4", 17)) { ret = GLEW_NV_fragment_program4; continue; } #endif #ifdef GL_NV_fragment_program_option if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program_option", 23)) { ret = GLEW_NV_fragment_program_option; continue; } #endif #ifdef GL_NV_framebuffer_multisample_coverage if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample_coverage", 32)) { ret = GLEW_NV_framebuffer_multisample_coverage; continue; } #endif #ifdef GL_NV_geometry_program4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_program4", 17)) { ret = GLEW_NV_geometry_program4; continue; } #endif #ifdef GL_NV_geometry_shader4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) { ret = GLEW_NV_geometry_shader4; continue; } #endif #ifdef GL_NV_gpu_program4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program4", 12)) { ret = GLEW_NV_gpu_program4; continue; } #endif #ifdef GL_NV_gpu_program5 if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program5", 12)) { ret = GLEW_NV_gpu_program5; continue; } #endif #ifdef GL_NV_gpu_program5_mem_extended if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program5_mem_extended", 25)) { ret = GLEW_NV_gpu_program5_mem_extended; continue; } #endif #ifdef GL_NV_gpu_program_fp64 if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program_fp64", 16)) { ret = GLEW_NV_gpu_program_fp64; continue; } #endif #ifdef GL_NV_gpu_shader5 if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader5", 11)) { ret = GLEW_NV_gpu_shader5; continue; } #endif #ifdef GL_NV_half_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float", 10)) { ret = GLEW_NV_half_float; continue; } #endif #ifdef GL_NV_light_max_exponent if (_glewStrSame3(&pos, &len, (const GLubyte*)"light_max_exponent", 18)) { ret = GLEW_NV_light_max_exponent; continue; } #endif #ifdef GL_NV_multisample_coverage if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_coverage", 20)) { ret = GLEW_NV_multisample_coverage; continue; } #endif #ifdef GL_NV_multisample_filter_hint if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_filter_hint", 23)) { ret = GLEW_NV_multisample_filter_hint; continue; } #endif #ifdef GL_NV_occlusion_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query", 15)) { ret = GLEW_NV_occlusion_query; continue; } #endif #ifdef GL_NV_packed_depth_stencil if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_depth_stencil", 20)) { ret = GLEW_NV_packed_depth_stencil; continue; } #endif #ifdef GL_NV_parameter_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"parameter_buffer_object", 23)) { ret = GLEW_NV_parameter_buffer_object; continue; } #endif #ifdef GL_NV_parameter_buffer_object2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"parameter_buffer_object2", 24)) { ret = GLEW_NV_parameter_buffer_object2; continue; } #endif #ifdef GL_NV_path_rendering if (_glewStrSame3(&pos, &len, (const GLubyte*)"path_rendering", 14)) { ret = GLEW_NV_path_rendering; continue; } #endif #ifdef GL_NV_pixel_data_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_data_range", 16)) { ret = GLEW_NV_pixel_data_range; continue; } #endif #ifdef GL_NV_point_sprite if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprite", 12)) { ret = GLEW_NV_point_sprite; continue; } #endif #ifdef GL_NV_present_video if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) { ret = GLEW_NV_present_video; continue; } #endif #ifdef GL_NV_primitive_restart if (_glewStrSame3(&pos, &len, (const GLubyte*)"primitive_restart", 17)) { ret = GLEW_NV_primitive_restart; continue; } #endif #ifdef GL_NV_register_combiners if (_glewStrSame3(&pos, &len, (const GLubyte*)"register_combiners", 18)) { ret = GLEW_NV_register_combiners; continue; } #endif #ifdef GL_NV_register_combiners2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"register_combiners2", 19)) { ret = GLEW_NV_register_combiners2; continue; } #endif #ifdef GL_NV_shader_atomic_counters if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_counters", 22)) { ret = GLEW_NV_shader_atomic_counters; continue; } #endif #ifdef GL_NV_shader_atomic_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_atomic_float", 19)) { ret = GLEW_NV_shader_atomic_float; continue; } #endif #ifdef GL_NV_shader_buffer_load if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_buffer_load", 18)) { ret = GLEW_NV_shader_buffer_load; continue; } #endif #ifdef GL_NV_shader_storage_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_storage_buffer_object", 28)) { ret = GLEW_NV_shader_storage_buffer_object; continue; } #endif #ifdef GL_NV_tessellation_program5 if (_glewStrSame3(&pos, &len, (const GLubyte*)"tessellation_program5", 21)) { ret = GLEW_NV_tessellation_program5; continue; } #endif #ifdef GL_NV_texgen_emboss if (_glewStrSame3(&pos, &len, (const GLubyte*)"texgen_emboss", 13)) { ret = GLEW_NV_texgen_emboss; continue; } #endif #ifdef GL_NV_texgen_reflection if (_glewStrSame3(&pos, &len, (const GLubyte*)"texgen_reflection", 17)) { ret = GLEW_NV_texgen_reflection; continue; } #endif #ifdef GL_NV_texture_barrier if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_barrier", 15)) { ret = GLEW_NV_texture_barrier; continue; } #endif #ifdef GL_NV_texture_compression_vtc if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_vtc", 23)) { ret = GLEW_NV_texture_compression_vtc; continue; } #endif #ifdef GL_NV_texture_env_combine4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine4", 20)) { ret = GLEW_NV_texture_env_combine4; continue; } #endif #ifdef GL_NV_texture_expand_normal if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_expand_normal", 21)) { ret = GLEW_NV_texture_expand_normal; continue; } #endif #ifdef GL_NV_texture_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multisample", 19)) { ret = GLEW_NV_texture_multisample; continue; } #endif #ifdef GL_NV_texture_rectangle if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) { ret = GLEW_NV_texture_rectangle; continue; } #endif #ifdef GL_NV_texture_shader if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader", 14)) { ret = GLEW_NV_texture_shader; continue; } #endif #ifdef GL_NV_texture_shader2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader2", 15)) { ret = GLEW_NV_texture_shader2; continue; } #endif #ifdef GL_NV_texture_shader3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader3", 15)) { ret = GLEW_NV_texture_shader3; continue; } #endif #ifdef GL_NV_transform_feedback if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback", 18)) { ret = GLEW_NV_transform_feedback; continue; } #endif #ifdef GL_NV_transform_feedback2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback2", 19)) { ret = GLEW_NV_transform_feedback2; continue; } #endif #ifdef GL_NV_vdpau_interop if (_glewStrSame3(&pos, &len, (const GLubyte*)"vdpau_interop", 13)) { ret = GLEW_NV_vdpau_interop; continue; } #endif #ifdef GL_NV_vertex_array_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) { ret = GLEW_NV_vertex_array_range; continue; } #endif #ifdef GL_NV_vertex_array_range2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range2", 19)) { ret = GLEW_NV_vertex_array_range2; continue; } #endif #ifdef GL_NV_vertex_attrib_integer_64bit if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_integer_64bit", 27)) { ret = GLEW_NV_vertex_attrib_integer_64bit; continue; } #endif #ifdef GL_NV_vertex_buffer_unified_memory if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_buffer_unified_memory", 28)) { ret = GLEW_NV_vertex_buffer_unified_memory; continue; } #endif #ifdef GL_NV_vertex_program if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program", 14)) { ret = GLEW_NV_vertex_program; continue; } #endif #ifdef GL_NV_vertex_program1_1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program1_1", 17)) { ret = GLEW_NV_vertex_program1_1; continue; } #endif #ifdef GL_NV_vertex_program2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program2", 15)) { ret = GLEW_NV_vertex_program2; continue; } #endif #ifdef GL_NV_vertex_program2_option if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program2_option", 22)) { ret = GLEW_NV_vertex_program2_option; continue; } #endif #ifdef GL_NV_vertex_program3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program3", 15)) { ret = GLEW_NV_vertex_program3; continue; } #endif #ifdef GL_NV_vertex_program4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program4", 15)) { ret = GLEW_NV_vertex_program4; continue; } #endif #ifdef GL_NV_video_capture if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13)) { ret = GLEW_NV_video_capture; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"OES_", 4)) { #ifdef GL_OES_byte_coordinates if (_glewStrSame3(&pos, &len, (const GLubyte*)"byte_coordinates", 16)) { ret = GLEW_OES_byte_coordinates; continue; } #endif #ifdef GL_OES_compressed_paletted_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"compressed_paletted_texture", 27)) { ret = GLEW_OES_compressed_paletted_texture; continue; } #endif #ifdef GL_OES_read_format if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_format", 11)) { ret = GLEW_OES_read_format; continue; } #endif #ifdef GL_OES_single_precision if (_glewStrSame3(&pos, &len, (const GLubyte*)"single_precision", 16)) { ret = GLEW_OES_single_precision; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) { #ifdef GL_OML_interlace if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace", 9)) { ret = GLEW_OML_interlace; continue; } #endif #ifdef GL_OML_resample if (_glewStrSame3(&pos, &len, (const GLubyte*)"resample", 8)) { ret = GLEW_OML_resample; continue; } #endif #ifdef GL_OML_subsample if (_glewStrSame3(&pos, &len, (const GLubyte*)"subsample", 9)) { ret = GLEW_OML_subsample; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"PGI_", 4)) { #ifdef GL_PGI_misc_hints if (_glewStrSame3(&pos, &len, (const GLubyte*)"misc_hints", 10)) { ret = GLEW_PGI_misc_hints; continue; } #endif #ifdef GL_PGI_vertex_hints if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_hints", 12)) { ret = GLEW_PGI_vertex_hints; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"REGAL_", 6)) { #ifdef GL_REGAL_ES1_0_compatibility if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES1_0_compatibility", 19)) { ret = GLEW_REGAL_ES1_0_compatibility; continue; } #endif #ifdef GL_REGAL_ES1_1_compatibility if (_glewStrSame3(&pos, &len, (const GLubyte*)"ES1_1_compatibility", 19)) { ret = GLEW_REGAL_ES1_1_compatibility; continue; } #endif #ifdef GL_REGAL_enable if (_glewStrSame3(&pos, &len, (const GLubyte*)"enable", 6)) { ret = GLEW_REGAL_enable; continue; } #endif #ifdef GL_REGAL_error_string if (_glewStrSame3(&pos, &len, (const GLubyte*)"error_string", 12)) { ret = GLEW_REGAL_error_string; continue; } #endif #ifdef GL_REGAL_extension_query if (_glewStrSame3(&pos, &len, (const GLubyte*)"extension_query", 15)) { ret = GLEW_REGAL_extension_query; continue; } #endif #ifdef GL_REGAL_log if (_glewStrSame3(&pos, &len, (const GLubyte*)"log", 3)) { ret = GLEW_REGAL_log; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"REND_", 5)) { #ifdef GL_REND_screen_coordinates if (_glewStrSame3(&pos, &len, (const GLubyte*)"screen_coordinates", 18)) { ret = GLEW_REND_screen_coordinates; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"S3_", 3)) { #ifdef GL_S3_s3tc if (_glewStrSame3(&pos, &len, (const GLubyte*)"s3tc", 4)) { ret = GLEW_S3_s3tc; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIS_", 5)) { #ifdef GL_SGIS_color_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_range", 11)) { ret = GLEW_SGIS_color_range; continue; } #endif #ifdef GL_SGIS_detail_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"detail_texture", 14)) { ret = GLEW_SGIS_detail_texture; continue; } #endif #ifdef GL_SGIS_fog_function if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_function", 12)) { ret = GLEW_SGIS_fog_function; continue; } #endif #ifdef GL_SGIS_generate_mipmap if (_glewStrSame3(&pos, &len, (const GLubyte*)"generate_mipmap", 15)) { ret = GLEW_SGIS_generate_mipmap; continue; } #endif #ifdef GL_SGIS_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = GLEW_SGIS_multisample; continue; } #endif #ifdef GL_SGIS_pixel_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture", 13)) { ret = GLEW_SGIS_pixel_texture; continue; } #endif #ifdef GL_SGIS_point_line_texgen if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_line_texgen", 17)) { ret = GLEW_SGIS_point_line_texgen; continue; } #endif #ifdef GL_SGIS_sharpen_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"sharpen_texture", 15)) { ret = GLEW_SGIS_sharpen_texture; continue; } #endif #ifdef GL_SGIS_texture4D if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture4D", 9)) { ret = GLEW_SGIS_texture4D; continue; } #endif #ifdef GL_SGIS_texture_border_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_border_clamp", 20)) { ret = GLEW_SGIS_texture_border_clamp; continue; } #endif #ifdef GL_SGIS_texture_edge_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_edge_clamp", 18)) { ret = GLEW_SGIS_texture_edge_clamp; continue; } #endif #ifdef GL_SGIS_texture_filter4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter4", 15)) { ret = GLEW_SGIS_texture_filter4; continue; } #endif #ifdef GL_SGIS_texture_lod if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod", 11)) { ret = GLEW_SGIS_texture_lod; continue; } #endif #ifdef GL_SGIS_texture_select if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_select", 14)) { ret = GLEW_SGIS_texture_select; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIX_", 5)) { #ifdef GL_SGIX_async if (_glewStrSame3(&pos, &len, (const GLubyte*)"async", 5)) { ret = GLEW_SGIX_async; continue; } #endif #ifdef GL_SGIX_async_histogram if (_glewStrSame3(&pos, &len, (const GLubyte*)"async_histogram", 15)) { ret = GLEW_SGIX_async_histogram; continue; } #endif #ifdef GL_SGIX_async_pixel if (_glewStrSame3(&pos, &len, (const GLubyte*)"async_pixel", 11)) { ret = GLEW_SGIX_async_pixel; continue; } #endif #ifdef GL_SGIX_blend_alpha_minmax if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_alpha_minmax", 18)) { ret = GLEW_SGIX_blend_alpha_minmax; continue; } #endif #ifdef GL_SGIX_clipmap if (_glewStrSame3(&pos, &len, (const GLubyte*)"clipmap", 7)) { ret = GLEW_SGIX_clipmap; continue; } #endif #ifdef GL_SGIX_convolution_accuracy if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_accuracy", 20)) { ret = GLEW_SGIX_convolution_accuracy; continue; } #endif #ifdef GL_SGIX_depth_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) { ret = GLEW_SGIX_depth_texture; continue; } #endif #ifdef GL_SGIX_flush_raster if (_glewStrSame3(&pos, &len, (const GLubyte*)"flush_raster", 12)) { ret = GLEW_SGIX_flush_raster; continue; } #endif #ifdef GL_SGIX_fog_offset if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_offset", 10)) { ret = GLEW_SGIX_fog_offset; continue; } #endif #ifdef GL_SGIX_fog_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_texture", 11)) { ret = GLEW_SGIX_fog_texture; continue; } #endif #ifdef GL_SGIX_fragment_specular_lighting if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_specular_lighting", 26)) { ret = GLEW_SGIX_fragment_specular_lighting; continue; } #endif #ifdef GL_SGIX_framezoom if (_glewStrSame3(&pos, &len, (const GLubyte*)"framezoom", 9)) { ret = GLEW_SGIX_framezoom; continue; } #endif #ifdef GL_SGIX_interlace if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace", 9)) { ret = GLEW_SGIX_interlace; continue; } #endif #ifdef GL_SGIX_ir_instrument1 if (_glewStrSame3(&pos, &len, (const GLubyte*)"ir_instrument1", 14)) { ret = GLEW_SGIX_ir_instrument1; continue; } #endif #ifdef GL_SGIX_list_priority if (_glewStrSame3(&pos, &len, (const GLubyte*)"list_priority", 13)) { ret = GLEW_SGIX_list_priority; continue; } #endif #ifdef GL_SGIX_pixel_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture", 13)) { ret = GLEW_SGIX_pixel_texture; continue; } #endif #ifdef GL_SGIX_pixel_texture_bits if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture_bits", 18)) { ret = GLEW_SGIX_pixel_texture_bits; continue; } #endif #ifdef GL_SGIX_reference_plane if (_glewStrSame3(&pos, &len, (const GLubyte*)"reference_plane", 15)) { ret = GLEW_SGIX_reference_plane; continue; } #endif #ifdef GL_SGIX_resample if (_glewStrSame3(&pos, &len, (const GLubyte*)"resample", 8)) { ret = GLEW_SGIX_resample; continue; } #endif #ifdef GL_SGIX_shadow if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow", 6)) { ret = GLEW_SGIX_shadow; continue; } #endif #ifdef GL_SGIX_shadow_ambient if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_ambient", 14)) { ret = GLEW_SGIX_shadow_ambient; continue; } #endif #ifdef GL_SGIX_sprite if (_glewStrSame3(&pos, &len, (const GLubyte*)"sprite", 6)) { ret = GLEW_SGIX_sprite; continue; } #endif #ifdef GL_SGIX_tag_sample_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"tag_sample_buffer", 17)) { ret = GLEW_SGIX_tag_sample_buffer; continue; } #endif #ifdef GL_SGIX_texture_add_env if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_add_env", 15)) { ret = GLEW_SGIX_texture_add_env; continue; } #endif #ifdef GL_SGIX_texture_coordinate_clamp if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_coordinate_clamp", 24)) { ret = GLEW_SGIX_texture_coordinate_clamp; continue; } #endif #ifdef GL_SGIX_texture_lod_bias if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod_bias", 16)) { ret = GLEW_SGIX_texture_lod_bias; continue; } #endif #ifdef GL_SGIX_texture_multi_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multi_buffer", 20)) { ret = GLEW_SGIX_texture_multi_buffer; continue; } #endif #ifdef GL_SGIX_texture_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_range", 13)) { ret = GLEW_SGIX_texture_range; continue; } #endif #ifdef GL_SGIX_texture_scale_bias if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_scale_bias", 18)) { ret = GLEW_SGIX_texture_scale_bias; continue; } #endif #ifdef GL_SGIX_vertex_preclip if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_preclip", 14)) { ret = GLEW_SGIX_vertex_preclip; continue; } #endif #ifdef GL_SGIX_vertex_preclip_hint if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_preclip_hint", 19)) { ret = GLEW_SGIX_vertex_preclip_hint; continue; } #endif #ifdef GL_SGIX_ycrcb if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycrcb", 5)) { ret = GLEW_SGIX_ycrcb; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGI_", 4)) { #ifdef GL_SGI_color_matrix if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_matrix", 12)) { ret = GLEW_SGI_color_matrix; continue; } #endif #ifdef GL_SGI_color_table if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_table", 11)) { ret = GLEW_SGI_color_table; continue; } #endif #ifdef GL_SGI_texture_color_table if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_color_table", 19)) { ret = GLEW_SGI_texture_color_table; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUNX_", 5)) { #ifdef GL_SUNX_constant_data if (_glewStrSame3(&pos, &len, (const GLubyte*)"constant_data", 13)) { ret = GLEW_SUNX_constant_data; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUN_", 4)) { #ifdef GL_SUN_convolution_border_modes if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_border_modes", 24)) { ret = GLEW_SUN_convolution_border_modes; continue; } #endif #ifdef GL_SUN_global_alpha if (_glewStrSame3(&pos, &len, (const GLubyte*)"global_alpha", 12)) { ret = GLEW_SUN_global_alpha; continue; } #endif #ifdef GL_SUN_mesh_array if (_glewStrSame3(&pos, &len, (const GLubyte*)"mesh_array", 10)) { ret = GLEW_SUN_mesh_array; continue; } #endif #ifdef GL_SUN_read_video_pixels if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_video_pixels", 17)) { ret = GLEW_SUN_read_video_pixels; continue; } #endif #ifdef GL_SUN_slice_accum if (_glewStrSame3(&pos, &len, (const GLubyte*)"slice_accum", 11)) { ret = GLEW_SUN_slice_accum; continue; } #endif #ifdef GL_SUN_triangle_list if (_glewStrSame3(&pos, &len, (const GLubyte*)"triangle_list", 13)) { ret = GLEW_SUN_triangle_list; continue; } #endif #ifdef GL_SUN_vertex if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex", 6)) { ret = GLEW_SUN_vertex; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"WIN_", 4)) { #ifdef GL_WIN_phong_shading if (_glewStrSame3(&pos, &len, (const GLubyte*)"phong_shading", 13)) { ret = GLEW_WIN_phong_shading; continue; } #endif #ifdef GL_WIN_specular_fog if (_glewStrSame3(&pos, &len, (const GLubyte*)"specular_fog", 12)) { ret = GLEW_WIN_specular_fog; continue; } #endif #ifdef GL_WIN_swap_hint if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_hint", 9)) { ret = GLEW_WIN_swap_hint; continue; } #endif } } ret = (len == 0); } return ret; } #if defined(_WIN32) #if defined(GLEW_MX) GLboolean GLEWAPIENTRY wglewContextIsSupported (const WGLEWContext* ctx, const char* name) #else GLboolean GLEWAPIENTRY wglewIsSupported (const char* name) #endif { GLubyte* pos = (GLubyte*)name; GLuint len = _glewStrLen(pos); GLboolean ret = GL_TRUE; while (ret && len > 0) { if (_glewStrSame1(&pos, &len, (const GLubyte*)"WGL_", 4)) { if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) { #ifdef WGL_3DFX_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = WGLEW_3DFX_multisample; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DL_", 4)) { #ifdef WGL_3DL_stereo_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"stereo_control", 14)) { ret = WGLEW_3DL_stereo_control; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"AMD_", 4)) { #ifdef WGL_AMD_gpu_association if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_association", 15)) { ret = WGLEW_AMD_gpu_association; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) { #ifdef WGL_ARB_buffer_region if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_region", 13)) { ret = WGLEW_ARB_buffer_region; continue; } #endif #ifdef WGL_ARB_create_context if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context", 14)) { ret = WGLEW_ARB_create_context; continue; } #endif #ifdef WGL_ARB_create_context_profile if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_profile", 22)) { ret = WGLEW_ARB_create_context_profile; continue; } #endif #ifdef WGL_ARB_create_context_robustness if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_robustness", 25)) { ret = WGLEW_ARB_create_context_robustness; continue; } #endif #ifdef WGL_ARB_extensions_string if (_glewStrSame3(&pos, &len, (const GLubyte*)"extensions_string", 17)) { ret = WGLEW_ARB_extensions_string; continue; } #endif #ifdef WGL_ARB_framebuffer_sRGB if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) { ret = WGLEW_ARB_framebuffer_sRGB; continue; } #endif #ifdef WGL_ARB_make_current_read if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) { ret = WGLEW_ARB_make_current_read; continue; } #endif #ifdef WGL_ARB_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = WGLEW_ARB_multisample; continue; } #endif #ifdef WGL_ARB_pbuffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) { ret = WGLEW_ARB_pbuffer; continue; } #endif #ifdef WGL_ARB_pixel_format if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format", 12)) { ret = WGLEW_ARB_pixel_format; continue; } #endif #ifdef WGL_ARB_pixel_format_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) { ret = WGLEW_ARB_pixel_format_float; continue; } #endif #ifdef WGL_ARB_render_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture", 14)) { ret = WGLEW_ARB_render_texture; continue; } #endif #ifdef WGL_ARB_robustness_application_isolation if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_application_isolation", 32)) { ret = WGLEW_ARB_robustness_application_isolation; continue; } #endif #ifdef WGL_ARB_robustness_share_group_isolation if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_share_group_isolation", 32)) { ret = WGLEW_ARB_robustness_share_group_isolation; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) { #ifdef WGL_ATI_pixel_format_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) { ret = WGLEW_ATI_pixel_format_float; continue; } #endif #ifdef WGL_ATI_render_texture_rectangle if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture_rectangle", 24)) { ret = WGLEW_ATI_render_texture_rectangle; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) { #ifdef WGL_EXT_create_context_es2_profile if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es2_profile", 26)) { ret = WGLEW_EXT_create_context_es2_profile; continue; } #endif #ifdef WGL_EXT_create_context_es_profile if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es_profile", 25)) { ret = WGLEW_EXT_create_context_es_profile; continue; } #endif #ifdef WGL_EXT_depth_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_float", 11)) { ret = WGLEW_EXT_depth_float; continue; } #endif #ifdef WGL_EXT_display_color_table if (_glewStrSame3(&pos, &len, (const GLubyte*)"display_color_table", 19)) { ret = WGLEW_EXT_display_color_table; continue; } #endif #ifdef WGL_EXT_extensions_string if (_glewStrSame3(&pos, &len, (const GLubyte*)"extensions_string", 17)) { ret = WGLEW_EXT_extensions_string; continue; } #endif #ifdef WGL_EXT_framebuffer_sRGB if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) { ret = WGLEW_EXT_framebuffer_sRGB; continue; } #endif #ifdef WGL_EXT_make_current_read if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) { ret = WGLEW_EXT_make_current_read; continue; } #endif #ifdef WGL_EXT_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = WGLEW_EXT_multisample; continue; } #endif #ifdef WGL_EXT_pbuffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) { ret = WGLEW_EXT_pbuffer; continue; } #endif #ifdef WGL_EXT_pixel_format if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format", 12)) { ret = WGLEW_EXT_pixel_format; continue; } #endif #ifdef WGL_EXT_pixel_format_packed_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_packed_float", 25)) { ret = WGLEW_EXT_pixel_format_packed_float; continue; } #endif #ifdef WGL_EXT_swap_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) { ret = WGLEW_EXT_swap_control; continue; } #endif #ifdef WGL_EXT_swap_control_tear if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control_tear", 17)) { ret = WGLEW_EXT_swap_control_tear; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"I3D_", 4)) { #ifdef WGL_I3D_digital_video_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"digital_video_control", 21)) { ret = WGLEW_I3D_digital_video_control; continue; } #endif #ifdef WGL_I3D_gamma if (_glewStrSame3(&pos, &len, (const GLubyte*)"gamma", 5)) { ret = WGLEW_I3D_gamma; continue; } #endif #ifdef WGL_I3D_genlock if (_glewStrSame3(&pos, &len, (const GLubyte*)"genlock", 7)) { ret = WGLEW_I3D_genlock; continue; } #endif #ifdef WGL_I3D_image_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_buffer", 12)) { ret = WGLEW_I3D_image_buffer; continue; } #endif #ifdef WGL_I3D_swap_frame_lock if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_frame_lock", 15)) { ret = WGLEW_I3D_swap_frame_lock; continue; } #endif #ifdef WGL_I3D_swap_frame_usage if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_frame_usage", 16)) { ret = WGLEW_I3D_swap_frame_usage; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) { #ifdef WGL_NV_DX_interop if (_glewStrSame3(&pos, &len, (const GLubyte*)"DX_interop", 10)) { ret = WGLEW_NV_DX_interop; continue; } #endif #ifdef WGL_NV_DX_interop2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"DX_interop2", 11)) { ret = WGLEW_NV_DX_interop2; continue; } #endif #ifdef WGL_NV_copy_image if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) { ret = WGLEW_NV_copy_image; continue; } #endif #ifdef WGL_NV_float_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) { ret = WGLEW_NV_float_buffer; continue; } #endif #ifdef WGL_NV_gpu_affinity if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_affinity", 12)) { ret = WGLEW_NV_gpu_affinity; continue; } #endif #ifdef WGL_NV_multisample_coverage if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_coverage", 20)) { ret = WGLEW_NV_multisample_coverage; continue; } #endif #ifdef WGL_NV_present_video if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) { ret = WGLEW_NV_present_video; continue; } #endif #ifdef WGL_NV_render_depth_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_depth_texture", 20)) { ret = WGLEW_NV_render_depth_texture; continue; } #endif #ifdef WGL_NV_render_texture_rectangle if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture_rectangle", 24)) { ret = WGLEW_NV_render_texture_rectangle; continue; } #endif #ifdef WGL_NV_swap_group if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) { ret = WGLEW_NV_swap_group; continue; } #endif #ifdef WGL_NV_vertex_array_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) { ret = WGLEW_NV_vertex_array_range; continue; } #endif #ifdef WGL_NV_video_capture if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13)) { ret = WGLEW_NV_video_capture; continue; } #endif #ifdef WGL_NV_video_output if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_output", 12)) { ret = WGLEW_NV_video_output; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) { #ifdef WGL_OML_sync_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync_control", 12)) { ret = WGLEW_OML_sync_control; continue; } #endif } } ret = (len == 0); } return ret; } #elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) #if defined(GLEW_MX) GLboolean glxewContextIsSupported (const GLXEWContext* ctx, const char* name) #else GLboolean glxewIsSupported (const char* name) #endif { GLubyte* pos = (GLubyte*)name; GLuint len = _glewStrLen(pos); GLboolean ret = GL_TRUE; while (ret && len > 0) { if(_glewStrSame1(&pos, &len, (const GLubyte*)"GLX_", 4)) { if (_glewStrSame2(&pos, &len, (const GLubyte*)"VERSION_", 8)) { #ifdef GLX_VERSION_1_2 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2", 3)) { ret = GLXEW_VERSION_1_2; continue; } #endif #ifdef GLX_VERSION_1_3 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_3", 3)) { ret = GLXEW_VERSION_1_3; continue; } #endif #ifdef GLX_VERSION_1_4 if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_4", 3)) { ret = GLXEW_VERSION_1_4; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) { #ifdef GLX_3DFX_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = GLXEW_3DFX_multisample; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"AMD_", 4)) { #ifdef GLX_AMD_gpu_association if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_association", 15)) { ret = GLXEW_AMD_gpu_association; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) { #ifdef GLX_ARB_create_context if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context", 14)) { ret = GLXEW_ARB_create_context; continue; } #endif #ifdef GLX_ARB_create_context_profile if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_profile", 22)) { ret = GLXEW_ARB_create_context_profile; continue; } #endif #ifdef GLX_ARB_create_context_robustness if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_robustness", 25)) { ret = GLXEW_ARB_create_context_robustness; continue; } #endif #ifdef GLX_ARB_fbconfig_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig_float", 14)) { ret = GLXEW_ARB_fbconfig_float; continue; } #endif #ifdef GLX_ARB_framebuffer_sRGB if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) { ret = GLXEW_ARB_framebuffer_sRGB; continue; } #endif #ifdef GLX_ARB_get_proc_address if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_proc_address", 16)) { ret = GLXEW_ARB_get_proc_address; continue; } #endif #ifdef GLX_ARB_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = GLXEW_ARB_multisample; continue; } #endif #ifdef GLX_ARB_robustness_application_isolation if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_application_isolation", 32)) { ret = GLXEW_ARB_robustness_application_isolation; continue; } #endif #ifdef GLX_ARB_robustness_share_group_isolation if (_glewStrSame3(&pos, &len, (const GLubyte*)"robustness_share_group_isolation", 32)) { ret = GLXEW_ARB_robustness_share_group_isolation; continue; } #endif #ifdef GLX_ARB_vertex_buffer_object if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_buffer_object", 20)) { ret = GLXEW_ARB_vertex_buffer_object; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) { #ifdef GLX_ATI_pixel_format_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) { ret = GLXEW_ATI_pixel_format_float; continue; } #endif #ifdef GLX_ATI_render_texture if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture", 14)) { ret = GLXEW_ATI_render_texture; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) { #ifdef GLX_EXT_buffer_age if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_age", 10)) { ret = GLXEW_EXT_buffer_age; continue; } #endif #ifdef GLX_EXT_create_context_es2_profile if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es2_profile", 26)) { ret = GLXEW_EXT_create_context_es2_profile; continue; } #endif #ifdef GLX_EXT_create_context_es_profile if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context_es_profile", 25)) { ret = GLXEW_EXT_create_context_es_profile; continue; } #endif #ifdef GLX_EXT_fbconfig_packed_float if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig_packed_float", 21)) { ret = GLXEW_EXT_fbconfig_packed_float; continue; } #endif #ifdef GLX_EXT_framebuffer_sRGB if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) { ret = GLXEW_EXT_framebuffer_sRGB; continue; } #endif #ifdef GLX_EXT_import_context if (_glewStrSame3(&pos, &len, (const GLubyte*)"import_context", 14)) { ret = GLXEW_EXT_import_context; continue; } #endif #ifdef GLX_EXT_scene_marker if (_glewStrSame3(&pos, &len, (const GLubyte*)"scene_marker", 12)) { ret = GLXEW_EXT_scene_marker; continue; } #endif #ifdef GLX_EXT_swap_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) { ret = GLXEW_EXT_swap_control; continue; } #endif #ifdef GLX_EXT_swap_control_tear if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control_tear", 17)) { ret = GLXEW_EXT_swap_control_tear; continue; } #endif #ifdef GLX_EXT_texture_from_pixmap if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_from_pixmap", 19)) { ret = GLXEW_EXT_texture_from_pixmap; continue; } #endif #ifdef GLX_EXT_visual_info if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_info", 11)) { ret = GLXEW_EXT_visual_info; continue; } #endif #ifdef GLX_EXT_visual_rating if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_rating", 13)) { ret = GLXEW_EXT_visual_rating; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"INTEL_", 6)) { #ifdef GLX_INTEL_swap_event if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_event", 10)) { ret = GLXEW_INTEL_swap_event; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESA_", 5)) { #ifdef GLX_MESA_agp_offset if (_glewStrSame3(&pos, &len, (const GLubyte*)"agp_offset", 10)) { ret = GLXEW_MESA_agp_offset; continue; } #endif #ifdef GLX_MESA_copy_sub_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_sub_buffer", 15)) { ret = GLXEW_MESA_copy_sub_buffer; continue; } #endif #ifdef GLX_MESA_pixmap_colormap if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixmap_colormap", 15)) { ret = GLXEW_MESA_pixmap_colormap; continue; } #endif #ifdef GLX_MESA_release_buffers if (_glewStrSame3(&pos, &len, (const GLubyte*)"release_buffers", 15)) { ret = GLXEW_MESA_release_buffers; continue; } #endif #ifdef GLX_MESA_set_3dfx_mode if (_glewStrSame3(&pos, &len, (const GLubyte*)"set_3dfx_mode", 13)) { ret = GLXEW_MESA_set_3dfx_mode; continue; } #endif #ifdef GLX_MESA_swap_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) { ret = GLXEW_MESA_swap_control; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) { #ifdef GLX_NV_copy_image if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_image", 10)) { ret = GLXEW_NV_copy_image; continue; } #endif #ifdef GLX_NV_float_buffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) { ret = GLXEW_NV_float_buffer; continue; } #endif #ifdef GLX_NV_multisample_coverage if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_coverage", 20)) { ret = GLXEW_NV_multisample_coverage; continue; } #endif #ifdef GLX_NV_present_video if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) { ret = GLXEW_NV_present_video; continue; } #endif #ifdef GLX_NV_swap_group if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) { ret = GLXEW_NV_swap_group; continue; } #endif #ifdef GLX_NV_vertex_array_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) { ret = GLXEW_NV_vertex_array_range; continue; } #endif #ifdef GLX_NV_video_capture if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_capture", 13)) { ret = GLXEW_NV_video_capture; continue; } #endif #ifdef GLX_NV_video_output if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_output", 12)) { ret = GLXEW_NV_video_output; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) { #ifdef GLX_OML_swap_method if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_method", 11)) { ret = GLXEW_OML_swap_method; continue; } #endif #ifdef GLX_OML_sync_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync_control", 12)) { ret = GLXEW_OML_sync_control; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIS_", 5)) { #ifdef GLX_SGIS_blended_overlay if (_glewStrSame3(&pos, &len, (const GLubyte*)"blended_overlay", 15)) { ret = GLXEW_SGIS_blended_overlay; continue; } #endif #ifdef GLX_SGIS_color_range if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_range", 11)) { ret = GLXEW_SGIS_color_range; continue; } #endif #ifdef GLX_SGIS_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) { ret = GLXEW_SGIS_multisample; continue; } #endif #ifdef GLX_SGIS_shared_multisample if (_glewStrSame3(&pos, &len, (const GLubyte*)"shared_multisample", 18)) { ret = GLXEW_SGIS_shared_multisample; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIX_", 5)) { #ifdef GLX_SGIX_fbconfig if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig", 8)) { ret = GLXEW_SGIX_fbconfig; continue; } #endif #ifdef GLX_SGIX_hyperpipe if (_glewStrSame3(&pos, &len, (const GLubyte*)"hyperpipe", 9)) { ret = GLXEW_SGIX_hyperpipe; continue; } #endif #ifdef GLX_SGIX_pbuffer if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) { ret = GLXEW_SGIX_pbuffer; continue; } #endif #ifdef GLX_SGIX_swap_barrier if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_barrier", 12)) { ret = GLXEW_SGIX_swap_barrier; continue; } #endif #ifdef GLX_SGIX_swap_group if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) { ret = GLXEW_SGIX_swap_group; continue; } #endif #ifdef GLX_SGIX_video_resize if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_resize", 12)) { ret = GLXEW_SGIX_video_resize; continue; } #endif #ifdef GLX_SGIX_visual_select_group if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_select_group", 19)) { ret = GLXEW_SGIX_visual_select_group; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGI_", 4)) { #ifdef GLX_SGI_cushion if (_glewStrSame3(&pos, &len, (const GLubyte*)"cushion", 7)) { ret = GLXEW_SGI_cushion; continue; } #endif #ifdef GLX_SGI_make_current_read if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) { ret = GLXEW_SGI_make_current_read; continue; } #endif #ifdef GLX_SGI_swap_control if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) { ret = GLXEW_SGI_swap_control; continue; } #endif #ifdef GLX_SGI_video_sync if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_sync", 10)) { ret = GLXEW_SGI_video_sync; continue; } #endif } if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUN_", 4)) { #ifdef GLX_SUN_get_transparent_index if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_transparent_index", 21)) { ret = GLXEW_SUN_get_transparent_index; continue; } #endif #ifdef GLX_SUN_video_resize if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_resize", 12)) { ret = GLXEW_SUN_video_resize; continue; } #endif } } ret = (len == 0); } return ret; } #endif /* _WIN32 */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/LICENSE.txt���������������������������������������������������������0000664�0000764�0000764�00000007436�12340277645�016501� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������The OpenGL Extension Wrangler Library Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org> Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org> Copyright (C) 2002, Lev Povalahev All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * The name of the author may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Mesa 3-D graphics library Version: 7.0 Copyright (C) 1999-2007 Brian Paul All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (c) 2007 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Materials. THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/README.txt����������������������������������������������������������0000664�0000764�0000764�00000000766�12340277645�016353� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������See doc/index.html for more information. If you downloaded the tarball from the GLEW website, you just need to: Unix: make Windows: use the project file in build/vc6/ If you wish to build GLEW from scratch (update the extension data from the net or add your own extension information), you need a Unix environment (including wget, perl, and GNU make). The extension data is regenerated from the top level source directory with: make extensions ����������Gauche-gl-0.6/win32/glew-1.10.0/include/������������������������������������������������������������0000775�0000764�0000764�00000000000�12340277645�016267� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/include/GL/���������������������������������������������������������0000775�0000764�0000764�00000000000�12340277645�016571� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/include/GL/glew.h���������������������������������������������������0000664�0000764�0000764�00003462532�12340277645�017717� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ** The OpenGL Extension Wrangler Library ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> ** Copyright (C) 2002, Lev Povalahev ** All rights reserved. ** ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are met: ** ** * Redistributions of source code must retain the above copyright notice, ** this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright notice, ** this list of conditions and the following disclaimer in the documentation ** and/or other materials provided with the distribution. ** * The name of the author may be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ** THE POSSIBILITY OF SUCH DAMAGE. */ /* * Mesa 3-D graphics library * Version: 7.0 * * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* ** Copyright (c) 2007 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the ** "Materials"), to deal in the Materials without restriction, including ** without limitation the rights to use, copy, modify, merge, publish, ** distribute, sublicense, and/or sell copies of the Materials, and to ** permit persons to whom the Materials are furnished to do so, subject to ** the following conditions: ** ** The above copyright notice and this permission notice shall be included ** in all copies or substantial portions of the Materials. ** ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ #ifndef __glew_h__ #define __glew_h__ #define __GLEW_H__ #if defined(__gl_h_) || defined(__GL_H__) || defined(__X_GL_H) #error gl.h included before glew.h #endif #if defined(__gl2_h_) #error gl2.h included before glew.h #endif #if defined(__gltypes_h_) #error gltypes.h included before glew.h #endif #if defined(__REGAL_H__) #error Regal.h included before glew.h #endif #if defined(__glext_h_) || defined(__GLEXT_H_) #error glext.h included before glew.h #endif #if defined(__gl_ATI_h_) #error glATI.h included before glew.h #endif #define __gl_h_ #define __gl2_h_ #define __GL_H__ #define __gltypes_h_ #define __REGAL_H__ #define __X_GL_H #define __glext_h_ #define __GLEXT_H_ #define __gl_ATI_h_ #if defined(_WIN32) /* * GLEW does not include <windows.h> to avoid name space pollution. * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t * defined properly. */ /* <windef.h> */ #ifndef APIENTRY #define GLEW_APIENTRY_DEFINED # if defined(__MINGW32__) || defined(__CYGWIN__) # define APIENTRY __stdcall # elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) # define APIENTRY __stdcall # else # define APIENTRY # endif #endif #ifndef GLAPI # if defined(__MINGW32__) || defined(__CYGWIN__) # define GLAPI extern # endif #endif /* <winnt.h> */ #ifndef CALLBACK #define GLEW_CALLBACK_DEFINED # if defined(__MINGW32__) || defined(__CYGWIN__) # define CALLBACK __attribute__ ((__stdcall__)) # elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) # define CALLBACK __stdcall # else # define CALLBACK # endif #endif /* <wingdi.h> and <winnt.h> */ #ifndef WINGDIAPI #define GLEW_WINGDIAPI_DEFINED #define WINGDIAPI __declspec(dllimport) #endif /* <ctype.h> */ #if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED) typedef unsigned short wchar_t; # define _WCHAR_T_DEFINED #endif /* <stddef.h> */ #if !defined(_W64) # if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300 # define _W64 __w64 # else # define _W64 # endif #endif #if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) && !defined(__MINGW64__) # ifdef _WIN64 typedef __int64 ptrdiff_t; # else typedef _W64 int ptrdiff_t; # endif # define _PTRDIFF_T_DEFINED # define _PTRDIFF_T_ #endif #ifndef GLAPI # if defined(__MINGW32__) || defined(__CYGWIN__) # define GLAPI extern # else # define GLAPI WINGDIAPI # endif #endif #ifndef GLAPIENTRY #define GLAPIENTRY APIENTRY #endif #ifndef GLEWAPIENTRY #define GLEWAPIENTRY APIENTRY #endif /* * GLEW_STATIC is defined for static library. * GLEW_BUILD is defined for building the DLL library. */ #ifdef GLEW_STATIC # define GLEWAPI extern #else # ifdef GLEW_BUILD # define GLEWAPI extern __declspec(dllexport) # else # define GLEWAPI extern __declspec(dllimport) # endif #endif #else /* _UNIX */ /* * Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO * C. On my system, this amounts to _3 lines_ of included code, all of * them pretty much harmless. If you know of a way of detecting 32 vs * 64 _targets_ at compile time you are free to replace this with * something that's portable. For now, _this_ is the portable solution. * (mem, 2004-01-04) */ #include <stddef.h> /* SGI MIPSPro doesn't like stdint.h in C++ mode */ /* ID: 3376260 Solaris 9 has inttypes.h, but not stdint.h */ #if (defined(__sgi) || defined(__sun)) && !defined(__GNUC__) #include <inttypes.h> #else #include <stdint.h> #endif #define GLEW_APIENTRY_DEFINED #define APIENTRY /* * GLEW_STATIC is defined for static library. */ #ifdef GLEW_STATIC # define GLEWAPI extern #else # if defined(__GNUC__) && __GNUC__>=4 # define GLEWAPI extern __attribute__ ((visibility("default"))) # elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) # define GLEWAPI extern __global # else # define GLEWAPI extern # endif #endif /* <glu.h> */ #ifndef GLAPI #define GLAPI extern #endif #ifndef GLAPIENTRY #define GLAPIENTRY #endif #ifndef GLEWAPIENTRY #define GLEWAPIENTRY #endif #endif /* _WIN32 */ #ifdef __cplusplus extern "C" { #endif /* ----------------------------- GL_VERSION_1_1 ---------------------------- */ #ifndef GL_VERSION_1_1 #define GL_VERSION_1_1 1 typedef unsigned int GLenum; typedef unsigned int GLbitfield; typedef unsigned int GLuint; typedef int GLint; typedef int GLsizei; typedef unsigned char GLboolean; typedef signed char GLbyte; typedef short GLshort; typedef unsigned char GLubyte; typedef unsigned short GLushort; typedef unsigned long GLulong; typedef float GLfloat; typedef float GLclampf; typedef double GLdouble; typedef double GLclampd; typedef void GLvoid; #if defined(_MSC_VER) && _MSC_VER < 1400 typedef __int64 GLint64EXT; typedef unsigned __int64 GLuint64EXT; #elif defined(_MSC_VER) || defined(__BORLANDC__) typedef signed long long GLint64EXT; typedef unsigned long long GLuint64EXT; #else # if defined(__MINGW32__) || defined(__CYGWIN__) #include <inttypes.h> # endif typedef int64_t GLint64EXT; typedef uint64_t GLuint64EXT; #endif typedef GLint64EXT GLint64; typedef GLuint64EXT GLuint64; typedef struct __GLsync *GLsync; typedef char GLchar; #define GL_ZERO 0 #define GL_FALSE 0 #define GL_LOGIC_OP 0x0BF1 #define GL_NONE 0 #define GL_TEXTURE_COMPONENTS 0x1003 #define GL_NO_ERROR 0 #define GL_POINTS 0x0000 #define GL_CURRENT_BIT 0x00000001 #define GL_TRUE 1 #define GL_ONE 1 #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 #define GL_LINES 0x0001 #define GL_LINE_LOOP 0x0002 #define GL_POINT_BIT 0x00000002 #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 #define GL_LINE_STRIP 0x0003 #define GL_LINE_BIT 0x00000004 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 #define GL_QUADS 0x0007 #define GL_QUAD_STRIP 0x0008 #define GL_POLYGON_BIT 0x00000008 #define GL_POLYGON 0x0009 #define GL_POLYGON_STIPPLE_BIT 0x00000010 #define GL_PIXEL_MODE_BIT 0x00000020 #define GL_LIGHTING_BIT 0x00000040 #define GL_FOG_BIT 0x00000080 #define GL_DEPTH_BUFFER_BIT 0x00000100 #define GL_ACCUM 0x0100 #define GL_LOAD 0x0101 #define GL_RETURN 0x0102 #define GL_MULT 0x0103 #define GL_ADD 0x0104 #define GL_NEVER 0x0200 #define GL_ACCUM_BUFFER_BIT 0x00000200 #define GL_LESS 0x0201 #define GL_EQUAL 0x0202 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_GEQUAL 0x0206 #define GL_ALWAYS 0x0207 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA_SATURATE 0x0308 #define GL_STENCIL_BUFFER_BIT 0x00000400 #define GL_FRONT_LEFT 0x0400 #define GL_FRONT_RIGHT 0x0401 #define GL_BACK_LEFT 0x0402 #define GL_BACK_RIGHT 0x0403 #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_LEFT 0x0406 #define GL_RIGHT 0x0407 #define GL_FRONT_AND_BACK 0x0408 #define GL_AUX0 0x0409 #define GL_AUX1 0x040A #define GL_AUX2 0x040B #define GL_AUX3 0x040C #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_OUT_OF_MEMORY 0x0505 #define GL_2D 0x0600 #define GL_3D 0x0601 #define GL_3D_COLOR 0x0602 #define GL_3D_COLOR_TEXTURE 0x0603 #define GL_4D_COLOR_TEXTURE 0x0604 #define GL_PASS_THROUGH_TOKEN 0x0700 #define GL_POINT_TOKEN 0x0701 #define GL_LINE_TOKEN 0x0702 #define GL_POLYGON_TOKEN 0x0703 #define GL_BITMAP_TOKEN 0x0704 #define GL_DRAW_PIXEL_TOKEN 0x0705 #define GL_COPY_PIXEL_TOKEN 0x0706 #define GL_LINE_RESET_TOKEN 0x0707 #define GL_EXP 0x0800 #define GL_VIEWPORT_BIT 0x00000800 #define GL_EXP2 0x0801 #define GL_CW 0x0900 #define GL_CCW 0x0901 #define GL_COEFF 0x0A00 #define GL_ORDER 0x0A01 #define GL_DOMAIN 0x0A02 #define GL_CURRENT_COLOR 0x0B00 #define GL_CURRENT_INDEX 0x0B01 #define GL_CURRENT_NORMAL 0x0B02 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 #define GL_CURRENT_RASTER_COLOR 0x0B04 #define GL_CURRENT_RASTER_INDEX 0x0B05 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 #define GL_CURRENT_RASTER_POSITION 0x0B07 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 #define GL_CURRENT_RASTER_DISTANCE 0x0B09 #define GL_POINT_SMOOTH 0x0B10 #define GL_POINT_SIZE 0x0B11 #define GL_POINT_SIZE_RANGE 0x0B12 #define GL_POINT_SIZE_GRANULARITY 0x0B13 #define GL_LINE_SMOOTH 0x0B20 #define GL_LINE_WIDTH 0x0B21 #define GL_LINE_WIDTH_RANGE 0x0B22 #define GL_LINE_WIDTH_GRANULARITY 0x0B23 #define GL_LINE_STIPPLE 0x0B24 #define GL_LINE_STIPPLE_PATTERN 0x0B25 #define GL_LINE_STIPPLE_REPEAT 0x0B26 #define GL_LIST_MODE 0x0B30 #define GL_MAX_LIST_NESTING 0x0B31 #define GL_LIST_BASE 0x0B32 #define GL_LIST_INDEX 0x0B33 #define GL_POLYGON_MODE 0x0B40 #define GL_POLYGON_SMOOTH 0x0B41 #define GL_POLYGON_STIPPLE 0x0B42 #define GL_EDGE_FLAG 0x0B43 #define GL_CULL_FACE 0x0B44 #define GL_CULL_FACE_MODE 0x0B45 #define GL_FRONT_FACE 0x0B46 #define GL_LIGHTING 0x0B50 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 #define GL_LIGHT_MODEL_AMBIENT 0x0B53 #define GL_SHADE_MODEL 0x0B54 #define GL_COLOR_MATERIAL_FACE 0x0B55 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56 #define GL_COLOR_MATERIAL 0x0B57 #define GL_FOG 0x0B60 #define GL_FOG_INDEX 0x0B61 #define GL_FOG_DENSITY 0x0B62 #define GL_FOG_START 0x0B63 #define GL_FOG_END 0x0B64 #define GL_FOG_MODE 0x0B65 #define GL_FOG_COLOR 0x0B66 #define GL_DEPTH_RANGE 0x0B70 #define GL_DEPTH_TEST 0x0B71 #define GL_DEPTH_WRITEMASK 0x0B72 #define GL_DEPTH_CLEAR_VALUE 0x0B73 #define GL_DEPTH_FUNC 0x0B74 #define GL_ACCUM_CLEAR_VALUE 0x0B80 #define GL_STENCIL_TEST 0x0B90 #define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_VALUE_MASK 0x0B93 #define GL_STENCIL_FAIL 0x0B94 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_WRITEMASK 0x0B98 #define GL_MATRIX_MODE 0x0BA0 #define GL_NORMALIZE 0x0BA1 #define GL_VIEWPORT 0x0BA2 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 #define GL_MODELVIEW_MATRIX 0x0BA6 #define GL_PROJECTION_MATRIX 0x0BA7 #define GL_TEXTURE_MATRIX 0x0BA8 #define GL_ATTRIB_STACK_DEPTH 0x0BB0 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 #define GL_ALPHA_TEST 0x0BC0 #define GL_ALPHA_TEST_FUNC 0x0BC1 #define GL_ALPHA_TEST_REF 0x0BC2 #define GL_DITHER 0x0BD0 #define GL_BLEND_DST 0x0BE0 #define GL_BLEND_SRC 0x0BE1 #define GL_BLEND 0x0BE2 #define GL_LOGIC_OP_MODE 0x0BF0 #define GL_INDEX_LOGIC_OP 0x0BF1 #define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_AUX_BUFFERS 0x0C00 #define GL_DRAW_BUFFER 0x0C01 #define GL_READ_BUFFER 0x0C02 #define GL_SCISSOR_BOX 0x0C10 #define GL_SCISSOR_TEST 0x0C11 #define GL_INDEX_CLEAR_VALUE 0x0C20 #define GL_INDEX_WRITEMASK 0x0C21 #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_INDEX_MODE 0x0C30 #define GL_RGBA_MODE 0x0C31 #define GL_DOUBLEBUFFER 0x0C32 #define GL_STEREO 0x0C33 #define GL_RENDER_MODE 0x0C40 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 #define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_POLYGON_SMOOTH_HINT 0x0C53 #define GL_FOG_HINT 0x0C54 #define GL_TEXTURE_GEN_S 0x0C60 #define GL_TEXTURE_GEN_T 0x0C61 #define GL_TEXTURE_GEN_R 0x0C62 #define GL_TEXTURE_GEN_Q 0x0C63 #define GL_PIXEL_MAP_I_TO_I 0x0C70 #define GL_PIXEL_MAP_S_TO_S 0x0C71 #define GL_PIXEL_MAP_I_TO_R 0x0C72 #define GL_PIXEL_MAP_I_TO_G 0x0C73 #define GL_PIXEL_MAP_I_TO_B 0x0C74 #define GL_PIXEL_MAP_I_TO_A 0x0C75 #define GL_PIXEL_MAP_R_TO_R 0x0C76 #define GL_PIXEL_MAP_G_TO_G 0x0C77 #define GL_PIXEL_MAP_B_TO_B 0x0C78 #define GL_PIXEL_MAP_A_TO_A 0x0C79 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 #define GL_UNPACK_SWAP_BYTES 0x0CF0 #define GL_UNPACK_LSB_FIRST 0x0CF1 #define GL_UNPACK_ROW_LENGTH 0x0CF2 #define GL_UNPACK_SKIP_ROWS 0x0CF3 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_PACK_SWAP_BYTES 0x0D00 #define GL_PACK_LSB_FIRST 0x0D01 #define GL_PACK_ROW_LENGTH 0x0D02 #define GL_PACK_SKIP_ROWS 0x0D03 #define GL_PACK_SKIP_PIXELS 0x0D04 #define GL_PACK_ALIGNMENT 0x0D05 #define GL_MAP_COLOR 0x0D10 #define GL_MAP_STENCIL 0x0D11 #define GL_INDEX_SHIFT 0x0D12 #define GL_INDEX_OFFSET 0x0D13 #define GL_RED_SCALE 0x0D14 #define GL_RED_BIAS 0x0D15 #define GL_ZOOM_X 0x0D16 #define GL_ZOOM_Y 0x0D17 #define GL_GREEN_SCALE 0x0D18 #define GL_GREEN_BIAS 0x0D19 #define GL_BLUE_SCALE 0x0D1A #define GL_BLUE_BIAS 0x0D1B #define GL_ALPHA_SCALE 0x0D1C #define GL_ALPHA_BIAS 0x0D1D #define GL_DEPTH_SCALE 0x0D1E #define GL_DEPTH_BIAS 0x0D1F #define GL_MAX_EVAL_ORDER 0x0D30 #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_CLIP_PLANES 0x0D32 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 #define GL_MAX_NAME_STACK_DEPTH 0x0D37 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B #define GL_SUBPIXEL_BITS 0x0D50 #define GL_INDEX_BITS 0x0D51 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_ALPHA_BITS 0x0D55 #define GL_DEPTH_BITS 0x0D56 #define GL_STENCIL_BITS 0x0D57 #define GL_ACCUM_RED_BITS 0x0D58 #define GL_ACCUM_GREEN_BITS 0x0D59 #define GL_ACCUM_BLUE_BITS 0x0D5A #define GL_ACCUM_ALPHA_BITS 0x0D5B #define GL_NAME_STACK_DEPTH 0x0D70 #define GL_AUTO_NORMAL 0x0D80 #define GL_MAP1_COLOR_4 0x0D90 #define GL_MAP1_INDEX 0x0D91 #define GL_MAP1_NORMAL 0x0D92 #define GL_MAP1_TEXTURE_COORD_1 0x0D93 #define GL_MAP1_TEXTURE_COORD_2 0x0D94 #define GL_MAP1_TEXTURE_COORD_3 0x0D95 #define GL_MAP1_TEXTURE_COORD_4 0x0D96 #define GL_MAP1_VERTEX_3 0x0D97 #define GL_MAP1_VERTEX_4 0x0D98 #define GL_MAP2_COLOR_4 0x0DB0 #define GL_MAP2_INDEX 0x0DB1 #define GL_MAP2_NORMAL 0x0DB2 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6 #define GL_MAP2_VERTEX_3 0x0DB7 #define GL_MAP2_VERTEX_4 0x0DB8 #define GL_MAP1_GRID_DOMAIN 0x0DD0 #define GL_MAP1_GRID_SEGMENTS 0x0DD1 #define GL_MAP2_GRID_DOMAIN 0x0DD2 #define GL_MAP2_GRID_SEGMENTS 0x0DD3 #define GL_TEXTURE_1D 0x0DE0 #define GL_TEXTURE_2D 0x0DE1 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 #define GL_SELECTION_BUFFER_POINTER 0x0DF3 #define GL_SELECTION_BUFFER_SIZE 0x0DF4 #define GL_TEXTURE_WIDTH 0x1000 #define GL_TRANSFORM_BIT 0x00001000 #define GL_TEXTURE_HEIGHT 0x1001 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003 #define GL_TEXTURE_BORDER_COLOR 0x1004 #define GL_TEXTURE_BORDER 0x1005 #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 #define GL_POSITION 0x1203 #define GL_SPOT_DIRECTION 0x1204 #define GL_SPOT_EXPONENT 0x1205 #define GL_SPOT_CUTOFF 0x1206 #define GL_CONSTANT_ATTENUATION 0x1207 #define GL_LINEAR_ATTENUATION 0x1208 #define GL_QUADRATIC_ATTENUATION 0x1209 #define GL_COMPILE 0x1300 #define GL_COMPILE_AND_EXECUTE 0x1301 #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_2_BYTES 0x1407 #define GL_3_BYTES 0x1408 #define GL_4_BYTES 0x1409 #define GL_DOUBLE 0x140A #define GL_CLEAR 0x1500 #define GL_AND 0x1501 #define GL_AND_REVERSE 0x1502 #define GL_COPY 0x1503 #define GL_AND_INVERTED 0x1504 #define GL_NOOP 0x1505 #define GL_XOR 0x1506 #define GL_OR 0x1507 #define GL_NOR 0x1508 #define GL_EQUIV 0x1509 #define GL_INVERT 0x150A #define GL_OR_REVERSE 0x150B #define GL_COPY_INVERTED 0x150C #define GL_OR_INVERTED 0x150D #define GL_NAND 0x150E #define GL_SET 0x150F #define GL_EMISSION 0x1600 #define GL_SHININESS 0x1601 #define GL_AMBIENT_AND_DIFFUSE 0x1602 #define GL_COLOR_INDEXES 0x1603 #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 #define GL_COLOR 0x1800 #define GL_DEPTH 0x1801 #define GL_STENCIL 0x1802 #define GL_COLOR_INDEX 0x1900 #define GL_STENCIL_INDEX 0x1901 #define GL_DEPTH_COMPONENT 0x1902 #define GL_RED 0x1903 #define GL_GREEN 0x1904 #define GL_BLUE 0x1905 #define GL_ALPHA 0x1906 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A #define GL_BITMAP 0x1A00 #define GL_POINT 0x1B00 #define GL_LINE 0x1B01 #define GL_FILL 0x1B02 #define GL_RENDER 0x1C00 #define GL_FEEDBACK 0x1C01 #define GL_SELECT 0x1C02 #define GL_FLAT 0x1D00 #define GL_SMOOTH 0x1D01 #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 #define GL_S 0x2000 #define GL_ENABLE_BIT 0x00002000 #define GL_T 0x2001 #define GL_R 0x2002 #define GL_Q 0x2003 #define GL_MODULATE 0x2100 #define GL_DECAL 0x2101 #define GL_TEXTURE_ENV_MODE 0x2200 #define GL_TEXTURE_ENV_COLOR 0x2201 #define GL_TEXTURE_ENV 0x2300 #define GL_EYE_LINEAR 0x2400 #define GL_OBJECT_LINEAR 0x2401 #define GL_SPHERE_MAP 0x2402 #define GL_TEXTURE_GEN_MODE 0x2500 #define GL_OBJECT_PLANE 0x2501 #define GL_EYE_PLANE 0x2502 #define GL_NEAREST 0x2600 #define GL_LINEAR 0x2601 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 #define GL_CLAMP 0x2900 #define GL_REPEAT 0x2901 #define GL_POLYGON_OFFSET_UNITS 0x2A00 #define GL_POLYGON_OFFSET_POINT 0x2A01 #define GL_POLYGON_OFFSET_LINE 0x2A02 #define GL_R3_G3_B2 0x2A10 #define GL_V2F 0x2A20 #define GL_V3F 0x2A21 #define GL_C4UB_V2F 0x2A22 #define GL_C4UB_V3F 0x2A23 #define GL_C3F_V3F 0x2A24 #define GL_N3F_V3F 0x2A25 #define GL_C4F_N3F_V3F 0x2A26 #define GL_T2F_V3F 0x2A27 #define GL_T4F_V4F 0x2A28 #define GL_T2F_C4UB_V3F 0x2A29 #define GL_T2F_C3F_V3F 0x2A2A #define GL_T2F_N3F_V3F 0x2A2B #define GL_T2F_C4F_N3F_V3F 0x2A2C #define GL_T4F_C4F_N3F_V4F 0x2A2D #define GL_CLIP_PLANE0 0x3000 #define GL_CLIP_PLANE1 0x3001 #define GL_CLIP_PLANE2 0x3002 #define GL_CLIP_PLANE3 0x3003 #define GL_CLIP_PLANE4 0x3004 #define GL_CLIP_PLANE5 0x3005 #define GL_LIGHT0 0x4000 #define GL_COLOR_BUFFER_BIT 0x00004000 #define GL_LIGHT1 0x4001 #define GL_LIGHT2 0x4002 #define GL_LIGHT3 0x4003 #define GL_LIGHT4 0x4004 #define GL_LIGHT5 0x4005 #define GL_LIGHT6 0x4006 #define GL_LIGHT7 0x4007 #define GL_HINT_BIT 0x00008000 #define GL_POLYGON_OFFSET_FILL 0x8037 #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_ALPHA4 0x803B #define GL_ALPHA8 0x803C #define GL_ALPHA12 0x803D #define GL_ALPHA16 0x803E #define GL_LUMINANCE4 0x803F #define GL_LUMINANCE8 0x8040 #define GL_LUMINANCE12 0x8041 #define GL_LUMINANCE16 0x8042 #define GL_LUMINANCE4_ALPHA4 0x8043 #define GL_LUMINANCE6_ALPHA2 0x8044 #define GL_LUMINANCE8_ALPHA8 0x8045 #define GL_LUMINANCE12_ALPHA4 0x8046 #define GL_LUMINANCE12_ALPHA12 0x8047 #define GL_LUMINANCE16_ALPHA16 0x8048 #define GL_INTENSITY 0x8049 #define GL_INTENSITY4 0x804A #define GL_INTENSITY8 0x804B #define GL_INTENSITY12 0x804C #define GL_INTENSITY16 0x804D #define GL_RGB4 0x804F #define GL_RGB5 0x8050 #define GL_RGB8 0x8051 #define GL_RGB10 0x8052 #define GL_RGB12 0x8053 #define GL_RGB16 0x8054 #define GL_RGBA2 0x8055 #define GL_RGBA4 0x8056 #define GL_RGB5_A1 0x8057 #define GL_RGBA8 0x8058 #define GL_RGB10_A2 0x8059 #define GL_RGBA12 0x805A #define GL_RGBA16 0x805B #define GL_TEXTURE_RED_SIZE 0x805C #define GL_TEXTURE_GREEN_SIZE 0x805D #define GL_TEXTURE_BLUE_SIZE 0x805E #define GL_TEXTURE_ALPHA_SIZE 0x805F #define GL_TEXTURE_LUMINANCE_SIZE 0x8060 #define GL_TEXTURE_INTENSITY_SIZE 0x8061 #define GL_PROXY_TEXTURE_1D 0x8063 #define GL_PROXY_TEXTURE_2D 0x8064 #define GL_TEXTURE_PRIORITY 0x8066 #define GL_TEXTURE_RESIDENT 0x8067 #define GL_TEXTURE_BINDING_1D 0x8068 #define GL_TEXTURE_BINDING_2D 0x8069 #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_INDEX_ARRAY 0x8077 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_EDGE_FLAG_ARRAY 0x8079 #define GL_VERTEX_ARRAY_SIZE 0x807A #define GL_VERTEX_ARRAY_TYPE 0x807B #define GL_VERTEX_ARRAY_STRIDE 0x807C #define GL_NORMAL_ARRAY_TYPE 0x807E #define GL_NORMAL_ARRAY_STRIDE 0x807F #define GL_COLOR_ARRAY_SIZE 0x8081 #define GL_COLOR_ARRAY_TYPE 0x8082 #define GL_COLOR_ARRAY_STRIDE 0x8083 #define GL_INDEX_ARRAY_TYPE 0x8085 #define GL_INDEX_ARRAY_STRIDE 0x8086 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C #define GL_VERTEX_ARRAY_POINTER 0x808E #define GL_NORMAL_ARRAY_POINTER 0x808F #define GL_COLOR_ARRAY_POINTER 0x8090 #define GL_INDEX_ARRAY_POINTER 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 #define GL_EVAL_BIT 0x00010000 #define GL_LIST_BIT 0x00020000 #define GL_TEXTURE_BIT 0x00040000 #define GL_SCISSOR_BIT 0x00080000 #define GL_ALL_ATTRIB_BITS 0x000fffff #define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value); GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref); GLAPI GLboolean GLAPIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences); GLAPI void GLAPIENTRY glArrayElement (GLint i); GLAPI void GLAPIENTRY glBegin (GLenum mode); GLAPI void GLAPIENTRY glBindTexture (GLenum target, GLuint texture); GLAPI void GLAPIENTRY glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); GLAPI void GLAPIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); GLAPI void GLAPIENTRY glCallList (GLuint list); GLAPI void GLAPIENTRY glCallLists (GLsizei n, GLenum type, const GLvoid *lists); GLAPI void GLAPIENTRY glClear (GLbitfield mask); GLAPI void GLAPIENTRY glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI void GLAPIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); GLAPI void GLAPIENTRY glClearDepth (GLclampd depth); GLAPI void GLAPIENTRY glClearIndex (GLfloat c); GLAPI void GLAPIENTRY glClearStencil (GLint s); GLAPI void GLAPIENTRY glClipPlane (GLenum plane, const GLdouble *equation); GLAPI void GLAPIENTRY glColor3b (GLbyte red, GLbyte green, GLbyte blue); GLAPI void GLAPIENTRY glColor3bv (const GLbyte *v); GLAPI void GLAPIENTRY glColor3d (GLdouble red, GLdouble green, GLdouble blue); GLAPI void GLAPIENTRY glColor3dv (const GLdouble *v); GLAPI void GLAPIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue); GLAPI void GLAPIENTRY glColor3fv (const GLfloat *v); GLAPI void GLAPIENTRY glColor3i (GLint red, GLint green, GLint blue); GLAPI void GLAPIENTRY glColor3iv (const GLint *v); GLAPI void GLAPIENTRY glColor3s (GLshort red, GLshort green, GLshort blue); GLAPI void GLAPIENTRY glColor3sv (const GLshort *v); GLAPI void GLAPIENTRY glColor3ub (GLubyte red, GLubyte green, GLubyte blue); GLAPI void GLAPIENTRY glColor3ubv (const GLubyte *v); GLAPI void GLAPIENTRY glColor3ui (GLuint red, GLuint green, GLuint blue); GLAPI void GLAPIENTRY glColor3uiv (const GLuint *v); GLAPI void GLAPIENTRY glColor3us (GLushort red, GLushort green, GLushort blue); GLAPI void GLAPIENTRY glColor3usv (const GLushort *v); GLAPI void GLAPIENTRY glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); GLAPI void GLAPIENTRY glColor4bv (const GLbyte *v); GLAPI void GLAPIENTRY glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); GLAPI void GLAPIENTRY glColor4dv (const GLdouble *v); GLAPI void GLAPIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI void GLAPIENTRY glColor4fv (const GLfloat *v); GLAPI void GLAPIENTRY glColor4i (GLint red, GLint green, GLint blue, GLint alpha); GLAPI void GLAPIENTRY glColor4iv (const GLint *v); GLAPI void GLAPIENTRY glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha); GLAPI void GLAPIENTRY glColor4sv (const GLshort *v); GLAPI void GLAPIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); GLAPI void GLAPIENTRY glColor4ubv (const GLubyte *v); GLAPI void GLAPIENTRY glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha); GLAPI void GLAPIENTRY glColor4uiv (const GLuint *v); GLAPI void GLAPIENTRY glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha); GLAPI void GLAPIENTRY glColor4usv (const GLushort *v); GLAPI void GLAPIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); GLAPI void GLAPIENTRY glColorMaterial (GLenum face, GLenum mode); GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); GLAPI void GLAPIENTRY glCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border); GLAPI void GLAPIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); GLAPI void GLAPIENTRY glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); GLAPI void GLAPIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); GLAPI void GLAPIENTRY glCullFace (GLenum mode); GLAPI void GLAPIENTRY glDeleteLists (GLuint list, GLsizei range); GLAPI void GLAPIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); GLAPI void GLAPIENTRY glDepthFunc (GLenum func); GLAPI void GLAPIENTRY glDepthMask (GLboolean flag); GLAPI void GLAPIENTRY glDepthRange (GLclampd zNear, GLclampd zFar); GLAPI void GLAPIENTRY glDisable (GLenum cap); GLAPI void GLAPIENTRY glDisableClientState (GLenum array); GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); GLAPI void GLAPIENTRY glDrawBuffer (GLenum mode); GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); GLAPI void GLAPIENTRY glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); GLAPI void GLAPIENTRY glEdgeFlag (GLboolean flag); GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glEdgeFlagv (const GLboolean *flag); GLAPI void GLAPIENTRY glEnable (GLenum cap); GLAPI void GLAPIENTRY glEnableClientState (GLenum array); GLAPI void GLAPIENTRY glEnd (void); GLAPI void GLAPIENTRY glEndList (void); GLAPI void GLAPIENTRY glEvalCoord1d (GLdouble u); GLAPI void GLAPIENTRY glEvalCoord1dv (const GLdouble *u); GLAPI void GLAPIENTRY glEvalCoord1f (GLfloat u); GLAPI void GLAPIENTRY glEvalCoord1fv (const GLfloat *u); GLAPI void GLAPIENTRY glEvalCoord2d (GLdouble u, GLdouble v); GLAPI void GLAPIENTRY glEvalCoord2dv (const GLdouble *u); GLAPI void GLAPIENTRY glEvalCoord2f (GLfloat u, GLfloat v); GLAPI void GLAPIENTRY glEvalCoord2fv (const GLfloat *u); GLAPI void GLAPIENTRY glEvalMesh1 (GLenum mode, GLint i1, GLint i2); GLAPI void GLAPIENTRY glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); GLAPI void GLAPIENTRY glEvalPoint1 (GLint i); GLAPI void GLAPIENTRY glEvalPoint2 (GLint i, GLint j); GLAPI void GLAPIENTRY glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer); GLAPI void GLAPIENTRY glFinish (void); GLAPI void GLAPIENTRY glFlush (void); GLAPI void GLAPIENTRY glFogf (GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glFogfv (GLenum pname, const GLfloat *params); GLAPI void GLAPIENTRY glFogi (GLenum pname, GLint param); GLAPI void GLAPIENTRY glFogiv (GLenum pname, const GLint *params); GLAPI void GLAPIENTRY glFrontFace (GLenum mode); GLAPI void GLAPIENTRY glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); GLAPI GLuint GLAPIENTRY glGenLists (GLsizei range); GLAPI void GLAPIENTRY glGenTextures (GLsizei n, GLuint *textures); GLAPI void GLAPIENTRY glGetBooleanv (GLenum pname, GLboolean *params); GLAPI void GLAPIENTRY glGetClipPlane (GLenum plane, GLdouble *equation); GLAPI void GLAPIENTRY glGetDoublev (GLenum pname, GLdouble *params); GLAPI GLenum GLAPIENTRY glGetError (void); GLAPI void GLAPIENTRY glGetFloatv (GLenum pname, GLfloat *params); GLAPI void GLAPIENTRY glGetIntegerv (GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params); GLAPI void GLAPIENTRY glGetLightiv (GLenum light, GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetMapdv (GLenum target, GLenum query, GLdouble *v); GLAPI void GLAPIENTRY glGetMapfv (GLenum target, GLenum query, GLfloat *v); GLAPI void GLAPIENTRY glGetMapiv (GLenum target, GLenum query, GLint *v); GLAPI void GLAPIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); GLAPI void GLAPIENTRY glGetMaterialiv (GLenum face, GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetPixelMapfv (GLenum map, GLfloat *values); GLAPI void GLAPIENTRY glGetPixelMapuiv (GLenum map, GLuint *values); GLAPI void GLAPIENTRY glGetPixelMapusv (GLenum map, GLushort *values); GLAPI void GLAPIENTRY glGetPointerv (GLenum pname, GLvoid* *params); GLAPI void GLAPIENTRY glGetPolygonStipple (GLubyte *mask); GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum name); GLAPI void GLAPIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params); GLAPI void GLAPIENTRY glGetTexEnviv (GLenum target, GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetTexGendv (GLenum coord, GLenum pname, GLdouble *params); GLAPI void GLAPIENTRY glGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params); GLAPI void GLAPIENTRY glGetTexGeniv (GLenum coord, GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); GLAPI void GLAPIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params); GLAPI void GLAPIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); GLAPI void GLAPIENTRY glHint (GLenum target, GLenum mode); GLAPI void GLAPIENTRY glIndexMask (GLuint mask); GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glIndexd (GLdouble c); GLAPI void GLAPIENTRY glIndexdv (const GLdouble *c); GLAPI void GLAPIENTRY glIndexf (GLfloat c); GLAPI void GLAPIENTRY glIndexfv (const GLfloat *c); GLAPI void GLAPIENTRY glIndexi (GLint c); GLAPI void GLAPIENTRY glIndexiv (const GLint *c); GLAPI void GLAPIENTRY glIndexs (GLshort c); GLAPI void GLAPIENTRY glIndexsv (const GLshort *c); GLAPI void GLAPIENTRY glIndexub (GLubyte c); GLAPI void GLAPIENTRY glIndexubv (const GLubyte *c); GLAPI void GLAPIENTRY glInitNames (void); GLAPI void GLAPIENTRY glInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer); GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum cap); GLAPI GLboolean GLAPIENTRY glIsList (GLuint list); GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint texture); GLAPI void GLAPIENTRY glLightModelf (GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glLightModelfv (GLenum pname, const GLfloat *params); GLAPI void GLAPIENTRY glLightModeli (GLenum pname, GLint param); GLAPI void GLAPIENTRY glLightModeliv (GLenum pname, const GLint *params); GLAPI void GLAPIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); GLAPI void GLAPIENTRY glLighti (GLenum light, GLenum pname, GLint param); GLAPI void GLAPIENTRY glLightiv (GLenum light, GLenum pname, const GLint *params); GLAPI void GLAPIENTRY glLineStipple (GLint factor, GLushort pattern); GLAPI void GLAPIENTRY glLineWidth (GLfloat width); GLAPI void GLAPIENTRY glListBase (GLuint base); GLAPI void GLAPIENTRY glLoadIdentity (void); GLAPI void GLAPIENTRY glLoadMatrixd (const GLdouble *m); GLAPI void GLAPIENTRY glLoadMatrixf (const GLfloat *m); GLAPI void GLAPIENTRY glLoadName (GLuint name); GLAPI void GLAPIENTRY glLogicOp (GLenum opcode); GLAPI void GLAPIENTRY glMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); GLAPI void GLAPIENTRY glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); GLAPI void GLAPIENTRY glMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); GLAPI void GLAPIENTRY glMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); GLAPI void GLAPIENTRY glMapGrid1d (GLint un, GLdouble u1, GLdouble u2); GLAPI void GLAPIENTRY glMapGrid1f (GLint un, GLfloat u1, GLfloat u2); GLAPI void GLAPIENTRY glMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); GLAPI void GLAPIENTRY glMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); GLAPI void GLAPIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); GLAPI void GLAPIENTRY glMateriali (GLenum face, GLenum pname, GLint param); GLAPI void GLAPIENTRY glMaterialiv (GLenum face, GLenum pname, const GLint *params); GLAPI void GLAPIENTRY glMatrixMode (GLenum mode); GLAPI void GLAPIENTRY glMultMatrixd (const GLdouble *m); GLAPI void GLAPIENTRY glMultMatrixf (const GLfloat *m); GLAPI void GLAPIENTRY glNewList (GLuint list, GLenum mode); GLAPI void GLAPIENTRY glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz); GLAPI void GLAPIENTRY glNormal3bv (const GLbyte *v); GLAPI void GLAPIENTRY glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz); GLAPI void GLAPIENTRY glNormal3dv (const GLdouble *v); GLAPI void GLAPIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); GLAPI void GLAPIENTRY glNormal3fv (const GLfloat *v); GLAPI void GLAPIENTRY glNormal3i (GLint nx, GLint ny, GLint nz); GLAPI void GLAPIENTRY glNormal3iv (const GLint *v); GLAPI void GLAPIENTRY glNormal3s (GLshort nx, GLshort ny, GLshort nz); GLAPI void GLAPIENTRY glNormal3sv (const GLshort *v); GLAPI void GLAPIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); GLAPI void GLAPIENTRY glPassThrough (GLfloat token); GLAPI void GLAPIENTRY glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values); GLAPI void GLAPIENTRY glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values); GLAPI void GLAPIENTRY glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values); GLAPI void GLAPIENTRY glPixelStoref (GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glPixelStorei (GLenum pname, GLint param); GLAPI void GLAPIENTRY glPixelTransferf (GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glPixelTransferi (GLenum pname, GLint param); GLAPI void GLAPIENTRY glPixelZoom (GLfloat xfactor, GLfloat yfactor); GLAPI void GLAPIENTRY glPointSize (GLfloat size); GLAPI void GLAPIENTRY glPolygonMode (GLenum face, GLenum mode); GLAPI void GLAPIENTRY glPolygonOffset (GLfloat factor, GLfloat units); GLAPI void GLAPIENTRY glPolygonStipple (const GLubyte *mask); GLAPI void GLAPIENTRY glPopAttrib (void); GLAPI void GLAPIENTRY glPopClientAttrib (void); GLAPI void GLAPIENTRY glPopMatrix (void); GLAPI void GLAPIENTRY glPopName (void); GLAPI void GLAPIENTRY glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities); GLAPI void GLAPIENTRY glPushAttrib (GLbitfield mask); GLAPI void GLAPIENTRY glPushClientAttrib (GLbitfield mask); GLAPI void GLAPIENTRY glPushMatrix (void); GLAPI void GLAPIENTRY glPushName (GLuint name); GLAPI void GLAPIENTRY glRasterPos2d (GLdouble x, GLdouble y); GLAPI void GLAPIENTRY glRasterPos2dv (const GLdouble *v); GLAPI void GLAPIENTRY glRasterPos2f (GLfloat x, GLfloat y); GLAPI void GLAPIENTRY glRasterPos2fv (const GLfloat *v); GLAPI void GLAPIENTRY glRasterPos2i (GLint x, GLint y); GLAPI void GLAPIENTRY glRasterPos2iv (const GLint *v); GLAPI void GLAPIENTRY glRasterPos2s (GLshort x, GLshort y); GLAPI void GLAPIENTRY glRasterPos2sv (const GLshort *v); GLAPI void GLAPIENTRY glRasterPos3d (GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glRasterPos3dv (const GLdouble *v); GLAPI void GLAPIENTRY glRasterPos3f (GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glRasterPos3fv (const GLfloat *v); GLAPI void GLAPIENTRY glRasterPos3i (GLint x, GLint y, GLint z); GLAPI void GLAPIENTRY glRasterPos3iv (const GLint *v); GLAPI void GLAPIENTRY glRasterPos3s (GLshort x, GLshort y, GLshort z); GLAPI void GLAPIENTRY glRasterPos3sv (const GLshort *v); GLAPI void GLAPIENTRY glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); GLAPI void GLAPIENTRY glRasterPos4dv (const GLdouble *v); GLAPI void GLAPIENTRY glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); GLAPI void GLAPIENTRY glRasterPos4fv (const GLfloat *v); GLAPI void GLAPIENTRY glRasterPos4i (GLint x, GLint y, GLint z, GLint w); GLAPI void GLAPIENTRY glRasterPos4iv (const GLint *v); GLAPI void GLAPIENTRY glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w); GLAPI void GLAPIENTRY glRasterPos4sv (const GLshort *v); GLAPI void GLAPIENTRY glReadBuffer (GLenum mode); GLAPI void GLAPIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); GLAPI void GLAPIENTRY glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); GLAPI void GLAPIENTRY glRectdv (const GLdouble *v1, const GLdouble *v2); GLAPI void GLAPIENTRY glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); GLAPI void GLAPIENTRY glRectfv (const GLfloat *v1, const GLfloat *v2); GLAPI void GLAPIENTRY glRecti (GLint x1, GLint y1, GLint x2, GLint y2); GLAPI void GLAPIENTRY glRectiv (const GLint *v1, const GLint *v2); GLAPI void GLAPIENTRY glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2); GLAPI void GLAPIENTRY glRectsv (const GLshort *v1, const GLshort *v2); GLAPI GLint GLAPIENTRY glRenderMode (GLenum mode); GLAPI void GLAPIENTRY glRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glScaled (GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); GLAPI void GLAPIENTRY glSelectBuffer (GLsizei size, GLuint *buffer); GLAPI void GLAPIENTRY glShadeModel (GLenum mode); GLAPI void GLAPIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); GLAPI void GLAPIENTRY glStencilMask (GLuint mask); GLAPI void GLAPIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); GLAPI void GLAPIENTRY glTexCoord1d (GLdouble s); GLAPI void GLAPIENTRY glTexCoord1dv (const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord1f (GLfloat s); GLAPI void GLAPIENTRY glTexCoord1fv (const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord1i (GLint s); GLAPI void GLAPIENTRY glTexCoord1iv (const GLint *v); GLAPI void GLAPIENTRY glTexCoord1s (GLshort s); GLAPI void GLAPIENTRY glTexCoord1sv (const GLshort *v); GLAPI void GLAPIENTRY glTexCoord2d (GLdouble s, GLdouble t); GLAPI void GLAPIENTRY glTexCoord2dv (const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord2f (GLfloat s, GLfloat t); GLAPI void GLAPIENTRY glTexCoord2fv (const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord2i (GLint s, GLint t); GLAPI void GLAPIENTRY glTexCoord2iv (const GLint *v); GLAPI void GLAPIENTRY glTexCoord2s (GLshort s, GLshort t); GLAPI void GLAPIENTRY glTexCoord2sv (const GLshort *v); GLAPI void GLAPIENTRY glTexCoord3d (GLdouble s, GLdouble t, GLdouble r); GLAPI void GLAPIENTRY glTexCoord3dv (const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord3f (GLfloat s, GLfloat t, GLfloat r); GLAPI void GLAPIENTRY glTexCoord3fv (const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord3i (GLint s, GLint t, GLint r); GLAPI void GLAPIENTRY glTexCoord3iv (const GLint *v); GLAPI void GLAPIENTRY glTexCoord3s (GLshort s, GLshort t, GLshort r); GLAPI void GLAPIENTRY glTexCoord3sv (const GLshort *v); GLAPI void GLAPIENTRY glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q); GLAPI void GLAPIENTRY glTexCoord4dv (const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q); GLAPI void GLAPIENTRY glTexCoord4fv (const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord4i (GLint s, GLint t, GLint r, GLint q); GLAPI void GLAPIENTRY glTexCoord4iv (const GLint *v); GLAPI void GLAPIENTRY glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q); GLAPI void GLAPIENTRY glTexCoord4sv (const GLshort *v); GLAPI void GLAPIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); GLAPI void GLAPIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params); GLAPI void GLAPIENTRY glTexGend (GLenum coord, GLenum pname, GLdouble param); GLAPI void GLAPIENTRY glTexGendv (GLenum coord, GLenum pname, const GLdouble *params); GLAPI void GLAPIENTRY glTexGenf (GLenum coord, GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params); GLAPI void GLAPIENTRY glTexGeni (GLenum coord, GLenum pname, GLint param); GLAPI void GLAPIENTRY glTexGeniv (GLenum coord, GLenum pname, const GLint *params); GLAPI void GLAPIENTRY glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); GLAPI void GLAPIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); GLAPI void GLAPIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); GLAPI void GLAPIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); GLAPI void GLAPIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); GLAPI void GLAPIENTRY glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); GLAPI void GLAPIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); GLAPI void GLAPIENTRY glTranslated (GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glVertex2d (GLdouble x, GLdouble y); GLAPI void GLAPIENTRY glVertex2dv (const GLdouble *v); GLAPI void GLAPIENTRY glVertex2f (GLfloat x, GLfloat y); GLAPI void GLAPIENTRY glVertex2fv (const GLfloat *v); GLAPI void GLAPIENTRY glVertex2i (GLint x, GLint y); GLAPI void GLAPIENTRY glVertex2iv (const GLint *v); GLAPI void GLAPIENTRY glVertex2s (GLshort x, GLshort y); GLAPI void GLAPIENTRY glVertex2sv (const GLshort *v); GLAPI void GLAPIENTRY glVertex3d (GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glVertex3dv (const GLdouble *v); GLAPI void GLAPIENTRY glVertex3f (GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glVertex3fv (const GLfloat *v); GLAPI void GLAPIENTRY glVertex3i (GLint x, GLint y, GLint z); GLAPI void GLAPIENTRY glVertex3iv (const GLint *v); GLAPI void GLAPIENTRY glVertex3s (GLshort x, GLshort y, GLshort z); GLAPI void GLAPIENTRY glVertex3sv (const GLshort *v); GLAPI void GLAPIENTRY glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); GLAPI void GLAPIENTRY glVertex4dv (const GLdouble *v); GLAPI void GLAPIENTRY glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); GLAPI void GLAPIENTRY glVertex4fv (const GLfloat *v); GLAPI void GLAPIENTRY glVertex4i (GLint x, GLint y, GLint z, GLint w); GLAPI void GLAPIENTRY glVertex4iv (const GLint *v); GLAPI void GLAPIENTRY glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w); GLAPI void GLAPIENTRY glVertex4sv (const GLshort *v); GLAPI void GLAPIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); #define GLEW_VERSION_1_1 GLEW_GET_VAR(__GLEW_VERSION_1_1) #endif /* GL_VERSION_1_1 */ /* ---------------------------------- GLU ---------------------------------- */ #ifndef GLEW_NO_GLU /* this is where we can safely include GLU */ # if defined(__APPLE__) && defined(__MACH__) # include <OpenGL/glu.h> # else # include <GL/glu.h> # endif #endif /* ----------------------------- GL_VERSION_1_2 ---------------------------- */ #ifndef GL_VERSION_1_2 #define GL_VERSION_1_2 1 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 #define GL_UNSIGNED_BYTE_3_3_2 0x8032 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_INT_8_8_8_8 0x8035 #define GL_UNSIGNED_INT_10_10_10_2 0x8036 #define GL_RESCALE_NORMAL 0x803A #define GL_TEXTURE_BINDING_3D 0x806A #define GL_PACK_SKIP_IMAGES 0x806B #define GL_PACK_IMAGE_HEIGHT 0x806C #define GL_UNPACK_SKIP_IMAGES 0x806D #define GL_UNPACK_IMAGE_HEIGHT 0x806E #define GL_TEXTURE_3D 0x806F #define GL_PROXY_TEXTURE_3D 0x8070 #define GL_TEXTURE_DEPTH 0x8071 #define GL_TEXTURE_WRAP_R 0x8072 #define GL_MAX_3D_TEXTURE_SIZE 0x8073 #define GL_BGR 0x80E0 #define GL_BGRA 0x80E1 #define GL_MAX_ELEMENTS_VERTICES 0x80E8 #define GL_MAX_ELEMENTS_INDICES 0x80E9 #define GL_CLAMP_TO_EDGE 0x812F #define GL_TEXTURE_MIN_LOD 0x813A #define GL_TEXTURE_MAX_LOD 0x813B #define GL_TEXTURE_BASE_LEVEL 0x813C #define GL_TEXTURE_MAX_LEVEL 0x813D #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 #define GL_SINGLE_COLOR 0x81F9 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); #define glCopyTexSubImage3D GLEW_GET_FUN(__glewCopyTexSubImage3D) #define glDrawRangeElements GLEW_GET_FUN(__glewDrawRangeElements) #define glTexImage3D GLEW_GET_FUN(__glewTexImage3D) #define glTexSubImage3D GLEW_GET_FUN(__glewTexSubImage3D) #define GLEW_VERSION_1_2 GLEW_GET_VAR(__GLEW_VERSION_1_2) #endif /* GL_VERSION_1_2 */ /* ---------------------------- GL_VERSION_1_2_1 --------------------------- */ #ifndef GL_VERSION_1_2_1 #define GL_VERSION_1_2_1 1 #define GLEW_VERSION_1_2_1 GLEW_GET_VAR(__GLEW_VERSION_1_2_1) #endif /* GL_VERSION_1_2_1 */ /* ----------------------------- GL_VERSION_1_3 ---------------------------- */ #ifndef GL_VERSION_1_3 #define GL_VERSION_1_3 1 #define GL_MULTISAMPLE 0x809D #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E #define GL_SAMPLE_ALPHA_TO_ONE 0x809F #define GL_SAMPLE_COVERAGE 0x80A0 #define GL_SAMPLE_BUFFERS 0x80A8 #define GL_SAMPLES 0x80A9 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA #define GL_SAMPLE_COVERAGE_INVERT 0x80AB #define GL_CLAMP_TO_BORDER 0x812D #define GL_TEXTURE0 0x84C0 #define GL_TEXTURE1 0x84C1 #define GL_TEXTURE2 0x84C2 #define GL_TEXTURE3 0x84C3 #define GL_TEXTURE4 0x84C4 #define GL_TEXTURE5 0x84C5 #define GL_TEXTURE6 0x84C6 #define GL_TEXTURE7 0x84C7 #define GL_TEXTURE8 0x84C8 #define GL_TEXTURE9 0x84C9 #define GL_TEXTURE10 0x84CA #define GL_TEXTURE11 0x84CB #define GL_TEXTURE12 0x84CC #define GL_TEXTURE13 0x84CD #define GL_TEXTURE14 0x84CE #define GL_TEXTURE15 0x84CF #define GL_TEXTURE16 0x84D0 #define GL_TEXTURE17 0x84D1 #define GL_TEXTURE18 0x84D2 #define GL_TEXTURE19 0x84D3 #define GL_TEXTURE20 0x84D4 #define GL_TEXTURE21 0x84D5 #define GL_TEXTURE22 0x84D6 #define GL_TEXTURE23 0x84D7 #define GL_TEXTURE24 0x84D8 #define GL_TEXTURE25 0x84D9 #define GL_TEXTURE26 0x84DA #define GL_TEXTURE27 0x84DB #define GL_TEXTURE28 0x84DC #define GL_TEXTURE29 0x84DD #define GL_TEXTURE30 0x84DE #define GL_TEXTURE31 0x84DF #define GL_ACTIVE_TEXTURE 0x84E0 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 #define GL_MAX_TEXTURE_UNITS 0x84E2 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 #define GL_SUBTRACT 0x84E7 #define GL_COMPRESSED_ALPHA 0x84E9 #define GL_COMPRESSED_LUMINANCE 0x84EA #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB #define GL_COMPRESSED_INTENSITY 0x84EC #define GL_COMPRESSED_RGB 0x84ED #define GL_COMPRESSED_RGBA 0x84EE #define GL_TEXTURE_COMPRESSION_HINT 0x84EF #define GL_NORMAL_MAP 0x8511 #define GL_REFLECTION_MAP 0x8512 #define GL_TEXTURE_CUBE_MAP 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C #define GL_COMBINE 0x8570 #define GL_COMBINE_RGB 0x8571 #define GL_COMBINE_ALPHA 0x8572 #define GL_RGB_SCALE 0x8573 #define GL_ADD_SIGNED 0x8574 #define GL_INTERPOLATE 0x8575 #define GL_CONSTANT 0x8576 #define GL_PRIMARY_COLOR 0x8577 #define GL_PREVIOUS 0x8578 #define GL_SOURCE0_RGB 0x8580 #define GL_SOURCE1_RGB 0x8581 #define GL_SOURCE2_RGB 0x8582 #define GL_SOURCE0_ALPHA 0x8588 #define GL_SOURCE1_ALPHA 0x8589 #define GL_SOURCE2_ALPHA 0x858A #define GL_OPERAND0_RGB 0x8590 #define GL_OPERAND1_RGB 0x8591 #define GL_OPERAND2_RGB 0x8592 #define GL_OPERAND0_ALPHA 0x8598 #define GL_OPERAND1_ALPHA 0x8599 #define GL_OPERAND2_ALPHA 0x859A #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 #define GL_TEXTURE_COMPRESSED 0x86A1 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 #define GL_DOT3_RGB 0x86AE #define GL_DOT3_RGBA 0x86AF #define GL_MULTISAMPLE_BIT 0x20000000 typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture); typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLvoid *img); typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v); typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert); #define glActiveTexture GLEW_GET_FUN(__glewActiveTexture) #define glClientActiveTexture GLEW_GET_FUN(__glewClientActiveTexture) #define glCompressedTexImage1D GLEW_GET_FUN(__glewCompressedTexImage1D) #define glCompressedTexImage2D GLEW_GET_FUN(__glewCompressedTexImage2D) #define glCompressedTexImage3D GLEW_GET_FUN(__glewCompressedTexImage3D) #define glCompressedTexSubImage1D GLEW_GET_FUN(__glewCompressedTexSubImage1D) #define glCompressedTexSubImage2D GLEW_GET_FUN(__glewCompressedTexSubImage2D) #define glCompressedTexSubImage3D GLEW_GET_FUN(__glewCompressedTexSubImage3D) #define glGetCompressedTexImage GLEW_GET_FUN(__glewGetCompressedTexImage) #define glLoadTransposeMatrixd GLEW_GET_FUN(__glewLoadTransposeMatrixd) #define glLoadTransposeMatrixf GLEW_GET_FUN(__glewLoadTransposeMatrixf) #define glMultTransposeMatrixd GLEW_GET_FUN(__glewMultTransposeMatrixd) #define glMultTransposeMatrixf GLEW_GET_FUN(__glewMultTransposeMatrixf) #define glMultiTexCoord1d GLEW_GET_FUN(__glewMultiTexCoord1d) #define glMultiTexCoord1dv GLEW_GET_FUN(__glewMultiTexCoord1dv) #define glMultiTexCoord1f GLEW_GET_FUN(__glewMultiTexCoord1f) #define glMultiTexCoord1fv GLEW_GET_FUN(__glewMultiTexCoord1fv) #define glMultiTexCoord1i GLEW_GET_FUN(__glewMultiTexCoord1i) #define glMultiTexCoord1iv GLEW_GET_FUN(__glewMultiTexCoord1iv) #define glMultiTexCoord1s GLEW_GET_FUN(__glewMultiTexCoord1s) #define glMultiTexCoord1sv GLEW_GET_FUN(__glewMultiTexCoord1sv) #define glMultiTexCoord2d GLEW_GET_FUN(__glewMultiTexCoord2d) #define glMultiTexCoord2dv GLEW_GET_FUN(__glewMultiTexCoord2dv) #define glMultiTexCoord2f GLEW_GET_FUN(__glewMultiTexCoord2f) #define glMultiTexCoord2fv GLEW_GET_FUN(__glewMultiTexCoord2fv) #define glMultiTexCoord2i GLEW_GET_FUN(__glewMultiTexCoord2i) #define glMultiTexCoord2iv GLEW_GET_FUN(__glewMultiTexCoord2iv) #define glMultiTexCoord2s GLEW_GET_FUN(__glewMultiTexCoord2s) #define glMultiTexCoord2sv GLEW_GET_FUN(__glewMultiTexCoord2sv) #define glMultiTexCoord3d GLEW_GET_FUN(__glewMultiTexCoord3d) #define glMultiTexCoord3dv GLEW_GET_FUN(__glewMultiTexCoord3dv) #define glMultiTexCoord3f GLEW_GET_FUN(__glewMultiTexCoord3f) #define glMultiTexCoord3fv GLEW_GET_FUN(__glewMultiTexCoord3fv) #define glMultiTexCoord3i GLEW_GET_FUN(__glewMultiTexCoord3i) #define glMultiTexCoord3iv GLEW_GET_FUN(__glewMultiTexCoord3iv) #define glMultiTexCoord3s GLEW_GET_FUN(__glewMultiTexCoord3s) #define glMultiTexCoord3sv GLEW_GET_FUN(__glewMultiTexCoord3sv) #define glMultiTexCoord4d GLEW_GET_FUN(__glewMultiTexCoord4d) #define glMultiTexCoord4dv GLEW_GET_FUN(__glewMultiTexCoord4dv) #define glMultiTexCoord4f GLEW_GET_FUN(__glewMultiTexCoord4f) #define glMultiTexCoord4fv GLEW_GET_FUN(__glewMultiTexCoord4fv) #define glMultiTexCoord4i GLEW_GET_FUN(__glewMultiTexCoord4i) #define glMultiTexCoord4iv GLEW_GET_FUN(__glewMultiTexCoord4iv) #define glMultiTexCoord4s GLEW_GET_FUN(__glewMultiTexCoord4s) #define glMultiTexCoord4sv GLEW_GET_FUN(__glewMultiTexCoord4sv) #define glSampleCoverage GLEW_GET_FUN(__glewSampleCoverage) #define GLEW_VERSION_1_3 GLEW_GET_VAR(__GLEW_VERSION_1_3) #endif /* GL_VERSION_1_3 */ /* ----------------------------- GL_VERSION_1_4 ---------------------------- */ #ifndef GL_VERSION_1_4 #define GL_VERSION_1_4 1 #define GL_BLEND_DST_RGB 0x80C8 #define GL_BLEND_SRC_RGB 0x80C9 #define GL_BLEND_DST_ALPHA 0x80CA #define GL_BLEND_SRC_ALPHA 0x80CB #define GL_POINT_SIZE_MIN 0x8126 #define GL_POINT_SIZE_MAX 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 #define GL_POINT_DISTANCE_ATTENUATION 0x8129 #define GL_GENERATE_MIPMAP 0x8191 #define GL_GENERATE_MIPMAP_HINT 0x8192 #define GL_DEPTH_COMPONENT16 0x81A5 #define GL_DEPTH_COMPONENT24 0x81A6 #define GL_DEPTH_COMPONENT32 0x81A7 #define GL_MIRRORED_REPEAT 0x8370 #define GL_FOG_COORDINATE_SOURCE 0x8450 #define GL_FOG_COORDINATE 0x8451 #define GL_FRAGMENT_DEPTH 0x8452 #define GL_CURRENT_FOG_COORDINATE 0x8453 #define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 #define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 #define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 #define GL_FOG_COORDINATE_ARRAY 0x8457 #define GL_COLOR_SUM 0x8458 #define GL_CURRENT_SECONDARY_COLOR 0x8459 #define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A #define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D #define GL_SECONDARY_COLOR_ARRAY 0x845E #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD #define GL_TEXTURE_FILTER_CONTROL 0x8500 #define GL_TEXTURE_LOD_BIAS 0x8501 #define GL_INCR_WRAP 0x8507 #define GL_DECR_WRAP 0x8508 #define GL_TEXTURE_DEPTH_SIZE 0x884A #define GL_DEPTH_TEXTURE_MODE 0x884B #define GL_TEXTURE_COMPARE_MODE 0x884C #define GL_TEXTURE_COMPARE_FUNC 0x884D #define GL_COMPARE_R_TO_TEXTURE 0x884E typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode); typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord); typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei drawcount); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p); #define glBlendColor GLEW_GET_FUN(__glewBlendColor) #define glBlendEquation GLEW_GET_FUN(__glewBlendEquation) #define glBlendFuncSeparate GLEW_GET_FUN(__glewBlendFuncSeparate) #define glFogCoordPointer GLEW_GET_FUN(__glewFogCoordPointer) #define glFogCoordd GLEW_GET_FUN(__glewFogCoordd) #define glFogCoorddv GLEW_GET_FUN(__glewFogCoorddv) #define glFogCoordf GLEW_GET_FUN(__glewFogCoordf) #define glFogCoordfv GLEW_GET_FUN(__glewFogCoordfv) #define glMultiDrawArrays GLEW_GET_FUN(__glewMultiDrawArrays) #define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements) #define glPointParameterf GLEW_GET_FUN(__glewPointParameterf) #define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv) #define glPointParameteri GLEW_GET_FUN(__glewPointParameteri) #define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv) #define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b) #define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv) #define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d) #define glSecondaryColor3dv GLEW_GET_FUN(__glewSecondaryColor3dv) #define glSecondaryColor3f GLEW_GET_FUN(__glewSecondaryColor3f) #define glSecondaryColor3fv GLEW_GET_FUN(__glewSecondaryColor3fv) #define glSecondaryColor3i GLEW_GET_FUN(__glewSecondaryColor3i) #define glSecondaryColor3iv GLEW_GET_FUN(__glewSecondaryColor3iv) #define glSecondaryColor3s GLEW_GET_FUN(__glewSecondaryColor3s) #define glSecondaryColor3sv GLEW_GET_FUN(__glewSecondaryColor3sv) #define glSecondaryColor3ub GLEW_GET_FUN(__glewSecondaryColor3ub) #define glSecondaryColor3ubv GLEW_GET_FUN(__glewSecondaryColor3ubv) #define glSecondaryColor3ui GLEW_GET_FUN(__glewSecondaryColor3ui) #define glSecondaryColor3uiv GLEW_GET_FUN(__glewSecondaryColor3uiv) #define glSecondaryColor3us GLEW_GET_FUN(__glewSecondaryColor3us) #define glSecondaryColor3usv GLEW_GET_FUN(__glewSecondaryColor3usv) #define glSecondaryColorPointer GLEW_GET_FUN(__glewSecondaryColorPointer) #define glWindowPos2d GLEW_GET_FUN(__glewWindowPos2d) #define glWindowPos2dv GLEW_GET_FUN(__glewWindowPos2dv) #define glWindowPos2f GLEW_GET_FUN(__glewWindowPos2f) #define glWindowPos2fv GLEW_GET_FUN(__glewWindowPos2fv) #define glWindowPos2i GLEW_GET_FUN(__glewWindowPos2i) #define glWindowPos2iv GLEW_GET_FUN(__glewWindowPos2iv) #define glWindowPos2s GLEW_GET_FUN(__glewWindowPos2s) #define glWindowPos2sv GLEW_GET_FUN(__glewWindowPos2sv) #define glWindowPos3d GLEW_GET_FUN(__glewWindowPos3d) #define glWindowPos3dv GLEW_GET_FUN(__glewWindowPos3dv) #define glWindowPos3f GLEW_GET_FUN(__glewWindowPos3f) #define glWindowPos3fv GLEW_GET_FUN(__glewWindowPos3fv) #define glWindowPos3i GLEW_GET_FUN(__glewWindowPos3i) #define glWindowPos3iv GLEW_GET_FUN(__glewWindowPos3iv) #define glWindowPos3s GLEW_GET_FUN(__glewWindowPos3s) #define glWindowPos3sv GLEW_GET_FUN(__glewWindowPos3sv) #define GLEW_VERSION_1_4 GLEW_GET_VAR(__GLEW_VERSION_1_4) #endif /* GL_VERSION_1_4 */ /* ----------------------------- GL_VERSION_1_5 ---------------------------- */ #ifndef GL_VERSION_1_5 #define GL_VERSION_1_5 1 #define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE #define GL_FOG_COORD GL_FOG_COORDINATE #define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY #define GL_SRC0_RGB GL_SOURCE0_RGB #define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER #define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE #define GL_SRC1_ALPHA GL_SOURCE1_ALPHA #define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE #define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE #define GL_SRC0_ALPHA GL_SOURCE0_ALPHA #define GL_SRC1_RGB GL_SOURCE1_RGB #define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING #define GL_SRC2_ALPHA GL_SOURCE2_ALPHA #define GL_SRC2_RGB GL_SOURCE2_RGB #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_USAGE 0x8765 #define GL_QUERY_COUNTER_BITS 0x8864 #define GL_CURRENT_QUERY 0x8865 #define GL_QUERY_RESULT 0x8866 #define GL_QUERY_RESULT_AVAILABLE 0x8867 #define GL_ARRAY_BUFFER 0x8892 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 #define GL_ARRAY_BUFFER_BINDING 0x8894 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 #define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D #define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F #define GL_READ_ONLY 0x88B8 #define GL_WRITE_ONLY 0x88B9 #define GL_READ_WRITE 0x88BA #define GL_BUFFER_ACCESS 0x88BB #define GL_BUFFER_MAPPED 0x88BC #define GL_BUFFER_MAP_POINTER 0x88BD #define GL_STREAM_DRAW 0x88E0 #define GL_STREAM_READ 0x88E1 #define GL_STREAM_COPY 0x88E2 #define GL_STATIC_DRAW 0x88E4 #define GL_STATIC_READ 0x88E5 #define GL_STATIC_COPY 0x88E6 #define GL_DYNAMIC_DRAW 0x88E8 #define GL_DYNAMIC_READ 0x88E9 #define GL_DYNAMIC_COPY 0x88EA #define GL_SAMPLES_PASSED 0x8914 typedef ptrdiff_t GLintptr; typedef ptrdiff_t GLsizeiptr; typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers); typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids); typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers); typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids); typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid** params); typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); typedef GLvoid* (GLAPIENTRY * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target); #define glBeginQuery GLEW_GET_FUN(__glewBeginQuery) #define glBindBuffer GLEW_GET_FUN(__glewBindBuffer) #define glBufferData GLEW_GET_FUN(__glewBufferData) #define glBufferSubData GLEW_GET_FUN(__glewBufferSubData) #define glDeleteBuffers GLEW_GET_FUN(__glewDeleteBuffers) #define glDeleteQueries GLEW_GET_FUN(__glewDeleteQueries) #define glEndQuery GLEW_GET_FUN(__glewEndQuery) #define glGenBuffers GLEW_GET_FUN(__glewGenBuffers) #define glGenQueries GLEW_GET_FUN(__glewGenQueries) #define glGetBufferParameteriv GLEW_GET_FUN(__glewGetBufferParameteriv) #define glGetBufferPointerv GLEW_GET_FUN(__glewGetBufferPointerv) #define glGetBufferSubData GLEW_GET_FUN(__glewGetBufferSubData) #define glGetQueryObjectiv GLEW_GET_FUN(__glewGetQueryObjectiv) #define glGetQueryObjectuiv GLEW_GET_FUN(__glewGetQueryObjectuiv) #define glGetQueryiv GLEW_GET_FUN(__glewGetQueryiv) #define glIsBuffer GLEW_GET_FUN(__glewIsBuffer) #define glIsQuery GLEW_GET_FUN(__glewIsQuery) #define glMapBuffer GLEW_GET_FUN(__glewMapBuffer) #define glUnmapBuffer GLEW_GET_FUN(__glewUnmapBuffer) #define GLEW_VERSION_1_5 GLEW_GET_VAR(__GLEW_VERSION_1_5) #endif /* GL_VERSION_1_5 */ /* ----------------------------- GL_VERSION_2_0 ---------------------------- */ #ifndef GL_VERSION_2_0 #define GL_VERSION_2_0 1 #define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 #define GL_CURRENT_VERTEX_ATTRIB 0x8626 #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 #define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 #define GL_STENCIL_BACK_FUNC 0x8800 #define GL_STENCIL_BACK_FAIL 0x8801 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 #define GL_MAX_DRAW_BUFFERS 0x8824 #define GL_DRAW_BUFFER0 0x8825 #define GL_DRAW_BUFFER1 0x8826 #define GL_DRAW_BUFFER2 0x8827 #define GL_DRAW_BUFFER3 0x8828 #define GL_DRAW_BUFFER4 0x8829 #define GL_DRAW_BUFFER5 0x882A #define GL_DRAW_BUFFER6 0x882B #define GL_DRAW_BUFFER7 0x882C #define GL_DRAW_BUFFER8 0x882D #define GL_DRAW_BUFFER9 0x882E #define GL_DRAW_BUFFER10 0x882F #define GL_DRAW_BUFFER11 0x8830 #define GL_DRAW_BUFFER12 0x8831 #define GL_DRAW_BUFFER13 0x8832 #define GL_DRAW_BUFFER14 0x8833 #define GL_DRAW_BUFFER15 0x8834 #define GL_BLEND_EQUATION_ALPHA 0x883D #define GL_POINT_SPRITE 0x8861 #define GL_COORD_REPLACE 0x8862 #define GL_MAX_VERTEX_ATTRIBS 0x8869 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A #define GL_MAX_TEXTURE_COORDS 0x8871 #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 #define GL_FRAGMENT_SHADER 0x8B30 #define GL_VERTEX_SHADER 0x8B31 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A #define GL_MAX_VARYING_FLOATS 0x8B4B #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D #define GL_SHADER_TYPE 0x8B4F #define GL_FLOAT_VEC2 0x8B50 #define GL_FLOAT_VEC3 0x8B51 #define GL_FLOAT_VEC4 0x8B52 #define GL_INT_VEC2 0x8B53 #define GL_INT_VEC3 0x8B54 #define GL_INT_VEC4 0x8B55 #define GL_BOOL 0x8B56 #define GL_BOOL_VEC2 0x8B57 #define GL_BOOL_VEC3 0x8B58 #define GL_BOOL_VEC4 0x8B59 #define GL_FLOAT_MAT2 0x8B5A #define GL_FLOAT_MAT3 0x8B5B #define GL_FLOAT_MAT4 0x8B5C #define GL_SAMPLER_1D 0x8B5D #define GL_SAMPLER_2D 0x8B5E #define GL_SAMPLER_3D 0x8B5F #define GL_SAMPLER_CUBE 0x8B60 #define GL_SAMPLER_1D_SHADOW 0x8B61 #define GL_SAMPLER_2D_SHADOW 0x8B62 #define GL_DELETE_STATUS 0x8B80 #define GL_COMPILE_STATUS 0x8B81 #define GL_LINK_STATUS 0x8B82 #define GL_VALIDATE_STATUS 0x8B83 #define GL_INFO_LOG_LENGTH 0x8B84 #define GL_ATTACHED_SHADERS 0x8B85 #define GL_ACTIVE_UNIFORMS 0x8B86 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 #define GL_SHADER_SOURCE_LENGTH 0x8B88 #define GL_ACTIVE_ATTRIBUTES 0x8B89 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B #define GL_SHADING_LANGUAGE_VERSION 0x8B8C #define GL_CURRENT_PROGRAM 0x8B8D #define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 #define GL_LOWER_LEFT 0x8CA1 #define GL_UPPER_LEFT 0x8CA2 #define GL_STENCIL_BACK_REF 0x8CA3 #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum); typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint); typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLuint obj, GLsizei maxLength, GLsizei* length, GLchar* source); typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name); typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid**); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint, GLenum, GLdouble*); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*); typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths); typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint); typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer); #define glAttachShader GLEW_GET_FUN(__glewAttachShader) #define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation) #define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate) #define glCompileShader GLEW_GET_FUN(__glewCompileShader) #define glCreateProgram GLEW_GET_FUN(__glewCreateProgram) #define glCreateShader GLEW_GET_FUN(__glewCreateShader) #define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram) #define glDeleteShader GLEW_GET_FUN(__glewDeleteShader) #define glDetachShader GLEW_GET_FUN(__glewDetachShader) #define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray) #define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers) #define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray) #define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib) #define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform) #define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders) #define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation) #define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog) #define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv) #define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog) #define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource) #define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv) #define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation) #define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv) #define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv) #define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv) #define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv) #define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv) #define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv) #define glIsProgram GLEW_GET_FUN(__glewIsProgram) #define glIsShader GLEW_GET_FUN(__glewIsShader) #define glLinkProgram GLEW_GET_FUN(__glewLinkProgram) #define glShaderSource GLEW_GET_FUN(__glewShaderSource) #define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate) #define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate) #define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate) #define glUniform1f GLEW_GET_FUN(__glewUniform1f) #define glUniform1fv GLEW_GET_FUN(__glewUniform1fv) #define glUniform1i GLEW_GET_FUN(__glewUniform1i) #define glUniform1iv GLEW_GET_FUN(__glewUniform1iv) #define glUniform2f GLEW_GET_FUN(__glewUniform2f) #define glUniform2fv GLEW_GET_FUN(__glewUniform2fv) #define glUniform2i GLEW_GET_FUN(__glewUniform2i) #define glUniform2iv GLEW_GET_FUN(__glewUniform2iv) #define glUniform3f GLEW_GET_FUN(__glewUniform3f) #define glUniform3fv GLEW_GET_FUN(__glewUniform3fv) #define glUniform3i GLEW_GET_FUN(__glewUniform3i) #define glUniform3iv GLEW_GET_FUN(__glewUniform3iv) #define glUniform4f GLEW_GET_FUN(__glewUniform4f) #define glUniform4fv GLEW_GET_FUN(__glewUniform4fv) #define glUniform4i GLEW_GET_FUN(__glewUniform4i) #define glUniform4iv GLEW_GET_FUN(__glewUniform4iv) #define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv) #define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv) #define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv) #define glUseProgram GLEW_GET_FUN(__glewUseProgram) #define glValidateProgram GLEW_GET_FUN(__glewValidateProgram) #define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d) #define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv) #define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f) #define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv) #define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s) #define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv) #define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d) #define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv) #define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f) #define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv) #define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s) #define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv) #define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d) #define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv) #define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f) #define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv) #define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s) #define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv) #define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv) #define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv) #define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv) #define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub) #define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv) #define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv) #define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv) #define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv) #define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d) #define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv) #define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f) #define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv) #define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv) #define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s) #define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv) #define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv) #define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv) #define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv) #define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer) #define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0) #endif /* GL_VERSION_2_0 */ /* ----------------------------- GL_VERSION_2_1 ---------------------------- */ #ifndef GL_VERSION_2_1 #define GL_VERSION_2_1 1 #define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F #define GL_PIXEL_PACK_BUFFER 0x88EB #define GL_PIXEL_UNPACK_BUFFER 0x88EC #define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED #define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF #define GL_FLOAT_MAT2x3 0x8B65 #define GL_FLOAT_MAT2x4 0x8B66 #define GL_FLOAT_MAT3x2 0x8B67 #define GL_FLOAT_MAT3x4 0x8B68 #define GL_FLOAT_MAT4x2 0x8B69 #define GL_FLOAT_MAT4x3 0x8B6A #define GL_SRGB 0x8C40 #define GL_SRGB8 0x8C41 #define GL_SRGB_ALPHA 0x8C42 #define GL_SRGB8_ALPHA8 0x8C43 #define GL_SLUMINANCE_ALPHA 0x8C44 #define GL_SLUMINANCE8_ALPHA8 0x8C45 #define GL_SLUMINANCE 0x8C46 #define GL_SLUMINANCE8 0x8C47 #define GL_COMPRESSED_SRGB 0x8C48 #define GL_COMPRESSED_SRGB_ALPHA 0x8C49 #define GL_COMPRESSED_SLUMINANCE 0x8C4A #define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); #define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv) #define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv) #define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv) #define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv) #define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv) #define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv) #define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1) #endif /* GL_VERSION_2_1 */ /* ----------------------------- GL_VERSION_3_0 ---------------------------- */ #ifndef GL_VERSION_3_0 #define GL_VERSION_3_0 1 #define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES #define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5 #define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1 #define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3 #define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB #define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0 #define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4 #define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2 #define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS #define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001 #define GL_MAJOR_VERSION 0x821B #define GL_MINOR_VERSION 0x821C #define GL_NUM_EXTENSIONS 0x821D #define GL_CONTEXT_FLAGS 0x821E #define GL_DEPTH_BUFFER 0x8223 #define GL_STENCIL_BUFFER 0x8224 #define GL_RGBA32F 0x8814 #define GL_RGB32F 0x8815 #define GL_RGBA16F 0x881A #define GL_RGB16F 0x881B #define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD #define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF #define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 #define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 #define GL_CLAMP_VERTEX_COLOR 0x891A #define GL_CLAMP_FRAGMENT_COLOR 0x891B #define GL_CLAMP_READ_COLOR 0x891C #define GL_FIXED_ONLY 0x891D #define GL_TEXTURE_RED_TYPE 0x8C10 #define GL_TEXTURE_GREEN_TYPE 0x8C11 #define GL_TEXTURE_BLUE_TYPE 0x8C12 #define GL_TEXTURE_ALPHA_TYPE 0x8C13 #define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 #define GL_TEXTURE_INTENSITY_TYPE 0x8C15 #define GL_TEXTURE_DEPTH_TYPE 0x8C16 #define GL_TEXTURE_1D_ARRAY 0x8C18 #define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 #define GL_TEXTURE_2D_ARRAY 0x8C1A #define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B #define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C #define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D #define GL_R11F_G11F_B10F 0x8C3A #define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B #define GL_RGB9_E5 0x8C3D #define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E #define GL_TEXTURE_SHARED_SIZE 0x8C3F #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 #define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 #define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 #define GL_PRIMITIVES_GENERATED 0x8C87 #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 #define GL_RASTERIZER_DISCARD 0x8C89 #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B #define GL_INTERLEAVED_ATTRIBS 0x8C8C #define GL_SEPARATE_ATTRIBS 0x8C8D #define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F #define GL_RGBA32UI 0x8D70 #define GL_RGB32UI 0x8D71 #define GL_RGBA16UI 0x8D76 #define GL_RGB16UI 0x8D77 #define GL_RGBA8UI 0x8D7C #define GL_RGB8UI 0x8D7D #define GL_RGBA32I 0x8D82 #define GL_RGB32I 0x8D83 #define GL_RGBA16I 0x8D88 #define GL_RGB16I 0x8D89 #define GL_RGBA8I 0x8D8E #define GL_RGB8I 0x8D8F #define GL_RED_INTEGER 0x8D94 #define GL_GREEN_INTEGER 0x8D95 #define GL_BLUE_INTEGER 0x8D96 #define GL_ALPHA_INTEGER 0x8D97 #define GL_RGB_INTEGER 0x8D98 #define GL_RGBA_INTEGER 0x8D99 #define GL_BGR_INTEGER 0x8D9A #define GL_BGRA_INTEGER 0x8D9B #define GL_SAMPLER_1D_ARRAY 0x8DC0 #define GL_SAMPLER_2D_ARRAY 0x8DC1 #define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 #define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 #define GL_SAMPLER_CUBE_SHADOW 0x8DC5 #define GL_UNSIGNED_INT_VEC2 0x8DC6 #define GL_UNSIGNED_INT_VEC3 0x8DC7 #define GL_UNSIGNED_INT_VEC4 0x8DC8 #define GL_INT_SAMPLER_1D 0x8DC9 #define GL_INT_SAMPLER_2D 0x8DCA #define GL_INT_SAMPLER_3D 0x8DCB #define GL_INT_SAMPLER_CUBE 0x8DCC #define GL_INT_SAMPLER_1D_ARRAY 0x8DCE #define GL_INT_SAMPLER_2D_ARRAY 0x8DCF #define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 #define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 #define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 #define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 #define GL_QUERY_WAIT 0x8E13 #define GL_QUERY_NO_WAIT 0x8E14 #define GL_QUERY_BY_REGION_WAIT 0x8E15 #define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint, GLenum); typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum); typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint, GLuint, const GLchar*); typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum, GLenum); typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum, GLint, GLfloat, GLint); typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum, GLint, const GLfloat*); typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum, GLint, const GLint*); typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum, GLint, const GLuint*); typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum, GLuint); typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum, GLuint); typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void); typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void); typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum, GLuint, GLboolean*); typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint, const GLchar*); typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum, GLuint); typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum, GLenum, GLint*); typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum, GLenum, GLuint*); typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint, GLint, GLuint*); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint, GLenum, GLint*); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint, GLenum, GLuint*); typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum, GLuint); typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum, GLenum, const GLint*); typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum, GLenum, const GLuint*); typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint, GLsizei, const GLchar **, GLenum); typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint, GLuint); typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint, GLsizei, const GLuint*); typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint, GLuint, GLuint); typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint, GLsizei, const GLuint*); typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint, GLuint, GLuint, GLuint); typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint, GLsizei, const GLuint*); typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint, GLuint, GLuint, GLuint, GLuint); typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint, GLsizei, const GLuint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint, GLint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint, const GLint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint, GLuint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint, const GLuint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint, GLint, GLint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint, const GLint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint, GLuint, GLuint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint, const GLuint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint, GLint, GLint, GLint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint, const GLint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint, GLuint, GLuint, GLuint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint, const GLuint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint, const GLbyte*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint, GLint, GLint, GLint, GLint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint, const GLint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint, const GLshort*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint, const GLubyte*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint, GLuint, GLuint, GLuint, GLuint); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint, const GLuint*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint, const GLushort*); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint, GLint, GLenum, GLsizei, const GLvoid*); #define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender) #define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback) #define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation) #define glClampColor GLEW_GET_FUN(__glewClampColor) #define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi) #define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv) #define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv) #define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv) #define glColorMaski GLEW_GET_FUN(__glewColorMaski) #define glDisablei GLEW_GET_FUN(__glewDisablei) #define glEnablei GLEW_GET_FUN(__glewEnablei) #define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender) #define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback) #define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v) #define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation) #define glGetStringi GLEW_GET_FUN(__glewGetStringi) #define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv) #define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv) #define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying) #define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv) #define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv) #define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv) #define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi) #define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv) #define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv) #define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings) #define glUniform1ui GLEW_GET_FUN(__glewUniform1ui) #define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv) #define glUniform2ui GLEW_GET_FUN(__glewUniform2ui) #define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv) #define glUniform3ui GLEW_GET_FUN(__glewUniform3ui) #define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv) #define glUniform4ui GLEW_GET_FUN(__glewUniform4ui) #define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv) #define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i) #define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv) #define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui) #define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv) #define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i) #define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv) #define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui) #define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv) #define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i) #define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv) #define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui) #define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv) #define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv) #define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i) #define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv) #define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv) #define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv) #define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui) #define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv) #define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv) #define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer) #define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0) #endif /* GL_VERSION_3_0 */ /* ----------------------------- GL_VERSION_3_1 ---------------------------- */ #ifndef GL_VERSION_3_1 #define GL_VERSION_3_1 1 #define GL_TEXTURE_RECTANGLE 0x84F5 #define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 #define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 #define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 #define GL_SAMPLER_2D_RECT 0x8B63 #define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 #define GL_TEXTURE_BUFFER 0x8C2A #define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B #define GL_TEXTURE_BINDING_BUFFER 0x8C2C #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D #define GL_TEXTURE_BUFFER_FORMAT 0x8C2E #define GL_SAMPLER_BUFFER 0x8DC2 #define GL_INT_SAMPLER_2D_RECT 0x8DCD #define GL_INT_SAMPLER_BUFFER 0x8DD0 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 #define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 #define GL_RED_SNORM 0x8F90 #define GL_RG_SNORM 0x8F91 #define GL_RGB_SNORM 0x8F92 #define GL_RGBA_SNORM 0x8F93 #define GL_R8_SNORM 0x8F94 #define GL_RG8_SNORM 0x8F95 #define GL_RGB8_SNORM 0x8F96 #define GL_RGBA8_SNORM 0x8F97 #define GL_R16_SNORM 0x8F98 #define GL_RG16_SNORM 0x8F99 #define GL_RGB16_SNORM 0x8F9A #define GL_RGBA16_SNORM 0x8F9B #define GL_SIGNED_NORMALIZED 0x8F9C #define GL_PRIMITIVE_RESTART 0x8F9D #define GL_PRIMITIVE_RESTART_INDEX 0x8F9E #define GL_BUFFER_ACCESS_FLAGS 0x911F #define GL_BUFFER_MAP_LENGTH 0x9120 #define GL_BUFFER_MAP_OFFSET 0x9121 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum, GLint, GLsizei, GLsizei); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum, GLsizei, GLenum, const GLvoid*, GLsizei); typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint); typedef void (GLAPIENTRY * PFNGLTEXBUFFERPROC) (GLenum, GLenum, GLuint); #define glDrawArraysInstanced GLEW_GET_FUN(__glewDrawArraysInstanced) #define glDrawElementsInstanced GLEW_GET_FUN(__glewDrawElementsInstanced) #define glPrimitiveRestartIndex GLEW_GET_FUN(__glewPrimitiveRestartIndex) #define glTexBuffer GLEW_GET_FUN(__glewTexBuffer) #define GLEW_VERSION_3_1 GLEW_GET_VAR(__GLEW_VERSION_3_1) #endif /* GL_VERSION_3_1 */ /* ----------------------------- GL_VERSION_3_2 ---------------------------- */ #ifndef GL_VERSION_3_2 #define GL_VERSION_3_2 1 #define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 #define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 #define GL_LINES_ADJACENCY 0x000A #define GL_LINE_STRIP_ADJACENCY 0x000B #define GL_TRIANGLES_ADJACENCY 0x000C #define GL_TRIANGLE_STRIP_ADJACENCY 0x000D #define GL_PROGRAM_POINT_SIZE 0x8642 #define GL_GEOMETRY_VERTICES_OUT 0x8916 #define GL_GEOMETRY_INPUT_TYPE 0x8917 #define GL_GEOMETRY_OUTPUT_TYPE 0x8918 #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 #define GL_GEOMETRY_SHADER 0x8DD9 #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF #define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 #define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 #define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 #define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 #define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 #define GL_CONTEXT_PROFILE_MASK 0x9126 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum, GLenum, GLuint, GLint); typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum, GLenum, GLint64 *); typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum, GLuint, GLint64 *); #define glFramebufferTexture GLEW_GET_FUN(__glewFramebufferTexture) #define glGetBufferParameteri64v GLEW_GET_FUN(__glewGetBufferParameteri64v) #define glGetInteger64i_v GLEW_GET_FUN(__glewGetInteger64i_v) #define GLEW_VERSION_3_2 GLEW_GET_VAR(__GLEW_VERSION_3_2) #endif /* GL_VERSION_3_2 */ /* ----------------------------- GL_VERSION_3_3 ---------------------------- */ #ifndef GL_VERSION_3_3 #define GL_VERSION_3_3 1 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE #define GL_RGB10_A2UI 0x906F typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor); #define glVertexAttribDivisor GLEW_GET_FUN(__glewVertexAttribDivisor) #define GLEW_VERSION_3_3 GLEW_GET_VAR(__GLEW_VERSION_3_3) #endif /* GL_VERSION_3_3 */ /* ----------------------------- GL_VERSION_4_0 ---------------------------- */ #ifndef GL_VERSION_4_0 #define GL_VERSION_4_0 1 #define GL_SAMPLE_SHADING 0x8C36 #define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F #define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F #define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 #define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A #define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B #define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D #define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); typedef void (GLAPIENTRY * PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGPROC) (GLclampf value); #define glBlendEquationSeparatei GLEW_GET_FUN(__glewBlendEquationSeparatei) #define glBlendEquationi GLEW_GET_FUN(__glewBlendEquationi) #define glBlendFuncSeparatei GLEW_GET_FUN(__glewBlendFuncSeparatei) #define glBlendFunci GLEW_GET_FUN(__glewBlendFunci) #define glMinSampleShading GLEW_GET_FUN(__glewMinSampleShading) #define GLEW_VERSION_4_0 GLEW_GET_VAR(__GLEW_VERSION_4_0) #endif /* GL_VERSION_4_0 */ /* ----------------------------- GL_VERSION_4_1 ---------------------------- */ #ifndef GL_VERSION_4_1 #define GL_VERSION_4_1 1 #define GLEW_VERSION_4_1 GLEW_GET_VAR(__GLEW_VERSION_4_1) #endif /* GL_VERSION_4_1 */ /* ----------------------------- GL_VERSION_4_2 ---------------------------- */ #ifndef GL_VERSION_4_2 #define GL_VERSION_4_2 1 #define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C #define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D #define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E #define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F #define GLEW_VERSION_4_2 GLEW_GET_VAR(__GLEW_VERSION_4_2) #endif /* GL_VERSION_4_2 */ /* ----------------------------- GL_VERSION_4_3 ---------------------------- */ #ifndef GL_VERSION_4_3 #define GL_VERSION_4_3 1 #define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 #define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E #define GLEW_VERSION_4_3 GLEW_GET_VAR(__GLEW_VERSION_4_3) #endif /* GL_VERSION_4_3 */ /* ----------------------------- GL_VERSION_4_4 ---------------------------- */ #ifndef GL_VERSION_4_4 #define GL_VERSION_4_4 1 #define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 #define GLEW_VERSION_4_4 GLEW_GET_VAR(__GLEW_VERSION_4_4) #endif /* GL_VERSION_4_4 */ /* -------------------------- GL_3DFX_multisample -------------------------- */ #ifndef GL_3DFX_multisample #define GL_3DFX_multisample 1 #define GL_MULTISAMPLE_3DFX 0x86B2 #define GL_SAMPLE_BUFFERS_3DFX 0x86B3 #define GL_SAMPLES_3DFX 0x86B4 #define GL_MULTISAMPLE_BIT_3DFX 0x20000000 #define GLEW_3DFX_multisample GLEW_GET_VAR(__GLEW_3DFX_multisample) #endif /* GL_3DFX_multisample */ /* ---------------------------- GL_3DFX_tbuffer ---------------------------- */ #ifndef GL_3DFX_tbuffer #define GL_3DFX_tbuffer 1 typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); #define glTbufferMask3DFX GLEW_GET_FUN(__glewTbufferMask3DFX) #define GLEW_3DFX_tbuffer GLEW_GET_VAR(__GLEW_3DFX_tbuffer) #endif /* GL_3DFX_tbuffer */ /* -------------------- GL_3DFX_texture_compression_FXT1 ------------------- */ #ifndef GL_3DFX_texture_compression_FXT1 #define GL_3DFX_texture_compression_FXT1 1 #define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0 #define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1 #define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(__GLEW_3DFX_texture_compression_FXT1) #endif /* GL_3DFX_texture_compression_FXT1 */ /* ----------------------- GL_AMD_blend_minmax_factor ---------------------- */ #ifndef GL_AMD_blend_minmax_factor #define GL_AMD_blend_minmax_factor 1 #define GL_FACTOR_MIN_AMD 0x901C #define GL_FACTOR_MAX_AMD 0x901D #define GLEW_AMD_blend_minmax_factor GLEW_GET_VAR(__GLEW_AMD_blend_minmax_factor) #endif /* GL_AMD_blend_minmax_factor */ /* ----------------------- GL_AMD_conservative_depth ----------------------- */ #ifndef GL_AMD_conservative_depth #define GL_AMD_conservative_depth 1 #define GLEW_AMD_conservative_depth GLEW_GET_VAR(__GLEW_AMD_conservative_depth) #endif /* GL_AMD_conservative_depth */ /* -------------------------- GL_AMD_debug_output -------------------------- */ #ifndef GL_AMD_debug_output #define GL_AMD_debug_output 1 #define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143 #define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144 #define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145 #define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146 #define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147 #define GL_DEBUG_SEVERITY_LOW_AMD 0x9148 #define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149 #define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A #define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B #define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C #define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D #define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E #define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F #define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150 typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, GLvoid *userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar* buf); typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, GLchar* message); #define glDebugMessageCallbackAMD GLEW_GET_FUN(__glewDebugMessageCallbackAMD) #define glDebugMessageEnableAMD GLEW_GET_FUN(__glewDebugMessageEnableAMD) #define glDebugMessageInsertAMD GLEW_GET_FUN(__glewDebugMessageInsertAMD) #define glGetDebugMessageLogAMD GLEW_GET_FUN(__glewGetDebugMessageLogAMD) #define GLEW_AMD_debug_output GLEW_GET_VAR(__GLEW_AMD_debug_output) #endif /* GL_AMD_debug_output */ /* ---------------------- GL_AMD_depth_clamp_separate ---------------------- */ #ifndef GL_AMD_depth_clamp_separate #define GL_AMD_depth_clamp_separate 1 #define GL_DEPTH_CLAMP_NEAR_AMD 0x901E #define GL_DEPTH_CLAMP_FAR_AMD 0x901F #define GLEW_AMD_depth_clamp_separate GLEW_GET_VAR(__GLEW_AMD_depth_clamp_separate) #endif /* GL_AMD_depth_clamp_separate */ /* ----------------------- GL_AMD_draw_buffers_blend ----------------------- */ #ifndef GL_AMD_draw_buffers_blend #define GL_AMD_draw_buffers_blend 1 typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode); typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); typedef void (GLAPIENTRY * PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst); typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); #define glBlendEquationIndexedAMD GLEW_GET_FUN(__glewBlendEquationIndexedAMD) #define glBlendEquationSeparateIndexedAMD GLEW_GET_FUN(__glewBlendEquationSeparateIndexedAMD) #define glBlendFuncIndexedAMD GLEW_GET_FUN(__glewBlendFuncIndexedAMD) #define glBlendFuncSeparateIndexedAMD GLEW_GET_FUN(__glewBlendFuncSeparateIndexedAMD) #define GLEW_AMD_draw_buffers_blend GLEW_GET_VAR(__GLEW_AMD_draw_buffers_blend) #endif /* GL_AMD_draw_buffers_blend */ /* ---------------------- GL_AMD_interleaved_elements ---------------------- */ #ifndef GL_AMD_interleaved_elements #define GL_AMD_interleaved_elements 1 #define GL_RED 0x1903 #define GL_GREEN 0x1904 #define GL_BLUE 0x1905 #define GL_ALPHA 0x1906 #define GL_RG8UI 0x8238 #define GL_RG16UI 0x823A #define GL_RGBA8UI 0x8D7C #define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4 #define GL_VERTEX_ID_SWIZZLE_AMD 0x91A5 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPARAMETERIAMDPROC) (GLuint index, GLenum pname, GLint param); #define glVertexAttribParameteriAMD GLEW_GET_FUN(__glewVertexAttribParameteriAMD) #define GLEW_AMD_interleaved_elements GLEW_GET_VAR(__GLEW_AMD_interleaved_elements) #endif /* GL_AMD_interleaved_elements */ /* ----------------------- GL_AMD_multi_draw_indirect ---------------------- */ #ifndef GL_AMD_multi_draw_indirect #define GL_AMD_multi_draw_indirect 1 typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride); #define glMultiDrawArraysIndirectAMD GLEW_GET_FUN(__glewMultiDrawArraysIndirectAMD) #define glMultiDrawElementsIndirectAMD GLEW_GET_FUN(__glewMultiDrawElementsIndirectAMD) #define GLEW_AMD_multi_draw_indirect GLEW_GET_VAR(__GLEW_AMD_multi_draw_indirect) #endif /* GL_AMD_multi_draw_indirect */ /* ------------------------- GL_AMD_name_gen_delete ------------------------ */ #ifndef GL_AMD_name_gen_delete #define GL_AMD_name_gen_delete 1 #define GL_DATA_BUFFER_AMD 0x9151 #define GL_PERFORMANCE_MONITOR_AMD 0x9152 #define GL_QUERY_OBJECT_AMD 0x9153 #define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154 #define GL_SAMPLER_OBJECT_AMD 0x9155 typedef void (GLAPIENTRY * PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint* names); typedef void (GLAPIENTRY * PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint* names); typedef GLboolean (GLAPIENTRY * PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name); #define glDeleteNamesAMD GLEW_GET_FUN(__glewDeleteNamesAMD) #define glGenNamesAMD GLEW_GET_FUN(__glewGenNamesAMD) #define glIsNameAMD GLEW_GET_FUN(__glewIsNameAMD) #define GLEW_AMD_name_gen_delete GLEW_GET_VAR(__GLEW_AMD_name_gen_delete) #endif /* GL_AMD_name_gen_delete */ /* ----------------------- GL_AMD_performance_monitor ---------------------- */ #ifndef GL_AMD_performance_monitor #define GL_AMD_performance_monitor 1 #define GL_COUNTER_TYPE_AMD 0x8BC0 #define GL_COUNTER_RANGE_AMD 0x8BC1 #define GL_UNSIGNED_INT64_AMD 0x8BC2 #define GL_PERCENTAGE_AMD 0x8BC3 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 #define GL_PERFMON_RESULT_AMD 0x8BC6 typedef void (GLAPIENTRY * PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); typedef void (GLAPIENTRY * PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); typedef void (GLAPIENTRY * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); typedef void (GLAPIENTRY * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint *bytesWritten); typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar *counterString); typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint* numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters); typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, GLchar *groupString); typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint* numGroups, GLsizei groupsSize, GLuint *groups); typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList); #define glBeginPerfMonitorAMD GLEW_GET_FUN(__glewBeginPerfMonitorAMD) #define glDeletePerfMonitorsAMD GLEW_GET_FUN(__glewDeletePerfMonitorsAMD) #define glEndPerfMonitorAMD GLEW_GET_FUN(__glewEndPerfMonitorAMD) #define glGenPerfMonitorsAMD GLEW_GET_FUN(__glewGenPerfMonitorsAMD) #define glGetPerfMonitorCounterDataAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterDataAMD) #define glGetPerfMonitorCounterInfoAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterInfoAMD) #define glGetPerfMonitorCounterStringAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterStringAMD) #define glGetPerfMonitorCountersAMD GLEW_GET_FUN(__glewGetPerfMonitorCountersAMD) #define glGetPerfMonitorGroupStringAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupStringAMD) #define glGetPerfMonitorGroupsAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupsAMD) #define glSelectPerfMonitorCountersAMD GLEW_GET_FUN(__glewSelectPerfMonitorCountersAMD) #define GLEW_AMD_performance_monitor GLEW_GET_VAR(__GLEW_AMD_performance_monitor) #endif /* GL_AMD_performance_monitor */ /* -------------------------- GL_AMD_pinned_memory ------------------------- */ #ifndef GL_AMD_pinned_memory #define GL_AMD_pinned_memory 1 #define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160 #define GLEW_AMD_pinned_memory GLEW_GET_VAR(__GLEW_AMD_pinned_memory) #endif /* GL_AMD_pinned_memory */ /* ----------------------- GL_AMD_query_buffer_object ---------------------- */ #ifndef GL_AMD_query_buffer_object #define GL_AMD_query_buffer_object 1 #define GL_QUERY_BUFFER_AMD 0x9192 #define GL_QUERY_BUFFER_BINDING_AMD 0x9193 #define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194 #define GLEW_AMD_query_buffer_object GLEW_GET_VAR(__GLEW_AMD_query_buffer_object) #endif /* GL_AMD_query_buffer_object */ /* ------------------------ GL_AMD_sample_positions ------------------------ */ #ifndef GL_AMD_sample_positions #define GL_AMD_sample_positions 1 #define GL_SUBSAMPLE_DISTANCE_AMD 0x883F typedef void (GLAPIENTRY * PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat* val); #define glSetMultisamplefvAMD GLEW_GET_FUN(__glewSetMultisamplefvAMD) #define GLEW_AMD_sample_positions GLEW_GET_VAR(__GLEW_AMD_sample_positions) #endif /* GL_AMD_sample_positions */ /* ------------------ GL_AMD_seamless_cubemap_per_texture ------------------ */ #ifndef GL_AMD_seamless_cubemap_per_texture #define GL_AMD_seamless_cubemap_per_texture 1 #define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884F #define GLEW_AMD_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_AMD_seamless_cubemap_per_texture) #endif /* GL_AMD_seamless_cubemap_per_texture */ /* ---------------------- GL_AMD_shader_stencil_export --------------------- */ #ifndef GL_AMD_shader_stencil_export #define GL_AMD_shader_stencil_export 1 #define GLEW_AMD_shader_stencil_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_export) #endif /* GL_AMD_shader_stencil_export */ /* ---------------------- GL_AMD_shader_trinary_minmax --------------------- */ #ifndef GL_AMD_shader_trinary_minmax #define GL_AMD_shader_trinary_minmax 1 #define GLEW_AMD_shader_trinary_minmax GLEW_GET_VAR(__GLEW_AMD_shader_trinary_minmax) #endif /* GL_AMD_shader_trinary_minmax */ /* ------------------------- GL_AMD_sparse_texture ------------------------- */ #ifndef GL_AMD_sparse_texture #define GL_AMD_sparse_texture 1 #define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001 #define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195 #define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196 #define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197 #define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198 #define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199 #define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A #define GL_MIN_SPARSE_LEVEL_AMD 0x919B #define GL_MIN_LOD_WARNING_AMD 0x919C typedef void (GLAPIENTRY * PFNGLTEXSTORAGESPARSEAMDPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGESPARSEAMDPROC) (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); #define glTexStorageSparseAMD GLEW_GET_FUN(__glewTexStorageSparseAMD) #define glTextureStorageSparseAMD GLEW_GET_FUN(__glewTextureStorageSparseAMD) #define GLEW_AMD_sparse_texture GLEW_GET_VAR(__GLEW_AMD_sparse_texture) #endif /* GL_AMD_sparse_texture */ /* ------------------- GL_AMD_stencil_operation_extended ------------------- */ #ifndef GL_AMD_stencil_operation_extended #define GL_AMD_stencil_operation_extended 1 #define GL_SET_AMD 0x874A #define GL_REPLACE_VALUE_AMD 0x874B #define GL_STENCIL_OP_VALUE_AMD 0x874C #define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D typedef void (GLAPIENTRY * PFNGLSTENCILOPVALUEAMDPROC) (GLenum face, GLuint value); #define glStencilOpValueAMD GLEW_GET_FUN(__glewStencilOpValueAMD) #define GLEW_AMD_stencil_operation_extended GLEW_GET_VAR(__GLEW_AMD_stencil_operation_extended) #endif /* GL_AMD_stencil_operation_extended */ /* ------------------------ GL_AMD_texture_texture4 ------------------------ */ #ifndef GL_AMD_texture_texture4 #define GL_AMD_texture_texture4 1 #define GLEW_AMD_texture_texture4 GLEW_GET_VAR(__GLEW_AMD_texture_texture4) #endif /* GL_AMD_texture_texture4 */ /* --------------- GL_AMD_transform_feedback3_lines_triangles -------------- */ #ifndef GL_AMD_transform_feedback3_lines_triangles #define GL_AMD_transform_feedback3_lines_triangles 1 #define GLEW_AMD_transform_feedback3_lines_triangles GLEW_GET_VAR(__GLEW_AMD_transform_feedback3_lines_triangles) #endif /* GL_AMD_transform_feedback3_lines_triangles */ /* ----------------------- GL_AMD_vertex_shader_layer ---------------------- */ #ifndef GL_AMD_vertex_shader_layer #define GL_AMD_vertex_shader_layer 1 #define GLEW_AMD_vertex_shader_layer GLEW_GET_VAR(__GLEW_AMD_vertex_shader_layer) #endif /* GL_AMD_vertex_shader_layer */ /* -------------------- GL_AMD_vertex_shader_tessellator ------------------- */ #ifndef GL_AMD_vertex_shader_tessellator #define GL_AMD_vertex_shader_tessellator 1 #define GL_SAMPLER_BUFFER_AMD 0x9001 #define GL_INT_SAMPLER_BUFFER_AMD 0x9002 #define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003 #define GL_TESSELLATION_MODE_AMD 0x9004 #define GL_TESSELLATION_FACTOR_AMD 0x9005 #define GL_DISCRETE_AMD 0x9006 #define GL_CONTINUOUS_AMD 0x9007 typedef void (GLAPIENTRY * PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor); typedef void (GLAPIENTRY * PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode); #define glTessellationFactorAMD GLEW_GET_FUN(__glewTessellationFactorAMD) #define glTessellationModeAMD GLEW_GET_FUN(__glewTessellationModeAMD) #define GLEW_AMD_vertex_shader_tessellator GLEW_GET_VAR(__GLEW_AMD_vertex_shader_tessellator) #endif /* GL_AMD_vertex_shader_tessellator */ /* ------------------ GL_AMD_vertex_shader_viewport_index ------------------ */ #ifndef GL_AMD_vertex_shader_viewport_index #define GL_AMD_vertex_shader_viewport_index 1 #define GLEW_AMD_vertex_shader_viewport_index GLEW_GET_VAR(__GLEW_AMD_vertex_shader_viewport_index) #endif /* GL_AMD_vertex_shader_viewport_index */ /* ------------------------- GL_ANGLE_depth_texture ------------------------ */ #ifndef GL_ANGLE_depth_texture #define GL_ANGLE_depth_texture 1 #define GLEW_ANGLE_depth_texture GLEW_GET_VAR(__GLEW_ANGLE_depth_texture) #endif /* GL_ANGLE_depth_texture */ /* ----------------------- GL_ANGLE_framebuffer_blit ----------------------- */ #ifndef GL_ANGLE_framebuffer_blit #define GL_ANGLE_framebuffer_blit 1 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); #define glBlitFramebufferANGLE GLEW_GET_FUN(__glewBlitFramebufferANGLE) #define GLEW_ANGLE_framebuffer_blit GLEW_GET_VAR(__GLEW_ANGLE_framebuffer_blit) #endif /* GL_ANGLE_framebuffer_blit */ /* -------------------- GL_ANGLE_framebuffer_multisample ------------------- */ #ifndef GL_ANGLE_framebuffer_multisample #define GL_ANGLE_framebuffer_multisample 1 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 #define GL_MAX_SAMPLES_ANGLE 0x8D57 typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); #define glRenderbufferStorageMultisampleANGLE GLEW_GET_FUN(__glewRenderbufferStorageMultisampleANGLE) #define GLEW_ANGLE_framebuffer_multisample GLEW_GET_VAR(__GLEW_ANGLE_framebuffer_multisample) #endif /* GL_ANGLE_framebuffer_multisample */ /* ----------------------- GL_ANGLE_instanced_arrays ----------------------- */ #ifndef GL_ANGLE_instanced_arrays #define GL_ANGLE_instanced_arrays 1 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); #define glDrawArraysInstancedANGLE GLEW_GET_FUN(__glewDrawArraysInstancedANGLE) #define glDrawElementsInstancedANGLE GLEW_GET_FUN(__glewDrawElementsInstancedANGLE) #define glVertexAttribDivisorANGLE GLEW_GET_FUN(__glewVertexAttribDivisorANGLE) #define GLEW_ANGLE_instanced_arrays GLEW_GET_VAR(__GLEW_ANGLE_instanced_arrays) #endif /* GL_ANGLE_instanced_arrays */ /* -------------------- GL_ANGLE_pack_reverse_row_order -------------------- */ #ifndef GL_ANGLE_pack_reverse_row_order #define GL_ANGLE_pack_reverse_row_order 1 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 #define GLEW_ANGLE_pack_reverse_row_order GLEW_GET_VAR(__GLEW_ANGLE_pack_reverse_row_order) #endif /* GL_ANGLE_pack_reverse_row_order */ /* ------------------------ GL_ANGLE_program_binary ------------------------ */ #ifndef GL_ANGLE_program_binary #define GL_ANGLE_program_binary 1 #define GL_PROGRAM_BINARY_ANGLE 0x93A6 #define GLEW_ANGLE_program_binary GLEW_GET_VAR(__GLEW_ANGLE_program_binary) #endif /* GL_ANGLE_program_binary */ /* ------------------- GL_ANGLE_texture_compression_dxt1 ------------------- */ #ifndef GL_ANGLE_texture_compression_dxt1 #define GL_ANGLE_texture_compression_dxt1 1 #define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 #define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 #define GLEW_ANGLE_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt1) #endif /* GL_ANGLE_texture_compression_dxt1 */ /* ------------------- GL_ANGLE_texture_compression_dxt3 ------------------- */ #ifndef GL_ANGLE_texture_compression_dxt3 #define GL_ANGLE_texture_compression_dxt3 1 #define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 #define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 #define GLEW_ANGLE_texture_compression_dxt3 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt3) #endif /* GL_ANGLE_texture_compression_dxt3 */ /* ------------------- GL_ANGLE_texture_compression_dxt5 ------------------- */ #ifndef GL_ANGLE_texture_compression_dxt5 #define GL_ANGLE_texture_compression_dxt5 1 #define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 #define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 #define GLEW_ANGLE_texture_compression_dxt5 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt5) #endif /* GL_ANGLE_texture_compression_dxt5 */ /* ------------------------- GL_ANGLE_texture_usage ------------------------ */ #ifndef GL_ANGLE_texture_usage #define GL_ANGLE_texture_usage 1 #define GL_TEXTURE_USAGE_ANGLE 0x93A2 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 #define GLEW_ANGLE_texture_usage GLEW_GET_VAR(__GLEW_ANGLE_texture_usage) #endif /* GL_ANGLE_texture_usage */ /* -------------------------- GL_ANGLE_timer_query ------------------------- */ #ifndef GL_ANGLE_timer_query #define GL_ANGLE_timer_query 1 #define GL_QUERY_COUNTER_BITS_ANGLE 0x8864 #define GL_CURRENT_QUERY_ANGLE 0x8865 #define GL_QUERY_RESULT_ANGLE 0x8866 #define GL_QUERY_RESULT_AVAILABLE_ANGLE 0x8867 #define GL_TIME_ELAPSED_ANGLE 0x88BF #define GL_TIMESTAMP_ANGLE 0x8E28 typedef void (GLAPIENTRY * PFNGLBEGINQUERYANGLEPROC) (GLenum target, GLuint id); typedef void (GLAPIENTRY * PFNGLDELETEQUERIESANGLEPROC) (GLsizei n, const GLuint* ids); typedef void (GLAPIENTRY * PFNGLENDQUERYANGLEPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLGENQUERIESANGLEPROC) (GLsizei n, GLuint* ids); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VANGLEPROC) (GLuint id, GLenum pname, GLint64* params); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVANGLEPROC) (GLuint id, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VANGLEPROC) (GLuint id, GLenum pname, GLuint64* params); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVANGLEPROC) (GLuint id, GLenum pname, GLuint* params); typedef void (GLAPIENTRY * PFNGLGETQUERYIVANGLEPROC) (GLenum target, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISQUERYANGLEPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERANGLEPROC) (GLuint id, GLenum target); #define glBeginQueryANGLE GLEW_GET_FUN(__glewBeginQueryANGLE) #define glDeleteQueriesANGLE GLEW_GET_FUN(__glewDeleteQueriesANGLE) #define glEndQueryANGLE GLEW_GET_FUN(__glewEndQueryANGLE) #define glGenQueriesANGLE GLEW_GET_FUN(__glewGenQueriesANGLE) #define glGetQueryObjecti64vANGLE GLEW_GET_FUN(__glewGetQueryObjecti64vANGLE) #define glGetQueryObjectivANGLE GLEW_GET_FUN(__glewGetQueryObjectivANGLE) #define glGetQueryObjectui64vANGLE GLEW_GET_FUN(__glewGetQueryObjectui64vANGLE) #define glGetQueryObjectuivANGLE GLEW_GET_FUN(__glewGetQueryObjectuivANGLE) #define glGetQueryivANGLE GLEW_GET_FUN(__glewGetQueryivANGLE) #define glIsQueryANGLE GLEW_GET_FUN(__glewIsQueryANGLE) #define glQueryCounterANGLE GLEW_GET_FUN(__glewQueryCounterANGLE) #define GLEW_ANGLE_timer_query GLEW_GET_VAR(__GLEW_ANGLE_timer_query) #endif /* GL_ANGLE_timer_query */ /* ------------------- GL_ANGLE_translated_shader_source ------------------- */ #ifndef GL_ANGLE_translated_shader_source #define GL_ANGLE_translated_shader_source 1 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 typedef void (GLAPIENTRY * PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); #define glGetTranslatedShaderSourceANGLE GLEW_GET_FUN(__glewGetTranslatedShaderSourceANGLE) #define GLEW_ANGLE_translated_shader_source GLEW_GET_VAR(__GLEW_ANGLE_translated_shader_source) #endif /* GL_ANGLE_translated_shader_source */ /* ----------------------- GL_APPLE_aux_depth_stencil ---------------------- */ #ifndef GL_APPLE_aux_depth_stencil #define GL_APPLE_aux_depth_stencil 1 #define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14 #define GLEW_APPLE_aux_depth_stencil GLEW_GET_VAR(__GLEW_APPLE_aux_depth_stencil) #endif /* GL_APPLE_aux_depth_stencil */ /* ------------------------ GL_APPLE_client_storage ------------------------ */ #ifndef GL_APPLE_client_storage #define GL_APPLE_client_storage 1 #define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2 #define GLEW_APPLE_client_storage GLEW_GET_VAR(__GLEW_APPLE_client_storage) #endif /* GL_APPLE_client_storage */ /* ------------------------- GL_APPLE_element_array ------------------------ */ #ifndef GL_APPLE_element_array #define GL_APPLE_element_array 1 #define GL_ELEMENT_ARRAY_APPLE 0x8A0C #define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D #define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count); typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei *count, GLsizei primcount); #define glDrawElementArrayAPPLE GLEW_GET_FUN(__glewDrawElementArrayAPPLE) #define glDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewDrawRangeElementArrayAPPLE) #define glElementPointerAPPLE GLEW_GET_FUN(__glewElementPointerAPPLE) #define glMultiDrawElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawElementArrayAPPLE) #define glMultiDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawRangeElementArrayAPPLE) #define GLEW_APPLE_element_array GLEW_GET_VAR(__GLEW_APPLE_element_array) #endif /* GL_APPLE_element_array */ /* ----------------------------- GL_APPLE_fence ---------------------------- */ #ifndef GL_APPLE_fence #define GL_APPLE_fence 1 #define GL_DRAW_PIXELS_APPLE 0x8A0A #define GL_FENCE_APPLE 0x8A0B typedef void (GLAPIENTRY * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint* fences); typedef void (GLAPIENTRY * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence); typedef void (GLAPIENTRY * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name); typedef void (GLAPIENTRY * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint* fences); typedef GLboolean (GLAPIENTRY * PFNGLISFENCEAPPLEPROC) (GLuint fence); typedef void (GLAPIENTRY * PFNGLSETFENCEAPPLEPROC) (GLuint fence); typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCEAPPLEPROC) (GLuint fence); typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name); #define glDeleteFencesAPPLE GLEW_GET_FUN(__glewDeleteFencesAPPLE) #define glFinishFenceAPPLE GLEW_GET_FUN(__glewFinishFenceAPPLE) #define glFinishObjectAPPLE GLEW_GET_FUN(__glewFinishObjectAPPLE) #define glGenFencesAPPLE GLEW_GET_FUN(__glewGenFencesAPPLE) #define glIsFenceAPPLE GLEW_GET_FUN(__glewIsFenceAPPLE) #define glSetFenceAPPLE GLEW_GET_FUN(__glewSetFenceAPPLE) #define glTestFenceAPPLE GLEW_GET_FUN(__glewTestFenceAPPLE) #define glTestObjectAPPLE GLEW_GET_FUN(__glewTestObjectAPPLE) #define GLEW_APPLE_fence GLEW_GET_VAR(__GLEW_APPLE_fence) #endif /* GL_APPLE_fence */ /* ------------------------- GL_APPLE_float_pixels ------------------------- */ #ifndef GL_APPLE_float_pixels #define GL_APPLE_float_pixels 1 #define GL_HALF_APPLE 0x140B #define GL_RGBA_FLOAT32_APPLE 0x8814 #define GL_RGB_FLOAT32_APPLE 0x8815 #define GL_ALPHA_FLOAT32_APPLE 0x8816 #define GL_INTENSITY_FLOAT32_APPLE 0x8817 #define GL_LUMINANCE_FLOAT32_APPLE 0x8818 #define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 #define GL_RGBA_FLOAT16_APPLE 0x881A #define GL_RGB_FLOAT16_APPLE 0x881B #define GL_ALPHA_FLOAT16_APPLE 0x881C #define GL_INTENSITY_FLOAT16_APPLE 0x881D #define GL_LUMINANCE_FLOAT16_APPLE 0x881E #define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F #define GL_COLOR_FLOAT_APPLE 0x8A0F #define GLEW_APPLE_float_pixels GLEW_GET_VAR(__GLEW_APPLE_float_pixels) #endif /* GL_APPLE_float_pixels */ /* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */ #ifndef GL_APPLE_flush_buffer_range #define GL_APPLE_flush_buffer_range 1 #define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 #define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); #define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE) #define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE) #define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range) #endif /* GL_APPLE_flush_buffer_range */ /* ----------------------- GL_APPLE_object_purgeable ----------------------- */ #ifndef GL_APPLE_object_purgeable #define GL_APPLE_object_purgeable 1 #define GL_BUFFER_OBJECT_APPLE 0x85B3 #define GL_RELEASED_APPLE 0x8A19 #define GL_VOLATILE_APPLE 0x8A1A #define GL_RETAINED_APPLE 0x8A1B #define GL_UNDEFINED_APPLE 0x8A1C #define GL_PURGEABLE_APPLE 0x8A1D typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint* params); typedef GLenum (GLAPIENTRY * PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); typedef GLenum (GLAPIENTRY * PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); #define glGetObjectParameterivAPPLE GLEW_GET_FUN(__glewGetObjectParameterivAPPLE) #define glObjectPurgeableAPPLE GLEW_GET_FUN(__glewObjectPurgeableAPPLE) #define glObjectUnpurgeableAPPLE GLEW_GET_FUN(__glewObjectUnpurgeableAPPLE) #define GLEW_APPLE_object_purgeable GLEW_GET_VAR(__GLEW_APPLE_object_purgeable) #endif /* GL_APPLE_object_purgeable */ /* ------------------------- GL_APPLE_pixel_buffer ------------------------- */ #ifndef GL_APPLE_pixel_buffer #define GL_APPLE_pixel_buffer 1 #define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10 #define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer) #endif /* GL_APPLE_pixel_buffer */ /* ---------------------------- GL_APPLE_rgb_422 --------------------------- */ #ifndef GL_APPLE_rgb_422 #define GL_APPLE_rgb_422 1 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB #define GL_RGB_422_APPLE 0x8A1F #define GLEW_APPLE_rgb_422 GLEW_GET_VAR(__GLEW_APPLE_rgb_422) #endif /* GL_APPLE_rgb_422 */ /* --------------------------- GL_APPLE_row_bytes -------------------------- */ #ifndef GL_APPLE_row_bytes #define GL_APPLE_row_bytes 1 #define GL_PACK_ROW_BYTES_APPLE 0x8A15 #define GL_UNPACK_ROW_BYTES_APPLE 0x8A16 #define GLEW_APPLE_row_bytes GLEW_GET_VAR(__GLEW_APPLE_row_bytes) #endif /* GL_APPLE_row_bytes */ /* ------------------------ GL_APPLE_specular_vector ----------------------- */ #ifndef GL_APPLE_specular_vector #define GL_APPLE_specular_vector 1 #define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0 #define GLEW_APPLE_specular_vector GLEW_GET_VAR(__GLEW_APPLE_specular_vector) #endif /* GL_APPLE_specular_vector */ /* ------------------------- GL_APPLE_texture_range ------------------------ */ #ifndef GL_APPLE_texture_range #define GL_APPLE_texture_range 1 #define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 #define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 #define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC #define GL_STORAGE_PRIVATE_APPLE 0x85BD #define GL_STORAGE_CACHED_APPLE 0x85BE #define GL_STORAGE_SHARED_APPLE 0x85BF typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid **params); typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid *pointer); #define glGetTexParameterPointervAPPLE GLEW_GET_FUN(__glewGetTexParameterPointervAPPLE) #define glTextureRangeAPPLE GLEW_GET_FUN(__glewTextureRangeAPPLE) #define GLEW_APPLE_texture_range GLEW_GET_VAR(__GLEW_APPLE_texture_range) #endif /* GL_APPLE_texture_range */ /* ------------------------ GL_APPLE_transform_hint ------------------------ */ #ifndef GL_APPLE_transform_hint #define GL_APPLE_transform_hint 1 #define GL_TRANSFORM_HINT_APPLE 0x85B1 #define GLEW_APPLE_transform_hint GLEW_GET_VAR(__GLEW_APPLE_transform_hint) #endif /* GL_APPLE_transform_hint */ /* ---------------------- GL_APPLE_vertex_array_object --------------------- */ #ifndef GL_APPLE_vertex_array_object #define GL_APPLE_vertex_array_object 1 #define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); #define glBindVertexArrayAPPLE GLEW_GET_FUN(__glewBindVertexArrayAPPLE) #define glDeleteVertexArraysAPPLE GLEW_GET_FUN(__glewDeleteVertexArraysAPPLE) #define glGenVertexArraysAPPLE GLEW_GET_FUN(__glewGenVertexArraysAPPLE) #define glIsVertexArrayAPPLE GLEW_GET_FUN(__glewIsVertexArrayAPPLE) #define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(__GLEW_APPLE_vertex_array_object) #endif /* GL_APPLE_vertex_array_object */ /* ---------------------- GL_APPLE_vertex_array_range ---------------------- */ #ifndef GL_APPLE_vertex_array_range #define GL_APPLE_vertex_array_range 1 #define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D #define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E #define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520 #define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 #define GL_STORAGE_CLIENT_APPLE 0x85B4 #define GL_STORAGE_CACHED_APPLE 0x85BE #define GL_STORAGE_SHARED_APPLE 0x85BF typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer); #define glFlushVertexArrayRangeAPPLE GLEW_GET_FUN(__glewFlushVertexArrayRangeAPPLE) #define glVertexArrayParameteriAPPLE GLEW_GET_FUN(__glewVertexArrayParameteriAPPLE) #define glVertexArrayRangeAPPLE GLEW_GET_FUN(__glewVertexArrayRangeAPPLE) #define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(__GLEW_APPLE_vertex_array_range) #endif /* GL_APPLE_vertex_array_range */ /* ------------------- GL_APPLE_vertex_program_evaluators ------------------ */ #ifndef GL_APPLE_vertex_program_evaluators #define GL_APPLE_vertex_program_evaluators 1 #define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00 #define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01 #define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02 #define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03 #define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04 #define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05 #define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06 #define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07 #define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08 #define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09 typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname); typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points); typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points); typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points); typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points); #define glDisableVertexAttribAPPLE GLEW_GET_FUN(__glewDisableVertexAttribAPPLE) #define glEnableVertexAttribAPPLE GLEW_GET_FUN(__glewEnableVertexAttribAPPLE) #define glIsVertexAttribEnabledAPPLE GLEW_GET_FUN(__glewIsVertexAttribEnabledAPPLE) #define glMapVertexAttrib1dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1dAPPLE) #define glMapVertexAttrib1fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1fAPPLE) #define glMapVertexAttrib2dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2dAPPLE) #define glMapVertexAttrib2fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2fAPPLE) #define GLEW_APPLE_vertex_program_evaluators GLEW_GET_VAR(__GLEW_APPLE_vertex_program_evaluators) #endif /* GL_APPLE_vertex_program_evaluators */ /* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */ #ifndef GL_APPLE_ycbcr_422 #define GL_APPLE_ycbcr_422 1 #define GL_YCBCR_422_APPLE 0x85B9 #define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422) #endif /* GL_APPLE_ycbcr_422 */ /* ------------------------ GL_ARB_ES2_compatibility ----------------------- */ #ifndef GL_ARB_ES2_compatibility #define GL_ARB_ES2_compatibility 1 #define GL_FIXED 0x140C #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B #define GL_RGB565 0x8D62 #define GL_LOW_FLOAT 0x8DF0 #define GL_MEDIUM_FLOAT 0x8DF1 #define GL_HIGH_FLOAT 0x8DF2 #define GL_LOW_INT 0x8DF3 #define GL_MEDIUM_INT 0x8DF4 #define GL_HIGH_INT 0x8DF5 #define GL_SHADER_BINARY_FORMATS 0x8DF8 #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 #define GL_SHADER_COMPILER 0x8DFA #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB #define GL_MAX_VARYING_VECTORS 0x8DFC #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD typedef int GLfixed; typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf d); typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f); typedef void (GLAPIENTRY * PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint *precision); typedef void (GLAPIENTRY * PFNGLRELEASESHADERCOMPILERPROC) (void); typedef void (GLAPIENTRY * PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint* shaders, GLenum binaryformat, const GLvoid*binary, GLsizei length); #define glClearDepthf GLEW_GET_FUN(__glewClearDepthf) #define glDepthRangef GLEW_GET_FUN(__glewDepthRangef) #define glGetShaderPrecisionFormat GLEW_GET_FUN(__glewGetShaderPrecisionFormat) #define glReleaseShaderCompiler GLEW_GET_FUN(__glewReleaseShaderCompiler) #define glShaderBinary GLEW_GET_FUN(__glewShaderBinary) #define GLEW_ARB_ES2_compatibility GLEW_GET_VAR(__GLEW_ARB_ES2_compatibility) #endif /* GL_ARB_ES2_compatibility */ /* ------------------------ GL_ARB_ES3_compatibility ----------------------- */ #ifndef GL_ARB_ES3_compatibility #define GL_ARB_ES3_compatibility 1 #define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF #define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A #define GL_MAX_ELEMENT_INDEX 0x8D6B #define GL_COMPRESSED_R11_EAC 0x9270 #define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 #define GL_COMPRESSED_RG11_EAC 0x9272 #define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 #define GL_COMPRESSED_RGB8_ETC2 0x9274 #define GL_COMPRESSED_SRGB8_ETC2 0x9275 #define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 #define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 #define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 #define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 #define GLEW_ARB_ES3_compatibility GLEW_GET_VAR(__GLEW_ARB_ES3_compatibility) #endif /* GL_ARB_ES3_compatibility */ /* ------------------------ GL_ARB_arrays_of_arrays ------------------------ */ #ifndef GL_ARB_arrays_of_arrays #define GL_ARB_arrays_of_arrays 1 #define GLEW_ARB_arrays_of_arrays GLEW_GET_VAR(__GLEW_ARB_arrays_of_arrays) #endif /* GL_ARB_arrays_of_arrays */ /* -------------------------- GL_ARB_base_instance ------------------------- */ #ifndef GL_ARB_base_instance #define GL_ARB_base_instance 1 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLuint baseinstance); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance); #define glDrawArraysInstancedBaseInstance GLEW_GET_FUN(__glewDrawArraysInstancedBaseInstance) #define glDrawElementsInstancedBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseInstance) #define glDrawElementsInstancedBaseVertexBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertexBaseInstance) #define GLEW_ARB_base_instance GLEW_GET_VAR(__GLEW_ARB_base_instance) #endif /* GL_ARB_base_instance */ /* ------------------------ GL_ARB_bindless_texture ------------------------ */ #ifndef GL_ARB_bindless_texture #define GL_ARB_bindless_texture 1 #define GL_UNSIGNED_INT64_ARB 0x140F typedef GLuint64 (GLAPIENTRY * PFNGLGETIMAGEHANDLEARBPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTUREHANDLEARBPROC) (GLuint texture); typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTURESAMPLERHANDLEARBPROC) (GLuint texture, GLuint sampler); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VARBPROC) (GLuint index, GLenum pname, GLuint64EXT* params); typedef GLboolean (GLAPIENTRY * PFNGLISIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle); typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle, GLenum access); typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC) (GLuint program, GLint location, GLuint64 value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* values); typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64ARBPROC) (GLint location, GLuint64 value); typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64ARBPROC) (GLuint index, GLuint64EXT x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VARBPROC) (GLuint index, const GLuint64EXT* v); #define glGetImageHandleARB GLEW_GET_FUN(__glewGetImageHandleARB) #define glGetTextureHandleARB GLEW_GET_FUN(__glewGetTextureHandleARB) #define glGetTextureSamplerHandleARB GLEW_GET_FUN(__glewGetTextureSamplerHandleARB) #define glGetVertexAttribLui64vARB GLEW_GET_FUN(__glewGetVertexAttribLui64vARB) #define glIsImageHandleResidentARB GLEW_GET_FUN(__glewIsImageHandleResidentARB) #define glIsTextureHandleResidentARB GLEW_GET_FUN(__glewIsTextureHandleResidentARB) #define glMakeImageHandleNonResidentARB GLEW_GET_FUN(__glewMakeImageHandleNonResidentARB) #define glMakeImageHandleResidentARB GLEW_GET_FUN(__glewMakeImageHandleResidentARB) #define glMakeTextureHandleNonResidentARB GLEW_GET_FUN(__glewMakeTextureHandleNonResidentARB) #define glMakeTextureHandleResidentARB GLEW_GET_FUN(__glewMakeTextureHandleResidentARB) #define glProgramUniformHandleui64ARB GLEW_GET_FUN(__glewProgramUniformHandleui64ARB) #define glProgramUniformHandleui64vARB GLEW_GET_FUN(__glewProgramUniformHandleui64vARB) #define glUniformHandleui64ARB GLEW_GET_FUN(__glewUniformHandleui64ARB) #define glUniformHandleui64vARB GLEW_GET_FUN(__glewUniformHandleui64vARB) #define glVertexAttribL1ui64ARB GLEW_GET_FUN(__glewVertexAttribL1ui64ARB) #define glVertexAttribL1ui64vARB GLEW_GET_FUN(__glewVertexAttribL1ui64vARB) #define GLEW_ARB_bindless_texture GLEW_GET_VAR(__GLEW_ARB_bindless_texture) #endif /* GL_ARB_bindless_texture */ /* ----------------------- GL_ARB_blend_func_extended ---------------------- */ #ifndef GL_ARB_blend_func_extended #define GL_ARB_blend_func_extended 1 #define GL_SRC1_COLOR 0x88F9 #define GL_ONE_MINUS_SRC1_COLOR 0x88FA #define GL_ONE_MINUS_SRC1_ALPHA 0x88FB #define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name); typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar * name); #define glBindFragDataLocationIndexed GLEW_GET_FUN(__glewBindFragDataLocationIndexed) #define glGetFragDataIndex GLEW_GET_FUN(__glewGetFragDataIndex) #define GLEW_ARB_blend_func_extended GLEW_GET_VAR(__GLEW_ARB_blend_func_extended) #endif /* GL_ARB_blend_func_extended */ /* ------------------------- GL_ARB_buffer_storage ------------------------- */ #ifndef GL_ARB_buffer_storage #define GL_ARB_buffer_storage 1 #define GL_MAP_READ_BIT 0x0001 #define GL_MAP_WRITE_BIT 0x0002 #define GL_MAP_PERSISTENT_BIT 0x00000040 #define GL_MAP_COHERENT_BIT 0x00000080 #define GL_DYNAMIC_STORAGE_BIT 0x0100 #define GL_CLIENT_STORAGE_BIT 0x0200 #define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 #define GL_BUFFER_IMMUTABLE_STORAGE 0x821F #define GL_BUFFER_STORAGE_FLAGS 0x8220 typedef void (GLAPIENTRY * PFNGLBUFFERSTORAGEPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLbitfield flags); typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid* data, GLbitfield flags); #define glBufferStorage GLEW_GET_FUN(__glewBufferStorage) #define glNamedBufferStorageEXT GLEW_GET_FUN(__glewNamedBufferStorageEXT) #define GLEW_ARB_buffer_storage GLEW_GET_VAR(__GLEW_ARB_buffer_storage) #endif /* GL_ARB_buffer_storage */ /* ---------------------------- GL_ARB_cl_event ---------------------------- */ #ifndef GL_ARB_cl_event #define GL_ARB_cl_event 1 #define GL_SYNC_CL_EVENT_ARB 0x8240 #define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241 typedef struct _cl_context *cl_context; typedef struct _cl_event *cl_event; typedef GLsync (GLAPIENTRY * PFNGLCREATESYNCFROMCLEVENTARBPROC) (cl_context context, cl_event event, GLbitfield flags); #define glCreateSyncFromCLeventARB GLEW_GET_FUN(__glewCreateSyncFromCLeventARB) #define GLEW_ARB_cl_event GLEW_GET_VAR(__GLEW_ARB_cl_event) #endif /* GL_ARB_cl_event */ /* ----------------------- GL_ARB_clear_buffer_object ---------------------- */ #ifndef GL_ARB_clear_buffer_object #define GL_ARB_clear_buffer_object 1 typedef void (GLAPIENTRY * PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid* data); typedef void (GLAPIENTRY * PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid* data); typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid* data); typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid* data); #define glClearBufferData GLEW_GET_FUN(__glewClearBufferData) #define glClearBufferSubData GLEW_GET_FUN(__glewClearBufferSubData) #define glClearNamedBufferDataEXT GLEW_GET_FUN(__glewClearNamedBufferDataEXT) #define glClearNamedBufferSubDataEXT GLEW_GET_FUN(__glewClearNamedBufferSubDataEXT) #define GLEW_ARB_clear_buffer_object GLEW_GET_VAR(__GLEW_ARB_clear_buffer_object) #endif /* GL_ARB_clear_buffer_object */ /* -------------------------- GL_ARB_clear_texture ------------------------- */ #ifndef GL_ARB_clear_texture #define GL_ARB_clear_texture 1 #define GL_CLEAR_TEXTURE 0x9365 typedef void (GLAPIENTRY * PFNGLCLEARTEXIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid* data); typedef void (GLAPIENTRY * PFNGLCLEARTEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* data); #define glClearTexImage GLEW_GET_FUN(__glewClearTexImage) #define glClearTexSubImage GLEW_GET_FUN(__glewClearTexSubImage) #define GLEW_ARB_clear_texture GLEW_GET_VAR(__GLEW_ARB_clear_texture) #endif /* GL_ARB_clear_texture */ /* ----------------------- GL_ARB_color_buffer_float ----------------------- */ #ifndef GL_ARB_color_buffer_float #define GL_ARB_color_buffer_float 1 #define GL_RGBA_FLOAT_MODE_ARB 0x8820 #define GL_CLAMP_VERTEX_COLOR_ARB 0x891A #define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B #define GL_CLAMP_READ_COLOR_ARB 0x891C #define GL_FIXED_ONLY_ARB 0x891D typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); #define glClampColorARB GLEW_GET_FUN(__glewClampColorARB) #define GLEW_ARB_color_buffer_float GLEW_GET_VAR(__GLEW_ARB_color_buffer_float) #endif /* GL_ARB_color_buffer_float */ /* -------------------------- GL_ARB_compatibility ------------------------- */ #ifndef GL_ARB_compatibility #define GL_ARB_compatibility 1 #define GLEW_ARB_compatibility GLEW_GET_VAR(__GLEW_ARB_compatibility) #endif /* GL_ARB_compatibility */ /* ---------------- GL_ARB_compressed_texture_pixel_storage ---------------- */ #ifndef GL_ARB_compressed_texture_pixel_storage #define GL_ARB_compressed_texture_pixel_storage 1 #define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 #define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 #define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 #define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A #define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B #define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C #define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D #define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E #define GLEW_ARB_compressed_texture_pixel_storage GLEW_GET_VAR(__GLEW_ARB_compressed_texture_pixel_storage) #endif /* GL_ARB_compressed_texture_pixel_storage */ /* ------------------------- GL_ARB_compute_shader ------------------------- */ #ifndef GL_ARB_compute_shader #define GL_ARB_compute_shader 1 #define GL_COMPUTE_SHADER_BIT 0x00000020 #define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 #define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 #define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 #define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 #define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 #define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 #define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB #define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED #define GL_DISPATCH_INDIRECT_BUFFER 0x90EE #define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF #define GL_COMPUTE_SHADER 0x91B9 #define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB #define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC #define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD #define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE #define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect); #define glDispatchCompute GLEW_GET_FUN(__glewDispatchCompute) #define glDispatchComputeIndirect GLEW_GET_FUN(__glewDispatchComputeIndirect) #define GLEW_ARB_compute_shader GLEW_GET_VAR(__GLEW_ARB_compute_shader) #endif /* GL_ARB_compute_shader */ /* ------------------- GL_ARB_compute_variable_group_size ------------------ */ #ifndef GL_ARB_compute_variable_group_size #define GL_ARB_compute_variable_group_size 1 #define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB #define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF #define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344 #define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345 typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z); #define glDispatchComputeGroupSizeARB GLEW_GET_FUN(__glewDispatchComputeGroupSizeARB) #define GLEW_ARB_compute_variable_group_size GLEW_GET_VAR(__GLEW_ARB_compute_variable_group_size) #endif /* GL_ARB_compute_variable_group_size */ /* ----------------------- GL_ARB_conservative_depth ----------------------- */ #ifndef GL_ARB_conservative_depth #define GL_ARB_conservative_depth 1 #define GLEW_ARB_conservative_depth GLEW_GET_VAR(__GLEW_ARB_conservative_depth) #endif /* GL_ARB_conservative_depth */ /* --------------------------- GL_ARB_copy_buffer -------------------------- */ #ifndef GL_ARB_copy_buffer #define GL_ARB_copy_buffer 1 #define GL_COPY_READ_BUFFER 0x8F36 #define GL_COPY_WRITE_BUFFER 0x8F37 typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size); #define glCopyBufferSubData GLEW_GET_FUN(__glewCopyBufferSubData) #define GLEW_ARB_copy_buffer GLEW_GET_VAR(__GLEW_ARB_copy_buffer) #endif /* GL_ARB_copy_buffer */ /* --------------------------- GL_ARB_copy_image --------------------------- */ #ifndef GL_ARB_copy_image #define GL_ARB_copy_image 1 typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); #define glCopyImageSubData GLEW_GET_FUN(__glewCopyImageSubData) #define GLEW_ARB_copy_image GLEW_GET_VAR(__GLEW_ARB_copy_image) #endif /* GL_ARB_copy_image */ /* -------------------------- GL_ARB_debug_output -------------------------- */ #ifndef GL_ARB_debug_output #define GL_ARB_debug_output 1 #define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 #define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 #define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 #define GL_DEBUG_SOURCE_API_ARB 0x8246 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 #define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 #define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 #define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A #define GL_DEBUG_SOURCE_OTHER_ARB 0x824B #define GL_DEBUG_TYPE_ERROR_ARB 0x824C #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E #define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F #define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 #define GL_DEBUG_TYPE_OTHER_ARB 0x8251 #define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 #define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 #define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 #define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 #define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 #define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const GLvoid *userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); #define glDebugMessageCallbackARB GLEW_GET_FUN(__glewDebugMessageCallbackARB) #define glDebugMessageControlARB GLEW_GET_FUN(__glewDebugMessageControlARB) #define glDebugMessageInsertARB GLEW_GET_FUN(__glewDebugMessageInsertARB) #define glGetDebugMessageLogARB GLEW_GET_FUN(__glewGetDebugMessageLogARB) #define GLEW_ARB_debug_output GLEW_GET_VAR(__GLEW_ARB_debug_output) #endif /* GL_ARB_debug_output */ /* ----------------------- GL_ARB_depth_buffer_float ----------------------- */ #ifndef GL_ARB_depth_buffer_float #define GL_ARB_depth_buffer_float 1 #define GL_DEPTH_COMPONENT32F 0x8CAC #define GL_DEPTH32F_STENCIL8 0x8CAD #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD #define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float) #endif /* GL_ARB_depth_buffer_float */ /* --------------------------- GL_ARB_depth_clamp -------------------------- */ #ifndef GL_ARB_depth_clamp #define GL_ARB_depth_clamp 1 #define GL_DEPTH_CLAMP 0x864F #define GLEW_ARB_depth_clamp GLEW_GET_VAR(__GLEW_ARB_depth_clamp) #endif /* GL_ARB_depth_clamp */ /* -------------------------- GL_ARB_depth_texture ------------------------- */ #ifndef GL_ARB_depth_texture #define GL_ARB_depth_texture 1 #define GL_DEPTH_COMPONENT16_ARB 0x81A5 #define GL_DEPTH_COMPONENT24_ARB 0x81A6 #define GL_DEPTH_COMPONENT32_ARB 0x81A7 #define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B #define GLEW_ARB_depth_texture GLEW_GET_VAR(__GLEW_ARB_depth_texture) #endif /* GL_ARB_depth_texture */ /* -------------------------- GL_ARB_draw_buffers -------------------------- */ #ifndef GL_ARB_draw_buffers #define GL_ARB_draw_buffers 1 #define GL_MAX_DRAW_BUFFERS_ARB 0x8824 #define GL_DRAW_BUFFER0_ARB 0x8825 #define GL_DRAW_BUFFER1_ARB 0x8826 #define GL_DRAW_BUFFER2_ARB 0x8827 #define GL_DRAW_BUFFER3_ARB 0x8828 #define GL_DRAW_BUFFER4_ARB 0x8829 #define GL_DRAW_BUFFER5_ARB 0x882A #define GL_DRAW_BUFFER6_ARB 0x882B #define GL_DRAW_BUFFER7_ARB 0x882C #define GL_DRAW_BUFFER8_ARB 0x882D #define GL_DRAW_BUFFER9_ARB 0x882E #define GL_DRAW_BUFFER10_ARB 0x882F #define GL_DRAW_BUFFER11_ARB 0x8830 #define GL_DRAW_BUFFER12_ARB 0x8831 #define GL_DRAW_BUFFER13_ARB 0x8832 #define GL_DRAW_BUFFER14_ARB 0x8833 #define GL_DRAW_BUFFER15_ARB 0x8834 typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bufs); #define glDrawBuffersARB GLEW_GET_FUN(__glewDrawBuffersARB) #define GLEW_ARB_draw_buffers GLEW_GET_VAR(__GLEW_ARB_draw_buffers) #endif /* GL_ARB_draw_buffers */ /* ----------------------- GL_ARB_draw_buffers_blend ----------------------- */ #ifndef GL_ARB_draw_buffers_blend #define GL_ARB_draw_buffers_blend 1 typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode); typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); typedef void (GLAPIENTRY * PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst); #define glBlendEquationSeparateiARB GLEW_GET_FUN(__glewBlendEquationSeparateiARB) #define glBlendEquationiARB GLEW_GET_FUN(__glewBlendEquationiARB) #define glBlendFuncSeparateiARB GLEW_GET_FUN(__glewBlendFuncSeparateiARB) #define glBlendFunciARB GLEW_GET_FUN(__glewBlendFunciARB) #define GLEW_ARB_draw_buffers_blend GLEW_GET_VAR(__GLEW_ARB_draw_buffers_blend) #endif /* GL_ARB_draw_buffers_blend */ /* -------------------- GL_ARB_draw_elements_base_vertex ------------------- */ #ifndef GL_ARB_draw_elements_base_vertex #define GL_ARB_draw_elements_base_vertex 1 typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex); typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const *indices, GLsizei primcount, const GLint *basevertex); #define glDrawElementsBaseVertex GLEW_GET_FUN(__glewDrawElementsBaseVertex) #define glDrawElementsInstancedBaseVertex GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertex) #define glDrawRangeElementsBaseVertex GLEW_GET_FUN(__glewDrawRangeElementsBaseVertex) #define glMultiDrawElementsBaseVertex GLEW_GET_FUN(__glewMultiDrawElementsBaseVertex) #define GLEW_ARB_draw_elements_base_vertex GLEW_GET_VAR(__GLEW_ARB_draw_elements_base_vertex) #endif /* GL_ARB_draw_elements_base_vertex */ /* -------------------------- GL_ARB_draw_indirect ------------------------- */ #ifndef GL_ARB_draw_indirect #define GL_ARB_draw_indirect 1 #define GL_DRAW_INDIRECT_BUFFER 0x8F3F #define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid *indirect); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid *indirect); #define glDrawArraysIndirect GLEW_GET_FUN(__glewDrawArraysIndirect) #define glDrawElementsIndirect GLEW_GET_FUN(__glewDrawElementsIndirect) #define GLEW_ARB_draw_indirect GLEW_GET_VAR(__GLEW_ARB_draw_indirect) #endif /* GL_ARB_draw_indirect */ /* ------------------------- GL_ARB_draw_instanced ------------------------- */ #ifndef GL_ARB_draw_instanced #define GL_ARB_draw_instanced 1 #define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced) #endif /* GL_ARB_draw_instanced */ /* ------------------------ GL_ARB_enhanced_layouts ------------------------ */ #ifndef GL_ARB_enhanced_layouts #define GL_ARB_enhanced_layouts 1 #define GL_LOCATION_COMPONENT 0x934A #define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B #define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C #define GLEW_ARB_enhanced_layouts GLEW_GET_VAR(__GLEW_ARB_enhanced_layouts) #endif /* GL_ARB_enhanced_layouts */ /* -------------------- GL_ARB_explicit_attrib_location -------------------- */ #ifndef GL_ARB_explicit_attrib_location #define GL_ARB_explicit_attrib_location 1 #define GLEW_ARB_explicit_attrib_location GLEW_GET_VAR(__GLEW_ARB_explicit_attrib_location) #endif /* GL_ARB_explicit_attrib_location */ /* -------------------- GL_ARB_explicit_uniform_location ------------------- */ #ifndef GL_ARB_explicit_uniform_location #define GL_ARB_explicit_uniform_location 1 #define GL_MAX_UNIFORM_LOCATIONS 0x826E #define GLEW_ARB_explicit_uniform_location GLEW_GET_VAR(__GLEW_ARB_explicit_uniform_location) #endif /* GL_ARB_explicit_uniform_location */ /* ------------------- GL_ARB_fragment_coord_conventions ------------------- */ #ifndef GL_ARB_fragment_coord_conventions #define GL_ARB_fragment_coord_conventions 1 #define GLEW_ARB_fragment_coord_conventions GLEW_GET_VAR(__GLEW_ARB_fragment_coord_conventions) #endif /* GL_ARB_fragment_coord_conventions */ /* --------------------- GL_ARB_fragment_layer_viewport -------------------- */ #ifndef GL_ARB_fragment_layer_viewport #define GL_ARB_fragment_layer_viewport 1 #define GLEW_ARB_fragment_layer_viewport GLEW_GET_VAR(__GLEW_ARB_fragment_layer_viewport) #endif /* GL_ARB_fragment_layer_viewport */ /* ------------------------ GL_ARB_fragment_program ------------------------ */ #ifndef GL_ARB_fragment_program #define GL_ARB_fragment_program 1 #define GL_FRAGMENT_PROGRAM_ARB 0x8804 #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 #define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 #define GL_MAX_TEXTURE_COORDS_ARB 0x8871 #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 #define GLEW_ARB_fragment_program GLEW_GET_VAR(__GLEW_ARB_fragment_program) #endif /* GL_ARB_fragment_program */ /* --------------------- GL_ARB_fragment_program_shadow -------------------- */ #ifndef GL_ARB_fragment_program_shadow #define GL_ARB_fragment_program_shadow 1 #define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(__GLEW_ARB_fragment_program_shadow) #endif /* GL_ARB_fragment_program_shadow */ /* ------------------------- GL_ARB_fragment_shader ------------------------ */ #ifndef GL_ARB_fragment_shader #define GL_ARB_fragment_shader 1 #define GL_FRAGMENT_SHADER_ARB 0x8B30 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B #define GLEW_ARB_fragment_shader GLEW_GET_VAR(__GLEW_ARB_fragment_shader) #endif /* GL_ARB_fragment_shader */ /* ------------------- GL_ARB_framebuffer_no_attachments ------------------- */ #ifndef GL_ARB_framebuffer_no_attachments #define GL_ARB_framebuffer_no_attachments 1 #define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 #define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 #define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 #define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 #define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 #define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 #define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 #define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 #define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param); #define glFramebufferParameteri GLEW_GET_FUN(__glewFramebufferParameteri) #define glGetFramebufferParameteriv GLEW_GET_FUN(__glewGetFramebufferParameteriv) #define glGetNamedFramebufferParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferParameterivEXT) #define glNamedFramebufferParameteriEXT GLEW_GET_FUN(__glewNamedFramebufferParameteriEXT) #define GLEW_ARB_framebuffer_no_attachments GLEW_GET_VAR(__GLEW_ARB_framebuffer_no_attachments) #endif /* GL_ARB_framebuffer_no_attachments */ /* ----------------------- GL_ARB_framebuffer_object ----------------------- */ #ifndef GL_ARB_framebuffer_object #define GL_ARB_framebuffer_object 1 #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 #define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 #define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 #define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 #define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 #define GL_FRAMEBUFFER_DEFAULT 0x8218 #define GL_FRAMEBUFFER_UNDEFINED 0x8219 #define GL_DEPTH_STENCIL_ATTACHMENT 0x821A #define GL_INDEX 0x8222 #define GL_MAX_RENDERBUFFER_SIZE 0x84E8 #define GL_DEPTH_STENCIL 0x84F9 #define GL_UNSIGNED_INT_24_8 0x84FA #define GL_DEPTH24_STENCIL8 0x88F0 #define GL_TEXTURE_STENCIL_SIZE 0x88F1 #define GL_UNSIGNED_NORMALIZED 0x8C17 #define GL_SRGB 0x8C40 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 #define GL_FRAMEBUFFER_BINDING 0x8CA6 #define GL_RENDERBUFFER_BINDING 0x8CA7 #define GL_READ_FRAMEBUFFER 0x8CA8 #define GL_DRAW_FRAMEBUFFER 0x8CA9 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA #define GL_RENDERBUFFER_SAMPLES 0x8CAB #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 #define GL_FRAMEBUFFER_COMPLETE 0x8CD5 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD #define GL_MAX_COLOR_ATTACHMENTS 0x8CDF #define GL_COLOR_ATTACHMENT0 0x8CE0 #define GL_COLOR_ATTACHMENT1 0x8CE1 #define GL_COLOR_ATTACHMENT2 0x8CE2 #define GL_COLOR_ATTACHMENT3 0x8CE3 #define GL_COLOR_ATTACHMENT4 0x8CE4 #define GL_COLOR_ATTACHMENT5 0x8CE5 #define GL_COLOR_ATTACHMENT6 0x8CE6 #define GL_COLOR_ATTACHMENT7 0x8CE7 #define GL_COLOR_ATTACHMENT8 0x8CE8 #define GL_COLOR_ATTACHMENT9 0x8CE9 #define GL_COLOR_ATTACHMENT10 0x8CEA #define GL_COLOR_ATTACHMENT11 0x8CEB #define GL_COLOR_ATTACHMENT12 0x8CEC #define GL_COLOR_ATTACHMENT13 0x8CED #define GL_COLOR_ATTACHMENT14 0x8CEE #define GL_COLOR_ATTACHMENT15 0x8CEF #define GL_DEPTH_ATTACHMENT 0x8D00 #define GL_STENCIL_ATTACHMENT 0x8D20 #define GL_FRAMEBUFFER 0x8D40 #define GL_RENDERBUFFER 0x8D41 #define GL_RENDERBUFFER_WIDTH 0x8D42 #define GL_RENDERBUFFER_HEIGHT 0x8D43 #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 #define GL_STENCIL_INDEX1 0x8D46 #define GL_STENCIL_INDEX4 0x8D47 #define GL_STENCIL_INDEX8 0x8D48 #define GL_STENCIL_INDEX16 0x8D49 #define GL_RENDERBUFFER_RED_SIZE 0x8D50 #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 #define GL_MAX_SAMPLES 0x8D57 typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers); typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer); typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers); typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers); typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); #define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer) #define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer) #define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer) #define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus) #define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers) #define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers) #define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer) #define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D) #define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D) #define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D) #define glFramebufferTextureLayer GLEW_GET_FUN(__glewFramebufferTextureLayer) #define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers) #define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers) #define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap) #define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv) #define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv) #define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer) #define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer) #define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage) #define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample) #define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object) #endif /* GL_ARB_framebuffer_object */ /* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */ #ifndef GL_ARB_framebuffer_sRGB #define GL_ARB_framebuffer_sRGB 1 #define GL_FRAMEBUFFER_SRGB 0x8DB9 #define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB) #endif /* GL_ARB_framebuffer_sRGB */ /* ------------------------ GL_ARB_geometry_shader4 ------------------------ */ #ifndef GL_ARB_geometry_shader4 #define GL_ARB_geometry_shader4 1 #define GL_LINES_ADJACENCY_ARB 0xA #define GL_LINE_STRIP_ADJACENCY_ARB 0xB #define GL_TRIANGLES_ADJACENCY_ARB 0xC #define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD #define GL_PROGRAM_POINT_SIZE_ARB 0x8642 #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 #define GL_GEOMETRY_SHADER_ARB 0x8DD9 #define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA #define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB #define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC #define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD #define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF #define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); #define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB) #define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB) #define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB) #define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB) #define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4) #endif /* GL_ARB_geometry_shader4 */ /* ----------------------- GL_ARB_get_program_binary ----------------------- */ #ifndef GL_ARB_get_program_binary #define GL_ARB_get_program_binary 1 #define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 #define GL_PROGRAM_BINARY_LENGTH 0x8741 #define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE #define GL_PROGRAM_BINARY_FORMATS 0x87FF typedef void (GLAPIENTRY * PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum *binaryFormat, GLvoid*binary); typedef void (GLAPIENTRY * PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); #define glGetProgramBinary GLEW_GET_FUN(__glewGetProgramBinary) #define glProgramBinary GLEW_GET_FUN(__glewProgramBinary) #define glProgramParameteri GLEW_GET_FUN(__glewProgramParameteri) #define GLEW_ARB_get_program_binary GLEW_GET_VAR(__GLEW_ARB_get_program_binary) #endif /* GL_ARB_get_program_binary */ /* --------------------------- GL_ARB_gpu_shader5 -------------------------- */ #ifndef GL_ARB_gpu_shader5 #define GL_ARB_gpu_shader5 1 #define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F #define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A #define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B #define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C #define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D #define GL_MAX_VERTEX_STREAMS 0x8E71 #define GLEW_ARB_gpu_shader5 GLEW_GET_VAR(__GLEW_ARB_gpu_shader5) #endif /* GL_ARB_gpu_shader5 */ /* ------------------------- GL_ARB_gpu_shader_fp64 ------------------------ */ #ifndef GL_ARB_gpu_shader_fp64 #define GL_ARB_gpu_shader_fp64 1 #define GL_DOUBLE_MAT2 0x8F46 #define GL_DOUBLE_MAT3 0x8F47 #define GL_DOUBLE_MAT4 0x8F48 #define GL_DOUBLE_MAT2x3 0x8F49 #define GL_DOUBLE_MAT2x4 0x8F4A #define GL_DOUBLE_MAT3x2 0x8F4B #define GL_DOUBLE_MAT3x4 0x8F4C #define GL_DOUBLE_MAT4x2 0x8F4D #define GL_DOUBLE_MAT4x3 0x8F4E #define GL_DOUBLE_VEC2 0x8FFC #define GL_DOUBLE_VEC3 0x8FFD #define GL_DOUBLE_VEC4 0x8FFE typedef void (GLAPIENTRY * PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble* params); typedef void (GLAPIENTRY * PFNGLUNIFORM1DPROC) (GLint location, GLdouble x); typedef void (GLAPIENTRY * PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); #define glGetUniformdv GLEW_GET_FUN(__glewGetUniformdv) #define glUniform1d GLEW_GET_FUN(__glewUniform1d) #define glUniform1dv GLEW_GET_FUN(__glewUniform1dv) #define glUniform2d GLEW_GET_FUN(__glewUniform2d) #define glUniform2dv GLEW_GET_FUN(__glewUniform2dv) #define glUniform3d GLEW_GET_FUN(__glewUniform3d) #define glUniform3dv GLEW_GET_FUN(__glewUniform3dv) #define glUniform4d GLEW_GET_FUN(__glewUniform4d) #define glUniform4dv GLEW_GET_FUN(__glewUniform4dv) #define glUniformMatrix2dv GLEW_GET_FUN(__glewUniformMatrix2dv) #define glUniformMatrix2x3dv GLEW_GET_FUN(__glewUniformMatrix2x3dv) #define glUniformMatrix2x4dv GLEW_GET_FUN(__glewUniformMatrix2x4dv) #define glUniformMatrix3dv GLEW_GET_FUN(__glewUniformMatrix3dv) #define glUniformMatrix3x2dv GLEW_GET_FUN(__glewUniformMatrix3x2dv) #define glUniformMatrix3x4dv GLEW_GET_FUN(__glewUniformMatrix3x4dv) #define glUniformMatrix4dv GLEW_GET_FUN(__glewUniformMatrix4dv) #define glUniformMatrix4x2dv GLEW_GET_FUN(__glewUniformMatrix4x2dv) #define glUniformMatrix4x3dv GLEW_GET_FUN(__glewUniformMatrix4x3dv) #define GLEW_ARB_gpu_shader_fp64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_fp64) #endif /* GL_ARB_gpu_shader_fp64 */ /* ------------------------ GL_ARB_half_float_pixel ------------------------ */ #ifndef GL_ARB_half_float_pixel #define GL_ARB_half_float_pixel 1 #define GL_HALF_FLOAT_ARB 0x140B #define GLEW_ARB_half_float_pixel GLEW_GET_VAR(__GLEW_ARB_half_float_pixel) #endif /* GL_ARB_half_float_pixel */ /* ------------------------ GL_ARB_half_float_vertex ----------------------- */ #ifndef GL_ARB_half_float_vertex #define GL_ARB_half_float_vertex 1 #define GL_HALF_FLOAT 0x140B #define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex) #endif /* GL_ARB_half_float_vertex */ /* ----------------------------- GL_ARB_imaging ---------------------------- */ #ifndef GL_ARB_imaging #define GL_ARB_imaging 1 #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 #define GL_BLEND_COLOR 0x8005 #define GL_FUNC_ADD 0x8006 #define GL_MIN 0x8007 #define GL_MAX 0x8008 #define GL_BLEND_EQUATION 0x8009 #define GL_FUNC_SUBTRACT 0x800A #define GL_FUNC_REVERSE_SUBTRACT 0x800B #define GL_CONVOLUTION_1D 0x8010 #define GL_CONVOLUTION_2D 0x8011 #define GL_SEPARABLE_2D 0x8012 #define GL_CONVOLUTION_BORDER_MODE 0x8013 #define GL_CONVOLUTION_FILTER_SCALE 0x8014 #define GL_CONVOLUTION_FILTER_BIAS 0x8015 #define GL_REDUCE 0x8016 #define GL_CONVOLUTION_FORMAT 0x8017 #define GL_CONVOLUTION_WIDTH 0x8018 #define GL_CONVOLUTION_HEIGHT 0x8019 #define GL_MAX_CONVOLUTION_WIDTH 0x801A #define GL_MAX_CONVOLUTION_HEIGHT 0x801B #define GL_POST_CONVOLUTION_RED_SCALE 0x801C #define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D #define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E #define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F #define GL_POST_CONVOLUTION_RED_BIAS 0x8020 #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 #define GL_HISTOGRAM 0x8024 #define GL_PROXY_HISTOGRAM 0x8025 #define GL_HISTOGRAM_WIDTH 0x8026 #define GL_HISTOGRAM_FORMAT 0x8027 #define GL_HISTOGRAM_RED_SIZE 0x8028 #define GL_HISTOGRAM_GREEN_SIZE 0x8029 #define GL_HISTOGRAM_BLUE_SIZE 0x802A #define GL_HISTOGRAM_ALPHA_SIZE 0x802B #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C #define GL_HISTOGRAM_SINK 0x802D #define GL_MINMAX 0x802E #define GL_MINMAX_FORMAT 0x802F #define GL_MINMAX_SINK 0x8030 #define GL_TABLE_TOO_LARGE 0x8031 #define GL_COLOR_MATRIX 0x80B1 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 #define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4 #define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5 #define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7 #define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8 #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB #define GL_COLOR_TABLE 0x80D0 #define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 #define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 #define GL_PROXY_COLOR_TABLE 0x80D3 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 #define GL_COLOR_TABLE_SCALE 0x80D6 #define GL_COLOR_TABLE_BIAS 0x80D7 #define GL_COLOR_TABLE_FORMAT 0x80D8 #define GL_COLOR_TABLE_WIDTH 0x80D9 #define GL_COLOR_TABLE_RED_SIZE 0x80DA #define GL_COLOR_TABLE_GREEN_SIZE 0x80DB #define GL_COLOR_TABLE_BLUE_SIZE 0x80DC #define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD #define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE #define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF #define GL_IGNORE_BORDER 0x8150 #define GL_CONSTANT_BORDER 0x8151 #define GL_WRAP_BORDER 0x8152 #define GL_REPLICATE_BORDER 0x8153 #define GL_CONVOLUTION_BORDER_COLOR 0x8154 typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image); typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (GLAPIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values); typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); typedef void (GLAPIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); typedef void (GLAPIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink); typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLRESETMINMAXPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); #define glColorSubTable GLEW_GET_FUN(__glewColorSubTable) #define glColorTable GLEW_GET_FUN(__glewColorTable) #define glColorTableParameterfv GLEW_GET_FUN(__glewColorTableParameterfv) #define glColorTableParameteriv GLEW_GET_FUN(__glewColorTableParameteriv) #define glConvolutionFilter1D GLEW_GET_FUN(__glewConvolutionFilter1D) #define glConvolutionFilter2D GLEW_GET_FUN(__glewConvolutionFilter2D) #define glConvolutionParameterf GLEW_GET_FUN(__glewConvolutionParameterf) #define glConvolutionParameterfv GLEW_GET_FUN(__glewConvolutionParameterfv) #define glConvolutionParameteri GLEW_GET_FUN(__glewConvolutionParameteri) #define glConvolutionParameteriv GLEW_GET_FUN(__glewConvolutionParameteriv) #define glCopyColorSubTable GLEW_GET_FUN(__glewCopyColorSubTable) #define glCopyColorTable GLEW_GET_FUN(__glewCopyColorTable) #define glCopyConvolutionFilter1D GLEW_GET_FUN(__glewCopyConvolutionFilter1D) #define glCopyConvolutionFilter2D GLEW_GET_FUN(__glewCopyConvolutionFilter2D) #define glGetColorTable GLEW_GET_FUN(__glewGetColorTable) #define glGetColorTableParameterfv GLEW_GET_FUN(__glewGetColorTableParameterfv) #define glGetColorTableParameteriv GLEW_GET_FUN(__glewGetColorTableParameteriv) #define glGetConvolutionFilter GLEW_GET_FUN(__glewGetConvolutionFilter) #define glGetConvolutionParameterfv GLEW_GET_FUN(__glewGetConvolutionParameterfv) #define glGetConvolutionParameteriv GLEW_GET_FUN(__glewGetConvolutionParameteriv) #define glGetHistogram GLEW_GET_FUN(__glewGetHistogram) #define glGetHistogramParameterfv GLEW_GET_FUN(__glewGetHistogramParameterfv) #define glGetHistogramParameteriv GLEW_GET_FUN(__glewGetHistogramParameteriv) #define glGetMinmax GLEW_GET_FUN(__glewGetMinmax) #define glGetMinmaxParameterfv GLEW_GET_FUN(__glewGetMinmaxParameterfv) #define glGetMinmaxParameteriv GLEW_GET_FUN(__glewGetMinmaxParameteriv) #define glGetSeparableFilter GLEW_GET_FUN(__glewGetSeparableFilter) #define glHistogram GLEW_GET_FUN(__glewHistogram) #define glMinmax GLEW_GET_FUN(__glewMinmax) #define glResetHistogram GLEW_GET_FUN(__glewResetHistogram) #define glResetMinmax GLEW_GET_FUN(__glewResetMinmax) #define glSeparableFilter2D GLEW_GET_FUN(__glewSeparableFilter2D) #define GLEW_ARB_imaging GLEW_GET_VAR(__GLEW_ARB_imaging) #endif /* GL_ARB_imaging */ /* ----------------------- GL_ARB_indirect_parameters ---------------------- */ #ifndef GL_ARB_indirect_parameters #define GL_ARB_indirect_parameters 1 #define GL_PARAMETER_BUFFER_ARB 0x80EE #define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) (GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); #define glMultiDrawArraysIndirectCountARB GLEW_GET_FUN(__glewMultiDrawArraysIndirectCountARB) #define glMultiDrawElementsIndirectCountARB GLEW_GET_FUN(__glewMultiDrawElementsIndirectCountARB) #define GLEW_ARB_indirect_parameters GLEW_GET_VAR(__GLEW_ARB_indirect_parameters) #endif /* GL_ARB_indirect_parameters */ /* ------------------------ GL_ARB_instanced_arrays ------------------------ */ #ifndef GL_ARB_instanced_arrays #define GL_ARB_instanced_arrays 1 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); #define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB) #define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB) #define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB) #define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays) #endif /* GL_ARB_instanced_arrays */ /* ---------------------- GL_ARB_internalformat_query ---------------------- */ #ifndef GL_ARB_internalformat_query #define GL_ARB_internalformat_query 1 #define GL_NUM_SAMPLE_COUNTS 0x9380 typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); #define glGetInternalformativ GLEW_GET_FUN(__glewGetInternalformativ) #define GLEW_ARB_internalformat_query GLEW_GET_VAR(__GLEW_ARB_internalformat_query) #endif /* GL_ARB_internalformat_query */ /* ---------------------- GL_ARB_internalformat_query2 --------------------- */ #ifndef GL_ARB_internalformat_query2 #define GL_ARB_internalformat_query2 1 #define GL_INTERNALFORMAT_SUPPORTED 0x826F #define GL_INTERNALFORMAT_PREFERRED 0x8270 #define GL_INTERNALFORMAT_RED_SIZE 0x8271 #define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 #define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 #define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 #define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 #define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 #define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 #define GL_INTERNALFORMAT_RED_TYPE 0x8278 #define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 #define GL_INTERNALFORMAT_BLUE_TYPE 0x827A #define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B #define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C #define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D #define GL_MAX_WIDTH 0x827E #define GL_MAX_HEIGHT 0x827F #define GL_MAX_DEPTH 0x8280 #define GL_MAX_LAYERS 0x8281 #define GL_MAX_COMBINED_DIMENSIONS 0x8282 #define GL_COLOR_COMPONENTS 0x8283 #define GL_DEPTH_COMPONENTS 0x8284 #define GL_STENCIL_COMPONENTS 0x8285 #define GL_COLOR_RENDERABLE 0x8286 #define GL_DEPTH_RENDERABLE 0x8287 #define GL_STENCIL_RENDERABLE 0x8288 #define GL_FRAMEBUFFER_RENDERABLE 0x8289 #define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A #define GL_FRAMEBUFFER_BLEND 0x828B #define GL_READ_PIXELS 0x828C #define GL_READ_PIXELS_FORMAT 0x828D #define GL_READ_PIXELS_TYPE 0x828E #define GL_TEXTURE_IMAGE_FORMAT 0x828F #define GL_TEXTURE_IMAGE_TYPE 0x8290 #define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 #define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 #define GL_MIPMAP 0x8293 #define GL_MANUAL_GENERATE_MIPMAP 0x8294 #define GL_AUTO_GENERATE_MIPMAP 0x8295 #define GL_COLOR_ENCODING 0x8296 #define GL_SRGB_READ 0x8297 #define GL_SRGB_WRITE 0x8298 #define GL_SRGB_DECODE_ARB 0x8299 #define GL_FILTER 0x829A #define GL_VERTEX_TEXTURE 0x829B #define GL_TESS_CONTROL_TEXTURE 0x829C #define GL_TESS_EVALUATION_TEXTURE 0x829D #define GL_GEOMETRY_TEXTURE 0x829E #define GL_FRAGMENT_TEXTURE 0x829F #define GL_COMPUTE_TEXTURE 0x82A0 #define GL_TEXTURE_SHADOW 0x82A1 #define GL_TEXTURE_GATHER 0x82A2 #define GL_TEXTURE_GATHER_SHADOW 0x82A3 #define GL_SHADER_IMAGE_LOAD 0x82A4 #define GL_SHADER_IMAGE_STORE 0x82A5 #define GL_SHADER_IMAGE_ATOMIC 0x82A6 #define GL_IMAGE_TEXEL_SIZE 0x82A7 #define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 #define GL_IMAGE_PIXEL_FORMAT 0x82A9 #define GL_IMAGE_PIXEL_TYPE 0x82AA #define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC #define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD #define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE #define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF #define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 #define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 #define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 #define GL_CLEAR_BUFFER 0x82B4 #define GL_TEXTURE_VIEW 0x82B5 #define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 #define GL_FULL_SUPPORT 0x82B7 #define GL_CAVEAT_SUPPORT 0x82B8 #define GL_IMAGE_CLASS_4_X_32 0x82B9 #define GL_IMAGE_CLASS_2_X_32 0x82BA #define GL_IMAGE_CLASS_1_X_32 0x82BB #define GL_IMAGE_CLASS_4_X_16 0x82BC #define GL_IMAGE_CLASS_2_X_16 0x82BD #define GL_IMAGE_CLASS_1_X_16 0x82BE #define GL_IMAGE_CLASS_4_X_8 0x82BF #define GL_IMAGE_CLASS_2_X_8 0x82C0 #define GL_IMAGE_CLASS_1_X_8 0x82C1 #define GL_IMAGE_CLASS_11_11_10 0x82C2 #define GL_IMAGE_CLASS_10_10_10_2 0x82C3 #define GL_VIEW_CLASS_128_BITS 0x82C4 #define GL_VIEW_CLASS_96_BITS 0x82C5 #define GL_VIEW_CLASS_64_BITS 0x82C6 #define GL_VIEW_CLASS_48_BITS 0x82C7 #define GL_VIEW_CLASS_32_BITS 0x82C8 #define GL_VIEW_CLASS_24_BITS 0x82C9 #define GL_VIEW_CLASS_16_BITS 0x82CA #define GL_VIEW_CLASS_8_BITS 0x82CB #define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC #define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD #define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE #define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF #define GL_VIEW_CLASS_RGTC1_RED 0x82D0 #define GL_VIEW_CLASS_RGTC2_RG 0x82D1 #define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 #define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params); #define glGetInternalformati64v GLEW_GET_FUN(__glewGetInternalformati64v) #define GLEW_ARB_internalformat_query2 GLEW_GET_VAR(__GLEW_ARB_internalformat_query2) #endif /* GL_ARB_internalformat_query2 */ /* ----------------------- GL_ARB_invalidate_subdata ----------------------- */ #ifndef GL_ARB_invalidate_subdata #define GL_ARB_invalidate_subdata 1 typedef void (GLAPIENTRY * PFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer); typedef void (GLAPIENTRY * PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); typedef void (GLAPIENTRY * PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum* attachments); typedef void (GLAPIENTRY * PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); #define glInvalidateBufferData GLEW_GET_FUN(__glewInvalidateBufferData) #define glInvalidateBufferSubData GLEW_GET_FUN(__glewInvalidateBufferSubData) #define glInvalidateFramebuffer GLEW_GET_FUN(__glewInvalidateFramebuffer) #define glInvalidateSubFramebuffer GLEW_GET_FUN(__glewInvalidateSubFramebuffer) #define glInvalidateTexImage GLEW_GET_FUN(__glewInvalidateTexImage) #define glInvalidateTexSubImage GLEW_GET_FUN(__glewInvalidateTexSubImage) #define GLEW_ARB_invalidate_subdata GLEW_GET_VAR(__GLEW_ARB_invalidate_subdata) #endif /* GL_ARB_invalidate_subdata */ /* ---------------------- GL_ARB_map_buffer_alignment ---------------------- */ #ifndef GL_ARB_map_buffer_alignment #define GL_ARB_map_buffer_alignment 1 #define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC #define GLEW_ARB_map_buffer_alignment GLEW_GET_VAR(__GLEW_ARB_map_buffer_alignment) #endif /* GL_ARB_map_buffer_alignment */ /* ------------------------ GL_ARB_map_buffer_range ------------------------ */ #ifndef GL_ARB_map_buffer_range #define GL_ARB_map_buffer_range 1 #define GL_MAP_READ_BIT 0x0001 #define GL_MAP_WRITE_BIT 0x0002 #define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 #define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); #define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange) #define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange) #define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range) #endif /* GL_ARB_map_buffer_range */ /* ------------------------- GL_ARB_matrix_palette ------------------------- */ #ifndef GL_ARB_matrix_palette #define GL_ARB_matrix_palette 1 #define GL_MATRIX_PALETTE_ARB 0x8840 #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 #define GL_MAX_PALETTE_MATRICES_ARB 0x8842 #define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 #define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 #define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 typedef void (GLAPIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index); typedef void (GLAPIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices); typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices); typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices); #define glCurrentPaletteMatrixARB GLEW_GET_FUN(__glewCurrentPaletteMatrixARB) #define glMatrixIndexPointerARB GLEW_GET_FUN(__glewMatrixIndexPointerARB) #define glMatrixIndexubvARB GLEW_GET_FUN(__glewMatrixIndexubvARB) #define glMatrixIndexuivARB GLEW_GET_FUN(__glewMatrixIndexuivARB) #define glMatrixIndexusvARB GLEW_GET_FUN(__glewMatrixIndexusvARB) #define GLEW_ARB_matrix_palette GLEW_GET_VAR(__GLEW_ARB_matrix_palette) #endif /* GL_ARB_matrix_palette */ /* --------------------------- GL_ARB_multi_bind --------------------------- */ #ifndef GL_ARB_multi_bind #define GL_ARB_multi_bind 1 typedef void (GLAPIENTRY * PFNGLBINDBUFFERSBASEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint* buffers); typedef void (GLAPIENTRY * PFNGLBINDBUFFERSRANGEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizeiptr *sizes); typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTURESPROC) (GLuint first, GLsizei count, const GLuint* textures); typedef void (GLAPIENTRY * PFNGLBINDSAMPLERSPROC) (GLuint first, GLsizei count, const GLuint* samplers); typedef void (GLAPIENTRY * PFNGLBINDTEXTURESPROC) (GLuint first, GLsizei count, const GLuint* textures); typedef void (GLAPIENTRY * PFNGLBINDVERTEXBUFFERSPROC) (GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizei *strides); #define glBindBuffersBase GLEW_GET_FUN(__glewBindBuffersBase) #define glBindBuffersRange GLEW_GET_FUN(__glewBindBuffersRange) #define glBindImageTextures GLEW_GET_FUN(__glewBindImageTextures) #define glBindSamplers GLEW_GET_FUN(__glewBindSamplers) #define glBindTextures GLEW_GET_FUN(__glewBindTextures) #define glBindVertexBuffers GLEW_GET_FUN(__glewBindVertexBuffers) #define GLEW_ARB_multi_bind GLEW_GET_VAR(__GLEW_ARB_multi_bind) #endif /* GL_ARB_multi_bind */ /* ----------------------- GL_ARB_multi_draw_indirect ---------------------- */ #ifndef GL_ARB_multi_draw_indirect #define GL_ARB_multi_draw_indirect 1 typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride); #define glMultiDrawArraysIndirect GLEW_GET_FUN(__glewMultiDrawArraysIndirect) #define glMultiDrawElementsIndirect GLEW_GET_FUN(__glewMultiDrawElementsIndirect) #define GLEW_ARB_multi_draw_indirect GLEW_GET_VAR(__GLEW_ARB_multi_draw_indirect) #endif /* GL_ARB_multi_draw_indirect */ /* --------------------------- GL_ARB_multisample -------------------------- */ #ifndef GL_ARB_multisample #define GL_ARB_multisample 1 #define GL_MULTISAMPLE_ARB 0x809D #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E #define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F #define GL_SAMPLE_COVERAGE_ARB 0x80A0 #define GL_SAMPLE_BUFFERS_ARB 0x80A8 #define GL_SAMPLES_ARB 0x80A9 #define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA #define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB #define GL_MULTISAMPLE_BIT_ARB 0x20000000 typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert); #define glSampleCoverageARB GLEW_GET_FUN(__glewSampleCoverageARB) #define GLEW_ARB_multisample GLEW_GET_VAR(__GLEW_ARB_multisample) #endif /* GL_ARB_multisample */ /* -------------------------- GL_ARB_multitexture -------------------------- */ #ifndef GL_ARB_multitexture #define GL_ARB_multitexture 1 #define GL_TEXTURE0_ARB 0x84C0 #define GL_TEXTURE1_ARB 0x84C1 #define GL_TEXTURE2_ARB 0x84C2 #define GL_TEXTURE3_ARB 0x84C3 #define GL_TEXTURE4_ARB 0x84C4 #define GL_TEXTURE5_ARB 0x84C5 #define GL_TEXTURE6_ARB 0x84C6 #define GL_TEXTURE7_ARB 0x84C7 #define GL_TEXTURE8_ARB 0x84C8 #define GL_TEXTURE9_ARB 0x84C9 #define GL_TEXTURE10_ARB 0x84CA #define GL_TEXTURE11_ARB 0x84CB #define GL_TEXTURE12_ARB 0x84CC #define GL_TEXTURE13_ARB 0x84CD #define GL_TEXTURE14_ARB 0x84CE #define GL_TEXTURE15_ARB 0x84CF #define GL_TEXTURE16_ARB 0x84D0 #define GL_TEXTURE17_ARB 0x84D1 #define GL_TEXTURE18_ARB 0x84D2 #define GL_TEXTURE19_ARB 0x84D3 #define GL_TEXTURE20_ARB 0x84D4 #define GL_TEXTURE21_ARB 0x84D5 #define GL_TEXTURE22_ARB 0x84D6 #define GL_TEXTURE23_ARB 0x84D7 #define GL_TEXTURE24_ARB 0x84D8 #define GL_TEXTURE25_ARB 0x84D9 #define GL_TEXTURE26_ARB 0x84DA #define GL_TEXTURE27_ARB 0x84DB #define GL_TEXTURE28_ARB 0x84DC #define GL_TEXTURE29_ARB 0x84DD #define GL_TEXTURE30_ARB 0x84DE #define GL_TEXTURE31_ARB 0x84DF #define GL_ACTIVE_TEXTURE_ARB 0x84E0 #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture); typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); #define glActiveTextureARB GLEW_GET_FUN(__glewActiveTextureARB) #define glClientActiveTextureARB GLEW_GET_FUN(__glewClientActiveTextureARB) #define glMultiTexCoord1dARB GLEW_GET_FUN(__glewMultiTexCoord1dARB) #define glMultiTexCoord1dvARB GLEW_GET_FUN(__glewMultiTexCoord1dvARB) #define glMultiTexCoord1fARB GLEW_GET_FUN(__glewMultiTexCoord1fARB) #define glMultiTexCoord1fvARB GLEW_GET_FUN(__glewMultiTexCoord1fvARB) #define glMultiTexCoord1iARB GLEW_GET_FUN(__glewMultiTexCoord1iARB) #define glMultiTexCoord1ivARB GLEW_GET_FUN(__glewMultiTexCoord1ivARB) #define glMultiTexCoord1sARB GLEW_GET_FUN(__glewMultiTexCoord1sARB) #define glMultiTexCoord1svARB GLEW_GET_FUN(__glewMultiTexCoord1svARB) #define glMultiTexCoord2dARB GLEW_GET_FUN(__glewMultiTexCoord2dARB) #define glMultiTexCoord2dvARB GLEW_GET_FUN(__glewMultiTexCoord2dvARB) #define glMultiTexCoord2fARB GLEW_GET_FUN(__glewMultiTexCoord2fARB) #define glMultiTexCoord2fvARB GLEW_GET_FUN(__glewMultiTexCoord2fvARB) #define glMultiTexCoord2iARB GLEW_GET_FUN(__glewMultiTexCoord2iARB) #define glMultiTexCoord2ivARB GLEW_GET_FUN(__glewMultiTexCoord2ivARB) #define glMultiTexCoord2sARB GLEW_GET_FUN(__glewMultiTexCoord2sARB) #define glMultiTexCoord2svARB GLEW_GET_FUN(__glewMultiTexCoord2svARB) #define glMultiTexCoord3dARB GLEW_GET_FUN(__glewMultiTexCoord3dARB) #define glMultiTexCoord3dvARB GLEW_GET_FUN(__glewMultiTexCoord3dvARB) #define glMultiTexCoord3fARB GLEW_GET_FUN(__glewMultiTexCoord3fARB) #define glMultiTexCoord3fvARB GLEW_GET_FUN(__glewMultiTexCoord3fvARB) #define glMultiTexCoord3iARB GLEW_GET_FUN(__glewMultiTexCoord3iARB) #define glMultiTexCoord3ivARB GLEW_GET_FUN(__glewMultiTexCoord3ivARB) #define glMultiTexCoord3sARB GLEW_GET_FUN(__glewMultiTexCoord3sARB) #define glMultiTexCoord3svARB GLEW_GET_FUN(__glewMultiTexCoord3svARB) #define glMultiTexCoord4dARB GLEW_GET_FUN(__glewMultiTexCoord4dARB) #define glMultiTexCoord4dvARB GLEW_GET_FUN(__glewMultiTexCoord4dvARB) #define glMultiTexCoord4fARB GLEW_GET_FUN(__glewMultiTexCoord4fARB) #define glMultiTexCoord4fvARB GLEW_GET_FUN(__glewMultiTexCoord4fvARB) #define glMultiTexCoord4iARB GLEW_GET_FUN(__glewMultiTexCoord4iARB) #define glMultiTexCoord4ivARB GLEW_GET_FUN(__glewMultiTexCoord4ivARB) #define glMultiTexCoord4sARB GLEW_GET_FUN(__glewMultiTexCoord4sARB) #define glMultiTexCoord4svARB GLEW_GET_FUN(__glewMultiTexCoord4svARB) #define GLEW_ARB_multitexture GLEW_GET_VAR(__GLEW_ARB_multitexture) #endif /* GL_ARB_multitexture */ /* ------------------------- GL_ARB_occlusion_query ------------------------ */ #ifndef GL_ARB_occlusion_query #define GL_ARB_occlusion_query 1 #define GL_QUERY_COUNTER_BITS_ARB 0x8864 #define GL_CURRENT_QUERY_ARB 0x8865 #define GL_QUERY_RESULT_ARB 0x8866 #define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 #define GL_SAMPLES_PASSED_ARB 0x8914 typedef void (GLAPIENTRY * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id); typedef void (GLAPIENTRY * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint* ids); typedef void (GLAPIENTRY * PFNGLENDQUERYARBPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint* ids); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint* params); typedef void (GLAPIENTRY * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id); #define glBeginQueryARB GLEW_GET_FUN(__glewBeginQueryARB) #define glDeleteQueriesARB GLEW_GET_FUN(__glewDeleteQueriesARB) #define glEndQueryARB GLEW_GET_FUN(__glewEndQueryARB) #define glGenQueriesARB GLEW_GET_FUN(__glewGenQueriesARB) #define glGetQueryObjectivARB GLEW_GET_FUN(__glewGetQueryObjectivARB) #define glGetQueryObjectuivARB GLEW_GET_FUN(__glewGetQueryObjectuivARB) #define glGetQueryivARB GLEW_GET_FUN(__glewGetQueryivARB) #define glIsQueryARB GLEW_GET_FUN(__glewIsQueryARB) #define GLEW_ARB_occlusion_query GLEW_GET_VAR(__GLEW_ARB_occlusion_query) #endif /* GL_ARB_occlusion_query */ /* ------------------------ GL_ARB_occlusion_query2 ------------------------ */ #ifndef GL_ARB_occlusion_query2 #define GL_ARB_occlusion_query2 1 #define GL_ANY_SAMPLES_PASSED 0x8C2F #define GLEW_ARB_occlusion_query2 GLEW_GET_VAR(__GLEW_ARB_occlusion_query2) #endif /* GL_ARB_occlusion_query2 */ /* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */ #ifndef GL_ARB_pixel_buffer_object #define GL_ARB_pixel_buffer_object 1 #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC #define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF #define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object) #endif /* GL_ARB_pixel_buffer_object */ /* ------------------------ GL_ARB_point_parameters ------------------------ */ #ifndef GL_ARB_point_parameters #define GL_ARB_point_parameters 1 #define GL_POINT_SIZE_MIN_ARB 0x8126 #define GL_POINT_SIZE_MAX_ARB 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat* params); #define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB) #define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB) #define GLEW_ARB_point_parameters GLEW_GET_VAR(__GLEW_ARB_point_parameters) #endif /* GL_ARB_point_parameters */ /* -------------------------- GL_ARB_point_sprite -------------------------- */ #ifndef GL_ARB_point_sprite #define GL_ARB_point_sprite 1 #define GL_POINT_SPRITE_ARB 0x8861 #define GL_COORD_REPLACE_ARB 0x8862 #define GLEW_ARB_point_sprite GLEW_GET_VAR(__GLEW_ARB_point_sprite) #endif /* GL_ARB_point_sprite */ /* --------------------- GL_ARB_program_interface_query -------------------- */ #ifndef GL_ARB_program_interface_query #define GL_ARB_program_interface_query 1 #define GL_UNIFORM 0x92E1 #define GL_UNIFORM_BLOCK 0x92E2 #define GL_PROGRAM_INPUT 0x92E3 #define GL_PROGRAM_OUTPUT 0x92E4 #define GL_BUFFER_VARIABLE 0x92E5 #define GL_SHADER_STORAGE_BLOCK 0x92E6 #define GL_IS_PER_PATCH 0x92E7 #define GL_VERTEX_SUBROUTINE 0x92E8 #define GL_TESS_CONTROL_SUBROUTINE 0x92E9 #define GL_TESS_EVALUATION_SUBROUTINE 0x92EA #define GL_GEOMETRY_SUBROUTINE 0x92EB #define GL_FRAGMENT_SUBROUTINE 0x92EC #define GL_COMPUTE_SUBROUTINE 0x92ED #define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE #define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF #define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 #define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 #define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 #define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 #define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 #define GL_ACTIVE_RESOURCES 0x92F5 #define GL_MAX_NAME_LENGTH 0x92F6 #define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 #define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 #define GL_NAME_LENGTH 0x92F9 #define GL_TYPE 0x92FA #define GL_ARRAY_SIZE 0x92FB #define GL_OFFSET 0x92FC #define GL_BLOCK_INDEX 0x92FD #define GL_ARRAY_STRIDE 0x92FE #define GL_MATRIX_STRIDE 0x92FF #define GL_IS_ROW_MAJOR 0x9300 #define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 #define GL_BUFFER_BINDING 0x9302 #define GL_BUFFER_DATA_SIZE 0x9303 #define GL_NUM_ACTIVE_VARIABLES 0x9304 #define GL_ACTIVE_VARIABLES 0x9305 #define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 #define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 #define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 #define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 #define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A #define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B #define GL_TOP_LEVEL_ARRAY_SIZE 0x930C #define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D #define GL_LOCATION 0x930E #define GL_LOCATION_INDEX 0x930F typedef void (GLAPIENTRY * PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint* params); typedef GLuint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar* name); typedef GLint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar* name); typedef GLint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar* name); typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar *name); typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei *length, GLint *params); #define glGetProgramInterfaceiv GLEW_GET_FUN(__glewGetProgramInterfaceiv) #define glGetProgramResourceIndex GLEW_GET_FUN(__glewGetProgramResourceIndex) #define glGetProgramResourceLocation GLEW_GET_FUN(__glewGetProgramResourceLocation) #define glGetProgramResourceLocationIndex GLEW_GET_FUN(__glewGetProgramResourceLocationIndex) #define glGetProgramResourceName GLEW_GET_FUN(__glewGetProgramResourceName) #define glGetProgramResourceiv GLEW_GET_FUN(__glewGetProgramResourceiv) #define GLEW_ARB_program_interface_query GLEW_GET_VAR(__GLEW_ARB_program_interface_query) #endif /* GL_ARB_program_interface_query */ /* ------------------------ GL_ARB_provoking_vertex ------------------------ */ #ifndef GL_ARB_provoking_vertex #define GL_ARB_provoking_vertex 1 #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C #define GL_FIRST_VERTEX_CONVENTION 0x8E4D #define GL_LAST_VERTEX_CONVENTION 0x8E4E #define GL_PROVOKING_VERTEX 0x8E4F typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXPROC) (GLenum mode); #define glProvokingVertex GLEW_GET_FUN(__glewProvokingVertex) #define GLEW_ARB_provoking_vertex GLEW_GET_VAR(__GLEW_ARB_provoking_vertex) #endif /* GL_ARB_provoking_vertex */ /* ----------------------- GL_ARB_query_buffer_object ---------------------- */ #ifndef GL_ARB_query_buffer_object #define GL_ARB_query_buffer_object 1 #define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 #define GL_QUERY_BUFFER 0x9192 #define GL_QUERY_BUFFER_BINDING 0x9193 #define GL_QUERY_RESULT_NO_WAIT 0x9194 #define GLEW_ARB_query_buffer_object GLEW_GET_VAR(__GLEW_ARB_query_buffer_object) #endif /* GL_ARB_query_buffer_object */ /* ------------------ GL_ARB_robust_buffer_access_behavior ----------------- */ #ifndef GL_ARB_robust_buffer_access_behavior #define GL_ARB_robust_buffer_access_behavior 1 #define GLEW_ARB_robust_buffer_access_behavior GLEW_GET_VAR(__GLEW_ARB_robust_buffer_access_behavior) #endif /* GL_ARB_robust_buffer_access_behavior */ /* --------------------------- GL_ARB_robustness --------------------------- */ #ifndef GL_ARB_robustness #define GL_ARB_robustness 1 #define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 #define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 #define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 #define GL_NO_RESET_NOTIFICATION_ARB 0x8261 typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void); typedef void (GLAPIENTRY * PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table); typedef void (GLAPIENTRY * PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, void* img); typedef void (GLAPIENTRY * PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image); typedef void (GLAPIENTRY * PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); typedef void (GLAPIENTRY * PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble* v); typedef void (GLAPIENTRY * PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat* v); typedef void (GLAPIENTRY * PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint* v); typedef void (GLAPIENTRY * PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat* values); typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint* values); typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort* values); typedef void (GLAPIENTRY * PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte* pattern); typedef void (GLAPIENTRY * PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, GLvoid*column, GLvoid*span); typedef void (GLAPIENTRY * PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img); typedef void (GLAPIENTRY * PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint* params); typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint* params); typedef void (GLAPIENTRY * PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data); #define glGetGraphicsResetStatusARB GLEW_GET_FUN(__glewGetGraphicsResetStatusARB) #define glGetnColorTableARB GLEW_GET_FUN(__glewGetnColorTableARB) #define glGetnCompressedTexImageARB GLEW_GET_FUN(__glewGetnCompressedTexImageARB) #define glGetnConvolutionFilterARB GLEW_GET_FUN(__glewGetnConvolutionFilterARB) #define glGetnHistogramARB GLEW_GET_FUN(__glewGetnHistogramARB) #define glGetnMapdvARB GLEW_GET_FUN(__glewGetnMapdvARB) #define glGetnMapfvARB GLEW_GET_FUN(__glewGetnMapfvARB) #define glGetnMapivARB GLEW_GET_FUN(__glewGetnMapivARB) #define glGetnMinmaxARB GLEW_GET_FUN(__glewGetnMinmaxARB) #define glGetnPixelMapfvARB GLEW_GET_FUN(__glewGetnPixelMapfvARB) #define glGetnPixelMapuivARB GLEW_GET_FUN(__glewGetnPixelMapuivARB) #define glGetnPixelMapusvARB GLEW_GET_FUN(__glewGetnPixelMapusvARB) #define glGetnPolygonStippleARB GLEW_GET_FUN(__glewGetnPolygonStippleARB) #define glGetnSeparableFilterARB GLEW_GET_FUN(__glewGetnSeparableFilterARB) #define glGetnTexImageARB GLEW_GET_FUN(__glewGetnTexImageARB) #define glGetnUniformdvARB GLEW_GET_FUN(__glewGetnUniformdvARB) #define glGetnUniformfvARB GLEW_GET_FUN(__glewGetnUniformfvARB) #define glGetnUniformivARB GLEW_GET_FUN(__glewGetnUniformivARB) #define glGetnUniformuivARB GLEW_GET_FUN(__glewGetnUniformuivARB) #define glReadnPixelsARB GLEW_GET_FUN(__glewReadnPixelsARB) #define GLEW_ARB_robustness GLEW_GET_VAR(__GLEW_ARB_robustness) #endif /* GL_ARB_robustness */ /* ---------------- GL_ARB_robustness_application_isolation ---------------- */ #ifndef GL_ARB_robustness_application_isolation #define GL_ARB_robustness_application_isolation 1 #define GLEW_ARB_robustness_application_isolation GLEW_GET_VAR(__GLEW_ARB_robustness_application_isolation) #endif /* GL_ARB_robustness_application_isolation */ /* ---------------- GL_ARB_robustness_share_group_isolation ---------------- */ #ifndef GL_ARB_robustness_share_group_isolation #define GL_ARB_robustness_share_group_isolation 1 #define GLEW_ARB_robustness_share_group_isolation GLEW_GET_VAR(__GLEW_ARB_robustness_share_group_isolation) #endif /* GL_ARB_robustness_share_group_isolation */ /* ------------------------- GL_ARB_sample_shading ------------------------- */ #ifndef GL_ARB_sample_shading #define GL_ARB_sample_shading 1 #define GL_SAMPLE_SHADING_ARB 0x8C36 #define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value); #define glMinSampleShadingARB GLEW_GET_FUN(__glewMinSampleShadingARB) #define GLEW_ARB_sample_shading GLEW_GET_VAR(__GLEW_ARB_sample_shading) #endif /* GL_ARB_sample_shading */ /* ------------------------- GL_ARB_sampler_objects ------------------------ */ #ifndef GL_ARB_sampler_objects #define GL_ARB_sampler_objects 1 #define GL_SAMPLER_BINDING 0x8919 typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers); typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers); typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint* params); typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler); typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint* params); typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* params); #define glBindSampler GLEW_GET_FUN(__glewBindSampler) #define glDeleteSamplers GLEW_GET_FUN(__glewDeleteSamplers) #define glGenSamplers GLEW_GET_FUN(__glewGenSamplers) #define glGetSamplerParameterIiv GLEW_GET_FUN(__glewGetSamplerParameterIiv) #define glGetSamplerParameterIuiv GLEW_GET_FUN(__glewGetSamplerParameterIuiv) #define glGetSamplerParameterfv GLEW_GET_FUN(__glewGetSamplerParameterfv) #define glGetSamplerParameteriv GLEW_GET_FUN(__glewGetSamplerParameteriv) #define glIsSampler GLEW_GET_FUN(__glewIsSampler) #define glSamplerParameterIiv GLEW_GET_FUN(__glewSamplerParameterIiv) #define glSamplerParameterIuiv GLEW_GET_FUN(__glewSamplerParameterIuiv) #define glSamplerParameterf GLEW_GET_FUN(__glewSamplerParameterf) #define glSamplerParameterfv GLEW_GET_FUN(__glewSamplerParameterfv) #define glSamplerParameteri GLEW_GET_FUN(__glewSamplerParameteri) #define glSamplerParameteriv GLEW_GET_FUN(__glewSamplerParameteriv) #define GLEW_ARB_sampler_objects GLEW_GET_VAR(__GLEW_ARB_sampler_objects) #endif /* GL_ARB_sampler_objects */ /* ------------------------ GL_ARB_seamless_cube_map ----------------------- */ #ifndef GL_ARB_seamless_cube_map #define GL_ARB_seamless_cube_map 1 #define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F #define GLEW_ARB_seamless_cube_map GLEW_GET_VAR(__GLEW_ARB_seamless_cube_map) #endif /* GL_ARB_seamless_cube_map */ /* ------------------ GL_ARB_seamless_cubemap_per_texture ------------------ */ #ifndef GL_ARB_seamless_cubemap_per_texture #define GL_ARB_seamless_cubemap_per_texture 1 #define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F #define GLEW_ARB_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_ARB_seamless_cubemap_per_texture) #endif /* GL_ARB_seamless_cubemap_per_texture */ /* --------------------- GL_ARB_separate_shader_objects -------------------- */ #ifndef GL_ARB_separate_shader_objects #define GL_ARB_separate_shader_objects 1 #define GL_VERTEX_SHADER_BIT 0x00000001 #define GL_FRAGMENT_SHADER_BIT 0x00000002 #define GL_GEOMETRY_SHADER_BIT 0x00000004 #define GL_TESS_CONTROL_SHADER_BIT 0x00000008 #define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 #define GL_PROGRAM_SEPARABLE 0x8258 #define GL_ACTIVE_PROGRAM 0x8259 #define GL_PROGRAM_PIPELINE_BINDING 0x825A #define GL_ALL_SHADER_BITS 0xFFFFFFFF typedef void (GLAPIENTRY * PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program); typedef void (GLAPIENTRY * PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline); typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar ** strings); typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint* pipelines); typedef void (GLAPIENTRY * PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines); typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar *infoLog); typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble x); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat x); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint x); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint x); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint x, GLint y); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint x, GLuint y); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program); typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline); #define glActiveShaderProgram GLEW_GET_FUN(__glewActiveShaderProgram) #define glBindProgramPipeline GLEW_GET_FUN(__glewBindProgramPipeline) #define glCreateShaderProgramv GLEW_GET_FUN(__glewCreateShaderProgramv) #define glDeleteProgramPipelines GLEW_GET_FUN(__glewDeleteProgramPipelines) #define glGenProgramPipelines GLEW_GET_FUN(__glewGenProgramPipelines) #define glGetProgramPipelineInfoLog GLEW_GET_FUN(__glewGetProgramPipelineInfoLog) #define glGetProgramPipelineiv GLEW_GET_FUN(__glewGetProgramPipelineiv) #define glIsProgramPipeline GLEW_GET_FUN(__glewIsProgramPipeline) #define glProgramUniform1d GLEW_GET_FUN(__glewProgramUniform1d) #define glProgramUniform1dv GLEW_GET_FUN(__glewProgramUniform1dv) #define glProgramUniform1f GLEW_GET_FUN(__glewProgramUniform1f) #define glProgramUniform1fv GLEW_GET_FUN(__glewProgramUniform1fv) #define glProgramUniform1i GLEW_GET_FUN(__glewProgramUniform1i) #define glProgramUniform1iv GLEW_GET_FUN(__glewProgramUniform1iv) #define glProgramUniform1ui GLEW_GET_FUN(__glewProgramUniform1ui) #define glProgramUniform1uiv GLEW_GET_FUN(__glewProgramUniform1uiv) #define glProgramUniform2d GLEW_GET_FUN(__glewProgramUniform2d) #define glProgramUniform2dv GLEW_GET_FUN(__glewProgramUniform2dv) #define glProgramUniform2f GLEW_GET_FUN(__glewProgramUniform2f) #define glProgramUniform2fv GLEW_GET_FUN(__glewProgramUniform2fv) #define glProgramUniform2i GLEW_GET_FUN(__glewProgramUniform2i) #define glProgramUniform2iv GLEW_GET_FUN(__glewProgramUniform2iv) #define glProgramUniform2ui GLEW_GET_FUN(__glewProgramUniform2ui) #define glProgramUniform2uiv GLEW_GET_FUN(__glewProgramUniform2uiv) #define glProgramUniform3d GLEW_GET_FUN(__glewProgramUniform3d) #define glProgramUniform3dv GLEW_GET_FUN(__glewProgramUniform3dv) #define glProgramUniform3f GLEW_GET_FUN(__glewProgramUniform3f) #define glProgramUniform3fv GLEW_GET_FUN(__glewProgramUniform3fv) #define glProgramUniform3i GLEW_GET_FUN(__glewProgramUniform3i) #define glProgramUniform3iv GLEW_GET_FUN(__glewProgramUniform3iv) #define glProgramUniform3ui GLEW_GET_FUN(__glewProgramUniform3ui) #define glProgramUniform3uiv GLEW_GET_FUN(__glewProgramUniform3uiv) #define glProgramUniform4d GLEW_GET_FUN(__glewProgramUniform4d) #define glProgramUniform4dv GLEW_GET_FUN(__glewProgramUniform4dv) #define glProgramUniform4f GLEW_GET_FUN(__glewProgramUniform4f) #define glProgramUniform4fv GLEW_GET_FUN(__glewProgramUniform4fv) #define glProgramUniform4i GLEW_GET_FUN(__glewProgramUniform4i) #define glProgramUniform4iv GLEW_GET_FUN(__glewProgramUniform4iv) #define glProgramUniform4ui GLEW_GET_FUN(__glewProgramUniform4ui) #define glProgramUniform4uiv GLEW_GET_FUN(__glewProgramUniform4uiv) #define glProgramUniformMatrix2dv GLEW_GET_FUN(__glewProgramUniformMatrix2dv) #define glProgramUniformMatrix2fv GLEW_GET_FUN(__glewProgramUniformMatrix2fv) #define glProgramUniformMatrix2x3dv GLEW_GET_FUN(__glewProgramUniformMatrix2x3dv) #define glProgramUniformMatrix2x3fv GLEW_GET_FUN(__glewProgramUniformMatrix2x3fv) #define glProgramUniformMatrix2x4dv GLEW_GET_FUN(__glewProgramUniformMatrix2x4dv) #define glProgramUniformMatrix2x4fv GLEW_GET_FUN(__glewProgramUniformMatrix2x4fv) #define glProgramUniformMatrix3dv GLEW_GET_FUN(__glewProgramUniformMatrix3dv) #define glProgramUniformMatrix3fv GLEW_GET_FUN(__glewProgramUniformMatrix3fv) #define glProgramUniformMatrix3x2dv GLEW_GET_FUN(__glewProgramUniformMatrix3x2dv) #define glProgramUniformMatrix3x2fv GLEW_GET_FUN(__glewProgramUniformMatrix3x2fv) #define glProgramUniformMatrix3x4dv GLEW_GET_FUN(__glewProgramUniformMatrix3x4dv) #define glProgramUniformMatrix3x4fv GLEW_GET_FUN(__glewProgramUniformMatrix3x4fv) #define glProgramUniformMatrix4dv GLEW_GET_FUN(__glewProgramUniformMatrix4dv) #define glProgramUniformMatrix4fv GLEW_GET_FUN(__glewProgramUniformMatrix4fv) #define glProgramUniformMatrix4x2dv GLEW_GET_FUN(__glewProgramUniformMatrix4x2dv) #define glProgramUniformMatrix4x2fv GLEW_GET_FUN(__glewProgramUniformMatrix4x2fv) #define glProgramUniformMatrix4x3dv GLEW_GET_FUN(__glewProgramUniformMatrix4x3dv) #define glProgramUniformMatrix4x3fv GLEW_GET_FUN(__glewProgramUniformMatrix4x3fv) #define glUseProgramStages GLEW_GET_FUN(__glewUseProgramStages) #define glValidateProgramPipeline GLEW_GET_FUN(__glewValidateProgramPipeline) #define GLEW_ARB_separate_shader_objects GLEW_GET_VAR(__GLEW_ARB_separate_shader_objects) #endif /* GL_ARB_separate_shader_objects */ /* --------------------- GL_ARB_shader_atomic_counters --------------------- */ #ifndef GL_ARB_shader_atomic_counters #define GL_ARB_shader_atomic_counters 1 #define GL_ATOMIC_COUNTER_BUFFER 0x92C0 #define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 #define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 #define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 #define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB #define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE #define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF #define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 #define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 #define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 #define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 #define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 #define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 #define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 #define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 #define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA #define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB #define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC typedef void (GLAPIENTRY * PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint* params); #define glGetActiveAtomicCounterBufferiv GLEW_GET_FUN(__glewGetActiveAtomicCounterBufferiv) #define GLEW_ARB_shader_atomic_counters GLEW_GET_VAR(__GLEW_ARB_shader_atomic_counters) #endif /* GL_ARB_shader_atomic_counters */ /* ----------------------- GL_ARB_shader_bit_encoding ---------------------- */ #ifndef GL_ARB_shader_bit_encoding #define GL_ARB_shader_bit_encoding 1 #define GLEW_ARB_shader_bit_encoding GLEW_GET_VAR(__GLEW_ARB_shader_bit_encoding) #endif /* GL_ARB_shader_bit_encoding */ /* --------------------- GL_ARB_shader_draw_parameters --------------------- */ #ifndef GL_ARB_shader_draw_parameters #define GL_ARB_shader_draw_parameters 1 #define GLEW_ARB_shader_draw_parameters GLEW_GET_VAR(__GLEW_ARB_shader_draw_parameters) #endif /* GL_ARB_shader_draw_parameters */ /* ------------------------ GL_ARB_shader_group_vote ----------------------- */ #ifndef GL_ARB_shader_group_vote #define GL_ARB_shader_group_vote 1 #define GLEW_ARB_shader_group_vote GLEW_GET_VAR(__GLEW_ARB_shader_group_vote) #endif /* GL_ARB_shader_group_vote */ /* --------------------- GL_ARB_shader_image_load_store -------------------- */ #ifndef GL_ARB_shader_image_load_store #define GL_ARB_shader_image_load_store 1 #define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 #define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 #define GL_UNIFORM_BARRIER_BIT 0x00000004 #define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 #define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 #define GL_COMMAND_BARRIER_BIT 0x00000040 #define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 #define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 #define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 #define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 #define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 #define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 #define GL_MAX_IMAGE_UNITS 0x8F38 #define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 #define GL_IMAGE_BINDING_NAME 0x8F3A #define GL_IMAGE_BINDING_LEVEL 0x8F3B #define GL_IMAGE_BINDING_LAYERED 0x8F3C #define GL_IMAGE_BINDING_LAYER 0x8F3D #define GL_IMAGE_BINDING_ACCESS 0x8F3E #define GL_IMAGE_1D 0x904C #define GL_IMAGE_2D 0x904D #define GL_IMAGE_3D 0x904E #define GL_IMAGE_2D_RECT 0x904F #define GL_IMAGE_CUBE 0x9050 #define GL_IMAGE_BUFFER 0x9051 #define GL_IMAGE_1D_ARRAY 0x9052 #define GL_IMAGE_2D_ARRAY 0x9053 #define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 #define GL_IMAGE_2D_MULTISAMPLE 0x9055 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 #define GL_INT_IMAGE_1D 0x9057 #define GL_INT_IMAGE_2D 0x9058 #define GL_INT_IMAGE_3D 0x9059 #define GL_INT_IMAGE_2D_RECT 0x905A #define GL_INT_IMAGE_CUBE 0x905B #define GL_INT_IMAGE_BUFFER 0x905C #define GL_INT_IMAGE_1D_ARRAY 0x905D #define GL_INT_IMAGE_2D_ARRAY 0x905E #define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F #define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 #define GL_UNSIGNED_INT_IMAGE_1D 0x9062 #define GL_UNSIGNED_INT_IMAGE_2D 0x9063 #define GL_UNSIGNED_INT_IMAGE_3D 0x9064 #define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 #define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 #define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C #define GL_MAX_IMAGE_SAMPLES 0x906D #define GL_IMAGE_BINDING_FORMAT 0x906E #define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 #define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA #define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB #define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC #define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD #define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE #define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF #define GL_ALL_BARRIER_BITS 0xFFFFFFFF typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); typedef void (GLAPIENTRY * PFNGLMEMORYBARRIERPROC) (GLbitfield barriers); #define glBindImageTexture GLEW_GET_FUN(__glewBindImageTexture) #define glMemoryBarrier GLEW_GET_FUN(__glewMemoryBarrier) #define GLEW_ARB_shader_image_load_store GLEW_GET_VAR(__GLEW_ARB_shader_image_load_store) #endif /* GL_ARB_shader_image_load_store */ /* ------------------------ GL_ARB_shader_image_size ----------------------- */ #ifndef GL_ARB_shader_image_size #define GL_ARB_shader_image_size 1 #define GLEW_ARB_shader_image_size GLEW_GET_VAR(__GLEW_ARB_shader_image_size) #endif /* GL_ARB_shader_image_size */ /* ------------------------- GL_ARB_shader_objects ------------------------- */ #ifndef GL_ARB_shader_objects #define GL_ARB_shader_objects 1 #define GL_PROGRAM_OBJECT_ARB 0x8B40 #define GL_SHADER_OBJECT_ARB 0x8B48 #define GL_OBJECT_TYPE_ARB 0x8B4E #define GL_OBJECT_SUBTYPE_ARB 0x8B4F #define GL_FLOAT_VEC2_ARB 0x8B50 #define GL_FLOAT_VEC3_ARB 0x8B51 #define GL_FLOAT_VEC4_ARB 0x8B52 #define GL_INT_VEC2_ARB 0x8B53 #define GL_INT_VEC3_ARB 0x8B54 #define GL_INT_VEC4_ARB 0x8B55 #define GL_BOOL_ARB 0x8B56 #define GL_BOOL_VEC2_ARB 0x8B57 #define GL_BOOL_VEC3_ARB 0x8B58 #define GL_BOOL_VEC4_ARB 0x8B59 #define GL_FLOAT_MAT2_ARB 0x8B5A #define GL_FLOAT_MAT3_ARB 0x8B5B #define GL_FLOAT_MAT4_ARB 0x8B5C #define GL_SAMPLER_1D_ARB 0x8B5D #define GL_SAMPLER_2D_ARB 0x8B5E #define GL_SAMPLER_3D_ARB 0x8B5F #define GL_SAMPLER_CUBE_ARB 0x8B60 #define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 #define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 #define GL_SAMPLER_2D_RECT_ARB 0x8B63 #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 #define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 #define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 #define GL_OBJECT_LINK_STATUS_ARB 0x8B82 #define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 #define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 #define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 typedef char GLcharARB; typedef unsigned int GLhandleARB; typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj); typedef void (GLAPIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj); typedef GLhandleARB (GLAPIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void); typedef GLhandleARB (GLAPIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType); typedef void (GLAPIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj); typedef void (GLAPIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj); typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); typedef void (GLAPIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB *obj); typedef GLhandleARB (GLAPIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname); typedef void (GLAPIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *infoLog); typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *source); typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint* params); typedef void (GLAPIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj); typedef void (GLAPIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint *length); typedef void (GLAPIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0); typedef void (GLAPIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0); typedef void (GLAPIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1); typedef void (GLAPIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1); typedef void (GLAPIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (GLAPIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2); typedef void (GLAPIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (GLAPIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (GLAPIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj); typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj); #define glAttachObjectARB GLEW_GET_FUN(__glewAttachObjectARB) #define glCompileShaderARB GLEW_GET_FUN(__glewCompileShaderARB) #define glCreateProgramObjectARB GLEW_GET_FUN(__glewCreateProgramObjectARB) #define glCreateShaderObjectARB GLEW_GET_FUN(__glewCreateShaderObjectARB) #define glDeleteObjectARB GLEW_GET_FUN(__glewDeleteObjectARB) #define glDetachObjectARB GLEW_GET_FUN(__glewDetachObjectARB) #define glGetActiveUniformARB GLEW_GET_FUN(__glewGetActiveUniformARB) #define glGetAttachedObjectsARB GLEW_GET_FUN(__glewGetAttachedObjectsARB) #define glGetHandleARB GLEW_GET_FUN(__glewGetHandleARB) #define glGetInfoLogARB GLEW_GET_FUN(__glewGetInfoLogARB) #define glGetObjectParameterfvARB GLEW_GET_FUN(__glewGetObjectParameterfvARB) #define glGetObjectParameterivARB GLEW_GET_FUN(__glewGetObjectParameterivARB) #define glGetShaderSourceARB GLEW_GET_FUN(__glewGetShaderSourceARB) #define glGetUniformLocationARB GLEW_GET_FUN(__glewGetUniformLocationARB) #define glGetUniformfvARB GLEW_GET_FUN(__glewGetUniformfvARB) #define glGetUniformivARB GLEW_GET_FUN(__glewGetUniformivARB) #define glLinkProgramARB GLEW_GET_FUN(__glewLinkProgramARB) #define glShaderSourceARB GLEW_GET_FUN(__glewShaderSourceARB) #define glUniform1fARB GLEW_GET_FUN(__glewUniform1fARB) #define glUniform1fvARB GLEW_GET_FUN(__glewUniform1fvARB) #define glUniform1iARB GLEW_GET_FUN(__glewUniform1iARB) #define glUniform1ivARB GLEW_GET_FUN(__glewUniform1ivARB) #define glUniform2fARB GLEW_GET_FUN(__glewUniform2fARB) #define glUniform2fvARB GLEW_GET_FUN(__glewUniform2fvARB) #define glUniform2iARB GLEW_GET_FUN(__glewUniform2iARB) #define glUniform2ivARB GLEW_GET_FUN(__glewUniform2ivARB) #define glUniform3fARB GLEW_GET_FUN(__glewUniform3fARB) #define glUniform3fvARB GLEW_GET_FUN(__glewUniform3fvARB) #define glUniform3iARB GLEW_GET_FUN(__glewUniform3iARB) #define glUniform3ivARB GLEW_GET_FUN(__glewUniform3ivARB) #define glUniform4fARB GLEW_GET_FUN(__glewUniform4fARB) #define glUniform4fvARB GLEW_GET_FUN(__glewUniform4fvARB) #define glUniform4iARB GLEW_GET_FUN(__glewUniform4iARB) #define glUniform4ivARB GLEW_GET_FUN(__glewUniform4ivARB) #define glUniformMatrix2fvARB GLEW_GET_FUN(__glewUniformMatrix2fvARB) #define glUniformMatrix3fvARB GLEW_GET_FUN(__glewUniformMatrix3fvARB) #define glUniformMatrix4fvARB GLEW_GET_FUN(__glewUniformMatrix4fvARB) #define glUseProgramObjectARB GLEW_GET_FUN(__glewUseProgramObjectARB) #define glValidateProgramARB GLEW_GET_FUN(__glewValidateProgramARB) #define GLEW_ARB_shader_objects GLEW_GET_VAR(__GLEW_ARB_shader_objects) #endif /* GL_ARB_shader_objects */ /* ------------------------ GL_ARB_shader_precision ------------------------ */ #ifndef GL_ARB_shader_precision #define GL_ARB_shader_precision 1 #define GLEW_ARB_shader_precision GLEW_GET_VAR(__GLEW_ARB_shader_precision) #endif /* GL_ARB_shader_precision */ /* ---------------------- GL_ARB_shader_stencil_export --------------------- */ #ifndef GL_ARB_shader_stencil_export #define GL_ARB_shader_stencil_export 1 #define GLEW_ARB_shader_stencil_export GLEW_GET_VAR(__GLEW_ARB_shader_stencil_export) #endif /* GL_ARB_shader_stencil_export */ /* ------------------ GL_ARB_shader_storage_buffer_object ------------------ */ #ifndef GL_ARB_shader_storage_buffer_object #define GL_ARB_shader_storage_buffer_object 1 #define GL_SHADER_STORAGE_BARRIER_BIT 0x2000 #define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 #define GL_SHADER_STORAGE_BUFFER 0x90D2 #define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 #define GL_SHADER_STORAGE_BUFFER_START 0x90D4 #define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 #define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 #define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 #define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 #define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 #define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA #define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB #define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC #define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD #define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE #define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF typedef void (GLAPIENTRY * PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); #define glShaderStorageBlockBinding GLEW_GET_FUN(__glewShaderStorageBlockBinding) #define GLEW_ARB_shader_storage_buffer_object GLEW_GET_VAR(__GLEW_ARB_shader_storage_buffer_object) #endif /* GL_ARB_shader_storage_buffer_object */ /* ------------------------ GL_ARB_shader_subroutine ----------------------- */ #ifndef GL_ARB_shader_subroutine #define GL_ARB_shader_subroutine 1 #define GL_ACTIVE_SUBROUTINES 0x8DE5 #define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 #define GL_MAX_SUBROUTINES 0x8DE7 #define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 #define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 #define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 #define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 #define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A #define GL_COMPATIBLE_SUBROUTINES 0x8E4B typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name); typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name); typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values); typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint* values); typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar* name); typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar* name); typedef void (GLAPIENTRY * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint* params); typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint* indices); #define glGetActiveSubroutineName GLEW_GET_FUN(__glewGetActiveSubroutineName) #define glGetActiveSubroutineUniformName GLEW_GET_FUN(__glewGetActiveSubroutineUniformName) #define glGetActiveSubroutineUniformiv GLEW_GET_FUN(__glewGetActiveSubroutineUniformiv) #define glGetProgramStageiv GLEW_GET_FUN(__glewGetProgramStageiv) #define glGetSubroutineIndex GLEW_GET_FUN(__glewGetSubroutineIndex) #define glGetSubroutineUniformLocation GLEW_GET_FUN(__glewGetSubroutineUniformLocation) #define glGetUniformSubroutineuiv GLEW_GET_FUN(__glewGetUniformSubroutineuiv) #define glUniformSubroutinesuiv GLEW_GET_FUN(__glewUniformSubroutinesuiv) #define GLEW_ARB_shader_subroutine GLEW_GET_VAR(__GLEW_ARB_shader_subroutine) #endif /* GL_ARB_shader_subroutine */ /* ----------------------- GL_ARB_shader_texture_lod ----------------------- */ #ifndef GL_ARB_shader_texture_lod #define GL_ARB_shader_texture_lod 1 #define GLEW_ARB_shader_texture_lod GLEW_GET_VAR(__GLEW_ARB_shader_texture_lod) #endif /* GL_ARB_shader_texture_lod */ /* ---------------------- GL_ARB_shading_language_100 ---------------------- */ #ifndef GL_ARB_shading_language_100 #define GL_ARB_shading_language_100 1 #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C #define GLEW_ARB_shading_language_100 GLEW_GET_VAR(__GLEW_ARB_shading_language_100) #endif /* GL_ARB_shading_language_100 */ /* -------------------- GL_ARB_shading_language_420pack -------------------- */ #ifndef GL_ARB_shading_language_420pack #define GL_ARB_shading_language_420pack 1 #define GLEW_ARB_shading_language_420pack GLEW_GET_VAR(__GLEW_ARB_shading_language_420pack) #endif /* GL_ARB_shading_language_420pack */ /* -------------------- GL_ARB_shading_language_include -------------------- */ #ifndef GL_ARB_shading_language_include #define GL_ARB_shading_language_include 1 #define GL_SHADER_INCLUDE_ARB 0x8DAE #define GL_NAMED_STRING_LENGTH_ARB 0x8DE9 #define GL_NAMED_STRING_TYPE_ARB 0x8DEA typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* const *path, const GLint *length); typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name); typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name, GLsizei bufSize, GLint *stringlen, GLchar *string); typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar* name, GLenum pname, GLint *params); typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name); typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar* name, GLint stringlen, const GLchar *string); #define glCompileShaderIncludeARB GLEW_GET_FUN(__glewCompileShaderIncludeARB) #define glDeleteNamedStringARB GLEW_GET_FUN(__glewDeleteNamedStringARB) #define glGetNamedStringARB GLEW_GET_FUN(__glewGetNamedStringARB) #define glGetNamedStringivARB GLEW_GET_FUN(__glewGetNamedStringivARB) #define glIsNamedStringARB GLEW_GET_FUN(__glewIsNamedStringARB) #define glNamedStringARB GLEW_GET_FUN(__glewNamedStringARB) #define GLEW_ARB_shading_language_include GLEW_GET_VAR(__GLEW_ARB_shading_language_include) #endif /* GL_ARB_shading_language_include */ /* -------------------- GL_ARB_shading_language_packing -------------------- */ #ifndef GL_ARB_shading_language_packing #define GL_ARB_shading_language_packing 1 #define GLEW_ARB_shading_language_packing GLEW_GET_VAR(__GLEW_ARB_shading_language_packing) #endif /* GL_ARB_shading_language_packing */ /* ----------------------------- GL_ARB_shadow ----------------------------- */ #ifndef GL_ARB_shadow #define GL_ARB_shadow 1 #define GL_TEXTURE_COMPARE_MODE_ARB 0x884C #define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D #define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E #define GLEW_ARB_shadow GLEW_GET_VAR(__GLEW_ARB_shadow) #endif /* GL_ARB_shadow */ /* ------------------------- GL_ARB_shadow_ambient ------------------------- */ #ifndef GL_ARB_shadow_ambient #define GL_ARB_shadow_ambient 1 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF #define GLEW_ARB_shadow_ambient GLEW_GET_VAR(__GLEW_ARB_shadow_ambient) #endif /* GL_ARB_shadow_ambient */ /* ------------------------- GL_ARB_sparse_texture ------------------------- */ #ifndef GL_ARB_sparse_texture #define GL_ARB_sparse_texture 1 #define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195 #define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196 #define GL_VIRTUAL_PAGE_SIZE_Z_ARB 0x9197 #define GL_MAX_SPARSE_TEXTURE_SIZE_ARB 0x9198 #define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199 #define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A #define GL_TEXTURE_SPARSE_ARB 0x91A6 #define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7 #define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8 #define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9 #define GL_NUM_SPARSE_LEVELS_ARB 0x91AA typedef void (GLAPIENTRY * PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); typedef void (GLAPIENTRY * PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); #define glTexPageCommitmentARB GLEW_GET_FUN(__glewTexPageCommitmentARB) #define glTexturePageCommitmentEXT GLEW_GET_FUN(__glewTexturePageCommitmentEXT) #define GLEW_ARB_sparse_texture GLEW_GET_VAR(__GLEW_ARB_sparse_texture) #endif /* GL_ARB_sparse_texture */ /* ------------------------ GL_ARB_stencil_texturing ----------------------- */ #ifndef GL_ARB_stencil_texturing #define GL_ARB_stencil_texturing 1 #define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA #define GLEW_ARB_stencil_texturing GLEW_GET_VAR(__GLEW_ARB_stencil_texturing) #endif /* GL_ARB_stencil_texturing */ /* ------------------------------ GL_ARB_sync ------------------------------ */ #ifndef GL_ARB_sync #define GL_ARB_sync 1 #define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 #define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 #define GL_OBJECT_TYPE 0x9112 #define GL_SYNC_CONDITION 0x9113 #define GL_SYNC_STATUS 0x9114 #define GL_SYNC_FLAGS 0x9115 #define GL_SYNC_FENCE 0x9116 #define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 #define GL_UNSIGNALED 0x9118 #define GL_SIGNALED 0x9119 #define GL_ALREADY_SIGNALED 0x911A #define GL_TIMEOUT_EXPIRED 0x911B #define GL_CONDITION_SATISFIED 0x911C #define GL_WAIT_FAILED 0x911D #define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); typedef void (GLAPIENTRY * PFNGLDELETESYNCPROC) (GLsync GLsync); typedef GLsync (GLAPIENTRY * PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags); typedef void (GLAPIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64* params); typedef void (GLAPIENTRY * PFNGLGETSYNCIVPROC) (GLsync GLsync,GLenum pname,GLsizei bufSize,GLsizei* length, GLint *values); typedef GLboolean (GLAPIENTRY * PFNGLISSYNCPROC) (GLsync GLsync); typedef void (GLAPIENTRY * PFNGLWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); #define glClientWaitSync GLEW_GET_FUN(__glewClientWaitSync) #define glDeleteSync GLEW_GET_FUN(__glewDeleteSync) #define glFenceSync GLEW_GET_FUN(__glewFenceSync) #define glGetInteger64v GLEW_GET_FUN(__glewGetInteger64v) #define glGetSynciv GLEW_GET_FUN(__glewGetSynciv) #define glIsSync GLEW_GET_FUN(__glewIsSync) #define glWaitSync GLEW_GET_FUN(__glewWaitSync) #define GLEW_ARB_sync GLEW_GET_VAR(__GLEW_ARB_sync) #endif /* GL_ARB_sync */ /* ----------------------- GL_ARB_tessellation_shader ---------------------- */ #ifndef GL_ARB_tessellation_shader #define GL_ARB_tessellation_shader 1 #define GL_PATCHES 0xE #define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 #define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 #define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C #define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D #define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E #define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F #define GL_PATCH_VERTICES 0x8E72 #define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 #define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 #define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 #define GL_TESS_GEN_MODE 0x8E76 #define GL_TESS_GEN_SPACING 0x8E77 #define GL_TESS_GEN_VERTEX_ORDER 0x8E78 #define GL_TESS_GEN_POINT_MODE 0x8E79 #define GL_ISOLINES 0x8E7A #define GL_FRACTIONAL_ODD 0x8E7B #define GL_FRACTIONAL_EVEN 0x8E7C #define GL_MAX_PATCH_VERTICES 0x8E7D #define GL_MAX_TESS_GEN_LEVEL 0x8E7E #define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F #define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 #define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 #define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 #define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 #define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 #define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 #define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 #define GL_TESS_EVALUATION_SHADER 0x8E87 #define GL_TESS_CONTROL_SHADER 0x8E88 #define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 #define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat* values); typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value); #define glPatchParameterfv GLEW_GET_FUN(__glewPatchParameterfv) #define glPatchParameteri GLEW_GET_FUN(__glewPatchParameteri) #define GLEW_ARB_tessellation_shader GLEW_GET_VAR(__GLEW_ARB_tessellation_shader) #endif /* GL_ARB_tessellation_shader */ /* ---------------------- GL_ARB_texture_border_clamp ---------------------- */ #ifndef GL_ARB_texture_border_clamp #define GL_ARB_texture_border_clamp 1 #define GL_CLAMP_TO_BORDER_ARB 0x812D #define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(__GLEW_ARB_texture_border_clamp) #endif /* GL_ARB_texture_border_clamp */ /* ---------------------- GL_ARB_texture_buffer_object --------------------- */ #ifndef GL_ARB_texture_buffer_object #define GL_ARB_texture_buffer_object 1 #define GL_TEXTURE_BUFFER_ARB 0x8C2A #define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B #define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D #define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); #define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB) #define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object) #endif /* GL_ARB_texture_buffer_object */ /* ------------------- GL_ARB_texture_buffer_object_rgb32 ------------------ */ #ifndef GL_ARB_texture_buffer_object_rgb32 #define GL_ARB_texture_buffer_object_rgb32 1 #define GLEW_ARB_texture_buffer_object_rgb32 GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object_rgb32) #endif /* GL_ARB_texture_buffer_object_rgb32 */ /* ---------------------- GL_ARB_texture_buffer_range ---------------------- */ #ifndef GL_ARB_texture_buffer_range #define GL_ARB_texture_buffer_range 1 #define GL_TEXTURE_BUFFER_OFFSET 0x919D #define GL_TEXTURE_BUFFER_SIZE 0x919E #define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F typedef void (GLAPIENTRY * PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFERRANGEEXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); #define glTexBufferRange GLEW_GET_FUN(__glewTexBufferRange) #define glTextureBufferRangeEXT GLEW_GET_FUN(__glewTextureBufferRangeEXT) #define GLEW_ARB_texture_buffer_range GLEW_GET_VAR(__GLEW_ARB_texture_buffer_range) #endif /* GL_ARB_texture_buffer_range */ /* ----------------------- GL_ARB_texture_compression ---------------------- */ #ifndef GL_ARB_texture_compression #define GL_ARB_texture_compression 1 #define GL_COMPRESSED_ALPHA_ARB 0x84E9 #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB #define GL_COMPRESSED_INTENSITY_ARB 0x84EC #define GL_COMPRESSED_RGB_ARB 0x84ED #define GL_COMPRESSED_RGBA_ARB 0x84EE #define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 #define GL_TEXTURE_COMPRESSED_ARB 0x86A1 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLvoid *img); #define glCompressedTexImage1DARB GLEW_GET_FUN(__glewCompressedTexImage1DARB) #define glCompressedTexImage2DARB GLEW_GET_FUN(__glewCompressedTexImage2DARB) #define glCompressedTexImage3DARB GLEW_GET_FUN(__glewCompressedTexImage3DARB) #define glCompressedTexSubImage1DARB GLEW_GET_FUN(__glewCompressedTexSubImage1DARB) #define glCompressedTexSubImage2DARB GLEW_GET_FUN(__glewCompressedTexSubImage2DARB) #define glCompressedTexSubImage3DARB GLEW_GET_FUN(__glewCompressedTexSubImage3DARB) #define glGetCompressedTexImageARB GLEW_GET_FUN(__glewGetCompressedTexImageARB) #define GLEW_ARB_texture_compression GLEW_GET_VAR(__GLEW_ARB_texture_compression) #endif /* GL_ARB_texture_compression */ /* -------------------- GL_ARB_texture_compression_bptc -------------------- */ #ifndef GL_ARB_texture_compression_bptc #define GL_ARB_texture_compression_bptc 1 #define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C #define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D #define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E #define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F #define GLEW_ARB_texture_compression_bptc GLEW_GET_VAR(__GLEW_ARB_texture_compression_bptc) #endif /* GL_ARB_texture_compression_bptc */ /* -------------------- GL_ARB_texture_compression_rgtc -------------------- */ #ifndef GL_ARB_texture_compression_rgtc #define GL_ARB_texture_compression_rgtc 1 #define GL_COMPRESSED_RED_RGTC1 0x8DBB #define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC #define GL_COMPRESSED_RG_RGTC2 0x8DBD #define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE #define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc) #endif /* GL_ARB_texture_compression_rgtc */ /* ------------------------ GL_ARB_texture_cube_map ------------------------ */ #ifndef GL_ARB_texture_cube_map #define GL_ARB_texture_cube_map 1 #define GL_NORMAL_MAP_ARB 0x8511 #define GL_REFLECTION_MAP_ARB 0x8512 #define GL_TEXTURE_CUBE_MAP_ARB 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C #define GLEW_ARB_texture_cube_map GLEW_GET_VAR(__GLEW_ARB_texture_cube_map) #endif /* GL_ARB_texture_cube_map */ /* --------------------- GL_ARB_texture_cube_map_array --------------------- */ #ifndef GL_ARB_texture_cube_map_array #define GL_ARB_texture_cube_map_array 1 #define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009 #define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A #define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B #define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D #define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F #define GLEW_ARB_texture_cube_map_array GLEW_GET_VAR(__GLEW_ARB_texture_cube_map_array) #endif /* GL_ARB_texture_cube_map_array */ /* ------------------------- GL_ARB_texture_env_add ------------------------ */ #ifndef GL_ARB_texture_env_add #define GL_ARB_texture_env_add 1 #define GLEW_ARB_texture_env_add GLEW_GET_VAR(__GLEW_ARB_texture_env_add) #endif /* GL_ARB_texture_env_add */ /* ----------------------- GL_ARB_texture_env_combine ---------------------- */ #ifndef GL_ARB_texture_env_combine #define GL_ARB_texture_env_combine 1 #define GL_SUBTRACT_ARB 0x84E7 #define GL_COMBINE_ARB 0x8570 #define GL_COMBINE_RGB_ARB 0x8571 #define GL_COMBINE_ALPHA_ARB 0x8572 #define GL_RGB_SCALE_ARB 0x8573 #define GL_ADD_SIGNED_ARB 0x8574 #define GL_INTERPOLATE_ARB 0x8575 #define GL_CONSTANT_ARB 0x8576 #define GL_PRIMARY_COLOR_ARB 0x8577 #define GL_PREVIOUS_ARB 0x8578 #define GL_SOURCE0_RGB_ARB 0x8580 #define GL_SOURCE1_RGB_ARB 0x8581 #define GL_SOURCE2_RGB_ARB 0x8582 #define GL_SOURCE0_ALPHA_ARB 0x8588 #define GL_SOURCE1_ALPHA_ARB 0x8589 #define GL_SOURCE2_ALPHA_ARB 0x858A #define GL_OPERAND0_RGB_ARB 0x8590 #define GL_OPERAND1_RGB_ARB 0x8591 #define GL_OPERAND2_RGB_ARB 0x8592 #define GL_OPERAND0_ALPHA_ARB 0x8598 #define GL_OPERAND1_ALPHA_ARB 0x8599 #define GL_OPERAND2_ALPHA_ARB 0x859A #define GLEW_ARB_texture_env_combine GLEW_GET_VAR(__GLEW_ARB_texture_env_combine) #endif /* GL_ARB_texture_env_combine */ /* ---------------------- GL_ARB_texture_env_crossbar ---------------------- */ #ifndef GL_ARB_texture_env_crossbar #define GL_ARB_texture_env_crossbar 1 #define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(__GLEW_ARB_texture_env_crossbar) #endif /* GL_ARB_texture_env_crossbar */ /* ------------------------ GL_ARB_texture_env_dot3 ------------------------ */ #ifndef GL_ARB_texture_env_dot3 #define GL_ARB_texture_env_dot3 1 #define GL_DOT3_RGB_ARB 0x86AE #define GL_DOT3_RGBA_ARB 0x86AF #define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(__GLEW_ARB_texture_env_dot3) #endif /* GL_ARB_texture_env_dot3 */ /* -------------------------- GL_ARB_texture_float ------------------------- */ #ifndef GL_ARB_texture_float #define GL_ARB_texture_float 1 #define GL_RGBA32F_ARB 0x8814 #define GL_RGB32F_ARB 0x8815 #define GL_ALPHA32F_ARB 0x8816 #define GL_INTENSITY32F_ARB 0x8817 #define GL_LUMINANCE32F_ARB 0x8818 #define GL_LUMINANCE_ALPHA32F_ARB 0x8819 #define GL_RGBA16F_ARB 0x881A #define GL_RGB16F_ARB 0x881B #define GL_ALPHA16F_ARB 0x881C #define GL_INTENSITY16F_ARB 0x881D #define GL_LUMINANCE16F_ARB 0x881E #define GL_LUMINANCE_ALPHA16F_ARB 0x881F #define GL_TEXTURE_RED_TYPE_ARB 0x8C10 #define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 #define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 #define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 #define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 #define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 #define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 #define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 #define GLEW_ARB_texture_float GLEW_GET_VAR(__GLEW_ARB_texture_float) #endif /* GL_ARB_texture_float */ /* ------------------------- GL_ARB_texture_gather ------------------------- */ #ifndef GL_ARB_texture_gather #define GL_ARB_texture_gather 1 #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F #define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F #define GLEW_ARB_texture_gather GLEW_GET_VAR(__GLEW_ARB_texture_gather) #endif /* GL_ARB_texture_gather */ /* ------------------ GL_ARB_texture_mirror_clamp_to_edge ------------------ */ #ifndef GL_ARB_texture_mirror_clamp_to_edge #define GL_ARB_texture_mirror_clamp_to_edge 1 #define GL_MIRROR_CLAMP_TO_EDGE 0x8743 #define GLEW_ARB_texture_mirror_clamp_to_edge GLEW_GET_VAR(__GLEW_ARB_texture_mirror_clamp_to_edge) #endif /* GL_ARB_texture_mirror_clamp_to_edge */ /* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */ #ifndef GL_ARB_texture_mirrored_repeat #define GL_ARB_texture_mirrored_repeat 1 #define GL_MIRRORED_REPEAT_ARB 0x8370 #define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_ARB_texture_mirrored_repeat) #endif /* GL_ARB_texture_mirrored_repeat */ /* ----------------------- GL_ARB_texture_multisample ---------------------- */ #ifndef GL_ARB_texture_multisample #define GL_ARB_texture_multisample 1 #define GL_SAMPLE_POSITION 0x8E50 #define GL_SAMPLE_MASK 0x8E51 #define GL_SAMPLE_MASK_VALUE 0x8E52 #define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 #define GL_TEXTURE_2D_MULTISAMPLE 0x9100 #define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 #define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 #define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 #define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 #define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 #define GL_TEXTURE_SAMPLES 0x9106 #define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 #define GL_SAMPLER_2D_MULTISAMPLE 0x9108 #define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D #define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E #define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F #define GL_MAX_INTEGER_SAMPLES 0x9110 typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat* val); typedef void (GLAPIENTRY * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); #define glGetMultisamplefv GLEW_GET_FUN(__glewGetMultisamplefv) #define glSampleMaski GLEW_GET_FUN(__glewSampleMaski) #define glTexImage2DMultisample GLEW_GET_FUN(__glewTexImage2DMultisample) #define glTexImage3DMultisample GLEW_GET_FUN(__glewTexImage3DMultisample) #define GLEW_ARB_texture_multisample GLEW_GET_VAR(__GLEW_ARB_texture_multisample) #endif /* GL_ARB_texture_multisample */ /* -------------------- GL_ARB_texture_non_power_of_two -------------------- */ #ifndef GL_ARB_texture_non_power_of_two #define GL_ARB_texture_non_power_of_two 1 #define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(__GLEW_ARB_texture_non_power_of_two) #endif /* GL_ARB_texture_non_power_of_two */ /* ---------------------- GL_ARB_texture_query_levels ---------------------- */ #ifndef GL_ARB_texture_query_levels #define GL_ARB_texture_query_levels 1 #define GLEW_ARB_texture_query_levels GLEW_GET_VAR(__GLEW_ARB_texture_query_levels) #endif /* GL_ARB_texture_query_levels */ /* ------------------------ GL_ARB_texture_query_lod ----------------------- */ #ifndef GL_ARB_texture_query_lod #define GL_ARB_texture_query_lod 1 #define GLEW_ARB_texture_query_lod GLEW_GET_VAR(__GLEW_ARB_texture_query_lod) #endif /* GL_ARB_texture_query_lod */ /* ------------------------ GL_ARB_texture_rectangle ----------------------- */ #ifndef GL_ARB_texture_rectangle #define GL_ARB_texture_rectangle 1 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 #define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 #define GL_SAMPLER_2D_RECT_ARB 0x8B63 #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 #define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle) #endif /* GL_ARB_texture_rectangle */ /* --------------------------- GL_ARB_texture_rg --------------------------- */ #ifndef GL_ARB_texture_rg #define GL_ARB_texture_rg 1 #define GL_COMPRESSED_RED 0x8225 #define GL_COMPRESSED_RG 0x8226 #define GL_RG 0x8227 #define GL_RG_INTEGER 0x8228 #define GL_R8 0x8229 #define GL_R16 0x822A #define GL_RG8 0x822B #define GL_RG16 0x822C #define GL_R16F 0x822D #define GL_R32F 0x822E #define GL_RG16F 0x822F #define GL_RG32F 0x8230 #define GL_R8I 0x8231 #define GL_R8UI 0x8232 #define GL_R16I 0x8233 #define GL_R16UI 0x8234 #define GL_R32I 0x8235 #define GL_R32UI 0x8236 #define GL_RG8I 0x8237 #define GL_RG8UI 0x8238 #define GL_RG16I 0x8239 #define GL_RG16UI 0x823A #define GL_RG32I 0x823B #define GL_RG32UI 0x823C #define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg) #endif /* GL_ARB_texture_rg */ /* ----------------------- GL_ARB_texture_rgb10_a2ui ----------------------- */ #ifndef GL_ARB_texture_rgb10_a2ui #define GL_ARB_texture_rgb10_a2ui 1 #define GL_RGB10_A2UI 0x906F #define GLEW_ARB_texture_rgb10_a2ui GLEW_GET_VAR(__GLEW_ARB_texture_rgb10_a2ui) #endif /* GL_ARB_texture_rgb10_a2ui */ /* ------------------------ GL_ARB_texture_stencil8 ------------------------ */ #ifndef GL_ARB_texture_stencil8 #define GL_ARB_texture_stencil8 1 #define GL_STENCIL_INDEX 0x1901 #define GL_STENCIL_INDEX8 0x8D48 #define GLEW_ARB_texture_stencil8 GLEW_GET_VAR(__GLEW_ARB_texture_stencil8) #endif /* GL_ARB_texture_stencil8 */ /* ------------------------- GL_ARB_texture_storage ------------------------ */ #ifndef GL_ARB_texture_storage #define GL_ARB_texture_storage 1 #define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F typedef void (GLAPIENTRY * PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); #define glTexStorage1D GLEW_GET_FUN(__glewTexStorage1D) #define glTexStorage2D GLEW_GET_FUN(__glewTexStorage2D) #define glTexStorage3D GLEW_GET_FUN(__glewTexStorage3D) #define glTextureStorage1DEXT GLEW_GET_FUN(__glewTextureStorage1DEXT) #define glTextureStorage2DEXT GLEW_GET_FUN(__glewTextureStorage2DEXT) #define glTextureStorage3DEXT GLEW_GET_FUN(__glewTextureStorage3DEXT) #define GLEW_ARB_texture_storage GLEW_GET_VAR(__GLEW_ARB_texture_storage) #endif /* GL_ARB_texture_storage */ /* ------------------- GL_ARB_texture_storage_multisample ------------------ */ #ifndef GL_ARB_texture_storage_multisample #define GL_ARB_texture_storage_multisample 1 typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); #define glTexStorage2DMultisample GLEW_GET_FUN(__glewTexStorage2DMultisample) #define glTexStorage3DMultisample GLEW_GET_FUN(__glewTexStorage3DMultisample) #define glTextureStorage2DMultisampleEXT GLEW_GET_FUN(__glewTextureStorage2DMultisampleEXT) #define glTextureStorage3DMultisampleEXT GLEW_GET_FUN(__glewTextureStorage3DMultisampleEXT) #define GLEW_ARB_texture_storage_multisample GLEW_GET_VAR(__GLEW_ARB_texture_storage_multisample) #endif /* GL_ARB_texture_storage_multisample */ /* ------------------------- GL_ARB_texture_swizzle ------------------------ */ #ifndef GL_ARB_texture_swizzle #define GL_ARB_texture_swizzle 1 #define GL_TEXTURE_SWIZZLE_R 0x8E42 #define GL_TEXTURE_SWIZZLE_G 0x8E43 #define GL_TEXTURE_SWIZZLE_B 0x8E44 #define GL_TEXTURE_SWIZZLE_A 0x8E45 #define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 #define GLEW_ARB_texture_swizzle GLEW_GET_VAR(__GLEW_ARB_texture_swizzle) #endif /* GL_ARB_texture_swizzle */ /* -------------------------- GL_ARB_texture_view -------------------------- */ #ifndef GL_ARB_texture_view #define GL_ARB_texture_view 1 #define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB #define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC #define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD #define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE #define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF typedef void (GLAPIENTRY * PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); #define glTextureView GLEW_GET_FUN(__glewTextureView) #define GLEW_ARB_texture_view GLEW_GET_VAR(__GLEW_ARB_texture_view) #endif /* GL_ARB_texture_view */ /* --------------------------- GL_ARB_timer_query -------------------------- */ #ifndef GL_ARB_timer_query #define GL_ARB_timer_query 1 #define GL_TIME_ELAPSED 0x88BF #define GL_TIMESTAMP 0x8E28 typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params); typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); #define glGetQueryObjecti64v GLEW_GET_FUN(__glewGetQueryObjecti64v) #define glGetQueryObjectui64v GLEW_GET_FUN(__glewGetQueryObjectui64v) #define glQueryCounter GLEW_GET_FUN(__glewQueryCounter) #define GLEW_ARB_timer_query GLEW_GET_VAR(__GLEW_ARB_timer_query) #endif /* GL_ARB_timer_query */ /* ----------------------- GL_ARB_transform_feedback2 ---------------------- */ #ifndef GL_ARB_transform_feedback2 #define GL_ARB_transform_feedback2 1 #define GL_TRANSFORM_FEEDBACK 0x8E22 #define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 #define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 #define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids); typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id); typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (void); typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (void); #define glBindTransformFeedback GLEW_GET_FUN(__glewBindTransformFeedback) #define glDeleteTransformFeedbacks GLEW_GET_FUN(__glewDeleteTransformFeedbacks) #define glDrawTransformFeedback GLEW_GET_FUN(__glewDrawTransformFeedback) #define glGenTransformFeedbacks GLEW_GET_FUN(__glewGenTransformFeedbacks) #define glIsTransformFeedback GLEW_GET_FUN(__glewIsTransformFeedback) #define glPauseTransformFeedback GLEW_GET_FUN(__glewPauseTransformFeedback) #define glResumeTransformFeedback GLEW_GET_FUN(__glewResumeTransformFeedback) #define GLEW_ARB_transform_feedback2 GLEW_GET_VAR(__GLEW_ARB_transform_feedback2) #endif /* GL_ARB_transform_feedback2 */ /* ----------------------- GL_ARB_transform_feedback3 ---------------------- */ #ifndef GL_ARB_transform_feedback3 #define GL_ARB_transform_feedback3 1 #define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 #define GL_MAX_VERTEX_STREAMS 0x8E71 typedef void (GLAPIENTRY * PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id); typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream); typedef void (GLAPIENTRY * PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index); typedef void (GLAPIENTRY * PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); #define glBeginQueryIndexed GLEW_GET_FUN(__glewBeginQueryIndexed) #define glDrawTransformFeedbackStream GLEW_GET_FUN(__glewDrawTransformFeedbackStream) #define glEndQueryIndexed GLEW_GET_FUN(__glewEndQueryIndexed) #define glGetQueryIndexediv GLEW_GET_FUN(__glewGetQueryIndexediv) #define GLEW_ARB_transform_feedback3 GLEW_GET_VAR(__GLEW_ARB_transform_feedback3) #endif /* GL_ARB_transform_feedback3 */ /* ------------------ GL_ARB_transform_feedback_instanced ------------------ */ #ifndef GL_ARB_transform_feedback_instanced #define GL_ARB_transform_feedback_instanced 1 typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei primcount); #define glDrawTransformFeedbackInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackInstanced) #define glDrawTransformFeedbackStreamInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackStreamInstanced) #define GLEW_ARB_transform_feedback_instanced GLEW_GET_VAR(__GLEW_ARB_transform_feedback_instanced) #endif /* GL_ARB_transform_feedback_instanced */ /* ------------------------ GL_ARB_transpose_matrix ------------------------ */ #ifndef GL_ARB_transpose_matrix #define GL_ARB_transpose_matrix 1 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 #define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); #define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB) #define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB) #define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB) #define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB) #define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix) #endif /* GL_ARB_transpose_matrix */ /* ---------------------- GL_ARB_uniform_buffer_object --------------------- */ #ifndef GL_ARB_uniform_buffer_object #define GL_ARB_uniform_buffer_object 1 #define GL_UNIFORM_BUFFER 0x8A11 #define GL_UNIFORM_BUFFER_BINDING 0x8A28 #define GL_UNIFORM_BUFFER_START 0x8A29 #define GL_UNIFORM_BUFFER_SIZE 0x8A2A #define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B #define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D #define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E #define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F #define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 #define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 #define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 #define GL_UNIFORM_TYPE 0x8A37 #define GL_UNIFORM_SIZE 0x8A38 #define GL_UNIFORM_NAME_LENGTH 0x8A39 #define GL_UNIFORM_BLOCK_INDEX 0x8A3A #define GL_UNIFORM_OFFSET 0x8A3B #define GL_UNIFORM_ARRAY_STRIDE 0x8A3C #define GL_UNIFORM_MATRIX_STRIDE 0x8A3D #define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E #define GL_UNIFORM_BLOCK_BINDING 0x8A3F #define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 #define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 #define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 #define GL_INVALID_INDEX 0xFFFFFFFF typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName); typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint* data); typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName); typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices); typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); #define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase) #define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange) #define glGetActiveUniformBlockName GLEW_GET_FUN(__glewGetActiveUniformBlockName) #define glGetActiveUniformBlockiv GLEW_GET_FUN(__glewGetActiveUniformBlockiv) #define glGetActiveUniformName GLEW_GET_FUN(__glewGetActiveUniformName) #define glGetActiveUniformsiv GLEW_GET_FUN(__glewGetActiveUniformsiv) #define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v) #define glGetUniformBlockIndex GLEW_GET_FUN(__glewGetUniformBlockIndex) #define glGetUniformIndices GLEW_GET_FUN(__glewGetUniformIndices) #define glUniformBlockBinding GLEW_GET_FUN(__glewUniformBlockBinding) #define GLEW_ARB_uniform_buffer_object GLEW_GET_VAR(__GLEW_ARB_uniform_buffer_object) #endif /* GL_ARB_uniform_buffer_object */ /* ------------------------ GL_ARB_vertex_array_bgra ----------------------- */ #ifndef GL_ARB_vertex_array_bgra #define GL_ARB_vertex_array_bgra 1 #define GL_BGRA 0x80E1 #define GLEW_ARB_vertex_array_bgra GLEW_GET_VAR(__GLEW_ARB_vertex_array_bgra) #endif /* GL_ARB_vertex_array_bgra */ /* ----------------------- GL_ARB_vertex_array_object ---------------------- */ #ifndef GL_ARB_vertex_array_object #define GL_ARB_vertex_array_object 1 #define GL_VERTEX_ARRAY_BINDING 0x85B5 typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array); typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays); typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays); typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array); #define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray) #define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays) #define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays) #define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray) #define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object) #endif /* GL_ARB_vertex_array_object */ /* ----------------------- GL_ARB_vertex_attrib_64bit ---------------------- */ #ifndef GL_ARB_vertex_attrib_64bit #define GL_ARB_vertex_attrib_64bit 1 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer); #define glGetVertexAttribLdv GLEW_GET_FUN(__glewGetVertexAttribLdv) #define glVertexAttribL1d GLEW_GET_FUN(__glewVertexAttribL1d) #define glVertexAttribL1dv GLEW_GET_FUN(__glewVertexAttribL1dv) #define glVertexAttribL2d GLEW_GET_FUN(__glewVertexAttribL2d) #define glVertexAttribL2dv GLEW_GET_FUN(__glewVertexAttribL2dv) #define glVertexAttribL3d GLEW_GET_FUN(__glewVertexAttribL3d) #define glVertexAttribL3dv GLEW_GET_FUN(__glewVertexAttribL3dv) #define glVertexAttribL4d GLEW_GET_FUN(__glewVertexAttribL4d) #define glVertexAttribL4dv GLEW_GET_FUN(__glewVertexAttribL4dv) #define glVertexAttribLPointer GLEW_GET_FUN(__glewVertexAttribLPointer) #define GLEW_ARB_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_ARB_vertex_attrib_64bit) #endif /* GL_ARB_vertex_attrib_64bit */ /* ---------------------- GL_ARB_vertex_attrib_binding --------------------- */ #ifndef GL_ARB_vertex_attrib_binding #define GL_ARB_vertex_attrib_binding 1 #define GL_VERTEX_ATTRIB_BINDING 0x82D4 #define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 #define GL_VERTEX_BINDING_DIVISOR 0x82D6 #define GL_VERTEX_BINDING_OFFSET 0x82D7 #define GL_VERTEX_BINDING_STRIDE 0x82D8 #define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 #define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA typedef void (GLAPIENTRY * PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); typedef void (GLAPIENTRY * PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor); #define glBindVertexBuffer GLEW_GET_FUN(__glewBindVertexBuffer) #define glVertexAttribBinding GLEW_GET_FUN(__glewVertexAttribBinding) #define glVertexAttribFormat GLEW_GET_FUN(__glewVertexAttribFormat) #define glVertexAttribIFormat GLEW_GET_FUN(__glewVertexAttribIFormat) #define glVertexAttribLFormat GLEW_GET_FUN(__glewVertexAttribLFormat) #define glVertexBindingDivisor GLEW_GET_FUN(__glewVertexBindingDivisor) #define GLEW_ARB_vertex_attrib_binding GLEW_GET_VAR(__GLEW_ARB_vertex_attrib_binding) #endif /* GL_ARB_vertex_attrib_binding */ /* -------------------------- GL_ARB_vertex_blend -------------------------- */ #ifndef GL_ARB_vertex_blend #define GL_ARB_vertex_blend 1 #define GL_MODELVIEW0_ARB 0x1700 #define GL_MODELVIEW1_ARB 0x850A #define GL_MAX_VERTEX_UNITS_ARB 0x86A4 #define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 #define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 #define GL_VERTEX_BLEND_ARB 0x86A7 #define GL_CURRENT_WEIGHT_ARB 0x86A8 #define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 #define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA #define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB #define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC #define GL_WEIGHT_ARRAY_ARB 0x86AD #define GL_MODELVIEW2_ARB 0x8722 #define GL_MODELVIEW3_ARB 0x8723 #define GL_MODELVIEW4_ARB 0x8724 #define GL_MODELVIEW5_ARB 0x8725 #define GL_MODELVIEW6_ARB 0x8726 #define GL_MODELVIEW7_ARB 0x8727 #define GL_MODELVIEW8_ARB 0x8728 #define GL_MODELVIEW9_ARB 0x8729 #define GL_MODELVIEW10_ARB 0x872A #define GL_MODELVIEW11_ARB 0x872B #define GL_MODELVIEW12_ARB 0x872C #define GL_MODELVIEW13_ARB 0x872D #define GL_MODELVIEW14_ARB 0x872E #define GL_MODELVIEW15_ARB 0x872F #define GL_MODELVIEW16_ARB 0x8730 #define GL_MODELVIEW17_ARB 0x8731 #define GL_MODELVIEW18_ARB 0x8732 #define GL_MODELVIEW19_ARB 0x8733 #define GL_MODELVIEW20_ARB 0x8734 #define GL_MODELVIEW21_ARB 0x8735 #define GL_MODELVIEW22_ARB 0x8736 #define GL_MODELVIEW23_ARB 0x8737 #define GL_MODELVIEW24_ARB 0x8738 #define GL_MODELVIEW25_ARB 0x8739 #define GL_MODELVIEW26_ARB 0x873A #define GL_MODELVIEW27_ARB 0x873B #define GL_MODELVIEW28_ARB 0x873C #define GL_MODELVIEW29_ARB 0x873D #define GL_MODELVIEW30_ARB 0x873E #define GL_MODELVIEW31_ARB 0x873F typedef void (GLAPIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count); typedef void (GLAPIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, GLbyte *weights); typedef void (GLAPIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, GLdouble *weights); typedef void (GLAPIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, GLfloat *weights); typedef void (GLAPIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, GLint *weights); typedef void (GLAPIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, GLshort *weights); typedef void (GLAPIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, GLubyte *weights); typedef void (GLAPIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, GLuint *weights); typedef void (GLAPIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, GLushort *weights); #define glVertexBlendARB GLEW_GET_FUN(__glewVertexBlendARB) #define glWeightPointerARB GLEW_GET_FUN(__glewWeightPointerARB) #define glWeightbvARB GLEW_GET_FUN(__glewWeightbvARB) #define glWeightdvARB GLEW_GET_FUN(__glewWeightdvARB) #define glWeightfvARB GLEW_GET_FUN(__glewWeightfvARB) #define glWeightivARB GLEW_GET_FUN(__glewWeightivARB) #define glWeightsvARB GLEW_GET_FUN(__glewWeightsvARB) #define glWeightubvARB GLEW_GET_FUN(__glewWeightubvARB) #define glWeightuivARB GLEW_GET_FUN(__glewWeightuivARB) #define glWeightusvARB GLEW_GET_FUN(__glewWeightusvARB) #define GLEW_ARB_vertex_blend GLEW_GET_VAR(__GLEW_ARB_vertex_blend) #endif /* GL_ARB_vertex_blend */ /* ---------------------- GL_ARB_vertex_buffer_object ---------------------- */ #ifndef GL_ARB_vertex_buffer_object #define GL_ARB_vertex_buffer_object 1 #define GL_BUFFER_SIZE_ARB 0x8764 #define GL_BUFFER_USAGE_ARB 0x8765 #define GL_ARRAY_BUFFER_ARB 0x8892 #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F #define GL_READ_ONLY_ARB 0x88B8 #define GL_WRITE_ONLY_ARB 0x88B9 #define GL_READ_WRITE_ARB 0x88BA #define GL_BUFFER_ACCESS_ARB 0x88BB #define GL_BUFFER_MAPPED_ARB 0x88BC #define GL_BUFFER_MAP_POINTER_ARB 0x88BD #define GL_STREAM_DRAW_ARB 0x88E0 #define GL_STREAM_READ_ARB 0x88E1 #define GL_STREAM_COPY_ARB 0x88E2 #define GL_STATIC_DRAW_ARB 0x88E4 #define GL_STATIC_READ_ARB 0x88E5 #define GL_STATIC_COPY_ARB 0x88E6 #define GL_DYNAMIC_DRAW_ARB 0x88E8 #define GL_DYNAMIC_READ_ARB 0x88E9 #define GL_DYNAMIC_COPY_ARB 0x88EA typedef ptrdiff_t GLintptrARB; typedef ptrdiff_t GLsizeiptrARB; typedef void (GLAPIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); typedef void (GLAPIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage); typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint* buffers); typedef void (GLAPIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint* buffers); typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid** params); typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data); typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer); typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target); #define glBindBufferARB GLEW_GET_FUN(__glewBindBufferARB) #define glBufferDataARB GLEW_GET_FUN(__glewBufferDataARB) #define glBufferSubDataARB GLEW_GET_FUN(__glewBufferSubDataARB) #define glDeleteBuffersARB GLEW_GET_FUN(__glewDeleteBuffersARB) #define glGenBuffersARB GLEW_GET_FUN(__glewGenBuffersARB) #define glGetBufferParameterivARB GLEW_GET_FUN(__glewGetBufferParameterivARB) #define glGetBufferPointervARB GLEW_GET_FUN(__glewGetBufferPointervARB) #define glGetBufferSubDataARB GLEW_GET_FUN(__glewGetBufferSubDataARB) #define glIsBufferARB GLEW_GET_FUN(__glewIsBufferARB) #define glMapBufferARB GLEW_GET_FUN(__glewMapBufferARB) #define glUnmapBufferARB GLEW_GET_FUN(__glewUnmapBufferARB) #define GLEW_ARB_vertex_buffer_object GLEW_GET_VAR(__GLEW_ARB_vertex_buffer_object) #endif /* GL_ARB_vertex_buffer_object */ /* ------------------------- GL_ARB_vertex_program ------------------------- */ #ifndef GL_ARB_vertex_program #define GL_ARB_vertex_program 1 #define GL_COLOR_SUM_ARB 0x8458 #define GL_VERTEX_PROGRAM_ARB 0x8620 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 #define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 #define GL_PROGRAM_LENGTH_ARB 0x8627 #define GL_PROGRAM_STRING_ARB 0x8628 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E #define GL_MAX_PROGRAM_MATRICES_ARB 0x862F #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 #define GL_CURRENT_MATRIX_ARB 0x8641 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 #define GL_PROGRAM_ERROR_POSITION_ARB 0x864B #define GL_PROGRAM_BINDING_ARB 0x8677 #define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A #define GL_PROGRAM_ERROR_STRING_ARB 0x8874 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 #define GL_PROGRAM_FORMAT_ARB 0x8876 #define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 #define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 #define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 #define GL_PROGRAM_PARAMETERS_ARB 0x88A8 #define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB #define GL_PROGRAM_ATTRIBS_ARB 0x88AC #define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD #define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF #define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 #define GL_MATRIX0_ARB 0x88C0 #define GL_MATRIX1_ARB 0x88C1 #define GL_MATRIX2_ARB 0x88C2 #define GL_MATRIX3_ARB 0x88C3 #define GL_MATRIX4_ARB 0x88C4 #define GL_MATRIX5_ARB 0x88C5 #define GL_MATRIX6_ARB 0x88C6 #define GL_MATRIX7_ARB 0x88C7 #define GL_MATRIX8_ARB 0x88C8 #define GL_MATRIX9_ARB 0x88C9 #define GL_MATRIX10_ARB 0x88CA #define GL_MATRIX11_ARB 0x88CB #define GL_MATRIX12_ARB 0x88CC #define GL_MATRIX13_ARB 0x88CD #define GL_MATRIX14_ARB 0x88CE #define GL_MATRIX15_ARB 0x88CF #define GL_MATRIX16_ARB 0x88D0 #define GL_MATRIX17_ARB 0x88D1 #define GL_MATRIX18_ARB 0x88D2 #define GL_MATRIX19_ARB 0x88D3 #define GL_MATRIX20_ARB 0x88D4 #define GL_MATRIX21_ARB 0x88D5 #define GL_MATRIX22_ARB 0x88D6 #define GL_MATRIX23_ARB 0x88D7 #define GL_MATRIX24_ARB 0x88D8 #define GL_MATRIX25_ARB 0x88D9 #define GL_MATRIX26_ARB 0x88DA #define GL_MATRIX27_ARB 0x88DB #define GL_MATRIX28_ARB 0x88DC #define GL_MATRIX29_ARB 0x88DD #define GL_MATRIX30_ARB 0x88DE #define GL_MATRIX31_ARB 0x88DF typedef void (GLAPIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program); typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint* programs); typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); typedef void (GLAPIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint* programs); typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string); typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid** pointer); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); #define glBindProgramARB GLEW_GET_FUN(__glewBindProgramARB) #define glDeleteProgramsARB GLEW_GET_FUN(__glewDeleteProgramsARB) #define glDisableVertexAttribArrayARB GLEW_GET_FUN(__glewDisableVertexAttribArrayARB) #define glEnableVertexAttribArrayARB GLEW_GET_FUN(__glewEnableVertexAttribArrayARB) #define glGenProgramsARB GLEW_GET_FUN(__glewGenProgramsARB) #define glGetProgramEnvParameterdvARB GLEW_GET_FUN(__glewGetProgramEnvParameterdvARB) #define glGetProgramEnvParameterfvARB GLEW_GET_FUN(__glewGetProgramEnvParameterfvARB) #define glGetProgramLocalParameterdvARB GLEW_GET_FUN(__glewGetProgramLocalParameterdvARB) #define glGetProgramLocalParameterfvARB GLEW_GET_FUN(__glewGetProgramLocalParameterfvARB) #define glGetProgramStringARB GLEW_GET_FUN(__glewGetProgramStringARB) #define glGetProgramivARB GLEW_GET_FUN(__glewGetProgramivARB) #define glGetVertexAttribPointervARB GLEW_GET_FUN(__glewGetVertexAttribPointervARB) #define glGetVertexAttribdvARB GLEW_GET_FUN(__glewGetVertexAttribdvARB) #define glGetVertexAttribfvARB GLEW_GET_FUN(__glewGetVertexAttribfvARB) #define glGetVertexAttribivARB GLEW_GET_FUN(__glewGetVertexAttribivARB) #define glIsProgramARB GLEW_GET_FUN(__glewIsProgramARB) #define glProgramEnvParameter4dARB GLEW_GET_FUN(__glewProgramEnvParameter4dARB) #define glProgramEnvParameter4dvARB GLEW_GET_FUN(__glewProgramEnvParameter4dvARB) #define glProgramEnvParameter4fARB GLEW_GET_FUN(__glewProgramEnvParameter4fARB) #define glProgramEnvParameter4fvARB GLEW_GET_FUN(__glewProgramEnvParameter4fvARB) #define glProgramLocalParameter4dARB GLEW_GET_FUN(__glewProgramLocalParameter4dARB) #define glProgramLocalParameter4dvARB GLEW_GET_FUN(__glewProgramLocalParameter4dvARB) #define glProgramLocalParameter4fARB GLEW_GET_FUN(__glewProgramLocalParameter4fARB) #define glProgramLocalParameter4fvARB GLEW_GET_FUN(__glewProgramLocalParameter4fvARB) #define glProgramStringARB GLEW_GET_FUN(__glewProgramStringARB) #define glVertexAttrib1dARB GLEW_GET_FUN(__glewVertexAttrib1dARB) #define glVertexAttrib1dvARB GLEW_GET_FUN(__glewVertexAttrib1dvARB) #define glVertexAttrib1fARB GLEW_GET_FUN(__glewVertexAttrib1fARB) #define glVertexAttrib1fvARB GLEW_GET_FUN(__glewVertexAttrib1fvARB) #define glVertexAttrib1sARB GLEW_GET_FUN(__glewVertexAttrib1sARB) #define glVertexAttrib1svARB GLEW_GET_FUN(__glewVertexAttrib1svARB) #define glVertexAttrib2dARB GLEW_GET_FUN(__glewVertexAttrib2dARB) #define glVertexAttrib2dvARB GLEW_GET_FUN(__glewVertexAttrib2dvARB) #define glVertexAttrib2fARB GLEW_GET_FUN(__glewVertexAttrib2fARB) #define glVertexAttrib2fvARB GLEW_GET_FUN(__glewVertexAttrib2fvARB) #define glVertexAttrib2sARB GLEW_GET_FUN(__glewVertexAttrib2sARB) #define glVertexAttrib2svARB GLEW_GET_FUN(__glewVertexAttrib2svARB) #define glVertexAttrib3dARB GLEW_GET_FUN(__glewVertexAttrib3dARB) #define glVertexAttrib3dvARB GLEW_GET_FUN(__glewVertexAttrib3dvARB) #define glVertexAttrib3fARB GLEW_GET_FUN(__glewVertexAttrib3fARB) #define glVertexAttrib3fvARB GLEW_GET_FUN(__glewVertexAttrib3fvARB) #define glVertexAttrib3sARB GLEW_GET_FUN(__glewVertexAttrib3sARB) #define glVertexAttrib3svARB GLEW_GET_FUN(__glewVertexAttrib3svARB) #define glVertexAttrib4NbvARB GLEW_GET_FUN(__glewVertexAttrib4NbvARB) #define glVertexAttrib4NivARB GLEW_GET_FUN(__glewVertexAttrib4NivARB) #define glVertexAttrib4NsvARB GLEW_GET_FUN(__glewVertexAttrib4NsvARB) #define glVertexAttrib4NubARB GLEW_GET_FUN(__glewVertexAttrib4NubARB) #define glVertexAttrib4NubvARB GLEW_GET_FUN(__glewVertexAttrib4NubvARB) #define glVertexAttrib4NuivARB GLEW_GET_FUN(__glewVertexAttrib4NuivARB) #define glVertexAttrib4NusvARB GLEW_GET_FUN(__glewVertexAttrib4NusvARB) #define glVertexAttrib4bvARB GLEW_GET_FUN(__glewVertexAttrib4bvARB) #define glVertexAttrib4dARB GLEW_GET_FUN(__glewVertexAttrib4dARB) #define glVertexAttrib4dvARB GLEW_GET_FUN(__glewVertexAttrib4dvARB) #define glVertexAttrib4fARB GLEW_GET_FUN(__glewVertexAttrib4fARB) #define glVertexAttrib4fvARB GLEW_GET_FUN(__glewVertexAttrib4fvARB) #define glVertexAttrib4ivARB GLEW_GET_FUN(__glewVertexAttrib4ivARB) #define glVertexAttrib4sARB GLEW_GET_FUN(__glewVertexAttrib4sARB) #define glVertexAttrib4svARB GLEW_GET_FUN(__glewVertexAttrib4svARB) #define glVertexAttrib4ubvARB GLEW_GET_FUN(__glewVertexAttrib4ubvARB) #define glVertexAttrib4uivARB GLEW_GET_FUN(__glewVertexAttrib4uivARB) #define glVertexAttrib4usvARB GLEW_GET_FUN(__glewVertexAttrib4usvARB) #define glVertexAttribPointerARB GLEW_GET_FUN(__glewVertexAttribPointerARB) #define GLEW_ARB_vertex_program GLEW_GET_VAR(__GLEW_ARB_vertex_program) #endif /* GL_ARB_vertex_program */ /* -------------------------- GL_ARB_vertex_shader ------------------------- */ #ifndef GL_ARB_vertex_shader #define GL_ARB_vertex_shader 1 #define GL_VERTEX_SHADER_ARB 0x8B31 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A #define GL_MAX_VARYING_FLOATS_ARB 0x8B4B #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB* name); typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); #define glBindAttribLocationARB GLEW_GET_FUN(__glewBindAttribLocationARB) #define glGetActiveAttribARB GLEW_GET_FUN(__glewGetActiveAttribARB) #define glGetAttribLocationARB GLEW_GET_FUN(__glewGetAttribLocationARB) #define GLEW_ARB_vertex_shader GLEW_GET_VAR(__GLEW_ARB_vertex_shader) #endif /* GL_ARB_vertex_shader */ /* ------------------- GL_ARB_vertex_type_10f_11f_11f_rev ------------------ */ #ifndef GL_ARB_vertex_type_10f_11f_11f_rev #define GL_ARB_vertex_type_10f_11f_11f_rev 1 #define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B #define GLEW_ARB_vertex_type_10f_11f_11f_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_10f_11f_11f_rev) #endif /* GL_ARB_vertex_type_10f_11f_11f_rev */ /* ------------------- GL_ARB_vertex_type_2_10_10_10_rev ------------------- */ #ifndef GL_ARB_vertex_type_2_10_10_10_rev #define GL_ARB_vertex_type_2_10_10_10_rev 1 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 #define GL_INT_2_10_10_10_REV 0x8D9F typedef void (GLAPIENTRY * PFNGLCOLORP3UIPROC) (GLenum type, GLuint color); typedef void (GLAPIENTRY * PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint* color); typedef void (GLAPIENTRY * PFNGLCOLORP4UIPROC) (GLenum type, GLuint color); typedef void (GLAPIENTRY * PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint* color); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint* color); typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords); typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint* coords); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); typedef void (GLAPIENTRY * PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value); typedef void (GLAPIENTRY * PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint* value); typedef void (GLAPIENTRY * PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value); typedef void (GLAPIENTRY * PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint* value); typedef void (GLAPIENTRY * PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value); typedef void (GLAPIENTRY * PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint* value); #define glColorP3ui GLEW_GET_FUN(__glewColorP3ui) #define glColorP3uiv GLEW_GET_FUN(__glewColorP3uiv) #define glColorP4ui GLEW_GET_FUN(__glewColorP4ui) #define glColorP4uiv GLEW_GET_FUN(__glewColorP4uiv) #define glMultiTexCoordP1ui GLEW_GET_FUN(__glewMultiTexCoordP1ui) #define glMultiTexCoordP1uiv GLEW_GET_FUN(__glewMultiTexCoordP1uiv) #define glMultiTexCoordP2ui GLEW_GET_FUN(__glewMultiTexCoordP2ui) #define glMultiTexCoordP2uiv GLEW_GET_FUN(__glewMultiTexCoordP2uiv) #define glMultiTexCoordP3ui GLEW_GET_FUN(__glewMultiTexCoordP3ui) #define glMultiTexCoordP3uiv GLEW_GET_FUN(__glewMultiTexCoordP3uiv) #define glMultiTexCoordP4ui GLEW_GET_FUN(__glewMultiTexCoordP4ui) #define glMultiTexCoordP4uiv GLEW_GET_FUN(__glewMultiTexCoordP4uiv) #define glNormalP3ui GLEW_GET_FUN(__glewNormalP3ui) #define glNormalP3uiv GLEW_GET_FUN(__glewNormalP3uiv) #define glSecondaryColorP3ui GLEW_GET_FUN(__glewSecondaryColorP3ui) #define glSecondaryColorP3uiv GLEW_GET_FUN(__glewSecondaryColorP3uiv) #define glTexCoordP1ui GLEW_GET_FUN(__glewTexCoordP1ui) #define glTexCoordP1uiv GLEW_GET_FUN(__glewTexCoordP1uiv) #define glTexCoordP2ui GLEW_GET_FUN(__glewTexCoordP2ui) #define glTexCoordP2uiv GLEW_GET_FUN(__glewTexCoordP2uiv) #define glTexCoordP3ui GLEW_GET_FUN(__glewTexCoordP3ui) #define glTexCoordP3uiv GLEW_GET_FUN(__glewTexCoordP3uiv) #define glTexCoordP4ui GLEW_GET_FUN(__glewTexCoordP4ui) #define glTexCoordP4uiv GLEW_GET_FUN(__glewTexCoordP4uiv) #define glVertexAttribP1ui GLEW_GET_FUN(__glewVertexAttribP1ui) #define glVertexAttribP1uiv GLEW_GET_FUN(__glewVertexAttribP1uiv) #define glVertexAttribP2ui GLEW_GET_FUN(__glewVertexAttribP2ui) #define glVertexAttribP2uiv GLEW_GET_FUN(__glewVertexAttribP2uiv) #define glVertexAttribP3ui GLEW_GET_FUN(__glewVertexAttribP3ui) #define glVertexAttribP3uiv GLEW_GET_FUN(__glewVertexAttribP3uiv) #define glVertexAttribP4ui GLEW_GET_FUN(__glewVertexAttribP4ui) #define glVertexAttribP4uiv GLEW_GET_FUN(__glewVertexAttribP4uiv) #define glVertexP2ui GLEW_GET_FUN(__glewVertexP2ui) #define glVertexP2uiv GLEW_GET_FUN(__glewVertexP2uiv) #define glVertexP3ui GLEW_GET_FUN(__glewVertexP3ui) #define glVertexP3uiv GLEW_GET_FUN(__glewVertexP3uiv) #define glVertexP4ui GLEW_GET_FUN(__glewVertexP4ui) #define glVertexP4uiv GLEW_GET_FUN(__glewVertexP4uiv) #define GLEW_ARB_vertex_type_2_10_10_10_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_2_10_10_10_rev) #endif /* GL_ARB_vertex_type_2_10_10_10_rev */ /* ------------------------- GL_ARB_viewport_array ------------------------- */ #ifndef GL_ARB_viewport_array #define GL_ARB_viewport_array 1 #define GL_DEPTH_RANGE 0x0B70 #define GL_VIEWPORT 0x0BA2 #define GL_SCISSOR_BOX 0x0C10 #define GL_SCISSOR_TEST 0x0C11 #define GL_MAX_VIEWPORTS 0x825B #define GL_VIEWPORT_SUBPIXEL_BITS 0x825C #define GL_VIEWPORT_BOUNDS_RANGE 0x825D #define GL_LAYER_PROVOKING_VERTEX 0x825E #define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F #define GL_UNDEFINED_VERTEX 0x8260 #define GL_FIRST_VERTEX_CONVENTION 0x8E4D #define GL_LAST_VERTEX_CONVENTION 0x8E4E #define GL_PROVOKING_VERTEX 0x8E4F typedef void (GLAPIENTRY * PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd * v); typedef void (GLAPIENTRY * PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f); typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble* data); typedef void (GLAPIENTRY * PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat* data); typedef void (GLAPIENTRY * PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint * v); typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint * v); typedef void (GLAPIENTRY * PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat * v); typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat * v); #define glDepthRangeArrayv GLEW_GET_FUN(__glewDepthRangeArrayv) #define glDepthRangeIndexed GLEW_GET_FUN(__glewDepthRangeIndexed) #define glGetDoublei_v GLEW_GET_FUN(__glewGetDoublei_v) #define glGetFloati_v GLEW_GET_FUN(__glewGetFloati_v) #define glScissorArrayv GLEW_GET_FUN(__glewScissorArrayv) #define glScissorIndexed GLEW_GET_FUN(__glewScissorIndexed) #define glScissorIndexedv GLEW_GET_FUN(__glewScissorIndexedv) #define glViewportArrayv GLEW_GET_FUN(__glewViewportArrayv) #define glViewportIndexedf GLEW_GET_FUN(__glewViewportIndexedf) #define glViewportIndexedfv GLEW_GET_FUN(__glewViewportIndexedfv) #define GLEW_ARB_viewport_array GLEW_GET_VAR(__GLEW_ARB_viewport_array) #endif /* GL_ARB_viewport_array */ /* --------------------------- GL_ARB_window_pos --------------------------- */ #ifndef GL_ARB_window_pos #define GL_ARB_window_pos 1 typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort* p); #define glWindowPos2dARB GLEW_GET_FUN(__glewWindowPos2dARB) #define glWindowPos2dvARB GLEW_GET_FUN(__glewWindowPos2dvARB) #define glWindowPos2fARB GLEW_GET_FUN(__glewWindowPos2fARB) #define glWindowPos2fvARB GLEW_GET_FUN(__glewWindowPos2fvARB) #define glWindowPos2iARB GLEW_GET_FUN(__glewWindowPos2iARB) #define glWindowPos2ivARB GLEW_GET_FUN(__glewWindowPos2ivARB) #define glWindowPos2sARB GLEW_GET_FUN(__glewWindowPos2sARB) #define glWindowPos2svARB GLEW_GET_FUN(__glewWindowPos2svARB) #define glWindowPos3dARB GLEW_GET_FUN(__glewWindowPos3dARB) #define glWindowPos3dvARB GLEW_GET_FUN(__glewWindowPos3dvARB) #define glWindowPos3fARB GLEW_GET_FUN(__glewWindowPos3fARB) #define glWindowPos3fvARB GLEW_GET_FUN(__glewWindowPos3fvARB) #define glWindowPos3iARB GLEW_GET_FUN(__glewWindowPos3iARB) #define glWindowPos3ivARB GLEW_GET_FUN(__glewWindowPos3ivARB) #define glWindowPos3sARB GLEW_GET_FUN(__glewWindowPos3sARB) #define glWindowPos3svARB GLEW_GET_FUN(__glewWindowPos3svARB) #define GLEW_ARB_window_pos GLEW_GET_VAR(__GLEW_ARB_window_pos) #endif /* GL_ARB_window_pos */ /* ------------------------- GL_ATIX_point_sprites ------------------------- */ #ifndef GL_ATIX_point_sprites #define GL_ATIX_point_sprites 1 #define GL_TEXTURE_POINT_MODE_ATIX 0x60B0 #define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1 #define GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2 #define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60B3 #define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60B4 #define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60B5 #define GLEW_ATIX_point_sprites GLEW_GET_VAR(__GLEW_ATIX_point_sprites) #endif /* GL_ATIX_point_sprites */ /* ---------------------- GL_ATIX_texture_env_combine3 --------------------- */ #ifndef GL_ATIX_texture_env_combine3 #define GL_ATIX_texture_env_combine3 1 #define GL_MODULATE_ADD_ATIX 0x8744 #define GL_MODULATE_SIGNED_ADD_ATIX 0x8745 #define GL_MODULATE_SUBTRACT_ATIX 0x8746 #define GLEW_ATIX_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATIX_texture_env_combine3) #endif /* GL_ATIX_texture_env_combine3 */ /* ----------------------- GL_ATIX_texture_env_route ----------------------- */ #ifndef GL_ATIX_texture_env_route #define GL_ATIX_texture_env_route 1 #define GL_SECONDARY_COLOR_ATIX 0x8747 #define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748 #define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749 #define GLEW_ATIX_texture_env_route GLEW_GET_VAR(__GLEW_ATIX_texture_env_route) #endif /* GL_ATIX_texture_env_route */ /* ---------------- GL_ATIX_vertex_shader_output_point_size ---------------- */ #ifndef GL_ATIX_vertex_shader_output_point_size #define GL_ATIX_vertex_shader_output_point_size 1 #define GL_OUTPUT_POINT_SIZE_ATIX 0x610E #define GLEW_ATIX_vertex_shader_output_point_size GLEW_GET_VAR(__GLEW_ATIX_vertex_shader_output_point_size) #endif /* GL_ATIX_vertex_shader_output_point_size */ /* -------------------------- GL_ATI_draw_buffers -------------------------- */ #ifndef GL_ATI_draw_buffers #define GL_ATI_draw_buffers 1 #define GL_MAX_DRAW_BUFFERS_ATI 0x8824 #define GL_DRAW_BUFFER0_ATI 0x8825 #define GL_DRAW_BUFFER1_ATI 0x8826 #define GL_DRAW_BUFFER2_ATI 0x8827 #define GL_DRAW_BUFFER3_ATI 0x8828 #define GL_DRAW_BUFFER4_ATI 0x8829 #define GL_DRAW_BUFFER5_ATI 0x882A #define GL_DRAW_BUFFER6_ATI 0x882B #define GL_DRAW_BUFFER7_ATI 0x882C #define GL_DRAW_BUFFER8_ATI 0x882D #define GL_DRAW_BUFFER9_ATI 0x882E #define GL_DRAW_BUFFER10_ATI 0x882F #define GL_DRAW_BUFFER11_ATI 0x8830 #define GL_DRAW_BUFFER12_ATI 0x8831 #define GL_DRAW_BUFFER13_ATI 0x8832 #define GL_DRAW_BUFFER14_ATI 0x8833 #define GL_DRAW_BUFFER15_ATI 0x8834 typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum* bufs); #define glDrawBuffersATI GLEW_GET_FUN(__glewDrawBuffersATI) #define GLEW_ATI_draw_buffers GLEW_GET_VAR(__GLEW_ATI_draw_buffers) #endif /* GL_ATI_draw_buffers */ /* -------------------------- GL_ATI_element_array ------------------------- */ #ifndef GL_ATI_element_array #define GL_ATI_element_array 1 #define GL_ELEMENT_ARRAY_ATI 0x8768 #define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 #define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count); typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer); #define glDrawElementArrayATI GLEW_GET_FUN(__glewDrawElementArrayATI) #define glDrawRangeElementArrayATI GLEW_GET_FUN(__glewDrawRangeElementArrayATI) #define glElementPointerATI GLEW_GET_FUN(__glewElementPointerATI) #define GLEW_ATI_element_array GLEW_GET_VAR(__GLEW_ATI_element_array) #endif /* GL_ATI_element_array */ /* ------------------------- GL_ATI_envmap_bumpmap ------------------------- */ #ifndef GL_ATI_envmap_bumpmap #define GL_ATI_envmap_bumpmap 1 #define GL_BUMP_ROT_MATRIX_ATI 0x8775 #define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 #define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 #define GL_BUMP_TEX_UNITS_ATI 0x8778 #define GL_DUDV_ATI 0x8779 #define GL_DU8DV8_ATI 0x877A #define GL_BUMP_ENVMAP_ATI 0x877B #define GL_BUMP_TARGET_ATI 0x877C typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); #define glGetTexBumpParameterfvATI GLEW_GET_FUN(__glewGetTexBumpParameterfvATI) #define glGetTexBumpParameterivATI GLEW_GET_FUN(__glewGetTexBumpParameterivATI) #define glTexBumpParameterfvATI GLEW_GET_FUN(__glewTexBumpParameterfvATI) #define glTexBumpParameterivATI GLEW_GET_FUN(__glewTexBumpParameterivATI) #define GLEW_ATI_envmap_bumpmap GLEW_GET_VAR(__GLEW_ATI_envmap_bumpmap) #endif /* GL_ATI_envmap_bumpmap */ /* ------------------------- GL_ATI_fragment_shader ------------------------ */ #ifndef GL_ATI_fragment_shader #define GL_ATI_fragment_shader 1 #define GL_RED_BIT_ATI 0x00000001 #define GL_2X_BIT_ATI 0x00000001 #define GL_4X_BIT_ATI 0x00000002 #define GL_GREEN_BIT_ATI 0x00000002 #define GL_COMP_BIT_ATI 0x00000002 #define GL_BLUE_BIT_ATI 0x00000004 #define GL_8X_BIT_ATI 0x00000004 #define GL_NEGATE_BIT_ATI 0x00000004 #define GL_BIAS_BIT_ATI 0x00000008 #define GL_HALF_BIT_ATI 0x00000008 #define GL_QUARTER_BIT_ATI 0x00000010 #define GL_EIGHTH_BIT_ATI 0x00000020 #define GL_SATURATE_BIT_ATI 0x00000040 #define GL_FRAGMENT_SHADER_ATI 0x8920 #define GL_REG_0_ATI 0x8921 #define GL_REG_1_ATI 0x8922 #define GL_REG_2_ATI 0x8923 #define GL_REG_3_ATI 0x8924 #define GL_REG_4_ATI 0x8925 #define GL_REG_5_ATI 0x8926 #define GL_CON_0_ATI 0x8941 #define GL_CON_1_ATI 0x8942 #define GL_CON_2_ATI 0x8943 #define GL_CON_3_ATI 0x8944 #define GL_CON_4_ATI 0x8945 #define GL_CON_5_ATI 0x8946 #define GL_CON_6_ATI 0x8947 #define GL_CON_7_ATI 0x8948 #define GL_MOV_ATI 0x8961 #define GL_ADD_ATI 0x8963 #define GL_MUL_ATI 0x8964 #define GL_SUB_ATI 0x8965 #define GL_DOT3_ATI 0x8966 #define GL_DOT4_ATI 0x8967 #define GL_MAD_ATI 0x8968 #define GL_LERP_ATI 0x8969 #define GL_CND_ATI 0x896A #define GL_CND0_ATI 0x896B #define GL_DOT2_ADD_ATI 0x896C #define GL_SECONDARY_INTERPOLATOR_ATI 0x896D #define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E #define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F #define GL_NUM_PASSES_ATI 0x8970 #define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 #define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 #define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 #define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 #define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 #define GL_SWIZZLE_STR_ATI 0x8976 #define GL_SWIZZLE_STQ_ATI 0x8977 #define GL_SWIZZLE_STR_DR_ATI 0x8978 #define GL_SWIZZLE_STQ_DQ_ATI 0x8979 #define GL_SWIZZLE_STRQ_ATI 0x897A #define GL_SWIZZLE_STRQ_DQ_ATI 0x897B typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); typedef void (GLAPIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void); typedef void (GLAPIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); typedef void (GLAPIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void); typedef GLuint (GLAPIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range); typedef void (GLAPIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle); typedef void (GLAPIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle); typedef void (GLAPIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat* value); #define glAlphaFragmentOp1ATI GLEW_GET_FUN(__glewAlphaFragmentOp1ATI) #define glAlphaFragmentOp2ATI GLEW_GET_FUN(__glewAlphaFragmentOp2ATI) #define glAlphaFragmentOp3ATI GLEW_GET_FUN(__glewAlphaFragmentOp3ATI) #define glBeginFragmentShaderATI GLEW_GET_FUN(__glewBeginFragmentShaderATI) #define glBindFragmentShaderATI GLEW_GET_FUN(__glewBindFragmentShaderATI) #define glColorFragmentOp1ATI GLEW_GET_FUN(__glewColorFragmentOp1ATI) #define glColorFragmentOp2ATI GLEW_GET_FUN(__glewColorFragmentOp2ATI) #define glColorFragmentOp3ATI GLEW_GET_FUN(__glewColorFragmentOp3ATI) #define glDeleteFragmentShaderATI GLEW_GET_FUN(__glewDeleteFragmentShaderATI) #define glEndFragmentShaderATI GLEW_GET_FUN(__glewEndFragmentShaderATI) #define glGenFragmentShadersATI GLEW_GET_FUN(__glewGenFragmentShadersATI) #define glPassTexCoordATI GLEW_GET_FUN(__glewPassTexCoordATI) #define glSampleMapATI GLEW_GET_FUN(__glewSampleMapATI) #define glSetFragmentShaderConstantATI GLEW_GET_FUN(__glewSetFragmentShaderConstantATI) #define GLEW_ATI_fragment_shader GLEW_GET_VAR(__GLEW_ATI_fragment_shader) #endif /* GL_ATI_fragment_shader */ /* ------------------------ GL_ATI_map_object_buffer ----------------------- */ #ifndef GL_ATI_map_object_buffer #define GL_ATI_map_object_buffer 1 typedef GLvoid * (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer); typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); #define glMapObjectBufferATI GLEW_GET_FUN(__glewMapObjectBufferATI) #define glUnmapObjectBufferATI GLEW_GET_FUN(__glewUnmapObjectBufferATI) #define GLEW_ATI_map_object_buffer GLEW_GET_VAR(__GLEW_ATI_map_object_buffer) #endif /* GL_ATI_map_object_buffer */ /* ----------------------------- GL_ATI_meminfo ---------------------------- */ #ifndef GL_ATI_meminfo #define GL_ATI_meminfo 1 #define GL_VBO_FREE_MEMORY_ATI 0x87FB #define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC #define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD #define GLEW_ATI_meminfo GLEW_GET_VAR(__GLEW_ATI_meminfo) #endif /* GL_ATI_meminfo */ /* -------------------------- GL_ATI_pn_triangles -------------------------- */ #ifndef GL_ATI_pn_triangles #define GL_ATI_pn_triangles 1 #define GL_PN_TRIANGLES_ATI 0x87F0 #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 #define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 #define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param); #define glPNTrianglesfATI GLEW_GET_FUN(__glewPNTrianglesfATI) #define glPNTrianglesiATI GLEW_GET_FUN(__glewPNTrianglesiATI) #define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles) #endif /* GL_ATI_pn_triangles */ /* ------------------------ GL_ATI_separate_stencil ------------------------ */ #ifndef GL_ATI_separate_stencil #define GL_ATI_separate_stencil 1 #define GL_STENCIL_BACK_FUNC_ATI 0x8800 #define GL_STENCIL_BACK_FAIL_ATI 0x8801 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 #define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); #define glStencilFuncSeparateATI GLEW_GET_FUN(__glewStencilFuncSeparateATI) #define glStencilOpSeparateATI GLEW_GET_FUN(__glewStencilOpSeparateATI) #define GLEW_ATI_separate_stencil GLEW_GET_VAR(__GLEW_ATI_separate_stencil) #endif /* GL_ATI_separate_stencil */ /* ----------------------- GL_ATI_shader_texture_lod ----------------------- */ #ifndef GL_ATI_shader_texture_lod #define GL_ATI_shader_texture_lod 1 #define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(__GLEW_ATI_shader_texture_lod) #endif /* GL_ATI_shader_texture_lod */ /* ---------------------- GL_ATI_text_fragment_shader ---------------------- */ #ifndef GL_ATI_text_fragment_shader #define GL_ATI_text_fragment_shader 1 #define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 #define GLEW_ATI_text_fragment_shader GLEW_GET_VAR(__GLEW_ATI_text_fragment_shader) #endif /* GL_ATI_text_fragment_shader */ /* --------------------- GL_ATI_texture_compression_3dc -------------------- */ #ifndef GL_ATI_texture_compression_3dc #define GL_ATI_texture_compression_3dc 1 #define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 #define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(__GLEW_ATI_texture_compression_3dc) #endif /* GL_ATI_texture_compression_3dc */ /* ---------------------- GL_ATI_texture_env_combine3 ---------------------- */ #ifndef GL_ATI_texture_env_combine3 #define GL_ATI_texture_env_combine3 1 #define GL_MODULATE_ADD_ATI 0x8744 #define GL_MODULATE_SIGNED_ADD_ATI 0x8745 #define GL_MODULATE_SUBTRACT_ATI 0x8746 #define GLEW_ATI_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATI_texture_env_combine3) #endif /* GL_ATI_texture_env_combine3 */ /* -------------------------- GL_ATI_texture_float ------------------------- */ #ifndef GL_ATI_texture_float #define GL_ATI_texture_float 1 #define GL_RGBA_FLOAT32_ATI 0x8814 #define GL_RGB_FLOAT32_ATI 0x8815 #define GL_ALPHA_FLOAT32_ATI 0x8816 #define GL_INTENSITY_FLOAT32_ATI 0x8817 #define GL_LUMINANCE_FLOAT32_ATI 0x8818 #define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819 #define GL_RGBA_FLOAT16_ATI 0x881A #define GL_RGB_FLOAT16_ATI 0x881B #define GL_ALPHA_FLOAT16_ATI 0x881C #define GL_INTENSITY_FLOAT16_ATI 0x881D #define GL_LUMINANCE_FLOAT16_ATI 0x881E #define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F #define GLEW_ATI_texture_float GLEW_GET_VAR(__GLEW_ATI_texture_float) #endif /* GL_ATI_texture_float */ /* ----------------------- GL_ATI_texture_mirror_once ---------------------- */ #ifndef GL_ATI_texture_mirror_once #define GL_ATI_texture_mirror_once 1 #define GL_MIRROR_CLAMP_ATI 0x8742 #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 #define GLEW_ATI_texture_mirror_once GLEW_GET_VAR(__GLEW_ATI_texture_mirror_once) #endif /* GL_ATI_texture_mirror_once */ /* ----------------------- GL_ATI_vertex_array_object ---------------------- */ #ifndef GL_ATI_vertex_array_object #define GL_ATI_vertex_array_object 1 #define GL_STATIC_ATI 0x8760 #define GL_DYNAMIC_ATI 0x8761 #define GL_PRESERVE_ATI 0x8762 #define GL_DISCARD_ATI 0x8763 #define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 #define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 #define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 #define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 typedef void (GLAPIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); typedef void (GLAPIENTRY * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer); typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); typedef GLuint (GLAPIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage); typedef void (GLAPIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve); typedef void (GLAPIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); #define glArrayObjectATI GLEW_GET_FUN(__glewArrayObjectATI) #define glFreeObjectBufferATI GLEW_GET_FUN(__glewFreeObjectBufferATI) #define glGetArrayObjectfvATI GLEW_GET_FUN(__glewGetArrayObjectfvATI) #define glGetArrayObjectivATI GLEW_GET_FUN(__glewGetArrayObjectivATI) #define glGetObjectBufferfvATI GLEW_GET_FUN(__glewGetObjectBufferfvATI) #define glGetObjectBufferivATI GLEW_GET_FUN(__glewGetObjectBufferivATI) #define glGetVariantArrayObjectfvATI GLEW_GET_FUN(__glewGetVariantArrayObjectfvATI) #define glGetVariantArrayObjectivATI GLEW_GET_FUN(__glewGetVariantArrayObjectivATI) #define glIsObjectBufferATI GLEW_GET_FUN(__glewIsObjectBufferATI) #define glNewObjectBufferATI GLEW_GET_FUN(__glewNewObjectBufferATI) #define glUpdateObjectBufferATI GLEW_GET_FUN(__glewUpdateObjectBufferATI) #define glVariantArrayObjectATI GLEW_GET_FUN(__glewVariantArrayObjectATI) #define GLEW_ATI_vertex_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_array_object) #endif /* GL_ATI_vertex_array_object */ /* ------------------- GL_ATI_vertex_attrib_array_object ------------------- */ #ifndef GL_ATI_vertex_attrib_array_object #define GL_ATI_vertex_attrib_array_object 1 typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); #define glGetVertexAttribArrayObjectfvATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectfvATI) #define glGetVertexAttribArrayObjectivATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectivATI) #define glVertexAttribArrayObjectATI GLEW_GET_FUN(__glewVertexAttribArrayObjectATI) #define GLEW_ATI_vertex_attrib_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_attrib_array_object) #endif /* GL_ATI_vertex_attrib_array_object */ /* ------------------------- GL_ATI_vertex_streams ------------------------- */ #ifndef GL_ATI_vertex_streams #define GL_ATI_vertex_streams 1 #define GL_MAX_VERTEX_STREAMS_ATI 0x876B #define GL_VERTEX_SOURCE_ATI 0x876C #define GL_VERTEX_STREAM0_ATI 0x876D #define GL_VERTEX_STREAM1_ATI 0x876E #define GL_VERTEX_STREAM2_ATI 0x876F #define GL_VERTEX_STREAM3_ATI 0x8770 #define GL_VERTEX_STREAM4_ATI 0x8771 #define GL_VERTEX_STREAM5_ATI 0x8772 #define GL_VERTEX_STREAM6_ATI 0x8773 #define GL_VERTEX_STREAM7_ATI 0x8774 typedef void (GLAPIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w); typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords); #define glClientActiveVertexStreamATI GLEW_GET_FUN(__glewClientActiveVertexStreamATI) #define glNormalStream3bATI GLEW_GET_FUN(__glewNormalStream3bATI) #define glNormalStream3bvATI GLEW_GET_FUN(__glewNormalStream3bvATI) #define glNormalStream3dATI GLEW_GET_FUN(__glewNormalStream3dATI) #define glNormalStream3dvATI GLEW_GET_FUN(__glewNormalStream3dvATI) #define glNormalStream3fATI GLEW_GET_FUN(__glewNormalStream3fATI) #define glNormalStream3fvATI GLEW_GET_FUN(__glewNormalStream3fvATI) #define glNormalStream3iATI GLEW_GET_FUN(__glewNormalStream3iATI) #define glNormalStream3ivATI GLEW_GET_FUN(__glewNormalStream3ivATI) #define glNormalStream3sATI GLEW_GET_FUN(__glewNormalStream3sATI) #define glNormalStream3svATI GLEW_GET_FUN(__glewNormalStream3svATI) #define glVertexBlendEnvfATI GLEW_GET_FUN(__glewVertexBlendEnvfATI) #define glVertexBlendEnviATI GLEW_GET_FUN(__glewVertexBlendEnviATI) #define glVertexStream1dATI GLEW_GET_FUN(__glewVertexStream1dATI) #define glVertexStream1dvATI GLEW_GET_FUN(__glewVertexStream1dvATI) #define glVertexStream1fATI GLEW_GET_FUN(__glewVertexStream1fATI) #define glVertexStream1fvATI GLEW_GET_FUN(__glewVertexStream1fvATI) #define glVertexStream1iATI GLEW_GET_FUN(__glewVertexStream1iATI) #define glVertexStream1ivATI GLEW_GET_FUN(__glewVertexStream1ivATI) #define glVertexStream1sATI GLEW_GET_FUN(__glewVertexStream1sATI) #define glVertexStream1svATI GLEW_GET_FUN(__glewVertexStream1svATI) #define glVertexStream2dATI GLEW_GET_FUN(__glewVertexStream2dATI) #define glVertexStream2dvATI GLEW_GET_FUN(__glewVertexStream2dvATI) #define glVertexStream2fATI GLEW_GET_FUN(__glewVertexStream2fATI) #define glVertexStream2fvATI GLEW_GET_FUN(__glewVertexStream2fvATI) #define glVertexStream2iATI GLEW_GET_FUN(__glewVertexStream2iATI) #define glVertexStream2ivATI GLEW_GET_FUN(__glewVertexStream2ivATI) #define glVertexStream2sATI GLEW_GET_FUN(__glewVertexStream2sATI) #define glVertexStream2svATI GLEW_GET_FUN(__glewVertexStream2svATI) #define glVertexStream3dATI GLEW_GET_FUN(__glewVertexStream3dATI) #define glVertexStream3dvATI GLEW_GET_FUN(__glewVertexStream3dvATI) #define glVertexStream3fATI GLEW_GET_FUN(__glewVertexStream3fATI) #define glVertexStream3fvATI GLEW_GET_FUN(__glewVertexStream3fvATI) #define glVertexStream3iATI GLEW_GET_FUN(__glewVertexStream3iATI) #define glVertexStream3ivATI GLEW_GET_FUN(__glewVertexStream3ivATI) #define glVertexStream3sATI GLEW_GET_FUN(__glewVertexStream3sATI) #define glVertexStream3svATI GLEW_GET_FUN(__glewVertexStream3svATI) #define glVertexStream4dATI GLEW_GET_FUN(__glewVertexStream4dATI) #define glVertexStream4dvATI GLEW_GET_FUN(__glewVertexStream4dvATI) #define glVertexStream4fATI GLEW_GET_FUN(__glewVertexStream4fATI) #define glVertexStream4fvATI GLEW_GET_FUN(__glewVertexStream4fvATI) #define glVertexStream4iATI GLEW_GET_FUN(__glewVertexStream4iATI) #define glVertexStream4ivATI GLEW_GET_FUN(__glewVertexStream4ivATI) #define glVertexStream4sATI GLEW_GET_FUN(__glewVertexStream4sATI) #define glVertexStream4svATI GLEW_GET_FUN(__glewVertexStream4svATI) #define GLEW_ATI_vertex_streams GLEW_GET_VAR(__GLEW_ATI_vertex_streams) #endif /* GL_ATI_vertex_streams */ /* --------------------------- GL_EXT_422_pixels --------------------------- */ #ifndef GL_EXT_422_pixels #define GL_EXT_422_pixels 1 #define GL_422_EXT 0x80CC #define GL_422_REV_EXT 0x80CD #define GL_422_AVERAGE_EXT 0x80CE #define GL_422_REV_AVERAGE_EXT 0x80CF #define GLEW_EXT_422_pixels GLEW_GET_VAR(__GLEW_EXT_422_pixels) #endif /* GL_EXT_422_pixels */ /* ---------------------------- GL_EXT_Cg_shader --------------------------- */ #ifndef GL_EXT_Cg_shader #define GL_EXT_Cg_shader 1 #define GL_CG_VERTEX_SHADER_EXT 0x890E #define GL_CG_FRAGMENT_SHADER_EXT 0x890F #define GLEW_EXT_Cg_shader GLEW_GET_VAR(__GLEW_EXT_Cg_shader) #endif /* GL_EXT_Cg_shader */ /* ------------------------------ GL_EXT_abgr ------------------------------ */ #ifndef GL_EXT_abgr #define GL_EXT_abgr 1 #define GL_ABGR_EXT 0x8000 #define GLEW_EXT_abgr GLEW_GET_VAR(__GLEW_EXT_abgr) #endif /* GL_EXT_abgr */ /* ------------------------------ GL_EXT_bgra ------------------------------ */ #ifndef GL_EXT_bgra #define GL_EXT_bgra 1 #define GL_BGR_EXT 0x80E0 #define GL_BGRA_EXT 0x80E1 #define GLEW_EXT_bgra GLEW_GET_VAR(__GLEW_EXT_bgra) #endif /* GL_EXT_bgra */ /* ------------------------ GL_EXT_bindable_uniform ------------------------ */ #ifndef GL_EXT_bindable_uniform #define GL_EXT_bindable_uniform 1 #define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 #define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 #define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 #define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED #define GL_UNIFORM_BUFFER_EXT 0x8DEE #define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location); typedef GLintptr (GLAPIENTRY * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location); typedef void (GLAPIENTRY * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer); #define glGetUniformBufferSizeEXT GLEW_GET_FUN(__glewGetUniformBufferSizeEXT) #define glGetUniformOffsetEXT GLEW_GET_FUN(__glewGetUniformOffsetEXT) #define glUniformBufferEXT GLEW_GET_FUN(__glewUniformBufferEXT) #define GLEW_EXT_bindable_uniform GLEW_GET_VAR(__GLEW_EXT_bindable_uniform) #endif /* GL_EXT_bindable_uniform */ /* --------------------------- GL_EXT_blend_color -------------------------- */ #ifndef GL_EXT_blend_color #define GL_EXT_blend_color 1 #define GL_CONSTANT_COLOR_EXT 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 #define GL_CONSTANT_ALPHA_EXT 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 #define GL_BLEND_COLOR_EXT 0x8005 typedef void (GLAPIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); #define glBlendColorEXT GLEW_GET_FUN(__glewBlendColorEXT) #define GLEW_EXT_blend_color GLEW_GET_VAR(__GLEW_EXT_blend_color) #endif /* GL_EXT_blend_color */ /* --------------------- GL_EXT_blend_equation_separate -------------------- */ #ifndef GL_EXT_blend_equation_separate #define GL_EXT_blend_equation_separate 1 #define GL_BLEND_EQUATION_RGB_EXT 0x8009 #define GL_BLEND_EQUATION_ALPHA_EXT 0x883D typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha); #define glBlendEquationSeparateEXT GLEW_GET_FUN(__glewBlendEquationSeparateEXT) #define GLEW_EXT_blend_equation_separate GLEW_GET_VAR(__GLEW_EXT_blend_equation_separate) #endif /* GL_EXT_blend_equation_separate */ /* ----------------------- GL_EXT_blend_func_separate ---------------------- */ #ifndef GL_EXT_blend_func_separate #define GL_EXT_blend_func_separate 1 #define GL_BLEND_DST_RGB_EXT 0x80C8 #define GL_BLEND_SRC_RGB_EXT 0x80C9 #define GL_BLEND_DST_ALPHA_EXT 0x80CA #define GL_BLEND_SRC_ALPHA_EXT 0x80CB typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); #define glBlendFuncSeparateEXT GLEW_GET_FUN(__glewBlendFuncSeparateEXT) #define GLEW_EXT_blend_func_separate GLEW_GET_VAR(__GLEW_EXT_blend_func_separate) #endif /* GL_EXT_blend_func_separate */ /* ------------------------- GL_EXT_blend_logic_op ------------------------- */ #ifndef GL_EXT_blend_logic_op #define GL_EXT_blend_logic_op 1 #define GLEW_EXT_blend_logic_op GLEW_GET_VAR(__GLEW_EXT_blend_logic_op) #endif /* GL_EXT_blend_logic_op */ /* -------------------------- GL_EXT_blend_minmax -------------------------- */ #ifndef GL_EXT_blend_minmax #define GL_EXT_blend_minmax 1 #define GL_FUNC_ADD_EXT 0x8006 #define GL_MIN_EXT 0x8007 #define GL_MAX_EXT 0x8008 #define GL_BLEND_EQUATION_EXT 0x8009 typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode); #define glBlendEquationEXT GLEW_GET_FUN(__glewBlendEquationEXT) #define GLEW_EXT_blend_minmax GLEW_GET_VAR(__GLEW_EXT_blend_minmax) #endif /* GL_EXT_blend_minmax */ /* ------------------------- GL_EXT_blend_subtract ------------------------- */ #ifndef GL_EXT_blend_subtract #define GL_EXT_blend_subtract 1 #define GL_FUNC_SUBTRACT_EXT 0x800A #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B #define GLEW_EXT_blend_subtract GLEW_GET_VAR(__GLEW_EXT_blend_subtract) #endif /* GL_EXT_blend_subtract */ /* ------------------------ GL_EXT_clip_volume_hint ------------------------ */ #ifndef GL_EXT_clip_volume_hint #define GL_EXT_clip_volume_hint 1 #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 #define GLEW_EXT_clip_volume_hint GLEW_GET_VAR(__GLEW_EXT_clip_volume_hint) #endif /* GL_EXT_clip_volume_hint */ /* ------------------------------ GL_EXT_cmyka ----------------------------- */ #ifndef GL_EXT_cmyka #define GL_EXT_cmyka 1 #define GL_CMYK_EXT 0x800C #define GL_CMYKA_EXT 0x800D #define GL_PACK_CMYK_HINT_EXT 0x800E #define GL_UNPACK_CMYK_HINT_EXT 0x800F #define GLEW_EXT_cmyka GLEW_GET_VAR(__GLEW_EXT_cmyka) #endif /* GL_EXT_cmyka */ /* ------------------------- GL_EXT_color_subtable ------------------------- */ #ifndef GL_EXT_color_subtable #define GL_EXT_color_subtable 1 typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); #define glColorSubTableEXT GLEW_GET_FUN(__glewColorSubTableEXT) #define glCopyColorSubTableEXT GLEW_GET_FUN(__glewCopyColorSubTableEXT) #define GLEW_EXT_color_subtable GLEW_GET_VAR(__GLEW_EXT_color_subtable) #endif /* GL_EXT_color_subtable */ /* ---------------------- GL_EXT_compiled_vertex_array --------------------- */ #ifndef GL_EXT_compiled_vertex_array #define GL_EXT_compiled_vertex_array 1 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 typedef void (GLAPIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); typedef void (GLAPIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void); #define glLockArraysEXT GLEW_GET_FUN(__glewLockArraysEXT) #define glUnlockArraysEXT GLEW_GET_FUN(__glewUnlockArraysEXT) #define GLEW_EXT_compiled_vertex_array GLEW_GET_VAR(__GLEW_EXT_compiled_vertex_array) #endif /* GL_EXT_compiled_vertex_array */ /* --------------------------- GL_EXT_convolution -------------------------- */ #ifndef GL_EXT_convolution #define GL_EXT_convolution 1 #define GL_CONVOLUTION_1D_EXT 0x8010 #define GL_CONVOLUTION_2D_EXT 0x8011 #define GL_SEPARABLE_2D_EXT 0x8012 #define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013 #define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014 #define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015 #define GL_REDUCE_EXT 0x8016 #define GL_CONVOLUTION_FORMAT_EXT 0x8017 #define GL_CONVOLUTION_WIDTH_EXT 0x8018 #define GL_CONVOLUTION_HEIGHT_EXT 0x8019 #define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A #define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B #define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C #define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D #define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E #define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F #define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020 #define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021 #define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022 #define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023 typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image); typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); #define glConvolutionFilter1DEXT GLEW_GET_FUN(__glewConvolutionFilter1DEXT) #define glConvolutionFilter2DEXT GLEW_GET_FUN(__glewConvolutionFilter2DEXT) #define glConvolutionParameterfEXT GLEW_GET_FUN(__glewConvolutionParameterfEXT) #define glConvolutionParameterfvEXT GLEW_GET_FUN(__glewConvolutionParameterfvEXT) #define glConvolutionParameteriEXT GLEW_GET_FUN(__glewConvolutionParameteriEXT) #define glConvolutionParameterivEXT GLEW_GET_FUN(__glewConvolutionParameterivEXT) #define glCopyConvolutionFilter1DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter1DEXT) #define glCopyConvolutionFilter2DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter2DEXT) #define glGetConvolutionFilterEXT GLEW_GET_FUN(__glewGetConvolutionFilterEXT) #define glGetConvolutionParameterfvEXT GLEW_GET_FUN(__glewGetConvolutionParameterfvEXT) #define glGetConvolutionParameterivEXT GLEW_GET_FUN(__glewGetConvolutionParameterivEXT) #define glGetSeparableFilterEXT GLEW_GET_FUN(__glewGetSeparableFilterEXT) #define glSeparableFilter2DEXT GLEW_GET_FUN(__glewSeparableFilter2DEXT) #define GLEW_EXT_convolution GLEW_GET_VAR(__GLEW_EXT_convolution) #endif /* GL_EXT_convolution */ /* ------------------------ GL_EXT_coordinate_frame ------------------------ */ #ifndef GL_EXT_coordinate_frame #define GL_EXT_coordinate_frame 1 #define GL_TANGENT_ARRAY_EXT 0x8439 #define GL_BINORMAL_ARRAY_EXT 0x843A #define GL_CURRENT_TANGENT_EXT 0x843B #define GL_CURRENT_BINORMAL_EXT 0x843C #define GL_TANGENT_ARRAY_TYPE_EXT 0x843E #define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F #define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440 #define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441 #define GL_TANGENT_ARRAY_POINTER_EXT 0x8442 #define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443 #define GL_MAP1_TANGENT_EXT 0x8444 #define GL_MAP2_TANGENT_EXT 0x8445 #define GL_MAP1_BINORMAL_EXT 0x8446 #define GL_MAP2_BINORMAL_EXT 0x8447 typedef void (GLAPIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, GLvoid *pointer); #define glBinormalPointerEXT GLEW_GET_FUN(__glewBinormalPointerEXT) #define glTangentPointerEXT GLEW_GET_FUN(__glewTangentPointerEXT) #define GLEW_EXT_coordinate_frame GLEW_GET_VAR(__GLEW_EXT_coordinate_frame) #endif /* GL_EXT_coordinate_frame */ /* -------------------------- GL_EXT_copy_texture -------------------------- */ #ifndef GL_EXT_copy_texture #define GL_EXT_copy_texture 1 typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); #define glCopyTexImage1DEXT GLEW_GET_FUN(__glewCopyTexImage1DEXT) #define glCopyTexImage2DEXT GLEW_GET_FUN(__glewCopyTexImage2DEXT) #define glCopyTexSubImage1DEXT GLEW_GET_FUN(__glewCopyTexSubImage1DEXT) #define glCopyTexSubImage2DEXT GLEW_GET_FUN(__glewCopyTexSubImage2DEXT) #define glCopyTexSubImage3DEXT GLEW_GET_FUN(__glewCopyTexSubImage3DEXT) #define GLEW_EXT_copy_texture GLEW_GET_VAR(__GLEW_EXT_copy_texture) #endif /* GL_EXT_copy_texture */ /* --------------------------- GL_EXT_cull_vertex -------------------------- */ #ifndef GL_EXT_cull_vertex #define GL_EXT_cull_vertex 1 #define GL_CULL_VERTEX_EXT 0x81AA #define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB #define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC typedef void (GLAPIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); #define glCullParameterdvEXT GLEW_GET_FUN(__glewCullParameterdvEXT) #define glCullParameterfvEXT GLEW_GET_FUN(__glewCullParameterfvEXT) #define GLEW_EXT_cull_vertex GLEW_GET_VAR(__GLEW_EXT_cull_vertex) #endif /* GL_EXT_cull_vertex */ /* -------------------------- GL_EXT_debug_marker -------------------------- */ #ifndef GL_EXT_debug_marker #define GL_EXT_debug_marker 1 typedef void (GLAPIENTRY * PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar* marker); typedef void (GLAPIENTRY * PFNGLPOPGROUPMARKEREXTPROC) (void); typedef void (GLAPIENTRY * PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar* marker); #define glInsertEventMarkerEXT GLEW_GET_FUN(__glewInsertEventMarkerEXT) #define glPopGroupMarkerEXT GLEW_GET_FUN(__glewPopGroupMarkerEXT) #define glPushGroupMarkerEXT GLEW_GET_FUN(__glewPushGroupMarkerEXT) #define GLEW_EXT_debug_marker GLEW_GET_VAR(__GLEW_EXT_debug_marker) #endif /* GL_EXT_debug_marker */ /* ------------------------ GL_EXT_depth_bounds_test ----------------------- */ #ifndef GL_EXT_depth_bounds_test #define GL_EXT_depth_bounds_test 1 #define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 #define GL_DEPTH_BOUNDS_EXT 0x8891 typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax); #define glDepthBoundsEXT GLEW_GET_FUN(__glewDepthBoundsEXT) #define GLEW_EXT_depth_bounds_test GLEW_GET_VAR(__GLEW_EXT_depth_bounds_test) #endif /* GL_EXT_depth_bounds_test */ /* ----------------------- GL_EXT_direct_state_access ---------------------- */ #ifndef GL_EXT_direct_state_access #define GL_EXT_direct_state_access 1 #define GL_PROGRAM_MATRIX_EXT 0x8E2D #define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E #define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F typedef void (GLAPIENTRY * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); typedef void (GLAPIENTRY * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); typedef void (GLAPIENTRY * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLvoid *img); typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLvoid *img); typedef void (GLAPIENTRY * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* param); typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void** params); typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data); typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string); typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid** params); typedef void (GLAPIENTRY * PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, GLvoid** params); typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint* params); typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param); typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint* param); typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLvoid** param); typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, GLvoid** param); typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); typedef void (GLAPIENTRY * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); typedef void (GLAPIENTRY * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum matrixMode); typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); typedef void (GLAPIENTRY * PFNGLMATRIXLOADDEXTPROC) (GLenum matrixMode, const GLdouble* m); typedef void (GLAPIENTRY * PFNGLMATRIXLOADFEXTPROC) (GLenum matrixMode, const GLfloat* m); typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); typedef void (GLAPIENTRY * PFNGLMATRIXMULTDEXTPROC) (GLenum matrixMode, const GLdouble* m); typedef void (GLAPIENTRY * PFNGLMATRIXMULTFEXTPROC) (GLenum matrixMode, const GLfloat* m); typedef void (GLAPIENTRY * PFNGLMATRIXORTHOEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); typedef void (GLAPIENTRY * PFNGLMATRIXPOPEXTPROC) (GLenum matrixMode); typedef void (GLAPIENTRY * PFNGLMATRIXPUSHEXTPROC) (GLenum matrixMode); typedef void (GLAPIENTRY * PFNGLMATRIXROTATEDEXTPROC) (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLMATRIXROTATEFEXTPROC) (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLMATRIXSCALEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLMATRIXSCALEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); typedef void (GLAPIENTRY * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint* params); typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* param); typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* param); typedef void (GLAPIENTRY * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage); typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint* params); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint* params); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params); typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string); typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint* params); typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat* param); typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* param); typedef void (GLAPIENTRY * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); #define glBindMultiTextureEXT GLEW_GET_FUN(__glewBindMultiTextureEXT) #define glCheckNamedFramebufferStatusEXT GLEW_GET_FUN(__glewCheckNamedFramebufferStatusEXT) #define glClientAttribDefaultEXT GLEW_GET_FUN(__glewClientAttribDefaultEXT) #define glCompressedMultiTexImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage1DEXT) #define glCompressedMultiTexImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage2DEXT) #define glCompressedMultiTexImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage3DEXT) #define glCompressedMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage1DEXT) #define glCompressedMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage2DEXT) #define glCompressedMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage3DEXT) #define glCompressedTextureImage1DEXT GLEW_GET_FUN(__glewCompressedTextureImage1DEXT) #define glCompressedTextureImage2DEXT GLEW_GET_FUN(__glewCompressedTextureImage2DEXT) #define glCompressedTextureImage3DEXT GLEW_GET_FUN(__glewCompressedTextureImage3DEXT) #define glCompressedTextureSubImage1DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage1DEXT) #define glCompressedTextureSubImage2DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage2DEXT) #define glCompressedTextureSubImage3DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage3DEXT) #define glCopyMultiTexImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexImage1DEXT) #define glCopyMultiTexImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexImage2DEXT) #define glCopyMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage1DEXT) #define glCopyMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage2DEXT) #define glCopyMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage3DEXT) #define glCopyTextureImage1DEXT GLEW_GET_FUN(__glewCopyTextureImage1DEXT) #define glCopyTextureImage2DEXT GLEW_GET_FUN(__glewCopyTextureImage2DEXT) #define glCopyTextureSubImage1DEXT GLEW_GET_FUN(__glewCopyTextureSubImage1DEXT) #define glCopyTextureSubImage2DEXT GLEW_GET_FUN(__glewCopyTextureSubImage2DEXT) #define glCopyTextureSubImage3DEXT GLEW_GET_FUN(__glewCopyTextureSubImage3DEXT) #define glDisableClientStateIndexedEXT GLEW_GET_FUN(__glewDisableClientStateIndexedEXT) #define glDisableClientStateiEXT GLEW_GET_FUN(__glewDisableClientStateiEXT) #define glDisableVertexArrayAttribEXT GLEW_GET_FUN(__glewDisableVertexArrayAttribEXT) #define glDisableVertexArrayEXT GLEW_GET_FUN(__glewDisableVertexArrayEXT) #define glEnableClientStateIndexedEXT GLEW_GET_FUN(__glewEnableClientStateIndexedEXT) #define glEnableClientStateiEXT GLEW_GET_FUN(__glewEnableClientStateiEXT) #define glEnableVertexArrayAttribEXT GLEW_GET_FUN(__glewEnableVertexArrayAttribEXT) #define glEnableVertexArrayEXT GLEW_GET_FUN(__glewEnableVertexArrayEXT) #define glFlushMappedNamedBufferRangeEXT GLEW_GET_FUN(__glewFlushMappedNamedBufferRangeEXT) #define glFramebufferDrawBufferEXT GLEW_GET_FUN(__glewFramebufferDrawBufferEXT) #define glFramebufferDrawBuffersEXT GLEW_GET_FUN(__glewFramebufferDrawBuffersEXT) #define glFramebufferReadBufferEXT GLEW_GET_FUN(__glewFramebufferReadBufferEXT) #define glGenerateMultiTexMipmapEXT GLEW_GET_FUN(__glewGenerateMultiTexMipmapEXT) #define glGenerateTextureMipmapEXT GLEW_GET_FUN(__glewGenerateTextureMipmapEXT) #define glGetCompressedMultiTexImageEXT GLEW_GET_FUN(__glewGetCompressedMultiTexImageEXT) #define glGetCompressedTextureImageEXT GLEW_GET_FUN(__glewGetCompressedTextureImageEXT) #define glGetDoubleIndexedvEXT GLEW_GET_FUN(__glewGetDoubleIndexedvEXT) #define glGetDoublei_vEXT GLEW_GET_FUN(__glewGetDoublei_vEXT) #define glGetFloatIndexedvEXT GLEW_GET_FUN(__glewGetFloatIndexedvEXT) #define glGetFloati_vEXT GLEW_GET_FUN(__glewGetFloati_vEXT) #define glGetFramebufferParameterivEXT GLEW_GET_FUN(__glewGetFramebufferParameterivEXT) #define glGetMultiTexEnvfvEXT GLEW_GET_FUN(__glewGetMultiTexEnvfvEXT) #define glGetMultiTexEnvivEXT GLEW_GET_FUN(__glewGetMultiTexEnvivEXT) #define glGetMultiTexGendvEXT GLEW_GET_FUN(__glewGetMultiTexGendvEXT) #define glGetMultiTexGenfvEXT GLEW_GET_FUN(__glewGetMultiTexGenfvEXT) #define glGetMultiTexGenivEXT GLEW_GET_FUN(__glewGetMultiTexGenivEXT) #define glGetMultiTexImageEXT GLEW_GET_FUN(__glewGetMultiTexImageEXT) #define glGetMultiTexLevelParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterfvEXT) #define glGetMultiTexLevelParameterivEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterivEXT) #define glGetMultiTexParameterIivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIivEXT) #define glGetMultiTexParameterIuivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIuivEXT) #define glGetMultiTexParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexParameterfvEXT) #define glGetMultiTexParameterivEXT GLEW_GET_FUN(__glewGetMultiTexParameterivEXT) #define glGetNamedBufferParameterivEXT GLEW_GET_FUN(__glewGetNamedBufferParameterivEXT) #define glGetNamedBufferPointervEXT GLEW_GET_FUN(__glewGetNamedBufferPointervEXT) #define glGetNamedBufferSubDataEXT GLEW_GET_FUN(__glewGetNamedBufferSubDataEXT) #define glGetNamedFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameterivEXT) #define glGetNamedProgramLocalParameterIivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIivEXT) #define glGetNamedProgramLocalParameterIuivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIuivEXT) #define glGetNamedProgramLocalParameterdvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterdvEXT) #define glGetNamedProgramLocalParameterfvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterfvEXT) #define glGetNamedProgramStringEXT GLEW_GET_FUN(__glewGetNamedProgramStringEXT) #define glGetNamedProgramivEXT GLEW_GET_FUN(__glewGetNamedProgramivEXT) #define glGetNamedRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetNamedRenderbufferParameterivEXT) #define glGetPointerIndexedvEXT GLEW_GET_FUN(__glewGetPointerIndexedvEXT) #define glGetPointeri_vEXT GLEW_GET_FUN(__glewGetPointeri_vEXT) #define glGetTextureImageEXT GLEW_GET_FUN(__glewGetTextureImageEXT) #define glGetTextureLevelParameterfvEXT GLEW_GET_FUN(__glewGetTextureLevelParameterfvEXT) #define glGetTextureLevelParameterivEXT GLEW_GET_FUN(__glewGetTextureLevelParameterivEXT) #define glGetTextureParameterIivEXT GLEW_GET_FUN(__glewGetTextureParameterIivEXT) #define glGetTextureParameterIuivEXT GLEW_GET_FUN(__glewGetTextureParameterIuivEXT) #define glGetTextureParameterfvEXT GLEW_GET_FUN(__glewGetTextureParameterfvEXT) #define glGetTextureParameterivEXT GLEW_GET_FUN(__glewGetTextureParameterivEXT) #define glGetVertexArrayIntegeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayIntegeri_vEXT) #define glGetVertexArrayIntegervEXT GLEW_GET_FUN(__glewGetVertexArrayIntegervEXT) #define glGetVertexArrayPointeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayPointeri_vEXT) #define glGetVertexArrayPointervEXT GLEW_GET_FUN(__glewGetVertexArrayPointervEXT) #define glMapNamedBufferEXT GLEW_GET_FUN(__glewMapNamedBufferEXT) #define glMapNamedBufferRangeEXT GLEW_GET_FUN(__glewMapNamedBufferRangeEXT) #define glMatrixFrustumEXT GLEW_GET_FUN(__glewMatrixFrustumEXT) #define glMatrixLoadIdentityEXT GLEW_GET_FUN(__glewMatrixLoadIdentityEXT) #define glMatrixLoadTransposedEXT GLEW_GET_FUN(__glewMatrixLoadTransposedEXT) #define glMatrixLoadTransposefEXT GLEW_GET_FUN(__glewMatrixLoadTransposefEXT) #define glMatrixLoaddEXT GLEW_GET_FUN(__glewMatrixLoaddEXT) #define glMatrixLoadfEXT GLEW_GET_FUN(__glewMatrixLoadfEXT) #define glMatrixMultTransposedEXT GLEW_GET_FUN(__glewMatrixMultTransposedEXT) #define glMatrixMultTransposefEXT GLEW_GET_FUN(__glewMatrixMultTransposefEXT) #define glMatrixMultdEXT GLEW_GET_FUN(__glewMatrixMultdEXT) #define glMatrixMultfEXT GLEW_GET_FUN(__glewMatrixMultfEXT) #define glMatrixOrthoEXT GLEW_GET_FUN(__glewMatrixOrthoEXT) #define glMatrixPopEXT GLEW_GET_FUN(__glewMatrixPopEXT) #define glMatrixPushEXT GLEW_GET_FUN(__glewMatrixPushEXT) #define glMatrixRotatedEXT GLEW_GET_FUN(__glewMatrixRotatedEXT) #define glMatrixRotatefEXT GLEW_GET_FUN(__glewMatrixRotatefEXT) #define glMatrixScaledEXT GLEW_GET_FUN(__glewMatrixScaledEXT) #define glMatrixScalefEXT GLEW_GET_FUN(__glewMatrixScalefEXT) #define glMatrixTranslatedEXT GLEW_GET_FUN(__glewMatrixTranslatedEXT) #define glMatrixTranslatefEXT GLEW_GET_FUN(__glewMatrixTranslatefEXT) #define glMultiTexBufferEXT GLEW_GET_FUN(__glewMultiTexBufferEXT) #define glMultiTexCoordPointerEXT GLEW_GET_FUN(__glewMultiTexCoordPointerEXT) #define glMultiTexEnvfEXT GLEW_GET_FUN(__glewMultiTexEnvfEXT) #define glMultiTexEnvfvEXT GLEW_GET_FUN(__glewMultiTexEnvfvEXT) #define glMultiTexEnviEXT GLEW_GET_FUN(__glewMultiTexEnviEXT) #define glMultiTexEnvivEXT GLEW_GET_FUN(__glewMultiTexEnvivEXT) #define glMultiTexGendEXT GLEW_GET_FUN(__glewMultiTexGendEXT) #define glMultiTexGendvEXT GLEW_GET_FUN(__glewMultiTexGendvEXT) #define glMultiTexGenfEXT GLEW_GET_FUN(__glewMultiTexGenfEXT) #define glMultiTexGenfvEXT GLEW_GET_FUN(__glewMultiTexGenfvEXT) #define glMultiTexGeniEXT GLEW_GET_FUN(__glewMultiTexGeniEXT) #define glMultiTexGenivEXT GLEW_GET_FUN(__glewMultiTexGenivEXT) #define glMultiTexImage1DEXT GLEW_GET_FUN(__glewMultiTexImage1DEXT) #define glMultiTexImage2DEXT GLEW_GET_FUN(__glewMultiTexImage2DEXT) #define glMultiTexImage3DEXT GLEW_GET_FUN(__glewMultiTexImage3DEXT) #define glMultiTexParameterIivEXT GLEW_GET_FUN(__glewMultiTexParameterIivEXT) #define glMultiTexParameterIuivEXT GLEW_GET_FUN(__glewMultiTexParameterIuivEXT) #define glMultiTexParameterfEXT GLEW_GET_FUN(__glewMultiTexParameterfEXT) #define glMultiTexParameterfvEXT GLEW_GET_FUN(__glewMultiTexParameterfvEXT) #define glMultiTexParameteriEXT GLEW_GET_FUN(__glewMultiTexParameteriEXT) #define glMultiTexParameterivEXT GLEW_GET_FUN(__glewMultiTexParameterivEXT) #define glMultiTexRenderbufferEXT GLEW_GET_FUN(__glewMultiTexRenderbufferEXT) #define glMultiTexSubImage1DEXT GLEW_GET_FUN(__glewMultiTexSubImage1DEXT) #define glMultiTexSubImage2DEXT GLEW_GET_FUN(__glewMultiTexSubImage2DEXT) #define glMultiTexSubImage3DEXT GLEW_GET_FUN(__glewMultiTexSubImage3DEXT) #define glNamedBufferDataEXT GLEW_GET_FUN(__glewNamedBufferDataEXT) #define glNamedBufferSubDataEXT GLEW_GET_FUN(__glewNamedBufferSubDataEXT) #define glNamedCopyBufferSubDataEXT GLEW_GET_FUN(__glewNamedCopyBufferSubDataEXT) #define glNamedFramebufferRenderbufferEXT GLEW_GET_FUN(__glewNamedFramebufferRenderbufferEXT) #define glNamedFramebufferTexture1DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture1DEXT) #define glNamedFramebufferTexture2DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture2DEXT) #define glNamedFramebufferTexture3DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture3DEXT) #define glNamedFramebufferTextureEXT GLEW_GET_FUN(__glewNamedFramebufferTextureEXT) #define glNamedFramebufferTextureFaceEXT GLEW_GET_FUN(__glewNamedFramebufferTextureFaceEXT) #define glNamedFramebufferTextureLayerEXT GLEW_GET_FUN(__glewNamedFramebufferTextureLayerEXT) #define glNamedProgramLocalParameter4dEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dEXT) #define glNamedProgramLocalParameter4dvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dvEXT) #define glNamedProgramLocalParameter4fEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fEXT) #define glNamedProgramLocalParameter4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fvEXT) #define glNamedProgramLocalParameterI4iEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4iEXT) #define glNamedProgramLocalParameterI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4ivEXT) #define glNamedProgramLocalParameterI4uiEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uiEXT) #define glNamedProgramLocalParameterI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uivEXT) #define glNamedProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameters4fvEXT) #define glNamedProgramLocalParametersI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4ivEXT) #define glNamedProgramLocalParametersI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4uivEXT) #define glNamedProgramStringEXT GLEW_GET_FUN(__glewNamedProgramStringEXT) #define glNamedRenderbufferStorageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageEXT) #define glNamedRenderbufferStorageMultisampleCoverageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleCoverageEXT) #define glNamedRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleEXT) #define glProgramUniform1fEXT GLEW_GET_FUN(__glewProgramUniform1fEXT) #define glProgramUniform1fvEXT GLEW_GET_FUN(__glewProgramUniform1fvEXT) #define glProgramUniform1iEXT GLEW_GET_FUN(__glewProgramUniform1iEXT) #define glProgramUniform1ivEXT GLEW_GET_FUN(__glewProgramUniform1ivEXT) #define glProgramUniform1uiEXT GLEW_GET_FUN(__glewProgramUniform1uiEXT) #define glProgramUniform1uivEXT GLEW_GET_FUN(__glewProgramUniform1uivEXT) #define glProgramUniform2fEXT GLEW_GET_FUN(__glewProgramUniform2fEXT) #define glProgramUniform2fvEXT GLEW_GET_FUN(__glewProgramUniform2fvEXT) #define glProgramUniform2iEXT GLEW_GET_FUN(__glewProgramUniform2iEXT) #define glProgramUniform2ivEXT GLEW_GET_FUN(__glewProgramUniform2ivEXT) #define glProgramUniform2uiEXT GLEW_GET_FUN(__glewProgramUniform2uiEXT) #define glProgramUniform2uivEXT GLEW_GET_FUN(__glewProgramUniform2uivEXT) #define glProgramUniform3fEXT GLEW_GET_FUN(__glewProgramUniform3fEXT) #define glProgramUniform3fvEXT GLEW_GET_FUN(__glewProgramUniform3fvEXT) #define glProgramUniform3iEXT GLEW_GET_FUN(__glewProgramUniform3iEXT) #define glProgramUniform3ivEXT GLEW_GET_FUN(__glewProgramUniform3ivEXT) #define glProgramUniform3uiEXT GLEW_GET_FUN(__glewProgramUniform3uiEXT) #define glProgramUniform3uivEXT GLEW_GET_FUN(__glewProgramUniform3uivEXT) #define glProgramUniform4fEXT GLEW_GET_FUN(__glewProgramUniform4fEXT) #define glProgramUniform4fvEXT GLEW_GET_FUN(__glewProgramUniform4fvEXT) #define glProgramUniform4iEXT GLEW_GET_FUN(__glewProgramUniform4iEXT) #define glProgramUniform4ivEXT GLEW_GET_FUN(__glewProgramUniform4ivEXT) #define glProgramUniform4uiEXT GLEW_GET_FUN(__glewProgramUniform4uiEXT) #define glProgramUniform4uivEXT GLEW_GET_FUN(__glewProgramUniform4uivEXT) #define glProgramUniformMatrix2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2fvEXT) #define glProgramUniformMatrix2x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3fvEXT) #define glProgramUniformMatrix2x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4fvEXT) #define glProgramUniformMatrix3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3fvEXT) #define glProgramUniformMatrix3x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2fvEXT) #define glProgramUniformMatrix3x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4fvEXT) #define glProgramUniformMatrix4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4fvEXT) #define glProgramUniformMatrix4x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2fvEXT) #define glProgramUniformMatrix4x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3fvEXT) #define glPushClientAttribDefaultEXT GLEW_GET_FUN(__glewPushClientAttribDefaultEXT) #define glTextureBufferEXT GLEW_GET_FUN(__glewTextureBufferEXT) #define glTextureImage1DEXT GLEW_GET_FUN(__glewTextureImage1DEXT) #define glTextureImage2DEXT GLEW_GET_FUN(__glewTextureImage2DEXT) #define glTextureImage3DEXT GLEW_GET_FUN(__glewTextureImage3DEXT) #define glTextureParameterIivEXT GLEW_GET_FUN(__glewTextureParameterIivEXT) #define glTextureParameterIuivEXT GLEW_GET_FUN(__glewTextureParameterIuivEXT) #define glTextureParameterfEXT GLEW_GET_FUN(__glewTextureParameterfEXT) #define glTextureParameterfvEXT GLEW_GET_FUN(__glewTextureParameterfvEXT) #define glTextureParameteriEXT GLEW_GET_FUN(__glewTextureParameteriEXT) #define glTextureParameterivEXT GLEW_GET_FUN(__glewTextureParameterivEXT) #define glTextureRenderbufferEXT GLEW_GET_FUN(__glewTextureRenderbufferEXT) #define glTextureSubImage1DEXT GLEW_GET_FUN(__glewTextureSubImage1DEXT) #define glTextureSubImage2DEXT GLEW_GET_FUN(__glewTextureSubImage2DEXT) #define glTextureSubImage3DEXT GLEW_GET_FUN(__glewTextureSubImage3DEXT) #define glUnmapNamedBufferEXT GLEW_GET_FUN(__glewUnmapNamedBufferEXT) #define glVertexArrayColorOffsetEXT GLEW_GET_FUN(__glewVertexArrayColorOffsetEXT) #define glVertexArrayEdgeFlagOffsetEXT GLEW_GET_FUN(__glewVertexArrayEdgeFlagOffsetEXT) #define glVertexArrayFogCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayFogCoordOffsetEXT) #define glVertexArrayIndexOffsetEXT GLEW_GET_FUN(__glewVertexArrayIndexOffsetEXT) #define glVertexArrayMultiTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayMultiTexCoordOffsetEXT) #define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT) #define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT) #define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT) #define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT) #define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT) #define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT) #define GLEW_EXT_direct_state_access GLEW_GET_VAR(__GLEW_EXT_direct_state_access) #endif /* GL_EXT_direct_state_access */ /* -------------------------- GL_EXT_draw_buffers2 ------------------------- */ #ifndef GL_EXT_draw_buffers2 #define GL_EXT_draw_buffers2 1 typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum value, GLuint index, GLboolean* data); typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum value, GLuint index, GLint* data); typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); #define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT) #define glDisableIndexedEXT GLEW_GET_FUN(__glewDisableIndexedEXT) #define glEnableIndexedEXT GLEW_GET_FUN(__glewEnableIndexedEXT) #define glGetBooleanIndexedvEXT GLEW_GET_FUN(__glewGetBooleanIndexedvEXT) #define glGetIntegerIndexedvEXT GLEW_GET_FUN(__glewGetIntegerIndexedvEXT) #define glIsEnabledIndexedEXT GLEW_GET_FUN(__glewIsEnabledIndexedEXT) #define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(__GLEW_EXT_draw_buffers2) #endif /* GL_EXT_draw_buffers2 */ /* ------------------------- GL_EXT_draw_instanced ------------------------- */ #ifndef GL_EXT_draw_instanced #define GL_EXT_draw_instanced 1 typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); #define glDrawArraysInstancedEXT GLEW_GET_FUN(__glewDrawArraysInstancedEXT) #define glDrawElementsInstancedEXT GLEW_GET_FUN(__glewDrawElementsInstancedEXT) #define GLEW_EXT_draw_instanced GLEW_GET_VAR(__GLEW_EXT_draw_instanced) #endif /* GL_EXT_draw_instanced */ /* ----------------------- GL_EXT_draw_range_elements ---------------------- */ #ifndef GL_EXT_draw_range_elements #define GL_EXT_draw_range_elements 1 #define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 #define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); #define glDrawRangeElementsEXT GLEW_GET_FUN(__glewDrawRangeElementsEXT) #define GLEW_EXT_draw_range_elements GLEW_GET_VAR(__GLEW_EXT_draw_range_elements) #endif /* GL_EXT_draw_range_elements */ /* ---------------------------- GL_EXT_fog_coord --------------------------- */ #ifndef GL_EXT_fog_coord #define GL_EXT_fog_coord 1 #define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 #define GL_FOG_COORDINATE_EXT 0x8451 #define GL_FRAGMENT_DEPTH_EXT 0x8452 #define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 #define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord); #define glFogCoordPointerEXT GLEW_GET_FUN(__glewFogCoordPointerEXT) #define glFogCoorddEXT GLEW_GET_FUN(__glewFogCoorddEXT) #define glFogCoorddvEXT GLEW_GET_FUN(__glewFogCoorddvEXT) #define glFogCoordfEXT GLEW_GET_FUN(__glewFogCoordfEXT) #define glFogCoordfvEXT GLEW_GET_FUN(__glewFogCoordfvEXT) #define GLEW_EXT_fog_coord GLEW_GET_VAR(__GLEW_EXT_fog_coord) #endif /* GL_EXT_fog_coord */ /* ------------------------ GL_EXT_fragment_lighting ----------------------- */ #ifndef GL_EXT_fragment_lighting #define GL_EXT_fragment_lighting 1 #define GL_FRAGMENT_LIGHTING_EXT 0x8400 #define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401 #define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402 #define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403 #define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404 #define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405 #define GL_CURRENT_RASTER_NORMAL_EXT 0x8406 #define GL_LIGHT_ENV_MODE_EXT 0x8407 #define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408 #define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409 #define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A #define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B #define GL_FRAGMENT_LIGHT0_EXT 0x840C #define GL_FRAGMENT_LIGHT7_EXT 0x8413 typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALEXTPROC) (GLenum face, GLenum mode); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFEXTPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVEXTPROC) (GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIEXTPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVEXTPROC) (GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFEXTPROC) (GLenum light, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIEXTPROC) (GLenum light, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFEXTPROC) (GLenum face, GLenum pname, const GLfloat param); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIEXTPROC) (GLenum face, GLenum pname, const GLint param); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLLIGHTENVIEXTPROC) (GLenum pname, GLint param); #define glFragmentColorMaterialEXT GLEW_GET_FUN(__glewFragmentColorMaterialEXT) #define glFragmentLightModelfEXT GLEW_GET_FUN(__glewFragmentLightModelfEXT) #define glFragmentLightModelfvEXT GLEW_GET_FUN(__glewFragmentLightModelfvEXT) #define glFragmentLightModeliEXT GLEW_GET_FUN(__glewFragmentLightModeliEXT) #define glFragmentLightModelivEXT GLEW_GET_FUN(__glewFragmentLightModelivEXT) #define glFragmentLightfEXT GLEW_GET_FUN(__glewFragmentLightfEXT) #define glFragmentLightfvEXT GLEW_GET_FUN(__glewFragmentLightfvEXT) #define glFragmentLightiEXT GLEW_GET_FUN(__glewFragmentLightiEXT) #define glFragmentLightivEXT GLEW_GET_FUN(__glewFragmentLightivEXT) #define glFragmentMaterialfEXT GLEW_GET_FUN(__glewFragmentMaterialfEXT) #define glFragmentMaterialfvEXT GLEW_GET_FUN(__glewFragmentMaterialfvEXT) #define glFragmentMaterialiEXT GLEW_GET_FUN(__glewFragmentMaterialiEXT) #define glFragmentMaterialivEXT GLEW_GET_FUN(__glewFragmentMaterialivEXT) #define glGetFragmentLightfvEXT GLEW_GET_FUN(__glewGetFragmentLightfvEXT) #define glGetFragmentLightivEXT GLEW_GET_FUN(__glewGetFragmentLightivEXT) #define glGetFragmentMaterialfvEXT GLEW_GET_FUN(__glewGetFragmentMaterialfvEXT) #define glGetFragmentMaterialivEXT GLEW_GET_FUN(__glewGetFragmentMaterialivEXT) #define glLightEnviEXT GLEW_GET_FUN(__glewLightEnviEXT) #define GLEW_EXT_fragment_lighting GLEW_GET_VAR(__GLEW_EXT_fragment_lighting) #endif /* GL_EXT_fragment_lighting */ /* ------------------------ GL_EXT_framebuffer_blit ------------------------ */ #ifndef GL_EXT_framebuffer_blit #define GL_EXT_framebuffer_blit 1 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 #define GL_READ_FRAMEBUFFER_EXT 0x8CA8 #define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 #define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); #define glBlitFramebufferEXT GLEW_GET_FUN(__glewBlitFramebufferEXT) #define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(__GLEW_EXT_framebuffer_blit) #endif /* GL_EXT_framebuffer_blit */ /* --------------------- GL_EXT_framebuffer_multisample -------------------- */ #ifndef GL_EXT_framebuffer_multisample #define GL_EXT_framebuffer_multisample 1 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 #define GL_MAX_SAMPLES_EXT 0x8D57 typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); #define glRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewRenderbufferStorageMultisampleEXT) #define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample) #endif /* GL_EXT_framebuffer_multisample */ /* --------------- GL_EXT_framebuffer_multisample_blit_scaled -------------- */ #ifndef GL_EXT_framebuffer_multisample_blit_scaled #define GL_EXT_framebuffer_multisample_blit_scaled 1 #define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA #define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB #define GLEW_EXT_framebuffer_multisample_blit_scaled GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample_blit_scaled) #endif /* GL_EXT_framebuffer_multisample_blit_scaled */ /* ----------------------- GL_EXT_framebuffer_object ----------------------- */ #ifndef GL_EXT_framebuffer_object #define GL_EXT_framebuffer_object 1 #define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 #define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 #define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 #define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 #define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC #define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC #define GL_COLOR_ATTACHMENT13_EXT 0x8CED #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF #define GL_DEPTH_ATTACHMENT_EXT 0x8D00 #define GL_STENCIL_ATTACHMENT_EXT 0x8D20 #define GL_FRAMEBUFFER_EXT 0x8D40 #define GL_RENDERBUFFER_EXT 0x8D41 #define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 #define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 #define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 #define GL_STENCIL_INDEX1_EXT 0x8D46 #define GL_STENCIL_INDEX4_EXT 0x8D47 #define GL_STENCIL_INDEX8_EXT 0x8D48 #define GL_STENCIL_INDEX16_EXT 0x8D49 #define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 #define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 #define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 #define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 #define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint* framebuffers); typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint* renderbuffers); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint* framebuffers); typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint* renderbuffers); typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); #define glBindFramebufferEXT GLEW_GET_FUN(__glewBindFramebufferEXT) #define glBindRenderbufferEXT GLEW_GET_FUN(__glewBindRenderbufferEXT) #define glCheckFramebufferStatusEXT GLEW_GET_FUN(__glewCheckFramebufferStatusEXT) #define glDeleteFramebuffersEXT GLEW_GET_FUN(__glewDeleteFramebuffersEXT) #define glDeleteRenderbuffersEXT GLEW_GET_FUN(__glewDeleteRenderbuffersEXT) #define glFramebufferRenderbufferEXT GLEW_GET_FUN(__glewFramebufferRenderbufferEXT) #define glFramebufferTexture1DEXT GLEW_GET_FUN(__glewFramebufferTexture1DEXT) #define glFramebufferTexture2DEXT GLEW_GET_FUN(__glewFramebufferTexture2DEXT) #define glFramebufferTexture3DEXT GLEW_GET_FUN(__glewFramebufferTexture3DEXT) #define glGenFramebuffersEXT GLEW_GET_FUN(__glewGenFramebuffersEXT) #define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT) #define glGenerateMipmapEXT GLEW_GET_FUN(__glewGenerateMipmapEXT) #define glGetFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetFramebufferAttachmentParameterivEXT) #define glGetRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetRenderbufferParameterivEXT) #define glIsFramebufferEXT GLEW_GET_FUN(__glewIsFramebufferEXT) #define glIsRenderbufferEXT GLEW_GET_FUN(__glewIsRenderbufferEXT) #define glRenderbufferStorageEXT GLEW_GET_FUN(__glewRenderbufferStorageEXT) #define GLEW_EXT_framebuffer_object GLEW_GET_VAR(__GLEW_EXT_framebuffer_object) #endif /* GL_EXT_framebuffer_object */ /* ------------------------ GL_EXT_framebuffer_sRGB ------------------------ */ #ifndef GL_EXT_framebuffer_sRGB #define GL_EXT_framebuffer_sRGB 1 #define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 #define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA #define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(__GLEW_EXT_framebuffer_sRGB) #endif /* GL_EXT_framebuffer_sRGB */ /* ------------------------ GL_EXT_geometry_shader4 ------------------------ */ #ifndef GL_EXT_geometry_shader4 #define GL_EXT_geometry_shader4 1 #define GL_LINES_ADJACENCY_EXT 0xA #define GL_LINE_STRIP_ADJACENCY_EXT 0xB #define GL_TRIANGLES_ADJACENCY_EXT 0xC #define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD #define GL_PROGRAM_POINT_SIZE_EXT 0x8642 #define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 #define GL_GEOMETRY_SHADER_EXT 0x8DD9 #define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA #define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB #define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC #define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD #define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF #define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); #define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT) #define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT) #define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT) #define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4) #endif /* GL_EXT_geometry_shader4 */ /* --------------------- GL_EXT_gpu_program_parameters --------------------- */ #ifndef GL_EXT_gpu_program_parameters #define GL_EXT_gpu_program_parameters 1 typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); #define glProgramEnvParameters4fvEXT GLEW_GET_FUN(__glewProgramEnvParameters4fvEXT) #define glProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewProgramLocalParameters4fvEXT) #define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(__GLEW_EXT_gpu_program_parameters) #endif /* GL_EXT_gpu_program_parameters */ /* --------------------------- GL_EXT_gpu_shader4 -------------------------- */ #ifndef GL_EXT_gpu_shader4 #define GL_EXT_gpu_shader4 1 #define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD #define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 #define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 #define GL_SAMPLER_BUFFER_EXT 0x8DC2 #define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 #define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 #define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 #define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 #define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 #define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 #define GL_INT_SAMPLER_1D_EXT 0x8DC9 #define GL_INT_SAMPLER_2D_EXT 0x8DCA #define GL_INT_SAMPLER_3D_EXT 0x8DCB #define GL_INT_SAMPLER_CUBE_EXT 0x8DCC #define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD #define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE #define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF #define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 #define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 #define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 #define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 #define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 #define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name); typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); typedef void (GLAPIENTRY * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0); typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (GLAPIENTRY * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1); typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (GLAPIENTRY * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (GLAPIENTRY * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); #define glBindFragDataLocationEXT GLEW_GET_FUN(__glewBindFragDataLocationEXT) #define glGetFragDataLocationEXT GLEW_GET_FUN(__glewGetFragDataLocationEXT) #define glGetUniformuivEXT GLEW_GET_FUN(__glewGetUniformuivEXT) #define glGetVertexAttribIivEXT GLEW_GET_FUN(__glewGetVertexAttribIivEXT) #define glGetVertexAttribIuivEXT GLEW_GET_FUN(__glewGetVertexAttribIuivEXT) #define glUniform1uiEXT GLEW_GET_FUN(__glewUniform1uiEXT) #define glUniform1uivEXT GLEW_GET_FUN(__glewUniform1uivEXT) #define glUniform2uiEXT GLEW_GET_FUN(__glewUniform2uiEXT) #define glUniform2uivEXT GLEW_GET_FUN(__glewUniform2uivEXT) #define glUniform3uiEXT GLEW_GET_FUN(__glewUniform3uiEXT) #define glUniform3uivEXT GLEW_GET_FUN(__glewUniform3uivEXT) #define glUniform4uiEXT GLEW_GET_FUN(__glewUniform4uiEXT) #define glUniform4uivEXT GLEW_GET_FUN(__glewUniform4uivEXT) #define glVertexAttribI1iEXT GLEW_GET_FUN(__glewVertexAttribI1iEXT) #define glVertexAttribI1ivEXT GLEW_GET_FUN(__glewVertexAttribI1ivEXT) #define glVertexAttribI1uiEXT GLEW_GET_FUN(__glewVertexAttribI1uiEXT) #define glVertexAttribI1uivEXT GLEW_GET_FUN(__glewVertexAttribI1uivEXT) #define glVertexAttribI2iEXT GLEW_GET_FUN(__glewVertexAttribI2iEXT) #define glVertexAttribI2ivEXT GLEW_GET_FUN(__glewVertexAttribI2ivEXT) #define glVertexAttribI2uiEXT GLEW_GET_FUN(__glewVertexAttribI2uiEXT) #define glVertexAttribI2uivEXT GLEW_GET_FUN(__glewVertexAttribI2uivEXT) #define glVertexAttribI3iEXT GLEW_GET_FUN(__glewVertexAttribI3iEXT) #define glVertexAttribI3ivEXT GLEW_GET_FUN(__glewVertexAttribI3ivEXT) #define glVertexAttribI3uiEXT GLEW_GET_FUN(__glewVertexAttribI3uiEXT) #define glVertexAttribI3uivEXT GLEW_GET_FUN(__glewVertexAttribI3uivEXT) #define glVertexAttribI4bvEXT GLEW_GET_FUN(__glewVertexAttribI4bvEXT) #define glVertexAttribI4iEXT GLEW_GET_FUN(__glewVertexAttribI4iEXT) #define glVertexAttribI4ivEXT GLEW_GET_FUN(__glewVertexAttribI4ivEXT) #define glVertexAttribI4svEXT GLEW_GET_FUN(__glewVertexAttribI4svEXT) #define glVertexAttribI4ubvEXT GLEW_GET_FUN(__glewVertexAttribI4ubvEXT) #define glVertexAttribI4uiEXT GLEW_GET_FUN(__glewVertexAttribI4uiEXT) #define glVertexAttribI4uivEXT GLEW_GET_FUN(__glewVertexAttribI4uivEXT) #define glVertexAttribI4usvEXT GLEW_GET_FUN(__glewVertexAttribI4usvEXT) #define glVertexAttribIPointerEXT GLEW_GET_FUN(__glewVertexAttribIPointerEXT) #define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(__GLEW_EXT_gpu_shader4) #endif /* GL_EXT_gpu_shader4 */ /* ---------------------------- GL_EXT_histogram --------------------------- */ #ifndef GL_EXT_histogram #define GL_EXT_histogram 1 #define GL_HISTOGRAM_EXT 0x8024 #define GL_PROXY_HISTOGRAM_EXT 0x8025 #define GL_HISTOGRAM_WIDTH_EXT 0x8026 #define GL_HISTOGRAM_FORMAT_EXT 0x8027 #define GL_HISTOGRAM_RED_SIZE_EXT 0x8028 #define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029 #define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A #define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B #define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C #define GL_HISTOGRAM_SINK_EXT 0x802D #define GL_MINMAX_EXT 0x802E #define GL_MINMAX_FORMAT_EXT 0x802F #define GL_MINMAX_SINK_EXT 0x8030 typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); typedef void (GLAPIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink); typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target); #define glGetHistogramEXT GLEW_GET_FUN(__glewGetHistogramEXT) #define glGetHistogramParameterfvEXT GLEW_GET_FUN(__glewGetHistogramParameterfvEXT) #define glGetHistogramParameterivEXT GLEW_GET_FUN(__glewGetHistogramParameterivEXT) #define glGetMinmaxEXT GLEW_GET_FUN(__glewGetMinmaxEXT) #define glGetMinmaxParameterfvEXT GLEW_GET_FUN(__glewGetMinmaxParameterfvEXT) #define glGetMinmaxParameterivEXT GLEW_GET_FUN(__glewGetMinmaxParameterivEXT) #define glHistogramEXT GLEW_GET_FUN(__glewHistogramEXT) #define glMinmaxEXT GLEW_GET_FUN(__glewMinmaxEXT) #define glResetHistogramEXT GLEW_GET_FUN(__glewResetHistogramEXT) #define glResetMinmaxEXT GLEW_GET_FUN(__glewResetMinmaxEXT) #define GLEW_EXT_histogram GLEW_GET_VAR(__GLEW_EXT_histogram) #endif /* GL_EXT_histogram */ /* ----------------------- GL_EXT_index_array_formats ---------------------- */ #ifndef GL_EXT_index_array_formats #define GL_EXT_index_array_formats 1 #define GLEW_EXT_index_array_formats GLEW_GET_VAR(__GLEW_EXT_index_array_formats) #endif /* GL_EXT_index_array_formats */ /* --------------------------- GL_EXT_index_func --------------------------- */ #ifndef GL_EXT_index_func #define GL_EXT_index_func 1 typedef void (GLAPIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLfloat ref); #define glIndexFuncEXT GLEW_GET_FUN(__glewIndexFuncEXT) #define GLEW_EXT_index_func GLEW_GET_VAR(__GLEW_EXT_index_func) #endif /* GL_EXT_index_func */ /* ------------------------- GL_EXT_index_material ------------------------- */ #ifndef GL_EXT_index_material #define GL_EXT_index_material 1 typedef void (GLAPIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode); #define glIndexMaterialEXT GLEW_GET_FUN(__glewIndexMaterialEXT) #define GLEW_EXT_index_material GLEW_GET_VAR(__GLEW_EXT_index_material) #endif /* GL_EXT_index_material */ /* -------------------------- GL_EXT_index_texture ------------------------- */ #ifndef GL_EXT_index_texture #define GL_EXT_index_texture 1 #define GLEW_EXT_index_texture GLEW_GET_VAR(__GLEW_EXT_index_texture) #endif /* GL_EXT_index_texture */ /* -------------------------- GL_EXT_light_texture ------------------------- */ #ifndef GL_EXT_light_texture #define GL_EXT_light_texture 1 #define GL_FRAGMENT_MATERIAL_EXT 0x8349 #define GL_FRAGMENT_NORMAL_EXT 0x834A #define GL_FRAGMENT_COLOR_EXT 0x834C #define GL_ATTENUATION_EXT 0x834D #define GL_SHADOW_ATTENUATION_EXT 0x834E #define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F #define GL_TEXTURE_LIGHT_EXT 0x8350 #define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351 #define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352 typedef void (GLAPIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode); typedef void (GLAPIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname); typedef void (GLAPIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode); #define glApplyTextureEXT GLEW_GET_FUN(__glewApplyTextureEXT) #define glTextureLightEXT GLEW_GET_FUN(__glewTextureLightEXT) #define glTextureMaterialEXT GLEW_GET_FUN(__glewTextureMaterialEXT) #define GLEW_EXT_light_texture GLEW_GET_VAR(__GLEW_EXT_light_texture) #endif /* GL_EXT_light_texture */ /* ------------------------- GL_EXT_misc_attribute ------------------------- */ #ifndef GL_EXT_misc_attribute #define GL_EXT_misc_attribute 1 #define GLEW_EXT_misc_attribute GLEW_GET_VAR(__GLEW_EXT_misc_attribute) #endif /* GL_EXT_misc_attribute */ /* ------------------------ GL_EXT_multi_draw_arrays ----------------------- */ #ifndef GL_EXT_multi_draw_arrays #define GL_EXT_multi_draw_arrays 1 typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei* count, GLenum type, const GLvoid * const *indices, GLsizei primcount); #define glMultiDrawArraysEXT GLEW_GET_FUN(__glewMultiDrawArraysEXT) #define glMultiDrawElementsEXT GLEW_GET_FUN(__glewMultiDrawElementsEXT) #define GLEW_EXT_multi_draw_arrays GLEW_GET_VAR(__GLEW_EXT_multi_draw_arrays) #endif /* GL_EXT_multi_draw_arrays */ /* --------------------------- GL_EXT_multisample -------------------------- */ #ifndef GL_EXT_multisample #define GL_EXT_multisample 1 #define GL_MULTISAMPLE_EXT 0x809D #define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E #define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F #define GL_SAMPLE_MASK_EXT 0x80A0 #define GL_1PASS_EXT 0x80A1 #define GL_2PASS_0_EXT 0x80A2 #define GL_2PASS_1_EXT 0x80A3 #define GL_4PASS_0_EXT 0x80A4 #define GL_4PASS_1_EXT 0x80A5 #define GL_4PASS_2_EXT 0x80A6 #define GL_4PASS_3_EXT 0x80A7 #define GL_SAMPLE_BUFFERS_EXT 0x80A8 #define GL_SAMPLES_EXT 0x80A9 #define GL_SAMPLE_MASK_VALUE_EXT 0x80AA #define GL_SAMPLE_MASK_INVERT_EXT 0x80AB #define GL_SAMPLE_PATTERN_EXT 0x80AC #define GL_MULTISAMPLE_BIT_EXT 0x20000000 typedef void (GLAPIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert); typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern); #define glSampleMaskEXT GLEW_GET_FUN(__glewSampleMaskEXT) #define glSamplePatternEXT GLEW_GET_FUN(__glewSamplePatternEXT) #define GLEW_EXT_multisample GLEW_GET_VAR(__GLEW_EXT_multisample) #endif /* GL_EXT_multisample */ /* ---------------------- GL_EXT_packed_depth_stencil ---------------------- */ #ifndef GL_EXT_packed_depth_stencil #define GL_EXT_packed_depth_stencil 1 #define GL_DEPTH_STENCIL_EXT 0x84F9 #define GL_UNSIGNED_INT_24_8_EXT 0x84FA #define GL_DEPTH24_STENCIL8_EXT 0x88F0 #define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 #define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(__GLEW_EXT_packed_depth_stencil) #endif /* GL_EXT_packed_depth_stencil */ /* -------------------------- GL_EXT_packed_float -------------------------- */ #ifndef GL_EXT_packed_float #define GL_EXT_packed_float 1 #define GL_R11F_G11F_B10F_EXT 0x8C3A #define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B #define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C #define GLEW_EXT_packed_float GLEW_GET_VAR(__GLEW_EXT_packed_float) #endif /* GL_EXT_packed_float */ /* -------------------------- GL_EXT_packed_pixels ------------------------- */ #ifndef GL_EXT_packed_pixels #define GL_EXT_packed_pixels 1 #define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 #define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 #define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 #define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 #define GLEW_EXT_packed_pixels GLEW_GET_VAR(__GLEW_EXT_packed_pixels) #endif /* GL_EXT_packed_pixels */ /* ------------------------ GL_EXT_paletted_texture ------------------------ */ #ifndef GL_EXT_paletted_texture #define GL_EXT_paletted_texture 1 #define GL_TEXTURE_1D 0x0DE0 #define GL_TEXTURE_2D 0x0DE1 #define GL_PROXY_TEXTURE_1D 0x8063 #define GL_PROXY_TEXTURE_2D 0x8064 #define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 #define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 #define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA #define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB #define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC #define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED #define GL_TEXTURE_CUBE_MAP_ARB 0x8513 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B typedef void (GLAPIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *data); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); #define glColorTableEXT GLEW_GET_FUN(__glewColorTableEXT) #define glGetColorTableEXT GLEW_GET_FUN(__glewGetColorTableEXT) #define glGetColorTableParameterfvEXT GLEW_GET_FUN(__glewGetColorTableParameterfvEXT) #define glGetColorTableParameterivEXT GLEW_GET_FUN(__glewGetColorTableParameterivEXT) #define GLEW_EXT_paletted_texture GLEW_GET_VAR(__GLEW_EXT_paletted_texture) #endif /* GL_EXT_paletted_texture */ /* ----------------------- GL_EXT_pixel_buffer_object ---------------------- */ #ifndef GL_EXT_pixel_buffer_object #define GL_EXT_pixel_buffer_object 1 #define GL_PIXEL_PACK_BUFFER_EXT 0x88EB #define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC #define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED #define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF #define GLEW_EXT_pixel_buffer_object GLEW_GET_VAR(__GLEW_EXT_pixel_buffer_object) #endif /* GL_EXT_pixel_buffer_object */ /* ------------------------- GL_EXT_pixel_transform ------------------------ */ #ifndef GL_EXT_pixel_transform #define GL_EXT_pixel_transform 1 #define GL_PIXEL_TRANSFORM_2D_EXT 0x8330 #define GL_PIXEL_MAG_FILTER_EXT 0x8331 #define GL_PIXEL_MIN_FILTER_EXT 0x8332 #define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333 #define GL_CUBIC_EXT 0x8334 #define GL_AVERAGE_EXT 0x8335 #define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336 #define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337 #define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338 typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, const GLfloat param); typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, const GLint param); typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); #define glGetPixelTransformParameterfvEXT GLEW_GET_FUN(__glewGetPixelTransformParameterfvEXT) #define glGetPixelTransformParameterivEXT GLEW_GET_FUN(__glewGetPixelTransformParameterivEXT) #define glPixelTransformParameterfEXT GLEW_GET_FUN(__glewPixelTransformParameterfEXT) #define glPixelTransformParameterfvEXT GLEW_GET_FUN(__glewPixelTransformParameterfvEXT) #define glPixelTransformParameteriEXT GLEW_GET_FUN(__glewPixelTransformParameteriEXT) #define glPixelTransformParameterivEXT GLEW_GET_FUN(__glewPixelTransformParameterivEXT) #define GLEW_EXT_pixel_transform GLEW_GET_VAR(__GLEW_EXT_pixel_transform) #endif /* GL_EXT_pixel_transform */ /* ------------------- GL_EXT_pixel_transform_color_table ------------------ */ #ifndef GL_EXT_pixel_transform_color_table #define GL_EXT_pixel_transform_color_table 1 #define GLEW_EXT_pixel_transform_color_table GLEW_GET_VAR(__GLEW_EXT_pixel_transform_color_table) #endif /* GL_EXT_pixel_transform_color_table */ /* ------------------------ GL_EXT_point_parameters ------------------------ */ #ifndef GL_EXT_point_parameters #define GL_EXT_point_parameters 1 #define GL_POINT_SIZE_MIN_EXT 0x8126 #define GL_POINT_SIZE_MAX_EXT 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat* params); #define glPointParameterfEXT GLEW_GET_FUN(__glewPointParameterfEXT) #define glPointParameterfvEXT GLEW_GET_FUN(__glewPointParameterfvEXT) #define GLEW_EXT_point_parameters GLEW_GET_VAR(__GLEW_EXT_point_parameters) #endif /* GL_EXT_point_parameters */ /* ------------------------- GL_EXT_polygon_offset ------------------------- */ #ifndef GL_EXT_polygon_offset #define GL_EXT_polygon_offset 1 #define GL_POLYGON_OFFSET_EXT 0x8037 #define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 #define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias); #define glPolygonOffsetEXT GLEW_GET_FUN(__glewPolygonOffsetEXT) #define GLEW_EXT_polygon_offset GLEW_GET_VAR(__GLEW_EXT_polygon_offset) #endif /* GL_EXT_polygon_offset */ /* ------------------------ GL_EXT_provoking_vertex ------------------------ */ #ifndef GL_EXT_provoking_vertex #define GL_EXT_provoking_vertex 1 #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C #define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D #define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E #define GL_PROVOKING_VERTEX_EXT 0x8E4F typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode); #define glProvokingVertexEXT GLEW_GET_FUN(__glewProvokingVertexEXT) #define GLEW_EXT_provoking_vertex GLEW_GET_VAR(__GLEW_EXT_provoking_vertex) #endif /* GL_EXT_provoking_vertex */ /* ------------------------- GL_EXT_rescale_normal ------------------------- */ #ifndef GL_EXT_rescale_normal #define GL_EXT_rescale_normal 1 #define GL_RESCALE_NORMAL_EXT 0x803A #define GLEW_EXT_rescale_normal GLEW_GET_VAR(__GLEW_EXT_rescale_normal) #endif /* GL_EXT_rescale_normal */ /* -------------------------- GL_EXT_scene_marker -------------------------- */ #ifndef GL_EXT_scene_marker #define GL_EXT_scene_marker 1 typedef void (GLAPIENTRY * PFNGLBEGINSCENEEXTPROC) (void); typedef void (GLAPIENTRY * PFNGLENDSCENEEXTPROC) (void); #define glBeginSceneEXT GLEW_GET_FUN(__glewBeginSceneEXT) #define glEndSceneEXT GLEW_GET_FUN(__glewEndSceneEXT) #define GLEW_EXT_scene_marker GLEW_GET_VAR(__GLEW_EXT_scene_marker) #endif /* GL_EXT_scene_marker */ /* ------------------------- GL_EXT_secondary_color ------------------------ */ #ifndef GL_EXT_secondary_color #define GL_EXT_secondary_color 1 #define GL_COLOR_SUM_EXT 0x8458 #define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D #define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); #define glSecondaryColor3bEXT GLEW_GET_FUN(__glewSecondaryColor3bEXT) #define glSecondaryColor3bvEXT GLEW_GET_FUN(__glewSecondaryColor3bvEXT) #define glSecondaryColor3dEXT GLEW_GET_FUN(__glewSecondaryColor3dEXT) #define glSecondaryColor3dvEXT GLEW_GET_FUN(__glewSecondaryColor3dvEXT) #define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT) #define glSecondaryColor3fvEXT GLEW_GET_FUN(__glewSecondaryColor3fvEXT) #define glSecondaryColor3iEXT GLEW_GET_FUN(__glewSecondaryColor3iEXT) #define glSecondaryColor3ivEXT GLEW_GET_FUN(__glewSecondaryColor3ivEXT) #define glSecondaryColor3sEXT GLEW_GET_FUN(__glewSecondaryColor3sEXT) #define glSecondaryColor3svEXT GLEW_GET_FUN(__glewSecondaryColor3svEXT) #define glSecondaryColor3ubEXT GLEW_GET_FUN(__glewSecondaryColor3ubEXT) #define glSecondaryColor3ubvEXT GLEW_GET_FUN(__glewSecondaryColor3ubvEXT) #define glSecondaryColor3uiEXT GLEW_GET_FUN(__glewSecondaryColor3uiEXT) #define glSecondaryColor3uivEXT GLEW_GET_FUN(__glewSecondaryColor3uivEXT) #define glSecondaryColor3usEXT GLEW_GET_FUN(__glewSecondaryColor3usEXT) #define glSecondaryColor3usvEXT GLEW_GET_FUN(__glewSecondaryColor3usvEXT) #define glSecondaryColorPointerEXT GLEW_GET_FUN(__glewSecondaryColorPointerEXT) #define GLEW_EXT_secondary_color GLEW_GET_VAR(__GLEW_EXT_secondary_color) #endif /* GL_EXT_secondary_color */ /* --------------------- GL_EXT_separate_shader_objects -------------------- */ #ifndef GL_EXT_separate_shader_objects #define GL_EXT_separate_shader_objects 1 #define GL_ACTIVE_PROGRAM_EXT 0x8B8D typedef void (GLAPIENTRY * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program); typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar* string); typedef void (GLAPIENTRY * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program); #define glActiveProgramEXT GLEW_GET_FUN(__glewActiveProgramEXT) #define glCreateShaderProgramEXT GLEW_GET_FUN(__glewCreateShaderProgramEXT) #define glUseShaderProgramEXT GLEW_GET_FUN(__glewUseShaderProgramEXT) #define GLEW_EXT_separate_shader_objects GLEW_GET_VAR(__GLEW_EXT_separate_shader_objects) #endif /* GL_EXT_separate_shader_objects */ /* --------------------- GL_EXT_separate_specular_color -------------------- */ #ifndef GL_EXT_separate_specular_color #define GL_EXT_separate_specular_color 1 #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 #define GL_SINGLE_COLOR_EXT 0x81F9 #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA #define GLEW_EXT_separate_specular_color GLEW_GET_VAR(__GLEW_EXT_separate_specular_color) #endif /* GL_EXT_separate_specular_color */ /* --------------------- GL_EXT_shader_image_load_store -------------------- */ #ifndef GL_EXT_shader_image_load_store #define GL_EXT_shader_image_load_store 1 #define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001 #define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002 #define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004 #define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008 #define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020 #define GL_COMMAND_BARRIER_BIT_EXT 0x00000040 #define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080 #define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 #define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200 #define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400 #define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800 #define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000 #define GL_MAX_IMAGE_UNITS_EXT 0x8F38 #define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39 #define GL_IMAGE_BINDING_NAME_EXT 0x8F3A #define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B #define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C #define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D #define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E #define GL_IMAGE_1D_EXT 0x904C #define GL_IMAGE_2D_EXT 0x904D #define GL_IMAGE_3D_EXT 0x904E #define GL_IMAGE_2D_RECT_EXT 0x904F #define GL_IMAGE_CUBE_EXT 0x9050 #define GL_IMAGE_BUFFER_EXT 0x9051 #define GL_IMAGE_1D_ARRAY_EXT 0x9052 #define GL_IMAGE_2D_ARRAY_EXT 0x9053 #define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 #define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056 #define GL_INT_IMAGE_1D_EXT 0x9057 #define GL_INT_IMAGE_2D_EXT 0x9058 #define GL_INT_IMAGE_3D_EXT 0x9059 #define GL_INT_IMAGE_2D_RECT_EXT 0x905A #define GL_INT_IMAGE_CUBE_EXT 0x905B #define GL_INT_IMAGE_BUFFER_EXT 0x905C #define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D #define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E #define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F #define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061 #define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062 #define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063 #define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064 #define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065 #define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066 #define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C #define GL_MAX_IMAGE_SAMPLES_EXT 0x906D #define GL_IMAGE_BINDING_FORMAT_EXT 0x906E #define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format); typedef void (GLAPIENTRY * PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers); #define glBindImageTextureEXT GLEW_GET_FUN(__glewBindImageTextureEXT) #define glMemoryBarrierEXT GLEW_GET_FUN(__glewMemoryBarrierEXT) #define GLEW_EXT_shader_image_load_store GLEW_GET_VAR(__GLEW_EXT_shader_image_load_store) #endif /* GL_EXT_shader_image_load_store */ /* -------------------------- GL_EXT_shadow_funcs -------------------------- */ #ifndef GL_EXT_shadow_funcs #define GL_EXT_shadow_funcs 1 #define GLEW_EXT_shadow_funcs GLEW_GET_VAR(__GLEW_EXT_shadow_funcs) #endif /* GL_EXT_shadow_funcs */ /* --------------------- GL_EXT_shared_texture_palette --------------------- */ #ifndef GL_EXT_shared_texture_palette #define GL_EXT_shared_texture_palette 1 #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB #define GLEW_EXT_shared_texture_palette GLEW_GET_VAR(__GLEW_EXT_shared_texture_palette) #endif /* GL_EXT_shared_texture_palette */ /* ------------------------ GL_EXT_stencil_clear_tag ----------------------- */ #ifndef GL_EXT_stencil_clear_tag #define GL_EXT_stencil_clear_tag 1 #define GL_STENCIL_TAG_BITS_EXT 0x88F2 #define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 #define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(__GLEW_EXT_stencil_clear_tag) #endif /* GL_EXT_stencil_clear_tag */ /* ------------------------ GL_EXT_stencil_two_side ------------------------ */ #ifndef GL_EXT_stencil_two_side #define GL_EXT_stencil_two_side 1 #define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 #define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 typedef void (GLAPIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face); #define glActiveStencilFaceEXT GLEW_GET_FUN(__glewActiveStencilFaceEXT) #define GLEW_EXT_stencil_two_side GLEW_GET_VAR(__GLEW_EXT_stencil_two_side) #endif /* GL_EXT_stencil_two_side */ /* -------------------------- GL_EXT_stencil_wrap -------------------------- */ #ifndef GL_EXT_stencil_wrap #define GL_EXT_stencil_wrap 1 #define GL_INCR_WRAP_EXT 0x8507 #define GL_DECR_WRAP_EXT 0x8508 #define GLEW_EXT_stencil_wrap GLEW_GET_VAR(__GLEW_EXT_stencil_wrap) #endif /* GL_EXT_stencil_wrap */ /* --------------------------- GL_EXT_subtexture --------------------------- */ #ifndef GL_EXT_subtexture #define GL_EXT_subtexture 1 typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); #define glTexSubImage1DEXT GLEW_GET_FUN(__glewTexSubImage1DEXT) #define glTexSubImage2DEXT GLEW_GET_FUN(__glewTexSubImage2DEXT) #define glTexSubImage3DEXT GLEW_GET_FUN(__glewTexSubImage3DEXT) #define GLEW_EXT_subtexture GLEW_GET_VAR(__GLEW_EXT_subtexture) #endif /* GL_EXT_subtexture */ /* ----------------------------- GL_EXT_texture ---------------------------- */ #ifndef GL_EXT_texture #define GL_EXT_texture 1 #define GL_ALPHA4_EXT 0x803B #define GL_ALPHA8_EXT 0x803C #define GL_ALPHA12_EXT 0x803D #define GL_ALPHA16_EXT 0x803E #define GL_LUMINANCE4_EXT 0x803F #define GL_LUMINANCE8_EXT 0x8040 #define GL_LUMINANCE12_EXT 0x8041 #define GL_LUMINANCE16_EXT 0x8042 #define GL_LUMINANCE4_ALPHA4_EXT 0x8043 #define GL_LUMINANCE6_ALPHA2_EXT 0x8044 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045 #define GL_LUMINANCE12_ALPHA4_EXT 0x8046 #define GL_LUMINANCE12_ALPHA12_EXT 0x8047 #define GL_LUMINANCE16_ALPHA16_EXT 0x8048 #define GL_INTENSITY_EXT 0x8049 #define GL_INTENSITY4_EXT 0x804A #define GL_INTENSITY8_EXT 0x804B #define GL_INTENSITY12_EXT 0x804C #define GL_INTENSITY16_EXT 0x804D #define GL_RGB2_EXT 0x804E #define GL_RGB4_EXT 0x804F #define GL_RGB5_EXT 0x8050 #define GL_RGB8_EXT 0x8051 #define GL_RGB10_EXT 0x8052 #define GL_RGB12_EXT 0x8053 #define GL_RGB16_EXT 0x8054 #define GL_RGBA2_EXT 0x8055 #define GL_RGBA4_EXT 0x8056 #define GL_RGB5_A1_EXT 0x8057 #define GL_RGBA8_EXT 0x8058 #define GL_RGB10_A2_EXT 0x8059 #define GL_RGBA12_EXT 0x805A #define GL_RGBA16_EXT 0x805B #define GL_TEXTURE_RED_SIZE_EXT 0x805C #define GL_TEXTURE_GREEN_SIZE_EXT 0x805D #define GL_TEXTURE_BLUE_SIZE_EXT 0x805E #define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F #define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060 #define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061 #define GL_REPLACE_EXT 0x8062 #define GL_PROXY_TEXTURE_1D_EXT 0x8063 #define GL_PROXY_TEXTURE_2D_EXT 0x8064 #define GLEW_EXT_texture GLEW_GET_VAR(__GLEW_EXT_texture) #endif /* GL_EXT_texture */ /* ---------------------------- GL_EXT_texture3D --------------------------- */ #ifndef GL_EXT_texture3D #define GL_EXT_texture3D 1 #define GL_PACK_SKIP_IMAGES_EXT 0x806B #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E #define GL_TEXTURE_3D_EXT 0x806F #define GL_PROXY_TEXTURE_3D_EXT 0x8070 #define GL_TEXTURE_DEPTH_EXT 0x8071 #define GL_TEXTURE_WRAP_R_EXT 0x8072 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); #define glTexImage3DEXT GLEW_GET_FUN(__glewTexImage3DEXT) #define GLEW_EXT_texture3D GLEW_GET_VAR(__GLEW_EXT_texture3D) #endif /* GL_EXT_texture3D */ /* -------------------------- GL_EXT_texture_array ------------------------- */ #ifndef GL_EXT_texture_array #define GL_EXT_texture_array 1 #define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E #define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF #define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 #define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 #define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A #define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B #define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C #define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); #define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT) #define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array) #endif /* GL_EXT_texture_array */ /* ---------------------- GL_EXT_texture_buffer_object --------------------- */ #ifndef GL_EXT_texture_buffer_object #define GL_EXT_texture_buffer_object 1 #define GL_TEXTURE_BUFFER_EXT 0x8C2A #define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B #define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D #define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); #define glTexBufferEXT GLEW_GET_FUN(__glewTexBufferEXT) #define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(__GLEW_EXT_texture_buffer_object) #endif /* GL_EXT_texture_buffer_object */ /* -------------------- GL_EXT_texture_compression_dxt1 -------------------- */ #ifndef GL_EXT_texture_compression_dxt1 #define GL_EXT_texture_compression_dxt1 1 #define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_EXT_texture_compression_dxt1) #endif /* GL_EXT_texture_compression_dxt1 */ /* -------------------- GL_EXT_texture_compression_latc -------------------- */ #ifndef GL_EXT_texture_compression_latc #define GL_EXT_texture_compression_latc 1 #define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 #define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 #define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 #define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 #define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(__GLEW_EXT_texture_compression_latc) #endif /* GL_EXT_texture_compression_latc */ /* -------------------- GL_EXT_texture_compression_rgtc -------------------- */ #ifndef GL_EXT_texture_compression_rgtc #define GL_EXT_texture_compression_rgtc 1 #define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB #define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC #define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD #define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE #define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(__GLEW_EXT_texture_compression_rgtc) #endif /* GL_EXT_texture_compression_rgtc */ /* -------------------- GL_EXT_texture_compression_s3tc -------------------- */ #ifndef GL_EXT_texture_compression_s3tc #define GL_EXT_texture_compression_s3tc 1 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 #define GLEW_EXT_texture_compression_s3tc GLEW_GET_VAR(__GLEW_EXT_texture_compression_s3tc) #endif /* GL_EXT_texture_compression_s3tc */ /* ------------------------ GL_EXT_texture_cube_map ------------------------ */ #ifndef GL_EXT_texture_cube_map #define GL_EXT_texture_cube_map 1 #define GL_NORMAL_MAP_EXT 0x8511 #define GL_REFLECTION_MAP_EXT 0x8512 #define GL_TEXTURE_CUBE_MAP_EXT 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A #define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C #define GLEW_EXT_texture_cube_map GLEW_GET_VAR(__GLEW_EXT_texture_cube_map) #endif /* GL_EXT_texture_cube_map */ /* ----------------------- GL_EXT_texture_edge_clamp ----------------------- */ #ifndef GL_EXT_texture_edge_clamp #define GL_EXT_texture_edge_clamp 1 #define GL_CLAMP_TO_EDGE_EXT 0x812F #define GLEW_EXT_texture_edge_clamp GLEW_GET_VAR(__GLEW_EXT_texture_edge_clamp) #endif /* GL_EXT_texture_edge_clamp */ /* --------------------------- GL_EXT_texture_env -------------------------- */ #ifndef GL_EXT_texture_env #define GL_EXT_texture_env 1 #define GLEW_EXT_texture_env GLEW_GET_VAR(__GLEW_EXT_texture_env) #endif /* GL_EXT_texture_env */ /* ------------------------- GL_EXT_texture_env_add ------------------------ */ #ifndef GL_EXT_texture_env_add #define GL_EXT_texture_env_add 1 #define GLEW_EXT_texture_env_add GLEW_GET_VAR(__GLEW_EXT_texture_env_add) #endif /* GL_EXT_texture_env_add */ /* ----------------------- GL_EXT_texture_env_combine ---------------------- */ #ifndef GL_EXT_texture_env_combine #define GL_EXT_texture_env_combine 1 #define GL_COMBINE_EXT 0x8570 #define GL_COMBINE_RGB_EXT 0x8571 #define GL_COMBINE_ALPHA_EXT 0x8572 #define GL_RGB_SCALE_EXT 0x8573 #define GL_ADD_SIGNED_EXT 0x8574 #define GL_INTERPOLATE_EXT 0x8575 #define GL_CONSTANT_EXT 0x8576 #define GL_PRIMARY_COLOR_EXT 0x8577 #define GL_PREVIOUS_EXT 0x8578 #define GL_SOURCE0_RGB_EXT 0x8580 #define GL_SOURCE1_RGB_EXT 0x8581 #define GL_SOURCE2_RGB_EXT 0x8582 #define GL_SOURCE0_ALPHA_EXT 0x8588 #define GL_SOURCE1_ALPHA_EXT 0x8589 #define GL_SOURCE2_ALPHA_EXT 0x858A #define GL_OPERAND0_RGB_EXT 0x8590 #define GL_OPERAND1_RGB_EXT 0x8591 #define GL_OPERAND2_RGB_EXT 0x8592 #define GL_OPERAND0_ALPHA_EXT 0x8598 #define GL_OPERAND1_ALPHA_EXT 0x8599 #define GL_OPERAND2_ALPHA_EXT 0x859A #define GLEW_EXT_texture_env_combine GLEW_GET_VAR(__GLEW_EXT_texture_env_combine) #endif /* GL_EXT_texture_env_combine */ /* ------------------------ GL_EXT_texture_env_dot3 ------------------------ */ #ifndef GL_EXT_texture_env_dot3 #define GL_EXT_texture_env_dot3 1 #define GL_DOT3_RGB_EXT 0x8740 #define GL_DOT3_RGBA_EXT 0x8741 #define GLEW_EXT_texture_env_dot3 GLEW_GET_VAR(__GLEW_EXT_texture_env_dot3) #endif /* GL_EXT_texture_env_dot3 */ /* ------------------- GL_EXT_texture_filter_anisotropic ------------------- */ #ifndef GL_EXT_texture_filter_anisotropic #define GL_EXT_texture_filter_anisotropic 1 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF #define GLEW_EXT_texture_filter_anisotropic GLEW_GET_VAR(__GLEW_EXT_texture_filter_anisotropic) #endif /* GL_EXT_texture_filter_anisotropic */ /* ------------------------- GL_EXT_texture_integer ------------------------ */ #ifndef GL_EXT_texture_integer #define GL_EXT_texture_integer 1 #define GL_RGBA32UI_EXT 0x8D70 #define GL_RGB32UI_EXT 0x8D71 #define GL_ALPHA32UI_EXT 0x8D72 #define GL_INTENSITY32UI_EXT 0x8D73 #define GL_LUMINANCE32UI_EXT 0x8D74 #define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 #define GL_RGBA16UI_EXT 0x8D76 #define GL_RGB16UI_EXT 0x8D77 #define GL_ALPHA16UI_EXT 0x8D78 #define GL_INTENSITY16UI_EXT 0x8D79 #define GL_LUMINANCE16UI_EXT 0x8D7A #define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B #define GL_RGBA8UI_EXT 0x8D7C #define GL_RGB8UI_EXT 0x8D7D #define GL_ALPHA8UI_EXT 0x8D7E #define GL_INTENSITY8UI_EXT 0x8D7F #define GL_LUMINANCE8UI_EXT 0x8D80 #define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 #define GL_RGBA32I_EXT 0x8D82 #define GL_RGB32I_EXT 0x8D83 #define GL_ALPHA32I_EXT 0x8D84 #define GL_INTENSITY32I_EXT 0x8D85 #define GL_LUMINANCE32I_EXT 0x8D86 #define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 #define GL_RGBA16I_EXT 0x8D88 #define GL_RGB16I_EXT 0x8D89 #define GL_ALPHA16I_EXT 0x8D8A #define GL_INTENSITY16I_EXT 0x8D8B #define GL_LUMINANCE16I_EXT 0x8D8C #define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D #define GL_RGBA8I_EXT 0x8D8E #define GL_RGB8I_EXT 0x8D8F #define GL_ALPHA8I_EXT 0x8D90 #define GL_INTENSITY8I_EXT 0x8D91 #define GL_LUMINANCE8I_EXT 0x8D92 #define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 #define GL_RED_INTEGER_EXT 0x8D94 #define GL_GREEN_INTEGER_EXT 0x8D95 #define GL_BLUE_INTEGER_EXT 0x8D96 #define GL_ALPHA_INTEGER_EXT 0x8D97 #define GL_RGB_INTEGER_EXT 0x8D98 #define GL_RGBA_INTEGER_EXT 0x8D99 #define GL_BGR_INTEGER_EXT 0x8D9A #define GL_BGRA_INTEGER_EXT 0x8D9B #define GL_LUMINANCE_INTEGER_EXT 0x8D9C #define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D #define GL_RGBA_INTEGER_MODE_EXT 0x8D9E typedef void (GLAPIENTRY * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha); typedef void (GLAPIENTRY * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); #define glClearColorIiEXT GLEW_GET_FUN(__glewClearColorIiEXT) #define glClearColorIuiEXT GLEW_GET_FUN(__glewClearColorIuiEXT) #define glGetTexParameterIivEXT GLEW_GET_FUN(__glewGetTexParameterIivEXT) #define glGetTexParameterIuivEXT GLEW_GET_FUN(__glewGetTexParameterIuivEXT) #define glTexParameterIivEXT GLEW_GET_FUN(__glewTexParameterIivEXT) #define glTexParameterIuivEXT GLEW_GET_FUN(__glewTexParameterIuivEXT) #define GLEW_EXT_texture_integer GLEW_GET_VAR(__GLEW_EXT_texture_integer) #endif /* GL_EXT_texture_integer */ /* ------------------------ GL_EXT_texture_lod_bias ------------------------ */ #ifndef GL_EXT_texture_lod_bias #define GL_EXT_texture_lod_bias 1 #define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 #define GL_TEXTURE_LOD_BIAS_EXT 0x8501 #define GLEW_EXT_texture_lod_bias GLEW_GET_VAR(__GLEW_EXT_texture_lod_bias) #endif /* GL_EXT_texture_lod_bias */ /* ---------------------- GL_EXT_texture_mirror_clamp ---------------------- */ #ifndef GL_EXT_texture_mirror_clamp #define GL_EXT_texture_mirror_clamp 1 #define GL_MIRROR_CLAMP_EXT 0x8742 #define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 #define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 #define GLEW_EXT_texture_mirror_clamp GLEW_GET_VAR(__GLEW_EXT_texture_mirror_clamp) #endif /* GL_EXT_texture_mirror_clamp */ /* ------------------------- GL_EXT_texture_object ------------------------- */ #ifndef GL_EXT_texture_object #define GL_EXT_texture_object 1 #define GL_TEXTURE_PRIORITY_EXT 0x8066 #define GL_TEXTURE_RESIDENT_EXT 0x8067 #define GL_TEXTURE_1D_BINDING_EXT 0x8068 #define GL_TEXTURE_2D_BINDING_EXT 0x8069 #define GL_TEXTURE_3D_BINDING_EXT 0x806A typedef GLboolean (GLAPIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint* textures, GLboolean* residences); typedef void (GLAPIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture); typedef void (GLAPIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint* textures); typedef void (GLAPIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint* textures); typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture); typedef void (GLAPIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint* textures, const GLclampf* priorities); #define glAreTexturesResidentEXT GLEW_GET_FUN(__glewAreTexturesResidentEXT) #define glBindTextureEXT GLEW_GET_FUN(__glewBindTextureEXT) #define glDeleteTexturesEXT GLEW_GET_FUN(__glewDeleteTexturesEXT) #define glGenTexturesEXT GLEW_GET_FUN(__glewGenTexturesEXT) #define glIsTextureEXT GLEW_GET_FUN(__glewIsTextureEXT) #define glPrioritizeTexturesEXT GLEW_GET_FUN(__glewPrioritizeTexturesEXT) #define GLEW_EXT_texture_object GLEW_GET_VAR(__GLEW_EXT_texture_object) #endif /* GL_EXT_texture_object */ /* --------------------- GL_EXT_texture_perturb_normal --------------------- */ #ifndef GL_EXT_texture_perturb_normal #define GL_EXT_texture_perturb_normal 1 #define GL_PERTURB_EXT 0x85AE #define GL_TEXTURE_NORMAL_EXT 0x85AF typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode); #define glTextureNormalEXT GLEW_GET_FUN(__glewTextureNormalEXT) #define GLEW_EXT_texture_perturb_normal GLEW_GET_VAR(__GLEW_EXT_texture_perturb_normal) #endif /* GL_EXT_texture_perturb_normal */ /* ------------------------ GL_EXT_texture_rectangle ----------------------- */ #ifndef GL_EXT_texture_rectangle #define GL_EXT_texture_rectangle 1 #define GL_TEXTURE_RECTANGLE_EXT 0x84F5 #define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6 #define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8 #define GLEW_EXT_texture_rectangle GLEW_GET_VAR(__GLEW_EXT_texture_rectangle) #endif /* GL_EXT_texture_rectangle */ /* -------------------------- GL_EXT_texture_sRGB -------------------------- */ #ifndef GL_EXT_texture_sRGB #define GL_EXT_texture_sRGB 1 #define GL_SRGB_EXT 0x8C40 #define GL_SRGB8_EXT 0x8C41 #define GL_SRGB_ALPHA_EXT 0x8C42 #define GL_SRGB8_ALPHA8_EXT 0x8C43 #define GL_SLUMINANCE_ALPHA_EXT 0x8C44 #define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 #define GL_SLUMINANCE_EXT 0x8C46 #define GL_SLUMINANCE8_EXT 0x8C47 #define GL_COMPRESSED_SRGB_EXT 0x8C48 #define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 #define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A #define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B #define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F #define GLEW_EXT_texture_sRGB GLEW_GET_VAR(__GLEW_EXT_texture_sRGB) #endif /* GL_EXT_texture_sRGB */ /* ----------------------- GL_EXT_texture_sRGB_decode ---------------------- */ #ifndef GL_EXT_texture_sRGB_decode #define GL_EXT_texture_sRGB_decode 1 #define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 #define GL_DECODE_EXT 0x8A49 #define GL_SKIP_DECODE_EXT 0x8A4A #define GLEW_EXT_texture_sRGB_decode GLEW_GET_VAR(__GLEW_EXT_texture_sRGB_decode) #endif /* GL_EXT_texture_sRGB_decode */ /* --------------------- GL_EXT_texture_shared_exponent -------------------- */ #ifndef GL_EXT_texture_shared_exponent #define GL_EXT_texture_shared_exponent 1 #define GL_RGB9_E5_EXT 0x8C3D #define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E #define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F #define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(__GLEW_EXT_texture_shared_exponent) #endif /* GL_EXT_texture_shared_exponent */ /* -------------------------- GL_EXT_texture_snorm ------------------------- */ #ifndef GL_EXT_texture_snorm #define GL_EXT_texture_snorm 1 #define GL_RED_SNORM 0x8F90 #define GL_RG_SNORM 0x8F91 #define GL_RGB_SNORM 0x8F92 #define GL_RGBA_SNORM 0x8F93 #define GL_R8_SNORM 0x8F94 #define GL_RG8_SNORM 0x8F95 #define GL_RGB8_SNORM 0x8F96 #define GL_RGBA8_SNORM 0x8F97 #define GL_R16_SNORM 0x8F98 #define GL_RG16_SNORM 0x8F99 #define GL_RGB16_SNORM 0x8F9A #define GL_RGBA16_SNORM 0x8F9B #define GL_SIGNED_NORMALIZED 0x8F9C #define GL_ALPHA_SNORM 0x9010 #define GL_LUMINANCE_SNORM 0x9011 #define GL_LUMINANCE_ALPHA_SNORM 0x9012 #define GL_INTENSITY_SNORM 0x9013 #define GL_ALPHA8_SNORM 0x9014 #define GL_LUMINANCE8_SNORM 0x9015 #define GL_LUMINANCE8_ALPHA8_SNORM 0x9016 #define GL_INTENSITY8_SNORM 0x9017 #define GL_ALPHA16_SNORM 0x9018 #define GL_LUMINANCE16_SNORM 0x9019 #define GL_LUMINANCE16_ALPHA16_SNORM 0x901A #define GL_INTENSITY16_SNORM 0x901B #define GLEW_EXT_texture_snorm GLEW_GET_VAR(__GLEW_EXT_texture_snorm) #endif /* GL_EXT_texture_snorm */ /* ------------------------- GL_EXT_texture_swizzle ------------------------ */ #ifndef GL_EXT_texture_swizzle #define GL_EXT_texture_swizzle 1 #define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 #define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 #define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 #define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 #define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 #define GLEW_EXT_texture_swizzle GLEW_GET_VAR(__GLEW_EXT_texture_swizzle) #endif /* GL_EXT_texture_swizzle */ /* --------------------------- GL_EXT_timer_query -------------------------- */ #ifndef GL_EXT_timer_query #define GL_EXT_timer_query 1 #define GL_TIME_ELAPSED_EXT 0x88BF typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); #define glGetQueryObjecti64vEXT GLEW_GET_FUN(__glewGetQueryObjecti64vEXT) #define glGetQueryObjectui64vEXT GLEW_GET_FUN(__glewGetQueryObjectui64vEXT) #define GLEW_EXT_timer_query GLEW_GET_VAR(__GLEW_EXT_timer_query) #endif /* GL_EXT_timer_query */ /* ----------------------- GL_EXT_transform_feedback ----------------------- */ #ifndef GL_EXT_transform_feedback #define GL_EXT_transform_feedback 1 #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 #define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 #define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 #define GL_PRIMITIVES_GENERATED_EXT 0x8C87 #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 #define GL_RASTERIZER_DISCARD_EXT 0x8C89 #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B #define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C #define GL_SEPARATE_ATTRIBS_EXT 0x8C8D #define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode); typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer); typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void); typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, GLchar *name); typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar * const* varyings, GLenum bufferMode); #define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT) #define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT) #define glBindBufferOffsetEXT GLEW_GET_FUN(__glewBindBufferOffsetEXT) #define glBindBufferRangeEXT GLEW_GET_FUN(__glewBindBufferRangeEXT) #define glEndTransformFeedbackEXT GLEW_GET_FUN(__glewEndTransformFeedbackEXT) #define glGetTransformFeedbackVaryingEXT GLEW_GET_FUN(__glewGetTransformFeedbackVaryingEXT) #define glTransformFeedbackVaryingsEXT GLEW_GET_FUN(__glewTransformFeedbackVaryingsEXT) #define GLEW_EXT_transform_feedback GLEW_GET_VAR(__GLEW_EXT_transform_feedback) #endif /* GL_EXT_transform_feedback */ /* -------------------------- GL_EXT_vertex_array -------------------------- */ #ifndef GL_EXT_vertex_array #define GL_EXT_vertex_array 1 #define GL_DOUBLE_EXT 0x140A #define GL_VERTEX_ARRAY_EXT 0x8074 #define GL_NORMAL_ARRAY_EXT 0x8075 #define GL_COLOR_ARRAY_EXT 0x8076 #define GL_INDEX_ARRAY_EXT 0x8077 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F #define GL_COLOR_ARRAY_POINTER_EXT 0x8090 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 typedef void (GLAPIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i); typedef void (GLAPIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean* pointer); typedef void (GLAPIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); #define glArrayElementEXT GLEW_GET_FUN(__glewArrayElementEXT) #define glColorPointerEXT GLEW_GET_FUN(__glewColorPointerEXT) #define glDrawArraysEXT GLEW_GET_FUN(__glewDrawArraysEXT) #define glEdgeFlagPointerEXT GLEW_GET_FUN(__glewEdgeFlagPointerEXT) #define glIndexPointerEXT GLEW_GET_FUN(__glewIndexPointerEXT) #define glNormalPointerEXT GLEW_GET_FUN(__glewNormalPointerEXT) #define glTexCoordPointerEXT GLEW_GET_FUN(__glewTexCoordPointerEXT) #define glVertexPointerEXT GLEW_GET_FUN(__glewVertexPointerEXT) #define GLEW_EXT_vertex_array GLEW_GET_VAR(__GLEW_EXT_vertex_array) #endif /* GL_EXT_vertex_array */ /* ------------------------ GL_EXT_vertex_array_bgra ----------------------- */ #ifndef GL_EXT_vertex_array_bgra #define GL_EXT_vertex_array_bgra 1 #define GL_BGRA 0x80E1 #define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(__GLEW_EXT_vertex_array_bgra) #endif /* GL_EXT_vertex_array_bgra */ /* ----------------------- GL_EXT_vertex_attrib_64bit ---------------------- */ #ifndef GL_EXT_vertex_attrib_64bit #define GL_EXT_vertex_attrib_64bit 1 #define GL_DOUBLE_MAT2_EXT 0x8F46 #define GL_DOUBLE_MAT3_EXT 0x8F47 #define GL_DOUBLE_MAT4_EXT 0x8F48 #define GL_DOUBLE_MAT2x3_EXT 0x8F49 #define GL_DOUBLE_MAT2x4_EXT 0x8F4A #define GL_DOUBLE_MAT3x2_EXT 0x8F4B #define GL_DOUBLE_MAT3x4_EXT 0x8F4C #define GL_DOUBLE_MAT4x2_EXT 0x8F4D #define GL_DOUBLE_MAT4x3_EXT 0x8F4E #define GL_DOUBLE_VEC2_EXT 0x8FFC #define GL_DOUBLE_VEC3_EXT 0x8FFD #define GL_DOUBLE_VEC4_EXT 0x8FFE typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); #define glGetVertexAttribLdvEXT GLEW_GET_FUN(__glewGetVertexAttribLdvEXT) #define glVertexArrayVertexAttribLOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLOffsetEXT) #define glVertexAttribL1dEXT GLEW_GET_FUN(__glewVertexAttribL1dEXT) #define glVertexAttribL1dvEXT GLEW_GET_FUN(__glewVertexAttribL1dvEXT) #define glVertexAttribL2dEXT GLEW_GET_FUN(__glewVertexAttribL2dEXT) #define glVertexAttribL2dvEXT GLEW_GET_FUN(__glewVertexAttribL2dvEXT) #define glVertexAttribL3dEXT GLEW_GET_FUN(__glewVertexAttribL3dEXT) #define glVertexAttribL3dvEXT GLEW_GET_FUN(__glewVertexAttribL3dvEXT) #define glVertexAttribL4dEXT GLEW_GET_FUN(__glewVertexAttribL4dEXT) #define glVertexAttribL4dvEXT GLEW_GET_FUN(__glewVertexAttribL4dvEXT) #define glVertexAttribLPointerEXT GLEW_GET_FUN(__glewVertexAttribLPointerEXT) #define GLEW_EXT_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_EXT_vertex_attrib_64bit) #endif /* GL_EXT_vertex_attrib_64bit */ /* -------------------------- GL_EXT_vertex_shader ------------------------- */ #ifndef GL_EXT_vertex_shader #define GL_EXT_vertex_shader 1 #define GL_VERTEX_SHADER_EXT 0x8780 #define GL_VERTEX_SHADER_BINDING_EXT 0x8781 #define GL_OP_INDEX_EXT 0x8782 #define GL_OP_NEGATE_EXT 0x8783 #define GL_OP_DOT3_EXT 0x8784 #define GL_OP_DOT4_EXT 0x8785 #define GL_OP_MUL_EXT 0x8786 #define GL_OP_ADD_EXT 0x8787 #define GL_OP_MADD_EXT 0x8788 #define GL_OP_FRAC_EXT 0x8789 #define GL_OP_MAX_EXT 0x878A #define GL_OP_MIN_EXT 0x878B #define GL_OP_SET_GE_EXT 0x878C #define GL_OP_SET_LT_EXT 0x878D #define GL_OP_CLAMP_EXT 0x878E #define GL_OP_FLOOR_EXT 0x878F #define GL_OP_ROUND_EXT 0x8790 #define GL_OP_EXP_BASE_2_EXT 0x8791 #define GL_OP_LOG_BASE_2_EXT 0x8792 #define GL_OP_POWER_EXT 0x8793 #define GL_OP_RECIP_EXT 0x8794 #define GL_OP_RECIP_SQRT_EXT 0x8795 #define GL_OP_SUB_EXT 0x8796 #define GL_OP_CROSS_PRODUCT_EXT 0x8797 #define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 #define GL_OP_MOV_EXT 0x8799 #define GL_OUTPUT_VERTEX_EXT 0x879A #define GL_OUTPUT_COLOR0_EXT 0x879B #define GL_OUTPUT_COLOR1_EXT 0x879C #define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D #define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E #define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F #define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 #define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 #define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 #define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 #define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 #define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 #define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 #define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 #define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 #define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 #define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA #define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB #define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC #define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD #define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE #define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF #define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 #define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 #define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 #define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 #define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 #define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 #define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 #define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 #define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 #define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 #define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA #define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB #define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC #define GL_OUTPUT_FOG_EXT 0x87BD #define GL_SCALAR_EXT 0x87BE #define GL_VECTOR_EXT 0x87BF #define GL_MATRIX_EXT 0x87C0 #define GL_VARIANT_EXT 0x87C1 #define GL_INVARIANT_EXT 0x87C2 #define GL_LOCAL_CONSTANT_EXT 0x87C3 #define GL_LOCAL_EXT 0x87C4 #define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 #define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 #define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 #define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 #define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA #define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE #define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF #define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 #define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 #define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 #define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 #define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 #define GL_X_EXT 0x87D5 #define GL_Y_EXT 0x87D6 #define GL_Z_EXT 0x87D7 #define GL_W_EXT 0x87D8 #define GL_NEGATIVE_X_EXT 0x87D9 #define GL_NEGATIVE_Y_EXT 0x87DA #define GL_NEGATIVE_Z_EXT 0x87DB #define GL_NEGATIVE_W_EXT 0x87DC #define GL_ZERO_EXT 0x87DD #define GL_ONE_EXT 0x87DE #define GL_NEGATIVE_ONE_EXT 0x87DF #define GL_NORMALIZED_RANGE_EXT 0x87E0 #define GL_FULL_RANGE_EXT 0x87E1 #define GL_CURRENT_VERTEX_EXT 0x87E2 #define GL_MVP_MATRIX_EXT 0x87E3 #define GL_VARIANT_VALUE_EXT 0x87E4 #define GL_VARIANT_DATATYPE_EXT 0x87E5 #define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 #define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 #define GL_VARIANT_ARRAY_EXT 0x87E8 #define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 #define GL_INVARIANT_VALUE_EXT 0x87EA #define GL_INVARIANT_DATATYPE_EXT 0x87EB #define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC #define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED typedef void (GLAPIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void); typedef GLuint (GLAPIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value); typedef GLuint (GLAPIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value); typedef GLuint (GLAPIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value); typedef GLuint (GLAPIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value); typedef GLuint (GLAPIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value); typedef void (GLAPIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void); typedef void (GLAPIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); typedef GLuint (GLAPIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components); typedef GLuint (GLAPIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range); typedef void (GLAPIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); typedef void (GLAPIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); typedef void (GLAPIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); typedef void (GLAPIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); typedef void (GLAPIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); typedef void (GLAPIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); typedef void (GLAPIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid **data); typedef void (GLAPIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); typedef GLboolean (GLAPIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap); typedef void (GLAPIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr); typedef void (GLAPIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr); typedef void (GLAPIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1); typedef void (GLAPIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2); typedef void (GLAPIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); typedef void (GLAPIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); typedef void (GLAPIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, GLvoid *addr); typedef void (GLAPIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr); typedef void (GLAPIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr); typedef void (GLAPIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr); typedef void (GLAPIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr); typedef void (GLAPIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr); typedef void (GLAPIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr); typedef void (GLAPIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr); typedef void (GLAPIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr); typedef void (GLAPIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); #define glBeginVertexShaderEXT GLEW_GET_FUN(__glewBeginVertexShaderEXT) #define glBindLightParameterEXT GLEW_GET_FUN(__glewBindLightParameterEXT) #define glBindMaterialParameterEXT GLEW_GET_FUN(__glewBindMaterialParameterEXT) #define glBindParameterEXT GLEW_GET_FUN(__glewBindParameterEXT) #define glBindTexGenParameterEXT GLEW_GET_FUN(__glewBindTexGenParameterEXT) #define glBindTextureUnitParameterEXT GLEW_GET_FUN(__glewBindTextureUnitParameterEXT) #define glBindVertexShaderEXT GLEW_GET_FUN(__glewBindVertexShaderEXT) #define glDeleteVertexShaderEXT GLEW_GET_FUN(__glewDeleteVertexShaderEXT) #define glDisableVariantClientStateEXT GLEW_GET_FUN(__glewDisableVariantClientStateEXT) #define glEnableVariantClientStateEXT GLEW_GET_FUN(__glewEnableVariantClientStateEXT) #define glEndVertexShaderEXT GLEW_GET_FUN(__glewEndVertexShaderEXT) #define glExtractComponentEXT GLEW_GET_FUN(__glewExtractComponentEXT) #define glGenSymbolsEXT GLEW_GET_FUN(__glewGenSymbolsEXT) #define glGenVertexShadersEXT GLEW_GET_FUN(__glewGenVertexShadersEXT) #define glGetInvariantBooleanvEXT GLEW_GET_FUN(__glewGetInvariantBooleanvEXT) #define glGetInvariantFloatvEXT GLEW_GET_FUN(__glewGetInvariantFloatvEXT) #define glGetInvariantIntegervEXT GLEW_GET_FUN(__glewGetInvariantIntegervEXT) #define glGetLocalConstantBooleanvEXT GLEW_GET_FUN(__glewGetLocalConstantBooleanvEXT) #define glGetLocalConstantFloatvEXT GLEW_GET_FUN(__glewGetLocalConstantFloatvEXT) #define glGetLocalConstantIntegervEXT GLEW_GET_FUN(__glewGetLocalConstantIntegervEXT) #define glGetVariantBooleanvEXT GLEW_GET_FUN(__glewGetVariantBooleanvEXT) #define glGetVariantFloatvEXT GLEW_GET_FUN(__glewGetVariantFloatvEXT) #define glGetVariantIntegervEXT GLEW_GET_FUN(__glewGetVariantIntegervEXT) #define glGetVariantPointervEXT GLEW_GET_FUN(__glewGetVariantPointervEXT) #define glInsertComponentEXT GLEW_GET_FUN(__glewInsertComponentEXT) #define glIsVariantEnabledEXT GLEW_GET_FUN(__glewIsVariantEnabledEXT) #define glSetInvariantEXT GLEW_GET_FUN(__glewSetInvariantEXT) #define glSetLocalConstantEXT GLEW_GET_FUN(__glewSetLocalConstantEXT) #define glShaderOp1EXT GLEW_GET_FUN(__glewShaderOp1EXT) #define glShaderOp2EXT GLEW_GET_FUN(__glewShaderOp2EXT) #define glShaderOp3EXT GLEW_GET_FUN(__glewShaderOp3EXT) #define glSwizzleEXT GLEW_GET_FUN(__glewSwizzleEXT) #define glVariantPointerEXT GLEW_GET_FUN(__glewVariantPointerEXT) #define glVariantbvEXT GLEW_GET_FUN(__glewVariantbvEXT) #define glVariantdvEXT GLEW_GET_FUN(__glewVariantdvEXT) #define glVariantfvEXT GLEW_GET_FUN(__glewVariantfvEXT) #define glVariantivEXT GLEW_GET_FUN(__glewVariantivEXT) #define glVariantsvEXT GLEW_GET_FUN(__glewVariantsvEXT) #define glVariantubvEXT GLEW_GET_FUN(__glewVariantubvEXT) #define glVariantuivEXT GLEW_GET_FUN(__glewVariantuivEXT) #define glVariantusvEXT GLEW_GET_FUN(__glewVariantusvEXT) #define glWriteMaskEXT GLEW_GET_FUN(__glewWriteMaskEXT) #define GLEW_EXT_vertex_shader GLEW_GET_VAR(__GLEW_EXT_vertex_shader) #endif /* GL_EXT_vertex_shader */ /* ------------------------ GL_EXT_vertex_weighting ------------------------ */ #ifndef GL_EXT_vertex_weighting #define GL_EXT_vertex_weighting 1 #define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3 #define GL_MODELVIEW0_MATRIX_EXT 0x0BA6 #define GL_MODELVIEW0_EXT 0x1700 #define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 #define GL_MODELVIEW1_MATRIX_EXT 0x8506 #define GL_VERTEX_WEIGHTING_EXT 0x8509 #define GL_MODELVIEW1_EXT 0x850A #define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B #define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C #define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D #define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E #define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F #define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight); #define glVertexWeightPointerEXT GLEW_GET_FUN(__glewVertexWeightPointerEXT) #define glVertexWeightfEXT GLEW_GET_FUN(__glewVertexWeightfEXT) #define glVertexWeightfvEXT GLEW_GET_FUN(__glewVertexWeightfvEXT) #define GLEW_EXT_vertex_weighting GLEW_GET_VAR(__GLEW_EXT_vertex_weighting) #endif /* GL_EXT_vertex_weighting */ /* ------------------------- GL_EXT_x11_sync_object ------------------------ */ #ifndef GL_EXT_x11_sync_object #define GL_EXT_x11_sync_object 1 #define GL_SYNC_X11_FENCE_EXT 0x90E1 typedef GLsync (GLAPIENTRY * PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags); #define glImportSyncEXT GLEW_GET_FUN(__glewImportSyncEXT) #define GLEW_EXT_x11_sync_object GLEW_GET_VAR(__GLEW_EXT_x11_sync_object) #endif /* GL_EXT_x11_sync_object */ /* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */ #ifndef GL_GREMEDY_frame_terminator #define GL_GREMEDY_frame_terminator 1 typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void); #define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY) #define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator) #endif /* GL_GREMEDY_frame_terminator */ /* ------------------------ GL_GREMEDY_string_marker ----------------------- */ #ifndef GL_GREMEDY_string_marker #define GL_GREMEDY_string_marker 1 typedef void (GLAPIENTRY * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string); #define glStringMarkerGREMEDY GLEW_GET_FUN(__glewStringMarkerGREMEDY) #define GLEW_GREMEDY_string_marker GLEW_GET_VAR(__GLEW_GREMEDY_string_marker) #endif /* GL_GREMEDY_string_marker */ /* --------------------- GL_HP_convolution_border_modes -------------------- */ #ifndef GL_HP_convolution_border_modes #define GL_HP_convolution_border_modes 1 #define GLEW_HP_convolution_border_modes GLEW_GET_VAR(__GLEW_HP_convolution_border_modes) #endif /* GL_HP_convolution_border_modes */ /* ------------------------- GL_HP_image_transform ------------------------- */ #ifndef GL_HP_image_transform #define GL_HP_image_transform 1 typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, const GLfloat param); typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, const GLint param); typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); #define glGetImageTransformParameterfvHP GLEW_GET_FUN(__glewGetImageTransformParameterfvHP) #define glGetImageTransformParameterivHP GLEW_GET_FUN(__glewGetImageTransformParameterivHP) #define glImageTransformParameterfHP GLEW_GET_FUN(__glewImageTransformParameterfHP) #define glImageTransformParameterfvHP GLEW_GET_FUN(__glewImageTransformParameterfvHP) #define glImageTransformParameteriHP GLEW_GET_FUN(__glewImageTransformParameteriHP) #define glImageTransformParameterivHP GLEW_GET_FUN(__glewImageTransformParameterivHP) #define GLEW_HP_image_transform GLEW_GET_VAR(__GLEW_HP_image_transform) #endif /* GL_HP_image_transform */ /* -------------------------- GL_HP_occlusion_test ------------------------- */ #ifndef GL_HP_occlusion_test #define GL_HP_occlusion_test 1 #define GLEW_HP_occlusion_test GLEW_GET_VAR(__GLEW_HP_occlusion_test) #endif /* GL_HP_occlusion_test */ /* ------------------------- GL_HP_texture_lighting ------------------------ */ #ifndef GL_HP_texture_lighting #define GL_HP_texture_lighting 1 #define GLEW_HP_texture_lighting GLEW_GET_VAR(__GLEW_HP_texture_lighting) #endif /* GL_HP_texture_lighting */ /* --------------------------- GL_IBM_cull_vertex -------------------------- */ #ifndef GL_IBM_cull_vertex #define GL_IBM_cull_vertex 1 #define GL_CULL_VERTEX_IBM 103050 #define GLEW_IBM_cull_vertex GLEW_GET_VAR(__GLEW_IBM_cull_vertex) #endif /* GL_IBM_cull_vertex */ /* ---------------------- GL_IBM_multimode_draw_arrays --------------------- */ #ifndef GL_IBM_multimode_draw_arrays #define GL_IBM_multimode_draw_arrays 1 typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum* mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum* mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); #define glMultiModeDrawArraysIBM GLEW_GET_FUN(__glewMultiModeDrawArraysIBM) #define glMultiModeDrawElementsIBM GLEW_GET_FUN(__glewMultiModeDrawElementsIBM) #define GLEW_IBM_multimode_draw_arrays GLEW_GET_VAR(__GLEW_IBM_multimode_draw_arrays) #endif /* GL_IBM_multimode_draw_arrays */ /* ------------------------- GL_IBM_rasterpos_clip ------------------------- */ #ifndef GL_IBM_rasterpos_clip #define GL_IBM_rasterpos_clip 1 #define GL_RASTER_POSITION_UNCLIPPED_IBM 103010 #define GLEW_IBM_rasterpos_clip GLEW_GET_VAR(__GLEW_IBM_rasterpos_clip) #endif /* GL_IBM_rasterpos_clip */ /* --------------------------- GL_IBM_static_data -------------------------- */ #ifndef GL_IBM_static_data #define GL_IBM_static_data 1 #define GL_ALL_STATIC_DATA_IBM 103060 #define GL_STATIC_VERTEX_ARRAY_IBM 103061 #define GLEW_IBM_static_data GLEW_GET_VAR(__GLEW_IBM_static_data) #endif /* GL_IBM_static_data */ /* --------------------- GL_IBM_texture_mirrored_repeat -------------------- */ #ifndef GL_IBM_texture_mirrored_repeat #define GL_IBM_texture_mirrored_repeat 1 #define GL_MIRRORED_REPEAT_IBM 0x8370 #define GLEW_IBM_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_IBM_texture_mirrored_repeat) #endif /* GL_IBM_texture_mirrored_repeat */ /* ----------------------- GL_IBM_vertex_array_lists ----------------------- */ #ifndef GL_IBM_vertex_array_lists #define GL_IBM_vertex_array_lists 1 #define GL_VERTEX_ARRAY_LIST_IBM 103070 #define GL_NORMAL_ARRAY_LIST_IBM 103071 #define GL_COLOR_ARRAY_LIST_IBM 103072 #define GL_INDEX_ARRAY_LIST_IBM 103073 #define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074 #define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075 #define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076 #define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077 #define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080 #define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081 #define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082 #define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083 #define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084 #define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085 #define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086 #define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087 typedef void (GLAPIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean ** pointer, GLint ptrstride); typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); typedef void (GLAPIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); typedef void (GLAPIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); #define glColorPointerListIBM GLEW_GET_FUN(__glewColorPointerListIBM) #define glEdgeFlagPointerListIBM GLEW_GET_FUN(__glewEdgeFlagPointerListIBM) #define glFogCoordPointerListIBM GLEW_GET_FUN(__glewFogCoordPointerListIBM) #define glIndexPointerListIBM GLEW_GET_FUN(__glewIndexPointerListIBM) #define glNormalPointerListIBM GLEW_GET_FUN(__glewNormalPointerListIBM) #define glSecondaryColorPointerListIBM GLEW_GET_FUN(__glewSecondaryColorPointerListIBM) #define glTexCoordPointerListIBM GLEW_GET_FUN(__glewTexCoordPointerListIBM) #define glVertexPointerListIBM GLEW_GET_FUN(__glewVertexPointerListIBM) #define GLEW_IBM_vertex_array_lists GLEW_GET_VAR(__GLEW_IBM_vertex_array_lists) #endif /* GL_IBM_vertex_array_lists */ /* -------------------------- GL_INGR_color_clamp -------------------------- */ #ifndef GL_INGR_color_clamp #define GL_INGR_color_clamp 1 #define GL_RED_MIN_CLAMP_INGR 0x8560 #define GL_GREEN_MIN_CLAMP_INGR 0x8561 #define GL_BLUE_MIN_CLAMP_INGR 0x8562 #define GL_ALPHA_MIN_CLAMP_INGR 0x8563 #define GL_RED_MAX_CLAMP_INGR 0x8564 #define GL_GREEN_MAX_CLAMP_INGR 0x8565 #define GL_BLUE_MAX_CLAMP_INGR 0x8566 #define GL_ALPHA_MAX_CLAMP_INGR 0x8567 #define GLEW_INGR_color_clamp GLEW_GET_VAR(__GLEW_INGR_color_clamp) #endif /* GL_INGR_color_clamp */ /* ------------------------- GL_INGR_interlace_read ------------------------ */ #ifndef GL_INGR_interlace_read #define GL_INGR_interlace_read 1 #define GL_INTERLACE_READ_INGR 0x8568 #define GLEW_INGR_interlace_read GLEW_GET_VAR(__GLEW_INGR_interlace_read) #endif /* GL_INGR_interlace_read */ /* -------------------------- GL_INTEL_map_texture ------------------------- */ #ifndef GL_INTEL_map_texture #define GL_INTEL_map_texture 1 #define GL_LAYOUT_DEFAULT_INTEL 0 #define GL_LAYOUT_LINEAR_INTEL 1 #define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 2 #define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF typedef GLvoid * (GLAPIENTRY * PFNGLMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level, GLbitfield access, GLint* stride, GLenum *layout); typedef void (GLAPIENTRY * PFNGLSYNCTEXTUREINTELPROC) (GLuint texture); typedef void (GLAPIENTRY * PFNGLUNMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level); #define glMapTexture2DINTEL GLEW_GET_FUN(__glewMapTexture2DINTEL) #define glSyncTextureINTEL GLEW_GET_FUN(__glewSyncTextureINTEL) #define glUnmapTexture2DINTEL GLEW_GET_FUN(__glewUnmapTexture2DINTEL) #define GLEW_INTEL_map_texture GLEW_GET_VAR(__GLEW_INTEL_map_texture) #endif /* GL_INTEL_map_texture */ /* ------------------------ GL_INTEL_parallel_arrays ----------------------- */ #ifndef GL_INTEL_parallel_arrays #define GL_INTEL_parallel_arrays 1 #define GL_PARALLEL_ARRAYS_INTEL 0x83F4 #define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5 #define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6 #define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7 #define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8 typedef void (GLAPIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); typedef void (GLAPIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const void** pointer); typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); #define glColorPointervINTEL GLEW_GET_FUN(__glewColorPointervINTEL) #define glNormalPointervINTEL GLEW_GET_FUN(__glewNormalPointervINTEL) #define glTexCoordPointervINTEL GLEW_GET_FUN(__glewTexCoordPointervINTEL) #define glVertexPointervINTEL GLEW_GET_FUN(__glewVertexPointervINTEL) #define GLEW_INTEL_parallel_arrays GLEW_GET_VAR(__GLEW_INTEL_parallel_arrays) #endif /* GL_INTEL_parallel_arrays */ /* ------------------------ GL_INTEL_texture_scissor ----------------------- */ #ifndef GL_INTEL_texture_scissor #define GL_INTEL_texture_scissor 1 typedef void (GLAPIENTRY * PFNGLTEXSCISSORFUNCINTELPROC) (GLenum target, GLenum lfunc, GLenum hfunc); typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tlow, GLclampf thigh); #define glTexScissorFuncINTEL GLEW_GET_FUN(__glewTexScissorFuncINTEL) #define glTexScissorINTEL GLEW_GET_FUN(__glewTexScissorINTEL) #define GLEW_INTEL_texture_scissor GLEW_GET_VAR(__GLEW_INTEL_texture_scissor) #endif /* GL_INTEL_texture_scissor */ /* ------------------------------ GL_KHR_debug ----------------------------- */ #ifndef GL_KHR_debug #define GL_KHR_debug 1 #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 #define GL_DEBUG_CALLBACK_FUNCTION 0x8244 #define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 #define GL_DEBUG_SOURCE_API 0x8246 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 #define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 #define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 #define GL_DEBUG_SOURCE_APPLICATION 0x824A #define GL_DEBUG_SOURCE_OTHER 0x824B #define GL_DEBUG_TYPE_ERROR 0x824C #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E #define GL_DEBUG_TYPE_PORTABILITY 0x824F #define GL_DEBUG_TYPE_PERFORMANCE 0x8250 #define GL_DEBUG_TYPE_OTHER 0x8251 #define GL_DEBUG_TYPE_MARKER 0x8268 #define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 #define GL_DEBUG_TYPE_POP_GROUP 0x826A #define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B #define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C #define GL_DEBUG_GROUP_STACK_DEPTH 0x826D #define GL_BUFFER 0x82E0 #define GL_SHADER 0x82E1 #define GL_PROGRAM 0x82E2 #define GL_QUERY 0x82E3 #define GL_PROGRAM_PIPELINE 0x82E4 #define GL_SAMPLER 0x82E6 #define GL_DISPLAY_LIST 0x82E7 #define GL_MAX_LABEL_LENGTH 0x82E8 #define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 #define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 #define GL_DEBUG_LOGGED_MESSAGES 0x9145 #define GL_DEBUG_SEVERITY_HIGH 0x9146 #define GL_DEBUG_SEVERITY_MEDIUM 0x9147 #define GL_DEBUG_SEVERITY_LOW 0x9148 #define GL_DEBUG_OUTPUT 0x92E0 typedef void (APIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const GLvoid *userParam); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); typedef void (GLAPIENTRY * PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar *label); typedef void (GLAPIENTRY * PFNGLGETOBJECTPTRLABELPROC) (void* ptr, GLsizei bufSize, GLsizei* length, GLchar *label); typedef void (GLAPIENTRY * PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label); typedef void (GLAPIENTRY * PFNGLOBJECTPTRLABELPROC) (void* ptr, GLsizei length, const GLchar* label); typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUPPROC) (void); typedef void (GLAPIENTRY * PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar * message); #define glDebugMessageCallback GLEW_GET_FUN(__glewDebugMessageCallback) #define glDebugMessageControl GLEW_GET_FUN(__glewDebugMessageControl) #define glDebugMessageInsert GLEW_GET_FUN(__glewDebugMessageInsert) #define glGetDebugMessageLog GLEW_GET_FUN(__glewGetDebugMessageLog) #define glGetObjectLabel GLEW_GET_FUN(__glewGetObjectLabel) #define glGetObjectPtrLabel GLEW_GET_FUN(__glewGetObjectPtrLabel) #define glObjectLabel GLEW_GET_FUN(__glewObjectLabel) #define glObjectPtrLabel GLEW_GET_FUN(__glewObjectPtrLabel) #define glPopDebugGroup GLEW_GET_FUN(__glewPopDebugGroup) #define glPushDebugGroup GLEW_GET_FUN(__glewPushDebugGroup) #define GLEW_KHR_debug GLEW_GET_VAR(__GLEW_KHR_debug) #endif /* GL_KHR_debug */ /* ------------------ GL_KHR_texture_compression_astc_ldr ------------------ */ #ifndef GL_KHR_texture_compression_astc_ldr #define GL_KHR_texture_compression_astc_ldr 1 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD #define GLEW_KHR_texture_compression_astc_ldr GLEW_GET_VAR(__GLEW_KHR_texture_compression_astc_ldr) #endif /* GL_KHR_texture_compression_astc_ldr */ /* -------------------------- GL_KTX_buffer_region ------------------------- */ #ifndef GL_KTX_buffer_region #define GL_KTX_buffer_region 1 #define GL_KTX_FRONT_REGION 0x0 #define GL_KTX_BACK_REGION 0x1 #define GL_KTX_Z_REGION 0x2 #define GL_KTX_STENCIL_REGION 0x3 typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDPROC) (void); typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONPROC) (GLenum region); typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest); typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONPROC) (GLenum region); typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height); #define glBufferRegionEnabled GLEW_GET_FUN(__glewBufferRegionEnabled) #define glDeleteBufferRegion GLEW_GET_FUN(__glewDeleteBufferRegion) #define glDrawBufferRegion GLEW_GET_FUN(__glewDrawBufferRegion) #define glNewBufferRegion GLEW_GET_FUN(__glewNewBufferRegion) #define glReadBufferRegion GLEW_GET_FUN(__glewReadBufferRegion) #define GLEW_KTX_buffer_region GLEW_GET_VAR(__GLEW_KTX_buffer_region) #endif /* GL_KTX_buffer_region */ /* ------------------------- GL_MESAX_texture_stack ------------------------ */ #ifndef GL_MESAX_texture_stack #define GL_MESAX_texture_stack 1 #define GL_TEXTURE_1D_STACK_MESAX 0x8759 #define GL_TEXTURE_2D_STACK_MESAX 0x875A #define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B #define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C #define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D #define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E #define GLEW_MESAX_texture_stack GLEW_GET_VAR(__GLEW_MESAX_texture_stack) #endif /* GL_MESAX_texture_stack */ /* -------------------------- GL_MESA_pack_invert -------------------------- */ #ifndef GL_MESA_pack_invert #define GL_MESA_pack_invert 1 #define GL_PACK_INVERT_MESA 0x8758 #define GLEW_MESA_pack_invert GLEW_GET_VAR(__GLEW_MESA_pack_invert) #endif /* GL_MESA_pack_invert */ /* ------------------------- GL_MESA_resize_buffers ------------------------ */ #ifndef GL_MESA_resize_buffers #define GL_MESA_resize_buffers 1 typedef void (GLAPIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void); #define glResizeBuffersMESA GLEW_GET_FUN(__glewResizeBuffersMESA) #define GLEW_MESA_resize_buffers GLEW_GET_VAR(__GLEW_MESA_resize_buffers) #endif /* GL_MESA_resize_buffers */ /* --------------------------- GL_MESA_window_pos -------------------------- */ #ifndef GL_MESA_window_pos #define GL_MESA_window_pos 1 typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint* p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w); typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p); #define glWindowPos2dMESA GLEW_GET_FUN(__glewWindowPos2dMESA) #define glWindowPos2dvMESA GLEW_GET_FUN(__glewWindowPos2dvMESA) #define glWindowPos2fMESA GLEW_GET_FUN(__glewWindowPos2fMESA) #define glWindowPos2fvMESA GLEW_GET_FUN(__glewWindowPos2fvMESA) #define glWindowPos2iMESA GLEW_GET_FUN(__glewWindowPos2iMESA) #define glWindowPos2ivMESA GLEW_GET_FUN(__glewWindowPos2ivMESA) #define glWindowPos2sMESA GLEW_GET_FUN(__glewWindowPos2sMESA) #define glWindowPos2svMESA GLEW_GET_FUN(__glewWindowPos2svMESA) #define glWindowPos3dMESA GLEW_GET_FUN(__glewWindowPos3dMESA) #define glWindowPos3dvMESA GLEW_GET_FUN(__glewWindowPos3dvMESA) #define glWindowPos3fMESA GLEW_GET_FUN(__glewWindowPos3fMESA) #define glWindowPos3fvMESA GLEW_GET_FUN(__glewWindowPos3fvMESA) #define glWindowPos3iMESA GLEW_GET_FUN(__glewWindowPos3iMESA) #define glWindowPos3ivMESA GLEW_GET_FUN(__glewWindowPos3ivMESA) #define glWindowPos3sMESA GLEW_GET_FUN(__glewWindowPos3sMESA) #define glWindowPos3svMESA GLEW_GET_FUN(__glewWindowPos3svMESA) #define glWindowPos4dMESA GLEW_GET_FUN(__glewWindowPos4dMESA) #define glWindowPos4dvMESA GLEW_GET_FUN(__glewWindowPos4dvMESA) #define glWindowPos4fMESA GLEW_GET_FUN(__glewWindowPos4fMESA) #define glWindowPos4fvMESA GLEW_GET_FUN(__glewWindowPos4fvMESA) #define glWindowPos4iMESA GLEW_GET_FUN(__glewWindowPos4iMESA) #define glWindowPos4ivMESA GLEW_GET_FUN(__glewWindowPos4ivMESA) #define glWindowPos4sMESA GLEW_GET_FUN(__glewWindowPos4sMESA) #define glWindowPos4svMESA GLEW_GET_FUN(__glewWindowPos4svMESA) #define GLEW_MESA_window_pos GLEW_GET_VAR(__GLEW_MESA_window_pos) #endif /* GL_MESA_window_pos */ /* ------------------------- GL_MESA_ycbcr_texture ------------------------- */ #ifndef GL_MESA_ycbcr_texture #define GL_MESA_ycbcr_texture 1 #define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA #define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB #define GL_YCBCR_MESA 0x8757 #define GLEW_MESA_ycbcr_texture GLEW_GET_VAR(__GLEW_MESA_ycbcr_texture) #endif /* GL_MESA_ycbcr_texture */ /* ----------------------- GL_NVX_conditional_render ----------------------- */ #ifndef GL_NVX_conditional_render #define GL_NVX_conditional_render 1 typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVXPROC) (void); #define glBeginConditionalRenderNVX GLEW_GET_FUN(__glewBeginConditionalRenderNVX) #define glEndConditionalRenderNVX GLEW_GET_FUN(__glewEndConditionalRenderNVX) #define GLEW_NVX_conditional_render GLEW_GET_VAR(__GLEW_NVX_conditional_render) #endif /* GL_NVX_conditional_render */ /* ------------------------- GL_NVX_gpu_memory_info ------------------------ */ #ifndef GL_NVX_gpu_memory_info #define GL_NVX_gpu_memory_info 1 #define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 #define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 #define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 #define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A #define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B #define GLEW_NVX_gpu_memory_info GLEW_GET_VAR(__GLEW_NVX_gpu_memory_info) #endif /* GL_NVX_gpu_memory_info */ /* ------------------- GL_NV_bindless_multi_draw_indirect ------------------ */ #ifndef GL_NV_bindless_multi_draw_indirect #define GL_NV_bindless_multi_draw_indirect 1 typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const GLvoid *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); #define glMultiDrawArraysIndirectBindlessNV GLEW_GET_FUN(__glewMultiDrawArraysIndirectBindlessNV) #define glMultiDrawElementsIndirectBindlessNV GLEW_GET_FUN(__glewMultiDrawElementsIndirectBindlessNV) #define GLEW_NV_bindless_multi_draw_indirect GLEW_GET_VAR(__GLEW_NV_bindless_multi_draw_indirect) #endif /* GL_NV_bindless_multi_draw_indirect */ /* ------------------------- GL_NV_bindless_texture ------------------------ */ #ifndef GL_NV_bindless_texture #define GL_NV_bindless_texture 1 typedef GLuint64 (GLAPIENTRY * PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler); typedef GLboolean (GLAPIENTRY * PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle); typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access); typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* values); typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value); typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64* value); #define glGetImageHandleNV GLEW_GET_FUN(__glewGetImageHandleNV) #define glGetTextureHandleNV GLEW_GET_FUN(__glewGetTextureHandleNV) #define glGetTextureSamplerHandleNV GLEW_GET_FUN(__glewGetTextureSamplerHandleNV) #define glIsImageHandleResidentNV GLEW_GET_FUN(__glewIsImageHandleResidentNV) #define glIsTextureHandleResidentNV GLEW_GET_FUN(__glewIsTextureHandleResidentNV) #define glMakeImageHandleNonResidentNV GLEW_GET_FUN(__glewMakeImageHandleNonResidentNV) #define glMakeImageHandleResidentNV GLEW_GET_FUN(__glewMakeImageHandleResidentNV) #define glMakeTextureHandleNonResidentNV GLEW_GET_FUN(__glewMakeTextureHandleNonResidentNV) #define glMakeTextureHandleResidentNV GLEW_GET_FUN(__glewMakeTextureHandleResidentNV) #define glProgramUniformHandleui64NV GLEW_GET_FUN(__glewProgramUniformHandleui64NV) #define glProgramUniformHandleui64vNV GLEW_GET_FUN(__glewProgramUniformHandleui64vNV) #define glUniformHandleui64NV GLEW_GET_FUN(__glewUniformHandleui64NV) #define glUniformHandleui64vNV GLEW_GET_FUN(__glewUniformHandleui64vNV) #define GLEW_NV_bindless_texture GLEW_GET_VAR(__GLEW_NV_bindless_texture) #endif /* GL_NV_bindless_texture */ /* --------------------- GL_NV_blend_equation_advanced --------------------- */ #ifndef GL_NV_blend_equation_advanced #define GL_NV_blend_equation_advanced 1 #define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 #define GL_BLEND_OVERLAP_NV 0x9281 #define GL_UNCORRELATED_NV 0x9282 #define GL_DISJOINT_NV 0x9283 #define GL_CONJOINT_NV 0x9284 #define GL_BLEND_ADVANCED_COHERENT_NV 0x9285 #define GL_SRC_NV 0x9286 #define GL_DST_NV 0x9287 #define GL_SRC_OVER_NV 0x9288 #define GL_DST_OVER_NV 0x9289 #define GL_SRC_IN_NV 0x928A #define GL_DST_IN_NV 0x928B #define GL_SRC_OUT_NV 0x928C #define GL_DST_OUT_NV 0x928D #define GL_SRC_ATOP_NV 0x928E #define GL_DST_ATOP_NV 0x928F #define GL_PLUS_NV 0x9291 #define GL_PLUS_DARKER_NV 0x9292 #define GL_MULTIPLY_NV 0x9294 #define GL_SCREEN_NV 0x9295 #define GL_OVERLAY_NV 0x9296 #define GL_DARKEN_NV 0x9297 #define GL_LIGHTEN_NV 0x9298 #define GL_COLORDODGE_NV 0x9299 #define GL_COLORBURN_NV 0x929A #define GL_HARDLIGHT_NV 0x929B #define GL_SOFTLIGHT_NV 0x929C #define GL_DIFFERENCE_NV 0x929E #define GL_MINUS_NV 0x929F #define GL_EXCLUSION_NV 0x92A0 #define GL_CONTRAST_NV 0x92A1 #define GL_INVERT_RGB_NV 0x92A3 #define GL_LINEARDODGE_NV 0x92A4 #define GL_LINEARBURN_NV 0x92A5 #define GL_VIVIDLIGHT_NV 0x92A6 #define GL_LINEARLIGHT_NV 0x92A7 #define GL_PINLIGHT_NV 0x92A8 #define GL_HARDMIX_NV 0x92A9 #define GL_HSL_HUE_NV 0x92AD #define GL_HSL_SATURATION_NV 0x92AE #define GL_HSL_COLOR_NV 0x92AF #define GL_HSL_LUMINOSITY_NV 0x92B0 #define GL_PLUS_CLAMPED_NV 0x92B1 #define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2 #define GL_MINUS_CLAMPED_NV 0x92B3 #define GL_INVERT_OVG_NV 0x92B4 typedef void (GLAPIENTRY * PFNGLBLENDBARRIERNVPROC) (void); typedef void (GLAPIENTRY * PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); #define glBlendBarrierNV GLEW_GET_FUN(__glewBlendBarrierNV) #define glBlendParameteriNV GLEW_GET_FUN(__glewBlendParameteriNV) #define GLEW_NV_blend_equation_advanced GLEW_GET_VAR(__GLEW_NV_blend_equation_advanced) #endif /* GL_NV_blend_equation_advanced */ /* ----------------- GL_NV_blend_equation_advanced_coherent ---------------- */ #ifndef GL_NV_blend_equation_advanced_coherent #define GL_NV_blend_equation_advanced_coherent 1 #define GLEW_NV_blend_equation_advanced_coherent GLEW_GET_VAR(__GLEW_NV_blend_equation_advanced_coherent) #endif /* GL_NV_blend_equation_advanced_coherent */ /* --------------------------- GL_NV_blend_square -------------------------- */ #ifndef GL_NV_blend_square #define GL_NV_blend_square 1 #define GLEW_NV_blend_square GLEW_GET_VAR(__GLEW_NV_blend_square) #endif /* GL_NV_blend_square */ /* ------------------------- GL_NV_compute_program5 ------------------------ */ #ifndef GL_NV_compute_program5 #define GL_NV_compute_program5 1 #define GL_COMPUTE_PROGRAM_NV 0x90FB #define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC #define GLEW_NV_compute_program5 GLEW_GET_VAR(__GLEW_NV_compute_program5) #endif /* GL_NV_compute_program5 */ /* ------------------------ GL_NV_conditional_render ----------------------- */ #ifndef GL_NV_conditional_render #define GL_NV_conditional_render 1 #define GL_QUERY_WAIT_NV 0x8E13 #define GL_QUERY_NO_WAIT_NV 0x8E14 #define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 #define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVPROC) (void); #define glBeginConditionalRenderNV GLEW_GET_FUN(__glewBeginConditionalRenderNV) #define glEndConditionalRenderNV GLEW_GET_FUN(__glewEndConditionalRenderNV) #define GLEW_NV_conditional_render GLEW_GET_VAR(__GLEW_NV_conditional_render) #endif /* GL_NV_conditional_render */ /* ----------------------- GL_NV_copy_depth_to_color ----------------------- */ #ifndef GL_NV_copy_depth_to_color #define GL_NV_copy_depth_to_color 1 #define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E #define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F #define GLEW_NV_copy_depth_to_color GLEW_GET_VAR(__GLEW_NV_copy_depth_to_color) #endif /* GL_NV_copy_depth_to_color */ /* ---------------------------- GL_NV_copy_image --------------------------- */ #ifndef GL_NV_copy_image #define GL_NV_copy_image 1 typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); #define glCopyImageSubDataNV GLEW_GET_FUN(__glewCopyImageSubDataNV) #define GLEW_NV_copy_image GLEW_GET_VAR(__GLEW_NV_copy_image) #endif /* GL_NV_copy_image */ /* -------------------------- GL_NV_deep_texture3D ------------------------- */ #ifndef GL_NV_deep_texture3D #define GL_NV_deep_texture3D 1 #define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0 #define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV 0x90D1 #define GLEW_NV_deep_texture3D GLEW_GET_VAR(__GLEW_NV_deep_texture3D) #endif /* GL_NV_deep_texture3D */ /* ------------------------ GL_NV_depth_buffer_float ----------------------- */ #ifndef GL_NV_depth_buffer_float #define GL_NV_depth_buffer_float 1 #define GL_DEPTH_COMPONENT32F_NV 0x8DAB #define GL_DEPTH32F_STENCIL8_NV 0x8DAC #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD #define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF typedef void (GLAPIENTRY * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth); typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); typedef void (GLAPIENTRY * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); #define glClearDepthdNV GLEW_GET_FUN(__glewClearDepthdNV) #define glDepthBoundsdNV GLEW_GET_FUN(__glewDepthBoundsdNV) #define glDepthRangedNV GLEW_GET_FUN(__glewDepthRangedNV) #define GLEW_NV_depth_buffer_float GLEW_GET_VAR(__GLEW_NV_depth_buffer_float) #endif /* GL_NV_depth_buffer_float */ /* --------------------------- GL_NV_depth_clamp --------------------------- */ #ifndef GL_NV_depth_clamp #define GL_NV_depth_clamp 1 #define GL_DEPTH_CLAMP_NV 0x864F #define GLEW_NV_depth_clamp GLEW_GET_VAR(__GLEW_NV_depth_clamp) #endif /* GL_NV_depth_clamp */ /* ---------------------- GL_NV_depth_range_unclamped ---------------------- */ #ifndef GL_NV_depth_range_unclamped #define GL_NV_depth_range_unclamped 1 #define GL_SAMPLE_COUNT_BITS_NV 0x8864 #define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865 #define GL_QUERY_RESULT_NV 0x8866 #define GL_QUERY_RESULT_AVAILABLE_NV 0x8867 #define GL_SAMPLE_COUNT_NV 0x8914 #define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(__GLEW_NV_depth_range_unclamped) #endif /* GL_NV_depth_range_unclamped */ /* --------------------------- GL_NV_draw_texture -------------------------- */ #ifndef GL_NV_draw_texture #define GL_NV_draw_texture 1 typedef void (GLAPIENTRY * PFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); #define glDrawTextureNV GLEW_GET_FUN(__glewDrawTextureNV) #define GLEW_NV_draw_texture GLEW_GET_VAR(__GLEW_NV_draw_texture) #endif /* GL_NV_draw_texture */ /* ---------------------------- GL_NV_evaluators --------------------------- */ #ifndef GL_NV_evaluators #define GL_NV_evaluators 1 #define GL_EVAL_2D_NV 0x86C0 #define GL_EVAL_TRIANGULAR_2D_NV 0x86C1 #define GL_MAP_TESSELLATION_NV 0x86C2 #define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3 #define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4 #define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5 #define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6 #define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7 #define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8 #define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9 #define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA #define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB #define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC #define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD #define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE #define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF #define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0 #define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1 #define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2 #define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3 #define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4 #define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5 #define GL_MAX_MAP_TESSELLATION_NV 0x86D6 #define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7 typedef void (GLAPIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode); typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points); typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points); typedef void (GLAPIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint* params); #define glEvalMapsNV GLEW_GET_FUN(__glewEvalMapsNV) #define glGetMapAttribParameterfvNV GLEW_GET_FUN(__glewGetMapAttribParameterfvNV) #define glGetMapAttribParameterivNV GLEW_GET_FUN(__glewGetMapAttribParameterivNV) #define glGetMapControlPointsNV GLEW_GET_FUN(__glewGetMapControlPointsNV) #define glGetMapParameterfvNV GLEW_GET_FUN(__glewGetMapParameterfvNV) #define glGetMapParameterivNV GLEW_GET_FUN(__glewGetMapParameterivNV) #define glMapControlPointsNV GLEW_GET_FUN(__glewMapControlPointsNV) #define glMapParameterfvNV GLEW_GET_FUN(__glewMapParameterfvNV) #define glMapParameterivNV GLEW_GET_FUN(__glewMapParameterivNV) #define GLEW_NV_evaluators GLEW_GET_VAR(__GLEW_NV_evaluators) #endif /* GL_NV_evaluators */ /* ----------------------- GL_NV_explicit_multisample ---------------------- */ #ifndef GL_NV_explicit_multisample #define GL_NV_explicit_multisample 1 #define GL_SAMPLE_POSITION_NV 0x8E50 #define GL_SAMPLE_MASK_NV 0x8E51 #define GL_SAMPLE_MASK_VALUE_NV 0x8E52 #define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 #define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 #define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 #define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 #define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 #define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 #define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat* val); typedef void (GLAPIENTRY * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask); typedef void (GLAPIENTRY * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer); #define glGetMultisamplefvNV GLEW_GET_FUN(__glewGetMultisamplefvNV) #define glSampleMaskIndexedNV GLEW_GET_FUN(__glewSampleMaskIndexedNV) #define glTexRenderbufferNV GLEW_GET_FUN(__glewTexRenderbufferNV) #define GLEW_NV_explicit_multisample GLEW_GET_VAR(__GLEW_NV_explicit_multisample) #endif /* GL_NV_explicit_multisample */ /* ------------------------------ GL_NV_fence ------------------------------ */ #ifndef GL_NV_fence #define GL_NV_fence 1 #define GL_ALL_COMPLETED_NV 0x84F2 #define GL_FENCE_STATUS_NV 0x84F3 #define GL_FENCE_CONDITION_NV 0x84F4 typedef void (GLAPIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint* fences); typedef void (GLAPIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence); typedef void (GLAPIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint* fences); typedef void (GLAPIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISFENCENVPROC) (GLuint fence); typedef void (GLAPIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence); #define glDeleteFencesNV GLEW_GET_FUN(__glewDeleteFencesNV) #define glFinishFenceNV GLEW_GET_FUN(__glewFinishFenceNV) #define glGenFencesNV GLEW_GET_FUN(__glewGenFencesNV) #define glGetFenceivNV GLEW_GET_FUN(__glewGetFenceivNV) #define glIsFenceNV GLEW_GET_FUN(__glewIsFenceNV) #define glSetFenceNV GLEW_GET_FUN(__glewSetFenceNV) #define glTestFenceNV GLEW_GET_FUN(__glewTestFenceNV) #define GLEW_NV_fence GLEW_GET_VAR(__GLEW_NV_fence) #endif /* GL_NV_fence */ /* --------------------------- GL_NV_float_buffer -------------------------- */ #ifndef GL_NV_float_buffer #define GL_NV_float_buffer 1 #define GL_FLOAT_R_NV 0x8880 #define GL_FLOAT_RG_NV 0x8881 #define GL_FLOAT_RGB_NV 0x8882 #define GL_FLOAT_RGBA_NV 0x8883 #define GL_FLOAT_R16_NV 0x8884 #define GL_FLOAT_R32_NV 0x8885 #define GL_FLOAT_RG16_NV 0x8886 #define GL_FLOAT_RG32_NV 0x8887 #define GL_FLOAT_RGB16_NV 0x8888 #define GL_FLOAT_RGB32_NV 0x8889 #define GL_FLOAT_RGBA16_NV 0x888A #define GL_FLOAT_RGBA32_NV 0x888B #define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C #define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D #define GL_FLOAT_RGBA_MODE_NV 0x888E #define GLEW_NV_float_buffer GLEW_GET_VAR(__GLEW_NV_float_buffer) #endif /* GL_NV_float_buffer */ /* --------------------------- GL_NV_fog_distance -------------------------- */ #ifndef GL_NV_fog_distance #define GL_NV_fog_distance 1 #define GL_FOG_DISTANCE_MODE_NV 0x855A #define GL_EYE_RADIAL_NV 0x855B #define GL_EYE_PLANE_ABSOLUTE_NV 0x855C #define GLEW_NV_fog_distance GLEW_GET_VAR(__GLEW_NV_fog_distance) #endif /* GL_NV_fog_distance */ /* ------------------------- GL_NV_fragment_program ------------------------ */ #ifndef GL_NV_fragment_program #define GL_NV_fragment_program 1 #define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 #define GL_FRAGMENT_PROGRAM_NV 0x8870 #define GL_MAX_TEXTURE_COORDS_NV 0x8871 #define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872 #define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873 #define GL_PROGRAM_ERROR_STRING_NV 0x8874 typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble *params); typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat *params); typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLdouble v[]); typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLfloat v[]); #define glGetProgramNamedParameterdvNV GLEW_GET_FUN(__glewGetProgramNamedParameterdvNV) #define glGetProgramNamedParameterfvNV GLEW_GET_FUN(__glewGetProgramNamedParameterfvNV) #define glProgramNamedParameter4dNV GLEW_GET_FUN(__glewProgramNamedParameter4dNV) #define glProgramNamedParameter4dvNV GLEW_GET_FUN(__glewProgramNamedParameter4dvNV) #define glProgramNamedParameter4fNV GLEW_GET_FUN(__glewProgramNamedParameter4fNV) #define glProgramNamedParameter4fvNV GLEW_GET_FUN(__glewProgramNamedParameter4fvNV) #define GLEW_NV_fragment_program GLEW_GET_VAR(__GLEW_NV_fragment_program) #endif /* GL_NV_fragment_program */ /* ------------------------ GL_NV_fragment_program2 ------------------------ */ #ifndef GL_NV_fragment_program2 #define GL_NV_fragment_program2 1 #define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 #define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 #define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6 #define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7 #define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8 #define GLEW_NV_fragment_program2 GLEW_GET_VAR(__GLEW_NV_fragment_program2) #endif /* GL_NV_fragment_program2 */ /* ------------------------ GL_NV_fragment_program4 ------------------------ */ #ifndef GL_NV_fragment_program4 #define GL_NV_fragment_program4 1 #define GLEW_NV_fragment_program4 GLEW_GET_VAR(__GLEW_NV_fragment_program4) #endif /* GL_NV_fragment_program4 */ /* --------------------- GL_NV_fragment_program_option --------------------- */ #ifndef GL_NV_fragment_program_option #define GL_NV_fragment_program_option 1 #define GLEW_NV_fragment_program_option GLEW_GET_VAR(__GLEW_NV_fragment_program_option) #endif /* GL_NV_fragment_program_option */ /* ----------------- GL_NV_framebuffer_multisample_coverage ---------------- */ #ifndef GL_NV_framebuffer_multisample_coverage #define GL_NV_framebuffer_multisample_coverage 1 #define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB #define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 #define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 #define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); #define glRenderbufferStorageMultisampleCoverageNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleCoverageNV) #define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample_coverage) #endif /* GL_NV_framebuffer_multisample_coverage */ /* ------------------------ GL_NV_geometry_program4 ------------------------ */ #ifndef GL_NV_geometry_program4 #define GL_NV_geometry_program4 1 #define GL_GEOMETRY_PROGRAM_NV 0x8C26 #define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 #define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 typedef void (GLAPIENTRY * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit); #define glProgramVertexLimitNV GLEW_GET_FUN(__glewProgramVertexLimitNV) #define GLEW_NV_geometry_program4 GLEW_GET_VAR(__GLEW_NV_geometry_program4) #endif /* GL_NV_geometry_program4 */ /* ------------------------- GL_NV_geometry_shader4 ------------------------ */ #ifndef GL_NV_geometry_shader4 #define GL_NV_geometry_shader4 1 #define GLEW_NV_geometry_shader4 GLEW_GET_VAR(__GLEW_NV_geometry_shader4) #endif /* GL_NV_geometry_shader4 */ /* --------------------------- GL_NV_gpu_program4 -------------------------- */ #ifndef GL_NV_gpu_program4 #define GL_NV_gpu_program4 1 #define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 #define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 #define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 #define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907 #define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908 #define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909 #define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5 #define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6 typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); #define glProgramEnvParameterI4iNV GLEW_GET_FUN(__glewProgramEnvParameterI4iNV) #define glProgramEnvParameterI4ivNV GLEW_GET_FUN(__glewProgramEnvParameterI4ivNV) #define glProgramEnvParameterI4uiNV GLEW_GET_FUN(__glewProgramEnvParameterI4uiNV) #define glProgramEnvParameterI4uivNV GLEW_GET_FUN(__glewProgramEnvParameterI4uivNV) #define glProgramEnvParametersI4ivNV GLEW_GET_FUN(__glewProgramEnvParametersI4ivNV) #define glProgramEnvParametersI4uivNV GLEW_GET_FUN(__glewProgramEnvParametersI4uivNV) #define glProgramLocalParameterI4iNV GLEW_GET_FUN(__glewProgramLocalParameterI4iNV) #define glProgramLocalParameterI4ivNV GLEW_GET_FUN(__glewProgramLocalParameterI4ivNV) #define glProgramLocalParameterI4uiNV GLEW_GET_FUN(__glewProgramLocalParameterI4uiNV) #define glProgramLocalParameterI4uivNV GLEW_GET_FUN(__glewProgramLocalParameterI4uivNV) #define glProgramLocalParametersI4ivNV GLEW_GET_FUN(__glewProgramLocalParametersI4ivNV) #define glProgramLocalParametersI4uivNV GLEW_GET_FUN(__glewProgramLocalParametersI4uivNV) #define GLEW_NV_gpu_program4 GLEW_GET_VAR(__GLEW_NV_gpu_program4) #endif /* GL_NV_gpu_program4 */ /* --------------------------- GL_NV_gpu_program5 -------------------------- */ #ifndef GL_NV_gpu_program5 #define GL_NV_gpu_program5 1 #define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A #define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B #define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C #define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F #define GLEW_NV_gpu_program5 GLEW_GET_VAR(__GLEW_NV_gpu_program5) #endif /* GL_NV_gpu_program5 */ /* -------------------- GL_NV_gpu_program5_mem_extended -------------------- */ #ifndef GL_NV_gpu_program5_mem_extended #define GL_NV_gpu_program5_mem_extended 1 #define GLEW_NV_gpu_program5_mem_extended GLEW_GET_VAR(__GLEW_NV_gpu_program5_mem_extended) #endif /* GL_NV_gpu_program5_mem_extended */ /* ------------------------- GL_NV_gpu_program_fp64 ------------------------ */ #ifndef GL_NV_gpu_program_fp64 #define GL_NV_gpu_program_fp64 1 #define GLEW_NV_gpu_program_fp64 GLEW_GET_VAR(__GLEW_NV_gpu_program_fp64) #endif /* GL_NV_gpu_program_fp64 */ /* --------------------------- GL_NV_gpu_shader5 --------------------------- */ #ifndef GL_NV_gpu_shader5 #define GL_NV_gpu_shader5 1 #define GL_INT64_NV 0x140E #define GL_UNSIGNED_INT64_NV 0x140F #define GL_INT8_NV 0x8FE0 #define GL_INT8_VEC2_NV 0x8FE1 #define GL_INT8_VEC3_NV 0x8FE2 #define GL_INT8_VEC4_NV 0x8FE3 #define GL_INT16_NV 0x8FE4 #define GL_INT16_VEC2_NV 0x8FE5 #define GL_INT16_VEC3_NV 0x8FE6 #define GL_INT16_VEC4_NV 0x8FE7 #define GL_INT64_VEC2_NV 0x8FE9 #define GL_INT64_VEC3_NV 0x8FEA #define GL_INT64_VEC4_NV 0x8FEB #define GL_UNSIGNED_INT8_NV 0x8FEC #define GL_UNSIGNED_INT8_VEC2_NV 0x8FED #define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE #define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF #define GL_UNSIGNED_INT16_NV 0x8FF0 #define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 #define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 #define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 #define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 #define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 #define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 #define GL_FLOAT16_NV 0x8FF8 #define GL_FLOAT16_VEC2_NV 0x8FF9 #define GL_FLOAT16_VEC3_NV 0x8FFA #define GL_FLOAT16_VEC4_NV 0x8FFB typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT* params); typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT* params); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); #define glGetUniformi64vNV GLEW_GET_FUN(__glewGetUniformi64vNV) #define glGetUniformui64vNV GLEW_GET_FUN(__glewGetUniformui64vNV) #define glProgramUniform1i64NV GLEW_GET_FUN(__glewProgramUniform1i64NV) #define glProgramUniform1i64vNV GLEW_GET_FUN(__glewProgramUniform1i64vNV) #define glProgramUniform1ui64NV GLEW_GET_FUN(__glewProgramUniform1ui64NV) #define glProgramUniform1ui64vNV GLEW_GET_FUN(__glewProgramUniform1ui64vNV) #define glProgramUniform2i64NV GLEW_GET_FUN(__glewProgramUniform2i64NV) #define glProgramUniform2i64vNV GLEW_GET_FUN(__glewProgramUniform2i64vNV) #define glProgramUniform2ui64NV GLEW_GET_FUN(__glewProgramUniform2ui64NV) #define glProgramUniform2ui64vNV GLEW_GET_FUN(__glewProgramUniform2ui64vNV) #define glProgramUniform3i64NV GLEW_GET_FUN(__glewProgramUniform3i64NV) #define glProgramUniform3i64vNV GLEW_GET_FUN(__glewProgramUniform3i64vNV) #define glProgramUniform3ui64NV GLEW_GET_FUN(__glewProgramUniform3ui64NV) #define glProgramUniform3ui64vNV GLEW_GET_FUN(__glewProgramUniform3ui64vNV) #define glProgramUniform4i64NV GLEW_GET_FUN(__glewProgramUniform4i64NV) #define glProgramUniform4i64vNV GLEW_GET_FUN(__glewProgramUniform4i64vNV) #define glProgramUniform4ui64NV GLEW_GET_FUN(__glewProgramUniform4ui64NV) #define glProgramUniform4ui64vNV GLEW_GET_FUN(__glewProgramUniform4ui64vNV) #define glUniform1i64NV GLEW_GET_FUN(__glewUniform1i64NV) #define glUniform1i64vNV GLEW_GET_FUN(__glewUniform1i64vNV) #define glUniform1ui64NV GLEW_GET_FUN(__glewUniform1ui64NV) #define glUniform1ui64vNV GLEW_GET_FUN(__glewUniform1ui64vNV) #define glUniform2i64NV GLEW_GET_FUN(__glewUniform2i64NV) #define glUniform2i64vNV GLEW_GET_FUN(__glewUniform2i64vNV) #define glUniform2ui64NV GLEW_GET_FUN(__glewUniform2ui64NV) #define glUniform2ui64vNV GLEW_GET_FUN(__glewUniform2ui64vNV) #define glUniform3i64NV GLEW_GET_FUN(__glewUniform3i64NV) #define glUniform3i64vNV GLEW_GET_FUN(__glewUniform3i64vNV) #define glUniform3ui64NV GLEW_GET_FUN(__glewUniform3ui64NV) #define glUniform3ui64vNV GLEW_GET_FUN(__glewUniform3ui64vNV) #define glUniform4i64NV GLEW_GET_FUN(__glewUniform4i64NV) #define glUniform4i64vNV GLEW_GET_FUN(__glewUniform4i64vNV) #define glUniform4ui64NV GLEW_GET_FUN(__glewUniform4ui64NV) #define glUniform4ui64vNV GLEW_GET_FUN(__glewUniform4ui64vNV) #define GLEW_NV_gpu_shader5 GLEW_GET_VAR(__GLEW_NV_gpu_shader5) #endif /* GL_NV_gpu_shader5 */ /* ---------------------------- GL_NV_half_float --------------------------- */ #ifndef GL_NV_half_float #define GL_NV_half_float 1 #define GL_HALF_FLOAT_NV 0x140B typedef unsigned short GLhalf; typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha); typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLhalf fog); typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLhalf* fog); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz); typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLhalf s); typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t); typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r); typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q); typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y); typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z); typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w); typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLhalf weight); typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight); #define glColor3hNV GLEW_GET_FUN(__glewColor3hNV) #define glColor3hvNV GLEW_GET_FUN(__glewColor3hvNV) #define glColor4hNV GLEW_GET_FUN(__glewColor4hNV) #define glColor4hvNV GLEW_GET_FUN(__glewColor4hvNV) #define glFogCoordhNV GLEW_GET_FUN(__glewFogCoordhNV) #define glFogCoordhvNV GLEW_GET_FUN(__glewFogCoordhvNV) #define glMultiTexCoord1hNV GLEW_GET_FUN(__glewMultiTexCoord1hNV) #define glMultiTexCoord1hvNV GLEW_GET_FUN(__glewMultiTexCoord1hvNV) #define glMultiTexCoord2hNV GLEW_GET_FUN(__glewMultiTexCoord2hNV) #define glMultiTexCoord2hvNV GLEW_GET_FUN(__glewMultiTexCoord2hvNV) #define glMultiTexCoord3hNV GLEW_GET_FUN(__glewMultiTexCoord3hNV) #define glMultiTexCoord3hvNV GLEW_GET_FUN(__glewMultiTexCoord3hvNV) #define glMultiTexCoord4hNV GLEW_GET_FUN(__glewMultiTexCoord4hNV) #define glMultiTexCoord4hvNV GLEW_GET_FUN(__glewMultiTexCoord4hvNV) #define glNormal3hNV GLEW_GET_FUN(__glewNormal3hNV) #define glNormal3hvNV GLEW_GET_FUN(__glewNormal3hvNV) #define glSecondaryColor3hNV GLEW_GET_FUN(__glewSecondaryColor3hNV) #define glSecondaryColor3hvNV GLEW_GET_FUN(__glewSecondaryColor3hvNV) #define glTexCoord1hNV GLEW_GET_FUN(__glewTexCoord1hNV) #define glTexCoord1hvNV GLEW_GET_FUN(__glewTexCoord1hvNV) #define glTexCoord2hNV GLEW_GET_FUN(__glewTexCoord2hNV) #define glTexCoord2hvNV GLEW_GET_FUN(__glewTexCoord2hvNV) #define glTexCoord3hNV GLEW_GET_FUN(__glewTexCoord3hNV) #define glTexCoord3hvNV GLEW_GET_FUN(__glewTexCoord3hvNV) #define glTexCoord4hNV GLEW_GET_FUN(__glewTexCoord4hNV) #define glTexCoord4hvNV GLEW_GET_FUN(__glewTexCoord4hvNV) #define glVertex2hNV GLEW_GET_FUN(__glewVertex2hNV) #define glVertex2hvNV GLEW_GET_FUN(__glewVertex2hvNV) #define glVertex3hNV GLEW_GET_FUN(__glewVertex3hNV) #define glVertex3hvNV GLEW_GET_FUN(__glewVertex3hvNV) #define glVertex4hNV GLEW_GET_FUN(__glewVertex4hNV) #define glVertex4hvNV GLEW_GET_FUN(__glewVertex4hvNV) #define glVertexAttrib1hNV GLEW_GET_FUN(__glewVertexAttrib1hNV) #define glVertexAttrib1hvNV GLEW_GET_FUN(__glewVertexAttrib1hvNV) #define glVertexAttrib2hNV GLEW_GET_FUN(__glewVertexAttrib2hNV) #define glVertexAttrib2hvNV GLEW_GET_FUN(__glewVertexAttrib2hvNV) #define glVertexAttrib3hNV GLEW_GET_FUN(__glewVertexAttrib3hNV) #define glVertexAttrib3hvNV GLEW_GET_FUN(__glewVertexAttrib3hvNV) #define glVertexAttrib4hNV GLEW_GET_FUN(__glewVertexAttrib4hNV) #define glVertexAttrib4hvNV GLEW_GET_FUN(__glewVertexAttrib4hvNV) #define glVertexAttribs1hvNV GLEW_GET_FUN(__glewVertexAttribs1hvNV) #define glVertexAttribs2hvNV GLEW_GET_FUN(__glewVertexAttribs2hvNV) #define glVertexAttribs3hvNV GLEW_GET_FUN(__glewVertexAttribs3hvNV) #define glVertexAttribs4hvNV GLEW_GET_FUN(__glewVertexAttribs4hvNV) #define glVertexWeighthNV GLEW_GET_FUN(__glewVertexWeighthNV) #define glVertexWeighthvNV GLEW_GET_FUN(__glewVertexWeighthvNV) #define GLEW_NV_half_float GLEW_GET_VAR(__GLEW_NV_half_float) #endif /* GL_NV_half_float */ /* ------------------------ GL_NV_light_max_exponent ----------------------- */ #ifndef GL_NV_light_max_exponent #define GL_NV_light_max_exponent 1 #define GL_MAX_SHININESS_NV 0x8504 #define GL_MAX_SPOT_EXPONENT_NV 0x8505 #define GLEW_NV_light_max_exponent GLEW_GET_VAR(__GLEW_NV_light_max_exponent) #endif /* GL_NV_light_max_exponent */ /* ----------------------- GL_NV_multisample_coverage ---------------------- */ #ifndef GL_NV_multisample_coverage #define GL_NV_multisample_coverage 1 #define GL_COLOR_SAMPLES_NV 0x8E20 #define GLEW_NV_multisample_coverage GLEW_GET_VAR(__GLEW_NV_multisample_coverage) #endif /* GL_NV_multisample_coverage */ /* --------------------- GL_NV_multisample_filter_hint --------------------- */ #ifndef GL_NV_multisample_filter_hint #define GL_NV_multisample_filter_hint 1 #define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 #define GLEW_NV_multisample_filter_hint GLEW_GET_VAR(__GLEW_NV_multisample_filter_hint) #endif /* GL_NV_multisample_filter_hint */ /* ------------------------- GL_NV_occlusion_query ------------------------- */ #ifndef GL_NV_occlusion_query #define GL_NV_occlusion_query 1 #define GL_PIXEL_COUNTER_BITS_NV 0x8864 #define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 #define GL_PIXEL_COUNT_NV 0x8866 #define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 typedef void (GLAPIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint* ids); typedef void (GLAPIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void); typedef void (GLAPIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint* ids); typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint* params); typedef GLboolean (GLAPIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); #define glBeginOcclusionQueryNV GLEW_GET_FUN(__glewBeginOcclusionQueryNV) #define glDeleteOcclusionQueriesNV GLEW_GET_FUN(__glewDeleteOcclusionQueriesNV) #define glEndOcclusionQueryNV GLEW_GET_FUN(__glewEndOcclusionQueryNV) #define glGenOcclusionQueriesNV GLEW_GET_FUN(__glewGenOcclusionQueriesNV) #define glGetOcclusionQueryivNV GLEW_GET_FUN(__glewGetOcclusionQueryivNV) #define glGetOcclusionQueryuivNV GLEW_GET_FUN(__glewGetOcclusionQueryuivNV) #define glIsOcclusionQueryNV GLEW_GET_FUN(__glewIsOcclusionQueryNV) #define GLEW_NV_occlusion_query GLEW_GET_VAR(__GLEW_NV_occlusion_query) #endif /* GL_NV_occlusion_query */ /* ----------------------- GL_NV_packed_depth_stencil ---------------------- */ #ifndef GL_NV_packed_depth_stencil #define GL_NV_packed_depth_stencil 1 #define GL_DEPTH_STENCIL_NV 0x84F9 #define GL_UNSIGNED_INT_24_8_NV 0x84FA #define GLEW_NV_packed_depth_stencil GLEW_GET_VAR(__GLEW_NV_packed_depth_stencil) #endif /* GL_NV_packed_depth_stencil */ /* --------------------- GL_NV_parameter_buffer_object --------------------- */ #ifndef GL_NV_parameter_buffer_object #define GL_NV_parameter_buffer_object 1 #define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 #define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 #define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 #define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 #define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params); typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params); #define glProgramBufferParametersIivNV GLEW_GET_FUN(__glewProgramBufferParametersIivNV) #define glProgramBufferParametersIuivNV GLEW_GET_FUN(__glewProgramBufferParametersIuivNV) #define glProgramBufferParametersfvNV GLEW_GET_FUN(__glewProgramBufferParametersfvNV) #define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object) #endif /* GL_NV_parameter_buffer_object */ /* --------------------- GL_NV_parameter_buffer_object2 -------------------- */ #ifndef GL_NV_parameter_buffer_object2 #define GL_NV_parameter_buffer_object2 1 #define GLEW_NV_parameter_buffer_object2 GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object2) #endif /* GL_NV_parameter_buffer_object2 */ /* -------------------------- GL_NV_path_rendering ------------------------- */ #ifndef GL_NV_path_rendering #define GL_NV_path_rendering 1 #define GL_CLOSE_PATH_NV 0x00 #define GL_BOLD_BIT_NV 0x01 #define GL_GLYPH_WIDTH_BIT_NV 0x01 #define GL_GLYPH_HEIGHT_BIT_NV 0x02 #define GL_ITALIC_BIT_NV 0x02 #define GL_MOVE_TO_NV 0x02 #define GL_RELATIVE_MOVE_TO_NV 0x03 #define GL_LINE_TO_NV 0x04 #define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 #define GL_RELATIVE_LINE_TO_NV 0x05 #define GL_HORIZONTAL_LINE_TO_NV 0x06 #define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 #define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 #define GL_VERTICAL_LINE_TO_NV 0x08 #define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 #define GL_QUADRATIC_CURVE_TO_NV 0x0A #define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B #define GL_CUBIC_CURVE_TO_NV 0x0C #define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D #define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E #define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F #define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 #define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 #define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 #define GL_SMALL_CCW_ARC_TO_NV 0x12 #define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 #define GL_SMALL_CW_ARC_TO_NV 0x14 #define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 #define GL_LARGE_CCW_ARC_TO_NV 0x16 #define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 #define GL_LARGE_CW_ARC_TO_NV 0x18 #define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 #define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 #define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 #define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 #define GL_RESTART_PATH_NV 0xF0 #define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2 #define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4 #define GL_RECT_NV 0xF6 #define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 #define GL_CIRCULAR_CW_ARC_TO_NV 0xFA #define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC #define GL_ARC_TO_NV 0xFE #define GL_RELATIVE_ARC_TO_NV 0xFF #define GL_GLYPH_HAS_KERNING_BIT_NV 0x100 #define GL_PRIMARY_COLOR 0x8577 #define GL_PATH_FORMAT_SVG_NV 0x9070 #define GL_PATH_FORMAT_PS_NV 0x9071 #define GL_STANDARD_FONT_NAME_NV 0x9072 #define GL_SYSTEM_FONT_NAME_NV 0x9073 #define GL_FILE_NAME_NV 0x9074 #define GL_PATH_STROKE_WIDTH_NV 0x9075 #define GL_PATH_END_CAPS_NV 0x9076 #define GL_PATH_INITIAL_END_CAP_NV 0x9077 #define GL_PATH_TERMINAL_END_CAP_NV 0x9078 #define GL_PATH_JOIN_STYLE_NV 0x9079 #define GL_PATH_MITER_LIMIT_NV 0x907A #define GL_PATH_DASH_CAPS_NV 0x907B #define GL_PATH_INITIAL_DASH_CAP_NV 0x907C #define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D #define GL_PATH_DASH_OFFSET_NV 0x907E #define GL_PATH_CLIENT_LENGTH_NV 0x907F #define GL_PATH_FILL_MODE_NV 0x9080 #define GL_PATH_FILL_MASK_NV 0x9081 #define GL_PATH_FILL_COVER_MODE_NV 0x9082 #define GL_PATH_STROKE_COVER_MODE_NV 0x9083 #define GL_PATH_STROKE_MASK_NV 0x9084 #define GL_COUNT_UP_NV 0x9088 #define GL_COUNT_DOWN_NV 0x9089 #define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A #define GL_CONVEX_HULL_NV 0x908B #define GL_BOUNDING_BOX_NV 0x908D #define GL_TRANSLATE_X_NV 0x908E #define GL_TRANSLATE_Y_NV 0x908F #define GL_TRANSLATE_2D_NV 0x9090 #define GL_TRANSLATE_3D_NV 0x9091 #define GL_AFFINE_2D_NV 0x9092 #define GL_AFFINE_3D_NV 0x9094 #define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 #define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 #define GL_UTF8_NV 0x909A #define GL_UTF16_NV 0x909B #define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C #define GL_PATH_COMMAND_COUNT_NV 0x909D #define GL_PATH_COORD_COUNT_NV 0x909E #define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F #define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 #define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 #define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 #define GL_SQUARE_NV 0x90A3 #define GL_ROUND_NV 0x90A4 #define GL_TRIANGULAR_NV 0x90A5 #define GL_BEVEL_NV 0x90A6 #define GL_MITER_REVERT_NV 0x90A7 #define GL_MITER_TRUNCATE_NV 0x90A8 #define GL_SKIP_MISSING_GLYPH_NV 0x90A9 #define GL_USE_MISSING_GLYPH_NV 0x90AA #define GL_PATH_ERROR_POSITION_NV 0x90AB #define GL_PATH_FOG_GEN_MODE_NV 0x90AC #define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD #define GL_ADJACENT_PAIRS_NV 0x90AE #define GL_FIRST_TO_REST_NV 0x90AF #define GL_PATH_GEN_MODE_NV 0x90B0 #define GL_PATH_GEN_COEFF_NV 0x90B1 #define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 #define GL_PATH_GEN_COMPONENTS_NV 0x90B3 #define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 #define GL_MOVE_TO_RESETS_NV 0x90B5 #define GL_MOVE_TO_CONTINUES_NV 0x90B6 #define GL_PATH_STENCIL_FUNC_NV 0x90B7 #define GL_PATH_STENCIL_REF_NV 0x90B8 #define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 #define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD #define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE #define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF #define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000 #define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000 #define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000 #define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000 #define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000 #define GL_FONT_ASCENDER_BIT_NV 0x00200000 #define GL_FONT_DESCENDER_BIT_NV 0x00400000 #define GL_FONT_HEIGHT_BIT_NV 0x00800000 #define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000 #define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000 #define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 #define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 #define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 typedef void (GLAPIENTRY * PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHNVPROC) (GLuint name, GLenum coverMode); typedef void (GLAPIENTRY * PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); typedef GLuint (GLAPIENTRY * PFNGLGENPATHSNVPROC) (GLsizei range); typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat* value); typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint* value); typedef void (GLAPIENTRY * PFNGLGETPATHCOMMANDSNVPROC) (GLuint name, GLubyte* commands); typedef void (GLAPIENTRY * PFNGLGETPATHCOORDSNVPROC) (GLuint name, GLfloat* coords); typedef void (GLAPIENTRY * PFNGLGETPATHDASHARRAYNVPROC) (GLuint name, GLfloat* dashArray); typedef GLfloat (GLAPIENTRY * PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); typedef void (GLAPIENTRY * PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics); typedef void (GLAPIENTRY * PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERFVNVPROC) (GLuint name, GLenum param, GLfloat* value); typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERIVNVPROC) (GLuint name, GLenum param, GLint* value); typedef void (GLAPIENTRY * PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat* value); typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint* value); typedef void (GLAPIENTRY * PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); typedef GLboolean (GLAPIENTRY * PFNGLISPATHNVPROC) (GLuint path); typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat* coeffs); typedef void (GLAPIENTRY * PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const GLvoid*coords); typedef void (GLAPIENTRY * PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void* coords); typedef void (GLAPIENTRY * PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum zfunc); typedef void (GLAPIENTRY * PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat* dashArray); typedef void (GLAPIENTRY * PFNGLPATHFOGGENNVPROC) (GLenum genMode); typedef void (GLAPIENTRY * PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); typedef void (GLAPIENTRY * PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid*charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat* value); typedef void (GLAPIENTRY * PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); typedef void (GLAPIENTRY * PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint* value); typedef void (GLAPIENTRY * PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units); typedef void (GLAPIENTRY * PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); typedef void (GLAPIENTRY * PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void* pathString); typedef void (GLAPIENTRY * PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const GLvoid*coords); typedef void (GLAPIENTRY * PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void* coords); typedef void (GLAPIENTRY * PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat* coeffs); typedef GLboolean (GLAPIENTRY * PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); typedef void (GLAPIENTRY * PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat* transformValues); typedef void (GLAPIENTRY * PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint paths[], const GLfloat weights[]); #define glCopyPathNV GLEW_GET_FUN(__glewCopyPathNV) #define glCoverFillPathInstancedNV GLEW_GET_FUN(__glewCoverFillPathInstancedNV) #define glCoverFillPathNV GLEW_GET_FUN(__glewCoverFillPathNV) #define glCoverStrokePathInstancedNV GLEW_GET_FUN(__glewCoverStrokePathInstancedNV) #define glCoverStrokePathNV GLEW_GET_FUN(__glewCoverStrokePathNV) #define glDeletePathsNV GLEW_GET_FUN(__glewDeletePathsNV) #define glGenPathsNV GLEW_GET_FUN(__glewGenPathsNV) #define glGetPathColorGenfvNV GLEW_GET_FUN(__glewGetPathColorGenfvNV) #define glGetPathColorGenivNV GLEW_GET_FUN(__glewGetPathColorGenivNV) #define glGetPathCommandsNV GLEW_GET_FUN(__glewGetPathCommandsNV) #define glGetPathCoordsNV GLEW_GET_FUN(__glewGetPathCoordsNV) #define glGetPathDashArrayNV GLEW_GET_FUN(__glewGetPathDashArrayNV) #define glGetPathLengthNV GLEW_GET_FUN(__glewGetPathLengthNV) #define glGetPathMetricRangeNV GLEW_GET_FUN(__glewGetPathMetricRangeNV) #define glGetPathMetricsNV GLEW_GET_FUN(__glewGetPathMetricsNV) #define glGetPathParameterfvNV GLEW_GET_FUN(__glewGetPathParameterfvNV) #define glGetPathParameterivNV GLEW_GET_FUN(__glewGetPathParameterivNV) #define glGetPathSpacingNV GLEW_GET_FUN(__glewGetPathSpacingNV) #define glGetPathTexGenfvNV GLEW_GET_FUN(__glewGetPathTexGenfvNV) #define glGetPathTexGenivNV GLEW_GET_FUN(__glewGetPathTexGenivNV) #define glInterpolatePathsNV GLEW_GET_FUN(__glewInterpolatePathsNV) #define glIsPathNV GLEW_GET_FUN(__glewIsPathNV) #define glIsPointInFillPathNV GLEW_GET_FUN(__glewIsPointInFillPathNV) #define glIsPointInStrokePathNV GLEW_GET_FUN(__glewIsPointInStrokePathNV) #define glPathColorGenNV GLEW_GET_FUN(__glewPathColorGenNV) #define glPathCommandsNV GLEW_GET_FUN(__glewPathCommandsNV) #define glPathCoordsNV GLEW_GET_FUN(__glewPathCoordsNV) #define glPathCoverDepthFuncNV GLEW_GET_FUN(__glewPathCoverDepthFuncNV) #define glPathDashArrayNV GLEW_GET_FUN(__glewPathDashArrayNV) #define glPathFogGenNV GLEW_GET_FUN(__glewPathFogGenNV) #define glPathGlyphRangeNV GLEW_GET_FUN(__glewPathGlyphRangeNV) #define glPathGlyphsNV GLEW_GET_FUN(__glewPathGlyphsNV) #define glPathParameterfNV GLEW_GET_FUN(__glewPathParameterfNV) #define glPathParameterfvNV GLEW_GET_FUN(__glewPathParameterfvNV) #define glPathParameteriNV GLEW_GET_FUN(__glewPathParameteriNV) #define glPathParameterivNV GLEW_GET_FUN(__glewPathParameterivNV) #define glPathStencilDepthOffsetNV GLEW_GET_FUN(__glewPathStencilDepthOffsetNV) #define glPathStencilFuncNV GLEW_GET_FUN(__glewPathStencilFuncNV) #define glPathStringNV GLEW_GET_FUN(__glewPathStringNV) #define glPathSubCommandsNV GLEW_GET_FUN(__glewPathSubCommandsNV) #define glPathSubCoordsNV GLEW_GET_FUN(__glewPathSubCoordsNV) #define glPathTexGenNV GLEW_GET_FUN(__glewPathTexGenNV) #define glPointAlongPathNV GLEW_GET_FUN(__glewPointAlongPathNV) #define glStencilFillPathInstancedNV GLEW_GET_FUN(__glewStencilFillPathInstancedNV) #define glStencilFillPathNV GLEW_GET_FUN(__glewStencilFillPathNV) #define glStencilStrokePathInstancedNV GLEW_GET_FUN(__glewStencilStrokePathInstancedNV) #define glStencilStrokePathNV GLEW_GET_FUN(__glewStencilStrokePathNV) #define glTransformPathNV GLEW_GET_FUN(__glewTransformPathNV) #define glWeightPathsNV GLEW_GET_FUN(__glewWeightPathsNV) #define GLEW_NV_path_rendering GLEW_GET_VAR(__GLEW_NV_path_rendering) #endif /* GL_NV_path_rendering */ /* ------------------------- GL_NV_pixel_data_range ------------------------ */ #ifndef GL_NV_pixel_data_range #define GL_NV_pixel_data_range 1 #define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878 #define GL_READ_PIXEL_DATA_RANGE_NV 0x8879 #define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A #define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B #define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C #define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D typedef void (GLAPIENTRY * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, GLvoid *pointer); #define glFlushPixelDataRangeNV GLEW_GET_FUN(__glewFlushPixelDataRangeNV) #define glPixelDataRangeNV GLEW_GET_FUN(__glewPixelDataRangeNV) #define GLEW_NV_pixel_data_range GLEW_GET_VAR(__GLEW_NV_pixel_data_range) #endif /* GL_NV_pixel_data_range */ /* --------------------------- GL_NV_point_sprite -------------------------- */ #ifndef GL_NV_point_sprite #define GL_NV_point_sprite 1 #define GL_POINT_SPRITE_NV 0x8861 #define GL_COORD_REPLACE_NV 0x8862 #define GL_POINT_SPRITE_R_MODE_NV 0x8863 typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint* params); #define glPointParameteriNV GLEW_GET_FUN(__glewPointParameteriNV) #define glPointParameterivNV GLEW_GET_FUN(__glewPointParameterivNV) #define GLEW_NV_point_sprite GLEW_GET_VAR(__GLEW_NV_point_sprite) #endif /* GL_NV_point_sprite */ /* -------------------------- GL_NV_present_video -------------------------- */ #ifndef GL_NV_present_video #define GL_NV_present_video 1 #define GL_FRAME_NV 0x8E26 #define GL_FIELDS_NV 0x8E27 #define GL_CURRENT_TIME_NV 0x8E28 #define GL_NUM_FILL_STREAMS_NV 0x8E29 #define GL_PRESENT_TIME_NV 0x8E2A #define GL_PRESENT_DURATION_NV 0x8E2B typedef void (GLAPIENTRY * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT* params); typedef void (GLAPIENTRY * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT* params); typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params); typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); #define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV) #define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV) #define glGetVideoui64vNV GLEW_GET_FUN(__glewGetVideoui64vNV) #define glGetVideouivNV GLEW_GET_FUN(__glewGetVideouivNV) #define glPresentFrameDualFillNV GLEW_GET_FUN(__glewPresentFrameDualFillNV) #define glPresentFrameKeyedNV GLEW_GET_FUN(__glewPresentFrameKeyedNV) #define GLEW_NV_present_video GLEW_GET_VAR(__GLEW_NV_present_video) #endif /* GL_NV_present_video */ /* ------------------------ GL_NV_primitive_restart ------------------------ */ #ifndef GL_NV_primitive_restart #define GL_NV_primitive_restart 1 #define GL_PRIMITIVE_RESTART_NV 0x8558 #define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index); typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTNVPROC) (void); #define glPrimitiveRestartIndexNV GLEW_GET_FUN(__glewPrimitiveRestartIndexNV) #define glPrimitiveRestartNV GLEW_GET_FUN(__glewPrimitiveRestartNV) #define GLEW_NV_primitive_restart GLEW_GET_VAR(__GLEW_NV_primitive_restart) #endif /* GL_NV_primitive_restart */ /* ------------------------ GL_NV_register_combiners ----------------------- */ #ifndef GL_NV_register_combiners #define GL_NV_register_combiners 1 #define GL_REGISTER_COMBINERS_NV 0x8522 #define GL_VARIABLE_A_NV 0x8523 #define GL_VARIABLE_B_NV 0x8524 #define GL_VARIABLE_C_NV 0x8525 #define GL_VARIABLE_D_NV 0x8526 #define GL_VARIABLE_E_NV 0x8527 #define GL_VARIABLE_F_NV 0x8528 #define GL_VARIABLE_G_NV 0x8529 #define GL_CONSTANT_COLOR0_NV 0x852A #define GL_CONSTANT_COLOR1_NV 0x852B #define GL_PRIMARY_COLOR_NV 0x852C #define GL_SECONDARY_COLOR_NV 0x852D #define GL_SPARE0_NV 0x852E #define GL_SPARE1_NV 0x852F #define GL_DISCARD_NV 0x8530 #define GL_E_TIMES_F_NV 0x8531 #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532 #define GL_UNSIGNED_IDENTITY_NV 0x8536 #define GL_UNSIGNED_INVERT_NV 0x8537 #define GL_EXPAND_NORMAL_NV 0x8538 #define GL_EXPAND_NEGATE_NV 0x8539 #define GL_HALF_BIAS_NORMAL_NV 0x853A #define GL_HALF_BIAS_NEGATE_NV 0x853B #define GL_SIGNED_IDENTITY_NV 0x853C #define GL_SIGNED_NEGATE_NV 0x853D #define GL_SCALE_BY_TWO_NV 0x853E #define GL_SCALE_BY_FOUR_NV 0x853F #define GL_SCALE_BY_ONE_HALF_NV 0x8540 #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541 #define GL_COMBINER_INPUT_NV 0x8542 #define GL_COMBINER_MAPPING_NV 0x8543 #define GL_COMBINER_COMPONENT_USAGE_NV 0x8544 #define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545 #define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546 #define GL_COMBINER_MUX_SUM_NV 0x8547 #define GL_COMBINER_SCALE_NV 0x8548 #define GL_COMBINER_BIAS_NV 0x8549 #define GL_COMBINER_AB_OUTPUT_NV 0x854A #define GL_COMBINER_CD_OUTPUT_NV 0x854B #define GL_COMBINER_SUM_OUTPUT_NV 0x854C #define GL_MAX_GENERAL_COMBINERS_NV 0x854D #define GL_NUM_GENERAL_COMBINERS_NV 0x854E #define GL_COLOR_SUM_CLAMP_NV 0x854F #define GL_COMBINER0_NV 0x8550 #define GL_COMBINER1_NV 0x8551 #define GL_COMBINER2_NV 0x8552 #define GL_COMBINER3_NV 0x8553 #define GL_COMBINER4_NV 0x8554 #define GL_COMBINER5_NV 0x8555 #define GL_COMBINER6_NV 0x8556 #define GL_COMBINER7_NV 0x8557 typedef void (GLAPIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); typedef void (GLAPIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint* params); #define glCombinerInputNV GLEW_GET_FUN(__glewCombinerInputNV) #define glCombinerOutputNV GLEW_GET_FUN(__glewCombinerOutputNV) #define glCombinerParameterfNV GLEW_GET_FUN(__glewCombinerParameterfNV) #define glCombinerParameterfvNV GLEW_GET_FUN(__glewCombinerParameterfvNV) #define glCombinerParameteriNV GLEW_GET_FUN(__glewCombinerParameteriNV) #define glCombinerParameterivNV GLEW_GET_FUN(__glewCombinerParameterivNV) #define glFinalCombinerInputNV GLEW_GET_FUN(__glewFinalCombinerInputNV) #define glGetCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetCombinerInputParameterfvNV) #define glGetCombinerInputParameterivNV GLEW_GET_FUN(__glewGetCombinerInputParameterivNV) #define glGetCombinerOutputParameterfvNV GLEW_GET_FUN(__glewGetCombinerOutputParameterfvNV) #define glGetCombinerOutputParameterivNV GLEW_GET_FUN(__glewGetCombinerOutputParameterivNV) #define glGetFinalCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterfvNV) #define glGetFinalCombinerInputParameterivNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterivNV) #define GLEW_NV_register_combiners GLEW_GET_VAR(__GLEW_NV_register_combiners) #endif /* GL_NV_register_combiners */ /* ----------------------- GL_NV_register_combiners2 ----------------------- */ #ifndef GL_NV_register_combiners2 #define GL_NV_register_combiners2 1 #define GL_PER_STAGE_CONSTANTS_NV 0x8535 typedef void (GLAPIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat* params); #define glCombinerStageParameterfvNV GLEW_GET_FUN(__glewCombinerStageParameterfvNV) #define glGetCombinerStageParameterfvNV GLEW_GET_FUN(__glewGetCombinerStageParameterfvNV) #define GLEW_NV_register_combiners2 GLEW_GET_VAR(__GLEW_NV_register_combiners2) #endif /* GL_NV_register_combiners2 */ /* ---------------------- GL_NV_shader_atomic_counters --------------------- */ #ifndef GL_NV_shader_atomic_counters #define GL_NV_shader_atomic_counters 1 #define GLEW_NV_shader_atomic_counters GLEW_GET_VAR(__GLEW_NV_shader_atomic_counters) #endif /* GL_NV_shader_atomic_counters */ /* ----------------------- GL_NV_shader_atomic_float ----------------------- */ #ifndef GL_NV_shader_atomic_float #define GL_NV_shader_atomic_float 1 #define GLEW_NV_shader_atomic_float GLEW_GET_VAR(__GLEW_NV_shader_atomic_float) #endif /* GL_NV_shader_atomic_float */ /* ------------------------ GL_NV_shader_buffer_load ----------------------- */ #ifndef GL_NV_shader_buffer_load #define GL_NV_shader_buffer_load 1 #define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D #define GL_GPU_ADDRESS_NV 0x8F34 #define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35 typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT* params); typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT* result); typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT* params); typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERRESIDENTNVPROC) (GLenum target); typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer); typedef void (GLAPIENTRY * PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target); typedef void (GLAPIENTRY * PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access); typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer); typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value); typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); typedef void (GLAPIENTRY * PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value); typedef void (GLAPIENTRY * PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); #define glGetBufferParameterui64vNV GLEW_GET_FUN(__glewGetBufferParameterui64vNV) #define glGetIntegerui64vNV GLEW_GET_FUN(__glewGetIntegerui64vNV) #define glGetNamedBufferParameterui64vNV GLEW_GET_FUN(__glewGetNamedBufferParameterui64vNV) #define glIsBufferResidentNV GLEW_GET_FUN(__glewIsBufferResidentNV) #define glIsNamedBufferResidentNV GLEW_GET_FUN(__glewIsNamedBufferResidentNV) #define glMakeBufferNonResidentNV GLEW_GET_FUN(__glewMakeBufferNonResidentNV) #define glMakeBufferResidentNV GLEW_GET_FUN(__glewMakeBufferResidentNV) #define glMakeNamedBufferNonResidentNV GLEW_GET_FUN(__glewMakeNamedBufferNonResidentNV) #define glMakeNamedBufferResidentNV GLEW_GET_FUN(__glewMakeNamedBufferResidentNV) #define glProgramUniformui64NV GLEW_GET_FUN(__glewProgramUniformui64NV) #define glProgramUniformui64vNV GLEW_GET_FUN(__glewProgramUniformui64vNV) #define glUniformui64NV GLEW_GET_FUN(__glewUniformui64NV) #define glUniformui64vNV GLEW_GET_FUN(__glewUniformui64vNV) #define GLEW_NV_shader_buffer_load GLEW_GET_VAR(__GLEW_NV_shader_buffer_load) #endif /* GL_NV_shader_buffer_load */ /* ------------------- GL_NV_shader_storage_buffer_object ------------------ */ #ifndef GL_NV_shader_storage_buffer_object #define GL_NV_shader_storage_buffer_object 1 #define GLEW_NV_shader_storage_buffer_object GLEW_GET_VAR(__GLEW_NV_shader_storage_buffer_object) #endif /* GL_NV_shader_storage_buffer_object */ /* ---------------------- GL_NV_tessellation_program5 ---------------------- */ #ifndef GL_NV_tessellation_program5 #define GL_NV_tessellation_program5 1 #define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 #define GL_TESS_CONTROL_PROGRAM_NV 0x891E #define GL_TESS_EVALUATION_PROGRAM_NV 0x891F #define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74 #define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75 #define GLEW_NV_tessellation_program5 GLEW_GET_VAR(__GLEW_NV_tessellation_program5) #endif /* GL_NV_tessellation_program5 */ /* -------------------------- GL_NV_texgen_emboss -------------------------- */ #ifndef GL_NV_texgen_emboss #define GL_NV_texgen_emboss 1 #define GL_EMBOSS_LIGHT_NV 0x855D #define GL_EMBOSS_CONSTANT_NV 0x855E #define GL_EMBOSS_MAP_NV 0x855F #define GLEW_NV_texgen_emboss GLEW_GET_VAR(__GLEW_NV_texgen_emboss) #endif /* GL_NV_texgen_emboss */ /* ------------------------ GL_NV_texgen_reflection ------------------------ */ #ifndef GL_NV_texgen_reflection #define GL_NV_texgen_reflection 1 #define GL_NORMAL_MAP_NV 0x8511 #define GL_REFLECTION_MAP_NV 0x8512 #define GLEW_NV_texgen_reflection GLEW_GET_VAR(__GLEW_NV_texgen_reflection) #endif /* GL_NV_texgen_reflection */ /* ------------------------- GL_NV_texture_barrier ------------------------- */ #ifndef GL_NV_texture_barrier #define GL_NV_texture_barrier 1 typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERNVPROC) (void); #define glTextureBarrierNV GLEW_GET_FUN(__glewTextureBarrierNV) #define GLEW_NV_texture_barrier GLEW_GET_VAR(__GLEW_NV_texture_barrier) #endif /* GL_NV_texture_barrier */ /* --------------------- GL_NV_texture_compression_vtc --------------------- */ #ifndef GL_NV_texture_compression_vtc #define GL_NV_texture_compression_vtc 1 #define GLEW_NV_texture_compression_vtc GLEW_GET_VAR(__GLEW_NV_texture_compression_vtc) #endif /* GL_NV_texture_compression_vtc */ /* ----------------------- GL_NV_texture_env_combine4 ---------------------- */ #ifndef GL_NV_texture_env_combine4 #define GL_NV_texture_env_combine4 1 #define GL_COMBINE4_NV 0x8503 #define GL_SOURCE3_RGB_NV 0x8583 #define GL_SOURCE3_ALPHA_NV 0x858B #define GL_OPERAND3_RGB_NV 0x8593 #define GL_OPERAND3_ALPHA_NV 0x859B #define GLEW_NV_texture_env_combine4 GLEW_GET_VAR(__GLEW_NV_texture_env_combine4) #endif /* GL_NV_texture_env_combine4 */ /* ---------------------- GL_NV_texture_expand_normal ---------------------- */ #ifndef GL_NV_texture_expand_normal #define GL_NV_texture_expand_normal 1 #define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F #define GLEW_NV_texture_expand_normal GLEW_GET_VAR(__GLEW_NV_texture_expand_normal) #endif /* GL_NV_texture_expand_normal */ /* ----------------------- GL_NV_texture_multisample ----------------------- */ #ifndef GL_NV_texture_multisample #define GL_NV_texture_multisample 1 #define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045 #define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046 typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); #define glTexImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage2DMultisampleCoverageNV) #define glTexImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage3DMultisampleCoverageNV) #define glTextureImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage2DMultisampleCoverageNV) #define glTextureImage2DMultisampleNV GLEW_GET_FUN(__glewTextureImage2DMultisampleNV) #define glTextureImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage3DMultisampleCoverageNV) #define glTextureImage3DMultisampleNV GLEW_GET_FUN(__glewTextureImage3DMultisampleNV) #define GLEW_NV_texture_multisample GLEW_GET_VAR(__GLEW_NV_texture_multisample) #endif /* GL_NV_texture_multisample */ /* ------------------------ GL_NV_texture_rectangle ------------------------ */ #ifndef GL_NV_texture_rectangle #define GL_NV_texture_rectangle 1 #define GL_TEXTURE_RECTANGLE_NV 0x84F5 #define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 #define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 #define GLEW_NV_texture_rectangle GLEW_GET_VAR(__GLEW_NV_texture_rectangle) #endif /* GL_NV_texture_rectangle */ /* -------------------------- GL_NV_texture_shader ------------------------- */ #ifndef GL_NV_texture_shader #define GL_NV_texture_shader 1 #define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C #define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D #define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9 #define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB #define GL_DSDT_MAG_INTENSITY_NV 0x86DC #define GL_SHADER_CONSISTENT_NV 0x86DD #define GL_TEXTURE_SHADER_NV 0x86DE #define GL_SHADER_OPERATION_NV 0x86DF #define GL_CULL_MODES_NV 0x86E0 #define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1 #define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 #define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2 #define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 #define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 #define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3 #define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 #define GL_CONST_EYE_NV 0x86E5 #define GL_PASS_THROUGH_NV 0x86E6 #define GL_CULL_FRAGMENT_NV 0x86E7 #define GL_OFFSET_TEXTURE_2D_NV 0x86E8 #define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9 #define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA #define GL_DOT_PRODUCT_NV 0x86EC #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED #define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3 #define GL_HILO_NV 0x86F4 #define GL_DSDT_NV 0x86F5 #define GL_DSDT_MAG_NV 0x86F6 #define GL_DSDT_MAG_VIB_NV 0x86F7 #define GL_HILO16_NV 0x86F8 #define GL_SIGNED_HILO_NV 0x86F9 #define GL_SIGNED_HILO16_NV 0x86FA #define GL_SIGNED_RGBA_NV 0x86FB #define GL_SIGNED_RGBA8_NV 0x86FC #define GL_SIGNED_RGB_NV 0x86FE #define GL_SIGNED_RGB8_NV 0x86FF #define GL_SIGNED_LUMINANCE_NV 0x8701 #define GL_SIGNED_LUMINANCE8_NV 0x8702 #define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 #define GL_SIGNED_ALPHA_NV 0x8705 #define GL_SIGNED_ALPHA8_NV 0x8706 #define GL_SIGNED_INTENSITY_NV 0x8707 #define GL_SIGNED_INTENSITY8_NV 0x8708 #define GL_DSDT8_NV 0x8709 #define GL_DSDT8_MAG8_NV 0x870A #define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D #define GL_HI_SCALE_NV 0x870E #define GL_LO_SCALE_NV 0x870F #define GL_DS_SCALE_NV 0x8710 #define GL_DT_SCALE_NV 0x8711 #define GL_MAGNITUDE_SCALE_NV 0x8712 #define GL_VIBRANCE_SCALE_NV 0x8713 #define GL_HI_BIAS_NV 0x8714 #define GL_LO_BIAS_NV 0x8715 #define GL_DS_BIAS_NV 0x8716 #define GL_DT_BIAS_NV 0x8717 #define GL_MAGNITUDE_BIAS_NV 0x8718 #define GL_VIBRANCE_BIAS_NV 0x8719 #define GL_TEXTURE_BORDER_VALUES_NV 0x871A #define GL_TEXTURE_HI_SIZE_NV 0x871B #define GL_TEXTURE_LO_SIZE_NV 0x871C #define GL_TEXTURE_DS_SIZE_NV 0x871D #define GL_TEXTURE_DT_SIZE_NV 0x871E #define GL_TEXTURE_MAG_SIZE_NV 0x871F #define GLEW_NV_texture_shader GLEW_GET_VAR(__GLEW_NV_texture_shader) #endif /* GL_NV_texture_shader */ /* ------------------------- GL_NV_texture_shader2 ------------------------- */ #ifndef GL_NV_texture_shader2 #define GL_NV_texture_shader2 1 #define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB #define GL_DSDT_MAG_INTENSITY_NV 0x86DC #define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF #define GL_HILO_NV 0x86F4 #define GL_DSDT_NV 0x86F5 #define GL_DSDT_MAG_NV 0x86F6 #define GL_DSDT_MAG_VIB_NV 0x86F7 #define GL_HILO16_NV 0x86F8 #define GL_SIGNED_HILO_NV 0x86F9 #define GL_SIGNED_HILO16_NV 0x86FA #define GL_SIGNED_RGBA_NV 0x86FB #define GL_SIGNED_RGBA8_NV 0x86FC #define GL_SIGNED_RGB_NV 0x86FE #define GL_SIGNED_RGB8_NV 0x86FF #define GL_SIGNED_LUMINANCE_NV 0x8701 #define GL_SIGNED_LUMINANCE8_NV 0x8702 #define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 #define GL_SIGNED_ALPHA_NV 0x8705 #define GL_SIGNED_ALPHA8_NV 0x8706 #define GL_SIGNED_INTENSITY_NV 0x8707 #define GL_SIGNED_INTENSITY8_NV 0x8708 #define GL_DSDT8_NV 0x8709 #define GL_DSDT8_MAG8_NV 0x870A #define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D #define GLEW_NV_texture_shader2 GLEW_GET_VAR(__GLEW_NV_texture_shader2) #endif /* GL_NV_texture_shader2 */ /* ------------------------- GL_NV_texture_shader3 ------------------------- */ #ifndef GL_NV_texture_shader3 #define GL_NV_texture_shader3 1 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853 #define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854 #define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857 #define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858 #define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859 #define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A #define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B #define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C #define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D #define GL_HILO8_NV 0x885E #define GL_SIGNED_HILO8_NV 0x885F #define GL_FORCE_BLUE_TO_ONE_NV 0x8860 #define GLEW_NV_texture_shader3 GLEW_GET_VAR(__GLEW_NV_texture_shader3) #endif /* GL_NV_texture_shader3 */ /* ------------------------ GL_NV_transform_feedback ----------------------- */ #ifndef GL_NV_transform_feedback #define GL_NV_transform_feedback 1 #define GL_BACK_PRIMARY_COLOR_NV 0x8C77 #define GL_BACK_SECONDARY_COLOR_NV 0x8C78 #define GL_TEXTURE_COORD_NV 0x8C79 #define GL_CLIP_DISTANCE_NV 0x8C7A #define GL_VERTEX_ID_NV 0x8C7B #define GL_PRIMITIVE_ID_NV 0x8C7C #define GL_GENERIC_ATTRIB_NV 0x8C7D #define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 #define GL_ACTIVE_VARYINGS_NV 0x8C81 #define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 #define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 #define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 #define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 #define GL_PRIMITIVES_GENERATED_NV 0x8C87 #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 #define GL_RASTERIZER_DISCARD_NV 0x8C89 #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B #define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C #define GL_SEPARATE_ATTRIBS_NV 0x8C8D #define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F typedef void (GLAPIENTRY * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name); typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void); typedef void (GLAPIENTRY * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location); typedef GLint (GLAPIENTRY * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name); typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode); typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode); #define glActiveVaryingNV GLEW_GET_FUN(__glewActiveVaryingNV) #define glBeginTransformFeedbackNV GLEW_GET_FUN(__glewBeginTransformFeedbackNV) #define glBindBufferBaseNV GLEW_GET_FUN(__glewBindBufferBaseNV) #define glBindBufferOffsetNV GLEW_GET_FUN(__glewBindBufferOffsetNV) #define glBindBufferRangeNV GLEW_GET_FUN(__glewBindBufferRangeNV) #define glEndTransformFeedbackNV GLEW_GET_FUN(__glewEndTransformFeedbackNV) #define glGetActiveVaryingNV GLEW_GET_FUN(__glewGetActiveVaryingNV) #define glGetTransformFeedbackVaryingNV GLEW_GET_FUN(__glewGetTransformFeedbackVaryingNV) #define glGetVaryingLocationNV GLEW_GET_FUN(__glewGetVaryingLocationNV) #define glTransformFeedbackAttribsNV GLEW_GET_FUN(__glewTransformFeedbackAttribsNV) #define glTransformFeedbackVaryingsNV GLEW_GET_FUN(__glewTransformFeedbackVaryingsNV) #define GLEW_NV_transform_feedback GLEW_GET_VAR(__GLEW_NV_transform_feedback) #endif /* GL_NV_transform_feedback */ /* ----------------------- GL_NV_transform_feedback2 ----------------------- */ #ifndef GL_NV_transform_feedback2 #define GL_NV_transform_feedback2 1 #define GL_TRANSFORM_FEEDBACK_NV 0x8E22 #define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 #define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 #define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id); typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint* ids); typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id); typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint* ids); typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void); typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void); #define glBindTransformFeedbackNV GLEW_GET_FUN(__glewBindTransformFeedbackNV) #define glDeleteTransformFeedbacksNV GLEW_GET_FUN(__glewDeleteTransformFeedbacksNV) #define glDrawTransformFeedbackNV GLEW_GET_FUN(__glewDrawTransformFeedbackNV) #define glGenTransformFeedbacksNV GLEW_GET_FUN(__glewGenTransformFeedbacksNV) #define glIsTransformFeedbackNV GLEW_GET_FUN(__glewIsTransformFeedbackNV) #define glPauseTransformFeedbackNV GLEW_GET_FUN(__glewPauseTransformFeedbackNV) #define glResumeTransformFeedbackNV GLEW_GET_FUN(__glewResumeTransformFeedbackNV) #define GLEW_NV_transform_feedback2 GLEW_GET_VAR(__GLEW_NV_transform_feedback2) #endif /* GL_NV_transform_feedback2 */ /* -------------------------- GL_NV_vdpau_interop -------------------------- */ #ifndef GL_NV_vdpau_interop #define GL_NV_vdpau_interop 1 #define GL_SURFACE_STATE_NV 0x86EB #define GL_SURFACE_REGISTERED_NV 0x86FD #define GL_SURFACE_MAPPED_NV 0x8700 #define GL_WRITE_DISCARD_NV 0x88BE typedef GLintptr GLvdpauSurfaceNV; typedef void (GLAPIENTRY * PFNGLVDPAUFININVPROC) (void); typedef void (GLAPIENTRY * PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei* length, GLint *values); typedef void (GLAPIENTRY * PFNGLVDPAUINITNVPROC) (const void* vdpDevice, const GLvoid*getProcAddress); typedef void (GLAPIENTRY * PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); typedef void (GLAPIENTRY * PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV* surfaces); typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); typedef void (GLAPIENTRY * PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access); typedef void (GLAPIENTRY * PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV* surfaces); typedef void (GLAPIENTRY * PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface); #define glVDPAUFiniNV GLEW_GET_FUN(__glewVDPAUFiniNV) #define glVDPAUGetSurfaceivNV GLEW_GET_FUN(__glewVDPAUGetSurfaceivNV) #define glVDPAUInitNV GLEW_GET_FUN(__glewVDPAUInitNV) #define glVDPAUIsSurfaceNV GLEW_GET_FUN(__glewVDPAUIsSurfaceNV) #define glVDPAUMapSurfacesNV GLEW_GET_FUN(__glewVDPAUMapSurfacesNV) #define glVDPAURegisterOutputSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterOutputSurfaceNV) #define glVDPAURegisterVideoSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterVideoSurfaceNV) #define glVDPAUSurfaceAccessNV GLEW_GET_FUN(__glewVDPAUSurfaceAccessNV) #define glVDPAUUnmapSurfacesNV GLEW_GET_FUN(__glewVDPAUUnmapSurfacesNV) #define glVDPAUUnregisterSurfaceNV GLEW_GET_FUN(__glewVDPAUUnregisterSurfaceNV) #define GLEW_NV_vdpau_interop GLEW_GET_VAR(__GLEW_NV_vdpau_interop) #endif /* GL_NV_vdpau_interop */ /* ------------------------ GL_NV_vertex_array_range ----------------------- */ #ifndef GL_NV_vertex_array_range #define GL_NV_vertex_array_range 1 #define GL_VERTEX_ARRAY_RANGE_NV 0x851D #define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E #define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520 #define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521 typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void); typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, GLvoid *pointer); #define glFlushVertexArrayRangeNV GLEW_GET_FUN(__glewFlushVertexArrayRangeNV) #define glVertexArrayRangeNV GLEW_GET_FUN(__glewVertexArrayRangeNV) #define GLEW_NV_vertex_array_range GLEW_GET_VAR(__GLEW_NV_vertex_array_range) #endif /* GL_NV_vertex_array_range */ /* ----------------------- GL_NV_vertex_array_range2 ----------------------- */ #ifndef GL_NV_vertex_array_range2 #define GL_NV_vertex_array_range2 1 #define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 #define GLEW_NV_vertex_array_range2 GLEW_GET_VAR(__GLEW_NV_vertex_array_range2) #endif /* GL_NV_vertex_array_range2 */ /* ------------------- GL_NV_vertex_attrib_integer_64bit ------------------- */ #ifndef GL_NV_vertex_attrib_integer_64bit #define GL_NV_vertex_attrib_integer_64bit 1 #define GL_INT64_NV 0x140E #define GL_UNSIGNED_INT64_NV 0x140F typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT* params); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); #define glGetVertexAttribLi64vNV GLEW_GET_FUN(__glewGetVertexAttribLi64vNV) #define glGetVertexAttribLui64vNV GLEW_GET_FUN(__glewGetVertexAttribLui64vNV) #define glVertexAttribL1i64NV GLEW_GET_FUN(__glewVertexAttribL1i64NV) #define glVertexAttribL1i64vNV GLEW_GET_FUN(__glewVertexAttribL1i64vNV) #define glVertexAttribL1ui64NV GLEW_GET_FUN(__glewVertexAttribL1ui64NV) #define glVertexAttribL1ui64vNV GLEW_GET_FUN(__glewVertexAttribL1ui64vNV) #define glVertexAttribL2i64NV GLEW_GET_FUN(__glewVertexAttribL2i64NV) #define glVertexAttribL2i64vNV GLEW_GET_FUN(__glewVertexAttribL2i64vNV) #define glVertexAttribL2ui64NV GLEW_GET_FUN(__glewVertexAttribL2ui64NV) #define glVertexAttribL2ui64vNV GLEW_GET_FUN(__glewVertexAttribL2ui64vNV) #define glVertexAttribL3i64NV GLEW_GET_FUN(__glewVertexAttribL3i64NV) #define glVertexAttribL3i64vNV GLEW_GET_FUN(__glewVertexAttribL3i64vNV) #define glVertexAttribL3ui64NV GLEW_GET_FUN(__glewVertexAttribL3ui64NV) #define glVertexAttribL3ui64vNV GLEW_GET_FUN(__glewVertexAttribL3ui64vNV) #define glVertexAttribL4i64NV GLEW_GET_FUN(__glewVertexAttribL4i64NV) #define glVertexAttribL4i64vNV GLEW_GET_FUN(__glewVertexAttribL4i64vNV) #define glVertexAttribL4ui64NV GLEW_GET_FUN(__glewVertexAttribL4ui64NV) #define glVertexAttribL4ui64vNV GLEW_GET_FUN(__glewVertexAttribL4ui64vNV) #define glVertexAttribLFormatNV GLEW_GET_FUN(__glewVertexAttribLFormatNV) #define GLEW_NV_vertex_attrib_integer_64bit GLEW_GET_VAR(__GLEW_NV_vertex_attrib_integer_64bit) #endif /* GL_NV_vertex_attrib_integer_64bit */ /* ------------------- GL_NV_vertex_buffer_unified_memory ------------------ */ #ifndef GL_NV_vertex_buffer_unified_memory #define GL_NV_vertex_buffer_unified_memory 1 #define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E #define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F #define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20 #define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21 #define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22 #define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23 #define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24 #define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25 #define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26 #define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27 #define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28 #define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29 #define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A #define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B #define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C #define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D #define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E #define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F #define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30 #define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31 #define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32 #define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33 #define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40 #define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41 #define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42 typedef void (GLAPIENTRY * PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); typedef void (GLAPIENTRY * PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); typedef void (GLAPIENTRY * PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride); typedef void (GLAPIENTRY * PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride); typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT result[]); typedef void (GLAPIENTRY * PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride); typedef void (GLAPIENTRY * PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); typedef void (GLAPIENTRY * PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); typedef void (GLAPIENTRY * PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); #define glBufferAddressRangeNV GLEW_GET_FUN(__glewBufferAddressRangeNV) #define glColorFormatNV GLEW_GET_FUN(__glewColorFormatNV) #define glEdgeFlagFormatNV GLEW_GET_FUN(__glewEdgeFlagFormatNV) #define glFogCoordFormatNV GLEW_GET_FUN(__glewFogCoordFormatNV) #define glGetIntegerui64i_vNV GLEW_GET_FUN(__glewGetIntegerui64i_vNV) #define glIndexFormatNV GLEW_GET_FUN(__glewIndexFormatNV) #define glNormalFormatNV GLEW_GET_FUN(__glewNormalFormatNV) #define glSecondaryColorFormatNV GLEW_GET_FUN(__glewSecondaryColorFormatNV) #define glTexCoordFormatNV GLEW_GET_FUN(__glewTexCoordFormatNV) #define glVertexAttribFormatNV GLEW_GET_FUN(__glewVertexAttribFormatNV) #define glVertexAttribIFormatNV GLEW_GET_FUN(__glewVertexAttribIFormatNV) #define glVertexFormatNV GLEW_GET_FUN(__glewVertexFormatNV) #define GLEW_NV_vertex_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_vertex_buffer_unified_memory) #endif /* GL_NV_vertex_buffer_unified_memory */ /* -------------------------- GL_NV_vertex_program ------------------------- */ #ifndef GL_NV_vertex_program #define GL_NV_vertex_program 1 #define GL_VERTEX_PROGRAM_NV 0x8620 #define GL_VERTEX_STATE_PROGRAM_NV 0x8621 #define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 #define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 #define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 #define GL_CURRENT_ATTRIB_NV 0x8626 #define GL_PROGRAM_LENGTH_NV 0x8627 #define GL_PROGRAM_STRING_NV 0x8628 #define GL_MODELVIEW_PROJECTION_NV 0x8629 #define GL_IDENTITY_NV 0x862A #define GL_INVERSE_NV 0x862B #define GL_TRANSPOSE_NV 0x862C #define GL_INVERSE_TRANSPOSE_NV 0x862D #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E #define GL_MAX_TRACK_MATRICES_NV 0x862F #define GL_MATRIX0_NV 0x8630 #define GL_MATRIX1_NV 0x8631 #define GL_MATRIX2_NV 0x8632 #define GL_MATRIX3_NV 0x8633 #define GL_MATRIX4_NV 0x8634 #define GL_MATRIX5_NV 0x8635 #define GL_MATRIX6_NV 0x8636 #define GL_MATRIX7_NV 0x8637 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 #define GL_CURRENT_MATRIX_NV 0x8641 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 #define GL_PROGRAM_PARAMETER_NV 0x8644 #define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 #define GL_PROGRAM_TARGET_NV 0x8646 #define GL_PROGRAM_RESIDENT_NV 0x8647 #define GL_TRACK_MATRIX_NV 0x8648 #define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 #define GL_VERTEX_PROGRAM_BINDING_NV 0x864A #define GL_PROGRAM_ERROR_POSITION_NV 0x864B #define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 #define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 #define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 #define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 #define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 #define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 #define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 #define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 #define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 #define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 #define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A #define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B #define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C #define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D #define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E #define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F #define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 #define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 #define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 #define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 #define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 #define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 #define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 #define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 #define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 #define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 #define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A #define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B #define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C #define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D #define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E #define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F #define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 #define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 #define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 #define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 #define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 #define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 #define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 #define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 #define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 #define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 #define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A #define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B #define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C #define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D #define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E #define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F typedef GLboolean (GLAPIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint* ids, GLboolean *residences); typedef void (GLAPIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint* ids); typedef void (GLAPIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint* ids); typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte* program); typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid** pointer); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint* params); typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id); typedef void (GLAPIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte* program); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, GLuint* ids); typedef void (GLAPIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei n, const GLubyte* v); #define glAreProgramsResidentNV GLEW_GET_FUN(__glewAreProgramsResidentNV) #define glBindProgramNV GLEW_GET_FUN(__glewBindProgramNV) #define glDeleteProgramsNV GLEW_GET_FUN(__glewDeleteProgramsNV) #define glExecuteProgramNV GLEW_GET_FUN(__glewExecuteProgramNV) #define glGenProgramsNV GLEW_GET_FUN(__glewGenProgramsNV) #define glGetProgramParameterdvNV GLEW_GET_FUN(__glewGetProgramParameterdvNV) #define glGetProgramParameterfvNV GLEW_GET_FUN(__glewGetProgramParameterfvNV) #define glGetProgramStringNV GLEW_GET_FUN(__glewGetProgramStringNV) #define glGetProgramivNV GLEW_GET_FUN(__glewGetProgramivNV) #define glGetTrackMatrixivNV GLEW_GET_FUN(__glewGetTrackMatrixivNV) #define glGetVertexAttribPointervNV GLEW_GET_FUN(__glewGetVertexAttribPointervNV) #define glGetVertexAttribdvNV GLEW_GET_FUN(__glewGetVertexAttribdvNV) #define glGetVertexAttribfvNV GLEW_GET_FUN(__glewGetVertexAttribfvNV) #define glGetVertexAttribivNV GLEW_GET_FUN(__glewGetVertexAttribivNV) #define glIsProgramNV GLEW_GET_FUN(__glewIsProgramNV) #define glLoadProgramNV GLEW_GET_FUN(__glewLoadProgramNV) #define glProgramParameter4dNV GLEW_GET_FUN(__glewProgramParameter4dNV) #define glProgramParameter4dvNV GLEW_GET_FUN(__glewProgramParameter4dvNV) #define glProgramParameter4fNV GLEW_GET_FUN(__glewProgramParameter4fNV) #define glProgramParameter4fvNV GLEW_GET_FUN(__glewProgramParameter4fvNV) #define glProgramParameters4dvNV GLEW_GET_FUN(__glewProgramParameters4dvNV) #define glProgramParameters4fvNV GLEW_GET_FUN(__glewProgramParameters4fvNV) #define glRequestResidentProgramsNV GLEW_GET_FUN(__glewRequestResidentProgramsNV) #define glTrackMatrixNV GLEW_GET_FUN(__glewTrackMatrixNV) #define glVertexAttrib1dNV GLEW_GET_FUN(__glewVertexAttrib1dNV) #define glVertexAttrib1dvNV GLEW_GET_FUN(__glewVertexAttrib1dvNV) #define glVertexAttrib1fNV GLEW_GET_FUN(__glewVertexAttrib1fNV) #define glVertexAttrib1fvNV GLEW_GET_FUN(__glewVertexAttrib1fvNV) #define glVertexAttrib1sNV GLEW_GET_FUN(__glewVertexAttrib1sNV) #define glVertexAttrib1svNV GLEW_GET_FUN(__glewVertexAttrib1svNV) #define glVertexAttrib2dNV GLEW_GET_FUN(__glewVertexAttrib2dNV) #define glVertexAttrib2dvNV GLEW_GET_FUN(__glewVertexAttrib2dvNV) #define glVertexAttrib2fNV GLEW_GET_FUN(__glewVertexAttrib2fNV) #define glVertexAttrib2fvNV GLEW_GET_FUN(__glewVertexAttrib2fvNV) #define glVertexAttrib2sNV GLEW_GET_FUN(__glewVertexAttrib2sNV) #define glVertexAttrib2svNV GLEW_GET_FUN(__glewVertexAttrib2svNV) #define glVertexAttrib3dNV GLEW_GET_FUN(__glewVertexAttrib3dNV) #define glVertexAttrib3dvNV GLEW_GET_FUN(__glewVertexAttrib3dvNV) #define glVertexAttrib3fNV GLEW_GET_FUN(__glewVertexAttrib3fNV) #define glVertexAttrib3fvNV GLEW_GET_FUN(__glewVertexAttrib3fvNV) #define glVertexAttrib3sNV GLEW_GET_FUN(__glewVertexAttrib3sNV) #define glVertexAttrib3svNV GLEW_GET_FUN(__glewVertexAttrib3svNV) #define glVertexAttrib4dNV GLEW_GET_FUN(__glewVertexAttrib4dNV) #define glVertexAttrib4dvNV GLEW_GET_FUN(__glewVertexAttrib4dvNV) #define glVertexAttrib4fNV GLEW_GET_FUN(__glewVertexAttrib4fNV) #define glVertexAttrib4fvNV GLEW_GET_FUN(__glewVertexAttrib4fvNV) #define glVertexAttrib4sNV GLEW_GET_FUN(__glewVertexAttrib4sNV) #define glVertexAttrib4svNV GLEW_GET_FUN(__glewVertexAttrib4svNV) #define glVertexAttrib4ubNV GLEW_GET_FUN(__glewVertexAttrib4ubNV) #define glVertexAttrib4ubvNV GLEW_GET_FUN(__glewVertexAttrib4ubvNV) #define glVertexAttribPointerNV GLEW_GET_FUN(__glewVertexAttribPointerNV) #define glVertexAttribs1dvNV GLEW_GET_FUN(__glewVertexAttribs1dvNV) #define glVertexAttribs1fvNV GLEW_GET_FUN(__glewVertexAttribs1fvNV) #define glVertexAttribs1svNV GLEW_GET_FUN(__glewVertexAttribs1svNV) #define glVertexAttribs2dvNV GLEW_GET_FUN(__glewVertexAttribs2dvNV) #define glVertexAttribs2fvNV GLEW_GET_FUN(__glewVertexAttribs2fvNV) #define glVertexAttribs2svNV GLEW_GET_FUN(__glewVertexAttribs2svNV) #define glVertexAttribs3dvNV GLEW_GET_FUN(__glewVertexAttribs3dvNV) #define glVertexAttribs3fvNV GLEW_GET_FUN(__glewVertexAttribs3fvNV) #define glVertexAttribs3svNV GLEW_GET_FUN(__glewVertexAttribs3svNV) #define glVertexAttribs4dvNV GLEW_GET_FUN(__glewVertexAttribs4dvNV) #define glVertexAttribs4fvNV GLEW_GET_FUN(__glewVertexAttribs4fvNV) #define glVertexAttribs4svNV GLEW_GET_FUN(__glewVertexAttribs4svNV) #define glVertexAttribs4ubvNV GLEW_GET_FUN(__glewVertexAttribs4ubvNV) #define GLEW_NV_vertex_program GLEW_GET_VAR(__GLEW_NV_vertex_program) #endif /* GL_NV_vertex_program */ /* ------------------------ GL_NV_vertex_program1_1 ------------------------ */ #ifndef GL_NV_vertex_program1_1 #define GL_NV_vertex_program1_1 1 #define GLEW_NV_vertex_program1_1 GLEW_GET_VAR(__GLEW_NV_vertex_program1_1) #endif /* GL_NV_vertex_program1_1 */ /* ------------------------- GL_NV_vertex_program2 ------------------------- */ #ifndef GL_NV_vertex_program2 #define GL_NV_vertex_program2 1 #define GLEW_NV_vertex_program2 GLEW_GET_VAR(__GLEW_NV_vertex_program2) #endif /* GL_NV_vertex_program2 */ /* ---------------------- GL_NV_vertex_program2_option --------------------- */ #ifndef GL_NV_vertex_program2_option #define GL_NV_vertex_program2_option 1 #define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 #define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 #define GLEW_NV_vertex_program2_option GLEW_GET_VAR(__GLEW_NV_vertex_program2_option) #endif /* GL_NV_vertex_program2_option */ /* ------------------------- GL_NV_vertex_program3 ------------------------- */ #ifndef GL_NV_vertex_program3 #define GL_NV_vertex_program3 1 #define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C #define GLEW_NV_vertex_program3 GLEW_GET_VAR(__GLEW_NV_vertex_program3) #endif /* GL_NV_vertex_program3 */ /* ------------------------- GL_NV_vertex_program4 ------------------------- */ #ifndef GL_NV_vertex_program4 #define GL_NV_vertex_program4 1 #define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD #define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4) #endif /* GL_NV_vertex_program4 */ /* -------------------------- GL_NV_video_capture -------------------------- */ #ifndef GL_NV_video_capture #define GL_NV_video_capture 1 #define GL_VIDEO_BUFFER_NV 0x9020 #define GL_VIDEO_BUFFER_BINDING_NV 0x9021 #define GL_FIELD_UPPER_NV 0x9022 #define GL_FIELD_LOWER_NV 0x9023 #define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024 #define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025 #define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026 #define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027 #define GL_VIDEO_BUFFER_PITCH_NV 0x9028 #define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029 #define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A #define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B #define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C #define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D #define GL_PARTIAL_SUCCESS_NV 0x902E #define GL_SUCCESS_NV 0x902F #define GL_FAILURE_NV 0x9030 #define GL_YCBYCR8_422_NV 0x9031 #define GL_YCBAYCR8A_4224_NV 0x9032 #define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033 #define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034 #define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035 #define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036 #define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037 #define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038 #define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039 #define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A #define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B #define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C typedef void (GLAPIENTRY * PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot); typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset); typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture); typedef void (GLAPIENTRY * PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot); typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint* params); typedef GLenum (GLAPIENTRY * PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint* sequence_num, GLuint64EXT *capture_time); typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params); #define glBeginVideoCaptureNV GLEW_GET_FUN(__glewBeginVideoCaptureNV) #define glBindVideoCaptureStreamBufferNV GLEW_GET_FUN(__glewBindVideoCaptureStreamBufferNV) #define glBindVideoCaptureStreamTextureNV GLEW_GET_FUN(__glewBindVideoCaptureStreamTextureNV) #define glEndVideoCaptureNV GLEW_GET_FUN(__glewEndVideoCaptureNV) #define glGetVideoCaptureStreamdvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamdvNV) #define glGetVideoCaptureStreamfvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamfvNV) #define glGetVideoCaptureStreamivNV GLEW_GET_FUN(__glewGetVideoCaptureStreamivNV) #define glGetVideoCaptureivNV GLEW_GET_FUN(__glewGetVideoCaptureivNV) #define glVideoCaptureNV GLEW_GET_FUN(__glewVideoCaptureNV) #define glVideoCaptureStreamParameterdvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterdvNV) #define glVideoCaptureStreamParameterfvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterfvNV) #define glVideoCaptureStreamParameterivNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterivNV) #define GLEW_NV_video_capture GLEW_GET_VAR(__GLEW_NV_video_capture) #endif /* GL_NV_video_capture */ /* ------------------------ GL_OES_byte_coordinates ------------------------ */ #ifndef GL_OES_byte_coordinates #define GL_OES_byte_coordinates 1 #define GLEW_OES_byte_coordinates GLEW_GET_VAR(__GLEW_OES_byte_coordinates) #endif /* GL_OES_byte_coordinates */ /* ------------------- GL_OES_compressed_paletted_texture ------------------ */ #ifndef GL_OES_compressed_paletted_texture #define GL_OES_compressed_paletted_texture 1 #define GL_PALETTE4_RGB8_OES 0x8B90 #define GL_PALETTE4_RGBA8_OES 0x8B91 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 #define GL_PALETTE4_RGBA4_OES 0x8B93 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 #define GL_PALETTE8_RGB8_OES 0x8B95 #define GL_PALETTE8_RGBA8_OES 0x8B96 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 #define GL_PALETTE8_RGBA4_OES 0x8B98 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 #define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(__GLEW_OES_compressed_paletted_texture) #endif /* GL_OES_compressed_paletted_texture */ /* --------------------------- GL_OES_read_format -------------------------- */ #ifndef GL_OES_read_format #define GL_OES_read_format 1 #define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A #define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B #define GLEW_OES_read_format GLEW_GET_VAR(__GLEW_OES_read_format) #endif /* GL_OES_read_format */ /* ------------------------ GL_OES_single_precision ------------------------ */ #ifndef GL_OES_single_precision #define GL_OES_single_precision 1 typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFOESPROC) (GLclampd depth); typedef void (GLAPIENTRY * PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat* equation); typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f); typedef void (GLAPIENTRY * PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat* equation); typedef void (GLAPIENTRY * PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); #define glClearDepthfOES GLEW_GET_FUN(__glewClearDepthfOES) #define glClipPlanefOES GLEW_GET_FUN(__glewClipPlanefOES) #define glDepthRangefOES GLEW_GET_FUN(__glewDepthRangefOES) #define glFrustumfOES GLEW_GET_FUN(__glewFrustumfOES) #define glGetClipPlanefOES GLEW_GET_FUN(__glewGetClipPlanefOES) #define glOrthofOES GLEW_GET_FUN(__glewOrthofOES) #define GLEW_OES_single_precision GLEW_GET_VAR(__GLEW_OES_single_precision) #endif /* GL_OES_single_precision */ /* ---------------------------- GL_OML_interlace --------------------------- */ #ifndef GL_OML_interlace #define GL_OML_interlace 1 #define GL_INTERLACE_OML 0x8980 #define GL_INTERLACE_READ_OML 0x8981 #define GLEW_OML_interlace GLEW_GET_VAR(__GLEW_OML_interlace) #endif /* GL_OML_interlace */ /* ---------------------------- GL_OML_resample ---------------------------- */ #ifndef GL_OML_resample #define GL_OML_resample 1 #define GL_PACK_RESAMPLE_OML 0x8984 #define GL_UNPACK_RESAMPLE_OML 0x8985 #define GL_RESAMPLE_REPLICATE_OML 0x8986 #define GL_RESAMPLE_ZERO_FILL_OML 0x8987 #define GL_RESAMPLE_AVERAGE_OML 0x8988 #define GL_RESAMPLE_DECIMATE_OML 0x8989 #define GLEW_OML_resample GLEW_GET_VAR(__GLEW_OML_resample) #endif /* GL_OML_resample */ /* ---------------------------- GL_OML_subsample --------------------------- */ #ifndef GL_OML_subsample #define GL_OML_subsample 1 #define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982 #define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983 #define GLEW_OML_subsample GLEW_GET_VAR(__GLEW_OML_subsample) #endif /* GL_OML_subsample */ /* --------------------------- GL_PGI_misc_hints --------------------------- */ #ifndef GL_PGI_misc_hints #define GL_PGI_misc_hints 1 #define GL_PREFER_DOUBLEBUFFER_HINT_PGI 107000 #define GL_CONSERVE_MEMORY_HINT_PGI 107005 #define GL_RECLAIM_MEMORY_HINT_PGI 107006 #define GL_NATIVE_GRAPHICS_HANDLE_PGI 107010 #define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 107011 #define GL_NATIVE_GRAPHICS_END_HINT_PGI 107012 #define GL_ALWAYS_FAST_HINT_PGI 107020 #define GL_ALWAYS_SOFT_HINT_PGI 107021 #define GL_ALLOW_DRAW_OBJ_HINT_PGI 107022 #define GL_ALLOW_DRAW_WIN_HINT_PGI 107023 #define GL_ALLOW_DRAW_FRG_HINT_PGI 107024 #define GL_ALLOW_DRAW_MEM_HINT_PGI 107025 #define GL_STRICT_DEPTHFUNC_HINT_PGI 107030 #define GL_STRICT_LIGHTING_HINT_PGI 107031 #define GL_STRICT_SCISSOR_HINT_PGI 107032 #define GL_FULL_STIPPLE_HINT_PGI 107033 #define GL_CLIP_NEAR_HINT_PGI 107040 #define GL_CLIP_FAR_HINT_PGI 107041 #define GL_WIDE_LINE_HINT_PGI 107042 #define GL_BACK_NORMALS_HINT_PGI 107043 #define GLEW_PGI_misc_hints GLEW_GET_VAR(__GLEW_PGI_misc_hints) #endif /* GL_PGI_misc_hints */ /* -------------------------- GL_PGI_vertex_hints -------------------------- */ #ifndef GL_PGI_vertex_hints #define GL_PGI_vertex_hints 1 #define GL_VERTEX23_BIT_PGI 0x00000004 #define GL_VERTEX4_BIT_PGI 0x00000008 #define GL_COLOR3_BIT_PGI 0x00010000 #define GL_COLOR4_BIT_PGI 0x00020000 #define GL_EDGEFLAG_BIT_PGI 0x00040000 #define GL_INDEX_BIT_PGI 0x00080000 #define GL_MAT_AMBIENT_BIT_PGI 0x00100000 #define GL_VERTEX_DATA_HINT_PGI 107050 #define GL_VERTEX_CONSISTENT_HINT_PGI 107051 #define GL_MATERIAL_SIDE_HINT_PGI 107052 #define GL_MAX_VERTEX_HINT_PGI 107053 #define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000 #define GL_MAT_DIFFUSE_BIT_PGI 0x00400000 #define GL_MAT_EMISSION_BIT_PGI 0x00800000 #define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000 #define GL_MAT_SHININESS_BIT_PGI 0x02000000 #define GL_MAT_SPECULAR_BIT_PGI 0x04000000 #define GL_NORMAL_BIT_PGI 0x08000000 #define GL_TEXCOORD1_BIT_PGI 0x10000000 #define GL_TEXCOORD2_BIT_PGI 0x20000000 #define GL_TEXCOORD3_BIT_PGI 0x40000000 #define GL_TEXCOORD4_BIT_PGI 0x80000000 #define GLEW_PGI_vertex_hints GLEW_GET_VAR(__GLEW_PGI_vertex_hints) #endif /* GL_PGI_vertex_hints */ /* ---------------------- GL_REGAL_ES1_0_compatibility --------------------- */ #ifndef GL_REGAL_ES1_0_compatibility #define GL_REGAL_ES1_0_compatibility 1 typedef int GLclampx; typedef void (GLAPIENTRY * PFNGLALPHAFUNCXPROC) (GLenum func, GLclampx ref); typedef void (GLAPIENTRY * PFNGLCLEARCOLORXPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); typedef void (GLAPIENTRY * PFNGLCLEARDEPTHXPROC) (GLclampx depth); typedef void (GLAPIENTRY * PFNGLCOLOR4XPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (GLAPIENTRY * PFNGLDEPTHRANGEXPROC) (GLclampx zNear, GLclampx zFar); typedef void (GLAPIENTRY * PFNGLFOGXPROC) (GLenum pname, GLfixed param); typedef void (GLAPIENTRY * PFNGLFOGXVPROC) (GLenum pname, const GLfixed* params); typedef void (GLAPIENTRY * PFNGLFRUSTUMFPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); typedef void (GLAPIENTRY * PFNGLFRUSTUMXPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); typedef void (GLAPIENTRY * PFNGLLIGHTMODELXPROC) (GLenum pname, GLfixed param); typedef void (GLAPIENTRY * PFNGLLIGHTMODELXVPROC) (GLenum pname, const GLfixed* params); typedef void (GLAPIENTRY * PFNGLLIGHTXPROC) (GLenum light, GLenum pname, GLfixed param); typedef void (GLAPIENTRY * PFNGLLIGHTXVPROC) (GLenum light, GLenum pname, const GLfixed* params); typedef void (GLAPIENTRY * PFNGLLINEWIDTHXPROC) (GLfixed width); typedef void (GLAPIENTRY * PFNGLLOADMATRIXXPROC) (const GLfixed* m); typedef void (GLAPIENTRY * PFNGLMATERIALXPROC) (GLenum face, GLenum pname, GLfixed param); typedef void (GLAPIENTRY * PFNGLMATERIALXVPROC) (GLenum face, GLenum pname, const GLfixed* params); typedef void (GLAPIENTRY * PFNGLMULTMATRIXXPROC) (const GLfixed* m); typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4XPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); typedef void (GLAPIENTRY * PFNGLNORMAL3XPROC) (GLfixed nx, GLfixed ny, GLfixed nz); typedef void (GLAPIENTRY * PFNGLORTHOFPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); typedef void (GLAPIENTRY * PFNGLORTHOXPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); typedef void (GLAPIENTRY * PFNGLPOINTSIZEXPROC) (GLfixed size); typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETXPROC) (GLfixed factor, GLfixed units); typedef void (GLAPIENTRY * PFNGLROTATEXPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEXPROC) (GLclampx value, GLboolean invert); typedef void (GLAPIENTRY * PFNGLSCALEXPROC) (GLfixed x, GLfixed y, GLfixed z); typedef void (GLAPIENTRY * PFNGLTEXENVXPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (GLAPIENTRY * PFNGLTEXENVXVPROC) (GLenum target, GLenum pname, const GLfixed* params); typedef void (GLAPIENTRY * PFNGLTEXPARAMETERXPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (GLAPIENTRY * PFNGLTRANSLATEXPROC) (GLfixed x, GLfixed y, GLfixed z); #define glAlphaFuncx GLEW_GET_FUN(__glewAlphaFuncx) #define glClearColorx GLEW_GET_FUN(__glewClearColorx) #define glClearDepthx GLEW_GET_FUN(__glewClearDepthx) #define glColor4x GLEW_GET_FUN(__glewColor4x) #define glDepthRangex GLEW_GET_FUN(__glewDepthRangex) #define glFogx GLEW_GET_FUN(__glewFogx) #define glFogxv GLEW_GET_FUN(__glewFogxv) #define glFrustumf GLEW_GET_FUN(__glewFrustumf) #define glFrustumx GLEW_GET_FUN(__glewFrustumx) #define glLightModelx GLEW_GET_FUN(__glewLightModelx) #define glLightModelxv GLEW_GET_FUN(__glewLightModelxv) #define glLightx GLEW_GET_FUN(__glewLightx) #define glLightxv GLEW_GET_FUN(__glewLightxv) #define glLineWidthx GLEW_GET_FUN(__glewLineWidthx) #define glLoadMatrixx GLEW_GET_FUN(__glewLoadMatrixx) #define glMaterialx GLEW_GET_FUN(__glewMaterialx) #define glMaterialxv GLEW_GET_FUN(__glewMaterialxv) #define glMultMatrixx GLEW_GET_FUN(__glewMultMatrixx) #define glMultiTexCoord4x GLEW_GET_FUN(__glewMultiTexCoord4x) #define glNormal3x GLEW_GET_FUN(__glewNormal3x) #define glOrthof GLEW_GET_FUN(__glewOrthof) #define glOrthox GLEW_GET_FUN(__glewOrthox) #define glPointSizex GLEW_GET_FUN(__glewPointSizex) #define glPolygonOffsetx GLEW_GET_FUN(__glewPolygonOffsetx) #define glRotatex GLEW_GET_FUN(__glewRotatex) #define glSampleCoveragex GLEW_GET_FUN(__glewSampleCoveragex) #define glScalex GLEW_GET_FUN(__glewScalex) #define glTexEnvx GLEW_GET_FUN(__glewTexEnvx) #define glTexEnvxv GLEW_GET_FUN(__glewTexEnvxv) #define glTexParameterx GLEW_GET_FUN(__glewTexParameterx) #define glTranslatex GLEW_GET_FUN(__glewTranslatex) #define GLEW_REGAL_ES1_0_compatibility GLEW_GET_VAR(__GLEW_REGAL_ES1_0_compatibility) #endif /* GL_REGAL_ES1_0_compatibility */ /* ---------------------- GL_REGAL_ES1_1_compatibility --------------------- */ #ifndef GL_REGAL_ES1_1_compatibility #define GL_REGAL_ES1_1_compatibility 1 typedef void (GLAPIENTRY * PFNGLCLIPPLANEFPROC) (GLenum plane, const GLfloat* equation); typedef void (GLAPIENTRY * PFNGLCLIPPLANEXPROC) (GLenum plane, const GLfixed* equation); typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFPROC) (GLenum pname, GLfloat eqn[4]); typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEXPROC) (GLenum pname, GLfixed eqn[4]); typedef void (GLAPIENTRY * PFNGLGETFIXEDVPROC) (GLenum pname, GLfixed* params); typedef void (GLAPIENTRY * PFNGLGETLIGHTXVPROC) (GLenum light, GLenum pname, GLfixed* params); typedef void (GLAPIENTRY * PFNGLGETMATERIALXVPROC) (GLenum face, GLenum pname, GLfixed* params); typedef void (GLAPIENTRY * PFNGLGETTEXENVXVPROC) (GLenum env, GLenum pname, GLfixed* params); typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERXVPROC) (GLenum target, GLenum pname, GLfixed* params); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERXPROC) (GLenum pname, GLfixed param); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERXVPROC) (GLenum pname, const GLfixed* params); typedef void (GLAPIENTRY * PFNGLPOINTSIZEPOINTEROESPROC) (GLenum type, GLsizei stride, const GLvoid* pointer); typedef void (GLAPIENTRY * PFNGLTEXPARAMETERXVPROC) (GLenum target, GLenum pname, const GLfixed* params); #define glClipPlanef GLEW_GET_FUN(__glewClipPlanef) #define glClipPlanex GLEW_GET_FUN(__glewClipPlanex) #define glGetClipPlanef GLEW_GET_FUN(__glewGetClipPlanef) #define glGetClipPlanex GLEW_GET_FUN(__glewGetClipPlanex) #define glGetFixedv GLEW_GET_FUN(__glewGetFixedv) #define glGetLightxv GLEW_GET_FUN(__glewGetLightxv) #define glGetMaterialxv GLEW_GET_FUN(__glewGetMaterialxv) #define glGetTexEnvxv GLEW_GET_FUN(__glewGetTexEnvxv) #define glGetTexParameterxv GLEW_GET_FUN(__glewGetTexParameterxv) #define glPointParameterx GLEW_GET_FUN(__glewPointParameterx) #define glPointParameterxv GLEW_GET_FUN(__glewPointParameterxv) #define glPointSizePointerOES GLEW_GET_FUN(__glewPointSizePointerOES) #define glTexParameterxv GLEW_GET_FUN(__glewTexParameterxv) #define GLEW_REGAL_ES1_1_compatibility GLEW_GET_VAR(__GLEW_REGAL_ES1_1_compatibility) #endif /* GL_REGAL_ES1_1_compatibility */ /* ---------------------------- GL_REGAL_enable ---------------------------- */ #ifndef GL_REGAL_enable #define GL_REGAL_enable 1 #define GL_ERROR_REGAL 0x9322 #define GL_DEBUG_REGAL 0x9323 #define GL_LOG_REGAL 0x9324 #define GL_EMULATION_REGAL 0x9325 #define GL_DRIVER_REGAL 0x9326 #define GL_MISSING_REGAL 0x9360 #define GL_TRACE_REGAL 0x9361 #define GL_CACHE_REGAL 0x9362 #define GL_CODE_REGAL 0x9363 #define GL_STATISTICS_REGAL 0x9364 #define GLEW_REGAL_enable GLEW_GET_VAR(__GLEW_REGAL_enable) #endif /* GL_REGAL_enable */ /* ------------------------- GL_REGAL_error_string ------------------------- */ #ifndef GL_REGAL_error_string #define GL_REGAL_error_string 1 typedef const GLchar* (GLAPIENTRY * PFNGLERRORSTRINGREGALPROC) (GLenum error); #define glErrorStringREGAL GLEW_GET_FUN(__glewErrorStringREGAL) #define GLEW_REGAL_error_string GLEW_GET_VAR(__GLEW_REGAL_error_string) #endif /* GL_REGAL_error_string */ /* ------------------------ GL_REGAL_extension_query ----------------------- */ #ifndef GL_REGAL_extension_query #define GL_REGAL_extension_query 1 typedef GLboolean (GLAPIENTRY * PFNGLGETEXTENSIONREGALPROC) (const GLchar* ext); typedef GLboolean (GLAPIENTRY * PFNGLISSUPPORTEDREGALPROC) (const GLchar* ext); #define glGetExtensionREGAL GLEW_GET_FUN(__glewGetExtensionREGAL) #define glIsSupportedREGAL GLEW_GET_FUN(__glewIsSupportedREGAL) #define GLEW_REGAL_extension_query GLEW_GET_VAR(__GLEW_REGAL_extension_query) #endif /* GL_REGAL_extension_query */ /* ------------------------------ GL_REGAL_log ----------------------------- */ #ifndef GL_REGAL_log #define GL_REGAL_log 1 #define GL_LOG_ERROR_REGAL 0x9319 #define GL_LOG_WARNING_REGAL 0x931A #define GL_LOG_INFO_REGAL 0x931B #define GL_LOG_APP_REGAL 0x931C #define GL_LOG_DRIVER_REGAL 0x931D #define GL_LOG_INTERNAL_REGAL 0x931E #define GL_LOG_DEBUG_REGAL 0x931F #define GL_LOG_STATUS_REGAL 0x9320 #define GL_LOG_HTTP_REGAL 0x9321 typedef void (APIENTRY *GLLOGPROCREGAL)(GLenum stream, GLsizei length, const GLchar *message, GLvoid *context); typedef void (GLAPIENTRY * PFNGLLOGMESSAGECALLBACKREGALPROC) (GLLOGPROCREGAL callback); #define glLogMessageCallbackREGAL GLEW_GET_FUN(__glewLogMessageCallbackREGAL) #define GLEW_REGAL_log GLEW_GET_VAR(__GLEW_REGAL_log) #endif /* GL_REGAL_log */ /* ----------------------- GL_REND_screen_coordinates ---------------------- */ #ifndef GL_REND_screen_coordinates #define GL_REND_screen_coordinates 1 #define GL_SCREEN_COORDINATES_REND 0x8490 #define GL_INVERTED_SCREEN_W_REND 0x8491 #define GLEW_REND_screen_coordinates GLEW_GET_VAR(__GLEW_REND_screen_coordinates) #endif /* GL_REND_screen_coordinates */ /* ------------------------------- GL_S3_s3tc ------------------------------ */ #ifndef GL_S3_s3tc #define GL_S3_s3tc 1 #define GL_RGB_S3TC 0x83A0 #define GL_RGB4_S3TC 0x83A1 #define GL_RGBA_S3TC 0x83A2 #define GL_RGBA4_S3TC 0x83A3 #define GL_RGBA_DXT5_S3TC 0x83A4 #define GL_RGBA4_DXT5_S3TC 0x83A5 #define GLEW_S3_s3tc GLEW_GET_VAR(__GLEW_S3_s3tc) #endif /* GL_S3_s3tc */ /* -------------------------- GL_SGIS_color_range -------------------------- */ #ifndef GL_SGIS_color_range #define GL_SGIS_color_range 1 #define GL_EXTENDED_RANGE_SGIS 0x85A5 #define GL_MIN_RED_SGIS 0x85A6 #define GL_MAX_RED_SGIS 0x85A7 #define GL_MIN_GREEN_SGIS 0x85A8 #define GL_MAX_GREEN_SGIS 0x85A9 #define GL_MIN_BLUE_SGIS 0x85AA #define GL_MAX_BLUE_SGIS 0x85AB #define GL_MIN_ALPHA_SGIS 0x85AC #define GL_MAX_ALPHA_SGIS 0x85AD #define GLEW_SGIS_color_range GLEW_GET_VAR(__GLEW_SGIS_color_range) #endif /* GL_SGIS_color_range */ /* ------------------------- GL_SGIS_detail_texture ------------------------ */ #ifndef GL_SGIS_detail_texture #define GL_SGIS_detail_texture 1 typedef void (GLAPIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); typedef void (GLAPIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat* points); #define glDetailTexFuncSGIS GLEW_GET_FUN(__glewDetailTexFuncSGIS) #define glGetDetailTexFuncSGIS GLEW_GET_FUN(__glewGetDetailTexFuncSGIS) #define GLEW_SGIS_detail_texture GLEW_GET_VAR(__GLEW_SGIS_detail_texture) #endif /* GL_SGIS_detail_texture */ /* -------------------------- GL_SGIS_fog_function ------------------------- */ #ifndef GL_SGIS_fog_function #define GL_SGIS_fog_function 1 typedef void (GLAPIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat* points); typedef void (GLAPIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat* points); #define glFogFuncSGIS GLEW_GET_FUN(__glewFogFuncSGIS) #define glGetFogFuncSGIS GLEW_GET_FUN(__glewGetFogFuncSGIS) #define GLEW_SGIS_fog_function GLEW_GET_VAR(__GLEW_SGIS_fog_function) #endif /* GL_SGIS_fog_function */ /* ------------------------ GL_SGIS_generate_mipmap ------------------------ */ #ifndef GL_SGIS_generate_mipmap #define GL_SGIS_generate_mipmap 1 #define GL_GENERATE_MIPMAP_SGIS 0x8191 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 #define GLEW_SGIS_generate_mipmap GLEW_GET_VAR(__GLEW_SGIS_generate_mipmap) #endif /* GL_SGIS_generate_mipmap */ /* -------------------------- GL_SGIS_multisample -------------------------- */ #ifndef GL_SGIS_multisample #define GL_SGIS_multisample 1 #define GL_MULTISAMPLE_SGIS 0x809D #define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E #define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F #define GL_SAMPLE_MASK_SGIS 0x80A0 #define GL_1PASS_SGIS 0x80A1 #define GL_2PASS_0_SGIS 0x80A2 #define GL_2PASS_1_SGIS 0x80A3 #define GL_4PASS_0_SGIS 0x80A4 #define GL_4PASS_1_SGIS 0x80A5 #define GL_4PASS_2_SGIS 0x80A6 #define GL_4PASS_3_SGIS 0x80A7 #define GL_SAMPLE_BUFFERS_SGIS 0x80A8 #define GL_SAMPLES_SGIS 0x80A9 #define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA #define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB #define GL_SAMPLE_PATTERN_SGIS 0x80AC typedef void (GLAPIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert); typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern); #define glSampleMaskSGIS GLEW_GET_FUN(__glewSampleMaskSGIS) #define glSamplePatternSGIS GLEW_GET_FUN(__glewSamplePatternSGIS) #define GLEW_SGIS_multisample GLEW_GET_VAR(__GLEW_SGIS_multisample) #endif /* GL_SGIS_multisample */ /* ------------------------- GL_SGIS_pixel_texture ------------------------- */ #ifndef GL_SGIS_pixel_texture #define GL_SGIS_pixel_texture 1 #define GLEW_SGIS_pixel_texture GLEW_GET_VAR(__GLEW_SGIS_pixel_texture) #endif /* GL_SGIS_pixel_texture */ /* ----------------------- GL_SGIS_point_line_texgen ----------------------- */ #ifndef GL_SGIS_point_line_texgen #define GL_SGIS_point_line_texgen 1 #define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0 #define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1 #define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2 #define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3 #define GL_EYE_POINT_SGIS 0x81F4 #define GL_OBJECT_POINT_SGIS 0x81F5 #define GL_EYE_LINE_SGIS 0x81F6 #define GL_OBJECT_LINE_SGIS 0x81F7 #define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(__GLEW_SGIS_point_line_texgen) #endif /* GL_SGIS_point_line_texgen */ /* ------------------------ GL_SGIS_sharpen_texture ------------------------ */ #ifndef GL_SGIS_sharpen_texture #define GL_SGIS_sharpen_texture 1 typedef void (GLAPIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat* points); typedef void (GLAPIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); #define glGetSharpenTexFuncSGIS GLEW_GET_FUN(__glewGetSharpenTexFuncSGIS) #define glSharpenTexFuncSGIS GLEW_GET_FUN(__glewSharpenTexFuncSGIS) #define GLEW_SGIS_sharpen_texture GLEW_GET_VAR(__GLEW_SGIS_sharpen_texture) #endif /* GL_SGIS_sharpen_texture */ /* --------------------------- GL_SGIS_texture4D --------------------------- */ #ifndef GL_SGIS_texture4D #define GL_SGIS_texture4D 1 typedef void (GLAPIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLint border, GLenum format, GLenum type, const GLvoid *pixels); typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLenum format, GLenum type, const GLvoid *pixels); #define glTexImage4DSGIS GLEW_GET_FUN(__glewTexImage4DSGIS) #define glTexSubImage4DSGIS GLEW_GET_FUN(__glewTexSubImage4DSGIS) #define GLEW_SGIS_texture4D GLEW_GET_VAR(__GLEW_SGIS_texture4D) #endif /* GL_SGIS_texture4D */ /* ---------------------- GL_SGIS_texture_border_clamp --------------------- */ #ifndef GL_SGIS_texture_border_clamp #define GL_SGIS_texture_border_clamp 1 #define GL_CLAMP_TO_BORDER_SGIS 0x812D #define GLEW_SGIS_texture_border_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_border_clamp) #endif /* GL_SGIS_texture_border_clamp */ /* ----------------------- GL_SGIS_texture_edge_clamp ---------------------- */ #ifndef GL_SGIS_texture_edge_clamp #define GL_SGIS_texture_edge_clamp 1 #define GL_CLAMP_TO_EDGE_SGIS 0x812F #define GLEW_SGIS_texture_edge_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_edge_clamp) #endif /* GL_SGIS_texture_edge_clamp */ /* ------------------------ GL_SGIS_texture_filter4 ------------------------ */ #ifndef GL_SGIS_texture_filter4 #define GL_SGIS_texture_filter4 1 typedef void (GLAPIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat* weights); typedef void (GLAPIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat* weights); #define glGetTexFilterFuncSGIS GLEW_GET_FUN(__glewGetTexFilterFuncSGIS) #define glTexFilterFuncSGIS GLEW_GET_FUN(__glewTexFilterFuncSGIS) #define GLEW_SGIS_texture_filter4 GLEW_GET_VAR(__GLEW_SGIS_texture_filter4) #endif /* GL_SGIS_texture_filter4 */ /* -------------------------- GL_SGIS_texture_lod -------------------------- */ #ifndef GL_SGIS_texture_lod #define GL_SGIS_texture_lod 1 #define GL_TEXTURE_MIN_LOD_SGIS 0x813A #define GL_TEXTURE_MAX_LOD_SGIS 0x813B #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D #define GLEW_SGIS_texture_lod GLEW_GET_VAR(__GLEW_SGIS_texture_lod) #endif /* GL_SGIS_texture_lod */ /* ------------------------- GL_SGIS_texture_select ------------------------ */ #ifndef GL_SGIS_texture_select #define GL_SGIS_texture_select 1 #define GLEW_SGIS_texture_select GLEW_GET_VAR(__GLEW_SGIS_texture_select) #endif /* GL_SGIS_texture_select */ /* ----------------------------- GL_SGIX_async ----------------------------- */ #ifndef GL_SGIX_async #define GL_SGIX_async 1 #define GL_ASYNC_MARKER_SGIX 0x8329 typedef void (GLAPIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker); typedef void (GLAPIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range); typedef GLint (GLAPIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint* markerp); typedef GLuint (GLAPIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range); typedef GLboolean (GLAPIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker); typedef GLint (GLAPIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint* markerp); #define glAsyncMarkerSGIX GLEW_GET_FUN(__glewAsyncMarkerSGIX) #define glDeleteAsyncMarkersSGIX GLEW_GET_FUN(__glewDeleteAsyncMarkersSGIX) #define glFinishAsyncSGIX GLEW_GET_FUN(__glewFinishAsyncSGIX) #define glGenAsyncMarkersSGIX GLEW_GET_FUN(__glewGenAsyncMarkersSGIX) #define glIsAsyncMarkerSGIX GLEW_GET_FUN(__glewIsAsyncMarkerSGIX) #define glPollAsyncSGIX GLEW_GET_FUN(__glewPollAsyncSGIX) #define GLEW_SGIX_async GLEW_GET_VAR(__GLEW_SGIX_async) #endif /* GL_SGIX_async */ /* ------------------------ GL_SGIX_async_histogram ------------------------ */ #ifndef GL_SGIX_async_histogram #define GL_SGIX_async_histogram 1 #define GL_ASYNC_HISTOGRAM_SGIX 0x832C #define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D #define GLEW_SGIX_async_histogram GLEW_GET_VAR(__GLEW_SGIX_async_histogram) #endif /* GL_SGIX_async_histogram */ /* -------------------------- GL_SGIX_async_pixel -------------------------- */ #ifndef GL_SGIX_async_pixel #define GL_SGIX_async_pixel 1 #define GL_ASYNC_TEX_IMAGE_SGIX 0x835C #define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D #define GL_ASYNC_READ_PIXELS_SGIX 0x835E #define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F #define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360 #define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361 #define GLEW_SGIX_async_pixel GLEW_GET_VAR(__GLEW_SGIX_async_pixel) #endif /* GL_SGIX_async_pixel */ /* ----------------------- GL_SGIX_blend_alpha_minmax ---------------------- */ #ifndef GL_SGIX_blend_alpha_minmax #define GL_SGIX_blend_alpha_minmax 1 #define GL_ALPHA_MIN_SGIX 0x8320 #define GL_ALPHA_MAX_SGIX 0x8321 #define GLEW_SGIX_blend_alpha_minmax GLEW_GET_VAR(__GLEW_SGIX_blend_alpha_minmax) #endif /* GL_SGIX_blend_alpha_minmax */ /* ---------------------------- GL_SGIX_clipmap ---------------------------- */ #ifndef GL_SGIX_clipmap #define GL_SGIX_clipmap 1 #define GLEW_SGIX_clipmap GLEW_GET_VAR(__GLEW_SGIX_clipmap) #endif /* GL_SGIX_clipmap */ /* ---------------------- GL_SGIX_convolution_accuracy --------------------- */ #ifndef GL_SGIX_convolution_accuracy #define GL_SGIX_convolution_accuracy 1 #define GL_CONVOLUTION_HINT_SGIX 0x8316 #define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(__GLEW_SGIX_convolution_accuracy) #endif /* GL_SGIX_convolution_accuracy */ /* ------------------------- GL_SGIX_depth_texture ------------------------- */ #ifndef GL_SGIX_depth_texture #define GL_SGIX_depth_texture 1 #define GL_DEPTH_COMPONENT16_SGIX 0x81A5 #define GL_DEPTH_COMPONENT24_SGIX 0x81A6 #define GL_DEPTH_COMPONENT32_SGIX 0x81A7 #define GLEW_SGIX_depth_texture GLEW_GET_VAR(__GLEW_SGIX_depth_texture) #endif /* GL_SGIX_depth_texture */ /* -------------------------- GL_SGIX_flush_raster ------------------------- */ #ifndef GL_SGIX_flush_raster #define GL_SGIX_flush_raster 1 typedef void (GLAPIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void); #define glFlushRasterSGIX GLEW_GET_FUN(__glewFlushRasterSGIX) #define GLEW_SGIX_flush_raster GLEW_GET_VAR(__GLEW_SGIX_flush_raster) #endif /* GL_SGIX_flush_raster */ /* --------------------------- GL_SGIX_fog_offset -------------------------- */ #ifndef GL_SGIX_fog_offset #define GL_SGIX_fog_offset 1 #define GL_FOG_OFFSET_SGIX 0x8198 #define GL_FOG_OFFSET_VALUE_SGIX 0x8199 #define GLEW_SGIX_fog_offset GLEW_GET_VAR(__GLEW_SGIX_fog_offset) #endif /* GL_SGIX_fog_offset */ /* -------------------------- GL_SGIX_fog_texture -------------------------- */ #ifndef GL_SGIX_fog_texture #define GL_SGIX_fog_texture 1 #define GL_TEXTURE_FOG_SGIX 0 #define GL_FOG_PATCHY_FACTOR_SGIX 0 #define GL_FRAGMENT_FOG_SGIX 0 typedef void (GLAPIENTRY * PFNGLTEXTUREFOGSGIXPROC) (GLenum pname); #define glTextureFogSGIX GLEW_GET_FUN(__glewTextureFogSGIX) #define GLEW_SGIX_fog_texture GLEW_GET_VAR(__GLEW_SGIX_fog_texture) #endif /* GL_SGIX_fog_texture */ /* ------------------- GL_SGIX_fragment_specular_lighting ------------------ */ #ifndef GL_SGIX_fragment_specular_lighting #define GL_SGIX_fragment_specular_lighting 1 typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, const GLfloat param); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, const GLint param); typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum value, GLfloat* data); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum value, GLint* data); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data); typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data); #define glFragmentColorMaterialSGIX GLEW_GET_FUN(__glewFragmentColorMaterialSGIX) #define glFragmentLightModelfSGIX GLEW_GET_FUN(__glewFragmentLightModelfSGIX) #define glFragmentLightModelfvSGIX GLEW_GET_FUN(__glewFragmentLightModelfvSGIX) #define glFragmentLightModeliSGIX GLEW_GET_FUN(__glewFragmentLightModeliSGIX) #define glFragmentLightModelivSGIX GLEW_GET_FUN(__glewFragmentLightModelivSGIX) #define glFragmentLightfSGIX GLEW_GET_FUN(__glewFragmentLightfSGIX) #define glFragmentLightfvSGIX GLEW_GET_FUN(__glewFragmentLightfvSGIX) #define glFragmentLightiSGIX GLEW_GET_FUN(__glewFragmentLightiSGIX) #define glFragmentLightivSGIX GLEW_GET_FUN(__glewFragmentLightivSGIX) #define glFragmentMaterialfSGIX GLEW_GET_FUN(__glewFragmentMaterialfSGIX) #define glFragmentMaterialfvSGIX GLEW_GET_FUN(__glewFragmentMaterialfvSGIX) #define glFragmentMaterialiSGIX GLEW_GET_FUN(__glewFragmentMaterialiSGIX) #define glFragmentMaterialivSGIX GLEW_GET_FUN(__glewFragmentMaterialivSGIX) #define glGetFragmentLightfvSGIX GLEW_GET_FUN(__glewGetFragmentLightfvSGIX) #define glGetFragmentLightivSGIX GLEW_GET_FUN(__glewGetFragmentLightivSGIX) #define glGetFragmentMaterialfvSGIX GLEW_GET_FUN(__glewGetFragmentMaterialfvSGIX) #define glGetFragmentMaterialivSGIX GLEW_GET_FUN(__glewGetFragmentMaterialivSGIX) #define GLEW_SGIX_fragment_specular_lighting GLEW_GET_VAR(__GLEW_SGIX_fragment_specular_lighting) #endif /* GL_SGIX_fragment_specular_lighting */ /* --------------------------- GL_SGIX_framezoom --------------------------- */ #ifndef GL_SGIX_framezoom #define GL_SGIX_framezoom 1 typedef void (GLAPIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor); #define glFrameZoomSGIX GLEW_GET_FUN(__glewFrameZoomSGIX) #define GLEW_SGIX_framezoom GLEW_GET_VAR(__GLEW_SGIX_framezoom) #endif /* GL_SGIX_framezoom */ /* --------------------------- GL_SGIX_interlace --------------------------- */ #ifndef GL_SGIX_interlace #define GL_SGIX_interlace 1 #define GL_INTERLACE_SGIX 0x8094 #define GLEW_SGIX_interlace GLEW_GET_VAR(__GLEW_SGIX_interlace) #endif /* GL_SGIX_interlace */ /* ------------------------- GL_SGIX_ir_instrument1 ------------------------ */ #ifndef GL_SGIX_ir_instrument1 #define GL_SGIX_ir_instrument1 1 #define GLEW_SGIX_ir_instrument1 GLEW_GET_VAR(__GLEW_SGIX_ir_instrument1) #endif /* GL_SGIX_ir_instrument1 */ /* ------------------------- GL_SGIX_list_priority ------------------------- */ #ifndef GL_SGIX_list_priority #define GL_SGIX_list_priority 1 #define GLEW_SGIX_list_priority GLEW_GET_VAR(__GLEW_SGIX_list_priority) #endif /* GL_SGIX_list_priority */ /* ------------------------- GL_SGIX_pixel_texture ------------------------- */ #ifndef GL_SGIX_pixel_texture #define GL_SGIX_pixel_texture 1 typedef void (GLAPIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode); #define glPixelTexGenSGIX GLEW_GET_FUN(__glewPixelTexGenSGIX) #define GLEW_SGIX_pixel_texture GLEW_GET_VAR(__GLEW_SGIX_pixel_texture) #endif /* GL_SGIX_pixel_texture */ /* ----------------------- GL_SGIX_pixel_texture_bits ---------------------- */ #ifndef GL_SGIX_pixel_texture_bits #define GL_SGIX_pixel_texture_bits 1 #define GLEW_SGIX_pixel_texture_bits GLEW_GET_VAR(__GLEW_SGIX_pixel_texture_bits) #endif /* GL_SGIX_pixel_texture_bits */ /* ------------------------ GL_SGIX_reference_plane ------------------------ */ #ifndef GL_SGIX_reference_plane #define GL_SGIX_reference_plane 1 typedef void (GLAPIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble* equation); #define glReferencePlaneSGIX GLEW_GET_FUN(__glewReferencePlaneSGIX) #define GLEW_SGIX_reference_plane GLEW_GET_VAR(__GLEW_SGIX_reference_plane) #endif /* GL_SGIX_reference_plane */ /* ---------------------------- GL_SGIX_resample --------------------------- */ #ifndef GL_SGIX_resample #define GL_SGIX_resample 1 #define GL_PACK_RESAMPLE_SGIX 0x842E #define GL_UNPACK_RESAMPLE_SGIX 0x842F #define GL_RESAMPLE_DECIMATE_SGIX 0x8430 #define GL_RESAMPLE_REPLICATE_SGIX 0x8433 #define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434 #define GLEW_SGIX_resample GLEW_GET_VAR(__GLEW_SGIX_resample) #endif /* GL_SGIX_resample */ /* ----------------------------- GL_SGIX_shadow ---------------------------- */ #ifndef GL_SGIX_shadow #define GL_SGIX_shadow 1 #define GL_TEXTURE_COMPARE_SGIX 0x819A #define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B #define GL_TEXTURE_LEQUAL_R_SGIX 0x819C #define GL_TEXTURE_GEQUAL_R_SGIX 0x819D #define GLEW_SGIX_shadow GLEW_GET_VAR(__GLEW_SGIX_shadow) #endif /* GL_SGIX_shadow */ /* ------------------------- GL_SGIX_shadow_ambient ------------------------ */ #ifndef GL_SGIX_shadow_ambient #define GL_SGIX_shadow_ambient 1 #define GL_SHADOW_AMBIENT_SGIX 0x80BF #define GLEW_SGIX_shadow_ambient GLEW_GET_VAR(__GLEW_SGIX_shadow_ambient) #endif /* GL_SGIX_shadow_ambient */ /* ----------------------------- GL_SGIX_sprite ---------------------------- */ #ifndef GL_SGIX_sprite #define GL_SGIX_sprite 1 typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param); typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, GLint* params); #define glSpriteParameterfSGIX GLEW_GET_FUN(__glewSpriteParameterfSGIX) #define glSpriteParameterfvSGIX GLEW_GET_FUN(__glewSpriteParameterfvSGIX) #define glSpriteParameteriSGIX GLEW_GET_FUN(__glewSpriteParameteriSGIX) #define glSpriteParameterivSGIX GLEW_GET_FUN(__glewSpriteParameterivSGIX) #define GLEW_SGIX_sprite GLEW_GET_VAR(__GLEW_SGIX_sprite) #endif /* GL_SGIX_sprite */ /* ----------------------- GL_SGIX_tag_sample_buffer ----------------------- */ #ifndef GL_SGIX_tag_sample_buffer #define GL_SGIX_tag_sample_buffer 1 typedef void (GLAPIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void); #define glTagSampleBufferSGIX GLEW_GET_FUN(__glewTagSampleBufferSGIX) #define GLEW_SGIX_tag_sample_buffer GLEW_GET_VAR(__GLEW_SGIX_tag_sample_buffer) #endif /* GL_SGIX_tag_sample_buffer */ /* ------------------------ GL_SGIX_texture_add_env ------------------------ */ #ifndef GL_SGIX_texture_add_env #define GL_SGIX_texture_add_env 1 #define GLEW_SGIX_texture_add_env GLEW_GET_VAR(__GLEW_SGIX_texture_add_env) #endif /* GL_SGIX_texture_add_env */ /* -------------------- GL_SGIX_texture_coordinate_clamp ------------------- */ #ifndef GL_SGIX_texture_coordinate_clamp #define GL_SGIX_texture_coordinate_clamp 1 #define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369 #define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A #define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B #define GLEW_SGIX_texture_coordinate_clamp GLEW_GET_VAR(__GLEW_SGIX_texture_coordinate_clamp) #endif /* GL_SGIX_texture_coordinate_clamp */ /* ------------------------ GL_SGIX_texture_lod_bias ----------------------- */ #ifndef GL_SGIX_texture_lod_bias #define GL_SGIX_texture_lod_bias 1 #define GLEW_SGIX_texture_lod_bias GLEW_GET_VAR(__GLEW_SGIX_texture_lod_bias) #endif /* GL_SGIX_texture_lod_bias */ /* ---------------------- GL_SGIX_texture_multi_buffer --------------------- */ #ifndef GL_SGIX_texture_multi_buffer #define GL_SGIX_texture_multi_buffer 1 #define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E #define GLEW_SGIX_texture_multi_buffer GLEW_GET_VAR(__GLEW_SGIX_texture_multi_buffer) #endif /* GL_SGIX_texture_multi_buffer */ /* ------------------------- GL_SGIX_texture_range ------------------------- */ #ifndef GL_SGIX_texture_range #define GL_SGIX_texture_range 1 #define GL_RGB_SIGNED_SGIX 0x85E0 #define GL_RGBA_SIGNED_SGIX 0x85E1 #define GL_ALPHA_SIGNED_SGIX 0x85E2 #define GL_LUMINANCE_SIGNED_SGIX 0x85E3 #define GL_INTENSITY_SIGNED_SGIX 0x85E4 #define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5 #define GL_RGB16_SIGNED_SGIX 0x85E6 #define GL_RGBA16_SIGNED_SGIX 0x85E7 #define GL_ALPHA16_SIGNED_SGIX 0x85E8 #define GL_LUMINANCE16_SIGNED_SGIX 0x85E9 #define GL_INTENSITY16_SIGNED_SGIX 0x85EA #define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB #define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC #define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED #define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE #define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF #define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0 #define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1 #define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2 #define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3 #define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4 #define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5 #define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6 #define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7 #define GL_MIN_LUMINANCE_SGIS 0x85F8 #define GL_MAX_LUMINANCE_SGIS 0x85F9 #define GL_MIN_INTENSITY_SGIS 0x85FA #define GL_MAX_INTENSITY_SGIS 0x85FB #define GLEW_SGIX_texture_range GLEW_GET_VAR(__GLEW_SGIX_texture_range) #endif /* GL_SGIX_texture_range */ /* ----------------------- GL_SGIX_texture_scale_bias ---------------------- */ #ifndef GL_SGIX_texture_scale_bias #define GL_SGIX_texture_scale_bias 1 #define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179 #define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A #define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B #define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C #define GLEW_SGIX_texture_scale_bias GLEW_GET_VAR(__GLEW_SGIX_texture_scale_bias) #endif /* GL_SGIX_texture_scale_bias */ /* ------------------------- GL_SGIX_vertex_preclip ------------------------ */ #ifndef GL_SGIX_vertex_preclip #define GL_SGIX_vertex_preclip 1 #define GL_VERTEX_PRECLIP_SGIX 0x83EE #define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF #define GLEW_SGIX_vertex_preclip GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip) #endif /* GL_SGIX_vertex_preclip */ /* ---------------------- GL_SGIX_vertex_preclip_hint ---------------------- */ #ifndef GL_SGIX_vertex_preclip_hint #define GL_SGIX_vertex_preclip_hint 1 #define GL_VERTEX_PRECLIP_SGIX 0x83EE #define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF #define GLEW_SGIX_vertex_preclip_hint GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip_hint) #endif /* GL_SGIX_vertex_preclip_hint */ /* ----------------------------- GL_SGIX_ycrcb ----------------------------- */ #ifndef GL_SGIX_ycrcb #define GL_SGIX_ycrcb 1 #define GLEW_SGIX_ycrcb GLEW_GET_VAR(__GLEW_SGIX_ycrcb) #endif /* GL_SGIX_ycrcb */ /* -------------------------- GL_SGI_color_matrix -------------------------- */ #ifndef GL_SGI_color_matrix #define GL_SGI_color_matrix 1 #define GL_COLOR_MATRIX_SGI 0x80B1 #define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3 #define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4 #define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5 #define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7 #define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8 #define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9 #define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA #define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB #define GLEW_SGI_color_matrix GLEW_GET_VAR(__GLEW_SGI_color_matrix) #endif /* GL_SGI_color_matrix */ /* --------------------------- GL_SGI_color_table -------------------------- */ #ifndef GL_SGI_color_table #define GL_SGI_color_table 1 #define GL_COLOR_TABLE_SGI 0x80D0 #define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1 #define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2 #define GL_PROXY_COLOR_TABLE_SGI 0x80D3 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5 #define GL_COLOR_TABLE_SCALE_SGI 0x80D6 #define GL_COLOR_TABLE_BIAS_SGI 0x80D7 #define GL_COLOR_TABLE_FORMAT_SGI 0x80D8 #define GL_COLOR_TABLE_WIDTH_SGI 0x80D9 #define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA #define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB #define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC #define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD #define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE #define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint* params); typedef void (GLAPIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint* params); typedef void (GLAPIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table); #define glColorTableParameterfvSGI GLEW_GET_FUN(__glewColorTableParameterfvSGI) #define glColorTableParameterivSGI GLEW_GET_FUN(__glewColorTableParameterivSGI) #define glColorTableSGI GLEW_GET_FUN(__glewColorTableSGI) #define glCopyColorTableSGI GLEW_GET_FUN(__glewCopyColorTableSGI) #define glGetColorTableParameterfvSGI GLEW_GET_FUN(__glewGetColorTableParameterfvSGI) #define glGetColorTableParameterivSGI GLEW_GET_FUN(__glewGetColorTableParameterivSGI) #define glGetColorTableSGI GLEW_GET_FUN(__glewGetColorTableSGI) #define GLEW_SGI_color_table GLEW_GET_VAR(__GLEW_SGI_color_table) #endif /* GL_SGI_color_table */ /* ----------------------- GL_SGI_texture_color_table ---------------------- */ #ifndef GL_SGI_texture_color_table #define GL_SGI_texture_color_table 1 #define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC #define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD #define GLEW_SGI_texture_color_table GLEW_GET_VAR(__GLEW_SGI_texture_color_table) #endif /* GL_SGI_texture_color_table */ /* ------------------------- GL_SUNX_constant_data ------------------------- */ #ifndef GL_SUNX_constant_data #define GL_SUNX_constant_data 1 #define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5 #define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6 typedef void (GLAPIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void); #define glFinishTextureSUNX GLEW_GET_FUN(__glewFinishTextureSUNX) #define GLEW_SUNX_constant_data GLEW_GET_VAR(__GLEW_SUNX_constant_data) #endif /* GL_SUNX_constant_data */ /* -------------------- GL_SUN_convolution_border_modes -------------------- */ #ifndef GL_SUN_convolution_border_modes #define GL_SUN_convolution_border_modes 1 #define GL_WRAP_BORDER_SUN 0x81D4 #define GLEW_SUN_convolution_border_modes GLEW_GET_VAR(__GLEW_SUN_convolution_border_modes) #endif /* GL_SUN_convolution_border_modes */ /* -------------------------- GL_SUN_global_alpha -------------------------- */ #ifndef GL_SUN_global_alpha #define GL_SUN_global_alpha 1 #define GL_GLOBAL_ALPHA_SUN 0x81D9 #define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor); typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor); typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor); typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor); typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor); typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor); typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor); typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor); #define glGlobalAlphaFactorbSUN GLEW_GET_FUN(__glewGlobalAlphaFactorbSUN) #define glGlobalAlphaFactordSUN GLEW_GET_FUN(__glewGlobalAlphaFactordSUN) #define glGlobalAlphaFactorfSUN GLEW_GET_FUN(__glewGlobalAlphaFactorfSUN) #define glGlobalAlphaFactoriSUN GLEW_GET_FUN(__glewGlobalAlphaFactoriSUN) #define glGlobalAlphaFactorsSUN GLEW_GET_FUN(__glewGlobalAlphaFactorsSUN) #define glGlobalAlphaFactorubSUN GLEW_GET_FUN(__glewGlobalAlphaFactorubSUN) #define glGlobalAlphaFactoruiSUN GLEW_GET_FUN(__glewGlobalAlphaFactoruiSUN) #define glGlobalAlphaFactorusSUN GLEW_GET_FUN(__glewGlobalAlphaFactorusSUN) #define GLEW_SUN_global_alpha GLEW_GET_VAR(__GLEW_SUN_global_alpha) #endif /* GL_SUN_global_alpha */ /* --------------------------- GL_SUN_mesh_array --------------------------- */ #ifndef GL_SUN_mesh_array #define GL_SUN_mesh_array 1 #define GL_QUAD_MESH_SUN 0x8614 #define GL_TRIANGLE_MESH_SUN 0x8615 #define GLEW_SUN_mesh_array GLEW_GET_VAR(__GLEW_SUN_mesh_array) #endif /* GL_SUN_mesh_array */ /* ------------------------ GL_SUN_read_video_pixels ----------------------- */ #ifndef GL_SUN_read_video_pixels #define GL_SUN_read_video_pixels 1 typedef void (GLAPIENTRY * PFNGLREADVIDEOPIXELSSUNPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); #define glReadVideoPixelsSUN GLEW_GET_FUN(__glewReadVideoPixelsSUN) #define GLEW_SUN_read_video_pixels GLEW_GET_VAR(__GLEW_SUN_read_video_pixels) #endif /* GL_SUN_read_video_pixels */ /* --------------------------- GL_SUN_slice_accum -------------------------- */ #ifndef GL_SUN_slice_accum #define GL_SUN_slice_accum 1 #define GL_SLICE_ACCUM_SUN 0x85CC #define GLEW_SUN_slice_accum GLEW_GET_VAR(__GLEW_SUN_slice_accum) #endif /* GL_SUN_slice_accum */ /* -------------------------- GL_SUN_triangle_list ------------------------- */ #ifndef GL_SUN_triangle_list #define GL_SUN_triangle_list 1 #define GL_RESTART_SUN 0x01 #define GL_REPLACE_MIDDLE_SUN 0x02 #define GL_REPLACE_OLDEST_SUN 0x03 #define GL_TRIANGLE_LIST_SUN 0x81D7 #define GL_REPLACEMENT_CODE_SUN 0x81D8 #define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0 #define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1 #define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2 #define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3 #define GL_R1UI_V3F_SUN 0x85C4 #define GL_R1UI_C4UB_V3F_SUN 0x85C5 #define GL_R1UI_C3F_V3F_SUN 0x85C6 #define GL_R1UI_N3F_V3F_SUN 0x85C7 #define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8 #define GL_R1UI_T2F_V3F_SUN 0x85C9 #define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA #define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte* code); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint* code); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort* code); #define glReplacementCodePointerSUN GLEW_GET_FUN(__glewReplacementCodePointerSUN) #define glReplacementCodeubSUN GLEW_GET_FUN(__glewReplacementCodeubSUN) #define glReplacementCodeubvSUN GLEW_GET_FUN(__glewReplacementCodeubvSUN) #define glReplacementCodeuiSUN GLEW_GET_FUN(__glewReplacementCodeuiSUN) #define glReplacementCodeuivSUN GLEW_GET_FUN(__glewReplacementCodeuivSUN) #define glReplacementCodeusSUN GLEW_GET_FUN(__glewReplacementCodeusSUN) #define glReplacementCodeusvSUN GLEW_GET_FUN(__glewReplacementCodeusvSUN) #define GLEW_SUN_triangle_list GLEW_GET_VAR(__GLEW_SUN_triangle_list) #endif /* GL_SUN_triangle_list */ /* ----------------------------- GL_SUN_vertex ----------------------------- */ #ifndef GL_SUN_vertex #define GL_SUN_vertex 1 typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y); typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte* c, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte* c, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint* rc, const GLubyte *c, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat* tc, const GLubyte *c, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *v); #define glColor3fVertex3fSUN GLEW_GET_FUN(__glewColor3fVertex3fSUN) #define glColor3fVertex3fvSUN GLEW_GET_FUN(__glewColor3fVertex3fvSUN) #define glColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fSUN) #define glColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fvSUN) #define glColor4ubVertex2fSUN GLEW_GET_FUN(__glewColor4ubVertex2fSUN) #define glColor4ubVertex2fvSUN GLEW_GET_FUN(__glewColor4ubVertex2fvSUN) #define glColor4ubVertex3fSUN GLEW_GET_FUN(__glewColor4ubVertex3fSUN) #define glColor4ubVertex3fvSUN GLEW_GET_FUN(__glewColor4ubVertex3fvSUN) #define glNormal3fVertex3fSUN GLEW_GET_FUN(__glewNormal3fVertex3fSUN) #define glNormal3fVertex3fvSUN GLEW_GET_FUN(__glewNormal3fVertex3fvSUN) #define glReplacementCodeuiColor3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fSUN) #define glReplacementCodeuiColor3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fvSUN) #define glReplacementCodeuiColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fSUN) #define glReplacementCodeuiColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN) #define glReplacementCodeuiColor4ubVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fSUN) #define glReplacementCodeuiColor4ubVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fvSUN) #define glReplacementCodeuiNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fSUN) #define glReplacementCodeuiNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fvSUN) #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) #define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) #define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) #define glReplacementCodeuiTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fSUN) #define glReplacementCodeuiTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fvSUN) #define glReplacementCodeuiVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fSUN) #define glReplacementCodeuiVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fvSUN) #define glTexCoord2fColor3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fSUN) #define glTexCoord2fColor3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fvSUN) #define glTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fSUN) #define glTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fvSUN) #define glTexCoord2fColor4ubVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fSUN) #define glTexCoord2fColor4ubVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fvSUN) #define glTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fSUN) #define glTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fvSUN) #define glTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fSUN) #define glTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fvSUN) #define glTexCoord4fColor4fNormal3fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fSUN) #define glTexCoord4fColor4fNormal3fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fvSUN) #define glTexCoord4fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fSUN) #define glTexCoord4fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fvSUN) #define GLEW_SUN_vertex GLEW_GET_VAR(__GLEW_SUN_vertex) #endif /* GL_SUN_vertex */ /* -------------------------- GL_WIN_phong_shading ------------------------- */ #ifndef GL_WIN_phong_shading #define GL_WIN_phong_shading 1 #define GL_PHONG_WIN 0x80EA #define GL_PHONG_HINT_WIN 0x80EB #define GLEW_WIN_phong_shading GLEW_GET_VAR(__GLEW_WIN_phong_shading) #endif /* GL_WIN_phong_shading */ /* -------------------------- GL_WIN_specular_fog -------------------------- */ #ifndef GL_WIN_specular_fog #define GL_WIN_specular_fog 1 #define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC #define GLEW_WIN_specular_fog GLEW_GET_VAR(__GLEW_WIN_specular_fog) #endif /* GL_WIN_specular_fog */ /* ---------------------------- GL_WIN_swap_hint --------------------------- */ #ifndef GL_WIN_swap_hint #define GL_WIN_swap_hint 1 typedef void (GLAPIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height); #define glAddSwapHintRectWIN GLEW_GET_FUN(__glewAddSwapHintRectWIN) #define GLEW_WIN_swap_hint GLEW_GET_VAR(__GLEW_WIN_swap_hint) #endif /* GL_WIN_swap_hint */ /* ------------------------------------------------------------------------- */ #if defined(GLEW_MX) && defined(_WIN32) #define GLEW_FUN_EXPORT #else #define GLEW_FUN_EXPORT GLEWAPI #endif /* GLEW_MX */ #if defined(GLEW_MX) #define GLEW_VAR_EXPORT #else #define GLEW_VAR_EXPORT GLEWAPI #endif /* GLEW_MX */ #if defined(GLEW_MX) && defined(_WIN32) struct GLEWContextStruct { #endif /* GLEW_MX */ GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D; GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements; GLEW_FUN_EXPORT PFNGLTEXIMAGE3DPROC __glewTexImage3D; GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D; GLEW_FUN_EXPORT PFNGLACTIVETEXTUREPROC __glewActiveTexture; GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D; GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage; GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd; GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf; GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd; GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv; GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage; GLEW_FUN_EXPORT PFNGLBLENDCOLORPROC __glewBlendColor; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONPROC __glewBlendEquation; GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate; GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer; GLEW_FUN_EXPORT PFNGLFOGCOORDDPROC __glewFogCoordd; GLEW_FUN_EXPORT PFNGLFOGCOORDDVPROC __glewFogCoorddv; GLEW_FUN_EXPORT PFNGLFOGCOORDFPROC __glewFogCoordf; GLEW_FUN_EXPORT PFNGLFOGCOORDFVPROC __glewFogCoordfv; GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer; GLEW_FUN_EXPORT PFNGLWINDOWPOS2DPROC __glewWindowPos2d; GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv; GLEW_FUN_EXPORT PFNGLWINDOWPOS2FPROC __glewWindowPos2f; GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv; GLEW_FUN_EXPORT PFNGLWINDOWPOS2IPROC __glewWindowPos2i; GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv; GLEW_FUN_EXPORT PFNGLWINDOWPOS2SPROC __glewWindowPos2s; GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv; GLEW_FUN_EXPORT PFNGLWINDOWPOS3DPROC __glewWindowPos3d; GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv; GLEW_FUN_EXPORT PFNGLWINDOWPOS3FPROC __glewWindowPos3f; GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv; GLEW_FUN_EXPORT PFNGLWINDOWPOS3IPROC __glewWindowPos3i; GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv; GLEW_FUN_EXPORT PFNGLWINDOWPOS3SPROC __glewWindowPos3s; GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv; GLEW_FUN_EXPORT PFNGLBEGINQUERYPROC __glewBeginQuery; GLEW_FUN_EXPORT PFNGLBINDBUFFERPROC __glewBindBuffer; GLEW_FUN_EXPORT PFNGLBUFFERDATAPROC __glewBufferData; GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAPROC __glewBufferSubData; GLEW_FUN_EXPORT PFNGLDELETEBUFFERSPROC __glewDeleteBuffers; GLEW_FUN_EXPORT PFNGLDELETEQUERIESPROC __glewDeleteQueries; GLEW_FUN_EXPORT PFNGLENDQUERYPROC __glewEndQuery; GLEW_FUN_EXPORT PFNGLGENBUFFERSPROC __glewGenBuffers; GLEW_FUN_EXPORT PFNGLGENQUERIESPROC __glewGenQueries; GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv; GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv; GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv; GLEW_FUN_EXPORT PFNGLGETQUERYIVPROC __glewGetQueryiv; GLEW_FUN_EXPORT PFNGLISBUFFERPROC __glewIsBuffer; GLEW_FUN_EXPORT PFNGLISQUERYPROC __glewIsQuery; GLEW_FUN_EXPORT PFNGLMAPBUFFERPROC __glewMapBuffer; GLEW_FUN_EXPORT PFNGLUNMAPBUFFERPROC __glewUnmapBuffer; GLEW_FUN_EXPORT PFNGLATTACHSHADERPROC __glewAttachShader; GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate; GLEW_FUN_EXPORT PFNGLCOMPILESHADERPROC __glewCompileShader; GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPROC __glewCreateProgram; GLEW_FUN_EXPORT PFNGLCREATESHADERPROC __glewCreateShader; GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPROC __glewDeleteProgram; GLEW_FUN_EXPORT PFNGLDELETESHADERPROC __glewDeleteShader; GLEW_FUN_EXPORT PFNGLDETACHSHADERPROC __glewDetachShader; GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray; GLEW_FUN_EXPORT PFNGLDRAWBUFFERSPROC __glewDrawBuffers; GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray; GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib; GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform; GLEW_FUN_EXPORT PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders; GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation; GLEW_FUN_EXPORT PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog; GLEW_FUN_EXPORT PFNGLGETPROGRAMIVPROC __glewGetProgramiv; GLEW_FUN_EXPORT PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog; GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEPROC __glewGetShaderSource; GLEW_FUN_EXPORT PFNGLGETSHADERIVPROC __glewGetShaderiv; GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation; GLEW_FUN_EXPORT PFNGLGETUNIFORMFVPROC __glewGetUniformfv; GLEW_FUN_EXPORT PFNGLGETUNIFORMIVPROC __glewGetUniformiv; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv; GLEW_FUN_EXPORT PFNGLISPROGRAMPROC __glewIsProgram; GLEW_FUN_EXPORT PFNGLISSHADERPROC __glewIsShader; GLEW_FUN_EXPORT PFNGLLINKPROGRAMPROC __glewLinkProgram; GLEW_FUN_EXPORT PFNGLSHADERSOURCEPROC __glewShaderSource; GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate; GLEW_FUN_EXPORT PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate; GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate; GLEW_FUN_EXPORT PFNGLUNIFORM1FPROC __glewUniform1f; GLEW_FUN_EXPORT PFNGLUNIFORM1FVPROC __glewUniform1fv; GLEW_FUN_EXPORT PFNGLUNIFORM1IPROC __glewUniform1i; GLEW_FUN_EXPORT PFNGLUNIFORM1IVPROC __glewUniform1iv; GLEW_FUN_EXPORT PFNGLUNIFORM2FPROC __glewUniform2f; GLEW_FUN_EXPORT PFNGLUNIFORM2FVPROC __glewUniform2fv; GLEW_FUN_EXPORT PFNGLUNIFORM2IPROC __glewUniform2i; GLEW_FUN_EXPORT PFNGLUNIFORM2IVPROC __glewUniform2iv; GLEW_FUN_EXPORT PFNGLUNIFORM3FPROC __glewUniform3f; GLEW_FUN_EXPORT PFNGLUNIFORM3FVPROC __glewUniform3fv; GLEW_FUN_EXPORT PFNGLUNIFORM3IPROC __glewUniform3i; GLEW_FUN_EXPORT PFNGLUNIFORM3IVPROC __glewUniform3iv; GLEW_FUN_EXPORT PFNGLUNIFORM4FPROC __glewUniform4f; GLEW_FUN_EXPORT PFNGLUNIFORM4FVPROC __glewUniform4fv; GLEW_FUN_EXPORT PFNGLUNIFORM4IPROC __glewUniform4i; GLEW_FUN_EXPORT PFNGLUNIFORM4IVPROC __glewUniform4iv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv; GLEW_FUN_EXPORT PFNGLUSEPROGRAMPROC __glewUseProgram; GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPROC __glewValidateProgram; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv; GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender; GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback; GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation; GLEW_FUN_EXPORT PFNGLCLAMPCOLORPROC __glewClampColor; GLEW_FUN_EXPORT PFNGLCLEARBUFFERFIPROC __glewClearBufferfi; GLEW_FUN_EXPORT PFNGLCLEARBUFFERFVPROC __glewClearBufferfv; GLEW_FUN_EXPORT PFNGLCLEARBUFFERIVPROC __glewClearBufferiv; GLEW_FUN_EXPORT PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv; GLEW_FUN_EXPORT PFNGLCOLORMASKIPROC __glewColorMaski; GLEW_FUN_EXPORT PFNGLDISABLEIPROC __glewDisablei; GLEW_FUN_EXPORT PFNGLENABLEIPROC __glewEnablei; GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender; GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback; GLEW_FUN_EXPORT PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v; GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation; GLEW_FUN_EXPORT PFNGLGETSTRINGIPROC __glewGetStringi; GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv; GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv; GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying; GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv; GLEW_FUN_EXPORT PFNGLISENABLEDIPROC __glewIsEnabledi; GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv; GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv; GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings; GLEW_FUN_EXPORT PFNGLUNIFORM1UIPROC __glewUniform1ui; GLEW_FUN_EXPORT PFNGLUNIFORM1UIVPROC __glewUniform1uiv; GLEW_FUN_EXPORT PFNGLUNIFORM2UIPROC __glewUniform2ui; GLEW_FUN_EXPORT PFNGLUNIFORM2UIVPROC __glewUniform2uiv; GLEW_FUN_EXPORT PFNGLUNIFORM3UIPROC __glewUniform3ui; GLEW_FUN_EXPORT PFNGLUNIFORM3UIVPROC __glewUniform3uiv; GLEW_FUN_EXPORT PFNGLUNIFORM4UIPROC __glewUniform4ui; GLEW_FUN_EXPORT PFNGLUNIFORM4UIVPROC __glewUniform4uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer; GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced; GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex; GLEW_FUN_EXPORT PFNGLTEXBUFFERPROC __glewTexBuffer; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture; GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v; GLEW_FUN_EXPORT PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORPROC __glewVertexAttribDivisor; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIPROC __glewBlendEquationi; GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei; GLEW_FUN_EXPORT PFNGLBLENDFUNCIPROC __glewBlendFunci; GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading; GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKAMDPROC __glewDebugMessageCallbackAMD; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEENABLEAMDPROC __glewDebugMessageEnableAMD; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTAMDPROC __glewDebugMessageInsertAMD; GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGAMDPROC __glewGetDebugMessageLogAMD; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD; GLEW_FUN_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD; GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPARAMETERIAMDPROC __glewVertexAttribParameteriAMD; GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC __glewMultiDrawArraysIndirectAMD; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC __glewMultiDrawElementsIndirectAMD; GLEW_FUN_EXPORT PFNGLDELETENAMESAMDPROC __glewDeleteNamesAMD; GLEW_FUN_EXPORT PFNGLGENNAMESAMDPROC __glewGenNamesAMD; GLEW_FUN_EXPORT PFNGLISNAMEAMDPROC __glewIsNameAMD; GLEW_FUN_EXPORT PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD; GLEW_FUN_EXPORT PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD; GLEW_FUN_EXPORT PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD; GLEW_FUN_EXPORT PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD; GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD; GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD; GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD; GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD; GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD; GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD; GLEW_FUN_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD; GLEW_FUN_EXPORT PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD; GLEW_FUN_EXPORT PFNGLTEXSTORAGESPARSEAMDPROC __glewTexStorageSparseAMD; GLEW_FUN_EXPORT PFNGLTEXTURESTORAGESPARSEAMDPROC __glewTextureStorageSparseAMD; GLEW_FUN_EXPORT PFNGLSTENCILOPVALUEAMDPROC __glewStencilOpValueAMD; GLEW_FUN_EXPORT PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD; GLEW_FUN_EXPORT PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD; GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERANGLEPROC __glewBlitFramebufferANGLE; GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC __glewRenderbufferStorageMultisampleANGLE; GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDANGLEPROC __glewDrawArraysInstancedANGLE; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDANGLEPROC __glewDrawElementsInstancedANGLE; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORANGLEPROC __glewVertexAttribDivisorANGLE; GLEW_FUN_EXPORT PFNGLBEGINQUERYANGLEPROC __glewBeginQueryANGLE; GLEW_FUN_EXPORT PFNGLDELETEQUERIESANGLEPROC __glewDeleteQueriesANGLE; GLEW_FUN_EXPORT PFNGLENDQUERYANGLEPROC __glewEndQueryANGLE; GLEW_FUN_EXPORT PFNGLGENQUERIESANGLEPROC __glewGenQueriesANGLE; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VANGLEPROC __glewGetQueryObjecti64vANGLE; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVANGLEPROC __glewGetQueryObjectivANGLE; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VANGLEPROC __glewGetQueryObjectui64vANGLE; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVANGLEPROC __glewGetQueryObjectuivANGLE; GLEW_FUN_EXPORT PFNGLGETQUERYIVANGLEPROC __glewGetQueryivANGLE; GLEW_FUN_EXPORT PFNGLISQUERYANGLEPROC __glewIsQueryANGLE; GLEW_FUN_EXPORT PFNGLQUERYCOUNTERANGLEPROC __glewQueryCounterANGLE; GLEW_FUN_EXPORT PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC __glewGetTranslatedShaderSourceANGLE; GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE; GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE; GLEW_FUN_EXPORT PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE; GLEW_FUN_EXPORT PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE; GLEW_FUN_EXPORT PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE; GLEW_FUN_EXPORT PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE; GLEW_FUN_EXPORT PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE; GLEW_FUN_EXPORT PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE; GLEW_FUN_EXPORT PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE; GLEW_FUN_EXPORT PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE; GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE; GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE; GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE; GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE; GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE; GLEW_FUN_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE; GLEW_FUN_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE; GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE; GLEW_FUN_EXPORT PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE; GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE; GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE; GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE; GLEW_FUN_EXPORT PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE; GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE; GLEW_FUN_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE; GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE; GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE; GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE; GLEW_FUN_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE; GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE; GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE; GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE; GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE; GLEW_FUN_EXPORT PFNGLCLEARDEPTHFPROC __glewClearDepthf; GLEW_FUN_EXPORT PFNGLDEPTHRANGEFPROC __glewDepthRangef; GLEW_FUN_EXPORT PFNGLGETSHADERPRECISIONFORMATPROC __glewGetShaderPrecisionFormat; GLEW_FUN_EXPORT PFNGLRELEASESHADERCOMPILERPROC __glewReleaseShaderCompiler; GLEW_FUN_EXPORT PFNGLSHADERBINARYPROC __glewShaderBinary; GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC __glewDrawArraysInstancedBaseInstance; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC __glewDrawElementsInstancedBaseInstance; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC __glewDrawElementsInstancedBaseVertexBaseInstance; GLEW_FUN_EXPORT PFNGLGETIMAGEHANDLEARBPROC __glewGetImageHandleARB; GLEW_FUN_EXPORT PFNGLGETTEXTUREHANDLEARBPROC __glewGetTextureHandleARB; GLEW_FUN_EXPORT PFNGLGETTEXTURESAMPLERHANDLEARBPROC __glewGetTextureSamplerHandleARB; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VARBPROC __glewGetVertexAttribLui64vARB; GLEW_FUN_EXPORT PFNGLISIMAGEHANDLERESIDENTARBPROC __glewIsImageHandleResidentARB; GLEW_FUN_EXPORT PFNGLISTEXTUREHANDLERESIDENTARBPROC __glewIsTextureHandleResidentARB; GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC __glewMakeImageHandleNonResidentARB; GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLERESIDENTARBPROC __glewMakeImageHandleResidentARB; GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC __glewMakeTextureHandleNonResidentARB; GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLERESIDENTARBPROC __glewMakeTextureHandleResidentARB; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC __glewProgramUniformHandleui64ARB; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC __glewProgramUniformHandleui64vARB; GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64ARBPROC __glewUniformHandleui64ARB; GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64VARBPROC __glewUniformHandleui64vARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64ARBPROC __glewVertexAttribL1ui64ARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VARBPROC __glewVertexAttribL1ui64vARB; GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed; GLEW_FUN_EXPORT PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex; GLEW_FUN_EXPORT PFNGLBUFFERSTORAGEPROC __glewBufferStorage; GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSTORAGEEXTPROC __glewNamedBufferStorageEXT; GLEW_FUN_EXPORT PFNGLCREATESYNCFROMCLEVENTARBPROC __glewCreateSyncFromCLeventARB; GLEW_FUN_EXPORT PFNGLCLEARBUFFERDATAPROC __glewClearBufferData; GLEW_FUN_EXPORT PFNGLCLEARBUFFERSUBDATAPROC __glewClearBufferSubData; GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERDATAEXTPROC __glewClearNamedBufferDataEXT; GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC __glewClearNamedBufferSubDataEXT; GLEW_FUN_EXPORT PFNGLCLEARTEXIMAGEPROC __glewClearTexImage; GLEW_FUN_EXPORT PFNGLCLEARTEXSUBIMAGEPROC __glewClearTexSubImage; GLEW_FUN_EXPORT PFNGLCLAMPCOLORARBPROC __glewClampColorARB; GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEPROC __glewDispatchCompute; GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEINDIRECTPROC __glewDispatchComputeIndirect; GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC __glewDispatchComputeGroupSizeARB; GLEW_FUN_EXPORT PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData; GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATAPROC __glewCopyImageSubData; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKARBPROC __glewDebugMessageCallbackARB; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECONTROLARBPROC __glewDebugMessageControlARB; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTARBPROC __glewDebugMessageInsertARB; GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGARBPROC __glewGetDebugMessageLogARB; GLEW_FUN_EXPORT PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB; GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB; GLEW_FUN_EXPORT PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex; GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex; GLEW_FUN_EXPORT PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERPARAMETERIPROC __glewFramebufferParameteri; GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVPROC __glewGetFramebufferParameteriv; GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC __glewGetNamedFramebufferParameterivEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC __glewNamedFramebufferParameteriEXT; GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer; GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer; GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer; GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus; GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers; GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer; GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers; GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers; GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap; GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv; GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv; GLEW_FUN_EXPORT PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer; GLEW_FUN_EXPORT PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer; GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage; GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMBINARYPROC __glewGetProgramBinary; GLEW_FUN_EXPORT PFNGLPROGRAMBINARYPROC __glewProgramBinary; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIPROC __glewProgramParameteri; GLEW_FUN_EXPORT PFNGLGETUNIFORMDVPROC __glewGetUniformdv; GLEW_FUN_EXPORT PFNGLUNIFORM1DPROC __glewUniform1d; GLEW_FUN_EXPORT PFNGLUNIFORM1DVPROC __glewUniform1dv; GLEW_FUN_EXPORT PFNGLUNIFORM2DPROC __glewUniform2d; GLEW_FUN_EXPORT PFNGLUNIFORM2DVPROC __glewUniform2dv; GLEW_FUN_EXPORT PFNGLUNIFORM3DPROC __glewUniform3d; GLEW_FUN_EXPORT PFNGLUNIFORM3DVPROC __glewUniform3dv; GLEW_FUN_EXPORT PFNGLUNIFORM4DPROC __glewUniform4d; GLEW_FUN_EXPORT PFNGLUNIFORM4DVPROC __glewUniform4dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2DVPROC __glewUniformMatrix2dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3DVPROC __glewUniformMatrix2x3dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4DVPROC __glewUniformMatrix2x4dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3DVPROC __glewUniformMatrix3dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2DVPROC __glewUniformMatrix3x2dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4DVPROC __glewUniformMatrix3x4dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4DVPROC __glewUniformMatrix4dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2DVPROC __glewUniformMatrix4x2dv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3DVPROC __glewUniformMatrix4x3dv; GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEPROC __glewColorSubTable; GLEW_FUN_EXPORT PFNGLCOLORTABLEPROC __glewColorTable; GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv; GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv; GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D; GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv; GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable; GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable; GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D; GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPROC __glewGetColorTable; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv; GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter; GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv; GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv; GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPROC __glewGetHistogram; GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv; GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv; GLEW_FUN_EXPORT PFNGLGETMINMAXPROC __glewGetMinmax; GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv; GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv; GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter; GLEW_FUN_EXPORT PFNGLHISTOGRAMPROC __glewHistogram; GLEW_FUN_EXPORT PFNGLMINMAXPROC __glewMinmax; GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram; GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax; GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D; GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC __glewMultiDrawArraysIndirectCountARB; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC __glewMultiDrawElementsIndirectCountARB; GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB; GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATIVPROC __glewGetInternalformativ; GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATI64VPROC __glewGetInternalformati64v; GLEW_FUN_EXPORT PFNGLINVALIDATEBUFFERDATAPROC __glewInvalidateBufferData; GLEW_FUN_EXPORT PFNGLINVALIDATEBUFFERSUBDATAPROC __glewInvalidateBufferSubData; GLEW_FUN_EXPORT PFNGLINVALIDATEFRAMEBUFFERPROC __glewInvalidateFramebuffer; GLEW_FUN_EXPORT PFNGLINVALIDATESUBFRAMEBUFFERPROC __glewInvalidateSubFramebuffer; GLEW_FUN_EXPORT PFNGLINVALIDATETEXIMAGEPROC __glewInvalidateTexImage; GLEW_FUN_EXPORT PFNGLINVALIDATETEXSUBIMAGEPROC __glewInvalidateTexSubImage; GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange; GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange; GLEW_FUN_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB; GLEW_FUN_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB; GLEW_FUN_EXPORT PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB; GLEW_FUN_EXPORT PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB; GLEW_FUN_EXPORT PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB; GLEW_FUN_EXPORT PFNGLBINDBUFFERSBASEPROC __glewBindBuffersBase; GLEW_FUN_EXPORT PFNGLBINDBUFFERSRANGEPROC __glewBindBuffersRange; GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTURESPROC __glewBindImageTextures; GLEW_FUN_EXPORT PFNGLBINDSAMPLERSPROC __glewBindSamplers; GLEW_FUN_EXPORT PFNGLBINDTEXTURESPROC __glewBindTextures; GLEW_FUN_EXPORT PFNGLBINDVERTEXBUFFERSPROC __glewBindVertexBuffers; GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTPROC __glewMultiDrawArraysIndirect; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTPROC __glewMultiDrawElementsIndirect; GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB; GLEW_FUN_EXPORT PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB; GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB; GLEW_FUN_EXPORT PFNGLBEGINQUERYARBPROC __glewBeginQueryARB; GLEW_FUN_EXPORT PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB; GLEW_FUN_EXPORT PFNGLENDQUERYARBPROC __glewEndQueryARB; GLEW_FUN_EXPORT PFNGLGENQUERIESARBPROC __glewGenQueriesARB; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB; GLEW_FUN_EXPORT PFNGLGETQUERYIVARBPROC __glewGetQueryivARB; GLEW_FUN_EXPORT PFNGLISQUERYARBPROC __glewIsQueryARB; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMINTERFACEIVPROC __glewGetProgramInterfaceiv; GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEINDEXPROC __glewGetProgramResourceIndex; GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONPROC __glewGetProgramResourceLocation; GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC __glewGetProgramResourceLocationIndex; GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCENAMEPROC __glewGetProgramResourceName; GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEIVPROC __glewGetProgramResourceiv; GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex; GLEW_FUN_EXPORT PFNGLGETGRAPHICSRESETSTATUSARBPROC __glewGetGraphicsResetStatusARB; GLEW_FUN_EXPORT PFNGLGETNCOLORTABLEARBPROC __glewGetnColorTableARB; GLEW_FUN_EXPORT PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC __glewGetnCompressedTexImageARB; GLEW_FUN_EXPORT PFNGLGETNCONVOLUTIONFILTERARBPROC __glewGetnConvolutionFilterARB; GLEW_FUN_EXPORT PFNGLGETNHISTOGRAMARBPROC __glewGetnHistogramARB; GLEW_FUN_EXPORT PFNGLGETNMAPDVARBPROC __glewGetnMapdvARB; GLEW_FUN_EXPORT PFNGLGETNMAPFVARBPROC __glewGetnMapfvARB; GLEW_FUN_EXPORT PFNGLGETNMAPIVARBPROC __glewGetnMapivARB; GLEW_FUN_EXPORT PFNGLGETNMINMAXARBPROC __glewGetnMinmaxARB; GLEW_FUN_EXPORT PFNGLGETNPIXELMAPFVARBPROC __glewGetnPixelMapfvARB; GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUIVARBPROC __glewGetnPixelMapuivARB; GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUSVARBPROC __glewGetnPixelMapusvARB; GLEW_FUN_EXPORT PFNGLGETNPOLYGONSTIPPLEARBPROC __glewGetnPolygonStippleARB; GLEW_FUN_EXPORT PFNGLGETNSEPARABLEFILTERARBPROC __glewGetnSeparableFilterARB; GLEW_FUN_EXPORT PFNGLGETNTEXIMAGEARBPROC __glewGetnTexImageARB; GLEW_FUN_EXPORT PFNGLGETNUNIFORMDVARBPROC __glewGetnUniformdvARB; GLEW_FUN_EXPORT PFNGLGETNUNIFORMFVARBPROC __glewGetnUniformfvARB; GLEW_FUN_EXPORT PFNGLGETNUNIFORMIVARBPROC __glewGetnUniformivARB; GLEW_FUN_EXPORT PFNGLGETNUNIFORMUIVARBPROC __glewGetnUniformuivARB; GLEW_FUN_EXPORT PFNGLREADNPIXELSARBPROC __glewReadnPixelsARB; GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB; GLEW_FUN_EXPORT PFNGLBINDSAMPLERPROC __glewBindSampler; GLEW_FUN_EXPORT PFNGLDELETESAMPLERSPROC __glewDeleteSamplers; GLEW_FUN_EXPORT PFNGLGENSAMPLERSPROC __glewGenSamplers; GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv; GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv; GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv; GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv; GLEW_FUN_EXPORT PFNGLISSAMPLERPROC __glewIsSampler; GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv; GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv; GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf; GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv; GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri; GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv; GLEW_FUN_EXPORT PFNGLACTIVESHADERPROGRAMPROC __glewActiveShaderProgram; GLEW_FUN_EXPORT PFNGLBINDPROGRAMPIPELINEPROC __glewBindProgramPipeline; GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMVPROC __glewCreateShaderProgramv; GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPIPELINESPROC __glewDeleteProgramPipelines; GLEW_FUN_EXPORT PFNGLGENPROGRAMPIPELINESPROC __glewGenProgramPipelines; GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEINFOLOGPROC __glewGetProgramPipelineInfoLog; GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEIVPROC __glewGetProgramPipelineiv; GLEW_FUN_EXPORT PFNGLISPROGRAMPIPELINEPROC __glewIsProgramPipeline; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DPROC __glewProgramUniform1d; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DVPROC __glewProgramUniform1dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FPROC __glewProgramUniform1f; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVPROC __glewProgramUniform1fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IPROC __glewProgramUniform1i; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVPROC __glewProgramUniform1iv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIPROC __glewProgramUniform1ui; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVPROC __glewProgramUniform1uiv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DPROC __glewProgramUniform2d; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DVPROC __glewProgramUniform2dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FPROC __glewProgramUniform2f; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVPROC __glewProgramUniform2fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IPROC __glewProgramUniform2i; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVPROC __glewProgramUniform2iv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIPROC __glewProgramUniform2ui; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVPROC __glewProgramUniform2uiv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DPROC __glewProgramUniform3d; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DVPROC __glewProgramUniform3dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FPROC __glewProgramUniform3f; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVPROC __glewProgramUniform3fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IPROC __glewProgramUniform3i; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVPROC __glewProgramUniform3iv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIPROC __glewProgramUniform3ui; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVPROC __glewProgramUniform3uiv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DPROC __glewProgramUniform4d; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DVPROC __glewProgramUniform4dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FPROC __glewProgramUniform4f; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVPROC __glewProgramUniform4fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IPROC __glewProgramUniform4i; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVPROC __glewProgramUniform4iv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIPROC __glewProgramUniform4ui; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVPROC __glewProgramUniform4uiv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVPROC __glewProgramUniformMatrix2dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVPROC __glewProgramUniformMatrix2fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC __glewProgramUniformMatrix2x3dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC __glewProgramUniformMatrix2x3fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC __glewProgramUniformMatrix2x4dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC __glewProgramUniformMatrix2x4fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVPROC __glewProgramUniformMatrix3dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVPROC __glewProgramUniformMatrix3fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC __glewProgramUniformMatrix3x2dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC __glewProgramUniformMatrix3x2fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC __glewProgramUniformMatrix3x4dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC __glewProgramUniformMatrix3x4fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVPROC __glewProgramUniformMatrix4dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVPROC __glewProgramUniformMatrix4fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC __glewProgramUniformMatrix4x2dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC __glewProgramUniformMatrix4x2fv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC __glewProgramUniformMatrix4x3dv; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC __glewProgramUniformMatrix4x3fv; GLEW_FUN_EXPORT PFNGLUSEPROGRAMSTAGESPROC __glewUseProgramStages; GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPIPELINEPROC __glewValidateProgramPipeline; GLEW_FUN_EXPORT PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC __glewGetActiveAtomicCounterBufferiv; GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREPROC __glewBindImageTexture; GLEW_FUN_EXPORT PFNGLMEMORYBARRIERPROC __glewMemoryBarrier; GLEW_FUN_EXPORT PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB; GLEW_FUN_EXPORT PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB; GLEW_FUN_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB; GLEW_FUN_EXPORT PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB; GLEW_FUN_EXPORT PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB; GLEW_FUN_EXPORT PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB; GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB; GLEW_FUN_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB; GLEW_FUN_EXPORT PFNGLGETHANDLEARBPROC __glewGetHandleARB; GLEW_FUN_EXPORT PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB; GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB; GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB; GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB; GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB; GLEW_FUN_EXPORT PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB; GLEW_FUN_EXPORT PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB; GLEW_FUN_EXPORT PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB; GLEW_FUN_EXPORT PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB; GLEW_FUN_EXPORT PFNGLUNIFORM1FARBPROC __glewUniform1fARB; GLEW_FUN_EXPORT PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB; GLEW_FUN_EXPORT PFNGLUNIFORM1IARBPROC __glewUniform1iARB; GLEW_FUN_EXPORT PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB; GLEW_FUN_EXPORT PFNGLUNIFORM2FARBPROC __glewUniform2fARB; GLEW_FUN_EXPORT PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB; GLEW_FUN_EXPORT PFNGLUNIFORM2IARBPROC __glewUniform2iARB; GLEW_FUN_EXPORT PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB; GLEW_FUN_EXPORT PFNGLUNIFORM3FARBPROC __glewUniform3fARB; GLEW_FUN_EXPORT PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB; GLEW_FUN_EXPORT PFNGLUNIFORM3IARBPROC __glewUniform3iARB; GLEW_FUN_EXPORT PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB; GLEW_FUN_EXPORT PFNGLUNIFORM4FARBPROC __glewUniform4fARB; GLEW_FUN_EXPORT PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB; GLEW_FUN_EXPORT PFNGLUNIFORM4IARBPROC __glewUniform4iARB; GLEW_FUN_EXPORT PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB; GLEW_FUN_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB; GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB; GLEW_FUN_EXPORT PFNGLSHADERSTORAGEBLOCKBINDINGPROC __glewShaderStorageBlockBinding; GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName; GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName; GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv; GLEW_FUN_EXPORT PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv; GLEW_FUN_EXPORT PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex; GLEW_FUN_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation; GLEW_FUN_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv; GLEW_FUN_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv; GLEW_FUN_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB; GLEW_FUN_EXPORT PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB; GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB; GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB; GLEW_FUN_EXPORT PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB; GLEW_FUN_EXPORT PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB; GLEW_FUN_EXPORT PFNGLTEXPAGECOMMITMENTARBPROC __glewTexPageCommitmentARB; GLEW_FUN_EXPORT PFNGLTEXTUREPAGECOMMITMENTEXTPROC __glewTexturePageCommitmentEXT; GLEW_FUN_EXPORT PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync; GLEW_FUN_EXPORT PFNGLDELETESYNCPROC __glewDeleteSync; GLEW_FUN_EXPORT PFNGLFENCESYNCPROC __glewFenceSync; GLEW_FUN_EXPORT PFNGLGETINTEGER64VPROC __glewGetInteger64v; GLEW_FUN_EXPORT PFNGLGETSYNCIVPROC __glewGetSynciv; GLEW_FUN_EXPORT PFNGLISSYNCPROC __glewIsSync; GLEW_FUN_EXPORT PFNGLWAITSYNCPROC __glewWaitSync; GLEW_FUN_EXPORT PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv; GLEW_FUN_EXPORT PFNGLPATCHPARAMETERIPROC __glewPatchParameteri; GLEW_FUN_EXPORT PFNGLTEXBUFFERARBPROC __glewTexBufferARB; GLEW_FUN_EXPORT PFNGLTEXBUFFERRANGEPROC __glewTexBufferRange; GLEW_FUN_EXPORT PFNGLTEXTUREBUFFERRANGEEXTPROC __glewTextureBufferRangeEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB; GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB; GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv; GLEW_FUN_EXPORT PFNGLSAMPLEMASKIPROC __glewSampleMaski; GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample; GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample; GLEW_FUN_EXPORT PFNGLTEXSTORAGE1DPROC __glewTexStorage1D; GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DPROC __glewTexStorage2D; GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DPROC __glewTexStorage3D; GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE1DEXTPROC __glewTextureStorage1DEXT; GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DEXTPROC __glewTextureStorage2DEXT; GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DEXTPROC __glewTextureStorage3DEXT; GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DMULTISAMPLEPROC __glewTexStorage2DMultisample; GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DMULTISAMPLEPROC __glewTexStorage3DMultisample; GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC __glewTextureStorage2DMultisampleEXT; GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC __glewTextureStorage3DMultisampleEXT; GLEW_FUN_EXPORT PFNGLTEXTUREVIEWPROC __glewTextureView; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v; GLEW_FUN_EXPORT PFNGLQUERYCOUNTERPROC __glewQueryCounter; GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback; GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks; GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback; GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks; GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback; GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback; GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback; GLEW_FUN_EXPORT PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed; GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream; GLEW_FUN_EXPORT PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed; GLEW_FUN_EXPORT PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv; GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC __glewDrawTransformFeedbackInstanced; GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC __glewDrawTransformFeedbackStreamInstanced; GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB; GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB; GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB; GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB; GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEPROC __glewBindBufferBase; GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange; GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName; GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv; GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName; GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv; GLEW_FUN_EXPORT PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v; GLEW_FUN_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex; GLEW_FUN_EXPORT PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices; GLEW_FUN_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding; GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray; GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays; GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays; GLEW_FUN_EXPORT PFNGLISVERTEXARRAYPROC __glewIsVertexArray; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVPROC __glewGetVertexAttribLdv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DPROC __glewVertexAttribL1d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVPROC __glewVertexAttribL1dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DPROC __glewVertexAttribL2d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVPROC __glewVertexAttribL2dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DPROC __glewVertexAttribL3d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVPROC __glewVertexAttribL3dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DPROC __glewVertexAttribL4d; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVPROC __glewVertexAttribL4dv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTERPROC __glewVertexAttribLPointer; GLEW_FUN_EXPORT PFNGLBINDVERTEXBUFFERPROC __glewBindVertexBuffer; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBBINDINGPROC __glewVertexAttribBinding; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATPROC __glewVertexAttribFormat; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATPROC __glewVertexAttribIFormat; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATPROC __glewVertexAttribLFormat; GLEW_FUN_EXPORT PFNGLVERTEXBINDINGDIVISORPROC __glewVertexBindingDivisor; GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB; GLEW_FUN_EXPORT PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB; GLEW_FUN_EXPORT PFNGLWEIGHTBVARBPROC __glewWeightbvARB; GLEW_FUN_EXPORT PFNGLWEIGHTDVARBPROC __glewWeightdvARB; GLEW_FUN_EXPORT PFNGLWEIGHTFVARBPROC __glewWeightfvARB; GLEW_FUN_EXPORT PFNGLWEIGHTIVARBPROC __glewWeightivARB; GLEW_FUN_EXPORT PFNGLWEIGHTSVARBPROC __glewWeightsvARB; GLEW_FUN_EXPORT PFNGLWEIGHTUBVARBPROC __glewWeightubvARB; GLEW_FUN_EXPORT PFNGLWEIGHTUIVARBPROC __glewWeightuivARB; GLEW_FUN_EXPORT PFNGLWEIGHTUSVARBPROC __glewWeightusvARB; GLEW_FUN_EXPORT PFNGLBINDBUFFERARBPROC __glewBindBufferARB; GLEW_FUN_EXPORT PFNGLBUFFERDATAARBPROC __glewBufferDataARB; GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB; GLEW_FUN_EXPORT PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB; GLEW_FUN_EXPORT PFNGLGENBUFFERSARBPROC __glewGenBuffersARB; GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB; GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB; GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB; GLEW_FUN_EXPORT PFNGLISBUFFERARBPROC __glewIsBufferARB; GLEW_FUN_EXPORT PFNGLMAPBUFFERARBPROC __glewMapBufferARB; GLEW_FUN_EXPORT PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB; GLEW_FUN_EXPORT PFNGLBINDPROGRAMARBPROC __glewBindProgramARB; GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB; GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB; GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB; GLEW_FUN_EXPORT PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB; GLEW_FUN_EXPORT PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB; GLEW_FUN_EXPORT PFNGLISPROGRAMARBPROC __glewIsProgramARB; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB; GLEW_FUN_EXPORT PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB; GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB; GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB; GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB; GLEW_FUN_EXPORT PFNGLCOLORP3UIPROC __glewColorP3ui; GLEW_FUN_EXPORT PFNGLCOLORP3UIVPROC __glewColorP3uiv; GLEW_FUN_EXPORT PFNGLCOLORP4UIPROC __glewColorP4ui; GLEW_FUN_EXPORT PFNGLCOLORP4UIVPROC __glewColorP4uiv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv; GLEW_FUN_EXPORT PFNGLNORMALP3UIPROC __glewNormalP3ui; GLEW_FUN_EXPORT PFNGLNORMALP3UIVPROC __glewNormalP3uiv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui; GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv; GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui; GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv; GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui; GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv; GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui; GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv; GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui; GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv; GLEW_FUN_EXPORT PFNGLVERTEXP2UIPROC __glewVertexP2ui; GLEW_FUN_EXPORT PFNGLVERTEXP2UIVPROC __glewVertexP2uiv; GLEW_FUN_EXPORT PFNGLVERTEXP3UIPROC __glewVertexP3ui; GLEW_FUN_EXPORT PFNGLVERTEXP3UIVPROC __glewVertexP3uiv; GLEW_FUN_EXPORT PFNGLVERTEXP4UIPROC __glewVertexP4ui; GLEW_FUN_EXPORT PFNGLVERTEXP4UIVPROC __glewVertexP4uiv; GLEW_FUN_EXPORT PFNGLDEPTHRANGEARRAYVPROC __glewDepthRangeArrayv; GLEW_FUN_EXPORT PFNGLDEPTHRANGEINDEXEDPROC __glewDepthRangeIndexed; GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VPROC __glewGetDoublei_v; GLEW_FUN_EXPORT PFNGLGETFLOATI_VPROC __glewGetFloati_v; GLEW_FUN_EXPORT PFNGLSCISSORARRAYVPROC __glewScissorArrayv; GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDPROC __glewScissorIndexed; GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDVPROC __glewScissorIndexedv; GLEW_FUN_EXPORT PFNGLVIEWPORTARRAYVPROC __glewViewportArrayv; GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFPROC __glewViewportIndexedf; GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFVPROC __glewViewportIndexedfv; GLEW_FUN_EXPORT PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB; GLEW_FUN_EXPORT PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI; GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI; GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI; GLEW_FUN_EXPORT PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI; GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI; GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI; GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI; GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI; GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI; GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI; GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI; GLEW_FUN_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI; GLEW_FUN_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI; GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI; GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI; GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI; GLEW_FUN_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI; GLEW_FUN_EXPORT PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI; GLEW_FUN_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI; GLEW_FUN_EXPORT PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI; GLEW_FUN_EXPORT PFNGLSAMPLEMAPATIPROC __glewSampleMapATI; GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI; GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI; GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI; GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI; GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI; GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI; GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI; GLEW_FUN_EXPORT PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI; GLEW_FUN_EXPORT PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI; GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI; GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI; GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI; GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI; GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI; GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI; GLEW_FUN_EXPORT PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI; GLEW_FUN_EXPORT PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI; GLEW_FUN_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI; GLEW_FUN_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI; GLEW_FUN_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI; GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI; GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI; GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DATIPROC __glewVertexStream1dATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DVATIPROC __glewVertexStream1dvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FATIPROC __glewVertexStream1fATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FVATIPROC __glewVertexStream1fvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IATIPROC __glewVertexStream1iATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IVATIPROC __glewVertexStream1ivATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SATIPROC __glewVertexStream1sATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SVATIPROC __glewVertexStream1svATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI; GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI; GLEW_FUN_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT; GLEW_FUN_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT; GLEW_FUN_EXPORT PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT; GLEW_FUN_EXPORT PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT; GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT; GLEW_FUN_EXPORT PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT; GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT; GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT; GLEW_FUN_EXPORT PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT; GLEW_FUN_EXPORT PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT; GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT; GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT; GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT; GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT; GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT; GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT; GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT; GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT; GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT; GLEW_FUN_EXPORT PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT; GLEW_FUN_EXPORT PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT; GLEW_FUN_EXPORT PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT; GLEW_FUN_EXPORT PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT; GLEW_FUN_EXPORT PFNGLINSERTEVENTMARKEREXTPROC __glewInsertEventMarkerEXT; GLEW_FUN_EXPORT PFNGLPOPGROUPMARKEREXTPROC __glewPopGroupMarkerEXT; GLEW_FUN_EXPORT PFNGLPUSHGROUPMARKEREXTPROC __glewPushGroupMarkerEXT; GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT; GLEW_FUN_EXPORT PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT; GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT; GLEW_FUN_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT; GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT; GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT; GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT; GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT; GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT; GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT; GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT; GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT; GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT; GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT; GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT; GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT; GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT; GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT; GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT; GLEW_FUN_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT; GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT; GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT; GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT; GLEW_FUN_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT; GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT; GLEW_FUN_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT; GLEW_FUN_EXPORT PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT; GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT; GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT; GLEW_FUN_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT; GLEW_FUN_EXPORT PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT; GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT; GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT; GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT; GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT; GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT; GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT; GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT; GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT; GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT; GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT; GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT; GLEW_FUN_EXPORT PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT; GLEW_FUN_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT; GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT; GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT; GLEW_FUN_EXPORT PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT; GLEW_FUN_EXPORT PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT; GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT; GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT; GLEW_FUN_EXPORT PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT; GLEW_FUN_EXPORT PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT; GLEW_FUN_EXPORT PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT; GLEW_FUN_EXPORT PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT; GLEW_FUN_EXPORT PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT; GLEW_FUN_EXPORT PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT; GLEW_FUN_EXPORT PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT; GLEW_FUN_EXPORT PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT; GLEW_FUN_EXPORT PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT; GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT; GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT; GLEW_FUN_EXPORT PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT; GLEW_FUN_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT; GLEW_FUN_EXPORT PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT; GLEW_FUN_EXPORT PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT; GLEW_FUN_EXPORT PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT; GLEW_FUN_EXPORT PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT; GLEW_FUN_EXPORT PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT; GLEW_FUN_EXPORT PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT; GLEW_FUN_EXPORT PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT; GLEW_FUN_EXPORT PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT; GLEW_FUN_EXPORT PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT; GLEW_FUN_EXPORT PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT; GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT; GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT; GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT; GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT; GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT; GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT; GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT; GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT; GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT; GLEW_FUN_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT; GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT; GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT; GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT; GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT; GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT; GLEW_FUN_EXPORT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT; GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT; GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT; GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT; GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT; GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT; GLEW_FUN_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT; GLEW_FUN_EXPORT PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT; GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT; GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT; GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT; GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT; GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT; GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT; GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT; GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT; GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT; GLEW_FUN_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT; GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT; GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT; GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT; GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT; GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT; GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT; GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT; GLEW_FUN_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT; GLEW_FUN_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT; GLEW_FUN_EXPORT PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT; GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT; GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT; GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT; GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT; GLEW_FUN_EXPORT PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT; GLEW_FUN_EXPORT PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT; GLEW_FUN_EXPORT PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT; GLEW_FUN_EXPORT PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT; GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT; GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT; GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT; GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT; GLEW_FUN_EXPORT PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT; GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT; GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT; GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT; GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT; GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT; GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT; GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT; GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT; GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT; GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT; GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT; GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT; GLEW_FUN_EXPORT PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT; GLEW_FUN_EXPORT PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT; GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT; GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT; GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT; GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT; GLEW_FUN_EXPORT PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT; GLEW_FUN_EXPORT PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT; GLEW_FUN_EXPORT PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT; GLEW_FUN_EXPORT PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT; GLEW_FUN_EXPORT PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT; GLEW_FUN_EXPORT PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT; GLEW_FUN_EXPORT PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT; GLEW_FUN_EXPORT PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT; GLEW_FUN_EXPORT PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT; GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT; GLEW_FUN_EXPORT PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT; GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT; GLEW_FUN_EXPORT PFNGLHISTOGRAMEXTPROC __glewHistogramEXT; GLEW_FUN_EXPORT PFNGLMINMAXEXTPROC __glewMinmaxEXT; GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT; GLEW_FUN_EXPORT PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT; GLEW_FUN_EXPORT PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT; GLEW_FUN_EXPORT PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT; GLEW_FUN_EXPORT PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT; GLEW_FUN_EXPORT PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT; GLEW_FUN_EXPORT PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT; GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT; GLEW_FUN_EXPORT PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT; GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT; GLEW_FUN_EXPORT PFNGLCOLORTABLEEXTPROC __glewColorTableEXT; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT; GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT; GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT; GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT; GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT; GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT; GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT; GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT; GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT; GLEW_FUN_EXPORT PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT; GLEW_FUN_EXPORT PFNGLENDSCENEEXTPROC __glewEndSceneEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT; GLEW_FUN_EXPORT PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT; GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT; GLEW_FUN_EXPORT PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT; GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT; GLEW_FUN_EXPORT PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT; GLEW_FUN_EXPORT PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT; GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT; GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT; GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT; GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT; GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT; GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT; GLEW_FUN_EXPORT PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT; GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT; GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT; GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT; GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT; GLEW_FUN_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT; GLEW_FUN_EXPORT PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT; GLEW_FUN_EXPORT PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT; GLEW_FUN_EXPORT PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT; GLEW_FUN_EXPORT PFNGLISTEXTUREEXTPROC __glewIsTextureEXT; GLEW_FUN_EXPORT PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT; GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT; GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT; GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT; GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT; GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT; GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT; GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT; GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT; GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT; GLEW_FUN_EXPORT PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT; GLEW_FUN_EXPORT PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT; GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT; GLEW_FUN_EXPORT PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT; GLEW_FUN_EXPORT PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT; GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT; GLEW_FUN_EXPORT PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT; GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT; GLEW_FUN_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT; GLEW_FUN_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT; GLEW_FUN_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT; GLEW_FUN_EXPORT PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT; GLEW_FUN_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT; GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT; GLEW_FUN_EXPORT PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT; GLEW_FUN_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT; GLEW_FUN_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT; GLEW_FUN_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT; GLEW_FUN_EXPORT PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT; GLEW_FUN_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT; GLEW_FUN_EXPORT PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT; GLEW_FUN_EXPORT PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT; GLEW_FUN_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT; GLEW_FUN_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT; GLEW_FUN_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT; GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT; GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT; GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT; GLEW_FUN_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT; GLEW_FUN_EXPORT PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT; GLEW_FUN_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT; GLEW_FUN_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT; GLEW_FUN_EXPORT PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT; GLEW_FUN_EXPORT PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT; GLEW_FUN_EXPORT PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT; GLEW_FUN_EXPORT PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT; GLEW_FUN_EXPORT PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT; GLEW_FUN_EXPORT PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT; GLEW_FUN_EXPORT PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT; GLEW_FUN_EXPORT PFNGLSWIZZLEEXTPROC __glewSwizzleEXT; GLEW_FUN_EXPORT PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT; GLEW_FUN_EXPORT PFNGLVARIANTBVEXTPROC __glewVariantbvEXT; GLEW_FUN_EXPORT PFNGLVARIANTDVEXTPROC __glewVariantdvEXT; GLEW_FUN_EXPORT PFNGLVARIANTFVEXTPROC __glewVariantfvEXT; GLEW_FUN_EXPORT PFNGLVARIANTIVEXTPROC __glewVariantivEXT; GLEW_FUN_EXPORT PFNGLVARIANTSVEXTPROC __glewVariantsvEXT; GLEW_FUN_EXPORT PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT; GLEW_FUN_EXPORT PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT; GLEW_FUN_EXPORT PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT; GLEW_FUN_EXPORT PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT; GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT; GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT; GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT; GLEW_FUN_EXPORT PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT; GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY; GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY; GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP; GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP; GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP; GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP; GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP; GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP; GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM; GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM; GLEW_FUN_EXPORT PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM; GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM; GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM; GLEW_FUN_EXPORT PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM; GLEW_FUN_EXPORT PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM; GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM; GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM; GLEW_FUN_EXPORT PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM; GLEW_FUN_EXPORT PFNGLMAPTEXTURE2DINTELPROC __glewMapTexture2DINTEL; GLEW_FUN_EXPORT PFNGLSYNCTEXTUREINTELPROC __glewSyncTextureINTEL; GLEW_FUN_EXPORT PFNGLUNMAPTEXTURE2DINTELPROC __glewUnmapTexture2DINTEL; GLEW_FUN_EXPORT PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL; GLEW_FUN_EXPORT PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL; GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL; GLEW_FUN_EXPORT PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL; GLEW_FUN_EXPORT PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL; GLEW_FUN_EXPORT PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKPROC __glewDebugMessageCallback; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECONTROLPROC __glewDebugMessageControl; GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTPROC __glewDebugMessageInsert; GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGPROC __glewGetDebugMessageLog; GLEW_FUN_EXPORT PFNGLGETOBJECTLABELPROC __glewGetObjectLabel; GLEW_FUN_EXPORT PFNGLGETOBJECTPTRLABELPROC __glewGetObjectPtrLabel; GLEW_FUN_EXPORT PFNGLOBJECTLABELPROC __glewObjectLabel; GLEW_FUN_EXPORT PFNGLOBJECTPTRLABELPROC __glewObjectPtrLabel; GLEW_FUN_EXPORT PFNGLPOPDEBUGGROUPPROC __glewPopDebugGroup; GLEW_FUN_EXPORT PFNGLPUSHDEBUGGROUPPROC __glewPushDebugGroup; GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDPROC __glewBufferRegionEnabled; GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONPROC __glewDeleteBufferRegion; GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONPROC __glewDrawBufferRegion; GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONPROC __glewNewBufferRegion; GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONPROC __glewReadBufferRegion; GLEW_FUN_EXPORT PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA; GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVXPROC __glewBeginConditionalRenderNVX; GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVXPROC __glewEndConditionalRenderNVX; GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC __glewMultiDrawArraysIndirectBindlessNV; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC __glewMultiDrawElementsIndirectBindlessNV; GLEW_FUN_EXPORT PFNGLGETIMAGEHANDLENVPROC __glewGetImageHandleNV; GLEW_FUN_EXPORT PFNGLGETTEXTUREHANDLENVPROC __glewGetTextureHandleNV; GLEW_FUN_EXPORT PFNGLGETTEXTURESAMPLERHANDLENVPROC __glewGetTextureSamplerHandleNV; GLEW_FUN_EXPORT PFNGLISIMAGEHANDLERESIDENTNVPROC __glewIsImageHandleResidentNV; GLEW_FUN_EXPORT PFNGLISTEXTUREHANDLERESIDENTNVPROC __glewIsTextureHandleResidentNV; GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC __glewMakeImageHandleNonResidentNV; GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLERESIDENTNVPROC __glewMakeImageHandleResidentNV; GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC __glewMakeTextureHandleNonResidentNV; GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLERESIDENTNVPROC __glewMakeTextureHandleResidentNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC __glewProgramUniformHandleui64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC __glewProgramUniformHandleui64vNV; GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64NVPROC __glewUniformHandleui64NV; GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64VNVPROC __glewUniformHandleui64vNV; GLEW_FUN_EXPORT PFNGLBLENDBARRIERNVPROC __glewBlendBarrierNV; GLEW_FUN_EXPORT PFNGLBLENDPARAMETERINVPROC __glewBlendParameteriNV; GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV; GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV; GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV; GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV; GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV; GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV; GLEW_FUN_EXPORT PFNGLDRAWTEXTURENVPROC __glewDrawTextureNV; GLEW_FUN_EXPORT PFNGLEVALMAPSNVPROC __glewEvalMapsNV; GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV; GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV; GLEW_FUN_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV; GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV; GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV; GLEW_FUN_EXPORT PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV; GLEW_FUN_EXPORT PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV; GLEW_FUN_EXPORT PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV; GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV; GLEW_FUN_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV; GLEW_FUN_EXPORT PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV; GLEW_FUN_EXPORT PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV; GLEW_FUN_EXPORT PFNGLFINISHFENCENVPROC __glewFinishFenceNV; GLEW_FUN_EXPORT PFNGLGENFENCESNVPROC __glewGenFencesNV; GLEW_FUN_EXPORT PFNGLGETFENCEIVNVPROC __glewGetFenceivNV; GLEW_FUN_EXPORT PFNGLISFENCENVPROC __glewIsFenceNV; GLEW_FUN_EXPORT PFNGLSETFENCENVPROC __glewSetFenceNV; GLEW_FUN_EXPORT PFNGLTESTFENCENVPROC __glewTestFenceNV; GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV; GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV; GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV; GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV; GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV; GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV; GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV; GLEW_FUN_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV; GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV; GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV; GLEW_FUN_EXPORT PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV; GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV; GLEW_FUN_EXPORT PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV; GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV; GLEW_FUN_EXPORT PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV; GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV; GLEW_FUN_EXPORT PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV; GLEW_FUN_EXPORT PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV; GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV; GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV; GLEW_FUN_EXPORT PFNGLCOLOR3HVNVPROC __glewColor3hvNV; GLEW_FUN_EXPORT PFNGLCOLOR4HNVPROC __glewColor4hNV; GLEW_FUN_EXPORT PFNGLCOLOR4HVNVPROC __glewColor4hvNV; GLEW_FUN_EXPORT PFNGLFOGCOORDHNVPROC __glewFogCoordhNV; GLEW_FUN_EXPORT PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV; GLEW_FUN_EXPORT PFNGLNORMAL3HNVPROC __glewNormal3hNV; GLEW_FUN_EXPORT PFNGLNORMAL3HVNVPROC __glewNormal3hvNV; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV; GLEW_FUN_EXPORT PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV; GLEW_FUN_EXPORT PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV; GLEW_FUN_EXPORT PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV; GLEW_FUN_EXPORT PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV; GLEW_FUN_EXPORT PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV; GLEW_FUN_EXPORT PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV; GLEW_FUN_EXPORT PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV; GLEW_FUN_EXPORT PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV; GLEW_FUN_EXPORT PFNGLVERTEX2HNVPROC __glewVertex2hNV; GLEW_FUN_EXPORT PFNGLVERTEX2HVNVPROC __glewVertex2hvNV; GLEW_FUN_EXPORT PFNGLVERTEX3HNVPROC __glewVertex3hNV; GLEW_FUN_EXPORT PFNGLVERTEX3HVNVPROC __glewVertex3hvNV; GLEW_FUN_EXPORT PFNGLVERTEX4HNVPROC __glewVertex4hNV; GLEW_FUN_EXPORT PFNGLVERTEX4HVNVPROC __glewVertex4hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV; GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV; GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV; GLEW_FUN_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV; GLEW_FUN_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV; GLEW_FUN_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV; GLEW_FUN_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV; GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV; GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV; GLEW_FUN_EXPORT PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV; GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV; GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV; GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV; GLEW_FUN_EXPORT PFNGLCOPYPATHNVPROC __glewCopyPathNV; GLEW_FUN_EXPORT PFNGLCOVERFILLPATHINSTANCEDNVPROC __glewCoverFillPathInstancedNV; GLEW_FUN_EXPORT PFNGLCOVERFILLPATHNVPROC __glewCoverFillPathNV; GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHINSTANCEDNVPROC __glewCoverStrokePathInstancedNV; GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHNVPROC __glewCoverStrokePathNV; GLEW_FUN_EXPORT PFNGLDELETEPATHSNVPROC __glewDeletePathsNV; GLEW_FUN_EXPORT PFNGLGENPATHSNVPROC __glewGenPathsNV; GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENFVNVPROC __glewGetPathColorGenfvNV; GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENIVNVPROC __glewGetPathColorGenivNV; GLEW_FUN_EXPORT PFNGLGETPATHCOMMANDSNVPROC __glewGetPathCommandsNV; GLEW_FUN_EXPORT PFNGLGETPATHCOORDSNVPROC __glewGetPathCoordsNV; GLEW_FUN_EXPORT PFNGLGETPATHDASHARRAYNVPROC __glewGetPathDashArrayNV; GLEW_FUN_EXPORT PFNGLGETPATHLENGTHNVPROC __glewGetPathLengthNV; GLEW_FUN_EXPORT PFNGLGETPATHMETRICRANGENVPROC __glewGetPathMetricRangeNV; GLEW_FUN_EXPORT PFNGLGETPATHMETRICSNVPROC __glewGetPathMetricsNV; GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERFVNVPROC __glewGetPathParameterfvNV; GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERIVNVPROC __glewGetPathParameterivNV; GLEW_FUN_EXPORT PFNGLGETPATHSPACINGNVPROC __glewGetPathSpacingNV; GLEW_FUN_EXPORT PFNGLGETPATHTEXGENFVNVPROC __glewGetPathTexGenfvNV; GLEW_FUN_EXPORT PFNGLGETPATHTEXGENIVNVPROC __glewGetPathTexGenivNV; GLEW_FUN_EXPORT PFNGLINTERPOLATEPATHSNVPROC __glewInterpolatePathsNV; GLEW_FUN_EXPORT PFNGLISPATHNVPROC __glewIsPathNV; GLEW_FUN_EXPORT PFNGLISPOINTINFILLPATHNVPROC __glewIsPointInFillPathNV; GLEW_FUN_EXPORT PFNGLISPOINTINSTROKEPATHNVPROC __glewIsPointInStrokePathNV; GLEW_FUN_EXPORT PFNGLPATHCOLORGENNVPROC __glewPathColorGenNV; GLEW_FUN_EXPORT PFNGLPATHCOMMANDSNVPROC __glewPathCommandsNV; GLEW_FUN_EXPORT PFNGLPATHCOORDSNVPROC __glewPathCoordsNV; GLEW_FUN_EXPORT PFNGLPATHCOVERDEPTHFUNCNVPROC __glewPathCoverDepthFuncNV; GLEW_FUN_EXPORT PFNGLPATHDASHARRAYNVPROC __glewPathDashArrayNV; GLEW_FUN_EXPORT PFNGLPATHFOGGENNVPROC __glewPathFogGenNV; GLEW_FUN_EXPORT PFNGLPATHGLYPHRANGENVPROC __glewPathGlyphRangeNV; GLEW_FUN_EXPORT PFNGLPATHGLYPHSNVPROC __glewPathGlyphsNV; GLEW_FUN_EXPORT PFNGLPATHPARAMETERFNVPROC __glewPathParameterfNV; GLEW_FUN_EXPORT PFNGLPATHPARAMETERFVNVPROC __glewPathParameterfvNV; GLEW_FUN_EXPORT PFNGLPATHPARAMETERINVPROC __glewPathParameteriNV; GLEW_FUN_EXPORT PFNGLPATHPARAMETERIVNVPROC __glewPathParameterivNV; GLEW_FUN_EXPORT PFNGLPATHSTENCILDEPTHOFFSETNVPROC __glewPathStencilDepthOffsetNV; GLEW_FUN_EXPORT PFNGLPATHSTENCILFUNCNVPROC __glewPathStencilFuncNV; GLEW_FUN_EXPORT PFNGLPATHSTRINGNVPROC __glewPathStringNV; GLEW_FUN_EXPORT PFNGLPATHSUBCOMMANDSNVPROC __glewPathSubCommandsNV; GLEW_FUN_EXPORT PFNGLPATHSUBCOORDSNVPROC __glewPathSubCoordsNV; GLEW_FUN_EXPORT PFNGLPATHTEXGENNVPROC __glewPathTexGenNV; GLEW_FUN_EXPORT PFNGLPOINTALONGPATHNVPROC __glewPointAlongPathNV; GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHINSTANCEDNVPROC __glewStencilFillPathInstancedNV; GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHNVPROC __glewStencilFillPathNV; GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC __glewStencilStrokePathInstancedNV; GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHNVPROC __glewStencilStrokePathNV; GLEW_FUN_EXPORT PFNGLTRANSFORMPATHNVPROC __glewTransformPathNV; GLEW_FUN_EXPORT PFNGLWEIGHTPATHSNVPROC __glewWeightPathsNV; GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV; GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV; GLEW_FUN_EXPORT PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV; GLEW_FUN_EXPORT PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV; GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV; GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV; GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV; GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV; GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV; GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV; GLEW_FUN_EXPORT PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV; GLEW_FUN_EXPORT PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV; GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV; GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV; GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV; GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV; GLEW_FUN_EXPORT PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV; GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV; GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV; GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV; GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV; GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV; GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV; GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV; GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV; GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV; GLEW_FUN_EXPORT PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV; GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV; GLEW_FUN_EXPORT PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV; GLEW_FUN_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV; GLEW_FUN_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV; GLEW_FUN_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV; GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV; GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV; GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV; GLEW_FUN_EXPORT PFNGLUNIFORMUI64NVPROC __glewUniformui64NV; GLEW_FUN_EXPORT PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV; GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV; GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV; GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV; GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV; GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV; GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV; GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV; GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV; GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV; GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV; GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV; GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV; GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV; GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV; GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV; GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV; GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV; GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV; GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLVDPAUFININVPROC __glewVDPAUFiniNV; GLEW_FUN_EXPORT PFNGLVDPAUGETSURFACEIVNVPROC __glewVDPAUGetSurfaceivNV; GLEW_FUN_EXPORT PFNGLVDPAUINITNVPROC __glewVDPAUInitNV; GLEW_FUN_EXPORT PFNGLVDPAUISSURFACENVPROC __glewVDPAUIsSurfaceNV; GLEW_FUN_EXPORT PFNGLVDPAUMAPSURFACESNVPROC __glewVDPAUMapSurfacesNV; GLEW_FUN_EXPORT PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC __glewVDPAURegisterOutputSurfaceNV; GLEW_FUN_EXPORT PFNGLVDPAUREGISTERVIDEOSURFACENVPROC __glewVDPAURegisterVideoSurfaceNV; GLEW_FUN_EXPORT PFNGLVDPAUSURFACEACCESSNVPROC __glewVDPAUSurfaceAccessNV; GLEW_FUN_EXPORT PFNGLVDPAUUNMAPSURFACESNVPROC __glewVDPAUUnmapSurfacesNV; GLEW_FUN_EXPORT PFNGLVDPAUUNREGISTERSURFACENVPROC __glewVDPAUUnregisterSurfaceNV; GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV; GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV; GLEW_FUN_EXPORT PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV; GLEW_FUN_EXPORT PFNGLCOLORFORMATNVPROC __glewColorFormatNV; GLEW_FUN_EXPORT PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV; GLEW_FUN_EXPORT PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV; GLEW_FUN_EXPORT PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV; GLEW_FUN_EXPORT PFNGLINDEXFORMATNVPROC __glewIndexFormatNV; GLEW_FUN_EXPORT PFNGLNORMALFORMATNVPROC __glewNormalFormatNV; GLEW_FUN_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV; GLEW_FUN_EXPORT PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV; GLEW_FUN_EXPORT PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV; GLEW_FUN_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV; GLEW_FUN_EXPORT PFNGLBINDPROGRAMNVPROC __glewBindProgramNV; GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV; GLEW_FUN_EXPORT PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV; GLEW_FUN_EXPORT PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV; GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV; GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV; GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV; GLEW_FUN_EXPORT PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV; GLEW_FUN_EXPORT PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV; GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV; GLEW_FUN_EXPORT PFNGLISPROGRAMNVPROC __glewIsProgramNV; GLEW_FUN_EXPORT PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV; GLEW_FUN_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV; GLEW_FUN_EXPORT PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV; GLEW_FUN_EXPORT PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV; GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV; GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV; GLEW_FUN_EXPORT PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV; GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV; GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV; GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV; GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV; GLEW_FUN_EXPORT PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV; GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV; GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV; GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV; GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES; GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES; GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES; GLEW_FUN_EXPORT PFNGLFRUSTUMFOESPROC __glewFrustumfOES; GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES; GLEW_FUN_EXPORT PFNGLORTHOFOESPROC __glewOrthofOES; GLEW_FUN_EXPORT PFNGLALPHAFUNCXPROC __glewAlphaFuncx; GLEW_FUN_EXPORT PFNGLCLEARCOLORXPROC __glewClearColorx; GLEW_FUN_EXPORT PFNGLCLEARDEPTHXPROC __glewClearDepthx; GLEW_FUN_EXPORT PFNGLCOLOR4XPROC __glewColor4x; GLEW_FUN_EXPORT PFNGLDEPTHRANGEXPROC __glewDepthRangex; GLEW_FUN_EXPORT PFNGLFOGXPROC __glewFogx; GLEW_FUN_EXPORT PFNGLFOGXVPROC __glewFogxv; GLEW_FUN_EXPORT PFNGLFRUSTUMFPROC __glewFrustumf; GLEW_FUN_EXPORT PFNGLFRUSTUMXPROC __glewFrustumx; GLEW_FUN_EXPORT PFNGLLIGHTMODELXPROC __glewLightModelx; GLEW_FUN_EXPORT PFNGLLIGHTMODELXVPROC __glewLightModelxv; GLEW_FUN_EXPORT PFNGLLIGHTXPROC __glewLightx; GLEW_FUN_EXPORT PFNGLLIGHTXVPROC __glewLightxv; GLEW_FUN_EXPORT PFNGLLINEWIDTHXPROC __glewLineWidthx; GLEW_FUN_EXPORT PFNGLLOADMATRIXXPROC __glewLoadMatrixx; GLEW_FUN_EXPORT PFNGLMATERIALXPROC __glewMaterialx; GLEW_FUN_EXPORT PFNGLMATERIALXVPROC __glewMaterialxv; GLEW_FUN_EXPORT PFNGLMULTMATRIXXPROC __glewMultMatrixx; GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4XPROC __glewMultiTexCoord4x; GLEW_FUN_EXPORT PFNGLNORMAL3XPROC __glewNormal3x; GLEW_FUN_EXPORT PFNGLORTHOFPROC __glewOrthof; GLEW_FUN_EXPORT PFNGLORTHOXPROC __glewOrthox; GLEW_FUN_EXPORT PFNGLPOINTSIZEXPROC __glewPointSizex; GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETXPROC __glewPolygonOffsetx; GLEW_FUN_EXPORT PFNGLROTATEXPROC __glewRotatex; GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEXPROC __glewSampleCoveragex; GLEW_FUN_EXPORT PFNGLSCALEXPROC __glewScalex; GLEW_FUN_EXPORT PFNGLTEXENVXPROC __glewTexEnvx; GLEW_FUN_EXPORT PFNGLTEXENVXVPROC __glewTexEnvxv; GLEW_FUN_EXPORT PFNGLTEXPARAMETERXPROC __glewTexParameterx; GLEW_FUN_EXPORT PFNGLTRANSLATEXPROC __glewTranslatex; GLEW_FUN_EXPORT PFNGLCLIPPLANEFPROC __glewClipPlanef; GLEW_FUN_EXPORT PFNGLCLIPPLANEXPROC __glewClipPlanex; GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFPROC __glewGetClipPlanef; GLEW_FUN_EXPORT PFNGLGETCLIPPLANEXPROC __glewGetClipPlanex; GLEW_FUN_EXPORT PFNGLGETFIXEDVPROC __glewGetFixedv; GLEW_FUN_EXPORT PFNGLGETLIGHTXVPROC __glewGetLightxv; GLEW_FUN_EXPORT PFNGLGETMATERIALXVPROC __glewGetMaterialxv; GLEW_FUN_EXPORT PFNGLGETTEXENVXVPROC __glewGetTexEnvxv; GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERXVPROC __glewGetTexParameterxv; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERXPROC __glewPointParameterx; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERXVPROC __glewPointParameterxv; GLEW_FUN_EXPORT PFNGLPOINTSIZEPOINTEROESPROC __glewPointSizePointerOES; GLEW_FUN_EXPORT PFNGLTEXPARAMETERXVPROC __glewTexParameterxv; GLEW_FUN_EXPORT PFNGLERRORSTRINGREGALPROC __glewErrorStringREGAL; GLEW_FUN_EXPORT PFNGLGETEXTENSIONREGALPROC __glewGetExtensionREGAL; GLEW_FUN_EXPORT PFNGLISSUPPORTEDREGALPROC __glewIsSupportedREGAL; GLEW_FUN_EXPORT PFNGLLOGMESSAGECALLBACKREGALPROC __glewLogMessageCallbackREGAL; GLEW_FUN_EXPORT PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS; GLEW_FUN_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS; GLEW_FUN_EXPORT PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS; GLEW_FUN_EXPORT PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS; GLEW_FUN_EXPORT PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS; GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS; GLEW_FUN_EXPORT PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS; GLEW_FUN_EXPORT PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS; GLEW_FUN_EXPORT PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS; GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS; GLEW_FUN_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS; GLEW_FUN_EXPORT PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS; GLEW_FUN_EXPORT PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX; GLEW_FUN_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX; GLEW_FUN_EXPORT PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX; GLEW_FUN_EXPORT PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX; GLEW_FUN_EXPORT PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX; GLEW_FUN_EXPORT PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX; GLEW_FUN_EXPORT PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX; GLEW_FUN_EXPORT PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX; GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX; GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX; GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX; GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX; GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX; GLEW_FUN_EXPORT PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX; GLEW_FUN_EXPORT PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX; GLEW_FUN_EXPORT PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX; GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX; GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX; GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX; GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX; GLEW_FUN_EXPORT PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX; GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI; GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI; GLEW_FUN_EXPORT PFNGLCOLORTABLESGIPROC __glewColorTableSGI; GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI; GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI; GLEW_FUN_EXPORT PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI; GLEW_FUN_EXPORT PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN; GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN; GLEW_FUN_EXPORT PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN; GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN; GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN; GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN; GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN; GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN; GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN; GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN; GLEW_FUN_EXPORT PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN; #if defined(GLEW_MX) && !defined(_WIN32) struct GLEWContextStruct { #endif /* GLEW_MX */ GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2_1; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_3; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_4; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_0; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_1; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_2; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_3; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_0; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_1; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_2; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_3; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_4; GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer; GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_blend_minmax_factor; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_conservative_depth; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_debug_output; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_depth_clamp_separate; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_draw_buffers_blend; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_interleaved_elements; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_multi_draw_indirect; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_name_gen_delete; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_performance_monitor; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_pinned_memory; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_query_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sample_positions; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_seamless_cubemap_per_texture; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_export; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_trinary_minmax; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sparse_texture; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_stencil_operation_extended; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_texture4; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_transform_feedback3_lines_triangles; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_layer; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_tessellator; GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_viewport_index; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_depth_texture; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_framebuffer_blit; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_framebuffer_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_instanced_arrays; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_pack_reverse_row_order; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_program_binary; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt1; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt3; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt5; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_usage; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_timer_query; GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_translated_shader_source; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_aux_depth_stencil; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_client_storage; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_element_array; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_object_purgeable; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_rgb_422; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_row_bytes; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_transform_hint; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_object; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_range; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_program_evaluators; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_ycbcr_422; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES2_compatibility; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES3_compatibility; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_arrays_of_arrays; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_base_instance; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_bindless_texture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_blend_func_extended; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_buffer_storage; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_cl_event; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clear_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clear_texture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_color_buffer_float; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compatibility; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compressed_texture_pixel_storage; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compute_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compute_variable_group_size; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_conservative_depth; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_buffer; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_image; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_debug_output; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_buffer_float; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_texture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers_blend; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_elements_base_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_indirect; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_instanced; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_enhanced_layouts; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_attrib_location; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_uniform_location; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_coord_conventions; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_layer_viewport; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program_shadow; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_no_attachments; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_sRGB; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_geometry_shader4; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_get_program_binary; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader5; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_fp64; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_pixel; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_imaging; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_indirect_parameters; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_instanced_arrays; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_internalformat_query; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_internalformat_query2; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_invalidate_subdata; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_alignment; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_range; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_matrix_palette; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multi_bind; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multi_draw_indirect; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query2; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_program_interface_query; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_provoking_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_query_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robust_buffer_access_behavior; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness_application_isolation; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness_share_group_isolation; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_shading; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sampler_objects; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cube_map; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cubemap_per_texture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_separate_shader_objects; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_atomic_counters; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_bit_encoding; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_draw_parameters; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_group_vote; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_image_load_store; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_image_size; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_objects; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_precision; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_stencil_export; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_storage_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_subroutine; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_lod; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_100; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_420pack; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_include; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_packing; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow_ambient; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_texture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_stencil_texturing; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sync; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_tessellation_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_border_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object_rgb32; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_range; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_bptc; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_rgtc; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map_array; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_add; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_combine; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_crossbar; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_dot3; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_float; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_gather; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirror_clamp_to_edge; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirrored_repeat; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_non_power_of_two; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_levels; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_lod; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rectangle; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rg; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rgb10_a2ui; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_stencil8; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_storage; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_storage_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_swizzle; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_view; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_timer_query; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback2; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback3; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback_instanced; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transpose_matrix; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_uniform_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_bgra; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_attrib_64bit; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_attrib_binding; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_blend; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_program; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_10f_11f_11f_rev; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_viewport_array; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_window_pos; GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_point_sprites; GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_combine3; GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_route; GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_vertex_shader_output_point_size; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_draw_buffers; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_element_array; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_envmap_bumpmap; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_fragment_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_map_object_buffer; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_meminfo; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_text_fragment_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_compression_3dc; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_env_combine3; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_float; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_mirror_once; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_array_object; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_attrib_array_object; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_streams; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_422_pixels; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_Cg_shader; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_abgr; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bgra; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bindable_uniform; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_color; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_equation_separate; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_func_separate; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_logic_op; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_minmax; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_subtract; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clip_volume_hint; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cmyka; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_subtable; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_compiled_vertex_array; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_convolution; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_coordinate_frame; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_texture; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_debug_marker; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_direct_state_access; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample_blit_scaled; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_program_parameters; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader4; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_histogram; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_array_formats; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_func; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_material; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_texture; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_light_texture; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_misc_attribute; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_arrays; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_depth_stencil; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_float; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_pixels; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_paletted_texture; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform_color_table; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_point_parameters; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_provoking_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_rescale_normal; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_scene_marker; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_secondary_color; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_shader_objects; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_specular_color; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_store; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_two_side; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_wrap; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_subtexture; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture3D; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_array; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_dxt1; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_latc; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_rgtc; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_s3tc; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_edge_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_add; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_combine; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_dot3; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_anisotropic; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_integer; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_lod_bias; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_mirror_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_object; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB_decode; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_snorm; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_swizzle; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_transform_feedback; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_attrib_64bit; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_x11_sync_object; GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator; GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker; GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes; GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform; GLEW_VAR_EXPORT GLboolean __GLEW_HP_occlusion_test; GLEW_VAR_EXPORT GLboolean __GLEW_HP_texture_lighting; GLEW_VAR_EXPORT GLboolean __GLEW_IBM_cull_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_IBM_multimode_draw_arrays; GLEW_VAR_EXPORT GLboolean __GLEW_IBM_rasterpos_clip; GLEW_VAR_EXPORT GLboolean __GLEW_IBM_static_data; GLEW_VAR_EXPORT GLboolean __GLEW_IBM_texture_mirrored_repeat; GLEW_VAR_EXPORT GLboolean __GLEW_IBM_vertex_array_lists; GLEW_VAR_EXPORT GLboolean __GLEW_INGR_color_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_INGR_interlace_read; GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_map_texture; GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_parallel_arrays; GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_texture_scissor; GLEW_VAR_EXPORT GLboolean __GLEW_KHR_debug; GLEW_VAR_EXPORT GLboolean __GLEW_KHR_texture_compression_astc_ldr; GLEW_VAR_EXPORT GLboolean __GLEW_KTX_buffer_region; GLEW_VAR_EXPORT GLboolean __GLEW_MESAX_texture_stack; GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert; GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers; GLEW_VAR_EXPORT GLboolean __GLEW_MESA_window_pos; GLEW_VAR_EXPORT GLboolean __GLEW_MESA_ycbcr_texture; GLEW_VAR_EXPORT GLboolean __GLEW_NVX_conditional_render; GLEW_VAR_EXPORT GLboolean __GLEW_NVX_gpu_memory_info; GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_multi_draw_indirect; GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_texture; GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_equation_advanced; GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_equation_advanced_coherent; GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square; GLEW_VAR_EXPORT GLboolean __GLEW_NV_compute_program5; GLEW_VAR_EXPORT GLboolean __GLEW_NV_conditional_render; GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color; GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_image; GLEW_VAR_EXPORT GLboolean __GLEW_NV_deep_texture3D; GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float; GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped; GLEW_VAR_EXPORT GLboolean __GLEW_NV_draw_texture; GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators; GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence; GLEW_VAR_EXPORT GLboolean __GLEW_NV_float_buffer; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fog_distance; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program_option; GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage; GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5; GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5_mem_extended; GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program_fp64; GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_shader5; GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float; GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent; GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_coverage; GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_filter_hint; GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query; GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil; GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_path_rendering; GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range; GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite; GLEW_VAR_EXPORT GLboolean __GLEW_NV_present_video; GLEW_VAR_EXPORT GLboolean __GLEW_NV_primitive_restart; GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners; GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_counters; GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_float; GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_buffer_load; GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_storage_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_NV_tessellation_program5; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_emboss; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_reflection; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_barrier; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3; GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback; GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vdpau_interop; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_attrib_integer_64bit; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_buffer_unified_memory; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program1_1; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_video_capture; GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates; GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture; GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format; GLEW_VAR_EXPORT GLboolean __GLEW_OES_single_precision; GLEW_VAR_EXPORT GLboolean __GLEW_OML_interlace; GLEW_VAR_EXPORT GLboolean __GLEW_OML_resample; GLEW_VAR_EXPORT GLboolean __GLEW_OML_subsample; GLEW_VAR_EXPORT GLboolean __GLEW_PGI_misc_hints; GLEW_VAR_EXPORT GLboolean __GLEW_PGI_vertex_hints; GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_ES1_0_compatibility; GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_ES1_1_compatibility; GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_enable; GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_error_string; GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_extension_query; GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_log; GLEW_VAR_EXPORT GLboolean __GLEW_REND_screen_coordinates; GLEW_VAR_EXPORT GLboolean __GLEW_S3_s3tc; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_color_range; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_detail_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_fog_function; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_generate_mipmap; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_pixel_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_point_line_texgen; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_sharpen_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture4D; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_border_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_edge_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_filter4; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_lod; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_select; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_histogram; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_pixel; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_alpha_minmax; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_clipmap; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_convolution_accuracy; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_flush_raster; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_offset; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragment_specular_lighting; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_framezoom; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_interlace; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ir_instrument1; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_list_priority; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture_bits; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_reference_plane; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_resample; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow_ambient; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_sprite; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_tag_sample_buffer; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_add_env; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_coordinate_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_lod_bias; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_multi_buffer; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_range; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_scale_bias; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip_hint; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcb; GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_matrix; GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_table; GLEW_VAR_EXPORT GLboolean __GLEW_SGI_texture_color_table; GLEW_VAR_EXPORT GLboolean __GLEW_SUNX_constant_data; GLEW_VAR_EXPORT GLboolean __GLEW_SUN_convolution_border_modes; GLEW_VAR_EXPORT GLboolean __GLEW_SUN_global_alpha; GLEW_VAR_EXPORT GLboolean __GLEW_SUN_mesh_array; GLEW_VAR_EXPORT GLboolean __GLEW_SUN_read_video_pixels; GLEW_VAR_EXPORT GLboolean __GLEW_SUN_slice_accum; GLEW_VAR_EXPORT GLboolean __GLEW_SUN_triangle_list; GLEW_VAR_EXPORT GLboolean __GLEW_SUN_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_WIN_phong_shading; GLEW_VAR_EXPORT GLboolean __GLEW_WIN_specular_fog; GLEW_VAR_EXPORT GLboolean __GLEW_WIN_swap_hint; #ifdef GLEW_MX }; /* GLEWContextStruct */ #endif /* GLEW_MX */ /* ------------------------------------------------------------------------- */ /* error codes */ #define GLEW_OK 0 #define GLEW_NO_ERROR 0 #define GLEW_ERROR_NO_GL_VERSION 1 /* missing GL version */ #define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* Need at least OpenGL 1.1 */ #define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* Need at least GLX 1.2 */ /* string codes */ #define GLEW_VERSION 1 #define GLEW_VERSION_MAJOR 2 #define GLEW_VERSION_MINOR 3 #define GLEW_VERSION_MICRO 4 /* API */ #ifdef GLEW_MX typedef struct GLEWContextStruct GLEWContext; GLEWAPI GLenum GLEWAPIENTRY glewContextInit (GLEWContext *ctx); GLEWAPI GLboolean GLEWAPIENTRY glewContextIsSupported (const GLEWContext *ctx, const char *name); #define glewInit() glewContextInit(glewGetContext()) #define glewIsSupported(x) glewContextIsSupported(glewGetContext(), x) #define glewIsExtensionSupported(x) glewIsSupported(x) #define GLEW_GET_VAR(x) (*(const GLboolean*)&(glewGetContext()->x)) #ifdef _WIN32 # define GLEW_GET_FUN(x) glewGetContext()->x #else # define GLEW_GET_FUN(x) x #endif #else /* GLEW_MX */ GLEWAPI GLenum GLEWAPIENTRY glewInit (void); GLEWAPI GLboolean GLEWAPIENTRY glewIsSupported (const char *name); #define glewIsExtensionSupported(x) glewIsSupported(x) #define GLEW_GET_VAR(x) (*(const GLboolean*)&x) #define GLEW_GET_FUN(x) x #endif /* GLEW_MX */ GLEWAPI GLboolean glewExperimental; GLEWAPI GLboolean GLEWAPIENTRY glewGetExtension (const char *name); GLEWAPI const GLubyte * GLEWAPIENTRY glewGetErrorString (GLenum error); GLEWAPI const GLubyte * GLEWAPIENTRY glewGetString (GLenum name); #ifdef __cplusplus } #endif #ifdef GLEW_APIENTRY_DEFINED #undef GLEW_APIENTRY_DEFINED #undef APIENTRY #undef GLAPIENTRY #define GLAPIENTRY #endif #ifdef GLEW_CALLBACK_DEFINED #undef GLEW_CALLBACK_DEFINED #undef CALLBACK #endif #ifdef GLEW_WINGDIAPI_DEFINED #undef GLEW_WINGDIAPI_DEFINED #undef WINGDIAPI #endif #undef GLAPI /* #undef GLEWAPI */ #endif /* __glew_h__ */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/win32/glew-1.10.0/include/GL/wglew.h��������������������������������������������������0000664�0000764�0000764�00000174213�12340277645�020077� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ** The OpenGL Extension Wrangler Library ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> ** Copyright (C) 2002, Lev Povalahev ** All rights reserved. ** ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are met: ** ** * Redistributions of source code must retain the above copyright notice, ** this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright notice, ** this list of conditions and the following disclaimer in the documentation ** and/or other materials provided with the distribution. ** * The name of the author may be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ** THE POSSIBILITY OF SUCH DAMAGE. */ /* ** Copyright (c) 2007 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the ** "Materials"), to deal in the Materials without restriction, including ** without limitation the rights to use, copy, modify, merge, publish, ** distribute, sublicense, and/or sell copies of the Materials, and to ** permit persons to whom the Materials are furnished to do so, subject to ** the following conditions: ** ** The above copyright notice and this permission notice shall be included ** in all copies or substantial portions of the Materials. ** ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ #ifndef __wglew_h__ #define __wglew_h__ #define __WGLEW_H__ #ifdef __wglext_h_ #error wglext.h included before wglew.h #endif #define __wglext_h_ #if !defined(WINAPI) # ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN 1 # endif #include <windows.h> # undef WIN32_LEAN_AND_MEAN #endif /* * GLEW_STATIC needs to be set when using the static version. * GLEW_BUILD is set when building the DLL version. */ #ifdef GLEW_STATIC # define GLEWAPI extern #else # ifdef GLEW_BUILD # define GLEWAPI extern __declspec(dllexport) # else # define GLEWAPI extern __declspec(dllimport) # endif #endif #ifdef __cplusplus extern "C" { #endif /* -------------------------- WGL_3DFX_multisample ------------------------- */ #ifndef WGL_3DFX_multisample #define WGL_3DFX_multisample 1 #define WGL_SAMPLE_BUFFERS_3DFX 0x2060 #define WGL_SAMPLES_3DFX 0x2061 #define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample) #endif /* WGL_3DFX_multisample */ /* ------------------------- WGL_3DL_stereo_control ------------------------ */ #ifndef WGL_3DL_stereo_control #define WGL_3DL_stereo_control 1 #define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 #define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 #define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 #define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); #define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL) #define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control) #endif /* WGL_3DL_stereo_control */ /* ------------------------ WGL_AMD_gpu_association ------------------------ */ #ifndef WGL_AMD_gpu_association #define WGL_AMD_gpu_association 1 #define WGL_GPU_VENDOR_AMD 0x1F00 #define WGL_GPU_RENDERER_STRING_AMD 0x1F01 #define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 #define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 #define WGL_GPU_RAM_AMD 0x21A3 #define WGL_GPU_CLOCK_AMD 0x21A4 #define WGL_GPU_NUM_PIPES_AMD 0x21A5 #define WGL_GPU_NUM_SIMD_AMD 0x21A6 #define WGL_GPU_NUM_RB_AMD 0x21A7 #define WGL_GPU_NUM_SPI_AMD 0x21A8 typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id); typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int* attribList); typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc); typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc); typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void); typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT* ids); typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, INT property, GLenum dataType, UINT size, void* data); typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc); #define wglBlitContextFramebufferAMD WGLEW_GET_FUN(__wglewBlitContextFramebufferAMD) #define wglCreateAssociatedContextAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAMD) #define wglCreateAssociatedContextAttribsAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAttribsAMD) #define wglDeleteAssociatedContextAMD WGLEW_GET_FUN(__wglewDeleteAssociatedContextAMD) #define wglGetContextGPUIDAMD WGLEW_GET_FUN(__wglewGetContextGPUIDAMD) #define wglGetCurrentAssociatedContextAMD WGLEW_GET_FUN(__wglewGetCurrentAssociatedContextAMD) #define wglGetGPUIDsAMD WGLEW_GET_FUN(__wglewGetGPUIDsAMD) #define wglGetGPUInfoAMD WGLEW_GET_FUN(__wglewGetGPUInfoAMD) #define wglMakeAssociatedContextCurrentAMD WGLEW_GET_FUN(__wglewMakeAssociatedContextCurrentAMD) #define WGLEW_AMD_gpu_association WGLEW_GET_VAR(__WGLEW_AMD_gpu_association) #endif /* WGL_AMD_gpu_association */ /* ------------------------- WGL_ARB_buffer_region ------------------------- */ #ifndef WGL_ARB_buffer_region #define WGL_ARB_buffer_region 1 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 #define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 #define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 #define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); #define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB) #define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB) #define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB) #define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB) #define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region) #endif /* WGL_ARB_buffer_region */ /* ------------------------- WGL_ARB_create_context ------------------------ */ #ifndef WGL_ARB_create_context #define WGL_ARB_create_context 1 #define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001 #define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 #define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 #define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093 #define WGL_CONTEXT_FLAGS_ARB 0x2094 #define ERROR_INVALID_VERSION_ARB 0x2095 #define ERROR_INVALID_PROFILE_ARB 0x2096 typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList); #define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB) #define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context) #endif /* WGL_ARB_create_context */ /* --------------------- WGL_ARB_create_context_profile -------------------- */ #ifndef WGL_ARB_create_context_profile #define WGL_ARB_create_context_profile 1 #define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 #define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 #define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 #define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile) #endif /* WGL_ARB_create_context_profile */ /* ------------------- WGL_ARB_create_context_robustness ------------------- */ #ifndef WGL_ARB_create_context_robustness #define WGL_ARB_create_context_robustness 1 #define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 #define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 #define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 #define WGL_NO_RESET_NOTIFICATION_ARB 0x8261 #define WGLEW_ARB_create_context_robustness WGLEW_GET_VAR(__WGLEW_ARB_create_context_robustness) #endif /* WGL_ARB_create_context_robustness */ /* ----------------------- WGL_ARB_extensions_string ----------------------- */ #ifndef WGL_ARB_extensions_string #define WGL_ARB_extensions_string 1 typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); #define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB) #define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string) #endif /* WGL_ARB_extensions_string */ /* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */ #ifndef WGL_ARB_framebuffer_sRGB #define WGL_ARB_framebuffer_sRGB 1 #define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 #define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB) #endif /* WGL_ARB_framebuffer_sRGB */ /* ----------------------- WGL_ARB_make_current_read ----------------------- */ #ifndef WGL_ARB_make_current_read #define WGL_ARB_make_current_read 1 #define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID); typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); #define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB) #define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB) #define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read) #endif /* WGL_ARB_make_current_read */ /* -------------------------- WGL_ARB_multisample -------------------------- */ #ifndef WGL_ARB_multisample #define WGL_ARB_multisample 1 #define WGL_SAMPLE_BUFFERS_ARB 0x2041 #define WGL_SAMPLES_ARB 0x2042 #define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample) #endif /* WGL_ARB_multisample */ /* ---------------------------- WGL_ARB_pbuffer ---------------------------- */ #ifndef WGL_ARB_pbuffer #define WGL_ARB_pbuffer 1 #define WGL_DRAW_TO_PBUFFER_ARB 0x202D #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 #define WGL_PBUFFER_LARGEST_ARB 0x2033 #define WGL_PBUFFER_WIDTH_ARB 0x2034 #define WGL_PBUFFER_HEIGHT_ARB 0x2035 #define WGL_PBUFFER_LOST_ARB 0x2036 DECLARE_HANDLE(HPBUFFERARB); typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue); typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); #define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB) #define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB) #define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB) #define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB) #define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB) #define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer) #endif /* WGL_ARB_pbuffer */ /* -------------------------- WGL_ARB_pixel_format ------------------------- */ #ifndef WGL_ARB_pixel_format #define WGL_ARB_pixel_format 1 #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 #define WGL_DRAW_TO_WINDOW_ARB 0x2001 #define WGL_DRAW_TO_BITMAP_ARB 0x2002 #define WGL_ACCELERATION_ARB 0x2003 #define WGL_NEED_PALETTE_ARB 0x2004 #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 #define WGL_SWAP_METHOD_ARB 0x2007 #define WGL_NUMBER_OVERLAYS_ARB 0x2008 #define WGL_NUMBER_UNDERLAYS_ARB 0x2009 #define WGL_TRANSPARENT_ARB 0x200A #define WGL_SHARE_DEPTH_ARB 0x200C #define WGL_SHARE_STENCIL_ARB 0x200D #define WGL_SHARE_ACCUM_ARB 0x200E #define WGL_SUPPORT_GDI_ARB 0x200F #define WGL_SUPPORT_OPENGL_ARB 0x2010 #define WGL_DOUBLE_BUFFER_ARB 0x2011 #define WGL_STEREO_ARB 0x2012 #define WGL_PIXEL_TYPE_ARB 0x2013 #define WGL_COLOR_BITS_ARB 0x2014 #define WGL_RED_BITS_ARB 0x2015 #define WGL_RED_SHIFT_ARB 0x2016 #define WGL_GREEN_BITS_ARB 0x2017 #define WGL_GREEN_SHIFT_ARB 0x2018 #define WGL_BLUE_BITS_ARB 0x2019 #define WGL_BLUE_SHIFT_ARB 0x201A #define WGL_ALPHA_BITS_ARB 0x201B #define WGL_ALPHA_SHIFT_ARB 0x201C #define WGL_ACCUM_BITS_ARB 0x201D #define WGL_ACCUM_RED_BITS_ARB 0x201E #define WGL_ACCUM_GREEN_BITS_ARB 0x201F #define WGL_ACCUM_BLUE_BITS_ARB 0x2020 #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 #define WGL_DEPTH_BITS_ARB 0x2022 #define WGL_STENCIL_BITS_ARB 0x2023 #define WGL_AUX_BUFFERS_ARB 0x2024 #define WGL_NO_ACCELERATION_ARB 0x2025 #define WGL_GENERIC_ACCELERATION_ARB 0x2026 #define WGL_FULL_ACCELERATION_ARB 0x2027 #define WGL_SWAP_EXCHANGE_ARB 0x2028 #define WGL_SWAP_COPY_ARB 0x2029 #define WGL_SWAP_UNDEFINED_ARB 0x202A #define WGL_TYPE_RGBA_ARB 0x202B #define WGL_TYPE_COLORINDEX_ARB 0x202C #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues); typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues); #define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB) #define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB) #define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB) #define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format) #endif /* WGL_ARB_pixel_format */ /* ----------------------- WGL_ARB_pixel_format_float ---------------------- */ #ifndef WGL_ARB_pixel_format_float #define WGL_ARB_pixel_format_float 1 #define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 #define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float) #endif /* WGL_ARB_pixel_format_float */ /* ------------------------- WGL_ARB_render_texture ------------------------ */ #ifndef WGL_ARB_render_texture #define WGL_ARB_render_texture 1 #define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 #define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 #define WGL_TEXTURE_FORMAT_ARB 0x2072 #define WGL_TEXTURE_TARGET_ARB 0x2073 #define WGL_MIPMAP_TEXTURE_ARB 0x2074 #define WGL_TEXTURE_RGB_ARB 0x2075 #define WGL_TEXTURE_RGBA_ARB 0x2076 #define WGL_NO_TEXTURE_ARB 0x2077 #define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 #define WGL_TEXTURE_1D_ARB 0x2079 #define WGL_TEXTURE_2D_ARB 0x207A #define WGL_MIPMAP_LEVEL_ARB 0x207B #define WGL_CUBE_MAP_FACE_ARB 0x207C #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 #define WGL_FRONT_LEFT_ARB 0x2083 #define WGL_FRONT_RIGHT_ARB 0x2084 #define WGL_BACK_LEFT_ARB 0x2085 #define WGL_BACK_RIGHT_ARB 0x2086 #define WGL_AUX0_ARB 0x2087 #define WGL_AUX1_ARB 0x2088 #define WGL_AUX2_ARB 0x2089 #define WGL_AUX3_ARB 0x208A #define WGL_AUX4_ARB 0x208B #define WGL_AUX5_ARB 0x208C #define WGL_AUX6_ARB 0x208D #define WGL_AUX7_ARB 0x208E #define WGL_AUX8_ARB 0x208F #define WGL_AUX9_ARB 0x2090 typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList); #define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB) #define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB) #define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB) #define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture) #endif /* WGL_ARB_render_texture */ /* ---------------- WGL_ARB_robustness_application_isolation --------------- */ #ifndef WGL_ARB_robustness_application_isolation #define WGL_ARB_robustness_application_isolation 1 #define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 #define WGLEW_ARB_robustness_application_isolation WGLEW_GET_VAR(__WGLEW_ARB_robustness_application_isolation) #endif /* WGL_ARB_robustness_application_isolation */ /* ---------------- WGL_ARB_robustness_share_group_isolation --------------- */ #ifndef WGL_ARB_robustness_share_group_isolation #define WGL_ARB_robustness_share_group_isolation 1 #define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 #define WGLEW_ARB_robustness_share_group_isolation WGLEW_GET_VAR(__WGLEW_ARB_robustness_share_group_isolation) #endif /* WGL_ARB_robustness_share_group_isolation */ /* ----------------------- WGL_ATI_pixel_format_float ---------------------- */ #ifndef WGL_ATI_pixel_format_float #define WGL_ATI_pixel_format_float 1 #define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 #define GL_RGBA_FLOAT_MODE_ATI 0x8820 #define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 #define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float) #endif /* WGL_ATI_pixel_format_float */ /* -------------------- WGL_ATI_render_texture_rectangle ------------------- */ #ifndef WGL_ATI_render_texture_rectangle #define WGL_ATI_render_texture_rectangle 1 #define WGL_TEXTURE_RECTANGLE_ATI 0x21A5 #define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle) #endif /* WGL_ATI_render_texture_rectangle */ /* ------------------- WGL_EXT_create_context_es2_profile ------------------ */ #ifndef WGL_EXT_create_context_es2_profile #define WGL_EXT_create_context_es2_profile 1 #define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 #define WGLEW_EXT_create_context_es2_profile WGLEW_GET_VAR(__WGLEW_EXT_create_context_es2_profile) #endif /* WGL_EXT_create_context_es2_profile */ /* ------------------- WGL_EXT_create_context_es_profile ------------------- */ #ifndef WGL_EXT_create_context_es_profile #define WGL_EXT_create_context_es_profile 1 #define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 #define WGLEW_EXT_create_context_es_profile WGLEW_GET_VAR(__WGLEW_EXT_create_context_es_profile) #endif /* WGL_EXT_create_context_es_profile */ /* -------------------------- WGL_EXT_depth_float -------------------------- */ #ifndef WGL_EXT_depth_float #define WGL_EXT_depth_float 1 #define WGL_DEPTH_FLOAT_EXT 0x2040 #define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float) #endif /* WGL_EXT_depth_float */ /* ---------------------- WGL_EXT_display_color_table ---------------------- */ #ifndef WGL_EXT_display_color_table #define WGL_EXT_display_color_table 1 typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length); #define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT) #define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT) #define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT) #define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT) #define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table) #endif /* WGL_EXT_display_color_table */ /* ----------------------- WGL_EXT_extensions_string ----------------------- */ #ifndef WGL_EXT_extensions_string #define WGL_EXT_extensions_string 1 typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); #define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT) #define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string) #endif /* WGL_EXT_extensions_string */ /* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */ #ifndef WGL_EXT_framebuffer_sRGB #define WGL_EXT_framebuffer_sRGB 1 #define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 #define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB) #endif /* WGL_EXT_framebuffer_sRGB */ /* ----------------------- WGL_EXT_make_current_read ----------------------- */ #ifndef WGL_EXT_make_current_read #define WGL_EXT_make_current_read 1 #define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID); typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); #define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT) #define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT) #define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read) #endif /* WGL_EXT_make_current_read */ /* -------------------------- WGL_EXT_multisample -------------------------- */ #ifndef WGL_EXT_multisample #define WGL_EXT_multisample 1 #define WGL_SAMPLE_BUFFERS_EXT 0x2041 #define WGL_SAMPLES_EXT 0x2042 #define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample) #endif /* WGL_EXT_multisample */ /* ---------------------------- WGL_EXT_pbuffer ---------------------------- */ #ifndef WGL_EXT_pbuffer #define WGL_EXT_pbuffer 1 #define WGL_DRAW_TO_PBUFFER_EXT 0x202D #define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E #define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F #define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 #define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 #define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 #define WGL_PBUFFER_LARGEST_EXT 0x2033 #define WGL_PBUFFER_WIDTH_EXT 0x2034 #define WGL_PBUFFER_HEIGHT_EXT 0x2035 DECLARE_HANDLE(HPBUFFEREXT); typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue); typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); #define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT) #define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT) #define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT) #define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT) #define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT) #define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer) #endif /* WGL_EXT_pbuffer */ /* -------------------------- WGL_EXT_pixel_format ------------------------- */ #ifndef WGL_EXT_pixel_format #define WGL_EXT_pixel_format 1 #define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 #define WGL_DRAW_TO_WINDOW_EXT 0x2001 #define WGL_DRAW_TO_BITMAP_EXT 0x2002 #define WGL_ACCELERATION_EXT 0x2003 #define WGL_NEED_PALETTE_EXT 0x2004 #define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 #define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 #define WGL_SWAP_METHOD_EXT 0x2007 #define WGL_NUMBER_OVERLAYS_EXT 0x2008 #define WGL_NUMBER_UNDERLAYS_EXT 0x2009 #define WGL_TRANSPARENT_EXT 0x200A #define WGL_TRANSPARENT_VALUE_EXT 0x200B #define WGL_SHARE_DEPTH_EXT 0x200C #define WGL_SHARE_STENCIL_EXT 0x200D #define WGL_SHARE_ACCUM_EXT 0x200E #define WGL_SUPPORT_GDI_EXT 0x200F #define WGL_SUPPORT_OPENGL_EXT 0x2010 #define WGL_DOUBLE_BUFFER_EXT 0x2011 #define WGL_STEREO_EXT 0x2012 #define WGL_PIXEL_TYPE_EXT 0x2013 #define WGL_COLOR_BITS_EXT 0x2014 #define WGL_RED_BITS_EXT 0x2015 #define WGL_RED_SHIFT_EXT 0x2016 #define WGL_GREEN_BITS_EXT 0x2017 #define WGL_GREEN_SHIFT_EXT 0x2018 #define WGL_BLUE_BITS_EXT 0x2019 #define WGL_BLUE_SHIFT_EXT 0x201A #define WGL_ALPHA_BITS_EXT 0x201B #define WGL_ALPHA_SHIFT_EXT 0x201C #define WGL_ACCUM_BITS_EXT 0x201D #define WGL_ACCUM_RED_BITS_EXT 0x201E #define WGL_ACCUM_GREEN_BITS_EXT 0x201F #define WGL_ACCUM_BLUE_BITS_EXT 0x2020 #define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 #define WGL_DEPTH_BITS_EXT 0x2022 #define WGL_STENCIL_BITS_EXT 0x2023 #define WGL_AUX_BUFFERS_EXT 0x2024 #define WGL_NO_ACCELERATION_EXT 0x2025 #define WGL_GENERIC_ACCELERATION_EXT 0x2026 #define WGL_FULL_ACCELERATION_EXT 0x2027 #define WGL_SWAP_EXCHANGE_EXT 0x2028 #define WGL_SWAP_COPY_EXT 0x2029 #define WGL_SWAP_UNDEFINED_EXT 0x202A #define WGL_TYPE_RGBA_EXT 0x202B #define WGL_TYPE_COLORINDEX_EXT 0x202C typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues); typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues); #define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT) #define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT) #define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT) #define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format) #endif /* WGL_EXT_pixel_format */ /* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */ #ifndef WGL_EXT_pixel_format_packed_float #define WGL_EXT_pixel_format_packed_float 1 #define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 #define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float) #endif /* WGL_EXT_pixel_format_packed_float */ /* -------------------------- WGL_EXT_swap_control ------------------------- */ #ifndef WGL_EXT_swap_control #define WGL_EXT_swap_control 1 typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); #define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT) #define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT) #define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control) #endif /* WGL_EXT_swap_control */ /* ----------------------- WGL_EXT_swap_control_tear ----------------------- */ #ifndef WGL_EXT_swap_control_tear #define WGL_EXT_swap_control_tear 1 #define WGLEW_EXT_swap_control_tear WGLEW_GET_VAR(__WGLEW_EXT_swap_control_tear) #endif /* WGL_EXT_swap_control_tear */ /* --------------------- WGL_I3D_digital_video_control --------------------- */ #ifndef WGL_I3D_digital_video_control #define WGL_I3D_digital_video_control 1 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 #define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 #define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); #define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D) #define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D) #define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control) #endif /* WGL_I3D_digital_video_control */ /* ----------------------------- WGL_I3D_gamma ----------------------------- */ #ifndef WGL_I3D_gamma #define WGL_I3D_gamma 1 #define WGL_GAMMA_TABLE_SIZE_I3D 0x204E #define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue); typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue); typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); #define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D) #define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D) #define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D) #define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D) #define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma) #endif /* WGL_I3D_gamma */ /* ---------------------------- WGL_I3D_genlock ---------------------------- */ #ifndef WGL_I3D_genlock #define WGL_I3D_genlock 1 #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 #define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045 #define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046 #define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047 #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate); typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay); typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge); typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource); typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag); typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay); #define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D) #define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D) #define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D) #define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D) #define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D) #define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D) #define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D) #define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D) #define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D) #define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D) #define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D) #define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D) #define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock) #endif /* WGL_I3D_genlock */ /* -------------------------- WGL_I3D_image_buffer ------------------------- */ #ifndef WGL_I3D_image_buffer #define WGL_I3D_image_buffer 1 #define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 #define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count); typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count); #define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D) #define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D) #define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D) #define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D) #define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer) #endif /* WGL_I3D_image_buffer */ /* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */ #ifndef WGL_I3D_swap_frame_lock #define WGL_I3D_swap_frame_lock 1 typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID); typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID); typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag); typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag); #define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D) #define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D) #define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D) #define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D) #define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock) #endif /* WGL_I3D_swap_frame_lock */ /* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */ #ifndef WGL_I3D_swap_frame_usage #define WGL_I3D_swap_frame_usage 1 typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage); typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); #define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D) #define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D) #define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D) #define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D) #define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage) #endif /* WGL_I3D_swap_frame_usage */ /* --------------------------- WGL_NV_DX_interop --------------------------- */ #ifndef WGL_NV_DX_interop #define WGL_NV_DX_interop 1 #define WGL_ACCESS_READ_ONLY_NV 0x0000 #define WGL_ACCESS_READ_WRITE_NV 0x0001 #define WGL_ACCESS_WRITE_DISCARD_NV 0x0002 typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice); typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects); typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access); typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void* dxDevice); typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void* dxObject, GLuint name, GLenum type, GLenum access); typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void* dxObject, HANDLE shareHandle); typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects); typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject); #define wglDXCloseDeviceNV WGLEW_GET_FUN(__wglewDXCloseDeviceNV) #define wglDXLockObjectsNV WGLEW_GET_FUN(__wglewDXLockObjectsNV) #define wglDXObjectAccessNV WGLEW_GET_FUN(__wglewDXObjectAccessNV) #define wglDXOpenDeviceNV WGLEW_GET_FUN(__wglewDXOpenDeviceNV) #define wglDXRegisterObjectNV WGLEW_GET_FUN(__wglewDXRegisterObjectNV) #define wglDXSetResourceShareHandleNV WGLEW_GET_FUN(__wglewDXSetResourceShareHandleNV) #define wglDXUnlockObjectsNV WGLEW_GET_FUN(__wglewDXUnlockObjectsNV) #define wglDXUnregisterObjectNV WGLEW_GET_FUN(__wglewDXUnregisterObjectNV) #define WGLEW_NV_DX_interop WGLEW_GET_VAR(__WGLEW_NV_DX_interop) #endif /* WGL_NV_DX_interop */ /* --------------------------- WGL_NV_DX_interop2 -------------------------- */ #ifndef WGL_NV_DX_interop2 #define WGL_NV_DX_interop2 1 #define WGLEW_NV_DX_interop2 WGLEW_GET_VAR(__WGLEW_NV_DX_interop2) #endif /* WGL_NV_DX_interop2 */ /* --------------------------- WGL_NV_copy_image --------------------------- */ #ifndef WGL_NV_copy_image #define WGL_NV_copy_image 1 typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); #define wglCopyImageSubDataNV WGLEW_GET_FUN(__wglewCopyImageSubDataNV) #define WGLEW_NV_copy_image WGLEW_GET_VAR(__WGLEW_NV_copy_image) #endif /* WGL_NV_copy_image */ /* -------------------------- WGL_NV_float_buffer -------------------------- */ #ifndef WGL_NV_float_buffer #define WGL_NV_float_buffer 1 #define WGL_FLOAT_COMPONENTS_NV 0x20B0 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 #define WGL_TEXTURE_FLOAT_R_NV 0x20B5 #define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 #define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 #define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 #define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer) #endif /* WGL_NV_float_buffer */ /* -------------------------- WGL_NV_gpu_affinity -------------------------- */ #ifndef WGL_NV_gpu_affinity #define WGL_NV_gpu_affinity 1 #define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 #define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 DECLARE_HANDLE(HGPUNV); typedef struct _GPU_DEVICE { DWORD cb; CHAR DeviceName[32]; CHAR DeviceString[128]; DWORD Flags; RECT rcVirtualScreen; } GPU_DEVICE, *PGPU_DEVICE; typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList); typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc); typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu); #define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV) #define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV) #define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV) #define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV) #define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV) #define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity) #endif /* WGL_NV_gpu_affinity */ /* ---------------------- WGL_NV_multisample_coverage ---------------------- */ #ifndef WGL_NV_multisample_coverage #define WGL_NV_multisample_coverage 1 #define WGL_COVERAGE_SAMPLES_NV 0x2042 #define WGL_COLOR_SAMPLES_NV 0x20B9 #define WGLEW_NV_multisample_coverage WGLEW_GET_VAR(__WGLEW_NV_multisample_coverage) #endif /* WGL_NV_multisample_coverage */ /* -------------------------- WGL_NV_present_video ------------------------- */ #ifndef WGL_NV_present_video #define WGL_NV_present_video 1 #define WGL_NUM_VIDEO_SLOTS_NV 0x20F0 DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV); typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList); typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList); typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue); #define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV) #define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV) #define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV) #define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video) #endif /* WGL_NV_present_video */ /* ---------------------- WGL_NV_render_depth_texture ---------------------- */ #ifndef WGL_NV_render_depth_texture #define WGL_NV_render_depth_texture 1 #define WGL_NO_TEXTURE_ARB 0x2077 #define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 #define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 #define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 #define WGL_DEPTH_COMPONENT_NV 0x20A7 #define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture) #endif /* WGL_NV_render_depth_texture */ /* -------------------- WGL_NV_render_texture_rectangle -------------------- */ #ifndef WGL_NV_render_texture_rectangle #define WGL_NV_render_texture_rectangle 1 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 #define WGL_TEXTURE_RECTANGLE_NV 0x20A2 #define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle) #endif /* WGL_NV_render_texture_rectangle */ /* --------------------------- WGL_NV_swap_group --------------------------- */ #ifndef WGL_NV_swap_group #define WGL_NV_swap_group 1 typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier); typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group); typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count); typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers); typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint *barrier); typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC); #define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV) #define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV) #define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV) #define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV) #define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV) #define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV) #define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group) #endif /* WGL_NV_swap_group */ /* ----------------------- WGL_NV_vertex_array_range ----------------------- */ #ifndef WGL_NV_vertex_array_range #define WGL_NV_vertex_array_range 1 typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); #define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV) #define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV) #define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range) #endif /* WGL_NV_vertex_array_range */ /* -------------------------- WGL_NV_video_capture ------------------------- */ #ifndef WGL_NV_video_capture #define WGL_NV_video_capture 1 #define WGL_UNIQUE_ID_NV 0x20CE #define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF DECLARE_HANDLE(HVIDEOINPUTDEVICENV); typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice); typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV* phDeviceList); typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int* piValue); typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); #define wglBindVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewBindVideoCaptureDeviceNV) #define wglEnumerateVideoCaptureDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoCaptureDevicesNV) #define wglLockVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewLockVideoCaptureDeviceNV) #define wglQueryVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewQueryVideoCaptureDeviceNV) #define wglReleaseVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoCaptureDeviceNV) #define WGLEW_NV_video_capture WGLEW_GET_VAR(__WGLEW_NV_video_capture) #endif /* WGL_NV_video_capture */ /* -------------------------- WGL_NV_video_output -------------------------- */ #ifndef WGL_NV_video_output #define WGL_NV_video_output 1 #define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0 #define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1 #define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2 #define WGL_VIDEO_OUT_COLOR_NV 0x20C3 #define WGL_VIDEO_OUT_ALPHA_NV 0x20C4 #define WGL_VIDEO_OUT_DEPTH_NV 0x20C5 #define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 #define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 #define WGL_VIDEO_OUT_FRAME 0x20C8 #define WGL_VIDEO_OUT_FIELD_1 0x20C9 #define WGL_VIDEO_OUT_FIELD_2 0x20CA #define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB #define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC DECLARE_HANDLE(HPVIDEODEV); typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice); typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice); typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer); typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock); #define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV) #define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV) #define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV) #define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV) #define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV) #define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV) #define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output) #endif /* WGL_NV_video_output */ /* -------------------------- WGL_OML_sync_control ------------------------- */ #ifndef WGL_OML_sync_control #define WGL_OML_sync_control 1 typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator); typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc); typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc); typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc); #define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML) #define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML) #define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML) #define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML) #define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML) #define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML) #define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control) #endif /* WGL_OML_sync_control */ /* ------------------------------------------------------------------------- */ #ifdef GLEW_MX #define WGLEW_FUN_EXPORT #define WGLEW_VAR_EXPORT #else #define WGLEW_FUN_EXPORT GLEW_FUN_EXPORT #define WGLEW_VAR_EXPORT GLEW_VAR_EXPORT #endif /* GLEW_MX */ #ifdef GLEW_MX struct WGLEWContextStruct { #endif /* GLEW_MX */ WGLEW_FUN_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL; WGLEW_FUN_EXPORT PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC __wglewBlitContextFramebufferAMD; WGLEW_FUN_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC __wglewCreateAssociatedContextAMD; WGLEW_FUN_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __wglewCreateAssociatedContextAttribsAMD; WGLEW_FUN_EXPORT PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD; WGLEW_FUN_EXPORT PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD; WGLEW_FUN_EXPORT PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD; WGLEW_FUN_EXPORT PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD; WGLEW_FUN_EXPORT PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD; WGLEW_FUN_EXPORT PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD; WGLEW_FUN_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB; WGLEW_FUN_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB; WGLEW_FUN_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB; WGLEW_FUN_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB; WGLEW_FUN_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB; WGLEW_FUN_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB; WGLEW_FUN_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB; WGLEW_FUN_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB; WGLEW_FUN_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB; WGLEW_FUN_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB; WGLEW_FUN_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB; WGLEW_FUN_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB; WGLEW_FUN_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB; WGLEW_FUN_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB; WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB; WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB; WGLEW_FUN_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB; WGLEW_FUN_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB; WGLEW_FUN_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB; WGLEW_FUN_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT; WGLEW_FUN_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT; WGLEW_FUN_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT; WGLEW_FUN_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT; WGLEW_FUN_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT; WGLEW_FUN_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT; WGLEW_FUN_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT; WGLEW_FUN_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT; WGLEW_FUN_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT; WGLEW_FUN_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT; WGLEW_FUN_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT; WGLEW_FUN_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT; WGLEW_FUN_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT; WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT; WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT; WGLEW_FUN_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT; WGLEW_FUN_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT; WGLEW_FUN_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D; WGLEW_FUN_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D; WGLEW_FUN_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D; WGLEW_FUN_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D; WGLEW_FUN_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D; WGLEW_FUN_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D; WGLEW_FUN_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D; WGLEW_FUN_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D; WGLEW_FUN_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D; WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D; WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D; WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D; WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D; WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D; WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D; WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D; WGLEW_FUN_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D; WGLEW_FUN_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D; WGLEW_FUN_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D; WGLEW_FUN_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D; WGLEW_FUN_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D; WGLEW_FUN_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D; WGLEW_FUN_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D; WGLEW_FUN_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D; WGLEW_FUN_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D; WGLEW_FUN_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D; WGLEW_FUN_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D; WGLEW_FUN_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D; WGLEW_FUN_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D; WGLEW_FUN_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D; WGLEW_FUN_EXPORT PFNWGLDXCLOSEDEVICENVPROC __wglewDXCloseDeviceNV; WGLEW_FUN_EXPORT PFNWGLDXLOCKOBJECTSNVPROC __wglewDXLockObjectsNV; WGLEW_FUN_EXPORT PFNWGLDXOBJECTACCESSNVPROC __wglewDXObjectAccessNV; WGLEW_FUN_EXPORT PFNWGLDXOPENDEVICENVPROC __wglewDXOpenDeviceNV; WGLEW_FUN_EXPORT PFNWGLDXREGISTEROBJECTNVPROC __wglewDXRegisterObjectNV; WGLEW_FUN_EXPORT PFNWGLDXSETRESOURCESHAREHANDLENVPROC __wglewDXSetResourceShareHandleNV; WGLEW_FUN_EXPORT PFNWGLDXUNLOCKOBJECTSNVPROC __wglewDXUnlockObjectsNV; WGLEW_FUN_EXPORT PFNWGLDXUNREGISTEROBJECTNVPROC __wglewDXUnregisterObjectNV; WGLEW_FUN_EXPORT PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV; WGLEW_FUN_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV; WGLEW_FUN_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV; WGLEW_FUN_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV; WGLEW_FUN_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV; WGLEW_FUN_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV; WGLEW_FUN_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV; WGLEW_FUN_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV; WGLEW_FUN_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV; WGLEW_FUN_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV; WGLEW_FUN_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV; WGLEW_FUN_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV; WGLEW_FUN_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV; WGLEW_FUN_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV; WGLEW_FUN_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV; WGLEW_FUN_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV; WGLEW_FUN_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV; WGLEW_FUN_EXPORT PFNWGLBINDVIDEOCAPTUREDEVICENVPROC __wglewBindVideoCaptureDeviceNV; WGLEW_FUN_EXPORT PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC __wglewEnumerateVideoCaptureDevicesNV; WGLEW_FUN_EXPORT PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC __wglewLockVideoCaptureDeviceNV; WGLEW_FUN_EXPORT PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC __wglewQueryVideoCaptureDeviceNV; WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC __wglewReleaseVideoCaptureDeviceNV; WGLEW_FUN_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV; WGLEW_FUN_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV; WGLEW_FUN_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV; WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV; WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV; WGLEW_FUN_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV; WGLEW_FUN_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML; WGLEW_FUN_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML; WGLEW_FUN_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML; WGLEW_FUN_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML; WGLEW_FUN_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML; WGLEW_FUN_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML; WGLEW_VAR_EXPORT GLboolean __WGLEW_3DFX_multisample; WGLEW_VAR_EXPORT GLboolean __WGLEW_3DL_stereo_control; WGLEW_VAR_EXPORT GLboolean __WGLEW_AMD_gpu_association; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_profile; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_extensions_string; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_make_current_read; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_multisample; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pbuffer; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pixel_format; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pixel_format_float; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_render_texture; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_application_isolation; WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_share_group_isolation; WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_pixel_format_float; WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es2_profile; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es_profile; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_depth_float; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_display_color_table; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_extensions_string; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_make_current_read; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_multisample; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pbuffer; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pixel_format; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_swap_control; WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_swap_control_tear; WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_digital_video_control; WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_gamma; WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_genlock; WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_image_buffer; WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock; WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_DX_interop; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_DX_interop2; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_copy_image; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_float_buffer; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_gpu_affinity; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_multisample_coverage; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_present_video; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_depth_texture; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_swap_group; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_vertex_array_range; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_capture; WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_output; WGLEW_VAR_EXPORT GLboolean __WGLEW_OML_sync_control; #ifdef GLEW_MX }; /* WGLEWContextStruct */ #endif /* GLEW_MX */ /* ------------------------------------------------------------------------- */ #ifdef GLEW_MX typedef struct WGLEWContextStruct WGLEWContext; GLEWAPI GLenum GLEWAPIENTRY wglewContextInit (WGLEWContext *ctx); GLEWAPI GLboolean GLEWAPIENTRY wglewContextIsSupported (const WGLEWContext *ctx, const char *name); #define wglewInit() wglewContextInit(wglewGetContext()) #define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x) #define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x)) #define WGLEW_GET_FUN(x) wglewGetContext()->x #else /* GLEW_MX */ #define WGLEW_GET_VAR(x) (*(const GLboolean*)&x) #define WGLEW_GET_FUN(x) x GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name); #endif /* GLEW_MX */ GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name); #ifdef __cplusplus } #endif #undef GLEWAPI #endif /* __wglew_h__ */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/README��������������������������������������������������������������������������������0000644�0000764�0000764�00000001150�12371572714�013103� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������This is Gauche-gl, OpenGL binding for Gauche. See INSTALL (English) or INSTALL.utf-8 (Japanese) for installation instructions. Under doc/, you can find texinfo file of the documentation. It is incomplete but may be of some use. Under win32/, there are some auxiliary libraries required for win32 platform. Things under this directory has its own copyright notices; check each subdirectories. It contains freeglut-2.6.0-3, a precompiled binary of Pawel W. Olszta's FreeGlut, build for MinGW by Martin Payne. The package can be obtained from: http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/configure�����������������������������������������������������������������������������0000775�0000764�0000764�00000506616�12371574444�014157� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for Gauche-gl 0.6. # # Report bugs to <shiro@acm.org>. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and shiro@acm.org $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 </dev/null exec 6>&1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Gauche-gl' PACKAGE_TARNAME='gauche-gl' PACKAGE_VERSION='0.6' PACKAGE_STRING='Gauche-gl 0.6' PACKAGE_BUGREPORT='shiro@acm.org' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef HAVE_SYS_STAT_H # include <sys/stat.h> #endif #ifdef STDC_HEADERS # include <stdlib.h> # include <stddef.h> #else # ifdef HAVE_STDLIB_H # include <stdlib.h> # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include <memory.h> # endif # include <string.h> #endif #ifdef HAVE_STRINGS_H # include <strings.h> #endif #ifdef HAVE_INTTYPES_H # include <inttypes.h> #endif #ifdef HAVE_STDINT_H # include <stdint.h> #endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif" ac_subst_vars='LTLIBOBJS LIBOBJS GLUT_EXTRALIBS GL_EXTRALIBS GZIP_PROGRAM MAKEINFO GLEW_SOURCE GLEW_INCDIR GLUT_LIBDIR GLUT_INCDIR GLUT_LIB GL_LIBS EGREP GREP SOEXT GAUCHE_CESCONV GAUCHE_INSTALL GAUCHE_PACKAGE GAUCHE_CONFIG GOSH CG_SCM CG_LIBS ENABLE_CG X_EXTRA_LIBS X_LIBS X_PRE_LIBS X_CFLAGS CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC XMKMF target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_x with_glut enable_cg ' ac_precious_vars='build_alias host_alias target_alias XMKMF CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures Gauche-gl 0.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/gauche-gl] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of Gauche-gl 0.6:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-cg Enable NVidia's Cg binding. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-x use the X Window System --with-glut=PATH: Use GLUT library installed under PATH. By default, Gauche-gl assumes GLUT is installed in the system standard location. If you do not want to use GLUT support, specify --with-glut=no. On MinGW you can statically link freeglut included in the source. If you want to choose so, say --with-glut=mingw-static. Some influential environment variables: XMKMF Path to xmkmf, Makefile generator for X Window System CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <shiro@acm.org>. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF Gauche-gl configure 0.6 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case <limits.h> declares $2. For example, HP-UX 11i <limits.h> declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since <limits.h> exists even on freestanding compilers. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ---------------------------- ## ## Report this to shiro@acm.org ## ## ---------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by Gauche-gl $as_me 0.6, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if ${ac_cv_target+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> #include <stdio.h> struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 $as_echo_n "checking for X... " >&6; } # Check whether --with-x was given. if test "${with_x+set}" = set; then : withval=$with_x; fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else case $x_includes,$x_libraries in #( *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir cat >Imakefile <<'_ACEOF' incroot: @echo incroot='${INCROOT}' usrlibdir: @echo usrlibdir='${USRLIBDIR}' libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl dylib la dll; do if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && test -f "$ac_im_libdir/libX11.$ac_extension"; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /usr/lib64 | /lib | /lib64) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -f -r conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R7/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R7 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R7/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R7 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <X11/Xlib.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # We can compile using X headers with no special include directory. ac_x_includes= else for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <X11/Xlib.h> int main () { XrmInitialize () ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else LIBS=$ac_save_LIBS for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl dylib la dll; do if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no case $ac_x_includes,$ac_x_libraries in #( no,* | *,no | *\'*) # Didn't find X, or a directory has "'" in its name. ac_cv_have_x="have_x=no";; #( *) # Record where we found X for the cache. ac_cv_have_x="have_x=yes\ ac_x_includes='$ac_x_includes'\ ac_x_libraries='$ac_x_libraries'" esac fi ;; #( *) have_x=yes;; esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 $as_echo "$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes\ ac_x_includes='$x_includes'\ ac_x_libraries='$x_libraries'" { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 $as_echo "libraries $x_libraries, headers $x_includes" >&6; } fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. $as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else if test -n "$x_includes"; then X_CFLAGS="$X_CFLAGS -I$x_includes" fi # It would also be nice to do this for all -L options, not just this one. if test -n "$x_libraries"; then X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5 $as_echo_n "checking whether -R must be followed by a space... " >&6; } ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" ac_xsave_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } X_LIBS="$X_LIBS -R $x_libraries" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5 $as_echo "neither works" >&6; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_c_werror_flag=$ac_xsave_c_werror_flag LIBS=$ac_xsave_LIBS fi # Check for system-dependent libraries X programs must link with. # Do this before checking for the system-independent R6 libraries # (-lICE), since we may need -lsocket or whatever for X linking. if test "$ISC" = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" else # Martyn Johnson says this is needed for Ultrix, if the X # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char XOpenDisplay (); int main () { return XOpenDisplay (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dnet_ntoa (); int main () { return dnet_ntoa (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dnet_dnet_ntoa=yes else ac_cv_lib_dnet_dnet_ntoa=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dnet_ntoa (); int main () { return dnet_ntoa (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dnet_stub_dnet_ntoa=yes else ac_cv_lib_dnet_stub_dnet_ntoa=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, # to get the SysV transport functions. # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) # needs -lnsl. # The nsl library prevents programs from opening the X display # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" if test "x$ac_cv_func_gethostbyname" = xyes; then : fi if test $ac_cv_func_gethostbyname = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; } if ${ac_cv_lib_nsl_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_nsl_gethostbyname=yes else ac_cv_lib_nsl_gethostbyname=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 $as_echo_n "checking for gethostbyname in -lbsd... " >&6; } if ${ac_cv_lib_bsd_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bsd_gethostbyname=yes else ac_cv_lib_bsd_gethostbyname=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi fi fi # lieder@skyler.mavd.honeywell.com says without -lsocket, # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary # on later versions), says Simon Leinen: it contains gethostby* # variants that don't use the name server (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect" if test "x$ac_cv_func_connect" = xyes; then : fi if test $ac_cv_func_connect = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 $as_echo_n "checking for connect in -lsocket... " >&6; } if ${ac_cv_lib_socket_connect+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char connect (); int main () { return connect (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_socket_connect=yes else ac_cv_lib_socket_connect=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 $as_echo "$ac_cv_lib_socket_connect" >&6; } if test "x$ac_cv_lib_socket_connect" = xyes; then : X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi fi # Guillermo Gomez says -lposix is necessary on A/UX. ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove" if test "x$ac_cv_func_remove" = xyes; then : fi if test $ac_cv_func_remove = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 $as_echo_n "checking for remove in -lposix... " >&6; } if ${ac_cv_lib_posix_remove+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lposix $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char remove (); int main () { return remove (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_posix_remove=yes else ac_cv_lib_posix_remove=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 $as_echo "$ac_cv_lib_posix_remove" >&6; } if test "x$ac_cv_lib_posix_remove" = xyes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat" if test "x$ac_cv_func_shmat" = xyes; then : fi if test $ac_cv_func_shmat = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 $as_echo_n "checking for shmat in -lipc... " >&6; } if ${ac_cv_lib_ipc_shmat+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shmat (); int main () { return shmat (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ipc_shmat=yes else ac_cv_lib_ipc_shmat=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 $as_echo "$ac_cv_lib_ipc_shmat" >&6; } if test "x$ac_cv_lib_ipc_shmat" = xyes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi fi fi # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS=$LDFLAGS test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char IceConnectionNumber (); int main () { return IceConnectionNumber (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ICE_IceConnectionNumber=yes else ac_cv_lib_ICE_IceConnectionNumber=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then : X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi LDFLAGS=$ac_save_LDFLAGS fi case "$target" in *-*-cygwin*) if test "x-$have_x" = "x-disabled" -o "x-$have_x" = "x-no"; then LIBGLUT=glut32; else LIBGLUT=glut CPPFLAGS="$CPPFLAGS -I$x_includes"; fi;; *) LIBGLUT=glut;; esac # options for configure scripts GLUT_LIB="-l$LIBGLUT" # Check whether --with-glut was given. if test "${with_glut+set}" = set; then : withval=$with_glut; case $with_glut in no) GLUT_LIB= ;; yes) GLUT_LIB="-l$LIBGLUT";; mingw-static) GLUT_LIB="-lfreeglut_static -lgdi32 -lwinmm" GLUT_INCDIR="-I../win32/freeglut-2.6.0-3/include -DFREEGLUT_STATIC" GLUT_LIBDIR="-L../win32/freeglut-2.6.0-3/lib";; *) GLUT_LIB="-l$LIBGLUT" GLUT_INCDIR="-I$with_glut/include" GLUT_LIBDIR="-L$with_glut/lib";; esac fi # Check whether --enable-cg was given. if test "${enable_cg+set}" = set; then : enableval=$enable_cg; $as_echo "#define HAVE_CG 1" >>confdefs.h ENABLE_CG=1 CG_LIBS="-lCgGL -lCg" CG_SCM="cg/gl/cg.scm"; fi # Extract the first word of "gosh", so it can be a program name with args. set dummy gosh; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GOSH+:} false; then : $as_echo_n "(cached) " >&6 else case $GOSH in [\\/]* | ?:[\\/]*) ac_cv_path_GOSH="$GOSH" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GOSH="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GOSH=$ac_cv_path_GOSH if test -n "$GOSH"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOSH" >&5 $as_echo "$GOSH" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gauche-config", so it can be a program name with args. set dummy gauche-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GAUCHE_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $GAUCHE_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_GAUCHE_CONFIG="$GAUCHE_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GAUCHE_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GAUCHE_CONFIG=$ac_cv_path_GAUCHE_CONFIG if test -n "$GAUCHE_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GAUCHE_CONFIG" >&5 $as_echo "$GAUCHE_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gauche-package", so it can be a program name with args. set dummy gauche-package; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GAUCHE_PACKAGE+:} false; then : $as_echo_n "(cached) " >&6 else case $GAUCHE_PACKAGE in [\\/]* | ?:[\\/]*) ac_cv_path_GAUCHE_PACKAGE="$GAUCHE_PACKAGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GAUCHE_PACKAGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GAUCHE_PACKAGE=$ac_cv_path_GAUCHE_PACKAGE if test -n "$GAUCHE_PACKAGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GAUCHE_PACKAGE" >&5 $as_echo "$GAUCHE_PACKAGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gauche-install", so it can be a program name with args. set dummy gauche-install; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GAUCHE_INSTALL+:} false; then : $as_echo_n "(cached) " >&6 else case $GAUCHE_INSTALL in [\\/]* | ?:[\\/]*) ac_cv_path_GAUCHE_INSTALL="$GAUCHE_INSTALL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GAUCHE_INSTALL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GAUCHE_INSTALL=$ac_cv_path_GAUCHE_INSTALL if test -n "$GAUCHE_INSTALL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GAUCHE_INSTALL" >&5 $as_echo "$GAUCHE_INSTALL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gauche-cesconv", so it can be a program name with args. set dummy gauche-cesconv; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GAUCHE_CESCONV+:} false; then : $as_echo_n "(cached) " >&6 else case $GAUCHE_CESCONV in [\\/]* | ?:[\\/]*) ac_cv_path_GAUCHE_CESCONV="$GAUCHE_CESCONV" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GAUCHE_CESCONV="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GAUCHE_CESCONV=$ac_cv_path_GAUCHE_CESCONV if test -n "$GAUCHE_CESCONV"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GAUCHE_CESCONV" >&5 $as_echo "$GAUCHE_CESCONV" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi SOEXT=`"$GAUCHE_CONFIG" --so-suffix` OBJEXT=`"$GAUCHE_CONFIG" --object-suffix` EXEEXT=`"$GAUCHE_CONFIG" --executable-suffix` # Check for headers { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <stdarg.h> #include <string.h> #include <float.h> int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ctype.h> #include <stdlib.h> #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in GL/glx.h do : ac_fn_c_check_header_mongrel "$LINENO" "GL/glx.h" "ac_cv_header_GL_glx_h" "$ac_includes_default" if test "x$ac_cv_header_GL_glx_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GL_GLX_H 1 _ACEOF # OpenGL/X11 # NB: FreeBSD seems to need -lX11 -lXext. We are on X11 system anyway, # so I assume this won't do any harm. GL_LIBS='-lGLU -lGL -lX11 -lXext' GLUT_LIB="$GLUT_LIB -lXmu -lXi" fi done for ac_header in GLUT/glut.h do : ac_fn_c_check_header_mongrel "$LINENO" "GLUT/glut.h" "ac_cv_header_GLUT_glut_h" "$ac_includes_default" if test "x$ac_cv_header_GLUT_glut_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GLUT_GLUT_H 1 _ACEOF case $target in *-apple-darwin*) $as_echo "#define MacOSX 1" >>confdefs.h # darwin which has GLUT/glut.h is MacOSX GL_LIBS='-framework OpenGL -framework GLUT' # GLUT for glutGetProcAddress GLUT_LIB='-framework GLUT' ;; *) # other OSes w/o X11 but have GLUT/glut.h. Possibly MacOS9?? ;; esac fi done if test "$GL_LIBS" = ""; then case $target in *-*-cygwin*|*-*-mingw*) GL_LIBS='-lglu32 -lopengl32' ;; *) GL_LIBS='-lGLU -lGL' ;; esac fi # On MinGW, we use GLEW so that we can get newer GL features; the GL header # comes with MinGW installation is very old. # TODO: We might add --with-glew configure option so that we can use glew # on other platforms. At this moment, though, Gauche-gl has its own # runtime name lookup system, so having glew isn't vital on other platforms. case $target in *-*-mingw*) $as_echo "#define HAVE_GL_GLEW_H 1" >>confdefs.h GLEW_INCDIR="-I../win32/glew-1.10.0/include -DGLEW_STATIC" GLEW_SOURCE="../win32/glew-1.10.0/src/glew.c" esac # Check for other programs. for ac_prog in makeinfo do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MAKEINFO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MAKEINFO"; then ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MAKEINFO="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MAKEINFO=$ac_cv_prog_MAKEINFO if test -n "$MAKEINFO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINFO" >&5 $as_echo "$MAKEINFO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$MAKEINFO" && break done for ac_prog in gzip do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_GZIP_PROGRAM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$GZIP_PROGRAM"; then ac_cv_prog_GZIP_PROGRAM="$GZIP_PROGRAM" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_GZIP_PROGRAM="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi GZIP_PROGRAM=$ac_cv_prog_GZIP_PROGRAM if test -n "$GZIP_PROGRAM"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GZIP_PROGRAM" >&5 $as_echo "$GZIP_PROGRAM" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$GZIP_PROGRAM" && break done # Check for libraries # on cygwin, we need several extra -l flags. case "$target" in *-*-cygwin*|*-*-mingw*) LIBS="-lgauche-uvector $LIBS" GL_EXTRALIBS="-L. -lgauche-math3d" GLUT_EXTRALIBS="-L. -lgauche-gl -lgauche-math3d" ;; esac GAUCHE_PACKAGE_CONFIGURE_ARGS="`echo ""$ac_configure_args"" | sed 's/\\""\`\$/\\\&/g'`" { $as_echo "$as_me:${as_lineno-$LINENO}: creating ${PACKAGE_NAME}.gpd" >&5 $as_echo "$as_me: creating ${PACKAGE_NAME}.gpd" >&6;} "$GAUCHE_PACKAGE" make-gpd "$PACKAGE_NAME" \ -version "$PACKAGE_VERSION" \ -configure "./configure $GAUCHE_PACKAGE_CONFIGURE_ARGS" echo $PACKAGE_VERSION > VERSION ac_config_files="$ac_config_files Makefile src/Makefile lib/Makefile cg/Makefile doc/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by Gauche-gl $as_me 0.6, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to <shiro@acm.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ Gauche-gl config.status 0.6 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "cg/Makefile") CONFIG_FILES="$CONFIG_FILES cg/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' <conf$$subs.awk | sed ' /^[^""]/{ N s/\n// } ' >>$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi ������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/configure.ac��������������������������������������������������������������������������0000664�0000764�0000764�00000010524�12371574346�014523� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������dnl dnl Configuring gauche-gl dnl process this file with "autoconf" to generate 'configure'. dnl AC_PREREQ(2.54) AC_INIT(Gauche-gl, 0.6, shiro@acm.org) AC_CANONICAL_SYSTEM AC_PATH_XTRA case "$target" in *-*-cygwin*) if test "x-$have_x" = "x-disabled" -o "x-$have_x" = "x-no"; then LIBGLUT=glut32; else LIBGLUT=glut CPPFLAGS="$CPPFLAGS -I$x_includes"; fi;; *) LIBGLUT=glut;; esac # options for configure scripts GLUT_LIB="-l$LIBGLUT" AC_ARG_WITH(glut, [ --with-glut[=PATH]: Use GLUT library installed under PATH. By default, Gauche-gl assumes GLUT is installed in the system standard location. If you do not want to use GLUT support, specify --with-glut=no. On MinGW you can statically link freeglut included in the source. If you want to choose so, say --with-glut=mingw-static.], [ case $with_glut in no) GLUT_LIB= ;; yes) GLUT_LIB="-l$LIBGLUT";; mingw-static) GLUT_LIB="-lfreeglut_static -lgdi32 -lwinmm" GLUT_INCDIR="-I../win32/freeglut-2.6.0-3/include -DFREEGLUT_STATIC" GLUT_LIBDIR="-L../win32/freeglut-2.6.0-3/lib";; *) GLUT_LIB="-l$LIBGLUT" GLUT_INCDIR="-I$with_glut/include" GLUT_LIBDIR="-L$with_glut/lib";; esac ]) AC_ARG_ENABLE(cg, AC_HELP_STRING([--enable-cg], [Enable NVidia's Cg binding.]), [ AC_DEFINE(HAVE_CG, 1) ENABLE_CG=1 CG_LIBS="-lCgGL -lCg" CG_SCM="cg/gl/cg.scm"; ]) AC_SUBST(ENABLE_CG) AC_SUBST(CG_LIBS) AC_SUBST(CG_SCM) dnl Set up gauche related commands. The commands are set by scanning dnl PATH. You can override them by "GOSH=/my/gosh ./configure" etc. AC_PATH_PROG([GOSH], gosh) AC_PATH_PROG([GAUCHE_CONFIG], gauche-config) AC_PATH_PROG([GAUCHE_PACKAGE], gauche-package) AC_PATH_PROG([GAUCHE_INSTALL], gauche-install) AC_PATH_PROG([GAUCHE_CESCONV], gauche-cesconv) dnl Usually these parameters are set by AC_PROG_CC, but we'd rather use dnl the same one as Gauche has been compiled with. SOEXT=`"$GAUCHE_CONFIG" --so-suffix` OBJEXT=`"$GAUCHE_CONFIG" --object-suffix` EXEEXT=`"$GAUCHE_CONFIG" --executable-suffix` AC_SUBST(SOEXT) AC_SUBST(OBJEXT) AC_SUBST(EXEEXT) # Check for headers AC_CHECK_HEADERS(GL/glx.h, [ # OpenGL/X11 # NB: FreeBSD seems to need -lX11 -lXext. We are on X11 system anyway, # so I assume this won't do any harm. GL_LIBS='-lGLU -lGL -lX11 -lXext' GLUT_LIB="$GLUT_LIB -lXmu -lXi" ], ,) AC_CHECK_HEADERS(GLUT/glut.h, [ case $target in *-apple-darwin*) AC_DEFINE(MacOSX, 1) # darwin which has GLUT/glut.h is MacOSX GL_LIBS='-framework OpenGL -framework GLUT' # GLUT for glutGetProcAddress GLUT_LIB='-framework GLUT' ;; *) # other OSes w/o X11 but have GLUT/glut.h. Possibly MacOS9?? ;; esac ], ,) if test "$GL_LIBS" = ""; then case $target in *-*-cygwin*|*-*-mingw*) GL_LIBS='-lglu32 -lopengl32' ;; *) GL_LIBS='-lGLU -lGL' ;; esac fi # On MinGW, we use GLEW so that we can get newer GL features; the GL header # comes with MinGW installation is very old. # TODO: We might add --with-glew configure option so that we can use glew # on other platforms. At this moment, though, Gauche-gl has its own # runtime name lookup system, so having glew isn't vital on other platforms. case $target in *-*-mingw*) AC_DEFINE(HAVE_GL_GLEW_H) GLEW_INCDIR="-I../win32/glew-1.10.0/include -DGLEW_STATIC" GLEW_SOURCE="../win32/glew-1.10.0/src/glew.c" esac AC_SUBST(GL_LIBS) AC_SUBST(GLUT_LIB) AC_SUBST(GLUT_INCDIR) AC_SUBST(GLUT_LIBDIR) AC_SUBST(GLEW_INCDIR) AC_SUBST(GLEW_SOURCE) # Check for other programs. AC_CHECK_PROGS(MAKEINFO, makeinfo) AC_CHECK_PROGS(GZIP_PROGRAM, gzip) # Check for libraries # on cygwin, we need several extra -l flags. case "$target" in *-*-cygwin*|*-*-mingw*) LIBS="-lgauche-uvector $LIBS" GL_EXTRALIBS="-L. -lgauche-math3d" GLUT_EXTRALIBS="-L. -lgauche-gl -lgauche-math3d" ;; esac AC_SUBST(GL_EXTRALIBS) AC_SUBST(GLUT_EXTRALIBS) dnl Creating gpd (gauche package description) file GAUCHE_PACKAGE_CONFIGURE_ARGS="`echo ""$ac_configure_args"" | sed 's/[\\""\`\$]/\\\&/g'`" AC_MSG_NOTICE([creating ${PACKAGE_NAME}.gpd]) "$GAUCHE_PACKAGE" make-gpd "$PACKAGE_NAME" \ -version "$PACKAGE_VERSION" \ -configure "./configure $GAUCHE_PACKAGE_CONFIGURE_ARGS" dnl Output echo $PACKAGE_VERSION > VERSION AC_OUTPUT(Makefile src/Makefile lib/Makefile cg/Makefile doc/Makefile) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/config.guess��������������������������������������������������������������������������0000755�0000764�0000764�00000112274�11533026402�014540� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-07-12' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Written by Per Bothner <bothner@cygnus.com>. # Please send patches to <config-patches@gnu.org>. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi dummy=dummy-$$ trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int dummy(){}" > $dummy.c ; for c in cc gcc c89 ; do ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; if test $? = 0 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; rm -f $dummy.c $dummy.o $dummy.rel ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # Netbsd (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # Determine the machine/vendor (is the vendor relevant). case "${UNAME_MACHINE}" in amiga) machine=m68k-unknown ;; arm32) machine=arm-unknown ;; atari*) machine=m68k-atari ;; sun3*) machine=m68k-sun ;; mac68k) machine=m68k-apple ;; macppc) machine=powerpc-apple ;; hp3[0-9][05]) machine=m68k-hp ;; ibmrt|romp-ibm) machine=romp-ibm ;; *) machine=${UNAME_MACHINE}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE}" in i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. cat <<EOF >$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; esac fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; arc64:OpenBSD:*:*) echo mips64el-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hkmips:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; atari*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; sun3*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include <stdio.h> /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then sed 's/^ //' << EOF >$dummy.c #include <sys/systemcfg.h> main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) case "${HPUX_REV}" in 11.[0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; esac ;; esac fi ;; esac if [ "${HP_ARCH}" = "" ]; then sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include <stdlib.h> #include <unistd.h> int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF eval $set_cc_for_build (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) sed 's/^ //' << EOF >$dummy.c #include <unistd.h> int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; hppa*:OpenBSD:*:*) echo hppa-unknown-openbsd exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*X-MP:*:*:*) echo xmp-cray-unicos exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3D:*:*:*) echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in big) echo mips-unknown-linux-gnu && exit 0 ;; little) echo mipsel-unknown-linux-gnu && exit 0 ;; esac ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev67 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. ld_supported_targets=`cd /; ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf cat >$dummy.c <<EOF #include <features.h> #ifdef __cplusplus #include <stdio.h> /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 printf ("%s-pc-linux-gnu\n", argv[1]); # else printf ("%s-pc-linux-gnulibc1\n", argv[1]); # endif # else printf ("%s-pc-linux-gnulibc1\n", argv[1]); # endif #else printf ("%s-pc-linux-gnuaout\n", argv[1]); #endif return 0; } EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i*86:*:5:[78]*) case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` echo ${UNAME_MACHINE}-pc-isc$UNAME_REL elif /bin/uname -X 2>/dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says <Richard.M.Bartel@ccMail.Census.GOV> echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes <hewes@openmarket.com>. # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) if test "${UNAME_MACHINE}" = "x86pc"; then UNAME_MACHINE=pc fi echo `uname -p`-${UNAME_MACHINE}-nto-qnx exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[KW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 cat >$dummy.c <<EOF #ifdef _SEQUENT_ # include <sys/types.h> # include <sys/utsname.h> #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include <sys/param.h> printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include <sys/param.h> # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 <<EOF $0: unable to guess system type This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from ftp://ftp.gnu.org/pub/gnu/config/ If the version you run ($0) is already up to date, please send the following data and any information you think might be pertinent to <config-patches@gnu.org> in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/install-sh����������������������������������������������������������������������������0000755�0000764�0000764�00000012736�11533026402�014226� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 ����������������������������������Gauche-gl-0.6/config.sub����������������������������������������������������������������������������0000755�0000764�0000764�00000066305�11533026402�014206� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-06-08' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to <config-patches@gnu.org>. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ | pyramid | mn10200 | mn10300 | tron | a29k \ | 580 | i960 | h8300 \ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ | hppa64 \ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ | alphaev6[78] \ | we32k | ns16k | clipper | i370 | sh | sh[34] \ | powerpc | powerpcle \ | 1750a | dsp16xx | pdp10 | pdp11 \ | mips16 | mips64 | mipsel | mips64el \ | mips64orion | mips64orionel | mipstx39 | mipstx39el \ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ | mips64vr5000 | mips64vr5000el | mcore | s390 | s390x \ | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \ | v850 | c4x \ | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \ | pj | pjl | h8500 | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. # FIXME: clean up the formatting here. vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ | xmp-* | ymp-* \ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ | hppa2.0n-* | hppa64-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ | alphaev6[78]-* \ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ | clipper-* | orion-* \ | sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \ | powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \ | mips16-* | mips64-* | mipsel-* \ | mips64el-* | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ | mipstx39-* | mipstx39el-* | mcore-* \ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \ | [cjt]90-* \ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \ | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | ymp) basic_machine=ymp-cray os=-unicos ;; cray2) basic_machine=cray2-cray os=-unicos ;; [cjt]90) basic_machine=${basic_machine}-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu ;; mips*-linux*) basic_machine=mips-unknown os=-linux-gnu ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sparclite-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=t3e-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; windows32) basic_machine=i386-pc os=-windows32-msvcrt ;; xmp) basic_machine=xmp-cray os=-unicos ;; xps | xps100) basic_machine=xps100-honeywell ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown else basic_machine=mips-mips fi ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4) basic_machine=sh-unknown ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; c4x*) basic_machine=c4x-none os=-coff ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto*) os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/mkinstalldirs�������������������������������������������������������������������������0000755�0000764�0000764�00000001324�11533026402�015017� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman <friedman@prep.ai.mit.edu> # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs,v 1.1 2003-10-10 02:19:54 shirok Exp $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/Makefile.in���������������������������������������������������������������������������0000664�0000764�0000764�00000003535�12341047042�014267� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������CONFIG_GENERATED = Makefile Gauche-gl.gpd \ config.cache config.log config.status autom4te*.cache .PHONY: all check clean distclean install maintainer-clean GAUCHE_CONFIG = "@GAUCHE_CONFIG@" INSTALL = "@GAUCHE_INSTALL@" DESTDIR = SCM_INSTALL_DIR = "$(DESTDIR)`$(GAUCHE_CONFIG) --sitelibdir`" INSTALL_ROOT = "$(DESTDIR)`$(GAUCHE_CONFIG) --prefix`" ENABLE_CG = @ENABLE_CG@ all : cd src; $(MAKE) all if test X$(ENABLE_CG) != X; then (cd cg; $(MAKE) all); fi cd doc; $(MAKE) all check : all cd src; $(MAKE) check if test X$(ENABLE_CG) != X; then (cd cg; $(MAKE) check); fi clean : rm -rf core *~ cd src; $(MAKE) clean cd lib; $(MAKE) clean cd cg; $(MAKE) clean cd doc; $(MAKE) clean distclean : clean cd src; $(MAKE) distclean cd lib; $(MAKE) distclean cd cg; $(MAKE) distclean cd doc; $(MAKE) distclean rm -rf $(CONFIG_GENERATED) install : cd src; $(MAKE) install cd lib; $(MAKE) install if test X$(ENABLE_CG) != X; then (cd cg; $(MAKE) install); fi cd doc; $(MAKE) install $(INSTALL) -m 444 -T $(SCM_INSTALL_DIR)/.packages Gauche-gl.gpd uninstall : cd src; $(MAKE) uninstall cd lib; $(MAKE) uninstall if test X$(ENABLE_CG) != X; then (cd cg; $(MAKE) uninstall); fi cd doc; $(MAKE) uninstall $(INSTALL) -U $(SCM_INSTALL_DIR)/.packages Gauche-gl.gpd maintainer-clean : clean cd src; $(MAKE) maintainer-clean cd lib; $(MAKE) maintainer-clean cd cg; $(MAKE) maintainer-clean cd doc; $(MAKE) maintainer-clean rm -rf configure VERSION $(CONFIG_GENERATED) # We don't normally install examples. On MinGW, it will be useful to # include examples in the bindary distribution. install-examples : install $(INSTALL) -T $(INSTALL_ROOT) -m 444 \ examples/gears.scm examples/mandelbrot.scm \ examples/glbook/*.scm examples/glbook/README \ examples/images/*.rgb \ examples/simple/*.scm �������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/VERSION�������������������������������������������������������������������������������0000664�0000764�0000764�00000000004�12371574446�013276� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0.6 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/INSTALL�������������������������������������������������������������������������������0000644�0000764�0000764�00000004772�12371574452�013272� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@c -*- coding:utf-8 -*- Gauche-gl - Gauche OpenGL binding Up-to-date information about Gauche-gl is posted to the following URL: http://practical-scheme.net/gauche/ Prerequisites ---------------------------------------------------------- * Gauche 0.9.3 or later must be installed. * OpenGL 1.1 or later, or Mesa 3.0 or later, required. * GLUT 3.7 or later is required (except when you compile on MinGW; see below.) Quick Start ---------------------------------------------------------- % ./configure % make % make install Configure script figures out the necessary compiler options and the install location from the installed Gauche. Location of GLUT Library ---------------------------------------------------------- If you have GLUT installed in non-standard place, you have to tell the configure script where it is. ./configure --with-glut=DIR On MinGW, you can choose an option to use freeglut-2.6 binary included in the source tree instead of a separate GLUT library. The freeglut library is statically linked, which is convenient if you want to distribute your script. If you choose to do so, configure with the following option. ./configure --with-glut=mingw-static If you distribute compiled libgauche-glut.dll with statically linked freeglut, check win32/freeglut-2.6.0-3/Copying.txt. Freeglut is basically a MIT-like license, but you need to include the copyright notice in your distribution. NVidia Cg binding ---------------------------------------------------------- Optionally you can build and install NVidia's Cg Toolkit bindings, written by Issac Trotts. It only covers a part of API yet, but some examples are runnable. To build and install Cg binding, give --enable-cg to the configure script. ./configure --enable-cg NVidia's Cg Toolkit has to be installed before building the binding. You can download the toolkit from the following URL. http://developer.nvidia.com/object/cg_toolkit.html Platform-specific information ---------------------------------------------------------- It is reported that Mesa in FreeBSD ports is compiled with pthreads enabled. Thus Gauche-gl can't be linked unless Gauche itself is compiled with pthreads. The configure script of Gauche prints warning if you specify pthreads, but it is safe as far as you don't call make-thread in your program. On OSX 10.9 or later you'll get tons of warnings during compiling since they deprecate GLUT. It doesn't affect using the library. We'll provide alternatives in near future. ������Gauche-gl-0.6/examples/�����������������������������������������������������������������������������0000755�0000764�0000764�00000000000�12042226525�014033� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/cg/��������������������������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�014420� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/cg/run�����������������������������������������������������������������������0000755�0000764�0000764�00000000172�11533026402�015152� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh if [ "$1" = "" ]; then echo "Usage: ./run <program.scm>" else gosh -I../../lib -I../../src -I../../cg $@ fi ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/cg/checkered-sphere-cg.scm���������������������������������������������������0000644�0000764�0000764�00000040602�11533026402�020716� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ ; Basic example of the use of the Cg runtime in a simple OpenGL program. ; ; This demo originated from examples/runtime_ogl_vertex_fragment/ in the Cg ; distribution. It was ported to Gauche by Issac Trotts in 2005. ; ; The port involved some changes. ; The function cgSetErrorCallback is ; not explicitly called, since the Gauche Cg binding automatically ; sets things up to generate an informative exception whenever a Cg ; error occurs. ; The vertex program and fragment program are ; kept in this file as strings rather than in separate files. ; Scheme's nice handling of multiline literal strings makes this a ; reasonable thing to do, though it does seem to play havoc on ; syntax highlighting in emacs and Vim. ; The computation of the checkerboard was made more efficient to avoid a long ; wait at startup. ; A display list was added to minimize the amount of traffic on the bus, in the hope ; that the occasional slow-downs would go away. This didn't really work as well ; as I had hoped. The C version doesn't seem to have this problem, at least not ; as bad, so I guess it has something to do with garbage collection turning on from ; time to time. ; ; -ijt ; Here is the original copyright notice: ; ; Copyright NVIDIA Corporation 2002 ; TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW THIS SOFTWARE IS PROVIDED ; *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES EITHER EXPRESS ; OR IMPLIED INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY ; AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS ; BE LIABLE FOR ANY SPECIAL INCIDENTAL INDIRECT OR CONSEQUENTIAL DAMAGES ; WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS ; BUSINESS INTERRUPTION LOSS OF BUSINESS INFORMATION OR ANY OTHER PECUNIARY LOSS) ; ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE EVEN IF NVIDIA HAS ; BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. (use gl) (use gl.glut) (use gl.math3d) (use gl.cg) (use gauche.sequence) (use gauche.uvector) (use gauche.array) (define *context* #f) ;; Choose the vertex and fragment profiles to use. Try to use ;; CG_PROFILE_ARBVFP1 and CG_PROFILE_ARBFP1 depending on hardware support. ;; If those aren't available fall back to CG_PROFILE_VP30 and ;; CG_PROFILE_FP30 respectively. (define *vertex-profile* #f) (define *fragment-profile* #f) (define *vertex-program-string* " void main(float4 Pobject : POSITION, float3 Nobject : NORMAL, float2 TexUV : TEXCOORD0, float3 diffuse : TEXCOORD1, float3 specular : TEXCOORD2, uniform float4x4 ModelViewProj, uniform float4x4 ModelView, uniform float4x4 ModelViewIT, out float4 HPosition : POSITION, out float3 Peye : TEXCOORD0, out float3 Neye : TEXCOORD1, out float2 uv : TEXCOORD2, out float3 Kd : COLOR0, out float3 Ks : COLOR1) { // compute homogeneous position of vertex for rasterizer HPosition = mul(ModelViewProj, Pobject); // transform position and normal from model-space to view-space Peye = mul(ModelView, Pobject).xyz; Neye = mul(ModelViewIT, float4(Nobject, 0)).xyz; // pass uv, Kd, and Ks through unchanged; if they are varying // per-vertex, however, they'll be interpolated before being // passed to the fragment program. uv = TexUV; Kd = diffuse; Ks = specular; } ") (define *fragment-program-string* " // Utility functions that return the appropriate components from the vector // of lighting coefficients returned by the standard library lighting // funciton, lit(). half diffuse(half4 l) { return l.y; } half specular(half4 l) { return l.z; } // Main shader. half4 main(float3 Peye : TEXCOORD0, half3 Neye : TEXCOORD1, half2 uv : TEXCOORD2, half3 Kd : COLOR0, half3 Ks : COLOR1, uniform sampler2D diffuseMap, uniform float3 Plight, uniform half3 lightColor, uniform half3 shininess) : COLOR { // Normalize surface normal, vector to light source, and vector // to the viewer half3 N = normalize(Neye); half3 L = normalize(Plight - Peye); half3 V = normalize(-Peye); // Compute half-angle vector for specular lighting half3 H = normalize(L + V); // Compute lighting values. lit() returns the diffuse coefficient // in y (or zero, if NdotL < 0), and the specular coefficient in z // (or zero, also if NdotL < 0). half NdotL = dot(N, L), NdotH = dot(N, H); half4 lighting = lit(NdotL, NdotH, shininess); // Compute overall color for the fragment. Scale sum of diffuse // and specular contributions together and by the light color. half tmp = (half)tex2D(diffuseMap, uv).x; half3 tmp3 = half3(tmp,tmp,tmp); // half eps = 0.005; // half tmp = 0.5*(1.0+sin(16*3.1415927*uv.x)*sin(16*3.1415927*uv.y)); // tmp = tmp < (0.5-eps) ? 0.1 : (tmp > 0.5+eps) ? 0.7 : 0.5; // half3 tmp3 = half3(tmp,tmp,tmp); half3 C = lightColor * (diffuse(lighting) * Kd * tmp3 + specular(lighting) * Ks); // Here is a way to do ad-hoc antialiasing by turning on alpha-blending // wherever the normal is roughly perpendicular to the viewing vector. // -ijt // half epsz = 0.2; // return half4(C, abs(N.z)<=epsz?0.2:1.0); return half4(C, 1); // Set the alpha value to 1. } ") (define *vertex-program* #f) (define *fragment-program* #f) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Main program; do basic GLUT and Cg setup but leave most of the work ;; to the on-display() function. (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGB GLUT_DEPTH GLUT_ALPHA)) (glut-init-window-size 512 512) (glut-create-window "Cg checkered sphere demo") (glut-keyboard-func keyboard) (glut-display-func on-display) (glut-main-loop) 0) ;; display callback function (define on-display (let ((have-initialized #f) (cur-time 0)) (lambda () (if (not have-initialized) (begin ;; Do one-time setup only once; setup Cg programs and textures ;; and set up Open-gL state. (load-gpu-programs) (load-textures) (gl-enable GL_DEPTH_TEST) (gl-enable GL_BLEND) (gl-blend-func GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA) (set! have-initialized #t) )) ;; The usual Open-gL stuff to clear the screen and set up viewing. (gl-clear-color .25 .25 .25 1.) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 30. 1.0 .1 100) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (glu-look-at 4 4 -4 0 0 0 0 1 0) ;; Make the object rotate a bit each time the display function ;; is called (gl-rotate (modulo cur-time 360) 0 1 0) ;; Now make sure that the vertex and fragment programs loaded ;; in Load-cg-programs) are bound. (cg-gl-bind-program *vertex-program*) (cg-gl-bind-program *fragment-program*) ;; Bind uniform parameters to vertex shader (cg-gl-set-state-matrix-parameter (cg-get-named-parameter *vertex-program* "ModelViewProj") CG_GL_MODELVIEW_PROJECTION_MATRIX CG_GL_MATRIX_IDENTITY) (cg-gl-set-state-matrix-parameter (cg-get-named-parameter *vertex-program* "ModelView") CG_GL_MODELVIEW_MATRIX CG_GL_MATRIX_IDENTITY) (cg-gl-set-state-matrix-parameter (cg-get-named-parameter *vertex-program* "ModelViewIT") CG_GL_MODELVIEW_MATRIX CG_GL_MATRIX_INVERSE_TRANSPOSE) ;; We can also go ahead and bind varying parameters to vertex shader ;; that we just want to have the same value for all vertices. The ;; vertex shader could be modified so that these were uniform for ;; better efficiency but this gives us flexibility for the future. (cg-gl-set-parameter (cg-get-named-parameter *vertex-program* "diffuse") '#f32(.7 .2 .2)) (cg-gl-set-parameter (cg-get-named-parameter *vertex-program* "specular") '#f32(.9 .9 .9)) ;; Now bind uniform parameters to fragment shader (cg-gl-set-parameter (cg-get-named-parameter *fragment-program* "Plight") #,(vector4f 3 2 -3 1)) (cg-gl-set-parameter (cg-get-named-parameter *fragment-program* "lightColor") '#f32(1 1 1)) (cg-gl-set-parameter (cg-get-named-parameter *fragment-program* "shininess") 40) ;; And finally enable the approprate texture for fragment shader; the ;; texture was originally set up in load-textures). (cg-gl-enable-texture-parameter (cg-get-named-parameter *fragment-program* "diffuseMap")) ;; And go ahead and draw the scene geometry (draw-geometry) ;; Disable the texture now that we're done with it. (cg-gl-disable-texture-parameter (cg-get-named-parameter *fragment-program* "diffuseMap")) (glut-swap-buffers) (inc! cur-time) ;; Force another display so that the object keeps moving (glut-post-redisplay) ))) (define GL_GENERATE_MIPMAP #x8191) (define (load-textures) ;; There is only one texture needed here--we'll set up a basic ;; checkerboard--which is used to modulate the diffuse channel in the ;; fragment shader. (let ((handle (ref (gl-gen-textures 1) 0))) ;; Basic Open-gL texture state setup (gl-bind-texture GL_TEXTURE_2D handle) (auto-generate-mipmaps! #t) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_LINEAR_MIPMAP_LINEAR) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_LINEAR) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_CLAMP_TO_EDGE) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_CLAMP_TO_EDGE) ;; Fill in the texture map. (let* ((res 256) (data (make-f32array (shape 0 res 0 res) 0.0)) (bleh (/ res 16))) (dotimes (i res) (dotimes (j res) (if (= 0 (modulo (+ (floor (/ i bleh)) (floor (/ j bleh))) 2)) (array-set! data i j 0.1) (array-set! data i j 0.7) ))) (gl-tex-image-2d GL_TEXTURE_2D 0 GL_LUMINANCE res res 0 GL_LUMINANCE GL_FLOAT (array->f32vector data)) ;; Tell Cg which texture handle should be associated with the sampler2D ;; parameter to the fragment shader. (cg-gl-set-texture-parameter (cg-get-named-parameter *fragment-program* "diffuseMap") handle) ))) ;; This seems inefficient. Is there a way to get a pointer to the start of the ;; array's memory so we can just hand it off to OpenGL or Cg? -ijt (define (array->f32vector a) (vector->f32vector (array->vector a))) (define pi (imag-part (log -1.0))) (define nu 60) (define nv 60) (define us (tabulate-array (shape 0 nu) (lambda (iu) (/ iu (- nu 1))))) (define vs (tabulate-array (shape 0 nv) (lambda (iv) (/ iv (- nv 1))))) (define uvs (let ((uvs (make-f32array (shape 0 nu 0 nv 0 2) 0.0))) (dotimes (iu nu) (dotimes (iv nv) (array-set! uvs iu iv 0 (array-ref us iu)) (array-set! uvs iu iv 1 (array-ref vs iv)) )) (array->f32vector uvs))) (define thetas (array-map (cut * pi <>) us)) (define phis (array-map (cut * 2.0 pi <>) vs)) (define P ; points (let ((xyz (make-f32array (shape 0 nu 0 nv 0 3) 0.0))) (dotimes (iu nu) (dotimes (iv nv) (let* ((theta (array-ref thetas iu)) (phi (array-ref phis iv))) (array-set! xyz iu iv 0 (* (sin theta) (sin phi))) (array-set! xyz iu iv 1 (* (sin theta) (cos phi))) (array-set! xyz iu iv 2 (* (cos theta)))))) (array->f32vector xyz))) (define N P) ; normals (define ntris (* 2 (- nu 1) (- nv 1))) (define indices-per-tri 3) (define indices (let* ((indices (make-u32vector (* ntris indices-per-tri))) (vert-index (lambda (iu iv) (+ iu (* iv nu)))) (k -1) (set-next! (lambda (a b) (u32vector-set! indices (inc! k) (vert-index a b))))) (dotimes (iu (- nu 1)) (dotimes (iv (- nv 1)) (set-next! iu iv) (set-next! (+ iu 1) iv) (set-next! (+ iu 1) (+ iv 1)) (set-next! iu iv) (set-next! (+ iu 1) (+ iv 1)) (set-next! iu (+ iv 1)) )) indices)) ;; Geometry creation and drawing function; we'll just draw a sphere. (define draw-geometry (let ((first-time #t) (display-list #f)) (lambda () ;; Tell Cg which of these data pointers are associated with which ;; parameters to the vertex shader so that when we call ;; cg-gLEnable-client-state) and then gl-draw-elements) the shader ;; gets the right input information. (if first-time (begin (cg-gl-set-parameter-pointer (cg-get-named-parameter *vertex-program* "Pobject") 3 GL_FLOAT 0 P) (cg-gl-set-parameter-pointer (cg-get-named-parameter *vertex-program* "Nobject") 3 GL_FLOAT 0 N) (cg-gl-set-parameter-pointer (cg-get-named-parameter *vertex-program* "TexUV") 2 GL_FLOAT 0 uvs) ;; In an earlier version of the ported demo, I was passing ;; in (array->f32vector uvs) since uvs was an array. ;; This produced undesired results because the temporary f32vector ;; was then garbage collected after a few seconds. (set! first-time #f))) (let ((names (list "Pobject" "Nobject" "TexUV"))) ;; Enable the bindings to the parameters (for-each (lambda (name) (cg-gl-enable-client-state (cg-get-named-parameter *vertex-program* name))) names) ;; Enable the texture parameter as well. (cg-gl-enable-texture-parameter (cg-get-named-parameter *fragment-program* "diffuseMap")) ;; And now draw the geometry. (cond (display-list (gl-call-list display-list)) (else (set! display-list (gl-gen-lists 1)) (gl-new-list display-list GL_COMPILE_AND_EXECUTE) (gl-draw-elements GL_TRIANGLES indices) (gl-end-list) )) ;; Be a good citizen and disable the various bindings we set up above. (for-each (lambda (name) (cg-gl-disable-client-state (cg-get-named-parameter *vertex-program* name))) names) (cg-gl-disable-texture-parameter (cg-get-named-parameter *fragment-program* "diffuseMap")) )))) (define (keyboard key x y) (let ((ikey (if (char? key) (char->integer key) key))) (case key (('q' 'Q' #\escape) (cg-destroy-context *context*) (exit 0))))) (define (load-gpu-programs) (set! *context* (cg-create-context)) (set! *vertex-profile* (cond ((cg-gl-is-profile-supported CG_PROFILE_ARBVP1) CG_PROFILE_ARBVP1) ((cg-gl-is-profile-supported CG_PROFILE_VP30) CG_PROFILE_VP30) (else (error "Neither arbvp1 or vp30 vertex profiles supported on this system.")))) (set! *fragment-profile* (cond ((cg-gl-is-profile-supported CG_PROFILE_ARBFP1) CG_PROFILE_ARBFP1) ((cg-gl-is-profile-supported CG_PROFILE_FP30) CG_PROFILE_FP30) (else (error "Neither arbfp1 nor fp30 fragment profiles supported")))) (set! *vertex-program* (cg-create-program *context* CG_SOURCE *vertex-program-string* *vertex-profile* "main" '() )) (set! *fragment-program* (cg-create-program *context* CG_SOURCE *fragment-program-string* *fragment-profile* "main" '() )) (cg-compile-program *vertex-program*) (cg-compile-program *fragment-program*) (cg-gl-enable-profile *vertex-profile*) (cg-gl-enable-profile *fragment-profile*) (cg-gl-load-program *vertex-program*) (cg-gl-load-program *fragment-program*) ) ������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/cg/README��������������������������������������������������������������������0000644�0000764�0000764�00000000560�11533026402�015301� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������This directory contains a couple of examples ported from NVidia's Cg distribution. Porting is done by Issac Trotts. The original program is copyrighted by NVidia Corporation. See the source for the complete notice. A shell script `run' is included to run the demos conveniently. After building Gauche-gl with --enable-cg, try: ./run checkered-sphere-cg.scm ������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/cg/cg-gl-vertex-example.scm��������������������������������������������������0000644�0000764�0000764�00000012303�11533026402�021060� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; This is a port, to Gauche, of a demo included with the Cg distribution. ; Port by Issac Trotts, 2005 (use gl) (use gl.glut) (use gl.math3d) (use gl.cg) (use gauche.array) (use gauche.uvector) (use gauche.sequence) (use srfi-1) ; list ops ;; Static Data (define *texture-res* 512) (define *context* #f) (define *program* #f) (define *kd-param* #f) ; diffuse lighting coefficient (define *model-view-proj-param* #f) (define *test-color-param* #f) (define *profile* #f) (define *light-diffuse* (f32vector 1 0 0 1)) (define *light-position* (f32vector 1 1 1 0)) (define *cube-normals* (list (vector4f -1.0 0.0 0.0) (vector4f 0.0 1.0 0.0) (vector4f 1.0 0.0 0.0) (vector4f 0.0 -1.0 0.0) (vector4f 0.0 0.0 1.0) (vector4f 0.0 0.0 -1.0) )) (define *cube-faces* #,(<u32array> (0 6 0 4) 0 1 2 3 3 2 6 7 7 6 5 4 4 5 1 0 5 6 2 1 7 4 0 3)) (define *cube-vertices* (let* ((v (list-tabulate 8 (lambda (i) (vector4f 0 0 0)))) (multiset (lambda (indices val) (for-each (lambda (ij) (set! (ref (list-ref v (car ij)) (cadr ij)) val)) indices)))) (multiset '((0 0) (1 0) (2 0) (3 0)) -1) (multiset '((4 0) (5 0) (6 0) (7 0)) 1) (multiset '((0 1) (1 1) (4 1) (5 1)) -1) (multiset '((2 1) (3 1) (6 1) (7 1)) 1) (multiset '((0 2) (3 2) (4 2) (7 2)) 1) (multiset '((1 2) (2 2) (5 2) (6 2)) -1) v )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define (draw-cube) ; ;; Set various uniform parameters including the Model-view-projection ;; matrix for transforming the incoming position into HPOS. ; (if *kd-param* (cg-gl-set-parameter *kd-param* 1.0 1.0 0.0 1.0)) ;; Set the concatenated modelview and projection matrices (if *model-view-proj-param* (cg-gl-set-state-matrix-parameter *model-view-proj-param* CG_GL_MODELVIEW_PROJECTION_MATRIX CG_GL_MATRIX_IDENTITY)) (cg-gl-bind-program *program*) (cg-gl-enable-profile *profile*) ; ;; Create cube with per-vertex varying attributes ; (dotimes (i 6) (gl-begin GL_QUADS) (gl-normal (list-ref *cube-normals* 0)) (cg-gl-set-parameter *test-color-param* 1.0 0.0 0.0) (gl-vertex (list-ref *cube-vertices* (array-ref *cube-faces* i 0))) (cg-gl-set-parameter *test-color-param* 0.0 1.0 0.0) (gl-vertex (list-ref *cube-vertices* (array-ref *cube-faces* i 1))) (cg-gl-set-parameter *test-color-param* 0.0 0.0 1.0) (gl-vertex (list-ref *cube-vertices* (array-ref *cube-faces* i 2))) (cg-gl-set-parameter *test-color-param* 1.0 1.0 1.0) (gl-vertex (list-ref *cube-vertices* (array-ref *cube-faces* i 3))) (gl-end) ) (cg-gl-disable-profile *profile*) ) (define (display) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (draw-cube) (glut-swap-buffers) ) (define (initialize-glut args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGB GLUT_DEPTH)) (glut-create-window *program-name*) (glut-display-func display) ;; Enable a single Open-gL light. (gl-light GL_LIGHT0 GL_DIFFUSE *light-diffuse*) (gl-light GL_LIGHT0 GL_POSITION *light-position*) (gl-enable GL_LIGHT0) (gl-enable GL_LIGHTING) ;; Use depth buffering for hidden surface elimination. (gl-enable GL_DEPTH_TEST) ;; Setup the view of the cube. (gl-matrix-mode GL_PROJECTION) (glu-perspective 40.0 ; field of view in degree 1.0 ; aspect ratio 1.0 ; Z near 10.0 ; zfar ) (gl-matrix-mode GL_MODELVIEW) (glu-look-at 0.0 0.0 5.0 ; eye is at (0 0 5) 0.0 0.0 0.0 ; center is at (0 0 0) 0.0 1.0 0.0) ; up is in positive Y direction ;; Adjust cube position to be asthetic angle. (gl-translate 0.0 0.0 -1.0) (gl-rotate 60 1.0 0.0 0.0) (gl-rotate -20 0.0 0.0 1.0) ) (define (main args) (initialize-glut args) (set! *profile* (cond ((cg-gl-is-profile-supported CG_PROFILE_VP20) CG_PROFILE_VP20) ((cg-gl-is-profile-supported CG_PROFILE_ARBVP1) CG_PROFILE_ARBVP1) (else (format #t "Video card does not support vertex programs exiting...\n") (exit -1)))) ;; Test cg-context creation (set! *context* (cg-create-context)) ;; Test adding source text to context (set! *program* (cg-create-program-from-file *context* CG_SOURCE "cg-gl-vertex-example.cg" *profile* "main" #f)) (print "---- PROGRAM BEGIN ----") (print (cg-get-program-string *program* CG_COMPILED_PROGRAM)) (print "---- PROGRAM END ----") (flush) (if *program* (begin (cg-gl-load-program *program*) (set! *kd-param* (cg-get-named-parameter *program* "Kd")) (set! *model-view-proj-param* (cg-get-named-parameter *program* "ModelViewProj")) (set! *test-color-param* (cg-get-named-parameter *program* "IN.TestColor")) ) (begin (format #t "Invalid GPU program\n") (flush) (exit 1))) (glut-main-loop) ; (cg-destroy-program *program*) ; (cg-destroy-context *context*) 0) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/cg/cg-gl-vertex-example.cg���������������������������������������������������0000644�0000764�0000764�00000000740�11533026402�020671� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ struct appdata { float4 position : POSITION; float3 normal : NORMAL; float3 color : DIFFUSE; float3 TestColor : SPECULAR; }; struct vfconn { float4 HPOS : POSITION; float4 COL0 : COLOR0; }; vfconn main(appdata IN, uniform float4 Kd, uniform float4x4 ModelViewProj) { vfconn OUT; OUT.HPOS = mul(ModelViewProj, IN.position); OUT.COL0.xyz = Kd.xyz * IN.TestColor.xyz; OUT.COL0.w = 1.0; return OUT; } // main ��������������������������������Gauche-gl-0.6/examples/mandelbrot.scm���������������������������������������������������������������0000644�0000764�0000764�00000005616�11533026402�016672� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; ;; Calculate and show Mandelbrot set. ;; (use gauche.uvector) (use gl) (use gl.glut) (use math.const) (define *size* 256) (define *image* (make-u8vector (* *size* *size* 3) 0)) (define *tex* #f) (define *speed-phi* 0) (define *xrot* 0) (define *yrot* 0) (define (fill-image) (dotimes (y *size*) (dotimes (x *size*) (let ((i (* (+ (* y *size*) x) 3)) (z (make-rectangular (- (* 3 (/ x *size*)) 2) (- (* 3 (/ y *size*)) 1.5)))) (letrec ((rank (lambda (zn n) (cond ((>= n 16) 0) ((>= (magnitude zn) 2) n) (else (rank (+ (* zn zn) z) (+ n 1))))))) (let ((r (rank z 0))) (u8vector-set! *image* i (ash (logand r #xc) 4)) (u8vector-set! *image* (+ i 1) (ash (logand r #x2) 6)) (u8vector-set! *image* (+ i 2) (ash (logand r #x1) 7)) )))))) (define (init) (fill-image) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) (set! *tex* (u32vector-ref (gl-gen-textures 1) 0)) (gl-bind-texture GL_TEXTURE_2D *tex*) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_REPEAT) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_REPEAT) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST) (gl-tex-image-2d GL_TEXTURE_2D 0 GL_RGB *size* *size* 0 GL_RGB GL_UNSIGNED_BYTE *image*) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-enable GL_TEXTURE_2D) (gl-tex-env GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_REPLACE) (gl-bind-texture GL_TEXTURE_2D *tex*) (gl-push-matrix) (gl-load-identity) (gl-translate 0.5 0.5 0.0) (gl-rotate *xrot* 1.0 0.0 0.0) (gl-rotate *yrot* 0.0 1.0 0.0) (gl-translate -0.5 -0.5 0.0) (gl-begin GL_QUADS) (gl-tex-coord '#f32(0.0 0.0)) (gl-vertex '#f32(0.0 0.0)) (gl-tex-coord '#f32(0.0 1.0)) (gl-vertex '#f32(0.0 1.0)) (gl-tex-coord '#f32(1.0 1.0)) (gl-vertex '#f32(1.0 1.0)) (gl-tex-coord '#f32(1.0 0.0)) (gl-vertex '#f32(1.0 0.0)) (gl-end) (gl-pop-matrix) (glut-swap-buffers) (gl-disable GL_TEXTURE_2D) (animate) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0 1 0 1) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (animate) (let1 speed (abs (sin (* *speed-phi* pi/180))) (set! *xrot* (fmod (+ *xrot* (/ speed 172.0)) 360.0)) (set! *yrot* (fmod (+ *yrot* (/ speed 334.0)) 360.0)) (set! *speed-phi* (fmod (+ *speed-phi* 0.003) 360.0))) (glut-post-redisplay) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGB)) (glut-init-window-size 256 256) (glut-create-window "mandelbrot") (init) ; (glut-idle-func animate) (glut-reshape-func reshape) (glut-display-func disp) (glut-main-loop) 0 ) ������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/gl-plot.scm������������������������������������������������������������������0000644�0000764�0000764�00000006544�12015756616�016137� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; Contributed by Issac Trotts ;;; (use gl) (use gl.glut) (use math.const) (define *pad* 30) (define (range n) (define (aux acc n) (if (<= n 0) acc (aux (cons (- n 1) acc) (- n 1)))) (aux '() n)) (define (iter f ls) (cond ((null? ls)) ; do nothing ((pair? ls) (f (car ls)) (iter f (cdr ls))) (else (error "Cannot iterate over a non-list")))) (define (iter2 f lsa lsb) (cond ((or (null? lsa) (null? lsb))) ; do nothing ((and (pair? lsa) (pair? lsb)) (f (car lsa) (car lsb)) (iter2 f (cdr lsa) (cdr lsb))) (else (error "Cannot iterate over a non-list")))) (define (draw-string x y s) (gl-raster-pos x y) (iter (lambda (c) (glut-bitmap-character GLUT_BITMAP_8_BY_13 (char->integer c))) (string->list s))) (define plot (let1 have-called-glut-init #f (lambda (f a b) (let ((w 500) (h 500)) (if (not have-called-glut-init) (begin (glut-init '()) (set! have-called-glut-init #t))) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGBA)) (glut-init-window-size w h) (glut-create-window "plot") ; Initialize GL (begin (gl-enable GL_BLEND) (gl-blend-func GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA) (gl-enable GL_LINE_SMOOTH) (gl-clear-color 1.0 1.0 1.0 1.0) ) (let* ((xs (map (lambda (x) (+ a (* (- b a) (/ x w)))) (range w))) (ys (map f xs)) (mx (apply max ys)) (mn (apply min ys))) (glut-reshape-func (lambda (new-w new-h) (gl-viewport 0 0 new-w new-h) (set! w new-w) (set! h new-h) )) (glut-display-func (lambda () (gl-clear GL_COLOR_BUFFER_BIT) (gl-color 0 0 0 1) ;; Draw the plot (begin (gl-viewport *pad* *pad* (- w (* 2 *pad*)) (- h (* 2 *pad*))) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d a b mn mx) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-begin GL_LINE_STRIP) (iter2 (lambda (x y) (gl-vertex x y 0.0)) xs ys) (gl-end) ) ;; Change to pixel coordinates (begin (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0 w 0 h) ) ;; Show a, b, min, max. (let1 pad2 (/ *pad* 2) (draw-string pad2 (/ h 2) (format #f "~a" a)) (draw-string (- w *pad*) (/ h 2) (format #f "~a" b)) (draw-string (/ w 2) (- h pad2) (format #f "~a" mx)) (draw-string (/ w 2) pad2 (format #f "~a" mn)) ) ;; Todo: Show axis labels. ;; Todo: show tick marks (glut-swap-buffers) )) (glut-keyboard-func (lambda (key x y) (case (integer->char key) ((#\q) (error "Don't worry about this error."))))) (guard (exc (else 'foo)) (glut-main-loop)) 0 ))))) ������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/����������������������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�015304� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/run�������������������������������������������������������������������0000755�0000764�0000764�00000001675�11533026402�016047� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env gosh ;; Run through all examples. (use file.util) (use srfi-1) (define (get-scripts) (sort (sys-glob "example*.scm") (lambda (a b) (let ((ma (#/example(\d+)-(\d+)/ a)) (mb (#/example(\d+)-(\d+)/ b))) (or (< (x->integer (ma 1)) (x->integer (mb 1))) (and (= (x->integer (ma 1)) (x->integer (mb 1))) (< (x->integer (ma 2)) (x->integer (mb 2))))))))) (define (get-script-titles scripts) (map (lambda (f) (cond ((#/^\;\;\s*/ (with-input-from-file f read-line)) => (lambda (m) (m 'after))) (else f))) scripts)) (define (main args) (let* ((scripts (get-scripts)) (titles (get-script-titles scripts))) (for-each (lambda (script title) (print title) (sys-system #`"gosh -I../../lib -I../../src ,script")) scripts titles)) 0) ;; Local variables: ;; mode: scheme ;; end: �������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example7-1.scm��������������������������������������������������������0000644�0000764�0000764�00000004154�11533026402�017674� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 7-1 Creating a Display List (use gl) (use gl.glut) (use math.const) (define *the-torus* 0) (define (torus numc numt) (let1 twopi (* 2 pi) (dotimes (i numc) (gl-begin GL_QUAD_STRIP) (dotimes (j (+ numt 1)) (for-each (lambda (k) (let* ((s (+ (modulo (+ i k) numc) 0.5)) (t (modulo j numt)) (x (* (+ 1 (* 0.1 (cos (* s (/ twopi numc))))) (cos (* t (/ twopi numt))))) (y (* (+ 1 (* 0.1 (cos (* s (/ twopi numc))))) (sin (* t (/ twopi numt))))) (z (* 0.1 (sin (* s (/ twopi numc)))))) (gl-vertex x y z))) '(1 0))) (gl-end)))) (define (init) (set! *the-torus* (gl-gen-lists 1)) (gl-new-list *the-torus* GL_COMPILE) (torus 8 25) (gl-end-list) (gl-shade-model GL_FLAT) (gl-clear-color 0.0 0.0 0.0 0.0) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color 1.0 1.0 1.0) (gl-call-list *the-torus*) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 30 (/ w h) 1.0 100.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (glu-look-at 0 0 10 0 0 0 0 1 0) ) (define (keyboard key x y) (cond ((or (= key (char->integer #\x)) (= key (char->integer #\X))) (gl-rotate 30 1.0 0.0 0.0) (glut-post-redisplay)) ((or (= key (char->integer #\y)) (= key (char->integer #\Y))) (gl-rotate 30 0.0 1.0 0.0) (glut-post-redisplay)) ((or (= key (char->integer #\i)) (= key (char->integer #\I))) (gl-load-identity) (glu-look-at 0 0 10 0 0 0 0 1 0) (glut-post-redisplay)) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-window-size 200 200) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example7-2.scm��������������������������������������������������������0000644�0000764�0000764�00000002431�11533026402�017671� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 7-2 Using a Display list (use gl) (use gl.glut) (define *list-name* 0) (define (init) (set! *list-name* (gl-gen-lists 1)) (gl-new-list *list-name* GL_COMPILE) (gl-color 1.0 0.0 0.0) (gl-begin GL_TRIANGLES) (gl-vertex 0.0 0.0) (gl-vertex 1.0 0.0) (gl-vertex 0.0 1.0) (gl-end) (gl-translate 1.5 0.0 0.0) (gl-end-list) (gl-shade-model GL_FLAT) ) (define (draw-line) (gl-begin GL_LINES) (gl-vertex 0.0 0.5) (gl-vertex 15.0 0.5) (gl-end)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color 0.0 1.0 0.0) (dotimes (i 10) (gl-call-list *list-name*)) (draw-line) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (glu-ortho-2d 0.0 1.0 (* -0.5 (/ h w)) (* 1.5 (/ h w))) (glu-ortho-2d 0.0 (* 2.0 (/ w h)) -0.5 1.5)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (cond ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 650 50) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example7-5.scm��������������������������������������������������������0000644�0000764�0000764�00000004656�11533026402�017707� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 7-5 Multiple Display Lists to Define a Stroked Font (use gl) (use gl.glut) (use gauche.uvector) (use srfi-13) (define *data* '((#\A (0 0 PT) (0 9 PT) (1 10 PT) (4 10 PT) (5 9 PT) (5 0 STROKE) (0 5 PT) (5 5 END)) (#\E (5 0 PT) (0 0 PT) (0 10 PT) (5 10 STROKE) (0 5 PT) (4 5 END)) (#\P (0 0 PT) (0 10 PT) (4 10 PT) (5 9 PT) (5 6 PT) (4 5 PT) (0 5 END)) (#\R (0 0 PT) (0 10 PT) (4 10 PT) (5 9 PT) (5 6 PT) (4 5 PT) (0 5 END)) (#\S (0 1 PT) (1 0 PT) (4 0 PT) (5 1 PT) (5 4 PT) (4 5 PT) (1 5 PT) (0 6 PT) (0 9 PT) (1 10 PT) (4 10 PT) (5 9 END)))) (define (draw-letter commands) (gl-begin GL_LINE_STRIP) (for-each (lambda (command) (gl-vertex (car command) (cadr command)) (case (caddr command) ((PT) (values)) ((STROKE) (gl-end) (gl-begin GL_LINE_STRIP)) ((END) (gl-end) (gl-translate 8.0 0.0 0.0)))) commands)) (define (init) (let1 base (gl-gen-lists 128) (gl-list-base base) (for-each (lambda (letter) (gl-new-list (+ base (char->integer (car letter))) GL_COMPILE) (draw-letter (cdr letter)) (gl-end-list)) *data*) (gl-new-list (+ base (char->integer #\space)) GL_COMPILE) (gl-translate 8.0 0.0 0.0) (gl-end-list))) (define (print-stroked-string s) (gl-call-lists s)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color 1.0 1.0 1.0) (gl-push-matrix) (gl-scale 2.0 2.0 2.0) (gl-translate 10.0 30.0 0.0) (print-stroked-string "A SPARE SERAPE APPEARS AS") (gl-pop-matrix) (gl-push-matrix) (gl-scale 2.0 2.0 2.0) (gl-translate 10.0 13.0 0.0) (print-stroked-string "APES PREPARE RARE PEPPERS") (gl-pop-matrix) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0.0 w 0.0 h) ) (define (keyboard key x y) (cond ((= key 32) ;space (glut-post-redisplay)) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 440 120) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ����������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example1-2.scm��������������������������������������������������������0000644�0000764�0000764�00000001471�11533026402�017666� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 1-2 (use gl) (use gl.glut) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-begin* GL_POLYGON (gl-vertex '#f32(0.25 0.25 0.0)) (gl-vertex '#f32(0.75 0.25 0.0)) (gl-vertex '#f32(0.75 0.75 0.0)) (gl-vertex '#f32(0.25 0.75 0.0)) ) (gl-flush) ) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho 0.0 1.0 0.0 1.0 -1.0 1.0) ) (define (keyboard key x y) (cond ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window "hello") (init) (glut-display-func disp) (glut-keyboard-func keyboard) (glut-main-loop) 0 ) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example1-3.scm��������������������������������������������������������0000644�0000764�0000764�00000002454�11533026402�017671� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 1-3 (use gl) (use gl.glut) (define *spin* 0.0) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-push-matrix) (gl-rotate *spin* 0.0 0.0 1.0) (gl-color '#f32(1.0 1.0 1.0)) (gl-rect '#f32(-25.0 -25.0) '#f32(25.0 25.0)) (gl-pop-matrix) (glut-swap-buffers) ) (define (spin-display) (set! *spin* (modulo (+ *spin* 2.0) 360.0)) (glut-post-redisplay) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho -50.0 50.0 -50.0 50.0 -1.0 1.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (mouse button state x y) (cond ((= button GLUT_LEFT_BUTTON) (when (= state GLUT_DOWN) (glut-idle-func spin-display))) ((= button GLUT_MIDDLE_BUTTON) (when (= state GLUT_DOWN) (glut-idle-func #f)))) ) (define (keyboard key x y) (cond ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGB)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-mouse-func mouse) (glut-main-loop) 0) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example8-1.scm��������������������������������������������������������0000644�0000764�0000764�00000002210�11533026402�017664� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 8-1 Drawing a Bitmapped Character (use gl) (use gl.glut) (use gauche.uvector) (define *rasters* '#u8(#xc0 #x00 #xc0 #x00 #xc0 #x00 #xc0 #x00 #xc0 #x00 #xff #x00 #xff #x00 #xc0 #x00 #xc0 #x00 #xc0 #x00 #xff #xc0 #xff #xc0)) (define (init) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (gl-clear-color 0.0 0.0 0.0 0.0)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color 1.0 1.0 1.0) (gl-raster-pos 20 20) (gl-bitmap 10 12 0.0 0.0 11.0 0.0 *rasters*) (gl-bitmap 10 12 0.0 0.0 11.0 0.0 *rasters*) (gl-bitmap 10 12 0.0 0.0 11.0 0.0 *rasters*) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho 0.0 w 0.0 h -1.0 1.0) (gl-matrix-mode GL_MODELVIEW) ) (define (keyboard key x y) (cond ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example8-2.scm��������������������������������������������������������0000644�0000764�0000764�00000007014�11533026402�017674� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 8-2 Drawing a Complete Font (use gl) (use gl.glut) (use gauche.uvector) (define *space* '#u8(#x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00)) (define *letters* '#(#u8(#x00 #x00 #xc3 #xc3 #xc3 #xc3 #xff #xc3 #xc3 #xc3 #x66 #x3c #x18) #u8(#x00 #x00 #xfe #xc7 #xc3 #xc3 #xc7 #xfe #xc7 #xc3 #xc3 #xc7 #xfe) #u8(#x00 #x00 #x7e #xe7 #xc0 #xc0 #xc0 #xc0 #xc0 #xc0 #xc0 #xe7 #x7e) #u8(#x00 #x00 #xfc #xce #xc7 #xc3 #xc3 #xc3 #xc3 #xc3 #xc7 #xce #xfc) #u8(#x00 #x00 #xff #xc0 #xc0 #xc0 #xc0 #xfc #xc0 #xc0 #xc0 #xc0 #xff) #u8(#x00 #x00 #xc0 #xc0 #xc0 #xc0 #xc0 #xc0 #xfc #xc0 #xc0 #xc0 #xff) #u8(#x00 #x00 #x7e #xe7 #xc3 #xc3 #xcf #xc0 #xc0 #xc0 #xc0 #xe7 #x7e) #u8(#x00 #x00 #xc3 #xc3 #xc3 #xc3 #xc3 #xff #xc3 #xc3 #xc3 #xc3 #xc3) #u8(#x00 #x00 #x7e #x18 #x18 #x18 #x18 #x18 #x18 #x18 #x18 #x18 #x7e) #u8(#x00 #x00 #x7c #xee #xc6 #x06 #x06 #x06 #x06 #x06 #x06 #x06 #x06) #u8(#x00 #x00 #xc3 #xc6 #xcc #xd8 #xf0 #xe0 #xf0 #xd8 #xcc #xc6 #xc3) #u8(#x00 #x00 #xff #xc0 #xc0 #xc0 #xc0 #xc0 #xc0 #xc0 #xc0 #xc0 #xc0) #u8(#x00 #x00 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3 #xdb #xff #xff #xe7 #xc3) #u8(#x00 #x00 #xc7 #xc7 #xcf #xcf #xdf #xdb #xfb #xf3 #xf3 #xe3 #xe3) #u8(#x00 #x00 #x7e #xe7 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3 #xe7 #x7e) #u8(#x00 #x00 #xc0 #xc0 #xc0 #xc0 #xc0 #xfe #xc7 #xc3 #xc3 #xc7 #xfe) #u8(#x00 #x00 #x3f #x6e #xdf #xdb #xc3 #xc3 #xc3 #xc3 #xc3 #x66 #x3c) #u8(#x00 #x00 #xc3 #xc6 #xcc #xd8 #xf0 #xfe #xc7 #xc3 #xc3 #xc7 #xfe) #u8(#x00 #x00 #x7e #xe7 #x03 #x03 #x07 #x7e #xe0 #xc0 #xc0 #xe7 #x7e) #u8(#x00 #x00 #x18 #x18 #x18 #x18 #x18 #x18 #x18 #x18 #x18 #x18 #xff) #u8(#x00 #x00 #x7e #xe7 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3) #u8(#x00 #x00 #x18 #x3c #x3c #x66 #x66 #xc3 #xc3 #xc3 #xc3 #xc3 #xc3) #u8(#x00 #x00 #xc3 #xe7 #xff #xff #xdb #xdb #xc3 #xc3 #xc3 #xc3 #xc3) #u8(#x00 #x00 #xc3 #x66 #x66 #x3c #x3c #x18 #x3c #x3c #x66 #x66 #xc3) #u8(#x00 #x00 #x18 #x18 #x18 #x18 #x18 #x18 #x3c #x3c #x66 #x66 #xc3) #u8(#x00 #x00 #xff #xc0 #xc0 #x60 #x30 #x7e #x0c #x06 #x03 #x03 #xff) )) (define *font-offset* 0) (define (make-raster-font) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (set! *font-offset* (gl-gen-lists 128)) (dotimes (i 26) (gl-new-list (+ *font-offset* i (char->integer #\A)) GL_COMPILE) (gl-bitmap 8 13 0.0 2.0 10.0 0.0 (ref *letters* i)) (gl-end-list)) (gl-new-list (+ *font-offset* (char->integer #\space)) GL_COMPILE) (gl-bitmap 8 13 0.0 2.0 10.0 0.0 *space*) (gl-end-list)) (define (init) (gl-shade-model GL_FLAT) (make-raster-font)) (define (print-string s) (gl-push-attrib GL_LIST_BIT) (gl-list-base *font-offset*) (gl-call-lists s) (gl-pop-attrib)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-raster-pos 20 60) (print-string "THE QUICK BROWN FOX JUMPS") (gl-raster-pos 20 40) (print-string "OVER A LAZY DOG") (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho 0.0 w 0.0 h -1.0 1.0) (gl-matrix-mode GL_MODELVIEW) ) (define (keyboard key x y) (cond ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 300 100) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example8-4.scm��������������������������������������������������������0000644�0000764�0000764�00000005305�11533026402�017677� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 8-3 Use of glDrawPixels (use gl) (use gl.glut) (use gauche.uvector) ;; Create checkerboard image (define-constant *check-image-width* 64) (define-constant *check-image-height* 64) (define *check-image* (make-u8vector (* *check-image-height* *check-image-width* 3))) (define *zoom-factor* 1.0) (define *height* 0) (define (make-check-image) ;; NB: this must be easier once uniform array is implemented. (dotimes (i *check-image-height*) (dotimes (j *check-image-width*) (let ((ij (* (+ (* i *check-image-width*) j) 3)) (c (if (or (and (zero? (logand i #x08)) (zero? (logand j #x08))) (and (not (zero? (logand i #x08))) (not (zero? (logand j #x08))))) 0 255))) (set! (ref *check-image* ij) c) (set! (ref *check-image* (+ ij 1)) c) (set! (ref *check-image* (+ ij 2)) c)))) ) (define (init) (gl-clear-color 0 0 0 0) (gl-shade-model GL_FLAT) (make-check-image) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-raster-pos 0 0) (gl-draw-pixels *check-image-width* *check-image-height* GL_RGB GL_UNSIGNED_BYTE *check-image*) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (set! *height* h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0.0 w 0.0 h) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (motion x y) (let1 screen-y (- *height* y) (gl-raster-pos x screen-y) (gl-pixel-zoom *zoom-factor* *zoom-factor*) (gl-copy-pixels 0 0 *check-image-width* *check-image-height* GL_COLOR) (gl-pixel-zoom 1.0 1.0) (gl-flush))) (define (keyboard key x y) (cond ((or (= key (char->integer #\r)) (= key (char->integer #\R))) (set! *zoom-factor* 1.0) (glut-post-redisplay) (format #t "zoomFactor reset to 1.0\n") ) ((= key (char->integer #\z)) (inc! *zoom-factor* 0.5) (when (>= *zoom-factor* 3.0) (set! *zoom-factor* 3.0)) (format #t "zoomFactor is now ~a\n" *zoom-factor*) ) ((= key (char->integer #\Z)) (dec! *zoom-factor* 0.5) (when (<= *zoom-factor* 0.5) (set! *zoom-factor* 0.5)) (format #t "zoomFactor is now ~a\n" *zoom-factor*) ) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-motion-func motion) (glut-main-loop) 0) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example8-6.scm��������������������������������������������������������0000644�0000764�0000764�00000005557�11533026402�017712� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 8-6 Using 2D Convolution Filters (use gl) (use gl.glut) (use gl.simple.image) (use gauche.uvector) (use util.match) ;; convolution filters (define *horizontal* '#f32( 0.0 -1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0)) (define *vertical* '#f32( 0.0 0.0 0.0 -1.0 1.0 0.0 0.0 0.0 0.0)) (define *laplacian* '#f32(-0.125 -0.125 -0.125 -0.125 1.0 -0.125 -0.125 -0.125 -0.125)) (define *image-file* "../images/noturn.rgb") (define *width* #f) (define *height* #f) (define *image* #f) (define (init) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (gl-clear-color 0 0 0 0) (gl-convolution-filter-2d GL_CONVOLUTION_2D GL_LUMINANCE 3 3 GL_LUMINANCE GL_FLOAT *horizontal*) (gl-enable GL_CONVOLUTION_2D) ) (define (display-proc) (gl-clear GL_COLOR_BUFFER_BIT) (gl-raster-pos 1 1) (gl-draw-pixels *width* *height* GL_RGB GL_UNSIGNED_BYTE *image*) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0.0 w 0.0 h) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (cond ((= key (char->integer #\h)) (print "Using horizontal filter") (gl-convolution-filter-2d GL_CONVOLUTION_2D GL_LUMINANCE 3 3 GL_LUMINANCE GL_FLOAT *horizontal*) (gl-enable GL_CONVOLUTION_2D) (glut-post-redisplay) ) ((= key (char->integer #\v)) (print "Using vertical filter") (gl-convolution-filter-2d GL_CONVOLUTION_2D GL_LUMINANCE 3 3 GL_LUMINANCE GL_FLOAT *vertical*) (gl-enable GL_CONVOLUTION_2D) (glut-post-redisplay) ) ((= key (char->integer #\l)) (print "Using laplacian filter") (gl-convolution-filter-2d GL_CONVOLUTION_2D GL_LUMINANCE 3 3 GL_LUMINANCE GL_FLOAT *laplacian*) (gl-enable GL_CONVOLUTION_2D) (glut-post-redisplay) ) ((= key (char->integer #\n)) (print "No filter") (gl-disable GL_CONVOLUTION_2D) (glut-post-redisplay)) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (unless (file-exists? *image-file*) (print "Couldn't find image file: " *image-file*) (exit 0)) (match-let1 (width height depth image) (read-sgi-image *image-file*) (set! *width* width) (set! *height* height) (set! *image* image) (glut-init-window-size width height) (glut-init-window-position 100 100) (glut-create-window (car args)) (unless (gl-extension-available? 'GL_ARB_imaging) (print "GL_ARB_imaging is not supported on this platform") (exit 0)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func display-proc) (glut-main-loop) 0)) �������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example8-8.scm��������������������������������������������������������0000644�0000764�0000764�00000004351�11533026402�017703� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 8-8 Compute an Image's histogram (use gl) (use gl.glut) (use gl.simple.image) (use gauche.uvector) (use gauche.sequence) (use util.match) (define-constant HISTOGRAM_SIZE 256) (define *image-file* "../images/flower.rgb") (define *width* 0) (define *height* 0) (define *pixels* #f) (define (init) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (gl-clear-color 0 0 0 0) (gl-histogram GL_HISTOGRAM HISTOGRAM_SIZE GL_RGB #f) (gl-enable GL_HISTOGRAM) ) (define (display-proc) (gl-clear GL_COLOR_BUFFER_BIT) (gl-raster-pos 1 1) (gl-draw-pixels *width* *height* GL_RGB GL_UNSIGNED_BYTE *pixels*) (let* ((hist (gl-get-histogram GL_HISTOGRAM #t GL_RGB GL_UNSIGNED_SHORT)) (peak (fold max 0 hist)) (factor (/ *height* peak))) (gl-begin* GL_LINE_STRIP (gl-color 1.0 0.0 0.0) (dotimes (i HISTOGRAM_SIZE) (gl-vertex i (* (ref hist (* i 3)) factor)))) (gl-begin* GL_LINE_STRIP (gl-color 0.0 1.0 0.0) (dotimes (i HISTOGRAM_SIZE) (gl-vertex i (* (ref hist (+ (* i 3) 1)) factor)))) (gl-begin* GL_LINE_STRIP (gl-color 0.0 0.0 1.0) (dotimes (i HISTOGRAM_SIZE) (gl-vertex i (* (ref hist (+ (* i 3) 2)) factor)))) ) (gl-flush)) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0.0 w 0.0 h) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (cond ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (unless (file-exists? *image-file*) (print "Couldn't find image file: " *image-file*) (exit 0)) (match-let1 (width height depth image) (read-sgi-image *image-file*) (set! *width* width) (set! *height* height) (set! *pixels* image) (glut-init-window-size width height) (glut-init-window-position 100 100) (glut-create-window (car args)) (unless (gl-extension-available? 'GL_ARB_imaging) (print "GL_ARB_imaging is not supported on this platform") (exit 0)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func display-proc) (glut-main-loop) 0)) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/README����������������������������������������������������������������0000644�0000764�0000764�00000004507�11533026402�016172� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������This directory contains ported examples in "OpenGL Programming Guide". To run examples without installing Gauche-gl, invoke gosh with "-I../../src -I../../lib", e.g. gosh -I../../src -I../../lib ./example1-2.scm Typing ESC in the window terminates the example. A Scheme script 'run' is provided to go through all the examples. The following is the original copyright notice in the example code. /* * Copyright (c) 1993-1999, Silicon Graphics, Inc. * ALL RIGHTS RESERVED * Permission to use, copy, modify, and distribute this software for * any purpose and without fee is hereby granted, provided that the above * copyright notice appear in all copies and that both the copyright notice * and this permission notice appear in supporting documentation, and that * the name of Silicon Graphics, Inc. not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. * * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS" * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT, * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION, * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE. * * US Government Users Restricted Rights * Use, duplication, or disclosure by the Government is subject to * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph * (c)(1)(ii) of the Rights in Technical Data and Computer Software * clause at DFARS 252.227-7013 and/or in similar or successor * clauses in the FAR or the DOD or NASA FAR Supplement. * Unpublished-- rights reserved under the copyright laws of the * United States. Contractor/manufacturer is Silicon Graphics, * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311. * * OpenGL(R) is a registered trademark of Silicon Graphics, Inc. */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example2-5.scm��������������������������������������������������������0000644�0000764�0000764�00000003716�11533026402�017676� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 2-5 Line Stipple Patterns (use gl) (use gl.glut) (define-syntax draw-one-line (syntax-rules () ((_ x1 y1 x2 y2) (begin (gl-begin GL_LINES) (gl-vertex x1 y1) (gl-vertex x2 y2) (gl-end))))) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-enable GL_LINE_STIPPLE) (gl-line-stipple 1 #x0101) ;dotted (draw-one-line 50.0 125.0 150.0 125.0) (gl-line-stipple 1 #x00ff) ;dashed (draw-one-line 150.0 125.0 250.0 125.0) (gl-line-stipple 1 #x1c47) ;dash/dot/dash (draw-one-line 250.0 125.0 350.0 125.0) (gl-line-width 5.0) (gl-line-stipple 1 #x0101) ;dotted (draw-one-line 50.0 100.0 150.0 100.0) (gl-line-stipple 1 #x00ff) ;dashed (draw-one-line 150.0 100.0 250.0 100.0) (gl-line-stipple 1 #x1c47) ;dash/dot/dash (draw-one-line 250.0 100.0 350.0 100.0) (gl-line-width 1.0) (gl-line-stipple 1 #x1c47) ;dash/dot/dash (gl-begin GL_LINE_STRIP) (do ((i 0 (+ i 1))) ((= i 7)) (gl-vertex (+ 50.0 (* i 50.0)) 75.0)) (gl-end) (do ((i 0 (+ i 1))) ((= i 6)) (draw-one-line (+ 50.0 (* i 50.0)) 50.0 (+ 50.0 (* (+ i 1) 50.0)) 50.0)) (gl-line-stipple 5 #x1c47) (draw-one-line 50.0 25.0 350.0 25.0) (gl-disable GL_LINE_STIPPLE) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0 w 0 h) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 400 150) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) ��������������������������������������������������Gauche-gl-0.6/examples/glbook/example2-6.scm��������������������������������������������������������0000644�0000764�0000764�00000005033�11533026402�017671� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 2-6 Polygon Stipple Patterns (use gl) (use gl.glut) (define *fly* '#u8(#x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x03 #x80 #x01 #xc0 #x06 #xc0 #x03 #x60 #x04 #x60 #x06 #x20 #x04 #x30 #x0c #x20 #x04 #x18 #x18 #x20 #x04 #x0c #x30 #x20 #x04 #x06 #x60 #x20 #x44 #x03 #xc0 #x22 #x44 #x01 #x80 #x22 #x44 #x01 #x80 #x22 #x44 #x01 #x80 #x22 #x44 #x01 #x80 #x22 #x44 #x01 #x80 #x22 #x44 #x01 #x80 #x22 #x66 #x01 #x80 #x66 #x33 #x01 #x80 #x22 #x19 #x81 #x81 #x98 #x0c #xc1 #x83 #x30 #x07 #xe1 #x87 #xe0 #x03 #x3f #xfc #xc0 #x03 #x31 #x8c #xc0 #x03 #x33 #xcc #xc0 #x06 #x64 #x26 #x60 #x0c #xcc #x33 #x30 #x18 #xcc #x33 #x18 #x10 #xc4 #x23 #x08 #x10 #x63 #xc6 #x08 #x10 #x30 #x0c #x08 #x10 #x18 #x18 #x08 #x10 #x00 #x00 #x08)) (define *halftone* '#u8(#xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55 #xaa #xaa #xaa #xaa #x55 #x55 #x55 #x55)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-enable GL_LINE_STIPPLE) (gl-rect '#f32(25.0 25.0) '#f32(125.0 125.0)) (gl-enable GL_POLYGON_STIPPLE) (gl-polygon-stipple *fly*) (gl-rect '#f32(125.0 25.0) '#f32(225.0 125.0)) (gl-polygon-stipple *halftone*) (gl-rect '#f32(225.0 25.0) '#f32(325.0 125.0)) (gl-disable GL_POLYGON_STIPPLE) (gl-flush) ) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0 w 0 h) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 350 150) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example2-9.scm��������������������������������������������������������0000644�0000764�0000764�00000005460�11533026402�017700� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 2-9 Enabling and Loading Vertex Arrays (use gl) (use gl.glut) (define *setup-method* 'pointer) (define *deref-method* 'drawarray) (define (setup-pointers) (gl-enable-client-state GL_VERTEX_ARRAY) (gl-enable-client-state GL_COLOR_ARRAY) (gl-vertex-pointer 2 '#s32(25 25 100 325 175 25 175 325 250 25 325 325)) (gl-color-pointer 3 '#f32(1.0 0.2 0.2 0.2 0.2 1.0 0.8 1.0 0.2 0.75 0.75 0.75 0.35 0.35 0.35 0.5 0.5 0.5)) ) (define (setup-interleave) (gl-interleaved-arrays GL_C3F_V3F '#f32(1.0 0.2 1.0 100.0 100.0 0.0 1.0 0.2 0.2 0.0 200.0 0.0 1.0 1.0 0.2 100.0 300.0 0.0 0.2 1.0 0.2 200.0 300.0 0.0 0.2 1.0 1.0 300.0 200.0 0.0 0.2 0.2 1.0 200.0 100.0 0.0)) ) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_SMOOTH) (setup-pointers)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (case *deref-method* ((drawarray) (gl-draw-arrays GL_TRIANGLES 0 6)) ((arrayelement) (gl-begin* GL_TRIANGLES (gl-array-element 2) (gl-array-element 3) (gl-array-element 5) )) ((drawelements) (gl-draw-elements GL_POLYGON '#u32(0 1 3 4))) ) (gl-flush)) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0.0 w 0.0 h)) (define (mouse button state x y) (cond ((= button GLUT_LEFT_BUTTON) (when (= state GLUT_DOWN) (case *setup-method* ((pointer) (set! *setup-method* 'interleaved) (setup-interleave)) ((interleaved) (set! *setup-method* 'pointer) (setup-pointers))) (glut-post-redisplay))) ((or (= button GLUT_MIDDLE_BUTTON) (= button GLUT_RIGHT_BUTTON)) (when (= state GLUT_DOWN) (case *deref-method* ((drawarray) (set! *deref-method* 'arrayelement)) ((arrayelement) (set! *deref-method* 'drawelements)) ((drawelements) (set! *deref-method* 'drawarray))) (glut-post-redisplay))) )) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 350 350) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-mouse-func mouse) (glut-keyboard-func keyboard) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example9-1.scm��������������������������������������������������������0000644�0000764�0000764�00000005743�11533026402�017703� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 9-1 Texture-mapped Checkerboard (use gl) (use gl.glut) (use gauche.uvector) ;; Create checkerboard image (define-constant *check-image-width* 64) (define-constant *check-image-height* 64) (define *check-image* (make-u8vector (* *check-image-height* *check-image-width* 4))) (define *texname* 0) (define (make-check-image) ;; NB: this must be easier once uniform array is implemented. (dotimes (i *check-image-height*) (dotimes (j *check-image-width*) (let ((ij (* (+ (* i *check-image-width*) j) 4)) (c (if (or (and (zero? (logand i #x08)) (zero? (logand j #x08))) (and (not (zero? (logand i #x08))) (not (zero? (logand j #x08))))) 0 255))) (set! (ref *check-image* ij) c) (set! (ref *check-image* (+ ij 1)) c) (set! (ref *check-image* (+ ij 2)) c) (set! (ref *check-image* (+ ij 3)) 255)))) ) (define (init) (gl-clear-color 0 0 0 0) (gl-shade-model GL_FLAT) (gl-enable GL_DEPTH_TEST) (make-check-image) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (let1 texnames (gl-gen-textures 1) (set! *texname* (ref texnames 0)) (gl-bind-texture GL_TEXTURE_2D *texname*)) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_REPEAT) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_REPEAT) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST) (gl-tex-image-2d GL_TEXTURE_2D 0 GL_RGBA *check-image-width* *check-image-height* 0 GL_RGBA GL_UNSIGNED_BYTE *check-image*) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-enable GL_TEXTURE_2D) (gl-tex-env GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_DECAL) (gl-bind-texture GL_TEXTURE_2D *texname*) (gl-begin GL_QUADS) (gl-tex-coord 0.0 0.0) (gl-vertex -2.0 -1.0 0.0) (gl-tex-coord 0.0 1.0) (gl-vertex -2.0 1.0 0.0) (gl-tex-coord 1.0 1.0) (gl-vertex 0.0 1.0 0.0) (gl-tex-coord 1.0 0.0) (gl-vertex 0.0 -1.0 0.0) (gl-tex-coord 0.0 0.0) (gl-vertex 1.0 -1.0 0.0) (gl-tex-coord 0.0 1.0) (gl-vertex 1.0 1.0 0.0) (gl-tex-coord 1.0 1.0) (gl-vertex 2.41421 1.0 -1.41421) (gl-tex-coord 1.0 0.0) (gl-vertex 2.41421 -1.0 -1.41421) (gl-end) (gl-flush) (gl-disable GL_TEXTURE_2D) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 30.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -3.6)) (define (keyboard key x y) (cond ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �����������������������������Gauche-gl-0.6/examples/glbook/example9-3.scm��������������������������������������������������������0000644�0000764�0000764�00000010477�11533026402�017705� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 9-3 Replacing a Texture Subimage (use gl) (use gl.glut) (use gauche.uvector) ;; Create checkerboard image (define-constant *check-image-width* 64) (define-constant *check-image-height* 64) (define *check-image* (make-u8vector (* *check-image-height* *check-image-width* 4))) (define-constant *sub-image-width* 16) (define-constant *sub-image-height* 16) (define *sub-image* (make-u8vector (* *sub-image-height* *sub-image-width* 4))) (define *texname* 0) (define (make-check-images) ;; NB: this must be easier once uniform array is implemented. (dotimes (i *check-image-height*) (dotimes (j *check-image-width*) (let ((ij (* (+ (* i *check-image-width*) j) 4)) (c (if (or (and (zero? (logand i #x08)) (zero? (logand j #x08))) (and (not (zero? (logand i #x08))) (not (zero? (logand j #x08))))) 0 255))) (set! (ref *check-image* ij) c) (set! (ref *check-image* (+ ij 1)) c) (set! (ref *check-image* (+ ij 2)) c) (set! (ref *check-image* (+ ij 3)) 255)))) (dotimes (i *sub-image-height*) (dotimes (j *sub-image-width*) (let ((ij (* (+ (* i *sub-image-width*) j) 4)) (c (if (or (and (zero? (logand i #x04)) (zero? (logand j #x04))) (and (not (zero? (logand i #x04))) (not (zero? (logand j #x04))))) 0 255))) (set! (ref *sub-image* ij) c) (set! (ref *sub-image* (+ ij 1)) 0) (set! (ref *sub-image* (+ ij 2)) 0) (set! (ref *sub-image* (+ ij 3)) 255)))) ) (define (init) (gl-clear-color 0 0 0 0) (gl-shade-model GL_FLAT) (gl-enable GL_DEPTH_TEST) (make-check-images) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (let1 texnames (gl-gen-textures 1) (set! *texname* (ref texnames 0)) (gl-bind-texture GL_TEXTURE_2D *texname*)) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_REPEAT) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_REPEAT) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST) (gl-tex-image-2d GL_TEXTURE_2D 0 GL_RGBA *check-image-width* *check-image-height* 0 GL_RGBA GL_UNSIGNED_BYTE *check-image*) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-enable GL_TEXTURE_2D) (gl-tex-env GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_DECAL) (gl-bind-texture GL_TEXTURE_2D *texname*) (gl-begin GL_QUADS) (gl-tex-coord 0.0 0.0) (gl-vertex -2.0 -1.0 0.0) (gl-tex-coord 0.0 1.0) (gl-vertex -2.0 1.0 0.0) (gl-tex-coord 1.0 1.0) (gl-vertex 0.0 1.0 0.0) (gl-tex-coord 1.0 0.0) (gl-vertex 0.0 -1.0 0.0) (gl-tex-coord 0.0 0.0) (gl-vertex 1.0 -1.0 0.0) (gl-tex-coord 0.0 1.0) (gl-vertex 1.0 1.0 0.0) (gl-tex-coord 1.0 1.0) (gl-vertex 2.41421 1.0 -1.41421) (gl-tex-coord 1.0 0.0) (gl-vertex 2.41421 -1.0 -1.41421) (gl-end) (gl-flush) (gl-disable GL_TEXTURE_2D) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 30.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -3.6)) (define (keyboard key x y) (cond ((or (= key (char->integer #\s)) (= key (char->integer #\S))) (gl-bind-texture GL_TEXTURE_2D *texname*) (gl-tex-sub-image-2d GL_TEXTURE_2D 0 12 44 *sub-image-width* *sub-image-height* GL_RGBA GL_UNSIGNED_BYTE *sub-image*) (glut-post-redisplay)) ((or (= key (char->integer #\r)) (= key (char->integer #\R))) (gl-bind-texture GL_TEXTURE_2D *texname*) (gl-tex-image-2d GL_TEXTURE_2D 0 GL_RGBA *check-image-width* *check-image-height* 0 GL_RGBA GL_UNSIGNED_BYTE *check-image*) (glut-post-redisplay)) ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example9-4.scm��������������������������������������������������������0000644�0000764�0000764�00000005171�11533026402�017701� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 9-4 Three-Dimensional Texturing (use gl) (use gl.glut) (use gauche.uvector) ;; Create checkerboard image (define-constant *iwidth* 16) (define-constant *iheight* 16) (define-constant *idepth* 16) (define *image* (make-u8vector (* *iwidth* *iheight* *idepth* 3))) (define *texname* 0) (define (make-image) ;; NB: this must be easier once uniform array is implemented. (dotimes (s 16) (dotimes (t 16) (dotimes (r 16) (let ((rts (* 3 (+ (* r *iwidth* *iheight*) (* t *iwidth*) s)))) (set! (ref *image* rts) (* s 17)) (set! (ref *image* (+ rts 1)) (* t 17)) (set! (ref *image* (+ rts 2)) (* r 17))))))) (define (init) (gl-clear-color 0 0 0 0) (gl-shade-model GL_FLAT) (gl-enable GL_DEPTH_TEST) (make-image) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (let1 texnames (gl-gen-textures 1) (set! *texname* (ref texnames 0)) (gl-bind-texture GL_TEXTURE_3D *texname*)) (gl-tex-parameter GL_TEXTURE_3D GL_TEXTURE_WRAP_S GL_CLAMP) (gl-tex-parameter GL_TEXTURE_3D GL_TEXTURE_WRAP_T GL_CLAMP) (gl-tex-parameter GL_TEXTURE_3D GL_TEXTURE_WRAP_R GL_CLAMP) (gl-tex-parameter GL_TEXTURE_3D GL_TEXTURE_MAG_FILTER GL_NEAREST) (gl-tex-parameter GL_TEXTURE_3D GL_TEXTURE_MIN_FILTER GL_NEAREST) (gl-tex-image-3d GL_TEXTURE_3D 0 GL_RGB *iwidth* *iheight* *idepth* 0 GL_RGB GL_UNSIGNED_BYTE *image*) (gl-enable GL_TEXTURE_3D) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-begin GL_QUADS) (gl-tex-coord 0.0 0.0 0.0) (gl-vertex -2.25 -1.0 0.0) (gl-tex-coord 0.0 1.0 0.0) (gl-vertex -2.25 1.0 0.0) (gl-tex-coord 1.0 1.0 1.0) (gl-vertex -0.25 1.0 0.0) (gl-tex-coord 1.0 0.0 1.0) (gl-vertex -0.25 -1.0 0.0) (gl-tex-coord 0.0 0.0 1.0) (gl-vertex 0.25 -1.0 0.0) (gl-tex-coord 0.0 1.0 1.0) (gl-vertex 0.25 1.0 0.0) (gl-tex-coord 1.0 1.0 0.0) (gl-vertex 2.25 1.0 0.0) (gl-tex-coord 1.0 0.0 0.0) (gl-vertex 2.25 -1.0 0.0) (gl-end) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 30.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -4.0)) (define (keyboard key x y) (cond ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example9-5.scm��������������������������������������������������������0000644�0000764�0000764�00000005276�11533026402�017710� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 9-5 Mipmap Textures (use gl) (use gl.glut) (use gauche.uvector) (use srfi-1) (use gauche.collection) (define *mipmap* (map (lambda (i) (let1 size (expt 2 i) (make-u8vector (* size size 4)))) (iota 6))) (define *mm-colors* '((255 255 255) (0 0 255) (0 255 0) (255 0 0) (255 0 255) (255 255 0))) (define *texname* 0) (define (make-images) (dotimes (s 6) (let ((size (expt 2 s)) (image (list-ref *mipmap* s)) (colors (list-ref *mm-colors* s))) (dotimes (i size) (dotimes (j size) (let1 ij (* 4 (+ (* i size) j)) (set! (ref image ij) (ref colors 0)) (set! (ref image (+ ij 1)) (ref colors 1)) (set! (ref image (+ ij 2)) (ref colors 2)) (set! (ref image (+ ij 3)) 255))))))) (define (init) (gl-enable GL_DEPTH_TEST) (gl-shade-model GL_FLAT) (gl-translate 0.0 0.0 -3.6) (make-images) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (let1 texnames (gl-gen-textures 1) (set! *texname* (ref texnames 0)) (gl-bind-texture GL_TEXTURE_2D *texname*)) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_CLAMP) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_CLAMP) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST_MIPMAP_NEAREST) (for-each (lambda (image level) (let1 size (expt 2 (- 5 level)) (gl-tex-image-2d GL_TEXTURE_2D level GL_RGBA size size 0 GL_RGBA GL_UNSIGNED_BYTE image))) (reverse *mipmap*) (iota 6)) (gl-tex-env GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_DECAL) (gl-enable GL_TEXTURE_2D) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-bind-texture GL_TEXTURE_2D *texname*) (gl-begin GL_QUADS) (gl-tex-coord 0.0 0.0) (gl-vertex -2.0 -1.0 0.0) (gl-tex-coord 0.0 8.0) (gl-vertex -2.0 1.0 0.0) (gl-tex-coord 8.0 8.0) (gl-vertex 2000.0 1.0 -6000.0) (gl-tex-coord 9.0 0.0) (gl-vertex 2000.0 -1.0 -6000.0) (gl-end) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 30000.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity)) (define (keyboard key x y) (cond ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 500 500) (glut-init-window-position 50 50) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example9-7.scm��������������������������������������������������������0000644�0000764�0000764�00000007715�11533026402�017712� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 9-7 Binding Texture Objects (use gl) (use gl.glut) (use gauche.uvector) ;; Create checkerboard image (define-constant *check-image-width* 64) (define-constant *check-image-height* 64) (define *check-image* (make-u8vector (* *check-image-height* *check-image-width* 4))) (define *other-image* (make-u8vector (* *check-image-height* *check-image-width* 4))) (define *texname* #f) (define (make-check-images) (dotimes (i *check-image-height*) (dotimes (j *check-image-width*) (let ((ij (* (+ (* i *check-image-width*) j) 4)) (c (if (or (and (zero? (logand i #x08)) (zero? (logand j #x08))) (and (not (zero? (logand i #x08))) (not (zero? (logand j #x08))))) 0 255)) (cc (if (or (and (zero? (logand i #x10)) (zero? (logand j #x10))) (and (not (zero? (logand i #x10))) (not (zero? (logand j #x10))))) 0 255)) ) (set! (ref *check-image* ij) c) (set! (ref *check-image* (+ ij 1)) c) (set! (ref *check-image* (+ ij 2)) c) (set! (ref *check-image* (+ ij 3)) 255) (set! (ref *other-image* ij) cc) (set! (ref *other-image* (+ ij 1)) 0) (set! (ref *other-image* (+ ij 2)) 0) (set! (ref *other-image* (+ ij 3)) 255)))) ) (define (init) (gl-clear-color 0 0 0 0) (gl-shade-model GL_FLAT) (gl-enable GL_DEPTH_TEST) (make-check-images) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (set! *texname* (gl-gen-textures 2)) (gl-bind-texture GL_TEXTURE_2D (ref *texname* 0)) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_CLAMP) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_CLAMP) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST) (gl-tex-image-2d GL_TEXTURE_2D 0 GL_RGBA *check-image-width* *check-image-height* 0 GL_RGBA GL_UNSIGNED_BYTE *check-image*) (gl-bind-texture GL_TEXTURE_2D (ref *texname* 1)) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_CLAMP) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_CLAMP) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST) (gl-tex-parameter GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST) (gl-tex-env GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_DECAL) (gl-tex-image-2d GL_TEXTURE_2D 0 GL_RGBA *check-image-width* *check-image-height* 0 GL_RGBA GL_UNSIGNED_BYTE *other-image*) (gl-enable GL_TEXTURE_2D) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-bind-texture GL_TEXTURE_2D (ref *texname* 0)) (gl-begin GL_QUADS) (gl-tex-coord 0.0 0.0) (gl-vertex -2.0 -1.0 0.0) (gl-tex-coord 0.0 1.0) (gl-vertex -2.0 1.0 0.0) (gl-tex-coord 1.0 1.0) (gl-vertex 0.0 1.0 0.0) (gl-tex-coord 1.0 0.0) (gl-vertex 0.0 -1.0 0.0) (gl-end) (gl-bind-texture GL_TEXTURE_2D (ref *texname* 1)) (gl-begin GL_QUADS) (gl-tex-coord 0.0 0.0) (gl-vertex 1.0 -1.0 0.0) (gl-tex-coord 0.0 1.0) (gl-vertex 1.0 1.0 0.0) (gl-tex-coord 1.0 1.0) (gl-vertex 2.41421 1.0 -1.41421) (gl-tex-coord 1.0 0.0) (gl-vertex 2.41421 -1.0 -1.41421) (gl-end) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 30.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -3.6)) (define (keyboard key x y) (cond ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) ���������������������������������������������������Gauche-gl-0.6/examples/glbook/example9-8.scm��������������������������������������������������������0000644�0000764�0000764�00000007450�11533026402�017707� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 9-8 Automatic Texture-Coordinate Generation (use gl) (use gl.glut) (use gauche.uvector) ;; Create checkerboard image (define-constant *stripe-image-width* 32) (define *stripe-image* (make-u8vector (* *stripe-image-width* 4))) (define *texname* #f) (define (make-stripe-image) (dotimes (j *stripe-image-width*) (set! (ref *stripe-image* (* 4 j)) (if (<= j 4) 255 0)) (set! (ref *stripe-image* (+ (* 4 j) 1)) (if (> j 4) 255 0)) (set! (ref *stripe-image* (+ (* 4 j) 2)) 0) (set! (ref *stripe-image* (+ (* 4 j) 3)) 255))) ;; planes for texture coordinate generation (define x=0plane '#f32(1.0 0.0 0.0 0.0)) (define slanted '#f32(1.0 1.0 1.0 0.0)) (define *current-coeff* x=0plane) (define *current-plane* 0) (define *current-gen-mode* 0) (define (init) (gl-clear-color 0 0 0 0) (gl-enable GL_DEPTH_TEST) (gl-shade-model GL_SMOOTH) (make-stripe-image) (gl-pixel-store GL_UNPACK_ALIGNMENT 1) (set! *texname* (ref (gl-gen-textures 1) 0)) (gl-bind-texture GL_TEXTURE_1D *texname*) (gl-tex-parameter GL_TEXTURE_1D GL_TEXTURE_WRAP_S GL_REPEAT) (gl-tex-parameter GL_TEXTURE_1D GL_TEXTURE_MAG_FILTER GL_LINEAR) (gl-tex-parameter GL_TEXTURE_1D GL_TEXTURE_MIN_FILTER GL_LINEAR) (gl-tex-image-1d GL_TEXTURE_1D 0 GL_RGBA *stripe-image-width* 0 GL_RGBA GL_UNSIGNED_BYTE *stripe-image*) (gl-tex-env GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_MODULATE) (set! *current-coeff* x=0plane) (set! *current-gen-mode* GL_OBJECT_LINEAR) (set! *current-plane* GL_OBJECT_PLANE) (gl-tex-gen GL_S GL_TEXTURE_GEN_MODE *current-gen-mode*) (gl-tex-gen GL_S *current-plane* *current-coeff*) (gl-enable GL_TEXTURE_GEN_S) (gl-enable GL_TEXTURE_1D) (gl-enable GL_CULL_FACE) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-enable GL_AUTO_NORMAL) (gl-enable GL_NORMALIZE) (gl-front-face GL_CW) (gl-cull-face GL_BACK) (gl-material GL_FRONT GL_SHININESS 64.0) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-push-matrix) (gl-rotate 45.0 0.0 0.0 1.0) (gl-bind-texture GL_TEXTURE_1D *texname*) (glut-solid-teapot 2.0) (gl-pop-matrix) (gl-flush)) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (gl-ortho -3.5 3.5 (* -3.5 (/ h w)) (* 3.5 (/ h w)) -3.5 3.5) (gl-ortho (* -3.5 (/ w h)) (* 3.5 (/ w h)) -3.5 3.5 -3.5 3.5)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (cond ((or (= key (char->integer #\e)) (= key (char->integer #\E))) (set! *current-gen-mode* GL_EYE_LINEAR) (set! *current-plane* GL_EYE_PLANE) (gl-tex-gen GL_S GL_TEXTURE_GEN_MODE *current-gen-mode*) (gl-tex-gen GL_S *current-plane* *current-coeff*) (glut-post-redisplay)) ((or (= key (char->integer #\o)) (= key (char->integer #\O))) (set! *current-gen-mode* GL_OBJECT_LINEAR) (set! *current-plane* GL_OBJECT_PLANE) (gl-tex-gen GL_S GL_TEXTURE_GEN_MODE *current-gen-mode*) (gl-tex-gen GL_S *current-plane* *current-coeff*) (glut-post-redisplay)) ((or (= key (char->integer #\s)) (= key (char->integer #\S))) (set! *current-coeff* slanted) (gl-tex-gen GL_S *current-plane* *current-coeff*) (glut-post-redisplay)) ((or (= key (char->integer #\x)) (= key (char->integer #\X))) (set! *current-coeff* x=0plane) (gl-tex-gen GL_S *current-plane* *current-coeff*) (glut-post-redisplay)) ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 256 256) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example13-2.scm�������������������������������������������������������0000644�0000764�0000764�00000005724�11533026402�017756� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 13-2 Selection Example (use gl) (use gl.glut) (use gauche.uvector) (define (draw-triangle xs ys z) (gl-begin* GL_TRIANGLES (for-each (cut gl-vertex <> <> z) xs ys))) (define (draw-view-volume x1 x2 y1 y2 z1 z2) (define (line-loop z) (gl-vertex x1 y1 z) (gl-vertex x2 y1 z) (gl-vertex x2 y2 z) (gl-vertex x1 y2 z)) (define (line x y) (gl-vertex x y (- z1)) (gl-vertex x y (- z2))) (gl-color 1.0 1.0 1.0) (gl-begin* GL_LINE_LOOP (line-loop (- z1))) (gl-begin* GL_LINE_LOOP (line-loop (- z2))) (gl-begin* GL_LINES (line x1 y1) (line x1 y2) (line x2 y1) (line x2 y2)) ) (define (draw-scene) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 40.0 4/3 1.0 100.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (glu-look-at 7.5 7.5 12.5 2.5 2.5 -5.0 0.0 1.0 0.0) (gl-color 0.0 1.0 0.0) (draw-triangle '(2.0 3.0 2.5) '(2.0 2.0 3.0) -5.0) (gl-color 1.0 0.0 0.0) (draw-triangle '(2.0 3.0 2.5) '(7.0 7.0 8.0) -5.0) (gl-color 1.0 1.0 0.0) (draw-triangle '(2.0 3.0 2.5) '(2.0 2.0 3.0) -1.0) (draw-triangle '(2.0 3.0 2.5) '(2.0 2.0 3.0) -9.0) (draw-view-volume 0.0 5.0 0.0 5.0 0.0 10.0)) (define (process-hits hits vec) (print #`"hits = ,hits") (let1 ptr 0 (dotimes (i hits) (let1 names (ref vec ptr) (print #`" number of names for hit = ,names") (inc! ptr) (print #`" z1 is ,(/ (ref vec ptr) #x7fffffff);" #`" z2 is ,(/ (ref vec (+ ptr 1)) #x7fffffff)") (inc! ptr 2) (display " the name is ") (dotimes (j names) (display #`",(ref vec ptr) ") (inc! ptr)) (print))))) (define-constant BUFSIZE 512) (define (select-objects) (let1 select-buf (make-u32vector BUFSIZE) (gl-select-buffer select-buf) (gl-render-mode GL_SELECT) (gl-init-names) (gl-push-name 0) (gl-push-matrix) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho 0.0 5.0 0.0 5.0 0.0 10.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-load-name 1) (draw-triangle '(2.0 3.0 2.5) '(2.0 2.0 3.0) -5.0) (gl-load-name 2) (draw-triangle '(2.0 3.0 2.5) '(7.0 7.0 8.0) -5.0) (gl-load-name 3) (draw-triangle '(2.0 3.0 2.5) '(2.0 2.0 3.0) -1.0) (draw-triangle '(2.0 3.0 2.5) '(2.0 2.0 3.0) -9.0) (gl-pop-matrix) (gl-flush) (process-hits (gl-render-mode GL_RENDER) select-buf) )) (define (init) (gl-enable GL_DEPTH_TEST) (gl-shade-model GL_FLAT)) (define (disp) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (draw-scene) (select-objects) (gl-flush)) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 200 200) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-keyboard-func keyboard) (glut-main-loop) 0) ��������������������������������������������Gauche-gl-0.6/examples/glbook/example13-3.scm�������������������������������������������������������0000644�0000764�0000764�00000005205�11533026402�017751� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 13-3 Picking example (use gl) (use gl.glut) (use gauche.uvector) (use gauche.array) (define *board* (make-array (shape 0 3 0 3) 0)) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0)) (define (draw-squares mode) (dotimes (i 3) (when (= mode GL_SELECT) (gl-load-name i)) (dotimes (j 3) (when (= mode GL_SELECT) (gl-push-name j)) (gl-color (/ i 3.0) (/ j 3.0) (/ (array-ref *board* i j) 3.0)) (gl-rect i j (+ i 1) (+ j 1)) (when (= mode GL_SELECT) (gl-pop-name))))) (define (process-hits hits vec) (print #`"hits = ,hits") (let ((ptr 0) (ii 0) (jj 0)) (dotimes (i hits) (let1 names (ref vec ptr) (print #`" number of names for hit = ,names") (inc! ptr) (print #`" z1 is ,(/ (ref vec ptr) #x7fffffff);" #`" z2 is ,(/ (ref vec (+ ptr 1)) #x7fffffff)") (inc! ptr 2) (display " the name is ") (dotimes (j names) (display #`",(ref vec ptr) ") (cond ((= j 0) (set! ii (ref vec ptr))) ((= j 1) (set! jj (ref vec ptr)))) (inc! ptr)) (print) (array-set! *board* ii jj (modulo (+ (array-ref *board* ii jj) 1) 3)))))) (define-constant BUFSIZE 512) (define (pick-squares button state x y) (let1 select-buf (make-u32vector BUFSIZE 0) (when (and (= button GLUT_LEFT_BUTTON) (= state GLUT_DOWN)) (let1 viewport (gl-get-integer GL_VIEWPORT) (gl-select-buffer select-buf) (gl-render-mode GL_SELECT) (gl-init-names) (gl-push-name 0) (gl-matrix-mode GL_PROJECTION) (gl-push-matrix) (gl-load-identity) (glu-pick-matrix x (- (ref viewport 3) y) 5.0 5.0 viewport) (glu-ortho-2d 0.0 3.0 0.0 3.0) (draw-squares GL_SELECT) (gl-matrix-mode GL_PROJECTION) (gl-pop-matrix) (gl-flush) (process-hits (gl-render-mode GL_RENDER) select-buf) (glut-post-redisplay))))) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (draw-squares GL_RENDER) (gl-flush)) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-ortho-2d 0.0 3.0 0.0 3.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity)) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 100 100) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-mouse-func pick-squares) (glut-reshape-func reshape) (glut-display-func disp) (glut-keyboard-func keyboard) (glut-main-loop) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example13-6.scm�������������������������������������������������������0000644�0000764�0000764�00000005350�11533026402�017755� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 13-6 Picking with Depth Values (use gl) (use gl.glut) (use gauche.uvector) (use gauche.array) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-enable GL_DEPTH_TEST) (gl-shade-model GL_FLAT) (gl-depth-range 0.0 1.0)) (define (draw-rects mode) (when (= mode GL_SELECT) (gl-load-name 1)) (gl-begin* GL_QUADS (gl-color 1.0 1.0 0.0) (gl-vertex 2 0 0) (gl-vertex 2 6 0) (gl-vertex 6 6 0) (gl-vertex 6 0 0) ) (when (= mode GL_SELECT) (gl-load-name 2)) (gl-begin* GL_QUADS (gl-color 0.0 1.0 1.0) (gl-vertex 3 2 -1) (gl-vertex 3 8 -1) (gl-vertex 8 8 -1) (gl-vertex 8 2 -1) ) (when (= mode GL_SELECT) (gl-load-name 3)) (gl-begin* GL_QUADS (gl-color 1.0 0.0 1.0) (gl-vertex 0 2 -2) (gl-vertex 0 7 -2) (gl-vertex 5 7 -2) (gl-vertex 5 2 -2) ) (gl-flush) ) (define (process-hits hits vec) (print #`"hits = ,hits") (let ((ptr 0) (ii 0) (jj 0)) (dotimes (i hits) (let1 names (ref vec ptr) (print #`" number of names for hit = ,names") (inc! ptr) (print #`" z1 is ,(/ (ref vec ptr) #x7fffffff);" #`" z2 is ,(/ (ref vec (+ ptr 1)) #x7fffffff)") (inc! ptr 2) (display " the name is ") (dotimes (j names) (display #`",(ref vec ptr) ") (inc! ptr)) (print) )))) (define-constant BUFSIZE 512) (define (pick-rects button state x y) (let1 select-buf (make-u32vector BUFSIZE 0) (when (and (= button GLUT_LEFT_BUTTON) (= state GLUT_DOWN)) (let1 viewport (gl-get-integer GL_VIEWPORT) (gl-select-buffer select-buf) (gl-render-mode GL_SELECT) (gl-init-names) (gl-push-name 0) (gl-matrix-mode GL_PROJECTION) (gl-push-matrix) (gl-load-identity) (glu-pick-matrix x (- (ref viewport 3) y) 5.0 5.0 viewport) (gl-ortho 0.0 8.0 0.0 8.0 -0.5 2.5) (draw-rects GL_SELECT) (gl-pop-matrix) (gl-flush) (process-hits (gl-render-mode GL_RENDER) select-buf) )))) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (draw-rects GL_RENDER) (gl-flush)) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho 0.0 8.0 0.0 8.0 -0.5 2.5) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity)) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 200 200) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-display-func disp) (glut-mouse-func pick-rects) (glut-keyboard-func keyboard) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example13-7.scm�������������������������������������������������������0000644�0000764�0000764�00000004502�11533026402�017754� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 13-7 Feedback Mode (use gl) (use gl.glut) (use gauche.uvector) (use srfi-1) (define (init) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0)) (define (draw-geometry mode) (gl-begin* GL_LINE_STRIP (gl-normal 0.0 0.0 1.0) (gl-vertex 30.0 30.0 0.0) (gl-vertex 50.0 60.0 0.0) (gl-vertex 70.0 40.0 0.0) ) (when (= mode GL_FEEDBACK) (gl-pass-through 1.0)) (gl-begin* GL_POINTS (gl-vertex -100.0 -100.0 -100.0) ;; will be clipped ) (when (= mode GL_FEEDBACK) (gl-pass-through 2.0)) (gl-begin* GL_POINTS (gl-normal 0.0 0.0 1.0) (gl-vertex 50.0 50.0 0.0) ) (gl-flush) ) (define (print-3d-color-vertex buffer count) (display " ") (for-each (lambda (i) (display #`",(ref buffer (+ count i)) ")) (iota 8)) (print)) (define (print-buffer size buffer) (do ((count 0 count)) ((>= count size)) (let1 token (begin0 (ref buffer count) (inc! count)) (cond ((= token GL_PASS_THROUGH_TOKEN) (print "GL_PASS_THOURGH_TOKEN") (print #`" ,(ref buffer count)") (inc! count)) ((= token GL_POINT_TOKEN) (print "GL_POINT_TOKEN") (print-3d-color-vertex buffer count) (inc! count 8)) ((= token GL_LINE_TOKEN) (print "GL_LINE_TOKEN") (print-3d-color-vertex buffer count) (inc! count 8) (print-3d-color-vertex buffer count) (inc! count 8)) ((= token GL_LINE_RESET_TOKEN) (print "GL_LINE_RESET_TOKEN") (print-3d-color-vertex buffer count) (inc! count 8) (print-3d-color-vertex buffer count) (inc! count 8)) )))) (define *buffer* (make-f32vector 1024 0)) (define (disp) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-ortho 0.0 100.0 0.0 100.0 0.0 1.0) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-clear GL_COLOR_BUFFER_BIT) (draw-geometry GL_RENDER) (gl-feedback-buffer GL_3D_COLOR *buffer*) (gl-render-mode GL_FEEDBACK) (draw-geometry GL_FEEDBACK) (print-buffer (gl-render-mode GL_RENDER) *buffer*)) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 100 100) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-display-func disp) (glut-keyboard-func keyboard) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example3-1.scm��������������������������������������������������������0000644�0000764�0000764�00000001634�11533026402�017670� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 3-1 Transformed Cube (use gl) (use gl.glut) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-load-identity) (glu-look-at 0.0 0.0 5.0 0.0 0.0 0.0 0.0 1.0 0.0) (gl-scale 1.0 2.0 1.0) (glut-wire-cube 1.0) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum -1.0 1.0 -1.0 1.0 1.5 20.0) (gl-matrix-mode GL_MODELVIEW) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example3-2.scm��������������������������������������������������������0000644�0000764�0000764�00000002641�11533026402�017670� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 3-2 Using Modeling transformations (use gl) (use gl.glut) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (draw-triangle) (gl-begin GL_LINE_LOOP) (gl-vertex '#f32(-20.0 -20.0)) (gl-vertex '#f32(20.0 -20.0)) (gl-vertex '#f32(0.0 14.6410161513775)) (gl-end)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-load-identity) (gl-color '#f32(1.0 1.0 1.0)) (draw-triangle) (gl-enable GL_LINE_STIPPLE) (gl-line-stipple 1 #xf0f0) (gl-load-identity) (gl-translate -20.0 0.0 0.0) (draw-triangle) (gl-line-stipple 1 #xf00f) (gl-load-identity) (gl-scale 1.5 0.5 1.0) (draw-triangle) (gl-line-stipple 1 #x8888) (gl-load-identity) (gl-rotate 90.0 0.0 0.0 1.0) (draw-triangle) (gl-disable GL_LINE_STIPPLE) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum -20.0 20.0 -20.0 20.0 1.5 20.0) (glu-look-at 0.0 0.0 5.0 0.0 0.0 0.0 0.0 1.0 0.0) (gl-matrix-mode GL_MODELVIEW) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �����������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example3-5.scm��������������������������������������������������������0000644�0000764�0000764�00000002151�11533026402�017667� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 3-5 Wireframe Sphere with Two Clipping Planes (use gl) (use gl.glut) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-push-matrix) (gl-translate 0.0 0.0 -5.0) (gl-clip-plane GL_CLIP_PLANE0 '#f64(0.0 1.0 0.0 0.0)) (gl-enable GL_CLIP_PLANE0) (gl-clip-plane GL_CLIP_PLANE1 '#f64(1.0 0.0 0.0 0.0)) (gl-enable GL_CLIP_PLANE1) (gl-rotate 90.0 1.0 0.0 0.0) (glut-wire-sphere 1.0 20 16) (gl-pop-matrix) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 20.0) (gl-matrix-mode GL_MODELVIEW) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example3-6.scm��������������������������������������������������������0000644�0000764�0000764�00000003133�11533026402�017671� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 3-6 Planetary System (use gl) (use gl.glut) (define *year* 0) (define *day* 0) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color '#f32(1.0 1.0 1.0)) (gl-push-matrix) (glut-wire-sphere 1.0 20 16) ;sun (gl-rotate *year* 0.0 1.0 0.0) (gl-translate 2.0 0.0 0.0) (gl-rotate *day* 0.0 1.0 0.0) (glut-wire-sphere 0.2 10 8) ;planet (gl-pop-matrix) (glut-swap-buffers) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 20.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (glu-look-at 0.0 0.0 5.0 0.0 0.0 0.0 0.0 1.0 0.0) ) (define (keyboard key x y) (cond ((= key (char->integer #\d)) (set! *day* (modulo (+ *day* 10) 360)) (glut-post-redisplay)) ((= key (char->integer #\D)) (set! *day* (modulo (- *day* 10) 360)) (glut-post-redisplay)) ((= key (char->integer #\y)) (set! *year* (modulo (+ *year* 5) 360)) (glut-post-redisplay)) ((= key (char->integer #\Y)) (set! *year* (modulo (- *year* 5) 360)) (glut-post-redisplay)) ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGB)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example3-7.scm��������������������������������������������������������0000644�0000764�0000764�00000003342�11533026402�017674� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 3-7 Robot Arm (use gl) (use gl.glut) (define *shoulder* 0) (define *elbow* 0) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_FLAT) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-push-matrix) (gl-translate -1.0 0.0 0.0) (gl-rotate *shoulder* 0.0 0.0 1.0) (gl-translate 1.0 0.0 0.0) (gl-push-matrix) (gl-scale 2.0 0.4 1.0) (glut-wire-cube 1.0) (gl-pop-matrix) (gl-translate 1.0 0.0 0.0) (gl-rotate *elbow* 0.0 0.0 1.0) (gl-translate 1.0 0.0 0.0) (gl-push-matrix) (gl-scale 2.0 0.4 1.0) (glut-wire-cube 1.0) (gl-pop-matrix) (gl-pop-matrix) (glut-swap-buffers) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 60.0 (/ w h) 1.0 20.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0 0 -5.0) ) (define (keyboard key x y) (cond ((= key (char->integer #\s)) (set! *shoulder* (modulo (+ *shoulder* 5) 360)) (glut-post-redisplay)) ((= key (char->integer #\S)) (set! *shoulder* (modulo (- *shoulder* 5) 360)) (glut-post-redisplay)) ((= key (char->integer #\e)) (set! *elbow* (modulo (+ *elbow* 5) 360)) (glut-post-redisplay)) ((= key (char->integer #\E)) (set! *elbow* (modulo (- *elbow* 5) 360)) (glut-post-redisplay)) ((= key 27) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGB)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example3-8.scm��������������������������������������������������������0000644�0000764�0000764�00000003227�11533026402�017677� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 3-8 Reversing the Geometirc Processing Pipeline (use gl) (use gl.glut) (use srfi-4) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 45.0 (/ w h) 1.0 100.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (mouse button state x y) (cond ((= button GLUT_LEFT_BUTTON) (if (= state GLUT_DOWN) (let* ((viewport (gl-get-integer GL_VIEWPORT)) (mvmatrix (gl-get-double GL_MODELVIEW_MATRIX)) (projmatrix (gl-get-double GL_PROJECTION_MATRIX)) (real-y (- (s32vector-ref viewport 3) y 1))) (format #t "Coordinates at cursor are (~4d, ~4d)\n" x real-y) (receive (wx wy wz) (glu-un-project x real-y 0.0 mvmatrix projmatrix viewport) (format #t "World coords at z=0.0 are (~s, ~s, ~s)\n" wx wy wz)) (receive (wx wy wz) (glu-un-project x real-y 1.0 mvmatrix projmatrix viewport) (format #t "World coords at z=1.0 are (~s, ~s, ~s)\n" wx wy wz)) ))) ((= button GLUT_RIGHT_BUTTON) (if (= state GLUT_DOWN) (exit 0))) )) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (glut-display-func disp) (glut-reshape-func reshape) (glut-mouse-func mouse) (glut-keyboard-func keyboard) (glut-main-loop) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example4-1.scm��������������������������������������������������������0000644�0000764�0000764�00000002136�11533026402�017667� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 4-1 Drawing a Smooth-Shaded Triangle (use gl) (use gl.glut) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_SMOOTH)) (define (triangle) (gl-begin GL_TRIANGLES) (gl-color '#f32(1.0 0.0 0.0)) (gl-vertex '#f32(5.0 5.0)) (gl-color '#f32(0.0 1.0 0.0)) (gl-vertex '#f32(25.0 5.0)) (gl-color '#f32(0.0 0.0 1.0)) (gl-vertex '#f32(5.0 25.0)) (gl-end)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (triangle) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (glu-ortho-2d 0.0 30.0 0.0 (* 30.0 (/ h w))) (glu-ortho-2d 0.0 (* 30.0 (/ w h)) 0.0 30.0)) (gl-matrix-mode GL_MODELVIEW) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example5-1.scm��������������������������������������������������������0000644�0000764�0000764�00000002307�11533026402�017670� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 5-1 Drawing a Lit Sphere (use gl) (use gl.glut) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_SMOOTH) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 50.0) (gl-light GL_LIGHT0 GL_POSITION '#f32(1.0 1.0 1.0 0.0)) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-enable GL_DEPTH_TEST) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (glut-solid-sphere 1.0 20 16) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (gl-ortho -1.5 1.5 (* -1.5 (/ h w)) (* 1.5 (/ h w)) -10.0 10.0) (gl-ortho (* -1.5 (/ w h)) (* 1.5 (/ w h)) -1.5 1.5 -10.0 10.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example5-6.scm��������������������������������������������������������0000644�0000764�0000764�00000002757�11533026402�017706� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 5-6 Moving a light with modeling transformations (use gl) (use gl.glut) (define *spin* 0) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_SMOOTH) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-enable GL_DEPTH_TEST) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-push-matrix) (gl-translate 0.0 0.0 -5.0) (gl-push-matrix) (gl-rotate *spin* 1.0 0.0 0.0) (gl-light GL_LIGHT0 GL_POSITION '#f32(0.0 0.0 1.5 1.0)) (gl-translate 0.0 0.0 1.5) (gl-disable GL_LIGHTING) (gl-color 0.0 1.0 1.0) (glut-wire-cube 0.1) (gl-enable GL_LIGHTING) (gl-pop-matrix) (glut-solid-torus 0.275 0.85 8 15) (gl-pop-matrix) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 40.0 (/ w h) 1.0 20.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (mouse button state x y) (when (and (= button GLUT_LEFT_BUTTON) (= state GLUT_DOWN)) (set! *spin* (modulo (+ *spin* 30) 360)) (glut-post-redisplay))) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-mouse-func mouse) (glut-keyboard-func keyboard) (glut-main-loop) 0) �����������������Gauche-gl-0.6/examples/glbook/example5-8.scm��������������������������������������������������������0000644�0000764�0000764�00000014363�11533026402�017704� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 5-8 Different material properties (use gl) (use gl.glut) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-enable GL_DEPTH_TEST) (gl-shade-model GL_SMOOTH) (gl-light GL_LIGHT0 GL_AMBIENT '#f32(0.0 0.0 0.0 1.0)) (gl-light GL_LIGHT0 GL_DIFFUSE '#f32(1.0 1.0 1.0 1.0)) (gl-light GL_LIGHT0 GL_POSITION '#f32(10.0 10.0 10.0 0.0)) (gl-light-model GL_LIGHT_MODEL_AMBIENT '#f32(0.4 0.4 0.4 1.0)) ; (gl-light-model GL_LIGHT_MODEL_LOCAL_VIEWER 1.0) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) ;; diffuse reflection only (gl-push-matrix) (gl-translate -3.75 3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_SHININESS 0.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; diffuse and specular, low shininess (gl-push-matrix) (gl-translate -1.25 3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 5.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; diffuse and specular, high shininess (gl-push-matrix) (gl-translate 1.25 3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 100.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; diffuse and emission (gl-push-matrix) (gl-translate 3.75 3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_SHININESS 0.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.3 0.2 0.2 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; ambient and diffuse (gl-push-matrix) (gl-translate -3.75 0.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.7 0.7 0.7 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_SHININESS 0.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; ambient, diffuse and specular, low shininess (gl-push-matrix) (gl-translate -1.25 0.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.7 0.7 0.7 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 5.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; ambient, diffuse and specular, high shininess (gl-push-matrix) (gl-translate 1.25 0.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.7 0.7 0.7 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 100.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; ambient, diffuse and emission (gl-push-matrix) (gl-translate 3.75 0.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.7 0.7 0.7 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_SHININESS 0.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.3 0.2 0.2 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; colored ambient and diffuse (gl-push-matrix) (gl-translate -3.75 -3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.8 0.8 0.2 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_SHININESS 0.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; colored ambient, diffuse and specular, low shininess (gl-push-matrix) (gl-translate -1.25 -3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.8 0.8 0.2 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 5.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; colored ambient, diffuse and specular, high shininess (gl-push-matrix) (gl-translate 1.25 -3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.8 0.8 0.2 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 100.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) ;; ambient, diffuse and emission (gl-push-matrix) (gl-translate 3.75 -3.0 0.0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.8 0.8 0.2 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.1 0.5 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_SHININESS 0.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.3 0.2 0.2 1.0)) (glut-solid-sphere 1.0 16 16) (gl-pop-matrix) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w (* 2 h)) (gl-ortho -6.0 6.0 (* -3.0 (/ (* 2 h) w)) (* 3.0 (/ (* 2 h) w)) -10.0 10.0) (gl-ortho (* -6.0 (/ w (* 2 h))) (* 6.0 (/ w (* 2 h))) -3.0 3.0 -10.0 10.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 600 450) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-main-loop) 0) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example5-9.scm��������������������������������������������������������0000644�0000764�0000764�00000004331�11533026402�017677� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 5-9 Using glColorMaterial (use gl) (use gl.glut) (use srfi-4) (define *diffuse* (f32vector 0.5 0.5 0.5 1.0)) (define (init) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-shade-model GL_SMOOTH) (gl-enable GL_DEPTH_TEST) (gl-material GL_FRONT GL_DIFFUSE *diffuse*) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-material GL_FRONT GL_SHININESS 25.0) (gl-light GL_LIGHT0 GL_POSITION '#f32(1.0 1.0 1.0 0.0)) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-color-material GL_FRONT GL_DIFFUSE) (gl-enable GL_COLOR_MATERIAL) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (glut-solid-sphere 1.0 20 16) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (gl-ortho -1.5 1.5 (* -1.5 (/ h w)) (* 1.5 (/ h w)) -10.0 10.0) (gl-ortho (* -1.5 (/ w h)) (* 1.5 (/ w h)) -1.5 1.5 -10.0 10.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (mouse button state x y) (cond ((= button GLUT_LEFT_BUTTON) (when (= state GLUT_DOWN) (inc! (f32vector-ref *diffuse* 0) 0.1) (when (> (f32vector-ref *diffuse* 0) 1.0) (set! (f32vector-ref *diffuse* 0) 0.0)) (gl-color *diffuse*) (glut-post-redisplay))) ((= button GLUT_MIDDLE_BUTTON) (when (= state GLUT_DOWN) (inc! (f32vector-ref *diffuse* 1) 0.1) (when (> (f32vector-ref *diffuse* 1) 1.0) (set! (f32vector-ref *diffuse* 1) 0.0)) (gl-color *diffuse*) (glut-post-redisplay))) ((= button GLUT_RIGHT_BUTTON) (when (= state GLUT_DOWN) (inc! (f32vector-ref *diffuse* 2) 0.1) (when (> (f32vector-ref *diffuse* 2) 1.0) (set! (f32vector-ref *diffuse* 2) 0.0)) (gl-color *diffuse*) (glut-post-redisplay))) )) (define (keyboard key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 500 500) (glut-init-window-position 100 100) (glut-create-window *program-name*) (init) (glut-display-func disp) (glut-reshape-func reshape) (glut-mouse-func mouse) (glut-keyboard-func keyboard) (glut-main-loop) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example6-1.scm��������������������������������������������������������0000644�0000764�0000764�00000003127�11533026402�017672� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 6-1 Blending Example (use gl) (use gl.glut) (define *left-first* #t) (define (init) (gl-enable GL_BLEND) (gl-blend-func GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA) (gl-shade-model GL_FLAT) (gl-clear-color 0.0 0.0 0.0 0.0) ) (define (draw-left-triangle) (gl-begin GL_TRIANGLES) (gl-color '#f32(1.0 1.0 0.0 0.75)) (gl-vertex '#f32(0.1 0.9 0.0)) (gl-vertex '#f32(0.1 0.1 0.0)) (gl-vertex '#f32(0.7 0.5 0.0)) (gl-end)) (define (draw-right-triangle) (gl-begin GL_TRIANGLES) (gl-color '#f32(0.0 1.0 1.0 0.75)) (gl-vertex '#f32(0.9 0.9 0.0)) (gl-vertex '#f32(0.3 0.5 0.0)) (gl-vertex '#f32(0.9 0.1 0.0)) (gl-end)) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (if *left-first* (begin (draw-left-triangle) (draw-right-triangle)) (begin (draw-right-triangle) (draw-left-triangle))) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (glu-ortho-2d 0.0 1.0 0.0 (* 1.0 (/ h w))) (glu-ortho-2d 0.0 (* 1.0 (/ w h)) 0.0 1.0)) ) (define (keyboard key x y) (cond ((or (= key (char->integer #\t)) (= key (char->integer #\T))) (set! *left-first* (not *left-first*)) (glut-post-redisplay)) ((= key (char->integer #\escape)) (exit 0)) )) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 200 200) (glut-create-window *program-name*) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example6-2.scm��������������������������������������������������������0000644�0000764�0000764�00000005224�11533026402�017673� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 6-2 Three-Dimensional Blending (use gl) (use gl.glut) (define MAXZ 8.0) (define MINZ -8.0) (define ZINC 0.4) (define *solid-z* MAXZ) (define *transparent-z* MINZ) (define *sphere-list* #f) (define *cube-list* #f) (define (init) (gl-material GL_FRONT GL_SPECULAR '#f32(1.0 1.0 1.0 0.15)) (gl-material GL_FRONT GL_SHININESS 100.0) (gl-light GL_LIGHT0 GL_POSITION '#f32(0.5 0.5 1.0 0.0)) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-enable GL_DEPTH_TEST) (set! *sphere-list* (gl-gen-lists 1)) (gl-new-list *sphere-list* GL_COMPILE) (glut-solid-sphere 0.4 16 16) (gl-end-list) (set! *cube-list* (gl-gen-lists 1)) (gl-new-list *cube-list* GL_COMPILE) (glut-solid-cube 0.6) (gl-end-list) ) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-push-matrix) (gl-translate -0.15 -0.15 *solid-z*) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.75 0.75 0.0 1.0)) (gl-call-list *sphere-list*) (gl-pop-matrix) (gl-push-matrix) (gl-translate 0.15 0.15 *transparent-z*) (gl-rotate 15.0 1.0 1.0 0.0) (gl-rotate 30.0 0.0 1.0 0.0) (gl-material GL_FRONT GL_EMISSION '#f32(0.0 0.3 0.3 0.6)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.0 0.8 0.8 0.6)) (gl-enable GL_BLEND) (gl-depth-mask #f) (gl-blend-func GL_SRC_ALPHA GL_ONE) (gl-call-list *cube-list*) (gl-depth-mask #t) (gl-disable GL_BLEND) (gl-pop-matrix) (glut-swap-buffers) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (gl-ortho -1.5 1.5 (* -1.5 (/ h w)) (* 1.5 (/ h w)) -10.0 10.0) (gl-ortho (* -1.5 (/ w h)) (* 1.5 (/ w h)) -1.5 1.5 -10.0 10.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (animate) (if (or (<= *solid-z* MINZ) (>= *transparent-z* MAXZ)) (glut-idle-func #f) (begin (dec! *solid-z* ZINC) (inc! *transparent-z* ZINC) (glut-post-redisplay))) ) (define (keyboard key x y) (cond ((or (= key (char->integer #\a)) (= key (char->integer #\A))) (set! *solid-z* MAXZ) (set! *transparent-z* MINZ) (glut-idle-func animate)) ((or (= key (char->integer #\r)) (= key (char->integer #\R))) (set! *solid-z* MAXZ) (set! *transparent-z* MINZ) (glut-post-redisplay)) ((= key 27) (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 500 500) (glut-create-window *program-name*) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example6-3.scm��������������������������������������������������������0000644�0000764�0000764�00000003475�11533026402�017702� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 6-3 Antialised Lines (use gl) (use gl.glut) (define *rot-angle* 0) (define (init) (let ((g (gl-get-float GL_LINE_WIDTH_GRANULARITY))) (format #t "GL_LINE_WIDTH_GRANULARITY value is ~s\n" g)) (let ((r (gl-get-float GL_LINE_WIDTH_RANGE))) (format #t "GL_LINE_WIDTH_RANGE values are ~s ~s\n" (ref r 0) (ref r 1))) (gl-enable GL_LINE_SMOOTH) (gl-enable GL_BLEND) (gl-blend-func GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA) (gl-hint GL_LINE_SMOOTH_HINT GL_DONT_CARE) (gl-line-width 1.5) (gl-clear-color 0.0 0.0 0.0 0.0) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-color 0.0 1.0 0.0) (gl-push-matrix) (gl-rotate (- *rot-angle*) 0.0 0.0 0.1) (gl-begin GL_LINES) (gl-vertex -0.5 0.5) (gl-vertex 0.5 -0.5) (gl-end) (gl-pop-matrix) (gl-color 0.0 0.0 1.0) (gl-push-matrix) (gl-rotate *rot-angle* 0.0 0.0 0.1) (gl-begin GL_LINES) (gl-vertex 0.5 0.5) (gl-vertex -0.5 -0.5) (gl-end) (gl-pop-matrix) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (glu-ortho-2d -1.0 1.0 (* -1.0 (/ h w)) (* 1.0 (/ h w))) (glu-ortho-2d (* -1.0 (/ w h)) (* 1.0 (/ w h)) -1.0 1.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (cond ((or (= key (char->integer #\r)) (= key (char->integer #\R))) (inc! *rot-angle* 20.0) (if (>= *rot-angle* 360.0) (set! *rot-angle* 0.0)) (glut-post-redisplay)) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB)) (glut-init-window-size 200 200) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example6-4.scm��������������������������������������������������������0000644�0000764�0000764�00000003500�11533026402�017670� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 6-4 Antialiasing in Color-Index mode (use gl) (use gl.glut) (define-constant RAMPSIZE 16) (define-constant RAMP1START 32) (define-constant RAMP2START 48) (define *rot-angle* 0) (define (init) ;; set up color palette (do ((i 0 (+ i 1))) ((= i RAMPSIZE)) (let ((shade (/ i RAMPSIZE))) (glut-set-color (+ RAMP1START i) 0.0 shade 0.0) (glut-set-color (+ RAMP2START i) 0.0 0.0 shade))) (gl-enable GL_LINE_SMOOTH) (gl-hint GL_LINE_SMOOTH_HINT GL_DONT_CARE) (gl-line-width 1.5) (gl-clear-index RAMP1START) ) (define (disp) (gl-clear GL_COLOR_BUFFER_BIT) (gl-index RAMP1START) (gl-push-matrix) (gl-rotate (- *rot-angle*) 0.0 0.0 0.1) (gl-begin GL_LINES) (gl-vertex -0.5 0.5) (gl-vertex 0.5 -0.5) (gl-end) (gl-pop-matrix) (gl-index RAMP2START) (gl-push-matrix) (gl-rotate *rot-angle* 0.0 0.0 0.1) (gl-begin GL_LINES) (gl-vertex 0.5 0.5) (gl-vertex -0.5 -0.5) (gl-end) (gl-pop-matrix) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (glu-ortho-2d -1.0 1.0 (* -1.0 (/ h w)) (* 1.0 (/ h w))) (glu-ortho-2d (* -1.0 (/ w h)) (* 1.0 (/ w h)) -1.0 1.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (cond ((or (= key (char->integer #\r)) (= key (char->integer #\R))) (inc! *rot-angle* 20.0) (if (>= *rot-angle* 360.0) (set! *rot-angle* 0.0)) (glut-post-redisplay)) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_INDEX)) (glut-init-window-size 200 200) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example6-5.scm��������������������������������������������������������0000644�0000764�0000764�00000004510�11533026402�017673� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 6-5 Five Fogged Spheres in RGBA Mode (use gl) (use gl.glut) (define *fog-mode* GL_EXP) (define (init) (gl-enable GL_DEPTH_TEST) (gl-light GL_LIGHT0 GL_POSITION '#f32(0.5 0.5 3.0 0.0)) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-material GL_FRONT GL_AMBIENT '#f32(0.1745 0.01175 0.01175 0.0)) (gl-material GL_FRONT GL_DIFFUSE '#f32(0.61424 0.04136 0.04136 0.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.727811 0.626959 0.626959 0.0)) (gl-material GL_FRONT GL_SHININESS (* 0.6 128)) (gl-enable GL_FOG) (gl-fog GL_FOG_MODE GL_EXP) (gl-fog GL_FOG_COLOR '#f32(0.5 0.5 0.5 1.0)) (gl-fog GL_FOG_DENSITY 0.35) (gl-hint GL_FOG_HINT GL_DONT_CARE) (gl-fog GL_FOG_START 1.0) (gl-fog GL_FOG_END 5.0) (gl-clear-color 0.5 0.5 0.5 1.0) ) (define (render-sphere x y z) (gl-push-matrix) (gl-translate x y z) (glut-solid-sphere 0.4 16 16) (gl-pop-matrix)) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (render-sphere -2.0 -0.5 -1.0) (render-sphere -1.0 -0.5 -2.0) (render-sphere 0.0 -0.5 -3.0) (render-sphere 1.0 -0.5 -4.0) (render-sphere 2.0 -0.5 -5.0) (gl-flush) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (gl-ortho -2.5 2.5 (* -2.5 (/ h w)) (* 2.5 (/ h w)) -10.0 10.0) (gl-ortho (* -2.5 (/ w h)) (* 2.5 (/ w h)) -2.5 2.5 -10.0 10.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard key x y) (cond ((or (= key (char->integer #\f)) (= key (char->integer #\F))) (receive (next-mode next-mode-name) (apply values (cdr (assv *fog-mode* `((,GL_EXP ,GL_EXP2 GL_EXP2) (,GL_EXP2 ,GL_LINEAR GL_LINEAR) (,GL_LINEAR ,GL_EXP GL_EXP))))) (print #`"Fog mode is ,|next-mode-name|") (set! *fog-mode* next-mode) (gl-fog GL_FOG_MODE *fog-mode*)) (glut-post-redisplay)) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 500 500) (glut-create-window (car args)) (init) (glut-reshape-func reshape) (glut-keyboard-func keyboard) (glut-display-func disp) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example6-7.scm��������������������������������������������������������0000644�0000764�0000764�00000006422�11533026402�017701� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 6-7 Polygon Offset to Eliminate Visual Artifacts (use gl) (use gl.glut) (define *list* 0) (define *spinx* 0) (define *spiny* 0) (define *tdist* 0.0) (define *polyfactor* 1.0) (define *polyunits* 1.0) (define (disp) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-push-matrix) (gl-translate 0.0 0.0 *tdist*) (gl-rotate *spinx* 1.0 0.0 0.0) (gl-rotate *spiny* 0.0 1.0 0.0) (gl-material GL_FRONT GL_AMBIENT_AND_DIFFUSE '#f32(0.8 0.8 0.8 1.0)) (gl-material GL_FRONT GL_SPECULAR '#f32(0.0 0.0 0.0 1.0)) (gl-material GL_FRONT GL_SHININESS 0.0) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-enable GL_POLYGON_OFFSET_FILL) (gl-polygon-offset *polyfactor* *polyunits*) (gl-call-list *list*) (gl-disable GL_POLYGON_OFFSET_FILL) (gl-disable GL_LIGHTING) (gl-disable GL_LIGHT0) (gl-color 1.0 1.0 1.0) (gl-polygon-mode GL_FRONT_AND_BACK GL_LINE) (gl-call-list *list*) (gl-polygon-mode GL_FRONT_AND_BACK GL_FILL) (gl-pop-matrix) (gl-flush) ) (define (init) (gl-clear-color 0.0 0.0 0.0 1.0) (set! *list* (gl-gen-lists 1)) (gl-new-list *list* GL_COMPILE) (glut-solid-sphere 1.0 20 12) (gl-end-list) (gl-enable GL_DEPTH_TEST) (gl-light GL_LIGHT0 GL_AMBIENT '#f32(0.0 0.0 0.0 1.0)) (gl-light GL_LIGHT0 GL_DIFFUSE '#f32(1.0 1.0 1.0 1.0)) (gl-light GL_LIGHT0 GL_SPECULAR '#f32(1.0 1.0 1.0 1.0)) (gl-light GL_LIGHT0 GL_POSITION '#f32(1.0 1.0 1.0 0.0)) (gl-light-model GL_LIGHT_MODEL_AMBIENT '#f32(0.2 0.2 0.2 1.0)) ) (define (reshape w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 45.0 (/ w h) 1.0 10.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (glu-look-at 0.0 0.0 5.0 0.0 0.0 0.0 0.0 1.0 0.0) ) (define (mouse button state x y) (cond ((= button GLUT_LEFT_BUTTON) (when (= state GLUT_DOWN) (set! *spinx* (modulo (+ *spinx* 5) 360)) (glut-post-redisplay))) ((= button GLUT_MIDDLE_BUTTON) (when (= state GLUT_DOWN) (set! *spiny* (modulo (+ *spiny* 5) 360)) (glut-post-redisplay))) ((= button GLUT_RIGHT_BUTTON) (when (= state GLUT_UP) (exit 0))) )) (define (keyboard key x y) (cond ((= key (char->integer #\t)) (when (< *tdist* 4.0) (inc! *tdist* 0.5) (glut-post-redisplay))) ((= key (char->integer #\T)) (when (> *tdist* -5.0) (dec! *tdist* 0.5) (glut-post-redisplay))) ((= key (char->integer #\F)) (inc! *polyfactor* 0.1) (print #`"polyfactor is ,|*polyfactor*|") (glut-post-redisplay)) ((= key (char->integer #\f)) (dec! *polyfactor* 0.1) (print #`"polyfactor is ,|*polyfactor*|") (glut-post-redisplay)) ((= key (char->integer #\U)) (inc! *polyunits* 1.0) (print #`"polyunits is ,|*polyunits*|") (glut-post-redisplay)) ((= key (char->integer #\u)) (dec! *polyunits* 1.0) (print #`"polyunits is ,|*polyunits*|") (glut-post-redisplay)) ((= key 27) ;ESC (exit 0))) ) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH)) (glut-init-window-size 500 500) (glut-create-window (car args)) (glut-reshape-func reshape) (glut-display-func disp) (glut-mouse-func mouse) (glut-keyboard-func keyboard) (init) (glut-main-loop) 0) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example10-1.scm�������������������������������������������������������0000644�0000764�0000764�00000005465�11533026402�017754� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 10-1 Using the stencil test (use gl) (use gl.glut) (define-constant YELLOWMAT 1) (define-constant BLUEMAT 2) (define (init) (let ((yellow-diffuse '#f32(0.7 0.7 0.0 1.0)) (yellow-specular '#f32(1.0 1.0 1.0 1.0)) (blue-diffuse '#f32(0.1 0.1 0.7 1.0)) (blue-specular '#f32(0.1 1.0 1.0 1.0)) (position-one '#f32(1.0 1.0 1.0 0.0)) ) (gl-new-list YELLOWMAT GL_COMPILE) (gl-material GL_FRONT GL_DIFFUSE yellow-diffuse) (gl-material GL_FRONT GL_SPECULAR yellow-specular) (gl-material GL_FRONT GL_SHININESS 45.0) (gl-end-list) (gl-new-list BLUEMAT GL_COMPILE) (gl-material GL_FRONT GL_DIFFUSE blue-diffuse) (gl-material GL_FRONT GL_SPECULAR blue-specular) (gl-material GL_FRONT GL_SHININESS 45.0) (gl-end-list) (gl-light GL_LIGHT0 GL_POSITION position-one) (gl-enable GL_LIGHT0) (gl-enable GL_LIGHTING) (gl-enable GL_DEPTH_TEST) ;(gl-clear-stencil 0) ;(gl-enable GL_STENCIL_TEST) )) (define (display-proc) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) ;; draw blue sphere where the stencil is 1 (gl-stencil-func GL_EQUAL 1 1) (gl-stencil-op GL_KEEP GL_KEEP GL_KEEP) (gl-call-list BLUEMAT) (glut-solid-sphere 0.5 15 15) ;; draw the tori where the tencil is not 1 (gl-stencil-func GL_NOTEQUAL 1 1) (gl-push-matrix) (gl-rotate 45.0 0.0 0.0 1.0) (gl-rotate 45.0 0.0 1.0 0.0) (gl-call-list YELLOWMAT) (glut-solid-torus 0.275 0.85 30 30) (gl-push-matrix) (gl-rotate 90.0 1.0 0.0 0.0) (glut-solid-torus 0.275 0.85 30 30) (gl-pop-matrix) (gl-pop-matrix) (gl-flush) ) (define (reshape-proc w h) (gl-viewport 0 0 w h) ;; create a diamond shaped stencil area (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (glu-ortho-2d -3.0 3.0 (* -3.0 (/ h w)) (* 3.0 (/ h w))) (glu-ortho-2d (* -3.0 (/ w h)) (* 3.0 (/ w h)) -3.0 3.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-clear GL_STENCIL_BUFFER_BIT) (gl-stencil-func GL_ALWAYS 1 1) (gl-stencil-op GL_REPLACE GL_REPLACE GL_REPLACE) (gl-begin* GL_QUADS (gl-vertex -1.0 0.0) (gl-vertex 0.0 1.0) (gl-vertex 1.0 0.0) (gl-vertex 0.0 -1.0)) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (glu-perspective 45.0 (/ w h) 3.0 7.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -5.0) ) (define (keyboard-proc key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH GLUT_STENCIL)) (glut-init-window-size 400 400) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape-proc) (glut-display-func display-proc) (glut-keyboard-func keyboard-proc) (glut-main-loop) 0) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example10-3.scm�������������������������������������������������������0000644�0000764�0000764�00000010135�11533026402�017744� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 10-3 Antialiasing by jittering the viewing volume (use gl) (use gl.glut) (use math.const) (define (acc-frustum left right bottom top near far pixdx pixdy eyedx eyedy focus) (let ((viewport (gl-get-integer GL_VIEWPORT)) (xwsize (- right left)) (ywsize (- top bottom))) (let ((dx (- (+ (* pixdx (/ xwsize (ref viewport 2))) (* eyedx (/ near focus))))) (dy (- (+ (* pixdy (/ ywsize (ref viewport 3))) (* eyedy (/ near focus)))))) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum (+ left dx) (+ right dx) (+ bottom dy) (+ top dy) near far) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate (- eyedx) (- eyedy) 0.0) ))) (define (acc-perspective fovy aspect near far pixdx pixdy eyedx eyedy focus) (let* ((fov2 (/ (* fovy pi/180) 2.0)) (top (/ near (/ (cos fov2) (sin fov2)))) (bottom (- top)) (right (* top aspect)) (left (- right))) (acc-frustum left right bottom top near far pixdy pixdy eyedx eyedy focus) )) (define (init) (let ((mat-ambient '#f32(1.0 1.0 1.0 1.0)) (mat-specular '#f32(1.0 1.0 1.0 1.0)) (light-position '#f32(0.0 0.0 10.0 1.0)) (lm-ambient '#f32(0.2 0.2 0.2 1.0))) (gl-material GL_FRONT GL_AMBIENT mat-ambient) (gl-material GL_FRONT GL_SPECULAR mat-specular) (gl-material GL_FRONT GL_SHININESS 50.0) (gl-light GL_LIGHT0 GL_POSITION light-position) (gl-light-model GL_LIGHT_MODEL_AMBIENT lm-ambient) (gl-enable GL_LIGHT0) (gl-enable GL_LIGHTING) (gl-enable GL_DEPTH_TEST) (gl-shade-model GL_FLAT) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-clear-accum 0.0 0.0 0.0 0.0) )) (define (display-objects) (let ((torus-diffuse '#f32(0.7 0.7 0.0 1.0)) (cube-diffuse '#f32(0.0 0.7 0.7 1.0)) (sphere-diffuse '#f32(0.7 0.0 0.7 1.0)) (octa-diffuse '#f32(0.7 0.4 0.4 1.0))) (gl-push-matrix* (gl-translate 0 0 -5.0) (gl-rotate 30.0 1.0 0.0 0.0) (gl-push-matrix* (gl-translate -0.8 0.35 0) (gl-rotate 100.0 1.0 0.0 0.0) (gl-material GL_FRONT GL_DIFFUSE torus-diffuse) (glut-solid-torus 0.275 0.85 16 16)) (gl-push-matrix* (gl-translate -0.75 -0.5 0) (gl-rotate 45.0 0.0 0.0 1.0) (gl-rotate 54.0 1.0 0.0 0.0) (gl-material GL_FRONT GL_DIFFUSE cube-diffuse) (glut-solid-cube 1.5)) (gl-push-matrix* (gl-translate 0.75 0.6 0) (gl-rotate 30.0 1.0 0.0 0.0) (gl-material GL_FRONT GL_DIFFUSE sphere-diffuse) (glut-solid-sphere 1.0 16 16)) (gl-push-matrix* (gl-translate 0.7 -0.9 0.25) (gl-material GL_FRONT GL_DIFFUSE octa-diffuse) (glut-solid-octahedron)) ) )) (define-constant ACSIZE 8) (define-constant J8 ;; jitter offsets '#((-0.334818 0.435331) ( 0.286438 -0.393495) ( 0.459462 0.141540) (-0.414498 -0.192829) (-0.183790 0.082102) (-0.079263 -0.317383) ( 0.102254 0.299133) ( 0.164216 -0.054399))) (define (display-proc) (let1 viewport (gl-get-integer GL_VIEWPORT) (gl-clear GL_ACCUM_BUFFER_BIT) (dotimes (jitter ACSIZE) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (acc-perspective 50.0 (/ (ref viewport 2) (ref viewport 3)) 1.0 15.0 (car (ref J8 jitter)) (cadr (ref J8 jitter)) 0.0 0.0 1.0) (display-objects) (gl-accum GL_ACCUM (/ ACSIZE))) (gl-accum GL_RETURN 1.0) (gl-flush) )) (define (reshape-proc w h) (gl-viewport 0 0 w h) ) (define (keyboard-proc key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH GLUT_ACCUM)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape-proc) (glut-display-func display-proc) (glut-keyboard-func keyboard-proc) (glut-main-loop) 0) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example10-4.scm�������������������������������������������������������0000644�0000764�0000764�00000007016�11533026402�017751� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 10-4 Antialiasing by jittering the orthographic projection (use gl) (use gl.glut) (use math.const) (define (init) (let ((mat-ambient '#f32(1.0 1.0 1.0 1.0)) (mat-specular '#f32(1.0 1.0 1.0 1.0)) (light-position '#f32(0.0 0.0 10.0 1.0)) (lm-ambient '#f32(0.2 0.2 0.2 1.0))) (gl-material GL_FRONT GL_AMBIENT mat-ambient) (gl-material GL_FRONT GL_SPECULAR mat-specular) (gl-material GL_FRONT GL_SHININESS 50.0) (gl-light GL_LIGHT0 GL_POSITION light-position) (gl-light-model GL_LIGHT_MODEL_AMBIENT lm-ambient) (gl-enable GL_LIGHT0) (gl-enable GL_LIGHTING) (gl-enable GL_DEPTH_TEST) (gl-shade-model GL_FLAT) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-clear-accum 0.0 0.0 0.0 0.0) )) (define (display-objects) (let ((torus-diffuse '#f32(0.7 0.7 0.0 1.0)) (cube-diffuse '#f32(0.0 0.7 0.7 1.0)) (sphere-diffuse '#f32(0.7 0.0 0.7 1.0)) (octa-diffuse '#f32(0.7 0.4 0.4 1.0))) (gl-push-matrix* (gl-translate 0 0 -5.0) (gl-rotate 30.0 1.0 0.0 0.0) (gl-push-matrix* (gl-translate -0.8 0.35 0) (gl-rotate 100.0 1.0 0.0 0.0) (gl-material GL_FRONT GL_DIFFUSE torus-diffuse) (glut-solid-torus 0.275 0.85 16 16)) (gl-push-matrix* (gl-translate -0.75 -0.5 0) (gl-rotate 45.0 0.0 0.0 1.0) (gl-rotate 54.0 1.0 0.0 0.0) (gl-material GL_FRONT GL_DIFFUSE cube-diffuse) (glut-solid-cube 1.5)) (gl-push-matrix* (gl-translate 0.75 0.6 0) (gl-rotate 30.0 1.0 0.0 0.0) (gl-material GL_FRONT GL_DIFFUSE sphere-diffuse) (glut-solid-sphere 1.0 16 16)) (gl-push-matrix* (gl-translate 0.7 -0.9 0.25) (gl-material GL_FRONT GL_DIFFUSE octa-diffuse) (glut-solid-octahedron)) ) )) (define-constant ACSIZE 8) (define-constant J8 ;; jitter offsets '#((-0.334818 0.435331) ( 0.286438 -0.393495) ( 0.459462 0.141540) (-0.414498 -0.192829) (-0.183790 0.082102) (-0.079263 -0.317383) ( 0.102254 0.299133) ( 0.164216 -0.054399))) (define (display-proc) (let1 viewport (gl-get-integer GL_VIEWPORT) (gl-clear GL_ACCUM_BUFFER_BIT) (dotimes (jitter ACSIZE) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (gl-push-matrix* ;; Note that 4.5 is the distance in world space between ;; left and right and bottom and top. ;; This formula converts fractional pixel movement to ;; world coordinates. (gl-translate (/ (* (car (ref J8 jitter)) 4.5) (ref viewport 2)) (/ (* (cadr (ref J8 jitter)) 4.5) (ref viewport 3)) 0.0) (display-objects)) (gl-accum GL_ACCUM (/ ACSIZE))) (gl-accum GL_RETURN 1.0) (gl-flush) )) (define (reshape-proc w h) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (if (<= w h) (gl-ortho -2.25 2.25 (* -2.25 (/ h w)) (* 2.25 (/ h w)) -10.0 10.0) (gl-ortho (* -2.25 (/ w h)) (* 2.25 (/ w h)) -2.25 2.25 -10.0 10.0)) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) ) (define (keyboard-proc key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH GLUT_ACCUM)) (glut-init-window-size 250 250) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape-proc) (glut-display-func display-proc) (glut-keyboard-func keyboard-proc) (glut-main-loop) 0) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/glbook/example10-5.scm�������������������������������������������������������0000644�0000764�0000764�00000010453�11533026402�017751� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;; Example 10-5 Depth-of-field effect (use gl) (use gl.glut) (use gauche.uvector) (use math.const) (define *teapot-list* #f) (define (acc-frustum left right bottom top near far pixdx pixdy eyedx eyedy focus) (let ((viewport (gl-get-integer GL_VIEWPORT)) (xwsize (- right left)) (ywsize (- top bottom))) (let ((dx (- (+ (* pixdx (/ xwsize (ref viewport 2))) (* eyedx (/ near focus))))) (dy (- (+ (* pixdy (/ ywsize (ref viewport 3))) (* eyedy (/ near focus)))))) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum (+ left dx) (+ right dx) (+ bottom dy) (+ top dy) near far) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate (- eyedx) (- eyedy) 0.0) ))) (define (acc-perspective fovy aspect near far pixdx pixdy eyedx eyedy focus) (let* ((fov2 (/ (* fovy pi/180) 2.0)) (top (/ near (/ (cos fov2) (sin fov2)))) (bottom (- top)) (right (* top aspect)) (left (- right))) (acc-frustum left right bottom top near far pixdy pixdy eyedx eyedy focus) )) (define (init) (gl-light GL_LIGHT0 GL_AMBIENT '#f32(0.0 0.0 0.0 1.0)) (gl-light GL_LIGHT0 GL_DIFFUSE '#f32(1.0 1.0 1.0 1.0)) (gl-light GL_LIGHT0 GL_POSITION '#f32(0.0 3.0 3.0 0.0)) (gl-light-model GL_LIGHT_MODEL_AMBIENT '#f32(0.2 0.2 0.2 1.0)) (gl-light-model GL_LIGHT_MODEL_LOCAL_VIEWER '#f32(0.0)) (gl-front-face GL_CW) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-enable GL_AUTO_NORMAL) (gl-enable GL_NORMALIZE) (gl-enable GL_DEPTH_TEST) (gl-clear-color 0.0 0.0 0.0 0.0) (gl-clear-accum 0.0 0.0 0.0 0.0) (set! *teapot-list* (gl-gen-lists 1)) (gl-new-list *teapot-list* GL_COMPILE) (glut-solid-teapot 0.5) (gl-end-list) ) (define (render-teapot x y z ambr ambg ambb difr difg difb specr specg specb shine) (gl-push-matrix* (gl-translate x y z) (gl-material GL_FRONT GL_AMBIENT (f32vector ambr ambg ambb 1.0)) (gl-material GL_FRONT GL_DIFFUSE (f32vector difr difg difb 1.0)) (gl-material GL_FRONT GL_SPECULAR (f32vector specr specg specb 1.0)) (gl-material GL_FRONT GL_SHININESS (* shine 128.0)) (gl-call-list *teapot-list*) )) (define-constant J8 ;; jitter offsets '#((-0.334818 0.435331) ( 0.286438 -0.393495) ( 0.459462 0.141540) (-0.414498 -0.192829) (-0.183790 0.082102) (-0.079263 -0.317383) ( 0.102254 0.299133) ( 0.164216 -0.054399))) (define (display-proc) (let1 viewport (gl-get-integer GL_VIEWPORT) (gl-clear GL_ACCUM_BUFFER_BIT) (dotimes (jitter 8) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (acc-perspective 45.0 (/ (ref viewport 2) (ref viewport 3)) 1.0 15.0 0.0 0.0 (* 0.33 (car (ref J8 jitter))) (* 0.33 (cadr (ref J8 jitter))) 5.0) (render-teapot -1.1 -0.5 -4.5 0.1745 0.01175 0.01175 0.61424 0.04136 0.04136 0.727811 0.626959 0.626959 0.6) (render-teapot -0.5 -0.5 -5.0 0.24725 0.1995 0.0745 0.75164 0.60648 0.22648 0.628281 0.555802 0.366065 0.4) (render-teapot 0.2 -0.5 -5.5 0.19225 0.19225 0.19225 0.50754 0.50754 0.50754 0.508273 0.508273 0.508273 0.4) (render-teapot 1.0 -0.5 -6.0 0.0215 0.1745 0.0215 0.07568 0.61424 0.07568 0.633 0.727811 0.633 0.6) (render-teapot 1.8 -0.5 -6.5 0.0 0.1 0.06 0.0 0.50980392 0.50980392 0.50196078 0.50196078 0.50196078 .25) (gl-accum GL_ACCUM (/ 8))) (gl-accum GL_RETURN 1.0) (gl-flush) )) (define (reshape-proc w h) (gl-viewport 0 0 w h) ) (define (keyboard-proc key x y) (when (= key 27) (exit 0))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_SINGLE GLUT_RGB GLUT_DEPTH GLUT_ACCUM)) (glut-init-window-size 400 400) (glut-init-window-position 100 100) (glut-create-window (car args)) (init) (glut-reshape-func reshape-proc) (glut-display-func display-proc) (glut-keyboard-func keyboard-proc) (glut-main-loop) 0) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/images/����������������������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�015274� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/images/noturn.rgb������������������������������������������������������������0000644�0000764�0000764�00001610121�11533026402�017317� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ú�@Ö��������ÿ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Ÿ� ��W�¦�þ�úJ�ö‘�òÞ�ï*�ëo�çº�ä�à:�Üz�Ø¿�Õ �ÑX�Í©�Éò�ÆA�–�¾å�»,�·�³Ö�°/�¬Ÿ�©�¥f�¡´�ž�šo�–»�“�V�‹©�‡û�„e�€¿�}�yy�ué�r?�n–�jý�gX�cÁ�` �\`�X·�Tú�Q@�M›�Iì�FB�B£�>ø�;b�7»�4�0v�,Ü�)8�%�!á�8�Š�Ì�#�y� È� �X��£�üí�ù8�õ�ñÁ�î�êR�æ’�âÞ�ß$�Ûh�×¹�Óþ�ÐJ�Ì™�Èé�Å<�ÁŠ�½Ö�º4�¶Œ�²Î�¯�«Q�§•�£Ú� $�œe�˜ �”×�‘#�`�‰ª�…î�‚1�~}�zÑ�w�sb�o¹�l�hu�dÊ�a!�]v�YÔ�V'�Ry�N×�K5�G�Cæ�@<�<�8Þ�54�1‰�-Ð�*�&b�"Å�#�r�®�õ�=� ‰�Ð��Y�ý—�ùÝ�ö�òo�î¤�êâ�ç#�ã^�ßž�ÛÔ�Ø�ÔK�Ј�̾�É�Å9�Áz�½°�¹é�¶#�²Y�®’�ªÌ�§ �£E�Ÿ|�›¹�—ñ�”,�`�Œ›�ˆÏ�…�I�}‡�yÂ�uþ�r9�nn�j§�fæ�c �__�[Ÿ�Wß�T�Pb�Lœ�HÕ�E�A\�=˜�9Þ�6�2a�.¥�*Þ�'�#Y�™�à�#�_�”� Ô� �G�€�ý·�ùð�ö&�òg�î™�êÐ�ç�ã>�ßz�Û­�׿�Ô�ÐQ�Ì‘�ÈÅ�Äø�Á)�½Y�¹‰�µ·�±é�®�ªG�¦z�¢°�žå�›�—Q�“‡�½�‹ó�ˆ"�„U�€ˆ�|¸�xè�u�qF�mu�i¦�eÚ�b �^<�Zu�V©�RÞ�O�KB�Gs�C¦�?à�<�8M�4�0µ�,æ�)�%Š�!½�ú�7�q�­�æ� �T�‹�ÿ¾�û÷�ø.�ôe�ð«�ìß�é�åA�áv�Ý«�Ùã�Ö �Ò^�Γ�ÊË�Ç �ÃD�¿�»»�·õ�´.�°d�¬›�¨Ñ�¥�¡>�q�™«�•á�’+�Žk�Š£�†Ú�ƒ�V�{‹�wÃ�t�p\�l�hÖ�e�ab�]¥�Yé�V.�Rk�N¢�JÔ�G �CB�?s�;®�7ç�4#�0W�,Š�(Ã�$ü�!/�i��Ñ��8� l� �Õ�ÿ �û:�÷l�ó¡�ïÕ�ì �è=�äk�à£�Ü×�Ù�Õ=�Ñw�Í©�Éà�Æ�ÂG�¾{�º²�¶ê�³�¯S�«‰�§Ç�£þ� 4�œl�˜¢�”Ù�‘�L�‰Š�…Á�ø�~;�zu�v´�rõ�o8�kx�gÁ�d�`:�\n�X¢�T×�Q�ME�Iz�E­�Aâ�>�:O�6‚�2¶�.é�+�'T�#Ž�Ã�ÿ�7�k�Ÿ� Õ� �F�…��ý¿��ùü��ö7��òr��î¤��êÙ��ç��ãH��ß}��Û´��×ì��Ô,��Ðn��Ì©��ÈÝ��Å��Áa��½˜��¹Û��¶��²a��®›��ªÙ��§��£N��Ÿ’��›Ì��˜��”J��†��ŒÁ��‰��…>��x��}µ��yí��v!��rT��n‹��j¾��fò��c$��_[��[Œ��W½��Sô��P)��L^��HŽ��DÃ��@ù��=+��9h��5ž��1Õ��.� È� �x�Ò�ÿ!�ûx�÷Â�ô �ðX�ì �èë�å7�áu�ݱ�Ùð�Ö7�ÒŠ�ÎÒ�Ë&�Çl�ú�À�¼^�¸¨�µ�±T�­¬�ª�¦�¢ß�Ÿ,�›‡�—è�”6�‹�ŒÑ�‰"�…|�Ý�~7�zž�vú�sd�o¹�l�hz�dÙ�a9�]„�YÜ�V1�Rt�N¼�K�Gd�CÂ�@�<n�8á�57�1œ�-ò�*[�&º�# �]�·��F�›� ð� A�Š�Ð�þ �úh�ö´�òõ�ï=�ë…�çÍ�ä �à[�Üœ�Øè�Õ5�Ñy�ÍÈ�Ê�Æh�¹�¿�»S�·±�´�°I�¬‹�¨Ì�¥�¡Q�ž�™ß�–�’P�Ž�Šä�‡(�ƒj�¯�{ú�xL�t—�pÜ�m7�iš�eô�bI�^¢�Zð�WU�S£�Oø�LW�H±�E �Aa�=º�: �6\�2°�/�+R�'š�#â� H� �í�,�r� º� �O��þÔ�û�÷Z�ó¤�ïæ�ì�è\�ä�àÛ�Ý�ÙO�Õ‰�ÑÇ�Î��Ê>�Æ}�¸�¾ò�»,�·e�³œ�¯Õ�¬ �¨L�¤‡� ¿�œ÷�™3�•m�‘¤�Ü�Š�†K�‚‡�~Å�{�w>�sz�o°�kê�h&�db�`¡�\Þ�Y�U_�Qž�MÝ�J�FT�B™�>Ú�;�7^�3¡�/ä�,�(_�$š� ×��b� �Ø�� N�ˆ�Â�þù�û1�÷j�ó©�ïÝ�ì�èL�ä€�àµ�Üð�Ù(�Õ^�Ñ‘�ÍË�Ê �Æ=�Âm�¾Ÿ�ºÎ�¶ý�³.�¯^�«�§À�£õ� )�œ^�˜’�”Ì�‘�7�‰h�…›�Í�}þ�z-�v\�r‹�n»�jë�g�cP�_�[·�Wî�T#�PS�L‡�H¸�Dë�A"�=_�9’�5Ç�1ù�.,�*a�&À�#�;�w�±�ï�)� ^�š�Ñ��ý:�ùr�õª�ñé�î#�êU�æ‡�â»�Þî�Û)�×e�Ó£�ÏØ�Ì�ÈH�Ć�ÀÃ�¼ÿ�¹7�µp�±©�­Þ�ª�¦J�¢‚�ž·�ší�—#�“l�®�‹æ�ˆ�„X�€›�|Ñ�y �uR�qœ�mß�j�fY�b �^æ�[*�Wn�S®�Oè�L�HL�D…�@¹�<ð�9(�5c�1œ�-Ð�*�&@�"t�®�â��H�}� °�ã���N�ü�ø°�ôä�ñ�íP�é�å±�áå�Þ�ÚM�Ö‚�Ò¸�Îí�Ë$�ÇV�Ê�¿¿�»õ�¸.�´b�°–�¬Ë�© �¥C�¡x�¯�™æ�–�’T�Ž�ŠÍ�‡�ƒ;�|�{¶�wö�t8�p{�l¸�hÿ�eF�a�]³�Yæ�V�RS�Nˆ�J½�Fñ�C$�?_�;”�7È�3û�0.�,`�(š�$Î�!�@�|�°�ä�� S�‹�Æ��ÿ��û@��÷x��ó¶��ïè��ì��èR��äŠ��àÁ��Ü÷��Ù+��Õi��Ñ©��Íè��Ê ��ÆY��Ÿ��¾Ù��»��·Z��³˜��¯Ù��¬��¨V��¤�� Ï�� ��™V��•Ž��‘É��Ž��ŠD��†ƒ��‚»��~ø��{1��wf��sš��oÐ��l��h7��dj��`��\Ñ��Y��U9��Qk��M¤��IÔ��F��B>��>q��:­��6á��3��/R� � ^�½���c�ü¼�ù�õL�ñœ�íä�ê+�æv�â»�Þ÷�Û5�×z�ÓË�Ð�Ìi�È­�Äû�ÁQ�½¡�¹ç�¶J�²•�®ì�«Y�§¿�¤!� n�œÊ�™+�•w�‘Ë�Ž�Še�†½�ƒ"�z�{Û�x4�t¤�pû�mU�i¸�f�b|�^Å�[�Wt�S·�Oý�LW�H§�E�A`�=²�: �6y�2Þ�/1�+˜�'ø�$J� �ö�F�‡�Þ�3� ‚�Ë��ÿ_�ûª�÷÷�ô:�ð}�ìÂ�é�åO�á�Ýß�Ú&�Öv�Òº�Ï�ËS�Ǧ�Ãù�ÀF�¼”�¸ï�µI�±‰�­Ð�ª �¦S�¢•�žá�›!�—]�“’�Ý�Œ�ˆj�„ª�€í�}:�y�uÔ�r�nt�jÞ�g3�c‹�_â�\1�X—�Tæ�Q6�M•�Iñ�FJ�B£�>ù�;P�7œ�3ð�0D�,Œ�(Û�%�!…�à�/�j�´�û� E�Ž�Ó���üV�ø™�ôØ�ñ*�í_�é�åà�â�ÞX�Ú�ÖÉ�Ó�ÏC�Ë{�ǽ�Ã÷�À6�¼k�¸¦�´ß�±�­N�©Š�¥Ç�¢�ž9�šs�–­�’è��‹V�‡Š�ƒÃ�€�|D�x€�tº�pô�m+�id�e¢�aÞ�^�Z\�V›�RÚ�O�KX�G�CÕ�@�<U�8š�4Ù�1!�-`�)›�%Ú�"�U�ž�à��T� ’�Ê���<�üq�ø¬�ôä�ñ!�íV�éŒ�åÁ�áø�Þ6�Úi�Ö£�ÒÖ�Ï�ËL�Ç�ó�¿å�¼�¸C�´s�°¤�¬Ó�©�¥7�¡n�¡�™Õ�–�’C�Ž{�Š®�†Þ�ƒ�C�{r�w¢�sÑ�p�l1�hd�d•�`Æ�\ù�Y2�Uf�Q™�MÍ�Iü�F/�Ba�>›�:Õ�7�3>�/q�+¤�'ó�$F� {�¹�ô�/�i� ¢� Ù��H�þz�ú²�öë�ó#�ïe�ë™�çË�ãþ�à1�Üh�Ø¡�ÔÞ�Ñ�ÍQ�Ɉ�ÅÆ�Â�¾A�ºx�¶±�²ë�¯�«V�§�£Ä�Ÿú�œ.�˜f�” �ê�'�‰^�…–�Ú�~�zI�vŠ�r×�o�kZ�g—�cÛ�`#�\d�Xª�Të�Q&�M\�I�EÆ�Aý�>.�:m�6£�2Þ�/�+E�'�#¸�é�$�Z��¾� ô� '�[�’�ýÄ�ùõ�ö&�ò\�î’�êÆ�æ÷�ã(�ß_�Û’�×Â�Óû�Ð2�Ìf�È›�ÄÌ�Á�½5�¹p�µ¦�±Ù�®�ªI�¦ƒ�¢¹�žï�›'�—\�“•�Î�Œ �ˆD�„{�€·�|ú�y4�uq�q¸�mö�j8�f�bÀ�^ô�[*�W_�S—�OÍ�L�H4�Dh�@�<Ö�9 �5?�1q�-£�)Ù�&�"I��½�ô�(�\� �Í���C��ü~��ø·��ôô��ñ-��í`��é”��åË��â��Þ8��Úo��Ö¨��Òæ��Ï)��Ëd��ǘ��ÃØ��À��¼Z��¸˜��´Ô��±��­X��©—��¥Ð��¢��žN��šŒ��–Í��“��C��‹��‡Â��ƒû��€8��|p��xª��tÝ��q��mH��iy��e­��aá��^��ZG��V{��R®��Nä��K��GI��C��?¶��;ì��8%��4Z��0’��)����!��,�� ��.��1��+��.��1��1��6��;��7��1��*��2��)��4��+��$��*��2����2��%�� ������+������-��%��5��(��'��������%����%��#����"����0��$��%��7��4��!��2��"����%�� ��&����&����#��+��)��%��-��9��#��"��(��4��2��-��3��0��5��4��8��3��;��-��7��4��/��7��/��/��*��,��/��/����%��:��8��:��7��7��-��9��?��C��-��=��:��:��9��2��)��:��5��#����%��*��(��,����.��*��!��"��$��$��%��-��.��(��'��3��3��8����%��.��?��7��5��1��4��9��7��=��8��=��5��B��;��9��?��=��C��A��>��?��B��<��D��>��B��C��B��C��C��?��C��B��C��>��B��A��D��A��D��D��>��>��A��@��A��B��C��@��B��B��?��<��B��<��A��D��<��=��B��@��C��@��?��@��A��A��>��=��?��A��D��@��@��A��B��B��A��D��B��D��E��F��B��;��C��B��E��@��:��D��E��D��F��E��F��E��E��F��F��E��D��D��A��E��D��D��F��F��E��F��E��F��E��F��E��E��E��E��B��E��E��D��E��E��E��B��E��E��F��D��F��D��6��E��A��@��@��B��C��C��F��F��E��C��D��E��>��D��E��F��E��C��F��E��E��E��D��=��B��B��D��B��B��E��C��D��D��D��F��B��B��A��C��C��E��B��E��F��F��>��@��B��D��B��>��A��A��@��C��F��E��C��C��F��B��A��@��E��F��B��D��E��E��E��D��E��E��D��C��C��E��E��D��C��C��D��D��F��B��C��E��E��A��D��D��E��C��D��C��D��D��C��B��C��E��D��C��D��B��E��A��C��D��C��A��A��B��C��C��@��>��B��E��E��D��D��E��C��C��D��B��D��E��F��E��E��D��F��@��D��A��E��E��E��F��A��E��A��D��D��A��D��D��C��C��B��D��C��?��=��;��?��C��>��>��A��A��B��7��>��?��B��A��=��A��C��D��C��D��?��E��C��C��D��E��F��E��E��E��F��B��E��E��E��B��F��F��D��E��F��E��C��D��B��E��C��E��A��B��D��C��C��D��D��@��?��F��F��E��C��A��B��C��A��A��B��C��?��B��A��@��B��>��B��B��C��C��A��@��A��C��A��E��C��=��:��@��B��;��>��;��C��A��@��C��C��A��9��C��?��C��D��?��B��B��?��=��>��@��@��?��A��A��C��C��A��A��D��?��B��C��E��@��=��B��D��B��C��>��A��A��=��@��>��@��A��A��>��A��@��E��@��B��D��C��B��C��B��@��;��B��@��>��@��C��=��B��=��D��?��B��@��A��B��C��>��>��@��@��B��?��D��@��@��A��:��A��=��=��@��B��>��B��A��A��?��C��A��A��?��4��D��B��A��C��A��A��A��@��?��C��=��@��?��D��?��A��C��@��C��>��@��C��B��@��@��D��B��C��?��<��@��A��B��@��D��A��>��@��=��=��A��<��<��@��?��<��<��=��7��<��8��=��B��<��@��?��8��<��@��C��@��D��B��@��C��@��B��;��D��A��@��A��C��F��A��E��E��D��C��D��F��F��F��F��E��F��F��B��B��E��C��C��B��B��D��F��C��E��E��E��F��F��F��F��E��E��E��B��D��C��F��F��D��D��?��<��C��A��E��E��C��3��D��@��B��C��@��@��D��?��>��E��@��@��A��:��B��D��D��C��C��?��<��;��B��B��@��@��?��B��A��A��B��A��A��C��B��C��A��C��4��<��A��?��>��?��C��@��8��;��=��@��>��;��=��:��<��=��>��C��D��A��D��>��E��@��B��A��@��A��D��;��B��E��E��A��D��D��C��D��E��E��B��D��B��E��F��C��E��E��@��C��E��B��E��B��C��@��B��D��C��D��?��@��A��@��A��A��A��A��>��?��@��;��D��>��9��=��>��9��;��A��A��D��D��D��E��D��C��D��>��B��C��D��C��C��?��A��B��?��A��D��D��A��=��B��<��@��>��?��>��E��D��B��A��A��A��D��?��=��A��D��?��9��C��>��>��<��D��@��A��A��B��A��6��?��=��>��;��?��@��@��?��D��C��B��E��B��C��D��E��E��B��C��@��D��B��A��E��?��D��A��@��D��A��C��D��C��E��E��E��B��F��D��D��F��C��E��E��B��D��@��E��F��E��D��E��E��A��C��F��E��E��F��D��D��D��F��D��D��>��C��E��C��E��E��D��A��E��D��E��D��D��C��C��C��D��E��A��C��F��B��B��?��E��D��@��E��D��B��D��E��E��F��F��B��D��D��C��A��E��D��C��C��C��A��E��B��C��D��E��F��C��C��D��B��E��C��E��A��E��B��E��C��D��C��E��F��A��@��D��D��C��B��>��D��E��A��B��?��?��E��=��A��C��B��D��C��C��C��=��B��D��E��D��D��C��@��C��C��D��A��B��D��B��C��D��A��D��E��E��E��E��C��B��F��D��E��E��E��C��E��B��D��E��C��D��D��D��B��B��C��C��F��D��D��B��E��E��D��D��C��B��D��E��C��C��D��B��D��C��D��C��E��D��E��C��E��C��D��B��@��E��C��D��C��D��B��C��D��@��B��D��E��D��F��D��B��F��C��D��E��F��D��D��C��C��B��E��D��E��D��E��F��D��E��F��E��C��B��D��E��C��D��B��E��D��C��E��F��F��E��E��D��B��E��E��C��C��C��E��B��F��D��E��E��E��E��C��D��B��*��D��B��A��C��B��D��D��B��E��C��D��E��C��B��F��F��E��C��E��C��B��B��D��B��C��E��B��@��C��D��C��E��E��D��B��D��C��E��A��A��D��E��D��<��B��B��9��=��@��C��?��<��?��A��?��C��E��F��D��C��E��E��A��D��E��F��E��B��D��F��E��C��D��E��D��E��E��C��E��E��F��E��C��F��F��C��D��E��F��B��E��C��E��E��E��F��B��D��E��D��@��D��E��E��E��F��D��A��A��F��F��A��A��A��C��=��B��@��@��D��F��D��C��@��A��D��F��E��E��E��D��C��E��F��C��E��E��D��B��C��C��C��E��E��D��B��A��E��C��E��D��E��D��F��E��E��D��F��E��E��E��C��E��>��C��D��D��C��B��D��=��D��@��F��D��C��B��C��C��@��E��C��D��B��C��E��E��C��E��E��B��F��E��F��E��D��C��?��C��D��CØ Tk.2‡,u‰‡’“‘ŠY,'     Jy{y€}yx{zyzuyyxwxy||zxut=Ò LSW[XU]beF Hpmsrqmkd`XXUKEB=<N)  ,(=P\[^]PF<(  œ #"  '+/9:CNS`dÛ`kpmhruprrlmonmejde[]RBDQ`t†yoogGtXgK’Yk}[‰§œáо”—É×¿Ž—•šŸ¬¬­›¢­¯±´¶ÒÊÊÏÔÒÉÓÞß××ÛÜßäæçëïíõñô÷ö÷ðõöóóôô÷R K“�¦  ?X&+p%^mkrvwuqnptL('  ¦ :__]c`]]\aZZ^Z\\ZZ\]ab_][\1‚ƒþ 78=>:=BCH0 8VSVVUPPIG>?;41-))>% ##!$     %$+(+/99?@;CGEAJKEGE@C@C?9@:=Ú:6601?Ocu`PUQ<iP]E‡XdvY”ŒÍÆ¸Žº½¥‰““˜ž©§¬™ ¨©«°´ÎÈÈÍÒÑÈÒÝÜÖÖÛÛÞãååéíìôðòôôõõ÷ðööóòóóöR J‘�þ  ,:JAOKOSWXUNQT<"1", (#   '?A:C><:;?6495==79<<A@?<<>#  & &)  #51553ž20,)#"4$ %*&(%��þ   ##"-:M]<-64+YAM7xRUiRqw{º¹¯€ƒ¯Ÿ…~‰’–ž©¨¬™ ¦¨«¯³ÌÇÈÌÓÑÇÑÜÜÖÖÚÛÝãåçìðîöóôöõøŽöøðö÷ôõöõ÷R G‰�Ž+@Lx=5‚cX‚‰‘ŽŠ\! §   Hwzy}wxwy|xxywwtrwvwwzwv‘8 þIN[\TT^aaVZnloqphb^YYUPJGD=:O%  (1ENQTTLD9+  #,19$ !('" %!(.8EEMLPXcaiglpqrowx{ß|{zz|{„yvuoghs€žˆ„}}q…<g[WjŒzd„r„ŸÄÆu\* 8@+C>+/+3W/(1NH3*5_DF4@?B4PfLm`XURh\WGGOJXZLI^J#)/HW� /7a0'eOChnut¿rqquK !  6\^]`[[ZZ^[[][[VWXXZ[_[[Y\*‰þ 45@=6;CDD?  @TQRSUNHDA><921/**@"     %  &.+/4;;A@CEED@HFKMGJKM­MNQLIGD>@JWiwcc^aZm6UJJUtqo]qaq««vcU2";>*<6 ª.N-'1RM9*5]DG6FFI6OfLj`VSPd]YGGOKYZLI_H#10ES�Ÿ #CE2*HLRPUUTRQU>%&%) Í  '>?;=9;87=88;8:6478:=@?;:=  " !&”  +20152.*'&# ’7" $% �ƒ� þ         !!0<B3205-D,&+7QN[BL7Ks‘‰N7,)*%!;("'85+(3[?:089=3GVI[TPMKYTQFF‹KIUVKI\?*,>K�ÝQE4!"9zGCm‡ygŒ‘ŽŽŽ^)  Mx{s{w|{y|zu{vvsqwuxx†vxrx6  ÄHNX\TU\]a] 9lklnifb]YTOMKGBA=T' &3;-<GLKMKB:*®  ?66EEB>3.*",<71//#! !"$+67@GNUZ\ch„puvwyÚ{‚s}}zwn^cfqxЧ ‹mX<|C$E;bz˜£§¾Úž755:7WR?FA9=SW{I:2 ,+!)72<n%V‚˜m.%*F,% '1)&�Ÿ;3%(b71Uo`OqtvurspquR  % † § 9Z`U][^ZY\]X^YYUUWWY\jZ[V['‹þ26>@77ABEE  'QQPOOMIB=:6631,++E" '(   )! ++,( (!!"''0587;@?=ACDIIGÜHINPQFLMMIJB6:@GTf„…pYE2d2!4<Tgƒ”ª¼„869B$*<ME054.3FNhD@< 182815:>9<b,Iq…b8,+I(6& ,3*%�Ž**! E5K@1MQÐORQOU@(.# (>@7<7987:97;6543748?L@;5<    · "%(  1/.0,,+&$!;$   !!�¦    ö     &6PQ@/8  !3Yqy›W%# "9  #4(MU3( ###�’OJ>/+[ƒhFnŽw‰‘ŽŽøX  Nt~v|{|{z{yxywvttvtxyywxur1    MT\^WXV^a_& 2domokga[ZRXUMGDD;V& þ ",,+)'=EDEB=5%"!  IQHHRRZ]aUTKH5#+06:<<8.&!907:ADLUTZcijnsutusw|cr|}}{xvwtsnf\^p…‡ƒ‡p^L/4>J_”ž±ØŒ75*1°=Y[@88?^mb†73=/((10(A8:BJA‚­=0;*39.$$!&6X('.�ž98."@hS6Xut`nurssqoptJ Š  7WaX_^_]\^XYVWYXY[^Z[XV&  þ2:?@9::AEE ITQQNLG@?8>;52/+)H! $$     15,)36=?D;72& #'%  #!&(&1857:>>@DFGEÚIHK8CJNLMIGGEEB@>DPdeghPB7!/=DR}ˆ›¿u272;<LF.)+0Mb^z66>.( &4;>6H=;?F=u§?9?./90&#%-;S$(1�Á*/' $H56SP=ITMNPOOMT>(!  )<B:>77:8746645Á958<><:67    "&(  *11.-/)%#$$’>% " �†™  !%(*#!œ  Ø" &7799$JXs¡N "',F "W™.#$!+=#,�þ@7'#W|wmjY“…Ž‘ŒW 3   Uw€ww{{zuzywxvyywstvyxtvwt1       TT]ZUVWcb`. Ennmoi’e`[ZZVROKHC<W$  þ,?AA93.!"   ,vkhjidkfnb^_fZ>56DD>971("$&*#(.26;FRWY_fejlnrshrxxyvxxyxvsqhaiigkduˆyeXqnf€£¾ŒV5" CTWH­877Ki`B,0Oa58'3=(1)2NQ^H)@5"2' 2' +K7&7�ž1)7^^TVIxviksqssooqrI/ ‰ ‘ 8YbXY^^\V]XV”ZXXWZY\[X[YX$ ¨   =6<:89;DDA +ORQQKHC?Š;8550)(Hþ      TJGFGEKFQA@?B;# $(*'!  $$)3646;<AABCD;BFHIHFHIFFDD>9>?AFFOX]QEBWUWlŒ¥rE3#$B°GD5&);X]K68Q`27,"'7D2)<48JJSG)=6$/& 0& +K4'7�Â*''?>55+VQIFTMOSNPPSC'1#'    ,>F<;87937344397ß9<;779:       !%&'/23/--($$#! ?#   ¤  5,-,.-//4)'(+& ‘    Û %.+$1Ps>  $"!<J!(,# ). "" ,! (=($4�þ%#Hzw~€R“‹ƒŒ‹ŠŠ‹T *2     Utzzuyuxoqrtvrruvqptqrqwtu)      KRZYQX[afc& Pkhkmjðgd^YXZPQLGA;U    +1-1-%  n|zztplnfkjhffaURUdtsidJ6 !)/%$$+03;<AFLSX\`fjomprvsÍurogdnrrmdrgbelƒŒi\rty„6"3[d`3)6/JV=  .B *080/AF)EG/++ N� 2a^cg=swqhopqsnopsE&0! † ’ :W^[V]YYOUVÝRTTVVSWUTV\YY ;79<8;A@GE 3KMOOMLEA=?@754.()I¹   Y^\ZRQNPGMKFFEB66:FUWHC.  %%$&'-47>>?A@@CDÎCECB;9BGGA;I@?AG]fLG]ajng1-=QTL'$9NE!  .B""25>;=IH0CE0.+  N�¦ B>@D!PVQGPMPQLOPU;'8*'  ø  (9@;8;46-0033033642865569:        #!&',.00.,($"!$ C!  ¹   >9:922.2.1-,-,*  *56*'   ‰ Ò%-,,15:+!%$   '  ), ( J�Ž "8~|Š…{ЉŠþЉPC5,    Qtzx}wuuqtquwtstsrrvuxtwsx,       IRYYQXZadd'Mpfmlifca^\\SQMJD:X þ   .++('  _zxvuyz{qsvqnhlnjnswqrxsfIC,$" 3<253/##%,'$'.29<82.HS[^ejqqutxxqmloosqw~}snc`V^]ms€xE8Jj^¯^;%.*AW=$  ",6@MZVeS:-##,83 C�#danjaosqklnponrprB@1/   :W]X][[XRXSWXWVTSWUZXVW\Y_   ¯68==8:?ABG 8RJONMKDA>BB:541*)JÅ     K^ZWUZ\]RSTSPGMMJOVXTS[VK3- %$Û!#.346:@BADEFHF?@@DGCHPMID>=5<?PXhijb>=J]QO/!&4K='  *17=EQS`TC5&".81  F�þEBMH=LSSLLKPNNROS5D@:)     (7?8;:7512/443433429:67;8?      !"$& 2,11.§,'&&%'"  C      †  º 7;:7488;64653,2/.0785496,     Ð  '+640,*"$ "  %#(')  @�þ6*$,‚ˆ‹Œ‰‹‰Š‹Š‰‰Œ‡ŠR%=3/      \uxvzsqspxqruvvtwtuttxsspu(    PWU]XY^cef;-/!Ellmmiþkgb`^[WTQNF?S     +)+*'"%'  Xyyruz||€|xqptwyw{|vxhfQQHCEFD=9<=<>581&$ !#!(29R_gilpulmppqrp€Âƒ}ywrmcZKEFT``8$7ILlO'/'AVC  $/(#*EZS;^wgZL*0:,�Ÿ&gmopmqqommpqnkqmsG!:0- þ    AW\X]WWVPXRUVVYTVVXXWXUXU\   579@<8>DDI$ 3QNOQMMHDA@@>864.+C ã   D]\TX^_c\^_fc]YQOTXZZ^_YZJE35/+*+'" "$&   /9;;>>D@>DCD@BOOQLFKD?:0,·?ML1'9DEY:#$6I= %,'%(.DPL<UhYQE"0;  *�þ! GKRSLQQTNKNQOLRMR9&EC?'   -7>9;843-5034452756985386< %"%%'"1.001þ0)('('$ #>           3;<89;;A=>?FD<8119=;8?@<>30!"!     Â"  "$)   %'$*4)"'- '�45- )vŒ‘Œ‹‰þŠˆˆ††‰O29$       [pvsuurtospqrpqsrrqptztuuq#     LUUZWU\bdd1 Lnqmimlfba]ZXUQNECT þ   )-- !#! _xznrwy‚{|~~|€vrtvxyy{wpb]Yclqqp^WJ<>9=>92-#*N91Y>ERW]df]\klqnu}ƒ€|{xspog[PB3/$Œ%Svs.&&BRV £'+%!=W?,HXr~m= 0IE0#))*,!�Â'(YpqpursonmopmljlrE58(     @TZWYYWXPUQSSQVT–SU\WZYX   „ª78:?:6>DGI" 9RTPNQOIGC?AA<97/.F ² L]]QUZ\f\\^dbb_`VTUY[\\]c[OA=>GMRQO?;/%$á+! 2E&+418=<64CCEBGMNQOJMKEBA>72+%%##!&H_Z%$&4DQ ')$$&>RC5ISdj\5/FF2$*((* �þ!&:LTSSOMONKLOJJKIP9&=F7"    ,3738941*//220101345583898       $$' #120+2£0*(&%%#!! !=    í    79<4788B;==AA?>=568:9;>>D?6*'$+4543%  8  #    4.„(£ #&!(42( *:</"(%"'�†&2-(?|‡ŠŠ‡‡†‡†…¥E<C#    ]nvovtrtpŸsqqpostrorsrsvx  þ  NQWTNV\bac4 Mnomjihg^aYXWXUMEAQ   .0%   ayvqrwu}y{zy}{ƒ„|yqx}uurruwqnov~|{|z~ufZOàB993.(Thae\SBD7.6?HGJR]`cr}}}~}{yusnkd]J-"4&=lw/$)CX2 4>*%67%BHN`…vC,CL0$ '/�¸(&[srsttsonkmlmliko@:C+"   DS[TYX„RRQSTQVUSSVVUVZ_‚  µ 68=82:BEGG%  7SRQNNLKAA@@?>=5-0G ˜    ®N^ZSUYW`[a\^[aahea[T[_WVTUXXRPSZ`_^^\^\PC;2%"Ü:HCC80)($ $,++/:;;FMOMNNLLMIGF@?>9.%"3"5Y`"$'2J7 .:-(5;!0HJL[ua9,<F0%" $.�‹&";PTUSRNþJJLHJJFO<&CO8+"  $!$'16818743-,00112.147357578>   "%%)  132+-.,&'#$##$ "?þ        3;<6455=9A=<9>?BA><6>>8678;;536:>>@@;>:4*##-+)%  " #$"! ´68 $ %  %2A4##30 ")�†($3‹ÇŽˆŒ†‰†…„…‚ƒ@!?@,/     ^rqkttssmnoqrqpprvronpnotvÇ    QPVDFQTa_d6Polljfgfa_ZYVUTMFCO   þ$5/   ^wvsnyx{{}|{{}xz~yp‚‚~xsqmmsz|}zxy~‚}}rj]H;(+K^X[^_Z^5!&&%-;FJPdostwvszyxwwsoi^K3#H("0M_<*?P86#&ZO£ #-'!.F-?x\' f…W%3?"! 8�†%nuÐsrtmpkoliijil6<?24   " FVWOWXXVOONRTRRQVVSRRSRTY]‡œ57;..7;GFI% 7SOQOKKJBA??<†4-0D„Ø   I]YVQZY^]_]^[_\_bbd\Rd`e_[UTRPY]c`a]\[ad][]SJ;0"6C=@?@:?$Ì++-;EGGHGCJLHJHDB?;7+"=$,CM&+2:62"$NK $/+!3F0#GmN# _yP#1:!! 7�·ISWWTQUMOJMKDGHEN4$DJ=8)!  &'0122( .97.5ƒ,,.10/144024356=×      !&#'  //2/,/,''%$##""?     Å  2;;7066=;?>;8=:>@?B<7C?B@;96/1::A?B>:<=?9<=2*$")"$(($$   ¨    '1( -C( GR.&( *�Ô $'(Ž’ŽŒ‹‡‡ƒ††„„…‚ƒ?'#!& %\ruoususkllpqllnrqrppsnqotþ  NOV<>KKbcb)Ipnmhfid`a[ZZUSKEBR   #16"  _wwrm{{|zyy||wy|~‚|‚tx~~‚‚{wzyréuwz~|€ƒƒ„{oSGZ]WT_\[<'#""!'.>EIQ\jrtxvx{{uqg]@04VR-+>YA+;>GnXŽs(,+8-> 'cP JŠe6259 #D�’ otwuspolljklhi«k5#!"$$ # ,'!HVWQYVYVNNKORNŒURVSUXPVU\‚þ55;)*32GIG 5SSROKNIBD>@@:<5-/F      LZWUQ][d]Z[[\\XZ_adb_cVYacdeb^[ZURÉWY]`acbedacd^\T:1@C>7B@?%)&15@EFJIJLKHEAA4),GF,*7C**/,<\Q}d(,,4,<)YA N‚X1034 $H�ÔLRVSSNNMKIJIBGHKP,0210"'&,! *./2<=;:;/08906363*++/0.*-332/34153<þ      &%% ..2--0*'*$$%#" A          4:86088C8<:5796;>?B??C8>EACE@;9742„989A@âDC?AC<;5! &&#!(&#  $!   .%M; " " 0& 9[9%$# 8�«ŒŒŽŒŽ‹‹†„††‡‚……?0\P5  " %$¥" _pulttqomqqouqnlqptssqntop þ  OSUADMQafd, Gprpjihd`d]][WTOHFR     ""$%#    _{yup{v}{}y~}{{}~|{ytz}‚„†ˆ‡†…ƒ}yquvƒ€Ü|{wF\\B>Y\Z>211* %-*./6@EScmv|yt`e=?PX[cM=N?5Q_{r€l'!) 3! 1^J9–ŽC0`vNy�¸msuqtqronkjkkjdjm4,WL4 %($&)&*+"ERWQWT˜MOOPUQPOSSWWXWPXTU Ž ¦967*,49EII2TVSOLKHDF@AB=<801F þ   J^YXS[W`]^[]]^\Z__aa^bbXV^`ggijhcc_[SXYUWaecgdb^^[/?C*)@B?$ %.5@FGMPMNHQ65CKNV°@7:$(?Jhdr_%"+ 1 1TA:‘~:.]vlB{�þ JQRMSPPQMKHHIHEMQ+1^T:#('!"$+498:<>?<734/67-442.+,//30-,3244741736   ! %'( 123,-/*),&('$" !>  ˆ ß  7=:9485>7=899;78>AA@=@@=<>AHJGDECA?829:7:CCBGDAB@9&'$($   Ÿ!$")$%$)/ %87A7 ž   -&6€e+"MWM0u�ˆ$‚Š‹⋆‡‡†ƒ€……>PO- ,#"! #)"! bqrmtsrkkrrs”plqoqqptpvqs Ï LPV=DTVadc)=lmjjmjc_`_]]WTNHGM 3 þ  Yxytmxrxxz{xyzyxz~|xt|‚|{v{„…„…ˆ„‡†~yropsw||}vH\YC8Q][HA866+-*# $ %2=Mdmgoz`sKdlW"jm/MBU_tolg% "+”  A$)Œ¾£/GVK-=n/›�Ýfnrqqpnokklhhcdil4KN5".",)*)'.$$%!GTVTYVTPNSSWTSRQTRSVUYQYUZ  ¢76;,09=DGK+QRNNPLGCEBŠ?<613D­  "   E\ZWQYU]\^][ZüY]__^Zadd^^ZaiihhjfjhabbXRQUW\aeabZ1??)*:C@.('#""'7?FFTbQcCYcQ#\[.;';Jaab^(!"+  ">!)Œ·˜0DM@(8f(�‡ ;JNÄMJNGLKJIDBJO0#Y\>%-<&3**5?FHCA??>:14/1772651+*/131/.-4026694;78Ò     &&* 11/-0,)*+'((&$!!<  ‚Å .:97395>:;;8:;66<A@=7;BC>?;CJHBGGEIC@AA85459>?ACD9($ (&Ê   *6+8&EB,A+ %:553  #(ˆ±~)60/4Q—�þ2k‡†ˆ‰‰ˆ‰ˆ††…ƒ€€…„9:F3"+"( %40&2>E<-/%bpqotqolloqqrppnpqqustpuqo  OPT@ERWaiV'*9lhilkþic`a^\[UTNDHI      3 [prqmvqttqnmnklnv|zws{‚€u|€‚…ƒƒ†‚€„……vprpmqkH^\N=Q_\]qve[FB8+%(,, '*3DIj~o‹Q?79Y(FBZŽjZ # & (d}Ò­q7`G¦�Ô Umknoolnmhjifcdik38F=#/(1+*<74;DD@79+'HUWUYVQOPSTVUQRSTVUZXXSXVY  ‡¡87;+09>CK@  &PNNQNLIDFBŽ;9804@‚¡  w*ATTUQYSWZVRþNPRZ`_\X`ddbbdXbefifefidcefggcYTTSRTO0D?2'6CCBUWHA(# "*6;_qb|K?:9J#;-Cw€gV # & (ivƨh5Q@”�‡ .HJ¶LIKLJJLGEDKN.#P[L'#.6)GCLG:CTTRVZ\ZMN?<50684640-./1330„44387Ê<79       &+(20/2/,*++''(%$#&; þ   d/ -5653<79;7535303<A?<7>DEABB8DCCHFEGGCBDFHFB<6744;4*(*(':=/(   !;F8T36/&(  Q_©B3 !   &_b¿¡c0=/Œ�Œ.(f†ƒ†‡ˆˆ†©„ƒƒƒ…88E:%,"33900<2&".  dmqnsqþmnnpqpnnmortwroqkj      VORCGSZ`eQ5jhlilkda`a^ZWWODLK        `ppqovágmd^TOPRTV_adcgptx{{}|v|‚ƒ‚‡…€ƒ‚…ˆ…‡‚€wsdH][YW\[Z_s|{}wrun^L=5*"5%-ALVbne3&0p8<W|ž^1 ¡      ? "" /}l¤­š¢—�ÜSigjlnmllihhgegin-9DC%) 7:;3 1>:0(4 HQVSWUSQORQSVQNPPSVWYVRUPR  œ<7;,06;AF8  "OOQOKEBA9;7.6>Œ´ KTRURYLOMF;779==DGIGKWY\__d`aZ_fedciicdâijfid`ZSH/A;<9>??DWa__WQSJ;/*! %(9CP\d^2$.V&:B`ˆV3       : /yj››€‰†�þ,GIHIKKJJIGIBBGMO0&NWT&.0;6NSUO?IXTNGH8*!#$+ /1503//0.//341,/0367855726       ! %+% -/0/0Â1+*+)&'%%#):         15565>05-)!! –)*+)06<??>D>D9@DFCBHGCDâFJIID>95-)($ %'&'9B?>8672#  ).:<A*!3 4a=       6 -xg‘†bnw�68/%bˆ‡‰ˆ‡ˆƒ……ƒ¿€„‚‚88E.3#@<>;?5"+2    bmpnqssrmsqrtqoonprvuqnnjj  þ   RPR@HRYaeM()gijikme_a`_\WTOHKI      `sogXSDD9;8//<@?LKNPOUW\`hux}{ìw‚|€„ƒƒ†ƒ‚‡‡‰ˆ‡‚}pIc\\[\WX^x|}||y…|xkVA#0.4HRdpbV*#+*qMEa•H # ' RL@"/„¹ÆU�þ%%#Pmkmmlnjljiigflhk+=F;7">;CAB9#*0  JRTRTUWVNUTWXUOQPRVZXSQRNO   <9:+26:CH3 MOPOO’QMGFEFC;:727>þ LXRI>@2-*/*&#).186684==AELX\bb`]d_bgfdeggfkkjkie`V3F>?=A=>D^bb`a\cgb_ZL=3)'0AK\gWN& -*[7>Pzz†>! !¡ )  LB<#/~£¬M�‡(HK½MHHGEG@@KKJ($NXL!<1GIVZZP;BG2  /13/1..2,1044/,./28:74¨26      $(£ +-../0+),*(%"$")7  þ 562.&' "%(/:;D?<:B=>FCBDFDDKLJJD?<6)%&&'$%)>C@==;AD?;5*$  "%/4D7; 8 JM     E29.|‘”<�å:<,/cŒ‹‹Žˆ…„†„ƒ„‡„…~2<H+.??QNA8+  ^mmowutoosrtvrtsrsquwtqqnh       “PSVDJW[deI/hjkþlhcba][YSQJNP  VP5)1BGOUWXY\gq{„…ry‚„‚„…‚††‡ŠŠ‰‡‚tCLMY^[VW[mrxz{{~€~|€wyÂcH1FBIX:ri[/#%JE11ErªV* (!+ )M    &6‚( Œ°E�Ž))&Oqoosnkkliìlikgh(BJ30A@PSJ>5 JTRQYWYTQTWXYVUVSUTY[TUUPK     ;<=*1:@EK2MPPRPŒKGGDB@<:5;E—‰D@* £   ,69:;==?LT`igV]gfegifiikÝligZ28:@AA<=BSV]_`_acbccd\_I7&43?L5g]P+)F>*$>aŽF&&*# $&I   % 4†t( ‚—8�Å)KMLPNKLICEHJINHH$(S[G9HEV[YSH(% 2531632212457201149³44742      !%(,/0®/-,+((&&#.@   À 1)     !#.4;DE5:DBCGJEHIIKKJDA8%*(#%)29>Ê@??C@?:;-&"*,$A92 (4d)  ,   ! 1Zwz%�«93#GiŠŠŽŒ‰†ˆ‡‚~‚ƒ‚€€58@3CPSUD(  þ \knostqoppnotsspoopquvttmi     !PNVDMUYhdL1ilkikmebb]][[QMJPE   þ  $     %1FUUVQVeuwzswƒ‚‚…ƒ‡†‡‡„}W@<<@GKSd}ztv}}z~€zwloV\VSX9@:C3&;*7[A:|»q("6;,*( +8J ”  &hŸW`¹„<�¨(&6Uqoqqolnmgcghheej);D7BKRSI- ý  DOSTVTUROTTSUTRRPQRTWWXXPO   86=*18>GH5 NRPONQKHHCBBA:73;; —   ø$1>:97:IY\`W\bcfeegekjgheeb@,)&&,3<Jeea^TY`_[beda\RW>B=>D2<9?1$2&1iG3(i¢a15**)" (5C   &e‘•I]§r4�‘"-KORONIMLBDHGþM.1TVIOX[]T?+ 044243021332630./24479:920       )'!  /21/11-++)(')&!09   ô             $'7<=8=DDGHGHDHIGHCCA$$/DFB>6:A=;DGB?=5:(-(%)#' ´D$ ?r=  "!13    $^‰‘?XŽO#�­30)!Bp…‹Š‰‡†‡†„„‚€‚~€26<DQW>-    “^osnuuspnpqpssqoq³nqsrshl      %OKP;JP]ecK!1l¸ikmhce_^][XPLO:          þ    /GPRVZ[erxsq|‚ƒ†„††…†‚€q_RG@@88eƒˆ‡†„ƒ}{sqsttvtfbgigmF82;=4=-63?C:yp1('C05!$F $ ‰ T´Ï´x¤j/*�‘$!*YmpmnmkmliifeËj'8BEOVG5 CRWQXUURNSTTSVRQSTSOSVTYLS  þ3.4(/2AFD4 RQPNOQKIJCBB@?74:5      $5=;??@LV]SRaefhfihiÝgabcS@4("" Hflkhdeb\STWZ\^]LEJIHS:36<;.2(-&*+!da'!:-1!!!$A #U­¾›f‘])#�¼0GMJLKHJJFHHDDFEM'1RQU^eTA  ,35/730202Â/.34503788-0       "'&210-/3.*+)'þ&!!/4           ",9?:7DHFHCBGHC>?B4$0GMKIADD<5687<@=/+--.5'ƒ#´ 9=   2    S«·‡Xy:�§42+%M{„‰Œ‡……„…†ƒ„‚€~‚/077,   Œ dotsŠtrqmootppnrŸqrprojk     Ð+OLR?IL^dbG !%7emmkjkidea`^[URJL9   .     ô   #DXURXcmtvx|…†‡Šˆ†„€ytme\WPSw…Ї†‡‡…‡„€~vkib^_dikrI5:DNIXHsjE0Pk=,*FeDA"(!)%  Œ +`ª¡¢±a,5�Œ$ 9akoqmjjkhd”l&3=B/  ™ LPURWVUTRPQQWUSPPTUTS”TNS   ƒ•6/6*.0@HF4 JRPN‹JHCCBA>8291…þ       4@988GQUY[_hjiihffcc[TLA:702Vhljhffhhd`]XNKHDBHNPY;1:AH=C8[P0#7R+©;R83 *+  '!  _¥“”N )�¨5DKJHEGIHHEHECFDM#-MUTH1 › "014/50/20--/20,-0243Ý5312       %%  ,21-./-))('&&$#+.     þ         "-58::>FFDGFAA@?96/'!9EGFHCEHD@=95/0-'(,.2<$$#* 6% 0  ) —    \žƒ…ˆ.�?70'J„‰Šˆ„€†ƒ™…ƒ‚€*)ô  awtnttutonrosopmspqonpqqod     $ONQBIKbd^F!)%%=fjnqklgdcc`]WSPFJ2   4Wþ        %EUSOUguyw}„†Šˆ†€|zzrlidn}ˆ‹†‡ˆ……‡„„†…ˆ~qga_[QY?GIJ\df_q‰†@AK'8(<zu^9$%(=<   3 x…[†f:�œ+#:djlnmjejhggigeedi!-!%ˆ² IWTNXWXTPQUSXRSOSQUSPPSUSI   ý:34,.2EGC4"INPTLNNKGCCA?=6.9+ (F     /8219JW[Y^hikgecÙ_\YPMIBK^ilhhjcehgghhj_SKDBA7B3=CFQSRM]lc0-6=eaJ-#/)#0&'<9    uV}S+.�Ÿ9DHHGC@JFECECDFEJ(JB5˜ ' -63,5311-•/30++0-21223340  ª  "$! )/12-0-)›%$#!+*#=‰À       +56:?GEHBB@B@<<71.+&,=CFEË@BCAECBE<3,)(%!( !*45.9A/ 92#( (    npGo4�†87B3?†…„󈂃‚€ƒƒ&   dqptxplnlqqmnlrqrsrsrnprni   *SPY@JLbe^K$()#-ckllmjfd¾b`XXPJS:  Dk2  ž    'BVPR^qx~zŠ…ƒ{uwr’z€‰Œ‰ˆ‡†‡‡…††‚|wtx±qgOWF2Ylke{Œ“ˆ8/.%z‘˜p^Z;/++1<0c      ‰7+GƒJ77=�†((,#1gk«jihejcfeecegl   KS¡ZQPPNTSPPOTRSSUWVNQVQM  ´;39*00DFB4JPNOOMMIGFDD@A82@-Š<\–- ƒö  *759BPZ_^\elf`_bb^XWRRQ[dmnmiifgjihhiha[VY[ZUMCJ?0M[YSfpuj" "jy~WKL@=/*0B/W    * Cu<'*0�Š@GHFGC¯HBCAACEHN$&    ) /35260.,+/•1//-00236/171/ ª    #&!(1122./+,›)&'"3-    8SŒ)  ú  %/8>??GKG=>?@<574226AKKIFHDBEEDFFD=859;95/$'3BC:AHLC  ?LR2+!&<    <\(�Œ3080D„†…€‚ƒ‹€€~…, à  dqstvompqrppolqqstuwrnnpjm  þ(RNWBKMdc`?3FE6>fmmjmjecfe`^ZYQKO4   @ƒ(       DTTS\izw‚݈}~{y{uvxz€‰ŒŠ…†‡‡ˆ…‡…‚|yzxz{yxrX2"IWQJ‡’ ‚$9ŸžŸ“—’t„HD%:> ) 5,! 43:#>@89C�"¥!4iljfgfedebcddbdfk!© LTUSVRQQTUOPPNRQUVX[VMNSOS É 93;+31EED) ./ )LROMOMLHIHAABB:3<' 7u!†ˆ  ’–4<:7<N_a][eje_b`]ÕUVY]enmlighjiihiif`]]Z^_]]_L/!@I>8ptv‚b 2‰…„wzzfr<>&>: %5+/,1!73')2�àAGGBDBABCAACABBFJ -0157440.-/0113.00545980/5.1  ¡ #""  ,21/2.-+-+*)¤#0'  $9k ˆ ×    ,<A@=EL@>??;:<6789CLKHEGEDFEDFEB=:;8>=;9;*14,*QMQ\9 ªe[YOWI6C!!  #  (�ˆMF:.9„ƒƒ€«~~~€~||ƒ+      gqmo™tppttqqsqttuxvqrqqms  †œ$LM[AKIdgcE&#!7mnžlkhfggbb`YPMT2   *FrI„—  ‚ñ CPLO`t~…~x|~ywy|{}ƒŠŒŒŠ…†‡ˆ‡††……€|{vz{twV( %) —’œp={ ¢¡¢ ž—”€aHC'4%\SK  ;„C6%5=:93:�½90$ (jjigeebceecdedbbl$   MUOQSQWRRUT“UTUXW]]VUSUR^ …³43@,81FJF-!SRQSOOLKJLEDGB84B* #8gF‰  …„¤  0919FV`ea_Zd`ba][^a\`hnoolghiÇkighd`a[__X^C& rzv€W +iŒŒˆˆ†ƒ~zkQ@> .9)TN?   5p9/0;3/)-�’%%DBGDBB@@DEAECB¨K "/ 5:55.01141/13›..269;<75453E   ½  "%% 02232.,.--*-,*#4&  &9cC¦    º&6BB@?=FAA@=7<?>?FKKMGEEDFCFECE@=B:;;:;'žVURY2Cme`bb\SP@(  A0“,   ,H&+#�Ø;0%*>ˆƒ…‚‚~‚~|}}~|{$ # hskortuutsuqtvrtxvvtqrqroj  ˆ» ,PKW=KKadd<" "Dmklnmmjihfbb`[QKT- % /@cnŽ– ð 8QOMYr‚†uvvz}ytyzy~„‹ŠŠ…‚†‡†„ƒ†„ƒz{|{xyv7 ˜ž“›gRgYi’”˜£§¤¤¦›xy•Lu½Ÿa[X,8?  m™_9=P316>+8�Ü+##jgjhgdcfecabaca`j     LVNPUUWUTTUUVXUUZUZXTWSUTS ‚»5/;(32DHD($PQPQPQNMKKFFDA84A*  '4Qgƒ&"„¬ *894?UdibWY[_a\X\^\]hnmmieg¸heec_`__\^^)  {‚x~OL]RXr†„„ŒŽˆ†ˆ|bg‚Fl£ŒNRR)4:  ‹cƒO11F*0/. *�‘"IGJHECBEEC?BAþK  *+)' 9+)"4<, 58.02252114562/277;956565=       "%$211430//+,+-**#4'   Ž*4Mdž  ¤  "8CGA;?>>?=7:>…CLJJFDÉEDEGCC??B>;8=? []SR%':39Ppgblkfb_R;Bb&Vm5=;-/  VZ+)'#�¾6, &?ˆ…ƒ„‚‚~€}{€}|   drmntxzwwvvusuwusrtmprlZ ¿.RMXBOTddgORR@1$<jljnnmkggdcdd[THP" %6KY,› ��  øFNIReƒyuttuz{yuv~„‹Œ‰„ƒ…††„~„ˆ}{{|y{q ¢¤š‡”ÊK 0Nœ¯·¿ÏÒßîÎm¦Ÿ@{?)-e"-  ¢‘^=QEgH@.=�‹%(kghiefd‹cdbc`ecf¼     IVPPWZ[TUWWYVSUWYVWVWOQSQFƒƒ¦818+38EEG:68+$ORPQQPPLKGHHGB<0@‡ )>Hr)‚Ž )6)ƒ‚ƒ2426Jdf[WØY]\ZXY`fnmjigfhieagidaa__`_aWˆ†‚€w†¯J$1NtŠš¡²²»Ì¶_ˆ:j;&.^#'  –P1F>U>,-�þHIGLFECBABDAB;DDG  $ 4"$#-58192/26:22348620245756/5533     $$&(-%/2/23¯21.,+,.+'%2%   #-;Dk- ’ ø !.BE>;88;<;:8:>CMKIGCCGGC@EE?;@>;:9@;   d`VMLF[‹1+:Xo{{~‰´Ÿ;gb*I+<#   ]1# 8(�þZG8%4ˆ„„ƒ~~€~~}||#      fsprtyywyuyvvuqsutwtupqql_   ,UNZDNUdfgH&!%&8nmnni¢mlhjfcd`]VOU$ %8GWll‚‡Š�ˆ ó >LLKh{}{{zvv{|uv‚Š‹‹‡ƒˆ††‡‡†‚€|~{{y{u  ›¤ŸœˆR6_()13|•¸ÊÛäáÌÅ—¼£kxEH2C1  0bUaC4s<H?4<�—>0%$lghhcdcffbceccfbeƒ¬% MTRUX[ZUWWZZXSSUUWZXXQRTPG©  !<08+68DGI1%Q©RMOQLNJHHEC<6E /<I\a  ‚‡7:†± /504N]^]_]XX[^XYfjolmjfejhÆiidb`c__\aZ†ƒ‚tM9[0/23p…¥³¿ÈÀ²¬‚n¤ˆ[f>?/?!,  /‚UJP=3a0=,$1�þ+#HGGJEBABA@ECA>HCD" ?**(#:<27323881326761-/35755/553.     $%(2202.§1210,--)('"5"'18BU[ …þ    -;?=<>;79>78AHNKKFBCIEDEEGC?>==;9?:  `YURG**N")Ph‹˜§²­¥˜`Hƒb9B(-(-" +qC80B$�þS@2),€ƒ„ƒ}~|ƒ€|zy{   hossrutrsqtstrousswturqrmi    &UO[>JNcgeD&$'.66nmmkh›jkiieda[VSLO  2FUhI…„�    6OGJ\vyØ{wztlx‚‰ŠŠ‰‡ƒ„††„‡‚ƒ€|{{zy}v!  •ž“”`! $-Gb´ÃØàÖ¿–𝱬Ç}Zt$@L$N`,6?68vQ1917�ž8+!dfggddccdccgeca_a®   ( NOTWVWWTUSWVWSRURTYXYRSUOQ…¶917&22BGF-#QOPONOPMLKJC@>64@*:GXqA… Ž (9"ˆ›$4/2>Y[]\[Y[VP[ekmÍjfefgficceba`_^[bY }w{U+ (-?^£®ÁÈÃ¥}‰›š–­‚jOh =F IR".316f;%$'3�þ'  BGDIGCBB@?BG@?CAF  " =4,$*HC%312212323.234/*.3356406:43      $'(4120-›.21/-.+'%$!3 $0<CQh<„ „Ì     !9:9<>8:929CHIKJFBEGFGGABFEB<¾8?:  [ODH( "E‚¯°¶…]s€zs‰ZA,A.0A?'!A �“PB71-€„‚€ƒƒ€~€€~}}z®#     gtnutqtqvusvsqqttw‰utrrp`  ˆ   Ç  +WU\AJK`eaG4!2jmlljlljhec_^[VNR" -ATkˆ0ŠÆ       .GJK]tux|xywlt†ŒŠ†…„…Ї‡ˆ†„„~{½~r#!“–‘f-KWi–’h[ˆ²ÁµÀ³ŸŽ}4+$,&nNBC"Fe67UK00.0�‡7-%#$eieËffcfeeccdaac   !  .!NVRXXUWTVUTXTSVUVWX[ZWUSTJ   ƒ Ç =9=*01CJG2" NQPQQSSOMJIECA<8C  6G[n{+&-&Ò .6     434EVZ[_[]XOWdjnmihhgkhjhhfecb`¾_cY z{xm\')?KbŒ‹fVs›¬ž¨šˆ{s:3$-)cH<< ?U.7M<$ )3�þ% AFCDGFDA@ACA>@A@G    )0=,'%&JC3/5/121123.042.+.3567546540        #'&  03100§.1/++,(''#6 +9CRcr( þ      '79<@;<8/5BFJHFDBCGGIGFFDCB><<:?8  UGD=+ !$:fuyK0Fn‚x‹s]PE–  L12)37"&�ND1./ƒ‚€€|€}†|{u µ     grnrrotnqvwvrqqrvzuuwsuto_‚¤   /UW`BNO`b_<(81%5fiimgghšfc_aaWLQ)=Pk~‚x…�‚§   ã $LMM^ty}{{}sq|}‹‰††……‰†…‡…„ƒ€~{z||sDNU[SK#0Ž€d?IG>D778V†ŠnŽ–“_*2XS8#&.P7tE€h)1+>>//$6�80"!!ghfgedeaeffcdƒ    ''-%#OWSWVRXSTX“STUUXYWYZWXXVIÑ   #=<D/57EHH/'IOMQNNOLMLJFGG@5D1@[osr/CQQL@5 ƒ¦%1    :89GZ\a_^_VUa`nmjiigkhghfÃcc`^`adZ28>?8.%xtkT?&B;:@<;6QxŠ~bwz„„^58PN9)(,N6jm>qY%*-<3&$!1�™$ADDEECB>BCE?>AC?C ¶ >&A&))"5GC6/3/0201..1230--.364453754-Ð       "%$ ,/-1.*-++,+)*+&7$1<Sdgj ,532)! ¥     ã':=C?=;33?=HGDDCAEACFEEBAA=:=<@7"*(#M?;) &#HVG0EMVZ7)(  5OJ/U3�¯O?('*‚‚€‚~{~€‚|{yu( # " è!hrqmpqtprssuvwquyzxsxvwtne    2TX^@QPadd>@=.#4fknngijiggd`b_XOS  7RjzvoW�Žþ       *HIL\qyzzxvyƒ†ƒ„ƒ‡†ˆ‰‡†‡ƒ…„€{{~{t530)N3@€‹|k9#3=3!JI@mk›¤’~d@Fq];"% 'X>`Žˆ”j›–6$ +?86+&4�‚6+bf«cc`cegccbbac"  $  ' & "* LSRïPVTTVVYVYSVZYYVYYXVRJ !;=B,57CEF,/*IPRRLMNMJIIFFE?5C +CZjjeR/Xfih_O: “ " "612>RZ[„X[efgÍjhgijiidfec_`a``dZ$#3/hrgW7")87&BJ@ZUz…xkX@EcT:#'!% O6WzZƒx% )<)!"*�µ&=BBFICB=BEGCB@D@J#   .(F,* I:284J(CNB$131£01/023453/167:6779743   Ð  ! #&'(#,001-/0.-+**.,("6  -?Nab\N 8EJG@4)   °     !'6@;:87;CDDCDEÊGDDHEFA?>?>=<C<&ED9*   .)LUD:05+ 5"=_\BeT �©J@5-,‚~€‚}~~}}~~|{zw   % !î  )jutmssvolsutuvvxzxvtutwtog     4TW^DQSacg< 7hlnjgljjgkg`_YVNT" )Maoi_Y?�þ       =IK\ruyywxƒ‡‡„|‚‚…‡†……„……€~z}}q&-3)N/?`g~9 2S(O7f‡£ §”œ”R^p\M7IGEDYAkh ”¨©?%5BD:/'1�‘3) cgddfdacbabab½ab&  %  ")NVSQSQYPLUVXVXUY\YVXYWYVSNÔ #:<B-55CEG% "LPQMKNOOJMLGC@>8C @Sb]VQ7 $FnzwhT?'! “ „ñ)//@UWYZXZdhie]ceggfgfegecb^`_acT3.JQec- -H*D1Plƒˆyƒ{OT_QF8B?=;P<^_‹~‡*-<3$�´%>DADFB?@A@@ACCEDH  /;4K-2.LD>@?O>GPE'34˜303,*13246247787969634þ  "%'(  /0/.,242,-.*+)($9% &=LWVQL7 .GT[VJ9+     ¡  &87:67;CFHA>AFÉDFGEIC?>?A=?B8+(,:4 !,BZ`UIOH&1(#'&+.9(=Gi\of�­JB6--u‚€~}}{€~{z{v "ž! )gpqmprrnmtvtwvvyywxutusrn` ‹  º  3PU\CKPbagF+/%1jnmmfijggiea]YTNP  >V\[STN2�‰�†  þ    BIJ]tv|xz„…†ˆ…ƒ~††„ˆ‡†…€~y{€m-3(L3I~q”œ6=e%!no‹™¥§£•zua?m{qX8bT” 5‚fZ‹š¬¥@.:8BƒD9269�“4+#Xggec`afdcbbaba© "')+"%"&%&-JRRQOQVNMVYUT‚Z[YàWVXSH  %6:@066ECH- PSRPJMNKLMJGA@<8D6IOOJKI/8Z|‚…{iZH.$’   ‚‚œ./0CUX_Y]fhÎecaahhehggicb\^cdeS25cXxz( 9V#[[r|‡Š†xacV?_h_K6UF†‰0uWQz‡“†.&*(;9 !"�Ý!9EGD?=>CD>=@CBCAC   ,5<9I1;).KGDIEOJMSE'0130/.1**1320216856586442,    É!$&) 12./,020/-+*(''$:  #5EIIDFD.&;T\_XJ9- þ    &67:7;DFICBB>@FDDGEECAB=>ACD2*%=1OO * 20CUbe_J23*.83#3(xd X5Ž:Veoa �‡G900-lƒ€Ó||}|}z{{vq " !$#$(erolrrsmkrvyttvvuwwtvvwwt] º  2NS\DKUdacF**61!"_hkojkeghjc`_XVMO 'BKMLLMG+��‰�£      ã  "?FF`pxvyƒ…‡ˆ††„}~}‚ˆˆ†„€y~‚}o!+/.K5N‚…›‡) %_~GG€Œœ£¤¦§£–j_M{Š—}aqe¢ƒ8‡Hc|¤±¢0mA=ADA-;7�‡1%PifÓabccbbd`ab[] )'&(#*'#(''/+0&ISSRQRVOMSWXRRVXX\ZYYXY\XG Ê  $58@05;IDG/ %GOQSMPLKLPIEF@<6D!=ACBABB./Tk…‡…}sbP,"! §     ’*0/BS\[^eiÎfig_a`ejiigbd\bfdcU 1 7fhi  Jg<<lp~††ˆ‰†zSPHjs}feO_S–t3r?Xn”™†#Y*,<<)#"�þ1IFEC>=CC?@@?@C<= ;>F?H;K=5KOMQKONQTG#052//03))0561/25655455894*      &&)  */00/¬0-/11*()()$;.;=??=@=*6HZ``WK<0›    î    $397<@EHDCDA@@?GJHD??C<AE@@4&)BBX?  *9CER`dee`N'":CN;9-81~M J%:Nwt`E �ÞOF70*`ƒzz|{yzxy{wn  "##""'%"&cqkqpsqilqqtrptruquwyvwwpT ¹  9NQYGN\geb/'*O]M5agljhigfgjg_]WSLR #6FEFEMH& �‡�¢      À  7;Hkrux……„‡…„ƒ‚„}~…„{{|{|€l$)-3I7S…‹_B˜„‰£©©¨©¨ £~rhŠ¢‘{‚>:WxSkyœÃ›"r>ADC?/D9�Ò7.#Ehfef^`dc`]`^^a][  !$&$"%(,+&)*,3+IUPVQRSLLOPSTOVSVVYZ[XWZTB‰œ"54?/4>IDE5B7 GMONL‘JJOMEE>;6E/><”EE/Hm€‰‡ƒzraN0+(  š   î$%0OWX]hhgjheebf_achgc^_^a]_fS%5!:gbpK5}ik‚‹Šˆ‹ŠŠ‹†te\Uq†vvuaji;9MgI`p¯‰c++27)( �þ# )JFEF@>CA@=>=@C>@ #-@EJCI9HH>ISUZUTQTVE -6/2.1/').032,/1547874994*   '&''-",/2.,’/.-03.()((%;,5;—9A?(*CV^a^RJ>. «     •  068<HFCCDÊCBEEHD<8<<B=>B5(,H?H' !P<<Xcgcjlhh_H8+)D\MML;BA%/@)<SyŒkN�Œ@=650b‚‚}}~þyx{zyxi # ) $%&&,'&)+-'*eniklpskiostrpsuutuwxvvupP    =QSRKM`igkA2%7510dhlghifbgiie`ZSOP2IC@A<8  �‹�Š  ý       4Pwnt|ƒ††„‚‚„ƒ‚‚wy~z~{‚‚j,)#39D3Oƒ~€j! bŸ£ª§©©ª«ª¨ª¢ž§” ¨˜™¤–ˆƒDP–]e^LRzWfN>8KA0;9�Ò*$" Cgifbdccdd_^`_^^W"$,0$$+(30+01/.6-JSNNPRWMKMOTVQUVUVZ[YXYWS<ˆË)89;/2AJHJ(%)'HLNKLMLEIKNKG@<9A+A:5;:6.[…’ŒƒvdWJ7/& ˜    ß$<[QX`eghgfdeacfddZ^b]b_acbfP(/ 9d_eRL€…‹‰‹‹ŽŠ‹ƒ~‡uŠ~~‡zlrm<BQYYHPwJV2!$2%%�¦(FGCCDA?BB<:>C??@ &7+$=?JFK6DI©OS]ZURRTD,2--*/1)(-/11,,2336:74954)”    À!&&*+.0,.0-)-./--(''8 #-?:4764%3Ueie\O?6*" ‹   ü      "<38;EIDBBCDA>EEC:;<8=><AAD4#)'F==+ 2U_acjlkkmcc\T\CUbVU`RCIG&\.21.:h8 9 �þdWJ5/W|}~zz|zz{xwyvj "(2!.42438.464?6/gmkkhprlisurqrsruquutuuxpL    @QRNJQchgk9++$&%dijkmžlghgjdc^[QNN$43261% /B �…þ     'A]|rv~„…‡†ƒ€„„……€{vz{}‚|ƒh,/<D7Q‡…y"[¥©§¨¦§©©¨§§©© §¬¡š¨£“ ¤atmpJpZHŒSO1A€iF4MA2,2�ÔH:2#<efbcf`]b`a`^^_\T (-0&38576538;;A2 LSPOLTVOJRSRVTUUTTYYXVYYT;Ÿ-99817FKIK%ILMO‘MJKNKJCA97> ,–/,# g•ž˜‚wmJ@/ ®      Ý/E_SYahgihebeacfgicb^Z__bd`fK+-!;igrZJ†‹ŠŒ‰ŠŒŠˆ‰ˆ‰‚‰ƒІw‚„O``\BbOELE'9gE 3&  �è-$"!CD@DF>;@@?<<@>>< '50+57DEH2>HOPOOYWVUSTE -200'/0)&/0.1./1304765654(     ¿#('*  &+,//2.-,-*,)($#5",.,/-$=ewseXPE.(‹   ÷  )?29>FGEFA@BA>ADD?<75;=>B>C.!&&HCJ9 4djehghjgga`dbX^i[Xe_O\^,8@<%=+'.* !A$  �ÚzbQ<,V„}{xy|zzywwzyi  &! &-03781>DFLB/fniljqroiuvuvssuvvyyvurvpK   ¿  ;UXQFNbjknIHUPIP?hkkmljjhfigfa\TQT )%(- QF%�…ˆ‰  Ù         /Ie|uv|†…‡ˆ„†ƒ…ƒ„„‚ƒ„~xtw}~€…b2*(4HQ:R‰‰–‹M¥¦©¨©ª©¨¡¦ªª¦©¦Ÿ§¨¢ž¬šqpcehhKhvŸ/zxP9IG=:8�ÐYB5(=ibabc]^b`a`\]`aR !(,,03418CEG8 KPNNHSTNGSSRXWTVUVZYZVWXT2Š‚Æ(::836DLML/0:3.4*LNPOKLMLKOMKDB99? !$%n¥Ÿš…yoW=0 !,$ à     4L^TYbjegiefcÉffdde`[XYabcfA!40":klyf B‰‡Œ‹Œ‹ˆ‰ˆˆ‹‹ˆ‹ŠŠ„‚ya]UPTXB_i†$isT%.( !%�¼;*%'FABFE<;A@A?<>??: -<64/3>>:.5=DGGHLOUURUJ$/3/1(/0,(0è332335;774554&    #*+, (#)../,01-,,+0+(&&8 '$%(G{|vf[RG5&þ        ".<4<@GCCGABAA>ACAA=8437>?@D*)$*HHSG7iggihffegcchhcee[gi_\–lP<66-45"9C]NL/�úghUA2K€|{{}yz|xyuuw}sd 37+#) !(/(*+&$"#'%'+fmgmlrqmkvtuturuwuxtquwrpK   9HSPHN]fgiUONL8,*dlŸijiffje`[YTLM  R; �ƒþ          .Ni}tp€ƒ…‡ˆ…††„„€ƒ~|y{zzx~†b3'/,@F7T…ˆšƒ$N¥©«©§§¨©«©¨¨§§©£¦©§¤§–©w€[zxƒsg‰‡rN©Š£^G=56<�ÞGF8+!3d`a]^]_c\_\Y[c[O 15*&,(& +)++&!# JPKLHQRLJVQQUVUVYWWVUX[VT9Ž&087.1?J:·1!FPRNKKLJLPJD??96< OŸœ•…xn`I>5.   ž    ’ "8QaVTe®ghefeddbcce_`\]Z^X_iD",+ 9gi|`?‡ŠŽ‹Šˆ‰‰‹‰žˆŠ…ˆˆ†Š‹\eGdblaZxv_Io5##"�ï0/("@?AA?=?A>?;9>D?; .@JFDD@DDA/;B>;:78>A;57--2,,)./+*1..2413557536533"    !(Ž"((!+.-+-11-þ**''%$5# 5xxveVMD4'%"         #3?45@>?DGBAB@A>@?@9958:;8;½G,#)FFU: 4gjjgfcegkifgfdf`flhedg8>'=>I;3QRC EoKY�þ]U;/&A{|x{~z{~xvvux|rc)D?90213DD;EBA@C=?EIFD1/clfnkqomlssuxuqtxxwvuxyxuF    9GTRHM`fehH-$;9hjjkh‚jkg™cb]ZUNJ    ‹R#�ƒŠÞ   !      <Uk|ws}…†„ˆ‡……†„‚ƒ„‚‚|y|{~~|‚\50(EF<T…Ї,M¤«©¨…ª¨©©ª¨©š¨¨©§¢‹|`†~„zxQ!»“ª_>=9047�Ü=5#']c^^_]^c][[Z[aXP (>951373<?7?>=;>768@>;&GQGKFPPLKSQTWSSVYXWUVY[[Y3‚¥#/66,.?IGH/ IOPNKKMJLNFECB<6; Ÿ   /¾¯¢™„vh]L<4# Ž   Ê '=Q`ZVafedhfcehdbbedca\\Y_]\dA#2,"8eh~j 9…‹‹‡ˆ‰Š‰‹ŠŠ‰‰‡ˆŠ‹Š—‰„nbJlgmgfx{Iƒ¡x‹=!�þ($<A=@@>AB>=<9>B==%7NMKKMJGNO3JSMIHLJLPNIF5*2*,(.,)(00/31/2533468768(      "''( ,-.,.‚12.Û+*((%$3   #‹yiSE?3)$"        Ý #%4=74=AABFC@BFB>@@?@<8::==;E+ * %EGWB/ciifechfkkggfcdfjkikf_K?+DDIA>SX+xƒUg  �ˆd]E6/D}|zþ{}|zxzzyys`-)?MKLKKHCJN&GNJKKMNOPTUVB3imnoksnlnqsruvrvxzzy{wwxuC       ALWULU`eeiTLHD-FLljnllmjghgfc_YTL“L  t@$�Š�þ          H_h{usz…‡††‡‰‡†‚ƒ‡…‚‚z|„„[I(<%NHA[‡ˆ›}""M©§¥ª¥¨ª«ª««ªª©«¬ªª©©§žœ…Ž‹‘y‰x‡‹Y>g½Î·p7MkJ@E�¼@:*!([``^^ab__^__]^ZQ'"9FBDEGGAEJ>GFFEGFEGJJN:!LQPQISMKLSóVWUV[ZYYZVYZZ4     )3:927@HFH500/.-MMQLNNLKMJKIFA:5< ¨“ƒudYS</$+ þ          5DN^UU_ggfgiiffcdfedcc]\^bd^fC6-9/'?df}^9ˆˆ‡‰†ˆŒŒŒ‹Š‰ˆŠ‹‹Š‰€ltqcqdmqyMŠ5c©­•H*="�($;@>@@?C?þ>?@?:<1/ARNOSVSLOT4KUPPOPSQQUUTB.31/+0,&'02112037545746:;%    %%( /-/,./2.-./+)'%!1©   z‚qcRB:0-"   Á         #+/;33=CDABEGDB@=@?@B?:•>A?E-%,%ACVA #a¨d`biekkfefbehkligeZ[HNH;F;EKZ/ Nt*  �‰bgTM52wzxwÆ|}ywyxxyt_!25ARRPQSOHNN'PQNPQSTSSVXXA0ilklerolqsspprrvxxzyyxxvu@  ¸   AMWOHP\bafXE3(<himmkjihgff`ZZTNK Œ19�‡�±        ‹ Qak}zvz‚†Î„†…„ƒ…„…„ƒ|z€{€†U<$;)OHA]†Šœl$'$Wª¨¨©§¦¨§¨¨©ªª§¨ª©¨¨§£Ÿ¤Ÿ~{šn‚fEUM«ÜÔƒ7ETQRX�=D62!W^_^]\aa^]®Z\\P01<OLIKMKEIJ"IKJKKLNMLKMP<!LQNPIUNKQUTRSV’\YY[ZW][Z/   ‹  ¦-4=508?GEG9."'JLRMOLKLMKNF@A97< š Xž–‰vbUSB=+41  ›     Ü AHR`ZW_fhjigifeehffeea_a\cedi?.,<1*Ddi~LJЉЇ‡‰‰‹Š‰‰Š‡ˆŒ‹ŒŠˆ††tƒfg€\o{V?HHœÆ°^ %0)'/�þ$)"6=<A>:BB>==?@>:;&67@RRPTYTPSQ2PTOQQTTOOSSUD020-(1,')032./12775564:89%     $#&! ,,.,0-0-,/0*')'$3 Ï>teXMC7,-$ "           Œ *-3=86=CDCG@ÉA@?AC=;?7>@BD'((@FZ,5gcaca`gbffcegaaghiedaZ`N_?;T4HT9++/ƒº’7�þec][J:tyzzvwvyywtrtwvY-=@JUXSRPSPNF)RNOLOW[XWVUW=/mojmjrnqpssnpnstuvxuxyuswC      =QZONM^dbhB!EU9#>kkigjžljhhcb]XVTNN  *#% �†��ž      ë   Sdnxw€ƒ„‡…„†……„‚…ƒ‚|y|……U?!?8bR;X„ˆŸk]¤¥§¦§§¦¦§©¨¨¦§¨©¨§¦¦ª›¤›¦o§ ~޲K-UR’¨ãωP>N]_�­DA=@2(Y_a^^[[^_^YWX[_I+9<FQQKMKMLID$JJIGJOTRN¦P1"PSLQNWLPPTUPSQVVXYYZ]]ZY\6  ’   )8>8‹?IEM+.8#(O®KOOMKMKJD@=:8=   &m‘†yoc[ZKBB4(  ß         =KUdZZcghjhfiggfedhdea]]`chdh6+*#G4&Baj€IPˆ¨‡ˆˆ‡ˆ‰ŒŠˆ†‡ŒŒ‹‹‰‰€†~ˆ\„i{›?,FI„žÆ®h,"-@?�¾))'(8>DE=:;>?=;8:=>52?@HRURUTUVRJ1PROJMWZTQQPSD!32..*2-0,/2/þ1035349:77:(         &%* (1./-001--,,)'%&'9 J_QG>5//*$$"    þ       036A87?DEFCBD@CABAABB>;<:<CAH%1(AH]*>dac_`b`cdfce``dhfdbbg\aZd1d[?Rq.$,3f“»Š?%(�þjkcP?5pwwtuutxvwyxsxs[5BMT\[YWQPNKD'RPONRWWTUTRU93imjkjtmooqrppnmquwvqtvsruE        8MYQRN]abfD6U\O?Cjmgchžljgebb^XVQPG  #P �†ˆ ‡   †  Å   Pdp}yy€„‡‡„ƒ…„„‚„…‚|y}‚~ƒa4*&_G7S€Šœl%!Y¦¦§¦££¦¨§¨¨¦¦¨¦¦§¥§§ž ™›€­™†š’:bR”‘ÖãÏc-'L�ÞHIB5+%U][Y[YZ]Z\^[W\\I/<GPUTOMLLJHB"KJIHLOONMLKM1#JNMPLVKNPRSRROOTYZYVYYVWZ3    „¦%2<8;8?FBK,%;@4'+MRLHLPMKJHGDA>8:; —  ‹{qk`[ZKB8( ‘    ™     ’<JVa\[bdgijedf defde^Y\_bfdd?E* ;^l}HK‹ˆ‡¦……ˆ‰ˆ‰‰‡‡‹‰ˆŠ‡‰Šƒƒ|}l|mƒ|4MG†„ÃÈ©B@�›,.* 7>A?<;::==@;7>=87BKRW†QQROJ/OþNOTWQQPOO< ..,,*4+--/110/,/38725744:)        "&$**.&/2.*.1/-*++*'%%*4 jI?:62/*&‡        …æ  326@;7=ADEDA@@B@>AB?D;799:BAC%  .%>JY,9ebb_`bbde`acc`edac^ae^\XT@kSE]V'0.cl¶¯&,�Ånk^L2-iwwutxqwvsuvrtmX=HPT][YWTPLF>#NQPPSTTQPSQQ74emgjgqnpputooqopstqÔvtqr9        :CXQRO_`agF:;0-&?jfhfijigfba`ZWSQC    �¤�        Ì*    Tgn{vy€~ƒ††„……†ƒ„††€~}|}}€~…`CQcnª³Šhny’a( .o¥£¥‹¤£¥¦¥§¦¤¥§¦¤–¥¤¤’§™‰¯’#HhCŒ[½ÊÞY!9�ÛJK>2O[\[Y]WZYVXZVWRE7@EKQROMQLF@9HJHGJMKMJIGI0#HNJNJRMOPVQNOMNRXWTTUYXVW,   ³$';885?DBI-#"&NJMILNKJIEBCA=:96 œ<fddWST>5) â        =KS^XYb_dfgeedhccfea`[Y\`adceE2BQ^ˆŽqII[t@V‰…†¦…„…‡…‡†„†ˆˆ„……†‡ˆ‡‡wv‰{n”};V<}W³¶¿=0�0/) 1>@;9>9==;­9<74;GNSWUUVRQOJF/MNONORSPLNML< +.'*(0+*.31/,þ.376427427"      %&"+--/*/0./,)*+(%%(1    &8452..&      Ý    "   013<9<?8=CDCABF?<AB;<96:><@@C#&.=IgoW1+;P&Dc__a_ababZ_žcfa]b]^bcbePQfQGmW-4"V;¨¥¤#(�¿_PE7/0fyxtuvryvqsoosmN=HQQVSUVUPNI=%BJLMOMNJLWSX:5ckfiesoopqqlpºnptvrtvurs7      A?ZROOacceIQXP4Gkljk¤hhfca\YWQOB  ��Ë         '4K>  Scs€y{~€‡…„…„‰„†ƒ‚€€|˜€{ƒÉäáÞÍÎÅËÁŠ|‹S##0…¥¡¤¢¤‡£¥¦¦¨¦¦¨š§¦¥§§©¦¥¤£œœ¨Y%2=@‡Jv¹¾S #Z�«;1("I^]YY[Y\YTXUSVP=6@GGLLMLOIFB8<DCDEED­LJQ4"DJFKFTPMNTOLPNOOQUXSXZYVV+   ®)+?942@DFG.393".MMLMNOLKJFCB?=977 ’9WWJIC-&‚ò      $.A5   <HWbYYabbgdeediceedaa_[Y[^d_f¢ÃÆÇ®°¥¥™`Xj9c‡„…„……ƒ„……†‡„†ˆ™‡‡ŠŠ‹ˆ‡‡†~€N!(8?xCr§ª? N�þ$,>?<;;:A;::69<6,9ENMPNQNPPNKD0FKMJKMNKHQNR<!*-$'%2-*-1.*,*-,158426658     "%%)"'& +//-1„0,0.)ó'&"$0   "--)'&          !$.$   +-7@9=A>:DAABBGA?AB<Ã977;?;Ey¢££‹†}ym93A"Ha]]^^]ZZ^Z_a\`effeacfehdbdaTZg,#T%h“•- @�¥][VH?0YxyusuwzvrpmmrpP:DEFKJKORNPM>$F»ILGNHIPMT25cojmkpqroponqopptwvrruxrv8   D<[RMOeffkTQRA%=qnilljlhffb_\WQR>  µ      -AL  Û\dq}z{„…ƒ…‰…„„ˆ‰…‚|{}€…–†ujQYh|“§ ¤O #›§¤¦¥¦§§¤§ª¦§¦§§¨««©¨ª©ª«¨©¥¥ ˆLX?))jd_¦ž("@�Ö<<6,)B`_[W[]^[XWTRVS?5>?>CDCHLHIG9 ?BBCE@E@AGDL0!DOKPLTUROSQOSPQQVY[UWY\TZ)   ˆ«//A965CHKM987)(SQMPOORMKIGEB?;<3 4DA:3"þ         ,=E    JOV`YXaeffcgjgfdfheca`^Z[`cch|ugX?DQ]q‚|6|ˆ†‡†‡†‡†ˆ‰‡‡†‡‰‰‹Œ‹‹Œ•‹ŠŒˆ†„oEN811^UX–‰6�þ"###>?:9:<?87757;7,7ADDFGGHKLMJB1JGEEIHMGCJIM5)0'*)40.*//,/+/.468525:39"    #(*.#)%/0./2ª//.-,+*)'!&1#%! ‰ þ      !(0   1/5>:;BCAC@CHB?@CD@=?=;75:?>CUTC4"+2AQLOYa^^_a_]]a^`a_`cfkhfhiffhfjc]ZH")‰B-;zj+�Ôli[B-.[uvsrrtxupqnmqqR.254:<@AFEDG<#AA@BDAFFB@BE(9ffhifoproqoonlrortrrvvqos2 … ÂA@^UNOfeff>2HJ59iojigkhigcaa\VQO9  " †ò         ;FF    `drvy{ƒ…ƒ€ƒ‚„…†‡„€ƒ}{y}~{…U?FHHC[lu‚†›J‚ŸŸ£¦¤¨§§¥¦§§¦§š¦¦§ª¦§¤¥§¨¦œaLf\%wxJx¤M�­LJ:(A^\XWXZ]ZVXUPVVA+16/58;<AA@C8:@><?<=>:<"(JHLLISRTPSR¢OUQTYXUXYUSZ'    °.*?:82DGGH*.-&OTPNMRLOMHEGA?;;/Œ 1)*'š      Ï  6@>   NLXaXZ`cdgd`cdfgiidbc_^[^`^]g:,311,;HP_bu* kƒƒ…‡†‰ˆˆ‡ˆŸ†‡ˆˆ‰‡‡ŠŒˆ‰‡‰‹Œ‡OBWR$'oeFqH�³.1)$>=799;=86965990-4:6:==@DCCEB/BA>@CACA<;>A-*¥+%1--,..-/.2-365567404    ‘  !&)¸ -3/..0,/0+(*)'%)-    þ         (+,   617;8;@BAD?AB@BCEE@;?;<8:;:8B  %/3H M^^bc`bcab_a_\`cbdbbff`dde’igbP&1*G9'Uq>�þpeOC4,QsrqsurwuqplnllL !$+12275:<4#95;><7:;5546"5fggkjnlonqqopkqqvytrtussn2     >?]SQUbggeJHV_aSJilnkjmjgi`^]ZWRO=  )*‡¬     0    7JQ  ² _go€xyz€‚‚ƒ€„…„„…„…}~y|~|}‰cLHDW\agjptz6ž˜œ££¦¥¤¤¦§§¦œ£¢¤¨¦¨¦§¥§ª¥¤•k^>?JwxNMG9�½MD0'8[XVYYX[YXXQRSQ; !"'++-3148065:86244.-.1$KGGKOSMQORSžOTRV]ZUVWVXU$   ¨*'=897BJFE1-7?@4.NQQPPQLLMGDC><990…Ž "#$ Ê  (    4DF   LMTbZ_]acddacfeefecÄ]`]]b\^iB/1+7=ACGLOUh|~……ˆ‡„…ˆ‡‡††‡…„†‰‰‹†ˆˆ‰Œˆ‡yXJ9A$DheIG; 4�ª0. !;;8:8;;97:3356*"(),02495:=9&78:<=9Ž7145++*')'-*,-Å/0-.-6:8456541      #*(& %*'/2//11--1)'Š&%)/ ˜  þ       !    $-0   4/4<7>=>>@>@AEDCDC=9@9=8:<::C !"*OXSX_]aa\^da_\__[\]addZ`eg’gccJ-'$89&)$ /�ˆohZO:$Esvútsutrpnjqp[0/-,*-()("(--&/+14/.//,.('8dijkopnlrtopolqrwwurtvqqj0     @9YPNSejhhNQXWRDFhkkjnkjghe`_\«C & )%  ¿  <DFT(    $3=6   ags}y~~€€‚„†…‚„…ƒ „~}y~~}€†jWWY_\]\WTMK&"(u¢¡œ¢£¢¥§§¥¦¤¤§¤§§¨§¨¦¨¨§¦{ŽC'+1S?Z.a77�½KF91"/Y[Z\XXZYYVUNVUE !" #!%$*)-.)**(#$#$&DFGJPRKKQVQæNQSX[WUWXTVP#    )!;559BKKG12872)(KOPLRONHJIED?BDF6  %#ì    344A!     2=4  MPYc]]a`bbaegfbddccdd]]\^_]_gH8::;:<97653]„ƒ~¦ƒ„…ƒ…‡‡…†„„‡…ˆ‰Š†ˆˆ‹ŠŠ‰bs8/:3K;N,Vk(+�ˆ-/%:<Î6;9;9753:9.#%$"(&#(*.*,-032101/-** *)&'),*(/1,/.,--6:6355131Û    $+)& %#.0-+1/0,.,)(),)16 !  »  %%*    #(&    619?:;?;::>BEECB@Æ>B8769::<A" B[XSTU\^\Xab_]^ZY]^bce\`dhffe6H%(7?$�¦pXXM=+HrpqtrsusrsjcpqpnijffgbXVNQG@1251ã+,+*')$"<afkhotqpsqopsnstvwyqrvspk,      :4UNKMaigeESXP[INkhljjkhbgfbd_SN^L& ³    )!EOMU!“   " ˜   diq~|€„‚ƒ‚ƒƒ…ȃ„„ƒ~}|€‚„fWbja[QJA>:9%'r ¢¤£ Ÿœž £¦§§¦¤££¥§¦¨¨¬©§ªª¥–‹>9?G1FS'_ŠN j�‡M880#)WþXUX\XXWPETUTQNPMLOMA>;:4/$&&%%'"(BCIIKRMKOSRPSMPWYXXTUWVVO     % 9316?IIH,5709,.NMQMMNKCHGFIGBA„PBƒ"" þ   '6>;B    $   MNT`_\aacbaccbcdccdcc]\\_a]adD8AE=:4,(%&#V„„‚‚€|€‚„†‡†‡„„ƒ…‡‡—‰‡‹‰ˆ‹†xr9>A?.3G$Rv<V�þ0#$;78:69;9982-687:489:;752,0**'#)$%&'()'#%!"'&(().+*-1.,/+-0586133221    *'&#&"/,2-.„.,+,-678DD! ü    %())*        74:@<;A><<?@DDED>?DBB887;<9=@   9ZX§ZZVXY_aa_]YZZ`ead_cfeji_ME*3K'D�‰kYZN?0@vpsÃqstrse^lkikijhdjmhiknloosmkj`e`XTLKG?2A^^cdnolmrptturrsuwwrqspnh-Ó     .!GAEG^ffgIRXYL4Dqjlijlfegda`@   Ë   */=      dkv~zy~‚…„„ƒ„‚…©†„†|w}„…‚…^TbaYJ>:;?BL,"3”Ÿž¢ Ÿ  ›œ¢¦¨œ¦§¦¨§¦©««ªª«©£ƒC;V=Qe*/[o4'"+£�ÃI8:0(&\WYXVWYYWWKCROMPMOOIPUOOSUTTVXPPRJNIB?795,+B=EFKOKHMQVSRSVXVÍUUSSN      6,-3?HIL169:0*QNPMNQJIIDCF2 Œ «    '*4     á  JMY`ZZacefddeadeggee`]X[bd_cf?4>?:.'"$'/5!w‚‚‚€{||‚‡ˆ‰ˆ‡‡†‰‡‡‰Œ‹Š‹Œˆ„iB=I8EN$(Q_)$…�Š-%% ?898ó9874.(4303122057546:99=C<9<6?<93)**&#$')-)*-/2..,.0273032/0-  '(*$'&0.1.00)+¡.-  ‚      "(  £    56;>9:A?=@>@D@D¨EEC=957>?<@?   QZYWUYYUQUU[a`^``fa`cegeiga\?%%23<m�àilaM=37qpqppropqqd[hgpqqnhdekdfejmkjjigigiigjkmki_[^b\^kmgmmpttrqqtvtvsonlgc( ²  !49?\cddGGFRI*Bmnjkmmiegd\\=! ‚ô  -  "     elt{z{z‚ƒƒ€‚ƒ……†…†ƒ€~zy|€„†ˆ]W_YH99;?BLZ5"+—™œŸ £†¤¥Ÿž¡¤§š¥¦§¨©¬©«©«¬¥}6[Ydu')DOU7Ž�‡GH@/(" U˜VUWTVVUJAPMWWVSNIKPLLMQSN«KNKPOKNORQOC>AB?CLOEILRUTRSUWYUWWTRNKH¾     #+/?DFI.-*4*,MQMMQQMIJFAB/  …„±            KNY^Z\]eedadeg¯eb_[Z[^bbif@5;8,$%%(/6:r{}|€‚„‚„ƒƒ~}…‰‡‡…ˆ‰•Œ‹ŒŠŒŒ…c:PKXa$%9FB+z�ˆ-2+98É685563,'3378962/02/235325:323124753645-%$$ #)-$)-00.0-/3355121-))„Œ   ­$&( -/.-00.,.*(/-# „þ           659;:<<BB@;ABABEFFC@>879:=@G?   ORWSTWYUVZYVVZbc^aad˜ccegfefjh\8+(2=!+*#h�ÁZZTG:.7lolmoqqmoofQCFOMWSVW^eededlkeijjhfigfechea]^V^RTgmihkrtsrotþrsuqldb[#!!(),$!  $->XabbGP]bO>Nklnlkkheec]\<$     />41¯       ,dkx|zy}„†„„®‚†„€zz|€|€„‰`WVG<>=BAITc8&"*• ž¢¢¡¢¦¥¤¦¦¤£› ¢§˜©§§©©¨©©«¡y[{eC(E/[Pq�þ::6)#"QUQQTUTRSSL:0/99@=?@EKOKLKSPIMONNKPMIJHMLG@@<?7<JMGFIUVUTQUWWUVYUMEEA"  !+<BCF/2>C/$3MOQONOKFGHDB. „¯  ,;4(    — & LO[\[\^dec^bdÊccfec_YZ\`[bfe@43*$()+,7=B{‚‚ƒƒ……„†…‚ƒ{ƒ…†ˆ‰††ˆ‹‰‰Š‹aRhWt4$<-Q?d�¥"#!0645467455-!%&)"$&+.102.22051ð-.11.,1-,%" $'+&'*1/,/+14434541)##!   "$%%)+-.-..-*-+)/,$$   ‰¡ -"  ›    " 63:ÒAB@:?@??B@CC@=69:<8AF=   [\YXWXWYXY[ZY\WYYa`_dbabfadefV2&9/G .$Z�ŒSYXL7.0kqnmnmˆoeQ2&#!"&þ.32<@DMNLX\Ycagehielec\\]aSSahgfkrsrrouvvusuqk[ig^ZT[VQPKFA<4-"  &7YbbcKGVZKBMkoljijifda`[6    Š ±  !>4(.%%     à ) dguyy}…„€ƒ…‡……ƒxx}‚~‚‡ŠcSM@>BDFLQZk.%*8—žžŸ¢£¤¤¢¦¦¥¦¥¥ ž› §ª§©ª¨©«©¢–¦•‰™ZCN=5]R 13%|�Â6;=1QWRQSPOQQOK:#!$&,+1:86DKCJHLLNOJPLHBDCE87BGFEJTSSTQVWÆYUM?NLEC=C?;<862+(  %<BDE3-8<-'2PSPPMPNFHEDA, ‹Š” !;1&.&$ ô     ( LMX_[[]acba]acdageec^ZW\c^afiC4-(*,//3;@L"}€€‚ƒ††ƒ…†…„†…‚~|‚‡‹†‰‹‰‰‹Š„y‡xq€J4B62MB''"o�½##/755133235/"   # &)$,,.11/+1/-#$$("(%&)./+25546830%))(*'-,§++*)%!  ""&$-.,/.),*+,( ! ‚ƒÈ $!     & 318=;=;<==;9<>§A>A?;45:>:?E@  '"\YVSTW[ZXZ[Ÿ`^XSV\^fcbdcab`ZIWGEO#',$%#c�Ï[]WJ4))[mkqroomppk\H6321/1..1-1/-*..0**21679=CFINIIKVJS_gfikqromhosuutrpgVmhhgdcËhghggcaTKIDDC?=90,( 4Vdb`GHXXD9Nolmkklhfe`]V5 ! 1&  ¨  '" Ä    ' eiq|wwzƒ……ƒ„‚†„‡……ƒ€vx}€~€†ˆ[NAAEDGKRZco-!)? Ÿˆ¤£¢£¥¦¤¦¥œ§¢ ›¤§¥§©ª¬¤žŸ|—~\_R.[O(,6'|�Í<>;0?TQVWRSSUTPB0'&#" !""!!)"%$&))+/779766<14=IFGKSRRPKQRUWXUTH;RMLJÂIGMMOMMJH>651-/,((   %8CAC//98&!5TPRPPRLHID@?+ * ‰ƒ•  '"–   ¸& NNW\VWZddccba`edfeedbWW\`__ei?4*,,-239>ES'€€„£…†„…††‡‡ƒ€|…ˆ†ˆ‹‹Œ†~‚a}hKKF*J>!"&i�Ÿ&($ (5564234662*º !%'$',/10,(3234431."/..0+,.02034742*'%#Á   $#%#" 0./.03-*-)(**%&! *! ¸       à % 438:6<;>@>=>>=AA>>@><13:><<BA !/!`YXURY]\YY[\_b_a_[ZT_bbcdca\TRV7V;',*+$!#W�ÑPQJ?./2ZhkllptlpnhaVF?=;<=<;:>=?:79:9759;;:30,.--**,09TekfinrtpiglruvvtngUjjigeiehþegfec`XU[Z[]]UHE=1(*Lac[=MY[O:Smmlojllefa^W2Bl7          '    £    *(jntzww|ƒ„‚ƒ‚ƒˆ‡…Æ„{v{}~…†L==CGHKOVais0%+> žŸ Ÿ¢£¢¢£¥¥§¦¦©¨¨§§£¡ ¡§¨«¦¥£“nio%2aC.09)†�þ42-&;NPPQTWRTRLD:1,(&('')(('(*%#')#!%&%& $! %3DLFHLQTQIGMPUXXWQH9ONMJIOJLLMKKJJIF>>?<?A<:/*# 0CC>%179/"7QPORO™NMGHGBA'6\' ƒ¥  ( ó    & QRX\UX[cda]baafefged\UZ^_^`fh4'&.+-/1;?GU'€€‚‚‚ƒƒ……†…†ˆˆ‡‡ˆ…ƒ€‚ŠŒ‡†„qwsYT_",P4$"' p�Ó!'261157475/+% %+%(-02/(&32455430!/10/,/-21/Á01.+)%'&(*&"  $%#$$/0.3020*/+(-) $%7U%  þ       "        &:9:;3;=>@>:>@?EA>@@>818:>=>CD $2 ^[[XWW¦YZYY[^``]ba_`_^[XZcdec^ZFNL01=-" "#Z�ÛDMRB0$)^gfklnpokmjd_QKMIKEEAEJJIDDCGC@BCDEC@@=9<=:;:7M\flhjppvunlnsvvwtpgLOPW[^]]defcjggdec^¶_`_VUPNSH#+P`c\IJVcM@Zknmpjjlhd_`W3 !JrkE/ ‹¤   !. ‚à  % ,lhrvtv{„}‚……ˆ†„…†…„ytz~~ƒD9;EIQRY]dss-#*=Ÿ ¢ ŸŸ ¡¥…¦¥¤¥§¦˜©¦¤£ ¤¥¦ª¤šžƒq~/$Ig.-'&'ˆ�¤211( ALJQQUUTQRPIB;562500212433..1-1-Ñ)*+*.*+%%3=JOJMPRVTMMQSXZZXSJ7;;@CHCGKKMLQNNJKIFCCBDDF>95480 !6FIB13>H2)?RSRUO•MJHF@) Cna6$ƒª  !1  Î   # "TMWYVY^cd`bfcfedfigg\V\aa_`ha-&)3377<AGUS*~„‚€‚ƒ…„…††…‡˜Š‡„†ƒ‡ˆ‡‰…|‚kZe)%@U&& #r�þ &/02268643/-,% ! (+'*/02/++1688756/!#&)-))-/1/212/01-)(')((!!  %%& (/#00270ˆ01--++-*"ŠBiX/! þ   !  -    $ :59857;@@<>B@BEAAC@B<3:;>=>C<  %-/]WW]XVW¥YW\\]^]Y[^``^b^X[[bcc`YPYC3A&5$!^�þHRU=3 %dgfghjmiilgc_SVUNQLMGOPJLMLOLJFGHIJJEDB@CCA;;@T`gnhhnnuqrpqstvxsulJ2'*0198@EILTRY`a^\Y[_^bc_\W^WS,!4R`bZ@JB)%>skjjmkþjgfb^_X1  *%             &hiuyrtz‚„}„††…ˆ‡„wrw¨y}€€ƒ~NEDKPTW\dju{+#;œœŸ ŸžŸ¢£¥¥§¤¥¥§ª©—¥¥©ª§£¢§°¥š|‰_#!DI() N�Ñ663%CKJNMPRMNQLGB;?=6:573875872544212321.-,/00-(')7BLPJLQQVQQSUVXY[WVO3"!$'+1õ5<:@EFEE?@CBGIE>;B;9  5EI?+1++ZPPOQOQKKIDE@% )#     ï   "QNZZTX_dd^adeeabejigZVZY]bbf_4,-49==AHMXZ+€|€€€‚„„……„†‡‡Š‰ˆ‰…†‹‹‰…‚‡†|cqI!99 !<�ˆ #,/Œ0350020.,%%$"Ž !% !!® %),&)/140/136869592 %$(+.“(&((*,'$!%  %þ!!61.1430.-**+-)"# 6/     *"   !     $;6<:56<BB;>A@¢?AEFC9485=?@C; ")25 [STYW£Z\ZYYZ[_db__\]dfe`]_g]U?G-%&!+�ÕCEH;3(Wegoljkeefebb[[^WZXZTWWTWSVSQVPQQPONKNOOPNOKMVYbiknnprrpopqsvuuxsmZREC@7759961/þ4.8546:=?BFKGAB3 4U_caIMHE4a¬Ç„jjijjeeb_]5      $   2     Ì   +ihvyv{|‚‚~‚†ˆ†ƒƒ‰‡†„yux|~€ˆ‚NENV_\^elq|u5&&=žŸ Ÿ¡¢¢ ¢ Ÿ¢£¤¦¤™¨§§¬©¨««©¦£¢˜ˆ†- " "*�þ0)$$=HMTQNNKJKHFGACD=?<@<>?>?:<99>799677366886636<>DGJNORRSONRUVZYV[WQ?9..(''('$ !!"'%"()*(+./-,-  8DHE00-2(R‘¨fNMK—PNIJECC'  ®     -  ¼    NMYYW]`bb_aedcbcihfcYVZ\_^aka5-4>B™HPU_S,‚~~‚„‚€‚€‚…†„™ˆ‡‡Œ‰Š‹‹ˆ†„‚wlh"�© #-,11/0,,..++'(*%('(#$'&&$% !%" ° $" %)+)+--11-.22554750$"’  $&(Š'#B‚‘D/0/0,™*+.* è  '    %      ;5;967<?=8=A@><>CEC@649;<;>I<µ!),6.ZUSUVZZUSVTTPTY[[\[^]^ddcdd``]ZNF?�þ@SQM;-!Tefihikdehcdc_a`[_\]]Z[Y[[XWW[TVYVUTSRSVWXXVUXV_ksmjpopqoosstvxuso_\MJKHDAAGC@?=<9<<:87752359800.$& 7U]b[OMHHS’’mkj¿ijbfe`\4 4UR9%.,>+  þ   'fhtzxz|‚‚~€„…ƒ€ƒ††…„vwz}„†VLR]aablnv}p+&'8ŸžŸž ¡ž¡ Ÿž ¢¢£¦§¥¥§¨ª¨©¨ª¨§¥˜˜['!!!8�Á.4/3)>MMNMLMIKKEIJGHFAFBDEABBCCA=?B=?A=>=<;:?>??==@>BJQLIQQRQPRWÌZ\YWSDC5433.--/+,.-,*)+*'++*""%%'&% &;DIB5437I}xRPKLNFIIFE) ¯  @=+!&(5&   Ö    LNZ[Z[^cdaaedcbdihecXW[^bd`h_<4:DEFGOSZaR'ƒ€~~€€ƒ~ ‚ƒ‚„ˆˆ††ˆ‰ŒŠ‰ˆ‹‰‡†y{J# ,� !--.-.0)+.,.,(,-(*'))'(½&%#&(!!$%"#$#$'(&&#"!#).(&+*,.+*30255330''  $%$## 'AgY..,)--+-(¡ (&"&&1)   ù   538;76;=:7<B>;9?BDC?4389<>?G; #)/7- XXSTXVTSPSQTPVYVZ__^]`\cb`_baa_PQ&#�³BYZI2(.[ebfecgedcdd_[_daa\`dd^_baa`^\ZYYZYXVUYX]Y_`_þ`fkdeknqomoqostspsobgZZTUQOKMNJHGIFFEBDMJGIEEFHE>>=< 5GZ`fN.8ZU^~ttƒ”‘‰|jaW8('6=Q[WZ\3  :,”    ó    4iipwvz~„~‚ƒ……„…vv{}ƒ„}XPX`cdflqxp+$4œœ  Ÿ¡ ¡¡ŸŸ ¢¢££¥¡¥§¤¤§ª©§§©§¦~"$,-PN =�¢-682"BMHLKHKIJGHIFBFKFGBGGHECHEFB®@>??A>;;??B>BEEDBAFKEDKQRONRUTWYXSWQCI=?8:65442¶120,/005220.-..1*($%',<GN:*BI LdVT`nqiZHC?+ …„§"'4>;AB( 4*    ‚î  $MKUYWZ_fdc`ccddfied`WS]`c`be^>8=BEHKOTX_U‚~~}ƒ‚€ƒ‚‚„„‡ƒ„ˆ††ˆŠ‰‰ˆ‰Š‡g*)>= 2�¥#"'1..-)--,/-.-'+1-.'*-0*,-,+))(&‰''('$&),')¤($%&)#"*.+)*.20587550(-&(##¯  !&)%$1>=L70=OQL=,()+ $#'!Ù   (*%() 3/         "6359¯<?=>;@?>BCA@B;4176;>@D< #$')082ZUTUXWSXV¡XXY\XZ`c[^a][_adcbec`B&#-- '�§=_^B1-/Ncaedbg`cca`\\cihgc_effgedcbabb`_–[[\_]]Z`gbggcihhjknrpopštsonlfmecae_YXTUQRRPNPOMOPQ·NMJMIKHIK73BN\eI*!0<s¦´»ÃÉÉÀµ¦˜ˆO02/?Vk9 <?JNSX]*›2'   ˆÔ 6hgowwx|ƒ€ƒ„‚‚„…†uqu|~ˆ‰}ZS]`dehst€‚k" *—šœžžŸ Ÿ¢Ÿ ¡¢¡¥¦¦£¦©§¥¨¨ª¨Ž¦¨d+%4=s7(Q�œ(<=*:IHLIHLDJHJEDCIOLLGIHK‚LGE”IFDDCEC?BFDDBDLHKGDHJšKNQPMPRUVXXQRPHPHDCHC??:;897Ï5778:85522330//$$16@P= %*4cŠ™Ÿ§­¯§š‹~lA*-'/?W.  )*16:@A!•-$   ‚ †Æ +OKTYXZ_dcdecbedcfdfbWSX^c^hk^@<BBGJLUU^aLz}~}€€ƒƒœ†„…„…ˆˆ‡ˆ‰ŠŠ‰Š‰‰M$26a+#C�þ%( /,-,)-(+-*+,).221+),100..,++,+)&)*)*'(*)')/*-(%&(&%(..++//136721/+2-,+-("%#$ "!! " ""!  #/* #'7Wk}‚›˜œ”‚l^Q8+-(+5K# — #)++,    ç 535889:><?==<?A@@>@;2036;<DH<"%&.+3:,TQSSUUSWUXVWYVXZ]^][^ba\abfebdcd---F-�À7`WB=0,DTW_^^d]aa_\]_ekhgghfhhjfhhfeefhfccba`bba]cgfjfhfcgjmppqlp£sqoonjhoghded^`YXZ[VXW]]ZXWW[XVTKONR°VEGEP`6+$o|{¸Ð×ÒÀ·°««¯¤››­¸´³sˆ¹zh1  À 3<DNPUc+8'    ß 8ihqssz|…†ƒ„‚€ƒ†…€xmx}€†‡ZUY]\a\\t€‚p%1˜›œžžœžŸžŸŸ¡¤¢¤¥¥§¨¢¥¨¤¦¦¨©¨¦§¨o6UI+DL1+07@\�þ$>5'!1<AHCBIAIGGABFLSOLILMMLNKLJIHKMLLJIIFEIHJEHJJMHGEDGJLLMPJOPTXUSOQOLSJJFIJEF@@BA;@?BC@>?>?>;:4588:57+-.7F) grqž´¼¹«¥ž›ÊœŸ—Žš¢£ ‹brœucW+  #(.66;E0   Ë  *QKUTW\^abgeb_ddacfe^YPY_acji\;;?>>D@?WacOz{}€~~¢‚ƒ…„ƒ‡ˆ‚†‰‡††ˆ‰‰ˆˆ†T/D2%9>$"#&6N�Ü%$#$*'',%)*('++032/..-120-20//00.,,.,,*+.,),.,-'&&$&%*+,.),/343310-,6//.--(*('$&%)%&''&þ'&#""#!"!#(! \kl‡ µ«™˜‘Œ“‹ƒ~ŠŒ”wPbˆWKC#   !!&.-*     ±&73855<;?=C@@:?A?@??;506:=@DB<$"#/8<0­TRQTUSUSTYSW[XT\]X[`W]b]^`cfcbd`1&') !-8�¢=^[D=3+8MNJMUTV\^[Z]Z_gcjkeijfkdgkgþddcgffgedfkffggffedlqtporoqroopskhnjihfdfc^\_^\^bcb`_Y[a]ZXU[ZY\YXIFHOID)ªËÅþ¹­ªŸ›˜„}wrhd‰’˜™¤£™oY~\   .<HUõMSc25#       8fhsuqvƒƒ„ƒ€‚†„ƒ„„…{wlt{~€…†}LCF>:3(%n‚o*!,˜˜šœœšŸ ‡££¤¦¡¥¥§„¦¨ª©¨¡f}zD.FfQ()86D^�¨+<7*%)5855:88BECBA@EOKMMGMMJOHHMJKNLJKIL›KKLHIDDEFCEJMQMMRPSVSRQWMLQLÜKJKIE@CA?BFJJGDACFCA=:?A@@;:-',524$—¶­­©¤š˜Ž‡wsqmlb_t{…Ž••‡YFjT!'.:36F /     ‡  /NKVXTX_dfdb`cgfeÇfZXOV]\ahh[4+/'%"TbdL}z}~{|z}~~€‚ƒƒ…ƒ……‡‡ˆ†ˆ‰‰‡ˆ‰|Lh[/(<V=)&8L�ˆ%%þ""!%&%%'&)1-00+.2/1,010010./-.,0..200/-*)'(&&"!)+-,*,-143126-,4311-+.*+(*)(+,**+*'(**($$()(+'% "‡ ™š–Ž…„~}ui`da_YWhkt‚€¹‡‰~tH7SK  $#0+$   ª       )649738=CBA>ÌABCB@@84-267=EB6  09<+WOSRPPMRTYRRVWUVUXX\X]^^_bba_acU+D7)9* ! /;�§*BEA91-EVYQV[ZX__a`b`_ecdhgjmhihjkhghggfþdfjghhdgkiifdejedhqqpnpoprqonnojmllmkgfcdbacbfedbbe^cfb]__^^\]\]KLHI/7j½­¦¢—“Ž…vdSNJG<.);Udn{„–¡—’¤Y) 1<KVQTþc)3%      9hgpqst{„„ƒ‚„††„‚ƒƒxwqx}„…s2+%!$oƒƒq.&9–•šœœž ¡¡ ¡Ÿ¢  ¢Ÿ¥˜¤¥¦¥¤©ª¦§¨¨ œg6=@QL&&6U�¨$$)".<A;=BA=CFIGHDDLKGJLORMNLJLMNOKIJKðLOMLNILPMLCCFIDFHPOLMRPQUTSQTTNPPOQPLKHKFEIFHHJIIKHJNICCDDFB??C3.,0,]¦›•’‰†xtm[JIDA;.):Q`jv}ŠŽ””‹’P$Œ#(-;9:GŠ, ›     ‚ ³1RKSSWV\efcbcehhdcdfXXSY_]_giS)! TddQ!zy|¦}~‚~~‚‚…„„††…‰‰††ˆˆ|qN*57F:.C�™$%"!'&"'')()&(.,,.‹002/23101.+.ì,,0/011/.,,'&$'!!%++((,-023.142.45123-,,/)-.*./-+--),-,,+**(),+(!R’‡€|wuobaaQA=;;3)&2GXbnw‚†‹‡~pƒJ" ##,*!    (624023=DB@?AËDBABA64.487:EC-37;+RLSOQQSTSVTNRUSQOWX]ZZ\]]a_[\bcTIU& &/))4�” BKH@,%E[\\__`\`_cafeþgiiklhghliihefecd_dfaddfjbfgdbebjhd\alnjknnqupnllrjmojhjpmhfebdgiijhijfghgcdabcb`_]OOGR $“Œ…qj\RH8+#/=IYbp‹ˆŠ•¬œ# Ÿ    ZDITNTd%3&     #*    ½" >gfvvswz‚ƒ€ƒ‡†…ƒƒ~yv{„}„†q# "w‚„i-!)˜š›ž Ÿ¡ ŸŸ ž¡¢ ¡£¤¤¥¦§¬©¦¨§§¢ “R@6>LJ*1<V�´&)-(,@@BACF@CDJHLKJKNLLOQNMMPKKMLIIHIDHKFHKIMEKNIE§MJGACOOIJMQRUPQQRVMNSOONTQJKIHJKMLKLOONMõGHGGIGDBC54,:…{skcTMA5) +3?KW`o‰ƒƒ‹ ’  >*,82:J+   $    ‚ Á0OIWUUVZcfabaejgdbde]XYY`c^fiQ  XcfKvz{~|€‚€~~}|~‹~ƒ„…„„…‡‹ˆ‡‚s=-*3?; !/H�þ''((+*%*(,)+*-.11021--/1021..-*,'*-*-,.1..,,)'"('%"+*%(-..1/.136-060157531.-/2323010100..0-,*,,+( xqqld_[MG82'þ#.9GRZi{{ƒ˜Š  2! +'$       (508315;BB=@ABECA?CC<457Â<<7CD/56:* PPRQTSWYWTURTRQRQT[]^X[\^c^`acaXYK&0)"+<�‘?J<(##EZ[^b^bcecdfhggllmjgdhnhf…kejkgf×dcdbddcbVPLSSJJO]^chihopokjnplsjhhlnlkjieeklkjiihgjihhgiebda_`G=Fk w\[ND;2.0!  þ &2HW_f{“/   }xo\MO[ 4&  "    $ Gmhxvtw{€„…†…†ƒ€}vz|‚‚‡‡h¤  #|„‡g" 0šš›žŸ¡ŸŸ¡¢¡¢¢ŸŸ£¤¦£¤¤£¦“©¨§§¨¦§ Š`O9?H@('168�Ö(,$.?=BHBEEIHJIJMMNLNNPONKNSLJKKPKNQMKKJGIEEHHKG81397323CCFJIKNQQONSRMWPONMOOMOMKJOÂLNPMLOMNMJLHIJGDF.'1]sZXL@:1*,   49LYcl|’- f`O<.6Aš(      Ø   8RLZUTUZ_aa`aegfeedb]UZ]cabgiP  ^efH !{z{}}€€€€~~}~‚„…—„ƒ†‡ˆ‡†…†…‡kF8*2<4!'.�”&%(+,+*-*-++-ì23240,*.2../.1.11-,+..,**,+)*""$'((+..*-3304202554332--4431220232.012,),,)*IkSRF;5.)*   þ*1CQY]rŠ,  YM9&% ($        )619614:;=>=>ADCAA@>;476;8;CC/˜6;;( RNQPSQUVUUVŸOSVVW[^]YW[\a^]_^]^Y?$(2&(�3E@+'(I[_ab``adþbfehfgnikikgimnihinimlillmmfnkklggfabed\^_[Y]a^Ychd^]XY_lhhlkkighgfgjkmlihjkhjinkjhehfdc=)(  0"    %"…+>\! ’  6x—}dW'¿ 5+       Nki{zqq{~¦€ƒ……†…ƒ€~yy|„‡‡g +‚†k&$,6’š›¦ŸŸ ¡¢¡ž £¥¤¥£¥¥¨§¨©«¨¨©§¦Ÿ’]P3,#".*1<>;�º#*%2@BEGEDFKHIHKMNMMQMQQRMNRQNLMSNQRORRQRKOPOONKG@CEF@B–?BC@?CGHCB>ACQNLNMOMKMLòMNQONQOOLMRUNMKKLLJH* 0     )$4>]!0d{`I<  +#     Û  <PN]YOR\^``]^ddehdbb`X\^bbcjkL  edeK$t{{||}}~|}€}~‚ƒ…ƒ„……‡ˆ‰‡„†……~qC6… $)-.�þ &(+*+))-*+)-..-1522/.,/31//04142/2025/1010-,($$%(! !! "#!#)*$%"$*30/3530/30-,13534302231412.,.0-+  0 !Á   &%-@V   -WbA*" '' À   -55;9/0;9:=<9>@AB@<;;6859:=EE. µ8::% KNMQPPSUORTTSNUWXYZY\YX\[a`\^a^_UA �‰7CD9-&<]_“^`adgbeghjggijlmikklþiloopllnonqlqpprliijgohfchhgeigjijgeabaafdiifcceceedfjhjjfjlhgjlkhjfigdaE%       /  þ4)"5o‘B:()3!       Iklw}vrx{}~‚€……†„€zsu|~‚…ˆl  '~‚…s2019•™™œžŸžž¡ ¢¡œ¢¡££¥§¨¨ª¨©¨¨©¨©¢›we/@KK-(4F\]�Ó"&(#)CEBDCFGKMHJKNRMLMNSTPPORQRNOTTUQOSURUPUWVVRMHLGPKGEKMKIGGIHLLGFGIFJHNLJGGKHJÀNLMLLPQKJQRNKMJMMJF.      ,º +[ys6 /!$  ³  9PP[[TSZ]^``_bffhdab[RY^_cbfjK  e‰T$v{z}|¥~|}‚€‚}}€ƒ‚……‡ˆ†‡ˆ†ˆ‡Š‚zWB.?:#%3HK�•'())**)--*+./0…3452.2“1015452/4325358643-*é1+&$*))&&''(.,()**+0-/11-,..-,+-1/13/011035213.01,)      +  þ (KcT& ,(!       /69<7239:9<=;=@@C@::73688;>CG, ;8;-  ONKQNQRROPVSUPRUUXZVWX\^__^^`eacYK.%%(&0/�– 9CJ>* 3[\\^^bccdb`gfhf‘ghlinjlilfjpnmlkmpnopormijjiojlhehifkjmklmlhighm¸jiehhjhehehgijfiighfhgcefgdbaN, þ    <G>. :sˆf*97*!'     Bmlwy}ww{€ƒƒ…ƒ†…‚}xpsx„„‚f ¨ &„…{9*,<‘–šžžŸžŸ  ¡¡Ÿ¡¢¡¢¤£¦¥§ªª§§¨«©¤Šm8P_T#&3=]b�‰$(.&%BDŸBHJKKIFMLRMIIKOSOTORORLNURQROQVU±WUVTNKNJOLKHILJIJKMLPOKMLLMRPPMLKMMOLJLILJLLMOOMML¤FGKKJFE6     ¹&-(0ctY ,/ "  ç 4PN\[\WY]abbaegefcb_YRVZadbcbF dgfY'twz}~}|~}}€€}{€„€…ƒ†‰ˆ‡ˆˆ‡ˆŒˆ‚gI%=J@%-KO�ˆ &Ì(+.-*+**0-00/1134055201-063221566546:754/..+1+)')+(&)+,,10+,-,033122-/010-/+/þ0/0112121-../.+(          +RbN ..    „ Ÿ  (87<9955;>=>@CD@@>=75345=?@—&<;;0PKLRPRQ£RXTTROVTWYXVX\`ba^``aadbZ<('/+$32�À;N?8#-YZ^`^`\`bdaddhfeegdilkmmilglqnnmimoononnosmhejikmmiijmjlmÖonolmmlkokmlloolomnlmkpmhghhiigkffaa^\_WR.     ¦:''-U_C3 4cd/o>  "" "Ò      Eiew{}yx|~|‚ƒ…ƒ„‚|zrruƒ†„…d 0……~5"(5‘——œœ“œŸ  ¡¢ Ÿ £¢£¢£¥¥¦©©§Ž¨§¨§m@T`U0.5;_c�ß'2)" BBEEBGDIIJFJKPLGIMLQRRPSPSMRWRRQNRVTUVRUWXRLINLOPOIKOLJMQQPQNOOQQPPRNPORTQRURRQQOURQOOPN²OKKFEB@D<7   Ù2 2=*/[sVW4   !       5NJZ_]ZZ]a`efefdb]YTVXabhgfN$fgh^ "uxx{|†}{{~€„‚ƒ‚„”…ˆŠˆ‡†‡ˆ‰‡iI*AL@"#'+P�Ö $'%''+-**+,,/.1/0//14587511049565355785578641.0..0.*,+,+-.0145110023733115757463þ6542123313-.*-)('         0  ' ,TgLQ1   ç   150>A;858<=AB?ACA@?96338B@EED, =<=3NNLPQQRRPQWVWWSVTUYXUY][]dba_^_bc`>*+1,! $%?5�¥<MB/#.YY[\W[Z`ed]`bbccbeefgnlmhihknomn’olnporokhlgjljgijml„knkomnqonllpoponlommn»liihihfifhefdec_^E   þ.+5:KSOOF/3bzE % %#     #*+  Klgwx|ws{}||‚ƒ…~‚|pru}……„_ :‡……y2$&*—˜œž ž¥ž ¢¡Ÿ¢¢ŸŸ¡£¢ ¢¡¤¡¦¥¥§¥¦§§©¦Œn?WbL+2;Chd�Å $0+ @@AD=CAGMKEHHIHEGLLMNRPROPNPSSRSRSRQTRRWVWTNJNKMMLILPOLLPNKQKP“QRUSROPVTUSRQURSSRRP•OONLNNLKICHHAB1 ¡  ý' *2-1+.Sic4  !    #$  =SKZZ\YU\^\^acdagacb\QUW^_eggI *kfgZtxy{|}‹~}‚€~‚€„‚‚„…†…†‡‰‡iI'BM:$*/UQ�– "%$)%#)'*/.*-,+,¾-124:5510226687454553496542.2-,.,(++/.-/.,32431/365432558775734¾774001001//.0,-+$$"      þ'   ,M[W+    !  181?>8948;;<?=>AG@B>8/37=<BFD+   B;>4KOONQSS•TQQTQX[UQSTXVVXUX\]_a]_da>+-3)!$%%B8�ä"?OA2'#0WY[X]a[^cb^bachhjikghkihhigjllnqqnpsqoqrrnmjjnjpoljlmolppnnpmolpqlomlnnolnonlmljpqnonlohkjmklÐkh``]I      %'3JOJ@DMZ[WC+!1\r?H '#Ä%)   $ Qnjxzzxr{||~„ƒ‚„„„yrqw‚‚†®a@І‡{5!.6—›š™›ŸŸŸ ¡ ¤¡ŸŸ¡¤¥£¤¦¤¨¥¦©¥¥§Œª¦‹nIacB$1BOof�¿&/%>@@?@GCCGGFHHJMKPOPMMOMMONMPQPQUSRSVTRUWVSSMKOLQPLILJMLN™LPMNOSTNSQNPRSPQPOOSSPSSPR©VNPPRQNQNKMGAB3  ‚Ü $/4-&$*85,!(M\.:  !"       @QLZWYWTZÏ^db`_dcbeYPOV_^ffhB /kdfWz|yyz|}{}}~~}~‚ƒ‚‚ƒ€…ƒ‚†„ƒ…††‰ƒhI,IO1!-7YR�þ $'"&)%&++),(+11301045101//013363576335:8411-0--,+'+*,,02/,102022131/446237533014526513.-03323200)## þ       #DO,3       .61>81428867?<;<@A@?5//3˜;9?EG+ A9<1 UQL§QRQRTRNQSSQORYVXYS[YY\[YZ^]c]<(24" $(B:�þ$4JL<%"S\^Z[^Z`d_[=N99=CFSPU\Y_eldenmmoopqpqnppnmjfjnllmjmnmlhiikmmnmlpnlonlkoqmmppljkkmklknmmlnhnklkkjie_ZG  … À!2LMMV[TNQ[_XF)%b2%%(&() ‚É$%    Spozxwuqy{~„……„‚€ytqx€€„†…Z >ˆ†ˆ~>*$5“˜—™œž¢¡¡¢ ž¡¢¡¤£ §¥¥¨¦§©§¨©¥nIdl9*7DZqi�Ø */& <BB@AFCEHDB.>-+/28>>BD@HORKMUSRUVVUTWRUVURQMMPNOOKLMLJIKJMNNMNQTRNTTQOSUSSUTPOORQˆPSTTQVPSPQPPK@>6  Å "5:6<=3/16<8+V% $#%#  ð !    BVSZVWUTY[^adfa^dbb`ZRNWbbeigC 3jggZ$yyvx{|~{~}|~€}z|‚‚…ƒ„ƒƒ†……‡‡†ˆƒiJ/MX)!'/E^T�¹  #'(%%'&)-+(" !*%'.,-23+.132547975368740-+./+.+*(),.//0..03215432474385214431‘552/1/3443311," “  À ""K!   õ    /86;432379:;>@<;?=>=620399>GD' ?=93 SOIKLMTQRQOONQNPNQTU[YUXXVY[[\`_`W?)47"'4F<�·9UG4" OYZ\Y^Y^b`]$?  $.:?CKRQZ]mnsupvnmlkdgkjilegl˜knjlnmpllnppnlnqnmkkhhklm°lkjmlijifga]XC  ˆþ& &A@?OZZ]TUakeT5-  %#   *4.   Spousvsruz}‡ƒ€„„†|wmx}„‚…[  @†‡ˆ}4!,‘–™›œžœ£œš›ŸŸž¢£¢¥ ¢£¦¥¦§§¥§§ª£‹oE_m374CLea�þ#5." :@ABAEADEBC1   /338=AMPUUX[Y^VYTSLLQOMLKONPIJKLPNOMNMPSQWSRSTWURSURROPMNQRSRTRTRSSPQOLNFA>3  ˆ Šþ -/,6A=?84?LG;&! "!    &0)   EXUWTXTTW[]agea]dcd^]XOZ`aggh>3kjhZuxx©y{|€z{{z{}|}‚ƒƒ…€ƒ€„„…‡‡„††‡‚gH/LY',&/9PI�Š"  $%&Ó'')-+*   $%'+9@77>>;>::53,,.1*++,..'*+-01200.144754546648656530/3367543®534321)!!      ¶! !'##+*! !""!  µ#$  5;9738457<<>AA;:@?@=:7.6;9CDB% ¶!CA:/ SOMMKLWSQMNOQSOPPRVZ^ZWRYXY_[X]^bY?+!49'!)/:3�ý4UG;%PVSZX[XZ]I\2=""#   &-67@BJPOOJFRN[V`bYgkmknljlnloljnmklilkkijijllkonjijhigejfde[TD  þ '<@?JQRZ[CYii/)      43+ Xpnvtwspsty„~€‚ƒ„†~upr€‚À‚~S  ?‡ˆŠ†=&!-ƒ—™›œžœ™™Ÿ  žŸ £¢¡¤Ÿ¡¤¤§¦¨¨¦¥§§¤ŒmDQY,(6=Snk�þ!6-$ 8>=A@D@A@1@&/#"$   "%,/44<?>=94<4EAHLFNNPOONNPQQVUNSQOONQOPMNMMRTNSQNOONOMLPLJH=92  Š „¢ '+(276@?0BOO  ð     **#  CWRYVZSQTT[e]`b^bceb^TSTbbebc< 3jgic!ixyzz{|ywx|}€}}~€€}“ƒ„†‡……†…ƒhE-=C*+?WQ�Ï! #"!$''$&*' #)'$   %$("'+&,011/.-053352232Þ30122495334140/30-*        $% ',0  ”    ¢   ==::572335:D9;‘?>@><515?:??@#œ!@;<5 JMMKJNQOLNQUXTNSTUTU”VVWYZ\Z\`[=) *+##2?7�¼/II<'$FWVXZYSV]?[7A BINIHGB;41!       'š-)EQW^dblmotnqpnjimgihjkgfl¯ppmmiijmghgbffXLD   þ,#2=@NKNXX %53Lb<     %554  !Zolysuqlsqyz€‚ƒ„„…„„~zrr~}‚~R  QЉ‹’;*)2x˜˜šœœŸ›šœ›Ÿ¢¡ƒ¢¥£¤–¥§¦¦¨§©¨§¨§£ŽlI`f0)-;Rpi�›*,"/?A@BA>AC+?+4AJNFÆ>=61    ! !2:AGJGPRTYW[TUQPSNPNPPLJQRRTURRNMNSM¥IKG951   †‚Õ')413@> *& )D'     **&  GUOZSWQNUS\Z_bc dcd^XSSb_db`6 8jhj_ [xwz“}zx|{~‚€~~€ƒ€€‚ƒ……„‡ˆ†‡†‚kF0IP#$*?]Q�° #!"'&"#)&>IQIGIFB:4%   š  $'0.-137:7;94»6120032/442895523360/0,/+  ö $&  &   6;5:33/.32:9:>>??>>?<613=;=><(¶1@;?7 :KLLKMRMLSMSVQOTV[UURVYYZWXW\c]]`Z>("33 !.>2�þ@WSA*>W[YXTSJGEZEAVPOOPOLHMO> -  $      !/08AIJPRZZ`cdgfhhkklkhkfgghcddVO?  ‘ é2)+'5?MNPUQ7lq;  "+2&    ]pm~rvmnsqv~‚„…‚…†ƒƒ€|v}}‚—R  E‹ˆŠˆF4%&u˜›™œŸ†¡žŸ¢¡¢£š¢£¢¤¥¤¥§¦¤¦¥¦§©¡ŒjKdc4/29Xri�ä+65, ,ADABA?>;3@30UNOPPOLHLL= / $     (&09;:?BGGIJKOLQOQPQSPQNM×HHG=80   ##-546=8 RX0 ý  %*    HVR\TWMPURX^bcfdeebba^]V`_eeb9 5nghg-\x{xy{}~~~}€€€‚ƒ‚„„……†‡‡hD3OL'$)*H_S�™ ! "%!##"! &"SPÒQTOKOM?. "$       ,*-),0131022469656443203.-*Æ $! 5<Ì   # !"    7;4603--2367<AB>A><>@=51<>A=># µ!B<@> 5KMLLNRUQVOMPPRSWWUSSUWTWWVV[^\]^S;'$52%"6@5�þ6ND<)3ZTXWNKN<>YB< ;STNQRQNMPWA8      !%-.=>EJSWd\a]_^beVO>  œ ù5%/8;?LNMTP "   $   _pkytsjkrtx~€……ƒƒ†„‚}|}x}€‚…‡M  LŠŠŒˆ?-'+t—œ™‰ŸŸ žžŸ  ¡¢£¤•¡¡¦§¥¤§§¦§¡ŒfIfe0%(5`qi�þ$/*) %D>?>=<@10A30 ;USNSQPMPPUE;          ''138:>EOEIKIGHJ;6/   Š Œþ*%(-564;2         KVO[XUMMUTY^`ddeefba\\]X^adhh3  @mjje(^uzvy{{~}ƒ}|~Œ€‚€„…„ƒ†Œ…~g@4OL"!)O]S�þ %#!!#&  8QRNSUTPONSG; #        !&+0)',2441/,,+ œ þ #     "   :9373/+-146:<@@??><<=;52;?ACF'B>?;6HKHLOPQP£TNMPRPSRUVTSSVTQUXYXZX\[Q=&%63$=>5�þ)ONC/*XPSTWdSE:M<0 !QTPQSVSQTPF E(         4]]OMK  ö ;68=9CNPISZ        Znmwvrhjpvv~€†„ƒ…©‚{w{x~€„ˆ…F  KŒ‰Œ‰B$'0x•—˜™  ¡¡ Ÿ›£¢£¤¢¢¡¢¤¦¦¥§¤¦§ ˆcGdZ%%&5^ph�ü/4+ D<=;?QA81<3* TTOPRSPPTNED'        *CB556… ž/!)+*-4:2:> …ˆ´   ESOYWUJLRXW[]ecdecb`\Y\Z``ekf/˜ ?ojkf& ]rxwx{|~~}}ƒ|}}˜€~‚‚„…‚…‚……}a<2ND*M]P�Ö %"!#5&! NSPPUTQQSNLA)     þ  ($    %"%      «  565840*.3769<@?@C??99753:=?GF¸,D<=:8CGHJNMPRSONRQNPNUUTSPURPSXZUVQZ[P9""5+%:@6�ž'KQH+*SOU\OUVG:,.9QSRRVVWãRF C5"        :`ZNKK    •<RA68BNKRSSœ  ‚ Š »\nkztqkemuu|ƒ……††yxyz}„…„G \‹‹ˆ>(%,uš˜˜™™œ§£ ŸžžŸ ¢¡¢££¡££¤¦¤¥§¦¦¥ ‹dJ`N,-+Ddjh�Ô*2+ !B;>E>EB92',7POOPSRRUVQF C4      Š *EB936  ‚ƒƒ° -=4.5-5:H@7  ‚¢   DTM\USMGNUTYZacagfd`ZÃ[_cbge/ Imklg'Wwxwxw{†}~}||z||€‚€‚„‚…ƒ…„|f=2L9 1QYO�² !'!'&3MPOOUSRVVPI>3$Ï       )$   Ž ‰ "ƒ š    „ è   050952,)-2269==?CA=857458@;CF/C>>: 9IIGIFK[URNMOOJLLQPPTPOQQVYTTVR[\R: !3$*<>6�Þ!KUG&#GQVnH9K?9$<WVTTVTXXSPD -04         ¢ Hc\LMK  …º C`C-3BSFWYJ-5 ‚ Ådlexsokkouw{€‚‡ƒ†…‚€xutxz†„„D  ZŽ‘Ž7!&/v››ššŸ¢¡ž¡ ¡¡£¥¤£¤£¥§¢¤¥¥¤¦¦¥§ ŒcIaQ44>N`c�Ö,3+>:=Z=2=33 :STQPQPUYTQG .01         „ “  4HD525  œ ƒ› /R<022=3UL5 +.Œ ‚¯LQHZSPNKNUVY\`ddgfc`XWWZ[adff.  Kpnon%Uwxyzz{}~}~}}||}€‚ƒ„ƒ‚Žƒ„…}h>1J:#'*7LRK�Þ 9 "6TUSQTRVYRPJ*-1      ¬  !,' ¶ $'   ‚‚ ›   34+541,+,136;<?É@>945347>>FG  -EADC 5KKJKGJSQSPLMOPQPSQPRTRUPTXUVUUZ_S="!0& "",782�­;TL5%!HDLA62=C) B@UUTW[VJ9.4)  Ý        IdZJPO   ¥DS8/5D`HPRA % ;> ‰ …¶rqlwtqlnruy{~ƒ‚…‚…}~wvtvy‚ƒ|6   i”=&+|šœ™œž£ŸŸ  ¡ž¢¤¤¥¤¥£¥¥¦¤¤¥¦¦£¦¦cFVF78CNa^a�þ!4/:3:51/8:% ?>RPPQUTK?27-           6JC438  œ› 3I71.6T<GO3$,'4AŒƒ…ÀYVPYSPOPQVYZ]_`ece^^WWVYX_ae]$ Rpknq Zuxvxzz{{||~~}y~€˜€ƒ„‚€‚†…yh?.?/#).8JGF�­ " # ::RUTUZWM>072 þ      %/&      #$  š   … …ºE=4631,.1368<<:A=A<;34156<<D>  7D>AG <JLJLJJNOSP‚OMUšTRQSSUUSTUWTR\\O>#'!$$+521�þD\WK-#G;`@ ' OOVVWZ\U<        M_TGLM  À Ca:.5AUXQC=&#& X/†‡ Š ¹qkcorqjksvz}}|€€}}wsty{|€2 j“A&"+e™œ™œœŸ¡ƒ¤¢ ¤™¢£¦¤¦¨¤£¤¦¦£¥¥œ†[FX@695Cgc_�©(;7+ @4O6 ( LMSQTTUR=$ Ñ         6F=025  ‹© 4T?.,4NQDI:/@D0+ R:‚‰¹ZPFPPOJLSWZ[\][b`_]]VSTZZ^a`_ WnlnoNvyvxyzz|~ €~{€}€‚ƒ…€~~ƒ„„x`70D+$,'1OIC�»&' *$ GJUVWW[U>'  ˜     å  %+"      ")  † ‚ ‰ÜB:.01/*,3399::6@;<::2//769=?= 4C=@E  5JMKMJLKNQRQROKSTSQNOVSUYSNTWUSZVK6)!!'!&74/�© ?NG>0(T$O $ UUZXYZ[[H-"  ª       Ü   J]QJNO     CW7=>HcN9</-0 )3" ™ œ !]_^qqnliorv~|¥ƒ‚€~zxy}€{}€ƒ8 n‘’–I(,)Tš™Ÿž›ž„¡ŸŸ ŸŒ¡¤¤¥¥¤£¦§¦££¦Œ§šZIXD466Fo`^�« ".*$I#F $ QQTSTUVVC+   æ         7E9.35 ¤ 6Q3756JfMHF813.438J+„‚‡¹DBBSRMLIMSX\\[[cc_^]YVY^_\``b   Yoopp)Czw}zx{yz}|Ÿ{z{}€€‚‚ƒ…€ƒƒ„ƒtZ44C3$((7YJE�¨  **  NUZWVWYYF0" ¡       À&*         %$ ›  ‡ „ é1-(22,,+0058989@<989545;;7>==  7CBDH ,KIQMLMMLOPOLKJLPUTQRVTTXTQTXWVWUH2 %*##%%*>20�› =GF@2 " G@GX\YZòT@/'         O]ODJM,    ¶  EP!^V`SF7*! 98-&   „ ¿  kmnƒ}wzwvvxz{yy}€€yz{}{}~…6 r‘’˜R+,.^š™Ÿœž”ŸŸ  Ÿ›¡£¥¦££¤¦¤§¥£¤¥Œ¦œ„[KW>821Bi_Z�Ó !'(&$ ! 6>ESWUVWUO>/$      ñ  8A:*06  4K.VKVYZLE; !=>3=/„ …Q‡g_W[VUVY³VV]_]_`ZWXZ]\_`g%  ]qnpt3Hzx|z{zzy{||zzxx}‰€€‚„‚‹w`62@+'')3TKB�þ    #<FUYVWVVP>0&         +* Ë    '" "      „ ‰ Û<53?928532446446778:678:>7;=@ 5CDGK /IJONNMOMMNNLJHJPSUTRRUTRVRSVXUTUK7!#+$#$);2,�þ =OM7+$$81 3S//6VZ\]_^M8&       N]P>EL  Š …‚¶ I`A\mjV/"%+    • qtq‚~|¯}|}€}}||{{}uwyz{||~5t’’›S0/-[˜šœ›œŸ  ŸŸ›¡¤¥¢£¤¦¦£¥¨££¤¥§¦œ†\KS</*:eY�® ".- 0+62 '@.-6SX[\^[M4#  þ         9B9(.5    6VFY_hgTA>1 /5š80   „ ‚å WYUe_]^]^_^[]\][ZYY^WUVWY[^aa) Zrnpx5Jxx{xy{|x|z{zxxy|}‚ƒ‚ƒ€‚„ƒya84=*#!.RIB�à     '--3QVYY[YK5$        ¦ &+    ‰¯ ()&"    † † ß>;7?76797667:98434583535755<; 6BBCJ  ,GKMJHKMILHHLJHKLNRQTRTTQSSQTVUTTJ: #* %70+�þ LhfD+>3/; !XM .4:C@:+            N\P?DK ‹  º KcSh`@$1#6""-M  ‡ ‚ "xuq|­x~ƒ…†€~vz}zz{z,“’’˜S/0-`››œ›žŸ ¡žœ ¡£¤£¤¥¦¥¤§¦§¥¦¥¦¦…TDN0%/$?WQS�þ +FG, A62;@<"339@@<*#            ;B7*/5 Š  ‰  ;ZZfe[>84&;5%>50<X   ‚Í ]YVb]][^_]Z]_acceba`\]W[]X[Z[# dsnpv6""L{zzwxyzy{zz}{y{|€‚ƒƒ‚…ƒ…ƒ„‚z`76;##4JB;�ã )* '  #' #1:?FE=,"       £&+    º'+   &   ‚‚ … Ü?<8<8:6:8438:=??=;<:995673476  <E?@F  ,LLJEDIJHKHHNMLLMMORTRTTSVURTXWUSK8*)*50%�ú ?FJ7+886:_J1         QZN??I  ”   þ M\Kn\" PG(+%-$      +suq‚~zy{|€{|}€……„ƒ‚‚|‚~{'‚“‘“˜L#',aœž›žžŸžŸ ¡Ÿ  ¤¦”¤¥¦¨§§¥¤¦›ƒP=H7+74GSKQ�þ !,/ /6 (*C5.             9?6**6 ™°=UXmfG$#RM/9=28+    ……Ë[XVb\YW\\_YY_becdc__``\a`[_^[fsnpu-H|xyz{x{{|yz|{z{|‚€€‚‚ƒƒ„Žƒ‚€v]3-2$#)'6?67�þ   -($,#" &           %)  þ   *&         'B<7>99797967:=A>><=;>?<=Â<6997   @GBBG 1PMIHJJMMLKLNONMNRPTQSTVRSWTVXVVTI5###!*,&!�® <AG<. 4AJ\L`P4#1H[aYB,"   Ê      RXLA><  ‹  Æ J_5k:!R)0".    " Ÿ!rtw|yvz~€|{…†ƒŸ„}‚‰Š( z‘‘”–L)$(Zžž‹Ÿ žŸž¡¡ ¡¢¥£—¡¤¤¥¤¦§¨¦§§¨›~MAL92?<Xruz�Á #'+!  '/5C8\K2%2DTZR>&        –      ¨ 9=:.,0 Š›<[PrWG2' -R8D33;&š    Ë \Y]bYYUZ^^_\_bfddb`b^]]ca^cii  bqnqr*H|zyy{|}|{|y|{z|~—}€‚„ƒ„…„ƒuY-,4#'++EV`\�þ    '#XJ4'2BPYP=+         (( þ     .$       % E>=>87458;;8:@B@A=:;<<8:Â<8=BB  @GBDB /MLJFMOQOKNMPNMMOSQRONUQSPWWTUWYWG1 !%"17=:�­ 0@B4, :BPT[I[YJ, BY[J2)   ª         ³W]J??8    Ç =qKM+"0"!<"       ‚¸rsw|zxy}|{{|…‚ƒ‚ƒ~|{}†ˆ  z’’•™Y+#J˜šžœŸ ŸŠž¡¡ ¢¤£¢¢£¤“¥§¥¤¦¥¤¦ •Š’‰J@A:—©«¯�ã ((  /0:<A8WTG/?UVF0)           ¯ @F8+,0   ¢4i`eQJM@3F'9-'& Ÿ  ²\Y]c[WWZ][Z[^bbdbdcd\[`_Z]dhh  cpost68wxzŒ}~{}|{||}‚~“‚ƒƒ€ƒ‚‚|rish1+,*}ŠŽ�þ    #%)%VUH/%&=TSC1(         --  à     &)          ŠB>><866976<@Ê?=9=85757:@CC DFAGF 'JJKGINSRMNOONMOOTRPOQUQTQVXQUUVVOFDOF!$&"cfh�à .9>0#  :@FTSWJY[[=!HUJA0        TZOA<2     ÷;k:5# '$        %wrw€wwxz}xy~|‚‚|~z{z{||ƒ…‡  ~’”™_#D—™œ‘Ÿ ŸžŸ ¡ ¢£¤¡¥¤£§¥¤§§£¢¡¡¥ª”Q@6H—«¬®�þ "$ *-/;:=:UWX=# DRH?4            =C7)()  ·  0gXZOJF6>/#  ††• ³`X\b`TXYZ\YX_\`bab]_[ZY[\]cdf  eport?0vwzyƒ{~}|ž~}~€€ƒ…„ƒ‚‚‚‚€}€ƒ‡q8-'2{Ž�¶ ##**UY[?,EQE?2      ¾        --  ‘    Œ  ƒ$%þ         !! G<>??48=6536>;>?=;6;75448;@@E  ED@HF !KHLIHNPRQMLMMPON›TUSWWTTVSVWRVVUVTTX`K'%#*`hg�° 0>?2  CHTVPYHY[ZV@(1A=6    þ        VWJ=:B        :Z"/>  ê        %trw€|wx{vyz~|~‚€|wz|}}†‡„   ƒ”‘–—Z""M”›žœŸžœ žŸ ¢¢Ÿ£¢£¥¥§¦£¦¥¤¥¥£¤¢£§§‹H@AUžªª¬�þ"$ +09=9?9UXXS?#-?>9        >>5')2 Ž ‡—/]IMEA<!,E>‹ „ Ï    \X\c`[YZ[VXY^Y^ab`a]XZ\^_`cfgfrnsu?6rvzx{zyz{ž}~}~‚‚„ƒ€‚~‚‚€„…h/,-<ŒŒŽ�þ   #%"')TXYTB0 $9A>8)          ,* £      "  ¥        ñ  C;<A@87:6359<69>>;:84699;;ABC CEAFF EKJFLMKKLIJHINNMOSSVWUVQRXTNTVXWTRWZG!#%,afgk�¤.87,$ BJRTXQWIUVVUI5$),5µ          × YVG><E%        ?[J!*Až- Ò             2ustyos€xzy}|€‚~zwv|~‚†€  †”“d$"%E‘œœšžœ›Ÿ ¡¢¤¤¢¡¡Ÿ¡¢¤§¥¤¥¥£¤¥¥¨¥§¨­‰INKd¡ª«�Í  )1;;?8=4MRTRG0 &,7        ¨  A>0&+7 ›  ¥0Z\IGB7(BM†-‡ ðZWVb]YQU]XWX\][`a__]YWT\a_`h`  dqoppD.pwyuvxuwzz||{}€~}}z}~‚€~~}€‚‚€ƒ…‡c/42J‹Œ�þ  !$(!$%OSTSJ9+227'            ,'þ    "  P             !?97>>3.38359;85:<::85436Â;9>F? <D@@A$  ENJCFJFFKLMJIMONOPLQTTVORTQNSWZYSUY`G &$4`chj�þ5ED</ 1QTQRTTWD TRTTPF8 !%         [XOA=-   þ      7hF1CS#             .|r}ƒ|wt{}|€‚€}xvz~˜ƒ‰‰O_x„Œ™ £˜—•’•k*%)8ƒž œž¡  £¥¡Ÿ  ¡¤£¤¥¦¥§¦¥¥©ªvLLEm©§¨¬�Ü %&!  $::=:<:<3QOPPMD8 %         ¯G@7).)     ƒÔ 0c\B=;71FLV2.        'dW^_aZXUX[º]^`_a^a]WVX`aciib>L_hrusqnpH'pzzy{{xzzxzz{z€|{|z|}€‚‚€„†„Q44.Vˆ‡‰Œ�—    #$ $#PR¤QH<! &     ƒ£      /(þ       ,              D9??=30Ó3668;;:7<<8;943468:ED<)9CEOZ]VDEA?@! FLKHHMFGKILKJJNOLLMMNTQNQSQQXVTUTVZ[7%%!?c`dg�þ 4QF7*"DLNSTSRXBADCKI:%     !     KKI=:> † º    0N  0)'     ‡  Í 1zs}„}xty}‚„‚‚€}{vt~~„ƒ†Š‹’™š—•™˜••˜˜›™}+"9“ž›Ÿ  Ÿ¡Ÿ£¡ŸŸ£–¢¥£¥¦¥¤¤¥¤§¥¥¨ªf>D=f¦¨®©�¿ "-(  266>=>==2EEDKH<(    Á       <:6-.4  ‰  ž-P61;441C@;5"–  ‚Ë )cXabc]ZVX[a_^`daa``\WV^`gdgijpwwutwustutwtU/vy{wy{y}}zyz|{}{|~}~“‚ƒ€€‚~ƒƒ„…ƒD*01Y‡ˆ‰�ª ##$!& CGFLL@1   ×      )#  ¬   !     þ    %F;>@A86468>;;<<=<8:743:8=;BFA@JNIGCEEDIGIC. IIJGILILMHIIJJMLKLPPQQRKSVRRWUOTUŠTVS( %&E_aha�à&KC3&*VMKNSOLUE#+3<:&             ¡K'?06:1    ±   (F %#7    ß   *wry‚„|ptw|{€~~~|wtsx|y}„‹‹”•–•—›š–“•—˜v&„——šœœžŸž žŸŸ ŸŸ ¡¡¢£¥¤¢Ž¡£¢¡ £¤T776n¦¨©ª�Ü&#  ?:57786:5 &,6=:)            ¦ <!2#*0&  ¶#F4#'/6?BG.    ‡ … † ¼ ]T]cdZPUW[\^\\`a`^]XUUZ^^_dllosstuvxvsrqrsO guvtwxz¢{z{|z{||}{{}~~ƒ}}~}~}€~5&)-_‡‡‰�þ  # !%#$.39?=3&!       -   †  þ              #C9=>A82418;;899:78833699;:?HE>GHIG¸FIGEHFEC( LFCDHIJKNHJHIIJMNPLOQONLUVPNRRQOOMQN")L^bc^�þ%DK?,CKFIMSQNVB '/'               T602?5   „ê     %L  *!            6wrz‚{ssuv{~¦€‚~|wtxz}€ˆŒŒ‘”˜—”—˜—••“’˜v'"…™šž’žŸžŸžŸŸ¡  ¢ ¤¦¥£Ž¤¥£¡ ¦¡G004}¦¨¨ª�¬!,$ *65246:8=2 '/*²        ² D+!%5.   — MA1:=B: ‰   † ‚ ƒ © %\S\b^XRTVWY[[]`c]][UUY\^a]glkostssuŽrqnosS ewxxy”wyyx{zyyz{z|{{~|‚}~~}}‚z*!$'a‡†‡ˆ�þ    $# %*20&'$        0  þ                      (A6>=<4230467669;897038:<¢>9AHB>GIGBFFEBE@@A-  >HEGIIHHIFHIŒGILKKONOLOUUPŒQROLLSL$J^]�þ #8D>3'-?IJIPSMNT<         \!&03?    ¾    $T9-   ë      ";{t}‚}}uvxty~~„ƒ~}}vsz{†ŒŠ‘‘•—’’•–——’˜r#!&'‰˜œŸŸžŸŸž ¢ Ÿ ¡ ¥¢¥¦¦¤¦§¤¤¡©—@22.•¨ª�§!,$  0553488:?2  Ö         G #'5   Н!TR1'1!541      –   ¸+_V_aZZTVXVZ__`dc]]^WTZ\`]cijmoptsqoqssrmosVivwzŠyzxyzwy{{z{‚€}€ƒ€~„r+%&#w‰††‡�Ú "#            Ó/         #    ‰í    A7?>9412514677;<77;316:=9=@FA>BID=?ADAA<@C- CGDGGHHFEHHJICHLKGIMLRMOPSQSQMMWJ!S_^]�þ :5:2 !27FHHPQMMT4             T2)1R-  ‹ ±  3,    ” Å Cxw€ƒ{svwuy}~‚ƒ€}}wvy~€††ŽŽ’““””“’—•““–j"!# ‡››žžœžžžœ ¢…¡¡¢¡¥¡¦¤Ž¢¥¤¥¤¥‰2#.4›¦¥¨«�Œ )-3ò8877?+               B(!'F) Š¿ ?N", '-(       ˜ 4_\bc_WTWZ^Ìbc_^^ZVY_^^ddpnnqrqrppqtpooqFjvuxyxzyyzwyzz||}|{}|€}~|~~ƒ‚€€‚e!$*€†…†ˆ�©    $     Ù       ,.!   ¥       ¢    á !?>B>:513504688;:78=636==:@@JC>ADDA@AEC@>BB" IFBGHEHEDKHKKIKNMIINMPKLMSNNOPUSQSV@ "Y]`\_�þ658&!10?FGJOPRR8             %+%1 —   ß  -         #?wuƒ„€zppuwz{~ƒ„~}yª}~ƒ†ˆŽŽŒŽŒ“””“””““—u"#!‚œžž žœžž Ÿ¡Ÿ £¢ ‚¡ £’¥ ¢¤¢¢¤¥¥¤u3.8:™¨¨©�³ $).21487:=(     §         • $ +  ‘   ‰ þ %(.%        7]Yeb]VPRXY[[]^dd\_^\ZZ`^dfiqmimnkppqrqomnrM gwyy{zy¤vxy{vzxz}}|z{}|~~}}~~€€€P#%(/}‡‡ˆ‰�³  ""$     ‹ ™     ™        þ             (>;C:55125266:9?;7:<857;>@BELE>=<?A@AGC´?=@C) CGFIJHHEFKKHKJKPLIGLKIMMOQKNPPVTRUS2#!&\]a`a�þ "'#3(-ABLOOJK:             A 5"  þ   ,6 %2.*         !=sm€yyqpwxyz{€‚…‚vw|~}ª‚††‹Ž‘““–“’”“‘–‡%z™š˜˜œ›™žœžžŸ¡Ÿ ¡•¢ ¢¤¤¦¥£¤¢¦§¨{>23?©¨©¨�Ì  %$'2055755)          à   3 .      ·;4 %#"       Ú   2YQb`XVQRVWZXW]bd`]^YX[`_bfflmjiioqprqoomkr` _tutrwvtsywuwvwy{{zz{|}|}~Ž}~~‚‚ƒX(%%4‹†‡ˆ‡�Õ    !          ›   ³                      '<3A:2311305±:==<::5469;>@BHD?<9ABAAC?@><C6 @FCC@FFC@IGDFEEI™HHFJLMOOQPQQTOPTR3"*h^``\�´ 1(!%9 $<DHGKKN7!    œ       ¤<' 5I!   Î   D.S\:,!,%     ´   !Cup{€xynowyxzy‚ƒ„‚~wwx}~ƒ†ˆŒ’š‘”•’’‘’‘“‡'|–™–˜œ››œ›žœŸž ¡Ÿ¢¡ ¢¢¥¥¤¥¥£¦§§|G;7>§§¦§¨�Ô  . #2431678)*            —5$ -;…   ‘ ‰ Ÿ6!?L0'%   è      5\T_aXXPRWWXVV^bdda`ZZY__dghkollmpoqqpnmmlpccrtrrvuvvwuvxwyzy{{yx}‡~€€„ˆY-((4Ї†‡†�Ó  5(       ¤-# #         “  $+ ˆ    É  " (<4>=35./1.22399>?:955187;>BID=?@A@A@><«:?5 >AA??FFBCFDCEEHJFKICDKKONORQOQUSTWS8!„+f_]`Z� 4>?2!1 .:;EKMN3,        ñ       =          9`9G6@/2F9  ö         Mxv€‚|ukntw|}z‚‚€}y{y{~„†‡ŒŽ“”—“––•”“‘‘’“‹." l™›™š›œžžžžŸ¢ŸŸ  ¡Ÿ¡¢¢¤£¤¥¢£‹¦¥¢j>72O¥¢£¤¨�¬$ + *0.2747*5/     ¿           / Å        *L/=4>2/;0  Ï         7^[cb]WNQTV[[Ycabb`^[ZZ\`gghmloosprrppom‰pfRvvt‰uxyzyxyy|{†z{yz}}Ž€€„„N)(%>‡„……†�þ  @8(              #   ¸        %"  þ        *>7A>82,/12775<;>=9864366>@BJB=BEABA@A><;;?>  0ECB@CDFGIIGHINMKKJJFHJLOPOSPORQUXR/‡ /aY[[Y�È:CE/)#3MOMP0.'     ¦     ((    #/6;A5/"    @4 JUS>-)#,4683 Ê            [ys€~tnryx~z„ƒ‚|z~z„…‰Ž’“–£˜—•”““’™Œ-#%'\™š›šŸ¡ŸŸžŸ ¡£Ÿ¡¡ž’ž¡Ÿ¢¡§§ª«®_<F>i¤š“ކ�¬ %#'&7737%<;'   þ            $--/)$    /* 9FH;/010ú31/%            C_Xc`]UPQVU[ZYa_cdc][Y^Z`feimonnprprrpqonmtfEytsutwxy}zvyxz{||yz{y’z|z~ƒ„‰ˆC(0+R†~zwn�þ  !#GC6%              ±%!%"        #"„  Î        1@5>;81-042998<:?><873959B?CIG=ADC@BA˜?<:E>  "HBBCADGKNMHGFKN™JLKHIIKKLKPMTQS[\* &!;cXRNB�þ3>;- .FEHN1-)&             ,#    8ÎOSNKNL@7    %lY 1- 5#%( !:+     ï'1   ]ytƒ€vquwx~‚}€‚ƒ‚{x~{„€‡Œ‘’“–˜–••—“””•; %VŸ›š™œœœŸ ›™šš—›œ¥­°µ¸µ¯¤–ƒ€E7F@Dedeh� #  %3µ6$<:6$        Ê    &   -=B?9<:4+  í SH ,& <&)&!0       "(  J]Yf`\SPVVUZ[[_`add_YY^Y`ebgknmlorsqŽonnpg={tutv£uy{vvutxxtsuww…‡ŒŽŠˆ€unfa[+#/-5MLMQP�þ   "$IJ?.             %þ/52-.*)#      2/           4?9C<91/2339:8;:;><965<7;›=:@FF==@CDAADC@<<@=  #KCCB£HKLGCBDGIECABBKRU[[XWNLF?;: &#%-+*+,�þ8=:'   /(>DH/'')#             3  ‹#2;CD- ¨   JvJ     þ      (;8<   Xtr|xtuyy~ƒ€„€„ƒ~yx|z„‡„‡‰Œ‘•”–•”••—’’•–M#>—˜•˜š•‘Ž’ˆ›«¯«£¤ž“Ž}urgd]W]^cbbˆEADFOgikmn�þ"  +#115#3574*             +  Š(-42% ª    9]=      £       /22 àHYUb`\URWYW[`^_c`dc^WX[Wbgdfjllmqpqpqsrrmmqn00{rtrttpnkknf^vƒ…‚yzunk]POGE@;>?CGD*,-/;NPQRS�Ñ   =F?6/*        à     $%&&     7       þ       #"   <;7>=833445:<8;;7<<85799@?=AEA:=@?A@@DBB;<@= !M@ABCA<?:;?4-CKNMHGB:3+$$!‰"##%&,.1-0�þ ++'  '#?EED+               þ    (!?Pu9            %%(    Wup}wvv}z}{€ƒ|wvxz~‚‚†Ž‘’’’“’“‘‘“‘ŒF%"4’’—š™š‡{ngfYS^a]YSVRQPOVZZ^Z\^^_a`GFPMSdhhd�Ÿ   $ 22-1"  %# ¦      Ž   ô       .9Z1        !ë   BYSb_[VUX^Y[^Y^_`a_[VUWX_cadmmlnnmnqnqnmnmle.%sotxxwdZPFI>:HGHA9;88:7;><;=@@AAEC,.85;INNL�þ      '+               ¶    7     þ         8:2<;<546648:58698;85337@=<AJ?;@?=>A=@=<=;<6 E=AGIB3,"!!!ˆ#)'',..)�¤ *##  5EHC, ±       ì   >K/1     +2BG<901.  &16GuE $#       ‚ ï!"  `tq‚~vty~~~z}„†€|vsy{}‡Š‘—––ŽŠ‹Œ™œœ¡d#!+|meXLE>?ADFFJJNMQNMPPXTY\\WXV[\ZYWFGSRYbcgkh�¤    ,520#þ        &    CJ&!   '))+$#$' $'4Y< #…* Ÿ         ž   J[Xfb]XW\_^ÎY[adb`]WTXY_bahjorsrmljjkjluyzJ"h^ZMA;6/20024477;86;:?:<AA;>==CA@=,/==AJJNSP�’      þ             &,    " 8 œ    ƒ   ‚ ï  582>9:549858:74:=::75103=?;CEA?DB;<98:9:CGIO( =-& %,,*+),/.�Á*,/"?zr/?IH&    Ÿ        ®   9L+  /\cihclB!’#//45Iz3 6.ø  %?5!    $  cssƒ„yxqw~z}~z}€‚€}xu}|~„ƒ†‰¤´²­¨¢˜”Œ}n`PAF4 %/514;;=@EDEEGHJLMJ–OOMPTWUZY\emc[@BE;_pqut�  4lh(242„þ            )3  $DJKHJS4 !'&4\& !) þ     "=5     NZXfdZZSY^Y]]Y]^`a_[YV\Y\cdiiƒ”‹‡‚}{sj_TE::((0.*),0042/030455118;:”87<;9=;@LSF@+*0.IWWZZY�œ  CL   À            Ä  ! &##$&-  > „ ï  -)      684B=6759;3796689=:764527A@EFZgd_XTQNHC61(   ˜)/%&!%$043667�Ÿ $$W†R),+GZMG þ              8 # (, #;A?7;)    1,  #+-15L4û /K #)   '   "ept‚€yxrrws}~x}€ƒƒ€{uv{|}„€…ŒkIJ=@<3'(&+--16-%(/46788:? @BA?BKIJQPSY]__`_dcdghjV=?==`ttxw{�œ KsL"'#6C51†ª           ¢  8 " "" ),'%  É"   $&6a" $3   "(    ž "   QWZe_XZUÑR[\X^`bb`[WVZ]]cagmV@C531)#!'!"&% !$((#(-,.,+..*/2/1279AEBCA?DCJLMN:&)-.HZZ^]a�Ÿ $HB(  †  þ   #            !B  þ  $      969D957665/684;=;?;:75867A=CK9/*   — #!$#%)+*# $#/86;9;�þ  ##GP54@BEAH"            B !! )<@G@<& Á%>     #("1;S|MKL#   !ô      % `rw‚|vuknos~}{}~€€zywtwy„†‰T)+-/-1,0--10//+'!#")/35377=@BHFGMMSVU[[V]fdfcghhlkmp\5…Ckww€�§ ?K.-3//+2‚þ         E  ().&#  $7"(<a: 64ô      " OW\e^UVNQOQ[\Z\]^_YZYVX\`cijl9" "! !&"! $(%*+,/-1337Š:=@A;BIHJDJPOPQ>!$)1T[]gfe�þ  (0               &     Ì)    %?       Ö      78=C745.2-.774:9:=587367:?@BG   ˜ "''(%$&&*,,*"$&6;:C@?�œ $%%-&,9;@?<E&§   ‹  „à   1$$8- $8C>-* 5†v     3 "/:VyQ4+!ENL'    µ    %fvw€~yulott{zuz|€yx¡}‚„‡‡`1-/++-)*))+1-1/,&#):89:<?E JNLPSZYUY\]fgegilknmont_7:7Im||z€�© "(2/0*'0¯        þ  4'!;2 #(*  4yj   '!'?_=( 022         Ô! PYZb_WUMMSUXYTWY\^VVXWY_bafgoC!"$##%"$,,)+0.122499<::>@CDBHIJLINNO‹PUD$''2Uaa`ed�˜   «    õ     !    L;     ! '=    ý      ;:=B944+.//55/25983432468:@>E       !%&'(&'))+/+,# "'8?=<?@�œ *496$.E@>?;>C  …        ?#é3<2(.! "?/E,  *=# /\=')8PzQ8 )$AIPS "  æ  + gtv„~tskptuvzvy}}~xtvwz„††‹S,+,),-+,2//2454()#+<>@CBFJLNMMOUZ[]^][hidgllmpqtrsw\:3?Lyz}~�ƒ ž  &85.1/)0 ƒ†  ¥         û  3#(!$ >8K6  ' "J/':`=*&+4;      á# TX[h]RRKKPSQVTVY[^^WSRW\`ccdjC %&!##&'$!,/-,2357868<<B@CFDCJKIMQLNSRWTVXC$!*4^_bddb�þ                #     ô     ;(  %@      # 99;E931),/.46/26š95.0225<A>C    ¬   !! &(%'*()++1010$!'?<>?>�þ *1),$# :]V=>89C              \)$7@>54* &Yu?þF!0H  *L6?A_R8%%8KyJ; 6EJQP   $ %     +estƒ~xslsvwxxvw~|}xwwy{|¢„W012.3112723688:! ,?>CFDILMRT\]]_]__fgdimnpqqpruyS89ALy€|�þ  .HB*,*(.                Q&#%" EfBþM')?  2% &&E@+ $6_9+ #)/46    %    # MUYf]UOJPRTSTUVZZ^^WVVZ[[Œ_a^m>"  #'$³"%$"' +0/,1478::;:@DCDECBIJHNOMOSSTSVZ8#&+6]bdbdc�þ   )'         ?    "<þ'#  26% "A            779C940*00/55.17579400445™;@;E     ™#!$" &(&()**+,0Š4 "&=>@;>=�´  %4/2((%&7;;>;;A   ª        ö   0>IHB13*–g-H? &<?JE]W=#*;Y~6- (B@HKO #*,=B.(#%$"     ¬ -mux…zupvyz|{yz~}}~zww{y~…‡ŒR455253458²;;=A$! !,B@CGJOOPNRVZ_]_aacegknmnquurtwwvF+7?Iz‚‚€~€�Ž  !!#*+þ)),             &,*# 1 'ƒX /,&Ç&.+EC/$?c)"-%/.5 $'39()(&     ’  & TVYd_XNNWÐZYYZ]Y\\XVXZY]_dgj6'(#$))'))&,)%, 02213:978;=@CBDFFCFILQPQPRWTTUVV+%*5_feedf�þ               þT5   0;)&C   (,        "=:=B84/-34132129556500348Œ<CBD   –   "‰#""%&(,*),+.Š2 #>A@><=�¦  2.. *."7:=66<   ‘    þ     ,$%<?7-,# !|…#-FI>?IMJK`Q?"&4Gd„VG?Ztˆ•¦ž°¹ÄÈÒÒÔÒÚÎt%('¯!*          mxw‚‚wuox—~|}|~~}xx}}y€ˆ‰U;7556¶98;<>><A*' -CDEGKQTRRSY_c_afdfgigonqmtstxy{t9.?BRƒ‚€�—  ' '+,('* ‹  þ         +! $% lq   /1(*00,.G</&/JgD:5J[eluƒ†š¥§°›´®¯¶«a! .3   ã     X\XcaUOOXXW\Y][^Z[\VV\\Y`ahhl7$'&+-*(&+/-2-(+ -1.16=;89;?AFDFHEFILLPQROUV‰Y\Q +-=dfeh�¾             ‡¢     „ ø CI 21' .F**,7@HNV]qƒ“•˜ž¥ ¤œW          @?=A<41.34254‘;76531563=?GCD ·   %!!%$&&'$*+,,0--026/# (?A@>=>�¦0('+.;;955?  þ          (6U2 :E/*- $'=u{" *R\Y`bfmoxyw‚†‰– ¯¿ÅÊÑ×Óׯ¼°¯¡þš”taYKG<OºÚx*!&7)-       ! fxz……{tpwx{~|~~€~~zxz{{„…‰ˆŽS8597678;<;<><=@'!ACEIOTRTQUX]`cbef˜hillnponquwwz{q<:@EV€‚„‚�—('+,*(- Œ þ            *9M2 $+  "%#9fg !9A@HDKNUga`emru}…’Ÿ¥¥ª±¸¸§Ÿ˜•Œ¡ƒ|jaSMD?5E¸b$3 13   ‘    Œ Q]]gcYSRX[ËZ`]^^[\XY\\Ycejgl<&)(/0.+(-0/3-.+ .3.39=:<<>>BDJHIFILPOORPQTXXWX]Q$&*/Dehgi�„  —  …  þ          (   == #%%)+-24LMKOXZ_bgr{„Œ“˜™‹„|þvnfYLE>7.=‘ªV           <??C=5203556564695453565@BFCB  $%#%%˜&'&&*,,-/..047,!!->?@>=B�Ó  6+*"!04399<          „  þ &2;$    "0A7-<8 (?PLR`›¨¯‰‘¨²ºÅÏɾº²±«²©¡•€tkYTB94, #%$+7:" Â8(3o         hs}‚|vpxš€~z|~€~{vt|{ƒ…ŠŠŽR8;97;77<³>B><>,!CAIISSRTTWY\`acighknppqrqqwvx{zk813=W„„ƒ�—  #(%*'+   þ          '6@'   $#& "<IGKSˆŽ‘s{‘¤°²°§£›™“—Œˆ‚†||tk_UM=3*#  â"(02Œ£/#/h      RX`c_[URXYW]\[]]^\ZZWU\Vbeijl=).)+-/-+*//-*­ /2359::=>>A@BEIMHJLPQSRSTSYXVY]H!)Bhdeh�þ                        8LGM¥Morzhm‡—š¡ž¦–ކ€ƒ‰€sx‚}{ocZNF6,! þ #,-ˆ$$J       <9A@754/3315754787252253?CCED    $%&…(%&'(+’,//21/38+!/B?AA@A� 1*( ')447þ       4 7bthHJ>';@I?09+Y½ÍÍúµªœœ‰‚wpfUJ:51,$  +?H´R\kt{‚Ž—™¤ªµº¼ÆÐÔ®>ÞA!#   3:$š  $lv{ƒtsz{|€}Ë€zyy{y‚…†‰ŒM7467;;9<?>?@>BB*" BENMRSSWX[[`]bahhmolqrrsrtwuvxxm63.3e„ƒ…„‡†�   "!%(*†ì          0 5Zn`GKC$&*$"N¢¼¾µ²§ž’|ujcYKB940+"  þ $/7ENY_gmvw~ƒŒ™ ¥­°“7¹4"      08!  U[]ca\RSZZY]^\][\\]YWVYVaffhk>0-*,-.,/,/,++,0 /¨58:9:<=>?AD?DIKLOQPTUSWVTXVTY\M $Oiggilk�    þ     & D\C! Gµ½±³¤–ŒwnjeWG:92.( &-þ;CNPX`fkqw‚…•”—¢¥Š0£)     $  >:=>981/3534567987432241=A@CB ¡ # #%'),,(..)+/120,/4.5BADBDC�— ?.4( #""15þ         7';Ÿ›whc[ 29D;+2&Tá…#  #18@OURZbfihot‚ŒŸž©°¹ÃÈÇÔÅËÎÒ×ÖÓØÕÐÏÐÊÎÍËÊËÉÇÉÚg"Ñ; -I    4@#    # jwxƒ‡‚vtx}}€~|…}}y{|dž‰‰<$!)0<<=@?@@?A>D-!$CKMLPSUY[\_bddcfeimnppvwtsxsw{}f/528i~€‚„‚„�— (  ')þ         0%8m`}]O #*% G¿}"  !*/7AHJORVYZ^aozƒˆ“‡›¢¦¦£¨«¯ž­±°¬«­ª­ª«ªª©¨ª´U«))@‘  2@# œ  Q\Z`d^UTY[Z\[]ZX\YX®Zcfdik4'##*2503,.,+1-3!37678;==?>BFDCHIJLPS“WYVUXUW]aI" %Qddfjhk�—       þ        (  "gsK3F5@   :µz# &'2:ACHKOUUYZelovrr}…ŠþŠ“˜•–”šœ˜™˜–™—˜””˜•˜¦N‘! 1    ('   797?;91/4854176464654255>@?DA   …!#&)•-*+././,.38,5<>ABAE�þ 3..)   )9        $ /u•L 3€ -9DF.,5²NŒ˜™°œ¢¤©·¸ÀÂÇÉÏÏÍÎÎÏÌÇÂÁÀ¿¾À¾½½¾½¿¿À¿ÀÄÃÁÅÆÅÅÈÆÉÉÇÉÈǾÌv&×:%   '   " osv…„usv}}zÌy}~|yxv~}„‡‡ŠŠ5,@BADCB>A1(@GNPSTXXY__ceedfemlkmmrywwxsyz}`.)26k€‚„†‚�¨ % %,  ù       5m…F 2t #*+%“wHzƒ„…ŒŽ‘œ¢¤¥¨­¯­¬«­«©¢¡  Ÿ ž›žž  ¡¤£¢¥¦Ü©©«©©ª¨§©©¬[±,"  ( XX[ea\RTW\[\XYUTY[ZYXU[]dhfkm1¸*6011/1.3+24889=?@BCCGEDIIJORPPOU[WWYVY\`C"&Sdgehli�š       ý        % >S& ^ |pBdjnr~ŒŽ•‘Œ’—™••–——‘Šˆ„ƒ†ƒ…„††‰‹ŽÝ’’“—“•“’”–—šS•  !  =68>87/.0543/52033454.37>@?FB‡ ‚ ª !$%#$)(')&)./-0-136'4>A;?DF�ú K4$ %7         , ^g8#  D%:KN98U½2EÑ‚ÍÊƆÅÅÃÂÀ¿¾ˆ½¾»¹º»ºº¹´¸»º»½¿À¿ÃÆÃÅÆÆÇÇÊÉÊÈÉÉÈÊÉÉÊz%×BB  ¾ "   *!pqvƒrqt{€€|}yy~€}zyw|~„„‡‰‰0 ;BEHC¯G9"$>MORTTXY[`aeigfjikmpqpsyx{zsvya5'6Ht‚†‡�ž 6  $.*'ï        ,  ^a2 !>&00 ">*=µ²±¯¬ª§¦§¥¥¤¥¤ ¡  Ÿ  Ÿœ­›œœš›šœž ¡¡¤¥¤¥¥¦¨§ª©ª©ªª©ªª«ªa²3<ú !%  ' WTZe^\NPT\^_XYUUZ\\YYU\^cdhlh* 51494119./889;A@?BCHHLKJLKMTSSPVZY\^WX\aB&4[effjlg�Þ            ) þ3G  * %…%9¥›š˜”—•‘‘‘‘ŽŽŠŒ‰ˆˆŠŠ‡…„…‚‚€„‰Š‰ˆŒŒ‘’’“”—“––“–—›—T˜!.    £ " =5:>56--.454132136554067:>BF>¹  ! "%&%%&),-+),//04/236#!:@B?BDC�ü:'' *!+7  '        +    .@TRC>O¾ ‰ÉÂëÂÄÂÂÄÁÀ¿À¿Á¿¿À½º¼»ºº·º»º»¸¼¾¾ÀÁÄÄÃÆÅÆÇÈÈÌËÊÈÂÉÊÊÌ)ÑE (       + qux„€vru{y~}{Ç|~|{yx}~ƒ„‡‰‹@ 9BCDACCJ< !9ILPSUUY]b`bddehjlmpquvw||~yy|]B=;D|‚‡ˆƒ�þ &  .$)3    4,&"          *   '50!7œx«§¦¦¡¥¦¤¥¥¤¥¤¥¤£¢¢  ¡ žœœžšœ›œšŸ ¡£¤ƒ¥¥¦§ ©«ª©©ª«¬¬«d«3 " ¤ $YVYd_]QOQ[V\YVËW\\YWV^_cdgkh6 23352-/8-(469;?@?@AEFIJIJKKPQSUUW^]_[[_b<(&&1afgfkni�þ                )    ! $ˆ l–•“’—“’‘“‘ŒŠŠ‰‹‡…„†‡„솅…ˆŠ‹Š‹‘‘’‘‘“–•”••˜šš–S•#      " A7:>75/.0614324236641398<>CD;·   "#%%$&'(.-+,..3492479  "??B@DFB�û !%  -   ,0O       +   )<VH65UÈœÇÅ’ÄÃÃÄÃÂÄÁÂÁÂÁÁÀÁÁÀ¿¼ù½¹¼¼»¼»¼¿¿ÀÂÅÅÄÆÇÉÉÊÊÉÈÉÈÉÊÈÉÊÊz'×=       .'suz‚ƒ€sox~yzz~~}{z}|ƒ…†ŠŽ7  2D?FB¯C>($!@KMPWWU\[dbeefehiknpqpwxz|€|z~‚[JFFI€‚…ƒ‡†�Þ    !%0    !GK`&         &þ   &6+# 7§‡ª©¨¨¦¥¦¥¥£¥¤¥¤¥£¢¡¢¤¢¡žžœžœ›¡¢¢£¤¤¥¦§¨©¨©©ª«©©ª«ª«¬e±-     ¹&XX]b_`NOU]U[\WVYY[ZYW\_^ddejo9  ,830/012-.799>¢C@EGIIJIJKINQRQUX]^`^\ad=.,+3fgjhikh�þ         -      ! # #–x•˜”“¾“”’‘’‘‘Ž‹ŒŽ‰……‡‹ƒ†…„‡‡†ˆ‹Œ‹’’“’“‘•—•“–™˜˜–Z” ‰  ·   ! ;7<<88-/370573433464/498>=@DCš   ! ##&%'—+,*,//16:559<"! A?A?DD?�Ü$  , "H0+)        "(31"('2I=1/ZǯÅÄÆ‚ÄÄÅþÄÃÂÁÁÂÀÃÀ¿ÂÁ¿Ã½¼º½¼¼½½ÁÌÐÎÒÐÊÈÇÈÈÇÊÈÉÊËÉÊÊÉÉÊÍu!Ô8 !$L$   -,srz……pmvywz}vwz{~zwz}~„‰ˆŠ~¼  %.8BA@B?("!@LNSUSTVZbafgjpglkkouttxy|~}~€JPRKW…„ƒ„…†‚�Ê    *  &U;CF2     ­     "".&<¡‰¨Ö§¦¥¥¦¨§¥¥¤¥¥¤¡¤¡¢£¢¢¥ žœžžŸŸ¤±º¶»´¨§§¨¨§©¨ªª«¨ªª«©ª¬b®0 A    % "ZW]db^NNVVSWZTUWY[ZVX]^_fhfja  !,01102-.;;<@ FGJJLSKNLNPUUVVZ\^``ba/65.?kighjk�„  Õ  *       þ    %“n’•–‘““‘’••‘‘‘Œ‘Š‹„……ˆ‡‰£®¬®§“‘’“”’‘–—™•”—š—™š[‘$< "  ”"86==88.05402712¶6521479BC?D:   "#&').(**,+./‘49988;=%&(EC@?DFE�Ú 05&# %3   W#          Ñ D=.+9:0*/2.0*625669aÆ »ÅÃÅÄÆÆÅÃÅÆÅÃÆÂÉÌÅÂÁÁÂÁ¬¤±¾»½¼¼¾Ã»r607}ÃÉÅÆÉÉÈÉÉËÎÊÉËÊþÎu)Ù4$.…v­*   . -tqw†‚}ujuvvz{xy}zyyvy{~}ƒ†‡ˆ&   :DBB>%">MQSTTVZ\]`dfgkljkkoxqsxwz}~xEI[Naƒƒ„„‡{X�þ !   !*    Z3            ?6* #!$ #$ ! C¡—¨§¨¦Ç¦¨¥¥§§¥¤¦¦«¬§£¡£¢¡•”š œžŸ£¡j3.6v¨©¦¦¨¨§¨ªª­ª©««ªª¬\²&#+ti¡$   „®' ![TZg^ZSKSRRXWTVZ[XYUY[_\dfeg`! 34®-,;>=<<@@ECFIIJMOLNQQZTWVWY]^`bX)/;2KhghilbK�ê          5       :&    ×  /“{“”—””“Ž“’ŽŒ‘‘žŸ˜‰‹Œˆ‰ˆ‡„…‰ˆŽ”h4-5s˜‘“”’’–•š–”˜š—™›V™! VF“$  ¤  $ ;48?530-1Ð5511443302268@EB?:   !"&%')('),*2.0/2597796* /AB@BF=0�œ  02"  $02   ² *     ©/ &w¢E 6@90)/11008;EB-)RƹÅÄÈÆÑÅÃÆÆÅÅÆÂnBzÏÀ½Ã»8 y½»¿¾½ÁÁ8FÓËÆÇÇÊÌÈËÊÌËËÊÉÊÌy'ÛA H, C    Ÿ  # (tv{„ƒ{tktuuwyy}‚{Èyzy}z€…Š€)  0DHI>$$**@QNOUSY[^^cfhfknlomrsqvwy{z|‚vX`aVm‚€‚q'�þ    %)' " )          + )k‹: %(%$!$"$ %##*$?¡˜©§©¨—¨¦¤¤¦§¥¥¦£\=o­ ž£œ+f žŸ‹¡ 1B³©¦«¨ª¨ªª«©««ª¬ª]²,@+ >   ê   ![X\daZSMSPQTTUZ^[YXVYY`[abbg`&  1985-.>;8<:>CGBFIMKNQNRRUVTYXXY\]_`U9?<5WfhdegX"�Ñ               …" êK`!    )Œƒ””—””ŒŽ‘ŽP7h—ˆ…Œ‡& WŠˆ‡ˆˆ‡‹,>¤’’““–•””š™–™—O—' - »     <68?72-)--.11026431/0/75:@==4 ²  ! "%&&('&))*0+0.1142670$,* 6?A=@A3�þ# )&   %'7  I?        bµ†(682-*.*/02?>G;&#WǯÆÇÇÅƒÅÆÇÅþÂÃÆP ±ÄÁÂÁG¾¼¾½¾¾V SmE kÍÈÇÉÊËÇÌËÊËÍÊÊÈÊ'ÖD      ,rv|ƒˆ~qmsrutwwz||{|}x{{‡‹! » /?FGA+#( 3KMPVWX[^`bflfjmknpqttu|y{yz€€n]di_m‚ƒF�¦ "%>H> ×       Y¤y#'(%$!%&&$$'&.%B ©¨¨§¨§¦¤£¦¦= ™¥£¤£9 j žŸŸ žELf? \¬¨§§¨©§«­ª­ª«©©c±1  â $ZY_df^RPSOQRRVW[\YY[[X\[bcej`  &3643,%<;;<??DEBDIPKNPOSRQVWW\YZ\]`]N>?B=Veeddeh;�¯      ?-    þ     Cf     *‘”‘•‘“’‘Ž‹2 †‹Ž2_†‡‡ˆˆƒ= Ia< T–Ž’’‘˜—”’™˜•–“’Mš     Ò ;7;>>6,+.,-/0-06411/11839>>?5  #! #)'(('(++.,/71054*&.-'6>><=>:�þ" -#!!  1/U'  Y&         ]«a   891--.+,0*5KL3/+\Ç «ÅÈÈũůÇÄÃÅÅÃÃÇP ZÍÂÁÄK†¾½¾½¾¡!xÍÑÒ_ '¾ÈÈÉÊÉ‚ÊÊËþÉË„(Ú>         2yv{†‰„srvrttstw|zyzwzy{z‚‡Šx  0DEF@)%%,GNPWXY[]affhkiklssqstuxz{zz}}dYbf`r€ƒ€v@�¥   +0Y6 X*‘    „  ³  N˜['(%$$ 01>¢‹¨­§§¦§§¦¦¤£¦©= M®£¢¥? i žŸžŸˆl°³³Q#ž¨§¨©©¨ª«•¨ªj³/  ‰ …à%^X\fgcSTVPRROSUWYXXVYYXX`dgla   $7732+ 5::?A>?ADHIKNKKMTROSSTVZXY[\[F:=?=Xddfbd\5�þ      : D      !  -rP     %z”’‘þ“’“ދޕ: F™‹Š4_ˆ‡ˆ†ˆwf¤§¤J Ž•’‘—™•’”––‘”Y      A8;AA;/21+//-,03320.1574;Â<@B7  "!$#'*''(,,-.,/4300164&"*-+9@=?<=2�Ù$ !!# #$  /5 _K          ÐC(  671*../21'&678;;eÅ µÅÃÉÇÉÈÅÅÄÅÆÆÅÈF ÇļB‹¾½¾¾ÆVoÒÅÆÉÈ<  ÉÉÈÊÊËÌÌÊÌþÊËÎ|*Û. /Q86$    # 7|uz‡‡…yswxxw|zz~{w}yxy}}ƒ…ˆ‹t  EHGC=&$'GKOSW[]]abeklrolnpsqvuv‘xz}z|{[Z\NY}€€‰‰ž�þ  ,9'/((SD           :% &!#""! #%C¡’§§¨§†ª§¥¨¦§¦Œ¨:  s©£ž:jŸ• §M Z°¥¦©¨1†§¨¨©«ªª¬«œª©¬eµ$ 'A54#  „Õ  +aY[ffdYUWVTUYZWZWV[VTUXZceim] 3F934.889>A@BCEEINNQOLOTSOU‘ZYZY[[>:8,<`cfedlq‹�‹  à   7-           ì "     '“}’“—“‘Ž˜7 f”ŒŠ4RˆˆŠ‰FQœŽ‘’™.s‘•“‘‘””“•–•’—]Ÿ $7*'  ©  @9;A><4430„31332È312459;@E;    "$#(())()*,*-.1431056"#$%:9<>??Bb�®! *7-(#  ,O  5 3Ÿ\a    õ  (360(.//-0,.ALHIEfǺÅÈÊÇÈÈÇÆÇÇÆÇÆÆC' +»ÅÂ7“À¾¿¼Ä4«ÌÆÇÇÐU ˆÌÉÉÊýÏÎÌÌËÌÊËÎv&ß7 %#"   " ;{u|‡ˆ‚xswvxy|}‚€|€|y{{€ƒ„‹Šs GKEC=$+JKTTVZ\]aejgknnqs„tvuuyˆ{|zRSWOd„ƒˆ �£  *•\ *F"5–Zc­      «&  ("&'$%#*0*/,F¢˜¦¨ª§©¨§¦§Â¦¦8 " )¡¥¢.s£Ÿ¡Ÿ©* Žª¦§§®Brª¨©¨©©«¬««ª«ªª¬b¶) ##' ¶  2b[^ffbXUWUVX][Z^]Z_[WXY_bchl_#£':H835/ 9:@ACBCEFHMKOOQRUUTTW‹]ZW\]Z9853Ihƒfeo}�þ  lC ! n.4       )€•–’§•““–6 ! 'šŽ* W‹‰‰–-}‘Ž‘‘™=Z‘’±‘’‘’”’”“”—Y¤% "   Ä $A;;?<9323//16256625523478;A@:     " #&'&)˜,+*+/.0550236 $",>=?@>BM^�ª/<4,$& 9R2  bÈ3 Ó   2. 14.)*-+*1/=DLB?4eÈ·ÆÇÉÉÈÈÆÅþÃÅL¨8MÒÂ6’À¾»Ã¸%ÊÇÆÈÈÒ[ oÍÉÊÌÇÌÎÍÍÌËËÊÌÏz.Þ=     ! D}w€‰‡~slnrwwyy€ƒ‚€|wz|{€„‰Šp Ÿ  :GHE< !/JLRSXX\Y]adfloqu”qwwuwzy|pGAEIh†…€~yl�Ø!# BP0 !^¶…A     …1(›$"!"!'.1$#K¢—¨¨©©¨§×¦§¨§¦¤8 /D±¢+s¡ŸŸ£œ ®§¦§¨°K _¬©ª©¦ª­¬««­¬«¬­_!·&    ß7d[cgf]RKMQVWWX]`_[^[UY\Y`agiV  9445. #99=>?>BBDGGJOQPOTVUWSUXUW[Z[O.+*.Nihfecb[_�þ    0'  6€N         2’„’””“®’‘‘Ž’’•9*>›)`ŒŠ‹‰#˜ŽŽ‘“žG I’”–’Œ’“”“¬”™šT !       É 1F<>>=6-+,033228963561476=>EA2  !"##&++**+-.02323.0??=>=926�þ# 0=5*" 71&:%v¡ŽD         C/7/#'.++0-0FQD:,^Ê ¶ÆÆÈÆ­ÊÇÅÆÅÇÆÅÅÈR¯• ®ÊBÀ¡=…¸*ÇÅÆÉÉÐj iÍÉÊËÊÍËÍÌþËÉÊÏ~'Ý; *#        #D|yˆˆyopvxuzz~„|zuyvw‡ˆq   8GGCC'+KMRSUX^]_cefmmnlptwut{’xwy{~~i@.2>k†…€~|tT�¨ !  G1.K%i‘B  ­       „8œ! .6'!G¤˜©¨¨§©§¦§Ï¨¦§¦; ‘~ ˜§0 q¡†1j— ­¥¦¨©®M\­¨©ª©¬­®ª«­¬«¬­cµ(&#   †ß5a[cff`UMOTVSWW[^`ZWWRXTU]_egS65431 ;:=;<?CCEJKJNMNKRVXUVZXUW[_]F&(Riiefdb\F�þ   !% 9WO-         &     2’‡‘’‘þ““’‘“‘‘’7~p ‹”/cŒq*Yƒ$Ÿ’”›D R•“”“”““•”“–—˜—Rš         .D;?=A:/+-14123697323/424;¾<CB1    #$%$%+*+(+00-25/01433)3@>=:5%�Ò#$9J:+% )50 eªWWH      þ ! 23,!#/..3)03&/3aͳÉÅÉÉËÇÆÈÇÇÆÇÆÉP§ÖJ8Ç@ÃrX»'ÁÇÆÆÇÐ]}ËÈÈËÌÏÍÌÍÏÌÎËÊÍ„(Ø;&$     ™ &Azw†‡€xssw´y|„…~{wtvyz~…‡ˆt'   &FJGCF0" .JOOQQW]^_gghkn˜ossuvxxz{{|~g5$-5o‚„ƒ~}utf�Ò !) # )>4 vbšW SG      ® G§‘ª¨ª©©§¦§¨§¡; ‰µ>1¥1n£Z :œ £¦§§¨¯Jl«¨¨««­¬¨®¬®¬««iµ-$!  Á 6`W_dd]TMQUSRWV\bb[XUQUUX[degU" )6B<7317:;£?ABEMLNLMMOQVTUVVYVX[]^D#Ufhfdb[YM�ª     Q5[/>D Æ           ³-’‘’“”‘Ž’“’“’6 w¡7-›2_ŽI)‡•“™C a”’’••–•þ–“š˜–•W—        '@7=>?:0-/100256:9531/2117?AB/   $(%&')+*,2*+”/1/23313)3?<><;21,�¨ ;UG1$$ PU`qE#v•4-Ó      10+(()2*&75.9Ag̸ÉÊÉÈÉÈÇŸÊM¦Ê­z<˜Ã²r¦Æ+ ²ÍÈÇÈÑE œÏËÌÎÌÎÍÍËÍËËÐ'ÖA    õ # D{tŠ…wsoswvvx{}‚|{ywuy}€ƒ…ˆu/ ,E@DCC.*KQOTXY^abacglqnnqtrqywvtwy|~S+?.Ax‚|yuf�× &5(   DV`lN$$p@,     ƒš $$*Hª–©¬ª©¨§¥©= „ª‘n7q£”U…¦" •«¨¨ª²;„¬ª«­­««­«¬‘«ª­n²3   ˆŒ  á9cW`jdXQLQUTSUY\^_Z[YWTWY^acg[.  #4=79447=9<@?BDFIJOORPRTWQTZVWSUY\^83 ,[effca_[M�¨    $106%Cf** ©     þ     ,•‘••”“”’‘“‘’’•: p”„m8e‘@k" †—‘“–¢8t–””™™–”–”“”–“—™`š(     ¸)A5=B=50-12/0176774542/338<>B3 ­   #%$$)*++*,/+,10.-2114!,5<;>=<6/(�´ /ED3%$$Jn>L]V_g*Ÿ¨ISs< Ê    10%&#-1557<H@kË ½ÈÉÆÉÇÉÇÊÈœÆK§ÆÒz  ˜ÃÂÊÈÏB vÓÈÇͳ#ÀÌ ÎËÌËÎÍÍÏÎÌËÐ|(Ú* Ô  %J|w‚‰„ywotwuux{|€}}{xvz~ƒ†‹i    .=8CE)*MRTV]a`až`dhmkimorosvvtov{v770M€ƒƒ„€}~‚�ý))KqITj+U`n0“EPk@      #" # %#".+J¥—¨ª¨©þ¦©§¨©¨¨§< „§°g u£¡¦¦«8 g±¨©¯žªª¬®ª©ª¬««®¬­«®d³#     @c\cjd[VNSUTTV]\^_]^[XTX\dfi¦oR +5656"<@<?BEEGFHILLOP—RRSVWVSQV]W$,$9bhgjcceqn�‘   í #E 3%0>nw6AQ*         ,’€“’”“’‘’‘æ’“—< m”Ÿ^ cŽŠ“1 b¢’”˜‹•“–œ•“’•–“——”•˜Z¥"   .C:?C?84.1„02985¨871.47:<AK1    $!#)š+))+,-0//+,.32)$9<=B>=6.,�ú  7LH0!  CN26&Ayh\„¬‚¡ÅzUhSA        0. &!(%&%.+mÇ»ÉÖËÈÉÉÈÉÉÈÉLªÆÈÚ3 !—ÄÂÃÃÊ…˜ÙÙ¹7hÏËÎËÌÌÐÎÍÐÏÐÏÎÏÏw)ß/     œ   Kv‚†ƒ}vqqxwruvx{}|±yxz|~„‡Œc     .B,&JMPSW\\^dcceinpommt“xywvw|i3,(`‚‚{|…z|�Ö %/(  GQ=F>Bxi[~Ÿ“¿~YfN>        ‚—" L¤›¨©‚ª¨©¦¨©¨:‹©©´- x¥£¤¤©p „·¸¡4X¬ª¬««ª¬¬ª­–¬®] ·     Š À <e[bgaZRORSTQRWWY[[^\YUX[_dgnM     )2;¥<>CEDGIJKLPSVOPWXUYYVUX]H!Kfdggacpsw�þ       %1':63LdJ[‡W2L@6           5‘„‘“‘’“þ’””’’”›>w—–¥) cŽ‹”e‡®°¡2P™—–”™“••”˜—™š——™V£         2E:?B;63/.02/043147:820487:BLˆ-Ÿ  " %%&()+--)+.0’1.//2*0;:<@<;,�þ .JH4,"# ,*­~qY¬z}™xb‡”¡n        /2 &!#+"' (+dÊ ¼ÉÉÊɆËËÉÉÊÉÈþËM§ÊÈЩ”ÃÃÀÂÆÄH CHÀÏËÎËÍËÏÐÎÑÐÐÎÍÍÑw'Þ7        "J~w‚†„yqmnxxrwuw}~|z}}wvz~…ˆŠh  ¹    <C/ #HLOUW]ccfeeillrsonxvsvyzxy}g=#:=r‚|{…}a�Ö  -)  .,@9¤|q[¤zzxdˆ†Žši          ‡ž !  M¥¨¨©©ªª¨¨©¦§©©= ‹¬©¬Ž y¥¤¢¤§£:<@¥¬«­©ªª«¬¬®þ¬­«®]º(   =cYdeaUPNOSSNPRTYZ[Z[\UVY_cfkN   64 :99=@DHGJKHLONTWOO\YVY’\ZWZ[F#(&Xffecbaoue�Á   jB=-fF@TE5JJZnV –     Ž     þ  6…“•’‘“’‘“”’’™:zš–˜hˆŒ’“6 :@—™––‘•’•—”˜˜™˜••—Q¤      /@8>@80/,-™10-100157464.156<DD&   ƒ#$#&()',-*)01.010022)589;;:7)�Ù )TE/(($€C#*UWSxcnot‰‚ggK"        ¥ 12& " &*)!$%'/5aʺÉÈÉÉËÉÉÊËÉÏL ¤ÊÍÍÖt ŽÄÃÀÃÅÍÁ< ,¡ÙΊÍÌÌÍÏÎÏÎÐÎÐÏ€'Ù1    I~xƒƒupgmzxryvx~|{}y|zx|}„Œ‹h º !5G1#"MORUY_dceghigkkmpsuvotvwt{{Y84?Cz‚upgzxvtT�à $6'  ()R:@\_^|hpmq‚~igN%        Ø %& #I£—¨§©ªª¨©©¨¨©ªª«;ˆª¬¬²c t¥¥¡¤¦« 2*‰µ­¬¬ªª­«¬®®­­«­®°f», ˆ ß     =cWec]RQJPXTNVUW\ZY[UYYXY]dilR   #2;)=:<?CEHIIMJLLNMPTUXYSXV]Z9##)/`icZTd__eT�þ I$%((DF0628ID12'               3“ ‰”‘“”ž“‘’”’”’’•3 w——˜žX fއ‘–*©$£™–—”“’“––˜˜™••––P¡   ¾   -@6?=3,,'+41,1024463001233=CC'•   ##"$(&'&˜*+./)-/-/2/471/*71+'�à GC3%! n-Py)*U:EpC18M_ptoyµk       š 63(-+)-3.01cÊ »ÈÉÊÈ‚ÊËÊ‘ËÉÍI›ËÊÊÎÌ?+“ÆÅÃÇ­ÎˉRRˆÊØÏÍÍÎÏÐÍÏÎÍÐÏÐÏÐÌÎ'Ü;?$$ Á   O~x‚ƒ|wpgpwssyqt{{zyu|{z}†Š‹j    7%29JTV]^adigkhlntrqqvywxxuL6:BGok^H9ZucmX�Þ( i2I|?,@]NSvQEHR`lonuˆ°l        '' E¥”§¨©«ª©ªª©ºªª¬< {ªª¨­«6&{¦¦¢¦¨©«ªzJFpª´®¬«¬­¬­­¬¬¯¯®«­­®i¶37$ü    <dXcd\UOIQTNMUQSZXWWSZYXZ^dimR    / ,09@@BEIIHELLNMPRVUTTWYXY[U1 &.8^[VF9TeR]N�þ   Q#J"#<# (364>TW            3™ †“‘“–¹“’’–”“•““˜5 i–’’™ 1"m‘Š’‘–™pF?aš¢œ™–˜—•’•——™˜—”—”–Z› Æ     4B9A?5-,'+2--1,05440054556>BF/˜   !#%'&'&',--,),0/2/+**'+6)0$�þ% *ZZD!  dO# !J74@OD^€„‰}ˆppn#        93$,-(&*6,#$bË ¾ÌÉÊÊÉÊÉÉÊËÊÊÉˬ¨ÅËÉËËÍÎÌÊÄÆÅÇÉÉËÎ׳ÙÕÎÎÐÐÍÑÏÎÎÏÐÑÐÐÎÍÍÏz&Øl‰U%$  êR|t€|wnnrtuuwrtzyxyxyxzy{…Љd   !+:TUZ]`cgfflijinoorvvyttysD>49A_XE>:/@N[Q�Ñ$86( aW9&4WIAT^Tcz†z…psq$          Ô  *%H«œ«©ª«ªª¨¨«ª©ª«¬‹¢ªª©¬®®¬ª¥¦¤§ª©©¬³µ´´±®¯¯­¬¯«¬­¤®°¯­¬«®e°WtP%  ë?bZcaZVLNQPPNSRSYWVVWWVYYZajmN     !*2A=?FJHHGIPMPPSRTUXX[XW\T*&#)9SOGB<;GLTL�‰! $#  þ  .; +'&9:B4C5=S#           5¥—“––•“’“”““”—šŠŒþ–””šŸ¢¢—‘‘•”“˜¤¦¥¥ž›œœš™š••—™˜™š•—•˜`“.+      3@9@<53-.-0/.2.25521464688>CD/—  ""&%&œ)&''-,/0,-2110.$# !"&+&�þ  PMB/" N ']b>/?•~^–’x0            F6! ((,0'/;E0+)cÇ ºÊÉÈÉËÊÊÉÊÉÊÊÉÊÍÍÌÊÉÊËþÉÈÇÆÂÈÉÊÉËÎÌÏÏËÍÏÎÏÍÏÎÏÎÏÏÐÑÐÑÎÎÒu2ØdR:+        Wxrƒ~voltwtsvtsxwyyzzx|w~…Š‹a   ¯&2 "7NZYYZ^bdfgijjljmnoptquw|f?93?G`X<*5"',<3�Ž 1+! © J !6a†dA/@ƒ’`Œy0Æ    0'K¥˜«©¨©ª©¨¨©¨©«ª©ªƒ©¨©«‡ª¨¦¤¡§¨©ˆ«­®­ª¬®®¬†«®¬¬«­¯Œ««¯\$°ROD. ‘ ëC[Wb_YRJIQRNQRSRXUUSVWTVT[aflA  $$  )3;>??CCGFHMMLKLNPRTTQXYYC%!,@UN=/3$-/>8�    þ / 0`:2 -ZYK+NOL%     %$        3™ ‚•“•–˜““’‘‘”˜˜™——”–•˜™š’—“Š’“””–››š–™››šþ––“•—–™™••™U#–(          /;7?;98/-/0,,//3532.25355:?DA+    #"!$&'(š''(*,+*,-011)!!%�Ô #UOG9"  *(,*DŠ)       ¤    I9$ *+,2.9FS8:8iÊ ¶ÈËÊ—ËËÍÊËÉÈÌËÌËÊÍÊÊËËÊÉÈÇÅÈÊÎÎÏÏÎÎÌÍÎÏÐÎÐÐÏÒÑþÐÐÎÍÒv,ÙY:%        \{t€…€vmktytxvstvvz{y{zz{‰Š‘U    !T8!%8PWY[^bbcdhigmjmpqoo“swwx|Y=-0@І_3$!1(�²60) ()(18 (+)B…'ˆ‹µ   2"(3!#P¦–ª©««ª©ªª«ªª©©«ª«ª¨§¥£§¨¨©¬¬®®¬¬«¬­†«­®«®®¯­¬®[#±NB. …Ý " L`X`a[RJIQWRXUQSWUWVWWUUZ]hir<    'K/ "-7;?ABFDIHJKJMJNQ”SUWXZY8"!3z‰sY=+!&80�Ô #   ' '&.d!       ¿      3ƒ’”˜™—’”’“’““—–—“‘—“••–”‘Ž‹‘»“–—šš˜—–˜š˜š™˜˜“˜™—˜š—•”—L”!       œ 7>8<;84++03,0,,031…32049D$ ¨  # $&'))%'**)*,./01! FG3#�ÏPOE2%  .?>?B4 @ »?8# $ (8@R`><,iÊ ¹ÉËËÉÊÉÉËËÊÌÊÊËÍÍËÊËÈ˘ÈÉÆÆÉÇÉÊÉËÏÎÍÍÎËÎÎÏÍÏÏÎÏÑ«ÐÏÍÒx&×R&       =áa}p‚…|uhgpuuwxuvxxwvvzyw}ƒ‹ŽO 4? #APYXYacdfacjfeilmptprtuvxH5.,Gª°©”j6+'!#�´33.! $,9LLHAE>‡õ)&)6>#%L¦˜©««ªª©ª««¬«ªª«¬­­«ª«­«ªª¨§¥¦¨¦¨ª©ª®®­®­«­­®¬­¬­¬¯®®°®¯­¯`³I0  ƒ ª; QcTbdXSIFOSTWXUSWUV^\dmp6 ´ :? 7<A>?DHHJIHKKIMQQPURSVXXV.<›—‡va6++(/�³     $-  1 ™   Ñ    $ 6’…“–˜˜•’”’”–“•’•˜š–“•”–•—•‘‹’““•˜˜š›˜–—•™‚–•—®˜š˜™–—O“      3”@B7=<4/%'-0121//3È210.4;?GF  $"&&%('%&*+*+)*+-...m^UB83&�¢FE8(#lI"_ŠnB^'u¦  ‡¢F<0# 25?G)'*_εÊÉÊÊËËÊËÕÌÌÊÊÌÊÊËÊÉÉÊËÊÈÈÆÆÈËËÌËÌÌÍÎÎÒÑÏÌÌÍÓÑÏÐÑÐÑÑÐÏÏÒz(Ü?        â! a}x†„yrijpsv||xx||{xwzxx}~‚‰ŽU   G“(*KOXV\`_ddcchihlpsorutvxzuD0(+I’š–—Ÿ¦Žj7 �¢ ,*#  +lQ0]€‘nPa6ˆx%‚•ˆŒ -$  *1F¬“¬«©ªª©ª«ª’©ª«©©ª¬ªª«ªª¨§¥¦§©«þ­¬­®°°­­««´®¬¯®¬­®¯®­°aµ7    LbYebWPJKOQRY[YTZZYYVWTX[\chn=  C„( '<=A¤@ADEHFFGJJKQUUPSVRVZYS)9~…‚‰‘“€_5#/�¢  ?(*KfB4aS ¨    ‹ ‚þ    2”‚—””•”‘’“•—•“’”––”—–—”•𕒉ޒ”••”—–™š››—“”—£™—™”•˜˜šš™˜P•          ;¡B:?:2,'(-..6641575233/248;CG”;c !$‡%&&%)/0*’,00/(PIBBJOE.�© IG/$YM&.-ˆŒ¯x)9  ¡ ›B?=)( !4( )2_ʶËÈÌÍÏÌÊËþÏÏÐÎÔÑÍÏ×ÌÍÍÎÔÔÈÄÈÑÚÜØÙÜÌÎÍ̺ÁÖÏг‡ÁÐÏÐÐÑÒÐÎÎÒq,â4      ! dzv†~rknntw}vy}yy|yzwv|}…‰ŽP ›  Z0  DQTUXabd‡iikmlkpu”xuv|}tC(#*Oƒ†‹‘˜Š•‡["�© 1. TO#/92|‚¢xAF &!# †— «.(( "!"Gª“«ªª«¬ª™«®°®±¯«®´«ªª¬»²§£§ºÈÇÇļ­¬´¢ª´®®˜v ¬®­­®¯¯­«°Z!»-   ç Q^Vd`[MJNNQUZ^VWZVW[WVWXY\dhp:    P. 5<>?CHGHHFJKMLKOSXWVZSVYYR*8glr|‚my€vV,�©   >AGMnA!  þ      -’x•’’•–’‘‘“——˜œ™ž–› —•–›±ž‰®¿Á¾»­–—˜”“ ¡•”ƒpŒ–˜”•˜™™–•šRŸ  °   7=6@96+(*,/.6:4‚342Ž7;BH—2  %#$$!"')(˜-/,+.+-12.%:8>BH1<A:+�zkzwWI10!([%  RQ[i‡M …„‘… ÕDDHC(  131;+06@aÅ»ÊÉÊËÎÍÊË˾©¢œ˜’¡Í³s±ÌÍÊIÈÆ½6!qÑÏÎÌF»ÏÑr¨ÑÒСÎÐÓp.Ý0     ²& n{x††~vlnosw|}y|}{{yyzyy~‡‹Œ? ²lHJUPW^bafcfhlmpnqqsvutuxxq6 0^‰†…ƒ†¢•R3�¥zksf=0  N& $%PVZdƒZ „‡ ¦1-.3" '$"$*J¡˜«ª­«¬ª«© ••“Ž…‹«™k—©ª¨Bj§¦Ÿ0e°®®©:Ÿ¬­_ Œ®¯¯®­®¯W%µ'  Ž Ÿ #U`ZecZRJMNOU[ZVYZYXZYZ[^dkm, ²` :7><CHIFGIJKNPRQQTTWXTVWWP$#HkkghicmˆƒR9�¥uccL+#  7 %),>Y1 „„†‡« /€•’“””“’Í•–Œ|”‰d‡’–•?\‡+]šš™“3”•–R z›™š›š˜—–—œQ!ž"     ë !;=;B=6/)*+.057565465634457;DE A  $%"$#$'+*,(+.)+,++-0.+?=:;<7<VP'�¤»U ½œTU87&œ‚k@044+.3 ¦  …ÃKBG>  1A9D4110WÌ»ÈÊÌÇÌÍËÊÏ€ KÊŽšÌËÍ-xÈÇÂ/)RW)›ÏËÐJ oÚÒ„´ÏþÑÏÑÐÍÐÕp1Ü*     $ mzy‚ƒ€xmptuwy|x|~yzuwyzx{|ŠC '– IHRHQ\_cgbcgljnorou•txy{}|d:*(,tˆ…‡†‚~x_T.�ž±U ¶Œ97!" yh;7B@/-5‚ˆ™‡ï5*-2  &.%)E¨šªª¬¨¬®ª©¬j =§x©©¨ a¨¦¡%%KP% …¯¬ª7aµ­g•¬®¯¯­°®¬®°V)·#  ª! [^[b`\UKQTPRXYUZ^XUUXYWV[\`hl,º #ƒ :7?9?EGIKIIKNONORRTVXX\\[E&#[kfjkgeb^ML5�•M ¨q)( q]b‘'' ‹•‰þ  4’ƒ““—“””’’–Z /jq“•’U’… AD" s›–”3Z –W‚™—™š—™™––L&£         <¦<>B;41,0//0565773515523348AD²a   $$%$"&)**&+,**.1011'7@=>?@=63'%�¥i %EJ;2+8C EX, ŒþRGD: 5AF@-1.(OË ¹ÊËËÌËÌËÌʪŠqÃÁÓ¢#ÎËÔ9zËÉÉ3uæäÚ@UËËÓOµÕ‹®ÑÏÑÒÐÒÑÐÏÕs2Ú3!ö  (o||„€~tmpyyxyzwz{ywvvxx}}|ˆC C5#1CC;Xa`hfghlknqpquxyxxyyV2$*7…„ƒ‚~~voc]�¥e $,-$ 9= D\6 Œ‰ …‚Ò8..+ (--' ?¥œ©ªª«ª¬©ª©||d¬¥°†~ª©¬&a©§¤&f¾¼·.I««­< ›²kŽ®­°°®¯®Œ³Y'µ#      ¤" ]`^c^[QOSXVRUXUY\WSUVÅ\^\]go*A*  +7:4?JGKKJKONMOQSSYWWZZY8(dfdcdadbYUPR�¥[    +%. Œþ   0‘‘•—˜——’”’~ux _ŸŽ—rn—•”%W”‘^´²®+=–••1 Ž™V|™–˜—•˜š—– M"œÍ      G>>B84.+/331335532/04317658@F‚‡1¡ $#&&#&*)((*.0--122,;=8„960.),� GF;3+ J!  ÷ OK@$ 2-+2/23-PϼÌËËÍËÌÊÍËÏÓljÚÒѤ'žÌËÔ1tÊÉÊ8o×ÏÙFYËÌÑO']Û±ÑÐÒÐÐÒÐÑÎÓm-á2¿    $p|{‡yutosvtwzy{|tzyxtt}~~ƒ†ŽC§  G  &?^__deijijqsnquwz‘xyU1%,B‚…„„‚ƒ€{spfz�¡ .,( H#ƒ‰‚ …‰…Ë62. & "@¨›«ªª«ª«©«ª­±¥m´¯¯ˆ}©©­#]¨§§*]¶±½6I©«¯? T¸t‘¯­¯®¯­°X$¾&˜      Z`]f^WRVRTTPUYXY[SXYVRS\_^`el+ D  )7BFFGJL›KRQPRRWYYZWX80feeddec^WUOg�¹   4   † ô  -œ ˆ‘””••–‘””˜œf¡˜–rl”•–S“‘#V§Ÿ­4>••–3!N¤W˜–—–—š™˜—L¢‡  È  D@=@7410.0.-16722.013//757<?D1©  #$&'%&&(**)*.,/021.  =;889=:5-.+:� ^RE2*  ³           „¡!PJ;# )#(-)220W͹ÌÍËËÌÎÅÍÌ˼~ÐÌÎ¥*£ÌÌÔ/vÌÉÄ1G‹…S˜ÏÌÐOrv½°ÒÑÑÒÑÓÏÒÐÖm/ß& ñ   t‰}zxwqrqvxyy€{{|{xx}}~‡‹‘?   #  C^abegiklpoqmnrwzz}zv6'0W…ƒ„†„{vkga�Á A4.         ‰‚‚¥70,!   @§•«¬ª©«®¬«ªh­¬­Š|©«°$^¨’*E‚~P}¬«¯>]b¡t‘¯‘°®°®±['¸ „ñ  \bag[XUVOPORVXW_^WZZYVW\^_fkr-  $  #5DDEHLMMNNRSOQQUZZ]YT#Ahccfife_^WQM�Ó ("            ƒË!   *™“–‘‘•˜••˜•’ŒZ•”—xk‘•™"S‘%D~Om˜–™4[[“a}–˜”™œ›˜™žR$¨„    @C@B7730+•/24265234302669BGJŠ ˆ !!#&(&›*),(&),0032.*=84<?@A5--.(�' OK>+”+3  *     ƒ š      Ê!QG4  %*392;91ZϸÊÉËÌËËÎÍÍÌ˺„ÑËÍž&£ÌËÐ1}ËÈÁ0*pÔÌÌÐJqÃT³ÒÐÏÑ›ÐÎÍÔj8Ü(ƒ è  {}}…zxzvuw}~|{€‚~||{yx~~|…ˆ2 3T\^bddelonopprtzvuzzh1 .cƒ……‚kSD=?�¬$ 1.' )6  &   ¶    4,& #$"!B¦•ªÉ««­¬ª«ª«šl­ª«„„ªª­#a¨§¦&! a±«¬­9W¢Iy“¯¯­­®¯¯®«¯S*³ ‚‚š b__e^WUWSRSZYZY]_ZZXWSV[Âbjo   ,<ACEFGGLNMQRNPRYXUYXFLccadfcaVMD83�   “+  Ó             -—‚”•’”–½“–••[•’—vv“’–$RŽŽ‘'V˜˜—4Q‘Hr|—˜—–™››––šK(¤ƒ… ‚ ¤C@?C;520.,.55438:631122465>GG ¸  !"$$#&('()'()-.-11%.974<<88, �þ PQE-%$'   */  0         !PF1#"9886=44V̺ËÊÌÍþÌÍÍÌËË̼ŽÑÌϘ)¦ÊËÖ5ÌÇÅ3d¿•¦ØÍÎÎGkàs&L'¹ÏÑÐÑÏÑÑÏÏÖd6Ý,       |{‚€wvx~}€‚‚‚€€~|€~¢ƒˆ—6      ) !(P\^ddhlqppqsxu{yy|zW2"&8n‚‚†ˆxI9%)�  03)Ê&- -           Û 6,   %!!F¨˜¬©ª¬«¬¬«ªª«›u­ª­~†¨ª°%dª¥¥'T¢€ ‰´¬¬ª6Vº`8™­®­®­¯°¯­±N.´‡ˆ„‘f_\a\ZUTU\Z]«^Y]ZZXW[[Z`ht   =ABGFžIKNNPRPSUZVUYW7&Vcbcdgb\HD4%)�Ü  #     )     É  2’ƒ’”•–”•—”“”˜b–•›qr‘‘™%WŒ#M›x  ˜–”1K£S6„˜§™•šœššœA'¡    Ç K?=B92101338968;<643584564=FI   "$'(™))*+.-.3218579>4,�þ CH9&!  .              NB!)+*(,& PÏ ºÊÌÌÎþÍÎÎÌËË̼!ŠÎÎТ$¬ËËÖ3yÌÉÅ9vÖÙ%BÚÍÎÐLkÖÉ0µÎÐÑÒÑÐÑÑÐÕj5Ý.           |tx|}{rmw{}{€|~€€‚ƒ|„„ƒ‡•;     &%!$AU^cefklkspstvzw|y}€yY/#+D{„ƒ„ˆ†\Flssp�Ø  *,  +          …Å5, B¨˜««¬¬ª­¬««©ª™o¬¬®ˆ‹ª©¯%cª§£)a±´<¸¬­¬8V±¨# –¬®¡¯°°³S-¸# ì bWYYZXSLUX[X\ZXY\Y\\^]V][__fr&   7?CFHDIKMRQSTSXY[VY^S73afbdhf`JLhhjc�û                 3’ †’˜Ñ••“•“–ŠZ–—šy|‘™!VŽ‹#Ušž9¨—––1Lš…––˜˜•˜š›™›C'Ÿ    „ ¤E7:530-+235153367553982768;@E Œ‘  !$!&&()()—*//-041896688/(+0,�þ  <>8/"   7N2d(!         !M6  )80#)-.MϹÌÌÊÌÑÍÏÎÎÌÌÎÃ#…ÐÍÑ© ÑÎÎ*€ÎÊÇ>uÏÚjÁÐÏÔLh×Ú†´ÎÒÐÒÑÒÑÑÐ×l3Þ0    ì flqmgbghkssuywv{z|€ƒ€~…†„Š”4 "+E^`dfghnpqqsuy{|x}€tP-%I‚„…†……„oj•™“Œ�Ø &#!    6Q/\.&+         ƒ ž7*  &! @ª˜®¬«¬«¬«¥ o®¬®‡°¬±!g¬©¨,\«¶Z¦®®°;T³µo ”­°¯‘°¯¯³W(¹#† ‚„ àLOSNGDIGJOOSWSTXXZ^`_[[a\bajr# +:CDIHKMQOORSV[]\WZ`O.7gfefeedXa„†{s�þ    ",?           #   /‰˜˜–—È––•˜•’”Œ`˜˜™zœ•¢ [–*U“N—š™™2L¡` †š˜–™™›š˜“›G(  ‚ ¬ 025+%"&(*-,,0./01364643<6<>AD…‡ ¦  ##'(*())(*,30-03+":864640%@><>�à  DCC<"! )?3-YjbSZ+%]$!6"          í 'E% -2+'6:1LÍ »ËÊÌÍÌÎÏÏÎÍÎÁ…ÓÍÐÊAËÈc ¦ÌËÊ9uÐϪ †ÓÏÒJdÖÎÃ-³ÐÒÑÒÐÓÒÎÐÕg8Ý'   ˆ Þ{y|od\_eaghoqnmuvvy}}{x{{„†ˆ’)  $M`cdfhjprtrqrwwyy{{i/( Vƒƒ„……„ŠŽ–³´­¹�þ  0''"  ,(I=1Zc_TS,)_( #8             3 '$;ª•¬ª«­«««¬­««¬žh®¬®«>±®`‹ªª©+^­­Œp°®°;Q±«¥(‘®°£¯°¯­®±W+·  † ¥a]\MD?>C?CCKPKJRSUWZ[XWXWachs# ‚¯ '=ECGJLMRPPSQQYXYYXZJBfeegfeksƒš™™�þ    % 183+2 4        #  ,‚˜–“—Ó•”–™–”•Z›™™–<ª¤`{•““'R—–€cœš›4H—•$ „›š›œ˜–•šJ(¢  ˆ ÞC==,$!"&#$&),*,.001342055??AJ   !"#&))**+**),00/11$ )<986:5:7H[VYk�þ 6:,)"#   <>=PZ0;.„O "         1 :A41<B%XѽÎËËÌ‚ÍÌÍ©Îκ†ÐÎÎÔ !}ÓËÌ¿;uÏÏÆE_ÉÐÊRtÒÐÙ‹S½ÏÑÐÓÒÅÐÐÖeCÝ6      zv}ma[\dcecbdfhnpuxÇsquwzy{€*   !!+V]abegjopstrpuwz{wx`7.&&m‚……‡……ˆŠ£·–w�  #  é=& 9uAN\0:,wO$           " #(&-Aª™­ª«‚ªª«¥˜k®­®±oh¯ª©Ÿ,^«­¥9H¥®©E]­­³qC›®¯°š®®¯±O1¶% … ¸ ^X_LB88A@B@@BCCKMRTVTSQQRVWYZ ® %@?CEFJLONQROMVWYXTU?Qbcfdeegmqˆ™y`�þ    % K!$5#J5            4š~š““•»”“”–••“‡]™˜šœ_Z™’“Š)O”š–28Ž™’;O™™¢c6†›œ›œ˜˜™žL1¥*•  ·  A;?+"$#%""$%'*,.0110.105349°   !%''*)*))(--0--.!398<9;8;<?ScJ7�ñ  9:2-$   " Q))*'1F.r5<(:=        (B2 8;2Ë)RÉ ÀÎËÏÎÍÎÍÌËÍ;_ ÐÍËÎÙ«wu¥ÙÏËÌɳÂÐÐÒÍÈÎÎÏÏÔÐÒÓÚßÒÎÑÑÒÒÑÑÏÐ×Y=Ù*™$ ß {ylc[[bcbd[^behnsyvwqpuuvz€ŒH5   ;Y_cdefiknqvssvw{|yvR8%6ƒ†…††€}z~wpn�Ž$! Æ " L)01)4G1n 45$04       ¬ 0' &&B£¬ª®­¬««ª«¬«žQ…­Ð¬´dcŒ´«ªª¥’Ÿ¬¯¯ª¦«­­¬°­¯°³¹°®±°±¯®®¯°³H2²     š`Y`HC77@@CD><@CGMQTRSPQRÂV[e.  2BBGHGILKMOUPOUWYYWS2&ccbebdfba^a\VS�Á   < #F !+     þ          1‹ƒ–•˜—–•““•”’ŠBq˜™š™¢WW –““ƒŒ–œ›˜‰‘––˜˜™ £šš›˜›™™—™š¡>-¤ ¨  @:?*$#$ ! #"&*+0/1/-0,.36@­!"#$%&'(*((,,/,-->:597:;54152,-�Ú3*-."% $ ,84 ) 3")       •!4  )-ˆTÌ ¼ÍÍÎ͇ÌÍÍÌÐÙÓÍ™ÎÐÐßßÒÌÍËËÍÑÑÏÐÏÒÑÏÎÏÎÒÑÑÓ™ÐÑÏÒÑÑÒÑÎÐÙZ9Ù,    yykc\[__\bWYadhoruvvsrssu}~€A0¶"6QY^begehjorwsvqtzwzsV99ƒƒ‰…„„~yxvsm�ß"   $ .;%>(&+ *%           ˜* !D¨œ­§¬¬®¬¬­«­µ±­¯®®°°¸¸¯«¬ªª­°¯­®®±±¯­¯®°¯°¯°‘¯¯°®®°¶C3²" Ž  Š  ¥bZbJE<:=?@C=;@BGMQRRSROPQSY[^.*³"/@BDIJLLMLQQWSTRUXVYP8"/cbcgcbcba[YVWR�  ˆþ   %            7Œ…–š™˜˜™˜••”“˜š™œ›šœš ¥—˜—””—™š™š™œšš—–™›™—›š™˜–Ø™™—™š£7-ž   <9A-'"!$!!%,-/0//,/,/665 ”  !##$%œ))*(+*-1,0+ ;57;678650/0.+�˜?84/%æ  !C7           #5 !""+-O϶ÊÍÎÌËËÍÎÌŽÏÑÎÎÐÎÎÐÊÍÍÎÌËÌχÎÐÎÎÏÎÐÑŠÐÐÑÑÐÑÒÑÏÒѤ×\6Ú3    Ÿ|v}j\X]X^Y_UT\fklsuwsr‰or{€@¸  5XY]dbedejomwrwtvyuwiC3($Gƒ„†…‚‚€{z{wso�Ž&# ‚¿  (E;           ˜)   ?«˜¬š­««­¯ª¬¬­¯­¯°­­®¬­««ª¬©«¬¬­†¬¯®¯¯­¯™¬¯®®¯°¯®®¯­¯¯³G.µ%  Š´   aW^I=8=8><?67<BIHQRTPNLNJPY^_+ “  '=?BIFJIOMVSVUWWTVE(9cbcdcaba][ZXVS�‘  „þ                3Ž„”—–˜•˜™™’–•™™˜™œ—–—”——–•–‘’•–””—ç”™š›—”™˜™›–›˜—•””–”—•™š 9+    =7<,#!"!"')-0/-/+,),497 £ $#$$#%)%+(/,.-+-$#859;7598420/.+�‚ Š*3;4,'% ¤MwP     ¾       !) -53)15 SÐ »ÉÌËË̓ÏÎÏЉÏÏÐÏÏÎÍÏÏ̉ÎÍÏÎÏÏÐÒÎÐ…ÑÏÐÒÐÒ„ÑÒÑÑÓ‘ÑÒÙe?Ý4  û       {‚dXX[X]\YWT^ijsttutpoqno|€†9'!&IYZ\aaeiknprwrwvw|wud7),0cƒƒ…ƒ„ƒ}}|yst�“$ þEiN           ! !"!?©—«¬«¬ªª¬¬ª¬®­¯®®¯®¬«­­«¬ª¬ª«­¯¨­­¬­®¬®­¬­¯¯°®®¯¯°°®®°¯°¯®´F2µ&   ˜      à f]dE87=:><:69>FHPPOOMJMPMOX]b* 4;@BACIKLKORVQVTW[WS?H`cbbacd`_^\WTV�ž   þ%=1               /“‡’•’–”“™˜’•”™›™™š™–˜–——˜“•‘’•™””“’˜š™•”—˜™›˜›—–™—”—˜—™Œ¡;,Ÿ   þ        A;?%!$$+,-+-,*)(*36;   %%#%(&)(,),-++! (565947;54310,-�½. 1?4, ‚.  5j    É        %5&  8:8',/^Í ÀËÎÎÌÎÍÌÍÎÐÏÏÑÏÐσÎÏÌ΂ÌÌÍ‹ÌÌÏÏÒÐÐÏÐÑÑÒ†ÑÑÒÒÓÓÒþÛZHÛ,          }y‚`YQ[X^]VOR]hmrttrponqjp|‹    "$5RVU_abfjlpmpqqstvzxoJ60&2t€‚ƒ†ƒ…„‚~}€{yq�þ/ $   v5 >f         +% $'* K¦𬮬«¦«ª¬«¬­«®¯®®¯¯®¬­««¬¬ª««¬®¬ª¬«®¯®­®¯°°±¯ƒ°¯¯°£¯®¶G5µ$       ç   b\eC96><@=729=EHNQNNLKKOLQZ^g  *<<=CEFJLLRMPQQRQV[WL,#Waabcbfea`__YWR�•   ð W"  P             2„’˜•—”‘””“•’šš–™†›™•”–”“ˆ•—•”“”šœ–Ÿ—š›™››••™–——›š›™˜¥:,›   Ê         @:?#"%')./+**')%+44>¯ %%#''&(')(+-)' 3675648954453/-�þ>9=/*"  (¨Š        #7 #**-%($XÎ ¿ÊÌÌÎþÎÍÌÍÌÐÏÎÐÑÑÒÏÐÏÍÎÚÛÔÏÌÍÎÍØÝÓÏÑÕàØÏÐÑÓÔÑÓÒÒÐÑÓÓÔÓÑÑÒÛVG×*       ƒyƒcYUWUZ]SLT[fnrrqonrtqkqµ{ƒ   -XVUX]`dfhknonqqxvuy{kH02/D„Š……ƒ„‡‚{ys�ý? $$(    .&š…*            , #Jª›¬«ª­‹®¬­®¬¯°®®¯¯®“¬´µ°««¬¬®¶¸®¯®³Â¸¯¯°™®¯°°­¯±²±±°°¯¶D9°"  ¦         h\eD9Ô?=63;>EJNNLPMMPPMSZ`h   &C?=?CFIILNRONQSWUVXYI+5cddcbadhdc`aZYW�¿+     e\ û            1“‹–••—”“””•—“—•—™˜••šš•£¥ž•””—•¢¨—˜šŸ±¥–•›œ—œœ—”—˜š›œ™— :/˜           F;A&   &*+,-,*,+*&,48>¹ #$%$())((+*+,*%;997335;9747212�·#$%'   A% ‡ºT É  E   ,I42)RÏ ¿ÊÍÎÌÌÍÌËÎÏÑþÒÒÑÏÏÍÕÃŽ·×ÌÌÎÏ¢vÇÐЫ=ÒÐÑÒÑÑÒÓÓÑÓÒÓÓÑÐÒÒÙXHÔ-       %ƒzaXXQUXZPLT_bhnstonqpplr| ¹ BlC"  ASXYZ^abhigjpmouvwvzyp:%08c„†‡„‡‡ƒ…ƒ‚~yt�##   Ö8% ²b     :    1 Eª«…¬¬¯®¬®š°¯­¯¯®®«±§~³«ª¬®‰i¨¯­Ž6„°‡¯­®¯±±®¯£°¯¯±°µA7¬!         Í    "hZa>6838<=306>@FKPPOILNNJU]_X  7Y7' 2>@@AEDEJKœNPQTUVTVXM"#Iceebed`dfdb__YS�‚’ -! f~/   þ )    6™Š˜–••–˜–”˜™••˜™™–•“”Ÿ“vv” “—˜yc˜™™|1q—˜›”˜šš•˜™˜™š™™˜–ž=1—   …   ¦     G9?$"#'*./+*,*‡/68/‘ , ‹#&&%&)('*+”.++89<8763;=;76632�¡  )0%  $ >Ÿ ZI   ¾  CT="*$0K    6.G-88QÒ ºËÎÍÎÍÎÌÌÏÎÑЛÑÐÐÍÒÆ-%¦ÑËÎÓq †ÖѲ!œÐÐÏÐÒþÓÓÐÒÓÒÐÒÒÑÑÙZJÚ.      , „{`URQU[\PNVbhksvprponqlr|ƒƒ7HU$9RZ\]_dbhgimnošpvutw|zh<"#6o‚…„ˆ‰††‡††~{x�œ  %  ;‚ä  UK+     BS<"+&0H     '. (E±œ¬®«¬­¯®¬¯®¯°¯®°™®°©)!°ª­¯[ v´®’ƒ¯°¯®±°ƒ¯¯°¯­°±°µ@:±        Ú*i]b>510:=;2/8AEJPRMRMKMPLT]a\  2EF! *>DABFHHJJKNNSTUTUVZXF% Ubedhhedgƒb``\V�  Š # â  D/   ?M6 )&8     4“‡—™””˜™™•˜——•™ùš—•š›"ˆ˜–™Lj›–vr—˜š˜—™™—–›˜–˜˜—˜—™ 44š     %G:A$! $').1,-++))+039.¹   !#'&%&'(),,++.0(08<=@;67<<?:7943�þ 4) #      /ˆÇ·¹©¢jE "'&/%E24+PÍ ¿ÌÊËÍÌ¢ÍËÎÌÐÑÎÐËÍÐÍJ1¤¹>"ÏËÍÓxÏг%ÐÏÏзÓÑÒÑÒÑÑÐþÜPAÖ1        , *€{XRMNTXXMNVbgmqsqrolrqktw}r' (.>&$OpRST__defgensnqpoqwvnE<*-Iz}‚„……†„…ƒ„{|w�ž   " Š–      Ü    *}¹««—fF !1 , A¬®­«¬¬®®­­¬¬°²­­®®¯°@(‘¡4­«¬¯_¯®”¯°¯¯®¯°°¯°±±¯®¯¯·A7°"       â( "g^a74.+696-17CFJMOKONJOQKVY]R #*< BV=<:BCIHHIJNRQSQOSUTL*$3^``cedcceedab^_Z�Ž   “     þ   ^‚yie;'     0‰™™•””—˜—”••šœ—˜™–˜œ:$ƒ•2™“—Q ”|wš˜šœ•—–™˜™™žŸ™˜››¥:0—   ¬      % F@B!!&'*.-+¾)*(+25:)   *""%%"'*'*)'),-'57<<;8†;<?;;556�ë !10&"  }         (bL6E]^UEM6 _&  º*30E:2'RËÀËÉÌÍÍÌÌÎÎÏÎÏÏÐÏÏÍ϶ ™ÙÙ£ªÍÌÎ~ Õ°(žÏÐÐÎÑÐÑÒÑÐÌÑÑÒÑÑÚMJÕ-     1 0€{{[NOPQXUMLW^dmnpqsonlÃnt€r)  / 9!817\OUU\^bcfgenonoqmrtu`40"+Q}~€……†ƒ†‚€{}z�   l  à      $\I4DX]UGL9 _% *! @¥š­ªª¬¬«¬¯˜¬¬­¯™´³Š‘­ª«` n³‘®¯š®¯¯®¯®®°°±°°¯¯µ=9°!   ”      „ ˆ+%e]X8.271//5=CKJMKNMMIÃMR]P ' 3 )"*F6<9@?EEGIJLNMNOLTST?9__Z^debcedcba^_[�ò   H        KB.(3/*"( 8  þ 0• ‡–••–•–“—”——š––š–˜’u¤¢ €•‘•[ f›€rœ™›š˜˜—™˜™™› œžœ¦83ž"      ( D<; $&+,Ë*+,+(%&),1:'    "!$$ &(&('$*++#785588:7<<;<9579�þ"564-'* 1c        DWku?33  51=9-/)WÉÀÉÌË˰ÌÌËÍÎÌÎÎÌÍÏÑÌÑ•àÊÍÅ wÐËÐs4Q ·´&žÐÎÏÑÐÏÐÒÎÐÒÏÐÐÑÐêÝNUÑ'    / :zyv[LMLQXRMLTZannqnqmroqmqtv" 0,* !$$+;TSV[c ijhlporpptwwV6$/n€ƒ„ƒ„~€}|€�û   0[        GVhq@5<  $" F¢ ª¬««­«­¬«­­®­°| ¿ª­£e®«­`(B“­«®®«¬­¯¬­°®¯®¯Ü®·:A©         ')^ZT://-16/1127@LMPKMLPJKKQR^U & !" "/<=<?DDGJKPNONOUUW8!S`‹_ambddcaa`\\`�Ç :    ˜   ):J*! ‰ â 1Œˆ‘••˜š•“˜”——š––—™•šn­•—”W˜“—Y#6Œ‚q™•™”’”’™•“—˜™šš™›š¥38›         š  # 983$+·(*)*((),.8.   !$$ #)&'%$)+)153535=87887::458�¡52,')- 5 Î      }9    14@=/54[Ê ¾ËËÌËÎÍÂÌÌÍÏÎÎÍÐÏÕ‚åÌÊÁ-_ÑËÑu@² o¿&œÏÎÏÎÐÎÑÑÏÑÒÑÑÐÒÑÐÐÛKVÐ/$  … î    08}yx\NGKUYSFISX_giooqlkookqvƒs+"0-(   &(0HQVU\cchiikkoppqqvyrV;)#2{~„„‚‡„‚„‚€€}|�¡!" 5œ  Œ   Ëp6    !(%% L£›¬­®®¯¬®¬¬­­¬¬­­¯­±m¿¬«ž P¯ª®^1— `™­«°­®þ¯°°¯­¯°¯¯¶9B§"        (0aZX>4/.783+187?HIMMOMKJKIPUbP!("    !"5=?=AFFHJLKMQRRP˜QVWT8#^`acbbgcbeeb`a`_�™      ¸     ûI&    7ŠŠ’”–˜™”••“–•™˜š˜™–_ «–•ŒG—‘•U+‰ [’r—”˜•”“˜——˜š˜–™™˜™¥07•    …  µ##?72"''))*(()''*29+ Š!$#"œ(*)'&)+*63375275599898568�þ%*'!(/ $.:             84;@496,tÉ¿ÊÌÎ̉ÏÍÎÏÎÍÎÑÐÏŸÎÔ| âÍÍÇ=XÒÍÒv9ÚW#¥-ÐÏÏÐÑÑÏÑÐÒÑñÏÑÐÐÎÚMMÎ)      +7~{u_SFISSPGJTX\`fmlqmklljrx|j&#(()  "#&=R][\aehjlnmnrvwwkE/!'Bƒ€ƒ……„…†…„€€~�› % /7 Ý           %!%'$#c¥ª¬­®¯†®­®®­¯®—¬°c½«¬¤.J¯«¯_.´Kˆ#‚®«¯¬®¯’­®¯®­¶;A¨…õ    $,`]XB;.0985-297=ADJKNLKHIIQT\M"$!%"( +=CABBGFILKNPPQRVUWJ%/facfcdfddeccac`b`�¢  "þ             A‹‹’•—š˜•“•–”’—–—•™˜œS©”–&A˜“—T&§A|tš•š˜˜–‘˜–˜é—šš”–™˜–Ÿ.7   %@:0! #((+))(('-33  © !$#"!"(**')),( 948:4264488;8:57;�þ %+&"" YL           <=?D14;?sϽËÍÍ˨ÏÏÌÎÏÏÍÎÏÏÐÐÏÔ‡ÞÎÌÊ=nÑÌÑ}8ȶ*9!ŸÑÏÐÐÑÏÑÒƒÑÏÐÑ¥ÐÛHNË"   $! ×  "(?{{y^RJMTXNKQX]^bemkqqolkkpu~l!$!,* # !#<SY[X`efilollpqqv|yW7"$$R„Œ‡†…ˆ‰‰‡ˆ†„€~�  QN“•    Œ £  &#%)!*9_««¬­¬®¯­ƒ®­¬®û­°p »¬ª§-Z±¬®b.¨š#(‚®«®¯¯­­¯°®¯®¯¯®¯¯­·7>§     ".`^Z@7..5=506:;=@CJHMOLFHLPT\P!"%(— ,>CA@AFFJN”OQRWZX8 ;gddhefhfh„fcea`]�…¶   *)  é       @’‹’•—˜˜™•—˜”“””“•˜™že ©—•‘#N˜•“S'“ˆ#w™–™˜—–”––™˜™®—™šš£-:”     §"=:7!!$*(,-*()*.16% ¬   #%'%%'*)()..%:66977:86<>>:<8�˜ +51&*& &OP  ‰ƒ  ¸"-:?<  (>169+/" YÏ¿ÊÌ£ÍÎÍÐÐÏÍÍÎÎÏÎÍÑž ÎÑÏÅ™ÎËÎ6ÆÖm¡ÏÐÏþÑÑÐÒÑÑÐÐÏÐÑÒÏÛFNÊ*)-/8!     FyzZPKNVXPNM[\dhmosurnljhova &-  ,!!3PQ[Zbdfhhnm‘mnnmqts?$"g……ˆ‡ˆˆˆ††„ƒƒ~€�˜  $GN ‡“    ·"'/0/   & " K«œª¬ƒ®®¬®¤­¬®¯®°­°ƒ®°­¤€®¬­c*¥³] €­®­®¯®®¯°¯˜®¯®°¯·7@¨ )) “   §  5]`Z:0+,6<614=9CEJJMPOKGFIMU]K š  *<<?@DFIJLONM™NQRU(Kd`dhdffggedce`a`_�˜    #.  ‰ þ     !%#    7’ Ž“—™™š–™˜––’–•–˜šžvœœ›œn–””W&“›N u•–—–——Ú”•˜—˜›š™™–œ¦,:•        #==8   $&,+,/-))((+18"† – #!#%&'&'™%'*-/:349;=:<9;<><889�þ &31*'&! , :ERR\[e^``_ZYYWQLHAI[   3 %':?09' XÆÂÌÌËÌ„ÍÌÑÐÏ£ÍÎÏÏÎÌθ |Øß~ÆÎÍÐy8ÈÑÈ&¢ÐÏÑÎÑÏÐÑÓÑÒÑŽÐÛ>PÍCB?SMF éM}{uWWLRWUOLMYX_ijrsvrpjhjsu€W" (    ;J% +SV_]afklkkmpmpoqrb85*2@Ž…‚„†ˆ„„ƒƒ€~�  *„ŠÏ 0AKOVW``ecgnmmcaSNJMX $ &'$ F¥ Ÿ¬¨«®­®®­­®¬¯¯­¯¬¯˜i¼¾o£­­®`-§¯¥¯®¯¬­­¯‚°°¯—°¶4C¨488F==… ë =a\W64,177425:9>DGNNPNLHHIOS^C"    53 #?>BCEJOKKLNQNOOQSD% "5n€}wf_bddbdbca_`a`�”  þ    );<;@>FRQS[]_ZXWJD??Q      4‹‰”——˜›™—š—–™’”——™š›‰\µ·o ‘›»—•V%’˜‘ o—™›—˜•‘˜˜•˜š›™–—œœ¤&; ë)@96#)+,,--+''(,.8     ##%$&&%(&(')+##QfbT:59:;58;=96567�¢ +0+$%"&  …ó   )C   @   141 &!-51@& aÈÅÊËÌÍÍËÐÏÐÏÐÐÑÑÏÏÍÎÐ\ZSnÕÏÏÓv9ÇÏ×t™ÎÏÑÐÑþÒÑÑÒÑÒÑÏÛ<V»TC6"    P{zvZWQSTSNON[\bfjoprqofeiu{‚[$&!   +HG&!%4OR^bbaeljlponopq‘qQ9::,±èöõïȆ…„ƒ€�­ ª  &G3)01#""($!&)0/0,+0-@ £('#   ) R£ ¡ª«¬¬­¬®­®®¯®¬®­®®NTK]±¬®±]-¥®´`}­®ˆ­­°°¯¯°°¯°·0F—C=4‡ñ?][V851365043<=@CHLLMLKDGFQZ_C$&  (41%:<DGEGJLJKNQOPPQQ5)& ¢ÜèçܨgZbaabccb__a�‡ ˜    þ  7%"%$ !<       ;‹Š“””•™™—˜˜•˜•––•œš™œGRHOœš˜šT"˜ŸSj—šš™§˜˜—™—˜˜™™•—›™¥';w  ‚  -864$')•*--%&'.28 ‘   ! !%')'())*œÓßØÌ‡=18545:;9446�¨ +21+.'+   ²   )E6D##LY6i^]pH/…D?Â0:5'!& A97@5J$]È ÁÌËÎÍÐÏÎÏÏÍÐÐÏÏÑÒÑÎÑÎa/4}ÖÐÎÏÏ…ÌÍÑÅ’¼ÍÏÑÐψÑÑÐÒÑÒÑÐÏþÜ>_¾a$      O|{v^SSRRURNO[]cdinnpmphimsy†c)&&# &9DD%#%2QSY^aafggmrnoomnoRDL9SððîðñõЄ„…„ƒ‚~…ƒ~ƒ�›  †¥   'EKY=0T\K/k_]qc4<I……T>«'*)"'/N¤ž«¬®®¯ƒ®¯®¯£®¯¯°¯±¯T-.j³®«­¯„n¨®°¥~Ÿ¯­®¯®­¯¯°¯¯°®­¯¯¶-M›N" „ÉA_]T;04644312=?A>CJLMJNEJIPYaD"!(, "02-%9:>BCEH–LOMNNMNN3-1!GÞÝÝÞÛÜ®`ab…d`ec``a�—     à     $>6H,#DU=YRSeL!7zu<2      ?Œ•Õ—››——–•——•”–š››ŸM((aš—•—|e”˜˜•xŠš™š™˜–•–™—™—š™”–™˜¢$Bt#    Î  -=71  $"&((**.%'*-4<    !#%&)('–AÞÖØÕÑË565536697497�þ.G@73%$      'fVo40akPvYUd- :>.C  <951*+%#C:AQ>D\Ï ¾ËÎÎϨÐÐÎÎÍÍÎÐÑÏÎÎÐÎÎÕÜÏÎÛÓÎÎÏÐÔÔÏÏÑÓÖÓÏÏÐÏÏÑÏÑÊÓÑÏÐÐÍÌÎÜAW¸B"&)3      %' Y|xt]PUQRXTMPZ`fgjo¡nmhfmuy…b%,," $;<AD&!'#.T¤\``befiknqolokL<;/…ïíìïíóò£€‚„ƒ‚„ƒ„…†� *$  Ï    $e\tE?ko^6~[WiV03*DH=A ,) *%&3!) O«œª®¯®°¯¬­Ÿ®®°¯®¬®¯¯²·­¬¶±¬«¬¯²´±°¯°´²¯­¬­®¯¡°¯¯°¯®­¯¶3G—7"!$) ‹àH`[U;.566980.9ABACMOLJKHGKTWaD#(6+ ../*%;<<ACCGHFKLMPNLOL4# uÜ×ÒÐÑÔÎ}^]`bdbecdgd�þ           ![Je50TdO!dCF[;24*4       ;Š“˜˜–Ü›™•–“’•——–•”™˜š›¤¥ž¢™•““– Ÿš™˜š ™™˜—–——”––•˜–—™—–•˜ %?r        ¦ 3>60""%$&+,+))%%)/5= ·  !"!$$%''%'$tØÊÌÊÈÇ·N113377988>8�£ 2>>40&%  ü   #7"!$672:]\]O      88721,! (JAA[I<XÌÄÌÌÏÐÏÏÎÍÎÎÐÑÓÑÐÎÑÐÐÏÒÐÒÐÏÌÎÐÑÑÎÐÏÐÑÒÏÏÒÎÐþÏÔÒÓÒÑÐÐÑÐÏÏÜ9[ºV4;B4*       ($ Z~zpXONNSSOMNZ`efkpnoopjjny|†\'( !$4==>D+"")QRTZ^befegkp›poor]JM=8}¨¯½ÅÁ¼·˜u{ƒ‡„„…„„…�•  # …±  8$+/%.2*)&79B2/1J]]aK  Ã*&!"/*';+#I¦Ÿ«­®®°®¬­­®¯®±°°­¯¯®®¯®¯®®«¬®¯±°°¯¯®®¯­°«¬®­­°¯®¤¯®·/H™H68=." ‚ µ  H`\P:/,0952/15=ABGMNMLNGHJWZcG/+  %+.,(©<<>ACEIIEIMOONPRA1,""lŸ¢¥¨®¨¡xUX`decf`eef�þ     -  ".)-1SOO?        :‘ ‰“•˜•¨™——™”“——š™™“™–™˜—››——’“—•™š›š–”™˜•™•––•“—þš—˜š™˜¢'=r         1>9-!$#(/+**+'')04=   !#$ "$%'&%(•U”“–”œ’ƒL,/3699;49;�Ñ 352/+(   %Uz}-*z#+plHCptqTÅ     >>640+(!'G8<];5_ÆÃÊÍÍÎÎÑÎÍÏÎÐÑÐÐÏÍÍÎÏÒÏÐÐÏÏÎÏÐÑÐÏÐ…ÑÑÐÍÏЄÏÐÎÎÒþÏÐÑÐÏÑÝ8i¼YSFAGt<           ,"]{~rZSMPVPLLNX^agknorlkhmqx~…U,$ #$!1;>BBA0#"PRW\cghiilmrpprgIS•Q37cd~“’ze]|ƒ†€‚€ƒ‚�™ ‰©  U{L7‰D*7vv_'-1SputS  ®    -& !.$%?$! I¨ «­¬¬¯¯¬®­®‰°®®­­®±¯°®„­¯®®¯‚®«¬à®¬¬­®¯®®­®®¯¯­»)P›PNEAA^3   # E^`R<6..6/,+048?CHKNOLKDINV\dD'0" ¸ ()*//)9;=AGJKIHJMQQOPF+33$GH^nppbZE?Xaebaa``d�á        Gnq4'ju0,fcH<imiM  Á   $:‘ ‡’—•–˜š›š—˜˜––š˜–—•˜œ™œ——š˜™˜––šœ˜••›˜“•–—–•”˜™Š––™˜˜¨"Bqä1     "     6>>."&+)*+(*%'+/5<  !#%$œ')('" %'8IJK=6 0477:757<?�þ =8--+$       05/8).) O  HY2    =9853),4#*?"%iÀÇÌÐÐÏ‚ÐÑÏŽÐÎÑÐÎÐÎÎÑÏÒÏÐÏЃÍÍÌÏÑÏÏÐÏÏÑÑÐÏÏÐÑÏþÑÎÒÑÐÐÎÙ+p½KL+J          /%a{~qWURZTNMORZ_filoqrjghnpv|†U- ''0;=@FDG0"'&QSV[bilonqoutsteHŽL84Uœ¤¯³¶¸´«’……„ƒ€‚‚ƒ€�Ÿ # ‚ã   ,H7>6)2;.%&+0#-1.'("$N CW/ ,$! % ( X¢ £«®®­¯¯­®¯®­¯¯­®¯¯®­²±°®’¬­«®®¯¯®¯¯¬«­®­®¬­®¡¯¯¬°°¯¯¬¶VHK/F   †è & I^aR;84541+,.9>EFGLMOJHFKOTZc@++ #"(--,/0-:=;@HKJNLNOSPQPC',$<z€‰Ž‘„l\aceec`_aed�©     ú   $307#)1'@ ?S.       =ˆŽ•š—•˜š˜š™˜—•˜—™™š˜•šš›•˜š™””•–˜™––—™”’•——•–—˜—Á™•˜——˜—¢Eu!         4?<,ž %'(()*&&$&*-6<   ¯ "$%&%'&'*('! KU^ifjeX</5788;538>?�¦  ?:*('     ´   /! 9ÄtM Sœ¨i ±  =:5352)1I75E0/kÂÃÎÏÏÎÎÐÏÎÏÎÍÐÌÐÐÑÌÎÑÏÐÎÍËÐŒÏÐÏÐÍÐÒÐÒÔÐÐÏÓÐÓÓÐÐÏÒÍÏÐÐÏÎØ0k³2           0&^{zsTWRTVOKNTYabjjqprmkÄou|„W( "$**,,:?>@GCI3%**$KUX]_fgkimotwusMEC/0c¢©´¶´°¤‡€€ƒ„ƒ|€�‚ “ ')   ¬ )-#$!,#8½y-17+ $)L Cˆ”[ý1'#!!#*$(" ZŸ ¡¬¬®­¬®¯®¬¬­®«­¬°®¬¯®¯¯¬«®­¬¬®®­«¬®°¯¯¬­¬¬­¬¯°¯¯®¯«­¯¯®®±X‘&     ™' G^[Q843431*.37?ADCNMOJÅHLQW^<"##*'-.,*/0/:?=BAHGKJMORSRN*)"In‚ˆ’“‹~b\^^bca[\`_c�¢    þ   %" 3´o > 6u„V   BŠ –˜•’•™–˜–•–—•——œ™——”˜š••™–‘’˜——•–™š—”‘”–•Ä”–š›—˜”““”–˜˜Jo             .<8-#"(&*(*'&Ä),48   !"#"$&(+(% (@W[jif_M3024767315;=�¨  5A5+'##  Ñ  1& >°¬6EXK USO-% G>67742#-C=;G72]È ÁÍÍÏ™ÒÍÎÐÏÏÐÑÏÐØÓÎÏ×ÓÌËÎÈÅÆÂĺÏ’º¼¶µÔÛÐÏÑÏÑÐÍÍÐÒÐÎÐþÎÚ1eº*       / by{rZYSVWTRRY`bdmmnquqpljs{‚†V[6 $%*0/49?=:@EI7"%#MY]bfkikllorxwm@183Fk}ž¦ª¨ŸŒ€~ƒ„„ƒ€}‚~�–  #* ‚ƒƒ³  13%(-,-3)'C©§C23=6-IXI JHF)! ¢;+(('&& #+)!,$#Q¢¡®®¯¬­°¯¯®¯’°¬®³²¯±´±¬«¬¦§¦¦§ ¬ê Ÿœ³·®«®­®¯¯­¯¯­­¯®®¯´"V˜    ( O^]P;87<:6329>CCIGLORNNKGPX^d@P6!%¶*'-030-143& >ACHGJIJMMOQUTK# /P^o{…ˆ…zi][\`aca``ab_�•    ‰ „´  $$!8“”: !"BL: ?=>'! ÷  Aˆ’–•—“•™˜•–——˜š•“¢œ›™›—’“’—“”˜”—•”Œ‘Š™ž–””“—š••““”“•–—™œLy     " 3<8+—!%&,))+,))&$+0:9"ƒ  ±   "#%%#&'*)"+2?HQWWJ7//05377657:8�þ @>1(,"    .#C+&aŽ` °¬H    KC?:477#9RA>C42]ÅÂÊÎÎϦÐÑÌÎÏÏÍÎÐÓz9=6=vÙËÌÐo&%()%¦ÎÄ7O¿×ÏÐÏþÌÍÐÑÑÏÐÐÏÏÙ1cº+   1^vpXUSU]PKTX`eikiotvoqnknv€‡^0*#'%)-158;><@CG8%#! P\[_fjlmimnqwy™iA256Ms|zvZYv~‚‚€€‚€~~„|�•  +' š þ 0/F@/-3h#"Ž`#-.96¥¦F   ;.-**+&(7+$* M¤«¯®®¯°¯®­¯®®¯°f2728f·ª¬¯[$#"‡­£,D¥´­®­­®®­¯°®®°¯°¯¶#Q–™¹ * JZ`P8669=305:?FIIGNRTLNKHLT]dH5/!&'°".120/300&?C@DJKKLJMNPTWJ&!7V]YT@BU]]a\\^^a‚`_f^�þ       !D8)\…X “”5    ! % <„Œ”——–¯——™—•—–—˜™Q&,*0[¦‘”–Gr•ˆ$;”œ”’’–š•”“”—–™ŒšœI€Å    %1:;+ &**'*./(*&%)/98  ˜    $"$&%œ'+*"/1,(*/-1.03056765;6�þ <:2')$    /#šfh›-‚D6!R¸PI %)  JC;;876-DmRTT7.mÅ¿ËÍÏÎÍϪÐÏÎÏÎÔ[%XZIpÎËÒh'fipn»ÎÆ8NŽz-%ËÎÐÎÍÍÏÏÐÐÑÐÎÍÛ1k°    õ    "! *Zy}jYYQTaOHKQ]chjjmstsppjnu€\)!#($"%',128<>@CEH=)$$%MZ\^fiijllpqqpM700Afz{zxUZxzz|}~„}€‚�¬  %" À  -*—o(%f¦'2€ 'G=@'PªLG  7/()+-',K5R¥™«­¯¯®¯¯®þ°®²MJP?\«¬°U Y[]X™­¤+@|k#­¬¯­¬¬¯­­¬®®¯¯°®¸!R’     % CZ_L;802>2-/3=CEHGKNOPMKGMS\^I,)%&»&!!%'&#*-../.22%:A?@HJJLKKMMNN1*JYZXU7<VWYZYZ\]aa[__da�þ      &"ŒgR™,t<3*DœG6   4! ?Š’“”•ª–—˜˜––™™–šCAH:O‘•šJRQMF„–"7sg””•”••”“þ—–šš™˜£I   !  " +89+$&'&'*+*)'$*.52    #"#&$#%&&( •$.0,),++-,.0155265:8�— 9A7%"$( é  ,‰JUq HmŽŒ9–ˆC šFK   PF<;<891SbCVL3'"$p½ÆÍÎÒÏÐÐÍÍÎÏ ÎÖYSÚÜÞXGÇÍÔdQÞØØÙÔÎÅ;„äà›‡ÓÏÏÎГÑÏÒÑÐÐÎÏÛ&z¨%  Ý     _v}j^WRXZKEIRYcfiloutmommnx}€h %##"&'+//7;=>DCD9&)#FX]`eh’iostrmN@5&:}{|zzT]{Šz{~~ƒƒ~�¥ &(Ñ  .0†e,+Zy&Dg‚–U•Œa,ŒN/K    <0)'..-%8C)3/Z¢¤¬­°¯Û­®®­®°¯´JA´¸¾K8£­²SAº¶µ·¯­£,k¼»~s°®®­®¯®®­°¯­°°¯¹aŒ         àHY_L>:36<3+-1;DDGHLQPKMLKMVZ]T$&&)%$!(*()+..-,244'3@CFFJKJKPQPOL3*"'^[ZYW6?YWXVY\]]``aaca�þ       %!wS=m8Yy2}vFnF!9      ,  AŽ‘–”þ——”••–˜™—C3£²H&…•I3£Ÿ  —–'\¬°p b™˜˜—–•”–•˜–™›˜–¦Mw         ,4;+ #$%&)*+()'&)/Â12&    ""#%"$''&& 0,-+*-,+*-0//3344646�“ 6IA/%" ‰þ %g/HWQ³½D K     NFA?<65.BD5NH28#h¶ÃÍËÐÎÐÏÎÎÐÏÏÎÎÔ[SÛ×ÞYFÉÎÏ]JßÙÕÌÎÍÁ5ƒÑÌÔCYÌÏÎЄÑÏÎÍÏž×}£# 1   ë (e|jXTKTOHIGR^gchirponljfnv‚ƒF+""(*'-397:==AA%!EUWZcffjjmnnoT5?>.Pwvuv{O\{xyuywz}ƒ~€}|�Ž  '/% „‡… § ('l;;)Rb(V£´K%,+25“/L  È8.)%'$%!+,/, Wœ ¢­¬¯®¯­­¯¯­¯®¯³GFºµ¼I:©®­K=¹¸±®®¬(o²®°7M­­®¯¬®¯¯®®¯Ÿ®³lƒ  )   ·  N`\K87033-,,1<D@EFOOMJJIEMU`^7($# " )±'&.12'4>>@AHJJLJKLN8'"7WWVWU1AYTWUUTY\a^a_``_�  ý   $^4$9Z8޲H"mA    ! " CŒ –•’—–—–˜——–˜˜–žB<£ž¯H.Ž——B7©§ž•—–ˆX›Ÿ-D•–˜¡™˜š—“–—š™— Yl   … ±  0;9)"&$%'-*()'&%*/95  ƒ  ‹ ƒ ! %'&& ,))++ 0++(+,1/6545853�© 2JD1(&  œ   *j/GVO¤1\wþN  [GCB@;6.. #8;3<*n»ÁÏÌÎÏÐÎÏÏÎÎÐÎÏ×f3‡‹jlÐËÐf0}ƒÏÍÌÀ<ÑÍÖWOÆÎÌÏÐÑÐÏÎÌÍÏÎÏÐÚ t¥02   õ     *b}m]WLMLFHFO^bdjipqoonhhkvƒP6)('# '*.,388>@?BB,%'CYZ^abgkjiookNAC73\swxzrJ\wvvx}z}}€ƒ‚‚€�—  !-! ††© *n:8*V^"T˜0f}z{-Œ .KâE.)%'$!#"U› ž®­¬¯¯­­®®­¯¬®´F,{|aY®«¬L$pjp­¬¬+j°­°C@§««®¬®¬¬­«®¯­®®²c…  ) ü   K^^K:5.-,')*2;<?ECKLLKJEBGT^]<,'$ %(*('.1/* 4<=@@CIJKFJKJ0#$CTXWVL-ASQTVVTXZ__e``ba�‰   Ð        "X2"<R;‰. OnofzD  ”   &ôHŠ —•–™™——˜••—–—œ?,nhVO—•“A%g\^••”„[™š™98’“•–™——’‘•˜—˜˜Vk         2;:( ” !%&&)*))($$&182 ¹   $$"&&$%**++% +*+*,,1.4698;97�'ND1*&$  Å   ,r3BaM)SMQ—Q     ˜ SC?AC167>1,5569+%fÇÄÎͧÎÐÐÑÏÎÏÍÎÔd IÕÏÍÎi8ÎÏÍÂ;yÏÌÕhJÈÏÐÏ„ÍËÏÍÎþÏÝ&u­3          +c}}o`YOOMCGHJVccjjmoljnklks|‡K)()($ ! $(-,/37<@AGA.-'?VX^adfnjimnbHIO;Doux}ysZ\vwy{~{}}€€€~�”  1!  Ù -!~H0#Qt'R{ 8VM[6¢+M  B.'&,#$$&!!R¡¡°®¬­¯°¯¯®É¬®³H >³®««S ,¬«¬ *e°¬±L;§­¬­«­¬ª«®­®®¬­´`$     í  #K_^M<9-/+'-*/6=?CCLJGFIGHIOYb9&()%!"(%)+-021'0:<ACDJMMHJKB-)+/RTWZVRDARSVUWVW]_\`_]`�þ        "]6=Y?j#PGJ9        Eˆ–—•–þ–˜•˜—––’”š? 5£™•‘@ $“••‡!W™—œ8.”•‘•—•’‘—–˜—•˜Vm        0<9( !!%&%('%'%%&-…22¹    %#"$# )',.).' )*,*,+,.2134865�£ %K@-+"$   ©  1< )Ju 8 P „    UFBC=8E:9KNI;&$oÇÂÍþÎÏÏÐÏÎÏÐÏÎÖ\D¶º#vÛÍÏÒkMÀÁ»ÏÍÏÃ9}ÐÌØTSÍÎÏÍÐÏÏÐÎÍÏÏÑÎÏÝ%y©)            2"l€‚p^ZTSOHJNNXefllmomlnjjlÀw}‰R)&%'#!#$)38=>?AGJ3+!BY^ccfhlkqsq\MNM8Ntrsuvzvbstuz|~~~ƒ�” 2& Œ± 1)N/3,>E.R|'*+"-4J")L  Ë   <1--*(, -1,$U£ ž°­­®¯°¯®¯®¯­®´J4šžc·®®°Q7£¢ž®ª®¡)f¯«¶DCª­®­®¯þ­®¶aŽ$      (SbeN=;131,+.17BDFELKHHJGHKSZe?$+%$ &',/1225-->CDDIJMNPQO>/1,7USQT‘V^]BPSUWZZ]`__cbcab�”     þ   #9#&3Fr:<      @Œ——–••–“–™––’“žD+ŠT£™˜˜G2“ܓГ“—‹#V™—£?4•••˜—•–—˜™š™˜ Sr        1=?+"$&‚)(&Ä'-26   #%&%$)&))*<?"(()*.,,32366976�•  %;$#% ç   (; L  XG=>B $G?KYda@o¹ÂÎÍÎÎÍΧÏÐÏÑÐÕVTØãM!ÞÍÌÎ]WÙÑÑÍÍξ1†ÒÏÊ:yÖÍÎÏÏÍÎÏþÐÏÏÌÍ×€›       8!pqaROSQMLRR_dhlnnomnifiks€‡K$! )<>?AGFE,%9[`acjhklnqr]HE?8kv”swxvzsasuux}||~~‚‚‚ƒ�Ù  '    &<6))=852:8513=49;:,42L Ì ?3,-3 1&08EC-X¢ ¯­®¯°­¬­°°¯®¯³GA³ÀA·¯®®NDµ¯°¬«° 'm¯¯¬-a²­¯¯®­¯°¯þ­¬³l     /UcbO?5/331-25=AFHGMLMKFDFLQ^d;"(#&3322450!-AHDGKJLMORSC--'"MVTVV‘W`\ERTUX[\]`_c`aedc�³           í$( "  $& =    #  !'$>“‡——™—–’”œ™””—ž@5Ÿ³9Ÿ™—˜D4œš–‘“–‹"X–š +Q•“•å–˜–˜––˜™—–žWm      %2=>, "%%'**))$#'',35     #"#$œ&" '*()),A=!()*,.-.328658;7�¥  ;'%*!#  þ   B  r„3S   ]I460T:3>LC*#s´ÅÍÎËÍÍÏÍÏÎÏÐÑÏÔ_UÌѾÑÍÌ]PÜÕÕ×ÒË»1‘äÙn·ÒÎÍÏþÏÎÎÍÎÐÎÎÐÎÏ× “         8"l}ncWWRNSQUXaejnoonkmkikrw‚ˆH("#!  1>?BFIG(6[^]bgillmq]JšF24Lsvsvzt}wgsuqvwx{z~‚€�–  ' ‚ƒ¬  A072<.44<5052348?>‡DL ¥      D2#'$8"&0' \œ¤®­«¯¬­®¯®¯®®³GB«±‚Ÿ°­­K@º´´µ±­š$x¿¹`—°¯­¯®¬®®­°®£­µ qw    ä  .R`bL>662.4169?AHKKLIIKIHGNT`e1"  (++020)%BD?DIKLNNQA2'+SVTUWUa`KSSQUSTY[^`bca�þ           / &!$ ! ""`s2H   ( # H‘–š–˜„—””™›ü™™£F=–žz ž™–E>«£¢ ˜–‹"k­¯`˜—•—–””•˜™—™š——¤ ed            &2>>*"!#''))(')(&'-2;;  º    ##"%$%) +*,,-.GA&**(,-,/149899:5�þ C+&(#     K � LW#T    XL8 'D;3<D=022j¾ÆÍÌÎÍþÍÎÎÐÍÏÏÐÐÕSPÍÐÅ-iÖÌÉZ#YVYOœÏ¹-4I8pÝÎÍÍÐÏÎÎÏÏÌÏÐÐÌÏÚ“          7&l|~ncZYWOPOST[[`nqnljijklox‚…J&$"$  2?BFCJE1(/Z^\bfhhjnmRGL,Jcwxtuwtz„lmqsrpw{{}~~‚€�˜  - ’¨  P,7.>.606()746*(2;Xc3O£   ?2# *##*-.Xœ¢¬­¬­«®­¤¬¬­­²BA­¯¡!V²«©GMLPG‚®– ,@1 _¸¬­­®¬­¬®”² lu  ö  *S]_H>8:6/0/44<:?KLIDFFGIIJS_a1#   '*)-./% $AA@CFHHLML4*+-AQUQRUU^iLHMQPMPVZ[]^_b`_� ‡   —  þ   D* $"##JV%C    % Fƒ—™—”“•–™—™š—˜Ÿ;8–™–M •’>GHL@m–ƒ):- R¡””˜‡™•”—–˜•˜©Ÿ fc         À$698*"")*&%%'('(+1<6      !#ž$& "*++*+,CK(&('(',.02667965�þN52/* V    )\   \L.$)9+@B@3*6dÅÁÌÌÎ͆ÍÐÍÎÍÍÏ¡ÒcQÄÎÒfI½ÎÊhM##-ŒÎ¹I88@‡ÖÑÍÎÍÏÎÏÎÓÐÍÌÍÙ~—          8%l||jbXUVTOFOSYZ_jollhfghgnxƒ…I »+ #6BBFHLJ2#&"1Z]ceghglp`F?8)Emyvvrtrz~mnqsqrwzz|y}ƒ„�¥  4Û X-0(2$'"4-"*5.' 10/S B1$$'&0UŸ Ÿ­¬«¬¬®¬®­¬Ó­°OB¥®°V8›¬©YC's®˜<24;u³®ª­¬«¬®¬¬®­®¯®¯¬± kz    â ,R]]H@<8730)/5:7=GKGFECEFEKUa`0 .-1(,0/,'?CFEGHGLNB+#+LUUTPRT`bMKMPPORVW[Z]_`da�Ù  $         J##E Ï   %  B‡ •””•’–”•“••“—™@5•I(‚”‘H; ]•‚0*+3k¡˜‘“–—–—˜™š—홚”— `b            "7:7'!!()%%!$%%&(.;6   ! "&' (*)('(+EF('(&&'-/-/0789;7�ü ;43,)  EUZQUSTRZXUNKQQNS\bLb    XH=- 5E9G<NC0"fƺËËÌ£ÍÌÌÎÏÎÐÈÁËÍÐÉÃËËÊÊÃFG²ÉÌÍÏÏÓÑÕØÓÏÐÎ͆ÎÎÏÍÐÌËþÌ×€,         7&o|~h`UVZRPJMT\[bkoiikfgfiuxˆF = !07>AGFIG-!2X[`aihdhgMAC@>Uvtvtuvs„z~knq„uwz}z‚}|€�–  & ‡…¥ <YcZVWUW_[YTWVXRY]dPa†þ>2* '."+!-' R¤™¬««®­¬«¬«­­®®¯¥¢¬¬®§¢¨©©¨£/2•¨©®¬«°±³¶±­­®¬«­¯¬¬¯®¬«¬­¬± k{      *ßS^^G>65830),355>GIEFHCDABPU]c5 @ ((,(.0-. (=BDBGHEJD.')!"6STURRTT_cJLNOQPSWYYZZ\\`a�Û         4RWOPGLNQSQLINNHHP\JP   Í $  DŽ…“‘”—•””’“•”•–•Ž‘•”™“‘‘’’"#ƒ™•™•™¢Ÿ¦£›—““••—˜——™—Ÿš˜“˜ ad     ²    !7<9&"(($#%$$%'+.56 Ž    ¨ " $",()&),-CG*('%'),/0/058685�ž 2,-,,  Û  %EK      !VI4'5BQED@I9*2VrÀ¼ËÊÌ®ËÍÌÌÍÎÎÐÐÑÎÎÍÐÍÌÌÎÐί½ÐÎÎÍÎÏÑÏÎËÎÌÏÎÍÍÏÎÍÍÌÎÌÊËþÔŒ—.#!#"&"      6,q~}f^WYZTTPQT[]dlkhhjgefkpxƒ„>! 9!%*2;<AFHEH/#$2[\]`feefcL?DILpuvssttqyhmopqwwy|}|}€�“   ‡‚«  "9> ‚‚ž=3$07/5'' +#'H\¤™¬ª¬¬®¬«•­«®¯¯®°­­¬¯­­«¬¯¬š¬¬­¯°ƒ­­«¬³­­«ª«®­ª«­­³ sy   â,T^\E:56453-/156?EFCFGEB?DMS]`,?" )/-,+24-1" =ABDEFGGA/(+(-LSUQOPRR`aGKMOOQTVZ\_]^^`b�¢        Ù   07     "  .A‘…•’”•““’“Š’•–••˜““•™••”—”x“••™—˜™š›——••‘““•á“•—•”˜˜—¡ eg#     " 496%"%%##%$!"&)/53   ¤ ! !()('&(+);A%%&‰()+/3455354�– 30+#($% !ü       ,XA]   UD#'* 9PUNXL=)/4x³ÀÉÊËËÌÎÍÌÍÌËÎÍÐÐÏÎÎÌÍËÉÊËÌÌËÎÌËÍþÌÌÎÎÍÎÌËËÍËÌËÍËÊËÊËÍБ"     &(!.x€ibZZVWVUSO_\afiloklhfdlt‚~6  /J8>BBEGHK4+,.U^]`ddgh_JRF8Pvxuqu‘qxkmnptvz~z|~€‚�– ­       ×"I7Z?0./"'36161*(.f›ž«ª««­®­ª«¬ª®¯°¯­®­¬®««ª¬­¬©«¬©¬­¬­¯®®­¯«‰ª«¬¬«ªª¬­¬þ¯¬ ƒp     Zb_E?87476152;6<AHHJGJD?BIN]]-"$%,7J34424821&#!;BDDFGHE?18&0UWUPSRTR_aIKNPQSW[Y__`bc�—    ¬      þ@2V  !  Dƒ‰‘”’‘’‘’’‘’–••˜™–”••“’’‘’“‘’’‘’•–˜—™š˜•“•‘’’“•’‘“•”•——ššq[    Ä 7=:&" !#&(%%" !%,61     ¬  !()'&'((';?%$#%&(),,2354245�ž 3+%&()2!·   /YF$  …™%QF7!-"364@C9;k­ÈÇÇÊÌËŒÍÌÍÏÍÌÎÌËÍÉÉʰÌÌÎÍÍÎËÌÌÎÍÌÌËÊÉËÊÌÍÌÉÈÊÉÊÍÇ õ   0z„ƒlc]_]_]WTQeacdjlnmmfa_es|8  ?>G8@ECEHJL8.+&P]addfliM7KFEbuvvusrsqw}jqptvzz{z}~}�£  ""‰    %I:!¨>1)*#!''"$[™¥©©ªª« ©©ªª¬®¯®¬­­«ª«¨©ª«ª©©ª©««¬­¬­­¬­ª¡©ª«ª¬«ª¨ª«ª«®§„p  «  "^f`IA=99><450A<@@HJ¯E>?COZZ/"  )IHH14723764%8AEDFJKF-!1,-DU•SSRSQ\aJOOQSWXXY__`^`c`�–      ƒ¼     A5   ˆ  “   C}’Ž’‘“˜••™š™™•”‘‘’’‘“‘•“”—•—™—’‘’‘’‘”“‘’’•”•™”r[ à    ;B=*##"!%&'&%# *3/    ¯   #"''('((&'=@&'$%'**,+0043475�• D:1-0')"“ª     7YN Á&NHF:5'%C=-/@C<a½±×ÑÐÒÏÔÐÒÓÒÕ×ÔÕÖ×ÖÖÕØÔ×ÖÙÓØ×ÖÖÙÚ×ÙÙÚØÛÚÛ‰ÚØÛÝÛÚÜÚÚÙþÝz¶}   1 8}…na`caia]\^gdemrroqnjbahv~|2)T%wpM2.4<DEFHII3/)M[abdekYEBD8BnqsusttuqŠwzjtssrvv|~‚}}€�Ü  +%    -KC Â<20') -)%&!U£—¶±¯°°²°¯°±³´²³³·µµ²µ²µ´´°´µ´³¶µ³µ¸·¶¸¸·´´µ´¹¡º½¸¸·¸»»½h–_ ò% -b`aKB?>?I@:;=ECEHMQNMKG@@IW[_7#'O#'ppU:.03846468&;@EBHII:'*,%,PSTTQUTST\_KRRQQUVZ^`a`\_bd�£      ¹      &B< ¼    =€Œœš–˜–˜˜™˜— šŸž ¡›ž  –¡šŸ¢ ¡¢£ ¡¢ê Ÿ¡¡¢¢«¦¥¦¤¨¬®¯] …O ?<=* $ %!#&)*&(&% #.1. $D/ ®   "% $&&(&('&)@>%)'%&)*-/1132289�  E=3140/(‡±   2\P £)OFC>92,9:51BEF NÙ*;©º¹º³À·º¶¼½¸µ¯´³«±¯¦¨¢«¢¤¢¦¢££ ¢ ž—•“‹’‹ŽŠ‚Ž…}{wwnqlGhÑT þ   1=„†tkdfelggmhg`cgnlmrrlhdhu{|4%p{ i715:?FDGHJJ1-(KW]^a_bH9PG@Zoppssqptsxxkrsrpxw{}|ƒ‚~€�—  -#ƒ‡Š ˆ – ,QG ó=2/,,#%##'*) C·!6˜£¤£¨¥£¢¢¤¤¡¡œ ¡™›š“™’”‘’’Ž‹‰‡†‚z€|{u|slonkhee]=Y®B Ö & .ddcQIBDCJCCIGG@CDHKKNLFC@LVZ]5)"jwšl=,..1537638)!9?CDGED/&8.)=QQS”QRTT_]LOSRPWVZ\]ac_`be�    ‡Š ¤  (IA  Ü   3—-†”“’Š—‘’‘”•Š‹ˆ…††‚€tƒx}‚|{wvwuoeqnik^fcb`c[SVZY;Nš4 é  "A?>/&! &$%)$$ #'&$)*&$!%.0-  G?B  ! %'•&&%'*@<%'('&)),/035457:�¯  F@6.436=!¦    5cI  ­#MHC?>76EKI5C@4¹« ¦ #pã°#  ‘è3@€ƒ‚sojrprqpz€w|wpqssqwpolnwv1 @]E/,27>FKFLIGL8'(CRUY``UA(*;Lfnomlpwusqzzlrsqty|}€|‚‚€~�Ø 1(,    +T=  ‚›;4/++'",,-$()%  ‘ ‰ Ÿ _Ú  ‡‚â (.bc_PLIOMPNLV]TXVNMQPOOKJHPW]^8-%DfU;,+01014:85;,1=@BGF7-+2GQPQMPVVSTa_KQTSRVY\`ƒcd`bc� ¸    &L:  — ˆŠ‡›Wµ ‘¹ '@?;.)&((+*(/1,0-''&(*-)(&',4,  !&  ¦   &&%$#'((*B=$&'&'+-.2ƒ68786�Ÿ  9.#%.552!ö   =dF   *PIA@E:4FOZ@IB+ 0ÉЭ§¦¥¦¦£¤¬°®­¹µ³»ÄÃÇÃÁ¿½»¿ÂÅÄÅÃÅÆÉÆÈÊÑÎÉÆÊÊÏÐÏÐÍÏÎþÍÔÙ‹,     #7 E€ƒƒymnxuw{y‚ŠŒ‹„zz|‚yyurrt~…z-)(-.09?HOJHIKL>12 FW[Z^XD;@,*Mllkhlpqrr‘qz|nqrrsx|€{€„‚�Ÿ  % ¶   5U@  þ;5-*0)%,6A*-)!  -«®–‘”’•–•”›š›Ÿ¤žž¤¨¥«¦¨¥¡¥¤¢§¤¤ª¥¥§¤¨©©¯±¯­³«±¶·¯®¯²²´¯¬´º‚)    å, 7dc`TJKTQUWT_ffebWVY_UTQNMR]b_3..%;6)*')26945977/##6ACBGA'%' 3KMMLMQRUTSa`LQRSSUY_aab^cae�Š    Ž  Ð   -L:   & þ %—~{zz|y†~~Ž”‰†Œ–Ž’’ЇŒ’””‹›•Ž““–“𥛒”” ¡Ÿž¦ž£ž£©­y    &B>;0((*),.,36;;7/,-¥2//*(*+281     ¢  $&$ &%$'(+G>&''&(-./1152748�œ  ,"*;<.# þ     <hL      -QIDCD>/70*,3, 6k‰˜“Œ…“‘Љ‡†’–…ŠŠ‰~£©žš–žŸ£¥¨¨¬þ²œ’€‡‰‘•]bcve_`Y^ZV;           #=A€……wopvxx{}†••†„ƒ…‡‡zzvpttŠz*%3-+/.5>@GJLMJOJ>..FYX‹[bYQKTQN_kkl•nqsrox|nprtry}~€|€„~�þ        6Y<  ":30+-)"  1^vzxË|yr{xwwuos{nowujo†|vtzzx‚„ˆŽxugeefkrOTU_XTTPROL8    ò  1 4cebRJIQQSVXaqn_a_abcUUOLNQ\f\.&/%83'%'%'08706775,7ACDF<1/4//AJLKLMPRTQP_`LPOSRVZ]__b^adea�À             þ 0R5        !Phpohklcdnfkpkfa`][hhOQai^_X]XWZ^[aciWVOVPGKRCGDKIJGIHEA3    °     &A?</((*+,-08CB686É/0+'*+3<0     $%$"'&%('+H>')'('-0/228559:9�·  .!#.57+$     “    :dBù   2RKBBE=4A=&-;3 #     -0;9@Se{o`cpss{yyƒ‰”nP1<MSXTD  !     ò   !<@€ˆ…{smqxy€~ˆ…{€ƒ‡Š‚wwtqst{ƒy&)0:0(,0078ADFIGHHL@.*4VXZ\RJ]eZ^glijohnoopoz{oqqrtxzz}{{‚~ƒ€�“ Ú     2W8 ://*+("&# !   þ ""(%/=L`TBFRYU[WWahsK0!&/28= )    - 5bhbVMFIPTYXb`W[\acg_SPNMMQX_\)",3»;.%$#%*,.2114753* $@B@@4,;>8=GMJJOJONOQQa]NQPSQVWY\[\a`efb�·           † ½ -N4         …£+E;..78463069D) ¿       (@C=.(&+/.24:6.227˜0*,+'+*/5+   ¯  "#%$#%$%%&&+H<))(('*.-10475<=:�þ 8/*,2<A5#          ?dF   *RLQDD7+6D>3>:! )+*#þ <LNP.%Bqˆ€{zމ‰ˆ…ƒƒ‰‘q^@@RW]c%U         "@D€Š„{uy~{€’‹ŠŠvyxsuy¯‰z$=0'*-/37:=BEHJIIJO?2/'0UXY\H;TQAUjmjomononxzprtuwyx|}~„€�œ  %" …‡…  þ    7Y:     :19+.%*%!$    %--0 2Tne`^romjccagpN8)&25<>5   ¢  Ë/ 3ciaZUNOVV[ZikmfjghhgQTTNOS\e])&,E5'$#%%)*133025455&=A>@.!63'9KMJNMO_\PSRUSVW[_^]^`egc�þ               1O7        ‚þ   6UPHFTNKH?:7:A*               )?F=0-+.2057>=@:=;:87)..)+-28+ ¯   $%$&%&%&%$*B:)()*')+/32‚49>:�þ  *),'-@D0"       =`8   +MI@=A8(03'+=8+ &''#Á >NKO=.,+rЇ‰ƒŽŠŒ‹‰…ˆ’nZFEVU]V 8Z      ü   #8 Pƒ„„‚|~}}~ƒƒŠ‹ŒŒŒ‰ƒx{ysy~Œx($*+/15::>@CFIFHKLG21'.SWZS9:64G_ljhmlpomonnxxmqrpvuz{||{~€ƒ€�  " ‡þ   2V/:1*(0'"!"     "0-0(&&$VsmpgsqunjjffpN6-&54<9!< þ   ,:cdb]XXUWW_^fghijhfd^SUTPUZ[j]2-.,,$!%%$(.433254773.;>>:"# ,BNMJMKOPMONO_ZKRURSSWZ][\`cdec�Þ             *N.          þ   6YWXOXRUMGA<>E*         ! )@><4./.02869;:>?::63+1.*-24=- ˆ ±   #"#&%&%$%%)>3'((&((+-/0/457<9�þ *&310GC+         :[7    2JCED@46B<.5A<. )%² GKJOQ=/GyŽ‹‹’Ž‘‹—m[FGWT[X#>PŸ          é  %/Z…„„~|~z}ƒ†…‰’ŸŒ‹ŠŠz|{y|€Œy"++-1466>ADECGEFJE/-$&TRUK>`U>Selhfhikonqqorvotruwuy|}~|}|€}�ž    ¦      4S2‚¦#6,,)(!)#%" #    ¿ '.-02+%1WwsupusxppnlluI5''8486 %2    ö(AedaYYWSV]dafnkyhghgdUVVUW[]i^' ! $'!$,1220024350 <88/(@2$6HMLJJIKOMOPO[XLTSVTQUZ\\[_`ac`�ï              .L0    þ     =_\^W]XZOMGGEM,               "/B?<1//,26:69C>M“><@;:.1/.134@1 †  •   # %"—$$&%((*;4&)**+)*,.34647<7�þ A0,73@7!! .          =^8       7OIFCC49C=6DA,  •"DJINMICN~–ƒ˜“’¡™oVBDTZ_QAS"'*%## (#(¥$ #%+# #    **Y„ƒˆ€{}¼|€‰ˆ‰ˆŠ„~‚‹}zwx€ƒ‹} #'1)+/346>CBCDGDIIF1,*MTVFDbh_dfllhonokluvoqustvy{}‚€}}�   - )¬    4Q-ƒž#4/'()!&$'%  þ  +/-/**(/`xu}z|{{uqnmlxI1 4:<, %2   "Accd[VVTTV\Zeedcf`Y\dWVSRU[`h¬Z $%!&&*31/+00/62 9::&,>C>DILNKJIJO’MN]UMOSTRSTX\]\]b^a`�³  #      )        Ë      .H/      þ  B``fbda_TNGJGP+   ""%! !"$   +@?=4-/131218989:524:00.,045?/¼    "$ #%" ""&%'&*@5&'+**)**/4488389�»   ,$"#)*       ‚  ‹  8`-‹ Ú5JECAC22KD:DD, GIGKFFKO~”™˜›˜™’Ž‹‰–rX>AWY[M >H    þ #*$$'"  N„ƒ†ƒ€||{}‚‘’‹‹‹|z{w|€„ˆx#"(**/1248;?@BBADIGC/&!<]cB<FHPdgkmgkkjojojjuuonppotwxz|„{xx~z|�‰   ´       ” 0R)þ%40++," 0+!))     0--/..12cu{€ƒ}toljovM5&)59;*.*    å ?ede\_[XVWXZinnhlgifhWVVPU^acW #$"&$'*)+1/,,24363" 0CE*'/+5FJNPJNNMRNRMO^TPORSQTVWZ\ZUY__`�ò                  )H%     ‹  þ   C^fjgkdaTLDDHN,      #" +?=<7220.-.0<>?:>8;8;//0+-448+¶   $!$% !""&#%#)?0''&&()*).31435�µ  F! *      þ     8\0  0GE>?>'48:BC%(0() KMJIIDKO”˜™›Ÿ™š’ŽŒ”œr[5:YTWL :4   ƒü    P„ƒƒ‚€|~}~}œ“‘˜‹~~|{~€„Š{*&(&',.,27;;9=@@DFAB6(1RKBL<6Lcgjkgijlonnmmsqhjmnoprxyƒ}x{v|�™   4    ‹ Œ     1N+ ƒä#1-*,,##")* "    /0/+./00`{~‚…~~uqqmuzN7&'8790'  ŽÞ?geaZ\ZYXVXWkkxolrkfkWYWV[^beQ#"!#+)()*(-(/85414$! (82(0#7JLMNJNPOTRQOQ[RJNQQSPQWZƒ\X][_�þ  $                 *E'       þ  Ebglmmd_UPJHMT-        .@;932212-+,<:HA?C:8>10.-169Â9%       !%$!!"$&&$$*=,"&%%'()+/1141435�Ÿ  M4$!*6-%  ‹   þ     8[+      2EF@@>.1#%$&00+* *RTJJHDJN„•“›œŸœš–“Œ“•o]07WV[L K( š     ç   +) ]„„ƒ€‚€~{†–”›•’•‰|}~{‰Œs'%'*'$*,-2788;?ABADEB4*4?>CL\UZ_eggeiflkojlhurjhn‰qtwzzx{{|z�þ ;(          /P'  "0-'),! #"±  67/+),02ezzƒƒ…€zuoottM=#&88;44 þ  !!Eed`ZZW\WS\[i`qnvolqeXYXV[\giW$!##$+''*,+-//67653$ '('',98AGKLLILKOQSMNM\UŽLLQQPRQUZ]YZ]\a^�ñ )#               )G$      Ó     Gbaimld`ZUIGKL+       Ä   1?:612010*..:1BCKA>C6./.,26?@(    « !#"# %$%!#(?/#"%$'**+//035464�å  _G'$&+30(#       "69:?8*.4/2   >Z,    7CþA8*&&)14($+*)-!" 0RUMLNLHL„•š›šš•’ˆŽ—s^39VZbGH        .) h„„ƒ€~À„…–’–›“”˜Š€}€‰q'" $&$!)..334<>>@DBBDA1. CSG]a\Z^]bgghj”pikjtphlrpotuxz|{yz|z�þ   K8        35730'*+)+   5O'  $1,,*' !$þ 6:1//224ex|…‚ƒ€xtkpovS>&%8:C15       #!Lbd`ZWW\^W`\gpmpwooud[][WZ\eÂjT& ! $!")((,/0.307:894#.9.==<@FFJMMKNNKMTMMP\RKQUSRTRVY_\X\Za`�ï  41          0/+(&&%#$  *F'      þ       C_aihha_YSEHGM-  !          3=9610.11-2.6?=BÎKAAF5/1.,/28;&       !# #!"#&!"*=."$'%'+)+,13/4034�Ô ^V-%%2-'$      ;UX_bg`ajeiW    ?b-   þ 6@><?0 3-'193)*-,** #5RSVLMMIR…–œ˜š—™•–’“™n_4@[[aB E          é  0( g‚„‚~{~€‚‰‚–‹•‹‹€‚~€€‡‘i)!&,,346?@B@CCABB72!-K>;MNMY[\bcfeeklhkihivqdknpqsxvxzxz}yzx�à  KE"      2NOVX\TX`\^M  þ 5S%  &0(**#"! # !266-/225ew|ƒ‚~~wxruuxP@(,:9A--      ú  % Lac`\ZUZ[\d]firhgqigfZ]YYZZbmK '(),/215479553&#-&'5/3@GGKIKHJONKPLLN[SHORTTRTVY\Z[]Z_�© 5>        þ  *HGIEF>GGDG@  .J(            F]`gcf_^WTOPOR+  æ             0;:612//037.68@9;C:89/2-0025=   ‘  ! —"$#%"!+>-"&'%&)*),331303�þ   eI'&3-#      ;W[_]ab_db`O   B`&  2;==<(9:2=@B;1*+*) ""Ç5VVXRKLMU…‘”™—›šœ˜—“•˜›p`1;_\dD @  #%      È       4,b‚ƒ~ƒƒ‡‡Œ’‘‘ˆ„†~}‰”k& "%&-356>@=?A@«B:0"CIBB?DMUY[aba_cdkjdieiujcfjimostutuvy|{w�   S:    †  ® 4MQTSVUUZYVI  9S  þ'/))(('$'('"  $66820424gxz~‚|zwwzyP@&+=;B&.               Ê (#Kcb_`\W^]]bbfknkkjlha^bZWW[dnG &'(),064134435,,-'*,(5AEFIH˜IJOPKOKN[NHJMQTQSUUWXY]__\�´  B5        .CEECBü??   5J             E]_echebZVUUWU-    þ         3?<5452331426;=<?><:83521/49A       #'"# ,=($$&$%'ˆ**+/./4552�Ü  VJ8!*&(      5PU\_^_`b[[O     =^=QA &3 ä  289:6!-?14=;C:,()0(#  6VUTTNJOTˆ‘”œ š›—™“–—q_/@`a_A 5D#  "#   ø    .0 _‚‡‡‰‹‡ƒ‡’““’ŠŒ‹…„„ƒ‰’i"'(0177>=<>?>?AB9$ 4GBESSVQVXY_``^abfebefhvkeejjhklmottwx{v�²  G;*      /IMR†QWSRF ž   5S6RA %2   þ%,**%,""%(+&"  #:8642443ky{ƒƒ†€{{wwx|M>#*<A<%)0            $š# Gbb^dbaea_bghlljmmlfdee_]¯ckH  !!&&(*.250144346,'.'+447<BDEGIHHGGLMK‘O_NIIMPOONOQWX[[_[�“  =4&   ê     *@<=<>B>??::    0I.?; #1       þ G^bgglfe[ZSOQU,              1?;379984258:<;;==<889852336?Š  ¦     " "!+?)$#%$$&(…,,04742�þ L<A#+$      $ (<HZVWOOVYSF I6,Q$ :eHm~"<h—1 &  -<:<2/2AO557*&%&,ç 7VYSWPQYX‰•žŸ œž›—›n_2H_eeBMB$"           10 bƒƒ…Œ‘Ö‹ŽŽ’•–˜˜–”ŽŠŠ‰—d  %+/4158<>=:<?B<B;%RKEHJMPVXX\]_`_a^edhgghtgdgfhikjnsvvwwxyw�#"¹ :02       ! ';FSLKDENNJ>  þ D8,L$ 4W@g~5Cm–2 -!"  +*,$!%.5$$  %9:7547;=mx{„‡†ƒ}x{|{L?"0?CA( ;-      ü      &$LcabgijjfeehlnoqqomhgihdeeggrG  $%#+)+/454239736/72(,+.7BCCGGKKHGFMLNLKP\JHIJMNOLRUWXZZ[^Z�þ/-+        "4182374=<52 )%(G# .L3CT2`"       Ï J_`fjkgha[RPSQ)! ,             µ   4?:5:=;<<;::==?BA?979;=:6677D  †  ‘ ™! !""->&"#"$%&&)*-/23563�þ =EIF,(!   $# ;[[\A3XO2,(+40+5a|“—V ?e]“zQQDf^( DE 0;<:5*#()2-%:9*%%&( Ç 2V\RQLQXZŒ’”Ÿ ˜žž——ššœjZ2KY\a?D$$"  ×     0( b€…Š‘”ދޑ’”•”•“”ŽŽ‘ŒŒŽ”_  %*.0-366:75:7>>?;*HM@;ESKJTWœ\Y^\b_`cecegsicedhfljorrqrvuyz�ß+#18:8  )" 5OT\?9VM/&"%*)%8^s‰Ž[ 6VP‰ybc_m_.))LW% þ-'&% !"(     #9:3006:;oxy†ˆ~‚„‚{yzy{K=%3:;<&2         '! ”F`]adjmiddfjlonmnmmjgÇjggfipA !%()(+/053145565/2.(#)4.5CACCFFIGIGJKJIINZMJHHLJOMSUVSVZY_Z�þ '550      49>R0 0- !" 3IopE .J7[A)2 7.    „   è O^_gldfhdYTSQR&  $         0<868<=<:76;>?Î@=898:<>966:B     !!,<&!#"%"&'++-,13343�þ 3JAM.)&-/548?@1#-Rx®~uL–žª“^053"4jƒycE?72621*3.,+.[‡‹qdQSdx€oxV;D_&0]c‘; -:;542),):6%I:($È"5X^TSOQTV’—™œ ›Ÿš—™™•žaS0HTYW8"G#'&!" £    4$ h}}ˆ‹‘“–Ï••’’Ž‘ŽŒ™N '*.,/.//36A25;9@@7Q>FMHMUPQPRW\Z[[daa`bedjwjafefggjkmopswuxv�þ*<3< !&,*.0) *6.3)=Xs¨zoD…Ž—‰Y/2,!:j~p[<.*!'$""#$,Sqz€lcSHTg€r}g]\e;Ghd‹S. )"" ""!(%4)   Ä  %7:41/258t}„‡€„‚~yzywG7",694$0    ù    (K^Z[behgafiknpnmmkjhegjgefeiq3!%,)*-.08;<221165%4!'-(,:;A=@BECEEIJJIILIP\LHIMKJJMPQTRVYW\Z�• "702  Ì '?„aP-hiqpE)0!C^E1+AIT@8.9EBI,,-4>])   Ê      Qbfhoefd`XXVR[#   Þ         39546898379<@?@<><9979;9876=D   ©    .?' "#""%&)*+*02/0�þX,MKV")! 1-oeD!  #JL$1z¨Œis}r†…œ’v6fªÉŽroT_own__VYbVVƒ– ŒerF2Rb^UDkK$7NYnvs]* (6;40?0($93#))'!$ è #6YYWUPQUV˜œ¡šŸœ••˜“”™\O4YTVZ8#8&0'  !   1#lzz†ˆÕŽŒ’–—˜—“”‘“Œ‹ŠŸD  $))319@9bohyf9@AEA]O=IUZYKINRTUYX[\cb]abc`eve]bcfdfinknnrttus�þW =8A  #e`A!+089RW@Eyƒchvk|{†m5`›¸e`BLT`UFD;<KKRu†‘ƒaf>5JRV_Uo_OV^csxwg>B! &!!+#!'!#  þ#8765/289rs~ƒˆƒ€yxzux{A3#9778"&      & RZWZaaeddffdjnoqolmjfjnjedchÂx/!"34:BB^kgp[82597A/ '6878:>?BCEBCHJKGJIJHQ\GDGKLJJMPPSRUVVYV�û E606 =D4 #IjR5;TOPSkaL+cŠV30&07.$&"!'$&@TaV5[>5F1&!%+6>?9       µ  PYdfoegdZWYPQW!   °     6721348µ676;??@>=@97;=:757=I$.)1# %! .?$#" !&)(+).0//-�þ 4r #K>/$*(2AWss$ 2p?.6ª©I6CLnpY…'`s¶¥m’S£˜˜`5<<@BCg›˜†W&}zNgjf{`EThD?KIBCOc#-$>$%4;5=HD.95#.0D8(#$&# (#! þ $5SZVVTTY\ŒŽ”ž Ÿ¡œ™—˜’“žhU0JX]`<3J.71  '&%$)+.'#),21"(+)! !" '*!*# gvw‚‰ˆ‹Ž–˜˜š˜™˜‘‘“’‘Ž‘ÂŸG  03.<2PvŽeFLbQIEEi€QQDINQ8NPUXZ_^b_bdaacc`bu_[ccdejmnnoqouwur�þ 1m =3 !5Qpx8/'%(*6EtQ8CE¢¤SFF"LgfR‚/al¥˜d€R”‡ŠX)*)+9Ie‹|T/skJgaWpgV`q`V\]^\akB:12%:",-('2'$(%$/$  þ 285513;?rty„†„…€|zzut}G7!09;@&&5!  ##   # PWR[c``dfdghnootppoihlkhfgfk«w--32<A\{€aRWcN>=;Z^/,"*.74B@AFGKHFIKJ”IHJN\@AJJKMMPQSSWUZYYV�– %W5/ <LWÁ  8#wx)%(=>8h@;um0H"a]Z32ZYV3FD 2FJI),"" #"$2þ!      S\_jlkjc^[XOJS$"  ! !Ì 35/25348:59;>??EAA?9:==;686>G 47#.; ‡!/B "‚#$(…,,.632/�þ JJ2;791/&w=E2( "'KhU%3C4%*IhMO›Ømf[ޏ¬ƒ|;'11I}‡L.-k>[aAL1z™fhb8F˜4(99Vƒ('369?7 9. %  (  Õ  !8TXWRRWZ]–Ÿžž›—”–““˜oW.SXTPBSY?>IOKOGDNX^_ciihbgc[XYQSVVQKRQPNTKQIDIIDB9=<Ì543/+)'& Slkv{‚‰Ž‘’šœ˜˜–“—”’‘’Ž‘”›\ 1WR50}e842>K<DILqdG]RBC81QRQUTZ™[^_aa\`__rRZ]\``bfidHM^\^oq�þ 9=%&$)#p<O6) "75Rmd:<FA;4I`HMÐkc[¥œyt:%1>QxI-! 0;iKTSFWIz“jhfSEC\—E5ABU})#%#'!$$    þ #3540/5=?vvz……ƒ€zwvtuwM97862%5<)+2-/.-5=@CJLKPPLGABA8;?<8;>=>;?9=:25/2/)-'-,$($%"9KFNUY_dcfgiqtppmjokihieefgoÂs>  .TO9=x^>ADOYLFGBXC'9/#'+4EA?AAGGEGFFJHDHIJW2?FFIJGILM9@HHIVT�þ 35 ! N05)" .=3"- )7# "S¦?/)N|nPV%GS*"3 ;F("9Q40/ #[#-R       é  !X\_klgc`ZUPOLN( #% ! !&+15:<<@6322-,.13/064756194-27/)#&&#(,&%%!!#.*+*/25”8<AB?A@<=:87;7677>D½&:(1&   +< !$'%!'/*12�þ715X#0>@;#   ##>Ke&@.7 Rcc- 6aOiP€±•‰¨­‹V2#PsJ& (lUaK(7•–gimN)!Z96Z;!-, (##  þ  !7TTXTQTZ_‘™žž¡Ÿœ••’’—™qZ2HUAM^bbVIitr}…‚‡“—•ššžŸœ™—’Œˆ†ˆŒŽ“•𗒛𕖙ހ‚~|‹ˆ~sosrqjiZ\d`]_o€‘•˜›™•“˜“‘ŽŽ“’™ÂœO &+FHZx:2C41.o‹Zcƒ_ZXSTY+5IQPQW][X\_aacebbgvN\SP^_bcdT +-AUi�þ+((D+-) $  0%4MXm6KAFNah9 @gThY|¡ˆ™¡ƒ[=9XtJ-,C€rQVO>L‘fhnaQF-+bF >]B     þ '547404>@vw~„ƒ†„€xurtxyQ=$/7-2=@B6(EPLW`agjputxx}~{vvqjdbgqlknst{xt|{yyxncae``mmbXSTUUOPC9A<9=IXghhmpvuqomjojheegfjjr¢u<$1LJWo>9LIHHvƒVVc=9512?.9?A‡EJGCIGHK“LNRZ5EDDLIJHIF%.-6DN�þ &"!1!"  $)>" *25 ,=:#JpXLboR)*C2  F>7I0Ne:.31 -"        þ  "T]`gijg`VMKOPQ, &# !,*1;=CDHRPTUX[TNOJC=<BLFFIPUZTR][Y_\SE?EDDQSI@>>9883) %!#-756<@DB>>=8<87376599B¢C %1 2>(?   !!0< !$$/�þ !)0:#-9>4   , &"3SS$IJ*)xcWoˆbGGF8,"DC[:BLf~0$<L<Jfg%  2@  ! !    þ"4TWUQQSY[‘˜œ›œšœ””—””˜lX6WX9NhpqGOpsqw}ƒ‡ƒ‚†‰Œ‹‰ŒŒ„‚~~ŠŠ’Œ†…‡Š‡‰‰†Š‰ŽŒ‹‹ŽŽŒ‘•”™˜š•‡„‡‡’“™ Ÿžž™™—”“ŽŽ’Ž‘—§P#»()#EŽS)*)/@@x‰“¯~R]aTO*$>CKMRUWY]``ba`_b[atI[umW`jf\QF:&):@_�þ %'-&.'  4F4+"81>#S]<NX?(9%jeXl‚fOMND  &:<T$CP9PY1fOKT'+WOOeg0  !0       Ü$664347;<ww~ƒƒvvyvwyN;$9<)3HON'-KOMRY`d`^cfiffhg_]YXecagkmh``cgcdbadchjklffgghieglqpsÝoe`[`_ejkqyxusroomkhfcfihjq: ).*I‚Q.04ANRy‚]2>>21&)<9=>@DHGIKIILJILIOX3E`fSQUQMNJ?/066I�þ #!'"    !)( !  ?7%:R2##%# #/F" "+? %$76   "    þ  T]becgbaVPTNOQ-"/+ %&$'/68648<>;<<94410766;=?815<<7::5:;?D=B?=>>??<;AHKKFIC:5321478>GGA@?=<=56349:67AM¤  N& .7=`9 —!,=-%#"" *�þ-25787B+      $$BBPMYY,@"WWŠK51[eh<) —­|[$M`)EZ?D(\|';7LIJ‚I  B   þ  3PYVSPPYY˜˜šššœ“™•“–—kW1IX:RggdDOuupx}€‚z|„„ƒ‹ˆ†{}†ƒ‡…†‡‚||zƒ‚‚„„‡‰‡‰ˆ‰‹Š’’“—””’“•‹Ž˜œ¢¤§¢¢œ˜˜“‘‘“•“‘˜Â£N$!2L''*(!4EP€•–W>TOLA?DGKQU]Y``bbac\_`iwKZm¡shi^VLN;/=M_c�þ(()'('3#     !7&&,72JIWU"ZaCP5XT~UEE^fgG3#!Ž«ƒg+ET(O`IE8d~DBSNW5Y~OzM! .    Ï %6:6756;;|v}„€v{xtyzM;$3>+9JKD&.PRNUX\][W\]__^_gc_VV`\^^`b\UWT]\\]]aîcbbdjifhhd`ekklpllhhjlcforvz|}xxsrnmhggkmjjq{;!&%8J$,1%0362EVZ|x=%81-/!<<>@CFLKMLLKNOKLKT]8HZi\YPQOS?3;BNO�þ %$# &      '")%$*!$$H'465 ]wR44J +*".D#+I'I.     Ø  ^[bdedbcUXUOST,$,# '&!(-42/,/24420344,,001/14.*,+100202315457;:9¦637?<?A><99=934;?CKLHDD@@>7656<;;8?I ¡   4EO ˜ 1=,O&"" !$$,)�þ $$/+'%$  " - --9)lªœP"(QN»W<€v]R#Yc!"IXlICD5hQ_ !4PX)7     ÷  -PVSPOMVZ”––›œž–˜“™œiW3WU3GMBF<Shedfkrprirtvww|~xzty}||~|}|svy~ƒ‡‰‰ˆ‡…†‡ŒŠŠŒŒ‡…‰”Ž‘™›ž¡¢¥¦£¤£¢ž—“‘Æ”••™¢Z#'G0!.(**.EL\&S~XO=P`a1,ABIJNMA_hac_SAUVhzF\\Xep^Uc*"*#)N^i�þ  $"!$  ,0&!;'#ACJ>%g—ŽR0/SU°_!>ztf\.PU/MV–rYNRNl]g0 9<I\/$"0)    â   $8635549>{w}|ƒ€ƒxxrvx{J;&:8%35*-"2EEBCINLOGPQQRSYWSTOQUUTWVUTNQRXX[_cc`b_]]adbccb^[_fefjeÛdehcprswz}~zyxxtliggillnq{D(-G65$%&82<:=KT`<Qa81%7?> .=;BCEFHWUNQNE=HES_1JOM_gSN]511%*?HS�é       +b[& *$€;A;10;G&/\<$%"8(+ &6   è   "a[`ddecfWVPRVY'!*''!&'')*+,((&'),)')*(%')-+012112/0/353È0--164692244341=?AFJLKHHFFA98778:;:?F    !$6›4?%0"$#(+�þ &/#()   %  10 "<95I=¾¯8!wH~_’X7?‘tlMKWf):&.39AwOc ")',       þ   0LRQOOGQS–Ž•™˜›˜—–——›hX1OVFAED;?KLJNORTXVZ[X_bcceef`imonnoqoknot|…‚€}ƒ„†ƒ„†…|„‡†‡ˆŠ‰…ƒ‡•ž Ÿ¤¢¦©£§¨§£ž™•’‘˜—–šÂ§G7)"7Y)* (.)%O\&Z~abl^TV#0<BDN`W_g‚zbO(,BbqHhP57EK<$%6N@V_f�ó  '!   $ .1 7<*.DQGT=¬ž‚?)sI{`‹dELts\T#OS(+I8>IN$;TuWh62;),5  !    ç     $43654/89|t{~~„€|ywxwz{H;$690.+-&$-12337697;<<B@AB@ABAGGHFGIJJHKKMTVY]YXZVYVY\Z\[ZWRSY]Ý_]YW]ktwuy{~€z~}}ytpkhgoopr}@E)&&?T7*@?06@8+2V]6M^DHN@993<;AFZ^^\nhlVI07=OW5TsND?BFD;3:H8FLP�š "  Ð  umV =,T/T/ W:8(( =B  $C'1  …    žaY^ecgd`XVVQXW% Š£#  !!"%&)*,))*'(),--,,*''),ß*+,-))-9?CBGIMNIOLJCB=986=<;?H   ##+6#&((&. 07#6 2!#&)�… þ )'    E|<* !91j‰„'|µ˜ƒ%$ 0}S{ThtC edH "? >{HE:DA $    þ1HMJKJHMN•‹”›˜š˜““‘–—˜šfS-DSOXUBDAPUTTV[__`dhefeikimignpqpqtxutw|}~‚|€‚~€……‡ˆƒ……„†ˆ…„ˆ…ƒ€{zlƒž £¢¦§¨¨¥¦£¤¢¢ ˜‘–˜˜›¦k-„Œ"º!I# (>D¢¥mVnxd<"1AYLJeˆzRlЏ»…T7GipDSY/.@B8.x0,4BO]c�…  þ #%    =wE9&%' $G+=#d‚7r¦x1)<x{^|]iuV-WQG-77"&4%5R)HzLJEGA".+     þ"05642044|ry€~~xwtxwxzG;#.54:9,+%5:;=>@@A@DFEGCGIFIGFKKHHIMSRNRWTUXUWXVY^]^]Z\[Y\^ZX][YTSTONBZtwzw{~{}zzyzwtnhmopq}W@"'º,%6?+M6130>DAŠ‚P@PUE) 3ARMHe}jI^{¢¢tVADSW8HJ>BFC<6x:02:AIL�… â     (U(  <JR9lXN EE(C$-4  =?*   ! E-' ,,  †þ _W]eefcZVQURTT$    !! !"$$"%(''(&)(&'+*,+&**)+-*(+*(%#$ +C?GDILMKKLGECEÊD?<6;=>?G#EI    bW*(+  )%*NI 46 B &(�ø      .$  6&R;%5!@tn†\OCY·`ƒuˆ^L2C?5hdtF  6p|'  2Y3!  ì 2HIGJFEFL”Š–›ž›–“—’•œaT/XWLVT<DFX^]\`aeikiooqrwtxyuwuy~{~€€„…‰‡‰ˆ‡ˆ‹‹ŒŒ’‘‘’““Ž‹‹‰‰~’ ¦Ô©¨¨©¨§§¥¥¤¥¤¤›š˜¥:X‘=!-$* 'Wn„f\Yh\$&4OvZVVdœ¥±yŒxp|HXljARP24#401;"'0G[`�õ       *>0" C3T@(!1;-CmgxQHD.]­f}rƒc\8><3ZSi8Z5 '&Bo{3*0 :^B&  ã  $231/-..4yp{‚ƒƒyurxsu}E:%98258(+&<?@BC@CJLJNNPPTRSTRSOSVSVZ[[Z^]aabb__bdcdfbdfedggihàgc``^\Rhw|}z~~}|zyz|{zsrpmt}6*Tˆ7 &-"/-=:=/-FShIA>JD#:%/Hum\UW`ˆŽ”n‚wlsHHWR7KLAD0;74?#"),8EJ�û            *%%%LKYX/*(,~7C3H,!&";@P   :J / ö `Wagkig]TQUPOV% "  #" &%(('&')''((+'*-+,,//0/2110201221/21245422410/0+)%7ECJJNLNKMMIACEJHF?>ÃAGHh    0=%# 0%85=$#84 %%(�¦           ;ï #+L‚B * *"$RA9YmlVˆŒ‚Rib7Js†;"=_fi0EM-]K     .BHEHA@EB–‹˜™›™•–Ñ’—˜OU.OYRV<7?W`bddgimlppouvy{xx|€ƒ€†ƒ„ƒ…‡ŠŠ‹ŒŽŽŽ’‘‘’““••––˜—•”“’‘˜¥ª¨§©¨©Ï¨¨¥¦¥¦¦¨¤¡Ÿ Ÿ¦@  #) 8aeuqocdKL\Hs}…rŽpe|€ŠOdB}qUWnkATB:0*/(-.2JY[�þ    (+   D6  49T{J !5 +"$"R> A\lm^}Z^P7Ko> 3B^gl8KM+YR$  « ".0--,,21yrv}~|yxvuqvz58"/879&"$5BFGHKKOPOUUWXUTX\^Z\^Z]_bcdeedfedekigjjlklmonŠllgffgan|€~‚€~}z{~zvtuu}- ¹ &+&+.0$3IGXSRHGBJ\Gfr}nƒlatqv|ScMzlMEXR5KA?936/11,8BH�ó            '&M.     (.#67$@7199&A# "2:G,+0) þ `X\dded^XURMQV  !!"##&%'&'*+.,((,-1--/.1046567568875523866546::;;8786:65220=HKLLQPRNMMKDEDHŒIMGBDFBF º  "$0.-$!"2-2 1$%"!%):7 #&�þ  0   FT!.  = <X^9/A%%R^`‚:C,6+2s z)    « $@<@>=>51•‘“Ž•š˜“—‘–•EJ,MSLOGG9RaÄegjgjjnrsx{~}|}€€ƒ†„†„ˆŠŒ‹‘‘Ž“‘’’“’—–“—–˜˜™›šš™˜——›¤¨§¨©¦©¨©©¨Ë¦¥£¦¥£¢£ž¥D12/8%"'Gxƒwp|sp48l‘‚{wGp|’‰ƒt‹§~J]QGTqtWaN<#()9-':;9HXW�þ    '+%!1(#>  10! 'GS#0   %E *D^aK9L@=LKZz9< &4A38q#s,  ±  92131,(2{wvyuz||wwqqwv(/!3417.+$9CCBHJKJ‘NQRUW[ZWY[[\_a^b_eªdijlkhjmihgjjkknnmonpqqrqqommleq|}}}€€}yÈ}{wwyu|841!"78/(22*;\cXS^SP9Gh„{uqTms„~xp€—vSbQCCZZDMB;/3!0@1+?=58D�ü       #3  %.2 06&H'#  MB á ]\]_X^aaWWMIRV! !"#$%%')),0.*--,./-01318764:9<>:=>987;9;58;<>==?>=:>;9Œ5@GNJILNNLMLKDDEJHDIKBH»   071/7*$ &''(#'4+',H' >?#(   &$�þ    3!:H\ %&F   S 80(&JW[^  3 > ^&f         ¸  0%(&.1,0—”’Ž—™–›––”™K=(QJ@=9HDYb_Zaceecaopwwz‘{‚„„…„…ˆ‰‹’‘ŽŽ‘”“—–™—–˜š›œ›ˆ‘›¦§¥¥©¥©Ï¬ªª¨§§¥¢¤¥£¤£¥kƒI&5)K4.Sf€]VD,;IbsinonXW}yz…ZZ‰…Z5TXw¦˜ni80`{xuuk>)1-mQ0<7;IRX�ø ! 0,3&1D5IR`!5 'H&    P"#;1 ?#7R[PJp  !5<\*b    ú 6..30)%*|tzxsvz|x{wwuw.*4,/.!+*?CA?DFJGDDOOUSWWVW[Z][]_`^`dcefhjlkjjkkiegilknmrqnprqsrrqppofq}~{{|{€€‚~~}{zyÅzyy|^qF+72H61W`uZUI627LWNQPN@NqimyyZ]|v]J[^s–‰le>7Nd]YXP7-22bG2;558?A�‰ þ    &9  '   #   45<   98     ¶ ^Y`_YW\_X\URQR !"$# ('+,/,*-0-.1./2Œ5246:=?=9:=;8ì6:6;:A><;@@?<>=>=<5?JNFCGGJKLNLJIGFEDIEIIEH&2   %J#,$".(+)#-&".#*<2(E>20'  ,  !#�û   E-',33M'  #&  /& ( 6!4E2bc< : ? $       Õ  &!&3—’–‹Œ•š—™”•š–C1!CE/*;EFZZY\_\_eM=hrqtuyxvxz~„„ƒ†‡ŠŠ‰Œ‘’‘”‘Ž“”•‡˜š˜›šœ›œÞ›œ›‘—¡ª¥¤¦¥¦§§¨««ª©¥¤¤¥¨§¥£§½ØŸ†˜x˜xmTžYndD"2FBF:N\Y4=‘ˆª¤Š—nu7%@W@Z™œp3'Govuq`:!#"/8 %*7KT[�þ  $& 318O>*,@DD1<T*+>$-/3  /$( 8+?( 4.EN7RP; A <"  !(.       Ö   2-%,6"(2}x|wrsz|x{uw{w4-,/,!$02@>ADFEFI92KQRRUWTSWXZ[^`^abdeeglklmkmlijhkkmnšrprqsrtsqrrspeny‚{y|{{}}~€Êzxxz}~{z~›¶Šz‡l‚kbX[h`|I*'5770<D?*;{y›|…gkD<MZO`ŽhB8I^\YSG7)+)37!"(1;B�ã      #         5:  ‹Ï   ^]b]XR\^UWRTXR  ###')**,(*,+,/00-246437= ;9<=:78;668;:A?=;=>?>=>A>=4;GOGCEÑFHHJGGJDAEHJKGFE4E+2?- &B0   )%B6(4 ;9 =;/)  !$�ô   .@$*B5'P%    x"&]*$#&0(;6`_   (    Ö   %#%%)–‘’‘–™œ˜“”——4%+5*'7+0FC=FL<IO:"Pbcggkpkghww|~€€‚…„ƒŠ‰‰Œ‹ŠŒŽ‹Œ’“”•–—˜–™™˜Ý–•‘ŠŽ˜¡ž¡Ÿ¢¡££¦©©§§££¤£¥¨©¦¤©¨´¦¶½¶½¼¼µ”‘‘«¢Å];.5gH;=;M&g_{›”l[jœN~8_œ Y,9&`vnkZY‰6/DQ!/;DMP�†  þ2;O079A/26P.D5<Y<8)-   ` N0+/((/>0D@NL#  .    ¸+5@6,3(}xwxx}~yupvyz+)!,-#*=58;>8>=1'BIIKKNSMNOVUZ\š]aa`ffehhfhgghceikjlmlmopmpßnpnmh`cowrvuxwxy|~{{|xvxxz~{|ˆ›”£§¥¤¨¡…ƒƒ”±O4.4Z;048D&`cvŠ„dZcˆPsqDd‘\:C6T^XPET~;7BI +14=;�Ó      !&    > $   6; ‘   …à   ]]Z\[_dcTLKRSV  !$%#$¿#"(),.,0022188456389653436679;=;:8:<<:;<7703;A?@=A?@BDFBBF@=BBDEÂ?..DF5JDPJ*'0D>o ( ' *7060*&?>  8<)$ G 1 �þ    $ 9'1 /)4P%H   0! %90)2%(&%.(&j] 4      œ1Zz: 7š—‘”™˜™˜––”þ(4."5$(" /#3==EFD;GJ?[ademkmrooustuvtpww}ƒ†ˆ‰‹‰ŒŒ’“’‘‹ˆ„‹ŠŽŽ‹‹Ž†‘˜™›˜š˜™šœœ ž£¡Š€œ—¿ ÏŸ˥¤Ä½ŸÀnH@ÊS+{^5*0¢RVJ~‚t¹µ“¦²™m€n_h_DRO?y?BP?63388:=�²     , #'%3/,2J8B8?5E[:N1  Ã(#$%74.1%08+36.ZK 1      é&)J_qB1€~wz~|xvuvuy! *":(%/,)-#6;464<AA@<BDHFMJKNONRQSSURMSSXWZZ_bcdbefdhjjijdia\`_eÕbceg_gmnmknklmoosqw~wu‰†©Œ¸­£¶“”°¨Ž±dAC´I/ovU@ABXXOrq}ežœƒ• ‰itd[\QAD?HwDCM:640.-27�ò              @<   ç  "3 ac]_ccdbUOMOMU     !&%#&&%*(&%(%&)&))+*//021421565Ü-+0/011..11)3564264475586;:%!6U1cVQb7:`Z8Y"l ;F$ ',MH6NP27%06-4!!)�þ  ')$D==G    1<)R@bi7-0@Q@YN>83@icO:*<?HD1 "-("   3      þ  "3A/23—’•–—˜š”—’—•™+&-$$(."8$16KaiE.';#fw…y~€‚‚ƒƒ„…~vzu‡Š‹’”–—™ž Ÿ£¢£šœ›œ›™˜”ˆƒ‘ˆx–¤£¦£¤§¦¨§¨§¥¡Â³Ìµ°Ã¿¥¾´Ïµ£¯Á¼Ÿ…šmBV¾œ±BQ|{m‚x@;?}|{¨¢ª¹¼­¬¬ÃÌ»£˜ y¨ÈٺПÃÊ­™rŽkhi�ø$   ' (?2*,;)-3657RJFF  +4$E3JS4/5@G;OPC:8?XNI@2<??=5*-,&,     Ü #>DNC<(7z|}€‚|wwtxv{# ,'$'23'+4,"#=+9ALQTJD@E1QZhZ[]\^_^`bb`b\TXTbddhlmorsvxâ{yzrZtssqoomdakfbYnwvwuvwvwuwvtwxŸµ¡›¬¤Ž¤¹Ÿ’«¤}ˆ_CU¬Š˜GQjmfyoKGClpoŠ£¢—”™¯³Ÿ†~‹k‘±¿¡´ˆª²—bz__Z�ƒÞ      %("?9"    „ ƒ«    `^ddbcf^VQKQOWþ     $'  #+7.13/12/67334/*+&/225::?DBEEGIJHIC1?>>=9:5+-92/#3<;=;<=;>79:66/NdIBZK.BDpQ:H\R7/D&%e<R(++1(%ž!7-<OSB/=]cFQDC-MjqNd&TjY;)<# �þ   HY((*"    )c9%0055-,)06NmdI.'0;JM;%@G9=d>)" 8.    þ  )1-V˜—•–œ›“‘’•—“"'( '-.!#"4<X?3<ZI|i¢„ˆˆŽx€Š‡†…rDIPx‚”‘•“–™—Ÿ¡¢£¢¢“››”’•hYFˆ~[hm““§¤¦©«§««©©§Â€³«¸­µŸŸ¢–•„†®±kuwo]l…Ž«²gLlqu‰sYvdrlqu_|•™£º¾È¹µ•б§®”ºÕ´ÅÄά„„Ÿ’ˆ�þ$    $&)4S_,*2A7#(8=C>! # $'R8'6;;85<58:H]PF;58=FIA)#.AH>CZ?4-+!,'#  þ  ,?99E5Rx~zx}~wtswxv"&'2)# .&/915=@/8:ECVKHO^NeW„qbgfom]flfdcT<CF^bnkmoqvrxzz|{{|k^uunotnOH;f[HPXkj|yy{}y{zyyzÂg˜¡–œ‡‹…‡xz™fnpcXjw†š–_Pbek}kXk[ja\__Wjy~‰Ÿ£§œ“|²˜‘š‚¦¸–ª¨°‘su„v�þ    '         %  C9" )    ƒ›    `[faZ`d]UNNRQN þ    -$N9,9:=;,6?;65*'.98>:@FBGKJMLLK>3CB8;?8!5) 11DAB@A==<?<;*IBN>D&%$);)+SN ( &0HR;!&5)-%'ž#(21-EIOG]=WB=K7Qa<WRY5),A8%�ö     2H :$ &/.?YXA+-*F#       #$gb-,)49 +#'+J+VjHXC531 +F9<'   þ "XP70-—‘•”•š›”’—–“• (& )0 $CBR.4.3:,@€btO‚‰xƒˆ„ƒiLnƒmjs$*KI\†…„†¤ž{aŒ•™››Ÿ†T•k˜w3E3jH5R8r`•ž”•ǘ§¤©¨^l‰sŠw€…œ•€”—`t˜‹OafW¨¨rš¹µˆzo……ZŠ—«½Ã¹ª´¿³À¯®´¤w³³vŒt¢ÃÆÆÂ¾›«ŠŽ·«�þ     :G#G'"4,1AA8QO=-1+<*     (  *&WK$#6289&/)* ,?. K[GTG>82!%?9:%  þ%[WE$*82€x{y{€wuxvsv 7.1@@28MMVAD>AICNo[aLkl\eikjWGXdTSY(7OHNfdbeƒ|]Nlqqtvx]@lo_SrY4<6U=2D=YGntsrpllvszyÂJ`vipvgrxŠ„v„‚ƒ\o‰wN^^Y–“j—˜{mivyTou…“™•„‘𙋋‘a”‘d{eަ¦§¦¡‚“z„£�à       !    )2      >7   &      Š þ * `\b_^cbbUQVQIM    "01!/635%)6'%, 0240JG-!:=@CDF3;>-$;% ! 9>>76.198>9 #¾)<5(=BD(A3 )TE"=<D4.,36"/2HZd]QZ]MU?>LR.A<6#@UTXQG+A/?U7�Š    þ =*2B:ahinU.PV61@6'  " #lZ &,,'+"9d/QZZ`tv\BNmOC26!# *   B;,þ"-›Œ’••›˜”•–•• ('!-:0'(;O;.>GT.\qu†Hp{Rkbup€tLkLNS/1A6F~g_nƒwX?V‰’‚^C„ˆ_hz^4N{ƒA1Vm£f„n†\;_„¤¥§§^Bu;b—ke`uQQG|i²g{€lmTl…ƒt¬«‰=S^>4DiŠ‘±¿ÊÓ×ÕÖÔÚ᯵ÔÊ ‰…©¬š £®‚Šœš®°�þ   %%(C(,+/(:;TYXXF.IJ7.46'! "! #!'  YH ""'!%#3U1EOQRa[K>?WFA11!%."! þ !'EE?#,/.sy{|~zvtwtu 6/$)1AG>8:GRICJQYCZdfqNcfM[Wf`idHWGGH8>IDGdSOZm_K=LhhjnaD6dbEQYN9Fjo@0Hb„RaRcD6G\srwwLAeF]½b^^slWTHoabppcbRdyth€‘’xHTZJ>J]op‹”¦«¨©¨­´ˆ“«¡„omˆˆ{‚‡hr‚€“�Š   Þ    %&&'       ;4     (&!   ¯     0  dX_``dd`WPOOJLþ   % &"$*%!)!-$/56<110 $ 00 !9*- "55;8-+$!/!"+/)",6-"25?.Ÿ07Wamx{uusv\hrfM=8GD7@>?%+68GA�þ    Z}q*A@V[~ona^fRC7A.1) "&m]$)46#!#2CFbzcjwlVD@GC/!) 5/*$% þ  !1œŠ“”œ››˜””–š’!#! )(HJ.5Q'4>B5sd{Š`HxV{fh†¶’xS11;68=rŽhU[cŒNsi‚{{d9:j‚\KEOGTcK+JPs“giBM=7j~˜¡¡›ÂaYQ8N_cTY{kW&AU^‹_NF13?n|~‰‡o‡V,Zu_EHLc‚ ©¸ÂÌÎÇÆÏ¨½èæéêìåãÞÞÖ×ÓËÉ¿ÀÐ�þ    "$Pha .?8IKl`]SORNG@E-23*%,&!$ !YK %! '& #)$'3A@UaTY_VKC>>:. %)"88,")0,þ '#(*!0*8‚qwz{€~}zwtyzw/!'"348=9NO>BU?DKOFi_mu_PlVkasbr†fP@>HDDFhy_SVZxL`[e\a_P69S_KE@IIJXO6ADh[Q<F76NXhmpoÂOQMBR[^TXndY=GYa`VL<>CbjlwydsS3Vj[LMOTez€Ž˜¡¢œ›£„™¾¼À¿À»»¶µ°±®¨¥ž©�¼     .) "8%'    þ   <7   +!!%      dV\_`da^WSPQOM      'þ! !%O>" $01! +(** !, +: *-43'  #: "&&-1"% '3EN_irrkjvYs”Ž‹ˆ…€zxuƒnhaep�Æ$8A[N@<dƒe|€{’}tdnpcF.<NZ,!!"&("þ&o["&   +.>Wlh>=OH%&:48'"'--  -//I+:˜ŒŽŽ˜™˜“””“•Œ%   !/E0`{sM!OCl~DLcQh‚nuy‹›÷šg|Y\K&BZ{\gXo^zhK[kfbcC9RjJ?-._^7YDLA.E7,-;Ik‘”€,*99HIhI:5DY}E'T)1Y;PZ[\Y/hh|wIBTPSXSYX¢£¨¬¬´ÅÔ¡½èêìïïîïíìîðîðïïðï�– þ(??VMGGXpYjmwcxjdUY]VE6?EN70$),%04)"^I   &)9KYV=?E=%"*510*/2!20 *((@0 7sutt}|þzutvwws'   /("(.9I0>[ojR6NJcnHN`Sdrjnox„ƒ^kW\R9JXn^bWcXn[DJ[ZUV?=FN<>42ZP8WAB:4C;+15:HR^a^S#*;9GI`L@=HSjD'7U+4Q@HKOP£M7\Vd`A=ONQUIONnz{…†Œœ¨~œÃÃÈËÌËËÊỄÏÎÏÏÍ�þ  !0!*-3'7-*!!$!     B7            Ä   dYZ^\c_ZRSTSPL   )' $%Í)<<$ #* =  "#  $""! #  © $ #$'(*)>JJPVVYp€Zx›œ £Ÿž ¡ ¢¦§©©¨¨©�þ     , 57&9?E4!NWMNfhggnk\xqiS^WNH</494%.$:<3"$%+lX 14 &/>8T7[_i7" -:B/1;%þ(=1 $& 6ž‘””—™–—™““˜“= "! )e0,/SŠNaXudY>—‡†v2T{‹”£‹sMXpeVQqc~rSRjtR‰„wTRz,9a=@94_J(!*,"?G %66MWaePÂ-)4OO7+"1;ZFI4>^]uyx‚«²©®·«¿ÏÐÄÍÖÝãÜÑÊÁ¾»¸·³¼Ä–»åéìïñðòðîðíîêëêîì�   þ ( 2C8<FND:TYQO^b]Y_[Qe`ZJROJD?6;A?64*@B='"(ZF!  "#  !+99F8OKL+ .53)5=.$.;-%  !$" 2…þvwyy||ywxuuyx9"'/$4_;6%;Sy}P+VUg\QE€rrhBXow~†‹tdQYh_XUg^rfPQY[GqnhRQg3:K5?;3U@'%"(,!%>@$"*(38?=70*8GM:3'6@P@D:DOM¤flivqŠ‘’‘…—ª®¡¨³»½µ« —”ŽŽŒ•›t˜¾ÃÆÉΈÊËÎÉÊÇÈÈËÉ�  ò    !*$   ?3            í  l]]a`a_ZUVOPTN    & -0 #'%)& *7@?'!(""-&%  ! ¾   "**9;;DDS[h][E`{}q{†‹Œˆ~tkeaa`\ktSx•› ¥¤£¥†§§¨¦§¥¦§�þ  #7 %F8'*(2+H_her€{aSivuk^T>DT@F=>93;/).))&#"##*oY%$=$ &'!$("=bmW&#"*0M?:ˆ<D`^T;Ž !˜’˜™——•˜þ’—›”<2!"$>qhO1JNxk&9E|pPuŠtdT0dRo¡¥‰`[hW¤ŠjXv{œy{IOWM@yu[Qg‚N‚gPP47GHE[We[Q€Œxo|‹Ž—Ÿ±½¿½ÉÄÉÑäôøùô¶žÂøðîèåçäØÛÕÌÇĦÆÃ¼¹ºº¾ÃÃÇÌÏÏÐÎÊÌÉÇ¿»ˆ‘¶¼ÃÉÍÍÓ×ÙÚÛÙÚÛÜÞ�þ !6+-/6+#<PGADEF9MZ][cigXO[bc`VPAEQHJDE>;?>64*%($%%&%'[I, . %#!%*(+)*:KQE! %-),5F@8þ8ATTOB& ! €y~~|y{zxrv{w<9#% %!"$!,1#?eaJ6ORi{a/<ImdSgo`XP?WKc‡‰mRQZWŒubUek„hgKJJGA`aVOZrMiXPL89>A?WN[WMrzlfqy|~|ƒˆš§ª®©µ±´¼Ë×ßæâ ‡¤ÜÏËÄÁ¾¹°±«£¡ŸŸ›–““••šœž¤¥˜£¡¢Ÿž™–fr“𢦦«­²µµ´³³··´�À           '(#%"  «  ?/      ¹       d`fdcb\[WTIORH   þ$ -"  =?$;'"3 ";("&839;3JNHHQUX[[\aq~‡„’ŠŠ’¤±¾¿¾qXt²¦¤Ÿ˜‘…ˆ~uwppmjhjnnrot|}|{xrvwu“toEQgiq{|~…ˆ’Ž”—”•�þ     #!$$7#940\THcd\z‡‚ofu€pZYklT6&8PVKPD5D4#))"&,*-uW 56 '(/7'$,!2:FþeSSJiT'.$œ–œ–˜—›šš’–”6( !MŒc_¦P[RM1=K^Œ«”L^hN6v^E|o_j}v`ŠŸ„ŽnY_x‘‰}††”ˆŽÛ´¢¬³ÈÍÒØßãëîîìéíñôõùùúùö÷öø‚÷÷öøö¸ôôëÇ–ÖïíëìíïìîîíêæäàÜÜÚÕÑÍÊËËÊËÌÊÇÇĽ¿n޶³²±³·¸¼¾ÁÂÄÂÁÉÐ×�Ï #& *!.476/#(D8IGEYQJ\ZVemi\W`idXT\^P<-7?OMEIG:A5$-+(+-*'`J þ(&! %"+03'(2*2;>PEHG\P3:*#‚u|‚}~|}zqt~w2,#,-#$ErTTOSKH8@ITz“xENUD7^OEdZNR`[Usm‰¤qybTXkmƒworu„{€À¢Ž™£³·º½ÆËÒÕÐÑÏÏÔרÛÆÕ×ÖÚÙÚØÙÙÛר×רÕЮ€¹ÌÊÇÈÍËÆÉÊÈÉÿ¹¶µ´±©¦¤¦¦¤¦¥¤£¢ž—˜Ln‘ŒŽ“•—› ¡ŸŸ¦«®�…   Ð      ")( $(%#%  D2  þ       %  e\chbe__]XJOVM    %H,:$ &#$.+C47(! 0:SH¦>PEGSKRŠs^kx…‰‘‘›¥²®«¯²¬«±µ¸¯µ³°­¬³°±³µ¯°±²°²©‡Q¥££¥¥¨¥¨£™—˜•””ŽŠ†€ƒ‚€}}{{ywsp,Pgadfgmqqx{}|zz†‰�þ     "$'!'$'&#$#87/P`I\nd‰}tgg{sbEadE?"'ZfNZfoZ]B/+('(5xX$#")#).+   &%#%&!!'.?Ú:6G9\f`PB7&(#46!!Bœ’˜šš›˜–šœ™–Ÿ˜ '(#-MdA9mcKWGmcK>xQ<,c˜{K“pf£Ÿ’®¾ÃÒÓâÛæéãæíôöùúúûúú÷÷øø÷ööõõöòóˆôòôóóôóóò‡ððóòññðòŠôôóõõò»ÍôóòóòñóòïíîíììëéäåàÜ×ÓÎÍÅü±©„‘¦¯¶¹¼»¶³±°­¬©™ ¡�þ   )/)''(&!$)((#'0,(6/EC?S\OVaXmd[SS^]XGWYJE.&&3NXLSW`TSC31+*)/dK*& " $&%++#$#$&()(&" &%%$)4:Û53<8NYUI@6+80:9(#3‚x}~€|z||zvz  ),&,>T?8_O>FDaXI?eM@/Q{c?}c[ˆ‡•¥«³¸Ä¾ÈÌÈÌÑØÚÜÞ¤ßáÜÙÚÝÞÜ×ÕרÖÐÐÒÒÑÓÒÓÒÒÓÓÔÒÑÑÏÐÒÑÏÑÎÓ¹ÔÔÕÖÖ¤°ÕÓÐÐÓÑÍÑÒÒÐËÊÇÇÅÄÄ¿½¼¼ºµ°­©¨¡Ÿ˜ˆcoƒŒ’”•–”‘ŽŒŠ}„ƒ�å      '"*& %#! !"' H5     þ   !# e]_^df_\\WTQWV    "  # A5G30WYX[l}‚ƒŒ‘‘˜¡ž£¨®´¶´µ¸¶º¾¸­±¶º¸®’­®­­©¬¬«ª¬«ª©ª«©ª«ªÃ©«©«¬«¬«ª®­¬±±²{±­­°®®­ª®°©¤¥¨¨©¨£ž¢¡Ÿ–‹†ƒƒ|yqh`CN[]jsurpnlmkjjX_\[�Û  !#  "/NikLj€‰‘|tcaW0)<G;/7<G495EMM=4)(.07w[$' '0)1+&ì!#%,,1,' "$!0%,.//,2AKFII25:>-:?Oš“™›œš“–™›™ Ž!"$1&-+274?[¢uš³ÉÄÆ×ÐÜÖâäéðñêôññô÷øùùø÷öõ‹ôööôõôôóòóóôóòñŠòóõôóôóóôôõƒöõõöõ…ôõôôõô”õóòòóññïîìä×ÏÏÐÍÍÊÏÕÙ›Ô×ÓÓÙÔÐËÆ¿Á¬¨ ¤››™–…~}~prno�þ #-#"%!##(!)*%((!#'(-26I[[FVainbaWUQ<7<B=57:D<>;BKJE=2-113aJ'-$+4+2(!"# ',) $$" !)'++-)( !!#(& "0./á-+,*-<EDB>4:;>48;@z}€ƒvxy{wq  (/.6NorŒj†Ÿ±®°½ºÁ½ËÏÍÎÖÒÙÔÖÓØßßÛÚØÔÕ×ÕÔÖÖÕÕÔÔÒÒÓÑÐÓÔÓ¢ÒÐÍÏÏÑÒÔÓÒÕÓÒÓÔÖÔÔÕÖÙ×ÖÖÕØ×ÕÕØÕÕÖÖÕ¶ÔÔÖÔÖÕÑÑÒÑÏÎÌÉÁ±ª©ª§¨¥ª¯±²²­¯¬¬³­ª¥ ˜š‡ƒyxzvmcc``dWWQU�á          $!(-2'#  C1          Øc]_abd^VWTVQVO  ",CJ`EW_u…ƒ•’——¤ª©¥ª±®°·¯±¸Á¶´³¯®¯­«±±­­°°«¨ª«ª¬®°’®®¯«©®°®°°¯¯®¯°±¯°²Å´µ³¹»º»·³³±²®±µ±²·´³±¯²²­®©¨£˜…„†„‡…Ž“’ŠŠ…‰Ž‰„}xqxb^ZYWTRMGCA?@C8834�þ %% #$  $(('#:PTZqb9HY6$.D78[V``RPZZXQQ[aaN]xaGNWWXSM>!& %, "! !#(%!*)(($%(")% !&¾5, +%-/!@O4&:''D6O˜‡“š••”’”˜—žžnjdfpwƒ—›šŸ¦½Ùãàåçäâêìñóóòôôóõ‘óóõôóõóóòïðòñîðîïîñíïî’ïññïîðïîîíñòññòóóôõôõôöõöõõöõöõöö÷÷ö¶÷õôóñíæääåççåéæáÜÛÛØÛÙÐÍѾÆÃƵ«±§——Œˆ„ykcttnkjf`WVR\NJNM�þ *%-/((#%&  !"!'+).5.;CEIZS9@L9./>;<MIQTNJPRQPNSUVJPaLAKRRPLLC).$,-$##! "!!#&&"''(%#&*$"" '²+&$ ** 5;+&3*+84D}nxzzystvxw}\\WU^hp{y|y}„›·¾¹½ÂÜËÍÕÕÓÒ×ÙÓ×Ö×ÓÐÑÔÓÓÒÒÓÑÏÏÑÐÌÐÐÏÍÍËÏÍÏÐÊÌÏÍÊËÍÐÎÌÍËËÉËÇÆÏÏÑÓÒÎÐÑÔÕÔÓÔÕÔÖ×Ô××ÔÔÙÙØ×ØØ×ØÖÙÕÓÑÑËÃÀ¬ÂÁ¿ÂÀº´±³¯±°¨¥§˜ ›ž‘……wuhbeWJCTRPNKGD>=<E8496�ú       ! $E2         — "cT_f\]XRÅPOUZBB@6>HMXUUSY]pŒ““™˜™£¨­¬ª«²³¯²°¯°¯­²°¯²¯¬­­©¬«©ª¨©§ªª¬¯°®¨ª§ªª©®²š®¯²°«±®³´³³¶µ¶¸·µ¶´µ·¶µ··µ½¿ÀÀ¿Á¾½»¾Àº·»²­¦žžœ››žž¡š˜’ŽŠŽ‰„€ƒs|xwf`iXLI@<>1.(10,/-+*)'&0&#)(�þ  "#<H?HSRSJ`bfIGcAc[K:Txjwsz ŠŒ}‰ƒ|Žtr‚’qPFJ&( "%,2'"8.$ $&4A/'2118CUJSNKP¼de`feemsw…އ¤« ±«¯´µ´³¯­­ Ÿ¢œ›°ÈÐÐþ¼ºÀ»·¼¾ÂÂÈÙãååæãàãêíìîíï’ðîðññòóóõõööõõööõôóƒññðï”ððîíîíîîððïïððòðïñòñï”ññòñððîïïñòóóõõòóöõöô¸õõóóïïíìèäßÉ«¸ÈÊÆÆÁ³²¶¯ª£œ”–˜Š…Šˆ|rha^VIJXYPaflgellikiin�þ    "#"&$+>>9EMLH?SSV=:Q@UL>9RiYbbg„rstkjpjhxk]Xkxw^JFH-$*" %&+)&'$&1*.1:>=EACI¼OSSYRU[abhslƒ€~Š‘—–•”Œ€‚z{ŽŸ¦¥š–•”™•“”˜››¡±º¼¿¿¾º½ÄÈÉÉÊËýÊËÌÍÍÏÑÑÓÕÕÓÔÒÓÖÔÒÐÓÓÒÍÏÊÌËÊÊÌÉÉÈÈÊÌËÌÉËÉÎÊÈÇÉÐÍËÈÈÉÊÍÌÌÊÉÈÌÑÎÒÑÐÍÌÏÑÏÐÏÐÏÓÏÌÆÆÄÂÀ¹º¤‹’¡¡œžš‹ˆƒ~xofxpte_hdZPD@=2.1>@<FJONLQRQTV�œ      þ   $  %#<+-/&$+&'63@9487$       .-41--6<==:<8A>BJFX^QTbew€}|uqpb^^TSÒex|pjlksrlkswt{Š•˜——•‘– ¤£¢¡§§¥¦§ª«­­°°²µ´¹¼¼»¶´¶·´³°­¯¯®°²°ª¨ª«­¯¯®­®®³³°°²³¯±²°²Ì®­¬¨®®°±²±´µ¯¶º¸ºµ³´µ±«­¬©£Ÿ˜‘ƒjrzyvvuedg^WUOC?MIJ99B>7-)$"')(37><8<<=<<?�‚þ! $&&  /1(&<A4E_mwz_Œˆ‘†‘–Žƒq™š¯~†ƒw~‹œŽˆgc|~jttpsq^S6"2,!%$,;DILTe]bkok„tww|~ˆŒ‹ˆ‹ŽŒ¢ ¨­µ²´µ¼½ÅÈΗÐÓÙÛÖ×ÔÓÖÕÉÌÆ©¯º°±·²³·¹ž«¸ÓÒÖ××ÒÔÓÔÑÓÑÚÚÙÙÜÝááäçéëìêéèéçêéêììîïòòóóôõŠöõöõööõ÷÷öõôòñðïññîììíìííìí‚ìêëÌêçæãçèêíììéçåßáßÜ×ÓÑÎÊ¿¹³´«­«¤—}ZoŠŠ…Ž•””Ÿ—Œ†„}pˆ€‰ƒ€‡ŒŽ‘‘‹Ž™¡¬«ª¤¥©¥¤–“’’Ž�–!$  %)(Ó-'#.1+.==:EWZ\dVgohsjrvqh\fuozhnmdhrrmYS`cY^]SYWOG4*3-#&+43<;>THKPVQcX]_`bfµhijnl}z…‹ŽŽ’’𣤧¬¯««©¦©§œ¢ž‹™‘‘•‘”•{{}•¯¬´³°®­­«‘²²³³µ¶º¼ÀÁÆÅÆÆÄÃÄÂóÅÇÈÊÊÎÐÐÑÓÑÑÏÓÙØ×ÓÖÙÛÕÖ×ÖÑÏÒÑÏÏÎËÊËÊÊÈÉÉËÊÉÆÆËÈÄÅÅÇÇÅÁ¿º¾¿ÅÇÈÊý¶¸¶³²ª§¥£–‘‹Ž‚…‚|oX6MfgaippqzrgdaXMe\fc`ikrpstno{ƒŒŠ†‰Œ‰ˆ|{{w{u�›     õ !%&+&-'-73&'58CL8 ###(5-%"& *=3&!   "$1*))/)607<8?G;;><9=;NGSV`]Z^adlnqw{‚†€{|}{rvxqz‚y´tuuvWTRkŒŽ‘‹‡ˆŠˆ‡Š‘“‘Ž“’™—›Ÿ¥¥¢žœžŸ¡Ÿ¤¥¤¨§¬®°²±·¹º†¹»¾»¼¾¼‹··¸µ°¬ª«¯°«¨Ú§©®§ª­ª§¨§¤¤£¥¡™—‘˜œ¢¤£¡œ—œ‘”•€{zyvjba`STTNC1*?;7@IHFPH?>=5,A=C??FJVS[WTW^hnmnjruqjgfecbg_�Ý&""' &&!$+.! &(-%'%/44==_qmW|—‹–“š‡“`}ƒv‹v‹h‹‘™ž’‘~ˆ™¢—swŽ’€ux‹…’—¥¬°¯«¬®²ª®¯¶¿ª¹±´³²®¬¨¦¦ª­¬¤¦¡ŸŸ ž ¨©¨¨«±·¿À¿»¼»¸ÃÃÆÈÆÈɯÊ˾ÀÊ¿»ÅÀÅȱ–ž Æ÷õ÷ö÷÷öõôôòðïðïððïîëìïðñòððïîíîì˜èçèèéëíïñòñððññôöôö÷÷õö÷õãóóïðòìëíìëéèæãçãààÜÞÝÛÍÙÖÌÊÂÀº´¯±ª£¤¡ª¨¦ —˜™•–‘ŽŽ‹Œ’‰Šx“‘”–˜ž¥³°²¶À»·ÁÃÂÂÁ¾¸µ½»¾¾Ä½¾ÃÁ½ÀÀÁÀÃÄÇÅÄĽ�þ* #%$!"!&,&&%,0 (&(-3.-)006B?Q\ZO`rlwsyiqL^jg\j\kWmqu|trhkzwzeemoke]Yvtu}‹ŽŽŠ‹‘‰‹‘˜”“ˆ‰‰ˆ…‚}~„‚|~|xwxswx}|„ˆ‹“þ–•’”“’œ ¡ž ¢¢  ¡¤žŸªŸš¡œ¢¢s{| ÓÑÙÔÔÕ×ÖÑÏÎÎËÎÍÌËÎÊÈÊÍÎÍÐÑÏÍËÌÊÈÊÇÄÆÇÅÆÇÊÍÌÍËÎÏÑÑÓÖ×Ù××ÙÙÕÒÕÓÐÒÎÌËÇÈÊÈÇÄÅ¿À¾º»¶º¹µ¬µ¯££›š•‹Â„ƒ‡„ƒtutpqmjiegkmcdWbrmoqu|„ŽŒ’œ––Ÿžž žŸœ˜–œ›ž¡œ¡¡œž  ¡¤¥©¨¦¦¡�Ç      $  0,3/5$,"+%% ,$--04..*/;??=698=ø?:JLMR\dghc_\eb^`bgnhee[Y[\UTPPONTQKNLHGE=BDIIKPTW[egdbdcdoswxutyxuru€…ˆ‘І‡‚mKST{½ÀÁ½ÁÀÀ½½»¼µ´·³²±®¯©ª¬«²´¶´­«­®©§©¨¥£ù©««°°¯¬­¯®µº·º¾¼½»»·³´¶°«¯­¦£¥¥¡Ÿ œ™¢›‘‘‹’‘‹‡€tvmlkf]^XOYU\ZZQCFFCEBB@?=AC;>9DOIHMUXblksstt‚‚~{{ƒ…†‡‚‰†‡†Š‰Ž‘•’‘“�Û +#(%'.'+4)"'*) +92,*.6@5.9@:DTNRYnމŸª°¶±À¶ÀºÁÇÉÐÖÕ×ÖÕÎÏÑÌËÐÑÒÐÐÒÔÑÐÒÖÄuéèèáØÒÔÕÓÌÀ·°§¦ž››Ÿ££¦ª«±³´¸º¹½¼¾³½¼²®¯²¶¹½º¾ÀÃÉÌÑ×ÙÚÞÝÚØÖÕÔÑËÉÉÇ®Â×͹³¾ÕË»—›£Êôôõöõöõ÷ƒõööõöšõö÷÷ööôòóóòðîìëîëéæãÙÜäæäãàÐÝÛÓÏÇǺ²°°ÃÆÃ¾ºµ»³¨­¥¤¢™›Ÿ‹¡£–‘’Š‘˜˜™žšžŸ£ž“—šœ¤¤¨«¯µº¿¾ÇÂÄÈÈÂÁÂÃÃÇÊÅÄÃľ¿¾¾ÁÄŒÈÆÆÈÉÉÇÉÉÊÈÊÉ…ÈÆÇÃÂÄÃ�¶#*!$&$*'(*0-%$*&24.0+.7;4.9A:BNPVWbntv}ˆ’‹š•˜—™œ¡¦¬«­þ¥¤¥¡ž£¤¥¥§¦©§¦¦¬¡[h¿¿À¸°¨ª©¦Ÿ•Žˆ~}wxxtsw||‚ƒˆ‹‹’“––˜˜—••Š…‡‰‹“’••™Ÿ¢¥¬¯²¶¶´²±®­ª¥£¢¡Ž µ«™’›¯¦—ty~¡ÎÑÕÖÙÚÙÕÒÖÚÙ×ÛÙ×ÔÕÑÓÕÖÔÓÕŠÙØØ××ÔØÖÑÏÒ§ÎÌÊÇÆÆÅÄÃÀµ·¿ÈÅÃÀÂÀ»·°±§©•’¡š”’•Ž…‰~Œutzh{~qlkkelt¥yy}~|plsvx€„…ˆŽ•™˜ž ¡žŸ¡£¤¢ Ÿ  ’ž ¢¢¡§¥¥¦§§¥¦§©¨¨§¨„§§¥¥§�þ    ! # '&).55?FAEKRL_[Wbgehpptrvojlnmjoorsxw||{z~y=F”—•Œ…‚‚€{uhbZPNGJKGDJNLQWU^aahfgmnpmolgZSUZ[]ecgjm¦tvz‚‡ŠŽ‘ދЇ‡yz~r‡ž–€v}‘…uMQX|¹º¼»¾ÂÇÅÃÅÅÂÃÁ¾þ»¹¸·»½¿Á½»»¼¹·»¹¶¶³°­ª¨¨«§¡ž—–£¥¡¡Ÿ žœ™ŠŒˆ‡ztmavxskefgb\]SQOJMO@OL?@A=:DHGIINWTWREBINQY]`]cmqxw|}€€z‚ƒˆ„ƒ‚€„‚€ƒ€ƒ†‰ŠŽ‹Ž‘Ž‘‘”‘”Œ‘”�þ–‘‰Œˆ–‹˜ ˜–›ž–—¤µ½½ÇËÏÙØ×ÚÚÝßííòïêáæèåäååæçäßÞÛÜÛÙÙÖÔÔÕÖÖ×ÛÜÙÚÞÛØÙÜÞàáæÐu™ïçèæàÙÒÌÅ¿¼´­¡ ¡žŸ¢ ª°´¹ÃÆÊÉÆÊÌÌÍÓÙàâçëìçàÜÖÔÐËÈý¨¾ÂÇÌÖØÙÛáäåçéêãÝ×Å^›Ëº¶³¹ÅË«—¤Äîïòñóóôöôœõ÷õôñóôñòññóññïïíëèèäâãâÝÛØÖÌÕËž»·®œ‚ƒ‹Œ™–…„{‚tyu‰˜œ•’”Œ€~}†ƒ€‚ƒ‰Ž˜•”œ¥¨ª¶·¹¼¿ÃÄÆÈÊÍÏÎÏÎËËÇÆÇÇÆÇÈÇÈÁÃÄÆÇÇÈ‚ÆÈɇÈÊÉÉËÊÈÉŒÇÊËÊÉËÊËÌÊÉÊÈÇ�þ€|tstrzt{~y||z‹›ž¦­²¶¼ÂÀÂÀÆÃÌÓÒÊÄ·¿À¼»»½½¿¼·¶±²²®±®ª««¬­­±±¯±³²®®³´·¹¾«ZqÇÀÁ½¸¯©£˜”Œ‡{zzxx{x€ˆŒ’›Ÿ ž£¥§©­³º»¿ÃÄÅ»´­«§£ž™–þ˜œŸ¤¬±²´º¾ÀÁÀÁ¼¶®Dyªš–’• ¦‰uyœÆËÍÎÐÐÑÒÏÐÒÕÒÒÑÒÏÏÌÑÐÍÍÌÉÉËÇÇÄ¿¾¼¼º·¶´±§©¦¤›™’‰ycfnp{pwrodc_`\RSQcsxsoqkiiZ^[[c`[^\^emnqqoyƒ …“”–™œ ££§©§©§¥¥£¢££¢¡££¤Ÿ¡¢££¤œ¦¦¥§¦§¨¨§©§§¦§¨¦¨©ª¨©¨««ª©©§ª�ª]ZWQQPURV[ZYZX\UW`p||‡ˆ™›œž¥Ÿœ©««£™‡”ŒŽþ‰…ˆƒ„‚{zy{‚…ƒ‚ˆ…ƒˆŽ•>J𙕒Єzvpmf^NMMKKNKT[beqrx|{„†’𤧧˜•Š€~zrrknuy}‡’™œž¡¦¨˜Œ~.^‘‚~vv€†iPSXv«¬®³¸¾ÁÀÀ¿½¿Âž¾¹¹º¶¶¯³µ²³³´­ª«§Ÿ›Ÿœš••”‡‡„€}xum^S@FMKVLSLKE@99://,9HOGCE?AB47739:87œ:AGMGIV]_`imppuzz|}…‹Š‹‰„†ˆ‡“……„…‡†‹Šˆˆ‰‡‰ˆ‰Œ–‘‘”‘’’‘•‘”•–•—““—™�±¾¸µ³¯®°­­«®°³¶µº»¾ÂÈÌÕÚßáäçèéæèéæèéêèæççèçèæçæêêíñþòðîìíìêéçéèêëêåæèêèååÎlŽä×ÓÏÍËÊÉÆÂÁÁ¾»¼»½ÀÇÊÔÔÑÑÓÕ×ÙÞáåèêìîòóõôõõôöóñíæâÝ×ÐÏÍÌÑÕÜÝáäãââæéêðÑḛ°²«¸ÈªœŸ»ÙÑÓØÑÒÝäãàÞÞÚÜÚÖÓÒÊÉþÃû¶´³«¢£¥§¡¢¥ª  ¡›š›ŸŸ›š—œ~jebhsmmk`fgX^ky€xƒ“˜˜Ÿ §§«¬°¶¼»¸¸½ÀÂÆÅĽ¾À¿½»º½¼º¼¿ÁÃÄÃÆÅÇÉÉÇÇÆÆÉÇÉÉÈÆÅÆÆÇÉÇÆÇÆÈÈÇÆÈÈÉËÊÊÌÌËÊÏÎÌŽÌÓÖÝÔÏÎÏÎÍÊÈÈÇÈÉ�²–’‹ˆ†ˆ‡„…ˆˆŒŽŽ‘‘”šž£«°µ·½ÂÃÂÀÁÂÁÃÂÅÂÀ¿ÀÁÀÀ¿¾½ÃÄÈËÎ×ÉÈÆÇÉÄÁ¿ÁÂÅÆÃ¼½ÀÃÁÀ¿§Mh¼±¬§¦¤¢¡Ÿœ™›—””•—˜§¨¥§©«­°¶º¾ÁÅÆÉËÏÐÏÕÔÏÕÎÈÆÁ»¶±ª¨¦¤¦¬³´¸»¹º¼ÀÂÞ¤G^©’‘‘Š–£†yy|”°ª¬±­°¸¿½·¶¸±¶´®®¬£¡œ•‘ŽŽ‡~€{ƒ…}}xtx}{vwuykYIEDHQGJK?DC:CN]b\cosxxz~„…‹ŠŽ“—š“ Ÿœ˜˜››™˜˜›š˜™ž¡£ £†¦¦¤¥¢¤¥£¤ƒ¥¥¤¢†¥¦¥¤¦¦¨–©©«¨¨ª©ª©®³·¯¬«­­«©¨¨ª©ª�óofa_]Z^\Z[``deffgjpww‚‡Ž‘”š ˜™œ–™šš™—”––——š˜‘š›¡§¨§§©¢Ÿžš—–—˜›š‘˜›œ—šŽ5C“Œˆ€€€}|wwyrlnmnquw€‚€…‰—˜Ÿ£§¬°¸¼¿¾¿·Âº²©¢œ–Їƒƒˆ“š›šœ¢¥¨«†4I“vxwlv„fVTQj‡ˆ””Žžª¤œ››•˜•Ó‡ƒ{{toind][\[R\^\VUZSOTYSQSPRC5)'&*/)*)#&' &0=?=CMPSQ[\[bcdomsytq{zy~{vz}~|xx~zxy„‡†Šˆ‰ŠŠ‰®ŒŽŒŒŠ‹Ž‘ŽŒ‹ŠˆˆŒŒ‘‘’‘‘”—’‘‘”š¡¥š™˜˜—˜—••™™˜�©ÇÅÿ½¼º¹²´¬©ª®±±³³·³®±·¾ÊÓØØÎÒÝâäèêèçéëìë…ììðññóŽõööõõóñïîîìëìêéþæäâåÆJåàÝÚØØ×ÔÓÐÎÐÔ×ÚÜÝßàßÝÛÖÍÏÓÛßæéêìïòóõôööõõöõõöõòñìçâÙÎÇ¿º¿ÁÌÔÓÒÔÖØØÓ½H^Ø»µÀ·ÈÌ®œœ¨¢™•œˆ~‘›œ§££¢¤ ¢™“‘ŽŒŒ‘ŠŒˆŽ’”Š†Õƒ‚†ˆ‹‡†‚‡~tpu„•š ­«µ¹½ÄÅÏÐÐÑÕØÖØØ×ÔÓÐÑÊÈÈÆÂÀÃÄÁÀ¾À½¿ÅÁÂÂÅÃÄÆÆÈÈÊÈÅÇÇÆÇÇÈÉÉÇÇÉÈÉÈÇÉËÊ£ÇÊÊÉÉËÍÌËÉÉËÍÌÎÎÌÉÍËËÊÎÏÓÏËËÉÉËÇ¿ÃÄÆÅ�ßš—˜–”’‘Š‹…„‡‰‰ŠŠŒ†Š– ª­­¦ª´º¿ÃÆÃÂÄÇÈÇÆÇÅÇÌÎÍÐÑÐÒÓÓÕÓÓÐÌÊÈÇÆÇÅÂÁÁ¿½¼¿¨0X¼·³¯®¯®««§¥¨ª²³µµ·¸´þ­¥¦©¯¶¿ÃÄÆÌÏÍÏÓÔÕÔÒÑÓÏÎÌÊÊÆÁ¸°§Ÿ˜•—™£¬««­²±²¬”1A²›•œ–£¦Šyy{„~uqxg`sxzƒ€}~}~|wmkmnlihlegfkniqihgca_`eiecb^g_]XW\jzzŒˆ”šŸ£­ª¬‹¬¯°®±°°¬¬««¤œ¢žŸŸ›œœž¡žŸ £¡¡££¥¤¦¥£¤¤£¥’¤¦¥§§¤¦¨§§¦¥¦¥¥¦¨©§˜©©ª¬«©¨©¨¨§«¬¯«©ª¨¨ª§£¤¨¨§�ªvrolkkjdc`aZXY^``a`d_Y^fnw„‡ƒŒ‘˜›žššŸ£¡¢— §¨¬¯®°²µ³°±­§¤¢¡žœ•”•þ”˜7“Žˆ…ˆ‰‡†‚†ˆŽ‘“”––•”މ{€‰“¢¥¨­±·½ÀÂÀÀÁÀÄ¿¾·´±«¡›‚ztopw‚ˆˆ‡‹‹q 5Ÿƒ}†|…‡hTTQ]]PMRE@LSVa^[VXUW[XNJIKHEAE??>CGCPHFB>><°>BG?@?=D=<>9AO]`erpw†‘Œ‘”’–˜’–™—ŽŽ‰†„„ƒ‚…‚€ƒ„Ї†…†„…†ŠŒŠ‹š‹‹‰ŒŒ‹‰Š’Œ‘‘ŒŒŽŽ’˜‘’’—•‘‘Ž’–™–”•‘–‘Ž”™•�µ×ÕÔÖÔÒÌÈÁÂÀ»³¬­®®´¶¶·¸µ²³·ÃÒÚÝäêïîïîììîïðñðñóôôõõöõööô‚öõöþòîëèêííîìéå¾T†ÙÕØØ×רÚÞßßáäãäåäæçéææçàÝßÜÚäìïïñðíîíññîðííìçåààÝׯ²¥¡ž˜”•¤¢œœŸœ›™z¤¬·ÙŽ»»Ïͱ—Ÿ¡™pknjf_r‚†Š‰…zvrz~z{„‡„‰ƒˆ¤œ¥£¦«·½ÂÆÊÌÌÎÎÔÖØÙÜ×ÚÝÜØÛÚÖ×Õ×ÕÔÑÏÌÍËËÊÉÈÇÈÉÆÇÈËÊÈËÊÉËÊÇÆÇÈÇÈÈÅÅÈÆ©ÇÈÇÅËÊÉËÊÍËÎÏÒÔØØ×ÜÞÝÜØÏÍÏÎÎÌËÍÍÌËÉÊÈÉÊÊÈÉÈÈÊÊÈÊÉËÊÈȽ«¶ÁÆÃ�±«¨¨«¨¥Ÿž˜——Š…†‡‰ŒŽŠŒ˜¦¯³¹ÆÌÇËÊÈÉËÌÍÍÌÐÑÒÓÒÕÔ¦ÓÓÒÔרÖÖØÔÏÉÃÁÁÂÃŽº˜<a¯«­¯®­¯²¶¶·¸½¿¾Àþ¾À¸µµ°±¼ÆÉÉÎÊÇÇÌÍÎÈÍÇÆÅÀ¿»¼·±¡‘ƒ{xss€y{{|yx\–µ¥™š¬¨t}vNOQIFAQ_ahhjkcYTQXZVV^`e`gbfmm||~ˆ“™¡¥¦§©©­¯²±µ±²¶¶²´³¯¯°±¯®¬…©¨©¨©§…¦¤£¤§¤ˆ¨¦¥§¥¥§¦¤ƒ¥¤¤£¿¥££¤¥¤¥£§§¨¨§©¨ª«®°³²²¶¹¶¶²ªª¬©¨©¨©ª©§¦§¦§¨¨¦¨¦¥¦¦¨©§¨¦¨§¥¨¡“œ¥¨§�“‚€€}~wohmlhbXX`_bdc˜daacnxƒ‹›ž©¬©§¥¤¥©ª©««®¯²´³þ²¯®¶³´·µ¯¥œ”’”ˆ„h6ƒƒ„……ˆŠŒ‘’•™›šš›˜ž¡¦£¡”‹Žœ¥«ª¯®§¬ª«°¬©¨©©£›™š—g^\YTMM[^RSWQXP:]{ƒŸŽ†„ƒŠkNVTO0-.-'$.7;BDDB<532;;99þ?CB>C@CJI[^abegrz„ˆ‰ŒŒ”˜—˜›•™œš˜™œ”“––˜–•‘ŽŒŠŽŠ‰‡‹‘‹ŠŽ‹ŠŒ‰‰Œ‰ŒŒ‹‰Šˆ‡ˆ‰Œ‰‹““‘Ž’‘“’–žŸ¡£¦£ œ”’“‘‘‘’’ŠŒ’Ž‘Œ’”‰’Ž“‰z„—•�¯èçèêèççäÝÛÞÝÛÓØÓÏÉþ¿»»º¿»·±·ÆÕâèììëììîïððóóôôõö…õõöõõôþöõõöõóïéãÝÖËÃÁ¿´¸ÆÉËÐÒ××ÙÚåæáÛÞâàáØÚßÜÚÞà×ÐÙÜÌ·¦ ÀÈÄÀÁ»½¼³¬©ª¨ ›–€{rjhijabf]]dgbjX§ÂÆÔÑÒÑÎÒγ™ž SKJQVP^epoy†Œ”—¡§­¸½ÄÈÉÏŽÏÑÓÓÔÑÒÔÒÎÏÌÉÇŔįÅÂÆÅÆÄÅ·ÄÅÆÅÅÆÇÈÇÇȾÇÈÈÉÈÇÇÉÉÆÆÇËÉÆÈÇÄÆÅÈËÊÉËËÌÏÐÓÓÔØÚÝàßáßÞßàâàÞÝÜÚÙ×ÕÕÓÐÏÍÊÊÍËÊÉʇÈÈÉÈÉÉÆÈÉÉÈÉÊÊÈÉÊÊÈŹ´¾ÆÅÄ�°À¿ÀÂÀ¼¼º´±´³°ª°ª©¡›˜—””“–“މ‘Ÿ­¾ÂÄÆÈÈÉËÌÎÍÏÔÕÒÓÒÕÔþÒÒÕÔÔÕÕÒÏʺ±ª ˜•’‰Œ™Ÿ£¦ª®®°²½¿º´¹¾½»¶µ¼·´º½±§´µ§–Š‚ƒŸ¦¢žž™š—’‹ˆ‰‡~|}upc^TLKKMEHI?@DIEL; £°®®¬«­©v{~n630073@EORWailjru…‹‘•¦ ¢§§ª¬«­ª«¬ª¨¨§¥¤¢¢¡¡£¡ ¢¡£Ÿ¡–¢¢£¢¡¢¤¥¤¥¤“¥¥££¥§¥¤£§¥£¥¤¡¢£¦¨§©§«¬¯¯°³µ·º¸¹·”¸»¹¶¶·µµ³²±®¬¬©§§«©¦§‚¨¥¦‚§¥§¥¦…§©¨§¦§ƒŸš¡¨�¦––››—“’‘‰…Šˆ†~€€ƒzrnmhljlkf]cw›¤§¥¥¨¨ª‡¬³°±±µ¶´Ï±³²¯®­¯³µ³°«¥ž”‡}wnea]Y`ku{z€‰Œ‘›™”–›œ˜”œ™˜£Ÿ…—œ‰zi_\{„uxwstmf^]d`SRVRI@;40/Ž(+-$$()(-_ˆ™—ð“ˆmRRQF %'.07BHGFOVcgkuz€ƒ‡Œ‹Œ’Ž’‘”‘ŽŒˆ‡‡…ƒ‡…‰ˆ„†…ˆ‚x†‡…‰‡ˆŠ‰ŒŒŒŒˆŠŒŽŒŠ‰”ŒŒ’‹‹Š…†‹ŠŽ‘’•˜˜œŸ ¦¨­¥¦§ªª¥£¢¢ žž›˜–•“‘’”ŽŠŽ’‘Ž“‘’‘’•”“‘…’ˆƒ‹“–�¯ðííîììííîîêéííëëéççâáÛÓÎÅÀÉɽ«©´Å×ÞäðòóóññòóõôõôþõõööóîïîðñôõòïîìèåàÔÆ··µ²¶¸±­®®©¥œ£«¨‘‘•“‹‹’††Œ’’ƒuifzt¡¡¤¦¢•žŸœœ’‘‘—š”rcWTJIFDKOLFFKDIE™·½¾¶¾¿¹¸À¯—¡’ov{Š”¤©´¹¿ÅÃÅÁ¼·•´´Á¼¸·¸½À½¾½À¿ÂÂÀÃÂÄÂÄ‚ÆÄÆÇÄÆÅÉÈÇÆÆÇÅÂÄÇÂÂÆÃÄÁÁÃÄÂÅÀÂÃÁÀÄ¿¿½ÁÈÑßâááãàáßÛÛÞÚÜÛÚÙÙÖÒÑÑÌËÊÉÈÈÊÉÈÆÃÅÅÆÅÇÉÅÄÇÇÈÈÇÆÅÅÆÇÇÈÊÊÈÇÇÈÇÊÈÉÇȇÉÇÄÀÅÅÆÈÃ�¯ÊÉÅÆÇÄÆÅÇÇÂ¿ÅÆÄÄÀÀ¿º¸²«¥œ˜ž”……‘œ®¶¾ÉÌÐÏÊËÌÑÓÑÑÐþÒÓÔÔÎÈÊÉÊËÎÒÍÊÉþ»¶©“•‘Ž’ŽŠ†‡ˆsrzuqqvmnsvqqdYKIYSk€ƒ„€szzxzsrpuxuo_SF=7/.-,/4/,--1.$p—›–žž˜•Œuz}pOVY^iis†’–›ŸŸ¡œ—“ˆ’”š—–˜œ±ŸœŸžŸŸ ž¡¡ ¢¢£¢£¢¡¢ ¤¤£¤£¤¢Ÿ¡£  ¡ ¡ŸŸ  Ÿ£žŸ ž ¡œŠ ¦­¸»¹º»¸º¶Ÿ·´µµ´³´²¯¬¬ª¨§¥¦¦§§¦¤£¤£¤¢£¦£¢¤¥£¤¥¥¦¨§§¦¦§¥¦¦§§¦‰§¦§¦¥£¦¦¨ª©�þ¢£¤¥ šŸž™–›Ÿž ›œ••Ž‚~wsxwkY\lx†“𧮝¯­­¯®²°³³°¬®¯°¬¦¥¢§§ª­«¨¦§¤›’‚vigjhlpnnsnkkbjoiUSbcYOMRMNUVKMH<--93DXXZ^WIROONIGHNRNG9„2*$!„ÎR„†{ƒ„|u|lORRK67=HQMT`cqxƒ~}ywut‚x{~€|‚ƒ„‚……‚‰…„ƒˆˆ„‰‡Š‰‡…ˆ‰…†‡Œ‹‡Š‰ˆˆ‰ˆ¾…Šˆ‡‡ˆ‡Œ††‡…Œ‰…ƒ‡…‡Œ—¥¨§¤§£¤¢žœž› ¡ŸŸžœ˜™˜•‘Ž’‹‹Š‹ŽŽŠŠŒ‹’’’’‘’•’‘’‘‘’’‹’’—–�¯éëððïììíìëìéîîïððîëéîîéèâÙʲ¨ ¤ › ¦¢§¦³ÃÍÖÔÑÏÎÏÒþȼ¼¹ÀÊÃľ¹º°±®¡ž›—””zaRLUSSQSWTSNQ[fjefmttxvƒ…‰Šyqsu|‚„ŠŒˆŠ‘‡…ƒ|tgrw‘‘ˆzjSJNVY^dr{}ˆ”–¡¥§AWÁ´¿½´´Ã°’—Ÿœœ™žž¤ §¯µµ¶·º¾º‡¾¾ÃÃÅÄÄƃÈÇÅÆÄÄÅÆÅÆÅÄÂÂÆÄÃÄ´ÃÇÆÇÁÄÉÅÉÉÈÏÍÏÒÑËÇÃÉÌÉÌÑÓÖÙÙÜÜßãçåãÞÔÆ¿ÃÁ¼¾Á»¿ÂÃÅÇÇÆ’ÅÄÅÃÄÃÄÇÆÆÄÃÆÄÆÆÅÄƘÅÅÇÄÄÆÈÈÆÇÈÈÉÇÇÆÈÉÉÈÈÉÉÈÉ…ÇÃÃÅÂÄ�…ÄÆÊÉÊƤÄÄÅÂÅÈÈËÉÈÃÀÅÃÁ¾·°¡Œ„~‚~w~…„‰Š˜¥«±¯­©›¬«¬¢œš–›¥ Ÿš––Ž…‚{wtr[A86;ú89=;;58?JNFGOTSWWceipqjZRSV^achjhipgd`[WMXZakqsk[P?::=AEIP^`]lwx€|#Dž”š‘‘ŸŒpuz|{}|y~€…€ˆŽ••–—™›™›œ  ¡  ¢¢¤¥¥£¢£¢ ¡¡£¢¡¢¡¢¡ ¤—¡¢¦£¥¦§«ª«¬¬§¤ §¨§¨­®³µ´¸¸»¿¼»¸®¤ ¢ ¡œž ›Ÿ¡¡£¤¥¤¤£¡¢£¢¢ ¢¤¢£¢ £¡££¢¡¢£¢££¤£¢¤¤¥¤¤¦‹¥¦¦§¨¦¦¨§¦§¨…§¥¤¦¥¦¨�þž£ª©¤¢ž¡¢ ž¨¨©©ª¦¦¡©«  ›’}g_T[WQRbafetˆ“‡ˆŠŠ‹ˆ„yvqms„}wtwpoic_ZUQR?*"!%!#"$&##"!&,/*+07454;?DMLE8124;=@@B>AG>=:73(35=EKLF:þ1'%'*)*-5=@?KWWdcW6…yspƒnIMOT^^[Zb`agajryyxz~€{‚‚‡†…ˆ‰ˆ†…ŠŽ‰‰‡ˆ‡‹ˆŠ‰‰ˆ‡‡„ˆ‡…„†ˆ†ˆ‰Ž‰ŠŠŒŒŠ‘•”‡’“”—šŸŸžœ¡¦«®­¥–Œˆ‰Š…„†ƒ…ˆˆ‹ŒŒ‹‹ŠŒŠˆˆ‰ŠŽŒ‰ŽŠŒŠˆˆŒŒŠ‹ŠŽŽŒ‘Ž‘“’—’‘‘“””“”‘’�þõññëÞÝÝØÙÙÜÓÑÐÎÄÄÉÂÁ¾Á¸­•…xiqneS_aYZYb]du‰ŒŠ‰‰‹ŒŽ”‰ŠŒŒŠŽŒ‘’“Œˆ‹Š~oijmqowpsrvqr€‚€wyvƒ|yyxur}€}jTaw||†ŒŠ‹“£¥§ª«·ºÁÃÇÍÍËÏÑ·ÎÆÄ½°¦™”•™œš’”™Ÿ®Y_Óº»º¸ºÉ®”“œ¯Á½¾ÀÁÂÀÄÃÈÅÂÃÆÆÅÇÄÄÃÄÅÄÂÁÄ™ÂÃÁÁ¿¼¿¾¾ÀÂÁ¿ÃÂÆÊÌÒÕÛÛÞßßã¡äåãâáßÞÚÑÇÅÔÝÞÞÛÛØØÓÓÒÍËÉÆÂÂÄÁÃÂÃÄœÆÅÅÇÇÆÈÇÆÆÇÈÇÇÅÇÆÇÆÈÇÆÇËÈÇÆÉÇÈžÇÈÉÈÇÅÇÇÉÉÈÇÇÊÈÈÆÊÉÈÊÉÊÉÉÈÅÆÆÃËÇ�ùÔÍËÆ¾ºº¹¶¸¶¯­¬ª£¢¤œ›œ•ŠthZKTSL?GH@C?FCJYlnljhikmslgfiplimkmorqsmhmmkm`RLNQSQYTVVYRUbbaWYWcZVXWUT^b^M;FV\_imlpv„…†‡Š•–ŸŸ¢©¬©¦£‘‰{yw{|{rvz~|€"G®™š˜•™¤‹sqyŒžœœž Ÿ¢ ¥¡†¢¢£¤¢¢¡¢ †Ÿ£¢£¡¡Ÿ±œžžŸ  £ ¤¨ª®°µµ¶¶¹»½»¼¼»¹¹¸¶´¬¤¢¯¶··¶´´³®®¬©§¦¤¡ ¡¡¢¤£¡¢¢¤¥¥£¥¥¤‰££¢£¤£¤¤£¤ˆ§¥£¢§¤¤£¥†¦§¥§¦¦¥—¦¦§¦¦¥¨§¦¥©¨¦¨©©¨§¨§§¦¤ª§�ù·¯±¬¥›š¡š˜”Ž’’‘„†~|~€wmVL<2970#*.-+%))-8JJFHGEFKOC=:CHCHHEIMOMKHFHHGKA4,0653<787845@>=8;5>856200=A:. '7;<FIGKUdchgjuv}~‚…´Ž‡ˆ‡ylYVTY][UW[`\W6–}{|yz‡kLILd…ƒƒ„„‹‡Šˆˆ‡ˆ‡ˆ‹‡‰¼ˆ‡†‡†„†…‰ˆˆ‚†…ƒ…‡…„††…†‡ŠŒ“•Ÿ££¤©©¤§¥£¡¡  š‹Š—¡¢ŸŸœž˜–’Œ¸Š††ˆŒŽŠŽŒ‰Š‹‹Œ‹Š‹‹Š‹ˆŠ‹‹ŒŠŒŠŠŒŠŒ‹ŽŽ‘’ŽŒ‹‘’Ž‘•’”“’”“‘”““Ž•�gjjh~‚zu{~‰Šˆþƒ†„……{wfc\ZYOIHCAHNML[q{ƒ„ƒ~{z}‚}„‚ƒ†‡€‹ˆ‡‰‹Š†…†}ibihjg`VS^[[_nxvjlz„‘¨¬°¸ÀÑÑÌ×ÛÜÛÞÜ×ÖÚ×ÔÓÒÊÈÈËÊËÃÃÂÅÀ¾¿½·¯ Ž’˜Ÿ££ ¯°”FXÙ¾µµ¸ÊЭ–˜¡¯ÂÂÄÃÄÂÁˆÃÄÁÁ¿ÀÂÀ¿£ÂÄÅÅÄÉÇÈÎËÍÑÔÕ×ÛÝÞÞáàáãââßÝÜÚÕÓÏÍËÇÆÄÄÅÃÅÆÄÃÆÆÅÃÆ›ÄÅÅÆÃÂÀÃÃÄÅÆÆÅÆÉÇÆÈÇÄÈÃÇÉÇÆÇ·ÅÇÈÇÆÄÇÇÆÈÇÈÉÇÆÅÈÊÆÆÇÉÈÇÇÆÈÈÇÆÈÈÇÉÉÈÆÆÈÈÉÊÊÇÆÊÊÈËËÇÄÆÉÅÈ�½LMLNabca`Yd`bonllnijhjka\MKCB?955/-2665BU`ghg`^\ac_Ycdegg`_ilhÅijdf`g^LGLJLHA:7D?=COYZRQ_gps€ŠŽ’˜¢®¯¬³µ¸¶¶´±°³±¯¯­§££§§¨£¢¢¤Ÿž™’„usÍu{…†…‰,G³ž—”—¦ªŠuv}¡¡  ¡ ¡Ÿ ¡£¡ žž¡ Ÿžž¡££¤£¨§§«©«±±°²¶¶·¸»»¼¾½º¸·¶´±®ª©¦¥¤‘£¡¢¢ ¡£¡ ¢££¡¤¢¢ £‰¦¢¡Ÿ¡¡£¥¥¤ˆ§§¥¤££¦¤¥¤—¢£¥¤¤££¤£¥£¤¥¤¥¤§§¤¤¥§¦¥…¦¨¥¥§¦ƒ¨¥¤§ƒ¨§¥¨‡ªª¨¦¨ª©©¨�Ê3023HFCFA6DADNROILFHGHGB>11,-)$ $" ## '6=DED>85<?:2:<==B?<DIEBADE@A=C@,'/.þ)%"(&#(2>>8:BHTT`hou|Œ”“œ—ššžš””—𓆂‡‹‹ƒƒ‚‡…€‚ƒygYUVZ[`ekigoe=ž…|zz‰gOMNjˆˆ„†‡…†‰ˆ‡ŠŠ†ƒƒ„‡ˆ„„‡‰‹Š‰Œ•š˜™š ¢ ¤¤¥«¨¥¤  ›–”’Œ‰ˆ†…ˆÍ†„‡‰…„‡ŠŒˆŠ‰ŠˆŠŒ‹‡‡…‡ˆ‹ˆŠŽ‘‹‰ˆ‹ŠŽŒ‹ŽŠ‹ˆ‰Ž‰ŒŠŽ‹‹Œ‰‹Œ‘Œ‹Ž’‹‰Ž‘“Š’“‘’“‘‘’’““’•—””“�’”•”•–”›‹†ŠŒ‘‹†€|þxo_YPLDC;A>78<6:MX`dmfcddegkglg]Z__Y`pmqv{|~„‰†llr{‰‡‹ ¡¨¬·ÁÅÆÈËÍÏÏÍÍÑÒÏÑÏÌÍËÈÅÄ¿¿ÂÁÀÀ¼»¼¾À¿ÁÂÄÀÁÃÃÄÃÀÁÁÀÂÁÂÃÃÄÂÄÊÆÍÖÅÄ’¿ÀÇÊ®—˜ ²À¾ÀÀÁÃÂÃÅÇ¢ËÏÎÒÖ×ÙÚÜÜáàßàÜÝÛÙÖÖ×ÔÒÐÏÎÎÉÆÅÄÂÆÆÄ„ÂÆÁÄÔÇÄÅÄÄÆÄÅÃÂÄÃÄÃÃÂÄÇÅÅƆÇÅÅÃÂÄÇÈ™ÇÅÇÈÄÆÆÇÇÈÇÆÈÆÇÇÈÉÇÈÈÅÆÉÊÈÇÈdžÈÈÉÈÇÇȇÇÊÉÈÇÇÉÈÊÇÍÌÏÒ×ÙÜÜÚÞàâáßÛ�’{{xyzx}tpjprvtqokfbËc_UFD<801-.-'))%'8?IKTLGJJKIKFNMDDFEADQNRV\][elriTZX`dnnkt„…ˆŒ–Ÿ£¦¨ªª¬¬ª«­®­Š««¨¦¤¤¡¡žŸ ¯Ÿœ›šœ ¡¢Ÿ¡££ ¡¢£¤£¡¢  ¢¡¢¢£¢£¢¦¤©³¦¥žž¥¦xw| Ÿ Ý¡££¤¦¦§¨¬­¯²³´¶¸·»ºº»¸¸·µ´µ³¯®­««¬§¦¥¤££¥¤¢¡¡£Ÿ£¡¢¢¥¤£¡£¤ ¡¡Ÿ¡¡¤¢ ¡£¥¢¥¤¥¦¥¥¤¡ £¦¥¦§§¦¥£¦¦£¥¤¥•£¥¤¥¥¦§¥¦¥£¥¦§¥¦§¦¦¨¦¥ƒ§¦¦¥…§¦¥¥§¦‚¨¨§ª§­­®²´¸¹¼»½½ÀÁ¼¸�Ì]^\]]Z\POFNQWRRPHD@@?=>@:-)&%$+.1-**))+,&-,%#')&&1215:;<AIQM568=GTæZdhnn{„†‰‹ŽŒŽŽ‘“’ŽŒŠ‡‡ƒ„„ˆ„|{{ƒ……‚†‡ˆ‡…‡‡Š„Ї‡‹ˆŠ†‰ˆ‡„Œ–›…ƒ††jQMNj…„‚ƒ††‡ŠŒŒ‹““›žœ›Ÿ¢¨¥–¡¢œ›š™•””‘ދЋ‹Š‹ˆ‡†‘ƒ‡ˆ†…‡†ˆ‡‡Š‡†‡††…‰’‡‹ŒŠŒŠŽ‰Š‰ˆ‡Š‹‹ŽÄŒ‹‹†‰‹ŽŒŠŽŠŒŽŠ‰‘‹”ŒŒŽŽ‹ˆ‹’ŽŒ‹Ž‘ŽŽ”’˜™œšŸ£¦¨ª¬°¶¶¯¨�ÄŽŠ‚„‚yyxpil]koosqqnopmumaYVDC;A<BC78CHS_qƒ••›£¤¨¨ª±±¶°µ¶½ÁÁ»¾½ÄÆÊËÍÊ¡ÉÌÈÆÅÆËÌÇÆÅÈÈÄÂÂÃÂÂÃÅÂÀÀÅÀÁ¾Á½¾¿À¿À½¿ÀÂÄÂÀÄÃÁÀÁÄÂÀ¿«ÁÀÀ¿À½ÀÁÀÂÁÀ¿ÀÃÄÇ¿ÐÖÔÓÔÔÓʨ–—›¾ÚÛÙÞßßÛÞßÛØÚךÔÑÐÌËÉÆÆÃÁÀ¾Ã¾ÃÁÀÀ½ÁÀÃÂÀÁÀÁ–ÀÁÄÂÂÿÃÄÀÂÂÄÃÅÁÃÆÅÄÆÅ”ÈÆÇÆÅÆÂÅÃÁÂÃÃÁÅÁÂÂÄÄÅ‘ÆÅÅÄÅÇÅÇÆÇÆÇÇÈÈÇÅÈ«ÆÇÆÆÇÇÉÇÈÆÆÅÇÉËÎÏÐÓÖÚÚÝßàáåæìîïññððïìéâàÝÚÔØÕ�þsnfhh^\YVNTCPUTZXURUWTZTKEE7547456,+36=KZjqwy}……‰‡‰Ž‘—“—˜œžžšœ¢£§§¨§§¨§©¨¦£¥©ª§¥¥¨¦¤£¢£¢££¦£¢¢¤ ¢ž¢ ŸŸ¡ŸŸ ¡žŸŸ¢¥¡Ÿ¡¢ ¡¢¤¡¢¢  ¿Ÿ¢¢¡Ÿ¡ž £¡¢¢ ¡ £¤¦Ÿ­´²³±°°¦‡wvx𵶏¸¹º¸¹»·³¶´´³²¯­ªª©¦££  Ÿ££ ¡ ˆž ž¢¡Ÿ Ÿ ¡ Ÿž ¢¡¢¢¡Ÿ¢¢Ÿ¢¢¤¡¡ ¢¥¥¤¥£¥¤¤¥Ÿ¦¤¥¢£¢¡¡¢¢¡¤£¡¢¢¥¥¤¤¥¤¤££¥£¦¥¦¥¦°¥¥¦¦¥¥¦¥¥§§¨¦§¥¥¤¦¨ª¬¬­±³·¹»¾¿ÁÃÄÊÌËÎÏÍÍËÉÈÃÁ»»·¹¶�çTSJJF?=5613&565;873954>;3/-(&'%$&(%")/8LUWZ]hefhnpntrvw{||y~{†ˆŠˆˆ‰Œ‡†ˆ‚ƒ‡‘‡‡ˆŒ‡ƒ††…‡‰‰…„‡‡…‡‚„‡‚ƒ„Šˆˆ‚…‡ŠŠ…‚…‡Ì†ˆ…ˆˆ††„‡‡Š‡……Š‹ŠŠˆƒ††‡‰Žˆ–¡›œš—’…eQOKs› ž¢£ £¦Ÿ›ž›šš—–•‘Ž‹‰‹‰ˆ†…І……„‡‡ƒ…ƒ‡Š††‰†‡ˆ†…„†‡‰ˆ…†‰†Šˆ‹‰†ˆˆŠˆŒ”Ž‹Œ‘ŒŒˆ‰ˆ‡‡…†‹ŽˆˆŠ‹‰ˆŒ‰Œ‰‹ŽŽ‰‹ŽŒŽŒ‹‹‘Œ †‰Œ“••˜Ÿ£¢¥«®¯±²½ÂÄÄÿÁ¿½·²¯ª«¦§£�À“–”šœžžœ ¤¥ ©³¶¶³¸½»½¾½¸¸±®§¬§¦¢“‹ŠŽŠŒš°¾ÈÇÈÇÈÂÃÂÿÃÀÆ¿ÀÁ¿¾À½ÀÁ’ÀÁÁÂÁÀÁ¿ÀÀÃÃÂÄÄÁÂÁÄÆÅÂÃÀÄÁÃÁÿÀÂÄÁÀÁÁÀ¾Â¿ÁÁÂÀÁÃÁÂÁÅÃÃÄÇÉÇÊÌÉÌÑÎÍÐÖרÛÞáÀo“ÍÈÆÊÅÉÇ­šœ¡»ÌÊÊÈ‹ÄÅÄÅÁÃÂÀÁÁÂÁŠÀÁÃÀÀ¾ÅÂÁÅÊÁÁÂÁÁÃÃÁÂÅ”ÄÄÅÂÅÄÃÃÅÆÆÅÁÄÅÆÇÂÄÄÅÆÄ„ÃÂÄÄÀ¹¾¾½ÀÂÃÄÈÅÃÄÅÇÄÅÅÀÂÄÃÁÄÅÇÆÈÇÇÆÉÉÆÇÅÈÈÉÈÇÇËÍÎÔÙÝàäæêëìêëîëäà“âáßÞÞÜÛÙÖÏÑÍÌÉÉÈÇÊÈÉÍ�«uxy~€€‚Љ…Œ”˜—–—œŸ ›–“‘‹‹‡„|tquqs~“Ÿ¦¢†¡¢ ¤Ÿ ’Ÿ Ÿ¡¡  ¡¡££¡ ¢ ¢¡¤Ó¦¥££¢¤¤¥¤¤¦¤¤£¤¡£ £ Ÿ¡¤  ¡¢ ž¡£¡¡ ¡¡¢¥£¡¡¥¤£¤¥«¨ªª©«®¯¬®³³´¹ºº›^«¦¦¨¢¥¢‹xz~˜¬©©¦¦§¤ž¡£¢¡¡ ¡ ¢¡¡Ÿ ¢ ŸŸ¤¢¡£¢¢£ ¡ ¡ ¢¡Š¤¢¡ ¢¢¤¡¤£¢„£¤¤£¤á£¢££¥¤¤¥¤¤¢ ¢¤£  žžž¡¡¢¤¦¤¢££¦¤¤£ ¢£¢¡£¤¥¦¦¥¦§¨¨¥§¥§¦©ª¨§«­®³¹º½ÁÂÄÅÅÃÇÊÅ¿¼¾ÀÂÁ½¼¼»¸·´±°­­««©¨¬«¬®�­TYXde_d``iokjmv}v|‚y„‰…~yyxyspokg\UWTQ\u‚‰Š‰Š†‡€„ƒ†„…ƒ‰‡‡ˆ††‡ˆ†‡†”ƒˆ‰Œ‹ŒŒ‰‰„ŠŠ‹ŒŽŠ‰ˆ‡Â…‰‡…‰‰ˆ†‹Œ†„‡‹Š‰‡‰‡‰‹‡‡†‹Šˆ‰’““’˜˜”—œšœ¢¥¥Ln–Œ‹‡‰hRTRoŽ’Š‹ŠŠ††ˆ„ƒ†„…ˆ… ˆ‹ˆƒ„Œ†ˆŠ‰‹ˆ†‡„ˆ†ˆ‡ˆ‰ˆ‡‰ˆ‡ˆ‰ˆ‹ŠŠ‰ŒÏ‰ŠŠ‰‰Š‰‹ŽŒ‹‡‰ŒŒ‡ˆ…„„ƒ‡†‡ŽŒ‹ŠŒŽ‹‡‡‹‰ˆ‹‹ŒŒ‹‰Œ‘‘Ž”˜“›¦¥©­¯²±²³µº¹­¨ª°‘¬§«¨¤¢ž››––’”’“˜——›�®ÌÍÌÏÎÊÎËÎÉÌÉÌÍËÆÆÉÊÇÇÃÂÁÀÃÅþ½ÃÀ¿ÀÀ¾»¼ÀÂÀ½ÀÁÂÀëÄÂÅÅÆÅÂÃÄÃÁÃÃÂÄÃÄÃÂÃÄÂÃÄÃÄÂÀÀÂÀÃÂÄÃÀÁÁÃÀÀÄÂÀÓÁÀÀ¿ÃÁÃÃÇÅÅÄÇÒÙׯÄÃÄÇÈÆÍÌÑ×ÞáÞØÞßÜÛÝÜÚ×ÓÖÕÓÏÍÊÇ˪.I¯¹¹ª³¿ª›œ¡²¾ÀÿÀ¿Á¿ÀÁÁÃÁ½¾¿ÁÀÀÁ£ÅÅÃÄÇÄÂÅÄÄÅÃÂÅÅÄÃÆÅÃÇÅÅÇÅÆÅÅÄÄÃÄÅÃÃĨÃÅÅÁ½¾¾À¼½¾¾À¼»¼½»¿ÁÁÄÂÄÅÄÃÂÁÀÀÄ¿Áó¼ÆÅƸÉÈÈËÒÙßâååããæêìîðôõöø÷óðíêçãÜÔÑÐÊÆÈËÇÊÉÇÈÈÅÆÇÉÆÉÊÉÈÆÆÅÆÃÅÉ�‚ª¬­¥©¬«¬¨«©ªª¨¥¦¨¨§§¥¥¢¤¥¥£¢Ÿ££¢¢ ¡œ ¢£¡Ÿ¡ƒ £¢£¢£¢¢¤£¢£¢¡££¤£¡£ä¥¥¢£¤¢Ÿ¢£¤£¤£¢¢¡£¢¡¤¤¢¡¡¢¡¡Ÿ£¢¢£¦¤££¦¯´²§¥¢£¥§§«ª¬²¸»¸´¸º¸·¶¶µ²±±°°¬ª«¦§}>¡™—‹’œ†vy}‘ŸŸ¡žŸŸ žŸ  ¢ žþŸžŸ¡¡  ££¢¢¥¤¢¤£¢£¡ £¤¤¢£¤¡¥£¢¤¢¢££¢£¡¢¢ ¡¢£¢¡£¢ŸœžžŸœžŸŸœœœŸ ž¢¡££¢¢¡¡ŸŸ¢ž ¢Ÿ•¤£¥¤¥§§¦¨¯¸¾½¿Á¿¾ÁÇÊÌËÐÑÐÐÏÍÊÆÃ¿¼·®®­§¤¦¨¦¨‡§¦¦§¥¥¦§ˆ¨©¨§¦§§¦©¬�Œ”—˜•‘““‘‰ˆŠŒˆ‹Š‘Œ‡Š‰Š‰ˆ†‡Š‰‡ˆˆŽ‹íˆ‰ˆ‰ŒŠ‹‹Š‡Š‰‹ŠˆŒˆŠ‹ŠŒ†‰‹Œ‰‰‡‡ŒŒ‰ŒŠ‹ˆ‡ˆ‰†…‡†‡ŒŠ‰Œ‘—›šŽŒŠŽ’Ž“™¡¤¡›£§£¢¢ ŸŸ›™š™”’’] 4Št~zlu{cPQSi‚……†ˆ¾‚††‡††„„„ƒ‡†‡‡ˆ‰…‡ˆŠŠŒ‹†ˆŠŠˆˆ‰‹‰ŒˆŠ‹‡‡‰‰†‰ŠŠ‡ˆŠŠŒ‹…†‰††„‡ƒ›‡‰ƒ††…‚†ˆ‡ˆ‡Š‰ˆŠ‰ˆŠˆ‰†ŠŠ{„‹ŸŽŽ”— §ª¬®«©¯¸¼¾ºÆÇÂÄÅÀ½³°ª¥œ–˜Ž‹“’““Ž‘ŽŠ‘’’‘”•‘”˜�§ËËÉÊÈÇÈÆÈÇÈÈÄÆÅÇÅÄÆÅÄÅÃÅÃÅÅÃÁ¿ÂÀÁÂÀÅÃÁÁÀ“ÀÁÂÃÃÂÂÃÄÃÃÂÂÀÁÂÁÀÀ¿ÁÄÅÅÇÄÇÂÅÅÉËÉÎÎÍÏÎÍÏÓÔÓÓÔØØÚÛÞÞßÕÏËÉÊÈÆÆÄÍÓÓÆÆÅÇÇÅÆÉÊÈÄÉÆÆÂÃÃÂÁÛÂÅÄÁÁÀÁÀÀ¯4VÒµ½¿¼¿Ë­™ž£µÀ¿ÀÁÀÖÆÄÄÃÅÄÃÄÄÅÆÇÇÈÄÇÇÆÅÇÆÅƈÇÈÆÅÅÆÇÈʼnÄÅÃÁ¼¾Â¿¿Áå½¾¼¿Á¼½¾¾À¾ÀÂÃÅÃÃÁÂÅÇÄÃÃÅÄÇÆÅÆÇÅÅÈÅÂÈÄÁÃÆÇÆÅÄÃÄÄÏÙäåàÚØÝáÜÞÝÙÚÜרÒÎËÊÈÇÇÉÊÉÊÆÈÉÈÊËÌËÉËÏÊÍÌÏÐÒ×ÙÚÚÙÖרÙØ�„ª¬©ª¨§¨…§¥¥¤¦¥‹¦¤¥¥¤¤¥¦¤¢¡¤„¢¥£¢¡†£ ¡ ¢¢¡†¢¡  ¡£¡³ŸŸ ¡¢¡ ¤£¤¦¥¦¡¦¥¦©¨¬¬«­¬¬­°±¯±³µ´µ¸¹¹º±¬¨¦§¦¥¤£ª®®¦¥·£¤¦§££§¥¥ ¢¢¡ ¡¢¢¡¡£¢¡ Ÿ žž‚A®–œš¦‡u{’ž  ŸŸ¡¢ £¡¢— ¡¢¢¡£¤£¤£¥¥¤¤¥¤¢¤£¢¤¥¤£â¥¦¢¡¢ ¢¡žšœŸœœŸž›œœŸŸ›œž Ÿ ¢¢¡¢¡¢¤¥¢¡¡¤¢¤£¢¢£¢£¥£¡¦¢ ¡¤¥££¢¡¢¢«³¿¾¹µ³·»·º¹¶··³³­©§§¥£¤§¥¤¦¤¥¦§§¨‘§¨«¨«ª¬­¯³¶··¶µ´¶¸·�‚”•“ƒ’’‘‘ŽŽŽ’ŽŽŒŒŽŒ‰ŽŽ‹Œ‹Š…‹‰‡‰ŠÔŠ‹‰‡‡Š‹Š‰‹‰†‡‰‰ˆ‡ŽŽ‹ŽŽ‰Ž‘‘——•—™“•›žš™œ œž¡£¤¦—“‹Œ‹”–ŽŒŽŒ‹ŠŒŠŠ†Š‹Žˆ‰‰†ˆ‰ˆŠ‰ˆ‰þ‡†…ƒ„]6–}…~‚‡eLQSo„ƒ€‡ˆ††ˆŠˆ‰ˆ‰ˆˆ‡‰ŠŠ‡‹‹Œˆ†ŠŽŒ‹‹ŠŽ‰‰Œ‰‡‡ˆ‹ŽŽˆˆ‡†ˆˆ†~‚‡‚‚‡†ƒƒ……ˆ„ˆ…ƒ†ƒ††‰‹ŠŒ‰Š‹ŽŠ‡‹Š‰Š‰Š‰ŠŒŽ‹Œ‹ˆ‰‹‹‰‰Œ‰‹Š”¨§£Ÿ™ž§©¨¦œ¦™™ŒŽˆ‰‰‹Š‹Ž‘”’’““•“”—›š¡¡Ÿ¢§¤¦¡¥�–ÊÈÊÇÆÆÅÆÆÄÅÃÃÅÃÁÂÃÂÃÂÃÂÃÀÁÂÄÄÂÄÃÂÅÄÅÃÄÅÆÇÆ¬ÃÆÃÊÇÉÊËËÎÍÐÑÔÕÖ×ÚÜÛÞÝßÞÜàáâáãàáÞàÞÝÜÚÚÙØØÔÓÒÏÐÏÎÏÇÈÇÆÆÅÆÆÅÃÃÂÂÃÁÂÁÂÁÁ¿¿À¾ÀÁ¿¿Â¿ÂÁ¿¿¾ÀÂÁÁ¿±z“μ»¼ÄÆ­—£¶ÁÀÀÁÁÃÃÄÆÇÆÆÅÆÆÄŇÆÅÆÇÆÇÆÈ°ÆÆÈÇÆÅÄÅÆÆÃÄÃÂÃÀ¿ÀÂÁ¾¿¾¿ÃÂÂÁÃÂÃÃÅÅÄÄÆÄÅÄÅÅÆÉÆÈÆÅÇ‚ÅÅÆljÈÅÅËÊÇÈÊÇÆŃÄÀÃÄ–ÉÊÆÅÉÅÀÃÁÁ¾ÂÅÅÆÃÆÅÆÅÆÇŽÌÇËÏÛàßáÝßäãâãá†ÝÚ×ÔÏÏËÆ�ª“¨§¨§§¦§¦£¤¥¤¢¢££¤££¤°£¢¢¤§¥¢¦¥¤¥¤¥¤£¤¥¥¤¥§¤¥¤¨¦§§¨ª­­®¯°±±²µ¶¶¸¶¹º¸º¹»˜º»¹¹¸¸¶·¸µ´³²²°°¯¯­¬®¤¥¥¤ƒ¦¤£¡‰¢£¢¢ ¡  ¡ŸŽ¡ž¡ ŸŸ ¡Ÿ ¡ŸžŸ ‘Ÿžawª œ™š¡¢Št{€“Ÿ—  ¡¢¡£¥¤¤¢¤¤¢¢£¤¤¢¤¥¢¥¤¦Š¤¤¥¥¤£¡£¤¤¢„¡¢žŸ’žžž¡ Ÿ ¢¡¢¢¤¥££¤£¤¥§¥¦¥¤¦¥¥£¡££¤›¥££§§¥¦¨¥¤¥¦¤££¡ž ¢££¨§¤¢§£ ˆ¡¡ž¢¤££ £¤¥™¦¦©¦¨­¶»¹¹¸»½»¼»»¼¾º·¶³¯¯¬©�ƒ••–’ê’‘ŽŽŒŠŒ‹ŒŠŽ‹’ŠŽŒŒŠ‰ŽŽŒ‹‘‘•–•˜—™¢  ¥¦¦¤££¨«§©¨§¨§¦¥¢Ÿ  ¡ž›šš—•–•“•‰‰Š‰Š……ˆ‡‰‹‹†‹…†„…‰ƒ††ƒ†±…‡ˆ†…‡‡ˆƒ„†pNa‘Ї~}„ƒfJPTq†…‚…‡ˆˆ„‰Œ‹‹‰ˆ‰ˆ‰ŒŒˆŒŒ‰¨‹Ž‹ŒŒŽŠ‡‡ˆ†…†Š‰Š„„ƒ„††…ƒ…‰„…ˆ‰ˆ‡‡ŒŒŒІŒ‹ŒŽŽŒ¦Œˆ‰ŠŠ‹‹‰Š‘’ŽŠ‹Œˆ‡ŠŠ†‡ˆ‰‰Žˆ‹‰‹ˆŠ†‡Œˆ…†ˆ†ˆ‰›Œ‹Œ”‰Ž—¢¨©«£§¯°°­©««£¡¤›•”�ˆÈÄÇÇÄÄÅÆdžÈÇÈÄÄÆÅ®ÇÇÄÃÄÅÅÃÄ·®¬­¥§³Ã˰¤Ÿ §²ÉÔÖÙÝÜÜÝßÝáàÝÚÕØÖÓÔÓÏÎ’ÑÌÉÉÊÌÈÈÄÅÄÂÄÀÁÅÃÂÔÂÂÁÃÆÃÃÂÃÁÀÁÁÂÀÀÂÃÃÂÀ¾¿ÀÀÁ¾ÀÀÂÀÂÁÄÃÀÂÃÃÄÅÄÃÃÄÃÄÃÀÀ»ÁÁ¿½¼·º»³£˜˜¶ÂÃÃÂÁÂÂÃÄÆÅÄÅÄÆÆÇÆÇ„ÅÇÅÇƆÅÅÄÁÃÀÃŽÂÄÇÆÂÃÅÅÆÉÃÆÅÆÇÅǬÉÇÅÆÇÆÄÅÉÉÄÄÈÇÈÄ¢¢ž“•’““£²¿½­¢¤£­­³¼¿ÇÈÈÇÇÆÄƳÅÉÈÇÆÇÆÄÈÂÆÀ½ÁÁÂÇÆÊËÎÔÞßáäçääëêèèæåÞÝÜÚØÔÒÐÊÉÈÄÇÅÃÂÃ�‘ª§¨¨§§¦§©¨¨§§©¦¦¥¦§¦š§¥¦¤›’‰Œ—£ª”†„Š‘¤°²¶·¶¶¸˜½»·¸³µ²¯°±®­«¬®«©©¨ª§©£¥¤Ž¢¡£¤¤¢¡¢¤¡¢¡¢¤¢‹¡Ÿ  ¢ Ÿ¡¢¢¡ ¡¡ŸŸž¡ ¡ £¢Ÿ¡¢š££¢¢¤¢£¡ž ›žžœ—˜˜ww{• ¡ˆ ¡¢¢£¤¢¢£¥¥¦¥¦¥¥¤¥£¥¤¤£”¤ ¢ £¢£¢¤¦¤¢¢£¤¥§¢¤£¥‡¦¦¥¨¥§¨¥Ÿ¤¤§§¥¤¦¦§£„ƒvwsvv„‘žšŒ‚ƒƒŒ‹‘›§º¥¥¤£¤¤¥¤¨¦¥¤¥¤¤¦¡¤Ÿ¡¢¢¦¦¨ª¯³º»½ÁľÀÆÅÃÄÂÁ¼º¹¸µ¶²¯ª«¨¥ª§¨¥£�•”–”““”—”“‘’•‘ŽØ‘‹’ƒ{uupsŒ”{hdfpy˜œ£¥¤¢¡¤¤¦§¢¦Ÿ¡›—œš—•“‘˜••‘‹Œ‹‰ˆŠˆŠ‹‰‹Šˆˆ‡ŠŒ‰ˆ‡ˆ‰‰†…‹†‚‡ˆ†ƒ‡ƒ„†Â‚„†ˆŠ†Šˆ„ˆ‰ˆ†‡‰Š‡‰ˆŒ‡„„…†ƒ„‚{xun]NKNq†‡…†‡‡Š‰‹Š‡‰Š‡ˆ‰ŒŒŽ‹‰ˆ‰ŒŠÌ‹‰Š…ˆŠŠ†Š‰‰Š‡ŒŠŒŠ‹Œ‰ŒŽŽ“‹‘‹ŽŒŒŒ‰Ž‰gecXZTZ[jwˆ‚shfiqsv‚„ŽŽ‰ŒŽŠ‹Œ‘Ž®‹Œˆ‹„ˆŠŠŠŒ•¥¥ª®³±²¶µ²´´²ª¤Ÿ¡¤¡›—’“‘‹”Ž�…ËÈÊÊÉÊÉÊÌÎÊÈÉÈÉÈÇÈÉÇÄÄÅ”ÂĶ«­¬©©²ÀǶ¬©ªª­µÀÄ¥ÅÃÄÁÂÄÃÄÃÁÅÀ¿ÂÁÁÂÁÂÃÁ¿ÁÁÄÂÀ¿ÃÄÁÀÀÁÀ¿¾Á…ÀÂÁÄ¿ÁšÀÃÄÃÂÃÁÃÃÄÅÂÃÅÂÆÃÁÅÅÄÁÃÅÄÂèÅÃÂÂÁÂÂÄÂÁÂÁÁ®¡ž£Ÿ¥­¨££œ•—¡µÄÅÃÅÅÂÄÅÇÆÈÆÈÉ×ÈÊÈÉÉÊÈËÊÈÊÈÈÇÈÈÆÈÈÇÅÈÇÆÆÅÆÄÅÇÇÆÄÇÉÃÅÇÈÈÉÇÊÈÈÇÈÉÈËÏÓÔÔÕÖÜÛÜÊÔÃ¢š™¢šŸ¥´¥‰‚†—†‘™ºÉÊÊËÉÊɲËÊÌÎÏÎÐØ×ÚÛÜÞßáìíðñòôóðíìíïíïìíêèåæäáâããåääæãÛßÞÝàáà�†®«ªª¬«ª‚­¬©¨…§¨¨¦¨¦•¥¥§¤™ŒŒ•¡§˜Ž‹Ž— ¤¡¦¤¤¡£¦¥£¤¡¤ŸŸ££¢¢¡¢¡¡ ¡¡¥¡ Ÿ££  ¡ ‹¡  ¡  ¡ £ ¡ §¢££¡¢ ¢¡¢£¡¡¤£¥¢¡¤¤¢ ¤¥¢¡£¢¡ ¥¤¡ ¢£¡¤¡ ¡ ƒ€…ˆŽˆ‚}wx”¢¢¡¢£¡££¥¤¥¤¥¦¥¦¦§¨§†¨¦¨§¦§¦„¥¥¦§¦™§¥¥¦¤¥¤¥¥¦¦£¦§£¥§¨§©§©§¥¦¨¤«®²²³µ´¸¹»¨° ‚{{„€‡•‡rldhzgu{s𧍍©¨“¦§§¨¨ª¬­­®µ´·¸¹¼¾¼ÈÍÐÏÍÊÇÇÈÇÉÉÇÇÅ¿½¾½ÀÁÀ¿Á½¸ºº¼»�›š™˜™–•˜˜——–”’‘£’‘‘Ž’‘ƒwuvoq{‡‚toptx~ƒ‹ŽŽ‹Š‹²Š‹‹Œ‡‡Š‹ˆ‰‡‡ˆ‹ˆ‡ŠŽ‹ˆ†‰††‰Š†‰ˆˆ‰‡Š‰‡…‡‡‰ˆ‰„‡ˆŒˆ…ˆ…ˆ†Š‰‰ˆˆŒ‡ˆ‹ˆˆ‹ŽŒ‰ŠˆÇ‹ˆ…‡‹‡††‰†‡…wjfibjri_^XNNRn…‡…‰ŒˆŠŒŠ‰ŠŠŒŽŽ‹ŽŽŽŒŒŒŽ‹ŒŽŒŽŒ‹ò‡Œ‘މ‡‰†ŒŽ’”’‹Œ‘‘•—šœ¡ š¢£¥™„c]Ydfcl€lXODL[IS_Yƒ’’ޑޕ˜–˜šœ¡¡¥«ª®¾½ÁÀÂÁ¿ºº¹»¾»¼¼¶¶´±°«¨«­¯¯­«­¬¤¬«®®«­�ˆËÉÈÊÈÊÈÇÉÅǶÅÇÂÆÇÆÄÃÄÂÀÀÁÁ¾ÃÄÃÂÀÁ¿¿ÁÀÁÂÀÁ½À¿¿Á¿¿¾¾¼ÂÁÀÁ¾Â¿¼¿¾¿»¼¾Á¿ÄÿÂÃÃÄÅÃÃÂÄÂÅÄÊÁÇÄÃÃÄÂÄÄÃÄ‚ÃüÄÃÄÂÅÄÄÁÃÀÁÃÀÃÁÀÂÂÄÃÃÅÆÄÅÃÄÅ웜•Œ–™› œ˜›¢¹ÅÇÅÇÈÇÇÈÉÊËÊÈÉÇÈÉ‚ÇÉÈÔÊÉËÍÊËÎÌÌÍÍÎÐÓÓÑÕ×ÔÓÑÔÕÖ×ÕÖÖÙÚרØÛÚÚÛÛÜÜßßãâééëìðîîêëíìíéÜÍÏÝëæÊÀÀ¼·²µ·¸´º½ÂÈÊÊËÉÉÊÉDZËÑÞçêïõõôôöóñðíêèäÞÝÔÏÊÊÇÈÈÉÇÇÆÈÄÅÆÂ¿ÂÁÇÄÃÇÆÄÂÂÆÆÉÎ�Œ¬ª¨ª¬ª¨§©©ª¨§ƒ¦¦£¦¥†¤¡¢¤¢Ÿ£ˆ¢ £ ¡¡¢¡¢‡Ÿ¡ Ÿ Ÿ ž¼££¡¡ž¡Ÿž Ÿ œž Ÿ Ÿ ¤¢¢Ÿ¡¢¢£¤¢¢¡££¢¢££¢¡££ ¥£¢¢£¡¤£¢£¤¡¡¢¢ Ÿ£¢Œ¦¥¢ ¤  ¡¡¢ Ÿ¡¨¢£¤¢££¢£¥¢zqty|{‚~z{—£¦¤£¦¤¦¥¥§¨§¦§¤¦¥¦¨Î©©§¨«ªª«ª­¯²²±³³°±®±²´µ³³´·¸´·¸¸··¹¹º¸»»À¿ÆÅÈÇÈÈÉÅÄÆÆÇÀ³¨ª·Ç¿¥ ž›—“–˜—•𛡦§§©¨¦¥˜¨­·¿ÃÆÎÐÐÑÑÎËÇÆÃ¾¹·¯¬¨§¦§¥¦§§££¤¡ ¢¡¦¤£¥„££¦¨©®�Ř—–˜˜””“••‘’”‘Ž‘ŽŽŒŽ‰‹‹Œ‡‡‹‰‰ŒŒ‹ˆŒŽ‹ˆ‰ˆ‰ˆŠ††‰ŠŒŒ‹‡ˆ‡ˆ‡‰Š…„„‡ö„…Љˆ…†„‡ŒŒŠŒ‰‹Š‰ŒŒ‡‡‹‹ˆ‹‡‰‹ŽŠ‰Š…„‰‡†ˆ‰‡…‰‰ˆ‹‹Ž‹ˆŒ‡ˆˆ‡ˆ‡†‹Š‰‰ˆŠˆˆ†‰‰‹ˆuff]TTYYZ`ZTUSr‡‰Š‰ŒŽŽŠ‹ŽŒ‰ŒŽ”‘„“–›šœˆ›—˜—¡£œ¯š˜ŸŸ¡¤¥¥¤¤Ÿ¦¨®­¶¶¹»½»º³³¹··­šŽ¢·¨Ž‹‡ƒ}v{}yxƒ…‹¹‘‘“‘ŽŒ’˜¤­³¹ÀÄÆÇÄÅÀ»¶²³¯¤£š•Ž‘‹ŽŠ‡‹Š‰Š‰ŽŠŒŽŽ’””›�¨ÇþÀÆÅÇÄÆÅÂÅÃÂÄÃÁÃÁ¿ÀÃÁ¿ÀÄÀÀ¾¿ÀÀÁÀ½¾Â¿¿À¿ŒÀÀ¾ÁÀ½Á¿ÀÀÁÀÂÁÃÂÅÁÃÁÃÁÃÅÅÂÂÅÄÆ„ÅÆÅÅÄÇÄÅÅÄÆÄÄÅÆÄÄÂÅŽÆÄÇÅÆÆÃÃÆÆÅÄÃÄÅŒÃÃÄÂÅÅÃÆÇÅÆÆÅ„ÇÇÈÈÉßÈÇÄɰœš–•”šŸŸŸ› ¥»ÈÉÇÊËÌÍÍÎÍËÌÊÌÌÍÎÎÐÎÎÍÒÕØØÛÞàÞâæçèêéëìííëêåäâãâäåäåèåèèçêíïîêèçèèêæäââßÜÙ×ÒÑÌ„ËÊÉȈÈÇÈÈÅÉÈÅÇȸÆÇÈÇÈÉÇÇÅÆÇËÌÓÔØÚÙÖÑÊÅÈÄÅÅÄÂÅÅÆÄÃÆÅÅÃÂÇÃÃÄÃÂÂÄÅÅÁÀ¿ÀÀ¿¾¿¿Å�’§¤ž §¦¦¤¥¦¤¥¥£¤¤¢¢ Š¤¡ ¡¤¡  Ÿ ¡žŸ£žŸ¡¡Ÿ ¡  ¢¡ž ”¢¢ ¡££¤¡¡¢£¡¢£¤¡¡££¥¤ƒ£¤¤£ž¥¢£¤£¤¢¢£¤££ ££¢¤¢¥£¥¤¢£¤¥¤£¡¡¤Š¢¤¤¡£¥¢£¥¥¤££¦¨¦¥¦¦§¥¢¦‘€z{y}}‚{}‚—§¨¥¦¨¨ª«ª©¨‚§©ªÅ«¬«¯²´³·¸»º½ÂÁÁÂÃÄÅÅľ½»½¾ÂÂÀ¿ÂÃÁÁÄÇÈÈÇÆÂ¿ÀÁÂÁÀ½¼º·´²­¬©©¨©¨§¦¤§¨¨¥¦‡£¦¦¥¥£¤¥˜¦¤¥¦¤¥¥¤¤££¤¨¨¯¯²´´°­¦¢¤¡ ¢£¤£¡¤£¤¢¡¥¢ ¢¡‹£¤£ ŸŸ¡ ŸŸ¡¡¥�ž‹’‘Œ’ŽŽ‰Š‡‰ŽŠˆ‹Ž‹…‡°‰…†‹‡‰ŒŠˆˆŒŒ‹‹Š…‰‰Š‡†‰‡ˆˆ‰ŠŠ‹ˆŠ‹‰ŠŠˆˆ‡ˆ‰‹Š††ˆ‰þ‹‰ŒŒ‰‹‰ŠˆˆŒŽ†ˆ††ŠŠŒŽŒ†‰‡Š‹‹‡†‰‹Šˆ‹Œˆ‰Œ‰ŠŠŒŒ‰‰‹Š‰ŒŒ‰‰‰Œ‰vge^_ZZ\\`^VTUt‰Ž‰Š“’’ŽŽŽ‘““‘‘”“˜Ÿ ¢¥¨£¨®¯®®¯±²µ·¯°«¦¥¦¥°°¬¬¯™±¬«¯²µ··²¬§ª­®­¬©§§Ÿšœ–”Ž•“ŽŠŽŒ‹ŒŽŽ”ŒŒ‹Œ‰‰ŒŽŽ”—šœ’’”Œ†ˆŸ‡‡†‰Š‹‰ˆŒŒ‡†Ž‰ƒŠŠˆ‰‹‰ŒˆŠ‡ˆˆŒ‹‹�˜ÅÃÁÄÅÄÆÀÂÀ¿ÂÁÀÁÀÁÂÃÂÁÃÁÀ†ÁÀÃÁÃÓÄÃÀÄÂÃÀÂÄÂÅÄÂÅÄÃÄÂÂÃÂÄŒÃÅÄÆÄÄÅÇÄÅÇÆÅ‚ÇÆÄŒÆÇÅÃÃÆÆÅÅÆÇÅÆÇÈÄÆÈÆÇÆÅÅÃÃÄÃÅÃÆÊÈÉÉÊÈÉÇÉÊÊÈÈÉÊÉÊËÉÈËËÊÆÊɧ—œ—˜–›œœžžœ¢½ÉÊÌÍÏÚãëìàÓÖÙÝÞâææèèêìîííëèçããßÜÝÜÛŒÞàââãæçéëíîíëŸèßÞÝÚÚ×ÕÑÍÌËÍÎÏÌÊËÇÅÄÃÀÃÆÅÄÇÃÄÇÆ‡ÄÆÅÅÂÃÅÆ„ÇÅÆÆĘÇÂÃÂÂÃÇÆÃÄÁÂÄÀÃľ½¼ÁÄÁ¿ÂÁœÂ¿ÀÂÃÁÁÂÄÆÂÀÂÁÂÃÆÅÆÄÃÂÿÁ¿ÁÇ�Ž¥¤ £¥¥¦¡¢¡ ¢¢ ¡¢¡¡££ ¡¢£¡ ¢¡£¥¢££¢ ¤¢£¢¤¤¢¤¥£¥¤££¢¡£¢¡¡¤¥¤££¢¥¢££¦¥¤£¤£¤¤¢¡¢¤¥¤¡¢¤ƒ££¥¤†£¤¥£¥¦¥ª££¢¢¡ ¢¡¤¦¥¥¦§¨§¦£§¨§¥¥¦¨¦§©§¥¨§§¤¦§‹}}}z~þ~{y~™§¨§¨«µ½Çꝲ´¸º½¿¾ÁÁÅÄÆÄÅÃÀÁ½¼º¹¸·¶··¸ºº»¾ÀÂÂÄÅÊÈÄÆÃ¹¹ºµµ³±°«©¨©ª¬ª§¨¤¢¡¢Ÿ¡££¡¤£¢¥£¢£¢£¤¤¡ ¤¥¥¤¤££¢¡¡¢¥ ¡¡ ¡¢¢ ¢ ¡¢ž ¡œŠ›œŸ¢žž¡ ŸŸ ›¡žŸ ¢  ¢££¢ ¡  ¡¥££¢¢¡£¢ ¢¡£§�ˆ‘‹“ŠŒ‰ŽŠŽŽ‹‰‹‰Œ±ŠŒŽ‹‡ˆ‰‹‹ŠŒ‹ŒŠˆŠŠ‰ŒŽŒŠˆˆ‡‰‡‡ŒŒ‹‹Š‹Œ‰Œ‘Ž‹‰þˆ‹ˆ‹‹‡ˆ‰ŠŠ‰Š‰‹Œ‰ˆŒŠ‹‰‹‡†‡‡ŒŒŽŠ‰‰‡ˆ‰†ˆ†Œˆ‹ŽŽ‹†ŠŒŒŽŒŠŽŽ‰‹Œncg_a[^]]^XTNOvˆ‘ž­¸µ¢—šŸ¤£ª¯®¯±µ³´´²³­¬§¥¢£¢Ÿœœž¡¤§¥©¯Â¬¯²²·µ±³®¬¡ ¡Ÿ››–‘’“‘މ†Š‰Š‡ˆˆŠŠŒ‰Š‹‹Œ‰ˆ‹ŽŒ‰Œ‹Œˆ‡‰‰ŒˆŠ‰‰ˆ‰Ž‹ˆ‹ˆ‚…ˆ„‚|‚ˆ„ƒ…Ÿ‡††‡‡†‡†ˆ‰ˆ‡‰ŒŒ†‹‰ˆŠ‰Š‹‰ˆ‰Ž‹Ž‘�ŽÈÈÅÆÄÅÄÅÃÃÄÄÃÉÄÃÁÃÄÄÃÄħÁÄÃÂÁÂÂÁÃÄÃÂÀÃÂÃÁÂÂÃÅÄÂÅÂÃÄÃÄÁÀÂÃÁÄÂÅÄÂÄ„ÅÄÆÄÆ„ÃÃÅÆÇ‚ÅÇÆãÅÅÆÇÆÅÅÇÆÆÉÉÈÈÉÇÈÇÈÇÈÈÊËÊËÊÊÌÌËÉÈÈÉÌÍÉËËÊÊÉÌÉÊÌÉÆÎ¦™œœ˜œžžœœ ›¢ÐçéììíîñõôõóôôóòéáÝÚÔÕÒÑÏÑÑÎÓÕÛàâæëì˜ïíçåçàÚÜÖÐÒÏËÌËÇÈÇÈÉÉÈÊËÊÉ‘ÊÈÇÇÈÆÇÆÇÅÃÄÅÄÂÁÁƒÃ¿ÀŠÂÂÀ¿ÀÅÄÁĽ”¾¼¾¾½¾¼¹¼¹»¾»»½¾¿À¿¾‰ÀÀ¾À¿¿ÁÀÀÂ’ÅÁÁÃÂÁÂÄÅÃÄÂÁÁ¿½¾¼¿¼�ƒ¨¨¤§™¥¥¢¤¥¤££¢£¡¤¤¡¡¤¦£¤¥¤¤¢ ¤£¢£Ÿ¤¡¢¤£¤¢£¤¥¥¤£¤¡¡¢¢¤ ¡£¢¡¢¢¤¢¡£¢¤–£¤£¤£¤£¡¡¤¥¦¥¤£¤¥¥¤¥¤£¤‡££¦¥¥¨¨§‰¤¦¥¦¥¦¦§©§Žªª¨§¦§¦¨ª§©©§©¨Ÿ§¨§¤¬Šƒ‚{zx~§ÀÂÄÆÆÇÍÓÑÑÏбŻ··²³®­«¯®ª°²¸»¾ÀÂÃÆÇÈÆÀ¿À»¸¹²®¯­¨§§¥¦¥§¦§¦§©§§¥¦‡§§¦¥¥¦¥¤ž¡£¤¤¢ Ÿ ¡¡¢¢¡Ÿ¡¢ žŸ¢¢Ÿ¡¡œœ››šš›™š›™œžžŸžœŸžžŸŸ ¡¡¢£¢ £¡ ¡¤£¡¢¡¢¤¢žŸŸ ž�Š””Ž’••“ŽŒ‘—ŽŒŒ‹ŒŽŽ‘Ї‹‹Ž‰ÉŽŠ‰‹Š‹ŠŒŒŒŒ‹ˆˆ‰Š…‰ˆ‰ˆ‡‰ŒŠˆ‰‰ŽŒŠˆŒ‰ŠŒˆ‰‹Œ‹Šˆ‹‹‰ŒˆˆŒˆ‡††Œ’ŠŒ‰ˆŠé“ŽŽŒ‘Šˆ‡Œ‹ŽŒ‘Œ‹ŽŒŽ‹Š‘pfihe[]ba\SWKO…ª´¶¶´·¿ÈÁÃÂÃÇÃÀ²¥¡Ÿ™—”’“—™¢£ª­³·µµ¹¸®«¬¨¢£œ‘“ŠŒ…ŠŠ‹Ž‹Œ°ŽŽŒŽ‹‰‹ˆŠŠŽŒ‡†Š‰Š‹†‹‡‹‰†ƒƒ‡††ƒ‡‰…‡…†„ƒ…††ƒ‘}~…€ƒ…ƒ††‚„†…†ƒ†–ŠŠ‰‰Š‹Ž‰‰ŒŽŠ‰‹‹ŠŒŠ‹Š�”ÇÅÄÇÅÆÇÅÃÀÂÃÂÂÄÄÃÄÂÂÃÕÂÅÂÃÂÁÄÃÅÃÅÃÂÁÃÂÁÂÂÄÄÂÀÄÂÄÂÁÆÄÄÂÂÁÁÃÂÁÃÀÄÅÃÄÅÅÄÆÆÈÅÈÆÅÆÉÈÈÇÇÊÉÇÇÉÉÆÈÈÇÇÈÊÈÌÉÇÊÉÉËÊÊÍÌÍÝÊÉÊÉËËÍÌÏÐÐÏÖßãàÕÍÍÑÐÓÔÖרÛÝßãâé°™™š›œ Ÿ¢ž¤ÏÞÜÛÚßÜÞíñòòóôóóòîëëêêëëææèêïñìåââßÛÖÑÐÑÏÍÊËÊËÊÉšÊËËÉËÉËÌÉÈÉÈÊÉÉÊÉÈÊÉÇÇÄÈÄÅÇšÆÅÈÆÅÆÇÅÄÂÁÃÀÀÂÂÿ¾¾ÀÃÃÁÂÁÆÂÁ¿¾À‘¿¼ÀÂÂÁÁÃÂÁÀÁÁÀÀÁ¿†¿¿ÂÿÂÁÁÃÂÂÄÃÂÃÿ¿½¿�„¨§¦¨§‰¥¤¢¤£¢¥¥¤£¢¢£¤£¥¢¤£¡£¤¥¤¤£¢±££¤£¡¤¢¥£¢¦¤£¡¡ ¡¡¢¡¢ £¤££¤¤¢¤¥¦¤¦¤£¤§¦¥¥¦¨§¦¥§§¥¦…§¥¨¥¦§ˆ©¨¨«ªª©©¨©Ô«¬¬«²ºÃ¼°«¬®¯±±´µµ¸¹º½½Â‘~ƒ~€€}z§»»¸¶º¸¼ËÓÒÐÒÓÒÓÐÊÇÇÄÆÆÃ¿ÀÀÂÉËÅ¿½½º¶²®®¯¬ª©©§©§í¦¦§¦¨¥§¨¦¥¦§¨¦¦§¦¥¦§¥¥£¥£¢¤¥¦¤¤¦¥£¥¥££¡¡¢Ÿ  ¡¡œž ¡¡Ÿ¡ ¡¢¡¡ ŸœŸžŸžžžž›ž  ŸŸ¡ ŸŸ ŸžžŸž  ¡Ÿ ¢£¡ ¡¡  ¡£¡¡¤¢¤¥¥ ¢�©”’Ž’”–“‹ˆŽŒ‹ŒŠŒ‹‹ŠˆŠ‹ŒŽŽŠ‰ˆ‹ˆ‹þ‰‹ŠŽŒˆ‡ˆ‡†‰„†…‰‹‰Š‹Š‡‹Ž‹‰ŠŽ‹Šˆ‰‹‰‹ŒŒ‰ŠŽŒŠˆ‡Œ‘Ž‹ŒŒ‹‹ŽŒ•“” §¥•Ž“”˜–š›—¡¡£§§°zfjfc`^a_^YZNO‚¦¦¡ž¤¡¶¾ÃÂÅÆÄþÆÃ»µ±±´¸³¨§«®¹º´«§¨¦¡œ—”—’ŽŠ‹ˆ‹Œˆ‹Š‹Ž‰Ž‰Š‰‰ŒŒŽŠ‹Š‰‰ŒŠ‰Ž‹‹Œ‰‡Š‡Š‰ƒ€…‡‡ƒ†ˆ‰‹Œˆ‰‡†‰†„…„‚ƒ‡‚…‡‰…†‹ˆ„‡ˆ„…„…†‡‡‰†‡”ŠŠ‰ŠŒ‹Š‹ŠŠŒ‹‹Ž‰ŒŽ�šÅÅÄÇÄÅÇÆÂÅÃÄÃÂÅÆÄÃÄÂÂÃÁÁÃÀÁˆÂ¿ÀÃÁÄÁßÃÃÄÅÄÄÆÆÅÄÅÄÅÂÂÄÄÆÄÂÄÅÃÄÅÅÆÇÆÅÆÇþÈÅÈÇÆÇÆÇÆÃÇÈÈÊÊÉÌËÊÊÉÉÍÎÎËËÊÈÇÊËÈÅÊÌËÉÌÌÍÎÎÓÕÙÜßßãéðîëäåêìíîïîììëæçå⮞ ¡¡œš™œ Ÿ›£ÁÌËÎÎÑÕØÜáäèìïîððïîìëèääÜÒÒÐØÛÑÎËÌÍÌÌËÉÉËÌËÌÈÉÊÉÊÉÇÆÇÉÉÇÆÅÅÆàÇÅÆÇÄÅÆÄÅÄÇÆÅÆÇÆÆÅÃÄÄÃÃÄÂÄÀÄÃÂÆÁÁÄÃÃÄÁÃÃÂÂÁÄÃÂÁÄÂÄÀÂÃÀÀÁ¿ÃÂÄÃÃÂÁÂÄÿÀÁÁ¿ÃÄÀÀÁÄÁ½ÁÀ¾½ÁÁÂÃÃÂÃÂÁ¿Â¿¿¾�…¦¨§ª¨§ˆ¢¤¥¥¤¥¥¦¤Š£¢¤¢¡¥¢¢¡¡£Ž¤¢¤¢¤¢¢£¤£¤¥¤¥¦š¥§ ¡£¤¥£¢££¤¥¤¤¦§¥¤¥§¥¦§¤¦¥Œ¦¤£¥§¦¨¨§©¨¨§â«¬ª©¨©§§©¨§¥©©ª¨¬«¬­­²³·»»¾ÅÊÒÑÈÁÃÈÉÉÈÉÉÅÅÄÁÀ¿»ƒ††…€}}‚~{y€¬ª¬«­´·º½ÂÄÅÊÈËÊÉÉÈÅÁ¾½·¯¯­³µ­¬©¨©¨¨§”¨¨©¨¨§¦§§¦§¦¤£¤¥¥£¢¤¥‚¤¤£¤™£¤££¥¤£¤£¡¤¥¤¤£¢£ ¢¢¡¤ ¡£¢² ¡¡ ¡ £¡ Ÿ¡¡£ŸŸ¡ŸŸžž¡ ¡¢¢ Ÿ ¡¡žŸŸ Ÿ¢¢  ¢£ ž¢ Ÿ ¡£¤…¥££¥¤¤¢�’“‘“”’ŽˆŠŒŠŒ‹‹Šˆ±‰‹ŠŒ‹ŽŒ‹ˆŠŒŠŒ‹ŒŒŠ‘‘‰‹Š‰ˆ‰ˆ„†‡Œ‰Ž‡ŠŠŒŽŒ‹…Šˆ‰ˆ‹†ŽŠþ‹Š‹‹Œ‡‡ŠŒ’’‘•šŸ¤¦¥®¶Å÷­®ºº¹·³±²³®¨©§¥xkoolc]\\_ZTNQy‘’“—™ ¥¬±²·¶»º¸³®°¯¯©“”‘—“‘Ž‹‘‘‹‹ŽŠ‰ˆˆ‰‰Š‡ŠŒŒ‹Š‰ˆŠ„ˆŒ‹Œ‹¸‰ˆ‹‰ŽŠŒ‹‹Š‰‹ˆ‹…‡‰ˆ‰ˆ‰‰‡ˆˆŒŒˆˆŠˆ†„…Љ‡…‡‰‡‡ˆ‹‡†ˆˆ†›‡‹ˆˆŠ†‰‹Š‰‡‹‰ˆ…‰‰‹ŠŒ‹‰ŽŒ�‡ÇÇÃÆÅÆÇÆ–ÃÄÄÅÄÆÄÅÃÃÆÅÂÃÄÁÂÄÅÂÅÄÆÅÅÄÅÄÄÂÂÆÇÅÈÆÇÆÇ©ÆÈÈÇÈÄÄÆÅÇÈÈÉÈÇÉÇÆÈÈÆÇÅÅÇÉÌËÊÎÐÎÎÍÎËÎÎÊÐÐÑ”ÏÑÒÑÕ×ÛÛÜÞâåæêìïîïïíð…îñôòòóùòóîÞ×ÓÔÒÒÑÐÐÓβ¢¢£¡›žžŸœ›¢ÍàäéêîðíîíéåâàÝØÒÑÏÎÎÍÏÏÌËÍËÐÍÌÍËÉÌÍÌËÉÉÊÉËËÉÊÉÈÆÆÌËÅÅÄÆÈÈÆÇÈÇÆÆÇÇÅÆÈÅÅÆÄÄÃÆÇÁÂÄÃÂÂÄÃÅÄÃÁÂÂÀÀ¿ŸÀÁÀ¿ÃÃÀÀ¿¿ÀÁÀÁ¿ÁÀ¿ÂÅÿ¿ÀÁ¿ÁÂÀÂÀ¾ÀÀÁÅÅÂÁÂÃÀ¾¿Á‰ÂÃÂÂÁÂÀÁ¿Á�…¨¨§¨¨§¦„¥¦¥¤¥Ž£¤¥¥££¥¤£¤¤¢§¤¦‡¥¥¦¥¥£¤¦‚¨¦§“¥¦§§¥£¤¥¥¦§¦§¨¦§¦¦§¦’¤¥¦§ª©©­¯¯­«¬ª«¬ª®¯ž®°²°´µ¹º»¾ÂÄÄÅÇÍÊÉÊËÌÊËÎÏÔÖÖ×ÕÒ̾¶²±¯¯­¯®°¬•‡Ÿ„€~~{y©¾ÀÅÈÊËÇÈÅÿ»¹·´¯­­««ªŠ¨©©§ª¨©©§¦¨„¦§¦¨§‰¥¤¥¥¨§£¤¢¤‡¢£¦¥¤£¤£—¥¥¤¤£¤£¤¥¡¡¢ ¡ ££¤££ ¡¡Ÿž ¡¢ Ÿžž¡¡žžž¥Ÿ ŸŸ ¢¡Ÿ¡žŸ žŸ žŸŸ ¡Ÿ¡ŸžŸŸ¡¤¥¢¡¡¢  ž¢‚¥£¤ƒ£¢¢¤�±–•”“‘‘Ž“’‘ŽŒŽŒŒŠ‹Š‰ŒŽ‘ŽŒŽŽ‹ŠŽŒ’²ŽŒ‹‰ˆŠŒŽŒŽ‹‹‹‰ŠˆŠŽŽ“–•”’Ž’’˜˜—••“™œ˜›¡Ö§¯²±³·»¶µ¹¸º¹¼º½¾ÉÉÈÉÆÇÆÇÀ«••—š•’‘”‘|opnjc_a[[XQOS‹§­³°³¸±´³ª¨¤ ›™’Œ“ދЉ‹Ž‰½‘ŽŽ‘‘‘Šˆ‹Œ‘Š‹‰‰Š‰††‹‰ŠŒŠˆŠŽŽ‹ŠŠŒŒ‰ŒŒˆ‡‰‰Œ‹ŒŒŠ‰‹‰‡‡†…†ˆŠ‡»„ˆ††‡…†‡ƒ…‰ƒ††ˆ‹Š†Šˆ…†……‡‡††‡‰†‰‹†…†‰ŽŽ‰‹Œ‹ˆ‡†‹ŠŠŠ‰Œ‹ŒŒŒ�£ÊÉÅÆÆÇÇÆÈÇÅÃÆÆÅÄÄÆÅÆÆÅÇÂÅÆÅÆÄÄÅÆÅÇÈƉÇÈÆÇÇÉÇÈÉÇ‚ÆÈÇþÈÅÆÇÅÆÇÅÈÇÆÇÆÅÇÉÇÅÉËÌÌËÌÒáíïçÙÔÔÛßáçééêëíîðñòòôôóïììèçåãààÝÚÜÜÙÙÛãñôõôõõööôóïêéèçäæåâä¼¢¡žœ ¡Ÿœ—¤ØîìçáãÝÛØÔÕÑÐÌÍËÌÍÍËËÍÎÍËÍ ÌËÍËÌÌËÈËËÉÊÉÉÈÉÉÇÈÉÈÅÇÄÇÆÂÇÆÇÆÉǹÆÁÄÄÅÃÃÂÂÃÆÃÅÃÄÅÀÂÃÂÁÁÀÂÄÀÁÀÃÃÁþ¾ÀÄÂÂÀ¿Â¾¾À¿¿À¿¾¼ºº½¼¾À¾¿‰¾¿¿À¾¾¿ÁÂÀ™¾Â¿ÀÂÅÂÂÃÂÃÄÅÄÄÆÅú¹¿¿À¿»¼�…ª©§©¨§…¨§¤§¦¤¥¤™¥£¥¥¤¦¤¤¥¥¤¦¦¥¥¦§¨¥¦¦§¦§§¦’¥§¦¥¦¥¤¥¦¤¦¥£¦¥¤¥¤¥¤£¦ª©ª©«°¾ËÐŶ²²·»¾ÂÅÆÉÇÈÊÌÎÍÏÎÎÌÌÊž¿»º¹·µ¶³³·¿ÍÑÑÏÒÔÓÖÓÐÊÇÄ¿ÃÀ¿Àœ‡†ƒ„||}v€±ÇÆÁ½½¸µ³¯°¬ª¦¨§¨¨©§§©ª©§ª¨Š¦¨§§¦§§¦§§¥Š¤¦¦¤¢¤¢¥£¡¤ˆ£¥¤£¥¤ž ¡§ ¡¡¢£¢£¡¡£¡¡ ŸŸžŸ¡¢Ÿ¡Ÿ ¡  ž Ÿ  žž  œœž¥›™˜—››œžœ›œžŸžœžœœŸŸžŸŸŸ  £¡¢£¢¡£¤ˆ¢¡ž¡ ¡¡ž¡�ˆ˜–•–’’þŽ“ŽŒŒ‹ŽŠŽŽ‹ŠŽŒ’‘‘ŒŽŽŽŽŒŒ‰‹Š‰Š‰ŒˆŒ‹‡ˆ‰‰Š‹’’‘𫼯¶¡™œ¢¨«°´¶¶·º¾Â¿ÀÁ»»º¸µ°­©¦¡ ž˜š›™™š¤¼Ä¿ÁÅÅÄÅÃż³±±Ç¸²±¯°¬ƒoohebcc]XWVMT–³²«£ ›””“ŒŒŠŠ‹Š‰ˆŽ‘ˆ‰ŽŒ‰Ž‹ŒŒŒŽŽ‹…ˆ‡‹ëŠˆ‡Šˆ†ŒŠ…†‡‡…ˆŠ‹Šˆˆ‹‰ˆ‰Š‹†„††ˆŠ‹‹‰ˆ‰‹ˆ‡„†ˆ‡‰ˆ…†ˆ†€……„…„~}‚{€‚†‰†„„…‡ƒ‚„ƒ†„„‡‡„…‡„†ˆˆ†ŒŠŒ‰‰‹ŽŒ‹ŒŠƒ„ŒŠŒ†ˆ�‰ÈÈÉÉÈËÇÇÉÇŠÆÆÈÈÅÇÈÈÇÈÇ„ÅÈÉÅȇÉÉÇÈÉÇÆÈ¿ÌÇÉÈÊÉÇÈÊÇÆÄÇÅÃÇÇÉÊÊÏÌÎÏÒÔÔØÛÛÝâåâéëìïñòóòòóóõòíìêêéêæâäêåÝÙÙÓÓÔ¦ÕÕÔÓÔÔÕÔÒÔÓØÚÙØÚÖÜßâæëííîñõöôô÷º™œ•–›ž¡Ÿ¨ÂÐÍÏÎÏÍÌÍÎÏÍ£ÐÌÎÌËÊËÌÊËÊÌÊÊÍÌÍÊÉÈÉËÈÉÊÈÈÉÇÇÆÈÈÆÇɪÈÇÄÆÆÇÆÅÇÇÆÅÆÄÃÃÁÂÄÂÃÃÂÄÂÀÂÁÀÁÀ¿ÂÃÀÂÂÃÃÁÁ¿ÁŽÂ¿ÁÀÁ¿Ã¿ÁÁ¿À»¾‰º½¸´»½Ã¾¾À‚ÁÀÁ›¿¾ÂÀÁÄÃÅÄÆÄÄÂÄÞ¿ÇÇùÄÌÓØÛá�¨©§¨‡§§¦¥§§¤¦Œ¥§¦¥¦¥¥§¨¦§¦§¦Í§¦¥§¦§©«¦¨¦§§¥¦¨¦¥£¥£¢¦¤§¨¨¬ª¬¬®±²µ¶¶¹¾¿¾ÂÇÈÍÐÔÑÎÎÐÓÔÐÊÉÇÈÄÄÀ¾ÁÆÂ¹µµ±±²±±°±±°¯¼±°®°°´µ´µ¶³¸¾ÁÁÅÇÈËÒÒÓÓÖÖ›‚|z~„„‚~||„Ÿ¬ª«ªª¨§©©«©©§ª©ª¨¨§§¨‡§¨§§©¨©¦¨¦ƒ¤¥¦¥‹¦¥£¤§¦¥¥£¡¢£¥¤¤¡¢¤¢¢¡ ¡¢Ÿ¢¡ ¡  Ÿžž Ÿž ¡ž  ¢ ŸžžŸ¡ Ÿ‚Ÿ ž™œ››œ™˜”šœ žœž‚Ÿ Ÿ›žŸ Ÿ¡Ÿ¢£¤¥¤ ¡¡¢¡žŸ¥¦£ ¦­µ¹¿�©“”•–”’‘‘Œ‘“ŒŒ‹ŽŒ‹ŽŽŠŒ‹‘’ŽŽŽÅ”ŽŽŒŽŒ‘‹ˆ‹‡‡ŒŠ‘’““––˜ž £ª­©°³¸ÀÄÉÄÃÂÉÊǸ¸µ±¯°¬§¬µ®£š›—•‘“’’”’«‘“’””™™—™™•œ¡¢«®³·»ÂÇÅÇËÉ„fjb__bcd_[WSX{‘Ž„‹ŒŽ©‘‘ŽŠ‹ŽŽ‹‘ŽŒ‹‹ŠŽ‹ŠŠŽ‹‡ˆ‰Œ‹‰ˆ±†‰ŒŽ‡‡‰‰‡ˆ‡‹Š…‡‰‡ˆ‡ˆ‰…†‡†ˆ‰‡ˆ†‰‡‡†…‡‰ˆ‡‡…„†ƒƒ…‡…•‚‚}ƒ€ƒ€‡‚{‚ƒ‰‚…„ƒ…ˆ‡œƒ…„†ˆ‡ˆƒŠŒ‘ކ‡‰Š‰„ˆ‹…‘§©®°�†ËÈÊÉÉÈÉŽÆÇÉÈÈÇÇÅÇÇÉÅÇÆÈŽÅÄÈÇÆÇÅÅÇÈÇÅÆÉÇ¿ØãéáÏÂÄÇÎÏÔÖÓÙÛÛÝæçéêìíïîïîïðñïïíãæäââçóóòòóôóòóìáßÙÝÜÙØÙÛßÙÛÙÙ؇×ÕÕÖÓÔÔÒ§ÐÓÑÔÖÙÜáååèëíïñóòóñòñíèã°“•œ¢¢ŸŸ ›¡¥ÂÌ’ÎÌÒÏ×ÎËËÍÏÌËËÈÊËÌËʃÈÉÊÉÊ„ÈÇÈÈÉÅɵÆÈÄÅÆÅÂÃÅÅÆÅÃÃÂÃÁÂÁÂÄÃÀ¿ÂÂÀÀÁÃÂÁÁÂÃÀÀÁÀ¾¿¿¼¾¾½¾ÃÀÂÂÁ¿˜Ã¾½¿¿À¿ÀÂÂÁÁÀÁÄÂÃÁ¿Á¿¾¿‡¾ÁÂÃÃÄÂÁÀÁ¿ÍÚÜÝäéììãêîîïïí�©§©¨©¨©ª¨¨§¨¦¨§§¥§¦¨£¦¥¦¦§¤¥¨¨¦§¤¥¦¥©¥¥¨§¦¦µÄÊ¿¯¢¤§¬­±²±µ·¸»ÂÁÄÄÇÇɪÈÌÉÇÅ¿ÁÀ½¾ÂÏÒÓÒÓÔÓÔÕÊÀ¼·¹·¶µµ·¼¶µ´µ´´µ³±±²°ª®®¯­°®²µ´¶½ÃÄÈÈÊÉÌÍÎÏÐÍÍÊÆÂ’uywz€…„ƒ€{~©„¬«²«¨˜ª©©¨¦§¨©©¨§¨¥§§¦¦§¨¨§§¥¥¦±§§¨¤§§¦¥¦§¤¦¡¢£¢ ¡££¤£¡ ¡¢ ¡¢¡£¢ŸŸ  ž  ¡ ¡ ¡ŸŸ Ÿž†œžž¡Ÿˆžž¡œžƒžž ŸŠ  ¡  žž žšŸ¡¡  ¡ ¡¡Ÿ¡ ¬¶¹º¾ÄÉÈÃÇÈÌÏÎÊ�þ’”“’“”’Œ‘‘ŒŽŽŠŠ‰ŒŽŒŽ‰‹‹‘ŒŒŒ ³»­˜ˆˆŒ–˜š—ž£¡¢¯°³±¶¸¹·º¸·º¾¸µ³ª¯«§¥¬ÂÉËÆÇÈÍËŹª¤Ÿž››¡§›™››š•–””•’•’‘‘“”—š˜Å¨©§«°´·¸½»¿À½½·°­z]a^`agdb^]TUV|Œ‘Ž“™Š‘“‘Ž‘‹Ž‹ŒŽŽŒŠ¼Œ‘Ž“Œ‹ˆ‹‹Œˆ‰Šˆ‡ŠŽŽˆ‡‡‰ˆ‡‡‹‰ˆ‡†„‡ˆ‰ˆ‡‡‰†‡ˆˆ†„…‡„††ƒ…‡††Š‡†‡†„µ†€ƒƒ…‡„…†ˆ‰…†‡Š‡†ˆ‡„‰„„‡ƒ‡…†ˆˆ†…‡ˆŠ‹…‡ˆ”¡¤§²º»¼±»ÆÆÃÁÀ�”ÊÉÉËÊÉËÃÇÅÂÊÇÈÉÇÆÊÈÊÉÂËÉÍÎÌÍÎËÒÐÕÙÙÚÝßáãåæëïòòîîðñõ÷öðëíêççåàÝÚÛÖÙרÖÒÍÍÌÌÏÑËÐÑÎÏàñóñõôôõ óóîëêèèææãâãßÛÚÚØÙÔÖÖÔרÙÞäçìíôõöÂóòòíëçâÞÛØÕÎËÊÍÉ›wwq|†’› ¢£Ÿ£«ÁÊÊËÊÌÊÌÔÐËÍÉÉÌÍÉÊÈÉÊÉÉÊÇÇÆÅÇÇÆÆÉÉÈÊÈÊÉ”ÊÇÇÄÆÇÇÄÂÃÄÆÄÅÃÂÃÃÄÃÁ¥ÂÂÄÀÀÂÁ¿¿ÀÁ¾¿À¿¿½¾¿¾À¿¾¿½½¿¾¾À¿¾À¿À¿¾¿œÁÃÁÁÂÁÀÁÃÄÄÁ¿ÂÁ¿ÀÀ¿ÁÃÂÁÂÅĘÀºÄËÔÜÛàãçìñðîëéäåäÜ×ÓÍÅÂÀ�©©¨ªª«ª¤¦¨¤¨¦§‰¦©¨©¨¨©««¬²°°®³°µµ¸º»½¾ÀÃÅÈÐÓÒÎËÐÎÓÚ×ËÇÇÆÅÄÁ½¹¶¸´µ¶¶µ°ª«ªª­®ª­…¬½ÍÒÐÕ•ÖÑÎÉÇÉÈÅÂÂÁÀ¿¼º¶··¸±³´¤µ¸»ÁÃÊÊÔÔÓÓÐÑÐÒÊÈÁ¾º¹¶²¬©©ª§€]`[dlw~£~€†§§¨§¨§©°­©ª§§©ª§§¦¦¨¨§¦¥¦¥¤¤¥¤¤¦¥§—¦§¨¦¥¢¥¤¥£¡¢¢¤£¤¢¡¡¢¢¡ Ÿ£ ¢¡ ¢¡Ÿž ¡žž ŸŸœžž žžŸœœžœžŸžž žŸž‚Ÿ¡ ˆ¡žŸ¢££ ž §žž  ¡žŸ¡Ÿ  £¢¤¥¡¤©°··¼¾ÂÇÌËÊÇÄÀ¼¸³¬¦¥£�Œ“‘’”—“ŒŽ‰‚‹ÌŒ‰‰’”““™˜•œ™› £¦¨§©ª­¬½ÊÅÂÀ¿ÁÂÉÏľ¶¶µ²®¬¦¤›Ÿ››šžœ’ŒŽ‘”‘’Ž£¾ÈÁÄÇÍÍÇÈÂÁ¸´³ä®¯«©¬¥£ ž›š–™˜–šœ› ¨¬¹ºÀÂÂÆÆÄ»ºµ°¬¨¡œš˜‘ˆŒŽhGLFKR[]`_]UU^|ŠŒŒ‹”“ŽŒ‹ŒŽ‘ŽŽ‹‹ˆ†‡‹ŠŒŽŒ‹‹Œ—‘‹‹‰ˆ…‰‰‹ŠŠ‰ˆ‹Œ‹‡…‡…†‡ˆÚ‰ˆ„…ˆ‹ˆ†ˆ††‚„‡ˆ‰ƒƒ…„……‚…††‡‰†……‡†…„‡‰‡†‰Š‡Š‹ŒŠˆƒ„†ˆˆ†‡†‰„†Š…†‡‰‹Šˆˆ‚ˆ˜£¦¦¥¯¸¾¾½¹·µ´³ª¥ •ŽŒŠ�£ÞÝÔÈÇËÐÊÊËÉÎÒÕÙÛÚÚÝáååæèêíîíìïïìðïðíêóƒòïñó—ôóïÛÒÓÏÕÑÒÐÎÏÑÐÒÓÖÕÓÓÔÕÔÑÕÖÙÕÕáæééæãåêåæéêëíðññòóóòòôòóòðòððîíïñòôóóòñíëçåáàÛ×ÔÔÑÒÏÓÐÎÏÌÏϲsfb^_ak†šžŸ›ž¥ÀÉ”ÊÊÉÊÌÍÊÉÊÌËËÉÈÇÈÊÈÊËɲÈÈÊÈÇÈÊÊÉÈÇÈÉÈÇÈÈÇÅÃÄÅÆÃÅÂÁÄÄÆÄÈÄÄÅ¿¿Á¿¼¼¾Â¾½À¾ÁÀ½¼‰½¿½½¼¾¿Á¿½†¾¼¾½À¾À¿À¸ÁÃÀÄÄÃÀÂÂÅÄÂÁÁÃÁÀÂÅÃÅÅÁÁÂÃÅÄÉÐÔÜãèéìëíêßÛÛÔÏÍÊËËÏÔÚØÑÉÀ¿ÃÁ�ʽ²§¨­¯ª«­¬¯³´·»»º»¾ÀÀÃÄÇÇÉÍÎÊÊÉÎÑÍÊÉÇÆÅÅÇÕÓÕÓÑÓÒÕÒÒÕй°¯¬²¯°®¬¬­­¯°³³°¯°±°Ò±²´²²»ÀÄÅÁ¿ÀÃÀÂÄÃÅÉÐÒÌÏÎÑÒÑÒÑÏÎÍÑÍÌÇÇËÎÒÒÎÎÓÍËÇÃÀ¼»¶³±±®®­¯¬««¨«ªŽWKHECBLh{}}yyœ§¦„§¨¨©§Š©¨¨¦¦¤¥§¦¦§‡¦¥¥§¦¥¤¦©¥¤¥¦¦¥¦¦¥¡¡£¤£¢¢¡Ÿ£¢£¢¦¡¡¢Ÿž žš›¢žžŸŸœ›“žžœ›žŸŸœžœžŸž¸Ÿ¡ ¢ ŸžŸŸ¤¢¡Ÿ ¡ŸŸ £¢¡£ŸŸ¡¢¤£§®´¹¾ÂÃÄÂĺ¶¶±­«ªª©¬²¶´¯© Ÿ£¢�ʲªž‘˜˜•–™–—žž£¢¡¢§«®¬¯³··¹·½¹¼½¼»½º¸¸´³¯­ÁÍÏÄÀËËÊÄÄÈ»¢•“™••’Ž””™™“‘”“–›”–š–• ©­«ª§ª°©­®¯´¶¶º¼À¿¿ÂÃÄþÁ¾Á¼¼µ³·½½À»»Ã»³²­¨¡¤œ–’‘“Ž‘‹‹wA641/04FWXUMMUzˆŠ‹Œ‹Ž‰‰ŠŒŠŠ‰‹‰‰ˆŒŒ‹Š‹‰‹Š‰ŒŒˆ‡Œ‰ˆŽˆ‰ŠŠˆŠ†ƒ†ƒ}„‡†…ƒ‚…†ˆ…ƒƒƒ†…ƒ…Ê„…ƒ‚ƒ„…ƒ……‡†ƒ…†‡‰‡‰‡‰ˆŠ†ˆˆŽŒˆˆ‚…„†‰‹ˆ‡‹†…‰ˆŒŠ•œ¢­°°±°³±¥Ÿ –•’’”“—› ž˜’‰…‹ˆ�õ®ìçìîñðôõöõõôòñðìíìééèæäãßÜÜÙÙ×ÓÒÕÐÐÏÍÐÓçôôñôòóô‘óñåØÕÕÓÒÔÓÒÓÕÖ×ÕØ×ºÙØÕÙÚÜÚÚÙÙÛÙÛÚÙØÖØØÝ×ÒÓÎÎÖÓÙâéëîóóöõöõöòïçéìðôïåÞÜÓÒÒÑÐÑÓÔÑ©ÏÎÎÍÍËÊÍ»†‚€„Žš ¤›¦¼ÌÉÉÍËÊÍËÌËÈÉÈÌÌÉÈÊŽÉÉÈÆÈÇÉÉÊÈÈÉÇÇÈŠÆÆÃÃÆÄÂÃÅÂÀœÆÁÄÄÅÃÂÃÂÀ¿Â¿¾¾½ÀÁÀº¾¿¾¼¾Ä¿À¿‰Á¿º¾ÀÂÁÁ¿Á½ÃÃÄÂÿ¾ÄÃÅÂÃÅÅÆÆÄÅÆÃÄÃÅÆÊÏÐÙáèêìïêååàÞÕÐÌÊÉÈÊÔÏËÌÉÉËËÏÌÅÅÃÁÁÂÁ�‡Ö×ÔÉÅÈËθÏÒÑÎÍÎÍÌÇÇÅÄÅÂÁ¾½¼¸·¶µ²¯®±®«¬«¬°ÂÑÓÑÔÔÒÕÕÑÒÓ´±²­®±°°¯°±²Œ³²³³²´³µµ´³³´“µ´³±³³·³®®«¬±±¶»ÃÆËÓ™ÑÐÌÇÀÄÈÎÐË¿¹¶¯¯®­¬­®¯¬¬­«ª›©§§©–rjged`klw|~uw~™©¦¥¨§§©§¦„¨¨§¦§¦„¥¤¥¥¦ƒ¥¦¦¤£¥¥¤¥££Ÿ ¤¤¡ ¡ ž›¡ ¡ ¡ ¡¡ ŸŸžžœžŸŸšžœ›Ÿ¢Ÿž•Ÿžšž¢ŸžŸŸžŸ  Ÿ¢Ÿ ‚ž ¡„¢¢££¢¦¤¤¨«­µ»ÁÂÄÆÂ¿¾º·°¬¨§¥¦¨¯«¨ª§¦¨¨¬©¤££¡¢¤¡�–ÐÑʾµÀÃÇÈÌÄÂÄÀÁþ¶µµ³¯®£ª¤ š™”“–“’’‘«ÅÇÄÈÌÉËÊÃÄÀ§œ•–”’”÷“‘”š™š™™–™™–˜™œš›™œ™˜——––”™—œ—“•Œ••Ÿ¦³´µ¿ÆÊÆÆÅ¼´©¨´¾¿°¦ ™“ŽŒ‘ŽŽ’ŒŒ}VPMMNHJAKTTFGPuŒŒ‹ŽŒ‘‰ˆ‰ŠŽŒŽŠŽŒЏŒŠŒ‰Šˆ‹‹‰……‹‰‡Šˆ„…‚†‰‰‡ˆ‡Š†‡„…†„…‚„‡……‚~€ˆ‡‡†ƒ‡„€€„І†„‡†„…‡¹‰„„‡‡ˆ„‰ˆŠ‹‰‹‡‡ˆˆ‰Ž‘”“š©®®³µ­ª§¢ž–“ŽŠŒ•Ž’‘”‘Š‹Œ‹‰Š�™õõôööõôóïçÝÝ×ÕÕÐÔÏÏÑÒÓÒÒÓÒÔÑÓÔÓÑÓÕÒÔÕÓÖÕÝóôõôõôõôôòçÞÝÛÙÚÛØÙ‘ÔÕØÚÙØØÕØÚÙÚØ×ÖÙØÛ‚ÙØÙŠÛÜâæêððóôóòÀðîêèäÞÙÕÏÑÔÚÔÕ×ÓÓÑÒÐÐÎÐÑÎÏÏÎÌËÌÍÍÊÏÓÀ‘—˜¥¡°·¯§Ÿ˜Ÿ«¼ËÉÇÉÊÊÉÉÌÊÉÉÊÇÉÈÉÈÈÇÈÈÉÈÆÆÈÉÅÇÆÆÇÈÇÅÆÈÆÂÆÁÀÃÁÃÅÄÃÄÂÄÃÀÃÀÁÃÀ¿ÀÂÀÀ¿Á¿½¿À¾ÂÁ¿ÀÂÀ¾ÀÄÁÀ¿ÁÄ׿¿ÀÁÂÃÁ¿ÁÀÂÂÃÂÃÁÀÁÃÃÂÅÅ­ÄÃÇÍÒÙàçëêëæÝØÖÓÐÏÑÐÌÊÇÉÐÌÍÍÑÌËÆÇÃÅÂÁÁÃýºÁÀ½¼½�¥ÙÛ××ÙÖ×ÔÐÆ¹·³±±®°¬«¬®±¯¬®­¯°²®±±°®¯±¯°¤±±¸ÏÓÕÔÖÕÖ×ÓÖÜÖż»¶¶·¸·¶¶µµ²±µ¶´³´³´µ†´³²´µ´µ¡´µ¶¶¹¸½ÂÅÉÌÎÏÌÍÍÏÐËÊÅþ¹´°¬¯³·²²³®¬«­ª«¬ª©¨©ªª¦«¯›nu|}‡„‹Ž‡€xrxƒ™©§¤¦§¨¦¦¨§¨§¨§¦ƒ§¥¦¥ˆ¤£¥¥¡¤££¤»¡¡¤¥ £ Ÿ  ¢£¢ ¡Ÿ Ÿž Ÿ  žž ŸžŸžœžž¡¡ŸŸ žœŸ¢ ŸžŸ¢  ¡ŸŸ  Ÿ¡ ªŸŸ ¡Ÿ¡Ÿžž ŸŸ¢¢ Ÿ ¢£¦ª±µºÁÆÄÿ·²±°¬¬®®¨§¥§¬©­©§¤¥¥¤¡£¡¢¢ž¡ ž�¤ÕÖÓÔÑÏÎÏǸ£Ÿ›—”‘—Ž‘‘Ž‹’”‘“”–’”“Œ’•”½ÆÊÆÍÎÌÍÈ£Àµ¨¤š  Ÿ›š˜—›œ™˜›˜–œœ›˜™š—”˜˜™——œ‡¢¡«¯µ¼¿ÿ»½¿»³­©§¡›“‹“˜š’“—’Œ‹ŽóŒŠŽ’ŽŠ’˜€OZ__ife_VSLBGSuŽ‹‰‹ŽŠ‹ŽŽ‰ŽŽŒŠ‹‹‰Œ‰ˆŠŒ‡ˆ‡‰Šˆˆ‡†Œ‹…Œ‰Š†…†Š‰ˆ‡„……ƒ††‡ˆ…†ˆ‡……ƒ…ƒ€ƒ„‚„‹‡‡…‚‚‡†……†‰…‡ˆ…„†Â‰Š‰‡…†ˆ‡†Šˆ…ƒ††…†‰††ˆ‰Š‹›Ÿ£¯´²®©Ÿš™˜–““‘‹ˆ‡–”Ž‹‹‹ˆ‰ˆˆ‹……‹Š‡‡ˆ�ŠöôôöòôõôïÞÑûÏÓÐÓÏÑÓÓÒÑÔÓÒÔÑÑÓÕÔÓÑÒÎÑÔÖÔÕ×ÙéïñóôôõõóôõôöõööóóòðïîïïëèèäâÜØ×ÕØÙ××ÖÕØÚàäèìîïïðòóôôòñïððêæáÜÙÑÔÑÑÎÑÐÓÒÑÑÐÒÐÑÏÑÎÑÍÐÍÍÏÌÎÍÍÊÉÊ—hjogdbjdicq‡˜›£»ÆÈÈÆȈÊÊÉÆÈÈÇÆÅÄÇ“ÆÆÄÃÂÅÀ¿ÁÁÃÅÄÆÅÄÅÀ¿Á–ÂÀÂÃÃÁÃÀÁÂÀÀÂÀ¿¿ÁÁÀÁÀÁÂÃÁÃ’ÄÁÀÁÃÆÃÄÂÄÂÁÁ¿ÀÄÁºÃÄÀÄÅÁÀÆÉÏÐÖÛßãæååäÝØÒÏËÊËÈÉÌÌ׿âÕÉÄÃÇÄÁÀÂÁÃÂÂÀÁÀ¿¿ÁÁ¼¹¸¼º¸�‚ÙÝÚÖл¯®­«®­¯­­¯®¯­¯±¯¢±±°­¯­®°±¯±³´ÃÊÑÒÑÐÑÔÎÒרÔÒÔÒÐÑÏÏÍÌ‹ÆÄÅÀ¿¸¶¶´´µ´Í²¶ºº¾ÂÈÉÌÌÎÐÒÓÐÏÌËÌÊÄÁ¼·µ°±®¯«¬­¯®­­¬­­®¬¬«¬ª­­«¬¨«ª©¨¦§©¨oNQSHHFKIOEQdntwy™¦„¤¥¦¥§ƒ¦¥¢£…¡¤¥¤¥¤§£¡¡ ¢žŸ ¡¡¢££ ¢ŸžŸ  ¡ž¡¡ŸŸ ŸŸ Ÿž  ŸžŸ Ÿƒ  ¢¡Ö¢¡ Ÿ ¡¡¢ŸŸ ¢¥¢£¡£¢ Ÿ¡ ¡¤ŸŸ  Ÿ Ÿ ¢ŸŸ£¦¬¬±·¹¾Á¾À½¸³°­ª¨§¤¦©¨³¿¼°¦££¦£ Ÿ¡ ¢¢¡Ÿ žŸžŸ ››œ›š�þ×ÙÓÔÒËÊÍæ•”•’‘Ž““”“”•”‘•™–“‘“—˜š­¹¹½ÄÅÄÈ¿ÂÍÌÊÇÇÆÁÅÂÄ¿¾½³¯±¬¨¡žž—› ™–˜˜—— §«µ¸½À¾ÃÁÅÄý¼¹º°¬¤™““Ž’’“’‘Ž‹ŽŠ…‘‹ŽŽö‰‘W>>=.3/62;,/:EJJNQwŽŒ‹ŽŒŽŽŽ‹†ŠŒ‰‰ŒŒ‰ˆ†‰‡ˆ…‡†ˆ‚‚‚‡‰ˆŠŒ‡‹Š……„…††Š‡‚ƒ……ˆ†…†ˆŠˆ„„‡††‡†‡‡‰‡Œ‹‹‡ƒ„†ˆˆ††ˆ‹‹Š‹ˆ‹Œ……Š®‡‡‰ˆ†‡‡ˆˆ„„‹•”𢣩ª¦©§™”ŽŽŠ‘”ž®§–‰†ŠŽ‰…„‡Ž‰†ˆŠ†‰††‰†……ˆ„ƒ�ªõóôôóóôòîÞÕÓÑÓÎÑÑÐÏÑÔÓÒÑÓÒÑÒÐÕÓÓÔÒÔÒÑÒÕÔÕÓÖ‰ÔÖÖÛÜÛÝÝãáˆåèçëïîðòôŠõóñòññððòñð¥îñòôôóòñïíëêæáÞÖÓÕÔÐÑÒÑÒÑÒÐÑÑÎÐÑÐÐÒÑÑЭÌÌÊÍÎÍÌËÎÌÉÌËÈÉÉÈÅqULLUuHCHAH]€—œ¡©ÀÆÇÄÇÆÈÆÇƃÇÃÀÄ“ÆÄÅÃÄÄÅÂÁÂÄÄÆÀÄÄÃÅÃÄ‚ÂÄÖ¿ÂÄ¿ÀÀ¾ÄÂÃÅÇÃÃÈÄÄÅÁÃÂÂÓÅÅÆÅÃÂÂÅÄÂÂÃÅÃÃÅÄÃĬÄÁÁÃÃÅÈÈÌÏ×ÛâëêêãÞÙÕÙÕËÄÒ×ÖáäàÛ×ÉÆÇÆÄÄÀÃÀ¾¾À¿‘¾¿ÀÀ¿ÀÁ¾¿ÀÀ¾½»º»¹»¹�óÚÜÚÙÙÔÒÕÏ»²°¯°«®­­¬®±°¯®°°¯°®°¯°°®°¯®¯²°±°³³´³³²·¸¹º¸¿½½¿ÄÂÃÇÌÎÏÐÓÐÎÓ×Õ×ÒÎÏÏÐÐÍÊËÈËÏÓÓÏÎÌËÉÊÇļ»¶±³±­®®¬®­®¬®­ª«®¬«­½«ª¨©¨ª¬«©¨¬ª¨©¨¦¥¦¦¤U9118X0*0*0@apuz~†œ¦¦£¤£¦¤¦¤¦¦¥¡ž¡£¢£¢¡¡¢£„¡ ¡¤¡Œ¢ž¢£¢¢¡££¢¡¢¡“Ÿ £žž£¢¡£¥£¡¥££¢Ÿ¡Ñ¢£¢££¤£¡  ££  ¢¤¡¡¤£¢¢  ¡£Ÿž¡¡£¦¥©«´¶»Å»¸´±´²©£¯³²¼½¹´±¦¤¤£¤¤ ¡Ÿžž žŸžŸŸ  ŸžŸŸ žœœ�þÔÕËÍÏÈÇǾ¥™–•˜’’”’Ž‘–•““Œ’”•–‘–“’’“–š–›—•’—œ›œª©¤¦§°­·º½ÀÃľ¿ÈÉÊÇ¿ÂÂÃý¹¹¶¼ÁÃÅ¿»º¼µ´®¦¥Ÿ—˜””“‘‘‘’”““‘‘“މŒ¢‰‹ŒŽŽ‹Š‹=# !$I"#<LORU[|Ž‹ƒŽ‰Œ•‹‹…†‰Šˆ‡ˆ‡ˆ‡††…‡…ˆ‡ˆ…†…‡‹‰‰‹‰…‡…‡…†‡„„…„‰ŠˆŠˆ‹Œ‰¿Œ‹‹ŒŒ‹ˆŠˆ‡‡‹Œˆ†ŒŠˆŠ‹Šˆˆ††‡†‚ƒ‡‹ŠŒ’•žž¥³­³¨¡™“œ—Šƒ”™š£¤£ ›‹ˆ‰ŠŒ†‡„…‡…†…„‡…ˆ‹ŠˆŠ†„ƒ„„…†„†‚�‹õóððôòóðïßÙÒªÔÑÒÒÐÏÑÔÓÒÔÓÒÔÕÖÕÒÏÕ××ÓÒ××ÕÔÕÖÖ×ÖÖØÙÖ×Ò×ÖÖÓÒ×ÔÓØØâçìïòòóóõõô íèêêíòòïãßÛÚØÕÕÔÒÐÓÑÒÑÐÒÓÒÓÒÐÎÐÐΕÍËÎÎÌÉÌÍÌÍÌËËÊËÈÊÌÉÇÈDzÁsPR@“ß[EIDFS€’™£«¾ÆÆÇÅÂÃÄÅÃÂÅÆÄÃÄÂÄÂÁÃÁÂÅÃÄÅÄÅÃÃĘÃÇÂÆÅÁÅÄÃÄÂÄÅÄÂÃÁÄÅÃÄÄÅÄÅ‘ÇÅÂÆÃÃÇÅÄÂÄÆÆÅÆÅÅùÂÄÆÄÂÄÄÂÃÄÄÅÄÁÁÉÊÍÓÙßâãçãàÙÜ×ÓÒÑÕÜÙÞÞãàÛåçãÝÔÎÅÀÁÂÁÀ½¾¾¿¾½“ÁÁ¿¾¼¹¼¾¾»¾Á¿¿½¾¼¼¹º»�°ÞÙÔÕ×ÓÔÒÓ½¶¯¯°±­­¯¬¬¯±²°±°±²³²±°­±²³²®³³±±²²³´²±´œ³®³²²±²¯®³³¶º·ÁÅÉÏÒÖÚØÕÔÔÒÓÌÅœÊÏÓ˾º·¶´³±°®¬°­¯®¬¯®®¯®¬¬­­ª’¨ªª©¨©©ª«©¨©¨©¦¨©§¦²¥¤¥ŸU58*sµ>+2-/5apx|ˆ›¤¥¤  ¢¢¤¡¢¤¥¢ ¢¡¢ žŸ  £¢£¢¡¢«£¢¡ £ £¢Ÿ£¡ ¢¢£¢¢¡¢¢¤£ ¡¡¢¢¥¢¢££ ¢£¢¤££¡£¤¥¤Œ¡¢¡ ¤¤¢¡£¢ ¡£¢¡¡§¨ª±µ¸»½¾½º¶·³±¯®°¶³¸·¼¹¶¾¾½·°ª£Ÿ„žœž•¡ŸŸ›šœžœŸŸžŸžžœ�™ÓϼÃÉÄÂÀ¿¦Ÿ””–•“‘’’‘‘˜•Ñ”•”‘•š™—”™˜˜•™˜–“’•š™––‘—–•“‘“‘–•–Ÿž¨°°¸ÆÏËÏËÈËÆÁ¾²´³ÁÄȺ¨£žžœ—””Ž—’“””’Ž‘ÀŽŽ‘‘‹‹‘‘މŒŒ‰ŠŠ‰ˆ‹‰Œ†< &]¢/=LRWW]{ŒŒ‡ˆŠ‰‹ˆˆŠŠ‹‡……ˆˆ„†Äˆ‡‰ˆ‡†…†‰ˆˆ‡‰ˆ‹‰…Œ‹†‡†‰ˆ…†ˆ‰‰††‡ˆ‰ŠŽˆˆ‹Œ‡‰‹‹‰ŒŠŽ‘‘Ž‹ˆ‹‰‰‡ŒŒ‰†ŒŒ‰‡‰Šª‡Œ‘”™¢§¦«¦¢žžœ™””—— ¥ ™¨©¨¡—‘Šƒ„„…‚€‚‚†…•„ƒ‡††…‚†‡†ƒˆ…ƒƒ„††‡†‡…�¡öõóòõóòòðæÜÐÔ×ÙÓÑÖÐÏÓÔÖÓÔÕÙÕÖÕÕÙÖ؃×ÔÖØþÙ×ÖÙØ××Ù×ÕÖÕÔØÙ×ÜáèèìðòóõõôóóññììæßÝÚ×ÔÑØÛÚØÓÕÖÓÓÒÓÕÕÔÓÓÔÑÐÓÒÔÒÑÏÎÍÌÊÏÎÌÉÌËÉÊÊÌÏÍÎÏËÊÌÈÉÉÇÄÆÅÊÊÈÄoIFAcÈF8BA@R}“š «¼ÁÆÃÅÂÀÂÄÁçÃÄÃÂÁÂÂÁÀÂÃÄÇÄÅÆÃÅÆÄÆÆÁÃÆÄÆÇÅÃÇÅÅÂÆÄÆÅÅÄŒÂÄÅÅÄÆÃÅÆÅÄÆÇ‚ÅÅÆœÇÈÆÅÃÆÆÅÄÃÅÅÂÄÃÆÊÉÍÓÙàåæãâßÔÏŸËÏÔÛàÙÞÖרÕÖÎÉÈÇÉÂÀ½¿À¾¾¿ÀÀ½¿ÀÀ¿”¾À¿Á¿½¼¾½¿¾ÀÀ¿¾º¼¼¾¼¼»�—ÞÜØÙØØ×ÔÒź®±´µ°­³­¬°±³±Ã´±³³±´±³´µ´¯²´³³´³³¶³²±´³±²±°´¶·¼ÀÆÅÏÎÍÐÒÖÔÎÐÍÍÈÉÁ»¹·´¯®²µ¶µ¯°²¯®­­°ï®®¯®¬¯®¯­¬¬«ª©¨«ªª§ª©¦¨©©­«ª«©¨©¦¨§¥¢¥¥§¦¦ Q10+I¤/%,++6\qy{~ˆ™Ÿ¢¡¡ Ÿ ¢Ÿ ¢¤¢ŸŸ ŸŸž ¡£¤£¢¤¡¡£¢£¤Ÿ £¢££ ¢¥¢¢¡¤¢££¢£”  ¢£¡¤¢¢£¢¡£¦¥¦¤£¢¤¤¥ƒ££¡¤­¢¡¤¤¡£¢¥¨¨¬°´º½¿¾¾º°ª««©­°¶º²·±¯±®°©¦¦¥¤ŸŸž›žžŸžžžž ž ››œŸŸ›žœ�¢ÎÉ¿ÅÉÉÁ¼»±¥””›œ˜’”“‘’““——œ•—“’˜–—šç”–™˜—œ˜••–˜–™˜——”•šœš¡¨±±¸¼¾ÅýÂÂŽ¹³­©¡šš•“› ˜”™”‘‘•“‘‘”Œ’—“ŒŽŒŒŠŽ‡‹‘‘’Ž‹‹ŽŠ‹‰†‡ŒŠŽŒƒ7¼5ˆ!7JTST[x…‹ˆ‡††‡‰†‡‰ˆˆ†ƒ‚„…ƒ…†‰‰ˆ‰‹‡ˆ‰†‰‰‡‡Š‰ˆŒˆŠ‰‰†Œ‡“Šˆ…„ƒ‡ˆˆ‰Œ‡ˆ‰‹ˆ‹Œ‰¹Ž‰ˆ‹Œ‹ˆˆŠ‡Š‹“™ž¤§«¨¤¡—‘“Ž’™£˜œ“‘’’•‹Šˆ‰„†……„ƒ’…‚ƒ„„†…€‚ƒ„„†…„ƒ…„‰‡†…ƒ‚†‡†‡‡ƒ�‚öø÷·öõööóîììíñíæåäáàáÝÛÞÞÜÖ×ÖÖØÚÙØÙ×ÖÖØÖÖÔÖÕÕ××Öââäéèìðñóõõô‡òïìèçãÜؾÕÕÔÑÑÎÏÒÓÒÒÐÑÒÓÒÒÐÑÑÕÒÎÒÐÒÐÎÒÑÒÐÏÑÏÔÓÒÓÑÒÔ×ÖÖØØÛÝÜÜÝÓÊÇÆÇÅÄÇÆÆǪÃsMOAA͘H:FIT€”•›¢§º¿ÀÀÂÀ¿¾ÁÀÁÁÂÀÀÁÂÄÄÂÃÄÆÅŠÇÃÁÅÄÆÅÂÄÄÆšÈÉÆÅÈÅÅÆÄÅÅÄÃÅÄÄÇÇÅÅÆÇÃÈÈÄÅ×ÆÃÆÅÇÆÅÆÅÆÆÉÈÊÏÕÖÜÞââÛÞÝÚÔÊÑÑÓÕÎÕØ×ÕÖÙ×ÕÒÎÊÆÂÂÀ¿ÁÁÂÂÀÁÀ½Á¾¿½À¿¾¿ÀÀ¾¾¿¿¾½¾¾¿¾¾¿¾½¿¼¿¾¿½¼½¼½�„ÙÝßßܘÝÚÏÇÉÌÌÉÄÂÄ¿½¾¼¼½»ºµ´µ³´µ·¶³²³´²³±³±³³´±¼½¿ÄÄÉÎÑÔØÖÓÐÒÎÉÆÄÿ¹¶´µ±²²¯­«­®¯¬®­­®¯®®¬§±¯«¯¬¯­­¯­®¬«­¬°®¯°±²²³³²´¶¶¹··¸°¨¥¤¦¤¢¥¦¦¥§ S48*,¬ƒ8$,17^utx€„–œžŸž Ÿ  ¡ žŸ ´¡¢¤¢£¢¤ ž¢¡£¢¡¢£¤£¢¢£¦§¤¤¦¤¢¤¡¤£¢ ¢¡¡¤¥¤¢¤¥¡¦¦££¡¢£¡¥¤¨£¤¤§¦§¬²´¶¸¼¾·º¸¶¯¨¯±°°ª°³²±²³³±­©§¢žžŸˆ ž žžžœ‹žŸžœœŸžŒœ›žœŸžœž�ÏÆÆÌÊÊÑËÄÇÈ¿·¹¼¾¹±ª®¬¦ª££¨¦£™›–”˜š™šœ™––—’•—™““›—¦ª«²±¹ÁÃÅÄÇÆÀÀ½¸´®¨©Ÿ˜•”’‘Œ’‘øŽ’”Ž““‘“Œ’”•““—‘“”––—œ˜—˜—œž £Ÿ¡¡“Šˆ‡‹‰…ŠŒ‹Šˆ„:""–t2 8KNNWYtƒ…†ƒ„„……‡‰‡‡…„‚††…‡‡‰ˆ‡‡Šˆ…ˆ‡‹‰ˆˆ‹‡‹ŠŠŽ‹‰Œ‡‰’‡……‡†‡‹Š†‰‹ŽŒ‹ˆ‰Í‹ŒŠ‰ŠŠŽ•›Ÿ¤«¨ ¡ “Œ——”—‘—š™—šš˜‹‰„€‚ƒƒ…„‚„ˆ‡ƒƒ„ƒ……‚…†„…ƒ‚‚‡†„ƒ††…„‰†„…‚„‡†„…†…�Ó×ÚÜÝèèéíòòñööô÷ôö÷ö÷ööõôöõôðïëíêèäÞÕÓÔÙÚÛÞÞåèêîñô÷õ÷öôóðíëéäßÚÚÕÔÔÒÒÑÒÐÏÓÓÍÑÏÓËÑÔÓÖÔ±ØÚØÙØØÚßßÜâáäàáàãåäáâçêííéçêéæßàâàåÞÖÔÏÆÂÇÅÆÇÆÉÈÇÆ™¿iJL>sÐÐÁeNQZ–ž£¨¹À¿¾Á¿«½ÀÀÂÂÃÁÂÄÃÀÁÅÅÄÃÄÅÃÃÆÅÈÃÁÃÄÅÆÇÅÄÃÅÆÃÄÅÅÇÆÆÄƃÄÂÅÆÀÇÆÅÆÆÅÃÂÅÅÆÄÃÇÌÓÑ×ÛâàâàÞÜÙÒÒÌÈÆÅÂÃËÝáÜÞÖ×ÙÒÎÌÇÆÃÂÁÂÂÁ¿½ÁÃÀ¿¿À¿¿¼¿›¼½½¼ÀÁ¾¼¿¾¾½¾¿Á¾¿À¿¿ÁÀ½¿À½¼‚»¸¸¾�þ¶º½¼ÄÅÉÊÕ×ÒÏÑÒÓÐÔÕÛÛÕØÚÚ×ÔÕÑÏÎËÈÆÄ¾µ±±¶¹º½½ÃÅÊÍÒÑÔÓÒÏÑÑÐÌÊÈÁ»¶¶²°±¯­®°­­¯°¬¯­¯©¯±°³²²±²µ´·¶·¹»¼»À¿À¾ÂÀ¿ÁÀ¾¿ÃÅÈÈÅÅÈÆÃº¼¾½¿¹´°­¤‰¡¥£¤¥¤§¦¦¥žžN14']°²¢M26<]pv}€ƒ–ŸžŸžž›Ÿ ¥¡ž ¡¡žŸ£¤¢¢¡£  ¤¢£ŸŸ¡££¢¤¢¡¢¤¤¢££¢¥£¤£š¢¡£¥¥¤¤¥££¤¤¢¡Ÿ££¥¤£¥©°®²´»£ºº¸´¯®¬¦££¡¢¨¹½µ¸²³´®«©¤¤¢¡  žž›ž žŸž›ž››œ›žŸœœŸœ…ž  žŸŠœŸŸ œœ›šœŸ�¦œŸ¤Ÿ°¯²¶¿¼¾ÃÃÄÅÁÄÃÆÈÈÌÍÌÌÐÉÃÀ¸º·´¬§›–”™«¢¥¯¯³¾ÂÁÆÉÈÅÁ½½¶³­©¦œš““•”‘“•‘““‹’Ž’“•™”—ʘ¡ž¢§¤ª¬®¦§§«­®ª®°³´¶²´º¶¯¡¢¨¡ª¢œš•‡ƒ‡†‰‰‡Œ‰‰‹€4H¢œA #8FMOTYu„ƒ„‡…€…‡†ˆ‡‚‚‡ˆ„…ˆˆ‡ÎŠˆˆŒ‡Š……†‰‰†‹Š‡‰ŒŒˆ‹Šˆ‰‰Šˆ‡ˆˆ††‰Š‡†ŒŠŽ‰ˆ†ˆ‰Œ‰‡Œ•™”šž¨¤¦£¤ ›˜•’‹ˆ‡„ƒŽ¢¨Ÿ£˜˜™‘‰‹Šˆ‡„„‚„…‚ª……†‡€ƒ…ƒ…‚ƒˆƒ…€…‰‰ƒ†‡‡†ƒ‚‡†ˆƒƒ„„ƒƒ†Š�™ÌÊÏËÐÎÏÌÑÎÓÐÖØÕ×ÛÚÜãëìëïóò óôöôóôôïïñîìððóôòðèæååáÙÛÛØÕÔÑÒÓÏšÓÙààãáäãåèèäàßáãèèééëëíëîòî„ðòòñó„ïïòòð’íìëëéèçåÞÖÙÔÌÆÄÇÉÈÇ®ÈÆÆÇÅÆÆÄÁ½eEVwÈÑdz¤Xcb€—œ¤©¼ÁÅÂÁÄÀÁ¿¿ÃÂÄÅÄÂÅÅĂůÇ£ÆÅÇÉÇÅÅÃÄÄÅÆÅÅÇÅÅÆÄÇÆÈÈÄÇÅÆÇÅÄÃÇÈÄÄÅžÄÃÄÉÏÒÕÛàáâÜÝãÝÚÔÔÐÍÊÊÉËÈÅÅÆÂÄÃÆËÇÊÇÇÁÂÄÃÁÃÃÁ¾®½½ÀÀ¿½¿¿½¾¾½¼¼»»¼¾¿½¼»½¼¿½¾¾ÀÀ½¾¿¾À¾¼¾À¿½¼º¾¾»¼¿�þ©¨¬©­¬¬ª®®²­²´±µ¸¶¸ÂÈÌËÌÓÑÏÔÚÚÙÚÛÚØÑÏÏÈÉÌÎÒÕÓÓÉÅÂþ¶·¸´³±­®°¬¬«­³º»¿»¿ÀÀÂÆÃ¼¼¾ÀÃÄÆÅÆÈÊÈËÍÌÎÏרÓÑÒÔÒÔÔÏÏÐÑÐÎÌÈÇÇÆÆÅÄ»³´°ª¤¦¥§¦‡£§¦¦£¥¥¤¥£¢I,=^£¯©”ƒ:GB]ow|‚†›¡£  ¡ŸŸž¢¡¡¢¢Ÿ¢¨¡££¤¥¥¤¤¢¤¦¤¢¢¡¡£¡£¢£¤£¤£¢¥£¤¥¢¤££¥¢¢¡¦¦£¾¢£¡£§¬®³·»½»··½¹µ¯°«©¨§§¨¥¢£¤ ¢¡¡ ¤¨¤¦¤¥Ÿ £¢  ¢ŸŸœœœ›ž›žœœ“››œœœ›šœ›œœžžŸžœžŸ‹œžŸœ›ŸŸžŸ�…’Š’þ”•“˜œ•–œ˜˜¡±µµ¹ÄÄÀÄÊÌÎÊËÍÊ¿¼»¶µ¸¾ÂËÇ¿´°®¯¦—ž”•’Ž‘ŽŒ–¢¤ª¥ª¨©®²°§¥©«®®¶³°¶»·¼ÁÃÄÄÂÅÈÆÆÈÇËûÁÆÅÀÁ¿·´´²³µ²®Ÿ–˜–ŠŠ‰…‹ŠŒ‡‰ŒˆÖІˆ†}4*Mœ–|l#*%7DMQTYy…‡‡ˆ…††„ƒˆ†…††ƒ…‰‰ˆ‡ˆŠŒŒˆ‰‰ŒŽˆ‡‡††‰‡‹ˆ‰ŒŠˆˆ‰‹ˆˆ‰ˆ‹ŠŠ‰‡…„‰‡…‰ˆš‹‘–”™ž¤¦¥Ÿ¢©£ž—™“‘ŒŽŠ†Š‹†–„…‰‹Ž‰‰††‹‹…ˆ‰ˆ†€‚…„©}ƒƒ‚‚…†‚„‚‚…‚~€~ƒ„†ƒ~……ˆ„~†‡…†ƒƒ‡ˆ†‰‹�ÍÊÇÊÌÍÍËÏÏÍÎÌÅÊÇÉÇÇÎÉËÐÔåìîóóòôóò—íèæçåêñôóå×ÐÏÏÉËÑÑÒÒÎÍÌÎøÍÔÙÞäçåçëñòôññðììðñïðïòòôõóóòòóòòñïóóñïñðñðëâßáßÔÓÓØÓÈÅÇÈÆÈÉÅÆÅÆÅÃÃÁÄÅÁÁÀÂý`G¢Þ”ËÆ}¢R]c…—›£ª¼¿ÃÂÄÃÃÂÄÀÃÃÁÅÃÃÁÂÅÅÂÅÇÈÇÅƉÃÄÆÄÃÂÃÄÄÆÈÆÄÆÈÄÆÃÆÈÇÇÅÈÇÅÊÏÓØÝÞâåãàÞÚØÓÍ˪ÉÊÈÈÊÉÆÇÅÆÅÄÅÄÂÄÄÃÁÀÄÅÄÃÄÁÁÀÀ¿À¾¿À¿½¼¾½ÀÀ½¾†¿À¿¾¼»½¾¾½¼¼½¿ÀÀ¿¾½¿¿Á¿¿¾½¾¿¾¿À½»½½¹¼�»«¨¥§©«ª©¬¬«¬©£¨¦¥£§¦¥«¨ª°³ÁËÒÕÖרÓÑÒÏÊÁÂÃÂÇÎÑÓÁµ®­¬§ª¯­¯¯©«ª­©°´¹¿ÁÀÃÆËÎÑÍÌÌÇÈÍÏÑÒÐÖÓ×ÖÖØÖÙØÕÔÐÏÒÒÏÏÓÏÏÎÇÀ»±öµ²§£¥¦¥§©¤£¢¤¤£¢Ÿ££Ÿ  ¢¤œB-¶z«ª\~2AFdpw|‚†›Ÿ¡ £¡¡ ¢Ÿ¢¡Ÿ£ Ÿ ¡¤¢¢£¥¦¥¤¥¤¤£¢£¤¢¢¡ £¡¤£¤¥¤¥¤ £¦¢£¢¦¦¤¤£§¥¤§­±´·¸½¾½ºº¶µ°ª©ˆ¨¨¥¥§¦¥¥£’¢£¢ ¢£¢Ÿž¢£¡Ÿ¡Ÿ ŸŸž’œœ›žœžœžžžœšœ†ž›œ›žŸ“žŸ žžœžŸž žžž›ž�þ’ŽŒŽŽŽ’‘’ˆ‰‰Š……‡†‰‡•–¬»ÀÇÊÆÉÇÃÅ¿·ª«°¯ºÇÈÁ«›••ˆŠŒ‹ŽŽ”œ¢©­¬­²»Áž¿¿··¾ÂÂÄÄËÌÎÐÑÕÐËÍÌÊÄÃÇÈÀ½ÅÅÀ¾¶­ ¥¥˜–˜›”ˆ…‰‹Œ‹‹…‡‰¶…ˆ‰ƒ†‚‰‹~.gžj”–Gh"'':FQUVYy†‰‡Œ†„…ˆˆ‰†„††…‚ˆŒ‰ˆŒŽŒ‰‰‹È‡Š‹Šˆ‡†Œˆ‰Œ‹Œˆ‹‹‡‡Š‰ˆ‰Š‹‹‰ˆŠŒ’˜œ¡¤«®©¥¢  š“Ž‘’ŽŠ‰‹ŠŠŒŠ††ˆˆ…„‰Š‰†ˆ·‡‚†ˆ†…ƒ‚€…ƒ……‚ƒ„…ƒƒ†ƒ‚„…‚ƒ……~ƒƒ„„ƒ‚ƒ‚ˆ‚†ƒƒ…‡Š‰†……ˆ…‡ˆ�¨ÙÔ¹¼ÉÈÊÎÐÍÍÏÈÉÉÊÎÛàäèëéìðîòðöñíååâÝÖÓÈËÍÏÖÙ×ÓÐÒÔÓÏÐÕÓÑÒ˜ÑÔÐÎÐËÎËÍÎÍÉÇÎÏÕÖÛ×âçéëñò„ôõööõÚîìîíèâéïíîæàÜ×ÕÓØÔÈÄÄÅÄÅÆÅÆÇÉÄÃÄÅÀÁÂÂÀÂÁÂÁ¿ÃÀ_FPO$ÀÏ„”ZX^™œ ª¾ÃÃÁÃÂÁÀÀÂÂÃÅÂÅÅÄÆÆÄÅÄÅÆÇÇÈǹÆÉÅÆÃÃÅÇÇÆÆÇÆÈÇÉÅÃÇÈÅÆÇËÒÖ×ÝâåãâÞÝÜÔÐÏÊÌÉÉÊÊÉÈÉÇÈÇÇÅÇÇÈÆÃƘÄÅÃÁÃÁÂÀÀÃÁÀ¾½¾½¾¿À¿¾¿¾À†Ã¿ÄÿÀ¿ˆ¾½ÀÀ¿¾ÀÀ¿—ÁÀÁÀ¿½¾Á¿ÀÂÁ¿Á¿ÀÁ½½¼»¹º�þ¹´šœ§§¨¬­ª«¬§§¨«¯¸¾ÃÄÇÇÊÎÍÏÍÕÏËÂÀ¾¸³±¨©ª­««´µµ°­®°¯ª­²®¬®®¯­¯®­­©©§©ªª§¥¬¯³³¹·¿ÅÊËÓÖÓÔÓÔÓØÖÖÔÒÐÉÈÇýÃÉÈȽ¸³±®²¯§£¤¤££¤£¥¦¨¢ £¨¤  ¢ Ÿ¡ ¡ Ÿ¢žC-34£°_n:;Bcrz}‡£¡Ÿ¢  žŸ¡£¢£¢¡¤¤¢¥¢£¤¥¦§¥¨¤§¤¦££¢¥¥¤¥¥¤¦¥¦£¢¥§¤¥¨ª¯³µ¸¼¾¼¼¸¸·°­¬¨©¨§¦„§¦££¥ƒ £¥¤¡¡  ¡Ÿ ¡ŸŸœœžŒ¡žœžŸž¡ž¢ …žžžœŸ†œž žžŸ ”ŸžžžŸ¡ŸŸ¢¡žŸ ž››�ߤƒ‚Œˆ‘“‹‹Ž’–¥®®µ°²»·¼»Ä¸¶¨©ª£˜“‰‹‹“’•š—“’”˜“ޓޒ—••‘ŒŠŠ”›š£¡ª³µµÈÉÇÆÆÅËÍÑÍÇÅ¿·ƒ°¥®·þ­¨¢š””—‘Šˆ‡†‡…ˆˆŒ‹††„ˆ†‡ˆˆ„†ƒ‡„‡‰€+‰›KR(%(=KWXT[}ˆˆ†‹ˆƒ‡ˆˆ‡‰‡‰ˆ†ˆ‰Œ‡‰ŒŽŒ‹ŒŠŽ‹Š‰ˆ‹‹ŠŒŒ‹ŒŠ‰Š‰‹ŒŽ—›ž¡£¨§§£ Ÿ™–”‘ ŽŒŒŽŠŽˆ‹ŒŽ‹†„‡‡‰†‡††…„„†ƒ´„‰†„„„…‡…‰…‡†ƒƒ„……‡ƒ…††„„††ƒ€…ƒ††…‚„…ƒ‡…ƒ‡†ˆŠ‡„…„ˆ…�¸ÚÙÜÚ×ÒÉÅÇÍ××äêìïôööóðôòíéâßÛÚÍÆËÅÈÇÅÊÉËÐÐÌÌÎÎÏÒÑÒÓÒÑÓÕÏÐ΂ÏÐÍÅÎÍÉÏÒÐÖ×ÛÚáãäáåëîíììééåææâÜßçÔÛÛÚßÚÛÝáÜØÐÔÜÔÏÊÉÇÅÄÇÇÆÅÄÄÇÆÅÄÃÀÃÂÀ¿ÂŠþ½^EIB‹ÙÕ‚U_]]~˜›ž«ÀÄÅÂÂÄÁÂÁÈÄÅ‘ÈÇÆÇÆÅÆÇÇÈÇÉÊÉÆÇÄÇ£ÈÊÉÈÊÈÈÉÆÉÊÌÍÎÒÖßãàáäßÚÖÔÑÎÌÉÇÌËËÉÉÊ©ÈÅÇÈÆÇÅÄÃÅÂÆÅÂÄÄÅÄÄÁÀÂÁÀ¾ÀÀ¾¾½À½¾¿À¿¿Á¿ÀÁ¤¿ÁÁÃÀÂÁÀÁÀÀ¿¿½Á¿À¿À¿¾ÀÁĽ¾½ÀÁÂÁÄÁÁÃÀ…¾¼¼¹¼»�þ¹¸·¶´±©¤¥ª³³ÂÅÎÐÖÓÒÎÉÎÌÆÆ½¼¶µª¤§¢¥££¨§©¬«¨¨ªª«­«­®­ª®°ª««ª««¬©«ªª©¥ª­¬±´¶·¾¿À¼ÀÆËËÇÈÄÄÁ¿¾½¶¹À±¹¶µ¸µµ·º¶±«°µ®ª§¥¤£¢¤¥¤£¢¢¥¤£¢ Ÿ‡ ŸŸ¡Ÿ¡¢í ™A-1-sµ³a6@>=^px{|ˆž£¢Ÿ  žŸ ¥¢¡£¤¥¤£¤££¤¤£¥¥§§¦¤¤¡¤¤¦¦§¦¥¦¥¥¦£¦¦©ª«­±¸¼ºº¼¸¶±¯¬«©¦¤¨¦¨¥¥§¨§§¥£¥¤£¦¢¡¢£¡££ ¡¢Ÿ‰žœžœ››´žŸŸœžžžž ŸŸžžœŸœžžž ¢Ÿ›œ›žŸ  ¡Ÿ  žŸžžœšœ›�þ£¤£ž™Š‰Ž›°¼ÆÈÉÆÇ¼´¸¹°­§¡™—މ‹‰‹‡…ˆ‡ŠŒ‘ŽŽ‘“”‘’’“ŒŽŽ‘’’Œ“•œ¢Ÿª¬®¨«¶¸¶·¶²°¬­ª§ž£«–œœš¡œ› ¡ž˜’˜œ‘Œ‰……‰Š‰Šˆ†‰Œ‰‡†‚ˆ†…ˆ‡ˆƒ„†ˆÙ„}+eŸI ,)%:MUTN\€Š‡…ŠŠ‚†‡Œ†ˆŒŽŠ‰ˆ†‹‹ˆˆŒŽŒŠ‹‰Š‹Œ‹ŠŽŒŒ“’’•—¤¦¥£¥ Ÿ—“‘‘’Žˆ‹Œ Œ‹ŽŒŽ‰ˆ‰Œ‡‹Š‹ˆ‹‹‰……†ˆ…†‚…„†‚„ª……†„ƒ„…‰…‡„‡„…„ƒƒ„„‚ƒ‚ˆ…„…‚€„‰†ƒ}ƒ†…††„†‡‡…ƒ……‚…ƒ…�µØÛáäêéëéêíòõ÷øõôïéÞØÏËÊÆÊÊÈÈÊËÈÌÊÊÈÍËÌÎÏÑÏËÊÍÏÍÍÌÎÍÍÑÏ·ÌÌÎÒÎÔÕÖ×ÝÞÞæåæèìèèíîèæèèæÝÛÙÖÒÎÍÉÈÊäÙæÕÒ××ÖØÓÏÉÇÉÇÆÇÉÇÈŠÉÈÈÅÄÅÇÃÄàÃÁÁÃÆÆÁ½´^GOnݵ׊S[_b}™™›ªÁÁÄÅÄƆÂÅÃÄÅÅÆ¯ÃÆÇÈÇÉËËÊÈÈÉÊÈÈÊÊÉÇÊÍÌÒØÜÚßåßÛÝÙÏÓÑÎÊÇÈÉÊÌÊÉÈÊÊÇ¡ÈÇÉÆÈÇÅÆÈÆÇÃÅÂÄÃÂÄÁÃÃÆÁ¿¿¾¼»¾À½½¾Á·ÃÁÁ¿ÁÀ¾¾À¸»»Á½¾¾À¿¿ÂÀÂÁ¿ÀÀÁÀÁ¿¿ÂÀÄÄÀÂÁÁÀÁÂÁÂÀÁÀÁ¿¹»ÁÀÀ¼½�Œ·»¾ÁÇÈÉÅÅÊÊÍÓ¦ÔÌû´¬§¦¤§¦¥¤¦¦¤§¥§¥¨©©ªª«ª©§©ª©ª¨ª¨©¬ª¨©¬®ª®²³´¹¸¹Á¿¢ÆÂÅÈÈÿÁÃÁ¸¶´±¬©¨¥¥§»´Á°­²²±±­ª¥£¦£õ¥¤¤¦¤¥¤¥¢¢¤¤¡¢¡Ÿ ŸŸ¡¡ Ÿ ¡¢¢Ÿœ“C08R·˜´j5@A@\oxyzˆž ¡¢¢££¡ ¡ ¢£¢¢£¤£¤¢¢£¤¤¦¨¨¦¥¤¤¦¦¥§§¦¥¦©¨®³¶´¸½º¶¶³ª®­ª¥¥¦¥¦§¦¤¤¦¦¥¤¤¥¦¤Œ¡£¦££¡¢¢¡ ¡¡ ‚¢ž›š››œž žžžžœœž——™žšœœœžƒžžœŸž¡ žŸŸŸ Ÿž…š ŸŸœž�þ ¦¬±¹¸º¶²·º¾ÆÌÊ̸¯¦š„…ŠŒ‡„…‡‰Š‰Š‰Œ‹‹Œ‹‘’ŒŽ‘ŠŽŽŽ‹ŽŠŒ‘•‘—š›œ¥¦¤®¦©ª¸¯µ¹¸±©®­« œ™’‘Œ‰…ˆ¡—©•™™—™“‰‹‡„‡‹†ˆ‰‰Š‡Š‡Š‹‹ˆ‡†„ƒ„†¯‰†‚„ˆ‡‡ƒw+%B¥{U ))%4JTRM^‰‰‡ˆ‹†ˆ†Š„†ŒŒˆˆ‰ˆˆ‹¤Š‹ŽŒŠŒ‹Œ–  ¥ª ›š•“މЋЋŽƒˆŽ‰µŒŒŠŠŠŒ‡‹‰‰ˆŠˆˆ‹‹†‡‡‰ƒ‚†„ƒƒ„„…„‡‡†…‚„„‚ƒ{}€‡‚‚€ƒ„…„ƒ…‡…ƒ†…–ƒˆ‡…‚„†…ƒ‚……ƒ‚„‚ƒ‰‡‡‚‡�‚òñó¾ïïéææàßÐÉÉÈÈÃÂÃÀÅÃÄÈÊÊÍÊÉÌÌÏÎÊÌÍÎÎÌÎÍÌÌÍÉÒÒÓÒÎÓÛßààæêíïïìééìêçæ©ÝÞßÙÒÓÎÐËÌÊÈÉÈÈÇÈÇÇÉááÊÓÔÑÐÇÆÈÇÆÅÇÆÃÅÆÃÃÅÄ´ÀÂÂÄÃÅÅÆ¿À¿ÂÄÄÃÁÂÁ¿¿À¶XEI‡»?ÅŠRZ[Z~”–ž¡©¿ÃÃÅÃÄÅÅÂÄÆÆÅ‹ÇÆÆÅÄÇÊÊÈÈËÉ›ËÈËÌÐÐÖØÝÝÞÝÛÚ×ÓÓÐÎÌÌÊÉÉËÈÆÈÇÈÈÇÆÈÆÆÄÆÆÇÇÈÆÆÊÆÅÁÀÃÁÁÂÃÁÀ”Ä¿¿Â¿¼ÀÀ¾¼¿ÀÀÁÀÀ¾Â½¼¾½À…½¿¿À¿Á…ÂÃÁ¿ÁÀŽÂÁÄÄÁÁÀ¿Â¾¿ÁÀÄÁ‡À¿½¼¿¾½¾¼�§ÒÕÑÐÓÔÔÒÎÌÄÁ¾½°¨§¦¦£¡¢Ÿ¢ ¢¥¨¨ª§¦©ª««¨©ª««ª©ª¬¨®­®®«±·¹½¾ÃÅÇÈÊÉÆÄÆÅÀ¿¿Á¹»º¶°°ª¬©©¦¦§¤–¥¤¤¥º¾¨¯°­­¥¤¤¥¤£¤¦¡¢¤¢¸£Ÿ ¢£¢£¤¥Ÿ ž¢¤£¢Ÿ  ž —>-1f,¢k5>@@]su€ˆ¢¢£¡£¤¢  ¢¥¥££¥„¤¢£¨§º¨§¦¦¨¦¨ª¬­±³··¸¸¶¶³¯°¬«©ª§¦§¨¦¤¦¥¤£¥¤¥¤¥¤¥££¤¥¥¦¤¤¡ ¡¤¡ ŸŸ ’¢ ŸŸž¡žœžŸ›žžž„ ››†›žžŸžžŸ˜žžŸŸžŸŸ ¡Ÿ Ÿž žŸŸ¢ žžŸ„ žž�™ÍÈÊÌÊÉÈɾ¶²ª®«ª™ŒŒˆ…„€‡†þ‡ŽŒ‹ŽŒŒŠ’ŽŽ’Ž”–—–” ¢¦©°³¸»¹¹··¶³ªª©­¡¤¡›••ŒŒ‰ˆˆ‰††ˆ¡§‹“—“”މŒ‹Š‰‡…††ˆ‡‡††‚…ˆ‹‡†ˆ‰„ƒ†ŠŠ‹„„‚„†x&!S†‰["*)!5MQ[‘Zb€Š‡ˆˆŠˆ†ˆ‡‡Š‰‰Š‹žˆ‡’ŒŒŒ‹Ž’•—šŸ¡¡Ÿœžš––”Ž‹¤ŽŒ‡ŠŒŒ‰Œ‹ŒŠŒ‹‹‰ˆ†ˆŠŒˆŒ‹‡ˆ‡†‡ˆˆ‡‹‰‡•†‰‚ƒ„ƒ…†‚€……„„†„„†‚¡ƒ~ƒ„‚‚}ƒ‡…ƒ†…ƒ……‡…„„‚…‡‡ˆ†ƒ…ƒ„‹‡‡…„„……„ˆ†„…ˆ�˜ðìèéèçà×Ô×ÑÓÕÓÎÍÐÐÏÏÎÌËÈņÇÉÊËÊÈ;ËÍÌÈÅÉÎÐÔÖÖßÜáåçåèêêîëçåêëéåäßÛÝÔÎÏÍÎÅËÈÈÆÈÆÇÇÆÄÆÇÈÈÉÆÇÈÉËÑÑØÌÆžÄÃÃÄÂÆÅÂÄÃÁÀÀÂÁ½¿ÀÂÆÃÅÅÄÀÃÂÁÃÂÁ§Â¾¾À·RLBª}7¼˜VTYbƒ˜—›Ÿª¿ÂÄÂÁÄÄÅÀÀÂÅÆÄÇÅÆ‘ÇÇÉÊÈÄÄÅËÐÕÛÜáàáÝ×ÎËÊÉÉËÌÊÉÇÇÉÉÊÈÇ ÅÅÇÆÈÆÄÅÅÄÄÂÃÆÇÆÆÄÃÂÁÆÆÂÀÄÄÂÂÁÁÂÁ­Â¿¿¾½¾½À¿ÀÁÀÁ¿½¿Á¿¾¿À¿¾¿Á½ÁÀ¾¿Â¾¿½¿½ÀÂÀÁÁÂÃÁÄŽÃÁ¿¿ÀÁÂÂÃÀÁÄÀ„½¼½¿À¼�ÎÏÈÆÅÅÁ¸´´±±³²¯¬­®¬­«¬«§¥£¤¥¦©°¨¬¬«©ª«¦¥¨­¯³¶µ»º¿ÂÃÂÄÅÅÉÇÅÃÇÅĽ·¹°ª¬©«¥ª©§¦¦£¥¡¢¤¦¦¥§¤¤¥¥§¯®³ª£¥¤¢¡¢¢¡¤¥¡¡  Ÿž¡¡ž× ¤¢¥¤¤¡¡  £¢¡ ¡¢ž¡—51+‰d˜w98?Gdxw}~ˆž¢£¢¡¤¢¢ŸžŸ¤¦¤¥¤¦¥¤¥¥§¨¦£¤¥¨­±¶µ»º»·²²³¬©©¨§¨ª¨§¥¦£©¦¥¥¤£¢¤¥¦¤£¤¤££ ¡¤¤¥£¢¢ Ÿ£¤¡Ÿ ¢¡  Ÿƒ Ÿž„žŸŸž›œžŸœžŸžžŸ›žŸžž¡¡œœœžŸžž —Ÿ¡¡¢  ¡¡Ÿž ¡  £ Ÿ¡ ¡¢žžŸž�þÉ»¼´³«¢›˜˜™œ—––•”“’”‹Œ‰‰ˆˆŠŽŽˆŠ“‘—ž ª¥¬²³°±±¶¹¶´²·²²°°§¡£•”‡‹ˆŠŠŒ††‡ˆ‡Œ‹Œ‰Žˆˆ‰‹•˜ˆŒŒ†Š‰‰‡‹‹„††…†„…„ƒ†Œ‡…†ˆƒÇ…„‡Š‰‰ˆ…ƒƒ„‡{"lO |f%'))<RRWVb€‰ˆŠŠŒˆ††ƒ†‹Šˆ‹ŠŽŠˆŠŒ‘‰‹Œ’™ŸŸ¤¢¤Ÿ™š›’Ž‘Œ‰ˆŒ’‘‡‰ŠœŒŒŠ‰‹‹Š‡ƒŠŽ‹‡ŠŒ†ˆ‹ˆ†‡Šˆ‹‡†‡•Їƒƒ„…„…ƒ††„ƒ†ƒ††ƒƒ…ƒ†ƒƒ†„‡†}€‚€…†…›‡„„††…‡ˆ‰‰†…†ˆ††‰‡†‡…ˆŒ†…‡‡…‡�²Õ×ßåßÝÚÑÔÕÖÔÒÏÐÏÑÑÐÑÐÎÐÍÍÉÈÇÇÌÈÌÍÒ×ÚßÚÝéïïóóôôõõöóî»ëéââÞÕÏÐÎÊÇÆÆÅÇÈÊÇÆÆÇÆÇÉÇÂÅÉÆÇÈÇÄÅÇÆÆÇÅÆÅÇÃÁÆÈÄÁÁÀÄÅÆÅÅÃÆÄÁÂÓÆÄÆÄÃÃÄÄÁÃÅÄÈÄÃÂÂÀ¿ÁÁ¼XUIÖgIwµYYXeƒ˜œ¢¬ÀÄÄÅÀÃÄÄÉÆÂÇÊÊÅÇÇÉÈÈËÏÕÛáæåáÚÒÑÌÓÉÑÌÊËÊÊËÊõÉÊÈÇÉÉÇÅÈÇÇÄÆÃÆÆÄÆÇÆÇÆÂÃÆÅÄÂÂÁÃÄÇÅÁÄ¿¿ÁÀÀ»»¼¾ÁÃÂÁÁÂÃÀÀ»½Á¿ÀÀÁÀ¿¿¾½ÂÁÂÀÁÀÁÁ¾ÂÄÁ½Á¿¾¾À¿ÁÁÃÃÅÃÃÂÁÂÄÂÅÀ¾ÂÁÃÂÁÁ¿ÂÀÃÄÁÀ½ÁÀÀÂ�ˆ²¶½Á¼»¹°³½²±®®­¯¯¬®­­¯¬«¨¨¦§¬¨­­±¶¹½¹»ÉÏÍÐÑÓÓÐÏÓÐÌÈÈÅÁ½¿¹²­¬ª§¥¥¤¢¤¥¦¥¢£†¥¦¥ ¢¥¤‚¡£¤œ¥¡£¢¤¢Ÿ¢¤ žŸŸ¢£¤¤¥¡¢ ž  ¡¤¢¤¡Ë¢£ ¡£¢¥¢¢  Ÿ¡Ÿ¡  ™890°J.^9<<Faqx{~‰Ÿ¤¢£Ÿ¡¢£¦¤ ¥¨¨¤¤¥¨§¦ª¬±¶»¾¼º¶¯­©®§­¨§§¨§‚¨¨¦Ó¥§¦¤¤¦¤¥¡¢ ¢¤££¤£¤£¡Ÿ¢¡  ¡Ÿ¡¢£¢Ÿ¡žŸž˜™šœž  žŸ¡ žž››œœžžŸžŸœŸžŸžŸžŸŸ œŸ¢Ÿœ žœœŸ‚¡¡ —Ÿ ¢Ÿ¢žž Ÿ¢¡  žŸŸ¢£   Ÿ¡¢�þœ¢¨¯§¥¡˜œ››–“—˜—•–•”—‘”‹‰‹””˜¤©¥¤³Á¾ÂÃÈÉÉÊÇÉ¿·º²®ª­£˜’Ž‹‡Œ‹‰Š†‡‡ˆˆŒŠ††‰‡‰Š‡…‡‰ŒŠ‹‡ˆˆ‰†ƒ‡††„„…‡‡ˆŽ‡ˆ†„……ƒ‡†……†‡‡ƒ‚†‹„ˆˆŠˆ‡Óˆ„†‡†€'$‹2Hw$'()<KPRTb‚‰‹…ˆ‡‡Œˆ‹Ž‰‰‹Œ‘™ž¥ª©¢š”“”Š“ŽŽ‘ŒŽ‹‹ŒŒŽŽŠ…ˆ„†‹ŒŠˆ‰‹‹ˆ‰‡ˆ‰‰‡ˆº‰ˆˆ…ƒ…„~€ƒ„†‡Š†…‰ˆ…†‚ƒ‚†…ƒ‚†…†„ƒ†…†ƒ†‚†…ƒ„Š‹‡‚„ƒ‚„ƒ„…††‡„†……‡‡‰…†Ž‰†‡‡ƒ†„†‰ˆ‰„ˆ‰ˆ�¹ÒÓÖר××ÖÙØÕÕÔÑÒÑÏÐÌÒÏËÏÑØØÝßãééëìññòôóõöôöõóòïëæâàßÙÕÓÏÍÌÈÅÅÆÇÈÉÈÈÇÈÆÄÅÆÅÆÉÉÃÅÆÅÇÉÆÄÆÅÂÅÆÆÇÅÅÂÂÅÃÁÄÉÄÂÆÅÆÆÅÆÅÆÅÄÇÅÂÄÇÈÁÀÀ½ÅÂÁÇÈÄ¿ÄÇżXNNmLLZÔ^ZVc„‘—Ÿ¤²ÀÅÅÄÄÆÆÇÈÆÅÈÉÉËÊÍÑØáäãÝÝÜÙÕÒÒÎÌÏÌËÎÍËÌÉÈ…ÉÈÈÇÆÇÂÇ£ÅÆÅÃÁÅÇÃÆÅÄÂÃÆÄÄÅÅÁÃÃÆÄÀÂÁ¿½¾»º¼½½À›¿ÀÁÃÁÃÁ½¾ÁÂÀ¿¼»¾ÁÂÁ¿¾ÀÀ¾Ã¾ÂÁ¥ÃÂÁÄÃÂÁÀÀÆÃÁÃÂÆÃÂÄÅÂÃÃÂÂÀÃÃÄÅÄÆÄÃÂÂÀÃÂÁ�®°³´µ³´³µµ´³±®¯­—«±®­¯±µ·¿½ÂÅÅÊËÎÎÏÖÐÑÔÑÒ–ÎËÿ¼¹¸³¯®«ª©¥¥¤¤¢££¥¦¥§¦¤¡¢¡¢¤¥¤Ÿ¢£¡¤¤£¡££ ¢£¢££¢ Ÿ¢ Ÿ¡¥¡ ££¥¤¢Õ¤¤£¤£ ¢¤¥ŸžŸœ¢ ž¤¦£ ¡ £¥¤ ¡˜934M32D®?><Ecsx|ž£¢¡ ¢¤¥¥¤£¥¥¦§¦©¯´¼¾¼··µ³¯®¯©¨ª¨¨©¨¨©¦¥¯§¥¤££¤¥£ ££¢¡¢¢¡ ¡£¡¢¡  Ÿ£  ¡¡Ÿ  ¢¢ŸŸœš˜š›šŸ›žžŸ ŸœšŸžœ›šŸž›œžžœ ›Ÿž™ Ÿž  žŸžž¢ŸŸ¡Ÿ¢Ÿ  ¡Ÿ¡ ž¡Ÿ¡‰¢¡££¡¢ Ÿ¢¢¡�º—šœœžœ›ž¡ ›š””——•“˜—–™˜¢¤ª­´·¸»»ÁÀÂÆÇÆÆÀÅÃÁ¼¶±«¦¤¢›—‘‘Œ‡›‰ŠŒŒŠ‹Œˆ†Š†‰‰Š…ˆˆ‡ˆˆ†…†‡…‡ˆ††‚…‚ƒ„‹ˆ†‰‰Žˆ‡þˆˆ„…‡Š„‚‡ˆ…ˆŒ‡…†…‰Œˆ‡‡$30’''%(<KOQTdƒ‹ˆ‡…ˆ‰‹ŒŠ‰‹ŒŽ‰–¦¨¥Ÿžœ™—’“‹ŽŒŽ‘ŽŒŒ‰ˆ‰‰‡‹Œ‡…Šƒ„„†‰‡…†‰ˆ†‹ˆ‡‰Š†‡…ˆ‡„†„ƒ„‰„||‚ƒ†‡†Â‡ƒ…‡†ƒ„„……ƒ…††„€ƒ€ƒƒ‰ˆ…„†…„‡†„„ƒ„‰‡…†‚†…††…„‰†…‡ˆ‰ˆ„…ˆˆ‰‰Œˆˆ‹‹Œ�­ÖÔÓÓÒÒÖÎÌÒÓÕÒÕÖÙÙãæìðñô÷÷øùùøôôóîïìçàÜÛÞÛ×ÓÑÌÈ»ÃÅÊÇÇÈÆÅÇÄÉÉÆÀÃÆÄÆÄÄÃÄÄÂþÂÄÅÅÁÁÃÂÆÆÂÄÅÂÄÇÆÄÄÁÅÈÎÐÞÝÛÚÞËÇÈÉÇÏÆÄÃÃÄÄÁÄÆÅÂÄÄÃÅÃÄÇÆÅ¾ÀÅÄÅÄÁÄ»WKCRAGF€RWZf„‘•¡¤®ÁÆÄÆÆÅÊÆÇÈÒÎÏÒÛÜÛâèîîòìÜÏÌÍÏÍËÌËÊ®ÌËÊÊÈÈÊËÈÈÄÆÈÉÊÇÅÅÆÅÃÅÃÂÄÅÄÅÆÅÇÂÃÆÄÄÆÃÁÄÃÄÄÂÃÃňÄÃÆÄÂÁÀ¿¾Œ¹·¸¾Ã¿ÂÂÁÃÀÁÀ³ÄÁ¾¿½¿ÂÁÂÀÁÀÄÂÂÁÂÅÿ¾ÀÃÂÄÃÃÁÁÂÃÆÅÆÃ¾¿¾½ÁÃÆÇÃÆÃÂÂÀÀ¿ÁÀ�¿²°°±¯®³­¬°³µ±³³¸·ÂÆËÐÒÒ×Ö×ÚÕÚÔÒÒÐÌɽ¹·ºµ±¯°©¦¥¥¡¢§¥¤¥£¢£¡¥¥¡Ÿ ¢½¡¡ £¢ ¡œž¡¢¢Ÿ  Ÿ¢¢ž ¢  £¢¡ Ÿ£¥©¬¹¸¶´¸§¤¦§¤£¤¤££¢¡¢¡¡££ ¡£  ¡¢¤©Ÿ£¥¤¢ £—81.;(-.e6=>Hcsv~Š£¢¤¡¡§¥¦¥®««®µêºÁÈÊËÅ´©¨¨«©§¨§¦§¦§§¦¦¤¤¦¨¦¦¡¢¥¦¦£ ¢¢ Ÿ¡ ¡¢¡ ¢£¡£  ¡  ¢¡ž¡ ¢¡ž¢ ¢¢¡ŸŸ  Ÿžœ›š›—•–œ œžŸŸ žœž ››šŸžŸžž žˆŸ¡Ÿœ›ŸŸ ˜žžŸ ¡¡¢¡›œœ  ¤¤ ¤¢¡¢ŸŸ¡¡¢�þ›š™––›š–—›™šœ£¤±¹½ÂÍÉÎÑÒÕÏÎÉÈÅĽ·®¦¡Ÿ¤ž˜”’‹‡Š‰…„‹ˆ‡ˆ‰‹…†ˆ‡„……„‰„†ˆŠ‰‡‰…†Šˆ…‰ˆ…ƒ„„††„‚ƒ†‡…‚†ŠŽ’¡¡œš¡ŽŽŠ‡Š‰†‰ˆ††ƒ…†…†ˆˆ„†‡É‡ˆŠ†ƒ„†ˆ‰††‰$(!N!%'*;ILRSb‹‰Š‡‡‹—“‘— ž¢«¸¹¼²›ŽŽŽ‹ŒŒŽŒŒŽ‡ˆ‰‰…‹†„‡„……††ˆ‡…‹‡†‰ˆ†ˆ‡‚ˆÓ†ˆ†ˆ‰‰‡…ˆ†„€~€}v{„‡„ƒ††‡…‚„†‰„~€~ƒ‚„††…†„…„…‡†€‚…†ˆ„……‡†‚…ˆ‚ƒƒ…‡‡††‡Šˆ‰‹‡ˆ‹Œ�¹ÔÕÕ×Ô×ßÞãêéíïòòóôõôõõô÷öôñïäãÜØÕÔÕÏÒÊÉÊÎÏËÅÆÆÇÆÈÄÆÈÉÇÊÇÆÉÈÀÆÅÁÇÆÄÁ¿ÀÃÀÀÄÃÅÁÂÄÃÿÀÂÁÂÃÇÊÆÃÅÊÏÚãåäâåáåâáÓÖÖÓÐËÈÆÄÃÂÁÂÄÃÅÄÁÄÁÂĆÅÃÃÁÁÅĊøECŽ>ICJYÏl‰“›Ÿ¢¯ÄÇÇÉÈÌÒÔÛããÞÕÓÐÏÍÏÌÏÏÜàÕÊÇÊÌÎÌÊÊÌÈÈÊÈÉÅÇÈÊÊÈÊÇÈÇÇÆÇÆÅÆÆÄÃÃÅÅÂÄÄÅÃÅÂÁÂÃÁÁÃÖÂÃÂÃÃÀÅÀÀ¼¿º»¼À½¶µ»º·¶º½ÃÁÃÄÃÄÀÁÀÁÀÀ¾ÀÁÁ¾¿ÃÀÁÿÃÄÂÂÇÃÂÃÂÂÃÀ¿ÁÂÃÁÄÄÅÁÁ·³¼ÄÃÄÂÂÀ»ÄÄÅÄÄÂÁÂ�³©¶µ¸½¼ÁÆÇÉÍÐÍÐÓרÖÙ×ÚØÕÑÍÿº·µ·µ°°ª©©¬­¨¤¦¤‰¦¢£¦§¥§¥¢¥Ã¦££ ££¢Ÿž¡Ÿž¡ ¢ ¡£¢¢žžŸŸ¡ ¤¦¢ ¢§«´½¾¾½¿¼¾º»¯±±°¬¨¦¥¡¢¡ž ¢ ££ £ Ÿ £¢¹ŸŸ£¤¢¡¢¢•,0wr%-)-<=<Kgrz|€‹¡¥¤¦¤§­°·»¼·¯¯­«©«ª¬­·¼°§¥§©©¨§Ë¤¥¦¤¥£¥¥¦¨¥§¥¤¥¥£¥£¡£¢ŸŸ¡£¢Ÿ¡¡¢ ¢ žŸ žŸ Ÿ Ÿ Ÿ ¡ž¡ž™œ˜ššš–“˜™––˜› žŸ ¡¡œ’œ›œœœŸžŸŸ¡žŸ¢ŸžŸ†ž ŸŸž ’Ÿ–’𢠠Ÿžžš¡£¤¤£¢¢£¥�Ÿþ£ž¤©®µ»¼ÁÃÉÈÈÌÐÔÏÏÒÑÐËÅ¿±©¤¡œ¡••’••‰ŠˆˆŠ‹ˆŒŒŠ‰‹Š‹‰ˆ‚†‡Š…‚…ˆ†…ˆ‡‰„ˆ‰Š‹„ƒ„‚…ˆŠ‹…‚‡‘“›¦§©¦¨¦©¤¦˜œš–’ŒŠ†ˆ‡ƒ†‡‡ˆ††‡†…†‰ŠˆŒÓ‡…††Šˆ„†‰~$e`'&%/?INPTbƒŽŠ•š §ª¡——–”‘’•”œ ”ŽŽŽŒ‹ŽŠŽŒ‰ˆŠŠŒŠŠŽˆ†Ñˆ‡„‡ˆ‹‡‹‡…††…‡…ƒ‰ˆ‡…‡‡…‡…ƒ‚}~~{xv}€||~ƒˆ…†‡‰ˆ…‚‚„ƒ†ƒ‚~~„‚†‡„†‰††Š††„„…†……„…„‚……„†|v€‡‹†ƒ€ˆŠŒŠŽ�ƒìïòó…ôöõõôóñòðñòóòôôñîìæäåèçêìçéèæèéåçèçèåèèëêäçâåáßãÝßßÞãÜÞÜÕÖÑÛÖÐÍÌÉÉÏÓÑÑÏÌÄÈÃÊÏËÍÖãìîêææäÝâÜÙÙÖÖÞáÛÞæÙÐÆÂÁÁÃÃÂÀÃÄÃÄÀÄÅÃÁÃÄ­ÃÂÁÅÅóZµÊšah_fdeZj‹•ž¡§®ÂËÏÐÓ×ÚÓÐÎÌÑÌÈÌËÈÉÈÊƧÇÉÊÇÊÉÉÅÇÇÈÇÆÇÉÆÄÅÄÆÆÄÄÆÅÄÃÅÆÂÃÅÂÂÄÁÃÆÂÀ–Á¿½¾¾¿¾¿ÀÀ½½À¾¿ÁÀ½¼ÀÀ¿¡ÃÃÁÃÆÇÂÁ¿ÁÀ¾Àºº¹·¶º¼ÁÀºº¾¿¾¼¾À¿¾¿ÁÄÀ¾ÂÁÀÃÂÁÀ¿ÁÂÁÄÁÀÁÂÀÁ½½ÂÃÅÆÅÃÁ¾¾ÃÁ�®ÏÑÐÖÝÙÙÚÜ×Ö×Ù×ÕÔÖÔÖÔÔÕÖÖÓËÊÅÃÁÇÇÈÉÇÇÆÄÄÅÂÃÅÂÄÂÄÁÁ¾Á¼¾¼¸½¹¼»¹¾¸¹·²³²·³®««¨§«²°®¬¬¤§¤¨¬¨­µÀÈËÆÁÁ¿º¿¸¶¶²³¹½¸¸¾µ¯¤ ŸŸ ¼ž££¢£ ¢£¤ ¡¤¡  £¢¢££¢’@–¨JLGHDJ?Jkt~„‹Ÿ©¬­¯²´¯¬«ª®¨¦©¨¦§¥¨¤¾¥§¨¤§¦¦¤¥¤¥¥¤¢¦¥£¤£¥£¡££¤£¢££  ¡ŸŸ¡Ÿ ¢ŸžžŸžœœžž›žžœžŸž›™³ž ¡žŸ£¤ žžŸœžš™˜–”˜™ž˜˜›œš›œŸŸžž¡œŸŸžŸ ŸŸžžŸŸ ‘žŸ  ŸŸ› ¡£¥¥¤¢ŸŸ¤�¾ÄËÎÕÒÖÑÖØÖÖÔÓÐÍÉÍÉËÍÐÐÌÌÈ¿¼³¯²·µ»½·¸¸³¶¹²³·³®¨°´¹µ¬±ª«¥£§¡«¬£©¢þž¡ž¤•““Ž“›’–”’‡†‹“•œªµ¾³ª«ª¤©ŸŸš›¤¨ž§–‹…„„†‡……‹‹ˆ†„ˆŠ‹‰‰Ž‰…†‰Šˆ†‡ˆ|-g<336//(/FKTVZ`”•”–›–““‘•Œ‘‘ŽŒŽ‡ˆ…ˆŽŽŒŽþŽ‹‹Š‹‹Œ‹‡‰‡†‡‡‰ˆ…†‡„ƒ‡††‡„ƒˆ…ˆ…ƒ„‚„…ƒ„‰„ƒƒ„……‡€„‚ƒƒ‡†„ˆ‡‚ƒ„†‚}}yy{}…„}|}€~‚„ƒ„‡……‡„‚†…ƒ…†„„†…ƒ‡„ƒ†‰†„…„†‡„„‰ŠŽŽŒˆˆŽ�‚óóôóˆôõõôôõôöô‹õôóõóôòðññîð‹íéíîïîîíïëêç¬èàÛáââäãÝáèçëêìíïîïñððòòíîñðíðîíîñòðíîñôöõôõôœóòòóñíçêêèéÞããÞÔÓÏÇÃÃÀ¿ÂÂÆÃÁÅ‚ÄÂÄ®ÃÁÃÅÅÆ³]¼Ã¿»·Ç§¯`f‡•¢©²ÊÎÏËËÉÈÊÌËÊÉÊÈÊÉÊÉÄÃÄÆ“ÈÆÄÆÇÇÅÃÆÈÆÆÅÅÁÆÄÆÈÅ¥ÇÇÅÅÇÅÅÀÁ¿¿¸º»»¿ÀÂÀ¾Â¿¿ÃÄÂľÁÅÀÀÁÂÁÁ¾ÁÁĽ¿ÀÀ¾¾ºº¶¸¸¹·¸¹»½¿¿À¾¿¾ÀÀ¿¾Á¿À¿ÁÁÀÂÂÁÃÄÂÃÆÃÁÃÂÄÃÁ¿ÁÆÄÅÁÃÇÆćÃÂÂÀ½¾¾¿¾�§ÜÚÖÚÝÚÝÛÝÛÜÚÙ×ÔÕÕÖÖÕÓÖÖÕÐÍÎÌÏÌÑÎÊÉËÆÊËÍÉÜËÆÇÁÂÃøµ¼¼»¾½¸¼ÄÃÄÆÆÇÊÈÈÍÉÈÌÌÉÏËËÊÊÉÊÎÎÐÐËÍÎÑÕÝÙÔÒÒÐÔÒÏÐÍÇÁÄÅÂø½¼»±°­¦¢¢ŸŸ¡¢¤£¢¤£¤¢£¤££¢£¡¤©¦‘?›£ž›–£ŸˆBIfv}‚…ަ««©©§§¨©¨¨§§¥¨§¨¦¢¡¡¤¦¥¦¥£¤¥¤££¤¥¥¤£¤ ¢¢¤¤¢£¢¥¥££¤¢¡ŸŸ˜šš›ž… žžŸ¡ ¥Ÿ¢žžŸ ŸžŸŸžŸžž¡Ÿ›žžœ™™–—˜˜—˜—™›œœœ‹žœŸžžŸ žŸ   Ÿ ¢ Ÿ¢  ¡Ÿž ¥¢£ ¢¥¥¤¡¢¢¡¢£¡ŸŸ¡£¡�ˆÖÚÚÕÑÓØ×Ô‚ÒÏËÍÈÈÑÐÉÇÆÇļ¼ÄÀÀ½¾À¼µ¹¹À¾¼ºÂ¸²®±®°©¡©¬ªª¦¡£µµ®­µ·¹º¾Ä¾¼¼¾ºµ»¼ºµ¹»ÂÁÅÁ»»¾ÆÊÉÉÌÅÃÂÁ¿¾»¶®µ·­¬ž¥§¤—•‡…ƒ‚…ЉЉ†ˆ‡ŠˆŠŽ‹‰ˆŠˆ‹‰Œ€/ˆŠ†‡~‹‰pq,,EOVY[e‡“”Š‹²ŽŽ‰ŽŽ‘Ї†Šˆ‰Œ‹ˆ‹Œ‹Š‰Š‹Œ‰‰†‰Š‰Š‡‰†Š‹‡‰‡…†…„~“„…†…‡…ƒˆ‰†‡ˆ„„‡€‚†Î…„ƒƒƒ„‡„€‚……~{}zz|~{y{~€ƒƒ‚ƒ‚ƒ„ƒ‚…„„††…†…ƒ…ˆ……‰…„†„„‡‹Š‰Š‹‹††Šˆ‹ŠŠ‰‰ˆŒŠ�ÇöõôóòîóïñðîìéãÜãäåäåâÜÚÖÒÌÍÏÒÌÌÏÌÍÌÎÒÒÐÌÎÐÌÅÄÄÇÈÇÅÆÉÆÇÉÉÊÍÎÈËÊÈÎÍÏÐÒÓ×ÜÛ¹áßßçìòóòóòóóõöôòðóóñðóíîîíçáåæàÕÖ×ÎÕØßæàÓÅÂÁÁÅÆÆÅÄÄÂÅÂÆÈÂÅÌÇÄÇÆ±1Mµ…IX[xŽ¢Wf‡–œ¡¡¯ÆÇÈÈÉÇÈÊÉÈËÉËÉÇÈÈÉÅÆÆÇÆÈÅÆÉÉÇÈÆÅÄÆÆÅÆÄÅÅÆÇÇÉÆÇÄÅÇÆÅÄÈÆ’ÄÅÄÁÁÆÄÄÃĽ¿ÃÂÁÁÄÃÀ¿½ÁÁÃÁÂÀÀ¾¾Â¿µÀ½À¿¾¿¾¹¸·¹»À¼»¾¾ÀÁÀÁÄÀÁÀÀÄÂÃÂÃÅÄÁÅÄÃÂÆÃ¿¹¸½Á¿ÄÃÄÄÃÄʼnÄÅÄÁ¿¼º»¼½»�¡Ù×ÑÓÓÍÕÏÏÓÌÇļ¹½¾¾½¿½¸µ²®ªª«­©©«¨ªÓ¯®®ªª­©¢  ¥¦¦£¤¤££¥¦§©ª¥¦¦¥ª©ª­¯®±·µ¶¸¼»»ÀÆÏÔÏÒÐÑÓÔÑÍÐÎÍÌËÊÌÉÈÇÇÁ¼¿¿º±²³«°³¹¿¾¯¤ Ÿ¡¤²¥¤¢¡£¡¤¦¡£¤£¦£¥¥!>•o5BI_j}8Gew|€Š£¦¥¦§¥¦¨§§©§§¦¥¦”£¤¥¥¤¥¢¤¦¦¤¥¤££¥£¢£¢£†¤¥¥¤£¡£„¤¡¤¢£ª¢¡Ÿ £¢¡ž¡œž  Ÿž¡ žŸŸ›žžž››Ÿžœœ›žœ•—––˜˜š™››žžŸ¡žžŸ Ÿ ’¢ ž£  Ÿ¢Ÿ™˜›Ÿ¡ž££¢£¤¤¢¡£¡ ¡žœ ž�öÖÔÎÇÄ¿ÊȾ¸·µ®¨©§©§¬©›˜”“•‹ŒŽŒ‘’”Ž“Žˆ‡†ŒˆŠŒŒ‹‹ŠˆŽŽŠŠ‰Œ“Ž‘–˜•™ŸžŸ›¦£¦ª´ÂÆÄÄÃÁÂÆÄ¿½¿»¹º¹·¶´³«¦®®¡•™›’˜› §ž”…‡†‰º‹‹ˆƒ†‡†Žˆ‰ŠŠ‹Š‹x*|T(5>OMZ"*CPSWR`„ŒŒ‡Š‹Œ‹ŽŽ‰‹Œ‹ˆƒŠŠ‰ŒÄЇ‹††Š†‡‰ˆ‹Š‹Š‰†‹ˆ†‹‡‡ˆ‰†ˆˆ‡„ƒ‰ˆˆ‡‰…†…‡„……‚ƒ„€~‚ƒ‡‚~€~„„€ƒƒ~€|¸{|„||€ƒ„…„†‚ƒ„ƒ…ƒ…„„‡†„†„„†‚€|}…‡„Š‹‰‹ŠŠ‰Œ‹„„ˆˆ‡ˆ††‡†ˆ‡�¥ëçåãÝÙÙÕÎÐÐÄÀ¹¼À»»¾ÃÅÃÁÀÁ¿À½ÁÁ¾¿ÁÃÂÂæÁÀ¿À¿Â¾ÁÂÃÀÁÂÂÁÃÅÅÂÄÅÂÂÀÀÁ¿¿À¿¾ÈÈÒÓÚàÞåðççéêæèéæâäâàÞßÝÜÙÜßßÚÖÖÐÙÛÚÜÙ×ÞãÝØÔÌÃÅÆÅÅÄÄÅÆ¿ÃÄÆÆÄÄÅÄÈų3.BR25<;DGRi–šŸ¤¯ÃÆÆÇÇÈÈÉÉÇÈÈÊËÈÅÈÈÇÆÅÆÇÇÄÅÉËÉËÆÄÁÅÃÆÃŽįÆÈÂÇÅÄÆÆÈÆÅÆÅÆÅÇÅÈÆÈÅÄÁÄÀÁÂÀÁ½¾Á¿¾¿ÁÄÅÆÅÃÀÃÄÃÀ½¿ÄÁÁÀÅÀÀ¿½¿®½º½¾¾¿ÀÀÁÃÃÄÂÄÂÀ¾¾¿ÄÂÃÁÄÃÀ¿ÀÁÁ¼½¼ÄÆÅÅÃÄÃÄÆÆÄÃÅćÃÃÅþ½¼¼»�–Ǿ¾¹¶·±«­¬£ šœžš›¢¤¢Ÿœžž›žžœŸ¡  ¢ ¡  ¡Ÿžœ œŸ ¡žžŸþ¡¢¡Ÿ ¡ ŸžžŸžŸŸž¤§°°µº¸¿À¿ÄÃÂÅÃÂÁÀ»¾¼º¸¹¸¶´¶¸¹µ°±­µ·µµ³±¸¿¸³°ª¢¤¥£¤££¤¤Ÿ¡¢£¤£¢£¢¥¤’#1>!!#!)-5Hkuy~€‹ ¢£¥¤¦¦¥¦¥¥¤¦¨¦¤¥¦¥¤¤¥¤¤¡©£§¨¥§¤ Ÿ£ ¢Ÿ¢¢£¢£¤¤¢£¢ ¡¢¦¢¡¢¡¢££¢¤¤¥¢¡Ÿ¢Ÿ¤›œŸœ›Ÿ ¡¢¡ŸžŸŸž›œ žŸ œžž›šš›™šœžžŸ  ž Ÿžœ›¡Ÿ ž  ŸžžŸžšœœ¡£¤¥¢£¢¤¢¢¡  ¡££Ÿžœž�˜¹²­«¥ Ÿš•—‘†‡‚‚…Šˆ‡ƒƒ„ç}‚€„ˆ‡ƒ††‰‡†‰†……ƒ‡‚‡ŒŒ„†ƒ„‚ˆˆ†…†‡……„„†„……‚‚Ž˜–ž£ ¬ª©°¯¬²±¯°«¤¨¥¡žŸžž›Ÿ¢—–“ ™— ¢ž™˜‘‰ŠŒŠ‰…ˆˆ‚‡‡‰Ü†‰ŠŒŒx+5!'CPRWWcƒˆˆ‰Š‹Ž‰‹ŒŠŒˆ……ˆ‹‹Š‹‡…‹‡‡……‡‰‡‰‹‹‡Š‡…‡†Ž‰„‡††‰‹‡ŠŠŠ‰†‡ƒ„†µ€}‚~€…„…‡†„……„ƒ~„‡……ƒ‚„‡„‚ƒ~}‚‚…†ˆ‡…†…‚€ƒ‡ƒ‚…‚€Œ„ƒ}€‚‰Š‰Š‹ŠŽ‹‰‹ˆ„ƒ‡ˆ‡‹Œˆ‡ƒ†�¹ÐÎÊÊÈÀÁ¿¾ºÀ¿¾ÁÃÄÃÃÁÅÆÄÂÁÁÂÁ¿À¿¼¼¾¾½¾¼½¼½¾¿¼¾À¿»¾¾¼»¿¿À¼ÂÁÀþ¾¾ÀÀ¾¾ÁÇÌÒÒÙÞåçææßàáâáßßåêéååáÕÛßÜÔ×Þ×ÑÓÜàÞÞáßàÝÙÕÖØÛÕÙæäéÝÌÈÅÃÂÅÄÃÁÃÄÀ¿ÃÈÇÈÌÍÄB*&*"+:LPSWr˜˜›¡®ÂÅÇÈÆÇÆÇÇÈÇÉÉÌÈÈÅÈÇÆÆÇÆÅÆÅÉÊÉ—ÉÈÇÇÅÅÇÃÃÁÄÆÇÅÆÃÅÂÂÅÄÄÆʼnÆÃÄÆÆÅÇÆÇÃăÂÀÃŧÄÅÄÃÁÃÀÀÂÄÁÂÀÂÀÁÀÁ¿¾ÁÃÃÂÀ¿ÀÀÃÂÁÁÂÁÃÃÂÁ¿À½½¿À½»º¸±µ¾ÂÄ…ÆÄÅÄăÁÄÅÃŒÂÂÀÃÄÀÁÁ¿½½»½»�¯®©©¨¡¡  ›ŸŸž  ¢‰ £¥£¢¡¢¢¡Ÿ„žœžž…žœžŸŒž›žœœŸŸž¡ ŸÑŸžŸ ¥©¯°µº¿ÁÁÀºº¼½¼¼»¿ÆÄ¿À½²¸º¸°²¹³®®¶º¹¸¼¹»¹µ°²³¶²µ¾½Â·©¦¤¤£¥¤¢ ¢¢žž¢¦¥¥ª¬¢0‘ %14:<Qlyy{€ŒŸ£¥¦¥§¦¤¦§©¦§¤¦¥¥¤¥¢£¤¤§¨¥¦¥£¤£¢£¡¡Ÿ¢¥¥£¤££ Ÿ¢£Œ¡¢¡¡¢£¢£¤¥¡¡ ’¢¡ Ÿ¢¢¡ ¡¡  Ÿ¡Ÿ¡ž ŸŸžœžŸ¡ŸžŸ„ŸžŸžŸ§žžœ›žŸœš™˜”—Ÿ¢¤¢¤£¢£¢¡¡¢¡£¢¡¢¡¢¢Ÿ¡¡ ƒžŸœœ�þ𙓑‘‹‰†‰‚„†„‡‡ˆŠ‰ˆ‹Œ‹‰ˆˆ‹ˆ‚ƒ†…€„‡ƒƒ‚…†„„†…„…†‚…‡†„†‡ƒƒ…І……ƒ„„…‡ƒ„‹’–—Ÿ§¬²®ª¢¢©©¥¢£©±³¬­§•ž¤¢•– š”– ¢¡Ÿ¦¤¥¡™”—œŸ•™§¦®¢’Ž‹Œ‡ˆ†‡†‡‡ƒ‚†ˆ‰‘“Œ$ö'"#'/DUSTWf‡‡ˆŽ‹‰ŒŠŽŒŽ‹ŽŒŽ‰‰ˆ‡Ž‹Ž‰ˆŒŠ‰‡……‡‰‰Š‰ˆ‰„ƒˆ‰‹Œ‡…†…†‡‰Š‰‹‰Œˆ…„„‡Œˆ†ƒ†‡ƒ…ˆ†…„……„‚…„ƒƒ„ˆ†ƒ„ƒƒ…„…‡ˆ„‡‚…„°††„…„‚„†}ztw„ŠŒ‰‹‹Š‰ŒŠˆˆŠ‹ˆˆŒ‰ŠŠ††‰‡‡ˆ‹‡ˆ‚…�–ÁÿÀÀÁ¾Á¿ÁÁ¼¾ÅÃÅÂÁÂÂÁÁ¿Ë¼¼À¿¼¼½»¾¿¾¼¾½»¹¹µ¶¹¾»¼½¿¼¾¾ÁÀ¾Á½¼»ÄÆÆÉÌÔÔØÚÙØ×ÚØÐÏÓÑÙÙÓÒÖ×ÒÉÎÏÊÌÍÊËÒÌÊÈÈÌÉËÀÊÊÆÊÉÊÉÉÇÅËÌÐËÈÆÂÃÁÅÃÆÃÈÍÍÎÍÖ×ÌËÉȘ_)745?JVWYrŒ˜™—›±ÁÁÀÂÂÇÅÂÂÇÈÇÈ‚ÆÆÇ ÉÆÇÇÆÊÄÆÃÅÉÇÇÈÇÈÅÈÉÈÇÆÅÅÇÆÄÁÅÆÆÇÆŒÅÂÅÈÄÄÅÈÄÅÄÇÅšÆÄÆÄÃĞĿÂÂÁÂÄÂÄÂÁÀÁÃÁÿ‹ÁÂÁÀÁÂÃÃÂÄÄ­ÁÀ¿Â¾ÀÃÁ°½¿ÂÁÃÄÃÂÄÄÃÂÂÁ¿¾»¼¼½½»¼»¾¿½¿À¾¾¿½¼¿º¾½�“¤¥  ¡¡Ÿ¢¢¡¡œž¤¢£¢¡¢ þŸ ¡¡ ¡¡žœž¡ œžžœ›™•˜™žœžœž  ž ››¢¤¦§¨°±µ·µ¶´µ´­¬°®¶´¯®²´°¨¬¬§ª¬©§­ª©§¥©¦©©ª¨¨£©§§¨¨§¤©©®ª¦¤¢£¡¤¢¥¢¨«ª««²²©©¨§M )&&*28•;=Qkzzy|Ž ¢ ¢¢¤¢¡¡¥¦¥¦¢¥¤¥¥¦§££¤¥§£¤ £¥¤¥¦¥¥£¥¦¥¤£¤¤¥¤¡ £¤†££¡Ÿ¢¤¡›¥¢¡ £¢¤¤¢¡£  ¡¢ž Ÿ¡ŸžŸ¡ž¡ Ÿ° Ÿ žžŸ žž žžŸ ¢ ¡¢ Ÿ  ŸŸŸ ¢Ÿ‘›ž¡ ¢£¡¡¤¡¢  Ÿžœ‘œ›œ›žŸž ŸžŸŸœ œž�‚މ¡‹ˆŠ†„†Š‰ŠˆˆŠ‡…‡…†‰Š‡‚„‰ˆƒˆ…†Š‰„þ‚‚{€†…„„‡„ƒ†‰†‡ƒ„‚ˆŽŠŒ—šœŸžŸš£‘˜˜ ›•–›—˜Œ‘’Š”‘Œ“ŽŒŒ‘‹‘‘‡ˆ‹ŽŽŠ…•‘‹Š‰†ˆ…‰ˆŒ‘‘’‘˜™’’mC!"$#''&&1FWTORf€‡ƒ…ˆŒˆ‰Š‹ÖŒŽŽŽ‹‰‹ŽŠˆ‹ŠŒ‰‰…‰‰‰’ŽŒ‰‹Œ‰‡‡‰‹‹‰‡…Š‹‰‡ˆ…„„ŠŠ†ˆ†ŒŠ‰‡ˆˆ‹ˆˆ‡Š„„ˆ†ƒ„„‡†‚†„††……††ƒ†…„…‚„††‚ƒ…††Š……†‘„„ƒˆ†t€ƒƒ…†‡‡‰Œ‡†„„†„‚„†‚„†„†‡…†‡„ˆ‡ˆ„†„�–ÂÂÁ¾¿ÁÀ¿¼À¿»¾ÀÀ¾¾À¿½À¾ºÚ¾¿½½¾À¾º¿¾¾¿Á¼¿ÀÀ¾½º·º»¼½¸¸·¹¸¾»¸¼½°³¼À¿ÀÁÂÄÃÄ¿ÂÀÃÄÀ¾À¼¿Á¹¹¾¿À¾À¿À¾ÀÁÃŽÀÀÁÃÂÃÃÂÁÂÂÀÁÁÃÂÂÃÁ±ÃÅÊÊËÑËÒÒÐÐËÊÉÊÊÄÁÆÉ͵Y\ULKTSV[Ž—™šŸ¯À¿¾ÁÃÄÆÂÄÇÉÇÂÆÇÈÇÆÂÆÇÉÇÄÈÄÅÅÄÅÇÈÇÆÆÅÇÇÅÂÅÅÇÇÆÆÃÆÄÆÆÅÇÆÉÈÆÄÇÅÄÀÁÅÅÃÃÄÅÉÄÁÄÇÇÆÆÂÆÃÁÂÄÃÃÂÄÃÁÃÄÆÄÁÁÂÄ¿¾ÀÂÀÂÅÁÄÂÄÅÄ®ÂÁÀÁÃÿ¼­¿¿ÀÂÄÅÃÄÃÂÃÀÁÀ¼¾¹¹¸¹·¶¶¹¸»¸¹º»¹»»¹º·¹³�…¤£¡žŸ Žž¡ œŸ¡ŸžžŸžœž›ˆŸŸŸ ž›Ÿ‰¡Ÿ¡Ÿž™™›Î™™—ššžœ˜›‘“›ŸŸ  ¢¤¢£ž¡ ¢¢ž œŸ š˜œž œŸžŸ  ¡› Ÿž  ¢¡ Ÿ ŸŸ  ¡ ¡¡ Ÿ¡¡¢£§©©­©¯­‚©¨§™¢ ¤¦©–ED<42847>_py{{~ŸŸž¡–£¢¢¥¦¥¤¥¤¥¦¥¤¡¤¤¦¤¢¥£¤¢‘¥¦¥¤¤£¤¥¢Ÿ£¤¥¥¢£¡¢ª¤¢¥¤£¡£¢ Ÿ¡¡  ¡£¦ Ÿ¡£¢¢£Ÿ ŸŸ¡žŸ¡  Ÿ  žŸ ¡Ÿ¾ œœŸŸ ¡ž  ¡¢¡ ¡žžŸžŸ Ÿ¡›žž ¡£¤¢ ¡  žŸŸœš™—˜——–˜˜›—™™šš›œ››˜š”�ŽŒŠˆ…ˆˆ‹‰‹‡‚‰‰†‡‡‚„…‚€„ˆ‡†…††‚‚ˆ‹‡‰Šƒƒˆ……‡‚‚ƒö…~‰‡}„„yz…‰†„‡ˆ‹‡‹†‰‡‰‰ƒ€‡‚ƒ‚}~‚~„€ƒ„ƒ„„…‡ƒƒ„……‰††…†„ƒ‡†„‡†ƒ‡†‡†‡‹Ž’”’”“މˆŠŒ“~22/*'*%!!;JUTRTe…ƒƒ…‡ŠŠ‰Š‹ŽŒŒˆˆ‰‹ˆˆ‰†Š‡‡ˆˆ‰‰ˆŽŽŒ‹‹‡ƒˆŒÖ‰ˆ‚†‡‹‰ˆ‰ˆ‰…†ˆ‰†‡‚ˆˆ…„‡‰‰‡„……†ˆ…†ƒ‚†ˆ……„…††ƒ‚…†„„‡‡…†„~ƒ„ƒ„‚„„ˆ‰ˆ†……ƒ‚ƒ„„‚ˆ~t„††…„‡ˆ“†„ƒ‚„‚~}€~~{}}…‚†ƒƒ€x�ŠÄÁ¿ÀÀÁ¿¿½¾½¾¼»º¾¹º½½»¹º¿½¿½¥¾ºÁ¼¾½¿»¿½¾À»¾»¹»½¿½½ÀÀ½½¾¼¹»·¸¸¶½º»¾¿‘»¾½¸¼¼»¸º»¾½À¿Â¿¿Àþ¿ÁÃÃÂÃÂÁÀÂÄÀÁÃÄÅÆÀÂÃÀÁÂÅÈÇËÆÍÎÖÕÊÊÌÊÈÃÅÃÄÅÅþ½wY[e>>?<MXRXˆ•œ›ž®¼¾¿ÂÄÃÃÄÆÈÉÉÊÉÈÇÉÉÇÆÇÉÊÇÈÍÈÇÆÅÅÆÉÇÅÆÃÆÈÇÆÇÉÅÇÅÇÇÅÄÃÆÅÆÄÃÇÆÅÁàÆÅÀÃÄÂÂÄÆÈÆÇÃÆÄÂÂÄÅÆ¿ÁÄÁÁÂÃÅÂÅÄ¿ÁÄÄÿÁÂÃÂÂÃÃÄÁÄÃÅÄÅÄÄÆÃÁ½ÀÂÁ½Á¾ÁÄÁÁÂÆÆÃÂÂÄ¿Á¿¾¾»´°³´¶µµ·ºº¹¶¸³²‚´±´�§£¡Ÿ ¡¡Ÿ ž žŸ››šž™šœœ›™› žžœžšžœžŸœž²žœ››œžœŸ œžœ™›—˜˜–œ››žžŸš›œ™››š™ššœž ŸžžŸ £Ÿ ŸŸ ¢Ÿ  ¡£¢Ÿ¡¢Ÿ¢¢£§¦©¤ªª±²¨¨ª§¥¡££¢¡¡¢ž™]8;H(**$.62;iv~~{{ŒœŸž¡¢¡¢¢¤¥¦‚¥¥¦‡¤¤¥¦¥¥§¥þ££¤§¤¢¡¡£¦££¤¦¢¤¢¤£¡¡Ÿ¡ ¢¡ ¤¢¡ž£ Ÿ žŸ¢££¢£ ¤ ŸŸ¢¡¡œŸ žžŸ  Ÿ¡ œŸ žŸž žžŸŸ  ¢Ÿ¡ ¡  ¢ žž›Ÿž›ŸŸ Ÿ ¡¤¢¢ž ¡ Ÿžž›•‘“•–””˜™™—”—†•“””–’˜—�¨Ž‰‰‡‰ˆŠ†‰†„†ˆ‚†„‡€€„…€Š„‡„ƒ„‚ƒˆˆ†‡†€€…Ú‡‡††……ˆ†ƒ„Š„††€€~}€ƒ…„ƒ…‚ƒƒ~‚‚€~€…ƒ„‚…ƒƒ„‡††‡‡„„‡‡„…‡‰ˆ‡‰Š…Šˆ‡ŽŠ’š™Ž‹ŠˆˆŠ‡ˆ‡ˆ³‚zB'/2! "DRXWSRd€‡„†ˆˆ‹ˆ‰ŠŠ‹ŒŠ‹Ž‰‹ŠˆŠ‰‡‰Š‹‰‡‰ÄŠŒ‰‰ŒŒ‰ˆŠˆ‹‰ˆ…ƒ„‡†‡‰‡……†ˆ†ˆ‡€…ƒƒ†‡…ˆ……‚ƒ…ˆ‰„„‡„‚„‚……ˆ†‚„ƒ‚‚…‚ƒ„‚”…„……†‡‰‡†‡ƒ„ƒƒ„ƒ€†„‡¢ˆ‡†‡……‡ˆ†…‚€ƒ‚yvy~€{zz}~|z{yz~|}y€}�•¿ÁÀÀ¿À¼½¿¼¼¿¿º¼¹»¹º½¼‰¾¼»¸·¼»¹¹¾½ˆ¸½½»¼º»¼½“À½¿»½ÀÀ½¾»¾ÁÁý¼½ºº»—½º»º¼»¼½¼ÀÅÁÀÀÁÀ¾¾ÁÅÇÆÄÁßÅÃÂÃÄÃÂÃÆÂÈËÈÉÐÔÒÐÔÔÓÏËÇÉÇÆÈÆÅÄÃÅÃÀ¿ÄÁ–ED05J(,17ZRb˜›œ››¯¾¿ÁÄÃÄÅÆÈÇÃÄÅÇÈÊÇÈÊÆÇÉÊËÉÊÈÆÆÇÇÆÄÅÃÂÇÈ„ÆÇÈÆÇÈÆÉÈÄÉÈÆÃÁÇÆÄÅÃÂÅÃÃÄ¿ÄÅÆÆÃÅÁÄÁÂÆÇÉÇÇÆÄÄÅÂÃÃÆÄÄÃÃÅÄÂÅ¿ÄÇÆÅÅÄÄÆÄÃÃÅÇÆÃÀÃÀÁ¾§ÄÅÇÄÂÅÄÆÅÄÃÅÿÁÅÃÁ¾¹¶´»º·¶·´¯°ª­³´¸·¸½ÏÔ�„¢¡¡Ÿ ŠžžŸŸž  ›œœ›œ‘žŸœœš™œ›š™ž žžš›œ™ŸžžœŸž› Ÿ œœš›œ››œ›œ››Ÿ¢Ÿ Ÿ Ÿžž £¥¢¢ „¤¢ ¢¡¶¢¥¡¦ª§¨¯±¯®±°°¬©¥¦¤¥¦¤¤£¢¤£ŸŸ¤¡v)'&4 !95Dp{~~}{Ÿ¡ £þ¤£¦¤¡ ¤¥¥§¤¦¨¤¥¦¦¨¦§¦££¥¥¤££ Ÿ¤¦¤¥£¤¥¢¥¦¥¤¦¤ ¥£¡Ÿž££¡¡ Ÿ¡ŸŸ ¢£¢£ ¡Ÿ¡  ¤£¤£¤£¡  ž  £¡  Ÿ Ÿž ž ¢¡  ¡¢£ ŸŸ¡¥¢ žŸžžœœ£¤£¡ ££¤¢¢¡¢ ž¡¡¢ ¡ž™—”›š––—”‹—˜œšœ¡±¶�³ŽŒŒ‰‹Š‰…„ˆ‡‡‰ˆ…‚…‚ƒ†‚‚ƒ…‡€ƒ}|„€‚ƒˆ‡ˆ…€ƒ„ƒ†„……‡„„†«„‡ˆ„‚ƒƒ‡…„„ƒ‚‚„‚‚ƒ‚}‚ƒ„‹…„„…ƒ‚…ƒ„ˆ‰†„Š™†„І†‡‡‰ˆŽ’Ž—™–•—•”ˆŒ‡‹ÖˆŠ†ˆ…ƒ†Š…S "$LWZXWTa‚‡†‰‹‹†‰ˆ„‡‹ŠŠ‰ŽŒˆˆŠŒŽˆ‰Œ‹‡†‰ˆ†‡††ŠŒŠ‰ˆŒ‡ŒŒŠˆ‡…‹†‚‚…‰©†…„€„…€„‡†ˆ†‡‚‚ƒ…‰ˆˆ‡ˆ‡‡„ƒ‚‚„‹‡‚„ƒ„‚…‚€†…¸ƒ„ˆ†…‚ƒ‡‡ƒ…†ƒ}„‰‹‹‡„ˆŠ‹‡……‡‡„ƒ‡„„‚~|‚‚{z|zttou}€‚‚…ˆ£�Ê¿¾¿¿¼À¼»¼¼»¿À½¼¹¸½¼¼¾¼½¼¼»º¶µ´¹¸µµ»½º¹¹¼»½¹¸·¼½·¼¼½¾»¿½ÀÀ¿»¾¼¾¼¼ºº»º¹À¾¿¼½¾Ž¿¿ÀÀÂÄÂÁ¾¾½ÁÁÃÄÂÀ¿ÀÀÃÃÅÈÆÇÌÐÓÏÏÐÏÉÊÌÉÇÇÉÉÅÉÇÅÄÃÆÇÅÅÃÄÁ½ÀÄÁ„@87*GC.1:TXe‹šš™¬ÂÃÅÆÅŒÄÅÇÇÅÇÉÈÉÇÉÉÇÉÉÆÇÇÅÆÆÈÆÆÇÅÅÇÈšÄÇÆÆÇÆÇÆÇÆÇÆÄÄÇÂÅÇÈÇÁ¿ÄÆÄÆÂØÇÆÄÆÃÈÄÂÂÅÃÄÄÁÄÆÂ¼ÄÅÆÄÄÇÈÆÆÇÆÅÃÄÇÇÄÀÁÅÈÅÅÈÇÄÃÂÆÃÂÅÃÆÅÇÆÅÃÂÄÃÅÄÂÅÇÆÅÅÆÃÇÈÇÆÅÄÈÇÅÀÀ¾ÀÅËÒÙßàãäâ�¿ Ÿ  Ÿ¡žŸœž  ¡ŸššžžœŸœœ—––šš˜—›ž››ž›ššœž™œœžœžž  ž›œœ›˜šš žŸœœžžŸ  Ÿ¢¡¡ ž  ¢Ÿ¢Ï¦¥¦ª­¯«¬¯­§ª«§¦§§¨¤§¦¤¢¢¦¥¤¤£¤¡ž¡¥¢e(&&!0*!(7<Io||{|Š ££¤¥¤£¢£¤¥£¥§¥§¤§§¥¥¤¦¦¤‘¢£¤¦¤¤¥£¢¥¦¥¥¢¥¤£¥¤¥£¤£¡ £Ÿ¢¤¥£Ÿœ¡¢¾Ÿ  ¤¤¢¢ ¤¢¡¡  ¢¡ž ¢ž›¡¢¢  ¤¤¡¡£¢¡  ¢¢ŸŸ¢¤¡¢££¡  £ ¡¢¡££¤£¢¡¡£¢ž¡¤¦£¢¢¤¢¥¦¥¤£¢¥¥¢žžŸ¢¨±µ¼À»¿ÂÅÀ�ÖŠ‰ŠŠˆ‹‰ˆƒ†ŠŠ‹ˆ„‚ˆˆ††„ƒ…ƒ~x{ƒ€~€„†ƒ‚~ƒ†…‚~€„…„ƒ†‚ƒ†Š‰ƒ€„ƒ„„ƒ~‰ˆ‡€‚‡„€‚„„ˆ„ˆ‰†…‚þ†‡††ˆˆ„ƒ‡ˆˆ‡†Ž‹‰“••“’—•‘“Ž‹Œ‹†ŒˆŠ‡ˆŽ‡‹‡‡„ƒˆ‹ˆF )MY\ZYUaƒ‡†Š‹‡…‡ˆ‰ŠŠŽŒŠˆŒŠˆ‰‰Š††Šˆ‰ŠˆˆŠ‹‹††‰‡ˆŒŠ‡ˆˆ…‚ƒ†ƒŒŒŠ…ƒ…‰ˆ……†ŠŒŠ†„“‡……„„†‚„„}„…†……І„‡®†‡…„†„€ƒˆ††‚…„†„ˆ†ˆ‡„‡‹‹ŠŠˆ„„‡ˆ††‡‡ˆ‡…‡„‡‰ˆˆŠ‹Ž…‚ƒ‚†Ž‘ ¤¢¤¨«¬ª�…¾¿À¿¿¾¿À¿¾¾½¿··»¶·º¼µ¹·¶³º»¸·²´·¹³¶·»»¾»º½¼»º¼»¹¼¾¾½¾¾º¹»º»¸´²±¹¼¸¼¼½¾¾ÂÀÀÂÀ‰ÂÁÂÂÃÂÁÂÀÄ¾ÇÆÈÉËÎÏÏÒÒÖÒÎÅÆÇÆÇÆÅÆÅÆÉÈÆÁÃÂÃÇÅÆÄÅÆÄÆÄÂÅÅ=?¨w9^JFTYZl–ššŸŸ­Å‹ÄÇÇÅÆÅÈÊÇËÊȇÆÇÇÄÇÈÈƆÊÍÉÆÈÈÇÀÉÉËËÅÆÆÊÈÈÇÇÈÈÊÇÈÃÆÅÈÆÈÇÇÈÊÈÈÇÇÅÇÇÅÄÅÉÄÆÄÅÄÂÅÆÇÅÄÃÆÈÇÄÆÇÆÇÇÉÈÉÇÉÈ¹ÇÆÇÈÆÈÆÉÅÇÇÈÅÂÃÁÂÄÀ¿¼¼¾¿ÀÁÃÅÆÆÇÅÈÉÊÎÍÓÓ×ÖÛÝàæêììíëééçèæçåç�‚ŸŸ¡¨žžŸŸ¡ ŸŸž ™™œ™™›œ›™˜•šœ™™•–™š•˜˜›œžœœ›ƒœœšœ—žšš››š˜””’™›™œ›žž¡Ÿž¡£ŸžŸ¡ ¡Ÿ¢¡  ¡¡£¢¤£¥¦¨©¬«®¯²¯¬¤¥§¦¥¦£¤„¦¦¤ ¢¥¥¤¤¢£¤£¤£ ¤¥t('†Z%=0*68:Lrx}{~}ˆ¡£¢¢£¤¥£¦§¦¨§¥¦¥¦¤¤¥¢¥¤¥£¤£¦ª§¤¦¥¤¢¤¥¦§§£¤£¦¥¤¦¦¥£¤¡£¢¥£¤££¥¦¦¥££¢£¤¡ ¡¥¡¡ Ÿ¡¡£¡ŸŸ¡¤£ £¢¢¤£¤œ£¤¤¥£¢¢£¤¢¥¡¥¡¤¤¥¢žŸž  žŸ›œžŸ ¡¤¤£¢¢¥¦§ªª¯¯±±¶·¹½ÅÇÅÊÇÄÅÆÀÁÅÆÃ�͈‰‰‹†ˆˆ†Š‹‹ˆ‰…‚€‚ˆ†‚ƒ€|{}ƒƒ€}€zz|ƒ„…ƒƒ€ƒ„~ƒ‚„‡„€€‚ƒƒ}z{}€ƒ…†„…ˆ„„ˆ‡„††ˆ‡ƒ†ˆ…†‡‡‰ƒŠŒŽÆ‘•”›–‰ŠŽŠŠ‰ŠŽ‡‚…ˆ‡Œ‹…‹‹ˆ‹Š†‡Š]hL -QVXY^UbƒˆŠŒ‰†‡‰Œ‹ŽŽ›Šˆ‡ˆ‰ŠŽ‰‰ŠŠ‹‰Š‰ˆ‰‰‹Ž‹‡„‡ŽŒÊ†‰‹††‹„„…‰‡ˆˆ†‡ŒŒŠ‡†‰Œˆ„ƒ‡†ˆ„†‚€†‡…„„‚…††…ˆ‰‡‡‰ˆˆ†ˆ‰†‰ˆ‡†‡ˆ‡ˆƒ‡†‹‹Š„„…„ˆ…ƒ‚…ž‡‰††‡…ˆ‰‹Œ’”—–š›Ÿ¤««°¬«©©¦©¥§¤©�½¾¼¼¾¼À¿À¿¼»¹¼¼»¸˜¹º¹¹»¶³´¶»¼»´·º·¸¸¼¼¿½º»¹ºº¼»À½¾À¿»·º¼½¾¾¿·¼½½À½¾¿Á¿¿À—¿¿½Á¿¿ÃÃÅÅÇÊËÎÓÑÐÐÎÎÌÊËÇÆÈÆÅÆÅÈÇÅÅÆÅÄÉÇŵÄÄÅÆÃÄÄÆÈÄÅůűQOcMFc`]Y[_v•™£¨³ÃÆÈÆËÇÇÈÉËÉÉÈÈÇÈÈÆÄÆ‰ÅÆÊÈÉÉÊÆÇɉÄÅÈÃÄÆÄÆÉȉÊÊÇÇÊÏ×ÙÏÉÊÇÈÈÆÇÈÈÆÉÄÆÆÈƉÅÅÈËÉÇÈÇÇȈÆÇÈËËÆÆÅƹÄÄÆÉÊÉÈËÇÉÇÇž¹¹¿¼º»¸µ³´¶·´´º¾ÅËÎÖ×Úßåèéêéêéêêëëíìîíìííëêêë�ŒŸŸžžŸœŸ Ÿ žœš™››—”––››•˜š™¯œœŸž›œšš›ššœ››œžœ˜šœœž—šœžž¡žžŸŸ ¡ŸŸœŸŸž¢¤¥¦§«®­¬«ªª©§§¦¥¦¤‹¥§¥¥¢¥¤£¦¥£¤ˆ¢£¤¢¢£¤¥£ž¤£”63C30A?<7:?Urw{~‚ƒ¡£¥¤§£¤¦§¦‹¥¦¦¢¡££¤¤¢¤¦¡¥§££§¦¦ ¢¤¡¡¢ £¥¤¤¥¦¥£¤¦¬²²«¦¦¥¤¦¥¦¤£¤¤¢¥ ¢¢¤¢¢¡¡£¡¡¤¦¤££¢£¤¥¥¢¡££¦¥¢¢ ¡¢¡·¢¦¥¦¤¦¢¤££¡™–˜›™˜••“•–—””›¢¨©°³µ¹ÂÃÂÃÁÅÅÆÄÄÇÈÊËËÉÉÆÆËÉÆ�»ˆ‰†ˆˆ…ˆˆ‰Šˆ‰††…‡‚‚ƒ‚ƒ…ƒ{|}…ƒ{€ƒ|„‡†‚‚€€‚ƒ„…€„……~„‡†…~€ƒƒ…†á‰„†‡…ˆ‰‡†€ƒ„†Š‡†‰ŠŠŒ“––”‘ŽŒ‹‰†Š‹Š‰ˆˆ‹ŽŒ‹‡‹ˆˆŽ‹‡ˆ‹‰‰ŠŒ‡‰‹‹Œ‰†‰‰}%-!$ 1MSW\`[d‚‰Œˆ†‰Œ‹”Žˆ‡‰ˆŠŠˆˆ‹‹Œ‹Š†‹‹‹ˆ•†ˆ‡„‹‹‰ŠŒ‰‡Š‰œ˜ˆ‰ˆ‡ˆ¬‹Œˆˆ†‡‹‡†…ˆ‰ˆƒ…„‚‡‰‰†…„†…†‡Šˆ……‰‡‡ƒ……††ƒƒ…‡Œ³‰ŠˆŠ‡ˆˆ|z|€}{{xy}zy€€ƒ‰Œ“•˜¢¥©©ª¨£¤¨«©­ª­¯¯°¯¬¬ª¯�Ú¾½¼¾¼»½¾¼º¸»¶··´°¸º¸¹¶¸¼»»¼¸¹¹¸¹µ²¸»¹»¼»¼»¼½º¹¼º¼¼À¾º½º¸¶»¼¼¾»½¼¿Ã¿ÀÁÁ¿ÃÀ¾¿Á¾ÀþÂÊÊÉÐÎÐÎÌÎËãÉÍÈÃÄÅÂÆÈÂÁÄÆÇÄÅÄÂÇÅÂÅÅÇÆÉÆÈÅÆÆÅÃÄÇÆÃÄÄÅÆÆÅÃÊ„HOROciaTZaz—šœšŸ¤³ÁÅÅÆÆÄÄÆÇÆÈÉÇÇÉÈÈÆÇÈÉÉÈÇÆÈÊÉËÅÇÆÈÇÇȾÅÈÆÄÈÉÊÅÇÇÉÃÈäóôôîêÝÏÅÉÇÈÉÆÆÈÇÈÇÈÇÆÆÈÉÈÈÉÇÈÇÉÊÊËÈÇÇÅÅÆÆÂÇÅÈÌÆÂ½¤ÁÅÉËÈËÌÎÑÔÒÔÍÊÉÇÇÅŸ©¡ ¨¯¯´µÁÌÖàäèëíé“èééìíììîíëëêìïîïðííðñ�þŸŸžž›Ÿžœš™™š—“šœšš˜š›œ™™š™™—•™œ™š›œ››œœšœšœœœ™›™™˜›š›››¢ŸŸ  ž¢ŸžŸžŸ¢¡¨¨¦¬ª¬ª©©§¨¨¥¨¥¡££¡¤¦¡¡£¥¤¢¤£¢¥¤¡¤¤¥¥¦¤¦¤¥¥£¢ƒ¤¦¤£ ¤¢£¢©l5588FE?16>[y}}{€Žž£¤¥¤¡ £¥ƒ¦¥¥¦‰£¤¥¦¥¥£¢¥¦…£¢¢¥£¤­¡¤£¡¤¥§¢¤£¥¡¬ÁÎÏÏÈÆ½­¡¤¢¥¥¢¡£¤¥£¤£¢£¥¦¤£¥¥££¥¦£œ¢£¢¡Ÿ£¡¤§¡ž™˜›ž£¥§¥¦¨©«®¬®ª¥¤©£¢—‹‚‚‰‘–˜¥¬µ½¿ÁÄÈÄÂÈÄÆÅÆËÊÊÆÆÇÈÉÉÌÍÎÎÏÐÏ�‚ˆˆ…þ„†‰ˆ…ƒ‡ƒ‚‚{…ƒƒ‚„ƒ„…€~}}€‚}€ƒ…ƒ‚€„‚ƒ‚…€}ƒ‚~‚……‚ƒƒ‰†…‡ˆ…Š…„…ˆ‡‡ˆƒ„‹“ŽŽ‹†‡†…ˆ‹ƒ‡ˆŠ†…ˆŠŠ‹‰‡‡Š‰‰ŒŠ‰ŠŒ‹‰‡Š‹Š•‰ŠŠˆ‹ˆŽP #&# 6TWZ–Uc€ˆŠŒ‰‡…‡‹‰Œ‹Œ‹†‰†ˆ†ˆ‹Œ‡³‹‰‰‹‰‡ˆ‹ˆˆ†ˆŠ‡‰Š‹‡Ž®¾ÃÀ³®¡Ž„‡†ŠŒ‰ˆˆ†‡‡ˆˆ†ˆ‡ˆ‡†‰ˆ…†‰ˆË‡†‡ƒ††ƒ„„…‰ƒ€z|}€…†Œ‹•‘‘ŒŠˆˆ‡‡xlbfktu{}„’–Ÿ£¦©­£¤¥£¦¦ª©§¨¬«©¨¨«°°³´³¯±´�—¸¼»½¼º¹¹¼¼¹»³¸µ¹µµ¶¶º¸·¸··»¼½·º·¹¹²¨¬°³´°±·´¸¸»½¹·¹½¼»¦º·¼½º¼¿ÁÁÂÀ¼ÁÁÀÃÂÁÃÄÌÜåìçáØÊÉÉÄÅÅÃÄÿÅÄÏÃÄÇÄÆÅÄÆÅÄÅÂÅÂÄÅÄÆÄÈÆÈÇÆÅÄÅÆÇÄÃÄÆÅÄÆÄÃÅÅ£‘``jh_N[fz—š—˜œž­ÃÄÈÇľÆÇÆÈÆÈÇÈÅÈÈÇÆÆÈ›ÇÅÆÆÉËÈÈÉÇÈÈÉÈÇÇËÊÊÉÊÉÌÉÌÞñôö‹õëÜÑÅÆÇÊÈÇÉÆÉ…ÈÊÊÇÉÇ’ÈÉÇÇÆÉÈÅÇÅÅÁÂŽÀÄÊÉ™ÌËÍÏ×ÓÎÐÔÔÒÖÒØÚÝרÏÇÊÑÞæïñ˜ððòïíëêêëëéëìííïîïîïññòïïð�šœœ™›žšœ–›™š˜Æšš™š˜™š™›žžš›™šš”‹‘”—’”™–™™›™—˜œœ›šœ›—œšžŸ  Ÿœ  Ÿ¡  ££©·¾Å¿¹²§¦¦¡£¡‚ž£¡‡ ¢£¡¤£¢£„¤¡£¢£¾¤£¦¤¥¦¥¤£¤¥¥¢££¥£¡££¢¦¦ŽyLBJF:*7AXxzxz|zˆ ¤¨¦¤¢¤¥¤¦¥¦¤¥¢¦¦¥¤£¥‹£¢£¢¦§£¤¥£¤¥„£¤§¨¦˜¥§§ª»ÔÔÕÕÖÔÔØÕÉ·­£¢£¥¤¤¥£¤¥¤¤£¦§£¤¡¢¥¤£¢£¡¥¤¢£  žŸ¡š ¥‚¤¥¨¡«°­¨ª®®¬°­²´¶±´¬§ª²ÂÇÌÎÎÐÏÍÏÎÎÍÊÊÆÇ‹ÄÊÊÎÌËÊÍÒÒÓÐ�à„‡†…†ˆ„…‡†‚„…ƒƒ€‚†„€}ƒ…†„€ƒ€zqrxz}yx}‚‚ƒ„‚}€„ƒ‚„‚„‚‚„††ˆ……‡ˆˆ‡‡†‰‹Šœ¦²©¥š‹Š‰‰ˆˆŒŠ„Ї‰‰‡‹‹Œˆ‡‡‰‰Š‹Š‰ÁŠ‹ŽŒ‹ˆŠ‹ŠŒ‹Œˆ‰‡‡‹Œzd0+*$$7VXWXWO\‚‹Ž‹Š„Œ‹Œ‘ŒŒ‰ŒŒŽŒŽŽŒ‡‡ˆÉ‰ˆˆŒ‰‹Šˆ†‰Ž‰‹ŒŒŒ‘¬ÆÈÈÊÊÇÇÊȸ¥˜Š†‰Š‰…‡‡‰Š‰‰Š‰‹Š†…„…‡‹‰…ˆˆ‰‰…†ƒ„‚ƒ…~…‹¸ŠŽ”‘“‘—’˜–›‘™‘—œ¨·Áº´³¶³³²®±°°ª§¦¥¤¥©ª¨®­¬®®¯²³®§ª­�Ü·¹¹½»ºµ³¶¸ºº¶·¸¹»¸¸¼¾»¼·¸·¹¸¼»½¹½¼¼½¾¹¸·¶µ¹·´¶º¸·º¶±¼»½¸º½¼¿¾½¼½½À¿¿¾¾ÂÃÇÈÍÊÏÈÌÌËÔÙÙÐÇÆÁ¿ÂÁÁÄþÃÃÄÂÂÃÂÇÂÃÇÁÃÅÆÆÅÄÇÆÅÅÈÅÆÊÆÃÀÄÇÇÃÄÂÄËÈÊÉËÇÉÐÑ¿‹zeUCY_YƒŒ–œž£¸ÙßàÜàßÚääàâàÜÐÓØÚÚÔÒÓÔÐÌÈÇÅÃÄÄÀÁ¿ÀÂÆÅÉÊËËÈÇÊÉÊÍÞéíôôõõôõöõõööóäÕÂÄÇɃÈÉËÉŠÆÈÆÇÊÊÈÉÉÊÉÈÈÅÿ¸¿ÄÆÄÈËÌÊËÍÇÚçáÔÔÒÑÌÊÌÍÏΈÑÚáéíññòó›ñòóôòôôóðïííêééìíñôõõôóñïîëîñ�¢š›šžœœ—•™šœœ™š›š›ššœžš™˜ššœŸ›žšš˜—–—›š——š™™š˜’›œ™šŸžœžŸŸž¢¢¦¦¨¦«¦ªª¨°³³«¤¢Ÿœ ŸŸ¡¢¢¡ ¡ä¢¡¡¥¡¢¤ ¢¢¤¥¥£¥¥¤¤¦£¤¨¥¢ ¢¦¥¡¢¡¤¨¦©§©¨ª°¯¢lYD5%6><bjs{|}‘´½¿¼¾½¸¾À¼¾½º®²µ¸·³°°³®¬¦§¤£¢£žŸž £¢¤¦§§¦¤¦¥©»ÆËÓ×Ö×ÖÕÓ×ÕÖÓÏÀ±¡¡£¥¤¦¥¥¦¥¤¤¢¤££¥¤¤¥Ÿ¤¤¥¥¦¡Ÿœ–œ¡¤ ¤¦§¥¦§£³¿¸¯¬««§§¨¨ª†®·½ÄÈÍÏŸÎÎÑÑÏÎÑÏÒÍÏÑÏÍÉÈÅÆÅÇÊÍÒÏÔÔÒÑÏÎËÍÐ�œƒ‡…‡……€~‚„„ƒƒ„…ƒ†ƒƒ‡Š‡…€|~ƒƒ†þ‚…†„…†„||ƒƒ}}‚„{††…}€ˆ†…†„„ˆ‰ƒ„ƒ…‰Š‰‹”ŽŒ—˜š“Ž‹……ˆ†…Љˆˆ†‰ˆ‡ˆ†‡ŒŠŠŒ†‡ˆ‹‹‹‹ˆˆŒŠŽ‹ˆ‡Š‰†ˆ‰“ŒŽ‰ŽŽ‘™˜ŽP9* BIRVVRdÆ¢³²²¶µ®³¯±°¬² ¥¢£œœŸ›”ŠŽŒˆ„‡ƒ†ƒƒ†‡‡…ŠŽŠŠ‰Š“¦µ¿ÆÉÊËÇÈÇÊÇÉÊȳ›‡†‰‡‡Š‹Ø‰ŠŠˆŠ†„‡‡…ˆ‹‹†ˆŠˆˆ……{ƒ†‰‡‹‹‹Žˆš¨žŒ’‰ŠˆŽŒŠ›§µ¸¾¾½·¹¸´µ´²´´±µ´¸³¬ª§£¤¦ª«³´¶¶³²®«¥¡©®�ݶ³¶´¶»¸¸»¼½¸º¹·¸½º¼¹º·»¼¼»º»¹¹¼¹··¼º¿º¶¸¼¸¸º»¸º´·º¶´»½½·½¾¾»¼½ÂÄÈËÈÍÑ×ÎÆÇÇËÌÄÃÄÁÁÀ¿¾ÀÁÀ¿ÀÀÃÃÂĽÁÄÆÁÂÅÄÆÄÃÃÂÂÃÅÆÄÅÆÄÅÇÈÆÊÉÇÇÊÔÑÐÒÙßäêéèæâãéììö£šŸ¬°ÀËĺ¶²¯·Ëõµöõøõôôòòô÷ôôñôôõ÷÷ø÷ôöõòïíèîîëéæäæßÛÝÚÙØØäððóôõ÷õöõôôõ¢öùôãÕÐÇÉËÉÊÇÉÉÆÇÄÈÉÆÉÈÇÉÆÂÅÃÁÇÈËÈÌɪÊËËÈÇÎÊÓäÞÞÖØØÝÕÒÕÔÜãêñóòïðòñîñòðóóðïîðïðóñóóôööõöõôóðîïðóôõ�Çš–——˜›™œœž›œ›ššœ›œ›œšœœ›œ››œ›™š›ž›—™™š›œ™›—™œ˜–›œ˜›Ÿœ›œ¡¤¦©¦«®´­¥‘¨©¢¢£  ŸžžŸ ŸŸ ¡Œ¢  ¢¤ ¢¥££¢¢¡¤þ£¤£¤¦¦¥§¨¦¥¨°¯®¯´¹¿ÄÄÿ½ÁÆÈÈÓ…{|}Љ𤛒Œ‰ˆ ÑÕÖØÙÔÕÔÕÖ×ÔÔÓÒÒÌÑÓÕ×Ö×ÖÑÒÒÍÌÇÂÉÊÆÄÂÁÁ¼¸¹µ¶´µ¿ÊËÓÖÕÔÖÓÖÙÕÖÖÙÖÕÕÖο°¬¤¥¦¤¦¤¥¥¢£¡¥¥¡Ž¤££¤¡ž¡¡Ÿ££¥¥¨¥˜¦§¤£§¥­¾·¶¯±±¶¯­¯®¶¾ÇÐÎÐÍ¡ÒÍÊÌËÍÍÎÊÉÍÏËÑÒÒÑÐÐÏÓÐÕÕ××ÔÔÓÒÏÐÑÖ�Ÿ‚ƒ„‚‚††ˆ‚„…„„††…†…€„…ƒ„‚€‚€„µ€‚…}‚ƒ€‚…ƒ„~„ƒ…‚}€†ˆƒƒ‚‡Ž‘•›‘Œ‰ŽŠ‰‰ƒ†„‚ƒƒ†„…¤†‡‰ˆ‡†‡‰‹……‡‡‹ˆˆ‡…‡†ŠŠ‹Š‹Š…‰Œ‰ŽŽ–“þ›¢ª¶¶±§§¯µ¸¸Èf\\]jkywmf_]X^pÁÏÍÍÐÒÓÏÉÎÊËÊÍËÆ»ÃÆÉÎÌÏÎÆÉÆ¿¹´¯¼¸¶°¯ªª§¢¡™šŸ¬ººÆÈÉÊËÆÇÈÉÈÇÄÆÇÉËÅ©˜ˆ‰ŒŠ‰‡‹Š††ƒ†‡„†…‰‹…€…€‚ˆ†ˆˆ‰Š¿Š‰ˆŒ‡‡ŒˆŸ™™”—š’‘š¡ª¹¼º°´¹¶´°°¬°²³®ª¬«¬®¯°¯¬¬¯±´»¸·´±¬©©ª§¬´¸¼�…¸·²³¶¹»¼¸¸¹º¸·»¹»ºº¸¸¼¾ºº»¶µ·³·º¸¹º·¸»º¸¹¶µ»º¶¹º»¿¸·¼¿ÂÆËÏÑÑÓÕÑÎÍÉÏ¿ÀÁÂû¿½¿¾¿º¾ÃÁÁÃÁ†ÂÁÃÃÄÄÃÀÇÂÅÅÃÅÁÃÅÅÈÉÊÑÒÑÓÎØØÒÓÖÕâèåâäçñòñòïðìîëéð†wz„–£¹Â¼°¯ª¨©»êîîííïñïñ•òððôõòóóôôóñôõõôõôõòõöõöôõôŠõõööõöõöõöõÑóõõôõóïãÖÊÉÉÈÉÉÆËËÉÉÇÈÆÂ»´¼ÅÇÉËÊÈÌÊÈËËÈÉÆÃÀÀÂÆÊÏÞææÚßâãéêðòòóõôòñðòïññîîïìíìíïîðñóòôóôôóóôôööõõöôõö�œ™”•™œœšœššœš˜›‡œœšš››Ã™—š–šš™™š™šœœ™š™—œ›˜›œ›ž™˜ž¡¥©ª¬­¯±®«ª¨­£ŸžŸ¡¢œžžŸ›¢ Ÿ ŸŸ  ¢ ¡Ÿ¡  ¤¡££¢¢¡¢¥¥¦§§­®¯±«µ¶²±²±½Å¾ÀÂÍ̪ÉÊÈÊÈÅËhX[ex‘—“ŠŠ†ƒ“ÆËÉÈÎÈÍÊÌÐÔÒÎËÏÒÎÐÒÑÒ‚ÔÔÓžÕÓÎÔÖÓÕÕØÕÔÔÕÖÒÒÕÒÑÓÕ×ÖÓÕÔÔÖÓÓÔÑÏÐÌɼ±§£¥¥¦¥¢¦§¦¥¡¢¡ž˜’™¡¤¥¦¦¤§¥¤¦¦£¥¢ œž¢¦©´½½³º¼½ÃÄÈÏÒÓÐÔÐÏÍÏÌÉÊÊÉÉÆÇÉËÌÊÍÑÒÒÓÑÔÓÓÔÔרÚÚÜÛÝÝÙ�þ„„~~„†…‚…‡†ˆ…ƒ„…„†ƒ‡„…‚€~‚€€{€ƒ‚‚€……„†…‡ƒƒ‹Ž‘’“•š›”‘‘’‡„‚…†ˆ„„‚†„€ƒ…†…ˆ……ˆ‰‹ˆ‡„‰ˆˆ‡…‡…Љ†‡†‡ˆ‹ŽŽ–—‘–’šŸš›œ›£Ï±°©¬­¾ÃÂÁ·¼º»¹³¼N@AFX`ihga_YSSe©¾¹·¿ÁÁ¾¼½ÀÆÁ½ÇĽÀÅÅÇÆÅÊËÈÆÅÉÉÅÏÍËËÉËÉÆÆÊÁÂÇÌÈÃÃÇîÉÉÈÅÆÇÅÇÇÅÄÂÄŽ·¨—Љ‡‹‹‡Œ‹‰‰‡†ƒƒ}u{††‹Œ‰‡Š‹‡ˆŒ†‡‡ƒ€~€†‹˜¢¡•™Ÿ¢¦°µ¶¸¹¸±³°´¯®­¥¨ª«¨¤¥§§©ª«®¯­®¯³±±¯°°±³µ»¿ÄÄ¿À�™¹º³¹º°´¹ºº¹ºº¼»¸¸·¶´´¸¼»½¼Œº¹»º¹¹¶¹¹·´¶»œ¸´¹½»¹½¿ÀÅÌÐÏÊÊÌÍÑËÑÇÄÃÄÁÁ¾¾À¶Á¿ÂÂÀÁ¿ÁÂÀÁÃÂÆÅÀÀÂÁÃ¿ÄÆÂÁÇÈÇÄÈÒÔÚÛßåçàáØâäßèéëëìæéîòó³õïîèâèãÝÚÛØ …ystnw†“—žŸ¡¨¸ËÌÆÄÄÅÌÌÑÓÕ×ÞáââåìïïðôõòïôŠóïòóôõöôõ÷õ‚ôöõŠöõöõööõööõô‚óôó¹ñðññòñíßÒËÈÈÍÍÈÈÇÂÀÁÀÃÊÊÈÍÉÍÌÉËÇÊËÌÌÏÏÍÎÎÐÍÎÐ×ÝâãâêîîïóôõôóóñïëéêëìííññòóòŒñðòö÷÷úúùø÷öôõö�š››•šœ“˜››œ›šœœ›™™˜˜––˜›œœ›­š™›˜™š™——››™–›žœœž  ¥©¬«§¨©ª¬©­¥£¢¢ŸŸž žŸ¡ ªž ¡Ÿ¡ŸŸ Ÿ£¤ Ÿ¡Ÿ  £ Ÿ¥¦¥¢¥¯²··»¿Àºº³½Â¹ÃÄǺÂÅÊÍÌÌÏÐÉÇÁ»Â¾ºµ¶´ƒj]TUNVerw€€„‘§©¢  ¢¨¨­­°³¹º¼¼ÀÅÆÊËÌÎËÇÏ—ÐÌÎÐÓÐÒÒÔÕÖÙ×ÚÔÕÖ×ÔÕÔÙÙÔœÓÑÏÐÒÒÑÐÏÏÍËÌÌÊËʺ­¦¥¥§§¥¤£žœºŸ¤¥¥¨¥§§¥¦¢¤¦¨§©©§¨¨©§¨©®´¹»½ÇÉÊÌËÑÐÐÓÓÒÒÐÏÎËÅÃÄÆÆÈËÎÐÏÐÑÑÐŽÏÔÙÛÚÝÛßÞÞßÞÝÞàÞ�ƒ…‚ˆ‚„ˆƒ„‡ˆ~{}€„†…€„†„„”~z|„€€~„‡††ˆ‰‰”˜”Ž‘—••ŒŠ…‡……ƒ„†„„‡‡‰‡‡†‰†„‡þ†……‡Šˆ…†‡†ƒˆˆ†…‹ŒŒˆ‰”™Ÿ¦¬¬¢¤œ¨®¡¯³¸¹¹¯°º¾¼À¿Á»·¯¥®¨¤  ›iQD:701;ITa\U^j…Œ‡ƒ…†ŽŽ”–œ¢¤¨¤¨®µ¸¹½Á¼¶ÀÂÀÁ»ÃÄÆÅÉÇÏÊÈÉÌÌËÌÏÎÇÆÆÉÆÊÉÈÆ‰ÁÃÁÅÆÂÁÀÀ¾ºÀ½¹º¦’‰‰Š‹Œˆ‡„€‚ŒŠ‹‹Ž‹†‡…††ŒˆŒŠ‰‹Š†ˆ‹˜œ›¡¨¨­³¶¸´·´³±œ­©¡œž ¥¥¢¦§¦©¨¥¤¥¤ª©«³º¸ÀÂÂÄÆ‚ÇÇÆÁ�£··¯¬²´¶·¹¶·µººµ´²´°¯´µ¸»·¸»¼»¸·¹¹¼·¸­¹¹¼¾½»¾ÀÅÅÄÌÓÌÊÉÆÃÃÁÄÆÈÂÅÄÄÈÐÈÄÆÂÅÁ¿ÂÃÁÀÁÀÀ¿À™ÂÁÂÂÃÀÂÄÃÆÃÇÊÍÒÛÛÒÏ×èïéæçèˆàâìêëìéîð‡íëèåâÙÔ͘ÎÌÉÆÈÈÊŸ|~„…’––˜¡ Ÿ¤±ÀÁÀ´ÅÁÆÉÇÇÃÇÈÅÆÅÆÈÉÉÎÑÛ×ßäçëêìïðïíññóôöö÷öõõôöõöôõööõöõõô§òñóôôòòððîóòóïÞÎÉÉÃÈËÉËËÎÍÌËÌÏÏÎËËÊÏÎÎÐѲÓÕÛÚÜáåäçêíîððïðòòõóðïñóïîíëééìðñóòòñðîíðóö÷øøúùúúù…÷öõöõöõ�ž™š’‘–˜š››˜™—››—™––’‘•–™œšš›œœš™Ú›™˜š™›š žŸ ¥¦¤ª¯©¨¦¥££¡£¤¦¢£¤¤§­¦¢£¡¥¡Ÿ¡¡¢ŸŸ Ÿ žŸ žŸžŸ¡¢Ÿ ¢¡£¢¥¨ª®¶µ®¬µÂÈÃÀÁÄÄÆ¿½ÉÈÅÆÃÈÊɆÆÃ¾»´°©•§¤¦¦¨ƒuachhrwwzƒ‚‚žŠœ ž¡¦£¢ ¤¥¢¢£¤¦§ª­´°¸»ÀÃÂÃÆÊÆÅËÌÌÓÖÖÕ×ÕÖÔÕÖÔÙØÓƒÔÑÏÐàÎÍÏÐÏÎÎÌËËÑÎËÅ·ª¥¤¡¥¦¤¥¦¨©¨¦§©©¨¦¦¥¨¦©««ªª«®¯µµ´¸¼ºÁÂÅÊÊÌÌÉÊÎÔÐËÌÏÐËÉÉÅÁÃÈÏÏÑÐÐÍÍÊÉÎÐ×ÚÜßáäáàÞáâàÝßÞ�™€ƒ~y€‚„…ƒ‚„}„…ƒ€}~{z{|~…„‚„ƒ…€‚†‰ˆ„†‰Ž“˜’ŽŠ‰ˆþŠ‹ˆ‹•‰Šˆ‹‰…‡‰Œ‰…ƒ…††‰ˆ…†ƒƒ…ˆ†‡ˆ‰Š‰’˜Ÿ•’œ­¹°®®±±°§¨¸¶´´±º»º¸´´©¥¥š”ŽŒ‹ˆ‹Œi]HGIGMQTXebX[h~‚~†ƒ…ˆˆ„ƒˆŠ‡‡ˆ†‰ŠŠ’š– ¦©®þ­°³¸³·¾À½ÅÈËÊËËÍÊÈÇÇÊÈÉÆÄÈÂÿÁ¾¿ÀÀÁÀ½¾½ºÂ¿¸±œŽˆ‰‡ˆ‹‰‹‰ŽŽ‰†…ЇˆŒ‘ŽŽ’š”—›  ¦§¦§ª©­±²²°­««¯¨¤¡žœ›ž¤¦¦¢¤ £¡ž£©°¹ºÀÃÃÂÄÉÆ†ÇÈÆÅÄÁÅÁ�þ¶¸±ªµ¹¹¼»º»¶¹¸±¹µ´µ¶³¸»·¸¹¼¹¼º·¸»³­±·º»¿ÃÊËÆÅÏÐÐÈÁÁ¿ÁÄÁÀ¿ÄÉÍËË×ßÞÕ×ÒÊÄ¿Á¿¾¿ÁÁ½ÀÂÀÁÀÃÂÀÂÁÁÃÁÆÍÎÈÈØÞÝÛãÞåâæëèêàæåííðñòñòíïâèåÛÔΫÈÃÃÅÂÄÄÂÃÅÅÇÆÆÈÌŸƒˆŠŠ”——œ¦¢¢£³ÀÃÅÆÂÁ¿ÅÈÈÆÄÆ¥ÇÇÃÇÇÂÅÆÈÈÅÆÇÊÐÊÌÎËÎßæòòõõööõõööõöô÷÷ö‹õöõõóðòóóõóôóóõóðæáãÝÓÌÎÌÍÌÑÍÐÏÑÏÑÑÐÔÒÐÒÒÑÖÞãçèééìëìïîðï›îìííëíììêííìëíðñòóòóñðñóõ÷øùø†úùøù÷÷ö�þ𛕙››Ÿ›œ˜›š”›™–—™•š›˜š›œšœ›š˜›•’™œ £©ª§¦­¬­¨  ž £¢¡ ¤©«©¨±º»±±­§¡Ÿ¡¡Ÿžž¡Ÿ¡Ÿ Ÿ£¡  ŸŸ¡ ¥ª«¦¦²¹¹¶º·½»¿ÇÄÄ»ÁÀÉÉÌÏËÌÍÇÈ»À¾´®ª“¥  ¤¡ ¡Ÿ ¢¤¦¥¥¦©…wjoàvzz~‡„ƒ‚ž  £ž›¢¤¤¢ ££¡¢£¡££ ¢¢£¤¢¡¢¥©£¦¨¥©·¿ÊÐÓÓÕ×ÖÖÔÓ×ÔÕ×ÓÓ×ÕÒÑÒÎÍÉÊÎÍÐÏÏÒÐÑÔÓÊÆ¾º½¸®©¨§§©¨¨¬© ª©«ªª®©ª¬¬©°¸»ÀÀÄÁÇÇÆËÅÅÊÉÈÉÇÆÈÇÈ¢ÉÉÇÇÈÉËÎÓÐÑÍËÍÐÔØÜÚÝààßßââáàáâáßßÝÜ�•‚†€y‚…†Š†ƒ‡€…†~„‚~{…ƒÅ„……‚‚vw„„‹Œ’–Œ”•—‘‰ˆ‡ˆ‰ˆˆŒ’‘’ž¤ž–™˜Žˆ‡‰‰†„‡Œ‡‚„†…ˆŒ‰‡„…„‡ˆŽ“‘Žœ£þ¦¡§¥ª·¯±¦°­¸»À¾º»¼··¦«¤™‘ˆ€„‡…ƒ†……††‰ŠŒk`STQNVY\`hdaZj„…ˆ€€„‡†ƒ€‡‰††ˆ…‡ˆ…‡……‡……ƒ‡‡‡Š‡Ž ªº¿ÄÇÇÉÅÌÊÊÉÉÇÈÈÇÄÇÄÃÀ¾¼¹º½»¾ÁÀÄ­ÅÄ¿·³¥¤©¦–ŽŽŒˆŽ‘“‘Œ‰Ž‹‹ŽˆŠ–šŸ¥¦£¥§¥¦¨ªª§¤¢§¦¡££¡£¦¤Ÿ ¡£¢¡¥¦¥  ¦­²¶»ÂÀÁ‰ÃÄÂÆÇÄÁ½¼»º�­¸¹º¸±µ¹¸¶µ··¹·¬³µµ²··´µ¶¸·¸¶»»¼¸¶»ÅÉÎÈÎÊÁÄÅŽÓ½ÀÀÅÉÇÍÌËÑÑÌÌËÉÅÅ¿¿Á¢Â¾Â»¹¹¸½¾¾¿ÀÂÃÃÂÊÐÏÔÚåèäãÛÞâãÙÙÛØÞãžïìîæëîîæÚÛÚÑÐÃÉÀÁÅžÂÄÃÅÄÂÀÂÅÅÆµÈ•Ž’ŽŠ–Ÿ§¢ ¦µ¿ÀÂÆÄÀ½¿ÂÅÈÂÆÁÄÃÅÃÉÇÈÉÈÈÇÈÌÉÇÉÆÎÓÙéìñõ ôôööõööôôõöö÷ööóôõôööõööõôóôòóóñõ´ôôöôìÞÔÎÑÓÐÑÒÑÓÕÓÒÔÕÖØÚáâäæëðïììîîìíîïððîììíëííìíïîñóðï•ðòõ÷øúùùøúúùúùùøùûúù÷öôõ�Í›œœ›–™œ››šš™›š–™—”™™—˜˜š™š˜œ››™œ¤§«¦ª©¡¢¤£ž¢¢£Ÿ¡ ¤¨¥«¬«­®«ª§¨£¥Ÿž  ¡¢ž£œš™™¹žž ¡£¡§«ª®¶¿Â¿¾µ¶¼½´²µ²¸¾ÀÀÉËËÂÈÊɵºµ®¬¡§  ££ ¢¡¤¢ Ÿž¡£¥Ï¨‚{vvxrosz€‰„…‘œžŸ£¡›žŸ¡¤Ÿ£Ÿ¡Ÿ¢ ¥££¥¤¤£¥§¤£¥£©­³ÂÄÊÑÔÕÐÕÖÔÓÖÔÕÕÓÔÓÔÓÒÍÌÒÎÏÏÑÎÑ’ÍÑÐÍÒÓÒÏÌËÐÔÑÆ¹¯©¬«Ê¬«¬¯««¬®±²´»¼»½ÄÇÈÇÇÉÉÈÊÊÇÈËÈÇÈÊÇÉÈÉÊËÌÌÏÐÏÈÇÈÉÊÌÏÔ×ÚÝÜßáÞßáãààáãàâáàÞÙÜØÙÚØ�þ…‡‰‰„‡†„…‚……w‚€{‚€}€„€……‡…€„Œ‹’‘”ˆˆŒ‹„ŠŠ‹ˆŠŠ“•–•˜——“ˆ‡…‚…ˆŠŠˆ‹„‚„„…‡„‡†‡‡Œ‘˜¢±´ªª£¡¥¦œ˜›™¡ª­¯¹½¿°·¼´©š¡œ”’‡Šƒ†‡²‚…†‡†„ƒƒˆ…ˆŽŒieb\ZTRT\cjd`_l‚„ˆ†‚„‡††…„†…‹‰‡ÛˆŠ‡„‰‰Ž”œ°°¹ÅÇÇÁÃÊÆÇÈËÈÅÂÄÅÅÂÀ»¼Á¼Á޾¼¾¿¼¿·ºº¿ÂÀ¼ºÁÍÆº¢”ŒŒ‘’’‘ŽŠŒŽ‘ššŸ ¥­«¦§¦¦¥¦¦©©§¥£‚¦¡£…¤§§¥¤•› ¦¨¬´¹¿ÃÅÃÇÄÃÁ¿ÂÄþ½„»ºµµ¶³�͵¶·¶¸¼¸»¶¶·³µ³²µ¶²¶µ³¶·´µ´¼¾ÂÈÍÌÐÐÂļ¿¾¼¾¼½¹ÀÅÌÑÏÌÌÑÉÊÄÅÇÁ½¿¾»º¼¾À¿Àµ¿¾º»½¾¿Á¿ÀÀÃÄÃÀÉÄÆÏÓÖÙàéìãáàÖÖÝÞãéïòõõîñìáÐÅÉÃÃÁÂÁÄÁÄƈÃÃÂÁ½¼½ÂÄ¥ÁÁÃÁœž•˜™“‰›Ÿ œ¢¦´¿¾ÁÃÂÃÅÀÂÃÅÄÉÅÃÆÉÆÈ¢ÇÈÇÉÏØÝáäìòôóóõöõöõôõõôõôôõöôööõïïô«òîðììññóòóöõõö÷ööõóööôëàÕÔÓÔÓÖØÔØÝßåéêêëìêëíƒìëëî‡ïïðñòòñó‰ôñîîììïôöù„ûùúøù‡úúøùøø÷öôôõ�™š„›žœžšþ•˜•”˜˜”˜—•˜š—˜•Ÿ¡¦««­®¢¡œ žœž› ¤ª±®ª©®¨¨¦¦¥¡Ÿ ž™œžŸŸ ¡¡žž›œœŸŸž Ÿ¡ ¢Ÿ¦¢¤«°²µºÀûºº²±¸¸½ÄÊÌÐÓÊËÈ»­£¦¤¢ ¡Ÿ£¡¡£¤¤¡¡ ¡œŸ¢¡¢›¡ ¢¡‚{}}vlq}ƒ…‘  Ÿ¡¢Ÿ †¤¢ £¥¢¤¿¥¢£¤©²·¹¾ÇÌÎÌÍÑÒÓÓÔÔÓÒÒÓÕÓÓÔÒÔÒÑÉÈÍÍÏËÉÇÃÆÎËÑÑÐÓØ×ÖÕÔÓ×Õ×ÑÐĺ¯®­™¯²®²µ¶¿ÄÆÇÈÈÅÄÆÇÈÊÉÆÆÇÉÉÊÉ‚ÌÎÏžÐÐÑÐÐÌÉÈÄÅÊÐÔÖÞàâàßßááàáããáàáà߆àÝÚÙØÚÜÚ�þ„„†‡††‰„‡„„€€}}€}‚€‚~z„‡Š‘•”•—…†ƒ…‡„……‡ƒ‰“š˜’‘˜Ž’‘މ‰ˆ‡…}††„ˆ‹ˆ…„ƒ††ƒ‡‡„‡„‡…†ƒ‹†‹”œ¡¤«²¤ ¡—•¡Ÿ¨³»ÃÀĽ½µ¥‘…Š……ƒ……‰…†‰ŠŠŒƒ……„€ƒ‰†ž‰ˆˆgleb_WNQ]`c_^^j€‚„…†…†€ƒ…€†ˆˆ‰†Š‹ˆ……‡×ˆŽ”œ§§³½¿¼ºÅÉÅÄÆÆÃÆÃÅÇÿÁÂÁÂÀ³¶½½Á¼±µ¬®´¶º¸ÁÃÆÊÆÃÃÆÍÈÈ¿À±¡”“‘Œ•Œ’”–šŸ ¢£¥¡¢¤¦¦§¥¢¤¡¤¦¥­¦§¦¨«¨¨ª¨§¦ ˜••˜£±··ºÅ¾ÁÄÃÁÅÄÅÁÀÂÁ¿¾º¹¶·¹¸´´¸µ�ȹ¸¾»»··´¹´·¸¸µ°®±³·»º¼ÀÄÇÖÏÄÄ¿¾¼½¼¹¹½½¼º¿ÂÄÊÐÐÌÏÇÈÁÁ¼´½¼½½¾¹º¼½¾½Àþ½¿À¿¶¿Á¿ÁÀÀ½ÀÃÈÄÅÂÁÆÄ¿ÁÆÅÈÒÜæîðéçîêâÚÑÐÇÌÇÄÃÁÂÁ¾ÁÅÅÄÄÃÿÀÃÂÃÀ¿¾»»¼ÃÆÂÃÆ£žš¢¦¦šš¢ £Ÿ¦§´¿¿ÅÃÃÄÃÂÃÅÃÀÃÄÆÇÅÇÄÃÇÈÇÆÍØåëïîôôöõ÷óëõöõ†ôõõööõöõööõôööõðæãëö÷Šööõô÷÷õö÷õ÷—øöðêáÛàäéìíìëëììëîðîîìíì˜îëëìííðñòóöõõôóôóññíïòöøú„ùùúúù‚úúùøùø÷öõ�Š› šš˜œ—š†˜“’’”™œ¯¡¤¦³«¢£  žœšžœ› ¢¤¨­­ª¬¨§  ž—›žœœžŸ žŸþ¡¢¡ŸžŸ¡ŸŸœŸ ¦¢¢Ÿž££Ÿ ¤£¦®¶¾ÅÇÁ¿Äý·­­¥©¦¢¡ŸŸ¡žŸ££¢£Ÿ¡ŸŸ  ¡¡¢žœ™›šŸ¢ ¢¢‡|ƒˆ‡{{„ƒ†……ž¢¡Ÿ¡¡Ÿ¢¢žœŸ ¢¤¢£ Ÿ¢¤££§²¾ÃÅÈÏÍÑÑÒÐÃÏÒÒÑ‚ÒÓÒ¢ÏÐÑÒÕÔÓÑÐÑÏÏÐÒÑǾ½ÃÒÔØÖÓÓÒÔÕÒÐÑÖØÖÒÎÇùµ¸½ÃÃÇÉÅÇÇÈÈÊÌÉÉÈÇÉÉÈÇÅÅÇÉ‘ÎÏÐÕÔÓÒÒÏÎÍÌÆÊÎÔÚ݉ßáãáàáâàßá߉àÝÝÞÞÝÙÙÜÜÙ�þ‡‡‰‡†„‚„}ƒƒ€{yz|‚…„…‰Žš”‰‹Š‰„†……‚…‚‚ˆ‹Ž’––”“‰ˆ‡zƒ‚„„ˆ„ƒ…‡…„‡‰…‡ˆ†‡ˆ‰‹††‡†„ƒ‚††Œ†‡†‚†‰‡‡‰‡Œ“™¥¯°®©³°§Ÿ‘‡Œ‹‡†……ƒ‚ƒ‡‰Š†„ˆ‡ù‡„ƒ„††„~|~ƒ‰ˆ‡‰lgcfifX[c`e`^]kˆ†‚ƒ„‚†ƒ{„†ˆ‡‡†ƒ„„†‡‹™¦­²¶ÂºÂÅÄÀ®ÁÄÄÂÂÿÄÿ¿½¿Á½ÀÁÁ¾¾ÁÅ¿°¦Ÿ«½ÀÃÅÈÄÂÃÄÁºÀÆÇÆÁÄÆ¿´­ž˜›¢©º¥¢ ¢£¢¥¨¤¥£¦¤££¥¢Ÿ¤¤¦¨¬­®«¬¨§©¤ ™›¦°´µ¼¼º½Â¿¿¾¿ÂÁ¿Â¿½»»¸‡¹¹¸ºº¸¶·´�êµ·º¹º¸¸·¶°µ³·²³¹¸ÄÀ¾ÅÇÊÑÊÈÈ»´¹¶º¾ÅÊÅÇÄÅËÇÃÀÁÁ¼¸¼¾»¼»½¾¾½¾¹¸¼½¿À½¿À¾¿ÀÂÀÀÁÿÃÂÀÂÃÂÀÃÃÄÂÃÄÅÁÁÃÅÃÂÇÉÎÐ×ÐÝÙÒÇ÷ÀÁÀÀÃÄÅÁÀÅÂÄÃÀÃÅÁÃÄÂÃÃÂÂÅÀ¼º¸¼¿Ä§§¢¡ª«¦¤£ ¢ ¥§¶ÂÅÄÅÆÆÃÅ•ÈÿÃÈÈÇÇÄÁÆÄÎÛáëïïíðîí„îïÚàíïî¤êìèëîìïìíêíëååèééçæåææåæåæéäèêêëíëêêé îòóòôóóïïîïïìëìíîïíìíìííïíððñòõõö•ôòòîñðòõõ÷øùúùøùøøùøùøùø…ùùøùøù„÷÷õöõô�Åšœ››šœ•™–™••š˜¢ ž¤¦¨®§§¦¡ž˜œ™Ÿ¥ª£¥¤¤©¦£¢¡¡›žŸœž›žš›žž ŸžžŸžŸ ´¡¢ž¢¡Ÿ¡¡ŸŸ¢££¡£¢¤¡ ¢¤¢¡¤¦ª¬±«¶´®¥¢¡ŸžŸžŸ ¢¢  £¡£¢ ¢¢¡ ¡þŸ¡žœ™˜›ž¢Ÿ‹‰‚‹Œ‡†‡„†ƒ…†’Ÿ¢¡£¢£¢£¤¤£ ›Ÿ¤¥£¤¡ž¡¡¨³¸ÁÆÇÄÆÅÄÈÈÆÉ±·ÄÆÄÈÊÉÈÂÂÀÂÆÈÇÅÈÅÈÄ¿¼ÀÁ¿¿À¿Á¿Á¿½¾Â¾ÀÂÄÄÆÆÃÂÁÁÂÈÊÌÍÍÌÐÍËÍËÌÉÈÉÉÊ‚ËÉȦÊÉËÊÌÍÐÑÔ××ÖÕÓÏÍËÌÍÐÒÕØÛÝßÞßßÞÞááàßßÞÝߎàÞßÝÞÞÝÜÝÝÜÚÙØÙ×�؆‰†‚…„ƒ„ƒy}~~‚Šˆ†Œ—‹Ž‰†„‡€††”‹Œ‰‰’Œ‰‡‰†~‡ˆ†…„…„‚€…ƒ‚†„ˆ‹†„ˆ‡ˆ‡ˆŠˆˆ‰„‰ˆ……††„‡Š‡…‰ˆ¨‰‡‰ˆ†ŠŠ‘–“š•Šˆ……€ƒƒ……‡‡„‡Š‡‰ˆ‚†ŠŠˆ„ƒ…„…þ‚~z{‚…„…pmccljdefcd__`o‚†‡†‚ƒ‚„„‡ˆ~‚„…‡†…ƒšžª±²°·±¬¯®²±‘Ÿ­«±³¯°°¬­¨ª­ª±«¬ª²ª¡¢§©¤£¡¢¤¥£¨§¥«§«ª¦«¯«¬­ªª¨®¶´³¸·´°¬ª¨§¤¡¤¥¤¥¤º¢§¥£¤§¤¥¦¨¨©°²¯ª§£Ÿœ¡ ¢©©¯²¶¹µ¶ºº¸»»¾»·¹º¸·¹¸º¸¸¶·µ¹º¶·¸µ°±°�†µµ¸³°¶»ºÃÇÄÄËÇ»¾º½Èû¾¸­¿Â¼ÄÎÏÐËÆ»½À¾½¼½½¾¾½¹½¾À½¼¾º¼¿¾¾¼¾ÀÁÁÀ¾ÁÁÀÁÀ¿À™½Ã½½Á¿¾ÁÁÃÃÄÆÅÅÃÁÆÉÆÆÅÃÄÀÄ‚ÃÃÁ‚ÃÃƪÄÃÄÆÆÇÅÄÅÆÄÄÅÁù¼¿ÃÀÁ½»½»¹§ª¤§§¬«ª¦¢¡Ÿ¡¦¶Ã…ÅÆÄÂÁÆ•ÄÃÆÄÇÆÉÆÅÆÇÉÎÏÏÌÏÊËÍÈÛÇÅÁËËÍÏÊÉÉÈÊÊÌÊÍÍÉÇÉËÇÎÉÊÊÐÎ¥ÐÓÐÒÐÒÕØØÜßÞàÞÜáèëîñóôóóòòïïððïííìîíîï†ððòòôõöõò†õøùúúûú„ûùúøù„øùøùø‰ùúù÷÷õôôóõ�˜™š›—”›žž ž¤¥¥¤©¦œŸœ¦£›𠥡¦¬­¬©¦œž žŸžŸžžŸŸ›žŸ¡žœŸ›žˆŸ ¢¢¡ž¡ ŠŸœ¢ Ÿž¡¡¢¥¦¥£ £¦¤¥¤¢¢ž¢Œ ¡  ŸŸ  ¡¤£¤¢‚¥¤¥£Š ¢ ™šœ¢ŸŸœ”™‹†ˆ‡Œ‹‹‰……€ƒ†” ¢¢£¡¬¥¢¢¡ £¡££¦£¡£¤¦©ª«§ª¥£§¢šŸ›¤£¦©¦¥¤¤¦¥¦¥¨§¤‡¦£§¤¥¦ª©“¬«®ª¬°±±µº¹¸¸¶¹ÀÄÊÑÒ…ÏÊÌÎÌÍËÊ ËÊÉËÏÎÒÔÖÖØØÙ×ÕÑÐÎÍÐ×ÛÞßáààáàáàáà‚ááß…ÝÞÝÞßÞÝÞ„ÚØÖÖÚ�¸ƒ†„}{„†‡‰Œ‹“Ž…„„ŒŒƒ€€‚‡ŽŠ““’‘Žƒ…‡„ˆ‡‡„„†ˆ‡ˆ‹‡ƒˆ…˜†ˆ‡‹Œˆ„Љ‰‡…‡‰‡‡‚Š…„†…ƒ…‡š†‰Ž‹Š‡ˆ‰‹ˆ„…‡‚ˆ‰…„ˆ††„ƒ…††‡Œ†ˆˆ‹‹Š‰‡ˆŠ‹ˆ†þ„~}„ƒ~{~}}oofihihihdb\^apƒ‡ˆ‡†ƒ‚‡……†ƒ…„…ˆ„„…ˆ‰Œ‡Šƒ„ˆƒz~z}yw‚‚ˆ‰…‡ƒ„‡„…„ˆ‰‚€‚ˆ„†„…‡ˆˆ‡ˆŠŠŽ‹Ž’’”–——›—•Ÿ¨«¬¯²³²³´°ª«¬«§¥£¤¾¥£¥¦¥¨¨§§ªª¬¯®«­¬«£ ž¡¦­²·¸»º¸º»¼º¼¼º¸º¸º¶µ³·¶··³¸¶·¸º·¹¶´²°®®´µ�ϲ¯½ËÚçáÏËÍ×ÑÓÆÑů«°·ºÄÅÂÈÇÀÎÌÃÂÀ»À»»½¼¿½¾¼¿¾»¼ºº¿½¿À½½¼»½¾¿¾¿À½¿ÀÀÁÂÂÀÂÁÃÄÿÁ¾¾¿‡¾ÂÄÆÄÄÃĤÃÃÆÄÅÃÃÁÀÿ³¼ÂÄÃÄÂÂÄÅÆÆÄÄÅÂÅÄÃÅÅÄÀÄÂÁŸÀ¾Áö¶¾¿¿±¬¦ª­­¬±©¤ žŸ¨·ÂÃÄÆÂÈÅÄÇÈÆÆÇÆLJÅÅÄÇÈÅÇÆ˜ÄÆÄÇÈÇÄÃÅÇÆÊÈÇÅÅÉÈÉÈÆÊÊÌÊ›ËÌÍÍÎÑÒÑÒÓÓÕÕ×ÚÛÞÞàÞãèíñóïîíï‰îìîííìíîïð‡ññòóôöö÷‰öõõö÷øùúüûúúüúûúûûúúùùúøƒúùúøŠùùø÷öõöõöõõö�­–”žª·ÅÀ®ª«²®¯¥­¥’Ž“˜š¤£¡¦¦ ¬¬¥£¡Ÿ››œ›žŸœŸž›œ‰Ÿž ¡žžŸŒ Ÿž¡¢  ¡¢  ¡£„ž¡žžŸ…ž¡£¤£¤¦£¢¡¡£¡¡¢¡  ¢ž”› ¢¡£¡ £¤¤£¢£¤¡¢¢ ££¢ ¢¡Ÿ¨žœž¡ ¡–—žŸ“ŽˆŒ‹ˆ†ƒ}‡• ¡¢£Ÿ ¢ ¢ ¢¤¢¤£­¢¡¡ ¤¤¢£¢£¢ ¡Ÿ¡¢ ŸžŸ¡¤¤¢¡¢¥¤¤¢¢¦¥§¥¤§¥¤¦¨©©ª«œ¬®¯¯°³´µ·º¹½ÃËÌËÊÍÎÌÊËÎËÈÉÊÈÊ£ÍÍÎÌÌÎÏÎÑÕÖØÚÛÙØ×ÖÖÔÖÖØÛáâàßáâáäãââá–ÞÞßÞãÞÝÞßàßßÝÜÛÚÜÜÛÛÙÝÞÝ�þ}…”¢µ°˜”’–š•‹wpxŒ‰ˆŽˆ–”Š……„…„‚…„ˆ…‡…ƒ„„‚††Š‹ƒ†ƒ„‡‡…ˆˆ‡‡‹‰‡‡†Š‡„†Œ‹‹…Ї……†ƒ‚‡ˆŠŠ‹Š‰ˆ‡…ˆˆ„…†…‡Šƒw‚†‡…†…„‰†‡†‡‰‡‡ˆˆ†ˆŠ‰…®‡…‡…†„|}‚€…wt€„„wplnmkgmfc^X^eo…‡‡…ƒ‚„†„„‡……‡†ê„‚„„ƒ„……‚‚€€ƒ|z}‚„ƒ€…ˆ…‚‚ˆ†…‚‚„†‡†ˆ‹‰Š‰‹ŽŽ”š–™“•” ¦¨±´°ª©§©ª¨ªª¥¨©©¦¤¥§¨©¨¦¦¨©ª®­°¯­©¨©¥¨¨®°µ¾¾¼½¡¾¾¼¼¿¾½¼¹¼ºº¸µ·¼»º¶µµ³´¹¹¶³°²¶¶¸¹º¾�þÖÚáçíèÛÛÔʾ»¹··¸·¾ÏËÇÉËÁ»À¸¾À¸¹¸¸¹»¹»¹º¹¾¸¾¾¼¿»¹»½¿Â¿Â¾À¾¾¿Â¿¾¼¾¿ÂÁÂÀ¿½¾ÂÁÁÀÀ¾¿½»º½¿ÃÁÃÁÃÄÅÃÅÄÁÂÁÅÄÁÅÆÃÄÂÃÅÄÄÁÇÅÆÅÆÄÅÃÆÅ¿ÃÅÅ¿‚ÂÀ¾ÎÀ¿¿½»··¼¿Á¿³®¥¨°±¬°«¨£¡¦µ¿ÀÄÄÃÅÀÇÆÆÈÇÆÄÆÇÆÄÅÄÅÆÄÄÅÆÆÇÄÈÇÇÆÈÈÇÅÅÀÉÈÀÂÇÆÊËÊÌÊÉËÍÂÎÏÑÑÔÔ××ÚÛÜÜÝàäèëïîðñóôöòïïíïðîìåéìîììîîñòôôõööôõõöôôòðòööúùûùúûúúû‹úúùúûùúùùúúùŒúúøùø÷÷øùø÷÷ö�ž´¶ºÁÇĹ·°¨ œ›˜˜š™œª§¤§©¡œ šŸ¡œš·››œš›š™ŸŸžœ›œŸ¢ ¢ž  ŸŸ¡ ŸžŸ  ¡¡ Ÿœž¡¡  ¡¢ž žœ™ž¡ ¢¡¢Ø¡¡ž  ¤£¡£¢ ¡ ¡£¢¢Ÿ¤¢¤¢£¤¤¢££ž¡¢£ž žœœœœ›˜–›ž Ÿ“‡Š‹Žˆ‰„}‚†’ž  Ÿ¢Ÿ£¤¡¤£¢¡¢£¢¡¡Ÿ ¡¡ ¢”£ £¢¢ £¢¡  š¤¤ž¢¤¦§¥ƒ¦¨§¨™§©©««­­°¯±³µ¶µ¸¼ÁÅÉÉÎÎÔÒÏÍÌËÊËÌÊÂÄÈÉÉÈÊÎÎÐÑÓÖØ×ÔÖÕÕÑÑÎÊÍÕÙÜÝÞÚÝáààßàáãâáàááßàááãáààßßâßÞßßÞÝÛÙÚÛÜÞÝÞÝÛßàÝ�䣤ª²µ¯¦¥›ˆ„‡|~‚“‘‰‚‡‡‡„‚‚„ƒ…„}€…€‡†…†ƒ‚‚…ˆŒˆ‰…‰ˆ‡ˆ‹ˆˆ‰‰ŠŠ‡†ˆ‡ƒ„Šˆ‰‹‹Š…‡…€}ƒ‡ˆ‡‹‰ˆ‡‡ˆ††ƒ„„‰‰ˆ˜‡‰…†‡„„‚‰†ˆ‡ˆ‰…‡ˆŠ‚†ˆ‰„„ƒ¢‚€|}|{{y~„‡…xqijonfkcc`Y^`l}‚„‚ƒ……þ„†„„‡‡…ƒƒƒƒ……€‚„„ƒ‚}……ƒ~{‚ƒ~~‚„†‰††…ˆ‡‡†„„‡Š†ˆŒ‹Š‹•––””™ Ÿ¤¦©¯²°±´¸²ª¨¦§ª¨¦Ÿ ¥¨¥¥¢¥§ª°¯¯²¯¨¬¨¦¢ŸžšŸ¨©±³µ´·½º»»¹¼½¼ºº¹ºº¹¸•¹¼º¼º»»½¼»¹µ´²´³´·µ´¹¼¿�ØÞÒÆÊÇÀ¶¸³¹¿Ä¿ÀÉÈÇÀ»¸µ°¶´·º¹¸¶º¸º¼¹»¼º¹º»¾¼¾»»½»¹¹º½¾½À½ÁÁ¿¾ÂÀ¿¿ÀÁ¿¿ÃÁÃÃÁÃÃÁÂÄÁÁÃÁÃÁ¿»¼¿¿ÀÆ¿À¾ÂÁÂÄÂÁÃÃÅÂÁÄÃÃÂÁÃÅÄÄÆÂÃÅÿ¾¿¿ÀÅý¾±«±¶¿ÁÄÅÃÃÀ½µ­¤£®³­¬¨¨¢Ÿ¥¦¶Á¿ÆÄ¾Ç£ÂÂÆÅÄÄÇÆÃÅÃÆÄÇÆÈÈËÊÌÈÆÉÊÇÅÆÃÅÈÅÆÄÆÌÍ¡ÎÌÍËËÍÍÏÒÐÑÕÕØÙØÛÜÝÞàâæçìóõõöö÷ööõƒôóðîíØÜëîîïïòôøùúüûûú‚øù÷ù“úúùûúúøùúúûûùúùùúúùø•ùúùøùøùø÷øøùùûûùø÷ö÷÷ö�®º¯¥¨¦ ™š—› £¡ §§¦Ÿ›˜–’˜–š›š™—œššœššœšš›œž››œ›§œœŸ  ŸŸ ¡ Ÿ  žž  ¢¢¡¢¡ ¡¢Ÿ ¢ ¢Ÿ›šŸ Ÿ›žžœŸŸ ¢  ¡ ¡Ÿ ¡ ¢ŸŸ££¢£¢¡¡¢ ž¥Ÿ¢ œœ’• ¢£¡  ž–Ž……Ž‘Œ‹…‡‚€…„“Ÿ¢ ›££ ž¡£¡¡£¢Ÿ ž¡ ¢¢£¤¦¥¦£¡¢£  ¡¡£  ž¡§¨©¦·§¨¨§ªª«®­°³±²³´´¸º¾¿ÃËÐÒÓÒÐÔÑÕÒÎÏÎÌËÈËȵ¸ÅÈÊÌËÐÕÚÝàáâßÝÜŠÙ×ÖÕÔÖÚÜÜÞÜ‚ÞßÞ…áÞÝÛßÞšÜßÜÜÞßÞßßÝÞÞÜÛÜÝÜßààßßÞÞÜÜÝÜ�ߣ›”Œ…‚ƒ€„ŠŒ‹‹Ž’ˆ€}w}‚‚|„ƒ‚…„„}}…„‡„„†ƒ„ƒƒ„‡†ˆ„‰ˆ‡ˆ‹ˆ†ˆˆ‹†…†ˆŒ‹Š‹‰ˆ‹Œ‡…І‡……ƒ…ˆ‡ƒ‚„…ƒƒŠ††„„†ˆ†„††„¾‰‰‡‡Š‡ƒ„„†€ƒ„ƒ„…‚rksx„††„††„|pggorhf`b_^c]k€‚„‡ƒƒ‚ˆ„„……ƒª„ƒƒ…†‹„†„„…‚€‚‚}„‚‚|‰‡‰Š‰‡†„†‡†‰‹‡‰ŠŽ’‘‡••˜œœŸ©³°¶´¼º¸²²µ³¯¨§§¨¦‘–¢§¥¥¦©¯´ºÁÁ½½¶´¸²®¦¤¦ª°²¯±´±´µ´³™´¶º¸¶´´·¶µ²³´²µ··¹º³³´¯°³»ˆ¿¾¿¾»¿½¼¾¼�¥°¯¯¶µÁÆÊÄÀǼ¹··¹µ°²µ¹»·´¸º»¹»¼·¼¹»¼¾¼‰½½¾¼½¿¿½½À‚¾ÂÀ£ÂÃÁÄÆÁÁ¿½ÂÂÃÃÂÄÁÃÄÂÃÄ¿ÀÂÀÁÁ¿ÁÂÁ¼¾¿¾½Ö¿¼ÀÁÀÂÃÆÄÄÅÂÁÄÃÅÅÄ¿ÁÀ¿»º¿ÀÀÁÀ½À¿¼·¬¶¾¿À¾ÁÄÀÁÂÀ²­¡ž©£¦§¤¡£ £§¸ÅÂÆÅÀÆÇ¿ÂÂÄÃÀÄÅÁ½ÂÂÄÀÃÇÆÇšÈĽ½ÃÂÁÄÈÇÊËÎËÌÎÍÏÌÎÎÏÏÑÓѨÓÔØØÕÙÞáæéêìîíðòñõôôõöôòðòñïîîððìððòôöúüû‡úùúùûùûúû‡ùûùùûúûúƒûúúù„øùøúùøŽùûüûûüüûù÷ø÷øø÷�±“’”™—¡¥¨¤ ¦¡žœ˜™™—“•—™›˜—™››˜›œ™œ›œžœ›œ›œžŸŸžŸ©ž  ¡ Ÿ ¡ £¥  žœŸ¡¡£¢¢ ¢£  ¡žŸ ŸŸ žž  ›žœ‹›žŸ¡¡£¡¢¡ ‹££¢Ÿžž™˜žžŸ×Ÿš––ž ¢Ÿ  Ÿ•„‚‹…†ˆ…‚„„…”¡¡¤ ž££Ÿžž¡¡  ™žžŸœŸ£¡¡¢¡£Ÿž˜šŸ ££¥¦¨§§¨©©§¨¨©©ª«ª¬Š­°°¯±µºÀÃÄǦËÍÍÒÒÏÒÓÒÏÊÌÊÊÉÊÌÌÉËÌÎÒØÛàßàåäáßÝÞÛÝàÞÝ”ÞÛÝßÞÝÞßßÝàßàÞÝßÝÞÜàÝÛÜ’ÝÝßßÛÙÛÝÞâãàâääááàßÝÞÝ�®y{}‚‹Ž‘މއˆ‡€…v}~~‚€„|„…‚„„„…‚††…††…‡†•‡‡ˆ„ˆˆŠ‰‡ˆˆ‡‡‹ŠŠ„ƒ…†Š‹š‡ˆ‰‡……ƒƒ…„‡‰‚ƒ……~…„ƒ‚€‚…¬ˆ‡‡……†‡†‹‰†‚†„€||„‚„„‚€zmt€‚ƒ‚‚„€‚†…~vfdndÉb^a`bak‚ƒ…ƒ€‡…€~}…„ƒƒ‚|ƒ}|ƒ„„‚ƒƒ‚x{€~|ƒ„…„‡‡†‡‡‰†ˆ‡‡††‹ŽŠ‰ŠŠŽ“™ž¢¶§§¬¯©±®°²³®ª°¬ª¨§©ª§¥«¦¨­³»¾½¿Á¾¸µ³²µ²µ³±³³µ·´´³µ·¶µµ´Š¶··¶´´µ³²°±Œ³¶¶³²°°³µ¹»½¿‡ÀÀ½½ÀÂÁ¾�¯¼ÅÅ¿¾Ãɾ»¸¿»·¹¶´·¹±³¶ºº¹º·¹¼ºº¸´¼»ºº¾½¼¼¾¹·¹¾¿Â¾™Â¿¼Ä¿¾Â¿Á¿¿ÃÃÂÁÁ¾ÂÂÁÂÁ¾ÃÀÚ¾ÀÀÁ¿ÂÂÁ¿ÀÄÃÂÂÁÁ¿ÁÀ¸¸¹¾ÃÆÇÆÄÃÂÁÁÀÄÃÀ½½¼½¾¼»¾À¿À¼¼½½·»¾¿À¾¿ÁÁÃÃÀ³¬¡ ¨ ¡¥  §£¥©¶ÆÂÅÄÁÄÃÂÂÄÂĵÅÄÀ¾¿ÃÁµ·Àð½ÂÄÅÅÆÉÈÈËÍÏÍÎÐÐÏÐÌÑÍÐÎÐÐÏÒÓÕÖÖÔÖÛßâèêêìëì íîðëïîîñððñîðññðòòôö÷÷öøúûüüûúûúû†úùøúûüûúû‰üûûüýûüûûú…ùúùøùøƒ÷÷ùú†ùúùúùø÷ö�—¤¥ ž¤§Ÿž› ›œ˜–™š”–—š›š›œœš–œœ››œœŸ˜šžž¢¡ž¢žœ¢ŸŸ¡žŸ‰¢¡ ¡¡žŸ¡ ¡‚ž¡ ‚žžŸª¡  žž¢¡Ÿ Ÿ žŸž™—™ž¡£¤¤£¡¡  Ÿ¢ Ÿœ››œœ››Ÿžœß—šžŸžŸžŸŸ ¡¡–……Š„ƒ‡„ƒ‰††‡’£¡¢Ÿž¡ ŸŸ Ÿ ¢¡¡Ÿ› œ’•œšž ¡ ¡¤¤£¦¨©¨¨««ªª§ª¨ª©ª«ª«¬®²±®°³¶½ÃÄÆÇÇȇÉÉËÉËÊÊÍ¥ÏËÊÉËÍÏÎÒ×ÜÞÚÛßàâãáäãäâáàÝßààÞßßáÞßâàáŸãáâáâäáäãáàãáàßÞÝÞÝÜÛÝÝÚÖÚßßâàßá…àÞßÞÞÝ�»…‘Љ‡ˆ‚†ƒ…†€„ƒ{~~‚ƒƒ…‚€ƒ„„‚…‚‚…‰ƒ~„‡†‰‰†‡‹‡‰†ˆ‹†ˆ…­Š‹‰‡„„‡ˆ‰‰…‰‡†„…„‚ƒƒˆˆ…ƒƒ‡†…‡…„ƒ„„z‚ˆˆŠŠ‰……†Û‰†ƒ~‚}€‚}‚ƒ‚~ƒ‚~z|}‚„„ƒ€†‡vghnbcdbbgffck„ƒ‚…ƒƒ~ƒ†……ƒƒ{yot{}i}€‚ƒ‚…†„ƒ†‡ˆŠ‹‹‹‰†‰ŸŠŒ††ŠŽ‹Ž”—š ¡£¥¢¡¤¢¡¦¦ž¤£¥¨§©¨’ª«©«¬¯·¼·²»ÅÈÂÀ¾¿½ºŽµ´µ±¶¹¶¶·¹¹¸·¹½¾Á½»¼À»½º»º¸³µ˜²³²³¶°°¬°´¸º¸¸¹»·½½¿¼»¼½»º�¢¿Â½¹·¹··ºº·³´µ¶»½½·¹·»»¼·¹»¹¶¶·»¼¾¹¤º»¼½´³¼¾½ÀÀ¿¿½¿ÁÁ¾Ã¾»ÃÀÂÁ¿¾½¿¿ÁÁÃÀÄÁ¿÷º½»À¿ÀÂÿÂÃÀĽ¿À¼¿¾ÃÀþ»»¿ÂÄÄÂÃÃÀ¿¿¾·½ÂÃþ¸»¶º¹¾ºº¶¶»ÂÀÀ¿¿ÁÀÂÃÁµ«££¦› ¢¢¡¡¨§²ÂÁÃÂÁÄÅÄÈÆÅÃÇÆÂ¿¿ÂÁ¼À¸µ²±¸ÇÇÉÌÎÍÌÌÍËÏÒСÑÒÓÑÓÒÒÑÒÓÔÒÕÕÙÛâçññìííïðïîíïîíîìëƒìëîï‡ñööøûüüûü…ûüûüüûüû‚üüûü“ûüüûûúúùúùúùøùøøúùùøƒùøùø…÷ööõôõ�¢Ÿ¡žœš›™šš•˜™˜œš›—œœ›˜›œ›š˜™œŸšˆŸ˜•Ÿ¡×Ÿž¡¡ž¢Ÿ›£ ¢ žžŸ Ÿ ¢£Ÿ¢ Ÿžœšœ› ŸŸ¡¡ž ¢Ÿ£Ÿ›ž¡Ÿ¢ ž››žŸ¢¤¡¡¢žž—œž  ˜™•š˜››š——šŸŸ  žŸ²¡Ÿ¡˜††Š‚„……„„Іž  Ÿž¡¡ ¥¢ Ÿ££ žš–“—£¤¦©©§¨ˆ¦¨«ª««­­¬ƒ«¬¬®µ«­¯´·½ÂÌÌÉËÊËÍËÊÉËÊÇÈÈÆÆÅÇÆÊÌËÌÏÔ×Üàäææåáßãááâãââäååâáäá…âßàâäãåã„âäããáâߘáßÞÝÜÞÞÜÜÝÞÝÞÞÝÝßÝÞÝÜÜØÖÚÜ�±‡Œ‡……†‚‡…}€‚„…‡……‚ƒ‚€„„‚„ƒ†~€€„„ˆ|ˆ‡…‡ˆˆ‡¶…†„‰‡‚‹‰‹‡‚…‡‰ˆ†‡‹†ˆ…†‡ƒ‚‚‡††…‡ƒ†‰„‰„…‚ƒˆ†……~…†ˆŠ†ò„ƒƒ{€„‚€{}xzz‚xy€„€„…ƒ~ƒ‚…„†€ujkocabeeccg`j€ƒ‡‡ƒŠ‡……‡…ƒ~€{{ssooy†‡‰‹Œ‹Œ‰Š‰ŒŒŽŽŠŽ‹ŒŠŒŒ‰’–š¡­«¦¥£§§¤£Ÿ¢ œšœ¡ ¤£¤§®µ³ºÀÆÇÇÀ¼¼ÀÀ¿½¼¡»¿¾¹ºº·¹¼¹º¹¹»»½½¼½¾À¾½¾¿Á½½¼¿½¸¶¸¹¶”´²µ´²°³³²´µ¶´µ¶ºº¶³¯´¸�ˆ°¼¾¼¹µµ¸¶‹´´¸µ·¹½¸·»º¸ƒ¹¸º¹†¼»¹·»½¾¸À¾¾¼¾¿¿À½¾ÀÀÂÂÀÅÂÁÄÀÄÁÿÀ¿ÁÂÁÂÀÅÁļ¶µ·¼Á¿ÂÆÅÂÃÀÃÿÁÂÂÀÂÄ¿Àþ‹»¸¸»¾º¾¹»½½¸œ»¼¸±¶´¹Â¿¿¾ÀÁÀÂÁÀÄý°§¢¨  ¢ª£­©µ½ÀÄÅÄÄÆÅÇÈÆÁÄ¿¾¼»¹ºÂ¾º¶ÃÌÍÊËÌËÌÊÏÐÎÏÐÑŽÒÓÒÓÖÕÔÓÐÑÛäéïó‚ñîð†ïðñððïíŠëíéêëìðó÷ùü‡ûûúùúûúûƒüüúûƒúüüû‚üüûƒúúûüûúŠûúûùùúùøøùø…ùøùøöõôõö�¿‘Ÿž›——šš˜™–—𗙛𙛛™™˜šš››ššš˜›œžž žžœžžŸŸžž Ÿ¡£¢£¡ ¤¡£¡¢ŸÞ ¡ £ ¤ £––—œ¡Ÿ¡¥¢  Ÿ¢£¡žŸ¡  ¡ ¡  Ÿž¡œžž›——šœ™œ—šœœ––•››˜“–•š žžŸžŸŸ ¢”„Š…‚ƒ…„……ˆ’›ž¢¡˜£¡¢¤¢Ÿ žš™—˜ œ˜”Ÿ©¨§§¨§ž©ª¨©©ª¬ª¬­«¬¬¯°°­««²½ÃÊÎÏÐÑÏÌÏÌœËÌÊÇÆÈÅÇÂÄÆÈËÓÙàßäãâäæçãààáßàá»ããáâäâåââãâààãäàáäåâãäãââåããâááâáàáààßßÝßÝÞÜÜÞÝßÞÝÞßÝßÛÙÙÖÕÚÜ�Ÿv†‰‡„€‚ƒ}€„‚‡†„„~‚‚ƒƒ„Ÿ}‚ƒ„ˆ†‡„„ˆ††…†‰ˆ‰‡…ˆˆ†Œ‹‹ˆƒ†‡æ†Šˆ‰…‹‡|{|‡†‡‰ˆ…††‰Š†~…‰†ƒ‡†ƒ„„ƒƒˆ€‚ƒ||‚}‚|z}|yyxy~zx|w}„€ƒ†‚‚……€yqfingbbdedbido{€‚†‡…€„‡†ƒƒ€|x~|{t€ŒŠ‰ˆ‹Š‰Œ‹ŒàŒŠŽŒ‹ŠŽŒ‰Š“Ÿ¦«°®­¬¨¦©¤¥¤¤¥¤¢  Ÿœ˜££¦¬¶ÁÂÀ¿ÁÃÁ¿»¹¹¶¹¸·¸¹¸»½»¸ºº¹»»¼¼·¸º½¾½¸»½»¹»½¾ÀÀ¾º¾¿»·ºŽ¹¸¸·µ´³µ´³³²³³´µƒ´²®²·�¦¥º¼¿¼¶µµ¹´º»º¹»µ¸º·º»»¹·¸¹¼»¹ºº»¹¹½¾½¿À„¿ÀÀ¾¿˜Á¿ÄÂÀÁÄÂÅÁÀÃÄÃÂÀÁÃÃÀÂÃÁÂÀÁÀÄ—ÁÃÄÅÄÆÄÄÃÁÀÀ½ÀÁÀ½¹¸º¿»ë·»À¾»½À¼º¹¼½¼¾¿À¿Áü¿¼Áþ¿ÅÂÄĽ«¤œ¡§¦ ŸŸ¢¥¨ª§µÁÅ¿ÂÀ¾ÃÁÀÆÅÆÇÄÄÆÆÈÅÉÅÈÌËÉÐÏËÌÌÎÏÐÐÎÑÐÕÔÕÕÔÕØØ×ØÜæíòõ÷öõöõõööó„ñðïðñðŠòóóõ÷ùüýýûü…ûûüûûúûŠúûüüûüûüûúûüû…üüûûüûü†ýüüûûüú‚ûüú„ùúùøùƒúø÷öõ�Ò‡›ž ™—˜š—›œ››œ—›œ™›œœš˜˜š›š›œœ›šžœŸŸžŸžŸŸžŸ žŸ£¡¢¡ ¢£¢¥¢¡¢££¢ž ¢¢Ÿ£¢  ££Ÿ žŸŸž£¡ ¡¢¤£¤££¢ŸŸž›žÂŸ ˜—šžœš›—›žœšœš˜—›œžŸž ¡œ›  œ¡Ÿ ¡‹‚…Šˆ„„‚…‡ˆŠ†“ ŸŸ›Ÿž¢ƒ£  ¢™¡¥¡¤¨§§ªª§¨§¨ª©©¨ª©¯­®®¯®°¨²¹ÀÇÐÒÑÒÓÔÓÔÕÕÒÑÐÌËËÍÊÌËÈÉËËÏÒÔ×Üâåâááããà•áàßÝàÞßáÞßâãáâáâááàáàá„âááàâ˜ßäããäãäããäãääáãäâáàáßááà߃ÞßÞß…ÞÜרÙÜÞ�Ÿm„‰‰‡ƒ€ƒ…ƒƒ††‚ƒ‰ƒƒ…€~‚…ƒ€…„ƒþ„„…‡†„…„ˆŠˆŠŒ‡‰‰…‰Š‰Œ‹‰†‰‡ˆ„‡ˆ†„†ˆ††‹Œ‰‰…„ƒ…ˆ‡‡ˆ‡†‰Œ‡‡Š‰‡ƒƒ„€ƒƒ…„„||}‚€~|‚‚~~yy{~ƒƒ‚„†~{„†~}…ƒ‚…vqhjokbgcffdecp…‚~ׂ}}~ƒƒ…†ƒƒ„‚„„…„ˆŠ‰‰Œ‡‹‰‰Ž‹ŒŠ‹Ž’’‘—¤®²µº»´µ²°±±¬«¨¦¥¤¥£¤¤§¤¤§§ª¯·»ÄÈÄ¿¾¹º¼¹·µ¸¸¹·¶¸¾½ºº»½º¸¹¸·ƒ¹»¼»Ÿº¸º½»»¿À¾¾¿¿À¾¼¾»º·¹¹¶º»¸·¹µ¶··¶…º¹¹·¶´¸�žž´¸»ºµ´¶¸´·¹··¹¸º¼¹¹¸¼»¸¹¶¹¼¼¾ºþ»»À»½¿ÀÀ¼¼¾½½ÀÁÀÂÂÄÅÆÂÁ¾ÄÅ¿ÃÁ¾ÃÀ¾½»¼½¾¿½ÀÁ¿ÂÀ¾¿ÁÂÃÁÄÃÄÅÅÄÂÄÀÂÁº·¼¼½½ÄÁÄÀÉÃÆÀÀ½¶¼¼¹¿¾º¼¼¿Â¿ÂËÂÃÅÅÃÀÁÁÅÆÁÃÃÅÁ»© £¤Ÿ š¥«©¦¹ÄŸÀÀÄÀ¾Äļ»ÂÆÇÅÆÇÈÇÈǾÈÊËÍÎÐÐÎÍÐÏÑ–ÒÒÕÕÖ××ÕØÞçîóööõö÷öóõôõ—òðòññïòððîîóö÷úúûüüýýüúû“úúûúûûúúùúüüûüûüûüûü‡ûûüüûüüûƒüûúûŒúûúùùúûüúúûúùú‡ùùøøù÷öõ�ž‚–›œœ™—™š–™šš›œšœž›ššœš›™šœœž›…œœŸ›žŸ¸œž ¡Ÿ¢£¤¥¤¢¡ž¥¤Ÿ¡ ž£ žžœ›žŸ ¡Ÿ¡Ÿžž ¡¢ ¢££¢£¢¡¢Ÿ¡ž›˜›¹  ¡ž¥¢¤ŸŸ–››™žž™ššœ¡¡žŸ¨¡¢£¢¡Ÿ Ÿ¡£ž¡ ¡ŸœŽ„ƒ…ˆ‡ƒ„~‡Šˆ…• žŽ œ¡ ›š £¤¢££¤£Œ¥§¨©©ªª©§©©ª‚¬«°²¯³¹ÂÌÒÒÔÕÕÓÔÑÒÒÔ—ÐÍÏËÌËÎÊËÉÉÏÓÚÝãâãåæäàßá˜ßààßßáÞàäáàãåáàâãáàááâãáàáà˜ãàáãáäââãààáààßàââáààááàá†àßÞàßãá…ââàÞÞß�h~†…†‚€‚„ƒ‚‚…ƒŠ„‚ƒ„‚ƒƒ„ˆ„ƒ„ƒ…~„†þ„ƒ†…†‰‹Œ‰ŠŽ‹‹Œ‡ˆ‡„†Š‡…‚€€ƒ„‚ˆˆ‡‰…‡ˆ…†‡††‰‹†‡‰ƒŠƒ}|‚}…†ˆ„‹„‡†…ƒ{~|€zz{€†…„†Œ…„†‰…€€ƒ†„ƒ‚„„€ujiilgbf_ahge`r‚ƒ~‚~‚€zƒ{‚‡…†ˆ”…~‡ŒŒŽ‹‹ŠˆŠŠŒŒŒŠ‘Ô’œ§°µº»»¸¹¹±´°®°°«§§¤¥£¦¥¦£§«³µº¿ÂÇÆÇÇÁ¼»»¸¹»··µ´µ¶º»¼¹¹»À¾»¼¼¾»»º¸·¸·º¹¸»¼º¹¶¹º¶º½¼Ÿº¸º¸¸¹µ¹¶¶¸¹»»··º¹¹¸»»½»½½¿¾À¹¸»½�›£³º¹»¶¸·º¸¸¶·µ±¹·¹¸¹º¼º»½»º¼„º»»½¿þ½¾ÀÁ¾½¾¼¾¾ÀÂÅÃÅÁÃÀÀ¿Â½¼½ÀÁÅÄÄÁÀ½ÀÀ¿ÁÄÂÁÃÃÀÁÀÅÅÁÀÀ½»»¸½¹¼¸¶¾½¿ÀÁ¿ÆÐÂÒÊ¿¼¹ÀÁÀÀ¼¼½Á½ÀÂÅÃÁÃÄÆÃÃÂÄÄÂÁÅÌÅÀÃÄü¦ž›£¤¤ž¡§¤«©µÃÄÇÇÆÄ¦Á¼ÁÅÇÊÌÈÈÉÊÊÇÉÆÊÊÏÏÐÏÑÒÑÒÓÓÔÕÓÔÖÕÕÜáæðö…÷õöõõö‘õõôóôõõóóòðïïòôøûü‚ýûü‡ýüûûüûúû†ùûúûûüûƒüüûüƒýüüûƒúüüûúûûúüûûúûûúúùøùùø“ûûøøùûúúûùùûûúø÷ø÷öõö�ʉ•›œ››š›šš˜›™–œš››š›œœž›œ›œŸžŸŸžžŸŸ¡Ÿž œŸŸ £¥¡£¡£ Ÿ ¡Ÿœ¡¢¤£¤¢Ÿ  Ÿ¡£‡¢¢ ¡ ¢¢Ÿ¨›š›˜šœ—•žžŸ ž¤ª ¬¦›šŸžžŸœœŸœ £¡  £¥¡Ç¢¢¡Ÿ¢¦£Ÿ¡¢ žŒƒ‚ˆ‰‡‚…€ˆ…Ї’ ¡££¡¡ž›Ÿ¤¦¨©¦¥¦§¦¤¦¤¥§«ª¬«­¬ª«¬­¯¯¬­°¯±¶»ÂÌÓ…ÖÔÒÒÔÓ´ÔÓÓÑÑÓÔÑÑÎÍÍÌÏÖÚáâäæçåãåçæßààâäááâàãàßßâßäæããååãâäâäã†äâßààãà‰ââáäããàááà‚ÞÞß„áÜÜáà‰ßàßàâäáãâã„ááààáà�©q|…ƒ‡„†…‡„„„ƒ†„„…ƒ„‡…„‡†‚…††ƒƒ…‡†Šƒ„„‡‡ˆþ‰ƒ†ˆŠ‹Œ‰ŽˆŽ‹‰ˆŒ‰…ƒ‹ŒŽˆ‰Œˆƒ†ˆ…Š‹‰ˆˆ„ƒˆˆ‡†ƒƒ€ƒ…}xƒ„…‡…Š‘†’‹…„„‚}}€}€…ˆ„…„ˆŠ‚…‰ˆ……„ˆˆ…ƒ††…ukjmoh`ea_idgbp‚‡‡„„†{€†ŒÖŠˆˆ‹ŒŠŠ…†ˆŽ‘ŒŽŒŽŽ’‹‹‘›Ÿ£®µ¶½Á¼··²·µµ¯±­©¬®®¨©¤¤¢¦«±·¾ÀÃÅÆÄÃÄÁÁ¿»ºº»¹º¹·¼¹·µ»¼¿¼½¿ŸÀ½À¾¾½¼½¼Â¾À¼ºº»»¹¶½»¸¼½¾¼»··¶´™²·µ±³¹»º¶´ºº¹º¼½½¼¾Â½ÂÁ¾À�Ũ¤¹¼¸µº¹¶ºº·¸¶¸¸´¸¶¸º½¼¾»½»º¼¼¹º¼º¾¾¿¼ÀÁÀ¿¿ÁÀÀ¾¼ºÀÁÀþ¿À¿¿ÁÀ¾¾ÀÁ»ºÁ½¿ƒ»ÀÂÁåľ¼»µ¶´¸µ»½À¿ÀÀ»½À¿¾ÅÁÁĹ½¹»¿ÁÀÁÀÁÂÁ¿Â¾ÄÃÅÃÄÃÂÄÁÁÃÅÂÅÆÆÅÂÂÆÅÅ矜£¦¥ ¢Ÿ¤¨£¤¨½ÎÈÈÇÅÅÃÅÉÈÊÉÊÊÈÊÊÉÉÊËÎÎÒ†ÓÕÔÓÕÖÕ†ÏÍÜäéïò†ôöö÷õôõƒôôóò‹ñóôóòñôõøúúüû‚úúû…üûûüüûüûüˆûûüüûûüû ü‚ûúû„üúûûúŠùùøùúûûùùøùˆúúøùùúúù÷ö÷�¾Ž‡šœ˜œ›™œœš›šœ›—š™™šžŸœžœœšœœžŸžŸ  ŸŸ¢¡ Ÿ›¡¢Ÿ¡ž ¡  ¡¡Ÿž¡ó›œ¢ŸŸ  ž›¡¢£¡ ¤Ÿœš•—–™•› žŸŸš›Ÿ¡Ÿž¢ŸŸ¡™œ˜šŸ  Ÿ ¡žž ¢¡£¢¢ ¡£ŸŸ¡£¢¤££¢¡ ££¡¡…ƒˆŠˆ„‡ƒ†‰†„†š«¥¤¤¡£¡£¦¦¨§¨¨¦¨¦¥§§¨¨©­’®°­®¯°­¯¯ª©µ¿ÄÈËÐÒÕ™ÖÕÔÕÔÓÑÒÓÒÒÎÍÐÒÒÏÐÕ×Üßäåæå‘äâáàáãàÞáäæâáãáââã‹äãååãååâáääã²ââàããåââáâááäââàâáààßÞßÞàßàáàßáàáÞÞàßáâãâãáãáààÞßßà�îvm‚††ƒˆ‡…‡ˆ„†ƒ†…ƒ„ƒ…‰‰‡††…„„‡ƒ„…ƒ†Š†……ˆ‡†‡‹‹Š†‡‚ˆŠ‰‹…ŠŠ‡ˆ‹‰ˆ†ŠŠŒˆ‡††……‹‰ˆˆ‚…‡†x}{yƒˆ…ƒ…†ˆ†„†‚†‡~‚}€‚…„郂~…‡‰‡ˆƒ‡ˆƒ‡‰…ˆŠ‰…†ƒ…ˆ†‰wnloslegdejg`_vŽŠ†…‡ƒˆŠˆˆŠŠ‹ŒŒ‰Š‹Ž’’‘“’ŽŠˆ˜¢©®´±°²¶¸½½²µ±²¯°«©©¨¨¬­¨Ž®²º»ÀÆÊÃþºº¹¸‰¶·º¼¸·¶¹º»Œ¿ÁÀ¾½½¾¾¼¼¿¿¼‡½¾½Á¿Â¾¼ª¸·¹½¼º»¼º¹¹¶¸·µ·¶·¶¶µ·º··´³º¹»¹º¼¹¹½ÀÀ¿¾Â¼¾Á�þ©˜­··¶¶¸º¹¹¸»»¹¸º¶»»º»¼¼¹ºº¾¼»º»½º¿¾¾»½¾½¿¿¾¿Á¾ÀÁÁÃÀ¾¾Á¿ÀÄÁ¿¼»¿À¿¾À¿¿À¿»»ÃÅÁ¼¾¿¼¼º¶¼ÃÄÂÁ¾¿¾Â¿¼¿Á¿À¿¿Â¿¾Á¿¿ÁÁÀÁÂÄÁÃÂÀÂÃÃÂÄÆÃ¯ÂÀÂÅÃÇÈÇÈÄÃÁÁÂÅÈ®£œ£¤¡ £¢£§§¤ª¾ÊÆËËÆÈÈÇÅËËÊÍËÌÍ̯ÎÑÑÐÑÎÑÔÕÕÒÑÓÕÚáéíñòðñòòóôõööõöõôõôôòñòóòôôöùúûü‚ûûùûƒúûüû…üüûüýüý ü‚ûüûüûüûúùûûúûúúøúúùûûùú†ûù÷öö÷ö�ƒŽ|Žš‡œ›ššœœ‘™œœ› ššžœœ›ž›žÉœœžŸ  ¡ŸŸ ¡¢ žž¢  ¤ Ÿœ ¡¡Ÿ¡¢ ¡¢Ÿ›œ¢£¡œŸœš—¢¤¢ ž¡›Ÿž žœŸœŸ¡žŸ ô¢Ÿ Ÿž¡¡ ¡££¡¡Ÿž ¢¡¦¦£¤¡¡ž ¡¢¥“‰ƒ‰‰…†‰††‰‰„‡š¨¦§¦¢¥§¥¤¨¨§©¨©ª¨§©©«ª«¬ª¬¯°­­¬®¯´¼ÂÆËÍÎÍÍÐÔÕÐÕ×ÕØØÓÓÒÓÒÏÒÑÐÐÓØÝßåãåææçåãßÝ™ââàáãäâáãáàãåáãääãäææåèæâæäâäãâåãâáãåããâãáßàá›âáàááâãáàââàáâàáââáâàãâàßÝÝÞ�Švdu…„„…ˆ…†ß…„‚†ƒ…ˆŠ†‚ƒ‡„€…ƒ…„„„…‚‚„„…†ˆ‰‰‡‰‰ˆ‹Š‡…‹‰‰Š‡…„„ŠŠ‰ˆˆ‰†‰Š…ƒƒŒ‰„ƒ€‚…|†ŠŒ††„…ƒ…€}†ƒ…‚€ƒ‚‚‡ˆƒ‚‚…„‘ƒƒ€„‡‡†ˆ†……„…†…‡þˆ…†ƒ„…|rkopjhkieii`^t‹‰Œ…‡‹‡‹ŠŒ‰‹‹ŽŒ‹ŽŽŽ‘ŒŽ‘˜£«¯²®«°°¯´¶´³¶³´°±­­¨¦ª¬©­­³¹ÀÆÉÄÂÅÅľ»º´°±°³µ·µ·»»¹µµ·¸¼½¸¼¾½»º¼¾¿¿š½¾¼º¸º»¸»»¼½¼»¹º¸¶¹¼»·¹º·¶¹º¶¹¸·µ¶»º¹¶¸µ´¹¸¹¸º¼·¸¼»¾½»¼¸»�ϵª°µ·µ¶¸·ºµ·¶º·¼½»¼»¼º¸¿º¶¼»´²»¾¹»½»º»½ÀÀÃÀ¿¿Á¿ÁÀÁ¿½¾ÁÂÁÄÄÿÁÁÀÁ¾¼ÀÂÀ¿½¼¼½¾¿¶¼ÀïÁ¾¾¼ÁÄþ¾¿Â¿½Â¿½¾ÀÁÃÂÀ¿½¿ÁÁÀÀ¿½¾Â¾¾ÀÁÄÃÄÄÂÄÂÃÂÄÃÄÆÁ½¾ÂÃÁÃÀ½¬§›¤¦¡£¤¦¥¦¢¦«¼ÈÇËËÈÊÈÊÈÌËËÍÎÍÏÎÏÎÏÐÑÒÒÑÕÔÕÔÕßçêîïðñ˜òðññóôóóòóõóôôõóñóøøûûüüýüûƒüûûú‚ûûüýüýüý üûúû‚üüûüû„úüúùûúùƒøø÷ö÷�±™Žr”™›™š›š›˜™™œœž›žžšž›™œœ—”ž››œ››  £¡¡ ¡ ¡ ‚žŸ¢¥Ÿ ¢ ¡ž ¢¡ žœœžŸ—œŸ  Ÿžž ¤¢œž¡Ÿ ŸÇžŸ ŸžœŸŸž Ÿžœœ œŸ¡¢ £¢¡¢ŸŸ ¢Ÿ¢£¡œ Ÿ ¡žœ‘‚‰‹„ˆ‰‰‡ˆƒ†ˆ˜¦¦§§¥¦¦§¦¨©¨©©ª«©À«­¬«®°°¯²»¾ÁËÌÎÎÏÎÏÑÐÏÑÔÐÒÔÐÑÓÑÑÓÔÓÑÓÚÝàâãååçååæâäããääáÞÞááåäãåæä‹åäããæãäãååçè»êçäæåæãäâãääããâãâááâãááââááãåããäãáãåääããâæããââãäãáâàâááàÝÞÞà�þ„zY|ƒ†ƒ„‡ƒ…€ƒˆ††ˆ†…ˆˆ‡‚‰…‚‚{…‡ƒ…‚ƒ‡†ŠŠˆ†‰ŒŠ‡‰Š…†Š‹‹‰ˆˆ„‡Š‰……††‡ˆ‹†„‚ƒ†~€ƒ†ˆ‡†‡‚…ˆˆƒ‚†ƒ†€€‚„…†…‚„ƒƒ‚ƒ}‚~€‚…ˆ‡……„†‹„…„‡ƒ‚†„€€‚ƒ·‚ywknnfjpmggb`\qˆˆŠ‹‡ˆŠ‰Œ‰‰‹ŠŽŽŠŠ‘‘ޑ𥍍©ª¯­«¬­®±²­®­¬°«®¬®©¨®¹¹ÀÄÈÇÇÈž½¼¹¸º¶¶´¶¹¼À¾½¿¼¼º»”¼¾¾»¼¾½»ÀÅÆÅÁ¾º¸º¸º·¸§¹¹»¸¸¶±´º¹µ¹»¶´·º¼½¹º¹¸¸·»»¹·»¹¶¼»¹º½¼¸¹ƒ¼ºº¼¹�¿³±¢¯´µµ¸µ·¸¸¶´·µ¹¼¸½»º·´»·´¶º½½¼µ²·º½¼½¿¾½Ã¿½¾¿¿ÁÀ¿¿¼¿ÆÂ½¹¿ÀÀ¿Á¿¾¿‚À¾·„¹º¾¾Á˽¼ÁÀ¿¿ÁÀ½ºÀÀ¿¿ÂÀÁ¼¿¾À¿¼¼¾ÀÄÁ¿ÀÀ½¿ÄÁº¿¿ÃÅÅÃÀÄ¿ÁÁ¾¿ÂÁÁÄ¿¿ÃÁÄ¿·¨¦˜¡¤ž¢£¡ž£Ÿ¥«¼ÈÈÊËÊÊËËÉÉÍÎÎÏÐÎÎÐÑÐÒÔÓÒÔßáéêíîíìïññòñðïîðïñòóòñóõôôóõôöúûüüûüüûüüûûüüûûùûüýüûüüûûüüûûüüúû üˆûüýüüúüúûúùûúûúúùùûùúûúùùú„ùúùüû„úúûûú‰ûùùø÷öõõöõ�—•ˆ“™›™š™š››™—š™›šžœœ™—œ™—˜œ„˜–›œžÆŸŸ £Ÿž  ¢¡¡ ¡¦¢Ÿ›ž ¡Ÿ¢Ÿ ŸŸ  Ÿ¢ ™˜™›Ÿž¡ ¡ž¡ŸžŸ¡Ÿ›  žŸ¡Ÿ œžŸ›Ÿ¢Ÿ·ž£ ›ž¡¡£¢Ÿ¢žŸ   ¡¢Ÿž  £™€‡‰†ˆ‡„†‰™¦¦¥§§¦¨¨©§¨ª¬„ª¬­«­®®°¹½ÈÌÌÇÆÉÎÎÌÐÐÎÐÎÍËÑÑÓÓÏÓÓÒÒÓÕÚÙáåççåçåãåãâãâåŠäãååäæèçååç æååäãçäâäååééêèèæäæççäçåæååæãäãâáãá—àáâãââßàáàãäååäååæååâãåãåâ…áàÞÞßàÞ�¿„€s~„†„„…‚…ƒ€…„†ˆ…ˆˆ†‚~‡ƒ}|„……†‚€ƒ‰‡„††‰Œ‹…†‰ŒŠ‹‰„‰ˆ€„ˆ‡‚ˆ‡ìˆ‡……‰ˆ|~†‡„ˆˆ‰†„Š…ƒ…‡„…ƒ‚„‡ƒƒ|~~ƒ†„„ˆ„‚„ƒ‡‚|†ˆ‰ˆ…‚……ƒƒ„…„…‚…„…€}zyjkmdflh_d`b`r‰‰ˆ‰ˆ‹ŒŽŠˆˆŽŽŽ—Œ‹Ž‹Ž’ž¡§§ª¯­©ª­¯®ª©©ª«¬²«­¯¯²®±­°±¶ÁÇÉÊËÇÅÁ¿¼ºº¼»½½¼¾¿ÂÁÁÂÂÃÁÀÃÀ½¿¿¾¼ÀÁº¾¾ÅËÆÁ¿¾½»¾¼½»¹½½»º¼º··²´¸¸µ·¹³¶·¸·¶¶·¸·¹»½½¾¼»ºº¾º»½½»¼¾º¸¼º½¾À¼»�¤¸´¬˜¯³³¶´¸·¹¶·¹·»¼»¼»¼º¶¸¹¶·¹¼»¼¸º½À¾‡ÀÀ¿º±¯º¿ì¼½À·½¾¿ÁÀ¾À¿¿¾ÀÃÀÀÂÂÄ¿¿Á¿»¹¹º¾º½¾¼¾¼¾¾¿¾»¾Â¾¾Â¾¾½¾½¼Á¾»¼ÅÄÀ¾Á¿ÂÃÅÁÂÅÄÁÃÅÁ¾ÀÀÂÂÀÁÀÁÅÂÀÀÄÁÁĹª¨¡§¡¤ŸŸ Ÿœ¡ª¼ÉʇÌÏËÍÍÑÑÐÑ–ÒÔÓÔÖÛåêîïíïðññîíîîñðîï–òôôòñòóõøùûûüüûüüûúùùúû‰üüûüûüýýüûü†ýüýüüûüƒûûú ü…ûüüûüûƒüüýûúû…úúø÷øù˜úúûüûúùúúûúúûûúûûùùø÷öö÷ö÷�¤œ™|“˜–˜—š™›™š›šœœ››˜šš™™››œšœŸ¡ž† ¡œ“’š ¡ŸÌ›ŸžŸ¢Ÿ ¡žŸŸ¡£ ¡£¢¤¢ žŸŸš›››žœžœžž›ž¡žž¡žœœšŸž™˜¢¢žŸž ¡£ ¡£¡Ÿ ¡Ÿž ŸŸ Ÿš ¤¡ Ÿ¢¡¡¢›Ž‚ˆ‹„‰ƒƒ‚‚ƒ‡™¦¨À§©ª§ª©­­¬­­¬­¬­¯¯°²¶ÀÂÈÌÏÐÐÌÌËËÊÈÎÍÍÌÌÎÌÐÓÒÒÏÒÒÖÛàáåççæäååäßÞâáâã‘áæåçèåçéåääåææååæçƒèççèçå‘äæçæèæãåæçååäæçäãä”ãâãáäåâàÜÚÛÜÞàâäàâääâŠàááâããááààÞ�‘‡ƒzg}ƒƒ€‚„‚ƒƒ„ˆ‡¤†…ƒƒ„…ƒ‚‚„‚†‰†„„…ˆ‰…}z‚ŠŠ‹ŒŠˆ‡‚І‡äˆˆ†‡†‰‹‰ˆˆ‡ˆ‰…„††…‚ƒ„€ƒ„ƒ†‚ƒ‚ƒ†ƒ‡ƒƒ…„~~€ˆ†}z„ˆ…„„†…ˆ„…ˆ…„†…€ƒ€„……†‡„„ƒ‚„І‚‡€xwjkrgiecab^a^vˆ‰Š¢Š‹Š‘ŽŽ‘’“”˜¤ª¬®¬®®°°¬©ª¯­ª«÷ª«­¯®°®®±³º»½¾ÆÇÅÅÃÁºµ³¶¸·¸¼¼¾¾¿ÇÆÆÃ¿¿½½Â¿¾ÁÁÀ¿ÅÆÄÁĽºº¼»º¼½½À¾¾»»¿¾¼¼¾¼º»º»»¸º½¾·º¸¶²®¯´·´·½¿½¾»¹º¸º¹¸»»¹¸¼½¼»º½¾¿½¿�±“›§°³µ¶¶º»¸·¹½¼º½»º¾½‚¸·¹Ÿ¶º¸¹¿À½½¿¿ÀÀ¿¹»¿¾¿¿¾»»¿½¿À¿ÁÂÁÄ¿×ÁÄÂÀÁ¾¿¿ÂÂÁ½»²µ·º»Àý½º¾½½¾¿ÀÄ¿¾ÁÂÀÁÀ¿ÂÀÀ½¸½½¿ÀÁ¿ÃÃÄÅÃÅÆÃý¹¸Á½¾¾ÁÂÄÅÅÆÆÈÄÆÆÃ¼§§ ¡ª§£¡Ÿ¤ ª¼ÈÌËÌÌÐÐÏÏÐÒÔÒÑÐÒÕÖÜâéîïññðíïïðòñòñðò‰óóôôóõõøúûü„ûùûúûü…ýüüýýü‚ýýü†ýýüýýþý…üýýüýü‚ýüý‚üüýûüƒýýüý‰ûüüûúûüüûü‚ûûüûúûûúúüùúúø÷öö÷÷ö�¨•”“Š’•™˜˜šœ›˜šžœ›š›žžš™š™š™›™š žž ‚›œŸžž››ŸžŸŸž ¡ ¢žø £¡Ÿ žŸ¢¡Ÿœœ“—™™›ž¡œ›››žž¡žŸ¡ŸžžŸŸœ–›žžŸ ¡¢£¡£¢ŸŸ›˜™ œž ¡¢££¤¥§¤¥¥¢ž‹Š…†‰‡„€‚‚†˜¤¨§©¨«©©ªª­°®«©«¯±¹¾ÃÇÈÊËÈÈˉÐÍÐÐÍÍËÌËÍÁÑÑÐÒÏÑÕ×ÜàãâááâããßßàßÞßâáãåâãâåâääâåæåäåääãâæääæçéæéååææäâäããåæååäœåäâááååäââãâåãáâãåäãâÞßáàáâäâ‚ááàŒááàááßââàßàÞÝÜ�þ~|hs{~‚~~‚†…ƒ‡„…†ƒƒ†…‡‡„€€~€€ƒˆ‰……„…††ˆ„…‡ˆ‰Š†…†ˆƒ‡†„†ŠˆŠŠ‡†‡‹ˆ††‚…ˆ‡…„„x}~}„ˆƒ~~„„ƒ†‚ƒ†…ƒƒ„„†~y~‚ƒ„‡ƒ„ƒ†‡ŠŠ„„…}z{†À…ˆ‰ˆ††ˆŒŒ…‰‡srlisnigb_a]]au†Š‰‹‘ŒŒ‹Žš¡¨¯¯°±±ª­««­¬®«”¯¯­­¬­¬¬¯®°­¬°¹¼¾»º¹½‡¸·µ¸·¸¸¹¾º¹½½¾Á¿À¿Á¼¿½¼¾¿¼½¼¾ÀÀÆÇľ¿¾¼»¸·»¼»¸¾¿Á¿½º¸½»ºº¼¼º¼¸¹º»½ÀÀ¸··¸·›º»¹º¿À¾¼¹º»º¹ºº¸¸·¹¸º¸µ·»»¿»¸�¦­¯³¯®´¶²²´ºº¹¹½¾º¸»º»¾¾º¼º·»¼¸¶·¸·±º¼¼½Ÿ¼º½»¾¾¿À¾¿½½ÁÁ¾½¿ÄÀ¿»¿¿¾ÁÀ¿½»½À¿™¾¾»¼¹¼¾Á¼¹¸¾¼Á¾»½¿¿ÀÁ¿ÂÄ™Á¿ÃÀÀÂÂÆ¿ÀÂÿ¾º¼¾¿ÂÅÅÁÃÂÄÃÆÄÆÇÈÅÂÆÃ½¨§ ŸŸ¤£¢œžŸ£¦¬¿ËÍÍÏÎÑÏÐÔÔÓÑÓÕ×ãíðñïñòóôóôñïìêíìïîðññðòóòóôóóõöƒ÷÷úû‡ùúùùûûú üû ü†ûüýüûüýü‚ýýüý…üýýüýüû‚üûü…ûûýüýüý…üüûøûüŽûüüûûüûúùø÷÷öö÷ö�ž“”•’—™–“•š››šŸ›™šš›žž›œ›™›œš™ƒ—’™¡ž››žŸžŸžžœž ¡Ÿ¤Ÿž›ŸŸžŸŸž›šŸ ž˜š›š›žŸš—›ž›œŸŸžž¡Ÿ òŸŸ ŸŸ Ÿ¢žŸ¡ž™šœž¤¥£Ÿ¢¡¢£¡¢¢¤¦¦¤¢¥¢žŒ†„…‡†…€€ƒ„‰š¦ª¨ª©¬©©®­¬¬¯®²½ÅÊÌÌÍÍÎÑÏÊÊËÈÄÉÇÌÍÏÌÊÈÊÍÍÌÑÑÐÕ×Õ×ÚÛàßàßÝÛÜßáàá˜âáâããâáãâàâãâäããââãááâáäåƒäããâ‡äãáããäåãæåãäâßßááàßààßáàß‚ááâŽããäâääââãáÜâãáâ‰ããâãááàáßÝÜÛ�‘€€|z‚„|}„……ƒ‡‡€Š„††‚…ƒ€‚ƒƒ€Ó}x„…ƒ„…„…‡ƒ…†‡‰„„†‡‡ˆ…ƒ…އ†…‡†…ˆ…‚€ƒ†…††‡‚~„„…}{ƒ‚€‚‚ƒ…†…‡„…††„„„ƒ„…„‚€‚„ä{}‚…‰‹‹…ˆ‡‡‰†ˆ‡†ˆŠˆˆ‹†vvpkkliica]^ccu‡‹‹Œ‘ŒŒŽ— «­°­®±²³³´­ª¡¡£§¨¤¨ª®­¬®­°±®¯³µ­«®¯¶¶¹µ±®±¶µµ¶¼ˆ»»¹»½»º¹»…¼¾¾¼¾»Í½»»¹»¿Áÿ¾¹º½º½¼º¿¾½¼½½¾¿¾¹¸¹¸¸´µ¶´·¶´¶··º»µ³·»½¼»½¼½½¾»¾¼µº½º¼½½Á¼º¼º¹·´¶¹¹º·µ�´õ·¯±¶¹·¹¸»¼º»»·¸¹º»»º¶¶º»½¾»º½¶·¶½º¹¹»º¹ºº··½¿¾½»¿À¾Á»À¿½À½º»À¾¿¾¿¾½¼½¿¾¿¾¾ÀÁ½»¸ÃÀ¼µ¬¾ÀÁ¾º»¼¾¾¼¶¿»»À¿¼À¼¾Â¿À¾½¿¸²´·½¾¿Á‡ÂÂÅÄÆÅÅÄ®ÇÉÇÅÅÃû¨ªž¡¡£ œŸ¤¬¯ÂÍÌÏÐÎÐÐÎÒØßâêìïðòððïðïðò¤ðîìëêèéçêìîððñïó÷øùûùøúøøùø÷÷øùúùüûû üûüû üŠûüûüüûüüúûü‚ûûü‹ýýüüýüûüüûúû‚úûúû üûü‘ûûüûüûúûúûúø÷ö÷öö÷ö�™˜—š‘“˜š™ššœžšœ™“›œœ˜—š›žœ›˜˜–œ››™›°š˜˜žžœŸ¡œ  žŸ™œ žŸžœ›Ÿžžž¡›™ œ–ŒŸžžš«ž›•›šžŸœŸ›œŸŸž›—’”—žž  ¢¤£¥£¦¤¤¢£¢¢¥§¤£ß¢œŽƒ‚†…†„„Ѝ©©«¨ªª©­±·¼ÃÄÈËËÌÊËÌÉËÐÎÍÌÌÈÅÇÄÅÁÆÅÆËÌÌËÐØÜÞßÜÙÛÛÜÝÙרÚÜÞßäåâãââàáåäâááãäãâäãâ©äããááââääââäàãäááãâàßáãáâãâçããäãààááàßàßÝÞ›ßáãáâáâãåãâååãâåãâååááâåããâá„àßÞÝÜÝ�…„„{}ƒ„„ƒ…ˆ†‰~~€„…‚}‚’…†ƒ…€~~„ƒ„ƒƒ„†…€†É„€‰‰‡ˆ‚‡‰…‡„ƒ†‰……ƒƒ…„‚†„†ƒ……ˆ‚€„‚€zo„„‚‚~}~„‚~|‚~ƒ„€ƒ…„ƒ€€zux|……ƒ††‰³‹‡ˆ‹Œ‡ˆ‰‡†‰…‰ˆ‰ˆw{nkmglie`_bdey‰‰‹Ž‡‰‹‹Œ‘˜ ª¬¯¯°­¯­£¬±°¯¨¦¡  ¡ Ÿ¢£§©ª«¬¯¶¸º¾¸±³³­°¬¯­®°¹¸¸¼¼½¼½º»¾¾»½»»º½¿¼½¾¾½¼½»¼»º¼ˆ½¹·»¼¹º½¾‰¼¼¾½¹½¼··¸ƒ¶´µ³Ž±²²´¶¹¸¶¸»»¼½º»—¼»½¼½½¿½¼¼Àþ»»º»º¶··¶µ·�¬·µ´¶±¬·¶³º·¾º¶¸¸³¹¹¼»¼»µ··¹¸¶·º¼·¸º¼º¹¹»¶¸¸»½“¾½»·»¼½½¼¿¿¾¼½¾½¾¼¾¿¼‚¸¾¿À¼½»½½¼½³¸»½»»¼½š¸»¹¼À¿¹»º½»·º·µ»»·¾¿ÀÁÂÃÀÃÂÆÇ¥ÅÆÇÉÅÄÆÅÅÄÅ»©¦œ¢£¢œœ¤¦®ÁÍÊÎÏÊÒÝáäïñ†ïííðïîð„òòïîìŸêëèéèæëíô÷÷øø÷ùùúùø÷øùøúùûüûüüúü‹ûüüûüûüûüûüûüˆûüüûüúúûü…ûüüûü ûƒüûüû…úùúûúûƒüûûüƒûûüû’üúüûúûúùûûùúøø÷ööõöõ�¬š™—š”Ž˜—•›šž›™™›–š™œ›œ˜™˜š™˜š›œ™™šœ››™›˜™š›«žžœ™›œœœŸŸž›œžœžŸŸœ›œšž šœ’˜š›šþœž˜›™œŸž™š™››™š™–››˜žŸ ¡¢¢ ¢¢¡¡¥§¥¥¤¥¤¦£¡¢££¢£Œ‚‡‡…‚~„†¨¦¨©§­´»¿ÆËÍÌÊÈÉÌÌÊÍËËÎÍÌËÊÉÊÉÉÅÇÃÃÁÀÈËÔ×ÙÜÚÜÞÝÞÝÜÜÛÙÚÞàááàããá”âäãâãæåäâáãæäáäåââãåãÉåãâååäâäããåããäáßßâãàáãáäâáââààáââàßßÞÞßßàãåáääãâããâåæäáãâåçäãàãäâàãäààßàÞÜÝÞ�‹„ƒ„w€‚…‚}€‚¨„~~}}ƒ‚‚€‚ƒ„ƒ…‚‚ƒ…†„††„ƒ…†…ƒ„ˆˆ„ƒ„†…‚„„…†ƒ–…ƒ‚ƒ„…€ƒ‚€u}~{|}~~š}{ƒ„~€~~|y|}…‡‡ˆ‡†…‰‡ºˆˆŠŠ†ˆŠ‹…„„…†‡Šzwhelijfdb^`\dy‡„ˆ‰…‹˜Ÿ£­°³²°¬©¬¬ª««ª­®§§¢£§¡ œ› £¯µ´·³²µ³µ´¯®®¬°¶¸º¾¼¼º¸¸½½¼¾¼¼½¾¼¾ºº¼½»¾ÀÁ½¼¾½¾¼½¿½½¼¹ºº½»¹º¹º¼º¹º»µººµµ·¶º·µ¹´²²³±±µµ¸¸¶¹º·»¼™º»»¼»º¼¼¾¾»»¾¼º»º·¹¸¹¹¸¶³¹�žº¹·¸¹«°¹¶¶¸½½ºº»½¸¸»º½¹µµ·»¼¹¹¸ºº¹º»½¾Á¼½¾¼º¿¿¼½–¾½¸¹½º¼¼»¼»¾º½½¿¿¾¼½»¹¾ç»¼¿À¾À¿ÁÀ»²¬½½ºº¼À¼»¼»¾½À¾½¹»¹¾¾¿ÂÁÀÁÀÀ¿ÂÂÅÀÀÅÃÁÄÅÄÉÆÈÆÈÃÄÇÆÊÈȽ©© ¢¨«£ œ ¢¢­ÁÌÉÕáçñõòñïððòðñïíðìîïðñîŒðíññïííîïòóøù—úùúùùøö÷ùûúûûüûûüûüûûüûüûü…ûûúûûü†ýüüýüýüƒýüýü‚ûúûúûŠüüûûüüûûüû ü‚ûûüŽûúûûüûûüûûüûûùø‚÷÷ö�¹œœšš›’š™š›œ›žšš›šš˜—˜››š››š™œš™›œœ¢žšŸ žžž™›ž›œœšœŸ žœœš‚›œžŽŸ ŸŸž›“Œ››™šŸœ‰šžœžœšœ™ž¼¢¡Ÿ ¡¢¢£¢¤¡ £¡¡£¥£¦¥¥£¥¢¡££§¦¥œŽ…†Œ†…‚‚ƒ„Œž©§±¼ÂËÑÌÌËÊËÍËÌÍÊËÍËÊÊÌÇÍÏÌÉËËÌÌÐÜÞàÝßÞÜÜÞÚÙÝßàŒâàâãäàâáããääãŽåæâãåââáâáâãââã˜äåæåãåæäèãâäçåãååãáâáãâáà­âßÝÜàâãâáãæäãäåãááãâæååãâääãäãßâãåããåáàßáßÞàÞÝÚ�»††‚†‡xzƒ‚†…„…‡†ƒƒ€ƒ€~}‚}‚}ƒ‚ƒ……†Š†ˆ††€ˆˆƒ‚†„…~‡‚„ø…ƒ„„…‡†„‡…}€„€ƒ‚‚…„…€tk}}z€ƒ€„‚~€ƒ‚ƒ‚€}…ƒ…††ƒ…„‡…ˆˆ‡……‰ˆ‡ˆˆ„ˆ„†…ˆƒ‚„„‰‹Ž‚vyjippjgeccb[cw††’›§°´³®­¬¬®«®©¨©¤¨ª©«©¥¦–§§¦¥¤¨¦ª­µ·¸¶¸¶±°±¬­±°¶‘·¹º½½¼¼¹¹º»¼½¾¼»¼¾•¿½»·»º¾¿¾¼½¿½½¿Àľ¾½½¾¢½º¼ºº»¼º··¶··¸µ¶´·´µ´³±´·¸¹¹¶¹ºº·¹·˜¹¼¹»··¹¸¸µ¹¹ºº¹º¼¹·¶··»º·º¶�¶·¸µ¹¸®£º¸´ºÀ½»ºº¾º¶»·¼·´¸·¶¸º¹º¸º¹»¼º½¼¿Ä½»½º·»¿º¼¿½¾¼½…¼»½»¼º‚¾¼½”¾Á¼µº½¿¼½¼¸¼µ¼¼Âĺ·²½’ÀþÀ½»»¼»»¼¾ÁÀÁÀÀÂÁ”ÄÃÂÁÆÆÂÁÆÅÃÇÇÈÈÇÆÈÊÉÊšÈɽ¯©Ÿ£««¡ž¡¢§°Îçîññòóòñðï‡ñðïñòóóð•íðïððóôöøøùùúûûùøõøùûüˆýýüüûüüûüýüýüüýüüûüûüûüˆýüýüýüüýüýü‡ýüûüüûûüƒûûúü…ýüüýýüýüýüû‚úùú†ùùø÷øø÷�Ú›š››’‡œ›™œŸ›šœž›™š–›˜—™˜˜™šš›™››œœšœ›ž¡œ›™œŸ›Ÿœžœœžœšœš›š™™žœ‡ž —™›Ÿœ‹˜œ—œœ Ÿ™•‘›œ¡Ÿ ›žœš››š›œ¡¡ žŸ¡ ¡¡£¤¢ ¤¥£¡¥¢¢¦¥££¤¦¦§¦§§¦¦œ“ކ‡ŽŽ†‚ƒƒƒ‡«ÆÊËÌÍÎÑÏÌË¥ÉÌÌÊËÏÎËÊÍÐÑÎËÌÉËÌÍÎÓÒÓÔ×ßÞáâßÝØÕÚÜââä‚åæã˜äãäãåâãâääãâååâäãäããâáââã‚áãä„âáäæä›âäæääãåâãááãäáààßàßÞßáââãååä“âäãäãâáââäåæååããâããáŒàâáààßßáßÞàÞÝÛ�„þ‡ˆp……„ˆ…‚„†„‚}~~‚~„ƒ‚€„„‚ƒ‚…ŠŠ‡†ƒ|„ˆ€„ˆ„„„ƒ†ƒ€ƒ€‚~~„ƒƒ„……‰†}|‚†‚‚€|~y‚„‡„|sn|€ƒƒ€…ƒ€|ƒ…‡‡†„„‡ˆ‡††ˆ‡„ˆ‰‰‡Œ‹ˆŒ‰ˆ©ˆ…ƒ‡‰ˆ‡ˆ†ŠŒ‚zwmntpjedbcb^f†¦°±²³²¯±«¬©ªª¨§©¦©­¯¯«§¨¦£¥¦¥©«ª¯³¶·º¼¸°«¨­¯·º»½½»»¹¸¼½½»½½»¼»¼¾¼º¿ˆ½¿¾¼½½»¾½¡¾½½¿ÀÀ½»»½¾À¼¹º½¼º¼¿º¶¹¼··º··µµ²±¸©·¹¼½¾»º¼¼¸º¹¶··¸º¼¹·º¸¹¶·¶·º·µ¹·´µ³¸»ºº½¹·¸�︷¹º·¶§·º¸¹º·¶¸¸·º»¶°²´³¶³·º¶ºº¶º¼»»¼¼»»¹»º½½¼»»¹¹¼¾Á¾¾Á¾½¼¿½»¹·µ¾»¾¿¾¾½¾ÀÀ¿¿¾À¾½¾¼¾¾À¸®¤¯¶´·¸´®¶¸´µ¹½¾½½¿ÀÀ¾ÂÀÁ½ÀÆÃÂÂÅÅÄÆÄÅÉÉÃÈÆÈÇÈËÌÊÉÉÈÊȽ®¨¢¦¬¨¢¡ž¡£ª³ÒïððñðïíïíòððññððòñóŠôóôóòòñòòô÷‹öøùúùûûø÷ùùü„ýüüûüý üûü‚ûûüýüˆúûûüüûüûüûü‚ûûü…ýýüüýü’ýüüýýüýýüýýûüûüüûûüûˆúúùø÷øø÷ö�«›šœœ™™—œš››˜—™™˜šœ˜‘“–—™•™œ˜››˜›œœ›››œ™›œùœœ›šœ Ÿž¡œœžš˜—•š›žžŸ ŸžžŸœœž—Ž…–”–—••˜•–™œžœžŸ ž Ÿ  ¡¡¤¢¢¡¤££¥¤£¦§¢¤£¦¥¦¨©¨§§¦¨¦ž’‡Š‹†…ƒ„ˆ°ÏÎÌÎÍËÌÍÊÍÌœÏÎÍÐÐÒÐÑÑÒÔÒÐÏÎÎÑÕÙÜÛØÙÛÞÞáàÚ±Üãååãååãäæçåääãåäåâãâäãæäåäàáàãåãäãââäâääâãåâãââáãœâäãääãââááãâäáßàßâãäáäååãæåäã™åäãååãåãâäææåââáâåæâààãäãà‚âáÝÜ�¸ƒƒ‡‡ƒ…w~ƒƒ…ƒ€|€€‚ƒ~xz|}{€„~†…‚ƒ‚ƒ„€‚€†…ƒ‚„„ƒ†‡ˆ†‡„Šˆ~€zz…‚€ƒ…þ††…„ƒ‚…„€„…„yqdovrwzulv}{|}ƒ…‚…„††ƒ†……ˆ‡ˆŠˆ‡…‡ˆ‰‹ˆŠ‹‹…ˆ†ˆ…‡‹ˆ‰ˆ‡ˆŒ„{vpsvnmh_`ac`i‰©¨¬±®­©§§­¨§©«¨ª¨§­¯¯±­¬«¬ª§¦ª­³µ¯¬±µ¶µ¸»˜°«°²¸¹º·¸¼½¼½¼¸¹¾¼»½½¸¼º¼»À¾½¼½¾»¼»¼»¼½˜»¼¼¾¼¼º¶·»¿¹·¹¼¹¹¼¼ºµ¸¼¸¶°·¶´·¼¼º·¹¹º¼½½¾½»º»¹»ºº»¼»¸º¹¸º¹¹¸¸¹µ¸·¶µµº½¹º¼¸µ¸�¼¸»»¶µ¸±ž²µ¸µº¶¹º¸´·µ²³·µ·¸·¼½»¼ºº»¼¹½¼·ºº¾½»¶¹»½ºÀÀÁ¼½½¾½½¾½©»·¹°µ¹»¶¹»¼¸¸¼½¾¾º¾½¾¿¾¼½¼¹°¤¯«®µº»½¾ÁÀÀ¿ÀÂÃÃÂÀ¿ÃÄÁÅÆÄÇÃÃÄÇ«ÈÈÄÈÇËÉÇÈËÌÊ̼®©¦£¦¦¡££ Ÿ£ª°Ôîïðïíîðîñîïðñðóˆòóóòòóõôõ†ö÷ùùøøùúùƒûüûüý üƒûüýüûü‰ûüúúüüûüýüƒûüûü„ûüüûü†úüüûüüû ü‚ýüý‚üýüýü…ûûüüúûüûˆúùøø÷ø÷÷öõ�¶›ž˜˜›•‚•™š–›˜šš™–˜—’”˜˜™™˜œ›šœš›™›š›—›œ›ŸŸž œƒœžž«š–˜’“™›™š››™˜›œŸ›žž›œ›š’‡–››Ÿ¡  žŸŸ ‚¡¢ ˆŸ¢£¢¢¤£¥£”¥¤¤¥¥£¦¦§¦¤¥¨¨§©ž“Ž‹‰”…†…ƒ„‡Œ¯ÍÌÉËÊÉËËÍÈËÌ‚ÐÏѤÏÐÒÒÓÓ××ÜÞÛÝÞÝÛÜßÞÛÝßâßàãåããåæäããææãä¤ááâåãáâãââßàááâàãäâãäââáâãááàááãââäâãåâ„äááãáŽàáàáãäáâæãâäæäã“âáâååãæãäáâåâãäãáâäâƒãàßà„ßÝÝÞÝÜ�²‚ˆˆ‚‚‡‚h{€‚}„‚„‚}y}~€„„††„‚„€„ƒƒ„‚|‚„„ƒ‡þ„…ƒ…„ˆ‡ƒ‚„~zvv~}~{{|€€‚~ƒ‚‚„~|€}ufpps{‚ƒ†ˆ††‚……‡ˆ„„‡†‡††‰Š‡ˆ‰‰Šˆˆ†‡‰ˆ‰ˆ‡ˆ‡„‡‰‰ŠŠ†}vssrplhca^ccfˆ¦ªª©ª«¨¦¨©¦¤§ª«­«¨«®­®¬†°¯±²µ¸¶œ³´´µ°²µ´¶¹º¸¸º¹¸»¼¼¾¾ºº¾½»»¼»Ñ½»»º½¾¼½º»¸¶»½º½¿¾·¸¸··¾»º¹¹·º¼º»¸º··¹¼¼¹¶¸¸´µ¸¸º¼º»¾¼¾º¹·º¼¾½½»»¸»¸»¼º¸º¼º¹¹·¸ºº¹Œ¸º¸¶´´¸¼¸º¶·¹¼�踼¹¼¹º¸™¬¶´º¸º¹¸·´³·¸¹¸µ¹¸»¼¹¼º·¶·¸¹»½¼½º½¼º¹»½¾¾¿¼¿¿¼¾¿¾¿¾º»¼½»¼º¸º¹¸°®²¯®²¸»º¾ºÁÁ½¹»½¿¾À½»¿¿À¿Á¿À¿Â¿¿ÀÁÀåÃÀÄÂÃÄÇÄÉÅÃÇÈÄÅÆÅÅÄÆÅÇÈÊÈÉÉËÎÌ͸°¤¢ ¥¥Ÿ  ¢¤¥®±Òíïîííïððòñïñòóòòðñòóóòòôôö÷øù÷øúùùø÷÷øúûüûüüûüûüûüûüýýüûüûüûüƒûûüûˆüûûüüûüûüûúûüüûûüüýüüýü„ýüüûüýü‚ûûüûˆüûùøø÷øöõö�‹™œ›œ›~Ž˜—š™”–”—˜š™˜š˜›››˜˜š™™šœ†›žššœÕžœžžžž›œ›œ›š˜š™˜’“’˜š™šŸ œ˜›œžž žŸ ¡ ¡Ÿ Ÿ¡žžŸ¡  žŸ  ¡¡££¦£¥¢¢¥¨££¤¡£¢£¤¥¥¦¥Ñ¨ª¨©š“Љ†‰ˆ„„ƒ„„…ŠŒ«ÊËÇÈÉÉËÌÏËËÎÌÏÍÌÌÎÑÒÑÎÍÏÔÕÙÞÞÜÚÜÝÜÙÖÙÞßÝáââààâãâáââããáãçââãâãà—äââáàáààáäãâàâãâäãááàáâàßáàá ãåâãâááÞßàâáßáàáâáàâáàâãåããââãâåãŒåäãâáãààãäãáâŠáßßááàßÝÝßÝ�Ÿ‚‰‡†…ˆ†gw€€‚„…ƒ„ƒ€~„€~€€…„‡ƒ€ª…„ƒ~ƒ‚€„„ƒ„„…„…„…„„††‚€ƒ‚€z~|wtwqru}í‚}ƒ„€}|€ƒ„†‡ƒ†ˆˆ‡‰†‡ˆˆ…„„‡…†‡„ƒ†„‡‡ˆ‹Œ‰Š‡‡ŠŠˆ…‡‡‰ˆ†ˆˆ…ˆ†ˆ‰ˆŠŠŒ~rqopogccdcdffƒ£©¨¥¦¨§¨©ª§¦¨««¬©§©«­¬«ªª°³¶ºµµ´—®«­³±¸¼»·¹»·µ¸º»¹»¼¾½½¼»´º¹»½ºº¸ºº»»ºº¹¹»¹¹½¾»µ´··¸¼¹·¹º¸º¸¶¹·»¶¶·º»·´µ¶·µ¹º·»¬¿¹¸¸º¹¸¸¼»¸¸º¹·µ¹»¹º¼»¹¶¶¸»»¹¸ºº¹¹¶¹¹·¸ºº¸¶¶·»�„»º¹º¶‰¨¡¶¸¶»··µ´¦¼¹¹º¶½¼¼¹»½¼½»»¶´¸º½»¸½½»¸¹½¼¼»½À¿½¼¾À¾³¿¾ÂÀ½º»¼»»¶³¸¸¶®²®µºº½¾¼»½À¿¿ÀÁ¿½½¾À¾ÀÀ½ÀÀÂÁ½¾½ÁÅÃÂÆŒÇÇÄÅÇÆÆÇÇÃÆÅǪÈÊÇÌÌÍÌÍÈÌÐÒ§¬¦£ ¥§ Ÿ ¡¨¯®Óìíîìíïññóôòòñóòóòôõ÷øøúùøøúùøø÷øù ü‡ûüýüûýýüýüýüýüûü…ûüüûúü‚ûûü‚ûûü…ûüûüüûüˆûüüúúûüûüýüý‚üýüƒûûúû†ùø÷ö÷ö÷�“œ›š˜™˜Œ…˜™—œ™˜—•–•𣛙œœš›œ›œ˜•™›œ™ž›™˜œœ›œžžœž Ÿ Ÿœ™š›œ–“™™–“•˜™œ› žŸ¡¡ ž Ÿ   Ÿ ¡Ÿž ¢¡Ÿ£Š¥¦££¥£¤¥¦¢¤¶£¤¥§¥¨¨©¨¨¥ª­®‹‹ˆ…Š‹ƒ€‚‚…Šˆ¬ÈËÉÈÉÊÌÌÐÑÏÐÍÑÍÍÐÏÐÏÏÒÕ×ÞŒÜÝÜÚÛØØÙÞâåâáŠßãâäãâããâãâääââááàââáââäãáàäááãàãàáàáßàâãåâàáßßàßâããâàßãààßâàáàÞ‡àáãâããâå„äããæä˜åääáâãåäâããääããâßàßßÝÝÜÝÜ�³‡†‡„ƒvm~€‡ƒ€~‚€„…ƒƒ…†ƒƒ‚„~{„‚ƒƒ€}~€„‚ƒ„©ƒ…†…„ƒ„†ƒ„ƒ€}z€~}rvqz{|€€€‚‡ƒ†‡‰ˆ‡‡…‡‚†ƒ†—‰‚…‡‡†ˆˆ†Š‰‡Š‡†ˆˆ„ˆˆ‡‚‹…‰£ˆ‹…‡Ž‘mwrqmoogadd`cfa£¥¥£¡¥¨¨«­­©¨¬¦ª¨§¨¬¬®²¶º¸µ´³·±¯®­­¶¼½¾¼º¹¸»»¶¸º¾º·»º»¡¹»»¼ºº»º¼»¼º¼»»¹¹»º¼º¹¸¼»¹¸µ¶¹¹º¼¹Ä¸¹º·¸·º¸¶´µ·µ´¶µ¸µ·¸µµ³¶¸³²´¶µ¶¹·¸¸·¸·¹¸º¼»¼½¼·µ··¼º¸¹»¿¹³¶º¼·µ··µ¶¹¸¹�˜Á»¼º¶¹¸«Ÿ²·´¸´±¬µº¼¾»º¶²¸Â¼º±º¼º´º»¼½¹º¼»»¼¹¸º¸´½»¿¾º¼½¿Á¿¿»½½¶»¼º»¼º¾À¿¼¼¹»µ»¾¾¿¾½¾¿¾¿ÁÀ¿ÀÀ¾»½¾¿¿À¿¿½½ÁÆÆÅÆÅÇÃÄÈÇÆÆÉÆÆÅÅÇÉÈÉËËÌÍÌÎËÕÙÞæì¤ª¦¡£¥¦ œž¡ ¤©«Òì—íîíññòóòññóòóóòòôöøøùúúù†ûùùøùúûúüýüûüûü„ýüüýüŠýüüûûüüûúüûüƒûûüûüŠûüüûüûûüüúû‹üüûüûûüúúûüûüýƒüýýüûüƒûûüû†ùø÷öøöøö�™¢ž›˜ššƒ”˜•š—”•›œœ››™–™šµ˜œš“š›š•››››œ›œœš™›™•››Ÿ™œžŸŸž›œœ•›œšœœšžŸžœœ™š”šž‹ŸžžŸž ¢ Ÿ  ž» žŸŸžž¢¤¢¡£¢¤¢¤¥£¤£¥¤¥¢¢¥§¦§©¨¨©¨ª¨°·»ÅÇ‡Ž‹†ˆ‹Š„€ƒ„…†«È ÊËËÍÍÐÏÐÏÍÏÎÑÑÎÐÑÕ×ÙÞààÞÝÞàÝÚÚÜÞà©âãâãáàåäåãàßåââáàâáåãâáàâáâááàáåãâáããâàáâ߇ààÞàâãâá¸ßàßßàßâàáßààâààßàßáàáàââÞááàßâàßßáãâãäãáâãåãåæãáäâããäåãâä‰ãàâáàßÝÜÝÜÛ�ºŽˆ‰ƒ„ƒ{l{~}ƒ{v|ƒ…„ƒ{{ƒ€‚‚…‚xƒ€{~ƒƒ‚‚ƒ{}ƒx€„†…}ƒ†…—ƒz‚ƒ‚ˆ‡…{w€‚€‚„…ƒ††‰…†„Œƒ‡ƒ…†‚†ˆˆ†‡‡†ŠŠ‰ˆˆ†¥„†‡‡…†‹ŠˆŒ‰Š‡‘—š§«kurmonohddc^]`^ƒ£¡ ¤©«œ©¨¬«ª¨¥¦­±²³·ºº¸¶´³²°°²³´¸»¹¼åº¼¼º¹¸»»¸¶¶·»»º¸º»¹¹¸¸º¼¼º¼½¼º»¼¹¼º»¶¹¸¶¸µ¸¶·¹»¹¸º¶··¶¶º¹¶¶µ´µ³³¶µ·µ´µ³´²¶³³´³µ´µ¶³¶·µ¸¹¹¶¸¼½¼¼ºµ·º·¾¹Žº»¶´¸»¿¹·¹··»º·¶�œ½¼º½»²·¹¢¦²¯¸·¶»º¼¿¼½¸½º»¹¼º¼·º½¼¹¼·¹º¼ºº½¼¥¾»½¿¾ÁÀÁÀÁ½¾¾¼¹»º¼¼»½¾ÂÁ¼¼Á¿Àµ²³¾¿ÀÀ¼À½À¾¾¿¾Á½½¿¾»ÀÁ„ÆÂÅÃÆÄÆÆÇÆÆÇÉÇÈÉÊËÊ¡ÍËÌÑÓÛäéïîîì쾯¥¤¥§¦¢ ¡¡£¢¨«Òìëëíð•ñòðòóôôóòõ÷øùúù÷ùúûûùúû…üüýüüýüýûü‚ýûüƒûüûüý„üüýýü‚ûûü‘ýûûüüûûüüûùûüûüüûüûü‚ûûüû„üûüûüûü…ýüüûýüˆûûüûüüûûü†úúùøø÷÷ø�¬žžœžœ•šœ†‡“‘™š™œ››žœ™žšœ›››œœ˜š››™›—ššœœšœœœ Ÿ ŸŸ››œšœš›œš›¡ ›Ÿž””žŸ ¡ž¡Ÿ¢  ŸžŸž œœœ›Ÿï £ ¡¡¤¢¤£¥£¤¥¤¤¦¥¤¦¨¨¦¨§©¨§¨¬¯·¿ÄÉÉÈÉÉœ‘‰‡ŠŒŒˆ„……„ƒ…†«ÈÆÆÉËËÌÎÑÌÏÏÑÐÑÐÔÖØ×ÙØ×ÛÞááÜÜÞßÞááàáâãæãáâáãäãââàßâßááâàßášâáãàáãâãääáââåäááãâááàâáààá‰ààßàßÞÞàÞà›ßßàáãâàâàââàÞááàâßàáßßãâãáâàáâàâäåäááàâáàãåäáàãáåáâäááàÜÞÝÜ�‹Šˆˆ†…‡oo|z}¦‚‡…„~€ƒ…ƒƒ„„}€‚~}€‚„„„ƒƒ„†‚ƒ…‡†‡ˆ„‚‚€€ƒ~·€ƒƒ†‡†ƒ†‚vxz……„†…ˆ„…ˆ‰‡ƒƒ‚†€‚…ƒ‚„‡†…††‡†„‡†ˆ‰††ˆ‰‡‰Š«ˆˆ‡Š‹‰“š¥ª­®®ª©wqnonnjfg`_^]\ƒ£¥£¤¦§§«¨¤¨¬™©¨«­­°¯±°¶¸¹¸³°´³µ¶¸¹µ»¼½¿½¾½º¹¸¶¼»¶¹¼¹¸‘¶¹¼½½¼½¾»»¼¿½¾½»º¶ªº¶·º»¶¹º¹·²²µ¶¶´³·¶´µ¸º¶·µ³µµ´³µµ²³·¸³´·¸·¶µ¸»º»¸¹·»¹º¼¸ºº¸º·¹º»¿À½»º¼¿¾»¼�…¾¿»»º·£¬š´¶·¶·¶º»»½»¸»¹º¸ºº»½º»º¼¼ºº·»¼»º¹¼û¿¿À¾¿¾½¼¼½»½¾½À¼¼¾¼¼½½¾¿¿À¼½¿¼´´»¼¾¿ÂÀ¾À¾»¾À¼À¼½¹½¾¿¾¿¿ÀÆÅÄÃÂÆÄÄÃÄÄÅÈÇÇÈÉÇËÈÊÉËÌÎÏÎÚãìðïîíìíîìÈ­¢Ÿ¦¨¤ žž  ª¯Òììíîíîííïòòðô“õ÷÷òð÷øùúùøùúûûúüýûü ýüƒýüýüûü‚ýýü„ýüüýü†ûüüûüüûü‚ûúûüúüûüûü„ûúüûü„ûüüûü‚ûûüƒûüüû…úøø÷ø÷�«Ÿ¡œžžšš›}”˜™˜™˜™š››˜›šœš›™›š››œ›™š˜šœ››šœ„žŸ žœœ››žœœžœœœž·œœžœ•”œžŸ¢¢Ÿ ¡ž ŸœŸœœ˜œœœŸ£¢¢ ¡¤¡¢¡¢¡¢¦¤¥¦§¥¨¦§¦§©ª”µ¿ÆÊËÉÊÆÇË˦‡ƒŠ‰ƒ„‚¤†‰¬ÇÆÆÉÇÊÈÇÌÎÎÍÑÑÓÓÖ×ÐËÕØÙÛÛÚÜÝÞàáßáßâæãååãâààáàâáàáààá‹ãäåæããââãâäâ…ääááãâ‡áàãáâááâˆáàßÞßáßßàœááàââßáàââßßàâáâàßâßßäáãáàÞßàŠÞàãäãàáßààâŽáàáãàãàÞáààßÛÝÝÚ�þމ‰‡„ƒ„vd„~ƒ…€~‚ƒ„‚‚‡ƒ}ƒ†ƒ€~ƒƒ€‚„ƒ†‡Š†‚„…„‚ƒ…†„‚ƒ‡…‚…ƒ„……‚‚…xy…ƒ„‡‡ˆˆ†‡…†‰‡‚ƒ€€{€ƒ€‡‡…„†ˆ††„…‚†‰…„‡‹ˆŠŠ‹Š‡¼‹ŒŒ˜¤°²°¯«¬¬«­Štkipqlfca^^[^\¥©©¥¡¥¤¡¥¥¨¬ª¨ª¨«¬§¡¨¬°²®­®±±¶¼¸¸ºº¿ÅËÏËÉÁ¾½¾»»¹·½½¸º½»º¹¸¹»º½¼ÁÂÁ¾»½½¹»¼¿¾¿¾¼»¸º¹¶º»¶µ¹»¹»º‚´µ¶½µ´¶¶µ¶¸¹¸´¶´¶¸µ´¶µµ³¶·³µ¸·¹·¶´µ´¶µ¸¹¸º·ºº¶¶·¸º¸¸º¹º»¸º½»º¹¹º»½¾�½¾¹µ´´²µ´¢«¶´¸£»·¶¸·³··¹¼½º»¹´»¶¸¼½»·¹¶¶¾º·¹¶¸¹½¾¾¼Œº¼¼º½½¾¾¿½¼¼½ºº»¹¾¾¿½¾¼À¾¿À¼¾‚½½¼µ½¼¿¿¾¿¿Á¿ÀÂÂÄÅÆÅÅÃÃÆÄÀÄÇÉÉÆÈÉÉÇÌÁÅÍÜæíòðñððîííîíì捻¦¦ ŸžŸ ¥®Óìííïïðïîïñðóõ÷÷ôô÷ùûúùø÷÷úûûüú‚ûüý‡þýüûûüûüýüûƒüüûýƒüüûü‚ýýüûü„ûúûûüûü‚ûûüûüûü„ûûúûü„ûüûüûü‚ûüû‹úùûûüûùûúùúù†ø÷öö÷÷ö�ŽŸ œšš™”™˜†Œ˜—š™¦˜˜™˜”˜ššš››—›˜šš—™—–›˜š˜ššœ›œœ›œžžœœžš™›™žž ž  žžžœ›žˆžŸžž  £¤š¡¢¤¢ž£¥¦§¥¦§¨¥¨ž£«¸¿ÇÎÎÍÌÌʇËÌɤ’‹ˆŠ‹……‚‚‚‰¬ÈÉ˰ÌÊÉËÎÎÒÕØØÔÔÚÞÞÜÜÙÖ×ÛàââáàÞàââåæéçèæãåãâááâääããáâáâãääãèêêéåäãâ†ããæåáâã•áßåäåäâäãââãäãäãßßáâáâƒäâáä†âàáââàáâäæááââÞßààßàßáâßßàáààâãâàßàâà‡ÞßÝÞÝÜÝÝÜ�‹Ž‹‡„…„|ƒ€lt‚¨~€~y|‚‚…†‚„}~€„„ƒ„~€}{‚ƒ‚‚‡…„‚„ƒ~ƒ †„ƒ…‡†‚‚„‚~‚€…†ƒƒ‚†ˆ…ˆ…ƒ†„„…ƒ€‚„}}€ƒ†Ý‡ˆŠ†…‡…‡‰ˆ‡…‡Š‰‡ˆ€Œž¦²³±±°¬­ª®¬¨ª‡yqnppnjea^^Z[\ƒ¤¦¥¥¦¦§¤¦§¨­¬­±ª§¯´¸³®«¥¦®´¶´µµ´¶º¿ÃÈÎÎÈÀ¹¼«»¼¼»½¼º¼¾¼»º¼¼¿ÃÉÎÓÌĽ¼¿¼»½¿À½½¾½»»½¸´º¼¸¸¹»˜¸º½º¹½¹¶·¹·¶¹¸¹ºº¹º¸·¸¶¹¶†±¶¶´ºº·Œ´µ´´³·¹¸ºµ´·´‘µº·¶¹¶µ¹¶¹¸µ³³¶¶µ¸¾�§»´±¶·´µ¶´¯Ž¯µµ¹»¼··º»¸µ·»»ºº¸¶·¸¹µº·»¹º¸¨·¹¹¶·¾¼ºº¸º½¾»¹¹º¼»º¸¹­±µ¶·½¿¿½½¾¾¿»¼ÁÀ¾¼Š½¿¼½½¿¿ÂÁ¿Áœ¿ÁÄÁÅÄÃÁÄÃÄÅÅÆÇÈÈÉËÇÊËÉÐåïñòñƒððïížìì¿®¤¤¦£¢ œžž Ÿ¥­Öííïñðññòõøùøù‡úûûúø÷÷ù‡úûúúùúûü…ýüûüûüýüƒýüýüˆûüüýýüüýüûü‚ûüû’úûüûûüüûüüûüûüûüúûü…ûüüûûüƒûüüûˆüûüûúûúüû…ùûûúúûƒüûúùúù‚øöõ�¬ž™”™›˜—š™“p’–˜›œ™™š›™—™››š˜—˜™™•›˜›™™—˜™™˜™Š›š›š›œšš›¯™˜š“——˜ŸŸžŸžŸ›¡ žœœ›œŸœžžŸ¡¡Ÿ Ÿ  ž ¡¡¤£¢ ¢•££¥¥¤¤¦¨¦ª©©­ÂÌÍÐÑÏÏÐÌéËÍËËÉŸ‰ˆŒˆ‡†‚‚€~‚ˆ°ÉËÍÎÍÎËÒ×ÚÜÚÝßÝßßâàÜרÛÚÜÞáßâààâäèçèçääâäåææäãääåèçåâæäãååæééçéèéèååãâäååçåäâáãäããááåƒããâä…æçâääáœäãåãææãäåäåäâåæäàâãâàáãæäáâáà‘áßßàÞààßßâßàâãâàÞà‰ßßÞßÜÛØÙÜÜÚ�ªŠ„„‡…€‚‚{Wy‚„ƒ„ƒƒ||€‚‚~~€|‚{‚€~}‘~ƒ‚‚‚ƒƒ€€‚€€Äuy|}}„ˆ‰‡……ƒ‚ƒ…†‚‚„‚€ƒ„~„„‚ƒƒ‚„‚„‚…‰…‡ˆ‡††„†……ˆˆ†……‡‡Œ‹‰£²·µ³²°²¬Â¨«©¦©„yrormkkea[ZX[]†¥§¥©ª¨ª«±µµ´µ¸º¹··³®¨ª«©¯µ¶´³´¸½¿ÄÇÆÃ¼»½À½¾À¾¥ÃÀ¼»¿¾¼¾¿ÁÆËÐÏÌÇÄ¿¼¾¾¼»½¿½¼½¾¼¼»¾»·»½¹º½À½»¾»¼½¾¹¹½¾¹½…»¼½¼¿»—··ºº»»·¸¹·µµ¶³³²¶´·µ³´¶´·µ´¶µ´·µ¸µ´±±²²±·¹�­¸´µº¸·»¹µ¸”ª·¸¹¶¹¶·¹»¸º»··¼»¹¸º¹´²·¶·¸··º¶²²¶·ˆ½¹·ºº»»¾ºÌ··®®¶¶º¼¼¾»½½¾½Á¿¼º¹½¼¾¾¼»º½À»¼¿À¿ÁÄÃÅÇÁÁÂÁ¿ÀÆÄÁÁÄÅÄÅÃÈÆÉÊÅÇÓÝçñôòðïóñòñòðîîí¬ë꼬¤¤¨¨¡œššœ ¢§¨Ñððîíðóøúùúúùûúûûùöõ÷÷úúûúùúüý„üüûûüýü…ûýýüýü…ûüýüý üû‚üüû‚úüûüû„úûûüûƒüüûüûˆüüûüüúûúü…ûúüüúû“úüûûúûúúùúúûûùùøùùøù†ø÷öõöõö�³›——›œš››šœy™™š™›™™›œš››˜™›š™›š•“—–˜™——›˜””——™˜›™˜›¸šœ™š›š•–ŽŽ——›žœœŸžŸ¡žœ››Ÿ››Ÿ›ŸŸž ££¤¥ŸŸ¡ Ÿ ¤¢ ¡¢£´¡¤¤¦§£¦°¼ÄÎÑÒÐÎÒÐËÐÓÎÉËÌËËÉÇ›‰‰ŽŒˆ„€~~„„«ÍÌÌËÍÒ×ßàžÞáâàáÜ×ÔÖØÞßÞÝÝààåáãåêéçåããåáäç™èáããäçæãæçäåãåæêéæçæçååçæå„ââáâáãœààââäâäáâàâæäááãââàâáåäåæääåäŒããååââááâáääâƒáââàá†ààáÞâà߃àáßÞ†ßÝÝÛÛÚÝÜ�‚……†“…‚ƒ‡_rƒ„‚‚ƒ‚ƒƒ}‚~À~}€~y}~}}‚|xyzz~…€€„…„€‚‚|vwpu~~‚†…†„ˆˆŠ…‡ƒ€ƒƒ„…€~‚„}ƒ„þ…†ˆƒ„…††„ˆ†…†ƒ††„„‡……†„‡”¥­¶¸³³²²±²¯³®«ª¥¨¨¥§€xsoqplie`X\Z^Zª©¥¥¨®·¸¸¹»»¾½º¸¯§£©¬³±¯²µºº¸ºÁÉËÌû¹¹º¾ÈÄÃÆÊ¿¾¾¿ÆÅ¼½À¾¾ÀÇËËÍÉÄ¿¾‰ÂÀ¿¾¾¼¼½»‚º¼»Žº¼º»»¹¸»½½¼»¸¹»²º¾Á¾¾À¿¿¾À¾»½¾¿ÁÀ¾½»º¼¾Á¼¶¼»¹¸¸º´µ´¶µ¸·µ·¶³µ³´³³µµ´¶µ„¶´³µ»¼�Û·¹½º»»½¼·´²½»¹º¼ºº¹·¾¾¹µ¸¼¹´¸º´µ´µ·¸·´´²´®±µ·¼¹¸¹»º¹´´¸¶°±¬œŸ²»½»º»½¼½À¿¾¿½¼º¼¼¿½½¿»½¾¿ÁÀÁÀÃÆÆÇÅÄÃÂÃÇÄÄÂÀÃÅŠÆÄÅÃÉÓâêóòñî¹ïïðòññïîíìííìÀ¬«¤¦§žœ™œ¡¥§¤§µãîðóøûûúøùúûúûõòóøúùúûúûüüúüý†üûüýýüýþýþý…üýýþþýüˆýüýüýüýýüûüûƒüüûüûü…ûüûüýüý ü…ûúüýûüû üûƒùúûùŽúùúùûúúùù÷ø÷÷ö÷ö�£›œžœœž›—“€›š››œš˜š–˜œš–™š˜—•–˜ž”•”–“•—›˜—šš™˜””—•‘’“›œ››œ” Ÿžžœœ›žžœŸ¡Ÿ Ÿ†¡¤¤¥¤£¢¥¢¸Ÿ¡£¤¤¥¢£¡¦±¾ÆÏÎÐÐÎÎÍËÌÉÈÏÐÎÈËËÉËÊÉ ˆŒ„‚}€„†‡„¸ÊÏÓÙÞߎÝßáßÞÓÎÒØÝÜÝàßàŸãæçãââãââàâççäæçåççäççåæâãäççèèç¦æäåçèææåææçãâáàäàßÞàââàáãâááãàáààááßáàá­âåääåâãâããâãââãäãááääãäãäâáâãäààáàáåãáàßáßàÞßàŒááÞàßßÞÜÞÞÝÛÝÚ�®†‰Ž‡†‰‡†„zg„…ƒ„„††ƒ„‚€{€}€{}|{|{{yzyuxz{‚­|w{zvup_czƒ‡ƒƒ„†…ƒ„‡ˆ‡ƒ„‚…‚‚ƒ„‚‚…„ƒƒ‚……††‰§‡…‚ˆˆ‡…„†„‡‰†…„‚ˆ•¥°¶»·°°­®«ªª¯¯­ªª©¤¦¨ùƒxxpoqggcddhc]^b˜¥«®³º»¶²´¸»¹³¦£§¬¯²µ·µ´·½ÁÉÈÃÄÀ¿¾»·»½ÁÅÈÃÇÉÃÂÄ¿À¾½¾ÄÇÇÌÍÊÃÅÃÂÃÆÆÁÂÀÅÈ¿¼¾¼¾¹¶¸¹º·½¼¼º¹º¶·º¶ºº¹·¹º»½»¾ÀÁ¿À„¾ÀÂÀ¾”Á¿¿Á½¿ÁÀÁ¾¼½¼¼¾ÁÀ½»»½…¾¿¹·¹·¶·‚¸·¹…¸ºº¸º½¾�¤¸¶·º»¹º¸·´°–´¼º¹¼»»ºº¾¾¼»º»¸¯µ¶º¹º¹·º‰¶µ¹³´¶·¶²µ”´¬±£¨°¸º¹º¼º¼º¼½¾¿½½¾¶¹º¹¿¼¾½½¼¾¼½¿ÂÂÁÀÁÿÃÇÅÂÈÉÁÂÆÁÃÆÄÆÄÈÆÅÊÔàìððñïìðïîíîïíïî«ííìíí뿯©¥¢£¢¡ž £¤¥Ÿ¥¡»ëøøùùøùúûüúöôô÷ûûüûûü†ûüýýüýüƒýüû ýþ ýüýüý…üýüýýüûüû…úûüûûúûüú ü„ûüúûüýüýüƒýüûüŒûûüüûúûûúûúûú‚ùø÷ö�…œ™™œœ›¾š–“z•›š›œš›žžœ›š›™’•–›š™™˜››š˜–™•–——•“–—•”“Œ’…‰’—››œœ›šœŸ´š›šŸžž›šœœŸ¡¡ ŸŸ¡Ÿ ¤£¢§§  ¤¡¡£¢¤¢¦£¥¨¯ºÆÌÌÊÉÉÏÎËÊÊÉËÊÉÉÊÈËÊÆ ’‰‡‰ˆ†‚„‡……~|ÆÛÜÜÝ àßÞÜÕÐÏÖßÞáàßáããàáèêèãâáãâàáàååä夿åâåçååçåææçåääææççåãæäââããæäáâàâàßÞà‘ßàáßßÝßÝÝßÝÝßÞàÞßáŠåäáããâààâãâˆßâÞâäãääâ‘ãßâßÞàááÝäæãàÝâáàá‹âàáßááßÝßàÞÝÛ�­‡…‡ˆ†‡††„yc}††ƒ„„‡ƒ‚…„„ƒƒ‚z|}€~€~€€}~€{}{þ€}{zrthmv}„ƒƒˆ†‡ƒ…ƒ‚‡„ƒ„…‡„ƒ„…‚ƒ„…‚…„‡„‚…ˆ……Љ‰Š€…Љ‡‰†„ƒ‹‰ˆ–¢´¹²´¯®¯««ª¬«¦©ª©¨§¨§¥¤¥§¥‚{wrmnligfgfc[_Tg ¸¹¶¶³´³´·°©¥¦°·¾º¶¶¸º»¿ÁËÌÑÎÀÀ¾½¼»¸¸¾ÁÄÀ¿ÅÂÀÁÀÀ¾½ÂÅÆÊÌÁÂÂÀÄÆÊÅÄÇż¿ÀÅÈ¿»¾º»¹¶·¹Ï¾¼¸·¶³²³¸µ··µµ¸·¸»¹¼¿¾½¾¿Á¿Âž¿¿À½¿¼½¿ÅÁ¿¾¿¾¿¿¾Â¿¾ÁÂÀÀ¿ÂÁ¾¾¿¾½½»»¸º»»º¼½¼»»º¹¹»�•µ·¶¸¶·¹»µ¶µ¨Ÿº¹·ºº»º¼¸¹œ³´¶»··¸¹¹·µ¸º»»¸¶¶³¯¸³²²­®°µ»‡½»¹¶»»º»“½½º¾º»¼¾º½»¿¾Á¿Á½À¿À›ÃÂÁ¿ÄÇÅÊËËÄÍÎÑÜÑÄÂÇÇÑàìñòïëí†ìêëìëìíƒììíì”í鯪§¤ ž¡ Ÿ ¡›¬ºÜøùø÷÷ö÷úûûúúûúûûüýüƒúûû üûü‚ûüýüýüýü”ûûùûûüúûúúûûùúúùùøùúù’øùøúùùúúûüûúûúûúüüû†üûûúûûüûüûüüúúûüüúûûùûûú‹ùúúøùù÷öõööõ�Â˜š™›™™š˜™˜Œ‚š››šš››žšš™˜™šš”•–›˜—š›š™—ššœœ™˜–”𕔔ޑ—›œ›žž™œ›œ“ž››œ›šžž Ÿœž ž¡¡Ÿž¢¤£¨©©¢©«¯º¯£¢¥§®»ÇÍÐËÇËÉÉÊ£ÈÉÊÆËËÌËÉÉËÌÊÊÉÉÅ£’Œˆ…„‡„ƒ…„~z{…µÜ¢ÝàÝÛÙÖרÜßâààáâàâåæçèèæäáãáæáãäâäãäã•åãæçèéèêèéäâãäçéçæãääâäæããáãâàâààáâß…ÜßÜÚÜÝ“ÞÝÝßÞàáâääâãáâããååäâ”áââáãàãåäáâåãâàááââàã–àßßáââäâáãáàááàßààßÜÝÝÛÙ�ø„†……€ƒ…ˆ‚€thƒ…‚†‚…‚€€~€‚y{}€~|ƒ‚‚|‚ƒ‚{zu}{wqvu{‚‚ƒ‡ˆ†‚‡‡„„€…†‚€€ƒƒ…€‚‚…€†ƒ‚…„†„ƒ„ƒ„ˆˆ‰Ž‹‰ƒ˜£”…~†‰”£´¸·µ±©«ªÙ§¥¨§¥¤§¥¦§§¦¥¤£¢¥¤†{zsmkjjgcbc]UV]^ˆ¶´´²´³­©§ª­´¶¹µ¸¸¶·º¾ÄÈÍÄ¿º¹»½½»¼¼»¼¾¾¼¹¹½½¾»¾ÂÇÏÐÌÍÇ½ç¿ÆÆÇÃÄÄÁ¼ÀÀÁ½¼»¶¶»¸¶µ·º»·´±²°¯²¶³³µ³³²´·»¸¹»¼¼½¿¾¿ÄÅ¿»½À¾¿ÁÀº¼¿¿¾¿ÄÀ¿ÂÁ¾½¿ÂÁÄ¿½½À¿¼½À¾¾½¼¼»¹»¼¹¼¿»º¸º³´¶�þ¹»¹º·º¸»¹º··”¬·»¸¹¸»¸¸µ¶µ´´¸´·¶¹µ¶¸»¸¹¹º¼º»¸³®¯®°³°²·¼½º»¹ºº¹ºº¼»»º¹¼»¼¸»º·»½»¾¾¿¼¿ÀÁ¿À¾ÁÀ¾¿Á¾ÀÁÃÄÄÁÀÄÒÞïñãËÎÞèîïíëìêêììíïíìëé‹íêëììííëéêëìžé𪧣Ÿ›ŸŸžœ˜“•¯²Ñ÷øøùø÷÷øúùúûúûšúûúûûúûúüúûüûüûýýüüûüûûüüûýƒûüûüûü‚ûüû„úúûüûƒúûúùøù‹øùùøøùúùøùúû†úúùúùúû†úûûúúùú†ûùùûûüû†üûûúúûùúùƒúùùúù„ø÷öôõ�¤œžœœšœœœ›š›{˜™š›œš™˜˜—–—™–™˜›˜˜šœš›œ“™•‘”•’–šžžœ›œ›œž¹œ›œž˜œœ›œœžŸ ¡Ÿžž¡ žŸ žŸ ¢¡£ Ÿ¡­·ÉÐÀ«®½ÇÊÈÌÌÍÊÈËÊËËɃÌÇÊˬÊÈÉÊÊÈÊÆ£”Œ‰…ƒ„ƒƒ€{ss‰Š©ÙÜÜßÝ××ÜßÞàááâáãâãâ·ãåæåããááâæããåãäææääáâåææéëìéèçåæãäåäåèæåããåãååææåæåäåãäâ…ßàßÜáÞß“ààÞÞââàâäåääåáâääâãä›ãâãââßãäãàâæäâãâáääáâàãàÞÞàâáâ‰áâáàáßÜÝÞÛØ�‰‰Š‡„~…††…„†`sƒƒ€|{|{~y~~}€‘‚‚|uxw}}yz}†…ƒ„‚†ˆ†‡…„ƒ‚‚„†ƒ„®€‚„ƒƒ„†ƒ„…†…ƒƒ„ƒ„„…„…„œ¶¸ ŒŽ¢ª±µµ­ª©§¦©©­­¨«¦¤¤¦¢¤¦¥£¡ ¤¦¦£‡}xplmgghb]`[ML\Xw²²µ²°­ª¬±¸»È·¸¹¸º¼½½À¾¹·¹»»½·º¼»½»¾¼»·¶»¾ÂÃÊÐÒÏÉÃÀ¿»½¼¿ÃÄÁÀ¿½¾¾¿½¾¿¾½»¹º½½¼º¶µ·¶´±µ²³Š²´¶µ¶µ·¼»¼»…¾½ÄÅÁ½¯ÂÀÀ¿À½»¼¿ÁÃÁÁÃľ½ÁÃÀÀ¿¼½¾»½»¼º¹½»½¾¾»»¼¼¾»ºµ¶³´�úº·¼º»¹¸³¶·µªŸ´¶¶·¶·´µ¸¸¶µµ··µ±²·½¸´³µ¼¶¸´²¯®²µ¶·¶´¶¸¹»¸»¹¸¹¸º¹ºº»¹»Ã¼º½¼º¹ºº»À¾½½¾¿¿¼¿ÂÀ¾¿Á¿¿ÁÂÁÁÂÁÃÂÊ×Úßåìíëìëêêëìéëìíîìëìëëìííìíìëêëíë“è󩦟 š™Ÿ—‹‰Œ´²Ë÷‡øùúùùûûúŠûûúúûúúûûúû„úúûúûƒüüûü…ýýüüûüûüûüûüûúûûúûûúû‚úúûƒøùúù‚øøù…øøùøøùƒøùûúŠûúúùùúúûúûúù…úùùúøú‰ûúúûúùúúûù‘úùøùùúøøúøùúùø÷÷öõöô�¹œžœœ—˜š›‘‚•™˜™˜š—–™™˜—™™˜—’•™ž™•”–œ˜™—”’’”——››˜š›››œ‚›œ¹œžžœžœœ››šŸžžŸžž¢ žž ŸŸ¡ ¡¢¢Ÿ¡¢§µ¼¾ÃÈËÌËÆÊÌÌËÈÉÊËÍÊÚËËÊÌÌËÌÊÉÈÉÊËÈÊÅ¢—ŽŠˆ†ƒ€‚„|pjjŽ‹£×ÚÙÚÚÛÝáâàßáßàáãââàßáãäæåããâãáæááäãææäáâããæçéìéèäåâãäãâäãŸâááãáàääãåçæåãâãåäßàáààßÜÞÞßÞÝÞß”ÞßâãáããâáâãáßáâáãáâäáªßáàãáßàâäáâãàßáãááßàßàÞàßàááßßàáàãàáàßÞÚÜÜÛÙ�þЉ†‡ƒ‰ˆ…€‚…yfz}}~€~z|~}~|{wx…~yxx‚~}zzyy†ƒ‚‚ƒ†…ˆ†ƒ††…‚ƒƒ…„†…‚……ƒ~€}ƒ„‚‚ƒ†€ƒ„‡…ƒ…‡„ƒ„„…ƒ…ƒŠšœ›¨²±­­±°ª¨§¢¥¥§¬§¦¨©´¦¨¦¦£¤¥¤£ ¡£§¦¡‡tmmnjgca`\PEE^Zs¯¯±¯¯²´¸¹¹¼¼º½¼»»¾»¼Š¿Á»»¼¼»º¹·»—¾¼¸¹»¹ÁËÐÔÍþÀº¹¼¹º¹¾¾½¹‚¼º»ƒ¼Á¿¼›¾Á¿·¶¶··¸µ´µ¸·´´¶µ·º¸½¼¼½½¼»š¾¾ÁÀ¿Ã¾¾ÄÁ¿¼¿¾º»½¾À»ÁÂÀ¼»¼¾™½¼½ºº¿º¹¸¸½º¼½½ºº¼»¼»¸´·µ³²�Ô¼»¶¸½¼µ´·»¸´µ—¬´³µ·¹º³¸¸¶º¸¹ºº¸º¼¹´­¦¥¦µ·µµº¶º½»»·¹·º»»½½¼»¹¸¸¹º»º¼½¼¼»½¾¾ÀÀ¿½º¿¿¾¾¿À¤¿À¿¼¿À¾ÁÀ½À¿À»»ÂÖäëíîëëêììíìíìëììëíêíƒïîíì¥ëìëêëêëëéò¨¦¦¥ šœ™…†´±Æõöøúùúúùùúû…úûúûúû‰üúûüüúúûûüˆûüýýûûüý üŒûúüüúúüüûüüûüŒûüøøûúûüüûûýüƒýüþýü‘ûûüüûúûûúüúûúûüûùúûú„ûúúùû…üûúúûú‡ûúûúùùúùøöõ�´žž™›Ÿž™˜šœ™˜™{Œ”“—™šœ”˜™™š››š˜šœ™“އ‡‹–™™˜œšœž›ž›œ™ƒžœš’›œ›œžžœžžŸ žœšžÖžŸŸ ŸŸžžŸŸŸŸŸžšœ¢³ÀÊÌÊÅÆÉÊÆËÌËÊÉÊÊÈËÉÍËÌÎÌËÈÉÊÆÈÇÆÇÈÇÇÅ¡•‹ŠŒ‹†„ƒ€~gfmŽ‹ÓÕÖÛßàÞÞßÞß°àáàáÞßÞàááâáãáãåáàáàâàãââãáâãäââåâáãáÞßãåãäãââßàá„ßàâàãˆáßáàáÜÜàß”ÞßáãàÞÜßÝáÞÝàâàáââáá߃Ýàßà‹áÝßáàÝàßâàßàßÞƒàááÞ•ßÞàÞáàßÞßááààßàßÜÛÙØØÙÛ�’Š‚‚‰Œ…ƒƒ€‚cpzx€‚Ây{~…€}~…€wriil~~~…ƒ…‡…‰……„†„„…‡…„‚‚ƒ…„ƒ†…‡‡‚„……†„‚~„„‚‚„†„‰…©ƒƒ†ƒƒ‚€…~{z†›§©«°¯®©©­¯ª©¥£¦¢¤§¡¦¨«¬¨¤££¤ª Ÿ ¢¥¢„~spsqkjf`_^IBF^Zpª¬°´µ¸¶´¶·¹¹º¸ºº¼»Ò¹½¿º½¿¼¼¸¶º¹»¹º»º¹¹¼º¾½¾Â½·¼º´·»¹¹º¼º¸¸··º¸¹º¼»»¿¿¾¿½½¼¾³³¹¶¶¹¸··¼¼·´º¶»¼¸¿»»¹º½º¿Àµ¼¼¾½¿¿À¾¾¼¿½¿¸ºº½»¿¿½¹»¼»¼¼½¼½½ºº¾¼»¹»¼¼¾¼»ºº»»¾º´²²°±¶�ܺ¼¶¶»¹¸½¹»µ´¶¦• ¨µ¸º¹²¶¸¶´¶¹¸¶´²¤‘–¥ª¯¶»¼·¸»¶··º»¼¼ºº¸º¹½½º¹»¼¼»¼¼º¼½½¾½½¼Å¾¿½¼¾À¿¿À¿À¾¿ÀÀ»¿À¼½¿ÀÏàëîìëêëëééë¶ìëííëìííëíîììîìëíìëìëêêíìëéñ§¤¨¤ œ¡››—‡‚–°±Çøøúûøùúúùû„üúûúûüû‚úûüûûüûüýüüûûüúüúûüûü‚ûüû‚üûü„ûûüüý¡üûøóìåàÝÙÒÎÌÈÀÂÂÃÅÄÁÆÉÌÑ×ßçìð÷ùûýü‡ûûúùùúúûƒúûüûˆüûûúûüúûúù‰úøùø÷öõóôöõ�§™™›žœ—–™Šx€‰—š›š•–˜˜–—˜—–”’†sxˆ‘—œ“›œš››œž››š››ž›š›œƒ›œž›¢žŸœžžžŸŸž”›Ÿžž ›œœ ¯¼ÆÇÇÉÇÇÃÃÈ­ÊÉËÊÉÊÇËÉÌËËÈÊÉÇÇÈÇÉÈÆÆËÉÉÄ¡”ЇŒŠ…†~|ibt‰ŠÚÛÞ†ßßààáàß‹Þàáâááàãááãß…ááâßâãâàßâáßäààâääááààߟàßáààãáàââáâÜÞáãÝÙÒÌÂÁÀÀ½¸³®§£¤¦Ž§¨ª®³¸¼ÄÄÌÑÖÖÞߌàÜßÞÞÝÞßâááàß àßÞÞßÝßáßÝàßßáßâààÞàââßßÞàÜÚÛÙÔÖ×Ù�´ŠŠ‚…ˆ…†„ƒ~ƒt[dm…ƒ|z}}{~{|yvlX\mqx|„ƒƒƒ‚„…†ˆ†…„ƒˆ‚„…ƒƒ„‚‚…„‚ƒˆ†…‚ˆƒƒ‚‚„„ƒ‚ƒ‚„…¤„‚„‚€|}}”¢­±®©§§¬«¥¨¨§¨¦¤£¢£¦¦£¨ª¦¯¢ ¥¥£¢¢ž §¡¢ „~rnvrjeib^^J?L[Zr±²´¶²µµ¶´·¹·º¸¹»¹»þ¿¾½½»¹º¶¶¸µ¹¸·¶·µ¸¹¼»¹¹¸º·¹¶¸º¹¹·¹¸¸´·µµ¸¹º¹º¸¶¹»º¿¾¼»¸®®§Ÿ––˜—“‹‹„~y||ƒˆ“ ¨«¬«±·½ºº½¹»º¹¼¼·¸»¼¸½¼¹·¼º¹º»¾»¼»º»½½º»»¼º¼¼‹¹¸¹¸»º·³®ª­³´�¹·º»·¸··¾º·¹¶·¶œ¨°´³±´¨®ªª¦£Ÿ°¡£¯°¸º½¼º¼¼¸¹¸¸¹¼º¼¼»º·ºº¹¶»ˆ¸½º¼º¼¼½¾½Á¿Â¾¾¼¾Á¿¿Á¾¼¾¿¾ÁÁ¼¼½ÂÉÖîíëëêéèé‚êëê‡ìêëëìíïí…ëëíëêìíì—ëêëÆ©¦¨«¥¢žœ›‚œ¶´Íùøú‡ûùûúûûúû™üúúûúûûüûúûüûúûûúúüúûüüûüû–üùûûüûüýüûüûúüüûûúúûûúü·û÷îæÞÔÇÀÃij¬©£Ÿ£¡¤£ž §§¨Ÿ¢©¥¦™”› ¡§°·ÆÔÜãéöûýüúúùúûúû‡úúûùûúûú…ûúûúúù†øùø÷ôôõö�½œœ›š›š™ š›˜š™€ˆ‘•–““‹‘‹‹‡ˆ€’ƒ…‘“š›žœžž››œŸœœ›œ™››™–œœ›š›†žž¡ž žˆ žŸ¡žœžŸ„ œŸ ›ˆ¡¥¯ÉÈÇÉÈÆ‚ÁÅÈ®ÆÈÉÉÊÊËÈÌËËÌÊÈÊÉÆÆÉÉÊËÊÉÉÈÇÈ¥ˆŠ‰††ƒ}uefyŒ¢Ý÷ÞàáÞßàááàáàßàÞÞàáäãáàâåäâáßßàáâáàáââäâàáßàßááäáäåãáààßãáÞÞÝÝßàßâãâÜÜÓÅ·°¦Ÿ˜–ˆƒ|y|{~{xwz€uvv}~~rpuy|€‡–¤¨µÂÌÖÝãààÝÞÞà†ßßàßáâàŠâáàÞßàâáâáߌàáÞÝÞßÜÚÖÕ×ÜÛ�Ĉ‡„ƒƒ‚ˆ…ƒ€‚ƒelx}zzqvppigbbvhiw|‚‚„ƒ„††…„„…‰†„€ƒ~ƒ‚}ƒ……‚„…‚„…¶„…„†€ƒ†ƒƒ„}ƒƒƒ|~€Œ«±­¦¥£¦§¤¨¤£§¥¥¤£ ¡¢¤¨©¦§¦£¹¢¡¡¤¤£¤£¤¥Ÿ ¤‰uopxphhfb^UCAQa\q³³µµ³¸µ¸µ·¼·¸¹»»¸¹¹º½¿½º¸¹¸Û´¶µ²¶·¶¶µ³¶··¹¹·²·µ¸·»¹¸º·¶´¸´´³²µ¹µ³µ¸³°­ŸšŒ…{uol^[]UTRTVSROQX]]OLNXZUXILQOMS\l€|‰š ¯¸»¾»¹·¤µ¹¹¶·¹·¸·¹¾»¼º½¸º¹»½º·¶·¹¸¶´µ¼¶±¬ª¯³µ´�£·¶¹¹º»¸¸·µ¹¶¶·«§®±°ª§©ªš§®¯µ¹¸¹º¹¸º¢¸·¶·¸¹·¸»·º¼»º·¼·»¹»¼¸·¼ºº¼»»¹»¾»¹½§¾¿¼½À¼¾½¼¾¿¿ÀÁ¾½»¼¿Îßéë¶àëçææçèééèçééèêéêêëìëëìíîìëêëêëìžëíïñòĨ¤«¤£¢žšŠ~ƒšº¶Í÷÷øúùøùúˆùùûúûúúøú†ùúùùúúûúûûüûûúûûúúûúùùúûüûÂùúúùùúùûûøðÝÉ»µ®¦¤¤žª¥š›¡ž“›ž¡™™•“Ž˜ £Ÿ¡¤ž¡œ”—˜–ž¢¡§®¬¹Öëôúûùúù‚úúù‰úùøùùúøøùø…ùø÷öôõôõ�¦›˜›œœžšš›™›˜™š‰‘‘Šˆ‹Ž~Š’‘—œšš››œœ›šœ›Ÿœœ™œœ›™˜›šœžš™œœ›œ›œ›œžœšžž²Ÿžžœœžž¢š™Ÿ¬½ÆÄ“½ÉÃÄÄÃÆÆÇÄÃÇÇÆÆÇÇÈÊÈÈÇÊÊÉÉÌÊËÊȤÉÊÉÉÈÊÍÐÒ¤Œ‡Ž‰ˆ†„ƒ~n`ew’£ÜÛÜßÞßÝÞàß‘ààßßàßàßâàßÞááâããà†áàáàâáàÞàßàáààãâàáààß¿ÝÝÞÝÞÛ×Í¿¬•‰ƒ~}ww‚}ttzwwomwzzutomijty|x{}zx{uoqwqpwz|‡Œ¡¹ÆÖÚÝÞ‡ÝÞßÞßááà˜ßáÞàßÞáàáßÞÞàßÞÝÜÛØÖØÖØÚÚÙ�¢‡‚‚„†ˆ„ƒƒƒxnvyzpmqsedmuu}…‚€ƒ‡…‚¢„‚ƒƒ„…ƒ††„„~„‚‚…‚~ƒ€‚‚ƒ€€ª„‚„‚„€}z…ž¦­h“¨žžŸ£¦¤¢ £¥¤¦¥¢Ÿ ¡£¥£«¢¤¤¥¢¡ ¡ ¢¡¡¢¥¥ª¯‰smurojfgb[M@BQd]p²±³´±´´¹µ¥¶·¸º¶¸¹¹¶¸»¸µ¶µ´··µ¶·µ²µ¶·´´¶¶¸¶µ³²²±¶‡µ·¶²³³²³á¶´®ª£“kkc\WXPQ]VNPTPPKGQTTPLHLDFPTXQQYUVXOEGNIKOUVZ]ex“¥²²··¶·µ´¶µ¶·¶¶¹ºº·¹¶¶³¸¹¸¶µµ¸¸´µµ¶¯«¯®±´´±�ƒ¶³¶·ƒµ¹¶²¨±¶¨žªœ¨¡¦¯±²¸¹¶³±··¸·¸º¸·¸¶¸´·´¹¸¸¹¹½½¹¹º™¶ºº¹¹»¼»»º¼¼¿¾¾½¿¼»¿º¼¾½¿½•¾»ÀÁÀ¾¸»ÊÜèíì鿥ÂåÈéæç‰àèççèéìéèéê£ëëìíìëëééìíîðôôï麧¤£ž¤ ›Ÿž•†‚zž´¶Ï÷ø—ùúùùúøøùøùùøùøúûûúúùøùúû”úûúûûüûúùøùúøùúûúùûûúÇùúúùùûûíÓ»®¦ ¥ª¡•”˜š–š˜ššœ–Š™£Ÿš‘•™”œ¦Ÿ•Ÿœ™–™œ¦¸¡™©©› —›¡¯¹Êßõûûøøù‹øøùùøùøúùø÷ø„÷ø÷õôƒóôóóô�¸™–™™šš™›™–••“˜ŽŠ{…‚‡’–—šœš—–œ››šœ›š™™š˜›˜››œ››žŸ››œ›˜›’œ››œœŸžžœŸ›žŸžššž žŸ™›¨¸ÂËÊÈžÁ¥ÆÄÂÄÄÅüƾÈÉÇÅÆÆÉÉÊÈÉÊËËÉÉÇÇÊÌÌÎÓÖÏÆšŒ‰ˆ…Іƒykd\{ާÜÜÝÝÞÝÞÞßßààßààÞààÞàáƒââãàÄââáãäáÞâáßßÞàááãâààáßáßááààßÝÝÚǪ“…€|ƒ{rqwsuqsstuvsiwx{txkqso{ypxy–vstwyr‚vzqx}ˆ£»ØßßÞ†áâàßÞÞà”ßààßÞÞÝÝßÝÜÝÛÔÓÔ×ÕÖØ×Õ�Ñ‚€„„‚~}{{vgn]gdjw}ƒ~~ˆ…ƒ„††ƒƒ€†‚ƒƒ…‚„‡‰„ƒ‚…}€€‚‚€€}€‚ƒ…„‚~€€ƒ€‚~‚‚ƒ“|€}}| «®¬§¥Xh™t Ÿ³š¢¡Ÿ¡¥¦¡Ÿ  ¡¢žŸ¡¦¤¢¡Ÿž ¤¥©­«§¤plmnsnedcZLE;P_]y²³²µ·µ³´·µµ¶´·¶³”¸¹¸·¸µ¶µ¶·µ´´¸¹¸³´·µ³Œ²±³µ¶¶²´µ³³±´Ð³±²±˜zi`[X[ZUJKTKPKLMLMMJER\TVQQGNLKY^TJPUVVPLMMWgRL^_PVIRZchq‘¯º»´¶·µ¶¹·¶·¸¹·¹¸¶µ¶µ´µ¶´´±¬ª¬³­®²±²�—·¶¸´¬¬²¶µ¸¸³±°®£u·Å±³¶¶´þ¶µ³µ¹··¶¹¸·³³µ¶¶µ¶¶¸¹¹º¼½¹»»·º¼¹¼½»¼»¼¿¾¼½¼»¾À¿¾¾»¸¿ÀÁÄ¿½À¾»¼ÅËãìïêçáËâä„ãiÕéÚãìççÍäßæèçÅåèêåëêìëêàëíëêëêëïïððíëì꼦ª¦££¢˜›”Œ…~ ®°Ôøùùøøù‚úúù…úùøùùú„ûúùùúŒùùúûúúùûùøù÷øÔúùøøúúùùúùùúû÷侯£–›žš‘œœ•š–’™ž—‘–¡™˜™—ž§¬“Ÿ£¡ž“„Š—–¡¥•“˜¡œš•–”ª®©¯Ëîùúúùùúù‰ûùûùúúøùùø‚÷ø÷‚ööõö÷�ªš™š—‘–˜˜šš•’““‡VŽ›‘•™˜˜—˜š™—š›œš›šš——˜šš™›—œœž›œšœœšž›œ›œŸžžœœžŸâœšŸŸ¡£ŸŸœš¤«½ÄÈÇÆ¿¦½¾ig¿V´Çµ¿ÇÅç¼½ÄÄœÁÃÅ¿ÇÈÊÊÇ»ÇÌÊÇÇÈÊÏÐÏÌËÉËÆšŒŽ‰ˆ‰ˆƒ}xkdb}‡ˆ­ÜÞÝÞÞÝàßÞáßÞÞßàßøààááààÞáÞÞßàâààßÝÞÞÛÛÚÜÝÝÞàßÞÝßÝÜÜàßÝÞÞÓº“‡yswzwmoyxousou{wpsko}{vuusz„†m{}~x~znnbhtr|}olt|yuorr{ƒ†‚‡£ÈÝÜÝàÞàáàáßàââàááÞßÞÞÝÜÜØÙ×ÙÜÝÚÛÜÜÛ�þ„ƒ‚~yz~~ƒ‚~{{yn=izvy€‚€ƒ€„ˆ‚ƒ„„‚~€ƒ…„ƒƒ„ƒ„…†‡ƒ„„}ƒ„…€„ƒ„„…ƒ„……ƒƒ„…€…ƒƒ†ƒ€|z{„“©°µ­©~˜™G7-Œ¢š£ Ÿ~–•Ÿs•› –¢¥£ž‘„ž¥¢¢£þ¦§¨§¢Ÿ¢£~stnproi_`\LC>RVXƒ³µ¶´µ´¶µ´¶´µ´µ¶·¸µ´³¶·¸¶¹¸³¶µ³³²³´··¶±²±¯°¬¯­®²²°±¬±²°¯°´±±²£‰iaXVRTWSHNRSLQQJNTOJNFKYWTUSLWacIY\ZV[·UNN?EQLSXIKUZWTGINX`_Ya~¡µ»»¸º½¹¸¹¼½¸½¼¼»¸·¹¸µ¶µ´²¯°­°µ¹ºº¼�ij´°µ´¸·¹¹µ¶³³®µ±œ´¸¶¶´µ³²¸¹·¶·¹µ¶µ¶¸´²µ¶¸··¸¶··¶¸¹¹µ¹¼¹½»¼½¼½¾º¾¾¿½¿½å½¼¾¾½½ÂÀ¾¿¼º¿Ôéïïìêééâ±Á¡Z@ÆVžî²zäìè«ÉÄççã ÇíêÕëðïîëØâïëëíïôöóõðîðñïÀ¦§«©§¤ž—™„~‚£µ³Ðø÷÷øùøùúûüûúùúùúûúƒûúùû‚úûø„úùùøúùøÃÒ¾®ª¤ž™¡›—‹Œš“–™˜’Ÿ ’–“”›˜•—¦ §Ã¾˜—½¸Ÿ¤¡“‘‡”—’’“”§ —”˜”—•¯²±§¶ãûúûüûúúûúøøúùööùùø÷ö÷ö�¿——’—–š™šš˜˜”•’—”•˜™——–”šœš™šœšš˜™š––˜˜š™™˜˜™™˜šš›–™œ™›œœž›ž‚œž¹ žœ  œ›™Ÿ°ÂÈÆÆÅÇÆ¾Ž™?1¬E…Ìa½ÇÁž¡Â»zÅĬÁÌËËȳ¾ÊȬÌÒÖÐÑÍÌÎÐËž‹ŒŒˆ„{}tgcf~‹‰¦ØÙØÝÞÛÞÝßáßßÞÞßßÞíßÞÝàßÞßÜÝÝßàÞÝÝßÜÜÞÝÜÙÛÜÙØÚÜÞÝÝÜÜÛÛÚÙÖÙÕ¤’‡…‚xs{tshjvpovuqz~quzppwutv‚z›“op–|}mpncprlgmln{rmqprm‡Š‡Œ»ÙÞàÞ˜àäáÞâáàÞßÝÞÞßÝÝÜÛÔÖÜÞàÞÞÛÜÛ�¢€}ƒ‚ƒ‚‚}€|€|bq}‚~}ƒ†…ƒ†€ƒå€ƒƒ„ƒ‚€ƒ„ƒ~‚|„€‚…„‚†‚„ƒ„„†…†‡ˆƒ…†‚ƒ…€ƒ~|w‚˜¬¶³²©¨¥›`gU"Z¢`:¤šLpsœŸ•Jkš}–¨¨§¢‰”£¤£§«¯²«°©¤¥•€ttqqtoi__XJBAU[Zy±¯²´þ¶µµ¸¶´µ´´µ¶¶´³¶·¹·¸¸µµ´´³µ´³´µ²¯³²²®«­«®±²¯°¬°±¯¬­¬§©¥qged`VQWOOHJRNLTVNUWLTWONSSRV\T^wmLQuiY`WMPMERSHEJJP_YQGIMULced\g–»ºº¼½¼•¾½ÀÀ½¼½½¼ºº½»··¸³©­µ¸¹ƒ½»¼½¼�”¼º´º·´´µ³µ¯§¨­³³™¯·³¶þ¸¶´´¹¶µ¸¸·µ·´¶¼»¼º»º¸´µ¹»¹º¶·¸¼»»½¾¿»¾½º¼¼½½¼¾¾¼½½¼¼¹º¿ÀÁ¿·½ÕåñïïëêëÕââñÈtGS7¢_KȱDuÜØt´ºÙ䱎wÀÈ¢{ÄðîëÕÃÌñóöõõìëööñóôñ¾ª¥¦§¥¤Ÿ™œ‘Š‚Ÿ¹²Ìùúøùûùú‡ûùúûúúûú‡ùúûüûûúû‚úüû‚úúüŒûùûúúûúüûùûûúÓùú÷Í®°¬¥¥Ÿª¤¦¦™–“—£¦™œ¡™Ÿ¢œ—£¤›¬·µ¡«»Ÿ¡³ªºÓº˜š¢“˜™›’ˆ•‹’š¢œŸy˜­°´±°Þûûúûüûüûüûúúûˆúûùùøø÷øù†øø÷÷ö÷÷ö�”›–›š––˜”–‰Œ”•|˜–™‘›™—˜œ™™›œš˜™—™šœ››™–˜™›š›˜——›šœœžŸœ›œœœ›œÞ›™šž—ž±¿ËÊÇÆÄÆ³¾¼Í§Y=C(}QA¦Ž2[¶¹\˜³½ŒtY¢¥„a£ËÉȰž¤ÏÒÔÓÓÅÅÓÕÐÏÑÎœŽ‰‰‹Š‰…|vmcc{‡¢ÚÜÛÞÞÝÜÞÞÝßÝáàÝÜÝÞßÝÞßÝÝßÞáÝàßÞÞÛÜßßáßÛßÞÝÚàÝàÝÛÜÝÛÙÙÓ¡…ŠŠƒ„yƒ~€sipor€uv{uz~yr}xˆ|ƒww‹ƒ“§tvzlksstvkbnelt|w|Qs†ˆŒŠŠºßßÞàßßãáààáà’ÞßßÝÜÚ×רÝÞÞßÝÝÜÚÚÜß�Ň€„…€€|{vnsw{|br‚~‚‚ƒ„ƒ…‚‚ƒ„~|‚…~„ƒ‚ƒ~}€‚}~|{~‚†ƒ„€‚ƒ„ƒ„ƒæ‚„„}~‚~€w}’ª³°°¬¦ª‹••¦}) Q&nW0*Yf„“\:*svL.u£¦¡†kp¥­¯¯ª›ž®­£¢£¨€upmmqpj_aVMDAL_Wq³´³µµ´²µ³´²³µ±²³þ´³¸µ´³³µ´¶¶³¶´³´¬­µ·µ¯«²±¯²´³´°°²²®®ª¨¡nXcfbcS]WZ]PIOLMZ[OQWPUYXPZZTahiVZfRSc\o‚jQRUHKUQOPIDLAHPUR[7Sddihf»º¹¼¾½¾½¾¼ºº»»¼º¹·¸·²®±¶¸¹¼½ºº¹µ¼À�†µµ¶·´²´Ë¯®­­´¯´¡¡²±³´¶¸µ´µ·¸³´¶¹µ¸µ¸·¸¼º¸¸µ´·¸¹·»¼¹¸·¼»¾½¼¹º¼¼»»¾¼»¸»½¾À½À¼¼·»ÀÈÞêëêÈéèèǼ¾¼Âck†XcK7{;K“¯m·»ºÆ‰‰…x­µFnÎßëµt¢ìôòìð×åðñÞØí콩£§©ª¥Ÿ™›Ž†}~ž¸¯Íøù¤úùùøøùùúøùøøùùøøùùûúúùúûûüûùúûúùúùúûúûú‚ûúùÉúùøõ¸µ¯«§¤Ÿ¡©ª¤œŸ¢¡¥ •–š››œ—”¢› ¬§µ§ÃÁ®·³¡š«œš¡—‘’™˜”‘‘˜Ÿš—§®±­¨Øúû…ùûûüúùúùøø÷øùøøùøø÷öö÷õöõ�˜ª›˜•—™–‘•‘—„””—˜š›™——šš——™šš˜›ššœš›˜˜šïœœš˜˜œœžž››œœ››Ÿœ›šœž œœ›•𠍻ÆÊÉÉÈÆÇÅŨ™Ÿ¢¥OZqIAE7{Z&5n•Z˜œ˜¤puj^’˜?X¥¸Æ—Y€ÎÖÐÈϯ½Ëλ°ÇÊœˆŒŽŠ…}vl__y‡¦Ý߆ÞßÞÞÝÜ݆ÞàßßÝÝßàÞßþààßáààßÝÛÞßàßÞßàâÞßàÞãßÛÝßàÝÙÒŽŠŠ‰‡„…†€xyz}}yrsvwwzvq~u{‡‚Š™•‡ŒŠ|uƒsu{{pnlpktxtnmmv|zx_v„ˆŒ‰…¶ßááààáâàáàßàßàßÞÞÝÜØÛÝÞàÝÝàÞ„ÞÝÜÚÛÞ�‰‚|„‚€ƒ}u«xu{jd~}‚„ƒ€}€‚}€…‚€€‚~}††€‚}}€}~€‚‚}|€‚„þ€€ƒ…‚„€~‚„}v{~ˆŸ¬««¨§©¦¢¤|epy|");O- Ai'`h_m::3)U])s›l&I›©¤›£~Žž¡ˆ}– skoquqm_aUNC=K^Us´¶¸µ´²±²±±°´´±­­°°¯³±°¶´³²‡³´³·´³´³‘­¬²¸µ±®³²±²¶µµ´±±³á«¦Ÿ]^cffcZ\db_RUVXVYSKNRRTVSOYOW`[fZolaecTQZKQXTJLLOJRUQIFHSXVW@YdegfbŽ»½º¹º¼¾º¾º¶¶¸ºº¸³¶µ³²¶¹º»»¼ƒº¶±¶»�‹·¹»¸´²µ±±´µ´þ®§Ž›´²°®®³³±³³±³´±²°¶³¸¸´¹¶¸¸´µµ¸¶µ¶·»¸·º»º¼¸µº½»»¸¾Àº»½¾Â¼»¶¥¯·Óìñëçæäàèêéèé±wc?\hœY87&NM(QƒcW•¤—‡‘sR~pO}®•·aJ®ïáÔ¹ÅÄóÛâÁݔ𻦦¨©¨¦ š˜“†ƒ} ¹°Ò÷ø…ùø÷÷øùøƒùøøù…úùøùøùãúøùøùúúøùøùùøùùøøúùûúúøùøùûм¯ª«¤¢¥œ¥žšž¡£¢¤«¡›™”¡£˜‘“§´ª“‘““—Ÿš–œ—Ž“–•œ¢¢‘˜”‹˜¯¯©šÍöúùúûûùø‚ùùøƒ÷÷øùø‚÷öõö�þ›œœ˜—™–”˜™——–’u~——–”“—˜”•—•–—–˜•›—›œ˜›šœ™™˜›š™™šš™œœš˜œœ™ž ššž¡œš”†š±ÉÏÉÇÆÁºÀÆÆÅÆ’\O6AUpˆN#1&=55[IN~Œv~s}^Bg]Hf‡o™ÃH6“ι«’—œË®ºœ¶Ð›Š‹ŽŽŒ‡€}ykf_}’ˆ­ÛÞÞßÝÞßÞÝÞÞßÞÝßßÝÜÝàÞßßÞßßàÝÜÞàßáà߆ÝßàÞÝÝß›áàÞáàáßÞßÞÞÛÛ©•‹Š‹…ƒ…}|‚{x}¿„ywxrz~~snoj€‹ppqov|tr{vlsvqlrxu}zpwuk{Ž…{~«ØàáââáÝàßÞßÞÞààÞÜÛÝâäâàÞÝßßÝÜÜÙÛÝ�Æ…††‚ƒ{~ƒ~|ypZe„ƒ~{z€„~z}}~†ƒ†ƒ~‡†ƒ„‚~~€~€„„†„„€}‚„……€…ˆû‚„‚}ufqy•®µ­«§ —ž¢¢¥£m,&(:U% 'HX@G;C(0),R>ie `œ†va^d™x…gƒ¥|pntsurnd`ZLH;QdY‚´´¸´±³³°°²²³µ³°¯®°°²²±´·²±µ³²µ´³³²±ò³µ²²´µ²²µµ·µ·´¹¸ºµ°±°°yhdiif`fb]ZaYUXZWV\^UTVPXZZPIJD[f\KKMJTXPPYVKPWPNRSRX[ZQXVO\pqd\`…µº½½·¸½¼»¹¶µµº¸º·³´¶¸½½¾½¿½„º¸¸²·¸�¤¶µ¶³´µ³µ´²®¯©©¥®²¶´µ´²°²°±³³±°µ´µ·¸³´ü··¶µ·´´¶¶´·¹¼¼¸¹¸¶º¹¹»¼¼º¸¼»¹¸»º»¸´§½Úéìêèéæåɧ¶×âä¨QUBL‡Œ’kC1-C, FS^TMŒ †qxNb\…¤šˆm?n¦ºÎ¯¬È¸¯Üȴຣ¥¡¨§¦Ÿ››—‰…Ÿº³×öøùùø‚ùúùøù‡úøøùúùúù‚úúùøùø”ùùøùûûúúùùúûúñݽ®©§¢£¢ªŸ•¢Ÿ¢¦¥›žšžž”𛕛Ÿ˜–› œ¬±¤˜—’•’ˆŽ––¢ž›˜ ¢¥»¼µÄçø ùøù†øø÷÷øúù…øø÷÷öõö�ƒš™˜—˜•–”•‘’ŽŽ‹‘”™˜™˜–”–””——•”˜ˆšœ–™˜—›š™Œ—˜š™˜™›œ™›™½šœœ›™™—››š˜”‰žµÅÈÆÃÅÂÁ¥€w•¶½¾ƒ5A.+ky€^)$(22;COIyˆo`o]>JFk³ƒukM(Q‚’¥†~ž‘° Ž¹˜‡‰‡ŒŒ„€|mic|’‹±ÚÜÝÞÝÞÞÜÜÝÝßÛÝßÜøÝÝÞÝÜÞàßÞßÝÝßÞßàßààÝÞßßÛÛÝÝßßàáàÞÞàßÞàÞÞÜÝÛι™Š‡‡ƒƒ……ˆ~t{y|~vwzv{zxovwpvzssz~v‡‹~suonstvfmrp}{yx}€ƒ‡˜™’¬ÉÛÞÞßàáßÜÞßààÜÞ’ÝÝÙÛÝÞÞáâàÝÜÝÝÚÛÛÚÚÙ�ƒ‚þ~|{zz|vstx|ƒ„ƒ€|~~~~}ƒƒ„†ƒƒ„ƒ„}‚~‚„„€„„€€ƒ…„‚„…{}€}ykƒž±µ±¬§¨£ƒXNo‘š–` 9EM1   !ER<,7':48L@8 O»[jPGm^CvkXylopssojda\MG@Qh`г°²²±²²®²³´´±µ´²±±²³²²³·²´·¹µ´³Ï²±²´´³²²³µ³²´·¶¹¹¶¶½»º´²±³¶²¥peefdeieg]RX]SVZ[QSYTZXULPSJRYRQY]Rgh[RSQORTSJNPP[¬\_`cgz~t‘°¼¼·º¹µ¶½¸ºº·³´¸¸¶¶°´¹½¾½À¼¼º¹º··¸µ¸·�“°ª®©¨”˜™žª¨¦¨­´´³³µ·µ¹¯´·¸··¹·¶¶·´“µ¶º·µ¸¶¸¹ºº»¸½¼¼º¼º½¨¼¾¼¾½¼¾½½»¯©ÇÕêñîéêëéèææÖtxie…¸§ZƒNPsš–|BÊCH/8+NV0nªmokz‚yK{}—qy†Jt|t•µ»™¢Í䯴¶¥£ §©¤Ÿ›ššˆ‡Ÿ¶µæøøùùøùøúùúúûùûúûúûúŒüûúúùúúùúûúúûú‰ùùúûúúûùúûÙúûúûúûûüýûîÙÆµ¥¦¬®§«°¯ ŸŸ¢©¥ªŸš˜˜¦£™—™”›Ÿ¦˜¤¦¢£¢¥œ‘“›¥£¡¦¨¶¶±¬¸ÇÍèöüüúùûúúùúúûøúûúûúúùøùû„ùùø÷ö�­’ŒŠvy}Ž‹‹’—–••™™š™˜œ“˜šš››š™˜˜™—˜——˜›™—™˜š‰››šœœœ›œþ›œœœœš˜‹¤³ÅËÈÆÇÄÁ¿¿²ZUFFa’8i.J‚o0(2++/$:N2]ŠYU7QaW3]hf|TWa.VTHl’j•utœºŠŠ•ˆ‡…‹Œˆ‚~|}rlj|ÀÛÛÝÜÜßÛÝÜÞÞÝÚÝÞÜÞÜÝÝßßÞßßÞ݃ßÝÜÞÜááßÞÞÝÝÞÞÜßÞàáßàßáààßÜàÞÞÛÜÜÝàÜʵ¡‘ƒ…‹Œ‡ˆŠ‹~|yz‚ƒxxvlr}srwrw|‚t~||}zonx|ƒ‚ƒƒŽ‘†—¢¬ÄÔâáÞœÝÞßßÝÞÞàÝÜàÜÝÛÙÛÝÞÞÜÞàáÝÜÜÙÚÙ×�Žxtyuq\^dgtstux”€ƒƒ…‚€†|€‚„‡}}€~þ„‚|‚€‚„‚…„…„…‚ƒ‚ƒ…‚ƒ‚…|yso ³¶¯««ª¨¤¥£‘1';`Q8 $IL<   /U(##.' )20C'(/ $ 5]:nH=c…Q\tnmmorkf`[[PIGPcbžµ±²²±²­³´†±µ·µ´³´Œµµ·¶¶·»·³´³µ´·¶¶µ·º·¸ºº»¿»º¹»¶³ä¸»¼À¼¨Žwj`gfijikl\XW[^\cXYWKNXZQPXSQZcS\]VZYbZMOY`dbaebmsmfr~Œ®¹Å¾º¸¸¶µ¶·¸·¹¸µ´´µ±´´¸º¼¼½½º·¸µ´¸¶³µ´µ�Œ£š ¥°¨¬°µ±·³²œ°³²³ºµ±´¶¶·¶¸·µ³¯¨­¸¶¹¸ºº»½¿»ñ¾¼»¹½¼¼»¹·¿º¾¾Á¾»Åü»µ§©Éáèëëìëéëìéæåæì¢e~SU´£d†]LBožŽaH\>j1#9P1@l\yev¢v2r‡fntPjx›zw“¿˜yš†‚}~k¬¥Ÿ¡ª§¡Ÿž•šŽŸ²¹ôùúùøúúûúúûûúùùûŠüüûüûüüûûüûüˆúúûüûûúûüˆûüûûúûúûü”ûòáÕÆ´±³¯¯¦©«§§¦­©¦­¥‰ ¥ª¦¬¤«¦¤©¢¤¨¬®¨«¯¬©«©¯¤¤²¸Õòøùûúúûûúúøùúûúûùú„ùú÷ùúû‡ùùúùùø÷öõö�Œ‡}…Дޑ”˜•š˜—¥”–•–š˜”—›™š™š›™•‹Ž˜™›š›šœ›ž›œ›œ›šœè˜šŸœš£¢›™”ˆˆ§½ÃÈÉÉÈÇÆÇÅÁÀÁLjM^55”ƒEbC"N†{H/F&M+',I58YGL,JxX$VjG\\8IQuSQp¡}Uwa[abP‹„†Ž‹…„‚€vynz‰’ÑÝ…ÜÝßßÞßÞ‹ÝßÝÝàßááßàâà›ÞßÞßââáààßÞàáßàááâàáßãåàáÞàÞ¾ßßàâàãßÒ÷¤“‘Žˆ‰‚„†‚„ƒˆ…„Š‚ƒ…~‚‡…‰€†„€‡‡„„‰Š††‰ˆ†‰…Šƒƒ“³ÏÜÞàß‘ÞÞÛÙÜßßÝÝÞÝÚÜÝÜÙÛÝ‹ßáßÞßàÞÝÞÚÛÚ×Û�þkdmrxx|€|‚~||}€|~„‚€‚‚}vosz~ƒ‚‚€ƒ‚„„†„~ƒ…††‚}„€‚‚†~…ƒ€€ueiЧ¯¯­«¬¦§ª£Ÿ ¡¥c"0]L/ $HB " & ( =+*4'+¢(<!8lI'A,%1/&hqjltpifa_]QQFM]f­¸¹‹µ´²¶µµ´±´´¸µ†¸¶·¶¶¹»þº¸¹¶¹º¸¹¹¼ºº»º¼º¿¿¼¹¾»¼¼º·¹º·¹··½ÃÀÀ¾¿»°£™imiaeaac__ajeemd`^]chin]feahgcaekibejhbidh`^kvœ²·»¼¼¸»»´´³±µµ³¶¸¹·¹³²¯µº¼»¼½»¹·¹¶¶´…µ¹·´²±µ�‰¸¶´·ºº·³²³þ¸µ´¶³³¸´¸··¶µ¶¹´¶µ±¶µº·²¹¿½¿¼É½¼¹»¹¼º¹··¸¹¸¾»½½¿¹¶µ³®»ÅÕèïìéëìïíéèèäååéÕÓY96=p®KjYOMA„›cQlO]"*8C6*8_hPfŒO0yhPZu9m¡}‡¥†žŸv`HPF“b^ª§š¢§¥¤£Ÿ Ÿž¢ˆšªËùúùúùùûúúûúûùúùùû†üüûûüüû£üûüúûûúûüûúúûûúûúûùúûûüüûüûüûüüûüûûü´ýüøòíæâÛÔÓʽ¾µ¯¥¤¨®²¥§£ ¥¯·²µ°µ¼³º¹Ã¿ÂÇÎ×Þçëðùüüúúøù„úùøøùúù‰ø÷øûûúûûúù„úùø÷öõ�þ›šœžŸœ™˜—˜ššœ›™™—–™–™šœš˜™›™š™•˜–›™•šŸž›¦›œšœ››š™š›š›œœžš––’š¢±ÃËÈÆÈËËÉÇÄÁÀÀ¾Ã®¯B1( KŠ3@B1&$e€?4V6F!$%-></9J>&=]2%WL:Qd*£Q}\c€j‡‡]L7:9QFŠŒ‰ŽŠ‰‰„ƒ~fsƒ¥ÝßàÞßâàáàßÞßÞàßÞßáßáãâßãåäâãáàßßàâäàãâáàßäãááàáÝâãáââãâßáßáääãàâáâäçâÞ×ÏÁ¼³ª«¢——Š‚‚„’„†€€…Š‘‹’˜––™šž¦°¶ÄÎÕÙÛáÝÝßàÞßàÞÝÚÜÜÝÝÜÛÞÝÜÛ‡ÜÞàßßááà‰ßàÝßÚÛÚÙÚØÛ�„……‡ŒŽ†€€€…„†…þ€}‚…ƒ€~„‚€‚|z}€|†‚„€‹ƒ…‚ƒ‚ƒƒ‚‚„ƒ~„ƒ…‚ƒ|yvrp†˜¬²°«ª«®¯¦¢¤œ ƒ„&T +D/ '*.$K)0L7RU+"eqfq’tnnlbb^\T;EUyº½¾½¼º«¸¶¸µµ´»¸·¹¸¸¶¹¹º»½¼¼»¹¸»ºº¹º¼¹º¼¼º½¾À½½¹¼º»¼¾†½¾º¾Ã¿ÀÌÅÆÉÅ·­–…†ynrjbZ^ckofd^`giorplt{sxvyupsv~—£³µ¾Ãƽ¸¹¸¹¶ºµ³²µ´³³²µ··´´²¬³º½¼¾¼¸·¹¶¶´µµ·²°²µ�þÇ»´µ±·´²·º²µ´¶´·´²³²³´¶·µ·µ·µ²·µ²´¸³³¶¼¼»¼½»¼¾¼É¿ÁÀ¹·¼º»ºº¸·±§©©»ßìîíèéèçééèççæåçãÄÆŸOC=Dau?cYs‡E3fV_hn0 1:E5']qTdX?d`=Yhkc¡_ƒ_Ž ™›Œb-3Kg`££¢¢Ÿ¤§  £žš‡Š¬æúù†úøøúùùúùˆúûûúúûûüúƒøúùú‚ùûúùˆøúùûûúûúûƒúùùû§úûûùûúûüûýüýýüûúùôîôøöñèáÞåðïîóôõ÷ôùúúùú†ýüüúûúùƒúùøùŽúøøùøùøùø÷ùøù÷ø‰ùùûùúúøøúø…öõöõõóò�¬«¡šœ™œ™šœž—š™›˜š™–—•—™šš™š˜™™–š™•—š•—˜Ÿžœžþ§Ÿ¢ ššœ›œ›š˜‘ˆŒŠ˜»ÅÈÈÅÆÄÅÅÇÅÂÃüÁ¾ss(2(4M$;ATj,%O%:LL& %.>5#*OQ5;5%FE)K`_KHdEm…}„uU*+CUI†‰‚‰‰…Š„„…~waaÅáßàááààäàâááàâá­âáàßáàáåââãäãââàßàÜàáãááâááßßâàáÞàáààáâááâäâáà¬ââáåäáãááäãâàâäáàÝÚÙÕ×ÜÙÕÑÊÊÍÏÌÈÐÑÕÙÕÝÝßÞàÞàá¯ßááÞßÝÞÞààßááÞßÞÝÜÝÞÞÝàÝÛÙÝàÞÞßÞßââáßßáÝÝàÝÛÛÚÜØ�£–އˆ†‰…„‰‰ˆ†ˆƒ„„|{€‚ƒƒ~‚‚…€~|€|þ„‚…†…ƒ……„†ˆ‰‚ƒ‚„‚†~ugkm}ž­²²««¨¤¦¥¤¤¦ ›™—ywQL  ' *? % '*   #+,"59POMQ=)$_mksnipseef[L72O›Á¿¾½¾¼ ¿ÀÂÁ¿½¾½»¾»»¹º¼¹»»¾¼½¾¼½¼º¼µ¸¶¸¼»¨¹¹¼½¼ºº»¾½·½¾½¾ÂÂÀÁ¾¾¼º¿¾ÁÄÃÇÄÁÅÀ¿ÃÅÅÃÂÂ½š¶³°³ºº²±©ª°­¨©²±²¸³¿À»»¾º¾‡½½¾¿¼º»º†¹·½¸¶¶´œ³´³¶²±°³µ³³¹¼½¼¿¼·¹ºµ¸¶´µµ²²´±�©ßÝ̹²´´²µ´°±µµ±±³±´³´³´´¶´µ´¶´¶¸¶»»¹º»¾¾Á½—¿ÂºÄÀÉö¸¼½¼º·¯©¿ÝéïëèçØæçæèæååä༹ã®{fYD9LZlWjtlVv@17MRJJ9 4 kIct†ƒ<FvvNbk_Ic†­–„ˆY&;V?z¦¢ž¢ ¦§ž¢œŠf}’íø„ùúùøù†øùõùúúù„úûúúû™úùúúùùûùùúùúûûúùùúùùúùûûüû–üüûúùùøúúûúûúùúùúûùúûùú‚ùúû‰úûûúûüúúüøˆùúûùúùùøù‚úúù‰øùùøùúúùúùø…÷ôõøùø„ùúúùø‰÷øø÷öõöôôõô�þ¾¼® š™˜™š˜–—˜™•—™•˜—™˜˜—™—˜—š˜™›šœšœœ Ÿ¢ž¡¢œ£Ÿ§¢™šœœš˜“‚Ž¡¼ÄÇÇÆÂÅÃÁÂÅÄÀÂÁ¾¸Ž“¼ŠT94).</BJN6Z/%+43++!]>UUa^&/RU8kZ[p±E3Hd’v€mlK+7M:_‰ˆ„…‡†‹Œƒ„}fATkÑàßßàßàáäàáâáÝááãâá„ßáåãå‡ââãßÞàßá–ãààááâààââåãâäãâããááààßáââäâãåâàáäâàáƒäãáâšåáâãâäæáÞÞÝßßáââÞáààáâàßßàßààßßÞßàâßßàÞßÞ›àßÞÕØÝßßÞßßàßàáàßÞÛÜÝßÞÜÜÛÛÚÛ� ¬­žŽ„ƒ……ˆ†€ƒ…€…~‚~€€~}~ƒ€„…Ÿ€†…Œˆ„…‰‰ƒ‰…Œˆ}€‚ƒ‚}|udl€Ÿ¬²¯¨þ§£¤Ÿ¡ ¡¢¢•eeh*  '#0 +&&20 #%/(+9 3\BN;6  2elknoknqfcfY?'<ªÂÀ½¼¾¾¿ÀÀ¿À¿½Á¿Â¿¼»º¼¿À¾À¾¿Á¿¾¾À¼º»¹»Â¼¼¿¾¼º¸½¾½º½ÂÁ¼Â¿ÁÅÅÄÅÁ¿¾½¾¾ÀÄÁÅÃÂÄ¿¿ÄÁÄÁÂÁ¾À¿½ÀÀ½ÂÅÅÄÃÆÊÄ¿¹¼¾½¾½¶½¾¹º»¼½¾¼½¿½º¸¹¸º½»¼º¸·¸µ´³·µ±©­¸»¸´´º¼½»»¹·¸´´¸¶¶¹º´²´�þÍÏÐÖÓ¿·±²²³±³¶´´µ²²¶¶µµ±´´²´³µµ¸»¼¸½ÄƼ»¼»º½À»»º¼ÄÉÌÁÃÆ³§›¶Ëìïëèéåäæççäæäåçéç寔i±NjjOYU]vdb[m\@61<U@DAQ>52lm-$pPRdr]\zo[k”¥iM‚Š’…™‡~A)WY9‚¡¤¢ž¤¢§¥ œ ¤…`|«öøùøùøùú…ûùùøøûŠúûüúûûúüûúûú„ùúúûüûˆüûúûúûúúû‹úúûúûûúúûùùú‹ûúúûúùúûúùúù‹ûûùúúùøùùúû úøù‚úúùˆøöøúúûúùú‚ùøù„úù÷÷öôõô�­®°°¶´¥›–—–—––š™˜™–—šš™™“—–”––™—›žšž¥¦œžœ›ž ›“œ¡¦©¡¡¤”ˆ€™¬ÊÌÉÃÃÀÂÁß¾ÀÀ¿Áÿ½ˆh8fŠ7BH3>38E75-G:#&A.3!?8&XZ.&_71DPD;f[VT\uJ2Xhwdyj]8/IF1b…Šˆ„ˆ…Љ„ƒ„b>RŒÛßÜÝÞÝÞÞà•áàááßáãáâáßàãäåáãàâãßà”áââáàââãáàãâàßââãâßâá¾àãâàßáààßãâãáãááàáãààáàÞãâàâÞßáààßÞââßÞàÞßßáàâàßáàââàßÝâßßààáßÞß—àÝÝÜÝÝÜÚÛÜááàÞàãààÞÝßÞÞ݆ÞÝÚÛÛÚÛ�þ—šœ¦£‘ˆ€‚€~~ƒ„ƒƒ„……ƒ€{~}€~…ƒ‚~ƒŠŽ†……„‡ˆƒ…ƒ…†‹‡ˆ‡uia‚—²®¬¨©¥ £¤¥Ÿ¢žŸ¤¥ŸY;Bd"   )-0 (6)$%,: *6D2D5*7cmnlpinng_b`=(h»¿½º»¼ÂÀ¾ÀÀ¿ÀÁÀ¾¿À¿À¾¾ÄľÁÁÂÃÂÿÀÁ˜¿¿À¿¾¼»¾¿¼º¼Ã¾ÄÁ¿ÃÄÂÃÆÃÂÏÀ¾½Â¿ÀÁÂÅ¿ÃÀÄÁý¼¿¼¾ÂÀ»¾¿ÂÁ¿ÂÂÁý¿¾¾¼¼¿¿¾¾½»¼¼½½¾½½À¼ºº¹··»¹»¹¸¶¹¶¶´±°°±¶¼¼º¹»¼ƒ»·¸¶ˆ·º··¶º¶³µ³�ªÎÊËÏØÛÓö³³µ¸¶¶µ³·´³µ²µµ·¶µ¸¸·½ÂËÊÅÁǾ¶¸¹º¹ó¸»¼¸½¾ÎÒ¶¿²ÉßëëêçåãççæäæååæççèèÌÍ¢‡`dk?Uoh¹…g`zXfwa;??EpZ]@]meB+BVUF_MKRcŠ[rwc`gŒ[`€ƒ‹Š´8+HLEp£§§ ¢ ©¦¤ž¢¨£‡}Éùùûùúûˆúúûúúûûüûüýƒüýýüýüû†üýýüûûüû…üüûüûü„ûüûüû…úûûüüû‚úûüúû†úüùûùúû‹üûûúúùúùúûúûŒúùù÷öúúûùûûúû†úûûúø÷öõ�¯·º³¤™——˜›š™—–™—–˜•™—™—•™š™¡«ª¥¡¥ž—š›œ››™˜›œšœ©¬•œ’¦¹ÄÆÇÂÁ½¾ÁÁ¿à¾¿¿¼ÁÁ¡Ÿ{g9-@57GD’fA/F'1OA%0VGF%J]I. 3IIBS>05Gp<IYJY[o?7P_ccihŒ7.845M†‹Œ†ˆ„Œ‰ˆ„†‚aS¨ÞÝÝÞàÞÝÞÞàŠáàÞßßàáààáã àâáàáßàáãááäââáâääãàããàáâàãáàäáãâ®áßÝâáàßàäåââàâáââáààßÞßààâßààáàßßãàßÝàßáßàÞàÞáàÞ‹ààâáàßÞÞàÜÝÞ”ßÞÝÝÛÙÖÕàââÞàáâßààÞÞߊÞßßÜÞÜÜÛØÚÛÚ�Œ™•”𠬢~~ƒ¹~}ƒ‚}~}}|ƒ„‰’’Œ‰†}€…„ƒ~ƒƒ„ƒ‚uu¤±®¦¢£ž¤£ŸžŸ ¡Ü{qH2 k<    &!/# (%"B%')0#/2/02N*gpqmnhrmlaab\9*ƒ½º»¸¼½ÁÀ¾½À¾Œ¼¼¾ÀÁÂÀÁÄÃÂÄÀ¬ÁÄÁÁÃÀÁÂÿÀÀ½¿¾¾À¾¼¾¿Â½¿Á¿¿ÂÀÂÃÃÂÁ¾Á½»¼½¿¿ÀÁÀ—ÁÁ¾¿½¼¿¼¿¾À½½¼¿¿¼¿¿¾¾½¾»½¶º»¼»¼»ºº¹¼¾ºº¸µ´²µ¹¹½¼·º·²¯ªª··¶¶¸¹»»¼»º¼ºº·¸¸º»·¶µ·µ´´²�˜ÏÑÏÑÐÐ×ÔÓ¼¸²³³µ´²¯´¶³±³µ¹”·¶·ÂÇÛèáÌÀ¸¶··¸»¸·¹¹¼‹µ­®·Ùåëîìçåäåçææäåääææáää©z޽bL:NZi¨•jSZ[s}S=iU_~WFbgŸp7<\GYNbRyEk[CLeiefCcodx‚v¦˜07A:H_¤«¨Ÿ§ ¨¨©¦¤ªª¢™Úøøùùøùúûúˆûüûüúûüûü„ûüûûü„ûûüýüŠûüüûûüûüûûü„ýüûûüƒûûüû‚üûü…ûüûüüûü„úüüûú“ûúùùüûûúûûüûúùúûüüúû‚ùúùúû–ùù÷ùùûùûúùúüùúúùûûùúûüú‚÷÷ö�‚¯°¯–°´°±Ÿž––—˜––’—˜–“–—š›š™þ ¤¶Â½¬Ÿš™šš›™˜™šœ›œ–ŽŽ—¶ÀÃÇÄ¿¼¾¾¿ÃÁÀ¿¾½¿¼³»½|@[–l=-40*9|n; ,%<X8Ke9@`;*MZŠa*3I3NFP:Z1OE&6Q`XO+9FEZeVy34)(3@†ŽŒ„Œ…Œ‹Œˆ…‰‰~p޵ÝÜÜÞÝÝÞßàááßßà¯áßÞàßàâãâàãââßàßáââàââááàáâáâßáãáâàßááâãâãââààßàˆÞÞâãáãâãâ ááßàÝàááààâáâàßßàÞßàÞàßáàáàááàÞÝÞ‹ßßàßàáÞàßÝÞÝ™ÞÞßÞÚ×ÛÜáââßÞßàÝÜÞÞààÞáââÞ…ÜÞÛÚÛÝ�þš™™—˜™œ‰ˆ}}~|}{€‚~xz}‚€€ƒ‚ˆ‹ž¯¨”†~‚†€€€ƒ‚{qo~¡¦¬¯¬¦ ¡ Ÿ¢¡Ÿ››ž˜Ÿ•—™S!3_8 M= $+D- ",V= $&-+ +(É,.!JAduphojrmpkdebR?ˆ¸¶¸·¸¼¾½½¼½½º»»½¾ÁÀÃÀÁÁÀÃÃÂÀ½¿ÂÁÂÁÀÀÁÁÀÿ½¾Š½¼¿À¿Â¿À¾À¿³ÄÄÁÀ¼¼½»¹½»½½¾À¿Á¿Á¿Ã¾½¾¼¼ºº¾¿¼¾¼½º¸¹¸¸¹º½¾½½·º¾¼¸·ºˆ¸º¹··¹¹¸µ£´³·¹¼¼¸ºµ®¬²´µ¶¸¸·¹¼¸¹·¸¼º··º¸º¹º¸¹·¶µ�ŽÏÎËÐÐÏÐÂÑØÐ³°¶±ƒ³´³´‹··¶´¸¹¸ÆÃ¿¹¸÷¶¸·¹µµ·µ¬¯·ÑçîêéäâààääããäãäåãåæåÖ§Áì‹|‡}¶pde^n_ycYRprz‚i•wKWxM7X^iX=P_QdSbYWh1NKGmxO4C[\RNilv<McAFP}¥©£—¡¢¦¨ª¥£©¨¦®ä÷÷øù‹úøùùúùúûúûüûüüûûúûûüüûüûúûûüû†úúûûúûüŒûûüûûúúûùûûúûƒùøøú„ùûüûúû…üûúúûú…ùúùùúûúøùùúúûûúúøùùøù…ûûú÷ùúûù„úùúúùƒúùúù…÷öõöõõö�©¯®¬°±®¯¢¯·³™”™”•”–š—–—˜˜–—šš™—™›™¢¢¡›šš™˜š”˜˜——‘™­ÀÇÆÈÀ¿½½À¾¾½¿àÁ¿ÁÀ¿°y•Ä[9KVN†F<9-54A!*4:R`?nU4/Q/BU]K.@D5TBJ?BR)=2/XhF%2:7@QKY/:I+66[‡Ž‰}†‡Š‹†…‰ˆ‚…¾ÜÛÜßßÝßœààßàßßáâáßáãââãâãââáâàßäâáßàáà„ßààßáŒââáâáâäâàßÞßàááàÞÞßááãàâáâáÞßšàãáàáãââãáààááààßâááàáßÜÝÜÞˆßßÝÜÞàÝàß‚ÝÞ݃ÞÛÝß‚ááÞ‘ßàßááàäááÞÞàßÝ×ÜÛßÝ�—›š˜œœ——‡“¢¤„|}}~…‚~||~ƒ€|€‚}ˆ‡…€€€ƒ“~}{os|”©´±ª žž ¡›œÑœœ››œŒMi;%-'P  $.7' ')1# *!%  - , 1fsk^ikmÄgde^VT’µµ´¶º¼º¹º½½»¼»¼½½ÀÃÁÀÁÀ¾ÁÆÁÀ¿½¾ÀÁÀÀ¾¼½Àü»À½½¹º¾À¾ÂÀ½½¿¾¿¼¿¿½º¹›½¸¸·º»À¿¾¿¿Á½¸¾½º¹¸»¼»¼½¹¸·¶‡¹»»¾½¸¸»¶¹µ¹¹·´¶º¸¸¶´¶³µµ´³¶¸¹º·´±³µ¼º·¶»¶¹¹·º½»»ºº¹º·¶´¶¹¸·´¹¹»¹�þÓÒÓÎÌÑÕÑÔÚÛÔ۱°´¯²µ´²³³µ·´µµ¶¸¹²³¹ºº·¹ºº»¸¸±¥¥»ÙâèéçäçåâááâãâäããäããÞÒèÛ“З‰˜{„¶ Œœ€NZ~rV[wfsnav]FI_OGP]VHAEHQ„xfl‚oC<\Ky‡F-¢<VI1fq{fH_Z@V7z§¨—¤¨ª§¨¢§§£±ã÷öùø…ùùøúùúùúûúû„úúûùúùùúùùûûüúûúûûúúùøùƒúø÷ù‚úùúŠùùûúúûúúùúùú…ùûùùûúùøù‚ûúø‚ùùø˜ùøùú÷÷ùûüûûüûúúùùúûúùúùúùø„÷÷öôõö�º²²³®¬±´®³¸»²¦••“™––™˜—–—˜š™˜˜™š›•–œœ™š›œšš”‰‰š¶»¿ÁÂÂÆÂÀ¿ƒ¾¾À¿é¹®¿°eE£]DeDOcO`N'(9%$78)AJ=ZH)!8.*9UJ;22,=qcJVn_9-C2ctA(54/UTUI2>:2E*]‹Ž„w}‰ŠŠ…‡„~‰¾ÙÖÝßßÞßßàßàßßÞßâáàãâáââåáââåááåàˆááâáààßÞà…áàáäâãâáÞÝßÞàßàßßÝÝßàßâáãáàÞáßááßàâãáà‚áàá–ààáßáàáÞÞáÝßÞÝßáßÝÞÞßà߈ÝÞÜÙØÞââàŒãáàßáâáäãàââá‰ÞÝßÞàÜØÛÝàÜ�¿œž¡›–š–š¤¬¢‘‡~||‚€||€‚}}|„‚}ƒ†~wmm~š¢§ª§¦¥¢žž™›½œ››’ˆ˜ˆ@+xI&2#E) /    ! )" @9 !6+ ,5©' $  3ithYaloniibc]SX³²µ·ºº»¸º»º¹»º½”¼½¾½¾½¾Àž¿ÀÁ¾ÁÀ¾¾½¼½»º»·»¹¸»½¾Á»»½¼º»¹·¶¶··¶··¸´²´·¹½¼ºº¼¿¿¹½º¶¸º»»¹º»·¸µ¸·¶¸¹¸¸º·¶ºº¸¸·¹µµ´´·¸¶©µ¶²³³¶µ¸·¯®º½¹½¾ºº¼¸¸»º¼À¼¼¹º¹¶µ²²·¸»·³¹¸¾½�ÇÒÓÌÆÎÒ××ÕÓÓÍ;±´Žµ¶·µ·³¶µ´´²´´¸·ý¹¶¸¹Áº¸´©²ÌßååââãåãåæåâáâååãäãáâãÛZ£¨ƒm™s`u}ywˆ…pM^šŽ]_qrcexEWKZR@JWYXLC5@f°ƒˆlL3UDpŽE1:95Iqbdn[M:HT/X©¡›˜š§¬®ªª§©¥¡´Ñçáðöø‚ùøù…úùùûøùû‚úúûúûƒúùúùúùûúûúúûûùùúùùøùúøùø†úøùûûùú†ùúúùúúù…úúùúúù‰úûûùúùøùøùúùŒúùùøø÷øù÷ö÷ùú…ùûûúùúùø‚ùøö÷ö�™§°±¬¦®°¶´±³²®±¡–˜—˜˜™š™™–˜ƒ•——š‚™œšþ ›™•Œ–¬¼¿À¿½¾Á¾ÀÀÁ¿¿¾½¾¾¿¿¼½¾³5{tYBnZ$/<HJALD;$&F?*.)'@/@[4($4/$8OGD;'!;U•tlwb181Zy<$* .F[GDK5/"7E'D‡‚~€‹ŒŒ‡‡€zЧ¿¹ÍÙÛÜÞÜÞ…ÞßÝÝÜߌÞÚÞàßÞßááââãàßà’ááßÞÞÝÞÞààÞÞßßààáá߆ÞßÞÞàÜÝÞ™ÝÝßÝßàÞáàÞÞáÞÞßÞÞááàÞßÞÞßÞ«ßààÝßÞßààßÝÞÝÝÞÞßßÞßàâàßÝÛÛ×ÖÛÝÝßßÞßÞàáàßàáàÞÝÞÞßßÞÜÞßÝÙÚÝÞÝÚ�’“—Ž˜›ŸžšŸ ™Œ|~€þ‚~~€{‚ƒ‚‚ƒ…‚ˆ€‚xn{’§©¥¡ ¡¥¢¥¤Ÿœœž¡Ÿœš™š›VO. D; &  %)c?9?..G"*$ %mojfgnþrpkgcaXMWu”¦µ·¸»¸º·¹¶·¸º·ºº¹»»ºº¾¿Ã¿ÀÃÁ¾¿½½¾»¼½¹º»»º´·¹··º»¿ºº¼¹¸µ¸¸±³µ¶¸´¶¶µ´´µ³´¸»µ¶»¾¾¼»¹·¸ºº·¶¸¸º»¶¸¹µ³·¹¹»¹²µµ¶¹´´¶µ¶µ³´”²·¹¹¶¸µ·²±´°®°´º¼¸¸¼¹ƒº¹»¹·»·¸¶³³²´¹»ºµ¶¼¾ÀÁ�²ËÀÁËÅËËÏÏÔÖÒÏÙÓÍź¸¸·³¶¸¸·¸¶µ¶¶³°·¹¶·»¾½·±¯ÁÔãåæãäã‡åæèçåãåäæããááåí£\¨ˆllnjdP]vlbaW€^‚}YjjbgSW[\ZEIUDNI?=FBT“jxsUGZTC¨›DXPhpRwTUM6G{€’g¯¨¡¡««¬­«¬ª¥¡¤®Éñõõöø÷øùøùˆúùúúûûúûü…ûüüûûüˆúüúûûüûúûú‰ûüúúûüúùûú…ûûúûûù‡øùúúùúüûúû„úúûùúûƒúûûù‰øûúúùúûúùûŽúûúûùø÷ùúúûúûúû‚úüû‚ùúû‡úùùøùøøö÷ø�—ª  ¨¤©ª­­°·±¬·¯¬¦œ›™—•—™šš˜˜™™–”™›™™œžœ–’‘¢µ¾¿¿½¿¿½¾À追¾¿¾¼»»¼¿u.s[i\F13<;7=E5/4*00$C6--5K5&:C9);M;A7&&9>Hy[hg1'3.$Š…01.Yb@Z;92)-Yb|KŒ†…ŽŽŒŒˆ‚z|„ ÍÓÔÔÖÙÜÛŠÜÛÛÙÝÝàÝÝÜÞžÜßàâàââßßâàÞßÞßáãàÞÞÜÞßáàÞÝßÞÝÞ‰ÛÜÝÞßÞÞÝßÞœÛÝÝÞÞÜÚÝÞÞßàßßÞßßÞàßÞàáÞÞßÝÝß’ààÞßÞÝÜÝÞßÝÜÜßÜßÞÝߌáâáßßÜÛÙÛÞÝÜß‚Þßá“ÞßàáßààßÞßÞÝÞÝÝÞÜÚÚÝ�²•‰…‘Œ’””“˜¢ —¢ž”„‚€~{€~€}{ƒ~…„ƒ|vw‰š¨¦¥£¢ þ¤¥¨¢œ¡Ÿ Ÿ›™”••žVC/5+     !F.20 Z] )/)  '.P*ppmltoqofcaYMKRs¦²²±·µ¹³´·µ²±²¶µµ¸»º½º¤¹À¾½»¼Ä¿½¾¼¿¿¹¹¼¸¼»½º¸¹º¹¶·¹»º¹»¸¶³°³’¶¶º¸·¶µ²··µ¶º»·µ¼¾¼Ï»º¸»º¸»¹¹º»·¹¸··º»¼»¸·¸´³´³´µ´¸µµ¶³¶¹¶·¹¸»·°°²µº¹·¹ºº»¸ºº¼·ºº¼¸·¼»¹¹µ´²µ·´³µµ¸º¼Á�Šº´³¹·ÂÁÏÓáÚ†×ÑÚÔÊø¢º¸»¸º¹¶º¸¸µµ·µºº¶¡™ÄÛêëèèçäááãåèèåæýäåæäèåØÊÊ´µkg’wq…_h^WE5JK^½›dTXn=ZjTjzKVpMFDD/7=>WL5[©‘YiWGTYG†¨U\Swse…nsS>i£vÅn­¬¢«¯¬ª¬¨¯ª§¥£™Óø÷ùùúùûùøúùøù÷÷øùùúúûúúûûúûûü‚ûûü…úüûüüûƒúùúû‹üüûûøúûúüûúûƒúûú û•üüúûûüüûüüûûúüúûûüûüüúƒùúúûƒüüúû“ùúûüú÷úúûúûûúûûüúüúûúûƒùúøù…øööõõö� ›–”˜—  ¬±»··¶µ®µ´«¥™—š›˜›šœ›šœ›š˜”šš—z¢·ÄÅÃÂÀ½»½¼½À¿¿Áþ¿½¾¿¾Â¾²¥Ÿ‚€9<m_[m?;BA6))#.a L:&5 ?@4\?7=?580'893I‹„PZ3(-+$a‡9*1e`MfPP?6GtU¡U‡ŽŽ‰Ž‡„zo©×ØÚÛØÛßÛÛÚÜÜÛÕ×ÙÜÛÛÜÜÞÜÜÞÞáܦÝáßÞáàÝßßÞßãáààÝÞààáßÞÞÛÜÞßÜÜÛÜÞßßÜÛßßÞÛÝÞßÞÞßàÞàáààÞááÞãáßßààßàÞÜßßàßààáÞØÜÜÝßßÞÞàÞàÜÝÜßààßààÛÖÜàÞßßÞÞàßßáâßàÞààßßààÞÞÝÞÜÞÝÛÜÛÛ×ÙÛÜ�­|{v}|†‡’š¨¤¥£Ÿ–›ž“€~€ƒ~~€„ƒ„ƒ‚€€}|~{f_Š¡°­¦þž¢¡£¢¢ ŸŸ ž¡£›œœzs^T=-(5 g> $  SX&( 2Q *'$5 ";"k/lsmqqmoobd`YOH>„¸¹»¹¿»¿¶·»¸´³¬±²²´åµ¶¸¸´¼»·º·À½¾¼¸¿¿»¹»·¹¼»¸¹··¸·¶¸µ¶·»¸²³­²·µº¶¹»¹¸¹¹º·º¼¾½»¸»¾»»º¼¼º¹¼½¾¼»½½¹»¶ºº¼»¼»¶»½¹²³µ·µµ¸¸·´¶¶¸·§¹º°«³¸·º»¹»º¼»¹¼¹¹¸»¸·¶¶º¹·µ¶²³²³°¯³¯³´µ¸�þ¹¹¸³³ÁÅÐÓËËÒáßÜØÓÞÛÊ»¼¸¶µ¯´¶¸¹¸´µµº¶«©µÎçêæååãåèæããåääáäææããâãæçåäÞШ}pm?d•wRAF_IF2A;Mr}`:LbA67Q[sv:Q\ZCEN)%CVVYYg³žŠFd=@TD6[c¯]\„lYoo_ybR[iÆ”²­¥ª¬§­«¨­¨¬¨’•Ñö÷øøúùúúûüûùûüûúù—øøùúù÷öûùûûúúûúûúùúúùûùúùƒúøúûùŒúúûûüûûúúûùùûƒúûúû†úûüûüúûˆúûûüüúúûúƒùùúù‰ûûúûûúûúûùˆúøøùûúúùûü‡úûûùúùúù…ûúùøúø‚÷öõö�³›œš•• ¤®²ªª¯¼¼¹´³¼»«žžš˜—•—™š›œ—˜˜š˜Œ‹–ªÀÃÅÂÁÀÀÄ¿¾¿¾õº¿ÁÀ¿¾½¾¿ÃÀ¿º¬„P:57xhO98MA7$!/VH")#1"-0 >MA:90..07=DO‘‹}D?!>>'4gO:OTF`R69L¥u’‘‰Œ‰ˆ‰…ˆ€jl¦ÔÛÝÞÞßáÞáäááâàÞƒÜÝÜÝ…ÛÙÝÚÜÝ‚ßßà›ÞÝßßàßÜÞÜÜàÝÝÚÛÝÞÞÝÜÜÝßàßßà߇ÞààßÞàâá†ßààäáßâËãâßÞßßààáÞáãßÞßàÞÝÛÜÞßààßáßßàÞßÞáßßÞÜÛÚÜàáßàáßÞàÞââáâààßààßßâÝÝßÞÞÝÛÜÛÚÛØÙÚÛ�þƒ…y{Љ”š“”˜©¨¦ ž§§’„†||yz‚„……€‚{iiw©­¨¦£Ÿ¢§¦ž¡£žšž£ žžŸ˜›—…[/H:   1&   "  ZYNë -!$)6+oKrvnnkgnoee_^S;=y¯¸º½½¼½½Â¿¾À¿¿¹¸¶¶´´µµ¶±¯¸³µµ¹·µ·»¹¶¶µ´¶¶´³³²´µ³³¯´´³²°³´·¸¹¼»½»º¸»¿½¸»¿Â¿¼½‡¸¼½¿¾¿¿½Š»¹¼»¹¼»½¿º¹»··¸¸¶µµ¸¶·¸¼»¸¹·¹¶¸¶²¯®¶¹¸¶µºº¼»½»¼º¸·º´´µ´µº¶²²´²±°³¯¯²¯´³´�šµ´·¶¾ÇËÏÊÎÖ×ÛÒÛßàåáÓȽ»¸·´·Ž´³´®¦ž²ÆÞæçãáâáòäæåäâäåãåáãæãââäâÝâåܰ}WW|©„TASTLVBNo(!/7G2+2'8jv[5TI]UVF!C^Fkipc>«_T<XQR);Rc{_Z`BG|`kTrÓ’­±¤©¦¡«¨¦«ª§£€¨Ååóö÷øù’ûúúùùúûúúûûùùúøùøø÷…ùøøùøùøùøùø„ù÷ùøù„úùûûú‰øùùúüûúûüù„ûúûûúù…øùûüúùøù”ûùøùùúúûùúûùúùúùó÷ùøù’úùùûúøùúøù÷øøùùúúùøöõ‚ôôõ�›ššœ› ¥ª¯«­µ³¹°¸»¼ÀÁ´« œœ™˜š™þ–—‘‰‚”§¸ÁÁ¿ÃÁ½¾½¾¾ÁÀÁ½¿ÁÀ¿¼ÀÂÀ¾¾ÁÀ¸»½²”C+"NŽqM<FF942T$(!$%%1)&(HRH0#!.76IIQL6”^9!%(1.MA27-;jdNJ8V±qŽ•‰ŒˆƒŽŠˆ‹‡„~Yš¢¾ÖÝÝàáäßßâãäåââäâãàááàßàßÜÜÙØÙÚÙÚÝÞ™ßÞÞÜÞÜÝÞÝÛÝÛÛÝÛÝÛÞÝÞßßÞßßáŽßáààãâßâãââáàáâ„ãåâáâ¶áßÞÝßãàâáàßßáßßÞÝáßàááâàßßààßààßÜÔÛàßáàßààßÞßÝÞââãÞàÞÞàß…ÞÝÜÞÜÚØ×�þ‚…†ƒ‹‘‘˜’”¡›£š¤¨§®°ž‘‡ƒ€€}}‚‚€|vmbq©©¥¢¢¡žŸž£¡¡ ›ŸŸ¡š¡Ÿœšš—“™œ”q\-.a<#% &  ]1 ð!=:&#'}HpylkgbkkfgaYQ0Nk‘°¹º½¾¿¿½¾ÃÄÂÃÄÀ½¾¾¼»¸º¹³²±¯®®±¯®²°¯²³²±®±±³±°²³±°²±±­°°³·»»¸¼ºº»¸·º¿½»»¿À¾½ÁÁ½¹½¿‚Á¿¼©»¹¸³´º¿¾¾¼¹¸¹¹·µ··µµ¸¸·¹»ºº»¶¹¶¹µ©¯·¶¸¶¶³·¸¼¹¸·¶´¶°²µ´¶¸¸´‰³±²³¯°±°±³�ƒ®¯°²þ¾ÈÈÑÛÚáÜããàáÞÛÐÛǼ´¹º¼¹¶¶­«»Øèçââáâàáàáàåãäæåæåäæäæäåæåáââáɘ£²²Àc\pZ}…IdqzEU…C 2U5.<G?ndLAMcV€_6AVWaBJvVa±q=P^Q`H21OO?^?œ:–Iƒƒ€…¢Ÿ®²¤©¥¨ª©£§¨¡¦‘”Éïõöøù…ûúùúûú’ùùûúùúúûûúùøù÷ö÷õ÷öø†ùùúúøùøƒ÷ùûúùúù†úúûûúúû„úùúúû’ùûûüúûûùûúûùúüüúûúû‡ùûúúùúûùƒòôùú‚ûûùŠûøøúúøøùùúùƒøøùø‡÷÷ööõóôõö�®”––˜—–§©±»¸¼º¿Á½½¾»²º¨ž—šœž›˜˜ž¶Ç¼¼½¾½¾¼½¾¿þ¾ÀÁÁÅÀÁ¿ÀÁÀ½¾½¾¦rfo||ŠV'E3^m@NJD5Z1 #?.+1:.6!-&/6mS+ 07;?-6R7BŽP#%*3!0/;81w9jago…|Ž”ˆ‹†ŠŒ‹†‰ˆjk¡ÌÖÚÛßßáàßßáãçãááâäà¬ßáßààáàáâáÝßÜÜÝÙÙÕØØÙ×Ö×ÙÚÝÞÝÞÜÜÛÜÝÜÝÛáàÞàßàß‚àáà•âáàááâßàââäâãáâáäåâààâ‚ãâà­ãáâßÞÞßààááàßâáßßÞÚÐÔßáàÞàáâàÞÝààßÞâåâßááàáÞÝߌÞààÞÞÝÝÛÛ××ÛØÖ�Ð~€~…“’™¥Ÿ¨¥¬®¦§ª¦™¤„{‚€~yt‚šª¥¢¡¥£Ÿ¡Ÿ ž¤  ¤£¡œž¢Ÿ¡›Ÿ¡Ÿš˜˜–PCLUYd:(0: þ-    4%   P    F;/1:PNlujkflmlcd`VQ:<t¡°µ¹»¿¿¾¼»ÀÃÆÄÄÁ¾¿¿½¼·¼½¹½¹¼¸¹»²²³¬««­ª¬¥¨««¬²´²³²µ°®¯Ç±¶»»¼¹¸¸··¶¹½»»¾½»¹»¾À¼»¼¾¾¿À¾½º½¿¿»¸º½À»»¼½½À½»º»¼»ºº½¸µ¸¼¼ºµ¶±¦®¶ºº¸¸»–·µ¶¹º··»º´·¹¶º¹¸·¸µ·¹´²†³´´±®´²¶�þ°¯¯µ´µ·´¾ÌÒÔáääçåæàÝäá×Ó˹··µ²­¾ÐàãäâááââäââááäâáåçåèéêéçææäåâãåäàÙÆ¢‡‚¨kf]P]aa|DS`N;GS`[C|‡pTomO_S…k=%OB`TD†ˆf^t‚DK_PLC&°]^\P=1DE„u‡º¡¯¶¬§¤©©¨¤ª¤¦”Ôöõö÷øøùùúùùúûûúûüûùøûúúûüüûûüüýûúûšøùø÷öóóôúûûúúùúûûùúúûúûûúúûŽúûûúüûüúûüüûûúûüƒûüüûƒúúûüûüû†úù÷öøúû‹úûûúûúûúûúûúˆûùùûúûùùú‰ùøúø÷öõôõö÷�ƒ””“™þš–ª¯±¼¾¿Ä¾¼¿½¶±©œš—•“‘ ¯º½¾½¼»¼¾¾¼»¼¼½¼¼½¿ÀÃÆÇÄÀ¿¾½¿¼½½À¹­—mNJXuR:83-CINU@&5/25=KH3X^4#FG&1.[V5%7/:44b\8+AR"-7'$GA3.5Î'09n_tx–zŽ˜ˆ…Š‹Š†Šƒznf®×ÖÖÙÜÛÜßßÜßáãäáàßáàÞÝÙÜÝßßããáßáàãáààÝÞÜÛÚÖÔÍÎÒÛßÞÞÜÛÝÞ’ÝßàÞÞßÞÞßßÞÞßàáààßá“àáàßàáâàáàâãâàáãááäá…âááààß—áàßáßààßÜØÕ×ÝâßÜÝÝàáßÞÝÞŒßâãáààáàÞàßáߊáÞÝÞÜÚØÖ×ÚØÓ�þ|‚ƒƒ‡’˜˜¥¨¬´°±®§ª«¡˜‘ƒ~{xyzˆ• £¦¡žŸ¢ Ÿ¡Ÿžž¡ ž¤¥Ÿ¤¥¥£œžžššœ™•wH)(4M.!&  +5  )$  '" " µ  8);GfLjxridkklcd\PS>:…­¯®±µ¹¼»¼½¿ÀÂľ½¿¿¹µ»¤¾À¾½¾Á½À½º¹º¹¯°²­¤›©²³µ³·±¯´¶¶¸¸¼¹½¹¢º»¼»½¼º¼»¼º»¼¼½½¼¼½¾¾¿¾¾¿¿½À¾»½¿Á¾¼©½¿¼»¼½¹¸ºº¼¶²°¬±»¼¼»¸»»¼½º¹·¶¹¼»½»¶·½·µ»»ºŒ¼º¶±±´·µ²°®²³·�þ¹º¶µ¶¶º²·¿ÇÒÞßâéëêçåèàáàç×ËÀ³Éßãáßààäáâãáãææäáàââæéèçæèèççäâèèåçææè×´|fpŒ–€y‘˜‡nbƒ\d7D*knJHW^G=YEX\gWT`h\QVJUJ„‹P5RyF3DDCT>,¥!EE5+-7Km‰—xZm•±¸§¦¤¦¦¥¤®¢•™žßööõöøøùúŽüúûûüûúúøúüûûúü‚ûûüûüüúøøôùøõöøøùúüû„üûûüúƒüûúû†üüûùûüû‚üûü‚ûúü„ûüýüû‚üüû†úòøúøúûŒúüüûúûùûüûûúûùûüüùùûùúûúùù÷ö÷ö�ƒœœš™¬œ”–¥­¹»½ÄÆÆÃÃÄ¿¾¼Áµ«Ÿ“§»½¼º»»½¼¼¾½¼½¼½»»½¼½Áþ¿ÂÅÀÁ½¼ÁÁ¼½¿¾À°‰WDBScH?ZiagUGK,1%RV<>GF*$*56H4.(<O"661*/ce8(:'+%.!/+$*1Xv~cHQp‘™‰‡…†ˆ‡„Œovqt¸ÔÕÓÖÙÙØÝÛÜÞÞààãâààÝÝÚÛŠßÝÞÞàááãâßàˆáßßÞÞàßÚÔŠÚÛÓÖ×ÖØÙÚÝÞÁÝÝÜÞÞÜÞÞÜÝÞààÞßááÞßÜßàÝßáßÞááßâáßââàáâàãààÞÞßßààÞßáàÞßÜÝÝÚÐØÝÙÞÞÜÝàÞÝÜÚÞãâÞÝÝßßÝáààßßÞÞáßÜÝÝÚÖÕÖ××Ñ�刈„ƒƒ…|}ƒŒ—¡¤­µ¶··¯²­ª¥¯¡‘„wŒ¥§¡œžŸ¤žž›¡¡ ¡žšŸŸ£¥Ÿ¡ž¡¢Ÿš™ žœžœš e8!-7%"1?39)" '#   þ   ,(    #4=*#Cpzkiedkjbh[FKCG‘¯¯©¬°µ¶··½¾¿¾¿ÅÂÀ¾¼¾·º¿»¼½À¿½»¼¼½¿¾½¼º³·Àº¨ £®³¯©ª®­«¯³¸»¹º¶¸¸»¹¹º»¹»»½¶¶¢¾¹½ººµº½¼º¸¸¹½ÃÁ¾¿À½¹º¿¿¾¾ÁÀ»··¹¼½»±¹º»¸±¤±º´»¼¼»¹¼¼ºº¹··´´¹¼¾¸´¶¾¼·¹»º¸º½º·´²³µ´±²±³´µ�Ÿµ´·»º¶·°·¶»ÈÒãâéâåßáêêéçáÚàéèããáƒßäãáƒâåäå‰çæäæäåäæåæðåæèçééèèçæç·d^guo~‰€plDKJL!~.>}W-5LQB41@*3ZR8Yh@kJE;BD\=4eJ.9-I@&)&""43t„\~‰—¯³œ¤£¦§¦¤©¢”–“šàöõõöõ÷ö÷øøùùúúûùû‹úúüûûúúûüûûü’ûüûùøøúüüûúúûùøùøùø ùúúùúúùúûüüúûüúûüûúûüüûùüûüûüúûûü‚ûüû‚üüû†ùúúûúüû÷öøúøùúùúùûûùùúûù†ûûúûûúûˆúûúûúùúùú„øøöõöõ�þ™˜›œ›š“˜—›¥®¾¼Ä¼½¹¼ÃÆÅÀ»µ¼Ã¾¿º»¼º¹¼¼»¼º¼¾½¾½¿ÂÀ½À¾½¾ÀÁÀÀ¿ÀÀÿÁÃÀÂÁ¾Ã›K1,8(3C?JP6*!(W!0eN16?8)!**$"63 (G9=(,"-^38$ 5'%#0%!¾ !!J|vcB`ev•€…†‡‰ˆ…Š‚npmq¹ÕÓÒÖÔÕÔÙÚÙÝÝÞßáâãäàßÞÝàáßàâàâãáàáà¢ÞàÝÛÔÔÚááâÙÛÛÚÙ×ÕÜÛØØ×ÙÛÜÛÙÛÛÝßßàÞß‚àÞߨÞßáßßáàßâáßáàâàâàâÞáßÝÝÞßàßßÞßßÞÛÛÖÕÖÛÚÜ݃ÞÞßÝŒÜÝÝÞÞàáÞÞßÞßàŽßàÞÞáÝÝÜÜÙÕÕÖØØÖ�þ€ƒ‰„‚‚x~{Ž•©§³§©¦£°µ²¬§£¯®£¢Ÿœžž£¡›™ž ¡¢¢žžŸž Ÿ ››Ÿžœž¢¡žžŸž¢x( !( ;+    +    „º<6--2Inwciggkhbh]GE@C±®§¨¥©©®²´¹½»½ÄÁÀÃÁ¾º½À¼¼½Á¾»¼º¼½½¼‘¸¼»®ž¡®¿¼º·´¸µ°¯¯³æ²¯±µ´µ·µ¸¼»º´µ»¸º»·¸¹»º¸·¸¹¼½½¾½¼º·¼¼¾¼»¾¿¼º¸¹¸¹ºº¹»»º¹·©«°·¸·º»º»½½¹µ´´²´³¶¸¹»ºµ¶½¾º¸¸¿»¸¹·»µ³´´²°²³µ´±�¤·´·¹¸¹¼¹¸¶·¶¯ÈÔÖÖØÒ×ÛÝÓÊÍÕèéãÞÞàßßàáâ•àáãååçèåääåæååããäçååçèçáè²UESO[wY41 $& Od‚jc05@O(5O& HX.@edn:5*AWWrZ:910.$.  .Ik€A_lzµ¦­¡¦¡¦©¨žŽ•—âöôòòóôõö÷õ÷ƒùúùúƒûûúûú…ûúûúüû™ù÷÷ùùüûûüüûùûüýüüûúúùùø÷ø÷ø¯÷øúùùûûùùúûúúüûüüúúûûüûûüüûûüûüúûüúúûüûûüüùõùúúùúù‚ûûùƒúùúùúùúùúùúùøøùúùøø÷öôõ� š˜šœšœž›š˜—˜¥®±±²­²¶¹²©ª°Áÿ»»¼ºˆ»½¼½½»º¾¿ñÁÅÂÀÀ½¾ÀÀ½½¿Â¿ÁÁÂÂÄÃÂÄÅÃÅ-+3'&( 1JeSR5><:*H(-5! 7B6!$#/>GQ8$''! & ,?^6BLYt’‰€†ˆ„ˆ‰‰kojn½ØÓÐŒÒÔÒÐÖÙÚÜÝàâãàŽÞáãâääáâßááââãá•ßàÙÕÕØÝãááàáààäßàâãáßÝÜÙÙÖ×ÙÛÜÚÙÛÛÜÝÝßàááàâááåâàâáâãâ“ààáààßàáãâààâáØÕÙÞÛÝÞÞÝÞßßÜÜÞÝÞÞÝÞàÞ“ßÞàÝßáààÝÞÞßÞÜÛÜÛØ×Ø�þ‚€‚…„†€}{{~wŒ–™•𔓛¡—Ž‘•¨«§ž›š›žŸž  ›Ÿœž¡£ ŸŸœ¢¢š›œœ› Ÿ› Ÿ¤ŸžžŸg   %0 !      ² . "7`dredghddggZEE<>ް¬£Ÿž¡¢£­²²´»½»ÀÁ¾ŠÀ¿Á¾½¸¼¿¾À¾§¹¼»º¯¡Ÿ¨´Á¼»¿¾½¹º»¾»»¼»·´µ´²´³®±´´®¬®´³¶Òµ¶··¹½¼¼»º¿½»º¸¾½½¼»¿Á¾»ºº»»¼½ºº»º²©®µ¸¸··¹¸¸»¼¼¸µ±°³±±´³´·¹µµ¹¸·²µ¼»·³´¶·µ´´µ³³²¯°±�·¸¥¶ºº¹µ±²·´²µ½ÄÇÈÆÉÖÑÙàáÞÞÛÝÜÜÞßàáââäååäâþåæçäâæååçææäâäæåæççæççãÖ²|CF8-<=/)'C@6'?¯¥=0Xr\wC¢©†h&:B;mU,))+;FN$!+  FRWmQ <CH<Av«²›¢¡¢ ¡•˜—”âõõôðôôðåáâààæèìòˆ÷øøùùûúúûúúûúûûúùûùúûø÷÷ùŠúúûúúûøûüûúûú…ûûùúúù‚øù÷Œø÷÷øùúúüúûúúû‰ùûúúùúûûüúûüûû÷÷ûûúúøúúûùûúø‹ùøùøøúùùøúúùøŠ÷ø÷ø÷öõ÷õôñó�›þšžœ˜”•™–•—¢¤¥¤§³°´º¼»ºµ¸¸¹ºº»½¾½¿Á¿ÀÀ¾¾½ÁÂÃÁ½¾ÀÀÂÁ¿¿½¿ÀÀÁÃÂÀÃÄÀ°ˆO&*$##$)&".61'.„;,NcGJ2‡˜|_'!&/'?""')19?& 7»=AF2z.35.4YŽ“†…†‚‚xxtgl¼ÕÔÐËÐÏȹ´²²´»ÀÈÑÚÜÝàÞßáãåäåâáàááãŠáßáâÝ××ÚÞàá†äáàßäãâ›ãâäâáàáÞßààáßÞßÛÛÚ×ÙÝÜÜÝÞßàâƒääãá„äáàâáŸãâàáãäãàâßÞÚ×ßáàßÞáàâáààÞßàÞÜÜÞ݃ßàà߃àÞàß‚àÞ݇ÞÛÞÛÜÚÚÖ×�¢ƒ…„„€‡…{y{€~|}ƒ…‰Š…‰—–›¢ ››š™˜”˜žŸþž ¡ £¢ŸŸ›¡ž››Ÿ› ›žž›œš›Ÿœžž›š„[,   HB ,#LVO>  " P -kwbdfd`c``SOH;;Œ°­¢˜›‘È|y|~‰’™¨³¹»¾¿À¿ÅÅÄ¿»½¿ÀÁ¾½½¹¾½±¦¤«±·¼»¹À¾½»½¾½½»½¾½¾½»º½¼¹º»º¸¶³´±³¯¯µ²Ï³´¹º¸¹¸¼¾¼º¹¾¼ºº»½¿ÀÀº¾Á¾½½¼¹¸±°·¸¸¹¶·¶¹º»º¹º·¶°®¶±²³³µ·µ´¸¹¶¶´µ·¶²³²´´³´´¶³´³²¬­�‰½ºº¶´·¹¼¹µþ¶¸µ·³µ¾ÅÖÝààßÞÜÜÛÝÞÝßââãäãæèçææçææåæçæçäççæçæåäæçæãåæãääãæ½ƒu…Z:L?9#*V?:21=2 KY>Jkˆ~hkA%"+0,%**@6+E%H4 ku,Eg]D¯=#§#2cª°š–¡žž¡œ™’‹‘•âôôñððìäÈÆÎÐÑÔ×àï÷ùùøù‘úûúúùûûúûüùùûüûùùúû‚üüûüüûúûüûüûûúûùú‹ûúûûüûûüûûúùƒøù÷øùúƒûúùú‚ûúû„üúøùûˆúúùøùúúûúùúù‹úùøûúùúûûùùø…÷ö÷õóôõ�þžœ›˜›››˜š—˜š˜˜”•ž¤²¹¼»ºº¸¸¶¶¹¸º½¼½¾½ÀÄÃÁÁÃÁÀ¾ÂÁÀ¿ÁÂÀÁÀ½½ÀÀ¿¿ÀÀ¾¾À¾¿”PF^7)=& 2)8528( AE4'@qo]a?#&'9( : "& ÁRN&M?.‡(+R‹’~x„‚‚…~yoilo½ÔÒËÉÈ´”“Ÿ¢¥¬·ËÖÛÜÝÛÝßáããßáâáßÞâàâÓáßÚÜÝÞáâßáãåáâááâãäáâãâááààÞÞàáââáâààáâßààÞÞÜÞÜÛÜÚÜÝÞÝÞÝßâÞÞáßààßâàáââàßߨ×ÚÝßàÞàßÞà‡ßßÜÞáÝÝÞ‡ÝÝßÝÞÞÝ߉ÞßßÞÝßßÞÜ݆ÛÝÛØØ×ØÖ�…†þƒƒ„‚„~‚~~yy‚ˆ– žŸž™˜—™™—šŸ ¢Ÿ¡¤¤¡§¥££¡ ¡œ›ž¢ŸŸ™›Ÿ¡œ™™ž›žœ—–f-"1   DB?>      1+¯ !X *kwb^gb`d]_VF>?@«¨™”‘‹~ZYdinq|Š¡°·¸»¾úÄÈÃÀ¿¿½¼Àº¼¼¿Á¶±°±´»½¼¾¿Á¿¿À¿½º½»¿ÀÀ¼º¹º¼¾½¼¼¿¾¿»½¼½ºº¼º·´´±²³±²°´µ¸¶¹¿»¹º¼¹º¿Ä½¾¾½¼¾º±²·ºº¶¹¶µ´¶·¸¹¸¶·¸¹´²¶´³´³³¸´±·¸¶··¶´²³´³´µ¶µ³°®²³²�œº¹º»·¶½¾À»¼»º´³¶»ÂØãßáàÞßÞÞáàþáßáæçéêêéèçèéèéêéêççèæççæåçèççèèææäÜÔxks»[[a<4JLK_.#-$3%c !4P"*3En(--B>A1+'nk]+"="^“Ÿ™”¤ŸŸ›šš–‰Š–Ÿßõñ•éðèàÙ½ÅÍ×ÛÛæó÷øúùùøúúû„üüûûü‚ùûü‚ùüûüýü„ýüûûüûüûüŠûûüüýüûûüüûüûú‰ù÷ùúúùúúùûü†ûúöõúûü‚ûúùûúûüŽúúûúùûûúûùùúûûú‹ùùøøùù÷÷öôôõö�þœœ›žš˜žŸŸžœ›––˜›¡³¼º»½º¹¹º½º»»¹¸»¸»¾¾ÂÅÄÀÂÅÃÁÁÃÅÄÃÀÁÀ¾¿À¿ÀÂÁÀÁÀÁÁ¿¾´¨H7=…78?)!-"EY3  %  Z /H$/4\*85·$QNL)'Iw}x‡‚~{uffpw·ÑÌÀĺ°§Š‘™¦¯°¾ÏÖ×ÜÞÛÚÝÞÞàááàáàâÞàááßÙÝÞÝßáƒâäåâºäãààáààááßÞßßãåäáâááâãâáßááàßÞÝÞßÞàßÞÜÚÙÝÜÛÜÞÝÝÞàÝààßßÚÓÓÛÞ™àÞßÞÛÜßÞÝÝÛÜÝÝàßßÞÝÝÜÝÞßÝÞ’ÝÝÞÞÜßßÞÚÚÜÝÝÛÙØÖØØÖ�¶‚„ƒ‡ƒ€„†‡ˆŠƒ„}{|ˆ˜¤œš››šœ›œ›™š›”›¢Ÿ¢¥¦¥¦¤¥£¤¢££¡žŸ¤°žžœ›ž¡¡œ ›‰v O )/  3Ú <    '"  "!$  $Tca\iaa`^\R@>BH‡¡Ÿ„znPYcs~‘¨¯µº¹¹·ºº»½½¿ÂÃÁ¿ÀÁ´¸¼¼¹­¸·¶¹½”À¿½½¾½º»¼º»»½»¼¼½¾¾¿ÈÁ¿Á½º¿¿¼¾À¾½¼º··»¹·µµ¸¶²³¸¹¹¸·¶³¹»º½¼»µ°¨ª¶º¹º¶¸¶µ³µ¶¶µ´´³´·¶²¶¶´µ±³·µ³´²„¶µ´µ´‰°°¶¶³´±®²µ´�¥ºº¼º¾º¾¿¹»ÂÂÁÅÅÑÛßßàßâààÞÞáâäââáääãâçèêˆëèèéêêëëç…åèçèéèéñëêÞÇ‹}f_HCC"$&)t="9¬Š) /Y.2^-) #3B  !tW#<I‘WeP?\Zy#IŠŒ–žœš˜–”’ŠŠ›ÝÛ‡‡ÑÙÐÑÅÂÑèôõõùùûúúûùúùúü‚ûúûƒúûýü‡ûúüýüýûü†ûüüûüûüƒýüûüŒúýüûüüûúüüûýüý‚üüû‰üüûùùúúûûù‚ïõû‡üüúüüûûú‹ûüûüûüûúùúúû‡ùúùùúùúûúù÷‚ööõ�œœ  Ÿ›¡¡ ¤£­µ¸·¸º¼½¼¸¹½½¾¼»»¼þ½À¿ÄÂÄÀÄÉÂÁÃÅÄÆÄÀÀ¿¾ÁÀÁÅÄÃÁÃÁÄÆÃöž\D31) &&$F+’v) )J+.!Q-) !'9   _E&-qBH8-RI^h9mrqzƒ~}ywsliltµ¹gd¥Š§Ÿ ”‘¡¾ÑÒÔÚ‘ÜÞÜÚÞÞÜÜßàâãáàáßÜß›ÞÝáààâàßáâääààâäââäàßàÞßããáà‚äãâ¡áàáåäâÞßÜàÞßÞÞáàãââßßáàÜáâáÞÚÝàÝÝÛ‹ÊÓÞÞÝÞßÝßßÞÝÞÜ“ÝßßÞßÜÝÜÛÜÞÝÞÜÜÝÝÛÛßàŠÝÜÛÝÝÜÚÙÛÜÜÙ�¿ƒ…„ƒˆ…††ƒ‡Œˆ†‰ˆ’›ž›žžœ–™›œœ›–œœ˜™¢ž ¡§¨¥¤££¤¤¥¥£žž¡žŸ›žž› ž§¥Žq9& 3 bA &  þ.      2 H,%5RIRU]c^_`\VPG@>H‡‡?9rqii^YlŒ¥¤«³µ»¼º¼¸º·µ¶»¿ÃÀ¿Á¾¼±·¼»´±º¼»½¹·½À¿¿ºº½¼¸º¼¹¸ºº»¿¿ÁÃÀÀÁ“¾¾Á¿¸¿¿¾À¿»¶»¹¸»¹¼½ ¿ºº¾½·½¿º¸¶´··º²³¯™¥´µ³·¼µ¼»µ³µ³²‹³´·´²²³´³²°¶²°®®¯±´µ´´µ¶¶²­´„¸·¶µ´�±¶¸¼ºº»¼»·»½¾ËÚßÞÜßÝßÝßÞàáßãàäâààãæååææèçéêèçææèèæå…æèèçèæëçèçéðôïçËuR@%8<(.Ÿª^Š*+1$"# 1e{G'$4"z# +' AW" #   Fo@g“s’€.*Σw@‡ˆŠ˜’“”’‘‰…‹™Ó“P`•ÀÔÒÚãó÷ø‚ùøúùøúûüûúúùûüûüûûüýüúüûüûüûü†ûüüûûýü„ûûüüúƒùüüûüû†ùùûúûúû‚üüû‰ù÷úùùûúúüúûøùùúûûúûúùúø÷ùùúù‡øøùúúùùú‡ùø÷÷ööôõ�¹š›œœžžœ™œž ª¶º¹·º¸·¹º»¾½½À½À½»¼¾¾¿À¿ÀÃÂÃÀÁÿÀÄÄ¿À¿¿ÀÂÁÁÃÁþÄÂÆÏÏÊÀ¢G$ &Œ’GT" )H\<%',l %% 3B&%  6S1CiuKd^#!¯m~X.dlmcn}wwyuuskehs¯z/<i‘££­¸ÌÖÙÜÝÝÛÛÞÞÝÜÜÛÚÜÞßáãâá¶âáÜßáààßâäæåáãåâåãàââäãáåãåâàáäååââßáâáääãåâãääßàÞßÞßßá‹ãÞàáÝÜàááààá“ààáàÙÛßÝÜßáÝßÝÞàßÚÚÜ›ßßÛÝÜÝÜØÚÜÜÛÜÜÞÝÛÚÞÞßàßàÞßÝÞÝÜÛÙ�“„ƒ…„ƒ…‚‚€…ˆƒž¡ž›œ˜šœ›‡Ÿšœœ˜™œ þ¢¡§©¥ ¢££ Ÿœœ›¢¤£š™Ÿœž ¬±ªœ}.  db$D  ( F   $=E.1 y=L-KHMHP]XX[VTQG><F}Q:Yo‡mw„ž§¯±µ²º»½»··´³µ·¹¼½¾Á½¼²ºÁ¾½¶ºÀÂÀ¼¿Á¿¾Á¿»¼½»¹»¼¼½¿ÁÄÅÄÆÀ¾¿ÁÃÿ¿¼¾ÂÁº¹¹¸¶¼¿¾¾½¼»¾º·½¿À¾½¾½š¹¹¶¬°´²°¸¹¸½ºµµ¶­­°±²³µ³°²´‡««²³³±¯®‘±³¶µ´´¶µµ±´³¶¸º¶²²³�ƒ¶±µ´—²·µ¾ÕÝÞÜßÝÛÞÛÞÞÝßÞááãàäãþåèæääææèçååãææåäããäåççèéççâàãâäíóöóòëâÊU&$_=?f@eg*JIZ80AJQ4 >ƒ€0*%2C^GUE  T\VDkŽD<‚«^4{OL†£•jkbƒŽ€‡‹ˆˆ„wy‡•¤<‹FRfµÙæðö÷øöø‚ùùø‡úøùùøùùú‰ûùûüüûúüûüƒûüûüƒûûüûƒüüûü…ûüûüüûŠüûûùúûûüüúû…ùúúûûú ûù„úúùúûùŠøùúùùúùúùùø‡ùûùùøùøùøù„úúøøöôóõ� ™”˜—–™–š˜Ÿ²¹º¸»»µ¸·¹º¸¹»½½¾¼¿½¾¿¾‰¼½ÀÀÿ½¼¿ÈÀ¿À½ÀÂÁÂÁÄľ»½¼ÁËÕÙÒÐĸ¤371N4>9 5<U3'-2F3.yt.# /9VGL7   þ>D9+Aa,$VD'mE9asMPIgrdlnlkfXXdn.+2Aˆ«¾ÌÒØÛØÛÝÞÞÜÝÞÜÜÝÜÜÛÞÞßàÞáàâßÝßáâáàäçæåãæçæåãåãáäãâáæâáâäââäåáâåäãåãâàâããßààßàâàãÞááàä‹ááâáÝÛààãáàá™âßÝÞßàáßßààßàáßÜÝßÝÜÞÝÞÛÛß›ÚÛÛÜÜÛÝÜÞÞÝßÝÛÝßÞßàÝÜÞÞÝÜÙÙÖÚ�¨‚}}|zƒš¡¢ Ÿœ˜›•››™ž›œž ˜œŸžŸ¤¥£¡ ¡£¢§ ¤ž™›ššœž¡¥Ÿ›œš››©³´­ª¥˜…&  '%2æ /  TP+!+   - ,O!J&2]T374JSGLPMLE65;BQU{Šœ¦¯±¯³¸·¶¸¹»·µµ²µ´¶··¹¹»–¹¹½¾¿¹»ÆÆÇÃÆÅÁ¾Â¿¿¾»½¿½Û¾ÀÆÇÅÃÃÁÀÀÁ½ÁÂÁ¿½¼ÁĽ»¼¹º¼¿º»½¾¿¿»¾¼·¸½Á¿¼½¿¼½¾º¸±¶´µ¶¶´»¼»·¸µ¯²±²²µ±³°²·¶µ°®­±³²°¯±²µµ¹±´¶‰¹¶¶´µ´¶´¯­³�´¨²±²¹¿Ï×ÛÝàÛÝ‹ßáßàßÝßááâæäŠâæåææåææäãáƒàâäâöæäâèêçãäâãîööõóóðæÁ–a<N;(7IX‹7 DZ³ŽC^<#`X‚mÞ_ >ZH<h76Cti56[[cZx¦4$T†•~_ZXr}q{qmnh^l{}m.9<_²Âõôö÷ø÷÷øƒùùúù‡úùûûùûùú‚ûùúüûüûüˆûüûûüûüûü„ýýüüû‚üûüŠûúûûúüüûüûü†úûøöúúûƒúúùúûùúùûüúùúúùûúù‹úùûûúùúúùøúù‰úùúùø÷ùùøù†øö÷÷öôóò�þ—•“–¢®µ·¸º·¸·¹·¸¸º»¹»º¸»¼»½¿¿¾¾»½¼¾ÀÀ¾¿À½º»»º½¿¾»¼À½ºÀÇÁ¼½¼»É×ÚÖÒÓ˾›qF&-& *:EZ5Bž|@L-@@o]ÅU %?I=:W' *2WQÁ(!68D=Y„#Ads\ABBWaU`USQKALWWL!(A†•ÓÓרÛÙÚÛÞÞÜÝÞÛÜÞÝÝÜÞàßàßáÞàßÝ”àâäåãçãáäææääâßááâàæãßáääããääâããáßâääãâááßáàâßãáäæâÃáÛÔÞÝââßàÞÝáßÝÞÞàáßÞÜàáÞßàÞÞßÞÞÛÜàßÝÜÞàßÞÞÝÜÚÛÜÝßßÝáÛØÚÜÞÞßÝÝÞÝÝÜØ×Õ�õ€v||„•˜› Ÿžžš™š™—œžœž—™œ™™ŸžžŸ¢¢£ Ÿ ™•”˜•”œšš›ž™™ ¢›žœž¯»¼³¯­ªŸxV3 #C lP& C0<   +,  ¸'+ &O $?P>-/0<C7A:54.$,1/( We¡¦¬­²²³·¸µ¸··µÍ´¸¶¹»¸º¸º¹·µµ·¶¸¸ÀÇÅÇÅÆÄÀ¿ÀÀ¾¸»¾½¾À½ÁÈÆÅÂÀÄÃÂÁÁ¼¾¾¿¼¾»¿Â¿º¼¸¸¼¿»¼¼ÀÃÀ¾½º±¬´¹¼œ½¹¸¼¹¸´´¶·´µ´¸»·¶¶´³´±³±´³´´¶šµ²´±±²´´¸·µµ¬°³µ¶·¶µ´µ¶¶±­¬­�޵±°·ÆÖßÜÝÜÜÞÛÛÝ ßááâàáÞàÞáàáåæåãåèåäâäåâåäãààßâæ䋿áâåãåäçîöù÷ãööõóÛ½£…@.>Id˜x @+‘R,/#©•'$23$&,/*'Bk,"G,9HPA1Y‘‰‚Šd%|‹oacKVXpspka^c^Pt‡{{„Ž“£˜€úö÷‚øøùˆúúûúùûüûü‚ûüûùúüùúüüýüýüüýüýüƒýüýüýƒüüýüúüûüüýüüýüûüûüý†ûúûûùúûˆüû÷úûüüýüûƒüûûü‡úüûúúûúûúûúûŒùùøùøúúûûùùø÷‚ööõ�™–”›¦´»¸··¶¸·¶‡µ¹»¼¹¹»ºž»¹»¿½¾¾¿À½½¼À½»À¾½»º¸¼¿¼½½¼ºº»¼…ÀÊ×ÚÜØçÕѳ—…l/#88FlF .`u&€f>#‹c‚ ,/($&2.3W'="*,;7*?b`]`I"hnOCD0?BYYTQGDEB5SbTWins~jYÙÖÙÚÚÜÜÝÞ”ßÝßààáßÞãááââßÞÝÞßÛÛâªáäããàáãåãááààâãâæååççãääâãâããäßßãäãáãåçæãßá”ààáååäáãàäÝÜÜßãáÞÞÜÝà±ßààâàßàáàáâààáßàÝÜßßÞÝßáßÞàßÞÜÞÞßßàÞßÛÛÚÞàßßÝÞÞÜÜÙØ×�~{€Ž¤ž›š™›™˜šþ›œ žš˜˜™—ŸŸœœ£ Ÿ›œŸœš–‘‘’œžœž–—™˜›Ÿ®½Äÿº¹µ²®’tgS D6 /IN2 P3^  / 2  ,)%("FM1%',-9þ;871+,)19.2HRUU;-®°¯®±´´µ¹µ·»¹·¹¹¼½º»½º»¹¸¹¶±³·°³»¾ÃÁÁÀÁÁÀ¾º¿Á¼¸¼¾½ÁÄÀÁÇÅÄÁÀ¿Ã¾¿¿»ÀÀ¼½¾ÀÂÿ¿½¹¼À¼»¾ÀÀ¿½¹º¸²¶¹¹¼»»¹µº½º¶·¶¸¹ º¸·¹¸·¶´³µ·´º¶µµ··¹¸¸¹·¹´µ¶·µµ³³±Œ´µ¸··µ´¶·´®®­¬�«³¸ÄÞßÞÝÜÜÙÜÜØÛÜßßáààßßááãáàáäåçæåâåããâæåãåãá„àãæåæ‰åæäåèìóùùø÷™õîåߨ¹”½ªMQ~=!'.B9<€X>ÐW'$2|œR;#Ym‚j?>8;p‚“PmMŠŒMUcajGb4l™zTL<V\YtrpfdXaT^gves¥®©ŠsŠä÷÷ø÷÷ùøúûùúúû‚üûüû‚øùýüƒýûüýüý‰üýýüüýüûüýüþüŒýýüýüýüüýþýýüƒúûúüûüƒýüýü‚ûûüýüýû…üüûüüûúûúˆùúûüûúùø÷öôõ�Š–œ¢¹»¹¸¶¶³´‚¶µ¸‰»¶¸¼º»¼»¹½‹¿¿¼¿¼»»À¾»½»þºº¼»½¼º½¼º»ÀÅÍÙØÕÙÕÙÙÕÒʽ·¯“u›‹7/L0,1g?, ;&hE6P[jV4/+6dn}E[.c]h:2>AJ.E)[{]93"9A@ZUSJH>E8=CO>K‹ƒ]AW¸Ö×Û××ÛÛ݆ÜÜÝßÝÞàëßßãáàáàÞÝÝÜÝØÚáâáàâàáàáãåáßßàáâááâããççääáàâáßáâßÞááãáâãçäààááßáÞÞáââãâãâßÞÜßßáàßÝÞàÞààÝàßàãàÞÞáàáàßßàßÝÞßÞÜÞÝßÝÜÝÞßßààÞàÜÝ‹ààÞßàÞÛÙÙÛÙÔÕ�þ{…£¢¢ž™›˜–ššœœ™˜˜›š›žœœ› šœ››› œ›–“–”—›ž žŸ˜™˜š §²¿ÀÁ¿¹¸¶²§£ž”q[…i"3   6   Al-HIL9'""*V[a.D?-þ4 G_B#%0,>:842)/&&%+!-ZjZ6'‡±°±±®²²·¸·»¹¹½¼¾¿ÀÀ¿½¼º¹¸´²µ³­³ÀÁÄÁ¿À¿Á½º¿¼º»½¾»ÀÂÁÂÃÁÀÀ¿¼À¿¸¾½¼¿À¿¾ÁÁ¿Á½¿¿Á¸¼½¿½¿¿»’½À¼¶¹¶»»½»¸º¹»¸¶¹¹ºˆ¹¹»º´³³µ¹¶·ž¸¸··¶µ¶´¶¶··´´¶³¸·´µº¹¸¶µµ¶µ²®©¨� ËÛáàÞÞÜÜÚÙÜÚÚÛÞàßßÞßÝàâàäàããææãâãå–ääãâààääãåææãçåççéòøúùøê÷ö÷÷õôòèÄÃæÞϼ]_zKcac@5.-Mc=&1UR!I€RRƒQ™ÐðìæÕ¾ØÕáåÝÔ̸·§h!&[oCt‡¥¦|qRR?ozu|whghppog:7>l¥¯ˆgzªÑö÷ø÷öøùˆúûûüúüüýü‡úúûúøùüýüˆýýüûüýûüý‚üüýü‚ûûü‹ýýüýýüûüýýüýü‚úûü‚úûü‚ûüûƒüýýü‚õôüûüûúùúùúùúûüûûúûú…ûüûúù÷õ�šª¶¸ºº¹·¶µ´µ³´µ·ºº··º¶º½¹¼¼¾‘¿¾¾½¾¾¿¼º¿¾½¾¼»»½¼ý¾»¾½¾ÀÁÑØÙÛ×ÖÚ×Õ×ÕÔÑÏÅ¢ŸÀ¸®£t<Kh?QQT0$#+;C2!(;; AmCEl†Gq…±ÐÏÉ»£¼»Ã¿·±¬—Œ€MDP3R`‡…]V:<,T_Y`[LKOWXTH"G‰a=Cu¡ÓÕÛØÕÙÛÜÜÞÝÞßàßàáåãáãßÞÜÜÛÙÙàâááààáââäáàááääáÄääæåãáààßáààáâãâáâäâáååàáâàáâàÞàßÞßâåáàÞÝßàâáàÞßßÞààßàáßáÞÞßàßßÞØÕàßà‰ÞÜÝÞßÞÜÛÝÞ”ßááàáÝáßÞàâàáßÞÚÛØÚÚ×Õ�Œ’¡¥¡œŸœœ›š˜š˜‘œš›™˜˜š——ž› œ™›‚žž™˜›—•š››ŸŸœŸšþ¡®º¿¿»¹º·³µ¶´±°¥z›–†…Z(8Z/@<@ 0[41EV(Wm—¹«§š‰¢¡«¤“‹…m[M# ",5^dC=%&:G?E?166<;<0 )Wa4<fª¬±°©°³³¶¹ºµ»¿¿À¿Â›Ä¿¿¾¾»µ³³±ª±»ÁÂý½ÀÁ¿Á¼¼½¸º½ƒ¹½¿Àä¿¿Á¾½¼º¸¼º»½ÀÁ¿À¿ÀÀ¿¾¿¾¿¾Á½¼¼¹´»¼»¶»¼´·º»º·µ¸¹·¸¶·»»¹¸¶¹·¼¼³²«ªµ¸¹¸¸¶²´¶º¶²°³±³²´¶·¸¹´»¼¸¹·¶·¶·³µ´²²®­�„ãáÞÛÙÛ¥ÜÝÛÞÜÜÞßÞßÞàáàáââãåâàâáãääæåãââãäåæéçèééèééìô÷öø÷öõöõõö«ôìëðóóòóôêâí÷ÜäÀÏß×ÒßÞ±ÇÖ×»•}Q~Ùì×¹çèÚ°ðùõòôµõòïìéäÝÝß˪½®Ç€–Š……~yxyŠŽ‹ƒ•™š˜vTKJ{œwm‚‡­Âñôø÷÷ø‚ùùúüüûûúûûúûúùúø÷ú üû„üüûûüû„üûüüû‘üüúùúûûúûüûüüûüüûüûúû‚üüûüûƒúüüû†úøúúûüû‚ùùú‡ùøùùúùúûüù‡ûûùúùøøö�½»¸µµ´·µ¶¶··¶¸±¹·¸º·º¼»¼½¿¾½¼»¾¼¾½¼½»¼¼½¿¿ÀÁ¿ÃÿÄÄÂÃÃÉÓÝÚ×ÙØÕÖÔÕéÔÒÌÉÌÏÐÐÓÑÅÅ×ÚÀɧ´Â¼·ÐÅ—°Å¿¡sgJoÃÛ´™ÏϺ™×ØÑÒÔÓÔÓÒÎÌÉÄ¿¸·¶£Š›’£ata\a_`\\^cjnnpnerxz|}W1)'VvRHSJzÉÑØ×ÙÛÛÞÞß›ÞßßàßßÙÞâàâßÝÞÝØÕÝáâààâáâßàá‰ßäâããáàâàäÅáâááâàáààãåâàÞßÝßâãáâããâààãâáààßâàßàßÝÝßáßáàááßàáààâÜßÞßààãßßÞßààäßàà݃ÛÛÜÞ‘ÝàáàßàÝàÞßààáàßÝÙØÜ×�þ¦¤Ÿš˜˜™šœ›š›™›–˜š›˜—šœšœž£›—˜—›œ¢¡œ››ššŸŸ¥¥£ ¡¢£ Ÿž£»Ä¼¾¼·±³±³µ´µ²¥£¯±®­¯µ¯´ÃÆ¢³Š™¦§¤À´~”±¡RH8[¬Ä’u´°•y´Ã´«¯±±²±²«¦ ™‘w¬a{nt7I76>AGC@ACJOOQOFTYY\_=5N. %>T𤬬ª²¸„¹¸¼½¿þ¾½¸¿¾»¸µ´³ª¦¶»¿¿¾»¾¿Á¼½»º¹½¼¼½»¹½½¾½¾¾½¿¾¾½ºº½À¿»¹¸½»º½¿½¾½¿¼¼»¼¾»»º»º·¶¶¹·»½»¹¸º»¼º¹º¸¸·¶¹¶¸µº½¹¶±³¶¹»··¶²²³µ³°°´±³³µ¶¹¸»¹·¹º‹¹¸¸¶¶µ¯²³²³°±�ÝßÛÛÚÙÚÛÞÚÝÞÜÝßàÞßßááààâààâÞâáâ›ääåáââåèëïîéëëêëëèèïùùøùø÷÷öæ÷÷óçëóöõôõõôôõóôöõóó÷÷ù÷öôõõ÷òÚܾç÷ôêíóòóïöõôôóóòñòðóóñðìèçÒÓÖãâÖ˲šwg`[WTWX^T^]adns€‰}z{„‡xgŒ¡Ž¬Àéö÷÷øˆùøùúúùûûùúøùúú÷õúûúúûûüüûûúŽûûüüûüúûüýýüüûüŸûüýüûúúøùùüûüûüûûüûûüúûüýúûøûúûü‚ûûú‚ûûúŒûûúúûúúûúûúúûˆúùøùúúùøù…ûúùûüû‚ùùø…÷õööõöõ�¡ºº¸·¶¶¹µ·¶¸¹¶·¸·¸¹·¹¸»¼º»½½¹º·»»½¼¶»½º¼¾ÂÃÇÈÅÃÆÆÁÆÆÃÄÎÜÞÜÝØÙÚ×רÚ×ÖÏÃÈÒÓÓÔÔÕÒÐÔÓÓÖÕÒÐ××ÚÕÔ•ÙÚи¿¨ÊÖÔÈÊÑÑÔÎ×ÓÏÔÓÏкÏÑÒÐÐÉÅÅ®¬¯»º³¥ŠsUJC=<78:@7=@CIQRZeYUX`cR@cqSw½ÒÔ×ÛÜÝÞßßÞàÞØÛÚÛßÞàÞÛßÛÕÒßâ§ááàáßàÞàÞßáãâáàáâàãææáäãáåããááääãâßÚÚÝãá¡ãääàÞßáßßãäãàÜááàÝàßÞßàâàÝÝßàÞÝÚÝßà…ßâàßãà„ÞÛÚÝÛ‚ÝÜÝ‹ààÞßßãßááàßÞ…ÝרÙÜØÕ�þž¡›œ™”˜šœ˜˜™œššœ›•–šž™›› —˜˜š™œŸŸ›™œ›¢¤®¯§§¦¥¦¥Ÿ ¯ÀÇÆÂ¿º¶³³µ¹º·±Ÿ ¬²°®²²±³´±±´´²²·¿À¸·¸³¶¹®–›©´±¨¨°¯±­´´³®¯­®­­®³°¬©£¡Ÿ‡ß‰‹•–‘}eP3+*&$ #$&(+1/:C846;9-28:QŠ£¡¦­¶¼»º¸¸º¼¼¾½¶·¸¶¼¼¹±³µ±¤¤¶»»º¼º»½¼¸¹¶¶¸¼¼»¼¹º½»»¿Â¿¿Á¾Ý¼¾Â¿»¼µ·»¸º¼¿»»¿¼»´¹»·»¿Á¼º¶»»¼¼¾º·¶¸¼¸º·º·µ´µ¶¶´´¶¼¹´¶º¹¶¸¶µ¶´²®°³°­´³²³³´¶¶¸¼»¹¸¹¶·³²³²­±²±¯­�‰ÜÝÛÝÜÛØÜßÞàâà”ââáãáààßàßàáâáàäãâçèé…êêëêêìŠï÷ùø÷øø÷÷ö÷†ùøïêòöõƒóööõô”õôõôôõôõöõõôòõöõöóôôöõ»ôòòóóôóòôóôññòõôôñæÝåì餋}ƒ…€zwokbb^Wa]RRVW]UXhlz—¥™§µßèíñ÷øùùûúøùûúùúûüüúúù÷öúûûüüûúùûúûøô÷ûüûƒüüûü„ûûüûüˆûüûûüüûúû…úüùûùûüûüû†úûûúùûùûŠüûúúûúùûüûúûùøûúûùûúûúûûùúûúøöõõö�¶¸¸µ¸·¹¸·¹¹·¸·¹¸»ºº¼º¹½½¼¾½¼ºº»¸º¼»º¹½½ºÀÄÅÅÄÄÅÈÇÄÅÉÉÌ×Ý·ÞÜÛÙÚÙÛÜÛÚÍÇÒÖÖÕÕÔÒÓÔÕÕÔÕÕ×ÔÕÓÓÕÒÔ×ÕÔÕÐÓÕÔ×ÒÔÕ×ÖÕÖ××ÕÑÑÒºÓÒÒÐÏÐÕÔÑ˾¸¾ÄÀ~g]cfbYUOMGCB;FB;786:48KJRoxbr…°»¿ËØÜÞÝßàßàß—ÛÞáàâàßÜÚÛÖÖÜàâåãâáÛÜÞßÛááâãàßãäåâãäââàá˜ãáãäãäâáßàßáããââàßàÞßÞáßâ›ááâáÞßàâáàãàáàÜßÞÜÚÛáßáàÞâàá¤ßÞááàßÝÝÛÛÜÜÛÜÛßàáßßÜÞàßÞßààßÞÚÛÙÛÛÚØÙ�þž™›œ——š›˜š™œœžœžš™š™œœ™š›š™™––š™—œšš ¡ž¢¥¤¨¨¤¥¦¦§¬¼ÃÄÅÅÁ¼·´·¶¹À¼¦Ÿ¬²²°®«²´±´³²²±²±²±´±­³´°±°©¬°²´°°³µ··²²³³²­®¬±²±±³¯®ª©ª®¯˜±®¢“ž¥WA8>C=94-+%'&%"º'");?&5Kzƒƒ­µ¶¶¹º¼¾º»¼»·»¾¾½¼¶²±±ª¥µ»¼½º»º³µ´·´¯±¹¼½½¸¹Ê½º¾À½¿À¿¼¾¼»¾À¾»½¹¾¿¾¼»¼º¼º¶¸²µ´º»¿¼»½¾¼½¾»»¼½·¸½¶¸ºµ´¶²³²´²´´¼¾µ³¸»´³µ¸¸µ±š´±­±´±³·µ´´±¸¹·²´¶·µ±°±®²µ±�‡ÝÜÚÜÜÞÛÝÃßßàâááãâãæäâäåæãâáäáààäãáæçåçéèêèèêëéêêíôøúùøù÷øø÷÷øùúùòèóõö÷÷öö÷÷õöŒõõöõöõöõöõôóö‰÷ö÷öö÷÷ööõŠôõôôñòñòóòó´òîíË–†„ˆŠŒ‰Œ†ˆ‰‰„‚ŠŽ|‚•³¥‘§£®ÈÒÜêõøøùúûúúûúüûüûƒüúúùƒúüûüƒûüûü‰øöùüýüüûýüýüƒûüýüýü„ûûüüûˆüüûüûüûûüûüûŠüûúüüûûúúüû…üýüûúûúûüûúû…úúùùûú…üúùø÷ö�ž·¶´··»¸º·¸·¸º»»º»¼¾¿¾¿½¾¿À½¼»½»þ¼»ºÂÀ¼¿ÁÂÅÁÂÆÆÄÃÂÉÑØÜÛÝÜÛÝÜÚÛÛÝÝÛÑÁÒÖ××Ö×ÕÕÖÕ×ÖÕ×Ö×ÖÔÕÓÕÔÔÖÔÓÔÒÔÔÖÕÕÖÕØÕÕÙÖØÖÔÖÕÕÓÒÓÒÓÐÐÎÏÒÑÑÒÑÍÎÅÆ¡pa_cihlieiddkggbbhlZWbqŽ}g˜s{kq— «ÁÔÛÝÝÞàÞÞßÞßàâáâá«ÝÜÛÚÙÞßßâäãááßÞßàÜÜÞàâáßàßãâäááãåäâáãáãàäåßâ¦áßßâããàÞààßáàáÞâààáàáâäáàßßáÝßßàßÝáßÜÛÞŒÝÞâáààßàÞÞßàÞŒÝÝÞàÛÞááßÝÛÜÝ…ßáßÞÝÜ‚ÛÚÜÛ�‘¡ž˜˜—›™™š—™›š›œ›ž‘¡žšš› žšœš˜–Ÿ›™ž”£Ÿ££ ¢¦¢£¤ª¸½ÂÄÇÇÁÀ½º¤»¼¾­›©¯±²³±°´¶²´³³´²³´³³²¯¯²°¯®¬©¬±±°‡±¶·¶µ²³µÁ±±³µ³²±ª«©¨©¨¨©¬¬©¦¢vG:;<DBD@==8>E?>:<@B24>H`L8BE46HbioŠ«´µ·¸»¼¿¾¼¦¾½¾½½»µ´³²¯µº¾¼¾»º»·µ·ºµ±¶¼½¾¼·¼¹·½¼¾ÀÁ‰ÀÁ¿¾¹À¿½½¾—¿¾¼¹¸º¼¸´··¸¸¼»¾¹¸»¿¸»¿¼»»¹·ºµµ¹´¶´¯³´°²²´º¼¸µ¶·µ´³¸·´²³´¸³®´µ·¸·¶µ³±³³µ±·¶¶µ®°±´´¸³¶µ�ÜÜÛÜÞÞÝÛßÞÞÝàßàâŸãàáääáãáâáäâäâåââæåääççèæçèéêëóùø…úùôîð÷‚ö÷ö„õöö÷ö‚÷÷öõöŠõöõõöö÷ööõö†õôö÷ö÷ö·õöö÷÷öôòïïëéëéêè䫈‡…’‡…Œ‘“”—£¨–˜¯´µ© §¨¥§µÅÙëó÷øùˆúúûúûüûúûˆúûùûúùûûüûüüûûüüûûüüûûúûü…ýüüýýüûüüûüüýüýýüüûúûü‚ýýüûüûŒúûùøúûúúüùúùû‡üûûúùùúûƒúûüû‚üùû‰øùúûúøùúù÷ƒõõö÷ö�¶¶µ¶»¹·¶·¸¹µ¼¹Ã»¼¼½º¼¾¾½½»»¸½»¾½¾»ºÀ¿½½¿ÂÃÀÁÄÀÀÄÎ×ÙÛÚ×ÚÜÝÛÛØÚÝÛÔËÍÔÔÖ××ÔÖÓÔÖÔÖØ×Ö×Ö‰ØÔÓÔÕÖÕÔÕÔ×âÖÔÕÓÕÕÓ×ÕÔØØÖ×ÖÖ×ÖÕÕÏÐÍÉÅÁüºƒidbahkmga_feklmkrnq‡ŒŽ€v||wx†•§¿Ì×ÛÚÛÝßÞÝÜÝààßàáàÝÝÚÝ×ÖÜáßàáäáãßàáàßàßßÛÞßââããáâá‚àáâŠààääåäåàßßàƒáâßáªàáààßÞßâàáßÞÝàÜÜÚÛÜÝßßÞÙÚÙÞÞÝßäßßÞÚÞßÝÞáààÞ–ßÝáßàßâàßßÚÛÜÞßÞÝÜÜÚÚÜÙÜÛ�É¡˜˜š›™˜š™–™™››šž››™™šŸž˜›œž›ŸŸ›žŸœ› Ÿ ŸžŸ¦¤¤²ÅÇÂÄÃÃÄ¿½¿½¿¿º®¦©°¯²²°±°†´²±±²²³„±³±®²þ«ª¬ª­°°²®¯¯°²¯°¬°²¶´³³µ¹µ·¹µ²­§¤¢ž™œœ œ’T@<=;BBC=648;B@DAJXXCD\a`PFJGBBRbu­µµ··»¹»»½¿½¼¼¿»¹º²´²­³¾¹½¼¾¼º»º¹»»¹¸º½·¸´µºº»À¾¼ÁäÁ¾ÂÂÁÀ¾¼Á¿Á¾¾ÀÀÄÀ¼µ¶¹½¼¸¸º»½¹º¾¾¼¼½¶º¹¼¼·¸¸´¸¯¯´´³³±±°¯´³³·»´º´³´´³¸·µ´µµ¸µµ´¹º¿··µ¶·°²µ¶¹²´µ­¬±¶³¶´¸¹�•ààÞÝÞááÝßàÞÝÝÞßààßãâàã‹ââäááãåãáåãäŸæèæèèçèéîöùùøøùùúúùøøùù÷ïîóôñìöõ„öö÷÷õ„ööõõöëõöõõöóôõõööôôööõõôõöõôõöö÷ööøø÷öôóñïìéçæÙ»–‘މ‚‡ŒŒŠŠˆ‘‘‘“ž¤¤š”ª°¶¤¥¤¨£²½ÃÒåíõ÷ùøùùúúùúûüúúùûúùùø÷ò÷ûûüüûúü‡ûüüûúøùü†ýüüýüúü‚ûýüƒýûüûüû‡üûúüûüüûŽúüûùûûúûùøùùûûú„ûúûûúŠûûüüûúûúùùû„ùùúùú‡ûùøúúù÷öõö�‹ºº¸·¹»¾¸·¹¹¸»ƒ½¼»¾®½¼¾»º¼½¾¼¾¼»½¾¾¿ÂÂÄÃÄÄÀÉÕÚÜÙÛÝÙÜÝÜÝÞÝÝÚÌÊÏÑÏÉÔÕ†×ÖÖØØÖ×‡ØØÖר×ÕÖ†ÕÕÖÓÔÔÕŽÓÓÔÓÕÔÓÔÔÑÒÕÕ×Ù¿ÚÚÙÖÓÑÎÉľ»®“plle]bggedblfkfkoysnƒˆŽ|{z}w„‘–¤ºÅÔÚÛÛÝÞßàÞÞàáÞ߈ÝÛÚØÑÌØàâ‡áàãâãâáâááßÞØÞáäãåäââáâ“äáâãâæäåáäââàâàããáãà°ßâáâãàÞáßâÝßßàÝßÝÜÛÜáßÜÛÝÞàÞÞàãáààÞàáàáàáßÞÝÝÞàÞß”ááßàÞÜÝÞàÞÞÝÜÞÛÙÜÜÛÚÝ�£¢¡š˜™ ›œœ˜•–™›šš™žœ›œš›šœŸ›ššž˜œœªœžŸžž¡¦ªµ½ÃÃÀÄÁ¿Á½¾ÂÁ¾·¥£ª­§ °±­®®°²³µ®¯°±‘²²°²°®ªª«§ª¬¬°«ª­¯‰­ª®¯±¯¯±³µþº¸´±¬¨§¤š˜—ˆiEBC>68:=:;:>;A<CEQZTH@V]`JJEFAS_ft‹•¨°´¶ºº¸º¼¼½½¸»»º·µ°«¦ž­¼º½½¼»½¼»½¿¹¶¶º¾¸µ®³¹»½¿½¼À¿½¿½¿¾¿À¿¼ÁÀ¿¾¾ÀÁºº»¼¼¾ºµ»Êº»·³¹º½½¼·¹´¼½·¸¶µ·±¯±²¶´²µ³´´³µ¸¸³¸¹µ¶¹º¹·¹´´²µ¸»¶·¶º·µµ¸·³¸·º¶²µ´²¯±¶´¶¶º�áàßßàââààßßÞßààá‰ääâããæâàßâ‹áãâåáÞãåççéç‡íõùùúø÷ùøøúôëïöçãóóôóõõö÷†öõöö÷÷ö„ôôõöôóõöÉõöôõõôóôõõôôõ÷ööôñîîìëçÜηž–‘ˆ†Œ—•’™šš’ šŸ¤ª£¥¤¦«¨©¢¡­½ÃÌÎÖâñ÷øùøùúúùùúŠûùûúùù÷õöøû‚üûü„ûûüûüûüüýüûüýüûüùû üúûƒüûûü‹úûüüûûüüûûüû‹üûûúúùüýüûûüƒøùùû“úüüûûùúùúûûüùúúøùúüù‚øûù„÷ö÷÷õ�ˆ¼¼»¼»½¿¼ºÃ¹º¼º¾¾½¼½¼¾½¹º½¼¼½¾¼¾º¶¼ÀÂÂÃÀÂÀÃËÏÚÜÚÝÔÖÝÞÝÛÚßßÝÔÇÌÔÿÓÒÒÑÓÕØÙØÙרÚÛ…ØØÙÚÖÕ´ÔÕÕÒÒÓÒÓÔÕÓÔÕÕÖÕÓÓÒÓÏÑÓ×ÔÔÕØÖÕÐÍÌÊÆÃ¾±¢Žzolne\aglrrnvm}v{€…}~€†€~xv€‘— £ª·Ë×ÛÜÜÞÞßàß¡ÞÞÝÙÙÕÑÓÜáâããàââããâááäââàßßáââãâãâ†ááÜßáæãâääãßàâáàáßãâáããâàÞâãááàâãàßÞà”áâàÝÝááÞßßâãáàßàáâààá…ãäááàß™áßáâáâßÜßáÜÞÞßßÞÞÛÝÞÞÝÜÝÛÚ�ʤ£› ›Ÿž™›ššœžœ›ž›œœ¢œ›—š™œž˜›™–šŸ¡žž £©¶¼»¿Â¾Ãľ¾À¾ÂĽ®›£°˜ª©ª©°¯°²‚±°±²’±±°°¯ª§¨©¥§¨§¨¬©¨­°þ«ª®¬­§«®­§ª®±­­¯¨¢¡ ›”ˆyePFCE>67<AFGEJKJATKRWZPPQRXPLDAKajqr~‰ž«°´¹ºº»¼¼»··¹··´°°§¥¨°º¸¹½¼½¾¾¼½¼·¹·º»º¹¹·¼º½¾¼ÀÁ¼¼½µ»¾Á¾¾¼¿ÁÀ¿‹¾º»º½¼»º¾º·¾’½µµ¹½¼¼»¼·¸½»»¸¹¹·²’»º¸·¸º·º¸¹²³¸»¹º½º¼ž¹··¹»¾¼ºº½¹¶µº¸²¶¶¹µ³·³´³³·µ·¹¹·�ä‰âäâáßáàâåâŸäæäâåãââäâááäââääáæäáåçèèéæçêðöø‡ùøøúúùúø÷ïëòööóòöõôòöõö÷„ö÷õö÷‹ööõöõöõõöóõô±óôõóôñòòóòòóôóñóôóôôòòïîéßÑö«¦˜›—‘œ¤¤Ÿ¢¢¡¥Ÿ¨ £¢—®®µ·¹°¡«¹¿ÇÎÏÑÔãñöùøúûûù†úúûûüùø…ùúúüû üû„üýüû ü‚ûüûüûü‚ûû ü„ûûüûü„ûüûúû„üüûüûŠúûûüüûüüûüûüúùúùùøùùúùøö÷÷öõõö�µ¾¾½½¼½¾»ºº½½¼»»¼½¿¼¼½¼¼½»º¼½º»¾À»¾¼º¿ÁÄÂÂÁÂÃÍÖÙÛØØÞÕÒÛ’ÙÚ×ÉÅÐ×ÖÒÑÕÖÓÐÕÕØÚÖŒ×ÙÙØØÕØÖ×ÕÔÓÔÓÓÐÑÒÓÔÒÐÐÒÓÐÑÏÐÐÏÏÐÐÒÑÎÑÑÐÐÑÊÌÊÇÀ²¥™„ƒwtwslwx~|~}|{…z~}}{†ˆ‘†x€Œ“œ¡¢¤§¸ËÔÛÛÝÝßÞàÞÞߨÖÖÕÙÞàááâŽãàáâàßàáßààßâáâŸáàáââãââÞÝÞààããâááßààßàáààáâãàáâ’áßâààâáàâàâàááßááàÞ›ßßáââáßÞâááßàáßàááâààáßÞáßá߃ÞßÞß‹ÞÝÞÜÜÚÜÜÛÚ×ר�þ¦¨¥¡¡Ÿšž›Ÿœœ ¢£œŸ˜šžœšœ›ž›—žŸ˜œŸ  ¢Ÿ¢ªµ¾À¼»½Â¾Á½¾¾»¹¸¢œ¥°±¬«¯°¬ª±°°µ²³²¯²°¯°´²¯¯«­«ª§¨ª¦¨ª©¬«§¥©«ªª¦¦¥§¦¥§¦¥¢¥©§§¨«§ •ñ†ymc\[PLNKDNOVTRSRRSNXMUSRLWX`beTELWeosuzzˆ›¨²µºº¾»¹¹¸·º¹·«©¬©¯´¹¿¾»¼º»½½¾¼º¹¹º¹¸»¿¼»¾»½½¼Á¿½¾¾º»¼¼º¿¾½¾½»»º¹¾½»º¼Ìº¾¿¾¿½¹º¼ÀÀ½½¹·»¼»º¹¼º¹·º¼¸¹¸¾¾º¸·½»¸¼ºº»¾»¾¼¾¼º½½º¼»¼º»¸¶¶¸µ³²µ¶±´¶µ´±´¶µ²´³²�‚ææå¬ãáÝâãâáãâçèåâãççáããåããåäåçæçèéèééçèêêñ÷ùùúøùøù÷…öîìô÷ö„÷÷õô÷‘öö÷÷ö÷öõõ÷õõôõôööôŠõôòñòóóñððòðñÂðññòðñóñêÞÊÆÀ¼º·»¹·¸¶´µ¶·´¯³²¯²²¯¬­ª¬¨ Ÿ¥¬´®«µºÂÌÏÌÑÖÚåïõøùùúúûúûûú‡õö÷÷øúûüƒýûûüûüý üƒýüýüýü„ûúüûü„ýüüýüýü‡úüüûüûûü‚úýü”ýüûýûüúûüüûüüýûúüûüüûŒüûúùúùúùûùúúù†úùø÷ööõö�‰¾¾¿¾¾À½¹»º„½¼¿¿½‹¾Ã½¾¾¿¼½¼»½¿‹ÃÄÂÄÅÄÂÃÅÌÔÝ’Û×ÛÝÕÖÙרÚÛÕÈÆÐÔÖÖדØÕÕØÚÛØ×ÖÔÖØÙØÙÕÒÔÖÒÑÓÓÐÐÓÓÑÐÍÎÏÏÌÊËÎÏÌÊÎÎÍÌËÍÌÏËÌÍËÀ±Ÿ™•““”’‘’‘Œ‰‰‡‹‹Š††„…‚z{†Žˆ„‹Ž–Ÿ¡ž¤¨­ºÆÒ×ÛÚßÞÝßÜÝÚÏÐÒÕÙßàââãäá¥ãàßßâáâååááãâàääãàãáãääãßâãââãäãâàááßá½âáââáàããåãáããàâàßáâáààãàäãàáâàáãßáààáàÞáããáâàßààÞáàáâÝÜßààÝÝÞߎÝßàÝÞßÝÚÙÜÛÛרØÖ�¯¤©¨¥£Ÿœšœœ˜œš ¢žœœ¡—™˜ŸŸ›œ¡›œ ¢žŸ  Ÿ¢£±ÀÄÿ¼ž¾º¸¶³´·´ªž§®¯¯­®²³­°´³²³±±°­®¯½¬ª«¦¦§¥£¦«¦¥ª©§§¢£¤£ ¢¤¤¢¡¡££  Ÿ¡¢¢ ¡¤¡’†qlhgjgighkebhdfe`a^[]É[[Z]UKMRXb[UYZhpqqyz}‰—¦°µµ»¹ºº¹¶·¸®Ÿž£¨±¶º¾½¸¼¸·½½¾»¼»º¼¾¼½Á»½¼¼½¾»À¿¿À¿¾Ž¼¼½¾¿»»·³»º¾·»¼—½¿½¾¿»¼º¼¾¼»·¶µ¹¹º¶¾¾½º¼»­¹¸µ¼¼º¾¹»º¼¹½¼¼»¹½¼·¸¸»º¶´·¹·µ¶³µ´¯±³µ³±¶¶²¯³³°�‚ãäá’âáãâáââáâàáæáäãâäãæçææèæèëéèëêçèîöøùúùø÷ôòôöøôééö…÷ö÷÷ö÷ƒöö÷öõôöõôóóõôôóòðñŠððïïññððñòðŠîðïðñðìåÕÌ¿…»»´ºº»§¹¸º¾¾º·º¹»»¹¼»½¾Á¼º¼ÃÃÅÆÉÉÆÅÃÅÒÖ×Ýäíõ÷÷ùŠûúûúùøôõ÷øûüúü„ûúüûý‚üýüƒúüýüýü†ûûüüûýü„ûûüýüû…üüûüûüýü„ýüúûü„ûüûûü‚ûüûúû†ùúûúøøùø…ööõôõöõ�‚¿½¼½¼êº¸ºº¼¼º¹¿¼¾¿¾¿¾¿¾½¿ÀÀ¿¿ÁÇÂÁÄÆÄÂÈÒ×ÙÜÜÚÜÙÜÜ×ÑÏÑÖÚÔÄÃÔÔÕÖÖÔØÔ××ÚÛÜÚØÙØÖÕØÖ××ÔÐÔÔÑÏÏÑÑÐÏÍËÍÍÌÍËÉÉËÌËËÌÎÊÌËÌÊÉË—Ìȹ©¢”••–””Œ’“”–”’‘’—”‘¸’“‘”“•–—’“”™šœœŸšš—˜¢¦¨®¸ÅÑ×ÙÝÜÛÝÜÜÛÚÔÌÌÔÙÞáàáâæåàßáäåàáŒãååæäåãâåâãßã†âäãáååã„âäâáâÁãäããÞáâáâãäâááßàááàããäããáääæãàãáââãäàÞààâààãåâãàÞááàãáÝßÞÝßáàßÞßÞÝÜÞ܈ÚÚÛ×ÙØÖÖÚÕ�“¤¥¥ Ÿž žŸŸ›™›™™––ž™œ——¢¢ž¢Ÿ¢ Ÿ žžŸ¬¼ÁÆÁ¾»‹¹¼·ª§¦ª®§˜š¬¤©©®­°¯²²³²±°°­«­««­«©§¦¤¡¢¤ ¡¢¡œ£¢ž¡žþ ¡ ¡ œ  ¢Ÿžžœ˜‰wrfgijgj`fijmkhkhlmiehffefiflnkgijoospqsnjhitvvŠ—¥­¯´´¶º¶³µ°¥œš£®¹¼»º»¼¼¸¶¼½½º½¼»»½»ÀÀ¼¿¾»»º¸¼¾¾ÀÀ½ÀÀ¾½»½¾»¤¹º·¼¿¿¾¾»º¼»º»»º¼¼¸··¸º¼»¹¹¶¸º»ºÀ½½»º±¼¾¸µ·¸·º¸¹¿¹¼·¸º¾½»º·¸º¹µ¸¹·´¶¹·µ±µ´³³±«¬²²±°³±®¯µ±�ÀããáãâáâßàâáàÞàâãáâáãáäåâäåæçæççèêêèêéêíõúùúøø÷ø÷öøøðãçïõåÞïõõööõöŠ÷÷ö÷ø÷ö÷ö÷ö‚ôõôóôôòóóòòññððîíŸððïñðóòòññîïñòïêßÒÆ¾Á¾ÀÀÅÀ¼¹¼À»¼ª¿¼¿Á¾º¾Á¿¿ÃÀ¿ÁÂÀÁÅÁ¯±ÂÉËÌÍÏÒÏÕÓÏÐÙâï÷ùøöøûúš÷øôôùùûûüüûûüýüüûüûüüûûüûýüú†üýýüüýü„ûüüûüûüû‰úûüûûüüûûüû…üýüüý ü›ýüûûüüûüüûúûüûüúûüûûúúùøøùùøƒöõôõö�¿¼»½¼¼»¹¼¼»»¸¼…»½½¾¼¾¦¿¾ÀÁÂÁÅÅÇÂÄÃÆÌÓÙÝßÜÛÚ×ÙÖÚÛν¿Êѽ·ËÑÒÓÔÕŽÔØ×ÚÛÚÚÖØ×ÖÕÖÓÑÓÐÐÏÎÎÏÍËÊÊÉÊÆÇȹÊËÊÌÌÍÎÏÌÌÊÊÌÌÈÀ³¦™“˜”–˜›˜””™”••”–”™™•”–™——™——˜š——›™ˆ‡˜Ÿ¢°£¥¢¥¤¡¢ªµÆÕÝÚÓØÞÝÛÜÖÓÎÌÙÝáãááàããâäâãæáàáàåäåççäãàâääááåâãâããâãåæäá“åäããâßáâàáââãáãââãåã¢ååãáâäåãáäâãááâßáâááßáãââáßàáàáãàÞà˜áâáàáßÜÜÛÜÞÛÝÜÝÝÚÙÜÙÖ××ÙÚØ�‘§£¡¡žšž£š˜˜™Ÿž˜š¶œž–šŸ¥Ÿ›œ ¡¢¡ž ž¡¦·ÃÇÆÄ¾À»¶³¶º©”•¦ˆŸ¨¨©ª©¨¨ª©®®°°±°¬›«¨©§£¦¥¦¥¢¡¢Ÿ žŸžžœ  ›™™œžŸíž Ÿ¢žŸžœž˜‚thckghlomjdjokmmlokonkinnkkmllnqjkqo][nrtvvwxswpmqw€“¦²°©°¸¶µ²¨¢œŸ¯´¹»½¹¹¼ºº½¾¼»º¼»ºº»»À¾º¾»·¶´¼½‚¿Á¿°¼½¹¼Á¼º½»º¿¿Á¾¹¸¹¸¶¶¸·º¼¹¶¸¼¿¼¾½º¹ºº¹º¼¸º¹»»·»¼¸·©´¸»¸¹¶¸º»ººµµºº¼··¹¶·¸¸µµ°µµ³³°¬¯°²³°®®±°²´�‘âäáãââãáâãááàäãâàá’äáàâäèèæçéèêèçéëòøùƒøù÷ø’óïèÚÃÚòööõöõööõöö÷ö”÷÷öõõôóôóòóñòñðòôòññð¶ñïìíïîñðñòòóòòóóôïíåÛÎÇÉÇÄÄÅÇÂÃÃÀ½¿½¹¿À¾À»¾ÂÀ¿¿ÂÁÃÇÅÅÆÅ¢ÄÁ¦”³ÊÏÍÎÖÚÙÛÚÚÙÕËÛíõööùúùúùø÷óôúùûƒüûû ü‚ûûüúüû ü‚ûûüƒýüûü„ûûúûü…ûüüûüûˆùúüûúûüúû†üüùúúùúŽùøø÷÷ùøø÷÷õõööõ�‚¼¾¼»½¾½¿¼½¼¼¿¾»º¼¾½»½º¼½¿ÀÁÁÃÂÅÆÃÃÄÇÑÜÜÚßàÞÝÜØÜÜÚÙÑÌ¿²œµÎÕÓÓÕÔÕÔ™ÓÖ×ÖÖ×ÚÖÔÕÒÏÑÎÐÏÌÎÍÉÍÏÍËËɈÊÉËÈÆÇÊỄÍÐÑÐ¥ÏÏÉÆ»®¡œž›™œœš™š–”—–‘—˜—–“—™˜™˜š™œ›–œœ›™oŒ ¥£¥«¬¬¯®­¬§œ¬ÄÓŽÚÝÞÚÚÖÔÎÒÜÝàáàâ‘áâããâæáâáãçãåæåäãáŽÝááßâäåããáâääåç…ââáâãâˆáãâàâãåæåääçääççæåäâäáâáâ‰áààáåâàááâ¦äàßßÞàááàâßÞáàáåáÝââÞßßÞÞßÞÛÜÞÚÚÛÛÖØÚÚÙØ�þ¢¡¢žœžœœ¢š˜›œ—˜œšš›˜•˜œ¤ œ›ŸŸ¢œ¢±¼ÁÆÅÄþ¾½¼¼¶·¬£”†p‡£©§§¨©§¥¦§§ª«¬ª«­§¤¨¥ ¢¡ ¡œŸ œžŸœšœ›œ›Ÿ š˜–œ¡ Ÿ ¡£ ¢¡Ÿ¢œ”Œ~qknnkopoþmmnliljflnlkhmnlqpnmprprrusrqoXFcuwty€€~€|}sgy¢£§°µ´±«§ œ¥³´·º»»¹¹ºº¼¼º·¹º»º»¸¹¿½»¾½¹¸±º¾»ºº¼¿½½¸¹»¼¿½»¾½½¼»»¹¸·»¹º·¹¼¾¿½¼¼¿„À½À¿½Š¼º»¸´´¸º»º»¦·º¶·µ·¹¸¶¸·¶µ·ºº·¹¸·¼·¹º¸³¸¹¸¹·´´³²«¬²³…µ®°·´°³�­äãàãááäááãáÝÞáâßàâããáàáäæèèçææçèèâçïöøúùùøùøùø—÷ø÷õà¹ßöõõööõõôöõõ÷öö÷÷öƒõôôó–òôñððíññîîïîðñòñòïîðòòô‚óôõˆôñçàÚÒÑÌʳÉÄÀÁÿÀ¿ÀÀÃÆÂÀÅÃÇÇÅÇÆÇÉÊÈÉËÌÍÊÄÉÉÍÌÏÑÑÒÙØÒâäêìíëìîó÷™øùøø÷ôôøúúûüûüüûüûüüýüüûûüý üˆýüûüúüüûü…ýýüüûüýü‚ýýüýüŠûüüûüýýüûýü…úúùûùûùù÷úûûúûúùøùùúûùøŠ÷ùùø÷ööõööõ�þ¾½¼¼½¾¿½½¼¾ºº¼¼º¸¼¾¿ºº»ÀÁÃÄÂÁÁÂÃüÄÌÖßÞÝÝßßÛÜÝÚÞÜÙÛÖÓ¸“»×ÒÒÓÕÔÓÒÒÓÔÕÕÖÔÔÖ×ÔÒÓÑÐÏÎÎÐËÊÊÆÊÍÈÉÈÇÊÌÎÌÎÊÊÌÏÐÑÒÐÐÓÕÔÔÒʽµ­¦¥ žŸŸ¡¢¢œÁ˜˜™•—™™–œž›™œžžŸœŸ¢ žž¡¤¥¢› ¢¥£¦§¨ª¯®©º½ÂÇÇÄÃÆÐÔÔÖÙÚÖÕÖÑÓÝÞÞßáßá‡âááâááàä²âääâàââããáâááããäãâããâãåãåäâãâãàäãäââààäåäæåæåäãéæãçˆæâäâãâäâá°äâäâàßáâàâàßßÞàáààßßÜÕßâàãáÞâááÞàáÞÞÛÜÝÝÙÙÛÙרÚÚØÙ�Ï£Ÿ£œ£ ˜žœ”–™š˜—›Ÿš–•™šžŸ¡ž˜›žž˜ž©µÀÂÀÅÀÀÂÁ¿¿Â¿¸¸²©h‘ª¨§¨ª©¨¤¢¡¦§¨ª¦§©§¥Ÿ¡£ ž±£™˜˜žž—–—™›ž¡Ÿ šœœ  ¨¦¤¥©¨¥¨¦‘‡~wtopvtvurljijijmìsvqlqqsryxqrvuptx~|xqtuxx{z|~ƒ€|Š–›˜—””œ¤¥©«®¨¥¦›£³´²µ¹¶¹¹»½¹ºº¸º»¹ºº¼¹º¾¼¸¼¾½¼¹»¼¼»··ºº½¹·¼»»¼»¾¼½¼º¼¸»»½»¼¾À¿Âþ¾½¾ÀÀ½»¼º·¹»»¹º¾¼¹º¼º·¶»¸·µµ¶´¹¸¹·¹º´­¶¹¼¼¹¸º¶¹··´³²¯°°´°¯³¶µ³¶·³µ�…ãááäåâŽåãÜßÞßßáàáââãåç¤èçææçééëò÷ùùûùùøùøùøùùøøù÷ðØëøõõóôõõôõö˜õôõôõôôóïòòððíñòïñððóôòòó”õóõõööõõöôðçÝÔÒÔÑÏÈÊͰÌÉÄÂÁ¾ÀÄÅÆÇÊÉÉËÌÊÆÇÉËÌÊËÈÉÉÌÐÐÎËÓ×ÛÒàãèìñòòöôöø÷ö‚÷øõ‰öøø÷ðõùûúû‚üûü‚ûûü‚ýýü‡ýüüýýüûüýüýƒüüýüŒýûüýûûüûüûýýüûü’ûüûüûúûúüüûûúûûùúúû‡úûùûúúùøŠ÷úö÷ø÷öõöõö�Œ½»»¾À¾¾¼½¾¾·º¸ˆ¹¼»½¿ÃÁÀ­ÁÂÂÄÇÑÜÛßÝßßÝÝ×ÜÜÝÜ×ÕÛ×˳É×ÔÑÏÏÒÑÐÎÎÒÒÑÔÕÓÒÕÔÐ’ÑÐÏÍÇÌÌÊÉÆÊÌÉËÉËÎÑÏ£ÐÒÒÔÕÖÔÔÕÔÒ̾³§¥¦¦¥Ÿ £¢¢£ ›˜—–™›Ÿ¢…¤£Ÿ¢¡¢£ ›¤¨¨§£ª°´¬¹½ÅÉÍÎÎÑÒÓÙÖÕÖÖÙØÔÓ»ÔÓÒÉ×ÝßÞÞßÝßßááßßàâßàããäàáäáàâàáâãåãâãâáãäâäåáâåãâàââàãàäåäâ¸àåäååäåäáâæåâãåäâãäáäáãåààáãåâãáâààâßáàÞÜÛáâßÞßßÜÛàáßâàÞá‚ßßÝŒÛÛÝÜÔ×ÝØÖØÚÙÛ� Ÿž¢¡¢¡™ œ””—þš—––œŸžœœž˜›ŸŸ¥´¾ÀÁÂÁļÀÁÃÀ¾Àº¹·²¡‹£¬§§¥¥¨§§¢žŸ¢¢¥¦¤¥§¦¡Ÿ ¢¡Ÿ—Ÿž›—–œž›Ÿ™œ¢¢¡Ÿ¡Ÿ¤¤¥¦«ª©¬¯©¢ž“‡}zyxwrt|xywrolkhknstwzywy~{yz{ywwyxyv{ƒ~z…‰ƒ““˜ ¤¦¨£¥©°­¬ª«§¨¥¡¤£¢ —«µ´´¹¸´µ¹»¼ºº¹·¼»¹¹¸º»¼¾º¸º¸»º¼¾°¼¼º·¸½¼¹º¸»º¹»¹»½¼À¾»»½»¸»ÀÀ½½¾½¾¼¿¿À»¾½¼¼º¹½½¾¼¸¯¾½¹¼¼»¹¹½¶¸¸´²·½»º´¶º¶²µ¸¾½·º½¸º¶¶µ³³±°±µ§«¶¶´³µ¹�—ãâßâããæãâãâáßÝãáàááäççæçƒææçèƒðùùúôùŽöö÷ñêêööõõôóôõô†öõõ÷ö÷õŠôõôõòóñìðñîòóòòóôõòóõôöõö÷÷öõóìãÛÖÕÔÑÐÎÌÈÅŒÉÈÇÅžÁÆÅËÎÏÒšÑÖÚàä×ÍÊÎÒÔØÛâäèêíïðòõ÷÷øùø–ùøùûùùøúûúúùúøøöóöùúûû üƒûüûüý‰üýüüýýüüýüýüûüƒúüüý„üýýþýüýƒüüûü†ýüýüýý üýüûŒüüûüüûüýûûúüû…ùùûùùø‹ùùúøùøø÷ööõö÷�þ½»¹¼½½Á¼¼»»º¹¹½º··º¼¿ÀÁÁ¾½¾ÀÁÂÂÀÊÙÙÝÛÚÜÜÝÖÙרÙÛÕÔÒÍÁÃÓÕÐÑÐÍÐÒÏÎÐÎÐÎÒÔÓÔÑÑÓÐÐÎÑÌÍÊÂÈÊÇÅÅÊËËÍÌËÍÐÑÏÑÒÑÓÕÖÙØÕÔÏŰ©¨§¥¤£¡Ÿ›šœžž›¦›•˜¢£¦ªª©©®²¼Á°¤¢¥«¬°´»¾ÂÅÉËÍÐÔÕÖÙÛÛ؆ÙÚÜÛÚÛà¢ÝÙÚ×ÖÑÉÒÜÛÞßÝàßáÞàáßàßáßààãåàãáãáäâ˜ãàááâàâãààäàâãááâàãßâáàãâ¢áãåãäâããäãåäàââáâààáäãáääáßááãâáääáˆßÞÝÛÞàÝÞá‚ßàß—àÞÞÝÞßÞÝÙÛÜÜÝÝÛÙÚÜÙÙØÙÛÛÚ�ƒ Ÿœþ¡ œ˜•—˜š•––ššœššœž›œ™œ ¯ÂÄÂÀ½ÁÂÁµ¾½¾½»²­®¦›šªª¦¤£¥¥§¡¤£Ÿ¢ ž¡ ¢¤¥¥¡¡ ¢ŸŸœ•›œš—–œœŸ¢ŸŸ£¤¤Ÿ¡£§ª¨¬®­«§¢•‰ƒ~~|xvvwtprprsrqpikruyŸz{€‡˜œŒ}z|ƒ‡’™šž¢¦¦¥°´®­²³ë®±¶·µµ´·¶¶¸¶¯©¥ ™¦´³²¶º»·¸·º»º¼º¸»½¹»º»º¹¾¹º¾»º¸¸¾Á½º¼¼º¸»¼¹··º¼¼··¸¶¹¾¿»¼½¹¹»ÀÁ¼»»¼½¼¼½¿»»½»½»»½¾¿¹µ¶·¸º·»½–¾»·´¶³·º¼¸»··º¹¸¸¹½·µ¶·‘´µ´²³´±²³°³··¶´µ´·¸� ãááâåââßááßááÞÝáâããåæçèççæçæççéóùú„ùùúùø™ùø÷õÙÆéöõóóôóóõôôõööõõôõõôˆóôóóôóóñòïÄññòôôóóôõõôõõö÷ö÷öñéàÙÔÔÓÑÐÈÍÉÅÀ¾ÃÅÆÃÅÁ¿¼ÅÇÍÐÒÓÖ×Ûæîôõõíäàèïðôôö÷÷øø÷‹ùú÷ùùøùúúûüû•üûûúüûûúõöøøúùúûúüûüûü„ýüüýü‚ýüýüýüýüˆûûýüüûüûü„ýüûüýü…ýûüüûüýûüýüüûüüýýüüûüû„úûüüû˜úúûûúûøùùúùøøùùø÷øùøùøùø÷‚öô÷ö�½º»»¾¼½º»¹¹º»º¶º¼»¼½ÀÁÃþ½À¿ÁÀÄÏÖÞÜÝÛÚÛÙÚÛÙØØÙÙ×ϰžÂÓÒÐÎÏÍÎÐÐÎÏÐÑÐÏ‹ÐÐÑÑÏÐÍÍÏÌÍËÆÈÇÆÉÊÌÎÐÍÎÏÒÓÒÔÒÕÙÖÖÔË·­©ª§¦¤ž¡Ÿœ—”™œœšœ™˜–ž¤§©ª®¯µÀÊÓÕÔʾºÃÊÍÐÓר×ÚÙÚ¤ÙÖÛÜÛÝÞÞßßÞßáãáâàÝßÝÞÙÎÕÙ×ÛÚÜÝÝàßàáßá‡àáâåäåãåŠâääßâàáàáâá”âäáââààåãäáåãáâããàßâã‚âäã‰âàäáâãäãäâããÞßàäãáãâßààââßà„ÞÞâáÞ†ßáÝÜÜÞÝŽÜÛÜÞÝÝÚÜÙÛÛÚÙÚÙ�«¡ŸŸ›š˜™›—•𙓕™—™›œœ››žš™˜¡³ÃÆÂ¾¿½»¼¾¼º¹’¸±¨‚o˜¦¤£¢ ¤£ ¡Ÿ¡þœŸž£¤¢¡¡Ÿ  ¢žœ›˜–››Ÿ¢¥¢¥£§¦¤©©®®¯°¬Ÿ“ˆ{}{ywnsqpmmrroppnllsu{~}„†Ž›¤¬²²§›–›¥©°¬®¯¯±°²°°³¶³®³´´µ¶¸½»¹ºº»¹»¼¹¸µ¶¯¡¨°¬®­³µ²¶´¹Ó½º½¾½¼¾½½»»¿¼º½½¼º·¼½º¸½¼»º¼¼»¹º»¼¾ºº·¹¸»¼º½¹·º¼¾¿»·º»½¸º¼¹¼¼¾»¼»¼¼½½ºº¸¶¹»¸º¼º¼¼º¸¶Ÿ»º»¸»¸¸º·¸··¹°±²¶³µ´·µ²±´´±´³¶¶·‚¶³·´�ˆàáâãàãáÞß—ÞÞßßåçæåçåäåæäååçæìõøûùø–ùø÷øö÷ùùðÌÑòööõôòôòôðòó‘ôóóôóôóóôóòóñòðóóòŽïñòôõöõõôôöö÷ø÷™õðâÜÕÔ×Ô×ÓÒÏÎÍÊÄÁÁÃÅÅÂÉÈÈʈÎÏÒØßèñö÷ƒö÷ø÷„ø÷øø÷ù‡úúûùúûûüûŠúúùùøøöøúùúû„üüûûü…ýüüýýüý‚üûüƒýüû üýü‡ýüýýüüýü‚ýýü‚ýûü†ûüüûüüû…úûüýüû¢üûüûúúûûúúûøúøùúúùøùøøùøøùøøù÷ö÷öôõö�»…¼»¼½¹º…¸¸¹·¼¿ÆÂÀ¾¿Á¾¾ÀÁÀÉØÞßàÝÝÚ×ÚÚØÛÚÕÙÚ×ˤªËÓÒÑÐÍÏÌÐÊÌÍÍÊËÎÎÏÍÎÏÎÒÏÏÐÌÎËÎÎÌÍËÎÉËÌÐÔ¼ÓÑÒÓÕÖÙ×ÙÛÓʹ±«©««¯¨©¤¢£¡œ—˜›žœ™  Ÿ¢£¡¥¦«±¹ÄÏÖÙÙÚÙ×ÖÙÛÚÛÚÙÚÛÚ„ÛÚØÙÚŸÜÝÞàáâááããäââåäáßßâàÛÝÝ×ÚÖÙÜØÛÝß—ááàßáåçæååæçèäæåãääâàãå䑿æäããäâåæãåæççãååáŒãäããåäåäæçææãŠäåãäââáååàâ‚áàá©àáâßàâàÝßáâáÞàâàááÜÝÜÞàßÞÛÜÞÞÜßáßÜÝÛÜÜÛÚÙÙÛ�—ŸŸžž™–—™š––ššŸ ›œœ™™šŒ™™˜¥»ÅÇžþ¸þ·´·º¸¤x{ž©¥£¢Ÿ œ š›œœ˜›žžœžŸ¢¡¢¤œžž œšœžšœž¡¥§ª¨¤¤««®³°±°®¤„~}€{}xtuspqrtvoqtwvy|vx}‚Š“›¨±²³¶µ²µ·µ²µ³¯±±³±°°­°¯µ´±´·º¹»»½¼®½À½¾¿»º·»·²°´«­¦«¯ª¯²³²¶¸º»¹¸¹ÀÁÀ½¼¿¾»»¾À¿»½»¹½´¾½½¿¾¾¿À¾¾½»»½¿½¼¼¾¼½À¼½À¿¼¼½¾¼À¼»½½¼º½»½½¾»½¼½º¹¹¸»¹¼ºº¸¶¸º·¼¶¼»º¼‹µ·¹³µ´µ³¸ºµ´¶‰¸¶·¹¸·¶¸²µ´�‚ááà­áÞÝßÞÝÝÞáãåääåææããæääâéñùøøùøùø÷ùøø÷÷ø÷ø÷áÆãóôˆóõñóòóñðò–óîððñòóòòðóòñóóòóôóôôõö³÷öö÷ö÷÷öö÷óìÝ×ÕÓÒÖÖÕÓÍÏÑÉÈÂÄÊÊÆÊÐÏÍÌÍËÎÒÞîóöö÷÷ø÷øø÷„øøöö÷†øø÷ø÷÷øù‡üüúûûüûü‚ûüû”ùûûüûûúù÷øø÷øùúûûüüûü‹ýüüýüýýüüýüý…üýüüûüý…ûûüýüýü²ýüüýüýüýþüüýüüûûüüûüûüüýüûüûúüûûúûúûúûüúüûúûûüûüúúùƒúùøù‚úøù…÷õõöõö÷�„¼¼»¼º‘¶¹¹··¸»¼¼¾¾¿À¿½½¿½üÄÑÛÜÞÞÝØÜÜÛÛÙ×ÙØÔÚÓ¹¡¾ÎÏÐÏÐÏÏÐÊÏÎÎÊÉÊÉËÊÍÆÈÉËÍÌÌÍÊÎÍÊÍÐÏÏÑÐÒÒÓÕÖÕÕÔÕÖÕÖ×ÖÚÚÑÆ²­¬©©®­©©¤¤§¡ š›¢¥Ÿ¢§¦¥£¥£¤«¹ÉÒÔÖÚÜÚØÚÚÙØÜÝÛ××ÚÙòÛÛÚÙרÛÞÞÝàââàââããââäãßÞáãäßÞßßàßàßÛØÙÙרÚÝßàßâãæåããåäççæãâãæááåãåçåææäáâçäåçãâãäçæãæääâáããäããåääâæèãáâãââãåâàãâáåã–ßàßáßàßßÞßààßàââßààááãÞ•ÝÞßÞÝÛÝÞÜÝáßÞÝÝÞÜÛÙÛÙÛÝ�‡Ÿœ›š™—‡•˜ Ÿ›œ¯™™œš—— ®ÁÅÃÁÿ¾½¼·´´µ·¸¹´’s¢ ¥¤¤¡¡Ÿš›››š˜—›Ÿ˜›œž ¢›œžšœž ¤¤¥¦¦§ª¬®§ª°°±°º±¨ˆ€~€ƒƒ{y~vwtt{}sz|{|zzzƒ’¨¯³±´¶·´µ¶³´µ¶¶¯°±°²±²³°²¯´œ¶··½¾½¿¿½¹¼¿½½¿»»¼º¹¹¶¹¸º¸¸´­”¬©«°´¹¹·º½¿¿¼½½¼¼¾½Á¾¹º¼À¿ÁÁ¿½¿Á¾º¿À½¼»½½¿¿»½ÀÂÀÀ½¼ÁÅ¿¾½¼¼¿À¿½½¾½»»¼¾½»½º»¼»»º¸¹º·‰¶º·º¾¸¼ºº¼‹º¸¹¹·¹¶µ¸º¶µŒ·º´µ¸»º¹¶µ¹´¸º�œãßßáÞààâàßàâäæãääããææâãåàâìõø„ùùøù÷öøŠ÷ðÓÑæöôóñõóòôóóôõôòïññòðïŠòòðñðôóóõöõ†ööõôõö÷ø÷öôö÷öïäÚÚÛØÜØÔÔБÊÏÍÉÐÓÏÐÓÎÏÌÌÖàêó÷‰ø÷÷ø÷ø÷øø÷ƒø÷÷øùøùùøúûùûüûüüûûúü‘ûûýüûûüüýýüüûûúùùøƒùùøü˜ûüýüýüýýüýüüýýüüýýüýýüýýü…ûýýüýüý†üýýüüýüý‚üþü„ýüûûüûûüüûüüûûüûûüûúû„üûüüû†ùøúûúúùøùùøøùùø÷ööõõöõ�Á½º¹¼¶¸ºº¹¸¹»½¿¼»»½½À¾¼¼¾¸¼ÇÓÛÚØÚÛÙØØÙØÙרØÙÓɪ¨¿ÓÏÌÉÐÏËÏÌÏÏÎÏÎÌÌÇÊ›ÇÈÅÇÊÊÉÊÉÎÎÍÒÓÓÒÓÕÔÒÓÓÕÖÖÕØÖÙÕÕØÙÔ˼²²³°´°¬¬¦¦§¡¦¤¡§ª¦¨«¦§¤¦¯¸ÄÐÕÔÔÖØÛÚÖÙרØÙÙØ×רÙÖרÚÛÝÛÙÛÛÞßßààáàßàááâááàÞßáääàáãåáâŠÞÝÝÛÛÙÛÛÜÙà½âààäæåäãáàâäãääâäæäåçäááäâææâáåãæâãåãâãäãäâãáâááàâääàäããâãäâÝà”âáàáÞàáßáàáàááààáÞÞà߃ÞàáÞ•ÛÞßàÞÞÜÝÛÜÞÝÞÝÛßÞÜÕÚÛÜÚ�È ›œ›—›š›˜–˜šŸžœ™˜—™›˜šœ——§ºÃļº¿½·¶¶³±´¶¹² }|‘¦£¥ ¡œ››žŸ›–š›™–”–›í› œ£¦£¥©ª©¨©ª¯¯±®¯¯³±­«­¯ª¤“ˆˆ‹‰‰‚„€~|w}~y‚{{||‡¡®¶´µ²´·¶°²´²±¯±³¯±²°¯°²³±²±³´µ¶µ´»½¾À½¸¸º½¾½½·º¾½»¾»¾‡º·¹·±²±¯½²±®·¹¼¹·¹¹¼½¼º½¼½¼¼ÂÁ¾ÂÁ¿¾ÁÁ¼¹¼½¾º¹¿¿¾½¸¼Ãþ½¿½ÂĽ¾À¼»½½¼¾»¿¿¾³¼¼»½¼º¼¼»¸¸º½¹»¸·¸¹»¸½»¶¹·¸¹¹¼¼»¸·¶¶µ´·º·²´µ·º³¶ºº·¸‚¹µ¶´�‡ááßßáãàâ—æåççåçäææåããæååñùùúøùø÷ø‚÷ø÷ŒøøòËÚóõöõððõó…õóóõõôóò„óïðõô„õöõö÷ö÷ö±÷øø÷ø÷÷öô÷ùúù÷ôóôõõôðëçàÝÕÕÒÕÔ×ÔØÖÔÔÖÜæòöö÷øø÷øø÷ø÷ø„ùùøúûùûŒùûüúüüûüüýüüý„üýüýü‚ýý üýü“úûúúûùûýüýüþýüýýþþüýþýþýþýüý‰üýýþýýüýüý‡üýüýüûúý„üýýüýûüû‘ýüûûýûüüúùúùùúúøøúùú†ø÷öø÷ö÷�Žº»¸¶¸¹¹ºº»¼»¿½¼“¾¾¼»¼½¼¿Ê×ÜÜÛÙÙÖØ××Ö©ÕØØÊ£°ÍÐÑÐÇÈÎËÌÎËÏÍÍÏÏÌÍÍËÊÈÈËÃÆÌÌÍÏÐÎÐÒÔÕ¾ÔÖÔÔÕÔÖØÖÕ×ÖÖÒÎÖ×ÙØÓÏÐÑÔÓÑÌÆÀ·³¬«§©©¬ª®¬¬«®µÂÏÓÔÖÖÕÕØØÙÚÙÚØØÖרŠÚÙÛ×ÚÝÞßÜÞÜŒÞßÝâßÞßààßââ߃áÞàáßáâáààáààãàáãâ“ÞÝßÜÜÞÛÝáàâáàáÝáââäãÄæåáååãâáãæçæããääâáâàáäæäãâãßÞååÞÞáãàâææãâáåßÞÞÝÚàßãàáààâàßÛÞààÞààÞáàÞŒßÞÝÙÝÛÝÝÜ×ÛÝÛÝÜ„ÛÖØÚÚÛ�¥›š—œž—››™ž›ŸŸœ›•˜š—”–šœœ«¾ÄÆ¿»³²¼º´²±Ð´µ²¢vƒŸ £¡”š£ Ÿ ›šžžšœ™›™••Ÿ £¢¡Ÿ¥¨§¨«ª«®¬±²´³±±¯±¨£§­«¬®«©¨«­¬§¢’Œ€|~„‹€€‚ƒ©°±¶¸´‡µ³´²²´³®É±¯µ¶·±´·µµ´¶¶¸¹º»¶¼»¾¾¹»¼¼º¾¿ºº¸½¼»º·¾»½¼»º¼½¹¹¼»¼¼»·µ¶³³´®²··¼º½»¶»¼¾Ã¿½¿Û½½¾¼»½¿À¿ÀÁ¼¾»¸¸¿Á¾¿À¾À¿»»¾¾½»ºµ¼»¾¿À¿À½¾¼»¹¶³½½¼¼¿Áº»º¹·»¹¹»¸¸¶µ¸¶¶º½¸¹¸µ°´°´·²­°´¶·´¶·¶´¶¹·µ·�’ÞàÞßÞÞàââáååæçåäååã†âäìòöøù…öòõøù÷‡öö÷öðÝæôšöõóòñðóö÷öõõöôõõóòôòóóôòöóö…õöõ÷ö÷„ö÷øù÷¤öÙÛàãìëððôðññòñóôïêãÙÍÌÃÁÌÓÐÙâìô÷ùùøúûù„÷øø÷ø„úúûúûŠúûúüüûüüûúü„ýýüüýüƒýüüýüý‚üüý„üýüüû…ýýþýýþý…þýýþþýü‚ýüýüýŠüýþýþýüýýüý‘üýüüýüüûýýüüýýûûýü‡ûûúûüûüû‡úúûúùøøù‹úøùúùù÷öøö÷ö÷�¥·¸·¶µ¶¸º»º½»¼»º»¼½ºº»º»ÁËÏÖÙØÙÖÏÑÔÖÖÕÔÕÔʲ¼ÍÏÌÍÍËÈÈÇÊÐσÎÑÍÌÜÊÊÉËÊÌÉÏÌÑÐÑÐÑÑÓÓÕÔÕÖÔÔÓÖרÖ×ÖÕÒ®«³»À¿ÅÃÌÈÊÉÊÉÉÍÅ¿º¯¡Ÿ™–¢¨¥®¶ÄÏÓÓÕÖÙØØÖÙ×ÖÙØÖØØÕ×רÖÜÛÝÛÛÞßÞÜ ÝÝÞÞÝÞàÞÞãßÞÞààáÞààááàÞÝÞàãáÞáàÞßžâáäåàááàßÝÝÞÞÚàßßÞÝáâáàââãáâáãâ‡äåããäåßâߥààãâàâáâãçåÝßáàÞáâääßáâßÝÜßÝßÞáààßÝÞßÝ¥àßÛßàáààÜÝÜÛßÝÜÜÛÞßÝÜÙ×ÚÚÙÚØÚÚÙÛÚÙ×ÚÚØ�–˜†–™–››–›™ž›—•˜™•“”•¢©´½ÁÀ»¯¢­·¶²¯¯±þ¬ …’¢Ÿ¡ž™šœš› ¤¤œ¡œœ›š˜››š™¡Ÿ¢¡¦¥¤ ¥¤©¨®««®¬²³µµ³¯­¨‚„‘’š¡Ÿ £¤¢œ˜…xtkk|{…›©¬¯³³µ¶²¸µ´³´°¬±³®°¯±°·ºº¶¹¸µ¶·³¸»ºº»»º¼‚¾¿¼„º¹¼¿¹›¼½»·¶º¹½¼¼º»¼¹¸º½½À¿¿¼½º¸´²´‹··»·µ¼¾¼½½¼½‡º»»º¼À¿¾Ôµ½»··½ÀÁÁ¾¾¼½¹»¾¿¾»·¸ºº½¾ÁÀ¾½»»º¶¶´»½»¼¿¾¸·¹·¸»º¶·¶¸¶µ·µµ¹¹¶·¹·²´³´³­¯°±²´¯°³³´µ¶¸»¸´¸�ŸÞÞÜÚÙàááäãçåáäãåæçäáâèïîì÷÷öõóõø÷“ö÷ø÷çÜñóòññðòñòóòò÷õ†ôõôóòñô’öôôõ÷öö÷÷öö÷÷öø÷øø÷¹øø÷÷õîÞ§¨¢‹ž¢ £›©©¢ª¯±¯§¢¦¦¨ªŸ“œ§°ºÆÓÓÎÐÓÑÚßÚØàâáè÷÷úù÷÷ùúûƒüûùü†úûýüüýü‚ýýüƒûüýü„ýýüûüˆûüüýýüýüýŒþýüýüûùûûúúüýˆüüýýþýüüýƒüýûü‚ûüýƒüýýüýüûüýüýüûüüûýûü„ýýüúü‚ûüúüûüüúùûûüüûøúûúúûûúøùúùùøöõø÷÷ö÷�Œ¶´³²²¸ºº¼¿Â¾º’»¿¿¼¸ºÂÊÇÆÕÖÓÑÏÑÔÔÕ“ÔÔÖÓ½±ÈÉÈÈÆÄÊÊÈÉÈÊÑΛÍÍËÉÈÉÍÍÏÐÍÐÐÓÒÓÔÓÒÒÔÕÔÖÕ××ÕïÖררÒdz}~xbtzyztƒƒ{„†‡‡‚€‚„„†}s{†Ž”ž©¨££¨¦¯²®­¸µ´ÁÖÖÛÚ×ÕÙÝÛÝÝÜÞÝßààßÝÞààßÛÞáâßáâáàßáâäáßßàáââàááâáÞÞàßààßâààßãâááãäãßßÛÜÜÛÜßáßáœââááàâãâæãäáâßàäàßáâáßàäâáãáâ™áàâáÜãâááßßÞßÜÞÞÝßÞãâàÝÜÜß—ààÞßßÝàáÞÞÜÚÞÞÝÝÞßÞÝÞßÝÜŒÛÚÜÜÛÙØÙÚØÚÜÛ×�þ—–“‘’™™—š™žš•˜š›—š™”•ž¥¢£°µ²±¬¦®¸¶³²¯­¯±ª…™š“•˜—™››˜ žœœ–“•Ÿ¡ Ÿ£¦¥¦¦¤¥¦§¨¦¬¬°¯­©¬¯²µ³¯© †SVQ8FOLTNV]RZ_^]]YZc`aSOVcinw†€€}}„w„¯~ŽŽ‡’®­µµ°¬°´´¸¼¹¸¹¸¸½¹²ºº¹º··½»¼À½¾¾¼º»¾¼¸·¹¾¾»Œ¸¹ºº¶¸¸µ¸¹¼¼¾Œ½¾¿Á¾ÀÀ¼¸³®¯°Ã¸º¶¸¸·¹¼À¸·¹»º»¼¼¸º³¹¿¹¹¾ÀÁÁ½¿¾¼¼º»À¼»¹ºº¶ºº¾¾¹·¹º·º´´¸¸»¼»·¸¶¶µ·º¸¶„³¶¶¸¹š¶´¸¹¹¸³°³·´´³³²µ²²±³³°³ºº¶¶¹� àÞÜßàáâãåæäááäåèæäáãî÷÷öõø÷öõîëòø÷÷øôáäòôïðññïñíòôòóöõõöõööõöõö‚÷÷ö÷„ø÷øùø°÷öòæ´©«‡y¥Ÿœš—™˜’•–š—”–’œš•—˜ž¥§«©««©©¡£®°´±··Ôø‰ùøøùúúûüüûüûüûüýüý ü‹ýüýûüýýüýüüýþ†ýþþýýüûŽúüüýüýüüýüüýýüýüýüý„úýþþýƒûýýüŠýýúûüüûûüýüýüûüûü’ûúûúûûúùûüûüúúûüúúù…÷÷ø÷÷ö�£¸´³µ¹º»½¾À¾»º¼½¾¾½¹»ÇÔÚÓÐÔÔÓÓÉÃÍÔÖÔÕÓË·¹ÉËÆÇÇÆÅÈÄÈËÉÌÏÎÏÒÐÐÑÏÍÎÓÒÔ„ÓÕÒÔÕÈÖÖØØÙÚרÙÚÖØ×ÕÏ¼Š‚„bT|xwurvtostw|yvvu|yvyw…„…ƒ††ƒ…~}†ˆŒŒ¯ØÛÛÜØ×ÛßÞÝÞÞàáààßÞáäáÞÞàââãâà®âäæãàâããààáââãáàáàâßßàâàßÝáâäæåááäæãääáßÞÝÛÞßàá¬âáßâåâååãäâßâçãàáãâààåääåäãääâßãâàäâàãâÜÝáàÝÞ‹áäáÞÝÞßàáßßà—ÜàßàÞÞÝàßßÝÝÞÜÝáàßßÞßÞßÝÛÜÛ×�üš—“—–˜š™›œ•’™ž——”™ª¹¸µ·¸¸³°¦›§¶¶µ´±­®¨‹Š››—™™”’–”š›™šžŸœŸ¢Ÿ¢œ›¢¢¥¦§£¦¨¦¨ª©©ª©ª«±°²²°­®±°²²¬¢”e\^</SQQSNNPKNRVZYVRZ^YSZV_d_Üdd`d[X]bihj`³´´¶±¯±¶·¸»º¸»¹º»¹µºº¹½º¸¼½¼À½¼½ºº¾¾½»»¼À¾½½»º¸¼¼ºº½¸¹¸¼»¹¼¾¿ÀÁÃÀÞ½¼¸²°°±·µ·¸Â¼¿¸¶¹¼¹½¿½¼¼µ¸¿¿½¼¾¿ÀºÀÀ¿¿¾¾À¾¹·¼½¸º·¼»»³µ¹»¸µ¶¶´¶¸¹¶¶¸µµº¹´µ¸·´¸·º›»º¶¹·¸·³´¸º·ºµµ¸½¶¸´·¸·¸¼½¹·µ�‚ßÞá‘ßáâäâåááâãäââê÷ûùøŸ÷øùøùúóð÷öõõöàÐâõõóðïïðòîðòóóõ÷ö÷„ö÷øø÷ƒøøùø÷øƒùøø÷¹öí±ª¤™—¦¥ ¢žŸ§Ÿ˜œžœœš™“”––œ˜šœšžŸ››—–˜¥­Ÿ£·÷øø÷ùúûúûüúû‚úúü‡ûùüûüüûü„ýýüûü†ýüþþýýü„þüûûüýüƒýþýþ…ýýþýýü‚ýýü„ûûüûüý„üýüûý…üüýýþýüý„üüûýüˆýùúûüüûüûýüûü‚ûüûüûüŽûûúùùûúûüûúúøø÷ö�À·µ·¹»¹º¼½½¾º»»¹º¸»ÃÒ×Õ××ÖÔÔÖÙ××ÏÌÓÐÓÓÏ´£¶ÎÎËÇÆÄÈÉÃÆÉËËÏÒÒÑÒÒÕÕÓÔÓÖçÙÖÖ×Ù×Õ×רÚÚØ×ØÚÖ×רÕÒň‚~uuƒ{}|„}|x|}|~|zxxzy~xyzvz{|yyuvvƒŒ‘ÖÙÜÛÛÜÞÜÞàÜÞÝÝÞÞßàßÝÙáàáßÞàâàáââàÞâãà’âååàáãääãáàßààÝÜàßàãæ–åâáäãäåääâàßÞÝÞÞÝÝÜßààá‡ââåäàâãá“äááãââãåäââããââàâãâà‘ÛÞáãáßÞÛßáâàÞÝáßáß•ÝÞÝàßßÜßÞÜàÞßàßàáâÞàÞß‚áßÞ†ßßÜÜÚÜÛÙ�þ™™šš–”˜™œ—›•’—šš‘—¦ºÃÿ¿¹¸·ºº¼¼­¦²³°¬§ˆu‡žš˜–“˜—“˜šœšœ¢Ÿ ¢¢¤§¥§  ¥¨¬­ªª««¬¬­®°¯­­³±²±±°®¯°¯¯­›a^[QS_[UX[_bYYV\``c`[Z\[\dd\VTR˜WZ]XXUVS`l_]g¬··±¹º·³¹ºµº¿¸·¼»¸µ°¹¸¼º·¹»»¿¾¿»¸¼½¸¼¾¿ÀÃÀ¿¼¾½ºÂ¾··¹»»º¼¼º¼ÂÁÂÀÂÁÄÅÀÀÁÁ¿º¹»¸·‡µ²µ¶¶¸º»Ù½¿À¿»½»¹À½º¼½¾½ÀÃÀÀ¿¿»¾¾½¼¿º½¹¸·»±¶·»¹¶¶³²·¸µµ´¸·¸¹¶²³º¶·¸··¸º»»ºº¸¸¹»¾½¾·¶µµ¹¼»¼»º»»º¸º¹·¶�”àßáãáÜâáäããáßßàÞßíöøùƒøööøœ÷÷ö÷øø÷÷êÇßóòòóíìïñòðòôñôõ÷ö÷ƒøöõ÷‡øøùøøùùø½÷øøóö÷öõô©«¡“­¸©¥œ¦³®ž—•––“•–”•¢œ¤º™œž œšž›¢ £®£¢›ßøøùøøùúû„ùûüúû‹úûûùüüúûüüûü‰ýýûýýûüýüý†üýüýýüû‚ýûü‚úü ý„þýýüý…üüýüüúûü‡ýýþýýüûüˆýüýüýüûüý‡úûýüýüüû‚úúûƒüûüû…üúúûúû„üûüü ûúúùùûûúúûûùùø÷�þ·¹¹»¼µ¼»¾½¾»¹·¶´·ÉÖØÚÙØÖÕÔØ×ØÕÕÓÔÖÕÔÒÁž·ÌËÉËÃÃÆÉÉÇÊÍËÍÒÔÒÓÒÒÔÔÓÖÔÒÕÖÕÕ×ØÚØØÚÛÙØ×ÙÚÙØÖÕ×ÚÐÔØÕÒÍ™„„yq‹•Š…y„‘‹wvwwuxryxy…€†š}xyz¥{zx{y€~ކƒw½ÚÚÝÞÛÜÝÞßÞÛßßÜÞßàßàßÚãàÝßá“àáâßâãààáßäåáâãääåâá—ßÝßâààßââååææçåáåãæãåääáàƒÞÞßá¬äâãåáââààáàãáâááãäâãáàâåáâáàãäãàááßßáßßÞÝßààÞßÞÜÞßàÞàÝÞÝÞáÞßàƒßßáà‹âßßàßßÞÝÛØÛÛÙ�Í™˜™œ™“™™›–™•’”—“”©»ÃÀ¿¾º³³··¹³µ±¶¶µ¯©”q‰žœš›‘’–›—™œœž ¥¢¤£¡¤¨§©¥¡¨§¬®«­®®±°°³Ù°­±°²¯¯®¨«¯¨©¤oa_UOkyhdVdsmbYWXZX[VZX[fck}aXWWY[Y\X\[amgcS”µµ¸µ·¹¸¹º¸´¹¹·¸¸»»¹¶®¸·´¶·¸¸¼¿½å¹»¼¸½À¾¿Á¿¾¾Ã½¾Á¾¸º»¾¼¼»º¹¾ÄÁÀÂÁÁÄÿÁÄÀ¾½»¼¼½¾»¸º¸´¶º¼º¹¼¼¾À¾¿½¸¿¾¹¼¾¾¼¾Á¿¾»¼º½À½½¼µº¼º¸·¸¸µ³²´³²¶¶µ´©µ·¸·µ³µ¶¹»¹··º»¼º¹¶·¶»¼»»¼µµ··»¼»»½½»½»·¸¹�„ÜØÙßà‹ââááÝÜÞêó÷÷øö÷ø÷öðó÷ø÷ööãØìõòääôëîññðõöóö÷ƒöõõ÷øƒ÷÷ö÷„øùúúø¼ùù÷øø÷÷ø÷õ÷öõóШ§•Œ ®¸¶°¤¨ª¤¥Ÿ˜˜•’‰›““Ž’¡»¾—•šœš–Ÿ¢¤˜¨¢ª§Üúøƒúøùú‚ûûüûü‚ûûü‚ýýüýü…ýüýýüý…üýýüýü‡ýüýüýüü ýŒþþüýüýüýýüýüýüûûüûúýþýýüüýýüýüýˆüýüüýýþýüûüûüüûüûüûúúüüûúûüûúû‡úüûúûûúû…ùø÷÷ööø�½µ³²µ¸¸º¸¼»¹º´³´ÂÐØÛÙÙØÚÚÕÖØÖÒËÒÖ×ÔÒѸ¬ÄÏʼºÍÁÄÉÇÇÍÐÌÑÒÓÕÓÒÐÑÕÔÎÖØÕÕÔÕÖØÚÛÛÜÙרØÜÚÙØÖÖ×ÖÒÕÕÑÎ¥ƒƒpf€Ž––„ˆŠ…‡€{rzxtl}vwqv‚š™xuxzyt|vˆ„‰ƒ¶ÙÚÛÙÜ­ÝÜÞÞßàßÞÞßÞßàáßáàÞßÞÞâäâßàââááââàßããââääáåâããàá‚ßâàˆâäæããäãåä¸ãàáâäåâãäåãááßàßâÝáââáâãäââãáãââæäáâàßàåãäâáâáãßáâßßààßÞà„ßÞÝÝÞ§àÞßÞÝßàßààßÞÜàáÞàßàáßàÞÞáàÞßâÞààßàÜÛÛÜÛÛØ�™š”’–—™™š˜˜–’Ž’–§³¸¿Å¾»¹·²³þ®¥¬µ·±®¦ˆ|–Ÿ›ŽŠ’•š™•ŸŸœ¤¢£§¦£¢£§©ª¨©««¨©«©«¯°µ¸´³²´³¯±¯¯­¯¬«¬©¥£{`cKDap{vqglojnf^S]XUN_WYRXezyXWWX\W_b\Sjel`–¸¶´µ´³¹¹¶¸¸¹¸¸µ¸º¹¸µ¶¸¶·¸¹¹½¿»»¿¼º‰½½¾¿¾¿¿Á¿½§À¼½¾¾¼¼»º¼¾Á¾½¾À¾½Â¾Áý¼·¾¾ÀÁ»»¾¿¿¼º»¶®µ½¼½½¼¾ÀÀ¼½À¿½»¿¿¾»¹¶½Ã¿¾º·º»¼¸·¸´³²±´µ··µ¶·¶´¶§¸µ¸··¼»¹º¹»»¼º¸µµ´º½¸»º´·¹·¼¿¼¼»¾¾½¸¹¼¹µº�‘çãßÛÙÔÏÏÒÔØÚÝáòøøùø÷¤ö÷öôóô÷÷õõðÛÛïôòòíìñòóñïðôöôõ÷õ÷õõ÷ö÷†öö÷÷ö÷øÌ÷øøùø÷÷ö÷ø÷ö÷÷óÊ®¤™Š©°´°­´½¹¸¹»¡¬¥¢¨¸µž•—–›œ˜ ™­§ž¢·Í­­ª±¸×úøøúøöùùúùùûúúüúû‰üûúûüûýüüýˆüüýüüýüüýüýƒüýüýþýüüýüýýüýüýüüýüûüýüýƒüûúû‚ýüý…üýýþýüýü†ýýüüûýüŒûüûüûûýüûúûûü‚ûùüûùùûûúûùúúûúûúü†úùø÷÷öö÷�”¿ºµ±±®©¨«®®°³¹Ê×ÛÛÚÙפÖ×ÕÑÏÏÔÕÓÏǰ±ÆÌÉÊÄÁÈËËÈÆÈÍÐÌÐÒÐÔÑÐÒÒÕÔÁÓÕÔÒÔר××Ö×Ö××Ù×ÖÖÔÔÖÔÓÔÕΡ†€vg‡”Œ’™—–˜š‚ކƒŠ–•€x{x}}x~{Œ†~“¤œŠóŽ‘¯ÙØ×Ù×ÔÝÜÜÛÝßßÞÞÛÜßßáàÞààÝßßááâäááããâßáãááàâáââáäáãáãåäááÞáâáßáÞààââããâãááââááßããáâäáãåãááââáâÞßÝÝÞÝàãàááßáââäââáàåããåãàßáâáÞáàáâÞßáàßàÝÝÞÞÝÝÞÜÞˆßáßßÞÚÝÛß—áÝÜßßÞÝÜÞÞßÞÞÝÞÞÛÝÚÛÛÜÚÛ�þ¤Ÿ˜ˆ…†Š‹Š˜³Á¾¾ÄÁ¼·³³²±¬ª§¬³±«¥†€—žš˜”—ž˜•˜Ÿ£ ž£¢¥¤¢§¦¥¦ª©§¦¨«¨¦§¬¬­°±°«°°®¬¬ª©©­¬­ªª¥yc^XDhqwslt€}z}€fqjfkxxcZ^Z^bXY[mf±^dw‡giool†¶³³µ±®µ¶µ´µ¸¸¶·µµ¶¹¸¸µµ··º·¹»·½½¼½¾¼¾º¼šº¿¼¿À½½À¾¼ÂÀ¾¿À¿¿¾½ÀÀ¾½¾½½»ž½¿¾Á¿ºº·½½¸½½¹¼½¼»¼»ºº¶´·µ¸¸³¹ºš»¼¼»¹Á¿¿»¶¶º¾¼¼¹¸¹»¼¼·²´³¹¶±·¶µµ´··µµ²µ´¶µ¸ºº·¹¶´¶º»µµ·²µ··µµ²´·º¼º»¼¼¿½º¹¸¶³²·�›èèæçæâàÜÓÆ¾¸ä÷ùùúûúùøø÷÷øöôö’÷÷õéÖæõóñóôõòíòñóòô‚õø÷‚öö÷ø÷ø‚÷ø÷ö÷ºö÷øôóöõϦ¡œŸª¶»½¸³¾¾Ã¼¶µ­ª®´³º¶¸¦—–œ”’ž¶®®§®´´ž¶¶¸Ì÷ùøùùøù„úúùúûƒüüû üƒýýüýü ý„üüýþý‚þþý…üüýýþýƒüýüý‚üüý‘þþýþüýýüûúùûúüüýüý„üýýüýüýü‚úýüŠýûùûúûüûüüûˆüüúùûùúùúûúûˆüûúùø÷ø÷ö÷�µÀ½º½¾º¸´¬¢™–»ÓÚÛÝÜØÖØÙÖÖÙÖÑÔÕÓÒÔп©¼ÎËÉËÌÎÈÂÉÈÊÉÎÏÏÐÕÓ˜ÑÑÒÔÖÖרÔÕÕÖÕÓÕÖרÖÔ××ÔÕÔ´ÕÖÏÏÔЧ‚€z}‡•™œ˜’œ› š•–‹””™—–‡{y~ut“މ‘}’’¥×ÚƒÛÛÙÜŸÛÜÝàÞÝÝÞßàááßààÞßàãààâáàãäáàáääâäâäãâååãâÞáããáãá‚ãâ䙿áäàãáàâäåáãåääååãäæãâãâãà•ÜÞßÞÞßßááàáâáßââááãàåá–àáãââààßÞßßÝÞâÝÝÞàßÞÛÛÞ”àáàßÞÝÝÛÙÝÞÞÝÝÛÞÞÝÝßÞ‰ßÞÝÞÞÛÚÙÚÛ�‚¢þ𖓆~urŸºÄÂÃÆÇ¾º¶´´³°§®¯±¯­¦“{‘Ÿ›™š™ž™‘›œ—˜¡£¥¢¥¦§£¡£¥¦¤¨ª­¨§§¬©©«¬ª¬«®¬¬«¯ªª¨§¦©¬§¥¨©‚[`UZdwz}yr~€†|xxqorwx}{yh_]^ZU^bwppjoqoŒ\rrl|²¶µ´´±³¶Ž´´·¸·µº¶¶º¹º¹¹º¢¸»º¹»¼¿½¾¼º¸½¾¾½Á¾¾À¾À¾¾ÀÂÄ¿ÀÀÃÃÀ¾À–¾¿¾¼¼»¼¿À¿À¾»¹¼¼¾»¾À½¼½°À¿½¹»»¼ºº¹±µ´³´µ··¹¹¿½½¹¹·º¸¹º»¸¸¹¸¼¹¶··º¸¸µ¶³´µ¶¡µ¶±²µ³µ¹·¸µ·¶¸¹½µ³´¶´´³´²µ¸µ¸º»¹º¼†¾»»¹·´µ¶�ŽæçåæäãßáÛÐÊáøúùúø’ö÷øöíóøöö÷ðÔÙíôóòóô™ðîññóôööõö÷øö÷öõõ÷ø÷÷øö÷ö÷ø÷‚ù÷öµõ÷÷òóôÒ©¦””¢§«°¸ÀÃÄ»Á±°±­°¬¯ª¯²Áµž¤Ÿ¡ §¯š¢¡¢ª¨±ººµóùøùùûûøúùùûúúûûúúûú†ûüüûüýüýüƒûüüýƒüüýü‹ýüýýüüýüüþüý‚üýüýþýþýƒüýüýüý…þýüüûü‚ûûúüýüû üƒûúùûˆúûüüúûúúûúû„üûúùú„ùùøøùƒúûûú…ûùùøö÷õ�ʾ¾»¾¼º¶·³«¦½ÕÙÝÞÛ×רØÖ×Ù×ÈÏÖÓÔÓȪ°ÄÍÍÌÍÏÍÌÈÄÊÊÍÎÒÒÑÓÖÖÕÔÒÑÏÔ××Ö×ÔÕÔÖÖÕÖÖÕÕÖ°Ô×ÕÓÔÓÓÖ×ÎÏΦƒƒss‚…—ž¢¢˜Ÿ’“’Ž‘“Ÿ•€†€ƒ„‹}„Œ‰†–’ÔÛÝÙØÛ܉ÛÜÞÝßÝÜÝÝߌÜÞÝÞßààßáßÞàáƒàâãâãâªáâäãáãåââáãàâáããáàáäåãâæãçáâåæäããäæäåãäèæåäã‰âãàáààÞÞÝÜÞá¬ßààááààãáßßáâàßàßßÞÞÛÚßÞÞÝÞààÜÝÞÝÛÝÜÞÞÝÜÝÜÛÜÞ‰ÝÚÞßÞßÞÝÞ݉ßÝÞÞÙÛÙØÚÙ×�þœ£ž›š™–˜‹Š¥¿ÇÇÄÃÄļ·¶¶·²¢©µ±°«€…”  šš•›Ÿž¤¦ª¨¨«§¦£¡¡¦ª«­¬©¨§®¬«¬«ª¬®®«ªª±ªª©¨¨«­¥¢¢€]`US`fosw‚‚{wqqpurtrvyƒygdgeggor_Áfhfigqumm®·µ²¯³±µºº¶·¶·¹¸µ¸¸»º¸º¸¶¹ºº·½¼¹¹»¾»¼»»¸¼½¾ÀÿÀÁ¾¿¾¿ÃÀÄÁ¿„º½¿À¾”Á¿¿¼»¾À¿À¿À¿À¿¿Á¾ÁÁ¿À¿Á¾¼¾Á¿¾¾»¸»»¸µ´²°¯¯¶¹»»¼¸»·¶º¶·º¹·¶·µ¶¸¹¹¸¶¶³±´¶·´¶·µ²´´¶¹¶´´¶·¸†µµ¶¹µ´²‘·¶·¹ºº¹·¸»¹»ºµ¸µ¶´³�æå«áÝÔÊËÕîùøùúûùøùù÷÷øø÷ìò÷ø÷î×Ýôöôóóôôõõôôöõö÷øƒö÷÷øŠ÷öö÷ø÷øø÷÷ø÷ø÷ÂöÖ±§—ލ«±¼·À¾À»´¸²«®³¸·¶­³´»¸¥¢¦§Ÿµ¸™«¶½§ª´µ«âùøø÷õøùúûüûûúùûûøúûú…ûúùûúûüƒýüûüƒûüûý„üüûüýƒüýýü‚ýüý‚þýüƒýþþý‚þüý‰üýýþþýþýý üû‚úúûüƒýûûüˆûûýüüûùúûú‡ûúùûüûúû†üûùùûûù‚úùú‰ûúùùøö÷öö÷ö�¯À¾¼½º´ª¢£°ÉØÕØÞÝ×ÕØÚ×ÖÚÚÖÅÌÓÔÓÅ«µÎÐÎÍÌÍÎÎÏÐÏÒÐÓÔ„ÓÕ××ÖêÕÓÔÖÖÕÕÔÖÕÖÖØÙØÕÖרÕÖÖÙ×ÔÖÖ×ÖÖÕÒ§‡ƒtl‡Œ›–›ž›”˜”“˜—–Ž•–š—ˆ‚ˆˆ€€——{‹–œ†Š’ƒÁÝÜÛ×ÓÙÛÞÜÜàÞßÛÝÝÙÛÜÝÞßßÝÝßÛÝÞ…ààßÝÝá®ßââáââááàááàâáãáãâãâãàáàâäâàáäãâàâååââæçåäáååäãœçåãäææäãâãáãáâßááâàÞÞÝÛÙÛÛÜÞà’áÞßßàßáàßßÝßàßÞÝØÜÝ”ÚÝÜÝÝÜÞÝÝÜÞÝÜÜÝÝÜÜÝÝÜ“ßßÝÞÞÝÞÛÝÝàÜÚÝÛÚØÖÙÙÔ�þ¢¡œ™–“‰‚’±ÃÀÂÅþÀü¸µµ·´¡¦²°©˜Œ£¤¢žžž ¢£¥¤§¦¨¦¬©©«ª­¨¦§§«ª­©¥§§­®¯°­¯¯°°ªª­°«¬­®°¯®«¦{a]OOhnu{y}}€|twzmnsy{zsz{~ndimeezy\žmx}gmtk] ¸¶³¯§³µ»º»»º·¶¹·°²¹»¸·Î¶¶µ··¼¹»¹ºº·¼»¼¹»½¾ÀÄÀÀÁ¿À»¼ÁÂÁ¿¿À¿¾»½Á¿¾¿ÀÃÂÁ½¹¾À¾ÁÀÁÀÁÀ»À¾ÁÀÁÀÁÁÂÃÁÀ¿Ã¿¾¾¼¹¸»Î¾¸´±±¯¯²±µ¸·¹º¼·´¸¹¸µ¹·µ¶µ¶»·¸´°³·µ´²³´²´¶µµ´´·¶¶µ´¶·¶¹¹´µ³³¶¸·¹¹·¸º¶¸¸·¶´±²±µµ³�ŽåãÞÜÛÔËÄÝõùùúùúûø‰ðëðôäÖèöôõƒóôôõƒø÷ö÷„öø÷÷ùŠøø÷ø÷÷øø÷÷øùøƒ÷øø÷ø´÷÷øöõá°«œ•ºÉÉÄÅÃij»º½À¿½¾ºº»¹¸¸¶µ¬¡¥£ž›š¦¶©²º·¤¼»¦Ïúø‚ùúûšüúùûúùøúúüüûûúûúûüûûýûýüüûýƒüûüýþýüûý‚üüýþýþýüýþýüýûûüüýýüüýýüüúùúûü”ýüýýüýüûûýüüûúüûúûùûúüûƒüûùûùúüûúûúúûúúûùúûú…÷÷ö÷ö÷�½¹¶´³¬¥ž¶Î×ÛÔÙÜØþÙØÕ×ÚÛÖÉÃÉ̹ªÀÒÏÑÏÑÌÍÎÑÏÒÕÕÒÕÔÕÒÔÔÕÖÖÙ×ÕÖÔÖÔÕÖÕÖ×ØÙØÛØÕÖר×ÖÓרÕ×ÖÖÕÓ϶…„yq”¢£Ÿ¡ž ’™™›žž›œ™™š™—˜–•„…„}z…”‹“™•ƒ™•«ÚØ×ÖÙØÚÛÜÛšÝßÝÝÛÜÝÚÙÚÝÞàßÝÜÜÙßáÞÜààßßà›áàäãááâãßßãâàââßàâáâáâáâàâãâŠääåäâææãâäæ™áâãáäãääãâåäâãáââããâßßàâäá˜ãáÝÜØÙØÙÚÛÛßÞÞßßÞÞßßàÜÞßÞ¯ÜÝÛÛÜÚÜÚÝÛÝÞÝÛÜÝÛÜÜÛÜÜÞÞÜÜÝÞÞßÝÚÝÝÜÜÞßßÝÜÛÛÚ×רØÖ�­¡‘’‘Š‚¹ÁÁÂÂÃÀ¼»¿»¹¶·¹·¥œ  Ž‚”¦¤¦¦¤žŸ¢ ¥­«©×ª¤¯©¦««®­¬ª§©§©©¨©©­°°²°®­®¯¬¬©©¬®¯±²±¬¦Š]`VMt„…€‚u}}~„~€zz~}}{z{ukhhg`]esoxxshyvY‰¹´’±®¶¹½¸¹º»¶µ·µ³°·¸¸¶¯´´·¼¹³½¹»¼¼»¼¾¿¾¾½½¿ÁÀÁ¿Á¿½¾¼¹¿ÀÁÁ¿½¿Â¿¿¾¿ÁÀÁÀÀ¿ÎÁÀÁÂÁ¿½¿ÁÀ¿¼¾¿ÃÆÂ¿Á½¾ÁÀ¿¿»¸º½¾À¼¼½º¹·¸²±­«°³³¸·¶º¹¸ºº¸µ´´¶¸¹´²··µµ°´µµ¶¶µ²°´¸¶³›µ·¸¹´²µ·µ¼¹µ¹¸µ·º¶¹¹¸¶³³²³´´·�ˆßÛÕÔÑÈÍéùúùøøùøøùøø÷õôßÊàðöõôöõ ÷øƒ÷÷ö÷ø‚÷øù¿øùùø÷ø÷öö÷÷ø÷÷õõßµ¬žžºÅľ½ÂÀµº¼¼À¿ÁÁø¸ºÃ»··¶¶·¥¢§›Ÿ¬»¼¹ ¬¸«Âö÷—øùùúúûùúûúøùúùùûúûûúûúû ü†ýüýüýüý‰üýüüýûýýüý‡üüýüüýüý„þþýüýþýüýˆþþýüþüüýü‚ýýüûúøôøúúûüýýüüúúüûûüûúûúüüúûüûúøùûŽúûûúùûûùùúúûúúù„úúûúùƒ÷öö÷�±µ²­­©¢¨ÃÕØÜßÙØØ×ÖÖØÖÕØØ×ÓÐδœµÈÒÐÏÐÐÓÑÔÓÓÐÔÔÕÒÕÓÔÕ–ÖÕÖ×ÔÓÔÖÔÓ××ÕÖØÚÛÛÜÛÙØ×ÛÖÒÕÖרÕÔÐϵ†z|–¡Ÿššž”˜›š›Ÿž ˜—š Ÿš–˜—–—ˆ„ˆ|™š–‹•„šÔÖÖÔÕØÛÛÝÜÜÛÜÜÝÝÜÝÚÛÜÛÝÝÞÞÜÝÝßàßßáâàŒßàáäãáààåÞßäàîßßäãáàãåãááâääàáâáääææäâäàáãâààãâàâãåâååâäããäãâãäæáâäáããäââáÞáßÜØ×Ï×ÚÙÜÝÞÝÞÝÝÜßààááÞÞÝÜÝÞßÞÝÜÞÞÝÚØÛÜÝÜÛÞÛÜßÝÛÛ݃ÜÛÛÝ‚ßÞÛ…ÚÛØÙÚÚÙ�þ˜”ŠŠ†ˆ¬ÂÅÄÁÆÁÿ¸·»¸¸º¸µ²©¤‡k‰£¥¢¥§§«§¦¥§¥©­¬¬«¦¨©¬ª©«©©¬©§ª©©««©©¬¯²°²³±®­®¬ª¥¦«­µµ±ª¨ŒddVYv€zz€ƒx~}}ƒ€„‚†}z€†„{y€}|mlk]_n~°w`lr`v´³°¯±²´µ¸¹¶³¸¹·³µ¶´³¸µ·²µ¸µ´¸·½¾¹¼¼»¼¿½ºº¿’¾¼¼¿¾¾¼¼¿½¾»ºÀ¿Á¿ˆÀ¿½¾½¼¾½¿…ÀÁÂÀ¼¾³¼»»ºÀÄÃÀÁ½ÀÅÄÀÀ½½¾½¿À¼¿½»¾¾Àºº¶±¯®£©­¬´¹ºµ¸µ²³´´¹º¹¶ª³¶º·µ·¶´¬°µ¶¸´³¶¹·¸³²³·¶º¸µ¶¶¹º»·¸º·¹µ´²³³µ�ŒÕÑÊÈÇÞóûûúùùú•øö÷÷ø÷÷öõöòÒÊàööôõööõ÷ö÷‡ö÷ø÷÷øø÷‚ø÷øƒùøùøÈùúùøøùùøøù÷ö÷÷ø÷øöòݶ«Ÿ®ÌÅÃÅÁ¼¸¶ÃÆÂ¼º¶¹»·¾ÁÄ¿»º¹­§¡¦ Ÿ¦±·£¤¯¯°ôø÷÷öö÷ùžûûúúüúùúûûùûûüûûüúüýüüýýüýüüýüý‘üýýüûüüýýüýüýüýýþýüýþý‰úùüýûüýýþý…üýüýýü“ýýüýüýüüýüýüûúøö÷ùúûýüˆûüûúûúûüûúûûüúúüûúüüúûúùú‰ûûúùúûüùøú„øøöö÷�ž­©£¢ ¸ÔÝÛÛÝÝÛÖØØÔÕÔÔÒÔÔÒÓɨ¡¸ÒѪÒÑÑÔÒÔÒÓÔÕÕÔÔÖÕÔÖÖÔÖÔÔÖÔÔÖÖÕÖÕ×ÖÖØÚÛÚÙÚÚØÖØ‘ÓÕÕØ××Ó˳Œ„|ˆ¥¡Ÿ žÁš–• ¢ž™™–™›˜ž ›šš‰…ˆƒ~€‰‘”‚…މˆÔØ×ÖÓÕÖÚÛÜÝÝÚÛÞÞÚÜÝÛØÜÝÜÜÝÞÝßßÞà—ãÞààßààãâááßÝàÝÜâããáÞßàá•àäæåäáâàßßàßàäåæäááäáâßáßÜÙßáãâãæçàâáãæâááãåààâàääßàááßâáààÝÜÛÙÒÔÕ×ÙÜÚÞßÞÞàáàÞßÞÝßàßÝÞßÝÝÞÝÝÜÚÜÝÜÞÜÜÞÞÚÙÜÝÛÝÝÛÜÝÞÝÝÙÚÛÜƒÙØÜÚÙ�Ê‹‰ƒ~y˜»ÄÃÆÃÁÁ¿¾º²¶·µµ¶±¬¬›yrŠ££¢¥§¨§«¨§¦¥¨ª«©«¬©§©­§¨©¥©©§ª¬¯¬ª¬©§«°²¯²³²±¬¡ª§©­°³¶¬¤‹gc\c‚‚€~ƒ~z~‚ƒ}|z~ƒ}„¾}‚sojog^`ipveglb_®¶²®©ª®¶µµ¸·³·¶·°´¶´²¹µ´²µ¸µ´¶¶º½½»½º»¾¼··½¾¼¼½º¹¼½½¼¾¼½¿¼ÀÁ¿¾¼¼¾»º¹»¹º¾¿…ÂÂÃÀº½ä»´®·¸¸ºÀ¿¿½¼¾¿À½¿¼¾¾»»½¼À¿º¾¾¼º»»º¾¹´®¨¢¨ª­¬¯­´µ´µ¹»º¸¸·µµ¶·¹·µµ¶¹³³²³»·³·¹¹¼¶°³´³´·µ··¹·»³±¸µ»¸·´²µ¶´�ŠÊÈÇÓíûúúûûùøŠ÷öôõæÇÑôõõöŠõ÷õ÷ôóö÷÷ø÷†øø÷øø÷øúøùøƒùùøùƒøøùø½ùø÷ôÞµ´¥¤ÌÒÒÏÆÉÀ¿¾¾ÀÝÊÁÀ¿¸¼Åº¸¹¹¼Â¿¹¨¥£Ÿ¤¤°®´©«±²ªëùøø÷õö÷úûúûúŒûûüûøûûúú÷ûýüý„üüûûý‡úûüüûüþýüýüþþýýüùüýüüýýþƒýýþý„þþüúý…üýþýþý‡üüûüýýþýþýüý•üýüûüûøôô÷ùùúûüýüüýûúü„úúüûü†úúüûüüû•úúùúûüûúûúùøùøùùøø÷÷öö÷�«¥ ¡­ÈÜàßÛÙØ×ÝÖ×Ù×ÕÕÔÑÏÑϼ™¦ÎÐÎÑÑÒÑÒÏÓÏÎÑÔÕÕÖ‘ÕÕÖ×ÔÔ×ÕÙÖÕØ×ÖÕר׈Ù×רØÖØ×ؾ×ÖØÕÌ²Š‹‚£©«©¢¤››´¥Ÿžœ—›¢™—˜™›Ÿ™Š‡…‚†„Ž’ˆŠŽ…ÉÙרÔÒÕÕÚÜÛÝ‘ÞÜÜÛÝÝÛÛÝÝØÜÞÝÜ×Þà„Þßãßà¸ßÝâáÞÙÛÝÝÜßâááàßàâàßàâáãäâáàÝÙßáààâããäââããââáàáÜÚáâäáàãæâÈàâááßáãâåãàãäÞßáßßâàáàßàáßÛÜÚÓÍÌÑרÚÜÞáàÞàÞÜÞÝßÝÜÜÞàÞßßÜÚÜÞàÝÞÝÚÛÝÜÜÛÝÝß݆ÜÞÛÚØÙ܃ÙÖ×Ö×�þ…€€®ÃÃÄÂÆÀ¿½¾¸µ´¸¹·³±«ªdt£¦¥¥¦¦¢¦¦©£Ÿ¤¦©««ª«®ª©ª¬¦¨«ª¯¨¨­¬¯¬¨«¨©ª©­¬®¯²±¬¬««¬¯³´°°¥Šbha_}‡‹ˆ„|€ƒ€•‡ƒ€|€ˆ~~}~„‚|lkjeh`nmnÂgnso]œ³·³®¨¨¬´µ³¶µ¹¶³µ³³´²µ¹¶¯³·µµ«¶º¹¹¸¹º½¼¼·²°¹½»³··¸¶¸¾½º»½¼¼À¾½Œ¼½¼»¹µ±¹¾º¸¾¿…À¿ÀÀ»¼ˆµ±¹»½¹º¼½Ø¾¼¼º½º»¼½¾¾»¼Â¾»¾¹¼½º½¿¿»¶´³²¯¤˜—§¨®±¶½·¸¹µµ·¸¸¹³²¶·¹¸¶±´»¹·¹µ¶·¶±³³°²µ¶¶µ¶´·±¯³²·µ·¶²­°µ�‹ÈËßôüûûùúúûù…øø÷øø÷•õ伨õ÷öö÷ö÷ö÷ö÷öö÷øúùøŽ÷ùøøùùøùø÷øøùùø…ùùøø÷ùàøùøøù÷øúöñܵ¯¥™Å×ÑÒÉÄÁ»Â¿¿ÈÈÁÃÀ¸ºÀ¿·­²µ»·º´¬§¨¢ª³¾Æ©²¿¸®àøùúø÷ö÷÷ùùûøùûûúûûùûûüüûùûüüûúüýýüüýýþýüûü…ûûüþüýüýüý‚þýüýýüýýüüþþýþýýþƒýþþý†üýüüýüý‚üüýƒþýüýü‰ýýûüýüýûûø„öô÷øüŒýüûüûûüø÷üüûü‚ûüû„úø÷ûúùüûùùúùúùúù÷ø÷‚øöõ÷�ž£§»ÐÜÜÝÝÜØÛÖÙ×רÖÕÖÖÓÒθ“±ÐÔÑÐÒþÑÔÒÒÔÕÙØÖ×ÖÖ×Õר××ÙØØ×Õ×ØÙØ××Ö×רÕÔ×ÖÖØÖ×Õר×ÖÖÓʯŒ…x ®ªª¢ ™Ÿ¤¢ž –˜ž—Ž’–›—š•Ž‰‹…Œ‘› †’œ”ˆÁÚØ×ØÕÓÕÖÙÙÜÙÚÜÞÛÛÜÜÞÜÞÞÝÚÝÞßÝÚ˜ÞàáàÞáâàßÝÞÞÝàßÜÚÛÞàÝääáà—áâáßßààáâàâáÝÞßáààãäÞßâãÅáâãàâáãåãæâßâãááãààââáäãâåäâääâÝáâÞáßáÜÝáÞÞààáÛÙÖÖÓÒÏÒÔÜÜÞàÝÚÞÚÝÝÕÕßßÝŸÞÞÝÞÞÝÜÝ××ÝÜÜÛÛÞàÝÜÚÛßÝÝÙ×ÛÛØ×ÕÖ�þ…ˆž½ÈÆÅÁÁÇÀÀ¾¾·²±·¸°­¯§e~£­¨¦«§¦¥¦¦¨¥¤¬­¯¯®®­®ª©®ªª¬®¯²­¬®¬¯­©©¨¬«©¨¤«­²°­®ª©­¨±´¨Ÿ‡`]\VŒ†Šƒ~|yƒ€€ƒƒ‚~y|„‚ztw|‚}|wqlnflmz{aþo|sdœ±²µ±¯ª®¯²µ´±²¶¸´³³²·¶º¸¹°µ¸»µ²º»º·¶¹¼¾¼º¶µ±¶¼¹´´·¼º¾º»»¿¾¼»¾¾¸º½½¼»¾»·¹»½¼¸½½¹¶¼»½À½¼¾À¿¼¿À¿Àº¸»»¼¼½»¼º¼¼»º½¿¿¼½Á¾¸½½º¸»¾¢¼À¼µµ¸¸¹°¨¤¦£¡¡¤©´³¹¹¸¹·´¶´®­º¸¸··º†¶¸·µµ°±”µ°±·¸·³²³·³²³®µ²²´³±¯³�„Ôìùûüšûúûûúûúø÷÷öö÷÷õÎÁë÷ö÷õ÷÷ø÷ö„øøùøù†úùøùøøùøù‚øøùÃøùøù÷÷øøúùúú÷÷øöø÷óÞ´®œ˜ÂÐÓÇËÅÁ¾ÀÂÇÀÈÇÀÆÂºº¼º¼³´¸½¹¸±²»¼¯°µ¼®¤º¼¯Ëúù‚úùø†úûúúùüû…ùûüüýü…ýüýýüýƒüüýþýüþý‡þýüüýüüý„þýýüý„üýýþýþ‡ýþýþýýüý‚þüýˆüýþþýþýýþ‡üýýüýýüý…üüýþþý†üúüúøøù÷ûûýüùûûúüýüýüƒûûúû„úúûûúù‚øø÷ö�¯ÆÙÝÜÞÜÜÛÝÝÚÙ××ÕÔ˜ÒÏ£—ÆÔÒÔÑÒÓÖÓÑÐÐÔÕÖÖרØÙØï×ÖØÖÖÙÙØ×ØÖÙØØ××ÖÖØ×ÚÕÕ××ÖÙØØÕÓÕÕ×ÓË²Š†ur›¨«¢¤Ÿ››Ÿ¢¤¢ž¢ž˜˜š™›“”—œ–˜’“šœ”—‡ƒ™™‰£ÚÛÙÖÚØØ××ÖÙÝÚÙ×ÜÛÝÞÚÞÞßáßÞßà߈ÞßáâàßááߎÝßßÛÜÜÞáÞãåâÞàß”âßÜßáààâåáÞâÞááàâáÞßâ„ãåâäáŸäâàäâÞâåáâáàáãáââáââáâäæãßáâÞàÝ߃áÞßážÝßàÞÚÛØÓÓÔÖ×ÔØÜßÞÚÛØÚßàÞßÝÞÞÜßÞÝÛÜÛÛÜÚÛÞÜÜÛÚÝÛÛÚ…ÙÖÔÓÕÖÕ�…”³ÃÉÉDzÆÈÃľµ±®°±¬¨£um©¨¬§¦©§¦¥¤¥©«¬°°±±®¬®²¬ª°¬©­­¯²¯ª¯ä¬«­®­«ª¨ª«ª¯±²²«¦«¥¯®ž…a`OOy‰…||€ƒ†}‚‚ƒ~yz}|~xx|‚{yvw|qssxc`yxb€º¶±²²±±®±°·µ²²­¶µ³´°³µµ·ºµ·º»¸¹º²¹·º½½¿Àº¸¸¶»·¹¶·º»½»··½¹¶·¼¹³·½¼»½¾¼¹½¼¼¹¹½¹¸¶»½¼¼¿ÈÃÀ»¿½¾¾¹¶º¾À½¼¼½½¿À½¹»½»½¿¿¼¹¼½¸¶¼¾½¼ºµ¸º»¹´³³±¯²¬¤¥¦ª­ª³¶·¶±²´¸»··¹¹¼¹º¹ºµ–²³¸²´µ¶¸µ³´µ³°´³´³±´²³³±�‘õûüüûüûûúûûùùø÷öõö„èÆÎóø÷÷ôö÷øöö÷øøúùú‰ùùúùøùøùúù»øøùùúùùúùøùúùùúùùøùù÷÷ùú÷ô×¶±¡“ÉØÒØÍÅÄÇ¿¿ÆÅÎÍÄÅÁ½¶ºÀĺ»¾¿¿¹Ÿ¶½½ÂÀó¹¸Äöúùùø÷úúùûùúùúûùûúúùû…üûüûûü„ûýüüýƒüüýüýþýü‰ýýþýýüýýþýˆüýýþýþýýþýþýýþþýþþýþüýýþþýýþüüþýþüþþýüüýˆþýüüûüûúû‚ùõù„ûüüýü”ýûüüûüüýüüúùûûúûùûûúûŒøøùúúùø÷õóöö÷õ�¥ÔÙÞááãàÛÚÜÞÛ×ÒÔÓÓÒÓѾœ§ÏÖÖÕÕÔÎÒÔÕÒÑÓÖ׉ØÚÛÚÙÚÙ×Ö׆ÙÚØ×רÙ¶×ØØ××ÙÛØÙÙÚרר×ÖÙÚ×Ϋ‹n ¯ª¯§ŸŸ¡Ÿœœ¡¡¨¨¡ ›”™ž¡™šœœ™Œ–œŸz’—”žÔÛ‡××ÚÛÛÚØÛ†ÚÜÛÛÝÛÞÃßÞÞßÞßàßÞÝßáàááâàÞààááßÞÝÝßàßàäáàáàßßâáßÞáâåâãàÞâßáâààÝâáââãäçääãááãåã„åçäâáÔãâááßááâäáâáàáãäààáãàßááãàââàÞÜÜÝÛÛÚÚÖÏÖ×ÙÜßÛààÝßßÞààßßÞßßáßÛÜÜÙÝÚÜÝÜÝÝÜØÙÛÜÚØØ×ÑÏÓÕÖÔ�þÃÎËÉÊÇÇÆÅÆÃ¾¾»²®¬­®¨‘k}¨®¬©©¨ £¦©¤¥©«¬­°°²³±°¯²¯§ª¬«¬¯¬®¬©­¯±¬¬°²®¯°°±°¬®±±²®®µ²¬¢}ij[K~‰‘ˆ€ƒ~ƒ‚‡‡‚‚~|wzx}‚‚y}{}„€}Xtšxnw´¸¶´°­´µ±º³µ³³²¯²²³²°°³´µƒº¹·¹‰º¹¼¼»º¾º¶¹¶·¼¸·ºº»À¸¸»¹¸´»·³´»¾À¿½»·»½·µ»¼¶»»¼¾½¼¾¾ÂÄþ¿¼½¿¼»½¾ÄÀ¾Õ¼ÁÁ¾½·¼½¾¾¹¹¼»¼¿¾¿¼À½»µ¹»¼¹º¹µ´°±²°±°°©¥®¬®³·³¸¼»¹·¶¸º¹¾¹ºº»³³¶±²´¯¶´²µ´´±¯±±´µ´¯ª©®­°­�šúûüûûùúúûùùø÷÷öõööõÝÀÝ÷ø÷øö…óööøö÷šøùøùúùùø÷ùø÷ùùúúùøø÷÷ø÷øù÷ ùúøšù÷â¶²¤¼ÔÎÐÍÇÆÊÈǽ¾Á¿É¿Áý· ¿¿½Ã¾ÆÀ¿µ·ÂÇÈΪ­º¹µïúùùøø÷ûûøùøûˆúúùúúùûúûüûüýüýüýü„ýþþýü‚ýü ý„üþýüý†üýýþýþý‚þþýˆüýüýûýþþýŽþþýýüüýüûýýúýýúüý¢üüûúùùúùùûøúýüüûüûûüüûûúûüúúøúûùúûù‰úù÷õðêâãèæã�‡ÜÚÛààßá󬆯ÕÑÒÑÒÓѲ—´ÓÔÕÖÒÑÒÌÒÒÖÕÒÔÔÖ×ÖØÚÙØØÖ××Ô×Ù…ØØ×ÕØÖËÙÖ×Ö×ÙÚÚØÙÙÖØØÚØÖØØÓ¶‹€m”¬¨§¦¢¡£¢¢›œžœ¤ž ž˜•–—œ› Ÿœ¢žŸ–—Ÿ££¦ˆŒ˜–ŽÌÛÚÛÛÚØÜÚ–ÞÚÛÜÝÜÛÛÜÛÝßÝÛÝÞÝÝßßÝÝß‚Þßà–ÞßàááàßÞÝßàßßââáààÞßààá¦âáââãàáßáââàÝàâááåãäààááâãââæãäâäæâäßßá‘âßÚÝàâáââáßàáãáàà߆ÞãâÜàâÛµÞâááàßÝÝÛÚÖ×Ü×ÚÛÕÚÞÝßàßÞÝÞÞÝßÞÝÞÙÝÙÜÜÚÝÜÙÚÚÜÜÙÓÑÌü¿ÄÀ¼�ÆÔÏÊÈËÇÇÆÅÀ½»·¶±°°­©‡jˆ¬¯ªª§¤§¢¦¥¬¨©ª¬¯±®°³´³²¯²¯§¬®¯°¬¬­©©­«®±¬¯°¯²±³¶±þ°²´±²²µªejbLr‹…‡‡‚‚‡ƒ…~}€~…ƒ{zzx€€}‚„†‚…z~…Šˆ‰jl{te§·´³²¯®·¶³´²³²³´´²³µ²³³¶¶³´·¶¶·º·¹¹ºº¸ºº¼¹»º¸¼º»º¹·¸º»¼¾º¼»¸·µº¶¸ºº¾¿Á½®¼º¼À¹¶½¿¹¼¾¼À¿½¾½Áÿ¿º»À¿¿Á¿ÁÁÀ¼¼½»¿»¼·»¿¾½¼º½·¾Â¿¼½¸º·¶¹¹³¹»±²°´¹¹¼¹·³³µ°®­±¬°µ¯·»¶¸ºº½»»½»¶º·³´±®¶´²³‹±°²±®«¥œ“˜™–—�ƒúûúùˆûúúùøø÷ø÷„ìÀÃï÷ö÷öøù‚øøúøúùøùƒøø÷øùúù¹úøøùøùøõܶ´¨°ÔÊÉ¿»¿¾Â¿¼ÀÆÃÂÁÊ¿¿¾Ã½»½½¿À¿ÃÄÁÀÀÃÌÉ¥«»»³éúù…øúúùøùƒûûüûŽúùøûüúúüüûüüýýüƒýýüýüýþýûýþ‚ýýþˆýýþýûýýúýüýþý„þýýþý„øøýþý„üýýþ ý„üþýûüûüüýýüýýüýýûûüüýú÷•ùùûûüúüüûüûøüüûúúûúøöðòð†îììîðòôó�ÜÝØÙÝÜÞÜÛÛ×ÕÕÔ‰ÎÚšÆÒÔÓÓÕéÔÒÓÕÔÖÔÖÖר×ÖØÚ×ÖÕÕÖÖ×Ù×Ù×Ö×ÙÚ××ÖØ×Õ××ÙÚÜÚÚØØÖר×ÖÖΰŒŠjŠ©£¡š˜››žœš Ÿžž¥œ›› ›™š›œœŸ¡ŸžœŸ¤¡„Š˜˜ÆÝÚÙÚÙÛŸÙÙÛÖÙÛÚÝÝÜßÜÚÙÝÜÜÞÞÝßàÝßßààÞÞààÞß‹ááààÞßàáâãàá®ßãâáåãäâäâáåââäáãåáÞàãÞàäåáàááããåâáåãåâãààã××ÞážààÞÞßàäáâÞßßááààÝâáÝâßÛÜÞÞàßááàœÞàáÜÝÞàâÛÛØÓÓÒÕ×ÜÝÜÛÞÝÞßÝÙÞÜÚ„Ù×ÔÓÊŠÎÍÌËÈÅÄÊÎÏÐÎ�þÓÏÉÄÆÈÈÆÂ¼»º´¶²²°nož©­«¨ª«ª¬­¬©­°««¯°³±¯±³²´±±°­«±°²®ª¬¬°®¬¬¯®«®¯±±³µµ²±®¯±²°¯©ƒcf_Je‰…ƒ|y|~€~|~‚‚€€‹~€‚|~}{…‡†‚‡bmz|¤h¡¹¶²±²³²´³³¯±®±µ¶·´³¶µ³°¶¹µ¶·º·µ¹º·¹þ¸½½¼¼»ºº¼»»¼¹¸ºº¾¾»¹¼»¿»¿ÀÀ¿À¼½ÂÄÁ¿ÂÂÆ½»¿½¸À¾·½¾¿¿ÁÁ¿½ÁÀ¼¹¾ÀÀÁÀ½½¿°±¼»¾¼º»½¼¾¾½»¾¼½¼¼¸·½»¾»´¶´²´´³¶µ¹¼º¹ºº·º·µµ¸¸°´³ª©©¬¬·¸º¹º›½¹»¸²¸º±®±³°®©¥££ž¢ ¡¡ž §§¨©�‚úûúùûùøø÷÷øø÷øç³Êóö„÷ø÷÷ø÷‚ø÷ùøùøøùøùúøúùøøùø÷øƒúùùøƒúøø÷½øéÀ´°”¥ÊËÃÆÀ»³½º¿¿ÀÆÆÅÃÀÀÇŶ·º¼¿ÃÇÆÆÍʱ¯·®¥³»°Ëúùøù÷ôùúùùøùúùùúùøùùú÷úûúùúúü‚ýýüþü„ýýüüý‚üýþýþýþÿþˆüýýüüýýþýþýþý’üýýûûýýüýýüýýþýþýþý‡üüûýüýýüƒûüüýƒüüýüŠûüüûýüûüúøö øøùúûüüûüúùøóïìêçéðìïóö÷ø÷÷öõõôóóô�«ÚÛÖÚÞÜÛÚÙÛÔÖ×ÔÔÕ¹¤ÍÑÓÔÒÓÕ×ÖÕÔÖÕÕÖÔÖÔÖÙÙרØÖœØÖÙØÖÙØÕÕØÙררØÖרÚÚØØ×ÖÙÖÖÔôÕ½”‰†p£¤žŸœ–’š˜œœ¡¢¢Ÿ£¡ –——™œŸ£¢¢¨¢—“Š„‘˜¨ÚÝÙÚ×ÒÙÛÚÛØØÚ×Ø×ØÙØØÝÙÚØÝÞÝÞÝÝßÞÝáàßßÝÝàáßÞÝÞßßàâàááßáâäãßâäáàäâàãâåâãåãääâáäâáãäáãå“äâäâáäãââåãäãààåÞÝÝàáà•ßåáâàáàáàßàÞàßÞßÞÜÝàáâ´ààßáÞßàÝßßâãÞÝÜ×ÔÒÑÐÖÖÕÙÛÝÞÜÛØ×ÔÌÈÆÄ¾¿ÊÆËÐÕ×ÔÕÕÔÓÔÓÑÑÓ�þÌËÈÄÄÃÄ»¹··´¸³¯“f}¤ª«­©§©®¬¯±²¯®¯¬¬«¯±±³²°®²°°²¯«°¯²¯ª«®°®¯®­¯«ª°±³°±´±¯®¬­®«­’hfcM^€ƒ€‚|v~}~}}€…„~~€‰„…vy{{}~…†‡Œ†xpprgcqylõ‚·¶³²­«²³±°²¯°¯³°²µ®­±´´°·¹¶¶³¶¶´¸¹¶¹¸º·»Á»½º¸º½¼¹¸»¼¹·¾¾¼¸½ÁÅÄÃÁÀÁÀ¿¾ÀÅÄÂÂÃÈÀ¼½¾½ÀÀ½ÁÁÀÁ¿¾¾¿ÁÁ¼¼Ã¿¿¾¹¼¿¹µ¾»»¼º»½¼ÀÀ½¨»½»¸µ¶»»¾º¶µ¹¸µ·¸»º»¼º¹»¸µ¸´µ¸ºÀº¸¸°­§¥¢­±¶¸µ³¶´±«£™œ–šŸœ¤«¬¯¬­®­ªª«¨©«�ûù”ûúùøøùøù÷Ê«åøöõõööøø÷ƒø÷ø÷ùøù‚úùøŽùøøùùøøùùøø÷ùùøÂùø÷÷øø÷÷躵±§ŸÉËÌǼÁ¾µ¼¼ÃÄÉ»ÃËÅÅÀýº±¹¬·ÃÄÈÊ˺¾½Âɺ ¯µ¼Çøùøøùø÷ùúúùˆøøöúúûùûú™üüûúúùûûüýùùýüüûýüüûûüýýüýƒþýþýþýƒþþýþ‡ýýþýýþýþýþýþýþýþýþý‚üýüûý‚üýü©ýýüüþüúúýýüýýüüûüûûúùù÷÷øöøóâãäáêñô÷ûùúûùú„øùø÷ö�œÚÛÖÚÞÚØØÚØØÚØÕО¿ÔÒÏÑÓÑÔÕÔÔÕ‡Ó××ÔÖÖÕÖþ×ÖÙרÖÕÖ×ÙÕÔ××ÖÕÙÙ×ÖÕ×ÙÖÕÖ×ÖÕÔÕÔÓÒ¾‹ˆyž¤¦¡—œ˜”š˜Ÿž¤˜ ¥ž œŸš™’™–Ÿ ¥¤¥˜š˜ž£•€Œ’˜¡ÖÙÖÕ×ÖÓ×ÙÛÙ×רÖÖÓÖ×ÛØÛÚÚÛÞáÝÝÙ×ÜÝÝßÙÙÝÜÝÞáÞÞƒÛÜÞß„ààáàâ’áßáãàáãàÞÞáàãåáââáâ›áäãáåãáâåãäâããßßãâããåäáãàáåáâäàÞáâäââààßàâßàÞ»àÞáßßàâßááßßÞàáÞÜÜÞàßÝßßÜÚÝÛÚÛØØÓÕÔÑÓ˸µ´¸ÃÌÏÒÙÙØÙÚÛÞÛÖÖÙ×ÕÔ×Õ�±ÆÈÆÀÂÂÃŽ¹ºº·º­uX𮩍©ª©ªª¬¯°¯­±¯¬¬®¯±­¯±²®®°­°±²°þ®°­®«®°²±­¬ª¨­­®¬¬±°­«ª«­ª’egeYV~‚‚€x€~w~x‚‚„y†}€}ƒ~}s}r{‚ˆ‹ˆz~z„u`nqx·¶´³²®°²³²°²¬¬®¯¨¯´²±´´²´»½··°²³²²´®²¹·¸¹½¹»µ·¶»½¹ººš½»º¿¿½½¾ÀÃÂÁ¼º½½À¿ÁÂÃÀÀÄÂÀïÂÉÆÂÃÁÂÃÃÁ¿À¾ÁÆÄ¿À¾¹¼¸ºÂ¿¼ÀÀ¼¼Â¿ÀÁÀ¿¾¿¼¼Â¼ºº»¼»¼¾½·¼¾¸¹»ºº¹¸¹¸¼»´³²»¼¼¿¾»·³·´°²¯®¦¨§£ª¢‹ŽŽ™£«°³´´µµ»·³±°±°¯¬²°²±�‡ùúúùùûûúø÷ëÆÀè÷õõôöõö÷ø‡÷÷ööøø÷ø†ùøøúùùøŠúúøø÷øúøøùø÷‚ö÷ø²ñÀ¯¨¢¤¾ÌÎËÇÂÇÇÊÄ»ÄÀÇÀ¸¢¥­´µµ½¼´ÁÂÉÐÏÇÃÌÍÔÔ°®³·ÁðùøŸù÷öùø÷ùùøùùúûúúûùûûüûûúøùûùúü÷÷ü†ýýüüýûýü ý‚üüýþ‚üý þýþýþ…ýýüýþýƒüýüý…üýþýýüýƒüýüý…üýüýûüýýüüûúüüýüúúüûžúùúù÷øîÜßñõöøø÷ùúùùúúùùøùø÷ö÷÷ö�‘ÛÚ×ÛÝÜÚÕ×ÖÙØÔÞ—¾ÐÏÒ„ÔÕÒÒÕ‡ÔÕÒÒÓÕÓÕ‰ÖÖÕÕÖ×Õ×ÙÖŸØÖØ×ÕÕÔØØÖØ×ÖÕÖÕÔÓÔÒÒÕÕÔÉ—†‚{|•¤þ ¢ £Ÿ—Ÿ›¡œœ’}ƒ“”•œ›•žž¤«©£ ¥¦ªªŒŒ‘œÍÙÚ×ÖÕÖ×ÓÒØÖÖØÙÕØÙ×ØÚØÚÙÛÛÞÞÜÝØ×ÛÙÚÝÓÓÜÝÜÞàÞÝÜÞÝÞÞßÞßááßàßáààáàÝáßÝÝáÞßáàááßââáãäãàáãåäãˆààßßáààáâšåäáâàßàÞààßààáààßááâàááßÞßá‚ÞÞß¹àßßÝÝÞÝÝßààÝÝÛÚÝÜÝÝÙØÜÛÝÜÛÚÙÚÖÑÒǯ³ÅÏÐ××ÔÚÛÙÖÚÚÜÚÖÖØ×ÕÖÕÖ×Ö�•ÅÃÀÂÄÄÂÂÀ¿¾¹²›tr𩍤¥©þ¨ª©«°¬­­¬©¨ª®¬¬­°°­«®¬¯°°²±¯®±³²©©­°®¬­¬®ªª«ª«ª©©¨­«® jaaVUsƒ‚}ƒ„…‚x‚~ƒ|{p\bnuzx}{ƒ„ŽŽ‡ƒ…ƒ†Šononx¨µ³µ³²²³«ª¬«­¯®¬°­¯²²µµ³°þ³ºº¶·¯²°®¯³ª°µ´·¹¼º¸µº´»½»»º½¼¹ºº¾½¼¾À½¿À¹¶»º¾¼ÀÁþÀÂÄÁÁÀÆÈÅÅþÀÃÂÀ¿¿¾¿ÅÄÁÀ½¹¼ººÁ½¹º¾»½¿»½Â¾¼½¿½¼Á½¼¸¹»º¹¾¼¹»¾¹¸¹·µµ¸¶¶¹º·¶¶¸´ª¸¼¼¶±±´´³µ¯¯¬¯ª¨¬‰Šš§¦¨®­±µ²´··¸´±±²°°±³²®±�ù’úúùúûûú÷ÝÍåõèçïçòö÷öø÷öø÷ø‚÷øù‚øùø÷øÀùøøùøø÷ööñõø÷òÊ¥¢¢§ÁÈÌÍÍÕÓÏÈÆÅÁÂÄÈù¼©¢°ÅÃÈʽ»»ÄÄÌÍÃÌÎÐÒ³§²´©Þ÷÷øˆö÷øù÷øùøùøúùùúûùúûüúúûûúúûƒüúúü„ýüýýü†ýüýýüüý†ûþýýüü ý…þýþýüý†üüûüýþýƒüýþýüý‚þüý üýü†ýüûüýüû…üüøùüûüûùùûûúùøù÷öõïóóöùûø÷ù÷øùùø÷ø÷ö�„ÚØØÜÝ¢××ÖØÔ³¡¼Í¾¼Æ¾ËÐÔÕÔÔÑÔÕÖÔÔÕÔÓÒÓÒ×ÖÕÖÕ„×ÙØØÖØÕÕÖÔÖ×ÕÖØØÖÖ×ÕÑÐÓÊÑÖÕÊ¢—Ÿ¢¢¤««§¡Ÿ œŸ¡Ÿ–—†¢¡¥§œ™™ Ÿ¦¨Ÿ¦¨¨§Œ…޵Ö×ÙÙØÖÕÓÕ×Ù×ÙÚÚØÙÛØ–ÙÚÛÛÞßÞÜÝÜÜÞÜÛÜÛÜÜÞ×ÙßÝ‚ààß‚ÞÞàƒÞÞâá˜ÞßáÞàãâãààãäââäãááßáãáääâ˜àßàßáßàâáâááââàÞáÞáßáßàâáŠãâàââààßààß‘àßààáâàßàßÞÞàßÝßßÞªßàÞÖÖÚÜÛÜÝÛÙÚÛÙÙ×ÖÕÐÑÑÈÍÍÓÙÛ×ÔØÕÙÛØØ×ØÙÖÖר×�þÄÁ¾ÁÄÂÁÄÃĽ³Œzš­•’ž‘œ¥¨ª§¨¨­­¬­®­­ª©«©¯¯²°­ª®¬¯°®®¯­­±µ­¨§©®¬ª®­­©«¬«¬¥£ž¥­¬¡z]]\]t|~~ƒŠ‰‡ƒ€~€ƒ~suhct†‡‰„}~z‚‰‰„Š…‚ƒieno[®‡®¯²±±¯¬­‚¬°¯ƒ­¯¯³…¯´¶º¶·²´´³´·´´¯¯¶µ´¹¼¶º¡¼»¼»¹ºº½»¹¿½¼½¼¸¼¿¿»¼ÀÂÀÃÁÀÁÂÀ¾ÄÂÁ¹¾ÀÂÀ¾¼»º¼Á¿ÀÀ¾»¿ÀÀ¿½»º½½º½Á¾ÃÁ¿¼¿À»¼ºº»¶¶·¹»¹·¹½½º»¸¸¶·¹¶¸®´´¹··º·¯±´±´¶µ°¯°³¯°¯©¬¦¥¥•ž£©°µ¬°µ¯³³²²°³³¯´±®¯�—úùøøùúùúúøíÓÞñöõëåìçñõõö÷‚ùø÷öø÷÷ö÷÷ø÷÷ø÷øø÷ø†÷ø÷ö÷öø÷ø÷öõ³íË©¡šš©´³¸¶¹µ·¹¬¸Ê¹¹ÅÀÄÌÎÎÅÈÍÎÎÊżÄÀ¾Ê½¼ÌÍ媵³œ¶ôö÷„ö÷÷øúøù—úùùøøùùúúûûüúúûûúüüûüûüúƒûúùüû‚üüýˆüüûüýýüú ý†üýüüýüýþþüüýýüýýüüýüýüüýü ýƒüýþýƒüüýü„ûüüýü„ûüüûüûˆüûûüúûúüú„ûûúúù‚úø÷õõ÷÷öõöõöø÷øúùø÷ƒö÷õö�š×Ö×Û×ÚÛ×ÖÔÈ­´ËÓÑú½ÊÏÑÔÓÓÔÖÕÔÖ×ÔÓÔÓÒ×ÔÓÒÔÕÖÓÔÖÖ×ÖÔÖÕÕÓÔÔÓÔÔÕÕרÕÖÕÕÓÔÔÐÐÎÅ¢†zx…Ž’’’“Š’¡’”žš¥§¦ ¡§¨¨¦¢š œš¤™™¦”‡ŽwŠÌÕÖÖ×ÓÔÖ×ÚÙÚØÜÛ‰ÜÛØÕ×ÙÙÜÛßÜÝÝÚÛÝßßÝÞßÞÛØÙÝÛØÜßÞÞßßÛÞÞßáÞÞãáßÞÜààÞÝâàâáààâááãáààÞÞááãáßßáâááßÞàâäààáààáÞÝâáààáßáãááâßâàáàá”ÞßÞàááâààÞßààÞÞßßÞÜÛ݆ÞàÞÝÛÚÛ¡ÜÜÚÙÚÛÚÙ×ÔÔ×ÒÒÔÓÑÓÓÒÒÕÔ×ÝØ×Ö××ÕÖÖר�©ÅÆÁÀÅÂÀꥅŒ£­«›“š‘œ¤¦­¨©­®«­®³°®¬«¬«¯¬°¬’­­°±¬«¬¬­®®«­¨¦¨©«­Ä«¬¬¯¯©¨¨§¤œzecZUelmolppruksƒsv€|~†ˆ‡„†‰Œ„ƒ}}}ˆ|{‡‡…neqmSi©®«¬°®¯­­²¥±µ´±²³¶µ­®²²³·¹¶ºº·º¹µµ¹´º·´²±±µ³¯»½º·©»º»»½¾¼¾½¶¹»½½¹´¾¾½¼¼¾Á¿ÁÃÀ¿À¾º¾¿ÁýÀÀ¼½¿µ¼¾½½¿¾ÁÁ¿¾¿¿¾¾ÁÀº¾ÅÀ¿¼¿Ã½»ºº½¾¹¸¹»¼»»¼½»¼»º¸¹¹·µ´´µ¶©·µ´³¸³°µ¶µ³³´³±¯°¬«¯«¦£©®¨¦¦¥ª°®±³²³°¯°°³°�ù‚úùø•÷êÛéööõòóòòóõõ÷÷õö÷÷ö÷‚øø÷…ø÷÷öö÷“øø÷ø÷ö÷ø÷øøöôôõ÷ø÷÷øÆ÷ö÷öð纞›™‘˜–›™ž–““ ™¢¤§¥¥¯¬­´»ºµ±ºº»À¼¬´¼Õ½§¬´¬ê÷øø÷÷õ÷øùùúùøøúùúŽøùúüúûûüúüûûüûü‡ûûùûúüùü‚ûúü‡ûüûýýüýü†ûüüýüýü„ýüýýüŒýûüüûýýûýþýüý„üýüüýü ýüýüûüüýýüüýüüýüýüüúûûüûüûùûüùûúûƒüûùû˜úûùøúùúøùúø÷÷øùø÷ôõóõöñô÷…öôõõôõö�¢Õ×ÖÙÓÓÔÒÎÁ±ÁÐÒÑÌÊÊËÍÏÏÔÔÑÒÕÓÒÔÓÔ×ÕÔôÓÕÕÓÒÒÓÒÒÔÔÕÖÔÑÒÕÓÔÔÒÐÐÒÓÕÕ×ÔÖÖÕÔÒÕÐǼ’{|{rwsyx}vsvr|}}v{ƒ„€‚‹ˆˆ—˜••–”›˜Š–¬˜‚ŠŽƒiÃÔØ×ÖÖÐÓÖÙÛÚØ×ÙÛÙÛÜÙØÚרÙÝÚÝÝÞÜ®ÞÝÞÝÜÞÜØÙÚÝÚÜÝÜÜÝÞßÛÝÛÛàÞÝáßÞßÛÞßÝÞÞÝÞÞáÝáàÜÞÝÞ‚ÝÞ߯ÝÝáãààßÝÝßâßÝàáßáÞÞâáßßááããáàâàßÜÞÜÜßßáâàÝàÝßâàßÞßàÞßÝÞÝÞÛØÝÞÛÝÛÝ„ÜÚÝÛÝ‚ØÙÜ™Ù×ÚÙÔÔÖÙÖÖÏÏÍÑÒÌÓÕÔÖÕÐÒÓÓÕ×�þÆÈÅÂý»½¸žŠ™¦ª¨§¦¦¤¥¤¥ª¬©«¯«¨­°°­­¯«­¯®«¯­®¬«°±°«ªª­¯­ªª­©¦¥©«¬«¬«¬®±¯¨®ªžfX\[RWVYY^VTYV_`\^W\abcbakklmw{sqywv|zmrxŽwbjobD±µœ®¯¯«¬¯±²³±®²´³°µ¸·²±µ³·¹¶¶»¹ºÇ¹µ·´¹µ²±²±´±³¹ºº·¸¸»¸¹¸¾¼»½½·º¸¼¼·¸¾»¹º¹»¼¼½½¼»·¼µ¼½º¿½º¿Á¼¾ÂÃÁ»»¹º¾¿¿¾À…¿¾¾ÁÁ¾”½Á¾¾½½À¼º»»À¼¹Á½¼À¾»¼œ½¾ºº»¸¹µµ´¹¹±´³´¶·º¸¶·µµ´¶³²µ™²µ·®ªª­³­§¢¤¤¥ª¥©¯°¯­©°®ª¬±�øùùúùù÷ðåëñïóô‰óõôóðôööõöõ÷ø÷ø÷ˆøø÷ùø÷øø÷ö÷¿øø÷ööõòßÖÞÜÜÏÜÝßÜçâÚÝÙÚØÉ¾ºº¾»¼¹­¯®«¯±°ª¨®ªª¬­­®²º²²¶³¦Ù÷ùø÷øùùø†÷÷ø÷øúù‰úùúùùûûüüûúüûüû‡üûûýüýýüƒýûûüˆýüüýýüüûü‡ûüüûûýüýƒüüþüýüúüýü‡ýýûüüûýü‘ûüûüýýûüûüüûüûûúúü…ûúûüûü‘ûûüûúûûüúúùúø÷øùø÷Šöôòôöôóôôòóõ� ÔÖÔÛÖÕÒÈ»ÁÉÆÍÏÏÍËÎÏÍÈÏÒÒÑÓÓÒÏÓÔÓÔÓ„ÔÕÓÕÓÔÔÕÔÕÕÓÔÕÒÒÓÒÑÇÒÒÔÕÔÔÓÔÓÒÒÐ̶°»¹½²¹º¹¶Ä¿º»¸ºµ¨œ—•š™™“ˆŠ‰†ŠŽ‰‰Œ‰‡ˆŒ‹–“Žƒ¸ÕØØ×ÖÙØÕÖÙ‘ÕÖÕØÕ×ÜÖØØ×רÝÛÚÜÝžßßÝÝÛÜÙÛÚÛÚÜÝÜÛÙÛÛÜÜÝÜÜÚÛÞÛÝßÜß‚ÞßÞŽÛÜÞßÞßßÞÞÝÞÛÜÝÞ«ßÞáÞàãáÝÞâÜÚÜÞÞàÝÞßÝÚÜßàâßààßßÞÞÝÛÛÜÝáÞßÞÜÚ݈ÜßÞààßàßÜÛŒßàÞÝßÝÞÝÜÜßÝÞžÛÚØÛÜÝÚÜÜ×Õר×ÖÔÔÖÕÔÓÒÌÐÔÐÏÐÒÏÑÔ�¿À¾ÀÀ¾¸®¡’™žœ¢¦¤¥§§¤¦œ¡¦¦§©©¦¥«®¬«¯¬§®°­¨ª­°ª¬¯®®ª©«¯¯­§§ª©ª¥¤§§ªþ¨©¬§¦¨¥¢‹†˜•ž”˜˜š§Ÿ™™”’ˆzpouwvrdijghonhilifekmlpvmpukb˜®´³±±°°«°²¯¯­§ª°®«²°±±³³®´µ°µ¸¸¶¸¶´¶²±²°¯²²¯²¯°²·¸º¸¶¹µ´¶»·¸½¸·»¹º¶´¶þº¶¶¹¶¶··º¼¼¸²³±¶¹µ·¸¹º¼¼½¿¼¸¹º²²¶»»º¾¿¼¹´º»¾Àº¹·º»¼½¹µºº¶½¼·¸»¼µ¹º·¹¹º¸¸º¹¹¸»¸¶¶º»¸¸´²µ·¹º·º¸¹¸¹·µ··¸¶·¸´±®±´¯ª«ªª¨¯¬§¤§¨ª§¬¬§©®�ø›÷öëÔàðêéñðïïððñíïððïòóñòóóñõˆòóôôõõôôõŽ÷öôóôôöõõôòóóñò“óóòîïñîòòööò÷øõöôïñóöõ£ôõñìîñïïæÒÍŹÇÛàäßãÜÓÊßà×ßÞÙÑÓÎâöø÷ø‚ùùø‚öö÷ù†øúúøúøú‚ûûú›ûûùùúüúûûùúúùüûúûùúûüùúüúüüû…úúûúûú„ùüûûúƒùúùûù‡üýûûúüüú›ûúüùûûøùùúüúûù÷øúúùøúúûüûúúùûûùùûùùúùúúùúûƒúûúûƒøùùû„úùúúùƒøúúø…ö÷÷øö÷ˆõöõòðîïíðô�½ÓÑÓÖÖÓħ³Æ¾¼ÊÊÆÆÈÅÉÆÆÇÆÄÈËÉËËÊÉÎÐÏÊËËÌÍÍÌÎÏÎÐÐÒÐÎÊÍÍÐÎÍÌËÌÌÉËÊÄËÊÄÅÇÄÊÉÏÐÌÔÓÎÓÎÈÊËÌÌÎÐÑÒÔÑÑËÇÉÎÈÉÀ©¥ •£´º½¸½¶­£»»°··²©©¦¼ÔÖÔ××Õ×ÙØ×ÖŠÕÓÔÕÔÔØ×ÖÕÙˆÜÛÛÝÚØÛÝÜ…ÛÜÚרÜ”ÚØÙØØÜÜÚÛÚÙÚÝØÚÞÚÝÞÞÛÒÚÚÙÛÙÜÛÙÛÜÜÚÛÚÚÙÛÙÜÚÜÙ×ÚØÝàÞÛÚÞÜÙÙØÜÜÝÚÝÜÖØØÛßÜÜÛÔØÚÙÙ×ÙÙÛÞÛÜÛØØÚÜÚÙØÛÙÙÝÞÜÛÙÜÜÚÛÙÜŸÝßÝÚÛÚÝÞÝÝÚÛÙØ×Ù××ÚÛÙÙ×ÚØÖÓÕÙØÕÖˆÑÓÓÎËÊÌÉÌÒ�þ»·¼»·¯š|ˆœ“‘ž œ›žœœ™˜™”›œžœ™Ÿ¥¨Ÿ¡¥£¡¡¤§££§ª¨£œŸ ¥¢žŸž¢œ›œšŸ—–š”ššŸ£Ÿª¨£¬¢ ¢£§£¥¦ª¬¬«ª£Ÿ¢¦¦£›ˆ…ƒs}–˜˜ž™š “›‘Š‹‚™¯¬­®Â¯®ª°­°®­ªª¦©ª¨©¯­­¬±±«±²²·µ²°´°³´±²±­®²²¬¯­¬±¯®¶¶³¶³¯³¶´´¶µµ·µµ³±°µ®°á¯²·¶³®­ª®°²´³²±¯°¶º·°²µ²¬±³·µº¹¹´¬´´¹ºµ´±­³º·µ°³³±¶¶²³°´²³³°²µµ²³µ¶³´¹··µµ¶µ¹·µ´²µ¶¶·¶·´µ·³³´´°µ¶³’±°®±°¯ª®¯­¨ª¨§£¢¥¡¡¨�øÅ÷öáÇÎéæßÞìßÝÝçäæììíêàÝëïóîèÕìôôñîìêðóòñííêñõõòíêèïððíééîðóïéêêæåëééçêíŒììêäïðñòðçîõö–ñïôôööõôóôóö÷øôñóô÷öôõö†ôïèíôõö‹ôö÷ö÷ø÷ö÷÷õöø…ù÷÷øøùœûùôøúúùúûúúûüûúüúúûúúûûùúùúúû‚üüû‚üûü†ûûúûúúûúûüüûýýüüûüüûüûü„ýüûûü‚ûûüýüûü‚ûûü’ýüüûûüúüüûûüûûüüûûü‚ûüû„ùúúùú„üûøøùø÷†öõõóôïéç�ðÔÓÓÕйŸ¤¾º³±Â¶²°¸´¹ÂÂľ²¯ÁÇËļ¨ÂÍÍÈÿ¾ÇÌÉÇÄ¿ÉÐÏ˾»ÄÇÆÁ¾¾ÇÊÌż¾½¹¹Á½¼»¾ÂÄÄÁÁ¿ºÇÊÉËÇ»ÆÐÒÒÓÊÆÏÐÒÒÐÏÏÐÍÑÒ×ÐÌÏÐÓÑÐÐÒ‹ÏËÀÅÌÑÕÒÐÏÒÓ«ÖÓÒÔÔÒÒÓÑÓÖÕ×ÕÖÕÔØÙÚÛÜÛÖÐÕØÛÚÛÜÚØÚÝÜÛÜÚÙÜÚØÙƒ×ØØÛÃÝÜÜÝÜÜÚÜÜÚØÚÛÜÚØÜÛÜÛÛÙÙÛÜÚÛÛÝÚÚÛÛÞÝÜÝÛÞÝÛÜÛÞÞÝÞàÝÜÚÙÞÞÝÜÛØÛÜßàÞÝÛÝßÝšÜÝÞÞÝßÞÞÝÛÞßßÝÜÜÝÛÜÝÞÞÛÜßàÝŸÜÝÜÝÚÜÛÙ×ÛÚØÝÝØÚÚÙÚØ××ÙÖÕØ××ÔÔÕÒ‚Ñ˽�þ¼½¾º°•w{—‡†š‹…Œ‹›™–“š¡˜‹{”¦¥œ˜’‘œ§ œœ—‘ž¨¨ –‘Ž˜š“Žœ¢£—ŒŒ‹”Ћޔ—“•“œ£¢¡œ›¨©¬ª¡š¦ª®°°¦§¬¬°µ±¨¡§©®­ªª®±¯±¯¢œ£®¬¬¨¤¡¢£«¨­«¨§«¬¨¨ª¤¥«®«ª¬¨©¯²²´·¸®¢«±³³´³ù´µ±¯³¯®±ª«°¯°³¯¨¯²µ³¶¹¶µ³µ´µ´µµ³­°±¯¯°³´±¬®«²²°´µ¶¶°³¸º·µ·µ¶²¶µ¹µ·»¼¸¶¼¹º¹º¼¹¹¿¿½¾¾¸¹¹ºº¸¸µ»¼½·¶·¼»»¹¸º¸¶¹»º¸»¹¹»º½º¾¼¹¸º·Ÿ¸¶´¶ºº¸¹»´µ¹¶³¶·¸³³±±²°²³°³¯ª¬¤–�Üøøùó×ÙéíéåæëóæãäÞæóóòòèÜêõ÷ôñêìö÷õïîêîùùòõñáëõöõóëëñõöõòìî÷øõðèåêíõõññèëëïóðïìïöø÷óçâôøø÷óëôøƒöðõø…÷òïöõ÷‰òô÷øø÷ôîõø˜÷öô÷úùø÷öøùøøùõõøùúùùú÷øûƒñêùû„üûüüû‡üûûüûúúûƒùøùûƒüüýüûü…ûúúøúüŒûüüýüýüýüüýýüýüýþýüýüýüüýüüýþýýü„ýüýýüýüýŽüüýüûüüûûüüúüúü„úúûüûúøøùùúø÷÷øõöòîà�ãÔÓØÐ°°À¿¸¹Áν·µ¯¹ÌÊÉɼ®¿ÏÓÍÈ¿ÁÐÒÏÆÃ½ÃÓÔÊÎÇ´ÁÐÒÑÉ¿¾ÈÍÑÏÉÁÃÓÕÎÇ»¶¾ÂÎÎÇÅ»ÀÀÇÍÆÂÁÇÐÒÓÌ»¶ÏÔÕÓÌÀÎÕÖÖÔÑÊÑÖ†ÕÓÍÈÑÐÓ¥ÌÏÕÖÖÕÎÅÎÓÙ×ÓÏÏÕØÖÔÒÑÕ×Ù××ÑÏÖØØ×ÙÙÓÕÚݹÜÛÌÁÖÛÜÞÜÝÛÜÛÛÜÛÛÜÜÝÛØØÙÙØÖÕÕÖØÙÜÝÞÞÝÝÛÝÜÙÚÝßÞÜÛÜÜÞÝÚÙÔÙÛÜÞÝÜÜÝÝÞßÝÞÞÝÝÞ›ÝáàÝÝÚÜáÞßÝÝÜßàáãàßÞÞáßàÝÞÞßà¸ßßàÞÝÜÜÞÜÜàßßÝßßàáàÞÜÝÝÜÝÞÝÛÚÝÞßÞÞÜÝÞÝÜÝÝÙÝÙÖÙÚÙØÖ×ÔÕÔÓÏdz�þ¿À¼¯ŠŒž—Œ˜©—‘Š¥¥¢›¤©¦žŽ˜¨®©›—–®³ ¦¢ˆ“¥«ª •›¡§¥›”›­¯¥š‹‡–¨¤™™‹™¢™”•žª±¯¡Œ¨³°«¥•¤°±²²¯¢©²°¯³²¥œ¨©®¯¯¨«²³²°§¡®´³°ª¡ §«´±°§¤°³³²°¨¦«°³¯¯²¦¬¹¹º··¸¢’¬³¶·¸µµ¶¸´²’±²²®««ª­¯ª¥ª­¯±µ··¶þµ³³´´µµ³¸µ±³´´¯¬ª«º·³·¸¶¸°´¹º¶·¸¶·¸ºº¹µµ»¼ºº½¼½¼¾Á½¾À¾¿Ã½Á¿À½¼¿¼¾¿ÄÀººÀ¾À½¼»½»»½¿½¾¼¿¿Á¿½ÁÀ½»¹º¹»¼¼¹½½¿Ã¾¾»º½»¼Á¿¾º¸¶µ¸·»¸µ·ºƒ¯®¨œˆ�³ù÷òÜÝóóææâíõòêàÞäô÷óòçãíôôõôîíòööóïåìõøóñôëåó÷õóðâïöŸôïð÷÷ôóòåçîöøòòíëñóööôîô÷øùõëâóø„îðùùø‘ñôùøù÷÷ôðóöö÷öóñöø¬÷ñõøùúøöõøúúùøñøùúùùøñ÷ùøùúùù÷úùùûúúùäñúùúûúû‡úüûúúûüú‘ùúúùùøùøøüûüüûûüüûƒüüûü…ûüüûûüû üû‚üûü„ûûüüý†þþýþüýüŠýüýþüüýüýûüý”üüûüüûýüüûüûùûüûûüüúü–úûûüûüûûúøùùøùøø÷÷öõöôôÞ�âÔÑ˵¶ÎÌ»»µÃÐÍ¿²¯·ÍÒÍɼ·ÃÎÎÏËÃÃËÓÑÊÅ·ÂÐÔÌÇËÀ¹ÌÑÎËÆ¶ÆÑÓÐÍÆÇÑÒÍÊɸºÅÑÔËÇÂÁÉÎÒÑÍÂÏÖÔÒÍ¿µÌÔÓÔÔÇÉÕØ××ÕÊÏ×¼ÖÔÌÉÎÒÒÓÒÍËÓ×רÓÉÏÔ×ÛÖÑÏÔÙÚ×ÓÊÖÙÙÝÚÖÊÒÙÖØØÙÖÒÙÚÜÞÝÚÖ¹ÌÛÚÛÞÚÜÛ²ÚÜÛÙÛÜÞÛÚÛØÚØØÙÖÕÓÓÛÝÞÞÜÜÛÝÜÛÜÝÝÜÞÞÝÜÝÝÚÜÛÛÙÜÜÝÜÝÞ݃ÞßÝÞÜ›ÝßÞÝÝÛÝßÞÝÝÞÞáâááàáàÞàÛàßßáß‚ÞÞà·ßßÜÝÜÝÝÞÞßßÝàÝàÞáÞàÝÚÜÞÞßÛÜÜààßßàÝÞÝÞÝÞÝÜÜÙÙÛØÚÚÙÙ×ÕÑÑÒв�þļ­’©¦‘‘™§§šˆ‡¦¯¦Ÿ‹‡•¢¥¨Ÿ—–¡©¨£™‹“¤¬¡™¡—‹ §¤ ›‰—§¨§¢˜˜ª« ›šŠ™§«¡š’“œ¡§ª£–¥­¯´¨“Ф²´²¬Ÿ£µ·µ´±¡¦°¶²­¬¨ ¤¬ª¬«¥¤¬´³³­ ¬¶´¶®¥£­»´¶´®œ®µ¶·´¯¡®µ³³´±¯§²µµº·µ®Žž®°µ¶´µ´³²±³±¬®³³°­«©®®©¬«¨¤ª¶¶µù¶µ´´²´´µ³¸¸µµ³µ­±µ±º¹´·¸µ·³µ·¹¶·¶´´µ¸¹·³´¸º·¸º¹¹ºº¿½½¾¿¿ÃÁÀÂÀÀ¾½¾¾ÂÀÃľ»À¾¾»½¼½¿¼¼¿¾¼»½¼¾½½¿¼»¸µ¶»¼¼¾¾¼¿¼¾¾¿¹º½½¾Á¿¾»¸¸¶·¹†´¶´®­ª¨‡�¦øîÚæóòåÚãäòôðêßæôö÷ôïéïõöóóêëóõõóñëëõõò«æéñóóòñêï÷÷õóîíööóóñèêïõ÷öôëíòöø÷öîí÷÷øõðæóø™÷ôò÷÷øøöïï÷ùø÷õôíóöö÷÷ôñöøƒôóøùŠöô÷øùùøñïúùŸøôñøùùøøùñõùúúûûùðáøøùúûûúûúûúûúŽüûûúùûúùúûúúùúûüûúü“ûüüûüýüüûüûûúúüûùûûüûü‡ûûúüüùúû†úüûûùúû‚üüýüŽýüüýüúüüûûüûüýü‚ûûü†úûûúúûü…úúûûüû’úûûúùøùø÷ùø÷÷ööõöôó×�þÑÆ±ÀÎ˺«·¹ËÐǼ°ºÏÑÓÌÅ¿ÇÑÑÌË¿ÀÎÐÐÌÇ¿ÁÌÍÊÉɹ»ÈÌËÇÇÀÇÑÒÐÌÆÅÑÑÌÊÈ»¿ÆÎÓÒ̾ÄÌÔÕÕÒÄÄÔÕÕÏŹÌÔÕÔÓÍÎÓÑ×ÖÑÆÇÔÚÓÓÑÎÄÍÒÒÓÓÍÊÓÙÖ×ÖÎËÕ×ÖØÓÌÔÖÂÙÙÖÉÉØØÛÚØÏËÙÜØÖÓ×ÈÑÚÜÛÝÝÖÈ´ØÛØÚÞØÚÚÙÛÙÙÚÛÛÝÚÚÜÛÛÙ×ÙÜÜÙØØÛÞÝÝÞÜÜÛÝÜÝ ÜÛÛÝÝÜÜÛÞÙÙØÞÜÚÛÛÝÞÜßßÞÞÜÝÛÜÝÖÛÝÜÝ…ÚÛÛÜÝà‡ÞßàÞÝÜÛ߯àßÞÞÝÜàÞÞßßÛÝàÝÝÞßßÚÞâßàÝßÜßÞÛÜÞÝÞàÝÜÜÞÜÜÞÞÝÛÝÞÝÚÙŠÕØÛÛØÔÖÒÐÒЯ�þ¼©’ž¨¦}‹’¥§ —†¤©­¤˜Žš¨©¢¢–¥¦¥Ÿ›””ž£›˜Š˜¡ž™›–™¥¨¦£š£§Ÿ›š“œ¤©§ž‘–¡«±¯ªœš«­°ªšŒ¤°²±­£¥²³´´¬Ÿ¬²´¬¦¥™£¬®­¨¢ ¨«±­­£¢°µ²´§Ÿ°¶œ´´±ž´´¶µ°§£³·´¯°°œ¤³´´··®›ˆ¯ž²´²±²²±±²±®¯´¯²²®¯°®¯³³±­±¶¸´´µ·¸´µ³´·¹¹´¶¶µ··»¹¶µ­³¶³´³¶¸º¸¹·¶±¯³·¹°³·¸¶µ¹¶¶µ¶¸¹·º¿ÁÀ¾Á“¿¾ÂÁÁ¿¾Â¿¸¾½º¹»º½¾½¼‚»»¼Šºº¹´´»»¼¾½º™»½¼º¹½À¾¾½¼¹´¸´¶¸³¶´´²°±­ªƒ�ÇîàíôóèÞØêõõòëççòõóöòîñõöóòñîôöõõñëíóöôðóëèíóòñðîîöøøôîðöøõòôêéòö÷÷õïíõ÷ø‰òìõ÷÷öôèíø“÷õð÷øø÷øðëôøùøöôïóõ÷„öïööø öó÷ùøøùóöúúûúöî÷ùúúùøðöùûûùø÷ì÷ùûˆùçîùúúûúûùûýûœüûúûüüûüüûûüûûüüûýüüûüûüýüûýüƒûüýû‰üûûüûüýüûüûŒüûûúúûûüûüûûýü‚ýýü”ûüûûüüýýüýüûüüýüüûüýü‰ûüúüûúúüüûúù†øù÷ø÷÷öôôé�¿Æ·ÂÌͼ°ªÀÎÏË¿¸»ËÐÌÏÇÃÊÐÒÊÉÇÂÌÓÏÌÈ¿ÁËÏÉÅÉÀºÂÊÉÇÄÂÅÑÔÒÌÆÇÒÖÐÉÌ¿¼ÊÓÜÎÃÂÎÔÖÖÓÌÁÏÒÓÒË»ÄÓÕÖÔÏÇÓÔÔÕÒÆ¿ÏÖÙÕÑÊÅËÐÒÓÔÏÇÏÒ×ÖÔÐËÓÖ×Õ×ÌÏ×ÚÚØÐÄÕÙÚÛØÕÈÔÜÜÛØÔÑÀÔÙÝÜÜÛÔ»ÆÙÛÛÚÛ²ÚÜØÙÚÛÛÝÜÛÜÝÛÙÛÝÛÜÞÞÝÝÞÜÛÜÛÛÝÝÛÚÜÜÝÞÝÛÚÝÝÜÞÝßÛÚÚÞÝÜÞÞÜÜßßÞÝÜÝÜÞÛÝŠÛÜÞÞÜÚÚÛÜÞÜÉÞßÜÜÝÝàÞÝàßÞßÞÝáÝßÞÝÚÛÜÞÞßÞßÚÜáàßÜÝÙÝÞßÞÞÝßÝÝÜÞÞÛÛÝÛÜÛÞßÝÜÜÛÚØÚ××ÖÙÖÖÕÔÓÑÒÂ�Ó¤–¦­¥”}–ª©¡“‘£¦ ¥™”¤©¢œ™•¡¨¤ž—–Ÿ¤¡™™ŒŒ–›—”“™¦ª¨Ÿ™ž¨®¥˜‘’Ÿª¨¨¤”“¥ª¯°«¡˜¤¨§¦žŠ–®æ¬¤¬²°¬«œ”¥¯²°§ž—Ÿ©°¯ª¢š©§ª¯©¢›«´³±®›¨¶¸¶²¤˜®µ³´±¦›­µµ³¯®§§±µµ³²¨Š²²±±°°±°°®«¯®¯²µ°²³´±°³µ¶¸·¸³´¶´²µ¶û¸··³´¸»·³¶¸µ·¸·º´´²··´··¸º¸µº·µ³³´´·³´³µ²´º·¸´²´µ¶·¿»¹½¿ÂÃÀ¾½¿À¾»½½¿º¼¹¶¶¸¸½¹»½º»¾»¸»ºº¼º»¾½··»º¼¼º¸¸º»¼¸¶»½¿¾¿ºº¶³µ´³±®³³¶²­ª˜�¢äòôóèÚ×èóöôñäæôööõòèïõ÷öñïïöõôòòíëô¨òóèâëòõôóîñõ÷øöîëõø÷óñììóöø÷õîçóö÷÷øöëôöõÄîîöúúùøìóøø÷÷öåò÷ùø÷öìí÷øøùöðó÷øøù÷ñ÷ùúùùöóûúûûúòöûûúûùôóúúûúùùôñùúûúƒöêùûúúûùûúûûúúûýüûûüû‹üüûûüûüûûúýüƒûüýü‡ûüüûýþýüýüûüûüûü‚ûúü†ûüûüýüý„üûüýüû„üüûûüûüˆýüûûüüûûüúüŽûüüûúùûúúüúüúúùŠøù÷øø÷ùø÷õöõó�Ù»ÉÎ˽«¨¼ËÑÎȵ¹ÎÒÐÍȺÅÏÓÑÅÄÄÎÏÎËɾÌÎÍÊɺµ¿ÊÏÊÈÃÅÏÔÔÐÂÂÑÕÒËÇÁÂÊÒÖÓϺËÑÕÓÕпÍÑÏÐÎÃÃÑÖ×ÕÒÀÉÔ¯ÒϸÊÓØ×ÔÐÀÃÒÔÓÓÒÆÌÓÕØØÓÉÔ×ÚÙØÏÍØÙÝÛØÊÐÛÜÜÛ×ÍÌÛÜÚ˜×ÌÊÚÚÜÚÛØÎ¿ÖÜÜÝÜÛÛÜÙÛÛÚÙÚܳÝÚÛÛÜÝÝÛÜÜÞÞÝØÝÜÝÞßÜÛÝÞßßÞÝÜÝÜÜßÞßÞÞàÝßßÝÞßßÜÜÞßÞÝÛÞ¢ßÝÞÜÞâßßÞÚÝÞßÜÙÜÝàßÞÝßÞßâÞßßÝÜÛÛÝÛÝÞÜÜàßàÞßÛÛÞàÝÜÞÛÞ†ÜßÞßÜßÞŽÛÝÞÞÝÙÞÞÜØÙÜÚÚ؈ÕÙØ×ÓÖÖÔÔÏ�•—«¨£“z¤®¤›ˆ§«§Ÿ˜Š™¦ú𕔢¢ ›˜Ž¢¢Ÿ œ‰ƒ£›–“˜¢¨©¨˜”¦«¬¡˜“•Ÿ¨¬§¡”‹œ©ª©ª¢¤¦£ Ÿ”£®®©¥“¡°¯¬©¥ˆ¡¨¯¯¨£“•¨®°°¦—Ÿ«ª¯¯§—©¸·µ± œ±³µ´¯œ¦µ¶´´«¡µ´±¯°®ž¯³¶°®ž­±±²²¯°³°°­«®«­²µ³°³´³´´¶¸¸µ¸³²´²­µ¶·´·¸¹µµ¸º¶µµ¶¸¶Ò¹½½¹¶·¸º¹µ´¸¹·´µµ³µ´µ´µ²¶»¹¹·µ¶µ¶»¿»¼½½ÀÀ¾»¸¾½¼¼»¸»·¸¶³¶¼»½¹º»»¼¼»¸¸¹¶¸º¿À½º¶¼»¼º¹¸™¹¼¶¶¹¸½¼½¶¶µµ´±°°¯¶´³¯³²¯¬§�½óôóè×ÓãïôóìÞåð÷øöëÞîöõôñãéô÷ôóîèèòõñïñäáíóôóñéîôö÷õïêõ÷÷õòëèó÷˜ôîäóõö÷÷õìîøöòòóèó÷ù÷öïìø™óóëíö÷ùøõîèôøù÷÷òíöøøùùôôú„ù÷ñ÷ù’ôòùúúûù÷ò÷ùúúùø÷ñøùŒú÷ãôúúûûúùùúû†úùúùûûú‰ûûüûüüûüúûüƒúüüûüˆûøûüûüûûüû‡üûûüûüüûƒúûüûüû ü„úüûûüû†üúûûúûüûüƒûûüûü„ûúúûüŒûûúûûúúüûûúúùø„÷ø÷ø÷ƒöõôóò�”ÎÐﬨ¸ÉÏËIJ¹ÉÓÔÑ¿±ÅѶʷ¾ÎÓÏËż½ÉÐËÈÈ·´ÂÊÏÎȾÇÏÓÓÏÆ¿ÐÔÕÏÊ¿¾ÍÓÖÕÎÄ·ÌÏÒÕÑÐÃÈÖÒ˾ÍÕ×ÔÑÄÂÓÔÕÏÍÂÃÑÖ××ÐÆ¼ÎÔÖÔÓËÄÑÖÙÜÚÎÑÜÜÛØÔÉÕÛÜÝÛÒÌÚÝÜÜÚÔÊÔÛÛÜØÙÔÊ×ÛÚ‡Ô¸ÏÚÜÜÝÛ¤ÜÜÛÜØØÛÚÜÜÛÝÜÛÜÝÞÝÞÞÜÝÞàßÝÜÝÜÝÞàÞÜÜáàšÞÝÚÝÝßßáÞÞßÝÝàßÝßÞÜÜÞßÞÞÝÞ݆ßÞÞÝÞâá ÞÞßâàÝßßáâàÙÞÝÞáßàßÞÝÜÙÜÜÝÝßßÞÞáß–ÞÜÞÝßÞÝßÝÝßßÝÝÞßßàÞÝÚÞß•ÞÛÝàÜÚÙÝÜÛÚÚÙÖÚÚÙØ×ÖÔÓÐ�þ«­§•ƒ~Œ ©§™‡Žž­®ª’˜¨§¤žŠ‘¢«¤ž–‹Šš¥™œˆƒ”£¤šŽš¥ª¨¤œ”§­ª§ ‘‘¥«­«¢–†ž¤ª©§¡“™«¥œœ’ ©¯¬¤••¬²¯¥£˜˜©«¯¬¤–¤«®««Ÿ˜¦­®´¯Ÿ£·º·³«œ«³´´±±¥Ÿ°¶¶µ²¦š¬¶··¯­©œ­³³²²°¨Š¢°°±²²±¯²´±±­«°¯²³³´³´´¶¹¹º¸·µ·¹´´µ¸·µº¸º¸·¹»¹·µ²¹¹¸»¹¼»º½½¹¶¸¸¶³²·¸¹¸·º¶·¸»¶µµ»¾¾½ƒ»¼½Àÿ½¾º¿¼ºÀ»¼½º¹»³·¤º¾¹¼½»»½¿½¿½¼¾»»¼ÁÀ¼½¶·¸¾½¼»¾¾¼¾¸¸»»½¹º¸·¶¶´²¶µ´´³³´®¨§�ÊôðèÝ×çóóòíààôõöôòÚçöôôîêãóöõòðçåòöòìñçÞíóôðóêìô÷õõñæò÷÷öòíèîö÷÷öðçïõö÷öôëíö®ïòëïõ÷öôñí÷øøöðíë÷ø÷øõòÞòõø÷÷óíö÷øùùõôøúùøøîóøù“÷ðöùúùú÷ðöúúùúø÷ïóùø†ùøíàùúù†øøúûùûù‡øùøùùüúû‚üüûú…ûûúüüûúûùûûúüûüûûüüúúû‡úùúøúûûú„ûüûúûü‚ûüû‹üûüûúôúüûúûú•ûüûúüüûûúùüûüüûúûúúûúû…úúùøøú‡ûûùûùúûù÷ƒøø÷ö‚õóóò�þÐÉ¿±¬¿ÎÒËö·ÐÑÔÏɯ½ÑÐÏɹÌÒÒÍǼ¹ÌÒËÄɼ°ÂÌÍÉÌÀÁÎÕÒÑ˽ÍÕÖÑÊüÆÒÕÖÒɾÈÒÓÖÕÏÁÅÕÕÒÆÉÁÇÑÔÒÏÉÃÓØ×ÒÉÃÂÓÖÙÖÑ˲ËÒÔÖÖÎÄÒÕ×ÚÛÒÍÙÝÜÛׯÐÚÝÜÝ›ÖÉÔÝÞÛÛÖÌÒÛÝÙÝ××ÇÏÜÛÙÛÜØÆ¶ÙÜ•ÛÚÚØÜÞÚÜØÚÚÙÚÛØÜÛÜÞßßÞÑßÞßàÞÝÞÝÚÜÞÞÝÜßâáààßÞÝÜÝàáààÝßàÝÞàÞßÞÝÚÛÙÛßÞÝÜÜßàáÞÝÞßáäãßßáâßÝáÝàãÞÒÜÞÝÜßàßÝÞÞÝÞ߆àÞÞßààÞ˜ÝÞÛÞàÞßàÝÞÞÜÛÛÝÞßÝÛÙÜÞÞá݈àÞÜ×ÛÚÚØÙ‡Û×ÙÙ×ÖÕÓÑ�þª¥š‡„˜¦©¦™‰Œ§©­¦ŸƒŽ§¥£›”Œ¡©ª¢˜Ž‰¥ž—›Œ~‘ž ž ’”£«©¤¡’Ÿ­­¥Ÿ–›¬¯¬¨œ–¦ª®©¢—¬ª£—›”œ¨©§¤š“©±±¬ž™–®±°¬¥ƒŸ©­®ª¡—¨ª¯²²£ž°¹·µ°¥±µµ³›«œ©µ··²¬ž¥±·³¸°©™¢³±²µ³­™ˆ¬°Ó¯±¯«³´°±­¯¯¬°°®´³´´¶µµ¹»º·º·ºµ¹¶¹·´¶µ¸½»»º¸¶µ´¶¸¹½»½º¸»¼·µµ³´²¯²¯µ¸·º»¸¹½»¶´¹»¾½¾»¼¿¾À¼¾¾¸­¾½º»¹·º¹º»¶¹·º¼»·»¾¼¿½Á•¿¼¼½½»¾¿»¼³³·½¼¾»ÁÀ¼¿¼”»»½»¸¹·¶¸·²²··´³´´µ®¨§�ìïåßÜìóõôéÞãô÷öóíåíôñíëæäïôóðïæäòõöìîéÝèòôòïéíôööõñìóö÷õóîçïôööóïãíõ÷ööóìëö÷÷òëæëóööñíçóøøõòééôøø÷õïáé÷÷øùõìóø™öðöøùùøóñøøùú÷ñòøùùø÷õð÷øùŽøõìöøøúùùöãòùúù–úûøøúøøùùúùùúøúûûùûûúúûú…ûùùúùû¤úûù÷úúùûúùúûûùûúúùùûûùøùúûúûúûûúùùûúûüûüûúûùúûúûúùúùûûú…ùúûûúû‚úûú“ùùûûúùøùùúúùûüûúûøùøŠùøùù÷÷øø÷ö÷…ööõööôò�þÆ»µ°ÅÏÐÏ¿³½Ô×ÓÍÄ»ÅÏËÆÄ½»ÈÑÏÈÉ»ºÎÔÓÄÄÀ±¿ÌÏÊÇÀÃÏÓÕÐÉÃÎÓÔÑÎúÇÐÔÕÐÆ¶ÆÓÕÖÕÎÂÂÓ×ÕËÀ¹ÂÏÓÔʼÍÖ×ÒÊ¿ÂÑ×ÙØÒÆ·ÁÔÕØÙÒÃÎØ×רÓÇÒÚÛÛÚÎËÙÛÝÛ×þÉÎÚÜÝÚØÒÌÚÚÜÙÚÙÑÄÔØÜÛÚÙÕ¼ÐÜÝÝÜÚÛÛÙÚÜ××ÛÚÚÜÚÛÛÝÝØÞßßÞÝßàÞßâÞÝÞÞÜßÝÝÛÝÝáßÞßàÜÙÝÜÝßÞßÝÞßÞÞàÝÛÝßÞÚ×ÙÞßÜÜÞàßßÞÝÞÞââàáàßÞßßàßßáàÝßÜßÂÞààáÞßâàßàÞßàÞÝÝßÞÜàßßÜÜßááÝßÞÞÝÙÜÝÜÜÞßÜÜÞÞÝÞÙÝÝÞÝÝØÖØÛÛÚØØÙ×ÙÙ×ÖØÕÑ�þ¡”Œ†œ«­¨•‡“«°®¦™Ž›¦ž–”Œž§¤ž›Œ¡¦¥™—‘Ÿ™•¡§§¥›—¡§ª¥ ‘Š–¤¬«¤š†”¤ª­¬¢”“©°«’‹”¤ª§š•ŒŸ¯°§¢‘—§°´±¤•‡¬¬®²¢’Ÿ¬¬¯¯¥˜¦²¶¶²  ±´·¶«²š£²¶´²­¥Ÿ¬®´±´¯¢—©¯±³µ²¦Œ£³²°²¯°¯®²³­«¯¬­¬°²±³²«°´µ¶´º·¸³·µ·º´²²´»º¸ˆ±±¶³µ»¸·¸ëµ´´²°²¶¶²®°¶¸¸»¸¹»»¸¶º¸ºº¼½¼»º¿¾½½»»º¶¼º¸»¼·º¸¹½¸¸··»ºº¼½¾¿¼ÀÁ¿¾¼º¼¼¸»½º·µ¸º¼½½¼¿¿ÀÁ»»¸¸¶¸º¹´³¸¸¹²²´·µ¶·´µ³¯©�òæáÛæíôõêÞäó÷õóêßèóôìæèÞìõôðììåïöóòìëÞåðóòðíéðõöõñèïöõôóïãëðõööòçæôöö÷õíåó÷ø÷îãäô÷÷óìåêöùøìáÎíö÷ø÷ñëåóøø÷øðì÷øø÷÷ïðø…ùøîöøù’óí÷øúùø÷ñôøùøù÷÷îõøˆùùøôñùúøù£øøúúûøøûùùûøûûúùøùûúùûúûùúûùúûúúûúùúˆùúúøøú÷öù‡úûûúûúúùøù„úúûúùú‡ùúúûøôúüƒûûúûúû‡úùùûúúûúˆûúûûüüúúû†úûùúûúù„ûúûùûƒúûûùø‰öö÷÷ø÷÷ø÷öƒõöõõó�þ»¶°½ÈÐÎÀ³»ÓÙÒ;´ÀÏÐÄ»½µÇÑÐÉÃÁ»ÉÕÐÌÿ±ºËÏËǾÈÒÖÓȾÇÔÓÐÌÆ¸ÀÊÒÓÓÌ»¼ÎÔÕÖÐùÏÖ×ѵ¹Í×ÕθÀÐÖÕñ¢ÆÔÖØÓÊ¿ºÏרÖÕÇÂÔÙØÖÔÇÊÖØÚÚÖÅÓØÜÜØÏþÃÕÛÝÝÙÖËÒÛÜÛØÕÖÆÑÖ×ÝÙØ×ÏÍÛÝÚÛÜÙØØÚÚÝÖÖÝÚÛÞÚÜÞÝÛØÝÞÝÜÝÞáÞßßÛÛÞÞÝàÞÝÞÞÜßÞÜÝÝÛÚÝרÜÜÞÝÜÜßÞÝÜÚÜÜÛØÚÛÝÞÞÝÞàÞÝÜÞÜÞáàÞßàØÒÜàáÞàáßààÞßÂÞßßáÞßáàßßÞÞáÞÛÝÞÜÜÞßÞÜÞßàßÞßßÞÜÛÝÞÛÜßßÜÞÞÜÝÙÙÞÝÜÚÛÕÖØÙÚÚØ××Ö××ÖÖ××Ó�þ“‡“Ÿ­®˜‰”¯²«¦•‰•¨¨—ŽŠ›ª§˜–©¡Ÿ—’‚ž¤Ÿš“œ¥©¥™›©©¥¡™†‘›¦«¨žŒ¡ª«¬¥”‹£°´¦†Š¥­¬ ’†¥°«™†wœ¬®±«œ¡³°¯¬˜“©­¬®¦“œ®°´´©•©²·´¯ þ”­¶¸±¯©œ§±°²®¬ª—£¬­²²³±£¢´·²®²®®¬¯¶¹®­³®¯±¯³³±¯¬¯¶¶³²´·µ¹¸µ°µµ·º¶³´¶¹·º¶¸·²µ·­°··¹¸¶¹¸´³³²²¶µ³¶³¶¸º¹¶·¸·¹ºº¸·¸»¼¼´«»¾½¼½¼º¼»»¸–½¿½¼·¸¼º¹¹º½½¼½¼½À½¾¿½¼‹¾¿»»½¹·¹º¾½¿›À¿À¾À¼º¸··¼¸­°¸¸·³µ·¶´··³¶µ¶«�­ÛÝìñòóéÔïöõôíáÙìõóèâáßðöóðçæâíõõííêßëòõôòéåîñð‘äìòõöðîçêòõöôòäçòöæôïáï÷øóíäÛíö÷ôëâåð÷öòÝ›Ñô÷÷öòêàíöøø÷ñëôöøøöðé÷øù÷øïóøøû÷öìñ÷ùúøöòóøùù÷öõôïö÷øùøø÷íøúùùøù÷ô÷øúùùúøùøúøøù‡úùùúùùûúûûúûùùúúøúùùúúùùúùùúùøùùúúùûûúùƒøøùú•ùúúùúùúúùøúûûùøúúûûüûüŽûúûûúûúùúúùúúûúüûúúûùûûùúûúøù…úûùúúûùø‚÷öø÷…öõõöõôò�þ¯±ÂÊÌÍ¿ªÈÔÕÐÆµ¬ÃÓÍÀ¶´³ËÕÏȼºµÆÑÒÆÅÀ±ÁÍÑÎ˽ºÄÊËÉɸÄÍÑÒÊÆº¿ËÓÓÏʹ¼ÌÑÒÒ͵ÇÕÖη®ÃÑÔο´¹ÉÓÓͲp¨ÐÓÕÓË¿±ÅÔ×ÙÔÇÀÌÓÚ×ÒÇ¿ÖÚÙ×ÖÅÌØØÝÖÑÁ£ËØÝÜÚÕÌÍÙÚÚÙÔÓÏÈÒÔØÛÙÙÕÃØÛÛÙÜÚÓÏÕÖÙØ‰×ØØÜÚÚÛÛÚÜÛݧÞÝÜÜÝÜÞÞÜÝÜÜÝÜÛÜÞÝÚÜÜÛÚÛÞÞÚÛÞÞÜÛÙÙÚØØÛÝÞ†ÝÝàÝßÞÜßÝÜÞÞØ×ÜÝàÞßßáààÞ ÝàÞÝÞÞßàßÝÜßÝÛÛÞàßÝÞßÝÝÞßÜÝÚÚÞÝÛÜ›ÝÝÛØÙÖÛÞÜÚÚØÙÖÙÙÚÙØÕר×ÔÖÖØÕÒ�¬†‰œ¥¦§–€£±­¨žˆ~™«§—‹ˆŠ¤«§ŸŽŽ‹ª¨šš“˜¦§¤žŒ‹šŸõ™ˆ—¡¦©ž–Œ‘Ÿ¦¨¦ž‹‘¡¦®© •„𫮢‘†–ª¬¢‘…Šž¬¨Ÿ‡I~¤­«©ž‘ƒœ«²¯§›’¢¬±®©”Ь²¯°¯•¡²¶º«¥‘ž²¸·®©Ÿ¡¯±³¯§¨¡˜£«®³²²«›°¶µ³°¯§¤©¬¶µ°°­±¯‰­­±±µ³³°¶¸á·¹¸´³µ·¶±³¶·¸¼·¶¶·¹¶´µ³¶»¹³¸¼¶µµ²±´²¶¹¹º¹·º¸·´´¹¶·¶´¶¸»»·µºº½º½¼¼¾¿¶¶»¼»¾¹¸µ¸º¸º¼¿¼»¼¼»½¾¼¼º½½¿¿½¸£µ¸¼¾½¼»½ÀÀ»¹¼¾¼º´¶¼³±¯µ¶··»¹µ´¸·´¹·¶ª�ëâêñôïâÙêöõòíàÔæòôîáÞÜéõôðèãàêðôòçìßæñôõñîäðòòñîèæôõöôðééòööõðèÙðö÷÷ôíãêõöôíåÞéðõôíåáîõ÷ôïäÃîõ÷öîêçëõøøöóéò÷ø¡ôëòù÷ø÷öìöøøù÷òìôùùúùõîöøùùø÷öîô÷øƒñòøùƒø÷öøùø‚ùøùŽúùúúùùúúûùúùûûù”úøûúùûûúúùúùúûûúùûûúû†úûúùúùû™úûúùûúùúúùúùûùùúûúùúùúûûüû„úøúúùúû‚úùûŽúøúûúûúùûúúùùøùú‚ùúû†øùø÷õõ÷ø‚ööõöó�þ¶ÀÉÎǸ¯ÄÕÒÎŵ¨¼ÌÐÆµ°®ÀÎÎË¿·µÁÊÏ̼¿²ºËÐÑÉĶÈÌËÊŽ¹ÎÒÒÎÈ¿¼ÉÐÔÒɽ­ÊÑÓÓζÀÐÓÐ÷¯½ÈÑÏÁ·±ÃÑÕÏȹ–ÅÑÕÒÆ¿¹ÀÏÔ×Ô̽ÌÔ×ÙÕÍ¿ÌÙ××ÕÑÃÒØÙÛÖÌØÒÛÛÚØÒÆÔÛÚÙØÕÕÆÎÓÕ×ר×ÌËÚ‡ÖÜ×ÓÓÙÖ؆Õ×רÛÛÚÙÜ…ÙÛÚÛÚܤÛÝÛÚÚÜÜÚÝÛÛÝÜÛÜÚÜØÝàßÜÜßÞÜÛÛÞÛÜÜÚÛØÜÝ´ÞÞÛàßÛÜÜÚÛÛÞÞÙÜÝÜÛÝÚÛÜÞÞßÝÜÜÛÝÜÞÛÜÞÝÜÞßßàÜÝÝÞÜÛÛÜàÞÜÝšÜÞÛÛ×ÛÞÛÜÜÚÝÛÚÝÙÛÛÜÞÙÚØÕÖÓ×†ØØÓÖÕÚ×Ñ�þ›§¬£‘†°®§œ‹z”¥«ž‰„™­©£”‰‰˜¢©¢“—ˆŒ ¨§Ÿ–ŠŸ¢¢ šŽŽ£¨©¤›Ÿ¨ª¦Ÿ¡®­¯¦”‡”§¬¦“…’ ©¦”‰…™¨®¡™Žm›¦°¦š‰“¬²±ªŸ‘Ÿ®³³­¡Œž²®«­§—¯µ´´« –¬§³µµ®£–©±´µ°ª©–¡§¯°±±° ¥³¶µ´³¬¦¨¯±³³®®°¬¬±²±¯ª³´´³³±·º·µ´··³²±´µ²´¸¶º»¸¸¶¸¹º»»µ¶¼¼¶¹½»¶¹·®º»º½º·¶Àº±´·³¶µ·ºµ·½»¸¼»¼½½¾¼¾¿¶²·»ºº¸¸·º¼¹¼½¿½²¼º½»½½¼À¿¿½¼»¹¹¸½½¼¾ºº»¿À½º»Á¿¼²´¹±­¯·´¶º¾¸µ³¹´³¶º¸®�±éðõîßÕéöõðìàÍè÷ôñâÜÙèõõðéäÞìõóïåãÞäîôóìçàð÷õóïéäñöÃñìåò÷÷öòëäïööõòîææòõñêç×âïöòêçÙèòöõîíâëô÷÷ôíáèõø÷÷ôëîöøù÷öíî÷øø÷ôîõø…÷öîô÷ø”ñð÷÷ø÷÷øòñö÷÷ø÷øöíøøùøù…úùøøúùœúùúøùøøûûùûùúùúúùúùúúùûúùúúüúˆüüûùüúûøú‚ûûú‡ùøúúùùúù‹úûúûûúúûúûûú„ùúúùøˆùùúûùúøøù‰úùúùúûúûûùøùúù†úùúøùúù‡ø÷ø÷ö÷ø÷†ø÷øöõôöô�þ¿ÉÏǶ«ÂÓÑËô¤¾ÐÏÉ·®¬¿ÐÏÆ½·²ÄÐÌŹ¶°¶ÄÒÍû±ÆÒÐÍÄ¿ºËÒÒÑÈÀºËÑÒÒÌÁ¸ÆÒÒÑÍǺ»ËÏÉÀ»¨´ÅÑÌ¿¸©ºËÑÐÆÂ¶ÀÎÔÔÐò¼ÏÖÓÕÌ¿ÄÔ×ÙÖÒÃÄÔ×ÖÕÐÄÐÖÙÙ×ÒÆÐŠÔרÖÔÉÉÖÙØÕ´ÌÉÕÖÕÖÖØÓÇÙÙÛÙ×ÚØ×ÙÛÙÛÛØ×ÛÙÙÝÛÚÚÛÙÜÜÚÙÛÙØÛÝÞÜØÜÛÜÛÛÜÛŽÝÝÙÛÚÝÜÝÞßÝààÝÜÝÚÛÜÝÛØÝÞÝÝÞÚÙÜÝÜÚÜØÚÙÜÞÚÝÝÜÜÝ¡ÜÞÜÞÝÜÛÜÛÛÜÚÚÛÛÙÙÜÞÚÕÛÝÛÜÚÜÝÞÜÜÚÜÛ‡ÙÚÜÛÝÝÜÝ†ÞØÙÜØÛÜ“ÚØÖÕØ×ÖÚÙÖÖÙØÙ×ÕÕÔÖØÒ�þ™¤­¥‡ ´²¨š‰{™±¬§‚€—ª¬ –Š›©¤¡‹ƒ‰™¨§˜‘‡ ¯©¢›’ŽŸ¨ª©œ‘Œž¨¬©ž•Œ›¬¯ª¦Œ¢§ •x‰ž©¢–‹{Ž¡¥¢–‘‹˜¥ª®£—„Œ¤¶±­¡“—­±³­§–•­±¯ª¤”¤³µ¯«¦™¥þ«±±¯¨™œ®±³²®¬ œ«ª®²±°ªŸ´³µ´¶µ°­³··³³¯¯·±¯±³²®´³´µ´±³°µ»¶µ¸µ´³µ±±·µ´¸´ººµ¹¹»¹¹º¼·¸ºº¶»¹¹µº»º¸¹»¼»¾»´²»»²´¸¸¹¸¼¼µµ¼»º¼¿½¾¼º»¼¼¸¶·¼¸¶¶µ¶½¼¸º¹µ¼¾¹°¼¾»½¾¿¼»º»º¸»»ÀÀ¿Ã¹»¼¿¿¹¼»½º¾¶µ¹´±´»º¹º»µ¶²´±´µ¹·°�ðëðíÝÓçõõóéàÔäôõóèÝÙîõóîêãÜèñóðéäÜáëóõîåàëõöóðèèôôöõòéâðööôòñæìóõöñêéãïóñêèÜÚìïñêæÖáïõöñîâéó÷÷ôðæßïö÷öõíéô÷ø÷õóìó÷Œõðï÷÷ø÷øðïôø÷ƒõîöø÷‚ìô÷ˆøïòø÷øúùøùúùøùøùøøùøúùøùûúù„øùùúù‰úúùúùùúûùûúûú„ùùúûúù„úùøøù‡úûøúúùúûŽúùûùùøúø÷ùùúùùú“ùøúùùûùøúûúùøö÷÷øùúùŒúúù÷øøùùøùùø÷øøö÷÷öø÷öõööõõó�öÄÈijªÀÒÒÍ´ª½ÎÏÍ¿°¯ÆÑÐÆÁ¶°ÀËÎȾ·®µÃÍÒÆ¹´ÂÑÒÍÇ»¿ÏÑÒÐʽµÊÒÓÏÊÆ¹ÃÏÓÒËÁ¾·ÇÍÉ¿¼°­ÂÈË¿¸©²ÅÑÐÈö¿ËÔÕÐȺ³ÉÓÖÓÐþÏרÕÑÌÂÌÔÕÔÑÇÅÖ–ÕÖÉÉÑÕ×ÕÓÏÅÒ×ÙÖÔÔÒÄÐÕÖÕ§ØÊÍÚØÛÚרØÙÚÛÙÚÙØÙÛÛÚÛÙØÙÛÛÙÛØÙÚÚÛÜÜÝÝÚ܉ÚÛÝÞÚÛÛÝÞÜ‹ÝÝÞÝÞÞáàÝÝÜݪÜÝÝÚÚàßÛßÜÝÜÝÜÛÙÚÜÜÚÜÝÜÝÝÜÜÝÝßßÝÝÞÞÜÚÚÜÛÜÜÛŠÙÚÝÝÜÙÜÝÛßÜŒßÝÜØÖ×ÚÜÛÜÝßÝ”ÞÜÝÞÞÚÛÜÙÜÜÛÝÜרÜÛØÙÚˆÙÛØ××ÔÕÖ×Ò�þœ£ Œ™­®¬›ˆ~•«­©—‡ƒ«¨ž—Œ…•¡§ž—Š‚‰–¤®ž‹ˆ›®®£˜Œ“¥¥¨§ž†š¥©¨ž•Š•£©¨¡”Žˆš¤Ÿ’|—¡žŠzƒ™¥¡–“†”§¯¬¦Œ…›ª±©¤”‘£¬®«¦¡“ž¬®¬¦™’«¯¯­©›š¤Æ«¯®«¢•¨°³¯ª«ª›¥©ª«±®­Ÿ¦³²±²µµ²±³´³²²¯¯´°¯±¯¬¯²³²²±°±±³¶´¶¸¶µ´µ°°µ´³µ³·¸·…¹º¹¹»¸²¹·¸»»¹µ¸¾»¸º¹µµ¹¸²¯´·¸º¼º±³··ºº»¼¾¾»¸½»¶µ¹¶¯µ¶·¶¹¹·µ½½µ¸¹·¾»¼»¶°³´¸»º¼ºº¼¿À¹¸»¿¾µ½¹»¼½¾½¸·º·»½º·¶±¸±±²µµ³³­�öñíÜÖéöôñëßÖãóòîçÞÔéõôíèæÝæñòðëçßßéòôîçØëõõóðëãòöõôñë×ìõööòéääòõöôêãÚêóòëæâØêðòêèÝàèòöôîçãó÷÷õðêßíö÷öñóæðøøöõõëïö÷öõóíò÷›ôëôõø÷ööíð÷ùù÷ö÷ðïöõö÷ø÷õíöøù‚øø÷…ùøøúùø‚ùùøù…øúùùúù†úùúùùúùƒúûùû’ùùûúøûúûùúûúûúûøùúù‘ûúùúùøùú÷øúùûúûúûú‰÷ùù÷úøùúúùú„øøûúùø÷÷öøúøùúøøùùøøùø‰ùøøù÷ø÷ö÷öƒõõôõó�þËı«ÃÕÓÌô©ºÑÎǽ°¨ÂÒÏÅ¿»±ºÊËÈÀ½³²¿ÎÐǽ¬ÂÑÑÌÉÀ·ÍÒÒÎÉÀªÁÐÔÔÍ¿·ºÍÒÕÎÀ·­ÂÎÌÁºµª¾ÊË¿º¯²½ÌÓϹ·ÍÒÕÒÇ¿²ÆÔØÖÍ˹ÈÕ×ÓÎÏÁÈÒÖÔÐÊÂÍÖÕÓÔÐÁÒÓ¢Ú×ÓÑÂÊÕØÚÔÒÕÈÉÔÒÑÔÕÕÑÅÕÙÚÚØ×רÙÙØÖ׋ÚÛÜÛÙØÖØÚÚØÙŽØÜÜßÛÙÝÞÝÝÜÜÝÝÜ¡ßÜÜÝÜÚÝÝÞßàßÝßÝÝÞÝÜÝßÜÝÜàÞÛßÝÝÞÞÜÛ¬ßÝÛÝÚÝÞÞ×ÙÜÜßÞÝÝßÝÞÜÕÚÛÚÚÛÛÞÝÚÛÝÝÜÜÞÜÞÜÜÝÞÝÙÚŠÜÜÛÞßÛÛÝÞÛÝÛààÞÜÚÛÞÛÙÜÝÜÚÚÝÜ‡ÛØÖÚÕ×ÕÖÑ�þ¤ž‹„—¬ª¢š‰©¨ •‡œ¬©œ‘ˆ” ¡—…„“¦©Ÿ’{•««¡›‘‡£«§¤œ{“¥¨§¡Žƒ‹¡©©¡†}–¥¡“‹†{Žž¢”ˆ€„Ÿ¥¢ˆ‡£°°©™ƒšª®©žžŒ¨§¦¥ ’™¥«©¦œ­®«¬¤”¡¥®¬§¦•¬²²ª§¨œ ¨¢¤«±­£™­±²°²²³²œ¬®°ª®­¯±°­«¯°³°¯±²²³²¶µ¸ºµµ´µþ²²´²µ¶¶¹·µ´¹¼»º¼¹ºº¹¸¼¹µ¼¼¸¶¹¾»¹»º³¸··µµ³º»·º·´¶·±´¸»¼¼¾¼¼»½¶³·´­²³µº»µ´·¹¼¾½·º¹¸»º»¼·³´µ¹½¶¸»¶·º»µ¶¹½½»¿¼½»»Á¾½½¿»º½»·µ²·³°¶²‚²°³¬�ÒêáÖèðññèßÖæñóñåÙÒíóôðèãàéïñîêéáßåðòîêÞßòõòðîãìôõõðëÝâôõóôíãÝïõöôêæÙèôóìéçÕßëóìçàÞéóÀìäàèôööïìàæó÷÷ôðëëõööõôðïôö÷ôòïðö÷õööìïö÷øöõòëôøùøö÷õéôöö÷øøöïõ÷øƒ÷øùø†÷øùøùøù‹øùùøùøùøùøøùø¢ù÷øùøùùúúùùúùúûùùúùúùûùúùûúùùøúùúûùŠøøùøùúùøùøùˆøøùùúúùùú‰øùø÷öùø÷øù„øøúúù‹øùøøùøùø÷øùø„÷øø÷ùƒ÷øùø‹÷÷õö÷÷ööõöõô�þÁ·¬ÂÍÍÎÀ¶«ºÉÑÍ»­¦ÅÏÑÊ¿¸´¿ÇËÇÀ¾µ³ºÉÍÇ¿±µËÒËÇÄ·ÄÑÒÏÈ¿®µÌÐÏÌö°ÉÓÓÏÀ¹¬¿ÏÍý»¨±ÂÍÁ¸±±ÀÍÎÎ÷³¾ÎÓÓÈÁ±»ÏÕ×ÒÈ¿ÀÎÓÓÑÏÉÉÐÔÕÏÊÅÈÔ×ÓÓÒÂÉÕר×ÔÒÊÁÑØØÖÓÕÑÁÐÔÒÔÖÖÒÆÑרÚÚ×ÖÙÙØ××ÖÚØØÛÜÞܸÚÛØÙØØÜÜÚÛÜÝÚÙÚÞÜÜÛÝàÚÛÞÜÛÞÜÝÜÞÜÝÜÞßßÝÞÞßáÝàßÞÞÙÝÜßÞÜÝÜÜÝ›ÛÝßÛÛÝÚÛÞÝØÚÜÜÞÝÝÞÛÛÞÜÛÙØ×ÚÛ†ÞÝÜÝÛÚܱÛÜÝÝÚÚÞÞÜÜÝßÛÜÜÚÚÜÛÙÚÙÜÜÝÜÝÚÖÝÝÜÚÜÜÛÚÛÜÝ×ÙÚÚØÚØÚÖÕÓ�þš„š¦§§—‰’¡¨£‘…€Ÿª«Ÿ‘‰‡—£Ÿš–”‰‡‹ž¥œ’ˆŒ¡©£š˜Š–©«¨ ”†Ÿ¥£¢—†›«­¡‘ˆ~”§¥•Ž|…• ”‰†”¢¢¤—†‚¤­¬›‘‚¨¯­¤›‘’¤¨¦¤£™œ¤¨¨¢ž—˜§®©©ª•œ§¬œ®ª¦œ“¦±±¬«ª£“¦ª«ª­¯«˜©±°°±¯¯°‰±®«®±«­¯³²ˆ¯¯±³­®´³²Æµ´µ¶¸³´µµ¸°³¶³²¶¸»··µ¸½¾»»¹ºº¸¼½¼·½¸¶¸¹»·º½¹µºµ¶¹¶·¾»µ¹·¶»¹¶¸¸»¼¾½¿¿»»¹‡­«²¶µ¹»¹ªº½½¼·»º»½º¸½º¼º»¼¼µº½µµ¹¹µ¶´¹¹º¼½Á¸¼Â¾ÃÀ¼»Š¸²¶¸¶³·´µ²±­�ÚÝæïñîëáÖæòõíèØÍâõóðêäàçìñðëëâôëõðåÞßïóôïïåçïóóñìåÛìôõòì娿ôöóìäÙÞòõîåêÛÛâîîäãÔâòõôîæÙèíôöòèÞÝîõ÷÷òïåñõ÷õõôîôö÷öõðëóö÷ööñêõö÷÷õôæïõøø÷ööññõ÷÷ø÷÷óë÷ø÷ø…ùøù÷ùø÷ùøø÷øøùøùøùøùùøù‘øùùúùøùúùúûúúûúùûùúúùùøúùúùùøúúù‚ø÷ù‚øøù„øùøøùúø…ö÷øùùøù„øøùúùø‰ùùøùø÷øùùøƒõ÷ø÷ø÷ˆøùøø÷÷øø÷øöôõô�þ¯´¾ËËÇÄ·­½ÌÏÆ¾¬¡¸ÐÐ˸´½ÃÊÉÂÀµ¶¶ÃÐÈ»±±ÅÍÐÇź¼ÈÎÐÊ·­ÂÑÑÌÁ¸«»ÏÒÎÁ·¬³ÌÏŸ½®®¸ÅŶ´¦¶ÌÑÍź«¼ÃÐÓ;²¯ÄÒÕÔÌŹÊÒÕÑÑÐÇÏÒÕÓÐÉÁÍÕÖÔÓÊÃÓÖÙ˜ÖÒϼÇÔØØÖÔÔÌËÒÕÔÖ×ÖÍÃ×ÙÙÚŒ×ÚØÙÜÛÙÜÛÛÚÚÛ´ÜÛÙÖÙØÙÜÛÜÛÞÜÛÙÛÜÜÝÜÞßÙÛÝÛÙÙÜÝÜÞÞÝÝÞààßÜÛÝßÝÞÝÛßÙÝÝÞÝ ÜÛÝÞàßÚÜÝÛÛÞÛÜÜÝÚÚÛÛÝßÞÝØÙÞÜÝØÖÚÛÝܨÝÜÛÜÞÜÜÛÝÜÚÜÝÝÞÛÞÞÛÜÙÚÛÙרØÔØÛÛ×ÛÚÙÜÝØÚÛÙŒÜÜÛÛÙÚÛÙÚÚÙ×ÕÒ�þ‡—¢§¢ž‚”¥¬—‚y’©§£šŠ…› Ÿ—“‰‹Œ—«šŒƒ‹¡¥£š˜Ž‘§©¤™Œ€“¤¢ –Š|‹¥¬¤‰|†¢§šŠŒ„Œ™˜ˆ‚x¡¥¤œ‹{Ž™¥¨¤ƒ™®°ªž—Œ§¬§§¤™¥¨¨££œŸ¬«¨©¢–¤©°Ç¬¨¥š§°°®­§œ¦¯±°°±£™²²±¯°°¯±¯±´±°±°¯®°µ±²´±«°±®¯´²²³µµ¶´µ¸¶¹¹¸º´¶·¹´²·º„¹»¿¿½½º·¶º½¼¸¶¹²¸º½¹½½¹¶º·¸º³·¾ºµ¹··º¸½½ºº½Á¾¿½¸»¹¸·¯±µ¶»¼»º¼º¼¼ºº¹»¯¿ºº¿¼¾¼¸½»·¼¾¹¶¶·º·®³·»¸»»¹»Â¾Â¾Â¼ºº½¸¸º»¶¶¼¸µ²³®�íÖëñîíèæÛçòòíÞàÌÚéñïêæÞèìîïìèàÝáçðïç×ÝîóòòïææîòóñïåÜèòñòïåÕãòõòêçßÙêîìççÙÙèïîèäØäðõòíëÞàïõôñêãÔçó÷öòîäïõöõóóèðö£òóëðóö÷öóëò÷÷öõóíëóö÷ø÷÷óìõö÷øø÷÷íôøùøù÷÷ø÷ø÷øøùó÷õøù‚øøù’øùøùúùùøùùúùûúùùúûù…øúøúø ùøù‘úùøøùøøùøùøùùúùøùøùø÷ø…÷øúø÷ø‚ù÷øƒùøø÷ø÷ö÷÷ø÷÷øø÷÷ö÷÷ø÷öõöõò�´®ÄÊÉÅ¿º°¾ËÎIJ´¢­½ÌÈ»°¾ÂÅÈľ´¯µ¾ÈǼ«°ÅÍÌÊÇ»»ÇËÌÌǹ°¿Ëöǹ¦¸ÌÑÌÀº±­ÀÇÁ»º¬­¾Èƾ¶ª·ÉÒÎÃÀ±³ÆÏÏËÁ·§ºÌÕÓÌÆ¶ÆÑÓÒÎÍ¿ÉÑÔÒÌÌÁÊÐÕÔÓÎÁÎ××ÕÒÐÆÁÍÕרÖÕÌÄÒÔÖØÕÕÔÄÎÙÚÛØÚÛÚÙÙÜÝÜÙÛØÙÚÙÚØØÚÙÐÔÓÚ…ÛÜÝÜÜÝ‚ÜÞÛ„ÚÜÛÜÝ—ÜÜßÜÛÝÜßÝÝÞÚÜÛÝÙÚÜßÚÜÝßÝÜÛÝÝßßÜÛÝÜÜÝÙÛ…ÜÛÛÜÛܰÝÛÜÛÜÚÚÝÚÚÙÛÚØÙÛÝÞÜÝÝÛÛÜÜØ×ÚÚØÛÚÝÜÛÜÚ֨רÙÙÔ×ÚÚ×Ú“ÛØÙÚ××ÙÝÜÛÜØÖØØÙØÚÙÔÏ�þ„¢¥ Ÿ”‚”¤¤ˆŽzˆ˜¢Ÿš‘‚”™žš˜“†‚Š–žžz„ž§¢š—ޤ£¡œŒ‚“¡–‰vŠŸ§£•‹ƒ|‘›“Œ~‚’ž†xŠž¦ –’ƒ›¥¤’‰yŒ¡®©Ÿ–ˆ–¢¦¥£¢‘ž§ª¥¢’˜¢¬¨¨¡’Ÿ¨¬«±¦£˜“ ¨°¯®«ž—§©±³±°¯™©´²²®°²±°°²´³²±­°±±´¬®±®£¬ª³²³ƒ´µ¹·‘µ¸¹º¹¶¹µ¹º¸¸¹¹»º»¾½¼¸¶µ·¶º¶¹±´º½»¾¼ºº¼µ·¾¸º¼¹¹¸´´µ³¶¹¸º¼¿»½¾º»º¸¹ºº¸¶¶¸·µ¸¹¶¸»¸¹·œ¾¸·¼»º½¹½ºº»··µ²³¶º·´·¸¶¸¸µº¾¼¾»¸¸¹¹º¹¸µ·¼¸º¶µ°�þíóñðèÞÙèíðëßÕÌ×ííììåØãðñíééßÜæíñîéÚÕîôôòòéåîóòîêéßéòòðíêÚÚðõôîèà×âêêáæáÙçïóìèÒÞíööïêàÞéñóðìêàßîõöóïàçôöõóðéèô÷öóòéêôõ÷õõêîõ÷÷õ”öôçôöø÷÷öôåïö÷øø÷÷ñí÷ƒø÷÷ø‚ùùøŠùø÷öøø÷ø÷ôøùø‚ùøùúùŒøøúùúù÷øùùúúù‡úøùúùøúù‡úùúùøùúù øŒùøøùøøùùúøøùøˆùùø÷øø÷÷øˆ÷ùø÷÷øøùø÷ø÷÷ö÷÷øø÷öö÷÷ö÷ö÷ö‰÷÷ö÷÷öõõööð�þÇÍËËÀ±¬¾ÅÊò§¢­ÃÃÅĹ«·ÈÉþ¿²¯¼ÅÉÆ½¬§ÄÐÐÌÉ¿»ÆÎÌÆÀ¼²¾ÉËȽ­°ÉÏÎÅ»²©¶¾¾²¸²«»ÆË¼¤¯ÂÑÑȾ²±¼ÈÍÈÂÁ³±ÅÑÓÍȵºÌÒÒÍȾ½ÐÔÔÌʾ¿ÑÔÔÐÑÀÄÏÕÕÑÀÓϾÍÒØÖÕÕйÈÒÖ×ÚÕÓÉÄÖÙØÚÖÕ×ÚÙÚÜÜÛØÙÙØÚ×ÙÖØØÖÖÕÒÙÚÙÛÜÛÛÙÛÞÞÝÝÜÚÚÛÜ©ÝÜÛØÝÛÜÙÚÝÛÛÞÙÜÛÜÚ×ÝÞÜÜÛÞÜÝÛÚÚÛÛÝÝÜÚÙØØÛÛÚ˜ÙØÚÜÛÚÚÜÛØÛÚÜÜØÛÛÚÖÛÚ×ÕÙÜÚÚØØ×Ø×ÙÙØÙØÙÛ¢×ÙÖØ××ÓØÜØÖÖÙ××ÙØÕ×ÖרÜÛÙÙ×ÓÔ××ÕÖØÔÍ�þ «£¡—„‘š¢˜‰|z‡œœšŽ~ŠŸ¡™‘”†ƒœ¡š’~z™¨©¡˜Žš¥¥œ’‚’¡ ž–Ž}›¤¥™†{…Ž’†Œ…€›¡š’t”¦§›’ƒŒœ¡Ÿ–’†„˜¥¨¡˜†‹ž¨¦ ›ŽŽ£«¬¢œ‘¡¤ª¥¦”–Ÿ©¬§”¨¢ ª°®©©£Šœ§­³³¯«Ÿ™±‚®®²Ë±±²³²±°°²±°©®¯­®­¨µ´´·µ´´µµº·¸·µ·º¸µ·¶¹º¹º·µ¸¹»¾½½¼½½··´´¶¹··µ¶¹½¸½¼º¼¼¸¹¼¹¸Õº¶´µ³±´µ·º¼¹º¼Á¼»º¹º·º¼·´¶µ³µ¸µº»¸µ¶´µ½·µ¹¹¼¼½½»¼º¹´¶²²¯·¹º¸³´µ·µµ·º¹µ¹º¹¹¶¸º»¶¶¼¼µ¼¸´¬�ôôðêèÛÏâêêéâ×ÇÛíðíëæÙáêïïåäà×åðòïëרäðóïïääíôòîééÛåðóôíéÚÝîôõìååÓßéëèäãÝáâëêèÜÞëðôòëèÝêéñòïëåãèôöôñåÞó÷÷ôóîãñöøöòíÞîõö‹ñæó÷÷öõöêëö÷„ëåôö÷„õôêõø‚÷÷ø‚ùøù†÷ø÷øø÷ ø‘ùùøúùùúù÷ùøùøùøùûùŠúûùøùúúùúûùŒøùùúùùøùùøùùøùø÷øø÷øøùöõ÷øùúù‚øúøùø÷ø÷øƒ÷øùø„ùøøùø÷‘ö÷ø÷÷öõö÷ööø÷ö÷÷ø÷öó�þÏÊÃÁ±£¹ÂÁ¿¶ª±ÅÈÄÁº«´¿Çȸ¶³©¹ÉÊÇ¿©ª¸ÊÍÊÆ¸¹ÅÎÌÆ½»­¸ÇÌÌļ©°ÆÎÎÀ·¶§³½À»µ´¯´¶Á¿¼®±¿ÅÍÊ¿¹®¾¼ÈÊÄ¿¹¶½ÎÐÍɹ²ÌÔÓÎËöÉÓ×ÒËñÆÒÔÓÑÊ»ÍÓÕÔЯÒÁÅÓÕÙÕÔÓ¹ÎÒÕÖÖÒÌ¿Ñ×ÙØØÖ×ר××ÚÛÚÖ×ÚÙØÔÖÖØÖÖרØÙ—×ÛÙÚÙØÝÛÜÛÚ××ÚÜÚÜÙÚÝØÚÚÜ’ÚØÚÜÝÝÛÛÚÙÛÚÙÛÙÜÛÜÛ¬ÙÛÜÙÚÚÝÙÖÚ×ÛÝÛÚÕÒÕÙÛÚÙÛÜÙØÛÛÜÚÙÙÛÚÖÚÛÙÖרÚÛÜØ°×ØÚÚÙÚÜÚÙÙÚÙÛÛÙÜÙר×ÓÖØÕÖØÙÔÕÖÕÔÖÕÖ×ÚÛ×ÕÓÔÔÓÕÕÖ×ÐÏ�þ¨£™—‡y˜—•‹~rŠ ¡œ™Ž}†“œœ‹‰ˆ ›’~|¡¨¡˜‰™¤¥ž”‰œ££™}‚™¢£–‹ˆx…‹ˆ‡‚‰Œ•“‚“˜žŸ”šœ•Œ¤¤ œŠ…¤­«¤¡“‡œª®ª –„𢥦§ “ ¥­©¦Ú¨—˜¨®±­ª©”‹Ÿ©®­®¨¡“ª³²°®­®¯²²°±´³²°µ³±««©®¯°±¯¯³³´¶¶µ¶³³º¶¹··²µ´¶´¶·»º¸¹·¶¸¼¿»·¹½º·º·µµ¶µ¸¹±¸µ»¼ºº¸··¹·²±¸¸´´µ¶¯°±µ¹»¹¼»½¼»¹»¹¸º¹¶¶¸¶µ´¶µº·¶³¸º¶«¸º¶¸½¾»º¼·¸·¶²´¹·³±¶¹··³°³¹³µ¸·¶¹º¼¸³¹»¹¹¼·­�óíéêæÝèñðëäèÞàíóòïìáåïïòðëåàçðòïëäÑéóôóïëäðóôðìëæãëððîåáØëóóíáÜÐÛæéççÞÖáãæéêÝÕçêïïéâÖåéíñîëäÛçðõóîéÙî÷÷õñîØìó÷õôóàìôöôàìô÷ö÷õñéõ÷÷öóâïõ÷øö÷öíð÷÷øø÷ø÷ øˆùøôöù÷öùøƒùùøùƒúùùø…÷øûùøù‰úùøùûùøùûø‚ùùøù ø÷‚øøù…øøùøø÷ø„ùù÷ø÷‰ø÷øùø÷øø÷ø‡ùø÷ù÷öö÷‚øø÷‡ööøøö÷ø÷ƒöö÷öõôó�þÑÇÆÂ¸ÃËÍǽ÷¼ÊÒÐÌŸÀÌÌÐÏÄ»¶ÂÏÏÊú¥ÂÑÒÍÈùÈÎÑÊÿ¸µÁÉÊŹ²«ÃÌÎó­¢®¼¿»»°¨µ·º½½¯§ºÀÆÆ¾¶¨·¿ÂÉÅ¿¶­¼ÈÐÌż©ÄÓÔÐÊÄ©ÁÌÔÓÏÌ´ÁÎÕÒÐ̳ÃÎÔÕÔОɾÐÔÖÕÓÓ̵ÆÑÔÕÔÒÐÂÅÕÖÖ×Ö×רÖ××Ù׊ØÙÖÐÓØÕÖÛÚÛ‚ØÕסÙÚØ×ÚÙÜÙ××ÙØØÖÛÜ××ÚÛÜÝÙØØÙÛÚØÙÛרÚžÙÛÛÜÛÛÜÛÜÜÚÜÚÛÚØÛÚÛØÚØÖÔÖØÙÚØ×Ø™ÛÛרÔÚÚÖØÛÙÚØØ×ÙÛÚÚÙ×ÔÚÚÙÛ‰ÙÛÚÚÛØÛÜÛÖœÔÔÖÖÕÖ×ÕÖÕÔÕ××ÕÔØ×ÔÔÒÔÖÔÖÕÒÔÒÑ�È«¤¢š’¤±©¤—œš«µ®ª¢“¤¦©¥Ÿ”‘ ¯ª§œ‘€¯°©ž—‘¤¨ª¦–Ž˜ ¢›Œ…~•£¤šˆtƒ“‹ˆ}y…‹þ{Œ–š—‰|Œ‘’š•“Šƒ‘Ÿ¨œ—~›¯­¦•{”£®©¤Ÿ†–£¨§¥ ˆ˜¤«¬©¦Ÿ“¥ª¬­ªª¢‰š£­¯«§¦•¡°°³²¯­¬¯°²±²²°²±³³±¬£¨±°¯´²±¯±°´µ¶¸´¶¹¶··¹µµ²¶²³¸¼¸¶¹¸´µ¥¶ºº´¶½¶´¹º¸¶´¹··¸º´³¹»¸ºµ´¶·µ¯²¸¶µ´µ·³„´·¸¹ºÄ´µ¸¸·¹´¶¸·³´²³·´¶´¸¹´¶µ¸¸¶·´·»º¶¸¼º¸»¶°´¹¶´·¹º¶ºµ¯²º´´·¸¹¹¸·²²·¸µ·¹µ®�…¯­¯±°¯ª­±¯¯²²¯®±²µµ´´±²¹·»¹´¹À¿ÆÂÇÀÅÀ½ÊÔ×ÐÑÕÝåÝåãäÌßáãóöîéêæêïòóîôåìëïñòòâìèðòîïâæîñõôíîâãðøùòïãëóøøõïåÚòöùôòçßóöõóõãÜòôõöôôåíóõ™òòãæñö÷õôóñçôöô÷ö÷öõ÷÷ø÷ø÷„ø÷÷ù÷ø‚÷÷ø‚ùùøùø”÷øø÷÷ùø÷÷ø÷øøùûùøùùøùƒøøùø‚÷÷ø„ùùøø÷ø÷ø†öøø÷ø÷ø÷ ø÷ø÷ø÷ø÷øùøø÷ø÷÷ø÷øø÷ø÷ö÷÷ø÷÷ööôöƒøøö÷ƒööõöƒõööõó�þ¡ ££¡¢ ¡ ¢¤¢£¦¥¢¥¥¤ª©¨§¥ª¥¨­¬«¯«®ªµµ´¨§²½¾·¹ºÀÈ¾ÆÆÊÄÁ»¼ÁÐØÑÉÆ¾ÆËÔÖÌÕ¾ÅÅËÌÏ˶¿¿ÉÌÇ˸½ÇÌÑÏÇǸ¹ÈÕÕÍÆµ½ÎØ×ÐȺ®ÌÒØÑÍ¿µÎÑÔÎл²ÌÏÏÔÑΡ»ÅÎÔÔÓÏͺ»ÊÓÔÒÐÍʼÍÕÓÕÔÕÔÓÕÓÔÔØ××Ö³ØØÕÓÔØÕ×ÙØÙÖØÚ×רØ×ÙÖÖרÖ×ÖÔרÖÔÙÚÖÕרØÙØÛÚ×Ö××ÛÚÙØÚ£ÙÙÚØØÙÚÙÚØÞÜÚ×ÛØÛÙØÕÚÙØÖÕØÙÙ×ÕÕÖÕØÙؘÕÚÙÕÕÙØÚÚÛÖ×ÙÚØÕÕÖ×ÙÙÛÚÚÙÚÙÖÜÜÛ×Ù×ÕÕÖ×Ô‚ÖÔÕ†×ÖÖÔ×ÙÔ‡ÕÖÖÕÕÑÔÕÒ�Ÿ‰‹‰†‡ŽŽŠŽ‰““‘Ž’“™‘’“˜Š—œ”›û𡔉‚Žž¡“••¤—¤¡¨Ÿ¡™š–¯»­¨©¡©®³º©°š¤¡ªª¬¯—¢œ§§¢¥’–ž¤«¦œœŽ¢±³¢šŒ›¤¯­¥š‹ƒ «´§¡‡¤§ª¥©†¡¨©©¦¢—¢ª¬©¥¤Žž¨®©¨¡ž“«°¬²¯®­§«®±°±¯Š±¯°¯¯««°³´³»¬­¯°±¸µ²¶·´´¸·µ³°³³²¶·µµ´²¯´²·»¸¶º·¶¹¸·¹¸º¶´µº²°¶·¶·´¶¶µ³®²¶Š¸¶·¶¶µµ··¸·Æµ¶±´··¹¹´·¶³²µ²¶º¸´´³µ²¸²¹º·¸´··¶´¶¹·µ¹¶²³¹¶µ·³±¯·µ²²»´²µº¸¶±²¯µ¶³¯´·´°­������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/images/flower.rgb������������������������������������������������������������0000644�0000764�0000764�00000601000�11533026402�017263� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ú������������ÿ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������  d•œ’†„†‡Š—˜š™™žž˜•˜–“Œ‹“˜–“’––•™š–‘“ދޒ™š1,W?]hs~‡Y! $*/.53:IWŸ³¶¸¹¹½»»¸µ´´³³²¯¦˜uQ>8=JROB>+##%."-F!  #"1>E=4…‹r#5/*+%"  ^ª°©£¤©¯¦©®µ¸º½»¼¿¿ÀÁÀ¼¸··°¤¦ª®´¶¶±°­®³²°®¬§§¦ž¤¥¯­Ž……‡wvx€‚’@ !**(,167>GCJLVx·ÁÅÇÇÉËÉÉÇÈÇÄÆÆÅǾ¦bKMX]bWQ@5"'/6IC- )'N//"(%.<XT3:[‘œ€*N5130*&“²³­ª®¬§¨«±¸¿À¿¾ÁÃÆÆÄÀ¼º»µ°¯³µ·¶¸ºº¹´¹´²®®ªª¬§¤¦¨¯±¦™”‘‡„‡‘›{#/::;9>AAHNMV[`s—ºÍ×ÛÞáäääâååäåääéäÕ±|dnw|vqcL4" !# -Kclortmi]VGFHIJDK]st|…ˆŠŽŠ……‰”¯«¹²¸¾½°ž{M);Wd[F*    ^ª¸·­®¥¤«®±»ÀÁ¿ÂÄÃÆÃÀ»µµ¶¸µ®¯°±µ½»¸³µ°³©§¬©¥¤¢¡¤¤¥¤•“‘Œ‡„Œ••X '78;;9?:GDJMVUZez»ÐÝäèéëìêîîíîïñïìáÇ®™v{~zwcN8) %(! <\qtxyxvpi`]^W[Zer‹“–––›œ–œ©¯°»ÃÆÎÒÔÖÏ¿ž}ao„†pJ#   †³¸´©›•¥©ª²»ÁÀÁ¿¾¿Á»·²³´µ²©«¥¦­·±°®ª§­©£§£œŸ™–—œž–‘Œ‹†‚{„‘ˆ="4<AB;A?@BLIRMY_c{¾ÓáéêîððòðïðòóðíäÔÀ«ˆ}…‚wbH3!#)$!%H\mvy|xund``ZYYbo|Ž•”™˜››š˜Ÿ©±¸¾ÃÉÑÔ×ÚÔÆ¨ˆh<   Y¤µ¯«Ÿ–—Ÿ ¥«¶½¼ºº¶º»·¶³¯°´³¦££§§­®­«£ Ÿž¡ŸŸœ˜“‘”•––’‹„‚zso~r4#/>>DC>B?BIKJIT[coƒ£ÅÝéìðïïðòññòñðìæÙ̽¯‰‡‰††~q[B&&# 3Perz}zxpjgb`^\anx‡”•š˜–›ž›¤±¶¼ÁÅÉÔÖØÛ×Ȳ–™•W2  $Н±®¦¡¡Ÿ ¢£©µ³²®°¶·¹µ°±¬±´§™ž£œ¦©ª©Ÿ™—šœ˜—˜“Ž‘‰ŒŠˆ‚‚}sks~‚S="0ADGHBEDFHHHLP[dls‹®ÑãëíïíîðñïððîêåÝÔÉ»©”‡Š‡…ƒ|kR=$+'%#!%@Tdv}|vqjda`^]Ucq”–––——¦®µ¼ÂÉÎÓ×ÚÜÖǶ§ŸœŽnK&  I¡³´¨¥¡¢¡›™• ©¦ §±´µ°´¯®®ª¤—™™š §¢¡–•—˜ œ””’Ї‹Šˆƒƒ††„ƒ…†„vtvzy7 $#$*;AEKFIHGFNMMRP\ght‹±ÒáèëëìíìêìêêéåàÚÎõ¤‘Šˆ‰ƒ~vaP:&"&*)&"(=Okqzvrlfc_YSRYct„•–““𦬵·ÀÉÐÒ×ÙÛÓñ£’yS/  ˆ±¶¬¨¥£•‰Ž™›§±²¯®®¬¬¤ž—˜›™œ  ž—••–š“Œ‹ˆ…‰Œ‹‡ƒ€ˆƒ‚ˆŒ‹†}zz{s.&*+&%2DLHHKIIJOPNTS\chnuŒµÔãèêëéèéçéçæâßÚÒË¿²›Œ‰…‚‚taM3" %.0..)"$%<\fmuqkf`[NVUQXar„Ž—–•–˜£¬·¸¿ÆÎÑ×ÚÚ͹¤š‘a@   U©·®«£š”ˆ„ˆŒ••˜Ÿ¥¨©¦¨¨¥šš•—š–˜›™™“”‘Їƒ†Šƒ…Š‹‰‹†…‰…††ŠŠƒ~‚ˆi"!#"*DgLOGHNPONKUUYehln}ÃÝçéééççäæäãàÝÜÙÓǺ­™‹Ž‰†‚|m\@( %"13561)-IYblnib`WRUYVU^i~‡‘‘””—¢§³»ÂÇÌÑ×ÜÖ«š‘€nL0   #¬±¨ž“‰Œ†~‰’Ž”›¡ ¢¦¢˜“”•˜”‰˜šš––“‘ŠŠ†………†††‹Ž‹‹††‡ˆ‡ƒ„ƒŠŠQ2vlJFJHIHLKPTTY_cimvŠªÍàæçåââáÞÞßÛßàÝ×ÍŦ‹‡‰ƒ‚|hQ7(  )124:>86-"(BVagedZYRSXUPZary„Œ’˜Ÿ¨´»ÁÃÇÑØÜ盆{oV9  @”©£›‘Š‹ˆ†ƒˆ‡ŽŽ–œž¤œ–“Ž’‰’–“’‘‹Ž‰‡„~|}|€ˆŒŽ…€~}{€†Š:`›L;@CIEHNIJPRWV\fhq{ޱËÓ×ÕÓÓÑÎÍÊÌÐ××ÔÎù¨–Œˆ†ˆ‚}aM6*'2::;;5>DDC+!/HZb`aUROSTSNW^cku{ˆŽ•ž§²¿¿ÄÊÓØÙÈ«‰rcX@+  n ¢—Ž‹‡„ƒ‚‡‰•˜˜”“”‰Ž’Œ‘‘‘ŽŒ‰ˆ{tvz|‚Œˆˆ‹ŽŒ„}xvttvqtz…r2Œ-*;=A@AFCGHKNTS\bip~”­º¿¾¾¼¶·¸·±µ¼¾À¹« •‘‘‹{dK<@@BC;8;=JPL6 *F[b^]SOOQPMQXY^^eo|‰“Ÿ¨³»ÂÄÌÕÛØÅœsaRF3("  =“ ™‘‘…€~y‚‹Š‚‡ŽŒ‘‘•‘Ž‹ŽŽ‰‰Ž‹Œ‹‚‚xyqw}|„ƒ€†…‚|qlloldebr~9$mœV(463:>A?;BEEAJQV`et‡—§©¬ª¬­©§¡•‘— «§¢˜”“–•–’”‹t_TLBC@554@HQRG+-FYfbTOFGLPNMUW\US`nžª²¸½ÃÍ×ÝÓ·‹cQD5-%! r™ž˜”‘ˆƒ|wv†‹„„Ž““”ŽŒ‹Šˆ‹ŽŠ‰‡„~|vvyysux{xv‚„yjeekicZ\apo, ;|—,*42539A;:4<7:JP\ev‚› ¢£¦§¦¢—„nXc}™š™˜–›œšœ—„q\J>;1((3?GSXU=& =S_d[XSE@GLKLOPTUTZ_r†—¦¯»ºÄÐÚÜÌ«}QI<-,&!&     .Š¡˜‘‡}snu{‡‚‚‡“‘’Š‹‡‚‰†‚‡‚…‚}{tzvuoqvzyx~z}tkdfkda]Xhxk\†ˆ%20208433,29DRWam}Š‘šžŸ¢¤¦«¨›†iPXp…—› £¥§¦¦žŽbH4%""&:@LV\]P<%0E_jfWUQMJCGKKLMQURRSgyŠœ­³¹ÈÒÜ×ÄŸf>10'+"$"      jœœ—…wqot{€‚€ƒƒ‚Œ‘‘’Žˆ…€…‚{xy‚|}ywtpnsvx|vz|~{vpogkngd]dkr5l‹Œ $+//10*(0*5CUdlt‹‘—›¡¢¦«®žˆmYe{‰šœ £¤§¨«®¯©¢—‰eJ/!!*:EOV]b_O.?Xde_[RTMKFLMJIQTUSOQ]l~ §·ÆÖÚв‹Q6&$!&!"" !    1‡––Štpuz}‚‡„‚ˆ‡ƒ’’Œ„€‚~~y{uw}€{wvsqjrtzyxvvw}vrijmpjjhfbfV!u›¡2 #'5.222("#<Qg{…‹“—˜›œœ¢§®³£‘{nt„“ ¤¦©¬±±±·®«£œ“z]>)&"3:FNZ^bdaD&.Q\kf\[Z^WNJHJQPQPWRSOWar} ±ÅÒׯ¡r:&,&"# "&$&% #    M“ˆ~unr}‚{€„†€€†ŠŽŒ‚xxxzspwxst|ƒ‰ƒ|{uptlqw{~xw{zwsnmqnmh_YS\tQx¨Ü‰+/441+()NsŒ‘šžŸ ¡ œ™š£¨°´«˜ˆ{‡”ž¨«¯°°²´°®ªª¨ª£“~\:**7<HN[`d`eX@'?`nng]TWYYSOLHOVRVUSONTZhlzŒŸµÄÄ®—`&!%%!!!#   o‡zuwu}{€~zz‚‡†‚€Š‚ƒ€vvoushpwprvƒ‡ƒƒxxxuru{wtzxywwunsndd^SPe0#ˆ¸ß‰#"%+5/,( 'Iw𢣢¤£¢ž™œ¢«¶·¯ ’Š” ¥±¶¸¶µ°«ª¬±µ±´¶©–rQ946>KMXZ``eeU=!!,NnsnbYSZaefdZPPTSUTSQUZ`chju ©¢’•Q### !#!   ;}‚y{|uvzz|€„‡ƒ~‡„~yyxvrvmlillqny‚‡‚|}{{vxyyswwxz{|vnstngeaMSpY/–ÁØy& !!-4+.'!(Hx•Ÿ£¡ ¦£¥ž™›¢°·º²¤™˜«²¹¾À»³«­¯³¹À¿Á¸¡†hO3;DKP\]fffidS3!#':e{{n]VR]inrof[VTTUXUVZ[cccbiwŠ’‹œM,%#""# $   m~‚€€„…zy{|y…‚z}|{{w{xttkleckqov€‚‹‡{yvvyzzuux{€||uuspkgeWL[q*8ŸÄÔq#&+', )At” ££¡£¥¥¡šš¦²¹½´¨£¤¬¶¾ÁÄ¿¶¬¬­°·¿ÈÌËÊ¿µš}`=?HJY\cfjgkh_G( $')0Qr€{dUP\]ns~unfa]XRXUXYaa]dcemƒŠ¡ @'$&#&%%$  &n„Šˆˆ‚wwzz{z}…€}xz}{|y{‚neiipvuy~ƒ‰€|zru{~z{yzy€ƒ}‚~‚wvwtkfb[Vki&[­Ðæu# ###/Hk‘ž¢£ ¢ ššž§º½¼¶±¯±´¿ÊÈÆ¼²¯°½ÀÈÎÒÑÏÏÌ¿ª’qQDKP^]dljotnm[K:(#&047Bkˆ€gWPVapw‚~ytkb[WVY\^]`acfevƒŠ›È¾>0+))$,$# ! F‡…‚~xuywrv|‚{|tx}~}…ynigkuuw€„€{ysps{}z{uvy€~„…~wtpje^]c~B$0E{µÎç‚%"$ #-Gb„šž ¡œ›™—™ ¯½Â¼¸µ¶»ÁËÎÉÁ¼¶º¼ÆÌÐÔÒÒÒÓÔ̸¡ƒ_NMSZ`hmkprppe\K<5:=FLWvŠ‹yaYPQ[mv€‚‚{rk_\]^^^^_^a`gw‡•¼ÙB1120)&$'  q‹ƒwuxssqww~{ws|~}|{wwojoqquw~€|‚xvturtutvqow~~€„|xulk`TXcz|0G_»Ïé$ "! (2@^~•šœŸœ˜—•™¢³Ážº¸¹ÁÈÎÑÆ¾½ÁÅÍÍÐÐÖ×ÖØ×ÕÐÅ©‘l[SX^fjoqlqosm`THGIPR[n…†q\UNQZhv~‚†}xqg]^_`^a\aefm{Ž­Ò×=2.,+("!  B‰„€|yujmqxy~~xy€~yyyzyxrxww}~}v~}€}{xututpt|}~…xuuhjh]V_p‹@4Ueqœ¿Ñë§1!$&#/<CY{˜žžœ™–•™§¶ÀÅ¿¼º»ÃÈÎο¿ÈÐÕÕÖÖÙØÙÝÚØÔÌ»ŸbZ[cgfosqttqkf`WRU[^d~’’ƒj[SOIUblz€~vqkc_]dac]dbht‚œÏÚ΂80(,'$" B*' bˆ‹„{vsmgu{}{{ƒ~~yz~}~ƒ||zv{|‚ƒ„~|wz}{}‚…‚€|{{qjmnmdhf}‡ ;Xotx¦ÁÊî¿J !&-95@Tv‹˜š——››¬¼ÂÅÀ¼¼ÂÄÉÍËÃÂÆÐÕÔØ×ÚÛÝÜÛÞÛÙÖůu_`cfilrywtsrojc`_gmq•’{e]VOPIZjuxzztqrlgdeaeaeeq€˜ËàÞÍ{:3.,%sqdV<) "pˆ„xqnupv{|}}‚‚‡ƒ„„€ƒ~vuv€‰ˆ†‡†ƒƒ}y‚‡‚„ƒ…„wutlnpjb`cd„U8Uotq{±ÂËìÏp"#!.:GYo‡–—˜š˜š«¼ÀÄÀ¾¼¾ÂÇÉÊÆÉÎÖÖÕÖÚÚÙÝÝÝßÞÞÛл ‚lefqpnvwvxwutoaagjp}•—‹ufSQOMJT]nrrrtvwqiee`bdgo~—ØçãÝÕg36.)'|~|rcT@6$ =y‚xomtsqw|}}ˆŒŽ†|‚ˆ‰‡ƒzuvƒˆŒ‘‡‰…ˆƒ~}}†Ž…†ˆ†ŒŽ‡„‚~|tqgcc`Tgx"2Snttm‹µÃÈìן2!$)&7>JYr‡—™—™ž™›¦°¼ÂÀ½½½¿ÄÇÊËÊÍÔÕ×Ù×ÙÙÛÝßàáááßÕů”solpmrwzw|ttrjfhlioŠŸ—‡seSWPKLS]hklorxxysjhhdgiv å÷íçèá`?5.*!# xy{~„††ƒ…scF0 Wxwlntuow{|y}€‹’𕆇‡Œ“Œ„€~„†Š“Œˆˆˆ‚……€|„‹‰ˆ’Œˆ‰ƒzplg`XVpP4Tp}wor¸ÄÆåÙ¿i( $,5AGN\o„“™ž¢¦±»ÀÂÁ¿ÂÀÀÄÈÏÌÑÖ×ØÚØÚÜÞÞàáääââÜͺ›rqpvtwywzzwuoiklnx” —€me\WPQPU[afhlrvzxpjijjvºõýøííòÉ^?.'*# !yuw}†Œ‘””•‹|mXD+ "dwjmptuy}ƒ€‚Š‘’“Œ‰Ž‰’‡†ŒŽ‘””’‰‹‹Ž†…ƒ€ŒŽ‹–“””Œ‹„wnhh]_†,4Vn~~qf£ºÃÆáåÊ­8"(6GJNQWg‚˜œž ¡¤°´¼ÀÀÃÁ¿ÄÂÄÎÑÔÖØØÙÚÛÝßààâèååäßÖÄ­Žxptyxz|x|wyzrqkmoƒœ •{jjba[WWVV^[^fqu}‚ysnx–Úýüü÷ñöô§iP9(*##|}ƒ‡Œ’’•”—“ŒŠ†weI- )ksrpty||ˆ‘’ŠŠ‹ŒŠŒ“”•™™•‘Ž‘”’ŽŒŒŒ“—”’ŒŠ•›œ’‹‰ƒzsqjcqh'Ki„€ml“­¾ÅÈÚèÌÄl&)<JORS\nz‰”š›ž¢¤§¯´½¿ÁÅÀÀÃÃÅÌÎÒÖØÙØÚÜÜàßâãèæååßÛ̵œƒswu{vy{ƒ{{zvssns‹ŸŸvdc`bZZRSW\X\hpw„…ƒ~§Úøüýüö÷òÛ‘r_H3$"!‚€‡ˆŒ‘’’ššœž ›‘„p\I>6&Dy|wu{y~~~‚‰‘’””Ÿ™’’•–˜˜œ›™—–‘’‘–’”•—•”š˜“‰‘˜ Ÿšš–‰‚xrojj‚<8^|‰…wjxŸ³¿ÅÇÔæÎ˨8$2EOSU_ivy€Ž•𡍬®°³»¾ÅÅÅÂÃÅÇÌÎÒÕ×ØÚØÜßâáâãææååãßÔä‹zy~~~€‚‚}}|wss|•£œ‡qa`dba^XU]Z\^lnx€‡ŠŒ“·Öðûýüüúõé±saD-„…‡“””—›Ÿ¡¡¢£ŸŸ›Œ{ieaXI/^~|}{}„ˆ“”™™˜Ÿ»Ä¤–™—šœ››š—–”—”•”˜™š–—›¦¤¢™šž¢¤¡¤ š–†zqkgy€-Tr‡ŠƒpX†©µÀÆÈÔéÓÌÈx(#4CKQWZfmurwŽ–œ¨¯³²º½ÀÆÆÄÅÂÆÉÈÌÏÒÓ×ÚÜÝÝÞßààâääãääØÇ­•…~€}}‚|xxs†œ –€mc]_`^`XYY]abgnx~ŠŽŸÄÕîûûûüü÷ê¿–ŒŠ‚u`@#‚ˆŒ’–•›œž¤¡¡› Ÿ£›’{oz…„u[Du‹Š|z~‚…Œ”œ™˜Ÿ¥ž¡ ¥¡¤¢¡¡Ÿž•“—™—––š¡£  ¥ª°³«¨©§«®ª©¨Ÿ—Š}ohoU9`{‰ƒwdW“®¸ÀÅÉÏé×ËÊ´G-5>LLTZdhmlhkxˆ—œ§°·¶½»ÁÇÇÅÇÆÇÊÊÌÍÏÓØØÛÜÛÝÝÞààåååãßÚйž€ƒ€„~ƒ€……}{|{”¦¢”}jb_^aaa^[aba_gsx€¢ÃÌêùýûüûúí»“Ž…z_=& !%‡Š’“•—šŸŸ¤£  œšœœœup‡“™•†qm‰“…€‰ŒŒŽ‘ž£—›¢¡Ÿš¥¦¦¥§¦¡ž›š›œŸ¢”›¢«¸²¯±´µÂÀ¹²±µ¸µ¬°¥ ”Žˆplƒ•%=bxzkVaŸ±¹ÀÅÉÔòßÍÌʃA>EIQ[`ghd_dfsƒ˜¤±¸¸¼ÂÆËËÊÉÍÊÈÈÌÌÎÓÙØÚßáåÞßâßâáäáßÜÔ¾¤‘„ƒ††ƒ†„Š„}{|„ž¨£sqd]`iidfcedjhjr{†¥ÀËáúýüüýüñ¼‡ˆˆ’ƒweI-""%-5?Ux{ƒŠŒ‘—œ  ¢¤¤¢žœ›œ –†tw‰’œ›™Ž†Œ›ŠŠŒ’™›š–𢧡££¨¨  ¢¡žŸ  ¢£¡œ¥¨­¼¸¸¹»»Á޹º¿¼²±³ª¡•Œƒyuu•j8\npk]Bx¨¶¼¿ÅÊ×ðãÍÎ˺VDNMV`dcb\^djnwŽ”Ÿ­»ÀÃÃÉÍÎËÌÌÊÈÉÈÌÐÓÕÚÙÛÚÜßßâáãâåßÞÞÙÈ¯šˆ…ˆ†…‡†ƒˆƒ|~¥­ †pmc_`dhfihhelnkr‚¨ÆÑéúýüüýüõÐ’‚~}ƒ‰Œ‘Š}hPA1036HQ`qy||€…”•˜œŸ£ Ÿœœœ›”‚}†‘™š›—™’š—”ŒŽŽ’––•¦­§¬¥¨£¡£¢§¨©ªª§¦«§¬°¬²ºÀÁÀ¾¼Á¾»¼¿¼¹µ¸¸®¥–‰{pkz§:*I[XSLBŒ¯·¿ÁÆÈÔååÐÎÎÎQOVUb_Z]^dgnqxŠ“œ¨½ÄÆÌÏÌËÍÍÌÌÊÉÊÈÏÓÖÛÛÚÚÜÝàââââßßÝÞÚλ¡ˆ‹‡‰†‰ˆ‡„ƒ‡˜­«™ƒpjc`beleifjhilq„­ÇÔêúþýýýý÷â®{wy‚†Ž’’‹„tfWNLPWat}}}}‚†ŠŽ”•›œ›—•˜›™™’“˜Ÿš™›š›”“›”‹ŽŒ‘””” ¨«¦«ª§¥¢  ¨«®®«­¬­¯´³´¶¼¹¼»Á¿·´º¸···µ¹¼µ¼¶¯¨šŒ€pl‡ 4ED?4H¡²¼ÀÁÅÉÕåíÔÐÎÍ»f^k\\WV[aglsuw…•š¤¿ÇËÎÏÍÍÐÎÌÎÎÌÍÏÒÔÖÙÚÛÜàáááááßáÞÞÝÙÓª™Žˆ‰ˆŠŠˆ††‘¢®ª–‚sjfbcknolnslos…¼ÏÚîüýýýýýúíͯ–xuuz†“‘‘‡zrihegiu€uv|‰ŽŽ‘‘––—•‘—š™˜™šœŸ›˜––””˜£œŽŽ‘””••Ÿ¥§§¬­©¦¥¤Ÿ¥ª®¶¶µ¶²«µ»»½½°¬¢¥œ“~€Ž›¢£«»º¾½¸¶©œ’upŒQ   ,-&&X«´»¿¿ÄÉÕäêÕÏÏÍÍ–d_d^Z[fipmvx|„—¤»ÉÍÎÍÌÎÎÏÏÎÐÏÌÐÓÔØÚÛÜàâââààßßÞßßÛÙÓů¡”‹‹ŽŒˆŽ™ª­¥‘€skjjilkmpssnu‹ÃÖàöýýýýýüüòÚ˵™„zvory†Ž“•‘ˆƒzsqfmqswy†ŠŽŽ‘‘‘ŒŽ‡Œ–––——˜œ—“•“’˜ž‘“•™ž ¢¨«ª¬ª¬§ ¤¦¬¸·¯«£˜•™Ž‡wfgbjfZQCEN]dx¹¹¾Á¿µ¥›‘}{v…)  "v±¸½¿¾ÄÊÖçðÙÐÏÎÌ¿mib`filrpuuzz‚™£»ËÏÌÐÏÒÑÏÐÒÑÍÐÑÓÖÖÝÜßááäááÝÜÝÛÜÛØÚÖɵ¤—Ž‘‘‘‹‡• ¯¬‚yqmlpqpqsurtŠÎæìøýþþýýüûõØÅî’‚ytmsux|†Ž’‘‹†€odRG|{~†ŒŒŽ‘‘’’‘‰‹ŠŠŒŒ“”••““‹ŠŠ‡Œ‹”—™–“‘–›¡¤£¬ª¦£ž—”‰‹Ž…}wvtpxmenjhgijbPI>4GII@OL[qˆŸ‡nTZ\p~ˆt  +¶»¾ÀÀÃÈÓåîàÒÐÐÍË©sdagppnttwz|}€•¥ÀËÏÏÑÒÒÎÏÑÓÑÕÕÓÖÖÙÛÝßáâãâáÝÞÝÛÞÙ×Ú×ο©œ•””’’“‘’›ª³©œŠunoosurwx|y‹ÌôõùýýþýýûýöÞÀ½·¡‰ysstspryzƒ†ŽŽ‘‹‰xaF2~€„‹–•”’ŒŠŠ‰ˆ‰Œ’’Ž‹†ˆ‚…„„€s–¨¥ž”‘˜˜›¢Ÿ’„‚‚wsw{{~{{yv{xtmndlkqmh[TIC=;@@;9579:6851/..3T| K    C£¹½ÀÀ¿ÄÉÕçðàÓÒÑÏÍŃfiptvzvuw~}€‚‡ŸÂÌÒÑÐÓÔÔÒÒÓÔÔÕÔ×ÖÚÞÛÞßãààãàÝÙÙÚØ×ØÖÒűŸ•—”•”“””§°²¦›‡}qrmqrqtxz‡Ìôúüýýýýüúýùß½¹µ¬š„yvxtpqqrr{†ŒŒ”€lZ?y|†‹“˜•‘’ŽŒŒ‰‹ŠŽŒŽˆ‹‘‹……~~}„|fs®«¡˜—”™–”„}qoy~~xvyuz{{xvlhilmjgpm[LPCCD697,,%*/,...'+""#*Eoˆ  `¯»¿ÂÀÀÅÊÐåñäÝÙÑÎÎ˨nptxy}wqpu€„ˆˆšÀÌÑÔÔÓÖÖÔÖÕÖÖ×ÖØÙÚÝÝÝáßáâäáÛÚÖÕÖÖÔÖÒÆ¸¨—›—™™˜–˜§·¶­Ÿ•‰yhgoqvsx~ƒ‘Ò÷ûýüýýýüøúú溱±¬ ’wusttsknprwz‚ˆ‘””ŒoW|}„…Œ‘“ŠŒ‰ŠŠŠ‹ŠŠŒˆˆ‹Šˆˆ…†‚|}zzƒw^Tƒ¬«Ÿš–‡ofhmjoovvuuvsvtvqk\Z`jec`c^Q?=<E?76.!!#$%*)'(#3T5   )y³½ÁÁÁÁÄÉÓéïìÙÔÓÒÐÍÈw{}~|xpt€‰‘‘™¸ËÒÕÙÚÛØÙØÚØ×ØÕÛÚÚÜÞÝáÞáããâÞÛØ××ÖÔÔÔɼ®Ÿ ›œšš™¢°¼»«œƒuefmssvƒŠ§äøùüýüûü÷ö÷ù깩¬©¡”…{vxtqumnpnmnpw†‘Ž‹‚t}}……ŽŽŽ‰ˆ„„‡‡‡‡…ˆ‹Œ‡…‚‚~}€~z~{}ƒm_Q]Œ®¥žšƒjc_[^]\bhjqwvzwqljjiffda^QLLMK8,//2''# "#,-&+"!!<T  :—¹¿ÁÃÂÁÄÊÐæîíÛÓÒÑÑÏ熄ƒ}ysuƒ”Ÿ›«ÆÔÔÛÚÝÚÙÚØÕרÙÛÚÚÛÚÛÝÛßâæäáÜÚÚÙ×Õ×ÕÏ¿²£œŸ žž¨´À¹¥“ˆzlfipwv€²ëø÷÷÷÷øùöòô÷í» ¥¨§š|uvwuknonqllijmu€†Œ‰{|€ˆŠ’„‰ˆƒ„‰„ƒ„ЉЀ€}z{~yszxyr‡ƒg_kžª›a[^TVNOQX\egsyvsnhlkhhe_bULQIFD=' ($ !"')(!! %K:  Wª»¿ÃÃÁÁÅÉÍãïîàÖÓÒÒÐÐɛЉ„~}|ut€˜§©¢³È×ÜÝßÝÙÙØÒÔÕ×ÛÝÞÛÛÜÜÜÞáäãâÝÛÚ×ÖÕÕÓÏ·«¡¢¡¡¤¦µ½À°¡Œunjou|~ŽÅõû÷óõöõööñïôïÄ–Ÿ§ª¥“‚yrvsuutsnjkokjkoqy„‰‹ˆ{}‚‡Ž’Œ…ˆˆ††…‚„‚~yx|{wvvxtvtur® }r’zh_ZSPI@NPSTXa^bfmjbkjfe]XRJEADEB=,&&#$" %'K   !€´¾ÁÁÂÃÂÆËÐãññâÖÕÔÔÔÖÏ·–ŽŠˆ…xv…š¨²¢‘¬ÉÚßàÝÛÚØÕ×Ô×ÛàÞÝÞÜÙÚÚÝàâßÝÝÛÙ×ÕÔÒÍɾµ¦¢¦¤§ª¸Ãº¬š‹‚woisy‡¨ãüùöóóòóõóóïïìÓŠ‰—¤¤›‹|xusuutrnqmprghjihlsz~ˆˆ„‡ˆ‰‘‹‹Œ‰‡‡ƒ…}{vwxwxuvwurrwrn{››‹€shlcWNB?DFHRX]^fflikeih]ZUXQLDKDD<0/'#%"#;<  6ž¹¾¿ÀÂÄÂÆËÐäïñä×ÕÕ×ÕÕÒÉ£ŽŽŒˆ€Œ•˜¦»±Š} Ã×ßÞÙÚÙØØ×ÖÙÝÝÝÚÛØÚÚÛØÛÚÚØÖÖ×ÓÕÓÏÌÁ²ª©«¬§ª¶¿»©—ˆ{rqy„ Õúýúôððòñô÷÷ììíâ—yŽš “xsqvq{qroqppilildffemr}€‚„‰ŠŠ‹ŒŽŒ‡‚ƒƒ‚|z|{}uttvxuurrpstqh¨««¦Ÿ™—”†{mc]Z]anksy‚Љ„…ƒvi`Z[SPNH@73-($"!%D(  W­¼¾¿ÀÁÂÂÅÊÏàïðèÜÕÕ×ÕÕÓÑ·˜’’“‘Œ‡Œ”ž¨Á·‘Œ¯ÓÝÜÙØÖÕÒÑÔÙÛÜÜØÕÓÖרÙ×ÚÚØÖØ×ÓÒÒÐÎĶ©ª«ª¥¬»¹´¥•‡{zЬÒôúüüøñîïîøûûòëèéº}tv€‡‘‡~vnnsoorponjmklekcf`[cblrrx~€|€ƒ……ƒ}x{|yvywxwjprtrsnqpqrrm\p©µ¶¶³´¸¹º½»½»»µ·½ÄÄËÚÞãçêñðäÝÏ´žWGB;3-'$#"#.;  #ˆµ¾¿¿ÀÁÂÃÆÊÐÝïñëÝÔÕÖÙ×ÔÓÇ¡•˜›ž˜‘’ž­µÇ¸ ¤»ÉÖÙÙÙÙÕÓÌÊÏÔØÚÛ×ÔÓÕÓÔ×ÙÛØØ×ÖÕÒÎÏÍÍÈ»­¬®©¦²»·­£›Ÿ¨À×óüüýýùñîìíøüüðîéäÛ„vrrpy~{|vppnpotqspmjjlfmdie\c\\jbbghgnoprvsmopsrminijkkfkikkfbjhfle[?lª¼ÂÅÇÅÆÌÊËÑÒÕÕ×ÕÕØÞÝàèìîññö÷ù÷ùùõÞ¾“_?5/*+"# "#!./A¢¼¾¾ÁÂÂÄÃÇËÏÜêñìÝÙÖ×ÙÙ×Öѵ œ¢¥¡œ›¨¾Ä̱¢ªÃÒÕÖÖÕÓÐÐÇÇÌÌÐÓÔÔÒÒÑÎÓÖÙØØÖÔÕÐÐÎÎÐÎÆ½³®­­´¿ÇÈÉÌÐÐÔêùþýþþý÷ñêíõûûðîìåè¥roqkkiqpsptopoorqrnpojhihhbc_]YXdFFNRQW\WZ_^]]a__ZYXTXZWYTVZYVVY]`YWI+!]µÌÏÕ×ÚÜÝÝÝßÝÛÛÞßâàààáàÝàæçéíìêêìëéêæÉ—lM:.*##% !3#_±¼¾¿¿ÂÂÄÄÉËÍÞíòïáÚØÙØÚ××ÓÉ£›œ¢¡Ÿ§·¯‹•¡¸ÈÐÑÔÓÎËÊÆÅÅÈËÍÓÐÏÒÐÍÏÖ×ÖÖÕÑÑÍÎÎÌÏÌÉÁ¼¹¼¿ÌÔÐÍÍÒÚãîúþÿþþþýóîëïøúðíèççÎ~smklk]_YYcgfimnnnsomjjgkffae^YYXU,048??@BHHFIGIDGFHEAFFDCBFEHD@ILMFC1 Q¶ÌÒÚÜãçíòóëâååàäâááäæãàÜÜÙÛÚÛÜààßÜÝÚÚÖǤoL61)&! +5"/…¶½¾¿ÁÃÄÅÆÉËÐÝèñïåÝÙØÕÖÖÕÒÏ¥……„Œ‹Š„sz —˜®ÀÉÌÎÑÎËÇÃÃÃÃÆËÍËÐÐÎÎÏÕרÔÔÑÏÎÍÊÉÎÎÏÑÎÊÇÈËÏÑÖÜâåëöýýþþþþùñîïóúïêçæìäšumlhkaKD=CTZYZ]hinnkigiijigaa][ZVT$$ &.-+510244,13577353+3/1.-/54884- D—ÇÏÔÚâêòôóñîêäâåÞàÜâßââÜÛ×ÖÕ×ÝÛÝÜÚÖÔÒÒÑÊÀ‘W2*& "3;J¤¸½¿¿ÃÅÅÇÇÉËÐÜëïîèàÚØÔÕÔÓÑϼ{ttxxwzwtš°•‹§·½ÅÅÊËÆÆÄÀÁÁÄÇÉÈÎËËÎÍÑÓÖÔÔÑÑÏÌËÎÜÙÌÅÈÌÐÑÕÕÚÞàæì÷ýýþþýþüóðôùöîçæãèç½wnmhgbP+'7:@LU\bjfa`dbefjgje^Za]Y!$" "$ %##""  K“¸ÎÒáæîòõöñìééëêâàÞàßãßÙÖØÕըרÕÔÔÕÑÐÑÐÏ΢c3  +-%n³À¿ÀÁÄÆÅÇËÉËÑÜêïôìçàÙ××ÔÕÑÌ̘tuyz{uxy¬º–ƒ­¶¼½ÁÄÂÃþ¿ÀÃÄÇÈÉÌÌÑÌÎÒÕÕ×ÓÒÒÔ×ÐÇÅÌÎÒÓÕ×ÛÙÞàäèíöýþþþþýûõõøôìèéßåãÜ„pskfcU>-19ENV[YTXZcfhgfc]\Y\[&     5q¬ËÖÞåêíñðíëææãá×ÚØÙØÚØÚÚÖ×רÖÖÕÓÓÖÒÐÍÌÍΠZ0 //0Žº¿¿ÁÂÅÆÆÇÉÊÌÑÙëðòïêâÙÚÖÓÓÑÎͶzq{ˆ†}wz®À¦Š‘£¯±µ¼¿ÁÂÁ½ÀÀÂÂÄÇÈÍÊÎËÌÑÓÕØÚÝ×ÊÇÍÓÕÓÖØÖÕ×ÚÜÝàÞèðúþþþþýýüøú÷èéèßåããªrrtk__H#%)7DKOOPQUaeebb```\WY         .b³ÐÓÚéííéííäÞÙØ×ÕÖÔØÙÖÖÛÛØÙ×ÔÔÕÕÔÓÓÑÐÏÏÏÈ;&##!#%$0$#I©½ÁÀÁÄÆÆÈÇÊÌÐÑÙêòîîíéÞÚÕÓÐÐÎÎÄ…rs…›•ƒz§Â«‹›¨¬²·¼¿¿Ã¾ÂÀÁÃÄÆÈÊËÊËÎÒÓÛäÚÍÊÑÖÖ××Ö×ÚרÚÛÜÞßãçõýþþþþþþýýúïééàâèâÖ†tvyna\C*# $(&+)8:>DEMO]djga`ca[^W[        5ŽÑÔÕØáâåæÞÙÙÚÖÔÖ××ÙÕ×××ÚØ××ÕÖÔ×ÖÓÓÒÑÐÍÎͽd-'#"%!$31j·¾ÁÁÂÅÇÈÈÉËÌÏÖÜëïïòíìäÜ×ÓÒÐÏÎÉ`bk†¡ŸŠ•³”„“£ª¬²¸»ÀÃÁÅÃÄÂÁÄÈÉËÌÎÒ×åäÍÎÔÕÚÝÛØ××Õ××ÙÚØßßèïõüþþýþþýýþýðíîãâåáæ¬zvz|se\<!(,6@89856@GIJR_flica__^]T[ŒÓÌÎÒÕÙÝÜ×Ù×ÙÚÙÕÖÓÔÖÚÙÔÖÚßÖÕ×ÓÖÖÖÒÒÑÎÎËËØ¦uD/(!!'1=“¼¾ÁÂÄÅÈÉÈÊÌÍÏ×èíððóïêçÞØÕÒÐÐÎÌ¿cMV^yšŸ“¸º’x‰ž¦©­±¸»ÀÁÄÄÁÁÃÄÊÊÌÓÕßáÍÈÓÖÛÜÝÛÛÚÛÕØØÕÖÙÞâáêõüþÿþþþþýýúôñîåäèããÒŒ|{~~ylX3'3ENT]YVOPNNXTbcgifadecb\_]W‹ÙËÏÐÔרÚÝÛÜÚØØ×ÖÕÕØÝÛÙØØÝÚÕ×ÙÕÔÓÑÏÏÍÎÍËÊ˽¬˜wkfZF( &&0G¯¾ÀÁÃÅÄÇÇËÊËÍÑÖéïðïòðéèßÙÖÐÑÏÍËÈ‹UPQ_nž¯ºpƒ“Ÿ¥¨«°²»ÂÄÁÁÂÄÄÈÇÒÝáÒÍÓÓÚÛáâÞßÜר×ÚØØ×Ûßàãðûþÿþþþÿÿþûòòïâäèéá姆„wc9)2BR_gqmsqkiggillmikfhegd]`_\!Õ×ÐÑÔØÙÚÙÚÛØÙ×ÚרØÖÚáÙÕÙÙØØÙØÔÒÏÏÏÏÎÏÍÆÅÁÀº³²±°£Œ_,!"(fºÁÁÂÅÇÇÉËÌÌÌÏÓØêíñîïòìæàÙÕÒÒÏÍËÈ©WLMOZmŸªgs†”›¡¥«±¹¿ÁÂÄÃÅÇÊÏÞÙÐÔ×ÜÝáãßÞÞÝÜØ×Ö×רÙÞåèëõûþÿþýþþþûø÷õæèèéäãÍ’ˆ„ƒ€}qH;=N]ity|~zwxwrvwypmnkggbgaZ`^#˜ÖÐÕÒרÙÜØÛÛÝ××ÛØ××ÔÕÚÛØÙÙâßÛ×ÕÒÒÐÐÉý¹·µµ¸¶·¸¸¸·¯’F!.½ÁÂÃÆÆÈÉËËÌÍÐÕßìððîîóîéèÜ×ÓÑÐÎÍËÂmIMLSZkƒ‘¤™|qxŠŽ˜¤®·¼ÁÃÅÉÍÕÞÏÑØÛØÜâÝááÞßâÞÚØÖרÛÛáâèõüþÿþýýþÿýýûùäãæéèãâ§…„ˆ…†‡ƒx_RP\huz|}}}~}~{‚yspllig^`^[ŽØÕÖÙ×ÙÚÙÚßÞÝÝ×ÙØ×ÚÕÖÛ×××ÙÜÝÛÚÔÍľ·³³´´³´´·¸¸º¸º»¸¨k+>©ÀÃÅÅÆÉÈËÌËÍÏÏÙãíïîíêôíèæÜ×ÕÓÑÏÌËÈQUOYY^j|“´œXUXdju‚–£¶¾ÂÄÎÞÚÐãçàããæëåãâäâ×ÚÛÙØÚÛßâáçôüþÿýýýýþþýýúèãçëçæåÒ˜ˆ……ˆ†Š{umfbfgmsttz}„‚…‡‡…‡†„wspik`^_\ŽØÚÝÖÖÝãàáÜæåÛÝÞÜØÙÛÙÜÚÜÚÛÖÕÚŽ¶´²²²³µµ°­±¶»ºº¼»»¹±‚CX¸ÂÄÄÆÇÈÉÍÍÍÐÓÓÜéïñïíìóðíåÞÕÓÒÐÐÍËÈ©URT\\eov|Œ„J8;?GSYuˆ¡²ÃÓÝÚæìòìçíïðîìéèäÚÝÜÙÝÞáÞÞåæñûþÿþþþÿþþþýûìíèëéèâ寄‚‰‹ylgmrogcdknsty‡ˆ‰‡Š‡†…|urpnghb^'™æëïéïïîôïêòñåäçåàÞßÛÜÛÛÚÑú¶´²²³µµ³¶µ¶¶¶·¹»¼½»¼»ºµ˜–ÀÄÆÅÈÉÊËÎÎÐÐÑÖãìòòíïëòóîéæ×ÔÑÐÏÍËÉÅbNT^bnzwp|vJ12,.4?Jaƒ£È×ä÷úùõòóòòôõðîáãáßÞàâáßÞâéöýþþþþýÿÿÿÿÿüððíëîîâáÓž…yx‡r[\fprj_b_cenwzz‚‚††………|tvrnfdc0ÄûüûúúüûüüúýùïæìêåßäáØÕƼµ®°±±³´·µ·¹¹¸º¹º¹¹»¼¼»¼¼¹ººÃÆÇÈÉÊËÍÍÑÓÔÕÛêðôñððéõôïìéØ×ÒÑÒÎÌËŇj}ˆŒŽˆ}xfE/(+)(,<h·áøþþþýù÷üúú÷óéæéææâääàÝàäìóþþÿýþýýÿÿþÿýôòîíëîéãä¼›“‡uu€…|iNP^jtoe\YXXbnsqx€ƒ…ƒ‚†‡„‚}yulfg7èüýýýþþýýþþþþûøöñçêæÎÀ¼µ±¬®±³¶··µ¸¹»º¹¸¸¸»º¹»¼¼¼º¼ÀÅÇÈÈÉËÌÍÏÏÔÖØçñóöõôðéóõñíìÛÖÕÔÑÎÎÍɶ©³°®®¤š–‹‰{S=646>Y«ñþþÿþþþýþþýúóíëîïííêèèåãèïõýþÿÿþýþþþþþþ÷úôõ÷óðååÞ«œ“†vu€€vYHNXcosoeXPPVaejuu||€‚…~€€€~yrkk_ùüýýýýüýýýüýýþüùùâž¹¸³°«¬²µµµ¶¸¸¸¹¸¹º¸·¹¹»¼¼»»»»ÂÇÈÈËÊÌÍÏÑÓÖáãìõ÷øõöõéòöðìêߨÕÒÓÐÏÌÊÁ´¶··¸³¬¢Ž˜™u\ON\ŒØúýýþÿþþþþÿþüö÷õòòóïììëèèíìøýþÿÿþýýýþþýþüýüùûøöêååà—z‚ƒwePILN\hptsfWGKSV_goqsv{~{}~~yxwpi“üüýüüûûûûûûýüýú׿¾»·´±­®²´µ¶¸¸¸·»¹¹¹¹¸¹ºº»¼º¹º½ÄÊÉÊËÍÎÏÐÚÛáìñò÷øúøöóìòøìïíåØÛÚÑÐÎÍËÆ±²ºÅÆÁ¨uqs}{tny¾òýüýþÿþþÿÿÿýýúýùüúøôðôóìððö÷ýþþÿþýþþýýþþýþþûýùùïìç౜”‹†ˆnVKFDJWdhmomaUNFQUV^hnlw{||€€{{ywtj %©øûüûúùúúúúüýûÕ¿¾¼¼»¹¹¶²±±²µ¹¹¸¸¹¹¸»»ºº¹¹¹¹º··¶»ÆÌËÍÏÎÒÏØÞäîóùùúúúø÷ôéôøéíìçÚááÕÒÓÐÍʳ¬¹ÓÛÑ–~ywvy‡Ÿåþýýýþþÿÿþÿÿÿýþþýþþûúúúõö÷úúûýýýÿþþýýýýýýýþþýýýûõìîéÇ«Ÿ“‹”ydXRLNPYY_jmmoiXMHOPU[cfnswwx~}{}xuu *´ùüýúùúúùûüúо¾¼º»¹¹·¶µµ²°¶¹¹¸¶¹¶¸¹¸¹»º»¹º·¶³´½ÈÌÍÏÓÑÔ×âëïõûýýýüüù÷ôëñøêéëëÞçàÔÓÒÍÌÌ»«µÏÙÉ~„‚‚…Œ¹ôþÿþþþÿÿÿÿÿÿÿþþþþþþþþþûûûûýýþüþþþÿýýýüüýþþþþýþþþüóëëÞ¶¦‘Ž’–Œk]\XKOPWZX_fgooiYIIKHTY]ffmswvxwx||{ OàøüúøùúùúøÊ¹¿¾¼¼»¸º»¹¸¶µ´¶º¹·¶·¶·¶···¶¹¸¶µ´±±¿ÉÍÍÎÏÔÛäò÷øüýýýüýûø÷ôìîøîäéæÞåÕ×ÖÓÔÍÌÁ²±ÀϲˆŒŽšÎùûüýþþþþþþþþþýþþþþþüýþþþþýþýýýþþþÿþýüýýýÿþÿÿÿÿÿýþ÷ìèæÆ¶§Ÿ’’š‘y\ZXRNQQTWYXaaekhdTKFICTRY^bipsswuuyx.I†âøúøúûûûí¿À¿¿¾¾¼¼¼¼¼µ¸»»ºº¹¹¹¹º··¶µµ´µ³±´±°¯ÁÌÐÎÐ×Ýíôùýüýýýýýýûøõðëèõèßßæ×ÞÜ×ÕÖÔÐÍǺµ±»ª–——¢Ôôçó÷ûüùûûüüüüûüýüþúýþúýýþþþýüýþþþÿÿþýýüüþÿþÿÿþÿþþúòîëл¶© —”“…hPTZZVSUSUVSVWZ`giYQHKFMKPOXcegprtuvu 3DRcœóùùùùùúýß¿À¿¾½¾¾½»º¸º¼¾¼¼º¹¸¸¹¶·´´´²±±¯®«©¨ÁÎÐÑÖàì÷ûýþþýþýýýýûúôîêåòæÛÙâÕØÚ×ÔÕÒÏÏɽ»¶´µ¤¡±ÛßÜâëììêêìïòòòóôöøùý÷øøúüüüüýýþþþþÿÿÿýýüýýþýýþþüþþüôïéØÀ·´ª£›—ŒnUKMUW]U[SQRPTNNT\ecYJHECADGPWXbhjmsrs 9JYb[\±÷ùùùúúüþ⾿À¿¿¾¾½¼¼½¿¿¾¾½»¼¸¶´µ³³²°²°­§££§ÁÍÕÚáôøþþþþÿþþýýýüù÷óééÞñÝÙ×àÕÖÜÖÕ×ÕÑÒÌ¿¼»·¶µª·ÂÇÉÈÈÈÉÇÈËÏÚçéæëîëîñüøôôóó÷÷øýüüþþþÿÿþþýüýýýýýþýþÿþùñêâÆ¼²°©§£–bSHLOW[Z^UPOSPIMIPZeaPMDDEDCEKSY_ffjks    '9TWYRQQ_¿úùúûûýýüîÍÁ¿¿¾¾½¼¾¿¿¿¾¾¿¿¾¼¸¶´±²±«®ª§¦ œŸÁÔâêòüýÿþþþÿÿýýýûùõôñåàØåÝÖ×ÖØÓÔÓÕÕÔÒÏÌÀ¿¼¼¼ºÆÁÄÆÆÈÈÊÉËËÌÌéêççèçìêïñðñíëíïôøøøûüþþþÿþýýüþüýüýýýþþú÷îéÍù°®¯®¢”|g[OLKUWVW\UVOVIGDNT^_XSB>;BB=?LNSXZ`ei  *@LTUSPSORb©÷ûýýüüýþûâÃÀ¾¾¾¼¿¿¾¾¿À¿ÀÀÀ¿¼¶°®­¬«¦¤¢˜™·Ðõùüþþþþÿÿÿþýýú÷÷ôðëàÝ×áÚÖØÒÔÔÔÒÓÖÖÓÏÍÃÀ¿¾¾ÀÁÄÆÇÈÈËÌËÊÊÊÍËÞæèåæçíêèæçççììðôôøüþþýþÿþýüüüüýýýþýÿþùõìÛ»µ²±¸²£ŽylcVPLRQQX`a`_URFA?PPY`UF:7<?9@BHBLMZZ^ *DTTPNMLLKGLE–íøùïãØË»ÃÀÀ¿¿½À¿¿ÀÀ¿¿¿ÀÁÀÁ¿¼µ¬«¨¥£ ›–²ÅêýþþýþþþÿýýüûöòòîêäÛØÖÚÚÕÖÔÒÑÓÒÒÔÓÑÏÎÇÀÀÀÂÃÆÇÇÈÉÈÉÉÊÈÊÉÌËÎÞåèéççäãááãåçæìðöùùúýþýþýüüüûûûüýþþþüøïçÈÀ¹¯­°¶¯š‡ypjg]TTNQV^fef[XLB<AHR]ZO=899;6;;8ECKKQ  %;GTWQPIFGCHD=25gŸµ¸¶¼¾¾¿¿¿¿¿¾ÁÁ¿À¿¿¿¿¿ÀÁÀ¿¿¹¯ª¦ ›š•“Š‚°ÊÑãúþþþþýýýû÷ñïìêçâÝÙÖÕÖ×ÒÓÒÑÏÐÏÑÒÕÐÎÏÆÂÃÁÄÆÇÏÈÈÉÉÊÊÉÈÉÈÉÊËÙâçåæäçäÞÞãàåæçëóòôüýüþþýüüüûüüúýýþýûóêξ»³«¬°¯¢}vnrod[RQS\ihi[WOE=;CFQYVH:7;7;965<=CJF   3HWZXUOMLPJIIA4*!#4³¾ÀÀÀ¾¿¿¾½½ÂÁ¾¿¾¿¿¿½¿¿¼¼À½¶©¢›™“Žˆ€x¯ÏÑÈÄàúþýüûûøñêèèäßÝÙÙÖÓÔÕÑÓÐÐÑÐÎÐÒÒÐÍÍÅÃÄÅÈÊÍÌÇÉÉÈÉÉÊÉÉÉÊÌÍÑââßßäãáâÞàâàåéæêñõøùþÿþýûûüüüüüýþþýùîÓ±¶·¯¬®­¦–‰„‡€}z{vf\[S]acf\WOA;:6@NZ[[J9:2/8;37;<@=   7O]c[SPRTSQLNE9+$!(^¥º¿¿¿¾¾¼»¼ÁÀ¾¾½½¾¼½¾½½º½½¼¶¢˜ˆue¤ÑÑÊÊÇÈÖôú÷ôïéãßàÜÜÙÖÖÔÑÏÓÏÏÎÏÏÐÎÎÐÑÐÎÍÅÄÈÊÏÏÊÈÈÈÉÈÈÈÉÉÉÊÌÎÎÏÝßáâàÛÚÝÝÞÜÞááâìèíôýþÿþüûûûúûûüýþþýó१²³±µ±«‘ŠŽˆƒ„{ulh]V[]\]`QGB523;MW`YH=<2669<:<98     :MU_XWOPXYXQJJ@6( +V’³»½¿¾¾½½¿¿½»½¼¾¼½»¾¿½¾¿ÀÀ¸›…}vcK•ÑÑÉËËÊÈÈØâÛÖÚÙÚÚÚÚרÞÔÏÎÐÏÎÏÎÎÍÍÍÍÑÏÎÌþÁÆÌÊÊÉÉÉÈÉËÉÊÉËËÎÑÐÏÚáìÝÜÚÛÜÚÜÝÛÞáÞÞäèûþþþþûúûûûûûüýþýùë­’œ§´µ¸­¢–‘‘Œˆ…€spi[VWYZ\TM?8944?HU[ZG<5647=679<      #-.0/0-622)& "?MTURQPNUTUMHI;5$! /9BKn§¹¼¼»º¼¾¾½¼»»¼½¿¿ÀÁÁÀÂÄÅÆº“ƒtjLLŸÓÎÊËËÊÉÉÆÇÈÆÇÌÒØÛØÖÖ×ÓÐÏÍËËÌÌËÎÍÍÌÐÎÌ̾¸ÂÍÍËÊÊËÊÊËÌÊÌÌÌÎÑÓÑÏ×ÞÜÙØÛ×××רÚÚØÙÝéñùþþþÿýúûúûûûüþÿþòË…†Ÿ³¹² ‘Ž”“’”“‘ŽŽˆxra[WS^XRME9:42:DOXaWH8561356749   $!"()00101740'&*%2-8?FCIQMGA8/&')8CA@:8<W’´¹»»¼¿¿¾¼¼»¾À¿ÀÂÆÆÆÈÉÈÉÈ´ŠueYr¡ÌÍÌÌÊÉÉÈÇÇÆÅÃÅÅËÓ×ÕÕÑÎÊÇÆÆÄÄÆÆÆÉÈÊËÌËÌÿÍÏÌÌÍÍÌÍÏÏÏÏÏÏÑÒÒÑÐÏÓ×ÙØ×××ÕÔÓÖØØÙÞäðõöøüþþýûúûûúûýþþ÷Ù“|yª­†zƒ‹“˜——–—•ކvmg]UWTNBC;91/;BHRT_VG8;66;573M<     %&*'381+)22/-/74+  '/62247?HHKC;30/*+:r¥µº¼½¾¼º¼¼¿ÁÃÃÆÈÈÉËËÉÊÊǵ„fh„œÈËÌÊÊÉÇÈÆÆÆÆÃÃÂÄÇÎÐÍÇÃÁÂÃÃÄÄÅÅÆÆÆÇÈÈÊËÃÌÔÑÑÏÐÑÏÑÑÑÓÔÓÒÔÓÖÔÓÏÐÕÖÕÖÖÖØÕÔÕÕÚÝÞãéæð÷ýÿþüûûúúúúüþýꨀxy~‡™—‰mnt…‘˜——–˜˜’Œ‰ypfXYRML>>?778>HNT[^XH?7@>:<5Np<     "!)(11-11=@;<ADA>>'   #>KMQN@;/-&$ ,NŒ¯¼½»ºº»¾ÂÃÅÅÇÊÊÌËËÊËÊÊÈ·~w‹™ÂÈÉËÉÈÇÆÄÆÆÂÂÀÀÀÀÁÿ½½¼¿ÀÀÁÁÃÄÄÆÅÇÈÈÇÉÏÛÖÒÒÓÔÔÒÕÒÕÕÔÓÖ×ÕÚÖÔÑÌËÐÓÔÓÓÕÒÓÓÔÖÝÙáÞåð÷þþÿýüûúûúûýþõÃ…|ttv}…ƒqa^hyˆ’–˜™˜—“Œ‰…}ujd^UOEA9?>@:>CGMOT[SJDHDA6;3Žw"  "'1-05/7:BGIQSTWTNGC4+'"%>RWUJ;1+&$!*+2,*+#:›¾½º¼¼¾ÁÃÅÇÈÉËÉÍÌÊËÌËËÊȹ•‘˜ÀÈÊÊÇÈÇÅÃÄÄÀÀ¾½½º¸¶µ¶·¸º»¾¾ÀÁÃÄÆÆÆÈÈÇÊàæÞÕÙÙÜØÜÙÙÙÙ×ÕÛÜØÚÚ×ÑÌÇÉÏÓÓÓÔÔÔÓÔØÜÙÞàèìöúýþýüüúúûüýù׊zqkx}ytcYZYkw‡•—˜–”‘ˆ†}{xmaSK::;=?>@>9@FKOR\VLNEE6>m™N  )$069BDJWRXU[TOIIC<:7+*:K^\PC8.' )0:Q{mbS=1B«¼½½¼¿ÀÃÆÆÉÊËËÌÌÎÌÎÎÌÍÎÌɾ™˜¹ÇÇÆÉÆÅÅÃÂÀ¿¼º¶´®¦¦¦¦§ª®±´¸½¾ÁÂÅÄÆÇÆÈæððçåèëãæááäãÞÚÜÞÝàßÝ×ÐÊÇÇÇÍÏÑÓÓÓÔÔÓÔ×ØÞæíòùýÿýüüùúúýüâ—vwwrpu|}o[VWYZhu€‹‘••””Œ„~}raVH6277=9>=>@AEGGTf_XN?AB (|b80   "  =;Q`UNE72("% ").2BdXG=63c¹½½½¾ÀÃÆÇÈÊËÍÎÏÎÎÏÕÐÎÐÍÍÍÆ·¦³ÄÇÛåÑÅÃÁÀ½·²©“}{x}~z~†“–›¨¯µ»ÀÂÃÆÆÆâòöôòôôðòíêïìíåâßæáãÞÙÖÏÉÅÆÆÉÍÑÒÐÑÒÒÑÓ×Úáâæðöþþþûúúûûýî©€tnnmrvƒr`V]UYW^nvƒ“•““‡~}ypbTJ>4-07:9:968CDER[bhZKEH126)-1(       'WtobVMB722,*##" $*/+$-7¼¼»¾ÀÄÅÆÊÊËËÍÎÎÐÐÑÒÏÐÑÏÏÍÆÁ½ºÃÈðþðÑÈÁ¼²¤’kIM^^agovƒ‡…Œ—¥¸¿ÂÆÆÑëøüùùú÷ööðôññíìèêéêäÜ×ÕÐÈÅÆÈÈÇËÐÎÐÏÐÑÓØÛÝßáðûúýýûúûûüö»‡xllnrx…ŒjYbZUVWW^p…Œ‘’”Œƒ~veYND70--384167AFFQWajjbUH7&'#'64         ,¦ƒfWI@912/..-*%)!%!&##*+*"-G˜¼½½¿ÂÆÆÈËÌÍÎÏÐÑÒÓÒÔÔÓÒÔÑÐÈÆÄÂÅÏûüüéÏDZ•ˆ‚|x]O@>,2Iclr……„……”¯¿ÃÌãóýüüüüüúùû÷÷óñðîèîíàØÖÕÐÇÆÇÈÇÇÇÊÏÏÒÒÔ×ÚÛÜßìîõýþýûûûûüÍŒˆ‚vjlq~‚Š„rZXXZXTQS]n€Š˜˜–’Šƒyte\YJ;86+(-.046<FHQU_krnfP  #/3.     B‡µŸnZQF:3/-0+(/*%% !%$+2%5T¢½¼¾ÁÄÆÈÊÌÑÍÏÏÑÓÓÕÕÚØØÓÕÖÔÊÅÆÇÊèþýøøèÓÄ«Œ„~uhXJB"-=KJSe€„ˆ‰›ÀÜêúýþýüüýýýûúøöõòìïíéâÙÕÑÍÆÄÄÅÆÅÅÆÌÎÑÒÔÔÓÖÛßâáøþÿýýüûüÔ‹†Šylnw€‹“Ž…v_WXZWPNKEPewŽ’—–ƒvj_\VM@8-''('(*/6BHQW^beotm!+2163&     #P’«mWTNB6/.),+.-.,+$*'!$'.4+:b¢»¼¾ÂÄÆÈËÎØÏÒÑÔÕÖ×ÛàãàãàÛØËÈÈÉÙûþýûøû÷äϯŠ~znmna:7NVOHN[myƒŠ…ŒÆâôüþýýýýýýýýüûû÷ñîïíçà×ÖÑËÄÃÄÅÄÅÅÅÇËÐÑÔÔÕ×ÙÚßíûýþþýýûÙ”™…{rqzŒ‡ycYWTQOMOE=J^s…˜€tf^RPJ@;,.*0*,(,38ELTU]^cry!'+.-6620..   ,[§ˆ^GKNJM83.,%.55-,,.((&%0372"Fi¡¸½ÀÄÇÉËÌÍÏÐÒÔ×ÙÜÞàæîîèèæÚÎÉÊËíúýýüúýûöíײˆƒƒƒƒt\]dcYOLRdz‡ˆ¶Øéøüüüýýüþüüüüûû÷ïòñìæáØÓÎÉÆÅÅÆÅÄÃÅÅÈÎÑÐÓÖÙ×Øãøøúû÷ýûåyy‡¢ŸŽys~Œ‘’“ŒybSVTSQTRG=ACTk„‹‚ob]UTJ<9-0371//32;;BNS][dmt&&&'*/+.80*1(  (-,.BSdƒŽm[UTMEBFH@41(.28730,/.).17>4*(V|¡ºÀÂÅÈÉÌÍÐÑÑÔÙÛÜåëëïñôøòóéÔÉËØëûýýýüüýøòæß¶•Ž‹ˆ†~tlihZRRcw®ÑÝëòõ÷úüüýýúùüûüùöòôïîæÜèÚÍÈÅÄÄÅÅÅÆÅÆÄÇÏÓÔÓÕ×Ýíìñîôûüê‘vwstЦ¢ƒx‰“•’‹ybTVVSSRID;9:AKc|„}se\ZTLA5//898710/;EDMJV^elq)&&/86;935,&"#$ !#*'./78:FMTSals|‰wa^SQQPK?BCB;..1/57:51-0//7=91#1Y}ž»ÂÅÇÈËÍÏÑÓÓÕÜßèïòôöõ÷ûúôíÖÊËÜêüýýýýüýý÷é×з—”އ|orkec\–ÎÖÞäêÞåò÷ùùøùùùûù÷òöñïääØÔÐÌÇÅÅÄÅÆÅÆÅÇÆÆÊÐÑÒÕÚÞàÝÚãùýߊwssqntޱ ‚„•“Œ{dTVTOQKHB=??=?BYitrhc`TO@.%)17<6-//1=HJO\`ent),5)*67;LND:42,9AJVXSa]ZVY\^ZZXZX^dr}m\[SSPPTQJHGHA>;><8@??<=7884@<;(!,`•ºÃÆÈÊËÌÐÓÖÚàçìïò÷øûûûûûüùâÊÍÜðûÿþþýþýüÝÒÏÊŰž™–“’‘Ž}nprz•ÈÓÕØÓÍËÊ×íñóóôö÷øôòóóïîââÔÒÏÍÇÇÄÄÆÅÅÆÅÅÆÄÆÍÑÓÖÖéìÙàöúψwrtoqrt{¯·§‘”–”‘ƒeTXRPVQNJA@D:95?QfnoneZNA+)&*0;484*28KGQVYbku&-+-..6Ca‘‚O9367FLPTRR[Z^a]`_WUY]cs{n\RPMFKMNPTSVXaglovprmf]QMDDB>C7+ Ol~°ÃÇÈËÎÏÐÖÚâêîóôøúûýþýþýûûïÊÌÝôüþÿþýþûæÌÎÏËÆÂ³§¡™•”Š„‰~ ÆÏÏËÈÈÊÊÌÍßêíïïðôñððõíéÞÜ×ÖÐÍÊÆÅÃÄÄÅÆÅÅÆÆÆÆÉÑÓÓÕÑÑØìñ¯}vtxwox€…¹Á¼¨’—˜”“†kMQSSXPLJD>B662(6LZfli_L;'&&((1/62-*/:AQW[_dn.3/+-27a°ƒMB=DLRVQRQV__dcgbdekpt~€jSJHICCEKWalƒ—«¹¾ÂÁÂÃÅÆÃ¾¾µ®Ÿ“„qbF/!/Ls­ÄÈÉÌÏÓÖÛåíðõùüüýýýýþþþþúñÊÌÝôýþÿþýýùÞÒÍËÉÇÄÁ±¦˜–““’œ£³ÄÆÅÇÃÃÇÈÈÇËâéëëêêêëéðïáåØÛÔÒÏÛÊÅÅÂÃÅÄÄÅÅÆÇÆÅÇÌÐÑÐÐÓâÙ˜ƒ{wy‚ˆ•§µ¾ÆËØâ¯’œšœ™†cFMMTVPMNFCB56+#"1GTfieT@5&"+.0-/-0*'#6ALV^ae:<?BAGL_qqZOLGNWQQPP[ddaYU^cjm{„€lVRVLJLLRr‘­¾ÌÔÚÝâÞÛÖÒÐÐÎÏÎÐÏÐÏËÍÊù¢„`GK1.*/V®ÂÇÊÌÐÖßáêðö÷üýýýþþòäÛÐÓØÜÈÊØïüþÿþýýúÞÓËÉÇÆÂ½º­‡pˆ™§³¼²¦¬µ»¼·ºÃÆÇÈËÑÞâããçåßæëàÝרÕÓÐÍËÆÅÅÄÅÄÅÃÄÄÅÅÄÅÇÈËÏÑÏÖÀˆ€‚ŽŸ©¸¿ÀÃÅÈÌÓÚÑ‘–™˜’z\HMOPRTTMGFB<21%$(1DZbg]T<),.57;50/,',27EP[_ADEHLLMMONNNDCEJFKV^`_[TVchlr~eQOTPSUd†¢½ÏàêðñðìêêêãßÞÓÒÐÐÏÒÑÔÔÓÓÒÒÒÕÕÑÎÓö²¦¶ÃÄÉÉËÏÒ×àìñöøüýüþÿÿüÄÅÆÇÆÅÄÅÆÒç÷ýþþüû÷ÜÍÊÆÃ¿¯»ØÜ³u–­´§–vebs‚œ—ª¾ÂÅÇÉÓØÙÚÞãÞÝåÞØÖÓÖÒÏÍÊÈÄÂÃÄÃÅÄÃÅÃÅÅÅÇÇÈÈÍÎΩ‘±¶ÀÄÆÈÈÇÉÊÌÐÕÙ ‚Œ…sXIJSLTWUOKMG<8./%#',CUamaL=22=B@@611)"%+6JX;=BLKFKGHCAECEGROWNPTZZbenq|vaSIPU]eƒªÍáìôúøöòîíñòóóïëèßÛ×ÑÐÔÕÔÔ××ÙØØÚÛÙÙÖØÔÖÒÕÕÖÒÉÍÒÔÙäïô÷ûýýýÿÿÿýÓÊÉÇÆÆÅÁÃÑäôóðöõùôÓÉÆÁ¼·ëýýýýç£oRq‹Œpsl|m¯¼ÃÆÈÐÔÔÖÙÝÙÝÞÕÖÒÑÐÑÍËÉÆÅÄÄÄÃÅÄÅÆÆÆÇÇÅÇÉĽ²¬µÂÅÇÊÈÊËÊÊÊËÏÑÖݶ‡‚ˆ‰‡ˆ~oNGNNRPSWPNNJ@;5-% !*E[gkeO<1:GIKG<91()4E3<>IRQG>ACELPQSSMDFR]ddly€v\NSTWe¤Çç÷úýüûù÷öóô÷ö÷øøöóîçàÛÚØÕÖÙØÝÛàááâæèêããàÝÜÛÛÝÜÑÏÎÔØçôùúüýþþùëÞÙÌÊÇÆÅÅ¿ÁÍ×ÕÌÊËÎÐÏÇ»©¬àýüüûûýüÏm Œˆ„\G5[ޏÃÊÎÐÒÒÕ××ÚÖ×ÔÓÒÒÏÍÌÆÄÆÃÄÃÃÅÆÅÆÅÆÅÆÆÄ»Ÿ‚œÄËÉÊËÌÌÌÎÍÍÎÐÖ××Ç“…‚„€}tcDCKORPTOPQONK?40&$ -I^jnfL98BOVUUQD/"#(28DKLJD@AECMSSOQJEN]]`ip–²žpX]l¾æ÷úüûüüüýûûûûüûüüüýüýûöôîèääÛèÞÜßÝâåéèæçæåçæááàÞÞÝØÎÐÕÛèöùýýýñßËÇÉÉÊÉÆÄÅ¿½¼ÊÌÌÌÉÇÅ¿·‘sWÕüûûúûûûüü罟~Ckˆ^I<-+9o¨ÄÉÍÎÐÑÔÕÒÔÓÓÒÑÒÏÎÉÅÄÄÃÅÅÃÅÄÅÆÆÆÅÄ¿¢yi•ÈÍÌÏÎÍÍÎÐÐÐÑÓר×ÙœŒŠ…„ƒrgS=?ELMPUPRNMJG?:4*#! +JboreRA;ANW]_WG0(&&.&)CGI>45<>FPNHD?AFNhgdhq•ÂÃÃÀ¾ÂÎáîûúüüüýýýýýýýýýýþþþþüüýúöóòìêæöçßÝáåéèééååäáâãããäãäâÜÒÓÜêòùüíÎÉÉÎÍÍËÈÇÆÅÿ½¼¸ÂÉÈÆÅ½²‹L*2©üúúûûüúýþþóÐÅb}w[QC9075Uœ»ÅÉÊÎÐÐÎÏÑÑÐÐÎÍÌÅÃÂÂÄÄÄÄÃÃÅÄÅÆÇÌ™ig–ÈÏÏÏÎÍÎÏÎÑÑÓÖ×ÔÓÖ©‹Š‚€†}rdG38@GPSQMQQMPJC=5-&! 3OepnfTE61?MU[P:9=>91*00067;DDHEF@AIKT_efjgJFƒ¸ËÈÉÊÌÌÑØãîõûüýýýþþýþþþþýýýüüýüø÷øòðïìêêçìîîíëíîîéçæëéêëêíéÜÏÓÚèòøöËÍÍÎÏÎËÊÇÆÅÄ¿½¸±»ÅÃÄÁ¸—]4#(LñúúûüÒ\6hŽ©íï骔ƒƒˆnK28C=K—¸ÂÅÇÉÍÏÎÎÎÎÎÎÌÉÅÃÃÅÅÅÅÄÄÇÇÆÈËÎΔ©ÍÐÑÒÎÎÏÏÐÑÐÓÙÖÖ×Ù²Œ‰„‚€va<,5AHITSROORRKG?7/,%#3KbmqdP>(%%4;<9ABB:64*,4::<?CDCGDKRR]dggK@<<@W“¿ËÉÊËÎÎÑÔØáèôöûýýþþÿþþþþýýýýüûúøõôôññôïñóóóòòóòïîîðîíððïÚÊÊÓÙÛìôúÖÏÍÎÍÌÌÊÇÆÄÃÀ½ºµ«­ÁÁ¿¶ŠD(%,'núùüê¤8$1;05„³º¶‡{‹´ÃÂqexˆˆ—¨µÃÄÇËÍÍÏÎÍËËÈÃÄÃÄÄÄÆÅÄÉÌÎÍÏÐÍÍÏÒÓÑÒÒÐÐÑÒÒÑÒÕÚÙÖܽ‡‡Š†ˆ†€}€zY0&1=BLQRRPIGGICA95-+!$2JgroeN<) #'!#,41//1-47B<:7=DFFNNVQV^J71.9D==E[޽ËÉÍÌÍÎÐÑÖÝéòùüýüýýýüýýýýýýüûûûù÷öøùøøøúúúùù÷ôööôòóôóÓÈÈÅËÕÚçñöãÐÎÌÌËÉÉÈÆÄÃÀ¾¸±ž|¸¾³ŒQ;6=BCœ•HW;%-=C:9KWXhh]`zÆÙæôøüþþþþþôÙ¼ÃÄÅÈËÌÌËÊÉÇÃÃÄÅÃÃÄÄÆÐÐÏÏÎÏÑÖÕÖÕÖÓÒÔÓÒÑÒÒÕÚØ×ܾЀƒ…ƒƒ{{{P(',.7EKNJHHJJFEC;60$!%+DXkrgS<$ $&&" 9:AA>=::<DJST\WH@3,),6:;>ADK[‡½ËËËÌÌÏÑÕÕÙäéíóøúüüüüüýýüýýüüúüûüüûýýýýþþýýýýýýýýýØÉÈÇÇÆËØãëïïÑÍÍËÊÊÈÇÈÄ¿º´§W±ˆb_]^gsoÇK%0LNTs}ŽˆaRShx¦ÎåîåäñôõüþýüûýÚÁÄÅÆÈÊÊÉÈÈÃÁÂÄÃÂÅÃÄÅÉÑÓÕרÚÚÚÚÖÕÔÖÖÕÓÑÒÕÙÚÕÚ¿ƒvxz‚‡ˆ~qr{l<"*!)6>GJQHJJHGED?<3%'$! $>YjneQ<(  $"$ 58:;=69;EMXZ_M<83/,*6478:@CCGKYƒ°ÆÍÌÍÐÒÒÓÖÕÝåëîòöùúüýýýüýûûúüûýýýýýþþÿÿÿÿÿÿþþýùáÈÉÉÇÇÇÇÎÝæëíÚÎÍÌÊÉÉÆÇÄÀ½·¯£~Oq‘o‚›œ˜›•ÛÁÞÃ¥‘x†µŠwST~¤·ÏôôòÙ~M[fŸãýüûõÄÄÅÆÇÈÊÊÊÇÉÉÉÌËÊÌÐÔÜäåáÞàáçãáÞÜÚÚÙÕÖ×רÖÕÖØ»‚zvsy€ˆˆ|fcjY)!&$)08BLKNHHDFGG@?6+)&"# '>^mnbO=(!%!0.4872=ELR\J;3380*/436?6;>EE@?>8Hz³ÊÌÏÑÒÔ×ÙÞàåéëîññ÷úûúûýýýýýýýþþÿÿþþÿÿþþþýýüùßÉÉÈÈÇÇÇÆÆÏãéêáÎÌËËÉÈÇÇÄÁ¼¶ª‹w…¸ÓàëÒÕîúýýûøôã¼²«´ßêæÆ€i–µÆæøùúüòªkQfdß÷ýýÉÃÅÆÆÇÈÈÈÆËÌÎÑÐÒÔÙÙÝßáãäèíðïðéßàÝÛØÚÙÚØÚ×ÜÆ‹wvus}€ˆ„x_^^C %&.27AJJLLHGHKEE:21%##( "?Yfg^J<$ +056=FNS[O9//-12-*20:=<2??>>75/-/3HŒÃÎÍÎÒÒÕÔÖÚÜààäêìïðõöùùøûüýþýþþþþÿÿÿþþþÿþþúÒÈÈÆÇÈÇÆÄÄÅÍÞÝÜÔËËÊÊÈÇÇÄ¿®ªß÷ÿþüøùþüûûüýûûúõɪÜäõøùùóͺÖíúúûýýýýûÍnwš¾¶ëÙÃÄÅÄÃÂÇÉËÍÐÑÐÔÖÓÕ×ÙÜßåêîòõõóñðëæÝÜÜÛÙÙÙ×ØÊ‹{oqpw|~…rb_J,$##.7<DFMLMMHLJJ>;6.''# '7TdmcQ6%#!.,.9DWeZ>2*''+.,--09=:>=@;952($()+-8_¬ÇÊÌÑÑÒÔÖ×ÚØÛâéëíôõ÷ùûýýýþþÿÿÿþýþþÿÿÿÿÿþãÈÈÇÇÇÇÆÆÅÃÄÂÉÕÓ×ÏÌËÊÆÆÌÐÖÑàýýüþýùùüûúùûöÕ¢|Z=DŸúüþýýüú÷ë×¶¨ÅçøýûúúûÃm¤¾ÃÕ¢½ÂÅÅÆÆÉÌÌÎÏÐÑÔÕÖÙØÞåêðôöøøøøõñîêæÞÚÛÜÙÙÙÊ‹{wwoovz{‚|rid?$%-5:;>EIOPJIHDC<56/,)! !6WjqkP?+ (,:P`dO8()','*(./48>A6:5852+*%"&,/+-4L‘ÂÊÍÍÐÔ×ÖÕ×ÚÛÝàçìòô÷ûýýþÿÿÿþþþýýþþÿÿÿÿýÐÉÈÈÇÆÇÇÆÃÃÄÄÃÌÑÕÒÎÊËÝàöõíÞûýþýöôûüûûûüÖY6?KIOuíûüûüúûüûõï×¢zÎúùúûüs޵Áž¼ÂÄÅÇÇËËÍÏÏÑÒÔÖØÜÝáëðõ÷ùûüüùöõñíçãáßÚØÛ̆royxtqp{€ni[6$  %+297;HHJPKPOGEA74/+&"#" #=YjsjS9%-DU`R<.)"%#'$$%,1:;;;6600'&"'"$!'+*(,)7t·ÇÊÌÎÑÓÔ××ÕÜØÞàçîïöûýýþÿÿþþýþýþþÿÿÿÿíÊÉÈÈÇÇÆÅÄÄÅÄÂÁÂÇÏÔÔÛòúüþý÷ñýûüüúþûìüüæ®YSQWq”žÍøüüùúùúúüü÷빇¨èüûûý¡~¥ˆ¢¶¿ÂÅÇÆÄÇÌÍÍÎÑÒÒ×ÚÝâéðõùüþþýýüú÷óïêæåáÜØØ§rqqyvrqst|}{leM- !*,57BAAQKIKCCB91/-($!!#7QhthU8IZ^E20()$%*&#%+/8;77470-(&$ "$$!!&1R¦ÈÊÌÌÍÎÒÔÕØÖÛÞáåéð÷ûýþÿÿÿþýýþþþþÿÿÿ×ÉÈÇÈÆÇÆÅÅÄÅÄÃÃÂÀÅËÕôýþÿüûüýýûüûüþØŸëÊhYvn{Îòú÷íëÝÛûúûúúûýøôÖ˜‰¤¸ïýúú Œ”lf¸ÆÅÅÅÄÄÆÉÍÍÍÏÒÒÓ×ÜæîôøûþýýþýýüùöñëèãÝרÖÊŽtv{ytqrnpwuk^>% #"!$,.78<BMGIHEADA740'*%  /OlrnX7XU>/**&&%&% &34:<:3.0.+&%$%"'G’ÆÉËËÌÎÐÒÔÖØÙßÝáéñöúûþÿÿýþýþþþþÿÿüÎÉÇÇÇÆÆÅÅÄÅÄÄÂÂÂÁÁÂõÿýÿýüüüýþüüûýà‰qm¡²Ñ¾Èýþûûùõæœu¿úüüúúùùøõïÝ£˜ÁÉÞÛ¸º· …JsÇÛÓÏËÈÉÆÊÎÑÐÒÓÓÙÝçðöûþþþþýþýüøõñìèÞÙÖÖØààŸ||ywmompsoiS/% !%!"%-2773>=BEFJFFIF72+0'! .OhojV8A60' $#&$!""'(*5;1/+/0( $!4A¼ÉÊÍÌÌÏÐÔÖ×ÜÜÝâèïöûþÿþýýüüüýþþÿîÈÈÇÈÇÇÅÆÆÅÅÅÅÃÃÂÁÁÃúþþþýýýüóîýûûöºƒœâûóéìþþýýúù󹄞«½ÒØäôùùúûùôÙ»ÜêèëìáâÒ¶gd®ñרàáÝØÖÕÑÏÒÔÕÚÝåðõúýýþýþþþýúõñíéáÚרÝëûô¹ƒzuqquwvxiA !',/5.94:EKGJNIB>;64)'"(?^qiO1,/)% !$&! '%-5&'(# #*0;h¨ÆÊËËÌÍÏÒÔÖÖ×ÝáëïùþþþýýûüýýþþÿàÉÉÇÇÆÆÆÇÅÅÄÅÄÄÄÄþØÿüûúúùïÚëüûûæ²×ûûûäÆüýüûûý题›ÀÎØááàò÷ùûüúùö婱×öóôðñëܨ¦ÇÒÞæíììéìçÚÓÒÓØÜáíöùýýýþýþýýûöòîèßÙ×ÖßòüüøÇ‰}z{~|rZ/!!"'30/88@FDJLJLE;:7.(#<]kfP-*&+$  "#)($-%)*), $++-5@ÁÉÊËÎÏÏÐÖÖØÝÜÝäóüýþþüûüüýþþþÕÈÇÅÆÆÅÅÅÆÅÆÆÄÄÄÃÄÿºíøê÷÷ðáÓÜüûûöùþýø®\Ðûúúùûéz„°¸ÕîöôîèèóùüýûûûúÍ”c¶òøùôîòôº©ÇÜò÷öõñòöäÝÞÔÖÙäî÷ûþýýýþþþýù÷ñìâØØØ×ãöýþýõÇ‚„ƒ‰zjC$"  +-0/-6?CCHKMNFD<:3.,%% >VhhN"&%$($'+&''&&!  "&! $ _²ÊËÌÌÎÎØÔ×רÜßèóúýÿýýüüýýþõËÇÆÅÆÅÅÅÆÆÆÆÅÆÄÄÂÃÿÅñÞàØÒÔÍÌûüüüüýëŒKTÛûûûûð‡p Îäõúúõòïëîøþýûûûüô¦pŠÇðûüùôöûÛ¸ÈÛññööøøü÷ôæÞßäíôûþýþþþþþûû÷ñçÚÕ××Ýæöýüû÷óÐ–Š‰‚sY5!+  "'1..*36FKMNQKGIB;4/&$(Mbd'$!$"%(*+ %"$$'"  "#%#,RœÆÊÊÌÍÑÒÕÓ×ÚÞàèóýþþýüûûýþíÊÇÅÅÄÆÅÅÇÅÆÅÄÅÅÄÄÇÎÕäêä×ÑÎÌÌÕöüýûûüüàÌkXÓüüüüæÇºæöûúúù÷õóóÜíüúúúûüÇŠ“ÉÞðúüüúûþëÈÎâêéçðòçãüôæÛãíöüþþþþþýþûú÷òÞÓ×ÙØÛë÷ûüùöõðÒŸ“‚oI-'#$"#!!$,161)6;=LMPQPNIE>4/(,!! )H`$$!#&'$'%"  #!! #6P¿ÊÉËÎÏÐÒÕ×ÙÚâé÷üþþýüüýÿÙÉÆÅÅÅÆÇÆÆÇÇÆÇËÎÓØæïðíèßÛÔÖÒáûüøýûûüðêç·¼ëó÷ø÷ðç­Çñúûúûûúù÷òØÐóúúúûýÙ¦˜ÇÜêòúýýûýþöÊÎáçáãäÚÕÛñõîåìñøûýþýýþþûùõéßÖÙÛÚàïöøú÷òñïéÍ‚c6 % " "(61+'28ALNOQPJGC=7.+$%#!?  ($&*'   %!"" +5DMg­ÉÉÉÍÎÏÒÒÔØ×ßéöüýþþþþ÷ÊÇÆÆÆÅÄÄÇÈÊÌÏÓÖÚÝáéóøüûýøøùøýüùøýûüûòòðàîôôôôøöíÁáøüüüýýüüúòæØìøûûûôÙË­ÃãðòôýûûýüüùÌØäáßßÔÙÙêÿôÜçðøüþþþþþþüøñáÖÕÚÛÞÞçò÷÷öòïíëïÙŒN#&#! $00+#&.6HMQSPNMCA<0+((#"!'&!))($#!!  "*(! !09?EKeÍÉÊÌÎÏÓÒÖÖÜâíøýþþþþïÆÄÄÄÅÄÅÉÎÑÓÔØÞÝäêïüþÿÿþþÿÿÿþüû÷õýüý÷ôóêàû÷öø÷úùôÔðúýýüûúûýüõïâóøüüýÀÖèÔÄÞïõ÷ûüûüûüþÞÌÐÑÒÓÓØÝùàÏáèñúýþþýýýýü÷îßÖØ×ÛÞßëôùø÷öòòìñûÝj! &&% !! "/70"#&0?MVVOVREG?9/+()&!&'"&+'%!   ! #!" &1@=EKX”îìÔËÌÍÏÐÕÖÚÞåñúýþýþÕÆÅÄÅÆÇÌÒÓÙÛÛÜâéìôùþÿÿÿÿÿÿÿÿþûùöôùþýùôõëöù÷ùúûýûöäøûýüúúúúüù÷öáñûýþö‹¢ïìäîñõøûüûýüüýÛÉÌÌÎÑÏÐâÙÀÍÙçí÷ùüýýýþýùóçØÖØÖÜÞâí÷üüüúöôðéë÷Û^#(&$!!$!!$/3#"!&->MSUYSLH=93-''#%% &%    #$"   '3><CLxá÷ûûäÊËÎÏÏÐÔ×ÜäôüýüýÉÄÅÃÆÈÐÔÕÚÙÚÛßàêðõûþÿÿÿÿÿþýþýú÷õõóðûûð½‘öøôûüýþüñíûýüûúûûüûùøùäÒöúâgkäñçàèøûüþüüþýýö×ÉÊÌÍÌÐÜÉÈËÎßéõøúýýýýüøóâÔÖ×ÙÙÛàìõúýýüû÷õñéçñÁN('0!"','$0CPPTPNG?<6/,,'% #"#" !   "#$#     +4@CNrÍøùø÷ôáËËËÍÑÒÒ×ÛëøúüüÊÄÄÃËÖÖÜÜßßßÜÝáìðõûþÿÿÿþþüüÿüú÷õöóúûûí¿Çý÷óúþÿþïÌñüüûúûüüüùúúúíËãæºmcaªõóåéêìêúüûûõø÷ÏÍÏÏÌÌÉÉÉÉÊÒíóöùüýýüû÷îÝÕØØ×ÙÛèîôúýüüýýúöòêÞÙµ`..)&$&*)*%)9LTQOPMKDA:20.$#,%&   "   %.7>Lr·ÙååÚãéðàÉËËÍÏÑÓÖÛêòûùÃÄÃÏæéâàâÝÚÙØÜáëðõýþÿÿÿÿýüüÿýúø÷öøýûúðÒïý÷ôöüýùååöüûúúûýüúüþüýðÖçìÙ|–\òùõÞ¸ÑÎÐâîôôöøý÷ØÔÓÌÊÊÉÊÉÊÌÚæïõùýýýû÷è×ÓÙÜÞÝàìõöúýüüüýüûøóíßγc5.)%!%-#*BPPPRTQFG=3&%"%%!'     "   '4@Vz§Â·°²ºÆÄ½¬¦²ÆÊÌÍÍÐ×ÙÛìêÄÁÑôõðçÜÛÖÕÚÚÞáèíøýþÿÿþÿýûýþüù÷÷÷üüûúòèûüøôñõ÷ôïïøüûûûüýýýýüüýõäìòî³Ùx©îúúôØÉÏÎÕçôöööûþõÒÖÔÎÍËÉÉËÊÌÝî÷ùûüýúòâÓÒÛàÞßëñ÷øûýýýýýüüüùôíá̱q=/,$"(/ENVRVOKG:5.)$%!""(      (Bs‡“š…}uigdhchi|«ÄÌÊÌÑÒÕÛ×ÄÅìûôëÞÚÛØÚÞàäçëðùýþÿÿÿÿýüýýûø÷÷úþüüúöôþüøöô÷ùøòâùûüûüüúüüüûüüùîï÷ö꼎äóøüûôÖÌÍÒÝîöööøýþîÚÚÖÔÏËÊÉËËÑçíôøûû÷ïÙÑÓÛâãèó÷ùüýýüüüýüüüüøóìàеm:*$>JTTSRJMC85-'$  $   !%Ovv`SH@A>>KS]\^URP[‘´ÈÍÐÓÕÕÐÓüýòæÞßßàáààåæéíôøþþþÿÿþüüþýûøùþýüüúöøüýúùùûûøâÜüøýüûûûûûûüüüûôóùúð¹ÝõöùþýúõÐÎ×ßíö÷÷ùýüýëááÝÙÕÑÎËËÍÛñ÷÷÷ùôíÙÑÖÜàæï÷øûýþýýýüýüüüüûúõíáÕ¸x=+%% )BPMOSPQO=600*"#"  &)#   %+4<;;<<88?DIT^WTN>-$&Bs ¹ÎÕØÖåÿýóèßÙÜÝÜÚÜßàãèïõûýþÿÿÿþþþÿýúøÿýüûøõúüüüûûûúæÁÙýúúüüûûûüûüûüüø÷úüúéñùúúýüýúéÌÕíõö÷øùýüüõêèæãÙ×ÒÐÌÍÓãçîõöóèÔÌÓßäìó÷øûþþýýýýýüüüüüûúôîâÒ¼€?& ! 5EPURSPPJ?510+'%$   #*"  !''65157566DFRWRD6*!*4LavŒ”ºì÷ýùñîâÜÛÙÚÜÞÜáéîôûÿþÿÿÿÿþþû÷óøþüûúøöûûûýýüûïÜÖáýýûúýûûüüûûûüýûüûýýöôúûûýûüûúßÖäöùùûüýüýøðóòïéãÚÕÔÎÌÔãìñôñÛÉÆÊÚæíõ÷ùüþýýýýýýüüüüüûûúöñç×À„:)9IXUQRQEB:3.(+'#"   $%  )+-+/226CKMVMD9)"+:I^ac]N¥ÉíóîéâÚÕÔÖØÛÞàèîöùûüþþþþþýúõïúýüúù÷öùýûüýýòéãáåûûüýýýýûûûúûûüüýüýýüéöûüüûüúüøçñ÷ûüýþýþûïòô÷ø÷ñêáÖÑÎÏ׿íñÜÈÇÆÇÓäíô÷ûûýüýþýüüüüýüüûûûúøòçßÍ…7 !9NVOOOMF>82.*+&'    !#&"    !%))/175@GNLMJ9,$7DQbrp_IV«ÑÞäèåßר××ÜÞåéíñõ÷úúüþýû÷ñêëúûþüúúùøúûûýöñîêèìûüüûýýïîúûûûüûûüýýüüîË÷þüüþøúþÖÍàîöõù÷ðêïóöùúùøõðåÚÔÏÓÖÕÐÄÆÆÆÈÏÞìòøüûýüýþýýýüüýýýýüûûúøõîç×53HQSPVRMG@;.-+'%!     '#"     $",/:@IQQEB7+"(1DVjtxoX@>€¹ÏÕÕÖ×ÙÙÙÝßãèìíðòóôõõóòðêééüûýþüüüùôõöû÷ôòîîñøýüýþñíïûûûûüûûüýýûûúÍÛôýûø÷ùþóÌÓÔÜÖÛÝâæïô÷úýýúúöòãØÓÒÓÊÅÇÇÆÇÆËßïöûþþýýýýýýýüüüýýýüûüüûüùôðç“3" &>UXRNLOJA?3/-.,"#     "(      & (1>ENPOF<.!*3;M[js{xa@('8{´ÄÍÐÐÕÕרÜßãêîðññòòóêéäääøýüýþþêÇñùúûø÷õôóóöúûøóðòñüûûûûûûüþüüüüíîóóõ÷øûýýÜØÙÛÜäèîîðó÷øúûýýüùðà×ÓÓØÔÈÇÈÆÇÆÒñ÷ûþþýýýüýýüüýýüüüüûüûûûûú÷øò0 &ENRMLQHIG93/-0'"   #%!    '$,9DMQRJC0#1:EYhovzsgD&?t§ÃÊËÎÎÎÓר×ÞÞßÞÞàßßÞãääàíúúêÈÂÕùúûüúù÷ööùúùïöõôóóúüûüüûüýþûûýýð÷÷÷ùúûûýüõ×Ùßáèíðóö÷úüüþþýýûúïÝÕÖÕßìÊÅÈÈÇÉã÷üýýýýýýüüüýüýüüûûûûûûûûúûúùð‚%$2BDMFKIJJG?420*%        &'6CDNQSB9#%58Q_os|{s`>%;g”¹ÆËÌÏÏÒÔÖØÙÜÜÚÛÜáçìáÝØÌÉ¿ÈÉçûûüüûúùøùûü÷ñøøöôõöüüýüüûùþýýýûðôùûüüüýýûüÜØàãíóöùûúûýýþþþýþýùîÚÓÛÚë÷ÙÇÇÇÉÚ÷ûüþýüýüýýþýýýûûûûúúûûûúúùùúøÔR7@GCHGMLDA3,*$        ,6>CGRNF;1 *5CWgszwhW; "=e‹¬¾ÈËÌÑÓÔÖÙÚØÖØ×ØÚÖÓÎÎÌÌÎÐòûûýýûûûúüüûôôøúø÷÷÷ùýýýûôöøüûùûóôô÷üþþþüüþêÙÚÞëôúýþýþþþûûþþþüùõéÚàêïùþàÆÈÉÊèùúþýýýüýþþþþýüûùùøøøøùùù÷÷÷óí´:   6AAJJQOHE=..%!#        -2EHRSE2+#(5BM]lw~wbL0$5DTn†£¿ÊÎÍÎÒÓÔÑÓÔÓÎÐÐÎÓÖÛÚÛÝúûúýþüûûûüüõõ÷úûúúùùúúûüù÷÷÷øùúü÷ôôõõ÷ýýüþøðáØàîòøüþþþÿþþüûûûúõéÕÖèõúýüûÛÊÇÇÔðöüýüýýüüýýýýýüûú÷öõôõ÷ö÷÷öòëã¢/  %7ENJWQGG:60)%)$       #/3>FH<7, "+9JVep|}zs^B1!+=FSbpœßêèáãÝÙÕÓÖØÙÝâèìïæâáàëýúúüýýýýþÿùõ÷úûüúúûûûûüýùúùùùùúûøõöööö÷ýìðëîñÝÙÝâí÷ûýüüúùøõòðëÛÏÍÇíñþþþûêÓÊÇÈÜï÷üýýüüüýüüüüûûúù÷ôñíîðô÷öñìç×x  +?EHPPKH?>7/%$,      *35>A.% %+=N\ks€~wiX=/&.DN\gÞïûþÿþýûûüüüýüù÷óíæäáÜïýûúûýüüüýýùøúûùøûüûüýýþýûûúùúúüýøööö÷÷ùÿðòóõòí×ÚÜßæéîêæéçæáÜØÏÌÍÏÞúúþþþýðÝÑÆÄÎâïõüýüýýýüüûûúùøø÷õóìèçìñòóîéâÅX   /CLQROOKGA9/+/        ',,23# $'/DQbqw{uaM8#2<GVk ÛðúþÿÿÿþþþþÿþþûúøñìæãàÜ÷þüûûýûüüýüüûûýåáýüüýþþþüüûûûûûüþú÷÷÷÷ùûþóðö÷ôúÔÖרÙÝÝÙØÙÕÒÒÑÏÍÎÎçúöüÿþþþòßÖÒÀ½Ôàêöýýýýýüüûûúù÷øøõòïëèãâéíîéäá±B  #:POSTSTNJA:2-  "#    %*4JZhvx€zmXG2)1ATj§ÕêüþþþþÿÿÿÿÿýþþýüöñìåáßÞüþýüûüýüýüüüüýõÊÖýýþýüüüùüüûüüüþþýüúúúûüýúîó÷öýâÏÐÑÒÓÓÑÓÑÌÊÌÌÍÌØáäõýþÿÿÿýóà×ÕÐ¥±ÓÚåðùüüüüüúù÷ööööôñîìêèáÛÝàââÞØ%  5GX_YW[VQM@>- %!$      !  &*/@K^lw|wgP8$ 1=H\¨ÐÛëþþýýþþÿÿÿÿþþþýû÷ôêãàßáþþÿþþýþýýþýþþþÛÒÍøüüûüýúùýþýýþþþýìùþýýýþýøìñöøþëÍÎÎÎÏÏÍÎÎÐÎÐÓÝàåëíøþÿÿÿÿýóãÚÖÒÅšz¸Øïûüüüüù÷öõóóññîïìéàÞàÜØÓÑÓÔ·H  %=V^a\ZXYNIB2         "'/8DRbqx~}saM9 #%6D[ÍÓÞíþþýüýþýþÿÿÿþÿþüùòëçäãÝþüüþýþþþýüüýøàÕÑÍòþüüýüúúüþþýýüüüØÖëþþýüýúó÷÷ùþ÷ÔÔÔÔÔÓÕ×Öר×Ýåêéð÷ýþÿþÿÿüòåÛãÚÕ¨?4=d‘Ôóüûûù÷õóñïëëèæåçÞÚØÕÕÏü¼²j"   +N]a_WZ[TRJ;!    � #"&  %/:@[_oyzxnWE2 )08JËÑÕàòýþýûûýýþÿÿÿýþþýùñíèáàâþüûüüüþÿþýþúàÕÓÐÏïýþþüûûüþüýûûüýñØÓÈòþýýþûúøõüýüÙÔÖØØ××ÙÖ×ÛÞàáêíôûÿÿÿþÿþûîãÜãÖÑÆT' %$3[ŸÝöûùöôíëâáÚÙÖÓÐÑÎÊÇÁ°Ÿœž…8    ;QX_[]WWVOC!     &,((# +-2=DZksy{pgQ<&*7F|ÈËÏÓØíûþþýýýýþÿÿÿþþþþöóîèæàÞþýýüýýÿÿýýôßÙ×ÕÎîýþþüüüýþþûúþüþüߨÔμÇâî÷ýÿÿÿÿÿýÝÖרÙÚÚÜØÚÞááêîñúþþÿÿþþÿüòçÜ×ÖÒÏš/"!!!#<b…žªº´£¡«­¬§¢ §¡—ŽtjZY:   $AYeb_X\\TN!!    #.20*% "*+5>G^lt{yo\H-#(/<W¬ÊÌÏÕÚåòýÿþýýþþÿÿÿÿþþýúöïìâÜÜúþýüýþÿûøôäÛÚØÑåýÿÿþÿþýþýþûüþýïßÖ×ÔÐÍÏÌÃÌÕÓçíõõã××××ÙÛÜÜÙÝàãæîñ÷ýþÿÿþþþÿýòæÜØÕÐÐÅY%!'%"$' $,13<GB?A>20/(   2K`ccd\WSU"     *29:/,  !%4@O^ltyvdWA*(28CvÁÈÌÍÐÕÙíúþÿýþþþþÿÿÿÿþþüöõèÞÜÝ÷þþýþþüôìÞÚ×ÜÖáþÿÿþþýýýüüýüýþüæàÙ×ÓÏÎÑÑÒÐÐÎÎÌÒÔÔÖרÖ×ÚÚÝÞáàçëò÷ûþÿÿÿþþþÿûðèßÚ×ÓÓÑ¢5& %    #8Xhef`[]X     .97/,  +ARbnosl]N7!,26EšÅÇÊÌÍÑÖæóýÿþÿÿþþÿÿÿÿþþüúóäÝÜáôþþþûôçÚÖÕÕÖÔÜþÿÿÿÿÿýüüüýþþþýùæßÛØÔÏÏÑÓÓÐÒÑÓÓÓÓÖÖÖØÚÛÛÜßãâèêñõúýþÿÿþþþÿþûîëäÝÛÔÕÔÍi"!      B]dd`[aX     '-00$#  &1?]iprsiYE, $.46[¸ÅÈÊËÌÏÔØæ÷þÿÿÿþþþþÿÿþþþûñæãÚâöûñìîæÜÞÚÖÕ×Þüÿÿÿÿÿÿÿýýýüþýüþ÷ìáÝÚÔÑÏÒÔÒÓÓÒÔÕÔÖÖÖ×ÙÝàÛÝäëëíñôùýþÿÿþýþÿÿþþ÷ìáàÚÖ×ÒÓ²9#       .JZcfa]\        *,0'   &8JbkswtcS<)%+46;uÀÆÊÊËÌÎÒÙåñýþÿÿÿþþÿÿÿþþþøóïçáåõèèíëãàÛÙÕÔßøÿÿýÿÿÿÿÿÿÿÿýýýüÿöïáÝØÕÑÑÒÕÖÕÕÔÒÕÔÖÖ×ÚÝàáåèéïòðöúüþþÿÿþýýÿÿþýõëãáÛ×ÖÔÒÍt'$#  !"     "#@V]ca_c      &+.    %>Ocmtsk_L3 *049F”ÄÆÇÊÌÍÕÏÖÛîûþÿÿÿÿÿÿÿÿÿþýùöõñêêêâéèãáÝÛÚÖÙùÿÿþýÿÿÿÿÿÿÿÿþÿþþþøðäߨÕÑÒÔ×××ÕÕ֨רØÛààãåëìëïöùûþþÿÿÿþþýýÿÿþüôïëàÞØÕÓÓзF%! !    $6IZccaf     !"$   &CUgnpl`TD)053>V¦ÃÄÇÊÊÌÌÍÑÙé÷þýýÿÿÿÿþÿÿÿþýüøôçççÞÞÝÙÚÙÛÕÛôþþÿþÿÿÿÿÿÿÿÿÿÿþþþüõíäà××ÑÒÒÕÔØ×ØÖÕÕØÛÜßâæêëîñôöûýþþÿÿþþýýþþÿþúöñîäàÛØÔÑÐÊ‹,  "    $2DS_b]`    "   /DWdlpkZG:#+0::AcµÂÅÈÈÈÈËÎÒØêöøüþýþþýþÿþþþþüøïàà÷ÜÚÖÖÙÝÚÞïùþþÿÿÿÿÿÿÿþþÿþþýýûøõîæÝÛÖÔìÝÖØØ×ÚÚÙÙÚàâåêìññòùûûýýÿÿÿþþþþþþþþýûôðîìäßÙØÔÒÎÃa( &(%  !!    *5DRXb]^ #    3MWfniaQ?1'"'/8:ByºÂÅÇÇÉÈÌÌÑÛìñóùûýþýþþþþþþþüöèåßüèÚÞáäêÝåðùþþÿÿÿÿÿþýþþýüüùø÷òñëäÛØÖÞýôßÜÚÚÜÜÛÝÞäêìïõöúûüýþþÿÿÿÿþýþýþþþþýüöîîëêäÚÛÖÕÓΣ< #%#     *6DU_c_a      &6Q]cbcWM:)!"/58A‹½ÁÅÆÇÇÈÊÌÐÚâãïô÷ûüýýþþþþþüõïçíãú÷ìøû÷áÒäî÷üþþÿþþþýúú÷öõóôòñðîçäàÙÔðùøòâààâæèêéêíñöùýýþýþÿÿþþþþýýýýþþÿþýýøðëëçåÞØÖÖÔÒÇ{'$((# "      , *2BU^bfb !      .BXcdg`TK4# %+12=P¾ÂÅÄÆÅÇÊÍÕÚÜåíñõö÷õõ÷ûùûúöòðîîáñþþ÷åÓÔÓÞèïóúûýýø÷÷ôïîîëêêëêìëëíìßáù÷ôóòëììïïòñòó÷ùüýþÿÿÿþþþýþýüýüýþÿÿÿþüùôîëåäãÚØ×ÔÑμU%'&       '4@LWbff $ '$      "4HX\^cZJA,$*11.2]«¿ÂÄÄÅÆÈÒÔÕÚÝéííñòîëîîñïóóðîðìèäòøåØÔÖÔ×ßãëîðñôóìëëëèëëéæêìæÞ×ÛÝâàòø÷óìíôòññô÷úúúüüÿÿþþþþýýýýþýýþýýýÿÿÿþýýöðëçäâߨ×ÕÔÏËž5 '$       /6AJQXbe"!#! !       ,BMZ[]XP>5+"!"',-3<x±¾ÀÃÃÃÆÊÙØÕÜãêîìëçáßãåæçðõîéçááâßàÛØÕÔÚòãÞßáæèêíëìëîòôöõòüúãÈ»·¶¶Ãï÷÷ñçÝçööõöûþÿþþÿþýýüýüüüüûýþþþýýýþþÿÿþýûôíçßàÛÙ×ÖÕÑÎÃp")'     +9CIQVU[#"$"    2EQYZVTH5(!"!%%-?Œ±¹¾¾ÀÄÇËÑÕØßçëèçÞÛØÙÙØ×ÚÚÞâáÜÞÛÙÖ××ÔÐÝóöãÝåêíñôõõòíó÷ùüûúþóÉ·³¯¯«Ïó÷óîåØÕá÷úúýþþýýýüûûüüüüýýýþþÿþþýýýþþþþýýøñåÞÛÙÖÖÓÓÐÍÉ«B#)    #-:=FLLKJ!       #7PTUUWQ@.$%,'/M™¯µº½ÁÆÊÐÔØÜãäåÛÙ×ÖÔÕÚÖÖ××ÖØÖ×ÕÔÖÔÔÒÕãôõõîó÷øõ÷÷øø÷öûüüþýýüظ´°¯­¨âôòðëàÕÏÍÛ÷ýýýüûûüüýýþþþþÿþþþþýýþþþþÿÿþÿÿýü÷ïåÚØÖØÕÒÐÏÊÃ…)"$       '4CCEMHKA        1CRRSZJF90!%!*.a£­´º¿ÅÈÎÔÖàååáØ×ÖÖ×ÙÛßáâáÝÞÛÜ×ÔÐÕ×Ößêòöõõñõ÷÷øùúüýýýýýþþýþé¶²¯­ªª´ðòïíäØÑËÆÉÓñûüüýýþþýýýûùøöööööùûúúüýþÿþþÿþüüøîáÚÕÖÔÔÑÐÎÈ´Z      (7AFHHDD;       ":OSSWVEA2)!#"+2w«²¹¾ÃÇÌÓÔÝèäÝ×ÖÕÑÇÍò ”ŽŠŽÌðõñêâïñîéêðòô÷ðõùùúúýþýýýýþÿÿýð½²±¯«ª¨ÈóóîéàÓÌÈÊÇÀ´Õ÷ûûøøóìëêêêèååææãèðòôòôúýþÿþþþýüøëÝÕÓÕÓÒÍËÊÄ;        #2AJLGE@;       )CMTXUKE@+(!!$3Œ­·½ÂÆËÐÕÞæßÚÚÙÙ»o_RMTPRVb©åêèâÝííåàâåêñôî÷ûüýþþýþÿþþÿÿþõǰ­¬¦¨¦¢ÝôñêçÙÎÈÆÇ͍¸ÜëðóðëêéçèèååäçåÝÛßãçâæëíøýþþþþüüöìßÕÒÑÑÐÍÍÈ¿|%   .@JRJEA4      5FMTXRJ>7&" Hžµ¼ÁÆÊÏÔàèæÝÜÛÓ¨eMMFCBLFNVYšÓÚÜÙÚßßÜÜßáçïñïøùüýýþþÿÿÿÿþþüÕ±­ª©¤§£ªëöðéáÐÌÆÀ¿¿°«ÉÞ×ÛàçîðóóóñòòîïìçàßÛÝÛÞàâàîùýþþþýüùïáÓÑÒÑÌÎÉĪH      *=EQHKF>        9HRQZLB81$bªºÁÅÉÍÒÜèçßÝÙµjE;DIB>7>AGMWŽÈÒÛÖÔ××ÙØÞàçîïïøüýýýþÿÿÿÿþüþ鸰©©£¥¦Ÿ¼óõðæ×ÉÉȿûª´ÏØØÐÂÁÃÉÑÍËÏ×ÝåëðòìçßÖÔØØ×ÕÕàñüýÿþýýúñàÔÒÏÍËÉÇ¿ƒ+     .>MLJCI        )=MONSLA9. )†´¿ÄÉÑÑÙçäßÝÁoD5/0<@:7964ABOÅÎÒÒÔÔ×××Ûáëíðíøüýýýýþÿÿþýýú½­«¨§¦¦¥ŸÖõòíäÔÎÌÊž¸©ÂÕ×ÖËÀ¿¼Á¼²®¦®µµ¯¸Ç׿òâÑÒÑÑÑÐÖÙßõþþþþüûôäÔÏÎÏÊÉÄ«K   )4DGKMT     .@LKLJE=2!O¢»ÄÈÍÎÕàáÝÑ‹F)(+))67:2/++:<BrÂÌÏÎÒÑÔÕÕÙÝèîðîøüýýýýþÿþþýýÖ­©¤¦¥¥£¤§äóðéÛÑÐÏÎÆ½¶²ÕÛÔÔɾ¿Á¾³³¯¨±¹©ž§­¯Åܪ¤ÄÍÐÒÑÎÍÑÑâøýþýýúõèØÎÎÌÌɾ„'       )<EKW`       !3CLEHIG4* 8ˆµÀÈÌÏÓÜÚÙ»e5%'"%()7;;31,-267e¼ËÍÍÏÑÒÓÕ×Úçððïøýýüýýþþýýýòµ©¥£¤¤¢ ¡³ìñìãØÐÒÓÒĺµÀÔÔÔÒÉ¿º·°«©´²¢§®±Î·2&K‹²ËÓÑÎÎÍÏÚíûýýýûøíØÑÍËËŪA     3FR]i     -=GNPSEA,$ )r¯¿ÅËÍÎÓÛØžJ'$"(&"'+9?<742*,18X¶ÈÌÌÌÏÒÓÖÖÙèîòòùýýýýþþþýýþЬ¦¥¦¢ ¡£ŸÁïðéßÔÎÐÏÍÀ··ÏÓÐÕÐÊÂüº°¨¯´ª  ¯°¾ÇT#>c|›·ËÏÎÏÑáõýýýüúðßÑÎÉÆ¿~      (?^bq       !6BHJKL<;*  Q©¾ÅÉÉÌÒÚÌ‚@& "!#!,7@>;46*,,:JªÉËÌÍÎÔÔÖÖÛéîòõúýýýþþÿÿýþï·¨£¥§¢£¢  ÓíîèÝ×ÑÒÎɾ¸¾ÑÐÓÒÍËÆÅÀ»ºª§´±«¬¬¶ÂÊ{ (0;:EVs¤¿ËËÌãøýýüúôèÔÍÉÅ­G    6Sgv       -:GIECF6.-  i»ÃÇËÌÏÓ·b9, !*36=;646626O¤ÇÊÊËÌÑÕÖÖÛéðôôùýüýþþþþýüÔ¬¦£Ÿ££¢¡ ¦áíéãÙÒÑÒÌȲÃÑÒÔÏÊÍËÇÀ»®©°¾»´¸²¹Ï´/ .050-)*Hu©ÁÅÎéúüüúöêÛÐÈÀŠ'    (@`r        4=KIFC</-"  'ƒ¾ÃÇÏÖÕžS:,&#1=>@>QL>44JŸÅÉÉËÌÐÕרÙéñ÷õúüüýýþþþýöº¨¤¤£¦¤£ ž¶êïêàÖÑÓÑÉĺ´ÌÏÓÒÌÎÏËǾ¸¨§»½¹º·­·Å_ /43+(& "8YŠ·ÈÞòüüûøñãÓǵ`    0Pd     �� '6BICD@5,' D¡¾ÃÈÙØ¡<3+%!""%-:BBR©uA40>–ÃÈÊÌËÑÖרÝìó÷öúüüýþýþþþᬩ¥¢£¤¢¢ ÆîîæÜÒÓÕÐËݾÏÏÔÍÎÓÑÊÊÁ³­²Ã»²·²­¼  +0//&(  "Cs°ÇÚùûüúõèÖĦI     !7L       �   (9CB@B>2+!  ]¨¾ÅÇÞ¾Q&0) !")2;G‹²»]85?ÀÈÊÊÌÐÖÙÝèð÷ø÷úüýýýýþþû½©§¢¢¡£¡Ÿ˜ÓðëäÖÒÔÖÑͱÉÒÕÕÎÐÒÐÉ̺´¶»Ã¼´¯¦³¬*  '44("#,[¡Ãà÷üûùðÞÅ£E !   %4        0>HCF?53*   E›ÀΧ~M $*!#%04Q§·ë˜=76v¿ÇÉËËÍÕÙÞéòöùùûüýüýýýþ믦¤¢¡££¡Ÿ—ÜíìäÖÖ××ÒÊ»¸ÏÕÖÔÏÐÑÍÊ̽µ»Á¶½½®¨·Z $2),*!$XœÂàõúúõãÌ›I     )         !6CBAA:.&  t©Ž4!&6M§ëïˆ87:j»ÈÉÊÌÓÙâæíõ÷øøúüüýýýýüÒ©¦§£¡£¡¡ˆ‹çíéäÚØØ×ÏĶÇÕרÏÌÐÔÒÎǼ¼ÄŸ·¶¬³‡  #,(-( 1b¤Îëùúøï΢]&            %3?>>970   "(  2‹ðôÛR469aµÅÈÉËÓØãëòöúúùûýüüüýý󹤤£¡Ÿ  žk•çëèáÝÚ×ÖÏ¿¾ÐÕÙÙÍÐÖÖÕÎÆ¿ÃÆÀ¸¯ª¹¥4  %)$"   &`¥Éôúùñ×µƒA              &79><:.&!    ! '5ìð¥?;97R®ÆÉÉÌÕÝêîô÷øúúùüüüüüúÚ«¡£¢œšŸ“mM£èëæßÛ×ÕÔÎ¾ÌØØÙØÔØÙÖÑËÉÆÇþ´¤®µ[  "+!&   >€Áì÷õçδv/             &+2:>96/%!    &  %8—ïì8889N§ÄÉËÌÙçïô÷÷øúùùüüüûøñÇ¢ž¡Ÿž¡ šy>JÁìêäÜÖÖÙÔÇÄÓÙÝÛØØÛÙÒÎÇÉËĽ¸¦§¾ƒ   ',%'     ?wËçëêåÛ£H5$               &89@73/*"      ”! (:§ðä_7039GÅÉÌÐâîóöøø÷úúøýüúôòã¶¡¢¡Ÿ ¥ ‰L4^ÚîèáÜÖÔÙÏÀÌ×ÛÚÙÛÞÜ×ÒÐÍËʽ´ª¤¸©3  +($(   HÀËÜâΗ{V            �  ,6>60-.#      <ºîÖW70/6A‹ÄËÌÖìóö÷ù÷÷ûøøýüòìèÕ­ž¢¢ Ÿ£•d23tâíèß×ÕÔ×ÍÅÒ×ÛÚÛàäÞÙÒÑÒÏı©¡µ¿\   !)%+'   L½Ò¿`.           *10201&#     SÔí¿H60229uÂÊÒàîöô÷÷÷õ÷÷÷ùõéâÚÅ©¤¡¢£˜u;'1’êíèߨØÕÓÊÏ××ÙÞßââÝÝÓÐÑÉò©·Ì‰   !%#"    &6                '27.-&&!     _Þë¡>;9636lÀÉÖéòõöõööôøõôòëàÛÒ¼§¤¡£¤›€I1-<¯êíèâÛÛÖÔÏÚÛÚÝÝâçæàÝÒÐÎÈÀ¸³È°0 ')(!                  ,-14.)"#     yåéŠ746208`½ÍÞëôõóóóòñøóïêàÙÖʱ¥Ÿ£££”]802EÃëëèäàÝÙÕÓÜàßßâæèäàÙÓÌÆÉÁÁÈÇQ    #(+"                 )002'#    ! —æâ|=--,//C´ÔèòóóîíðîíôìçÞ×Õп©¥¥¦¨¨ˆF92.\×êéæäâÝØ×ÛßáãáäèæÜÚ×ÔÉÄÃÂÌÐ   '              **..(      ®éÜl770.-.7§ÞïôñíêçèçêðåßÙÔÕ̸©§©­·¶s=<63pàìèçååÝØÛÝáàåéêéæÝÛÚÑÉÄÀÈÔ§      &#            .(-##    &"$¼êÍT-1)**,/çðôðæÞßâáèëÝÙÖÒÏDz¨©±¼Ê¨S:152”æëêéçåÞÚßßåæèéêèäßÝØÑÊÅÅÓÂ9  $              +'&"     *8Îì²=++%*()-—ëïîçÞÚÜÞÜåßÖÕÓÐÏÁ°­´ÂØÎl;:15=±éììêçäàÞáäççéçèåâßÛÕÐËÈÕÖS                 !#%(     +*  TÓåš/()"&($&~íìèßÙ×ÝÜÙÝÚÒÑÐÏɶ³½ÊÐß =0242JÈèêêèåâàáääææçåäßâßÙÒËÌÑÔj                  &'$      #+& vÚà‚'%'#!"({çæàÜ×ØÚØÙÙÔÒÐÍȼ¹ÂÌÑÔ³O/+,./YÞëêëêçåããæãäæèéæàáߨÏÊÐÕ…                 !%#       %  ™Þ×i'"$!åÝÚ×ÖØÙÖÖÔÐÐÎʼ»ÆÐÔÔÍm.)+)*.yãííêëèããáåçäåéìéâÝÙÐÊÍÕš                         ªÝËO$""ØÕÙÙÙÙØÖ×ÔÌÎÌÅÁËÒÑÕÒ‹/$!'(&/ŸçëíêçãáäâåäãâçëçâÛÓËËЛ"            �        1¹â¼G#")’ÒÔÕÙÔÖÖÕ×ÑÍËÉÇÕÜÒÓÔ¤<('%(%#5¼éìëëæáàæåéäâãêêçàÙÏÎÑ¢                          TÅã«E&##"%%1¬ÖÔÕÕÕÖÕÖÖÏÍËÈ×çÛÕÕ³S6,)$'),PÛëîëëææçëêéçåäççãÞÔÑС           %,,"     �          }ÏØƒ8*!##()=ÀÛÖÔÔÖÖÖ×ÔÏÏÌØâàØÖ¿`812'"(',xçëìëééçééèèææèèãÝÖÑÐ          /:C@2                   “ÑÅ`-("# !#'IÍØÖÖØÙÛÖ×ÑÐÐÔÝÜ×ÕÂk;5,-%&')5™ììììëêèèæåæèëìéàÙ×Ò‰          @SZ[H          �      šÓ·^*!"RÓÖÔ×ÚÙØ××ÓÐÐ×Ù×ÔÃs92,/*()),=²ìïëéëëçæåãæèëëâÖÖÍ          %RhnlZ-            !¤Ò¬L' !!]ØÚ×ÙÛ×ÖØ×ÑÏÐØÖÖÊ|92/)-&*""+VÙíîëëëêææãâåçêæÞØÎi      ,Ytzzh:      �     ! 4¯Ò ?$!"+gÜÞÚÖÚÙÙ×ÕÒÐÕÚÖÏ6*.''*")*',}çîëëèéçãáàâåçèãÞÎX�        0d|€pD       �      /°ÍŠ8"%$+wÙÚÛÙÖÖØ×ÑÒÔ××Õ›<% &##)'-+*4£êëèèååâáßÝßäèèÞ·=       /`u„{nD                   =·È{/'-"#""2‹ÕÚÛÚ×ÖØÖÓÖÙØ×³L*$"+&"#(*.7ºìëêèçæßàáàâèèá¢,     5ay‚€pL            BºÃk(!"$#+<ŸÔ×ÚÚ×ÖÙÔÕÙØÕËf,"!$'$'&()>ËïîíêèäßßâäæçÚ}"     &Yw€nG"           N½·a +%.*I·ÕØÜÝØÚÛ××ÜÚÒŒ- ! !#"%$(^ßñòïëèáàÝÞãáËX ��   NjywdE*     �    O»±`&##/1UÃÔÚÜÞÝàÜÜÝÞܲA %&/çðóïçäàßÝÝÖ¤9  � �  Efnm]H-!#    �    O´­`+#/jÅÒÝáàââÝÛÚÝÉc$">·îðïìæäáà߯t!  ���  #Fjtr[N8'"        V²«\,#! " 0{ÈÏÞæäæàÜØÖÕ“2!"NßñóðèäãàÛºP �  5_{Œ†oZ>)#    �     �]²ª]*#% !'+€ÈÑÜåèãÜÙØÖ¶M/'' *}èóôîçåàÓ’7    Gp‡–|dC5#   �   W®§[, #"0‰ÇÎØãåâÙÕÕÈq:0+#,‘åóóìåäÎ|*    +Tv™•‰vZD6#   ���  �����   ��V°¤X(# 1•ÆÎÖâäÜÒÒΓA2+&" &P¢ÙñðêâÊs% ��� /g~Œ ¥‘ƒqYI3    ��� # �]³ªZ)#$&7›ÉÕÚÝàÚÒѸY8<+%"U«¥ÄîðçÃ]   �  =vŒ›§ª~sfO0      ���   a²¨_)(,%!$>¤ÓÝãÝØÑÏΊ7+8/"$SË᱿èè¶I    K~©¯®§œ”‰‚oO<1&       ��     `®£_/ %$)#$9°ÚâàÙÒÌ̺Y&", 3®æå¹¯Ç :    �R„Ÿ¯¸±°©¤¡—‡fT>;+  � �����   \ª¡\- "#%":»ÞßÖÏËËÇ1!'–Ýçæ¿\#   �"Z‹¤´½º¶·¶±§˜{aPB8'  �����   ������   �^§ŸW'%<´ÔÒËÉÉǯRIÑééÜžA    ���������+f“­ºÁÀº¾¾º²£ŽwbJ91   �����    �� [¨¤e):¢ÇÅÂÄŲj/(‘àçÊ{1    ����� 8t·ÀÆÄÁ½¶©›€jZI; ��  ��������    M¦§i+=”µ¸´´£d-$   !Z±®{D"       ������������ D~¤¹ÄÈÇÃÁÁ¼µªœ†sbP;( ��� ���    ;—¡e/!B‚™–‘{I%$  J“ŒQ(       ������@Ь¼ÄÇŽ¾¸´ª£ŒzdT@)          &x•f3'!"'!)?SYOB.%")% e`'     � <‡«»ÂÄÃÀ¼Á¹²©Ÿ|l]Q9   �  ������    b‡_8.(!'#        ���������������� 2|¦¹ÀÅÂÀ¼Á´²« ”†l`T=$  ��8   ��  "kl@('       ������+r¤¸¾ÃÃÁ»µ°®©Ÿ’…n_S@(   �$            sšxH&#     ���� /j µ¾Á¿»³¯§£Ÿ’‚naUF1         � u›{I      ������.^–³¿ÂÀ¿¼³­¦ š€m_PJ7'       �     q’m8           ��5]±½ÀÀ¿·°§£š“ˆ~n_PG9/      �   � 2ƒ‘g)       �� =]Š­»¿À¾¸¯¦•„ym\OI73    �      O‰ˆQ            !Be…©¹½À¿¹²¦˜Œ‰yl_OK=3#     �      #<gq3        '  �  'Hj„¡·¼À¿½³§–†~ytk_WN@3'     �      3FOYge6             ������ *Jj‡Ÿ·¼¿¾º²§™‡|uml`YNB8*  ��    "#;U]YNB%         �� �� *LeŠ—®»¾½»µ©›†xtjg`YOF@-%        '47;;8GE8 "     � ���� (Hf€”¨¸¾½¼¶® ‰wnifcZUMF5+    �    (>SQE5(            ���Cau‰Ÿ´¾À¾¶°¦‘|ka_`[WOH<2     ��    %DYTI1  *"           ��2Ui{“¬»½¼¶³¨•~pa^^^YRKG9&  ��� 5K`Q1   $"     ���  �����?]u…Ÿµ»»¸µ©œƒi\`X[UPQGD,  �   %*-'$&&)<DF?" $        ��   �(Fg•­·¹·³­ŸŠne`XURMII?3 ! %&"" �� !#!"*02@;8859@D?>889:62./03/2(,!      �  � :Yu‡±··³«¢xaZWWRMKL@6!  !%).)&$  "! % %/:=B95;9<?CFFLOQJJOTRJA1!       ��  .McuŽª´´°ª¤˜bYUTPJHJA5+ $#!�� "#$ (2698.1@CHBHKOTZZ]_YX^bY5!        ���   "3Ll€›ª¯¯¯©špXQTFGEB>3(    $($&"#  )+7/('/6=?IHMRRVY_\XPNPTK3#       �   -AZwŽ¢¬®¯¦ ”`ORIDE@=11#    �   !"' &*'/4:48DLINLE?88A6)  �     #   ";Ke~—¨«­§£šmTOE?>@70.%  ��   !$(%*$&((%"         #    2C[r‰¤®®¬¨¢–x]ODD98422&  �           �    � *    %<Se|˜ª®­«¦–‡o[JA:926-(   ���   ���      ���� /    �0F^q†¢­­«§‘|cL<55/.*&   ���     ����     ��� ��       *:T`€˜ª®®«¥™‹nTB853./*  �     �    � �       0IVt£°³®ª–zaM;8122*%"  #  ���                 *BSg€œª²±­¦˜‡nSF>2/3+#"     ��     �        =O\tŽ¡­±®¨ž|_LB52//+$  �    ����� �   ���       '@Ti™§­ª¦¢•„fMD;/0+(% ��   22��                  %F\w¡­¬ª¥š‹x[I=8670*#      ��         �        .Ji•¥«©¤š‘cPG8936-#        �      #         ,Op‹›¥§¤˜’…kRE9943.!!                         )Vu›¤£•‡s[I@:73,*  gjc^geiecq¤½ÂÁ¾¹¹¸¸¸ºÀÃÀÃÁÁÃÄÄ¿À¿¿¼½¼¼¾½À¿¼½¼¿À¿ÀÁ¿½½»¸¼¾¿À³ofq…ž¤¨­³–J !Pnyy||xvxwwxxzަ»ÈÍËËËÎÎÏÍÉÉÉÇÆÃ¼«•kF?NXdg`NB("(3$7ZaIXuGT/%-)<40%"%A;++MB@JGPIA&[fdVP¤­¤Œ4`e_)*Wn{„……s`RTQOT[\_Z_ÇÌÈÆÈËÏÊÉÎÔØÙÚØÙÛÜÜÛÙ×ÕÓÓÑÊÉËÎÒÒÓÏÏÌÎÏÎÎËÌÉÈÈÄÂÅÆË̶®¯±¨©ª­®¸º†5"#Omx{~}{xzy{{wz}‡šµÇÐÕÖÖ×ÙרÙ×ÖÕ×ÕÑɳdKQ_lrreZD' *;2:fkif€u=()!(CSmtO`VEC-9WpNO3LU=Wj}oGSu¤¯’9pnjP?csz}‚q_`,,<37?AIIKVb·ÌÊÉËÌËÉÉÉÐÔÚÙØÖØÜÞÝÙØÕÔÖÒÏÎÑÐÒÐÓÓÒÑÐÒÏÎËÌÉÉÊÇÄÅÆËÍǾº¶³°­­¯¶¾ªa%!Mpx„}~~~y|‚‡•®ÆÓÛáäæééêëìêêêëçÞʪy]dhv€ƒ{o[C0"2APG8"$Skz‡’••”Љ‚z|ƒˆ‰‡…‡Œ˜”–£§¥¨ŸŸ¤ ¨«²·²¿·½ÂÀµ­™ƒosˆŽˆ†}twm0AA=;FPTLY]šÊÎÐËÌÇÃÇÉËÏÖØÙ××ÙÚÞÙØÕÑÑÒÓÒÍÍÎÎÏÔÓÑÐÏÎÏÉÈÊÈÆÄÄÄÅÆÆÅÀ»¹¶´¯®¬²·µA##Ejv}}z~}€|xuvw|ˆ˜±ÂÐÛãåèéëìííëêêåØÈ¬igoyƒƒƒzoZD4$7ELQF0%Edq‘–—™˜˜“’‘Ž”œ¢¨«®­­¯±±°³¶¹¼ÀÂÆÉËËÌÈ¿«–…™˜‰|}{yBHIIKNS[QX[o¶ËÏÎÈÁÁÄÆÇÉÏÔØØÖÕÖ×ÕÕÔÎÏÐÐÏÉÊÆÇÉÐÍÍÎÊÇËÊÆÆÅÁÁ¾½½ÁÁÁÁº¶²³®¬©©­²¯~)9_pv{vvyxvsrmmjpw€¦ºÊ×ààßÞáâäââßÜÑ«Œpgpx‡ˆ‚ykR@) -8@LVJ-# Riw”˜š™˜””““‘’™¡¨««®®±¯®¯²¶¹½ÁÂÆÊÌÌÍËñ¢—¡Ÿ’‚x|}}y\d]W\_]_XZW`ŽÁÌÊÈÂÀÁÄÄÆÊÏÔÔÓÓÐÒÓÓÑÎÌÍÑÐÈÆÇÈÇÊËÊÉÆÄÄÃÃÁÂÁ¾ºº¹¼½½¼··³±­¬¨¤¡¨±«o6/Venqnpprokjc][`gpz†–¬ÅÒÓÓÐÏÒÓÑÓÑËǼ«‘yoqz‰ŒŠ‚sbS=%!%3BQV[QD*>^j{Š•™››œ˜––•’’“—¤¬­¯®­°±¯µ»¼¿ÁÃÆÊÌÌÎÌô©£§£œŠy~}{|S^WTZL^\[^Wap³ÇÊÈÄÂÄÃÂÄÅÇÎÎÏÍÍÏÏÒÐÎÏËÏÑÊÁÅÆÂÇÇÉÈÄÁÀÁ¾À¾º¹¹¶º¹³³´´±¯­«©¥ ¡§¬”@?!H]dfbedef_YQLNOUbnqyª¿ÆÅÅÂÄÅÆÄÅÿ·¥“‚vrw|‰‡‚ym]K2#!,'.BQT[XS;&,M]p}Š—›œšš˜–”“‘‹˜ §¬­­­®®±´º½ÀÁÄÈÊÍÎÏÉÀ¶¬¨©Ÿ”†}|}{{|TXUV_\\\^\Vcc“ÁÉÌÆÃÃÂÃÀÁ¾ÂÉÇÅÇÍÏÐÍÐÎÍÍËÇÁÂÂÁůž½À¿ÃÁ¾½º´´´µ´±®®±¯­®®®¬¤ £¦§w, &#'!)COUVZXXRKH@=:<@N^_Zf†£³»¾¾¾¿½¹»º¶²§™}vx~†ˆ…ypgT?4&!#(01?KTY^XK+'0Sfq|Ž”›™š˜–”“ŠŠŒ“œ¤¨ª«¬««¯µ¸½¿ÁÄÉÊÎÐÍǽ²©©¤™‹€yx}}|{XXX[^VYYZTRbak°ÉÌÇÄÃÂÀ½»¸»ÁÂÁÃÇËÌÍÉÌËÊÈÃÀ¿ÁÀÂÂÄ¿¾¾»¿º·µ·²²³´´²¯¬®°««­­®«¦¥¦§£\)0,(!(6GKMMLC;73/+.4=KROGQ}¯¹¼½¹³±®²®¬¢™‚{{|{†„}vpbQD3$"'-8KJPUZWV?,+D\eq‚Œ’˜™˜•“’Œ‹‰ŠŽ”™¡¥«¬«¬­´·¼¿ÁÄÇÊÍÒÍ÷«¥¤Ÿ’ˆ~}{~|}|VVZ\^TMPLWS`]Z‡ÄÌÇÅÂÀ»¹¶³µ·¿¾ÀÃÄÇÈÅÆÅÆÃÁ½¿À¾ÀÁÀ¿¿¼¾¸·´³°¯²¯°²µ²³±°°®­­¯®®©§¦©¬›:%")#(5HFC<610-*')-4<IH>>Y†¦µº¸´®«¥§¥¤œ—•‡~z}‚‚zrj]Q<*$26?MJQXV[ZRD)")3IU[ew~Š’——”“ŒŒŒ“šŸ¥§©«¬²´º¿ÂÄÆÊÌÐÌ¿±§¥ž˜Œ„ƒ}~~|~NZU[VDMMHYYab^o¸ÆÉÄÁ»µ·µ³°¶»¿¼½ÀÅÃÅÈÄÁ¾¾¿À¾¶¼¿¿ÁÀ¾¾»¹¶µ·²°°²±³²´µ³´²®®­®®¬©ªª«°x!! ;FC<5,.-,)-+,6:>@>9Ci’¨±±¬¥ ž—˜š–œž›‚~~||zzsnhVH8,68CFLSV]`\\N<#44FRYblx‡•––“ŒŒŒŒŽ”—¤§«­°¶¼¾ÁÂÄÊÏÎÆ¹ª ›—…}}}}€‚ƒTYPM8;?C?SR^ce^޼ľºµµ³³²µ·¼¾»º¿ÂÃÆÄ¾½»¹½¼·¹¼½½½¹»º¸¶³´±­«­«¯³·µ´´³±­«««©§¨§¦«¬X)R2/51/+*))&**0038421Fmˆ‘”ŒŠˆƒ~}y}ˆ•”Žƒ{||{zxxwwqhSH>92DHORV[aedeQ8 0,HRVXisƒ”””’ŒŠŠŒ‹ŒŽ•›¤©­±µº¿ÀÁÆÊÎÎÅ´£˜“†~{|}„€}‚XaPPQH@ADTO]da`h ¾Á¼¹·µ³³´´²´·º¸»¾À¿¿¼¾·º¼¸µ¸¹º¼¸·º·µ´³±®¬¦©«­±¶´¯±³°¬¨¤¤££¥¡¢¤ªš> 3F&$.10//-+)-()/,1/,)3H^imhhg__`_alz||xsruyzzz|{teUKJHIILNR`dillaP,/;9KM\X]r„•”‘Œ‹‹‹ŒŠŠŽ•¥¬²µ¸½ÀÀÄËÐÎî™’ˆ€}|€€„…ƒ„…OLTOKGA:>PLae[^a„¶¿¼··µ³³°°­²´´³´¹¸¸»º¾¹¹¸·µ´¶¹¶µ··µµ³°­©ª¦¨¯¬¬¯­«¬­­¬¨¢¡ž¢Ÿšš˜Ÿ§r*>5 //./.-+'+)%($&%&&+:IQRSQPOFHGEOZ`ehhrtwwy}‡{q`TN@AFDFT]hlqmhY<,2=CM[[bt„––ŽŒŠŠ‰‹ŽŒ‹ˆˆ—Ÿª±¶¹½¿ÁÆÌÏÉ»¤‹ˆ}{|€ƒ„†„…‡JLOPOKMKIQO]^X^`l©½¿¼¹¶²°¯¬«µ·º³±¶¹¼¼º½»ºµ¶¶¶´¶µµ·¸³µ±°®¬ª¨ª©§§¨ª¨§®«­¦ ž ›™——ž–6%<693*,.*-*%# !!!"&,4=GJJLJFFDA96>EQ_dnqvw„†Œ‡~iXM??;=LV^hptttfO0*<BIPWU^j}‹”–““‹Š‰‹Š‹Š‹‹‹Ž“›¥­´¸¾¾ÁÈÍÎÅ´œ‹‰z|}‚„‰‰ˆ…MMHPVTUSVXW]]Y`\X€³¿¾ºµ±®ª©«¯²¶²³³³µ»»»¹¸´´µ²®²°°°³²²²®®¬§ª©¨§¦¦¨§¦©©¨¨¤ Ÿ¢Ÿ›˜™š¡…*,0"8BB<01.*' $""#%&0:CHKJOKJIFA726@MV`kqw|†Œ““„r^I?2()@^cgpvxztfU*3>LLPX]bt…’——“‘ŽŒ†Š‹Œ‹ŽŽ•ž§°·»¿ÄÊÐ̬‘†ƒ~ƒ„‰‰‹ˆRMOR[[[US[RVXYW\Z[–»½ºµ°¬ª©«®°±±´³µ²µ¸··¶³³°­­®®­­­«¬±®¯®«©©¦¤¤¥¦¨¥¨¦ª§¤£¡Ÿ ¡œ›š—™¢_#+5 4GQRLG4-($!&((013>EHKMMQLLJG@8/7?LWinsz€„ˆŽ“—‡yeF7* 0LddjquzsdJ&(<EOMSZci}Ž•—–”Œ‰‰ŒŒŽŽŽŽŒ’—Ÿ©²µ¼ÂÉÎȹ¡ˆ„ƒ‚€€‡‡†ˆŠ‰‰NQTUZUWZV\SVWOXTRRr°º¹°®«ªª¬®¯²²¯µ´±®¶µ·¶±¯±­«­«¬ª«¦©¯¯®¬¨¨§¦Ÿ¢¤§¦¦¥¤§¨¤¢œ œ›™–™–&3C))8SU\YUA7( !#.7F@GNONMNMLMMNLD?8=HO_lqw|„ŠŒ’–“Žˆ~oVA;47Xbfmpv|€„|n`G+4EEGQ[[cs‰‘™–”•””’Œ‰‹Ž‹ŽŒŒŒ“™Ÿ§°·ÂÇÈ­”€„ƒ€ƒƒ„ˆˆ‡ˆˆˆSQTZZXYVYWS[SOXVQOU“··±­«§¨¯°®¯®±²±¯®³·¶¶²¯ª§¥©¦¨ª¨¨§¬®°®©©§¤¦¢£¤§§¨¦§¦£¡Ÿ¡ŸŸš–”“—¡c)<”u<HUY^[XK<''4IRWYYXTPMMJNPOLJGDGQ]jv{‚„‡ŠŽŽ‘Š€n]LCFZehmsy~„†ƒ{l^U2'2CLTZ[`e~’š™—”’“’”‘ŽŽŒ‹Œ‘”— ¨«¶¾½²¡‹ƒ„‡ƒ…‡†ˆ‰ŠˆˆŠ‡UUSXOSVZYUIVVQTLOEH\ ²°ªª¬ª¬­®­¬¬¯±±²¯°´®¬­¦¦£¥¨£¥§¥¦¨«¬­¬¬¦¤¦££¥¥§¥¤¨¦¥£¢¡Ÿ¡žš˜–’’˜¡5.E“[@GPY^]YK6 5M\ddaZWRQMQRQVNNKKOVgl}‡ŒŠ‹†„†‹“™—–”…s[PNWdfmrx|‚‡‡ƒymbP)6KO^\__n†˜š•“’•–—––’ŽŒŒŒ‘’’––™ ¦«¨š||ƒ…‡ˆ‡…‡…‡‡‡…‡‡…WWRSPQWVKTOTQPMGB?8<o¨®¬¬­­­©¨¨©­®±°¯¬°±¯©§¦¦¥£¢£ £¥¤¤¦««®«©¨¥¦¥¥¥¤¡¢¦¤¤¥¥£  ¡žš™•žv#$5P†P?CJYZ[VG.#7M`gd``\[RNRSTUSRSRW]p|‡Ž’އ}‰’𢍩¢•}j]XYehls{{…ˆˆŠ„ylaMFTWbaciy“ž¡›“”—™››—’ŽŽŽ“’”‘’•›ž˜x]xƒ††…„‡…„†…†…ƒƒƒSY]XRZ]XRVOLSH>:CM//>™¯­«®°°ªª¨«¬¯°¯®ª««¬¬§¨¨¦¥¡¤ ¡¤¦¦¦­¬¯¯©§¥£¦¤¦£¢¥¨¨¨¨¨¦¤¤¢ž›™—•‘—8"7J79\ƒQ?JR[]XU> !0N`hhd^_^WQRWVWWTV^eq~’”‘Š~€‚Œ• «¶µ¬ž‘ve^Ydkovz~†‹‰‹Š„uha_bakjkp…𢡗’“”™œ¡ž›–”“’Ž’’‘“’““‘‘”˜–_by‚ƒ†‡††…†††‰…ˆ…†PURRKURJH=F?F1//'@¦¯¯°°­­©©««¬¬®°¬«ª©ª©§¨«¯§Ÿ£¢¤¦¦¬¬¬°«ª¦¢£¦©¦¥¤¦¤¨ª§ª¥©¢ £¡š——•’œ~ !DU\L>r¤PDGGTY\P*!,Q\ghb[]`XTUYa^WX_iv}‹™š—ˆ‚†’™¤­¶º¼µ«œ„rd_cipx|€‰‹Ž“Žvlgiinrq|“Ÿ¦£–“’•¡££¡œ˜“ŽŽ’’““““˜œ›†x•x‚…„†…††„„‚„|RPSMFIL15=.A1.%c«²±­¬­§©¨¨§©ª®¬­§¨©«ª­¬±ª£¢¡¢¦¨¨¬­¬¬©¨¤¢¤§§¥¥¡¢¤¨¨¥¨¨§¥¡ š™—–—£M 'AajlR@l§YDCSZZYG"%*D_dif`^_YWZbhg^_ds‚› œ—’‘”ž¥¬µ¹¿Á¿¸¨‘~mfhkrv{Ћޒ’‘ˆ€vpruw{|‡›§©¡””’•šŸ£¤£ ›—’“‘’“’’“‘‘”šœ˜yux|‚ƒ„„„…‚„€€€ywYKA<7:=8+3*(% "(±²­­©¤¨¥¥¥§§««©§¨ª«­­ª§§¥£¤¤£§¦ªª©¬§¦¤¤¢¢£¢¢ž£§¦¤¦¨¨¢¢ œ›—““–¡™#-PepwyPCh¬YBQW_YP1!)CYagga^`XW]imkcbhyŠ–Ÿ£›”•—›£§­¯¸¿ÃÆÅ¿±ž†tikntz€ƒŠŽŽ’’“ˆ€xw~~‡•£©§œ””‘‘”˜Ÿ£££ Ÿš•“‘’“’“‘‘“–™œŽ}Œnw|€ƒ€|zvurounXQ()2)%"!U°²¬ª¨§¦ ¢£¦©«ª©ª¬ªªª©ª©¨©¦©§¦©««ª§ª¨ª§§¤£¢¢¡žŸ¤¦¦¥¦¨¦¢ŸŸ˜š™”“”œ®H%Ner€…€ECj®bHXYYT<$!")DTbkjda^[Zcllmdgl€Ž•Ÿž–”•¥©¬±·ºÁÇÌÉĸ¥”|plruz„‹‘““’‰‚€„„‡Žžª«¥š“‘“•š¡££¢Ÿœ—”’’•“‘“˜ššˆ„wjrvzz{|x{xtpofe`T’‚umVI*y±®¬ª¥¥¡Ÿ§©«ª©¯©««§ª«ª¬¯¯©«©©ª«¬¬­««¬¬¨§§¥¥¥¡¤¤¦§§¦¦¢¢¢›˜›››—˜™¥š /JdsƒŒz@C^³kFSY^W3"'*@Xjookbbd_krllijvŒ•›–•˜¤ªª¯±¹ÁÇÊÍÐÊÁ²›‡wsqw|‡Š–”•”“’‰ˆ–§¬«¡—”Ž”™Ÿ¢£ žœœ˜•””’’‘˜š—Štolpqsrtqpjd_WF<0(©§¢Ÿ“†~l]P.7"$’­«¨¥¢¦¦§¨©ª«ª¬¬°¬ª°¯¬¬®«­¬ª¨¨«¯°­««ª©ª©¨¤§©§¤¦¨§¦¥¢ŸŸ™š™™—”•—¦c!Icrއ]@EY¬wQOWYO$!#(6Umooqkbc`hpjkmt{†Œ’—š–œž§©¨«³¸¾ÅËÏÓÎÈ»§‘€wwz~†Šˆ’”—–””‘Œ‹Š”›«¯©Ÿ˜“Œ•›žŸŸŸž›–““ŽŒ“–© “‹Žpfihid`_]U<793#«­±­§¤•yt[C4)L¤«¦¢¡¤¥¥¦©ªª¨©¯±´±²±©ª¯°°¯ª¨¥¬®±°¬­«¬ª§§¨¦¨°¥¦¨¨ªª¦¥¦£Ÿ™–––”’—˜%!CepŽy??CM©}SLWVF #(7Yprppqhehknkllv‚†ŒŽ•š˜¥§¨ª«±´¼ÄÊÒÔÓαŒ‚yƒ…†‹’’”–•“•‘”¢±°¦œ˜””‘Ž”—™šœœ Ÿš”“‘ŽŽŒ–¿Æ­›¡´vh_ZYSK<.( !¨¬¬¬¯±²®®§ž–‰pdNB.x§¤ž¡¥¥£§©©¦¨ª²·»·¶°°°²µ°¬¬««­°³²¯«­ª©§¨ª§¢ª«ª¦¦ª­«©©©¦£Ÿš˜—”“c$@dr–‘‡Z=@DJ™‚TMOH'#%$&(7Yowwvvqoipmkrx~Œˆ‡Ž”›™¡¨ª¬®®±¸ÀÄËÒÔ×Õɹ¦”†€ƒ†‡‹’”–•™—•“’Ž™¬²®£›™•‘’‘ŽŽ’”—››œ ›–‘‹Š©ÛÙȰ¯½¨zjZK;4+% ªª¨­±³·¸·¹´³¬¢—†~icZP.!'ަ £¤¦¥¨«­¨«¬²¸¶¶²°´´¯²±­­±±²²´´²°­­¬¬­ªªª§­­ª©©¬°¯®®ª©©¥ ›˜™”•¦/8^qŽ™—Ž{C=AEH‘—ZUE4!)'*/08Yqzzy{wskmeiv}ŒˆŒ’™ž£©«¬®¯³¹ÀÅËÓÙÙØÐÀ±Ÿ”‰‡ˆŠ”•——˜———••‘‘¡±´® ˜˜—–’’“”•—˜œ ¡œ˜’ŒŽŽªØßØÅ»Äá‰yeM3%%! ««¬­°²³´µ·µ¹¶³²±¨¡”Œ‡woT?.H¤¤¢¤¦¨©©©©®²´´´´¯±±°¯°¯¯³³µ´´²°¯¯¯­°¯­®­¬°³±«¨¨®°²´­§©¨¦¢œ˜–›~%Zk|Ž™œ•‰l=?ADH{Ÿ^TH,#&&),1;Pky~xokcnzˆ”ŒŒŽ’™›¡§ª¬­®³µ½ÂÆÏÕÚ×ÓǺ©š‘Œ‹‹Œ“••˜š˜———••‘–¥²µªœ–•”•’’’‘““•—š ¢Ÿ›•މšÉÙÜÔÇź­¡–‹weI'#®­°²´µ´³¶µ¸º¼¼¼½¼·±¦›”Ї~hX~§§¦¦©¦ª©¨«¯³´¶·¶¯°±»·³²´´´¶¶¶´³³±²¯²®±°²±°µµ±¯¨¬²¶·°²®ª§¤ žœ™˜¦B=ewˆ˜›’ƒ\>CCCHpš`VU,$'201658Icy€Š‹ˆ‚whbp}‘••“š ¦ª¬®­³·¼ÀÃÊÓÜÚ×϶§—ŽŽ’“••˜™›™™˜™–”›¬·±¦š••–””‘‘’””“•˜šž ¡¡–‰…¹×áÜÐÌ©«¥ ˜zf>#¯°°³¶´···º¹½¿¾ÀÀ¾½¾¹²ª¢Ÿœ—‘…z›ª¨©ª©«©©­°µµ·¹¸·¾Ëп¶µ¶¸·¹µ¶¶´´±´¯±°³³´²³µ¼¹·±´¶¶¸´·³±¯¬§¢™˜¢.\o„”ž™wM>?BDKpžmWYB!&*6617/.7QmŽŽ‰kowˆ–˜•“’”–šŸ¤¥«®±³µ¹¿ÃÉÑÙÜÙÔ̾®¡–“”•–•—˜˜›œ›˜™™™¥´¶°¤š˜””•“”“”“••—™  ¢£›|°ÕæåÙÕÈ­©ª©§¤œŽ}kN#®±°³µ¶¹·º»»¾¾¿¼»»½½½»µª£¨®«¦™‹¢®¯ª¨ª«­±±µºº·»¾»¹¹¾»º¼¼»¹¶¶µ±°²³±±±´·¸··»½¿À½¹»¸»»º¸¸´°ª§¤ž—›«]:ctˆ—Ÿ™’…iA>>BCJe¡xSU[,"+/3077-'#&8]zŒ“Ž…sx|šš––••––—𠤬®¯²²·¼ÀÈÒØÛÞÚÓÉ»«ž˜”––˜™—™™š›šš›¬¹¶°¢™••”••”“““”••˜›ž ¢œvc¦Òâæá×Ѷ¢¢§¬©©¥ž‘€nT'"%0<¬¯±²µ··¸¹½¼¾¾¼¼»º¼¼º»µ¦£­µº·®£Ÿ­±­«¯¯°²´¹¼¹´¸»¹¹¸»¼¼¾¾»¸µ´´´´¶¶´¯±¶¼ÃÀ¾¿¿¿ÈÆÁ¼½¿À¾º½¶µ­ª§£œ˜¢¤&3Tew‡•™”‹{Y=AB@DJn¸ŠYUY='0378870+('%,Lq…‘”’Š{|‹–œ›—š•–––—ž¦«¯²µ·½¼ÁÇÏ×ÚÝÞÚÒñ£š——˜™˜˜™™œ›šš›¡±º¶¬œ—••˜˜”–––•–—˜šž •jc’ÎáèåÛ×¶š™ ¥¦¨¯¬£“„s[F09<@OZdª«®²³µµ¸½¿¾¿¾¾¾¼¼¼¼½¸¯§§°´»º¹µ®¯·±±°±°±µ··¶³¶¼¿¼½¹¿¾¹¹º¸µ··¸·¸¶·´¸¹½ÅÃÁÂÂÂÆÉÆÁÀÁÃÁ½¾½º¶®¨¦£ ±q 1R`gx†‹qK=@@BDMu¶‘]UTV,,3696-&$(!!$Ad——“Ž“œ¢¢›šš•–––˜ §ª²°²´µ½ÁÈÐØÞáßÝ×˺¬¢šœ›šššš›œ›œ›©¶¾¶§žš˜–––——™™˜˜š™™™›Žfj¢ÏßçéáÛÁ£™˜Ÿ¥¨ª¬ª©¡—ˆ|m^Y[biryª««­±µµµ¹¹¼¿¿¼¾¼½¹¹¹·­©¯´·¹º¼¹·³·¶³±±±±µ³´³´¸¼À¿À¼½º¹¶¹·»¼»»¼¸¶¼¹»¿½¾ÃÆÄÃÃÀÅÆÂÁÁÃÃþÀÀ»¸¯©¤›¡¸:.I`fkt†ƒ|wgA>??BEMo˜eUW]A/430-!#&)"$!2YwŠ•š™™ž£¡ žœ›——˜—¡§®¶´µ¶·½ÂËÐÖÞßàÞÚÐÀ´¦žŸž››œžœ£®¼¼²¥™–––˜™–˜—™˜——š˜†`o¦ÐÞâçßâ˰ª œœŸ£¦«­­ª¤›’‡{pnrw~…¬©«®¯°µ³´··¹º¸»¸¹¸¹¸¸´´µ¸¼¹¸»¹º´´·¹´±±±³±²±³·¼¿½¿½»º¶¹·»»¿¾¼¾»¹»À¾¿¿ÂÂÄÁ¿¿ÁÁÀÀÀÀÃÃÀÿ½»³¬¥›—¤Ÿ #0O`dggjtxxskZ<>BBCDNoš©n[WUT5>B3(%#!%$%#)@k…“›¦£¤¥§¤£¥¢ŸŸž›šŸ¤«±¶·¹º¾ÁÅÌÏÖÚàßÝÜÖʽ®¤¢¡žžžŸžžž ªµ¼¼°¤žš˜—–š›šššœ™˜™—ƒi{¯ÔÞàààÞÔ»¸±¥ž›™œž¢¨¬­­ª¦¢™’‹‚~}ƒ‹¨¨«®°²³²³µ´µ¶·¶³´³³¶·¹¹¸·º¼º¸·¹·³µ¼·²±±±²±²³¶º½¼¾½¹¸¸¹¶¸º¾ÀÀÀÀ½¸¿ÀÁÃÁ¼¸²¯©£—”™£¬³µ»ÅÂÂÃÁ¿»´¯¤™ªd/9KcgghklnnnkhI:?BBBDNo•¥s[VS[G3.("!$"%$)%(6a}š§¬ª©©¦¥¥¥¤¢¤¡ž¤¨­´¹½½ÁÄÅÈÎÑÔÙÜßßÜÙÐIJ§£¦   ¡¡¡Ÿ §°º¼¸¬¤š˜™™™™šœ™ššˆxÁ×ÚàâÜÝÚĽ½¶¨ žš›› ¤¦«¬®­©¥¢›•Œ€‚„§©©«¯³³±²µ¶²³²²°°®²±³¶·¶¶·¸µ²¶´²²±·¹¯±°±°°²³µ¸¹»¾º»¹»¸³µ¹½ÀÀ»µ±©¨¤žŸ”Š}„‚}wont|„—­ÂÂÆÇĺµ­¤ ›/%*AR^beefhhgife]@=ADABDNq™±{`XURO.%#"%#'*+/Fg„–©°­©¬©¨¦§¥§©£¤§ª²¶¾ÁÅÅÆÊÎÒÑÕ×ÙÝÝÛÙÓȹ¯¦£¥£¤¢¢¡¢Ÿ«µ¾½´¨£ ›š™›œžžŸœ™šŸ¨ÈÛàáàÝÛÚľ¾¼´¥¡žœ˜œŸ£¨«­­­«©¦¡–‹|w¨©«®³²³´´´³³³¯°°±°±±°°³µ´µ´³­²¯°­¯¯­±²³´²¯®±´µ·¶º¸·±«¥¦žšœš’‹‡†„„…€~‚~~€}upgbmnnlsrŽŸ® Š‚‚‰˜¡¥†3,?HZ^`ccdc`fifa`T=?ADACEKm–®…d]XQRE( !!%$$$(*,5Pv‘©²¯¬­¬©¦©¨ª©«©ª®³¸¾ÃÇÉÊÌÒÒÓרØÞÛÛÛ×ÎÁ´ª¦§§¥¥££¡¤°»¾º³§¡›šœ›œžŸŸ¡ž£¾ÂË×ÜÝÝÚÖÝǼ¼½º°¤šœšœš›Ÿ¡¥§©¬­­ª¨’‚w©ª¬­±´´¶µ³²²±±±°®®±±¯±³±±¯°¯­­«««¬¨ ²½»¸²¯¯²²°¶°¤™”„€…‡†‡ˆ†‚ƒ|yzw~€‚€}usolihihgdfcdhedhcbednƒš¶wHVRWagdfccddbe^[L;=CCAAFKj–³‰hg\TST5"$$''$'+,,3>[ƒ¨µµ±°°¬®­­­¬­ª¬°²¸ÁÃÉÌÎÏÒÔÔÖ××ÚÜÚÚ×ÒǺ­§¨¨¨«¦¦¦¬¸¾¿·®¤¡™š˜››››ŸŸ œ¦¾ËÏÕררÐÜÒ¹¹¼º¶­¢žœ››™šœœ¡£¦ª¬¬°«¥™‘‚©«­¯°µµ¸µ³´³³±±°°°°°±¯°²°°°«¬¨§§§«¦šÁ¾º´´±²²­Ÿ•‹†Œ‹‡ƒ‚„„ƒ€~vsuxyyy|qnolnpifc`Z^`^]b``_abbflv¦]]adbbddhchgcd]UB=?BAABEKb•¶•€t^UTW@""$%'*''&.399Gt¦¶¹¸¹´´²°³¯­¯®°²¶¹ÂÉÎÐÑÔÖØØ×ÙØÚÜÜÚÚÕ˾´¨««­«ª©©²½À¼²¬¤ž˜—š›žœŸ¡¢¡³ÅÌÑÔÔÒÑÑËÒÒ»·¸º¸²© œš›˜š›œŸ ¥ª®±°®¥œŽª¬¯¯±³³´±±²±±°²±±±¯°®¯¯®¬­¬«©¦§¤¦¨¡–‘ªÀ¾·µ²¯§•‹‰‚ƒ}~{y{{y{ywtphhoustrutiffflhecYSQSVVX\^^]abaabhr€n_bebcc_b_bdbb[S;<@AAAACIf›³§yid_ZVS.%()()'-')5:@Dcš¶¾ÀÁ¿½º¶¶¶°¯¯®¶¸»ÂÊÏÓÖ×ÙØÙÚÜÛÜÜÝÜÛØÎ·­®¬¯­®«°¸¿À»°©¡œ––™œ›œ¢¤«ÀÈÉÎÏÒÑÒÇÁÄʲ³µ·µ³ª¦Ÿ››œœ™™™˜š› ¤¨­®®«¦Ÿ©¬¯­³²±°°°¯­¯®®®®­­®®¬­ª©©§¨¦¥§¥¥žˆ‹’ª½¶²±¢“„yursptuuxvpoommloomojegijd\\\^[TTORUUW^^_\]^\`achs{ijaagfb_^ac__[P7@ABDAABJa•­¨|hc`_ZWD**+*-*-&.<?@IS¬ÁÅÌÆÄÀ¼»¶±¯¯°·¹¼ÂÉÏÕÖÚÛÜÝÝÝßßßÞÞÜÙÔǼ±¬°±°¯®³»ÂÀ¸¬¤ž—•–š› ¤¯ÅÉÄÄÅÅÈÊĸ¼Ã­ª­´µµ¯¦¡œš››—˜›˜œš˜—™›Ÿ¤¨«¬®©§©«¬¯¯³´±°¬®­«¬®«ª«¬¬¬©©¨§¦¥§¤ £££–tsŠ•°¸°¡‰ˆ|{snljjjhosopkllnmjiijighddfbWRUUWRRPOY\ZZ]_\WZ[`abajwpdbddcc^bbb`c`D;?@ABBCDIVް¬†odbb^_V:.+,*,,(.<BFP[i‘·ÊÓÐÊÅÀ¿¹´²¯³·½ÄÈÍÒ×ÛÜÞàâàßáààßÜÛÙÔÊÀ·®²²³²´ºÀû´ª¡˜—˜šž¢±ÌÎÆ¼ÁÃÀÃÁ·°¼«¤¥¬²¶´«¡žš›š›œ››™™˜š˜™˜™œ¡¥§ªª©©©«­±±±³®¬­¬­ª¬©ª«¨§¨¦¥¦§¥¤££¡¢ ŸŸŒ–y\s’©—‡}ypiigddadcefhgefhghcda`ccbc_]YWRWSTPUQV\ZY^\\WVUW^^ddiweef^]c`gYb_aW;=?@@BBACJ[¶·‹pigfgj\H4////-+1>DHRc`c“ºÑÖÒÌÆÂ½¸¶°´»ÁÉÎÒÔ×ÜÛàäãâáâßààÝÜÚÕÏļ²²´³¶·½Â¿»¯§¡œ™–šœŸ¬ÑÙÊú»¸¹¾½»°¬¡œ¢ª±²®¥œ››œ›™˜™™š›•—˜–—™Ÿ£¥¨©¯¯®¯²±±±®®®­¬¬«ªª¨ª§§£¤¥£¥¡¡¡¢ Ÿ¡ž”rgTJRgmr{zysg`_a`__acdbbcc`bc`^`cabceb^][YUUTWWSTRYYZ[\`]YZYcbgggroaa^`^`c^h`aN;A?ABCBBDL[³¸’rmlomndW:2360/4:GHBQpmKO†¶ÏÕÓÊÅþ¿ºº¾ÃÊÑÓÖØÝÞàâäâààÝÞàÝÜÛ×ÑÆºµµ···¹½ÁÀ¶¬¥Ÿ™˜™›¨ÖôçϽ²³¶¶ÀÆÅ©  ˜š™¦¬²«¡œ™›œ› š›—™œ›–˜˜š———˜›Ÿ¤¦¬¬«®¯¯±°¯®­¬ªª¬«©¦¥§¦¥¢¢¢¢£¢¢  ŸŸ›†_YTPMORT`aa[WRVYY]W^\`gffjqnc__\\^b^[X^XUSPUVUXWOSVYZ\[^\^[bbhmkkuh`]_aacaia_F;??@AC@BDKYˆ°¶œ~lkpnnkdM;789:<;EFCPvuOMt¥ÌÕÕÑÌÈÆÅÃÃÇÉÐÔÖÖ×ÙÜßâáãááááàÜÙØ×ÔȽ´¶·¸µ·À¾¼³«£œ–—¶æïâÓDZ¨¨«ÈÓÏ·›’”ž—–™Ÿ£¨¥¡š˜š›šš˜˜–˜˜˜˜——•••”•—œŸ¤§©¨¦¨«¨©©©©¥¤¦¦¥£¥¤¤¡œŸŸ ž žžœžœ™Žyg_TQQPORRXX_\]X\cigo…›¨´¿À³³©–‰uXVVTXWSOQXTWZ[SUVZZYUY[_[]^cjjhmqb_\a`cdgbW?=A@@BAACDHZ­¸¢jinuomi[>;?@=DCFIESuum‡®ÅÒÖÕÔÔÎÍÊÊËÍÏÔÖÖØØØÜÜàáãàâßàÞÜØ××ÔÌÀ···¶¶¹¿»¶®¦¡”Ž‘ÁäìâÒÇ´£™ŸÄÏÓ¶¦„™—˜•—–›ž  š™—™™œ™š—˜——™–˜••–”•–”šœœŸŸŸ ¢¡ ¡  ŸžœŸœ›šœœ™œ™–š˜˜™–}haebce^`ddgttwuwvtz…‡œª±·»ÃÈÉÅÈÊʺ¢„dNMLU]VWWXYa\Y^[Y\^[X]Ybejkmokb]cabce\N8@A@?ECBDDIU}£¸¥€snrvuppgMDAECEJOLNXpn¢ÁÑÕ×ÕÔÑÏÒÎËÎÍÒÕרÖ×Ù×ÚÞááâàÜßÜÛØÕÖÓÌÁ»·¶¶¹½½³ Œxlr¡ÉßèäÚÑÄ­–œ½ÍѲ©œ„™—˜–””“˜–——›—™˜˜˜š›™›™˜——–˜”•”•”“–”’“”•˜—–˜˜——™™˜™—–••””•–”•““”•““”‘‰}reqrqx~…ˆ‰Œ‘•ŽŠ†‰‘Žˆ˜œ¤¬«¥¤©§¡£Ÿ“{eZYZ\\`_][^[]Y]\\ZY[behlmqmgeeebddZB=?BC@CCCEGKS¨º®‡vqsrwqpg\HDDGGKNKML=O‚ ½ÉÒÔÔÔÒÐÏÑÏÏÏÑÔ××××××ÚßáááàÜÛÚÙÖÔ×ÒÎÆ¾¸³«Ÿtc\`j‚¨ÌÕÞæãÚÒ¸Ÿ•­Ç̱Ÿ’Ї›˜—–••”‰†’”–™˜š™›˜™–˜—˜•–•–”–””“‹ŒŒŽŒŽŽŒ‹ŒŒ‹Œ‹‰ˆ„xthSeks‚ˆ’œ°½¾¬–›™‘“‘Œ’—‹€{{z~‰†„}}usuvh\ZY`^\ZZWWUTYTXWV]bekonppeebbcaW:=>@@@CEDDFIV´®~urjnoib\C112;881+&+^€œ¶ÅÍÐÒÓÒÑÏÎÎÎÏÐÒÕÕØØ×רÞàáÞßÜÚØÕÓÑÒÑÎÀ£kXVVX^ivžÀÔ×ÞââÛÈ­¢«¸È­”ŒŠ’–›˜••••„|sv€†ŠŽ•—˜™—•”–––––””•–”’’ЇЉ‹ŠŠ‰ŠŒ‡ˆ‰ŒŒŠŠ‰ˆ‰ˆ‹‡…ˆ‡‰‰‡…ˆ‡…‚wxocUVclt€•¬¾À¾»³¥™“˜‹Œ…‘ŠŒwpkjo{wxwrjccc_^lhYRYYVPNOLURVUQZ^diooosnf_aeaN=@>AB@DDFFGJY|¥¯®™…zqilmha^M-&+0-()! Bdz•²¾ÆÎÏÑÑÏÑÏÍÏÎÐÔÔÔ×ÖÖרÛÜàààÜÙ×ÕÐÐÑ´…_OMTX^_gmr…ŸÂÑ×ÜåèßÒº°¼È«‡„ŽŽž˜—–”–‘†vaTamt{‚ˆ“–”‘‘’••˜•—–”””“”Ž‹ŠˆŠŽ‹‰‹ˆ‰Š‡ŒŠ‰ŠŠˆ†„ƒ„‡†……„ƒ€‚~|ysqni\TZbgt‘ ´¼Áú®¤¤¥ŸŠ…‰ˆˆ~qhkilllnfdbe`ZYZ[g[SLEAGMFNQJOKUZaepprrrn`d_\C=D@ABCFCDFGL[{£±º¤“„wonii`YS7!&*)/%#"E\nŒ©»ÂÈÌÌÏÏÐÑÎÎÏÐÒÓÔÔÕר×ÙÞßßßÛ×ÕѹdOOPUY]cjens|’§ÃÓÛâåâÕËÀÀǺ£–‰x……˜™™›—”’Œ~h;$.C_jpw…Š‹‡†‰Œ’––˜–•“”’“”Œˆˆ‰‰‰ŒŒˆ‰‡‹ŒŠ‡ˆ‰ˆ‡†‡‡†…€„ƒƒ‚‚~}€~ywupmghd^PVXhjy‰œ©±»¸­¨›—‰t|wtprmqqljijfedbabYVRRVa`PCIBALGIPPP\ddkprutume_X=@ABCBBCCDEGMZt¡³·ªš‰vvmdd]VQH$%'.6+%#BWk†¡³¾ÃÅÉÍÏÐÐÎÐÏÑÐÑÔÕ×ÖØØØÛÞßÝÙÑ­uZW[]X^c_^dhmoty•²Ì×àããÚÔÍÇÌØ“‘|‚‡œ˜›œ˜’’‹uO,HU_lry~}z„Š’•–—–•••”“”ut{x~~{}{{}‚|{}€€~}~{yvuutprmnqjg`VUNIPOOO<8Sgil~ž«« ©©‚vrpjlgmlhkrqnnfbcbaa\ZZWVSWd`K@ALMKNPZ[``goptttsj_L9@ABCCCDDDGIP\wŸ¶©­£˜vje]VTRM+#'2B;,(?Tbš®º¿ÃÅÊÏÐÒÏÎÎÐÐÑÓÔÕÕÖ××ÚÚÞצtY\bab``bf`cfinru„›¿ÓÚäåãÙÓÎÐ˪’Žy~Š™›œ˜”…m>!&4:HXekolrz€“——–––••”“”%!5@>RHVQ^Rg_ikelnpmhgic]aa_VHQPMPI;*"$*#&&+24,:_nhku‰Œ•—„wuuielkkmgkkgllggcc]cb\][YVQTVhU;IJMNOXW`gkllsvrqo`?>BADEFCFFEGJRg~Ÿ®®·¦žŒ{lf]VUOL:+"%1@=-7Ub–©¶¾¿ÂÇÊÏÒÏÏÏÏÎÎÐÔÓÖ×ÖØØÙ´o]cclpmeba]a_eecqu‹¬ÀÑØâåâáÖÔÔѲ£›}}ˆ€’¤œœžž›•Ž|X$#).:C>DLU_fjsx‚”™™–•—–•”’“ &"&%.--3,(/.!*&!  !*/ "q{ZY`nwxovqstphjfgjpmbfjtidc^bab\ZYSRPOh_LFGDMUX\eklptxurpb9@EBCDDDFFGIKUl•¨µ³»©œ“qg]YYQMF0$!#(9;4Rdw£´»¿ÂÄÊÌÐÏÏÏÎÑÑÑÔÔÖØ×Õ°rV_gqsuomhg^bc^_emx|š¾ÎÙàåäàÞ××̽±¡„€Šƒ„¦¢Ÿž¡ Ÿ˜ŠtP07JSW^_YS`hmwxˆŽ”——––˜™˜––”“!#")",yˆYY^fllqzx}vklmiaahsvlhjqkbcg``]YWWUSRROQVNK@?@GP]hnqwvtp\>AFCBEEDDIIKMXl˜ª±®·¯š”‚ti\\YRKI9$$''*3=Tlsˆ¬·¼¾¿ÂÄÊÏÏÎÏÐÐÑÔÔÖ×¾ceamrƒyumcbbecbckt|†®ÍÔÝäæäáßÝѺ¶«‚‹Š~—§¢ ¡¢¢£žtS?JWdistw{zƒŒ‘•™™š——˜™š—••”%+#,%0+%z„j[\agnsrxwmmlogdecq{mgjigkkf]ZWWTUTWRKHGD?:;:::9J^jrrspM@CDBCEFDGKIJN^qœ§°§«µŸ“ƒsj_ZWPIG>"!"!#!2MkuŸ¬´¹¹½ÂÇÌÎÐÐÐÏÑÔÔÌ™mfmvu~†€wwxpic``adfo‚¢ÀÎØàåèåäÛÒÇýŒ‡Ž€‚¦¥¢ ŸŸ¡¡¡˜|dR[cny~†ŒŒ‘˜œ œœ™—™–™˜––•(17%/7+"%‰€]c_glotswwwkgofbc`fnohhk}tlb_ZZUVOJDB>;<<==;;=<<@Sgorn??CBCDEDEFHHKTf¢¯¯¦«¸¦™“znb[YPKFE$!&&! #6NkwВ𠫬´ºÁÇËÏÏÐÒÓÒµxkqws{‡}„ƒyytjfcbdim|„˜¾ÑÙáæééäÝÓÐÌÅŽ‚‰Œˆ{’­¦ ŸŸ ¢¤£Šwfgn~ƒŒ““”–™¡¡£¥¤¢ ž›š˜˜–™””"1".=45:9-.&yyimljnuwx€{{wknjfkccqfdfimokj]SIB@>==>;<=>@??=;<==F_ja@BCDEEEEHHKLQTpЧ®©¥¡º¦™{ngb[ULGH1!(%""$%.;Zv}‡”—ž£°ºÇËÎÏÒÉ—r“„‹‹’šŽ‰ˆ†|jmnigjksz€—ºÑÙáçèéèÞÖÕÒɘ„‹’‹ƒ€««¤¢¡  ¢ Ÿ•‹}vwˆ‹‘”𠤧¨ª«ª©ª¦¡žžš›•——–")(0-8)5>*#%hsx{ooƒŒˆˆ••|{|umllknjlkkbbjJ@<>?<=;><<9<B>??<?@?<EXS@CCFDDEFIKLPV\z˜¯³«§ º¯§ja\ZTNHGK$#)%%"+1-7Xpy|€ˆŒ˜£²ÀÊÍ´’ž§¶¢š¤ª±¨¤š”Šrtqiqtwrs…”µÌÚÞãææãßÚØØÎ¦¡–•‹}“¯ª¥¢Ÿ¡¡ž˜–™—‘ƒ|€ˆ‹“–ž£¥¨ª¬«­«ªª£  —š—• &2:2?9D5A>01,(&`•¦±¥±²±¼°§¸³–’ŽwwpponhYHB=<<>>=@<<=;=<>>@A>?>A@>BCBDEEHFGKKOUTXhŠ¢¶·©­ž·¸©—mbYWQKGIf*&&""(-124[ox{yvw~‚‹œ®·¢¥ÃÊÊÁ¹½¹¸½¾±§ƒˆ~{x{|xy˜¿ÏÙâãåéäßÞÜÝÒ²­¡˜¤¥‚}©­ª¤›œ¡Ÿ›“’˜š™”ˆ…†‹’–œ¢¤¨§ªª¬ª««ª¥¡ ž™˜—'-'.*FDB78;:*!!)žÏÒÑÏÍÓÑÐÑÍÒ˲›§ }…~leH@=;:;:=<===>>;;>?@=<?A=?@=>@BCDHIFIJLR]bex°¼¶²°œ½½­¢˜tj\YUNIHG-&(**.58;Caosvvuuuxu~—¨ÌÚ×ÓÐËÆÏËÊÅ»ž““Œƒ†‡~x}Œ ¹ÓØáååéèââãâÙ¾¸«¤œ©˜‘³®ª£››¢£ž˜Ž•—žš“‹‡ŒŽ“—œŸ¢¦ª©ª©¬¬¨ª§¤£Ÿœš˜!(,844?DID:)=(1ÈÙÝÛÛßáßÝßÛÛÚÏÉ·›œ\E?=<::=>A><:>?AC;>=>>@BA>?@AADDEEFGHLJOS_kq”´ºÁÀ¼±œ»¾²§ŸykdaYQMJG>6:<<<8:LYiuyttwyuqo—ÅääßÙÓÓÒÓÓÐÊ»ª¡§§ ¡•Ž‹ˆ•­¾Ð×ÚáäèèãäåãÜÇÉ¿Àĺ±Œ†ª³®ª£œœ££›ŠŒ‘—œž›•‹ŠŽ‘•™  ¥¥©§©¬§§¦¨¦¢š›#*!25?AEHE=FH;F8". VÛßÞâãæææååææâÚÑÉÈ‘QC@?>999>=>>>==?=?>>>A?BBAA@A@>CFFIJGJNS[`n…¤¿ÂÆÀÁ½¡µÂ®¤š‚lkc_UNIHD>@CEDENcuŠƒƒ…ƒƒÆáèèâßÚ×ÜÚÙÔÎÃÄ¿¹º¸­¥ š•–£¥ÆÒÕÚàäèçèåæçÞÐÐÌÉËÇÁ ’¶²«¦  ££Ÿ–‹ŒŒ”™œ ž—‘Š‹ŒŒ”˜œž ¤¦¨ª§©§¨¦£¡¡&$8<GAAB;C?1A.--# ŠâÛàäæéëêéééèæÝÌ…K@@><>;:9::<=;<<?=><<>@=@???@A?>CEGHJLMNXsv†¢±¸ÄÃÉÄÀ¼¦¹Æ¥¬¢Žpxt\UOLGE<COZUew‡‘–”•“‘»äèééæáÜÞàáÞÖÓÍÐÊÏËȾµ½¸¤­²ÂÃÎÕ×ÞåæèçèêéÝÒÕÓÎÓÉɯ¤‘¦¶°«¤¡¥§¡›Œ‹Š‹—˜œ˜‘‹ˆ‹Ž“šŸž¤¤¥¨§§¦§£¢¤ '0+7BPIFC:@4&-&$"$—ÑÖÞçéíêììëèç݆EB@?>@@;=:<<;>=<>==>;<?@?AA>>@A=@GJHMSOUVm‚ަ¼ÉÈÉÉÉÉľŸ»Æ›¦ ”w†„fZZNHH>?UovŠ”›šš›  ©ÚêéêèèäààäãàÛÒÔÒÑÓÒÍËÊÉÁÁÃÈÊÊÑÑÖÝãæèééêêâÓÖÖÔÖÔÍ¿¤§˜²³°§¥¥¨¦ –Ž’–šœžž›‘І‹‘“™™ £££§¦¦¨¥£¤4:1@FLBKEBL@3()+-˜ÎØâèëëëìéç߉IBBB@@AA?>=>@@?@?>@>?<@@?=ACA?>C>AGKLR[W`m‹¡®½ËÐÐÏÍÍÉž£¶ÆŸšœ”ƒe^^NLJA=Lgy”›Ÿž ¢£¡·åáàãããáàáÞàÞÙÕÕÕÖÓÒÑÐÓÍÌËÌÎÐÑÏÑ×ÛáçéëëëéߨÛÙ×ÚÙÓι¡š¬³²¯¨§¦©¤—‘‘‹Ž’’”˜ššˆ‰‹‹’‘’—𡤤¦¦§¨§¦ /2AJPKJTQ9JCBB-.2/ 0Sj´ÍÜèìëêìêׄEDBA=@@A@>=<<>@==><=<><?><=>@@<=@;AHMNQWfyµÄÅÎÒÒÓÒÏÌÉÆ¾¦¬Ç¬˜’|okha]NLD>CW|œ£¥¦¨©«¾ØÒÐÕÙÚÛÚØØÖ×ÕÓÔÕÔÓÑÎÐÑÑÐÑÎÒÏÐÐÓÓÚàãèêëìêáÜßßÜßÝØÔÄ©—¨¹¸µ±ª©¬¦›“’““’”––˜š–‹‰ŠŽŽ“˜˜›¡£¢¥¥¥¥¤!*5DIJHKEI?><'-!(>]rz‡²Ñèîêêêç½WDB@@@@>>@=:;=>=?@><=;?<;<?<;<:::;;BLQRXl€¨¼ÌÒÐÕÖÖÖÔÏËÆÀ²¢™¾š‚‚Žlzxlef_PMJGEKr›©ª¬«ª¯½¡ºÅËÌÇÌÍÍÍÎÎÌÎÐÎÑËÎÒÊÐÐÑÑÑÐÐÐÓÕÙÜáåéëìíåâããáåâÛÖ̹¥¤½½¸²­­¬ª¢•Ž‘’‘‘‘‘‘’•—š™“ˆŠˆˆŠ”—š›Ÿ¡¢¥£¢#3>?KQMOL@B;4>!("!/Vmw‚‡ ßêìììíéã©OBBBAAA@@<<=A@@??=<?=;;;=?;:;<:999DT[_lˆ§ÅÎØÚרÚ×ÓÒÏÌÊ¿¥Ÿ‘·to†insicbYOOKIKLY‡©°±°©‚wˆ¦©¨žž£­µ´²¸¼¿ÅÆÑÄÆÅÈÍÌÎÍÏÏÒÒÓØÝâäéííìéçêèäæéàÛѾ¯œºÀ¼¶°®¯®©šŽ”’“‘Ž‘“”—š–“‹†‡ˆ‹ŠŒ“”—››Ÿ££¢)+4HLLDOPGH?<61*3$#!A[s}†ŒŽ‰¸íëìëéèãÜ¢KDBACC@@=<>@@A@>??@=<<;==;;:=8669FYlvŠ»ÈØÚàáÞÝÜÖÑÏÏÇĺ™—±ke~gdqeeh`TSLKKNKc˜¯«tOGJJJLKKMXw•‹™¦¦³ÎÆ»¹¹¹ÃÅÆÏÎÎÒÓÙÞâåçéíèèèêçäæäßÙÉ·ž²ÁÀ»¸°±²®¥–‘‘‘“‘‘Ž’–˜™‰„‡Š‹Š‹“”™š›ž¡%*5HCCKSDJIELCD9;1/-)$)#!".%>Po{ŒŽŽ‹Š†¼ðêèçåßÙÓ½FBBA@A>>>?>??>???=<<::<8:;97545MkŒ¥¸ÐÙßáããßÝ×ÓÑÍÊÁ»°o“zbaefZ[Y`f_YPKKKKLRo“ZDDGGFEGFHHJˆ…‰Œ‘‘¤°¯® ›¢®¼ÅÆÇÍÏÕ×ÙâäæêëèêéëççæâÞÍí¤½ÁÁ¾»¶¶°­¢˜’ŽŽ‹‘’‘“‘“ŽŽ“–š•Ž„†ˆˆŠŒŠ‹””—›'<D@OKI=KCB<.*,2'+  5]u}‚‹ŽŒŒ‰ˆ„«éááÝÖÔÑÔÔŒC>>@B<?@?B@>>??B?@=:::997752/1Ej½ÊÕÞâãããâÜØÔÏËÞ®›€xh‚n]bWXYYUWaaWNNHHJKKHECFDEFGHEEGGKLo{}€Ž‰†‹Š‹š®½¿ÇÎÒÒÔØßãèíëìîêêèææáÖÉÀ¡µ¾½¿¿¼¼·°¨ š–‘“”••‘ŒŠ‹’’––‘‰…ˆ…‡ˆˆˆ‹Ž”•– #!29OYVOMGCJC=;9+#% '$#$%(Hix€‰ŒŽŽŒ‹‰†‚y›ÏÒÕ˹™‹kN@B@@AA?ACBB>@BAC@AA=89:9650/.,E]ªÕßäåäâßÛ×ÔÍËÁº¶«šŠqldoj\_YWUTTTZZQNNLJHIFGFFFGEGDHEFFFHGNmy€}€xxuv}†‹Œ›¯ÁÉÈËÑÕÔÝçííìðïîìèææÞÐÈ­ª¼À¿¿¾¿¾¹¯§ œš˜”‘‘Ž‘•˜——”Š‹“˜–Žˆ‡††ˆˆˆ‡Œ! ;8=NLWRJPG@=9/<*(**" "  &,!$& '* (8^q~…Š‘Ž‹Šˆˆ†ƒ}rx|kRG@>>A>>>@>@@A@@C?@C???A>>;97320,+*$Kgx¡ßåãáß×ÓÏÍÆ¶­¤š•ˆ{ke^acUXTTRQNQTZNLNGDCCDDEOECCECHEDDDDFGau{wxtzynozz…‰Ž¡·¸ÁÍÐÐÙæéìììðîìééçâÖÍ» ·½¿¾½¿Á½´ª¤¢Ÿ™•’”˜˜š•“Ž‰ŠŽ“”’‹‡…ˆˆ‰‰ˆ‹‰Š016KNUURVOQH=:@0)(*# ,%$" !*&'+$! &$*Qky‰“”’ŽŒŠ‰‡‚{qkaJDBAA@CAA??AB@B?A@@BC?@@@??<77410*)&$Qss[m²×ÙÖÐÌÌǶž•“ŒujfaWY[SVSSRPOQSTOKKECDEIKKMEDFEFGIGGGGJKTqspputrqmtxy‡›³ÀÅÉ×âççîïíííìéæåÚÒʪ«·¿¿½¾¿¿¹¯¥¥¥¤£¡ ž™“‘“•˜˜–’Œ‹‹‹’—•’Œ„‡ˆŠŠ‰†Š‰‰‰‹'/EHJQXXURLTUI;982"&!&+$"24+2583<99:154<34>46Pq~‡“–”“‘‘’‘ŽŒ‰„€{woi^LCAA@A@B@A=AACA??A@@=@@@>?=;55-,)&! VxqVNPi–ÅÌŽ¬›‹€wsic`YUQVOQQRQROPRSOKJEEFJQQIEEFIFFGHHGFJKLNimqqnhgllmkq{}›™¦¾ÐÛâæéððððîíëçá×Ѽ£¬¶¾½¿ÃÁ¼²¬§ª©§¤¦£ Ÿ™—”’”“”•–‘ŽŒŒ‰‹Ž’––”Šˆˆ‰ˆ‰ˆ‰‡ˆ‡Š-OVRVZVTPIDFC62.'%$((%36>RNWcajmnqpoopggia`\YTYm|…Ž“•””’‘“’“ŽŒ‡ƒ{yukbQD?<?BA@A@?CA@C?@???=>?@>@A@>7.(%!##OvnRKLLF[‡Œzloloqniccj[RQSOOPQONOONSOMJEAAEMKJGFGHHIHHJJJLPNOep‹lhehifhigpwu|‹œËÒØÝåëðïïïíììæß×˪¢¨¯·¾¿Â¾´¬©«ª«ª©©¨¥£š˜•“’’””‘ŒŒŠŠŠŽ’•—“Љ…ˆ†ˆŠ‰ˆŠ,\a\]Z[NHE9@:(,+'.?9QXty}ƒ……‰Š‰‰‰ŠŠ‡‹‹‰‹ˆ„€‚{rt}‡Ž“‘“’‘“““ŽŒ†…€ztn^SKHB=>?>BABCB?AAAB>?B>@A@@ADEC?3)%!#'GxgPIIHFEEEFHELWeie``aXRRPKJLONNNNMRNKIA?CMLIIJGGKILJKMMNQSPO_lnecgdb`abegdit˜´ÊÑÔØâêðíïîìíéãÞ׸Ÿœ¢¦±¼¾½³§¦¦ªªª¬«ª©©§¥Ÿ™•”ŒŒŒ‰‰‘”—˜”Š„ˆ‰†‰ˆ‡!5X`WVT?+A!.3954Lbu‡‡‡ˆ‡‡‹Š†Š‹‹‰‰‹Œ‹ŠˆŒ‹ŠŠ‹vtu{„ƒ‚‡Š‹ŽŽŽŽ‰„~we\HFLQJBMHE<>?DB@@A>A?=>A>?AABBCDDD;.$":f`OGFEEECEDFEEFJY`]\VPJHHEEFFFGGHIKLIIF?RTKJMKHIMLPNMLQRSRONWbdcaba^Z\]`deq‚«¿ÄÈÏØãèíîïîîíéáÞÆ£žœž¨¶¶­¢›Ÿ£ª­®­®®¬©¨¥¤Ÿ›˜•’’‘‘Œ‹‰Šˆ‰‹•–—“Ž‚ƒ†…ˆ‡ˆŠ'/LXTPS6*:)7FETejnpvww|†ˆˆƒˆ‡‰ŠŒŒŒŒŒ‹‹Š‰ˆ‹‹‰zqkiliktv„‚„€wj_VTQQRQUY]_VE>>@DC?ABA?@BBBCEEEFEEGHF>+'!+6\WLFGGEEFEFHEDEFHSUSKHDDEDFGFFGFGHHFGJDTcXRRRRNRTSXZTSZ[]ZVNS]^]^_aa][]_ekr•˜´ÅÑÛãéíïñóðîêáØ® žžž¡¥®«£•–— §«®¯¯¯®««¨¦¤ œš“”’މ‰‹ŒŠŠŒ“—š™•Ž…„‚†Š‰‹/%4HPNV;/KVcirmppkkqqrtt‚„…ˆ‰‹‹ŠŒŒŠ‹ŽŽ‡~vlkh``ejiieif`XYWTTXVVX^_]]TF::C@=@@?@@BCCDEFGFFFFFFD?.%-1MKGFEEBCDDDDCCCCCEFEABC@AADEDDDDGGGFEFZxk^Z]``]`_cb_X_ebmfaRKLTZ\YZ]WYY\`jgyz°ÄÓØßåëíïîîêæÜÁ¢žœžž¡£¡˜‘“™ ¦«¬®®­¬ª©§¥¢ž›˜”Ž‹‹Š‹‹ŒŠŒŽ“”•˜“Š„ƒˆŠŒ=747EIX`fnoqqttrmkopmnoifkr{‚ˆ‰‰‹ŒŽŒŽ’““”–•”’’Ї„ƒ€|xo^X_]_]^`a`bdegqoqpgaP>B@>==?BACCCEFEGGEHGGGHF?0,/EGFECCCBEAEDBA?AB?>==?@<?>BACDEEEEFFGN…‘€nrrvpwprqnhdorjrqiTIFMSXUX[Z[[[_hdpx‘§ÂÌÕÚæëíðîìéå̤žœšš™Ÿ œ™“‘Ž”šŸ¥¨ª­¬­«¨§¦¤¢ œ•ŽŠ‰Šˆ‹ŒŒ‹Ž’“•š”‘Œ„‡‰ŒG9CJikrpqskmojnkhmilkgjjhefdnruy„‡‹ˆŒ‘’–“••—”“‘Ž‹‡|vqeaacgmrqturuw{„˜—Ž…voeKC??=?AABFEFGGGIKIMLJLKGFB00<EEEGCCCFABA@?>=@;997=;:;=B?ABBEDFJEK‘¬«–•‹…†Š†}qr{|~}wiSIHIGORVZXYYZX\`ct¤¹ÊÒáçéìðîìçÙ«œš›šš›Ÿœ–’’‘”˜¡¥©««¬©§¥£¤¤ž–“ŒŠˆˆˆŠŒ‹ŒŽŽŽ“—›–‘‡‰Œ^Zrˆ‰‚sohkgfcdcd`_]afbbcbejbefkmqqryvyxuuuvwy~zromkgjvfelmorw}~|~{{{~ƒ‘Œ‡xtiIA=>@BCDDDGHKJJNMOXPNPOLKD;7;BD}”^DBAA?><930/*&)')+.43:=@>ACFFFFµÄ¼´»º­°¥ž¨  Žƒ†‰}pbPHGGGJOTYUWVWVZbix‚’³ÂÔÛáêïïììá½™™™š™™› ž—“Ž’Ž’‘—™ž£©«ª©§¦£¤ ˜“Žˆˆ‡Š‹ŠŒŒ‹‹Ž‘—™Ÿš”„‹ˆˆˆŠ€rdh^\WXYcYOU\ZXXX\\[ejkjjihgeedegdgiiikj`^\Tg‡“…wtz€‚„}|~zxuwwxxwuvvaE@?>ABCEEEGHKKMQSTXPQTPPLEB><AJ±Ó°aJB=<7/((($ !#"#!$(),-04=BCCC^¤ÅÑÊÌËÃÀ¿±»´°¢Ÿ•™–—‹yjdSFFHHGGKTRURUW[dksz‹´ÍÌØäìïìëéÍ¡˜—™˜˜™œœŸ¢œ•’‘‘–œ¢¦¦¨¨§¥¤¢ž˜“’ˆˆ…‰ˆˆŒŠ‹‹•–›Ÿš–ŒŠŠŠˆ‹†pdZVRTUZ[TSRURXNY`[_ac`^a`__`ffhdeidfg`YWe—·˜„‚„‚†‡„ƒ‡€}|~}xwwxz{yrptzSC>?=CCDFGGHJPORW_[_^ZZYVSECCCBcÏÏΠYI9/)(('!! " "*(+(&*,0;@BQ‰¸ÕÖÔÔÒÍÊÇËĺ²­¨˜ Ÿ„qfbREFJIGJHLQTSUZ`fjq|Ÿ«¿ÏÜçëìêé㱘————šŸŸ ¢œ—‘‘“’“š §«¬ª§¥ —””‹ˆ‡†ˆ‰Šˆˆ’””™ ¡ž™Œ‹‹‹Š†vdVUWTVOQQUXWX[c]SV\XT\Y[`degjidee`cadu¡Æ¶’ŽŒ††ˆ‡†ƒ†ƒ}}{x}x{}{wllv~M@@>@CCEEKTJORWZ`cgrnjdeh^FBEDLžÕÑÅÅŸjF8*&&!$#  #"#$%#)*(*4Hw¡ÌÛÚÖÕÔÔÑÏËËÇþ¶¡©Ÿ•„rdXJEFGFEGFFMSUV\[[ap}‰‘ÅÖàåææéì»›—˜˜™——šž ¡žš–’’”‘Ž‹Œ‘– ¦««©¤Ÿš•””‘ˆˆ‰‹ˆ‰‰ŒŒŠ‘”—™œž¢¥¢ŒŒŒŽŽŒ„xda^_\S`ab_\\\XVZ\[\bdegihigfegc^i~°Ä²˜‘‘І„†„…„…ƒ~|}{z|~~}wodiz‡Q?BBCEFHHMaPUX`glnw„‰ƒ‰ƒwhKEFGvËÑÒÌÄÌ–a?+%$"%(!%%"#$'(&&*-0Z‹»ÔÚÙÕÔÕÕÓÐÐÌËÍÄ´¦­¡“nfSIDGHFEGFGJPVWZZ_bko€ªÍ×ÙÛÛäîΙ…~˜™™›žœ››š–’’‘ŽŠ—¡¦­©£ž˜–””‹‰‹Šˆˆ‡‹‹‰’”—šœœ¤¥‹ŽŽŠŽŠ~rke\]]_]VZ[[Z]bgddflgeffhecam‡°Áª‘ŒŒ‰ˆ„ƒƒ‚‚ƒ‚‚~z{{||~|xo`Uh€[?@BDDGGIKNQY`irz…’¨¦™š—rPHHO¦ËÒÓÎÊÐËæp>)(&)($"##$!!%)'%(+ErœÆÑÒÒÓÓÒÒÑÎÍÍÍÍű¶µ¢“qcNFFGIIFHGHGJQUVY`gdkÄÈÍÍÉÞìÜœ—šŽi\„—˜š—–˜Ÿž˜Œ‘ŽŽŠ‰‡Œ“ž§¥¢›•”‘’‘Љ‰‰ˆ‰‰‡‰ˆŠŒ‹Ž–˜™ž¡¤‹ŽŽ‹ŒŽˆud]\b`daadceggfjilmonptˆ–®³š’’’‹‹ŒŠˆ……‚ƒ€}}z||~~wtgUAlˆ™j@CBCGGILQTW`ls|žž«³½Å¸¸—^GJhœËÓÓÎÍÑÐȳwB0,--*1**$#"((&!+=[{¡·ÀÆÊÍÎÐÏÌÊÌÍÍÊÁ¸¾­©‘x“mKFFEHGGIHHIFHUY[Y]ey¥¥´®¾Òíà™•˜™™ŒUO„–š”•š¡£›‘‹ŽŽŠ‰Š‰‹“ žœ–”’‘ŽŠˆ†‡‰Š‹ŠŠ‰ŠŽŽ“•š ¢ŒŽŽ‰ˆ‹Šuoputrtuuvx~‚†‹Ž“™¥«¡–”“‘‘’‹Š‡‡„…€€€‚€€}}{}~}yqdJ7,kš}DBCEFGIOS]biyƒ•¬¹½ÂÀÄÊ̾©iHJrŸÍÕÕÐÏÑÑÑÀgXA11**0++'&"  %5Qatƒš}”·ÅÉÊÇÊËÊÊÈúÁ¶«’ŒocOHFEEIGHFFHEEDLTUX`mƒ‹€~–ÍëÚ™–—˜———€K\Œ™šŸ¢¢š’‹ŽŒ‰Šˆ‘—š›—•“ˆ†ƒ…Šˆ‹‹‹ˆ‹ŠŽ‘”—›Ÿ¢¤ŽŽŽŽ“‘’Œ‹ŒŽ••“——”“•••––“•“–˜£¤š“’’‘‘Žˆˆ…ƒ„‚~~}}|~|{{}~{yl`H,aœHDEGHGJT^itƒ“ ª¹ÄÇÌÍÍÍÎÎÇŠINu°ÎØ××ÑÑÏσ_VPH;52/1.--+'"*'2LY_d]WPRp¥´½¼½ÃÄľ·»»«¦†„dWPLEEHKHGGGGDFGGNVZ`h¢sˆÁÞÊ›—•˜—–—–“fGo𠣦¦¢œŠ‹‹‹ŒŒ‰‡‡‹Ž•š›š•‹†ƒƒ†ˆ‰ˆ‰‰ˆˆ‰”–—Ÿ¤‘“¡œ”Ž’“••–––”˜˜˜––••”–™ž¤§œ“‘‘ŽŒŒ‹‰ˆ‡‚‚{|yuuyww{zxy{}~tm[=F‚“ŒMEFGGKRZivˆ›©¸¾ÇËÍÐÔÓÓÑÍͯJNw»ÐÙÚÜÖÑÊšXUUPHD=9620/-)'',,4GPTQKLKLOT„›¦¯¯²¾²°¯Á¨›ƒ{odRNICFFGFFFDECFFEFRWZ`bfu©Ë«•–—˜š––—“ŒpO[˜£¦¥¥£œ’ˆ‰‹ŽŒŒ‰Š‰‰ˆŒ’–š›š’Š…„†‡‰Š‰‹ŠŠˆŽ•–™š› ‘’˜œ¬™“”’””—–•”–—˜˜š™š—˜™œžŸ¥§šŽŒ‰ˆ‡††…€|sqrifc\WSUTU]_fkt{}ueT.'fxmCAEGHLYjwŽ£±¿ÉÎÏÐÑÔÕÖÖÔÒ̱JKv¼ÒØÛÛØÕÉz[QOJGCB:5.0//+,27=DDCJIEFKJKQ‚”–™™›œ››®¯ˆ‹ntdZPpKDDEFEDEDBBEFEDHRTUXf‘¯›š•””’‘ˆymc\ZtŽž¡¤¡¢¤›Ž…ˆŒŽŒ‰ŠˆŠŒ‘”™™–‡‚…‡…‡Š‹ŠŠˆˆ‹Œ“–˜š›‘‘’“––š™š“”••–˜••••™››š—”–˜›œ¢ª¨›“‘Ž‹‰‡€}vyu|~€†…|vkb\UVTUTWWS]aa\]M</-)7H88AFHHPf€ˆœ±ÁÆÌÑÔÕÖ×Ê«‘’HLf«Î×ÜÜÚ×Êr[PMFFD>A<-))39>A?=<?@BE?BHKMO[sz{€Ž•¢„zkjbZPILEEEGHFDGGFCCEEEEJQV\~¢”“ˆ€qi]QJJNRd|•œŸžš••Š…‰‹Œ’‘ŽŒŒˆˆˆ‰‡Œ‘–˜š”ƒ…„Š‹‰Šˆ‡‰‰…‡Œ‘”—˜‘“’””–”–”•“•’““”“”–™›™—“•™›œŸ¦£—Ž‘ˆŠ…{{€˜©¶·µ¨  £‰ƒmd\ZXXX\]\]\_^a_``lhcg]KIGKGGMTl…Ÿ°ÃÈÎÑÔÙÜÚÒdKFGFGGFIZ”ÃÕÕÓÓϾoSNGDAJ‚ª®Ž@2;=D50**%0:37BEEGJZdgip€wzŽ{ng]cXQIFDDEEEHGEGGFFEDCDDEO\„•އwaUNLLKKLOR^m‰œœ Ÿ›“Ž‹…‚†‹‰ŽŠˆ‰ˆ‡‰Š”™œ—އ‚€‚ŠŒŠŠˆˆ…‚ƒ……ˆ–’“‘•”•–•“‘”’‘”˜—™•’”˜–˜™œž¥¡’ŒŽŒ—¢±ÀËÉ»²®¶·½¾´¥š†{l`^ca`aikonpnrqpfg`aZ]_\WGKTXoŒ«»ÆÎÒÓ×ÜÝÞÖgJFEDEGDGWƒ¸Ã¿¾»Â«^JGB@ZÊáåäåÒ€9,(&?A-##+'1>?ADIS[\`glgrwbbYVVUKGDCCDDCFFEDEEDGCBCFF`†ƒhSMLJKNKLJMVcn~™Ÿ ¡¡›•ƒ‚ƒ‡‹ŒŽŽŽŽŽŠ‹Šˆ‰Š‹‹‡—››™Ž‡ƒ„Š‹ŒŒ‡ƒ„ƒ†…Љ‘“–”‘““’”—•˜””‘‘”˜™˜› ¢Ÿ’‹ŒŠ‹‘¥½ËÎÕÚÕÑÌÇý¿ÃÄÅÈÈļ¯œ‰zwskkmozx……†“—‰„zpmkjkgRMN[m”»ÇÊÏÕÖÚÔ»©žRHFGCCDCDNehXSTY`^GCD=J®åãèéè忦B,>fOO43# );@CHOTVY^abe^`YUUUMHHDBCBEFHGFDDEFEDDGYp…†kRJKLMMNOMPP[kqsŽž¡ ¢ Ÿž˜Ž€ƒ†Š‹‹‘ŽŽ‹Š‰‰‰‹‹‰‰‘™›ž˜…„…ˆŽ’‹ƒ~‡‡…‹ˆ“’’”“•›—–™“‘’–˜˜šš¢w|…‰ˆ”µØêíêèæäÞÖÒÑÏÎÐÐÑÔÑÖÓÏΞªšŽz—|{z„Ž””ŽŽˆ‰ƒyvqnnkbOQ`v˜ÁÉÏÓ×Å£pTKIFHFEDCBC@HPRQNJGDBB>13±àëëëíëééÖ’P=7)::#!/9EJNQUTZ\VXXWTRSKIFGFCDGFHGFFFEEFH\r{bRNQONONTWVX_non—ž¡¢¢¢¡›•‹}†ŠŠŒŽŽŒŒ‰‰‰‰ˆ‰Š‹’™Ÿ›‰„ƒ‡’’ˆ€~|€~€€ŽŽŽŽ’’“—””’‘”›™š £ƒ^W`nsx’µÒÓÚßãäâàÝÛÜÚÛÜÛßÞÛÛÕÑÐËĽ¸¨Ÿ•¼…}†”””•Š„z|zyy{wytiSZv˜¶Èαw\PQOKKGGEDDDC@?EIJIHFEA6' žíêìéìôëðêâ°cO6+2%&##%8CDJLPSQQRTRPQLJHFGDDDEFGHEHGEFKaz{wZSRQOONQPY[bhohe~•šž¡ Ÿ¢Ÿ›•…{„‡‰ŽŽŒ‹ˆ‡ˆŠ‰†ˆ†ˆ‘š Ÿš‘Š‚‡Ž†|{y|zww‹Œ’’“““““‘’””˜šš›„ƒxgXUWTZh|—®ÂÐ×ÚØÝßàâàááÝÝÙ×ÒÐÏÍÉÇÉ»´®¨ž›• §«£ž¦¤£‘‹…މ‰‹Š‹€gLZr“µÃÂaVRQPNIIHEDEBBC>:BFGED?6'=åéêëìÊW2\“ħ]HI5(--'"($"3=CGHIMONNNOMLFFFEDCDFEHHHIGIMQVowr\TUVNNOPRTYaplljy–› ¡ ŸžŸ›‘~x}€…‡ŒŒ‹ŒŒ‹‹‹Šˆˆˆ‹ˆˆ†ˆ‘—¡š“‰ƒ}}€yxzwzvsŽŽ““”’‘””“”•–™›ž’‹ŒŠ‰ˆˆyf[TSYXblx£¾ÅÐÖÙÝßßáÜÜÙÖÓÑÑÍÍÌʾ¿µµ¹¬³º»º·¹·µ¦œ —”š”fLIYny£½ÇsXRPLJLKHHFEDCB?=?CFDB8(díïõä™4'''$hlcC90FR^dU\p|vgZFEGILMNPNLJIIHEEEFFFJKLQRSSTQWd]ZWYVSTUUVY]gtqkz“‘–ž¡ ŸžžšŠzyz„‹Œ‹ŽŒ‹ŒˆŠˆ‰‰‡ˆŠ‘š žœ’‰†|{|vuxwyw|’“’‘’“”“–•—–™š‘‰ŠŒŒ‹Šˆ„yeVWUTU\ao„¤¹ÊÑÔÖÙÚÚØ××ÕÕÓÑÍÍÎÌÊÅÂÇÉÅÈÈÊÉÊÈÇļ¾¾·³°¶°aIHHJau’°À“ZRJIIJIEFFDA?@=9+?C=6$  #%‚ƒGV9!$&'*,).3*-+1`r†¥¾Ùíððïëà°NDFFHKOLLGIFHFDCDDDEITWTSPTXccb^_ZWYWWXW[dwqnx™—™œ  žš˜—”vv|{‡Œ‹‹ŒŽŽŒŽŽŠ‡ˆ‰‡ˆˆˆ‡‘—Ÿ¡›“Š€~}}{|wu{‘’”’‘’“‘‘‘“–—›˜“ŒŠ‹ŒŽŒ‹Œˆ…eZRSSV]emy–¢¬¼ÈÌÐÐÑÓÔÓÒÐÎÎÏÏÍÏÍÐÎÌÐÐÑÔÕÕÔÒÒÑÔÓÒÓÒsJGFGEIjˆ›­©^PNJIIJGGEB?<=8.-6=.,%%$&#*Œ>##*(.EMkgB&&+.5H~ž•ªÀÏÝêëéæèê©EEFEHJIIHGDEEC@BEFGIQ\]ckkptpphgac``^\^dsyiuŽ”—ššž¡£–“’†wtvz{~…‡‰Š‹ŽŽŒŒŠŒŠˆˆˆ†ˆ‡ŠŒŽ—œžš”‹€‚‚€zwtx’’‘‘Ž‘‘“•—˜š“‹Œ‹ŽŽŒŒ…ua[TTY\_ckm“£­¹ÂÈÌÏÎÏÎÌÎÍÍÍÏÎÑÐÑÕÖÚÝÞÝáàßÝÚÕÓÆIIFEEFDRxœ qONJHGIEFDB>;:4()1<6BBCUaq„§¦¸ƒP=12J„nY1)+@Ij®´¶¡f=AHdŽÍåéìÝUDDFFEFIHFFHHHGILTat‰Š|ƒ‡’‰†xqlkcffhlhlmt‡•——šž¡¡œ”Œswvww~†‰‰Šˆ‹‹Ž‹ŽŠ‰ˆŠ‹‰„†ŠŠ‰‡Ž—œ š’‹…‚€„ztqt’ŽŽŒ““–˜•ŒŒŽ‘ŽŒ‹‹‡ƒ{{r^WXX[afl{‚Ž›£­³¸ÅÌÍËÍÐÐÑÐÐÒÔÖØÝàããâàáÝÙÔÑÍÇ„MGGFGGFCDY†––€RMJJHIGGEA=<:;Yw­¬¨™½ÞëñéÕö’]Y]i¤±²˜gBELWŒÀÌÕÚØc696N»æëã^CEFEEFGGHIJLRPUVbjx†‰Œ•¤±ª¬š„xrmqlopnjwŒ“”—™˜šŸ¢˜‘‘~suvux|~‚†Š‰‹ŒŒŽ‹‹ŠŠ‹ˆ…‡Š‡†Š‰˜™‘ŒŠ„ƒ~~pnoŽ‘‘’“–˜”ŽŽŽŒŽ‘Ž‹‰‹†…„~|wj[WV\]abgr{„‡“ž§²µÂÄËÊÈÍÎÑÒÕÖÙÜàßàÝÛÚÙÚØÕÉ_GGFFHGFFGFX|ys^KMLKKFGGDA@ÑìñíÙÃÆêòðïòðçÛÕÄj—¤ÀËÐÍÀœt‚ÆÓßëñòðì½H57Us±¨QCDFCCGJJOPQRWZWYakvŽ›ª´½Áº¶®›~yvupprjnŒ“•”˜˜šœž –’‘†zrtsvwyz…ˆŠŒŽŒŽŽ‹‹‹‰ˆˆ‰‡…ˆŠŠˆ•œžš’‡„€ymdaŒ’–Ÿ—Ž‹ŽŽ‹‹ŒŒ‹ŠŠ‡ˆ†‚€‚€}xlZUTYXY^ekpq{Š˜Ÿ¨¾ÁÆÊÌÐÑÔ×ÙÝáãåçæåãââßÜÖ“IGDIGFFFFFEDJd[`SLKMHGU\e\§ððîïçÑËäðíñòîË›qP5:ƒÎäïñòíáį”y~¨Ëäïíìîò¸57CL‚EACDEDEGKLMPRSXYZcgyœ¯¾ÃÈÆÇÈÁ´¨™~vvwnpr†–•˜––™š›Ÿ›˜”‘wtsusuwy„†Š‹ŒŠŒŒŽ‰ŠˆŠ‡Š‡ƒˆ‡‡„‡Œ•› “Œ‡}ti]VŠŽ”›”‹ŽŽŽŒŽŒŽŽŠŽŽŽŽŒŽŒ‹Œˆ‰ˆƒƒ}wt`VVTW\eebhqt{ƒ”¥·¾ÄÌÑÔÖÝÞáæèæèêçæãáßÙÑbLHIIHJFGGGEGEOT[VQM\—ˆ®±“~ÜîððÚÌÚÝðòðôÏS6<:<D`Èáóóòòòñßô’fTWg³åíïìóR1@N?;ADEFGGKMLQPUTX\bmrƒš¯¿ÅËÍÍÎÉÄ¿´¢’‰ƒ~tmr…Ž’“—šš—–™œž˜“‰zvswyrvxxz……‡ŒŠŽŒŽŽŠ‰‡Š‰Š‰…ˆ‡†…ˆˆŒ—œ ”‰ƒuhYL‘–›–ŽŽŽŽŽŽ‹ŽŽŽ‹‹‰Šˆ‰†…„„„„€{vsaTQTUZ^^cggrmˆ™«­ÃÎÐÔÙÞâæçèèêèæäáàÛ¯LHFFGGGFFFFDEDBJRY[w¶ÐØ×е«íóñíæìàÑóóߦJ,7Ie€ƒ¡Ïìõòóóóõòâés^]\j¼ðììñr->6@?ACEEFGGLMMNSTU_frƒ–¬¿ÊÎÐÑÏÎÍËŹ©—‹‚vlqƒ’”—˜™˜˜˜œœœ–“„wuuzvtxwvy}„ƒˆˆŽŒ‹Œ‹Š‹‹ŠŒ‰†ˆ‚†‹††‹” ›“Š~gTJ‘™›ŒŽŒ‹‹ŒŠŠ‹ŠŠŠŠ†Šˆ„„ƒ†…‚~{ywoeYSQSTSZ]`hhs{†’›²ÆÍÏÕÜáãæçèèèæäáÞØxHFFFFFEFGHFEEECDFLm¹×èíáÛ×Ýíôïòñì³uÔ¬L3BBi´Ó×ɹ»¹ÑôòôòóóïÓ½šrc^coºáåèa99./FKFHGFFEJMMOQTUW`n¥»ÈÍÑÑÔÔÒÐÍËÁ²œ‘‡{kfi‚’”–˜—––•–™˜”€tvvtttvuwz|€‚€…„ЋދŒŽŽ‰Šˆ‰‰ˆ‰ˆƒ…†‡ˆˆŒ“œŸ•…kU>™–‹Ž‹‰ŽŽŽŽŒŽŒŠˆˆ‰Š‡†ˆˆ…ƒ‚~}{z{vrm_SSRQTVZ^chky{ˆ™´ÃÌÎØáãèçéèèææáÞÏ\HGGGHGEEIIFFEDFDCHºÝìíçàáÜØéòóóð¬MBSw}€­îðéÞÐĶvY§òôïîääÖË¿¹©ubz‹‡jeTD;/4Sy\TTOKJKOSUWXVao®ÂÍÒÓÕÖÖÔÑÍÇÀ±Ÿ’}pe`lˆ¬¢”—™—•••–•“’Š|xyusutwttwx~ƒ€}‚†ˆ‰ŠŽŒŽ‹ŒŠŠŠ†‰ˆ„‡ˆ‰‡††‡“šžœ’€dE”ŽŽ‘‘‘’ŽŽŽ’‘Ž‹ŽŠˆ‹ŒŠ‡†ˆŠˆ††‚€€~}}{y|ztfTRSRQVW_bcmsxƒ—³ÃÌÔÞäééìëëèçäà²MGGFFEEEFHFEDCCCAALÑãëäàÛÜб¼òôôÖhI‡ÈÔ¸­ÂïôõóçÙÓer¢¶¶ÁÑàÞÝÖɾ£Š­¯¡œ“‹s_A0L²edqrlfa^XTWW[fr‰®ÁËÐÔÕÖÖÖÒÎË¿´¡—‚lcdx¤Ðã½™˜••–™™•–ƒ{}vxwxsuxvvy|€‚~}„‡ŠŽŽŽŠ‰‹ŠŠ‹†Œ‹Š†ˆ†Œ™¡œŽ~a’‘Ž‘‘ŽŠ‹‹‹Š†‡ˆ‡ˆˆˆ‡€€„€||{|~~€}zfTPRPTUW]]adjuƒ£¯ÉÒÚãçéïëéèçãÜŒHHGCFEEEEFFDEDDCABB¤æÜÅÁ¿¹—o°óôõ´}ÀæßÚÆ¢íôôõõôÚ‰rw•¡«³´¸Ê×ãäêÛÑÆ±~‹³¾¶·°©šœrPZ_o~‡ˆ†…|fZWWcp„¦ÀÉÏÓÕÖÖÖÒÎ͵¦”{hdeƒ·Õå縘˜™˜˜˜–”Š}~{{zwwttwyw{|~€{ƒ„…ŠŽŒŽŠŠ‹ŒŒ‹Œ‹Šˆ†Š‡ˆ™œ˜{‘Œ‘ŽŽŽŽŽŽŠˆ†‰‰‡…‚ˆˆ†††‡ƒ€|~{|}}~}~|we^ZRQSUUXZbcgpq|޼ÏÓÝæéììéèçã×pHJGFHHGGGFFFFFECDBBQÈÌŸ¨“s]šðñô×îòëåŸRÁòòóõöâsmˆ¨»¿½¸¶¸ÊßíððíêÞdMˆ¸ÃǼ©¯¿ˆDNkš——–©ƒvx_alˆ¨ÄÌÐÔÖØ××ÓÏÊÄ´ …ieelŒÂÖÞÚʨ˜™š”––’‚|zzyzvutuutvw||}{|ƒ‡‹Œ‘‹‹Š††‡Š‡‰‡‡‡††ƒ…‹—›™Ž’‘ŽŽ‹Œ‹Œ‰Š…‰ˆ„„†‡†€€ƒ„y}~|{~€}uohacaXRQRUVdabbfr~˜¹ËÔÜåéêëéèãÅSHFGFGGEGEEFFFECBC@@AsµsreZ]SiáðôóóñÇoB>Éñòôô×r_ƒ£µÃÑ;¼¹·½ÛñóõóôóØpDO|µÑÜɹ½Ñµ\Qmš–Ÿ¯ÅÀ¸Žttˆ£½ÌÒÔ×ÙÙÖÒÌÊñ’o_ceu’ÃÕ×ÐÈÃ«šš•’“Š|zxxxywquvpvvvxz|{z‚ˆŒ‘ŠˆŠ‹ˆ‹Š‰†…‰ƒ‡€€…Š’™˜‘’ŒŽŽŽŒ‰ŠˆŠ‡†‰†…‡‡‚…ƒƒ€~|}}|}|ƒƒƒ|xvkglqrr`TQUTY\^]dju~˜ºÑ×ãèéëìéâ­MIHGGIGHGFGHIGDFEN]j‹™ŽeZSRU|»Øòõôôß ŽSI¹óõöì°‘p—µÄßâØÏÇ¿½¾²Óò÷ööõîQNu“¶×èåÖÙçÓxYwƒƒŒ”„—кu‰¤ÀÍÑÓÖÖ×ÓÑËÊı~^bfgv¡ÅÏÐÉÁÁ¼¨šzx}|yvvvvutuuvwxz~~z|€†‘‘“ŒŠ‹Œˆ‹Š‡‡‹ˆ†‰ƒ„…†‰‘˜’‘ŽŽŽ‹Š††‡…†‡‡†…ƒ‚„ƒ||{~€‚ƒ‚yrlfjrxy~{pXQQTUYZachn…ÃÐÜâæéèèÞƒIHFFFIHFFGFFFJOYjЦ­©™Œwec`’ËÌÇðôõŸ‡¶ÄÔÕʶªƒ ½ÚíìììãÒÊÀ©¢ÒôööõðŸeJl…ŸµÚïðçëîà€Xs|svyhdƒ½¿ª‹Ÿ´ÆÍÐÓÔÔÔÑÌȼ˜v`eik­ÃÉËĺ¹µª¢™…wvz}~}ywwvwvvswxzy}}yvx„Œ‘‘‘ŽŽŠŠŒ‹‹‹‰‰Š‡ƒˆ‡†…‰ˆ‰ŽŒŽŽ’‹Š‡„„‡…‚€}z}z€z{†„}znhekou{~„‚zaTMSVV\^afm€ ÁÐ×ÝáàáÈ[GGFHFGHFGJJOV]ivƒ›¸ÅÍÌÏÄÄÇÊÝ×ÅÃòõôݬ¦§¨¹¼ºººÈÁ²’®Çéóôõõõï೦¶äôõóÚŸˆVc‡£®ºæñóññïåicwrnn^fl©Þºw‘°ÄÏÒÕÖÖÓÑÍÅ®‚a\fit}˜¸ÅÇĺ³««ÂÌumuz}|ywwwuwtutrwxx|~yuuy}†‘‘’ŽŒŠ‰‡‹‰ŠˆŠ…ƒ„…†‰‰…†ŽŽ‘‹Œ‹‹Š‡†„„…€€{z{~~~‚…ƒ€ztnhghrs{€‚‚„„ˆ†xXPSTWZ^ben„¨ÆÓÛããã³LFGGIIHJNRVWatvˆš¯ÍÒÔ××ÖÕÙäëâÉ»ºíôñƱ­¡¢ØÁÀÃÅÖÕÁ¢»Ûòõö÷÷ööçÁ¸®¾×íð랪€d{š°»ÚóóñóïìQWYYZZcu͵f}“²ÉÑÑÒÔÕÔÐÏ¢z]baju} ¾ÊÉÇû¶¨»æÚ†epxz~zvwvwuusstswvz{‚|uusyƒŒ‘“‘ŽŽ‰‡‰Š‡ˆ‰‹†ƒƒ†…Œ‡‡‡‘ޑޓЇ‹‰ˆ‡…‚„‚‚…€ƒ}|{}€ƒƒ€‚„…ˆƒ|wnhbbit|ƒ‚‚‚‡…‡£Í¸WSRV[`aiw‘·ËÓÚÞÝ|IGHFHJNWWdjipƒ—£»ÊÓ×ÚÝßÞàèðîÓÀ¹µÎð埵­ÍÔÀÅÐàìêϲÕîö÷ö÷÷÷õÖÄ¿®Àáëïàg¶¬˜™›ª¾ÛóóôóðîˆNNPQVTV‰•PMg£ÄÊÍÐÕÖÕÑÈ·’i_daktƒ¨ÅÎÐÍËÄ¿³¤³ÞÓ~luy}|{xwzyxvvvutxyz~~xupt{…‘“‘ŒŠŠ‹Š‰‹†‹ƒ„‡‡Œ‰ˆ‰Ž“‘Œ‰Š†‡ˆ……ƒƒ…ƒ€~|{z}€ƒ„ƒ†‚‚}xre_dkmx‚‚„„„ÒÞáלWOSVXW^hx‘½ÏÒÖÔ_FFFHFRZ^fhlmv‚œ²ÁÎÔØÞãäãèñôëʾ¸³«·ÑÏ·…lß̼ÓàêóðƼçó÷÷ôôõöëÑÍÊ´§ÑßÌDOµ¹¨“›¶ÉÛîòçíðà¶oNLPOOUpLHHOx—¾ÇÌÐÔÔÑÎÆµƒ`cddhq„¤ÁÍÒÑÐÍÇÀ·£«É«opx{z{xv{xuyutvtvx{||uqnu}ˆŽŽ’‘ŽŽ‰‰‰ˆŠ‡‰‹ˆ††‹ŠŒŠŽ‘ŒŽ‰†Œ‚ƒƒ‚‚€†{{xw|z~€‚‚…ƒ€ytqjb_fpr{|€…„‚‚¬ÙáÙÑʘ]QPSWY\gx¡ÅÊÐÐ[EEGQggqqvssnv‚Ÿ¯¿ÎÔÙßâåèðôñ㎶°ªÉÒв~¢èƺÕëïòÍžÂîõö÷öõõêçäÞÜâ²´NCC‡½»šie¯¢ÁÎÒÐÒ´½ºhRTQNNIHIGHY˜¶ÂÊÍÎÐÒÍèw]cebkt–¬¿ÌÑÓÔÔÑÊÄ»§’xjpvz|zxyvvuunrstw{z{{xrgis~ˆ‘‘ŽŽŒ…‰‡‰„‡…†ˆ†‡ˆŒ‹ŠŽŒŒˆ‚…ƒ‡„ƒ„ƒ„~|~|y{|}…„‡„€€|vjddghnty€~ƒƒ{w¦µ¶¡¬¼Ã›_VPQUV]fx¢¸ÍÇODCb‘™…€‚vomht„™¬ÀÐÕØÝâåíòôòãÄ»¶®½Ú×ʲŒÍêÁ»ÃâæÜµµËòö÷÷÷÷òçñóóò̪¶·§XqMj¼Å¹†UbZ]y‘£©®»ØÎqZWJHHEGGJLk‘¬¾ÇÎÑÓÍ–fWclqr‚£ÁÅËÐÒÓÕÕÒÎǾ®tlpt|zy{{yvwwuurtw{{{}uihlw‡Ž“ŽŽŠ‹Œ‰‡‰‰‰‡‰ˆŠ‰ˆˆ‹Ž‰‡ƒƒ‚„††}y{{{zy€…„€}zska_cgkuxy~}s]nˆqel€•››†zaSRSRYkv«¤GBk¾¿®wrfcllxƒ’¤ÆÑÔ×ÝâäëòôñÜÁ¹´µÜÞÓdz¥ååÁ»¸ÀÃľ¾Íñ÷ööö÷÷òõö÷÷×±¹¼¹‹´XwµÐεsPSUc€©­´ÎãÈa^ULIFGGJJMy¤ÁÇËÎÑÌ´…XVgsw µÄÉÎÐÑÓÕÕÕÓÏÉÁ­phpyz{yzvvyvvurptsvx||wh`bm{‡Œ‘Ž’ŽŽŠ‰ˆŠ‰Š‡†…‡ˆ‡ˆ‰‰“ŽŒŽ‹Šˆ†€†††ˆ‡ƒ~}~||€„ƒ†…‚€wnjedgiqrz}|€‚|v_Veplnx|„‹‰Œ€t_WPQ[ek~xFJ®Í½¡~somnuy†›®ÇÏÕØÝáäéòóëÓ¿·µÌêáÔŹ½ñåý¼ÂÊÐʸÕãöõö÷÷÷ööõö÷Ú·ºÃÀº™k­¹ÎèÞ¯mPT\p¥°³½áè¶ne]XQJEFIIW¥¼ÆÎÎĪqWZl|„›»ÅËÎÑÑÏÒÓÔÓÓÓÐÉ¿¬sory}|yvz|zvtwvwuv|€}xphddo€‰’‘ŒŒ‹ŠŠ‰‰ŠŠ‰ˆŠ‹Š‡ŽŒŠ‹†„„€ƒƒ‡ƒ~zy}~|}‚„ƒ‚~ujca[_ilpry‚}yyw|€€€€…ˆŒŒ‡‚zjbWYZ\doo_mÎÒ·“|}x|xy†Š”¥½ÈÒÔÖÛÝäðòïä˹»äìáÔĹËóîÌÂÅÐÚ×¼µæËæõöö÷÷öööõöÙ¼¼ÑпŒ¦½¾ÉïïÑ®`Uar‹¡®µÀåîæ{yrh\RLHEHp¬¿ÁÅȼ¡lVaq|Œ¬ÆÇÎÐÑÐÏÐÎÐÑÒÒÓÐÌ®‘~pmqxxzvtvuvrrqrt}y||yn]P]s‚‹Ž‰‰ˆ‰Š‰‰‰‰†‰Š‡ŽŽ‰‡ˆˆ‡†„„„Šˆ„}~€}~|‚€††€€}vrka]Zcqutw|ƒ€‚‚‚„„ƒƒ„ƒ††‰‹Š†|tlh`iojpswtšÛÖºšƒuuvrorw|‡–¬ÀÌÑÕÛÝàæêìç×½¿íìÞËÀ¶×öõÞÒÖàÚ´®òØÌî÷ö÷öö÷÷÷÷äÈÅÜéÚ·¹ÅÅËñóçÅ—Va†Ÿ¦²¹ÂæîïÁ—’†odUMJGX†’¦½À¶”_O\vˆŸ¹ÅÇÏÒÒÑÑÑÑÑÒÒÔÕÕÔÌÁ±”xnoqzyuzvwvvxstvzz|~xrfUSd|‡‘’’‘‘‘ŽŠŠ‰‰ŒŠŒˆ‡‰…ŽŒ…†‡‰‹ˆ‡‡„ˆ‡‚~€ƒ††„Љ†€~||sld__bistx}ƒƒ†„„‡…‡„†‡†Š‰Šƒvpmmprvyz{s{°ÐÓÉ·©‡vqmnorv•©¾ÌÓÕØÙÚÙÕÕβÊïåо¶Ù÷÷ôíê俤›°óóâãõ÷øö÷÷øø÷òéæéòíξÌÓ×óõôÕÆ}d}¥¹¿É×ëîðȬ´±«™…m[VIG^†œ´½±wJGKn‘¦¿ÅÊÏÒÒÑÒÑÒÓÓÓÕÕÕÔÒËÄ·‚tqtywyywvxxxxxxz}|wl[ITr€‹’“”“‘ŽŽ‹ŒŒ‹‹‹Œ‹‹ŒŒ…†…„‰††‡…ƒ~|}€‚€„‡‰†‡‚{uurdeWXZbhqu||€‚‚‚‡ƒ…‡„‡ƒ‡ˆ‰‹‹ŒŠ…xrnjntwy‚€€s^ei­º°ž‹ue`cfnw“¦ÁÈËÐÑÒÓÒÒÏÉ»§ÓñåÍÀ¼¹Èòõõôéò¬¦­ëööóõöòëòöö÷ö÷ööðôõê´ÇÚçõõôÕÖ‹¡ÁÖâëíìØ©²¼ÅÆÃ°œ‚dRJLi£®~KGGH^‹¥¿ÇÍÍÐÐÐÒÒÑÓÔÕר×ÔÓÒÏÉ»¢‘…wrz}{xvvzytutu{z|zrfE5Yt‚‘’’Ž‹Œ‹ŠŠ‹Œ‰‰ˆŠƒƒ…ƒ…†‚€}~{y€}‚ƒ„„‚„vjig^`QVdehmv€~|€„ƒƒƒ‚„…†‹Š‹‹ˆ‡yunlpoxx~†‹ŠyjZao‚–|jibdow‰–£´¿ÅÊËÎÑÏËÁ®–—ÙôïÜÆÁÀ½Ìáääù¶²«¯àöö÷÷ì¾½ìö÷÷÷÷ö÷ñôôôÀ‚ÌëôôìÄÍæVq›ÂÔßγ©·ÀÈÉÈǾ¬iWN[ki_FHFGHS|¢¹ÈÏÎÐÏÏÑÐÒÓÔÕ×ÙØÖÕÓÑÎ˲¥žƒuvyvuvyvpuuvvzzzsjJ=Bbz‡’’ŒŒ‹‹ˆ‰‹‹‡‰Š†‰‡ˆƒ‡†ƒ|~}|€ƒ‚…††ˆ†{ongh^UPcilot{‚„ƒ„‡„ƒ†„…Љ‹ŽŒ‰ƒzwupqssx|ƒŒ‘’‰xfKO^comlkjehqx…’ §°¶º½¿¿¼·­˜Ž‘ßôõíà×Ðű»ÁÕ¿»¸µ²´Íõ÷øïƵ¾ð÷÷ø÷÷÷÷ôõöõÝu‚¹âÝÆ¾Çí×XX^lqz…©¼ÄÊÎÏÊÊ´ˆfUV\MFIIEGGO|­ÂÍÐÒÒÏÏÑÑÒÔÖÖ×ØÙØÖÔÔÑÔÑÊÄ¿¼’swwyvxwrvy{y{{~wp_J7Ik}Œ‘‘‘‘‘Ž‹‹ŒŽ‹„…ƒ„††‚€‚|{}}}|‚€‚„‚„†}{qc_[TNHRdinkuz|‚€ƒ‡„„…‰Š‹Œ‹‰…}xtpqrsuw}…“˜•‚nW?;FNPTVV]^dgpx…˜¢«°­°¶µž—†‚Ïðñóñè»mªÀÈÛþ¼»¸ºÀÕßÕÁ¸¸½íö÷ö÷öø÷õööõèž–§±¸¼¿Êëñ’bcfj~Ž¢£¯»ÆÈËÎÏÏÌÈ®~`WWc^LHHFHIc³ÅÍÒÑÒÒÒÓÒÒÕÖØØÖÙØÔÕÔÓÔÔÒÐÌÎÏžssvwtxruxxuwx{ztiV8*Lj~ˆŽ’ŒŒŒ‹‹ŠŠ‹Š†ƒ‚€€}€~{~~}{~€„„~tpa^VPJ<PYhnuuuw}~}~~‚„ƒ‚‡‡ˆŒ‹ˆ…€zspnpstu{…Œ“—˜”‰wdM+)+?KKMLOOPZafjx|{{z{v€…‚ÁäìÕ‘Ll½ÁÎßÇÿ¾½ÃÌв¾½º¹»Øö÷õö÷÷òôöõõ妰¹ºÁÇÌÖìòÑfdmwŒ¢±ºÃÆÌÏÏÒÑÏÏÎË®{]\_{§dKIHHLÆÍÐÑÒÔÕÕÔÔÕÖÖ×ÖÖÔÒÑÓÕÔÔÑÏÐÒÖÔ–vvrpwrsrspuwy{tlcC#(Oo~†ŽŒŒ‹‰‰‡‡‹‡„ƒ‚…ƒ€ƒ€ƒƒ‡ˆ‡††€yoiZXWMD:\gnu{}}}~€…†‡Š†ˆ‰Œ‹Ž‡‚~ztsrsvwx„Š‘–š›”ŠyjT/8)1KRWPLIKPQV[bhktpllpu…•tjgnlVLNÈÆÖçÍÇÁÀÃÒÛÆ°ÂÀ¾¼¼Áä÷õö÷ßÐìõôèÕ¤¥¼ÍÖÝãêòóéycr~Ÿ¸ÀÈÊËÍÑÐÑÒÑÑÑÏÈ¥paou§ËšOIHJqÃÎÏÒÒÓÔÕÕ×ÚÙØ×ÔÓÐÏÎÐÒÓÒÎÍÍÐÒÓÄtwttrxtstzz}€xpnZA(/\u„ŒŽ‘‘ŠŒŒŽŠ‹‡‚ƒ‚€~~€„ƒ„……†‚~xk]ZJA<A?L^jwv€|{{‚€}‚…ˆˆ†ˆ‰ŽŒ‰|ywqruvyy|‡Ž”™—‘ƒtfR;6)>Ucnlj\PIIKUYY]fi`_b_di^XROONPY°ÌÈÝíÙÌÆÇÒÞÔ¸µÃÇÀ¿¿¿Çéõõá¼¾ÆÙ×ÅЪ¥®»Õèñòôðíciv»ËÏÑÏÏÐÐÎÎÑÒÑÎȾ“q‚²ÊØJFHQœÈËÑÓÔÓÓÕ×ÚÛÜÙÔÒÌËËÊÌÏÏÏÎÊÊÍËʧqwutustuvvxz~xsl`G(=g}‡ŒŽ‘ŽŽŒŒŽ‹‹ƒ†ƒ„€€€‚ƒ…ƒ…‚†zsk_TOG4),?Vds{~}{{}€~…‡‰‰ˆ‹ŽŠ…|zyvosuyz{‚‹“—œŸš€uhTOGFUcoz†‰„w^QSUQVXXTXYWRSVT[_ddepÆËÆÞòíàØÝåླྀ¼ÉÏÆÄÂÂÉÕàìɾ¿¿¿ÁÃØ³¦¯³·ÀàòóîÊtfw¡´ÇÏÒÑÒÒÒÑÎÍÌËʽŸjn™¿ÌÒÐËuLHLh¯ÃËÒÒÒÓÔÔÖ×ÚÛÙ×ÒÎÈÇÆÇÇÍÍËÌÌËË¿˜srxvpsvywvvy~smgV7)Xp‹‘ŽŽŒŒŒ‹Œƒ†€€„†‡„„…~vtgVP>75 #H]pw~|~|{{yz~}~†‰ˆ†‰‰ˆ„{wurqqwxy}„Ž•››–Š{seXLPS`lv}ƒ‰”¢¤¸ ‚wmkptu€Œ–¡˜}uomŽÓÃÂ×ôòñòóîÊ»½ÆÕØËÍËÍÔàèçÃÂÂÀÀÂÇÛ¹©°´¸¹Ãè´£ohuˆ¦¾ËÎÎÍÉÆÂº³­ sVOR°¼Ó×ÖÌ]JHMw«ÂÎÓÒÒÓÕÖÖÖÖ×ÕÒÐÎÉÄÀº»ÀÈÍÍÌÌ·„mrmqortuuuvzxojYE+;]t…‹Ž‘Œ‹Œ‹‹‚€ƒƒ~„€‡‰ˆ€zqdUFJ2+($+A`ox{~}€~{z~~~€€€…„†ƒ…„……}yruuwvwy|‚‰’™ Ÿ›’‰yqg]P\fit{„ˆŒ•œ²ËÖÙÓÐÍËÎÍÍÏÌÉóš‚ynhŸÞÆÂÏóöõö÷çÂÁÊÖÒÒ×ÙÝÞæîòàËÉÈÂÅÉÒå¾°²µº¼Ê릕–˜•—bjr}Žš¦œ”˜“~skTKLY›ÒÏØÚØÑ®uXIHV}¥¾ÐÓÔÕÖ×ÖÕÓÒÒÐÎÌËÈû²°ºÄÉÑÊÁÀ®zprtrqruuvuz~un_Q6"':g}Š’”‘’‘‹ˆ€‚…ƒ„ƒ…€„ƒƒ}ul^UA42!#3Vgr|€}{z{}}|€ƒ…ƒƒ…„‚}|xsptvuxx{€‡— ž˜ƒvoi`Xanp|€…Š”“´ÎÝâÝÙÖÓÔÔÒÒÒÊÈÅ®–„vok½æÔÍÎíöõöôàÐÑÝä—¦éèíïóöñÖÒÑÒÍÏÕßïǺ·¹ºÁÒ¡šÃa\beiutifhbXXTMJMP–ÌÆÒßãÚÔ¶{cWKJd}›ÂÐÓÖÖÕÔÒÑÏÏÍÌÍÍÊþ·°¬«¸ÉÊÅÀÀ pqqrqrwssvyxvqf\C'Stƒ’“’”‘‘ŒŠ‹€‚€ƒ………‚‚ƒ…„ujaOG3!#+Pfx|€€€|{z~€‚†ƒ„„}€{zvruwvyyz€„‹“™ ¡ •…zricfhqx~„‹}¡ÏàèæáàÝÜÚØÓÕÑÏÍÁ±š‚tqrÑîèàÙÝðõôðëìíðÄVqëôõöõ÷ßÅÝáÝÝáçîñÓÌÆÄÅËßðÉŽ—§«Ø‹NRSSXWTTQHJMKKOd}ÀÑØáäÞÒ¸f`_Visx•µÊÒÖÕÑÐËÉÈÇÊÉÉǾ¹·¶ª¤¬²¶·¶±ŠlrusqtqttwwytpeYE3hw‹“–””•”“”Œ‹Šƒ€ƒƒƒ‚‚‚€yrg_Q>1 7[p{zyz}}y{{y}~|}„~{zxzyqppvuxwx~ƒŒ•šŸ¡›‘‡€yrjeinw~€†‡‰my¤ÖâçæåãáâÞÙÕÕÓÐÌÆº™upvØððîëéîòóòòõòåyWVÐóöõõðÉÁßïîíîñòëÊâáãäíïΘ¨¸ßªOOMKONMMLMMQXt|‰š¤ÆÖßááÜѹ†kbZhtsgrƒ±ÍÓÕÒÎÊÇÄÁÁÀ¾¿»º¹µ¬ª¬¨¥œ˜™ “hppprtosqwu}tqj_E("'9fŽ•–•••”’Œ‰‚ƒ…„„†…ƒƒ‚ztm]TO>3$<]nw~}{}{z}{||‚‚……ƒ€{y{ysuuwyzzz‚ˆ–ž¢Ÿ˜„}wspqquz€„†„ca€ª×àçéìçèæàÚÚÖÕÒÌÉ´š‹~ttßóôôôôôòñõòõä•^UQ®ñööôÙÅÍèóôõõõóákk¾ïðòóòÑ ¦²ÂåÄ^WVVXXZ]]a`ap˜™®ÄÐ×ãæáÚжŒq~edqffhg‡»ÒÙÕÐÌÆÃ¿¼·°²¬©©²«©¨¦¨œ…{‚~ekptvxtsuvvzztlfVF( 0WuŠ––—”—••”އ…†‡†ˆˆ‡…}ti`SE<+ =^gy€ƒ~~{|~~„‡††„‡…„~{{zzuxy{|~{~‚ŒŽ—ž¢–Œƒzwqruwx‚‚zbYc‚¶ÓßçêìêêæßÞÝ×ÕÒÏųŸŽ|qäñóôóóñîìóïÓ†bZSY¬åòïßÒÑäòáêôôñò¾gWa×ôðððÐÅ»µÓèÚlY\bfddhchkr{‚˜¡»ÍØÞäéãÛΫ‰u`YdcjnmietšÎâáÑÈø²¤¤™–•˜š¢£¡•x\anjftwurtxvxwvwvtncK4'&2\€•˜—––—–“„‚‚„…„†ˆƒ~tnh]IF3,:Rgnz|€}{z{~|{~‚…†…„‡„‚}}{wrttspsxxxz€ƒŠ”˜ŸŸ˜‘‡xvpqwx{~{aRU\k¥ËÛäçééèåàáÞ×ÔÒÐÁº¦”ˆrwàëìññðíå××°vd_[W§ÍßêãÞáèóôÒÉèñïÞfVNM½ÑØÑÞßæåäÝv^\dfijogpw}• ¯ÉÑÛãåæäÛг‘ti_UWeejkkookch|ž›–‹‡‚~€txy„„ymc^\eiqrppqvtwvttwrqjW? 3h‚‘—––”•–“‘†…„ƒ„ˆˆ„{xmaaUL@6*(Ogr}~}|~|}}‚„‡„ƒ‰……~yxurwsvvzwx{‚†–›ŸŸ˜‡|vvty{}€‚€hPOR^h…¶ÔàåèéçåâáÞÚ×ÕÏÌÁ¬ ~mrÓêêðîíåн¦zfeaXšÏÒØíîîïóóïÐÑç鹇c_UPMOPWfž·×ÜÓ b`^_elnqmv{„ޤ±ÂÏ×ÞãèççÜе’yjaUVcdlloqrssvvqh^ULI>YaedioqxzyxtpostvwsuwtrsxwwwuupeG)" Gt‰”–—˜–•””†…†‡‚…}rn^\VI?$$!)F^o{|}|||{‚~}ƒ„…‡ˆˆ†††~}uutquuuvxtvz‰—šŸ“Šƒ}ww|x|€„xRKORX_n¦ÌÛãçèäåäßÝÝÛÕÐÎþ”qlsÃéêíïäѯpe^gbÓÖ×ÚëòôõòóçÙáñß“{f_VOMRSSRRQTclk][^b\blnty€€‘œ³ÄÌÕßáåêèäÚͯ•ri]Z_jfkosrqtvyusmdZSF_cinuw{~‚„}{}{z{vrupspquuvuywsiTE##[}Ž˜˜™—–•–ˆŠ†‰„€ytca[WJ>7&%#)<]oz|~~|~||}……‡Š‰Š‰ƒƒ}ypmppstwvusu{‰’™™œ—ˆ}z{y|~€ƒgKHMORWdŽºÓÜâãáæäàáàÛ×ÐÍ˸‡qmy¸ÚâÞβm`]Z]_„×ÜÝÞßãìòôñòëëðïÒxj`YMOSUUSSUUWXX\Z[chmpv}‡…’˜¯¿ÊÐØßåèçåáØÍ¬Š|qa_^hggnsrrwwywxpiZSVaekswxz~€ƒ€}€}{|wuwppsvrxysyzvqbN+#@f———•–•‰Œ…„‚}tk`WPQQ5*)00+ @_lw|~ƒ~‚ƒ€…†‰†‰‰ˆˆ…~|zoquuruvrrsx†Ž–œžœ–‹ˆ‚{|{}~€„‚}UJKMOOS^n’ÅÕÜÝâäåååãÛÖÒÑͱk~ºÊ° ’€nlc\\bÓâåãäâàâéíîòïñôéÄŸrdWRPUYWVUWWWX\]]`ju{uzˆšš¢³¾ÊÏÖÜâæéçãÞ×Òâ„pfg[_jepqrpxxzxvuqf_^`fjnu{|„‚‚‚ƒ~{{yvvsutstuxy{xxrn^D&6Kl…’–—–—–‡…‚~wqgbVVEI>+3,"%5Mfx}|}z|}ƒ€€„‡‰††‡yrtnqttrxujkry€Š‘—œžš’ˆ~}|{}~…‚qKJMLORSZi‹µÓÖÜàáåçäáÛØ×ÒÆ¸ª‘|‰¸™’†urgc[]}Èßäêææäãâââåìíññݨue[RRVZ\ZZYSVV_]bjs~‚Œ’”¨µ°ÁÉÍÕØÞãçééáÛÖп¡‰…vig`\eckkkouwywzumga\`djjotz}†„€‚~zxvuqqqqrvvtwwzvjfM2!1Tv‹“–––˜†€|mj_aSO;>@)20/Oir}}||~ƒ€„‚€ƒ††ˆ…ˆ…}{wtnnqvwvuwnoty€‹‘𛕑‰„}}{€„†…€dLKKLPS\VavªÍÓÛÞàäåâßÛÛÙÑʽ²”›šˆƒvrlge^wÆÙãçìæåääâàßßäçíèÔÆ«†yf\RUY^_a]\[_`gemz}ˆšŸž®ÃÇÌÐÓÚßáåéêéáÚÔͼ­†}mfa_^fdjmppw}}|zspkaaeknnsz}‚‡…†ƒ„{{xwssrqtuyvyy{zrl`J,(Kh–——™}zof_XQ9=???/%,!'H`m{}|~|ƒƒƒ‚„„„‚„†‡ˆƒ„€}{yxmruwzwrofjs|‚‹–š™—“‡‚€}‚………€SFEIKKNPQVožÇÑÕÙÝáàÛÙÝÛØÒÐÍÈºŽ˜›tqnegeg^m¹×ÙäææãßßâßÝÛÚØÔÖÒ雷}e^UXW[_fcgdcbjpv~…˜ž§³»ÄÍÓÖÛÝáäåèéçåÝÓËĵ¦„yqda^[bckpqv|~{wrlaeciknwyy€‚ƒ††„{yusvusruurxv{~wnjR:!+GZs†‘•–—wrkc\PJG;B,3:!"<\kqz|y{y}~€€‚}}ƒ…‚~„„…„€yvqnstuxwxqient|„”™š—‘‰‚}}~ƒ‡„ƒrMGHHKMLOQWj¡ÂÇÏÓÖÚØÖ×ÚØÕÓÑÎÉ«~Âuhcahkeq¥ÈÕ×àââßÜÛÚØÕÔÔÓÏÍÍǽ¤Œui^]—rdgjfmokkq…Œ™ °³¸ÇÌÌÑ×ÜàâãæäçèçäÜÓÍ¿²¤Ÿ„voic\b`gmntwz|wuqmc[\gilptzx}†…ƒ}|{zvtstsnsrsusvystkYE2##6M`wˆ“”•mjc\VRM>>C.-/"$>Pes{{xw{}|„…€€†„‚„„ƒ€~zytrntswyxvojfqx‰Œ—˜”ˆ‡‚}}ƒ‚„ƒ†dFFHHIKKNPUr¥µ¼ÉÎÑÓÔÖÕÖÕÓÓÑÏ¿–†€Ï˜ms{„‰n†¨ÈÑÔÛßßÜ×ÔÓÒÐÏÎÏÊÆÆ¶´ˆpe^{ݸurrxuwz|Š—žª¾ÂÊËÎÓØÛÞàãååèåçççáÚÕÎ륜›Žyvngb]adorsuz|xvojh]_gklrtx{~‚„……€}{x{xvtvssrsuvv{wuqkS;$(;GVk€Ž‘”cb\WHCG<?=2.+"Oapyz|vyy{~€€…„‚…†††ƒ~{vvpqovxxyyujhjr{†Œ’•—•Œ„„‚|ƒ†„…„{SDEGEGHILNTs‰‘®½ÆÍÏÐÒÑÒÒÑÑο­•¢ÍÆ«ÅÌ¿ƒ`ˆ£ÄÍÑØÙ×ÔÑÏËÊÃÁ¾º»µ´®§”Œj`¬éൌƒ‚ˆ•˜–˜£³ÁÈÏÑÓ×ÛÞáääææççèèçåáÝ×ÐDz¡ž–‘‚uokg`^ajnvxxy{|plgaagljnpu{€„„‰|{{|wuuuutqsrouywyvk^H@,:ITarƒ“^]YOI9BIC<1+..EZow~}yyz}~~ƒ‡†††ƒ„……ƒ‚‚€|uuqoox{ywwvhjmy†•——’އ„€€€‚„ƒƒ„„tGAEGGHIIKQ_w}¦µ¾ÃÆÁÀÅÊÈÌ˵­©¨‰¹ÜÞÅ“d`^{“¨¸ÊÍÏÏÉÄý­©¤œš™žšžš˜Ÿœ|ÚíæÔº£Ÿ¢§¬¶±¶ºÄÇÏÖÙßáãäæçéççççêèåâàßÙÐʽ« ’{rnia\afjrxzz|tpjjgijpnltyx‚‚†‚‚}}{zzyzwvwvtqouxzzxqhYD@>IU\fuƒXWD===HC1/') =Thwy||xw{zz}}‚ƒ„…€ƒ‚€€}vsppqtxxyxqnhpmx‚‹‘“”Žˆ†€~‚‚„€jB@FFECGJX]bu~—¨«´¸©Ÿ§ª´¬ºº±©«›“ˆ¯Äšp^^]iy„—¡®±º¸§¢ž™•œœ™’ £‘€oty¸êîæØÎø²²ºÃÊÍËÏÒÙàâåçèéêêêèèçäæéçàÞßÛÖÏı ”Œƒtrke\Vbdlssz|}voigaaehlinsy„‚‚‚}zxyxsvqqpronuyx{rmaPN?@MY_hvˆKQH?EBI@<2&$(@[mx{}}|||~}}}…€„„‡„„‚}|{vttvvvz|~vljhlu‚†’””‹Š†‚‚†‚……ƒƒ~`BBBDCDHKdff|žª¥ž”€~„†‰¨»¢‘Š}{|{~rh\^v°…z}ƒ–ž¥¤¢š§´»ÀÀ·ÎÉ‘]IHIMsÔðíåÙÌÏÉÁ¾ÀÎÖÝÜÞáåèêíëììîììéçåäæçæãââàÛÔ;¦”†‡|xqlk`Y]bipv{|yztod`cfmlkiu|‡ˆ‡‚~}yy|wxuwpqrrwux}ysl_VNHQUabfwF@=C?@K9C2&,@Wlv~~~|~~}€‚†„„‡……‚ywruryvx||zyshglt{‚ˆ’’“Œˆ…ƒ‚…„………„{Q<=ABBEGLZet…–¡™|qhgihglny~xooifcfe\W‚»Ä~”¢§°¼ÀÀ¶¦ºÄËÐÍËÓ»hHFDEI–èòèߨËËÍÏÏÐÙàæééëíííìëìëééèæåàßäåçåããáÞÙÒȶ–…}wqqhjbWRWantyzwxuncbcklmkknuz‚…†ˆ„‚€~~|||zzzvstostvzz{qne\TQRUZSW`:75<<9;/0.!DWev|‚€…€ƒ€}}€€€††„ˆˆ‡ƒ~}xvtvovx{|{xtrkfot€ˆŒ‘’“‘ˆ†…†…„‚ƒ‚wC=<?ABEKYdp€Ž}skd^`gdbdeaeb`^\\[]_eнÁÀª·ÅÇÁÄÅÆÆÅÃËÍÐÔÑÑÒ‹MEDDDP½ïñèáÙÍÉÇÉÚãäæííîëìêæåáàßÛÚÜÛÜØÕÖÚàâßáâàÝØÑÆ°“|wpuogbWPP[hqwzvwpjfacfikkjpqyƒ„‡†‡„‚‚~||y|ztuqtvxyyzwrka]XXTURWV70'.(&(%&)Pgt}€~ƒ€|†ˆ„„‡ˆ…‚€|{vuss{~{{}uomfgrxˆŽ‘”Œ‡„…ƒ‚…€ƒ‚~hA<>@CGHUcl†’‘‡tnjgfjpuz{|wtuwjbXckk€µÂ¿³¿ÄÆÈÈÌÎÐÐÎÒÔÖÙÕÔ«PDCDEDjÙðñêâÖÏÊÅÆÅåðèìéèáÝ×ÕÒÍËÇÁ¿Á¿¿ÇËËËÏ×ÚÝááàÜÙÓÈ®‹xoqokc]WOVbpsy{upjh^ahmkkolrz€‚…„††ƒ‚ƒƒ}{w{tssptuqruyzwojc][TPPUO" 8akr|ƒ€‚}~|€‚~‚‡†ˆ†ƒ€{|zqmsvy{{ztpjd_ry}ƒŠ‘“’‰†ƒ‚€ƒ€{ZA;?DEIQ`h}—€smjik€‡‰‹Š‹Š‰Œ³¿³™†©´¥™œ°¹¿Æ±¾ÈÉÌÌÐÑÓÒÓØÙÜÛÔ·`HEFGFI’ìóðéÞÔÎËÊÉ´ÊÞÙÔÌȹ§£¡ž—ŽŽŒŠ•²¹¼·¼ÌÕÛÞááÝÙÓÆ¦oiljh\UPOWfquvtqfg_cglkiplmv|€‚††„„€||{yzxrruoqonopsv{tng_aZPPPL-Ioy‚ƒ}€………†ˆ…†…‚ƒ€zwvsrvtvy{ztic`]r}€Š’“‘އ„€ƒƒƒ€~sM=>@EHMZhƒ”‡|xuunv€†„ƒ††††‰„˜¤‚¥©“‡‰’Ÿµ¾ªÂÌÍÏÐÓÕÚÙÚÞàâÝÃqGBADEENºòôîåÙÓÐÊÍËÁ³ºÌĽÀ´¢•—”‡„…‚ut}Š“ˆ”Ÿ¬ÆÖÚÞâߨÒêˆqggecYTOQ_jrrolhdXaglomnknvz~†‡…†…~~}|ywusoqpplopyzvslcd\UWRL;as{ƒ„„ƒƒ‚€€‚…ƒ‡…„€‰„|z}wvuswz{ywwrh\Wdu~„‡Ž‘’”’‹…‚€‡ƒ€‚€€{{gC=@CDKWh…œ•‚~{|€ƒƒƒ…„…†‡‡}uz{vu€„|z‚ˆ—¯·®ÅÈÍÎÐ×ÛÝÜÞâäåÕ‰KBCCBBDb×öôêáÔÒÎÉÉȾµÈ×ÑÐÍÅż¸¯¬¢™•„xwqpqy|…«ÇÕÜßÞÚÒɳŽqiheZXQMVdqtmmecZXgmpookkt{|…‡…†‡…„€€€~xx{uorqnpoqnsuvtme]\XZWU1[n{„…ƒ~„„ƒ€„~‚„‡……‡ˆ„…|xzwyuuyz}}wtsc^`r|ŠŒ‘‘‘‹ƒ€~€‚ƒ‚~{xW<>BEIScšš‰‚€wz~ƒ…ƒ…ƒ…†x`aqhdjost„™«°¯ÅÌÎÐÐ×ÝßÜáåèå±VGCG>@AB„êöóêÛÏÑÏÉÏɽ½ÍÕÚÔÉÅÇÉÌžº»¹¸°¬¤’‡xfdhghfi„µÒØÞÞÛÔË·rid[WQMPbkqokea\^fhuoplkqz}„…‡‡†…„}€}}ywxvpmpoqsnmtywsrf]\WUV[#(Mkz‚‚€€ƒƒ€€€€„ƒ‚……ƒ…ƒ€|ywxtov{{|}unh\[ft|…Š”’މƒ}‚€ƒ}}}zjF<@ENZ_z˜’‰ƒƒxww{}„ƒ‚‚ƒ„ƒƒ‚ƒuZU\[`blopz† ©³¬ÈÍÎÏÐÕÜàßâçèÕfFDCD?ADL¯óôðèÙÔÕÑÎËÈ»ÉÔ×ÚÓÊÉÉÎÉÁ¾¸»¾»µ¶¸³±­~_]][Y[es‹½ÕÛßÜÖϾ–qe`^TMKVbpqkbc[[eprpjkjqv~…‰ˆ„„‚€€~|w{wvvpqpknojostrpgc^TXVY$<Ogv~„„ƒƒ„‚„…„…„ƒ‡††…„€xtturuz}~wjdZ^myƒˆ‘‘‹†~{‚€„€{sW>?BKU\p‹ƒƒxxwzy~€‚„ƒ€„€‚~uYQTU[Ydjhs€˜¬³ªÆÌÏÑÔ×ÝàâåçߘJDBAB@CD_Ïõôîâ×××ÓÍÊÄÀÙÜÚÛÓËÍÏÏÆÆÂ¾Á겏»¸¿Åˆb`]^][WV]h—È×ÝßÜÒ¡yfaWSQP`inpgd^_dopsolorv{ƒ†ˆ‡ˆ‡‡ƒ}~}}{uqusmgfkppwtnebYRUZ^!-Pcp…‚€‚ƒ„ƒ…‚€…‚€‚†ƒ„}}}zqttrqv|{{xmg^War|ƒˆŽŒŽ‹„{y}|{~}v_?=CGS\h~ƒvu||{z~ƒ†„ƒ~€}tWOPRUWaegnx—±³®ÆÍÐÒÖÚÞáãåãÁYEB?<?ACHuáõòéÞÕØÙÑÍÇÁËØÙÛÚÔÐÍÒÌÉÅ¿½ÃÁ·´ºº´Å¶VP]lruqd\WU^{«ÎÜßÜÓÆ­€l]TRO[djj`a\\]gprplpst{„…„†‡‡‚~}~~|xvsqokgmlmnsusjbWUY[b4Ofxx‚„„€}‚‚ƒ‚‚ƒƒ€„„ƒ|yyxustuwuyzzsf`RVev€†ˆŽŽŒ‰†~yv|z||~xi=>CGMU^k|€}yy||z{~‚„…†„‚‚€~|u[LPQRWbfkmw—«·¹ÈÎÐÓØÛÝâååÝ…JDBAA@BGL—ìõðæÙÖ××ÔÌÅÂ×ÙÙßÙÕÑÓÓÍÉÆ¿Áƽ¸·½·®±vP\nrx‚ƒƒvof[\c‹¿ÖÝÝÖÌ·Œl`RLTbelc_^_amqnqtnnx|ƒ…ƒ†…ƒ…ƒ€|~ƒ|zvupopgmkjkstrpg\X^\d" 5N_r}|‚ƒ†ƒ†€€„„†‚…ƒ‚}}ƒ|{|{utrsuvyz{yskc\Saozˆˆ‘’’Љ€€{uuzz}{vT;DINMWfx‡†zzy|}|{€€ƒ†Š‰ˆ‡‡€~~{uYPPRRUdfnn|š«»ÀËÎÒÖÜÝÝáåã½YFEDDEDFES¸ïóîãÛÚÜÚÒÌÈËÚÚáÞ××ÖÕÒÎËÃÁÆÅ¿¾»ÀÁ¹TU^p|…†„z{usf`[c˜ÉÙÛØÐ¿ r^ROYac`c``\gqrttqpv}}‚†‡Š†ƒ„†‚€}ƒ€|ytrrrlphinkrtrc_\^`d!+8Vemz€ƒ‚‰‚‚€ƒ‡„ƒ€~}~zzuuussvtwwx{vqi]QXct{ƒˆŠ‘‘ŽŒ‹‡‚€}{spuw}ztRBDOXYduˆ‚~{zz|€‚…‚‡‡‰ˆ†„ƒ€}y[NNOPR^ioo{œ±¾¿ÉÍÑÖÛÝÞáäÚIIGBCFDGFeÏññëàØÛÜ×ÒÏÃÒÛÞâÜÖÚÛ×ÎÎÆÁÄÌÇÁ¾ºÁιgTT^p}ƒ‡‰ˆ†|snoia^q§ÏÚÚÓÆ¨ƒhVQY[a`SZ]fmvpssuux|‡„‡††ˆ„}}|xwwpolpjikllunja[Y]b&?Vbox‚„ƒ†…‚ƒ€„†…~€|}{uwnpqpsvsx|{wqjaYM_kx‡ˆ‹‰‰…zuomrsyvmOCGOeu}€yz{|‚‚‚„ƒ†‰††‡€€~{`JLMQQZktrwœ¶ÃÀÊÎÒÖØØÝâáÉhFEEEGGFFI…ãôñèÝ×ÜÚÕÑÊÆÙÜàßÙÛÜÜÕÍÌÂÀÉÉý¶ẨZTQ[p{ƒ‰‡…ƒxtrohfdfŒ½Ô×ÓÌ»—tXPW^_OXbkotststtuz|ƒ†€„†ƒ~€~}{{yvpppkhkjilnpobYWWY@Vhswz€‚ƒ‚‚ƒ‚‚ƒ……†€~€|~|uyvwqlrqsurt~vpjbVOIgr~‡ˆŠ‘ŽŠŠ‰ˆƒ…zvpiknntq`FBHN{‚~z€z{{~|}€‚‚‚„‰…„«Œ}vdMMLMQ]pvu¥»ÄÄËÐÒÖÙØÜáÜ¢PJFCEEFEEK¦îôïåÚÛßÚ×ÑÄÎÜÞäÚÚáâÛÙÑÊÄÆÍÅÁÃÀ¿Êª`ZYLXmx€…‰‡……‚|zytljd`giˆÉÓØÔÆ¦{XRNSNU^fnnqrsrquyy}†‚ƒ‚ƒ€}~zyyxupnigljlkmooj_YQPWjv}}}‚€‚ƒƒƒƒƒ€ƒ†‚€‚}€~wuysspnqsvqsvvrkg\M8Yov€…ŒŒ‹‹Œ‰†‡„€{vokjfksq\DDNYŠv}€~zxx|~~‚~~~‚†„ˆŽª†}yeJLNNR\pw™²ÃÈÆËÏÕÖØÚÚÝÑkKGCFGIEFFYÈóóîâÚÝßÝØÏÆÚßâäÚÝââÚÛÍÊÈÌÏÉÄÁ¿Å¿t]ZOR\iz‚†ˆ‰‡ˆ€}{{yrpkia]dh–ÉÙÕ̸ŽaNCHU]ejnonssqssw}ƒƒƒ„„‚€€‚~z|ywunikgijmjmnoke\NFcsy~€‚‚…‚…ƒ…ƒ„€…††‚|yvsppoqnrstusqic]MDD]ou†‹ŒŒ‹Š†„€yvtiffhptcNMmnrvy€~€~wy|€‚‚€}}‚šÛ«€}yiMJKPS]pz‡¹ÃÉÉËÏÕ×ØØØÙ³WIGEFIGDENtÛôôìßÞáßÞ×ÉÌÞàäãÛàãÞÛÙÏÊËÎÆÉÉ¿ɑaWQJCRgt€‡ˆŒ…ƒ‚}zxrsnokga^`u¦ÆÓÕÇŸqJBL[\hlrtprunpq{|€„ƒ„†ƒ~€{~vuxpighghhchnppd_QCoy„…„‚‚ƒ€‚…ƒ†„……†ƒ…‚€xzvqrsonrursqnjccM=<F`o{ˆ‹ŒŒ‰ˆ‰‡ƒ€uusgchjowpb_rkry€†‚~|yz€ƒƒ€}~‚xŸÛê¨{lOHJNSixŠ•ª¿ÆÉÉËÐÕÖÖÖØÔ‡KGHFEEDEJZ‘éôòêáãâàÛÒÆÚáãæÞÜåæáÝÔÍÎÑÎÇÅÿƮp`WQE?J`t|ƒ‰Œ†…ƒz{{vuurmlkfb]b{´ÐÔι|TJMYfinurrpmnrx}€„†ˆ‡…€{}{yvnkikfijdglqrmdYG{ƒ‰„…‡‡†ƒƒ„…ƒ†ˆ†ˆ‡††ƒ…ƒ†‚{zwunsqqouwtwp_]PKC8Lkv€„‰ŒŠ‡Š‰ƒ~~ztpfbhkuywnkou{…„„€|~‚‚„„€~€§ññኄ‚~tSGJOUmz¢¸ÅÊÌËÍÑÖÕÕÕÕÀeGHFFEDEFUr«îóñèãääßÚÎÐàãéèßãëéåÝÕÐÒÔÍÈÁ¿È¼}i`]QGHWhv|…ŠŒŠ‡…~€|yxurqomnlhebh—ËÑÒ¾ˆ]IK]lmostnimow{~…ˆˆ‰…„„‚€~|{ywojkkmjbfkrsqf]G……ˆ†„ˆƒƒƒ„†ƒ„ƒ‡‰†…„„„†~{wttklmrmswqrlbN=#)?[my†‹ŠŽˆ†‡…€}xrlk`fnosxz{zw|z|€ƒ‚}{}}ƒ…{y}~¡ðñ½ƒ}wYJMNYq„¢±ÀÆÉËËËÑÕÔÑÒÍ“TFFEAADEMh·ïóïèââááÚÍÞæèèåäêîéâÛ××ÖÒÎǼÂÇ’nj_YSBD@]w}†‰‰‰‡……}}xzvppsrkjjjja]yš½ÉÄ£yfgbbhkqojelqu~…†ˆ†„€ƒ†~€{}xupjgehgcegpqpmeL„†„„„‚‚€ƒ„‚ƒ†‡„……‡†…†‚…€€~yvvvpropstttndZE23Gdp{ˆŠŒˆˆ……€~}ysihgfotxz~|~|}{~ƒ€}€„‚yyx€€­ðƒ€{`JMR_{š³ÀÈÇÈÌÊËÑÒÐÍɹrKBEBACFG[u†ÌñòìçáàäàÖÕäéééåêîìåàØØÚÓÍɽ½Î¬vogd\SD@G^w~††‹Œ‰…{{|vwutnolmolmljhgfr¢¯±¬¤©ŽZW[hlgc_lt|‚‰‰‡‡ƒ…€z|ronjeefacdglmnfZ‡†ƒ„‚~~‚ƒ††„…‡„…ƒ…„ƒ‚~}}yvtwuuttxxtng[=6%0Wiwƒ„Љ‹Š‚ƒƒ€}zwnh_efrwz}|||ƒƒ~||¶{~„€‚zsu}¼ðè’„ƒƒ‚|dLOWi‘­¼ÅÌÇÅËÌËÑÒÌÀ¹œXJEABBDHTl~’áóñëæààåÜÐßéëêéìðïéäÞÜÛÙÌȽÉÁumgbYQC<P]p}„†‹Šˆ…z{|wvuqooknqomkikol`atv|—¤XSR`db^Ngpxƒˆ††††}€|zssqllgg`c^efinj\‹‰†‚‚ƒ„€ƒ„†‡ˆ„‡ˆ†‡……„ƒ~~vvwxtuyzzvtm`P?*(C\q}…‡‹‹‹Š‡„„‚{uvplekmsu{€~}|‚‚‚‡…„‚~}|€„…€zuw~ƒÍñß…„ƒ‚}kOS_zª¾ÂÈÍÆÅËÇÊÑϺª|I@GDCAGTm}ƒ éôñêãâååÛ׿ìíìîòôïêäÝÞÝÓÇÁ½ÊÓ—zwso`ZSOBE^p‚‡ˆˆ‡‚€|{vwqtwomrqspmrtsmf]Xkz—‰bUVcfb[W`gzƒ††‰ˆˆ„„ƒ€~{uyssplkfe`cfmqtcˆˆ…„„‚†„ˆ„†Š…‡„„†Šˆ}€~yxwtttutwvzvi_L<-*F_u{„ˆŒŒ‹…„„…€~{vrofeimwx|~|||z‚‚‰†‚€|~€†ƒ~xvov|‹Þîχ„‚‚oPUk³ÄÁÅÈÅÁÇÄÄËÀž^EADD>?Oex°ðôñëåååä×àëìîðòôôðìåÝÞÖÒÈÀËÝ®zzwutdUTLDALp{€‡Š†‡…~}}zwxrsrolkmrnlqqsunf`JO[NNU[]^_XNVav…†Šˆ†„†~€}|}xxpjlhj_b`aadinc„ƒ‚€~ƒ‚„~„ƒ……ƒ†‡‡ƒƒ€{zvrqtrrqrvutpbTG+ 5Ugw}„‡ˆˆˆ†ƒ{xqolfklsx{||{zxy|}‚€{~~~€}{tpotzŽåﺄƒƒ}wWYuŸºÂÁÁþÈÀ¿»¦‡|lRFEBBBG^u~‚ÃðôñëèèçãÜêïîððôöôðéäßÚÓÍÇÄÚÆƒ}|xvrl\MRDHQjy|„ЋЉƒ|{{xrpqqnlmksnkosvuqmfa\V][]Z_\]UNP`ox€„†‡ƒ„‚{}}€~vyqmkkkbe`dcefjf‰„‚ƒ‚ƒ„„‚ƒ‡†ƒ‡‰‰†‚„€}vsqnqqwvwxyohXF<.'I_s„‡‹‰‡Š…ƒƒƒ{xtnikoux{|€~}xzx{{}~‚{~ƒƒ€€}ztrsr{¢íð­„…„€€|cfˆ«ÀÁ½¾¾¼¹É¼´£†tn\JDAECGSo}€„‰ÓòôñííìêââîòòòóôõóîéåÛÓÑÇË×ÛŒ}zxng\OAEMgw€ˆŒŒŠ„‚€}~uuutplmoqplpvvsvqkd\]\[[_`YQTFG]iv€‡‰ˆ…„…{~}€zusqomhfbadeefhj‡„‚‡„„‰‡ƒ‚†‡†…‰ˆŠ‹‡„ƒ}ywrrjssyx|t{p[P=98& ,Skz‡Š‰‹‰‡Š†ƒƒ„||qnptu{}}}‚~z{{|{|}„€‚€„ƒ‚}yttrrx´í领‰„€~woy£¼¾¼°®·²¬À§š€lf`MCDDDEPm{‚„„•ãóôñîðîêåìñòôóôôöñíéâØÔÍÉØä¨}‚……yuoePGGM^s‚ŠŒŽŒˆƒ|x{wupqrqpvpsywxtumghc``\]YVLQFISgw‚ˆ‰ˆˆ‰……‚„|}}zxuyjib``a`ain„ƒ…€€‡ƒƒ‡†…†ƒ€|wrrnhikiusvjf[G6&8Xmz†‡†‡‡ƒƒ‚€€{ulonrqxz}~~{x}{yywyzz{{ƒ‚}‚{vptnowÀíãš…„…}}xuŽ´¿º¬ ™šŸ³ƒpddXEDCCEOk€€……ƒŸêóóòñðíéêðòòôóôõôïìêÞØÔÍÖæ¾s{€}|}}{ukdVJ@GMnz„ŠŠ‹Œ†ƒ||yzwtuqoqlostkqqqvtmigc[S\]WPKJGIED_oy‡ˆŠ‰„‚‚z}{zyxtnniba[_^]]bf‡‡ƒ„ƒ‚†‚‚ЇІ‰‰‡~}wwsmknqsypskbNH0 !-Eew~†…Љ‹Š…†~{{unpsuw}~}|{{yyxyy|~|ƒ‚‚{susrr{ÌìÕ‡††‚|w~¤¸¾´˜ˆ‡‰›¤€rg^[UGEDIXn„‚…ƒƒ¶îóôòóñíêîòôóôõõõóïîèàÛÖÔæÔ€x{€€€‚|wpbMCEJjy…‹Œ‡†ƒ}~{yupprpptpouov{vppkia]]b[TVRM<PM[qv€‰ˆŠˆ………|~~}xussnhdcdc_[af‚……„…€€„…ˆŠ‰‹„‡„~}wusplsuuvqkbS=#6Wi{†ˆ‹†ˆŠ†‚}~{vrnqru{}|{y|}z}wxrv{z~}„‚~|ytptqpƒÛ퇆††|yˆ²µ®›…z€~‘†of^ZYQHDFR’…‚ƒ‚ƒ‡ÉòôõõôòðïóóôôôõõôñðìåáÛÖçèŽsyz|€ƒ{xpcG726fvŠŒŒˆ…„}|zzrnopnrrlkroyztsrkiXY]_YRNHLBHEVlw~†‡‡…ˆ…}{~yutwrpk^bdcZ^^bƒƒ‡„ƒ‚‚~„‚†‹ŒŒ„ˆ{{uvruqsrsuleX6&GZq}‚‡ˆˆ…ˆ‡‡ƒ‚~}{vnnrty{{}{{zzxzyw|wutwy€~€}|~{|wsrtráè°„„ƒ‡‚}~w€·«ž‰xr~zw€taZXWSIGNWe”•~‚ƒ‚ƒ‰ØóõöõóòðóóôõóôõôòñðêãÝÜãè”rv|{|€€~zvlZMA;dv€‰Š‰ˆƒƒyzwvxsoomopomootwustog_[YWU[MFKMONUer{ˆ‹‰ˆˆ…€|€}zwvqrjh_cb]^\d‚€ƒ…‚‚‚…€‚ƒ‰‹‹‡†€}zyvvtrwwrsjf\L.$:Xjt‚‡‹ˆ‰††‚…ƒ|wrqntuwz}~xxxzx|uw|yuy{|}|€y{wutsqŸå夆„…„‚~|w}§›oqwrrvg\XURLLR^co{}‚ƒ‚äõõõõôóñóôóóôóóôñóïæÞÜäë£nrxz~‚~€‚~}weVQC^v€‰‹Œ‹ˆ„~|zy{wurqqnmkkrpqovwrjd]]^URPLR][YY_dny…‡„‡ˆ†…ƒ€{|zy{rnpk^^\_a\_ƒ‚…~‡ˆ…‚‰ˆŠ‹Œ‰‚}|vvvspuvttpdZ5-"M_r{……†‰ˆ‡ˆ…ƒ‚}utoprvyxz|||wvyxxurtzux{‚…~|||xutrmp¶èܘ……„„€|ytzœ‡~uloqllk[XWSLKXbfkz}|€€ƒ‚¢ëööõõôñòòôôóôôôóòðêßÛâëµtnrux~}~}~zudLQhv€ˆŠŒ‹†…€€|{{vttvompklopppsusrme[Y_TWRTVcbfljbgw€€‡†‡…„„}€~~zxvtonh`abYWX[‚ƒ†ƒ‡Š‡ˆŠŠŒŽŠŠ…}}{ywtuyuqo[J.)#!6Pjx~ˆ‰‡‰Š†ˆ…„†|vwvww}|}{}{z~|{w{vwty~|€ƒ„…ƒ‚|{zvrsrvÂéÒŽ‰…†…‚}|utƒxztoqpjmeTVTPWelfjy}{‚‚…„»ðö÷öõóòóóóóòôôôóôíãÜÞç¹vvtvzz~€„‚~„}|rabmx€Š‹‹‹‰…‚}|wxwtpnrtqtvssszrsoh_^bNQSVbjoqsrdjz€‡ˆ‰†‚†€€~~vtopehea]Y\‚ƒ…ƒƒˆ‰Šˆˆ‰ŒŒŠ‰„…yyxwuz{{tmcM*##@]pz……‰††‚€ƒ„ƒ€}ytuvx€}zxz{z|zy}vvtvux|€€‚„‚|z|ywrtn‚ÊèɈ‡…„‚}}wuvooogllin^QRRZx‚nlw€z~ƒ‚„‚Ðñõôõôòòóóôññôôóôòéßàç¾truvvzx€‚€ƒ€‚…€{}zuiqw~ˆŠ‹Š†…€€}{yytssqosvrnrspo{tssj^PXPHMYjrtwx|mjqw‡Š‡…„ƒ€~‚€}|vxsqhje_UV^ƒ††ƒƒ‡‰‰‰Š‰Œ‹ˆ…‡‚}zyyxyxwumfUG$1Rjs~…‡ˆŠˆ„‚{}{uvxz{}~|yyzxyy}yxwvyz{|‚‚€€~|~wxwqoÎã´‰†‡‡}}wwxljghkkmlZVTZy—mt~‚‚„‚‰âóõôõóôóôóñðòóóóñëááä»rruxvy|{}‚‚~}~vpu{†ŒŒˆ……‚}yxzusvsrpqrqpquvzuurne`ZQPO]pvy€}~sjnv†ˆ‰‡‡†‚€€~‚€|z{sphlg`cYZ€‚€…ƒ…‹ŒŽŒ‹ŒŽˆƒ|{vsvt{wwohZK%F]ly}ƒ…„‰„…€‚{|vwxx{{~}||wuwzyvwyxzuw|€€€€‚{zzvwmp£ÕØŸ†‡†„‚|w~{mhhmklpk[W\zŽŠtq€|€€‚€…„€ êôööõôôôòñïðôôóòìäâã¬ustsuvzy~‚~~‚~~||}zv|€„„Š‹‡„‚{|z{ysorspjooprqnryzwsmgaZKDM]x}†ƒ„spls~ƒˆ‰‰„ˆ…†€}‚|wwsolkiab`Y€~ƒ„ˆ‰ŒŽ‹ŠŠƒƒ}{xsuzw|wriYB%5Sesz}ƒ‹ˆ†‡‡„€}z{vvy||{}}{yuxxuyvsywyx|z~ƒ€€}|z{wtuqw¬×Ë’†‡…|{xunloutnui]]oˆ…ur|€‚‚€„ƒ€ƒ~¯ðõõöööõòïíïôõôôðèæåªopuxvuxy{y€€~ƒ~}~~{yy}}…‹ŠŠŒ‰ˆ}~{ywwsqspmpqnotrqu{xtjgcZF?Mh|†ˆymls{‚ƒ‰Š†ˆ…„ƒ~|€€~}zvtilleb]Zƒ‚„„‰‡‹ŒŒŽ‹ˆƒyvuvzxyrk_F*#&J_iu|…‡†„……€‚}zzzz~}~}|xywyuwvxuvxwxx}|€‚~}zzuvtr|°ØÂ‡ˆ‡‡‚€~{wvmquuttvi^bx€wp}‚‚ƒ‚‚€†ƒ‚¿òôôõôõòñíëñôóóòëèà£rrqy|wwux}~€…€~‚‚~|~~{|‚ˆŒ‹Œ‹‰‚~zyyxytrnoonqsstqyzwuphfZJMBf{Œ”™™“ƒskqz…ˆ‹‹ˆ†ƒ†~~€|xunmkh]\W€ƒ‡ƒˆˆ‰‰‰ƒ{zutsuwzljbM& %G`mu}‚†…‚{{~xyxxx}~~|{yuvvxxxtttxuwx|€ƒ|€€~x{|vslmwµÕ»‰ˆˆˆƒ|{xvzsrvtqwsebg{xry|{‚†‚‚‚ƒ‚ƒÝòôóõóôïîêëñòòòðíà—rxoruvossyx|}~€ƒ}€zzw{||€‰Š‹‰ˆ†‚zvyxvspkrpmlqjpptu{xse^JF;Bd{Œ›¡¡˜…sgktw‚‡ˆˆ†…ƒ„‚}~~}€zuwmnkeb^[†…‰…ŠŒŽ‹ˆ†‚€ywztvzzwi_P2 ">Tbnw~‚†ƒƒ~}|z{z{|||||yxwxwxwwsqxwy}||„ƒ‚€€‚}}}vtin}½×²†‰Š‰‚~~}{w…~wswvtwogfv~twxy„†„‚„„„§ìôôôõôñëééîòóòðñÜt{xvvuqtvtuxz}}~€}}y{z}†Š‹‹‡†ˆ„~}ywvtqqopqlpomqopuywsndVE9Id}Ž ¦¥›„sgiqy†„…ˆ…‡†ƒ‚~}€}zwspqkid`„‡„‰Š‰ŒŠŠƒ€~ywxpqwvwo`J2!+?Xgsy|ƒƒ…†‚ƒ„~yv{~}}|zyxzuvxzvuusvwwy|ƒ…„…ƒƒ|}yzwsos„¾Ó¦ˆŒ‡Šƒ€~~zxxwvspuuehp|zxyw€…†„„ƒƒ…ƒ¹ðôôóóñëçæêðòôôñ̓wyvqqsrqvtutwzz}~|~}||~}~zuv}~€…‰ŒŒ‡‡‰…„~|ywvurrnrsproomquvwtncVDB:gz›¤¡™ƒpbcnu}†‰ˆˆ…ˆ‡ƒ{~||}{sonokf^‚‡…††ŠŒŒ‡ˆ€}urppmlvpkdV.7?Xitvzƒ~~€‚|w|{{z{{|yuyxxtuxyvntqsuwy€~„†ƒƒ€{xxxtprp„ÂÏž‡‡ƒ…†‚~}y|twxvqpvrhr|}yxty}‚‚‚ƒƒ…ƒ‚Ãñóòóòîçåçíñòóï»|}xxqllsrnqqoqpquy}~€{|{}~~{xusw~}ƒƒ‰‰ˆˆ…„~xzxtqpqpslhhnmlsqvusgdNF9.]x‹šž•}k[Vcvx……Ї‡„}}zz|z{wrtphjga†Š‰†ŠŽŒŠ‡„}{xupqljohfND!5LM[lv{}ƒ||zz}}~~{y{|vvvxzwwzwprvtvw}€ƒ‡ˆ„…ƒ~|wxtpll‚Å̘‡†…‡‡„€{yqw{xsu|pr~~z|ux‚€„‚‚ƒ„…„‡Óóôóôïéååéðñóèž}||xrpotqompqrpswyzz€|~~~~}zxtv}€ƒ‰Š‡‰†‡}~{xwuttpmtlmloortuwutmgTC3@Yr‚”œšq_TNWly}†‹‰ˆ†ƒƒ€}~}|yxwqjlj`ˆ‰‹‹Š‹Šˆ„€ytssnmpkg_Y;2GYblsyy~€€~~~zx{|z~~xyyxyyvtuyyvtssvw{{€„ƒ……†„~{zwuson‹ÆÁ“†‚‡‰‰„€|yoy€zƒy{†„~vv~ƒƒ~†ˆ…ƒ†‘äôôôóìæäçìòòÛ‹z€{{vpvqssnltqprtxwtz|zy}{€}|ywwrw{‚„†ƒ‰‡‰†|yxxsopnpnkiprkootuvwqlZH>;Tj|‡•€iYI<M^r|ƒ‡‡Šˆ„ƒ‚||}}€{xtqlicŠŠŠŽ‹‰ˆ„sttmgpngcXF&CUahgtyz}}~}{|zz}~~z{zxruwzzwxvwurvsvx|€‚…†††‡„y|utrnmŽÇ¼‘……‰Š‡…ƒ~yuq††‡Ž‡†ˆŠˆ}t|„ƒ‚‚„„ƒ‚£ìõóôïèåèéìæ»}ƒ}zyuppqspnomssqu{|y|{w|}}wxwry{wz~…ˆ…‡‚}zyztnlmonimnilmmsvutrpcPIDVgt†€qbWI8?Zkx‚†ˆˆˆ‡†€€~~~{xupldŽŒŠ‡†}}ruuotuneXM0$BU^jmlvsz|||z{€z|~}~xz{vuuyzzxysxvvx|~~„…‡‰ŠŠˆ‚…}€zturtÀº’ˆ‡‰ˆ…‡†}ympŠ“’““‹†„‡wz}~‚‚„‚„†…ƒ…„ÃòôôðéææéèÔš~…†…ƒ{xxvswvtrspturuvzx{|~‚y|yuxzz€~€ƒ‚††‡‚~|xvunovqlllooppsvxvtqdSMOajo~‚}ocUNF>Uiz„†‰‡ˆŠˆ‚ƒ~€}~zxrqnŒŽŒŠ‰„‚zywsqqtsjZA3#/MWgiopqosuvxyxy|}{z{{}wxwrvuvtyuwuustxz~‚…†ˆŠ‰ƒ‚€€|zytvsp’¾·‘……ˆ†ƒ‡…{vikŒ›š›’‰{}y{{~€…€„„†€„†ÞôõóêææåâÄŠ|ƒ‚„|{tssqrstrnoqstrqwv|x||}€|yyyuyvx~~}…‚~|yvtutompmehnnolotvzwkfYOWes—’~k_RF@Pdz{…ŠŠ‰‡…„ƒ|~~|z~ztrqkŽŽ‹Š†€{ywrsvxtm_N0% *9?O]hmllmotsszyxw|}z|}zzwuvuwuvtwvuswtxzz{‚…ˆ‹Œ‡…ƒ‚€yx{trqn‘»·‡‰ˆ…„†…|uflˆš¡™‹ƒ}ƒy~~ƒ‚ƒ‚…‚‚€„„ƒ–àôöìççâÕ«„†‚€||wopqsqqoqsuuqstuut{}~zz}{wywuy~€ƒ~}€‚‚~{yytvtoornhmpmpmpsuxxlh]Kev~Ž›¤ yh]TJL]r|‚ˆ‰Š‹Š†‡ƒ€}}tqo‘‘Œ‰‹‚|wwrovwrk[@'2FI[dhsnmmqsspvyvu}vyywxxsuzvwqtyvvkpxvxw{{†‰ŠŠ…‡ƒ{xx|uqmr‘»·†ˆ…††‡„{qch˜œ•…zz|}~€€€ƒ€‚‚‚ƒ€›ÕðîèèèÒœ~‚…‡„‚‚~{wpkosqolnnnqnssqtvwwy|}v|xxxuz~|}ƒ€‚}ywuutloqlilkiolkluxxpj\Tmyˆ—¤¬«Ÿ|pgbY[p{€ˆ‰‡ˆ‰‡„~€~€€|xvqІ€ytnvywnhS6,JO\ajnwvqpousqwz|{}{}zyxzwwy{xzxuvtttw}|}ƒ†‰Š’Š…‡…ƒ}{ztsloŒ½µ’ˆ‰‹‡‡ˆ„{tdl~–šyty|y}~ƒƒ„…ƒ…‚„…„€ƒšÀâææãј‚ƒ†ƒ†ƒ‚ƒƒ|zwrlrtrmjimnrqttvtuuy}~€w}|}|{w€€}€„‚}wxtrppsmhlloopnrsyztn``w„“¡«ºº«Ÿ“…}tlkr}€…‡‹‹‡‡‡†‚~€ƒ‚‚‚|xr‹Žˆ†ƒzyutsssrmeL+56INVehoppoplqpprw{x}xyvxwuurxxwwyxtpvrtrw{~}}‰‰ŒŠ‡„†ƒ‚z|{xqims’¾·’ˆ…†„‡†vrjz‡”‡tr|wx|z€‚€‚‚„~~{{Œ­š®ÛåàÃŒ|‚€„‚ƒ}}~~zwxtohkplhf[]mqrorpqurvty~wuyyxyvx{z}}z€{{yzwpmnpphgjjnhihkoywole^s…Ÿ¯¸ÂÀ¸¬ ›“…yqt‚„ŠŠˆƒ„‚€}}|~z|}xttŠ‚‚}wwtsutoogZC+%+@JN[dcmrstroqoptvyyw~wxwwzvuty{yuwvrsuoxy{{€€†ŠŠŠ‰ƒƒ‚‚}xyvsppl‘¾¶‘‡‡Š‰ˆ…~{w}–…xovzz|}}}„……€€|ŠÒÚª·Ùݸ„}€‚€€ƒƒ~€|vwwnoijlnc_^blrtopttvrxwvywwwuyzyz~|}}x€~ƒ‚y|xvupmpmhklnokjouvytodbvŒ¤¼ÄËÇÁ¹´­¨šŽ‚}{ƒ…ƒ‡ˆ‡„‡€ƒ~|}|~~{yzŒ‰‚}{xyxwvqln_G+2>QVV^ffnuvvnrpnqsw{|}|zzwquwxtyyvuvtvvuqwx|€‡‰Š‹‹Œ†…xyrrsrrŒ»´‡‹Š‹‹‡|ƒŽ˜”†wkiux~€zz}€€„„…ƒ‚„Áêß³«¼¥{~‚ƒ„„…†ƒ}€}zuvnoghghZPLXgntsqvsrsutsytvvrtxyz‚~}{{~‚€‚~~|x}usqqnljhiknjprsuxsgg{’ª¾ÉÑËÈÄÁ¿¹¬œ‘‡…ˆ†ƒ‰Š†‡ˆ~~}}€|w‡ˆ~{zyzuqwkkfM3#%9HX`W`ejqqstrsmjrwrt||yzztptvwwyxwrtutttryz{}~…ˆŽ‹‰ƒ…€~utrsoosж³‘ˆ‡ˆˆ…ƒyŽ•‘‚tifnvx~‚}ƒƒ€‚€´äèܸ†xz€‚ƒ……„€}}z{tokmlieXIBCJ[eospmrstrrqvwqvvt{yz~|}{|{~|~}z{zxnmoqojhglpkkouxtrip~–¯ÁÌÓÑÍÎÎËú¨œŽˆ‡‰‹‰‡ƒˆ…€}{z~~€zwˆ‚}}|{vtfeU>3HTW]f^lqoroqyvqojtv{y|}zxwvuuu{}vvxxtvstz||ƒ{uƒˆ‹‹‹‰‡…ƒ~}{svurrmŽ·²”‰ˆŠ‹‰‡„{†„zlhfivy|‚ƒƒƒ‡…ƒ…ˆ…ƒ‡ÝììÕ§~}~…‚…†‚‚„ˆ‡‚€‚~zqpqpllfYF$ AUgmxutsprtwssxx|vw|}}|z}y~‚„{zzvqromqnnnqssuvy|rqu†›´ÇÐÖÕÓÔÔÓ̵«œŒŠ‹‰‡‰Šˆˆ‚}€€ƒ…ƒ‚ˆƒ}|}{wsqbT;!KSYUclmmotvtsqqtkpvu|}y{|xwwtywvwwwvuusvvx|‚zssx~‡ŒŠ‡ˆ…€€{zywspnm¸µ–…‰ˆŒ‡‰…wrj`[airz…†„‚ƒ‚…‡…‚¨ãçÌ•~ƒ€ƒ†‰ƒ†…‚‡„ƒ„zwtlqli`O6&)N]nttvusmnsswxs|yyzwx{{|{x|‚~~}~{|wxutljlkpompqtvzusnvŒ¢¹ÍÔØØÖÖØÔÎÆ½°¢˜Ž‰„…‰‡…ƒ„z€†ƒ„€‚…ƒ|~}€|slZM1%7DY`^heopimqwurspwqwxy||~}yvwwuyxxvzwuvwuvz}~€sngv{‰‹‰‡‡‚…{xussnlpŠ·¸˜…Љ‰‰‡€rcWSVfty€„…„ƒƒƒ‚‚‡†„ƒˆ´²~~‚…„€„ƒ†‚ƒ††ˆ‚……~|xrklnk_R4"DYetuvutolnsvvuww{zz{~~{z{}~~~~~€~yvrmmqrthgmpptxxurz’§¾ÎÖÚÛØÖÕÒÎǾ³¥œ•ŽŠˆ…‡‰†„‚‚€~ƒ††„„~}y~‚~{pdC&!)LK[_^bdkcmikqsplnsryzw{||x|ttvuwwvputvrwutyz~{wdQYnw„‰ˆ†‚ƒ‚‚|yuspokhi‚¬²•‰‰Š‡‚rcTNNcpx‚ƒ‚‚…„ƒ†€‚‰¡‡}ƒ‚‚€€}~ƒ†ƒ‡‚„‚€|yumnkleV@&0J^msussmokjnruutwzy|z}|zxx{v{ywyx€}{xtplijknkkijkquuuvv°ÄÐ×ÚÙ×ÔÒÐÎÆÂµ¨œ˜’‹ˆƒƒ…‡}{{|ƒ„„}}yz{~zoeO!#4RZ]]^cbcdkgolnjjoopwyvvxyuxrtptutrppqrssuvvv{}xkV9Kf|…‡†ƒ€~}uwrpokggzš©“ˆ…ˆ…€p_OLVbqy€„€‚ƒ~}–’~‚‚€€~y}}}~|€…„€|}|vqnqifeX9A\krsrojpjinjnqrquyux{xvuvstxzxvwxzyvsklcigfiijglrrutruޝÅÑÖÙØÖÓ×ÒÌÆÀ¸­ ˜’ŒŽ‰…‚…ƒƒ‚}~w}{€}|~||€{xoV8!,;NOYceggigddljokglporwz{y{}vtvuqsv{vxvtrsvuvwy{|}wa6)Rp€ˆŒŠˆƒ†~zytqmmjiyŽ ‘ˆ†ˆ‰„thcgo{„……‚~‚……ƒƒ‚‚ƒ„†…„†ƒ‡„‚€~}‚ƒ‚†‰ˆ„‚‚~zwoknnj]B$'7Vkvvutqnoksnjuuvyyzz{zxvxzyzy{{zyz{xpqmndimnikorrwrr’ªÃÏÕÚÖÖÓÙÎÌÇ»²¤›•‡ŠŠŠ‡‡ƒ~|‚ƒ…‡€z|y|~wpQ.!:1>R^]bhehddfacigfegjourvwxuvuruqstqwspjmorsvwzy{|}iHKn~†‡‡†ƒ€}|zwsqmihdv‘¤”Š…„‡†„€|{}€„……†‚€ƒ€ƒƒ‚‚€‚†ƒ„„†‚‚ƒƒ‚~€}|€ƒƒ†‡†€~}yxuojjlfR<&M`kttsqinllogpnqtttuuvvvxxzywvvy{zyzyvsohhmhcefliovrt‚’¥ÀÎÓ×ÖÕÑÍÊÈÆÀº²¥š—ކˆ††…„€‚}y€|}‚~{~{wzibB" 6@DU[c]hfh`gjgdhgnhjlqux|yyxruvwqttttwommsrpvxz{y|v^<$Tq€†‡ƒƒ…z}zywrpooliw•«˜‰ˆ‰‰‰ˆ„{€‚…‚ƒƒ…€‚ƒƒ€ƒ€ƒ‚‚‚…„…ƒ„||~€€…ˆ…ƒ€~{ussqnongR96J_mstsprnnonkrqqptuywvssxx{ttzzz}}||zzvspnmllilmnquuw£¿ÍÔÖ×ÔÐËÉĽ¸²¥ž˜‘‰‡‡ƒƒƒ‚~z|‚€v{wrdO@ -=;RWSa^ed__egfggifgmpvz{wysvuuqsstsnkoutoqwy~ylB""\yƒˆ…†ƒ„~~zwtnjjiehx—¬šŒˆ‰‹Š‡ƒ„†€‚‚‚ƒ…‚€‚ƒ„„†„‚‚†‡ƒƒ‚‚‚†ƒ‚~‚†ƒƒ†‡‰‡‚}wplpnoqaM5*:Vfqvtssqopoktrroqu{ywuuwxuswyzvzvwy}€ytwlkfjjjljous{‡’Ÿ»ÍÖ×ÖÓÓÌÉÅÁ¼¶²¥Ÿ˜“ŽŒ‡‹†‡ƒ‚€}{€€€„…yzllS<!.8LUUVTX[f_^_difc`blhmtwzzƒwzztruqtqrromprprtz~~|rV*(_x„Š……ƒ€~{~usookgeey˜§’ˆˆˆˆ‡ˆ‡ƒ€€~‚ƒ„„†‚€€€ƒ„‚‚ƒ‡……ƒ„……ƒ„„„‚ƒ††‡†„‡…ƒ~{|stmlmqmaM-I\mtyxvossnhptpssqsuuurswrqusxxvx{y}}zzzqlgilhhginu~ƒ‘¤¸ÊÓÖÖÕÐÊż¹³¯¨ š”‘‹ŒŠ‡……ƒƒ„}y€‚~…updQ>! 9FPRLPSXXX\`ggcbb`fchss{|{wwtpvrqroutpsooruqttzƒ€{f=5ez†‰‡…€€~||}wsonkeff|Ÿ¥‚†‰‰ˆ‡‡…~‚…ˆ…ˆ…‚‚‚‚€ƒ………†ƒƒ…‡ƒƒ…‚ƒ„„ˆˆƒƒ}zqqkmptm`C(!-Kcnxxwstnmmlilqmopsrtolrruvuwwuxwvx~}ywtqidaijhppr}ˆ‘ ³ÈÑÔÕÓÏÉŽ¸·´«§¡œ–“ŒŠ†„†‚‚€|~|}~€leO($%8EA>>KERNS__dedb_cjjorsyvyurqrslppnrqpqonnrrvuz€~|oT)In{„†…‚~zyxxxqlklghn…¡œ…~†‹‹‰‡~~€„‚€‚~~~€€€ƒ…‚ƒ‚‚€‚€‚…‡‡„}|}yqnmnoohZ79Sjuutrrpkfifkkklsqooimpnnrsutuusvsz|zzssmjgkmhqlu}‡Ÿ±ÅÑÔÔÓÐÌü¶µ°®§¡›˜”ŒŠˆƒƒƒ‚|||~||~`M6+/<@;2,5<QRW\bdhikgbjlssxywzwqqqqlqrortnmnprrsz|~€€yb/#Wm…‡†€€z|xwrsjlpruyŒœ’|„‰ŒŒ‰ˆ†…‚~}|…‚„††€~}~‚ƒ‚‚‚‚‚‚…ƒ‚‚€„‡‚‚„ƒˆˆ„~~zvqqnjpnfXK -9Pbmyxwuumfighimlrtsqknqqnuvuvwtxww{~|‚zyxnknmoknu}‰‘ ±ÁÐÕÕÔÒÍÅ»³±®«§ž›—–’‹†‡ƒƒ‚|~|~€€N8,349,.((/;QRWbedekmccglvw|{{srrqssonokrspqnqrrvy~ƒ€tS,]qƒ‡ˆ„‚~|zzxtulpty~€‰‹v{…Š‹‹‹ˆ†ƒ‚€~…†Š‰„‚‚‚€€‚‡ƒƒ„„…ƒƒ…†ƒ„„‚„‚ƒ†‰‡{uqooovpfYC!"!AThtz~}xrlkbkqmorqsrpqrnrvyyx{yxvwyxz~}xspnjjiltŠ’£°¿ÏÔÓÔÑÍľµ®«£¦ œ˜”’މ†‡†……‚~|}‚458(,&%#".FR\aeejhgchosuzyxytssttromkinmnpjopwxz‚€{i57au€‰‡ƒ€€{z|{}trpu}€||ylj{…‹Œ‹ŠŒ‰‡‡†‚~‚‡‰‰‚€ƒ€‚ƒ…‚†‡„……‚†‡……ƒ…‚‚„„„‡‡~{zrnknrrtcN3+GWmx|rokhiomlopotqssostvtvwvwsxxyyz}|xtrigjln}‹• ²¹ÈÑÓÓÒÎÆ¾´«©¢ š—˜ŽŠ‰ƒ„„‚€~|}€'-+&$" +MYejjjmgekoqtyyzxvuvuwpqpqspqppqpqtx{}…rKIj{‚‰ˆ‡}||{|xxvtsu|}yoj__g{†ŠŒ‰‹‹‰ˆ†ƒ…ƒ‡‹ŠŒˆ„„~ƒƒ„„†…‚ˆ†„…†…„†„ƒ†…„…†‚†ƒƒzvtqmnsrlWB22Ihz{}xrpkkkklqtorqrvssutxxwtvvzzxwz€|xzxnjiks€Œ”Ÿ¬¶ÃÑÓÒÒÏÊÁµ©§¦ ™–—“’Ž‹ˆ„„‚‚ƒƒƒ€~€#$";U]hflmjedloruwxxvxwtsoqrrqrpoqoonrty|€€wb3*Or}„‰‡‚|{vuuuyrrol[Z[YZ`{ˆ‹‡ˆˆ†…†ˆˆŠ‡„ƒ‚€‚ƒ†…ƒƒ„ƒƒ‡ˆ„„‚ƒ€…‡†…€ƒ†‚~zutqlnrpcS; ?auwƒ~|vrjikijmpjkqssspsutuyuuvxzrvz}~~woojkny‰“™¥°¿ÍÔÔÒÐËø«¢ Ÿ™——’ŽŠ……ƒƒ‚„ƒ„ƒ~1"#";Jafjkikhgiorvxwztssussppqposlnqrqrptz€€}pG+^p{|‚ƒ|zvsu{{zuml`_[\WU\e{‰ŽŽ‰‡‰‡†…‡†Šˆ„ƒƒ€€‚†ˆ††„„„…„†‰…‚‚‚„ƒƒ„‚ƒ†„€~xuqrrrscR21Wnyzyrmgflnkgntosrqvuurvusoxyuvv|xy|~zvtnlmw†”œ¦·ÄÏÐÑÏÍż®¥žž›™˜–”‘ŽŽˆ†ƒ‚‚„„‚‚$')/.#*$#3K[fhfiiikjkqxyyxvvtxrutqpspmqkglprotz}~~€zfA<aosxz{yvwmlqyumhbdb[XZ\ZYbx…ŠŒŒ‰ˆ…†‰‰ˆŠˆ†ƒ€ƒ…ˆ‡„„‚†††‡Š†ƒƒƒƒ‚‚‚‡†ƒ‚‚…ƒ‚yxwuvvngP( 4Heu…‚€yvlhggggiqpstvvqutquttuvxwrz}w~|}|torr|‡‘—¡«½ËÒÐÐÐÅÀ±¤ž›šš—•—‘މ‰ƒ…ƒ„€„‚…„ƒ„)$),&332-**+)"!>QX^dhfggmrruwxvzuvustupropnomhkilqqsx}~ur\?#)2@[enosrpolhefif`^b__XXWZUT[t†Œ‹‹‹‰†††ƒ‡‰ŠŠˆ…„„†„ƒ‚„ƒ„„„‡†‡…€‚ƒƒ~€„ƒ~xyxut|s[=1]p|‚‚~zyqgfghcjronnsrrpnmqsrrutuvx{wyxz}}xvsqqv„™¥¶ÇÏÏÏÌÈÁ·§šš˜•—”“Œ‰‡‰€€‚€‡„€""$/+62&,+*/205>86LSXabghfdjvv}xvuwuutoqoonotnpognorqqz||wmZ@3.;<BOY]hmrrmjjibcb^a]`^a\_]][WcoŒŽ‹‹Š††…†‡ŠŽŠˆ‰ƒ}~†„†‡„„ƒƒ„…†Šˆ‡ƒ€~€„ƒ€ƒ‚‚ƒ€zyu{{{r`C%Pmz‚ƒ„~|sjhmkgklnqquoonopprsrutsutyyzzz|yyxyvom}‰Š’¡®½ËÎÑÍÈĹ­Ÿ™˜˜––””’ŒŒ‰„…ƒ„‚ˆƒ€„""%%",,-''6:@KTYc`]]^dlywvvrrpoqlkllkjmqnrkeiklusz~~~scPC3.)8?JMVZejpllle[\_afbafgefbefbco€Œ‹ŒŽŠ‡…‚ƒ„‡†‰††€}„ƒƒ†…€„„……ˆ„‚€~~€|}}€…„~~yzy|~vm\-!Efq|~‚~{rolecgfhnpsnlhmnkoppopsqnpqruwvvuwywxonxƒƒ‹—¥³ÆÎÍÌÈŽ°£™–—–•’‘ŽŠ‡…‚‚‚ƒ€‚C9825253-&#+5AQTZ[faihmdekqzy|wspttqnqlpontrononnqpyz}‚|yrdWF905DES_flrsvsmhdckkijijooqrononrz€‰‹‘……„‡ƒ„„Ї†‚€|ƒƒ…†‰‡…ƒƒ…„†‡„…ƒ…~€~‚ˆ‡‚{{y€€„€kM5.ds~ƒ‚€zroiijgmlpqssmqkihorssqnouxuunrptx~|zvss}†Œ‘¡¯½ÇËËÌǾ¸ª›™˜••““’‘އ…ƒ„€…‡†‚‚…;($#&+%0=JZ_bfisnqmqnv{xtqqnnjiqignqqpkmgngjjsz||}€xoj_WOK=>ISelrwz{|wsnklosqprqrrvupmmlmt~‡ŠŒŠ…†„‚„ˆˆ††„~|z}‚†‡ˆ……‡ƒƒ€ƒ‚}|~|~…ƒ|zyxw~}ueEEhz€~~unighfkhfomnongilhllllgfijojinlmsw{{ztruˆ›©¶ÂÊÌÍŹ±¡š–——”“’Љ†‚‚}ƒ…‚€&9QXcfjnijnutywxssronimmgljrpnmkjlfpmrx€‚}qf]XSENOBQeuz}„‚~}xzxxwvtvttsvwplihkm~ˆŒŠŒŠ††ƒ„„„ˆ‰‰‡ƒ{|‚†…‡ƒƒ†‡……„‚ƒ|}}zz|}„†yxy€zrf<&5^u‚„‚zvrlhjlejnonnnmqmjmnnoigijhilpmlrvv}yvuoy„“ž­½ÉÊÌÈĽµ§›–”””“‘‘‘Іƒƒ€……„/Gddbffdhopwytutnjnpkihijjlmkifcdfmspz}|~{hN4.'/9HDTgw‚…‡†Šƒ„‚|~zzyysornlmonlkhim~†‰ˆ‰‡€€~„‹Š~}}{sx|‚„€€ƒƒ‚ƒ‚}|}|yyxy{€{yuvw{ykT4!(Rlx}†‚{uomdhghimijigflnqmmnnecdcfgjfhnmqoxtxtmm„˜¨³ÅÊËÉÆÂ»¬ ˜“””’’‘ŽŒ‰…~|€ƒ€~z0J_liejpqsuxzxuxunrprrprrlrpkjhfhlnptxƒ~€yt\C6;>FJ@Q_q‚ˆ‹Ž‹‰ˆ„…†~~xtonkkhfhgkhm€‡‹‹ŠŠ…‚‚‚ƒƒ‚‹…ƒ~zx}}„…ƒ…‚‚„„‚†„~|€}~{x}„„{w{{~~ylJ,')&Inz~‚„~wrvoqiikmnmonqtpomqoogakjjkmlljmmrtz}|slˆŠ˜¡®½ÈÌÌÉÆ½´ª——’“’’‘ŽŠ‰€ƒ…ƒ„%@Ygklmmmsvtz}zttsqsppprtrorsmlklplnsx~ƒ…xfO>;=E;:3AZp„Œ‰Š‰‚†…ƒ‚}xvpkij``bd`f~‹ŒŽˆˆ„ƒƒƒ‰‰Œ‰†€}y}€€ƒ…‡†…‚„†„ƒ‚ƒ{~~}z|ƒƒ…~z}}}{j`B<$#)6ew„„~ƒ}y{srkeikklqkmnprnokqmbiifghghgfgnssx}vrz~‰‘›¦³ÄËÊÊÆÀ¸¯¢—•““•”’‘‹…ƒƒ…ˆ†„ƒ1O[hhfjmpnxxvzxvsupsppopsqprrokmlqrrvz€ƒ}kX,'$!' /RpƒŽ‘Œ‡‡‡‚„‚‚ƒ}‚zwwsiggcaf^_iz‹ŽŽŠ†ƒƒ…‡ˆŠ‹‰ƒ€~{€~€…„……‚……ƒ‚~~€{{‚‚‚yz~€ypcS;8$"#Rl{€…†‚|{pomielkjlklilmoqjkk`fejieeccdgmrqsxzxu}‡Ž˜Ÿ­¼ÇÊËÇĽ´¦˜“’”“‘‘މ~€‡……‚)=Wckiffrstuuywqrmtnsronppnrpqmllporqw}„tW4#[x…ŽŠ………ƒ|~|wurglnfegi]lyƒŒ‹Œˆ…„†€€‚‡‰‡‡}~}{|~}€‚‚ƒ‚€Œ…}z€||z||€~wqzztiZB0(8'Kix€€€„~tokefkjhjllilkfdihga`ekleidhgbjkrqtuxz}ˆŒ“š¨¶ÃËÌÉÇ¿º¬Ÿ—“•‘ŽŒ‡ƒƒ}€ƒ…„+H^gjghknpmpsstpojknjmllnllmlkjmphmquz}…€j4;g~ˆ‘ŠŠ†„„€‚{|xutujihad_Z]iw€‰‹ŽŒ†‡†…‚ƒ†‰Š‰„}}y}|}|ƒ„†‚‚€„„~{|}z|yw|zzvqnurlXN6&$/"8an|€}†…€|uplb^fkchgifhfddddfbffgmddcbacfffhnvy{w…‹•Ÿ­¾ÇÌËÇﲍ›–“”’ŽŽ‰†€‚€~8CVejomnqrvsrwttsprspnpoopplrolllqjsvy~„…„wVHo‚Ž‹‹ˆ‰……‚ƒ€~|zytqnhba_\dky†ŠŒŒ‹ˆˆ‡ƒ‰ŠŠˆŒ‰‚~‚‚……‡ƒ‚„…ƒ†€zyx|zywz~}vrsum`ZE34-,0' -Rlz~}…†ƒ}vsmdkhigdhfhhhdcdbbgdejiheffcfgiiqvtz|‚‹‘–§¶ÁÊËÉÆ¿·¯¢™•“’“‘Œ‹‹ƒ‚‚„„)CPaiklkoyvvssuvqsrqqqqtslrrhmlnllqrzy}€ƒ‚}d4"Sr‚ŽŽ‰‰‰†‡„‚€{ztrlh`_\]foz†‰‹Œ‰‰‰†„††ˆ‹‰ˆˆ‚€ƒ„‚‚„‚‡„‚€ƒ‡„}xvyytuvx{|xrpsaVJ6./463 (Chv}~„„…{|tklicebedecb^_`edaeefmggdbfeceiikoqxz|‚Œ“›¢¬¼ÆÉÆÂÀº²¥—”‘”ŒŒŽ‰††€ƒƒ‚}'J[ciiilpqruomosrrrmmnoononmghhljmqnvyz}xnH22"Qt…ŒŽŽ‹Š„„‚ƒƒ€}}~wvmkhaWYYZdh{‚‰Šˆ‡ƒ„€‚€ƒˆ‡ƒ‚~€‚€~~€€‚„€~{{uqrvsrsuxxslgbWQ6**208_q{z€€€…{wtkghcba]\^^_]Z_ddbb_fdcc`b\eadcghkqtswt„Œ•¥³¿ÇÉÄü³ªŸ˜‘’ŒŒŒŒˆ‚€{z}{{#'BSdlmnqquurtsnqtstrjijqqnllnhilonqpsz{ƒv\*!/]{†’ŽŠŠŠ„…„ƒ…‚ƒ‚€~vrigd]a\[gk†Š‰‹ˆ‚‚‚†ƒŠ†††ƒ~‚€‚€‚‚‚‚ƒ„~~zxvussrtyyzrkib\M7/)223)$%+Wox|‚‚ƒ„{xunehgcbc`^\_[_dedaddedehifeejggfknlruvt{˜¡«·ÂÇÄÁ½·®¦–”’ŽŒ‹‹…~|z~y"0K]enkjnqpqlppmnllqphggfkhehigfmjgllsyƒ‚xd;$Ff‰ŠŠˆ††……„€€ƒ€|{qokcZZ\X[el{†Šˆ‹†‚ƒ‚€ƒ‡…ˆ‡‡ƒ€‚‚„€€€}zxwwutsrwxwqic]VD'0),:42+%Eep{|‚ƒ}wtea_g`d^YZa]^Y\db]cb`fbafdc`che_cigiloquz„𥰼ÃÃÁ½·¯§›˜’“ŽŒ‹……{yutu+<Wcejjnponqhmiinhimhgekffjeeegfjhiimt|…‚~oI$(Bp‚…Œ‹ˆ†‚‚ƒ‚|~€}|vpnda^RVSSbiu„‰††}~{z~„……‚‚€€}~{}}~}|{ssqvuvpuwwljaXC3."'##!% ,^lww}{sk^]\d_`]a`_Z]\bc[]fc^bcacbae`eccfhjjhikltu~𣳻ÁÁ»¶±¥š“‘‡‚{zssq643260133:a‚€}{uuw~‡––œ–––”—”‘І‡…†wwwx‡……ƒ‡…‚~xumiebjv}|h:5)1,16<@O6$#%"(,.,-/-.+,*--.-8[ƒœžššž¤¥¤œ˜”™““•ˆw[;(!%',.*)& $)&46.3B)/$  !A<70"$(%(**.1,*4/-.-/2411D{}vvz~u{Šš¦¦¥¡Ÿž ¢—•Ž’ƒ{z€„ŠŽˆ‹ŠŠ‡|yvxoljd[fq}wf^F<51547DE3!"# !!!!"!(-,'++**)(+/+,,0?gŒ—šž¢ª¬§¨«¢¥¤§­©œ]9&%(.2.+(#$'"#3983A=-!"&) %!#) #&&*7>8$$'$$&'&)($'")%)+*+..01`wvtw}wss|š¢˜‘˜œš’”ŒŒ‰}‚„~€‹„ƒ…ƒxxtsmmhaW_duvjPD>81301:C;+#)# (.)(+*(*+,+-.../2Imˆ•ž¤«´µ·»¼¸¹¹¼¼®›ƒQ6/*16420,% %(((%&+18GMHGLHF?6,,'+)(*+:IF<';5F>7A1-19W`[DEIU9)&&&%'%$*-,.,&,()**,+,./Is{|sxxnmuƒ‹•™—ŽŒ’•™‘‹…ˆ„€z~„…‚}€twrikhb\WW[fjcSA>831.-.59,!# '))()*)*++*+-+-,.7Ke‚œ¦²¶¹¼Á¿¼º¼¼°¢[>.*//032-'&&$$$#$+/=HD?@?=83*)')('$&&$#%""$'%!##'-25>FIHID4)%$&"$$$'+..+,+-.+,/2/003fywxpnnmnrx—ŽŒŽ‘„…„~vvx~|v{xquqdbaYXQPU\ccVB9342/,-357-%$!'#'"$()#(!#('(#)!'+'$"$)+,+..-*)*..,,.03:Jiƒ˜§®±¸½½¿º¿Àº±¨”oQ:-//3631-&%&%&&&$%').2<=B?C=;1,)*')(&&$#"$##&$$"&*',45?FIHMK;)%$$""%$'./0./../-4///0..Afnlicjkkggw…Š‚‡…†‹ƒ†ƒ}y€‰Œ{yznnnnsunlf^][VRJJLRTTKB:1300)(--15*8!"%(--/.+,*),+*,,-14:He„¡¬¯°··»³³·»·¥•z_J5..32531+" !"%#''''!#,,25?@?;91-))(''%%##$"!!"!"!&+*/26=EIKOJ9*#!"$#%&)/--../.+.-1/0.,24Rekjf_fgebmu{~sv~}vw}††nwvhmnnhnh`b`\[UNKHCGH?<;:310.+)&%'+,?#'+./-*,**)('((*-/19Os˜©¬°´¸·±®®±±¤‘|jYA3,/34/2.(!!%%'())#! ((./3=?<7/+(&'%'$#""&#"!&"""+-0/:ABKPSD6(! ""$%(+,+)*-/,.40/210,32H]ehg`bb_\hckrpmjx…ƒ}vs}€zvjnnfllhc_ZW[d[URKCC?CCB867112-++%$%'-("  &%%('!!!')*,.,,*+,*'!"#)..0@^‚ ¬°±°¯«§¢©£Ÿ”‡vaL9,,2442..$ ! %)&'((%"&$)+-/8;;60*)&''&&$$#'%#!#"$$(*//8ADNWOA," #%&(*--**-.-.3*-01,-/04OhlabaZ\UWSYegihpw}zqsy|wocacaadig]ZNQZLIDG@?@BB@:672//-'(('&&(.*"# "!#$"&##*,,,,*)''(%!$(+./:^‹¤¯²²«¢œ— ——„wfT=1.157312-%  !#$(%%'%&$  +)(,0763.+'$)(%&##&%$#"$ #&&(006@EN\N;& #%&++*,+,*0//.2,(+.0-.//9fjc]\ZVSEEFM]efdeolkspvseYY[ZW\a`_\WRLCCA?:9?<C<=8682/.*()(&#',1 ! !%&.*-%$&(/$$'$"%**(-Crš­®­§Ÿ˜“„€ztbE5.,274320*$##!#"&$&#%&'''&  '(&'+01.,*(&(&$$#"&'$$##! !#%'/28>ENYN3% !"%%)1,.+)-,23/1/+,--0/3211U]]VTQKI>C@G\eb\]gfdslilfbZYSW\]b``YTJCAFB;=@<E?=>8<721,-)-*'&*/:"&$!#!  !94+($!+./&2*,$%',*/;V„ž¥¥Ÿ—‰€„††rT</-3637301)#%%%$%%%$%)*(((%%#')((*+*())(()&$%##&'%$!!#" &+-24<GPPE,#""#&')+,+,,-,.0+,"%'-*..314.:U\WNJHC?ACFOYk^Z\c\gdc`\XVRTSVZ^\\WNH@@C=78=:@DG@:<:42+,-*)((&*1, # $!"#,D&&$!&+-)'"$&'$*%/3B\w†„vutg^[^bl{xmU>6035251640$!##"##%$%&)+++%$!"!(&&(+'''(*'(&&$#$#$%&##""#" $(004>FPQ?+""$%''())+0-(+01+--+)+*0.-0011D[\OLF?=AHJKP]ZXS[[_\Z[TUPKHKOPTOSPF?<?;::568<DJD9:962*++)')'$(*/ !12!!!""''%*%)(*!& ()4;HTRNHH<98A>DSUN@62/455859961)&#"!$$'')*+-*& "'*#&''%''))'%&$%#%#"%%#$#""##$%+12:HSR<'""$&&)*+)-/.,+--/1.//-,1.1513/7QZRJC<;@CFEORROMQSU[Y]ULLJDBKPNJPMEA<>;=<77<>DE;98976/.*(*+'%''+.!'# &+4%!"%&&*(%++.&&!) "+,2<9422/./3--3352.118:::;?<>93+!"&$()+,./-(% !%'&&)&'((()($&$$"#$#%#"##"!"$%$)10<NSJ4%#&'&&((-,-----,./.+,00/.-11,--0DSTLA@<:=>>NOUJGMSTVTUNMFDCDDFBHIFBE<;;9;8865:86746430*()''''&#".$!*"-"%(($!!%$%%$!"!$+2/-,.-)*+ %(*0597?B?CCEA3* #""&++.0//+%!$"#''"'&&%%%&&###%"!""$#""!" !#$*,/?MNA.#%&&$$&(*&*/-*)/1.-..20.../1/00.5HNNE???=>?JJJDIPMMRSSMF@@AA>@<@AEDFG>A:997736201..020,,+)*(&&%#'; $'+#'&('#"#$!#!'*,3/0./++)+""+,58=AGFGMNIC6+ !"!&)+*//02+)& !"$('%&('&$%&$$$&$$"$##%#!""!" #&(/8FRO:)#%'(&%(*((*.,-,202.3441/20-/1210-;JNE=>C?@CHEFELPRKOLJJ@<=>;;<?@@CBBHCC?@=:6220//-/-50...)*)&'&$#+-!!!*# ,-&&(%&&'(%%!+!"$-12350130/--,#*.:DBCJMLVTTJE@4"!!$',,.0043--)'%'&')'++('&'('#!$&%$$$&$$&%%$"$"$').:FRJ3'$&*,)'**.-*-./-/.+-1110,/.--,/..*+@HE;=C?>CDDDBEPLACFEFA;;B=8<:?>?:>CC@B>;:9130.10..41.*('(+&'#!"!-&0>""#''&&&(*#&!)+.10530.3//+,-+%$.6BIIKQUV]ZPGCE<0$#"')*-10320-.*)%##&"'(&)))''&&&$ "#$$%##%#$#%%"##%$#(9CE=+%&*)*()+(*+*+--,11-020//.,.-*+/3.*,5DG@<E?;@A@DDHKHDAFJGA;>=7387;99@==::<998422.,.-030-*)'%'*'&$$##(1"(8Ž`$$$(%(('$"(504538111//.**,-'% ,5AJQW[[[\TRIJLKJ?3*'&)*,113420/,)&# ##&#,)($))&')$%""#"#&$#%$&##$%##%&%$(56--**++.+,/,-+..---/0././/0-.)--*-./))/?A@9@A?AA?AFBFEEFDHKD;9772365478<9979634.0--),.004/**)&)*'%%$"$#:*"!"! $" -I~5$%&(())'#&#+627658431/+--)+))*(0>F[dhcc\QMGNUXY`R@0+'))-224331/.*)&&"&(()((&')&%$#%"!##!!$%&&##"$&&#"$%$"#%*'3*+--/-,0--,-./0,--*,-..-*,))-*+,(&"$(5=:?A?>>:9;=>BAA@DIF?805202313386458612-+)+)+*)-3,()('(%&#&"!""&,-Jj)%#&&'**(#&$66644711/.*+*+)(&,3<NTgmqi`MGQR\biqpaJ:0+)),013331..-)(&!"$(('(*'*)(#!#"" ! "!!"#&%#""%%&""#%#%%%&8**.-,+,,,,*-.-/,...,-0/--00(-,+),/#""A>:<B?<;8;;>>AAB>?AA@:044521214645:6474/++*+.*(,-*-/+*)&%#$###!$,#!"!(1Qf(%"*+(++&'"(483434/0/,++.*)-*5?PcltssbOJHX]kqx}vj`C8/++/035743,,.,)(')***)-+'+)'###"#! "##"#%'&%$"$$&%$#%''(%2?***,/,++--,/-0/1..),++))-&&')&#" %?;:@A;:8998>>>?=<<<:606=C7-10134;965550)+)0-*'-*),.0(*(&'&$#%!#&4!!##%%%#;h‹$&&&('+%"- %376320..,).-/)+.6GQ^o~|iXLM_lt}zlOA/,-/055685--+.,)))*/*+--*)+&$'$#"!"" $##$$######%$%%$%'('Zc('&*-,)*.,)-+0.+/*'+,((!"%("%3<<@:9:6848;79>@A<<6879<E820./236559421*))***++)'*+,)))&'%"#'#"!.1%#')+(4f“/$$''$'& !/:;:4.-++)/01./4DVeu‚‡‚widclv}|†††‡}u_G5--0155784/.--*+)*+.+--,/-/(%&$#!!!!!!!#%"##"""!"#%"!%&%4r@'%%('*++),**/10-0)%''$)*!%"!% '&#>9>86418257438;A@867>:8;76321256638301*+)(+.+'''+*)'()'('&#&'&#&@ !"&++-..2c6"%**((#!# #"-9@83/.-+-/7202;Ndu~†‡{ns{|ƒ€„„ŒŒŠŠ„zqU@20159986730,-,*+-/20201-.-&%&&#!"#"!""$&#"##""$&$%$%&$'So6&&))+))-.0-./1021/++#$ !"!%#5B943115/342768?<:79<87:6:7651287:;5./,-**..)(&'(('+(&&(*%$&%("#31!#''-20/,9bœ5!(&$&&$+!&*(0;:542/..-08601@Xny…ƒmoxƒ‡ŒŠ‰Œ’–˜‡†~eN73468:6887-,+)(+./24401+-(##%%#!""#!"#$$# "#!"#$##!%&$=`Z1%%'(**(-/1),,/0,,-(**'$D;23634/010556=5883;<9<>:6756378;@91/-(*+-,+,(#%''('&)+(%%'$"!"&A '**.10*,4X¤@!%$&%%%-<>;961.,-/7527H^wz~ƒ|pru…’‰———•“‘†lV=6379:9831/.**()-067:57.+&" ""#"""""!!""$%#"""""&%#$$4XgO/$#%'),,.-/*)*%#!43-.,+*-+*"! #A5563116/115;564;9>B?;=75:98668:>4-.+*,-.*,2.%&')''&''&&##&$#!#.8!#(*,,40/%05O¡X##%&#$$%0>C??;83,-2715?Pbqwx€zx{‰ŠŒŽ’•–•š™—y_L869;<=99300-,)**-15:65/+'&$#!$$$""""!#"%&'$"$$%&%&*Yijii,##'))+-//&''* /2210,+)+2,/'$" 08620/-31/126249>DAGD9557<;8736872/.,,,.+**/5)((*)((&)(%$##"#!"%9#$-(,05.)%41?›d&!$""!!)&2=CBA<>80/5647GTfqzx}|ˆ‹Œ’Ž•™˜š¡Ÿ˜“†nWC9;?<<993/-,+))').2562.)%$&&!#$%#! "#"##"%%$$%&'$9‘ª†z†Š*%$$%'*)%$ !*,+-225200,,(-+)%%93.,*-2/-01201>ENFJB>868745767<814.**++'+,(-.+((')('''#%$$!"""")1 )(+194.$(+*<Ži( !&8CHB@?<5.144:P^lru{‚…}…‘’”’•“‘˜˜œŸ¢Ÿ—y[I;=AA@;65/-,*)&''),172+%#!!!"!! !!!"!!#!""$#%$%&jÉÓ³–¥c&$##'&#!**',01454964/)'$%.(''%!:00/-1//12/00=FJEA<>:444445688744-**+()(+++,-*()))''&'&%#"$#"##<%!$)..361+")+*6†*$$9@D@B@=:.413@Vlpoy|‚†††Ž‘–˜•••š› Ÿ¦¤¤œ„nYCBCC@?:511-+*()')*063*$!% " !""## "#"$"""&$&hÐÚÌ­Ÿ®›7('$#'""-+)-..1126496310+)'*/0/0+' $440-/10/,+-4;@HF?::9777336775931./-+')*,*,/4/)'(,-,,($&'%'%!""'6'(*17885)%++,6p6#!"2<AAEGCA8916Hexutu{‚ˆ†ˆ””™–˜”š˜ž¢¦§§Ÿ’‹}cPC@EBC;52100-,*()(+21*#"#!!""!%!$$" #"$&#"##)YµÕÔ¾±©šT%'%$$#"!.)*,20/111069;;::60,'')*//-'/1-.00./+(.4:;DE>8;<G<63472565131.0-**.(.0.41/-*+.22+)&)%%""#$"/4 &+-:??73&(((.8^‰>"$$,7>>HKLIC8.;Mnyzvxw€ŠŒ‹‘””™’˜™›–šž¥©§¤›‘‰jUICFDD@<505/.*+(''+2*%"!!!""""##&##"#%%$##*J”ÌÝθ´™[,''(''&!.-,/40024558;<C@A==84,)))*)*)20.2222-,/6==CC@AJV[G93985534341+1/-..+2/.1:75/-20/,+*((&&####&J('.4?D@3+(-,,23ZŒK$$$!"09<CGPPH75E^u}{y|}~ƒˆŠŽ‘“˜––—˜•––¢¤¡›’Šu\PEJDG><7462/+**((01)'"!!"" #$$$$#%""&%"$" =…ÆââÉ»›_/&'')&''&")+,2/343538;;<::;:89<6+&*/,+(&030211,027?EFCEEF;9D>6>==7554/1.1..,+063/69=?904.0-+,,)'$"%%""06## %'/:A@7.)%,-+-1T\*#%# 29@DOTG=?Ki|}}}~€…ƒ„‹’——˜•˜”–—œ¡Ÿ¡Ÿ–‘cSHFIFB<9893--''&(6/+'"!"!"!#""$!"!"#$#" !(v»ßãÛÆ­k*$('$&&&''&" "%**)-0112569:78656;7895)&,284/**100213577?@=;CC;<8<@8<@;445653234.-.6C=4749GC:0153213*+'%$%$!$B!#&.9;71-$&((,).S£r)!(%'4=DJQIHK[p~~€~†€€‚€Š‘”™›¥š—˜›Ÿ¡—‰jUIGIG?=@;83./*'''51'##!! !""! " !! "#" (d´ÖàÙ̼o,$),)'('$'%%%$  #+,19+(),/./1;;;=:<899:795.))/298563/5373748<>742;BECB8C@9=;58;3825483548D@=<9;@GA;58;;7532/+&'&$"0E&&&'/164-('.++,35Y›{5&%'$.:FONQW\gz~ƒ‚„€„††ƒ‰Ž”“•––›–š›ž¢¡ šŽs]NJHJDAB:9:2-(')-92'%#" !"###""""#"#"!.u¼ØàÛÍÁƒ1#(,-,,,'')(&&'))),5:BJ*'(*,/./429;88;<?2255-*/438:;;908633824>842-5<DEH<;89:;7<>6:94/:77;78<?<<<3?A<77;@>47952,))&"$G1$%%)')-,,)#'0+,.07V…ƒ>*&&!+7?EJ]chu€„†„‡ƒ‡„‚‹Ž‹—“•”›™ž™šž›¢›—xhTELQHBB<;;40'%)28/($$! $##"""$!!#" 8x¾ÙÝÛÐÅ<&%+.,+-,('))&&).0/58@GM)%'+*+-2101/017593020023358:<:=74663524421//49BBD<:75969<C=;>50;@898;;?:89156:999=@<7>948/-*#!#K$(&#(&%(*($+-(*)+1Tƒ“K-&$'#"0:DNepwz„„‹‡‹Š‡‡…„ŒŒŽ•’–›˜›šœ™Ÿ™œ–€o[PLJGF@<;930&(.15+%$&#! ###""%%! #$>‡ÁÕØÛÓÍ¥K(*%,-,**+,)-+((++.35;@DL'''*+)+-/..+./1,--+--062149988<723:547621/,04:@<@;533955<ABEF=56?9:=<42--)'%%',./3:E>A@>?;0-)&#/7 $),'%+)%%&&$/*)-))2R€‘W0&&#"*7DMdx|~‚„ƒ†ˆŒŒŽƒ†ŒŽ”™™ Ÿž™›œ™˜›œ››•…xbQNRKIED=>:2**162*$#$#"!$""!$&&"!'7]¢ÊÕØÕÊÇ»_+)-(-.,.**-+-*+*-.21389>A'&&(,-,)-,-(.,-*()*-+14-03332323/.9816301---16:8<7448869BADE@3330*()%#!""$"#"!$"#".>IAECCA:5/+($=#"&(&*#()+%$$$"#3)&,))2S…¡^:0)%'"$0=Jozz{…ˆ‰‚‡ˆŠŠ’•“˜›Ÿ¡œŸ™™——š˜—‘†}hPHQQNJG@?>0--67.'$#$""!####%%%!Ai~²Î×ÓÔȽ³k1'&*+.0/,*,/*,+,+/+.0231.,'((*1.-+/-+)+-,,(**,*---/4/,+/.../1024730)++-/43433/1/1---*%#""$$&%#$#"!#%###" #""!"(.29QC/%#&(*+;#$*''%''&$('$#"(2)&+('0T˜hB7-&#$(9Howv}€‚ˆ„‰ˆ‘Ž‘•–•™›ž¡¢¡ œ™›–“š”—”Œƒo[HMMLHIA;9//392.&" "$#""###%#$C˜¤¸ÏÕÒ˳»y4%()+./0.,+)*)+,*'++,-**)'%())+////.+)+.-+-,)*,(,,-,..,,..),.-*6>>80,+/.*1.)('%##%'$%#""#"#&&%$%%###"!"!""!! "" ! $!! ! !$(:3"''''(&'(%&('% !+.&(+*'-Qz¡kH=.'#$#0Akx{€‚†‰ŠŠ‘””•˜”•œ˜¡¡ž›š—”–˜–’‹†r\JHOIJIHB=3587+)&#!!#%$!"%$$"D¶¾ÍËÌÄ·©¶6%'%*.+0-,-.+)),-)(0+*,))(&$)'(,.252/.-.0++.,(+,+//.+-1-+*.-,.,()E?913.1.))'%#$#$$&'%&#""""#&(%%$$$$%##!!""!!!""! ##"!"$""!"&7%&()*(%'+(++$&#" .-)-+*)/Ey¥y]I0+'(-!$$);ix|„ŠŒ”“•‘””•˜–š˜œ—¡¡¡¢¦Ÿ—™–—™—“‹wcLFPNTFMH;3584*)&%#"#%$"$%$%Z µÁÅÁ½¼·Ÿ§˜D%$)(,./0..../**--+).,*((+*&$+*)..-1+.1.-.+*,-,+*/01-*/0*)+/-/0.(&4B610/)+'&'%$$"$%$%&'""#$##%%&%$$#$$!!#"$""! ""! ""! "##"##!%&&'+)'#')(**'&$!"31,++,/3E…£S>76+/+,""" $&)6aƒŒ‘–˜™–•–™––——žœ™š—Ÿ¡Ÿ¤¤§£œŸ™›š˜˜–€mTNRRSFSK=3361)&%%"$$&$"%&0k©³»¼·®°™•G!&%%$)/./.-...--.+*+-+*&%**('*-+,0,,*,/---,+*.-,.-*0-),*))+.-1:9.)(05.,,'&&#$##""$$$%$&!"$$"%'%%%%#!#$# !!!!! !""!!!"!!!""""$&""'(-(&)&'&&'*&#" ...+),+-,>~¡”Z?=<64--##$!!!%'+0Is…‘œš™—•—™——˜˜Ÿ ™›—œ¡¥§¬¦£¤£¡›–’‹{bOKTQNNG?4:6-&&$##%%$%#%?…¨¥¨£¦£¥š†‹Q#$%%%(.,,-+--/+..+(+,(**'))((,.//13./.,,--,,+.-*-++/.*+*+*(.+.6_P.**1/+%$$$"%"#"#%#$%%$"!#$#%%%$&$$""" "!!! ""!!!"! !#!$$##&%#$&#()+)'&%')+%%$/.-3++))-?t¢œlNF69<6/((,% $(((1R}”   š™˜—”™›Ÿ™žœ›œ¢¥¥ª­¯¬¨© ¥¤›––~hYTZTRPG==@4+'&&#$&&%%(D›¬›”œ˜–—™€‘](  $'&).,-,++..-/-++*,)*)((('(..0112.0-*./-+...,()-,+++,+)*,/)(/G{h7+..'$#$#%%#$$#%"#""""##""%''####"!" !! !""""##!" $#"$"&$$#&&$##+,&&&'*'(&%#&6571-/,-+Bw§¦tNHCBG?54.)$$###%'&''.S £¡œ™š–•”—››¡žžš ¨£­³±­§¨¡¢ š—–’‡qcVWXNM?5=:3'%&"$$#%,RŠ´¥”†…’”‡y^)!!#$&)+--,....-.-,'++)(')(('(73313331//01-.00-++*,(***.()(--*,+.>TD82-'##$#$$""""#"#$#"""!#$$$!$%"! "!" !! !"#$!!"$#$$"%#(&(&%"#%'()&$%$+("+34,)+0*-,Cv ¥zOIMPLJC+,(($%&!%('&)(%%Ey›¡Ÿ™š˜™•”–™Ÿ  œ˜¢¦ª³²°¥§¢¥£›˜–”‰w^RWYNG8484*%%$####J·ãѰ”€‚€‘¢¤zib2"! '#%((*(*.---+--*(,-+)&'''((84/13252575//340-+*++)*)+,,,*-.+.0.-9EGE?4-.,&&#" !!! #"*-07@>-*$""!! ! ! !!! !##!!"$$#$%$'$&''((##$')'(#&%*$# 042/-)3*,.<l›¢ƒ[EKTVUN=-)'%%#$#%%'&&+')=b“žžžœ—™””–™š£¢ ›œœ¡§¯®¯§§ª§¥œ–•’~aNOPN@1661)&$"!!)dÈíÛº¡€pos¬®‹`PA$$"!!'(+*())))+++*,,*),++(&&'))'01013011252,-11--.+++(+'*,/,)--++0+'0BEII=601*+,.+)(&051;N^qŠŸ¬¨™™‡p\@# ! !#"" "#"#!$"&#$%#&'#"#&'$("$$%$!(0/-2)+-*+/9d›§‹_EDRaZUI6,#''+%#&%($ (-Ls‹šŸšœ —––“”šš¤¥š›™£¢¨©«¨ª¥¤¢”’–ƒgMKHH7.61-'" (7ÖéàĨ‰hVb´³ˆmL5+"$"" "&-3/))('&(+*+*.*)***)%&'(&&*-,,))))+--**,/++-,))()(*,+/**,**.+''0FRMB@53/15?AE@>?=ERT`xŒ˜ž¡¬³´¯³µ®’vR-  !!""""# !$#""$"$$### "$#&$#""!+,.-1(*,(+.6`Žª“]QJSa]VQ@+&*''&$%&!#(7_‡šž›œ›”™–—˜œ¡§ž—˜šš ¤«©®ª  ¢œ’’†oSHIA405,+$"%.h¬ÌààÔ¼¢wT_˜³¬€u_6,%$"""$'+1--(*&''(),+.+)('*''%''(&,()+()*())(***,()**+*'*,)*)+,+,**),*(*.LMHPSXWZ_egc\UZ[b`]`cc[cq{ƒ‹Š‚…‚{{qaH1" !#"!"$"!#(##$$&&#$$%#!"'&&%%#!-,0./+)*),.3a”ªšgUORX\WXH-&'(&&#''$"$9\‚•–™˜™“”œ—’“—ž¤ž™˜˜™¢§®°°ª¤œ˜”އwZLB5.+'"!$(Gy«ÉÛáÞÓ»ŠaT€¨®dO>/% %#"!%&),+,+,,,(&')*,,,('((*($()*%+(('&))()'&)(''((()(((+(((,())+&&(*,),&$<<CR\iw‹—œ‡nqlchidgkre^VSKBFLLUPNID:7=9*# ## !"$"$$#"##%%"&%$"$""%$%#!$/./52+(+*./7_…§xbTOHTZQB2& "!"!!+4VtƒŒŽ–•’‘“‘‘“•˜Ÿšš—›Ÿ¦®°¯®¥›’‰‘‡vO>,*%$$!&.<l£ÂÔÝáåΧviw•­VEAD- &"!! &&')++,**,'''(()*)'')''&'*+*&*'+-('(&**$%')('(((&&*)&&(-*(&(&''()*.*#&)2<Oi†˜Ÿ¢œŒyphmad\kec\P?60.7@=;84/'()')*%  !!!!"%##!'&$"#"!""#"!(+-**6))*))/3X‹ž›‚lYNGMSNC5) -Lmv€Ž‘‘““•—š™šž››ž¥¨«°¯¤š™†ƒƒmM6*,%"# #"(Aj¦¿ÐÚãæÝ¼“}ŒŸšƒR;:G3" % !!"$%##%()&'('')'%&)''%)')%&$'('/+/-+*--./++.+(,,-,-,**-*/.-,+/),*+-.-..,"!+,>av’¢¥¦—Œ|€wgbb[VUD;2/13/21++('*%"!&+# !"!!$!#"$#$&&''$&%!!"%" !.2,*,0(+*3*0<`‹ ®‘~e\PNLE?5("%)C`t}‰Š‰”’“”“’––—š›ž¡¤ª­­ª£™•‹oI21)($#""*!%(9\}ªÇÙâåÜݘ˜£‘kYB/A:+!#&#" #%&! #'')''(('&$&)(&&,)&&)''&1--..-01/-,010/-./--/...-///.//,0+*,0-.-0+'!(.00AStƒ›š†wvj`FLB;575863.,/(+'&&%%""""--&!!!"!"$""&*'&$&(#!"#"%,1))-,,,,0-;BXˆ¡§š‰oZZPFE<6-)%"(&<Tnv†…Œ”“‘““–•”‘˜˜¡¡œ¡Ÿ£¨­¥™kE.()&$##"!#%+--8`ºÒâãáÖõ¥£˜`TQ465/"""%""!#'#!(**+')'&&%('(((+,''*'''0,0+./0-.**+2..*,....---./.-/-,+-*'++'(((&&##"%/1%2IrƒŒƒŒŠn[G=<57.2.157821++)$$"#!! !%,.$ " #!#&'"#$$#"""!"++,)(+.+.,-*5D\‡¦™Ÿ•‡fZLBC31-*  11"$$7Ngqy€€‹’”•—”••’‘•—œš›œ›¡¢¨“e@0-))$""#%""%&./0Hn¤ÆÙæçåÙĽ½¡tQK29>1(!#"#"!!$+( $(+,-)**)(''''''')'''&&( $*!%',',)++).0-//*))+*,++(($&&$%!"3$#0:YdjrVIC?1,:<0446-*1.)(%#$$# !'-* !!##%#%#""""" !,)+''(2)*60-5Nb…œ©šŽw^PI?00)'"$84(""6L\lvty…“•”’‘Ž’“•—š˜™š˜y8,*,111("##""#%%+0L€¥ÃÕßæåßÍÄŸ‚m[33I92#"!"#"#$' !'*3;466/20-+((''%&''&((%&(!!#  !;& '7AK??DA??:7245385,()/-%!" ! ! $2/ "#$)'#%'#!!#+%)+-,6))0,06Qz’¢¡®˜‰{gWKB=6)')28'#.CRjrqyŠ”–‘Ž’”•”•—”k;-,19=:3/,)$$$""$&17hŸ¼ÖåçäÝÓÊDz”ƒi>5@>3'!##"" #''')2@ELLQMG;>9622+)&$&&&'*('(&@(&(--4@CLE234.())8@,&)-("#'!!""" &$###!+*$),*(,+,*',5R€•œª ˆ~hXFD<;*(*+/'&9G\lsyw~„Œ“’Ž’”‘•–—•rA/3-4;IIC9.&'&'$$$%,=J…¸ÊàêèåàÙɯˆv?8EA3/"#""! $&(,1;KWa\SQRGIA?=50.&%#"#$&(%%#  &" $!H&$#"%#06:E@333/($(&;E3+''*.,&! "%%(360020) #$""!#-)'*,+)2,*-02:[ˆ’ –›¨Ž|iZNEC=./1* &*'%.9H[ilnw|…Ž’’“’’“˜™‡Y959E;DTI<@>20&*'&%')BYt¢¾ÕåêèæâÒ²§ ’TN?H7/%!"%#!!!&(*2:FVahiZXXNPIFC:73,)$###%&'(&#"!"#%! #&"&!B& %$$,18??=;/*2&$&'.41*))@1&# !#'(-2/1.,150/2, "###'-(**+,.,-*,22Ej¡’™«–†|^LFD?..3-!&+*+8<CKM_jŒ“’’’sA<BIEJUGST?AG:-()')'+?Je¡ÀÙæèéèäØÀ¸³W@FE:+&"&###!!%%(,9@R`e^`^WSRKHGC>=94/,(%#"&'('! !&&  " %&$&" M.%.&'.>DAG?B=04*'-*)4-%''#!##!$)*,.1/3--,+,+./61/!!""3))*()/,+(&)/2Qs“™Ž®”‚y_JIC>2*-)%$%&$'(,46=I]w‹‹€VBfmV^]ai`[XN?44.+)+*.5Hiš¿ØæìêêçÛÑÀ¿§]CLRG7(%'&$"#!"$$%)2ASS]YTTTRTPIFIDA>?84,)&&%"'&!!!%"! " ';/;;46Q]VSFedJED721*#*&'($!/&,0+*.-/-.,/.'.,,/++,-# /()'****)(&))3\›¢•Ь ‘teKCB>/)()2!#$'%(/7Qj|ˆˆo[yˆ‚w‹‹}ypiX783-48502Ee’¹ÓßçéèæßÓÎÍ»tqR]ZH.$#,&!!#"!"#&,9FIONJJILRLFEHDGEE@:1/,'##$$"""!"!&$($&&":c~“••’¡˜–jbb`L70,//0&"(.100,-.,/.././,.-*/+/)*-&)*()('-)),,*/0Fl‰¤§•–ƒ©ª•~sKB?71**)N""%&%"$%&1@Yke~°¹¶ªž£ ¡¥ŽJVCC?BDA:=Hg¥ÁÖáãèéæåàÙÕňsars@/($(%""!##"#$%)/:@@A=9<@LFLJKHMHGDB951*)%#%#$-%$! !!#!#! )'%!)(% …ÃËÌÃÃËÍÇûļ•p}{^=E>43(+01301.0..0-2230,+4/.*.-*--,+++''*)1-21;?U…š©¢ ˜€¯®˜‹€RI;73**-/#!'.%&# &&$#%$%#&$&CyÀÝÖÊ¿¹±¿º¶­¡td\VSJOQG?CZs–ÅØãçèêéçèæâÏ|rl{^</$&&$!&&&&%%%%$)0301368:BCLQPHKKC@AA>73-('$ " ##$$#!'.ÈâçáÞëéàÝæÞßÛ÷©˜nq^2*/..//,+),01-,430--,.*')-+*))')))))('-229BLqŸ§µ®§œ€ª¯žŽƒWEB>4)*.*-5511//&$%%&%""#%!"-k´äîäÜÎÊËÍÎÄ·¢‰{|yru^XZWVhŒ£ÃÎÙäçìëèéççÔ®±ž¢¨šŒQ;-#''&! #%%#"##$'(**(+/27;>CGLHNJIKD>?@;1,)%)"#!"'$&(''&$!(#VáçéîññíëîëéìæÚô±p8+*.,22/,--,,.2+.,0/,)+'())*)*,)((&')')(47Kbl‹°µ¿µ²­‹¥´—Œ‚`C@=>-,-+*./0*&&! ")-/(&&%$O®ÚèéëåÜÖÝÚÛÏ¿¬¬¦šœš‹sj]c{°ÅÓßäçééëíêèÖº¼µ­¶±¥rS5(((($##$$$%#$"#!"'('*,.338;?DEIINPICED=534/!! !""(%)((*&&'$( …äæçññííòíïîîïâÃx5/,-0,1/130/-0.1*.-3/-*-*++,+(,-).(('(+01HRhŠ™¦»¼Å¾¶ªŽ§·‹“‰rQXQ<0.)/.023)""%'(*)+)6‘ÙçèèèçáäæèàÕͼ¿¸¿¸²¢• —w‚¥§ÃÐÖäêèìííëêÚÄÉùõ´|W/())&##&&$$&$%!!!"%$%***/2356?BEKLIOHFD@<<=6 !'+%'''##!##‹Ï׿ðíîïíììïêäx5++--+*0./--/--.,--,2/-*,))-,*(,+',)(%(.4DYiŒ©º¿ÅÃÅÅ·ªƒ¨¶~ŒwWhc@:8**).1+,$ (**++,/P²æêêéêëæççæãßÓÐÇÃÆÂ»¶°±¤Ÿ¡¨²±ÂÐÕâçéêîîîêÞÊÑÑÍÌʺ z?&&$#&##"&##"#$! !"""&(((-..047;?FFFKHEEGHC?: & !&'&$&"$! tÀÙìîððïìïìà|5,((+*)),.-+)*,),,+,+/**-.)'*,,%,*(*&'&(7Bk‡—³ÆÇÍÍÊÆÁ³ªˆ¢·}}~Ztc@97)&&*-('!(-+*/0,TÄãåèéèèëëååÞÛÔÔÐÐÇÀ¿¾Å¸·¶µµ»À½ÃÙäåêìêîîìß×ÙÖÍÝÖȼ–vU/%%#!$%$#"!"!$"!!"! ##$%***)+02459BDHGGHJJFB<"!%).*&,+$##)(#"+€¼àòôïííïÖu;+))/+*)*../.,,.-,.-/,/-,.-.++./+/-+-)*-6Rq£µ½ÊÒÐÔÍÌŽµ«Œ•¹ŒfupSeKB@65('(,*!!-2/.45^¸ËÊÕÝÜÝÜ×ÕÔÒÌÄÇÑËÇÀ¾¾¿Á¾Â½À¾¾¿ÃÌÝèéêîëðëãÝåãÙàâǪ̈‚^;*-*&#%%%"""%$$""$$"#$!#&%(+)+.3214<>CECJKHFC? 0 %&$)(())%&" ('%.}Æïïïîìî¶;//-+,,--+/01..0+*,511+03/*.2/0225112710EZ­ËÑÎÙÙÛØÔÍÆ¹®›Š|¨xYYi?NNJA<:*)%!%%$37847R• ®»¾¶º´º¸¼»·»¿¿À¶»Ã´¿¾¾ÄÁÄ¿¿ÇÍàâèéìïìîâáéçæääÛÒ¶•pA0.,%#&&%$$$##%$$!#"#%$"###%'(+.+,0448=?CEIKIEC (&(#(*&&&'%!"#$%&%%B½ëðîíîðä’50))*)***24.)++++/1,-/01-*/030311/.18=Bd½ÎáàÝàãÝÓÐÇü«‚omMC^:DDG:A8,)&"!$!"1;:9SNIdˆ‡ˆxxx‘‚‘š««Äª°ª±º¸»º¼¿ÂÄÒÔäìéëîïïìçéçæêèáØÄ¡ˆM11-)'(*(%#""#"#%" ##""$###"#%()*)+.0/365<=@HFEC!  &,.&'(*(%$#"  $('#&%%'&~èïïðñîìà‡2'++((*+02.++*,--/,////.-//132/2137EZo¤ÀßäëêèéèÝÍȾ·¤|rW–U=3Q54>:?J;3.)#!!%(72+2,%*.3,/6.BTaNd{izŽÂ³™‘“–ª­®¼¼½ÄÐ×äîêìíòîðîêéêëéãÕ²–d820./))-)%!$#"#%#!!###"$$'$#%(,)*+*,+,002568>=@D"#%(')),(*)(**,&'"%% ""!("(-'%&%&%$'+‹âíïíëãßʬc-))*+*3/.-.-----//-/1560..08/,/8NrŽ«ÐäìîîïëéÝ×ÇÀ¼³ª™kW@oN0,22,.09E=53/("#" +',*''),)-,.(`QE;BNNOp‰‡ƒnft†›®®°½ÁÔØßçèæíòíðîìêïëêÞ¼«‡E-0574+(+(##!#%%$"!!$"$%'%)%"%,+))**..,0///235;@@! !$&#')*#'%%#!$%'+(%&%#&%$')'€×àââÔÔÅÏÇk,.-+(1.,,)+3..-)/,,/151/003.,-A\´ÇÜìííìëêèÞØË½²³§–|XP>T;*('*+-%,:;624)$"" $'*'*)(*+*,')(-406372DDBPOTUgn‰¡¡²½ÅÇÈÙäçìîñïðíìëïíèÒ´¥^-./6960*&!"# !%$""!#$"""#%%##)(%%(),..+,,,,0/27;9 !!*0(%*()(%&##!  #())''%$&&$%&&'(k´ÈÓÄ­†|Z6,*,,)+-*()(.,*+(,*).011./-1.*,E_«ÜïóíîêêåßØÈº®¢Ÿ{eC>5;3&(%!$'$*56-.;'""#&%&''(,(,&*())((&(+--'0((.0<LMRl£´³¶ÄÆÍæïïððñïïìêìíÛ´‚<'337:=7.&!!!!$$"!!$'$""$$$$%(&%%'(-/0/,+,)/-4066%'))-'--*,((*%!%"" !  "",+*'''(($''&&%&'NNG;.2.+-.0,../*,+)-,'/3.+41.341*,23*)On¤ëòñïëÝÖÍǵ’…zpeU72+.2&#"! #&(..,,4+(-())*+).1*,&*+-,+)('&%$"$'*$+8BHLZ{››¨»¾¿ÔíðîîíïñòêëìåÑ¡S,-138@B6+$%"!!$#"##$$'&$$&$&%%''&%$)+0020,-./,0024# "&+--*)())%$%!" (-*&'')''&&&&$&%&&%%#!'*-,,(**-+)+0(-*+,('/-**1/.0-(($#!"Y|‚dk°àÞÚÎÂÁ¶œzlecZD61(&%&"#!"" $'(*+'()'$$(+)+()('&''&&&&!$  !$%(,87J\\m”¦¯·×æíìïïîîïñêêæÞÑ»y/*5148?</%## !"$#!# """"$"$"%$#%%&#$%(+/31200+,*,-0!&)+*+*.-*''%#$!   " % ! " " $'!+1,''(()((''%'&'&'*&&'$ )*+,*+(+).,.')./+++2+++3.2/-$%## ^€}^MG_‘¿¼°¦x]PKBD4(($!!"$" !""&*,)()&$%'*))%(('&%((%&&#   "$#$1=BDlo‚¨Ìãåíëððñðïîêëç×Ê F"*1.5@@4(#"###"#"#"#!!#"#%$##$$($$$$'%*027964.)+*+. )))..+.+'&&$" (&&)&)((&'&)(%'**')))+,+(%'%'((''%%&&((')&',&""0,(+++++'++'-+,,,.-,,-,,-0&#ZtRLC46MrmZKQ8990/*##! !#!" ""$&-)*++-&%))(&&&&&$%$')(#> #+:9FYvÀÏÚâïîñðñïîïíéêÙºj'!&+26<8+&#$$#"#"""##!"#$#%%%"!$'%#$%&$(,1=;;99/2-*+%,++-.-)%($#!!((//-.+(*-,%%$#$#$&%)),,.0/+(&%)%&&'''&&'&('')'(("++,()''(-)))).-).-*,-+))25"HhLB6.),*+($*').($#"! #$#  ! ""#&.,+0*)'%%)*$&$%$"#%(*($!'1<j–»ËÎØëòðîðïïîíèæ×2""$)022,%""$&##""!$$"!"!"$#'&#"$%##%#%%'(-7?@>=865+(+!(.+,+%& $$"').0,0./-('++''''"####"$&('&)-/,)()(&%((('')(&&&'#"!-,+%)+,*-*,1/+.-0..2--01,;kaH=/+*)-(($''&&#"!!!!#%$'&%&&$&##$$&(+590&'&(('(('&&'(0+)($ #3Hƒ§¯¶ÃÜîððîòîñîëìã°K#%$"&+++'$$$(''%%$%$#$##!$#"#!"%&%%%&#%$(('/:BFCBB:81$$))++!&%%))*,).-,.*,+*&))'%&'##$%&#"#$%#"%)-+)'*'(,(+((&'%$" !" (++&',)'),,***,-*,43++'(,-VPD6)')*&(&#&(%&%!"#"&(''$#%%%&%$&''%+@@1&&/1*1311/,)-1+'*& '6Hcq–®ÅàëêíðññðíëçÕm%$$$#$(&&"&#"(()*)((%###$"#!"#"!"$$#$$$$$'(&*1=GEHHC>8"&&'+.%%%(./+-/,'--00+/-,))*)'#%$$$#$#"!""!!"%())(+()(')%&%" !! !!" %-&*-+*,+1,,++2.31/+.+),+ ,D;84.,,+(*('(('((''&(('-+*&%'(((%&&'(,;_J753?>;@@B@9728;G>8)$"!'*<B_®ÉØåëíòñïðîíß 1!%%&#$&$#"%&%'&**)(''&$"##$!""&$$#$$%%&$%&'&&,2AGOOJHB )% #'',,,,-.0/.--+..//)*./.+.+'#&#$$#""""  "##&(&&+,+($ !!! !" "$"$%*&&%#"#)+-.-+*0*/,,0-4/,)/*.()+'&)53.400++&-''))-)'*,--,*/,.)+(''('(%&'As€gRYT\TZPUSIC@AFKWQC2(&"%#18]ƒ«¼ÖÚëíðñîïíì»F!#%$%"$##$%%$%)('(((')'&"#&#!"""$$$&$$%%&%&$%$(.2ARSTPM$ ('&),-,)-0-/,+1-,--.-,-,-,*)&)'&*#$$%%##!" !"$#%''&%'$!!!!!!"#&$&'&&(2R@1*&" "'--/-+,,(+)).*,.)**(&&**+*).*++1,*,%+)**+-/*+.-0,,//-(,)*)(('!';ˆ¥¡†}„Št|jiol\PIU\`aTC0'$"% #$3V{·ÏçêëìðíìêÑb"""##"$$!"$&(($'(')()*('(""%%%##!"$&&$$&$%%'(&#'*,3CSRTY)"!%)&$)(*)***..++(*,-**,/.,,*,)+*-/*-)&(()&$&+($%&&$$$! !""!%&*)'((&$&*7.)%#" #).0,)**++)((/.)-)++'%$')*/+-,,aq@+,*,,,-/$  ($((++/,)%&'3‡­Â¶«²­žŸ”‰–ˆ‰re\nhl^L?,'##%# $(:Ga–°Óßçìðïîî߈,#!##!!%! $%%'&$$'&('*.+)(%$&%$!"!#$%%%$&%&''''&'''-3CPW]*($(''&'&)*)&*)+($&,))'&,-**-+.*))++((+))'('(((%%%#,7+*&""$&'%$&((&(&&$$"#"#$$##%++3,++(-,.,*,.23---)((+*(*-1.3›Á”:**/1,&!%!$*./*),.K—ÂÔÉËÈ»¸³Ÿ¯¥‡v{‚€q\F:0)%"%'&" !(6@Y—¾½Ýìððïîê°7$# !$"""$$$%%&%$#&$$')-.,)&$(%%"""%#$&%&&%(')(&&''')(1=SZ(*),+'%'&(%#'''(('')(%)'+,&$**(#*-(&),*'&&*&&%)#".PP/%#%&()'('$'&(''$#"$%###%$%'(.,/)+*),,26-+/3</38/,,.**+*),EĹ»~/&1&!  !##&$--+>n®ÝÞÚÛÖÊÆÂŽµ¨ ˜ŽŒlVB<1(& $'"$""#(7Gu‰§ÆæðìííìÍR#" !$%"%!&%"%#&%%%%'%$',/,-))'$$##! #%%%'(')&')'&''((*+0?R--,,-*$&('%%+)(('*&%%+,')(()('((*(')+))(&'&"%&'9R`E*('()),)'')%%')'&&)#$$&&###%(++--***,4;04678>DDMMC?6?5,+(**‚н«­|B3+#% #) %&&!%'!%4c’ÊçäÛÙØ×ÎÎÈú²¬£ˆ“ŒlRD:*(%#&'$&&""!%7LYl´Öçìíïêßc'$"!#%$##""%%$!#&&'&&%%')*+***(&$"!!"%$''),'(+,)&&('('',/7:/-,+(%%(&&'(('')(&'&&')&(%%%&)('&()(&%$$#$" &9VVE/&'%&)(()%'(%%'%'##&&%#$&($"!$',)))'&&)3D/40;@LOT_h_cWL8'*('T½ÃÀ³«¸©z@&#  $$!Hv²ÙååÙÙØÚÖÑÑÆÆ¿´ž‘™Œ}dMD4''$!&'$%""&/6K¿Øààäíçˆ*& ##""#$""!$%%'##&&'&))),'$!!#"#$&'')%'',*$%%&'%&++--./*('%(&&%#(%&((($%%%$#$%&&$#'&"$(%"""" !!$4CU@)&&%&$%&'(*%%%$%&$%$$'$##$$$""""'++)()'*)*/054FJ]\^rŒˆzqnA)''+‡·Âöµ½³™vH/$#"$! ".Q„ÂÔÖÖÖ×ÐÒÐÍÌÈÆÀµ›¦¢ŽfTC5*&% !&"""$"$'+7h°¹ÅÄÂåé¯5%$! #$#  "$##$#%$#%&'%%&%'$"  !#%%&(($$('(&$%$'&((,*,..-&('&$#&$!%%"$()%!#&#%$!#%##!"!""! ! $*7=*#&&%&&&&#&((%$$##$$###$%%##&! !#$")',+&'*+*/5<AO\t›§¯›™p8(%=w¸ÉÊ»¸µ»£XE*%%#%%,0N{œ­·ÃÆÆÅÇ¿¿ÈÂļ°§®œ–[{I/'&&"#%!#!#&#"%/J…‰™”¨Îê­5&&$"!""$" #$"" $$##%$%%&#"$$" ! #"#%$$%$&%(&%&%('&&+,.0/+%'*&$##!"##"$(*%$$$&%"""#!#$$"" !*1,'#$$&'$&'%&$('%$#$%$%$#$$$%%%#" "&$ '**(')+.69;IN[u“¤¨°«®¶¹¥†B'&@xÂÓκ»´¼·K(%(%#)) $%%&*%-<jLmœ­¶¶³·¹½Äµ¨µ£›ztM@/1'&' ##%%#'()"!!'=XfZZyÅã¢8$'$"$"#"!"!" !&$" %&&%$$&'$###!#!!#!!"#((&'$$'*''&&(($$*/14+%$$(%""" !"""%# !$$"# ""!##"! &)(&&'&%$'(%$##&$%###$"#"$$"##"$""" !&% %''&'**/AEL^pˆ“¤³¸½¼»¾¿½²`&%EÈÛÖü½¹°O" %,)))$$&"*('! &"8w‘£ ¥¬´¹«¡¬ª—ik?.((((""$$#$('$%$!#*8z}Cb³Ê˜3%"&$##!"$#! !! #%"!"%&$$%'&$$&# !##%"""%'#%'&$%'&&%%&'&%*002($'''%%#!(!!#""#! !##! ! !# %.+(&'('&&$'&$$#%&"#%!!"!##"#""$$#"! %'$$&('),2;LZk{‘«®¸¾ÅÈÍÎÉǼ¿&%H¢ÄÚÙÐÁ¾´h!" $).01**'#,$!-+$#!##"#Ohz‰’“§š™™¯Œ~e`R?-1/+&$$&%&((*(')*'()/3;I‹¡F)"&$%$$#!5.!%#"$%$"#%%&$&'''&'&&#$$%%$#%'&)(*&'&((*((')'*-.0'#%'&#$!!* !#"! !! !!#!! ! !# !(++'((('''%%%&*+-157663*(%-($# #! #$"+,)')19J\r‰ž±ÀÉÄËÐÖ×ÖÒÒÈ·•)'G ÃÔØÒÁº§5 !$&*+58/0'#*%)*,+**##('$$%!Q[]ejlwy|•“bhLVE9-R4)(%$((&),,)&)++')*/=cd+)$"##" !!)YO$$"!%#&%%$"#&'%&&&&&)*'&#%#'&&&',)&%'+(()+/('(),//#" """ !  !!!  #'**(&%(&&%$$'5:L^beqeYSH=5,')(%&#&&%%!+43'2 #$0+''(0Dhoƒ·¾ÈÓÖÕÕÚÆœ‹zyy\'#2‚¾Ò×Ë·ª’#!&&(/*/'&&***'%+,+*&-*$!""//5=S^Tr€^YGB@>0+-*(&#"%("$$)*&()))&*2>D!  #$"$7E( !!"$&$###!#$%%%&&%&'%'#" %&#%&%*$$#&'&&*/&$&(),+"! !!" "!"!"!!!!!! ! "(-((())($%(2ARr“¢§¡“‡‰‹ticC50,+)%$&%)'*''+,/6;DB:$*)%&('/Ljе»ÆÏ×áæãÓP3,()&#&#^©ÊÏ¿¨˜& &(*8e}~g)(-0*"('-*%&&" $ !):>HkOH@8?:5+*)($&&!$&"%%&'(*+/,&*2% !""####"'18,!#!  $$&%!#$! "$$#&%%$&((%"!%%#'%&'%&%%&$%(**(')))*#### #!##"#!""#"""! !!!! "$*/)+)+*),4>_ƒ£·Äº¹¬Ÿš£¤©ª›~dH?224-*-25:8;39<:*&&$"$&$#(('0Rp™®»ÁÈÓÝæçèÕE()()'$'$!M’­­™Šj$$%*1D´ÐÊÑÎÁ['%,.##'+.+(%! !*,>F.215640*,,.(((#&''''(&+,22.   "&&&%&&(&+6:-!$'$" #&'''%#%!""#%%%'&&),,+&#&&#&%(('''((&&((-.1+,*($"##" "###" ### "$" ! !"(.+*)+*7LošºÉÖãÚÔÌÀ¼¯°º¹»½¼±¦˜~gUOF=869GDLQSUWacYL?2.,)+"%''5Q}­¼ÅÐÙÚãÙ»¡Š5''%*)('((--!!#%-()*'(8ŒÖàäéêåËk+0820*. ++*&! #'&#%'+5611*)+-*&#!%'((''')*(%!#$&$$%&&)))/09=. $((% "&&&'&&&!##$#%%&$%((,,*&$""&$%''('((&$'()*-(--'" !!""""##!""#'##! #!%$%'$6z¾ÚééëìéêÙÓÎËÎËÎÒØÑÚÕÆ½³¬ŽvfbHcBDMAI[bdUYVNK>1-(&##*AX‚´½ÏØàÆ a>1,,%'(('((*("  $%()++!~·åééêéëà‘:(.$* ""& !1,$"!" !!#*,3/.)#%)'$$!#%$%('%$ !"&#!$%%(&+.0<C</'&'#" "##$&'%$#$$##$%%#$&((')*&!#'$%$'('(''')('%$('*'#"!"!!#### "##!  )+"!%2^™ÇÏÛßêîìêßßßÞÞãæãçâåØÉ¿¶¦ ‡vkŒYQNP[\ab_RLA58/+()!"(8\‡«ÃΫpLD<3($&&')(%&*+&%"$#$%)"•ÜÞêìéîÆÇͬT"(+ ,-) ,()"" ! !('/)(&"'&'&$" %"#&%"!!"#$ %$'(,+028C9,#$% ! ##"%&%#&'$"$""#%###&)+(*)""%$&%$&()(',)''$#&&$&%##""!!#""##"!"! !'*,(#%*4Ss’¬ÅÛÞÝàéçêèèíéæáÜÔÎÅÄ»¸¹¢—„wtnz€„xp}rnWMDG><895*()5V|¤º¾ZGD=5,($%((&*)',0('$((*%"2ßåíììÃI$B_oˆ\)+(,%(!' ,/)$$%"!#"$%'*)%%(((%&!!#"$$"  !!$%&'(*,01<@=+# !%&!!!##$%)%%%'&$"#!"#%$"%&'+-*,'%%"#&&'*.+)**))'()('(&$""#"#"#"#! !""%(.**+*'  !#+5F[€¢­ÆÙÜåèæéæäàÕÒÎÅÄÁÀ¸ª¤¨™šŸˆ–ž›—“ŠŠu^^`TNQ\R(#&3O_­ÁjJ@6+'"!%#%'&'(*+&)$&&!R×ìõâ‘*GI20"#!?6<E[paL:)&$" !""$'&$!&%'%$'$#!$#$&'(,18AA0' !" """ !###$%%$&&$#"#"%""#!&%%).+,('%"!#&&'(.,)*,)')(()+$##"#""#"!" #*-*)./-+-,*(""!&.;R¡ÂËÒÜÛááàÜØÓÒÏÎÌÃÁ¹·°ª²´ª³²µ²¯¨ª£š˜ƒz~‚2%$#+E_¢µ„J>3('#$)%%'+,*+& *(-Q_@S6+?f¢ÅÜÞͼ5'%&$"##(%&"#(*''''"!%2.-''$&$'(&.15JD5(!$" !!# !$#$"&%%%(&%%%#%#%$#&&*)(++,*,&%$'&()+*.0.,,--+,0$###""##" !!!(-.*,/.10/-,++(##   "&)7Po~“ª·¿ËÎÏÏÎÑÕÍÍÉÀ¾»¾½¿Â¸ÁÂÈÈÊÇÉÁý¹¹Ã¿¹J%&&%)2Tw‹Ÿ™I5&%&%"%%&+..,0'),$$B!$&4.!'/!N\gŠ®ÉÐØßã”*&&'%#%#%&'$$).*)%%%$"(4>BEJFF<8/,*)-,17GL7( !$" !" ""#$!'%%'(''$%%$$%%#$&+''))*+,,*%%#'(-.)/1//.01/.&$$##"#$""#$(*++-01/.2210.+,)(%!! "$,.6Me}Œž«´½ÃÈÆÇÊÈÀÁ¾Â¿ÆÐÉÖÛáÛÞÛßçãØÏÍÆ¨g(#)('&*<d‚S-$&&&#(&)*.002#!("';>563P^7(# $*#.)'&'"$An²ÛæéÒG))%&)(%%&(%&)-()+9Rgg\Yaaqfg^SF972875>=G=)!$!""#""# !#"#&#%%%%'((&$$%$%$#%&(%)+,'*--+'&$#'*,+02250520/$&%###!"!$()(,/+1100/++5/.+**)'$# ##''0BO_m|‹—ž°½»»ÂÃÅÂÆÅÉÑÙÛåèææçãâÞÕŽ·¦X%&%'&#'*)>t‡€]'#%###%%&+...'7WUID6S¦ÍÓ¸ŒV5')#(*"##=I`v…h@4¡ÓãÕG)'&&''%$#$%$$%%',:JZadgu†˜‘’z^UCB?G?>F=9+" "#! !#!" ""#&%%&$%&'('%$$#$%!#%%$)*'&(-*),+##'')).44216//0%%%## $$(+-.-0.00/0/*.4/0+)*+('(%"!#$)5DPWgz‡“™«¬¸¶³ºÁÅÇÐÕÞâÝàåáÞÜÚ×ÎÒ±8'&%%$&'%$(Bk`K)$"! "'&#'+/b³ÕÅ™_9N¿ééé׳}dhhA#4DOM<,5\^rÎÒǾ“(&/Jtˆ7)'$()&"# ""$#%-:FVh~‹šª­£”{lTTKOF>B8*"##! !"#"""!"$##"#'$$%&'(&###$"!#$##'&&)'((,--&&'&&%*031/3.-,'$#!#!'+,+/00.-/01-/-,.0.1,+(*+&')'$##$&/6=L_ru†§©³·¸ÆÎÎÙàèéèèèëéêêåâÙÓt&&)#%&&&%%&(7C2(!##!%'#"%#{ÖãæÓ ^P¬âêëêÛ©eH46Mˆ¸¿Á´}46PjœÊÜÝßæ¤!-)"7)*)''*'%!"#!&'-8Kgy”ª¯¶º¸·ªžŽ}kYMQM@<4 ""$!!!"!!!$###&$##$%$$$$&'&'#!$!"#$%%$$)&()'-+*'*(&%&*-/0/-+)+'"! "&))/.0././220..,../,---*--(&&(&$  $)*8:HNc~™¥¬¼ÉÐÔãâçééëíìêêèäãÜÈ9"%#"$"%$"#&$&-&##!#.fQbe9+°ÚØÔ›mgtÜëíñÃ8%VÒäÚáåËz2"3zÀæëêð5!*""$*'&&$#!""#'5?Wv•«µ»ÀÅù®¬žƒnfbYJ?4&###$#"! !!"!#""#%'####$%%'%&$"#" ""##$#&'(((,*)))($"#&())-*)(&&! $*(+.00001121/./0..10-//.,0,+)*))(%!! #+.33HXo†‹¬¿ÅÐÝâèêìîíííëèååßš)&&'%$%%$$%)&'*&$$$F„¥¤ŠwPRÕëã¹§žlvÚêØ›.(;31VšäééïîíЃ6"#! "wäëëêP+ (+*)''&$%!!#" "#+@Sl‘ª¼ÁÉÇËÍÆ»µ¥wpmbM7( #%%$#$$"!!#$#!$$%'$&(%%$$&&&&%$#""""$#$&&'(,,,-',.*&$%)'%()/*&$!$('*,/20..440/0/+..,,----+0.--+-+'+(%#"! !#(-6CUcr’²¿Ê×ãçëíïìííêèåãÕY'(''%%(&""%'&&)&(&7‘ÇÙ²qhãîëçÜžK2…x)*SWT>0V³éíðïîã®V0 oÁÚÍ9#'!&$#%%'! #  #';c…¤·ÁÆÐÔ×ÔÌÆ¹¯ €uk\A+)*#%&&"""!! ""$#'#$$"%$$%%%&%%%##"#"""#"%%$)$(,,,&),*)*&&#$)'('&#(*)(,/1/,.145110+*+,,++,,-../,.**(()'#&%#   #+8BTgޝ½ÃÜéééêëíëëêçäÆ8&&#%"$'' &%&(%()'ŽÒß¶ŒswosÃçëéÐV!)-W§¢…dF1) €ßæØÄ[@)%!B "!" !##6a’­ÀÊÓÓÚÜÖÓÉ»ª™‡z\H5(5TbC'&%##"!!!"$%$$""##%#"$#%%%$$%#""!"!!"$&&$*),*(*-.-,(&%#&$&&$ +),/432133236220+.0+)+./-./.110*+,-))(*'&#" "(1=He’¬¹Ïçäéìììîíì鿢+'&&&('(&"%'()((++(·ßÂ’~rqcErÝëë"<YS*!H±ÕͰ~\X($&DD4EShd`T8$-`C(+†#!"#';[«ÁËÖÖÙÛÚÔȽ«ž‹b:('@ÄÖn'&%%#"!"$%()$%'('&)'&$$&%'%'&#""$###$'$&+*,,,,00.---+("$''&$/++0630343146232-/,-,.0-.0//131*,./,(((''$%"  !",9J}Œ¶Çßæïíïíîïìêßu)&%+&&''&%%(&'(),*)—â¦hWYQ2oáïën<qzfZWF·Úçæá¿†:!(( @Wlu„_I8,0AR?++%!;6%, $"!"(:X‚¬ÁÊÔ×ÕÙÛÔʽ²¡‘{R/%(Q™ÕëÌQ%%'%#!#&'*'&('')(*+(('&&'')%$"$"#$"$%$$(,-./-0//0.0-*'"$$((10(/340131304122.*'./.+)//-./2.,*,-**)''$$&#" ! #03FX¢¿ÐßíîííìðïèÒM&!$%""$$$%%&%%')(+)?ºœ-5@,pèîæÑ¿€Z!‘âêïïî¿7#@j—¦¦¡”s',47:. <1% #%#%#3Q409&%9aˆ°ÀÉÖÛáÝÝÔʾ·¡ˆ`:)(2`«ÜæÝªM&%&!"%&&$'('$%&&''%%($%#&'$$%#!"""$%#$&&%(.*,/-.-..+'#%#%%41/54412/271110.,-*1.--/1/+,.0.-*,-,,''''%'$$$#!!!&3Dh›·Ïßïìëîììì¼4%%#&##&&('&%&')**..6Z#1¾ëêëìÌh$¢êïñìŸ/ -G<"%g±ÈÖÝàÏr,OjF/1XO/%&2Z†™”U3<^‚¥ÂÉÕÞãàÚÑÉø›rC,#,8c¯ÚÞÍÄ·`)%! "$')(+''%&%%*$&$##%%&&'&%$"!!%%%#%'&'**0-.,*0..,**)%$$341312/2-/4.0.,/--+./-)-/0,/-.,+*+-)($''*%&)'$$$  #4CkÄÔæéëìíîé˜&##$# "#&&#!!%($(,AOtzb(+HsÙíìå™6"qÚëé¶5,bfQB0""nÁçíïì³)g’‘os›œJ%4-_¹œT=^€§ÄËÑ×ÙÜÐÈÅÀµ˜V,*%,>{°Èʽ¹º«Y$ $$%#(($"#$%###&$#"$'&$%%$##" ##$!#%%((%*+**/.*,-,-*'$%71242/1111401002///110/00//0000*+*,,'('),*)++**($% '1PtªÁàèëïìïâi'%&&%!"&'$'%&')+B_†ŠubA-*9SHGÏìîÊG!1,2OywQ(Y††ŒŠwJ7$zæñóïÄ )xÀË¢¯Ñ½VH žƒZ{ºÃÍÓרÖÈÅÀ¯wC+'(.G«ºÀ¸¬¬©‰@$ %&*&'+($%$%'%'&('&&''%'&$$###$#%#%&&&('*++,0,*/0..0.+&7/400124-2400.2//./-/00/-..,+,*,('),&%%'-)))*((($$$""$0Dt¨¿Òáææê¾7'$%#%#"&&$&'((1AVtž­º¹»¨¨¥†mV:AÚïíŒ$$<.((.2E93‰®¸ÈÑÊ¢k(8µïñê•,£æçÏâåÉ2 „Ó˜In™·¾ÍØÙÛÖÉË¿Ÿ]0,$'8Fnœ¯´²¨¤ž—˜~+#%)((&$#$$#%$(&$&'%%&&%%%#""%$#$##%$#('%****,.---.0/+)6-//1101-011-+//.-/1/.,./0-*(*)*&&(($$$%(((()'('$$%%% 8-%I}­ÆÛæéì¦($##!!""%&&&,AE[t‘ºÅÊÕÍÍÒξ–r=++ÄíÓH#"#S06CIb]5"a³Öäìðïà„';}ÄÜ·M%+uèîééëä_1µ¡<Llš¿ÄÌÓØÚÙÑϸR)*!*8Hv¦·µ·²°«“œÌ¥=#&'&'$#$#$##&$$$###%'&%%%""! $"!!%#"$$%'''+,,**--/+,-6103115/-,2.-/0../00,0//1.,-,+-''(')(&(&)*')(+,(%&&&%Q±[$#8[–¹ÐßÞâg%%#$#"" $,0,8RmŸ·ÎÕÖÞÝÛßÞÉ™O-($mÉ‹8$.<TM+DgŒž‹MNÌëîòóòÙT)"A‡²¾—*+!-,$)6kåïÜàìàE !Zu.(6g„±ºÃÍÛÜÓÐêw@.(!(4Qˆ°¾ÀÄ»²¢‹Š»©A%'%'&&$$(*%%%&(&$$&')&&($&##%$$#&#$$%%(+)+(.+*...+-,51373340/1--/000010/121/-.-..+))**&(+++())-,)*+)(&&'?¹éñ݈*!!)8e¦ÉÎÔÑ@&&%$+&)"(-26=Oo“§¿ÏÖàåçäæêΑ;+'%#:OG&!o@&d•³Âž=%«ÙðòòóëšD96_‰B2 ).6GRlÌç–ºå¤B$! =+%&(Ox­¸ÁÏØÙÐÏÁ¥^37&")2Uƒª¾ÂÇËﱤ‰‚šg(&'&&'%%)(%*''(''''')''($'&&$"&&$%#&$$&*+)*10.-1//.,4214301.,2--/.///5+//1-+).),-+'((((')+)&%),++')*'%'/…ãïäÕÌŠ7 '=u­µÃÆ;(&$.62:7<769>Os‘©ÀÓÛàåèæìêÆ|4+'& CIH@…4"b¥Á¿e/žÓëòóïÝ—una]0 ,)'*aDxyhs‚6@S) !!"%#&$0u ¯¼ÉÌÑÕÌ»•N,0((*:mФ¿ÆÇÖÓÍĹ©ŒpW*!$$%%&$*&%''#%'&')&&&%&%$#$#%#$##"%$%)(*)*+/0-*+./.4651100.,101/.011/-/1-,-0/-*..-*(*..+((+.--./*'(('2g˜¯±—¢µ¿‰3 ! !"(H~›º²4,)FquUQRA::3BRl‰§ÀÑÚÝâåçìèÅ|7.+':\P9d*!4{’r*#AÁìòõòÕ£w›±ª¦F")20& !"'>‡–6!#&%%)'&##Jo•¬¾ËÔØÌ·~;'(+16Mz§°¿ÅÉÕÔÕÐɬnG*&&&%%+*)&(*')&&(*'%()-)(&%&&%%$%#$%(+/-++.///.0.-.7521/1-/,/1/0031///-.-,,+-.+.-*'----)(')+--+/)(&&,FmbWVgrvcQ6! !5ERˆ‹6,Lª§‘eNC4634FRc{®ÁÎÖÝãåèíã´i3-,/hdH2 –ˆ'!(.0/2EÇñóôñãÎ­ÅææÙ`#NKJ; $&,k¹Ÿ(%'''(''%",WŒ³ÀÈÏÔˤg+#*2BQz”­µ½ÁËÐÒÖÔÒËÀ´œwG/%$&&)*'%*-()&'('&%((+(&%$&&##$&%%&(&*,*++++-/--..96/43/./.320222101//.,/.,+.,-.+,-,,0.))-./.*-*),*,120,.0,,'')'" !"'4:PW30—º¡PF9;8:>K^p‰°½ÅÖàåæéïãœY3//WˆhL-'?ʼn,$!+9GL9RŽíòôóòðäéóóím,%4>#*#JŒ}9%*+?ªØ…,,),*')'$'<x®ÂÎПT&&.<Mu¡­¹»ÂÁÈÌÔÒÐÓÖϳ™uN/#''+)').-())-,(&+,)***)(%&$&'&$&%'(*++*+/.../10.3202..0//0./,0.//,)-0-,(+.+&*-/**+)*,++,/--****-)%%&$%%%$%%&&'%%!!"+.?D<KÂÉšrRTCJOACNQe¢²ÀÏÕØÝäîëÂQ8@–fK2*`á¯>*.EZWYD}B™åóòôôóóôóïk" HE/&3*%=¶Ìl1%+0>¬éÙe>A>850&&-/V™¶¼ÂÇ»™J$,8>Rˆ±±¾ÄÃÄÆÄËÉÎÑÔÕÐȸœ{V8)#%&+,*)()((('',((*-+&"#'$$&$$'$%(((')-,+,,,.0.22..0001.--11/-,.-+,-)+)+,%&(.,+0,('(./*+*++'&&$&%%%&%%&('$'(&%#$!!$&6B=rÛÓ¥y[K@?<79=DRlŠ¥¸ÆÒ×ÜßàæÜ½…]g¯Š^=,'€êÝnHMcY+5«[:¢ñóôôõôõóë{5.`]=791;Áè²B)%'/4@µêè•fdaZF=)(&+:n}¹¾´ƒ8#)@Tm”­°¾ÄÅÆÆÄÆÉÎÏÒÒØÙË·£[:'#*(&+)*)(*))'+('()*)$#$&%&#%&#$%&'&&'*)+.*+/,2/.012322//140/,....-.+.+(&()02..,)-+/..,,--))*&(('&&%&((&$((&&#$$$#$%',-7…ÄÑ¿žŠ_H=6754ALdˆ¤¹ÈÎÔÖÚÑÎű’{˜°zE..)…îðÉ‘‚r/0ijjrÖóõôìóöõé¶‚y}¨›TCILTÒðáfF',79NpÍë虑’Œu`C4))0Lr®¹©a,'(:d{ ®·ÁÁÄÆÆÅÈÒÏÎÕ×ÖÙÔǽª‹fD.(%'1/+),,./-.)((*--)#'*&&#%&%#&&(%&****+-/0212-/0/32111/0/-,---)+..,*)()*1,*,+*),/,/-.-**,()*('%&&&''&'&%%&"#%%$%*0..$+;š«–~fJ7--.5BLa€¦¯¶¾ÂÇÈËÆ¼­šp¬ÏD.++ZÜðïÕ’3"½í׸¾âÒ¸»îóóðêÛÏ ¾Ô¥=Q_‡ãñéj^X!-5Igޏãå»yˆ˜¯°©’vY2),8U~œ§h.'&&.a{¤³¿¿¿¿ÁÃÅÅÎÒÔÛßÛ×ÔÒÐÆ°y_6$+.-+*,+-***((&(--)$!%%&$%#&!$&&%&((*((/0//01,+.-/0./1,.,*++(*()'(&')*$(*')'%*()*-1,))))('''%$%%%$%(&%$#&#$%$#$$-494,%(A^mtiP8.&,7?Vi~•¢­µ¶½Å´¥…`Xºé¶j90/:m ¨Ž4“ïòòç±52²ðóóóòòî±Íìâb#]¡éë¼=N”J#Ck™À¦…n†•¢²´³°¡Šc:)*EVNB'$'&%'OwœµÁ½¿½¾À¾ÇÏÔØÚãÚרÒÒÏ˺¤–~D(')'(()+('&&'('''($ ##$%!""%$$%$'('&)-+*.30//2000-/+/0/.,,+)+)')*+-,,-,,&(+++-+..1+,,,-+()&&''%#()(%$&*%%%%%&(07=A:-"%26EFD=1*19@Oc{ˆ’šŸ¢©¦¡™ŠnSTÅïä¤pUJL:04P'"TÛòìÀH.Êóôõôôóñ´Üñð‘G¤D*;¯¥% #/F:R_‡ ¬¶¼¿´µª”_4(48/'#$(&'"QŠª¼¿ÀžÀÂÀÅÑØØØÞÙÝÜ×ÖÑØÐÄÀµª^')+-(+-*)+-))(()+)$#%$&%##$%&%#'(($'.,./0/.10,0.//*,,+-*,))+'&-).-&(*,( )-+*(*-/.).*-,*&((%$$%&'&(%&&'&#"$%(,4;AI<0&'*)/3*',/.5GYv}—’™“xnUDB¯ìîáÄJ 5.=['&! !)^Žp2(Áóôõõôôè¹êóð¬/!&()+A·à_ #*AZ{€ ´ººÀ¾¿·³ŽP.(+7<$$%&%$>™®»ÁÁÄÄÇÇÆÄÌ×ÝÝ×ÜâØÚÑÑØÔÍÓÊËÂj%')+',('-,&('(+,(&!%$"% "$''#%&(&$*,-////0-+*.--)+**(*)'&('((%-(&!'% !&))-*)(+,'*(*)('%(%$$%$%%()&$%####%+17?DF@0&!!'%''#%#*3CMPYTLMCJ>INAC£Öà¹[!":-Fl3*#"$,<B!+"! !wêóóôôê¿Âññë“&33--5@X¯ê¨" %7QrŽœ©°¹ÁÂÃÂÿ¼·‰K),,VŠA($%$*p³º¾ÁÅÎÐÕÕÌÐÓÙÛÚ××ÑÒÒ×ÔÐÉÎÉÊ×ÃW$&%$)(%%$#&%&**%& "#$!"##$!"%)&&&)*+4200/021/../-,--.,**-.-,/*,*)%%*.,,.0//--.-,,,-)('(''(''(*+*)'%%(').8?DOF@2+)" !$)(+)$()2<<JMC;2<8J`3')GJ-!1>2Y~?0(%*DW40($"#,•íòóè‹P¤èæ©\ 5GVduÍî×5#/Dq’£²¶¹½ÂÃÂÆÇÃĽ¯{>9<JŽÄ†,%%&G¯½½ÃÅÎÒÓÖØàÛßÜÖÐÍÍÎÑÔÖÔÉÅÅÅÐÏ¢8'))()-**&,++-,+,'##%$$&&#$#$$%(),.,,1////.00-...//--.,+*,..,-''%'(*,-/-0/-.30..-..-'&'*'()*''+)+)'%%'(-3=DHL?7.-($#""#%$##%%(.)15:=<=0/,(/1$!! ! @@3l—V;1/D_Q$%22'%$'4šÚÔ„*&6ng7I" "0Y‡­ÊëíÖ7#-Asž·½ÁÆÉÈžÀÄÂÆ¼²žgF[|œÀÝo$(&(v²·ÂÉÉÑÓÓ×àÜáÞÓÒÊÆÉÈÌÑÐÏÏÆÁÇÄÆ€,+-**,,,,,-,0+)+)&!&%$&&%#!%%'&)-.++10-./,*-,-,*,.,+)-*++,-'*'!"%()*,0..--000-,/-.+)(((*()%','&(&&$$*19CHNJ<2/.''##%&'&$%" #*),1/+(####$# "&$"M:0w¿ŠdR^qf*%*9@,-()4Jg„<(&''*.W, $%'6áéÙ„'$+A–²ÀÉÌÐÊÅ¿ºº·µ¤{>Lv©¼Ì;H%&":ЧµÆÌËÊÏÒÚ×àáâßÕÈÄÃÂÄÃÍÎÉÆÅËѶb*+.+(,,/,++.,*()($%%$%%$"#$'%'(,*.12-..-+,,-**,-**.,+/+'+$"$',++--//.1-./,/+*-+*''')'(*+,)%'($$$*4@IMPD6.0,+*'$&''&&''%&Q‚ˆ­‰eRI@?GHVehx`9-%"5b2/cßϸªµ¥>')5OW9>;>Mf~~.-)+*,8h3%(&()C©]<..1If‰ª¾Éżµ²­Ÿ‘ŒJ.'3†˜ËÙÚÇy0)%%Bƒ¢¼ÌÎÌÐÔÞÛÜÙßÛÔÒÐǾº±´¸ÅÍÍÐÔÀ§L(+*,*)+-.-+,,(+%##''%$"$%&%$&'+,*1./..-,,+/(,,+)(,.-+(&*!"!&,/,,.,02/..0,.,,(-(('&&*+++),)'&%%%(-8DKNJ>7-/,.)()&$$''&&%X’¿ÓÛÌþ¼¿»»»µ±§ŠdC4% F|8-NÚñîìè–/,8O\aWY\cw“«o974-/6Iƒ6()()+PÁ:!$)S0<KVm{Œ~rvolR=<*&%)n§°ÞÞÜÎF.&%%=p¡ÀÐÕÒÕÝÕØÖÕÔÐÎÊÉž³©§²ÀÈÙÎÀ½ž<&,0+(),-,(,/*+%$%&&#$&%'$$%%()&.-0//../.,(((*,)++-(%# ! #+,,,0/.20//0/*--0,,(*)&%(*+)(+'&&%&',2?FJNE98,/.,,**'%&&'&)K™ÄáèâÝÔÌÐÍÇÉĵ°ª‚`H3)"n“Q?A·òòòÐnFH\v=V‡‚Š–²Ë½UFAC=AMhªD-+++2_ÓS$))†-/<BFUMD7=;2'&'&$(k©¥ÈèäÜÓ™M0'$$4i©ÃÎÒÕÔÐÐÎÌÎÍÍÌÎÉ¿¸±©¤¢²ÎÏÉÁ¿z-+,.*)++*+-,+)(&!#$'&%&#&%$&#%'*../-/0//*()&(-0,+,&(" !,,3200312222-0/.+-/---+(-,(*+..''''))-5@ORL?97,-+-1-+''%&~ÃãîîìãßÞÚ×ÐÍÆÃ»£‡hH4.-’¶„iYl½ïÏšˆŠ‘ l:´ÌÑÚêí‰3ce[_hv¦Ñ^K=79I|ß}#-=­S'$%+./('**%!$&'-Jb©Ê×ëìãÍ›N4*" /b’¶Í×ÖÐÆÇÃÂÂÈÇÆÃ¾¸±²·ª¡«µº»½§W((,,)-*,,.-,)'*'&()'%$$%%%%'&'(0-,-*.*+*%%$*+,)+*# *.0-+-1..00-/-,*'+/,*+)+,-+'*++$%$&&(/;BNSH:50.-)+,)(&$%#!$FÑåììëäåæãÛ×ÑÌŹ­˜nH9+,ŸÔ·Ÿ”‰¥æÞÊËÓØ´+’íñðòÇB,j›š–°ÔÔAf„{‚´æ$8U¿}! #&"#$#''&'+GMZp°ÔäëêÝÆ¡U5)"!"%>†ÀÑÜÒÆÆÁ¹·¹µ³·²³´±¯­«©¯£›——r+(''*,+.)-,0'&*&'&'##$#$%%&&&&.-,.*-***(**+--))($$&,//-*./,/1//0-,**,0---.,,/,+,,($%%$'+4=DKKG=3-+,/.+%%%$#)L„ÏâééìçéæåÜÝÒÉ÷³‘rXA/-«éãÕØÐÕÖíñîìÅV XÓòñÛg2<‚¶ÑØ×æîÂ)%¾ËÙäëŽ:AVrÒ¡ #*(&,(.///;`mr¬ÂÔæéäÝœb>C% !!!I޹ÕÐÊÆÀ¹´°§ ¦¢Ÿ®¯±±«º¤€stj7%().0.+,+--*))'$$''#$##%&#%%%$0.,-..-+,.0///,-*%!%,.1012/0103651./-+-*/.0/0//200/,+((&&(.6ADGJD80*+*-.*%%$" !(N•ÇæêêîêïêæäåÙÊþ­“wZ@1>ÈíññðïØ´äðç¤= (l•ɺrKGv²€´îñðï”2$4½íìíã‰zwežáÄ-"$-12352;8AHTq€¥½àæìîëཋ\FH%! #$#$&<p­àØÓ¼¹°§—™‹†–¥¬­©•jSRWC',..-./0..,,*/+(%!"&&%%&)%%%&'&-*,,++*+,.+*.+&'""!(++,-10/010440.--+)*+,-,,/,-0.-(&'$$%')/=DEFB:20)+(')&&$" /x¶×éíêêíçèçåÙÑ̦eQ3;Êëìïíåд£d&*޹® ‚gm„Á×VJ¶íêÃF5($+b¤»±˜ºÉÓàåÄ6#(,35;?;DHTZs~“½ÉæíðîëÞÁ•c>1(" #"#$%%" .In~}‡yqwic`[^_gfeVA60.0),**(*/-.,+'+)((&"!&&$"""$$%%/+*()-/.,-,*.,+&#$'-/2-.0/114342.-*++)'+*.-..,/./-)''$$%&*1=DKKB810)(())%%$!! #EÆçïìëéêêèåßÚÕÀ¸ª‹{E/4¸ëêíêæÈ¡}Y+!$~ÉËÍÍ·Ÿ©ÌèÁNSÕU72*%##"&4JzŸÄľr'%&(16?HHPR\j‡—­ÊÜêêíëíßÛjD7/&!#&$&&&$$%$$$&#$'.)*))),...**%'+)+-,/-.-,/.,-+*()#!&&%" !"$"#.,*,(--..-*//+,!#&,/2-.010/00362./-+,+(**/.1..0..,*))%%&(.3?FMJ@9//,*0&%&%$ # !+x¹ßéëìéêìäçäáÙÇ¿¬¢j5,5¢æììçÅ£sG) pÓØÙÞæäÙáíì’c|ÈÆjO7,&&$! !!!"%083$&*(,6;GLR\^p~—³ÀÓìíìïìîܽ’pQ>5)" !"&$'')(&(%)((&%#())&++)*++/,)+../-*/,..+//.*--,)'&&&&&"!"""#.-*///,/-,/-,.-""! $$,041,-21100230.2/--)+,*+.20-,-/,+-*-'$)+.5>GHC960/-.('%%&#"%!!&X›ÏáêèèìëçêêâßÎĽS20;’Í××qS,#! [Õáäãäçìðòð× ›½ç³gH7+%&" "! !'&%##(/39@BT]e_sy”§ÂÏÞëîòððïܽŽ{cM8,*"! $$'*+)'(',)+'('))*+.*)-/+---//./.-2--/1-0/-...0+'"%&%#!""!#//,.000/.,..7+)(-***1/232.14/102/0/.0/+.++-,-/0.+0./*++(,'&.409@KIA830.-+&'%'%" "#" !!3`´ÓáäçêíèéæÞÚÒο’eK/>‹²‚bA2'$"!RÒççèêäãäëíìâÒÚëæ¢zW@1&$!##  ''%'),,8GHGTg{wˆ™¨¼ÊÙåìîôìíæØÅ«}XT>80("!$'+&*'%'*,/-+)%,))*++./,--./-//--0.//0,-/22,..-+%$#'%$#!!"".++,+-/1,,,3/(0*$#(*11/.0-.133,.0-/,+*+.*,.-.,+0-/.,)0*%*%'-14>FGH@5/..-)%$#&& "!!#-TšÍÖâççìéèåâßÙʰŠf@R†jNF/$"!GÀßæêìèæçèææçêííîÕ©‡[M4'$"$""!!#))**)36DXTfqrŠ™°½ÉÚÞçíïðñìá×ǧ`[E9/.& #%%%*($$,-.-(()*'&*((,.,.--./1..,.-,),,---0-.-(*'"$'(&%"!"#-*1.+,)11+(/1&/)$+./20.///220,-1-+++,*+(..+,-.-,---*+.*+$'*0:?GEA;32//*&&&&$# !" $>‰¾ÍßéèïéëçÝàØÊµ©¥—ane?@1!DºÝäêíêæäèçæââäãìáɱŒ^O4'%$$$%&!''(/42?DPcg{}|¬¸ÈÍÓáèííîòòêÝÑÆ¥’{YL:40'&!!"'%$'''++-/,*(()&&'(*-.0,0-..-/+-*,*+---*.--.*(*&"%+,'# ! ./201-.2./2470$) !'+14412443321-.1//.+...)-//046-0/./*).+*(*,2;=EE?83310,)'&&%%$%&$$# %9y´Æ×âçîæÜÜåà×ÍÆÁµŸZko1)"6¥ßàêíìèåèìçæâáÝÐØËÁ¦„dS5'$"#)/0+15559>JVajz€Œ›¤°Ã×ÜèéîòôòõóîåÎÀ°œŒldPA5.1%!()'*+**+---)+),*)+,)-..-10,,21+-,//..10-/-/2-+.+(",/3,&## .,,+.+,+.6)-2 '*+-/1///3//0.'*./-*)*,-)+0/,-..-*+)))'%(&(,3:@B?>6..++)$%%%$#!"#$# #5€¬²ÀÌØäÝÙÜßÚÒÐɾ·ˆKP§4 >†¼ØÚêëçåáàßßÔÓÍÌÅÆ¿²¢bF6)#I+09<:>A<<HW[c~‚•¢¹ÅÅÏÞåìíîòñóòîîãѬš‹m^N<72'"#%'$%(%''-(##&)'%')'(*+..,+--,-+---(-*-,++-,,*'$+265,%#!./-+,01,48*&' #(-100..13/-030*,*/-,,-,+,,/0.0,.,*+(*+)%*(+/2<GA<:7/,*)*&%$&##$%!$$!!! ";‚™¢¶¾ÊÏÑÖ×ÕÏÏÐÆ½¥fOO½d&,5?F4Z‰¹ÌÕãçãàØÕÎÎÅÁ¾½µ±¯›“u]?1(5iKPNNRRGOTh}~“©®»ÁÈ×âæèèìòêòîïñêëáÖÊ°ŽŠzzdLC=70" #('$$('(%()%&')&&*)+(**-----,+//-,.,-+-/-*-,+*,'#"/28?7,&#/0-.*06164,+$(-/024..250//101.*,,/...-.--3/2...--,---'++004:AA@;50.()(,&$$#&'%$('$"!!%?\f§±¿½ÇÏÈÉËÊÈÀ¤ŠhyWº¨…¢³›U7`‚­»ËÞßÚÔÃÉ»¸¬¦¢žŸ˜•‘‚fbU4$T›Œjhfhfvu{tvŠŸ³ºÉËÔÞåéîíîïðìñòìñíéêÚÌ»œ}nhWEE==*"!"%')&%(*')+(()*(&))-*-**.-,*)-00.--10,./,.0,+,-*&1&019E@2+&-001335:<2,)((.//0100.000,,11.0,(+0.-.011/0-1,/.**-0//(,,058<B>932.-)'('%&##'*&#$$"!" +IKf„›¥­°¨§®µµº¸¨–‹‚„]—ÆÓ¨d068Ph—µ¿ÆÀ¶©«¡ŠtqnmwowpmupA0†¦l|ŠŒ•š¥š¢«¶ÁÊÝâîîïðñïðîîîðòïóðëìßϾ«impMCAD2( "%*'$'+'*()++(+)&+*%+),.,,+*/,,01.-0.../10/-+,-(*-068<A:1(-2,219?78+(+%(/4....0./-101--,,-(,//-.020/.00+--**.-.1+,,177:D<;2-,,(&&%'&$!(+%$'*&#!!,HTu‹Œ–›‚r€ƒ•ˆœŠ‚…kdX‡§o=/-6CGQhr‰’›—zwoitnscw~fTB<AC;W£§nd“ª¥¢¯ºÅÅÉÑÖßíîóíïðïíïðíîððññíäéæÜɯ—†qmmZDGC53%!$'%&'.)*(*(%''+&'&%*-,-...../...---,-/.+..,,,0--/38;=>94+,0568=?43.&$!',02200-00121/03--*,,.-01.//1201100.-....,-.//27;=94:1-*/'))&%%#")))()(%$##5OgyŠ‚sbIHKELOsmUPA>?AGA8-2Q•YDEM_nv|{}vˆ¥ª©œÂ·i7.*,++z²¤‹qVn¤¶µ¸ÎÜçæãéèìïòïðïîïïòêéîñîìíêèèå×¾§u^cWQMBE:' #%%(&&+-,)'%)*'&%*,(*-.1,./-,.-/--//,0.-0.01/10026:A??;72..497;C7>,%&'-/32/11/44220//0.0,-/.//23..-200//0/...-/-//./59:=97530-,(+*+($#%0/+(*'&''*F[o|q`B6,#+&'*,7<4.+(*-52+0`§¯fTq€…—¥«ª¡…¡¸¼Â»¸Ô¨A3./1*=£¹›†oSXi¦ÏÔäññìíîïîïðóñììíîïîëéíîïííììæáÏ´žs_SOJRCC7*# %&)'&+.+)(&)*($)*('-.-2--.--,.//-2//0/11.1021237:@@@>94.///6958//*..,0110033552/30./-0/+//01/1./01.-/.0--,.1+-/03/7;<9:352/**+*&&'%"&,.-**)$)2:UjijP=0."!!"!!&,,-7g¨ª©‰¡·¶«µ±·´´´¼ÆÇÏÆÎÑf231/-&aµ»žuWRM_³äîñïíîìðíëèéåÞØÖÔÛäÝÕÕÝêêæêíéåâι”mVKENMC5'% "%*''*)()(((''(*)%'.//-0-...././,10//.1222011136<B?>A93+.*%+($)&$"+.320/.0110241/-.33/---+0./.3..,-//./.*+,.).///489:9:21/--,'%$($#&-,*(%'%,9ZheW?73(!$@D7,%*=E[|œ°©§—«´³·¿½ÂÂÂÆËÔØßÔ׎.--.),%†º»£t_VNKO¬çéééåÜÏËÉĽ¸°£šš›£¯¹·¹ÂÏÚäíêéçäÙ»”kN=CLM9*"#!$(*&((*'%()'&((())+-,..,,-/.--*0,+-,//--///1.4=>@CA9/' !$#&+../20/./1-0.23/0/4//0/-.0-12,)-./-..,+,-+/00017=AB=772./,)&%(($#!(.+'&%#+2Lp`H>3*(" 5’ªœ|^‹Ÿ…nq”¤©²•¯½¾¼ÁÄËËÉÕßáäâÓ8/-*)*'>­À¹¡‰wgXTWE7nª¯·­¦—|srlj`ZTHLP[›Ÿ– ´ËÜäêìéä׺Œa=<G>B4-%!#&($+''('*)'%+&'(*+,.-.0,,+,,,-.++-+/,+)-..2/38@BD?3.)  '/46022100/1202222011.01/02/20--1/,-/.---.,021587>BC;541-/,)')()%!"+,*'$$'0Ni\HB<." "#""$$""(jvdV…‰hY\jyªˆ¸ÂÆÈËÒØãÞäéëèå´F-..)))%`½Á¯˜ƒuo[a\F0?dbk‚xhfdZaYKA:44**:T[Naj„¯ÖàèêëáÕµaA<=A@,#" "$&#)+%%')*)%,)$*+*00-//,.,/./.-.0-*-,.,--/0035>BC4--($$#$#-00531132321110/12011..52.052102120-//00,,20057=9?CA84542/,*(*+(& (-*(*&(6QujPF2%" "$&$$#$""""=KFECUTKLR_p”¡’»ÁÅÉÎÛåéåììëëÏ_40-+*-*(ŠÈÁ¥wrhabcG4Trfdhbinrok_ZKB;83*-))-5:CO€´ÒáíèäÓ¿œlG;E>2'" !%*$*+)&#),(&*)&*-*20//1./-00/,/10,./.-.1./..01598/0-'"",033122243203.0002311441334/33530.120..2/./633777:D@@9442-,-.)+*+&.,+(&&4XrrUA3#"###&$##$"#"&(2/08=?BL^w’˜”¼ÇÉÅÍßêìçíîíæ‰1./)+,,)5ªÈ»¢‰lvsbmgG@et|oXQ[bjVA;;>?9;:0,""$#&*.L‹¾ÜççåÕŤmD:>5+)# #())%+''((-(*+))./000//.0+--0..././0/021/11.,2/130,(('.242/0255001300/02/101341472052.//.230//.0242647<AD@>6323/,.-'(++$$.,'%'1UwbW7& !"$$&#%%%%%### !"##+/79?HX„šŒ¸ÅÈËÏÙëîéëîîÆ?.,-*-+*&V½À² „sƒuihaE^v{ƒrZ[friTI;:>3//-+2E*!%':T›ËßëêÞͯxC76.+'#!*))%*(')++'(('*)-.12/..+/..0,/-.121-000.1/1//*,-,(%& "&%#!),/3451335351575226711244334784012001015611145536;;>AA?<555340//+,+(!++-+-,Dhb@/"!$%%'((%%&&'%$%%"!##"$*575BUx•œŠ¹ÉÍÒÔÞëíñíïßq//+-,.+)%{ÄÀ­™†…‰pifTK„‰‰sakvscbSGIK7/5:4BTA! !#'5j·ØééåÕ´…WA5.+!"(),--*),/,**++,-,22202210/-215031/331.1250430*)))(%'&!"""+01411/21221045251153213453453.10/101..0230.034269<=;@:;62132-,--*& #-))+07RE3(!%%&&)'&$&&%%&$$$!!"'"!&653BPuœ‘»ËÏÔÛæìðííé§5...0.,*'-šÅ½¤‘†‰‰ml`Ke†‰Œ{usqd^MIPG708:4Yb* " (IˆÂßêåÖÁ™bD6,# ""%)))*)'*++)')++-/10/111/--001201/00--212012/.*&&%&* #++-6141022101024317235417452323100000-/-/./4/,03536;;<:>;;51222,,+,)"!*('&#*5:% #'&$%))'&%'%#&($$#""$$! #138ARy”¤£¿ÎÐÒÝåéìëêÕS./0.-.+)'<«Å¸žˆ‰…‰xf[N~ƒŽ•ˆ‚ƒpcZJLYB87:57T:')+%%$!!!#MŸÔæíÞË©pG8*&#"$*'())(-)'),((,0020,00//01./40//0/.2.//1/020-*&%'')!'...545014472/066528555018430340010002/00/252/238623>@@:>8611332/-,**,'%%&'-'% !%''&&&(*'&('%$&(%%###!"!!&+.@DU{”§©ÅÎÓÙèìêéïê™3.+.,(*),'Y´Â³‡‹vhY`†…›—…‹ytmUR^\H<5AFJ0$+).)*+*'"% ,h¹ÜçßÒ¶ˆQ9+#%#('+-()+(%*-)(-0/01210./211/42/0../3..020.00/'&%(()!&(-1/324222743222217742244443241000/00/1/33243/0246327@?:=<520043/.-.)'!()%&,/%$!#'('&(,**,&('&%%%&%%$$!#"!!#+2?AO|ž®«ÀÌÒÝæëìîïàd.+*-)'*)-,{½Á®™ˆ“‹xoU{•Ÿ–…Ž›qrfS\iZH=3D`W/*+)/0.-.***'#!  !<€ËâæÖÀšlK4("#')*'%))+))*+-,.121./220/00010//3/.-022/.01.,&##&)%*0,/1522313560133.0664101744303/-/-00+.3231235-//3342;@==993/1-/21.,/+"!)%#5M2#"#%(&('&,+++*'''%$+(%$%#$#" !,;DBM€¡µ°ÀÍÔÞáÝèïì¹7)+++'&)+-7ŸÈ­”‰•“‰ye`™¢ž“˜™žŒup\Na]LKE3Kb:&(((./-*++.-)'%#$!'YÑÞ×ͯ…X2$!%(%')*+**+'++*-..0.*/1//.00/0021.-/.-2-*...-&#!"%-0/02131231.164/01/2581132552233/+.0-,..20/111.'222643=?>>85141/+,/0.,' ))#%UL$$&%$&))''*('*('&%%#O/#$%$ !"%$!+JLHX­·µ¿ÑÔÝâÚåïár)$)*))&**,I¸È½¨“š‘Š|\z—›«˜‘¤©œ’xiWYdQEMJD_J)((((,*++/++/+(*'*$# !R³ÍãÛ–_1%#&&((*'++'')./,+..,-.././../132..1--/-----*(&" ,104102/2322/23/00/1022.1450022/.-/0-)/..01.-*$,1454929>=:85530.,,++.,%!&'$#S4"&&&(''&()'*&+'&%&&.9O'%##!"!#"!-HXc{¢¸ÁºÅÏÒÚàåàæÇ7'()((&)))&kÃÆº¦’–˜—Žsa‘¤¨•—¦­•”vl`eeYSIKWV/'*)'),-,.*(*/,))**&'$$#(f¿ãÝʬy5& ###'&)*('(*-**../-,.00..30.201-,---/++./.*)&#! -0.104221401303214/22051344000/,.1..,+0,/0-.)'+0414589:?<9415100/++,,-+"##2#'$%*'%+(%&*)(()+)'&&(DW¥R&#$ "%$!&4KYeƒ§ºÃÂÇËÑÚÜÝÝØŒ()'*)(*-,'&‹ÊÇ¸š•›—˜…`yš©¥”¢±¦—ŠujieXZ^KR_:((($&--*-.*.)*-,+)))*'($#";„¶×ÝÅP* #&'),+&(++,+.,.0./10.-2./1/.1/,*+/-++...+'%#!/04148342430305633/5646354233/..///-+--,0//*%%.14555;;>;984243242.,-.--&"'#%*+.,),**(*+)*,,,*''-i«½N&$" !'&$(>Uo|—³ÀÇÃÃÍÖÙ×ÖÜÆQ++'*,,,.*&0¨Ê°™ž ™•|f™ £­Ÿžµ·©™qnvaSSTJZG)+**$&*,,*-/0+.0/)+---++(()$ !";‘ÈÛаY&!#())-)&'*..-000/022/.0/.2201-.///-/+-/0-*'&"3493577833554379775573768720331/2/231/14./,,.(+14656?>?=77:303652/,//00-$#%*,02//-/.-+,,*,--00*'aÙâ«*&%%! ('(,H[z‘ª¾ÅËÆÂÌÚÖÔÔÎ5-,+-.,.,&#B·Å¿ª ¢š‘v‡¤¦µ°¨³É¾®šˆzcWLIXR*)+./+*+.4...1020--/0.,-.,+)+*&" ([¯Ï×µm1$#)(+-.+).010/120311201025343342310010//0(($046633766514652267734348601/060-0/-/0-113-&!),0356<B>>872/110100)+21/,*,-*1,////,,+,*.*,)*./-'']àço&%$#!$$(3Plž·ÁÂÄÅ¾ËØÑÌ˼e*./,.-+-($#X¼Å½¬ž £¤‘w£¯´¶¬´½Ê¼ª—ŽŠ|l\ITZ0))**+'*&+4///.00-1.-/-/-*,-*'))%&"%9jŸÁ¼X<0#$%(-++)0/-.0/00//14/00.023//0/-.//,22/,(!213352226234676566736475411136332/211.0/4+$$)2336:=B?;96210311//-.10/+-,0.201/0,*--:,,-*./-/-*(qçßK)%%%##$)9_ƒ¢¸Åÿ½»ËÒÆ¿·D-.../0.,$$&sÁƹ¬ŸŸ¥ŸŠŽ³¹¹µ®ÀÈ÷¨•““teNQnG)+-.*+(*).330*0220/,//,-..,+)*+*'))*$&=w˜”˜–[#"$'+*,/.0..321002220/144.-03/.-.000/..*#511/15200/4754564534334333101532013/1-3-(#)0278;;>A?452520//.,-+/0/--.2./-131-++.‹,*+)./.,*&)‡èË4'&%%#"$1Gx²Á̺ľ¼ÆÈ¼¥šz4,/0-./-'#&-–Ŷ© ¢§š‡§À¾¿»ÁË̾²žš›ldTLjf,+(--++(&+.0/.+/10/.-0/,-.,+*)+-+'(*+,(#)8?Kua--'%'&,&-/,120/12//100021-/010/.-/00+,--(864013423256635986346243653226004331520,,(-256:;@>>>6832/-020.//.//../0.00162/,*,0-),//10/-*6²éµ,''&&$ '?Zšµ¸ÄÍÀ¹Ä¶¸Â¾›‚rS220.-10)#&'=©È¿µ¨­±¬˜–¼ÇÇÃÆÎÓɼ­—š™^VPl‚A+*(-(*.+++105400311./00//0-./,+,,./-0./(%$#<Iz`2(!(,+()+1220/21303302420/2264.-0/..-/22+996773278779:476648;64645442523.244601,'& +1557<?D?<<89650134///00/0/-/1012684/-.1/--10/01/2,DÏì‘(&&&'&#$/Nw¨¿¹¾Â¼°¼­­¸¤m^Q0040150(%&('R¾Ê¸®´¶°“ªÆÌÑÌÑÕÕËÀ°›™Ž~dRn—Y+,,-/,++,-),250023243/12/111/00-,./000,...*("'/#%$')*,*++-12205231730552115335.1//0.-./1.3423403334363331554754211/0//-.+.-/2/,'(,236=?<:9953510/./+./0...+,,--0-.00.-(-/,+-*,.,.0)GØâp'%$%&% !5Z’³½¸²´³¦¹¥¥}PD8',+-.-'##&&$f¾ÇÁ¸²¹º­›½ÌÔÑÎÕÖÖʶ²¢’l]_™4-+)(*)(#$)(%.1.-.314/-.00-**..+*+',-,,----+)*("#$+&''*%'$)+.//11.02002032/3/1/..+//,*+-/,:63334864236731699557:512/210/2//3//.+'!&)08659<=<987660/10-./41/.../+-.//,.//-'-/.----0.0/+càÕZ&&&%'%"#Ar¢ºº¯¦¦£š· “xO;3(*-,-.)%#&%'*ÀÆÂ»½À¾¨¯ÌÔ×ÖÖÞ×ÓÄ·²˜ƒx\h“¥G/0..+.))+***)/2/003470/2213.00.+*-*),.//.+.//-''&*&'*('('%/,..232/14500.150.210.,./.-,/0/-:83866:;649862759;66863413134563093.,'))  +068<<;>;<;9834221123251./20/0./1/.01./--...../.212+ŠåÈD',(%&&$(Y•¶·°œ”›”‚¦|kF.&$'0--//%"#&()4ŸÄËÅ»ÄÅ¿­Â×Ù×Úßà×Ðþ¦‡wfŒ²h01133,*-/0*+...012226762036423/2..,.,020121.10/-++.*++)),*(-+01341233635541143457/.//.--/105323345658662063474330/1.0--.4-..-,'! (026:=;<96664/32/-210/-*+0.,./.,.+,--,,*.+'.-..,0-/+˜ã»9&&'%%&#+q¬¹±›…ptmp“]O4&!"*+-0-' $&&(A±ÇÈÄÅÄżºÍØÙÙßàÝ×ÊľŸ•Žxµˆ+-0--,(+,),'*'&(--/013420-/./-,/.,,),,-+.*,0-+,,+,$)'&%$$#)!$,,.,1244412301.//02-.+*/*(*,*,-8623445:887:663675331222////03..0/(*"%.4279<;<99523/.0.000/./../.,.-,,..-01,,+.-,.-/.2/.00¦á¡0(&'&%$"3Œ¯²¦{_W\PmI8)!"%(*-.-*"%(%'U¹ÉËÅÊÈÆ¾Ç×ÝÜàâßÝÑÇÄ·¥“‘¹¡:+-1.-+*./--**'((..043462210000/-//0--,,-0/.0-+/-,.'(+'&'(($&'+/-.21435463100200101-,0,.,++--4556647779;97784542424402011111+..&!.0649:<;;=<4231.//101..21/-/00/2-/-,100--,/-..1/040/@ÃÝx*)'*&(&$=Ÿ¦œ„YDLGHaX6(# "%,//*OG#%&''(uÂËÏÏÓÌÈÈÔÚÝÝàßâÝÊÇÁ±¨Ÿ–¹ÂS+,,//0-,../.+*#$$/01346545612/21.0...0.,,0130,.2/-('*-()%(*%&$'.3122216622//21..230//..1-+10,327465436:717;;23210223.2/1//10,-"&.124;::9<9953100.0000/00///-,+//-0,-+---,-+,..30.1/.XÏÔ\'(&*('(#9¢”„dA5B>=N:%" !*0+&(T?#&&'(.ÇÐÓÖÛÐÈÑÓÙÙÞãâß×Êɾ­¤¢¶ºZ+*-.///.-.,-//.)$!+1/11843/31//./31--,--.+--/.,--0*''))()$$&*)&++/1653133121/42./24//././/-///5167455:6535698342210130021-//2., %*.257<;?>;:53300-.0,1...0/.-+)-1,-31../.-,,*+/-11.0.-mÖÇK+)()*()#,ŠfW73>63@+#',+('"!$&&')/£ÍÐÕÚ×ÌÌÑÕØ×ÛäêåÛÖȵ£¦¹Æl(,-,-0/.,-....1/*('(./31441121/00100-//-+,,/.,),.,')+**'&($&)+*++,-142/25433403..005/.02,,-/.-,855258777:868;:72350213133//331",-05;9;<B=:<8600.1.3300-.1.0-+)-/.+/0...//0*++,0.010*,ذ<*+).,)'#-vaTD/050--$(-.,'!$&&&))L´ÑÔÖÙÖÏÏÒÕÔÑÑãîèÝÖ¾¨Ÿ¶Åˆ0+--,/.1.-,*/--/1.'(.10215645110/1.,/1/,/)01///-,/,,++'-))%&(+-/1/,*030125246203200./2...**//-,-876347:788899;7884555331261341, "#+/54=<;??<:688211743310202/053,./0/0-01-/.0103//1///16¢Ò–3-,,.-)*$+UJI9*.2,1*$ #0:7/$%'*)(,*b¿Ó×ÖÓÔÒÒÑÑÎÉÔçíèÛÈ«Ÿ«½ˆ5../0.1201./-0.3-31,+1223366:621/33-/111/1/0241300-///.*-+*))+03243,.431547227633513334301/-01/+07885559:8659::638744474214230, (-367>;A?>875854551/123/./1003001.--/,//0.-.1211431/3/H¯Ëz-.--,-*)%(?B=.)-1-1%$!#.QW:)#'))**-(}ÂÓàÜÕÓÒÎÍËÇÉÜìëæÑ¸¦­»Š3-/10/,13010.0321+00200313367641132100..0/11.1410.5/.0.-)+)&-+156796.12/155530334543522122210+.--/79731463674866753123201.13//,)(/248;:??:7234-16/0/././--..-/..,-...0.*,./,./0231021-W²¿b))+,('$$$%960((+)*1$ ,TqK)"$%('()*)ÈÕÝÙÖÖÎËŽ¿ÍÞçäÙ¾¥­µˆ0+-.,/0,-3.-,+,///,-0/..///26414110--1.--,,/././/102+-/,)'**&'+238<>4/-./143320621442721041/,,+./,-851220437689975311101-3040/-,#*032899<<:5555/1351,/-././.*-0.)*-//+)-,-.,+/5322301/,m±£E&(+('(&$!(<-))-**44$#-OgZ-&&%((+((:«ËÕ×ÖÚÖËû·ÃÖèäÖ³±°r4--*,-..-/0-,-,+,-1,./,+01/-375461/0.0/-+*+,+++02/-.//.,,+'($%'*35BHJ@/-,/11234/546530352/02./,/-,..73.5312479653141/00/2.232/*&*/3317<<<=;6214240.2/../..-+*-,,*),.+-,+.,-.,///121.1/1{­Š3())&''&%!-3.0/6./A1&'?\R4$%%$)('('R»ÕÚØÙÝÓù³»Ïßëâʹµ³t0,-.+,//.*///-++--+./0-**/-23236791.0/0/0-*,.**-../..-/.,,*')$"%,9BNRYJ4-,0/0/44144463.242401/.-/./.,844575568:86403520233/222/&$)-17537:<<99547724303020.--,2--,-+/.-,-//.,+/0/021222218‚®~.)-,.++)%!-615373;B,*/KN9##&'%%&)+))sËÜÞÚáÙÌ´¯ÄÛçêÜÇ¿¬i,/./2-/./1//120,+-10-/00/./15626777242/2224+./--..2020420.-**-,(#/?Q\ehW;/,2102457645541443923532/10.-64948679;98920442123450/3-"%*,577699<>84336320201031/---/012.*.0/,,,1+-).012.4621/47‡­w,+----**$ +:64577E?,47LB*#%(,&'&*,+2–ØßÞÛßÎÀº­±ÏáåãÙϯX11.010*./1.103121,/.13.2.20/1042968745402321/,-2../421031411*)(*$&/DXjrubA2,/002744576463666;74731.0//-95848<:;<89734305135273,*"%..16:698:;952;=6130./.001...---0/++.0-0-+,.,-.1613402-/4ªh**--+*)($,645424F6*5DP/!''))%*'(*,L±àáßÝÙï§«¿ÝçèâÕ¯Q-2221/**/.,-/22//.+///022/2/110348443620/./0..,+..0/001..././0,*& '2D\oyzdB1/.-204204557438558565523//01754;;9:>8:7242042110340( &-00876:697764132034//-./.1.--.-//,/-.../-...*/1/221/203?’£P*-),*))($,0/52.5?..;L>""'*&)+'*(')*i¾Ûâäàʰ¢žµÏãêêÜ¥@-00-//.-/..--2/0...,+...530.,41./28323731-////--.*.1/10/..0--..+,$##1A[hxubA1-+/10231348744234345850011--5689899<89620/131/3../. $&*04768;9769750120//.0,+.-.,+-0/,.+.-.,/+,//.,/2/.02//11D•ŸG+*%*)''&# &.241.78/7LN. %&+(%()*(()-„ÆÝçæÖ»¤›¤ÁÞêéÙ”<115-*,/2,--)/-,-/000+--.013/./13./.5157540/./0---.-/.+./.,.,../))('"-?Wkvo[A3,)-4/110452415623224742/00..79:69><=:66465242/2-/+, $,'-269:7::9965535323.+100.//30,.30.-./0/.*-021/1311/440-0FžE,-*.+)(&")7962:G7<KNA% #+**')(()**,4˜ÐâêÝÁ§œž®ËåéËj44224/..00/+..10001205////10432/042005688572330//31+-30/./231.1.0+,)'!&,6IfrhP80,*+531054722656666576783011/78:8:;;;8640552112-*0(!' !).0558868:89735530221/21031/../0/1../-../,/.01/2443114310KŸB,).1/($'#.BG>AKQEPVP- #()-+&(),-+*.9°ÜëæË¯™ª¿××¶T-230120403..,1//.122.01..0.10342214121442989821112..-.+-001-012/.000)&#").=LbXD2**',/023627735756688964563000765=;8:9572042,010-+'%-31458:7;9879544440//01-/12/-//0/-1-./00/./0001433032210/QŸ>,+02.*&&"3OTQQ]WU`S@!#&,)+,+)(,/+**TÄåîܹ£§µ¿¹Ž?0440/222/.10-,.+01.-3410,+/.0//30/45120112779642112/--.,-1/.11/10/-/-/,%$).7EIE80*)*)0/12246755788977:87546530;<98<<;:574351330/,-!&,-4238996899667324500011/..013/1/200.03/00/011111361632123PšŠ>,+-/+-*%" 8\hdegTTVE'')(*+-+)./.,.+ÖèæÀ š¡®­‘R/346454014144210.+01-11111/01/2124//353621015685854154./3011/0741120.00..').48HGB7/**-)0154263697677:687857575636:<8<::831531/2321$"!).2/35863148544441-/.41.--/-,,2-0.21.,.21../.011/103021/01/N—ƒ=*(**'++$ "8drqsfUR>,#%$')*.+*./.),6©Ýå΢˜ œv4',2226400/323/0//++/..0+/12,-/.20100/001341/.126654//4310.02.0051..0/20*,-),0:D[eVB4+())./70037795574565624653441:<=9:82532123240./"#$(+-146634847932555//102/-..00-./.2./.20..300/122/1155./5.02/Q•ƒ;,-+)*+*' "7`t~n]QN, &$$*,,,/+,,.,*G¦Öѧ—–zM+(+/01332131111000./01/,00..0/01/3/42/3101146.012453333233//10/0112/03./0-.,%/6DTmxmP>3.)',-401788:8594788778757653??96955523//2431-)"'().137664894574312102010..311,,0//,+2.10/-1/0/133/1261.0320/1R˜‡:+,)))--%!3SuzfRC4"$#%(+*+.,++-++T—½®›žu>(**-//23312010.020-+/-,-,21-/0.-//334311004524101032543446300101//00.00-//./)&1>Qbx†€gVD<321,01165467661876577877655?=:87789321576331)%%3/0/599:8::9688984425531152213330-0221/2/01/02/9881144314321./Pœ‹?.*.,*.*$ )>Otw`E9$#$%'(+...+*.21+6b€¡š—”}A(,-,,13334404210252//2.012313200/40464546544685622344486676641343102122300331**8H_t•“{i\OF?7200033677:9:86799879:8649;767353102/131(!%'+*-1187885843555611./01.-2/1,/320,,51/+,./,+,0-53414361230/-/1Xž‘E-&'*+,&"#1R_klY=' !""''()*+,(+,+@|zƒ ›Œd/),)(*+/,.00..1/../1--,''//1,01//+/-/4.11134001331/1131-22531/-//-./-/++1//.0-/-'4Klˆ–¡™‰zne[K://41/0568577845388346520<8327511245/.12* *+),12588583625743104/,.13../2..,01--0+2.--/.-/105020/272132.-11^¡F,'',,*%$(BjtdRD/"%"#$%()+,)+*)9°˜ž “\1*++((',./.01...+/+-+-)(&+.-.+.111-/01/,10.10103030/100134.0201.-/0+.-2.,-.300,//*5Pu–¥«¡•Œ„zwZE3+*0//276473:47437344576:8525528934361*"'-3/-0428:9656657655432201.100/10000./13.0.0//10433316400462501244ZŠC*-,.,+''7ctnZB4* &(%&%')++-)++1ŒÇº¢Ž‚^.)-,,,,,/05/32101/2*,+0)%)-...213///10.202../12164520245214235322200/121.-/3/.012.-9U{˜«·ª£›˜˜oP:1+30/3768;89588854689956832433523126-$&,45/.14:858795236//43/210-.30/001/-/021.1/0.022000633122172214213W˜ŽH,/+,-**&MrkUB2( #)*')&%*+)()+*wÒή”P5(--,,)---./301/101./1.+)'$'',,.41,-12...00-2/-412226321640021141511.10/..01-./10,2/0:V𬷰¬®¬©œˆeF3,+03244888877864669965641464765512/'!"&342453566:77;:67247704750112/1136002021-0410122/2432432234136267441\›M0+,0/-)&@VL<0&# '+-+-,,-,,--+7¶äÒ—\+*,././-,,.216465300210//,))--046100022/.0270/56511731368433255342222255431320224123A^ˆ¡²½´±º¸±¤“x_@4--25976;;;65;8989;:::75234322230,"/35/45853788:787513242231000000104//.-/3022..0../12440,220/303541123\Ÿ”O-,-0+.+#%.2-($*.-,.-+*+-.-,`½Ä™E(*.+-+.0+/.)114334010.2-..,"&)/.2410,-4/0-/51/2412121//174113410-24.,.3111130/0212/2DjŒª¹Å»º¼¿°¦—„gH7--273369:8689556988998654437733-."'(/8775379367978969623463542001/11202/0/1.12720//./03/44113403412463.03V ˜S/..-..*$"(*'#&)*+--./,,0//.9qgM0),.0-..-/-./,204432120/121.*$&,-32052-,/161213332452423334545444663310265300223421404Ks“­ÁÇľ»»±¨›ŠmK70.353876;:8886887::898542457830' &3098722503545667585334545250031/11/0./.0010330-,('+0-140101252312241/1M‘•T0,/,*)$$%&' #&))').,0/--0-.8]M/'-,--...,.*,,0+1/43110..301,*$"&*230230--+105121425534214402333054530/1/11/11/1221/232J~œ±¼ÃÁº³±­©œ‘uR93-033663899379669;;9:521./4320+#/2865400/4330641430221.130300-0...+--0.+..-/--,*' $-00.-01000231120/-.AvˆQ/(,*&#"#  !#))%$'*++/,),,.-C=)*.+(+*-,)*,+*&',.--.3/,+/2-,,(!"&*2/-,(,.*-+10-,23.0/12.//5331-///110,/'/0--.---1./21-D{Ÿ±·¼¹µ¯¶«¢–Šz_@2*,043254754747349;84632464460&&,2269977752744887786454321552460123122100211.13111/!*3453432263454232142>k€V/(*/-'%$$%),)),-/,)../--01.002//2.0/,--,/,0/,.003323312003210( !,363210-/0154534323465344774563213843.333./1111/452346Eo™®µ»µ´¬¶¤ ˜mK50.1627=:9989:568=>985304963,#>% (-68599832112177752465110103502111031/-/--/2/..205/()452143421123412014/>oˆY3)'-.-**+,-+*..00-*/,///0011/1/1.-//-,+0,+.-,-,252113300-13.*$+-1410/,..-104/1122013443465200442223031/-1/,-.1/41148Fi•¬³º·²§¡œ™€rP82/030576778:98;5:>99322390+% &'-2493342002114134021.020-0-2/1-/0.+00,+*,*/,-*../,&.221005/.0132.-0320=q]2**,,,+),'**-,,,/,-+*/-+,,0-,,..*)+./1'(+.,*(,,/11../,,../-,&#+0/.,,-,,,++..*,//201.03342.2.04310//0/0//.--.0/0//02<c“¨±·´®§›˜•‰nL<3,,11/2266566473899713650**#-,465=955231444652444205:90503220040,.012-,-0//030-%+3551236322422--11/0<pŒ^2-/1-.,,/+,-.--/..0,02/10120-.1-.../120,/20--.1224322,,221/))$"+001/+//.0/.1/11/2654233334165/30112011500/.101121438?Z£³·´¯¤›–“‰ylI?80.040699789879899<=5414/'$#(5:9:7::822436623775444359=16443523/4/01/3./101-21/).2452363421600120-/1@p†W3.-//1.,--.*,///0..-.1111/44/.100/1///03.-1/0-.241.331.//41+)!(*122-//10/.1216533145144323232224140116233/2//1/.7639W…¢°¶µ²¢™“‚wpiSD<30.435788:;7798;9:@863,- '(-18989998663668943767736953333345215120022401/22123.$#05777215335631332021FzƒT100/010-,--..23110/114/.01240131112/01,/////.011454424111621+ #!)0/2/132/.23//54134660/466334342435322455201200413628S| ®°²¯¤™‘|vpcWGA9206447989989::>::;20**//,,-//--1332661444332412/1300011.//..--+./.,,/./-(%02231/124.113/..2/27SvI0-/000.)*)*,+../+,...1../.-/./3..0/,//,-,*+,-0/0.2351/1/../-"!&.0,+/./,.0+-0..001.,./20010-0-010/31500/2//..3,2027Nt™¬°²¯¦žŠ|uri_QF?950313687679958::971)$ %--+'%&'--/3545578361454204200001130010..0/-.10-//.-(-4441.334214021257?Eavf?10110/0-.+**,/0,+02/-/-.3000./0/3/00/.*.0-,.-1013663201-/0.,*#&),./.001/+../00/21300013033/12/342254;44210004/16139Lo‘§­²±­ŸŽwihc\NC<7623576:78;<878:=<9+#"#((%'#!$'+-135558994214342210010/022/121130..//0003/.*073502143057466=ABMP[^E10123000/--,-../-/2//.10/0/0200012,-200.//-..-/223852302043.-*%*,.155201.+,215404313203652255512243552121/.431545:Qm‰¥©®®©¡“~ge^NNE<95134458;=<9=99;:<:% ))"# !%%*,1289;87446321124221310110/112100/10/13021&"-2464245333;?<=?CONMEA;002121002/--/--..021.-.13//101.12010-310//..-/0/0437833.15252,%(,-26551110-3104144042364414635241455643531.252158BWt‚—§­¬«§š‰nW[JEA<79.21367::99=<8::<< $$ )+1677=753510/10211114.0232101012002/0020/(*/3264705426@FIED@IB70..,.20./,.1/,*+-.0//00./-/200000-11/.//100.0./00/1/2545130.4320(#%*+3023320010//2663/256322573124324576740562/3146:CTfu¨­¬¬¨ mNPL?<723.2346668<<<::<:99 %235899=88451/.22212/0//223122/0.23/300///1# $+4547453747=JXYK?971/--./.41-0033.../../-.0-//.5///0.0/20.01-1.0+.0200,03264353/.344,'#*1/52550/0/122440243522435424353156775464332045:DJ[k‰¡¬°°©¡sSFEA;534/1343658<<;<<><>;" %+347:6:::7112334///0--.1/.30../2021/0///..' +372459:86>GVNK<20+./--,-142,0121.,/0.,,*/-*./.1./1/-0//0-11---/-.-01.,0345732002112-$'/30155423/.2401.511203421320.312722224422421258=CQ^|–©«®©£˜‚bI?:9522110624569<9;:;;<=&,$ $''% &!$!%'0388:=;>>:64446540242/0121111/.2520343/034/(% *44699;?<<;@ITI8/0/,..1-.,11..2/0/300/./1-//011020010.0/42/131//100.04342167:55412236.%$.2364638222330123326435525143335787397558832565;AJ[nŒ¢¬¬¬©šŽkMB6983273034957;<==9=?==#%'%"(#***()(.+* -546:CG@><9822234323/12001023200124100003.0**!)-0446=?>>>=<?A>8/,00/-,,/+*+///30010-./,/111/0.1242.0//00120../1/.-..0/12007763561067/&+12536563.110/3521133532143321/45673545654133439@DSg‚œ©ª«¢ž”xS>77726443026869:<::@<;=!"'$*.$%&()),140+688=?GIGA;:862/05522042/-14222132402510130.++*(//3675:BHDA??@860/1/3410/-/.*..-11/222-.0-/1200211124.11/1133002110.,0/2/201026746465853( )22679763101212//3432642344614126545577753475206=BL`uŒ¡¨­¦ž—€_A46637535256778;<;<A<;A! !" &)(%%../58:AC@@@86931300/153110//022220./130231033,,*(&%+*.-03<B@@;6.((*,...031023751/.201110/,.--010..00322/02001421130/0/.100-0.0122634376440!"#$ */043434040./10.135411220335233345566766555671168?FVf~𧧤 šŒlN75424311466647<<=;<;;=5.0)+*,0+$$!*03;;9>D:HKMC<8464420242311122124321311153203/3742-+'(//-05<@B?;1+)*+/--./1437;57976+.1140//-1-,.10.//3/60/003311030100233//324//236643869<6.( 036054403201.02/13761542424352348897354786643435?AI\tž¢¥ª{]:7845363437338;::;<;:=3#%'%("0'#'!./5<9>?=JIMGD876411222/.2//13530204100343104108<>770.4469=@@B=70,-+/2.2635558911323*,122/.00---2/.0021.41/.02610/15//23310/3420/154424448991" &, )1523314100///0.+13323102/2211136363243253577356@BFVm…™£¨ª›–†nH<59937364354788;:?@;<! "")1176:?<<<;5824.331//11.102310132.32325623004584==36:<;::;:61.+02-.,12/33342,-0/)'.2/1/.//./.1/.1011/541/2/1/1/1600115.0/222/313633476799,#%!,345404421-/11,,0410124414211225541355224597344;CLR_w‘¦§©¢šW@66845566553789@=AB=: (44589885013./..+-+,,-+.+,-/.0.-+/2.01113,+## &2<579;443282/0-/,(+-)%'')%+*'**,((*-,-,**,,+(*00*,.01/-./0-/,/100./0-.././/..1.-000.3761,$")//060000.))-,*+.,,,-*/230..00//21.1.02130622/03?GNWk‚›¤¤¦Ÿ–‹lM;4344631220325:8=<;:"*166:;?:96210152.0120,0/00-/014110121502/01/(//7>397893678;753671264/+-/-*(.*+,)+-,.-.//--/,**12-113321262//.1210201/.04/11./134315348;6)!('33003312-4/1-,.31/12234//010/010323351344266631>FHV`wŸ§¨¤›|^D:4145454247358;=>?>$$ !!-2778=A>;966557524532435323523557403675662125015/0,255:<999:=:689677666512111///10022/301010/4122246555766465643264213551056214697675:;88,,'$4)!#176532462723//242245524424355375344475534866964:>EO_p‚𧥤”…mM977698876237:8<B@B? (13899?=:884256455220222512442141232444444/.!%"#(058;898599586674744420-/1.1*//1531210/..0001321564>7364354542671234213252354738878764+- ) (052225536/00/12/1224/334821402213321211274356657@FR`y ¥¥ŸšŽ|[E96266565543978?@AA'3699;6974312202.1.0/0.00/100..00.30//231/(/66765856757431333333.-0,.1-(.200.00--0---/021.0545201212/14/2>2110-30/-103232253454-& ) !(,121251363.-*.0/0//1/20--,/0-+-12.1-01-125121335@BFSm…™¥®§Ÿ“ŠkL=763224220/876;?@B*%#05;:9>:6401552140-1/31.///21.0/0//1331256/ *)3776;:888958554530335///10/./03/1.32/011//0554115260.15451360/55/13/3141131025332663*'    $#,0553754531.-./3/0.102/0100011./1040010244124577:@FQf{“ ª§£šŽ|]G;598534233378<>??#! +,37;?;>;66338733364514520116401155315546660 +59<8999;998:896758532633112021455244541104565765537314556423321646400554224674486543**($'& !  +385698657632/0420/203/4341/15/21570.334543675886>CPaq†–¤¨¦¡‘ƒpU?97886325857:<?B?"! #,368;?;9<864664236623464004132211469566452/%#079;:99;9:97:8::989744524530.145542427720235732443274254165332742333121/43/377747334+&(-,* # '"#(2655875866420-120/.20.1/23224366441/4414675568955:GXfxž£¢¢–Šx\J>969533568;8;@BB#-167875432310000120+011--/1/,-20/0-251110/'/0 058;;889465376367751310../*+*+/51210111//1-/31/001110121./111/41/..0.0//31.1134000.(" () .3623238221/.+-*+*).--/*+-///031/.+1/1,033235535/3:I\q…”Ÿ¨ž—mR?764322244635:=A!!+38:898765215/223422.02301/110122444424662+&28:?<:8899869:8779875110/1----06451234221/2.413233153132322421221332131112234541052)$ +**#! -3747668464///0.+,---..-.12101102113122553544474345?QfwŠ˜Ÿ˜“ˆx]G=:58313543689?=-%%1('%'&"(49:??:;76654325314411204310344410346466750$')$&""$39<>?=?8;<:;;<>:8;;78663/-/1..167443668753156434655474575575574316846473214556534371$(%'31-'% $)"(%4( "'&-05789::87723/1///--110/133133654133412662457595787;EUk€‘œ›—‹}gNB;96446579888:<#'"*479<;84125.1/031-110//,/2,.130.0103229551(!)-7::<:;::56:99956995213.,++++*.1121.3224/12/6200114224/3/.21451005532./031/1551010+$$#$ " '!!!/172566762)../,,-,,.,,./0.,0311//0.22044221325342236@Rj„’Ÿž•Œ€kTG?8346453556468Gauche-gl-0.6/examples/simple/����������������������������������������������������������������������0000755�0000764�0000764�00000000000�12362740166�015333� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/simple/minimum-viewer.scm����������������������������������������������������0000775�0000764�0000764�00000000463�12326650165�021020� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh :; exec gosh -I../../src -I../../lib $0 "$@" ;; A minimum demo to use gl.simple.viewer (use gl) (use gl.glut) (use gl.simple.viewer) (define (main args) (glut-init args) (simple-viewer-display (^[state] (glut-wire-sphere 2.0 10 8))) (simple-viewer-window 'demo) (simple-viewer-run) 0) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/simple/minimum-viewer-2d.scm�������������������������������������������������0000775�0000764�0000764�00000001223�12327002344�021305� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh :; exec gosh -I../../src -I../../lib $0 "$@" ;; A minimum demo to use gl.simple.viewer (use gl) (use gl.glut) (use gl.simple.viewer) (use math.const) (define (main args) (glut-init args) (simple-viewer-display (^[state] (gl-begin* GL_LINE_STRIP (dotimes [i 1000] (let1 x (* (- i 500) 0.01) (gl-vertex x (sin (* pi x)))))) (gl-begin* GL_LINE_LOOP (dotimes [i 100] (let1 t (* i 0.01) (gl-vertex (cos (* 2 pi t)) (sin (* 2 pi t)))))))) (simple-viewer-window-2d 'demo :zoom 200) (simple-viewer-run) 0) ;; Local variables: ;; mode: scheme ;; end: �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/����������������������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�015320� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/README����������������������������������������������������������������0000644�0000764�0000764�00000000744�11533026402�016205� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������This directory containts example scripts that are described in the book "OpenGL Shading Language" by Randi J. Rost, Addison Wesley, and available at the 3DLabs website http://developer.3dlabs.com/openGL2/downloads/index.htm The code is copyrighted by 3Dlabs and redistributable under the revised BSD-license. See 3Dlabs-License.txt in each example directories for the details. Each subdirectory contains a shell script run.sh to run the example without installing Gauche-gl. ����������������������������Gauche-gl-0.6/examples/slbook/ogl2brick/������������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�017176� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2brick/brick.frag��������������������������������������������������0000644�0000764�0000764�00000001466�11533026402�021140� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������// // Fragment shader for procedural bricks // // Authors: Dave Baldwin, Steve Koren, Randi Rost // based on a shader by Darwyn Peachey // // Copyright (c) 2002-2004 3Dlabs Inc. Ltd. // // See 3Dlabs-License.txt for license information // uniform vec3 BrickColor, MortarColor; uniform vec2 BrickSize; uniform vec2 BrickPct; varying vec2 MCposition; varying float LightIntensity; void main(void) { vec3 color; vec2 position, useBrick; position = MCposition / BrickSize; if (fract(position.y * 0.5) > 0.5) position.x += 0.5; position = fract(position); useBrick = step(position, BrickPct); color = mix(MortarColor, BrickColor, useBrick.x * useBrick.y); color *= LightIntensity; gl_FragColor = vec4 (color, 1.0); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2brick/brick.vert��������������������������������������������������0000644�0000764�0000764�00000002205�11533026402�021171� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������// // Vertex shader for procedural bricks // // Authors: Dave Baldwin, Steve Koren, Randi Rost // based on a shader by Darwyn Peachey // // Copyright (c) 2002-2004 3Dlabs Inc. Ltd. // // See 3Dlabs-License.txt for license information // uniform vec3 LightPosition; const float SpecularContribution = 0.3; const float DiffuseContribution = 1.0 - SpecularContribution; varying float LightIntensity; varying vec2 MCposition; void main(void) { vec3 ecPosition = vec3 (gl_ModelViewMatrix * gl_Vertex); vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal); vec3 lightVec = normalize(LightPosition - ecPosition); vec3 reflectVec = reflect(-lightVec, tnorm); vec3 viewVec = normalize(-ecPosition); float diffuse = max(dot(lightVec, tnorm), 0.0); float spec = 0.0; if (diffuse > 0.0) { spec = max(dot(reflectVec, viewVec), 0.0); spec = pow(spec, 16.0); } LightIntensity = DiffuseContribution * diffuse + SpecularContribution * spec; MCposition = gl_Vertex.xy; gl_Position = ftransform(); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2brick/README.txt��������������������������������������������������0000644�0000764�0000764�00000002702�11533026402�020675� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������LAST UPDATE TO THIS FILE 18-Mar-2004 LICENSING INFORMATION See 3Dlabs-License.txt for license information OVERVIEW This is a GLUT 3.7-based demo of the OpenGL Shading Language. It includes a vertex shader/fragment shader pair that procedurally generates a brick pattern. These shaders are the shaders that are described in Chapter 6 of the book, OpenGL Shading Language, published by Addison-Wesley. In addition, this demo includes the application source code that is included and described in Chapter 7 of this book. When launched, ogl2brick loads, compiles, and links the brick shaders, then installs them as part of current state. Keyboard commands for this demo are: b - Toggle among background clear colors q - Quit t - Toggle among models to render ? - Help <home> - reset zoom and rotation <space> or <click> - stop rotation <+>, <-> or <ctrl + drag> - zoom model <arrow keys> or <drag> - rotate model Be sure to cycle through the different models (box, teapot, sphere, torus) using the "t" key in order to see how this shader looks on different models. The application prints various diagnostic and InfoLog messages to the console window when building and applying GLSL shaders. This application can be compiled and linked using the VisualStudio.net solution file that is included (ogl2brick.sln). ��������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2brick/ogl2brick.scm�����������������������������������������������0000644�0000764�0000764�00000032702�11533026402�021564� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; ogl2brick - OpenGL shading language demo ;;; ;;; This is a pretty straightforward port of the C code provided ;;; by 3DLabs Inc under the BSD-license. The original copyright ;;; notice follows. ;;; #| /************************************************************************ * * * Copyright (C) 2002-2004 3Dlabs Inc. Ltd. * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions * * are met: * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * Redistributions in binary form must reproduce the above * * copyright notice, this list of conditions and the following * * disclaimer in the documentation and/or other materials provided * * with the distribution. * * * * Neither the name of the 3Dlabs nor the names of its * * contributors may be used to endorse or promote products derived * * from this software without specific prior written permission. * * * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * * POSSIBILITY OF SUCH DAMAGE. * * * /************************************************************************/ |# ;;; $Id: ogl2brick.scm,v 1.4 2005-06-10 11:27:16 shirok Exp $ (use srfi-1) (use gauche.uvector) (use gl) (use gl.glut) (use math.const) (use util.match) (use file.util) ;; Movement variables (define *fxdiff* 206) (define *fydiff* 16) (define *fzdiff* 10) (define *xlastincr* 0) (define *ylastincr* 0) (define *fxinertia* -0.5) (define *fyinertia* 0) (define *fxinertiaold* 0) (define *fyinertiaold* 0) (define *fscale* 1.0) (define *ftime* 0) (define *xlast* -1) (define *ylast* -1) (define *modifiers* 0) (define *rotate* #t) ;; rotation defines (define-constant INERTIA_THRESHOLD 1.0) (define-constant INERTIA_FACTOR 0.5) (define-constant SCALE_FACTOR 0.01) (define-constant SCALE_INCREMENT 0.5) (define-constant TIMER_FREQUENCY_MILLIS 20) (define *rotl* pi/180) (define *lasttime* 0) (define (print-opengl-error) (let loop ((err (gl-get-error)) (status 0)) (if (= err GL_NO_ERROR) status (begin (format "glError: ~s~%" (glu-error-string err)) (loop (gl-get-error) 1))))) (define next-clear-color (let1 color 0 (lambda () (case (modulo color 3) ((0) (gl-clear-color 0.0 0.0 0.0 1.0)) ((1) (gl-clear-color 0.2 0.2 0.3 1.0)) ((2) (gl-clear-color 0.7 0.7 0.7 1.0))) (inc! color)))) ;; Models to render ;; a circular list of thunks (define *models* (circular-list (lambda () (glut-solid-teapot 0.6)) (lambda () (glut-solid-torus 0.2 0.6 64 64)) (lambda () (glut-solid-sphere 0.6 64 64)) (lambda () (draw-cube)))) ;;; ;;; GLUT glue ;;; (define (display-proc) (gl-load-identity) (gl-translate 0.0 0.0 -5.0) (gl-rotate *fydiff* 1 0 0) (gl-rotate *fxdiff* 0 1 0) (gl-rotate *fzdiff* 0 0 1) (gl-scale *fscale* *fscale* *fscale*) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) ((car *models*)) (gl-flush) (glut-swap-buffers) ) (define (play-proc) (let1 thistime (glut-get GLUT_ELAPSED_TIME) (inc! *rotl* (* (- thistime *lasttime*) -0.001)) (set! *lasttime* thistime) (glut-post-redisplay))) (define (key-proc key x y) (cond ((eqv? key (char->integer #\b)) (next-clear-color)) ((eqv? key (char->integer #\q)) (exit)) ((eqv? key (char->integer #\t)) (pop! *models*)) ((eqv? key (char->integer #\space)) (set! *rotate* (not *rotate*)) (if (not *rotate*) (begin (set! *fxinertiaold* *fxinertia*) (set! *fyinertiaold* *fyinertia*)) (begin (set! *fxinertia* *fxinertiaold*) (set! *fyinertia* *fyinertiaold*) ;; To prevent confusion, force some rotation (when (and (zero? *fxinertia*) (zero? *fyinertia*)) (set! *fxinertia* -0.5))))) ((eqv? key (char->integer #\+)) (inc! *fscale* SCALE_INCREMENT)) ((eqv? key (char->integer #\-)) (dec! *fscale* SCALE_INCREMENT)) (else (print "Keyboard commands:\n") (print "b - Toggle among background clear colors") (print "q - Quit") (print "t - Toggle among models to render") (print "? - Help") (print "<home> - reset zoom and rotation") (print "<space> or <click> - stop rotation") (print "<+>, <-> or <ctrl + drag> - zoom model") (print "<arrow keys> or <drag> - rotate model")) )) (define (timer-proc value) (inc! *ftime* 0.01) (when *rotate* (inc! *fxdiff* *fxinertia*) (inc! *fydiff* *fyinertia*)) (glut-timer-func TIMER_FREQUENCY_MILLIS timer-proc 0)) (define (mouse-proc button state x y) (set! *modifiers* (glut-get-modifiers)) (when (= button GLUT_LEFT_BUTTON) (if (= state GLUT_UP) (begin (set! *xlast* -1) (set! *ylast* -1) (when (> *xlastincr* INERTIA_THRESHOLD) (set! *fxinertia* (* (- *xlastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) (when (> (- *xlastincr*) INERTIA_THRESHOLD) (set! *fxinertia* (* (+ *xlastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) (when (> *ylastincr* INERTIA_THRESHOLD) (set! *fyinertia* (* (- *ylastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) (when (> (- *ylastincr*) INERTIA_THRESHOLD) (set! *fyinertia* (* (+ *ylastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) ) (begin (set! *fxinertia* 0) (set! *fyinertia* 0))) (set! *xlastincr* 0) (set! *ylastincr* 0)) ) (define (motion-proc x y) (unless (and (= *xlast* -1) (= *ylast* -1)) (set! *xlastincr* (- x *xlast*)) (set! *ylastincr* (- y *ylast*)) (if (logand *modifiers* GLUT_ACTIVE_CTRL) (unless (= *xlast* -1) (inc! *fzdiff* *xlastincr*) (inc! *fscale* (* *ylastincr* SCALE_FACTOR))) (unless (= *xlast* -1) (inc! *fxdiff* *xlastincr*) (inc! *fydiff* *ylastincr*)))) (set! *xlast* x) (set! *ylast* y)) (define (reshape-proc w h) (let ((vp 0.8) (aspect (/ w h))) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum (- vp) vp (/ (- vp) aspect) (/ vp aspect) 3 10.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -5.0))) (define (special-proc key x y) (cond ((= key GLUT_KEY_HOME) (set! *fxdiff* 0) (set! *fydiff* 35) (set! *fzdiff* 0) (set! *xlastincr* 0) (set! *ylastincr* 0) (set! *fxinertia* -0.5) (set! *fyinertia* 0) (set! *fscale* 1.0)) ((= key GLUT_KEY_LEFT) (dec! *fxdiff*)) ((= key GLUT_KEY_RIGHT) (inc! *fxdiff*)) ((= key GLUT_KEY_UP) (dec! *fydiff*)) ((= key GLUT_KEY_DOWN) (inc! *fydiff*)) )) ;;; ;;; draw-cube (original source is draw.c) ;;; (define (draw-cube) (let* ((size 1.0) (scale 0.2) (delta 0.1) (-size (- size)) (A (f32vector size size (+ (* size scale) delta))) (B (f32vector size size (+ (* -size scale) delta))) (C (f32vector size -size (* -size scale))) (D (f32vector size -size (* size scale))) (E (f32vector -size size (+ (* size scale) delta))) (F (f32vector -size size (+ (* -size scale) delta))) (G (f32vector -size -size (* -size scale))) (H (f32vector -size -size (* size scale))) (I '#f32( 1.0 0.0 0.0)) (K '#f32(-1.0 0.0 0.0)) (L '#f32( 0.0 0.0 -1.0)) (M '#f32( 0.0 0.0 1.0)) (N '#f32( 0.0 1.0 0.0)) (O '#f32( 0.0 -1.0 0.0)) ) (gl-begin GL_QUADS) (for-each (match-lambda ((n v0 v1 v2 v3) (gl-normal n) (gl-tex-coord 1 1) (gl-vertex v0) (gl-tex-coord 0 1) (gl-vertex v1) (gl-tex-coord 0 0) (gl-vertex v2) (gl-tex-coord 1 0) (gl-vertex v3))) `((,I ,D ,C ,B ,A) (,K ,G ,H ,E ,F) (,L ,C ,G ,F ,B) (,M ,H ,D ,A ,E) (,N ,E ,A ,B ,F) (,O ,G ,C ,D ,H))) (gl-end) )) ;;; ;;; shader stuff (original source is shader.c) ;;; (define (get-uniloc program name) (let1 loc (gl-get-uniform-location-arb program name) (when (negative? loc) (error "No such uniform:" name)) (print-opengl-error) loc)) (define (print-info-log obj) (print-opengl-error) (format #t "InfoLog:\n~a\n\n" (gl-get-info-log-arb obj)) (print-opengl-error)) (define (install-brick-shaders vsh fsh) ;; Create a vertex shader object and a fragment shader object (let* ((brickvs (gl-create-shader-object-arb GL_VERTEX_SHADER_ARB)) (brickfs (gl-create-shader-object-arb GL_FRAGMENT_SHADER_ARB)) (vert-compiled 1) (frag-compiled 1) (linked #f)) ;; Load source code strings into shaders (gl-shader-source-arb brickvs (list vsh)) (gl-shader-source-arb brickfs (list fsh)) ;; Compile the brick vertex shader, and print out ;; the compiler log file. (gl-compile-shader-arb brickvs) (print-opengl-error) ;; Check for OpenGL errors (set! vert-compiled (gl-get-object-parameter-arb brickvs GL_OBJECT_COMPILE_STATUS_ARB)) (print-info-log brickvs) ;; Compile the brick fragment shader, and print out ;; the compiler log file. (gl-compile-shader-arb brickfs) (print-opengl-error) (set! frag-compiled (gl-get-object-parameter-arb brickfs GL_OBJECT_COMPILE_STATUS_ARB)) (print-info-log brickfs) (if (or (zero? vert-compiled) (zero? frag-compiled)) #f ;; failure ;; Create a program object and attach the two compiled shaders (let1 brickprog (gl-create-program-object-arb) (gl-attach-object-arb brickprog brickvs) (gl-attach-object-arb brickprog brickfs) ;; Link the program object and print out the info log (gl-link-program-arb brickprog) (print-opengl-error) (set! linked (gl-get-object-parameter-arb brickprog GL_OBJECT_LINK_STATUS_ARB)) (print-info-log brickprog) (if (zero? linked) #f ;; failure (begin ;; Install program object as part of current state (gl-use-program-object-arb brickprog) (gl-uniform3-arb (get-uniloc brickprog "BrickColor") 1.0 0.3 0.2) (gl-uniform3-arb (get-uniloc brickprog "MortarColor") 0.85 0.86 0.84) (gl-uniform2-arb (get-uniloc brickprog "BrickSize") 0.30 0.15) (gl-uniform2-arb (get-uniloc brickprog "BrickPct") 0.90 0.85) (gl-uniform3-arb (get-uniloc brickprog "LightPosition") 0.0 0.0 4.0) #t ;; success )) ))) ) ;;; ;;; main ;;; (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_RGB GLUT_DEPTH GLUT_DOUBLE)) (glut-init-window-size 500 500) (let* ((window (glut-create-window "3Dlabs Brick Shader"))) (unless (gl-extension-available? 'GL_ARB_shader_objects 'GL_ARB_fragment_shader 'GL_ARB_vertex_shader 'GL_ARB_shading_language_100) (error "OpenGL Shading Language extensions not available")) (glut-idle-func play-proc) (glut-display-func display-proc) (glut-keyboard-func key-proc) (glut-reshape-func reshape-proc) (glut-motion-func motion-proc) (glut-mouse-func mouse-proc) (glut-special-func special-proc) (glut-timer-func TIMER_FREQUENCY_MILLIS timer-proc 0) (gl-depth-func GL_LESS) (gl-enable GL_DEPTH_TEST) (next-clear-color) (key-proc (char->integer #\?) 0 0) ;; display help (let ((vs (file->string "brick.vert")) (fs (file->string "brick.frag"))) (and (install-brick-shaders vs fs) (glut-main-loop))) 0)) ��������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2brick/run.sh������������������������������������������������������0000755�0000764�0000764�00000000075�11533026402�020343� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh gosh -I../../../lib -I../../../src ./ogl2brick.scm �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2brick/3Dlabs-License.txt������������������������������������������0000644�0000764�0000764�00000005214�11533026402�022431� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/************************************************************************ * * * Copyright (C) 2002-2004 3Dlabs Inc. Ltd. * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions * * are met: * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * Redistributions in binary form must reproduce the above * * copyright notice, this list of conditions and the following * * disclaimer in the documentation and/or other materials provided * * with the distribution. * * * * Neither the name of LightWork Design Ltd. nor the names of its * * contributors may be used to endorse or promote products derived * * from this software without specific prior written permission. * * * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * * POSSIBILITY OF SUCH DAMAGE. * * * ************************************************************************/ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2particle/���������������������������������������������������������0000755�0000764�0000764�00000000000�11533026402�017707� 5����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2particle/ogl2particle.scm�����������������������������������������0000644�0000764�0000764�00000035341�11533026402�023010� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;;; ;;; ogl2brick - OpenGL shading language demo ;;; ;;; This is a pretty straightforward port of the C code provided ;;; by 3DLabs Inc under the BSD-license. The original copyright ;;; notice follows. ;;; #| /************************************************************************ * * * Copyright (C) 2002-2004 3Dlabs Inc. Ltd. * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions * * are met: * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * Redistributions in binary form must reproduce the above * * copyright notice, this list of conditions and the following * * disclaimer in the documentation and/or other materials provided * * with the distribution. * * * * Neither the name of the 3Dlabs nor the names of its * * contributors may be used to endorse or promote products derived * * from this software without specific prior written permission. * * * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * * POSSIBILITY OF SUCH DAMAGE. * * * /************************************************************************/ |# ;;; $Id: ogl2particle.scm,v 1.4 2005-06-10 11:27:17 shirok Exp $ (use srfi-1) (use srfi-27) (use gauche.uvector) (use gl) (use gl.glut) (use file.util) (use math.const) ;; flags for doing animation (define *particle-time* 0.0) (define *program-object* #f) ;; Movement variables (define *fxdiff* 206.0) (define *fydiff* 16.0) (define *fzdiff* 10.0) (define *xlastincr* 0) (define *ylastincr* 0) (define *fxinertia* -0.5) (define *fyinertia* 0) (define *fxinertiaold* 0) (define *fyinertiaold* 0) (define *fscale* 0.25) (define *ftime* 0) (define *xlast* -1) (define *ylast* -1) (define *modifiers* 0) (define *rotate* #t) ;; rotation defines (define-constant INERTIA_THRESHOLD 1.0) (define-constant INERTIA_FACTOR 0.5) (define-constant SCALE_FACTOR 0.01) (define-constant SCALE_INCREMENT 0.5) (define-constant TIMER_FREQUENCY_MILLIS 20) ;; extra uniform arrays (define-constant VELOCITY_ARRAY 4) (define-constant START_TIME_ARRAY 5) (define (print-opengl-error) (let loop ((err (gl-get-error)) (status 0)) (if (= err GL_NO_ERROR) status (begin (format "glError: ~s~%" (glu-error-string err)) (loop (gl-get-error) 1))))) (define next-clear-color (let1 color 0 (lambda () (case (modulo color 3) ((0) (gl-clear-color 0.0 0.0 0.0 1.0)) ((1) (gl-clear-color 0.2 0.2 0.3 1.0)) ((2) (gl-clear-color 0.7 0.7 0.7 1.0))) (inc! color)))) ;; ;; GLUT glue ;; (define (display-proc) (gl-load-identity) (gl-translate 0.0 0.0 -5.0) (gl-rotate *fydiff* 1 0 0) (gl-rotate *fxdiff* 0 1 0) (gl-rotate *fzdiff* 0 0 1) (gl-scale *fscale* *fscale* *fscale*) (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (draw-points) (gl-flush) (glut-swap-buffers) ) (define (update-anim) (let1 location (get-uniloc *program-object* "Time") (inc! *particle-time* 0.002) (when (> *particle-time* 15.0) (set! *particle-time* 0.0)) (gl-uniform1-arb location *particle-time*) (print-opengl-error))) (define (play-proc) (let1 thistime (glut-get GLUT_ELAPSED_TIME) (update-anim) (print-opengl-error) (glut-post-redisplay) (print-opengl-error))) (define (key-proc key x y) (set! *particle-time* 0) (cond ((eqv? key (char->integer #\b)) (next-clear-color)) ((eqv? key (char->integer #\q)) (exit)) ((eqv? key (char->integer #\space)) (set! *rotate* (not *rotate*)) (if (not *rotate*) (begin (set! *fxinertiaold* *fxinertia*) (set! *fyinertiaold* *fyinertia*)) (begin (set! *fxinertia* *fxinertiaold*) (set! *fyinertia* *fyinertiaold*) ;; To prevent confusion, force some rotation (when (and (zero? *fxinertia*) (zero? *fyinertia*)) (set! *fxinertia* -0.5))))) ((eqv? key (char->integer #\+)) (inc! *fscale* SCALE_INCREMENT)) ((eqv? key (char->integer #\-)) (dec! *fscale* SCALE_INCREMENT)) (else (print "Keyboard commands:\n") (print "b - Toggle among background clear colors") (print "q - Quit") (print "? - Help") (print "<home> - reset zoom and rotation") (print "<space> or <click> - stop rotation") (print "<+>, <-> or <ctrl + drag> - zoom model") (print "<arrow keys> or <drag> - rotate model")) )) (define (timer-proc value) (inc! *ftime* 0.01) (when *rotate* (inc! *fxdiff* *fxinertia*) (inc! *fydiff* *fyinertia*)) (glut-timer-func TIMER_FREQUENCY_MILLIS timer-proc 0)) (define (mouse-proc button state x y) (set! *modifiers* (glut-get-modifiers)) (when (= button GLUT_LEFT_BUTTON) (if (= state GLUT_UP) (begin (set! *xlast* -1) (set! *ylast* -1) (when (> *xlastincr* INERTIA_THRESHOLD) (set! *fxinertia* (* (- *xlastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) (when (> (- *xlastincr*) INERTIA_THRESHOLD) (set! *fxinertia* (* (+ *xlastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) (when (> *ylastincr* INERTIA_THRESHOLD) (set! *fyinertia* (* (- *ylastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) (when (> (- *ylastincr*) INERTIA_THRESHOLD) (set! *fyinertia* (* (+ *ylastincr* INERTIA_THRESHOLD) INERTIA_FACTOR))) ) (begin (set! *fxinertia* 0) (set! *fyinertia* 0))) (set! *xlastincr* 0) (set! *ylastincr* 0)) ) (define (motion-proc x y) (unless (and (= *xlast* -1) (= *ylast* -1)) (set! *xlastincr* (- x *xlast*)) (set! *ylastincr* (- y *ylast*)) (if (logand *modifiers* GLUT_ACTIVE_CTRL) (unless (= *xlast* -1) (inc! *fzdiff* *xlastincr*) (inc! *fscale* (* *ylastincr* SCALE_FACTOR))) (unless (= *xlast* -1) (inc! *fxdiff* *xlastincr*) (inc! *fydiff* *ylastincr*)))) (set! *xlast* x) (set! *ylast* y)) (define (reshape-proc w h) (let ((vp 0.8) (aspect (/ w h))) (gl-viewport 0 0 w h) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum (- vp) vp (/ (- vp) aspect) (/ vp aspect) 3 10.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -5.0))) (define (special-proc key x y) (cond ((= key GLUT_KEY_HOME) (set! *fxdiff* 0) (set! *fydiff* 35) (set! *fzdiff* 0) (set! *xlastincr* 0) (set! *ylastincr* 0) (set! *fxinertia* -0.5) (set! *fyinertia* 0) (set! *fscale* 1.0)) ((= key GLUT_KEY_LEFT) (dec! *fxdiff*)) ((= key GLUT_KEY_RIGHT) (inc! *fxdiff*)) ((= key GLUT_KEY_UP) (dec! *fydiff*)) ((= key GLUT_KEY_DOWN) (inc! *fydiff*)) )) ;;; ;;; create-points and draw-points (original source is draw.c) ;;; (define-values (create-points draw-points) (let ((array-width #f) (array-height #f) (verts #f) (colors #f) (velocities #f) (start-times #f)) (define (create-points w h) (set! verts (make-f32vector (* w h 3))) (set! colors (make-f32vector (* w h 3))) (set! velocities (make-f32vector (* w h 3))) (set! start-times (make-f32vector (* w h))) (do ((i (- (/ 0.5 w) 0.5) (+ i (/ w))) (n 0 (+ n 3)) (m 0 (+ m 1))) ((>= i 0.5)) (do ((j (- (/ 0.5 h) 0.5) (+ j (/ h))) (n n (+ n 3)) (m m (+ m 1))) ((>= j 0.5)) (set! (ref verts n) i) (set! (ref verts (+ n 1)) 0.0) (set! (ref verts (+ n 2)) j) (set! (ref colors n) (/ (+ (random-real) 1) 2)) (set! (ref colors (+ n 1)) (/ (+ (random-real) 1) 2)) (set! (ref colors (+ n 2)) (/ (+ (random-real) 1) 2)) (set! (ref velocities n) (+ (random-real) 3.0)) (set! (ref velocities (+ n 1)) (* (random-real) 10.0)) (set! (ref velocities (+ n 2)) (+ (random-real) 3.0)) (set! (ref start-times m) (* (random-real) 10.0)) ) ) (set! array-width w) (set! array-height h)) (define (draw-points) (gl-point-size 2.0) (gl-vertex-pointer 3 verts) (gl-color-pointer 3 colors) (gl-vertex-attrib-pointer-arb VELOCITY_ARRAY 3 velocities) (gl-vertex-attrib-pointer-arb START_TIME_ARRAY 1 start-times) (gl-enable-client-state GL_VERTEX_ARRAY) (gl-enable-client-state GL_COLOR_ARRAY) (gl-enable-vertex-attrib-array-arb VELOCITY_ARRAY) (gl-enable-vertex-attrib-array-arb START_TIME_ARRAY) (gl-draw-arrays GL_POINTS 0 (* array-width array-height)) (gl-disable-client-state GL_VERTEX_ARRAY) (gl-disable-client-state GL_COLOR_ARRAY) (gl-disable-vertex-attrib-array-arb VELOCITY_ARRAY) (gl-disable-vertex-attrib-array-arb START_TIME_ARRAY) ) (values create-points draw-points))) ;;; ;;; shader-stuff (original source in shader.c) ;;; (define (get-uniloc program name) (let1 loc (gl-get-uniform-location-arb program name) (when (negative? loc) (error "No such uniform:" name)) (print-opengl-error) loc)) (define (print-info-log obj) (print-opengl-error) (format #t "InfoLog:\n~a\n\n" (gl-get-info-log-arb obj)) (print-opengl-error)) (define (install-particle-shaders vsh fsh) ;; Create a vertex shader object and a fragment shader object (let* ((vs (gl-create-shader-object-arb GL_VERTEX_SHADER_ARB)) (fs (gl-create-shader-object-arb GL_FRAGMENT_SHADER_ARB)) (vert-compiled 1) (frag-compiled 1) (linked #f)) ;; Load source code strings into shaders (gl-shader-source-arb vs (list vsh)) (gl-shader-source-arb fs (list fsh)) ;; Compile the brick vertex shader, and print out ;; the compiler log file. (gl-compile-shader-arb vs) (print-opengl-error) ;; Check for OpenGL errors (set! vert-compiled (gl-get-object-parameter-arb vs GL_OBJECT_COMPILE_STATUS_ARB)) (print-info-log vs) ;; Compile the brick fragment shader, and print out ;; the compiler log file. (gl-compile-shader-arb fs) (print-opengl-error) (set! frag-compiled (gl-get-object-parameter-arb fs GL_OBJECT_COMPILE_STATUS_ARB)) (print-info-log fs) (if (or (zero? vert-compiled) (zero? frag-compiled)) #f ;; failure ;; Create a program object and attach the two compiled shaders (let1 progobj (gl-create-program-object-arb) (set! *program-object* progobj) (gl-attach-object-arb progobj vs) (gl-attach-object-arb progobj fs) ;; Bind generic attribute indices (gl-bind-attrib-location-arb progobj VELOCITY_ARRAY "Velocity") (gl-bind-attrib-location-arb progobj START_TIME_ARRAY "StartTime") ;; Link the program object and print out the info log (gl-link-program-arb progobj) (print-opengl-error) (set! linked (gl-get-object-parameter-arb progobj GL_OBJECT_LINK_STATUS_ARB)) (print-info-log progobj) (if (zero? linked) #f ;; failure (begin ;; Install program object as part of current state (gl-use-program-object-arb progobj) (gl-uniform4-arb (get-uniloc progobj "Background") 0.0 0.0 0.0 1.0) (print-opengl-error) (gl-uniform1-arb (get-uniloc progobj "Time") -5.0) (print-opengl-error) #t ;; success )) ))) ) ;;; ;;; main ;;; (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_RGB GLUT_DEPTH GLUT_DOUBLE)) (glut-init-window-size 500 500) (let* ((window (glut-create-window "3Dlabs OpenGL Shading Language Particle System Demo"))) (unless (gl-extension-available? 'GL_ARB_shader_objects 'GL_ARB_fragment_shader 'GL_ARB_vertex_shader 'GL_ARB_shading_language_100) (error "OpenGL Shading Language extensions not available")) (glut-idle-func play-proc) (glut-display-func display-proc) (glut-keyboard-func key-proc) (glut-reshape-func reshape-proc) (glut-motion-func motion-proc) (glut-mouse-func mouse-proc) (glut-special-func special-proc) (glut-timer-func TIMER_FREQUENCY_MILLIS timer-proc 0) (create-points 100 100) (gl-depth-func GL_LESS) (gl-enable GL_DEPTH_TEST) (next-clear-color) (key-proc (char->integer #\?) 0 0) ;; display help (let ((vs (file->string "particle.vert")) (fs (file->string "particle.frag"))) (and (install-particle-shaders vs fs) (glut-main-loop))) 0)) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2particle/particle.frag��������������������������������������������0000644�0000764�0000764�00000000441�11533026402�022352� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������// // Fragment shader for rendering a "confetti cannon" // via a partcle system // // Author: Randi Rost // // Copyright (c) 2003-2004: 3Dlabs, Inc. // // See 3Dlabs-License.txt for license information // varying vec4 Color; void main (void) { gl_FragColor = Color; }�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2particle/particle.vert��������������������������������������������0000644�0000764�0000764�00000001635�11533026402�022421� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������// // Vertex shader for rendering a "confetti cannon" // via a partcle system // // Author: Randi Rost // // Copyright (c) 2003-2004: 3Dlabs, Inc. // // See 3Dlabs-License.txt for license information // uniform float Time; // updated each frame by the application uniform vec4 Background; // constant color equal to background attribute vec3 Velocity; // initial velocity attribute float StartTime; // time at which particle is activated varying vec4 Color; void main(void) { vec4 vert; float t = Time - StartTime; if (t >= 0.0) { vert = gl_Vertex + vec4 (Velocity * t, 0.0); vert.y -= 4.9 * t * t; Color = gl_Color; } else { vert = gl_Vertex; // Initial position Color = Background; // "pre-birth" color } gl_Position = gl_ModelViewProjectionMatrix * vert; }���������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2particle/README.txt�����������������������������������������������0000644�0000764�0000764�00000002226�11533026402�021407� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������LAST UPDATE TO THIS FILE 18-Mar-2004 LICENSING INFORMATION See 3Dlabs-License.txt for license information OVERVIEW This is a GLUT 3.7-based demo of the OpenGL Shading Language. It includes a vertex shader/fragment shader pair that uses a particle system to render a "confetti cannon" effect. These shaders are the shaders that are described in Chapter 13 of the book, OpenGL Shading Language, published by Addison-Wesley. When launched, ogl2particle loads, compiles, and links the particle shaders, then installs them as part of current state. Keyboard commands for this demo are: b - Toggle among background clear colors q - Quit ? - Help <home> - reset zoom and rotation <space> or <click> - stop rotation <+>, <-> or <ctrl + drag> - zoom model <arrow keys> or <drag> - rotate model The application prints various diagnostic and InfoLog messages to the console window when building and applying GLSL shaders. This application can be compiled and linked using the VisualStudio.net solution file that is included (ogl2particle.sln). ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2particle/run.sh���������������������������������������������������0000755�0000764�0000764�00000000100�11533026402�021041� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh gosh -I../../../lib -I../../../src ./ogl2particle.scm ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/slbook/ogl2particle/3Dlabs-License.txt���������������������������������������0000644�0000764�0000764�00000005214�11533026402�023142� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/************************************************************************ * * * Copyright (C) 2002-2004 3Dlabs Inc. Ltd. * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions * * are met: * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * Redistributions in binary form must reproduce the above * * copyright notice, this list of conditions and the following * * disclaimer in the documentation and/or other materials provided * * with the distribution. * * * * Neither the name of LightWork Design Ltd. nor the names of its * * contributors may be used to endorse or promote products derived * * from this software without specific prior written permission. * * * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * * POSSIBILITY OF SUCH DAMAGE. * * * ************************************************************************/ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/examples/gears.scm��������������������������������������������������������������������0000644�0000764�0000764�00000021551�11533026402�015640� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/gosh ;; ;; 3-D gear wheels. This program is in the public domain. ;; ;; Brian Paul ;; ;; Conversion to GLUT by Mark J. Kilgard ;; Conversion to GtkGLExt by Naofumi Yasufuku ;; Port to Scheme/Gauche(GtkGLExt) by Shiro Kawai ;; Port to Scheme/Gauche(GLUT) by YOKOTA Hiroshi (use math.const) (use gl) (use gl.glut) ;(use slib) ;(require 'printf) ;; Draw a gear wheel. You'll probably want to call this function when ;; building a display list since we do a lot of trig here. ;; ;; Input: inner_radius - radius of hole at center ;; outer_radius - radius at center of teeth ;; width - width of gear ;; teeth - number of teeth ;; tooth_depth - depth of tooth (define (gear inner-radius outer-radius width teeth tooth-depth) (let ((r0 inner-radius) (r1 (- outer-radius (/ tooth-depth 2.0))) (r2 (+ outer-radius (/ tooth-depth 2.0))) (da (* 2.0 (/ pi teeth 4.0)))) (gl-shade-model GL_FLAT) (gl-normal 0.0 0.0 1.0) ;; draw front face (gl-begin GL_QUAD_STRIP) (dotimes (i (+ teeth 1)) (let1 _angle (* i 2.0 (/ pi teeth)) (gl-vertex (* r0 (cos _angle)) (* r0 (sin _angle)) (* width 0.5)) (gl-vertex (* r1 (cos _angle)) (* r1 (sin _angle)) (* width 0.5)) (when (< i teeth) (gl-vertex (* r0 (cos _angle)) (* r0 (sin _angle)) (* width 0.5)) (gl-vertex (* r1 (cos (+ _angle (* 3 da)))) (* r1 (sin (+ _angle (* 3 da)))) (* width 0.5))))) (gl-end) ;; draw front sides of teeth (gl-begin GL_QUADS) (dotimes (i teeth) (let1 _angle (* i 2.0 (/ pi teeth)) (gl-vertex (* r1 (cos _angle)) (* r1 (sin _angle)) (* width 0.5)) (gl-vertex (* r2 (cos (+ _angle da))) (* r2 (sin (+ _angle da))) (* width 0.5)) (gl-vertex (* r2 (cos (+ _angle (* 2 da)))) (* r2 (sin (+ _angle (* 2 da)))) (* width 0.5)) (gl-vertex (* r1 (cos (+ _angle (* 3 da)))) (* r1 (sin (+ _angle (* 3 da)))) (* width 0.5)))) (gl-end) (gl-normal 0.0 0.0 -1.0) ;; draw back face (gl-begin GL_QUAD_STRIP) (dotimes (i (+ teeth 1)) (let1 _angle (* i 2.0 (/ pi teeth)) (gl-vertex (* r1 (cos _angle)) (* r1 (sin _angle)) (* width -0.5)) (gl-vertex (* r0 (cos _angle)) (* r0 (sin _angle)) (* width -0.5)) (when (< i teeth) (gl-vertex (* r1 (cos (+ _angle (* 3 da)))) (* r1 (sin (+ _angle (* 3 da)))) (* width -0.5)) (gl-vertex (* r0 (cos _angle)) (* r0 (sin _angle)) (* width -0.5))))) (gl-end) ;; draw back sides of teeth (gl-begin GL_QUADS) (dotimes (i teeth) (let1 _angle (* i 2.0 (/ pi teeth)) (gl-vertex (* r1 (cos (+ _angle (* 3 da)))) (* r1 (sin (+ _angle (* 3 da)))) (* width -0.5)) (gl-vertex (* r2 (cos (+ _angle (* 2 da)))) (* r2 (sin (+ _angle (* 2 da)))) (* width -0.5)) (gl-vertex (* r2 (cos (+ _angle da))) (* r2 (sin (+ _angle da))) (* width -0.5)) (gl-vertex (* r1 (cos _angle)) (* r1 (sin _angle)) (* width -0.5)))) (gl-end) ;; draw outward faces of teeth (gl-begin GL_QUAD_STRIP) (dotimes (i teeth) (let ((_angle (* i 2.0 (/ pi teeth))) (u 0) (v 0) (len 0)) (gl-vertex (* r1 (cos _angle)) (* r1 (sin _angle)) (* width 0.5)) (gl-vertex (* r1 (cos _angle)) (* r1 (sin _angle)) (* width -0.5)) (set! u (- (* r2 (cos (+ _angle da))) (* r1 (cos _angle)))) (set! v (- (* r2 (sin (+ _angle da))) (* r1 (sin _angle)))) (set! len (sqrt (+ (* u u) (* v v)))) ;; canonicalize normal vector (set! u (/ u len)) (set! v (/ v len)) (gl-normal v (- u) 0.0) (gl-vertex (* r2 (cos (+ _angle da))) (* r2 (sin (+ _angle da))) (* width 0.5)) (gl-vertex (* r2 (cos (+ _angle da))) (* r2 (sin (+ _angle da))) (* width -0.5)) (gl-normal (cos _angle) (sin _angle) 0.0) (gl-vertex (* r2 (cos (+ _angle (* 2 da)))) (* r2 (sin (+ _angle (* 2 da)))) (* width 0.5)) (gl-vertex (* r2 (cos (+ _angle (* 2 da)))) (* r2 (sin (+ _angle (* 2 da)))) (* width -0.5)) (set! u (- (* r1 (cos (+ _angle (* 3 da)))) (* r2 (cos (+ _angle (* 2 da)))))) (set! v (- (* r1 (sin (+ _angle (* 3 da)))) (* r2 (sin (+ _angle (* 2 da)))))) (gl-normal v (- u) 0.0) (gl-vertex (* r1 (cos (+ _angle (* 3 da)))) (* r1 (sin (+ _angle (* 3 da)))) (* width 0.5)) (gl-vertex (* r1 (cos (+ _angle (* 3 da)))) (* r1 (sin (+ _angle (* 3 da)))) (* width -0.5)) (gl-normal (cos _angle) (sin _angle) 0.0))) (gl-vertex (* r1 (cos 0)) (* r1 (sin 0)) (* width 0.5)) (gl-vertex (* r1 (cos 0)) (* r1 (sin 0)) (* width -0.5)) (gl-end) (gl-shade-model GL_SMOOTH) ;; draw inside radius cylinder (gl-begin GL_QUAD_STRIP) (dotimes (i (+ teeth 1)) (let1 _angle (* i 2.0 (/ pi teeth)) (gl-normal (- (cos _angle)) (- (sin _angle)) 0.0) (gl-vertex (* r0 (cos _angle)) (* r0 (sin _angle)) (* width -0.5)) (gl-vertex (* r0 (cos _angle)) (* r0 (sin _angle)) (* width 0.5)))) (gl-end) )) (define *view-rotx* 20.0) (define *view-roty* 30.0) (define *view-rotz* 0.0) (define *gear1* 0) (define *gear2* 0) (define *gear3* 0) (define *angle* 0.0) (define *timer* #f) (define *frames* 0) (define *t0* 0) (define (draw) ;;*** OpenGL BEGIN *** (gl-clear (logior GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT)) (begin (gl-push-matrix) (gl-rotate *view-rotx* 1.0 0.0 0.0) (gl-rotate *view-roty* 0.0 1.0 0.0) (gl-rotate *view-rotz* 0.0 0.0 1.0) (begin (gl-push-matrix) (gl-translate -3.0 -2.0 0.0) (gl-rotate *angle* 0.0 0.0 1.0) (gl-call-list *gear1*) (gl-pop-matrix)) (begin (gl-push-matrix) (gl-translate 3.1 -2.0 0.0) (gl-rotate (- (* -2.0 *angle*) 9.0) 0.0 0.0 1.0) (gl-call-list *gear2*) (gl-pop-matrix)) (begin (gl-push-matrix) (gl-translate -3.1 4.2 0.0) (gl-rotate (- (* -2.0 *angle*) 25.0) 0.0 0.0 1.0) (gl-call-list *gear3*) (gl-pop-matrix)) (gl-pop-matrix)) (glut-swap-buffers) (inc! *frames*) (let1 t (glut-get GLUT_ELAPSED_TIME) (when (>= (- t *t0*) 5000) (let1 seconds (/ (- t *t0*) 1000.0) (print #`",*frames* in ,seconds seconds = ,(/ *frames* seconds) FPS") (set! *t0* t) (set! *frames* 0))))) ;; new window size or exposure (define (reshape width height) (let1 h (/ height width) ;;*** OpenGL BEGIN *** (gl-viewport 0 0 width height) (gl-matrix-mode GL_PROJECTION) (gl-load-identity) (gl-frustum -1.0 1.0 (- h) h 5.0 60.0) (gl-matrix-mode GL_MODELVIEW) (gl-load-identity) (gl-translate 0.0 0.0 -40.0) ;;*** OpenGL END *** )) (define (init) ;;*** OpenGL BEGIN *** (gl-light GL_LIGHT0 GL_POSITION '#f32(5.0 5.0 10.0 0.0)) (gl-enable GL_CULL_FACE) (gl-enable GL_LIGHTING) (gl-enable GL_LIGHT0) (gl-enable GL_DEPTH_TEST) ;; make the gears (set! *gear1* (gl-gen-lists 1)) (gl-new-list *gear1* GL_COMPILE) (gl-material GL_FRONT GL_AMBIENT_AND_DIFFUSE '#f32(0.8 0.1 0.0 1.0)) (gear 1.0 4.0 1.0 20 0.7) (gl-end-list) (set! *gear2* (gl-gen-lists 1)) (gl-new-list *gear2* GL_COMPILE) (gl-material GL_FRONT GL_AMBIENT_AND_DIFFUSE '#f32(0.0 0.8 0.2 1.0)) (gear 0.5 2.0 2.0 10 0.7) (gl-end-list) (set! *gear3* (gl-gen-lists 1)) (gl-new-list *gear3* GL_COMPILE) (gl-material GL_FRONT GL_AMBIENT_AND_DIFFUSE '#f32(0.2 0.2 1.0 1.0)) (gear 1.3 2.0 0.5 10 0.7) (gl-end-list) (gl-enable GL_NORMALIZE) (newline) (print #`"GL_RENDERER = ,(gl-get-string GL_RENDERER)") (print #`"GL_VERSION = ,(gl-get-string GL_VERSION)") (print #`"GL_VENDOR = ,(gl-get-string GL_VENDOR)") (print #`"GL_EXTENSIONS = ,(gl-get-string GL_EXTENSIONS)") (newline) ;;*** OpenGL END *** ) (define (idle) (inc! *angle* 0.5) (if (> *angle* 360) (set! *angle* (fmod *angle* 360))) (glut-post-redisplay)) ;; change view angle, exit upon ESC (define (key k x y) (let1 q (lambda () (glut-post-redisplay)) (cond ((= k (char->integer #\z)) (set! *view-rotz* (fmod (+ *view-rotz* 5.0) 360)) (q)) ((= k (char->integer #\Z)) (set! *view-rotz* (fmod (- *view-rotz* 5.0) 360)) (q)) ((= k (char->integer #\escape)) (exit))))) ;; change view angle (define (special k x y) (let1 q (lambda () (glut-post-redisplay)) (cond ((= k GLUT_KEY_UP) (set! *view-rotx* (fmod (+ *view-rotx* 5.0) 360)) (q)) ((= k GLUT_KEY_DOWN) (set! *view-rotx* (fmod (- *view-rotx* 5.0) 360)) (q)) ((= k GLUT_KEY_LEFT) (set! *view-roty* (fmod (+ *view-roty* 5.0) 360)) (q)) ((= k GLUT_KEY_RIGHT) (set! *view-roty* (fmod (- *view-roty* 5.0) 360)) (q))))) (define (visible vis) (if (= vis GLUT_VISIBLE) (glut-idle-func idle) (glut-idle-func #f))) (define (main args) (glut-init args) (glut-init-display-mode (logior GLUT_DOUBLE GLUT_DEPTH GLUT_RGB)) (glut-init-window-position 0 0) (glut-init-window-size 300 300) (glut-create-window "Gears") (init) (glut-display-func draw) (glut-reshape-func reshape) (glut-keyboard-func key) (glut-special-func special) (glut-visibility-func visible) (glut-main-loop) 0) ;; end �������������������������������������������������������������������������������������������������������������������������������������������������������Gauche-gl-0.6/ChangeLog�����������������������������������������������������������������������������0000664�0000764�0000764�00000045753�12371574413�014016� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������2014-08-09 Shiro Kawai <shiro@acm.org> * release 0.6 2014-08-01 Shiro Kawai <shiro@acm.org> * src/gen-ptrs.scm, src/glext-lib.stub, src/glut-lib.stub: Fixed build on OSX. 2014-05-24 Shiro Kawai <shiro@acm.org> * win32/glew-1.10.0, configure.in, src/Makefile.in, src/gauche-gl.h, src/gen-ptrs.scm, src/glu-lib.stub, src/glut-lib.stub: Incorporate GLEW (http://glew.sourceforge.net/) to use newer features of GL on MinGW. The GL header files that come with MinGW is very old, and it is too much hassle to ask developers to update gl.h manually. 2014-04-25 Shiro Kawai <shiro@acm.org> * lib/gl/simple/viewer.scm: Changed callback API to pass viewer state in f32vector. (A hack is in place to support legacy zero-argument display callback for the backward compatibility, but we'll drop it in future). 2014-04-22 Shiro Kawai <shiro@acm.org> * lib/gl/simple/viewer.scm: Start supporting 2D view. 2013-05-28 Shiro Kawai <shiro@acm.org> * lib/gl/simple/viewer.scm (quit-loop): Try not to terminate the primordial thread while other threads can be running. 2013-05-27 Shiro Kawai <shiro@acm.org> * src/glext-abi.scm: Updated up to GL4.1. * src/extract-abi.scm: Some fixes to parse the newer glext.h 2012-08-16 Shiro Kawai <shiro@acm.org> * src/glcase.scm: Added to factor out the common pattern to dispatch polymorphic Scheme call to monomorphic C API. 2012-08-09 Shiro Kawai <shiro@acm.org> * src/glext-lib.stub (gl-get-convolution-parameter): Added. 2011-08-05 Shiro Kawai <shiro@acm.org> * release 0.5.1 2011-07-31 Shiro Kawai <shiro@acm.org> * src/gen-ptrs.scm, src/gen-syms.scm: Adapted to the change of gauche.cgen in Gauche 0.9.2. 2011-02-28 Shiro Kawai <shiro@acm.org> * Repository moved to git. 2010-12-11 Shiro Kawai <shiro@acm.org> * release 0.5 2010-12-03 Shiro Kawai <shiro@acm.org> * */Makefile.in: Install to site-specific directories instead of Gauche system directories (the new policy since Gauche 0.9.x). * INSTALL.in: Updated. 2010-11-26 Shiro Kawai <shiro@acm.org> * src/gl-lib.stub (gl-index): This one was missing. Added. 2010-11-25 Shiro Kawai <shiro@acm.org> * */Makefile.in, configure.in: Quote $GAUCHE_CONFIG etc, so that they work even spaces are included in the path of these programs. * Makefile.in: Added install-examples target that installs some examples into ${prefix}/examples. This is not normally called, but on MinGW, it will be useful to include examples in the binary distribution. 2010-11-21 Shiro Kawai <shiro@acm.org> * win32/freeglut-2.6.0-3: Included precompiled binary of freeglut for MinGW, for the convenience. By ./configure --with-glut=mingw-static, you can build gl.glut with freeglut statically linked to libgauche-glut.dll. This will free you from carrying around freeglut.dll. * configure.in: Check for MinGW. 2010-11-20 Shiro Kawai <shiro@acm.org> * AUTOCONF, DIST: Removed AUTOCONF; it does harm on windows where command search is case insensitive. './DIST gen' runs autoconf. * examples/glbook/example10-1.scm, examples/glbook/example13-6.scm, examples/glbook/example13-7.scm: Added missing gl-flush; lacking of it may cause some systems to hang. 2009-03-04 Shiro Kawai <shiro@acm.org> * src/*.stub: Updated uses of obsoleted (return "...") to (call "..."). 2008-10-15 Shiro Kawai <shiro@acm.org> * src/math3d-lib.stub (quatf-set4!): Added. 2008-06-10 Shiro Kawai <shiro@acm.org> * src/gauche-math3d.c (Scm_AxesToQuatfv): clamp the cos(theta) value to avoid getting NaN from rounding error when we take acosf. 2008-06-09 Shiro Kawai <shiro@acm.org> * src/math3d-lib.stub (f32vector->matrix4f!): added. (matrix4f->rotation!, matrix4f->translation!): changed the argument order to be consistent of other linear update APIs. 2008-06-08 Shiro Kawai <shiro@acm.org> * lib/gl/simple/viewer.scm: changed to keep callback and local state for each window individually. APIs may take optional window name. Without explicit window name, those APIs touches the global default settings, which will affect the windows created after the call. * src/gauche-glut.c (Scm_GlutRegisterCallback), src/gauche-glut.h, src/glut-lib.stub (glut-display-func etc): Rewrote to support per-window callbacks properly---the old version kept one closure per callback, so it was impossible to register different callbacks for multiple windows, and also it worked incorrectly since the last registered closure were called for all windows. Now we manage closure vectors associated to each window. 2008-06-06 Shiro Kawai <shiro@acm.org> * lib/gl/simple/image.scm, lib/gl/simple-image.scm: Moved gl.simple-image to gl.simple.image. * lib/gl/simple/viewer.scm: added. * examples/simple/minimum-viewer.scm: added. 2008-06-05 Shiro Kawai <shiro@acm.org> * src/gauche-math3d.c, src/gauche/math3d.h (Scm_VectorsToQuatf, Scm_AxesToQuatf): renamed from Scm_{Two|Four}Vectors... * src/math3d-lib.stub (vectors->quatf, axes->quatf): renamed accordingly. * repository migrated to subversion. * src/math3d-lib.stub (quatf-conjugate!, 4vectors->quatf, 4vectors->quatf!): added. 2008-06-04 Shiro Kawai <shiro@acm.org> * src/glext-lib.stub (gl-active-texture, gl-client-active-texture): added sans '-arb' versions, which were added in GL1.3. * src/math3d-lib.stub (vector4f-norm, matrix4f->translation, matrix4f->translation!, 2vectors->quatf, 2vectors->quatf!, vector4f-mul, vector4f-mul!, vector4f-div): added. 2007-08-05 Shiro Kawai <shiro@acm.org> * src/gl-lib.stub (gl-tex-coord-pointer, gl-index-pointer): Wrong GL functions were called. 2007-08-04 Shiro Kawai <shiro@acm.org> * src/glext-lib.stub: Added support of the framebuffer object extension. * src/gl-lib.stub (gl-tex-image-2d): allow passing #f to the texture texels array so that it is possible to allocate texture memory but not initialize it. It is useful when you want to render to the texture. 2007-07-09 Shiro Kawai <shiro@acm.org> * release 0.4.4 * configure.in, src/gauche-gl.h, src/gauche-gl.c: Fixed a problem when using GL extensions under cygwin. (Patch from Takashi Ishizaki). 2007-01-17 Shiro Kawai <shiro@acm.org> * release 0.4.3 2007-01-15 Shiro Kawai <shiro@acm.org> * src/gauche-gl.c: fixed bugs in finalizers of GLU objects, reported by Jens Thiele. * src/glut-lib.stub, cg/cg-lib.stub: adapted the new Scm_ApplyRec API of Gauche. 2006-11-11 Shiro Kawai <shiro@acm.org> * release 0.4.2 2006-11-09 Shiro Kawai <shiro@acm.org> * INSTALL.in, doc/extract: moved from using escm to generate INSTALL and INSTALL.eucjp, to avoid complication about character encodings. Using 'extract' script instead. * src/gauche/math3d.h (SCM_VECTOR4F_NORMV): use sqrtf instead of sqrt for float operation. * examples/gl-plot.scm: added. contribution from Issac Trotts. 2006-11-08 Shiro Kawai <shiro@acm.org> * src/gen-ptrs.scm (main): typo fix (pointed by Erik Greenwald) * src/gauche-gl.c (Scm_GLGetProcAddress): try glXGetProcAddressARB first, before glXGetProcAddress, since ARB version is the 'proper' one. See the comment in the source for the details. 2006-03-04 Shiro Kawai <shiro@acm.org> * configure.in: drop 'powerpc' from the check of OSX, for we have x86 OSX now. 2005-11-05 Shiro Kawai <shiro@acm.org> * release 0.4.1 2005-08-30 Shiro Kawai <shiro@acm.org> * lib/Makefile.in: gl/simple-image.scm wasn't installed. * cg/Makefile.in: gl/cg.scm wasn't installed. 2005-08-01 Shiro Kawai <shiro@acm.org> * src/configure.in, Makefile.ins: adapted to the new extension building scheme (requires Gauche-0.8.6). 2005-07-02 Shiro Kawai <shiro@acm.org> * src/gauche-gl.c (Scm_GLGetProcAddress): typo fix (Pointed by Takashi Ishizaki). * src/glext-lib.stub (gl-shader-source-arb): fix code that had declaration after expressions, causing older cc fail. 2005-06-30 Shiro Kawai <shiro@acm.org> * release 0.4 * src/gauche-gl.h, src/gauche-gl.c, configure.in: Make Scm_GLGetProcAddress work on MacOSX by using glutGetProcAddress (Patch provided by Issac Trotts.) 2005-06-14 Shiro Kawai <shiro@acm.org> * cg/*, examples/cg/* : Added NVidia's Cg Toolkit binding written by Issac Trotts. * configure.in, Makefile.in, README, INSTALL.esc: changed accordingly. 2005-06-10 Shiro Kawai <shiro@acm.org> * src/gen-ptrs.scm : use different name for the function ptr variables from the GL function name, to avoid possible conflict with gl.h. Also improved the #ifdef guards around typedefs. * src/glext-lib.stub : changed some APIs for consistency (e.g. gl-uniform*). * examples/slbool/* : fixed accordingly. * doc/gauche-gl-ref.texi : documented most supported GL and GLU APIs. 2005-06-08 Shiro Kawai <shiro@acm.org> * lib/gl/simple-image.scm : added. * src/glext-lib.stub, src/gl-lib.stub: more API support. * examples/images/* : added. 2005-06-05 Shiro Kawai <shiro@acm.org> * src/glext-api.scm: API definition of GL extension. We no longer rely on glext.h and generate various files from this file, since we cannot count on the client's glext.h which may likely be out of date and cause so much headache. * src/gen-syms.scm, src/gen-ptrs.scm : from glext-api.scm, these scripts generates gl-syms.h, gl-ptrs.h and gl-syms.c, which define all GL extension enums and function pointers. * src/gl-syms.stub : removed, for the info is now generated from glext-api.scm. * src/gauche-gl.c (Scm_GLGetProcAddress): wrapper of glXGetProcAddress or wglGetProcAddress. * src/glext-lib.stub : all calls to GL extensions are now through function pointers, and ENSURE macro sets the pointer by Scm_GLGetProcAddress. * src/gauche-gl.h, src/gauche-gl.c, src/gl-lib.stub, lib/gl.scm: Added <gl-boolean-vector> type to represent GLboolean[]. Changed gl-get-boolean(!) to deal with <gl-boolean-vector> rather than <u8vector>. THIS IS AN INCOMPATIBLE CHANGE. Note that a single value return of gl-get-boolean also changed to return a boolean value rather than an integer. * doc/gauche-gl-ref.texi: adding more stuff. 2005-06-04 Shiro Kawai <shiro@acm.org> * lib/gl.scm : added gl-extension-supported?, gl-version<?, etc. * lib/gl/util.scm : removed. 2005-06-02 Shiro Kawai <shiro@acm.org> * src/glext-lib.stub : added more bindings on vertex attributes. 2005-06-01 Shiro Kawai <shiro@acm.org> * examples/slbook : added OpenGL shading language book examples. * src/gauche-gl.h : define GL_GLEXT_PROTOTYPES to include gl extension procedure declarations properly. (In futuer, we should use function-pointer-finding way instead of relying on compile-time availability of extensions). * src/gauche-gl.c (Scm_GLGetProcAddress): added #ifdefs to compile properly. * src/glext-lib.stub : more bindings (patch provided by Issac Trotts). 2005-05-30 Shiro Kawai <shiro@acm.org> * src/glu-lib.stub (glu-build-2D-mipmaps): added (provided by Issac Trotts) 2004-08-21 Shiro Kawai <shiro@acm.org> * lib/gl/util.scm : added * src/glext-lib.stub : added ARB extension bindings. * src/gl-lib.stub, src/gl-syms.stub : moved ARB extension stuff to glext-lib.stub * src/Makefile.in : added glext-lib.stub 2004-07-05 Shiro Kawai <shiro@acm.org> * doc/gauche-gl-ref.texi : adding docs 2004-05-16 Shiro Kawai <shiro@acm.org> * configure.in : 0.3.2_pre1 2004-04-23 Shiro Kawai <shiro@acm.org> * Makefile.in, */Makefile.in, configure.in : adapted to the new packaging/installation scheme. 2003-12-16 Shiro Kawai <shiro@acm.org> * release 0.3.1 2003-12-04 Shiro Kawai <shiro@acm.org> * src/gauche-gl.c (Scm_Init_libgauche_gl) : adapted to Gauche-0.7.3 change 2003-11-11 Shiro Kawai <shiro@acm.org> * src/gauche-math3d.c (Scm_Matrix4fDecomposev): fixed a bug that referenced wrong shear vector value during calculation. 2003-10-14 Kimura Fuyuki <fuyuki@nigredo.org> * configure.in : fixed a bug that has prevented the configure script from finding glext.h 2003-10-09 Shiro Kawai <shiro@acm.org> * */Makefile.in : cleaned up install rules by using mkinstalldirs. 2003-10-04 Shiro Kawai <shiro@acm.org> * release 0.3 * configure.in, lib/gl.scm, lib/gl/glut.scm, lib/gl/math3d.scm, src/* : adapted to Cygwin - works with Cygwin 1.5.5/opengl 1.1.0-6. 2003-07-14 Shiro Kawai <shiro@acm.org> * */Makefile.in : added $(DESTDIR) to install target directories 2003-03-07 Shiro Kawai <shiro@acm.org> * doc/extract (filter): escaped '{' and '}' in regexp. 2003-02-10 Shiro Kawai <shiro@acm.org> * release 0.2.2 * doc/extract : use the newest extract so that the monolingual docs can be genarated by gosh with any internal encodings. 2003-02-07 Shiro Kawai <shiro@acm.org> * src/gauche-math3d.c (Scm_TRSToMatrix4fv): The order of multiplication was wrong (was TSR, not TRS). So as in Scm_TQSToMatrix4fv. 2003-01-29 Shiro Kawai <shiro@acm.org> * various files: applied patch from Yokota Hiroshi * examples/gears.scm : added (ported by Yokota Hiroshi) 2003-01-19 Shiro Kawai <shiro@acm.org> * lib/gl/math3d.scm (call-with-iterator): fixed typos. 2003-01-07 Shiro Kawai <shiro@acm.org> * src/math3d-lib.stub (matrix4f->rotation!): returns axis and angle, as matrix->rotation does. 2003-01-05 Shiro Kawai <shiro@acm.org> * src/gauche-math3d.c, src/math3d-lib.stub : added more matrix ops: determinant, inverse, euler angle conversion, matrix decomposition. added matrix->quaternion/quaternion->matrix conv. 2002-12-15 Shiro Kawai <shiro@acm.org> * release 0.2.1 * configure.in : add -lX11 -lXext to link gauche-gl if we're on X11 systems. FreeBSD seems to need it, and it won't do harm as far as we're on X11. * src/gauche-gl.c : add brackets around GLU object classes for consistency. * src/Makefile.in : install math3d.h under gauche subdirectory. 2002-11-12 Shiro Kawai <shiro@acm.org> * INSTALL.esc : added note about compiling on FreeBSD (based on the report from Kimura Fuyuki). 2002-10-23 Shiro Kawai <shiro@acm.org> * doc/Makefile.in : obtain the install path of info files from gauche-config. 2002-10-22 Shiro Kawai <shiro@acm.org> * lib/gl/math3d.scm : added reader ctor for vector4f-array and point4f-array 2002-10-14 Shiro Kawai <shiro@acm.org> * release 0.2 2002-10-08 Shiro Kawai <shiro@acm.org> * doc/* : start writing texinfo document. 2002-09-30 Shiro Kawai <shiro@acm.org> * src/glu-lib.stub : added glu-project! and glu-un-project!, the linear update version of glu-project and glu-un-project (thus avoid allocation) 2002-09-29 Shiro Kawai <shiro@acm.org> * src/gl-lib.stub (gl-mult-matrix): added. * src/math3d-lib.stub : added some more fns. 2002-09-28 Shiro Kawai <shiro@acm.org> * src/gauche-math3d.c, src/gauche/math3d.h, src/math3d-lib.stub : renamed 3dvector -> vector4f etc. 2002-09-27 Shiro Kawai <shiro@acm.org> * src/gl-lib.stub, lib/gl.scm : let some gl calls accept math3d object * src/math3d-lib.stub : added. 2002-09-26 Shiro Kawai <shiro@acm.org> * src/gauche-math3d.c, src/gauche/math3d.h, lib/gl/math3d : adding gl.math3d module 2002-09-22 Shiro Kawai <shiro@acm.org> * release 0.1.6 * src/gl-lib.stub : added gl-select-buffer and gl-feedback-buffer. * examples/glbook/ : more examples are added. added code to terminate the demo by ESC key to all the examples. added 'run' script that runs through all the examples. 2002-09-12 Shiro Kawai <shiro@acm.org> * src/gl-lib.stub : allow gl-call-lists to take a string as either signed or unsigned byte-array. It's convenient to draw a charater string using display lists, even though it only works for ASCII chars. Also added more texture-related functions. 2002-09-02 Shiro Kawai <shiro@acm.org> * release 0.1.5 2002-09-01 Shiro Kawai <shiro@acm.org> * src/gl-syms.stub : applied a patch for MacOS X contributed by KIMURA Shigenobu. 2002-08-30 Shiro Kawai <shiro@acm.org> * configure.in, src/Makefile.in, src/gauche-gl.h, src/gauche-glut.c, src/glu-lib.stub, src/glut-lib.stub : applied a patch for MacOS X contributed by KIMURA Shigenobu. 2002-08-29 Shiro Kawai <shiro@acm.org> * src/gauche-gl.c : refactored pixel data format check as Scm_GLPixelDataCheck. * src/gl-lib.stub : added some GL1.2 and extension procs. * examples/glbook/example8-4.scm : renamed from example8-3.scm 2002-08-27 Shiro Kawai <shiro@acm.org> * examples/glbook/example8-3.scm : added 2002-08-25 Shiro Kawai <shiro@acm.org> * src/gl-syms.stub, src/gauche-gl.c : #ifdef-ed most of extension symbols, as well as OpenGL 1.1, 1,2 and a part of 1.3 features. * src/glut-lib.stub : fixed a long-missed bug in glut-init that assumed the passed argument list lacks argv[0]. 2002-08-17 Shiro Kawai <shiro@acm.org> * src/gl-lib.stub : added gl-call-lists * src/gauche-glut.c, src/glut-lib.stub : rewrote using define-enum * examples/glbook/example7-[125].scm : added 2002-08-16 Shiro Kawai <shiro@acm.org> * src/glstate.scm: added code to generate #ifdef swithc for OpenGL1.2 state variables. * examples/glbook/example6-[345].scm: added 2002-07-31 Shiro Kawai <shiro@acm.org> * release 0.1.4 * src/*.stub : updated accodring to the new syntax of genstub. 2002-07-23 Shiro Kawai <shiro@acm.org> * src/*.stub : updated accodring to the new syntax of genstub. 2002-07-21 Shiro Kawai <shiro@acm.org> * src/gauche-gl.h : use SCM_CLASS_DECL macro instead of direct declaration of "extern ScmClass". Preparation for cygwin port. 2002-07-18 Shiro Kawai <shiro@acm.org> * release 0.1.3 * src/gl-syms.stub, src/glu-lib.stub: #ifdef-ed out GL_ALL_CLIENT_ATTIB_BITS and GLU_INCOMPATIBLE_GL_VERSION for they are not supported on nVidia linux driver (thanks to Karl Trygve Kalleberg for pointing this out). * src/glstate.scm : commented out gl_polygon_offset_bias_ext for it nost on nVidia linux driver (thanks to Karl Trygve Kalleberg for pointing this out). * configure.in : added check of GL/glext.h (thanks to Karl Trygve Kalleberg for pointing this out). * src/gauche-gl.h : include GL/glext.h if available. * example/* : removed escapes of uppercase symbols; they're ugly, and it's been some time since Gauche became case-sensitive. * src/gl-syms.stub : splitted symbol definitions from gl-lib.stub. 2002-02-14 Shiro Kawai <shiro@acm.org> * release 0.1.2 * examples/glbook/*.scm : fix some files that require (use srfi-4). 2002-02-11 Shiro Kawai <shiro@acm.org> * various files : adapted to Gauche 0.5.1 new extension protocol. 2001-12-21 Shiro Kawai <shiro@acm.org> * release 0.1.1 * src/Makefile.in : adapted to Gauche-0.4.11 2001-11-21 Shiro Kawai <shiro@acm.org> * src/glu-lib.stub : added more Nurbs support fns. 2001-11-20 Shiro Kawai <shiro@acm.org> * src/gauche-gl.h, src/gauche-gl.c, src/glu-lib.stub : added GLU quadrics, nurbs and tesselators (partially). 2001-10-19 Shiro Kawai <shiro@acm.org> * examples/mandelbrot.scm : added texturing sample. 2001-10-15 Shiro Kawai <shiro@acm.org> * examples/glbook/ : added example6-2 2001-10-14 Shiro Kawai <shiro@acm.org> * release 0.1 ���������������������Gauche-gl-0.6/COPYING�������������������������������������������������������������������������������0000644�0000764�0000764�00000002222�12342246357�013256� 0����������������������������������������������������������������������������������������������������ustar �shiro���������������������������shiro������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ Copyright (c) 2001-2014 Shiro Kawai <shiro@acm.org> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������