pax_global_header00006660000000000000000000000064147571451410014523gustar00rootroot0000000000000052 comment=22ab8b9e7d0bace6b004331e4541a0779db894df cpuid-2.2.10/000077500000000000000000000000001475714514100127115ustar00rootroot00000000000000cpuid-2.2.10/.github/000077500000000000000000000000001475714514100142515ustar00rootroot00000000000000cpuid-2.2.10/.github/workflows/000077500000000000000000000000001475714514100163065ustar00rootroot00000000000000cpuid-2.2.10/.github/workflows/go.yml000066400000000000000000000022451475714514100174410ustar00rootroot00000000000000name: Go on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: strategy: matrix: go-version: [1.22.x, 1.23.x, 1.24.x] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v4 with: go-version: ${{ matrix.go-version }} - name: Vet run: go vet ./... - name: Test run: go test ./... - name: Test Noasm run: go test -tags=noasm ./... build-special: env: CGO_ENABLED: 0 runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@v4 with: go-version: stable - name: Checkout code uses: actions/checkout@v4 - name: fmt run: diff <(gofmt -d .) <(printf "") - name: Test 386 run: GOOS=linux GOARCH=386 go test -short ./... - name: goreleaser deprecation run: curl -sfL https://git.io/goreleaser | VERSION=v2.3.2 sh -s -- check - name: goreleaser snapshot run: curl -sL https://git.io/goreleaser | VERSION=v2.3.2 sh -s -- --snapshot --clean cpuid-2.2.10/.github/workflows/release.yml000066400000000000000000000010711475714514100204500ustar00rootroot00000000000000name: goreleaser on: push: tags: - 'v*' jobs: goreleaser: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.24.x - name: Run GoReleaser uses: goreleaser/goreleaser-action@v5 with: version: 2.3.2 args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CGO_ENABLED: 0 cpuid-2.2.10/.gitignore000066400000000000000000000004121475714514100146760ustar00rootroot00000000000000# Compiled Object files, Static and Dynamic libs (Shared Objects) *.o *.a *.so # Folders _obj _test # Architecture specific extensions/prefixes *.[568vq] [568vq].out *.cgo1.go *.cgo2.c _cgo_defun.c _cgo_gotypes.go _cgo_export.* _testmain.go *.exe *.test *.prof cpuid-2.2.10/.goreleaser.yml000066400000000000000000000017761475714514100156550ustar00rootroot00000000000000version: 2 builds: - id: "cpuid" binary: cpuid main: ./cmd/cpuid/main.go env: - CGO_ENABLED=0 flags: - -ldflags=-s -w goos: - aix - linux - freebsd - netbsd - windows - darwin goarch: - 386 - amd64 - arm64 goarm: - 7 archives: - id: cpuid name_template: "cpuid-{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" format_overrides: - goos: windows format: zip files: - LICENSE checksum: name_template: 'checksums.txt' changelog: sort: asc filters: exclude: - '^doc:' - '^docs:' - '^test:' - '^tests:' - '^Update\sREADME.md' nfpms: - file_name_template: "cpuid_package_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" vendor: Klaus Post homepage: https://github.com/klauspost/cpuid maintainer: Klaus Post description: CPUID Tool license: BSD 3-Clause formats: - deb - rpm cpuid-2.2.10/CONTRIBUTING.txt000066400000000000000000000025771475714514100153740ustar00rootroot00000000000000Developer Certificate of Origin Version 1.1 Copyright (C) 2015- Klaus Post & Contributors. Email: klauspost@gmail.com Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. cpuid-2.2.10/LICENSE000066400000000000000000000020661475714514100137220ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2015 Klaus Post Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. cpuid-2.2.10/README.md000066400000000000000000001400041475714514100141670ustar00rootroot00000000000000# cpuid Package cpuid provides information about the CPU running the current program. CPU features are detected on startup, and kept for fast access through the life of the application. Currently x86 / x64 (AMD64/i386) and ARM (ARM64) is supported, and no external C (cgo) code is used, which should make the library very easy to use. You can access the CPU information by accessing the shared CPU variable of the cpuid library. Package home: https://github.com/klauspost/cpuid [![PkgGoDev](https://pkg.go.dev/badge/github.com/klauspost/cpuid)](https://pkg.go.dev/github.com/klauspost/cpuid/v2) [![Go](https://github.com/klauspost/cpuid/actions/workflows/go.yml/badge.svg)](https://github.com/klauspost/cpuid/actions/workflows/go.yml) ## installing `go get -u github.com/klauspost/cpuid/v2` using modules. Drop `v2` for others. Installing binary: `go install github.com/klauspost/cpuid/v2/cmd/cpuid@latest` Or download binaries from release page: https://github.com/klauspost/cpuid/releases ### Homebrew For macOS/Linux users, you can install via [brew](https://brew.sh/) ```sh $ brew install cpuid ``` ## example ```Go package main import ( "fmt" "strings" . "github.com/klauspost/cpuid/v2" ) func main() { // Print basic CPU information: fmt.Println("Name:", CPU.BrandName) fmt.Println("PhysicalCores:", CPU.PhysicalCores) fmt.Println("ThreadsPerCore:", CPU.ThreadsPerCore) fmt.Println("LogicalCores:", CPU.LogicalCores) fmt.Println("Family", CPU.Family, "Model:", CPU.Model, "Vendor ID:", CPU.VendorID) fmt.Println("Features:", strings.Join(CPU.FeatureSet(), ",")) fmt.Println("Cacheline bytes:", CPU.CacheLine) fmt.Println("L1 Data Cache:", CPU.Cache.L1D, "bytes") fmt.Println("L1 Instruction Cache:", CPU.Cache.L1I, "bytes") fmt.Println("L2 Cache:", CPU.Cache.L2, "bytes") fmt.Println("L3 Cache:", CPU.Cache.L3, "bytes") fmt.Println("Frequency", CPU.Hz, "hz") // Test if we have these specific features: if CPU.Supports(SSE, SSE2) { fmt.Println("We have Streaming SIMD 2 Extensions") } } ``` Sample output: ``` >go run main.go Name: AMD Ryzen 9 3950X 16-Core Processor PhysicalCores: 16 ThreadsPerCore: 2 LogicalCores: 32 Family 23 Model: 113 Vendor ID: AMD Features: ADX,AESNI,AVX,AVX2,BMI1,BMI2,CLMUL,CMOV,CX16,F16C,FMA3,HTT,HYPERVISOR,LZCNT,MMX,MMXEXT,NX,POPCNT,RDRAND,RDSEED,RDTSCP,SHA,SSE,SSE2,SSE3,SSE4,SSE42,SSE4A,SSSE3 Cacheline bytes: 64 L1 Data Cache: 32768 bytes L1 Instruction Cache: 32768 bytes L2 Cache: 524288 bytes L3 Cache: 16777216 bytes Frequency 0 hz We have Streaming SIMD 2 Extensions ``` # usage The `cpuid.CPU` provides access to CPU features. Use `cpuid.CPU.Supports()` to check for CPU features. A faster `cpuid.CPU.Has()` is provided which will usually be inlined by the gc compiler. To test a larger number of features, they can be combined using `f := CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SYSCALL, SSE, SSE2)`, etc. This can be using with `cpuid.CPU.HasAll(f)` to quickly test if all features are supported. Note that for some cpu/os combinations some features will not be detected. `amd64` has rather good support and should work reliably on all platforms. Note that hypervisors may not pass through all CPU features through to the guest OS, so even if your host supports a feature it may not be visible on guests. ## arm64 feature detection Not all operating systems provide ARM features directly and there is no safe way to do so for the rest. Currently `arm64/linux` and `arm64/freebsd` should be quite reliable. `arm64/darwin` adds features expected from the M1 processor, but a lot remains undetected. A `DetectARM()` can be used if you are able to control your deployment, it will detect CPU features, but may crash if the OS doesn't intercept the calls. A `-cpu.arm` flag for detecting unsafe ARM features can be added. See below. Note that currently only features are detected on ARM, no additional information is currently available. ## flags It is possible to add flags that affects cpu detection. For this the `Flags()` command is provided. This must be called *before* `flag.Parse()` AND after the flags have been parsed `Detect()` must be called. This means that any detection used in `init()` functions will not contain these flags. Example: ```Go package main import ( "flag" "fmt" "strings" "github.com/klauspost/cpuid/v2" ) func main() { cpuid.Flags() flag.Parse() cpuid.Detect() // Test if we have these specific features: if cpuid.CPU.Supports(cpuid.SSE, cpuid.SSE2) { fmt.Println("We have Streaming SIMD 2 Extensions") } } ``` ## commandline Download as binary from: https://github.com/klauspost/cpuid/releases Install from source: `go install github.com/klauspost/cpuid/v2/cmd/cpuid@latest` ### Example ``` λ cpuid Name: AMD Ryzen 9 3950X 16-Core Processor Vendor String: AuthenticAMD Vendor ID: AMD PhysicalCores: 16 Threads Per Core: 2 Logical Cores: 32 CPU Family 23 Model: 113 Features: ADX,AESNI,AVX,AVX2,BMI1,BMI2,CLMUL,CLZERO,CMOV,CMPXCHG8,CPBOOST,CX16,F16C,FMA3,FXSR,FXSROPT,HTT,HYPERVISOR,LAHF,LZCNT,MCAOVERFLOW,MMX,MMXEXT,MOVBE,NX,OSXSAVE,POPCNT,RDRAND,RDSEED,RDTSCP,SCE,SHA,SSE,SSE2,SSE3,SSE4,SSE42,SSE4A,SSSE3,SUCCOR,X87,XSAVE Microarchitecture level: 3 Cacheline bytes: 64 L1 Instruction Cache: 32768 bytes L1 Data Cache: 32768 bytes L2 Cache: 524288 bytes L3 Cache: 16777216 bytes ``` ### JSON Output: ``` λ cpuid --json { "BrandName": "AMD Ryzen 9 3950X 16-Core Processor", "VendorID": 2, "VendorString": "AuthenticAMD", "PhysicalCores": 16, "ThreadsPerCore": 2, "LogicalCores": 32, "Family": 23, "Model": 113, "CacheLine": 64, "Hz": 0, "BoostFreq": 0, "Cache": { "L1I": 32768, "L1D": 32768, "L2": 524288, "L3": 16777216 }, "SGX": { "Available": false, "LaunchControl": false, "SGX1Supported": false, "SGX2Supported": false, "MaxEnclaveSizeNot64": 0, "MaxEnclaveSize64": 0, "EPCSections": null }, "Features": [ "ADX", "AESNI", "AVX", "AVX2", "BMI1", "BMI2", "CLMUL", "CLZERO", "CMOV", "CMPXCHG8", "CPBOOST", "CX16", "F16C", "FMA3", "FXSR", "FXSROPT", "HTT", "HYPERVISOR", "LAHF", "LZCNT", "MCAOVERFLOW", "MMX", "MMXEXT", "MOVBE", "NX", "OSXSAVE", "POPCNT", "RDRAND", "RDSEED", "RDTSCP", "SCE", "SHA", "SSE", "SSE2", "SSE3", "SSE4", "SSE42", "SSE4A", "SSSE3", "SUCCOR", "X87", "XSAVE" ], "X64Level": 3 } ``` ### Check CPU microarch level ``` λ cpuid --check-level=3 2022/03/18 17:04:40 AMD Ryzen 9 3950X 16-Core Processor 2022/03/18 17:04:40 Microarchitecture level 3 is supported. Max level is 3. Exit Code 0 λ cpuid --check-level=4 2022/03/18 17:06:18 AMD Ryzen 9 3950X 16-Core Processor 2022/03/18 17:06:18 Microarchitecture level 4 not supported. Max level is 3. Exit Code 1 ``` ## Available flags ### x86 & amd64 | Feature Flag | Description | |--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ADX | Intel ADX (Multi-Precision Add-Carry Instruction Extensions) | | AESNI | Advanced Encryption Standard New Instructions | | AMD3DNOW | AMD 3DNOW | | AMD3DNOWEXT | AMD 3DNowExt | | AMXBF16 | Tile computational operations on BFLOAT16 numbers | | AMXINT8 | Tile computational operations on 8-bit integers | | AMXFP16 | Tile computational operations on FP16 numbers | | AMXFP8 | Tile computational operations on FP8 numbers | | AMXCOMPLEX | Tile computational operations on complex numbers | | AMXTILE | Tile architecture | | AMXTF32 | Matrix Multiplication of TF32 Tiles into Packed Single Precision Tile | | APX_F | Intel APX | | AVX | AVX functions | | AVX10 | If set the Intel AVX10 Converged Vector ISA is supported | | AVX10_128 | If set indicates that AVX10 128-bit vector support is present | | AVX10_256 | If set indicates that AVX10 256-bit vector support is present | | AVX10_512 | If set indicates that AVX10 512-bit vector support is present | | AVX2 | AVX2 functions | | AVX512BF16 | AVX-512 BFLOAT16 Instructions | | AVX512BITALG | AVX-512 Bit Algorithms | | AVX512BW | AVX-512 Byte and Word Instructions | | AVX512CD | AVX-512 Conflict Detection Instructions | | AVX512DQ | AVX-512 Doubleword and Quadword Instructions | | AVX512ER | AVX-512 Exponential and Reciprocal Instructions | | AVX512F | AVX-512 Foundation | | AVX512FP16 | AVX-512 FP16 Instructions | | AVX512IFMA | AVX-512 Integer Fused Multiply-Add Instructions | | AVX512PF | AVX-512 Prefetch Instructions | | AVX512VBMI | AVX-512 Vector Bit Manipulation Instructions | | AVX512VBMI2 | AVX-512 Vector Bit Manipulation Instructions, Version 2 | | AVX512VL | AVX-512 Vector Length Extensions | | AVX512VNNI | AVX-512 Vector Neural Network Instructions | | AVX512VP2INTERSECT | AVX-512 Intersect for D/Q | | AVX512VPOPCNTDQ | AVX-512 Vector Population Count Doubleword and Quadword | | AVXIFMA | AVX-IFMA instructions | | AVXNECONVERT | AVX-NE-CONVERT instructions | | AVXSLOW | Indicates the CPU performs 2 128 bit operations instead of one | | AVXVNNI | AVX (VEX encoded) VNNI neural network instructions | | AVXVNNIINT8 | AVX-VNNI-INT8 instructions | | AVXVNNIINT16 | AVX-VNNI-INT16 instructions | | BHI_CTRL | Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598 | | BMI1 | Bit Manipulation Instruction Set 1 | | BMI2 | Bit Manipulation Instruction Set 2 | | CETIBT | Intel CET Indirect Branch Tracking | | CETSS | Intel CET Shadow Stack | | CLDEMOTE | Cache Line Demote | | CLMUL | Carry-less Multiplication | | CLZERO | CLZERO instruction supported | | CMOV | i686 CMOV | | CMPCCXADD | CMPCCXADD instructions | | CMPSB_SCADBS_SHORT | Fast short CMPSB and SCASB | | CMPXCHG8 | CMPXCHG8 instruction | | CPBOOST | Core Performance Boost | | CPPC | AMD: Collaborative Processor Performance Control | | CX16 | CMPXCHG16B Instruction | | EFER_LMSLE_UNS | AMD: =Core::X86::Msr::EFER[LMSLE] is not supported, and MBZ | | ENQCMD | Enqueue Command | | ERMS | Enhanced REP MOVSB/STOSB | | F16C | Half-precision floating-point conversion | | FLUSH_L1D | Flush L1D cache | | FMA3 | Intel FMA 3. Does not imply AVX. | | FMA4 | Bulldozer FMA4 functions | | FP128 | AMD: When set, the internal FP/SIMD execution datapath is 128-bits wide | | FP256 | AMD: When set, the internal FP/SIMD execution datapath is 256-bits wide | | FSRM | Fast Short Rep Mov | | FXSR | FXSAVE, FXRESTOR instructions, CR4 bit 9 | | FXSROPT | FXSAVE/FXRSTOR optimizations | | GFNI | Galois Field New Instructions. May require other features (AVX, AVX512VL,AVX512F) based on usage. | | HLE | Hardware Lock Elision | | HRESET | If set CPU supports history reset and the IA32_HRESET_ENABLE MSR | | HTT | Hyperthreading (enabled) | | HWA | Hardware assert supported. Indicates support for MSRC001_10 | | HYBRID_CPU | This part has CPUs of more than one type. | | HYPERVISOR | This bit has been reserved by Intel & AMD for use by hypervisors | | IA32_ARCH_CAP | IA32_ARCH_CAPABILITIES MSR (Intel) | | IA32_CORE_CAP | IA32_CORE_CAPABILITIES MSR | | IBPB | Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB) | | IBRS | AMD: Indirect Branch Restricted Speculation | | IBRS_PREFERRED | AMD: IBRS is preferred over software solution | | IBRS_PROVIDES_SMP | AMD: IBRS provides Same Mode Protection | | IBS | Instruction Based Sampling (AMD) | | IBSBRNTRGT | Instruction Based Sampling Feature (AMD) | | IBSFETCHSAM | Instruction Based Sampling Feature (AMD) | | IBSFFV | Instruction Based Sampling Feature (AMD) | | IBSOPCNT | Instruction Based Sampling Feature (AMD) | | IBSOPCNTEXT | Instruction Based Sampling Feature (AMD) | | IBSOPSAM | Instruction Based Sampling Feature (AMD) | | IBSRDWROPCNT | Instruction Based Sampling Feature (AMD) | | IBSRIPINVALIDCHK | Instruction Based Sampling Feature (AMD) | | IBS_FETCH_CTLX | AMD: IBS fetch control extended MSR supported | | IBS_OPDATA4 | AMD: IBS op data 4 MSR supported | | IBS_OPFUSE | AMD: Indicates support for IbsOpFuse | | IBS_PREVENTHOST | Disallowing IBS use by the host supported | | IBS_ZEN4 | Fetch and Op IBS support IBS extensions added with Zen4 | | IDPRED_CTRL | IPRED_DIS | | INT_WBINVD | WBINVD/WBNOINVD are interruptible. | | INVLPGB | NVLPGB and TLBSYNC instruction supported | | KEYLOCKER | Key locker | | KEYLOCKERW | Key locker wide | | LAHF | LAHF/SAHF in long mode | | LAM | If set, CPU supports Linear Address Masking | | LBRVIRT | LBR virtualization | | LZCNT | LZCNT instruction | | MCAOVERFLOW | MCA overflow recovery support. | | MCDT_NO | Processor do not exhibit MXCSR Configuration Dependent Timing behavior and do not need to mitigate it. | | MCOMMIT | MCOMMIT instruction supported | | MD_CLEAR | VERW clears CPU buffers | | MMX | standard MMX | | MMXEXT | SSE integer functions or AMD MMX ext | | MOVBE | MOVBE instruction (big-endian) | | MOVDIR64B | Move 64 Bytes as Direct Store | | MOVDIRI | Move Doubleword as Direct Store | | MOVSB_ZL | Fast Zero-Length MOVSB | | MPX | Intel MPX (Memory Protection Extensions) | | MOVU | MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD | | MSRIRC | Instruction Retired Counter MSR available | | MSRLIST | Read/Write List of Model Specific Registers | | MSR_PAGEFLUSH | Page Flush MSR available | | NRIPS | Indicates support for NRIP save on VMEXIT | | NX | NX (No-Execute) bit | | OSXSAVE | XSAVE enabled by OS | | PCONFIG | PCONFIG for Intel Multi-Key Total Memory Encryption | | POPCNT | POPCNT instruction | | PPIN | AMD: Protected Processor Inventory Number support. Indicates that Protected Processor Inventory Number (PPIN) capability can be enabled | | PREFETCHI | PREFETCHIT0/1 instructions | | PSFD | Predictive Store Forward Disable | | RDPRU | RDPRU instruction supported | | RDRAND | RDRAND instruction is available | | RDSEED | RDSEED instruction is available | | RDTSCP | RDTSCP Instruction | | RRSBA_CTRL | Restricted RSB Alternate | | RTM | Restricted Transactional Memory | | RTM_ALWAYS_ABORT | Indicates that the loaded microcode is forcing RTM abort. | | SERIALIZE | Serialize Instruction Execution | | SEV | AMD Secure Encrypted Virtualization supported | | SEV_64BIT | AMD SEV guest execution only allowed from a 64-bit host | | SEV_ALTERNATIVE | AMD SEV Alternate Injection supported | | SEV_DEBUGSWAP | Full debug state swap supported for SEV-ES guests | | SEV_ES | AMD SEV Encrypted State supported | | SEV_RESTRICTED | AMD SEV Restricted Injection supported | | SEV_SNP | AMD SEV Secure Nested Paging supported | | SGX | Software Guard Extensions | | SGXLC | Software Guard Extensions Launch Control | | SHA | Intel SHA Extensions | | SME | AMD Secure Memory Encryption supported | | SME_COHERENT | AMD Hardware cache coherency across encryption domains enforced | | SPEC_CTRL_SSBD | Speculative Store Bypass Disable | | SRBDS_CTRL | SRBDS mitigation MSR available | | SSE | SSE functions | | SSE2 | P4 SSE functions | | SSE3 | Prescott SSE3 functions | | SSE4 | Penryn SSE4.1 functions | | SSE42 | Nehalem SSE4.2 functions | | SSE4A | AMD Barcelona microarchitecture SSE4a instructions | | SSSE3 | Conroe SSSE3 functions | | STIBP | Single Thread Indirect Branch Predictors | | STIBP_ALWAYSON | AMD: Single Thread Indirect Branch Prediction Mode has Enhanced Performance and may be left Always On | | STOSB_SHORT | Fast short STOSB | | SUCCOR | Software uncorrectable error containment and recovery capability. | | SVM | AMD Secure Virtual Machine | | SVMDA | Indicates support for the SVM decode assists. | | SVMFBASID | SVM, Indicates that TLB flush events, including CR3 writes and CR4.PGE toggles, flush only the current ASID's TLB entries. Also indicates support for the extended VMCBTLB_Control | | SVML | AMD SVM lock. Indicates support for SVM-Lock. | | SVMNP | AMD SVM nested paging | | SVMPF | SVM pause intercept filter. Indicates support for the pause intercept filter | | SVMPFT | SVM PAUSE filter threshold. Indicates support for the PAUSE filter cycle count threshold | | SYSCALL | System-Call Extension (SCE): SYSCALL and SYSRET instructions. | | SYSEE | SYSENTER and SYSEXIT instructions | | TBM | AMD Trailing Bit Manipulation | | TDX_GUEST | Intel Trust Domain Extensions Guest | | TLB_FLUSH_NESTED | AMD: Flushing includes all the nested translations for guest translations | | TME | Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. | | TOPEXT | TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. | | TSCRATEMSR | MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104 | | TSXLDTRK | Intel TSX Suspend Load Address Tracking | | VAES | Vector AES. AVX(512) versions requires additional checks. | | VMCBCLEAN | VMCB clean bits. Indicates support for VMCB clean bits. | | VMPL | AMD VM Permission Levels supported | | VMSA_REGPROT | AMD VMSA Register Protection supported | | VMX | Virtual Machine Extensions | | VPCLMULQDQ | Carry-Less Multiplication Quadword. Requires AVX for 3 register versions. | | VTE | AMD Virtual Transparent Encryption supported | | WAITPKG | TPAUSE, UMONITOR, UMWAIT | | WBNOINVD | Write Back and Do Not Invalidate Cache | | WRMSRNS | Non-Serializing Write to Model Specific Register | | X87 | FPU | | XGETBV1 | Supports XGETBV with ECX = 1 | | XOP | Bulldozer XOP functions | | XSAVE | XSAVE, XRESTOR, XSETBV, XGETBV | | XSAVEC | Supports XSAVEC and the compacted form of XRSTOR. | | XSAVEOPT | XSAVEOPT available | | XSAVES | Supports XSAVES/XRSTORS and IA32_XSS | # ARM features: | Feature Flag | Description | |--------------|------------------------------------------------------------------| | AESARM | AES instructions | | ARMCPUID | Some CPU ID registers readable at user-level | | ASIMD | Advanced SIMD | | ASIMDDP | SIMD Dot Product | | ASIMDHP | Advanced SIMD half-precision floating point | | ASIMDRDM | Rounding Double Multiply Accumulate/Subtract (SQRDMLAH/SQRDMLSH) | | ATOMICS | Large System Extensions (LSE) | | CRC32 | CRC32/CRC32C instructions | | DCPOP | Data cache clean to Point of Persistence (DC CVAP) | | EVTSTRM | Generic timer | | FCMA | Floatin point complex number addition and multiplication | | FHM | FMLAL and FMLSL instructions | | FP | Single-precision and double-precision floating point | | FPHP | Half-precision floating point | | GPA | Generic Pointer Authentication | | JSCVT | Javascript-style double->int convert (FJCVTZS) | | LRCPC | Weaker release consistency (LDAPR, etc) | | PMULL | Polynomial Multiply instructions (PMULL/PMULL2) | | RNDR | Random Number instructions | | TLB | Outer Shareable and TLB range maintenance instructions | | TS | Flag manipulation instructions | | SHA1 | SHA-1 instructions (SHA1C, etc) | | SHA2 | SHA-2 instructions (SHA256H, etc) | | SHA3 | SHA-3 instructions (EOR3, RAXI, XAR, BCAX) | | SHA512 | SHA512 instructions | | SM3 | SM3 instructions | | SM4 | SM4 instructions | | SVE | Scalable Vector Extension | # license This code is published under an MIT license. See LICENSE file for more information. cpuid-2.2.10/cmd/000077500000000000000000000000001475714514100134545ustar00rootroot00000000000000cpuid-2.2.10/cmd/cpuid/000077500000000000000000000000001475714514100145605ustar00rootroot00000000000000cpuid-2.2.10/cmd/cpuid/main.go000066400000000000000000000054411475714514100160370ustar00rootroot00000000000000// Copyright (c) 2021 Klaus Post, released under MIT License. See LICENSE file. // Package cpuid provides information about the CPU running the current program. // // CPU features are detected on startup, and kept for fast access through the life of the application. // Currently x86 / x64 (AMD64) as well as arm64 is supported. // // You can access the CPU information by accessing the shared CPU variable of the cpuid library. // // Package home: https://github.com/klauspost/cpuid package main import ( "encoding/json" "flag" "fmt" "log" "os" "strings" "github.com/klauspost/cpuid/v2" ) var js = flag.Bool("json", false, "Output as JSON") var level = flag.Int("check-level", 0, "Check microarchitecture level. Exit code will be 0 if supported") func main() { flag.Parse() if level != nil && *level > 0 { if *level < 1 || *level > 4 { log.Fatalln("Supply CPU level 1-4 to test as argument") } log.Println(cpuid.CPU.BrandName) if cpuid.CPU.X64Level() < *level { // Does os.Exit(1) log.Fatalf("Microarchitecture level %d not supported. Max level is %d.", *level, cpuid.CPU.X64Level()) } log.Printf("Microarchitecture level %d is supported. Max level is %d.", *level, cpuid.CPU.X64Level()) os.Exit(0) } if *js { info := struct { cpuid.CPUInfo Features []string X64Level int }{ CPUInfo: cpuid.CPU, Features: cpuid.CPU.FeatureSet(), X64Level: cpuid.CPU.X64Level(), } b, err := json.MarshalIndent(info, "", " ") if err != nil { panic(err) } fmt.Println(string(b)) os.Exit(0) } fmt.Println("Name:", cpuid.CPU.BrandName) fmt.Println("Vendor String:", cpuid.CPU.VendorString) fmt.Println("Vendor ID:", cpuid.CPU.VendorID) fmt.Println("PhysicalCores:", cpuid.CPU.PhysicalCores) fmt.Println("Threads Per Core:", cpuid.CPU.ThreadsPerCore) fmt.Println("Logical Cores:", cpuid.CPU.LogicalCores) fmt.Println("CPU Family", cpuid.CPU.Family, "Model:", cpuid.CPU.Model, "Stepping:", cpuid.CPU.Stepping) fmt.Println("Features:", strings.Join(cpuid.CPU.FeatureSet(), ",")) fmt.Println("Microarchitecture level:", cpuid.CPU.X64Level()) if cpuid.CPU.AVX10Level > 0 { fmt.Println("AVX10 level:", cpuid.CPU.AVX10Level) } fmt.Println("Cacheline bytes:", cpuid.CPU.CacheLine) fmt.Println("L1 Instruction Cache:", cpuid.CPU.Cache.L1I, "bytes") fmt.Println("L1 Data Cache:", cpuid.CPU.Cache.L1D, "bytes") fmt.Println("L2 Cache:", cpuid.CPU.Cache.L2, "bytes") fmt.Println("L3 Cache:", cpuid.CPU.Cache.L3, "bytes") if cpuid.CPU.Hz > 0 { fmt.Println("Frequency:", cpuid.CPU.Hz, "Hz") } if cpuid.CPU.BoostFreq > 0 { fmt.Println("Boost Frequency:", cpuid.CPU.BoostFreq, "Hz") } if cpuid.CPU.SGX.Available { fmt.Printf("SGX: %+v\n", cpuid.CPU.SGX) } if cpuid.CPU.AMDMemEncryption.Available { fmt.Printf("AMD Memory Encryption: %+v\n", cpuid.CPU.AMDMemEncryption) } } cpuid-2.2.10/cpuid.go000066400000000000000000001515351475714514100143560ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. // Package cpuid provides information about the CPU running the current program. // // CPU features are detected on startup, and kept for fast access through the life of the application. // Currently x86 / x64 (AMD64) as well as arm64 is supported. // // You can access the CPU information by accessing the shared CPU variable of the cpuid library. // // Package home: https://github.com/klauspost/cpuid package cpuid import ( "flag" "fmt" "math" "math/bits" "os" "runtime" "strings" ) // AMD refererence: https://www.amd.com/system/files/TechDocs/25481.pdf // and Processor Programming Reference (PPR) // Vendor is a representation of a CPU vendor. type Vendor int const ( VendorUnknown Vendor = iota Intel AMD VIA Transmeta NSC KVM // Kernel-based Virtual Machine MSVM // Microsoft Hyper-V or Windows Virtual PC VMware XenHVM Bhyve Hygon SiS RDC Ampere ARM Broadcom Cavium DEC Fujitsu Infineon Motorola NVIDIA AMCC Qualcomm Marvell QEMU QNX ACRN SRE Apple lastVendor ) //go:generate stringer -type=FeatureID,Vendor // FeatureID is the ID of a specific cpu feature. type FeatureID int const ( // Keep index -1 as unknown UNKNOWN = -1 // x86 features ADX FeatureID = iota // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) AESNI // Advanced Encryption Standard New Instructions AMD3DNOW // AMD 3DNOW AMD3DNOWEXT // AMD 3DNowExt AMXBF16 // Tile computational operations on BFLOAT16 numbers AMXFP16 // Tile computational operations on FP16 numbers AMXINT8 // Tile computational operations on 8-bit integers AMXFP8 // Tile computational operations on FP8 numbers AMXTILE // Tile architecture AMXTF32 // Tile architecture AMXCOMPLEX // Matrix Multiplication of TF32 Tiles into Packed Single Precision Tile APX_F // Intel APX AVX // AVX functions AVX10 // If set the Intel AVX10 Converged Vector ISA is supported AVX10_128 // If set indicates that AVX10 128-bit vector support is present AVX10_256 // If set indicates that AVX10 256-bit vector support is present AVX10_512 // If set indicates that AVX10 512-bit vector support is present AVX2 // AVX2 functions AVX512BF16 // AVX-512 BFLOAT16 Instructions AVX512BITALG // AVX-512 Bit Algorithms AVX512BW // AVX-512 Byte and Word Instructions AVX512CD // AVX-512 Conflict Detection Instructions AVX512DQ // AVX-512 Doubleword and Quadword Instructions AVX512ER // AVX-512 Exponential and Reciprocal Instructions AVX512F // AVX-512 Foundation AVX512FP16 // AVX-512 FP16 Instructions AVX512IFMA // AVX-512 Integer Fused Multiply-Add Instructions AVX512PF // AVX-512 Prefetch Instructions AVX512VBMI // AVX-512 Vector Bit Manipulation Instructions AVX512VBMI2 // AVX-512 Vector Bit Manipulation Instructions, Version 2 AVX512VL // AVX-512 Vector Length Extensions AVX512VNNI // AVX-512 Vector Neural Network Instructions AVX512VP2INTERSECT // AVX-512 Intersect for D/Q AVX512VPOPCNTDQ // AVX-512 Vector Population Count Doubleword and Quadword AVXIFMA // AVX-IFMA instructions AVXNECONVERT // AVX-NE-CONVERT instructions AVXSLOW // Indicates the CPU performs 2 128 bit operations instead of one AVXVNNI // AVX (VEX encoded) VNNI neural network instructions AVXVNNIINT8 // AVX-VNNI-INT8 instructions AVXVNNIINT16 // AVX-VNNI-INT16 instructions BHI_CTRL // Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598 BMI1 // Bit Manipulation Instruction Set 1 BMI2 // Bit Manipulation Instruction Set 2 CETIBT // Intel CET Indirect Branch Tracking CETSS // Intel CET Shadow Stack CLDEMOTE // Cache Line Demote CLMUL // Carry-less Multiplication CLZERO // CLZERO instruction supported CMOV // i686 CMOV CMPCCXADD // CMPCCXADD instructions CMPSB_SCADBS_SHORT // Fast short CMPSB and SCASB CMPXCHG8 // CMPXCHG8 instruction CPBOOST // Core Performance Boost CPPC // AMD: Collaborative Processor Performance Control CX16 // CMPXCHG16B Instruction EFER_LMSLE_UNS // AMD: =Core::X86::Msr::EFER[LMSLE] is not supported, and MBZ ENQCMD // Enqueue Command ERMS // Enhanced REP MOVSB/STOSB F16C // Half-precision floating-point conversion FLUSH_L1D // Flush L1D cache FMA3 // Intel FMA 3. Does not imply AVX. FMA4 // Bulldozer FMA4 functions FP128 // AMD: When set, the internal FP/SIMD execution datapath is no more than 128-bits wide FP256 // AMD: When set, the internal FP/SIMD execution datapath is no more than 256-bits wide FSRM // Fast Short Rep Mov FXSR // FXSAVE, FXRESTOR instructions, CR4 bit 9 FXSROPT // FXSAVE/FXRSTOR optimizations GFNI // Galois Field New Instructions. May require other features (AVX, AVX512VL,AVX512F) based on usage. HLE // Hardware Lock Elision HRESET // If set CPU supports history reset and the IA32_HRESET_ENABLE MSR HTT // Hyperthreading (enabled) HWA // Hardware assert supported. Indicates support for MSRC001_10 HYBRID_CPU // This part has CPUs of more than one type. HYPERVISOR // This bit has been reserved by Intel & AMD for use by hypervisors IA32_ARCH_CAP // IA32_ARCH_CAPABILITIES MSR (Intel) IA32_CORE_CAP // IA32_CORE_CAPABILITIES MSR IBPB // Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB) IBPB_BRTYPE // Indicates that MSR 49h (PRED_CMD) bit 0 (IBPB) flushes all branch type predictions from the CPU branch predictor IBRS // AMD: Indirect Branch Restricted Speculation IBRS_PREFERRED // AMD: IBRS is preferred over software solution IBRS_PROVIDES_SMP // AMD: IBRS provides Same Mode Protection IBS // Instruction Based Sampling (AMD) IBSBRNTRGT // Instruction Based Sampling Feature (AMD) IBSFETCHSAM // Instruction Based Sampling Feature (AMD) IBSFFV // Instruction Based Sampling Feature (AMD) IBSOPCNT // Instruction Based Sampling Feature (AMD) IBSOPCNTEXT // Instruction Based Sampling Feature (AMD) IBSOPSAM // Instruction Based Sampling Feature (AMD) IBSRDWROPCNT // Instruction Based Sampling Feature (AMD) IBSRIPINVALIDCHK // Instruction Based Sampling Feature (AMD) IBS_FETCH_CTLX // AMD: IBS fetch control extended MSR supported IBS_OPDATA4 // AMD: IBS op data 4 MSR supported IBS_OPFUSE // AMD: Indicates support for IbsOpFuse IBS_PREVENTHOST // Disallowing IBS use by the host supported IBS_ZEN4 // AMD: Fetch and Op IBS support IBS extensions added with Zen4 IDPRED_CTRL // IPRED_DIS INT_WBINVD // WBINVD/WBNOINVD are interruptible. INVLPGB // NVLPGB and TLBSYNC instruction supported KEYLOCKER // Key locker KEYLOCKERW // Key locker wide LAHF // LAHF/SAHF in long mode LAM // If set, CPU supports Linear Address Masking LBRVIRT // LBR virtualization LZCNT // LZCNT instruction MCAOVERFLOW // MCA overflow recovery support. MCDT_NO // Processor do not exhibit MXCSR Configuration Dependent Timing behavior and do not need to mitigate it. MCOMMIT // MCOMMIT instruction supported MD_CLEAR // VERW clears CPU buffers MMX // standard MMX MMXEXT // SSE integer functions or AMD MMX ext MOVBE // MOVBE instruction (big-endian) MOVDIR64B // Move 64 Bytes as Direct Store MOVDIRI // Move Doubleword as Direct Store MOVSB_ZL // Fast Zero-Length MOVSB MOVU // AMD: MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD MPX // Intel MPX (Memory Protection Extensions) MSRIRC // Instruction Retired Counter MSR available MSRLIST // Read/Write List of Model Specific Registers MSR_PAGEFLUSH // Page Flush MSR available NRIPS // Indicates support for NRIP save on VMEXIT NX // NX (No-Execute) bit OSXSAVE // XSAVE enabled by OS PCONFIG // PCONFIG for Intel Multi-Key Total Memory Encryption POPCNT // POPCNT instruction PPIN // AMD: Protected Processor Inventory Number support. Indicates that Protected Processor Inventory Number (PPIN) capability can be enabled PREFETCHI // PREFETCHIT0/1 instructions PSFD // Predictive Store Forward Disable RDPRU // RDPRU instruction supported RDRAND // RDRAND instruction is available RDSEED // RDSEED instruction is available RDTSCP // RDTSCP Instruction RRSBA_CTRL // Restricted RSB Alternate RTM // Restricted Transactional Memory RTM_ALWAYS_ABORT // Indicates that the loaded microcode is forcing RTM abort. SBPB // Indicates support for the Selective Branch Predictor Barrier SERIALIZE // Serialize Instruction Execution SEV // AMD Secure Encrypted Virtualization supported SEV_64BIT // AMD SEV guest execution only allowed from a 64-bit host SEV_ALTERNATIVE // AMD SEV Alternate Injection supported SEV_DEBUGSWAP // Full debug state swap supported for SEV-ES guests SEV_ES // AMD SEV Encrypted State supported SEV_RESTRICTED // AMD SEV Restricted Injection supported SEV_SNP // AMD SEV Secure Nested Paging supported SGX // Software Guard Extensions SGXLC // Software Guard Extensions Launch Control SHA // Intel SHA Extensions SME // AMD Secure Memory Encryption supported SME_COHERENT // AMD Hardware cache coherency across encryption domains enforced SPEC_CTRL_SSBD // Speculative Store Bypass Disable SRBDS_CTRL // SRBDS mitigation MSR available SRSO_MSR_FIX // Indicates that software may use MSR BP_CFG[BpSpecReduce] to mitigate SRSO. SRSO_NO // Indicates the CPU is not subject to the SRSO vulnerability SRSO_USER_KERNEL_NO // Indicates the CPU is not subject to the SRSO vulnerability across user/kernel boundaries SSE // SSE functions SSE2 // P4 SSE functions SSE3 // Prescott SSE3 functions SSE4 // Penryn SSE4.1 functions SSE42 // Nehalem SSE4.2 functions SSE4A // AMD Barcelona microarchitecture SSE4a instructions SSSE3 // Conroe SSSE3 functions STIBP // Single Thread Indirect Branch Predictors STIBP_ALWAYSON // AMD: Single Thread Indirect Branch Prediction Mode has Enhanced Performance and may be left Always On STOSB_SHORT // Fast short STOSB SUCCOR // Software uncorrectable error containment and recovery capability. SVM // AMD Secure Virtual Machine SVMDA // Indicates support for the SVM decode assists. SVMFBASID // SVM, Indicates that TLB flush events, including CR3 writes and CR4.PGE toggles, flush only the current ASID's TLB entries. Also indicates support for the extended VMCBTLB_Control SVML // AMD SVM lock. Indicates support for SVM-Lock. SVMNP // AMD SVM nested paging SVMPF // SVM pause intercept filter. Indicates support for the pause intercept filter SVMPFT // SVM PAUSE filter threshold. Indicates support for the PAUSE filter cycle count threshold SYSCALL // System-Call Extension (SCE): SYSCALL and SYSRET instructions. SYSEE // SYSENTER and SYSEXIT instructions TBM // AMD Trailing Bit Manipulation TDX_GUEST // Intel Trust Domain Extensions Guest TLB_FLUSH_NESTED // AMD: Flushing includes all the nested translations for guest translations TME // Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. TOPEXT // TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. TSCRATEMSR // MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104 TSXLDTRK // Intel TSX Suspend Load Address Tracking VAES // Vector AES. AVX(512) versions requires additional checks. VMCBCLEAN // VMCB clean bits. Indicates support for VMCB clean bits. VMPL // AMD VM Permission Levels supported VMSA_REGPROT // AMD VMSA Register Protection supported VMX // Virtual Machine Extensions VPCLMULQDQ // Carry-Less Multiplication Quadword. Requires AVX for 3 register versions. VTE // AMD Virtual Transparent Encryption supported WAITPKG // TPAUSE, UMONITOR, UMWAIT WBNOINVD // Write Back and Do Not Invalidate Cache WRMSRNS // Non-Serializing Write to Model Specific Register X87 // FPU XGETBV1 // Supports XGETBV with ECX = 1 XOP // Bulldozer XOP functions XSAVE // XSAVE, XRESTOR, XSETBV, XGETBV XSAVEC // Supports XSAVEC and the compacted form of XRSTOR. XSAVEOPT // XSAVEOPT available XSAVES // Supports XSAVES/XRSTORS and IA32_XSS // ARM features: AESARM // AES instructions ARMCPUID // Some CPU ID registers readable at user-level ASIMD // Advanced SIMD ASIMDDP // SIMD Dot Product ASIMDHP // Advanced SIMD half-precision floating point ASIMDRDM // Rounding Double Multiply Accumulate/Subtract (SQRDMLAH/SQRDMLSH) ATOMICS // Large System Extensions (LSE) CRC32 // CRC32/CRC32C instructions DCPOP // Data cache clean to Point of Persistence (DC CVAP) EVTSTRM // Generic timer FCMA // Floatin point complex number addition and multiplication FHM // FMLAL and FMLSL instructions FP // Single-precision and double-precision floating point FPHP // Half-precision floating point GPA // Generic Pointer Authentication JSCVT // Javascript-style double->int convert (FJCVTZS) LRCPC // Weaker release consistency (LDAPR, etc) PMULL // Polynomial Multiply instructions (PMULL/PMULL2) RNDR // Random Number instructions TLB // Outer Shareable and TLB range maintenance instructions TS // Flag manipulation instructions SHA1 // SHA-1 instructions (SHA1C, etc) SHA2 // SHA-2 instructions (SHA256H, etc) SHA3 // SHA-3 instructions (EOR3, RAXI, XAR, BCAX) SHA512 // SHA512 instructions SM3 // SM3 instructions SM4 // SM4 instructions SVE // Scalable Vector Extension // Keep it last. It automatically defines the size of []flagSet lastID firstID FeatureID = UNKNOWN + 1 ) // CPUInfo contains information about the detected system CPU. type CPUInfo struct { BrandName string // Brand name reported by the CPU VendorID Vendor // Comparable CPU vendor ID VendorString string // Raw vendor string. HypervisorVendorID Vendor // Hypervisor vendor HypervisorVendorString string // Raw hypervisor vendor string featureSet flagSet // Features of the CPU PhysicalCores int // Number of physical processor cores in your CPU. Will be 0 if undetectable. ThreadsPerCore int // Number of threads per physical core. Will be 1 if undetectable. LogicalCores int // Number of physical cores times threads that can run on each core through the use of hyperthreading. Will be 0 if undetectable. Family int // CPU family number Model int // CPU model number Stepping int // CPU stepping info CacheLine int // Cache line size in bytes. Will be 0 if undetectable. Hz int64 // Clock speed, if known, 0 otherwise. Will attempt to contain base clock speed. BoostFreq int64 // Max clock speed, if known, 0 otherwise Cache struct { L1I int // L1 Instruction Cache (per core or shared). Will be -1 if undetected L1D int // L1 Data Cache (per core or shared). Will be -1 if undetected L2 int // L2 Cache (per core or shared). Will be -1 if undetected L3 int // L3 Cache (per core, per ccx or shared). Will be -1 if undetected } SGX SGXSupport AMDMemEncryption AMDMemEncryptionSupport AVX10Level uint8 maxFunc uint32 maxExFunc uint32 } var cpuid func(op uint32) (eax, ebx, ecx, edx uint32) var cpuidex func(op, op2 uint32) (eax, ebx, ecx, edx uint32) var xgetbv func(index uint32) (eax, edx uint32) var rdtscpAsm func() (eax, ebx, ecx, edx uint32) var darwinHasAVX512 = func() bool { return false } // CPU contains information about the CPU as detected on startup, // or when Detect last was called. // // Use this as the primary entry point to you data. var CPU CPUInfo func init() { initCPU() Detect() } // Detect will re-detect current CPU info. // This will replace the content of the exported CPU variable. // // Unless you expect the CPU to change while you are running your program // you should not need to call this function. // If you call this, you must ensure that no other goroutine is accessing the // exported CPU variable. func Detect() { // Set defaults CPU.ThreadsPerCore = 1 CPU.Cache.L1I = -1 CPU.Cache.L1D = -1 CPU.Cache.L2 = -1 CPU.Cache.L3 = -1 safe := true if detectArmFlag != nil { safe = !*detectArmFlag } addInfo(&CPU, safe) if displayFeats != nil && *displayFeats { fmt.Println("cpu features:", strings.Join(CPU.FeatureSet(), ",")) // Exit with non-zero so tests will print value. os.Exit(1) } if disableFlag != nil { s := strings.Split(*disableFlag, ",") for _, feat := range s { feat := ParseFeature(strings.TrimSpace(feat)) if feat != UNKNOWN { CPU.featureSet.unset(feat) } } } } // DetectARM will detect ARM64 features. // This is NOT done automatically since it can potentially crash // if the OS does not handle the command. // If in the future this can be done safely this function may not // do anything. func DetectARM() { addInfo(&CPU, false) } var detectArmFlag *bool var displayFeats *bool var disableFlag *string // Flags will enable flags. // This must be called *before* flag.Parse AND // Detect must be called after the flags have been parsed. // Note that this means that any detection used in init() functions // will not contain these flags. func Flags() { disableFlag = flag.String("cpu.disable", "", "disable cpu features; comma separated list") displayFeats = flag.Bool("cpu.features", false, "lists cpu features and exits") detectArmFlag = flag.Bool("cpu.arm", false, "allow ARM features to be detected; can potentially crash") } // Supports returns whether the CPU supports all of the requested features. func (c CPUInfo) Supports(ids ...FeatureID) bool { for _, id := range ids { if !c.featureSet.inSet(id) { return false } } return true } // Has allows for checking a single feature. // Should be inlined by the compiler. func (c *CPUInfo) Has(id FeatureID) bool { return c.featureSet.inSet(id) } // AnyOf returns whether the CPU supports one or more of the requested features. func (c CPUInfo) AnyOf(ids ...FeatureID) bool { for _, id := range ids { if c.featureSet.inSet(id) { return true } } return false } // Features contains several features combined for a fast check using // CpuInfo.HasAll type Features *flagSet // CombineFeatures allows to combine several features for a close to constant time lookup. func CombineFeatures(ids ...FeatureID) Features { var v flagSet for _, id := range ids { v.set(id) } return &v } func (c *CPUInfo) HasAll(f Features) bool { return c.featureSet.hasSetP(f) } // https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels var oneOfLevel = CombineFeatures(SYSEE, SYSCALL) var level1Features = CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SSE, SSE2) var level2Features = CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3) var level3Features = CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3, AVX, AVX2, BMI1, BMI2, F16C, FMA3, LZCNT, MOVBE, OSXSAVE) var level4Features = CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3, AVX, AVX2, BMI1, BMI2, F16C, FMA3, LZCNT, MOVBE, OSXSAVE, AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL) // X64Level returns the microarchitecture level detected on the CPU. // If features are lacking or non x64 mode, 0 is returned. // See https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels func (c CPUInfo) X64Level() int { if !c.featureSet.hasOneOf(oneOfLevel) { return 0 } if c.featureSet.hasSetP(level4Features) { return 4 } if c.featureSet.hasSetP(level3Features) { return 3 } if c.featureSet.hasSetP(level2Features) { return 2 } if c.featureSet.hasSetP(level1Features) { return 1 } return 0 } // Disable will disable one or several features. func (c *CPUInfo) Disable(ids ...FeatureID) bool { for _, id := range ids { c.featureSet.unset(id) } return true } // Enable will disable one or several features even if they were undetected. // This is of course not recommended for obvious reasons. func (c *CPUInfo) Enable(ids ...FeatureID) bool { for _, id := range ids { c.featureSet.set(id) } return true } // IsVendor returns true if vendor is recognized as Intel func (c CPUInfo) IsVendor(v Vendor) bool { return c.VendorID == v } // FeatureSet returns all available features as strings. func (c CPUInfo) FeatureSet() []string { s := make([]string, 0, c.featureSet.nEnabled()) s = append(s, c.featureSet.Strings()...) return s } // RTCounter returns the 64-bit time-stamp counter // Uses the RDTSCP instruction. The value 0 is returned // if the CPU does not support the instruction. func (c CPUInfo) RTCounter() uint64 { if !c.Has(RDTSCP) { return 0 } a, _, _, d := rdtscpAsm() return uint64(a) | (uint64(d) << 32) } // Ia32TscAux returns the IA32_TSC_AUX part of the RDTSCP. // This variable is OS dependent, but on Linux contains information // about the current cpu/core the code is running on. // If the RDTSCP instruction isn't supported on the CPU, the value 0 is returned. func (c CPUInfo) Ia32TscAux() uint32 { if !c.Has(RDTSCP) { return 0 } _, _, ecx, _ := rdtscpAsm() return ecx } // SveLengths returns arm SVE vector and predicate lengths in bits. // Will return 0, 0 if SVE is not enabled or otherwise unable to detect. func (c CPUInfo) SveLengths() (vl, pl uint64) { if !c.Has(SVE) { return 0, 0 } return getVectorLength() } // LogicalCPU will return the Logical CPU the code is currently executing on. // This is likely to change when the OS re-schedules the running thread // to another CPU. // If the current core cannot be detected, -1 will be returned. func (c CPUInfo) LogicalCPU() int { if c.maxFunc < 1 { return -1 } _, ebx, _, _ := cpuid(1) return int(ebx >> 24) } // frequencies tries to compute the clock speed of the CPU. If leaf 15 is // supported, use it, otherwise parse the brand string. Yes, really. func (c *CPUInfo) frequencies() { c.Hz, c.BoostFreq = 0, 0 mfi := maxFunctionID() if mfi >= 0x15 { eax, ebx, ecx, _ := cpuid(0x15) if eax != 0 && ebx != 0 && ecx != 0 { c.Hz = (int64(ecx) * int64(ebx)) / int64(eax) } } if mfi >= 0x16 { a, b, _, _ := cpuid(0x16) // Base... if a&0xffff > 0 { c.Hz = int64(a&0xffff) * 1_000_000 } // Boost... if b&0xffff > 0 { c.BoostFreq = int64(b&0xffff) * 1_000_000 } } if c.Hz > 0 { return } // computeHz determines the official rated speed of a CPU from its brand // string. This insanity is *actually the official documented way to do // this according to Intel*, prior to leaf 0x15 existing. The official // documentation only shows this working for exactly `x.xx` or `xxxx` // cases, e.g., `2.50GHz` or `1300MHz`; this parser will accept other // sizes. model := c.BrandName hz := strings.LastIndex(model, "Hz") if hz < 3 { return } var multiplier int64 switch model[hz-1] { case 'M': multiplier = 1000 * 1000 case 'G': multiplier = 1000 * 1000 * 1000 case 'T': multiplier = 1000 * 1000 * 1000 * 1000 } if multiplier == 0 { return } freq := int64(0) divisor := int64(0) decimalShift := int64(1) var i int for i = hz - 2; i >= 0 && model[i] != ' '; i-- { if model[i] >= '0' && model[i] <= '9' { freq += int64(model[i]-'0') * decimalShift decimalShift *= 10 } else if model[i] == '.' { if divisor != 0 { return } divisor = decimalShift } else { return } } // we didn't find a space if i < 0 { return } if divisor != 0 { c.Hz = (freq * multiplier) / divisor return } c.Hz = freq * multiplier } // VM Will return true if the cpu id indicates we are in // a virtual machine. func (c CPUInfo) VM() bool { return CPU.featureSet.inSet(HYPERVISOR) } // flags contains detected cpu features and characteristics type flags uint64 // log2(bits_in_uint64) const flagBitsLog2 = 6 const flagBits = 1 << flagBitsLog2 const flagMask = flagBits - 1 // flagSet contains detected cpu features and characteristics in an array of flags type flagSet [(lastID + flagMask) / flagBits]flags func (s *flagSet) inSet(feat FeatureID) bool { return s[feat>>flagBitsLog2]&(1<<(feat&flagMask)) != 0 } func (s *flagSet) set(feat FeatureID) { s[feat>>flagBitsLog2] |= 1 << (feat & flagMask) } // setIf will set a feature if boolean is true. func (s *flagSet) setIf(cond bool, features ...FeatureID) { if cond { for _, offset := range features { s[offset>>flagBitsLog2] |= 1 << (offset & flagMask) } } } func (s *flagSet) unset(offset FeatureID) { bit := flags(1 << (offset & flagMask)) s[offset>>flagBitsLog2] = s[offset>>flagBitsLog2] & ^bit } // or with another flagset. func (s *flagSet) or(other flagSet) { for i, v := range other[:] { s[i] |= v } } // hasSet returns whether all features are present. func (s *flagSet) hasSet(other flagSet) bool { for i, v := range other[:] { if s[i]&v != v { return false } } return true } // hasSet returns whether all features are present. func (s *flagSet) hasSetP(other *flagSet) bool { for i, v := range other[:] { if s[i]&v != v { return false } } return true } // hasOneOf returns whether one or more features are present. func (s *flagSet) hasOneOf(other *flagSet) bool { for i, v := range other[:] { if s[i]&v != 0 { return true } } return false } // nEnabled will return the number of enabled flags. func (s *flagSet) nEnabled() (n int) { for _, v := range s[:] { n += bits.OnesCount64(uint64(v)) } return n } func flagSetWith(feat ...FeatureID) flagSet { var res flagSet for _, f := range feat { res.set(f) } return res } // ParseFeature will parse the string and return the ID of the matching feature. // Will return UNKNOWN if not found. func ParseFeature(s string) FeatureID { s = strings.ToUpper(s) for i := firstID; i < lastID; i++ { if i.String() == s { return i } } return UNKNOWN } // Strings returns an array of the detected features for FlagsSet. func (s flagSet) Strings() []string { if len(s) == 0 { return []string{""} } r := make([]string, 0) for i := firstID; i < lastID; i++ { if s.inSet(i) { r = append(r, i.String()) } } return r } func maxExtendedFunction() uint32 { eax, _, _, _ := cpuid(0x80000000) return eax } func maxFunctionID() uint32 { a, _, _, _ := cpuid(0) return a } func brandName() string { if maxExtendedFunction() >= 0x80000004 { v := make([]uint32, 0, 48) for i := uint32(0); i < 3; i++ { a, b, c, d := cpuid(0x80000002 + i) v = append(v, a, b, c, d) } return strings.Trim(string(valAsString(v...)), " ") } return "unknown" } func threadsPerCore() int { mfi := maxFunctionID() vend, _ := vendorID() if mfi < 0x4 || (vend != Intel && vend != AMD) { return 1 } if mfi < 0xb { if vend != Intel { return 1 } _, b, _, d := cpuid(1) if (d & (1 << 28)) != 0 { // v will contain logical core count v := (b >> 16) & 255 if v > 1 { a4, _, _, _ := cpuid(4) // physical cores v2 := (a4 >> 26) + 1 if v2 > 0 { return int(v) / int(v2) } } } return 1 } _, b, _, _ := cpuidex(0xb, 0) if b&0xffff == 0 { if vend == AMD { // if >= Zen 2 0x8000001e EBX 15-8 bits means threads per core. // The number of threads per core is ThreadsPerCore+1 // See PPR for AMD Family 17h Models 00h-0Fh (page 82) fam, _, _ := familyModel() _, _, _, d := cpuid(1) if (d&(1<<28)) != 0 && fam >= 23 { if maxExtendedFunction() >= 0x8000001e { _, b, _, _ := cpuid(0x8000001e) return int((b>>8)&0xff) + 1 } return 2 } } return 1 } return int(b & 0xffff) } func logicalCores() int { mfi := maxFunctionID() v, _ := vendorID() switch v { case Intel: // Use this on old Intel processors if mfi < 0xb { if mfi < 1 { return 0 } // CPUID.1:EBX[23:16] represents the maximum number of addressable IDs (initial APIC ID) // that can be assigned to logical processors in a physical package. // The value may not be the same as the number of logical processors that are present in the hardware of a physical package. _, ebx, _, _ := cpuid(1) logical := (ebx >> 16) & 0xff return int(logical) } _, b, _, _ := cpuidex(0xb, 1) return int(b & 0xffff) case AMD, Hygon: _, b, _, _ := cpuid(1) return int((b >> 16) & 0xff) default: return 0 } } func familyModel() (family, model, stepping int) { if maxFunctionID() < 0x1 { return 0, 0, 0 } eax, _, _, _ := cpuid(1) // If BaseFamily[3:0] is less than Fh then ExtendedFamily[7:0] is reserved and Family is equal to BaseFamily[3:0]. family = int((eax >> 8) & 0xf) extFam := family == 0x6 // Intel is 0x6, needs extended model. if family == 0xf { // Add ExtFamily family += int((eax >> 20) & 0xff) extFam = true } // If BaseFamily[3:0] is less than 0Fh then ExtendedModel[3:0] is reserved and Model is equal to BaseModel[3:0]. model = int((eax >> 4) & 0xf) if extFam { // Add ExtModel model += int((eax >> 12) & 0xf0) } stepping = int(eax & 0xf) return family, model, stepping } func physicalCores() int { v, _ := vendorID() switch v { case Intel: return logicalCores() / threadsPerCore() case AMD, Hygon: lc := logicalCores() tpc := threadsPerCore() if lc > 0 && tpc > 0 { return lc / tpc } // The following is inaccurate on AMD EPYC 7742 64-Core Processor if maxExtendedFunction() >= 0x80000008 { _, _, c, _ := cpuid(0x80000008) if c&0xff > 0 { return int(c&0xff) + 1 } } } return 0 } // Except from http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID var vendorMapping = map[string]Vendor{ "AMDisbetter!": AMD, "AuthenticAMD": AMD, "CentaurHauls": VIA, "GenuineIntel": Intel, "TransmetaCPU": Transmeta, "GenuineTMx86": Transmeta, "Geode by NSC": NSC, "VIA VIA VIA ": VIA, "KVMKVMKVM": KVM, "Linux KVM Hv": KVM, "TCGTCGTCGTCG": QEMU, "Microsoft Hv": MSVM, "VMwareVMware": VMware, "XenVMMXenVMM": XenHVM, "bhyve bhyve ": Bhyve, "HygonGenuine": Hygon, "Vortex86 SoC": SiS, "SiS SiS SiS ": SiS, "RiseRiseRise": SiS, "Genuine RDC": RDC, "QNXQVMBSQG": QNX, "ACRNACRNACRN": ACRN, "SRESRESRESRE": SRE, "Apple VZ": Apple, } func vendorID() (Vendor, string) { _, b, c, d := cpuid(0) v := string(valAsString(b, d, c)) vend, ok := vendorMapping[v] if !ok { return VendorUnknown, v } return vend, v } func hypervisorVendorID() (Vendor, string) { // https://lwn.net/Articles/301888/ _, b, c, d := cpuid(0x40000000) v := string(valAsString(b, c, d)) vend, ok := vendorMapping[v] if !ok { return VendorUnknown, v } return vend, v } func cacheLine() int { if maxFunctionID() < 0x1 { return 0 } _, ebx, _, _ := cpuid(1) cache := (ebx & 0xff00) >> 5 // cflush size if cache == 0 && maxExtendedFunction() >= 0x80000006 { _, _, ecx, _ := cpuid(0x80000006) cache = ecx & 0xff // cacheline size } // TODO: Read from Cache and TLB Information return int(cache) } func (c *CPUInfo) cacheSize() { c.Cache.L1D = -1 c.Cache.L1I = -1 c.Cache.L2 = -1 c.Cache.L3 = -1 vendor, _ := vendorID() switch vendor { case Intel: if maxFunctionID() < 4 { return } c.Cache.L1I, c.Cache.L1D, c.Cache.L2, c.Cache.L3 = 0, 0, 0, 0 for i := uint32(0); ; i++ { eax, ebx, ecx, _ := cpuidex(4, i) cacheType := eax & 15 if cacheType == 0 { break } cacheLevel := (eax >> 5) & 7 coherency := int(ebx&0xfff) + 1 partitions := int((ebx>>12)&0x3ff) + 1 associativity := int((ebx>>22)&0x3ff) + 1 sets := int(ecx) + 1 size := associativity * partitions * coherency * sets switch cacheLevel { case 1: if cacheType == 1 { // 1 = Data Cache c.Cache.L1D = size } else if cacheType == 2 { // 2 = Instruction Cache c.Cache.L1I = size } else { if c.Cache.L1D < 0 { c.Cache.L1I = size } if c.Cache.L1I < 0 { c.Cache.L1I = size } } case 2: c.Cache.L2 = size case 3: c.Cache.L3 = size } } case AMD, Hygon: // Untested. if maxExtendedFunction() < 0x80000005 { return } _, _, ecx, edx := cpuid(0x80000005) c.Cache.L1D = int(((ecx >> 24) & 0xFF) * 1024) c.Cache.L1I = int(((edx >> 24) & 0xFF) * 1024) if maxExtendedFunction() < 0x80000006 { return } _, _, ecx, _ = cpuid(0x80000006) c.Cache.L2 = int(((ecx >> 16) & 0xFFFF) * 1024) // CPUID Fn8000_001D_EAX_x[N:0] Cache Properties if maxExtendedFunction() < 0x8000001D || !c.Has(TOPEXT) { return } // Xen Hypervisor is buggy and returns the same entry no matter ECX value. // Hack: When we encounter the same entry 100 times we break. nSame := 0 var last uint32 for i := uint32(0); i < math.MaxUint32; i++ { eax, ebx, ecx, _ := cpuidex(0x8000001D, i) level := (eax >> 5) & 7 cacheNumSets := ecx + 1 cacheLineSize := 1 + (ebx & 2047) cachePhysPartitions := 1 + ((ebx >> 12) & 511) cacheNumWays := 1 + ((ebx >> 22) & 511) typ := eax & 15 size := int(cacheNumSets * cacheLineSize * cachePhysPartitions * cacheNumWays) if typ == 0 { return } // Check for the same value repeated. comb := eax ^ ebx ^ ecx if comb == last { nSame++ if nSame == 100 { return } } last = comb switch level { case 1: switch typ { case 1: // Data cache c.Cache.L1D = size case 2: // Inst cache c.Cache.L1I = size default: if c.Cache.L1D < 0 { c.Cache.L1I = size } if c.Cache.L1I < 0 { c.Cache.L1I = size } } case 2: c.Cache.L2 = size case 3: c.Cache.L3 = size } } } } type SGXEPCSection struct { BaseAddress uint64 EPCSize uint64 } type SGXSupport struct { Available bool LaunchControl bool SGX1Supported bool SGX2Supported bool MaxEnclaveSizeNot64 int64 MaxEnclaveSize64 int64 EPCSections []SGXEPCSection } func hasSGX(available, lc bool) (rval SGXSupport) { rval.Available = available if !available { return } rval.LaunchControl = lc a, _, _, d := cpuidex(0x12, 0) rval.SGX1Supported = a&0x01 != 0 rval.SGX2Supported = a&0x02 != 0 rval.MaxEnclaveSizeNot64 = 1 << (d & 0xFF) // pow 2 rval.MaxEnclaveSize64 = 1 << ((d >> 8) & 0xFF) // pow 2 rval.EPCSections = make([]SGXEPCSection, 0) for subleaf := uint32(2); subleaf < 2+8; subleaf++ { eax, ebx, ecx, edx := cpuidex(0x12, subleaf) leafType := eax & 0xf if leafType == 0 { // Invalid subleaf, stop iterating break } else if leafType == 1 { // EPC Section subleaf baseAddress := uint64(eax&0xfffff000) + (uint64(ebx&0x000fffff) << 32) size := uint64(ecx&0xfffff000) + (uint64(edx&0x000fffff) << 32) section := SGXEPCSection{BaseAddress: baseAddress, EPCSize: size} rval.EPCSections = append(rval.EPCSections, section) } } return } type AMDMemEncryptionSupport struct { Available bool CBitPossition uint32 NumVMPL uint32 PhysAddrReduction uint32 NumEntryptedGuests uint32 MinSevNoEsAsid uint32 } func hasAMDMemEncryption(available bool) (rval AMDMemEncryptionSupport) { rval.Available = available if !available { return } _, b, c, d := cpuidex(0x8000001f, 0) rval.CBitPossition = b & 0x3f rval.PhysAddrReduction = (b >> 6) & 0x3F rval.NumVMPL = (b >> 12) & 0xf rval.NumEntryptedGuests = c rval.MinSevNoEsAsid = d return } func support() flagSet { var fs flagSet mfi := maxFunctionID() vend, _ := vendorID() if mfi < 0x1 { return fs } family, model, _ := familyModel() _, _, c, d := cpuid(1) fs.setIf((d&(1<<0)) != 0, X87) fs.setIf((d&(1<<8)) != 0, CMPXCHG8) fs.setIf((d&(1<<11)) != 0, SYSEE) fs.setIf((d&(1<<15)) != 0, CMOV) fs.setIf((d&(1<<23)) != 0, MMX) fs.setIf((d&(1<<24)) != 0, FXSR) fs.setIf((d&(1<<25)) != 0, FXSROPT) fs.setIf((d&(1<<25)) != 0, SSE) fs.setIf((d&(1<<26)) != 0, SSE2) fs.setIf((c&1) != 0, SSE3) fs.setIf((c&(1<<5)) != 0, VMX) fs.setIf((c&(1<<9)) != 0, SSSE3) fs.setIf((c&(1<<19)) != 0, SSE4) fs.setIf((c&(1<<20)) != 0, SSE42) fs.setIf((c&(1<<25)) != 0, AESNI) fs.setIf((c&(1<<1)) != 0, CLMUL) fs.setIf(c&(1<<22) != 0, MOVBE) fs.setIf(c&(1<<23) != 0, POPCNT) fs.setIf(c&(1<<30) != 0, RDRAND) // This bit has been reserved by Intel & AMD for use by hypervisors, // and indicates the presence of a hypervisor. fs.setIf(c&(1<<31) != 0, HYPERVISOR) fs.setIf(c&(1<<29) != 0, F16C) fs.setIf(c&(1<<13) != 0, CX16) if vend == Intel && (d&(1<<28)) != 0 && mfi >= 4 { fs.setIf(threadsPerCore() > 1, HTT) } if vend == AMD && (d&(1<<28)) != 0 && mfi >= 4 { fs.setIf(threadsPerCore() > 1, HTT) } fs.setIf(c&1<<26 != 0, XSAVE) fs.setIf(c&1<<27 != 0, OSXSAVE) // Check XGETBV/XSAVE (26), OXSAVE (27) and AVX (28) bits const avxCheck = 1<<26 | 1<<27 | 1<<28 if c&avxCheck == avxCheck { // Check for OS support eax, _ := xgetbv(0) if (eax & 0x6) == 0x6 { fs.set(AVX) switch vend { case Intel: // Older than Haswell. fs.setIf(family == 6 && model < 60, AVXSLOW) case AMD: // Older than Zen 2 fs.setIf(family < 23 || (family == 23 && model < 49), AVXSLOW) } } } // FMA3 can be used with SSE registers, so no OS support is strictly needed. // fma3 and OSXSAVE needed. const fma3Check = 1<<12 | 1<<27 fs.setIf(c&fma3Check == fma3Check, FMA3) // Check AVX2, AVX2 requires OS support, but BMI1/2 don't. if mfi >= 7 { _, ebx, ecx, edx := cpuidex(7, 0) if fs.inSet(AVX) && (ebx&0x00000020) != 0 { fs.set(AVX2) } // CPUID.(EAX=7, ECX=0).EBX if (ebx & 0x00000008) != 0 { fs.set(BMI1) fs.setIf((ebx&0x00000100) != 0, BMI2) } fs.setIf(ebx&(1<<2) != 0, SGX) fs.setIf(ebx&(1<<4) != 0, HLE) fs.setIf(ebx&(1<<9) != 0, ERMS) fs.setIf(ebx&(1<<11) != 0, RTM) fs.setIf(ebx&(1<<14) != 0, MPX) fs.setIf(ebx&(1<<18) != 0, RDSEED) fs.setIf(ebx&(1<<19) != 0, ADX) fs.setIf(ebx&(1<<29) != 0, SHA) // CPUID.(EAX=7, ECX=0).ECX fs.setIf(ecx&(1<<5) != 0, WAITPKG) fs.setIf(ecx&(1<<7) != 0, CETSS) fs.setIf(ecx&(1<<8) != 0, GFNI) fs.setIf(ecx&(1<<9) != 0, VAES) fs.setIf(ecx&(1<<10) != 0, VPCLMULQDQ) fs.setIf(ecx&(1<<13) != 0, TME) fs.setIf(ecx&(1<<25) != 0, CLDEMOTE) fs.setIf(ecx&(1<<23) != 0, KEYLOCKER) fs.setIf(ecx&(1<<27) != 0, MOVDIRI) fs.setIf(ecx&(1<<28) != 0, MOVDIR64B) fs.setIf(ecx&(1<<29) != 0, ENQCMD) fs.setIf(ecx&(1<<30) != 0, SGXLC) // CPUID.(EAX=7, ECX=0).EDX fs.setIf(edx&(1<<4) != 0, FSRM) fs.setIf(edx&(1<<9) != 0, SRBDS_CTRL) fs.setIf(edx&(1<<10) != 0, MD_CLEAR) fs.setIf(edx&(1<<11) != 0, RTM_ALWAYS_ABORT) fs.setIf(edx&(1<<14) != 0, SERIALIZE) fs.setIf(edx&(1<<15) != 0, HYBRID_CPU) fs.setIf(edx&(1<<16) != 0, TSXLDTRK) fs.setIf(edx&(1<<18) != 0, PCONFIG) fs.setIf(edx&(1<<20) != 0, CETIBT) fs.setIf(edx&(1<<26) != 0, IBPB) fs.setIf(edx&(1<<27) != 0, STIBP) fs.setIf(edx&(1<<28) != 0, FLUSH_L1D) fs.setIf(edx&(1<<29) != 0, IA32_ARCH_CAP) fs.setIf(edx&(1<<30) != 0, IA32_CORE_CAP) fs.setIf(edx&(1<<31) != 0, SPEC_CTRL_SSBD) // CPUID.(EAX=7, ECX=1).EAX eax1, _, _, edx1 := cpuidex(7, 1) fs.setIf(fs.inSet(AVX) && eax1&(1<<4) != 0, AVXVNNI) fs.setIf(eax1&(1<<7) != 0, CMPCCXADD) fs.setIf(eax1&(1<<10) != 0, MOVSB_ZL) fs.setIf(eax1&(1<<11) != 0, STOSB_SHORT) fs.setIf(eax1&(1<<12) != 0, CMPSB_SCADBS_SHORT) fs.setIf(eax1&(1<<22) != 0, HRESET) fs.setIf(eax1&(1<<23) != 0, AVXIFMA) fs.setIf(eax1&(1<<26) != 0, LAM) // CPUID.(EAX=7, ECX=1).EDX fs.setIf(edx1&(1<<4) != 0, AVXVNNIINT8) fs.setIf(edx1&(1<<5) != 0, AVXNECONVERT) fs.setIf(edx1&(1<<7) != 0, AMXTF32) fs.setIf(edx1&(1<<8) != 0, AMXCOMPLEX) fs.setIf(edx1&(1<<10) != 0, AVXVNNIINT16) fs.setIf(edx1&(1<<14) != 0, PREFETCHI) fs.setIf(edx1&(1<<19) != 0, AVX10) fs.setIf(edx1&(1<<21) != 0, APX_F) // Only detect AVX-512 features if XGETBV is supported if c&((1<<26)|(1<<27)) == (1<<26)|(1<<27) { // Check for OS support eax, _ := xgetbv(0) // Verify that XCR0[7:5] = ‘111b’ (OPMASK state, upper 256-bit of ZMM0-ZMM15 and // ZMM16-ZMM31 state are enabled by OS) /// and that XCR0[2:1] = ‘11b’ (XMM state and YMM state are enabled by OS). hasAVX512 := (eax>>5)&7 == 7 && (eax>>1)&3 == 3 if runtime.GOOS == "darwin" { hasAVX512 = fs.inSet(AVX) && darwinHasAVX512() } if hasAVX512 { fs.setIf(ebx&(1<<16) != 0, AVX512F) fs.setIf(ebx&(1<<17) != 0, AVX512DQ) fs.setIf(ebx&(1<<21) != 0, AVX512IFMA) fs.setIf(ebx&(1<<26) != 0, AVX512PF) fs.setIf(ebx&(1<<27) != 0, AVX512ER) fs.setIf(ebx&(1<<28) != 0, AVX512CD) fs.setIf(ebx&(1<<30) != 0, AVX512BW) fs.setIf(ebx&(1<<31) != 0, AVX512VL) // ecx fs.setIf(ecx&(1<<1) != 0, AVX512VBMI) fs.setIf(ecx&(1<<3) != 0, AMXFP8) fs.setIf(ecx&(1<<6) != 0, AVX512VBMI2) fs.setIf(ecx&(1<<11) != 0, AVX512VNNI) fs.setIf(ecx&(1<<12) != 0, AVX512BITALG) fs.setIf(ecx&(1<<14) != 0, AVX512VPOPCNTDQ) // edx fs.setIf(edx&(1<<8) != 0, AVX512VP2INTERSECT) fs.setIf(edx&(1<<22) != 0, AMXBF16) fs.setIf(edx&(1<<23) != 0, AVX512FP16) fs.setIf(edx&(1<<24) != 0, AMXTILE) fs.setIf(edx&(1<<25) != 0, AMXINT8) // eax1 = CPUID.(EAX=7, ECX=1).EAX fs.setIf(eax1&(1<<5) != 0, AVX512BF16) fs.setIf(eax1&(1<<19) != 0, WRMSRNS) fs.setIf(eax1&(1<<21) != 0, AMXFP16) fs.setIf(eax1&(1<<27) != 0, MSRLIST) } } // CPUID.(EAX=7, ECX=2) _, _, _, edx = cpuidex(7, 2) fs.setIf(edx&(1<<0) != 0, PSFD) fs.setIf(edx&(1<<1) != 0, IDPRED_CTRL) fs.setIf(edx&(1<<2) != 0, RRSBA_CTRL) fs.setIf(edx&(1<<4) != 0, BHI_CTRL) fs.setIf(edx&(1<<5) != 0, MCDT_NO) // Add keylocker features. if fs.inSet(KEYLOCKER) && mfi >= 0x19 { _, ebx, _, _ := cpuidex(0x19, 0) fs.setIf(ebx&5 == 5, KEYLOCKERW) // Bit 0 and 2 (1+4) } // Add AVX10 features. if fs.inSet(AVX10) && mfi >= 0x24 { _, ebx, _, _ := cpuidex(0x24, 0) fs.setIf(ebx&(1<<16) != 0, AVX10_128) fs.setIf(ebx&(1<<17) != 0, AVX10_256) fs.setIf(ebx&(1<<18) != 0, AVX10_512) } } // Processor Extended State Enumeration Sub-leaf (EAX = 0DH, ECX = 1) // EAX // Bit 00: XSAVEOPT is available. // Bit 01: Supports XSAVEC and the compacted form of XRSTOR if set. // Bit 02: Supports XGETBV with ECX = 1 if set. // Bit 03: Supports XSAVES/XRSTORS and IA32_XSS if set. // Bits 31 - 04: Reserved. // EBX // Bits 31 - 00: The size in bytes of the XSAVE area containing all states enabled by XCRO | IA32_XSS. // ECX // Bits 31 - 00: Reports the supported bits of the lower 32 bits of the IA32_XSS MSR. IA32_XSS[n] can be set to 1 only if ECX[n] is 1. // EDX? // Bits 07 - 00: Used for XCR0. Bit 08: PT state. Bit 09: Used for XCR0. Bits 12 - 10: Reserved. Bit 13: HWP state. Bits 31 - 14: Reserved. if mfi >= 0xd { if fs.inSet(XSAVE) { eax, _, _, _ := cpuidex(0xd, 1) fs.setIf(eax&(1<<0) != 0, XSAVEOPT) fs.setIf(eax&(1<<1) != 0, XSAVEC) fs.setIf(eax&(1<<2) != 0, XGETBV1) fs.setIf(eax&(1<<3) != 0, XSAVES) } } if maxExtendedFunction() >= 0x80000001 { _, _, c, d := cpuid(0x80000001) if (c & (1 << 5)) != 0 { fs.set(LZCNT) fs.set(POPCNT) } // ECX fs.setIf((c&(1<<0)) != 0, LAHF) fs.setIf((c&(1<<2)) != 0, SVM) fs.setIf((c&(1<<6)) != 0, SSE4A) fs.setIf((c&(1<<10)) != 0, IBS) fs.setIf((c&(1<<22)) != 0, TOPEXT) // EDX fs.setIf(d&(1<<11) != 0, SYSCALL) fs.setIf(d&(1<<20) != 0, NX) fs.setIf(d&(1<<22) != 0, MMXEXT) fs.setIf(d&(1<<23) != 0, MMX) fs.setIf(d&(1<<24) != 0, FXSR) fs.setIf(d&(1<<25) != 0, FXSROPT) fs.setIf(d&(1<<27) != 0, RDTSCP) fs.setIf(d&(1<<30) != 0, AMD3DNOWEXT) fs.setIf(d&(1<<31) != 0, AMD3DNOW) /* XOP and FMA4 use the AVX instruction coding scheme, so they can't be * used unless the OS has AVX support. */ if fs.inSet(AVX) { fs.setIf((c&(1<<11)) != 0, XOP) fs.setIf((c&(1<<16)) != 0, FMA4) } } if maxExtendedFunction() >= 0x80000007 { _, b, _, d := cpuid(0x80000007) fs.setIf((b&(1<<0)) != 0, MCAOVERFLOW) fs.setIf((b&(1<<1)) != 0, SUCCOR) fs.setIf((b&(1<<2)) != 0, HWA) fs.setIf((d&(1<<9)) != 0, CPBOOST) } if maxExtendedFunction() >= 0x80000008 { _, b, _, _ := cpuid(0x80000008) fs.setIf(b&(1<<28) != 0, PSFD) fs.setIf(b&(1<<27) != 0, CPPC) fs.setIf(b&(1<<24) != 0, SPEC_CTRL_SSBD) fs.setIf(b&(1<<23) != 0, PPIN) fs.setIf(b&(1<<21) != 0, TLB_FLUSH_NESTED) fs.setIf(b&(1<<20) != 0, EFER_LMSLE_UNS) fs.setIf(b&(1<<19) != 0, IBRS_PROVIDES_SMP) fs.setIf(b&(1<<18) != 0, IBRS_PREFERRED) fs.setIf(b&(1<<17) != 0, STIBP_ALWAYSON) fs.setIf(b&(1<<15) != 0, STIBP) fs.setIf(b&(1<<14) != 0, IBRS) fs.setIf((b&(1<<13)) != 0, INT_WBINVD) fs.setIf(b&(1<<12) != 0, IBPB) fs.setIf((b&(1<<9)) != 0, WBNOINVD) fs.setIf((b&(1<<8)) != 0, MCOMMIT) fs.setIf((b&(1<<4)) != 0, RDPRU) fs.setIf((b&(1<<3)) != 0, INVLPGB) fs.setIf((b&(1<<1)) != 0, MSRIRC) fs.setIf((b&(1<<0)) != 0, CLZERO) } if fs.inSet(SVM) && maxExtendedFunction() >= 0x8000000A { _, _, _, edx := cpuid(0x8000000A) fs.setIf((edx>>0)&1 == 1, SVMNP) fs.setIf((edx>>1)&1 == 1, LBRVIRT) fs.setIf((edx>>2)&1 == 1, SVML) fs.setIf((edx>>3)&1 == 1, NRIPS) fs.setIf((edx>>4)&1 == 1, TSCRATEMSR) fs.setIf((edx>>5)&1 == 1, VMCBCLEAN) fs.setIf((edx>>6)&1 == 1, SVMFBASID) fs.setIf((edx>>7)&1 == 1, SVMDA) fs.setIf((edx>>10)&1 == 1, SVMPF) fs.setIf((edx>>12)&1 == 1, SVMPFT) } if maxExtendedFunction() >= 0x8000001a { eax, _, _, _ := cpuid(0x8000001a) fs.setIf((eax>>0)&1 == 1, FP128) fs.setIf((eax>>1)&1 == 1, MOVU) fs.setIf((eax>>2)&1 == 1, FP256) } if maxExtendedFunction() >= 0x8000001b && fs.inSet(IBS) { eax, _, _, _ := cpuid(0x8000001b) fs.setIf((eax>>0)&1 == 1, IBSFFV) fs.setIf((eax>>1)&1 == 1, IBSFETCHSAM) fs.setIf((eax>>2)&1 == 1, IBSOPSAM) fs.setIf((eax>>3)&1 == 1, IBSRDWROPCNT) fs.setIf((eax>>4)&1 == 1, IBSOPCNT) fs.setIf((eax>>5)&1 == 1, IBSBRNTRGT) fs.setIf((eax>>6)&1 == 1, IBSOPCNTEXT) fs.setIf((eax>>7)&1 == 1, IBSRIPINVALIDCHK) fs.setIf((eax>>8)&1 == 1, IBS_OPFUSE) fs.setIf((eax>>9)&1 == 1, IBS_FETCH_CTLX) fs.setIf((eax>>10)&1 == 1, IBS_OPDATA4) // Doc says "Fixed,0. IBS op data 4 MSR supported", but assuming they mean 1. fs.setIf((eax>>11)&1 == 1, IBS_ZEN4) } if maxExtendedFunction() >= 0x8000001f && vend == AMD { a, _, _, _ := cpuid(0x8000001f) fs.setIf((a>>0)&1 == 1, SME) fs.setIf((a>>1)&1 == 1, SEV) fs.setIf((a>>2)&1 == 1, MSR_PAGEFLUSH) fs.setIf((a>>3)&1 == 1, SEV_ES) fs.setIf((a>>4)&1 == 1, SEV_SNP) fs.setIf((a>>5)&1 == 1, VMPL) fs.setIf((a>>10)&1 == 1, SME_COHERENT) fs.setIf((a>>11)&1 == 1, SEV_64BIT) fs.setIf((a>>12)&1 == 1, SEV_RESTRICTED) fs.setIf((a>>13)&1 == 1, SEV_ALTERNATIVE) fs.setIf((a>>14)&1 == 1, SEV_DEBUGSWAP) fs.setIf((a>>15)&1 == 1, IBS_PREVENTHOST) fs.setIf((a>>16)&1 == 1, VTE) fs.setIf((a>>24)&1 == 1, VMSA_REGPROT) } if maxExtendedFunction() >= 0x80000021 && vend == AMD { a, _, _, _ := cpuid(0x80000021) fs.setIf((a>>31)&1 == 1, SRSO_MSR_FIX) fs.setIf((a>>30)&1 == 1, SRSO_USER_KERNEL_NO) fs.setIf((a>>29)&1 == 1, SRSO_NO) fs.setIf((a>>28)&1 == 1, IBPB_BRTYPE) fs.setIf((a>>27)&1 == 1, SBPB) } if mfi >= 0x20 { // Microsoft has decided to purposefully hide the information // of the guest TEE when VMs are being created using Hyper-V. // // This leads us to check for the Hyper-V cpuid features // (0x4000000C), and then for the `ebx` value set. // // For Intel TDX, `ebx` is set as `0xbe3`, being 3 the part // we're mostly interested about,according to: // https://github.com/torvalds/linux/blob/d2f51b3516dade79269ff45eae2a7668ae711b25/arch/x86/include/asm/hyperv-tlfs.h#L169-L174 _, ebx, _, _ := cpuid(0x4000000C) fs.setIf(ebx == 0xbe3, TDX_GUEST) } if mfi >= 0x21 { // Intel Trusted Domain Extensions Guests have their own cpuid leaf (0x21). _, ebx, ecx, edx := cpuid(0x21) identity := string(valAsString(ebx, edx, ecx)) fs.setIf(identity == "IntelTDX ", TDX_GUEST) } return fs } func (c *CPUInfo) supportAVX10() uint8 { if c.maxFunc >= 0x24 && c.featureSet.inSet(AVX10) { _, ebx, _, _ := cpuidex(0x24, 0) return uint8(ebx) } return 0 } func valAsString(values ...uint32) []byte { r := make([]byte, 4*len(values)) for i, v := range values { dst := r[i*4:] dst[0] = byte(v & 0xff) dst[1] = byte((v >> 8) & 0xff) dst[2] = byte((v >> 16) & 0xff) dst[3] = byte((v >> 24) & 0xff) switch { case dst[0] == 0: return r[:i*4] case dst[1] == 0: return r[:i*4+1] case dst[2] == 0: return r[:i*4+2] case dst[3] == 0: return r[:i*4+3] } } return r } cpuid-2.2.10/cpuid_386.s000066400000000000000000000020411475714514100145760ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. //+build 386,!gccgo,!noasm,!appengine // func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) TEXT ·asmCpuid(SB), 7, $0 XORL CX, CX MOVL op+0(FP), AX CPUID MOVL AX, eax+4(FP) MOVL BX, ebx+8(FP) MOVL CX, ecx+12(FP) MOVL DX, edx+16(FP) RET // func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) TEXT ·asmCpuidex(SB), 7, $0 MOVL op+0(FP), AX MOVL op2+4(FP), CX CPUID MOVL AX, eax+8(FP) MOVL BX, ebx+12(FP) MOVL CX, ecx+16(FP) MOVL DX, edx+20(FP) RET // func xgetbv(index uint32) (eax, edx uint32) TEXT ·asmXgetbv(SB), 7, $0 MOVL index+0(FP), CX BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV MOVL AX, eax+4(FP) MOVL DX, edx+8(FP) RET // func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) TEXT ·asmRdtscpAsm(SB), 7, $0 BYTE $0x0F; BYTE $0x01; BYTE $0xF9 // RDTSCP MOVL AX, eax+0(FP) MOVL BX, ebx+4(FP) MOVL CX, ecx+8(FP) MOVL DX, edx+12(FP) RET // func asmDarwinHasAVX512() bool TEXT ·asmDarwinHasAVX512(SB), 7, $0 MOVL $0, eax+0(FP) RET cpuid-2.2.10/cpuid_amd64.s000066400000000000000000000035531475714514100152020ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. //+build amd64,!gccgo,!noasm,!appengine // func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) TEXT ·asmCpuid(SB), 7, $0 XORQ CX, CX MOVL op+0(FP), AX CPUID MOVL AX, eax+8(FP) MOVL BX, ebx+12(FP) MOVL CX, ecx+16(FP) MOVL DX, edx+20(FP) RET // func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) TEXT ·asmCpuidex(SB), 7, $0 MOVL op+0(FP), AX MOVL op2+4(FP), CX CPUID MOVL AX, eax+8(FP) MOVL BX, ebx+12(FP) MOVL CX, ecx+16(FP) MOVL DX, edx+20(FP) RET // func asmXgetbv(index uint32) (eax, edx uint32) TEXT ·asmXgetbv(SB), 7, $0 MOVL index+0(FP), CX BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV MOVL AX, eax+8(FP) MOVL DX, edx+12(FP) RET // func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) TEXT ·asmRdtscpAsm(SB), 7, $0 BYTE $0x0F; BYTE $0x01; BYTE $0xF9 // RDTSCP MOVL AX, eax+0(FP) MOVL BX, ebx+4(FP) MOVL CX, ecx+8(FP) MOVL DX, edx+12(FP) RET // From https://go-review.googlesource.com/c/sys/+/285572/ // func asmDarwinHasAVX512() bool TEXT ·asmDarwinHasAVX512(SB), 7, $0-1 MOVB $0, ret+0(FP) // default to false #ifdef GOOS_darwin // return if not darwin #ifdef GOARCH_amd64 // return if not amd64 // These values from: // https://github.com/apple/darwin-xnu/blob/xnu-4570.1.46/osfmk/i386/cpu_capabilities.h #define commpage64_base_address 0x00007fffffe00000 #define commpage64_cpu_capabilities64 (commpage64_base_address+0x010) #define commpage64_version (commpage64_base_address+0x01E) #define hasAVX512F 0x0000004000000000 MOVQ $commpage64_version, BX MOVW (BX), AX CMPW AX, $13 // versions < 13 do not support AVX512 JL no_avx512 MOVQ $commpage64_cpu_capabilities64, BX MOVQ (BX), AX MOVQ $hasAVX512F, CX ANDQ CX, AX JZ no_avx512 MOVB $1, ret+0(FP) no_avx512: #endif #endif RET cpuid-2.2.10/cpuid_arm64.s000066400000000000000000000022061475714514100152120ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. //+build arm64,!gccgo,!noasm,!appengine // See https://www.kernel.org/doc/Documentation/arm64/cpu-feature-registers.txt // func getMidr TEXT ·getMidr(SB), 7, $0 WORD $0xd5380000 // mrs x0, midr_el1 /* Main ID Register */ MOVD R0, midr+0(FP) RET // func getProcFeatures TEXT ·getProcFeatures(SB), 7, $0 WORD $0xd5380400 // mrs x0, id_aa64pfr0_el1 /* Processor Feature Register 0 */ MOVD R0, procFeatures+0(FP) RET // func getInstAttributes TEXT ·getInstAttributes(SB), 7, $0 WORD $0xd5380600 // mrs x0, id_aa64isar0_el1 /* Instruction Set Attribute Register 0 */ WORD $0xd5380621 // mrs x1, id_aa64isar1_el1 /* Instruction Set Attribute Register 1 */ MOVD R0, instAttrReg0+0(FP) MOVD R1, instAttrReg1+8(FP) RET TEXT ·getVectorLength(SB), 7, $0 WORD $0xd2800002 // mov x2, #0 WORD $0x04225022 // addvl x2, x2, #1 WORD $0xd37df042 // lsl x2, x2, #3 WORD $0xd2800003 // mov x3, #0 WORD $0x04635023 // addpl x3, x3, #1 WORD $0xd37df063 // lsl x3, x3, #3 MOVD R2, vl+0(FP) MOVD R3, pl+8(FP) RET cpuid-2.2.10/cpuid_test.go000066400000000000000000000175071475714514100154150ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. package cpuid import ( "fmt" "strings" "testing" ) func TestLastID(t *testing.T) { if lastID.String() != "lastID" { t.Fatal("stringer not updated, run go generate") } } func TestLastVendorID(t *testing.T) { if lastVendor.String() != "lastVendor" { t.Fatal("stringer not updated, run go generate") } } // There is no real way to test a CPU identifier, since results will // obviously differ on each machine. func TestCPUID(t *testing.T) { Detect() n := maxFunctionID() t.Logf("Max Function:0x%x", n) n = maxExtendedFunction() t.Logf("Max Extended Function:0x%x", n) t.Log("VendorString:", CPU.VendorString) t.Log("VendorID:", CPU.VendorID) t.Log("Name:", CPU.BrandName) t.Log("PhysicalCores:", CPU.PhysicalCores) t.Log("ThreadsPerCore:", CPU.ThreadsPerCore) t.Log("LogicalCores:", CPU.LogicalCores) t.Log("Family", CPU.Family, "Model:", CPU.Model, "Stepping:", CPU.Stepping) t.Log("Features:", strings.Join(CPU.FeatureSet(), ",")) t.Log("Cacheline bytes:", CPU.CacheLine) t.Log("L1 Instruction Cache:", CPU.Cache.L1I, "bytes") t.Log("L1 Data Cache:", CPU.Cache.L1D, "bytes") t.Log("L2 Cache:", CPU.Cache.L2, "bytes") t.Log("L3 Cache:", CPU.Cache.L3, "bytes") t.Log("Hz:", CPU.Hz, "Hz") t.Log("VM:", CPU.VM()) t.Log("BoostFreq:", CPU.BoostFreq, "Hz") } func TestExample(t *testing.T) { Detect() // Print basic CPU information: fmt.Println("Name:", CPU.BrandName) fmt.Println("PhysicalCores:", CPU.PhysicalCores) fmt.Println("ThreadsPerCore:", CPU.ThreadsPerCore) fmt.Println("LogicalCores:", CPU.LogicalCores) fmt.Println("Family", CPU.Family, "Model:", CPU.Model, "Vendor ID:", CPU.VendorID) fmt.Println("Features:", strings.Join(CPU.FeatureSet(), ",")) fmt.Println("Cacheline bytes:", CPU.CacheLine) fmt.Println("L1 Data Cache:", CPU.Cache.L1D, "bytes") fmt.Println("L1 Instruction Cache:", CPU.Cache.L1D, "bytes") fmt.Println("L2 Cache:", CPU.Cache.L2, "bytes") fmt.Println("L3 Cache:", CPU.Cache.L3, "bytes") fmt.Println("Frequency", CPU.Hz, "hz") // Test if we have these specific features: if CPU.Supports(SSE, SSE2) { fmt.Println("We have Streaming SIMD 2 Extensions") } } func TestDumpCPUID(t *testing.T) { n := int(maxFunctionID()) for i := 0; i <= n; i++ { a, b, c, d := cpuidex(uint32(i), 0) t.Logf("CPUID %08x: %08x-%08x-%08x-%08x", i, a, b, c, d) ex := uint32(1) for { a2, b2, c2, d2 := cpuidex(uint32(i), ex) if a2 == a && b2 == b && d2 == d || ex > 50 || a2 == 0 { break } t.Logf("CPUID %08x: %08x-%08x-%08x-%08x", i, a2, b2, c2, d2) a, b, c, d = a2, b2, c2, d2 ex++ } } n2 := maxExtendedFunction() for i := uint32(0x80000000); i <= n2; i++ { a, b, c, d := cpuid(i) t.Logf("CPUID %08x: %08x-%08x-%08x-%08x", i, a, b, c, d) } } func Example() { // Print basic CPU information: fmt.Println("Name:", CPU.BrandName) fmt.Println("PhysicalCores:", CPU.PhysicalCores) fmt.Println("ThreadsPerCore:", CPU.ThreadsPerCore) fmt.Println("LogicalCores:", CPU.LogicalCores) fmt.Println("Family", CPU.Family, "Model:", CPU.Model) fmt.Println("Features:", CPU.FeatureSet()) fmt.Println("Cacheline bytes:", CPU.CacheLine) } func TestBrandNameZero(t *testing.T) { if len(CPU.BrandName) > 0 { // Cut out last byte last := []byte(CPU.BrandName[len(CPU.BrandName)-1:]) if last[0] == 0 { t.Fatal("last byte was zero") } else if last[0] == 32 { t.Fatal("whitespace wasn't trimmed") } } } // TestSGX tests SGX detection func TestSGX(t *testing.T) { got := CPU.SGX.Available expected := CPU.featureSet.inSet(SGX) if got != expected { t.Fatalf("SGX: expected %v, got %v", expected, got) } t.Log("SGX Support:", got) if CPU.SGX.Available { var total uint64 = 0 leaves := false for _, s := range CPU.SGX.EPCSections { t.Logf("SGX EPC section: base address 0x%x, size %v", s.BaseAddress, s.EPCSize) total += s.EPCSize leaves = true } if leaves && total == 0 { t.Fatal("SGX enabled without any available EPC memory") } } } // TestAMDMemEncryption tests AMDMemEncryption detection func TestAMDMemEncryption(t *testing.T) { got := CPU.AMDMemEncryption.Available expected := CPU.featureSet.inSet(SME) || CPU.featureSet.inSet(SEV) if got != expected { t.Fatalf("AMDMemEncryption: expected %v, got %v", expected, got) } t.Log("AMDMemEncryption Support:", got) } func TestHas(t *testing.T) { Detect() defer Detect() feats := CPU.FeatureSet() for _, feat := range feats { f := ParseFeature(feat) if f == UNKNOWN { t.Error("Got unknown feature:", feat) continue } if !CPU.Has(f) { t.Error("CPU.Has returned false, want true") } if !CPU.Supports(f) { t.Error("CPU.Supports returned false, want true") } // Disable it. CPU.Disable(f) if CPU.Has(f) { t.Error("CPU.Has returned true, want false") } if CPU.Supports(f) { t.Error("CPU.Supports returned true, want false") } // Reenable CPU.Enable(f) if !CPU.Has(f) { t.Error("CPU.Has returned false, want true") } if !CPU.Supports(f) { t.Error("CPU.Supports returned false, want true") } } } // TestSGXLC tests SGX Launch Control detection func TestSGXLC(t *testing.T) { got := CPU.SGX.LaunchControl expected := CPU.featureSet.inSet(SGXLC) if got != expected { t.Fatalf("SGX: expected %v, got %v", expected, got) } t.Log("SGX Launch Control Support:", got) } // Test VM function func TestVM(t *testing.T) { got := CPU.VM() expected := CPU.featureSet.inSet(HYPERVISOR) if got != expected { t.Fatalf("TestVM: expected %v, got %v", expected, got) } t.Log("TestVM:", got) } // Test RTCounter function func TestRtCounter(t *testing.T) { a := CPU.RTCounter() b := CPU.RTCounter() t.Log("CPU Counter:", a, b, b-a) } // Prints the value of Ia32TscAux() func TestIa32TscAux(t *testing.T) { ecx := CPU.Ia32TscAux() t.Logf("Ia32TscAux:0x%x\n", ecx) if ecx != 0 { chip := (ecx & 0xFFF000) >> 12 core := ecx & 0xFFF t.Log("Likely chip, core:", chip, core) } } func TestThreadsPerCoreNZ(t *testing.T) { if CPU.ThreadsPerCore == 0 { t.Fatal("threads per core is zero") } } // Prints the value of LogicalCPU() func TestLogicalCPU(t *testing.T) { t.Log("Currently executing on cpu:", CPU.LogicalCPU()) } func TestMaxFunction(t *testing.T) { expect := maxFunctionID() if CPU.maxFunc != expect { t.Fatal("Max function does not match, expected", expect, "but got", CPU.maxFunc) } expect = maxExtendedFunction() if CPU.maxExFunc != expect { t.Fatal("Max Extended function does not match, expected", expect, "but got", CPU.maxFunc) } } // This example will calculate the chip/core number on Linux // Linux encodes numa id (<<12) and core id (8bit) into TSC_AUX. func ExampleCPUInfo_Ia32TscAux() { ecx := CPU.Ia32TscAux() if ecx == 0 { fmt.Println("Unknown CPU ID") return } chip := (ecx & 0xFFF000) >> 12 core := ecx & 0xFFF fmt.Println("Chip, Core:", chip, core) } func TestCombineFeatures(t *testing.T) { cpu := CPU for i := FeatureID(0); i < lastID; i++ { if cpu.Has(i) != cpu.HasAll(CombineFeatures(i)) { t.Errorf("id %d:%s mismatch", i, i.String()) } } } func BenchmarkFlags(b *testing.B) { var a bool var cpu = CPU b.Run("ids", func(b *testing.B) { for i := 0; i < b.N; i++ { a = cpu.Supports(CMOV, CMPXCHG8, X87, FXSR, MMX, SYSCALL, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3, AVX, AVX2, BMI1, BMI2, F16C, FMA3, LZCNT, MOVBE, OSXSAVE) || a } _ = a }) b.Run("features", func(b *testing.B) { f := CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SYSCALL, SSE, SSE2, CX16, LAHF, POPCNT, SSE3, SSE4, SSE42, SSSE3, AVX, AVX2, BMI1, BMI2, F16C, FMA3, LZCNT, MOVBE, OSXSAVE) for i := 0; i < b.N; i++ { a = cpu.HasAll(f) || a } _ = a }) b.Run("id", func(b *testing.B) { for i := 0; i < b.N; i++ { a = cpu.Has(CMOV) || a } _ = a }) b.Run("feature", func(b *testing.B) { f := CombineFeatures(CMOV) for i := 0; i < b.N; i++ { a = cpu.HasAll(f) || a } _ = a }) } cpuid-2.2.10/detect_arm64.go000066400000000000000000000240011475714514100155160ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. //go:build arm64 && !gccgo && !noasm && !appengine // +build arm64,!gccgo,!noasm,!appengine package cpuid import "runtime" func getMidr() (midr uint64) func getProcFeatures() (procFeatures uint64) func getInstAttributes() (instAttrReg0, instAttrReg1 uint64) func getVectorLength() (vl, pl uint64) func initCPU() { cpuid = func(uint32) (a, b, c, d uint32) { return 0, 0, 0, 0 } cpuidex = func(x, y uint32) (a, b, c, d uint32) { return 0, 0, 0, 0 } xgetbv = func(uint32) (a, b uint32) { return 0, 0 } rdtscpAsm = func() (a, b, c, d uint32) { return 0, 0, 0, 0 } } func addInfo(c *CPUInfo, safe bool) { // Seems to be safe to assume on ARM64 c.CacheLine = 64 detectOS(c) // ARM64 disabled since it may crash if interrupt is not intercepted by OS. if safe && !c.Has(ARMCPUID) && runtime.GOOS != "freebsd" { return } midr := getMidr() // MIDR_EL1 - Main ID Register // https://developer.arm.com/docs/ddi0595/h/aarch64-system-registers/midr_el1 // x--------------------------------------------------x // | Name | bits | visible | // |--------------------------------------------------| // | Implementer | [31-24] | y | // |--------------------------------------------------| // | Variant | [23-20] | y | // |--------------------------------------------------| // | Architecture | [19-16] | y | // |--------------------------------------------------| // | PartNum | [15-4] | y | // |--------------------------------------------------| // | Revision | [3-0] | y | // x--------------------------------------------------x switch (midr >> 24) & 0xff { case 0xC0: c.VendorString = "Ampere Computing" c.VendorID = Ampere case 0x41: c.VendorString = "Arm Limited" c.VendorID = ARM case 0x42: c.VendorString = "Broadcom Corporation" c.VendorID = Broadcom case 0x43: c.VendorString = "Cavium Inc" c.VendorID = Cavium case 0x44: c.VendorString = "Digital Equipment Corporation" c.VendorID = DEC case 0x46: c.VendorString = "Fujitsu Ltd" c.VendorID = Fujitsu case 0x49: c.VendorString = "Infineon Technologies AG" c.VendorID = Infineon case 0x4D: c.VendorString = "Motorola or Freescale Semiconductor Inc" c.VendorID = Motorola case 0x4E: c.VendorString = "NVIDIA Corporation" c.VendorID = NVIDIA case 0x50: c.VendorString = "Applied Micro Circuits Corporation" c.VendorID = AMCC case 0x51: c.VendorString = "Qualcomm Inc" c.VendorID = Qualcomm case 0x56: c.VendorString = "Marvell International Ltd" c.VendorID = Marvell case 0x69: c.VendorString = "Intel Corporation" c.VendorID = Intel } // Lower 4 bits: Architecture // Architecture Meaning // 0b0001 Armv4. // 0b0010 Armv4T. // 0b0011 Armv5 (obsolete). // 0b0100 Armv5T. // 0b0101 Armv5TE. // 0b0110 Armv5TEJ. // 0b0111 Armv6. // 0b1111 Architectural features are individually identified in the ID_* registers, see 'ID registers'. // Upper 4 bit: Variant // An IMPLEMENTATION DEFINED variant number. // Typically, this field is used to distinguish between different product variants, or major revisions of a product. c.Family = int(midr>>16) & 0xff // PartNum, bits [15:4] // An IMPLEMENTATION DEFINED primary part number for the device. // On processors implemented by Arm, if the top four bits of the primary // part number are 0x0 or 0x7, the variant and architecture are encoded differently. // Revision, bits [3:0] // An IMPLEMENTATION DEFINED revision number for the device. c.Model = int(midr) & 0xffff procFeatures := getProcFeatures() // ID_AA64PFR0_EL1 - Processor Feature Register 0 // x--------------------------------------------------x // | Name | bits | visible | // |--------------------------------------------------| // | DIT | [51-48] | y | // |--------------------------------------------------| // | SVE | [35-32] | y | // |--------------------------------------------------| // | GIC | [27-24] | n | // |--------------------------------------------------| // | AdvSIMD | [23-20] | y | // |--------------------------------------------------| // | FP | [19-16] | y | // |--------------------------------------------------| // | EL3 | [15-12] | n | // |--------------------------------------------------| // | EL2 | [11-8] | n | // |--------------------------------------------------| // | EL1 | [7-4] | n | // |--------------------------------------------------| // | EL0 | [3-0] | n | // x--------------------------------------------------x var f flagSet // if procFeatures&(0xf<<48) != 0 { // fmt.Println("DIT") // } f.setIf(procFeatures&(0xf<<32) != 0, SVE) if procFeatures&(0xf<<20) != 15<<20 { f.set(ASIMD) // https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/id_aa64pfr0_el1 // 0b0001 --> As for 0b0000, and also includes support for half-precision floating-point arithmetic. f.setIf(procFeatures&(0xf<<20) == 1<<20, FPHP, ASIMDHP) } f.setIf(procFeatures&(0xf<<16) != 0, FP) instAttrReg0, instAttrReg1 := getInstAttributes() // https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/id_aa64isar0_el1 // // ID_AA64ISAR0_EL1 - Instruction Set Attribute Register 0 // x--------------------------------------------------x // | Name | bits | visible | // |--------------------------------------------------| // | RNDR | [63-60] | y | // |--------------------------------------------------| // | TLB | [59-56] | y | // |--------------------------------------------------| // | TS | [55-52] | y | // |--------------------------------------------------| // | FHM | [51-48] | y | // |--------------------------------------------------| // | DP | [47-44] | y | // |--------------------------------------------------| // | SM4 | [43-40] | y | // |--------------------------------------------------| // | SM3 | [39-36] | y | // |--------------------------------------------------| // | SHA3 | [35-32] | y | // |--------------------------------------------------| // | RDM | [31-28] | y | // |--------------------------------------------------| // | ATOMICS | [23-20] | y | // |--------------------------------------------------| // | CRC32 | [19-16] | y | // |--------------------------------------------------| // | SHA2 | [15-12] | y | // |--------------------------------------------------| // | SHA1 | [11-8] | y | // |--------------------------------------------------| // | AES | [7-4] | y | // x--------------------------------------------------x f.setIf(instAttrReg0&(0xf<<60) != 0, RNDR) f.setIf(instAttrReg0&(0xf<<56) != 0, TLB) f.setIf(instAttrReg0&(0xf<<52) != 0, TS) f.setIf(instAttrReg0&(0xf<<48) != 0, FHM) f.setIf(instAttrReg0&(0xf<<44) != 0, ASIMDDP) f.setIf(instAttrReg0&(0xf<<40) != 0, SM4) f.setIf(instAttrReg0&(0xf<<36) != 0, SM3) f.setIf(instAttrReg0&(0xf<<32) != 0, SHA3) f.setIf(instAttrReg0&(0xf<<28) != 0, ASIMDRDM) f.setIf(instAttrReg0&(0xf<<20) != 0, ATOMICS) f.setIf(instAttrReg0&(0xf<<16) != 0, CRC32) f.setIf(instAttrReg0&(0xf<<12) != 0, SHA2) // https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/id_aa64isar0_el1 // 0b0010 --> As 0b0001, plus SHA512H, SHA512H2, SHA512SU0, and SHA512SU1 instructions implemented. f.setIf(instAttrReg0&(0xf<<12) == 2<<12, SHA512) f.setIf(instAttrReg0&(0xf<<8) != 0, SHA1) f.setIf(instAttrReg0&(0xf<<4) != 0, AESARM) // https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/id_aa64isar0_el1 // 0b0010 --> As for 0b0001, plus PMULL/PMULL2 instructions operating on 64-bit data quantities. f.setIf(instAttrReg0&(0xf<<4) == 2<<4, PMULL) // https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/id_aa64isar1_el1 // // ID_AA64ISAR1_EL1 - Instruction set attribute register 1 // x--------------------------------------------------x // | Name | bits | visible | // |--------------------------------------------------| // | GPI | [31-28] | y | // |--------------------------------------------------| // | GPA | [27-24] | y | // |--------------------------------------------------| // | LRCPC | [23-20] | y | // |--------------------------------------------------| // | FCMA | [19-16] | y | // |--------------------------------------------------| // | JSCVT | [15-12] | y | // |--------------------------------------------------| // | API | [11-8] | y | // |--------------------------------------------------| // | APA | [7-4] | y | // |--------------------------------------------------| // | DPB | [3-0] | y | // x--------------------------------------------------x // if instAttrReg1&(0xf<<28) != 0 { // fmt.Println("GPI") // } f.setIf(instAttrReg1&(0xf<<28) != 24, GPA) f.setIf(instAttrReg1&(0xf<<20) != 0, LRCPC) f.setIf(instAttrReg1&(0xf<<16) != 0, FCMA) f.setIf(instAttrReg1&(0xf<<12) != 0, JSCVT) // if instAttrReg1&(0xf<<8) != 0 { // fmt.Println("API") // } // if instAttrReg1&(0xf<<4) != 0 { // fmt.Println("APA") // } f.setIf(instAttrReg1&(0xf<<0) != 0, DCPOP) // Store c.featureSet.or(f) } cpuid-2.2.10/detect_ref.go000066400000000000000000000011111475714514100153360ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. //go:build (!amd64 && !386 && !arm64) || gccgo || noasm || appengine // +build !amd64,!386,!arm64 gccgo noasm appengine package cpuid func initCPU() { cpuid = func(uint32) (a, b, c, d uint32) { return 0, 0, 0, 0 } cpuidex = func(x, y uint32) (a, b, c, d uint32) { return 0, 0, 0, 0 } xgetbv = func(uint32) (a, b uint32) { return 0, 0 } rdtscpAsm = func() (a, b, c, d uint32) { return 0, 0, 0, 0 } } func addInfo(info *CPUInfo, safe bool) {} func getVectorLength() (vl, pl uint64) { return 0, 0 } cpuid-2.2.10/detect_x86.go000066400000000000000000000025441475714514100152220ustar00rootroot00000000000000// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. //go:build (386 && !gccgo && !noasm && !appengine) || (amd64 && !gccgo && !noasm && !appengine) // +build 386,!gccgo,!noasm,!appengine amd64,!gccgo,!noasm,!appengine package cpuid func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) func asmXgetbv(index uint32) (eax, edx uint32) func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) func asmDarwinHasAVX512() bool func initCPU() { cpuid = asmCpuid cpuidex = asmCpuidex xgetbv = asmXgetbv rdtscpAsm = asmRdtscpAsm darwinHasAVX512 = asmDarwinHasAVX512 } func addInfo(c *CPUInfo, safe bool) { c.maxFunc = maxFunctionID() c.maxExFunc = maxExtendedFunction() c.BrandName = brandName() c.CacheLine = cacheLine() c.Family, c.Model, c.Stepping = familyModel() c.featureSet = support() c.SGX = hasSGX(c.featureSet.inSet(SGX), c.featureSet.inSet(SGXLC)) c.AMDMemEncryption = hasAMDMemEncryption(c.featureSet.inSet(SME) || c.featureSet.inSet(SEV)) c.ThreadsPerCore = threadsPerCore() c.LogicalCores = logicalCores() c.PhysicalCores = physicalCores() c.VendorID, c.VendorString = vendorID() c.HypervisorVendorID, c.HypervisorVendorString = hypervisorVendorID() c.AVX10Level = c.supportAVX10() c.cacheSize() c.frequencies() } func getVectorLength() (vl, pl uint64) { return 0, 0 } cpuid-2.2.10/featureid_string.go000066400000000000000000000217431475714514100166050ustar00rootroot00000000000000// Code generated by "stringer -type=FeatureID,Vendor"; DO NOT EDIT. package cpuid import "strconv" func _() { // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[ADX-1] _ = x[AESNI-2] _ = x[AMD3DNOW-3] _ = x[AMD3DNOWEXT-4] _ = x[AMXBF16-5] _ = x[AMXFP16-6] _ = x[AMXINT8-7] _ = x[AMXFP8-8] _ = x[AMXTILE-9] _ = x[AMXTF32-10] _ = x[AMXCOMPLEX-11] _ = x[APX_F-12] _ = x[AVX-13] _ = x[AVX10-14] _ = x[AVX10_128-15] _ = x[AVX10_256-16] _ = x[AVX10_512-17] _ = x[AVX2-18] _ = x[AVX512BF16-19] _ = x[AVX512BITALG-20] _ = x[AVX512BW-21] _ = x[AVX512CD-22] _ = x[AVX512DQ-23] _ = x[AVX512ER-24] _ = x[AVX512F-25] _ = x[AVX512FP16-26] _ = x[AVX512IFMA-27] _ = x[AVX512PF-28] _ = x[AVX512VBMI-29] _ = x[AVX512VBMI2-30] _ = x[AVX512VL-31] _ = x[AVX512VNNI-32] _ = x[AVX512VP2INTERSECT-33] _ = x[AVX512VPOPCNTDQ-34] _ = x[AVXIFMA-35] _ = x[AVXNECONVERT-36] _ = x[AVXSLOW-37] _ = x[AVXVNNI-38] _ = x[AVXVNNIINT8-39] _ = x[AVXVNNIINT16-40] _ = x[BHI_CTRL-41] _ = x[BMI1-42] _ = x[BMI2-43] _ = x[CETIBT-44] _ = x[CETSS-45] _ = x[CLDEMOTE-46] _ = x[CLMUL-47] _ = x[CLZERO-48] _ = x[CMOV-49] _ = x[CMPCCXADD-50] _ = x[CMPSB_SCADBS_SHORT-51] _ = x[CMPXCHG8-52] _ = x[CPBOOST-53] _ = x[CPPC-54] _ = x[CX16-55] _ = x[EFER_LMSLE_UNS-56] _ = x[ENQCMD-57] _ = x[ERMS-58] _ = x[F16C-59] _ = x[FLUSH_L1D-60] _ = x[FMA3-61] _ = x[FMA4-62] _ = x[FP128-63] _ = x[FP256-64] _ = x[FSRM-65] _ = x[FXSR-66] _ = x[FXSROPT-67] _ = x[GFNI-68] _ = x[HLE-69] _ = x[HRESET-70] _ = x[HTT-71] _ = x[HWA-72] _ = x[HYBRID_CPU-73] _ = x[HYPERVISOR-74] _ = x[IA32_ARCH_CAP-75] _ = x[IA32_CORE_CAP-76] _ = x[IBPB-77] _ = x[IBPB_BRTYPE-78] _ = x[IBRS-79] _ = x[IBRS_PREFERRED-80] _ = x[IBRS_PROVIDES_SMP-81] _ = x[IBS-82] _ = x[IBSBRNTRGT-83] _ = x[IBSFETCHSAM-84] _ = x[IBSFFV-85] _ = x[IBSOPCNT-86] _ = x[IBSOPCNTEXT-87] _ = x[IBSOPSAM-88] _ = x[IBSRDWROPCNT-89] _ = x[IBSRIPINVALIDCHK-90] _ = x[IBS_FETCH_CTLX-91] _ = x[IBS_OPDATA4-92] _ = x[IBS_OPFUSE-93] _ = x[IBS_PREVENTHOST-94] _ = x[IBS_ZEN4-95] _ = x[IDPRED_CTRL-96] _ = x[INT_WBINVD-97] _ = x[INVLPGB-98] _ = x[KEYLOCKER-99] _ = x[KEYLOCKERW-100] _ = x[LAHF-101] _ = x[LAM-102] _ = x[LBRVIRT-103] _ = x[LZCNT-104] _ = x[MCAOVERFLOW-105] _ = x[MCDT_NO-106] _ = x[MCOMMIT-107] _ = x[MD_CLEAR-108] _ = x[MMX-109] _ = x[MMXEXT-110] _ = x[MOVBE-111] _ = x[MOVDIR64B-112] _ = x[MOVDIRI-113] _ = x[MOVSB_ZL-114] _ = x[MOVU-115] _ = x[MPX-116] _ = x[MSRIRC-117] _ = x[MSRLIST-118] _ = x[MSR_PAGEFLUSH-119] _ = x[NRIPS-120] _ = x[NX-121] _ = x[OSXSAVE-122] _ = x[PCONFIG-123] _ = x[POPCNT-124] _ = x[PPIN-125] _ = x[PREFETCHI-126] _ = x[PSFD-127] _ = x[RDPRU-128] _ = x[RDRAND-129] _ = x[RDSEED-130] _ = x[RDTSCP-131] _ = x[RRSBA_CTRL-132] _ = x[RTM-133] _ = x[RTM_ALWAYS_ABORT-134] _ = x[SBPB-135] _ = x[SERIALIZE-136] _ = x[SEV-137] _ = x[SEV_64BIT-138] _ = x[SEV_ALTERNATIVE-139] _ = x[SEV_DEBUGSWAP-140] _ = x[SEV_ES-141] _ = x[SEV_RESTRICTED-142] _ = x[SEV_SNP-143] _ = x[SGX-144] _ = x[SGXLC-145] _ = x[SHA-146] _ = x[SME-147] _ = x[SME_COHERENT-148] _ = x[SPEC_CTRL_SSBD-149] _ = x[SRBDS_CTRL-150] _ = x[SRSO_MSR_FIX-151] _ = x[SRSO_NO-152] _ = x[SRSO_USER_KERNEL_NO-153] _ = x[SSE-154] _ = x[SSE2-155] _ = x[SSE3-156] _ = x[SSE4-157] _ = x[SSE42-158] _ = x[SSE4A-159] _ = x[SSSE3-160] _ = x[STIBP-161] _ = x[STIBP_ALWAYSON-162] _ = x[STOSB_SHORT-163] _ = x[SUCCOR-164] _ = x[SVM-165] _ = x[SVMDA-166] _ = x[SVMFBASID-167] _ = x[SVML-168] _ = x[SVMNP-169] _ = x[SVMPF-170] _ = x[SVMPFT-171] _ = x[SYSCALL-172] _ = x[SYSEE-173] _ = x[TBM-174] _ = x[TDX_GUEST-175] _ = x[TLB_FLUSH_NESTED-176] _ = x[TME-177] _ = x[TOPEXT-178] _ = x[TSCRATEMSR-179] _ = x[TSXLDTRK-180] _ = x[VAES-181] _ = x[VMCBCLEAN-182] _ = x[VMPL-183] _ = x[VMSA_REGPROT-184] _ = x[VMX-185] _ = x[VPCLMULQDQ-186] _ = x[VTE-187] _ = x[WAITPKG-188] _ = x[WBNOINVD-189] _ = x[WRMSRNS-190] _ = x[X87-191] _ = x[XGETBV1-192] _ = x[XOP-193] _ = x[XSAVE-194] _ = x[XSAVEC-195] _ = x[XSAVEOPT-196] _ = x[XSAVES-197] _ = x[AESARM-198] _ = x[ARMCPUID-199] _ = x[ASIMD-200] _ = x[ASIMDDP-201] _ = x[ASIMDHP-202] _ = x[ASIMDRDM-203] _ = x[ATOMICS-204] _ = x[CRC32-205] _ = x[DCPOP-206] _ = x[EVTSTRM-207] _ = x[FCMA-208] _ = x[FHM-209] _ = x[FP-210] _ = x[FPHP-211] _ = x[GPA-212] _ = x[JSCVT-213] _ = x[LRCPC-214] _ = x[PMULL-215] _ = x[RNDR-216] _ = x[TLB-217] _ = x[TS-218] _ = x[SHA1-219] _ = x[SHA2-220] _ = x[SHA3-221] _ = x[SHA512-222] _ = x[SM3-223] _ = x[SM4-224] _ = x[SVE-225] _ = x[lastID-226] _ = x[firstID-0] } const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXFP8AMXTILEAMXTF32AMXCOMPLEXAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8AVXVNNIINT16BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBPB_BRTYPEIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSBPBSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSRSO_MSR_FIXSRSO_NOSRSO_USER_KERNEL_NOSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFHMFPFPHPGPAJSCVTLRCPCPMULLRNDRTLBTSSHA1SHA2SHA3SHA512SM3SM4SVElastID" var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 61, 68, 75, 85, 90, 93, 98, 107, 116, 125, 129, 139, 151, 159, 167, 175, 183, 190, 200, 210, 218, 228, 239, 247, 257, 275, 290, 297, 309, 316, 323, 334, 346, 354, 358, 362, 368, 373, 381, 386, 392, 396, 405, 423, 431, 438, 442, 446, 460, 466, 470, 474, 483, 487, 491, 496, 501, 505, 509, 516, 520, 523, 529, 532, 535, 545, 555, 568, 581, 585, 596, 600, 614, 631, 634, 644, 655, 661, 669, 680, 688, 700, 716, 730, 741, 751, 766, 774, 785, 795, 802, 811, 821, 825, 828, 835, 840, 851, 858, 865, 873, 876, 882, 887, 896, 903, 911, 915, 918, 924, 931, 944, 949, 951, 958, 965, 971, 975, 984, 988, 993, 999, 1005, 1011, 1021, 1024, 1040, 1044, 1053, 1056, 1065, 1080, 1093, 1099, 1113, 1120, 1123, 1128, 1131, 1134, 1146, 1160, 1170, 1182, 1189, 1208, 1211, 1215, 1219, 1223, 1228, 1233, 1238, 1243, 1257, 1268, 1274, 1277, 1282, 1291, 1295, 1300, 1305, 1311, 1318, 1323, 1326, 1335, 1351, 1354, 1360, 1370, 1378, 1382, 1391, 1395, 1407, 1410, 1420, 1423, 1430, 1438, 1445, 1448, 1455, 1458, 1463, 1469, 1477, 1483, 1489, 1497, 1502, 1509, 1516, 1524, 1531, 1536, 1541, 1548, 1552, 1555, 1557, 1561, 1564, 1569, 1574, 1579, 1583, 1586, 1588, 1592, 1596, 1600, 1606, 1609, 1612, 1615, 1621} func (i FeatureID) String() string { if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) { return "FeatureID(" + strconv.FormatInt(int64(i), 10) + ")" } return _FeatureID_name[_FeatureID_index[i]:_FeatureID_index[i+1]] } func _() { // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[VendorUnknown-0] _ = x[Intel-1] _ = x[AMD-2] _ = x[VIA-3] _ = x[Transmeta-4] _ = x[NSC-5] _ = x[KVM-6] _ = x[MSVM-7] _ = x[VMware-8] _ = x[XenHVM-9] _ = x[Bhyve-10] _ = x[Hygon-11] _ = x[SiS-12] _ = x[RDC-13] _ = x[Ampere-14] _ = x[ARM-15] _ = x[Broadcom-16] _ = x[Cavium-17] _ = x[DEC-18] _ = x[Fujitsu-19] _ = x[Infineon-20] _ = x[Motorola-21] _ = x[NVIDIA-22] _ = x[AMCC-23] _ = x[Qualcomm-24] _ = x[Marvell-25] _ = x[QEMU-26] _ = x[QNX-27] _ = x[ACRN-28] _ = x[SRE-29] _ = x[Apple-30] _ = x[lastVendor-31] } const _Vendor_name = "VendorUnknownIntelAMDVIATransmetaNSCKVMMSVMVMwareXenHVMBhyveHygonSiSRDCAmpereARMBroadcomCaviumDECFujitsuInfineonMotorolaNVIDIAAMCCQualcommMarvellQEMUQNXACRNSREApplelastVendor" var _Vendor_index = [...]uint8{0, 13, 18, 21, 24, 33, 36, 39, 43, 49, 55, 60, 65, 68, 71, 77, 80, 88, 94, 97, 104, 112, 120, 126, 130, 138, 145, 149, 152, 156, 159, 164, 174} func (i Vendor) String() string { if i < 0 || i >= Vendor(len(_Vendor_index)-1) { return "Vendor(" + strconv.FormatInt(int64(i), 10) + ")" } return _Vendor_name[_Vendor_index[i]:_Vendor_index[i+1]] } cpuid-2.2.10/go.mod000066400000000000000000000001201475714514100140100ustar00rootroot00000000000000module github.com/klauspost/cpuid/v2 go 1.22 require golang.org/x/sys v0.30.0 cpuid-2.2.10/go.sum000066400000000000000000000004621475714514100140460ustar00rootroot00000000000000golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= cpuid-2.2.10/mockcpu_test.go000066400000000000000000000132361475714514100157450ustar00rootroot00000000000000package cpuid import ( "archive/zip" "fmt" "io/ioutil" "math" "path/filepath" "sort" "strings" "testing" ) type fakecpuid map[uint32][][]uint32 type idfuncs struct { cpuid func(op uint32) (eax, ebx, ecx, edx uint32) cpuidex func(op, op2 uint32) (eax, ebx, ecx, edx uint32) xgetbv func(index uint32) (eax, edx uint32) } func (f fakecpuid) String() string { var out = make([]string, 0, len(f)) for key, val := range f { for _, v := range val { out = append(out, fmt.Sprintf("CPUID %08x: [%08x, %08x, %08x, %08x]", key, v[0], v[1], v[2], v[3])) } } sorter := sort.StringSlice(out) sort.Sort(&sorter) return strings.Join(sorter, "\n") } func mockCPU(def []byte) func() { lines := strings.Split(string(def), "\n") anyfound := false fakeID := make(fakecpuid) for _, line := range lines { line = strings.Trim(line, "\r\t ") if !strings.HasPrefix(line, "CPUID") { continue } // Only collect for first cpu if strings.HasPrefix(line, "CPUID 00000000") { if anyfound { break } } //if !strings.Contains(line, "-") { // continue //} items := strings.Split(line, ":") if len(items) < 2 { if len(line) == 51 || len(line) == 50 { items = []string{line[0:14], line[15:]} } else { items = strings.Split(line, "\t") if len(items) != 2 { //fmt.Println("not found:", line, "len:", len(line)) continue } } } items = items[0:2] vals := strings.Trim(items[1], "\r\n ") var idV uint32 n, err := fmt.Sscanf(items[0], "CPUID %x", &idV) if err != nil || n != 1 { continue } existing, ok := fakeID[idV] if !ok { existing = make([][]uint32, 0) } values := make([]uint32, 4) n, err = fmt.Sscanf(vals, "%x-%x-%x-%x", &values[0], &values[1], &values[2], &values[3]) if n != 4 || err != nil { n, err = fmt.Sscanf(vals, "%x %x %x %x", &values[0], &values[1], &values[2], &values[3]) if n != 4 || err != nil { //fmt.Println("scanned", vals, "got", n, "Err:", err) continue } } existing = append(existing, values) fakeID[idV] = existing anyfound = true } restorer := func(f idfuncs) func() { return func() { cpuid = f.cpuid cpuidex = f.cpuidex xgetbv = f.xgetbv } }(idfuncs{cpuid: cpuid, cpuidex: cpuidex, xgetbv: xgetbv}) cpuid = func(op uint32) (eax, ebx, ecx, edx uint32) { if op == 0x80000000 || op == 0 || op == 0x4000000c || op == 0x40000000 { var ok bool _, ok = fakeID[op] if !ok { return 0, 0, 0, 0 } } first, ok := fakeID[op] if !ok { if op > maxFunctionID() { panic(fmt.Sprintf("Base not found: %v, request:%#v\n", fakeID, op)) } else { // we have some entries missing return 0, 0, 0, 0 } } theid := first[0] return theid[0], theid[1], theid[2], theid[3] } cpuidex = func(op, op2 uint32) (eax, ebx, ecx, edx uint32) { if op == 0x80000000 { var ok bool _, ok = fakeID[op] if !ok { return 0, 0, 0, 0 } } first, ok := fakeID[op] if !ok { if op > maxExtendedFunction() { panic(fmt.Sprintf("Extended not found Info: %v, request:%#v, %#v\n", fakeID, op, op2)) } else { // we have some entries missing return 0, 0, 0, 0 } } if int(op2) >= len(first) { //fmt.Printf("Extended not found Info: %v, request:%#v, %#v\n", fakeID, op, op2) return 0, 0, 0, 0 } theid := first[op2] return theid[0], theid[1], theid[2], theid[3] } xgetbv = func(index uint32) (eax, edx uint32) { first, ok := fakeID[1] if !ok { panic(fmt.Sprintf("XGETBV not supported %v", fakeID)) } second := first[0] // ECX bit 26 must be set if (second[2] & 1 << 26) == 0 { panic(fmt.Sprintf("XGETBV not supported %v", fakeID)) } // We don't have any data to return, unfortunately return math.MaxUint32, math.MaxUint32 } return restorer } func TestMocks(t *testing.T) { zr, err := zip.OpenReader("testdata/cpuid_data.zip") if err != nil { t.Skip("No testdata:", err) } defer zr.Close() for _, f := range zr.File { t.Run(filepath.Base(f.Name), func(t *testing.T) { rc, err := f.Open() if err != nil { t.Fatal(err) } content, err := ioutil.ReadAll(rc) if err != nil { t.Fatal(err) } rc.Close() t.Log("Opening", f.FileInfo().Name()) restore := mockCPU(content) Detect() t.Log("Name:", CPU.BrandName) n := maxFunctionID() t.Logf("Max Function:0x%x", n) n = maxExtendedFunction() t.Logf("Max Extended Function:0x%x", n) t.Log("VendorString:", CPU.VendorString) t.Log("VendorID:", CPU.VendorID) t.Log("PhysicalCores:", CPU.PhysicalCores) t.Log("ThreadsPerCore:", CPU.ThreadsPerCore) t.Log("LogicalCores:", CPU.LogicalCores) t.Log("Family", CPU.Family, "Model:", CPU.Model, "Stepping:", CPU.Stepping) t.Log("Features:", strings.Join(CPU.FeatureSet(), ",")) t.Log("Microarchitecture level:", CPU.X64Level()) t.Log("Cacheline bytes:", CPU.CacheLine) t.Log("L1 Instruction Cache:", CPU.Cache.L1I, "bytes") t.Log("L1 Data Cache:", CPU.Cache.L1D, "bytes") t.Log("L2 Cache:", CPU.Cache.L2, "bytes") t.Log("L3 Cache:", CPU.Cache.L3, "bytes") t.Log("Hz:", CPU.Hz, "Hz") t.Log("Boost:", CPU.BoostFreq, "Hz") if CPU.AVX10Level > 0 { t.Log("AVX10 level:", CPU.AVX10Level) } if CPU.LogicalCores > 0 && CPU.PhysicalCores > 0 { if CPU.LogicalCores != CPU.PhysicalCores*CPU.ThreadsPerCore { t.Fatalf("Core count mismatch, LogicalCores (%d) != PhysicalCores (%d) * CPU.ThreadsPerCore (%d)", CPU.LogicalCores, CPU.PhysicalCores, CPU.ThreadsPerCore) } } if CPU.ThreadsPerCore > 1 && !CPU.Supports(HTT) { t.Fatalf("Hyperthreading not detected") } if CPU.ThreadsPerCore == 1 && CPU.Supports(HTT) { t.Fatalf("Hyperthreading detected, but only 1 Thread per core") } restore() }) } Detect() } cpuid-2.2.10/os_darwin_arm64.go000066400000000000000000000100121475714514100162300ustar00rootroot00000000000000// Copyright (c) 2020 Klaus Post, released under MIT License. See LICENSE file. package cpuid import ( "runtime" "strings" "golang.org/x/sys/unix" ) func detectOS(c *CPUInfo) bool { if runtime.GOOS != "ios" { tryToFillCPUInfoFomSysctl(c) } // There are no hw.optional sysctl values for the below features on Mac OS 11.0 // to detect their supported state dynamically. Assume the CPU features that // Apple Silicon M1 supports to be available as a minimal set of features // to all Go programs running on darwin/arm64. // TODO: Add more if we know them. c.featureSet.setIf(runtime.GOOS != "ios", AESARM, PMULL, SHA1, SHA2) return true } func sysctlGetBool(name string) bool { value, err := unix.SysctlUint32(name) if err != nil { return false } return value != 0 } func sysctlGetString(name string) string { value, err := unix.Sysctl(name) if err != nil { return "" } return value } func sysctlGetInt(unknown int, names ...string) int { for _, name := range names { value, err := unix.SysctlUint32(name) if err != nil { continue } if value != 0 { return int(value) } } return unknown } func sysctlGetInt64(unknown int, names ...string) int { for _, name := range names { value64, err := unix.SysctlUint64(name) if err != nil { continue } if int(value64) != unknown { return int(value64) } } return unknown } func setFeature(c *CPUInfo, name string, feature FeatureID) { c.featureSet.setIf(sysctlGetBool(name), feature) } func tryToFillCPUInfoFomSysctl(c *CPUInfo) { c.BrandName = sysctlGetString("machdep.cpu.brand_string") if len(c.BrandName) != 0 { c.VendorString = strings.Fields(c.BrandName)[0] } c.PhysicalCores = sysctlGetInt(runtime.NumCPU(), "hw.physicalcpu") c.ThreadsPerCore = sysctlGetInt(1, "machdep.cpu.thread_count", "kern.num_threads") / sysctlGetInt(1, "hw.physicalcpu") c.LogicalCores = sysctlGetInt(runtime.NumCPU(), "machdep.cpu.core_count") c.Family = sysctlGetInt(0, "machdep.cpu.family", "hw.cpufamily") c.Model = sysctlGetInt(0, "machdep.cpu.model") c.CacheLine = sysctlGetInt64(0, "hw.cachelinesize") c.Cache.L1I = sysctlGetInt64(-1, "hw.l1icachesize") c.Cache.L1D = sysctlGetInt64(-1, "hw.l1dcachesize") c.Cache.L2 = sysctlGetInt64(-1, "hw.l2cachesize") c.Cache.L3 = sysctlGetInt64(-1, "hw.l3cachesize") // from https://developer.arm.com/downloads/-/exploration-tools/feature-names-for-a-profile setFeature(c, "hw.optional.arm.FEAT_AES", AESARM) setFeature(c, "hw.optional.AdvSIMD", ASIMD) setFeature(c, "hw.optional.arm.FEAT_DotProd", ASIMDDP) setFeature(c, "hw.optional.arm.FEAT_RDM", ASIMDRDM) setFeature(c, "hw.optional.FEAT_CRC32", CRC32) setFeature(c, "hw.optional.arm.FEAT_DPB", DCPOP) // setFeature(c, "", EVTSTRM) setFeature(c, "hw.optional.arm.FEAT_FCMA", FCMA) setFeature(c, "hw.optional.arm.FEAT_FHM", FHM) setFeature(c, "hw.optional.arm.FEAT_FP", FP) setFeature(c, "hw.optional.arm.FEAT_FP16", FPHP) setFeature(c, "hw.optional.arm.FEAT_PAuth", GPA) setFeature(c, "hw.optional.arm.FEAT_RNG", RNDR) setFeature(c, "hw.optional.arm.FEAT_JSCVT", JSCVT) setFeature(c, "hw.optional.arm.FEAT_LRCPC", LRCPC) setFeature(c, "hw.optional.arm.FEAT_PMULL", PMULL) setFeature(c, "hw.optional.arm.FEAT_SHA1", SHA1) setFeature(c, "hw.optional.arm.FEAT_SHA256", SHA2) setFeature(c, "hw.optional.arm.FEAT_SHA3", SHA3) setFeature(c, "hw.optional.arm.FEAT_SHA512", SHA512) setFeature(c, "hw.optional.arm.FEAT_TLBIOS", TLB) setFeature(c, "hw.optional.arm.FEAT_TLBIRANGE", TLB) setFeature(c, "hw.optional.arm.FEAT_FlagM", TS) setFeature(c, "hw.optional.arm.FEAT_FlagM2", TS) // setFeature(c, "", SM3) // setFeature(c, "", SM4) setFeature(c, "hw.optional.arm.FEAT_SVE", SVE) // from empirical observation setFeature(c, "hw.optional.AdvSIMD_HPFPCvt", ASIMDHP) setFeature(c, "hw.optional.armv8_1_atomics", ATOMICS) setFeature(c, "hw.optional.floatingpoint", FP) setFeature(c, "hw.optional.armv8_2_sha3", SHA3) setFeature(c, "hw.optional.armv8_2_sha512", SHA512) setFeature(c, "hw.optional.armv8_3_compnum", FCMA) setFeature(c, "hw.optional.armv8_crc32", CRC32) } cpuid-2.2.10/os_darwin_test.go000066400000000000000000000025411475714514100162660ustar00rootroot00000000000000package cpuid import ( "os/exec" "strconv" "strings" "testing" ) // Tests that the returned L1 instruction cache value matches the value returned from // a call to the OS `sysctl` utility. Skips the test if we can't run it. func TestDarwinL1ICache(t *testing.T) { out, err := exec.Command("/usr/sbin/sysctl", "-n", "hw.l1icachesize").Output() if err != nil { t.Skipf("cannot run sysctl utility: %v", err) return } v, err := strconv.ParseInt(strings.TrimSpace(string(out)), 10, 0) if err != nil { t.Skipf("sysctl output %q could not be parsed as int: %v", string(out), err) return } if CPU.Cache.L1I != int(v) { t.Fatalf("sysctl output %q did not match CPU.Cache.L1I %d", string(out), CPU.Cache.L1I) } } // Tests that the returned L1 data cache value matches the value returned from a call // to the OS `sysctl` utility. Skips the test if we can't run it. func TestDarwinL1DCache(t *testing.T) { out, err := exec.Command("/usr/sbin/sysctl", "-n", "hw.l1dcachesize").Output() if err != nil { t.Skipf("cannot run sysctl utility: %v", err) return } v, err := strconv.ParseInt(strings.TrimSpace(string(out)), 10, 0) if err != nil { t.Skipf("sysctl output %q could not be parsed as int: %v", string(out), err) return } if CPU.Cache.L1D != int(v) { t.Fatalf("sysctl output %q did not match CPU.Cache.L1D %d", string(out), CPU.Cache.L1D) } } cpuid-2.2.10/os_linux_arm64.go000066400000000000000000000142631475714514100161170ustar00rootroot00000000000000// Copyright (c) 2020 Klaus Post, released under MIT License. See LICENSE file. // Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file located // here https://github.com/golang/sys/blob/master/LICENSE package cpuid import ( "encoding/binary" "io/ioutil" "runtime" ) // HWCAP bits. const ( hwcap_FP = 1 << 0 hwcap_ASIMD = 1 << 1 hwcap_EVTSTRM = 1 << 2 hwcap_AES = 1 << 3 hwcap_PMULL = 1 << 4 hwcap_SHA1 = 1 << 5 hwcap_SHA2 = 1 << 6 hwcap_CRC32 = 1 << 7 hwcap_ATOMICS = 1 << 8 hwcap_FPHP = 1 << 9 hwcap_ASIMDHP = 1 << 10 hwcap_CPUID = 1 << 11 hwcap_ASIMDRDM = 1 << 12 hwcap_JSCVT = 1 << 13 hwcap_FCMA = 1 << 14 hwcap_LRCPC = 1 << 15 hwcap_DCPOP = 1 << 16 hwcap_SHA3 = 1 << 17 hwcap_SM3 = 1 << 18 hwcap_SM4 = 1 << 19 hwcap_ASIMDDP = 1 << 20 hwcap_SHA512 = 1 << 21 hwcap_SVE = 1 << 22 hwcap_ASIMDFHM = 1 << 23 hwcap_DIT = 1 << 24 hwcap_USCAT = 1 << 25 hwcap_ILRCPC = 1 << 26 hwcap_FLAGM = 1 << 27 hwcap_SSBS = 1 << 28 hwcap_SB = 1 << 29 hwcap_PACA = 1 << 30 hwcap_PACG = 1 << 31 hwcap_GCS = 1 << 32 hwcap2_DCPODP = 1 << 0 hwcap2_SVE2 = 1 << 1 hwcap2_SVEAES = 1 << 2 hwcap2_SVEPMULL = 1 << 3 hwcap2_SVEBITPERM = 1 << 4 hwcap2_SVESHA3 = 1 << 5 hwcap2_SVESM4 = 1 << 6 hwcap2_FLAGM2 = 1 << 7 hwcap2_FRINT = 1 << 8 hwcap2_SVEI8MM = 1 << 9 hwcap2_SVEF32MM = 1 << 10 hwcap2_SVEF64MM = 1 << 11 hwcap2_SVEBF16 = 1 << 12 hwcap2_I8MM = 1 << 13 hwcap2_BF16 = 1 << 14 hwcap2_DGH = 1 << 15 hwcap2_RNG = 1 << 16 hwcap2_BTI = 1 << 17 hwcap2_MTE = 1 << 18 hwcap2_ECV = 1 << 19 hwcap2_AFP = 1 << 20 hwcap2_RPRES = 1 << 21 hwcap2_MTE3 = 1 << 22 hwcap2_SME = 1 << 23 hwcap2_SME_I16I64 = 1 << 24 hwcap2_SME_F64F64 = 1 << 25 hwcap2_SME_I8I32 = 1 << 26 hwcap2_SME_F16F32 = 1 << 27 hwcap2_SME_B16F32 = 1 << 28 hwcap2_SME_F32F32 = 1 << 29 hwcap2_SME_FA64 = 1 << 30 hwcap2_WFXT = 1 << 31 hwcap2_EBF16 = 1 << 32 hwcap2_SVE_EBF16 = 1 << 33 hwcap2_CSSC = 1 << 34 hwcap2_RPRFM = 1 << 35 hwcap2_SVE2P1 = 1 << 36 hwcap2_SME2 = 1 << 37 hwcap2_SME2P1 = 1 << 38 hwcap2_SME_I16I32 = 1 << 39 hwcap2_SME_BI32I32 = 1 << 40 hwcap2_SME_B16B16 = 1 << 41 hwcap2_SME_F16F16 = 1 << 42 hwcap2_MOPS = 1 << 43 hwcap2_HBC = 1 << 44 hwcap2_SVE_B16B16 = 1 << 45 hwcap2_LRCPC3 = 1 << 46 hwcap2_LSE128 = 1 << 47 hwcap2_FPMR = 1 << 48 hwcap2_LUT = 1 << 49 hwcap2_FAMINMAX = 1 << 50 hwcap2_F8CVT = 1 << 51 hwcap2_F8FMA = 1 << 52 hwcap2_F8DP4 = 1 << 53 hwcap2_F8DP2 = 1 << 54 hwcap2_F8E4M3 = 1 << 55 hwcap2_F8E5M2 = 1 << 56 hwcap2_SME_LUTV2 = 1 << 57 hwcap2_SME_F8F16 = 1 << 58 hwcap2_SME_F8F32 = 1 << 59 hwcap2_SME_SF8FMA = 1 << 60 hwcap2_SME_SF8DP4 = 1 << 61 hwcap2_SME_SF8DP2 = 1 << 62 hwcap2_POE = 1 << 63 ) func detectOS(c *CPUInfo) bool { // For now assuming no hyperthreading is reasonable. c.LogicalCores = runtime.NumCPU() c.PhysicalCores = c.LogicalCores c.ThreadsPerCore = 1 if hwcap == 0 { // We did not get values from the runtime. // Try reading /proc/self/auxv // From https://github.com/golang/sys const ( _AT_HWCAP = 16 _AT_HWCAP2 = 26 uintSize = int(32 << (^uint(0) >> 63)) ) buf, err := ioutil.ReadFile("/proc/self/auxv") if err != nil { // e.g. on android /proc/self/auxv is not accessible, so silently // ignore the error and leave Initialized = false. On some // architectures (e.g. arm64) doinit() implements a fallback // readout and will set Initialized = true again. return false } bo := binary.LittleEndian for len(buf) >= 2*(uintSize/8) { var tag, val uint switch uintSize { case 32: tag = uint(bo.Uint32(buf[0:])) val = uint(bo.Uint32(buf[4:])) buf = buf[8:] case 64: tag = uint(bo.Uint64(buf[0:])) val = uint(bo.Uint64(buf[8:])) buf = buf[16:] } switch tag { case _AT_HWCAP: hwcap = val case _AT_HWCAP2: // Not used } } if hwcap == 0 { return false } } // HWCap was populated by the runtime from the auxiliary vector. // Use HWCap information since reading aarch64 system registers // is not supported in user space on older linux kernels. c.featureSet.setIf(isSet(hwcap, hwcap_AES), AESARM) c.featureSet.setIf(isSet(hwcap, hwcap_ASIMD), ASIMD) c.featureSet.setIf(isSet(hwcap, hwcap_ASIMDDP), ASIMDDP) c.featureSet.setIf(isSet(hwcap, hwcap_ASIMDHP), ASIMDHP) c.featureSet.setIf(isSet(hwcap, hwcap_ASIMDRDM), ASIMDRDM) c.featureSet.setIf(isSet(hwcap, hwcap_CPUID), ARMCPUID) c.featureSet.setIf(isSet(hwcap, hwcap_CRC32), CRC32) c.featureSet.setIf(isSet(hwcap, hwcap_DCPOP), DCPOP) c.featureSet.setIf(isSet(hwcap, hwcap_EVTSTRM), EVTSTRM) c.featureSet.setIf(isSet(hwcap, hwcap_FCMA), FCMA) c.featureSet.setIf(isSet(hwcap, hwcap_ASIMDFHM), FHM) c.featureSet.setIf(isSet(hwcap, hwcap_FP), FP) c.featureSet.setIf(isSet(hwcap, hwcap_FPHP), FPHP) c.featureSet.setIf(isSet(hwcap, hwcap_JSCVT), JSCVT) c.featureSet.setIf(isSet(hwcap, hwcap_LRCPC), LRCPC) c.featureSet.setIf(isSet(hwcap, hwcap_PMULL), PMULL) c.featureSet.setIf(isSet(hwcap, hwcap2_RNG), RNDR) // c.featureSet.setIf(isSet(hwcap, hwcap_), TLB) // c.featureSet.setIf(isSet(hwcap, hwcap_), TS) c.featureSet.setIf(isSet(hwcap, hwcap_SHA1), SHA1) c.featureSet.setIf(isSet(hwcap, hwcap_SHA2), SHA2) c.featureSet.setIf(isSet(hwcap, hwcap_SHA3), SHA3) c.featureSet.setIf(isSet(hwcap, hwcap_SHA512), SHA512) c.featureSet.setIf(isSet(hwcap, hwcap_SM3), SM3) c.featureSet.setIf(isSet(hwcap, hwcap_SM4), SM4) c.featureSet.setIf(isSet(hwcap, hwcap_SVE), SVE) // The Samsung S9+ kernel reports support for atomics, but not all cores // actually support them, resulting in SIGILL. See issue #28431. // TODO(elias.naur): Only disable the optimization on bad chipsets on android. c.featureSet.setIf(isSet(hwcap, hwcap_ATOMICS) && runtime.GOOS != "android", ATOMICS) return true } func isSet(hwc uint, value uint) bool { return hwc&value != 0 } cpuid-2.2.10/os_other_arm64.go000066400000000000000000000005571475714514100161020ustar00rootroot00000000000000// Copyright (c) 2020 Klaus Post, released under MIT License. See LICENSE file. //go:build arm64 && !linux && !darwin // +build arm64,!linux,!darwin package cpuid import "runtime" func detectOS(c *CPUInfo) bool { c.PhysicalCores = runtime.NumCPU() // For now assuming 1 thread per core... c.ThreadsPerCore = 1 c.LogicalCores = c.PhysicalCores return false } cpuid-2.2.10/os_safe_linux_arm64.go000066400000000000000000000002271475714514100171100ustar00rootroot00000000000000// Copyright (c) 2021 Klaus Post, released under MIT License. See LICENSE file. //go:build nounsafe // +build nounsafe package cpuid var hwcap uint cpuid-2.2.10/os_unsafe_linux_arm64.go000066400000000000000000000003551475714514100174550ustar00rootroot00000000000000// Copyright (c) 2021 Klaus Post, released under MIT License. See LICENSE file. //go:build !nounsafe // +build !nounsafe package cpuid import _ "unsafe" // needed for go:linkname //go:linkname hwcap internal/cpu.HWCap var hwcap uint cpuid-2.2.10/test-architectures.sh000077500000000000000000000006751475714514100171020ustar00rootroot00000000000000#!/bin/sh set -e go tool dist list | while IFS=/ read os arch; do echo "Checking $os/$arch..." echo " normal" GOARCH=$arch GOOS=$os go build -o /dev/null . echo " noasm" GOARCH=$arch GOOS=$os go build -tags noasm -o /dev/null . echo " appengine" GOARCH=$arch GOOS=$os go build -tags appengine -o /dev/null . echo " noasm,appengine" GOARCH=$arch GOOS=$os go build -tags 'appengine noasm' -o /dev/null . done cpuid-2.2.10/testdata/000077500000000000000000000000001475714514100145225ustar00rootroot00000000000000cpuid-2.2.10/testdata/cpuid_data.zip000066400000000000000000027735011475714514100173620ustar00rootroot00000000000000PKgpY VP/./AuthenticAMD/AuthenticAMD0000500_K5_CPUID.txt]QEz0~ƶ\}̖c cY w4ZGڍv" ̈h{{{}ȣE"nlQ[;''2 EaET-ؾCf MCa 6OwX%?" JM&t}YXYD^Ӥ:܁SRIѨܒ&eF%W4GfTBD*HbExq}\tٟ_O։W ML ;4"%E6b;ۍPKWR/./AuthenticAMD/AuthenticAMD0000501_K5_CPUID.txt]Pն0|ÖѮd]ffQM- zSx^hfprLuw=^Ĝ|||xn";BFq[nk^2>{YTsGOlpx0B6k'~f)3mk΄ʚa(ڣ4SKMd2 O0a#TȈ CUa\Ox`fnqJI֨~f5, ?uFϵ\šeYKvL]Yv!"Kqӥe(< fx l/ed,3B???~;"`8 #Ν x@ 79)tkpnY a^Y/L5v-wJaˋ c[4=-kWNM\ͼ[W,eGn -NS KbIQٝObAȼ*$@h'KvݩKs'-b}_Ȭ Y/>3nv'V\ N \i(ߢ Ehp. |z$QPC|ZI`_\ΰk0,#|WHx]c\~\kYg#ddMzz$i58.#pDE\Pr %$~ļC aWsOV[uBfw%z]4Trѿ9o:TD˕OGџE*ZD)jNPK6 /./AuthenticAMD/AuthenticAMD0000524_K5_CPUID.txtSն0|[FKQ79K__+sFO1Jp3KFdOqٗ;Q%R|{Ձ%ޓ?_'ͺ4a_%"ɌH!(hx EkOև$QL#G}hRX~bnɰtSAE`Bd{K,;k8&M PK޲/./AuthenticAMD/AuthenticAMD0000534_K5_CPUID.txtOEQ 1Cuۋpl)zyјШ::{>?ݩGh  Z}o qȡ7@ݎ&je-S 68AjH0o!kUۆr-q m:fy*By 38a4A6V PK]w-/./AuthenticAMD/AuthenticAMD0000562_K6_CPUID.txtS՞<tnR :ioS&=WUƣa g^W6Q;p;م 6W>a VWAX2Alϛ{4XAA>|\ `L->VLV\ٗz 檝QSDj_XXmV8*)gےH50MzXvv`i.FY8K/PK 3/./AuthenticAMD/AuthenticAMD0000570_K6_CPUID.txtSe{0^7Feb923W$ϑK~V\5>Nh,GkQ2NNf{>!vkm+ӏ[O Vx*Vou}Am L$+,@"s7ѣrrbm4[$wm }  oY3&Bd,n-c u^Y"Xc&u̶L&q>OqWuLGK Mz"`)Ms8; r2 d_ZZ/.II2úۍY\8GI5d yĉdHV5)~ɨ)+AA5[P!%Ps'K'gAӺR#W%d X\q+eU@ܳ$ȧPLjbL1T/$T !EpL\?X|+[iȚݯ6-ݏM=52ӏo=Re$.cװmzCjwyW%Y~PK2P}E7./AuthenticAMD/AuthenticAMD0000580_K6_Chomper_CPUID.txtSՖ0|-sD23VΓ`s 7,{i֚r vggX _U,j՜ki1E iKo{4yU/mWP†/kpJ)-e/oomJ>!coNdiܱAd;_:m֖fQ&nQq~c񷰶v{׏%,I7NBjy,i9EYSUeUj sUyaVWC]{60-4h֊TRVr:DgséEViMRWak봚Eގ_l(PJ*D2҃0ƺd>A6P&I/ܱ!NN幗lFCyqoq^+\^i:b7۫u8 m5UyC4XHcZހ_q7WBsGKx])[y7I'l-F*i[,O(בT^n#,,l,&gf `!nERm^}hPb8QWМxO0-R,I }Uf*Xo[U)jޚ%Oz(…qtRlXA•Lr XA$moȜS8͎Ɍ䝢7DIN-' ; ɈKk"摀x"@<QTt$ALcU"2]tFc 7EN'cFȽN)d%I ں\HtfPF{ kz,WiVo=bL 0RaN*. 8Ghpú4OtCKA?PK`!4./AuthenticAMD/AuthenticAMD00005D4_K62Plus_CPUID.txtS<}E!Tt{r.kOd#6]54l$Q G0$%Dz{cY 42 ⢦y@AjmZ݂ Tՙxkɇȧ5\hud8T8 iEiaol}ϰl9o:ʜKAw0(<(EMQvDޤC }6XPih<U(XoUUn5u[{0Oe ,`;%<]wZRSۈ6gwDMTK &VEv%v:{ωx@ı9m"G L]pm R|la?V_>'VѢ &*L yI$D&y6,?28F_I,vjT:`aHϋj$qhu:$<+uQEڎQn=>s%?Rf^F*Ta>LǑ9|cgz:탹He^4zKˮ.Nȱ۹b\Wo"?đL.}2ISN&[ *tJ1w>8 Af° y Q}RcmHMRHXB!ȈOBq8+G]`y7L"/ !6#"DWq-ņ-37RXnְVԪFm'u(Pm ՘-h$cg ,Ra~U*^Leֱ3lUzRƴ*)vPK4؊8./AuthenticAMD/AuthenticAMD0000630_K7_Spitfire_CPUID.txtu0k$efݗ][*B٫_RIݵ@Uy_gvxEBůow0pl7b'O!8q+TY_%q>pYqxjS=ZZ0Yj:_X39.%(UbUjQ 2y5AT-bK[~RT3t}r=q @:G 8qDiVbQgyj,SG\,tƻƝ(*,#Y֍> ]hprCV",\:*2-P-c$'i8fE8 Qw~ͥa̞7j5uΛ.l>l">q."^5XRbQJ0bmswLd=er6 wxsc T?mKR~E`=P׷QrE[.Zϸj=m:3rDؕ*Es-m䜠E ]&ADDߒdm޴H΢n,!V~𵤇&992׿m%#\.ub:`,̅}6BOETPK6YG6./AuthenticAMD/AuthenticAMD0000670_K7_Morgan_CPUID.txtr4> <9({:!{?٦ap8B rk:Ay2v)oMԴE<1hCe S%_JB>Zt7^xETA:×m!EV!JP =W&e@y/P$KS|Ay"ogPK< <./AuthenticAMD/AuthenticAMD0000680_K7_Thoroughbred_CPUID.txtzLG|<ֱ2ʒW$vKіzFNn_Ndjeqnqn;txT`7ZD&:\=Nzu6x &xaeܞ\T́w>˻Òi9𘰆C =JU8NINm=IGgh tQ޸s~+,O$7#WJ>OρC'!+>l'yԄyW^RV%ѓpլV^fM*.ΝZϛ ǿ>xx/~ pL >\ӛS%m99̒M@+&r~Tι0`n&UzI]&7 'ASkQul:r)MҴ+ MpLܻ)Lr'() Y(=|2dU 2@v9q>,/S-PuU:>w ~:u$u@D% `Y 4א8)O)@uZ/h}e"fQe b t,P)PpZ-EIE,C=UH @<8FnMZmCHJ( ڇ :o)Hiud4͆@!bC : @lć@b$@A?"!1qǘH(r8`cv?%ṹn;}up L#ؘxKf6G{F8qZHMܘ7EKYg7~g&LGM#L^PK=W<./AuthenticAMD/AuthenticAMD0000F51_K8_Sledgehammer_CPUID.txtQk07BNٖ ڦ+IVcqědӥg)GtK'!ƴ}&+2 ?S6'Z8䖐0RET&10!Lr} XE7*hp5PY, &7†=J0?gZ,M^OqېM]Bmqlni^dǟ^Kk'f&0wjUֱ0=QTVWb"5!Z.\ZKTo2]lb]*CQ {:!_\kRGRy ]fGaR=c$vCċ~'m<,imgD f96Ye@=)SC[Q4loP/+ik{ JuffR,`cy6@ Lda 2"@O rk)d(`A PF9 d)@ԃ!!JN*oٞs2PȷR.Ш t@~(q.] ] dwAAm.M"G@&dDI6/?7s87s87&)L2 \ XN#/=Fm1Y=YGX=;U$a S?v*p1mԦjUYWeµJx{PKQh^<./AuthenticAMD/AuthenticAMD0000F5A_K8_Sledgehammer_CPUID.txt:?}]3ՄcQK`}E|tl?=E^ÓXVqnx3u^™aq j#O*|׺g4žw߁ c_ ɅplTrp0p_:tcVKu>2Uui,*$EU 8Vr/y;=MK]-tW]oEÕ+3Zwu+o~ \"N]*]ԮYY'muD_3a?7/^DuQ.Mb|`POouz9xUB Q?MiUC¡=/bNti;zt片#Y&[( 2dx2>]:yQCw:D ' 'B18F`~ĉYuBGXMA Y3m$slF Cٟ ރ QR,8"G=9G+CB}{{Lkr4)7@(E @O)MȚS y6(&mA0#ɑqLo4\unnTΏNt~vzSa9oC3Y XBp:j]Jm{(a>H8lgh6RQ ,'WPCJޏ(OrL,SIFyb#SG7{01xc \ =$č" x! =Mn ;r{RI 0n_dR'l4S|R^AG{U1E-+hz5TP PK[:./AuthenticAMD/AuthenticAMD0020FB1_K8_Manchester_CPUID.txtWe0 ~TFǛr|*q7ǔ2==YƤ9^ˣaԽ|'I|PWI>NM-^?)F<YR_#>,ʼJKSJ5"Y}YчCgèyɛCNe_%=,zIN2V~] NS MPJ.QV @_nVADOfLyd85SN xjv-K ~x/r˝I_76]zx\:!D(D\!#l"ѵP C]~OHUUPR[*qo<`h#pS@Ldz2Dp(\IC"cʀ8Xm" #]F\V G8g6OsDrzql6*jP߃VQT[=D j)z%6@2* Ͷ%:uVa .w:Y  H:O̞v#_,WPKO7./AuthenticAMD/AuthenticAMD0020FC2_K8_Palermo_CPUID.txtvHGku(q]ɸH6@雂\ ]Q2 /iUýýMlbw<~Gą#tol޽z@|AZs  ʓY{6t{!$n^."~T"~5?}})*S3C;b&U5(GAҙ^I$<ܻU]su6t - "po_ W| I :,PV$ͺ4ʔ:;FO r w_̴mL cs_SH1pxߤ1Ἣ c>)SP_<{=VuC?gjY}/i>Ɩ"}]pCHFxr 4"ʠ~ғl`O"W8Q(BJ!/+J(RW1$_1Ť L2JQYK3dħvEHxǨL☢ t"$qZ'c !T{9A4@(Esxș999q@0.1)rCb1<6uۙ{bp|&SGtGI0Lu[i')-37SSf0\UmLQ&4B`v}=PK- 6./AuthenticAMD/AuthenticAMD0020FF0_K8_Venice_CPUID.txtv8ǿ.rqeqh;) Y]ljfQ ӯݯY-{Ck0#>8$6;= M۷Z舏P#t^bZzqkgOWv~eJ-PD;ן7 }~"k_M Ll+_e;Ť/M ;5բuӣE]޺'h{۝; ,[>[LlmF wfyզvu"in%.ҼR/W 9nizG W GĽs8+]{ѶDNs}:rȳuaO|>dWsNJߎ<"JppcIFXqHs#HvfP0 t '+{xoaboũR$E:KAQ'I!RTTmh _ l:$M)pw!듕PDw7zRЛbH4{z(Ch!P:p  H H Ai U1qc\S$=X/;Mk~9 C }9%iD+P©ENP$1rȹojIkSuȟ 8XfO,WWFUӣPKR!,7./AuthenticAMD/AuthenticAMD0040F33_K8_Windsor_CPUID.txt喴8CkT@p4-gW Y7Cާޤ9CUI~\\]dElap7wވ-[T2F6F*[lKl1Bu~WҝlvJAwhI-Y`xcjRcE!N*m-p7./wBol"%vv"vbٍ⹪){Zt\LBv%-;O~kDoƍzrۏ{'or_(w Uh~XWSVIJ$nFKeUjHS+h7,V^-Az4h wSQpebCw ۄ_mu%3n+WzѢY'"^><Z;]ۈu%B9p s{#:`!IC]o°F;wiHф|`h396^:pAHdrr>px D3c~9.; # ]F\_#Vd虛!CsaGEdOZMP zjA>褀g!;ѓ9 [+ΆF}}I(= } b} } $@nȻ\Љ o7݅j7)+U4VNG>t< @GD+#ҶY| %AA=  *" ߟ-wp_-WoV բLrsPKu.7./AuthenticAMD/AuthenticAMD0050FF3_K8_Orleans_CPUID.txtЅ@ P1,Ft£efai [{J$U&5I!iIi>NXZ3{! $Z>m=ndilm26Ifk"L2fh`edJ2I/22I.n3nw$IHup([$TRM( +JoH=KEDz 16cb 1b,Xcccc[PK~!8./AuthenticAMD/AuthenticAMD0060FB1_K8_Brisbane_CPUID.txtAo0޴Kѳ1 JMU5]5iځ1a#ٺ}x$]v#'?}xȪʢx4]V]xDW)llȗE ϻZؔOLQwT7pVܖ* &yPV*W[6FaPp 8"0yԇ*?$4*mnN6 Oǣ2SyyI޾s<<$փ$>q:ܱ9%Sa1s݃ :@Pc?;)OPr5P?(1DZKg%{lʼn8C"bn1QAa K#Sc Od{1C}ͣ| ;'UE߮Trk )͞{B}!J(ECxDqD@ld !3rzr988`+yՍ~ SN}v=urrU?TB :OPK)R4./AuthenticAMD/AuthenticAMD0070FF1_K8_Lima_CPUID.txtrtBG '` $oKMmn+E !x' <7uB "MH l0{9} F.#"{㑜ˈO0bovIv,*~!~NDpLyE<5tˠA[EfegP ɠAAA~ PK+wlP;:./AuthenticAMD/AuthenticAMD0100F21_K10_Barcelona_CPUID.txt\Ֆ s"zw9lrWHy;_Ș3 \(.Ig:h tFl [>̶ 9Yw$,-/gn3&\ygU p !8=Sxm&1ˁ~ Q\_=Q͍e1 F;W.TBS5ŵr]Y&W-8=}sƻ_,53b`uӤ8܁St@ІM"!ϫ0'[`(KɅ"\ج.FhQ0jg3:?;aLIb*Hf w$?˅Yhz#5Cfٍ?Riva?F&yfLf/a~x}00t[n9LH+}>ohXsCdґ~!ܜ5OSxlBz FI Y(ԛMv^W\B5cLE& l#ȯ; p=Dp9 )tzW~9}7!&U>*h$d*+(*WyO& <5!`?rGR&! IHB3)l$$! IH•pIHB$$NJIHB$l$%<$$! IHBIx^$$! $|I  IHB(g2l=I8ksCPqh*1xjjh cb^r[Qja)pj-xw)̪ ܂ԢDnK Ԝb^.PKEn#!6./AuthenticAMD/AuthenticAMD0100F22_K10_Agena_CPUID.txtYeF&AZ-aTfʉ"G>MYEH.{ ps}Eg r|p|pZ2LWgh/s:C@€H:DGeѥ+Pa @WZuqO@df}mPh}eK^,OFT넡a$\e9;M"/lGTUoĴREgc|-rUzS[m4|6bރ oom"k"7->$̖aT-KUUTG~+A*3ELRO7 "Q+z7/v^I^"ol,8 f` $*#eFL`i[`ιljdX-.})vHd=-6:R!&Nh u!IV [SYAcBحL庮9$!,$lPc}!vH^٭zA `PmKz'cNClMI`Wې,vbܒۨMӥۅu!]HA.$҅DXB]H B#'ivbw!vuBW:!9aN;aҿ ? {'읰w {'읐NN;aN;a9:WxQr?\7ɣGy#D%X[w4Y&U\$*G<=>ЍL{)q߯!C dd &D؛U|Q dbn#I61My:ab%Cix 5tu;ľb5By~69'@Q:{ "ץʢg=Ą5\h4|f*-Tǀ\,7PK9f7 5./AuthenticAMD/AuthenticAMD0100F23_K10_Kuma_CPUID.txtrtQ0+t0 =,H+?:qGheܴ Q& Řl3JuqZ;b D 4{{#bB2@aBAA 4 ޑxzs; MzTkn u,uvТ{1#@0_ZKӮ뵱^"AGfTL&@zFX&|Mg~OizfЖA bdgdfePɠAA-)Dh_5*WkTVkh6ZVkPKE >=:./AuthenticAMD/AuthenticAMD0100F2A_K10_Barcelona_CPUID.txto0?q٤<ێV␶@P또&Qm4)i 'i6rzp==|;5"J\t;Yz ʿ; Ah$}udSF6ݞRvs2 nFi7\g^2h:q{Z! pZQkd$ MY>Mï:G*/T+4yբzdg0/Z[(XL>!6~xvS,+GI,o0_f:3x^'y^KLE7C9gȜU4+19wߣ}SlfAr\F{Nl e[w<>]q a܃8 Y/•\:`K.|4Ld|8L}L;TC&ZOabmL7`{& TF*}5fAu "`I⌎q1p(p01cRFHXr ߸@X2&Q(FH7Q RNO)JUcu4bRcN 7~V&8M^m"{QȆifҨi1&mL16&16&1HOWObO1z$$FBKBKBKBKBKBKBzHc#%%%%%%!;$ ٱВВВВВВHhIhIhIhIhIhIαВВВВВВPHhIhIhIhIhIhI(IBy$$$$$$$L/ЅHGq~E'lħ#ѝhoihG:39nSM'&qYPIF% -Rv#)-q]d["H-;v%q .- A&X}ޑ:)PH)TֻRYK_K]t-Fk)GΞTQ#" H#WJ˯uv[IU-uD/2 VR: HNjhv~PK ]KGy?9./AuthenticAMD/AuthenticAMD0100F42_K10_Shanghai_CPUID.txtW8]p7* dot@;́O_8uaKTYu kA}O L2ƣ)Qܩ굃d| 8 x5T* Znjޏ?ε-` `j]iޥ{p ߍ]콓뉁ŕp>ORGv D> !~Tӎp ] ¨>| sNا:85I4(EGewiMؤܕ;v R;{{˷v8<E;o]v<짳$Ђ,Q%{"a:ctGEZaGZAf?PNA&绁|tjX&+)\cq|8;|a'q(,G J=A%' HoD#(P!F$WzNH.LɛIA<"ukh4/5 t/ P5L:S{ d=dȚғ\w-`h[p}9;=U5G)`H"C*b$m&!lPքȱi>\k&U85-pw4Kxb=NN*^SPŤ+(V1*&VīDW$*&UlF^H$Ǚ|}1&]\ӝ/t+^&>VᓿL|ççççççx[OOOOOOOe |:|:|:|:|:|:|ʗOtttttt_&>7Gpd.ij7xaƛMqwcjw$LxUF5:XH9V,AWH $bCTouƐPZEVIZJ ED$&HJxVAo6AcEڮ#T[RڑsȖJ)obS܏DZc'P-GW$JX>ƣщwfFk' +81ÉIBw@xͦPKV<9./AuthenticAMD/AuthenticAMD0100F42_K10_Callisto_CPUID.txtrtQ0+@{u1 ^F?cӬtD/x=Vc2ؕWb L4Љk[b@Ä4,h j=rvl"NB[6;Ӷ&W.@=IE<jU/=WD{m`dmv= }چrDj;RV~v#QLhɜAk2(AAAAA%1δ2;GYZE;z9W|_$U0aBI3?i#y?0} ޥI;~vbۛYFa\,>0\a|^#dĺGqEP?T{CN,O5I!NU+V1J<ԏ3?ȋTeAaP+2XQ>[l>[lgk}gk8Pa4{4KKxw'I#^zmp5-fy8*zхp5R-r2)#@FPk:U K ,1 p\+ CYǀQ1 |߭arDҞkXT֩3P߈mr⪆J977D^][$TtĪۼ3}I@TR8x TWG*ϋTeau;PKuv^.:./AuthenticAMD/AuthenticAMD0100F42_K10_DenebTWKR_CPUID.txtrtQ0+ 9F ArZrOH#Ѐ=.ۅUŘl3v%1&ĵ'$ =ʣq1s{/"J3w8֓Ѵ,Nsaϔ>w;[ŋK^B{{iudJI^dӣ_eČʼo[A^fCbs#PLbF5gy5+O ZғvxFEE6z,I_uzY{堵C]`qy?T,8 :k,zH`N0-M1]_/+zfzRv/^K8dUE`5\:MmdsE*"+Ba>EXBfD-BRQKz !n!M f(@uKXQccXҁUQ&зjlPCyBq@Kq~MCuAڄb7D8\Y;,$@ĩ(Trp2٨ota~=5%1t0@f81E殙lPltnPK\b Ŵ 7./AuthenticAMD/AuthenticAMD0100F62_K10_Sargas_CPUID.txt0 ;Bc̗s1W_t~Vt.%i63T^yNzia35đ Nɵ@>McޓŶ q*{Q1(2`H"C*6d+c"~TbC+Y-.!|KˎɩchhD[W_ @a(Q::u dՁ:ӄy)1 r+y F'qžV5>#󇾞zVcvu^ eZiNQ<fO\NۯZa>2m>хp5R,QA,%ʫ.AZDtSl̰XuecِpuI؅ㆄ[Ke!ᾊӆXhidZSKiR"VUj-5ht8~,eGT x=lCBq"0"⋋L6'2Jϙ'6pr ahE(94rF0̲PKl{ 6./AuthenticAMD/AuthenticAMD0100F63_K10_Regor_CPUID.txt0PhiB\fff?Zh{c[חPCfas}3Rϔ> Nɪj_ɋUPxgt~|w/:4A@@RsgENI;ܸh|xn+l& q>Eݭ&vNO%>%dԗdLj[ EPCdbppLۏ_>9(#vHfX; E y1Ιl8\ū?:Ӗ{Nڤ$H`'a`\0&*ʀP~SPr*N(dM6:3j^YשS"^/"*P"(."Q ET,$Ȥ̽d^Eikjh@rm rm PK{\9./AuthenticAMD/AuthenticAMD0100F80_K10_Istanbul_CPUID.txt k@Ör$ug/ie(`[^!NCK(D|T[:bŖ&0Ԍ ގ-q5y?Kl+!%9( ̓`eQLq=ۄ1,Df~:dċQ%1IQPG׫#2W[dL7(Y6N,;;IQ:J,իKZ Fv>y8+Vpldw H7&_I*=c9X9ʹ ,yL-NoQh4[U_u+]%R9:+*&04dQS1ЧI1I L XAGJBi7XBApՎu#}'4 p(Mei㻒k 3 W8l9d-(`BtzL0EJLE3AQS? 3}r*&]Vfm&v/US1ut1uL:&SĠ1:&Q$TS1:&M B{Sv/]yϋfzldϽ'D|">.{O'D|]S >O'ħD|>O'vO |">O'%>5s/D|">Ow{O'D|]ⳃ |">O'%>Ͻ'D|">쒟=~D~"?l+?O'9^ {ϫ8Ewrp6At&\x^aokkp6n[l6F1崙PHz9VZ+)g@@KTyƲ!~Qq.q#Hؐg9y,HLiAE [4 *[hAJRԽT>vn)*8/K`R-\-Rn6Ix,&!a$ɀòg6> LFNF[")2q$vQGYZfF3txFz3&3ی]ɗn{ &Xs͜MaBZABbq&^"3iMyg֭Ò$|BY|6(h Ϯ],'de*2t `aF~dA8 Qp9 ʼn:*ޝi~MȐZ+~+h$d*+WPT{J9gh|O q~Dx}@D/#ſ&TCTdK@N<x#xSx#G<-fx#[-#G<Չ[G<xīowx#W'$G<N3 E<x#^x F<ĺ0,X#&TF'}1! ͠4 ^x}_ӓ[I#vyMGzd5;R+VA[5n\Vm3H/B^3C(د=9H YֻL_& N[tdP$#8JIi jOG }<4-컝;'J/ dU@ ,daBq YB,,d! Y-d! YBB,d! Kx%$! IHB+n! YBwB,d! ,d! YBq YB,,d! Yo,d! YBo,d! YBo,d! YBo,d! YBo,d! YBo,d! YB,d! YB,d! YB,d! YB,d! YB,d! YBN#e! YBPK(]47./AuthenticAMD/AuthenticAMD0100FA0_K10_Thuban_CPUID.txtMoFH&bz_R`l@+Ew:@c05__s1&c)~93V 2]ϓO:Wqbw\2+K)s/ӗh6euvE:J*O._z鏕܆^J0e@P-PFw5xp]_j:.qf/InNMfyLVk~r(+0b0L~ [`_na2ˁ#+G+K 0 06L&7ͣ|H>}PMqk]7N@~H\t>Hή:*~.!g& "M$( s8Zm[*7ȏXMTπ.<ȫ n'| ӱ"6)c 8hU #hM4 Ꞛݳ#U%fV]uZ(48́ܡHsPT)t &2BHQp&|f= ?gv ` 5hpDWc,ş`"~#XA,C_ *߽:18m*ymAo- m m m 2@Vn9.TDrԫ*+w .u]3J&)|VVVVVVU2HC̴?EJfdy/R2%SdddddϫdqŇ(k%k%k%k%k%k%*%RCxC㦚OZ09NsU+OD=HPDm}ѮGDmp_͐#&9 Ã}ޏpl_WBx"fWAV쳦R<˻x5f=4,if*+2>E\`ģEH%gp<(v!"|!HY=B3odRHg#|/-Lb%0ۤ2O x2^7PKfU8./AuthenticAMD/AuthenticAMD0200F30_K11_Griffin_CPUID.txtrtBo0@ ݃7 ٲl/i/b6H 'x g:"% šH[횟7E#U0ճiKqQՃ1<=(zP AAŃ5BPKxx&6./AuthenticAMD/AuthenticAMD0300F10_K12_Llano_CPUID.txtLՒ0{n@J„pȺN~^၊(,BnW{gF[z* nپuvV@jd4=3d:F䂂~n>] 8?uuQ/tWS.3tܞP Jap+i̛;_(;i7Y$Elˬ[* ^gϟA.6@͡Î8Y-cAE6XNLb.pF2ꭃ~ :u9ۀ# ~`GU*"rȂ*`d[^54X/dìUXa,+3m36NH}8a<+'Q Ns #xidE hWK~*O!eZ)W(\KcD nBaݺs#H?ԣx q d +FNG 8WܞgĞkfڳkZ W%1(AM-ĉ57j+e^6 K341pON U*Ɛ{uF/6@ N@׌ !C-Ssi mi nmsv9>:@.Bȁ0s Hr '%$'^sk Vb$Hƿ%э%K$H.\"VE2-n$H.\"Drɼ*od~"Dr%K$H\:ΫhS9؃iez0´ sYpD7o7&òߒz׿_åo G Z?hwljۗnv|{÷4gpǂN3TW @_bX( @DtN$/9Ċ/@B'OKd0J* 2 ~̀҉PM$Q,G$H@qG2:@Ahee8R,[bQS&Qz);b(ԓ$J=6(LX3&mXlGM)5$bj%lj } ٬/a_u7W/Ud W}^!|7Ck/<f)Sg5~PK|"~7./AuthenticAMD/AuthenticAMD0500F01_K14_Bobcat_CPUID.txtrtQ0+@{ub! Ct?0IӴ]>?i(b>t jx-YTuUD֊f넸 8*@@q/ t=L(EFP> &@uDOF>iS$&_ ɚ4S˖m#AcmyylNF"#rw~ *X@"tŦ뱷 %囟"A |BKd;"AAA)4rY"AˁoQgZSO> )Ч@PK镖1L8./AuthenticAMD/AuthenticAMD0500F10_K14_Bobcat2_CPUID.txtrtQJM,.I-*V ((jZrA 6 @=`Y?8M*K, onj1mc2ؕ|O  ! xƚkfAr5>Ɖ T&ZHެWPYX(БIzeR͔< hT7f_5y&b?)+@doNn쇰+M\ )~囟tx\z7 rdAk髃zvP6FyZ:A2oɾ^MѠ4Zh59ZMVh59ZMPK-5L8./AuthenticAMD/AuthenticAMD0500F10_K14_Bobcat3_CPUID.txtrtQJM,.I-*V ((jZrA]j@  F?TK! (ذ ʌvLNz3&3ی]ɗn~6!QA}`!9!@ ih?w(Fzח 4%>m$b'LښfvU'o]uezٯ"y&b?)$@s}>r`?]=_2!w]*A\Ƅ9齂 VPZy Z*RA25)Pjɳ&Ϛ,C UūxYi>Cv3Ě<E `]/'W!,M D减;nB׻!*M_WQAQ@ j+*hTWЬWmoN=j҈դP&Gjr&GjPKe7./AuthenticAMD/AuthenticAMD0500F10_K14_Bobcat_CPUID.txtnFǿ ;Lz3ʥRUȫ^zm3JX<}\jnaZoN|':,7N,A% 8 uv;C=.Ə>ОcL8KM:1<Ә^-4>0S | <"_]"a Ifa:%a~6Op]#{+:b,O(7:JÑ&/ЯZ<>aΊ0ʋTfE~gySǓpmHgjX嗼9ASfU.Q˄D008@|,.kĄdL} *2P1y<Ϡ%e>PGЃn ؏I> 7 1e> +w&AmB u\RFafAZ*fZi-:!{NIJ =3-DS b2@0hy &?щ k˄#Ngz> # I[tdP$#8$4,J jܧ NnO>EG X @W'4l9`/g9G}CU qug#]lkN U!}^^u/^u^u^u^uu^k::::{>xݲPK%K/M:./AuthenticAMD/AuthenticAMD0600F12_K15_Zambezi6C_CPUID.txtLR0f܀ Wr.9L;\}._bSG)0W:C,:+-]h(;G:xN)U}꘦=m/Hpucw.XP=wkAGhnM/#|gZ;REI[L& V'nyqgLQh]^-[˾W Ӯ:#>+aķ ۲FI\X'S3VIԝz\iSuOtzB_C #GF"Y)A'?W%E4֝A;w1 P*bf:BsDv5{Q՟wWM4]w/ѹrzdN.ϺƏmict,l4u\ݟyd8w=:;n^Qn(ojM^&hۗmA[4FA#h=mA#hח]A4FA#hݟ-/AKA FA#h4ADZ"h4FA#vzn%FA74FA#hn I z6Kv':^<\+A.^6ؖ.ؕǒ0XZWrq@~,kQyorbcۡx0ܧ|/KN״rlDlam8"AR0on?Nj? `n5^(r qbB|R`DW`@9bX8D\!rDZ< }Q,aρ^pJ=aPԦ}WvTWMw̩׶Pln*sD\J6MEFRR̺"br*Cp̫Fʴ5UfPdέePM4RVE[ۥPe1WdFy)R "܁7g\ .?eZ΋lӳ@x1n!ZcbOoƗ,m-uk}h>/Xܢ?.%Qb4\gDz)tHĝPKО u:./AuthenticAMD/AuthenticAMD0600F12_K15_Zambezi8C_CPUID.txtTW6~gpJƸshaIoP # 6"vyPN/eQOp0dy,7=#ׁEq^'(\`ʋ8~62!8h`l]\g8FTUW`069S\Db9b._Eaҷ@sױB}Qj˜6Pn[F!,SŲY)9DtZ>86@߼mз/Z(-/Zp1/enLr5jbO'QnJsL\5wGb(vqhYz5A亷jZF>.Ɖ9PV,UgeYyD3`8 /,獛|/Bj[#UUJ#毢)i#=-9?swҤ&IftBU_ဲ 񫅺o9@Le0:"*Ҵ|= nsRgLnK&wk67Jܱ `"GkvqIs2}X0l|G0 tp׋uG#K֬:W@'Q9U <K_'%.}1|fD*?l3T3_3hʠ_4gв^QcA pֿ^o}G{[o1;';-bg=ޭ6}/%"Hbn-A[DGBT(tT\˷/L6R SYAP2skRjU11 p<}VA;AA @}Vbm`;GYCސBw oML/2~Gld6d5"$d4fPɠAA[8}7} @~DŽ h[ن~Ec>Ŧ}\ g.x9`?@0tےr݀5jLmGmgӷݝN |*>{7y1h΢ 1/oUWZq{=œ~EۏuUW9퇃]jgNmM_jRN-ojiWOښ#u22'$xO <'CITzvƛp(G 0d 7#ä NwMa*3߄N5Rz!aԯH ~o#q="+"2*GW.S<~+D˰(҂z((L@QE(Rbw$뉃ZM0]9w9w-,%llF䪍%2O)m,2$0NƓ6ZFZ2T'7!V2ֲf*sTe@+mPeז9-Ne*Kq+T,kײ0Q͐XKꝕQQTGrcј0Ci3̇O>>-ﹷ>>E0 |~#g|~Gcvw9E#37O>%[10B)ЪJ)lLYT !=> @K{H.:-G@ڳ/Ҽ//y_\s+ɗ4EbKhK^WKK-%e-,B7Y<.l1.L2̎l^ޯĵ-ܺsaM~7k0PKbF y7./AuthenticAMD/AuthenticAMD0600F12_Interlagos_CPUID.txtL@0.?̹!mi. E}7EVʸϔ>#ea0%\1OI|AAnުFll!'\7fW6XF2Ǻ-C]`xc)x?Y/Su8RQBj%,gr G;=&/"~ʴ2"Ki|3ؤ9k65Ɇc3Y=&ӝ$6ȵج$(EYPKW4+[wKu,Aw9][1CG\Hw%!gHBd֋brgH,_+paK" (Hٮ Kn*M| ('0Dᓴ׭qㆁ0rIė8dTF>+~`_L!E1l-,_0eH"c}tICd*@CI-ZЂZԂbaLj/`R*͉M2atwu[T +OG0'Ia 2[AA =(xԨ' BN?t *-wsĀ db`9LBҊBZPB=ܖyOWhl4--q -ZP߂B -(>9~l'T}?STWXB忆0#7x`#Sn'+7O0De |v6Gg><x߭C}:t:<`=32O_NǟW.9|<[H@TRݰ?iLڤ) ?n!AA7&h&h&h&脠 {HнD=!h&h&h&h&hm z z-JMMMM A%&-$DA4A4A4A4A' 8&=$D;A4A4A4A4A'AMMMM14A!A%> :!D}}"h&h&h&h&脠mD# CK}4A4A4A4AtB7A-!BfhfhfhfhN13TC[ 0k c%~14C34C34C34C3tЯA烡zz-1~3tC:aϠS  Cǟ ݆ B?} !4B#4B#4B#4B#tЭ}K:A>ܦB ZBhK[ 7FhFhFhFhNzy*zGhFhFhFhFB#t(! BCTB#"YB>k[W /FhFhFhFhNr~AhCK}#4B#4B#4B#4B#tw -%~04C34C34C34C3tЏA} C?k Wн/fhfhfhfhN5|L54C1C%~34C34C34C34C3tC3  Cϩf3^b/C34C34C34C34C' eh~Gg]WCAne;EAf̅8s3тgϟϿ=}qsIi;a$O;ŮqC(.pS<)/)]n;`5AqhԸťqn[qpR/Eqh7)qAqi'ŭq^xj\W\FҸ;[8vxN](78%N<(.dhsV(rI23sC(J6ʸ^Lvy~)=Y[JgnNֿmR`zp>֫CȡxkmܟK;@: ɽX]n޸J`.k0V :\ϑaXaQHxeFďgdq1Dilz)7ׇPhV^Gj Ou; l6f< Q ر醍-lS۬ .lP6l R2d@(}&Y3k,e>ːd7B2˜J2̙r!SZ>,d͜i)dK2ezLS7sf{`ia76ɪ7[3o*{ATl[P:5ɈRՙq2ƷI{b㭲rb~P A –>êԾMlliÔHsN; ΐ/#()M6LĔc%Xns˜QjLRҢ`Yt`m]fBj%ج;qWˡ&{6 kގw:9.٨ѸIggYr+KL2؇( ݸ2!bj1*D zT|'u@bЌޟ X33XgL]!ej_aEB_`|}VpGD $(0GTVasoC b9\a [,]ۮ㾿i7fۘA@)B#'7<<٘l7v%_|=8 Vk萎 WtWQ|z1gm#ho%j#~+S_oCր/뚙$FXAݙIaN; :Nvii6^|!]=LVgѢ$l:cLC&BA @ȭh 0 vF$}PTn<#.5|Fb鴍}]FP $#HGy*#(F<% j_ ?% PK+l';./AuthenticAMD/AuthenticAMD0610F01_K15_Piledriver_CPUID.txtrU600PpLKM,ζR00@ \@U. 0+t#'Ca0Y[z.( 3=^aMD*$wj:XfB( *ğkaV5+vAYyK"d*إj0[jmZRy 9(}ljW^ɞKk~l[UW)nJ) :Ju òbA%*ZsVG)$`0HxYTUrQPBQJh T7J:<ço*%RGլ֮GK-l(EKiKYKyK--uU 飼/v]}U@WnP? ԬZ}՗B~ۭC#a3Xo.llvlvlvlvl7]]6llvlvlvlvl7]>EkjlwlWlvlvlvlvl7]uPKd|~B9./AuthenticAMD/AuthenticAMD0610F31_K15_Richland_CPUID.txtTז0}ްV¦ջRҋVb,,6l#JPxɔ$/TҙA[uLy˜ j4 5h1EZ, Օ٨ְe9>xœP|Kw=H0V|F*"Vz!g ||O5YFy295傆m!^\j86} K ?+ܘtQL1U!gW _'+%I"P}rײ^-eUuJyKw󦜷nMuYqK/;{7wy$h@-$E*b t tXWq- H38ew<{*=D:RdV3-`'|&\^9%µ_ft 63Iem|f=qoEu|54A^pO.u;rTưAF 19T$cDΌX6eݵ#>Oz+kk;Z7}踃>!nڕ&n{Wq~)J18u->z}()KRA$N;DtmJpBK.e4`-++`\c, nPyo{+>G`m7:{iCVJ+oWb56|̫/sl Y d4܄5o @~~nW -9 gf,akӥdU8M9d ҸdbV81aD`X@ꩳZa$)bTI!Iw1e&LM&sB%j2&ۺ}-B}V^^C}P߇>}C}ղ ͡^o>}C}P߇>^o}\P}x$nt5}S՞oS]Uv]5u6v-qk`_45Zhv٬c?T { ^v_ ¨u\RLp@Ubk@JyM£3 % мZ5M$JڬJXYVJI#8N$$kvI*z!HQMR CrYZdjeGV &QnpC\(1O? X癸vA (vkMHizE)Fu)ici z*i:[ 8:-/inyh;ylԖ0Kf,1Ӷ)!a>] fS%W&@a6%a#_4eJDI/F%Ly`+a¸Q9j#5ޏ'rUݮ"Ʀj !${H(?r+Dz3޼8{\OϫoTx^˄ӞrUyj~ C!F! 2Xا)" ΅l@dJEB_P ,+~L!q TqwsU\ւklրYqm-y.τ3v9Cx) aYjŒފWq-nܴӸe; 5Pt}X un )ܾv}wqMPKP洕B7./AuthenticAMD/AuthenticAMD0630F01_K15_Kaveri_CPUID.txtTg8xڤolђ]n)׋I .(1~%KHq)+QR%~:t;άPۂ!q9[ Q%qPh Eө!6972OKBeRRm42rϵG= |a.gx;>k-5Ul|Ϩo #UDR;`~q2=zV8j (&wcly&"S5AV,K٧h۔ G"ة bJEJݯ_ %yE m.>i$nwKDIZG6b1F A:lM#(<|< Q8>y'y5OFX'Ѡ&`ud-Xs:90W,->}rUdwFMܴ.3߾9q *fP84.zQ^wX\\ٝQe{{[W:+9e}9pwe(/ӡlWeܿ4R,e3Q6)MR3I=^GR>J}(Q R$wH=>J}(QGR>J=I=6wPz1ԋ!⿗(QGR>J}(bGֻBW2ļgoF{6e:؜·tޜ.t1lpy=.Vݑi;utO_`hSݧOr%U[h{JR8iȓ~GѴ3 `'Vp B@CZ&.O2ipX#;KrHtI Ar28 `͑:f fؼY?5=DO1SC0, C$$bUA#q Eͧ۽/CDHHUŞCr`+=W,F(ҸNFÐuk&4W%MF!i(i2GE43aECWAn, >P a3 %"aد׌Se9XA}`T}p%,&U0HTjB `gT Bpel|n$ h-+ߔ$ %[2)+ CHʥ&yW~{kgs-vhC ̄m {"׌kv4Q+.cA0`O{O(QtR%s֣ŵqOPH:A:zr.INp̹Ԋ' Y5[;83/q0sa.H'v";rҎ& wsPTc]p( Ssj"ƶ$n1xFm$}PKװp=F:./AuthenticAMD/AuthenticAMD0630F01_K15_BaldEagle_CPUID.txt8QjϤeR jUdhw=*3 vt׏^f]9jjeojW{I`. fVRH"Upc% 8ҭT\g$nA5" %qo\GeII|h? *DQG$1K'N $9 }rut\0DP"X6QLKTdThbizl@= ]j,oFؙ-܈hzB>lIhhbB##tQL3S-ꆆ)m69ivBcZ 0^s{&0,w„FQ &0YX`1D '0,brSwS͟Ê)Lr@J LM`NLt Sbj91$g6 GpmZ~X/DžE WE:nCAp(XIMsEeUt)ϔK.'oLRRQB^sX$R'ѥRJ]*uԥo)u)b.ENsez]*uԥRJ]*uPK:@&R:./AuthenticAMD/AuthenticAMD0630F01_K15_Berlin_00_CPUID.txtlSgw&seK&Q]"F:*{Ϥ_adE^ŸM$R$=X |`axΘ7#gtAvBʾ;Cg2;v<ߊeKTR+d!yA;E;p4/GW)Sm^BP3%K0vln``D/FB2H @鏽! {yx|y\~heK+d2y%UB,6Spx >W(xy^*3i3UC&#B6=g4gOv= ln+y6=9м$ޕڳ\T2 _9irC}CQ)&%ѩUeo)~C'w;DiMF?e:g| I`sU6*Fw\/IbˠL;XC$Y "*j|ʑ5qOLv'19)HtY S g 2X(NOF{^LGW.ݡ'5 rs=~3`F?ؼatys&9e5'.Ҟ俞Km{!4b]WⴝaN.~k I./~;JxJ3' 4ҢoL/l{+qAqv_;g EῢED.Tf2348dSI{v8V(RBTVhqbOe \u@r_9&h$ZLD HS"pJd7EՆĉ߾uQts#9nT 8Sw@`@Bࡀ$"xR_ Fؿx]K7 M$ S^8w>yY6 3^14:q">*V6P ߩQ,(~z\B^d0H x@pN`F|,"ǙQKoIt8]DD`e;HvٓL䒈S ֪m787αfMR3gv# 9"=Gd# Ar;VĻtO~rLZdL4.ܙ|9NavvK-avK-acvqav K%얰[n %얰[n %Ko>NavvK-avK-acvuA}6@#≯búIr]rZr.MQ~YN{3zzt\4DPJȉ ]RK%V! !0vaAa:@|NhzihV 7Ѐ4$Z 4Q5U `Is h4ف6Z:pIE5Mk1 0 ց6aE 6,M ǰj ; fV9,za`T` +0x kaw̩8F0 Wq'`T Êb %7?OT`[Q  @RN"xIV.XWoK*.U\Tq):V.Ⱥ}RY*VTqRťKcRtmRYIqo*.U\TqR?_9z KL c[aåW\ Fwwk.ŋᙒB@B(pWߋ(XV\Qw4 .xx`=aw߇,轂[#$p:nV3Ő@XnYEj_v׺GYۜ{MG^ɾ2$PKr V79./AuthenticAMD/AuthenticAMD0630F81_K15_Godavari_CPUID.txtKo@F 3vnEU \Lk "Iy}z6Y#&XK=߬-Ogc'Ww_?>:>oc8˯ @x_|W׀cx/zgx?*ei$&L%itdj~Yͯ堵C ,1DhFVp02vM1E C UBYkD}B! !P2J+Qr ]e/L}+`*Kyog[ $M}lwM'n~2ƳT'V7bTu@afZjR#\?-3k8ϯi8DřQu37pn!$_ݷ=r kJ+#?3'Rɑ!r2VdTF!$fY!J$L#1h'-%ZmضɐN(M@pDC >C 9RC =2C ;rᬚ}vy,;ϓEIld-(-;qr :η]X0R0f y&З__P9w*$\d?_/W|5^<-ه_N7_,Wwy^ûyq]éIwFx:(CDx"|!‡"|!‡"|t@CDxEC>DC>Dy/!""|!‡"|!‡"|bw>^l΅c^%:w<`7˗0` S?k0 ~X`]FN/4_kIW_ۻFN_n}{[BEb{~[̋;E#+%H'=1rCfax) h:Qc+{ 6UuC/sb>*iS?@w5m"ð}8 .<ju) 9֐5fi7HOo.8 8τ=gZ066cDw^hg,PrQH`YΚdIaMgcnj>k׊Hs2KCLmpL 'Q)[ܖ`l"$Ő.%#4Y Mr{S㔽pu!"icNlAP){s~[ǸXHբo:ugKstG~lЏAWqGt6nӅٿutcj鄩%Fp>TqI|$א}rV8z@  C#h+/݉(^;(b%Y)3za  TΣ`#.u}@҃AihXPI3T˫{zEA{v C[b%v3bS,3z_qMjk|~II=W6w'CMIDZH2%(Z)[$1\9@v-ITL%#rS8},TNŨhNEljV.ןS殭+ Pʀ f 0TNj bh{Ն:|"{R7Z>h$tDA@J#DP}r\_ Iwg*Vv`W爍E>bbS>cp2CQycw}/v6}fT_/|b.DDJj JA}]Rp>׻Ew|#뽶]=jHЇ{Nam651e5{kS³#wAxAxAxv@x^8"‹FxAxAx^\ 9# gAxAx1Av :M+ " pQ IVu%"a]-\m$QH3W}D[YQKDD$"GSm(L N Fе(#6P"‹-rz9bt M |nQ[u5%AUS7qGhvԼ4 BxtnFRsfN@'9IK͏k1ivm2Ѵ¨Ӫ4=i4/>zr_ş?0. g3O>?8ڑagRΨ/<Ǐfx|06Rnҿ16K5V,җs5>]:u:}B v.k\ /M͵+k PK'X]6=./AuthenticAMD/AuthenticAMD0660F51_K15_BristolRidge_CPUID.txtTR՚0p֍C Hu]Ѵ0 ?fN?`Ny_9霄<[qle`r}_=뫧CEX4V]`}46*]faj)&J3N{`R@Gw Џ!A㘑Y cXQD,3lU&YtGE@yŸUZ^F`BE#zJ}t ]d6G9Os{m_P<͡W wsGrI"QrMXTd铄6ac츁3؁Φnu ǘ޳Ϥ udؕU_Nl/YD!T V<< ~O%4)'U}[4.XY^#-K0AC{8NG"ruيE$nz{q&$#+$ng\>kN sͪqǒl\fff&!7Yڽ0 __U4*JTа4U2Z\+r U h]^u=1|11^I~$Ѫ/YEIr$t$L```iD~ӏisn9T$4HߢS^4./R\1+ @,;q)(SۺVPdW0Hp ঘ|"_/͌- տöL'&יxrxwZ2)̃0/.|Ib\b&%&\b%&^bRKLz,1%&awﴚ'[׻ۖ ۩n6ywʓOI\'cy2ɘ'cy2ɘ'cĿ-ONyV|u?;{ NSnZ>U4xӑ7_?xA󸯂7o7^y/?kCpG]UJHHƒe*+ۉ3)QHܚ&WY4 @P$Hv.[%4´UNV^.P\[a:@Hhk#%KC6%﯈K(A%@d&@ W^Ѱ{Z`fkiĉ0kcƯ 4vV44 4avES=RӉ af]3pQ0M,5'Lnr+g= tu>n02@*)ww]_~gs^WSxy,\ Z=[ ̾w_^>nnE{xɡ`G&h-ئ6Q `q r آB>#B<In8IjOZ/OIZPФYaf2JL}?QүB+pI RUi#=e9ƿ )q|'Nw7o˥8s^}裮1?MXD /KH8ke.A?~@ hIUQCI,DzB*SA¢ُRId$@' ld%vFw J$($uΙlޮqAqeIF+(Z$Y!JP+bxD2RW$(|&@4ˁfA4i @рF)-4ZbH]'Ґlq`CaYANl "LVIneT `:j{"9kL(VDq]'}rF`Ȗ00wia*sX"a*$ ~? HK?OlX5œHh; a:_PKm8^77./AuthenticAMD/AuthenticAMD0700F01_K16_Kabini_CPUID.txtTRŒ@$[7lTַtBGfݬO̘p ;Ӕ/]t_ CՕN !FՀ-_̱lpѪIiW;$UQFLq2n1@0KSҪ !H1yRϐ+;N{;< vT\_ƮeW&k% yYժ"/n@%L^jUi.*5RLpNx 9mdT@11N+0%B2P܊/ݳӍ@-O\%s nt\Գ F'g%HvⰛة-kLPf0uL&>IkOM}w"e'=}Ƅ=dIV\ȐȉOgkzpܢt_Bjm隥'2gt "cFw|Y(Fr#Nq«xljA=[/t}.Ikђ@URȭh^sCŠk"*VDWfJm6s_#ΐ"8 o2+&-rTxE|ا͒9͇0ú`Cl V$=ބ;PmyFBztQtr ;'3ֈ;w0/-4G2-G5Y"@8I"P@%"O=tPOt11S}_-(b\;nI'MgF5`J-iRH+qoVnP}/[I岩Le&JvHQt.^&ZQ%ܻ31j}([{-(Z%}VQ^~@cvw7;˭}bn^չέz/,ΙTucO}'\Ó<<<<<<<<<4[k.4w?+&zwQGO 18ꛛUeFaAFĉ`Ƀ4"'&"ʲ&R.d/8AwB":{B)DٍT3t4dN{' D60^" ;`G ^C 3?kix>8hˋa! y0T. ]X#"8r wT.pjd4F9-l"NwM.<!&0 S4ᗿ02tIPN-~msFltЉQ0!iRH+/~?f E?o%{Uv 0a tfKEK8.)B`=5 %,Bx$% RLbXփYarA}ad&,) :z4փ"v, (!&l`S[jZ h *"@ >ttqt{w䮛oKfXyxz!G2Oή=Z{@0*CjN? P(Q~a 4s}c>򉐨} pVUeֱl{vZZNZ.ZnZ +á jXұ uI n2 *eCcˤ2|mXfu(৲eFNAIE}NXǒ[?PK:p7W68./AuthenticAMD/AuthenticAMD0700F01_K16_Kabini3_CPUID.txtrU600PpLKM,ζR00@ \@U. 0+u+7*%@! $(33^[дK~KϞpi:*E&S ̓Ϸ>|6>z#! bF~33 PʽfdLFj%.wzkdh;BFެVwmJ5R`FXڭi75|~UiVѹH࢖m<-Wݦf_0Vm0#*J2ʈ/tJ2 m9N Y\wF\<ХȥإĥԥKEJ.]un ջf . JĖ%od{01ż`WzO_V0+:Apb hwؚ000000Q9, vqqqqqqŻaa9aaaaaaaYuPK;Ҙ&7./AuthenticAMD/AuthenticAMD0700F01_K16_Temash_CPUID.txtrtQpVWI1@PU _=a;2N(b%5㬔byPҹUK}@rYyFP:#  kgܣvjdF>_0{z)1Aa}a/+dNMo [/͖T$9Qќ PTRċU+j2$l;:ޯ0rwI&>F2'u/-oyO14S2L>iy[OiA-bDGDFEPA%jM ]s'\5 UGBߡ=vMd@Nb:(:Sw+T !V b b b b ֨2[ b b b b v/% b b b b b'PK풾O_5./AuthenticAMD/AuthenticAMD0720F61_K16_Cato_CPUID.txtQk0{ֻ,~s\(t-K,$#MO7(uIlo1rs, a>GjeYՀpf_uu MjnaVGz MHPJ:^evQ,<jnj'b3k=( !Pt @97:B噐kJB,C+܀U 5bPAC}{-tHAՠ"+LÜƣN22V-qg-ֲ+#$\+WRd2s(i:Ӿrt{'CCxewLh2uz$bIx>Kt“?44 锇@E4 lDQ! T@:C %!PCP'k?MI8䡥+4Ա&z66夤@y/g)0\>$pvNݬ['l]>] e;z~m?B4ԷGt{=&=cQ0 o &Z s;t?Ӥ>ECt!:DCtѧv' '!:DCtScg g!:DCtM^\D/+^ :DCt!@t)A^]D+^ DCt!:DA\Do+ DCt!:DoA]D+!:DCt!:DW7/ѯ/_>?Y}<ZQEiqp[S@|g5y}f2$Q2;ww^J] W/߻ x^jh^i;&M\0gZ&y?N fT={ӇGV%SBxu `. eBT\ΎTC-8A:U]V!׉ 3)tnܤ%8l.tǫFb %~9hc4!׌P<0lYOp=]NetR)ފ2[BڄYW̝$IFAxGX0XB)9W`{0+<H~zٳ{P  D$^7b/t,a8WӍtgTb?]p2$JB҅%ۉU4!5anшƒ#YS#ffG[Z̪5XoNЊ"!_3OWf /S ' `⤓j6{~ AnlS|$x %fqtb< =hAsZ* /,P' snL<*5 B~6 n&fUKab Aid c%́Shy·hi y@*lr@`v96{RyTRqnarTւ"`*@rQQM& TdqlP04(`OmUWԓ&I46h4=H;BD={ ׃| =(':牯vybիC1bjjjjjaSCKjcj:b|||||1'a a1&jjjj(jiSÐJ 0u:sN>c:,@ @ @ @ @ ˦1atX֜|]S+jjjjjmjR15tb|||||}N>C{ aq؀ ؀ ؀ ؀ ؀ s.6`Cv8?????T ؀ ؀ ؀ ؀ pذb616tb~~~~~sR?c;\.\l9ƆZpM~8ܾEY aUy :@RgJ]wMV3 +X?]p@5NO°ڿ1BAe0&釐" uZ0]GaN%Ȣ;-.DaK"Kit u| 6NNࢰK% l, b% FaL%PdNK.0'tdѝ:]&N5^.^tǩcWj׹w7_>4:VgO|W.}ۦ__W—0y.\?ʟÌA\ x  8FƵ@x2*z<0 4 @Ť2=I݁g,ArڌdpjGn t4f~ōH fTy"(g ! dGQrF.F*38nZQY_XPRjPஐ! jUBf\Sjuh%2*IHy& H !5iNԑ0B[zvU kw)R&ʧPCnUBm\#z- `I|ǡTҢh+'h `41bTl9:Iꆨ'9&س5q1c6}H] yxf橠 ~Nd~ؾ}UV̨yp<Ο{+vuaUW^iydfJycEwS,UչB+~!TA`|A?t?%@cV ҆?t\]]آmh m ;.ͺeu/mHZE{ iӵP%:iE1]HIWvKqd~΄.zd&L x9YY#=*4C2_NOrQwZ6 @E[mMIj٢Qʒ'2a,XV,'POizʒ>FmXXXX^XX&,3ˊeòc9Xe,Yˆer`94*n˚5ʒ̡,3%~sy,BY9r(Kz?KYvl(Kz?mY_,y4,;~fCYPK㳵 35./AuthenticAMD/AuthenticAMD0800F11_K17_Zen3_CPUID.txtTW6}9 +Fq;18jAbۯ-T=ޙ{я[[ʚ~9 ZA2 }MIB8HVIXQ^9ɺ6(1^,$BLÁ6~qmDplZ\3"?R#HS+˦d#gL]:q G~}?ɛYL-^272vbOAsPqMzTDCeQU''m˸6ݐ'y4Eh̲9C^r%ӽnt 4T=̖72)~14{V± L &UKV9o +J@iةg׸l`͞U| {`뼛DYH K.0;xO-NBGs4-Z~An 1XǂoyW|˘T=㜖UF9J9U:&'SrヤYiL%M+]mIoXW9(Lmz=]F*n'}QOH | r? [tUdyb1_cydOL;O?dgd-| %$Q919# 56RvQP-OTp`ə%e: p8 !t@tmȦe tm1n6_nC3q I5B{ : aE%9؄a Lo'viϓ@ nχь0jf##&5P5P5P5P54S|0V\ iVM>Hx԰R515ٌpCM>B|XpQ5P5P5P5PC35\vj(w\ ip>>>>C3>PG/s6_VjvnikKz=J>$' 3_t05FOXϮa ~eB!엃ۈMbc ,bd-XnAe܂YF(GžR\n,-܂c9s$;߽XKx>Mk~IegDORԑ8Gy̘^vƲ_!;釁|y>tY<$o41%ѦU)?e6$r%;X NQP{HțPcqX+bꈭ" sHjѺ1ҹ#7XDT:o*wvIv !fgcd1{qBdȬ.`_`!"Ӗ{!:t p3Aeo\u#*bW;ϦQFxIyp%6K FmUX?u*]JTXC:"V[Q2LN.qZ (ǕS "(i 7@v\Od؎ 1%y *8"+-SېSy+$22# zp~Fxrq QCG#1o>-L!;}q?g~`,2tC2催YG&&xB y1@ `yctA臝mnG,}do#Gho}6rGӍv^4R\r QCb/ߛ5owbY"ؾQex(ZlBޘ+tU0yY4|#;1rO~7E.Ȇ8+Xxr:vR/)@EO0dKuK]ˈeZ2hTZ2g,,O,+ ˎXr.ɹdt?OK!`LXf, ' ˆm(~c2+~de3OKʸcX&,3˺d%~Ɔer`9LqӒ\-=-iJ%3OK%{yZR<ю=-Ypaٰ|XW6zZPKKg (4./AuthenticAMD/AuthenticAMD0800F12_K17_Zen_CPUID.txtz0;m;8 iyA.H.¯$ NY'=Ɨa;Jzx9—sz 'y1<]*JoU0UV+J"T2-avu9_fvHIYV3auA6sb!@)A@Y*PY]x+ Zы\J ŠF jΐ/K+Sr,g8 C=0i/dvNHaHf 1/uEJYF&}VksS,,FF[)6lVol6?A|9?..N}(؄nѧ |(T QBOJHQD(nl$Gp5ng(fpHCDs45bP3b@1bAT 1 ɡB 4'~:;t3Ȏ"Io#O+^JK؅J⠙XXދ"1/`rsL9hrK=YѼq\x| ^H;^b I_:Yz]6(Ѿ츗/QVj ?~ε'wsQ{&^_{@ _^ٳ  t:M@n{>sM>ÜK35P5P5P5P5P20R515ڌ>l!>,5S5P5P5P5P5lC K)5PSCj:{M>ÚG35P5P5P5P5P1԰R515ٌp>\!>lp5S5P5P5P5P5\C [)5PSCj:wM> o-7ptCj<|     EK GB<,S/7p7p7p7p7p2AynXJ֠2a     梀-3#fnnnnnean؃nH     b- 8b2aknnnnn؆Zn3x؛     +;#fnnnnncannH     ئ )#fnnnnnkannH     . Xb3 nk֠R , bX2 n8jR . 8bX3 n8kΠR - bazinXK2a     暀}bψankRamX  xؚG-7ptCj<{Q@ęG37p7p7p7p7p1n؃nH     , 8b2jnnnnn^ g p7@@@@@EW wF<< Zn;xx6@@@@@g,Dgl7sQLrU>gNڃns{qF(=x>g,߄G=$g\/sFD&Z>gz`3B |HD7gE=߄G=0W :'f)n=x>gz8gEԳzOpV|>gޓq-haFFꁉ.Ń9#ݜQsRLpV|>gD/g\/s҉~`2ō98#ΟrAY Tx'nm6~\0_jǹ+g/^}_@ڷ1{۽x̹ճWӧ8筧}{Ƿ} Íx룯Ͼ4]OHAP$) 6"BN@ mɥv:E"i]VJu1q2u)-H 0"B_&LbW$o1+2+ޗ^-ITH-wФsTg*=sUM#``.➊ysmeqtu,<1YRio"I.L"8h>uѭg$[=;r)sG|W x.d(0e'P4 0 .Jf] "YĀUVs& c35oEfEJ;,#M aPK 5./AuthenticAMD/AuthenticAMD0800F82_K17_ZenP_CPUID.txtdSWw(~Ow{eeNt&>n ͎$r:(~8f[*$㍄?;B Ay1͞5  (UbD06n&)rNqx}3kv?Y) CEá)|=S?yٜNj O^VRjO`6 } tXC%=/ 4(,nO;̢"ꁋbV@k-ıTm+ƃvsplcwg>|ٴnӕ&b4R"Qu[aFjj~A9[z % kE(E]4Sl4bnz 70 4LI$ls}toMN#Deu0dGzXTYL4랈{N yt[H8CA!O/(g|`QF=*+iȿA/?RNZHyD ȣR- ~~<_4&L[5㽗@mm\]mVksجK(fcׂ[4_&4׊h[y{:WT0RAI:Dh3򮞤5=+Z+ևZ+fGYXfeG>2_+'Ȟje}e%v1}Qdg{FUUo߫(#;uN7CGscsz7Ƙޠc:o1pٶj>0\8BTA_]T[]b\I2*ɯLAu7N^hZТ/l/)OW815ƫpٷ՘ rqff1킘c{^mP igw6in ,%WG:\uؠӀa' $s_q̦cM"R䧆\8HG=t^[FrRQP#ZHcd)&)& p2kʘ.Ţ q1cdwXP>ԣ+Aqb~rܿ <[js~dROJ{믚lhѯ n!{r#"+ڙ͍R[u6O0\4W U_5lG~:=;7m( ؊K]3F7ۅ2f|||||jt框a!5f|||||&a aHajKRa||||f|jt؛ሩ!5f|||||&ÚfjjjjjPZJ p!5ך|3-cflllllsalblHm[3?????íaah{36`6`6`6`6`}alXblHmG3?????ãa hg36`6`6`6`6`slblHmW3?????ë8-5Pytf@}Mޭ>}˕a5#2ojBю܎y{Ad41CsP>vcXαQs{c8qg01܎9{9qMsl>vchӜ:p1YrXsji?~yAeǃDŽs꭛XR[?.}nXJ]8n./c"cǐ\%Ħ0!D.4 {Gʱi:㷩l, JhʶmYv>@'[gO$fKšDb˒(&6H"ŘqIƎ9?% eɆ_Q9XXXNXX.XXnXz?g6%q?DŽeƲ`YlXs5ʒ~,6%~FLnvㅲYʒ6ˡ, ]6./AuthenticAMD/AuthenticAMD0800F82_K17_ZenP3_CPUID.txtz0 pQ{{gR[r7n0W^/A'Ϙ^kF&o>߹ M5ڨՀN|XۯU|6p2 `i$&,$itb.aztVo6e#":"kf #c39@|r@"RSH"  =K,,l$GJk7S1P3t"$0|ԚZZ~_^fAS_nE)rLӅʹ1 X;.ieR(δU.2>ޝۓ1 p&8Gõb J$B fw(Y#j'pFh 77;`gBE$3>(_ID-!ӻn)[>$I~dcdz+$7gPLmEb,]YLR1P0@"1t db >9[@>C> n&}ĉy6sE@ q v!LRbÔXa`½D@Oz4OAnxJyA: Fk 8n7zuN+q&}}΅t|Gf?{2E*ayO>+y_NQ=(((((bPL!P;#8#8#8#8##8b9"5&f &(b bʈ#8#8#8#8#8b0rG1G @@@@@Pl!P1wGpGpGpGpGlR=Ԙۃ(((((#%#&Rqg{PPPPPY@1n!Q3qo _~XkA$F 5^DADADADADQTD1Deģ=$@$@$@$@$@qa cHg{QQQQQų(b bϨW{HHHHH^  Z wQQőP     1naF HDfM^DADADADAD1((ΌC$@$@$@$@$?~ 8cH(((((b) n!Q[M,%A$A$A$A$A$Hb%k{R R R R R ZH1H12rbk/ .@̵$AsP9'R R R R REIKSFN%A$A$A$A$A$Hb J"5'@ @ @ @ @()bbȉ{{IIIIIZK$%IHHHHEIGKFNgz8gEԳzOpV|>gޓq5haFꁉ.Ń9#ݜQsRLpV|>gD/g\/sD0Mq#|px1Ń9#Փ9/猥{39䌫|hD 379CF޵׃d1 W*ڶmȧ./K'^|SݣWbwlEdY'VnBu?Ȫ>_j_YRf@~Gܒ:)0nqkxd'aa8xKfFaYfBіaÈ}$IAӵk36. ڇ*n0";M "{ԲG(`#z2_HD M6! 0HbyN0DTDFB2&F&0E_[lmSfY"]_hWdlԔЦ7PKg366./AuthenticAMD/AuthenticAMD0800F82_K17_ZenP2_CPUID.txt璛0?æ7Ch!9&֝ǐ^u %X.t/z (++|r)g m C ($qwMÈ|∔IO&:fݞgv+2e'VFD*6m{ nZݵ]tx!wO_AX6- 1f0;;'%'8t$~zeYk69Vgc1g>Kk %->3c$cò(iZD8ՕW} <^ݝ>l" \q"8rVDFJAqAjؿ7n^T:ɌS5MYIefI'ݐl&{h J*͑_\7OM Ɠ˞JBL ՠE-G*6qЂ6amWFxsIE%LىjӶͶ<a"q(|kDrtymDQ(xo]ƜZ3wPdtG}n8ˊfVcZel^^]X€F;Ыӈr𲮉s3:RM~*eG8<߀!iMTѦkwn]_:RjkcX*mX79I D:`I'em}L؂& QJ꺵hS| Z7kqNS,7k ~pVu0wT'L/}L7<_ hK3XNd6$bxyt+ iYGGu1A҃ (QnlSqC(|OC:SDON/;َ2F\FXGZ5߾y_m8;rփq]! rTF[b=Ҙ mH Œ-BL2"1nh*!áܭ?G,R!]p=nn@=ӴnSC6 Ԧ mh_7~!Ch?BG!,41Zk~%m4eX(((ڃ((֚Ś#8#8#8#8#8bLG[1PPPPPl5A{##&}:brG1G@@@@@qP!Pl1qwGpGpGpGpG[)GpsDjL\A@@@@WMPŞw{GpGpGpGpGp=rG<1G@@@@@PKHGLC$@$@$@$@$^G-HDjMۋ(((((EEA#$3&>!     $@bA"&EADADADADAߢ =$+&~!     $@A"&ڋ((((((ΐ(KwHHHHHĺLH,$@A"&^DADADADADQ!Q<51@$@$@$C$@$ƄZ  Z[{QQQQQVSD1(%& }JbԒIAIўHHHHHq%R)֌8K$H$H$H$H$)$Hb J"5'@ @ @ @ @()bbd^$A$A$A$A$qOI$AGP9'R R R R RSg-IDjN|ۓ)))))5I#ő ߔUK$%IHHHHEI#F3!'֥$H$H$H$H$Hb,S˔ZB$%ڞHHHHH%R1R\91K$H$H$H$H$ƔZK$q%[{R R R R R VHqHqg^$A$A$A$A$OIZ +(Ԝ8ړ)))))@;F'#' sJb% xH͉=)))))I ؗ)ƒw{IIIII=%גIAIӞHHHHH%R)֌xIIIII$Z -(Ԝx'R R R R R))FFN|K$H$H$H$H$>Sg-IDjN|ۓ)))))EIg[FNK$H$H$H$H$~SW-IDjN'R R R R R%R1R 9-%A$A$A$A$A2%LIl%$AOP9IHHHHkMR űHqdh/ Sk-IDjNlIHHHH[QR ňȉ$H$H$H$H$Hb$A[P9q'R R R R REI{WFN%A$A$A$A$AVK$q%W{R R R R R UHqHqg^$A$A$A$A$qOI$AWP9'R R R R Rz`3;uO.ꦸ~gz|gAQwFwOp(>zݓ haFFꁉ6gAꁉgEꁉ~1wƧ㌧Hhu)n=x~gzr8gE1wƧo$g<wFD &ZQ~gz`x~gz`x~gz`gC&8)3Z'DmwwqF(g{f-7_x=%L=F55կ>Ϩꄹܸޏ+nrv@WnB#r#޾UQ,u`ykmbcq)ズ⌁:Oh~ri)b*WEE]qr^*ՀH!~ ̱PL7ijMY4ji #PD; q3dÑ,IDH)Ź4ف2T=dj ef/[hiIiTbJܥPEA  9.S^ӱX=4tsⲌ*oI2Ld4"I$ŅM-Ne4^4LJ2}?PKYHmJeU iD3#?c B'H*nɸzi!C7\d0d aG6 2:cIUHtBhkFBn!7^kߴ>SB+|pw,m|&ġh".)8L+zۉp~p4 #eb$Ui ç8(A'ߺtxJ^w+!HBkb.:nq:+ʌbyt2.-x]I `똱+m릾)LdOPKx( 4./AuthenticAMD/AuthenticAMD0810F10_K17_Zen_CPUID.txtSg6s&D1[Rqɲ!nE1(#]`NGՔ~u|{9Y?+NKI ]M]džY QȺY`u;ĉx`l |ͳP<-Q(HQ-bq:v{0#z`E[t}yB0GDxՙ!\o 뗯0 Fz0 o Pڗp|ٓ[0š'LL a#`j|tY8ǤYe@iؠ镏cf39Okv{zeƖnd5e# Y<3Oxd)Z(x*9QcLn¸X/[ 䖒9%qdJL6N 9Y_n!L<vWyE?+,xy.</ʪoMY[LO(Y& &9?偧N, Ү*Ktd !S?D=Kx혉 wqUrހ Cpeu~>BV-'c2ؕ|曧7ĹuC҂AJOdn>yKC <>NcMDPE mhh8;?`z̟a~U>pieO\_r,Cմj$u2V=<)IHI)TS>,Hd#ré3u`3⣋Wr,D@pzka_5VJm d]Z79@"@P(RvOءrG 4c#A1GZ#h@J#DХO ?G>i?G>zG^3 7\{̟b.Yw,w,c^ؕ]#a= )2%"}woܞVU p@EO VjK%DDddNDh\|;ד p㹂ۓZ*⩶*^NEoElY7 5ϪA0!/׿|>JAGAQ3Sj@ 5ԀPj 5ԀL t0>|>4lt635ԀPj@ 5PNJ ũJ|>KGQ3Sj@ 5ԀPj 5ԀB t>|>d毫tx+F* {답I:*vqޡ/w\0+}~V^ 9¹+Zt;6 YpȎt70]Ct70ݤݰCQn2r綸ݽ-}PF%buX:kkg?uel}ygjҗ ;cm0!!$!Ҕ !%Uu<CHڕSQ5CD5 %Hj҆WiHTbvG,!O!2Z#nB?D,N0 Y5 ! ԕ AL<9q?L *Dq1a2m(wdPx-â22e襫-ݗ!]225=\y#,RBB%pDȏmRz|gAj1#$oX[^Ϳni-T>gz%~p֭~XxV#D\A8,ݏsݲ޾]VV 8pFSЫBTx_xwQu7n1:̬. Sw\R]xNq}tO}Eɝz?-HDvn3RIbm⦷2"~Dy" ˯p2&M+MGФ\2z҉Wk#X9DӺ8@ 0 %l̎K"aʋ|h>KHUKEz΀e2a,XV,#*[ rm9{,,-Ke2bX,[3Ue c94lTENE4XZ,ˀe2a̟ZUY:+ ˎrbtזܮ,,*[ug"|rw* [^*|ݟ^"ӖӾUYdWBbٰX,]"yPKBhl?./AuthenticAMD/AuthenticAMD0810F10_K17_GreatHornedOwl_CPUID.txtŖ:};9wۺS%ɒI̓!w@3ӏ * V*f׷>++N4wuw4#W|5u0/Ψ.o;[^a0[Eb1 Ke>iYFxHW^[YPa / חwG%IF{OJ:->7سOb0=`SWh~:ޓ}+ÿevm᳎X..O~azPPPPPE@?#La(GpD#4=(((((" E&8#8|]D@@@@@QP"uzGpGpGpGpGpD}tD>戮aM hÀ(;4a ^E˒dєe*3̌&)0 |𤅡՝QR4u w uQ>;IF e$e^ʈu<22K27Z:u$ՑS'Ԙ_zuZ2klԊqs?"`#K50ꈙ XK BH%td2҂kH4I!ݻy6=Iv$V -2$.=HL5oYkPK|k/ p8./AuthenticAMD/AuthenticAMD0810F81_K17_Picasso_CPUID.txt]O0G-|ܵI @^6hU;A_BSpVQl+[9&IʞGM=-^'b1}i9UT d6V x 增582MʙqVY)rF2XeFFC1_ϫ庞NI{SəN >dh lw  8 /1LWI JO2幘)1PdSAΛ@d@<R˟u&ooԙ{&|._C3l\j͈I 4%TΞVK aqҒ1-vV164fm!^ᬜU%\VGr:e&33cf AqS^T W9X#EuCc] t 9.q#%v     KKJ,Ēˀؒ]]]]]%It%-XXXXXXX"L%XFŖ.....ҍ.]K݈.iDlB,B,B,B,B,RĒe*-2*4tAtAtAtAtAnti2 ]>z;a ^E:U%<3a@ն^Q3VΖafm}ۼ(ö0~ Az1+-h՜8yZDYg3$ u {@1rFlqIBWBdHF|ԾP#FE{ѥԙ `x3B(h !c2dx ` @/Ù22d*+KLȐ̑Lsqv%4HF$ࢸ,ݪW s4C kő)L"OSH#t@4, 6h9'}@Xn^j=CG 1DkS Z4!y ."-j12*?AFuI~PK6Ӊ-9./AuthenticAMD/AuthenticAMD0810F81_K17_Picasso3_CPUID.txtŒ0{TgUKAafffEeԦWn07o.?qȜ>ѽ|m.ںJVUk%'ͼwzr~~AYXA%XƘ&*v!UhKHwXbMb J#*R'Ie*|v YfYPeE+"S'&4Y^8Q<+5m"/X$F˱&UU}Z7`tъ04lv7_>}bݸj$殛Z, 4{xu֝tǑ󮰾<^ <|9w_4ƤtQ@u&Q wS\FCɹr\b6KUpH_†dTQYŘ2+RujTQ,EYd)RErYg~E("8j/9ZKb<գRb ,C%Nb)}J,k#}pEòӈ%œO:ʑm*)nmuh0 p&dp[?;NBnFnFnFFnFJ/~FnFnFnFnFnC {.~FnFnFnFnFn?PK7P*)5./AuthenticAMD/AuthenticAMD0820F01_K17_Dali_CPUID.txtYז6}O@zf@:ܴ]Gj{@Li}tx`8Gt I|͟MΧ9 MA|dT"/w`|[r;grݳ^Jexw]w.cƹل^;gJR!Cp`.[u"FY%PH& ztRW \9Nv'sB:hOӺs Ue\,Z+8`@8 gFT,}xͽp?rʵJ#R09E*]ʹ Bu. j#(iLK>0⢵Bw`]RWWIŵuw!%]Hi@BB.$օĻDBR]HABrdA@q'≷'-[۞%pR'1YbQKhs8of_|KP(I޿գ$?+H[[HbY`=h.|S16"KbA"ED m:k@  JH 6wIRTD*ŇfHAߑY6H ґY(@ao˧CB%( Cd[Fb5yLl nߛfӜ܆'&=1f4E&Cs12`!bCCJɗb}1y/U't34CfH [=Aמ0SRTdzR^ ɇ 4Mpa!lⒸ0oૈ&.pQTh=!R$ AdNU\Aif6נ5 #Xd@y 0e3ʼk}Ҙw>P[Q4ޒw)yϻ}VWػd5i\j#>Pɷ3Mc.U|PKiVh5./AuthenticAMD/AuthenticAMD0830F10_K17_Rome_CPUID.txtז0Sa* sAiKvIp,w0ɽק:j+pI=/?5%W]O^iY&%6xďݷOEN%TTUQI" ;=]^ HonB˸Oqeܬqqqqqon]q26 o<[7]؅]؅]؅]؅]؅ݷoZݽAMC82n*qqqqqqнK2VfܖA7x؅Tݔ.....nahtxeܱƸcָ˸˸˸˸˸6B.˸Gq)vaw.....5vawEw\ȝk;g ;#%r!7"i]iv.Y......}kv2Iw\]kf ~#;"iivnY.....n}kv2- w"r!r!r!r!r!wF%r!w)DnӤ{.5=ڥ]ڥ]ڥ]ڥ]ڥ]=.eڝZ$_ YB.B.B.B.>}D.B6Mo<[ݗvi7]ڥ]ڥ]ڥ]ڥݷoXݵApȅq@8@. ;Z4t\ȝ 2)vi7h7.fKKKK.eZ$1r!wAE.B.B.B.B!7u\] 4NKSv'ڥݬvivivivivKkvIw\ȝk;C.f ;D.nmtxڥݥF nVKKKKKڥݽLGC.5]!rȅ\ȅ\ȅ\ȅ\]?N]"rB6M[]"rB6Mg5}ȅ\ȅ\ȅ\ȅ\ȅ\}>]"rB6Mo<[7]ڥ]ڥ]ڥ]ڥ]ڥݷo\ݱAҝpȅy@< 4]"rBLs]M5MY.....KkvIw\k;f ;~M]"rB6MSKOrr)r)r)r)r)rO[ʥTܦQ]}kfv]˸6N ݆r)r)r)r)r)rSާr)w*Tn˨xTݔ.....nꜻ;qwkuxʥܱFcVKKKKKܣORRܦQw]ܝj;e;u]]˸sKPM{prwqwqwqwqwq蜻;q7xʥ_rYR.R.R.R.R.>}*rB6gKKrF;wq.....9wqw-">KOrr)r)r)r)r)rOoʥܭPMprwqwqwqwqwq휻_MwMw!rC.B.B.B.B.B>: Gr[&=.vivivivivivSڥi(njtxȅܱc 6BSȅTܦIw]ڝj;eKKKKK;u];Hs Kr&-viw.....ֹviw-" { r,r!r!r!r!r!ro}"r26MGKGrF%wqw.....7wqwʸZD5r)wQU.R.R.R.R.RгORn*TnӨ.n5ݲ]]]]]:.e[D=r)wQU.R.R.R.R.RЫORTܦQ]=j{d{t]ܝ˸;xʥ_rYR.R.R.R.R.z\] 4񸋻g w,wqwqwqwqwqwιkwQ\ʽj{eKKKKK{}#S*iԽqwY.....ޝsw2.-O(*r)r)r)r)r)Fۧr)(TnӨ.5}]]]]]}.CwQ7S. r)r)r)r)r)r) }*rSr[F_]M5MY.....ιcwQw\k;fKKKKK;~M}*rB6SKKrF%wqw.....9wqw-"Kkr׬r)r)r)r)r)rOSʥܭPMpwrwqwqwqwqwqw뜻qwZD=r)wQU.R.R.R.R.R)wS{*i=qwY.....}swES.j*r)r)r)r)r))wS 4񸋻g w,wqwqwqwqwqwιcwQ\ʽj{eKKKKK{}]T.NmuxݻwwݹSS.>5}ʥ\ʥ\ʥ\ʥ\ʥ\}>n}*rB6o<[7]]]]]ݷsZݹA=pʥsP9KKKKK{r>K[r[F3.,wqwqwqwqwqwSݽK;S.5ʥ\ʥ\ʥ\ʥ\ʥ\?}*rB6SqwmuxʥܹFsVKKKKK_ʥTܦQw]]jdt]˸kYR.R.R.R.R.>r>KPMprwqwqwqwqwq휻;qwlu!r)*{ 9R.R.R.R.R.^iT.Nmuj]]]]]Msw2N-O;(w*r)r)r)r)r)wT..muxݩSSݵs;S.5ʝʥ\ʥ\ʥ\ʥ\ʥ\ʝ?}*rB6KKGrF-wqw.....5wqw2-O(w*r)r)r)r)r)w;\MmuxݣGGݱ[\(U.R.R.R.R.RSҧr)w*TnӨ{.5=]]]]]=;.e[D+r)QU.R.R.R.R.R)wS*iԽqwY.....ޝsw2-O(*r)r)r)r)r)\ 4񸋻o w,wqwqwqwqwqwι{wAԽpʥ{P=KKKKK{r>KGr[F;.,wqwqwqwqwqwS4q7cYR.R.R.R.R.>r>KSrF7wq.....9wqw. >C8R3T(rʥ\ʥ\ʥ\ʥ\ʥ\}q-4\] 2>)wq7p7e:.e=ZD1r)wQU.R.R.R.R.R)7\ 4N񸋻S w,wqwqwqwqwqwι{wEԝ)rYR.R.R.R.R.Οr>KGrF%wqw.....7wqwʸZD5r)wQU.R.R.R.R.R)wS 4n񸋻[ w,wqwqwqwqwqwιcwQw\kgKKKKKʝT.NmuxݣGGݹS\(U.R.R.R.R.RSҧr)w)TnӨ{.5=]]]]]=;.eܝ[D+r)QU.R.R.R.R.R)wS*iԽqwY.....ޝsw2.-O(*r)r)r)r)r)\= 4񸋻o w,wqwqwqwqwqw߾PݵA}pʥwP;KKKKKr>KP-qwS wSsXݭE)rYR.R.R.R.R.原r>KSrF)wqw.....9wqw."Ksrr)r)r)r)r)rO>KKrF%wqw.....9wqw-"Kkr׬r)r)r)r)r)rOgʥܭPMpwrwqwqwqwqwqw뜻qwZD=r)wQU.R.R.R.R.R)S{*i=qwY.....}swES.j*r)r)r)r)r))S 4񸋻g w,wqwqwqwqwqwιcwQ\ʽj{eKKKKK{}}T.NmuxݻwwݹSS.>5}ʥ\ʥ\ʥ\ʥ\ʥ\}>}*rB6o<[7]]]]]ݷ_+tk?7qzH&05B(oTӴ=<-wsSnG9q+w{FN;3Ry3y9=Λw3Zy3LOD3̔= W8T;p3Jy36gg=3}qL3y8Õ;=#t'<WwQʋt;'pnʍqtNr+w{FhqF*O{8OwD3Zy3BO4=f)7{ѝ3gr'gļs8#'=Νw3Jy3y'87=#DN41#M3^pN|݁-HI|ϸ'8=hsF+o{ה=Ιw3\3Bwb9ʓqu;Ow޼Qz'Q܈GwD/gr'gg$g\݁}QʋtN97=鉾DÌgʍqt;܉;1HI|ϸsR^;o h |h=цMhSn;p3\3BwD3Ry3>(E|x'ڜa}Gr#g9q+w{FN;3Ry3y9=Λw3ZyP37PKto9%8FlhDfDG&<}ƠG&=cM|gzd3.+xh'> IO=E 3=IϘħ}Ƣg=68pg\W>8F0HzI(ex1oOy$> 3=oCLtz%~3':dK3FG&=}ƠG&zh~q_͉ A< 3|{3xg zS1OEz{gl>#q_ÉҌ>#鑉n(ex1葉Ϙħ}ƢG&z=c߆DK g\N~oOh axۓQ>c3ޞI|g,z3#8ޞЌaxۓQ>c3ޞI|g,z3#鑉n(ex1葉Ϙħ}ƢG&z=c߆O h?XZCR?1G]#ܥ LTR]]t&ކLTRk\]$ڮ1G]hIG5*-IFOw &ZM 5hI5|`rC|5]:]]:k$4|`rNs{r0_ǒd+à%Ϲ_N*5\vp(qkώgܾ~x~a.kׯuӒto>Rߓ[w'_|;ƽR&s!L_0 `!u24K;$"]c{ɚ e~z5D$EAࡷa;TRL ֈz6+ddb^ e2DҌt;aCL2iĐ8DdH.Y մC !\Pw"dH8tY P%{̕Ucѥ.&6jTqV8õ0adjMdU\Q%6mXS^YZ&LREawtлk ۋeVF`,J T"w_llx7$I44y4nImJPԐh & DoHda_&J2Tjo١ e`]7ٚ-ȍoYew/G @# Q~i"x,J;62J(P 8<"UO{-2z7mQcF, ĂؓVDZ{/kSӦ ĂX b7q%"vȗĖ]']cĂX bA,MRr@lOJOz5 2yO+!VN?1$rb ĂX bO_k}- 9W, ĂX mfKbEĞgӅ& ĂXKDl/{ժN6MgLj ĂXkkq/5|bʧ׈ ĂX>4X_cRb˄T?f,0RuFƖD"c*_vbvzX ca,̟ؖ+;ujL{~X ca,#c?56c$؝51ca,0*yWrz&܂^qj46w3X c]r`d'1ϟ[/2vJ{k ca,0)S>5V1֓.e僜}f,0XJScE6tJni0X cMVMmv+Wʜ,0֥^3X caX+2v1vX؞ӤGcvjnj0X빎B3kʤocsIB0X c\H.2v iz4{Ώ ca,0"c;jcsRWJ׌0X;DzfjlXxW\YcX ca,Vd4:gʧƖ=)q}i5ca,0"cO>~{eNJ;0NU׌0δN`Iz~z`橖nPg,0u%Om/.)0vآ9?f,0ؕ#c=lOUقbMQ* ca,06P/f;QcL猅0؝ێ=1vtlYeX ca,#̏=TfOMgY=؏mI;1ca,0ƞf,0X)uFZ%j]dNU$5clI.z1ca,06 q/Sc"c[db=0ءf,0؝vdlEN;$6LUv]kX ca,5m+2v5ʳ/|5m!<c{ĵ׌0XfvJScEƶi'ہ,r0X c][hlO]uԚ~k-nj0X۹KdNRSc=j6&Qtf,0X#2lXoYpli ca,0vp>ScEq큱Z&)0X cBczcgnj0X;E526MScE{_b_3X caH-2V˧=O)W1ca,0.ntƚIr`Cuf,0{dĖ*_dLT~2)1ca,0n{&mSc=:B6Sj5ca,0jUqʧEֹh:c:cX ca,=2fd&*O; [|~+60X cXZ%O-ۥ %0֥I^2X caaj;2v*quz.BSkX ca,&in{2S/%06זi3X calj#ƪ,ZiOm;j<<0vL$?f,0X#cU(7Oef,0ؖZTOm{d-{׌0XʈF2|j]d["kf,0Xӳ#ciTYٜLt6*gucX ca,TRd\dfKc/2%JdARf,0ؾ$0֙[OM&Υ6 ca,0V#csVXؔ"a6zkX ca,]}Dj3Y>56_dlBZ ݒmnj0X;X4\Ɩ{ċ?i3X cadsӒ>5^dAbVc{wJ׌0XkKc; InSc"c:$5+?f,0ؕEfz>5clZkX ca,DƪS;ij]dl/fBujX ca,ɌEyzX[ɛ…0X c7]LX狌mhށ}&J׌0X;.ȧƦPVS?e,0D\FFrL'g mvh- ca,0pA>G|}#0vUSvzX ca,ɒF!Ÿ[1V%:5❷Pk3X caqdTۧ֋m6kX&f,0ة=0vrX؝̫>f,0جyDNNv ZcOʦ5ca,0鑱I{>kmRc*51ca,0ǧ=ZrK8F0X ckTק&拐5u)k_CY d S.RE6].Lc {$CY dyQ)g|܃hodSJ_CY d!ۘ-"d.r ;=3CY dls-o- ۅeYͼ@Y d!-"d[kԋYc<,@ٞΊmB'-v;[Dm,@ٮ9B+ # ; W:+,@SM#dK4v<{&_CY d3BIgYٝ3 M r7?,@Y!Y"d:YC\Ơ9FrO4,@ٔ׈LYዐ\f3א@Y ȦTȎȦ{MU[A@ⴤcY d,![-rn k,$ CY dXm2-"dOr5d,@vo- +5rYKiCY dlG"dw;E^JkT E6E.Si}ocY d,5 Ӣ<Ȧ{ue&7K/ޯ! d,@EVvYU -@C<,@Y.kK"AVkrʥy;NG>,@ٮFȎI|l٩lz۱ǐ@Y ;ȞDRzHw,@ٹ{lF־EV/BvźdVs1d,@N![>F݃d:5ٽ'YcY d,]Ev3Ew"ҨIN! d,@Yɳ۷=Ⱥ,r }ǐ@Y {/"["dwR7F[{~ Y d, [P"AĴgBi} Y d,8!YYkfK7&ٞ_CY d.%B֝|l),c/j1d,@ȦwܔVo-!kVh >lJא@Y +F)g*][d=Nމ #ǐ@Y zl6*[d"dQAHOא@Y E"du'v$-@Tu>,@2ӊB{-vEg'[9cY d,-h!"!{:d}1d,@j'@[d+߃ֽH̿UN},@sFlJl[dEn7b>'@ִRCY dljM4EVAԓ$Jg@Y dV-"dgtȶN@Y dOj־E\lġ|n$#ǐ@Y 뽕YKj#[/BWғFֲ*1d,@Rsliʷ=ȦFvfIf! d,@vKmZ-"d5~?YOuPS͏! d,@v#d"k!{ҰVM1d,@#Bv-}߃:Is4@Y dWRdT*_[loiQ_CY d,-B,[d=f]By {xМCY dn#d-o]̂쨭 ǐ@Y {$sP2{-UR'@v,@ٝzo-!(U  dBY [slD[Eރl-ˉGN5R1d,@&#B*^[d"dW7K&MCY dp6Hom RJ'@M@Y djI۷ELZY<1d,@VTr"!{S=mߚSkY d,=\dtOm|nڥΡǐ@Y [zOuX:E6]jLUZ0tJjǐ@Y [kkL"+ k8 ۧQєCY drhQE6_LyBvӨ^CY dl!{&M[d=ȺL۬Ț*Y.@Y d[5@vD֋q(.gV@Y d-mJ#-z=$My Y d,+qwϷȶȤmvBsY d{y%"k ;8Y=Q! d,@]8S?e}_ɦ^]m*<,@ّRF}EeSods10]@Y ;DstUmdgQcY d,f;B'[d"dw4vqɥS9CCY dʓ#dW]~l٥Z(d76kY d,=fմ|lNE.BKF ݜ){Y dldOb>FoA6KڴG * y1d,@J%BT\ϧ:_W#d:! d,=B9 -dSJzAh$kǐ@Y mپo&<@v!M%?,@RELZ|y7.}R),@}od''\E܃4Yj?1d,@V3B.-"dwNS:qm1d,@Ȫ!k-zY%Y*1d,@ȶ'Bv :cȶ]ٳ Y5d,@N#T=Ȗ2ԃ! d,@֬$|-~sLZ@Y d!['%|f~#;ucY d,<%BօN[dEαg٭Lj_CY d.5Bv:-[ddH'x.Er=,@{=z#/BvB) ݩ{<,@Y \+o- J4ق]S5ۏ! d,@vY#duPocdEȎrhY*@Y dٞ" kҌ:%{rduY @mDȮFZv> m#@W%q9! d,@4m'=:Mms!NZIӔ@Y Ĺ"ohuYsi_CY d!ی|)/BȞ^h! d,@6پi"AodLUZy Y d,RDBV\ڙ]#,@#'@AS|JFVl4W~ Y d,GDZfrS75f؝N1d,@Ȗ#Bη{y,J#|91e1d,@)BvljZ[d"dG1J%q5d,@OdZf[d=.Crf0]\/1d,@j [i-"k!sRd j1d,@6![i[ddwI' {S,@ٵwWcʧ _J|F'[u6scY d,5WtRݶ'D=,@Ⱥ ̴h"+!'FVFߏ! d,@٬o!{4dWMsY! d,@xI- +ĭ:VS! א@Ȏq8B Ϸ֋kPfS1o~ Y d,]Fc-ze'9m4kY d,]U8@3|lS29@vTx?,@uGȖJ,EAVtd!eא@Y ;Vm~!yP5dN{cY d,=HHiO|PyF )d,@6b![dE>H.Ne,@%%@ҤǿEVAk#CY dl#dPIE6_F&@Y dEۈ5>rD<^)O+! d,@61#dǦKE^z#@S1@"{ ,[ddX&#.^u5d,@YNxvcU $! d,@Լ=ȶL[cY d,'B+1ƷE+$lu&ٻ,@S-BvN-O-|n$^CY dlxtc 2[1Kޏ! d,@zl6R-r}R\d61d,@zn3BV7X[dETm&dsY dwP2o- ۅi ;&ICY dlSVE^J-@6eWݏ! d,@v#1a-z;nZ Y d,Xl4Ƿȶms;dFKry Y d,s!-vg|rM\[z Y d,KU"dGe%߃l멿ͼ:@Y dݍo|{#@Xא@Y ;δh"AvT{g3*1d,@Ȟ+BfJ[d"dteȖ֍J)d,@Z5R|[ȞzHǐ@Y di8Ȗm [gjא@Y ׌=d6zIVȞ6Hw! d,@Vƌ]2(לPKm9+;_;./AuthenticAMD/AuthenticAMD0830F10_K17_CastlePeak_CPUID.txtT璳8*\N"N G6]bK'/}4ªpKkn[gDžiaVf$svjƤL7ӫ+ow3kohb/(]HS[K01D6l߃{Ha Ēl8ƨ:/U*1uuCE,guֽz3|ُn3nNC*j*SqYq*+NJnH)i1M!8KKL79xhMuK#ٔ$3ܔTmBjM5[i:`}Q8| YWHHHcч&$rE *Nk̵!9LY {2w TG=M g!! Ajrݾ3&D~<&q] )Μ\gl9ԵuiŐH^WfM% `p/9)}9ө7.|8^N*tSeo0av6VU*@{71'Y83HC1W 85r BrZf *~O9d?45B7m24zn3o.B*hsбpjNpFgx3i8✮4ɍ/Nc9r?` m؜wO>o~$U±kLxg51Aa-32Ue8shc3A.t!d|A\5d@g*@ d2EvG .iD5}jjE Ե*6M@kp< l 01+y}\u˻@P4:4)p м"0d+x1֌`( MiqO8BuᲵf=ü/ΫG*QqتpRqRqT7!)h°I#(L{NF?o?n4JyZĭ<]|(1zxK7˻hJW07W[4r"={0 Pqe#S"Q!؟,dan:7Cܟ?{˺ĺ!i]e]e]e]e]eM[w̲nsG폸c q$qqqqqq"q7Z΍YucucҺ˺˺˺˺˺ueݱFΝ#.N%ĝE\E\E\E\E\ĝ:H\ĝ[-YuI.....M[u,9w鏸wIqqqqqwNhlZ].%]e]e]e]e]e]]YinY֝jܭ?"VB-I\E\E\E\E\E;H=rޟuYw/.....κM[7 Y؝kܣ?2Qb#i\e\e\e\e\e;36iܐojA{`Lbvavavavavaݶ;fawt˸Wqqqqqqq.ۤqcqݻ?];]؅]؅]؅]؅]؅vݵF}3.>%}qqqqq}6i\Ɲ[-av쾰 Imcv,nn3.ㆡa`\e\e\e\e\M7 ݚ4.ƭtCJ`vavavavav mcv,5؟qw,1ȸ˸˸˸˸47i\[- vavavavava74vawEw; w\ȅ\ȅ\ȅ\ȅ\M"wN$r!7#^ҝ.%ڝivivivivivڝ.y 5r!w)A DгIBnGn]]K.....&]ڝ;H[ȅܭB.B.B.B.BnwB& s>r%ݽ?^ݝvivivivivi7ݽmX#!r I D.ȭtKgvOڥ]ڥ]ڥ]ڥ]ڥݤv϶K[vI{ J"r!r!r!r!r!N$r!wGn{nڽK{'KKKKK{7]ڍCvI I"r!r!r!r!r!N$r!7#^}i?%}ڥ]ڥ]ڥ]ڥ]ڥ]}.y]*$q;r!r!r!r!r!r& 1Ւh?톤vivivivivivCڥ)Ok;BnK;& ;~ M"r|Kvn,nLjvivivivivi7]]HܩS ӇܱIBzIw;hwNjviviviviviwn[iwtK r$r!r!r!r!r!rIBzIwhwMjviviviviviwmZ; YIw wK"r!r!r!r!r!w;5\ ȭtwO{vvivivivivivKcvC{@n=J{$ {|ȝD.|K'ݳDgRKKKKKgڥ)Oc{AnȽJ{% {}]D.ȭtoOwvvivivivivivﶵKKvc@n}J$ |]D.ȭt_Oovߤviviviviviv߶K[v I7rP8 [ȅ=Ւn ۟vCvCRKKKKKi>M"rC>r%ݻ?]ݛvivivivivi7ݻmP#>!r> I>r& 1۟vi-KKKKKKo-pS  c30XA}>.Hs&Y!!}d9B a-c:@QTOΞRK=k$gmqٳ8(~W=w,x?MF6fD(T,9/}R,z8o}V,z9(~W=㌧g.aFAH (ŋpԳfOrF+ބ={3pqsg⌧g.ZhcFAH3J"g,3Z&gl3pq>x?}E׼h~B gzrgEXY'9o}VϞ=Gcq̸깳gqSY2ZmX1C8fz`xY3z`x[3z`Gcq̸Eg<ş)c{^>ءxX3R=9{3JϚY` *~XT$c!N_/EKNa00XYAKrNykOos@iΞ%z\nV~}7/~{ 7/<|@\T?'(KH@vt~ PD!#Btޘ1dF ah:{![Oyhj'H3I))ӫb#>`BXkH;ʤDq(Nu $m05eP#eHktQU49+dV<9*46 2.9!ed`#jax5FZ~ bCXkﳆ Xm%bMظZyTSK`m3Eg5֐Z6khfK7Y)]L U]Xk` Vɚ kX[sӀNcL5Xk6GҬn7Y?cMk"rZ?xbXkJ*/b85&kN )VYJV&` Y֮~$bMZgMClVYk5>`WѨorI)vJNkp 5km\[BfZzȵA^X \kp;9U!l,p15p#}6FwZ~ȵS - \[ip µˮUb%rMd}յk%MiZ\kp \KGZtkKmVk:kp kȵjĹuMk+5yQ٪5kpfB]uk5u \;+S\kCµ\Ӭ+r;*_uFʦ֔veJ2\kp kxEX"zwևQ6فkx\C^C^57OkәmtMvr-4'=$\kp G-k靼yRnng!?pm#"c^uM5My1#Ԕ8\kp /\kEyr|\uFtNe 6+\kp S5U;=%My) \\#"$;_u׬L֎욖騟\kp 5%#תZ5]uMrў|y.5}V#׌i)W]\;ґזZ 5v#VkOgU׼p%vD \kp yZ;k!|Nʺ"kp 54%rm&*!V]4xᕄ+5א>p y+rm9|յ?{o_ZKVv͙;5\kyȵTW]wZSKZiN5zH%|RYi=d~ȵ~p \kiR^>p 5yDI"ۯVrtYiNkp akpmU?kyRܮVqTu{&4kp 5pȵk쫮Cd4ʚk;qkp D^qmf\f=Zs \gP\k+a/\k\N<ƹꚿڐzم$5\6VZOjW]k{R/U*o+\kp e9rm(56Z\:(5ךORfw\kp 3UUk5F-˾ZzȵsӠԱ5װG^a'rm/3kgLgVٵ!]hԜ>p 5ّf\kZ~}i5j \!pnki=\ƞT\kp !!,5r-Wkזء5!'Aދ}\kp S\+X^uMr͊R{UM4Sp 5FC~ܩDܮf6jh,=p װm\LꚿfU͙\k؍|\;%rk흝.'S/l?2J-_w)ȵU~(5g:)p͚>p 5":^u-=NJ%rm$V?p 5Z.#v^\uMq4Ki?y3%q5\kdDEczZ~5sa6hmv#Gy괋UC͒s^+1kp 5lfyյk8R5(Kp 5!?pY#ʡY3_uMrI|hɩp 5>p>kjU!׺)TNp 5>pmrki?کLRF\[V\JZkR^NZ"N[Kp 5p׶6*tM!\V|:\kp \;AsyյkM3pm$!k5Cb]kĺCv]uMqMh4W9kgZe2\kp ߩA^5I-tl\Hi?5kYCZj$cӵ[XAJ=wk;b۹}b<\.? f /Y,ז`!`-&cw4G #4v#gD Fk7\3vF!Woj.5,bTtv͏V ;*I1bz#iLijQ"ي)=[_Sh:\iimji$>TPK5awX0./AuthenticAMD/AuthenticAMD0840F70_K17_CPUID.txtv0@ 05jg$ْfRn 9>0P{|Ao^ysϫ?SW> zz0'v!*ĤX8Q2^f?k׮kAΡ% lTUj1gtnrcܛi#Ñ<|)!>eF^VSǬhZReɳ*$n"{7<^tɡbC2~3A|VX-콅p#_.j?NcNzv*=.DϕmRS8@TB2^ 1#c#@*ć@E Q̹Y\=^^^^^ཟc#ߌ3vNI>"3쁎=} 3<ñ}g<g$vl>|*lL0.L sscLAPP*PK$ u;./AuthenticAMD/AuthenticAMD0870F10_K17_Matisse_11_CPUID.txtdTis8N7s$&&vv|P8Wt:ZO<x~oS:Sڰ`GGVMs~UyrSިMa~9" , 6JR^rZNlٸʈe萑1?`{)?3.-ND:)cE@ɓ4u'ۻeKpCSՈ3˛ZA@F˭̫W.Y}0 6r zn%E[FF go@̲l!+8M@LJ;Fg5q!t>|^8[hjgI; Qڹ>/rUN)XVwt#s!6&U&IOS#3@E;)<Є*|?'f\GWB+Խ{Xnbp2 A17X78׎&h56 "榷Cq dȀ3- 5Z G5+ _P3@@i =z013DKl`' )-.m+H(Gш[wsPb, ZVDؔ8BmMrf 19,pNTQ CY iS9U L:o, ͖ AY<=;\4]dӔ<{v։'?#!@Lok9kh }%Dse3mz\'EHt@%IH:@frZ I](m|dP ;Zg"FA UTeE7dr{驫hbPa D5@5| jFJ Hד;=xzS?A ($ҥв͇&:фI&ë)_Z0Wn**{* '' ZX8u -! G!:p[2YĞώ+vxTJZS=}|7r Ju{O/'z:WESy動xjKz.B;ǞdppwG'wז4M~x_^]k?k??}|}Gwqj;nnnn M=;kkSڬڬڬڬڬ ZXY{.v=nk= =7E7tCw,BcpGڱ1gmfmfmfmfmfx5ڬک]wqѝjНrnnnnnN M(Bcp/=k/9k6k6k6k6k6k/WFf~-vB^kнB7tC7tC7tC7tC7tн6E7tCRcpoZkoڬڬڬڬ9koWfm^ZE7t5ޡsޛ;;8Ǹ؆l6l6l6l6lvՠ&؆mwaq㪛uMMMMM9uyp9nqTfC:BzOd݊%.U,g +4Tq2KKNӴ_^U/m/±‡w}jOCtE_x#W4T7\>Gav47 in8}TopޛF<:ql=WU||QՉzϟmv'vڠ=JW6RB&Ld!Jy+AN/UBPF0 k(1H2 J4\tzfZ0 _Qv']CDH2Q vBI⨋RJ"-E * $i]3 K5A3?ӝΰeԬČr8p#3SAC3xgƏan33eO23َxnf'%v\%W7Ut?N"Ĉ W"xc%M%Jp?<$y g$#iB.:w$I$6c 2J#\b]{_OiLJDYa{iac Ik䚷 8z>6Amղa܄Џ_/~w{zkn$ՙK):HtP Hks6 p35ZpSboOTri"X&kZZZ2ZZ/#Q%)-JUmUeBb-hkbkXXZQ?ִԚVVV5yt ZPKQzpS%XavX۳ Y;$~D6Z+X+X%fFM YMja+fFL5=t`u@&b]Z`lBf0lf:0Gƴrj@j#a\CXk$kzc<ɨZلkR?ĚM'+V3ĚٞMHa c0X 6k5cwBN(ZLԍk=Z#Q ֌?TVVEMXLH!EdRrkv{ аZkkkksko߀&ZQbf1HkõY\4,6^m6.drr Po ׬jk Cr g2Y;5֕zppX|rjBM=##n{!ͦpq Z5vN/=;?xy a+؉ى{_O]U_YY9QNI__UIA2 ǟNmj1lA|:z} ҃y>uRmgnWeMZClZsX;$_\rܟ/QG]QCe-3✧\.,.GN;1rdw9)PK_w0./AuthenticAMD/AuthenticAMD0880F40_K17_CPUID.txtv0@ 05jgaUf7q.+q@pH&k:D٠9(5RvL60*vUE0; FalM‡}(u̴fӤOCg\+y47Y7ٳԈa(WyXzdCHM? @Gs.+As МE34C34C34CsE34CsBsWc0Z+Y:2+2+2+2+2+óc+rwv|FDN32"w"QWg44>?;x'w2=r w Gg$$S<3g_o/6^aDI (LU0]a AA% ʈPK K;./AuthenticAMD/AuthenticAMD0890F02_K17_VanGogh_01_CPUID.txt]k8 v{$K%0) 7f;钸r$A !oH8{VE _0t˧~>/qsvW{ګ ?0wnF>%BR-u"I)kIJ0ixo/ёfh3ɾNǒNKSAB`D ! (@ATIh~3=NYQ1kxͷ% w1Y[1P|!ί͇Ut NJBpvߚ9>VQ1; "kA@,,CN疌p8[y ƯK<a7 Bø =bQX $I6Tχ5W5Hzp[a1T(D3*̃R baeT:g(MOPuԃHUʘJU T@M d" b H@I b 1PAr8URC c.5ĉYXӕt!8hW#g?k{TT*Ve*r*1UIB\㪟OOES;p23lܸp]_- ۡ>t9 e/PO۾O$e`:G/vakaݙNbZ4Ҥ>cMIzW!MR! -:;\uvwy{wsfznnnnn Kv:;8;r6gs6gs6gs6gs6gٜi[vsf{N Kw:;8;s6gs6gs6gs6gs6gW89\u]\ppnnnnRp7p!pcrή3ήٜٜٜٜ=gwlnWal7>m =ug`WނO%Er Xx=2۫oǭtcݟ^pДO}'l3pI3ٍCrE*/08yZår/S?S,RygH[ι+3fOSÓ7>{vA `Ν^RH[羽W>.W╯>rxleǟmBB@"X iR)mܹBv !@Y "Hahf<f!<նE'ROo!B\y$dLB+q"Ο[+2C4Ď\t]zFh[Ѧ/͜6`NQ\3 8uhR k#7|ES`dsq 6l֧iK:U+k 5a"j+DPifYq}P=PրAq (`\K.DJ!$l gj~ 5"ik(b#9"(Ů В`KN!jl΁3Xb%R y \u:CF ; X猖o !> VVf~¨iQt *2JIlD1)Kx $R,)Jt dr(p&y>TN|J9C2Jb>Do,/Sz5g=[~ΩhES*^Gw*"Q4Bmة9X{H 13b:XRpnv{M~OP۾ 4twð3f4i︣|Şݣdw^RJvIwy _~xy{|=́5s1s虙9033ߙ99rrQQQQQQ?*8崯9͘9̜̜WR9P92*2*2*2*2*|AeT.cT^ 3k2c3s3333s2sZ+*K:Cʨʨʨʨʨܣr=3QQy^n̼ی[̍||PxTR efffr`ηϚ=8GTul7zFC8qgڃR{p2r&y-aӸp{2|ȹxڞ=|O?X)bu?f?~OR<^W↣7~SLo!zݘPL]H kΓmc .hӚ8URZ"0O~@n#G\YPsؘBHXG8Ez )pB 69bVO {P ?n5W⤢AUqj8x(dV֚٭ef[ƎHJ2c6s>mY@ /e$e>8rF~^rMH!@.uCT(<ί]pbs~) ž ~1cdZ`U49kEdufgYsX3>J묙֚ʖ sfZ|kArs֪y[Ys֜5gMҒJQY_>(uZ P(EK{X5hHaΚݶ_]tٳU@aZI,Ya0C𜵃zC5gYז0LkJՠ롬XeM ,Yq"԰cmC@LΚG6U :^Jj+.F˔.T9OCwwc?> eEB)U)R( lNfj}Α." t SҦd=4H@)A@jR*ǔ-2 o5pӘe1"*r>B >0RS1ӭzRataOjg6P1e9y;Y(<;)n>ݮC2fvga5SN`%<< +C7Gtt iIJZ]7 ΁:1 %,dK!QՃۗ=H01,.sp4I"f!ՉVae:!l=~hzTq0:H-]/}Mun0P`-~FL4+r N\ Q! @*:!WCLOh&wom,RIHXZcFE4Z=7 E9Je T@F@1@H@I c 1PErhҗCEIk/ʘ5UR$K09]~gMj>gRr4 fk{TTv*ʎ**٩S)<MZ]W?.@o!;LbLO"g+ϟGq= ܨS e59 X۶>7W7OQ4z6#Ŵ.&}v+I6OWpNg6Pk]9)}BrbGy;KnNr'䞓r#Vr%rs;+mi繴IIIIIvHI+sKn.r9Vr#7r%rs+mҮiW&m&m&m&m&SyIۚEݐn[ɍݗ]NNJGIIIIIO&mk>:rK!@nFnFnFnFn䞓{ȍe,焁8*;Z UPwwwwy"74z6>\ > S~6_=)S&|T<z82dK|*a\/ec\FLZz!,Jm!9kv3w9kZWXThK~fkVq@V͊9kOem1Zዱ6ROK* aKҎfk tkLv֜5gyɈfT^֠Z-YX  )`h "^`02NΚ~"$lfk*^;'qR^rR$N$N$N$N$N;Q#>JeG%߈X՝&N⤺IIIIITwRᣖڒZxQ룾#Iԗ;8888N;|4X#>#>#>#>#>W#c}4w~8撓fx'q'q'q'q'qG]Υ*s5-YҼNdn 84 +iӂNmGsO4IJtXRSf~3N9DtwWOx醔,| z3ݐaEƕdNP+WGfhpYPs'eD"SֆRmZ }!22ȁTf[p+@G?ڵ܈A're{ .BI e7q+bB'ć!= P9UteP6qC e  ~e{eCxwy>ۦ%et]踁χBQgucSgca:I)bTFЕ"tA7Or>JA;R;.ltZ2Qt JPgutot5ܯ/ˁm:ކ@.#+D/SguF{AC.NׯD]jc"b.C]EaDV:nꌺ6xlU7G]wQr)&/u!tU5Ag/)/ :Կ'PKn0 9./AuthenticAMD/AuthenticAMD0A00F11_K19_Milan_02_CPUID.txt՚0F 0۪%wܔܬ2׎493&IjuCuoۯ"\\4_sϳΞj޿_|foWpky8!*ZmMJk]k2LfŏEq~8wH!jQY]cȦ+ !S!$J֐F!Tң4UnǔU-2GLZ+!]p/1ۖ@E T!򁶠`ư #0pn=@E4 ߩ}>@t JGMwfS Z7dNQ<|tQNp³cFs#SmcF8v6Nn:r}b98an&uNs`􅔖$KP'JXJFw`vI⒃ep,'he$FStEۧztߏq!vo&9Sm#H[שAKW䠻ȌLtMdy$6LZhG皔獱Y@UF 3I$AjUy"ʬLeL*cY " b $1P@i PcT"X *H;>Tlf¤:0|IiQ&-I ܛ}TTJz~BͲG'tlZƴ?賧o/,G ?qCMGWC)4Td)ҸR$` 0б0\s` `)2%q ,5tl 0` ,SZdkXk `` 0X 0@` 0M9`{k `10 0` `r47"8" `Qc`` 01hn EpF90Ύ 0` 0s 0k\`W\` 0`ה0pa;6` 0)Gs` ExU (ӱP @(P L9+LRU QW @(P @(k^(X`P @5 X(P @(xO9+k W(F>+P @()G{`+S-B*(cP @(;he G(o\uP @(9ke p(@U Hs @(P @(@PLH*H5 :V @(P @ҔP p)˸ @X:V @(P @)G{.S;Bq5 vP @(S @(2)2G(6PFP @(Pm^(He "`W(^{ @(P @(>h,e D(1PFP @(Pc^(X`Ps\g+P @(産P )׸ @:V @(P @)G{`/S=Bq5 pwP @(S @(QG<*xjX(P @(xPLxUP @(PהP p)qkݱP @(P rW @2#3PO|:V @(P @>S @(:):G(w\vP @(|PT)B~*(cP @(7h,e (2`+`U @(P @y^(X`P4PTcP @( M9+[l `QcP @(`rW @2#`W(Zk @(P @(:he pD(6PFP @(Pm^(8P}\{+P @(P p)Ǹ @8:V @(P @)G{.S;Bq5 pvP @(S @(6)6G(5PFP @(Pk^(He "W(]w @(P @(=h,e D(3PFP @(Pg^(X`P׸ @^5 X(P @(xM9+[l W(F+P @()G{`/S=B>*(cP @(3he pD(w\vP @(|PLWP @(PߔP p)<PuPuW(P @(X)G{.S;BҸ @RP @(P4ss,*Xj`X(P @(XPT)Bq5 vP @(S @(RKl*j`X(P @(ئPLU (ޱP @(P O9+[l pQcP @(rW @2#W(Yg @(P @(9he pD(5PFP @(Pk^(8P{\w+P @(P p)ϸ @x:V @(P @)G{.S;B^*x(cP @(5hssU Qw @(P @({^(He "3PO|:V @(P @>S @(RK|U Qo @(P @(w^(X`P߸ @~5 X(P @(VP)@ 0 6`+`E @%!{H"H5:F @ҟs@XE 1@ @乥=@p!X;F @y^(`P @5 X(P @(o{.S=B~*(cP @(Ϲ_sP}V(>W(>P @(}{ )i\FR @(P @(@^(XPe\K,+P @(K @(Zw*Xk`X(P @(W @"XU (ֱP @(P ~ke "`W(^{ @(P @(/P p)Ǹ @8:V @(P @|PL8U p(ٱP @(P pl\e E(5PFP @(P|P p) @;V @(P @|P{.S#Bq<5 tP @(<+LxUP @(PW_PLx]P @(P?/w{`-S;B>*(cP @(/O{`+RuP @5 X(P @(^( E(o\uP @(ke (1+U @(P @_.s{,S5BҸ @RP @(P W @2"`W(RK @(P @(`ie G(:PF֎P @(P5+\(H\Gl2j`0` 02l 0@*c3q5 w` 0`)c+q5 pt` 0`-c;q5 pv` 0`+bm`k\W \3` 0Wf+0 E0=.`` 0`;3e D03.`` 0`'3e F0k\xu` 02`x]` 0`wfw` p1q|j1` 0` i[ߎ` 0`ofo` `߸ ~5 0` 0s/0X `s09W09` 0sj` 2#  0@0` 0HylE  `ac` 0`[- 0^)q5 v` 0y508``m\[ l3` 0[j ` 2X#`0^{ 0` 0`8e p01` 0` p䭎.c=q5 pv` 0y=` e pD05.`` 0`+ou0e p01` 0` p`)c+q<5 t` 0/|5?In=inȍsܑ;y CD慼8/ysޚ|4_j~ȏpܐ禹#w]@<9O yq^75hȗ'y<(!7MsG<8yr4oyk>ȇ|/!?O|QOsCn9wyp'<5/yiț|"_WC~ף87s<4Oyj^ȋҼ7 GE8?Gy? qn;r5yhAk^ȋsӼ7 CE8/yknȍܑ;y Ot'0@K+ H$ݞx7{=t_{~؏}}xtOI? {n7u{ؗ%=xo >;v}uؓxtoͻ>؇}/a??I R-J.:{57hȝ<y"i^ȋsӼ7 CE8 57hȝ<y"i^ȋsӼ7 CE857hȝ<y"i^ȋsӼ7 뾰A;'g+h&hZ{ ף E6$(edb$[SYZҤgPvR.I,I-kys0ץ;Il,=zJξsl?{|Bt|魁a3{ UXsԓ 2g.X /̈́MV*P k$mZN I/Bcg?bHuHfC01{N)CdXPXDĐ.4엦Ǿ3 `zdvi cg¼ )}fp6,&Bia5goĆ1c$ɡӇϭNh):Wa YɎGD ,F|r]n(q)8%N !ɐGKk7oH'ZلYG 2զFR޽֫VG_?HU$Gr8kHjZPs ɷ&XrෳSeC d\4`J5֐*XV i7Y9OjG-`mA-o־` 5V|h3COb!` 5Z+bf&k!& qϬI:k` 5ƙk$~kw:I&Xk` 5V>nfVNV Xk5Xsݑ.MɋVi Xk` -Nk'7C=(DimNlE?` 5Ik5ZM̼~v-'OTr_\kplGFiZz5;'*5\;EIݼ&$Si#Yp\k.F9&W]︶TDT$/\kp 5,Gu-k\uMrIۧܨZp 5Zk\\gq Fi?p 5ZkQ3YW]vdRfk2\kp 5;5pxP-_uqm,}26U \kp dki=)敩ZZ\kp#J\u=ڪ%pmT2\kpMQղ}\{FY!ޥtMNjs\['eI_\C^k#ȵfRW]KVRo%k$>>p 5`ȵ1(dW]\뵒l\te5\k*3rm-Z,w]vҦ\j5\Sלkk8NI tj_\kpm&J_u<ˡQ5Hk+\kpm4#)RVrmNP?r 5\FZG]W]w\KIUn^vM$5\[Fc\urءͳɶ5kp 5k櫮\S)r͘I5\s?k+Ӷu5e~ȵGZBZp 5\)r~U;IdX\\kpm :w]\xk'ukp 5\OZ^tW]6wUO0i\k_]KɵzZ9t|;唝س4\k j<אNB\i0<ԕ\kp y Z k!z'p1/\kp 5G\o=AZy5\+3rm/j3;r%s]s.L]+\kp I=_u=B}Ѫ\p 5n9r-+ekr#n\kp-"׊Q^qH4[o#k޿p 5Z;f<䚏Fy)$/\kp 5vDM^ݯrmv${ܸl5\8rm 9yMqjsj!9\kp ~Nڮ4[Zy5;F˚U-\kp 5lZ}ȵY6YGih_\kpEɦEffTiQ^gєp 5VkkO+pmw%-i}\kp 5MEYs]u=ZLsrٵҴ#_\kp֜~ӵOsiI4/\kp 56GAt_u-e4FnK\kp 6 ~5y5ύF^$m׾q 5G&'j3UC-޴[k0ekp 55Q$kk-!N7jk5\gk!jT|Ϯ i45\kEvZT竮Շ\#SMlkEJ \kp #|L^W]\;[x:k^9o5\kƣF zꚿZW)uqNܴ\kp 5mfk!0I5pm#~\kp Q,r81uӵr#њ*R5\s+pmIsZzǵ!QףkMkp\k)rMXgkp 5Z9r͍~5}ȵcF3U\cp 5Zݡk}W]+65J\v5\kȵț䫮Շ\j\[IM/\kp kG&ۯfrqT5\ke{NB;z5ǵlұku,R.5\k=ȵ\(ϞrMZ/\kp 5vN\+r5\)Mt\kp 56٠cCrIL< \k\['EMi~յk–H8k8q\kp"ZULVrMw&^%r &+Gp 5m\=Z;Jv \Z#}\kp vjTSW]\eQ׎Mrkp 5גH\;\uZ~Ϯ%Fܾp 5$b7]kk28pX"g5ZY^/K*_V}\FKm]u-=ڶICv\kSɴu 7\koW}oq-{ꦬ^uM'DۮG5˔Ƙk. 5א>pM{Z3=toD-)mk}P>$\CyJ>6s5}ȵ1;+pMEg\kp.ok[hSVC\26j#z>p >$\k 79UC;^5p4VK5kpr"rҧ_urm)?U \kp >9rUj!wk\kCµ)U"לu=Z59g \۩ޫ]\k?rʯcI;kHw7]K:yҴ M0 pH <9m.ZC.lL( Ol%J 6ZblvVS <J`9H`l !|7`KZئ,bl`l$Mwaw`sa`;eϱ8l 6،X`JS CWGi%&y|`T$"Ĵ߇-6ՇF3udbCblHl_,ߪ`;m( CwGZJ&7Zuد !֊D+2]"ؖ*waw[+syޅflHl ol_؆j9]CRg[5sԧal HtTKWaKN+ OZCkZ "? ;M".l!jtt`l Y`J:{ <PrfmIښ_$6`l޴GMj [~s6z[Y6`lm`#I߁mLTjl;l 6F7q.l!Z"b`l %L܅>B3l.6,hcmlSYfMZ `4) {l _FlI]!ج/G[+T6`lF}qlK6^76.\9%9/jmޅMؖC[s85ll _KlHlR}lNm`˞)/W 9`;vu6y-iJlu `l-ʒ\yU1bN.l!Fy۩R6ؤޅ#O: [hTly64x]C-Sv[E`l]lmSVmCú&dG6" lr` 3Gl9?05_W†76q`lf#؎P)`OPKݽbh4)9./AuthenticAMD/AuthenticAMD0A10F11_K19_Genoa_01_CPUID.txtr0@)3.:y)"(Q[}@ؠP]lh5'cx;[!<]Of C{zkkwzYAޯ?9|WFL[#ĤcIZ0+`2:>ZͧLj1"2SX02ps.B6DHTIdQ "H/2^d1G(c@ʕa9 ~-6d)(*r]Ӈmk2iى)S;n!^Kf l09ѵdd]5r^1y)*("!Xam+=$e抌Ɇ]w~à(EbK2[ z&Ո}"l]]vVۛUVɮF\wcѴUs1)TP*&"Ÿ0zL+"õ 9jŌJ ctvx{G6 o `W_FlpDt)s 8<+~=ibA܃L@6JDD̂@eh2I_4MWom,lT2*mJi mRHp"WMEJ2@U  R H@*)Il PZEVFLzLE έüwL|E +]I.狌! =aι!HFm-͔RrAeݝ|P#pVXvMʉ7\xݽQ e=]0> wf~sxt agw>snh!wC^F߽ltٺq~pt\oc>P6 ^)S$)~ !gaWl&lva;lvخ-e;lڄڄڄ][uѺ.ѺXhu:ZGhu#:ZGDDDhi]id׿b;lbva;lvl]]]]v#*":Z7$Z7ku:ZGhunBhun|uva;l]1a;l7vcvcvcvwMخWZGhݔhTu:ZGhuѺ7 unJnJnJnѺ֕Fv+vnNn.f;lva;l\v a;lun|uv܎qbv܎q;nwvwvwvwv܎Mn) :\6׵ uZu:\7umk&ຶUfvmkkv܎qbv܎q;nזvmvmvmv܎-nW\p]p]pusuếVpu]u]u]u݇׭ϸ4_v}v}q;nv܎q;nRvܮOܮOܮOܮqyvmS !xu:^xuoo^xݐxݐxݐx!uC+ WpݘX w܁;pw܁?w{wmEh7:^bu:^xuMWxuSuSuSuӇ4_wsws1܁;pw܁;pRwnNnNnNn܁ux[[:^xu:^FQu----:^7>n}wܭ ܭpw܁;p[K܁555CpgpWv+unKn+:^xu:^xg:^%^%^%^}xJC܁;p'pw܁;pwn/;p[P#xu:^xuo_^xݑxݑxݑx!uC+ WpݙY w܁;pw܁;;;;woX]+xu:^xu?u}u ܁;pw܁;pwwwwwwwwun*:^5uM:^xu:^~Omuk&Uv] kk܁;pw܁;pזwmwmwmw nW^x]x]Wu:^xuum:^%^%^%^}xJC܁;p'pw܁;pw/;pR !xu:^xu unHnHnHnוv+wnLn,;pw܁;pX w܍ ܍ ܍ ܍;p<"^yuSuS:^xu:^릟^xݔxݔxݔx!uC+ Wpݜ\ w܁;pw܁wnh]Tv+unIn):^xu:^xx[[[[>u}u [[܁;pw܁;pwkwkwkwu஭W^xݖxVu:^xuuc:^%^%^%^}x]JC܁;p'pw܁;pwn/;p]W#xu:^xu uHHHוv+wL,;pw܁;pY wܝ ܝ ܝ ܝ;p7="^yuWuW:^xu:^뮟^xݕxݕxݕx!uC+ Wpݝ] w܁;pw܁?wnywCAh7o oj:^xu:^7?[ oC^և^W+wM-;pw܁;p][ wܵ ܵ ܵ ܵ߁;p76nW^x]x]Wu:^xuuk:^%^%^%^}x]JC܁;p'pw܁;pw/;pT !xu:^xu unHnHnHnוv+wnLn,;pw܁;pX w܍ ܍ ܍ ܍;p7<"^yuSuS:^xu:^릟^xݔxݔxݔx!uC+ Wpݜ\ w܁;pw܁?wnzwKEh:^bu:^xu-?;*%%%C^^Wڭ܁5w܁;pwk)܁;p&p&p&p~ ֊n{umm^xu:^x~^wVxu[u[u[uۇ׭4_w{w{1܁;pw܁;pRwnOnOnOn܁yw}S#xu:^xu uHHHוv+wL,;pw܁;pY wܝ ܝ ܝ ܝ;p="^yuWuW:^xu:^뮟^xݕxݕxݕx!uC+ Wpݝ] w܁;pw܁?wnxw]Ah74o nhj:^xu:^[mxuCx^74 ͇׍2Wp]][ w܁;pw܁kkkk?wnzw}Eh׽:^bu:^xuu?k+...C^^W܁>w܁;pw})܁;p'p'p'p nxu ^xu:^x~^UxuCuCuCuÇ׭4_wcwc1܁;pw܁;pRwnLnLnLn܁ywcEh7:^bu:^xuM?+)))C^ڇ^Wͯ܁9w܁;pws)܁;p7'p7'p7'p7] nyu--^xu:^x[~^7TxuKuKuKuˇ4[_wkwk1܁;pw܁;pRwnMnMnMn܁xۊ:^xu:^n:^yz]ih;pbw܁;pwpݞݞݞ!w3[*B:^w$^w{u:^xuyTu:^7?|wܝ ܝpw܁;p;K܁333CpgpVv+uJ*:^xu:^xx>un}u ܁;pw܁;pwwwwwwwww-#nlxucxzu:^xunl~^xucx^76׍͇׵2Wp]][ w܁;pw܁kkkk?w{wmEh׽:^bu:^xuu?[+...C^^W܁>w܁;pw})܁;p'p'p'p nxu ^xu:^x~^UxuCuCuCuÇ׍4_wcwc1܁;pw܁;pRwnLnLnLn܁x:^xu:^7n:^yz]ih7;pbw܁;pwͥpݜݜݜ!w3*B:^$^{u:^xunyQu----:^>n}wܭ ܭpw܁;p[K܁555;p܍xۊ:^xu:^:^ykz]ih;pbw܁;pwpݞݞݞ!w3*B:^w$^w{u:^xuyUu:^?|wܝ ܝpw܁;p;K܁333Cpgp7Wv+uJ*:^xu:^xx>un|u ܁;pw܁;pwwwwwwwwMn):^75MM:^xu:^#o njC^^WM+wM-;pw܁;p][ wܵ ܵ ܵ ܵ;p<"^yu]u]:^xu:^뺟׵^x]x]x]x]!uC+ Wp]]_ w܁;pw܁wmGr76 ;`v;`7;`/k]ij7;rGDb#wܑ;rG#w܍rGݘݘݘ%#w3k+R;`7%`7v;`vn]_vM M M M_;`?n~%w͉rG#wܑ;rGKܑ999KrGgrUv+vnIn);`v;`[[[[vn|vJ[[ܑ;rG#wܑ;r#wk"wk"wk"wM䮯HW`ݖV v;`vvc;`%`%`%`} JSܑ;r'r#wܑ;rG#wn/;rGDDD/[P#v;`v vHHH!ؕv+#wL,;rG#wܑ;rGY*wܝܝܝܝ;r6nHW`ݕU v;`vvs;`w%`w%`w%`w} ]JSܑ;rw'rw#wܑ;rG#w.;rGDDD/TvnnZv;`vvnn&!UvsJkkܑ;rG#wܑ;rז#wm"wm"wm"w nHW`]]W v;`vvk;`%`%`%`} JSܑ;r'r#wܑ;rG#w/;rGDDD/R !v;`v vnHnHnHn!ؕv+#wnLn,;rG#wܑ;rGX*w܍܍܍܍_;r<"^vSvS1;`v;``ݔݔݔ%vC+MWrGݜ\,wܑ;rG#wܑT?$wkTv+vnIn);`v;`[[[[v}vJ[[ܑ;rG#wܑ;r#wk"wk"wk"wu䮭HW`ݖV v;`vvg;`%`%`%`} ]JSܑ;r'r#wܑ;rG#wn/;rGDDD/]W#v;`v vHHH!ؕv+#wL,;rG#wܑ;rGY*wܝܝܝܝ_;r7="^vWvW1;`v;``ݕݕݕ%vC+MWrGݝ],wܑ;rG#wܑT$wny&wCAj4o nij;`v;`[avK`4-͗ح2[WrG]][,wܑ;rG#wܑTkkkk?$woXu.v;`v vKKK!ؕv+#wO/;rG#wܑ;rG]_*w_;r="^vCvC1;`v;`u`ݐݐݐ%vC+MWrGݘX,wܑ;rG#wܑT$wnx&wsEj7;`bv;`vM?+)))K`Ƈ`Wܑͯ9X#wܑ;rG#wsܑ;r7'r7'r7'r7ILnyv- -`v;`[~`7TvKvKvKv˗4[_#wk"wkܑ;rG#wܑ;rGR#wnMnMnMnܑܭ ۊ;`v;`n;`/[]ij;rGDb#wܑ;rG#wrGݞݞݞ!#wCH";^vGvG1;`v;`M`ݑݑݑ%vC+MWrGݙY,wܑ;rG#wܑT;;;;$w{&wmEjw;`bv;`v]?++++K``Wݯܑ;X#wܑ;rG#wwܑ;rw'rw'rw'rw/LnmހvkԂv;`vnm~`vk`6ح͗؍2[WrG]][,wܑ;rG#wܑTkkkk$wnz&w}Ej׽;`bv;`vu?[+...K``Wܑ>X#wܑ;rG#w}ܑ;r'r'r'rILnxv `v;`~`UvCvCvCv×ح4_#wc"wcܑ;rG#wܑ;rGR#wnLnLnLnܑy&wcEj7;`bv;`vM?+)))K`ڇ`Wܑͯ9X#wܑ;rG#wsܑ;r7'r7'r7'r7I]Lnyv- -`v;`[~`wTvKvKvKv˗4[_#wk"wkܑ;rG#wܑ;rGR#wnMnMnMnܑ ۊ;`v;`;`/]ij;rGDb#wܑ;rG#wrGݞݞݞ%#w3[*R;`w$`wv;`vUv   _;`7?|%wܝܝrG#wܑ;rG;Kܑ333KrGgrVv+vJ*;`v;`vn}vJܑ;rG#wܑ;rw#ww"ww"ww"wM#[nkހv[Ԃv;`vnk~v[`5m͗ص2WrG]][,wܑ;rG#wܑTkkkk$w{&wmEj׽;`bv;`vu?Rj+...K``Wܑ>X#wܑ;rG#w}ܑ;r'r'r'rILnxv `v;`~UvCvCvCv×؍4_#wc"wcܑ;rG#wܑ;rGR#wnLnLnLnܑ ;`v;`7H;`/]ij7;rGDb#wܑ;rG#wͥrGݜݜݜ%#w3*R;`$`v;`vnPv- - - -_;`>n}%wܭܭrG#wܑ;rG[Kܑ555CrG܍ ۊ;`v;`Hi;`/k]ij;rGDb#wܑ;rG#wrGݞݞݞ%#w3*R;`w$`wv;`vTv   _;`?|%wܝܝrG#wܑ;rG;Kܑ333KrGgr7Wv+vJ*;`v;`#vn|vJܑ;rG#wܑ;rw#ww"ww"ww"wMn)H ;`7M-;`v;`GJK;`7Mv{| *S}%wܵܵrG#wܑ;rGkKܑ666KrGgrVv+vK+;`v;`]#vn}v]Jܑ;rG#wܑ;rח#w}"w}"w}"w-#[nxv `v;`~UvCvCvCv×ص4_#wc"wcܑ;rG#wܑ;rGR#wnLnLnLnܑܵ ;`v;`7Hi;`/]ij7;rGDb#wܑ;rG#wͥrGݜݜݜ%#w3*R;`$`v;`vn# vnInInIn!ؕv+#wnMn-;rG#wܑ;rGZ*wܭܭܭܭ_;r7="^v[v[1;`v;`)`ݖݖݖ%vC+MWrGݞ^,wܑ;rG#wܑTۿ$wny&wCEjw;`bv;`v?R*###K`և`Wڝܑ3X#wܑ;rG#wgܑ;rw&rw&rw&rw~H<"^vWvW1;`v;`)`ݕݕݕ%vC+MWrGݝ],wܑ;rG#wܑT$wOr)(:^6{kxu:^xum4xk׵Mڦyum|x]*C}wܵ ܵpw܁;pkK܁666KpGpVv+uK+:^xu:^xݿxun|u] ܁;pw܁;pחw}w}w}wM஫W^xݐxPu:^xu/:^/yy]ih7;pbw܁;pw܍pݘݘݘ%w#+B:^7%^7{u:^xunxun}u ܁;pw܁;p7wswswswwuMnyu--^xu:^x[~|:^/yky]ih;pbw܁;pwܭpݚݚݚ%w#+B:^%^{u:^xunx۾uu ۋ܁;pw܁;pw{w{w{w nW^xݑxQu:^xu7ϧ uHHHוv+wL,;pw܁;pY wܝ ܝ ܝ ܝ_;p7="^yuWuW:^xu:^<++++K^g^Wݯ܁;w܁;pww)܁;pw'pw'pw'pw Юmxumx]zu:^xucxk& mun}u]۾;pbw܁;pwܵp]]]]!wm֊Ю{uuu^xu:^xk:^%^%^%^}x]JC܁;p'pw܁;pw/;p/]Tv+vnHn(;`v;`[;`7$`7$`7$`7| ]JSܑ;r7&r7#wܑ;rG#wn,;rGDDD/][M)v;`vo`ݔݔݔ%vC+MWrGݜ\,wܑ;rG#wܑT$wnz&w]Ej;`bv;`v-TvKvKvKv˗4[_#wk"wkܑ;rG#wܑ;rGR#wnMnMnMnܑ ۊ;`v;`FYvm m m m_;`>n%wrG#wܑ;rGKܑ===CrG  ;;;`v;`wFUv   _;`>|%wܝܝrG#wܑ;rG;Kܑ333KrGgr7Vv+vJ;`v;`O;`/]ijw;rGDb#wܑ;rG#wݥrGݝݝݝ%#w3 RyvuMv]S v;`vMvk&!Uv]Jkkܑ;rG#wܑ;rז#wm"wm"wm"wMnHW`]]W v;`vvm;`%`%`%`} JSܑ;r'r#wܑ;rG#w/;rGDDD/[R !v;`v vnHnHnHn!ؕv+#wnLn,;rG#wܑ;rGX*w܍܍܍܍;r7nHW`ݔT v;`vv};`7%`7%`7%`7} ]JSܑ;r7'r7#wܑ;rG#wn.;rGDDD/]Tv+vnIn);`v;`[[[[vvJ[[ܑ;rG#wܑ;r#wk"wk"wk"w 䮭HW`ݖV v;`vvc;`%`%`%`} JSܑ;r'r#wܑ;rG#wn/;rGDDD/]W#v;`v vHHH!ؕv+#wL,;rG#wܑ;rGY*wܝܝܝܝ_;r<"^vWvW1;`v;``ݕݕݕ%vC+MWrGݝ],wܑ;rG#wܑT?$wnhPvoZv;`vvo&!Uv}Jkkܑ;rG#wܑ;rז#wm"wm"wm"wunHW`]]W v;`vvk;`%`%`%`} ]JSܑ;r'r#wܑ;rG#w/;rGDDD/T !v;`v vnHnHnHn!ؕv+#wnLn,;rG#wܑ;rGX*w܍܍܍܍_;r7="^vSvS1;`v;``ݔݔݔ%vC+MWrGݜ\,wܑ;rG#wܑT$wny&wKEj;`bv;`v-?;*%%%K`և`Wڭܑ5X#wܑ;rG#wkܑ;r&r&r&r~H<"^v[v[1;`v;`؝`ݖݖݖ%vC+MWrGݞ^,wܑ;rG#wܑTۿ$w{$w}S#v;`v vHHH!ؕv+#wL,;rG#wܑ;rGY*wܝܝܝܝ_;r7<"^vWvW1;`v;``ݕݕݕ%vC+MWrGݝ],wܑ;rG#wܑT$wnz&w]Aj74o nhj;`v;`[mvC`74 ͗2WrG]][,wܑ;rG#wܑTkkkk$wny&w}Ej׽;`bv;`vu?k+...K`և`Wܑ>X#wܑ;rG#w}ܑ;r'r'r'rH<"^vCvC1;`v;`u`ݐݐݐ%vC+MWrGݘX,wܑ;rG#wܑT$w{&wcEj7;`bv;`vM?+)))K``Wܑͯ9X#wܑ;rG#wsܑ;r7'r7'r7'r7ILnyv- -`v;`[~`7TvKvKvKv˗؍4[_#wk"wkܑ;rG#wܑ;rGR#wnMnMnMnܑ ۊ;`v;`n;`/]ij;rGDb#wܑ;rG#wrGݞݞݞ%#w3[*R;`w$`wv;`vTv   _;`>|%wܝܝrG#wܑ;rG;Kܑ333CrGܭ ;`v;`wn;`/k]ijw;rGDb#wܑ;rG#wݥrGݝݝݝ%#w#nlހvcԂv;`vnl~`vc`76؍͗2WrG]][,wܑ;rG#wܑTkkkk$wnx&wmEj׽;`bv;`vu?[+...K`Ƈ`Wܑ>X#wܑ;rG#w}ܑ;r'r'r'rILnxv `v;`~`UvCvCvCv×4_#wc"wcܑ;rG#wܑ;rGR#wnLnLnLnܑ ;`v;`7n;`/[]ij7;rGDb#wܑ;rG#wͥrGݜݜݜ!#wKLnyv- -`v;`[~`wTvKvKvKv˗ص4[_#wk"wkܑ;rG#wܑ;rGR#wnMnMnMnܑ܍ ۊ;`v;`;`/]ij;rGDb#wܑ;rG#wrGݞݞݞ%#w3*R;`w$`wv;`vUv   _;`7>|%wܝܝrG#wܑ;rG;Kܑ333KrGgr7Wv+vJ*;`v;`vn~vJܑ;rG#wܑ;rw#ww"ww"ww"w-n)H ;`75MM-;`v;`߶vnj&!UvSJkkܑ;rG#wܑ;rז#wm"wm"wm"wܭ3[+R;`%`v;`v][vu u u u_;`>Ԯ%wrG#wܑ;rGKܑ>>>KrGGr76 ;`v;`7;`/]ij7;rGDb#wܑ;rG#w܍rGݘݘݘ%#w3k+R;`7%`7v;`vn]_vM M M M_;`7>n~%w͉rG#wܑ;rGKܑ999KrGgrUv+vnIn);`v;`[[[[vn~vJ[[ܑ;rG#wܑ;r#wk"wk"wk"w-䮯HW`ݖV v;`vvc;`%`%`%`} JSܑ;r'r#wܑ;rG#wn/;rGDDD  ;;;`v;`wn;`/k]ijw;rGDb#wܑ;rG#wܝrGݙݙݙ%#w3+R;`w%`wv;`v\v] ] ] ]_;`?~%w݉rG#wܑ;rGKܑ;;;KrGgr7vsv;`vs& nnvn|vܾ;rGDb#wܑ;rG#wܵrG]]]]%#w3+R;`%`v;`vZvu u u u_;`7?Ԯ%wrG#wܑ;rGKܑ>>>KrGgrTv+vnHn(;`v;`vn}vJܑ;rG#wܑ;r7#wc"wc"wc"wܵ3[+R;`7%`7v;`vn^vM M M M_;`>n~%w͉rG#wܑ;rGKܑ999KrGGr75 [[;`v;`;`/]ij;rGDb#wܑ;rG#wܭrGݚݚݚ%#w3k+R;`%`v;`vnYvm m m m_;`7>n%wrG#wܑ;rGKܑ===KrGgrUv+vH(;`v;`;;;;vn~vJ;;ܑ;rG#wܑ;rw#wg"wg"wg"w-䮯HW`ݕU v;`vvw;`w%`w%`w%`w} JSܑ;rw'rw#wܑ;rG#w.;rGDDDgr7vK[얦v;`vM;`4-MvK| ]*S}%wܵܵrG#wܑ;rGkKܑ666KrGgr7Vv+vK+;`v;`]vv]Jܑ;rG#wܑ;rח#w}"w}"w}"w nHW`ݐP v;`vv];`7$`7$`7$`7| JSܑ;r7&r7#wܑ;rG#wn,;rGDDD/\M)v;`v vnJnJnJn!ؕv+#wnNn.;rG#wܑ;rG\*w͉͉͉_;r<"[^vKvK1;`v;` `ݒݒݒ%vC+MWrGݚZ,wܑ;rG#wܑT[[[[?$woZm-v;`v vnKnKnKn!ؕv+#wnOn/;rG#wܑ;rG^*w_;r=HW`ݑQ v;`vvS;`w$`w$`w$`w| ]JSܑ;rw&rw#wܑ;rG#w,;rGDDD/][]+v;`v vJJJ!ؕv+#wN.;rG#wܑ;rG]*w݉݉݉_;r7= [7``6`v;`[-``6حMvk%vCLܑ;r&r#wܑ;rG#w-;rGDDD/[]_u.v;`v vKKK!ؕv+#wO/;rG#wܑ;rG]_*w;r74nHW`ݐP v;`vv[;`7$`7$`7$`7| ]JSܑ;r7&r7#wܑ;rG#wn,;rGDDD/XM)v;`v vnJnJnJn!ؕv+#wnNn.;rG#wܑ;rG\*w͉͉͉_;r7<"[^vKvK1;`v;``ݒݒݒ%vC+MWrGݚZ,wܑ;rG#wܑT[[[[$wnz&wsEj;`bv;`vm?;+---K``Wܑ=X#wܑ;rG#w{ܑ;r'r'r'rILxv `v;`;~`wUvGvGvGvǗح4;_#wg"wgܑ;rG#wܑ;rGR#wLLLܑy&wkEjw;`bv;`v]?++++K`ڇ`Wݯܑ;X#wܑ;rG#wwܑ;rw'rw'rw'rwI]H ۚ7``5`v;`ۚ)5``5mMv[%vCLܑ;r&r#wܑ;rG#w-;rGDDD/][u.v;`vݏ vKKK!ؕv+#wO/;rG#wܑ;rG]_*w_;r7="^vCvC1;`v;`)u`ݐݐݐ%vC+MWrGݘX,wܑ;rG#wܑT$wny&w}Ej7;`bv;`vM?R+)))K`և`Wܑͯ9X#wܑ;rG#wsܑ;r7'r7'r7'r7H<"[^vKvK1;`v;`) `ݒݒݒ%vC+MWrGݚZ,wܑ;rG#wܑT[[[[$w{&wcEj;`bv;`vm?R+---K``Wܑ=X#wܑ;rG#w{ܑ;r'r'r'rILxv `v;`;~4UvGvGvGvǗ؍4;_#wg"wgܑ;rG#wܑ;rGR#wLLLܑ ;`v;`wHi;`/]ijw;rGDb#wܑ;rG#wݥrGݝݝݝ%#w3[ RyvMv{S v;`vRvMv{`7_;`>no_#wm"wmܑ;rG#wܑ;rGR#wMMMܑy&wkEj׽;`bv;`vu?RZ+...K`ڇ`Wܑ>X#wܑ;rG#w}ܑ;r'r'r'rI]H֦"^vCvC1;`v;`)m`ݐݐݐ%vC+MWrGݘX,wܑ;rG#wܑT$wnx&wmEj7;`bv;`vM?R+)))K`Ƈ`Wܑͯ9X#wܑ;rG#wsܑ;r7'r7'r7'r7ILnyv- -`v;`[H[[[[vn~vJ[[ܑ;rG#wܑ;r#wk"wk"wk"w-䮯HW`ݖV v;`vGJg;`%`%`%`} JSܑ;r'r#wܑ;rG#wn/;rGDDD[gr7Tv+vH(;`v;`#;;;;v}vJ;;ܑ;rG#wܑ;rw#wg"wg"wg"wunHW`ݕU v;`vGJw;`w%`w%`w%`w} ]JSܑ;rw'rw#wܑ;rG#w.;rGDDD##w?+Fsc30XA}pt$@@@e鿱^l9hLq#﾿8# 猣3{3R$|ϸ깳'8/7{g a:Q&f)nP<3z`xg\DgEmh=u>O>pS3\=>{3B |899#O;{3J"|xypF+ހ hbFFꁉ^Ń=&Z'{ULqF)^O=0V3N3)n=xg㜑'{Uϝ=xg }{gpq1uƢߞx\f'ߞdp %c#ad f~a -Hśpq~Q>CmX9sU,z9cO}F,>ch,HśpqsߞR|]oV<W=Ipzs0cEE3R&ggCEmhŃpq^pK=`FEy/gM8oOpF)> Y4z{6gAϸoOr(sޞ'/}V,Z7>8}.hsF+Xr(ZE3*/}V{\7>=3tѽޞx3zۓ1'>[9o//}V,Z7>8}.hsF+Xr(^E3:/}V{ѳ8#o}Q}{3J!gg=3Z g\'9cO}]9o>c-Hśpq~Q>C-X9}U,z9cO},>C 3c#bƘT@ʻT?HmD]p">LTޥ\w5x j䏉ʻT4]^I\#u">L%v&L%C<5$:A 5KI 5K7\w~]ʻt5x k|LTޥ{T eD$Z]>IFw &:hFw &:s!DG ^LTޥFow &*Rk1|@Gޥ\ÎK1S]ґwj ^w$r$ކ;u">L4$v&L4$C<5$:QA 5KI 5K/\w}]ʻ5x k\&*;qxk0O-HmD?IFw &hFw &s!DS ^LTޥFow &*҄k1|`.M< 5K1S]1Qy eD$Z]wo0ՓdС1333/)K_ngpSF ϐS eOxKd큨y2pDa*[ΑbdĤ$W`SS/ TM:pH,j\"L@b4FJDBDӫ"G\YDC!"C"4YkzECzTنC0e6&Vg۟Uj:Wb$ۨKbQ #)愘 (KZ1; TJ1b>?X!N6g#{.#٪'{2Bw |/E wRn(䫬mC}_ |/||%{F#RO"}sc<}sn}/}:0#><}K8oG_,ze7 }/}xx =YvjQ}/Zre-eJ۳Qeޙb}CVzLlMdlSgC}/Ev;7_oJMG_I@ߟB_tyFyV} 1|Tߋ\5a^jz~ Ⱦ<#X7*"|Tߋ]6e͎j)">(Vqo娾zQ%39^/O "wKi=ٷkRIYnGȾjF3χI]"uTtcWuz)$YB_ }7yTm{y.A7p'x6{:ϩD)4GR#COgt}K 7ZQ}=7mT6G_ J:s|7gL]C_ uxI5W.ʾKvOߖXy>/Ⱦc_ay}EW z9ڤ&;ةAߟB_GȾ&<}k&a.w@9_[ʻY/Мշޣoᶩ2G.}?B_苩+L]UwVZf[Fɾ* }/b ٷ%ힾS.ҷAaȢBx|YY}/8}cFR6z<ʺ@_ }qs_d9V͋ʜrTtOUFj7(ϊs_ }}vWDOɾڸStS̍,"B_;34[.ʾkuWC' @_ }o\Ǝ)(㨾r֌蛣-B_{+ 7s̞G{a&JѷJmAO"B_շ qJgɶ7\J1jaG }/}8{UwDQ}=SW-DOZ!gSWxBcOi\N[t1=}WwS_ }y۾s׾¤;ͲoN8oGߞ$PLRb}/Şgr۞({Ѯn:3G1*Uq}/oGWЪ~ ~5}oѷp+n,Oiv]B_y~W҈)hGՋcq:=r!miCOb g<}Qz6^jThzju)GȾk['騾JwhΒ(xB_d߲i|5[4^}rwER"N]c<2o+}% b}tq.J B_ }،GwHZ֣{}eB69nʹ>%w }wM}ˢXoʔGGb^oFO_)jgw }/E,yD.w@wvmPe=oB_ }ٗߊh_D}}/Wd_軤lOܩO[}SAՊ}G~ }//nD-kzTpѷQȺϾ@_ }/;5wZ3Ƌe9<8/<#AN<:;PHNGMf}gLkoBwyA%y#y6^*4V7 B_Gy~yN-uTߋv],wA6Tuՠ/8E%^=}bɎ{ѮOUP}<}c""CT}gLĻEwLm96dzooB_dw{^l<<}EG{i45\ϾB_}ߡo=}[sί;Acᑇ 53őv,~5H2K3 mM>ߧ_"jj=oW%o'[yQ-_K<~s#8.JKjI[~/IŒ7ï>Ri,O˽_ ~o_NqǾo6rMZ|6DaG26F/Žn3"ֲ7Y~"~g8g!HC} ~ly#෕{QuW5A6~m ! ~/v^]΁V7;˯ݓ~kݝsUjm _;Qǯ1e,mj<#ߘFY_<~/EE\oLϦVQ ~h_wq+SUճlnuO ~/@gspn,zߋ^u)Leǯ@_ ~q ⰇojY~/zGdooB;_Xց{-LoikҎjg4oP<~[]J>o(ĤcïD<% ~/c6); o7Ɣ[:i(s#U^~RU[.׬Qk1#-)_Cviǵ+;ъIBS/β7 ,z!w,k~/w=~Kr8-ρBlgX+S/3kLE^~0:=~Ub? HNh.--7=Ɯ<~G4^o~/=~[g 4cmR6N+?ίn ~/nt_05imgߵ4fy|K'ߑ~o!9)7(RS/h>TyLK:oLZ5%8*~/|kYw ~s,TZY~EwN{ߞD(/S/EE%k`=˯oN!S6R/H_Ocmbӯ^įI#nKM~?_+[d6Y~"~49: k|Y+_k\V |zEtRQf.)_4|&æ#Ҋo.rg נ;;δs`)_4oOyJ%WrgjS[K!5>t2 ~kzh,"~ \<~+h8_ ~/)~+/wF*Je[ɏ:/GVur5RkkƬ_<*_ ~qu™e=˯\oH2Nx"%=~c&p{\BC2Ig? xrgElxFaI[X~4< ~~/ WY,"~55sz6ITߟ_ ~okxL/,|}T*e: ~ ~| ;B7oHگy*)"_t9(&g+5TB~/#G߽H)&BO^Wb9C=oQhxbgg=~HghUyr32q+{"_+e _JE0vm6Hr_ ~1z~5˯)$,zi9iW/' ~-n,v=Bi9]+/sdǿU-UwL EY~ET&^PSk;/_WuRv0} 񻙺+|s1 -^]U(k_4o~5$bk,~GߔR#y=ίm ~/ŃGК}7^į!~un c, ~//o<~KmsH+6&?-\~5SX37dc~3I:~/KN;P[hS/h>ߙJYS:˯\o5% Nm/ ~\9E)kbU& ~~/]-_@%=L˂~KL=~?_ ~<~О0"~m+ʠVw? ;&77!*_@)/6) ~// !%_&,~w*d_m _l:[L_ ~oi"$g-sQVl ,~ _6<~uS^oO{lN;ߟ_ ~=~[&:k|1Imߵ f~ k7vØwF*\Y~-k7"EIL9((_ W҇NƋY+i2w ~/}ve=̯_"m0~SHv(!~/h>:yIcY;o*zC&ε>oZ_['/grS0"~WJJ-\_a/v6_z)g{͒;H҈7_ ~q#oFMghUetXiOq_ ~qgws]L&MkR$[yQPK2k7~{4gh4m91{&)=>/'y"m.&{^=F#~gz\_ ~}7iAŔ7Y~/z+/2cs]X緀_ ~|;-3ǯ&Y~=Z+4~WB+(?o6 ~/Fq ~#Moߚ{)wYվ+_ ~q~=~'Sɵ7_oǯQ_a?ί_ ~ q렯RHw,~$$9o> ~/Ho7Pm;6)+k{Gh/h>Km<~G5K>˯2(N5;Ws4N/~Im_3.ߡyn#kAkNRpү-$, ~/Hw7QߕTM[ᷤ7;&NTz}ߐ_{~#qIW*I~#=gʠǯo~~@<".JSmnҟWw ~//!*YzxF4;hQ燎_ ~|F9Ti>#soӖ9燎_ ~ Fw3m]z|#uu5SC~/8=/MyQ-ï4xɢ_ ~qē8=oyJK$W9UJoOPyOg",W'!,zO:=~ ґ~/E}:b= ;֘,vO5Fmh._[6/wӰfԸֳ֋d!fā~//"&Q~ߓ~k,t-vmkP]#_ ~/F/9}xZU7\o&~gF"Y/E~1zՒt!Tg-g7?7o7S%ȕJ]_ ~#D9Q-:]xY~-7S+B_ # ^//E=/myN*W@)Gz=ࠝ_y~|.ĭߨ6qr+xnP(<~{N^=瞅iYB/~I<_h#7r)H4=WM4~gU|<~/Žߗ4o7NZ.wi!SXHRKOE/cE#(T{1(ϧWCW|^~sttZ%Uq&Wa0]_{pN 5Y~=WQj7U ~/~[׼Ih&G__\~.iWo[(Kt }Jeo6~_ ~GJW+2Y~[(dbk~#E1sߗ[o4zg;BPq?/~/X~g7 7=Ɛ,6"_ph_ ~~d RsPnxT(jdllĞW ;[;uT{g;rI)H ~/h>wztO9֩֔(WHBV9os<ǯ_ ~/DoZ~5d:,rO9[P;&8._ ~~syS%WIE)[ 4; ~//o<~PҼkk:(bT5M+nw ~%eV){֫2K^΃vH~ Hh>EwfjQ~3ߓ~Ek(Ec)_ ~-67n|ߔ-l|tOM3mR&qu_ ~q?4]W'Y~EwAokl~_ ~/k7o.<~j!*ıEr_!~{)}9+4G-J%g' .H ~/N[uJZïoɩyA#W/J+nҸWQ._?\Z{Zw{,wm ~/#3 oyzڙ8ߵXy_f|=~S"٫W.z5GYߙ(/HbE5<~K9y7 Q:  ~/v>#jNW#,"~%E=~Gˤa2 ~/ƹzD7]oDU S߲i|eJ$V+ݨkgh0_@6K~/F0;';o'nIښ]R-|#/_d!Ń[ݝW.JFsy^)燎_􋥓H#;h+\6ߝ ~/W͑B:˯|RS ~/_|FC@l=o(T[5ɮS/EoרH5Σ*_~wJ~o`⠕Fc~//^!4{o(%PWdP,;Ow[^(%>o'Fx{GW($3jY~=7,AB~//N(=xJN/J#2<~{A_08}BVܓ~S΋1Z_ ~/f۔vu_ߞڊƋf~ ු=~W*ct{ΖH.)__+I>˯]įm&V 꿍_ ~}a*d{5YD6,ѫ"SwJEW|_ ~/N"ߚ5{8[Ldq9ldʺ_ ~/nUY~=J[(:燎_ ~ n=~g#+W9ӬoH2ϖׯ$6;VR,mRJC&_ ~~Q~~7פJ5xP{+X܋Gj#Ӯ_{AE}ߘukY~/ze5(᷍F뾀_ ~/~o0=~ww9˯o (Fsհ ~ k7XnwsR׳E[w$_ ~ɿu_[Yǯ1H,v9Zw7ѫvIrߋ^T_#X燎_+\#;{H{vrJLvԣ*__ۈh3ܝ+;-BVg"^ƭ7Fr=˯N-QZ`;C_ ~o40+L>?ojiyNv_gyR*}yJ5 3 ~1gߜ[-X,٨ۭ[_7{~koWbJ/ ~GM)Lg 4s~EY3_ ~9W$!{oຨ΃ ~ HHHZ~,DbSy~/#_]=~P6/Jc)<~dv;s,~mJep-RMWK~_ ~//~oU֨X+hk9ݬ~?__ ~[3 ,zZoBy_^9 .?z&~GPߙ(Nv)J6Ɓb/_3'~{*w'23=oߖbQ ._qoz.(/w@"^:Sda_;R$TJog ïJ!t_\/lKhqg[[9V4b3F>oF#>E[{'uS͍/zudH+tߋ^A7IcS/EŽ_[mP uW/wPh~c_ ~WWcS5)kq+=~Wh?7-~e_ ~|GN_J,_թ?ϯ ~/.Wh>?o5<~5P4k`ߕb½W ~/yϯ߱g홊q?o"i9ɢ#_/3ߵf݅R>oߚʢV~mDڭU_ ~1 `ztʩ{wHg9/q0W;lr|g'I%E- _ ~oTR(kҬ_{Z_ay~Kk(2+\Y_ ~q]~MZgΰLS 4燎__s;,J>E[Ш+ 3*^/[0|]qR9o(Ψ$ïJ_{P_;)XSP{]%2aY-~ HOF_KyY~]i4kN>/g;yL;t_(%d<~U 2a~/{uD+u_'b,s[J ~/Ž_3wwzzޓ~w~[Šg~K^G|K5b#~%GR ~?__\ᷘЎ燎_6H#Y~MRTm_k_ 8_=_|.|o#є$-!oxߨ ~/.=_ɾ_,oY~E$ye^_ ~qgͦW&:,"~Lҡ;E2o5_ ~1@<8{62a~=YW'dJ!|y_ ~|w[RJ73zUF4zW_ ~/&׿EݯOwb.,~%'%b["|g<7kwii{+5FbK$<8~/}Ww]($g{մ+2wY{~/~{7P=~wc.Ioa ~/E}z^7 i^"Gڄ_ ~_gW3_]4M^YZo ;,_[2gzp5L)+;Rj1+a<F^ZYdxwN)a~=(J-4T3WwCd=Y~EU<~wg0 ~/=g{߹t A5+ۃ%jm9™Z_ ~~72j?~"~T0F-_ ~ܞp,dг=W#d~KʙtS _>x;Uʔzg:HzZ.ʰw>8~%RH֏|ujwLu_ ~lWh>?ϯiIb{~gٓfm_NB6Ul4=o'-23h>?~G-2{ʱvPzJ_{;/;:IkPׂR1_ѫ3̸JyW;J;Q1_ ~~=y~w>,rOݽd2NZR_ ~$>r{Cݓzk^U␙ ߦv_,|+-^im>~[\Tz(ES/EŋGH%k[8Sg [J<;=_ ~/[8=ϯ9<~R0eU_{1{.+xZ%.-7o{]ZGs~o6=~G-=-~PK'o9./AuthenticAMD/AuthenticAMD0A10F11_K19_Genoa_02_CPUID.txtז6@aɫ 7 ͽw][%C pim: %TZÃQZ/+ n}= qӧMh箾.}xhԽ{7#Ba2V$R"#ɭ2rY/v:p:"ȈIRJW:@<@>x@2;Hc@@f@ DQr;"F-@|>)SY T@ӊ `##*u,y .'# D7WPvAk61VbY-v+WM w}nWc6ޱ2/k2{NFQb<{׽<:hR(pBIn978Q!Lj̪{".*㰛0jl|Pg_Zv/`u:'rX ` %uQi!Y4}y{^ANLX,qJr-,kd4ZXi ᡕRl{˯ju G 41p>]s*PHaB:S5͠CF̽ d5(,h-J;k/6@4 Dte5LeJIU T@M  R Nd R Ȧ@Y Pe 0h*;JOT{H}(}>V먉hkuId ݸzOunjNj\u ¬λv F?]/Ve_h_?30F h2[>/貗u4^݄'ri?ǮnEQL?cjJ&x \,ծQ;jJZvժvԎQ;jGvQRkڵDZv}G#k]uz-:X`u:X6~:Xzu=`]uA+ڍZvԎQ;jGvԎڍRvn$j7 jԮW,v:X7X`u:X`w un&X7 MX[ϰt[ԎQݪU;jGvԎQ;jGݢvԮTVv+QQHFba{u; `u:X`ź}7uvu;`C+;jGvԎQ;jG]jGJ$jw;ڝyv`kuo]ֵ :X`u:XWuwIkWu ]ֵ;X~c]bvԮ%jרvԎQ;jGvjר+U]KԮ%j׾vԮ]nUvVLv:ZZGhu:ZGhֵ u'Zi}uevۍva;lvخvl7 ۍw۵ⲛ׽⺙pu:\purݼ:\Wu3ẙpLn~p]{uuvۭv܎q;nvܮvn[ۭև܎gn*6p+ m\pu:\p]-u\ ׍\Wn^Ip;nv܎q;njp;nWv'qI||v`uon\׍ :\pu:\Wu㺹Wu n\׍C\s+Fv۵v܎q;nvܮvnk۵ڇ܎gn7*6p+ u\pu:\p]-~qພp]O'\?u<纺np;nFvq;nv܎q;nWvqRۍFvCn~ݬ&un&\7qu:\pu\7o ̈́fuC\~s]f{v+qv܎q;nu]ۭVv+qvzvb۸׽⺝pu:\purݾu\ ׵\Wn^Ip;nv܎q;njp;nWv'qIpKYDQp+oa󸜁{r#*i9yߡ21#3c[gn}qqxถe p=#'˞3 zF#g4 gSeO!gxx+{2;=^22xɨ< 8eTDxFC6ϯN7Oz:&kS׿kcoYkp o?嵛͛yخE kva,G m@7,1 ᤏ_>2 QC0ۖp"RJ!}eFy:B+=\aIfPvi.hV'ԱU 9C✴H:r8*Gmk]KCI[V$2OSݒvĴ%+ݐlOZMĦȃEJHE.35 x4>.n鰜. &~1_¢ 0ޱ #0W3@~=vކ s$IۅwGgcMW%lQɡ{I[ T}W "F7fccM`C":>#)MQQC%H2stـL$Ji !(5v lI ^0*!n^vMa(?G%MwrJ=t ɪP~%%}>oŌL)EB-WzU$8H@[""A=qN#+)fUXCS?  (;o&Re'"|HTF# |1Q>P:|߂vU )f_vW8*WjXcn|yu |VFcȻ5q>|f;=5u'"|T e*LZ~o_?e9?_gX&β>V¼_໤[@9T݉O%ɯuUBENJ 13w"|On;縂dO%WI*sQwi2_NJSѰ}Xl$7B;Mr% |ceff(2l {=:9Ɠ͉-|}P79(=R|/_cSe 6h;7(E]rWP_ |qڙw?cîq>|b;N|_oIf7/3C_{ow4@GުGkfCꙘc }/=gƕχ˜;m7 TV}EhTCksKB_2}U|Zuԍ#7W3B۪oG꒧651)/ř#-}wj EκU|,}KT|ZBߣ/,TGI_ր!wꘆ+Ir{oHߞ<hz/}q}nw}˅s\/na.q/~"}j[,= B_L۰6yޯoK7,mmRҷHڂ/:ϸ{NK_q|׭{wK߹~}/<6-}Uw/WPMC4B_ }}~jSbޯ/uoZ%ͭE }SZB_Rʿp4$9ԕ}}?F\oV˗=зK^G/}'P~>4ƃԷ$SV}=0DOƾoH뿢_u7w }ps7з-f|9_}똤oj ]B_9ϯE}A<[D3rݪoG2E%y wX/􅾧{o.Y=Sy7EJSBǟ`B_tO6ޡo̒-}G#&o}})$}[.4+ їN}//Lay2q*l4Dm헁22}LQ<ʝFD1pTQ^"1gJj/Jڔ.k (}VGu)V킑s`Òͼv.\f-YMB[6b\ F0UKgĕ$j U=w{pX( *ą&Ф2BS# |=|گ`J~0M߫q_P @\ $B9!PGOrEgt u^2;: p4CeΙcV7U)%)P)MR L()LH@:2)P^0 Ҹ2Z@ :QE_|;ۻѰٵwm-W]ia{+u1^I`<0xaa20+ 㕄Jx;++#"J]DdzGw;zGwzG]M&zW;zݰu1x-a0xa<0ƛPx%k 5[_1^uݚJw;zGL#ѻ5ѻ5ѻ5ѻ}Gz7,0b-a a<0xa<7mCa-a-a-a }WFDx;w]z'z;zGw;zG&ӻ7wnOnOnOnwѻ Hxa<0xMxPxHHHxa#"ѻ.;;w;zGwwLLLwѻ .Jxa<0xMxPxJJJxarmDw;|www7w;|wn2wn ;|W x8xq<8dp<79ǫo+Kwew;|wwe|W]Y+ˇߵw|72+q.+8xq<8dW8x%q8^I|8^wjw;|w;|7;/|F]M&|W;|㻡^xZxq<8xq<75:^K%kry o}yuDwvwgwd~w;~;~wLLLߍ .y J @y <@yPy J J J 䁼!w݉ݓw;~wݟ~ݝݝݝ!w{=]@ޓ@3<@y <򞡐@ޓ@ޓ@ޓ@?[7˝rm޸8wxǒ ?$u 7k1ϖ';7 r$wBo zI0%qй)rNܶ\o$:Νylht.wߖ N<0%yqiǖ G'cz#0-NsFa>[7˝[ϪYh=`U89! )j BP!>`d^ tfj5io͵Фd09%sC ۴E4ѪjWv0mTf6LdqZFZCBH# H-3 Vm fnõb5UokRjS)˸iP:Ц}h"lFw\C!hⵅXX5 Isėnm 'Z?RJmm9Iw6!feG(W+ %_KXcF˟r:J?K?;w_ -_ 2b ~ hB 3a 直^OWt0[;Dg8IJЊ0=(yG'MO&%Y7O7>.;OgQ. ^\#xGU%πs3I=Q$ ^},#&ֹoZI=e^A1d6G_?rgJO8'yrx]VfN; c݁F(GWFmlI "#x*^E DPF{3ţx|xAsī1T|xyV{o55xQ 3+E c'ތ1Q=Mݒ<7zHpxQ_Nx ށʌwV .mK*Q--UE=75d<ţxEZu'^6U˞[~x_! 9CXO//³xyCN΋G(+/Ęi+^^X5Q=+Lj)ţx@ߤל܋GG^nij/#t0mn[Q<>{I\߈}Bl~/"¥1{'ZC1^Q<j2eu'^*^Q=i,^>x⽗UPN^_PK8{=./AuthenticAMD/AuthenticAMD0A10F81_K19_StormPeak_02_CPUID.txttTg0~?lz#!t^N;@J͓DY)F+y}\* +''#$  pmRVKpXWmBJ&'Ņa7dWZn׬mt~NhQ15! 5K)ǙMlNJeXW~d] 5&z^GȖRܪ5z1V[r^ (V$9 ݞ%gS)K.ςjZ~1e]-$ҪB0uTӑ `-ƥ &?\NpR GV9?JKkumkqcUJRy)$m[uJs i>)$UvpХ1wM6PD$P ZeAҼP~:7+PKSѬdEriN 6iP h?UJ) x`61ԛc Bf4őLtH G x2#G0M0A0=F"Edi˅㮉5L+MP.B,",$bzii[I,#A Y ǖi"05p[ؑ,[Q}Ktʘ>! >A؎4%^4t/[|_ |Kw8yToӯV=Q*'?~c~f}gӟ*3C4߯ :/oKLώ} M! G-<B5gOjhԳmze}+[zW2<;zGJD w;zw;zG+ wDDDG]һw;zW#zW;zGw;zGe;z׶e]{w޵޵;zGw;zwkD;zGZDZDZD{-zw=w0w;zGwo;zGzDzDzD{ލ-z7w#w;zG;Lwލ;3ѻѻѻѻwsKfGzG݌ݤw;zG;zGw wnFnFnFnGһw;z"zwѻ;zGݺc"C[[[[;zw zW'zG]zW;zGw;zWZ?A+W@лr\;zwzWw%w0w;zGw}z;zW"zW"zW"zWޣw\[|W z;~w;~n̨~]]]]}w%#wEw;~wvz;~"~"~"~^w]w;~w߹wk{~2n<;~Fa~w;~wgw#w#w#wE~ y;~w;~~݌݌݌|w##wnEnw;~wuz;~"~"~"~^wnLz=;~zw;~w ~]~W+wzw+#wDw;~w\w.JJJʋ}GG~]]=w;~w7f wFFF}f]{wߵߵ;~w;~w{D;~ZZZ{kw;~#~;~w;~]s=/;~Wdxwߍߍ;~w;~7\;~FFFƋ=~7w3w0w;~w;3"wmZ߭G~݊:w;~w wnEnEnEn]wzwߵ+w:w;~wv]kW"wcFߕG~]]9w;~w_wߕߕߕߕ{~73>;~ja~w;~1fw5w5w5wE~֞߭ kv;~w;~nh~]]]]{=w;~w߹w q;~w;~Ɲ~݈݈݈xvm]2n>;~fa~w;~wgw3w3w3wE~ʞߕ [u;~w;~֝~݊݊݊#u&[~o__Kg>']M R5IJzdȍsܑ;y CD慼8/ysޚ|4_&$|)!?Mss<y"wSB <ޚr<9_yq~Cޔܐ禹#_]@~ <Şr  7GE<8?!OinȋϞY(1`U<|$˶C'MO_rO=?pw\>{~kIUz9]ܸ|z'7bN aw j̄a!Uě2cd@d2&5i!5.Ɉ%[F n6fp}nڈg惨!do> RnHH({U H,#)5"D$2H_T )i AX(}DNWQCHB|y΍!z䧓 ɯy~sF,PGh[7b^J<㊭YhP `R7 ŧUK卥e.#4E$=yWM`FLULM,ϹcYȡ%8jqV[u>DjiCܷ)A>yLB5 %(f D4H6H ,o 21H ҬJjh꜌~Hp)5P5B8uJț{O63Xcx$hl>&$DPobE &AS$NOk mB1 {:$7$7$w; FE?R,-kzvlN H6i;MzF!F.|/V~hDv4n)G|$%_"|5tֵ_>_iq:VL=]_ |-4n>2Z˽moYǷ _"Q:v·M6÷Ik/"oUߖ2SQ;s𵠃&{f-H)_ nJ_Д=|ҵV߉o9_YBM(5 _ |p5ikv|SVOosI{g_{÷.}m| |t){^( _ |Q푶pM%4|pL``h#LwҌXʋ ИTld;`:zakwTH¶J" Ej㺩`h5U%o' kc NBX9$NɖӉrex<|z?p ΰo,]E)[(V^UFĮxRzh\SGSr="8ڗU/Ӂչ^gUU!7$=kBDjGRQq!W@sRf HwsZ?49DKbyF`P$I3οxd$D+Lȝk9p>-I5C-pWeiG9S wdAުv*hԞO3W<1̂yq[i "/WFϫMSXL9#h BB +߸hvM0!H㬲ZTJ KYe&ŵÑz#s~IH;-}}QR  @f feREe;wv`@I\?5.9Z*k-P()a7?: U d#%pkQQ]ٚAњTCPP uN ϯ_yfeW7OHL- KWC _ϪK3GǭK$nU2̒se}y_@F̐^<ץZCnJ]\z K#ǵ+h#R"iN4N+3I mCe<9o $5X2Z nڲ;q-l#NWL( !,Xr ? w8}4?vF(MT @K:%RQ| lwj(\TI'zHWM4[ۇO?v9rG }^ۻ3ד?y?ma%z_/&DLga<&ba<0xa(a<&&&~0^^J*;zGw;zGoKw]w]w]wwh׿bӻ01xa㻢8ǻǻ+s<8xq<8]8ǻǻǻǻ?xozxK mwm]w;|wỶ;|6ߵMwm]|Jfxm8kk+s<8xq<8^[8kkkk?xoyxk {wu uw;|wo%...C|g|W4_9x}x}e8xq<8:x}x}x}xwu#k*;~w;~[ wnHnHnHn W@ޘ@X<@y <Ƣ@ޘ@ޘ@ޘ@!y3kKx+wnJnw;~wo%)))C~~W4ě_Aysyse@y <@țBysysysy  +-%2w;~w-;~]o}y  䭕Ay <@y o- y  <7=D;~;~w;~FY>wn~wEC<'Wy <@y 䁼(<'''@ !;;*;~w;~W wHHH W@ޙ@Y<@y <΢@ޙ@ޙ@ޙ@y} !;~w;~.w]]]];~>! @ȻȻ+<@y <@]@ȻȻȻȻ?y {ySkw]]w;~w߳iۦ;~5uMw]]|]Jx] @kk+<@y <@^[@kkkk?y oxys{wuuw;~w][>wn|wEC<'Wy <@y 䁼(<'''@ !*;~w;~󻮄;~7$~7$~7$~7|x+y oL o @y <@ycQy oL oL oL o䁼%B;~7%~7Uw;~ww} wnJnJnJn W@ޜ@\<@y <梐@ޜ@ޜ@ޜ@yCD;~;~w;~n(w----;~>! @[[+<@y <@Z@[[[[?y {ymo{wmmw;~wnX>wwEC<'Wy <@y 䁼(<'''@ !;;*;~w;~󻩄;~w$~w$~w$~w|x+y L @y <@ygQy L L L 䁼%B;~w%~wUw;~wws wJJJ W@ޝ@]<@y <@ޝ@ޝ@ޝ@!y3 x}.w;~w~]~7Mw}!wC++y M @y <@ymQy M M M 䁼yyc{wuuw;~wZ>w}wEC<'Wy <@y 䁼(<'''@^ !*;~w;~󻭄;~7$~7$~7$~7|]x+y oL o @y <@ycQy oL oL oL o䁼%B;~7%~7Uw;~ww{ wnJnJnJn W@ޜ@\<@y <梐@ޜ@ޜ@ޜ@!y3[Jx+wnInw;~w~ݒݒݒ!wC+⭯ 䁼52y <@y E!䁼555CgW~ݖV;~w;~ﶟߝ%---C~և~W4_Ay{y{e@y <@ۋBy{y{y{yw M#!;;*;~w;~󻫄;~w$~w$~w$~w|]x+y L @y <@ygQy L L L 䁼%B;~w%~wUw;~www wJJJ W@ޝ@]<@y <@ޝ@ޝ@ޝ@!y3 xC.w;~wVE5 nhC~Ƈ~W2W@^@^[<@y <ڢ@^@^@^@^!y3Kx+wKw;~w~]]]]!wC+ 䁼>2y <@y E!䁼>>>Cg7W~ݐP;~w;~u%!!!C~և~W4_Aycyce@y <@Bycycycyw 3Kx+wnJnw;~w~ݔݔݔ!wC+ͯ 䁼92y <@y E!䁼999Cg7W~ݒR;~w;~ %%%%C~~W4[_Aykyke@y <@[Bykykyky  o.m-2w;~wm?Kw[w[w[wۇߍh< <@y <<AțAR";^wGwGe~w;~;~~7;~]|y  䝕Ay <@y , y  <! @ȻȻ+<@y <@]@ȻȻȻȻy oiA;~76ߍM]~w;~- nlC~ڇ~W2W@^@^[<@y <ڢ@^@^@^@^!y3kKx+wKw;~w~]]]]!wC+ 䁼>2y <@y E!䁼>>>CgוW~ݐP;~w;~m%!!!C~Ƈ~W4_Aycyce@y <@Bycycycy M /M)2w;~wM?KwSwSwSwӇh7< <@y <7<A[AP"[^wKwKe~w;~[~~w;~[]o}y  䭕Ay <@y o- y  ߁<6 o,m-2w;~wm?;Kw[w[w[wۇߵh< <@y <<AAT";^wGwGe~w;~;~~w;~]|y  䝕Ay <@y , y  <7! @ȻȻ+<@y <@]@ȻȻȻȻ?y ozyKojwSw;~wwMwnj&ߕ <&Vy <@y 䁼(<&&&~@ !^*;~w;~]󻶄;~%~%~%~}x+y O @y <@y}Qy O O O 䁼iIؔ(WސP<x<u%!!!KڇW4_I#yc"yceGH#y$)JHɻɻ+)^JH+{3B |899#O;{3J"|xypF+ހ,agz`xgxg\3J"|xE3Z|p]E 7ō=8#3{3R$|ϸ깳'8/7{g ha{{Q,Z'{U,8/X9oyQ0Fc{Qϙ=xg\Q{Sϛ=3Z|H]4aČ4ō=^Ń=-Hœ=}Q{S,ڜъ7{Eh|qMq#|p1Ń=T< 3z (ŋ=͞xg.ZhbFFE/gAqgIq>(ŋ=mh=o^|Lq#|p1Ń=T< 3z (ŋ=͞xg.ڰhbFFE/gAqgIq>(ŋ=mh5>YԾy(>S3\=>{3B |899#O;{3J"|xypF+ހ?aflA sc*Pv(`!jDw &u &iDCm`QL4$M 5hHL4F]0QyO5Nw &* HiD]5xk0QynFow &*\cF2єDK52$z]#I]$\MIt\cD]j|A< 5K]ʻ5xk0Qy:]w?#QL$R aq#^HiqGm(eq#>hmDK#qK7wk0ћLTޥw\wk46|`.5k4mITxk0іDk0Nw &ڒh2|`->hmD[`=ʻ4?xA< 5K]ʻ45xk0Qy&]wi>#1Lt$R K9c:yopSh 8'g+h&hZu_*ِ`g%oiNIfANf*}U|I`78My}4 ^nÃ?>B%ZeNع{t9B0B]Gt0 ]7!c^?fķa-/ :!vDHڃ٠NlR Aǘ©A.ygÕw,kݛbG<`a&6H(s:DH]FR!ˈP#CƢjq;>bFp1PH.;xW Mk +³aJ14ӣy['NLs ]g2X6}1bj'{d5gFJLb{Tn,+#4e-" =xsMM,7">{T ݑRF|J\SCڜks2/H!r!( (i&MګCGڬH㑶6d& nuNl:q9Љ卐 "3{K3OKL+coMpnY_+ﯘ$}ZX^%c h}Itj(t(['7d*$r#_y ,_ |CZmo*c'໸+U^_fh7_ | :-Iˊ'Ջ՘ ݝ<~_y_ |c÷)~te:-o}д |_;_d$"|[vV3/ͷDJdI |ss:o5z7ߟbso4n7K$y *0J_ | Oᛌ)f|/f7q%I__J"MN"}-JynoYh:ߡ/6ӷ'*!ldamYhȿ}/vw)\Q}"}WfZXVTO@_ }/y䍾QQ}=LcD(h[ߟB_;{;}uRCql]2,֗mA_ }/􅾃.=SڟIp }/7;}SjG"7vNxB_ }/w$Zk{JkzַOZ[ޡ/B_7*3Eu?]oJNنnJB_ }oj6wFUYkM)g}F&YYpB_ }LuojT _ nSJ WyB_ }뛂?+}9 m娾}c( Yߞr"='/E=(FGU/%}/V_q T+Ƌ-P<;+ }?}/з Sҵۤ7Zi-?H_ }/ 9}oclu9oG_垩ig}g\w }/E7wU*SF3u/BIFO?oHbN )D_7:}B_=SSk[[Yn-P(6}?}/W Nߕ(Ι;SF}?}/7}06I}#ߣo qϒĚ+4^/C_ }/ںAr=oH_jѷ@}?}/7i;}[HG5{ɁVv }/_ƒH_ml6}o)vBY7^oOZ_aoMJ'O@_ }=;ͥz˘D>+lԓc'/V}Z{Ҙ87EV'/F"oH_<,>0B_FR,>}/3VN_rG{ "a,}}B_ }{/ƲӷvTtUʚY_󘨏9hyB_t_R;}Wz=oH_F/yJ1mB_ }o/R,BV>oHbY_O_{[ ,"~}(M6;Ƥ~/h!;~k$Rפq>*;_;ʬ;~PngM[wUF6_ ~/]†L8oߴt^,D3_ ~/8+zr]*7~L$W^/׈ᖘoJeoZE* +x__<ӎ_QY~~[t']ubJz_ ~eok"~TJ.~M5+>~/p;~g!I+7\o5wvm7_oFaR)TO ~/8wej2[w0iv{׉;ڷ_/Hᦱ/MY~"~s4W>~/E7eeEVT%Ȇߙt_ ~oHB=ʯEd&%cƷO_ ~/-Ҏߺhwb) 'eO~/Z\wLb,rZ ̯Ĕi_W_ ~/,ioeű7^oBPھo_~/7U UwD+gi>3WW>~/EEM.4zg8ь7(,l<’w@8˯o4ndJ_ue~D*yƳUVZ+3ƢT8W__[cZ;~)g[B%[os ~/M[[xr5 ^Dx ~o/vJ:˯](:{ץ^/_ ~~g;2,~=SS~~_ ~gq`17Eơ s-_ ~/]52.@]1__|׉L9W.jեnmuP9/{|_Vh,Ƌިg~h#_ ~4"Iz_-7ZjT_ ~/|d,"~U \FV ~/O.Kƣ?TC'g`UY~E,43=%`GP\ŽXBg-[m( ~/oxwfZ.wJU}~@+O_ ~~~i”z__ M)~=*?_ ~/푼~BxjJy8O_6)ubJ*,"~dR4u6/_[{Œ/ +,*,ruK0ߙmI1qx{g~WBÂ~_~/e4Zz__MF;oj緁__[$JAwJmD?oR&ɴ _39lg-;5V|7ph_7w ~/W;~ew g{<ƺ7[~_G7پFZda wU~_ ~sלb(kS3g~%Am\_ ~r VmT7\or'O_hhެj,rs ^3QҠ6_ ~keoN=yxEie '~_>_;~c%IW/7@E[;G~/uoV,"~kT\3ZEܾͯ~/xx~וBz|cvsg~'k'/hwy=g-kbrUȳo ~/6 k 4E.i /˫n_ ~od%_~% ,~ΙBoβ(jp_uj%:_oυH۽Q'/[^Y~E*jZUo_ ~/M3ˎzA = k*]3n:!QeA- :ьE19}OZLWLS]vaR|caƛH\O\u! ʷOe$ $9>Z`Bx!8/}f( nw., 'ӿzHgygyy>gxfgxvxntƏgy&gYy69y.yy>xFgYxVg9xNyx^PK69./AuthenticAMD/AuthenticAMD0A20F10_K19_Vermeer2_CPUID.txtdTg8N/'ɑp47Icz@6B>(u~FeYhv*J1L$ `Qe1r| #ƺ)a~{kc3?GA,v> eJ]ˀna;bD>4_t;?!|/bgV7Usf-TT{#mtR!L/Xc .W<9!<(EeIϢЋrDՀLRL-!h(}{S(zXeMƞQQIU,Ϋ{z;,=^3Nz0׺+^ aדZJ<.{`XA=,E|ViKQRكk|UM}jVjUdIs$J;OPIrcр `Z[rbV^nR lYVn.;T wiC?Ա1h7'!3d@'x fLVGX5W/\h@]Gb(i[UKZ4\m9lnc nJNCW!dUeE'(dy\S YDAUuaů?תsG &k3( V[Mnj ٰ5siaD|<y x5Ŗy8_>ǂ~+KBsE:Y NwiiSL6hO.VXYNZR c#?G{ ܸuN~o~wЭ7^?x{Dy^.OpuMwn/4p/ GxNG'/_]{I(:?M;N2\)+К9ֵF, k,X `,$, wY@y  @ ^'Je] `eʼX `,X@a, j"u @@ NBsֵ6bm^ `,X `,g[`C6Bۼ@ : @Xu-`}^ `,X `,`g, . 9%cy  @ Yu@'dZ9bX `,XX@Ob5b׼` 00 ,ap`=/` 0p  }>>` 0`}` @d Xy1` 0`@ . #5 v.#ϋ0` 00a@ta@DX8E @gz H4`] 8G4Wh 4@h 8i Ԁܧ)" p 5/@ @p= @D$j=@h 4@h@h4 2< BĢ bl7v# |  !{h-}r\ {"31cg"ٹgpq^g\3993ͣ{fH:#lprU8glr98 =39#{fQnj9#ܳs8c8~^[r[{#Tޣ@qwwwO'B]G[j9uϰq/{٣CLIGfb9=HBn FꐋN P{+}JM$אH`J2gȕ6$tM*HR'$O7Uf$6V 0R*ƴ_#erF,nBj&dV2Dτ_\uq@\^8pM#@[L01VBY &kby.\21BVĠ q1b]Y6Hj"fb(~.V176fh/h/9Rd`edPUV6UPؾM zt!-q+Y+ @F \r1J(kZdI=zd+"!` S\GvZT5,vi3d-Z؆ޅFv5֐ֺw`?)~=Pg-w%s8ɚ^ZF5T("Xk` Ebo{o(?%k`{-;r鱝d.bm Y6%T[Xk` i%CZksEJ#Y$k/Y fH)#9JuZ^/RgTB5$kZB{Z^E k-8EXCZkZei$k~kVZxZ hs5ɚ=b ׁ5{߱6&$k"J$ k65ZV%?Y>+kxD۱%f;ɚE)L߸2kp Dt-$\+Q^̓F]krk 3J4*5vnz߻~s-"O\dεI𣮅\k}׮I: y ^C^k+ٹU-vԵxkUƤl\MCp 7_kpͩܺfNټ4Ƶy5ڛV(Twek:]l<ڵP)]\k!̢k\95/BG]Kִ3k3)8\kpWex8Vɋε*[+ikp Zj۹65Q=Zȵ:k1\k4<]S޵Nix޹6+k/rm$sNךg kp DϣטkpmAn\TQF Z{Z CH\úp ytQEƵ50IvE^8ZȵeƵ*9g5"}^Aq}9 WCax+gXǬm mw={/\} N74DZؒXڿ;cslunbm-1}<ؖr`jMʓMhW*ѬXXdJSW+6XD ̻̄CX :JA/ˍf6.8-\ez RvJ$@\@JN| } I qjiZ`/,wD4E+抆ms )t-["vh+T7|tlm=_W*˃Q3,-,3#/CN)Z1o XW4$ dWU $$CNY&&᮸_ X0:#FfD5P+9|>l4ҐDyNu p#3iΑJKEaQqIidT"~>CG?9~RbeKrqO$ @d~ ХhNV;2כJez#]Gڝ!joun#1&o%]AIY!y!A    CZAPAL<ȃ<ȃ<ȃ<ȃ< K( K&<ȃ<ȃ<ȃ̭ g( g&<ȃ<ȃ<ȃA̓^v[Qwpݭ~3~E_~lgw\vw>M޶ލ(ƈ)$1)e#I r-Be<>ve8hpCD#m*[Y@A`A( ,PQ B%L8u9ҡ2%^=,)PU> VEgF#0p2f8j.znL4]tfWA&~_-4\NdNQ}?? 3V;G/:(F)pTCxrlYA|bXFN6l0qq>l>MYͅqۈ/OTKgqZ0eO.,AN"'+r Nmxnv;p/0 -puvo_4BOV 8A 15&K?B*@;)!@`˽0DuTkY7Jy bª79VPMbʠߛ!UUSNh0@")PH@& (q0T^fRgFHf}NYS!ISrNmFwmˬjm&)6;5)ʛ.UUbP "O"SChkWivMmF"lmkkt1.Y?ք~1M{B.|nvڞCyxۣ%G>)صs )i([h4E爩.G)H8G#p8b82G]1"f QW!B̉BP A!(BP *KB "#G,9G#p8GGvqKß,}g C;wVCtEl0``_RH|T'iIÏ ώ1$И kk/o쫈xWA9;U UD*W}9omMTM@5voT _KH/CL骹jZFŌxW5YU+w, $ѐvujk㧨6ڀIT-~LV:,ծ"X檹jTSfF٠ZUB!ā[ج6~jH)Y ǨV11j]5Wmj/Y-HdsV3,2|Bk+2 -؋#TaZ{ߩZzhEVWUsjͰ%uUg-U ARMfS5ІZMPSUs\챬,co޼vZ19Y3_oVZ@r{/Vf07F?qCDȴ5(ILJYI҂H]kgvkgϑzLh/BLX02pstA"RGD((q&9J@S̩8eefdS)Kf)PC|<t /" G`2j8q4ٙrok>O(ݠPAAqT~YO)+foMWaTd^ד9i^1\̝A΍ -iX-Kp\.lʣřq WvQF\wo8DL+33⌣8 >>|v 2b\` Gex:B-5y4N~uUx,[p7S1@URUĉyaNCy/4ѡE&)"p.{JJ `:QQP^%4<F=.1覧BrE" ySzn^{D/UhlmaƗ,kv d,ZxmػDsxZѥi1òXO/yOW=,~ t{{r0Fa,] .C H_an =M}&\<<<<<7pqM|#ʷ)ۈbOOOOO~)4g]}.\<<<<|*ϛ_ I`````l(  PK`(=./AuthenticAMD/AuthenticAMD0A40F41_K19_Rembrandt_06_CPUID.txtז&@Ho =&7jI`tZ j½UH4Gx]B5o?s˽  ܁r^z07vpZ6DL-u"I)+IJ0j*Ѫ9jΑKDh^X#8)lalM$bd$2/@1DFe2kqJT)ҡ2ɇLL( n>k||?ppi`81VQ"ƛ ό<@"dŔFˑ )7嶺0c)=|zA!JFE̽dmqoM2ۇa#8 1~f3οCŏϿ&\hk_p1\ gL$B-4|tE\diuAN"'krNۣ{dFE+C %TpAj04_d`i ] #2p_2.d нN^3Hhm|"R[:j9lNS2=$܃QJ ~zà#t̓{ӽRQX*b21P-b @H@2Jb @i%v/AW'5?S1@V2OUIĜbsl]6?OFM7LZo;OS*Qr*qM%않zT©H!45Dڠ%t"D#$3p1GUQ e\5w| e['({;;;;;w/އޕ=g>=3;3;3;3;kvfߎٙ=n!nb}>}wxwxwxwxwx !%}1^ǧ~{fgSE{r{zwx)p=O9fٙٙٙٙ573{>{{xs>;;;;;׋ޗ}a̾}avfgvfgvfgvfgvfS#3{kņ } ^/Wxx~BzO%}A^/ڷ~Chh/wzoO{wzwzwzwzwzz;{TbڏxwvhCŖIINNNN^Oz7zCzK, C ڡڡڡڡڡ^_O_ڡ=^tޞNNNNNwz}f AJ0P-3D6[ @xX&w]&?k鶜K788M؊h6i`8RS)ݭgF݅_(A,biwSp9;^ر)>]:(F)p}.CxRel1#d<VAfc".>^mTUray]ρOĴ2 )8 Q/P +\b_nw`@Y"KG)Z+-517;>us>}葽(`8n>v-ԨZbhiVT 8|*w,]:t!w .}QޖyAѫH +c#h&zHQFZ+_]w-ro@TeLe T@NS Jx $R H@&)PCA>=S1@Oʔ1Uĉ9EӧA]ݬkW{&)&S8| B@!D%b4bшFA#h4FЈz5b4F4/I1x" A!(BP A!(W!~ A!(DE=.G=#v#p8G#=4G&qXb8*8rBP A!(^8#*]B"θ#8q8G#p##pDS)⊫QBP A!(BPzzwB i Qtrs88G#p8^5G~;f(7DW_tfVݞ m{m9 ՝zѽ׃ :yLTI8>"PHs%}I[ꓺr}G*-Xԩ󶐄Р&|XIk|[Wg4δK ($.uI[ uXHW)%K@K 3|vU}:~n3!g`X_D`_o@-^u1_B\v/bYPmeNZZ p+kΚ欕odkہ2*?!uX`;YaMpZۂ5+춉5gYspBSe^ ):kC5R%k'bG`p`4Śy(B"4ƬdW;YfCbP z4]6l`Ys<[;&kOazGa-Khm'k<%"[)T(S9kΚEH/BIcڄMw'b-\@Úy2F|nf5FvVNZ ɑ*pΚ欭C<[Cm],uŘ8'~f}AZL1ص.pr#68&5w] _ҎcV6_[fCu!\ø`YiAknBî\]Sbw-kM.5w]ShZw^M5X+h7[5k(*C v1\3yZ0Txk':h!(k&-3w]s>,+5dZd[]\RîE]3DI@%%w]sk^QH2J+4`1C^mqm=cVAmҵ %muϓUZ!%Uw]s?ٞ=5kܖ)(ekr"RЕZϹ\O䚻rk=-]+0q\ PKb. b?;./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_01_CPUID.txt@@-0筫3ܑ{[ĨOo_6Rs7>Pܼwi7pղ\3O;O8}a{7MX]|w~W/?^5wnY 㬲ZPJ)*37էj96{8qL zb:DaI\uϽ ΆE< R(e T(=HxN'INb.gXܹ Oc0lL!R*fMS< UL>n iW)ٝϭjQva٧I 5;UCpS@ʸBw Ɨ}+]f.XL 1E]kRn^}/1J#n'\<pD0 #J-v"gcq؏5>L>bk۶Vuauz/dVg%$S;,f4s!~iaQ>keIè]a[(h#ahW>/:S@0vGx\Fq0C:*2 WfBd DAa@5*D'3 d(l|ָ-J;k2?oLu&4觚ɥ=4 5w ybԙ򔔊hS @q $S Ȥ@6r)$o~x2PPxY)b吤4j&jMv L`e@p-"L-GDF$k- B{ԭr BV$ cfI9 XβrGϬN 1(ec$ 8X e)cO0+7%m@7ݜpgܬ~Tg(OUG_|;D3z^j?Zn%4]ٵ{a[RDWڋ>e`!CSn0 1uRm0quSo0 u#Ryl0B6@rd06gϴ5>{yr緟m%N?{wgzq%Sm _re2"H(HTI~QJ qAoBN.QȒRO@b S D]A #=r6b:)#G<@P ĺX#"Ӽ 8 bt ' 5ä (|.BB^ 4\/lacf>|~6fX'y <y瑁E<4nu)C9qvN\.\T%*@-@˶l+zڮP"Wҡj%j3 ŚY͟_Y\ .H6r7lv xAM?$d tnӡoM6#gz.ӏxcBu WVmp`rV@0]"I~n.΁cleUH<9C" c35cX0x $nem#'bژ3dƂ`, Ƃ1\[& >1>c(BS|8(c 2Bq9)QL%c`1u(cDZaUޜY L`,X`,Ӭ{* H<5iZlSwacX0cJdLX!cƜGcT"X*ͫX0ְٖ1bɘ ȇm% *36E?ܿQ26@#0&o@] Hy*`, c-hcs)ԱaBC }cX8vcX8&X1:ql@pX"cXñp,S­c cPK? h;./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_03_CPUID.txtՖ@@ߑsxZXN Ϡ_Otңro%*rnV:u7+ y bg֋׆A<ԟyH$r)e)Q #u{\kEv|9sdD`9Gcs;ABデ1 @ 9KLfB0wޥS8ufoeB0AF}&(O_;{|rŴ',H"!om(F滠N5aouI dԙYʐ DC"D8D'H1YgrqDT$sf>ɇ5b,,s:XZD>d b ,e`:;,AxaS({> 3B/E>z]^|kR\e_Vۋe^j2-]n5}kk޻E{l>l8ӨO/_8~w roϮPEQt5KKԫ_kťDxk7޺:[-7xo u)7%%%}[ ޺ѭo6Zom6xomixoooommxmo xo 7xRxomHmHmHmmxom6xo7zomcmcmcmwMMtt )xo 7xoS o M M M M߁76bt9񶙷zom6xomFommNmNmNm坷nK7$𶀷Zxo 7xomI %%%;W6Vnk6޶&޶Zom6xomm5m6޶mk7޶6V o 7xo m)7%%%}[+y*N ܀ppk 7܀pn 7j7pށ[v4y#oG"oG7Fy#o䍼7FގTy;y;y;y;>$o%osv6pngng-7܀pn 7_ύ܀ۙۙۙ!pn;p+]ݮ&y#oJ7Fy#o䍼7Fەy#oW"oW"oW"oׇ䍼mX&pnN7܀pn 7܀k܀pppp?nmzn$o䍼==Fy#o䍼7Fy{Ry#oIII䍼OYh @W|$Tه踰h306o֮}ئdLsdw_:ٿz{m]R\`C҇}Piz >"^ʽ&cȭ˗s[ӽyu>`F4gO*z\.L]gÛO?-Ecܚ <3mI8^k?0L   DCsfs2`]_'9Pm,% vh,rGRCUҡKe !36' 9 X#*b@hSJ dx_GD 8P TPpum$˩es]s]2צLu\/b&[f1nPaicIu$בU$Pvy˩m~s.`JVTiUEyPT[QAB s֦6e}j\с)׃ -p'f*Pp8H.h,@'KmMNf3H+W-+ D cs]JW7Q *Wd0jMM>}X@Oy,Bxym έsܞB`9*msK n+؊XB(҇%c9Q@ B09c/GBga^2ۗC{~j0@2c`1fLEg)|X*B&J19c>d_4&zO}^~c; BnX|cP杮9(꽌9cΘ3&_TeЗ?1[e9uj}Y2&ac^(kƊ$>x-Kb8c^v"Q)=^3V(ØG39cΘgl^~ c%-H%c9i,X8(i1WadcƜ1gE2O_;?S+N֠L0&}%`&f`39cΘ*A^ e:3Udr@StB3(ͤ|&_3~Wώ',X93)5)P)KR L()LT S (˙ipr7tm퉷xom6xozom{m{m{m;oێ>o+ݎ!xoHo 7xo ۑxoGoGoGo<.x*Fsxo;o;yom6xomv6y]}V:]Cەxo 7x+7ޮޮޮޮy ]Wn6v'v6xom6j5>m݉݉݉xo{tt{ '7xo 7V oO o = = = =mxkK ܀ ܀pn 7܀p{76nononon/pZ?ny#oC%y#o䍼7Fy#oK卼///M$ok[[p֖Rpn 7܀pn 7pnc֖[[pk pܶ~pZZ#omHZ"oVy#o䍼7Fy#o-7FZ"o-[#o%oW76nknk-7܀pn 74܀ m"p;luy-Vy#o䍼7Fy#o[*o䍼mmmmm"y;Xv܆mOm7܀pn 7܀kAppppہDv[v76$oG"oG7Fy#o䍼7FގTy;y;y;y;DvwS ۙY n 7܀pn pnv&v&v&v"omHޮD.Fy#o䍼7F[]7v%v%v%vym]-M܈ې݉č7F܈q#nčZqq#nv'v'v'vĭ[76DoOBozCo 7zCo譖ޞz{z{z{z{D[^F܆M%nč7F܈q#nčՊkq777M$n[nzCoC%7zCo 7jK ///E;g6DWΌ8E۱ O_eݓ̋^M6Y1-g3.7rGmx7&m#,}д1 I^a!9r'1<>Fv'$r'+0u5XX10عPv#cDv}zc43c%g# 5CX)}Iy{vc215mc_Xc_kcdM= 5W:0Z"c` X; '+^Ɋs1EdL.blDO5V9970ۿ`3%u!=ɘØfdsc3M10c/06G'F%==ɘ]Ę1Ske8h10 '[1Uy4%w0?X,G6iIr1TLRhnp 1rXvr,m}Ա|c+&,rplx# cp,~*=G+8m%R(ye8Ǯu =?:V*ǣՋ5c cp >^pGJ*4vˏ:qgWcRбcvtlSlE"1c1^pl~tdmˣEEe?8I(.8Xz)-Gǂ=86u&cV ^5cԱFVp8SVNՠnj:f9iD-z2 18E8cMkNsgۜ2ώyrVe18c/8&1dc%\Ic31cQT)ڣJ.Ycp 1ąQ=EAb52scp 18c} r~EIYΓV{Ec*18Vi'lQD/PKXȝI};./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_05_CPUID.txtŶ0@9VٙTf溩1W(8I|No_HݣnNڽ}r<;7/o7nh66;#7[r{oo#٘no>Bh@**NU$_Ãd?@um gPPԦh< $>@ 5/I XIz!XL튓)_|y|a a,SAAp’xYbʔӭzfpˉ" ۓW9j7uL3h`N= T"#/v6Xn6d{8aRdbʸLPœmd]s|]ԁCGͥpuJ(=bh(X!#f K6G\2ñj~Zkk)_|b J\gQ A8qr͕txw~o-V:\N]<)y>?:5"` @N :6"LtNL)08b(ed<ݝ kˤ%4eRʃqͬ@X(H)LNla R H@*)I\{ { -ړzIE^JiOXyH C.HCr-jbpjztI &3w#YDJTN"v!B/❈;Q1 zBn`P 6AEp1dst0Nal'ey]a;\4R0&R uC0,+Rqه˓ @`>(̢N(1 &cX.0QqyaD9Fre$H\ny=C>b \$y=>~˃$c-7K={;Կy:p<Ȇ.UuX_|y˧V}cչSn~yc*oWI88 Z XaQ;{Ӹ 7w#'1kvl,й $z 3i"iG 5/:5sL-ꈯ# +ObLUH47 .b]B@}FSEИd5M󲡮f!,¶YH6f KD:H[G*@X L>qdܹ[QQ[Oָ 3fp [qp; nąbeNk>3VR.cƘ1fBJjԏ_Oj#kEUUW Z Ԩ@1.cCaw2X@Yꂱ@Ϙ1fcsjQ/hYzj2gX)E";K3?U b^*@OcƘ1f-;B :gZ3\sSk*7WٚO06 |ԝ{Ҙܠ.[jZx1c3ƜZ~Gn* 8"q OdLNEҊ1&r1yc4b!w3ƌ1c,ͩQw]H&*#['3Ƙi,"2N cg<`HX;pc*M.cƘ1f1NHyne{PL }%i$\x g26ƴbLH}'c"T ƺ`W,-3ƌ {.oܽz1c+rw2Tc#{E1fcώxT+V~JI3g,4NJZ9|O˪bc# 51s~)- 8Ɨ8"ql>)R\9#ccʱ۱~Z҅c3lc1JxZu}ϵ߱!\|'!?1NUdշ"1ĐI3̱c$mg39z+Ǽ\%muE<*2Z8\,Pc}#w^HfF#XDk1rP#ыa 4Q1sEEEkUUpL$|cp,(+V=}AC;lcyimS7+?1VG꘼'5 -A(͙c9bY?xYEL)G9g g:6"r,UPLccEU #, K1s3tv7^l\eU&i)@9)c%^:q(Rtᘨw3wOuJ;HUw+ZJ:^Xv>ʱ<ulqߴ^Qc~c\_8\r{Oc];Dc9f6\*O9֋G.wZʱࠖ:_P1=K!G31s,*lo]cXuXxK_1 )p/+:78fczwwV4Mݒ"Rx1sl$ƕc2 r _r'PK 6Rj;./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_04_CPUID.txt|Sw>tCq'օqK/:,ry|G4:j߾Un`IExçiF(x,Fc^,ToFfQқL41xnYWgoXyMH%hq@Ev]ul?h]߳ΘgC*Er9( tu:pNm~p[].(q74G8nbJ)FQ3U|CXdL%U_40tpW{k̿mfK):D@Хivy=L؆c~h*6$YA/*97\*'ba=miX%V5MU>Ce/NdƲxA7aۜʪ)Q>r> w ;*.QGf5]]*!ΚQH [ <ܠUffG~,/4z_XXrlF},tc@?T vB*朋aJVÒlZw;`]qw¦Be! '_ YAg Rjа4Uf4Z;G @@;&%Z Gփ Hϐ)@ 3CVPz}gםi?S_?}-t9Zӵ@P;\<1%~XbnDŚ++z?Od7)Еa)pHU;EXI+tP]|ѵj6YvUٱ}~Ԍɰp)uW\/U(fcK}Q>r2#{B(KdC%yJ*WUKZASAh&I%k8+Ja$NZ2^1mB!xla>%YH+lΓkJx\ylo\Cf_q_/ά(҄@: n҅t"( Y1ZBi~12MGOz5'ײ&h-kn±Ptڴ@c  [ jR-nL d[ A ҃: ZƓ9>AC- xRH("<ɾXv&:j­c&řz(藕@ME 'GbrB *g[*ܗLi)q CJ,R3S A-sH@XXJ&IXx:@Lu8?* -rA~zN>k\{yM nܽ ߦB'\{'.ƽk/セu!5^;DS}:PќѩH9B~߆޷ao{յٵ )ѮCI>yhVx[om 7xo xo%[Iୀ[ JѭmUۺ:xom6x[[oJoooommMG*xxxo 7xomO >>>;ކWֵ݆*ommHmm6xomixoooomm|mMG xxxo 7xommo-111}ަWַ&۪mJmm6xomiJooooxwm~mF*xxxo 7xommo-999}ޖW6۪mImm6xomiJo[o[o[o[xwm}mF*x[x[xo 7xommo-555}-N ܀ppڂpn 7܀pnm{7ܶܶܶܶp+Wy#o{"o{[y#o䍼7Fy#o䍼䍼'''H[JަQn  m 7܀pn 7vskG g'2ѥ>#鑉nć]ƤG&zܮ7~n3̺b,)1|cA#3VrPesƜ1g +FƱQFglcX11zc,Y;gFI@} gs^eLAQ%$gVidl@;0*$ ` i1gsr7zwalRca$;+Pj4cƊ438!pks^gX,ec?{cgY20礱ʜ YX0֑3`sƜ1gU1$ŎU|Q$*c^rQe**Ynbwa,+ƪZН0d2)a1g47d8?TXbK2VXcVcC9cݞ36B+>v2VMW$tƜ1gE(1?4UdɘA;9i M311w[ǽDZı Vlu,>DZQfi8 r幎c;y썎cA-lu so'D-eX9c;]?1VA,z 'aL<掹c_ᘷy qcc*ܱ f&wsu*w±X96VV)! Fi1wc>Vfc0rRy,]9&ӎ ~ȷ;F9Ȓ1jB;掽<^tOYp/$%vt z #zpcS![˗*w,!0q1wE(A9/Y.hǪp]!ֺ4XxU<*#vHwj[8#hcZ8fu#թḻar;掽X?*m).nEb QϹx~@5cNV:V/tXI'yL=V±!E5ws^czc/DjfJMKӖ ;C;9=ʱ)睎axJ#& `>wlY!Ѥ;y;r?{/_vwPyXF̓1yTmᘍ9<掹ckvqTQ+1wwK kcF 4 i{1wǎ=Ac%ƹrdsc<,01Pz8|1wsdRűNMV9um};6Fws/p6mX&筎s2dpĠ*u1w߃{4󮎹cr!nu,=DZP!sLQ1wq>华qX%[qZs8$٣~c;? Tou=[\ KcwüH3ƿ&9:BbPt(Bo#FjüiRK&&$SFJԼ/Q_b! Cax+]^ޭm1!"pg@8P}~SD;&ˌzKhOEQnr;w,,O, ,+ L#-9|LDy>mAnRp?EXXnXXXX,?XV,ˁ2/X  Kg &ʫˆer`9\y8Qn-س9R;A~_L|7QnRً(7i|7~(7YTii rϳt&$ڰX5o PKg;./AuthenticAMD/AuthenticAMD0A70F41_K19_Phoenix_03_CPUID.txtv0@xt[zb{gRSr'nVlDo^Y 6'%m{<[y~{{z}}}zVmv.vnSMcޮn:!BJBKDQ TD U) `oً@4DPJte g4'Mnsk=9pA<#$(ʇуQ1IC)s&:KKNڢ"H=J`Ib,SˎP`IU0 rX$\.̎PPj2h]R0lSd?b$yX!{F&hSl[&UH&FTe UMO&aWҹ^?{!)#f!\pDv1G0=JL-tz,T4 #)q"fn>W\% в`\[K-|l% oj}֒txs:vw^Ϯ alI$GϱЇ.a=صؽ6 v;`vm);`&`&`&`~]ڊ{tuueN8tq:N8mq:N%N%N%N}8]JǺ;`'`חv;`v/;`]W1 q!q8tq:N8t/ tnHnHnHnqӕu+vnLnv;`ve`X v؍ ؍ ؍ ؍;`7=b^9tStSq:N8tq:N_N8ݔ8ݔ8ݔ8t3+W`ݜ\v;`vvnyvCXr:N2tq:N8t-*q%q%q%q;NgNW:֭5 v;`vk);`&`&`&`~]<^Au[u[ԁ:P@uԁ:P_ޏP@ݖ@ݖ@ݖ@!u3+]WbGݞ^&vĎ;bG#vĎT?$vĮ{$vSZw:P2uԁ:P@u*ԁ###CPgPW֝Ď3L#vĎ;bG#vg;bw&bw&bw&bw~HH抵zu] ]eP@uԁ:P@~y?W@uWuWuWuׇԍϠt_#vw"vw;bG#vĎ;bGR#vNNNĎ!,(* ^'ܤq?,}/xMyG_vv/`=vUch0njv 9v1szbo@`i@v1shc1Csz fgׯտsM{o~DPP$.W̽q=Y*6?~巹S{q?^~?"9~mÐ_H :dpkA8hGJ2:}o% Hz#Gf VQ:Kh+{h`B10ĉ圴| WSHL[bה +e yb!c%r,NP 5 jJR7ՑF|q_C'?@UV:O1- q0SLf=`Q f &#S49uٸYagK0^Y- mIlKA倡J):˵ʙ[t C-\V.2pw.]{wGDrIxY십&1颦xfVf1yh+W~!_gE6KɔXon&!jF]V^ _'fXZ]ww;i"LgäL3ܼdrg <>+-҄["捖9xA xeˡޤyVK`gNfIB(+6/@<2\Kh=@S/wji_|רkH26@"Ӥ/yb=^ZF5J] CW0 Hx5ps Kҥ $<#B'{g <Y ^_ W@T}+x9OӬfjk ,2n-|2`i_rx9ЇTu?oO^xb:cWο.vSxZ}jvnJ:DL[#Ĥ$-NԥVj^_V|vx9s :Y'BLYX1cdl2>*C . IV^qs6hltH>e愌.DۓIؕ> :h°=}in97ߣ|%sz"^.U6a7a8?!vN檣 0*8Ǹ+D7WyOcief&iip%(PXx惇_5~rzi)i:vZ1Y+ ?jښ,=2MKZD[y#b+7%_RpNa-ұ^ݦ"V֭CT[6]QwΖ:!H +OQI[vS$ C2Jt\øZO6b.7Icb21P1c x $b H@&1PCi?dfQқg(sns(?QC8VцbL)d;>n &:08$g2yޙD"'݊1pG"ENO1MFڠnd >A /Ep6eKx0|XRߕp|j:A1c1tԶpcaƒA/BW.&hKQ*ȫ~@?X 뼩V͏zd^pR/(Ó/M{Fhq M&}}my m;Y_v܆r+`JN\Q/x!*Fց&xo]oxo 7xo޺xxxxwo]6m}m=om6xomoFoooommxme[ xo 7xRxomHmHmHmo߁x[xom6xo6mcmcmcm#oMMttxk)xo 7xoS o M M M M;6btyok9񶙷6xom6VmmNmNmNmm坷n xoM$7xo 7jmI %%%}W6Vn+omM޶&޶6xom6jm5x[;޶mo ޶6xo 7[-m)7%%%}[+y*N&ppہpn 7܀pnnpރ[v7$oG"oy#o䍼7Fy#oVFRy;y;y;y;>$o%osv7ngn'pn 7܀pn_ 5ۙۙۙ!pn{p+[.FޚJ"o䍼7Fy#o䍼E[*oW"oW"oW"oׇ䍼mXnܚNn 7܀pn ՂkFpppp?nmzneC[==䍼7Fy#o䍼Zy{yKIII!oGYh͑aU8lAU=mݓ)&h.u->[^c{+/$w_oS q[ōr|nc=\82Hzhces5^,I` //'L{\F#M5^*Àp cdT2i+2x r,\[gϔ{So~\!W}ƞ;ۥQd:ٻǯ=fV:o*m@v?02$dD-DAȲ~0 L p2rwT'[!C4Ha9zI (ixЫVcuڄ :ꈯ"F4dtפ.dX0ב aeX[m7Dsc)Qw!u uufՅԩhfAԵZ7)8qIIVFevWfrddYwA]u>W2ήdfre>BiH#mPXaly;Oa;zpTM)fYa=%)C05)9CLmjۦ<$.QxPB`u!Yl͎ ݅/j%wc#7e {8fXI6=bKRV"6@1A 1`wvas80@W18L~Vz%G^|/ H^,Hګ8̧Œ0~ً{U(ﳇq6Z 0;̚XW D ӘK`Xlдs<o+B e%xA{ŋ+%)L!:xwxG wR t&} ^'&[KWT.3<9x45sk`7  _^!X{4MsOlXMSހІA < TW5Vu1N}CG 4^73a'xzxuv{r%Os<Pd4MEBRk;2~RBǃ'ANYQ Mm;{l J+DЙsS']._yx zy'x"1HBC Q<;}+'e>njQsd!dje'xo x5$jx.'KRF<1owN0#*た"x jlix"{* Ș\<xxV\tҞN{z /f(ixtxSm!^ex.wTs'Ei%^bVux{⑪x/x} #0x.wi+Փ>Sx5-R*^ b ds\6 oTS?\NO+!V"f # Fx.ޡI|5y++he)^6OPKu7N<./AuthenticAMD/AuthenticAMD0A70F80_K19_Phoenix2_01_CPUID.txtU([MŸ.i:&#tIkboLOk jQ\[#ȥD-nԣV,pZ,7hl:Rb/U@L)ɒY̆Bsi>*׏#%SxUuTQmy*? #U.o>L`RS UFCM[feY` ht9,0$=E{^")*XpĮ~EVآq;7%3QU63{fXl^v(&[O0ǚd.(}c2w1(B T}(.cd.Mq[ٓ,z6_d4'a͢GV5".Pz=@_3'yQxRy$>EbI7,VxK80Aԝ^ǸB$f&C 9[3lZ_kvI0C&f2iP6P¿ipt _LfeTv±sMw**j\ PEaEUd(]E*VQ͊9;'K"[ιSPU @I$KBH6 Ͽ}}ezR$ƹdAs, c/cGcNpX bifػJ͂xsS'(q,op3 .ME>-S8,\ꏯfD@,HU-$(UEzkâ|X? >IڱA-l/*?Ciʘ梛ss%\qsn͹97ܜqsn͹97W97Jrs%\Yo97\Mn&7Wgܜssn͹97ܜssnOܜjrsuE777ܜssn͹97ܜss7ܑܑܑܱ͕o\Kn%7܌ssn͹97ܜssn͵/|7\Kn%7גk\psE7zrs=ܜssn͹977ܜssnosnzrs=͵ 7wܙܙ9ܜssn͹97ܜssnܜ;;;;1.7ݜfܜssn͹97ܜssn]ߜssWrsWrsWrs7W>nnHnn$77fܜssn͹97ܜssn͍/|ڮ7Hnn$77\qsn3n͹97ܜssn͹97o͹;;;{k3nqs͹''g͹97ܜssn͹97Oܜ{{{{V1^7ݜ{{{gܜssn͹97ܜssnͽߜssorsorsors?PK'cZ6./Virtual_CPU_/Virtual CPU 0000F4A_BCM2837B0_CPUID.txtE$1 E wPĬsFsLO Q3<9^V`hgz&Z}{K{][;'[{z.0{x nP/`~ HúCQ)RAh2 V揮oJjP^_v(k2-@C(D6oP*K]H/K %PK@ A23 khK 3}pd?۶vW$XJs !0fz(..*IZ)#CHZN:%&{D:}]J+t80y ZĈeA"rKˈYS!g8SSSSS!g8SSSSSECNT uv|4H|59HZ.W '8UŹ2q2.*ΌLuDPKQxu6./CentaurHauls/CentaurHauls0000541_WinChipC6_CPUID.txtRՖ0}Ô1Q \]S7PE3<^PBonri8(sh13UHq5 (}Xv_&(ȝa(kL3XBŀh|+]uDzymS"J'!P%4M#r,>+K&.\L5ymUiUE KwO~.}ߋ..E̶ X`wm̤7gj5g2uCidZIӼXi@/ ɪKt,lJoׄ*$?HX>Afs!Wr9t: '9?=.#{|$c0eݖC18۳4-">ۉtPKh~S8./CentaurHauls/CentaurHauls0000541_WinChipC6_2_CPUID.txtmM@ ~wOӡ;r6c!Vh%&p˃Pv+L^-%Dv+&{Q_gnZIőwkIFU)sLv_溶_߭vl6&+-mpZU -6KSgagD^H t ?~ Y3vw-/J "ًz{>B"~c"߁ pf8)ωݾч~GXiݱ KQ(k?PKH.|:./CentaurHauls/CentaurHauls0000585_WinChipC6Plus_CPUID.txtT0x-ɒAq13>Wa2=Jt ƥYA˷AB8*"R 80=> gf^GZ+^]\eQ6$`[07h U,y90s7a=`W&+H(T6چ5Aۮ蚮-dQ&"k s"ZW?3hĦ&7QUY*SQ\UH'v'AUVgrmd#˵1JIk": =~<SS¤Dҫz*rDψ{ψ\sD _f`Iy!+:(K_Rf+b_eo)c .+#q +2Je&'IFГaPK!RX:./CentaurHauls/CentaurHauls000058A_WinChipC6Plus_CPUID.txtT嚣0_y )]+2Kʤ0f9Wbl l{!'B;paj{j}jcΜ*XWF\+{~[\X]L\AʒW`W罨ˁ0mNX,^G.O)O)-|NՎj;m s0 b?Rm(`+,-~[Y`I8A8q'nYt}IaD!U0(t 5Km|Qد7}9~N.lN_]iPL èHf,bMbړ^{IiHd`!$j8vSSB*aض-==?|XriiceF2+TN i6 */9eϿ`UdBl6ew $5.;a3˅PK{ב}6./CentaurHauls/CentaurHauls000058A_WinChip2B_CPUID.txt喜0ík7ЌXúuT|`SQGpPZfm9:!I09:'Zbaܬc0HKmp^D6`03n{Ws_džgzc@~1,L_G gʴ?mgy*ϚD F630q|53S _:髢ʌ |'0&1Oi #[#q:2lU e?۬UfQռoࣜU^a ذɇ͚ll))P ]S)2 MWj$n$)"Y`f!5dNRҪBNݝ kjJ,@Xt*ġF@৏$I 4qG$+R$.L]3'vbrt%K g/A*qWUX^ګ/wrtG/b2A"9EbfG@B3i/x>IJ`lk*}A]d @M&dbuPKNHtՇ7./CentaurHauls/CentaurHauls0000662_C5A_Samuel_CPUID.txtrtB)0 a.H'Ҏ4vQ<^$!W<`Z+4p|H%;BpYJ)aH8/u)7aX}Iho翧Hv"Gʬ,e^`r_PK-j 7./CentaurHauls/CentaurHauls0000663_C5A_Samuel_CPUID.txtrtB)0 a.H'Ҏ 6vQ<^$!W<`Z+4p|H%;BpYJ)aH8/u)7aF}+<=G?Rfe)'PK n|8./CentaurHauls/CentaurHauls0000673_C5B_Samuel2_CPUID.txtQ @H@fb{b;5x^%MB|߹c$xT[!QH<;JL W{|]F%CL@чnH -a2pAuLYvPKg8"5./CentaurHauls/CentaurHauls0000678_C5C_Ezra_CPUID.txtS0[FgDt DW1=}1wv? 'ϼɒn~}E?k ‚(446_E -"\S.ᛏv.awb`n@HB^>كvSzo:?ܷa?>h/=yqႿ7E Q!|!dTi^j[vt\*Xhl.G8WzltF~lsU{ z*tI1T(fmm\I:Pz4'eeGQ;E_@2 h %8`JW!9X(D1垤D=^48"0["XNYtx*$~r߀!&Mq$;5ئsҼ|ޙn?/Lv~A '(! YUޘ̝>mc(3iil +@\;ćX3L+PfPKVx5./CentaurHauls/CentaurHauls000067A_C5C_Ezra_CPUID.txt͵@ !# ::tUp۹f6<螗>rS9f~n(:+^H;T-J}ϳxcNS%;I_nT&;("q-?*UY[PK߅7./CentaurHauls/CentaurHauls0000689_C5N_Ezra-T_CPUID.txtЃ @HOtqYԟPJ" x? 4wNFIyVcn$ T^:6:5.꛳YUJZAQDe,~CKٍ]ET$4?;N#PK&y:./CentaurHauls/CentaurHauls0000691_C5XL_Nehemiah_CPUID.txtrt:60밇4Ɏ!x2 h\:wCY+&I(-z? Jz3ېA$eߦ=Dq+TFN^EM+_/I# :+W,(3hg fE運0 BSSPK>?ΌE:./CentaurHauls/CentaurHauls0000693_C5XL_Nehemiah_CPUID.txtrttBF' 0/t, ,Y8M %M~38$T ;ܔb!Zx>>$I :vJJIrܸT#?I#c6[u8v$:~rPKչM~:./CentaurHauls/CentaurHauls0000694_C5XL_Nehemiah_CPUID.txt1 ;CFh5?G*8n_` KjM*dQen˟rQó:-r*N{%;%pWJʲߨdXaŝ‹,+WPK3̑<:./CentaurHauls/CentaurHauls0000695_C5XL_Nehemiah_CPUID.txtrttF) 0?z@g;_i  <L%zIG>jcv_p<:p ;iI@08L7CP^9FGo8sܹRfeI_888(Nx[7PKs:9./CentaurHauls/CentaurHauls0000698_C5P_Nehemiah_CPUID.txtSe0Ô1Pef"}-ǴtZI2<2)ǰYOXSK֬mdI7^n"ZK' gdQ"b}0ZV˰3 `cY'Ymfp_|[t4au\siԧﳠְqfmEVF6kՃװN.aC0bd-Zr™h*>?Y ʿ1E'b"=lȒ+B>ۏhHOFѸYڬB"!-SqL86u .|W<`gϜ W0 4+HbAfg%*դ2-\W]dn ߃ϙ,qBbyy--n?/0Sɇ;h5xfS\i,w`ڎg[6v0cF8eپPK+g7./CentaurHauls/CentaurHauls00006A9_C5J_Esther_CPUID.txtT庣0κ_V[ZǦ^(v7)MUtʙ9s:-p̓)\Wv ~+-/x뛛V1*iW\#X Ѭv80]\8^gbb [OwtVq vgGhY' ka%yxVN?ActFG}x[,̛,'0cy~(rm6iǞ0LiF+>d,E}5d00f:fxgd~08!/x dV2 ٺ٦EAmML'E'B ڞSQ夐$RNRw" +#(tLkL1L peZ6lDJ"[$,[XNvՠF$2gX01$~U)*#r"QWiH$E]RC/h>V'x2}qӪ S٤@3P Qez(S܁QjeʯxK"Cb.bA ї'€ stvLÔ=! yJ1xvr PKl:p7./CentaurHauls/CentaurHauls00006D0_C5J_Esther_CPUID.txtT嚝0Y UY_(V{&f̙a }ך/ӓŹŹ]ҕ[n "/W] |} ŹDjFR o&9xP/7]̳*"xSo:s~j0I^a:IYe54?UPrxZn1=!t'x~B&o6rXn-,U˳7ZUnݥQ)7~?"$(9 Sx؀}`')@ P,0I‰sr#g~9'GD8O;:]"Аq͈D^>@w8ᅞ+0/A;&'b*w7'zO/Bq@"<=`(tO" (ChVҌ"ˑI4AyR[KxVAu{_,IvRl%66ِ WE nJr2%=6:P֕*:Վ- LŹPK_^7./CentaurHauls/CentaurHauls00006F1_CNA_Isaiah_CPUID.txtҵCA |7s`FzL-ߊq 2{Ÿݫj@nuR)֑d᲎Ϸ;TLU n:N6!dS8!]JCJYHF4X*\CP*nߘHhs#7]YW6&crq#!\kZ$pSWRתU>qBxMX!|  5kxᶒߟx4JHZPKz7./CentaurHauls/CentaurHauls00006F2_CNA_Isaiah_CPUID.txtrttNw 1=ɤ`5HSMOgP5z1LUz ޑ7!z5&Z:sk Ɇg Ѣu]jeBuV*p3'zm 7m g~mhߓ#Ti>2í?ϾfمfOMJ觰Y*GU 5 \xijQg@JǟЩfV,At^_Q"!ϣD8uz%ux >,F]eX< $Ǩe&R{Hn@|&!y$w$gIQ@,?Q,C|$<?HV "f@HS؎%k$%CSD*m>XӽmN#pqd?\Zܗ!Ĝwx bǩA|H8E%"eg׮( Cݎ[2{ꦛ'DEQ;;aH=ĨiaQӂBZhҜXB9b,.߁:,`)jE6%¹ J=9g,桬sLVY_rY\*8T֖g_&'<ӓC+`bPK-Z 7./CentaurHauls/CentaurHauls00006FA_CNC_Isaiah_CPUID.txtrtQ0@;@ x_QzYt7q?RR7tSȇlGcfEX+_/d}1ɺO'ā$07TzNH>t!Kdd!Tg3hAk cGNe m48#!6b.x Ů!h#tF!6b%!*\몮;Io!!{ʹߵ Ɵ;ngDF5sk ;%$3H豱I9.qyc\ŸPKb:L 7./CentaurHauls/CentaurHauls00006FC_CNQ_Isaiah_CPUID.txt~8gw7ĪYj 0%Jp -W>)'9B fx~n~w}DpH!N9$f%&kw/{kVYH1)ߍ~ZVwTݾxeb\…+sP ۉR=m5Щz#7\ínbnr!y98HIuLϵ?j2üX@Wʕu1Of?WWɸVlQ!e7ho-kCX/* .lz9Lʟ1T~5V#]nm7wxv^`u0vP ؎W拏Ο ȫ\4D Pa 2N 2 _> )k(iZ3i6 MXbq; 0g8 f!oY- ('(A9ŚK gi?'QA` a 7joTbzNfz%_ޓ rP?h(B,^ $ .bO8b9 a6a% P0;'){#BT t! _zor1bW\^*7*B+UCM !D-N"B+n]&`K]5(\.% n;Tldh'L3f8;Y)N0qF_J*JIE>HRї$UTeRIU&UT0+% Iˤ*L2ʤZʤbT$(L2ʤ*ʕ2qJ WR(R˥bb-0R ̗t5f` ^~Eܺ 7v:ܲ 8&5 jZhHW!A2e{yP0T F6Awqåjup}ur@_6wV ՍÁ;|(ؖch'FX;ZP[V}zxYaVvuLVX.[  *6.ԯ~(9e2U@gPPA&Q\:LU%,Kx%Khd3gPXHMAErVrf))_JpS92me?=ʗuDq!%`wWm9# cׅ1x8JGOyY*a-ISD-pxqWQAxGm\kaxk$;9QvκKR%9RO_ʟ!m`nB$REQf=P i1Vf`h9I}Z_QcUݿleE>M[ggGH}h v?ɬ{e |Y1g$kd Ɯ5f$k^Y^G֠9kY-AA܈]X;[B,ʐdvrF{X$M7 "v@CM 8\N`#._PKހ%F3./CentaurHauls/CentaurHauls00307B0_6640MA_CPUID.txtQo0ߑ'qu{>_% YQVkU Ѭt[g7 N3F /D< dW>wj].Wpㇻjfx0+~1\wsWaYpmխX/PDtZ Br&YXyC.) S60F",Da*"K(|ubDiGrإ @ܩ Ho67)ڹ $;[&I ʤ v(H\ X_NbAqRh)!m rgn2 8kcPҔ F+*"&q5y?LZ;HipRӯV5)PY]{eJE5&!9̤ʋ̃hփ!7BF "t8I~o,ܬ dfv_P_#H2OVʬh_%EYӣj<>&ZTߪvv*KKkIrP2R 2u3mT>JտCg`Wcjhjhhhhܨxx1xx^dmxxxxnZ< {]ÏQ<ţ"oS<ţţsѿIrgulR\v[muй;c}wzw*wt\+VO?w$̱ &\򫒰$y3A%`nגU"%ͮS< r~| R=$R# ZĪ뒠W~>\ LO 7`QFA(. :ABLi(4;$Q8$rm!bD Nq%_ 2$vl9(n$ѸQj7͂,ן1L ,tƢEA55ĝ^PFKI&\ }Vg^ {Wljp&q&&M6qm2oM6Y[+ {$X`6'E,z6'd, `}ˡBrY4AR/ccǿy0yA7ֈЈЈЈЈЈD#B#PK40./CentaurHauls/CentaurHauls00307B1_ZXE_CPUID.txtr0mՊ,)ZcM.3׊TMN!$bu b[Vxz9Xousc?N]￾ë S6;ra05왛;7Ʈt$HEL2q% p7^ӂyy>`XFA?, K#eqEYAT`Aal!W~@LCo)1 TTrD@HM3ai$OA3D\ WFGQ@1`4 Z_JQ vN)H P>TanwS(JID4&Q T A:i8 b@ wDjɅp`q M~;X=\A@b1ISFQ\q hWH?tV/t|b!j,9GN Zb|YX+T5aV nN_ܤ2SA ID\.2I!yC$K؃Dփ4/!FQ3Eʆ>E%@l73 Oy3 8ҀŻ痧٩h wy3o\UDcNja&7a) J*HtNHΕtzH:B:tH)ttHtHttFH:B:tH)錌tƕtHtHtHg3+3Hg^ItHtHtVH:B:)鬌t֕tHtHtHg+Hg_ItHtHtNH:B:)霌t|G`  X:;Q8;, g7~t=l=cYO:55O##2vAƃ(юxd}^dr2^x5xcic}|i, BHzI05IdIR,’swf8yݺ/J-S7ߞU*r9>'2(2X}J3IE&wzhecIm'S#$Q*g&\ /˲t5(*q^%RErA'PH~MV>P(i•ʵu^ qAfX‘'Vd|FrFuI:Hfԕ,c!:Qc"D̒$"|}\RIIIIII'G0W j?br7G[R% }).LDP׆ ݨI[$ ál ieL ׳f'}L$B"$B"$B"jH(!$!!ӓDHDHDHDHD%":JDHDHDHD,O!!!!>IDHDHDHDHvHDHDHDHDHPK RmTL6./CentaurHauls/CentaurHauls00307B2_KX6000_01_CPUID.txtz8~l[m*!sΙ)369=}KqŮ:#qdPkN/d0[ n/F緟Ueܭy#Ϋrha7VeD +)8\Z*Feyu>\^^lxlNX!"iR$EA2.,n|сx]AB&2BSpm[͍[bYGK6N82 ϝ 'tNlxr'Жzr͞bϲGR&!;[)A2F6_WBqaR{PA FigE#2f>~nvcc^YѷFo,B??)! (h-(L;EZL.(<- a2$[=6VV^*fU0䦼_u ]V0^W =r|qyK4q]<;LC۱m.p솁 _4Ď82__sy),vR D-<Шu2jsF-Q˨eԺ,jуE]%ZF-zT2jZFI2jŧ_%ZF-~̨e2jZFς%2e4?>'\Z>K}r)QWeIS ]N*<| ) 46^N&'dr29rrpr"e)^N&'dr29xsbei:9LN&'/'>9o.PK_<3./CentaurHauls/CentaurHauls0040672_CNS_04_CPUID.txt]O0G-ގ'j DP"Y +)د`Z\:)[1iiOпi~&]ÃÃj6>ԥRT$q8IL6Xe8gsCY\Y,˼,=R9 %Ĝ҄ $RFDN* 7 x7}^ ID;M|e:exe*}YRHU\sDVN%JWpeJd^@aR$ǒ祊Y._o'}@'ă ʷG]L@=g3r]H޸xP :7w-^H@2 .B tA0+ȿޗN OHUz8m +"NWޅlXmjvPB2Půd%ُe f^w].>EϦ^dXֻ 0^pkqZxR pRH^NHK{rKڥ]ڥ]ڥ]ڥ^OivizKڥ]ڥ]ڥ]ڥNIK{&...OKK{....}>N}HK{!...}>O}JK{)...}ҾN}IK{%...}% `/$Dq9gɆaS^<[r^Pӗ5.]}A%28$TS;negzq'wq_vW{2"L]$wF, ୔"dH)&?R )bK))b_SR 0fzIWIRJPd$CRj 6E#LٻSadTdѦ(TYjs$"ήB\ʳ!Mo?lB} uV {= 'ObL}2TlpXn݁b8%H(80*BgXH` 06Hwٞ F7K"Vƫ ڱ2 #M1N1q8#|#::C9Сy)ay#Zt@t@t@tpr:t:tr: wPK|u%e |7./CentaurHauls/CentaurHauls00507B3_KX40000_01_CPUID.txtSao0)}餄ejd%jHB4W+㴬~~%1l/bW{w{K)2IJsJҒ‹k\\cޘ$=@a:OSZU Y"E%6 4fYM2 Ӱm׶ ܁>2߻ tfmli 4]>}!) Mm F#޽نߛJILQբ;huDѴ v01Anz9 Vl! IVR9rE2 ۢ %|lׄE9`xN-mWN/MDW||Q!K@s╣A)Vj,V uY0ݱ pB?5KRCLg*I3ZTl[5>g%SPGAd6s}.,' r"j]Df_Ԁ`7p1t>\4"㉆dwPtud}Twdpv|+v?(B!3[{&X0Na.2Ayl:)y;%IHFm#%%)##KbJ@~<%C/Yk6N|w\{mj0jo\aٵ:&xʆZGBw-K}u&61 *1C#+KTls0[Z߻Gj}WbRךGE%ǕTJ})1a*QDYT+K0(;)8Kq HȞB8T"~d릯9+MDԁ9P 9.*AX@M V؁!@9i\ foo ,[E$p)JPHraQ$Iܾv`< \xFXgdҒpiI<'\$\;ǣ1yKBK9+=3r鳙㳝dMF v@- G,rZLj#*EПzlh[;QFYtmٝ84v>O]д24j-םRT4#EDCWk^20[SL2?WKtSʝٳdf],3qP B1P7Jz4Xv*$#®e^(i㋀xd6F`m[ < kұzjxRJ5RAyO?~|yYޟӿy>G;sJ;Sݫ;Ǵ޽0A^mG텘Z&Tzn۹tٹsa綝ٙK`3;3;3;%sI}vf;Om;3;عSb)ڙٙٙ.;#;ecٙ\cvfgvfgvf#7;3; 3;]v>Glۙٙ5fgvfgvfgv>;3;3;syt=#n뙞陞߁kLLLNNLLuLKzLLϟ@5gzgzgz$z$zzgzzy:B߶陞LLLDDILV#d7`*UHKE ,4[ja/)xq߷Oۙ;4?ssssssssQc?O:O~yyϋ΋~^u^vs#9B?Gc?'S?gs?K?:~\|4MKpA M,W!#Iy.AgY^{A90-S@` $!װ!ICMJ:3%z_vlK*^JUDI@,|e_&C7}k8MaLp%pH"-" [6$iR#4$kV;C+Q!ՒC= BB>7ga !1.t}v15Ⱦ KM I|Ȑ$8&iL1deDFQ<,lbbE҈iÅdMhJ TC{b%C_):$˖بzJg箭$ "2t}lūޯ=TCڥ<' gpgpgpF6g36 Ψ>3i :3838383g933838383893ΨvagpgpgpFk>}3,q&]crM_;38383;g\39yu8383838#!\ (hhhh\9wQhhhhFy[Am84@4@4@:XCM(> 2 jFۋ5 TAA4@4@4@4nڭ䈂 W+ڶq->Xbʭ 3޺XZN/vy!K{tљd+E!Hl$P-5J ѬF]6[ %PKI!y 0Ě%WŽ&Ev}v4 E@6z2s*Oln56 )|lSEE>EPW:jswXz.K*nW?PK 'HPx1./CyrixInstead/CyrixInstead0000520_6x86_CPUID.txtstQ0+PXDB!ڹ(3$51% CF@PKHMx1./CyrixInstead/CyrixInstead0000530_6x86_CPUID.txtstQ0+PXDB!ڹ(3$51% C`tA2PPKL 5./CyrixInstead/CyrixInstead0000540_MediaGXm_CPUID.txtU0{2:&]L: G+LEȘ=p&Z({p;_)抹nXr|X=[=Z=>!*dǃϋBՕY*9,6e9LZk'Ǥ[îx{p\v7\M1){ kǎEy3rPAݥ\xKpt*\"İ\@~0j_Z4>BQ{M/(> dvJ-͙3+2lgYS>-9C=` UQ8 c0ٮ9D[!+=IX^?F+EJGXd"2^E+hPATf& "8!?JDŽP&,{|ʪRSMTU[KKWZWtB6[| ']oڶhj^1PK:'Kdc0./CyrixInstead/CyrixInstead0000600_MII_CPUID.txt]P@.c Xgrdc<}.?,% 01=t[֕ 4g82C- P:;;w`e早S{uǤUQޝ?P1@$ixu[Ĵ [bjJE8?J9"vm`#b`gK?Pq5vLQg))]Mӌ)D {2&KϴPE/M&VMg (s ܒ ,J#T&M|M?1*H(6b:дo܍ȃ;  | 0BSbU xU&e5pa%7{֍`bBFJΙ~M$,ҳeE9(s0h 7*YJ@<=5liuT ofv Y-64X?] >Ax:feBIyʞjO/;sH> BŠT~#XʚJU~PKG~6./Geode_by_NSC/Geode by NSC0000540_Geode_GX1_CPUID.txtrtQF7+1$UHm나\>$c$%8:“|QlPedGL5LH?(W>3THԓk:µś6JE"'dBC=5X0*OW$ytt SBhx!&ǟ3ֹPKp M6./Geode_by_NSC/Geode by NSC0000551_Geode_GX2_CPUID.txtőCA D 98U7O8 z}/=ZRapʌ|;te`N{GڟBH#nE~`aS8f&e,f(+iY L e^@t5S I7pD㫚 9d:E@@ -4BRd-PK6./Geode_by_NSC/Geode by NSC0000552_Geode_GX2_CPUID.txtrtQ4BV0 ~C9bIWf A8TL4Q}MXvP}_AEphy#Ԏ'}}iHNVl ;nI"[hbaY*TM$7o?inQ -U Pꮦ8Im;B7p+2PK`[@2./HygonGenuine/HygonGenuine0900F02_Hygon_CPUID.txtQo0ߑ'^| UcR$CF6ms3Q?(%Vu`~[x0o~b\|NX(J@li—MYpW,|gw#mS.q(#t':#Hz/Շr\ʹڑ Z UnXb"(6c;փdWAE-Pxy·Cm?C!Dy)$EnKQt܁&rޞ7)&NmSQFک^Ek;=Qo 3-d8bX,*կ^%LUWZV'i {Uή}%t4Sp$(fnt$2ܡ>>>NAAs>c cRec}!}XAAAAA>>}lAAAAAu؆>ޡ>>>>>N;}AAAAAQcc,}!}8AAAAAq>>}\u>,}ݡNAAAAAw>l|nΟuxi`w,1:?4Gy:'Ѳ8{- _w] @JoV;W!!Dw۾xq𸷈EeܩucJr&!j;Νk΃yB[2B'z4nJT0X-fY  DB4"եa#Aّ$(N(C Ew(tWI ЩJۓHìG#LL1Eٲh1PA_"[Ϫ!0kI =O)EtNa6DsRHfk%ڤFD=,B]a( eF$I*ںJ7q05bռlVУrD?.P`%  Q*s` GHW9h~ u:@ 9$$[CH a+FϯdY1_B^!^6a Ȅ޵4T@e 4lDQ $c T @:Jc e9XTؾ·C~bkχbJ)$KлIt3 ML3gR|xO~]u"o{JEi#ك[;O=Q36׆av! Ǚ_`BFYm+(}n.S=iMm~חa,kO_-7#Z+Oi 7GSή}}w43ڇ=\m>c΍#dQ)?v|%gPW͒jfQM f(1 Yc)-jUC5TC5TC5TC5TC5+̢-VQ4[>f`f`f`f`f`f3cfch|P P P P P 쳨jj֊913030303030st̬cffJW P P P P P9jRVQ4| :f13W 3Es嫆jjjjjE5TXW͝fhfhfhfhfh&_3}tLY<kkkkkY5XB9*I34C34C34C34C34g1fhfk,i^X5X5X5X5X5yMB9+M34C34C34C34C34w9fhfk,i>X5X5X5X5X5 '.Z >sYy\n aީ%o/7HLP^Hҷł{~%K߆{Q{$y\3 1{ayܾ3q{4yܿ3 { y<G3`=X9 1&oOTo/};D<}"lPΤiKPB7dX(G"-,k$NBQP4BqP<%BI@I"EE6EcD( (m[ 0@M}oMA?eđU{E(D!JQBrjD=Q"QBZ{E(D!j=D! QrD(D\(D!-zB(D! Q*rF1Q*F1QbT F1QbT QbmF1QbQPKaM :5./HygonGenuine/HygonGenuine0900F22_Hygon_01_CPUID.txtQo0+;z9u&!2h&#Tj#?¿A9D<1׷W%|gzSFY3;aWUcW5bês}޻q;]*:M3eNPgi"ܔTai\|͢jR A4,q (5;6dW@%;H6*^:V)=x2 G|,/a]3@A7 )h w;'oooI!Җ|&kP0 D7!'P òd#G$`m]H8e1mrZUQ9H 0#$9X}.HDBTmXAUZN (.tյZu2dkh}i61le?9, !FKhw+D&laA;11c d 1H@i db, оthOlPL?Q!ESȾ~ۜ5Iǽ0Ds&gI#y7c**H;UUܪة |z[ppmtW IY?NFnզ>9\+6͟?65Ezz@ki*-vl=ɵOC{M5ěz mof.YmFXK7?ܷ.rd%`jjUC5TC5TC5TC5,RRQ4 f`f`f`&30303cf10SZ4kjjjjjjYTC5[H5h| l3 fLYTC5TC5TC5TC5TC5gQ !լEs cYafp̜q̔I5TC5TC5TC5TC5TsPRVQ4 L>f fLigQ ,!G ̣kf54S4|` ` ` ` ` kkkkkkӰkkΊkfhfhfhfhfh5sc)Mo>kkkkkkX3 k3 a O2C'M Oit4^du^, /r`ˊڱ~1L=HP3| K喗K1q>r)F>a1"GN.H'M8>FUԳ19Pf | K喓1aVTy9U>*}cWOo>2S&笎T9.,|:ɛ/G1_Qk*SiVC 1dTC )7SwXKҐv#hR6bCgcW! E,V7fyA&1u v shS/=n^R ۷K_}#6ad3$Rp㯅z譫 R&GRRkYKI)' LwR w@_< K@~K(gZpT@={({iVA~J5\Hu'hPvRp@ֺGڞ*&>ۢ@~6G +L=)PE M9˳@-R T T _#[;@ 1(#Ps`$[&J(:o^}wyN k0sGTs(XYI 뵢D(\_$PDnnr20I= ݧ,_ݰ<@Vm\"|V҆;)PG>@= UJIJ(b^*N 'RQBt3mubI "A$TS[99JCLs G!(uDHmj} [ | wA+NAK~=JvFH+A ~a jA!a|=YjLPi!U "A$q$#evE1  ceL陠>bH]$D9 UlKB!IW ̐@H b t#(5PKc3^yL289CO* ' 9?# ) > lIlh)lb9ky݀, zo>„OMyR rEu~σn Dn ^z,)Z~¥:SY+>$\OI@QwF5*Xں70ȡZs^[(f4# ⊽a,+u ^T9F0##AO/YrJ%y:ܔJBnh|PFpsb/'giҬ6I~PKvzdo1./GenuineIntel/GenuineIntel000052C_P54C_CPUID.txt]Re@W4xdʞQB*oQBZ`>Y?ȲIwAUm]lb=$g0AFL 0Tn'PKpA81./GenuineIntel/GenuineIntel0000543_P55C_CPUID.txtR@ ù˄eEGNK^tDq?*,I: axi3tӳGATepqr}ݨ#XK)տ۔ꇒ'0]L lm~0`kuhbJ]]hݘAƒ:/(oyNӨlUYK`2JPH}k"lTH($CV+Jb]6ʱ\J_d C]wfѐ03a.tF;ݛ乎y ;ޒyտDf+r[| Þ_c=iU;a#uuU@Z_98$GF. ,`̩PK6UIx1./GenuineIntel/GenuineIntel0000570_P54C_CPUID.txtstQ0+P\U $f힚WW˅b! Ss]:MPKw<i;./GenuineIntel/GenuineIntel0000582_P55C_Tillamook_CPUID.txtstQ0+P\U $f˅Hf2MPKFtԕ7./GenuineIntel/GenuineIntel0000590_Clanton_03_CPUID.txtÁA*I-OclWJo}4 gߴoH:} )GQ\RN$,<7/vIHB Au]6o[z-8tFĒ$54| A 4)PK3:./GenuineIntel/GenuineIntel0000596_MintValley_01_CPUID.txtPbA.hĶض{bv+=y^NU6<PrBS@kxL6+u,v:P(_+Lo*XN~J@ F#ǣ1,PZ0:[R^a%iP L`Xʲ[,% \ki A- cxǢp)#E˝cyCC׳=.,קȮJf9].9FGb_"J\2qd~pJRd:Z.fҤ8&eFM.3jUKH.ȃﻴcw sC 0HZ;PKe޵j/./GenuineIntel/GenuineIntel0000619_P6_CPUID.txtS0]z-3b.69=} i_GHF_ YT\[E5l< Cz}g琞bGQ;`==͒ća$ݻ "5Oa UP (!ypeyGljv 'J\5E!jc\X@Q#ujF9ƳvjKpLT Of1GS^xK!ST=^n5,rVSKg2>86%f;j:Nخ夆;͝&23Me֢ٚ>$DHhd==cRXO 05 12ŋ攄sr/Q435^{qPKS1./GenuineIntel/GenuineIntel0000632_P2OD_CPUID.txtmL0~Wf3;82JZIt:GsqmƴxfEg癠2f)J0PK}{7RQ7./GenuineIntel/GenuineIntel0000633_P2_Klamath_CPUID.txtmL0~Wf3;82JZIt:Gsq}@ӝXZ$Ey&(YJ%RLPKaNf9./GenuineIntel/GenuineIntel0000651_P2_Covington_CPUID.txt}SՖ0 }/1=v:fef^T: |e֓-+1_4R>/lB5| qRt( f̆U#" h=}> U GHsxn38nݙQ_,?*ErfdK{ۣ fIfO,g6o|_!}& 3\5SR7<{F@MtTG@l., P/J:!>kbuBiR1L=X!Cl%(s(NڦF||wLס=it PK(cp9./GenuineIntel/GenuineIntel0000651_P2_Descuthes_CPUID.txtTU0~^Ô$YZfLN_)Dt^ ? ^Y .wҤjG %*e|Uخnl /1-4R9UL&]qh<*:lۆ͕Gx=M_-d6b>co|K*"M_{O͓p RMEQ^aCF71!A90)N,fvIo#iELNQq-8q0?A7f fq_۱>/Գz}FĴ&PGQpq==VN) *qzܲ9c% fKܟ\N[ZMLRطIJS6M.R(Mjs;]*Ud%m8;Tc: YT PKrS9./GenuineIntel/GenuineIntel0000653_P2_Deschutes_CPUID.txtr-E1@kl7=hjSvvek;3`3c @lPK[s9./GenuineIntel/GenuineIntel0000660_P2_Mendocino_CPUID.txt}S垣0sp唲t7?z/;?fBﻇ+8)<_66NX2\;/ e$P \+G[C KjqO.aɤvѩvH\R%,p UQ6Ɨ>Sq:yHh)ccNn.M339Ûb5a9yFLIϰ!4c@4⟮(@aZ0G/i&-RYJ8xI ;4B\ 'د&%@6\j\hÓ,jk{j͚a Ƀd*EXas&HB"&TIjt^}x~/ӌ)0pҰAwyrͿ=N 6E@h";W3ibNHQ2$o :Ʌ^K S JH&∋r a^jiH7^PKXUrR9./GenuineIntel/GenuineIntel0000665_P2_Mendocino_CPUID.txtmL@k\wSGҌ"jgvjvj=[) K66\5հktv/Q,,,|!XFS4K4S^nl05>2i*-W'7VV) XQ^, nl+^2zV[S*.@R6)h~ qGW +I{hPK{BmTf9.q3u<%]w^O1Fv{Ϳ)E2F)QlcIziT1xw!W8 ^R}r|lHK|W(Wp¨n'KKi)9$GXSRqY.1$Q%UQ4`{d.3lll2쬿WUT,+-+=gaY8xc̳ ay`G,<O9 GGިIq0cO2݅%r[y(/!733TC { u&oYʻ4{aoG9~;{Ɠ5Z.SK]OL8Cv0p YdAW5.hFg)!< LI H6t8SBR&$# aGha#4%$0jeT8!m-L~ۉ,JrD"v5ZQ‰9 a86Ue&PlUAhqV&c6`LƵ +\X Y0d22 ٜ9n3By$`nJեPK<J:./GenuineIntel/GenuineIntel0000686_P3_Coppermine_CPUID.txt]喜0í+s|u{sػX{&[]38~g,)*W66ND<lU,.͑MF]x\{d$3>iȗ;Bzw /Xd3E 5r3QSi}:x˂ mCzMAʠ _=-t]C_}-Bi"6G #n 8_kS&jtkPK}k6./GenuineIntel/GenuineIntel0000695_PM_Banias_CPUID.txte@ߟ|kXiݕr{9HO]ƪ<vE^YZI㙟Yϳn`7 ᚷL"&e8?4j//k-oQjaIgw`!Ƴ(]_h{ +ٷ8-EHD.51|-_4Q$(^J2m$,/7_7}qt~vGBZyj[lnm5쿆4ڰeU.rI~inJ#*jM/t\~E(]՛:VLǸaz@LR&b.g8 GxI&r45V[Y集qT>gJDF=ڰ E: rx^gJDz̓!;29öE.O[|L4mLtyr,i;:׃b$бiL[E-L1o#ɡ1()WfGCa3Fc񇻲 '~ jaг&>{6]K%sd! 8Bq3nK&=-4B4&K478DAŔ&g2]Ş@!x`ۮ"WpFH;9zfX El-z}$ qUPK]փ7./GenuineIntel/GenuineIntel0000695_PM_Shelton_CPUID.txtrtQ4B.9 0WzK]ITBguUSq*Hvi9% E:kK'B%{PFA2K7Ҩ%e%J!LVmw2$^_}ۊ#Φ@4IҤ1b$/PKexIn8./GenuineIntel/GenuineIntel00006A4_P3_Cascades_CPUID.txteL%A &>". Ls bAH s0ys\i;? gD5 VSF٧!ZZ6 PKFsr8./GenuineIntel/GenuineIntel00006B1_P3_Tualatin_CPUID.txt[@Á#s4VXCvt&沸If[sp?WQ}^E| xƣhL; Ag>xJu`J9U=-Z:SjSl"YgXec?^N g͕*ʸJaZp ?ƝZpmbIJU2eM``hW,3U7"&'Kf{jLne'/uۺ6V=fʗ1'Os=`py]VM涿û!dR7)$:U$~4Z|9^kQd["es s"u..a|1L1c;;kEε@NïxV7)ޭu9[&Tm55per9*|43pEӶ0 sn Wd ٯmr.GDM4BTv21=I_˿EUΊIY≓ξ 7&L詞@2hJZ]V^+-,Xߚ;x(Frǎlp]k!>,,EȂ4CdLā);_̈!"ahL fIyDhJ6(< ӒCt$%aI!OM3e JڒHy\ws: z&!ؑ'!w,nIW d77Z )BB R~a]_2<,P3}(H9!>`AsZG!#4>ICjDXٟ3r8;:K P2ňMMDxTh 5EҡC_結aȼ\O,MiF&%a0贒5Qw;⼅$Y(q7tR݇ZHܞ4yO#nu[_$BE^476y"+5YT>Q*GG!}w̮nCvDwOMpDHδOWPKTP f 5./GenuineIntel/GenuineIntel00006E8_PM_Yonah_CPUID.txtg{8o0[g4\[:J­}_`RO 5;r1i[^)ev>d/?KS|tt?xn@=#i:Ksa{vp306J ]wց !`-|ׯ 1~s8AV YAW ]t_㪼WfמZ_a?iQ_4ހͬ8E˚nq+;v./n֤!O{B|u;ue xgrCʬ8|yX|(WE]Y%5м&_ۻi͊>"lBD0B:*QtJ0+w$>3_C4 }Fiڑ(Q3ے@+fIGgc3LjvAbAɱY'A&v$5OYbݖ.S=o_F k% 3$m{ğXOe }FC䩸4 d*QKH"BK3BqP:?##uP"LiPzHγJޑԽ!%w<+ڋwȪ 0!Fn O=B ,a [:5N]$5R^KYD\y\#Y Tt-}bp.0=`>/Y'/$ri>0|3lICl#,h##ѨF?rIl9tFBp >ˋ;HIuF[PAA(ڈ35:_H ᳐n/QgE.eAD'4Hzap9ji>LN2hUuS"7ϖ'PKbns6./GenuineIntel/GenuineIntel00006F4_Woodcrest_CPUID.txt~8ſa)ODb{ں4Tzt<_0Oe}e&dNa^re2ښ:Ax+^+qHofo…˻T.v--{ ܄ڋ+qr`,} y&3w w2SY1~[%hc81Y^e/m&EJ\Ant:̇3fWkq$y.^ӁB+Ww=;q:ߌL,IIj-%n< $~Ye3K9L\vvInU?LwQjV$*ډR}~F[0>xoox0x/pb->RBRpd 2Dܓk@75.!ȏB?Q Ahsy'fAnDLB!N8CU(z.$s5mI K-E͒&${zׁ7o!E5C#bR[/_ ! J sFT$<h\jTkx|f1.ޤ'C SBh} Y A<6=ppht@: xH;&dz_7)Ll8Ǟp"_?ׁɇt`:p\Buց[nZfҁW:p_kf+̤X,5b"FQ ݇6u}Xys}60Jh* HZW%lJT`PHƼ& lHEE$JBU ƅҚD$,)Aj:MqBj?TQBӹ"q>kNiI$$& j3Ҍ>-y&B"1be_J"N&ܤUB,_;10fo]` ٛ&PKu圻%3./GenuineIntel/GenuineIntel00006F6_Conroe_CPUID.txtdT]o0}G?\i/5!M$F ];M{ނd%F-}'Kh _O%9: ЛŠ Ř}{;3X`iۙĞ 9VƘd ` \**Vs"fd;bF2 ~ oj}#b6E3l遵'R `yEE8d П.jëw8w ě_0כlaAP1n@`u8,r!hmi)5ӓXh})cy;;Hӕ6i?ue1`P'3 iqSWC{&?Yo~'FXGw I> **eL]i#)F lifG7rgnߛY/;_m֖]8#uбT- Fھ#rXg(YMV>@rb,иCy=FE$B4Nah/WDδҒ ZHtS Rs(AUUAqay_g t )z+BvgNIZ7Aab6%NVVgN;vcwhR[΂$" 裱Jߓ_eH ]|Sߕ̐`"5|@4HJ'vaRNl #&Ch2б-e]"#,B,",h2Ĥ" )7] S.&3[7n緞ϷH^Y_co>V=t~'=\7o>O܄b 4و3ƬyO#Sd^y5'~\#щck8|$󈩟R?,u~߷>/~GG8a͡W޷?g]pjQ8 lUzNS_kzu;q;|hw<'Ӥ ǰO_sb>)N̹fN,~PK+2./GenuineIntel/GenuineIntel00006F6_Merom_CPUID.txtz8@.S,y<ں`7Tzq{QI̤N࡝Ί&gsmsڙm }M݇c1T8<\l9M_o2kj[o?+vڊϻvd"F8,򃸚Z'!sܗ qp7.ǔ)P?ij |֩NCn4ŷv5=\߫vB ponrg DlsJ9O㹟{v5;nx<{z=w{뽒\lbjNdEQz-p3?M?I=yK[=.Ԯ~4/Q]euRkgOVOjuS#x[>!M6 *URhb%P)yAO#" S%$('1'#ԱҵyIőਓĝ"?$$(Aj2ϮHPbXTe?(vLI/@RL,#왷%RkZ AgH`|H(aH{R{6 $cFD3 ΐD #{/9 J)Bh$F-KNJrru(=I)o%q(~Pҿ%HQis:|Cw| ECN3gj\@ lnzQF _3xPۅݺ |? L q.ܵ;ln(_uLfBHJAL <_nG$6|. W".b.ju8Y"]yI=B9Ac#"E;HhAdv:`i1KD%$:%:Ѧ}1Ev-4FQ"oHE. ٱu ;H !O%%"8Q"Є vrl,l9>/KH!=q0?Ns)"`V,fkPK}%17./GenuineIntel/GenuineIntel00006F7_Clovertown_CPUID.txtAO8ʶ۩46i -+i4l1ݒi|BhHΓKuIU#pp䦞 DI8;>xL!E2:[^Z;:c1+ջgp]ۻرӇ[ M3{k\\CWE xD G{BWLWii/w:/߳JpJu~$L$0;M ٦ȷ–`j^#8:2"*;ZQ{8$^&btM3]Ln~yrew c%>'.ebD,MS$2;LeLtDTYS8__dUnfZ-o8OVďmRGS$= K$BI."}a4B¸ "f( g8 gvjgwbTK^z&nLMXlWM&N8CMqɫ1=&Q0G&GNScTaOT#&FzQL^2 T_#{*" S#Q&yJk%8^gй^B2oL4|"$fE&~LM}O:7^2/Rj :65˖&$M&g%T)9R7`$cNj+="?;7"F@p.0MR]ſtirNgv Uwx'ugf]*pW gx*pW Ueux}`'h$-OrNg>|8}eK> Cyuu3LDnQ>BƓ uAqb"#4#8@#dX 눢rBxu ndOZtJ Qڗ~TmtO!@ƍ)6y<D##a\y *qQlucv*Yl߼C&nPK^kr]%'5./GenuineIntel/GenuineIntel00006F9_Tigerton_CPUID.txtTQӶ+A|};ymtz}6j98MdÒwG m/+_2;F,4T B/E?B68*ܚ>@Dl^8`pc}n,x  Y9G?ZKHWsyì7Ԥ)D+h;Z% qH{i#Tz*ՐAu9p_/1)!,ub va(En'1nڏn_e^DAz YpXg_jbA)$ qo8Eye9x 1MA(SwIsr&XHYUe0)rG(LXf2<ڕU{x|[R-13yVg@ZFNPK2L`:./GenuineIntel/GenuineIntel0000F13_P4_Willamette_CPUID.txtv>*s^Mc0X7A3&k_D*s8Iڏ.˕ŹŹ$%PkfC~icf- CTx:KwVûH'bPFGХ#D{:Vas^c#tG}??YF%L]h? 4EN&.z5L$2>JÓ͓RX]M? 0ry?E#5sm&_ゥCW^j=V^oY68j}zJ@&Vbog?**OIn?߲NTmV="j*u5UW4WRL3NKSd [J:y3NMS +dSG z@p;*w駃Y'قR)ŔbhB=EfNL9O':L%⪪YWb(p7`iFoih9XO@.xǂ\LD^o03lŹoPKFc9./GenuineIntel/GenuineIntel0000F24_P4_Northwood_CPUID.txtu>^{S@O+sf[/KԦw Vw0IQ ;[['I(.]<8+0K8 E~Q$0$.rpDkf>753SU_iA;_ʬ<8|K)D? Bd,c⬷MV~!߮^+B>zG I87(OfvjNN8L5w2~۩& DTTR" ƱNt\*†Ÿ >̢3s&2 D6ru(Ep}]?p\FX0DvU^{Ԣy[TQg\ EDQDrloaq3-29tʨ1(1'{AMi.Ps?:L\D.L{l܄i&>8lM㢽w߾ A}SPi>)2i#uMM"4W; r/2yu\Ǒ'w.E X&5X^&BXa"4nPK4ӎ8./GenuineIntel/GenuineIntel0000F25_P4_Gallatin_CPUID.txt[k@Á}id2DXhl P vjRlI:mZv_'0|[X,iwM̳6S;kDh-W]A}uPtj>S.#,wI,xz>hx \E\At,2Dž  p=85Lb7C]$QE<JkЇCnߌ3SMYEm8ُ,Qu*f*-Ԧ(3azq,n6{*3qub) 另!JP<\ҌΠ!4.;F%U=_HssfC9J{$2u$L:b$d"rX .8qr߻rГ$@0FNpN&'NtBw&o*2r:vGI9*"b*'Nqi9ɀSG Nq,O{bcHs<&<ĐL~\`gEOز[r Bg =Klڭ{? +"oI- a 2j!c<\2n"M(np6m!rG3TJᓪҍdWͳǸ$Zܩ#3?C$˼ PKd@./GenuineIntel/GenuineIntel0000F27_P4_NorthwoodCeleron_CPUID.txte0߯|9W 9/z`f5'xx1ȳOWWxt"m|z gfƎnBVeicoO>!AIFv()P1yo]}p:0h r^TӉ2GcZvs>f^鈕`:3UɦAֻ"}}e;+J^(+ۅ ~ ëWqs! اYեiYqkre cM脩5?y @HqsJN٠iB%)rBMpudP=QAJMFPi[:_ySV`]+璇Ͷ!=d͖r402͂$Cv&TD]p;01v/s֗?k C:RtvE퍯[B XyPD@& 7mӲ^)=L|~$g8yFwQ9n(EgyZj{$qepp1Fn;C8qq.HeZ[2.XV]hD:lvxnRDAjrhkFNEFzCjy"{OE|%~k~V`Sr"_UM摉0E" 1Jj 2Q 6`ajiegl(ܾw1ڧ&2 i>GiYmcUȟE<\(%J]Oˠt(6ÉAqr".PJ KVNT΂,M=^ ީK xz[ZBM4j!&bbSLdF1&+H_D顟 Y=>en8KBu94rH\XF (2̂"\PK9./GenuineIntel/GenuineIntel0000F29_P4_Northwood_CPUID.txt0ǿ]7ICRYGqE%d6cOI; m3ܓ_E⼂0MY]Z]HX>xEK-:v :A{QZMzgs_B`'Y@j`gnN#t6MTd4º*zc0LF%(%M<b;%d"Kc.m$LAY8uQ#4&~5g#TR(:cck%_aE{hgT^8E~W[VY(ɪ&{UOCzM^qm Yj(ĺB>ܒkaU*jYUΖCϊWU|.>M27F3h3V,*)M̡I&4$ G3h&̈́&4̈́棙p4tfBPK,B8./GenuineIntel/GenuineIntel0000F34_P4_Prescott_CPUID.txtrtQJM,.I-*V ((jZrA @A96 @~"Y:%VSeh#GWr=U.b~ے*O5@р@c#)z~zTI]9dťX*MԗʗI8-Uyo5ysmlY\%-nՓT0κ(41 PX+^ѿR )e&$fL8 PKHq 8./GenuineIntel/GenuineIntel0000F41_P4_Prescott_CPUID.txtv6/S#6 ?f&\șOMl7H%;xu Mȹ;s8dSXDr?i# S6%ܟ"eI;zg{O VQfjL ( Rxp!glFeub60&*Sʮ uoI)eS di$*#{Ih)y)K)Av!g{q 8vuGHr'֞Z[}r/=tQ7 C#,H#~vUqM] Dt-Z$aLZٚٗ8R/QIODo\Y4F[Y &7"ٷa)4 E2*y/D5/O^d&h8)5W-4HeF<<I2+QUP,/]pBծ Vs'r)gfe55cIQ5!·Ii !5AAw0h ]CʵyubMDQC;PA4E4QL'SfZdex >UYM~~ᆨ,9Av)%g.s_Ͱm3"yiߠҮaHQG:!vE͆xrs+"vHn2DƓtD胢gC{50n .5txk,M[2+i ;/fKXc|b{KmTE(SÑ{A׮ 𐑘: F,>燹ײ6 g&4YȲdQXd9hC$l5xGQ#<#ܜ^U|8 00;$Gl4o!:$7{%цD1ёHnKIԭIxIsIM ۖB.' AږԼ h`$yf#È6=!Qɥ0Ɛn\B"5Pzpm?sIޯ7$z!i{cAX(#`=90(y p|$L\j:Gyʝ _~.o2I5y|#TY,11Y CǏ#?A s#w}C1tJDg7NX+bH8nw,1ڈR$ EKuɰKsw!W u-'q"b#cQ#ro-9#12KsdH)$c.D|D\9](&ۊ("RY*c \g_W$UU aa W YPKzH% :./GenuineIntel/GenuineIntel0000F44_P4_Smithfield_CPUID.txte6|-SIOTէ\:Nj8̨(;ߣg2Y.dYeO#[[Gs$>=k:h9q! d΢=z@tL=Fz%ÓbcgwK AԈ<\RѵHu!!|b @z[3Q9glrQO{6뒧\.!U]6ip*.q,NGNOv"Bjg"fٌǜQ!g6E]^rGVA$@D< #l~`6h xF~(Q]&QN8$+'?)VH)Hyih#i9Anc`((]Ӥˈ]}=pf1"(մ2`! 8$>u=_FĿWDUBM?$Ӊ&naP#P3ó`X7Zk9N/j {Y!yM3yc?C??=yU,7ubu=C@?h*r#7Ho wqqzF{WO)$i$i$.G|GBBq7FONLJM#N8J t\™/e)W"2PK% U58./GenuineIntel/GenuineIntel0000F48_P4_Paxville_CPUID.txtrpJG0@+{K_dZ!?d̫UX<+oPQcDaAz!m Ād` ~EO:BlSdz0^#)s^ "" \qm#r+ezs w( =֨f_#pp: Eh~>}@O%a6iG(24(QQFeQ٨pQF(2jGeQpQF52ʨ+eQFm(2jGeQK8(zQFeQFPK1Yz9./GenuineIntel/GenuineIntel0000F4A_P4_Irwindale_CPUID.txtXz8?m.$Ya12A몭w'k(=J8QR\ܒ{|燬ҾLhdmula:>KŨ08z}`M3mgmi&anHuӱE'fW 6E6o9v B/*b+Df(9Oh2(t+L/IM1Ǫ$"u=E(W.o_ ^P"o Յ="̋T!"JdQ љHuke{/JݤhcˋDAi\ۂv*P(e y/50L47vgQ(Ⲝw8a(D_TE7'f9Qz\y $pLK6tD}X$ъD1QpGY돒]Kbuy.>P[>5q~`"/T}Y R=rPGbcD|-3y˨Cj6) l[/E],ؓk$Kr~K&"وIkv1(\@GmNZZY6#GZ?^v(:AFdF'O+,E`)^h0JB,`K55p jT,`w ,rν!i* W e_~P 9|ۇt=CȄ X16!Ȩ΀`Oo @4DwC*9=ttoCMH ZR{ x!Su_eDT\$V m3l+DB?CGYTdk~PKv5T77./GenuineIntel/GenuineIntel0000F62_P4_Presler_CPUID.txtX喴8?nM &ٞ 4`7NnxԽU9'er' fz5v萡ͰF$~rtwt$%|Δ,Tb ixOPZpYuތ!= HwZW;e .>mGS5,r^-G,EUy/ޝ{TNV4/8SVlFmkG.\=k+iI/]>)eퟁ+\n(n ~S'CN>1 > e jC$/w@}oR 5d/<(F&w7Luhb바9ԵXԢ>m^R7X'QEfcɎul(iIf$9FLFm&SqAXSBG5:!WN3Id:A>q%Ѿ@o6s1U5>W£nn.vtRg*>+Grg*nnx$<$^Bz !DB'+!KȅkW˫Zȕd1[+z([\Ǣ;+(4KSe-Cph K5HIԅ /CDSؾg fg詐 ы!!ɓeH!BߚB_^LQ7G»Ϙu1 ?;@ʛj{PK$7./GenuineIntel/GenuineIntel0000F64_P4_Dempsey_CPUID.txtrtQOW@]0 9~ ڕq+vѺ]}*(ypKdQȆX wgF  (s2ZHF:4 @O'VкkEtJI3Pxzz59S?3hNMO&ZhuNQl6!\%%jxfn$pwBE*ibR{v/2'R= OP]îOk]îa5ԮaװkF PK d 9./GenuineIntel/GenuineIntel0000F65_P4_CedarMill_CPUID.txtrtJ7PM7pʽ%DLZm8y!Ɍs^;/Vs"H,*\)ZCR*R]썴{#]ܯ"5V#o~N ͏?[խJRrPKCy,5./GenuineIntel/GenuineIntel0000F68_P4_Tulsa_CPUID.txtrpJ7 @z\`6Hcڢ:nbo`Xo8)S6onHokJ^[@yϽfEϐ ]$S$y~!4q"coHIBKu!H4YIA.O]DF*GAS"FP tQ כ}KYap5Vw齩jJ 3 D?hr{'R(Tv$lNH eڿ%xuر&뮻_'뮻#y]wݝ]wPK 4./GenuineIntel/GenuineIntel0010650_Tolapai_CPUID.txtrtQJM,.I-*V ((jZr: #a t*3cKzS k|Aq iC=ĹZ_e]\o.kkn;]ZuӶt ڈ1o Ҍ`8OH%C׆+M>!'Q̙)OPKVM d 4./GenuineIntel/GenuineIntel0010661_ConroeL_CPUID.txtz8@lo Vps{ﬣ$qd2Osm`I6'jY_Y_y:lӃ_/P%$B=MWBw^vڢMFS=J<ȷ(P٣S@Sb`A.a) tb 4Utk0>X{s⋩|{Q ʃ|2SzZlhx|>F϶t6BYrY5RDxh{ɿ>^I "?ms}}QJS>pPP|p@fZor6?}v~8t?4 pY$G lDWa#*D9b(d^% =.l$Ǚ]%n@%.#@ZL{]&<,؞n{Ȉc#̴ ̖ @KHxq lD)M\pK pdd/o)y_'c=z+\C=H>qjnx2G41l6Y_PK?417./GenuineIntel/GenuineIntel0010676_Harpertown_CPUID.txte8WCm2{aV~iRa7݂_BWFk=t$KBT O !k&˳b3& .eh&8*TeWmbؚ;3x2&e;ҲU^-tv-.2{o o3]t!+Yo2m)yaY{E}F2_${YrpImji9+JnI(e*|-ll -.E\H^W ;X|^o0^Q“SG!VB&Rpe,2$'''' L?$'''' >$'''' ?$'''' ,>$'''' ,?$'''' >$WN`O`O`O`O ׮f+OhT$nb cPнmB>rIt4Il,Jh(I1A(V/DC$IՈJUj#%9fD8$OIb&ɒJŘG(!$Yn(%I`;F.\$ ~Z>+utI ^hӒg<IEIqL+QY3 DUկ]73 -Plt?PK 3./GenuineIntel/GenuineIntel0010676_Penryn_CPUID.txtv6ǿ'; Aؠ:ET=ȔI"ѽ wqr| ;v:& vVYN顷Ax#܂cUإ+<]|t0x³=`]eRwDk4ߛԣ{[gGllaHdjhnP.۝`ns)0T,|z>kt7^7'WvB9GGY D4ͧѼǦS:DpY67rbbѥeb/S;un|嶬#nOC{Eilც:3ɹwaU҇p(7v*䮙Q вed?27~xtN:v*C=-UDEJjb"U-]VD܂A,&ɀI&aD̉d!EX"$E(LKĝ#7/Z"DHH4*$[_ Q~HP (InI_@Zs)s]"e_=s!DH}' CvH""OX2Fj-QD.Hƌf*!)܎lx` HDKDVZ"'q(•s5/-%-"u(r7d*G&nyAA:O!JG CN3fQγc%˳Yn+y|:9^"%MPh{-G66az [Nә)Jx-f+w~PK ;*6./GenuineIntel/GenuineIntel0010676_Yorkfield_CPUID.txtTr8{= "/2czU`m%B \߷UrGeg#<<{b)bCo6쵛0K%ZM^ǫ|nu|h 5Cyy-g%Bž{3͠)Ä)ou(w,Fx;tޘQی_Ì/D9#-/[ Ĝ0Fxk4!LOpƵKJ־}0M Rrm *l_Zl@.fRw#5?{ ?--|CShGBѮY09QHS->6i0G,3?Xa`kHpt\ج gs9s`baQּMK3*DSUJD":dD2*@B+#/͠{TLqD,Q />S.VݶJYbYd"݉;x$UA:AdNdN 9fD޺Z7\J%Y'R"ǃ!i,Z+K6g'tZ8N @Jf,3M6jO*!Z rTd)9\' qwY笚?z9>n?1f7V|ѳg?1-y7CmZRS|2mL[AMrz4qOᏧxL?SO??)4Ÿ) ){ q/. )/^!d`/^ڏblN}9q\N}9 i\.r1,䳴œg>.'' Ma:+гY,1ɿ w}u3SMƭǧo6B}Az}>{xϊ HOFqrX:Blwxy#n0qD7n 6?0}?yh?}?_?u(?~{:Іpu 5Qs˰5uf.ٚ=Ш F]X]Kg^]7z)8f_nsW>%2q6qJ w];áŇPK3(GY6./GenuineIntel/GenuineIntel0010677_Yorkfield_CPUID.txtrtQJM,.I-*V ((jZrA @A9ݥXP^QQvK{FA!#f*[5XldSڔCz-m[ZRҕ/XL񐬋)&]됔u`ah^selJK] U hʕʫ֡쉚^͚*R!+С=c}!+l"\JE >n{œ]9 TdW .NIv؏jW!l*٪懊 RWbjv,_?7b"/` `T  `;`.PK#D& 3./GenuineIntel/GenuineIntel001067A_Penryn_CPUID.txtrtQJM,.I-*V ((jZrA I0P=kwY|#i0ĸ`!!-)ȶb+߈" t;i |<<;hNArV4K֡ 0O/M D>ЭA%@ADPPLAE~AۓNRB-xhJ PQ1S[w$i iqFf\H8 ݔ|HS#;4>XxFk Tȗ5˂OElIv#W4Y)ѠP4܅h8Z("PKg +4./GenuineIntel/GenuineIntel00106A1_Nehalem_CPUID.txtrtN70z.`'N p#@4P  lWbŃE!/d?ߍ OL EL9.y!y !@Ä'Ze1¶c1wH灎c PJZqGz+AwTMCҡ7@]͠C#p;{N4A7 9CQDՂPjyڪtO I#$q< jNF1$/gL${PXB{UuQ! N,v(r?;D PXPK6|87./GenuineIntel/GenuineIntel00106A2_Nehalem-EP_CPUID.txtgs8nzÌU{#JZڧ? Gv`:"kS3ygr0{ޖl\ٸ`d1X{V-xZ[ܬ ;_ł</eB ~~Y7/e– ~~Y7/e"~~Y7~i|0gh*/#lEcEnh*.#jEcEnh*/#nEcEnqѸV4V4 wѸk ++#GrP{J( oS/~"GπʧI-PUO7\81Ħ$c1'cxG`\@0!,Qh1W#e¯!ʌs:Ҙ41SEU Wj3J~PeYѕ@Dz@K\c<=N<8L?%߅XpPK"e7./GenuineIntel/GenuineIntel00106A2_Nehalem-DP_CPUID.txtu{:|5b9 ix$6&t٧?ZL8n/\E_ਖ਼LQ:7ŞD/ T=T! '^_L:ܾ@OmK^'p#U{8{e1 zO&&fflq0;OKc_{V۹kG~!g~)}-$L,f IJAMF:MÙM#3+*=ѳw4]"EHلMt I,e"*,e_Uh+|P 뽽]_PK+87./GenuineIntel/GenuineIntel00106A4_Bloomfield_CPUID.txt~6SCq3xzsJW?)['Q@V/' x'dMewkwdt0yx=G1Z-J xw+wfz@KLdO(Gp-UG=<;P<7ф zSXTل9*^p9|IL8LW7?Mi  Op7gɰn^1,`Əh ѷ!ݺMg`&S°XnzځEA%e~X_\bk=gx0O<³yŪsDp; *3_jюv r<lj<  FR|&q(|N2.U!HbA2t>Atp4q&顋62mXe̊ Z7r yEB: zFЏ~7BDl$i2FyCqD$k%*!"Zn1 [B4Ė<2E4Bf  *Is$=ZWeӳWrgJ!"Ċ5fB pc#pc!#%SmkQqa R[5 q&4|/4B[!LoB"*F[!,]GPKaM Ջg1{ _'hijwb/g37'T|8kx%ž{81?::}7`We~_:EEi~~~!_:EEi~~~_u_M /xLf8DA4Z4Z4xMhhh*&--?ѢѢ1WiѢѢ --{ --[}~Lg|2zF6 ~㈝@Q$-Pf;wS*Z/a#(vHdW"!2 쨆85>i.+jQC%vkێHXEw^k/>#) :b1F/}Ƣ$!u"bW~+EEG"=Y xs ٔH\BƧ$ #!O|;PK}9./GenuineIntel/GenuineIntel00106C2_Diamondville_CPUID.txtz03t/dtw$og<}^W DMP )DO02e}e}d5U> BvTI\_uݺUa.2iuRU{ ׳aho`sshSf0 n_ۇӔ.Pϔ&nx06Ij0({i<NK* ]f>(ɶAt6gصU\}Y> +<[Q܎fܟ'zWu6O2]BL]g~tL0phWk@/bFJ)mm2c6z*L}n ~9Ӵ?$N P?onyĒ*TRXDJZBD8ʤ9-C1NGQKb.`F*eВ mǒ(%A%H)&2l=@MR-Gߔd' PlIV,#픶dٿ#9#yd1oHL]=Ud i% $r'ɘmޓ]9)r""[b횄#(k 9%'la$+C^ICQ|S~&8K+([/m٘~@xtOYPߛidԋݺY?<ΒDotIN LwI2,?_åp)>\o?|V2I[d`Q3ՃKldٝE`_XQ摃XGWG/ o VUF^\(@} LEۥ`h-K>  B,6"P@DFu1'E!QqZ sa  $#-W&@5aQh+¶q=1mqD:EQTU٣xHObi&!4OW>PK?k=8<9./GenuineIntel/GenuineIntel00106C2_Silverthorne_CPUID.txtԅm0`1v'C" J_G 獧W'SԕRO)9Kř-bQ!f剆enaYeC &̊tSpHy`,L`nM(D( P8 Bţ߂ڷ~d$\P.l)'?qyLv|LׅdqV@A$1k `2m" ls&* lw&F HeKwZ,o ؎e|^SB<uBo'''[t,ԣcl3mgN/8^g4<5&kEBu3# 0  ),UNT-}eMZuzY,UGgKf02?We3]9|_#⪣ULoU LUVr]G:_T ;8;~p>=aGm3}ښoH1NDo _Q4|57kJԊ&Z/}U>guï`.aZ]Re׋Ǜo‰]Dp#9׃f 8#{0$LD}Id,T&Ȧuf&mj&/B@!zK^vO^& =9M!VKQLrS={ȥS^xlnM$_wGdD}AM` @P*s҃.h=$Lqf*?31L3^d~whu.ۃJ@Nb,1r3!MT R[mA_#r2#p8pbƫ6hWq yz.ȏ/4!&?Š`ЃA=44}4.Ӣ\?pj28ԃSN N*Ӝϝzp:*^+`K?wa҂N LvYX+ {e ϳk4IW.:DZ"T'R2 F`O}XqODm ڒaJd5$l$`ґ>Gf<~%v,,BIWD6` 8#;kaL"N0kIHF$mg'r:璦v$. HDJ<Nw-nK,9\C.&uR/k$\Opa,ŝ.Lf lW{PK\@6./GenuineIntel/GenuineIntel00106CA_PineviewD_CPUID.txt]O8+?io@_Si'_Zi4b ;mʦNC>>vROpUW3 HL?|GW:f8Tqtg7Q#c9̦j 0Zn5< Dt. mԥ_.I&G@"L?~=!)y)\j<-IRf`a*şWv#Ni\u{4W\0faUYGu{'U{g}+߀|֠'pj):cCP%i y%_f=܊o:j9` |v6{ξ~s|upvSp.\iԽSN;3;5ãOsj?wީ{wj^N'foK-mn` ~屾[Y%ޣ lUbcV֟iD!wQ ;?oJ>cym ے Eؔ,]҈7$aHېU+ J"K6YxH$lC^H|djC7%%A64iK<;G);XE[KھP/& Iؖ(ţ-6c[' Uoua0L'g|JWIjg/{8Ӌ[]=fB=_ep/PKYwʝ7./GenuineIntel/GenuineIntel00106D0_Dunnington_CPUID.txtr:{" x(|* rqJOo8q:{[x&{> p"<h6zֆ<1&=,=Q/#;MQʵVGe>³`sx qh0&:ZX۽,D ΦIzԼIBQxdY7&s@uQϞ}7'/k,"x0L&-"%b$'T Za)hA"*%HӮ WBΐdMh2 7 ւde J) UCH~I{ iy w/ Ȑ]I-h6+!^K3% Sm]kA CzBX~a)q[%+ ԰(8rтD p眲1g@-He5. ŕH8Zh{)LPG3BypOsI,>1Px[_˻]}Sv#px nsa(ahKRM0RN_F__H_e8}Y/|Y/ _%͗|ˡr \||_4__ӗ//˓ Ku_J*|9}iя ŗ~ _pB?/-|Y/q~ _Zr(c/qC@0-`2rCA0-y` 2_R`f: 03fw`f+8``00 [` ̫0c00U0Uq N`0S&"'0TdW *2i̩W '0Td[&"N`0LBE0V]$WGfCvB|vw0?7Yx!'!{|-?eޛe!Jq ]$ b]!:#1aABm"^8)B `@I2EC{#QD 9-.ٓC[6r$!WmBnmr  p8$sofkcgf4-;eE$r>_l3Z,g&̻PKO= 7./GenuineIntel/GenuineIntel00106D1_Dunnington_CPUID.txtv0;LF#Y^ܠYpk%%~7m%;~V NԇIk;Ge;j'>Lv|loU)6 7L˯{^I{gه,!4@D1a(8veHHCm,Aa :HPo288}!"Jj:oqu X,Y ~.۱ qTbbWQ8Udz]"oGb+ē4GZʐG iҨG_)tckrc !lDքFkKx$?~{5 r>(TZ2%W"E[b,{%"Wn/I̭(D47͑lfKȪ$&^g9%,$=k?Iާ{R;>9ZJK;i{94R[1#v؈abJ!)%Viϔ |_ǂ1kp0I<:gL\+!yFX`N b 4? @wxDXN. <%/%x_>O~8qF)8KqolԎ>J/Gܩ?Sqթaq-qzG8~J a /0$dM?gpuw.Fl1B?4v?F֋O% X o/_=)田xĞ'abM$6b4ܓinAQ$] 4$%@!/4s |D4&gdpN'ۗ>"-CIн]RGR֘GNTm]0,9՗˛:/#E򜧙wI2;4XSskwS UpEqYUei*Ͳ%Wסx uòGabo;Q0 ûoG$˙%.q9;\ %..7.qY&pK\p9p.GˁK\V\epK\.qT%._pPKR;6./GenuineIntel/GenuineIntel00106E5_Lynnfield_CPUID.txtLQ]k0}]T v8[e05XS87܏s|c'⌟h62Iz8 B\l$f[6C&x>. Ҍ"SUeXa&IJ^O 3Q"YNY u=ҁi: -tnY1zU-g1M<>@mdN\Po6f,J_u|  Y~3ç"($p1a"ォI+IGvoEqe[ 6x'dV~&}>CI x{ʇMu1*DwΓhy!8Nt@Pp/݀XzqA0SM2ۛ6Yc.' {oߐn^k^i_ejSVh˦ߒG+{j+ʬ,2+ZN4ReXO!U )9 ȕb@])*lX 1\(@zf0`% ;=h_xvS@(m KJ( lAIhhN<{nKR)c@7$Jų]4aI!ϏIi{jP 3>xpՙ0,}4NoLἈƮy8jshw;H`9<ϙv7AP1xxNCx6~~A?F?sj~DCC!Z!:5A 9pOϩG ==t k6๦*[5Xldc<_/#6' 0Mۍ-mi-!w`ٌ\qeMH@!!^ca#A /\#TҕC n$ yoR EG='-4QQ3%ЄFpMj2?$O$XH4SMjxB: SgiPhwUȦL@ZIs;r]3V!ҝi>b aΟY0툄s9%.GQe%.+\.qr.7.qpq Lt<.q˛%.qy;\ K|._0PK1d7./GenuineIntel/GenuineIntel00106F1_Auburndale_CPUID.txtrpN790#8 ;GEE`QZ5l ~L8|$,oNV߫?' `Բk{$4-a] "m- < z60=N(Ga'nonJ  (G2PYx/;oJ^Aȡ/ q+dtrQ2HB0Iሎy+x)=*IM"ŷa <)| PBMvbr@食_"v>kXh4Bx'ک` Hj8#kb\jԅKKpK_Kp i4pPKwՂ 6./GenuineIntel/GenuineIntel0020652_Clarkdale_CPUID.txt]OFG Ht=RmcP!j/aPaa}=Nl'id&G9g挜W.M>M&j擛\kAtEsxC3)N`qŐ*wm&^Qv=iVߝ??xtNrS B&`\J8' ϳi,a+iI~\?> r:*Cݼtw(l\L1_xRr`'$NNhUfVGćdY.Ѩ*vt':]q1Mld:n-)gCߛ~{']߀ )>cbobc)ޖg!uv `~ weoYϺW- hѵOnN׫t0T ̃+\4bxu GH Jp!Jہic1UcQq܁B`&|LJ(/Y }Jh؁KA l#b~Ȟ9gJ$XHd &@NYBd agks6ir7r=>%I:PD: J!ީDtOS35 FDYQO)wuJȡ2bJ<`BS !p5K3d%s-Ì҈Kp|Ӂě.ɵW_JdRsaݝc8ЅPov0 g8Eh 90pdfW7\^E\'檁S!Zs5!oSogk?~&÷f?C3$/f:|l}hC&>D>CM>D~m}=ćև>|O+v_`ӣl-XZuj4`&ôʫVXga,g Y=:I[ `;2r' _[iE)1nJhJ_6ޔFֵQ-q@D%" +Dc_$j)q0Rq WM qy-iM-Z#!nKKBA$lJ7%$-.",P|$lI\$'".8\ڐ0:t} NMnDll33>+kF\&X@hi2 PKÀ8 8./GenuineIntel/GenuineIntel0020661_TunnelCreek_CPUID.txtrtQJM,.I-*V ((jZrA @AI}H P=M>4R6_4nY}%~뫝Jb'.4Nq(mhV 4ڧ3tJB5J'B҈3 =WjVtJSe  `0S~*$Sӫ3,?o*sC)\_ˋsu*!=Rtj`gNI\4jorkB62 P dqbvhȣ͝bOU\eW ~`7̢d+F тl -PK|`X5./GenuineIntel/GenuineIntel0020672_Medfield_CPUID.txtӃ1wx53SF׶m_>=9~JMOu;VHAFD1-YK#2`u݊h*nEhCj;tx PK#]Ueb8./GenuineIntel/GenuineIntel00206A2_SandyBridge_CPUID.txt픅 0EpCaP:a,z>"/$?~oOD; G{7go!"@ <, $]` ,ZAoBif!ca&ASM)܃2 ^@:WB ri & |BHJ |ydc Ԗ@ 4t)q6|B߄΃OKPL;7TW\=M?|'5*+`'Р݋m0n)G?kU>[W7˨yU\LR8CV0@j)A vc@1B @v#P9 rA %9@j@F@a`# z`?PK#8./GenuineIntel/GenuineIntel00206A7_SandyBridge_CPUID.txt[oFߑԗDйy|V٨P!Zi.LĤd?}gl/kvH3slV2]ⓓ*[γɐ!!O㓁']0R2Г:UYƿ^Fv :se&z-c|` xH.xUO33xY2Br׷~']F1;Yˇ$fz2LWl3]L亘xĹ0:$L)C=I7㧼e8&J|!M|ߥDG|/NތTknM. ؐJZ>&li15\"P*k7U-;Q_;_rLE_pBNjaU<%`Un2;1^$3/VSF2  H0nA-R00F$ܐEЋ(jAS`f((Vr*] Nt@0+*uqւH |"Dwf*H lǨ`VЄ+2RK޷<[@1 [f-U"PMwC1{ vYH͠j*Y^FV)y"/ j.:@qBZ6A%08SZ\I a+F 35C0FUZBC7[qu 5ytDP<1L;@ct@9]$^'G=%xnp 6N q(ξ< } w$?[p{wǸ#ܱw{w#!߂;ػ#?O厽;ػ#;qGܱw1(owݱwEOˠϽUkA;.d L;a5wt?jY\ud;`Њ'2,Դm/d:PKW$S=@9./GenuineIntel/GenuineIntel00206A7_SandyBridge2_CPUID.txtLQ]o0}7?d/+4ƙ3K=4XSas+}89c⌏e8ֲ$=v(\|Y攘aJ:̘HjIئo:o\C h%q/ٸ ghMD""&z^R}}Ep@c fۊUDoślO&i*J u')J$0R"Ŋ4?D 8 h=۷\\|݇$dc-gN/02*:pis)I .dջF/%JevG =T-˾%?Li!Y<C X@_l=-)öGld 0]'0yx9>n'cَٖ":@v_>l0Ms8@ z̰ɩ*fz={﷏^풴cJ@?Cn2g`bJf6 iI%6l;fPnhGsp7o6Y};a}Vn0fGV\_onn0%Ǜ]ycYIoőpvwQE47Ϻَë͓@441ɤɤɕ$.IXʃHLvLv\;;bccJّDRd:hh&&&WJb!MRDdducGRvqy"ed:hRѤLLL\)M4IKyjUJ11Q/f>III=Fddddq=@,j6-seׇ#0xa ɶ^S /L)謂S^X* OA{a=w|ݷݫpq iMn3[N(GHH[y^k?3갑\ d]K\HkiD5#$8DEH#ac#` 1*2n@"x>RF%Dۥ*8vUH eLT]H KuF3PuPfvQ@Hh EwcXU6Ϧ"0v nT{nQykv/ow϶{98զB8Y{r}x{wgq8C3PK5,ud 9./GenuineIntel/GenuineIntel00206A7_SandyBridge4_CPUID.txtrtQJM,.I-*V ((jZrA @AIFP]gO^ 3̤ʴ~Pl,9gZxlV(b81amӦsos{OJvU·e:BR::]lW„#AZ#|RrG&/ ǮCERӃR> x rkjt@^&5ZL?ckeiR˭Zҳa3ZY&5vY|fm.Rc OJwH@Wrw ]ie(HU6dJR'+v)_._5Fî8-Gs#s#hqPK_ r5./GenuineIntel/GenuineIntel00206C1_Gulftown_CPUID.txtz8,S_jfjq8_Ɏ *8i@ 79|F߹e]zAu->>C&`l}ؔlSMEEn%e<*ת^ۃǛBO'Um,И-hlRQ8*Ÿ>Pmz~rflڐexӘ\?RmyS/%4~zBg{M^X{oN7G+L57ԐS.ҴysmsM|7 1zУnvCЙhZS*Ͳ+m^nfOdVEڀ~-[[":ۺx;&^oSxkL"R%EDDHrcf#d4YFY:Y@,)RY3'p$!erWBJNAՐ']E,O@,;XI_$0,<2oЋ‹nS66Bws/ A= /b3P'oWBP&4Խb@@2 Q2fG%(OdaNqewid)wMF"Qɛ4C\ jO4ˑ]ާwRۊn4Lt>3 3x2dOh>B7Ů促Ӣ4JX+Τw~qSu~C/fg>L @dMlDzSۧg:f,oٷ/ˬyx$7—oFIˆqY DrTT / !Pdljc)b#X@\Hqx *yHu)E$hx/b "n .AB$#m5E#(f 5Y[~$?)JfF|u%>|k"oPZTyt PKXW5./GenuineIntel/GenuineIntel00206C2_Gulftown_CPUID.txtv0@ 0eE)ƶ̤MqJ_\Yk;h@vT9'~+ oF)w%G D *ŋ4w1t qՄ|b4c>*8XU2J[WjTQK^C*cjwv.Vfۣj_7۲MʝVb%$LZRyj#VLr6LޫVxg.H|3z>jL_[a[K,f#9f*M兲e7&&WR]ٮ<䮵b`}5;8Ƙbӱ*:h+V?x*ttCn_L6ܶ YopKn(Ԗ`Ru|[Hr HqHY;9;0Faʢ EYeQu `愘h(2d84Bb& ]b}# Ld!S{9Y'.ܘ 9f'@NQG n$xy7iwȿ je|֘$0@QtAΏ^\ yHޥ5ј귔KEň'+Nb0WS9-:f>-m8MrȹpH 3R~.^b [^xA@o$r8VQx]}>*-  C%\6[Y4 Jx!SzK¶6pEW$+ XBb" rxȍEɢV+0L 7M8; |dճfXᮀ_Cߏі 8D^qܒơZ)&t:4CEGUg[@4bC!+ -qi T J%Q$cqGf GZF `pD(nqe1j9b Hb09H(2RK-%E7]qүpN qWhwwwyg?~W!AkPKGۙ 8./GenuineIntel/GenuineIntel00206C2_Gulftown_01_CPUID.txtVz8?z3>5r֤묭8o"].̧_QT8Sygi퍃<ΣAaϓu*ílJt;lo*O{wA4f[Ϲb{ vYQcT hMd㰎X[Hm3bkGQ1I%k1eL,> s #XCHmт?Rqkѻb7%nT6ݘK\~U؍@oB/zz^O]M%.qWE*.qKܟ7qGcw7zw+E/z;Q>\"Tm\{ٛ^ފFfHUTuCKgs^|=@i=yoY*m忼[-xj1orrlW棹`;rӒ_ Cuݎqyג_uӎ1pВ_ǰ}qkȯc 0 u˱%oOOzϬcڀ1||8dO%rlUV9^OK]ĩB #x0*!~ |&CtJdJYiA @y¬F:IkURfBh&:S :[b)w"Çk$rZDD $]M DKSH'nKߴ@@0Bx)b8R[( ZE $H$e? ! bcVP6{ Xr&f@2 ]S mkiC@!O 09b4 d`TxĝR;CH*7*(BB9rF?QQȝ]0ZџLt iAbz.PA\0d:H`Q4D1?PylFQ%2惥9};;pXxa( #Fz(0!dCĤMP܉}%)05s ?y6;X=?Iý|6' ` #ϊZ3nb{u<ύl_PK :./GenuineIntel/GenuineIntel00206D5_SandyBridgeEP_CPUID.txtws8>;[*5Eg+ s (`Qf_0i*4J n]صǔs@Ur8T6=67[|c[u#xU{L{kI|L=wx{`<73< Jgg#`[w9CŸ\@f[tvxרv:ɋNS$"#J]\i'q8XʪV 2 7՝%~At!cr?E?>͉klDNB.L5Yö<7&u_4? \Yk}u6O@HQDNh@3ϏY~iW;E̯E ״npk*)w88\:P"j^p%oư}v>k#`}o&6Jo=Oө7ioϧy  %gy:)o^EcXܱD(lQM'Go0ڪGt-q̒ 8H$AG }$J0Z^J_=yIzz TDt=I/Bg=$/@NHx=nhdu@ D 9Nm0yz{,wM:5:}$Rgd"y cDA0m"e@3'hFn+y"D, Eg=okat)dXtbS~뗋>۶tn 3j!:>w~/LUϷG!? wHP;dHg7l-PNϔuc6k][2.M#R]6x/}8 IfK8kqǁ"w)ZOY"KӢػo8 )׻ޭ̀4ŀ⡬mmmmmkHےY٪ [-YC65ihMѶYhh=mH,ȂlWȂ,Ȃ!A[Eۡh;,E[EҶe$t@dAv*N dAdAvŐMM-ڢR]ڢ-ڢҶg$,Ȃ Y { ԤE[mw mmѶ|B܎=EY=eeQeQĔMӁ[Snnkۙ(,ʢ,ʶiQ{;p p{+-mq2qPeQQ}= x_.g2>-(SDTwH1>̤OH@'}P1 \j5'B)RTnQ3_ )rL.-#"E8+$譈݇aX'mH$JIOLn$. 5 -KYv;2te!e&e$cl!5S.Ebdd> ]e¼i {iDI4KWFI lS01gc|q3HhP?P-(_WΈty,:d8j%! NHS-'š~@$#: Ld4R.B2n`SL&lR!b,͢Q`FzJ}\72?;w^ov-΄4%qClN7u;!ܟ|{?NƧ'!!T21nNrR}T)ؼPK Yj9./GenuineIntel/GenuineIntel00206D6_SandyBridgeE_CPUID.txttSn0|^)iy:B&RN7 2~e;e<0Q"/ NGA3]]Aa V`n5ՃcKfuVzL;`?1m.z?3kРL+BA>7.yªV ll LB][?ou܎ƞU*\6L]g0|`_`h˨+)$Y"yLLxeys\ qG35YFc( >)w؆MnZ}^JMtOZ4FItK^SU(5YG;r^cɌ;1pw} hW L]1u6>Ѷ<&ͻrM8, {G& ~ǑîxcBMRe"Nޗ"? %H%FS!\&2lů(+uZsʙ(2`4X-Kh0k+ہO-<ڿo4ϵ_葁JI0xx)Or?0j$ci5Z/|!8Ǡ^; QtR]of~zI; ܞdhOړrQC8hħCL R I$cN{Ja#AxuDdԠ.7x H`&c/P/sɋcP9#5# 9vO E![̡ hN,`Bg@eOE)y[ =uhP˻ry@Tny ChHO=SQK%o ݎT.0A9!Li`Bo Lث} "P,cEi2z* W[S=}elӿOrT?§K~qi]r9v-xhU][o?݄`K_ zs*mAۢh[,E[EҶd: [d Ȧ9hhmڢ-ZhC֌vYdlYY dGٴE[m@[E[ mgHۖQ T k#VڅhR]hhki3JAd dAd-=qdJ{m=mm--#eQA٫({QeQCW6-ρ[ۧp\n~ _SAB ^z~o̿]&KY릱esUykcZA״uk~<Êx:{v.Ab"nG0z[트.#tkW#W]zuq;TŮF(W"/?yjعFs{Wm4M^Ѷ@8*D7s%N3scA2sRYM#Bf^oshH]HX"Txw%=GƊ G∷Tz Gl(,\LSAN_FqAFE+îDU`9A͜V,s1~A*@viq qSJe"+tM.]"d㢥Sbȼz3$aG &oJ!0+MoT\/'[N 3bRg$)ʁ 0dl(#nFFCF qt< 7;Y V*vE4CB`95Fee`,PIo&2!!:$1!Tˎ|ۥo#C`N6KDheB@.Fm6-Z;~/yǯ~B#70kE-_^۽閗ye8].o=O|z1c(9`NJZ$PKZ R<./GenuineIntel/GenuineIntel00206D7_SandyBridgeE_00_CPUID.txtWis0Ģr嘆 NڊCkCpWrJZ>kIqxwA:ORsɆ 2\NCűACCK[3{W ii j #y0!!]b1b-)=^giyf MydClr.%_@e&FG%A(5`kgEK&y2s-1E\fRa0'\ z;H239xY-6oEAG*#<ŠZ 46t%ֳBȸ%#lM&/9!A{LlA7Ĵ 5|uH_ȩUcXɚO&^84) CDx=Ёl7.O/5L籜z{G<(U!ŽKdM C:aM;ab!!wNq* 9I6;I5M"Y: Ƀj5m_؊βܖܚ)N7eq'ÝoYVerHx^ Z(J. & C0Xmtg\hѾ4$1!dMÄΒ󂗏3^!̾/#I`2v MM:8C_v9Ū9x]m,9`׭"b+ήtD.p|2 6M}TIhT#T!VqrfboSG-|" ! A@] ]wwC"6 Qé.r0& ϑFDmh 7]n {RFyRh!:OAF%rRiG vT"'6(ezXڒ"X-ER@xEPՑ1t4(ctӒȫ\7K![ F ߟIe,&CCr[FrM62IߐBu6cm]( nhRDZί9*HX)˺{ oIֈ;$U?BnfDF!|5n!lW龡K#>5((nWG@:%Hw52 I'$r㚎n&|\2ƽϦ>"Q`DV _#M]rz5pwTn~h~\3n@]+(iO>wQ+ykv4/6/ 5lUv]771I r(Mܫ}h߿=ͤ~q E'gi"=+~HA{"qCQH{G=#mg{ UL*?( OH^Bʀʎ$ᶅDrimG 2 0Ck͡*BҜŜ!)H:l- FC[̎ΡWQpjLѦq;i ZzYA֣ P02hem˶ mau%Ҥ;M.6 l6iylcmmȫ"~N4%L/ l6 ls lkh ضe2Bg/I{Irmm`m`ۚmh] nۺM2ޞܦfĽumpV*wmy.mIVդ>eNQ͖0Jempm:@rU4p(3sN_6/c[d>5[ƍH<.lNȉ\kٝ4Io&ި5P9o-B{$6\B#m`)XwQR ZטQV /*ɭ!r}Eʝզ}kOz4OX9Օ^_k{x[msfc6fyn>PKd4./GenuineIntel/GenuineIntel00206E4_Beckton_CPUID.txtrtpN/)0s^@G=4 ƁiSn~?T(bDƐ,6%-?wAlF ԦJo4l`:0K݄:L![oZcaW Hx@J/P&@P0 X|8^7-ߠ=#QRP:T+*0{yLo$t,`)d "9Vt_S 98,: R$MYPh";G ,;t B繙oNH j?VÛD ?.pL%..qJ\%.q.K\4pK\3e7. \>I|K\.qYN.q9Re'RK\ބK#._\ⲁ7%.'\~e_K\\q\6pg|yq93 .K8.G\.\ⲁ˕pp lr'\n\r%.< pyq.o%.\n \]Q%.K\Vp.G.qYIK\Re7r.qK8.+|.G8.qe_%.g \?g㲂'r lr%\ %. {%.qyp.OpK\^\ⲁ˛py\We7iw.qK\Q%.K\Vpy.G.qYMK\3 .߄3K\zqYp9yq3.=#.qYO%.WJ\.q%.q.K\4pK\3 \7%.vK\~IFhNK\Ⲣ]'r.qˊvK\ބQ%.+q\M=e3K\~ 8.PK إ4./GenuineIntel/GenuineIntel00206E5_Beckton_CPUID.txtrtpN7)p0a. xb׾`t4̈́Ny|XR'L%ϖ:ٖγ' u' @@m]/QH;0UzUakt_ t 0&ppi ʍ/$$ _0PXPZL!M7h{/PVPTox!\"_ 7T>T>S@{LR(46EJjFr/us gXk&o5kL@>Xg"JD $%7qDk`>fw;vLd1 R3\ \+rM%.OI<.q%.qy.K\kK\K%.qYqJ%.qYqI%.qYqM%.qy<]]wK\]wK\]wK\ބ].q˛%.qYqJ%.qYqerwte]7.qPKu4./GenuineIntel/GenuineIntel00206E6_Beckton_CPUID.txtrtQJM,.I-*V ((jZr8܈A b.`,2"#TL9-:NpKϵ(J p ս-J2&ac'P&,uQլ J]i 'h3SB?PIreʦkençW p*?+~w_JHx%onʱ(̐Y1gaQPIFB! yKGTt/jvB/|ٓǷ2JJsI@AJ- $2(E[ߎ7a{]}?"읭a{]}W+Dػ[7V?Kj>a{[GrްVĽu{&z>}z;O?׿+➺{^{wt?$}ǽ^7ݧߊDw;➾=q{gtzw%^=E[ǿ'Ժ=q{otzEպ=qoݧߊu{DwPKrc}V^5./GenuineIntel/GenuineIntel00206F2_Eagleton_CPUID.txtrU60PpLKM,ζR0pN/ @@H][?T'!)\ ~!ix44liNe5ocTtQ o Jkin֢:Alu0s/6zXsJ-!:PbJ [(N/(Ћ-][yTVH!@.ߊ.ܩʗ(VA9$0wz+*Oz5,Ry2jP⅀rt~<sJ77+{Mf$Y-*@k/( ȓQ١]*X<~z<ËWvn8P0%\1?uw$RE0D{kE_ՔW 5EvZJ_CY+ v/zJ_/ \o}7R,}w{A_B߭苾[Jm{{A߸@_n/dU/B_m/Y:Z;}}-}kE_>J_U9o\I7}}M2}}苾Wg鋾vZ_Kv/ZJ_/i}}苾g鋾qZ߸Fh/oYvZuo;}uSD_EnduAYnvN_M;KuV߸H_C_m5.})}}GkD___FEnd /}B_m/Y=7*5EvZJ_CY}WN_OE8WBh/oYvu/n)}n}rݢBM鋾IFMf鋾O*W})}}g{|TJ5EvZJ_CY_7})}}Gro{En$MwzW})}}gkGk苾#}H_G_muoEF;}}#o}*ҷuC_Rn{tTj}n/IF7/]7W鋾)}u{tݢJ_k/Yu[Uz;}}=}CU)wI7}}d]2K_}}L_m/YeZ;}}-}}_U}S,}7vU)7鋾)}cݬN~ }wK;캡u2}ߥ苾]f鋾mE_Քݽn*uo;}-,}w苾dOߨC}!}?}g{B}}ѷWwJN_Kk;K_*uEvzJ_GYƎQo/7RwﺭJ}]7E-놾;MPOA_duR}}ѷWw;-J5EvZJ_CY\U/S:&T%苾_}V_E_mU=o;}-,}AU/S:7U7})}}gpݬX~ }wK;캡uZ}}ѷߒ[wm苾Քn*o;}-,}ﯛU苾};}XA_d黪UEvjJ_EY_}U5EvZJ_CY]7+})}}g{wݢ\@_mo u[rз[J_0}^7j}}ѷWw苾Ք{ݢ^_C_m5uEvzJ_G!PKWb7./GenuineIntel/GenuineIntel0030651_Cloverview_CPUID.txtrtQJM,.I-*V ((jZrA @A)H a^QoB=$ԇ"Z(n7~V?IK E( ؤIq(mb ψIIyS)!EAZt8R[eM!̘<; #UT r Y>5Tz^)Ÿ^\|sʪLcfF*d 0) %,L HCyѢyRUQiVF1шY)e&ڭc"``Z L  +o}iKk̩ `<#{# l#ox'OS"ʿ^_FY zBe4lO@zL74aX%I:hXoٌd[2)Q@* R ȎJzL;+*ˮB@X(}Hݢ\mx_YTRhjYlhZ k# YBV)PuP*T*K-j,d!뇬PK^X7./GenuineIntel/GenuineIntel0030661_Cedarview2_CPUID.txtr6_yMbȋBd*Ue4 #st}ISrIg XeQW͓2[9!xR 2uݽb2?oQp)lSm7<)n遆ˇ0GRsb nURܣNr~i$Yo$Ӭ<1b4e4 5Z~q;!{IQᤶ &}䖽)`8t vwՍUObf^6K].B"vg }>U [Y @GZwGv]D(%Y1Ctūby\5V%u2!EUydVi";^2Ӵ9Wa ϗ$&wD6O}eWپ^5n6CgΦ>( #H: ϼ ^1Ch 1 $L4ݐ" CJ hJ0d O-^+1#EP'5εI tsNenJY=k$H\!Nrj7l{KQ^%16 !<<1% SWjX; 1qPpc{3!:Ά$lO9hz+p{@(nH/XNWJ$P\!mD/I82qzN\qVge^Lp @ZNΏHA;5< 諷A_O\O{C~m?@?@x@_/`*)7=6˅ҍL{2R;l>R$Qbz~Wk|C24IL!+EXGT ŀtpNJ01Y]j%qV$n8f@A 8H8kH6!!n-#(1lnFwiҗuakHxkHGe@%>"&Rj.Wج?brj6UT T+-&w# BL*rK@5ogif9 ڟ%~QDԏPKxQc6./GenuineIntel/GenuineIntel0030669_Centerton_CPUID.txtrtQJM,.I-*V ((jZrA pR702$CZ )yB`滛Vͭwh@.ֱc#!zX(a@ ItJ%# . 2޵G@9Eh'RIH)N JB0O|48D3v;h T!g 3N b2^7ah'|K(GU- ҧi<ɠ`F'ąNEք죑'"z>Z\#?YTRhjA i6<WMf=f1,f1V}V[*VYb5PK- S7./GenuineIntel/GenuineIntel0030673_Silvermont_CPUID.txtrtQJM,.I-*V ((jZr8a W~NF(֍ֲ / LԨ|dS|}?HdzC[֏[ɺdnL.ǺB@.[^"[0 +Hv6%@4d @(cPg({"I'h"N%h@" `h3EF091+#h&{@.3ݒ% RuQiQ%P&lVJ|܁MQy]H!-ſW;u@Pn?S@E-SQQ7U|LEOT4*T Qq5QPcPK7)8./GenuineIntel/GenuineIntel0030673_Silvermont3_CPUID.txtLM0HW$:ȩ@EVv+U=K8X#{h7^*4;N(yTbb^F#7Ƙv;s&bhqoNeDkq2^qe?+b.YLIeb v,JZڌo\[) vEKi$ Q=߅ސ˕)ZwK*QÆ_xiIbY$h[+#^$eΔMdW<sM]6RMysśp2^.3MH+Wb.eQ"_sTBx |M-yͤy] ȌTM{/4o[h(ǿ l9_JoKe2\c$M'FVxU%Mktʙm$@ vsd|&" (!$Ǎ &"ވ=dQb %iBd`QDE-*CQ}R '`< &"GƁ+T.>MӈSQE Rx"jv3"%x#O#B $s"E0 =*brğ"%v$oDEFGDxmWkgn#i %n;v9Us3lLdfE *0%@JՃq}C_7"5 aǢ{{ {ѷn[: 3mvQNc/\OOfDžًr|B9 =(3BrzVGY5s4VGYq>p:(q:(o7;QDtE7w/TF1&bcYLX͊,Dlfż/N+o_de0x .6 vʈ?3&o|$8:EԘBʳpR YX. {yD@"N=W%-z!&EvD!U Ż {E%#I| Yθ -p`B-H3]0FM8Y 1KhQňٟPΐ(naZvdu"ltURb#ib.]`m@U#u1q#XP)b&(Z!Mp#ɓϐ6EnːkQfKj!* S!AgZj.Cܹ3}߾8~,>4#u%~8wi ~|*~4A~zG''ww91SlS |PK7./GenuineIntel/GenuineIntel0030678_Silvermont_CPUID.txtv0wPgH`I)3ò O_]Np. p}/}7g sεG-fՃnrV=Ynm^cW>xEe6HT0IS+[㨗.*$y ikh@Db$MJlHٽx- vix @YKaasUJȢXA.CY΢ٮ@*sؽ hu QԢTP_<l.MV(!oTVa DUP^!Xn6en0bk=W*qѫRt`Qܠ@dzo3 7Ok3EQqHz$Ӡ< ]Yb1r[BPʼ v,ú׳Sp^\r/r+r/{{{^{˽=roFPKI5*7./GenuineIntel/GenuineIntel0030679_Silvermont_CPUID.txt6.ÔQ#iL*oszy|WjCeQhN4cẘ[; 媷X§pm:Ⱥ(oƫhԝJߧ27\3@QvX5UGs,;-rږCvȳ4+ !"MEBZcd庖utbSHG JRY$XO+_q72AרwP~NbF1;.f?rr4nLSS$ ڹ xݢtBv= ~Lvtlb5}tg\-h)JK ?Y윶@9'Nwtq:::teъ v`\6Nv6jg: H[(]b|~!?8Gı4N~;ꃢ"-Cw|:u|"KKI&HǙqʆ~jP$[2["%|#.1@s`JTQVLԭ'N$:aTd)K{9RY'ܣ| D7B8$] (twmI ߓ9+lR{Ҏ$%8H//&)܇k"PRJ3+;K(BlӫZRw ?VĹ"V93܆q`PdE*;y@E^HxE QD9k0)Y=E4~= H|<Y=4ѣ<\J3+6!%H8"H)%Ů% =eFE&oVYf`u+*aIBK,Lߔu&EjU<2+lUL$+y{D̊zE(R|$M~!ٓxAXIGBĪ/!"E(ȊTM<G4@1(u -x&YUEx;A+:^Aތ{q;!~6')434R)1m#r*?2~c7v}c2v1`?H]ƙ8aJ0Bߍ3ì.7Woƙ3PKJ uH6./GenuineIntel/GenuineIntel00306A9_IvyBridge_CPUID.txtLRՒ0|^9:2NALڲ˰XT_gszUxI]7[ht45@gMIC4g+{&}3_iwi$AĨgPx+ 7}}L1D;`QpY,#w,jgDޑ˒my3j=Z&@v0> f>N͈9ָm0BUѫlc(@(pK5kYnO:O9Kg׉a 3rNqt4\Z;.+Wjq8Xn\Uwqq]1AЇ4,$kd!yưH!@Ğ[ъYBH}HB!T ?v=k3A%cgK%gvպ8;r_c4nzG,>Ud_o?-ضض7abbb[zm9ii --5MHHHHV0='!Q,O0z{^7%\Á[O"|=[ |D]V0F##X)ri; # pAN"E:um uیdC+Ab;9p2ʪw.C9@0E1bUvՐ"VS "(*r:E iNi`# 8/ -׵)ҟ!B@v59 Ac1 ✫?u %U ȡzұp Iv#v#v*At2uC0ALDboSؓ%J*Ep2YMBu4i#9hD.QbרMQ3F*XѠ]s r:/֊J3(Hv 1 q#YIB+A0X5ںKt$*.ETc +n b feT tٻ/{V!т7v꼿_}ػ9WW7-cA1`?T o. PKG>k/8./GenuineIntel/GenuineIntel00306A9_IvyBridgeWS_CPUID.txtrtQJM,.I-*V ((jZrA pR H~N{#=g6d?/4jËUK5?fR:@m=wdC &c6VACBD]lx N<@ qA+A PA(,HaQ#Ʒ#oOi~U zжD4N"6dO@Dpn~tjq#(GcOL86Pi$'j~xBJ) ey&dT\P%B U9T 5 S p%8O ˛^?e&ڭ~l=„(jA  #6ސJwG|}"?Gzc"}鑾o #>D<(>#~/H_ #=D:(=#o >#~OG|PK{c>65./GenuineIntel/GenuineIntel00306C3_Haswell2_CPUID.txtŶ0yRt_n6.+Wr0@57`&^]{}e{2RZT)68yƻZ[i_xO//}ì$X'}zy\!^@Q],zCCCȕT)P(1Y ڒ~Gݿs5s1/4dl, eG%.͔f2ebLK9;![zgUf-iDPcc<2- 1;>c<ǜc}$9hv Y& sZ~-M;߆x/^ωw.%K~M ^R>'uIeT/^Rݜ܆x/^ݜ2Kx/nOw=66zIT%՗^RzIuwZvw{wwN[%KxoGe*nț´V1ڏc~'1.Ęo&ZЪ K3EPxp./-.#Η\Yr=mped,!dQddISi5 ٮMMUdسI +@큚m鵊t.5Șt7cHwxN@<=Ȱ4'r.~}7^>׮_֎N[C=^2=A=xp\-\Do.WEk4+09/4 T%z~':^{ixe^{yuMVG%.b{$+XrbI,?3b/o~Ů`gT_kD?&kOzN5'CAMnTW!dD?nF?gic|{PKJ8./GenuineIntel/GenuineIntel00306C3_HaswellXeon_CPUID.txtLRՖ0}ZwБv]s !H&bd\(^<\ux%v/h&VrgљLJ! *2C|=H{@s')q~D; pa ϿA7ln?rKM$qҀį?Wg9ᘑdG^Ejb%4|^m yDhoo`׿쬛-Zb-.fL,"=9v&<'I# }%Y JXaJL1'H8k22?狈. [_;ܸ W4lARِ{c+ۇ2GE)ip#} +^Q'6Jm饪Lx?o@ o0BB=qQà0B#dfJ` PBǙ/h,~!-!ģB:n @R>!k#KqP-f[NirN.zY\gf3flHEĝ p.S 3PG."!PRS!ZUI434h#1o9+!1+= Xbbs'uJPL@*,culkqI^@owiL 0+O|6#_]N$>l^'GDkG=^&?{ >8~X[/>Im|1:B|NwnCll,YsV˸Ckk+WsvzX>.=lllʳtZZvѫsz<[<[~&h4q}ho9!>;'NQ'M@ZB AM՗C8+5<[UW/㮚yܽ_PK:/;6./GenuineIntel/GenuineIntel00306D4_Broadwell_CPUID.txtlSn0G?DJ!v9-%i)T!mW=&h > yyxn/x 𻫌GQ*QbB]Go+!gDh<"0 ~yڕK!I_I1_d:PCY=l峀+!5bZ<Kr'4 74|jCHq,#4IvBxWg7 %Gn jH̜% #ywnY/<*Vvvle6MugT .&!6 md"zN9 l0UdǤ4DWI.2 5T_~VT|=)Y1N gb bF1oZl/ŜPt6ֈh)/E΍,zn%mI뛈(rS" 0+L\l܉bRc-r<ݲ'*ӕbY2bMfDr{"2>+ OO|t/qW"KX˗FSk+"o;m cǶ^qWl :NÚF'[7RSЧ'k5UvW5o2F;r꓋w۹?&&.6qMm&.6qMl"".pq;w.pq;!"lbD~ 6qM\lbǕE89s(T|b *vӵԗ1ZmG4 CW$&7 #'t 4T2ͽD|=Amf7A AML(ndn X|L c`{I[C!Ml'#&=|)I5 _I QBY!M;zA^$7 6aia64%tbV5@`b#Ư fI ,]F@b!ZaHPdNQ\H* kۇ i#1C^=@(P nDV@/#aˢYH{uuv]kN ,6hP |GmޣPQP@lr44c.5&ΣcBY33 LmVFR - NF HYwfhm~-{\@P.@Wol{ѶV \8) d*V&kDnpmuDf7#̾BZNSl +Klrm6x/6Mnd];#N n!\B'Bz{ ׯ@'ҕP-jM=m׺P@dpD '=?'݋>T/*$k+wݏ69OrJ=ޑiӭonڻ"cTW^Tu}c8<1;PK hC7./GenuineIntel/GenuineIntel00306D4_Broadwell2_CPUID.txtlSn0##$NHRiC-V{p.ױ x4L/DT~p0R%.: lׁ§g-ȁp"<;wך[wbn۪)lAǴυ,!XטBRo9J'`A #ۇlƦ[(.{VR06M !f:Ym +rP~ ݣ`JY:'?iw'Eo7:8:U쮍k[˛*nzv gU-\5D1T'\44zk{FI4Y?|ݩ'V#_'@9y'Q\|qeo\ZCyLAŐrZ*pƂ4 I:] $ۧF.!y;ZЪcϬ:uൣ % ,MI9k $³^%1ԆNx൵ea!%ɴLdg:0ڟZP}Z X QVլF,C%k&ഉ?Ν8 35?PŌez 1HLoN$8h͢!s`w|CZff2&Y*RƉ˝G{dɠFY+i2RB:s;G{>PXa0x1y~ 0< { qX)!A) pZoy٠x)U16Œ 1RLu1b+b.*5J(%!IdLb) \fy$#~X=stAd8n[" \h1X|@kx j{nDa ٠,.vWrK1&dSLx~yQ3^X᜕B:\:\~Hr_/צ74+&U$4bMs( !%9)IV2Ҏ`Ċ&=qv˸Xif$VT^vVHWE&@6Ef}%,E}LCD}c>?L3]g/GW_R|U Շ)fϾz&OUs>,=H+V@D{@|{ˋ!)nIqKxNRBRܒ%-)nINJ*HD'- nq [@o*$E$-)nIqK[Rܒo).~MؿŔxkĸcCΛɅ.Tuv R¢GϽr//YDz%:"z>CC4!  ${#xg!z!&!iMأQ:#l¥vgp@ B h..hX"*g!:~.aB76CџMSY03glu^ D!C1XAf̐vIh4Q#taL&˯=Li0fWG!-p̮NIj!zew:skm#u6[Q^hKFND*Coc.CVs$nKb+&RdTŔ!vؤ+n!z ud!~?r P)kKx`m.~^y~x$ҥ'0xdˤ0&𞠽k$ S]T8^Ph'Bt(F#0 Jhzɷ\2_<OhQR#m~C-4OhN4iyIs'4&-%iМDҧ4O|ZhN}yBs'>-41Ѽi9h^МO i~M4/}ZhNħ4'>-4yBs?K-4:Ѽi9|h^МO iO4/}ZhNħ4?&>-4yBsK-4;Ѽi9hO iPK}ҩ8./GenuineIntel/GenuineIntel00306E4_IvyBridgeEP_CPUID.txtrtQ0N(EI}:A]O: LiH- M-[ůז(+7-(OI۩zO 4TljG1kHJ5CR:% x kQ*IQRq&J<)QR#)g1?򩅑G\isWLEB|RIꔟ5G&ge=0:5^#> ֕gyj K-yڹs*(`>7%fy12_AQzODRz/uԣKDK=Qzԯk/GVG=QEoԣ{GQRzuԣGDK=QQzԟg/GUG=QE_ԣwGQRz?uԣODK=QQzԿo-G8GD8GQzODRz8GQ_|}QF8G}߁zoQw{D}z8GQ_|}QF8G}߁z_QwwD}z8GQ_|}QF;pP'PK}ҩ8./GenuineIntel/GenuineIntel00306E4_IvyBridgeEP_CPUID.txtrtQ0N(EI}:A]O: LiH- M-[ůז(+7-(OI۩zO 4TljG1kHJ5CR:% x kQ*IQRq&J<)QR#)g1?򩅑G\isWLEB|RIꔟ5G&ge=0:5^#> ֕gyj K-yڹs*(`>7%fy12_AQzODRz/uԣKDK=Qzԯk/GVG=QEoԣ{GQRzuԣGDK=QQzԟg/GUG=QE_ԣwGQRz?uԣODK=QQzԿo-G8GD8GQzODRz8GQ_|}QF8G}߁zoQw{D}z8GQ_|}QF8G}߁z_QwwD}z8GQ_|}QF;pP'PK@y6./GenuineIntel/GenuineIntel00306F2_HaswellE2_CPUID.txtlSMo0#F HN>Ҝ6ZВ Ah+ .xIl:Fj}<ͼ|xlOx`R{ZɃ"Ar:PgeE8z޸aR"$w>"kbHѽo 9)mxu{WoKz:1q-EQ*+ڷ4z3$۹13ם8u0~x2F$p53HIVV|IN۟3fh3HG ;wwWf&hԈcxu1("I6|ċoB7v 󿇚HSi`eah^BjwI rOYrRCJUL)/XU4O4Xwާ8c7ĉ%}hD%`-ߨdI;ݟOrʻRWS'Z:P̄ Gʡ^^9+5ӀR%HYTd'Ψ*tqSa!pmcJ*spd}8A[(HGBc@/yxڧ߼\Y&wY8WO} 1U^N{Dۗ/֚UvA Q7 (dnG;vn0pK{_2@-%ÑGpGp3GGY)B&(d(d  鬐-pG&pdpd=đ"E  3 ;+B(B()4E 929:sGpGp qdHsB(BΌB   )KkGpG GC+R䞠 ;B(B(BBR'Ñ3GpGpGGy'0C00m  %ΐ&xGxxi"ǖ( _DHcl(ws7VuQ}鮬!SX>{?#)rYDsU07jnUR S0URmP? :\*\A RMO!TPB}=qhرyM]\)[G7 @B86FU*)o%u15D[(+@Nh\`;$l*n9 #v,{P#F7刜* \Ol@HLYòSX6Y+zCI%vx_W ܦYI|A"kDe $ă>0?umY L݌5R+bsD^g0ĶYuW-\°t`&N'᎗\|.Mz`d ynaY^J/I{P9BPUbز8Xۣ{qu%YY5[zXZsúLT/w%eY7\Mvg%-_πhA`R0%D RIaKA)%l)0++Wv6ߘEyTL@/M }z*[ZV;Dz ȅ4ώhmq 7e}s01l +؏cÏ#_D\8",EI`%uLD΄BTϤ,BAŒ`ar?KmvLŐ1`2 אei/58Gb?< YTmAg1CZ A<'0aY2Ń r5܇Q 9{@̺^G`LjR+j+# }q{c$cn6A%߇p4 L)# J-N 8QBlfQDdy'f̧B3!_#H˛Nd & ] d3۸Jor*ۛgƻFen6?&*r?‡ҧ#D2$iQ\(}`5JBu%i) *`TZ.ƌ](y^ (} =8 ʬ"va%qNNdlRa3%qm^ JY>T&uošy-vBh"@bADzA.*9 Tf}oَ$rl(F&]&8t\yL7bM)yCD2Ql$GA fHI=p$D3"^Ql1Uш%ɧE(KBEYzU'H8P4ztB4Z lFf>4P 3t#bχQ+ϩA9P?yb3kwQ 66IM'2(p&Fp%!-fp Td\Gt˼!vO7F]5rH$ g(ɻ./UrokقHOղ#Xqk7:~OQZJ/Dt噤 Z:0ZY YArD|CCdT޾U_ JcIVh1ٸzrs1xsy(9y{ٝi5͋V}8욏߯}]^ǻ VCFwu# ."67gxyc;?PKdNhg r7./GenuineIntel/GenuineIntel00306F2_HaswellEP2_CPUID.txt]O8g7 58m.V mPE %)@3~صl .dQ&yVuӲ7-"^>p;{;g *lq?L'}AEp=ƟIvoO每6-?/W2Kl z@"D? ndeUNLVu@te ރ(lkj TF_]\֕a)O6^TB.ldNqNl/S7Z"n@L=yϙʰ޶;.y<_GS8ϒlU(~yi~^-)!V~1_`.uVɐ/2YzBm,mmW?b!RaHD]p2((đ&(%|E b.l,ݢq>RLFW";a&0g-m~;> [0` &Q@V Jh;Q@mԈaWv֖0ܒWqȯCϺ 3mAOL6Y$ɮ%1 4шwg;\oBy'Lp𕵆 |Yl^ܔF vk{X'AԅCmJ·D(l{@Ѵp~״#f.ضijln+ EA80JCx[yGg $>@ 9g"mF iM2xq/]PQwX+xe/X?z L6tHxț7Wi֦k"ESAw=C>C҃?&عA)?C !TY {dxdȪ"`!!c )"GxdGv#GxGxGΐG,rbL`șaȉ!!Қ!W!eY+㑋GxGxGGvE'0C00n  'Ɛ,Lȓ#<#<#o#gEy'0C00m  /Ɛ,Mȗ#<#xf&2UK7y;%rm;|z|3m^n= )GD};/}+g -ߟU?g¿xqy~.Dej;ב 4]@|~6^PK^9./GenuineIntel/GenuineIntel00306F2_HaswellEP_01_CPUID.txtWmoHnpm"t^O YTi W^ /Puvәy9pDp%"ꙣQggI>eRRqT!9Ң821SQV=+/et! o0ՅUWW`^?qѽ.0V[F>\txoCQgZn_Js!cYZC/ @-/ӟibNU9'9oClL㲨h g(Vnw}k!!=Co8ԼaI1lpWx&rUP|*AKh({A[d8} wW;)ncTPOn;D+!'Ĥt^+ۧ[VʪhM9*Z 0ٵ6)WUGn[~uS߈E.l.cD-ީIRlRЖW3hDvMgmN}T <"ڶr;߉:q mB**FF5ӶHuZV7xXZގ;`&18#gas<, (l|Tත3?7>)3m3C3 1cMוvc7ph]8a3c|%U=)z(yER c1kuKP_FX4jϪ{uF?6D}}U(;, Ҽ؇6B0@*Y(aaj(XEXEXX&"FChbLC4DC4DC{MChǢEXE{E1",",¢Ģm"4hhhh(4DC4DC4t44N,JXEXt6Xc,",",J,'"EChbLC4DC4DCwMCƢEXEwE1",",¢Ģc"=4hhih(4DC4DC4ih4(aaѫcaa+蜨DoJ8C8p(8C8C8jD.J\E\(\E\E\\tMd/%!v8c!!kD?.J\E\(\E\E\t\tdYd&ZqbE\E\EWED&p(Pqppqh4\h(\E\E\\D%!::1jD3qucE\E\E_Eo]P?з]h(rׁc|0#0ǎY(nPU4#يl;v4xnݕQ]J Qy^"l>7ۛ-ˡ]NRN^N>Nscx)|8;"%'x;Fh1I>lR <%D3%p(`R-<K6ch11j#1gK>!KYɐc8>Ahp$ޒc8>dRXy >1)|#HtQʳ%cݏ?%P/UU'  GM]F[fxTYIuz+" Eȵ{ ZEvRY pCn%qCB3p}A]dž"K^CsCe!|B"%@B泃8H-;*P :$)"zw#RjhC?o*dke+)?T(7md"Jg&Mn;Q RBDj K/~8+0Rv?wG0+ /i+@L_~qʾ0_WŶ5BU!֟+k:Q֗iCe- n H;ڿL_,k:UDN^D\幽)k~S֔|)k%mS6ľ|BCH֔5u^#fmRXYS֔5e]B#kʚu2Xfi Td}eMYw$]}d ,=W֔5eMY/#kʚ3e}ݬ5g=5C.uy٬giͺ0rʚ)6쎬)kʚ.XAֱKqjY_$kHYW$avYceMYS֔٭fMYS֔ue/I_!k E֔YghS 'Yg"r5e\YS=YS֔5e(KYK=˞YKZ֐5߾ l00+ !XYS֔5e=Һ#kʚ6҈5K9oDC5Cݲ;!mA 3&IrZ֑ X;FXʹ֤50vh-+oϭ֤5iMZOkhMZ֤u"/i;, scXT'hmh I5 15|6؞*՚&I-Z֤5i-uFD|֎V濞֤5ep`֤iMZoɷhMZ֤zB'D}uGrm['h=Wњu/5@iݡ+CsiMZk&ILZ_Z2v^ QE0E+BӚ&cZQGZGEmB=֤5iMZޢ5iMZօ!iG]OAm7ӚڐS2zsč^z|,IkҚv֤5iMZW' !X$h%iͅbL'ZWChVKkҚ&ShMZ֤u#/iq/{h#d2> $}ysj'ZO8's5iMZ"IkҚ6Z/ƌ֛DM>\u~39')dXv-ciMZ֤FCkҚ&S c]GoZnp ZEff^ uh*3|Қ&IMZ&#i}] MvֆZ|BG]/551+>WkAXsiMZ֤JhMZ֤u"r2P>_cDCJUB1mi]RKkҚ&K[&IkZHkZ+duh-iͅVn[J+,_s<֤5iMZW[&IkZIkZ76x9:{X^?r|5OHs Da?֤5iMZ|Z֤5iIKZP|ܵvjE^@kҚow}~k'Z&IkREkҚ& iU-c>o{ju}h!<ֺu͘=Z֤5i-Z֤5i]IKZ뀶!@k>3jZ7Fy*ױZoT\KkҚ&"Ik;fF W1IXcw$SӻǛOVOZ'{rI"-캼~vbJhohw㋛GIAaiԔ*QUQ4Y離cű ANrZxH>mm']hB/uP7XBR臅q4'))ӺN %f S-fӅM27vWWCma?Hڗ󎊰/"'G}`j!p 4Qx:W^J:,92]ns:yZM,okW>&f6l*\a\tDA grtD!RHaEdC ),p`uA )|{G7^J{>٨| cw]|_K| 4nG4X[`nק.Ə?۠4f^!yy("2pZ,#iɺa31G-ۻw^<]7!$ aX**`'`B x+\ ]a$b/x]u f~Ƹֵ% c)j^\BMevO6%{\{V[|""3Cc+_gYd/ `kydd]{h#q ;fX8b9L-f}FT-\o;='PVF3k֨?K)iS\pnr3bo\K7sZUZ3=2DvR@"<҂ ;r]U9֨(Vp7o QjA۪d63vA paզ74іM/2JLOY :o%8i}xY=5heh14 =Ed8,5#{R~=DXe!+!բB4 B?,1ȬjlR><CFbZlݬ;dsCB*L_- ,\B$∸]B!s.Cv(1Jg@\eĖzD(,W*ML+-ϊ@r$w۬ USP%UV1u2Ф@2 APWw[cff.NƐ !^ 0 PY yAb#=!-oO7?aEx<)<|<~I~ GZsG`i7+%M~O9=ՎGvZ!F6z1z1z1oe]ڋڋ!jGvs-xY7GkbbtsQnVEEcS{Q{Q{Q{eye ^OagDy=qƅBB*4[&a^OlZBx}fRVQC] ar<J~:=؞%K8:^q>1 o |D} `(=Eq*}*m?"NSNz()CzQJ!ZF;ANXG!UZ% 6C神A0E)i .ҭvTC8T B)bXb^;&30OxI&BLZdNLW khu"9 `a" ZOj_"&AQz+C)=ڴ UXEIy q"1C+X:udQw-_A+fU.,$^X Ru{g{{"Q Hd@%-6e$2 ‹a-w- ;S43M3H r#:k"8w0IG8#mX:v)y;ra,%@/Tw$H>vi_ #8ApJ(ڑJJm6 2+*A2TVC ssj},:lE*LH̫̐0wB &|3Qp=?b` j0t> B`Wj8ZU ̛Z{BfsqEؘ>wb*! #s\2}z.%g^b"m|J pf2a,XV,ˁIKI!H/jK2`LXf, N'HI'T:a XF," Yqfòc9X.,H7"LQ҉y2/d8<(oNȠ"'W,ˁrى(PK2& 7./GenuineIntel/GenuineIntel0040671_BroadwellH_CPUID.txtSWs> ~t{ډꕭ]bl6(1>8 4 3'TWwU#kùF-@&tH_!|kvjyNҵsW:Lw0~*ne 0aWDS@k:t`yA ˃K0nڌ䖛N,pxAk驈# 8k 8% +ܓqL$Umk7  Zoldwdc)^YLbrIGHN*MeTojYhoZ[9UST!e0Az P3..nmcJd[ 04MƔ9_dD ~'—0!ц8/%,Y;ށӈ4ܥy>58dǁv9@\XҐ)gzdB#R65d_U#TXЃ ZiU}w5 d,FI`t}rƕ]0/X3ToŌ-7<+( f 0Ì_!*_Bq%;jM49'܌7%`}]?Xi|nk?j>#g^NɹErU6ƛFղ)o?~>ǎXHi~??%C[Ө,J} R[ R!R!R!RRۋ@MٔMٴglٔMٔMٔMtY :2H :_ lʦlʦ3cɦlʦlʦlZΦަuHTHԕATHTHTH-}"Pw`S6eS6n6eS6eS6er6=6}'@*B* RB*B*Bj|Y(GaU\xn0Z-:eݷ?)3jي-_7ʟZܤK},J&C1KƕTwR\Tʒi-jAe*jQE-,Y%W-L,P݂͒ZBv\s}7ofK L汵a~r}1K>y!#wPTq8D @!1L3'r-ق-i.tHA U `Rti2iZRȶ A GG T1I PH-Ǥ: ϝ% -ns92ܒ V3DrM[u$&:"T-utPK(=N C,,w~^ 6 !C+@ 9Ć0$$E=ZBIņ0C X p 19# 26 qy*Ku-CiA}J`B k/j”5 K5rBb睖1DVLfJ&DD QdS OW9%- G*BDЃIpIDzmg IFKЬ4GB1yX!do,YtS-B·j&8V˦z-͵ݵ{o7]|>6ww_DkGKn}}͛A-#/RJbvHIn%9>O޾Nv0ݹr5MI_l<r%_;a;VTmKwCD摘IMXLFt54UoHUR TU%IK%^WEk8Jf{ݷxUOlyrXU ]{s;woO?İ<~1yY~gdr;cOM39}z~GLjNow?{=:nq/6i//SX8y+Tq9o_{1|72<|2q+t^ _y՚pڞϘ_'u1QJ1%|#-.V(] X`%%eę ˌebٰ|X94维%Rp?E X*˄eƲ`Yl[ʙ|pfw[ꙜxZ2\X K2bXX,+ ˎrbiKjRsmr,_6*I^(d33iq?bٰ|X,FPKJ,)8./GenuineIntel/GenuineIntel00406C3_CherryTrail_CPUID.txt~0ÍQۉce^2~RR19xJ_ o}<[Hoރ}OGޱ{G0Xyr0_VpQpZUFp\g\Rq|-UDJjr"z}փjmT]ZzS-2S@u`(R D7 ^"-$> oí{-X*S#2)YƵ6knfykG&Fl#"((W,nt,Ю=@O(pSEBj"$ VHOmB~sd۽*{7%u"p%9#˃|S7\}iiډlD4{K hptw-ߡhN=av:tav:tߣiN-ߡhN=Qv:tډYcN)Kp٪I0 `60 `1f0`5 nӦkwnj^S bc7o,,X ! BsCB^ ӱ绗"md0aKe/]38~c6\ -pE>EgSW[a 'LQ*ۉ=hPv4j~hriZHq)d%$?V1bdǢ)L@|aiIK?$JRWRok$翷OH_ c'ʵI3ЍHVMdJd糧^?ӼG {ssa ND*i䬢.9\o"?HXw% $]gyF팶;)rF@">F 70PR?of̤/Wt.ʑ4+'.=;WӔZNji afͤf&j^n WRͰ܈f:= XIIբ d򢬉H*U⚤VVG6 xJՀT ;$@6$ڝt@2x~'z@z_$z#D6 HD)@<:" H\ PKlW=5./GenuineIntel/GenuineIntel00406C3_Braswell_CPUID.txtlSQo0~p^@IBJv-A@7iڃqJ_?۩HΧ}G'T5]b^ѣ |~ Nq2 5faM?S0ϲm>N_+BCȡ@J Xᄌ "ʇ7D)0%îK{]fgCWgR0&x:1pasQkTNF40Nw.D.&~0[PRD9NM+Z=Ru栐dD9Y~!'_vBInïCmuZ|la8 3V,oXiTڒօu\h8[4.>V zi7 @i}gաa"Ú+8XQg"2HYqX&&D6 b0b̈dbbx z&&"7Y;enɬo囈^TY0Q}4jD=.zVZv0E{~Gᷱv.1َ㶶v؎vx۩ xR'FEYyF1&bc^LgŔDfgĹOVĴt +kԅaf? . ؄ *EJo.)b u-4nMܴ#6,nD\loԅuLG r|Nj oB: Bʲ2$6!YI @KDBHGD4kt8j׫~{R eRY&EfW@@"ƦIVkU٢XUHZb5"KK b2bm3bx#N }q!RMSYLR Yvm܈F v}c'kq)[@ @oI)%=RLmD2nD]8rPCԌiרh7]0Fu0FqK;Abv`F@Fldq; kku#9Oh*/9vIF FF|6Rf#u6X'֔Ic <ٵ~3DTٚɐ`6B;vkuC7seԝ/]Y]░bR >EР\_{J =RKQSK@cMktΙ\-ZȬ#@X V[V v* Z wu(~uu*q3a,XV,ˁrIqmqcR SˀbLXf, ˆer`9\Wg}r2,e2a,XV,ˁraosJ&fM,&Ԇer`9\X+l?PKn13m"+5./GenuineIntel/GenuineIntel00406D8_Rangeley_CPUID.txtrtQJM,.I-*V ((jZrA 9]L ~CVU܉wd L8}[P ч.xࣆcZVמ<}1uTbh bB6uRP]}o.P- C0HJ^  գۃlUL?A\x.9Plhf9_tRj@2ŠzioŚ9HӂS>Q9qAub 8A17,j\xrө=.QWN*\C /ߞ|kl5Z:I% NcI[q]u|E_()bB݊ȢYwve:(!ֲJ!DwkrȽֹ r/>Ƚ˽޹׹{ !r/rot ½)r/rovM½1^wu]{{{7rȽs.˽ܛ^{Oý{PKus<4./GenuineIntel/GenuineIntel00406E3_Skylake_CPUID.txtU0wx皳גWki3w1w`q~9'.fU/Y£{wUy35uST/?6`7_87lJ$r[7uVq^hꖿK]yݗͣA$Fa<f0!Bw(N(؆`)2DH6 1 (GTb2L(mM"~?/շ$85~~)bw|nWZ{K MO5g0_%^RQm-m!XKSQKmv#)) KT@5P T@5PsȠS4, K*]ZaiXaiQ]eP)ETQ T@5P T@ ji}1#yxg[uqUɷ3es; = %_,2v^ӏYJ_@j:ހ(%պzޓ,ǖ&_l Qr+0!n /[re["e%̫3Qj$s%$<9BTkAc93E3jHĠ!A"P;Tf\,[ wŒ(=^*+[}$iG/',["(&& i3Z" qp(~~lGZ-UA=|01P>BHfT$Ɍ H .ξ<^amj /#glq""RNH !m%~tB-!;L@0!dKS 3j?'/,~_!",PS_L֗p[ )zeԯ֓rzr-a&ǻM3. {$=ΐ`#4lۄf&޿Ƌ0\ a}Nm_-L7[UV6lI0ۅgZ嫊 šz5ꀳDpOxE9sNgw48oF!/T?V#\'uP9 O+{s]5mpQӲдx^k vqbO.4q )DIVE=[Ӝ鑚'y.|W$q8bwo [+jsPo!6ŘlLmL1%2J]J_TA!>rPHr -+xXĴc +IcܠL05f]_(z$P(]C]n aS{Zrpt֡y\BXg /Fc_mց}1͒¬97Pj<) I풽-Di QaQ^ΨW(bj35҇T ]Qc^\FrScFUEBK Ρ0QjK#|c$L`e{}Is}M@e{Z>#7^J-Ҕ{Wo_59mmЙ&أK " A<1~ P @Kz׿!@0R\H2R\HHHRBR\" NX=JI'HqHq'ER$ER$ER,Q   @<@lēIqόOR$ER$ER$)^!)x" NX;ĶJI'HH&ER$ER$ER,Q  > >@|@lėIqߌ_R$ER$ER$)ώK"!N/#!V  WLM"*◡⇊Y0ɍQPS"KǖmStLK,S;Gm[Ѧ&v.Ge7uO WE1fX+޸|"3*+VJMY`bS(GtQmVV\6]t9ϊ}到bb#dˍ{wG'gGl!|>j6'ƇhGrD R#0sǏ9UQ9RS# ,[0aТo{{^G:z1tX';cP,C܌t ^&'];TIA8 A;R y"u_i;dgɨqtKd>ԑ>GS`dxC!C5Yqt ]P B.z$4"kt W5 U$V\LZ ڣ:-=h`B(`Y2UGWY%~l'8د'3D; d % Ic"5#Y.\H䢄bd~N0 @ a]M1D92mrajl.[<1$LbCuXF s4.]Qܚ#6!LFG̐^>ibw|5۹{b] w'`ŐIB#}„M*r݉Qcdz ^zxlS .~Y>dH#=!2 HPZU kd%npDR]wx'ҕEJEE!;luU׌q $'?>:?~z'WGO7,)JiIGOLkw鎳w3\n47ݟ]\4MbLhpH@s~HG Jo.)}|ҫE]NjUnڝeJ$CMygE٤ qhH^pl݅* .,mXw^mRYn?R*'NԃطLMq9{WDcǻWNөwnϿҰy7پGNi"ň;VP{X(y9Uqv4?է?{Þ70=NfBຬԫr}iNM_iL_纬Y~Tߑnust]5]N0~sL2wN''0ES,/m5F LA'lsKcTJVljAFzչ?_}|6 Dhl`YbαI+%Y)sR6ʌoTjG@@Jjfֶ}`UN v b RT91b"~,ElJ a_Ķ%2v+p^ZU烎V(:V-nnCƋTV].mRp}]Ƌ96Ұ#: 哉_ϝ&gxMmMn*o0j"*ϊT*CT`\=Xs9zc;SEȖ9 Ƙ8yuǗʢHhQj7/WSgϽљKʮT`A]嗪#\k ' ^aSq@?iR iR R R H A @# @ @ @ @z9Hϊ R =# =HHHtAڎA:*HtD@:HHHi R E@R R R k =H R " HHH^t~һ"HHHl R R R K{Ί R l R R R } @T) @ @ @ m}j߃U<5)ȩ;5)))%H R ml R R R +cH{E)H{6))).OM}HKHHӝHHH%OM@ #t& R R iSSI/t& R R թ;@T@zE@@ @ @:5- uj* R # MwjR R R ] HHi?HHHtuj[@*HE@ڒHHH/NM^@ =Ҟ @ @ @ SSҳ"HHHl R R R ] R l R R R ]ꐖ)" M!R R R }?5cHuHKHHuHHHHOM}HuHKHHuHHHHOMcHgE)Hg6)))&>A @D@d)))멩{@zV<5)Sә@ @ @zj@*HE@ڒHHH|=5] A @# @ @ @ @@:w H4ݩ HHH@Z@:" MwjR R R };5m uj* R E@@ @ @vj@T@zE@@ @ @vj@T@zG@@ @ @PK'p 5./GenuineIntel/GenuineIntel0050654_SkylakeX_CPUID.txtՖ60jHݭ03^fAs4Vi.ÕJ`2Žᨿ 7?n_rJ' |Ntnǀ >]^."gu+g9խn?>d{'ʠM5X!*m0mX !C܀w(N" LJ* I"4 GڀtJL)F(&߿"?g1AIxksw"jF[,9MlF Or R C:W;;$>XyATr(jQX19]I#͘n6.JbQa F, xܕu4d+bŊEXؖ0cUueK' ej.! 5SE/uq2n4P(?>8"tGZN$3*& TLu $^(B1zXP}RTu݈Ӄ w4ֆk\xvAj\cջ߽{/]ȵZz`/t89˨j5)VhN_2\AvOOw'cF1E?e灱&0cez0000cUc+++ 8c( ```=qqTk+++ c( ```=qVg+++ xc( ```=qUo+++ 1W=; =+v Śp X;r X1XT&0ce0000#~*҅?XőE?7XXXXEi1& 832& ˆߊt=`qe` ````q`Q.,G00, 0000b"]xtX<XtytXXXX1X  7#.n إ{W /.n Ei& am 0000~?oif$ D[aaÌE޿b 8jkJo+MF9rG>؇zkI>aFs(_$<}챏cQ$<}cQ<Ch,b Q$<}Ѱr =ʃ$06c,$<} nkI>Ga9F$cg_~qA xޞߜo7O+V #>&3"sU1\.0 M# Y+.śwE)Wc bh0̔L s77Ȑ)I! HuDZ$ӣɸl&&0Dqdi/9bzĐGoZ|ZNo0dT iiDNj(:/% ܺ"IYd&nH^N2$Lbf/'xHfV\Z!]iXڭ*9Pk+rq`Kk ,t!Dw{8q2U;"V7"]S1OaHvܝ*CҊ16!ۺnHi0d!e>Gъ9jGsF$1":My(ᰰ1ĈbQQ3dc1͑v)ܗb,S<{H&nQ(.]&8[{} 6$}@-O/}80h͍Px| EB+e orx67ܻ_AeR:JFB+8S(P Cƈ[1HAg1D3V@w.׏'˾LO8Fb C6sqiNAR~p{%ҷ*n7e1vw7r>-ٿ{<7oܹMrO`\_H |r~ů:oxUkg&1[]z l2e S9hhhe----eZsGd-jj)_____cj5hhhe----mZKGdmjj++++*_cj=hhhe----cZkGd(_____cj3hhhe----kZ[Gd]*_____cj;hhhe----y1YXXQ,,,,,ǀZYPZEZHY'-"-"-"-"-ZutT+``2z 1`V;ii3zIHHHH!i XX >u,,,,} X EZEZߌu"-"-"-"-"cHZWCeS,,XXXXXu9iiiu"-"-"-"-"kHZwGe-! kk`````cj5iiie"-"-"-"-"e(̺Cjj֝]G-B-B-B-B-:ƨvd#aa=2z Aaf3jj=3zQ P P P P 1jm EXEX^u",",",","{PXZZ eB-B-B-B-BuޑYPXEXS',",",",",š՚YߐZZP'ZZZZZg?Ģ(l I.W3 p7ݯx=Mqc_==x^g4C=#gL'uR=3:ta^gz`3B hꁉNw댡〈$Xꁉn؊o ׉z>Q㫨FxcuFSO=]Nx13rOpT|^g,8c+3B'0юaᜡO#߭W-' T h39'='榙P /^uIK^x$F;@H@Oԓkp7^YϿjGH\S0-h>\s@Ȧ~]/늠V-LVj#v.7h/B 9ELLΈ'3`҂ "LG夬ܨ'nB*^c*Tf$/cR{I~gRyY&qZ_"Fo Pd5q "lBr%i$;""r`Mî j)L}-\jiqEF"'φd#9\WVȣ9"7^9"HDq0% ,ŒElN@RpTE|O6H5+E:@I&4EB$Do&`ɱcEqڦG $Gx6GEîߋdذ"tߔ;"SG:&V5ZO#6"=M5M֟qDށ1q ROHRYDS Ud%)2n19b& `Sql:$*H*VnوӑڰW$ 6-1)hRrI°>O&PK{,W ;./GenuineIntel/GenuineIntel0050654_SkylakeXeon_20_CPUID.txt|_o0ߑ7mE"@ykHh7MӔ ^ClgMwh`_~9N3-Ft;KQDv6C4Fb  ݀^ۙb.v|7pG:;^l'yrf7k=(&K_.q}FC8 }瞫^s6j^E?8ͮ@8i}l| DXl0@M A1 >IbC*ܩPH(ۨ4x$\.NBh&\m3)sDDq - "7? ( b^0T d 2#{TVI:Y`wHYPJΠ& 0XlEؤn52!؍R;H[}TP X!M,(&D.VHn KWrw?scJAQ&U{v*t0鲸ӳJ6dsEξ#mJ2PSS2,`A՛Eԇ[?5keõ[ኰ^ܺPc&FTR*ps)Z)wIU͞;W;GxKSCcSv  lW&K]ܶr@BI-.AQU*ML+7Z;N/Qa[00*`````g`#1#"]b$Fb$Fb$Fb$Fb$v$vLT v؝hHHHl=9v0`````&6Zaw(1#1+%Fb$Fb$Fb$Fb$Fbϒ5QaO00{*{`````k`#1#"]b$Fb$Fb$Fb$Fb$$vOT/* $F+ %Fb$Fb_Eb_HHHHHI{``Rؽ $&+^CZ.1#1#1#1#1r{'*l ``[`[; NlPb$Fb$W$KHHHHĞĶeŽ``vTv $F+ %Fb$FbgEbgHHHHH]r['* ``W`W; lMlPb$Fb$vW$vKHHHHĶĶ {BS00000ۓ7#1#1#1#1##'}~! Wد`````v&6Za_(1#1*?s;\@>0`r t+@_a0eAa+նmÃ0c)nz|gAqsfsF*W=wgEfV3LOD37 Wr9#/8#o =QQgF㳧9 sF}xgz1ŋ=CO4|8gAqgIh =#>ٓxg艞o\ō=N8#qF)ބz 4gq>̣ Wϙ=xg㜑{Uϛ=xg^V<3Sϝ=|i{P 3D=g\9Q{ShrF+WO(3)n8#qF*W=w4gEF}ъ7{F7{ 37 Wϝ=xg(xgȉ(ō=gOrF+Sϙ=3)8P3x Fy{UҜQ'{S<ъ{Fy0M&|o8gFq'8#v81.pQĹ[ԃecZyIcӖ_uQ]$7|7do_ٯT[– p !uMk%(.۸OEL.Uw\IiT_NC%0dӂHf!ɛ`SiY"cC\l&\9F8&OQMb )/q%<:'mKrM& ăQ4r Z, oI;Z\7nC@""$N!J2g2C ѣ+O]eEФ' q8W[`%BhN͒4Z2joq!}!EA8rRA`wªr(vUCnVb~"T<5ɐ%a D!!Œ(({dr YZylHhg{3[R3#C"u1fCE֐'Chۍ0 ~ȉs椯E,Ji?zrq) CL/ b U?D*9N63W_6_fp&<'waI.z&CC䠤&?1G % 0"a8ZDkKm,]%+$ Y*w5kzKvP`l_Nط))pJ#lK!!n.F^!ى%pt6$rɮ#'IWA Gzҭ^SG_$m!k F_IH*nKSIJH ?_:J5ՠ,JvT^|jIAC WObDQZR{[T)m;Ri\sW \s+pW@ROu%Z-\1_ \+pl8+%wsʟdX9gҤR$d|\+pdJ\+p(\٪+#fu2<+phZJ\+pDgQ̶.R̜%W \+p%9ʰ\+p$SW\6C(xM]r2\+pWpej}7W \+ԕLڼJ#Jlj~fBbZK{WW ^+˞WBn/ ^+x㕝[LW^RYO ^WZ-xE+xWvʘJZ^SŧbzW$c^W╝+6#&_I1MYŏ[ ^+xK^+xE{=+ٗ{q T1q$)u_IO Zރ=+xWMx$rW^ٙ_)aq!+7G{W ^IJ^+xdW5YắY ^kTރW ^+sc2xW ^+lH^#_6F_ף ^+xKxe=^+x,#_yȚeZރW ^ C^YybN_i,12j[S;+}%8+rWo,1+v,Ï&3hW ^+xVrW<^+DJbxW ^+xf1^ż+xWvWuMZnz~E{Sk;R˗{0W ^+C1^ +x+;}% DC+*avW̗W ^+xJ4^+xD3Ui.Rf:W ^+xL8+ϗ{V_eV3J.5I=+̯W ^ 㕜˽W ^xe gZևRjgL|W ^+x1^)-+xWkRJXb%-kW ^+xyWO5wy ^+˪Xrpިr~>cW ^+xuWK/ ^+x╝RzZD飽W ^+xLۏʈ^+xp~+Ir^tu}>$W ^+٤tWf/ ^+x㕝ң02R]2{+xW7Q_W 7RŎb RToW ^+xEa ^+xEN_W)%}+)*ZxW ^+x1^qvW"^. #R7W ^+x9}ŗrW^+jJ6+QI|o^+xWFx%rW2^gɭ+$QNZ~oyWD/ ^+xVlWR,)O ^+xRsx%ػW ^ {~Ҍ`^+xR8+9{bYRC_5?+xWJ2n_W+[WbnRܸJ藊?z1^+x҆=+xⶼfWBWvJ-\9B%W ^+xB_W׽fu_4)1;wW ^+xT31^+x+;}%bJUE7 ^+xC8+k{N_qu4:͆GW ^+)^{N_Y}Z12z ӛG{W ^^+xduRE5RwxeETd͏ ^+x77qƭ+NWW^ȾW.~q ^+[|^yEn;͏ ^+x2+WmFK/NoJ K^+xWVkxW,^+34i^ 9IO>jW ^+x%ٞ ^+x8WjhKR-WWJ0xW<^J*%~Fl+W ^+xxW^J\]3ֲ*G{WJ~W ^+xEʎWBYNp庯T3󣽂W ^+xxN_+xWv5)k苔+ ^+x^1^+xWv|Rkp^m-&=+xW<+xʎWBA\Ps{W?W ^+ٴ^+6W ^]Ɖļ$ ^+xc8+x ^+ي_Ӽ}mV4>G{WvwW ^+x╭j5}o$£W ^+xV1F ^+eW^Tq~zXmWrc7x%tWW ^+՟W }㕭FJ#I1 ^+x1^+xWJ.i1,E>+xWfMxWxez}jO ^+xR? ^+x>W"^JpC4^e1c;旼W ^+xhcW ^$[Z3_{ee>W ^+x~W }e^xe+~"+[I>;㗼W ^+x1+xW+l\UgRK ^+xs>+x ^+.IߗD^ K^a~WW+;^)fắDɺ׽W~+xRW ^qxe+&+7LLs܋|W+x?+xʎW..wJ[k=+xWJW 7$y>FŭhW ^yW ^Q,(mX-1 W ^+xW ^+__J+;^)wQWL]{{G{WʰW+ xŤ:e?̯, ^+xfL<+xʎWYftz~F_a1^+x0+x%WJ+[}&tJSM|W ^+xP^+x0lʎWbS\I+T++ʼW ^+x%|W ^+lʎW5Cz2+!hW ^+xcW+ݺ_+;^aZqֵW]JyWҿW ^+=cW ^x3JkVJr>+xWrWJ+;^q^$oWB3~W ^+xt?1^+x+[}%$^{2t7{W ^UW +y^xe+DjKԸ/y}+x+xW^+X]˧2h+ ^+xL ^+xdL5]y%oܞW ^cW ^+lی݇RafyWx{0W ^6+xWR^)xd+=.+=^+ ^+x%ZsW ^+bV_Ѷ:q?XJbkx^+x ^+x8WRbO"xWxW ^+x|W ^+x㕽b㧾b5+^+x^+xLk ^+x㕜|7Bfq7xE ^+x|+xe܎ ^+xp~+Mr Mp&+!M3+xyg{+WHP _jd4{~Ӹq`$b90(NqfW?Вg-)p^Fc&z<w4(d"l[@IN$XY`-*G_4\n e4($${lRJ& $ J !FHȕb0s\λHqtr(É\ʟ xsAߩ0s0q"F3(5&5bY Y_`ܸmVIzӝoPyHq@P|88s׎pH_g.l LP3l&7'm+jJFNX@_t%>utOHHN}YO\}}/2J|?AS 2xC 7ߐ~ ~ȕxUt%nĝx$n q%nyxGA{U}ǻ1:'@f =[\Kt Ew=tt!0V8 WUL0V8 WUL0V8 WUL0V8 WU0V8 WU0V8 WU= Ca*,p«)ԙwTX [(\WS30R PK%u h:./GenuineIntel/GenuineIntel0050656_CascadeLakeSP_CPUID.txtղ:K&%[")ffffh@ya%2v O<_Jw:%ҖzqRWv=y''~~Nֆak%@ m }; yT g hM,NI)ACt-"%b8 ֥Q)bZUkg6ǴNو؅R2 i h\5bJ*۶W Ί=l;~]Zm,8WmE'iEinjm4˭t4)xs xn3h3111g`t2,3a4Fgdt0a4Fc4Fc4Fc ~t]0я=e6O茌~Fhhh]nhW/hhhŰ,hwohhhŰ`1:#?F0111zFwm0;1111z1`/#1Ff`4Fc4Fc4Fc4FFe˒e 0,30111Fh.Fѽp蚑5:1111!^321z0z]kFeh"f`4Fc4Fc4Fc4FkF1321z0z]aG hhhm όh>#>g`4Fc4Fc4Fc4F_/e薑-61111zdtGFFc4F?"~hhhh>. b3#1F?g`4Fc4Fc4Fc4FnhW/hhhїaY1=/:茌Dhhh .WF1=(F032a111/PKN% 9./GenuineIntel/GenuineIntel0050657_CascadeLakeW_CPUID.txtՖ8@QݥX4M{g+ьb5+pKDlv{ww>uf'w7t(t*;C~۬f[íp~,QJ&LZ%RWL.77n}n |Ph!( "K꺪fy]}@AQhB5%eBA _bAI{¾q ykܕ$yr]^f &g[`(MԛYEDu"5D/V$RIr$+W" 0\$!K5hX^.BfO&JDAE噋xPqEazB5\\ JaDB-BBZZZZZLd ֊.aaaaa֖hfmP PkPkjjjjj)jG",""KXEXEXEXEXu5YGD-B-:*:ZZZZZgZDfaaaaa]9afQ P .jjjjj֝>Yw$,",º+ºEXEXEXEXEXONXDB-BBZZZZZR:&6  bۈXXXXXKXZZ>mb-b-b-b-b5es [!ַXXXXX5YZZXf-b-b-b-b-Sֺ:kyB,BU j#b!b!b!b!b9bMvֲDb-bbZZZZZuuOt  VB,B,B,B6b!֕#hgmXXkXkkkkkkk)k=GB,BBXXXXX5YGd-b-:*:ZZZZZ+e5Ygd,b,:+:یXXXXXKXuE؂-؂ [[[[[氵L6c1c1c1c1c1֖4hh=` ``illlll9lXXmb,b,b,b,b#iD؂-؂O[6lllll֙6ZXXf,b,b,b,b,ƺ _-؂-Uklllll9lc1c1*k}&Ck]"llR҅-؂-؂-؂-؂-^9lFb,bbXXXXX$5Z[-؂-*ڰ[[[[[k[Dh푱kko3c1c1c1c1cmIca ` 6lllll֞5Zgd,b,:+:یXXXXXGXuE؂-؂ [[[[[uuO6c1c1c1c1c1֕4hh=` ``illlll9l=XXmb,b,b,b,b'iD؂-؂O[.lllllJak}M72c1c}+FCa ` ~lڰ[[[[[k[@hmXX ^mb,b,b,b,b-iږ[[Ta ` ` ` ` ։Z#c1c1Z1f,b,b,b,b,: -llmlmm؂-؂-؂-؂-؂3m"XXWFC눰[[G[G` ` ` ` `ak32c1ccmb,b,b,b,b'iк"llUՅ-؂-؂-؂-؂-:^9luGb,bbXXXXX$5ZO-؂-z*zڰ[[[[[k[Dh#c1c1ֻbwkKk4>` `S֧ [[[[[uM72c1c}+FCa ` ~l ` ` ` ` `03(Uzn6I.?hԎx|+ze=#{{޿^']e7ōp><=xgL㜑'}RϪ=[Mxqsj䌫0D37 WLtqF(S=&Xm؊_ 6.g\ >Çzm 7Ń>3kqF(S=8g>cԞ%ЉlcrU<3bxgz`3BMx1؜_ pV3z`3x1zi'}PgDsT3zglŃ>19*9ԳjObF>]_ 肉nHŭZ$n {gB3 +{M/IT 6a,~77_??4g/]9wo;?; XJKb=Q_9O;7#Yo7-W%w"(%.AeC,a&1\3Ͱ"$dB}"UIbv ;H9<';k8#P`(6I_<I]'@Eʤ"mY&"ג+2oqΚXI=|ND Lb%$I$Y"/WĖA Qd_0nKdzPMK+ b_'z qye`jmx=$m#=BbmW<=F}ؾ\4(雠 vQVcsƸ'97gh L(bΧr=Őoc(rtb^u! =(Š%.*ECH$au]{WAay&`ȲeEڼG}#_h,INm@90rā"p_;:"KG:'S/hd dIzgb(:E"=LYPV*gZٛ۠A=E:sKIKbS Ħg 9k--Alϯ-&&N4i"H>ܔ>\ÕpR$ KP06j:% ӚmFVX8?%I#NPKpi=./GenuineIntel/GenuineIntel0050657_CascadeLakeXeon2_CPUID.txtU0TFG3"kV_9U2(9_l.@^ۻV71j|֙ixウAλ`}m'uԋ?||qTeiiR)qǓPL &'V$ԊےP+*kh.Nw|DLb#b\֘V14`7\cWFBW< Qrd*7,InRNz-Mi%5*0`a%%jP /!O^+*dQB[c`RgS$aÝy]l!b>"v&E<8H+p`Ě[ZiIK#5[BZ. ;:t֐*MyK7TB;`ȉSJnkU*lWj| q7W.pjye:˻PIqq: MⲢVޱlqDw'\$=7}:x]s9O6dĞ&}&&9XVԩO+O䯪\˱`mMFG xBѱN pZtEVVa̲3Š~Nݞ˱ 2>Hx)TMgѷ޶.  ]".k@AAAnCf4Ht@iiiit{FH4HHk@AAAe-#A[m H4H4H4Hm z=o! }@AAAAC]##A5 1g4H=iii>tٮtit_ BN##AH?4H4H4H4Hl&@ k@AAAdzaWFH4H"~iiiiΆewFH4H#~iiiiΆu?! @AAAAz8f4H7iiilg@ ҿk@AAAGa&@l ! ]˶AAAAz4).! ]".k@AAAGa 5AAAAz4)3BAz@z_ ]a٦@e4Ht@iiiĭuo! }@AAAAz09>2BA@X = H3BA} H4H4H4HlX9! #k@AAAg: ҏi~D X }>I~f4H3iiiٰO+#A_Hր4H4H4H4HΆewFH4H#~iiii> ,H2BAg H4H4H4H~:Yf4H7iiiٰς/#AH'AAAAPK'Q?x<./GenuineIntel/GenuineIntel0050657_CascadeLakeXeon_CPUID.txtU0TFG3#pj;Vau@[9L'i=T_N~/vn:=U2uk:-W'=w?k۰1vQ7kf!&;c^E46FC˳+]CF 8W~Ӻ'98€qv96͔@g<͔[:t0P*Sb,iHq~Öڒ{HI9pIJ&O]5afniӥKB. p(I2#L%d-b^ XRĶ "v.,ݦXzhif-bmK4K4K4Ktb,=b龌YYYY=S,}hif[ҷU,,,,=efi#ޗ4K4K4K4K_mfi>">4K4K4K4K_}GFK4K2fifififp̱,g2fifififҵ̱=YKߗ4K4K4K4K$K?2ZYcK4K4K4K}-,XYYYYj1үfi~E,Z,,,,=Y9n%Y[ Xe,,,,_65YkuK4K4K4KVYϲthiftcifife,,]Yz̲,[2fifififҵ̲thift_,,,,=l,}hif[ҷe,,,,4K-,G,/cifififii>2ZYXX,,,,Zi-,="XYYYOKy>3ZYX\,,,,=>-Y,XYYYOKy~d4K#b*fififif^>,]">V4K4K4K4KʛTKfiKe,,,,cόfi>#>4K4K4K4KL=YKߗ4K4K4K4Km-,XYYYY=s-hifge,,,,okWFK4K"~wK4K4K4K?PKC2c8./GenuineIntel/GenuineIntel0050662_BroadwellDE_CPUID.txt傕@;;G9pRvwwQzz@7I.D/%gΟɖkȦBQ76l0wR1_oKx6IMb򄉌Ir>WV)24}Dii*4 3(D(P}F28HpPp "GL˄IU _? QLXISb2"c1awMu;P PVAEn6LF;>%LptJYqrh"OݗCȠtPح@GU+5ƎhW"aȨuaa5,}M;Hm_GWWnsy8zר@4@ cr MMXGhxTIpD}oj"x} }vMW7Cb֨U8V(Q*'.X qQ(_yֵ& SML/"Djy5Q5?w l'E8 l67WEU(s+'J^+[wf oW_E>Yj@ O&ѶOO<ކwv{9R_5Hiyaĩ1 j&b"&b"&b"&!&N#qC:9ÙZtHtHKLCqDL%ĥkD\;pp!!!D:01q0qf"&b"&b"&bb2":C:3:ܫuHtHtHtxt84LDL<2Lyxxxx8_ȉ8UDNDNDN5cD#;Ờxxx[Cȉ?NDNDNDNWhaUL2$%M8ZPEqu۽Dq}l ֙/nٶuOsqωcswE7]0PE#L5 HP GFOQ ,sܬO:OE}ϴ2(]pA|A}H`:HOcdZ?N d&p TZ@tB㉢D>#e[ D"# , ХE렩nqbRp!C֨&B-VrBIS]\("v W 1EhHVrV$bҺtH!NrtT`QYgOgʞϨ(q$@8b˧ĻyShͲJ[mB]=mwTdx-[Hcd#+'LAx=zr8+ DFkCVFu}3! ׇT]赎歜K0}қlGi[G@}}V0m%F^#j/hY8bgBIMtG;#AHC\:"CK%*,,{#PKo73lK;./GenuineIntel/GenuineIntel0050671_KnightsLanding_CPUID.txtMo@#Hl:3i 'DHK H7]lph;v-V^j(gsm5*oW6{x(vaop1.{k}Iz':ߍFAmW( HU^!41|y^ljmfv\6u2PS/dr ɽ &m8tDpɄɍ֎Qta:ຜN.^LAuzQIFNdi %JAqr(X&OG %w%1 RNY@ǼiB3s{ySRXf6CJ)Z*>Yg#yH"w^:Ţݕ)ˤ ZtTGקE jRz7/f; [Uެѫ dэ|}1MfmAz&Vc y"tb37LK<3<3-1838c8c8c֘cJ̷%hh| Mi /c)3OK <<hhhf+311˔p2 3:-A4@3g@3+:,-A4@d@ ;:-A4@f@ h)l-1e 9: д͞>hhhhJ4@4G4Yc)3'MKММhhhf 樨3pLK\\c8c8c8f9@4-Asg@s#:i W44@4@4@s@SZg@4-A΀=hhhhΊ:iO1111sSZg@4-À 4@4@4YhJh%h~ MiyhZɀ@4@4@4K4WAY'ᘎYcip p p Ǭ1T֙ui 9y l1T֙ui %e 1T֙ui 5u !ufi-mp p p ǜ1ǔ֙h%h h4@4@4@s@SZg929 Mi9hZ̀?lS4Tqg.2Ȁ Ȁ ȀLihZΈDC4DC4DC4K\4u{R4DC4h^hhhfϼ[h{   l1}2 2 d>d@d@d@fC|[hw   q_K 2 !!!3.> ͓3hhhh>]!2 ] l)3R4DC4wF4hhhf)3۫hh^Ѽ  MY-EC4DΈ=hhhh֊>i O22 2 2 !Sg-EC4D͈;hhhh̯hh~  M]yZhɈDC4DC4DC4GL4[A٧٧di Ȁ Ȁ ȜqȔ}n)!9#y   \qє}i)!%#e   qє}m)!5#O4DC4DC4DsL1}fk -m Ȁ Ȁ qhhhA4DC4DC4DESg!929  M]9[ḧDC4DC4DC4[L4GEZBd@@ 2 2 2{2u}n)!;#{   qWK Ѽ2y !!!3.>n)!wF4A4DC4DC4DsDsVOKȀ |2 ;>m)!oF4?  9ESg~-EC4Dˈ7hhhhR4DC4OF4 !!Yb 1u Ȁ1% sLd@d@d@fCsK ̃hhhfKK ,,hhhfkK ѬѬhhh戉3[KȀ lld@d@d@C-EC4DgD!!!+.>s ͑1hhhhR4DC4gF4hhhBY>s Ȁ̕5@d@d@d8dR4DC4wF4 !!Y⢩3!yeD"!!A4kP4}R4DC4hDC4DC4D3ff3d 2{2}R4DC4ߌhDC4DC4D3Zh͏hhhќAєhhh!!DsDssJ@@d@d@fLe9疢!3DC4DC4DC4Me9!Y2YhhfMe9ז!Y3YhhfZg2@d@d@fLi[hfψf'!!A4[P4}h)!##hhhAєhhΌhN!!DsDU%d@d d. s!Sg!3hhfMiy +#  )3!ygD   #^g>-%C2$HC2$C2$C2ddJͷ%ii|iif$$M$ /C ҌY)-4OK <|HdHdHfLi$ 7C/ ٧ iJ ͯ%ii~iif$$MiyZiɐAAA4K4WAyO%C2$yO$C2$C2$3Jf Jм疤A3iif$$Mey/-I4HdH H=HB^[if͐fEAA4G4wEZJdHfHf#!!Q2gP2foIA=CiiiF\AҔ%ii iAAIsISZhΖA939iif 1HMj)!+#dHdHdFAɔ%ii inAAIISZh^-I4Hʐ4H4H4#i iJ ͻ%iiҼif$ #\Qh>-%C2$H3JdHdHdd ͷ%ii|G 'M]$ /CHAA9㤩+4OK <<#iii抑f)(4dHd>SB2i ɐ ɐ qɔܒ4H4s4@AA98i giIA%Ce$ qҔڒ4H4k4HAAYbY+ R2$C2[F2(!!Y㒩+4{K #iiif-I4HsdHsAAA=NBs$ ͙!9iiiiBs ɐ̕5JdHdHdθd ݒ4H4w4HAA⤩+4AyeHI4H4H4w4uݒ4H4 iiiib+ ͧdHd>|Fɐ ɐ ɐL]$ 7CHAAY⤩+4AeHI4H4H4k4uiIA'Cg$ l1;u ɐwJH;!!!=.B[ifΐfI4H4H4G4e滴$ ͒!2iii8i wmIA5Cu$ \1Ҝfk)!-#m ɐ ɐ q%ii i4H4H4HsOq%ii i4H4H4H3ISWhΖA939G #UPh~SGɐ d~(!!Y)+4%ii i4H4H4HISVh~KK ,,#iiif֖AY3YG #]Qh!2Fɐ ɐ ɐL][ifϐfI4H4H4W4uhIA#Cc$ q%ii iNAA#2M!SEZJdHH%C2$C2$C2s\2unIA;C{$ ,qWK Ҽ2yAAA5NBnIAw44H4H4HH3WOKɐ |2!!!=.BmIAo4ߑ4H4H4HsISWh~-I4Hː7iii8i Ӓ4H4O4HAAbY 3u ɐ3%$LdHdHdHK|Fɐ ɐ ɐL]$ 7CHAAY⤩+4AeHI4H4H4k4uiIA'Cg$ l1fJdHf]24!!!=.B3-I4H3gH3AAA#NB3--I4HdHAAA3NB3-I4HfHAAA+Fl-%C2$e$!!!;.B$ ͞!>iii)NBs$ ͑!1iii8i ْ4H4g4HAAYb |Fɐ ɐ ɐL]$ 7CHAA9⤩+4AeHI4H4H4g4uiIA'Cg$ \1,f:JdHfYQ2$C2$C2$s%SVh%ii i4H4H4HOqҔeiIA%Ce$ qҔemIA5Cu$ ,1Ҭfk)!-#m ɐ ɐ ɬq%ii i4H4H4HISWhA929F 'M]9[i̐DAFT1x)Fn@Y10@`ю\8 >L M 7va>+9;)N,$9NXiu 2:/;,[&g9 9>'{<}Xl$9αN#*朥ũŎ2;.VQsrsriv\ΰcRw0KΏsLuuR㲴8 ׻9#jrt4Y:I)p|ԁ̲Cse::INsYZYF>-r|N\uzgy:/,gIrBN^rJ>KsYFG" qrIr|NܥN:0 }l$9!giuethlqbu媓Nr2s:m$'9\oaW:?nYZˎ2˨sY:yg"gy86KN~:(KyfɕuRgYZg,[Kry,W^NrKNuT0K·>KYFCϲՁmrth\qf˨3,[SOg/ҡҩNZ')uo'8|hlu69>Q\ug%[IrBNfygiuev&*S@~}9A$M@P9vH},Hir.?}ԏ&|ש9Ռ/_U~ojo ,{򦈰WIŮbY+cz][o$?/.ŵ\ d*c-|1UROl(CE05mFf:Pp|2=()f6lCfP23D$+KdPQOt+c*s-Qj?BYeJt#$T\6R-FlBٽR`B, %3;rM;Ń@,ɇE*<BP&l!)6Ѐ獔R2l0yP8W}kb=WCpUzE*\pU\yO\A *\pWpU*W\հMդ*;uUzM\p>UW?([:q5NVӕ W*\cy W*\}^4;nW&c W֫\pW?jbɞ5RW*\:]W W*\ jU,ۉ7_U Wopu]*\p?{矹ڊW!ǟr5ړj^$YpUz;[ypUjZS%V~U W*\]U Wjpf[ӉeU W(W*\p)\T,U[RpUz*W*\p\&uvjb W*\UzpU}n]sV$\U*\7>U W*\p$iO;qI1{\pVpU}]D㱮fr\pWSUU WjչUNuuN隕W*\Z\trU W\$9N\"uɧVp\]ٺ W*\_E0hU W/py_*\p\q3WKC7 W*\\pzp5-9yj\[!+p>ա>U W\zp"~jMVW U:n W*\}W#KJ W*\+VW*\r*\Iq)-rwU(\pUWh⦹WG%U WϹD W*\} U:>$n W*\҄pW?*\-EZ;q57 \pU]pWsk h2qW*\!W*\r5UZ4ʼnF]2\p5*\pU/!&~vudS+U Wj6>p\{3W[q[S WK1g:q5OI~pZpUh] zp5 R>p5)3n\u7 W*\k'\pRWS}՘폟Z-MK\7 W*\m;/ W*\} WÖkWGaWmi6 W*\ս*uW$ip\*\p1@qpMrdǶ*\pWgW*\rUj)WkPjp \])z W*\}~2Ws;uUz{ W*\mWSM\pV'~[)|jW*\-=M W\&zlpwմ{i9 W*\USp~Uj~$svju: W pgJ]-p>Iy(~ W*\N W*\}RWz.:p \U WjUzVĕ끫p\M3G W*\}W/͟jҳp\-o W*\}~].||jKpUz5W*\r\5Wǡz\pUz2\p>W?8Z>pUST2wW*\7hpU*W#\~AO\-U\ U W/pu*\pU&#~IOU몇pr-U W\p:Wu*t>ŕ*\pW[U W_j_lWXWlǽ7^ūxWW*^ūz5^53][^^ūxxw}ꈒV'ZS«x ^5{W*^}֫~%WϽW*^ūM,ixgZՑeO>dq_ūx:UW*^{W[qMW^"-:ݳZArUW =^ūx~վԫWmTsWO ^UWW*^ū̾*}5I)>UJ_ūx=^ūx>Uw߫xu^+qUWjUWG{jW^}+eXnr=k^^ūx&^ūxYW^O^-Q6~UW뢯UWjīxղɫIEU֠UW^^MxjU&kiUxfīx>UjEw`KiW*^ūxu+xUW ^U-W*^hWjū_xJ֜J_ūx}W*}uUtξUKVH_ūxܫ]Bxgj_xX8=VK ^ūxUg=UWG{֫~%y+ZOFݫW*^ūW*^}֫UW?jꩯ݃UWjV*^ūxY^ū,pNxlUWjU2iPT̗}UWUW?ٯVuz5*^umNUoU}xUZUW 򽕓Qb:~oeW*^ūuW*^ȫ^jWuUHۧꬫW*^ūx*^ūx#^׽WMuI.!uvoW*^%W*^}uWu8%i.ݳ«x>*}UWW5O};^ūx^ūx>UwݫxvK&*^ūxuUWUjI}K^x:D*xUW^b0e=@^*}Uj UWjUj)U"~yx^ūx>WZt4)+ƿUwëxUīxg?*}u.3S_u]2~UW *^ūx] -=yUtUWUWjūxuT eW-JWUWSKUW_jP~58^u WgW*^->W*^}֫WدNɵ~.]*^ūxV^ūx>UWjXb>yն_ūx6UW*^}׫~%||/` QUWj/-UW^ WWWbU:xUWuU]]jLU]{H6W*^ūsW*^ūz5Zɫˋ_]*^ūx=^ūx>ՌW?js(G.=*^ūx>'_{wnCKDAԢ)rߤZTeMs~(eAVUW9ϟګ2rz{Mf_=z?*^ūx.^ūx>W^:'k_V9xUjUOīxW^«GN3d*^ūxW*^ūzU?*^mNšդxU *^ūx>UWٯ%WLǫxU^ūx>WyUt.aUW*^5jUWjxuTY}W]92*^ūxT;^ūx>Wjzx՝-dUW*^>W*^}֫ޫx"|[feUW*^+UW^-x:ue W*^ūㄆW*^ūo jƫWSwUev: UWW#UWƨj«xr3^drcUWyUW{̽W!gzWxWxgx^v 7Y{W*^WW*^ūz՛{L=3⃅W*^ūxuW*^ūz5{.^]E^ūxxgͽWuM,6UWj3UW^Mxڋҭ*iUW*^MeW*^}֫~dn^U7*^ūxp&^ūx>ՂW*K1_zV2W5*^ūx^ūx>jU}RauqǥW{x6Oǫxg>*}xѨ ]b=W*^}}W*^ūz8WKz_mW-W*^xՇ^ū{7UJjUxՕǫxgͽWCYB/^ 㨬6Wx]«xg̽W5!.v1uz*^ūxܫGUWj*^Sŏ/^)ؽxUWUKxg>*^EjU-GFl«xUZxgͽW+NZrUG+W^ }wW*^}֫ܫxU|38 W*^ū1ύW*^ūz~Uڜ$ͫKxUWsLUWj«x5p7n'qiUW*^-agW*^}ի{{.^]l^ūxr/W*^ū^gY5zU?*} xUWUW (y\5WUWjUW^ xi*s4*^ūx&^ūx>hU:˒vxu,mUW*^]W*^}֫ܫx՝Smdt W*^ū;W*^}׫]en^ *rU{6'7ūxgZ>*Uǫ\Dk^ūxU UW^^ūiWgng^ūxUxg>*}Y=$ݍ{YxU]xUW«Wh?Րs,W*^ū3W*^}֫jUڒūz0W*^ūx5*^ūxYz{Ӄ\.[y{[xUZ֌xUWWCVOKv>^ūxf«xg?*^M]F>$S W*^ūݷW*^ūz5}U$Wh«xUzxUz9|^}WWItLUjxU:KxUl_-x1ūW*^ūxu*^ūxYW㒺=ֶŹ W*^ū;W*^ūz}UͫZ1xUWϜW*^ūz;gU귟Snjp8^ U{#UWjD-{j^WSR,^ūxU~UW*^:oW59eWu0+^ūxZxuW*^ūx~WjZZԛWǫxU^G^ūxպcW#^5ײEW;ߧUWWSUW*Usj[h=f9W*^5jUW^xޫEq%xUjRƫxgZW{5W$-TW*^5jUW^xޫ{Iū8I$ xx*^ūxY6jU,ek_UJUW :,W*^}իWR|(7jzy[xU 8G^ūxrJOo~Ud~-)aJ_ūxn^ūxYW=^tNvyhsW*^5IC*^ūxYJ_^z UϽW*^ū^W*^ūz5~UچիIW*^j1UW^Mx-+pݯUWjUW^xޫ-t)mW/g>U x^ūx>ՂWͽvrt?{dם*^ūx#W*^ūz~UZdj^xUjUW^ūUtNoW*^}W*^ūz;jUI3^4E3}UjUW~UjYK !W*^ū^=*^ūxX>o?*^UNqj ?*{Wjx>Ujx5W9sëxU̫xU?n֫{UQI;~u q˽=^ūx«!ƅW*^}֫ՄWꪗVxխ >VxUTUWjx5UW{vxU^ūx>Wj2WkIv:WW xUW+^jNxU '^ūx>W)y`IpW*^ū^maW*^}ի}U$^r~*^ūx*^ūxY^ūISo^I =^ūxW*^ūzU{}y6W*^ū^]TW*^}֫WxUC#x>gīxU޷ ژjxeNjW:xUj^ūx]W^ū)v }ܫxUŝY*^ūxYfjQ4Y6 UWUWj^U-4Wx5N«xx5ԕ*^ūxYVjUͫa«_ūxƸ&^ūx>ՆW]\gx՗(UWWS_yU}\Wë^uK\:[˽^ūx«y«xUj/=%=qg%W*^ū^-{W*^}֫}uNjUW چW*^}֫Z^ūxx2*^ūxYFjūCdrUWG UW֫ _U>k_]RJUWJq|UW*^ez5U{jPs&sūxUnUW/J_ g׾zD xUjǫxgZWk-|Y%_*UW3^ūx>ՆWͽNvZ;J*^ūxūxW^ū^.%m{UW-lxUWմ$^M|UWWSUWǫ^V4.^՞8_^ūxx5*^ūxYJ_[WWīxUZ*^ūx>Wj߽*W*^ū^mu5W*^}֫ {UGr=*kW*^ū^)W*^ūx?PKiY7./GenuineIntel/GenuineIntel00506A0_Moorefield_CPUID.txt0E? ݬsA`W0C֔a_oVix۰ga6}hHa|ВUaxWw~\Wex5@ȴIn^wv7޽-C!ird-&{0( ae>A޲)Az}= * )," T' P,FU$=2SQ]FZR &Ĵߖ<'F B,ҙ}80 &I\JsN0&7ݲZ!V ȋ!a*j.n.˰)H`C ĵ%ng]e)"KXɀ;QgąBuPKQ=|>5./GenuineIntel/GenuineIntel00506C9_Goldmont_CPUID.txt\RՖ0}^[Cwbrul%QcK9e ̃`r.1QSiΎώ{XD$,08ߴ궉{٪Mqrot RV6"L7 0R7zZSMQ`6gx~AYFZ@ (&9.ɣl%ᰝ4乹fEXou=|ӂKx:'^F4rpEy8 FvKBRˡQ4Ϝa4 _Wt0{&5M4y̪##ޏd.psyϹPEaY+?"K+:§PoH1FDV0]ФAXm1:,dt]0Ԩ[=kb5uf'hKphF, +mwIxAx+y/"R2ć`BKgoJ@~Tw ,˶tW Yf޷?+4n'Zg .e[-pLd66Zk5k0&F9x"\lMMjR7: )6Em#=IRm. tN2;l U~W\*w nI+@54Xl6c* b8ٍȘ ێJTfNMΪ;RӈB/U.,D 4Po$kbaӌۈY!ZhrKbL*[\n-79ح>Q&g0;B~ldZWƦi\q<hzVP:FFՏwly#qTuN&}mrs."WꢨvDn%R5|Oou^\k7,>/YW5UV7^{qjE6y+t ԊWj7Do]+~4wA7[Y,ś-lf7[xwXӳś-lf7[xSYyэEzx?"6qGG?,^y|z/&ayYn|x9jtwϙ`*Gc>/3g/jr[xKsf+/>.G{8F{־"L)[zve9TPKQU"B6./GenuineIntel/GenuineIntel00506C9_Goldmont2_CPUID.txtlS s^/ʧzݹmRȏ$kOUuDTr®cgFm ^j.Hz֖9V}73ew`߉n2SDj^G}!'A0" 6B=C,.8~c l)r.ɝ3YVsABPg-/8ide8 =6JnCQ_s ݚ5?;8>BHC'ЏgE,g/4uki8f*W\QSҪrީo, i-ڗ!A RW5eL&8=iZy {(F VCBd# 2yFLGeV`Ӯw'% d%KJ6t2ExQ& A&>}I\FU4)B!{ GTw'N;9,"R ALpigBp}hb*T  hcZ:Y8@`)zE銊>ºís)sE ܩI*"X+Bf,PZ1rzzF`FpFalFUq021 {.mpЃ*H(NF5 H*Of䬱H=Ya8Wl9@0ɂԨ*"9EnjDO7ϛȰy;ťW kUؒK6y(V *&=ʤqfKc P%E(+&ߎd!AHjZE (Zň#bĉRTbċZ4b$H#Zň#|}tE{ P{o?:j6˾߻g/U߶Y..oY|GGOϞeYZ oc(XQwT7V6~ÿ|@e;/ZDѷ  D :9*quO\?,n,K#fIO;ea}{/ݸ\ 5Ze=׭$7moWEb\O ]+de<-PK1[`Fl38./GenuineIntel/GenuineIntel00506CA_Goldmont_01_CPUID.txt*GCŵVUhtn&쬻gAfc 85PSG[)<)7Oʣc7;Ŏy>@Vֻo;;bQ]<8*U^;F_{c*r縙눧uit' +Gllg@hq,pyW&ʴo0(⛴iW&rׅ7]:uO %`[A[@9}wE=uد@ͻLHqu@q0n!F%#)q'Atv:d@yu\K+u8 w#tm QQҨ5g/ۈ=Њ?\|:= ܍MfV]fT3AQ8:?=Λ!Z_CSʹ  -N HFݦpyq Q5fqyV~ .OJWƚnКkڟI3<\,WGh*fmz3P\@-@ @-7 Բ @ @ @evx48( &GZI+j's4LkixCv9;7J aU?jqCieU J8%D;7gHאG{Y ߎh:MpG3f$# 4JcZ/du PAh_{8f7ߚ|HG.Gb&3!d) Ț ;'U`gH +d9kFx9=B\彧 ;f6&O#")7$Xct}ft oljPG:z;.aɺC"z-ƸHbߏ!IpCfLA>=Q@ {Tum`TI9OU sbV1- eue[]8.]HʡʙaoM`Uu<Ί1BDG|H<{GaI71Hp>x,~rcP ry&Y#RA52?q" e7D7nN4]KR0KFy\ r(="JH5E۵O$ٸ,.*ȔQ=d ϒ uOI*tXK" ? B`lt*UUTWi]et*)]\%Jt*UU?Ogwq]쎣@ZHr6+ԡ71s_)|ּ&.Y/pw3ܝV/FCO1yPyfqg;sPKxpSR2./GenuineIntel/GenuineIntel00506D1_SoFIA_CPUID.txtӵ@PQ q3McH7IXW>xoW/͎1@7k[Z2H._jlm p:&[`ny~P[t[:qg-C?VO 0(>eA"YE)g*V+$CoA Z4{񉀴Y7r%I>oyx~wq"Vr"PKK Q4./GenuineIntel/GenuineIntel00506E3_Skylake_CPUID.txtdSMo0#F H:_!TYV{&.xql$-_!(U}7S~?md8)e8շdn;je[3ן^fN%{?FDz3 gHH5a`\OgB!0rиM2^LN_,;xڶo`ZCpU-ַOIml*fq<4]*m+ՆCں6K1o^p^7o('CYx%i3h76eCS+534jf+nBb^"t`'.޸l׶>]jε2(N`i]yTDM? q Bzٿ_ #HzVѦ٣O--i1{< |Yd~U$.QGswHFKR[5AvBP4DW(d=JϵFXeYWBa5=3Jd/psW;r83J7Č&'| fz%0 ]W}Pnpzoۘojrn}Hk-Umk"tu jg vud;ȁ"2V1*U"z]3IrJAmr0\C悡R0jٗT_qR|;+E1Ί9/L_lPLbSKb1n'6CAȽ  DJTD۱anuP]Q-c8FT&Qa<ȁJe'f(f-\:11sl:vlvbɹX+t5,f<Ǭr\U>^1 NG,))c=vAnDc<]bJ[Ǝu<|Mo>jqJo8h ȻZ"͍eΪ>AM Qs4C M ;<tQLw#%EnRixVT,W‘D>씛F՛[wRU)/Ty~ֽŽ).cݩ/?q'mjnErꓤFZP9hOo)VU;4m@1tɹ}:NfKk1jtmn DSm1h֧k`]ՇX! l/#1=H ]r;HM"7_M (xuDק͸fx!űa^.$2WC_K$M>nAcu`'uYDb-w6=L=dqSj^~Ⱦ"v:.cA?ڜ u ${O1#qwŸ&F6\# 5@X]D(xՕ@@DL]12bV UF0XǸrP3F32 YޣvGpU}$ .Y4s,6ӥ8³b7\jhd#s+j)d X ^{f#5BFG&m D%>},lH[6YB12lgrmڙ,AfaҮiDda@2A S8Z ( ؜S$:b̒eadU# d{Tsð8-Ƒ-Ft@hF ~q8 k/ry eN#1m|}Sz7",t8i]ɍOwBgd?QrsU=ߞ+d|(pÛ{sS .`J8sDJ?'{'`@Tv}e&q4n8-͌5xr] ;9yaj|C8-qZ<|6׀m{wU]?_NG+I( (MRdJ>[{gu1PJわGڦx> 'X,+ ˎrb乤0Hdޭ}ze2bX,+ ˎrb*=6y5X,# ˌeb}6$qa`9\Xn,g&2jAt[ Q]Ooڧυ3}@VȮ2˅DPKy 6./GenuineIntel/GenuineIntel00506F1_Denverton_CPUID.txtlws6t;Tl۝;~8KVOȣyeX>R~0o# 嬁?7a WJDixpV"`[SЇHl1a:ϕ <˵‰;>iDY͙nj7Elmb!rF7~K,w7Ncv0N -+I5$ԟ\ F] .EJ؎ l6#x`BvuD;kg=ˍgk+F7ypR0۾Bn3#lK RD#ɐQ/>\厖EeXݿ)dGLB> nu[SP`^߳ XTXpQ3:s\—d xbT6F<>e<ctSXzC  m:߉iMэ"]6ʵ'$8!D 'bjsO#bxENJnkAp h?⊖xg8/ Ga JZ-%eRzrCu||;J˽۝b(8N"b߶ɶoS((@JVPgK,$ytMB (EMڎw|&L”0N []8$ ]U*x#WȹږL%(d"Y Y2/SVP_whU}faPnI a;4Q{cx0TĘUŤJr7Jg.6ԵYUdT]:)+ňYZC"iRh9 F؇eƲZBZ /w+Cqœ&i`U9ױu[uvMce+;ݣX*ŹGhhCyHcqDw֧ VN򝵹\"X"8g 8㬹g">h=9%0p "nsѰ;V?Q?E¼%P]I(L9G_'ߟɳ/NKs=2_OշoyG|/g/zs*=C3 t^y|6d.dgme^N+b]wϩ VLs;B˱M;3KXXXrpαM˱{Ʊ;r,r,r,.9v 9vpɱM˱gƱc9c9c9c9v9vpűM˱WƱr,r,rc99pͱM˱wƱc9c9c9c9 9pñM˱OƱϒc9c9c9c9r±/6q,ǾǾKXXX+ث˱;2Xc9c9c9c9r±]Xؙq˱˱˱˱'S!Ylɒ작 K$K$K$K#&Q!Ylɒ왑!K$K$K$K3&Y!Ylɒ앑"K$K$K$K[L[d=]$KwF,ɒ,ɒ,ɒ,15v,>.N$K$K$K${${TH%E$f$dIdIdIdI[܄Ž GAE l´"k7®v#d&صn vcM[`n >p;a8_e/`` /URL y#Wֿ?5ixd,]2Ǎ;縱tю9n,]yK8wqn';_ǝ9.8q?:xl,]Xħ_Տ???n uǷ~T~ q&,Ԅ&tCTl퍗^F^Q~ {&Y8~] \ u~NQBMt#E1Cyȱ?#SŠH7֌pm42ٛȹY򈏣T$O1rš;RzE W~T&)Ȋ8MxX;*dG9LyC9!;Y% ӥ ?`$힞N"ۤwGsq|hiLPKJMe 3./GenuineIntel/GenuineIntel00606A6_ICX_04_CPUID.txtrpZ'ȍ@@ P{ARi" ) ^~

F@Tj72_HA(BS@ {#Btf,_#wYݕB)nknPyDYe]d릷^;Q3wՈ,6s#84^"s-[q'5140"&1BA|pf(fMgzݝ)G#`[;QdrDvHb u!3,}9%_&rrh%_%_%_%_ K+|ɗ|ɗ|ɗ|ɗS///'KKKlK˹˹|ɗ|ɗ|ɗ|$/rri%_%_%_%_ K\+\|ɗ|ɗ|ɗ|ɗ_e//7KKKlΗ|˽˝////|y%_&KKK_|ɗ <+_>|ɗ|ɗ|ɗ|7|ɗoŗ/_%_%_%_6K%_WǗ|ɗ|ɗ|ɗPK h! 4./GenuineIntel/GenuineIntel00606C1_ICX_01v_CPUID.txt[kH KO4aS4M(ZGMERN/WcY;bG0>xn0b6yz x zR_¸<>:>*'_bxWN f6y^71\oݸn: a:H]0i,ћjPO鲺Z94"G98a K]Թrs!!L D(Cy"./b cNǽ&ΐ7t9 IĽ_@bd-.]oLj2K]Af''H}$fi>~Cʌ@IYhQmU`5J{`@qk=6HL! yMI,na͸O }qyY)UF\쭢#eB ?_>Xi{mzvVsdCu&-W1dn(\` `z&k\]zh}> GιU1}0drc&L(Ok}c 9ѐ9Kjz7}}/Sb.ʘZHLkЎ--G#ag٧%}A>ٺϾ] L3M@&IJe4A:@r,HT @?&lOC<%Ct2"?D='3B[ɈHqnuƴJYݓF l|Xm\ʆRRXA0J Q"GAȐ =2i ^&w!18'eQ&1pӶ݇Wm!up|tAд\U OH٤.d\VpQO>. Z v'jZnp渓[4׶}=_%K_%U \C?vR  SoRt|LИS` ))4S` L)0L)0~e 'tPBD =C PJ@ (%PJ@ (aJ =a0"SSL)0S` L)0` zEO(%f&J@ (%PJ@ (%zX#ֈfk5bX{LjjYQfٽA{@+CdDbX{kX#FkcPK)h 7./GenuineIntel/GenuineIntel007065A_Spreadtrum_CPUID.txt0w1fRffӛ'b/|=6qb`F^{jg׮tWkL;7_\'à Pc(bh&ol񖄀x_NqŤnR8MPݻ}%,¤q kY %\* /Z% t l Y`i&%N @5X Jq(zMܸ%nad-qEQH[Җ&kR`(<,Ntkb;]i#7''oq銞V>uO:gmi iϭ1 9& R<J PeY0?x (- PKf$l9./GenuineIntel/GenuineIntel00706A8_GoldmontPlus_CPUID.txtokFw(@ jm%K905QsSbzO_r$a vxF+[X g1\7.)LooVWھ!,ηo޾CeWe79`ޕOwyv ozuml,)_X{҉P `qoW|e#> &TDiQ6 P)fi HU!11HOq )C`eo $'MBܛD1))P֓Ҵ6/CPp Q(JAĊ ѯ=s6PiA  ȗvE!4N*FW^XW,S9qQT(6.,i H}gLE|FT+!}_$ggFoQ7ɴdfBrIA9L؆#sd:`X(cƕZ7 SV~ U,,h,VEUjNFzaaKf`u l[Խ U J0uudӀӰKX=ڈUybPWqNX؝B}O~07͉eeuIF'$JY<=X؈j9JlFx 'pP7;oGwT HyERP|6}K߽ta=IOғdfFWrZ0V)&ׅC?)MNKQ=DU`1hǚ-v삕/fGlnEЌL+?ccOfC k']G#C?PKN׃ :5./GenuineIntel/GenuineIntel00706E5_IceLakeY_CPUID.txttT疫6&>f%v^5=,F>ܧI~H| +3 ~8ww!gw>϶ h)Crx4z/u`(E}ǻ5Mcvjq$Tţ ꖦ hyKKs['p=}x9e$PFe:-@B0~ Y8V;8ٙD|F 2uF6259i&iCI^]U\mhAЂ|P^ZyP*m"A [| BjlL<pzxQ~aD҃_Y )!nB-ƬY֪ԫ{>#GZvTWUZs+8AHx Xo);ֲuVTH x7a<+4ce`Ô⤘ş;| "X$=duFΧ;Kɚ\9_^ShZz`W2"jىpL,Ӥ`?8 #z]AgY kxMHT:aUՠ127 UUa.U,];cY!>g}@n޹ZAt)"|K%, ɒ|on@:)AG Ŀvt\v!iÖNxY`z!g!?]Md! YRD+:'$h?o_к>tKHRp&usPb}نFH1c$aGoxC@-VXl91}XBWQ/&,\a+{,Cz/3>f뺠֙LvPƨV{gk9 ^ky/}Vq66mlc%(1Jm@@&Aɕ#H>PH⠾hHNpcl MDD? RWݨ2*{*TfTՉȖe"گc-?XHm$?D`#Mc`PXh=B'm,v$' sir@F wKo!|nPpP|  nI B3adUS=yj ($6+t:H߼|v͓ ˡjsOu5eHUQpUCZzodӽ%<,٧qj9FXE0JLR+R ew%ܺ=sdw%lx`۝$ad|kc dg18{iJw9tc47>%En+}h8>HfOElӰb4 {KYF 4y %l3L0I q x郀yƘv5&,nɰ75KYrKZP(P=K"ARjÍiO.![CiRƻmk;jJ090BR`|EnZc)sgedRd]2$9o@@!Ch*#k엨Ư[uὕR*_.pR߼yqѭ߻Py6U`x6UT(=mq6mNid#n%ܖ.Ϗ^}wځf0gJ .ga- $6@liz 6`l 6 s@H @#$@H $@#sm@6`l 6@c.P@1 a$@H $8H`\`l 6p@6`l 69ee\DH $p@#$@H $5G[`l k.6`l kl |*[Woϗk{H>GˁOc<'=2M|:Ը'ߟqOB7F12Uf_6i{Kw`^-ߧ}z}E}?/>߾'|V&3v"#LL8Hr׎߫/>UwII6~TPQvQ%xVO2*a/s.@ISAiW<'kMIm"Ǣ*Ihn y kz m @"f"oHZAg#(z-_J e'1#;B`]@$9#W QZiS~&W)8 XRBZFLLD3_ Qx_@R^ ,={rNDH" X3J.I\6~1Hړ|uIř lc;f69%(P28@Ocx[$Mdw2?ZV jY$>c i=$W$${AdG D8停XfR 5 7b ecFQ {뛕"V&8"H/ٔ)[[gW[;L=0Kvir_Tc+pTx7>A'X8F>8(N Ge>TCe>VC^*O hX`a.AKQKRWDPKFa^d6./GenuineIntel/GenuineIntel00806A1_Lakefield_CPUID.txte83؟.v23ח.3lS/Iy#rTU5=y[WsQ=oG7ξYB9cGֈSƉ)l^wO/?4//':<)Dj#* C?*0*BBq QBHCHL I2 ݫ>=G4VDSMThjr!5qkhեKZ^uFn]z8|UP+"bF-D`9(hLuuJw cpval@!krHvAՅuX=plR+Y@++"V _?D0ʦmTtyJaݫa»I\ UϓھbO !@%SfoKьJF[w߯1~ģsf)m5IC:1wƨsdO:OꑉGxQxqz <5n"^=텟NǜFE(k2^^[ެaidwT8~ I@ է ޽{5nos:ҧ_{vpe_S]7P{Fzhe@.g" LLL>!uV9-.&,'r,erd-r,r,ˉr ˩,Ir.b9ar,r,re %r,ʖE,`9X`9X`9uYN7aln]r:8-YtAkPPoe7(gL9P.[r٬@9P.Zr\(lx-uQqQ8SHP(?a0։@Guq,D#JDJ8nMCuZV'k\,ӑ2Rs}.6\`:<ε'ݹ(%kwg0 =e0ƶII32|1_7J[QPn #9 9ĄBٺˆnCPfD~M[64B15v :fF#SH-.r]<0n E&a@J)v (JX@ȍKb $"t~2^4xphOiб#53G`hWVg`[*@ԑ;"D Ğ#(Լ@\o!@P <*\,]Vj[D W2:&H2$zsFMfn2HNFoR$بD]ȼhE:1bkʢkoۣ7  + d.*&(Fp?kQnMMMMUMH>3ۚ T4 f.E5=4=4=4W5 rHrJkfY I5>:&]&L[uM͚~3׻д.@Fִ]6^(PKFa^d6./GenuineIntel/GenuineIntel00806A1_Lakefield_CPUID.txte83؟.v23ח.3lS/Iy#rTU5=y[WsQ=oG7ξYB9cGֈSƉ)l^wO/?4//':<)Dj#* C?*0*BBq QBHCHL I2 ݫ>=G4VDSMThjr!5qkhեKZ^uFn]z8|UP+"bF-D`9(hLuuJw cpval@!krHvAՅuX=plR+Y@++"V _?D0ʦmTtyJaݫa»I\ UϓھbO !@%SfoKьJF[w߯1~ģsf)m5IC:1wƨsdO:OꑉGxQxqz <5n"^=텟NǜFE(k2^^[ެaidwT8~ I@ է ޽{5nos:ҧ_{vpe_S]7P{Fzhe@.g" LLL>!uV9-.&,'r,erd-r,r,ˉr ˩,Ir.b9ar,r,re %r,ʖE,`9X`9X`9uYN7aln]r:8-YtAkPPoe7(gL9P.[r٬@9P.Zr\(lx-uQqQ8SHP(?a0։@Guq,D#JDJ8nMCuZV'k\,ӑ2Rs}.6\`:<ε'ݹ(%kwg0 =e0ƶII32|1_7J[QPn #9 9ĄBٺˆnCPfD~M[64B15v :fF#SH-.r]<0n E&a@J)v (JX@ȍKb $"t~2^4xphOiб#53G`hWVg`[*@ԑ;"D Ğ#(Լ@\o!@P <*\,]Vj[D W2:&H2$zsFMfn2HNFoR$بD]ȼhE:1bkʢkoۣ7  + d.*&(Fp?kQnMMMMUMH>3ۚ T4 f.E5=4=4=4W5 rHrJkfY I5>:&]&L[uM͚~3׻д.@Fִ]6^(PKpv6./GenuineIntel/GenuineIntel00806C1_TigerLake_CPUID.txtlTQ6~G? k' KQU5-D(> 6r-{DW?ؓxfɆ`M) H X̰U<8p kǻmp%3Jgi܀糐;de4V'ɨƓpieYd'ny =z[_ة1E4Ư Yϱ-d+ۛzK./Brc vMcM|Zy:t^H]O L$G̊%RL5"ABp-堩=wuC`B?#H4Y ﬷ m{ V%7c@%/0=Cɻ@ȩ;nN )0$;xjŒ mϯ~f̊dlM&u;a'X|tGՐ_M gՁYtu}=yx]Òfb@/a﹄ nthۺtLL; !n\h :!l c/>JD1G=EA9CX 5X@ #--ib`|*z h#2m߲IOkę86̚@@c`as5XsMTŤRfO$c!ͧSE9]S9o}t+X>xj߾}yq,`r t+1X\[nݐv9Fa73N&`73LNfa73̑Ҏ { z}d[op݀ΑL,vAx_n>*rys?)o73 0qfn=yzbǃi_q%߾߄6s'Gy jsU+bXQ\2xh*yZfJ b1;ILNݶ63rGλ$Mv^"'yPݼhH g6"_HAr$`C $/'3@^ze@rRho 18{x4D.;f fz 1e,DhHZtdGlF$۝Ǥ‴ZC!,T MF{QrV )*0\|yfK$<^;8y\."̵QMѭse!vUɊ y1j]cTG1J=<z& fR}l:R6vw dYӚkĐըoZ{"|k(3. RN6e>.lm28@t>Ru/qY$&,ˤޘ5D\6Bu6%рH./e1.XzLCjNX9 Iw1XYS;WwqmѠ4bl+eIa5 k q3[}Eq-ETR CwVC]8?vb,E"Ѩ"ﳈ3`,r"\c53J֜Hъ3|")"X`,E"?"\efX2cV,E"Xd_Xo-`,r"\HSPVߊ"WX`,E"X`EH,%3/F{E"uC`,Ei"+oa,E5.K ɗ-E䘋qﺗJ?s`,E"Y`EwʎA~.{xmm<Μ_;N~|^:>9?zwak|j rQ4qxဖd#zTD{G[4Qxvlu}r*JkZU,Ű.6Jh۠cS:pFŀ¢;u *h|Gje"{'MHBap@.4?3見΀πππ////o|-[|={?~ЅoY@.' 8~{G}N"= Я>ǟWMs| w[j,?ʋ|czVe?u., 'ӿzH<̳<s<< <#3,<+Ƴ<'s<]Ox4lJ$2j31ZYa2BS~—v=ZʖyϠLI((s#Nn9q֠4@c!eڄ3HE@ "&eBپ0 —7O['^LXIgc)0KI P "RL25bl_nCջp;rC pJD 6=c|H}3&qy 16X&V‡euh|][#N,{N|<ˮy< y&Ӏ"PA|,TW^ %f6t9wmv³0Ci(H?'4TksԦ|= IpBGP"T(8́IedjF×JqrosdRC!Q<3(A#|AU>'@Y9sfi|LCf&"D7(DsO 2NRH,*?J']@0\Vį +Ylnm Vy6YZ^-}] Mܧ/Ǯ= CaJPգڶ9Zm[B&3GRԗQMS@5P TSTSjjB5uAͧ`iXU,ͻ4, KҰ4, KҢʠS@5P T*-jԲ'QDeNT5ƚJhH4@ETWrb)tU %joIdG"̎$lI:3$n* a%Hl$wYfG@JRmw䶜8DKNs4ps9[y2G@t1Ov_`>lmP`k@g$%7 XBBH!%+q)qL@p,M5^]|Mf N 7!J[6H~rFW/NG)&£^~.^\W88B/){*WJK3k!y;-OY 1TyiX"uh<щVG+J Ӛ՝2E*4tvHF@)$N J{&E 8|<$$zHR\$MC?{%RR%(}RJ Q $lLzr%2@HrhT붼.®Tqc0T(XfeB Q )V(ꊬ ĩ]lHVp:D㙗}Sh#no\6Ei'B7lfLNG{`@)0}/zv+ peULKLUWXr٢o2?Z빻E`=V_!L]^ 2J6M^GPT*1sP NT2z*e>WZ Lf4x}tzo@q!(H%$= $O )waVHI8$NYtD$eB "Y̳":ff{^r߈e^lf]ɯ*oD_&b",q@Ι#]xĞY\YؒKDgV*<w'I|g&cwg Ğ -PKzf:./GenuineIntel/GenuineIntel00806E9_AmberLakeY_02_CPUID.txtgFߧ|IkV% +4\/\ڧNX@ ={u@<[)b5d|4;,?=pt'/_UKylg/{i{~gO#xO7^|Ei{:B'YC]J~x>=G|+˃4T(ؘAF&Ml%VH`#NAq 2IXFZ"L^į`r( zJ';V9*tm'el'Y:HOZ:e+]YJVpcȫ'QX*AD,I%ҕHƫse}+⷗Qu7&D&kn""_!2rHDqTGdM!.^1@"Yb&c"fl7b*,M{-jJ:GI]ikōUrNSl@SP8&+b+,1-n2m0Q$ܦj`n#^&(c" t ' h; =`QPuFԿ;H udU¡'eQ5Jz{:&J;8?M$VBWY )X( aRZB`cl@eH Z/~z*ZeH*t!j3(TkƑtf-K2IleO'y7t0Lg47BM焖w*EJmjD'F  jA8Si L%*)4OI@C RA`A`$$ uA`D єdTyW0G)q1H6  0 $s#D? 0 PKZLl5./GenuineIntel/GenuineIntel00806EA_Kabylake_CPUID.txtMO@{z/ۧN %FЯ__;C5uWzcXLy !Tׇ ],ߟ#Hһ N yxcFp.b1`=:V mZl/*[xsPTd$(s#Nn9q֠4@cz!e𐌚5HE@ "&eBTD}s'V@wc)0oar/TXXGuR(Rbb[g{ aWabu{ QDTڐAxS MŠ Եc>8n+6]cemJmxs+1alLZ [*nr?L&ܣ2>B.ӮӮzgwM]햘UX ι7#>م>F'𪼩g'fFm@bZsXIAmP & BAuPP3&SQV I(spyw,#ڄ %ˀǢCkBa4r-x<*ix"Qؑ ;7б|ߴ[P_sAl\ G7-Jю8P8ڣGQ*{)pFM=u٣ ś;aǔ=a)nyAv2y{sdwu|a.b%}dy#St;C#8p4&M l *B*+mԁykķqz%j-[tGv'-DzSY ݈~X ` sRJ͒q +"%n+/ ĮDYNyAHߐ,"HꚘ!56eg ?3N_ )>Gljf$IjEї7QU=YG%$ Nll@H4+w j %,W$H1N߈$ ;qBOdޣJDÝ0l|dHUzĮ @_bOW 4oޚYNdrZ(J xG}#ݑvI$ DwCMRH@&L9yވY@ H5֜2#>d\[#c3 0KIrZ}.KtH8\NdN2L4e d9&uʤG9l2z8;,.@\ɖ0veO=D6 :yTY 'a[Qhvǯˠ*k@l@ 1bHDxJuD|M$L//oO믟|q}gB %(ߨ>L޷ݦ}Ԋ]cPgc ưf\̳$*.(b]DEWU 5E,QU#nŸۛ'k"ObM/?瘝4&dRIe욆!a@HW"Gx/AH_x]'Bg7 ;hhp2$"S1 I{ &d\(C#r`r JCAC^dtJ{Đ>!E? .h4:%4h`ȸ^("jS$4%PK]Y!>./GenuineIntel/GenuineIntel00806F8_SapphireRapids_05_CPUID.txtg{(?Wf@mW)IJ*FG˼̊z&郧73^{*yz^xbÄ<(%aUtg5|+%Yuwn~$2"H(*S)!s*biryX7׷Vͤ~Ufn |nm1l`mÃxB.HI/@ S1t3 D^?So;%Dhr{6hB|L7t>LScLތ0 )WA; aч@ N׍LxмPcJ8v d0W)1[Aa"✱џ'Z+\#gڑY6P <@ђSqE0aE4$+lXBmcHdFeX b}EBtz$h`Қsa`< GN0QhuƳ0@&`gjJFΧ Ŧa`3^q̆,jxO7U' 5#;ht0aG@~|JwpK(urc%+LS2 L_e\#(6$צz6SI +qz}?cXO뮺3`=eSО4)|$ Mbnm𛵟v qu]-pO9نetesch4!5@̏4:6ވh񘋺;@GV$->sd(GD AI,o.vh+QEC&6GwH,W.Ǯ}"r+/xOSuqZsr\jpboרv埪]A??;|]]w;|wỒwʈU;jG]]vԎQ;jGvԎQQRvs |#|7;|w;|9%;|&#%Q;jG했-ԎQ;jGvԎQjDnIvԎQMFwk^w߭[w;|w]nݚw[#-Q;jGmԎQ;jGvԎQjEnKvԎQMFw{^ww;|w]nݞwG-##Q;jG펈ԎQ;jGvԎQjwDHvԎQMFwg^wߝ;w;|w]ݙwejuDuwva[na;lvalw-'a;lJ y;~wݽ;~w;~;~r]mmDvveG]a;lva;la;l6=wygWw;~w=#~w a;l^{ue;lva;l+v/l]N[nhvw;~񻫫;~w;~ﮈ]~51 +v.-ە)veva;lva2خLal~]^++];~w;~W"~Ww9hsDvWvyٮFخve;lva;l]]vdfw3w.w;~wnKwuj2n]^["ntu;nv܎q;nqq;nJ V^^[#v<x<<jv[6nv܎q;n]W"nq;nrv»<<xGox v܎u#vv܎q;nvܮ;v9nmwq  xgNx<^W;#w<rxvݸv܎q;nv]qv.n7.<=xwx<^WG xG-#»v.="nv܎q;nv܎uuG܎qnwݸ  x=x<x]'x/%S#»v.۽"nv܎q;nv܎uuW^܎qnWn\xw< <x<]WoՉq;np:q;nv܎q;nz]nW'n]NnXxW x//x<^W++>"܎qnW#nWv܎q;nv]ݮFܮr;nrv»<<x7Gox vKnv܎q;n]W["np;nrv»<<xFox v[6nv܎q;n]W"nq;nrv»<<xGox'QtoͷݷoRvߏMA`c'~ H&Sq?}'ߞ"^-gL5cѳޞM|fz3<-nLtjF0Hzd3xg zd3&ix葉ķ}ơG&z=ɉ{ӌ axQ.c3ޞI|:e,zSoǻCy{g\&8ђNͨ wILtyF/ǻALt{$>2=2v8Dg\Wg>a^{Y6_H0e6E^T?f_/4􀯡?{V>§jE8efH3 S Azeyhjyxo)p00\ M{cUXQuG.d)Ұ57QJr.n0)+1"ne&BeC+5 Om# /)M<'+#|i#m0ҟ 3&${mz)Ϳmf%f  MLD,ID#(Ԓ.BY[3pS(H?xIV̀-FOxW(+ʭ.UH-wC= qB !}/ 3^2!$UJ"8 i4AC-'=vJ4UA ړb=i%j$X5k<c"W@t"F53U' n"O *=Q́;rw^*HQ'Lmh$Hz`=jw=J3 x#A,|߱ 8,1٣XXD/7#`E%Jc1Iޓ%x7jj=xjf!hOdZD$O(2y/A%"7$I{[= =O{r.2&SMUޠ$VոX/]( {V$,ݰ!AH(r/NE' Fhqx'z($ߏޑWVJD G/?eԣ;ۥ4 |3k̮+`hiTl[{Ƥ1 F >Nv۰wڍvhf.9&_JG/Be,t>l;DC5/1#f/ح~_藔k_%%=~0 M?%C=89/KJH"X;E1%Hz/ B/ Bg/,=ד_-VGk}?%cgwYa~_/ BK_ *xKj5'fl9/Klc/KR~_~_/~ 9Fi qwRe~}%D,[Pl/ ^=~E~w%/~l12(?~Iꎾ8t̖~_藷v/ B(P9Z'dZfo~/K0GHA,#"I/ B/ ~s #"u%^ B(Vݻ4J2_~Q_~/G`p K(4<!@ C0L0 ? 0u1c=FQwQ0S,S=F1 @0[3R+ C0/0yLS78& 4@s~N 7SUQ|*C0N0 '0GH5#)KU {%7L~*0郀!`!`n`~0#ddb3`VVT&Z3& J3-z*0-mb!`!`X` \`kf{QXM0_BV2*rBE;R!`|I !`J<ưck(z(F0RE5^P !`'d?F<b9h+ؿ)Hs:jx eL0[ C0J<f"Ġ(:ùTI:SH#fl C0]/0 CNH :;0Qn`:)-O0 C0,0?gCO٘#*v 0/[OFrΘ30Kꅀ!`ۀ0s"=QS7C0rILr*0VVw!` ^o!`&0πY"w`<`M0|20W?>vb!`!`'gy* Q C$134}*0ޡ!` V !`3`*dلyofwSmm_ GnQwekE0(0 C0 L!X'԰~)`  yNkJ=0=} +0 Zm0 S )0g5?!< 6/8ޭD!`Xn!`n` 8S`:B,0 lzB9* C0ڸ !`X`yLs:vǗiM/-!KFҰ>F:̎-!`^ .u C0,00,0 ZbAm~0 ߁ٻ-%95Css!`^ 2`!`R `SQTt3ZgyFYi)tz$V!`浀6`!`y $ȱ`޾ayS00!`!`n`~0yLVТ?49"`P$]ghkf%`杀m0 G k!r.0{l`!`ek9`^NQLU* C0!`&`8-ѥ703pOX` A~0 C0 C00,0džftpE0LB 0jZ0 cC0mgdt])|#%3\Lj0|>\FX C0e0 CL{ LU LAk9Cs C֒}S0+FON0 W!`x6`0,0½s3rr 09'`8`*kB]Aq 5~B3!`!` &!aH3`44 C x2bᭀ!`" C.'PKԞo+9 >./GenuineIntel/GenuineIntel00806F8_SapphireRapids_06_CPUID.txt炛8_{]$3 Fpno!˰G 1dVxŠ.zwqxTbz}]{8c7n͠]냺z cwWnwA*:QZ2rRB<^,Kˣݳ+eMw-mnm2wA!0W,8 g,2٢9!aT8c}Նxƞ\yƄaWgQ%gpe1NgOMچ&r&1b׆EVNd:J{"^ĝ7"#d{{$A| rEiu; ͉X7UI Զ,ks!x7'0| ifè=L!l_:5X?F˄T FGvbg Tl!;zrf<9BsS$NȁGqvaqD"Woc6jYa6ճ]\T1hQS2`@4w0~,^M Wn;1R, #y\Da>9ڣ3LaL]ޣB*Bi7 ,btsE a2֝=zt8F!Ca` a>\ԛrL"]w,ʌ7 6s3;HKHE&5+ hy%z""F#ꄛ"t CMo:<[a~'0 *p&J"DY%!hjۿ޲9ќZ7\sycz}J.| Ė+vcp?Pe@8% :=^n̈OlmvJW5Ǽ:XQ3UQ1SvcS"Qͮ./-hN+QؽEG[< G1ܴiMڹ6CWw\76Ͽw;zWJD wn;zGwޕޕzGCzWVv5vu&A;hvA;hj*v.%ڵ1[ZZ^w޵޵zGw;zGkk);zׇ(w=/A;hzLvA;hvuh]JnYwnNw;zGw{DzG;(wG^v;vA;hv3ݑv8-+wg^wޝ;w;zGw3ݙRwאʋvA+vvA;hv3]RvCΫwѻ;w7w;zGwnSwlC|8wO^vԎ={vԎQ;jGv3ݓSveL햦W^w߽"|w;|wW^9;|WXyՎQ;jݛQ;jGvԎQ;j7S{T;jG]Sw}w;|w3ONw!;Wo^vԎ}#jvԎQ;jGvԎToD9ՎQ;jtw_~;|wộ|/';|!U;jG]jWjGvԎQ;jG+[@ʖSvڭLw;|]]w;|wỒw+]ͫvԎQQ:SvԎQ;jGv5v5Q;jG1[Z^wߵߵ|w;|kk);|W!+ۊuvخGخd;lva;l]]va2vKݞw{~w;~#~;~]󻲢ya;lwDva;lva#vGNv۵A[μ~;#~w;~w;~3;~va+vLva;lv]rvndw;wLw;~wsw󻶢=ya;lDva;lva'vONv۝lݽwLw;~w߽"~wkvvaw3a;lva;l;'a;lA[>y;~g;~w;~>;~]n_ya;lw&a;lva;ld;l]dww;~w_Nw1;e;l]lWlva;l[ꖓvmVZwD;~w;~]]w>wvWvخFخd;lva;l]]va}햶w-wm;~w;~ZZNwc~whw=/a;lzLva;lvl;niwn>w;~w{~^l;"lwd;lva;la#'a;lA[μ~;#~w;~w;~3;~6wu[l"lwd;lva;la+'a;l -mww^wgw;~wݝwuʊve;la'?a;lva;l"|Dw6wK+q<^{q<8xq<^{t<8^sw7w;|w/wNw|}:xqxq<8x/qONxcV4o^w}#|w;|w}#|ws6_^x"xq<8x"xqk׶|k[ږw;|[wk[ږv ۭw;~]]w;~ww6wvWvخFخd;lva;l]]va2vK]w6w;~w-w-;~+]vaa>va;lv=v='a;l -mw{^wgw;~wnݞw}va#vLva;lv;rvndw3wLw;~wߝ;swkEv5va;lvWl;niw=w;~ww~^l{"ld;lva;la''a;lA[^y;~k;~w;~^{;~ݱ ]Vw^v۽#lva;lvaw9a;lWni;~'w~w;~Dwuʊvveoa;lvala;l8ۭkw?~]^Ew;~ww9]]Kv} ]߰va;lvٮov.'lw%w;~w;~7J w.c~Vv5va;lva;l7j*v.'۝l5~]^kk;~w~"~w9󻾢ul]^a;lval#lױv9gunw=w;w;~wnw)n_l]^;"lw`;lva;lfaa;l8ۭkw'w.ߝ;w;~w3ݹwϿK*F. Og`8 v av0B0g[,<4:2ōq==x8fzr8guvOpF+ތ_zݓ1GD &Za~gz`3B8qHD3J:qxꁉ~ъcƧp(>'N}WMq;qp11#Փ9nj{3Z>qQ|N2B'0Œ01}ljcF&ڜQ׉cSLVO3>D3F9qHhuiۉcwqF('=x~g<ъ7wƧo$gQ:тf)nP<3R=0R3z`gM&:1wӉ}WFcwF'wsF)^O=ogM=~gNamXeM r^: 3Ha߿jנؾ50yLx|2] %~I~~gtV&ޘĖ#aV׃G"[ Aエu{x%>d=p$k;^\}E +M.+xwMײHZҖ9V NJS)&ChVrmD8cs\T^\@ޤ o7'};HzPO$2'haW2 dfI\(܈FOIF☌j ʤh!mU'$WĎHPmO.:-w{4Mr1,q %R[gokV0Y܉mıɲ֍Bn>:"wb[&^Ikw P U vZ'Y(;a9x ̎Vǃt;%$n{,=I@ YV G랁p@nY|3r mޣz?zT$G@<c zq<>X<=ίd@`*w&l@4˜srQh3G"(B1ytN"y+b,5Pd S!<*I\Eڲcz,Iur[,ő5[CfHFT~?J]ۼ~F$|rW`'WʨH⁤VuyN^uJM G>=r . =^TZ3iH-$ AK@2dr{GXǵ(:@sTFtIC+6fwTDuY[1 ~gzɠh7H(Mƕ8k wo2B+~|__<Ы3>9l8/-οA/氜Ou ~_ RK"/ "&w%|fŊf~__t ˩~_Bk3~՝~_jw%^~ )AsX]`>Ź/2e9Q_~iuk B/y;2u~D"6ͿpBPRۡ~_藈RKzD]r B/6ʝ~Q庿DPG%@K+񋭾;Bğo1]B/K]#~IS / Yw%οx ϿXt_~?KHuUĚ/ B$_rω~_WB\gCc_F2E䗪/~yK,BݚZvXc BD // D/~/+79K}b_/~ykE~ ʡ~_~~_CKow s`*=um%#~? 93[Hв0!L0 ~ȺHKH!`8S㭀qȦ[?2 y Bn *EQ!`BC0 W:fs1 l!`ax"3 sC0LîL!`L0>|5_s0p8 k_`Fʡ!`fBK`j&`3ݭ7'[%}YJJgyu!`ҏgkX}I^ W!`HdºL3!!G V$WV?l![IfYqgJFu. L+0 s(`*x#)!`X`Q$Ql;tSs旀I[H{&!`3SERLv& 9ci0|H L/Xr `cM'y=`̖P90u&n|BF00do `j:`xHqC0|BVnL Z̅ښ0BFğf!Ʋ=`ʐ90 2.S#;C f%t+`5`ť'dCDϧ Sܢ){ !`Hd:\f# 90m  sRʾ 00'`\ %[10 s(` R|#Ii690⟷&_I +V>{ g`wrAj(!=`BM -E!`LEs^&gV `[Soa -广_s(iVos`EU!`LÊ.#8&C0gl!k J|s&.+nL+rCoDm}\a0 s(`J._Y`w&s]`-Yg`Ԉbp f`L)T[/01xȒ!`NBK`4!`L?Lo#`)0f@Z0Bຯ-}W_'J C =^fg0 s`J0fJ97'`~V`<UeP.> 90ƼL}0!` i[o L1k=(0!͎Zj%~&J }=MH!`)^ƞLI CL]0lmW+^xfN 0-90 %H05`C鑀!`3׸0AJFAq0dtL6KXc0 s,`Rv `g!`S0A(=`X`s(!`P;4~>!#`L$JN;XU905L}0}0 s`Ҵ[]D) Zt0g`Ts&#`Xh_= 9f Y0Z;0!4A;0c]AwFתA 90˺z0Kp0]w @\8}Q+J0o,0D/m 1g!`N)_ 90M˭7w`f. DU3E7T+JaY OO0̡1fw `L02V$fC[-wye{g)C0u0!4!`LmV(Ub)K:snj30m1D!`rDsSg!`NL׀yO0y0&0a!LRѣty#`|M5L)C `Xt `0!Q[S.CZWEsil9 鄅+0҄!`SSkCɎ!`Cӭ7hWy_X*iyaC0ԕk3C0gw&  S35~FH ;g`B/Ub!`cӺk׀&D0&z+`s]` aK<CYbN=C0fd׀Y C0g歀7sYm٧;0SpG0o*0ey`%C ." CQ`[of` L3#;oBF0)j@lQ)~DX`Xxz  `0 sJH\KCZ!ˮaI,0o'`,D%x C ]Lx0,0 s&0+\q_` "+05LUf4TBF-Ȩ C d3\F"` %`*0*T¯X`7ZkǧFs C ZL~0:9UnL&`)0VlB})&1^Y`&H+=`BS90 C45`30 r+` s !z'1, 00!`QU=rO!`z0`!!`&0j Y k#!+tiz#`1t=`Zur,`kgS\90 Ch;B|5cq`,cyO\ڛCh,5`y,`YY5`C)!`(#`*0DK/0-z#`&]Kf(g!`g]f>u`[\X0!V#s?ʛC ,fP[;0 ׀Y*C0\V0ՂT~I?/#:& !`y !`(0VD0y"DmwoӜ# yM1\!Liv;0 3Ӫ4L"0 V$D:d `"/f`30rh!` f| ]f$=0 c %`.SL3(? )(JkW`"CC0L0m>%!`0.0ӄK L."FSle M[90 C ``V0 V0kHs0KZ&p&J]} gX+!`UzO&/;0 C5oL%` 0f_|`F94o; - !`L%`> C0uٝB\Ea?,#VH05P0 |qI`4w`o#`swi~i5 ܁ޥBZ;4\"\tfBz|dOyCi%b1}D.9VKO4<Tk4})o-忣KHHKq},\KbvPbASbI+ℌbɤCZ;!HEhjV=ӳȰN=D~މv(? = 0N"re-ppwp\N\^\vppp;WpW8PK 9 ?./GenuineIntel/GenuineIntel0090672_AlderLake_01_LC_BC_CPUID.txtdws8O{N!\uK^ ll]y\}` ExçJs|p|0|&hmЅͰ90f,CkxcB%=>c͇ڧ k7s|e1_{1} ' fRI bXgiy.4<JHdOT!&Eẩ~S.@#EJL`뜛V3-BUiVAz ^^{AEL*H5q3[T@b6&˥P] PM;+s `T>i~ܾmPS(P^f>͖O4K W-Y4Q9)VX5ƴYΪҞS\b}+OBHx-kZA_,h*{:Ssgal'0 x14w|ӍW~<_ߔn tk$l5LjrmwphbTI0k:f^eIxkӄ,}Tc٬Y;r(/3r 1nt̹͚e8yݵ(9\G}s 2l0jmڜUB Jp*(BK J?>sT٨_ٚmGпnyIueӇb,U{C`S; lnyY&σL[jG@~v ;:\*.XD?mB$Z,03!Ep.@&,V6og&(nvuw׿ߦK 唧LMگEHh-do{^lwGNGq\*D eN6! I"FB &޻^:zT4*(bXC {=z+)rlY17 (&ENg*n%X4Urx3g (&a`1ǖpJ8Nh(SUscfN`b.*ߣ}^42yة3P!}"ӊk0dwD*nXdO:n>^v(o2ltЧHDɼ6is4<2XQgffؗ`~ЏPU˅6<8$/0{)H2(FK-A9fOxbxAt $ņABIAYVP6K@QQ'" /5W$Oy-ʋm~0{x!x@n:Y}hivxs+=_:;dk e:\GQ}|&³o_-W@?x߯.t\g:;ݳZQM 7IS:|˞N Ҕ ?;q q QR7བྷι26@@oϗcLz_Iḃ|?WU&Q*CeLL2TP*Ce 2T&ET&2TPܥ2iD10$scii0c` 10ƴ4cVS0fDf2TP=2x2TP*Ce 2{DeUUP*ST&OȤ+20b IL_10c` 1)RIVd` 1>9I*2cUPQ*2TP*Ce 2T&ETfي 2TfR2c"""rc1-1Td` 10c`L`̲c`̥cNdTdƪ 2{DeP*Ce 2TP=2Vd 2KeꄉL~"c`L-c` 10#lEảLV2TʤP2TP*Ce 2)2Vd 225Ɯo14E4怌 14Cch iY7#Cch I}3u$#3e #,s@G`,e 2XY#e ],MɔC24lS"!2>$Cch 14CcJ$$S CcJ%,eL%,e 2X`,",nI`,SX2c$$Иˍ5ƴP14Cch 1-1dh 1>:Q2X9$e 2X`,eˬ[2Xl],&dK2#4&ujL17jVߥ1Ockeui!A1僽F22A1(ŠLIOO Pܿb>bjbkO(s`bߜ_C1} rJ@1q=,qۯo+DK%!%^e|m者>Y' *,qb}Kq,%GXK` ,%DD^%%iKq.%G\Kp .%DD]%{K.s .%qh\Kp .%".\Kp|s<%%~c-h\Kp .%hh˺\"Dq.%F\zKp .%\K\#.q]%% \KpK\Kp .%_%%3\qKp .%#.xKp .%\KGrrQ×Ͽy!>hR>X~^`lFdiDCvIʃ%六Si RΆƊ3 D)GKON|4cEFdiƊf;$F-Rޞ--GSN Ԗ-G)m9rؖ{[Rn.4ng߸Ac*ߋ{Tkв`T%d=B2Pw__=D"y*sv3:TVtðukre?#_ y(9($\X2$ rP! 0;I!yA\.S5LGG2dN*d8GQ1Ff~d>gt-䰅A!]w.s#fRlX adt{ &^!ɛ; @VQ!xhw:8FQ eVs A,qxBً#3TA# ϤRgRJ\ VLHJ" ~xC!uJ͸&D Iُtlݠ.Қ; *RR3-ΣG,zF֌& ИB"`o"qEM8rT7p G>rb b$ 2W\8IYs'#'wCFxй8R!S- 6SQH~XHy#jI'$9(d=Ex3G*e@H#c$u (=$J=YNYN<#)5]P!G5Bi^΂Bau.rLjXP!MBE!<)dm{w+K PxD;a<r휒#cPyAqd.֤ nANI~2BEMy"ϕd5UUr1](N[Ebj7 )=(%d~EJƔx %cL8SJ)Jiy9[qsԽUSRMJN)!pRBJHizQJH )!uR:,u/֍)&CkJI)}2)q%RBJH )՚RjŦRtRBJ SL)tؔꔞkַMɨL,!)zRBJH )!RBJk %VSgJ)"#)y✷b5DS⦩O5ޤ?RBJH ) I )0_RBJ4~R:tMRNJ꒬5صCRjI))%oRBJH ) wROJ )!%RFJRUHIl;)"5U'+M )!%RBJH )TPSU)_K%TJPIJP)U)J%KZJHjHh=E%ިTT S *A%l,7R *-"TJT*7JUemUM4 ':L%*1W *A%TJP *ۨd7owͅ,3672H97_ܧ LI6)|XͰ6f}6f+a3l{v”,{iݞ⶧24S7g s︂@EWTB`Kl4+1T4tYYYYU37K0K4K2K6W@<:Pgu`D'rͫԛt`Su:pVRu:0m:@t"KLu: Qԁ:RsGS`=0{t@W;R@Ng:@\]u:4QNFDs;^]rXP/u t:= ί=Py=Qnv,|w@ fEܸIM8^P@qExP")P(!yHu:@:gu`L;f6u Yp;u:@PFN9OGu P (м2^'nPԁ܋:@6DI0u:ǣ:gu`g3ڴ/ :BݤPPԁ_6 ZsG7>uPPkV r0=SIv2[8A{ 92,on|:1yqrq^a{jї=XH6ηW-԰67,)T_n'F$;`ڊou XwOoGMy51 P5ku43 z0M4BJs!嗮EwnSs>]\$R߻*R$(ߵe`M$eߑDJ#3*7>E={EPaJ8}Ìea2ѹ4wX'Dbj_.fwǎ[Y&@l44̹,+a^ r]bsVJ{9=۳s'*ڳ=r~v's !.k/p8П~9ą !._$pp~~"s*,ף@<Ye }ܞ9 s,+~NZga}9u09iyזWk?W|<8Sw{Zӑ^e^yEWFz"Ŋ+XQNJ"w,Vc"V,#EXbEջ6Oc6ӹ5߁wi'u., 'ӿzHgygyy>gxfgxvxntƏgy&gYy69y.yy>xFgYxVg9xNyx^PK 9 ?./GenuineIntel/GenuineIntel0090672_AlderLake_01_LC_BC_CPUID.txtdws8O{N!\uK^ ll]y\}` ExçJs|p|0|&hmЅͰ90f,CkxcB%=>c͇ڧ k7s|e1_{1} ' fRI bXgiy.4<JHdOT!&Eẩ~S.@#EJL`뜛V3-BUiVAz ^^{AEL*H5q3[T@b6&˥P] PM;+s `T>i~ܾmPS(P^f>͖O4K W-Y4Q9)VX5ƴYΪҞS\b}+OBHx-kZA_,h*{:Ssgal'0 x14w|ӍW~<_ߔn tk$l5LjrmwphbTI0k:f^eIxkӄ,}Tc٬Y;r(/3r 1nt̹͚e8yݵ(9\G}s 2l0jmڜUB Jp*(BK J?>sT٨_ٚmGпnyIueӇb,U{C`S; lnyY&σL[jG@~v ;:\*.XD?mB$Z,03!Ep.@&,V6og&(nvuw׿ߦK 唧LMگEHh-do{^lwGNGq\*D eN6! I"FB &޻^:zT4*(bXC {=z+)rlY17 (&ENg*n%X4Urx3g (&a`1ǖpJ8Nh(SUscfN`b.*ߣ}^42yة3P!}"ӊk0dwD*nXdO:n>^v(o2ltЧHDɼ6is4<2XQgffؗ`~ЏPU˅6<8$/0{)H2(FK-A9fOxbxAt $ņABIAYVP6K@QQ'" /5W$Oy-ʋm~0{x!x@n:Y}hivxs+=_:;dk e:\GQ}|&³o_-W@?x߯.t\g:;ݳZQM 7IS:|˞N Ҕ ?;q q QR7བྷι26@@oϗcLz_Iḃ|?WU&Q*CeLL2TP*Ce 2T&ET&2TPܥ2iD10$scii0c` 10ƴ4cVS0fDf2TP=2x2TP*Ce 2{DeUUP*ST&OȤ+20b IL_10c` 1)RIVd` 1>9I*2cUPQ*2TP*Ce 2T&ETfي 2TfR2c"""rc1-1Td` 10c`L`̲c`̥cNdTdƪ 2{DeP*Ce 2TP=2Vd 2KeꄉL~"c`L-c` 10#lEảLV2TʤP2TP*Ce 2)2Vd 225Ɯo14E4怌 14Cch iY7#Cch I}3u$#3e #,s@G`,e 2XY#e ],MɔC24lS"!2>$Cch 14CcJ$$S CcJ%,eL%,e 2X`,",nI`,SX2c$$Иˍ5ƴP14Cch 1-1dh 1>:Q2X9$e 2X`,eˬ[2Xl],&dK2#4&ujL17jVߥ1Ockeui!A1僽F22A1(ŠLIOO Pܿb>bjbkO(s`bߜ_C1} rJ@1q=,qۯo+DK%!%^e|m者>Y' *,qb}Kq,%GXK` ,%DD^%%iKq.%G\Kp .%DD]%{K.s .%qh\Kp .%".\Kp|s<%%~c-h\Kp .%hh˺\"Dq.%F\zKp .%\K\#.q]%% \KpK\Kp .%_%%3\qKp .%#.xKp .%\KGrrQ×Ͽy!>hR>X~^`lFdiDCvIʃ%六Si RΆƊ3 D)GKON|4cEFdiƊf;$F-Rޞ--GSN Ԗ-G)m9rؖ{[Rn.4ng߸Ac*ߋ{Tkв`T%d=B2Pw__=D"y*sv3:TVtðukre?#_ y(9($\X2$ rP! 0;I!yA\.S5LGG2dN*d8GQ1Ff~d>gt-䰅A!]w.s#fRlX adt{ &^!ɛ; @VQ!xhw:8FQ eVs A,qxBً#3TA# ϤRgRJ\ VLHJ" ~xC!uJ͸&D Iُtlݠ.Қ; *RR3-ΣG,zF֌& ИB"`o"qEM8rT7p G>rb b$ 2W\8IYs'#'wCFxй8R!S- 6SQH~XHy#jI'$9(d=Ex3G*e@H#c$u (=$J=YNYN<#)5]P!G5Bi^΂Bau.rLjXP!MBE!<)dm{w+K PxD;a<r휒#cPyAqd.֤ nANI~2BEMy"ϕd5UUr1](N[Ebj7 )=(%d~EJƔx %cL8SJ)Jiy9[qsԽUSRMJN)!pRBJHizQJH )!uR:,u/֍)&CkJI)}2)q%RBJH )՚RjŦRtRBJ SL)tؔꔞkַMɨL,!)zRBJH )!RBJk %VSgJ)"#)y✷b5DS⦩O5ޤ?RBJH ) I )0_RBJ4~R:tMRNJ꒬5صCRjI))%oRBJH ) wROJ )!%RFJRUHIl;)"5U'+M )!%RBJH )TPSU)_K%TJPIJP)U)J%KZJHjHh=E%ިTT S *A%l,7R *-"TJT*7JUemUM4 ':L%*1W *A%TJP *ۨd7owͅ,3672H97_ܧ LI6)|XͰ6f}6f+a3l{v”,{iݞ⶧24S7g s︂@EWTB`Kl4+1T4tYYYYU37K0K4K2K6W@<:Pgu`D'rͫԛt`Su:pVRu:0m:@t"KLu: Qԁ:RsGS`=0{t@W;R@Ng:@\]u:4QNFDs;^]rXP/u t:= ί=Py=Qnv,|w@ fEܸIM8^P@qExP")P(!yHu:@:gu`L;f6u Yp;u:@PFN9OGu P (м2^'nPԁ܋:@6DI0u:ǣ:gu`g3ڴ/ :BݤPPԁ_6 ZsG7>uPPkV r0=SIv2[8A{ 92,on|:1yqrq^a{jї=XH6ηW-԰67,)T_n'F$;`ڊou XwOoGMy51 P5ku43 z0M4BJs!嗮EwnSs>]\$R߻*R$(ߵe`M$eߑDJ#3*7>E={EPaJ8}Ìea2ѹ4wX'Dbj_.fwǎ[Y&@l44̹,+a^ r]bsVJ{9=۳s'*ڳ=r~v's !.k/p8П~9ą !._$pp~~"s*,ף@<Ye }ܞ9 s,+~NZga}9u09iyזWk?W|<8Sw{Zӑ^e^yEWFz"Ŋ+XQNJ"w,Vc"V,#EXbEջ6Oc6ӹ5߁wi'u., 'ӿzHgygyy>gxfgxvxntƏgy&gYy69y.yy>xFgYxVg9xNyx^PKS* L09./GenuineIntel/GenuineIntel0090672_AlderLake_02_CPUID.txtTao08i_@"4)F-"v%9es&M;T%|Oڭvk. {AQGSeRo !n)_Clczb<+˫rEQ sPov] $v&hU;ׁeM&|q=z Džhح D9#U(ϨyVZ39B cv9j0p`|k:Ox)ꨚIJ>? ^=Hө}cYzkH}ui!I ㆬQP-GƩadOk+w 4u{I\7b`T(w;WS6~9ORqK<gW(l_,][csONDum0мdDz:i3g`qOÅQR b|nX5Sr@/NAfd%][t^0.T5cvK%@;]I0B# -Pdg_ʐyx:\AD G3AL,_b*M&zCg[+vuFUœ˩˩K +_,~PP$UXH+ɼ]F R ߐ5/h#V]pEK˯W k4jx7܎ò w566_#pgx:T Xk%W%㎊BWQ.fygV 7%U]z IK(̢Ct BD`0p-$òΏEs3YC)Lam\Q'=#6LYn۰eϑt,wDm +rEbYd9F=CV;jtrz;Oh !=r':sVHKowa } Yt5aJ8Jl^<=dz>ē+R R aˇd22P fdC G7sVz6]* l'Z qGzFxf_"J]pFBƓ%D=0U4/*Rb<@t+8@:`!4BDB Yc"}0@\CTyF1 ]"vcY}Z>TQK*S _O{x!!FE0#?Dt Qb'QX#z} %1$(3a+OX!bT QdKpiϾa,Bd6 "xt4I+MM辶⚖}MӤG01pF J "~⻶Bo ״h&50Bp*f=x \BcionnhM˦iR9GQH0rKlzHVMMi4MjZ5\p4mh7CӮiii5YM3j)g@njiizc5mIM˄YJF"{XjM7M7Mom1GO"qfM;VMMiw4/9iqDiiiz5yAD*-iػi<<<}cNwiҵ7u꥽ORʥnֽk_{Qe -7?A_һs[Fw~x~z?O/ci1hANᅲw=NnHrN)ߡRfzd/r^u ʡ}Cͣi?;wX atK0!fH0x jkS?~9r)@N5 j̨ܿ^PK/Pc\.ϨQ/}$B @5jđ5nSq@ 5H5u5j@ 5ԀPjjT5F^SQ.;TS A5FF_TjP A5ՠ=jP W59(;TTj$U#jՠTjP A58"qP A5ҪF̩FݡC583TjP A5ՠUcDTcU A5FSC5IUjP qƝjP A5ՠTcj#qϫTjP:}j<ՠTQՠTjP A5jxDTW5ՠmN5;TT5ՠψj<ՠTjP A5V3}A5ոJ9HAU&ƩmESJo7/eXٛ.vvdQ,M2ʏ.Y\|q( 541s 9ҥsװ{5(\#nU:p&x^C 1Z!%y 9:Yj`zaYj`u'"r< {%ŕ@\qqI q 5䯳Sgk~B.p)+fu><'*_Z!Ge}_'ĮX-!뇀%&K9*)jut[7aPCŒu#z"ljK՛WlqJ #͢)JjVH@UկWEh**XWcƿJIjLu/Qѐx .%؃sֽT'EBbHy<%n67>"MJc#}e@4$]"=|! !KJb1ڬW4mhIt%†kPʆԧ#g!9W;g>+ #2_n'b7QF5{+ ć,e s!=^RskJqjH9HlRаA\U#.D#N"-C2A!s&cs逊"0&Dm C; y~DJ=W? +c|2 Qk ) ̽!qH~()3vF݌Jt-1WGym,ċ7D7/gbIIݓvB Y\\ (Ct!ND閘^8n R@QHr"HM>[biHٓtʨ?}x BWL+}ĔH b$G_+w`^Sse)gCޖ!"@ѐ|"ђOk403Ch&>ͲgYt&!F!Cl —(3g~ !ROQ]]H>K#C'X!J&C].ٻq( O@[֖#U(I& 8,Xs9u#0&L}kn@!NQyBаʓ<)ϩF<3v^]nyw^_ )ɯ$^R {)}Ji3RR̠N3,IIí,>3RJ.|e$")RR+"J ٪(%JR(IIR(%J)PJMɠZҨa'T[)ݤ#%>ucql#̙O)%JRBȔ$OJR(H)]7%A魣ר)YC`-CRguܻH(%Ѝ-Q D)QJ %(k4R*R@>\Ī3R_^"%E>)B7RcΦD)QJlRzLJ R%PJ!%JI5-ƁnR]`m*IӻPHJQgXPŌ͑JtW*uT"H%R(TzJhR˨=)J coT"X֐S%p>ERT"H%QT"H;P_RT2Q[mnjGVUu *1T \6T2:D;D*JRpuT"ZsėR (^M6TcLÔU^U:|I*e0z#oʪ# D*JN:*J#R;JGĪT!g̼RB3"|*&F*J/J + UV%CPRT"H%:*JXXHTRR*U#ȶ*ufI:UֻU1~hJqW KbZoU"H%R):*J+%RUT:J2* f,-HqVPm^f6dK|NJkc3fOYT/6ml nk3ڌ6ʐlFͼ6_7`Nr6Dv&푰=H-8nO8((jQF K,yM jtzp$, e ˉ䰔԰HX4*ߨ(R^ 2vE95E:0Qfhm:ԁߣ YГHVQԁku`JxFMby0דu?Q^&;Y{C_sh'ӁOB?VwN`ԁ{u`Axԁt`u:@pku@4nᲠo3rm: Fx;T )Q'W:Pԁ#a<u@Iԁ/ c΍}EpOm{tvc:eANyaVmѲ{;@P:u}:P/:pp.*(1өӁLx 2f ̄9s1Gr(*=ҁaڑK6u:pBx~aQ!QfQPu:P/ց5 O>1uc˂9EE2S4{ut:Pr:u:y,PԁJxXE`IȄ$Y0u@{v1,Kp5u:pPާz*u:xznhy%@PPKfލ9./GenuineIntel/GenuineIntel0090675_AlderLake_01_CPUID.txtrpZI0wf 0@MHk?]K$APT"}؂B>J؜/%;Pصl[l[Al3t?%W QG2=0:=G ; yˍA1g{^HυpMf%WpA.9:-.isv1`[IGSA%X= [^35 JW$gJ>Cyd rXJCV0~:6Imd&@W$]#h;+I/BAq=RN-w(̤:RmE@D}>FԒW'}T>3饽>G(uQ:Q-u͝G Eyz.u:6lU6aY={ڞ."zA4=Fabtw%6I{4;%4H.쀒VnL/ }&_ (+hqiM,(d>B64l$0 WzߒoJJ?^~KJ)O)}Qϖ~SWE^金+җeJ^ WzI+#WzI+7lҿ%oJJ?^镾%oJSJW(+}OJߕ^~)+}OJߧ^~l镾*+#WzߓSJJ(үP#)JH^鏤ǔ+ҟ-7TzWaJgRsJ^/WJ%^~)+RzR[?[JJ?^NJ+O)B^韤+#Wz?KJPKE Hs9./GenuineIntel/GenuineIntel0090675_AlderLake_03_CPUID.txtg{8?_sjwf$@.9Dc])z_F Dz;3xmG܄{[Fp{GUt?tt+,JjanNe7]ʍkR/1(a"0T8*ݶvOq9tF@$DکM'nAvn-XpAA^AHM "&lƊg[=_}M@i|5@D$_gRR K&v&~Q% jt%K:S4B-AfV[5eY0EmG`i4OD r452JQ']m731дDtVCT,kMB ^X5EMHC cqVCufL^1uG4 JS*(Wflާ`$W̦׽Q.7.C7-D upI?aKmaBwv8< #{#ӈ"P<:\9&\9) `Vq}ʔ}7huWH@< *7%.1"k>TD ?ꊢ/:z,՗+X!ߐpaZ^qPrRԆ*X ˰kYa7p8 C]7a+Ypk= #TMyⶆ!3U-&s@Ƅ7jed5u3_sIUO ԑ,IT%pE] H,*{c r,UPA"ݺ ,0$]ǮH k u3 Sh IS"Sh 14CchLƔCch̦S4(1@1Ta 0@050uS0´9YZb14&UcZDc14Cch IԘјFch Tc%CB a>FAa 0@aGCa6E10J̠14Ƥj̈h̠14Cch 13"3h 1j11mE9 y!L0#A@a 0$"AcS0œĜ4ИT9#sCch 14ИD9#sn14ИkJcs@1@+00@a ID+0צa fYi 1sG414Cch 1sG4Tch 1ocƊ{) 0c0( 0P Ca(L" Ua( 0e^a1Occp 181OcUcp cxyK`q1a@˜a` Ҏ93#v1vc\ ;v)vSم?' W@p{(HOhm IChFhmM6;hTU{R)qfѢmr6@hm>B<}6hm [@\%|f5H#aOѦ6\ƃ6@hm 6iGhcR5I3OSՇU)4hm 6#)3GhSl6@ 6رdn/M42bڴhh}6@hm 6ЦhmP))[^T)1&b>Em 6|6hms@hfglI4pe;;l i6`ئqmM'Ұmmm䖨6ArQ\milm 6`lcjlPK.5^9./GenuineIntel/GenuineIntel0090675_AlderLake_00_CPUID.txtrpZ/9o@z\`yg~ͧy` b&%qq@2 }yv}}v?!ސHq<ZlEzQATb䂈Gx1 /Rd}MAR(gy/'Pϙ7e8pR9K.SZgVT *3s#hz DӳLo~tZ"]2r ƴY!D93նY#="lvd$#H)OW(TGTYT}hQP*DxG}?FԔJgҷ򨖧}T˳>=YS^cT(wQ虀;lyMtLW -˳g 1B-ߕ4!0[,1E1^D  rZ~iM(@3@\JCKRJH^KRJWI+o#WzI+ҷJJߒ7WzFJJߒҷ#Wz-WcRJH^{R~J+ҏC^鷑+ҏCHҿM=OWzFJJ?OW#_J7~%_JJ^~%_JPKՇէ:>pS=,G?=»P/g<,*q8O?W`Q7YQDtЅNR_K͍jޯnVw&I"!ZDatT}2hR`5'׬YU"+>m4@c7yAYͰm&Xr;Z&Ayڡxt) whpCG.쒮Zg04l(:d8  ^T_C B_b"%jA$ ׄ?*2 v8T V`ֳ(y3LSa"N,[ZV i,m`Ӷl6N{ vx64m%l&pi6CeuYy@0_LҠ 亾U pjRsvvK;B59$ug*&V_Kdoo&_ wGfB+]hJe8d!Q"=ablQ[n1lDž > q,ke A$dDd$ ͗w ƥ_PU6 z''ú<ϫ?@+iw*зON-В'4V~W]hbmleL/'ӳ_v`M'];VB( ~G8E N "ā8@q ĉ>ā8/ĉ' MMvAa7ݰvn a7ٱd7쳛g7WNAq"Nu ā8@q Tq @sq <\S˲~$ 29)u@I&9F̘3FEp#qH;e; /ܖ7s"=;bebg+O+w=(:b C"$K7l.ԋ~_gވ qq@>=1{d뉙U2س*IdyDq|&L";߿&kaoIY9~} 1#G]W u#)%3;{8#/^y]G6Q&=YfSYO/>:EӋ 2OI>%7╲$&oo!ZT}6 5YZt@| U < q&M["P 8#B`@tYDeN`2ig]\\e?%QDԀHYN=7Q_$F" $;G]L22',V=;a0|"KԡK;D~o+lґҦUNܜ"m{ >i[Ŷ0#3.kFX-以-$4IA7ibD3ӝ$w(#%&643 vzr?j\vI璕瓋u?6jM!l00Or":=y~ 2?)ϊ!V˓{EM;>9q< /b݀mc/-[4ԉo+ތ{3͘eytr}+=naw@KV+9m1μWUe 2)2P*_e 2TPQ4P*Cerʤ c10F0c` 10S#Sgc`҆1C'2[W2Tl 2TP*Ce "*ͪ2TPҤ2yD&=^10&c`LTdR 10c` IL"c` 9aȉLR2TʤP2TP*Ce 2)2Vd 2k,#&2*2c Y10F0怊 10c` "c` aЉL_2Tf*Ce 2TP*ETfڊ 2T6L0ɏWd` )#ܿ"c` 10cr"c69*2}UPQ*2TP*Ce 2T&ETfڊ 2T&X: K4BKYYYXbibXK` ,#,f ,%XK`a<-K` ,%JK,QXDXXK` ,%%eZXKXbk?XKXf ,%XK`5,%XX"FD%%DD=%\Kp .%j%.%D{?\K؏v .%\Kp=.%m.GĵKp .%\Kp .%׈K\u .%s .%-]Kp .%\q0\K_!?~}aG~@<J}~_$Yn W dDR %d浉v^a@Z̴{3)*~}0CaHz!7al}a븎̇6:::F2AQ٦ 4}!Ð.Mfq ?ڤy[>!Om0?/O_i-ĞD,!K2-kur<%\ $ =ɥ r@eV?\ffF_;79/JcRwz!F*G|bcY\~ ~ I6Lt^y/C y~2$4$M܉ f',= A ϓhI.M4 aUt~G3g&‘#<53pj붢2!uV?h-pliP!XrkARpt,cOE?OvD6"!=J!mOj ZS y6D6TE1/xC\O yrECUq*}bHjopH ()r=jĝ($` qH-“ϡ\^@8CtvwbLt$q%*hȥ^2)X+h]K_iA, qMʈ[u [۵ٟۻsa '*rдD'#XL= 5ש=8a;08<1} ɝ38bTRƱFi:=m4E18X5o8'ړ888SV86J3-o23|q08Fqj886VRaU?8MFlQ~q{q:8mq08h+fiqVݬiQDZTҳKgJ2|q08NqR猃q0'biKvLGqkQb4:8w`q08|}0N8+{Ղ.IrxHvS }<(f4N8\o89s8868~6$vͪkq08D3)38G+rl+Ub!G[-z4ոr@9;r@9䬼RL%`ZwSr59 r@9Yrr@z r@9+%z6tǔaj rJK9:9}@䀜,Z{r"ǂ;94)# )-uI)-sD: G;3@9 b֐r8r@9+jn(%v%d g,_x r@9 䀜r@}r\<r@9+%ǎby}!&/9=[:kr@9 V֐r;IrYAN,YwS#'tS%4 ?ȱ?r4ș zrX+9 Gw '9 D|k:FN mJ1=ANa%NY%rjn 9 9՝D9 '41rz]l~rZr"r@9 GSށE9sA iՐh;@Q{r@ȹ9 אr;3.9 䀜_PKOxa:./GenuineIntel/GenuineIntel00906A2_AlderLakeP_01_CPUID.txtb8_{^;3 `k{}Kؒ^`&x1i}F5DuSxoG!\ۻ[F=%oO6cm|̶rt{P<>ȳMfMWvcsp*a gB3Zs\7vOo<UEd&֊wA ;I`uXlNpqA20b)"&:mʶ'xn4VrU1H5QJJ duAYOb ;5֥jt.YX)wBᝠ:hjSkyY lZڃv I4$%1¦SE,Y1SȌ&%INٺtd1^obg U0PǤc8m (USvu7= D(Y2G>EE4y7 %ӥvya'" aAЇgce2&&j՚ שFtENrL3u0+lҺ ښ)jp:%W*H(lDIDN "6&uE:C[Xۢpp +dn;rە|9L m8a9P6aV"l m~s8۩a+Y 郵 oNbP:mMIg阚fc G5k|TcK6Ӄ;QoAC#%Y3JFIeE] L,*xcK * bwy* Jwx|O( =ʥs˯Pɲ ^JS]zruQp,@P}!E|r.:kH"G΃MP(4cXf09<($B%=?vã+h zfxSW-:i١Ny#w-_5 }kj^Ov&ljT\(WH 0g>>cx 1)1icx 1<cx YcrǤa0$ bii` a0 0f ô4 a0̲ Sf,f1< =1;1<cx 1{ce=S<&O$ 0üaRb0 0` a0LbZ̺ a0̹afbZ 1<&E90aJ;a')>OduBaҏ7{bZ 0AAIoo wS`Q)OokB܇0O(jy@8H@2Ht=[ QS u $U@@bU@teHd $8@H $DD@H  $ @Hq Q# Q@H $ $X$] H 1$Hl@H $ H .Hl] N3D ".hhDH "A$ DD#DH+>H3DJ$'׈H\ DH "A$kD$DHuED!7"A$8EDF$ DH "qH""q#DH+{H"q'DH{D$DH "A$ ="y"A$~"C14 < (cC1"` nծYTR3prq*$-MBiP 뜛M^׃8dl}0C6e|چvuȍ𼍭y|Ն갎ȼ Ƿe|F輍eAQ٦mqWmp_'yŷ*<}0o}\8>qy0<qyA?sVm@D˃5R0#D biiO4XrdHې>o%^- =9J#P%CcU( L6yѼE!RKֹ> (Lg zl6/!" rnJ^BITxrj>AhkxՠǣHa5 gCq w}Fbʺ3#M}XS[ 4m<=\1%\;̱p-LRwG0rkZq3Qx fBIGv4w4@ `}QN9XM]Uui:%CS1KwVk{M4O}YlFTe_.dHO,EaorT epCd#/KkUk?+/XrtVi7 %bݪ޺D L^7GiۆQZhf۞}k; Da}3ҕGtTG؝ˑר0 GO^zycp DG18cp 1cp 1cbQLFa( 3+ P Ca( 0ԌT CaFU 3)̮+c Ǭ9cp 18ǬYGcp1eQL|[0Wa(LdJ1ѱCa( 0P Ca"SaK1P6sѕcp 118cp 18&2r 18fiiQR̷ Ca3+ Y0P Ca( 050Öb( 06uӗcp Y3ӳcp 18c [18&wŔoK1U S2ұCa( 0P CaJS-P Ca6sS+c"1ёcp 18cpLd8&FcpLG<tْz8=:G4BG,{;R (15yq(~O3Ǘw_z|+xnckv9A}^vw?a|f/)~Xut\mp q6>fud\m>6n\Gm>Γ ®6m,nu&[.MFq㓵y|2yq?㡏8Nvq㸛cw8營6j/|Ӯ/—Ƨh-3bOx "@$鉨%2Mk/%xGZ =9J#go6"4#*ᩗ=XoA,rc-=Hfg>1}X+u- w M#uOS&:<(m!fAJ=KCeXOd0r<4 dULs\4$/n7E/*>~!3m %~S\vl7 :$C~e. z"Tq*0:ˆ.G{?M<Ql=bCפ' ikRkMn A FBܫ0\!r;PODW@8C|Oȑ!#n ~ ECU*uwŐH2};` $dH^Q9?QQIVΣ}fc"Ӱ?y,ȆҚkHApExA ፈr̥pRՋ9'2+eX H*qYICҚ]FekYqjp^O!2S}01QTٵHhƸNLX_R3[ w2ŶfF̈1cHlfl2|_Z,bKRk6Xq֧G1ΩqJllX=0NZM.Ӽq0.8`q8w"QWj>0Ns|b=Ɖ=q\q8`:`όq08IQͿKR%R'Zq08Eǹ8޵Ux 8pHNe'JS%g7[8q08`Ɖ8Ҝk* C4]t8wN8`38'dsq0tg8$sj%fkyU(>$'MƩxF8`O`&8|]b;\:zWJvp51NK.i`q0Ns2`|q0oGo1N8C\R5T=8l083ohac 9EN5]nrJskHNin 9!c5r@9 Bȱ 9i3]E[SZ>ꦒ!ǃa9 C k9 9%I7 =!'e '&SxDr> 9 䀜eZr@}rRC1Kj99-Xiq 9Kl}/!H9ȌAN9 rTuȡo37 K9IS*3#.)E/99~!s5$r@9 sXG]htS 9J䀜r^r@:0W9 䀜rN\rͦy-rr@ j.Di!#gNNy*r9/9YEVs5'6'֍9 rI!47nOEN9%Gŧ\DsG%HˉV ) r@9 䀜uNNgs]%Z9șW*aɩVMFnr_ȹAr@%g 忐r?PKi9k:./GenuineIntel/GenuineIntel00906A4_AlderLakeP_00_CPUID.txtvH5nJd<6v'h=`'xW7ʮWԯ?%ϳjZNNE*гMe+1VڨZ}gb=Lfj`Gs-U3"/2i@]*H=X6tlSyE /w 1nrʷS0hj=nkwA`)yFO{'hnSKyRjx0In2miH" 3OsLIǂm<[%Yg(hXLݫ~Aڃ8?zkЯ|LU?)]L?G(W?Bdd!v+pƲ-j= |^$8t0e,>O^;^-o#D>ڞzIdz йn>fLb ^AM*l*QF%*\\E\˽zg$0c-+6!`iweU>8&|Å$[\S8xINwa.݈5i~ ٗDj`}Ue7t&y6&]J:l}[C'^VRHUӄMy(v1+x$<֑'aÓ:δzlS>סs% K2mGږ$ǿ3İTuMttTAҴsVTv$_EV {V| `,n$֢ f%K\')_V|S>Qq,{d[؁m9=R̾]]5PA4]ba腾*~8C? (!jJ> 178=4z)B#vRL!u~@r4mIlNcdYN~OJjp6}L&PɝDDntǛKgϮ4JݚW?rגYDC&`:}R0ãQX3BtIgzTꪆhMkvK|0COFۈ>[_ *Y!~;M`7@ G?vjmQy1ݗ.V;;ea/gg3s oTG3'I52Å B7N!O9V:ckUHE}v=#u'Bfn1#,f"0^?ZQe@2~e@Pe@Ped Ȏ (ʀ2*ed dbY`16bl`1X `1X ,btŴ@&e@PbP&e@Pe@Pe@,e (ʀ2&eT dň&,FZV׳~ŤfaC F.EHqk b j/^@5C}7R2bDC6bFAoYy &C411(BP"ڨ %^t%>D?JV;J9B8J(QBn%T}(JA 4J(J(JPE P% 0m%@ P01(aF P%@ P%@ (JD?%zmD J(ƠD4J(J(J1(v%@ PA(%@ PBWA 4J(J(JE P% 跁y}(JDy(J(J(ǠDQ%@ PB mċT@%P1*i@%P T@%P Tx/*J PW*JbTU*J*J**F%^*JCs5I $8˥˱<'+3(wGOCyVL8?*Fͭ?yJsS\^yn<<\ 7ܖɵ>Ts#~|/w+K[`2{n.UnV'ˑ(BЄ(Nꁡ/} s,Kr|A{k TLd93ђׅ ٖ~jۏ?Hq&~#R i^LE-ةwٔoK'%rّUH9!(S"qayCfDi|lH~<W[ J^ ӣAw%K"CYCfi$|Cؒr&16e% ,~Y qf"Di )OP q̥oވ@P,!8!)~]j_ڽ"`3QMz1`Y eBe:KC@:*` bQz?I=vi" oEHk}1_9p /džyͶ_ OA5s5CFR)E:q;w0AgφFn򙬸Y#C<" qO!`ѯ$*jM2=iyNʜԃOl!xG%P+E$bz\œA{rQ i}oH$ΣdsiHcR=0N 2o"eb,]Ko !i1- uLsio$$F .;b*Z y YFm6 aDBhN/QnExmx$^٦.Dlt_FYݑw 5m BxE(CE:k;T:7%Y\4-bNVA¶r3r )9hFfWύb f49bq780~q`q4Nk4FT\o0FDivHN8Ɓq80Ԓg|qdq`X'ro'I0Λ*>NSȷu^0dƁq` 48=}80>N>fO1h:,j%}S/RP&(b(qqHU~p* *jw W WIjDIv&&^3U%ŽIu&&ML7Yn7nn$Iqq$V9a=PFS=AYe9= y^)X_g=Xփ`}q蕎ZĔ6~JfjOz}PjSnǦW2ekYփ`=Xփc΃ud=X,/RNkz`t#387*Ȅz`=zmd=XRjEkzo`AcFq,KX 럌`=X֯_gY!|{Q'XPj{Q&OzZ)dZ+yC}w__`=+XdC`=Xփ9փ(1X#b_z|^(rr}C^Bp=\p=\"K8zLΓbX5(_HZ]/j;dὮGcp}d~EúzzG]~rVb®z}pOŢ0EEˢ:3D+cfJr8v.s\iqhmhG{/Pmr$;߷Ŝ[=AkO_G#Ǐc!RƢC~z6JT s.qG'N.S!9|Y3yw% ^,ϯL48il䙹ӝ|y?dj,&Yb2zaҪ.5!<&l0Z&A&M6=[|"騟1גzeRCN[aVT P;v6ωlb7w_6`,ǔ Iy= -X1q~h3v3#O~#é3WLbӯ~k_37La o~[2wLc]C}}B ׳\E 73|В#Éẁ>bG4 u}. "E!ާO][eN:UN̙92Z|\hChď@7_Wד[N* E]5s&fl8%C'<̳<s<< <#3,<+Ƴ<'s<5Q}pV5 j2;aof1xsx^M!?&bV Sm Yon;Q=y8h @TQX(( #DcE@24R9Q@.7mow. sP:M,6t+ɝ&*II֧&&~N/]IR%KN]"y)IR22& ;?xãk  fx3g\o4X{ia ctwxA2XTUW5k۶uHw؝߾(;pOve?'K< !x@<'xxdHp/0,; @q̔da#ٵ}c:`(`Zuu:`X'k֡9ܖYGe7um$:JDANoYWmMǹ?m8=%[3k@ ($!$ו}RO8\qH 4q:!q8@ C!I8@ A&q8@ ]8q&q:ġh &q8@ qx8@ !8@ ǹc)Y+ݼT\*[ۚ1)ٴ#l<+>oZӛó;x>=.jBnva25>͇vvqڕvۃδ>ɞocNeϺve/$%aJ7%K V'ܥUNPh'UD[%<\S·X޵A( Yz 2$p#MZ%d袳*16TQKpvѼɖ2, Y6"Mv1ev 6R׺~#]-D+W>g{DC~YU;]JE>K R jNp!u@v&9{X6z,<&} &y9@%Zoıi fȱy3 bDSQN]ؠ }# q!KBu$R`=D~$O$d`9GD?QzHՓ{{4MF_$~# \;p @T/ίٴ%"'S"DF;D RhOb(5kDetqD>˹C Jd]zQ zD$B=;xǗmLO:'ۜ|:K5d3Q$dY}DZvw$kYQhjmr,#1pOPρV=YGvLYxM40Z2a`?S|8ȅl܎W-YE;ﭡ|_ưLa8#QH dfnva9.e,uxې:Z:::::FHNNNNNC:::::HmHY::::sԙADDDDDDDDDAR߆H}/NNNNNNNNNiԷ.WYϚW,d}ۤ4ӱNt3Nt=Ms*wg 3olgI1o|SjP3S#Ax"UAq*5W]i$3`oBJɱl@y )GFo|g"jCm \dvpY ,22IXCW0ff<ږ!m)e)C 753Ǔ {&A?9Fs>dHFqBBʆ*fB GT##SUsM A>b;"CtNv7i-CL1\+͐śU2n`ACUp=@lexE XRݿM~g6F6xU{!VEQEQE3F _*!dҒ*_*Ūb7F]R߂qUUUUUUT16*]t0UUUUQ*^*t"XjTAMX^wUUsb+(((x4DT1Zk R袨{{O~9]9}>H N϶KiGz63l61'A՜=X?|XUcCw˕r¦ sßB4֛Jу=ٽkׇ3Wfq̄VX.r/"CN~q`n3R>;'SΨQK\ksV:b7x.mFV޼_ưPov|&RWsT{\dV.&do+sl&7:y41ztðU~m2\ Y*NI <#3,<+Ƴ<'s<4<AHOAc s1.o}| G+ զ>|o6<~=mw)tM6#m+DBG*:Qt!T%0=T>|qa9y_2HP(M](kMeVdlfla-v$ԌJnLUҺn3G+*L8p$6M:ig夤@&ObRHuYT}Rf,dI%,V @)=H;bcmɺ$<,5\ 2 XCf'A 4XD+nFAb&-hoo}4US0qd;n:^ے91]~=S0+mgb=![:363EAo\rk0´Ur}UҾIF)xg B7 ".QuN_h5(3 8v-;~Uۨ `2resUxiG>ɇR!3?zO Vf8Dkg"$ NDp1חS%.YG0o_ r^>}#5B&e QD.$3E0F3sT H˽gAG>dOtoFԨxd܀B @9i'G 1=A>۹S\0 ={sw[Jy G+hgϟ؈f8O޴@A:G>:t.\9F߭sA :t.\йsAxߡsj :t.FԿ[ :t.\йsAA:'\йsA6::t.\йsA :tn4YWۜȁI^+3U>kp܏zy=.*=cgN?U&y.g~[U5F7"#E?u[K$&G1]%yQJ(,TTzPdIo iFѦ~ɶT& _٥r!$ thudUCy/[AhtpU ^crm|u7m*f__d~$m`7%r%̬- hIM__! KP, !!˗AJ: ]!50 &,$./ ;{_^W"LECD$ِϚjUJ0$~~^"j'A Vf1$_I)!JTU[, ½U4Fe Ȫ<Ί !c_yBHW5WpQ#C2Ce_c>75C1n| Č}OdOΊPR*M/*c@R {,pĨ殻r'rR /m$1^eKCwb6͐,F7uPjِntoYe1YBҐ#'Q,EVD79?UIC In&M479ܤp&%݄$Itv&M>8IܽB.ld 0PԯS ]bPK-eS gx5./GenuineIntel/GenuineIntel00906E9_Kabylake_CPUID.txtdSWs0 ~T(^yedf->__|@Y0(fHvvXE4:hCߩW4S% t1]yim:GNmUʆ gpo0J6}"mtJph5ʍ!%r܃KH޸O\,O `FD\t\$Uv(U-oKxޗL&M*IjAq_*;s D^GY<'iQN"$+INrMnG? HNNo&H}Z ;Ѝ(_X 7.mSLUcJt 0,5"%rwjuJ,1 F?{bňҟ+0Y+gK"2Y\˅Ȍ`(0,d%e>|"SSW6AU>kJ i:@nc .m+EVjxFB xim0ezҼv_e,S5#+T6SAo6 +&*"L%6i oVdqnu8 *>x`;Ie2337ԝȭU>s_yλ~e{?=6hZ !Elh۸jcc1CzѺmT:BI 2RJLC60_"YLEb)cލ#c`؏XrB)l } ebdȏCtZN.nn םmݒ8X-zPh yHMO-M4wbqW^)ct(͕Jxs)KHW2E9^gd]3VZ[s;GեS3Z94F\[ * mVpkm0D6, ;O\sr;ZDa'BՈlYu2鏧{fx)l.{Tӿfoxj1T^kXWo_8uV˶;5W{M~Njl:jM{zϧξν ]A H;[nqlvll ۰ ۰ ۰ y iG،WO46c36c36c36c9co %a ˉ؆m؆m؆m؆:#hflƮ+Ʈ'ۼ۰ mDl6l6l6lvv{c36cc،،،cۂm؆qaaaaz߾z>BYïrJWn|Snqfg LᦿiRY|G{Nw˴wX$c/r}B UUmAɲܴ UU]$^rӂ)TLUE-"v+r;^m8nN pgo^#p.#Z*8’u#FLͭ]!ؗu42+#+t]sMQ(8OIN X5g!S8 R+(-7&g: !Ts0UT"]]d:b-lk}YL녦,ȐBO+Zj1zϭֳWwѧB@/s>)mt'CƏ?}T.mo{>֋ÐݏRNI(lv fH[o*yFJ=R'YJ=yzx=yrԑ+6Ens,ܘ#Ʋ$rxیlJf".Ba*֌UR'0vת(ٍW 5d6^?#Nܼ|jltŸp0~ĉz&v2t۠\G(L2{8=y˞x`d9_ެbdq\ɗ|_jgBWgL.j/u-S'_63js#PKJ9i& y8./GenuineIntel/GenuineIntel00906E9_KabyLake_01_CPUID.txtdTy8*C`:%ьf} X;jNĢ 0ZLG 3gR|G TngL0].NC_}w_efĶ(g F 8 VRu6v=ߵvTw\-tF5U&IhVҷ# 0=lRfl`=`a g 8VF#eKBυ `9aZHz<27u; ^JP_-CzI2ӋׁZ6Sjv%^h:"Od+O攟:yP+HNനѥэ);@FyM?1d ? *;P #>6\Tq'<)aŰL(Dlj`Uhj|_NΐH2yJv*+ۓ+ԒLָJ?i (/5@qJ1R6&0Pw>؁gklhr1R̴Qy*ax"ƫU5k^o=qԪݞng- _ H0$)QIgkX&L=j_:5H3H5'yB#4rű3p=a|1[)iyy^fֆu2)2u[&Cv;f~{VJ>,=ے7Hmb}!{ H'AP$c _F փ޹ƭaȘ۔p6i)&qI PǧM}gvF+yc {=c#vе;]у\u>^4pw#\`mUַϊEe4fP䡭W08fE<`^$a;ABq#;TgBEu Ss{DY%() E%ۋj* ES)[)R:PD("-"둥qk;bHӦHvdVls 50iYQH8[ػVE㼸9c-" }s|bMMؒDR@2BbnUT_7ßϲRRެ*}~ڠ\aϦ\QG##sdB!c+?Ln,&q#?nӛb|540з;@D@''bǖeҍ偄:\* ;m)r5՝20p8l6v#U QAAg:t 4b,m朗^BN| D7.QL&3Ȩh7UwՋ1{^UV[N_>xyWϫo71r^??^USՒ*o)S}x5Pmx^M%' ;YdQEIxL,J(ɢ$,J(ɢ$ YAOtw((@A%P@QE %P@QE AţN%YdQ,dQEI%YdQEI%Yd|d/ުGnN Zzb,i9ɨCSZu<-la7>[۽T^$|F`p=E[L 2$Hh}P嫡4; \ *lG@E&U<#Hh0i ?P$Y1C[QzJ P7eiUZIԭbkq +ˊNf{Q$m92zbhG&K-"MB. "Vx2AR%" ?P" .EKIN iaB齅j)w)8A,0'ƫ]=L6EF:/v<9ABDFLVSd'Ə*aON!JPpPA#Qa{d{ew I~Q&Aa)H"/i#R{vF@V h(=#GqG soP XFY'ّp2$HB8I> Ral$kk]^_#HؙDyZ{4.QAn]gH@R&AtkWk3$Apa5.A*a/b#v `H8!j%k}()A;>AB&A\T[l'8ŶS^|>~Tg?zdN7#t]5__}RU!F 8EX s'ϹRoA6|Qpz'‘ĪgE8do ['Bq.utL9AkQYQI;_*J˿}=7UW9~ Rb-b-֙.g"1_?&rVy+?U/f$8G^$󜩗ټli"AYW*%f]`f]Pe]Pe]pg]pg]Hƅd]Hօd]uEuQg] u.tօɸ0Y&¬օ[@֝y}H13Oy_Uk8<9PK~RyP6./GenuineIntel/GenuineIntel00906E9_KabylakeG_CPUID.txtrU600PpLKM,ζR00@ \@URBm𫨌jI;ѕy0Xfsr9:>-&]Ӭ"68NwAjO?~zyӏgg5`CضѶq6<37&xP"Z@Il9ȕ6:@bARuЫny$"V&cގ#cإI)l@,)&!tgNA]o ם[iԬWA]l(Tno)!`ç;RhU\oqTra.fNF"I(b-cws8҂*/pLGxX)RʑR8eLAR1"ʱq"0qmܯxG4tnp!:&* _MTyd#+nAk˵c|g°:wʕw/kH5k+ ϭ C8`8/Vn\BLo]+rKoUxhY\4Vՠpםo aQb; {: [Eb! ba   g: ;baE {    t,Š,,B,B,; / " g   0ž…XX+…XXX}ggB,aa!b!b!bṳgB,aXXXPK]L6./GenuineIntel/GenuineIntel00906E9_KabylakeX_CPUID.txtE:=aQ VTxmCs?Lɓ? ?:7N5; 7+ͣ|~7AV'EqF)XYcAWc IY[cHFN,+k[us\ mKKUʉ) K9v KE9SNh; ԙ:UW7FMQZ=dLn-- j)ޙS|}yK:Ke$ V U0s07fFʈ@aCO p=#n )P*.r՞]k8qdI0 @JGVG㏴,~g * Zg-7 l^Y38Yύ3838388{lTوl3:fEfn:٪38ʍ383838g8qgp#8۹qgpgpgg}=qgpDpPKˎ ̰7./GenuineIntel/GenuineIntel00906EA_Coffeelake_CPUID.txtTY0~G?LoHp r-ڄޗ71ntuByG|&"eZi6w&>/gcυ9PF{Գh"q1!, p0 m6P𻬖1_K01*&َlU R<]y]r ͇ R)D%IAth="?zPPJ3N)ji|&XaYX|8 mLpl\Lުa"0K@Lx Z[:`sru13T(.L%Ԋlj'ݞ\n`JҌY}z[Y5[p J,&YZ.V"#Nu!pi+@W)<%IwjZ ٮQ?RKQ.n8L8$y*>Dd>8Saс^x@9n+~Q[rcEOb3sL^BB*QeY-gD>Fce er*8+N>MO+'y||W׫(@MC5.S0YcuՐIRT]x (@5 ˆJ_|-go74Ʃn[P4K ]m ^')v& Uv<nėJD{@Sn .%3c 9?ǝ"TՉک{+jsj1p)-Tև m 6xVPօ`SQCq 2MI| -8e99~> ⱈic [GcC0_a 3s]( C:"s)X]}K4-z 3gmRD @qx؍.n5i]@ f\V,T昊ᮈy xffy= #̸̜bS.\^S>!\Ii!.5&]Xat|07ubGI\ `2~ UHQ4u3*/$=D -Վz L`e*u昿sckM@e`lCZ+@s_q$C{V*|wťWܻ,.B)" oP5"c_x@3қvjW&S_}yt/_Qa G7*MKK" !; ;5lȆlȆlȆl]5iM۴}hlD۴M۴M۴M۴.Ҿ}c]P](/~_}׫Y0=`dI$w_<ߗ6J{ylhp{jy; 핗Sszޮe 31ְv.kym ?o[Fzֈ.k r9vSqގB{Ec~?pjsƭ;ϞxLcazW04?\Qb|_ )va#O҈ *#"[n)`Rl4% z5t.dP.y=zie{XXI[/,72xƑ$$Q2Ⱁ.n{HF+z4H2d'u`BqF!-R|n0pdѧM>Ye4(h(Q#=l5X]|0vaKAND2E bd)04 }!䜣TP%=`))3"0!{F t87./GenuineIntel/GenuineIntel00906EB_Coffeelake_CPUID.txtH_y:מ-i@ufQB_r~ 1sF?Η?rH.A' }l\c?O'NxQa`2P6ґ.`pxr8EF ՈdB$DBz.IJ\Ĺ1r. iЀ$*+hB:J51)F(e'Z9@0uZbׄL&Jj(4c2sC\Q 뻄Ԅ=vmc ԛ@ Z]Ai@a'R!v1MX們16/!Zly m¸%ŮuJa%#i',kan6[٭[y{0 wL[l(]]ƕmի'+{ f-9Ay/em0p fQP-htF " Ȯt}x an:R֤*d0*4[`^l2^;ߜXb1#GJW:T @|#QV<;sut fTaO[JzwM> A ; d ;#!͇w@&_X: GѫK0ZE&^8O?zV4GF~Es`^K* `&>~ձi#Ǧñޱc.D;wlޱcFcc{wqlOtlޱc{;lw8?8wlf6;wlޱcyݮ'c]:N6+TWeWuĩs;N8qݎs7.uܴ҆W[+p8=Q<[oAR$sAPI uXHt8$$nEljf$$ 9vCmW4⢋/Ky"Ée7l$Ryj wI"PK`>7./GenuineIntel/GenuineIntel00906ED_CoffeeLake_CPUID.txtz6o՞#iy^𳔹W?)Q!$ ,gl~={^ZM/nc*.fp -f ` ?8>1`]:69LY~8;fV{uP\d, 1Ds#$N$n9(9Ls!C{Hw@I"jZj"g{':1+܎%cʶTXX7(JK!S!8+@]/q|XD Yh(P܅ *%mKM!-Rm$RߎC8n }L]=Trk|,06FNz1c'fO̲A,aZ&ܥe0Q$wܥjHwydwM[`Q}Pn]wu #8M\Ȋ4V҈_hm !V%nR;u-$IHKېzHHK+b%Q* oXK=V10JZPZNT˟>uÏ:wYCf+"D܉hR(gy7)tŐ%}Pܧ0>fMv7{ ofYv6g7WGϲy6;i5Hm*ͽZmj L>\M/\MsCvuse>Lb ^#OH/IEvaa?'l" !`Oq=wp5Wsq\\\U\:5^"^ !`qvp5Wsq\\\U\:5l" !`/qwp5Wsq^\\\\}:-l>">!`q}vp5WsqY\\\\}:-l"C2k;zuj]?:  {Qk~F`kkk2^`Zׯ&l~E"l&l&l&2^}dX 1X ?aM؄M؄M؄M/]?ۅ8 Wdn`9iekI@w (J9>i7>}-ǶGk>8Am9g1>vci˗q,k~mcOqؖI8B[t@lqV>a>-1-Y8}[ԏc,m2,h*鋟~G]Z; ]zްs7O;R@h --QwYK%6P0R s *T{sq13)CJF8L"b0.ງ2d64[ASR ȇE=yܻpu%}\H*IG>wj$G/(٦hOTj@aTJp]U8IzR9Ē%iIQqDe;/&tF E "O&ɓfO'*ْn+{/wNH4"Rj+4U]PK2nQ3i'`D]=Wĵ$\_o-"rs ycKomQ$WUdFv@ΓadTdQ9w\#QnI)g΁}'ra;9(@,0J3S rPbL$>7Ȩb*b $l0 Cy%nQ|R!Q)*U>thբBEۨ BKCrʛB@y|rҭr3IQUA^o #afa*/E% ũ[Xs<.js4ȹ?ctk]Y} ^+FP)j isk\^rs{RcϕHy;ciyRע;@эИ*E٨ԒaIՋTH[E1|UMs8E9+$&Uvsr+?Xsc:3vo­dn\(9a(7%hhHH:m>}%*<(S 8\νYw0WN}} Ѝq_V\-⊖\\\\W,WtWpEsWpWpWpW$t+]1WtWpq\\\\mKEWpW,W, ]\\\\]ѯwZ\kkBWpWpWpWpWlcW,׻b --++++++]WtWpq\\\\mGEWpWW\\\\ ]q]opY\gg>WpWpWpWpWgEWpW<#xrWpWpWpW$t>npū++^W++++bmW++qś++++"+v D\I ᷽oEWpW|#&tWpWpWpWp>pů++~W++++bmW++pE++++bm[\*+E\++++bm/WtWpE'tWpWpWpWp>nq\\ssWpWpWpWpWPKW&6./GenuineIntel/GenuineIntel00A0655_CometLake_CPUID.txtTi8nήUJYݵF9 ξ!b1B|M !ܺ眻eO-S)"_JOl알= &0."1oVϵ\gdÌil̘Oh&X5BҨ f;."Vbz6=՞r_ra`>Tۤ;!W 6u\ Z. ɤ]&0syfvuO>Ju6zj)A_˅؀ߠ+R|2>Ӆ? :8;bkW[:}#8bAsM\umQq=P_SX3qpOϬ,Zb:k5!Yo^r \-NaI>Ig5srEιM9 ;{{8ӂCchf½n'#L3͛s5ގ6 8O=?w%K|fD2Hrn]3+5c"nc=P5 >OmZI*ݮi{9K|RW(a&e&_T'rF  gU/'a$\0SlmXRkGJuMaptLu/)߮^rBީ!6YT3,< Vv:n饬n,JC5ϠfVf 4-ؑ@qk@#2Oj**LÚmԂM`k6<1O5v2!E> SC$\'dϥ*L[(痱ɟr0@EPu`DWvخsJ48m`yJWvZ]X#N'v{[ ]P T[PʄbPs$}:kAB #JC^=ā{HzTdM4j¥I8r&)UmTJ 7*POL] l NC:T͂ dS&A1E1 @UGtM,lt'6 qAd~goX;(RlX&(d 7XeI '߫ޫQ@V%~2kLL>Òͥh ^I)#@<c#lqem: itityJ?>pt4BsTɆȲ F#bvkIWXYQ }G~(?=PS *U[MI0Dڑ ZF[ce1 [P``&*c 8zT`$h"t16MٶX4+>hTf7'fO ȷ917?qꓳ2j}W;|vsŎDZrnhj7MƶҼNEB;BcϾB;p ~|󆑂-cg.)%Ϟz?P TR2@)PPPPe ..3.KKKKqsI8P) PPPP!-d.ᒊKKn\%\%\%\%\\4N PPee(((((k(S8Y+..5㒵p p p p l14@@2@ٺ "NKKdϸd%\%\%\%\%G%MPP P@@@@nRPsrLLLLLLIi\*B!B!KF(B!B!B!B!~2k&`&`r &`&`&`&`LLɭ"B!Ber#B!B!B!BG(sH([:W`&`& L`&`&`&`&di<*B!B!GF(B!B!B!B!~72 aRL&`&`&`&`LLZI) J    #=$E ɘ&`&`&`&`LLT  LLB(B(B(=v 'p̾Zo2GfzƺL(Pf9 Rd ||J7KNB\q6GG{0=vݣyC1\3rFDO\XO3TEQG3B\1\!qp9â,g8 F 3"z"xFB<1g6we~{h|ƁpnKRVbp+&ċ-/bS9|i ޙ19Bރ3q[ 2M*Ư gRN"GhW=bQT=`F*/9>!Sړ%RALGw"y2Z.G ʒߜzf,,ʑ$4[PH $LbFXK9eDDlD/Y2$"wK(CGLLk\2PXe"N$fRWR uD\䃴LN|D6 cb{c'oY6iIB ̎d;v$UyXfF̤@l]{$#xqyd~ϪR֤ޭ2woF-@fCL,.t&L[q+c 9k.@ e ier}_Ye H@bH^AY$#w6@E#*,zx3:Zr)lS~W"IHKޣs[骿D~Of~}^kk ϐ~]QK^<Nlu2T|mFYNM:)i: :ItNN'yN'Nv:8eduMe[ĕnIutN+'u <'DɎ'ڽܼ1OtLo?xO ?PK m;./GenuineIntel/GenuineIntel00A0671_RocketLakeE_01_CPUID.txtvH@7CmNnOUu DO9kq j햰 u亷sb#xPlG\[[F[~Fx3oݍ'17vN}ao$-7|O#JDMfIɄZOqq}|\4q D$ "ȹK˒: !95T?$cSC*J1 ָin ˇ*5EN M41]AE&%tk?ASJd*Xl~ˏvlܰv۵钩5ݲ蜌:]8GAV{: h=՛AmBpqVA Whpi"^Jw2UwkhQwk`zKGι14dҜIupXBR9}ndJqYQTZڅQa&!= ZV-S<<,{i1fv%&6Væ<肣,s̆=wx8l3T)%bner_?%!_V#V  QD:p!O,:n~eߢQ_N)qྜg6lc9fކݬ|݆s8mFF."uZfd\0 (b)h, Ft8ނzKH^#+x"[twB}MZȾ&EHP)ExOvrNa[kuQ[B=-CvJ?sI)u7U}ݹݶsC%E!D"q1"fr<=g+'$zkRdf eXr F4Qsi`6Y-RyF6pFEx0ؼջS$ޑT$I2g >Ɗ#A#=aY6jCƤd⟓B6(2<]-8eVˢ\>M9FWurmm}m1#fČeFfY4ϲwb&Mq0N8&.q(!g.h8`q08gq2ƹ5NXrҎK*uC8q08eZJ\狋;?#2G➽?$/ʍG1~]=<ȳbu( ql<.52Z ꏬn!ZBSB*rlkZ~N0v ̰E{Os?C#0@~=xV7u#xFҐnHdĻ P.h<}Ǘ*3br2劙SXUnQt}^\d::t&. FC+wpU+>>7i^qo=@`h%QjT^pdT @$8~O狿/|8W'%26/>õͫ;drbse^ᧁr= Fd=D9 vmdm) ~yy48^E_>+k.`G3R^w҃},pI\`hfc'o[8vgWB ԏ')2׬zfF3ĩW@?Is!)5ѐC4Lp5 *!LcJaTS ͐vSy.޶? /"k8 052=qR RHi!BWi –#Y&!t򖆌mz(!1k_P.U>'"M C>o"D#߰?§r3!C E z ‘9 ;nd7:^:4FC:ks52uaefI@|ƓQ Y9C'<{Tu<&'1=IJ$(P5~C@'b_ y&C+aCґ'+CGA`H15QvW`'2(m+g2Dv/{ )ם* $!m_"H³ܹ++~0wgr஗r,lHJX6 a.uUOQjAMLr +(iHvr"B`CkK7H0dr?ڻdN #ZUMn9%JǾ[[Zz8E²XMg]NR7 B󕅜<ĊtihŲ؎,O'˓Y3Jq[%~xMUPJ,%|G$]YJR?oSckf(>J͌Ӓ`n~sK?]Ҭ~L1biqMBk)fL3\/͘f]4cv"ҡa?-q_췓G#b0?-I/vRĶd&E$l'q;IINf8 R||is\8\H}eE Uv8 ()_+8@ ݾ@C1bq8@q U8`ā8pq8@@$< ܏>M q@8\HKÁaR1;Bmkv'$t%*\k0Oq8Мqy'xr·"nq8ʕ8POƁŁ+1bYx`| BtoК4zq8@!܇ā8Ɂeգgq8@#p_NnЁ_B- Ίm=rU=}[!Oƺ_fuUe2u:c]5u3{uXgw* YޒJޔJ"5?H%c*=L-g8Fc0oDg$73BѱIPf6Tb*1ZwSizv*1J?V5륩JSvmRO&^Uďb*bGN@kSTb*1JL%4Sa*ޫ!.XGR?/xOjS7"ćL%ToK%]*1J<MTzJ^PcT5jpa$n$JUrTTPxN*1JL%ST⮒KS)1RcUamJZQ,vtm%L%?oL%LH -չITTb*1J+R7Tb*1vi*Ǘ 5C観$B2,s'wڌm+Lbx?1|oیm6.ڌm:>~XQ||v*z >tHq{TKuPgGi>/]Nԁ.:PsP|M9m_u:@(ݧ rpuЋu:@PKI:./GenuineIntel/GenuineIntel00A06A4_MeteorLake_08_CPUID.txtz8﷼Wet*ٚ{6!" #gRAGb?&/!6V] #C|ww,%՝| mCq7֚ܬHr()4UVI-ԄDg x?/#L#F"3QeM2 8ǀ'U v 8K7$R,c(C5V>@G%||Cf[MHS(j G&bzN -"gA/ݵH"EbIu+Sd"Hyhs΋ */Ģd4Iczd`Aa 4. f {1l|2Ш4H l\fMI544ƵÕCVD0İ]un#cK?(sbz_Q\qN˿G@ʏq~nsԿ^Wdtrrn%WyT^ DU'kMAHC^s n8#$#QJH%#Bv?ێ~\}z/S-S:I$˲WFZҪ竛/OoRcXs2VU<*+Ɗb+Ɗb+*cJƊb+Ɗbj2VP_ av*FZ0Q=RVձBrxUhZVE~Vi5yi5}TlMMO"O wK1Zq\]7?כ#81.1&%c75Ok?#c1F11F)"{q0h2FaZc/dzQk#ƈ1b#ƈ1bzQ=ƨ#ƈ1b#ƈ1&1Ƙ1bzNƈ1&1ƈ1b#ƈ1b#Ƙ<Ƙ<Ƙ5Fc1Fc\10Ʈ#ƈ11bƈ1b#ƈ1b#yc׮1b#ƈ1bcg2e c{c1F s2F1{14Fc1Fc111ܮ1b#ƈ1bco2Ʈ11b1ƕW5c1Fc1Fq1ƕW#ƈ1b#ƈ1f15q,ƈ1b:'cG15c1Fc1Fq1Ʊ]c1Fc1d11bc1bk1k#ƈ1b#ƈ1bck15Fc1Fc`Bơ2J+22S~_q ( dAFd Atjd̎p:p 6dm$҆ݽev:BG |:o& wpηkU7`5Y`/˯6q򈭦sUgU5pv[Юgim*bnP:lU6lUjrkon|?=JAVd9!+*dɑdYAVdYAVdYadYAVdYAV5! \p\WuN fq\WUp\WUp\\\ * * F#VEYQV5IYQʊ(+ʊ(+ʊe<:4(+ʊ(+ʚl** j7#\WSa+* * z*ꩰjVp\WUp\]qfU(+IYQWXQVeEYQVeEYQGY[(+ʊ(kgSVPa* *WcWUp\WUp\WWchWUp\WUp7j k(+:IYQV(L(+ʊ(+ʊ(xU<* ++ʊ(+ʊf\p\WWsUp5{p5O* * jjjnWUp\WUpu0j PeEYIYQʊ(+ʊ(+ʊe<:(+ʊ(+ʪB5j<@rQ _˗^ Wŀ'!QIHË:B($ FH4/#$OMK蛥b#Ѯ(w.H4EA&Aj~o.n7?Glp<'4]2La)k3lCF6 b`>ӽEv`I;mЯ{bӽe =to9'Cԣ{ZS=tC=tCԣ{={{s-)_ U_=<ffq2QYҘ^g gzޜ+8_b9N9k<g,IiaM/&`@;.lYbْ^UY*l.=HKݺ}Jߖ*F]d^kT Q$C8}99׼*䐉pU0ܞČvO=ޤ@7"'&n۞WL([|粈ܾF$L$jD,YwIݓ~e:~1FS"MO*uScD|'=UYW֮q;9*d:΋]O5( "+Bgȵv.-Wl\˺WٔBiG(C*;QFHK H(e%~%؁9wZt"Lw_m0WsVuKJA$G$gpcI_̿ZA+Ug/*::%#N\t_ֹqu!)~!_N' y4⨏SI:[蕘<*Ec8]_.? %HIn)%wb,a%Ҡj0i%&a1 47/ f O3 4zAmXc| fzBeX5əoNK8/Kp2'ٜ9)椚fN9deM21'ΜxsI4'ɜdcr8tHpeeTE8Phɳqqqqq`,=0 䧋ܩFO/   e!Pn8PFe=?qqמ֬wāqq&Zݽ88880q "@q׏|\Ɂ@>=bwܖq !_f$&ihDq`8b Z;=D8r#Y2.PhZkeȈǁ8PCߗ N    mV OŒa;rsJE{<988s8 |@8- -1'ݓ+\h*[1~K II aXցu`X_8c'uwY!T2Tr6J72EJ!46F^zwNNUĠҋQ T@%PI[A%PIk%fP;&*J$M6nRix'}8J$e}]%P T@%P~JhlANR6H%PܔJTIH]BRF'.9O%+߾޿^J*Ju*F*JU®M@T \ȃBjP)8 9/*J5\bPJS T@6qT])*JR9JJT*EP&'mQ>Tr|[2T*J:Jx }P T*qhrJ^7Rn*MRB۴vEJSF8J}\JJ*JcT,c*-No*aWilJ *ݳ42^-*y!7$* bT@%Pij9JUZɿJ*iڔJ *Uj4|rs֮R&Ǻ뒻J2T@%P T*d?Ellb6`3 6s#߰l}!f[lS 6K?&*(%b$gN9zf"eI4N$5'ŜTsI7'ÜLsIfs"ęoN9$lLXg9ȕiԁ@4@:K$ 9=PPԁ:: ApAJEJY;:PKN'{|s1bj$(0΍\M\D\ZqNY"xLW!g@Zq"_>*#D0jB&(McD , MM:&HůHT"E2֭`4H0N! 塱3Hk8jEYiBHOF: hdEDWo` aJVFGrݪZդ j+ܴcZ%A[U8!ȧmd̒QyacVKDcK˗id޼k,(LxfZADVtGztJl-y&-q~FJ^WHXYHW铮0093PQC!U SlFQDtʝ[m׹fk];Q*Y[Gʑ7i&%攨K0?X!h W\` Vi;aMPV0Yͅ MآE,6,{لaOa5la ^&U(&J=ĉɋ||<6daCFE:v6ps0 gdeUVU @IigzG6x\'̇,rzlx4N48{1-,0&ѐ(F(K5*'82*RQ|,ω~GyaļX)aa 4jA䀌WsA^eDuh=+-d/> ba~ej0"Ø ΕG,8p# 8;Ɉֿ籿,쒌',(A<ɣ^^Oh%*ZuH^Ms?G%4tgoǾ a<@;㉽=pG4 W!FQ@CXg;V彴*[Z}<^Xe2Vc9+*c/7VcX1VcX1VU"*czcX1VcXeRjJsDF_$_*jhZ<TB* Jh5V-J;KGI;uO*d,fT3b|_0ѵScƘ2FccOJc\*q0Fc㜌Q#ƨ%c1Fc1FQ#ƨczc1FceM c1F1b1F+i#ƈ1b#ƈ1b1Fk#ƈ1b#Ƹt0v2Fcdc1ƶ1b#ƈ1b#ƈ1cl#k#ƈ1b#غqYd#Ƙdcc.i#ƈ1b#ƈ1b9b9b^c1Fc1em c&c1~Nƈ1cJ#ƈ1b#ƈ1b1!bCƈ1b#ƈ1be] c'c1aNƈ1cK#ƈ1b#ƈ1b11bcƈ1b#ƈ1bs c\Mƈ1bd*bƈ1b#ƈ1b#Ƹ*bzc1Fc%/犌DF˯# 2ZAF_%Qr2 #Ș*AF1vld́u%U26bS؃2LtCز&x+l/{y9:6cTs`<lz}׿oت8c۪zm5}V/V/NVUl[NV-?hVV彶*[[}<^Y YAV}Y/GVdYAVdYAV kA־bdYAVdYAVu!/X-fM^>&/8#n)@ ($ B(v)[ ؠ Z*`)c v~k|'%tOO_н9Ӓ{{ӈiQC=tCн/vQCt+ 3=[tϿ6=n6ƝxDĝvoNOH2ݧGN9u:un<":6OȳΣ3d\XyyCu^M. \'? ~Yo a5sQ8Lwwv 3o /p3z&'^!ztxȎ1FyV#.#""^SVa'piW}MDF.p?&>pdA0`[=.H/mS^f*S?c(WZJ4Ƴ\jZGR+iY+k%Tސj^T HԄmO@>R($t+C ;Ir7H= ȁGrN]Ap|rRɯ, D,>QFwFhؘɛF,@.~] +,^T!:czϳw rGRX"DD|$"E$N,4%+Hα(F>"Fٿ ȁ+3'23$n 绠KWHdc%(GM9X=$2{4=bcGmO*_*ћ^Ϳ9t;ē ܞI&㛈ϞI=~TbTLKǚ{,H!V]tI/" %gqq t3ݽkm'n;N1x_&R#aq;IINvRdl's;YIDNvⷓ$m&5tK8`3-(ɀYj_q8@D |; DTSAlp8@ h#q͎Rp -7M#q=+ }->āЏā@x,X!Tm¹0FG @/< 47@ q8ANQBn4\7q80?oāSDI# e||y xHHā: jy  8Pq80āj7n ?=L=HāGөHqlq{2q8@ tq`os8U1@#qc&>!q8@w82[>!Gu@[Z$M;A2cC}b^O3u:cr]3eADec~TZ)RIV:4T0CإRڐg4JL%STrJLZ_<)JL%TǦwNEU&j}Y"H-/Hp6;FJWs6cflXs63nmƝSp+49e= z#̝S^G$i8E4\HCuQՈPԁHPKO3~:./GenuineIntel/GenuineIntel00B0671_RaptorLake_04_CPUID.txtՖ0@ 2ɲ7tYfZJ Gս3eZY.Tݦn9 foG㟶-P TJUp)}Wn7ǁ#"$&5HmÁB0,dk8e13DBYi >=W.4,'>mrL[;pp1k7Vpu |v{ |h36,[ā>`:u*}P٧X2KܱY⎍lTa_zS ҡB oJRn RUH }BU)/8Qy@VTW-sns~rȘT@Ts7xvF[u{Z4mWf4@?ŌaOSC88P1w?YG#VY'u! KVƣay)xl{w&hA5 M׸9A Vy8s;Ǒ$7QWhEF{ H\0ۅgx78屌Sg?9sJs 9uj&E 5m5nF 5ԀPj@jܦE 5> ԸOPj@jPj@ 5ԀԸPj@_n1C;)33 3?K^}ˉպZyL2xeqknOۏG}# ^4#˲c$; oI1|} YVIj wގчd'+㝎GĽ'ģψgwV;IƝʸ񂸗 p?=+agUV“F~S+f޸KX^֬EIH("J" %H 3{kf(cJV׫΋Mn8r>R=^0O_S`OE6E;"PDGEC9 `!- R!GFLA(=)M6H_Ib$P4|)#u""Z# )$$sfmMHMI>!dOJI$| P*$E1~B+33"o$l(cg‰ Y|'I`.($Bx$ҙEc4ٛI &NF䬉{w?*@ľH.N䧿sWzd"ZSP"$]U0 RYfp_ķ!OG䷝UPArQu F>QO*&5"ĎBgSB~$d2= xAb0uڬBkDf2WɉXuQI"aV,H]/ք:Lɾeu! џˁ 'WZv]1#JD(ڈzɳYIP,LP"eBj&R'$1!d>]a( UD`2Isx,JgnϜ>0X>|;qh?ʉNrM@Ȋ9Sz7ukP;{<+ yBRl(qߕg$ܭnDMz RyRZY>R6Th!,lDHߢ%FWZ %H R /H R#RbRL))nJ H5: sݤdJ R2wcZ5%R %Hp %3R %Hy3dZJrB99jJB>Dö;)2R %H RjOJ~:RP:p=w-%mu:oi3t:gNn:E6PiRt BnցIQs,ՁESƢt@?Oj|Wu:@ЁLE֠@@RHЁ۷QHV(v :(v jv7 ?lt -}NyCtуat:HR0:P)>H%ہF)Ȣ`@3X<t:`G{P67,%}tu:v \:pIF Rq@^t @fN$A@Ёt7 ꈓVTN{@pSht:Pr|N-t:PJ/u::pv@,Frt:Ʃ5t:PS}PC,d]t:耄Nt@?PKj:./GenuineIntel/GenuineIntel00B0671_RaptorLake_05_CPUID.txtg8 __^+o/f2~ô8!dO EGx'70.# i݁Ԗ?|÷٧OgӏvXZ{<ir66#nI(-4 'BEkI=?4H0$M+#X+;I܁ZtrA2dR1Q@NmlDxvIWi2p+yӫiUJ7bܫD)))P*i+S'10Y,Do(/O._T-$,$.P *JAHA6V,8h1t,$I(64U-"X!ZRz0YuQ ib0g[لsYM:O-!Εy/43qqQ62f7=WE J|4铠`[M\J>̓~L)qqh3Y< wy6M*71$8E$ꖔQTE"`6CW$wLjKxӑU# 40rj,TM׉p+q>ݨ}pAԨ.q u/r;DdjH"O&(8; ͦ;y 娂Yvi?*qݼo^%W4An_oЮvAZu<qk_PxZds79NPEFQX b[_举tiߋ^Kӷ?d^/ߨqMxZDz^dMX!`xIw?h_aGX:@a%!pnǥ"4x1\de(=/!"7ԗTaR&رXSK"RXv^lH><%o7F]4D.7Z)iHP%,)k"m\}fuȴ,gI@~ŏw4cqChp%gΆ^{d@dx06m;CPK_"x%m!5BcKC%krE`'\gؐLTo$g=4$F% C<1цWDPECšWeob.bH2T!l]\3$wSwgL,A"3`G~O!2>?. cRΎ2jgq+КPhq2d hq.äJhdJ &v!#%42?of ~iNrcGb 3G{ j|T5M6A9r=X=%wcWyٟi['ضƌ3Œ0=8(. ,WbKĵ tq`yqr98nkGzF +H\r"W]di YƁq(RwXLƁq`Ɓq`?8㰸1#a}hUd<2و'=80RIb;؄q`Ɓq^2AWA9N>8Qgl*b06?898ztJC8);q`QƁq`8ЮZ|8=4iL"Lƹ810okƁqsq`yPG'x*:8LȲrƁq_o#c]]_Ɓq`ƁqƑ#ƁqژzL2&?280ε48q:q` ]#.Ɓq`fۮZ#S^2rFŭsm0u88W9?vƉ-48080N88 㼒E:DZjrq0sq"X8]80N6ƁqZj{q`~qƑr^ r*'!PANQH]ďC> 9x`59Yr 99>r^Ir[u@ SAN\L99I-r ȉCSJrrB$X=r@ (k4l!'מ=?9j1j9@9@\Px $'O+&g2_"?IrjָCNՀ C=9@w(r9@' QRDN$j9n~ rL~>9@yr* v(r"M&KorBw 9ku ȹg$%G9@9O١I!m~\?A)Sh)5啐 Umǟ܃$U?U>MUV\USjUe3* jiUU:zR1)w^>Ihoz_{bt=\>Z*#ۺ‰G8p}rjqz^;rGY,)2F\zSo\_|m "s=\?G;Urのz^uov} f)I[>%R=Czv}~p=\{7Os=\$\KG<)zgyS}z%PK'\^:./GenuineIntel/GenuineIntel00B0671_RaptorLake_01_CPUID.txtg{8?_sjwf$7.L2ylRLj$ jk|xTu5(+3»mqˍVX.vU xӷonY(DtR JڟFs<ީnU_8r) D3s;'r7N9;x@2I?2p"&\xuyr&4@X -7t+Q@9kJ]hbog0[,W˃݅H5"EILVvP BBF¹tږE ێ4-K[p:ʅ5r:(+(u7d -JD{Cج|vhPCDԘ̵mYͻ(8Q8-27*cO{t<3黈ѵDA.H()\FapLx4>3h<~uPy6p%.>^0G[ yLLFτL+L::UUs_5/\)rI3Mm!]Ss 4 t+s#Z͈$"֚L>h^sLᶩ ÉúQ0/i[a"NXf¦.l pr10).4l%8lc a;@]#:@K3/aMD@Ea>1h3Zrk[㍍1wlT4 CſzIpA @TI)I4%)"a6B7$LaR])V$X PZx^?alУ2PD.M\x'd+eF[u"}OP bꒌ3`ljX!i aӒsʠ/rqW8s׫E9)pq8Ng9qqZqZ=M>uq/1@S'bu4Ͽ_ƙ4ːiA=ieYM-4Tb424C04`5bj`Li0 4ӨӨiMi0 чL,3P%E 5FF5ԀPj@ 5Z5ZZԀPjcQfƖ5Ԁ[5Qj@ 5ԀPcƖ5ԀuC:553Pj@ 5ԀWFFOPj@2 8ԀP㈠5ԀPj@ q5j8ҢԀPFgRԀPj8ԀPj@ 5F3gZԀPjcq5xDP5ԀPj@ q5j<"HPj@6Ը-OԀPHPP@ 5ԀPj\%%-j@ 5ncq5)j@ 5j5*ԀPj@ 5ըQ#QӢԀPcC>5ZRԀPjj45ԀPj@QEPE 5} 5%E 5A j@ 5ԀPj"E 5FB@D 5˄PGPC 5ԀPj\==-j@ 51(3PHPj@#ԀPj@ 5ըqDPȊPj@uC:5Τ58#qB 5ԀPj\g5δ5(c@GRԀPj<"Pj@ 5Ը5x@ 5{Ѝ0 *FmFX󗋳5曜$.ݵE"c7ehp6a9~x}{qا},&1Ix<79 zcdi}"MbXDD#a-r4>dM߽{NEcG,l8s%`Iq幵ͥEJ/kv"D,YoLef RKb O+}'#qHC*7\;ϼpյP#?Ģv"< mx㶖wbaጝFHy$w86WOge,ƍٙCR&D+:1C֯YNږgFcI@w$ŭ7b\H};By/Ă,2:86be2ȭݑXF Qykb/Yc -;R_Ɨ$DF#1C/ qwb-oke@>3x L;$3ocqF&߯J@/ BݎWPHuwG״);[08 qq,~9qgo3bٌʕ$gYTGuFb=ݒ(iJ0H eM)gh Qm6RfLs,4 # 5,'IeY.H5.$~BYOa% !L[qy u[mq?DR͝QHEqM' IY.wYFWt |0IK4eVqtw(?Y9ﳂ|V AGF7G1xi^핶OmJ3Ҍ4#&R 2}byh1#ciqb@m2NM#L zqrzfq.2N8&GC84iq[8n"őDƪXudiO'okD}qhQ)fgGQ&84·4 )!8j\k{SMyq Īqh1bo 84C84sq84C+jq|qd<8q#ơq2f:N@p&"|W 4LsMec84Zd3l584㤽qhSPV'"0a}7Gӌ347ND/Nwqhơqh9nC;jBWxsĄPvqӌh' vO63ܼ84NNơqǑ489dquMӌ?fq#wơqhlK84Ngǡq>q*D9`Z| DMMlEV#r"$ANp!!rde!rL!"9ӑ!˒3Mfyrli5"^xw~WrrDC9DC9]r¡ȱD9>"ŐQ|^ G9at-7!ǧ!~ 9Dϣ^9DNm:9~V"9Gl ] 'f2yNY9cs1Pک!r"!r"oOl6ظ@NN1zˉiCwwr|V9DS!)19DK/"'9?Rrj U}[fFroBmOCN9D>9]vh\9DC9Deȱ_OrP_Ͽ* !9`g'3UOQBDAg˜{tDU=DUTUEUQU?.ffLĬ~P]NrFjψWs\NrI^NrRd,'s5I.'n9IXNrV^&L*כ";=?DYW׀Z5˜d^|..t=]ۼtu3t=]O׷C]tyh~Ѭ)R\gg/3Ŋ}zϾ]zފtKaUz;?G rFEuB~z~:gwU_z[׹U/s=]oMB$pGHr#`p}?w_7כ2[]Ot}s=]t(1 j _ %huvt=]ꡮ7tɮ/]7KWly[t={0QwHt=]OsNH탮zz9?ׇ4ل=Bj"K~ە#\_ع>zC׹/Zs=]u،{=]O~'>QآrE=^Tz^/nU_zKutRrhp@v!t=]OP{\׻nAZN ]stzfz[\A ]^/>U1}!S]Og^$E$@ן3hc&i(^`9׳w/]0Ku=]O3?t=]2\)>/tɮwp4Tۖ~bસ9|kw'ѷf[/;B~确Ot9^b ތ]OCC۸^4t=]OGӯs={|z`t4xkz➻v땮?4\"j"zs}u}zkL|z^^_/}7QK\-޲t=]O롮t(e/HR2or}t={#n\oZs=]Ot=]'IIzˑwBןzE*~>:`K1/r}>Oחg~֝P_u{O׹7\kz'ޢSA=~}qqzM ׹AD3~5zPK'\^:./GenuineIntel/GenuineIntel00B0671_RaptorLake_01_CPUID.txtg{8?_sjwf$7.L2ylRLj$ jk|xTu5(+3»mqˍVX.vU xӷonY(DtR JڟFs<ީnU_8r) D3s;'r7N9;x@2I?2p"&\xuyr&4@X -7t+Q@9kJ]hbog0[,W˃݅H5"EILVvP BBF¹tږE ێ4-K[p:ʅ5r:(+(u7d -JD{Cج|vhPCDԘ̵mYͻ(8Q8-27*cO{t<3黈ѵDA.H()\FapLx4>3h<~uPy6p%.>^0G[ yLLFτL+L::UUs_5/\)rI3Mm!]Ss 4 t+s#Z͈$"֚L>h^sLᶩ ÉúQ0/i[a"NXf¦.l pr10).4l%8lc a;@]#:@K3/aMD@Ea>1h3Zrk[㍍1wlT4 CſzIpA @TI)I4%)"a6B7$LaR])V$X PZx^?alУ2PD.M\x'd+eF[u"}OP bꒌ3`ljX!i aӒsʠ/rqW8s׫E9)pq8Ng9qqZqZ=M>uq/1@S'bu4Ͽ_ƙ4ːiA=ieYM-4Tb424C04`5bj`Li0 4ӨӨiMi0 чL,3P%E 5FF5ԀPj@ 5Z5ZZԀPjcQfƖ5Ԁ[5Qj@ 5ԀPcƖ5ԀuC:553Pj@ 5ԀWFFOPj@2 8ԀP㈠5ԀPj@ q5j8ҢԀPFgRԀPj8ԀPj@ 5F3gZԀPjcq5xDP5ԀPj@ q5j<"HPj@6Ը-OԀPHPP@ 5ԀPj\%%-j@ 5ncq5)j@ 5j5*ԀPj@ 5ըQ#QӢԀPcC>5ZRԀPjj45ԀPj@QEPE 5} 5%E 5A j@ 5ԀPj"E 5FB@D 5˄PGPC 5ԀPj\==-j@ 51(3PHPj@#ԀPj@ 5ըqDPȊPj@uC:5Τ58#qB 5ԀPj\g5δ5(c@GRԀPj<"Pj@ 5Ը5x@ 5{Ѝ0 *FmFX󗋳5曜$.ݵE"c7ehp6a9~x}{qا},&1Ix<79 zcdi}"MbXDD#a-r4>dM߽{NEcG,l8s%`Iq幵ͥEJ/kv"D,YoLef RKb O+}'#qHC*7\;ϼpյP#?Ģv"< mx㶖wbaጝFHy$w86WOge,ƍٙCR&D+:1C֯YNږgFcI@w$ŭ7b\H};By/Ă,2:86be2ȭݑXF Qykb/Yc -;R_Ɨ$DF#1C/ qwb-oke@>3x L;$3ocqF&߯J@/ BݎWPHuwG״);[08 qq,~9qgo3bٌʕ$gYTGuFb=ݒ(iJ0H eM)gh Qm6RfLs,4 # 5,'IeY.H5.$~BYOa% !L[qy u[mq?DR͝QHEqM' IY.wYFWt |0IK4eVqtw(?Y9ﳂ|V AGF7G1xi^핶OmJ3Ҍ4#&R 2}byh1#ciqb@m2NM#L zqrzfq.2N8&GC84iq[8n"őDƪXudiO'okD}qhQ)fgGQ&84·4 )!8j\k{SMyq Īqh1bo 84C84sq84C+jq|qd<8q#ơq2f:N@p&"|W 4LsMec84Zd3l584㤽qhSPV'"0a}7Gӌ347ND/Nwqhơqh9nC;jBWxsĄPvqӌh' vO63ܼ84NNơqǑ489dquMӌ?fq#wơqhlK84Ngǡq>q*D9`Z| DMMlEV#r"$ANp!!rde!rL!"9ӑ!˒3Mfyrli5"^xw~WrrDC9DC9]r¡ȱD9>"ŐQ|^ G9at-7!ǧ!~ 9Dϣ^9DNm:9~V"9Gl ] 'f2yNY9cs1Pک!r"!r"oOl6ظ@NN1zˉiCwwr|V9DS!)19DK/"'9?Rrj U}[fFroBmOCN9D>9]vh\9DC9Deȱ_OrP_Ͽ* !9`g'3UOQBDAg˜{tDU=DUTUEUQU?.ffLĬ~P]NrFjψWs\NrI^NrRd,'s5I.'n9IXNrV^&L*כ";=?DYW׀Z5˜d^|..t=]ۼtu3t=]O׷C]tyh~Ѭ)R\gg/3Ŋ}zϾ]zފtKaUz;?G rFEuB~z~:gwU_z[׹U/s=]oMB$pGHr#`p}?w_7כ2[]Ot}s=]t(1 j _ %huvt=]ꡮ7tɮ/]7KWly[t={0QwHt=]OsNH탮zz9?ׇ4ل=Bj"K~ە#\_ع>zC׹/Zs=]u،{=]O~'>QآrE=^Tz^/nU_zKutRrhp@v!t=]OP{\׻nAZN ]stzfz[\A ]^/>U1}!S]Og^$E$@ן3hc&i(^`9׳w/]0Ku=]O3?t=]2\)>/tɮwp4Tۖ~bસ9|kw'ѷf[/;B~确Ot9^b ތ]OCC۸^4t=]OGӯs={|z`t4xkz➻v땮?4\"j"zs}u}zkL|z^^_/}7QK\-޲t=]O롮t(e/HR2or}t={#n\oZs=]Ot=]'IIzˑwBןzE*~>:`K1/r}>Oחg~֝P_u{O׹7\kz'ޢSA=~}qqzM ׹AD3~5zPKݟhy~:./GenuineIntel/GenuineIntel00B0671_RaptorLake_02_CPUID.txtz:AQ3#Y};23OӦk*Qa˞y0d/qqx{qaR}|{{x+_/"_cd͵\בHj2iF\}Oݓn`9r4rSݸv`ԎRZA ;.pƒD&!0H$@XlO1& {~ ^o a&P bڤo"g7 #d˛W;KE‰D)j)jV^4mK -8#=Jyl2=ȸd K%0=am3>l,4(!-D3mq6jfT.zS3<H CF5aQQm`̜]yn6a8W[%9g޾fafILx:ӎ@0|t,0lY/|xg0&=a`"#{ **>ʙ/gf8&7GtQqƝ^p2a$/R(MMᕜ (5'Ut7MtP K 2 6`Ʃ_6հXYN]ڲph>?VKM5l|8 -:Hl^^\L Y09 t4]lNt  a(Ӄ2Q”R.I +HeL#"*T ++SVyDRP#YR&b^P_U'IQ0 (jYZM Q}|PejhWd0u>떮pfvL }:}12̏s"qoeH,`$?2%{<-j)ZPE3&fwX] bI4=8%+ p,3[]Xտ~lztSv?˟~o:%)tJtAt:@蔴tЩCSf sq8);8pq8u9aΞt:{tǃ:@t#tN:aS(pS9)bNy|1pq88H1-pqNc3sSs:%:9@:@tNb:yAgu0p5pqqpq88Gsq8yqss:{ts9t:@=:9@>:m0>Q8%rS#Ŝq8pq8ǩbNU8'c3sSs:%:9@:@tNb:yA,Csw9 r@N@r@9 #B9 AifNV!:DgCt!:DGD'q3SDg0Y%F99 r@9 gDsr@:939jNV!:DDDj!:DCt)I\!:D!9Ϙ;s9 G j9 r@y!s՜Ct9DCt!:DgNj!:Dg>aӒWs RAg/BN9 <{-hjN{{9 n) r`iQY_x29~C^rRPP5n/h (˲Q-5Xb 5B 5C@5Ԁ5hԀPj@ 5ԨԨyQj@ чP,3T%U A5FF;Z5ՠTjP A5ZD5Z^ՠTjcQfƖT5ՠ[D5UjP A5ՠTcƖV5ՠuS:C5]53GՠTjP A5FFϫTjP2 ո$U A5%UjP A5ՠTQK^ՠTj1h3TT5ՠ׈j\V A5ՠTjPkD5yUjP ijܒՠTQѪA5ՠTjP q-jP A5ژjlTUjPK"ՠ%`ՠTjP A58-8-yUjP qS ըIUjP Q#QV A5ՠTjPQW5ՠۘjђՠTETTjP A5ՠ--jP A5cP-jP A5jlGՠTjP A5Q-jP A5jejjP i&ՠ=hՠTjP A5yUjP FA5ոDTrjP A5ՠTj\"qITjPuS:C5IUjP qhՠTjP A5ոFTW5ՠeL5qKTjP[D5nGՠTjP A5-yA5ո|_F= APJ`4k۶#ͫ#_h&h1T+Y yg|gBfcq E+Ehȫ;\yJysE}8ȫ3 pr^G7+s!>rsy;.>Wʓ >+p؋2"o%eA_cPze%,IKgQI] QI?N+ߺ|)lA\.X5P}^ ,X $a 'RdMaxQDPL\\SzRKk9-=2;`J5d Fl@Ely)ܜt2c{i%B_ JmGo'D-Y AA1L2_ $z'~BV-EiNu=_Ď]o̿ɲ NX։9 Q,bhOH<)\!3߈JNw&ffbfl{FQ0?IdG+1{2+ %f V13G9^sH%3: u6hJ^MэlFmK HdY]#K_d}FҨ<8\'+NI_%&SַDN#377eNW'r%'uIi- )'NL>SY' I2Wq| Q!mZdM ny.eKYɕd@>Xv˲,f$,32ꚴ-ɧ/B[O 9N]7 P.QD|3(~C2H>qR:yO{#KaxEMT_rhS]ԧ8'_B wy1J- / .LQklN-l+rێIqƾ1cbfa#Igf,ܩpr3ĬSu=kݴ7'a.ac$GG`qf:2Ջ:c73wƙxzv1ƁqMGgWa.qk_48[p!ɦօq#TZ݌sjǁq:Nk3o8080#aqP#w2NzS8y8]Ɓqf"vƙkƁq'*g?NG'8{4ʖ EV2N eR'WƱFP8080#aq zH2P9P)_mvRsygc80Nrq`(5޸Vi썓%[q45880μ8LEz'hmƁq`Ɓq`xq27NC]\u%s.2N w3Nzq`\DƁq`<89Ɓqڑ)0'GSdqF>pqF|q`;Ǫq&ǯƁq`Ɓq`t@')C:luA%uWmcV 9;xOE9g; 9t2V\S8 gH9IF\! ԬNjݐSD.GN'r"r rVs|Rrh,dEx72L ÍrE9<9݋9P(Iɉr|r|98?ȱ9~f r"r 9"B뒣֕tīni@λ3ǰCNX9@}; 9@^ r ўbONJJ*Wr%g*9y7!r r'8IPӐ#oכ9  BmH.@>\kgY8Q?P ʑMG>VUPTUpfT5}YUPUE3Bsdz'5rɿDt1%ϟ/,'u9iˉ-'}9\M/'n9D$.'i19ǮI.8/]/˰jHɧ#ިsr}WέǺz+<1z^&IBuj|z|Qٮp]_EdכwL{[\^{ٹ^\p=\R\_zǡ/p]ɻ^(t{ 4~Wwp}ju֧fOt=\)'yrm7s=\pKJB-r}0h~>j2۹^p=\p=\s)b˧^$@͍qz_a!cz# S>z>zӐ\ GwzWZRO{=\$s<-Lz'rtf~zoßzs:pdV3]p=\p](IU4Kz{Kqzܝ,TףNBp=\uz )ŜWodjݓ\_}\owpdD~zW9p}-rzoAiVq}Pfz>_?7O{1 ܼn=b87z?v|?p=\p}&ip=\>___)87x( ~V/wԸ.ǺyG'oԓ( zz; :YAzz+4.z>X(Fp=z cX/\kTܫrקDٹ-zyK9OT$xr1]Pqv}ڞZpj;GΏu=\\Nu=+1Y3p=\^ <!t}XR8)TKc]p}xz/zPL9Q_zӡwp]S4;^>3績O}z>\Az~7MQ*'OT%D*% ]pPKB"X:./GenuineIntel/GenuineIntel00B0671_RaptorLake_12_CPUID.txtW0@Sdf$`+KrXG6ٵӨRxo Wb%۰KϜ?mlyK{.x{/VmQ #"jr je"^uXl/KG*DQb" 1`!0P7 3H;$cfR(Sc}zØI%_M4=F(1m o"k71#d/%aq0^fE@1 LYZjRׄP 4o'T{5] IBVeZY':Ҡ0bX*0,WFM $s,,B_7COz1|,#@[%i%y$.1vGJ^6wHܸ-3'Bȟ=``5#(>Rt2ʙ10~ږIFv*}wN7khՙLh aC;|A]LJN)EPZQ~l>kX]Q=50` D`La:vLRHEKr*mӖ:mA6k? :aIR88GM@4-Ad.Y'f7V-n~sNM,"lJ}gE'^zYW}#rJqD1s״2DZ<$e rH*` /oW_?31(B )@&tso"(#_!;8w Qb25WB(fj|a3c$F GƏav4[2 glRdQ~)q;ޝ)ZPI3J{U,)^ۺU+-fiwݞmyB7!t-?0-Ŏ'/}%ڿLn+_ ,ѯPI*Cd BT2D"Cd T"CKʈ*@ڧ! B@! G@hB@%N2D:"2t!24 !2D"CdБT"CKꀩP*PMB@DBeB@! *PZB@]ȩPQ*Cd U"Cd !2D"C%"CYBd KS!U@@*B@! e ! N} 4t**U:"24WU !2D"Cd Z"Cd ]2LWU! Z"B5RSUB@! PTj֪B@S*U**D"Cd !2DJDV"Ce颡[!YD]d!"GDh"BD!"D#"6+D*}"4t,+:"4+BCh h JBCh .a)Bk;:RW"tkj6NP(X#an"BDh#"ܞ߈P[?jE%B/ןP,?9~䭎ѓgO_kFΠw?Fʲ,6Җcb#g#[ HKf#kFHMj#l:6Fa#lԈԬ6Fi]6Fa#-b#mZa#l6FiiYm6re#ْa#ld66Fa#llٲa#ld벑 8rʄ#pd>-8G#pٳ#pԇ#e#p8G#p8r9+8G>#p*)8G"8r5-8G#p\Ep*+8G>YGMR#pDpfZ#p8G(#pgW_;yC] @ 3^ff-Zz+R9 z]=fn._*dDm"ȹ$bNsXo!cyxs99N7Ȑ㬜rLI j fsx '{VYyJhqNF몢6D8Q?a#>OFS]ZJ ,GWLMv͙ Vu7Xl&qdmREHA 'd vZ ,#JS֩nk)ԫ)&D1a,Fm 2s&c&e낁< k0س,_-SCp usHڀ1è҃\/_IEH'(~}z"7Z^& 7GĞYƣG rHy |&aۈ91OFqo./.?|!nMyE"KM̬ubB]q]-w/$r J̞6 HoIr 1uQs\t^wĝ\[mMQO{=$W,_ݶ`.1 ]0@=&: mRHO~.$z!y45j.S$T R2U|-yB'rfkWh* 9 %HɇHi[J)@JTh(r44i4IRbRJr %H R{RrJJ×)AJbRJR/%B;%O)AJ)AJ)- Rʔ9yMKJISB:GJ&L)AJ)AJ)C'%xK)1H}X%BOxwWJ)AJk=LJt%R)%RzDJCӠ5T)ȫgm}/&LJ)AJRr %?SR %tJnl*%K)i&wBmT%_Ro&%H R %Hv )S-!Rb%%L9L\dE%n?ti˦;}]ăpEE>ʐSe& rH2*`~Nпxg,"& (B )@|sc(5}_!Wh V+qykwؗ2A~#ԧ'|+썉!,W +iz2n}"V9G hfFib/wl{Ej h!jWWz!ͅПU~x|ٹT9n( [*TժatB!x$n sct8+PW"CIeDd,%Cd !2D"CdDd$!2DP2c*_ PB@G@! B@@G@'! >BӦBWR"Cd ]"Cd !2DR2tEd"Cd( 6$CuT @HU -B@! B%R*BYAcfMPV"CdDdHUh-"Cd !2D*R*Cd C2Ϙ 3RZ B@! zT Bq6R"Cd( ]RZK"Cd !2D !2U S*B@D T#U*! B@HU ! q5Bd e!Ud !2D"CdDdHU 2T!:fldDD( %BD!"D"B="BBD2.BBBh e+BCBkBCh !4!]4PsXh !"t&!"GBRa!"D"BD!"GB{ڰ"BDhYc=kY !4T"4VY !4BCh  - !4 fBD2Z,D"BD!"DzDҖ"BǸM e- !4 UBCh !4BCWҖBC c,TEh?&B~H~Ey"TyHY}"BD"B",B-*BV-c"^P_>$B"42[i"ё:#o_#_J62tl})۶Hۮ3 ƀ-d#-܆la#56FjF*a#l6FȲ6R#6Ra#lHfHK#pG#p8,8Gp3)8Gp8G#3)8G6#u8re8#8#p8GőG#e G8rO#p{Gp8G#=#8Gc8f#)8Gy8G#p,#<#pdÑc<#p'#p8GȲ83+8Gpy=c ȱ8G#p#cˊ#pc Gn3p&8GHH#p8GYGjGjV#pc8gHK#pG#p8,8G5GΤ8G9#8r8G#p,#gGY8GE]DA =[ w` g&}ocOHS K˥s9HM6_o>yfC>Xq-K)SҶgD!lIp@n lH};B؈Dp *jF_Pɐ`vxF ė*ĪjRf^>"1dC@;l-3(i Kn)DZJ f9f2(p萠SdC 1\YBw./A ~EDz4$܉^?1oZ <|C!49^nH9 rggC#C~F}Bg4V3*wp1#C /o_@9 pV΀Ő/IݓG2xCO4v5җ2Z);"!'xgIKb7Ґ'Q 3 Bw7B}$c |EfI!Аm9ICx- lH/܉. \ 9r}Lo,Y2g2 2e!.1eY^gC(Ő۴ /H#CA%iARZcq\Ɂ (\$M?83U% GNhK{A7ˌ2Fi4CWI^LZ g \,zcsxJ$1uyk9>IJRhRnnIiER @JRB&'HiR %GJ,ڏ#)%;1II)1+)AJR)14'q񽔢HBJ)AJ)=d]ZgJ)K R25d ~^aI+)AJ:" )%$q1)AJ*jV)̓$H RRaL)EH)YFIa)6+| %Hb)TLd*R %H R 7:)#SFTK44դ>IJRNsR 3tZ-UH RVJ+<)Y7H R)) )#%SqbF<)P!%tJWH/R4Bn{)YB )AJ)AJN L) F]c7R%9(fHN h]&%'h;)Ee R %Hɫ?MJ8%<.?)'kgJK RȔmO wC+ytqO)Fǰ#%H R %H R lgJIJҤ6TD^H.QIըAϡRxh2Z[*JCy@%//*JSTc*Jjm̾{DJ@$TZƁJ m*Yw⡽@%P T@%P TBP TXsGDF']Pg{J T*1 7.MqMR T@J׳u}J+ΥS TRZϿK" TĽJRԩžJW'3J%P TZ<*Js*JRSF%|_LScne-BsQS^G:dCI&M6ۤmM6d풼tmĶI&qmw ޝV@"nT%mv6O^$-t@сȗBnׁF4cА8t B޴^ xI9mu:/t:Pb 搿*u?UKuBnׁI-I-Ft@tXnY{cy9%Oa[@=dG@ cC@Zt:Ku7@l#, ԵS7M›t˂](u s]T,t:@@oʌ :x:pKZ.Yܮ$}@a:t7> Uٲ id:@:./GenuineIntel/GenuineIntel00B0671_RaptorLake_13_CPUID.txtg{8?o^ Ir9?ߟe0qYÖP}5A٧ |8:mpogSyd2?Il_3F۽Rt&z=]Ir*9ݨ.Ё^FlL h5QҚRZMJ.(,abO'6=2,t `LaQ kJ ic,a6u Ӟê+Ӗu8nMǍ Ght[ٛlaK^uicm̨QxC LS+zi֯" ,.(aVƜ(5)'HQ0ŒEDbHC Sb"(cBv萋q؃5{y(SKe@"a }bJHVMav1剿%7Cg퍋8fJ.sK-hF3&jȷhehK淮w ABI?;w2I qtKT:X6>D|s?֍~#Cn#8L#pgGp8G#3#Ϭ8Gic8rLG GD8Gn[Gn#p8GȪ8r8r۲#p6#8R#pFp8G#p,#5#5+8G13p%8GHH#p8GYGZGZV#pp䜁#GR#p9#p8Gő##GV#p! ppL8GzG:#p8GȲ8#8ҳ#pÑ2G8G"8r8G#p,#WG8Gٷ13pG#<#p8GőGGYq8Rpd#Ϥ8GyFp G#p8,<#8#p/BD si )j>V?ҏt r3>q}q]8q3922ӳ>Gxq>O12:4F>!}"Q!1`I~hX3oa$),d]w7{^>zn7 pK-cQK՗|"$]ݍi'S'mQy `0h\6#U3uZ_H&)Hu]^RD+TL6b*/_f JAOktF)ƅ՚CD3bƬdzY{fc|e$9/"_@FwҟP#+tzؼ8r 숕=o?K=fEaƉ8,u@3kc-#5[@eڢ";8|;'f$,4%)FR22(3 (o$r!pJ̞$I$h UPH"fQV5@YXBlK4G^KGQ;‹,Td}}q_ǹH.?/#WH'&yJ+Y&*@)xj# 䦖d/߉$Qʒ@Ii{ҟV̧aS P|3ln_6W(T:ce%&[dyxN˾I|^ER=igo^@r`/gRm&@NRZF (Do3DYEL #IIg 2H^d._W) $!<67ڜwq{vڃ=9]-> ;о@}RH,GqnYc^yu!C-d=ݐ's''<|X"VW/:asϋw=z})AJ"*%WJI!s)[$R"oH{R~2)YJJB1h!F!L %H R %H RzBRJR:R(udTbsAJ+%tJ)۝RC %H RzY)uϐҙ\%9&)O)vJJ)=RBĵSRr:f{K idYJJr\KIrdI;)AJ)AJc:r=RBVaBsIJe@JF):YD')AJξ ξs)AJbLRJJ8IGJG< %ySJCjL4Ri)p"%H)[HJ# %H RWJ)#%tJaF:Ҍ9QnyN)PKSOZ %H RB)AJdJ)S)AJhU[IIq^Z-,RJ;I1h^R#J R %R:_%4)}FJ{IID}^))wJN#5'uT(Gw3.)gAJ$%/)75҈y@J)S %H1RRJ y)C(r^QIBkJ!cDJTz *)Y@MXQI)6:w*JmT@%JI.JRьK*q#z.*P魩Ļ''іTbbjT@%PJ*J_J%Ωv,T3%J5=ۦ'&JToL%P T@>*J˗R)JT-(5K*X %J;*HbHe*J,T:k _E*JǨdR*tO$5⺦R$%VP J;I[Elhz*J*JV)JJm6'ɷZ%lxMTJ TvJ\JfƠ*JU@%P1ҵT/.O _,㈕7U ߖ,?)0¯$?lfff=+q|f]Dfl6ڙ`Ĭ66{ "Fd!m^eɟl- UoK¾L2ˤ,ceҖI_&cUx2e-L|Ec{qK 8"#B.o~涹L׎>JUQxo)?ցtSISu@F‡:ɻF:"<mD]tk&U:ܧ#t`;`5+t:tෳru:9-9d:Lv:Bޣ@`b @Ձj Ot`C6$CЁSuB.ցHVbu iP6ҁd}wLyRt:sЁ*t:zYƙ::p$hfJSN7x:RURDL2S@@>DrXm:y4Jt:@` :"T=f:h$]F:Ѝ}1tفt@|.h\Kf]:lt:P:˂Z9S[ uOՁ\rIhDÕ7gl@ԁɅ:e_:l+}:^䘨I@^,0=U:"B!Ld9N:ЁuCY$ăށB&t:Pt:FPZ"Ut:ECTHZ GH4*f ֹ&@@فV۶:@Rt`~:(g2ʭܔ`*6t:x<;ө:t {dsvXh6@vgu)\Av@f*ot sO+t:I1IJB@TzJDJbX3o&@]4TuEJjVuT3bbPhȥM u:ة:`t@h Y80LE|':xTQLt *y}[@'tt n YuR+O:P.d[|cZӍtЁu@j4}-d):@}:eܣJ,YсZ(@\J\S;?XŏzB$M:QCnh ;D\j$G:0xVZN:Ot:ہpZrt:T~Ёҁ;t`ĥe1t:EKh?N\hՙw@IN:ӽS?ҁ+t:V:t@pqH]-C,xҁ?PKd6;./GenuineIntel/GenuineIntel00B06A2_RaptorLakeP_04_CPUID.txtb8ǿ_y^;3 f\%L#sęFFbW(Oc 7ʵ|~BT{~;;k <׶jQ&:)׭#i,F$ T$, "NC[ {^qohT#pQO_"2fdRcDj&5-d& W\aH%`2DEL92 DaE|i UbtM% ٫D))Ռ@d\%J*b>-^޾\iZKZ-YiG=^1P BBFF -461Qˢv(Ηeq4IE3h Q)d50x#a25.2Ш"bY^MH !fnǑTm0Pf˴q@Fti=ga^G4P}$X]s[oO]+/mxƒ篼4E `ð7}&t2 @2Y&&\!2*i"^%]^%]L3ҵ02 ܸƙr:[pV"lTZ[6jE}h;W=3\ ݎaP90 UKA5,"K[հg,f0Muݦd G .{oPy̲й8PL{[Aƫ,*Y wpi8mUzxp %g4B))%ZeVUqe&TE+L+ߟJ(ȱTE0<1|cZJPƂl(z7vxefJSнv¹bb_VOr I]Cy"=xH$,_,kX0:>_+B%<)aW㓣[3) zfxW[m;PWÙۖ/xCuytr}naݒH2n^Mzz{z ˗VzPA=-B=ԃzPA=ԃzZzZuA=%ic* ᙄ !<3#3 !AĀ=cT:NYKt@$1(Y!L"+2{:G #H^ t $1(@IFh?{xJ^i=Sl^IM}Xj;^lӝ qgxgryZ^I?Xq_/8ȿ;P#I#G*2D(yP{\EL!Cr^ȞXl^s{j&'jPIxygςJ U?R#ޖJ*\TJ,mL*J{>J qM Rɨĉ_|{oY 'j3،;ZfFmmf/}a3,`3RBjEf_ӉN>\LVWZqINtV耗B\7@v`+ ڨItt:[u Ai$b13rLII@(tsu:oW:C0Yp8OT8\\tPKnx;./GenuineIntel/GenuineIntel00B06A2_RaptorLakeP_03_CPUID.txtv8 識W %Resz}6qz/oiIʌʙT=}uoϋQqpd%*?>9ϛn^˷VSxlk;=p"_Lu5Y-6οҹ(tHigqU<*g |SOv{;G'OfC,Ghkvh4xC <~ *@\fJRTꂀJ*b!-IJijӒjG-^3P BBFFKhd3kub'5A:ڗeEb2d=Ȅ(cV³`0LæK@)%bQ[:#7ؚAGR`^q4(60f<3S@%F3 JSa8$A!,,LL% T=L")<Ԡ,atY p;aBw6 IO 2D)y*?w xPVF}vq9q4uhC =$8E$\U(ʚT%"b6e Hô8YeOX%9#BDJ0тƧZr?h9euWtپXP,BԨX,/t)D1Kk `+E i~ݕI~49)XΏ x8)}oZI3ڙ;)Vkؠl*˖/[^O:cnR0n)N0qF-*g598ᜂspy=sp9%9%#s8LCqFDqPCq(š8⌈⌌Cq(istspsp98s9ӧ8.Rš85P)חr(š8PCq(NrJRš8<8+G9E)'1S"s@)sp98,s)i+F9J9CqZ&š8#8r(š8PCq(Έ(NRš828KG9J99=9rp98sp᜔spΘ✾`SK9DCqjS__ʡ8PCq(š85Rʩ)K9P}NqVrRNb98D8R98sp)IY98ӔWrr319 q08`qFqrr08eqrr{9{shsx9<=9Z9<':9ۂYNK)1凌_1N1N}"/ g[g8 |{H))0޵O /657epԯ/6e8Iʩ`8qϨ3q[fϘ^j 3꩏,1!s?$E$,Ѧ<3jR] } $Gv >:>Gc1Ng }&Ҹ*zB5-ZhiȂ 7~f;+ ?l )C &J'Y {%楼c>إgRwFWbm#^^D ȫ&O\kܽ]IJ~%,FwO$2J́$B T7v+c2q82v J|iF{; n ר5bc|VN2Oj$|m@ -E@8w6 sҞD I-No$(zw\jHcݾ$LHGϒ.])uw? ځ@%#ffj42m+$X/_7_4 baٟ%D HZm dC"Xd2LRO\s.$M rO.f>eZʤE,#IaB0Zi ƽ,vU}2.UXs_VM/`wpQƿY$@]{CϏqT*uOQӴGQ{AFj/fnV2vzgP'ՉN^D=-tb,tl۸I'K|N:N:NR'/u" 3z&$#oIN:NuRCdQ:uBP':y1|s':i G'+{N̼R'IN|P'-:Nܜ1}8 P'ԉF'XxNǖ117HmzN:N:b. u:NuR'BMΗNF nIӉɕ:):NdJ'(GDS'ubќ)h}NġǑPI7dD+u2:N.IO: u:Q!O^$!ّ0+4HQ eÓi< yB' yB' yxkX!Ű=U8O|3' yB$ v;xBg\V~`_~61Y#(65ÏZseezt!~zirg{!z4u CAu$[t,vY~\n`z6_nˇòeI˒,K],}YƲU,,fY첸e%.#En!KDn""oi!6b(}D+:I<}")rܥW"ED!)DGU")ry_fc;\d`y)h% d>"M9GNS9E~oS:€#D>n"ȵl9EN""/f4 LYZW%9qUl:РD4ڪa"T4"ӃpNC0R߬fq@Αvļ0񇀢JAId+C jV3rɩ8x:Y$3M;$gEAY ð酳,„><^g;MևɃ 7LIdZc7I7IWZiu0dJ~VNWΚx,^u|n4 ዢFdSa:kH͉K?(7Y:f]j斃kX!?a8j*aaYͥM]ڪU?WUwԧ;uۗEKe1FuEƳb["D25$nᄒOP$,)R꿀X08>ߚ'/ݘ%W4^I q 4sl7}C[40 QI,Xξ ^asNp9}9' 98sp9pN:r98Z✜rš8/I'š88PCq(š8WQQQq(š8rf_98 Lsp~98sfsfG98|8:}ʡ8j8'SNr(š8PCq(N*' *9Du\Ȣog_ щCԐ:AHI7ckFdz .B=g;WAR'4p=v1Gr&vilSI e?GUQ'-RVYA2؞+*A{Ŵ'yOʝh`Kln$<_])W2UsY TDmGzB$~%<$B2gH$@.h|; g.}˜INw&MؚNLP҄@DDWsd!q\s]3ay%h#'AzoX=t$2G*xfY9:'q'`V/]nHΜw0Ű]Rh@VXPkX 2q&vUzC8n6=DWme5w +VYUJ@r"7k7Yu#m$ `H&KWϢHvv)X<ӛ> #p &a`=fFgf\PHK++Nf.SsjPxa|gǘ#^ |x-4E>Ύ]@8OW#0 T側qL[vmiRCRtRᬇ qP:DW9pke%0IH"ȍk%gj cCEWմch, !' ʙF !w])=̚"IeQ|~Κ攵韗Fxq%J: ˒=°-W^"zkju5FN >ƱLo)MbXs7d;HU[3ȚGY=3ƺ_g88fLjYRZjB ٖ6˵;{N2 !rs),)t@/RpLOyi;Iզ=zfoYjvAnmگM :73o9_*ɦ{D6݋Dс@t :DۈTt :HtGs r9'6@ r9@j9rfsѣ9с@tt݋Dс@t :DG})с@t :`7c9DtT.+*й88ūd88wx VC J֋MR]Rt-qy]WײľY(["/|RtCh:t'(B[fORUjf(m/X9:'ÈoGb,}QH;lFam&ڛ`t.oȫ)FSAF_ iMA+_ؒ:~Py yne_`!H ꆴ1L')E7gId9MIJ)죄ڎx GdPīW/fABxݔ;ݹPnRDb 8c6]_]~Pp!~i&ꉼ{b"ȥ'fVAʪ]=wN/Qz~e 5I4BɟY?ݶtIFݭDX4fvУ8d^%h=Y'H+ۗோ}ODٹ Vx"71qNQH-Q\IpR%$W˥w2aD4LHykH?'ht=>lp ._JQ`M#S1R.ZL/G 8=V QR$ٟ%7ˬ)HݐE"vV&T"cF'FG_㤗G-(Ul6D“h]%@Dɳ(ׅ0VZ2wt,;Nuwg;$$흝cvz?Nm;N$pם`' vvNQ eى>A;>ζN;Nhv;NF;N{PKe8:./GenuineIntel/GenuineIntel00B06E0_AlderLakeN_02_CPUID.txtg(?_so,{9SXȏmhyߡw]fkvpe5֟gWmt(c˝}<|3x\s%[DNT*UL{‹+l}|z8h(PUiks[*lamqZ$XG HdVdDĉ!Nc}]/lW&M2n&thZJFMT ŪIĝ?ʀí~ߪ/"E‰D+R=Z,P0BBH9(Z]CgEZ*XjJD̖d|D`C+ h8,y1k/-dgPPD|@Vy^ΣGrL' wErcz6ѯ" DPL JӞ}P\~!{aif δ0D:ÍnE \`a L՘ug`) a99dE|@)Ř㏬e?Cu0֕d}aNgR^B< DWBZT.=6f+""4rE"Sg4 d?ng2_efa1ٸ2NN,b5πc|cGAÂGA,"6bm&0Q}6KE+pQ4#qb>g/x2es24N|"m| 25~-o2 ; ?8ؙq(=;llK+m5VhwmiR裕÷c4!5'V $ 0kroC&Cb!Cp!8m!1ᐘpH\CpH8$68$or!8$'Cp!8 !8 Cp 6Cp!8ԄCj!Cp]l9w~y#\2o˰w:ɀXu}5^τ^?=r:?y56Ňe 1G7UJbb&6j!AqC?>ՇwHZM(UK.Fc$ : ɯ^-P1?![WB$>*t{3g M3B9zY%ZmA l61_3젔|H[_ fy2_>$)3 VkRmDw* b:n‚m #)K2#(C9ʵ86;dM0L뻀C2i2Dp;dP d#bmeyޟdI=(EF1b9 a@PAL;&AD.W;ܞ< A ;u-7A U# ;,Y]<9#vSќJ67^&+ ۓcޓ'uKO2D qDk='Kr;$@>iC}\5>kIK"[HAmQ"8,A $a2EN.KIL,7O$kcq-K ))[eU D}=3Kx|!Z܎(iY5r7lQ&{5HT#Ij$FijkjFqjīEjWK!Vx"$ BY~"1 < 8N$"^= omg no&M&4t#&*HIrnĭdp[Do=RH"9Q2Z"P BBF-뜙yd2-FEj D3*+*Ev@і4C^:M #5&ku<[2EK$ˣboV!c (mdmǡ®ى8|H[íOEm/\`& rȾs=PpLi9L&xD )9'b¬%][.$KJyX+pUؖPg"3? xV+"uþ켍Q! /ZVuXu=-'-NNRsXƶ(^<:69Es^&/nیW If4fd~ HL 8Tp0[])(8Qlu<Xf N9T%deB#]I(PK.TV&tǡLw|8Fe[E듡I!D6"NmWƇ:`Iu:l@+a 7Z]fxԛ+tNhҽ좵vbL!)ao{ 3T#H$Gb+Rkm*.4-vq~tu{v}SRprjᓳ9c\j;/AsLرQ 'RX/ˍci.E3h7ƿZRzB΄xdC7TaE-V PYPkdCffH.&& בJ"a|9E;~xJWR'!dIyf3@i8%9b.J8wT`gCDhF&`a P1@F2dy7܍_ r+`F6%1 Dgh& i;y!!Q/!1&k5&kk `RbC䍤G+:2c'!D7b 1@ +_; IWZ|_b|oeWw(ig;/$@]25!FkWv%752D'%SE/QQC{zŐITlgd ; (Zb֒'ۋ/ }Nv%6D΃!J9;iH;2^l`4v=+I1%!Ab`-OT!S i !Dk%\HA YʙOX{ Tvܷh!Dш f&0H_zn#8Jj=d'R,(ssYr3 3m3 3ɂ_UHW⾟Z[T?Vuݐd=YOև$HrW Y-{ZkWX,r%G9랬'YO֓d=YO֓doIą=֓d=YO+Y1sC5;^Fb}Mf=Y_7g=YO֓d8 g}z gg'zdkDٽzXBloy֓d=YO֓~'Mx~b00s^ʈd=YOGX%X~ߘ]B(^ܜTh֓m{֓d=YOn$Czi}"eE$S^a}x!Wۖd=YO֓d=YKc=Y4 U\c=YO֓d}&7eCD-!P{/`=Y_z~G֓d=YO֓d}!%'_PKPq}W ;./GenuineIntel/GenuineIntel00B06F2_RaptorLakeS_02_CPUID.txte6?ÔQw3#Y-qcf>w,ep z_0 dݚb<>):.?"kJ~w_i *5 Ow` YɕoؾvQđHBg: h-77rwRycԖ?"vd֊݂Z$l.)E!1 ih}͓ܥI 񻠉rզ[)H(#%73 \T}k_]qI璕[0E]*JAHAAk,Z8iS˲L2c 9efe1 VB`~5a}ج3uQQcPgzuDPL8jiWu8i!jtsŁyawmZAIrTLC Vĕbe0 H]g*çvA$p񳠃a3g!X0l }xμa(|nP3&5EIIrp/9s(\JSrQ_3E _:xAUoE%1㵚qXihQo2tp[ 7Bf#ð*Ta*t!(⨁@j.lV G+awnlx8 Ƈ Ttfůл H<(+/ 4Y3]ܱ@o>[4C _zIpFWA6RhRFrR0ٸ$ސ<ف*9:3;#+Ub:qj"'^̿=; {kthč}4ZibyK\Oe_E1/d9_t>VΆhalLIYw `[;E MjF[e~RV˓{EC;>96GKi04óMq 44Ip+>ȡ 94< aR츩X.  CAѣOSN^!:DDD^t!:DCtNNI*:D:$:e4?@9%䀜z9 r@9=9rqș6ى!:yEgz!:DCt!:{DtvCtNRiCS'Lsc5䀜 rANTs9 r@9 D9E5䀜sӜCtNb)9Ct!:DCtJDtTs*:ې39rV rzrTsNr@9 䀜՜r@urMsTs!:{DtTsNCt!:D=":9YE>$:m4jcFmb:8O0e)m}d0iҸ}oƑ4i 2ieߓF]ZOD(1@[c_PbBi\gFEHi$%!4@Hi q6iiT4FVhCgFCHi$%!4@Hi q6ii44FVҸ >464FR"! 4@HiM[464FV؆H,3L3 fW4z4:`Li0 4٦#љ`YM:feiܘ`IM1`Li0 4٦qƍi0 4iq0 41i0 4`Ll8"q0 4>f Ӹ3 4=bw4`Li0M1;`Lci|"U `q_+ AS 4DpK0pf3x>[}`EdegqA.C.nobNs׈; r9kdq9kTq9Qktq %ʹra|\C1,kD9ryy /.yE|.7%\9>ڝ";aW+f>a(0A]ÿ$Hzc&`K_O|Yw&n[˕Gbqd/',v&?i\+sB2{F-|TߞK (52.BCw"FSLRW6U` ˆ$gBKődeկf {dY.RSm`vd>lvd)"-y ă|XgUc敄O"IrD?Љ# u1u$ \j H<7dNDvdڎȘ#UHڒ|ym K9OvvGJ052OBCB(Qiרֈ)5*[2`1auDn#zXF`WK549oDNSD:b$&< 飾oNna FTKQC!yc/~pEqp9,NpBڜF]=0d 22$dlpDP Q2md"d VFq'$cK"9gdWYн[WȨo#$d2I2"ؒ1КFh=ۺSmd $('Hd2J I*cBML?21g2H`ed#CfЌP៘დf3*j6Udg3X) A3hGf8=jFfHfxoҸaƏ?͠4#f4 HL Eb+f3f A3;͸7Q32xzp6BqCSt A33Q3 !&k;32@_1c|f͠4fԣfT C_ҰT J@6oQ^f /?1ÉΦ5C\gii=MM [nGf3h`gHPKiD6!=./GenuineIntel/GenuineIntel00C06F2_EmeraldRapids_01_CPUID.txtv6@uo)[E^-B)"L9qø# Iw+O'w-yB6N'Ņ [O8~{8- Tӫ)9*.&'u#GA(d.Jr|$Mو<[/i9ޕ/9Re*ֹN'&p 4PUE ly*N8EFmE@oT lff,651aDlvh%H-D^1#bHPBGV"G'6 ( 80b|}`l|@':sut4eQ+ !-.( _@Iu^GlT!1A0-b܉A/,+Kf@nj} ZdT~fQܯVdeq{arɖ ~Y@F.PPǥ*΁֏ٌa,bǙWBWT4?xτg%^ $$㭃=a&l${c8N>TPZ)y=lhMehpCez *Wy%^(,6ae:AQ쁜tԅِtҾ&=җØir""H*YxVj yBP""r>rT#e:M3 2, K'VCᦪju Z lF0]8Eaa2oMy?H[9X5+7p3U6gWG>X+Wf<0ӈp&KCK8s[ .p|y8[zGA/<(SaD|H *\We .ɳ@o#=ު~ʓV\XQL0y >퍌+>1q¼7EtlcW&;e @A Ǻuans[hsKAIwI7ed% />xRMޕɃ>ޕdc2--=ݬh3^tnBa ; 0@a 00 0P <0p`< d 2@ dxT ` 9nB a ' 0@a 00 0P 0p/`^ d 2@ dxU b =nB a 7 0@a 00 0P lː3F B@  B@!  B@m7 40W |@Hi 40Vi 4]w@H3J'!  ~bB@! B@ '! 8N+\ 4~+@Hi 4@Hi෢T 4nCx(\*E@! B@!ூT8>Hi |*j 4@Hi 4h4cH %-! lKےB@! B-! <pV l-Wi -Vi 4@Hi -Ui א3J`E@!` `E@! B@!` `OE@!=J4k@Hi 4@H׊Hi ːe rR@ UpU@ H) R@ H)VQ-U) m\=q ā{Xā8@q ā8S9@8H0WR@ H) RX<* xP@ HSpT)ā8rY@q ā8@ˁgOq`*ncgR@ WE/ H) R@ H)`^(  *x@s9pq ā8@q 7ā801\g0W_|Q@ H) R@ HcUQ0UA8\|W8q ā8@q w8T8p?R\TC) R@ H) UOE?RTpj @s9[/ā8@q ā80@C9p]8pR\UG) R@ H) U_ERTl 85>8\|*@q ā8@c9pq L>ƁDŽ H)`}R@ H) *`_  H)` 83q Vq ā8@q Vq Lm)S@ HsWS@ H) R@ HcWS@ HSpT)pŁ8rZ@q ā8@ˁkWq`*cxH0WnR@ H) RX* Q@ HST)pǁ8r^@q ā8@ˁ{wq`*^cxH0WR@ H) RX<* xP@ HST)ā8rY@q ā8@ˁgOq`(neF (  xUR@ H) *UQR@ mP@ˁwoq ā8@q`,q ā8H/ H)`* R@ H) *ૢT 8/q āp@q ā8@ˁ q āq`?R\TC) R@ H) UOE?RTp^ @s9[/ā8@q ā80@S9uF Q@ HsWQR@ H) 0VQ@ HSWy)8rS@q ā8@ˁOq`*^cMHB) Uu)(P@ H) R@ HSp] .RTpZ \ā80[ā8@q ā80[ā80e)S@ HsWS@ H) R@ HcWS@ HS+@s9ppq ā8@q +ā803RF) UR@ H) 0VnRT\p^ q āW8pǁ8@q ā8r^@ʁ3RA) UR@ H) 0VRTp^  |h 4@Hi T44j`kB !`,KB@! B@R@{":Jh *h 4@Hi *h  i=v!`. v! B@!`, v!`*84\ \+@Hi 4@Hc5phJi LcH2nR\* Q@ H) R@ Hcp(F) LUs\@ˁ{wq ā8@q`,q āxq` H)`<( R@ H)  xT*=Rq 'ā8@q ā80 8P13RE) UR@ H) 0V^RTl 8/8\+x@q ā8@c9pq L>Ɓ*ૢ/ H) R@ H)`* *:R@ˁ q ā8@q āp@ʁn3RR@ ~( R@ H)  (R@ K_q`.~+Ł8@q ā8r_q`*cH? H)`* R@ H) *௢? H)` 8/>8\|*@q ā8@c9pq Lk )P@ HcP@ H) R@ HSP@ HSWi)p ā*p ā8@q ā*p āx/cxHR@ R@ H) R@ R@ m\@ˁkWq ā8@q`,\q ā87 H)`n( R@ H)  Up*:Rq ;ā8@q ā80 8T8 H)`<( R@ H)  xT*>Rq 'ā8@q ā80 8T<8/3RE) UR@ H) 0V^RT<p^ q āxW8Ɓ8@q ā8r]@ʁ)E) UWE_R@ H) RX|UE) LU{\7ā80|@q ā8@c9]7ā80۲y`?b\T1 Āb@ 1 eO?bXl 8~y 䁹x@y <@ߊ~y 䁱΀Z@s=U<@y <@c=U<@c=}F b\b@ 1 ĀbXbX<p^ \y 䁹V{3)+3{3B\q8깳pF*^+W=0RW3t&z9-(Sqxx8fz s1Ξx8f\D3J^qЉ^V3SL0MppDgqmHk9gQsNcъۂc}z|8egdžs̞P<73z9׆sUL49 胉^hm9>D 3-w#7W,J@KCWAӝI(#zA0&F;;4~}6 -]nwUݲ|ʧRpGq:$6Ui t)e#->gs gV]<|TY" 7˚@B⵬.*ȃ %JqSeJMO@|fHT=t~{ d j ]%g$DĚi֯JEef5ׇih EM,I6B #3cQ4)E O(Rg^!]nOUHBm . N4x}guHz:ثr VG@A(ѓZ+zRkMІhƊN=ת mAD6D ʦܯr_߂|,]P csQ(g08`탯,eRd_z=W=J# x#E<ҹaGExy4}2GpbN'C#`AI$F1IFB؉l [ZZoOtsH'1)b.g" m8&/*QP$RUYOdmczNV"Sk `o֯(Rf_((B#!~uLx]T$vn֕8lizwD^DNNG5ybg:0|ߡb@LvRDQš+K%bZ7|Htnx$xW[X([6H(uw,5]!+#ӿΣGq#G<yVQm/yBqJ|;~%֞E,c%.%k~~_~Wǰ?y8;{'LdwRۘ3~{XOOaϒbMزHXÈm|j`?_e'G$ݷ$fy͗~at|`?Ow1QB6f_]lXi.~a?&ck~af?W)}?ϒS/-~FVa?_{;cNݏlZ$dO~2zp_bp?w~ؿ\0ǰ;i&1gΗ~a?o#~k~J>[s~P$gM[#1*%EˇQL~,OFL[ۼ&K5-~܏q?/u~ݏTT~-H\~Nۤlp??lWI?~~_%j)4Խ^jL~܏q?P~p~ܟE}RLO{)%|?|5Ggx~TCԚeTw~g܏q?qi_]Vоsu>~~q?]чc_sx~܏qwz>>%˔?R~܏q?z{܏q?W')9Y&}ߛ/xnc?{>܏qv?ΝXq?tg_ ~ܿoܿmbv?O򊲌3=J[+ɽoq??s~gj5]Yײ;ݏq?'W1㹜QM5]}>15~_?ȨWivw~܏q?яc'tOK./^/=܏q?cܟ?rNVVV{]\.ULK/~܏q?Ukg}q?{>Q'~W6m7{c~܏ŌyKq?y#;gU~=z_~~܏ p?ܯYuUBu6M15Gμ~܏q~/ke Zof2Sq̥~gܯKtI{/۫$''=p܎q?/qOޏ~"]UJ~܏q+~o?rjTl%4'ZrsN|܏q??"=tY22͐YBjq?9wG{,);Y.fe~~O?tFbb~Vbt?~?cZy  StcV+" r?=܏q?v1O-~OKJInkKݏq?qq5_Ja˵?%k7Ⓨ/?5vJJ]1~Ϟ=i-ݥq[LֆO) r~܏q;o/Ǹq?~~ee;W '5|p?/u=GAQδwb_rx~܏q?U81s~܏?q?w,'ы|p?=W.Ϻ?]'u)k~ϧbs_r~܏q?cg?r~e&fvol~܏q?t#y?wޟu^{'֛.+qS)w]ÞǸ_ӾM-R~RGmPp?w_Jt4QVIukgG܏q?rr6oݏt^)fnWyIM~~܏q?KǸ q:ݥq ݹVI+uf|jp?_u#*︟ܛF|B0Qr~܏q?Y??q?w6wO_jO{kQVwp~.kUq?'xե,ԩ~܏q?Kq?ܟ.ݏS`qJHEZst~ԩܟuJ1~gEq??4fZ#H,#}%~܏q?GK~edP7wE\/YzvSܿp?zk\G/HiVWC~܏q?-cZ?q2]"sV⃧O~܏G;#܏q#k~`b0ZtYΌq?cc?5~܏]gX_oRr]Rdǎ~.wxqgw܏{0MmC+A7%y-w8cok?rv?ORm◚}o2^03q?uc/-;Zz ~܏q;?(Ǹ?t܏q3[g+?$kIRdǓd:qږmݹJ/uI~܏q?tJjq~z 4YKOw_p?ݿĘُq1~g5!}T~ K?~v~܏_גT~eI|~OΆcܟS?rt?IRrNJ%di:~܏q?KǸ_u~܏] ZܒjԽ$~z>~N19~܏q?yv>qEz6~Kݏq?Ls[G.IKHl&+M)/?w_KǸq?x~o4Ut~ӥČq;~_Ǹq?>(sK^Zvq~܏qv ~ߪX۝Ԩ=ؒh\~܏q?k9߸;Emu^aEq&ͽMS4K0uq?G 3cf _>7i\Or?~ܟ%'o[*p?O_̵q_~܏?\gq-i\}g~?e Oc߫?rw/~Tomb#܏q??Ze~tGOJ2?%>x묞 bNq7&~܏?;4Y9}޿Rg~܏q?bp?ܯN?%6җE=~܏q?*3tlq7~!bcmU~܏q?Λzf܏q[c}3!JIkϿ?Uֈ Q-q< Zm>ߛ ߩdEbuiޖVVQs^?'#^~5c?wcJo[6խh.?Oߋp]?^%y?(V ? x ĚEg!I0?*?F?ou}2 ĒeV̯Ÿ˽3Y?Un[>%iђ9 ?/?NǏh3Y_U<?KPg)&,3+c~HW2LK?L:vy#[߄h:?{> ?3Zz<~43K%9$6KsUR(?و[16PK d5./Virtual_CPU_/Virtual CPU 0000F4A_FT2000_4_CPUID.txthPOԢb}B,D%//WbNNrAB@brvbz*@zU]aHMi1΋q^Ÿ,qӧ*dx#;f>PKݜ <{#4./Virtual_CPU_/Virtual CPU 001067F_Snap835_CPUID.txtY]o0}G?\i/T2 N@W4BYeSՇ,%kH$tt~6ΤMN +s}}DXQIV*v2-hmS^x凌pkhMKMKz퀅޼;HL tj7VkS?E8Jd #/ i$ͦF- /)i|WBB?T%`aSp~k0I㥗 cSViFwkxڽz~7\^^Y܂3?Nn T!f.bvB&bI6!LpΛe/'ixFC$G 3Ou͟zqW O6 BM.L./AƠÂ_& ?U2V8Q:gȍgZtݠm`Sq8;.r{c{gƛ+Q(d}2e>ںN-Ycn2먍gG&><δ_ʐQE>1ER+0)j`;:2*hc: +nHmͲ#׻v x3c^mц[lf 0N2\k76"[61&9nCd@) [(GVq~L&6F!s]dxc<3hhʳiOGoh"ёk"JHm-8ei?Y Q炬τʵ~-{?S$[TlA آc?AJ=6lQ٢QeFIQ|c,-*[XlQa?T[@GB{prቇc'cNII*Ò\%Ŵ@BHjMo4L4_k1=gERTvgf|-d J႟rqU9<^p lQOf# )Q\œ;**A3$cgYWS*Adjkx&0PN).PGSR :_@bb5_i..v]-%;t۶jިfT2V;h=}7@д9xoXbo6j"ѪjlT'4ھ;:$9lh9=!$֗$,پY aU,,&sRcf13}=]jHF?nyq}a3t*+LM&@k Jn5[%> DQq[@9 $pH =zEIK @)} T<*? – "{EU.cQp@ ~tX0—X]pq[~N{+ap˸cu&A 1(*eK6?A $CA zoJ8Wr*éJN%STQɩ r*9JNmSe%:*ɩTr*9iNUp"SɩԦ9UWréJN%STSɩr*9JNmSm%:jɩTr*9NmUx՛/[3.1rem8< q\q24|\qƵ8ӸqM>n㸍96wpus>3;x/~tkgrft}g?g[Gl2ܹ?WW[\$[88ٹd˝+ܚo7?0Ўq3A Ki-חj~|U(&0RJd&o͘uIJP5EZSpSH(H }\,IdEDETORaR0S=$vx$~PK^bl04./Virtual_CPU_/Virtual CPU 0000F4A_Snap850_CPUID.txtŖ0EsvRbM#;GOm>kz&zazv~֩_5~it[;'[{n힋2^m6`~hׯ_vcz # JR( G3`e5;eWQX@ z](_@A*Ts #ʁzr$VfFq VY˯@*ffZuo7{֙ X+X?20aU{C {d!#v=JB KZi`<90֨K2Ńn-6TLG8FGob7:%<@8`] [s2̒^Cˬ LZ&-Ik0./Genuine__RDC/Genuine RDC0000586_RDC_CPUID.txtstQ0+P\@ $f˅Lf2P PK0./RiseRiseRise/RiseRiseRise0000504_mP6_CPUID.txtuQ咜@Oq'Ȣej&lFbOq>y'*%|iiQ}ؘm6[m7iŒe}m[n[v=߲FSΫ[ H`%BA6l2r=~s*Vq6Gr(VqNPAh;TB3USj厃M:R)SZpW_2_-Af˪ƃrW)g4ode9[e'4E)U}d1 hΏMGfwoΓ /S&O.ξDusA./ 57dgV|u40R83>ZbZ2Sc ?c(`@Ak#i0\KPK @"Pr0./RiseRiseRise/RiseRiseRise0000521_mP6_CPUID.txte%1;ZJ۶m=fu1j7lWntP]ICY5a|x~taoCnb`mL&lfuN_cvMñ#`{opxlKdWz5|)Y>Sf$uqL {[TBs'qdLf.. Uc6WZ¨o-rONQטAaqƶl|֭nd9EU>nMXO9^Tk񱉑1%چ&s orB|e!uƐP:5B'\ b`y936尗PKFW2./RiseRiseRise/RiseRiseRise0000580_mP6II_CPUID.txteP@#3yS;mcg]ig?h0 ]*# %I1]+(K`?N%MKY'K®@N$\P$5xn 7mñ{TYVtY3\ruPs(#0@g@՚F ':I+v#19-QTTtMCT\,+]Rk9Mvvz]CRREQZ~Pִ) - $,sRS.1/GO'(`Yg@mNE/PKČ.i3./SiS_SiS_SiS_/SiS SiS SiS 0000505_SiS550_CPUID.txtstQ0+P˅Tf2PPKq;3./GenuineTMx86/GenuineTMx860000543_Crusoe_CPUID.txtus1|QVtW4]{*szP|Vrr'yl哺)mٵuvʼtiLlUM,AW/)pw[8ʭpC7~1]\x;fnDI`h;|B+)4EF1R(,ɤ4t #Lق$b "8OLX f"eF*LSu3ͥRJN#ha"ؗ_߉ XL'-M\/'R"UFР#:d7re `+"qeE*:F3m`Gwr_Tt6rDt(r*}Pc\J[*+~GjT,q)-|H$Jp%f0A=ɫޭj[F`к$Ts(z\EHڥa|!.kDb2u%.Y!sAՈH & e9DAS.|E)8#DrafNy1Yi6%JH!=z0C^#[#ڃj6PKUD5 5./GenuineTMx86/GenuineTMx860000F24_Efficeon_CPUID.txt喜0ǿC97Qwrh֗jO6.zkYD_͵͵">s(DӷӗWO>0 j42xsmddggCD|@佌AҭY݋{Ƞj E.i4M:"[(.WڃԞd~eVo-'O_G^Mͭ<'qm*[Eݿs4>4!^^^AhY.g 0xKsUX n(߱e>W[!]BߤWz^dz$>9JQ7Px%-S)L24` Z"RE]{F( %a)/ٓ1|l]|" Dioil' $X&5E1H.sJXJ.(XOd eSrRj+ 4Ŋ;|"8uQ1vWϋD*G1@(` q -uQ0ѝIQxQ'CRףKT %!*n9 wcUWx,D症befCקeD["NScId I ޔ%`2{qqD*DZP ɫ]̢p9Maa7NC<| <-[ f4]!QP!G>鲄UԒVl5q?2E#Gx?"ُ~p}o413&-Ą xwFYNn\PK!%:h7./Vortex86_SoC/Vortex86 SoC0000522_Vortex86DX_CPUID.txtstQ0+PLH[[rh2j252҅044PK!y:h7./Vortex86_SoC/Vortex86 SoC0000586_Vortex86MX_CPUID.txtstQ0+PLH[[rh2j20Ӆ044PKb+2>j;./Vortex86_SoC/Vortex86 SoC0000586_Vortex86MX_MMX_CPUID.txtstQ0+PLH[[rh2j20Ӆ̰*14PKeG$8./Vortex86_SoC/Vortex86 SoC0000611_Vortex86DX3_CPUID.txt픃PEc &epm[ѪŹI7bx7lJ7ᬚ'%(3h(^*%kmWd1M"jwF:/S~7 [%A ip@ӉJpJ.L5>Ttq[}`AQ#At{GXURrM& 'N@bQ2?(T\b\PpBhN{paCLbb쑛DC+Ⱦwvɓ9+!\wlb g8[ۛ+3lPKgpY VP/./AuthenticAMD/AuthenticAMD0000500_K5_CPUID.txtPKWR/./AuthenticAMD/AuthenticAMD0000501_K5_CPUID.txtPKϾ/G./AuthenticAMD/AuthenticAMD0000511_K5_CPUID.txtPKg</R./AuthenticAMD/AuthenticAMD0000514_K5_CPUID.txtPK6 /./AuthenticAMD/AuthenticAMD0000524_K5_CPUID.txtPK޲/ ./AuthenticAMD/AuthenticAMD0000534_K5_CPUID.txtPK]w-/ ./AuthenticAMD/AuthenticAMD0000562_K6_CPUID.txtPK 3/ ./AuthenticAMD/AuthenticAMD0000570_K6_CPUID.txtPK2P}E78./AuthenticAMD/AuthenticAMD0000580_K6_Chomper_CPUID.txtPKmH %v:./AuthenticAMD/AuthenticAMD000058C_K6_ChomperExt_CPUID.txtPK y)-:./AuthenticAMD/AuthenticAMD0000591_K6_Sharptooth_CPUID.txtPKat4./AuthenticAMD/AuthenticAMD00005A2_GeodeLX_CPUID.txtPKȉM{4./AuthenticAMD/AuthenticAMD00005D0_K63Plus_CPUID.txtPK`!4./AuthenticAMD/AuthenticAMD00005D4_K62Plus_CPUID.txtPKreR5d./AuthenticAMD/AuthenticAMD0000612_K7_Argon_CPUID.txtPK7 #5L./AuthenticAMD/AuthenticAMD0000622_K7_Pluto_CPUID.txtPK4؊8./AuthenticAMD/AuthenticAMD0000630_K7_Spitfire_CPUID.txtPKO&;7"./AuthenticAMD/AuthenticAMD0000644_K7_Thunderbird_CPUID.txtPK(;8$./AuthenticAMD/AuthenticAMD0000662_K7_Palomino_CPUID.txtPK6YG6G'./AuthenticAMD/AuthenticAMD0000670_K7_Morgan_CPUID.txtPK< <E(./AuthenticAMD/AuthenticAMD0000680_K7_Thoroughbred_CPUID.txtPKnP59*./AuthenticAMD/AuthenticAMD0000681_K7_Applebred_CPUID.txtPK"OF6g-./AuthenticAMD/AuthenticAMD00006A0_K7_Barton_CPUID.txtPKnh :f../AuthenticAMD/AuthenticAMD0000F4A_K8_Clawhammer_CPUID.txtPK=W<1./AuthenticAMD/AuthenticAMD0000F51_K8_Sledgehammer_CPUID.txtPKQh^<4./AuthenticAMD/AuthenticAMD0000F5A_K8_Sledgehammer_CPUID.txtPKTA:7./AuthenticAMD/AuthenticAMD0010FC0_K8_Winchester_CPUID.txtPKӚR79./AuthenticAMD/AuthenticAMD0010FF0_K8_Palermo_CPUID.txtPK[:8:./AuthenticAMD/AuthenticAMD0020FB1_K8_Manchester_CPUID.txtPKO7=./AuthenticAMD/AuthenticAMD0020FC2_K8_Palermo_CPUID.txtPK- 6@./AuthenticAMD/AuthenticAMD0020FF0_K8_Venice_CPUID.txtPKR!,7C./AuthenticAMD/AuthenticAMD0040F33_K8_Windsor_CPUID.txtPKu.7=:1V./AuthenticAMD/AuthenticAMD0100F2A_K10_Barcelona_CPUID.txtPK ]KGy?9Z./AuthenticAMD/AuthenticAMD0100F42_K10_Shanghai_CPUID.txtPKV<9e_./AuthenticAMD/AuthenticAMD0100F42_K10_Callisto_CPUID.txtPKx[75`./AuthenticAMD/AuthenticAMD0100F42_K10_Heka_CPUID.txtPK@\y_"6b./AuthenticAMD/AuthenticAMD0100F42_K10_Deneb_CPUID.txtPKuv^.:f./AuthenticAMD/AuthenticAMD0100F42_K10_DenebTWKR_CPUID.txtPKPH̾6h./AuthenticAMD/AuthenticAMD0100F62_K10_Regor_CPUID.txtPK\b Ŵ 7l./AuthenticAMD/AuthenticAMD0100F62_K10_Sargas_CPUID.txtPKl{ 6p./AuthenticAMD/AuthenticAMD0100F63_K10_Regor_CPUID.txtPK{\9r./AuthenticAMD/AuthenticAMD0100F80_K10_Istanbul_CPUID.txtPKU~YS7w./AuthenticAMD/AuthenticAMD0100F81_K10_Lisbon_CPUID.txtPKodB/;y./AuthenticAMD/AuthenticAMD0100F91_K10_MagnyCours_CPUID.txtPK(]47b|./AuthenticAMD/AuthenticAMD0100FA0_K10_Thuban_CPUID.txtPKfU8B./AuthenticAMD/AuthenticAMD0200F30_K11_Griffin_CPUID.txtPKxx&6./AuthenticAMD/AuthenticAMD0300F10_K12_Llano_CPUID.txtPK|"~7./AuthenticAMD/AuthenticAMD0500F01_K14_Bobcat_CPUID.txtPK镖1L8./AuthenticAMD/AuthenticAMD0500F10_K14_Bobcat2_CPUID.txtPK-5L8./AuthenticAMD/AuthenticAMD0500F10_K14_Bobcat3_CPUID.txtPK1PJ7./AuthenticAMD/AuthenticAMD0500F20_K14_Bobcat_CPUID.txtPKe7./AuthenticAMD/AuthenticAMD0500F10_K14_Bobcat_CPUID.txtPK]':đ./AuthenticAMD/AuthenticAMD0600F01_K15_Bulldozer_CPUID.txtPK%K/M:./AuthenticAMD/AuthenticAMD0600F12_K15_Zambezi6C_CPUID.txtPKО u:./AuthenticAMD/AuthenticAMD0600F12_K15_Zambezi8C_CPUID.txtPKbF y7./AuthenticAMD/AuthenticAMD0600F12_Interlagos_CPUID.txtPKQxBg8q./AuthenticAMD/AuthenticAMD0600F20_K15_Vishera_CPUID.txtPK+l';./AuthenticAMD/AuthenticAMD0610F01_K15_Piledriver_CPUID.txtPKd|~B9./AuthenticAMD/AuthenticAMD0610F31_K15_Richland_CPUID.txtPKP洕B7./AuthenticAMD/AuthenticAMD0630F01_K15_Kaveri_CPUID.txtPKװp=F:./AuthenticAMD/AuthenticAMD0630F01_K15_BaldEagle_CPUID.txtPK:@&R:./AuthenticAMD/AuthenticAMD0630F01_K15_Berlin_00_CPUID.txtPKr V79./AuthenticAMD/AuthenticAMD0630F81_K15_Godavari_CPUID.txtPKU ]6@./AuthenticAMD/AuthenticAMD0800F82_K17_ZenP3_CPUID.txtPKg366SJ./AuthenticAMD/AuthenticAMD0800F82_K17_ZenP2_CPUID.txtPKx( 4k[./AuthenticAMD/AuthenticAMD0810F10_K17_Zen_CPUID.txtPKBhl?e./AuthenticAMD/AuthenticAMD0810F10_K17_GreatHornedOwl_CPUID.txtPK|k/ p8k./AuthenticAMD/AuthenticAMD0810F81_K17_Picasso_CPUID.txtPK6Ӊ-9=r./AuthenticAMD/AuthenticAMD0810F81_K17_Picasso3_CPUID.txtPK7P*)5u./AuthenticAMD/AuthenticAMD0820F01_K17_Dali_CPUID.txtPKiVh5z./AuthenticAMD/AuthenticAMD0830F10_K17_Rome_CPUID.txtPKm9+;_;l./AuthenticAMD/AuthenticAMD0830F10_K17_CastlePeak_CPUID.txtPK5awX0$./AuthenticAMD/AuthenticAMD0840F70_K17_CPUID.txtPK$ u;./AuthenticAMD/AuthenticAMD0870F10_K17_Matisse_11_CPUID.txtPK_w0./AuthenticAMD/AuthenticAMD0880F40_K17_CPUID.txtPK K; ./AuthenticAMD/AuthenticAMD0890F02_K17_VanGogh_01_CPUID.txtPK?l;*./AuthenticAMD/AuthenticAMD0890F10_K17_VanGogh_01_CPUID.txtPKm7=./AuthenticAMD/AuthenticAMD08A0F00_K17_Mendocino_02_CPUID.txtPKCǡ=$./AuthenticAMD/AuthenticAMD08A0F00_K17_Mendocino_01_CPUID.txtPKn0 9l+./AuthenticAMD/AuthenticAMD0A00F11_K19_Milan_02_CPUID.txtPKݽbh4)9i\./AuthenticAMD/AuthenticAMD0A10F11_K19_Genoa_01_CPUID.txtPK'o9"./AuthenticAMD/AuthenticAMD0A10F11_K19_Genoa_02_CPUID.txtPKZ@$=./AuthenticAMD/AuthenticAMD0A10F81_K19_StormPeak_03_CPUID.txtPK8{=R5./AuthenticAMD/AuthenticAMD0A10F81_K19_StormPeak_02_CPUID.txtPK}SFZ"=M./AuthenticAMD/AuthenticAMD0A10F81_K19_StormPeak_01_CPUID.txtPK69'./AuthenticAMD/AuthenticAMD0A20F10_K19_Vermeer2_CPUID.txtPK':./AuthenticAMD/AuthenticAMD0A20F12_K19_Warhol_00_CPUID.txtPKL'} {=*./AuthenticAMD/AuthenticAMD0A40F41_K19_Rembrandt_01_CPUID.txtPK@H=./AuthenticAMD/AuthenticAMD0A40F41_K19_Rembrandt_03_CPUID.txtPK`(= ./AuthenticAMD/AuthenticAMD0A40F41_K19_Rembrandt_06_CPUID.txtPK؉K {;./AuthenticAMD/AuthenticAMD0A50F00_K19_Barcelo_00_CPUID.txtPKb. b?;./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_01_CPUID.txtPK? h;G./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_03_CPUID.txtPKt};./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_02_CPUID.txtPKXȝI}; ./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_05_CPUID.txtPK 6Rj; ./AuthenticAMD/AuthenticAMD0A60F12_K19_Raphael_04_CPUID.txtPKg;89./AuthenticAMD/AuthenticAMD0A70F41_K19_Phoenix_03_CPUID.txtPK[?D ;"H./AuthenticAMD/AuthenticAMD0A70F52_K19_Phoenix_01_CPUID.txtPKu7N<U./AuthenticAMD/AuthenticAMD0A70F80_K19_Phoenix2_01_CPUID.txtPK'cZ6\./Virtual_CPU_/Virtual CPU 0000F4A_BCM2837B0_CPUID.txtPKQxu6?^./CentaurHauls/CentaurHauls0000541_WinChipC6_CPUID.txtPKh~S84`./CentaurHauls/CentaurHauls0000541_WinChipC6_2_CPUID.txtPKQ+r6`./CentaurHauls/CentaurHauls0000542_WinChipC6_CPUID.txtPKH.|:b./CentaurHauls/CentaurHauls0000585_WinChipC6Plus_CPUID.txtPKO\6d./CentaurHauls/CentaurHauls0000587_WinChip2A_CPUID.txtPK!RX:?ΌE:s./CentaurHauls/CentaurHauls0000693_C5XL_Nehemiah_CPUID.txtPKչM~:t./CentaurHauls/CentaurHauls0000694_C5XL_Nehemiah_CPUID.txtPK3̑<:u./CentaurHauls/CentaurHauls0000695_C5XL_Nehemiah_CPUID.txtPKs:9v./CentaurHauls/CentaurHauls0000698_C5P_Nehemiah_CPUID.txtPK+g7x./CentaurHauls/CentaurHauls00006A9_C5J_Esther_CPUID.txtPKl:p7{./CentaurHauls/CentaurHauls00006D0_C5J_Esther_CPUID.txtPK_^7~./CentaurHauls/CentaurHauls00006F1_CNA_Isaiah_CPUID.txtPKz7g./CentaurHauls/CentaurHauls00006F2_CNA_Isaiah_CPUID.txtPK*j 7Ā./CentaurHauls/CentaurHauls00006F8_CNB_Isaiah_CPUID.txtPK-Z 7./CentaurHauls/CentaurHauls00006FA_CNC_Isaiah_CPUID.txtPKb:L 7./CentaurHauls/CentaurHauls00006FC_CNQ_Isaiah_CPUID.txtPK@OwV+7./CentaurHauls/CentaurHauls00006FE_CNR_Isaiah_CPUID.txtPKހ%F3Ɏ./CentaurHauls/CentaurHauls00307B0_6640MA_CPUID.txtPK40?./CentaurHauls/CentaurHauls00307B1_ZXE_CPUID.txtPK RmTL6[./CentaurHauls/CentaurHauls00307B2_KX6000_01_CPUID.txtPK_<3./CentaurHauls/CentaurHauls0040672_CNS_04_CPUID.txtPK|u%e |7̦./CentaurHauls/CentaurHauls00507B3_KX40000_01_CPUID.txtPK 'HPx1./CyrixInstead/CyrixInstead0000520_6x86_CPUID.txtPKHMx1%./CyrixInstead/CyrixInstead0000530_6x86_CPUID.txtPKL 5./CyrixInstead/CyrixInstead0000540_MediaGXm_CPUID.txtPK:'Kdc0./CyrixInstead/CyrixInstead0000600_MII_CPUID.txtPKfhe0./CyrixInstead/CyrixInstead0000601_MII_CPUID.txtPKG~6S./Geode_by_NSC/Geode by NSC0000540_Geode_GX1_CPUID.txtPKp M6J./Geode_by_NSC/Geode by NSC0000551_Geode_GX2_CPUID.txtPK6M./Geode_by_NSC/Geode by NSC0000552_Geode_GX2_CPUID.txtPK`[@2N./HygonGenuine/HygonGenuine0900F02_Hygon_CPUID.txtPKjz@e5./HygonGenuine/HygonGenuine0900F11_Hygon_01_CPUID.txtPKaM :5./HygonGenuine/HygonGenuine0900F22_Hygon_01_CPUID.txtPK./GenuineIntel/GenuineIntel0000F25_P4_Gallatin_CPUID.txtPKd@A./GenuineIntel/GenuineIntel0000F27_P4_NorthwoodCeleron_CPUID.txtPKPn\g8OD./GenuineIntel/GenuineIntel0000F27_P4_Nortwood_CPUID.txtPK9 G./GenuineIntel/GenuineIntel0000F29_P4_Northwood_CPUID.txtPK~'$6I./GenuineIntel/GenuineIntel0000F34_P4_Nocona_CPUID.txtPK,B8cK./GenuineIntel/GenuineIntel0000F34_P4_Prescott_CPUID.txtPKHq 8L./GenuineIntel/GenuineIntel0000F41_P4_Prescott_CPUID.txtPKFD 8P./GenuineIntel/GenuineIntel0000F41_P4_Cranford_CPUID.txtPKl2/d 9eQ./GenuineIntel/GenuineIntel0000F43_P4_Irwindale_CPUID.txtPK*1/e 8T./GenuineIntel/GenuineIntel0000F43_P4_Prescott_CPUID.txtPKS ++ :pX./GenuineIntel/GenuineIntel0000F43_P4EE_Prescott_CPUID.txtPKzH% :[./GenuineIntel/GenuineIntel0000F44_P4_Smithfield_CPUID.txtPK% U58h_./GenuineIntel/GenuineIntel0000F48_P4_Paxville_CPUID.txtPK1Yz9a./GenuineIntel/GenuineIntel0000F4A_P4_Irwindale_CPUID.txtPKv5T77d./GenuineIntel/GenuineIntel0000F62_P4_Presler_CPUID.txtPK$7lh./GenuineIntel/GenuineIntel0000F64_P4_Dempsey_CPUID.txtPK d 9i./GenuineIntel/GenuineIntel0000F65_P4_CedarMill_CPUID.txtPK~; 5j./GenuineIntel/GenuineIntel0000F66_P4_Tulsa_CPUID.txtPKCy,5@n./GenuineIntel/GenuineIntel0000F68_P4_Tulsa_CPUID.txtPK 4o./GenuineIntel/GenuineIntel0010650_Tolapai_CPUID.txtPKVM d 4p./GenuineIntel/GenuineIntel0010661_ConroeL_CPUID.txtPK?417t./GenuineIntel/GenuineIntel0010676_Harpertown_CPUID.txtPK 3By./GenuineIntel/GenuineIntel0010676_Penryn_CPUID.txtPK ;*6w}./GenuineIntel/GenuineIntel0010676_Yorkfield_CPUID.txtPK3(GY6./GenuineIntel/GenuineIntel0010677_Yorkfield_CPUID.txtPK#D& 3./GenuineIntel/GenuineIntel001067A_Penryn_CPUID.txtPKg +4H./GenuineIntel/GenuineIntel00106A1_Nehalem_CPUID.txtPK6|87./GenuineIntel/GenuineIntel00106A2_Nehalem-EP_CPUID.txtPK"e7./GenuineIntel/GenuineIntel00106A2_Nehalem-DP_CPUID.txtPK+87./GenuineIntel/GenuineIntel00106A4_Bloomfield_CPUID.txtPK}9ԗ./GenuineIntel/GenuineIntel00106C2_Diamondville_CPUID.txtPK?k=8<9./GenuineIntel/GenuineIntel00106C2_Silverthorne_CPUID.txtPKլ8J;o./GenuineIntel/GenuineIntel00106C2_DiamondvilleDC_CPUID.txtPK\@6./GenuineIntel/GenuineIntel00106CA_PineviewD_CPUID.txtPKYwʝ7./GenuineIntel/GenuineIntel00106D0_Dunnington_CPUID.txtPKO= 7r./GenuineIntel/GenuineIntel00106D1_Dunnington_CPUID.txtPK@Kv)6./GenuineIntel/GenuineIntel00106E0_Lynnfield_CPUID.txtPKR;6./GenuineIntel/GenuineIntel00106E5_Lynnfield_CPUID.txtPKp۩t)8_./GenuineIntel/GenuineIntel00106E5_Clarksfield_CPUID.txtPK1d7^./GenuineIntel/GenuineIntel00106F1_Auburndale_CPUID.txtPKwՂ 6./GenuineIntel/GenuineIntel0020652_Clarkdale_CPUID.txtPKÀ8 8./GenuineIntel/GenuineIntel0020661_TunnelCreek_CPUID.txtPK|`X5./GenuineIntel/GenuineIntel0020672_Medfield_CPUID.txtPK#]Ueb85./GenuineIntel/GenuineIntel00206A2_SandyBridge_CPUID.txtPKTD08./GenuineIntel/GenuineIntel00206A6_SandyBridge_CPUID.txtPK#8/./GenuineIntel/GenuineIntel00206A7_SandyBridge_CPUID.txtPKW$S=@9&./GenuineIntel/GenuineIntel00206A7_SandyBridge2_CPUID.txtPKğC9./GenuineIntel/GenuineIntel00206A7_SandyBridge3_CPUID.txtPK5,ud 9./GenuineIntel/GenuineIntel00206A7_SandyBridge4_CPUID.txtPK_ r5}./GenuineIntel/GenuineIntel00206C1_Gulftown_CPUID.txtPKXW5./GenuineIntel/GenuineIntel00206C2_Gulftown_CPUID.txtPKGۙ 8./GenuineIntel/GenuineIntel00206C2_Gulftown_01_CPUID.txtPK :./GenuineIntel/GenuineIntel00206D5_SandyBridgeEP_CPUID.txtPK Yj9a./GenuineIntel/GenuineIntel00206D6_SandyBridgeE_CPUID.txtPKZ R<./GenuineIntel/GenuineIntel00206D7_SandyBridgeE_00_CPUID.txtPKd4./GenuineIntel/GenuineIntel00206E4_Beckton_CPUID.txtPK إ44./GenuineIntel/GenuineIntel00206E5_Beckton_CPUID.txtPKu4}./GenuineIntel/GenuineIntel00206E6_Beckton_CPUID.txtPKrc}V^5p./GenuineIntel/GenuineIntel00206F2_Eagleton_CPUID.txtPKWb7%./GenuineIntel/GenuineIntel0030651_Cloverview_CPUID.txtPK,"`6&./GenuineIntel/GenuineIntel0030661_Cedarview_CPUID.txtPK^X7(./GenuineIntel/GenuineIntel0030661_Cedarview2_CPUID.txtPKxQc61-./GenuineIntel/GenuineIntel0030669_Centerton_CPUID.txtPK- S7../GenuineIntel/GenuineIntel0030673_Silvermont_CPUID.txtPK7)80./GenuineIntel/GenuineIntel0030673_Silvermont3_CPUID.txtPK77./GenuineIntel/GenuineIntel0030678_Silvermont_CPUID.txtPKI5*79./GenuineIntel/GenuineIntel0030679_Silvermont_CPUID.txtPKJ uH6?./GenuineIntel/GenuineIntel00306A9_IvyBridge_CPUID.txtPKG>k/8F./GenuineIntel/GenuineIntel00306A9_IvyBridgeWS_CPUID.txtPK{c>65 I./GenuineIntel/GenuineIntel00306C3_Haswell2_CPUID.txtPKUU M[4K./GenuineIntel/GenuineIntel00306C3_Haswell_CPUID.txtPKJ8fU./GenuineIntel/GenuineIntel00306C3_HaswellXeon_CPUID.txtPK:/;6\./GenuineIntel/GenuineIntel00306D4_Broadwell_CPUID.txtPK hC7d./GenuineIntel/GenuineIntel00306D4_Broadwell2_CPUID.txtPKn88fn./GenuineIntel/GenuineIntel00306E3_IvyBridgeEP_CPUID.txtPK}ҩ8r./GenuineIntel/GenuineIntel00306E4_IvyBridgeEP_CPUID.txtPK}ҩ8u./GenuineIntel/GenuineIntel00306E4_IvyBridgeEP_CPUID.txtPK@y6x./GenuineIntel/GenuineIntel00306F2_HaswellE2_CPUID.txtPKYѴQnj6./GenuineIntel/GenuineIntel00306F2_HaswellEP_CPUID.txtPKdNhg r7+./GenuineIntel/GenuineIntel00306F2_HaswellEP2_CPUID.txtPK^9./GenuineIntel/GenuineIntel00306F2_HaswellEP_01_CPUID.txtPKP8II57./GenuineIntel/GenuineIntel0040651_HaswellULT_CPUID.txtPK\յ_8./GenuineIntel/GenuineIntel0040661_CrystalWell_CPUID.txtPK2& 7 ./GenuineIntel/GenuineIntel0040671_BroadwellH_CPUID.txtPKJ,)8./GenuineIntel/GenuineIntel00406C3_CherryTrail_CPUID.txtPKlW=5./GenuineIntel/GenuineIntel00406C3_Braswell_CPUID.txtPKn13m"+50./GenuineIntel/GenuineIntel00406D8_Rangeley_CPUID.txtPKus<4./GenuineIntel/GenuineIntel00406E3_Skylake_CPUID.txtPKn0X 7./GenuineIntel/GenuineIntel00406F1_BroadwellE_CPUID.txtPKvi._`|8./GenuineIntel/GenuineIntel0050654_SkylakeXeon_CPUID.txtPK'p 5./GenuineIntel/GenuineIntel0050654_SkylakeX_CPUID.txtPKXF8 r5./GenuineIntel/GenuineIntel0050654_SkylakeD_CPUID.txtPK{,W ;n./GenuineIntel/GenuineIntel0050654_SkylakeXeon_20_CPUID.txtPK%u h:K4./GenuineIntel/GenuineIntel0050656_CascadeLakeSP_CPUID.txtPKN% 9:./GenuineIntel/GenuineIntel0050657_CascadeLakeW_CPUID.txtPKpi=(J./GenuineIntel/GenuineIntel0050657_CascadeLakeXeon2_CPUID.txtPK'Q?x<P./GenuineIntel/GenuineIntel0050657_CascadeLakeXeon_CPUID.txtPKC2c8Y./GenuineIntel/GenuineIntel0050662_BroadwellDE_CPUID.txtPKo73lK;Ha./GenuineIntel/GenuineIntel0050671_KnightsLanding_CPUID.txtPKiY7 ./GenuineIntel/GenuineIntel00506A0_Moorefield_CPUID.txtPKQ=|>5ˮ./GenuineIntel/GenuineIntel00506C9_Goldmont_CPUID.txtPKQU"B6./GenuineIntel/GenuineIntel00506C9_Goldmont2_CPUID.txtPK1[`Fl38ܿ./GenuineIntel/GenuineIntel00506CA_Goldmont_01_CPUID.txtPKxpSR2x./GenuineIntel/GenuineIntel00506D1_SoFIA_CPUID.txtPKK Q4./GenuineIntel/GenuineIntel00506E3_Skylake_CPUID.txtPKy 6./GenuineIntel/GenuineIntel00506F1_Denverton_CPUID.txtPKJMe 3,./GenuineIntel/GenuineIntel00606A6_ICX_04_CPUID.txtPK h! 4./GenuineIntel/GenuineIntel00606C1_ICX_01v_CPUID.txtPK)h 75./GenuineIntel/GenuineIntel007065A_Spreadtrum_CPUID.txtPKf$l9x./GenuineIntel/GenuineIntel00706A8_GoldmontPlus_CPUID.txtPKN׃ :5N./GenuineIntel/GenuineIntel00706E5_IceLakeY_CPUID.txtPKFa^d6_./GenuineIntel/GenuineIntel00806A1_Lakefield_CPUID.txtPKFa^d6s./GenuineIntel/GenuineIntel00806A1_Lakefield_CPUID.txtPKpv6./GenuineIntel/GenuineIntel00806C1_TigerLake_CPUID.txtPKu.<5%./GenuineIntel/GenuineIntel00806E9_Kabylake_CPUID.txtPKbA7k,./GenuineIntel/GenuineIntel00806E9_AmberLakeY_CPUID.txtPKzf:_3./GenuineIntel/GenuineIntel00806E9_AmberLakeY_02_CPUID.txtPKZLl51;./GenuineIntel/GenuineIntel00806EA_Kabylake_CPUID.txtPK7G`8KB./GenuineIntel/GenuineIntel00806EB_WhiskeyLake_CPUID.txtPK]Y!>G./GenuineIntel/GenuineIntel00806F8_SapphireRapids_05_CPUID.txtPKԞo+9 >a./GenuineIntel/GenuineIntel00806F8_SapphireRapids_06_CPUID.txtPK5 ';΍./GenuineIntel/GenuineIntel0090661_ElkhartLake_02_CPUID.txtPK 9 ?./GenuineIntel/GenuineIntel0090672_AlderLake_01_LC_BC_CPUID.txtPK 9 ?a./GenuineIntel/GenuineIntel0090672_AlderLake_01_LC_BC_CPUID.txtPKS* L09./GenuineIntel/GenuineIntel0090672_AlderLake_02_CPUID.txtPK49$./GenuineIntel/GenuineIntel0090672_AlderLake_03_CPUID.txtPKfލ9-./GenuineIntel/GenuineIntel0090675_AlderLake_01_CPUID.txtPKE Hs9./GenuineIntel/GenuineIntel0090675_AlderLake_03_CPUID.txtPK.5^9*./GenuineIntel/GenuineIntel0090675_AlderLake_00_CPUID.txtPK7g ./GenuineIntel/GenuineIntel00906EB_Coffeelake_CPUID.txtPK`>7ɖ ./GenuineIntel/GenuineIntel00906ED_CoffeeLake_CPUID.txtPK_I6ڞ ./GenuineIntel/GenuineIntel00A0654_CometLake_CPUID.txtPKW&6 ./GenuineIntel/GenuineIntel00A0655_CometLake_CPUID.txtPK m;{ ./GenuineIntel/GenuineIntel00A0671_RocketLakeE_01_CPUID.txtPKҪ6nR:W ./GenuineIntel/GenuineIntel00A06A4_MeteorLake_07_CPUID.txtPKI: ./GenuineIntel/GenuineIntel00A06A4_MeteorLake_08_CPUID.txtPK: ./GenuineIntel/GenuineIntel00B0671_RaptorLake_13_CPUID.txtPKd6; ./GenuineIntel/GenuineIntel00B06A2_RaptorLakeP_04_CPUID.txtPKnx; ./GenuineIntel/GenuineIntel00B06A2_RaptorLakeP_03_CPUID.txtPKø* ;3 ./GenuineIntel/GenuineIntel00B06A2_RaptorLakeP_02_CPUID.txtPKއ ~; ./GenuineIntel/GenuineIntel00B06A3_RaptorLakeP_01_CPUID.txtPKe8: ./GenuineIntel/GenuineIntel00B06E0_AlderLakeN_02_CPUID.txtPKG d : ./GenuineIntel/GenuineIntel00B06E0_AlderLakeN_03_CPUID.txtPKPq}W ; ./GenuineIntel/GenuineIntel00B06F2_RaptorLakeS_02_CPUID.txtPKiD6!= ./GenuineIntel/GenuineIntel00C06F2_EmeraldRapids_01_CPUID.txtPK d5E= ./Virtual_CPU_/Virtual CPU 0000F4A_FT2000_4_CPUID.txtPKݜ <{#4? ./Virtual_CPU_/Virtual CPU 001067F_Snap835_CPUID.txtPKyy54^D ./Virtual_CPU_/Virtual CPU 0000F4A_Snap835_CPUID.txtPK^bl04I ./Virtual_CPU_/Virtual CPU 0000F4A_Snap850_CPUID.txtPK ll>k0PL ./Genuine__RDC/Genuine RDC0000586_RDC_CPUID.txtPK0L ./RiseRiseRise/RiseRiseRise0000504_mP6_CPUID.txtPK @"Pr0N ./RiseRiseRise/RiseRiseRise0000521_mP6_CPUID.txtPKFW2GP ./RiseRiseRise/RiseRiseRise0000580_mP6II_CPUID.txtPKČ.i3Q ./SiS_SiS_SiS_/SiS SiS SiS 0000505_SiS550_CPUID.txtPKq;3\R ./GenuineTMx86/GenuineTMx860000543_Crusoe_CPUID.txtPKUD5 5U ./GenuineTMx86/GenuineTMx860000F24_Efficeon_CPUID.txtPK!%:h7X ./Vortex86_SoC/Vortex86 SoC0000522_Vortex86DX_CPUID.txtPK!y:h7Y ./Vortex86_SoC/Vortex86 SoC0000586_Vortex86MX_CPUID.txtPKb+2>j;Z ./Vortex86_SoC/Vortex86 SoC0000586_Vortex86MX_MMX_CPUID.txtPKeG$8Z ./Vortex86_SoC/Vortex86 SoC0000611_Vortex86DX3_CPUID.txtPK$\ cpuid-2.2.10/testdata/getall.go000066400000000000000000000025071475714514100163250ustar00rootroot00000000000000//go:build ignore package main import ( "archive/zip" _ "bytes" "fmt" "io" "net/http" "os" "strings" "golang.org/x/net/html" ) // Download all CPUID dumps from http://users.atw.hu/instlatx64/ func main() { resp, err := http.Get("http://users.atw.hu/instlatx64/?") if err != nil { panic(err) } node, err := html.Parse(resp.Body) if err != nil { panic(err) } file, err := os.Create("cpuid_data.zip") if err != nil { panic(err) } defer file.Close() gw := zip.NewWriter(file) var f func(*html.Node) f = func(n *html.Node) { if n.Type == html.ElementNode && n.Data == "a" { for _, a := range n.Attr { if a.Key == "href" { err := ParseURL(a.Val, gw) if err != nil { panic(err) } break } } } for c := n.FirstChild; c != nil; c = c.NextSibling { f(c) } } f(node) err = gw.Close() if err != nil { panic(err) } } func ParseURL(s string, gw *zip.Writer) error { if strings.HasSuffix(s, "CPUID.txt") { fmt.Println("Adding", "http://users.atw.hu/instlatx64/"+s) resp, err := http.Get("http://users.atw.hu/instlatx64/" + s) if err != nil { fmt.Println("Error getting ", s, ":", err) } defer resp.Body.Close() w, err := gw.Create(s) if err != nil { return err } _, err = io.Copy(w, resp.Body) if err != nil { return err } } return nil } cpuid-2.2.10/testdata/go.mod000066400000000000000000000001751475714514100156330ustar00rootroot00000000000000module github.com/klauspost/cpuid/testdata go 1.19 require golang.org/x/net v0.0.0-20220926192436-02166a98028e // indirect cpuid-2.2.10/testdata/go.sum000066400000000000000000000003171475714514100156560ustar00rootroot00000000000000golang.org/x/net v0.0.0-20220926192436-02166a98028e h1:I51lVG9ykW5AQeTE50sJ0+gJCAF0J78Hf1+1VUCGxDI= golang.org/x/net v0.0.0-20220926192436-02166a98028e/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=