gpu-lexer 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var x=[23968,.052426742,24e3,.00562379437,24384,.0558252142,24768,.0654091374,25152,.029780957,25536,.030970439,25920,.0207765122,26568,.043128879,26952,.0438055031,27336,.0473673228,27720,.0365106175,28104,.041048,28488,.0194216582,28872,.0471233822,29256,.0268734367,29640,.028757472,35400,.0822482494,35472,.0074656481,35856,.067295467,35865,.0079350673,36889,.0855105154,36905,.0387961134,37065,.0543272341,37129,.0258721344,38153,.0295154625,38185,.00369845884,39209,.066800602,39241,.11293668,41289,.044981922,41321,.0170244921],EA="ABCDBCFIACDDECCBABCCBAABEAABECFJCADCEEECBIHHBCBCFBHAEHFEABBCACDECACABAKFIEOIFAIFGGACBACFDDMDHCABFEACEEDCDAHBDAACEAFEBCAIDGBCEDCMCACCAAAABGBAAACAGDBBDDACEABCBBAIAFFABAACAABAGECACBCEBCABIICDAABCGBBAACCEFABDCGCCDBECCAAHEIBCAFAAIMDBAACEJEBFBGAADBCBKDELEMJIGDBDEQJAEDDEJGABDECBCDAEIHCHGSFGKBAHYOjSGGBGFEdRRCLCaHABUdAZHQAUHJHEAVMiCRQNUXjmAFEWVcaHRGcPdLaNfCKJCUEFDSDFPGKCBAmFPMeIAWkSGkHICRERCACCBDCAEDADAABBBCACDCADCCACEDBBBCBCDEECECABACCBEAABEDACCABAEABEABDCABCEBDEBDBDCEACBEAACAAEACEDCABBCADCBCAECCADBCCECCECBBAACBBEDCCDDBAEEBEBCBAAAEDAAEABBCEABDBAEBCBEBAACBEACCCCADDABBDBEDCAEAABABDBDCBDEEDBACDBAEACCBACCDCECACBBDBBEBCBBAACBCCCCEABADEECACBACCDBADAABCEDBBDCEDBDABBCBDAADAAEBBECIFBEECOCBBFEAGHDBCHCCHHFHHCCAGABAEBCECIHIEMGDEEDEAEDACABCDKDFCBDACCABABCBCADCDAABCAACEDEDBBBACCBEEBEEBACCEBAACDCBCADDCCCCEDABCAAHIABCDMOEEKICBCEEMBJCFJKRVEMLBGCBBBACACBBDAAEDBECAACBEEAABDAAAECCEDEBEEACCACBBBACAAAACEBAEBBBCDEBACECCBADAACABCABEEABCCABDCECCABCDEEECCCDEBCCCADDCBCBDAACBDBEEEEBAEACDCAACBBCDDADAEABDEAEEABECABDDECAAABACDEDEADADBBBDCADEAAACBDDBCBBBBADABBABCABBCAECCCDCAAEBCCACCBCEACABDCBDCCBDACBDBECABBADCCBBCAAAEAAAEBBAAEDDECBECBCEACAEBBCEDBBDCCCDBBCECDACADCCACBBADAAACEAECCDCABAECCBCAADCAECABECADBCCDCBEBDBDCACCEACCCEADCCDBEBEAEBCAEEDDCECCDAAEAACCEBCBCBEBBCCBBABCDIIKWEDARFcWQKFQOPNFJJPCHSFBRHGENEAABACCBCEBEECCDAEADBABABDBBDBABAACDAEDAADBDACCBCEBEBBCCDBDEDADAACEBBCECABBACBBCBAABBAEBEEDBACBACCACBCBDEDEEADCDEACBCBEDBCEBCDBCAAHAAEGACIFHCGDBADFEEHDEBDBCCABGBDDEOEAEGLHCAGHMADGGEFCAGFIFGJHKUIAMGIFGVKCEDEEHBIKEJBFHFACCACDEBLACFTDAHEDGBAILFJFEDLCDONEIfADACGBJAGBEFJFBIFCEEBCAAGCECJBMDGOHAHBIABJOAGECFDHCQBDJCCCMGCCDDKDFODBDFJLMABAFCCEHDAEHAAECDGOUAACcMQDIAGLMRQBIDBEDJCBBFDBFHDBAEAECaAOJERTHUHLMDAGYGIDISAVfDIJECISHNFBEAFGGNEGCJADARBFBAHQMACAUQDWPTBIDHECKKQTRGEDEGACOBBCCIAIDMCCUAAAPEQBGMHBRDPFBHPQJABHgBKMHBCEeHKLDPCGDAFTIHDEFEAFNIPBECDEGGHFGBABBMUAIGHBHDGCFACGIFBEDEKBJLCLgBADGDEIHKAAACKAHACJBEYKEMKJFDIADFADCKBBEACDBHECCACACFCECBIAAFAFMJIHEMEbSWCJLpLABJIYNRVITBNBTAbFNEAFCQQVCUMNJdDCELGIIZDIADCBHMTDNKCJGGCZEMQLPZIUGJCAAVNQIDIABCHHNABLKAONCOSBHlAUBCBEHlFGGAKLDIVLRSETBOITAOOFLjMBDBGQIfEMGEDEFSfAZSAbQeITAUYFJnHQINLIMNFAAGMNEMPLTGKPBAADDOIBNbHMKDPSBZdOKEHPIKhPZWJHKOMDBIqCHfFGQBAIGRDCMCKLESDPNFMJCAGPHEQNfXICFKDSOTLECFOPMGFEdGILIOUJBMgCThKBAAIUcXGMCGQTKMLFXFDAKCMKDKFEFGUEAGEADDFOCAKDHDQCDALFDBAOLCFDAJDDCGDFGEEBBFFAFCDGEAHGKCAFLAJKPCGFDBCBEGFBAAIABBANIBEQAFBDAQABDDBGAIFLCBCEkBGWAAAJCBLIHJIHCGGKHABBHFIAIAADOBIGCABBICEGJBKNAKFVAAECJBAAEJBBDEAOCBHBDALDJCJJMFDDBOEGGFHCDJHICABGMXCTEHGBCHLJMLCIHIJMFMICBHHGDGDCNFBIGCIBbVCHGDOSBEHGJCQKEEGJASEXUGDFIDDGDFHFMBKCJAAICECAKJDEBEIDQBIAIJFCBLBIGHKCDCGSHIEPENIIFOKVIKCAALHIHFAFEBGJTEKBBMDDMHCBDEBFEAILKPFLHHDBEEKAXOEPJDLMOFCAJAONMREODdRPDFLNABGBNMKBHCDOBQKFHAIXTDCMDLCBBDJLKAJBHAEGFVMFWENDFECtACbBeABILDBAGCUPZAGHFBEOQDBERIBJFEBOIFLECBIHCVSINYJBCDKLiKMANMiLQFBFJFJIVNKADBQCHkHAZIGNBBHDTSGPIQIMGCHDCERHQHMDJNDKIKGLGCBKHBMVDIJCCDIAFDNCEGOGTGDCLCAADHBAAKQRCNANEIFEKAJJMDCHLKBKCLHELBLFACNGGGCBWBREKHFBCFKPFQAGOCLKDBLAHEJJJMHBMRCKDDCJEAOBDMCGFDEAGFBDFGDZQIIKKYHWLLIQMJYCWQKMGFSWDZFSBUKbXXDBENAOHHBFKAGARDGCLaKKMAROHDEHMIEAOHKCNPHCEJCFDYKAFMOIGHACFEILMEGFCFGGFFCFCDMLDOAOHESEOHFIFEDHFAEAOHQCACDDCBaEHEICDEBACDDGFGELGDKCMAGLJREKAHFFAEGHDFOQNDXHRJOVDTNRMFTHDFBJGAHBHFBQFGTHFDEFFACBGILDGCMjQOFFQNEJDaJTNFQGJKLEbIAZLMAGFBCNBGbFILgQQLBFGVQCEGFQNAQbGIlBPZGIDpqGFWMXIQMIPDBeDSfElUJZAUFLQGWQNIDKPTUROIBTBaODRAVPFUIRJEpcTCBDFHFBGlDfCEABOCEAEJBCAAUAFBDEGGRZKVIEIMDMQMP1KECSYGFJEDBNYYMlHSCMMAHFJDaJDGiPEQEFCCSDKFKJMIEIYEHCDEHHBJBCKEEIBJHEKGAKBKBPBEDBFJOKHaGASDFEABCNETBEELDLLJAHDBXIUFJCCAEBCAHDEIBBBGFECAGABEEACIAEDEGNBGDBGJAACABDDGCLFAHCFGELRDCCDEACFEBBABAGCCFACEBCAEEHEIABDECDHKCACACIGDJAGGDICBDDFAIHDECCCBAHHADDCGBDBBHAEGDIBAFCCAECAAFECGBENECCBFEGGALBEQFCIFDCBCEAABCIDGDCJAACDGFHMDHGEIHGBEFKABAIKIAAJIICAGDFAEFBIAFCAGDJAEGDANMGKEINDDDDBIFEAACBABJDEKBAAACBCCBCBAAGGIECBMCNLIMCBCKMADDNALJDADEJFBALFAHMJOWTEREJIGIHKIKBGKDJDMHUGBMBAAAMNEBDCECCECADCGHBEEHCACGFAABADGABLFKFJADEABFGEGBGDIBGEBGICAKJFBAHHDSLFLFDCECEBGICDEBEHKAEGFGBOCEEAICDFCKDBHICDDFNFCDADIDAFICJBKEADEAFEBDABABGCKADAKFADEAGAEBDAGKBFGEGMYAAGLGJMSIiLWVHELKNEHWDOQIBAAFCCIIACFDCGHACFCBCCAGBFBADEBFDJDBEBCAEABDCBBBBDICFBAECBBBHEGADFEAAACDAECBBDDBBCBJHDEGKCBCCGEIBJBHGHLKFEEAFAGDIALFCGADMFGGBIABIJFFBAABCEGLDEIPBBCFGJCGHBBAGDEFCAAJFDGGEADACGBBAFCFABIAFAICGHEMLDQHDDZMQJKAIEaBUFAMMFKDADKKHEQCLAUDKAELHECIFCQPBCFHPFEAJINOEWAHJBBYTKSPEEOWEIOERACGCGGHAAAEfPDGEJILHHQWEFACELAVFQMBALiEODPFCBPBKBWJBLFDACEOAHKIFKFABBHIGMCEIKECGMEBDAJNDNHPDHDXADHNVOEKAADTIAMDJDEBpEAJCEGHDOCEDGFCCUHiDCIADFcPCIACBDDDEDBBCCCCBCBABBBCDAABDCAEDDCBABACAAEDDDEBCCABEABCBAACCCBBCCEBACEAEBCCCCDBECADECEAAACCBECCBDCBCBCCBEBBBBCBACBEAECDEEACBAAAABEDACEDECABECCCCBEBDAACADDCBACBCAEBCDACCBCACCAADACCCDCAADBABEBCEAEEACCECDADAAEAEEDDBAAACBEAAEAADAEEDAACACAAEABCBDADBDABBCDEBBCCDACABAADAECCDACDECDAACBDDDEBAACCBCBBAABEBBEABCEDDCBDDBACDBBBCBBBACKACBKGIBBAEDCCHBAAHGGCHARDDBFDCAABADABMBEAOEAAIBAAADABCDDDODDBACBAAACCAAABDEABEAEBBACCCDBBBCADCAABDCAADCDACCEBCBCCADCBCDCBCCCDCEBAABCDEEBAACACDECABDDCBACDAAADAABABCACACDEEDEECCCADCACCCCDCACBCDBEAEBCABACACACBCCBCCCDBADEBDACCEBDCDEBDDCEECCABEBBBAECECAAEAADDEBECECCCCCCBABBCCBDBCCBDECBDBCDDABCEADDAEBECAEDCCCBCBAABCCEEADCCEDCACACCCAAACEABAABBCCEECACBAACBEABCCAECCABACBDBBBAEAEBEABDBACBCBCBBCECDCCCBBCCBBCCAAADCCABBAAAACEEEECBBADADCBEACBACACCAEBABACABEBCABACDBBDEEBDCBBCEECDABAEBCABAAABBEBBBABCBACCBAADAABCCADECACCCCCBDDCBBCECEEAAECBCACADCCBBBEEACCCDAEADBCBACBCCCBCADBADABDCAEBECAIMGWGHAPLaQOKFOIRPDJLTBHSJHJLKALCADDDDABBABBBBAEDDBCABCBDDCECDBADEDADACDBCDAABCBBDBCDEBDAEBBDECBCCABCCABEABACEEEAEEBADEDCAAEEDCBADCBABBBCCEDACBEBCDACCCADDBBDCCDACBECCMAEIHFCIBAABFEIBDDAFEADBDCDHDKMGCKGHABAEAGEAIAIAGKKFKBIDDIWIAQIIJIROCCBBGFEIGGJCAFFABIGCAIDPAAHLFFHGJCHEEHBJBEBHCHOJGCfDDACQBJACBGBDLACDAIBCDDDKECCPDKBIQDAFAKAHJMAEGBHFBASJEFBGCOGCEHFIDFOFFFAFJIDBDFGBCFDADHECBBDIOUABDaMYHKGELIVOAEEAEBJIBEFFDFDBDFEBCAaEKHIPVLQFNMABCYGKAGQHXfFIFEDCSFLDFAAHGCPGICJBDBPBFDGFUQDDGUUFYPVDODFGCMKOVNGIEAIAAOBDCCMGMJICAUABCNCOFBQNERAHDDDPKDBAFiDIKLEDGcJKHBNCMABDTKHBEACBBHGLFIDEBAEFFBAAFDMOBIGHCFDGKFEAGGBCKCAODNLCLaCGACFEIAACCGEMDFFBNECcKEOKJCBCDCBEBCKDCOCDAABCGDBDBBFEBBAECBFDHMIGLAIGJFADDRLCEABFHQKEQEAAdEIBEGGIIFAJDAABBFBKBHFACIACDIECJIMKCCECMCFJFCAGEHEEADDCRGAIIOACBGGCBGCCIDEHISGOAHCJHECHBCGDLBOFRAAECBEEHRLBCAFIDGGHAHAFUGFBKCMMFFFQDBBOECFOEEECCHFNFHGHFCEABCMANDKEBHABCAJAAGBIEBJDARCFBMHHMCDWRALBDFJODFDFBECIGRRBBFBFHQEBGBCIPQUIBEDDHHHHABCFGLFJMVJDGADAEFGCVKBCMXFJDBCWFGFgGXBZAHKODeZGGGGHPWMKACBABODQKDIJBFKUEBEBCJDDIBBIADDOADANHEFGIFBBDCDCAEGACGACABJDCDEBMBADEIIAHHEHMLDBJCCEACKFEIAEAEAAPOHCQBHEFFUBAHFACBGFNFDAEkBAWBBAFIAHCFLMDEMMELCDHDCEAIBCBQCGGABADMCEGJCKHAOAZFAGCHFCFCJACDGBKABDABDPFJAJHIDBFEQEBGDHBBJNEAADCMXGPGGaJODGBAJODIIGOEAMEHUAIFFQnhIIINDYNIXHDFKqEQIQGGMMKZKfQBIHXVcGBIEAQCBEJMBcHOUBQIHHHQAQMIKGPDSEGLEEJHPJCIDFHBYDOELHQZFUfILQKUBBJJICMJDBFKJCCCKFOOACKHLBHMKDMLFECPCOHKBIHDTDWCESPDNEYPaGbCHBWDJHJFEBGOECLQBADKABWIJNKLLLBALKOIHQQNSORNMDJSEaMOKXNGLJMRSJRIGRHDIcMENKJJDcGGVNAQGDJTNbALAAELIWjDVJLAYOjciKJEVJTPUVKJYICLDibbEBHMHPOJMDNJPQHRIATEMDCPAOCGLMAHACHBALFXgJOKIGIMHKNCOIVQPKACPKHFBCKKFRCVQXOJKPJDQQAUFHTLKCIHIOAGFAUCACFGHKCIICJOHFAKGBUDINODFMLEDDWuKQURHEIHJcAHDCHDEKIDLTDJHOCEKAQDFaRPQAgETMYMDYMGOFEFOeGEFUYHaQTRHRTTUfLQBgBDdVGIBjMTISFhAcURDLAILTXYEBYNPAIQBUPYKFIKLLUNPQDKDIUoCJFfJBUEDIIWFAEISFWGPJSAFAJEKJODGBALWDLOKIAMFEJQOBgQFOBJXMNAOAQDFKGROSZCLOGIFAVCBIGRFIHXJDERHklIJPVGLBDFIIGJKYFJINSPcLFWHGFLPMEWBMKXAUGODGILDcIEFMQEJHWQMILGJYCLaWGFAATKQKFKEEAGBCMCBJDMHBJDCCbOROMIONKIOAXKADACDNGYHPGNDGPGNBOaFIAXYiPENGVCHDAiBAHCbEGdWBlDJAAJUIKKGYOPGBQTPQPMKHTFaMBVCdTAYETLKjcVAFDHHFAIlFfEEBEEDIACBECDBYBJFFCIGRfKVIEKKHIWKNvKCAYUIAFEJHJcYInLOGMMAJDDDgJBBiVMOEBDGSAODMJGGECSIPLDMAJQBACFANFCQADEBQRCEAfJEVKELMEBUEBSABEBABFATCCGPDPPFCFCEZGQMBHHEJBOFAEAELBKDDBGEAELGDNPIBEHFFIHDCECLPDAIDQBEEKBBBACGADMKAJCCCCCDLDCAAHJIFCACIMFHEFCDCBFICCFCADCBCFABAADBACBABAAAAEAIDFGBAABCACBFBACAHABGBAABACADDCDEADGCBCDCIADFGAAFFCGCMIBDFOJCCKCHCMOMGFMGLCEAIAAHBHBBDCEFECCCFGHGETCGDJFBAFGCBAEEBAFADCGMDBBEABDEACDGHAFKITHHOBEVSCHGGEAAAEIAEOAKBTEDCAJDDCGOBIFJKKTLHEQBPNMMLUACNXGyFDNDKHTCADBBEHJNCIHMIGEAEEDDKCDAAFECCFRAFBEIHGJDDAABDECFCCDMCHPABEADFABEFDAJDDFBCHBCFGBBBFBEDFBGDLCBDCBABAECBBEIBEEACBEBBEACDBLBDDDNBBECBDEBEFGBDEAEHFFCAGBGMFGCADDFFCBGCDCCDCAIAGCDEAAAHEBEAXACEABEXOAGAJJHGKKBWQGKKGEGNDKNCEDNJZCEBDCDCAGDCBAADABIAFBAADAICFIAEHBDDDDDBBABCDDCDABIBDABCCAGCJCACADFCBFEABEBHBFDDCAKCACAADFCEADGCAFOKHAEAAEMDTCFCKLFfGCOIGDMMDLJHPBMIFDICBADAEACEBENCIUIAUFGIXECJDDAFCDECDCHHGDDGGCMBFEBQQLFHAGIEIICFBMOEEABDFHDAEAIBHCFEFFCCTGADDBNDCDACGECFCHCBCGGACIDCIFAGHEBGBDHABTFWHGCNcNcNFOLKBHCFMGHQLDMWPBCLBBOSGHGAIHFXLKOAENiBODNADDVBIBSFBLFABEGUBFQEDCCCAAJMGEGIIKBDCKDAJCFJDRHNBLCRFJLVPOAIBDJRODMBFBIBrCEFDEMHHMAAFCCAEUBkADICBAcNBGBBDDAACCCCAECBBAECDAECEBDBAACAACQPLEEGFABSAGKKFEAKSBKGOIPGAJGMGBMGEFKJHORIJINFBCOABCEDJGCDFBCEHAGFDNFSPHHERCACFAEDBGBAICEQDILEFXACFAHDFJBDIDDOAAEDAHBBEDXIDQDEFHFEABAFFEOQBAGKCLGJAPACEGECAGMIAGKIDEGLJCGDBFGCMDLIDAFBECLRDDAHGIBHBBCOEENDFBIPOEGDEHDKBHHFFKMBETCDCFBBBFEMAALCMDDEKBEFCEGGIZLFAADACEAMBEFBHHBASEGLCIJMCFOHKCGAOFHQGGAHJGBJGENBAEQIUEGIAJPKBJEPCBMHCEAQBCCOFJDFAKMLLAFAECGICJEMFAGSVCBAEOLGJKMGLHIAATBBIFFGJIFKEBGGADEHMGJFGFGSBCRLSJAKEDGJHYACVNBCKREFBFAAHHLCCEcCBCFGNIECAHGLRNGGCPDDMCNBIBKDAEGHMBBQEHIFIGEDLBJIOFBGEGEBCBBMFAFHJFAAGANAKDLMFCGCHPIDICJCJTAAFDEBIFDGIJDCRKGGIICBALEBEHKUKCBONKEKUGECCIOGKFLDECKQDBFDAEACHIEEIBAAJIDGUFSDNJDIEFLKIPCLDGHKMALAIHQGHPOQHILBFEGBJGEDLHFMIAJJFGBDJFDEDFJCNHBEEACRHPAHJOGGHEHFNHMEDGGEHFDBDEBABHDFBEIEIOHNCCBHEHCJQPDDCRENSFLIAUEGLLDCHAKLAIIGGFEHMJUIBFCMBGCIJBHAMEHNAEEEBBAGBIFHHADHFJJMPDBAECIAEEMFBGFNHECQGAELEGCBBFMECCMHLDUCICJEGGJENGAAIELFYKCBBCBGQEFAHIMFDDBFDCGGHALALMADABBEFLEGDDFKNHDBFDDDCFIDCIFEXDHAGBKEAOCICAEMLAACJBBIDCBFECAEAXDBCCgCBMELIJHAGQCMJCHDEADIEIGGAFLJAEMDCCKEDGEEASFBHDGCAJLHAGIDGBUAMIEICHEHIAAABLHCAAIDGJGAJEEGLHEJSXGGDAEGGIFJEmKUCIKLADFCHACaDCQFKJKROGGAAGEBDFEMIIBHKFQAAIDGDBJCGGEGICBJJGHBFVBAVGOJFIMJHGDKGBDIBAKGAEJMDOADGNACIBUDAANCCCEFHBEHMGHEEUCCAFGJHUEACDEDFEEDACHTKABDCJJLCBDJKHBIEDBZEHGJBBBDABHCFBBGMEIABBBCCGKBIIKCJIBEBFECFEDFGDJCCDABBJBDGAIBJOGEACAGGNEEECCABAUOPJHLOFFFKAFQAKDGBDGRBQABBMRGICMCBMBNIBCABEIIBMBBBDFHGBMIIKKHBRGFFCNBPcFMEDAJDDEIECJHAIELJCECMKEBKGIACBBGGOCAJBHABHCBTACCKGLIDHECDAAKDIEGJAKSTDFCDFSHCCACDARMNJBODEJBBIFMAAAIMFGGCGELABFMKCBBIAPAFRPFDCDCEDWFHTHEHPGNCJBAGGAFFAKFICDBEQHBAOBMADLEAFFFSFFMAFIHDBREIDGAGJCPDDHBDGIADAKGNAEGBGHCBEMCCAKBHAFQAEECJMMMGJDDCJTMRADIFKIBSCGGAaGDDGJJAEIADBAMCFHKAAKFBIEAGDEVGFVBIBHLNFDBMBJACFBEDEEMHAIBEDELNHLIKCMENEAEGCBNAJCBBAFCJJBBDBGFFOHWMFIGdLUIOEELMREAHCBEDEEBIAHKAUFEEIFEPFCBGIALIFAHJECSEAHPSGAHJKBICEFGBFAGDCFBFVFCJKDCFEYHUTADFOHJKBCL9WDUBFKKFBDTCILYCAKIAGGTCEAGAFCCFEIAAFNOIBFEEEFHIAKGCCKCJNHPAECMVcHAJBBIFVGBHEBFHEJBDBDCJEFFKCEDAKDFHHEFAAKABKFAHFJFKIBPDDLBMGLGDGHIHDFBKDICFCAMCVCFHNAIPMAECBABGaIBFHFDAAGABOFHGFDLIDDRACDBGBDMHDJBEJEEGLFOEDNDLLFCBFOMAEBHJJBECQQEAJVEGDNEAUKDONFLHPCFCTHJEBICBODGHHKCBRGAOEIKKEFKHLEIHOBEeHGGAPEBCECJFECADAFBLCIDKIDIAGGGCABEBEICACABKDHJBIALHFSBABBLDRFBEAICTMQKECLABAGDCMAJBCBBBFKJSDFMGAFEQSHECBAANJLGBGEKCFEFQNOEPDBDIQDMLLAGADMALHCMGGKHFHBCHGABFADCHLFGFGHIEGEAFFCECEGQBLMFHHLGGJKENEIDLEAEBKUAHJLDAOMIAJCJCBCEAEAABDIKFGEBDFNNSEJIIFBLBACBIMDOHFDCGANMODHHNDDGBBGGADIFFXAEJAKABHFHAAFFBBCDCDBFIBFEFDFEIMBAILJFICBKGKFCRGFINFMPJNNIMACCEMBIFHAJBGMIGAWAKKSMJASREDLDEADOFGEEEABFBGCCQDMAHDIBNTCKABGQDCBCTHANCBEDFCBDBBAHCWCQAFJCEBLFDBHCEDQENDUICEGLAHFUAGAEDJCBBIJDKHFADLNGMDGEEFEACACGIFABRNFYNEGRBIFBCAUDICGCCKEGADKEFECBIJGDVAIAEILRDGCDCSHEBFDGBFEEDGALCDOILABJHMCSBJIADCEJLDBDCDFARCDBILHTBALQDAANFCGHKHFCAMJHBLMHHSFGMDMCHABKFGDKIGADBFYCAMFDFEGBCASKAGLDHBAHBGMDJIDLFPPAAHGACJBDbTLNBEKNAKBEABNHGEFAKAMAKLICFDAAEEOFJFKAGMDBCCQACXOBBDRHIBKJELIDPFEHAGGBLCEDAEJAGAEDFCEBKODAICQJFYABCDQHQRGFHMDFFGGLIIFDDCKAAJKDTMFJABSDGIMKGFJIDBDMACHEIKEPDHHNJHOFBBHBGKUHBEBECNHBEAMBASCACCISNNIPAHGCMTEPGEBBKLADNGNEAIBEQDLCXCEADDFIDJPLHODEBBIBIFMFALANDBQQAESOMEFKFTBFHABAJAHKAFKMBDFCGJFBCAIPMKHFNKGCCGEIBEJAHEOEGDKGNABMLVMJAEDUEFHBKCBFCBQBJNISCHAEALODJAOCHDFCIPBCFCGGJHAHICKFBUHDAIAKVFCDECLCBLBKDKGODAPDIBMDDCOHBDGBDMIKGGKACAGABAFCPCLAGCICJAFAIIKGFCCGHPCBEGFCFEMBBBqBECLDEIHIBCMGHAGCICJGCLDIAIIBBIDPADEFACADGHKIDFEBFNKGXEBDMALJWcUWEIJPKIBLKAYPFPOEAPCCKNUFNIBAFLNEGGEACQFCEMGBHPACFGJIKGHMGIFDCPAAEACTDEEEGJJGDFOEAHJMLFCEJBBCDRHDLGWLHBAECBOKDEFBEHHBBEIMEGAGAKKABAMBDMHPGCCGVKFJEHEHMRDBEIDMDICEDKBJDCDKIACFTGFFABKBHGGLDCFLTENRFCHEKHBAEHGBJEIBFLDRADAAEEGDFBQFCCCFKAAGEDDGDHAABHQMANDJBKHKEIAEDCGGUCCKCAKENAIDKCBJGAHOEKCFIDFJAFEDGCKBDFMCBSBADCBFJADADEBEHIQAIDNGEOBBBCBMCMAAGFEKBFBACGFJGEIFBFBGAKAJKBCITTAGHPQFFCCBGKFKDBACBOIEQINBFOCKDTCCDIFKGABBJMLFBQAGFGIRGAGDQFFJHEMDEEEASGAFCEVPLCCQFTKJHBDQTDFBMSKMJRJEHDNIHGADEGGAMAEBEDFBCGJIEANLAFEEICJCGGEIAEEBMDKQFJEIQGDBDCEMRNCWILFBEKIDHPcDJDJGCBBNMCDBINDADHTFBIOIGAGTdCOJGNTMLNGLIAPJVBCNTGABHDHDDKJGAMGEHNIFBKEIQFMCFFCMEGGJDEILDAGCEJAEGCFHIDHDAAABJAIEICLCRGIFBIALHIAHFBAJBICEKFHNDINJBJCONBHBIOBDKCKFEFHCANBLOGECMIMEBAHGGJGMDBEGRAeDNAAAADFMFAMJCHOBKACBTGFGAFBHEBBGCPCLGIEBDBGIBICFCCUJLGGIBGASDEKOFGDGQBGEIILCCHGKGDMGAHMPFSTOFEJLDCMBDCECFCDBBBEELCEHFTHQLCHCNCACFGAHCIBDMEOQBGJGDNCGDADADFDFIBFKBAACBDBCEBRMAQDDDHHEAEEFFAQWBAGKDJBNEJAAIKGAIKOIDIGGDAELJGEBBBGDKHHGADBDIAJPHDBJBIAHCBAMAAHAHACDEECBEDDIEFDAHMKAETAHEBBDCKCMCAJDOFBDIECFDIGCGVHBBAFACCIIDACHBDJBMCMNDMJOCBMFGECEGDCOCAADJGBHEGJABGSIUGEADFNIDJELIBOBBICUDAASJHDFBEIJDBAAKKIKEFCKNEEUREBFEMJKHQKENHIAGNDFMDDENCLMIBEMDFBLOCNBEDCMEIRNULAKEJIFFQCCTJACMNHFBJCEJJHICAUCIBHERGEDOHKLLRAKEHBCKEFHKBECCECJGBEOGHOFDEBDFCFKIFAGACFBDBAIHBJFLDACAFLCEAJKJCEBDVCBEEFKHVIGHAGAGFDCGNJCJGIGCIEABLICIAIWICAQLGGKUGAAAIQKEHTFGAKMHDDHBIBEFKOAIDDALGACSBMHHFFIAFLQGJAHFGFGICHHKNMIBPIMNIJFHBGFFECFNFAKGFJJFEFFNADAEHJIHLDKFACNFRGFDKAGDCDDJDGGFCIGLHFAFKCDHJABBGKEMSDFCABHKHBHSJFBARBLMDNGBSCEJJHGHAQJCIGGCDKLENWEBABGBMIIRFCBQEFTCGCGDICCCGJDHBHFJFFIPAACJCKDGEMFBOBJJIEWIBCHEDECANIECBQHTCWEKCBAGEFGNCEHCAJDWEGDHABEUIFGDIIDHBDHDAECDENANKBFCCEEBNEIBBAGNHCFBAJBFAEDCKDCTDLBIBKGDKAGACBELCAEHDHMFADLGEAGAZFBDIcAGMGJCFNEDKEOHCJBICHKCKIEAJHBCAKDGAEEHEGDGSDFADKEFLFJBDCDGEQLCMDIEFAFKBKBJPHDAFEACJGHRAIMJJAHcdIIBABEGKFJAkMeGMEJAAHGDABcBEQFGFIPOAACEKKBHBEKEIBBIDKBDSBKHAHAGGIIAEAJPIJCPTCDPAQLDDGBDGDICABEABMAHCBKDMGABJEECHUDAANBHKMDFJKFOCRCKQDBBDBLFYIDIAEHDCCBCGDTAFBFELLPABDDIHBMDBDRADKJDADBDEBDNBHBIDGCFAACBKICGKGEJKBICLGAFGBBGDJDGLHFEHBDKGMBLMMGEKCICLEGEDCBBEQMLDJHMBDBMDFMAIFGFAMPCIBCBITCEAKEAOBLIFAEDIIMBMABLHDNIDOKKMSJBRMDHCRBPYDQGJILAFBICALDCMELJECCIKCFIGADCCFGIMBCFCFCADEANEECKGLMFDBGDABIDIEGHBGYXHFCBDKJADCGHBPELHDMCBHBBIBMBEDMKDGEBEGLCBIKIECDKGPDFNNDJEBAAHODCXHCAHKLGFCCEGCFHDKDEEFBCQFAFMBIBDJKECFHSFBGABIJDBNAIJGBCLCTFFFBBICDJDKCPCEEAEHABIMCEAEBJBFQDBBBEOMQMHDAEHFONCBEDQGESBGKCQEDDEJDJCBCAAHIGFJIBDIJEICCEBEREHXFEFLLFJDCKDRBGLDCAEEKJAIDACCLLJJEGAGELCDGIBCRIJCDDBJDJJEDFAAADODWIHKDXJOGKBCJONEAJACGCAIDEEFOAUDEKEJGVJCAAKEJGBDFJMAQGCHPUADFLIDOGCFGCDAIDAFEHPPBHEAADCWJUJHABMRHOGKH5SHWABEGDBEPKEHOKGIGBCGLBEEOABEEAFGBCNROICFCGMHFQBSGBDEILLHHGCEIXYJBLBAEHTIFHEEFFMHCJBCAFBJHQIGHJIJAAJIFAGKBHOFAHJPLIKFNACLFQELIDCPBBFLGMCGCFCCGCRHFFDDKJGBGBBCBBOECBBDFAACAAQFHIHDDMDBRDCHDKBHGBBNBAJABELFKADHFNLFBELOIBAAPRJFCKUMCBLPBMGJEBMMLMLJLHNDHCRHDEBMGDKJAHJMAAPICQIGMKADKHFAIHOFAiHAGINCFMCBFFCCADEJDNCGAMADCEGCCKCDEFGKBEFCBKFJDCIDNFAQDACALBPHACBEBLKOGADDCBDGFDKCFBCBACBMJODDMAEAEGUBGBBDALBHCBIGAAECFQJKGPHDDEIJIFDAEBHOEJHBOGGMBFHBDHIDBDBBBLLACJBJEACEFLDCIGEKOFFMJBFJGEPKONGEJJIEEDGKCFFHBCSKFEHBJCDCAABAABDGQNIIEAAJLQCJKKACNFBABGKBOHHFAKEDMABHHPCDEBJCMFHCDDLEDDEMBACBAEAFDRGAAGHHBEDBKJFHIKIDCOLCFBCBOEGHCHQHEJHQNFHNIGCBIKKAEBFAFEKMKIAUGIMQMNCULEFJAECBMFMGBEBACCACGQCIEHDKCFNEIEAIODEDBNDEPAAGHDEBDDCBJBUIUCFDEGAJDCAJGIAKCHFUGAKGHCHDSJBDGFHCFAIJFGBHCBDHKMBGAEDACEDBAMDABNPJcHEGXLQDBKCSFKCGGCIGCDDMGFECJIJGARCKCAGJRBEABCOHABBFGDHCCBKAHCDIOJCEHJMEUCBGFABINRAIHGCFEPEDFGNFTDADSBAAPFEKNMJJIBMLLBLINGaAEQJGEDEFMDECEKIDADFUCCGBHFCMBBDQKFEHFAADBACOAFOBNJPRIBDGMCLCAfTLHDEKPCGDEDEPLCGHBMBOHEJEAFIECAGICHDGCGGABAHICDXOHFCJLEAQFCJGCNBGFABIDDBBADCFBICEDCEIDGMAAKCIHBWDDBAQFONIDBEDLLECJIGLABEKACFKALKFPADSHCKMICBHIHADODGFBGKGNDJFNLJMDLFFBEKSFFMCABNLACDMEFMGAACEQLLALADEMIRIPKMAEMJDFRGNEGIBASDLIZBCBCFBGHHHJHCCGBEIFGCIHBHDFBAQKIAWKICDOJPCDJADBBALEDBMIAFFGADADEDEJOMEBTKEGCMCMDBJCJIOGCBQGJABOTPQPBBBQGDFGKEACACSBLPMQCHCBDNOHJEKCBDJDMPDABCKILJALIGGBFOLBACGOfHDCAIJGCJAODKGGAANHEFKDECOLCFABCIIMKCKBGFDDHGFEJCFFGCIEHDDDMIMBAEGKFNBAAIDAFMQFAAuEMCVAGEFKBAICDBCDGAJGGTNMEICFBIFRCGEBBCGCELKMAJCHBRIIVEBBKCNFOYMYEGFLIKBLGBQHNNKBANACKNYJLGDCBFJDEIAEIGFIAIBDDTBADBHIKGDICIAFAFFEEDETAAEAGJBKLESEGJJIJHBCHBDECPDBNESLNDADABMEAGBBBLFCCCEIBIBIAEKCAAECDMHLIBGETSDLEFCJMRLDIMIMFEECEKLHCCJICCALbGHBIBMDJAKJFADJPCJLDCHBMHGBIJCECIGHFHBNEEGAABGHDDEBACGAGAAACFBCJFAAABKOBVAFAQJKCBCCHBKAQGEMIBIGRBMBGDBJELLGCCADKBFPEDCBKBBBBHQBIUEECBDDFAECFGCBDKOCIBJEBMCDCCBSHMCAIDGKBBBDAABFECCAAAEIDKAPMDEEPTAGHNMFDBCDEEBGFAFCAKCGKGLGFOEMFPCCHGJKGCBCJOHDDMEEDKIPEAIFMFDRDGODEBCGQIABDIPPHABIBRKFBDFONAFEEQIIJPFCFAHMFECBAECGMAIACFHBGGJMBEJNCFEEIAFCGACMBGGASCIODDCMQGHCDICITJCYEJFBKKGDDNWFFAJGECFNOCFDBNFCBFLFBIUGADEPfBODGPLKFHGHIBJLHABLPICBJBHCBIFKBKEEHNGFFOEKONSBAFCIKBGJDECJDBIFAFGGEAJDKFLFDEBADCEIOENCLMGAFGELCICHBCCHBEFCIBFRNKLRAHAOFADABCBAIACDIBAIFJCJAEBGKCIGBEFGKHBMBBCINCYDNEAEBBHGBAOFBHSDIGEDbGHACFCHMBLKETCHKCBDBCBGEIAFAAAAAACBACDCAABCABABCABBABAAACCCACCCAACABCABCCCDBCACBAAAADBCADADCBECABAACBDBAEBACBAACABDBABBGABBCBAACCEAAAEBCCABCBCCACAGCABCBBAABEABGABCCAAABBAAACEAAACABACABBBBAAACADBACCEECFBICADDCAACCAEAAECAAACABGAADDCCABBEACEBBCDDAACBFAACBDACEBCEAEBCBABCAACBAABBCACEFACCCEBABBCBABAADACDAAACABCACABCCABBBBBCBAEACCAEABDCCBABDEEAGBCAACAAAECCCBBADECCCBACCDABACCDCAACABAAAABBCABAACAACCDACCCCADBABADACCDACBAACBAAABBBBBBBBEBDABABBAACCBCAABAAACACADCBAACBAFCABEACABACEDAAAAAABBAAABBBABCABAACDACABBABBBABABAEBEABBEEABABCCDECDBEBAAGAEBACCGABBAEABBBAABAAEAACCABACBCCCECAACDABCABCBACACAACABAAADBCABACCABAAADABACGBDCAABAECABAEAFEEBCAAADAADCAAECABAAAAAAAECDBBACCAACFCCBABACDAEEBAAACEBBBAAABGEACACAHBDAEFBAADEBABAABACAAGBAGBBCDBBACDAAACAABCABEBEACCADABCBABAABDDACCACADACADAEAAACAACAACCDAABAAAAAAACAAACBAEACCBAABCAFACBAAAACAAACEAACABACADDBAAABDGACCAADAACBACACDABIEBBCCCDBACCDABCABBABEFAEBACCDAGCBCBCBACBCCDADCADBBBBAABABBACDBAABBACEDBAAECABGAACAAAABAAHBEHCAECCACAEBADBADCAAABCCADACAAAACCAAAABAAABAABAACBBACECCBAADBBBACAFBDBBEAABECBAAADCGBABCBBEAACAAECBDADCCBBBECCABCDBACABCCCBBACBABCLAAAAAAAEBDDCBCACECCBBABAAABCBBBABBAADDCBCCABBDEBABCBBEBAACAABAEFCBCCBAAACAFCBACCABCDCCGAEABBABAABBAEBDCDCECABAABCBACAEBABEAADEAHBBCCEACCCBAEAGBAAAEADDFABBBBEAABEAAACBDABDCCCCABBBACAACBCCBACACAAACABCCACCDCAEAEADAEEBBABACBAAABFBBDABBABDCADDAECECAAGBBCEACACBBAAAAAEBBCACCGDCACAAADCEAABDABAADEACABEAACDAACBCCACEEABABCABEAAADAACCCABCAABBBAAAABBABCABBAAAFBCCCAAABCADAAAAABCABAABBCACAACDAGBCAADABABAAACAEFABBBDABCAEBAEACCBDAADDCBBCCBAAAAAAABBBBDAAABACCAEAAAAAAAAABAABDBAAACCACAAAAAAAACCBACAADBEDEGBBBAABCADAACCAFABCCBAFCACBBABCBBBCBCEBCABACCBBEACACBAECACBAABABEABBBABCBAABCCCBBAAAABBAACBAAABAECBCCBAACBCBBDBAAABABEAAABABAADECAACDBABBABBCACDEBAABCHABABABABBCCBACBDBEFCCCCEBCABABGRCABBBBACABCCECAEBAEBADCGAACEBEBAABCABDBDCAACCDGAEBECEABEABDEACABCCCBBAAADDAAABAAAEAACDAACDAACAAABDCBCBBACABBABBBBAAACFACCBCADABHCAAAABBAAAAEADAABCBABACBAABBDDACCABCCAAAAAABBBCAAAABBBEAAAAADBBCAABDDACAACBDCCABABEAFCABCBCAEBAACABAADAADBBBABEADAABCABCCAADDBAGCCACBDCAAAADCBAACDCBBACCBACCCDAAACDCFECFCBECCIAAFCGCCFBBCCBCBACHECBCBABAAAAABBDACCDAAAAEBCAAABBBABBBBAABACAABDCBCAABBABDCEAEAAADCAAADBBBBDACCEABDABBACCCAABCCAAAAGCCBECACAEDABABCAABAAAABAGBCDEACABBDCBAAABADCAAACCEAABCACAAABBCBAAADCAAACACCBCBAACCBCAAAAABAAAAECCCCCBCCBABACAACABCAAAACBBBAEBBACAAAABCBDCBEBACBCABAACAAACCCBBAACBAEABAAAEBAACCBCABAAAABAAABCAAECBAFAAACACADACCCABACACAABABADBCACAAAICACCAADBCBCABAAADAABACCBDACAAACAABABAACCAABCBAAECBBACCCECFABCBDEAAABAABCACCCBAECAAACACABAAAACABEBBCAACBCAACABACCADCACDBCAHBACCDCACABABBACCCACACAAABABBCBCHBBABECCAEBEFCAABDAADDCCEDCABAABGAFACABCACDCCCBCABBECEDAABDAAACEFBBAAAFBBABBBABAABAADABACBCBCACAHEEABBCCABGDDEBBBEDDDDBAAAACDEABABBAECAABBCBCEAACCFAEBCBACCAGBCBBEABCCBBEAABACAAABBCCABBACACEACCBCBCAAAAABCBABBACBBAABAAAACCACACAAABABBABBADAABAAACBCCBACAAABCAAJAAABBCAABEAACACBCECDBAAACACEACBBAACBAEAAADBCABACAAABCCBABCAAADAAAAABBAAACAGCABAACAAAAACAAABCCCCFAAAACDCACCCBABACDAEAAACEECCCBCBDCBCBAACCBACAABBABEAABAAAABAGCABBBACAAEBEACACCEBAAABBDBBBCCDAABCDBDEDACABCBECCACAAAEAACCCBBADAADABAAADAABACCBEAABAAADCBACAFEBAGGBAEDDCDDGDCDAABAABEABCDABCEABAAECDBADCGBBACACBAAAADBCBACBCCBBAAAECAECBCBCBCAAGCEBAECAACAECFADAEAACACACABCCBBAACABEADAABCCCBEAEECBBCBBACBBBDCCCCACACDEBCAAABBCBCBEABCBBACACBABDABCBBAABDCCBDADADDBABBCCAACAACBACDACCAEAADABACACACDBCEBABAABCABEBCAABBAGAADCACACCBFAAACEAAABABCABAAACAAAEBAABAAABAABCABACABDCCACABBBCBAABCBBBABACCCAAAADCECCDBCBEABCDBCADEAAADABAEFBBACDAEAAABCEAABACCCAEBAAABBABAAABAAEEADFEACBFAAAICFDFCCDACADCABEBECBACCBACCBACCACCBDEBBABAEABFAAECCBDDBBABAACCCCCACAGCCCCEEAABECCAACABCCACAAAACEBAAFDEGAACGCCACCBBCFECEBAAAGCAABAAAACBAAEAABACDAACDDAACADCBAAAABBAACCBHCBCAACDFAAEAAABBAAAAAABBFCBBACAAACBCCAADAAAFAAAABBBCBABAEBBBAACAAAAAFBBCAAACBAACBAABAABAABACCACAABABADBAAAACACAACFBCGGCABECBBBCAEBBBBABAEECCEACAAAAAACBBEACCCAACACBACCAAAACEBABFDAECACBCAABBDAAAGCGABAAHAACAACABAAAAGEABEEABBBAAADCBCBBFABACADAAECAACABBADBCAEBEEAAAAACFBADBCCCECCAABFCACAADCFCAADAABACCCAABCBDAAAAAAAAAACACACAAACBBABAEAABDAADCGGAADADGACCAEABHCAACCBDDBACGEAABBBCABCABBFAAAEEAAACCAEALCCAACBGICCADIBCBCCCEAECAAAAAACALBAEEBAAAACCBEGBBAEBCACBBAECABCAHCACBABABEACAEAGAEAEECAADEACADECBABCBHABADDABBAACBGBEDEABBCBEBCEHEGECCFACPCFBEEHABEHBEGFHGAIAGDFbEBBCBGADJCAHICMBDJBCGCCEGFBACAFHBKDDFEDEACCDFCBDEQCKDCDUHCDCKCDHOBECEGCBHCDOFCDUQCGAEADAIEECEJFIEBABFGCAAECMBACDLHBDDCBLCCDNBJDHECDDIABBDBHBElAdGKCFKBEABFEBAAWDDDFEMNPIGFFSDIBDBXCADEBHCCJaFGPnGJKBMMIJOiIGLCAGIVRKIIRFODZCDELvBfSEaAFFjCLPCMNOMRDJErSFnFUBTjAJKMFIJjCOCGHGBAGCKDBBMQAFQEEJGNHEXKCGBWHDHGC1TAAMLEEIFHKVTMDZDCIGHJLRnGLKPBjbKAGGMDbYEkBCgQOFBkAKLQiIAFGSJNDCnCCoHIWLEJGFPEKHKOmDLKBTMSWOUCeSLBODPHMKFJLYCFPDPiAOTDHePKDJXSREYTCPBSCPYKDNAHEHFMjUDFIPQGAKCTEOJBFIQNCSBKBcHHCCFDGNAEECHnZMTJJFBHPFUDkKHkgJnAuJRBjDPONHFXCHFIIKDDRedPBFCYVDFKJKFPKFCNRDQHVNHGIIJNTOGATWQmEBOAHGCZTKBPOEDDDDNSbDFPGVHFVNEMCEPcMTSTFJNDHSUEJGKFFUJCDdFfEGAICBIOFCbFNAGjBFBERTSMLYJODEGFLCBDUBFMhATHRKAZIEHHIKNFEHOGGLGrCUMdOhnFGdTNGRQsSQCHFACDJBBCEREDBGBIdDGKJFDENFCWEGKWTTNrkPHTLBVONIAXEIJJJrYDZaNBBJrONEZBdFKNIjIHDaLaMEIADIHSRGWabTIBJKHHEkaOPEJCXEAAHNIAKNHEMBAERJHmKIBTCBDJaAYUKKDLIBLyNCBgCAHQGAeCHQDgNJEbYSBCKLeBAHiaFKDEBYIQBCWDEIEPCYINJAJNBiAVRWDaEALAIIJDAZLSANpEAUAJR1QAGKvMIbnQRHLhXMSHgVCzEDKBGOEDhkDNJXMEQQJOCIGhEFVPBDqBRPSEBGBFVGELHSVaBXEOX4HNDLNbYBHPNTBWXLIXEGbEZXCFQQXQEVFRZBbFNAAAABACBACBHBABCAABBBAACAABACCCCCEBAAACAAACAABABACBAAAAAAAAAAAAAAABACAEAAABAAAACAAACAAACAEAAAAAAAACABABACAAAABCBAAAAAAAAAABAFAAAAAAAAAAAAAAABAAAAACCAAAAAAAAAABBCAAACAAAAABAAAAAAAAAAAAAAACCABAAAACACABABAAABAAAAAABACBBACAABAAAAAAAAAACBAAAABACAAABACAAAAACBBBACCBABCAAEAABABACACAAABABABCBAAAABCEABAABBBEAAAABAAAAAAABACBACAAAAAAAAAACCAACAAAAAABBAACAAAAACAAAACACAACAAAAABACAAAAAAAACAACAAACACCAAACBAACEBAAABCACGCCBCCCACAAACAAAAAAAABCABAACBAACCABAAABCAAABAABADACEABAACBABAABABDAAACAAAAAACAAABBBABCBACBABCBABBBCCBABAACAAAABBCCABCAABBAACEBABAACACAAECEAABAAAAABCACAABBCBABAAACBABBACABCABBCADBAABAABAACAAAAAACAABCCBAAABACEBACCBDCBCCAAAEBBAACACAACACABAAACAAACAABAEABBABAAAAABBAACBAAAAACBABAAAAAAACAAAAABCADBAABCAAABAAADAABBAACACBBACABAACBAAAAAEBCAAAAACACACAACACAAABABABABBEAACAAAABACCCABAEBAAAAAAADABACBAAAAACCACACDCAACDBEBADCCACDABCACBBACCACAACBACBACAACAAAAAACAAAACCCAABCAABBACCCAAABAAAACABACAAAAAAAAAABAACCCAAAACAACCBABAEACAAAAAAACCACCCBBAAEAABABACAAAAACABAAABCCABAABCCABCECACABABACCDACBACBBACCAACCACCDBCBCABBADCAACBBAAACBBCABAAAAADAAABBEAACEABBAAAAABBCAAABAACCAABAAACAACACAACAABCCACBAABBAABAAAAAAAAACACBADBCBCAAAAAAAAABACBABCAACAADBAAAACCABACDBAAAAECACAACAAABAAAACAACABAACAACAACAAAAAABAACCAAACCABABCAAAAAAACACAAAAAAAAAAACAACAAAAAAAAACABACCAAAAAAACAAEACAACBABECAABACABAAAAECBAABAEAACAAAAAACACBABBCAABACAAAABACAABCECBABACAAAAEAAACABAAAAAACAAAAAAAAABABAAAAAAABAAAAAAAAAAACCAAAABAABAAAAAAAAAAAABABCBAABBBAACBABCAABCCAABCABAAAAAABABECACBABAAAAAAAABAAABBAACBABBACAACBAAABAAABABBAAABAAAAAAACBAABABAACCBBBCBBBFACABABCCAAAAABBCBADBCAAACACAACAABACCAAAABBABBDAAABEABAACBAACBBCCAAABACCAAEAABEBABAAAACBBBBCAABCCAAAAAACCBAABACAABAAAAAACABAEAAADBACCCBEABABABABAABAAACCCABAAACCABBABBBBCABAAABAAAABCAACACAAEAAADAAAAAABBAAAACAAAAABAACBBAADBBACAACAACBEACDBAACAAECBCACBAAABCBAACCAAAAABCAABACCACCAACBCBAAEAABBAACAAAAAACCABAABABAABAAACAAABCBBACBCAABAABEACABBABAACAABABAABACAAAACABAAAAAAAAAAAAAAAAAACAADACAAACAACCCEAACCCAACCBABCAECCDAAAAABAAAAAADAACABBBAAACABCAAADBADEEAAAAACBECAAACCAAEEAAAAACDACBACAAAAAACAAAAABCACABAD-JFfSWQmKgYDeaQz-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DEANEGBEEEBAIOCJCKXCHGAEGCEFADAHHDHLABEBCAQCDBCBQLCNDLFAACCEFIEAEABAHHBAAFAADEJFKCGGBDGJEGAEADEHBLEYDOCBCHDAJEBBNCANLGDJBBJIABJCCJBEIADIGAJCBCCDFCDGHLHFGIDFDDCACBDCEPFEICIHKCCCOOYAISGFEKFBQGHICBENBGDBJIGKCAOEEEAODECBCBIVBBCFBFBBGDGCJCACBBOCAGEGBADECADNDBKKAKTKBRAFEAFECBDDBCGHIFBBGMEDCBFGEDHCHCIBAFDDDBHFGDCBFHCEIDABGDIAEAFEJHADFACEPHCDSHEJOIAJHAFLFCDAABBCBAPDAFFDCDJIEBJSFKBCCLDOAHJAICDGJEFFGDAGBIGCBAFQHEGAHDJBJAJCJiPIMDDAGSFCEFCDFAIBMSFFEDAANCAGADAEBEOGLGANCIEDDIBBEUCGAEIFKFGIHIAFCEKCLCHGEEACRAJFDIAGEEIKHBKALCGFIMDDEAEMIFBEGNKHFAICBFFLFFBCKABBICADIACGADAKBFDADBGABJHCEGMIJYsKIeGCEGGIJEHHADCFFKCDCHAGDFBCIGCHAAEAIDBHBGBFAEAHDGCDBBAABDCBAEDGBCCCCAFOBUCYDBGlEJCAGJCCCIMHBNHECBQFAAFAFEZCIDMFCLMIPCCDBNKEDCLEGKGABIDGABJDDFEAEBECFHAHQLQBCNCDRSBLADZhEEOBBARJADDFLBDGFCFEDFAAGDBGEBCLBJOBABLDBDDDADAEHDHABLCBECFBGBEHGTKCKHgOICHCBIAEEOFDACDNNJDQEHMDGEKDHIEDICbFHBGPBEAEGDHJCADEGICBDDABAFBICBCCCBGJDBDHKOeFCREBECCBCFIDKEBKBBEKOFGACECMCCBECDIDJELNAJICGAGGFFGBEDBCABFECABECJDKJENAABUATHOQGMIAGEAFJCHGCAHTBMADABEMCDGFHGEADQJCFDFFACCEADJCBAHACGECCEKHDODAFKDBCDNBTBICA2GQLFHKABGGDEBHABJVLFHLFLGMCBAAIHCFDINIGBCIBEADDIDEJNEHBJIEAEBIEHBEBGFAKBKBBEKAaqokMLECGaBDDNDPFCAJDJGIAFCJDCLCIHBNCLNABDJLCABAAAECEGIGHEBCDGLGDFFBGBCCBDCAOFPIJJLKEQCCBEAFBBALLEIDBGEEJCBEAAHDEJERIHCDCGDJCCBCJBDAGDBAJBAAHAIABCABAGAHIBAAKIGFEEObEKHAAABFCFGDJHCKBCIBKHFFHADAKHEDCHOCBDIKCBCABCCBNADMIDAEAKJGEHAAACCGICDDCCIKBDAFMVAAEBBDGAAMBEBFLKACDCEGFCDBEEDJCAGGFGBOGCCBLCCOHGGHBCBBDCABBIACAEHBABAAMGBKOBJHBYAGIACHLBBGJACTEEEADOCHFBABBCBAGEJEAEIMBCGGCBDCADHBAEECFDAAFCGBDGDDGDKCDCJHANYOAHACBBADGOQABCQIOBGDCMIAFBEAACFUBGJAHEOBMDBAFKAEMAHBIAIABDFGFCFJCHKaAJGBESEDDKYCUWGKaGBDJGCEKBGCANAMGGGJMBDFAGAAACABABGCDKECQBAFCBDEEBHDEAIDDMACFAEEAFFGHDPLAKdPBbAHEDCADBHAKIENIBLHGMAGBFGBBCAGBIbEDFBDBECCCECAEGGLABAEGDGDBEAAFDDAPCDKFFEODYBKFGBLBBFGBDBAAAACJEFIAGBBKGNCODFHGJHGAEHGCCFDDFHFCJFCDIEHFDHEIFDLEDLAKECFIAJHIPORAOCEAACBAECCABAQAEKBHJBGBHDFCEAHDCEAAEDICADAGBAADFDAFHFEDGHECBBEAGEBCDGODMFLMDPLHADIBBBAHBAJDDGXDEOHIBBJBAFDDJAFEHBBCDCFBEIEADDBCGCAGEBGFGBCBFEDAACAGABJENHEFHMEGHDHAACDKGAGBDAIUAFHDSFBFCKBCDBGIDYAAAOUGEBDDCAAEDABJIBCABJBCAAAEBABBEAEIFFFKGhJFNBECBBDDDFECEAFFBGDFOGBFACHCABCIEJHFABIAABBFFADGACEDIBBADADFAGBDBCBEBIAEALBKXeFLUBHFGBBDFCECAIOCGBDNJEEAHFCHFABDLQGGBFKBCBADCAAEDAABBEECEBEDHCFEBCACEHBIIOHEVNBCGEAEFEDCAAJCAGEJFAIEFCBEDCAHGHBAGPBECKFADHBFEEAJHGBEFAEAEKDDEHMAABBCCBAJCDUJHMdOREAAADHICBGKBGIDIOGBCACBADAEGGLDBCBEKDFCCCEBGCGFGBFEACCGGCBJKCBEAGEAADSGOCIADJVELEACBBABDAEHDEPEHFPGMLEFGOFDLEEDEJBBNKYADDCAFEFABIAAACDBDAFIHCABCDADFDAHNHCAUQMBNHBACEEKCCBFBENFDHGQCAFCCIABKAFEKREFCBIBECEACEGBGCBKFBBGAJECCABACACHIDEFEEKTEMQEHAIBEECQEHJGDBBGDEGOAAKDIJGIANCHDGCABEHILLBBAHBFHCDCDABEEDAGAHIABEKDIDEPJGCFQCPKAICKBDLBFEFFCBFFKENEHBKDBCBEAENAFQCKBAFBFGDBGECJBBDGACGAGFABAFMCDDBFGDBAAMYFA-wAGKIIBCHLEHAAGMKDMIJSMBLBCNABHIDCADCDBAUCIFDDAAEECJPFDEFBDIEFMEPBACDCACGGBDBCNQJEBBBECIDDBDFBDBECNGGKKJBCIJEEJBKHCQDDIHZCEDEADFCCAJAOCBACDGCAAAEDDGBCCCJNBCBIVEGYGEJAFBAAAFECEBEHGBBDNADNBGDDEAKMBKABGBUGICAFFBIFEBAFDBAECGFDKGBCACGGACBGABLHSVGDBBBGDCBFBBAHCHGHAEBKLDCCADBFIGRBDECBCETABEEGDFHCCBCKAAEBKCBAFBBFAGDEBABCIELEMDRQCAEEAEEKCGAGACBFGBGFBGLEBECLGDUDDJBCHCAABCABECEFBIDFBFDFFCBAIFGADDEJFLOQIAGDABEDgDEFCDGBBBLDFAAADCDOIBEKEJDOHBBFADABEHBDDADKAAJCFDGCAADDDBBCFBCFAFAEAGFRBNIGNIDGGEADAAEEBAFBGEGAGHIACABIBLAADBBACGBGEFcIFAAGBBDFIOEAREICAFACDBEADBEADEIHGBFXFDhAeAGCGCACAFCEKAGGDLIJOEFCAFCDLDIAJIFIIBBAIAFDAAAAFBCADABABBGICAKDLBDEAGBUFMAAERIaCCBCGAGDEBIKECEOFELGAFJPGMEHOEKBFQEHCMQACEBBCBGCCGFEDEADFCDDKGCCDBIBBAKHARJCRvnHJDCDBACDDBFCKCLJIADCAIIABCCLKBVEENAIHDBCBIHDBDEBQCCBDEGCIABHGEBBIEAECDDEHMPDQiAGBBBCDECDDBDHBCVDMEHGHAIBDAHBAAFDHCGCDCJBGCGCCDCCEEEOCACAGBHCCECABCBFCHFLHBCBDiIFHEFBAADIBAAQACKGFGECHKEDFBDEKEBAGEEBCMFEIABDBAFECBACJEIAEGAFGBACKICCABFFIJHAJHDIMADGEFFICCEGCFIEBFDFFDCIAHDAAGODKGFGGLKGIEBKBBDAJJFKDCBBCGDECEIABDAGEBARCMLMCADEGFDAFDBFBGCBBDDHAFEGDDBLFKEFKGFGHEGHABMCAAFJEDCDEJACACECEQGFMECGAEEDDDKDOEDBBNACXEBDBECBFALBIBCDHKGYODFCCFMSFJRIKDCEBMKCCBANCFABDJHAIAABHMCBEDLBIADIBDCQHEDEGGCEWAFCEBBACGEFBBBGAEJMKBHFEHDEACKEGBKICCSCKEEDFDCAPBFGGAFEBDBFDCCBBFGGECDDEFHOHFBHEAHECBHAHGCBBBeECFOHFCHFBLEAFCPEHKAECIICFCHGBGDCGQDBHBEBKHIBLECAADBAFEASEBEFfHOGBAKCCGHHFEGEGAJMEIBKGFICBEBCEBBHMQHECPNCDICMDAEBFDEKCFDBGDCIAEHDCGBJGDDHDKXDCBABGCEDFEHCDDCBAKMDFBOFBBHCEAECEBAKEFFCAIDCJBCGBECFCGMJDBAAIFECBBGACDGACCGSBDIAIPFQGDGACCFCCBGFBMQCHFHFTFXBEMEFCIMHHEBABIHCDGDFAICEAADABDDBDKEGCACFDDBEBHHABJICbVWGDCCDHGAACECNBBPEACNKEDCJBBHBGABACNCGFMIDEGDBDBAEMICKDAGBGDHBEEGCACEIHGGLFbIPHbnBCHCCJDAFGGECEFJGBEBIGDKBHAAJEAKEDKGFCFBAGABHAFMBHFPGGCDEEEEJIFIABCGHBJCAMCEKhVGBMADCHAAFGCDCDJFIFHNTDAICEFFDCGBFEFHCDLHBABEKAECCBBEBABFDBDJICICCBGEGCGDBNAPKBGBBKBHDJFBCHGFBCFRGKDDIGBCIACECFADFMEGFAFOBDEFBBDBHIGKEGCCDDCBIHACBBFGFECDBJKMJFeILFCACIAGADEBCBJHCAGGJKGYDCFBAEJNIMAAJGBLAAAEADEGGGDIBGCCFDCBBKBPBBCBAAGEBBEVEVBDCaAABABAFACDIEBAIGGHKEBEBIJAMCDADCWFECFACFCCAAHBIECEBEDBBCGCABIACGFBCDFCCBGAKQCLFUHBIECCDKBIDCGABDJBTJAIFFGEHBAMGJNBGJEAEGKCLAGKDMAFFJBCGFCGDEBFBJBHFFCIBQJMJRDWKFCBEDGBDDEEAAGDGBHAFGBAEHOAFDEEBKBFADDIEMCEEGGEJHHHFEDDABGEEGGEDMHFIEBBMCEKDQFBGBDGAAEHHEBCAFGFDMELNCCEACGDNAOQCDFJAEJHBHFBKBADDAMAAEEECBJFDBAMDJDGAACFIABQGOBRGPEAAAHCHFDCAAAHDOAFDCCLBBBEJFBBCCBABAHSAHCABBICFGEEDDHDEGNBCNBCBKFHLMDECFJMFWZFIfFHNACAFDEDHCALMIEGNKAABDDAHABNGGBDKECNADCFFDEBANFCJGHFBGHCGDADDHFACCCAMCBCERfPIIAIBHGBABEACAFBLKADCOBECEBDAAQABGFEBALFFDGCACDEFEEHAGBEIADDDGGDCKBFEBJJDGCEEiSAFHHFCDGEYCbFiM5CfTQ2iIOOEqTcBPkSVyZhbZHIniQUDKGWiBEMLBkaRBPSCWYHoJWQje9OPLcSRNQNi2mssyeoqswmmmuysU48ummksa86uq6oyukqe2iswyskmqosqiuwkoeeek4wmuwiqwegi0ggwoycqqmmqesugmmykm64mg2igwcgaugmqsukooiooemickaoqo2-icsiiqcmcmgkqmmcmkioomikgicgimuymeoiimYmYkmmsikYqgiqmmkmggigcos2oigkcqWkSsoooioYqciqqiioicmoiq0ommcmcecqcmkqsmkeqke0wgggoeosoqsmskiqceaqamiqqkkeqke0wgieoekqqssmwkiogeaqcmioqkmgokeywgiemeisqssoumioeecqamimqkkimieywikeoekqqssoumimcccqckimqkmisie0wigeqgkqqsskwmgoAOS9SpjHHHBCEJLAGOBQMtWALJONNJNALcNTLGCKOPQCAXVFCgRDIteJDHHJNFAKREKRbcHgIFIKSFJDHTYEDLjKQHHUNTQWRCMDKHADaHeUOLDDONGHVKLIQBBOJLaQAGQeBKCLSYNiAJHPINCHGFGBALDSPYJKCSFSFdQGNCNeIVBPMVLFBIcAFFIYFBDCCeEARVMJZOKQNJHFDHFgJDIBFJODJEGMUIAALCMNIJEEDALGFRBaPHCFFCIJNOKAGSOnHDDhDBCFCNFNIALFBEBNKFMJFSMOHARUHNFWFHCMKBPPKRZOJDERFAKhJJiKAEKThARFGSWHVJPJBSCSgOUPPYaFNbSOOSGBRLGFNJHFOBdLJLPGQReLIKeAVEQcMMQfhVgJVLCIeUTEtKjUBSMGDUOjlkFBVBWKRnmdYTHMYNVDVLDIAEOAKCAGjHCURSCVXPAEDdBHIRXVLDLdNRLQeIIWVGHEJMNIGAfNFZEFeCXBFJDNFDGMOAIKRJHQAEMZnnaECXHCGFLFGDGCFIaHRRKMDUkFBCIJRGBINTKGQGPVUGEROEHRPRCSLQIKIDMDDSJEPQP-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-acGOeaCEWdidHcdbjFfbBcMjKC";var oA="enable f16;struct xe{a:u32,b:u32,c:u32,d:u32}struct ye{start:u32,count:u32,e:u32,c:u32,f:u32,g:u32}struct ze{start:u32,count:u32,stream:u32,h:u32}@group(0) @binding(0) var<storage,read> M:array<u32>;@group(0) @binding(1) var<storage,read_write> Jd:array<atomic<u32>>;@group(0) @binding(2) var<uniform> F:xe;@group(0) @binding(3) var<storage,read> N:array<ye>;@group(0) @binding(4) var<storage,read> i:array<f32>;@group(0) @binding(5) var<storage,read_write> wa:array<f16>;@group(0) @binding(6) var<storage,read_write> q:array<f16>;@group(0) @binding(9) var<storage,read> xa:array<ze>;@group(0) @binding(10) var<storage,read_write> kb:array<f32>;@group(0) @binding(11) var<storage,read_write> l:array<f32>;@group(0) @binding(12) var<storage,read_write> G:array<vec2<u32>>;var<workgroup> j:array<vec4<f32>,1024>;var<workgroup> m:array<f32,2016>;var<workgroup> Zb:array<f32,128>;var<workgroup> ac:array<f32,576>;var<workgroup> lb:array<f32,72>;fn Z(bc:vec3<u32>)->u32{return bc.x+bc.y*65535u;}fn Xb(cc:vec3<u32>)->u32{return cc.x+cc.y*4194240u;}fn hb(Kd:f32)->f32{return 1./(1.+exp(-Kd));}fn ib(ya:u32,Ld:u32,Md:u32,s:u32)->f32{if (ya<Ld||ya>=Md){return 0.;}let aa=M[ya*2u];let O=M[ya*2u+1u];let dc=aa&3u;var t=i[0u+dc*32u+s];t+=i[0u+(4u+((aa>>2u)&7u))*32u+s];t+=i[0u+(12u+((aa>>5u)&127u))*32u+s];t+=i[0u+(140u+((aa>>12u)&127u))*32u+s];if (dc==0u){t+=i[0u+(268u+(((aa>>19u)&255u)&255u))*32u+s];t+=i[0u+(524u+((O>>15u)&127u))*32u+s];}let Nd=652u;let Od=O&127u;for(var za=0u;za<7u;za++){if ((Od&(1u<<za))!=0u){t+=i[0u+(Nd+za)*32u+s];}}let ec=(O>>7u)&15u;let fc=(O>>11u)&15u;if (ec!=0u){t+=i[0u+(659u+ec-1u)*32u+s];}if (fc!=0u){t+=i[0u+(673u+fc-1u)*32u+s];}let gc=(O>>22u)&31u;let hc=(O>>27u)&31u;if (gc!=0u){t+=i[0u+(687u+gc-1u)*32u+s];}if (hc!=0u){t+=i[0u+(718u+hc-1u)*32u+s];}return t;}fn Id(mb:u32,H:u32,Aa:u32,Ba:u32,ic:vec2<f32>)->f32{var Ca=i[23968u+H];for(var P=0u;P<5u;P++){if (mb+P>=Aa+2u&&mb+P<Ba+2u){Ca+=ib(mb+P-2u,Aa,Ba,H)*i[36905u+P*32u+H];}}Ca+=ib(bitcast<u32>(ic.x),Aa,Ba,H)*i[37065u+H];Ca+=ib(bitcast<u32>(ic.y),Aa,Ba,H)*i[37097u+H];return tanh(Ca);}fn Yb(Pd:u32,Da:u32)->vec2<f32> {var jc=i[38153u+Da];var kc=i[39209u+Da];for(var ba=0u;ba<32u;ba++){let lc=j[Pd*32u+ba].x;jc+=lc*i[37129u+Da*32u+ba];kc+=lc*i[38185u+Da*32u+ba];}let mc=hb(kc);return vec2<f32>(mc,(1.-mc)*tanh(jc));}fn jb(nc:f32,oc:f32,Qd:f32,Rd:f32,pc:u32,Sd:u32)->f32{let ca=min(Sd,11u)*32u+pc;let Td=tanh(nc*i[24000u+ca]+oc*i[24384u+ca]+Qd*i[24768u+ca]+Rd*i[25152u+ca]+i[25536u+ca]);let Ud=select(oc,nc,pc<16u);return (Td+Ud)*.5;}fn va(qc:f32,Vd:f32,Wd:f32,Xd:f32,Yd:f32,Zd:f32,ae:u32,be:u32,ce:bool)->f32{let z=min(be,11u)*32u+ae;let de=select(i[28872u+z],i[29256u+z],ce);let ee=tanh(qc*i[35472u+z]+Vd*i[26568u+z]+Wd*i[26952u+z]+Xd*i[27336u+z]+Yd*i[27720u+z]+Zd*i[28104u+z]+de);let rc=hb(i[28488u+z]);return qc*rc+ee*(1.-rc);}@compute @workgroup_size(64) fn a(@builtin(global_invocation_id) fe:vec3<u32>){let nb=Xb(fe);if (nb>=F.c){return;}let sc=xa[nb];var ob=0xffffffffu;var tc=0xffffffffu;for(var pb=0u;pb<sc.count;pb++){let qb=sc.start+pb;let uc=M[qb*2u]&3u;if (uc!=1u&&uc!=2u){if (ob==0xffffffffu){ob=qb;}tc=qb;}}G[nb]=vec2<u32>(ob,tc);}@compute @workgroup_size(64) fn b(@builtin(global_invocation_id) ge:vec3<u32>){let vc=Xb(ge);if (vc>=F.a){return;}let Ea=N[vc];var wc=0xffffffffu;for(var rb=0u;rb<Ea.c;rb++){let xc=Ea.e+rb;let yc=G[xc];G[xc].y=wc;if (yc.y!=0xffffffffu){wc=yc.y;}}var zc=0xffffffffu;for(var sb=Ea.c;sb>0u;sb--){let Ac=Ea.e+sb-1u;let Bc=G[Ac].x;G[Ac].x=zc;if (Bc!=0xffffffffu){zc=Bc;}}}@compute @workgroup_size(128) fn c(@builtin(workgroup_id) he:vec3<u32>,@builtin(local_invocation_id) Q:vec3<u32>){let da=Z(he);if (da>=F.c){return;}let r=xa[da];let tb=N[r.stream];let A=Q.x&31u;let ub=Q.x>>5u;if (Q.x<r.count){let Cc=r.start+Q.x;var Dc=G[da].y;var Ec=G[da].x;for(var Fa=Cc;Fa>r.start;Fa--){let Fc=M[(Fa-1u)*2u]&3u;if (Fc!=1u&&Fc!=2u){Dc=Fa-1u;break;}}for(var Ga=Cc+1u;Ga<r.start+r.count;Ga++){let Gc=M[Ga*2u]&3u;if (Gc!=1u&&Gc!=2u){Ec=Ga;break;}}j[Q.x*32u].y=bitcast<f32>(Dc);j[Q.x*32u].z=bitcast<f32>(Ec);}workgroupBarrier();for(var R=ub;R<r.count;R+=4u){let Hc=Id(r.start+R,A,tb.start,tb.start+tb.count,j[R*32u].yz);kb[(r.start+R)*32u+A]=Hc;j[R*32u+A].x=Hc;}workgroupBarrier();for(var ea=ub;ea<r.count;ea+=4u){let Ic=Yb(ea,A);j[ea*32u+A].y=Ic.x;j[ea*32u+A].z=Ic.y;}workgroupBarrier();if (ub==0u){var fa=vec2<f32>(1.,0.);for(var vb=0u;vb<r.count;vb++){let wb=j[vb*32u+A];fa=vec2<f32>(wb.y*fa.x,wb.y*fa.y+wb.z);}var ga=vec2<f32>(1.,0.);for(var xb=r.count;xb>0u;xb--){let yb=j[(xb-1u)*32u+A];ga=vec2<f32>(yb.y*ga.x,yb.y*ga.y+yb.z);}let Ha=(da*32u+A)*4u;l[Ha]=fa.x;l[Ha+1u]=fa.y;l[Ha+2u]=ga.x;l[Ha+3u]=ga.y;}}@compute @workgroup_size(256) fn d(@builtin(workgroup_id) ie:vec3<u32>,@builtin(local_invocation_id) I:vec3<u32>){let Jc=Z(ie);let Kc=Jc>>2u;if (Kc>=F.a){return;}let ha=N[Kc];let zb=I.x&31u;let Lc=(Jc&3u)*8u+(I.x>>5u);var Ab=0.;var Bb=0.;for(var Cb=0u;Cb<ha.c;Cb+=32u){let Db=Cb+zb;let je=ha.c-1u-Db;let Mc=Db<ha.c;let Eb=((ha.e+Db)*32u+Lc)*4u;let Fb=((ha.e+je)*32u+Lc)*4u;var w=vec4<f32>(1.,0.,1.,0.);if (Mc){w=vec4<f32>(l[Eb],l[Eb+1u],l[Fb+2u],l[Fb+3u]);}j[I.x]=w;for(var ia=1u;ia<32u;ia=ia<<1u){workgroupBarrier();var ja=vec4<f32>(1.,0.,1.,0.);if (zb>=ia){ja=j[I.x-ia];}workgroupBarrier();w=vec4<f32>(w.x*ja.x,w.x*ja.y+w.y,w.z*ja.z,w.z*ja.w+w.w);j[I.x]=w;}workgroupBarrier();var ka=vec4<f32>(1.,0.,1.,0.);if (zb>0u){ka=j[I.x-1u];}if (Mc){l[Eb+1u]=ka.x*Ab+ka.y;l[Fb+3u]=ka.z*Bb+ka.w;}let Ia=j[I.x|31u];Ab=Ia.x*Ab+Ia.y;Bb=Ia.z*Bb+Ia.w;workgroupBarrier();}}@compute @workgroup_size(128) fn e(@builtin(workgroup_id) ke:vec3<u32>,@builtin(local_invocation_id) Nc:vec3<u32>){let Gb=Z(ke);if (Gb>=F.c){return;}let x=xa[Gb];let Oc=N[x.stream];let k=Nc.x&31u;let S=Nc.x>>5u;for(var Ja=S;Ja<x.count;Ja+=4u){j[Ja*32u+k].x=kb[(x.start+Ja)*32u+k];}workgroupBarrier();for(var la=S;la<x.count;la+=4u){let Pc=Yb(la,k);j[la*32u+k].y=Pc.x;j[la*32u+k].z=Pc.y;}workgroupBarrier();if (S==0u){let Qc=(Gb*32u+k)*4u;var J=l[Qc+1u];for(var Hb=0u;Hb<x.count;Hb++){let Rc=Hb*32u+k;let Sc=j[Rc];J=Sc.y*J+Sc.z;j[Rc].w=J;}J=l[Qc+3u];for(var Ib=x.count;Ib>0u;Ib--){let Tc=(Ib-1u)*32u+k;let Uc=j[Tc];J=Uc.y*J+Uc.z;j[Tc].z=J;}}workgroupBarrier();for(var ma=S;ma<x.count;ma+=4u){let Vc=x.start+ma;var Wc=kb[Vc*32u+k]+i[41289u+k];let Xc=39241u+k*64u;for(var na=0u;na<32u;na++){let Yc=j[ma*32u+na];Wc+=Yc.w*i[Xc+na]+Yc.z*i[Xc+32u+na];}let Zc=f32(f16(tanh(Wc)));j[ma*32u+k].y=Zc;wa[Vc*32u+k]=f16(Zc);}workgroupBarrier();var Jb=32u;var Ka=x.count;var oa=0u;loop{if (Jb<=1u){break;}let ad=Jb/2u;for(var pa=S;pa<ad;pa+=4u){let La=pa*2u;var Ma=0.;if (La<Ka){let Na=La*32u;let Oa=(oa&1u)==0u;let bd=select(j[Na+k].x,j[Na+k].y,Oa);Ma=bd;if (La+1u<Ka){let Pa=(La+1u)*32u;let Qa=k^(1u<<oa);Ma=jb(bd,select(j[Pa+k].x,j[Pa+k].y,Oa),select(j[Na+Qa].x,j[Na+Qa].y,Oa),select(j[Pa+Qa].x,j[Pa+Qa].y,Oa),k,oa);}}if ((oa&1u)==0u){j[pa*32u+k].x=Ma;} else{j[pa*32u+k].y=Ma;}}workgroupBarrier();Jb=ad;Ka=(Ka+1u)/2u;oa+=1u;}let le=Oc.f+Oc.g-1u+x.h;if (S==0u){q[le*32u+k]=f16(j[k].x);}}@compute @workgroup_size(256) fn f(@builtin(workgroup_id) me:vec3<u32>,@builtin(local_invocation_id) cd:vec3<u32>){let dd=Z(me);let o=cd.x&31u;let Ra=cd.x>>5u;if (dd>=F.a){return;}let p=N[dd];let ne=p.f+p.g-1u;for(var Kb=p.c+Ra;Kb<p.g;Kb+=8u){q[(ne+Kb)*32u+o]=f16(0.);}storageBarrier();workgroupBarrier();var u=p.g;var Sa=p.c;var Lb=5u;loop{if (u<=1u){break;}let Mb=u/2u;let oe=p.f+Mb-1u;let Ta=p.f+u-1u;let ed=o^(1u<<min(Lb,4u));for(var Ua=Ra;Ua<Mb;Ua+=8u){let T=Ua*2u;var Nb=0.;if (T<Sa){let fd=f32(q[(Ta+T)*32u+o]);Nb=fd;if (T+1u<Sa){Nb=jb(fd,f32(q[(Ta+T+1u)*32u+o]),f32(q[(Ta+T)*32u+ed]),f32(q[(Ta+T+1u)*32u+ed]),o,Lb);}}q[(oe+Ua)*32u+o]=f16(Nb);}storageBarrier();workgroupBarrier();u=Mb;Sa=(Sa+1u)/2u;Lb+=1u;}if (Ra==0u){l[p.f*32u+o]=f32(f16(f32(q[p.f*32u+o])));}storageBarrier();workgroupBarrier();u=1u;var U=4u+(31u-countLeadingZeros(p.g));loop{if (u>=p.g){break;}let gd=p.f+u-1u;let K=p.f+u*2u-1u;let hd=p.g/(u*2u);let id=(p.c+hd-1u)/hd;for(var qa=Ra;qa<u;qa+=8u){let B=qa*2u;if (B>=id){continue;}let Ob=l[(gd+qa)*32u+o];let jd=f32(q[(K+B)*32u+o]);if (B+1u<id){let kd=f32(q[(K+B+1u)*32u+o]);let Pb=o^(1u<<min(U,4u));let ld=l[(gd+qa)*32u+Pb];let md=f32(q[(K+B)*32u+Pb]);let nd=f32(q[(K+B+1u)*32u+Pb]);l[(K+B)*32u+o]=f32(f16(va(Ob,jd,kd,ld,md,nd,o,U,false)));l[(K+B+1u)*32u+o]=f32(f16(va(Ob,kd,jd,ld,nd,md,o,U,true)));} else{l[(K+B)*32u+o]=f32(f16(Ob));}}storageBarrier();workgroupBarrier();u*=2u;U=select(0u,U-1u,U>0u);}}@compute @workgroup_size(64) fn g(@builtin(workgroup_id) pe:vec3<u32>,@builtin(local_invocation_id) Va:vec3<u32>){let od=Z(pe);if (od>=F.c){return;}let D=xa[od];let pd=N[D.stream];let Wa=Va.x<32u;let n=Va.x;if (Wa){for(var Xa=0u;Xa<D.count;Xa++){m[(31u+Xa)*32u+n]=f32(wa[(D.start+Xa)*32u+n]);}}workgroupBarrier();var v=32u;var Ya=D.count;var y=0u;loop{if (v<=1u){break;}let Qb=v/2u;let qe=Qb-1u;let Za=v-1u;if (Wa){for(var ab=0u;ab<Qb;ab++){let V=ab*2u;var Rb=0.;if (V<Ya){let qd=m[(Za+V)*32u+n];Rb=qd;if (V+1u<Ya){let rd=n^(1u<<y);Rb=jb(qd,m[(Za+V+1u)*32u+n],m[(Za+V)*32u+rd],m[(Za+V+1u)*32u+rd],n,y);}}m[(qe+ab)*32u+n]=Rb;}}workgroupBarrier();v=Qb;Ya=(Ya+1u)/2u;y+=1u;}if (Wa){let re=pd.f+pd.g-1u+D.h;m[n]=l[re*32u+n];}workgroupBarrier();v=1u;y=4u;loop{if (v>=32u){break;}let sd=v-1u;let L=v*2u-1u;let td=32u/(v*2u);let ud=(D.count+td-1u)/td;if (Wa){for(var ra=0u;ra<v;ra++){let C=ra*2u;if (C>=ud){continue;}let Sb=m[(sd+ra)*32u+n];let vd=m[(L+C)*32u+n];if (C+1u<ud){let wd=m[(L+C+1u)*32u+n];let Tb=n^(1u<<y);let xd=m[(sd+ra)*32u+Tb];let yd=m[(L+C)*32u+Tb];let zd=m[(L+C+1u)*32u+Tb];m[(L+C)*32u+n]=va(Sb,vd,wd,xd,yd,zd,n,y,false);m[(L+C+1u)*32u+n]=va(Sb,wd,vd,xd,zd,yd,n,y,true);} else{m[(L+C)*32u+n]=Sb;}}}workgroupBarrier();v*=2u;y=select(0u,y-1u,y>0u);}let E=Va.x/8u;let bb=Va.x%8u;for(var Ub=0u;Ub<4u;Ub++){let cb=Ub*8u+E;let sa=D.start+cb;let Vb=cb<D.count;let Ad=select(1u,M[sa*2u]&3u,Vb);let db=Vb&&Ad!=1u&&Ad!=2u;for(var ta=bb;db&&ta<16u;ta+=8u){var Bd=i[36889u+ta];for(var W=0u;W<32u;W++){let se=f32(wa[sa*32u+W]);let te=f32(f16(m[(31u+cb)*32u+W]));let Cd=35865u+ta*64u;Bd+=i[Cd+W]*se+i[Cd+32u+W]*te;}Zb[E*16u+ta]=hb(Bd);}workgroupBarrier();for(var X=bb;db&&X<72u;X+=8u){var Wb=i[35400u+X];for(var Y=0u;Y<32u;Y++){let ue=f32(wa[sa*32u+Y]);let ve=f32(f16(m[(31u+cb)*32u+Y]));let Dd=29640u+X*80u;Wb+=i[Dd+Y]*ue+i[Dd+32u+Y]*ve;}let we=29640u+X*80u+64u;for(var eb=0u;eb<16u;eb++){Wb+=i[we+eb]*Zb[E*16u+eb];}ac[E*72u+X]=tanh(Wb);}workgroupBarrier();for(var ua=bb;db&&ua<9u;ua+=8u){var Ed=i[35856u+ua];for(var fb=0u;fb<72u;fb++){Ed+=i[25920u+ua*72u+fb]*ac[E*72u+fb];}lb[E*9u+ua]=Ed;}workgroupBarrier();if (bb==0u&&Vb){var Fd=0u;if (db){var Gd=lb[E*9u];for(var gb=1u;gb<9u;gb++){let Hd=lb[E*9u+gb];if (Hd>Gd){Gd=Hd;Fd=gb;}}}let ignored=atomicOr(&Jd[sa/4u],Fd<<((sa&3u)*8u));}workgroupBarrier();}}",iA="abcdefg",nA=A=>A?oA:oA.slice(11).replaceAll("f16","f32");var SA=["plain","comment","string","number","keyword","type","function","constant","operator"];var DA=512,hA=4,IA=[],HA=0,l=1,p=2,FA=4;function vA(){return[DA,new Uint32Array(DA*2),new Uint32Array(DA*2)]}function ZA(A){let B=A[HA]*2,C=new Uint32Array(B*2),D=new Uint32Array(B*2);C.set(A[l]),D.set(A[p]),A[HA]=B,A[l]=C,A[p]=D}function lA(A){let B=IA.pop()??vA(),C=0,D=0,M=!0,J=-1,H=-1;for(;D<A.length;){let O=D,r=A.charCodeAt(D),K;r===10||r===13?K=2:sA(r)?K=1:bA(r)?K=0:K=3;let t=M?16:0,a=GA(r),L=a,N=0,i=0;if(K===0){N=2166136261,i=2654435769;do{let u=GA(A.charCodeAt(D));L=u,N=Math.imul(N^u,16777619),i=Math.imul(i^u,2246822519),u>=97&&u<=122?t|=1:u>=65&&u<=90?t|=2:u>=48&&u<=57?t|=4:u===95&&(t|=8),D+=1}while(D<A.length&&bA(A.charCodeAt(D)))}else if(K===1)do{let u=A.charCodeAt(D);L=GA(u),u===9&&(t|=32),D+=1}while(D<A.length&&sA(A.charCodeAt(D)));else K===2?(D+=1,r===13&&A.charCodeAt(D)===10&&(L=10,D+=1)):(r===92&&(t|=64),D+=1);C===B[HA]&&ZA(B);let S=D,n=S-O,P=C*2;if(B[l][P]=K|xA(n)<<2|a<<5|L<<12|(N&255)<<19,B[l][P+1]=t|(K===0?(i&127)<<15:0),C>0){let u=jA(J,a);if(B[l][P+1]|=u<<7,B[l][P-1]|=u<<11,K===3||H===3){let m=qA(J,a);B[l][P+1]|=m<<22,B[l][P-1]|=m<<27}}B[p][C*2]=O,B[p][C*2+1]=S,C+=1,J=L,H=K,K===2?M=!0:K!==1&&(M=!1)}return[B[l].subarray(0,C*2),B[p].subarray(0,C*2),Uint32Array.of(0,C),C,B]}function qA(A,B){return 1+((Math.imul(A+1,131)^B)>>>0)%31}function KA(A){A?.[FA]&&(IA.length<hA&&IA.push(A[FA]),A[FA]=null)}function sA(A){return A===9||A===11||A===12||A===32}function bA(A){return A>127||A===95||A>=48&&A<=57||A>=65&&A<=90||A>=97&&A<=122}function GA(A){return A>127?95:A}function xA(A){return Math.min(7,31-Math.clz32(A))}function jA(A,B){return A===47&&B===47?1:A===47&&B===42?2:A===42&&B===47?3:A===45&&B===45?4:A===61&&B===62?5:A===58&&B===58?6:A===60&&B===47?7:A===123&&B===123?8:A===36&&B===123?9:A===125&&B===125?10:A===45&&B===62?11:A===63&&B===63?12:A===63&&B===46?13:A===60&&B===62?14:0}function JA(A,B,C=0){let D=[],M;for(let J=0;J<A.length>>1;J++){let H=A[J*2],O=A[J*2+1],r=C+J,K=B[r>>2]>>(r&3)*8&255,t=SA[K]??"plain";M&&M.type===t&&M.end===H?M.end=O:(M={type:t,start:H,end:O},D.push(M))}return D}var _A=1,zA=4,Y=8,$A=64,U=128,j=32,AB=16384,TA=5,_=0,WA=1,BB=2,W=3,d=4,w=5,eA=6,MA=7,k=8,z=9,aA=10,h=-1,LA=0,CB=1,rA=2,EB=0,DB=1,FB=2,GB=3,IB=4,HB=5,YA=6;function gA(A=globalThis.navigator?.gpu,B,C,D){let M=!1,J,H,O,r,K,t=[],a=new Uint32Array(4),L=[],N=0,i=!1,S=!1,n=new Uint32Array,P=new Uint32Array,u=D??VA;async function m(){if(!H){if(J)return J;J=(async()=>{if(B)M=B.features.has("shader-f16");else{if(!A)throw new Error("WebGPU unavailable");let E=await A.requestAdapter();if(!E)throw new Error("WebGPU unavailable");M=E.features.has("shader-f16");let G={};for(let e of["maxBufferSize","maxStorageBufferBindingSize"])G[e]=E.limits[e];B=await E.requestDevice({requiredFeatures:M?["shader-f16"]:[],requiredLimits:G})}C===void 0&&(C=nA(M));let F=B.createShaderModule({code:C}),I=E=>B.createComputePipelineAsync({layout:"auto",compute:{module:F,entryPoint:E}});H=await Promise.all(Array.from(iA,I));let c=eB();O=B.createBuffer({size:c.byteLength,usage:U|Y}),B.queue.writeBuffer(O,0,c)})();try{await J}catch(F){throw J=void 0,F}}}async function VA(F,I,c){return await m(),kA(F,I,c)}async function kA(F,I,c){let E=F.length/2,G=E+3&-4,e=o(_,F.byteLength,U|Y),Q=o(WA,G,U|zA|Y),f=o(BB,G,_A|Y),g=o(W,16,$A|Y),R=K=KB(I,K),s=R[FB],V=R[GB],b=R[IB],T=R[HB],pA=o(d,s.byteLength,U|Y),XA=o(w,V.byteLength,U|Y),NA=M?2:4,yA=E*32*NA,wA=T*32*NA;o(eA,yA,U),o(MA,wA,U),o(k,Math.max(b*32*16,T*32*4),U),o(z,b*8,U),o(aA,E*32*4,U);try{B.queue.writeBuffer(e,0,F),B.queue.writeBuffer(pA,0,s),B.queue.writeBuffer(XA,0,V),a.set([I.length/2,E,b,T]),B.queue.writeBuffer(g,0,a);let v=B.createCommandEncoder();v.clearBuffer(Q,0,G);let AA=r??=tA(),Z=v.beginComputePass(),BA=(CA,q,cA)=>{Z.setPipeline(CA),Z.setBindGroup(0,q);let QA=Math.min(65535,cA);Z.dispatchWorkgroups(QA,Math.ceil(cA/QA))};return[b+63>>6,I.length+127>>7,b,I.length*2,b].forEach((CA,q)=>BA(H[q],AA[q],CA)),BA(H[TA],AA[TA],I.length/2),BA(H[6],AA[6],b),Z.end(),v.copyBufferToBuffer(Q,0,f,0,G),B.queue.submit([v.finish()]),await f.mapAsync(1),c(new Uint32Array(f.getMappedRange(),0,G/4))}finally{f.mapState==="mapped"&&f.unmap()}}function o(F,I,c){let E=t[F];if(E?.[CB]>=I)return I>E[rA]&&(E[rA]=I,r=void 0),E[LA];E?.[LA].destroy();let G=B.limits.maxBufferSize;if(I>G)throw new RangeError(`WebGPU buffer limit: ${I} > ${G}`);let e=JB(I,G),Q=B.createBuffer({size:e,usage:c});return t[F]=[Q,e,I],r=void 0,Q}function tA(){let F=E=>E===h?{buffer:O,size:O.size}:{buffer:t[E][LA],size:t[E][rA]},I=(E,G)=>B.createBindGroup({layout:E.getBindGroupLayout(0),entries:G.map(([e,Q])=>({binding:e,resource:F(Q)}))});return[[[0,_],[2,W],[9,w],[12,z]],[[2,W],[3,d],[12,z]],[[0,_],[2,W],[3,d],[4,h],[9,w],[10,aA],[11,k],[12,z]],[[2,W],[3,d],[11,k]],[[2,W],[3,d],[4,h],[5,eA],[6,MA],[9,w],[10,aA],[11,k]],[[2,W],[3,d],[4,h],[6,MA],[11,k]],[[0,_],[1,WA],[2,W],[4,h],[3,d],[5,eA],[9,w],[11,k]]].map((E,G)=>I(H[G],E))}function mA(F){let I=lA(F),[,c,,E]=I;if(E===0){let e=JA(c,new Uint32Array);return KA(I),e}let G=new Promise((e,Q)=>L.push([I,e,Q]));return N+=E,N>=AB?OA():uA(),G}function uA(){i||S||(i=!0,queueMicrotask(()=>void OA()))}async function OA(){if(S||L.length===0)return;S=!0,i=!1;let F=L.splice(0);N=0;let I=F.reduce((G,e)=>G+e[0][3],0),c=F[0][0][0],E=F[0][0][2];if(F.length>1){let G=I*2,e=F.reduce((R,s)=>R+s[0][2].length,0);n=$(n,G),P=$(P,e),c=n.subarray(0,G),E=P.subarray(0,e);let Q=0,f=0,g=0;for(let R of F){let[s,,V,b]=R[0];c.set(s,Q);for(let T=0;T<V.length;T+=2)E[g++]=f+V[T],E[g++]=V[T+1];Q+=s.length,f+=b}}try{await u(c,E,G=>{let e=0;for(let Q of F){let[f,g]=Q,[,R,,s]=f;g(JA(R,G,e)),e+=s}})}catch(G){for(let e of F)e[2](G)}finally{for(let G of F)KA(G[0]);S=!1,L.length>0&&uA()}}return{h:mA,i:m,r:u,e:o,g:tA,b:t,p:a,get d(){return B},get f(){return M},get c(){return H},get q(){return r},set q(F){r=F},get l(){return K},set l(F){K=F}}}function KB(A,B){if(B?.[YA]?.length===A.length){let a=!0;for(let L=0;L<A.length;L++)if(B[YA][L]!==A[L]){a=!1;break}if(a)return B}let C=A.length/2,D=0,M=0;for(let a=0;a<C;a++){let L=A[a*2+1]+j-1>>5,N=dA(L);D+=L,M+=N*2-1}let J=$(B?.[EB],C*6),H=$(B?.[DB],D*4),O=J.subarray(0,C*6),r=H.subarray(0,D*4),K=0,t=0;for(let a=0;a<C;a++){let L=A[a*2],N=A[a*2+1],i=N+j-1>>5,S=dA(i);O.set([L,N,K,i,t,S],a*6);for(let n=0;n<N;n+=j)r.set([L+n,Math.min(j,N-n),a,n>>5],K*4),K+=1;t+=S*2-1}return[J,H,O,r,D,M,A.slice()]}function $(A,B){if(A?.length>=B)return A;let C=16;for(;C<B;)C*=2;return new Uint32Array(C)}function dA(A){return 2**(32-Math.clz32(A-1))}function JB(A,B){let C=256;for(;C<A&&C<=B/2;)C*=2;return C<A&&(C=Math.ceil(A/4)*4),C}function eB(){let A=new Float32Array(EA.length),B=0;for(let C=0;C<x.length;C+=2){let D=x[C],M=x[C+1];for(let J=B;J<D;J++){let H=EA.charCodeAt(J),O=H>=97?H-71:H>=65?H-65:H>=48?H+4:H===45?62:63;A[J]=(O&1?-(O+1)/2:O/2)*M}B=D}return A}var MB;async function PB(A){return(MB??=gA()).h(A)}export{PB as parse};
1
+ var $=[23968,.052426742,24e3,.00562379437,24384,.0558252142,24768,.0654091374,25152,.029780957,25536,.030970439,25920,.0207765122,26568,.043128879,26952,.0438055031,27336,.0473673228,27720,.0365106175,28104,.041048,28488,.0194216582,28872,.0471233822,29256,.0268734367,29640,.028757472,35400,.0822482494,35472,.0074656481,35856,.067295467,35865,.0079350673,36889,.0855105154,36905,.0387961134,37065,.0543272341,37129,.0258721344,38153,.0295154625,38185,.00369845884,39209,.066800602,39241,.11293668,41289,.044981922,41321,.0170244921],JA="ABCDBCFIACDDECCBABCCBAABEAABECFJCADCEEECBIHHBCBCFBHAEHFEABBCACDECACABAKFIEOIFAIFGGACBACFDDMDHCABFEACEEDCDAHBDAACEAFEBCAIDGBCEDCMCACCAAAABGBAAACAGDBBDDACEABCBBAIAFFABAACAABAGECACBCEBCABIICDAABCGBBAACCEFABDCGCCDBECCAAHEIBCAFAAIMDBAACEJEBFBGAADBCBKDELEMJIGDBDEQJAEDDEJGABDECBCDAEIHCHGSFGKBAHYOjSGGBGFEdRRCLCaHABUdAZHQAUHJHEAVMiCRQNUXjmAFEWVcaHRGcPdLaNfCKJCUEFDSDFPGKCBAmFPMeIAWkSGkHICRERCACCBDCAEDADAABBBCACDCADCCACEDBBBCBCDEECECABACCBEAABEDACCABAEABEABDCABCEBDEBDBDCEACBEAACAAEACEDCABBCADCBCAECCADBCCECCECBBAACBBEDCCDDBAEEBEBCBAAAEDAAEABBCEABDBAEBCBEBAACBEACCCCADDABBDBEDCAEAABABDBDCBDEEDBACDBAEACCBACCDCECACBBDBBEBCBBAACBCCCCEABADEECACBACCDBADAABCEDBBDCEDBDABBCBDAADAAEBBECIFBEECOCBBFEAGHDBCHCCHHFHHCCAGABAEBCECIHIEMGDEEDEAEDACABCDKDFCBDACCABABCBCADCDAABCAACEDEDBBBACCBEEBEEBACCEBAACDCBCADDCCCCEDABCAAHIABCDMOEEKICBCEEMBJCFJKRVEMLBGCBBBACACBBDAAEDBECAACBEEAABDAAAECCEDEBEEACCACBBBACAAAACEBAEBBBCDEBACECCBADAACABCABEEABCCABDCECCABCDEEECCCDEBCCCADDCBCBDAACBDBEEEEBAEACDCAACBBCDDADAEABDEAEEABECABDDECAAABACDEDEADADBBBDCADEAAACBDDBCBBBBADABBABCABBCAECCCDCAAEBCCACCBCEACABDCBDCCBDACBDBECABBADCCBBCAAAEAAAEBBAAEDDECBECBCEACAEBBCEDBBDCCCDBBCECDACADCCACBBADAAACEAECCDCABAECCBCAADCAECABECADBCCDCBEBDBDCACCEACCCEADCCDBEBEAEBCAEEDDCECCDAAEAACCEBCBCBEBBCCBBABCDIIKWEDARFcWQKFQOPNFJJPCHSFBRHGENEAABACCBCEBEECCDAEADBABABDBBDBABAACDAEDAADBDACCBCEBEBBCCDBDEDADAACEBBCECABBACBBCBAABBAEBEEDBACBACCACBCBDEDEEADCDEACBCBEDBCEBCDBCAAHAAEGACIFHCGDBADFEEHDEBDBCCABGBDDEOEAEGLHCAGHMADGGEFCAGFIFGJHKUIAMGIFGVKCEDEEHBIKEJBFHFACCACDEBLACFTDAHEDGBAILFJFEDLCDONEIfADACGBJAGBEFJFBIFCEEBCAAGCECJBMDGOHAHBIABJOAGECFDHCQBDJCCCMGCCDDKDFODBDFJLMABAFCCEHDAEHAAECDGOUAACcMQDIAGLMRQBIDBEDJCBBFDBFHDBAEAECaAOJERTHUHLMDAGYGIDISAVfDIJECISHNFBEAFGGNEGCJADARBFBAHQMACAUQDWPTBIDHECKKQTRGEDEGACOBBCCIAIDMCCUAAAPEQBGMHBRDPFBHPQJABHgBKMHBCEeHKLDPCGDAFTIHDEFEAFNIPBECDEGGHFGBABBMUAIGHBHDGCFACGIFBEDEKBJLCLgBADGDEIHKAAACKAHACJBEYKEMKJFDIADFADCKBBEACDBHECCACACFCECBIAAFAFMJIHEMEbSWCJLpLABJIYNRVITBNBTAbFNEAFCQQVCUMNJdDCELGIIZDIADCBHMTDNKCJGGCZEMQLPZIUGJCAAVNQIDIABCHHNABLKAONCOSBHlAUBCBEHlFGGAKLDIVLRSETBOITAOOFLjMBDBGQIfEMGEDEFSfAZSAbQeITAUYFJnHQINLIMNFAAGMNEMPLTGKPBAADDOIBNbHMKDPSBZdOKEHPIKhPZWJHKOMDBIqCHfFGQBAIGRDCMCKLESDPNFMJCAGPHEQNfXICFKDSOTLECFOPMGFEdGILIOUJBMgCThKBAAIUcXGMCGQTKMLFXFDAKCMKDKFEFGUEAGEADDFOCAKDHDQCDALFDBAOLCFDAJDDCGDFGEEBBFFAFCDGEAHGKCAFLAJKPCGFDBCBEGFBAAIABBANIBEQAFBDAQABDDBGAIFLCBCEkBGWAAAJCBLIHJIHCGGKHABBHFIAIAADOBIGCABBICEGJBKNAKFVAAECJBAAEJBBDEAOCBHBDALDJCJJMFDDBOEGGFHCDJHICABGMXCTEHGBCHLJMLCIHIJMFMICBHHGDGDCNFBIGCIBbVCHGDOSBEHGJCQKEEGJASEXUGDFIDDGDFHFMBKCJAAICECAKJDEBEIDQBIAIJFCBLBIGHKCDCGSHIEPENIIFOKVIKCAALHIHFAFEBGJTEKBBMDDMHCBDEBFEAILKPFLHHDBEEKAXOEPJDLMOFCAJAONMREODdRPDFLNABGBNMKBHCDOBQKFHAIXTDCMDLCBBDJLKAJBHAEGFVMFWENDFECtACbBeABILDBAGCUPZAGHFBEOQDBERIBJFEBOIFLECBIHCVSINYJBCDKLiKMANMiLQFBFJFJIVNKADBQCHkHAZIGNBBHDTSGPIQIMGCHDCERHQHMDJNDKIKGLGCBKHBMVDIJCCDIAFDNCEGOGTGDCLCAADHBAAKQRCNANEIFEKAJJMDCHLKBKCLHELBLFACNGGGCBWBREKHFBCFKPFQAGOCLKDBLAHEJJJMHBMRCKDDCJEAOBDMCGFDEAGFBDFGDZQIIKKYHWLLIQMJYCWQKMGFSWDZFSBUKbXXDBENAOHHBFKAGARDGCLaKKMAROHDEHMIEAOHKCNPHCEJCFDYKAFMOIGHACFEILMEGFCFGGFFCFCDMLDOAOHESEOHFIFEDHFAEAOHQCACDDCBaEHEICDEBACDDGFGELGDKCMAGLJREKAHFFAEGHDFOQNDXHRJOVDTNRMFTHDFBJGAHBHFBQFGTHFDEFFACBGILDGCMjQOFFQNEJDaJTNFQGJKLEbIAZLMAGFBCNBGbFILgQQLBFGVQCEGFQNAQbGIlBPZGIDpqGFWMXIQMIPDBeDSfElUJZAUFLQGWQNIDKPTUROIBTBaODRAVPFUIRJEpcTCBDFHFBGlDfCEABOCEAEJBCAAUAFBDEGGRZKVIEIMDMQMP1KECSYGFJEDBNYYMlHSCMMAHFJDaJDGiPEQEFCCSDKFKJMIEIYEHCDEHHBJBCKEEIBJHEKGAKBKBPBEDBFJOKHaGASDFEABCNETBEELDLLJAHDBXIUFJCCAEBCAHDEIBBBGFECAGABEEACIAEDEGNBGDBGJAACABDDGCLFAHCFGELRDCCDEACFEBBABAGCCFACEBCAEEHEIABDECDHKCACACIGDJAGGDICBDDFAIHDECCCBAHHADDCGBDBBHAEGDIBAFCCAECAAFECGBENECCBFEGGALBEQFCIFDCBCEAABCIDGDCJAACDGFHMDHGEIHGBEFKABAIKIAAJIICAGDFAEFBIAFCAGDJAEGDANMGKEINDDDDBIFEAACBABJDEKBAAACBCCBCBAAGGIECBMCNLIMCBCKMADDNALJDADEJFBALFAHMJOWTEREJIGIHKIKBGKDJDMHUGBMBAAAMNEBDCECCECADCGHBEEHCACGFAABADGABLFKFJADEABFGEGBGDIBGEBGICAKJFBAHHDSLFLFDCECEBGICDEBEHKAEGFGBOCEEAICDFCKDBHICDDFNFCDADIDAFICJBKEADEAFEBDABABGCKADAKFADEAGAEBDAGKBFGEGMYAAGLGJMSIiLWVHELKNEHWDOQIBAAFCCIIACFDCGHACFCBCCAGBFBADEBFDJDBEBCAEABDCBBBBDICFBAECBBBHEGADFEAAACDAECBBDDBBCBJHDEGKCBCCGEIBJBHGHLKFEEAFAGDIALFCGADMFGGBIABIJFFBAABCEGLDEIPBBCFGJCGHBBAGDEFCAAJFDGGEADACGBBAFCFABIAFAICGHEMLDQHDDZMQJKAIEaBUFAMMFKDADKKHEQCLAUDKAELHECIFCQPBCFHPFEAJINOEWAHJBBYTKSPEEOWEIOERACGCGGHAAAEfPDGEJILHHQWEFACELAVFQMBALiEODPFCBPBKBWJBLFDACEOAHKIFKFABBHIGMCEIKECGMEBDAJNDNHPDHDXADHNVOEKAADTIAMDJDEBpEAJCEGHDOCEDGFCCUHiDCIADFcPCIACBDDDEDBBCCCCBCBABBBCDAABDCAEDDCBABACAAEDDDEBCCABEABCBAACCCBBCCEBACEAEBCCCCDBECADECEAAACCBECCBDCBCBCCBEBBBBCBACBEAECDEEACBAAAABEDACEDECABECCCCBEBDAACADDCBACBCAEBCDACCBCACCAADACCCDCAADBABEBCEAEEACCECDADAAEAEEDDBAAACBEAAEAADAEEDAACACAAEABCBDADBDABBCDEBBCCDACABAADAECCDACDECDAACBDDDEBAACCBCBBAABEBBEABCEDDCBDDBACDBBBCBBBACKACBKGIBBAEDCCHBAAHGGCHARDDBFDCAABADABMBEAOEAAIBAAADABCDDDODDBACBAAACCAAABDEABEAEBBACCCDBBBCADCAABDCAADCDACCEBCBCCADCBCDCBCCCDCEBAABCDEEBAACACDECABDDCBACDAAADAABABCACACDEEDEECCCADCACCCCDCACBCDBEAEBCABACACACBCCBCCCDBADEBDACCEBDCDEBDDCEECCABEBBBAECECAAEAADDEBECECCCCCCBABBCCBDBCCBDECBDBCDDABCEADDAEBECAEDCCCBCBAABCCEEADCCEDCACACCCAAACEABAABBCCEECACBAACBEABCCAECCABACBDBBBAEAEBEABDBACBCBCBBCECDCCCBBCCBBCCAAADCCABBAAAACEEEECBBADADCBEACBACACCAEBABACABEBCABACDBBDEEBDCBBCEECDABAEBCABAAABBEBBBABCBACCBAADAABCCADECACCCCCBDDCBBCECEEAAECBCACADCCBBBEEACCCDAEADBCBACBCCCBCADBADABDCAEBECAIMGWGHAPLaQOKFOIRPDJLTBHSJHJLKALCADDDDABBABBBBAEDDBCABCBDDCECDBADEDADACDBCDAABCBBDBCDEBDAEBBDECBCCABCCABEABACEEEAEEBADEDCAAEEDCBADCBABBBCCEDACBEBCDACCCADDBBDCCDACBECCMAEIHFCIBAABFEIBDDAFEADBDCDHDKMGCKGHABAEAGEAIAIAGKKFKBIDDIWIAQIIJIROCCBBGFEIGGJCAFFABIGCAIDPAAHLFFHGJCHEEHBJBEBHCHOJGCfDDACQBJACBGBDLACDAIBCDDDKECCPDKBIQDAFAKAHJMAEGBHFBASJEFBGCOGCEHFIDFOFFFAFJIDBDFGBCFDADHECBBDIOUABDaMYHKGELIVOAEEAEBJIBEFFDFDBDFEBCAaEKHIPVLQFNMABCYGKAGQHXfFIFEDCSFLDFAAHGCPGICJBDBPBFDGFUQDDGUUFYPVDODFGCMKOVNGIEAIAAOBDCCMGMJICAUABCNCOFBQNERAHDDDPKDBAFiDIKLEDGcJKHBNCMABDTKHBEACBBHGLFIDEBAEFFBAAFDMOBIGHCFDGKFEAGGBCKCAODNLCLaCGACFEIAACCGEMDFFBNECcKEOKJCBCDCBEBCKDCOCDAABCGDBDBBFEBBAECBFDHMIGLAIGJFADDRLCEABFHQKEQEAAdEIBEGGIIFAJDAABBFBKBHFACIACDIECJIMKCCECMCFJFCAGEHEEADDCRGAIIOACBGGCBGCCIDEHISGOAHCJHECHBCGDLBOFRAAECBEEHRLBCAFIDGGHAHAFUGFBKCMMFFFQDBBOECFOEEECCHFNFHGHFCEABCMANDKEBHABCAJAAGBIEBJDARCFBMHHMCDWRALBDFJODFDFBECIGRRBBFBFHQEBGBCIPQUIBEDDHHHHABCFGLFJMVJDGADAEFGCVKBCMXFJDBCWFGFgGXBZAHKODeZGGGGHPWMKACBABODQKDIJBFKUEBEBCJDDIBBIADDOADANHEFGIFBBDCDCAEGACGACABJDCDEBMBADEIIAHHEHMLDBJCCEACKFEIAEAEAAPOHCQBHEFFUBAHFACBGFNFDAEkBAWBBAFIAHCFLMDEMMELCDHDCEAIBCBQCGGABADMCEGJCKHAOAZFAGCHFCFCJACDGBKABDABDPFJAJHIDBFEQEBGDHBBJNEAADCMXGPGGaJODGBAJODIIGOEAMEHUAIFFQnhIIINDYNIXHDFKqEQIQGGMMKZKfQBIHXVcGBIEAQCBEJMBcHOUBQIHHHQAQMIKGPDSEGLEEJHPJCIDFHBYDOELHQZFUfILQKUBBJJICMJDBFKJCCCKFOOACKHLBHMKDMLFECPCOHKBIHDTDWCESPDNEYPaGbCHBWDJHJFEBGOECLQBADKABWIJNKLLLBALKOIHQQNSORNMDJSEaMOKXNGLJMRSJRIGRHDIcMENKJJDcGGVNAQGDJTNbALAAELIWjDVJLAYOjciKJEVJTPUVKJYICLDibbEBHMHPOJMDNJPQHRIATEMDCPAOCGLMAHACHBALFXgJOKIGIMHKNCOIVQPKACPKHFBCKKFRCVQXOJKPJDQQAUFHTLKCIHIOAGFAUCACFGHKCIICJOHFAKGBUDINODFMLEDDWuKQURHEIHJcAHDCHDEKIDLTDJHOCEKAQDFaRPQAgETMYMDYMGOFEFOeGEFUYHaQTRHRTTUfLQBgBDdVGIBjMTISFhAcURDLAILTXYEBYNPAIQBUPYKFIKLLUNPQDKDIUoCJFfJBUEDIIWFAEISFWGPJSAFAJEKJODGBALWDLOKIAMFEJQOBgQFOBJXMNAOAQDFKGROSZCLOGIFAVCBIGRFIHXJDERHklIJPVGLBDFIIGJKYFJINSPcLFWHGFLPMEWBMKXAUGODGILDcIEFMQEJHWQMILGJYCLaWGFAATKQKFKEEAGBCMCBJDMHBJDCCbOROMIONKIOAXKADACDNGYHPGNDGPGNBOaFIAXYiPENGVCHDAiBAHCbEGdWBlDJAAJUIKKGYOPGBQTPQPMKHTFaMBVCdTAYETLKjcVAFDHHFAIlFfEEBEEDIACBECDBYBJFFCIGRfKVIEKKHIWKNvKCAYUIAFEJHJcYInLOGMMAJDDDgJBBiVMOEBDGSAODMJGGECSIPLDMAJQBACFANFCQADEBQRCEAfJEVKELMEBUEBSABEBABFATCCGPDPPFCFCEZGQMBHHEJBOFAEAELBKDDBGEAELGDNPIBEHFFIHDCECLPDAIDQBEEKBBBACGADMKAJCCCCCDLDCAAHJIFCACIMFHEFCDCBFICCFCADCBCFABAADBACBABAAAAEAIDFGBAABCACBFBACAHABGBAABACADDCDEADGCBCDCIADFGAAFFCGCMIBDFOJCCKCHCMOMGFMGLCEAIAAHBHBBDCEFECCCFGHGETCGDJFBAFGCBAEEBAFADCGMDBBEABDEACDGHAFKITHHOBEVSCHGGEAAAEIAEOAKBTEDCAJDDCGOBIFJKKTLHEQBPNMMLUACNXGyFDNDKHTCADBBEHJNCIHMIGEAEEDDKCDAAFECCFRAFBEIHGJDDAABDECFCCDMCHPABEADFABEFDAJDDFBCHBCFGBBBFBEDFBGDLCBDCBABAECBBEIBEEACBEBBEACDBLBDDDNBBECBDEBEFGBDEAEHFFCAGBGMFGCADDFFCBGCDCCDCAIAGCDEAAAHEBEAXACEABEXOAGAJJHGKKBWQGKKGEGNDKNCEDNJZCEBDCDCAGDCBAADABIAFBAADAICFIAEHBDDDDDBBABCDDCDABIBDABCCAGCJCACADFCBFEABEBHBFDDCAKCACAADFCEADGCAFOKHAEAAEMDTCFCKLFfGCOIGDMMDLJHPBMIFDICBADAEACEBENCIUIAUFGIXECJDDAFCDECDCHHGDDGGCMBFEBQQLFHAGIEIICFBMOEEABDFHDAEAIBHCFEFFCCTGADDBNDCDACGECFCHCBCGGACIDCIFAGHEBGBDHABTFWHGCNcNcNFOLKBHCFMGHQLDMWPBCLBBOSGHGAIHFXLKOAENiBODNADDVBIBSFBLFABEGUBFQEDCCCAAJMGEGIIKBDCKDAJCFJDRHNBLCRFJLVPOAIBDJRODMBFBIBrCEFDEMHHMAAFCCAEUBkADICBAcNBGBBDDAACCCCAECBBAECDAECEBDBAACAACQPLEEGFABSAGKKFEAKSBKGOIPGAJGMGBMGEFKJHORIJINFBCOABCEDJGCDFBCEHAGFDNFSPHHERCACFAEDBGBAICEQDILEFXACFAHDFJBDIDDOAAEDAHBBEDXIDQDEFHFEABAFFEOQBAGKCLGJAPACEGECAGMIAGKIDEGLJCGDBFGCMDLIDAFBECLRDDAHGIBHBBCOEENDFBIPOEGDEHDKBHHFFKMBETCDCFBBBFEMAALCMDDEKBEFCEGGIZLFAADACEAMBEFBHHBASEGLCIJMCFOHKCGAOFHQGGAHJGBJGENBAEQIUEGIAJPKBJEPCBMHCEAQBCCOFJDFAKMLLAFAECGICJEMFAGSVCBAEOLGJKMGLHIAATBBIFFGJIFKEBGGADEHMGJFGFGSBCRLSJAKEDGJHYACVNBCKREFBFAAHHLCCEcCBCFGNIECAHGLRNGGCPDDMCNBIBKDAEGHMBBQEHIFIGEDLBJIOFBGEGEBCBBMFAFHJFAAGANAKDLMFCGCHPIDICJCJTAAFDEBIFDGIJDCRKGGIICBALEBEHKUKCBONKEKUGECCIOGKFLDECKQDBFDAEACHIEEIBAAJIDGUFSDNJDIEFLKIPCLDGHKMALAIHQGHPOQHILBFEGBJGEDLHFMIAJJFGBDJFDEDFJCNHBEEACRHPAHJOGGHEHFNHMEDGGEHFDBDEBABHDFBEIEIOHNCCBHEHCJQPDDCRENSFLIAUEGLLDCHAKLAIIGGFEHMJUIBFCMBGCIJBHAMEHNAEEEBBAGBIFHHADHFJJMPDBAECIAEEMFBGFNHECQGAELEGCBBFMECCMHLDUCICJEGGJENGAAIELFYKCBBCBGQEFAHIMFDDBFDCGGHALALMADABBEFLEGDDFKNHDBFDDDCFIDCIFEXDHAGBKEAOCICAEMLAACJBBIDCBFECAEAXDBCCgCBMELIJHAGQCMJCHDEADIEIGGAFLJAEMDCCKEDGEEASFBHDGCAJLHAGIDGBUAMIEICHEHIAAABLHCAAIDGJGAJEEGLHEJSXGGDAEGGIFJEmKUCIKLADFCHACaDCQFKJKROGGAAGEBDFEMIIBHKFQAAIDGDBJCGGEGICBJJGHBFVBAVGOJFIMJHGDKGBDIBAKGAEJMDOADGNACIBUDAANCCCEFHBEHMGHEEUCCAFGJHUEACDEDFEEDACHTKABDCJJLCBDJKHBIEDBZEHGJBBBDABHCFBBGMEIABBBCCGKBIIKCJIBEBFECFEDFGDJCCDABBJBDGAIBJOGEACAGGNEEECCABAUOPJHLOFFFKAFQAKDGBDGRBQABBMRGICMCBMBNIBCABEIIBMBBBDFHGBMIIKKHBRGFFCNBPcFMEDAJDDEIECJHAIELJCECMKEBKGIACBBGGOCAJBHABHCBTACCKGLIDHECDAAKDIEGJAKSTDFCDFSHCCACDARMNJBODEJBBIFMAAAIMFGGCGELABFMKCBBIAPAFRPFDCDCEDWFHTHEHPGNCJBAGGAFFAKFICDBEQHBAOBMADLEAFFFSFFMAFIHDBREIDGAGJCPDDHBDGIADAKGNAEGBGHCBEMCCAKBHAFQAEECJMMMGJDDCJTMRADIFKIBSCGGAaGDDGJJAEIADBAMCFHKAAKFBIEAGDEVGFVBIBHLNFDBMBJACFBEDEEMHAIBEDELNHLIKCMENEAEGCBNAJCBBAFCJJBBDBGFFOHWMFIGdLUIOEELMREAHCBEDEEBIAHKAUFEEIFEPFCBGIALIFAHJECSEAHPSGAHJKBICEFGBFAGDCFBFVFCJKDCFEYHUTADFOHJKBCL9WDUBFKKFBDTCILYCAKIAGGTCEAGAFCCFEIAAFNOIBFEEEFHIAKGCCKCJNHPAECMVcHAJBBIFVGBHEBFHEJBDBDCJEFFKCEDAKDFHHEFAAKABKFAHFJFKIBPDDLBMGLGDGHIHDFBKDICFCAMCVCFHNAIPMAECBABGaIBFHFDAAGABOFHGFDLIDDRACDBGBDMHDJBEJEEGLFOEDNDLLFCBFOMAEBHJJBECQQEAJVEGDNEAUKDONFLHPCFCTHJEBICBODGHHKCBRGAOEIKKEFKHLEIHOBEeHGGAPEBCECJFECADAFBLCIDKIDIAGGGCABEBEICACABKDHJBIALHFSBABBLDRFBEAICTMQKECLABAGDCMAJBCBBBFKJSDFMGAFEQSHECBAANJLGBGEKCFEFQNOEPDBDIQDMLLAGADMALHCMGGKHFHBCHGABFADCHLFGFGHIEGEAFFCECEGQBLMFHHLGGJKENEIDLEAEBKUAHJLDAOMIAJCJCBCEAEAABDIKFGEBDFNNSEJIIFBLBACBIMDOHFDCGANMODHHNDDGBBGGADIFFXAEJAKABHFHAAFFBBCDCDBFIBFEFDFEIMBAILJFICBKGKFCRGFINFMPJNNIMACCEMBIFHAJBGMIGAWAKKSMJASREDLDEADOFGEEEABFBGCCQDMAHDIBNTCKABGQDCBCTHANCBEDFCBDBBAHCWCQAFJCEBLFDBHCEDQENDUICEGLAHFUAGAEDJCBBIJDKHFADLNGMDGEEFEACACGIFABRNFYNEGRBIFBCAUDICGCCKEGADKEFECBIJGDVAIAEILRDGCDCSHEBFDGBFEEDGALCDOILABJHMCSBJIADCEJLDBDCDFARCDBILHTBALQDAANFCGHKHFCAMJHBLMHHSFGMDMCHABKFGDKIGADBFYCAMFDFEGBCASKAGLDHBAHBGMDJIDLFPPAAHGACJBDbTLNBEKNAKBEABNHGEFAKAMAKLICFDAAEEOFJFKAGMDBCCQACXOBBDRHIBKJELIDPFEHAGGBLCEDAEJAGAEDFCEBKODAICQJFYABCDQHQRGFHMDFFGGLIIFDDCKAAJKDTMFJABSDGIMKGFJIDBDMACHEIKEPDHHNJHOFBBHBGKUHBEBECNHBEAMBASCACCISNNIPAHGCMTEPGEBBKLADNGNEAIBEQDLCXCEADDFIDJPLHODEBBIBIFMFALANDBQQAESOMEFKFTBFHABAJAHKAFKMBDFCGJFBCAIPMKHFNKGCCGEIBEJAHEOEGDKGNABMLVMJAEDUEFHBKCBFCBQBJNISCHAEALODJAOCHDFCIPBCFCGGJHAHICKFBUHDAIAKVFCDECLCBLBKDKGODAPDIBMDDCOHBDGBDMIKGGKACAGABAFCPCLAGCICJAFAIIKGFCCGHPCBEGFCFEMBBBqBECLDEIHIBCMGHAGCICJGCLDIAIIBBIDPADEFACADGHKIDFEBFNKGXEBDMALJWcUWEIJPKIBLKAYPFPOEAPCCKNUFNIBAFLNEGGEACQFCEMGBHPACFGJIKGHMGIFDCPAAEACTDEEEGJJGDFOEAHJMLFCEJBBCDRHDLGWLHBAECBOKDEFBEHHBBEIMEGAGAKKABAMBDMHPGCCGVKFJEHEHMRDBEIDMDICEDKBJDCDKIACFTGFFABKBHGGLDCFLTENRFCHEKHBAEHGBJEIBFLDRADAAEEGDFBQFCCCFKAAGEDDGDHAABHQMANDJBKHKEIAEDCGGUCCKCAKENAIDKCBJGAHOEKCFIDFJAFEDGCKBDFMCBSBADCBFJADADEBEHIQAIDNGEOBBBCBMCMAAGFEKBFBACGFJGEIFBFBGAKAJKBCITTAGHPQFFCCBGKFKDBACBOIEQINBFOCKDTCCDIFKGABBJMLFBQAGFGIRGAGDQFFJHEMDEEEASGAFCEVPLCCQFTKJHBDQTDFBMSKMJRJEHDNIHGADEGGAMAEBEDFBCGJIEANLAFEEICJCGGEIAEEBMDKQFJEIQGDBDCEMRNCWILFBEKIDHPcDJDJGCBBNMCDBINDADHTFBIOIGAGTdCOJGNTMLNGLIAPJVBCNTGABHDHDDKJGAMGEHNIFBKEIQFMCFFCMEGGJDEILDAGCEJAEGCFHIDHDAAABJAIEICLCRGIFBIALHIAHFBAJBICEKFHNDINJBJCONBHBIOBDKCKFEFHCANBLOGECMIMEBAHGGJGMDBEGRAeDNAAAADFMFAMJCHOBKACBTGFGAFBHEBBGCPCLGIEBDBGIBICFCCUJLGGIBGASDEKOFGDGQBGEIILCCHGKGDMGAHMPFSTOFEJLDCMBDCECFCDBBBEELCEHFTHQLCHCNCACFGAHCIBDMEOQBGJGDNCGDADADFDFIBFKBAACBDBCEBRMAQDDDHHEAEEFFAQWBAGKDJBNEJAAIKGAIKOIDIGGDAELJGEBBBGDKHHGADBDIAJPHDBJBIAHCBAMAAHAHACDEECBEDDIEFDAHMKAETAHEBBDCKCMCAJDOFBDIECFDIGCGVHBBAFACCIIDACHBDJBMCMNDMJOCBMFGECEGDCOCAADJGBHEGJABGSIUGEADFNIDJELIBOBBICUDAASJHDFBEIJDBAAKKIKEFCKNEEUREBFEMJKHQKENHIAGNDFMDDENCLMIBEMDFBLOCNBEDCMEIRNULAKEJIFFQCCTJACMNHFBJCEJJHICAUCIBHERGEDOHKLLRAKEHBCKEFHKBECCECJGBEOGHOFDEBDFCFKIFAGACFBDBAIHBJFLDACAFLCEAJKJCEBDVCBEEFKHVIGHAGAGFDCGNJCJGIGCIEABLICIAIWICAQLGGKUGAAAIQKEHTFGAKMHDDHBIBEFKOAIDDALGACSBMHHFFIAFLQGJAHFGFGICHHKNMIBPIMNIJFHBGFFECFNFAKGFJJFEFFNADAEHJIHLDKFACNFRGFDKAGDCDDJDGGFCIGLHFAFKCDHJABBGKEMSDFCABHKHBHSJFBARBLMDNGBSCEJJHGHAQJCIGGCDKLENWEBABGBMIIRFCBQEFTCGCGDICCCGJDHBHFJFFIPAACJCKDGEMFBOBJJIEWIBCHEDECANIECBQHTCWEKCBAGEFGNCEHCAJDWEGDHABEUIFGDIIDHBDHDAECDENANKBFCCEEBNEIBBAGNHCFBAJBFAEDCKDCTDLBIBKGDKAGACBELCAEHDHMFADLGEAGAZFBDIcAGMGJCFNEDKEOHCJBICHKCKIEAJHBCAKDGAEEHEGDGSDFADKEFLFJBDCDGEQLCMDIEFAFKBKBJPHDAFEACJGHRAIMJJAHcdIIBABEGKFJAkMeGMEJAAHGDABcBEQFGFIPOAACEKKBHBEKEIBBIDKBDSBKHAHAGGIIAEAJPIJCPTCDPAQLDDGBDGDICABEABMAHCBKDMGABJEECHUDAANBHKMDFJKFOCRCKQDBBDBLFYIDIAEHDCCBCGDTAFBFELLPABDDIHBMDBDRADKJDADBDEBDNBHBIDGCFAACBKICGKGEJKBICLGAFGBBGDJDGLHFEHBDKGMBLMMGEKCICLEGEDCBBEQMLDJHMBDBMDFMAIFGFAMPCIBCBITCEAKEAOBLIFAEDIIMBMABLHDNIDOKKMSJBRMDHCRBPYDQGJILAFBICALDCMELJECCIKCFIGADCCFGIMBCFCFCADEANEECKGLMFDBGDABIDIEGHBGYXHFCBDKJADCGHBPELHDMCBHBBIBMBEDMKDGEBEGLCBIKIECDKGPDFNNDJEBAAHODCXHCAHKLGFCCEGCFHDKDEEFBCQFAFMBIBDJKECFHSFBGABIJDBNAIJGBCLCTFFFBBICDJDKCPCEEAEHABIMCEAEBJBFQDBBBEOMQMHDAEHFONCBEDQGESBGKCQEDDEJDJCBCAAHIGFJIBDIJEICCEBEREHXFEFLLFJDCKDRBGLDCAEEKJAIDACCLLJJEGAGELCDGIBCRIJCDDBJDJJEDFAAADODWIHKDXJOGKBCJONEAJACGCAIDEEFOAUDEKEJGVJCAAKEJGBDFJMAQGCHPUADFLIDOGCFGCDAIDAFEHPPBHEAADCWJUJHABMRHOGKH5SHWABEGDBEPKEHOKGIGBCGLBEEOABEEAFGBCNROICFCGMHFQBSGBDEILLHHGCEIXYJBLBAEHTIFHEEFFMHCJBCAFBJHQIGHJIJAAJIFAGKBHOFAHJPLIKFNACLFQELIDCPBBFLGMCGCFCCGCRHFFDDKJGBGBBCBBOECBBDFAACAAQFHIHDDMDBRDCHDKBHGBBNBAJABELFKADHFNLFBELOIBAAPRJFCKUMCBLPBMGJEBMMLMLJLHNDHCRHDEBMGDKJAHJMAAPICQIGMKADKHFAIHOFAiHAGINCFMCBFFCCADEJDNCGAMADCEGCCKCDEFGKBEFCBKFJDCIDNFAQDACALBPHACBEBLKOGADDCBDGFDKCFBCBACBMJODDMAEAEGUBGBBDALBHCBIGAAECFQJKGPHDDEIJIFDAEBHOEJHBOGGMBFHBDHIDBDBBBLLACJBJEACEFLDCIGEKOFFMJBFJGEPKONGEJJIEEDGKCFFHBCSKFEHBJCDCAABAABDGQNIIEAAJLQCJKKACNFBABGKBOHHFAKEDMABHHPCDEBJCMFHCDDLEDDEMBACBAEAFDRGAAGHHBEDBKJFHIKIDCOLCFBCBOEGHCHQHEJHQNFHNIGCBIKKAEBFAFEKMKIAUGIMQMNCULEFJAECBMFMGBEBACCACGQCIEHDKCFNEIEAIODEDBNDEPAAGHDEBDDCBJBUIUCFDEGAJDCAJGIAKCHFUGAKGHCHDSJBDGFHCFAIJFGBHCBDHKMBGAEDACEDBAMDABNPJcHEGXLQDBKCSFKCGGCIGCDDMGFECJIJGARCKCAGJRBEABCOHABBFGDHCCBKAHCDIOJCEHJMEUCBGFABINRAIHGCFEPEDFGNFTDADSBAAPFEKNMJJIBMLLBLINGaAEQJGEDEFMDECEKIDADFUCCGBHFCMBBDQKFEHFAADBACOAFOBNJPRIBDGMCLCAfTLHDEKPCGDEDEPLCGHBMBOHEJEAFIECAGICHDGCGGABAHICDXOHFCJLEAQFCJGCNBGFABIDDBBADCFBICEDCEIDGMAAKCIHBWDDBAQFONIDBEDLLECJIGLABEKACFKALKFPADSHCKMICBHIHADODGFBGKGNDJFNLJMDLFFBEKSFFMCABNLACDMEFMGAACEQLLALADEMIRIPKMAEMJDFRGNEGIBASDLIZBCBCFBGHHHJHCCGBEIFGCIHBHDFBAQKIAWKICDOJPCDJADBBALEDBMIAFFGADADEDEJOMEBTKEGCMCMDBJCJIOGCBQGJABOTPQPBBBQGDFGKEACACSBLPMQCHCBDNOHJEKCBDJDMPDABCKILJALIGGBFOLBACGOfHDCAIJGCJAODKGGAANHEFKDECOLCFABCIIMKCKBGFDDHGFEJCFFGCIEHDDDMIMBAEGKFNBAAIDAFMQFAAuEMCVAGEFKBAICDBCDGAJGGTNMEICFBIFRCGEBBCGCELKMAJCHBRIIVEBBKCNFOYMYEGFLIKBLGBQHNNKBANACKNYJLGDCBFJDEIAEIGFIAIBDDTBADBHIKGDICIAFAFFEEDETAAEAGJBKLESEGJJIJHBCHBDECPDBNESLNDADABMEAGBBBLFCCCEIBIBIAEKCAAECDMHLIBGETSDLEFCJMRLDIMIMFEECEKLHCCJICCALbGHBIBMDJAKJFADJPCJLDCHBMHGBIJCECIGHFHBNEEGAABGHDDEBACGAGAAACFBCJFAAABKOBVAFAQJKCBCCHBKAQGEMIBIGRBMBGDBJELLGCCADKBFPEDCBKBBBBHQBIUEECBDDFAECFGCBDKOCIBJEBMCDCCBSHMCAIDGKBBBDAABFECCAAAEIDKAPMDEEPTAGHNMFDBCDEEBGFAFCAKCGKGLGFOEMFPCCHGJKGCBCJOHDDMEEDKIPEAIFMFDRDGODEBCGQIABDIPPHABIBRKFBDFONAFEEQIIJPFCFAHMFECBAECGMAIACFHBGGJMBEJNCFEEIAFCGACMBGGASCIODDCMQGHCDICITJCYEJFBKKGDDNWFFAJGECFNOCFDBNFCBFLFBIUGADEPfBODGPLKFHGHIBJLHABLPICBJBHCBIFKBKEEHNGFFOEKONSBAFCIKBGJDECJDBIFAFGGEAJDKFLFDEBADCEIOENCLMGAFGELCICHBCCHBEFCIBFRNKLRAHAOFADABCBAIACDIBAIFJCJAEBGKCIGBEFGKHBMBBCINCYDNEAEBBHGBAOFBHSDIGEDbGHACFCHMBLKETCHKCBDBCBGEIAFAAAAAACBACDCAABCABABCABBABAAACCCACCCAACABCABCCCDBCACBAAAADBCADADCBECABAACBDBAEBACBAACABDBABBGABBCBAACCEAAAEBCCABCBCCACAGCABCBBAABEABGABCCAAABBAAACEAAACABACABBBBAAACADBACCEECFBICADDCAACCAEAAECAAACABGAADDCCABBEACEBBCDDAACBFAACBDACEBCEAEBCBABCAACBAABBCACEFACCCEBABBCBABAADACDAAACABCACABCCABBBBBCBAEACCAEABDCCBABDEEAGBCAACAAAECCCBBADECCCBACCDABACCDCAACABAAAABBCABAACAACCDACCCCADBABADACCDACBAACBAAABBBBBBBBEBDABABBAACCBCAABAAACACADCBAACBAFCABEACABACEDAAAAAABBAAABBBABCABAACDACABBABBBABABAEBEABBEEABABCCDECDBEBAAGAEBACCGABBAEABBBAABAAEAACCABACBCCCECAACDABCABCBACACAACABAAADBCABACCABAAADABACGBDCAABAECABAEAFEEBCAAADAADCAAECABAAAAAAAECDBBACCAACFCCBABACDAEEBAAACEBBBAAABGEACACAHBDAEFBAADEBABAABACAAGBAGBBCDBBACDAAACAABCABEBEACCADABCBABAABDDACCACADACADAEAAACAACAACCDAABAAAAAAACAAACBAEACCBAABCAFACBAAAACAAACEAACABACADDBAAABDGACCAADAACBACACDABIEBBCCCDBACCDABCABBABEFAEBACCDAGCBCBCBACBCCDADCADBBBBAABABBACDBAABBACEDBAAECABGAACAAAABAAHBEHCAECCACAEBADBADCAAABCCADACAAAACCAAAABAAABAABAACBBACECCBAADBBBACAFBDBBEAABECBAAADCGBABCBBEAACAAECBDADCCBBBECCABCDBACABCCCBBACBABCLAAAAAAAEBDDCBCACECCBBABAAABCBBBABBAADDCBCCABBDEBABCBBEBAACAABAEFCBCCBAAACAFCBACCABCDCCGAEABBABAABBAEBDCDCECABAABCBACAEBABEAADEAHBBCCEACCCBAEAGBAAAEADDFABBBBEAABEAAACBDABDCCCCABBBACAACBCCBACACAAACABCCACCDCAEAEADAEEBBABACBAAABFBBDABBABDCADDAECECAAGBBCEACACBBAAAAAEBBCACCGDCACAAADCEAABDABAADEACABEAACDAACBCCACEEABABCABEAAADAACCCABCAABBBAAAABBABCABBAAAFBCCCAAABCADAAAAABCABAABBCACAACDAGBCAADABABAAACAEFABBBDABCAEBAEACCBDAADDCBBCCBAAAAAAABBBBDAAABACCAEAAAAAAAAABAABDBAAACCACAAAAAAAACCBACAADBEDEGBBBAABCADAACCAFABCCBAFCACBBABCBBBCBCEBCABACCBBEACACBAECACBAABABEABBBABCBAABCCCBBAAAABBAACBAAABAECBCCBAACBCBBDBAAABABEAAABABAADECAACDBABBABBCACDEBAABCHABABABABBCCBACBDBEFCCCCEBCABABGRCABBBBACABCCECAEBAEBADCGAACEBEBAABCABDBDCAACCDGAEBECEABEABDEACABCCCBBAAADDAAABAAAEAACDAACDAACAAABDCBCBBACABBABBBBAAACFACCBCADABHCAAAABBAAAAEADAABCBABACBAABBDDACCABCCAAAAAABBBCAAAABBBEAAAAADBBCAABDDACAACBDCCABABEAFCABCBCAEBAACABAADAADBBBABEADAABCABCCAADDBAGCCACBDCAAAADCBAACDCBBACCBACCCDAAACDCFECFCBECCIAAFCGCCFBBCCBCBACHECBCBABAAAAABBDACCDAAAAEBCAAABBBABBBBAABACAABDCBCAABBABDCEAEAAADCAAADBBBBDACCEABDABBACCCAABCCAAAAGCCBECACAEDABABCAABAAAABAGBCDEACABBDCBAAABADCAAACCEAABCACAAABBCBAAADCAAACACCBCBAACCBCAAAAABAAAAECCCCCBCCBABACAACABCAAAACBBBAEBBACAAAABCBDCBEBACBCABAACAAACCCBBAACBAEABAAAEBAACCBCABAAAABAAABCAAECBAFAAACACADACCCABACACAABABADBCACAAAICACCAADBCBCABAAADAABACCBDACAAACAABABAACCAABCBAAECBBACCCECFABCBDEAAABAABCACCCBAECAAACACABAAAACABEBBCAACBCAACABACCADCACDBCAHBACCDCACABABBACCCACACAAABABBCBCHBBABECCAEBEFCAABDAADDCCEDCABAABGAFACABCACDCCCBCABBECEDAABDAAACEFBBAAAFBBABBBABAABAADABACBCBCACAHEEABBCCABGDDEBBBEDDDDBAAAACDEABABBAECAABBCBCEAACCFAEBCBACCAGBCBBEABCCBBEAABACAAABBCCABBACACEACCBCBCAAAAABCBABBACBBAABAAAACCACACAAABABBABBADAABAAACBCCBACAAABCAAJAAABBCAABEAACACBCECDBAAACACEACBBAACBAEAAADBCABACAAABCCBABCAAADAAAAABBAAACAGCABAACAAAAACAAABCCCCFAAAACDCACCCBABACDAEAAACEECCCBCBDCBCBAACCBACAABBABEAABAAAABAGCABBBACAAEBEACACCEBAAABBDBBBCCDAABCDBDEDACABCBECCACAAAEAACCCBBADAADABAAADAABACCBEAABAAADCBACAFEBAGGBAEDDCDDGDCDAABAABEABCDABCEABAAECDBADCGBBACACBAAAADBCBACBCCBBAAAECAECBCBCBCAAGCEBAECAACAECFADAEAACACACABCCBBAACABEADAABCCCBEAEECBBCBBACBBBDCCCCACACDEBCAAABBCBCBEABCBBACACBABDABCBBAABDCCBDADADDBABBCCAACAACBACDACCAEAADABACACACDBCEBABAABCABEBCAABBAGAADCACACCBFAAACEAAABABCABAAACAAAEBAABAAABAABCABACABDCCACABBBCBAABCBBBABACCCAAAADCECCDBCBEABCDBCADEAAADABAEFBBACDAEAAABCEAABACCCAEBAAABBABAAABAAEEADFEACBFAAAICFDFCCDACADCABEBECBACCBACCBACCACCBDEBBABAEABFAAECCBDDBBABAACCCCCACAGCCCCEEAABECCAACABCCACAAAACEBAAFDEGAACGCCACCBBCFECEBAAAGCAABAAAACBAAEAABACDAACDDAACADCBAAAABBAACCBHCBCAACDFAAEAAABBAAAAAABBFCBBACAAACBCCAADAAAFAAAABBBCBABAEBBBAACAAAAAFBBCAAACBAACBAABAABAABACCACAABABADBAAAACACAACFBCGGCABECBBBCAEBBBBABAEECCEACAAAAAACBBEACCCAACACBACCAAAACEBABFDAECACBCAABBDAAAGCGABAAHAACAACABAAAAGEABEEABBBAAADCBCBBFABACADAAECAACABBADBCAEBEEAAAAACFBADBCCCECCAABFCACAADCFCAADAABACCCAABCBDAAAAAAAAAACACACAAACBBABAEAABDAADCGGAADADGACCAEABHCAACCBDDBACGEAABBBCABCABBFAAAEEAAACCAEALCCAACBGICCADIBCBCCCEAECAAAAAACALBAEEBAAAACCBEGBBAEBCACBBAECABCAHCACBABABEACAEAGAEAEECAADEACADECBABCBHABADDABBAACBGBEDEABBCBEBCEHEGECCFACPCFBEEHABEHBEGFHGAIAGDFbEBBCBGADJCAHICMBDJBCGCCEGFBACAFHBKDDFEDEACCDFCBDEQCKDCDUHCDCKCDHOBECEGCBHCDOFCDUQCGAEADAIEECEJFIEBABFGCAAECMBACDLHBDDCBLCCDNBJDHECDDIABBDBHBElAdGKCFKBEABFEBAAWDDDFEMNPIGFFSDIBDBXCADEBHCCJaFGPnGJKBMMIJOiIGLCAGIVRKIIRFODZCDELvBfSEaAFFjCLPCMNOMRDJErSFnFUBTjAJKMFIJjCOCGHGBAGCKDBBMQAFQEEJGNHEXKCGBWHDHGC1TAAMLEEIFHKVTMDZDCIGHJLRnGLKPBjbKAGGMDbYEkBCgQOFBkAKLQiIAFGSJNDCnCCoHIWLEJGFPEKHKOmDLKBTMSWOUCeSLBODPHMKFJLYCFPDPiAOTDHePKDJXSREYTCPBSCPYKDNAHEHFMjUDFIPQGAKCTEOJBFIQNCSBKBcHHCCFDGNAEECHnZMTJJFBHPFUDkKHkgJnAuJRBjDPONHFXCHFIIKDDRedPBFCYVDFKJKFPKFCNRDQHVNHGIIJNTOGATWQmEBOAHGCZTKBPOEDDDDNSbDFPGVHFVNEMCEPcMTSTFJNDHSUEJGKFFUJCDdFfEGAICBIOFCbFNAGjBFBERTSMLYJODEGFLCBDUBFMhATHRKAZIEHHIKNFEHOGGLGrCUMdOhnFGdTNGRQsSQCHFACDJBBCEREDBGBIdDGKJFDENFCWEGKWTTNrkPHTLBVONIAXEIJJJrYDZaNBBJrONEZBdFKNIjIHDaLaMEIADIHSRGWabTIBJKHHEkaOPEJCXEAAHNIAKNHEMBAERJHmKIBTCBDJaAYUKKDLIBLyNCBgCAHQGAeCHQDgNJEbYSBCKLeBAHiaFKDEBYIQBCWDEIEPCYINJAJNBiAVRWDaEALAIIJDAZLSANpEAUAJR1QAGKvMIbnQRHLhXMSHgVCzEDKBGOEDhkDNJXMEQQJOCIGhEFVPBDqBRPSEBGBFVGELHSVaBXEOX4HNDLNbYBHPNTBWXLIXEGbEZXCFQQXQEVFRZBbFNAAAABACBACBHBABCAABBBAACAABACCCCCEBAAACAAACAABABACBAAAAAAAAAAAAAAABACAEAAABAAAACAAACAAACAEAAAAAAAACABABACAAAABCBAAAAAAAAAABAFAAAAAAAAAAAAAAABAAAAACCAAAAAAAAAABBCAAACAAAAABAAAAAAAAAAAAAAACCABAAAACACABABAAABAAAAAABACBBACAABAAAAAAAAAACBAAAABACAAABACAAAAACBBBACCBABCAAEAABABACACAAABABABCBAAAABCEABAABBBEAAAABAAAAAAABACBACAAAAAAAAAACCAACAAAAAABBAACAAAAACAAAACACAACAAAAABACAAAAAAAACAACAAACACCAAACBAACEBAAABCACGCCBCCCACAAACAAAAAAAABCABAACBAACCABAAABCAAABAABADACEABAACBABAABABDAAACAAAAAACAAABBBABCBACBABCBABBBCCBABAACAAAABBCCABCAABBAACEBABAACACAAECEAABAAAAABCACAABBCBABAAACBABBACABCABBCADBAABAABAACAAAAAACAABCCBAAABACEBACCBDCBCCAAAEBBAACACAACACABAAACAAACAABAEABBABAAAAABBAACBAAAAACBABAAAAAAACAAAAABCADBAABCAAABAAADAABBAACACBBACABAACBAAAAAEBCAAAAACACACAACACAAABABABABBEAACAAAABACCCABAEBAAAAAAADABACBAAAAACCACACDCAACDBEBADCCACDABCACBBACCACAACBACBACAACAAAAAACAAAACCCAABCAABBACCCAAABAAAACABACAAAAAAAAAABAACCCAAAACAACCBABAEACAAAAAAACCACCCBBAAEAABABACAAAAACABAAABCCABAABCCABCECACABABACCDACBACBBACCAACCACCDBCBCABBADCAACBBAAACBBCABAAAAADAAABBEAACEABBAAAAABBCAAABAACCAABAAACAACACAACAABCCACBAABBAABAAAAAAAAACACBADBCBCAAAAAAAAABACBABCAACAADBAAAACCABACDBAAAAECACAACAAABAAAACAACABAACAACAACAAAAAABAACCAAACCABABCAAAAAAACACAAAAAAAAAAACAACAAAAAAAAACABACCAAAAAAACAAEACAACBABECAABACABAAAAECBAABAEAACAAAAAACACBABBCAABACAAAABACAABCECBABACAAAAEAAACABAAAAAACAAAAAAAAABABAAAAAAABAAAAAAAAAAACCAAAABAABAAAAAAAAAAAABABCBAABBBAACBABCAABCCAABCABAAAAAABABECACBABAAAAAAAABAAABBAACBABBACAACBAAABAAABABBAAABAAAAAAACBAABABAACCBBBCBBBFACABABCCAAAAABBCBADBCAAACACAACAABACCAAAABBABBDAAABEABAACBAACBBCCAAABACCAAEAABEBABAAAACBBBBCAABCCAAAAAACCBAABACAABAAAAAACABAEAAADBACCCBEABABABABAABAAACCCABAAACCABBABBBBCABAAABAAAABCAACACAAEAAADAAAAAABBAAAACAAAAABAACBBAADBBACAACAACBEACDBAACAAECBCACBAAABCBAACCAAAAABCAABACCACCAACBCBAAEAABBAACAAAAAACCABAABABAABAAACAAABCBBACBCAABAABEACABBABAACAABABAABACAAAACABAAAAAAAAAAAAAAAAAACAADACAAACAACCCEAACCCAACCBABCAECCDAAAAABAAAAAADAACABBBAAACABCAAADBADEEAAAAACBECAAACCAAEEAAAAACDACBACAAAAAACAAAAABCACABAD-JFfSWQmKgYDeaQz-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AICBCQGEAAGAAIGGEEBBMBBHCAEACCCCFDBBBAKMBFJFJBGGGAAFMGFPOALNNHCBFFEJNKTVJDKFTICNCQXIFOEIPNBFKEEGBAGGELVKIDCBeJMQPJFRHAADFHLBADMOFGALBIBMIFCANBBLDBBLEOAIJADUFCJDEFGFDCHHFAAGOJDGEHDGEMDCEGIGCIBGDDMLBNKGXMBGGFASMKBDJBMFJGCKEBNBEEEABGFIHDDKMNGAGDGDFIMFBAHACEFHABFKAGDBMOIKBDHEFGEDDBPFDCQDDEAHGEIAEGALFKOFGBAOFHEEIGBEBCHLEAEGFFKEFIBFCEHDGGJHEAEACCJGEOBJBBDFDDFFQKDLIEBCADMHIBHHDDIGPGGNJGBBGDIILDHEDEGJOBOHNBNDGHBALFGDABPCDFCBJGAEECALEOAFAJKDDCGGAHIDFNEBGQOESKDKFOAJGCGCFGYMHKFFKITIJKTFNDNCIFFMDIABIMFDAHABHFBLFCHCOMGMGJBSOJFCMCAHMKNLBICOAAHHFDOKFGBTEGDGKEJGCCKOEFECBMQJGEFAEAFDMGEGCBFECIGABBBFGECALAABBJADGBAEFIAKDDDBCFBFDDABGBABCCABEAIBHSCIKDDAMGAGDAMMJEFGHAJGBGJBBEBCEFKKLBDCLEBFJIIECBFHHIHXCKICYEIAELAEEIHCJADACCCNIDFFGCCCDAHFFFMBKBBFFAEBFCDDBCNCEKICPABDILCFFCCBJBCIDBFEABBCDEFADBBBABDCFFECEEDBCAACBBBFGHACAHDAGCIBCIBABEBAGBDFAFCEBBEEBHEACIFHCBDEHMSJKHCJOFJABBZFKCGALHDDAEDGNDFKCFCDOIJCNJGDEJLFMCABHKFHLEAMBAFCFJGOGBDBBBEAGCBCEGIGECCEDMFACDABBAFBCFDBHCAAFAGBAEDBCDACECHDDEMDEBEEHAFEBAEADEADGBTHDBQCEEEAGIIDHCHIIEKEBAABOCDCCHHEDBIEBEDFLOADHLBEAFSEACCFBJDCAMHFNJHAAIOBCGLJEDBDNGDFICGHHJHECCGCDEJDAFGGLKAAHJEIGHDLOKAKAKFAFEECGECFECBDAFAAECBADBCBAHJAKCMAEBECBEEDBFAAFAABBAHGEANEIBAGDBBDEBAEGGJCCBBIAAGAJDAEOBBQLKKFBPNEOCSEHHFADEAFNRDJAUAGHHFGCBBLEFCNDKKRUBBIKVFBOFRKPBAMBKBDNAMEQBNADDFEAIDIDHFBFACGICDDCICCGBABGDEIIDADDEHACHMBDFAABEDADGIEEHKHAEFFIDGBCCGBDWFBFMLAECKEAALDCDQILHHAEGCIJCHDELGBEKDFACBDDACJFEHGKHKGHMEHCDEMMCJKDCGGGPDKCHFDCIBOIEMBbIJNNCOGJJAbHEBYJQPCJRGQDQKEJDGIQNCEGEDBKQFENKFEAWNBFBBFBBADBEAIBBCGCAIGFDCIADCGEABEGABAHGBBBECCCDACBABFEAGEFGCKAHFBCGHGAFBFJADEDGGACJAGCACLBIPEHJFGBCBFAHADAACAFGEEBFAKDDBBCBGIHICBGHEIEECAGFCFJEGAABKBCGFGJMCABFLGFDCBBEDBDGDGEEBFEEDAABCKNCBBBIGCHEEICHDCGABCCCABFCDAGCJDEAEAFGCNQJCJIDDAFBCCGLFCJDIBIOGBHDCOBFKDKBEAAHBECHFBMDCMLBMCIPIIMFLFBFEDJHCLAAFJNBECVDONLHDLPNFILJKOMBCDGIFUIKFFYIHFUZUTABcBQBJFKMKSINDHIBHOLAAIHSNFCECBCBFBBDACFBBBBAABCCCGBMDBCCBGABACABIBCCGAADIAACBEGCCCCCCCDABBACEEBAAFBABADAICBBHIFGNJEJCEACBCCDKECAEEACDCDELFIEIBBDFICBGIIACKFDJDEGADAFGMHHDDCAGEIBECCHJEBBKOAICABBCCGBECFDIBBBHCDCLGFDCECAAAEICAEABECIBGGABEACKCFCCGCCCHDGADFFADCFEBECEDACABGACCDAEDBABECEBDDEAEADAFBHGBBFAEHCCDDBEFECCEBAFCKAFBCBEFBGIDKADAGGADAJBLCFQCDGADFDFBAABBDAFGBKGDBDCDKJNDGMGFBHKBAALEKBFAAGABAEACFDCIAECBDADIABCCBKBEFBDCFCEGFCAGADFDEABACBCBBECFBDBADAABDAAGBBDCBCEABDBDBCDBBALLHGJDEDCCDAACHADAAAECEEHEAFBFCABABDDABDFDGAEIBFEDEHGGAIEDGCIAGCAGBBGBBHEDJGCECABOCEFAFABADAAGFGBCECIHEJDAGECFDCACDECCAMCBGBKEDCBEDFEADAHHGFJEIDGBCFBJEGNHAMCECDCEGEJFABFJECFCFCFACBCEADBACBFEEBCHGIDJDFAFIJCHKGHLDHEUCGKDAFANGDAGDABGJFGDADHGBGHBCAECBFIFCQECJEDPGFCAMHBIGEMHAGNEDEGAGABHGCFCACGDDGHEIBDGHHDGFDCACAGBICCBJJBBIDOBGCEBJJJBQDGAIFBGDCAHMEFEBDABKDAFCEFGDDADEBAHGAMHBBELCAABEABFABDDPAACDGECFCEAFAHFDEMDCPEKIEFHAECHAGNDCBAGJIGAIBBAGECBHJIBAIEADFGJDBEEAKCGFOFKFCAAEBOCKCAGBKJAKGBEBBFFADJADFBGHAFICDDEABIDIDGJEBDCEABBIHEIIBFAAFDADCDABARDDDCJDAIGHCDBDGAGGEJEEDGGCBGBFGADAAAICADACBEIBAABEIHAEFBBBEACCBACEBBAFAEAEEAECCAABFBDACBCCDBDEHHBCFEHDIAFCBGFGAGEBCCECAEBCADEHEGCBEECDBBGFAAEDDIBAGCIBEAFEDADGDFCCBCDEDFEEGFABCDDBGBKABAHDACADHADFBEGFDFAACAGBGEABCEBFDCADCAABCBEBBABBEDDFBGACEBICECAACEDBDIFDDBDDBEEGAKCDDADDGGBDEEGDAEGDDCKFDABFIGECEHBKGIDGEBDDCFBBGGADEEHDAJCOIGGACJHAFKBLIJAAFIGHHBJABKCAJDFIGGCCBFBCABGGQMDHDFKDEDCCGCGJNHDIGEDGBFACACIKBDABEHIGAGBAGDDEECBDEDBFEAAECFBBBAGDBHADGCBICEEHEJBBCGEFBCDEBDABDKCAEBHBADBACDEDBEBFFDBICBCFDDJICGBFADAACCIDHCFEFBFBICGBJIIBADEDCGDECAGCECBGAAIFEFLFAOHFCHICCMEFBFAAHEKHCAAMAKFIFDCKGCGCMEDLABCEICHKBEGBNDGDFACFAGDEFFADDECBBDBFAAAGFAADBEAGCHCCAHFEAGBFBBAGEEBEEDCEEBAEFIABIBGABAGCDDDBNGCGEQFAGABIEAEBBACBJCALEDABFMBABIMPEBBGCEKCBCAICLCCHGCGICCPAFEMCDDCBDBAEBEBJHCDBEECCFB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-acGOeaCEWdidHcdbjFfbBcMjKC";var fA="enable f16;struct Xe{a:u32,b:u32,c:u32,d:u32}struct de{start:u32,count:u32,e:u32,c:u32,f:u32,g:u32}struct pc{start:u32,count:u32,stream:u32,h:u32}@group(0) @binding(0) var<storage,read> Q:array<u32>;@group(0) @binding(1) var<storage,read_write> ee:array<atomic<u32>>;@group(0) @binding(2) var<uniform> H:Xe;@group(0) @binding(3) var<storage,read> R:array<de>;@group(0) @binding(4) var<storage,read> i:array<f32>;@group(0) @binding(5) var<storage,read_write> Ea:array<f16>;@group(0) @binding(6) var<storage,read_write> r:array<f16>;@group(0) @binding(9) var<storage,read> Fa:array<pc>;@group(0) @binding(11) var<storage,read_write> l:array<f32>;@group(0) @binding(12) var<storage,read_write> I:array<vec2<u32>>;var<workgroup> j:array<vec4<f32>,1024>;var<workgroup> m:array<f32,2016>;var<workgroup> qc:array<f32,128>;var<workgroup> rc:array<f32,576>;var<workgroup> zb:array<f32,72>;var<workgroup> w:array<u32,256>;fn P(sc:vec3<u32>)->u32{return sc.x+sc.y*65535u;}fn be(tc:vec3<u32>)->u32{return tc.x+tc.y*4194240u;}fn wb(fe:f32)->f32{return 1./(1.+exp(-fe));}fn mc(Ga:u32,ge:u32,he:u32,s:u32)->f32{if (Ga<ge||Ga>=he){return 0.;}let da=Q[Ga*2u];let S=Q[Ga*2u+1u];let uc=da&3u;var t=i[0u+uc*32u+s];t+=i[0u+(4u+((da>>2u)&7u))*32u+s];t+=i[0u+(12u+((da>>5u)&127u))*32u+s];t+=i[0u+(140u+((da>>12u)&127u))*32u+s];if (uc==0u){t+=i[0u+(268u+(((da>>19u)&255u)&255u))*32u+s];t+=i[0u+(524u+((S>>15u)&127u))*32u+s];}let ie=652u;let je=S&127u;for(var Ha=0u;Ha<7u;Ha++){if ((je&(1u<<Ha))!=0u){t+=i[0u+(ie+Ha)*32u+s];}}let vc=(S>>7u)&15u;let wc=(S>>11u)&15u;if (vc!=0u){t+=i[0u+(659u+vc-1u)*32u+s];}if (wc!=0u){t+=i[0u+(673u+wc-1u)*32u+s];}let xc=(S>>22u)&31u;let yc=(S>>27u)&31u;if (xc!=0u){t+=i[0u+(687u+xc-1u)*32u+s];}if (yc!=0u){t+=i[0u+(718u+yc-1u)*32u+s];}return t;}fn xb(Ia:u32,Ja:pc,ke:u32,le:u32,zc:u32)->f32{if (Ia>=Ja.start&&Ia<Ja.start+Ja.count){return j[(Ia-Ja.start)*32u+zc].w;}return mc(Ia,ke,le,zc);}fn ce(Ab:u32,Bb:pc,J:u32,Ka:u32,La:u32,Ac:vec2<f32>)->f32{var Ma=i[23968u+J];for(var T=0u;T<5u;T++){if (Ab+T>=Ka+2u&&Ab+T<La+2u){Ma+=xb(Ab+T-2u,Bb,Ka,La,J)*i[36905u+T*32u+J];}}Ma+=xb(bitcast<u32>(Ac.x),Bb,Ka,La,J)*i[37065u+J];Ma+=xb(bitcast<u32>(Ac.y),Bb,Ka,La,J)*i[37097u+J];return tanh(Ma);}fn nc(me:u32,Na:u32)->vec2<f32> {var Bc=i[38153u+Na];var Cc=i[39209u+Na];for(var ea=0u;ea<32u;ea++){let Dc=j[me*32u+ea].x;Bc+=Dc*i[37129u+ea*32u+Na];Cc+=Dc*i[38185u+ea*32u+Na];}let Ec=wb(Cc);return vec2<f32>(Ec,(1.-Ec)*tanh(Bc));}fn yb(Fc:f32,Gc:f32,ne:f32,oe:f32,Hc:u32,pe:u32)->f32{let fa=min(pe,11u)*32u+Hc;let qe=tanh(Fc*i[24000u+fa]+Gc*i[24384u+fa]+ne*i[24768u+fa]+oe*i[25152u+fa]+i[25536u+fa]);let re=select(Gc,Fc,Hc<16u);return (qe+re)*.5;}fn Da(Ic:f32,se:f32,te:f32,ue:f32,ve:f32,we:f32,xe:u32,ye:u32,ze:bool)->f32{let A=min(ye,11u)*32u+xe;let Ae=select(i[28872u+A],i[29256u+A],ze);let Be=tanh(Ic*i[35472u+A]+se*i[26568u+A]+te*i[26952u+A]+ue*i[27336u+A]+ve*i[27720u+A]+we*i[28104u+A]+Ae);let Jc=wb(i[28488u+A]);return Ic*Jc+Be*(1.-Jc);}fn oc(Kc:u32,x:pc,Oa:de,U:u32){let Pa=U&31u;let Lc=U>>5u;if (U<x.count){let Mc=x.start+U;var Nc=I[Kc].y;var Oc=I[Kc].x;for(var Qa=Mc;Qa>x.start;Qa--){let Pc=Q[(Qa-1u)*2u]&3u;if (Pc!=1u&&Pc!=2u){Nc=Qa-1u;break;}}for(var Ra=Mc+1u;Ra<x.start+x.count;Ra++){let Qc=Q[Ra*2u]&3u;if (Qc!=1u&&Qc!=2u){Oc=Ra;break;}}j[U*32u].y=bitcast<f32>(Nc);j[U*32u].z=bitcast<f32>(Oc);}workgroupBarrier();let Rc=Oa.start+Oa.count;for(var Sa=Lc;Sa<x.count;Sa+=4u){j[Sa*32u+Pa].w=mc(x.start+Sa,Oa.start,Rc,Pa);}workgroupBarrier();for(var ga=Lc;ga<x.count;ga+=4u){j[ga*32u+Pa].x=ce(x.start+ga,x,Pa,Oa.start,Rc,j[ga*32u].yz);}workgroupBarrier();}@compute @workgroup_size(64) fn a(@builtin(global_invocation_id) Ce:vec3<u32>){let Cb=be(Ce);if (Cb>=H.c){return;}let Sc=Fa[Cb];var Db=0xffffffffu;var Tc=0xffffffffu;for(var Eb=0u;Eb<Sc.count;Eb++){let Fb=Sc.start+Eb;let Uc=Q[Fb*2u]&3u;if (Uc!=1u&&Uc!=2u){if (Db==0xffffffffu){Db=Fb;}Tc=Fb;}}I[Cb]=vec2<u32>(Db,Tc);}@compute @workgroup_size(256) fn b(@builtin(workgroup_id) De:vec3<u32>,@builtin(local_invocation_id) Ee:vec3<u32>){let Vc=P(De);if (Vc>=H.a){return;}let K=R[Vc];let p=Ee.x;var B=0u;for(var Ta=0u;Ta<K.c;Ta+=256u){let Wc=Ta+p<K.c;let Xc=K.e+Ta+p;var ha=0u;if (Wc){let Yc=I[Xc].y;ha=select(Yc+1u,0u,Yc==0xffffffffu);}w[p]=ha;for(var ia=1u;ia<256u;ia=ia<<1u){workgroupBarrier();var Zc=0u;if (p>=ia){Zc=w[p-ia];}workgroupBarrier();ha=max(ha,Zc);w[p]=ha;}workgroupBarrier();var Gb=B;if (p>0u){Gb=max(B,w[p-1u]);}if (Wc){I[Xc].y=select(Gb-1u,0xffffffffu,Gb==0u);}B=max(B,w[255u]);workgroupBarrier();}storageBarrier();workgroupBarrier();B=0xffffffffu;for(var Ua=0u;Ua<K.c;Ua+=256u){let ad=Ua+p<K.c;var Hb=0u;var ja=0xffffffffu;if (ad){Hb=K.e+K.c-1u-Ua-p;ja=I[Hb].x;}w[p]=ja;for(var ka=1u;ka<256u;ka=ka<<1u){workgroupBarrier();var bd=0xffffffffu;if (p>=ka){bd=w[p-ka];}workgroupBarrier();ja=min(ja,bd);w[p]=ja;}workgroupBarrier();var cd=B;if (p>0u){cd=min(B,w[p-1u]);}if (ad){I[Hb].x=cd;}B=min(B,w[255u]);workgroupBarrier();}}@compute @workgroup_size(128) fn c(@builtin(workgroup_id) Fe:vec3<u32>,@builtin(local_invocation_id) Ib:vec3<u32>){let Va=P(Fe);if (Va>=H.c){return;}let la=Fa[Va];let Ge=R[la.stream];let V=Ib.x&31u;let dd=Ib.x>>5u;oc(Va,la,Ge,Ib.x);for(var ma=dd;ma<la.count;ma+=4u){let ed=nc(ma,V);j[ma*32u+V].y=ed.x;j[ma*32u+V].z=ed.y;}workgroupBarrier();if (dd==0u){var na=vec2<f32>(1.,0.);for(var Jb=0u;Jb<la.count;Jb++){let Kb=j[Jb*32u+V];na=vec2<f32>(Kb.y*na.x,Kb.y*na.y+Kb.z);}var oa=vec2<f32>(1.,0.);for(var Lb=la.count;Lb>0u;Lb--){let Mb=j[(Lb-1u)*32u+V];oa=vec2<f32>(Mb.y*oa.x,Mb.y*oa.y+Mb.z);}let Wa=(Va*32u+V)*4u;l[Wa]=na.x;l[Wa+1u]=na.y;l[Wa+2u]=oa.x;l[Wa+3u]=oa.y;}}@compute @workgroup_size(256) fn d(@builtin(workgroup_id) He:vec3<u32>,@builtin(local_invocation_id) L:vec3<u32>){let fd=P(He);let gd=fd>>2u;if (gd>=H.a){return;}let pa=R[gd];let Nb=L.x&31u;let hd=(fd&3u)*8u+(L.x>>5u);var Ob=0.;var Pb=0.;for(var Qb=0u;Qb<pa.c;Qb+=32u){let Rb=Qb+Nb;let Ie=pa.c-1u-Rb;let id=Rb<pa.c;let Sb=((pa.e+Rb)*32u+hd)*4u;let Tb=((pa.e+Ie)*32u+hd)*4u;var y=vec4<f32>(1.,0.,1.,0.);if (id){y=vec4<f32>(l[Sb],l[Sb+1u],l[Tb+2u],l[Tb+3u]);}j[L.x]=y;for(var qa=1u;qa<32u;qa=qa<<1u){workgroupBarrier();var ra=vec4<f32>(1.,0.,1.,0.);if (Nb>=qa){ra=j[L.x-qa];}workgroupBarrier();y=vec4<f32>(y.x*ra.x,y.x*ra.y+y.y,y.z*ra.z,y.z*ra.w+y.w);j[L.x]=y;}workgroupBarrier();var sa=vec4<f32>(1.,0.,1.,0.);if (Nb>0u){sa=j[L.x-1u];}if (id){l[Sb+1u]=sa.x*Ob+sa.y;l[Tb+3u]=sa.z*Pb+sa.w;}let Xa=j[L.x|31u];Ob=Xa.x*Ob+Xa.y;Pb=Xa.z*Pb+Xa.w;workgroupBarrier();}}@compute @workgroup_size(128) fn e(@builtin(workgroup_id) Je:vec3<u32>,@builtin(local_invocation_id) Ub:vec3<u32>){let Ya=P(Je);if (Ya>=H.c){return;}let C=Fa[Ya];let Vb=R[C.stream];let k=Ub.x&31u;let ta=Ub.x>>5u;oc(Ya,C,Vb,Ub.x);for(var ua=ta;ua<C.count;ua+=4u){let jd=nc(ua,k);j[ua*32u+k].y=jd.x;j[ua*32u+k].z=jd.y;}workgroupBarrier();if (ta==0u){let kd=(Ya*32u+k)*4u;var M=l[kd+1u];for(var Wb=0u;Wb<C.count;Wb++){let ld=Wb*32u+k;let md=j[ld];M=md.y*M+md.z;j[ld].w=M;}M=l[kd+3u];for(var Xb=C.count;Xb>0u;Xb--){let nd=(Xb-1u)*32u+k;let od=j[nd];M=od.y*M+od.z;j[nd].z=M;}}workgroupBarrier();for(var W=ta;W<C.count;W+=4u){let Ke=C.start+W;var pd=j[W*32u+k].x+i[41289u+k];let qd=39241u+k;for(var va=0u;va<32u;va++){let rd=j[W*32u+va];pd+=rd.w*i[qd+va*32u]+rd.z*i[qd+(32u+va)*32u];}let sd=f32(f16(tanh(pd)));j[W*32u+k].y=sd;Ea[Ke*32u+k]=f16(sd);}workgroupBarrier();var Yb=32u;var Za=C.count;var wa=0u;loop{if (Yb<=1u){break;}let td=Yb/2u;for(var xa=ta;xa<td;xa+=4u){let ab=xa*2u;var bb=0.;if (ab<Za){let cb=ab*32u;let db=(wa&1u)==0u;let ud=select(j[cb+k].x,j[cb+k].y,db);bb=ud;if (ab+1u<Za){let eb=(ab+1u)*32u;let fb=k^(1u<<wa);bb=yb(ud,select(j[eb+k].x,j[eb+k].y,db),select(j[cb+fb].x,j[cb+fb].y,db),select(j[eb+fb].x,j[eb+fb].y,db),k,wa);}}if ((wa&1u)==0u){j[xa*32u+k].x=bb;} else{j[xa*32u+k].y=bb;}}workgroupBarrier();Yb=td;Za=(Za+1u)/2u;wa+=1u;}let Le=Vb.f+Vb.g-1u+C.h;if (ta==0u){r[Le*32u+k]=f16(j[k].x);}}@compute @workgroup_size(256) fn f(@builtin(workgroup_id) Me:vec3<u32>,@builtin(local_invocation_id) vd:vec3<u32>){let wd=P(Me);let o=vd.x&31u;let gb=vd.x>>5u;if (wd>=H.a){return;}let q=R[wd];let Ne=q.f+q.g-1u;for(var Zb=q.c+gb;Zb<q.g;Zb+=8u){r[(Ne+Zb)*32u+o]=f16(0.);}storageBarrier();workgroupBarrier();var u=q.g;var hb=q.c;var ac=5u;loop{if (u<=1u){break;}let bc=u/2u;let Oe=q.f+bc-1u;let ib=q.f+u-1u;let xd=o^(1u<<min(ac,4u));for(var jb=gb;jb<bc;jb+=8u){let X=jb*2u;var cc=0.;if (X<hb){let yd=f32(r[(ib+X)*32u+o]);cc=yd;if (X+1u<hb){cc=yb(yd,f32(r[(ib+X+1u)*32u+o]),f32(r[(ib+X)*32u+xd]),f32(r[(ib+X+1u)*32u+xd]),o,ac);}}r[(Oe+jb)*32u+o]=f16(cc);}storageBarrier();workgroupBarrier();u=bc;hb=(hb+1u)/2u;ac+=1u;}if (gb==0u){l[q.f*32u+o]=f32(f16(f32(r[q.f*32u+o])));}storageBarrier();workgroupBarrier();u=1u;var Y=4u+(31u-countLeadingZeros(q.g));loop{if (u>=q.g){break;}let zd=q.f+u-1u;let N=q.f+u*2u-1u;let Ad=q.g/(u*2u);let Bd=(q.c+Ad-1u)/Ad;for(var ya=gb;ya<u;ya+=8u){let D=ya*2u;if (D>=Bd){continue;}let dc=l[(zd+ya)*32u+o];let Cd=f32(r[(N+D)*32u+o]);if (D+1u<Bd){let Dd=f32(r[(N+D+1u)*32u+o]);let ec=o^(1u<<min(Y,4u));let Ed=l[(zd+ya)*32u+ec];let Fd=f32(r[(N+D)*32u+ec]);let Gd=f32(r[(N+D+1u)*32u+ec]);l[(N+D)*32u+o]=f32(f16(Da(dc,Cd,Dd,Ed,Fd,Gd,o,Y,false)));l[(N+D+1u)*32u+o]=f32(f16(Da(dc,Dd,Cd,Ed,Gd,Fd,o,Y,true)));} else{l[(N+D)*32u+o]=f32(f16(dc));}}storageBarrier();workgroupBarrier();u*=2u;Y=select(0u,Y-1u,Y>0u);}}@compute @workgroup_size(64) fn g(@builtin(workgroup_id) Pe:vec3<u32>,@builtin(local_invocation_id) kb:vec3<u32>){let Hd=P(Pe);if (Hd>=H.c){return;}let F=Fa[Hd];let Id=R[F.stream];let n=kb.x%32u;let lb=kb.x/32u;for(var mb=lb;mb<F.count;mb+=2u){m[(31u+mb)*32u+n]=f32(Ea[(F.start+mb)*32u+n]);}workgroupBarrier();var v=32u;var nb=F.count;var z=0u;loop{if (v<=1u){break;}let fc=v/2u;let Qe=fc-1u;let ob=v-1u;{for(var pb=lb;pb<fc;pb+=2u){let Z=pb*2u;var gc=0.;if (Z<nb){let Jd=m[(ob+Z)*32u+n];gc=Jd;if (Z+1u<nb){let Kd=n^(1u<<z);gc=yb(Jd,m[(ob+Z+1u)*32u+n],m[(ob+Z)*32u+Kd],m[(ob+Z+1u)*32u+Kd],n,z);}}m[(Qe+pb)*32u+n]=gc;}}workgroupBarrier();v=fc;nb=(nb+1u)/2u;z+=1u;}if (lb==0u){let Re=Id.f+Id.g-1u+F.h;m[n]=l[Re*32u+n];}workgroupBarrier();v=1u;z=4u;loop{if (v>=32u){break;}let Ld=v-1u;let O=v*2u-1u;let Md=32u/(v*2u);let Nd=(F.count+Md-1u)/Md;{for(var za=lb;za<v;za+=2u){let E=za*2u;if (E>=Nd){continue;}let hc=m[(Ld+za)*32u+n];let Od=m[(O+E)*32u+n];if (E+1u<Nd){let Pd=m[(O+E+1u)*32u+n];let ic=n^(1u<<z);let Qd=m[(Ld+za)*32u+ic];let Rd=m[(O+E)*32u+ic];let Sd=m[(O+E+1u)*32u+ic];m[(O+E)*32u+n]=Da(hc,Od,Pd,Qd,Rd,Sd,n,z,false);m[(O+E+1u)*32u+n]=Da(hc,Pd,Od,Qd,Sd,Rd,n,z,true);} else{m[(O+E)*32u+n]=hc;}}}workgroupBarrier();v*=2u;z=select(0u,z-1u,z>0u);}let G=kb.x/8u;let qb=kb.x%8u;for(var jc=0u;jc<4u;jc++){let rb=jc*8u+G;let Aa=F.start+rb;let kc=rb<F.count;let Td=select(1u,Q[Aa*2u]&3u,kc);let sb=kc&&Td!=1u&&Td!=2u;for(var Ba=qb;sb&&Ba<16u;Ba+=8u){var Ud=i[36889u+Ba];for(var aa=0u;aa<32u;aa++){let Se=f32(Ea[Aa*32u+aa]);let Te=f32(f16(m[(31u+rb)*32u+aa]));let Vd=35865u+Ba;Ud+=i[Vd+aa*16u]*Se+i[Vd+(32u+aa)*16u]*Te;}qc[G*16u+Ba]=wb(Ud);}workgroupBarrier();for(var ba=qb;sb&&ba<72u;ba+=8u){var lc=i[35400u+ba];for(var ca=0u;ca<32u;ca++){let Ue=f32(Ea[Aa*32u+ca]);let Ve=f32(f16(m[(31u+rb)*32u+ca]));let Wd=29640u+ba;lc+=i[Wd+ca*72u]*Ue+i[Wd+(32u+ca)*72u]*Ve;}let We=29640u+4608u+ba;for(var tb=0u;tb<16u;tb++){lc+=i[We+tb*72u]*qc[G*16u+tb];}rc[G*72u+ba]=tanh(lc);}workgroupBarrier();for(var Ca=qb;sb&&Ca<9u;Ca+=8u){var Xd=i[35856u+Ca];for(var ub=0u;ub<72u;ub++){Xd+=i[25920u+ub*9u+Ca]*rc[G*72u+ub];}zb[G*9u+Ca]=Xd;}workgroupBarrier();if (qb==0u&&kc){var Yd=0u;if (sb){var Zd=zb[G*9u];for(var vb=1u;vb<9u;vb++){let ae=zb[G*9u+vb];if (ae>Zd){Zd=ae;Yd=vb;}}}let ignored=atomicOr(&ee[Aa/4u],Yd<<((Aa&3u)*8u));}workgroupBarrier();}}",RA="abcdefg",UA=A=>A?fA:fA.slice(11).replaceAll("f16","f32");var sA=["plain","comment","string","number","keyword","type","function","constant","operator"];var BA=512,vA=4,LA=[],CA=0,EA=1,DA=2,MA=4,X=new Uint8Array(128).fill(3),Y=new Uint8Array(128),bA=new Uint8Array(16384),TA=new Uint8Array(16384);for(let A=0;A<128;A++){A===10||A===13?X[A]=2:A===9||A===11||A===12||A===32?X[A]=1:A>=97&&A<=122?Y[A]=1:A>=65&&A<=90?Y[A]=2:A>=48&&A<=57?Y[A]=4:A===95&&(Y[A]=8),Y[A]&&(X[A]=0);for(let B=0;B<128;B++)TA[A<<7|B]=1+((Math.imul(A+1,131)^B)>>>0)%31}var rA="///**/--=>::</{{${}}->???.<>";for(let A=0;A<rA.length;A+=2)bA[rA.charCodeAt(A)<<7|rA.charCodeAt(A+1)]=A/2+1;function ZA(){return[BA,new Uint32Array(BA*2),new Uint32Array(BA*2)]}function qA(A,B,F,M){let K=Math.ceil(B/F*M*1.0625)+BA,H=Math.max(B+1,Math.min(M,Math.max(A[CA]*2,K))),C=new Uint32Array(H*2),E=new Uint32Array(H*2);C.set(A[EA].subarray(0,B*2)),E.set(A[DA].subarray(0,B*2)),A[CA]=H,A[EA]=C,A[DA]=E}function WA(A){let B=LA.pop()??ZA(),F=A.length,M=B[CA],K=B[EA],H=B[DA],C=0,E=0,O=!0,n=0,Q=-1;for(;E<F;){let r=E,J=A.charCodeAt(E++),t=J>127?95:J,c=J>127?0:X[J],u=O?16:0,N=t,d=c|t<<5;if(c===0){let S=Math.imul(2166136261^t,16777619),b=Math.imul(2654435769^t,2246822519);for(u|=Y[t];E<F;){let L=A.charCodeAt(E),P=95;if(L<=127){if(X[L]!==0)break;P=L}S=Math.imul(S^P,16777619),b=Math.imul(b^P,2246822519),u|=Y[P],N=P,E+=1}d|=(S&255)<<19,u|=(b&127)<<15}else if(c===1)for(J===9&&(u|=32);E<F;){let S=A.charCodeAt(E);if(S>127||X[S]!==1)break;S===9&&(u|=32),N=S,E+=1}else c===2?(J===13&&E<F&&A.charCodeAt(E)===10&&(N=10,E+=1),O=!0):J===92&&(u|=64);(c===0||c===3)&&(O=!1),C===M&&(qA(B,C,E,F),M=B[CA],K=B[EA],H=B[DA]);let V=C*2,y=E-r;if(d|=(y>127?7:31-Math.clz32(y))<<2|N<<12,C>0){let S=n<<7|t,b=bA[S],L=b<<11;if(u|=b<<7,c===3||Q===3){let P=TA[S];u|=P<<22,L|=P<<27}K[V-1]|=L}K[V]=d,K[V+1]=u,H[C*2]=r,H[C*2+1]=E,C+=1,n=N,Q=c}return[K.subarray(0,C*2),H.subarray(0,C*2),Uint32Array.of(0,C),C,B]}function tA(A){A?.[MA]&&(LA.length<vA&&LA.push(A[MA]),A[MA]=null)}function uA(A,B,F=0){let M=[],K;for(let H=0;H<A.length>>1;H++){let C=A[H*2],E=A[H*2+1],O=F+H,n=B[O>>2]>>(O&3)*8&255,Q=sA[n]??"plain";K&&K.type===Q&&K.end===C?K.end=E:(K={type:Q,start:C,end:E},M.push(K))}return M}var xA=1,jA=4,g=8,_A=64,l=128,GA=32,zA=16384,dA=5,v=0,YA=1,$A=2,W=3,k=4,Z=5,OA=6,cA=7,w=8,q=9,x=-1,NA=0,AB=1,oA=2,BB=0,CB=1,EB=2,DB=3,FB=4,GB=5,gA=6;function VA(A=globalThis.navigator?.gpu,B,F,M){let K=!1,H,C,E,O,n,Q=[],r=new Uint32Array(4),J=[],t=0,c=!1,u=!1,N=new Uint32Array,d=new Uint32Array,V=M??S;async function y(){if(!C){if(H)return H;H=(async()=>{if(B)K=B.features.has("shader-f16");else{if(!A)throw new Error("WebGPU unavailable");let D=await A.requestAdapter();if(!D)throw new Error("WebGPU unavailable");K=D.features.has("shader-f16");let I={};for(let a of["maxBufferSize","maxStorageBufferBindingSize"])I[a]=D.limits[a];B=await D.requestDevice({requiredFeatures:K?["shader-f16"]:[],requiredLimits:I})}F===void 0&&(F=UA(K));let G=B.createShaderModule({code:F}),e=D=>B.createComputePipelineAsync({layout:"auto",compute:{module:G,entryPoint:D}});C=await Promise.all(Array.from(RA,e));let o=KB();E=B.createBuffer({size:o.byteLength,usage:l|g}),B.queue.writeBuffer(E,0,o)})();try{await H}catch(G){throw H=void 0,G}}}async function S(G,e,o){return await y(),b(G,e,o)}async function b(G,e,o){let D=G.length/2,I=D+3&-4,a=L(v,G.byteLength,l|g),i=L(YA,I,l|jA|g),f=L($A,I,xA|g),m=L(W,16,_A|g),R=n=IB(e,n),U=R[EB],p=R[DB],s=R[FB],T=R[GB],pA=L(k,U.byteLength,l|g),XA=L(Z,p.byteLength,l|g),nA=K?2:4,hA=D*32*nA,wA=T*32*nA;L(OA,hA,l),L(cA,wA,l),L(w,Math.max(s*32*16,T*32*4),l),L(q,s*8,l);try{B.queue.writeBuffer(a,0,G),B.queue.writeBuffer(pA,0,U),B.queue.writeBuffer(XA,0,p),r.set([e.length/2,D,s,T]),B.queue.writeBuffer(m,0,r);let j=B.createCommandEncoder();j.clearBuffer(i,0,I);let HA=O??=P(),_=j.beginComputePass(),KA=(eA,z,SA)=>{_.setPipeline(eA),_.setBindGroup(0,z);let PA=Math.min(65535,SA);_.dispatchWorkgroups(PA,Math.ceil(SA/PA))};return[s+63>>6,e.length>>1,s,e.length*2,s].forEach((eA,z)=>KA(C[z],HA[z],eA)),KA(C[dA],HA[dA],e.length/2),KA(C[6],HA[6],s),_.end(),j.copyBufferToBuffer(i,0,f,0,I),B.queue.submit([j.finish()]),await f.mapAsync(1),o(new Uint32Array(f.getMappedRange(),0,I/4))}finally{f.mapState==="mapped"&&f.unmap()}}function L(G,e,o){let D=Q[G];if(D?.[AB]>=e)return e>D[oA]&&(D[oA]=e,O=void 0),D[NA];D?.[NA].destroy();let I=B.limits.maxBufferSize;if(e>I)throw new RangeError(`WebGPU buffer limit: ${e} > ${I}`);let a=HB(e,I),i=B.createBuffer({size:a,usage:o});return Q[G]=[i,a,e],O=void 0,i}function P(){let G=D=>D===x?{buffer:E,size:E.size}:{buffer:Q[D][NA],size:Q[D][oA]},e=(D,I)=>B.createBindGroup({layout:D.getBindGroupLayout(0),entries:I.map(([a,i])=>({binding:a,resource:G(i)}))});return[[[0,v],[2,W],[9,Z],[12,q]],[[2,W],[3,k],[12,q]],[[0,v],[2,W],[3,k],[4,x],[9,Z],[11,w],[12,q]],[[2,W],[3,k],[11,w]],[[0,v],[2,W],[3,k],[4,x],[5,OA],[6,cA],[9,Z],[11,w],[12,q]],[[2,W],[3,k],[4,x],[6,cA],[11,w]],[[0,v],[1,YA],[2,W],[4,x],[3,k],[5,OA],[9,Z],[11,w]]].map((D,I)=>e(C[I],D))}function mA(G){let e=WA(G),[,o,,D]=e;if(D===0){let a=uA(o,new Uint32Array);return tA(e),a}let I=new Promise((a,i)=>J.push([e,a,i]));return t+=D,t>=zA?iA():QA(),I}function QA(){c||u||(c=!0,queueMicrotask(()=>void iA()))}async function iA(){if(u||J.length===0)return;u=!0,c=!1;let G=J.splice(0);t=0;let e=G.reduce((I,a)=>I+a[0][3],0),o=G[0][0][0],D=G[0][0][2];if(G.length>1){let I=e*2,a=G.reduce((R,U)=>R+U[0][2].length,0);N=IA(N,I),d=IA(d,a),o=N.subarray(0,I),D=d.subarray(0,a);let i=0,f=0,m=0;for(let R of G){let[U,,p,s]=R[0];o.set(U,i);for(let T=0;T<p.length;T+=2)D[m++]=f+p[T],D[m++]=p[T+1];i+=U.length,f+=s}}try{await V(o,D,I=>{let a=0;for(let i of G){let[f,m]=i,[,R,,U]=f;m(uA(R,I,a)),a+=U}})}catch(I){for(let a of G)a[2](I)}finally{for(let I of G)tA(I[0]);u=!1,J.length>0&&QA()}}return{h:mA,i:y,r:V,e:L,g:P,b:Q,p:r,get d(){return B},get f(){return K},get c(){return C},get q(){return O},set q(G){O=G},get l(){return n},set l(G){n=G}}}function IB(A,B){if(B?.[gA]?.length===A.length){let r=!0;for(let J=0;J<A.length;J++)if(B[gA][J]!==A[J]){r=!1;break}if(r)return B}let F=A.length/2,M=0,K=0;for(let r=0;r<F;r++){let J=A[r*2+1]+GA-1>>5,t=kA(J);M+=J,K+=t*2-1}let H=IA(B?.[BB],F*6),C=IA(B?.[CB],M*4),E=H.subarray(0,F*6),O=C.subarray(0,M*4),n=0,Q=0;for(let r=0;r<F;r++){let J=A[r*2],t=A[r*2+1],c=t+GA-1>>5,u=kA(c);E.set([J,t,n,c,Q,u],r*6);for(let N=0;N<t;N+=GA)O.set([J+N,Math.min(GA,t-N),r,N>>5],n*4),n+=1;Q+=u*2-1}return[H,C,E,O,M,K,A.slice()]}function IA(A,B){if(A?.length>=B)return A;let F=16;for(;F<B;)F*=2;return new Uint32Array(F)}function kA(A){return 2**(32-Math.clz32(A-1))}function HB(A,B){let F=Math.max(256,2**(32-Math.clz32(A-1))/16),M=Math.max(256,Math.ceil(A/F)*F);return M<=B?M:Math.ceil(A/4)*4}function KB(){let A=new Float32Array(JA.length),B=0;for(let F=0;F<$.length;F+=2){let M=$[F],K=$[F+1];for(let H=B;H<M;H++){let C=JA.charCodeAt(H),E=C>=97?C-71:C>=65?C-65:C>=48?C+4:C===45?62:63;A[H]=(E&1?-(E+1)/2:E/2)*K}B=M}return A}var eB;async function nB(A){return(eB??=VA()).h(A)}export{nB as parse};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gpu-lexer",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Tiny language-agnostic WebGPU syntax lexer",
5
5
  "author": "Shu Ding (https://x.com/shuding)",
6
6
  "repository": {